instar 1.3.1005 → 1.3.1007
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/memory/SemanticMemory.d.ts +33 -0
- package/dist/memory/SemanticMemory.d.ts.map +1 -1
- package/dist/memory/SemanticMemory.js +93 -4
- package/dist/memory/SemanticMemory.js.map +1 -1
- package/dist/threadline/client/ThreadlineClient.d.ts +23 -0
- package/dist/threadline/client/ThreadlineClient.d.ts.map +1 -1
- package/dist/threadline/client/ThreadlineClient.js +56 -1
- package/dist/threadline/client/ThreadlineClient.js.map +1 -1
- package/package.json +1 -1
- package/src/data/builtin-manifest.json +3 -3
- package/upgrades/1.3.1006.md +69 -0
- package/upgrades/1.3.1007.md +74 -0
- package/upgrades/side-effects/semantic-recall-query.md +184 -0
- package/upgrades/side-effects/threadline-prefix-resolve.md +136 -0
|
@@ -55,6 +55,25 @@ export interface SemanticMemoryRemediatorResult {
|
|
|
55
55
|
export interface SemanticMemoryCapabilityLeafKeyVault {
|
|
56
56
|
deriveLeafKey(context: 'capability', scopeId: string): Buffer;
|
|
57
57
|
}
|
|
58
|
+
/**
|
|
59
|
+
* Build the two FTS5 match expressions a recall query needs.
|
|
60
|
+
*
|
|
61
|
+
* `strict` drops stopwords and keeps FTS5's implicit AND, so a genuine
|
|
62
|
+
* multi-keyword query stays precise. `loose` ORs the same content words and is
|
|
63
|
+
* used ONLY as a fallback when strict returns nothing — five loosely-relevant
|
|
64
|
+
* memories beat the empty set that made stored lessons unreachable.
|
|
65
|
+
*
|
|
66
|
+
* Stopword removal never empties the query: if a message is ALL stopwords the
|
|
67
|
+
* original tokens are kept, so behaviour degrades to the previous semantics
|
|
68
|
+
* rather than silently matching everything.
|
|
69
|
+
*
|
|
70
|
+
* Exported for tests — the failure this fixes is invisible at the route level
|
|
71
|
+
* (a zero-result search looks identical to "nothing was ever stored").
|
|
72
|
+
*/
|
|
73
|
+
export declare function buildFtsQueryVariants(query: string): {
|
|
74
|
+
strict: string;
|
|
75
|
+
loose: string;
|
|
76
|
+
} | null;
|
|
58
77
|
export declare class SemanticMemory {
|
|
59
78
|
/**
|
|
60
79
|
* W-4 / §A57 — process-wide registry of active SemanticMemory instances.
|
|
@@ -153,6 +172,20 @@ export declare class SemanticMemory {
|
|
|
153
172
|
private embeddingProvider;
|
|
154
173
|
private vectorSearch;
|
|
155
174
|
private _vectorAvailable;
|
|
175
|
+
/**
|
|
176
|
+
* Which retrieval strategy actually served the most recent `search()` call.
|
|
177
|
+
*
|
|
178
|
+
* `fts-strict` is the precise implicit-AND query; `fts-loose-fallback` means the
|
|
179
|
+
* strict query found NOTHING and the weaker OR query was used instead. Exposed
|
|
180
|
+
* because "No Silent Degradation to Brittle Fallback" requires a drop to a weaker
|
|
181
|
+
* strategy to be an observable event rather than a detail — a retrieval path that
|
|
182
|
+
* silently serves from the cheap strategy reports healthy while being fake-healthy.
|
|
183
|
+
* That is not hypothetical here: recall ran on keyword-only search for its entire
|
|
184
|
+
* life while a fully-populated vector index went uncalled, and nothing said so.
|
|
185
|
+
*/
|
|
186
|
+
private _lastSearchStrategy;
|
|
187
|
+
/** Which strategy served the last `search()` — see `_lastSearchStrategy`. */
|
|
188
|
+
get lastSearchStrategy(): 'fts-strict' | 'fts-loose-fallback' | 'none';
|
|
156
189
|
private jsonlPath;
|
|
157
190
|
/** Set after corruption auto-recovery — caller should reimport from JSONL */
|
|
158
191
|
private _needsRebuild;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemanticMemory.d.ts","sourceRoot":"","sources":["../../src/memory/SemanticMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAMH,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,eAAe,EACf,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,YAAY,EACZ,cAAc,EACd,kBAAkB,EAClB,kBAAkB,EAEnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAOzD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAahE;;;;;;;;;GASG;AACH,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,8BAA8B;IAC7C,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,oCAAoC;IACnD,aAAa,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;CAC/D;
|
|
1
|
+
{"version":3,"file":"SemanticMemory.d.ts","sourceRoot":"","sources":["../../src/memory/SemanticMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -38,6 +38,55 @@ function sanitizeFts5Query(query) {
|
|
|
38
38
|
.replace(/\s+/g, ' ')
|
|
39
39
|
.trim();
|
|
40
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* English function words that carry no retrieval signal but are FATAL to an
|
|
43
|
+
* FTS5 implicit-AND query.
|
|
44
|
+
*
|
|
45
|
+
* FTS5 requires EVERY bare token to match. No stored entity contains the word
|
|
46
|
+
* "why", so any question beginning "why ..." matches nothing regardless of the
|
|
47
|
+
* content words beside it. Recall is fed the user's raw message — always a
|
|
48
|
+
* natural-language sentence — so in practice it returned empty almost always.
|
|
49
|
+
* Measured on a live 2,852-entity store: "can I reach Codey" → 0 results,
|
|
50
|
+
* "is Codey responding to my messages" → 0, "why is Codey not replying" → 0,
|
|
51
|
+
* while "reach Codey" → 7, "Codey messages" → 17, "Codey" → 20.
|
|
52
|
+
*/
|
|
53
|
+
const FTS_STOPWORDS = new Set([
|
|
54
|
+
'a', 'about', 'am', 'an', 'and', 'any', 'are', 'as', 'at', 'be', 'been', 'but',
|
|
55
|
+
'by', 'can', 'could', 'did', 'do', 'does', 'for', 'from', 'get', 'got', 'had',
|
|
56
|
+
'has', 'have', 'how', 'i', 'if', 'in', 'is', 'it', 'its', 'me', 'my', 'no',
|
|
57
|
+
'of', 'on', 'or', 'our', 'should', 'so', 'that', 'the', 'their', 'them',
|
|
58
|
+
'then', 'there', 'these', 'they', 'this', 'to', 'was', 'we', 'were', 'what',
|
|
59
|
+
'when', 'where', 'which', 'who', 'why', 'will', 'with', 'would', 'you', 'your',
|
|
60
|
+
]);
|
|
61
|
+
/**
|
|
62
|
+
* Build the two FTS5 match expressions a recall query needs.
|
|
63
|
+
*
|
|
64
|
+
* `strict` drops stopwords and keeps FTS5's implicit AND, so a genuine
|
|
65
|
+
* multi-keyword query stays precise. `loose` ORs the same content words and is
|
|
66
|
+
* used ONLY as a fallback when strict returns nothing — five loosely-relevant
|
|
67
|
+
* memories beat the empty set that made stored lessons unreachable.
|
|
68
|
+
*
|
|
69
|
+
* Stopword removal never empties the query: if a message is ALL stopwords the
|
|
70
|
+
* original tokens are kept, so behaviour degrades to the previous semantics
|
|
71
|
+
* rather than silently matching everything.
|
|
72
|
+
*
|
|
73
|
+
* Exported for tests — the failure this fixes is invisible at the route level
|
|
74
|
+
* (a zero-result search looks identical to "nothing was ever stored").
|
|
75
|
+
*/
|
|
76
|
+
export function buildFtsQueryVariants(query) {
|
|
77
|
+
const sanitized = sanitizeFts5Query(query);
|
|
78
|
+
if (!sanitized)
|
|
79
|
+
return null;
|
|
80
|
+
const tokens = sanitized.split(' ').filter((t) => t.length > 0);
|
|
81
|
+
if (tokens.length === 0)
|
|
82
|
+
return null;
|
|
83
|
+
const content = tokens.filter((t) => !FTS_STOPWORDS.has(t.toLowerCase()));
|
|
84
|
+
const effective = content.length > 0 ? content : tokens;
|
|
85
|
+
return {
|
|
86
|
+
strict: effective.join(' '),
|
|
87
|
+
loose: effective.length > 1 ? effective.join(' OR ') : effective.join(' '),
|
|
88
|
+
};
|
|
89
|
+
}
|
|
41
90
|
export class SemanticMemory {
|
|
42
91
|
/**
|
|
43
92
|
* W-4 / §A57 — process-wide registry of active SemanticMemory instances.
|
|
@@ -349,6 +398,22 @@ export class SemanticMemory {
|
|
|
349
398
|
embeddingProvider = null;
|
|
350
399
|
vectorSearch = null;
|
|
351
400
|
_vectorAvailable = false;
|
|
401
|
+
/**
|
|
402
|
+
* Which retrieval strategy actually served the most recent `search()` call.
|
|
403
|
+
*
|
|
404
|
+
* `fts-strict` is the precise implicit-AND query; `fts-loose-fallback` means the
|
|
405
|
+
* strict query found NOTHING and the weaker OR query was used instead. Exposed
|
|
406
|
+
* because "No Silent Degradation to Brittle Fallback" requires a drop to a weaker
|
|
407
|
+
* strategy to be an observable event rather than a detail — a retrieval path that
|
|
408
|
+
* silently serves from the cheap strategy reports healthy while being fake-healthy.
|
|
409
|
+
* That is not hypothetical here: recall ran on keyword-only search for its entire
|
|
410
|
+
* life while a fully-populated vector index went uncalled, and nothing said so.
|
|
411
|
+
*/
|
|
412
|
+
_lastSearchStrategy = 'none';
|
|
413
|
+
/** Which strategy served the last `search()` — see `_lastSearchStrategy`. */
|
|
414
|
+
get lastSearchStrategy() {
|
|
415
|
+
return this._lastSearchStrategy;
|
|
416
|
+
}
|
|
352
417
|
jsonlPath;
|
|
353
418
|
/** Set after corruption auto-recovery — caller should reimport from JSONL */
|
|
354
419
|
_needsRebuild = false;
|
|
@@ -1216,9 +1281,14 @@ export class SemanticMemory {
|
|
|
1216
1281
|
*/
|
|
1217
1282
|
search(query, options) {
|
|
1218
1283
|
const db = this.ensureOpen();
|
|
1219
|
-
const
|
|
1220
|
-
if (!
|
|
1284
|
+
const variants = buildFtsQueryVariants(query);
|
|
1285
|
+
if (!variants) {
|
|
1286
|
+
// Reset rather than leaving the previous call's strategy readable — a stale
|
|
1287
|
+
// "served by strict" on a query that never ran is exactly the kind of
|
|
1288
|
+
// falsely-healthy signal this field exists to prevent.
|
|
1289
|
+
this._lastSearchStrategy = 'none';
|
|
1221
1290
|
return [];
|
|
1291
|
+
}
|
|
1222
1292
|
const limit = options?.limit ?? 20;
|
|
1223
1293
|
// ─── FTS5 results ─────────────────────────────────────────
|
|
1224
1294
|
let sql = `
|
|
@@ -1227,7 +1297,7 @@ export class SemanticMemory {
|
|
|
1227
1297
|
JOIN entities e ON e.rowid = entities_fts.rowid
|
|
1228
1298
|
WHERE entities_fts MATCH ?
|
|
1229
1299
|
`;
|
|
1230
|
-
const params = [
|
|
1300
|
+
const params = [variants.strict];
|
|
1231
1301
|
if (options?.types && options.types.length > 0) {
|
|
1232
1302
|
const placeholders = options.types.map(() => '?').join(',');
|
|
1233
1303
|
sql += ` AND e.type IN (${placeholders})`;
|
|
@@ -1252,7 +1322,26 @@ export class SemanticMemory {
|
|
|
1252
1322
|
}
|
|
1253
1323
|
sql += ` ORDER BY entities_fts.rank LIMIT ?`;
|
|
1254
1324
|
params.push(limit * 3); // Fetch extra for re-ranking
|
|
1255
|
-
const
|
|
1325
|
+
const statement = db.prepare(sql);
|
|
1326
|
+
let rows = statement.all(...params);
|
|
1327
|
+
this._lastSearchStrategy = 'fts-strict';
|
|
1328
|
+
// Strict (implicit-AND over content words) is the precise query and stays
|
|
1329
|
+
// authoritative whenever it finds anything. Only when it finds NOTHING do we
|
|
1330
|
+
// widen to OR — an empty result is what made stored lessons unreachable, and
|
|
1331
|
+
// a loosely-relevant hit is strictly better than silence. Every other filter
|
|
1332
|
+
// (type, domain, confidence, privacy) is unchanged and still applies.
|
|
1333
|
+
//
|
|
1334
|
+
// The widening is RECORDED, not silent. Per the "No Silent Degradation to
|
|
1335
|
+
// Brittle Fallback" standard, falling back to a weaker strategy is an event:
|
|
1336
|
+
// a retrieval path that quietly serves from the cheap strategy looks healthy
|
|
1337
|
+
// while being fake-healthy, which is the exact defect this whole change exists
|
|
1338
|
+
// to fix. Reading `lastSearchStrategy` tells a caller what actually served.
|
|
1339
|
+
if (rows.length === 0 && variants.loose !== variants.strict) {
|
|
1340
|
+
const looseParams = [...params];
|
|
1341
|
+
looseParams[0] = variants.loose;
|
|
1342
|
+
rows = statement.all(...looseParams);
|
|
1343
|
+
this._lastSearchStrategy = 'fts-loose-fallback';
|
|
1344
|
+
}
|
|
1256
1345
|
// ─── Vector results (if available) ────────────────────────
|
|
1257
1346
|
// vectorScores is populated asynchronously via searchHybrid() for callers
|
|
1258
1347
|
// that need vector scoring. For synchronous search(), we use cached scores
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SemanticMemory.js","sourceRoot":"","sources":["../../src/memory/SemanticMemory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAoB3D,OAAO,EACL,+BAA+B,EAC/B,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,EACL,sBAAsB,IAAI,8BAA8B,EACxD,wBAAwB,IAAI,gCAAgC,GAC7D,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AA4CjE;;;GAGG;AACH,SAAS,iBAAiB,CAAC,KAAa;IACtC,OAAO,KAAK;SACT,OAAO,CAAC,yBAAyB,EAAE,EAAE,CAAC;SACtC,OAAO,CAAC,0BAA0B,EAAE,EAAE,CAAC;SACvC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,OAAO,cAAc;IACzB;;;;;;;;OAQG;IACK,MAAM,CAAU,gBAAgB,GAAG,IAAI,GAAG,EAA0B,CAAC;IACrE,MAAM,CAAC,eAAe,GAA0B,IAAI,CAAC;IACrD,MAAM,CAAC,mBAAmB,GAChC,IAAI,CAAC;IAEP;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,CAAC,QAAwB;QAC9C,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACxE,CAAC;IAED,yEAAyE;IACzE,MAAM,CAAC,kBAAkB,CAAC,QAAwB;QAChD,IACE,cAAc,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,EACxE,CAAC;YACD,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,cAAc,CAAC,eAAe,KAAK,QAAQ,EAAE,CAAC;YAChD,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC;QACxC,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAA+B;QACtD,cAAc,CAAC,eAAe,GAAG,QAAQ,CAAC;IAC5C,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAC1B,QAAqD;QAErD,cAAc,CAAC,mBAAmB,GAAG,QAAQ,CAAC;IAChD,CAAC;IAED,8CAA8C;IAC9C,MAAM,CAAC,eAAe;QACpB,cAAc,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;QACxC,cAAc,CAAC,eAAe,GAAG,IAAI,CAAC;QACtC,cAAc,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,8BAA8B;QACnC,OAAO,cAAc,CAAC,eAAe,CAAC;IACxC,CAAC;IAED;;;;;;;;OAQG;IACK,MAAM,CAAC,aAAa,CAC1B,GAAoC,EACpC,QAA8C;QAE9C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QACtE,IAAI,OAAO,GAAG,CAAC,SAAS,KAAK,QAAQ,IAAI,GAAG,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;QAC9D,MAAM,QAAQ,GAAG,CAAC,CAAS,EAAU,EAAE;YACrC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;YACrC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YAClC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC;QACF,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACrC,YAAY,CAAC,gBAAgB,CAC3B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAC9C,CAAC,CACF,CAAC;QACF,MAAM,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,IAAI,GACR,OAAO,GAAG,CAAC,iBAAiB,KAAK,QAAQ,IAAI,GAAG,CAAC,iBAAiB,IAAI,EAAE;YACtE,CAAC,CAAC,GAAG,CAAC,iBAAiB;YACvB,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC;YACzB,QAAQ;YACR,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YACvB,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;YACvB,YAAY;YACZ,OAAO;SACR,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QACtD,IAAI,CAAC;YACH,OAAO,MAAM,CAAC,eAAe,CAAC,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAC/B,GAAoC,EACpC,SAGC;QAED,kEAAkE;QAClE,MAAM,QAAQ,GACZ,SAAS,EAAE,QAAQ,KAAK,SAAS;YAC/B,CAAC,CAAC,cAAc,CAAC,mBAAmB;YACpC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC;QACzB,IAAI,YAAY,GACd,qBAAqB,CAAC;QACxB,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAC3B,YAAY,GAAG,qBAAqB,CAAC;YACvC,CAAC;iBAAM,IAAI,cAAc,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAC;gBACvD,YAAY,GAAG,UAAU,CAAC;YAC5B,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CACV,uDAAuD;oBACrD,aAAa,GAAG,CAAC,SAAS,cAAc,GAAG,CAAC,SAAS,KAAK;oBAC1D,wEAAwE,CAC3E,CAAC;gBACF,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE;wBACP,MAAM,EAAE,iBAAiB;wBACzB,SAAS,EAAE,GAAG,CAAC,SAAS;qBACzB;iBACF,CAAC;YACJ,CAAC;QACH,CAAC;QAED,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YAC5B,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP,MAAM,EAAE,sBAAsB;oBAC9B,SAAS,EAAE,GAAG,CAAC,SAAS;iBACzB;aACF,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GACZ,SAAS,EAAE,QAAQ,IAAI,cAAc,CAAC,eAAe,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP,MAAM,EAAE,oBAAoB;oBAC5B,SAAS,EAAE,GAAG,CAAC,SAAS;iBACzB;aACF,CAAC;QACJ,CAAC;QAED,OAAO,QAAQ,CAAC,6BAA6B,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IAED;;;;;OAKG;IACK,KAAK,CAAC,6BAA6B,CACzC,GAAoC,EACpC,YAA6D;QAE7D,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;QAClC,IAAI,CAAC;YACH,qEAAqE;YACrE,0CAA0C;YAC1C,IAAI,CAAC;gBACH,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,CAAC;YAAC,MAAM,CAAC;gBACP,mEAAmE;gBACnE,iEAAiE;YACnE,CAAC;YAED,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE;wBACP,MAAM,EAAE,qBAAqB;wBAC7B,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,MAAM;qBACP;iBACF,CAAC;YACJ,CAAC;YAED,uEAAuE;YACvE,sEAAsE;YACtE,6EAA6E;YAC7E,kEAAkE;YAClE,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC;YAE7C,kEAAkE;YAClE,iEAAiE;YACjE,uCAAuC;YACvC,IAAI,WAAW,GAAG,KAAK,CAAC;YACxB,IAAI,cAAc,GAAW,SAAS,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;gBACnB,IAAI,EAAE,EAAE,CAAC;oBACP,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAExC,CAAC;oBACH,cAAc,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,SAAS,CAAC;oBACzD,WAAW,GAAG,cAAc,KAAK,IAAI,CAAC;gBACxC,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE;wBACP,MAAM,EAAE,oCAAoC;wBAC5C,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,MAAM;wBACN,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;wBACvD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;wBAC/B,YAAY;qBACb;iBACF,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAO;oBACL,OAAO,EAAE,SAAS;oBAClB,OAAO,EAAE;wBACP,MAAM,EAAE,qCAAqC;wBAC7C,SAAS,EAAE,GAAG,CAAC,SAAS;wBACxB,MAAM;wBACN,cAAc;wBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;wBAC/B,YAAY;qBACb;iBACF,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,MAAM;oBACN,gBAAgB,EAAE,UAAU;oBAC5B,cAAc;oBACd,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;oBAC/B,YAAY;iBACb;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,OAAO,EAAE,SAAS;gBAClB,OAAO,EAAE;oBACP,MAAM,EAAE,eAAe;oBACvB,SAAS,EAAE,GAAG,CAAC,SAAS;oBACxB,MAAM;oBACN,KAAK,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;oBACvD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;oBAC/B,YAAY;iBACb;aACF,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,iBAAiB;QACf,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,OAAO,QAAQ,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,UAAU;YAAE,OAAO,WAAW,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,8EAA8E;IAC9E,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED;;;;;OAKG;IACH,8BAA8B;QAC5B,MAAM,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QACnB,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAExC,CAAC;QACH,OAAO,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,IAAI,SAAS,CAAC;IACjD,CAAC;IAEO,EAAE,GAAoB,IAAI,CAAC;IAClB,MAAM,CAAuB;IACtC,iBAAiB,GAA6B,IAAI,CAAC;IACnD,YAAY,GAAwB,IAAI,CAAC;IACzC,gBAAgB,GAAG,KAAK,CAAC;IACzB,SAAS,CAAS;IAC1B,6EAA6E;IACrE,aAAa,GAAG,KAAK,CAAC;IAC9B;;gFAE4E;IACpE,oBAAoB,GAAG,KAAK,CAAC;IACrC;2EACuE;IAC/D,wBAAwB,GAAG,KAAK,CAAC;IACzC;wEACoE;IAC5D,qBAAqB,GAAmC,IAAI,CAAC;IAErE,YAAY,MAA4B;QACtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,wFAAwF;QACxF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,IAAI,qBAAqB;QACvB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,QAA2B;QAC9C,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACnC,SAAS,EAAE,mBAAmB;YAC9B,UAAU,EAAE,QAAQ,CAAC,UAAU;SAChC,CAAC,CAAC;QAEH,0DAA0D;QAC1D,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,gBAAgB;QACtB,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAEtE,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChE,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,sBAAsB;QAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAE5E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;QAClE,IAAI,CAAC,YAAY;YAAE,OAAO,KAAK,CAAC;QAEhC,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,mEAAmE;IAEnE,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,EAAE;YAAE,OAAO;QAEpB,wEAAwE;QACxE,8DAA8D;QAC9D,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;QAElC,iCAAiC;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,qEAAqE;QACrE,oEAAoE;QACpE,sEAAsE;QACtE,+EAA+E;QAC/E,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;YACrF,IAAI,aAAkB,CAAC;YACvB,IAAI,CAAC;gBACH,aAAa,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;YACjD,CAAC;YAAC,OAAO,SAAS,EAAE,CAAC;gBACnB,uEAAuE;gBACvE,mFAAmF;gBACnF,IAAI,kBAAkB,CAAC,wBAAwB,CAAC,SAAS,CAAC;oBAAE,MAAM,SAAS,CAAC;gBAC5E,MAAM,IAAI,KAAK,CACb,yEAAyE,CAC1E,CAAC;YACJ,CAAC;YACD,OAAO,aAAa,CAAC,OAAO,IAAI,aAAa,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAa,CAAC;QACtD,8EAA8E;QAC9E,2EAA2E;QAC3E,yCAAyC;QACzC,oBAAoB,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAEzF,6EAA6E;QAC7E,kFAAkF;QAClF,uDAAuD;QACvD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAClF,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,CAAC,EAAG,CAAC,MAAM,CAAC,iBAAiB,CAAuC,CAAC;gBACxF,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,KAAK,IAAI,EAAE,CAAC;oBACxC,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,MAAM,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC,CAAC;oBAC1E,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAa,CAAC;oBACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC5B,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,mBAAmB,CAAC,iBAAkB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpE,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAa,CAAC;gBACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;YAED,4EAA4E;YAC5E,wFAAwF;YACxF,EAAE;YACF,2EAA2E;YAC3E,yEAAyE;YACzE,uEAAuE;YACvE,0EAA0E;YAC1E,uEAAuE;YACvE,0EAA0E;YAC1E,sEAAsE;YACtE,2EAA2E;YAC3E,sEAAsE;YACtE,sEAAsE;YACtE,wEAAwE;YACxE,4EAA4E;YAC5E,4EAA4E;YAC5E,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;gBACxB,IAAI,MAAM,GAA4B,EAAE,CAAC;gBACzC,IAAI,CAAC;oBACH,MAAM,GAAG,IAAI,CAAC,EAAG,CAAC,OAAO,CACvB,oDAAoD;wBACpD,uDAAuD;wBACvD,2DAA2D,CAC5D,CAAC,GAAG,EAA6B,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,8DAA8D;oBAC9D,IAAI,CAAC,mBAAmB,CAAC,uBAAwB,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC1E,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAa,CAAC;oBACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;gBAC5B,CAAC;gBAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;oBACxB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;wBACvB,IAAI,CAAC;4BACH,IAAI,CAAC,EAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,GAAG,EAAE,CAAC;wBAChE,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACb,MAAM,GAAG,GAAI,GAAa,CAAC,OAAO,IAAI,EAAE,CAAC;4BACzC,IAAI,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gCAChC,+DAA+D;gCAC/D,+DAA+D;gCAC/D,8DAA8D;gCAC9D,OAAO,CAAC,IAAI,CACV,mCAAmC,CAAC,CAAC,IAAI,MAAM,GAAG,IAAI;oCACtD,wEAAwE,CACzE,CAAC;gCACF,SAAS;4BACX,CAAC;4BACD,mDAAmD;4BACnD,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CAAC,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC,CAAC;4BACrE,IAAI,CAAC,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAa,CAAC;4BACtD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;4BAC1B,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,CAAC,EAAG,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QACtC,IAAI,CAAC,EAAG,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC;QACvC,IAAI,CAAC,EAAG,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAErC,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;QAEvB,6DAA6D;QAC7D,IAAI,CAAC,gBAAgB,EAAE,CAAC;QAExB,oDAAoD;QACpD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC;YACrE,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClC,MAAM,SAAS,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC;gBACnD,IAAI,QAAQ,GAAG,CAAC,IAAI,SAAS,GAAG,QAAQ,EAAE,CAAC;oBACzC,OAAO,CAAC,IAAI,CACV,2DAA2D;wBAC3D,IAAI,CAAC,SAAS,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,CAAC,QAAQ,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;wBACjG,kEAAkE,CACnE,CAAC;oBACF,IAAI,CAAC,yBAAyB,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;gBACtD,CAAC;qBAAM,CAAC;oBACN,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACpD,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,CAAC,QAAQ,cAAc,MAAM,CAAC,KAAK,mBAAmB,CAAC,CAAC;gBACzH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YACnF,CAAC;YACD,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC3B,kEAAkE;YAClE,sEAAsE;YACtE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;QACnC,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,CAAC;gBAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QACjF,CAAC;IACH,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,EAAE;YAAE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,EAAE,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,MAAc;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,WAAW,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,YAAY,EAAE,EAAE,CAAC;QAC1D,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,qBAAqB,EAAE,cAAc,CAAC,CAAC;QAEhF,OAAO,CAAC,IAAI,CAAC,sCAAsC,MAAM,uBAAuB,WAAW,iBAAiB,CAAC,CAAC;QAE9G,IAAI,CAAC;YAAC,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;QAChD,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC;QAEf,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;gBACtC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,+FAA+F;YAC/F,OAAO,CAAC,IAAI,CAAC,qDAAsD,GAAa,CAAC,OAAO,4BAA4B,CAAC,CAAC;YACtH,IAAI,CAAC;gBAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,oCAAoC,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;QAC9I,CAAC;QAED,6EAA6E;QAC7E,4EAA4E;QAC5E,KAAK,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC;gBAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,EAAE,SAAS,EAAE,4CAA4C,EAAE,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC;QAC7J,CAAC;QAED,4EAA4E;QAC5E,+EAA+E;QAC/E,IAAI,CAAC;YACH,MAAM,MAAM,GAAG;gBACb,KAAK,EAAE,+BAA+B;gBACtC,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;gBACrC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,aAAa,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI;gBAC9D,MAAM;aACP,CAAC;YACF,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC;QAAC,MAAM,CAAC;YACP,yFAAyF;QAC3F,CAAC;IACH,CAAC;IAEO,yBAAyB,CAAC,SAAiB,EAAE,QAAgB;QACnE,MAAM,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,oBAAoB,EAAE,cAAc,CAAC,CAAC;QAC/E,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC;gBAC1C,KAAK,EAAE,iCAAiC;gBACxC,SAAS,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE;gBACrC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;gBAC1B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,cAAc,EAAE,SAAS;gBACzB,eAAe,EAAE,QAAQ;gBACzB,MAAM,EAAE,wEAAwE;aACjF,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,0CAA0C;QAC5C,CAAC;IACH,CAAC;IAED,iEAAiE;IAEjE;;;;;;OAMG;IACK,eAAe,CAAC,MAAc,EAAE,IAA6B;QACnE,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;YACvF,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QAClD,CAAC;QAAC,MAAM,CAAC;YACP,8FAA8F;QAChG,CAAC;IACH,CAAC;IAED,mEAAmE;IAE3D,YAAY;QAClB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,EAAE,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkFP,CAAC,CAAC;QAEH,6EAA6E;QAC7E,yEAAyE;QACzE,kEAAkE;QAClE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAW,CAAC;QACjE,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,qIAAqI,CACtI,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,eAAe;QACrB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,kCAAkC;QAClC,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC,GAAG,EAAwB,CAAC;QACtF,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAE7C,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YACtC,EAAE,CAAC,IAAI,CAAC;;;OAGP,CAAC,CAAC;QACL,CAAC;QAED,qEAAqE;QACrE,EAAE,CAAC,IAAI,CAAC;;;KAGP,CAAC,CAAC;IACL,CAAC;IAED,mEAAmE;IAEnE;;OAEG;IACH,QAAQ,CAAC,KAaR;QACC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,EAAE,CAAC,OAAO,CAAC;;;KAGV,CAAC,CAAC,GAAG,CACJ,EAAE,EACF,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,UAAU,EAChB,GAAG,EACH,KAAK,CAAC,YAAY,EAClB,GAAG,EACH,KAAK,CAAC,SAAS,IAAI,IAAI,EACvB,KAAK,CAAC,MAAM,EACZ,KAAK,CAAC,aAAa,IAAI,IAAI,EAC3B,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,EAC1B,KAAK,CAAC,MAAM,IAAI,IAAI,EACpB,KAAK,CAAC,OAAO,IAAI,IAAI,EACrB,KAAK,CAAC,YAAY,IAAI,gBAAgB,CACvC,CAAC;QAEF,uEAAuE;QACvE,wEAAwE;QACxE,mCAAmC;QACnC,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE;gBAC/B,MAAM,EAAE;oBACN,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;oBAC9D,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;oBAC9E,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;oBACrD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;oBAChE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;oBAC9C,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,gBAAgB;iBACrF;aACF,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,qBAAqB,GAAG;YAC3B,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO;YAC9D,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY;YAC9E,YAAY,EAAE,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;YACrD,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,IAAI;YAChE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC9C,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,IAAI,gBAAgB;SACrF,CAAC;QAEF,4EAA4E;QAC5E,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACzE,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACvD,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE;gBAC3D,IAAI,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACjC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;YACd,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,qBAAqB,CAAC,KAa3B;QACC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEhC,gDAAgD;QAChD,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACzE,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,aAAa,GAAG,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACvD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YACpE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC;QAC9C,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;OAGG;IACH,MAAM,CAAC,EAAU;QACf,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,EAAE,CAA0B,CAAC;QAC/F,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QAEtB,sBAAsB;QACtB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAE9E,MAAM,MAAM,GAAG,WAAW,CAAC,EAAE,GAAG,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC;QAE3D,+CAA+C;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAEhD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,OAAgB;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,uCAAuC;QACvC,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QAC3E,8CAA8C;QAC9C,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACnC,CAAC;QACD,gBAAgB;QAChB,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAExD,sBAAsB;QACtB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,kEAAkE;IAClE,EAAE;IACF,6DAA6D;IAC7D,EAAE;IACF,gEAAgE;IAChE,2EAA2E;IAC3E,oEAAoE;IACpE,4EAA4E;IAE5E;;;;OAIG;IACH,oBAAoB,CAClB,KAA0C,EAC1C,QAA0B,EAC1B,QAA4B;QAE5B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;YAClD,MAAM,IAAI,mBAAmB,CAC3B,0CAA0C,IAAI,CAAC,oBAAoB,EAAE,GAAG,CACzE,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACzB,IAAI,CAAC,wBAAwB,GAAG,IAAI,CAAC;YACrC,IAAI,EAAU,CAAC;YACf,IAAI,CAAC;gBACH,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;oBAAS,CAAC;gBACT,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC;YACxC,CAAC;YACD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,IAAI,gBAAgB,CAAC;YAC3D,IAAI,CAAC,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;YACnD,uEAAuE;YACvE,4DAA4D;YAC5D,sDAAsD;YACtD,IAAI,CAAC,eAAe,CAAC,sBAAsB,EAAE;gBAC3C,MAAM,EAAE,IAAI,CAAC,qBAAqB,IAAI,EAAE,EAAE,EAAE;gBAC5C,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;gBACzC,QAAQ;aACT,CAAC,CAAC;YACH,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YAClC,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED;;;;OAIG;IACH,WAAW,CACT,QAAgB,EAChB,QAA2C,EAC3C,QAA4B;QAE5B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAC7D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC9B,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAEhD,MAAM,SAAS,GAAG,EAAE;aACjB,OAAO,CAAC,iDAAiD,CAAC;aAC1D,GAAG,CAAC,QAAQ,CAAiD,CAAC;QACjE,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,mBAAmB,CAAC,UAAU,QAAQ,YAAY,CAAC,CAAC;QAChE,CAAC;QACD,MAAM,WAAW,GAAG,CAAC,SAAS,CAAC,aAAa,IAAI,gBAAgB,CAAqB,CAAC;QAEtF,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YAClB,MAAM,aAAa,GAAG,EAAE;iBACrB,OAAO,CAAC,+DAA+D,CAAC;iBACxE,GAAG,CAAC,QAAQ,CAAkB,CAAC;YAClC,IAAI,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC;gBAChE,MAAM,IAAI,mBAAmB,CAC3B,oCAAoC,QAAQ,SAAS,IAAI,CAAC,oBAAoB,EAAE,GAAG,CACpF,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YACrD,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9E,CAAC,CAAC,EAAE,CAAC;IACP,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,QAAgB,EAAE,WAA6B;QACzD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CAAC,4EAA4E,CAAC;aACrF,GAAG,CAAC,QAAQ,CAAkB,CAAC;QAClC,OAAO,IAAI;aACR,GAAG,CAAC,aAAa,CAAC;aAClB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,wBAAwB,CAAC,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CACX,GAAmD,EACnD,WAA6B;QAE7B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE;aACZ,OAAO,CACN;;gDAEwC,CACzC;aACA,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,QAAQ,CAA0D,CAAC;QACxF,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,MAAM,OAAO,GAAmB,EAAE,CAAC;QACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,SAAS;YAC/B,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAqB,CAAC;YAChF,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC;gBAAE,SAAS;YAChE,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,eAAe,IAAI,SAAS,CAAoC,CAAC;YACrF,IAAI,CAAC,wBAAwB,CAAC,MAAM,EAAE,WAAW,CAAC;gBAAE,SAAS;YAC7D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;OAGG;IACH,qBAAqB,CACnB,QAAgB,EAChB,WAA6B;QAE7B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,EAAE;aACX,OAAO,CAAC,qCAAqC,CAAC;aAC9C,GAAG,CAAC,QAAQ,CAA0B,CAAC;QAC1C,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,aAAa,IAAI,gBAAgB,CAAqB,CAAC;QAChF,IAAI,CAAC,sBAAsB,CAAC,WAAW,EAAE,WAAW,CAAC;YAAE,OAAO,IAAI,CAAC;QACnE,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QACzD,OAAO,EAAE,GAAG,MAAM,EAAE,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,kEAAkE;IAE1D,oBAAoB;QAC1B,MAAM,UAAU,GAAI,IAAI,CAAC,MAAmE;aACzF,oBAAoB,CAAC;QACxB,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACnC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,UAAU,EAAE,2BAA2B,CAAC,CAAC,CAAC;QACxE,CAAC;QACD,OAAO,+BAA+B,CAAC;IACzC,CAAC;IAEO,0BAA0B,CAChC,QAA4B,EAC5B,IAA+B;QAE/B,MAAM,OAAO,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,mBAAmB,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;QAChE,CAAC;QACD,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACzB,MAAM,IAAI,mBAAmB,CAC3B,YAAY,QAAQ,+BAA+B,CAAC,CAAC,IAAI,EAAE,CAC5D,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,uBAAuB,EAAE,CAAC;gBAC9F,MAAM,IAAI,mBAAmB,CAC3B,yBAAyB,uBAAuB,QAAQ,CACzD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAEO,kBAAkB,CACxB,QAAgB,EAChB,IAA+B,EAC/B,WAA6B;QAE7B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CACrB;;;;;;QAME,CACH,CAAC;QACF,KAAK,MAAM,EAAE,IAAI,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAC7B,mBAAmB,CAAC,WAAW,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;YACjD,IAAI,EAAE,CAAC,IAAI,KAAK,qBAAqB,EAAE,CAAC;gBACtC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC;YACtD,CAAC;YACD,MAAM,KAAK,GACT,EAAE,CAAC,KAAK;gBACR,CAAC,OAAO,EAAE,CAAC,SAAS,KAAK,QAAQ;oBAC/B,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,KAAK,QAAQ,IAAI,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,SAAS;wBAC7D,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,IAAI,EAAE,CAAC,OAAO,EAAE;wBACjC,CAAC,CAAC,GAAG,EAAE,CAAC,SAAS,EAAE;oBACrB,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,IAAI,CAAC,GAAG,CAAC;gBACP,WAAW,EAAE,MAAM,CAAC,UAAU,EAAE;gBAChC,SAAS,EAAE,QAAQ;gBACnB,IAAI,EAAE,EAAE,CAAC,IAAI;gBACb,SAAS,EAAE,EAAE,CAAC,QAAQ;gBACtB,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI;gBACrB,UAAU,EAAE,EAAE,CAAC,SAAS,IAAI,IAAI;gBAChC,QAAQ,EAAE,EAAE,CAAC,OAAO,IAAI,IAAI;gBAC5B,KAAK;gBACL,MAAM,EAAE,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI;gBACxD,UAAU,EAAE,OAAO,EAAE,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI;gBACpE,YAAY,EAAE,EAAE,CAAC,WAAW,IAAI,IAAI;gBACpC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI;gBACrB,UAAU,EAAE,EAAE,CAAC,SAAS;aACzB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,EAAkB;QAC5C,IAAI,CAAC,EAAE,CAAC,QAAQ,IAAI,EAAE,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7C,MAAM,IAAI,mBAAmB,CAAC,+BAA+B,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,mBAAmB,CAAC,mCAAmC,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,OAAO,EAAE,CAAC,UAAU,KAAK,QAAQ,IAAI,CAAC,EAAE,CAAC,UAAU,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;YAClF,MAAM,IAAI,mBAAmB,CAAC,uCAAuC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,CAAC,EAAE,CAAC,SAAS,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACrD,MAAM,IAAI,mBAAmB,CAAC,uDAAuD,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACK,uBAAuB,CAAC,QAAgB,EAAE,kBAA0B;QAC1E,IAAI,kBAAkB,KAAK,QAAQ,EAAE,CAAC;YACpC,MAAM,IAAI,mBAAmB,CAC3B,+DAA+D,CAChE,CAAC;QACJ,CAAC;QACD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,EAAE;aACb,OAAO,CACN;8DACsD,CACvD;aACA,GAAG,CAAC,QAAQ,CAAkB,CAAC;QAClC,IAAI,KAAK,CAAC,CAAC,IAAI,oBAAoB,EAAE,CAAC;YACpC,MAAM,IAAI,mBAAmB,CAC3B,6BAA6B,KAAK,CAAC,CAAC,OAAO,oBAAoB,cAAc,QAAQ,EAAE,CACxF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,iBAAiB,CAAC,MAAc;QAC9B,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAgB,CAAC;QAChG,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAAC,MAAc;QACjC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,gCAAgC;QAChC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,4CAA4C,CAAC,CAAC,GAAG,CAAC,MAAM,CAAqB,CAAC;QAErG,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAE/B,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QACnF,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAErE,MAAM,WAAW,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACtC,KAAK,MAAM,EAAE,EAAE,EAAE,IAAI,GAAG,EAAE,CAAC;gBACzB,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACxB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC/C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;gBACnC,CAAC;gBACD,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACvB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,WAAW,EAAE,CAAC;QACd,OAAO,GAAG,CAAC,MAAM,CAAC;IACpB,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,OAAO,CACL,MAAc,EACd,IAAY,EACZ,QAAsB,EACtB,OAAgB,EAChB,SAAiB,GAAG;QAEpB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,yDAAyD;QACzD,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CACzB,uEAAuE,CACxE,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAA+B,CAAC;QAE5D,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,EAAE,CAAC;QAEjC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,EAAE,CAAC,OAAO,CAAC;;;KAGV,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;QAEjE,sBAAsB;QACtB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE;YAC9B,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE;SACvF,CAAC,CAAC;QAEH,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,YAAY,CAAC,MAAc;QACzB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC,GAAG,CAAC,MAAM,CAA0B,CAAC;QACvG,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,IAAY,EAAE,IAAiB;QACxC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO;YAAE,OAAO,IAAI,CAAC;QAC1B,MAAM,GAAG,GAAG,IAAI;YACd,CAAC,CAAC,kGAAkG;YACpG,CAAC,CAAC,qFAAqF,CAAC;QAC1F,MAAM,GAAG,GAAG,IAAI;YACd,CAAC,CAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAA2B;YAC/D,CAAC,CAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,OAAO,CAA2B,CAAC;QAC5D,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,mEAAmE;IAEnE;;;;;;;;OAQG;IACH,MAAM,CAAC,KAAa,EAAE,OAA+B;QACnD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,MAAM,SAAS,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,CAAC;QAE1B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QAEnC,6DAA6D;QAC7D,IAAI,GAAG,GAAG;;;;;KAKT,CAAC;QAEF,MAAM,MAAM,GAAwB,CAAC,SAAS,CAAC,CAAC;QAEhD,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/C,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC5D,GAAG,IAAI,mBAAmB,YAAY,GAAG,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,GAAG,IAAI,mBAAmB,CAAC;YAC3B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;YACzC,GAAG,IAAI,wBAAwB,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAED,iEAAiE;QACjE,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,MAAM,aAAa,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE;gBAC1D,WAAW,EAAE,YAAY;gBACzB,WAAW,EAAE,iBAAiB;aAC/B,CAAC,CAAC;YACH,GAAG,IAAI,QAAQ,aAAa,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACvC,CAAC;QAED,GAAG,IAAI,qCAAqC,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B;QAErD,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAyC,CAAC;QAEpF,6DAA6D;QAC7D,0EAA0E;QAC1E,2EAA2E;QAC3E,8DAA8D;QAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC;QAE3F,6DAA6D;QAC7D,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAwB,CAAC;QAElD,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;YAChC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC;YAElD,MAAM,iBAAiB,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAClG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;YAExD,IAAI,KAAa,CAAC;YAClB,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBAChD,KAAK;oBACH,QAAQ,GAAG,GAAG;wBACd,MAAM,CAAC,UAAU,GAAG,GAAG;wBACvB,WAAW,GAAG,GAAG;wBACjB,MAAM,GAAG,GAAG,CAAC;YACjB,CAAC;iBAAM,CAAC;gBACN,MAAM,iBAAiB,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAClG,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;gBACzD,KAAK;oBACH,QAAQ,GAAG,GAAG;wBACd,MAAM,CAAC,UAAU,GAAG,GAAG;wBACvB,WAAW,GAAG,GAAG;wBACjB,YAAY,GAAG,GAAG,CAAC;YACvB,CAAC;YAED,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACjD,CAAC;QAED,yEAAyE;QACzE,2DAA2D;QAC3D,IAAI,UAAU,IAAI,YAAY,EAAE,CAAC;YAC/B,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;gBAClC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBACvB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,EAAE,CAA0B,CAAC;oBAC/F,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;wBAEhC,uCAAuC;wBACvC,IAAI,OAAO,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;4BAAE,OAAO;wBAC/F,IAAI,OAAO,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;4BAAE,OAAO;wBAChE,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,IAAI,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,aAAa;4BAAE,OAAO;wBAE9F,MAAM,iBAAiB,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;wBAClG,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,GAAG,iBAAiB,CAAC,CAAC;wBAExD,wEAAwE;wBACxE,MAAM,KAAK,GACT,CAAC,GAAyB,wCAAwC;4BAClE,MAAM,CAAC,UAAU,GAAG,GAAG;4BACvB,WAAW,GAAG,GAAG;4BACjB,MAAM,GAAG,GAAG,CAAC;wBAEf,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;oBACjD,CAAC;gBACH,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC;IAED,gEAAgE;IACxD,iBAAiB,GAA+B,IAAI,CAAC;IAE7D;;;;;OAKG;IACH,KAAK,CAAC,YAAY,CAAC,KAAa,EAAE,OAA+B;QAC/D,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5E,+CAA+C;YAC/C,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QAEnC,2BAA2B;QAC3B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAEjE,wBAAwB;QACxB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,cAAc,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;QAE3E,wDAAwD;QACxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACnD,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;YAChC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAC3D,CAAC;QAED,6DAA6D;QAC7D,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE5C,sBAAsB;QACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,gBAAgB,CACpB,UAAkD;QAElD,IAAI,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAC5E,OAAO,CAAC,CAAC;QACX,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAE3E,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEtC,IAAI,IAAI,GAAG,CAAC,CAAC;QACb,MAAM,SAAS,GAAG,EAAE,CAAC;QAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACtD,MAAM,QAAQ,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC;YACpD,MAAM,UAAU,GAAa,EAAE,CAAC;YAEhC,KAAK,MAAM,EAAE,IAAI,QAAQ,EAAE,CAAC;gBAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC;qBACtE,GAAG,CAAC,EAAE,CAAkD,CAAC;gBAC5D,IAAI,GAAG,EAAE,CAAC;oBACR,UAAU,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAChD,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACtB,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAEvE,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC;gBACvC,EAAE;gBACF,SAAS,EAAE,UAAU,CAAC,GAAG,CAAC;aAC3B,CAAC,CAAC,CAAC;YAEJ,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YACzC,IAAI,IAAI,QAAQ,CAAC,MAAM,CAAC;YAExB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,QAAQ;QACN,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAiB,CAAC;QACvE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,IAAI,OAAO,GAAG,QAAQ,CAAC;QACvB,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC;QACxB,IAAI,OAAO,GAAG,CAAC,CAAC;QAEhB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC;QAC7E,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAC5D,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QAEhF,MAAM,QAAQ,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,IAAI,KAAK,QAAQ;oBACpC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,uBAAuB;oBACrC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBAElC,MAAM,iBAAiB,GAAG,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;gBAChG,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,iBAAiB,GAAG,QAAQ,CAAC,CAAC;gBAEvF,oBAAoB;gBACpB,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC;oBAC/D,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAC7B,6CAA6C;oBAC7C,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;wBAC/C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBACvC,CAAC;oBACD,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;oBAChB,OAAO,EAAE,CAAC;oBACV,SAAS;gBACX,CAAC;gBAED,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,GAAG,KAAK,EAAE,CAAC;oBACrD,MAAM,CAAC,GAAG,CAAC,aAAa,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;oBAClC,OAAO,EAAE,CAAC;oBACV,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;oBAC3C,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;oBAC3C,OAAO,IAAI,aAAa,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC5C,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;oBAC5C,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC;gBAC5B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,QAAQ,EAAE,CAAC;QAEX,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QAE1C,OAAO;YACL,iBAAiB,EAAE,IAAI,CAAC,MAAM;YAC9B,eAAe,EAAE,OAAO;YACxB,eAAe,EAAE,OAAO;YACxB,aAAa,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5C,aAAa,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;YAC5C,aAAa,EAAE,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;SAC3D,CAAC;IACJ,CAAC;IAED,mEAAmE;IAEnE;;OAEG;IACH,MAAM,CAAC,EAAU,EAAE,aAAsB;QACvC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,EAAE,CAAC,OAAO,CAAC,oEAAoE,CAAC;iBAC7E,GAAG,CAAC,GAAG,EAAE,aAAa,EAAE,EAAE,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,EAAE,CAAC,OAAO,CAAC,oDAAoD,CAAC;iBAC7D,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClB,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,aAAa,IAAI,IAAI,EAAE,CAAC,CAAC;IACtF,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,SAAS,CAAC,KAAa,EAAE,KAAa,EAAE,MAAe;QACrD,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,4EAA4E;QAC5E,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;QAEjD,wCAAwC;QACxC,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,CAAC,KAAK,CAAuC,CAAC;QACxH,IAAI,GAAG,EAAE,CAAC;YACR,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrC,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC;iBAC1D,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAEvB,sBAAsB;YACtB,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;QACtG,CAAC;IACH,CAAC;IAED,kEAAkE;IAElE;;;OAGG;IACH,OAAO,CAAC,OAAe,EAAE,OAAwB;QAC/C,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,CAAC;QACrC,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,IAAI,GAAG,CAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,IAAI,QAAQ,GAAG,CAAC,OAAO,CAAC,CAAC;QAEzB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YACrE,MAAM,YAAY,GAAa,EAAE,CAAC;YAElC,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;gBAC9B,qBAAqB;gBACrB,IAAI,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,uCAAuC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAc,CAAC;gBAC5F,qBAAqB;gBACrB,IAAI,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAc,CAAC;gBAE1F,0BAA0B;gBAC1B,IAAI,SAAS,EAAE,CAAC;oBACd,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAwB,CAAC,CAAC,CAAC;oBAChF,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAwB,CAAC,CAAC,CAAC;gBAClF,CAAC;gBAED,mBAAmB;gBACnB,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;oBAClB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;oBACvD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,SAAS,CAAC,CAAC;gBACzD,CAAC;gBAED,6CAA6C;gBAC7C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;wBAC7B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBACxB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAA0B,CAAC;wBACvG,IAAI,GAAG,EAAE,CAAC;4BACR,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChC,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,+CAA+C;gBAC/C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBAC5B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAC1B,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAA0B,CAAC;wBACzG,IAAI,GAAG,EAAE,CAAC;4BACR,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;4BAC9B,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;wBAClC,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,QAAQ,GAAG,YAAY,CAAC;QAC1B,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,kEAAkE;IAElE;;OAEG;IACH,SAAS,CAAC,OAIT;QACC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QAEnC,IAAI,GAAG,GAAG,kCAAkC,CAAC;QAC7C,MAAM,MAAM,GAAwB,EAAE,CAAC;QAEvC,IAAI,OAAO,EAAE,aAAa,KAAK,SAAS,EAAE,CAAC;YACzC,GAAG,IAAI,sBAAsB,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;YACvB,GAAG,IAAI,wBAAwB,CAAC;YAChC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,GAAG,IAAI,qDAAqD,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAgB,CAAC;QAC3D,OAAO,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED,kEAAkE;IAElE;;OAEG;IACH,MAAM;QACJ,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,GAAG,EAAiB,CAAC;QAC7E,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,GAAG,EAAe,CAAC;QAEtE,OAAO;YACL,QAAQ,EAAE,UAAU,CAAC,GAAG,CAAC,WAAW,CAAC;YACrC,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC;SAC/B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAuD;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,IAAI,YAAY,GAAG,CAAC,CAAC;QAErB,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG/B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG7B,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC;QACvE,MAAM,SAAS,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QAElE,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACpC,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,IAAI,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC/B,eAAe,EAAE,CAAC;oBAClB,SAAS;gBACX,CAAC;gBAED,YAAY,CAAC,GAAG,CACd,MAAM,CAAC,EAAE,EACT,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,UAAU,EACjB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,YAAY,EACnB,MAAM,CAAC,SAAS,IAAI,IAAI,EACxB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,aAAa,IAAI,IAAI,EAC5B,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAC3B,MAAM,CAAC,MAAM,IAAI,IAAI,EACrB,MAAM,CAAC,OAAO,IAAI,IAAI,EACtB,MAAM,CAAC,YAAY,IAAI,gBAAgB,CACxC,CAAC;gBACF,gBAAgB,EAAE,CAAC;YACrB,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBAC9B,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3B,YAAY,EAAE,CAAC;oBACf,SAAS;gBACX,CAAC;gBAED,UAAU,CAAC,GAAG,CACZ,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,OAAO,IAAI,IAAI,EACpB,IAAI,CAAC,SAAS,CACf,CAAC;gBACF,aAAa,EAAE,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,EAAE,CAAC;QAEZ,4FAA4F;QAC5F,IAAI,gBAAgB,GAAG,CAAC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;YAC9C,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;gBAC7B,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY;aAC/D,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,eAAe,EAAE,YAAY,EAAE,CAAC;IAC5E,CAAC;IAED,kEAAkE;IAElE;;;;;;;;OAQG;IACH,eAAe,CAAC,SAAkB;QAChC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,SAAS,IAAI,IAAI,CAAC,SAAS,CAAC;QAE5C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;YAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAE5E,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG/B,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC;;;KAG7B,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC;QAEnF,MAAM,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC,0FAA0F,CAAC,CAAC;QAE5H,MAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;YACpC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC;oBACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;oBAE/B,QAAQ,KAAK,CAAC,MAAM,EAAE,CAAC;wBACrB,KAAK,UAAU,CAAC,CAAC,CAAC;4BAChB,MAAM,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC;4BACvB,IAAI,CAAC,CAAC,EAAE,EAAE;gCAAE,MAAM;4BAClB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAC7B,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,EAC7C,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,EAC3C,CAAC,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,aAAa,IAAI,IAAI,EACtD,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,MAAM,IAAI,IAAI,EAC9C,CAAC,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC,CAAC,YAAY,IAAI,gBAAgB,CACtD,CAAC;4BACF,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;gCAAE,QAAQ,EAAE,CAAC;4BACnC,MAAM;wBACR,CAAC;wBAED,KAAK,SAAS,CAAC,CAAC,CAAC;4BACf,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;4BACxB,IAAI,CAAC,IAAI,EAAE,EAAE;gCAAE,MAAM;4BACrB,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAC3B,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAC9C,IAAI,CAAC,MAAM,IAAI,GAAG,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE,IAAI,CAAC,SAAS,CACzD,CAAC;4BACF,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;gCAAE,KAAK,EAAE,CAAC;4BAChC,MAAM;wBACR,CAAC;wBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;4BAC1B,IAAI,CAAC,EAAE;gCAAE,MAAM;4BACf,WAAW,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;4BACxB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACpC,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;gCAAE,SAAS,EAAE,CAAC;4BACpC,MAAM;wBACR,CAAC;wBAED,KAAK,QAAQ,CAAC,CAAC,CAAC;4BACd,MAAM,EAAE,GAAG,KAAK,CAAC,QAAQ,CAAC;4BAC1B,IAAI,CAAC,EAAE;gCAAE,MAAM;4BACf,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;4BAChE,MAAM;wBACR,CAAC;wBAED,KAAK,WAAW,CAAC,CAAC,CAAC;4BACjB,yEAAyE;4BACzE,qDAAqD;4BACrD,MAAM;wBACR,CAAC;oBACH,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,sDAAsD,CAAC,CAAC;YACpE,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,SAAS,EAAE,CAAC;QAEZ,6CAA6C;QAC7C,IAAI,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QACvE,CAAC;QAAC,MAAM,CAAC,CAAC,oDAAoD,CAAC,CAAC;QAEhE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACH,OAAO,CAAC,SAAkB;QACxB,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC7B,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAChC,EAAE,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;QAErE,iEAAiE;QACjE,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC;gBACH,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC3C,CAAC;YAAC,MAAM,CAAC,CAAC,sDAAsD,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,aAAa,CAAC,YAAqB;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAEtF,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3C,EAAE,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAEzC,OAAO;YACL,IAAI,EAAE,OAAO;YACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM;YAC9B,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YACxB,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC;SACnC,CAAC;IACJ,CAAC;IAED,mEAAmE;IAEnE;;OAEG;IACH,KAAK;QACH,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAE7B,MAAM,WAAW,GAAI,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,EAAsB,CAAC,GAAG,CAAC;QACtG,MAAM,SAAS,GAAI,EAAE,CAAC,OAAO,CAAC,mCAAmC,CAAC,CAAC,GAAG,EAAsB,CAAC,GAAG,CAAC;QAEjG,gBAAgB;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,EAAqC,CAAC;QACnI,MAAM,kBAAkB,GAA2B,EAAE,CAAC;QACtD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC;QACzC,CAAC;QAED,iBAAiB;QACjB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,EAA4B,CAAC;QACzG,MAAM,aAAa,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;QAEtC,cAAc;QACd,MAAM,UAAU,GAAI,EAAE,CAAC,OAAO,CAAC,2DAA2D,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAqB,CAAC,GAAG,CAAC;QAEpJ,eAAe;QACf,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,WAAW,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;QACrD,CAAC;QAAC,MAAM,CAAC;YACP,4EAA4E;QAC9E,CAAC;QAED,sBAAsB;QACtB,IAAI,cAAc,GAAG,CAAC,CAAC;QACvB,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/C,IAAI,CAAC;gBACH,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAC/C,CAAC;YAAC,MAAM,CAAC,CAAC,4EAA4E;YACtF,CAAC;QACH,CAAC;QAED,OAAO;YACL,aAAa,EAAE,WAAW;YAC1B,UAAU,EAAE,SAAS;YACrB,kBAAkB,EAAE,kBAAgD;YACpE,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,4BAA4B;YAClF,UAAU;YACV,WAAW;YACX,qBAAqB,EAAE,IAAI,CAAC,gBAAgB;YAC5C,cAAc;SACf,CAAC;IACJ,CAAC;IAED,mEAAmE;IAEnE;;;OAGG;IACH,kBAAkB,CAChB,KAAa,EACb,OAAiE;QAEjE,MAAM,SAAS,GAAG,OAAO,EAAE,SAAS,IAAI,IAAI,CAAC;QAC7C,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAC;QAEnC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAEpC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,IAAI,eAAe,GAAG,CAAC,CAAC;QAExB,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,MAAM,MAAM,CAAC,OAAO,IAAI,CAAC;YACzE,8CAA8C;YAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC;YAErD,IAAI,eAAe,GAAG,WAAW,GAAG,SAAS;gBAAE,MAAM;YAErD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClB,eAAe,IAAI,WAAW,CAAC;QACjC,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,kEAAkE;IAE1D,cAAc,CAAC,EAAY,EAAE,QAAgB;QACnD,MAAM,WAAW,GAAsB,EAAE,CAAC;QAE1C,wEAAwE;QACxE,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;KAW3B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAc,CAAC;QAE9B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC;gBAC5B,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;gBACxB,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;QACL,CAAC;QAED,iBAAiB;QACjB,MAAM,QAAQ,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;KAW3B,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAc,CAAC;QAE9B,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;YAC3B,WAAW,CAAC,IAAI,CAAC;gBACf,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC;gBAC5B,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC;gBACxB,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,WAAW,CAAC;IACrB,CAAC;;AAkDH,SAAS,aAAa,CAAC,GAAgB;IACrC,MAAM,EAAE,GAAmB;QACzB,IAAI,EAAE,GAAG,CAAC,IAA0B;QACpC,QAAQ,EAAE,GAAG,CAAC,SAAS;QACvB,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;IACF,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;QAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAC1C,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI;QAAE,EAAE,CAAC,SAAS,GAAG,GAAG,CAAC,UAAU,CAAC;IAC3D,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI;QAAE,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC;IACrD,IAAI,GAAG,CAAC,KAAK,KAAK,IAAI;QAAE,EAAE,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,IAAI;QAAE,EAAE,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;IAChD,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI;QAAE,EAAE,CAAC,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAC5D,IAAI,GAAG,CAAC,YAAY,KAAK,IAAI;QAAE,EAAE,CAAC,WAAW,GAAG,GAAG,CAAC,YAAmC,CAAC;IACxF,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI;QAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;IAC1C,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,uBAAuB,GAAgE;IAC3F,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,UAAU,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;IAChF,gBAAgB,EAAE,IAAI,GAAG,CAAC,CAAC,gBAAgB,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IACxE,eAAe,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC;IAC1E,UAAU,EAAE,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC3C,qEAAqE;IACrE,qEAAqE;IACrE,qEAAqE;IACrE,iEAAiE;IACjE,MAAM,EAAE,IAAI,GAAG,CAAC,CAAC,cAAc,CAAC,CAAC;CAClC,CAAC;AAEF,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IAC5C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,mBAAmB,GAAwC;IAC/D,QAAQ,EAAE,CAAC;IACX,gBAAgB,EAAE,CAAC;IACnB,SAAS,EAAE,CAAC;IACZ,WAAW,EAAE,CAAC;CACf,CAAC;AAEF,mEAAmE;AACnE,SAAS,wBAAwB,CAAC,KAAuB;IACvD,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,gBAAgB;YACnB,OAAO,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC/C,KAAK,cAAc;YACjB,oEAAoE;YACpE,qEAAqE;YACrE,kBAAkB;YAClB,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;QACxC,KAAK,SAAS;YACZ,OAAO,mBAAmB,CAAC,SAAS,CAAC,CAAC;IAC1C,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,sBAAsB,GAAG,8BAA8B,CAAC;AAC9D,MAAM,wBAAwB,GAAG,gCAAgC,CAAC;AAElE;;;;;GAKG;AACH,SAAS,mBAAmB,CAC1B,WAA6B,EAC7B,YAA6C;IAE7C,IAAI,YAAY,KAAK,SAAS;QAAE,OAAO,CAAC,8BAA8B;IACtE,IAAI,mBAAmB,CAAC,YAAY,CAAC,GAAG,wBAAwB,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9E,MAAM,IAAI,mBAAmB,CAC3B,yBAAyB,YAAY,wCAAwC,WAAW,oBAAoB,CAC7G,CAAC;IACJ,CAAC;AACH,CAAC;AA4BD,mEAAmE;AAEnE,SAAS,WAAW,CAAC,GAAc;IACjC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,GAAG,CAAC,IAAkB;QAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,UAAU;QACzB,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;QACtC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;QAC9C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;QAC/B,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;QAClC,YAAY,EAAG,GAAG,CAAC,aAAkC,IAAI,SAAS;KACnE,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,GAAY;IAC7B,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,IAAI,EAAE,GAAG,CAAC,KAAK;QACf,QAAQ,EAAE,GAAG,CAAC,QAAwB;QACtC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,SAAS;QACjC,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAED,mEAAmE;AACnE,SAAS,eAAe,CAAC,GAAY;IACnC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,MAAM;QACd,IAAI,EAAE,GAAG,CAAC,IAAkB;QAC5B,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,cAAc;QAC7B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,YAAY,EAAE,GAAG,CAAC,aAAa;QAC/B,SAAS,EAAE,GAAG,CAAC,UAAU,IAAI,SAAS;QACtC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,SAAS;QAC9C,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,SAAS;QAC/B,OAAO,EAAE,GAAG,CAAC,QAAQ,IAAI,SAAS;QAClC,YAAY,EAAG,GAAG,CAAC,aAAkC,IAAI,SAAS;KACnE,CAAC;AACJ,CAAC;AAED,iEAAiE;AACjE,SAAS,aAAa,CAAC,GAAY;IACjC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,OAAO;QACf,MAAM,EAAE,GAAG,CAAC,OAAO;QACnB,IAAI,EAAE,GAAG,CAAC,KAAK;QACf,QAAQ,EAAE,GAAG,CAAC,QAAwB;QACtC,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,OAAO,EAAE,GAAG,CAAC,YAAY,IAAI,SAAS;QACtC,SAAS,EAAE,GAAG,CAAC,eAAe;KAC/B,CAAC;AACJ,CAAC"}
|
|
1
|
+
{"version":3,"file":"SemanticMemory.js","sourceRoot":"","sources":["../../src/memory/SemanticMemory.ts"],"names":[],"mappings":"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"}
|
|
@@ -131,6 +131,29 @@ export declare class ThreadlineClient extends EventEmitter {
|
|
|
131
131
|
* Returns null if not found. Throws if name is ambiguous and no fingerprint prefix given.
|
|
132
132
|
*/
|
|
133
133
|
resolveAgent(nameOrId: string): Promise<AgentFingerprint | null>;
|
|
134
|
+
/**
|
|
135
|
+
* Match a BARE fingerprint prefix (no "name:" syntax) against known agents.
|
|
136
|
+
*
|
|
137
|
+
* `threadline_discover` emits each agent's fingerprint TRUNCATED to 8 hex chars,
|
|
138
|
+
* and the send tool's own parameter docs advertise exactly that form
|
|
139
|
+
* ("fd9268c2..."), so a bare prefix is the address callers actually hold. Before
|
|
140
|
+
* this branch existed such an input fell through to name matching, matched no agent
|
|
141
|
+
* NAMED "7970149e", and resolved to null — so the documented discover-then-send
|
|
142
|
+
* workflow could not work at all. Two healthy, correctly-configured agents would
|
|
143
|
+
* simply never connect, because the address one tool returns was an address the
|
|
144
|
+
* other tool refused.
|
|
145
|
+
*
|
|
146
|
+
* Requires a UNIQUE match. This is an addressing function: silently picking one of
|
|
147
|
+
* several candidates would deliver the message to the WRONG agent, which is worse
|
|
148
|
+
* than not delivering it. Ambiguity is an explicit error naming the candidates,
|
|
149
|
+
* matching the convention in findAgentByName.
|
|
150
|
+
*
|
|
151
|
+
* Returns undefined — never throws — when the input is not a bare hex string or
|
|
152
|
+
* matches nothing, so ordinary name resolution still runs unchanged. An agent whose
|
|
153
|
+
* NAME happens to be hex-like is therefore unaffected: with no fingerprint match
|
|
154
|
+
* this falls through and the name path resolves it as before.
|
|
155
|
+
*/
|
|
156
|
+
private findAgentByFingerprintPrefix;
|
|
134
157
|
/**
|
|
135
158
|
* Parse "name:fingerprintPrefix" addressing syntax.
|
|
136
159
|
* If no colon or input looks like a plain name, returns the whole input as name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadlineClient.d.ts","sourceRoot":"","sources":["../../../src/threadline/client/ThreadlineClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ThreadlineClient.d.ts","sourceRoot":"","sources":["../../../src/threadline/client/ThreadlineClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -311,6 +311,11 @@ export class ThreadlineClient extends EventEmitter {
|
|
|
311
311
|
if (this.knownAgents.has(nameOrId)) {
|
|
312
312
|
return nameOrId;
|
|
313
313
|
}
|
|
314
|
+
// 1b. Bare fingerprint-prefix match — see findAgentByFingerprintPrefix. This is
|
|
315
|
+
// the address `threadline_discover` actually hands callers, so it must resolve.
|
|
316
|
+
const byPrefix = this.findAgentByFingerprintPrefix(nameOrId);
|
|
317
|
+
if (byPrefix)
|
|
318
|
+
return byPrefix.agentId;
|
|
314
319
|
// 2. Parse disambiguation syntax: "name:fingerprintPrefix"
|
|
315
320
|
const { name, fingerprintPrefix } = this.parseAgentAddress(nameOrId);
|
|
316
321
|
// 3. Name match in cache (case-insensitive)
|
|
@@ -331,15 +336,65 @@ export class ThreadlineClient extends EventEmitter {
|
|
|
331
336
|
}
|
|
332
337
|
return byName.agentId;
|
|
333
338
|
}
|
|
334
|
-
// 4. Cache miss — re-discover and try again
|
|
339
|
+
// 4. Cache miss — re-discover and try again. The prefix retry matters as much as
|
|
340
|
+
// the name retry: on a cold cache the first prefix attempt has nothing to match.
|
|
335
341
|
if (this.relayClient) {
|
|
336
342
|
await this.autoDiscover();
|
|
343
|
+
const byPrefixRetry = this.findAgentByFingerprintPrefix(nameOrId);
|
|
344
|
+
if (byPrefixRetry)
|
|
345
|
+
return byPrefixRetry.agentId;
|
|
337
346
|
const byNameRetry = this.findAgentByName(name, fingerprintPrefix);
|
|
338
347
|
if (byNameRetry)
|
|
339
348
|
return byNameRetry.agentId;
|
|
340
349
|
}
|
|
341
350
|
return null;
|
|
342
351
|
}
|
|
352
|
+
/**
|
|
353
|
+
* Match a BARE fingerprint prefix (no "name:" syntax) against known agents.
|
|
354
|
+
*
|
|
355
|
+
* `threadline_discover` emits each agent's fingerprint TRUNCATED to 8 hex chars,
|
|
356
|
+
* and the send tool's own parameter docs advertise exactly that form
|
|
357
|
+
* ("fd9268c2..."), so a bare prefix is the address callers actually hold. Before
|
|
358
|
+
* this branch existed such an input fell through to name matching, matched no agent
|
|
359
|
+
* NAMED "7970149e", and resolved to null — so the documented discover-then-send
|
|
360
|
+
* workflow could not work at all. Two healthy, correctly-configured agents would
|
|
361
|
+
* simply never connect, because the address one tool returns was an address the
|
|
362
|
+
* other tool refused.
|
|
363
|
+
*
|
|
364
|
+
* Requires a UNIQUE match. This is an addressing function: silently picking one of
|
|
365
|
+
* several candidates would deliver the message to the WRONG agent, which is worse
|
|
366
|
+
* than not delivering it. Ambiguity is an explicit error naming the candidates,
|
|
367
|
+
* matching the convention in findAgentByName.
|
|
368
|
+
*
|
|
369
|
+
* Returns undefined — never throws — when the input is not a bare hex string or
|
|
370
|
+
* matches nothing, so ordinary name resolution still runs unchanged. An agent whose
|
|
371
|
+
* NAME happens to be hex-like is therefore unaffected: with no fingerprint match
|
|
372
|
+
* this falls through and the name path resolves it as before.
|
|
373
|
+
*/
|
|
374
|
+
findAgentByFingerprintPrefix(input) {
|
|
375
|
+
// 4 hex chars is the same floor parseAgentAddress already accepts for the
|
|
376
|
+
// "name:prefix" form — enough entropy to read as a deliberate address.
|
|
377
|
+
if (!/^[0-9a-f]{4,64}$/i.test(input))
|
|
378
|
+
return undefined;
|
|
379
|
+
const prefix = input.toLowerCase();
|
|
380
|
+
const matches = [];
|
|
381
|
+
for (const agent of this.knownAgents.values()) {
|
|
382
|
+
if (agent.agentId.toLowerCase().startsWith(prefix))
|
|
383
|
+
matches.push(agent);
|
|
384
|
+
}
|
|
385
|
+
if (matches.length === 0)
|
|
386
|
+
return undefined;
|
|
387
|
+
if (matches.length === 1)
|
|
388
|
+
return matches[0];
|
|
389
|
+
// Same live-vs-dead twin allowance as name resolution: if exactly one matching
|
|
390
|
+
// row is live, the stale duplicate does not make the address ambiguous.
|
|
391
|
+
const onlinePick = this.pickSingleOnline(matches);
|
|
392
|
+
if (onlinePick)
|
|
393
|
+
return onlinePick;
|
|
394
|
+
const options = matches.map(a => ` ${a.name} (${a.agentId})`).join('\n');
|
|
395
|
+
throw new Error(`Ambiguous fingerprint prefix "${input}" — ${matches.length} agents match. ` +
|
|
396
|
+
`Use the full fingerprint to disambiguate:\n${options}`);
|
|
397
|
+
}
|
|
343
398
|
/**
|
|
344
399
|
* Parse "name:fingerprintPrefix" addressing syntax.
|
|
345
400
|
* If no colon or input looks like a plain name, returns the whole input as name.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ThreadlineClient.js","sourceRoot":"","sources":["../../../src/threadline/client/ThreadlineClient.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ThreadlineClient.js","sourceRoot":"","sources":["../../../src/threadline/client/ThreadlineClient.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "./builtin-manifest.schema.json",
|
|
3
3
|
"schemaVersion": 1,
|
|
4
|
-
"generatedAt": "2026-07-
|
|
5
|
-
"instarVersion": "1.3.
|
|
4
|
+
"generatedAt": "2026-07-27T17:44:44.950Z",
|
|
5
|
+
"instarVersion": "1.3.1007",
|
|
6
6
|
"entryCount": 202,
|
|
7
7
|
"entries": {
|
|
8
8
|
"hook:session-start": {
|
|
@@ -1610,7 +1610,7 @@
|
|
|
1610
1610
|
"type": "subsystem",
|
|
1611
1611
|
"domain": "memory",
|
|
1612
1612
|
"sourcePath": "src/memory/SemanticMemory.ts",
|
|
1613
|
-
"contentHash": "
|
|
1613
|
+
"contentHash": "c501a2a098d7c473cba4d3b6c8996626f87462f6ac7db02af169728fd50a38dc",
|
|
1614
1614
|
"since": "2025-01-01"
|
|
1615
1615
|
},
|
|
1616
1616
|
"subsystem:multi-machine-coordinator": {
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Fixed an addressing bug that could prevent two healthy agents from ever exchanging a
|
|
9
|
+
Threadline message.
|
|
10
|
+
|
|
11
|
+
`threadline_discover` returns each agent's fingerprint truncated to 8 hex characters, and
|
|
12
|
+
`threadline_send`'s own parameter documentation advertises that short form
|
|
13
|
+
(`"fd9268c2..."`). But `ThreadlineClient.resolveAgent` had no branch for a bare prefix: it
|
|
14
|
+
fell through to name matching, found no agent *named* `7970149e`, and returned null. The
|
|
15
|
+
send then failed with `Agent not found: "7970149e"`. The documented discover-then-send
|
|
16
|
+
workflow could not complete.
|
|
17
|
+
|
|
18
|
+
`resolveAgent` now accepts a bare fingerprint prefix, and **requires a unique match**. This
|
|
19
|
+
matters: `resolveAgent` decides which peer receives a message, and discovery can legitimately
|
|
20
|
+
return two rows for the same agent (a live registration and a stale one). Resolving a prefix
|
|
21
|
+
to "whichever matched first" would have silently delivered to the wrong agent while reporting
|
|
22
|
+
success — worse than not delivering at all. When several agents share a prefix and exactly
|
|
23
|
+
one is online, the live one wins (the same allowance name resolution already makes for
|
|
24
|
+
live-vs-stale twins). Otherwise the send is refused with every candidate and its full
|
|
25
|
+
fingerprint listed, so the caller can say precisely which they meant.
|
|
26
|
+
|
|
27
|
+
Non-hex input, and any prefix matching no known fingerprint, fall through untouched — name
|
|
28
|
+
resolution, including for agents with hex-like names, behaves exactly as before.
|
|
29
|
+
|
|
30
|
+
## What to Tell Your User
|
|
31
|
+
|
|
32
|
+
If you have ever tried to connect two of your agents over Threadline and been told the other
|
|
33
|
+
agent could not be found — while both were plainly running and correctly configured — this is
|
|
34
|
+
very likely why, and it is fixed.
|
|
35
|
+
|
|
36
|
+
The short agent ID your agent sees when it looks up its peers is now an address it can
|
|
37
|
+
actually send to. Nothing changes about how you ask for it; "message my other agent" simply
|
|
38
|
+
works where it may previously have failed with a confusing not-found error.
|
|
39
|
+
|
|
40
|
+
One deliberate behaviour worth knowing: if a short ID is ambiguous because two agents share
|
|
41
|
+
those opening characters, your agent will now stop and list them rather than pick one. That
|
|
42
|
+
is intentional. A message delivered to the wrong agent looks like success and is much harder
|
|
43
|
+
to notice than a message that refuses to send.
|
|
44
|
+
|
|
45
|
+
## Summary of New Capabilities
|
|
46
|
+
|
|
47
|
+
- Agent-to-agent messaging accepts the short (8-character) agent fingerprint that agent
|
|
48
|
+
discovery returns, closing a gap where the discover-then-send workflow could not complete.
|
|
49
|
+
- Ambiguous short IDs are reported with the full candidate list instead of resolving to an
|
|
50
|
+
arbitrary agent, so a message can never be silently delivered to the wrong peer.
|
|
51
|
+
- A stale duplicate registration no longer makes a working address ambiguous when exactly one
|
|
52
|
+
matching agent is online.
|
|
53
|
+
|
|
54
|
+
## Evidence
|
|
55
|
+
|
|
56
|
+
The tests were run against unmodified source *before* the fix was applied, to prove they
|
|
57
|
+
exercise the bug rather than merely accompany it:
|
|
58
|
+
|
|
59
|
+
- Fix reverted: **5 failed / 21 passed** — the 5 failures are precisely the new behaviours
|
|
60
|
+
(8-char prefix resolves, case-insensitivity, ambiguity throws, candidates named in the
|
|
61
|
+
error, live-row preference). The 21 that pass are the deliberate regression guards.
|
|
62
|
+
- Fix applied: **26 passed**.
|
|
63
|
+
- Regression surface: `tests/unit/threadline/` — **65 files, 1581 tests, all passing**.
|
|
64
|
+
- `tsc --noEmit` clean.
|
|
65
|
+
|
|
66
|
+
Observed live on 2026-07-27 between two running, relay-connected agents on the same machine.
|
|
67
|
+
Both ends failed symmetrically — each reported the other as "not found" while holding the
|
|
68
|
+
other's address — which is what identified the seam between the two tools, rather than either
|
|
69
|
+
agent, as the defect.
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
# Upgrade Guide — vNEXT
|
|
2
|
+
|
|
3
|
+
<!-- assembled-by: assemble-next-md -->
|
|
4
|
+
<!-- bump: patch -->
|
|
5
|
+
|
|
6
|
+
## What Changed
|
|
7
|
+
|
|
8
|
+
Fixed a silent failure that made the agent's memory recall return nothing for essentially
|
|
9
|
+
every question it was asked.
|
|
10
|
+
|
|
11
|
+
Before answering, the agent searches its own memory store and injects anything relevant as
|
|
12
|
+
context. That search required **every** word of the query to appear in a stored entry —
|
|
13
|
+
FTS5's implicit AND over bare tokens. Recall is fed the user's raw message, which is always
|
|
14
|
+
a sentence, so ordinary function words decided the outcome. No stored entity contains the
|
|
15
|
+
word "why", so any question beginning "why" matched nothing regardless of its content words.
|
|
16
|
+
|
|
17
|
+
`SemanticMemory.search()` now strips stopwords before building the match expression, and
|
|
18
|
+
falls back to an OR of the content words when the strict AND match returns zero rows. The
|
|
19
|
+
strict query runs first and stays authoritative whenever it finds anything, so keyword
|
|
20
|
+
searches are unchanged and the widening only ever replaces an empty result.
|
|
21
|
+
|
|
22
|
+
The failure was invisible by construction: an empty result set is indistinguishable from an
|
|
23
|
+
empty memory. No error, no warning, no slow query — the system reported healthy while
|
|
24
|
+
returning nothing indefinitely.
|
|
25
|
+
|
|
26
|
+
## What to Tell Your User
|
|
27
|
+
|
|
28
|
+
Your agent's memory has been storing things correctly all along, but the part that looks
|
|
29
|
+
things up was almost never finding them — so lessons it had genuinely learned would quietly
|
|
30
|
+
fail to come back, and it could re-discover the same thing weeks later as though it were new.
|
|
31
|
+
|
|
32
|
+
The cause was mundane: the lookup demanded that every word of the question appear in a
|
|
33
|
+
stored note, including words like "why", "is" and "the". Since no note contains the word
|
|
34
|
+
"why", any question starting with "why" found nothing at all. Questions are the only thing
|
|
35
|
+
this system is ever given, so it was returning empty almost every time.
|
|
36
|
+
|
|
37
|
+
Ordinary connecting words are now ignored when searching, and if the precise search finds
|
|
38
|
+
nothing the agent retries with a looser one. Precise matches still win whenever they exist,
|
|
39
|
+
so this makes recall find more without making it noisier — and a question about something
|
|
40
|
+
genuinely not in memory still correctly returns nothing.
|
|
41
|
+
|
|
42
|
+
You don't need to do anything. Recall simply starts working where it previously came back
|
|
43
|
+
empty.
|
|
44
|
+
|
|
45
|
+
## Summary of New Capabilities
|
|
46
|
+
|
|
47
|
+
- Memory recall now answers natural-language questions instead of returning empty for any
|
|
48
|
+
query containing ordinary function words.
|
|
49
|
+
- A looser fallback search runs only when the precise search finds nothing, so existing
|
|
50
|
+
keyword lookups keep their exact previous behaviour and precision.
|
|
51
|
+
- Queries about genuinely unknown topics still return no results — the fallback widens the
|
|
52
|
+
search without inventing relevance.
|
|
53
|
+
|
|
54
|
+
## Evidence
|
|
55
|
+
|
|
56
|
+
Tests were run against **unmodified source first**, to prove they exercise the bug:
|
|
57
|
+
|
|
58
|
+
| run | result |
|
|
59
|
+
|---|---|
|
|
60
|
+
| fix reverted | **9 failed / 4 passed** — the 4 are the regression guards |
|
|
61
|
+
| fix applied | **13 passed** |
|
|
62
|
+
| semantic-memory regression surface | **5 files, 126 passed** |
|
|
63
|
+
| `tsc --noEmit` | clean |
|
|
64
|
+
|
|
65
|
+
Verified against the live 2,852-entity store, not only fixtures:
|
|
66
|
+
|
|
67
|
+
```
|
|
68
|
+
"can I reach Codey" 0 → 5 hits
|
|
69
|
+
"is Codey responding to my messages" 0 → 5 hits
|
|
70
|
+
"why can a telegram bot not see messages" 0 → 5 hits, top hit "Telegram bot visibility limit"
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
That top hit is an entity stored on 2026-07-19 which never surfaced and was re-derived from
|
|
74
|
+
scratch on 2026-07-27 — the incident that prompted the fix.
|
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
# Side-effects review — natural-language recall for SemanticMemory.search
|
|
2
|
+
|
|
3
|
+
**Change:** `search()` strips stopwords before building the FTS5 match expression, and
|
|
4
|
+
falls back to an OR of the content words when the strict implicit-AND match returns
|
|
5
|
+
nothing.
|
|
6
|
+
|
|
7
|
+
**Discovered:** live, 2026-07-27, while diagnosing why a lesson recorded on 2026-07-19
|
|
8
|
+
("Telegram bot visibility limit") was re-derived from scratch eight days later. Capture had
|
|
9
|
+
worked; the entity was stored, FTS-indexed, and retrievable by keyword. The recall hook was
|
|
10
|
+
enabled and installed. It returned nothing because of the shape of the query it was handed.
|
|
11
|
+
|
|
12
|
+
## The mechanism
|
|
13
|
+
|
|
14
|
+
FTS5 requires **every** bare token to match. Recall is fed the user's raw message, which is
|
|
15
|
+
always a sentence. Measured against the live 2,852-entity store:
|
|
16
|
+
|
|
17
|
+
| query | before |
|
|
18
|
+
|---|---|
|
|
19
|
+
| `can I reach Codey` | 0 |
|
|
20
|
+
| `is Codey responding to my messages` | 0 |
|
|
21
|
+
| `why is Codey not replying` | 0 |
|
|
22
|
+
| `reach Codey` | 7 |
|
|
23
|
+
| `Codey messages` | 17 |
|
|
24
|
+
|
|
25
|
+
No stored entity contains the word "why", so a question beginning "why" could never match
|
|
26
|
+
anything regardless of its content words. The system was enabled, wired, and structurally
|
|
27
|
+
incapable of answering the queries it received.
|
|
28
|
+
|
|
29
|
+
## 1. Over-block — what legitimate input does this now reject?
|
|
30
|
+
|
|
31
|
+
None. Stopword removal only ever *widens* the candidate set, and the OR fallback runs only
|
|
32
|
+
when the strict query returned zero rows. Every input that previously returned results
|
|
33
|
+
returns the same results by the same path — the strict query is attempted first and
|
|
34
|
+
unchanged for keyword queries.
|
|
35
|
+
|
|
36
|
+
The one guarded edge is an all-stopword query (`"what is it"`). Removing every token would
|
|
37
|
+
leave an empty match expression, which in FTS5 is a syntax error rather than a match-nothing.
|
|
38
|
+
`buildFtsQueryVariants` keeps the original tokens in that case, so behaviour degrades to
|
|
39
|
+
exactly the previous semantics rather than throwing or matching everything. Pinned by test.
|
|
40
|
+
|
|
41
|
+
## 2. Under-block — what does this still miss?
|
|
42
|
+
|
|
43
|
+
- **This fixes the fallback path, NOT the primary one — and the primary one is the real bug.**
|
|
44
|
+
A fully-populated vector index already exists: `GET /semantic/stats` reports
|
|
45
|
+
`vectorSearchAvailable: true, embeddingCount: 2852` against 2,852 entities, i.e. 100%
|
|
46
|
+
coverage. `searchHybrid()` performs real vector KNN. But `PromptBuildRecall.ts:138` calls
|
|
47
|
+
the synchronous `search()` — FTS5 keyword-only — because `recall()` is synchronous
|
|
48
|
+
(`PromptBuildRecall.ts:113`) and `searchHybrid` is async. So recall runs on keyword
|
|
49
|
+
matching while the embeddings sit unused, and a query worded differently from the stored
|
|
50
|
+
entity misses regardless of this change.
|
|
51
|
+
|
|
52
|
+
This change is therefore a **floor-raiser for the lexical path**, which still matters —
|
|
53
|
+
`searchHybrid()` degrades to `search()` whenever vectors are unavailable, and
|
|
54
|
+
`/semantic/search` uses it directly — but it is explicitly not the answer to
|
|
55
|
+
"why didn't recall find this". Keyword search should be supplementary, not primary.
|
|
56
|
+
<!-- tracked: ACT-1386 -->
|
|
57
|
+
|
|
58
|
+
*Correction of record:* an earlier draft of this artifact claimed `vec0` was unloadable and
|
|
59
|
+
recall was lexical-only by necessity. That was wrong. It came from probing `semantic.db`
|
|
60
|
+
with python's `sqlite3`, which does not load the extension; the Node process loads it
|
|
61
|
+
successfully. The false claim is recorded here rather than quietly deleted, because
|
|
62
|
+
"I verified with the wrong tool and concluded a capability was missing" is the same failure
|
|
63
|
+
class this whole change exists to address.
|
|
64
|
+
- **Stopword list is English-only and fixed.** A domain word that is genuinely a stopword
|
|
65
|
+
here (e.g. "session") is not covered, and shouldn't be — over-stripping would blunt
|
|
66
|
+
precision.
|
|
67
|
+
- **The OR fallback ranks by FTS rank only.** It can surface a weakly-relevant entity when a
|
|
68
|
+
strongly-relevant one does not exist. That is the intended trade: five loosely-relevant
|
|
69
|
+
memories beat the empty set that made every stored lesson unreachable. It cannot fabricate
|
|
70
|
+
a hit — a query about something genuinely not stored still returns empty (pinned by test).
|
|
71
|
+
|
|
72
|
+
## 2b. The fallback announces itself (self-caught during review)
|
|
73
|
+
|
|
74
|
+
The first revision of this change introduced a **silent** degradation — the OR widening
|
|
75
|
+
substituted a weaker strategy and reported nothing. That is the same defect class the change
|
|
76
|
+
exists to fix, added by the fix. Caught before merge and corrected.
|
|
77
|
+
|
|
78
|
+
`search()` now records `lastSearchStrategy`:
|
|
79
|
+
|
|
80
|
+
- `fts-strict` — the precise implicit-AND query served
|
|
81
|
+
- `fts-loose-fallback` — strict found nothing; the weaker OR query served instead
|
|
82
|
+
- `none` — no query ran (reset on the early-return path, so a stale "served by strict" can
|
|
83
|
+
never be read for a query that never executed)
|
|
84
|
+
|
|
85
|
+
Read-only. It gates nothing and does not change what `search()` returns. This is
|
|
86
|
+
*No Silent Degradation to Brittle Fallback* (`docs/STANDARDS-REGISTRY.md:125`) applied to a
|
|
87
|
+
retrieval path: "silent degradation to a weak check is worse than no check, because it looks
|
|
88
|
+
protected while being fake-protected." The standard's own scope is LLM calls that *gate* an
|
|
89
|
+
action, so it did not formally bind here — but its reasoning is exactly on point, and
|
|
90
|
+
honouring it cost three tests.
|
|
91
|
+
|
|
92
|
+
The concrete argument for it: recall ran on keyword-only search for its entire life while a
|
|
93
|
+
fully-populated vector index (2,852/2,852 embeddings) went uncalled, and nothing anywhere
|
|
94
|
+
reported that. A cheap path that announces itself is the difference between that being
|
|
95
|
+
discoverable and being invisible for months.
|
|
96
|
+
|
|
97
|
+
## 3. Level-of-abstraction fit
|
|
98
|
+
|
|
99
|
+
Correct layer. `search()` is the single funnel every recall caller uses — the
|
|
100
|
+
`before-prompt-recall` hook, `PromptBuildRecall`, and the `/semantic/search` route all reach
|
|
101
|
+
it. Fixing query construction here fixes every caller at once. Fixing it in the hook would
|
|
102
|
+
have left the route and any future caller broken, and would have put query-shaping knowledge
|
|
103
|
+
outside the module that owns the index.
|
|
104
|
+
|
|
105
|
+
## 4. Signal vs authority compliance
|
|
106
|
+
|
|
107
|
+
Recall is a **signal producer** — its output is injected as context, never as an
|
|
108
|
+
instruction, and it gates nothing. This change cannot block, delay, or redirect any action;
|
|
109
|
+
the worst case is that a slightly-less-relevant memory is surfaced as background context.
|
|
110
|
+
That is precisely the class of check where widening recall is safe: a false positive costs a
|
|
111
|
+
line of injected context, while the false negative it replaces cost a repeated incident.
|
|
112
|
+
|
|
113
|
+
No blocking authority is added or moved.
|
|
114
|
+
|
|
115
|
+
## 5. Interactions
|
|
116
|
+
|
|
117
|
+
- **Filter composition.** The fallback re-uses the identical prepared statement and
|
|
118
|
+
parameter list, substituting only the match expression. Type, domain, confidence, and
|
|
119
|
+
privacy filters therefore apply to both passes identically — verified by a test asserting
|
|
120
|
+
`minConfidence: 0.95` still returns empty through the fallback path.
|
|
121
|
+
- **Vector re-ranking.** `_lastVectorScores` merging is untouched and runs after row
|
|
122
|
+
selection, so a widened row set is re-ranked by the same logic.
|
|
123
|
+
- **Operator stripping preserved.** `sanitizeFts5Query` still runs first, so `AND`/`OR`/
|
|
124
|
+
`NOT`/`NEAR` and FTS5 syntax characters are removed from user input before tokenising. The
|
|
125
|
+
`OR` this change introduces is constructed by us from already-sanitised tokens, never
|
|
126
|
+
passed through from the caller. Pinned by test.
|
|
127
|
+
- **No double-execution cost in the common case.** The second query runs only on a zero-row
|
|
128
|
+
first pass.
|
|
129
|
+
|
|
130
|
+
## 6. External surfaces
|
|
131
|
+
|
|
132
|
+
No wire format, schema, migration, config, or route change. `/semantic/search` returns
|
|
133
|
+
results where it previously returned an empty array for the same input. Nothing that
|
|
134
|
+
previously returned data changes shape. One new exported function (`buildFtsQueryVariants`),
|
|
135
|
+
exported for testability because the failure is invisible at the route level — a zero-result
|
|
136
|
+
search looks identical to "nothing was ever stored", which is exactly why this survived
|
|
137
|
+
undetected.
|
|
138
|
+
|
|
139
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
140
|
+
|
|
141
|
+
**Machine-local by design, and correctly so — no new state is introduced.** This changes only
|
|
142
|
+
how a query string is built before hitting a local SQLite FTS index. Each machine already
|
|
143
|
+
owns its own `semantic.db`; whether that store *replicates* is a separate concern that this
|
|
144
|
+
change neither introduces nor alters. No notice, no generated URL, no durable state, nothing
|
|
145
|
+
that could strand on topic transfer.
|
|
146
|
+
|
|
147
|
+
## 8. Rollback cost
|
|
148
|
+
|
|
149
|
+
Near zero. Revert the commit; `search()` returns to passing the sanitised string straight
|
|
150
|
+
through. No persisted state, no migration, no agent-state repair. Any query that worked
|
|
151
|
+
before the change works identically after a revert.
|
|
152
|
+
|
|
153
|
+
## Evidence
|
|
154
|
+
|
|
155
|
+
Tests verified to fail against unmodified source before the fix was applied:
|
|
156
|
+
|
|
157
|
+
```
|
|
158
|
+
# fix reverted
|
|
159
|
+
Tests 9 failed | 4 passed (13)
|
|
160
|
+
— the 4 passing are the regression guards: bare keyword query, strict-match
|
|
161
|
+
preference, genuinely-absent query returns empty, confidence filter honoured.
|
|
162
|
+
They SHOULD pass on unfixed source; that is what makes them guards.
|
|
163
|
+
|
|
164
|
+
# fix applied
|
|
165
|
+
Tests 13 passed (13)
|
|
166
|
+
|
|
167
|
+
# regression surface
|
|
168
|
+
semantic-memory + privacy + evidence + invokeFromRemediator + corruption-recovery
|
|
169
|
+
— 5 files, 126 tests passed
|
|
170
|
+
tsc --noEmit — clean
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
Verified against the **live 2,852-entity store**, not only fixtures:
|
|
174
|
+
|
|
175
|
+
```
|
|
176
|
+
"can I reach Codey" 0 → 5 hits
|
|
177
|
+
"is Codey responding to my messages" 0 → 5 hits
|
|
178
|
+
"why can a telegram bot not see messages" 0 → 5 hits,
|
|
179
|
+
top hit = "Telegram bot visibility limit"
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
That last line is the point of the change: the entity recovered as the top hit is the exact
|
|
183
|
+
lesson that was stored on 2026-07-19, never surfaced, and re-derived from scratch on
|
|
184
|
+
2026-07-27.
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
# Side-effects review — bare fingerprint-prefix addressing in `resolveAgent`
|
|
2
|
+
|
|
3
|
+
**Change:** `ThreadlineClient.resolveAgent` gains a bare fingerprint-prefix branch
|
|
4
|
+
(`findAgentByFingerprintPrefix`), so the 8-char fingerprint `threadline_discover`
|
|
5
|
+
emits is an address `threadline_send` will actually accept.
|
|
6
|
+
|
|
7
|
+
**Discovered:** live, 2026-07-27. Echo → instar-codey. Both agents healthy, both
|
|
8
|
+
relay-connected, correct chat, correct topic. Every send answered
|
|
9
|
+
`Agent not found: "7970149e"`. Codey's own reply to Echo failed with the mirror-image
|
|
10
|
+
error `Agent not found: "63b1dbb2"`. Neither agent was misconfigured — the address one
|
|
11
|
+
tool handed out was an address the other tool refused.
|
|
12
|
+
|
|
13
|
+
## 1. Over-block — what legitimate input does this reject that it shouldn't?
|
|
14
|
+
|
|
15
|
+
None. The new branch only ever *adds* resolutions; it returns `undefined` for any input
|
|
16
|
+
that is not a bare hex string of 4–64 chars, and for any hex string that matches no
|
|
17
|
+
known fingerprint. In both cases control falls through to the pre-existing name path
|
|
18
|
+
unchanged.
|
|
19
|
+
|
|
20
|
+
The one input class that now behaves differently in a *rejecting* direction is an
|
|
21
|
+
**ambiguous** prefix — two known agents sharing it. That previously resolved to `null`
|
|
22
|
+
("not found"); it now throws a named-candidates error. This is strictly more informative
|
|
23
|
+
than the old outcome, and the alternative (silently picking) is the failure this review
|
|
24
|
+
most wants to prevent. See §4.
|
|
25
|
+
|
|
26
|
+
## 2. Under-block — what does this still miss?
|
|
27
|
+
|
|
28
|
+
- **Discover still emits 8 chars while its neighbouring comment says 32.**
|
|
29
|
+
`ThreadlineMCPServer.ts` sets `entry.fingerprint = a.publicKey.substring(0, 8)` at two
|
|
30
|
+
sites (lines 510, 870 on main) beside a comment reading "fingerprint = first 32 hex
|
|
31
|
+
chars". This change makes the 8-char form *work* rather than making the two halves
|
|
32
|
+
agree. Deliberate: changing discover's output is a contract change to every existing
|
|
33
|
+
consumer, whereas widening the resolver is backward-compatible and fixes all current
|
|
34
|
+
callers at once. The inconsistency is recorded here rather than silently fixed.
|
|
35
|
+
<!-- tracked: ACT-1380 -->
|
|
36
|
+
- **A 4-char prefix is permitted.** With a large enough agent population, 4 hex chars
|
|
37
|
+
will collide. Collisions surface as the ambiguity error rather than a wrong delivery,
|
|
38
|
+
so the failure mode is safe, but it is a usability cliff at scale rather than a
|
|
39
|
+
correctness one.
|
|
40
|
+
- This does not address unreachability caused by anything other than addressing — a dark
|
|
41
|
+
relay, an unpaired peer, or a trust refusal are all untouched.
|
|
42
|
+
|
|
43
|
+
## 3. Level-of-abstraction fit
|
|
44
|
+
|
|
45
|
+
Correct layer. `resolveAgent` is the single funnel every send path already goes through
|
|
46
|
+
(`routes.ts:12841` calls `relayClient.resolveAgent(targetAgent)` and 404s on null). Fixing
|
|
47
|
+
it here fixes the MCP tool, the HTTP route, and any future caller at once. Fixing it in
|
|
48
|
+
the MCP tool would have left the HTTP route broken; fixing it in discover would have
|
|
49
|
+
changed a published output shape without helping callers who already hold a short
|
|
50
|
+
fingerprint from an older message or a log line.
|
|
51
|
+
|
|
52
|
+
## 4. Signal vs authority compliance
|
|
53
|
+
|
|
54
|
+
`resolveAgent` is an *authority* — its return value directly determines which peer
|
|
55
|
+
receives a message. That is precisely why the new branch **requires a unique match**.
|
|
56
|
+
|
|
57
|
+
The tempting implementation is "match the prefix, take the first hit." That would have
|
|
58
|
+
made my own send succeed today, because discover returned **two** `instar-codey` rows
|
|
59
|
+
(`092c1cac…` and `7970149e…`) and only one is live. Taking the first would have delivered
|
|
60
|
+
to whichever the map happened to yield first — a silent wrong-recipient delivery, which is
|
|
61
|
+
categorically worse than a failed send, because the sender believes it succeeded.
|
|
62
|
+
|
|
63
|
+
So the branch reuses the existing convention exactly:
|
|
64
|
+
- exactly one match → resolve
|
|
65
|
+
- several matches, exactly one online → resolve to the live one (`pickSingleOnline`, the
|
|
66
|
+
same live-vs-dead twin allowance `findAgentByName` already makes)
|
|
67
|
+
- otherwise → throw, naming every candidate and its full fingerprint
|
|
68
|
+
|
|
69
|
+
Ambiguity is surfaced to the caller as a decision, never absorbed as a guess.
|
|
70
|
+
|
|
71
|
+
## 5. Interactions
|
|
72
|
+
|
|
73
|
+
- **Ordering.** The prefix branch runs after exact-match (1) and before name parsing (2).
|
|
74
|
+
It cannot shadow name resolution, because a zero-match prefix returns `undefined` and
|
|
75
|
+
falls through. An agent whose *name* is hex-like resolves as before — covered by an
|
|
76
|
+
explicit regression test.
|
|
77
|
+
- **`name:prefix` syntax.** Untouched. `parseAgentAddress` only engages on a colon, and a
|
|
78
|
+
bare prefix has none. The 4-char floor is deliberately the same one `parseAgentAddress`
|
|
79
|
+
already uses for its suffix, so the two addressing forms agree on what counts as a
|
|
80
|
+
prefix.
|
|
81
|
+
- **Cold cache.** The retry after `autoDiscover()` in step 4 now re-tries the prefix as
|
|
82
|
+
well as the name. Without this the fix would work only when the cache was already warm —
|
|
83
|
+
which is the very condition that is false on a first send after boot.
|
|
84
|
+
- **Rediscovery cooldown.** Unchanged; the prefix branch performs no discovery of its own.
|
|
85
|
+
|
|
86
|
+
## 6. External surfaces
|
|
87
|
+
|
|
88
|
+
No wire-format, protocol, or persisted-state change. No new config, route, or dependency.
|
|
89
|
+
The observable difference is that an address which previously 404'd now resolves, plus one
|
|
90
|
+
new error message string on the ambiguous path. Nothing depends on timing or conversation
|
|
91
|
+
state.
|
|
92
|
+
|
|
93
|
+
## 7. Multi-machine posture (Cross-Machine Coherence)
|
|
94
|
+
|
|
95
|
+
**Machine-local by design, and correctly so — no justification marker needed because no
|
|
96
|
+
durable state is introduced.** `knownAgents` is a process-local in-memory cache rebuilt
|
|
97
|
+
from relay discovery on every connect. Two machines running this agent each resolve
|
|
98
|
+
against their own live view of the relay, which is the correct behaviour: reachability is
|
|
99
|
+
a property of *this* process's relay connection, not a fact to replicate. Replicating a
|
|
100
|
+
resolution cache would actively harm — a peer that machine A can reach may be unreachable
|
|
101
|
+
from machine B, and a shared cache would assert otherwise.
|
|
102
|
+
|
|
103
|
+
No user-facing notice, no generated URL, no state that could strand on topic transfer.
|
|
104
|
+
|
|
105
|
+
## 8. Rollback cost
|
|
106
|
+
|
|
107
|
+
Near zero. Revert the commit; the added method becomes unreferenced and the resolver
|
|
108
|
+
returns to exact-match-plus-name. No migration, no persisted state, no agent-state repair.
|
|
109
|
+
Any address that worked before still works after a revert — the change is purely additive
|
|
110
|
+
to the set of inputs that resolve.
|
|
111
|
+
|
|
112
|
+
## Evidence
|
|
113
|
+
|
|
114
|
+
Tests were verified to fail against unmodified source before the fix was applied, so they
|
|
115
|
+
demonstrably exercise the bug rather than merely accompanying it:
|
|
116
|
+
|
|
117
|
+
```
|
|
118
|
+
# fix reverted, tests only
|
|
119
|
+
Tests 5 failed | 21 passed (26)
|
|
120
|
+
✗ resolves the 8-char prefix that discover emits (the reported bug) → null
|
|
121
|
+
✗ is case-insensitive on the prefix → null
|
|
122
|
+
✗ THROWS on an ambiguous prefix rather than delivering to the wrong agent → resolved null
|
|
123
|
+
✗ names every candidate in the ambiguity error → resolved null
|
|
124
|
+
✗ prefers the single LIVE row when a stale twin shares the prefix → null
|
|
125
|
+
|
|
126
|
+
# fix applied
|
|
127
|
+
Tests 26 passed (26)
|
|
128
|
+
|
|
129
|
+
# regression surface
|
|
130
|
+
tests/unit/threadline/ — 65 files, 1581 passed
|
|
131
|
+
tsc --noEmit — clean
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
The 21 that pass in both runs are the deliberate regression guards (full fingerprint,
|
|
135
|
+
ordinary name, hex-like name, unknown prefix → null); they *should* pass either way, and
|
|
136
|
+
their passing on unfixed source is what makes them meaningful as guards.
|