dino-spec 10.2.0 → 10.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +11 -3
- package/dist/core/context-repl/recursive/decomposer.d.ts +54 -2
- package/dist/core/context-repl/recursive/decomposer.d.ts.map +1 -1
- package/dist/core/context-repl/recursive/decomposer.js +391 -2
- package/dist/core/context-repl/recursive/decomposer.js.map +1 -1
- package/dist/core/context-repl/recursive/index.d.ts +23 -8
- package/dist/core/context-repl/recursive/index.d.ts.map +1 -1
- package/dist/core/context-repl/recursive/index.js +41 -10
- package/dist/core/context-repl/recursive/index.js.map +1 -1
- package/dist/core/context-repl/recursive/quality.d.ts +33 -2
- package/dist/core/context-repl/recursive/quality.d.ts.map +1 -1
- package/dist/core/context-repl/recursive/quality.js +196 -6
- package/dist/core/context-repl/recursive/quality.js.map +1 -1
- package/dist/core/context-repl/recursive/synthesizer.d.ts +40 -3
- package/dist/core/context-repl/recursive/synthesizer.d.ts.map +1 -1
- package/dist/core/context-repl/recursive/synthesizer.js +219 -8
- package/dist/core/context-repl/recursive/synthesizer.js.map +1 -1
- package/dist/core/context-repl/recursive/trajectory.d.ts +41 -2
- package/dist/core/context-repl/recursive/trajectory.d.ts.map +1 -1
- package/dist/core/context-repl/recursive/trajectory.js +172 -1
- package/dist/core/context-repl/recursive/trajectory.js.map +1 -1
- package/dist/core/context-repl/recursive/types.d.ts +98 -2
- package/dist/core/context-repl/recursive/types.d.ts.map +1 -1
- package/dist/core/context-repl/recursive/types.js +12 -1
- package/dist/core/context-repl/recursive/types.js.map +1 -1
- package/dist/mcp/server.d.ts +6 -1
- package/dist/mcp/server.d.ts.map +1 -1
- package/dist/mcp/server.js +28 -11
- package/dist/mcp/server.js.map +1 -1
- package/dist/mcp-server.d.ts +3 -1
- package/dist/mcp-server.d.ts.map +1 -1
- package/dist/mcp-server.js +16 -6
- package/dist/mcp-server.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -17,11 +17,11 @@
|
|
|
17
17
|
## Features
|
|
18
18
|
|
|
19
19
|
- **MCP Integration** - 50 tools + 29 resources auto-configured during init
|
|
20
|
-
- **MCP Tool Aggressive Filtering** (v10.
|
|
20
|
+
- **MCP Tool Aggressive Filtering** (v10.3.0) - Phase-based tool context reduction (~50-70% savings)
|
|
21
21
|
- **Phase Filtering** - Only load tools relevant to current workflow phase
|
|
22
22
|
- **Description Modes** - Minimal/standard/full verbosity control
|
|
23
23
|
- **Lazy Details** - Full descriptions loaded on-demand via `dino://tools/details`
|
|
24
|
-
- **
|
|
24
|
+
- **Auto-Enabled** - Filtering enabled by default, opt-out with `DINO_AGGRESSIVE_FILTERING=false`
|
|
25
25
|
- **Lazy Context Loading** (v10.1.0) - Defer file loading to save tokens (~60-80% initial context reduction)
|
|
26
26
|
- **Deferred Resources** - Replace file content with lightweight placeholders (~5-10 tokens)
|
|
27
27
|
- **On-Demand Expansion** - Load content only when needed with `dino_expand`
|
|
@@ -48,7 +48,15 @@
|
|
|
48
48
|
- **Workflow Skills** - Phases from discovery to completion (`/dino.*`)
|
|
49
49
|
- **Task Delegation** - Specialized agents with context handoffs
|
|
50
50
|
- **Recursive Agents** - Self-spawning agents with complexity-based depth control (v8.0.0)
|
|
51
|
-
- **Recursive Retrieval** - RLM-style query decomposition with
|
|
51
|
+
- **Recursive Retrieval** (v10.4.0) - Enhanced RLM-style query decomposition with:
|
|
52
|
+
- **Semantic Decomposition** - Intent-based query splitting by distinct concepts
|
|
53
|
+
- **Dependency-Aware Decomposition** - Sequential sub-queries with prerequisite analysis
|
|
54
|
+
- **Composition Decomposition** - Parallel execution for "A and B" style queries
|
|
55
|
+
- **Quality Confidence Bounds** - Uncertainty tracking with Wilson score intervals
|
|
56
|
+
- **Task-Specific Weight Calibration** - Automatic quality weight adjustment per task type
|
|
57
|
+
- **Provenance Tracking** - Full source chain attribution for every result
|
|
58
|
+
- **Conflict Detection** - Automatic identification of score variance and data mismatches
|
|
59
|
+
- **Decision Rationale** - Explainability with alternatives considered
|
|
52
60
|
- **Dynamic Partitioning** - Intelligent codebase segmentation (directory, feature, dependency, time)
|
|
53
61
|
- **Context REPL** - Declarative DSL for model-driven exploration
|
|
54
62
|
- **Context Engineering** - Research-backed token optimization (v9.6.0, v9.7.0, v9.14.0)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Query Decomposer -
|
|
2
|
+
* Query Decomposer - v10.4.0
|
|
3
3
|
*
|
|
4
4
|
* Model-driven query decomposition for recursive retrieval.
|
|
5
5
|
* Analyzes queries and splits them into sub-queries based on
|
|
@@ -10,8 +10,11 @@
|
|
|
10
10
|
* - by-hop-level: Split graph traversal by hop distance
|
|
11
11
|
* - by-time-range: Split by recency windows
|
|
12
12
|
* - by-relevance: Split by score thresholds
|
|
13
|
+
* - by-semantic-intent: Split by distinct concepts (v10.4.0)
|
|
14
|
+
* - by-dependency-graph: Split by prerequisite sub-queries (v10.4.0)
|
|
15
|
+
* - by-composition: Split "A and B" style queries (v10.4.0)
|
|
13
16
|
*/
|
|
14
|
-
import type { DecompositionResult, RecursiveQueryConfig } from './types.js';
|
|
17
|
+
import type { DecompositionResult, DecompositionPattern, RecursiveQueryConfig, SemanticIntent, AlternativeConsidered } from './types.js';
|
|
15
18
|
import type { ContextQuery } from '../types.js';
|
|
16
19
|
import type { PartitionStrategy } from '../partitioning/types.js';
|
|
17
20
|
/**
|
|
@@ -60,6 +63,55 @@ export declare function decomposeByPartition(query: ContextQuery, partitionStrat
|
|
|
60
63
|
* Check if a query would benefit from partition decomposition
|
|
61
64
|
*/
|
|
62
65
|
export declare function shouldDecomposeByPartition(query: ContextQuery, fileCount: number): boolean;
|
|
66
|
+
/**
|
|
67
|
+
* Extract semantic intents from a search query
|
|
68
|
+
*/
|
|
69
|
+
export declare function extractSemanticIntents(searchQuery: string): SemanticIntent[];
|
|
70
|
+
/**
|
|
71
|
+
* Detect composition patterns ("A and B")
|
|
72
|
+
*/
|
|
73
|
+
export declare function detectCompositionPattern(searchQuery: string): {
|
|
74
|
+
isComposition: boolean;
|
|
75
|
+
parts: string[];
|
|
76
|
+
connector?: string;
|
|
77
|
+
};
|
|
78
|
+
/**
|
|
79
|
+
* Detect dependency patterns ("after X, do Y")
|
|
80
|
+
*/
|
|
81
|
+
export declare function detectDependencyPattern(searchQuery: string): {
|
|
82
|
+
hasDependencies: boolean;
|
|
83
|
+
sequence: string[];
|
|
84
|
+
connector?: string;
|
|
85
|
+
};
|
|
86
|
+
/**
|
|
87
|
+
* Decompose a query by semantic intent (v10.4.0)
|
|
88
|
+
*
|
|
89
|
+
* Identifies distinct concepts in the query and creates sub-queries
|
|
90
|
+
* for each concept with appropriate intent-based priorities.
|
|
91
|
+
*/
|
|
92
|
+
export declare function decomposeBySemanticIntent(query: ContextQuery, config: RecursiveQueryConfig): DecompositionResult;
|
|
93
|
+
/**
|
|
94
|
+
* Decompose a query by dependency graph (v10.4.0)
|
|
95
|
+
*
|
|
96
|
+
* Identifies prerequisite relationships and creates ordered sub-queries
|
|
97
|
+
* where later queries depend on earlier results.
|
|
98
|
+
*/
|
|
99
|
+
export declare function decomposeByDependencyGraph(query: ContextQuery, config: RecursiveQueryConfig): DecompositionResult;
|
|
100
|
+
/**
|
|
101
|
+
* Decompose a query by composition (v10.4.0)
|
|
102
|
+
*
|
|
103
|
+
* Splits "A and B" style queries into independent sub-queries
|
|
104
|
+
* that can be executed in parallel.
|
|
105
|
+
*/
|
|
106
|
+
export declare function decomposeByComposition(query: ContextQuery, config: RecursiveQueryConfig): DecompositionResult;
|
|
107
|
+
/**
|
|
108
|
+
* Analyze query and suggest best decomposition pattern (v10.4.0)
|
|
109
|
+
*/
|
|
110
|
+
export declare function analyzeDecompositionOptions(query: ContextQuery, config: RecursiveQueryConfig): {
|
|
111
|
+
bestPattern: DecompositionPattern;
|
|
112
|
+
alternatives: AlternativeConsidered[];
|
|
113
|
+
rationale: string;
|
|
114
|
+
};
|
|
63
115
|
/**
|
|
64
116
|
* Get description for a query
|
|
65
117
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decomposer.d.ts","sourceRoot":"","sources":["../../../../src/core/context-repl/recursive/decomposer.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"decomposer.d.ts","sourceRoot":"","sources":["../../../../src/core/context-repl/recursive/decomposer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Query Decomposer -
|
|
2
|
+
* Query Decomposer - v10.4.0
|
|
3
3
|
*
|
|
4
4
|
* Model-driven query decomposition for recursive retrieval.
|
|
5
5
|
* Analyzes queries and splits them into sub-queries based on
|
|
@@ -10,6 +10,9 @@
|
|
|
10
10
|
* - by-hop-level: Split graph traversal by hop distance
|
|
11
11
|
* - by-time-range: Split by recency windows
|
|
12
12
|
* - by-relevance: Split by score thresholds
|
|
13
|
+
* - by-semantic-intent: Split by distinct concepts (v10.4.0)
|
|
14
|
+
* - by-dependency-graph: Split by prerequisite sub-queries (v10.4.0)
|
|
15
|
+
* - by-composition: Split "A and B" style queries (v10.4.0)
|
|
13
16
|
*/
|
|
14
17
|
import { computePartitions } from '../partitioning/index.js';
|
|
15
18
|
// =============================================================================
|
|
@@ -262,19 +265,48 @@ export function decomposeQuery(query, depth, config) {
|
|
|
262
265
|
rationale: reason,
|
|
263
266
|
};
|
|
264
267
|
}
|
|
268
|
+
// Analyze decomposition options to find best pattern (v10.4.0)
|
|
269
|
+
const analysis = analyzeDecompositionOptions(query, config);
|
|
265
270
|
// Apply appropriate decomposition based on query type
|
|
266
271
|
switch (query.type) {
|
|
267
272
|
case 'search': {
|
|
268
|
-
//
|
|
273
|
+
// v10.4.0: Try enhanced patterns first based on analysis
|
|
274
|
+
// Try dependency-graph decomposition (highest quality for sequential tasks)
|
|
275
|
+
if (analysis.bestPattern === 'by-dependency-graph') {
|
|
276
|
+
const depResult = decomposeByDependencyGraph(query, config);
|
|
277
|
+
if (depResult.decomposed) {
|
|
278
|
+
depResult.alternativesConsidered = analysis.alternatives;
|
|
279
|
+
return depResult;
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
// Try composition decomposition (good for "A and B" queries)
|
|
283
|
+
if (analysis.bestPattern === 'by-composition') {
|
|
284
|
+
const compResult = decomposeByComposition(query, config);
|
|
285
|
+
if (compResult.decomposed) {
|
|
286
|
+
compResult.alternativesConsidered = analysis.alternatives;
|
|
287
|
+
return compResult;
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// Try semantic intent decomposition (good for multi-concept queries)
|
|
291
|
+
if (analysis.bestPattern === 'by-semantic-intent') {
|
|
292
|
+
const semanticResult = decomposeBySemanticIntent(query, config);
|
|
293
|
+
if (semanticResult.decomposed) {
|
|
294
|
+
semanticResult.alternativesConsidered = analysis.alternatives;
|
|
295
|
+
return semanticResult;
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// Fall back to category decomposition for broad searches
|
|
269
299
|
if (query.from === 'memories.graph' || !query.from.includes('.decisions') && !query.from.includes('.patterns') && !query.from.includes('.learnings')) {
|
|
270
300
|
const categoryResult = decomposeSearchByCategory(query, config);
|
|
271
301
|
if (categoryResult.decomposed) {
|
|
302
|
+
categoryResult.alternativesConsidered = analysis.alternatives;
|
|
272
303
|
return categoryResult;
|
|
273
304
|
}
|
|
274
305
|
}
|
|
275
306
|
// Fall back to term decomposition for complex queries
|
|
276
307
|
const termResult = decomposeSearchByTerms(query, config);
|
|
277
308
|
if (termResult.decomposed) {
|
|
309
|
+
termResult.alternativesConsidered = analysis.alternatives;
|
|
278
310
|
return termResult;
|
|
279
311
|
}
|
|
280
312
|
break;
|
|
@@ -299,6 +331,7 @@ export function decomposeQuery(query, depth, config) {
|
|
|
299
331
|
subQueries: [],
|
|
300
332
|
synthesisStrategy: 'union',
|
|
301
333
|
rationale: 'No applicable decomposition pattern',
|
|
334
|
+
alternativesConsidered: analysis.alternatives,
|
|
302
335
|
};
|
|
303
336
|
}
|
|
304
337
|
// =============================================================================
|
|
@@ -380,6 +413,362 @@ export function shouldDecomposeByPartition(query, fileCount) {
|
|
|
380
413
|
return true;
|
|
381
414
|
return false;
|
|
382
415
|
}
|
|
416
|
+
// =============================================================================
|
|
417
|
+
// Semantic Intent Decomposition (v10.4.0)
|
|
418
|
+
// =============================================================================
|
|
419
|
+
/**
|
|
420
|
+
* Common semantic keywords and their intent mappings
|
|
421
|
+
*/
|
|
422
|
+
const SEMANTIC_KEYWORDS = {
|
|
423
|
+
// Action intents
|
|
424
|
+
'implement': { type: 'implementation', priority: 8 },
|
|
425
|
+
'create': { type: 'implementation', priority: 8 },
|
|
426
|
+
'add': { type: 'implementation', priority: 7 },
|
|
427
|
+
'build': { type: 'implementation', priority: 7 },
|
|
428
|
+
'fix': { type: 'debugging', priority: 9 },
|
|
429
|
+
'debug': { type: 'debugging', priority: 9 },
|
|
430
|
+
'resolve': { type: 'debugging', priority: 8 },
|
|
431
|
+
'test': { type: 'testing', priority: 8 },
|
|
432
|
+
'verify': { type: 'testing', priority: 7 },
|
|
433
|
+
'validate': { type: 'testing', priority: 7 },
|
|
434
|
+
'review': { type: 'review', priority: 6 },
|
|
435
|
+
'refactor': { type: 'implementation', priority: 7 },
|
|
436
|
+
// Query intents
|
|
437
|
+
'find': { type: 'exploration', priority: 6 },
|
|
438
|
+
'search': { type: 'exploration', priority: 6 },
|
|
439
|
+
'locate': { type: 'exploration', priority: 6 },
|
|
440
|
+
'analyze': { type: 'exploration', priority: 5 },
|
|
441
|
+
'understand': { type: 'exploration', priority: 5 },
|
|
442
|
+
'explore': { type: 'exploration', priority: 5 },
|
|
443
|
+
};
|
|
444
|
+
/**
|
|
445
|
+
* Composition connectors for detecting "A and B" patterns
|
|
446
|
+
*/
|
|
447
|
+
const COMPOSITION_CONNECTORS = ['and', 'then', 'also', 'plus', 'with', 'along with'];
|
|
448
|
+
/**
|
|
449
|
+
* Dependency connectors for detecting prerequisite relationships
|
|
450
|
+
*/
|
|
451
|
+
const DEPENDENCY_CONNECTORS = ['after', 'before', 'then', 'first', 'once', 'when'];
|
|
452
|
+
/**
|
|
453
|
+
* Extract semantic intents from a search query
|
|
454
|
+
*/
|
|
455
|
+
export function extractSemanticIntents(searchQuery) {
|
|
456
|
+
const intents = [];
|
|
457
|
+
const words = searchQuery.toLowerCase().split(/\s+/);
|
|
458
|
+
const concepts = [];
|
|
459
|
+
// Extract keywords and concepts
|
|
460
|
+
for (let i = 0; i < words.length; i++) {
|
|
461
|
+
const word = words[i];
|
|
462
|
+
const semantic = SEMANTIC_KEYWORDS[word];
|
|
463
|
+
if (semantic) {
|
|
464
|
+
// Found a semantic keyword, rest of phrase is the concept
|
|
465
|
+
const conceptWords = words.slice(i + 1).filter(w => !COMPOSITION_CONNECTORS.includes(w) &&
|
|
466
|
+
!DEPENDENCY_CONNECTORS.includes(w) &&
|
|
467
|
+
w.length > 2);
|
|
468
|
+
if (conceptWords.length > 0) {
|
|
469
|
+
intents.push({
|
|
470
|
+
type: semantic.type,
|
|
471
|
+
concept: conceptWords.slice(0, 3).join(' '),
|
|
472
|
+
relatedConcepts: conceptWords.slice(3),
|
|
473
|
+
confidence: semantic.priority / 10,
|
|
474
|
+
});
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
else if (word.length > 3 && !COMPOSITION_CONNECTORS.includes(word)) {
|
|
478
|
+
concepts.push(word);
|
|
479
|
+
}
|
|
480
|
+
}
|
|
481
|
+
// If no explicit intents found, create exploration intent from concepts
|
|
482
|
+
if (intents.length === 0 && concepts.length > 0) {
|
|
483
|
+
intents.push({
|
|
484
|
+
type: 'exploration',
|
|
485
|
+
concept: concepts[0],
|
|
486
|
+
relatedConcepts: concepts.slice(1),
|
|
487
|
+
confidence: 0.5,
|
|
488
|
+
});
|
|
489
|
+
}
|
|
490
|
+
return intents;
|
|
491
|
+
}
|
|
492
|
+
/**
|
|
493
|
+
* Detect composition patterns ("A and B")
|
|
494
|
+
*/
|
|
495
|
+
export function detectCompositionPattern(searchQuery) {
|
|
496
|
+
const lowerQuery = searchQuery.toLowerCase();
|
|
497
|
+
for (const connector of COMPOSITION_CONNECTORS) {
|
|
498
|
+
// Look for connector with spaces around it
|
|
499
|
+
const pattern = new RegExp(`\\s+${connector}\\s+`, 'i');
|
|
500
|
+
if (pattern.test(lowerQuery)) {
|
|
501
|
+
const parts = searchQuery.split(pattern).map(p => p.trim()).filter(p => p.length > 0);
|
|
502
|
+
if (parts.length >= 2) {
|
|
503
|
+
return { isComposition: true, parts, connector };
|
|
504
|
+
}
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
return { isComposition: false, parts: [searchQuery] };
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Detect dependency patterns ("after X, do Y")
|
|
511
|
+
*/
|
|
512
|
+
export function detectDependencyPattern(searchQuery) {
|
|
513
|
+
const lowerQuery = searchQuery.toLowerCase();
|
|
514
|
+
for (const connector of DEPENDENCY_CONNECTORS) {
|
|
515
|
+
const pattern = new RegExp(`\\s+${connector}\\s+`, 'i');
|
|
516
|
+
if (pattern.test(lowerQuery)) {
|
|
517
|
+
const parts = searchQuery.split(pattern).map(p => p.trim()).filter(p => p.length > 0);
|
|
518
|
+
if (parts.length >= 2) {
|
|
519
|
+
// Determine order based on connector
|
|
520
|
+
const sequence = connector === 'before' ? parts.reverse() : parts;
|
|
521
|
+
return { hasDependencies: true, sequence, connector };
|
|
522
|
+
}
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
return { hasDependencies: false, sequence: [searchQuery] };
|
|
526
|
+
}
|
|
527
|
+
/**
|
|
528
|
+
* Decompose a query by semantic intent (v10.4.0)
|
|
529
|
+
*
|
|
530
|
+
* Identifies distinct concepts in the query and creates sub-queries
|
|
531
|
+
* for each concept with appropriate intent-based priorities.
|
|
532
|
+
*/
|
|
533
|
+
export function decomposeBySemanticIntent(query, config) {
|
|
534
|
+
if (query.type !== 'search' || !query.search) {
|
|
535
|
+
return {
|
|
536
|
+
decomposed: false,
|
|
537
|
+
pattern: 'none',
|
|
538
|
+
subQueries: [],
|
|
539
|
+
synthesisStrategy: 'union',
|
|
540
|
+
rationale: 'Not a search query',
|
|
541
|
+
};
|
|
542
|
+
}
|
|
543
|
+
const searchText = query.search.query;
|
|
544
|
+
const intents = extractSemanticIntents(searchText);
|
|
545
|
+
if (intents.length < 2) {
|
|
546
|
+
return {
|
|
547
|
+
decomposed: false,
|
|
548
|
+
pattern: 'none',
|
|
549
|
+
subQueries: [],
|
|
550
|
+
synthesisStrategy: 'union',
|
|
551
|
+
rationale: 'Only one semantic intent detected',
|
|
552
|
+
semanticIntents: intents,
|
|
553
|
+
};
|
|
554
|
+
}
|
|
555
|
+
const subQueries = [];
|
|
556
|
+
for (let i = 0; i < Math.min(intents.length, config.maxSubQueries); i++) {
|
|
557
|
+
const intent = intents[i];
|
|
558
|
+
const searchTerms = [intent.concept, ...intent.relatedConcepts.slice(0, 2)].join(' ');
|
|
559
|
+
subQueries.push({
|
|
560
|
+
id: generateSubQueryId(),
|
|
561
|
+
query: {
|
|
562
|
+
...query,
|
|
563
|
+
search: {
|
|
564
|
+
...query.search,
|
|
565
|
+
query: searchTerms,
|
|
566
|
+
},
|
|
567
|
+
},
|
|
568
|
+
description: `${intent.type}:${intent.concept}`,
|
|
569
|
+
priority: Math.ceil(intent.confidence * 10),
|
|
570
|
+
expectedContribution: intent.confidence,
|
|
571
|
+
dependencies: [],
|
|
572
|
+
});
|
|
573
|
+
}
|
|
574
|
+
return {
|
|
575
|
+
decomposed: subQueries.length > 1,
|
|
576
|
+
pattern: 'by-semantic-intent',
|
|
577
|
+
subQueries,
|
|
578
|
+
synthesisStrategy: 'merge',
|
|
579
|
+
rationale: `Split query into ${intents.length} semantic intents: ${intents.map(i => i.concept).join(', ')}`,
|
|
580
|
+
semanticIntents: intents,
|
|
581
|
+
};
|
|
582
|
+
}
|
|
583
|
+
/**
|
|
584
|
+
* Decompose a query by dependency graph (v10.4.0)
|
|
585
|
+
*
|
|
586
|
+
* Identifies prerequisite relationships and creates ordered sub-queries
|
|
587
|
+
* where later queries depend on earlier results.
|
|
588
|
+
*/
|
|
589
|
+
export function decomposeByDependencyGraph(query, config) {
|
|
590
|
+
if (query.type !== 'search' || !query.search) {
|
|
591
|
+
return {
|
|
592
|
+
decomposed: false,
|
|
593
|
+
pattern: 'none',
|
|
594
|
+
subQueries: [],
|
|
595
|
+
synthesisStrategy: 'union',
|
|
596
|
+
rationale: 'Not a search query',
|
|
597
|
+
};
|
|
598
|
+
}
|
|
599
|
+
const searchText = query.search.query;
|
|
600
|
+
const { hasDependencies, sequence, connector } = detectDependencyPattern(searchText);
|
|
601
|
+
if (!hasDependencies || sequence.length < 2) {
|
|
602
|
+
return {
|
|
603
|
+
decomposed: false,
|
|
604
|
+
pattern: 'none',
|
|
605
|
+
subQueries: [],
|
|
606
|
+
synthesisStrategy: 'union',
|
|
607
|
+
rationale: 'No dependency pattern detected',
|
|
608
|
+
};
|
|
609
|
+
}
|
|
610
|
+
const subQueries = [];
|
|
611
|
+
const dependencies = [];
|
|
612
|
+
for (let i = 0; i < Math.min(sequence.length, config.maxSubQueries); i++) {
|
|
613
|
+
const part = sequence[i];
|
|
614
|
+
const subQueryId = generateSubQueryId();
|
|
615
|
+
subQueries.push({
|
|
616
|
+
id: subQueryId,
|
|
617
|
+
query: {
|
|
618
|
+
...query,
|
|
619
|
+
search: {
|
|
620
|
+
...query.search,
|
|
621
|
+
query: part,
|
|
622
|
+
},
|
|
623
|
+
},
|
|
624
|
+
description: `step-${i + 1}: ${part.slice(0, 30)}...`,
|
|
625
|
+
priority: 10 - i, // Earlier steps have higher priority
|
|
626
|
+
expectedContribution: 1 / sequence.length,
|
|
627
|
+
dependencies: i > 0 ? [subQueries[i - 1].id] : [],
|
|
628
|
+
});
|
|
629
|
+
// Record dependency
|
|
630
|
+
if (i > 0) {
|
|
631
|
+
dependencies.push({
|
|
632
|
+
dependentId: subQueryId,
|
|
633
|
+
prerequisiteId: subQueries[i - 1].id,
|
|
634
|
+
type: 'context',
|
|
635
|
+
});
|
|
636
|
+
}
|
|
637
|
+
}
|
|
638
|
+
return {
|
|
639
|
+
decomposed: subQueries.length > 1,
|
|
640
|
+
pattern: 'by-dependency-graph',
|
|
641
|
+
subQueries,
|
|
642
|
+
synthesisStrategy: 'chain',
|
|
643
|
+
rationale: `Split query into ${sequence.length} sequential steps using "${connector}"`,
|
|
644
|
+
dependencies,
|
|
645
|
+
};
|
|
646
|
+
}
|
|
647
|
+
/**
|
|
648
|
+
* Decompose a query by composition (v10.4.0)
|
|
649
|
+
*
|
|
650
|
+
* Splits "A and B" style queries into independent sub-queries
|
|
651
|
+
* that can be executed in parallel.
|
|
652
|
+
*/
|
|
653
|
+
export function decomposeByComposition(query, config) {
|
|
654
|
+
if (query.type !== 'search' || !query.search) {
|
|
655
|
+
return {
|
|
656
|
+
decomposed: false,
|
|
657
|
+
pattern: 'none',
|
|
658
|
+
subQueries: [],
|
|
659
|
+
synthesisStrategy: 'union',
|
|
660
|
+
rationale: 'Not a search query',
|
|
661
|
+
};
|
|
662
|
+
}
|
|
663
|
+
const searchText = query.search.query;
|
|
664
|
+
const { isComposition, parts, connector } = detectCompositionPattern(searchText);
|
|
665
|
+
if (!isComposition || parts.length < 2) {
|
|
666
|
+
return {
|
|
667
|
+
decomposed: false,
|
|
668
|
+
pattern: 'none',
|
|
669
|
+
subQueries: [],
|
|
670
|
+
synthesisStrategy: 'union',
|
|
671
|
+
rationale: 'No composition pattern detected',
|
|
672
|
+
};
|
|
673
|
+
}
|
|
674
|
+
const subQueries = [];
|
|
675
|
+
for (let i = 0; i < Math.min(parts.length, config.maxSubQueries); i++) {
|
|
676
|
+
const part = parts[i];
|
|
677
|
+
subQueries.push({
|
|
678
|
+
id: generateSubQueryId(),
|
|
679
|
+
query: {
|
|
680
|
+
...query,
|
|
681
|
+
search: {
|
|
682
|
+
...query.search,
|
|
683
|
+
query: part,
|
|
684
|
+
},
|
|
685
|
+
},
|
|
686
|
+
description: `part-${i + 1}: ${part.slice(0, 30)}`,
|
|
687
|
+
priority: 8 - i, // Slightly decrease priority for later parts
|
|
688
|
+
expectedContribution: 1 / parts.length,
|
|
689
|
+
dependencies: [], // Composition parts are independent
|
|
690
|
+
});
|
|
691
|
+
}
|
|
692
|
+
return {
|
|
693
|
+
decomposed: subQueries.length > 1,
|
|
694
|
+
pattern: 'by-composition',
|
|
695
|
+
subQueries,
|
|
696
|
+
synthesisStrategy: 'union',
|
|
697
|
+
rationale: `Split compound query into ${parts.length} parts using "${connector}"`,
|
|
698
|
+
};
|
|
699
|
+
}
|
|
700
|
+
/**
|
|
701
|
+
* Analyze query and suggest best decomposition pattern (v10.4.0)
|
|
702
|
+
*/
|
|
703
|
+
export function analyzeDecompositionOptions(query, config) {
|
|
704
|
+
const alternatives = [];
|
|
705
|
+
if (query.type !== 'search' || !query.search) {
|
|
706
|
+
return {
|
|
707
|
+
bestPattern: 'none',
|
|
708
|
+
alternatives: [],
|
|
709
|
+
rationale: 'Non-search queries use default decomposition',
|
|
710
|
+
};
|
|
711
|
+
}
|
|
712
|
+
const searchText = query.search.query;
|
|
713
|
+
// Check composition pattern
|
|
714
|
+
const { isComposition, parts: compParts } = detectCompositionPattern(searchText);
|
|
715
|
+
if (isComposition && compParts.length >= 2) {
|
|
716
|
+
alternatives.push({
|
|
717
|
+
pattern: 'by-composition',
|
|
718
|
+
reason: `Detected ${compParts.length} independent parts`,
|
|
719
|
+
expectedQuality: 0.7,
|
|
720
|
+
});
|
|
721
|
+
}
|
|
722
|
+
// Check dependency pattern
|
|
723
|
+
const { hasDependencies, sequence } = detectDependencyPattern(searchText);
|
|
724
|
+
if (hasDependencies && sequence.length >= 2) {
|
|
725
|
+
alternatives.push({
|
|
726
|
+
pattern: 'by-dependency-graph',
|
|
727
|
+
reason: `Detected ${sequence.length} sequential steps`,
|
|
728
|
+
expectedQuality: 0.75,
|
|
729
|
+
});
|
|
730
|
+
}
|
|
731
|
+
// Check semantic intent
|
|
732
|
+
const intents = extractSemanticIntents(searchText);
|
|
733
|
+
if (intents.length >= 2) {
|
|
734
|
+
alternatives.push({
|
|
735
|
+
pattern: 'by-semantic-intent',
|
|
736
|
+
reason: `Detected ${intents.length} distinct concepts`,
|
|
737
|
+
expectedQuality: 0.65,
|
|
738
|
+
});
|
|
739
|
+
}
|
|
740
|
+
// Check category decomposition
|
|
741
|
+
if (query.from === 'memories.graph' || !query.from.includes('.')) {
|
|
742
|
+
alternatives.push({
|
|
743
|
+
pattern: 'by-category',
|
|
744
|
+
reason: 'Broad search can be split by memory category',
|
|
745
|
+
expectedQuality: 0.6,
|
|
746
|
+
});
|
|
747
|
+
}
|
|
748
|
+
// Check term decomposition
|
|
749
|
+
const terms = searchText.split(/\s+/).filter(t => t.length > 3);
|
|
750
|
+
if (terms.length >= 2) {
|
|
751
|
+
alternatives.push({
|
|
752
|
+
pattern: 'by-relevance',
|
|
753
|
+
reason: `Query has ${terms.length} meaningful terms`,
|
|
754
|
+
expectedQuality: 0.55,
|
|
755
|
+
});
|
|
756
|
+
}
|
|
757
|
+
// Sort by expected quality
|
|
758
|
+
alternatives.sort((a, b) => (b.expectedQuality || 0) - (a.expectedQuality || 0));
|
|
759
|
+
const bestPattern = alternatives.length > 0 ? alternatives[0].pattern : 'none';
|
|
760
|
+
const rationale = alternatives.length > 0
|
|
761
|
+
? `Selected ${bestPattern}: ${alternatives[0].reason}`
|
|
762
|
+
: 'No decomposition patterns applicable';
|
|
763
|
+
return {
|
|
764
|
+
bestPattern,
|
|
765
|
+
alternatives: alternatives.slice(1), // Exclude best pattern from alternatives
|
|
766
|
+
rationale,
|
|
767
|
+
};
|
|
768
|
+
}
|
|
769
|
+
// =============================================================================
|
|
770
|
+
// Query Description
|
|
771
|
+
// =============================================================================
|
|
383
772
|
/**
|
|
384
773
|
* Get description for a query
|
|
385
774
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decomposer.js","sourceRoot":"","sources":["../../../../src/core/context-repl/recursive/decomposer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"decomposer.js","sourceRoot":"","sources":["../../../../src/core/context-repl/recursive/decomposer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAcH,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D,gFAAgF;AAChF,wBAAwB;AACxB,gFAAgF;AAEhF,IAAI,eAAe,GAAG,CAAC,CAAC;AAExB;;GAEG;AACH,SAAS,kBAAkB;IACzB,eAAe,EAAE,CAAC;IAClB,OAAO,MAAM,eAAe,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB;IAClC,eAAe,GAAG,CAAC,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,MAAM,iBAAiB,GAAkE;IACvF,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC5D,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC9D,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;CAC/D,CAAC;AAEF,gFAAgF;AAChF,yBAAyB;AACzB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,KAAmB,EACnB,KAAa,EACb,MAA4B;IAE5B,mCAAmC;IACnC,IAAI,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;IACjE,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC5B,sEAAsE;QACtE,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YAC3L,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,iCAAiC,EAAE,CAAC;QAC9E,CAAC;QAED,wDAAwD;QACxD,IAAI,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACvE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;QACnE,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAC9B,yDAAyD;QACzD,IAAI,KAAK,CAAC,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;QAClE,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,yCAAyC;QACzC,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,yBAAyB,EAAE,CAAC;IACvE,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;AAC5D,CAAC;AAED,gFAAgF;AAChF,6BAA6B;AAC7B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAmB,EACnB,MAA4B;IAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,oBAAoB;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,KAAK,MAAM,QAAQ,IAAI,iBAAiB,EAAE,CAAC;QACzC,IAAI,UAAU,CAAC,MAAM,IAAI,MAAM,CAAC,aAAa;YAAE,MAAM;QAErD,MAAM,QAAQ,GAAa;YACzB,EAAE,EAAE,kBAAkB,EAAE;YACxB,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,IAAI,EAAE,QAAQ,CAAC,IAAI;aACpB;YACD,WAAW,EAAE,GAAG,QAAQ,CAAC,IAAI,YAAY,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;YAC9D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,oBAAoB,EAAE,QAAQ,CAAC,QAAQ,GAAG,EAAE;YAC5C,YAAY,EAAE,EAAE;SACjB,CAAC;QAEF,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;QACjC,OAAO,EAAE,aAAa;QACtB,UAAU;QACV,iBAAiB,EAAE,OAAO;QAC1B,SAAS,EAAE,uBAAuB,UAAU,CAAC,MAAM,8CAA8C;KAClG,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,MAA4B;IAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,oBAAoB;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEpD,sDAAsD;IACtD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,6CAA6C;SACzD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,0DAA0D;IAC1D,UAAU,CAAC,IAAI,CAAC;QACd,EAAE,EAAE,kBAAkB,EAAE;QACxB,KAAK,EAAE,EAAE,GAAG,KAAK,EAAE;QACnB,WAAW,EAAE,WAAW,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG;QAC7C,QAAQ,EAAE,EAAE;QACZ,oBAAoB,EAAE,GAAG;QACzB,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,2DAA2D;IAC3D,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC9D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACpF,MAAM,IAAI,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC;YACd,EAAE,EAAE,kBAAkB,EAAE;YACxB,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,KAAK,EAAE,IAAI;iBACZ;aACF;YACD,WAAW,EAAE,WAAW,IAAI,GAAG;YAC/B,QAAQ,EAAE,CAAC,GAAG,CAAC;YACf,oBAAoB,EAAE,GAAG;YACzB,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;QACjC,OAAO,EAAE,cAAc;QACvB,UAAU;QACV,iBAAiB,EAAE,OAAO;QAC1B,SAAS,EAAE,oCAAoC,UAAU,CAAC,MAAM,GAAG,CAAC,yBAAyB;KAC9F,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,+BAA+B;AAC/B,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,MAA4B;IAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACjD,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,sBAAsB;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;IAE5C,oCAAoC;IACpC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACjB,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,sCAAsC;SAClD,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,qEAAqE;IACrE,UAAU,CAAC,IAAI,CAAC;QACd,EAAE,EAAE,kBAAkB,EAAE;QACxB,KAAK,EAAE;YACL,GAAG,KAAK;YACR,QAAQ,EAAE;gBACR,GAAG,KAAK,CAAC,QAAQ;gBACjB,OAAO,EAAE,CAAC;aACX;SACF;QACD,WAAW,EAAE,uBAAuB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE;QACjE,QAAQ,EAAE,CAAC;QACX,oBAAoB,EAAE,GAAG;QACzB,YAAY,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,qEAAqE;IACrE,UAAU,CAAC,IAAI,CAAC;QACd,EAAE,EAAE,kBAAkB,EAAE;QACxB,KAAK,EAAE;YACL,GAAG,KAAK;YACR,QAAQ,EAAE;gBACR,GAAG,KAAK,CAAC,QAAQ;gBACjB,OAAO,EAAE,CAAC;aACX;SACF;QACD,WAAW,EAAE,uBAAuB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,EAAE;QACjE,QAAQ,EAAE,CAAC;QACX,oBAAoB,EAAE,GAAG;QACzB,YAAY,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,2BAA2B;KAC9D,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,cAAc;QACvB,UAAU;QACV,iBAAiB,EAAE,OAAO;QAC1B,SAAS,EAAE,6DAA6D;KACzE,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,KAAmB,EACnB,KAAa,EACb,MAA4B;IAE5B,+BAA+B;IAC/B,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC;IAEvF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,MAAM;SAClB,CAAC;IACJ,CAAC;IAED,+DAA+D;IAC/D,MAAM,QAAQ,GAAG,2BAA2B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAE5D,sDAAsD;IACtD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,yDAAyD;YAEzD,4EAA4E;YAC5E,IAAI,QAAQ,CAAC,WAAW,KAAK,qBAAqB,EAAE,CAAC;gBACnD,MAAM,SAAS,GAAG,0BAA0B,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAC5D,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;oBACzB,SAAS,CAAC,sBAAsB,GAAG,QAAQ,CAAC,YAAY,CAAC;oBACzD,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,IAAI,QAAQ,CAAC,WAAW,KAAK,gBAAgB,EAAE,CAAC;gBAC9C,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBACzD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC1B,UAAU,CAAC,sBAAsB,GAAG,QAAQ,CAAC,YAAY,CAAC;oBAC1D,OAAO,UAAU,CAAC;gBACpB,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,IAAI,QAAQ,CAAC,WAAW,KAAK,oBAAoB,EAAE,CAAC;gBAClD,MAAM,cAAc,GAAG,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAChE,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;oBAC9B,cAAc,CAAC,sBAAsB,GAAG,QAAQ,CAAC,YAAY,CAAC;oBAC9D,OAAO,cAAc,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,yDAAyD;YACzD,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBACrJ,MAAM,cAAc,GAAG,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;gBAChE,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;oBAC9B,cAAc,CAAC,sBAAsB,GAAG,QAAQ,CAAC,YAAY,CAAC;oBAC9D,OAAO,cAAc,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,sDAAsD;YACtD,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACzD,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;gBAC1B,UAAU,CAAC,sBAAsB,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAC1D,OAAO,UAAU,CAAC;YACpB,CAAC;YAED,MAAM;QACR,CAAC;QAED,KAAK,UAAU,CAAC,CAAC,CAAC;YAChB,MAAM,SAAS,GAAG,sBAAsB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACxD,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW,CAAC;QACjB,KAAK,SAAS;YACZ,qDAAqD;YACrD,MAAM;IACV,CAAC;IAED,2BAA2B;IAC3B,OAAO;QACL,UAAU,EAAE,KAAK;QACjB,OAAO,EAAE,MAAM;QACf,UAAU,EAAE,EAAE;QACd,iBAAiB,EAAE,OAAO;QAC1B,SAAS,EAAE,qCAAqC;QAChD,sBAAsB,EAAE,QAAQ,CAAC,YAAY;KAC9C,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,yCAAyC;AACzC,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,KAAmB,EACnB,iBAAoC,EACpC,UAAoB,EACpB,MAA4B;IAE5B,qBAAqB;IACrB,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,EAAE,UAAU,EAAE;QAC7E,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAC,CAAC;IAEH,IAAI,CAAC,eAAe,CAAC,OAAO,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxE,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,eAAe,CAAC,KAAK,IAAI,yBAAyB;SAC9D,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,MAAM,UAAU,GAAe,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QAC1E,OAAO,0BAA0B,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;QACjC,OAAO,EAAE,cAAc;QACvB,UAAU;QACV,iBAAiB,EAAE,OAAO;QAC1B,SAAS,EAAE,sBAAsB,UAAU,CAAC,MAAM,IAAI,iBAAiB,aAAa;KACrF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,SAAS,0BAA0B,CACjC,KAAmB,EACnB,SAAoB;IAEpB,kCAAkC;IAClC,4DAA4D;IAC5D,MAAM,WAAW,GAAiB;QAChC,GAAG,KAAK;QACR,8CAA8C;QAC9C,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5C,MAAM,EAAE;gBACN,GAAG,KAAK,CAAC,MAAM;gBACf,oDAAoD;gBACpD,oDAAoD;aACrD;SACF,CAAC,CAAC,CAAC,EAAE,CAAC;KACR,CAAC;IAEF,OAAO;QACL,EAAE,EAAE,kBAAkB,EAAE;QACxB,KAAK,EAAE,WAAW;QAClB,WAAW,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,SAAS;QACxF,QAAQ,EAAE,SAAS,CAAC,QAAQ;QAC5B,oBAAoB,EAAE,SAAS,CAAC,QAAQ,GAAG,EAAE;QAC7C,YAAY,EAAE,EAAE;KACjB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAmB,EACnB,SAAiB;IAEjB,gEAAgE;IAChE,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IAEjC,iCAAiC;IACjC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAEzC,sDAAsD;IACtD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,SAAS,GAAG,EAAE;QAAE,OAAO,IAAI,CAAC;IAE3D,OAAO,KAAK,CAAC;AACf,CAAC;AAED,gFAAgF;AAChF,0CAA0C;AAC1C,gFAAgF;AAEhF;;GAEG;AACH,MAAM,iBAAiB,GAAuD;IAC5E,iBAAiB;IACjB,WAAW,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE;IACpD,QAAQ,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE;IACjD,KAAK,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC9C,OAAO,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE;IAChD,KAAK,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IACzC,OAAO,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC3C,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC7C,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE;IACxC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC1C,UAAU,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,EAAE;IACzC,UAAU,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,EAAE;IACnD,gBAAgB;IAChB,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC5C,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE;IAC/C,YAAY,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE;IAClD,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE;CAChD,CAAC;AAEF;;GAEG;AACH,MAAM,sBAAsB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;AAErF;;GAEG;AACH,MAAM,qBAAqB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAEnF;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,WAAmB;IACxD,MAAM,OAAO,GAAqB,EAAE,CAAC;IACrC,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,gCAAgC;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,QAAQ,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAEzC,IAAI,QAAQ,EAAE,CAAC;YACb,0DAA0D;YAC1D,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACjD,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAClC,CAAC,CAAC,MAAM,GAAG,CAAC,CACb,CAAC;YAEF,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,CAAC,IAAI,CAAC;oBACX,IAAI,EAAE,QAAQ,CAAC,IAAI;oBACnB,OAAO,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;oBAC3C,eAAe,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;oBACtC,UAAU,EAAE,QAAQ,CAAC,QAAQ,GAAG,EAAE;iBACnC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YACrE,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,wEAAwE;IACxE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChD,OAAO,CAAC,IAAI,CAAC;YACX,IAAI,EAAE,aAAa;YACnB,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpB,eAAe,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;YAClC,UAAU,EAAE,GAAG;SAChB,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CAAC,WAAmB;IAK1D,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE7C,KAAK,MAAM,SAAS,IAAI,sBAAsB,EAAE,CAAC;QAC/C,2CAA2C;QAC3C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CAAC,WAAmB;IAKzD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE7C,KAAK,MAAM,SAAS,IAAI,qBAAqB,EAAE,CAAC;QAC9C,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,SAAS,MAAM,EAAE,GAAG,CAAC,CAAC;QACxD,IAAI,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACtF,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACtB,qCAAqC;gBACrC,MAAM,QAAQ,GAAG,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBAClE,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;YACxD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CACvC,KAAmB,EACnB,MAA4B;IAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,oBAAoB;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IAEnD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,mCAAmC;YAC9C,eAAe,EAAE,OAAO;SACzB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1B,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAEtF,UAAU,CAAC,IAAI,CAAC;YACd,EAAE,EAAE,kBAAkB,EAAE;YACxB,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,KAAK,EAAE,WAAW;iBACnB;aACF;YACD,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE;YAC/C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;YAC3C,oBAAoB,EAAE,MAAM,CAAC,UAAU;YACvC,YAAY,EAAE,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;QACjC,OAAO,EAAE,oBAAoB;QAC7B,UAAU;QACV,iBAAiB,EAAE,OAAO;QAC1B,SAAS,EAAE,oBAAoB,OAAO,CAAC,MAAM,sBAAsB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC3G,eAAe,EAAE,OAAO;KACzB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAmB,EACnB,MAA4B;IAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,oBAAoB;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAErF,IAAI,CAAC,eAAe,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5C,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,gCAAgC;SAC5C,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAe,EAAE,CAAC;IAClC,MAAM,YAAY,GAAyB,EAAE,CAAC;IAE9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzE,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC;QAExC,UAAU,CAAC,IAAI,CAAC;YACd,EAAE,EAAE,UAAU;YACd,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,KAAK,EAAE,IAAI;iBACZ;aACF;YACD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK;YACrD,QAAQ,EAAE,EAAE,GAAG,CAAC,EAAE,qCAAqC;YACvD,oBAAoB,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM;YACzC,YAAY,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE;SAClD,CAAC,CAAC;QAEH,oBAAoB;QACpB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACV,YAAY,CAAC,IAAI,CAAC;gBAChB,WAAW,EAAE,UAAU;gBACvB,cAAc,EAAE,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACpC,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;QACjC,OAAO,EAAE,qBAAqB;QAC9B,UAAU;QACV,iBAAiB,EAAE,OAAO;QAC1B,SAAS,EAAE,oBAAoB,QAAQ,CAAC,MAAM,4BAA4B,SAAS,GAAG;QACtF,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,KAAmB,EACnB,MAA4B;IAE5B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,oBAAoB;SAChC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IACtC,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IAEjF,IAAI,CAAC,aAAa,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO;YACL,UAAU,EAAE,KAAK;YACjB,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,EAAE;YACd,iBAAiB,EAAE,OAAO;YAC1B,SAAS,EAAE,iCAAiC;SAC7C,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAe,EAAE,CAAC;IAElC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACtE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAEtB,UAAU,CAAC,IAAI,CAAC;YACd,EAAE,EAAE,kBAAkB,EAAE;YACxB,KAAK,EAAE;gBACL,GAAG,KAAK;gBACR,MAAM,EAAE;oBACN,GAAG,KAAK,CAAC,MAAM;oBACf,KAAK,EAAE,IAAI;iBACZ;aACF;YACD,WAAW,EAAE,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE;YAClD,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,6CAA6C;YAC9D,oBAAoB,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM;YACtC,YAAY,EAAE,EAAE,EAAE,oCAAoC;SACvD,CAAC,CAAC;IACL,CAAC;IAED,OAAO;QACL,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC;QACjC,OAAO,EAAE,gBAAgB;QACzB,UAAU;QACV,iBAAiB,EAAE,OAAO;QAC1B,SAAS,EAAE,6BAA6B,KAAK,CAAC,MAAM,iBAAiB,SAAS,GAAG;KAClF,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAmB,EACnB,MAA4B;IAM5B,MAAM,YAAY,GAA4B,EAAE,CAAC;IAEjD,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAC7C,OAAO;YACL,WAAW,EAAE,MAAM;YACnB,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,8CAA8C;SAC1D,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC;IAEtC,4BAA4B;IAC5B,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;IACjF,IAAI,aAAa,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC3C,YAAY,CAAC,IAAI,CAAC;YAChB,OAAO,EAAE,gBAAgB;YACzB,MAAM,EAAE,YAAY,SAAS,CAAC,MAAM,oBAAoB;YACxD,eAAe,EAAE,GAAG;SACrB,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,MAAM,EAAE,eAAe,EAAE,QAAQ,EAAE,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IAC1E,IAAI,eAAe,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QAC5C,YAAY,CAAC,IAAI,CAAC;YAChB,OAAO,EAAE,qBAAqB;YAC9B,MAAM,EAAE,YAAY,QAAQ,CAAC,MAAM,mBAAmB;YACtD,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IAED,wBAAwB;IACxB,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;IACnD,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACxB,YAAY,CAAC,IAAI,CAAC;YAChB,OAAO,EAAE,oBAAoB;YAC7B,MAAM,EAAE,YAAY,OAAO,CAAC,MAAM,oBAAoB;YACtD,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IAED,+BAA+B;IAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACjE,YAAY,CAAC,IAAI,CAAC;YAChB,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,8CAA8C;YACtD,eAAe,EAAE,GAAG;SACrB,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChE,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACtB,YAAY,CAAC,IAAI,CAAC;YAChB,OAAO,EAAE,cAAc;YACvB,MAAM,EAAE,aAAa,KAAK,CAAC,MAAM,mBAAmB;YACpD,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;IACL,CAAC;IAED,2BAA2B;IAC3B,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,eAAe,IAAI,CAAC,CAAC,CAAC,CAAC;IAEjF,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC/E,MAAM,SAAS,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC;QACvC,CAAC,CAAC,YAAY,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE;QACtD,CAAC,CAAC,sCAAsC,CAAC;IAE3C,OAAO;QACL,WAAW;QACX,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,yCAAyC;QAC9E,SAAS;KACV,CAAC;AACJ,CAAC;AAED,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAmB;IACrD,QAAQ,KAAK,CAAC,IAAI,EAAE,CAAC;QACnB,KAAK,QAAQ;YACX,OAAO,UAAU,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,MAAM,EAAE,KAAK,IAAI,EAAE,GAAG,CAAC;QAE/D,KAAK,QAAQ;YACX,OAAO,eAAe,KAAK,CAAC,IAAI,EAAE,CAAC;QAErC,KAAK,WAAW;YACd,OAAO,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,WAAW,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QAElE,KAAK,UAAU;YACb,OAAO,iBAAiB,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,IAAI,SAAS,EAAE,CAAC;QAEvE,KAAK,SAAS;YACZ,OAAO,WAAW,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC,UAAU,CAAC;QAElE;YACE,OAAO,GAAG,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IAC5C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAsB,EACtB,WAAyB;IAEzB,IAAI,QAAQ,GAAG,CAAC,CAAC,CAAC,gBAAgB;IAElC,sCAAsC;IACtC,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;QACvC,QAAQ,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,2BAA2B;IAC3B,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,CAAC,IAAI,EAAE,CAAC;QACvC,QAAQ,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,2BAA2B;IAC3B,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC/B,QAAQ,IAAI,CAAC,CAAC;IAChB,CAAC;IAED,YAAY;IACZ,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AAChC,CAAC"}
|