leangraph 1.1.1 → 1.1.3

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.
Files changed (40) hide show
  1. package/dist/db.d.ts.map +1 -1
  2. package/dist/db.js +42 -3
  3. package/dist/db.js.map +1 -1
  4. package/dist/engine/hybrid-executor.d.ts +118 -0
  5. package/dist/engine/hybrid-executor.d.ts.map +1 -0
  6. package/dist/engine/hybrid-executor.js +205 -0
  7. package/dist/engine/hybrid-executor.js.map +1 -0
  8. package/dist/engine/index.d.ts +36 -0
  9. package/dist/engine/index.d.ts.map +1 -0
  10. package/dist/engine/index.js +34 -0
  11. package/dist/engine/index.js.map +1 -0
  12. package/dist/engine/memory-graph.d.ts +68 -0
  13. package/dist/engine/memory-graph.d.ts.map +1 -0
  14. package/dist/engine/memory-graph.js +176 -0
  15. package/dist/engine/memory-graph.js.map +1 -0
  16. package/dist/engine/query-planner.d.ts +62 -0
  17. package/dist/engine/query-planner.d.ts.map +1 -0
  18. package/dist/engine/query-planner.js +481 -0
  19. package/dist/engine/query-planner.js.map +1 -0
  20. package/dist/engine/subgraph-loader.d.ts +41 -0
  21. package/dist/engine/subgraph-loader.d.ts.map +1 -0
  22. package/dist/engine/subgraph-loader.js +172 -0
  23. package/dist/engine/subgraph-loader.js.map +1 -0
  24. package/dist/executor.d.ts +17 -0
  25. package/dist/executor.d.ts.map +1 -1
  26. package/dist/executor.js +286 -100
  27. package/dist/executor.js.map +1 -1
  28. package/dist/index.d.ts +2 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +2 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/parser.d.ts +47 -3
  33. package/dist/parser.d.ts.map +1 -1
  34. package/dist/parser.js +228 -41
  35. package/dist/parser.js.map +1 -1
  36. package/dist/translator.d.ts +53 -0
  37. package/dist/translator.d.ts.map +1 -1
  38. package/dist/translator.js +1548 -183
  39. package/dist/translator.js.map +1 -1
  40. package/package.json +9 -3
@@ -0,0 +1,172 @@
1
+ /**
2
+ * Subgraph Loader - loads bounded subgraphs from SQLite into memory.
3
+ * Uses indexed SQL queries for anchor node discovery and bounded
4
+ * recursive CTEs for subgraph extraction.
5
+ */
6
+ import { MemoryGraph } from "./memory-graph.js";
7
+ // SQLite default limit is 999 variables per query
8
+ // Use a conservative batch size to leave room for other params
9
+ const SQL_VARIABLE_BATCH_SIZE = 400;
10
+ export class SubgraphLoader {
11
+ db;
12
+ constructor(db) {
13
+ this.db = db;
14
+ }
15
+ /**
16
+ * Find anchor nodes by label and optional property filters.
17
+ * Uses indexed queries for efficient lookup.
18
+ */
19
+ findAnchors(label, propertyFilters) {
20
+ // Build query with label filter (uses idx_nodes_primary_label index)
21
+ let sql = `SELECT id FROM nodes WHERE json_extract(label, '$[0]') = ?`;
22
+ const params = [label];
23
+ // Add property filters
24
+ if (propertyFilters) {
25
+ for (const [key, value] of Object.entries(propertyFilters)) {
26
+ sql += ` AND json_extract(properties, '$.${key}') = ?`;
27
+ // json_extract returns raw values for numbers/booleans, JSON strings for strings
28
+ // Numbers come back as numbers, strings come back as strings (without quotes)
29
+ params.push(value);
30
+ }
31
+ }
32
+ const result = this.db.execute(sql, params);
33
+ return result.rows.map((row) => row.id);
34
+ }
35
+ /**
36
+ * Load a bounded subgraph into memory.
37
+ * Uses a recursive CTE to collect reachable node IDs within bounds,
38
+ * then bulk fetches nodes and edges.
39
+ */
40
+ loadSubgraph(bounds) {
41
+ const { anchorNodeIds, maxDepth, edgeTypes, direction } = bounds;
42
+ if (anchorNodeIds.length === 0) {
43
+ return MemoryGraph.fromRows([], []);
44
+ }
45
+ // Collect all reachable node IDs using recursive CTE
46
+ const nodeIds = this.collectReachableNodes(anchorNodeIds, maxDepth, edgeTypes, direction);
47
+ if (nodeIds.size === 0) {
48
+ return MemoryGraph.fromRows([], []);
49
+ }
50
+ // Bulk fetch nodes (in batches to avoid SQLite variable limit)
51
+ const nodeIdArray = Array.from(nodeIds);
52
+ const nodeRows = [];
53
+ for (let i = 0; i < nodeIdArray.length; i += SQL_VARIABLE_BATCH_SIZE) {
54
+ const batch = nodeIdArray.slice(i, i + SQL_VARIABLE_BATCH_SIZE);
55
+ const placeholders = batch.map(() => "?").join(",");
56
+ const result = this.db.execute(`SELECT id, label, properties FROM nodes WHERE id IN (${placeholders})`, batch);
57
+ for (const row of result.rows) {
58
+ const r = row;
59
+ nodeRows.push({ id: r.id, label: r.label, properties: r.properties });
60
+ }
61
+ }
62
+ // Bulk fetch edges between loaded nodes (in batches)
63
+ // Use temp table approach for large sets to avoid O(n^2) batching
64
+ const edgeRows = [];
65
+ if (nodeIdArray.length <= SQL_VARIABLE_BATCH_SIZE) {
66
+ // Small set: simple IN clause
67
+ const placeholders = nodeIdArray.map(() => "?").join(",");
68
+ const result = this.db.execute(`SELECT id, type, source_id, target_id, properties
69
+ FROM edges
70
+ WHERE source_id IN (${placeholders})
71
+ AND target_id IN (${placeholders})`, [...nodeIdArray, ...nodeIdArray]);
72
+ for (const row of result.rows) {
73
+ const r = row;
74
+ edgeRows.push({
75
+ id: r.id,
76
+ type: r.type,
77
+ source_id: r.source_id,
78
+ target_id: r.target_id,
79
+ properties: r.properties,
80
+ });
81
+ }
82
+ }
83
+ else {
84
+ // Large set: use temp table to avoid variable limit
85
+ this.db.execute(`CREATE TEMP TABLE IF NOT EXISTS _subgraph_nodes (id TEXT PRIMARY KEY)`, []);
86
+ this.db.execute(`DELETE FROM _subgraph_nodes`, []);
87
+ // Insert node IDs in batches
88
+ for (let i = 0; i < nodeIdArray.length; i += SQL_VARIABLE_BATCH_SIZE) {
89
+ const batch = nodeIdArray.slice(i, i + SQL_VARIABLE_BATCH_SIZE);
90
+ const placeholders = batch.map(() => "(?)").join(",");
91
+ this.db.execute(`INSERT INTO _subgraph_nodes (id) VALUES ${placeholders}`, batch);
92
+ }
93
+ // Query edges using temp table join
94
+ const result = this.db.execute(`SELECT e.id, e.type, e.source_id, e.target_id, e.properties
95
+ FROM edges e
96
+ INNER JOIN _subgraph_nodes s ON e.source_id = s.id
97
+ INNER JOIN _subgraph_nodes t ON e.target_id = t.id`, []);
98
+ for (const row of result.rows) {
99
+ const r = row;
100
+ edgeRows.push({
101
+ id: r.id,
102
+ type: r.type,
103
+ source_id: r.source_id,
104
+ target_id: r.target_id,
105
+ properties: r.properties,
106
+ });
107
+ }
108
+ }
109
+ return MemoryGraph.fromRows(nodeRows, edgeRows);
110
+ }
111
+ /**
112
+ * Collect all node IDs reachable from anchors within the given bounds.
113
+ * Uses BFS with depth tracking.
114
+ */
115
+ collectReachableNodes(anchorIds, maxDepth, edgeTypes, direction) {
116
+ const reachable = new Set();
117
+ const visited = new Set();
118
+ // Queue entries: [nodeId, currentDepth]
119
+ const queue = [];
120
+ // Initialize with anchor nodes
121
+ for (const id of anchorIds) {
122
+ // Verify anchor exists
123
+ const exists = this.db.execute("SELECT 1 FROM nodes WHERE id = ?", [id]);
124
+ if (exists.rows.length > 0) {
125
+ queue.push([id, 0]);
126
+ visited.add(id);
127
+ reachable.add(id);
128
+ }
129
+ }
130
+ // Build edge type filter for SQL
131
+ let edgeTypeFilter = "";
132
+ const edgeTypeParams = [];
133
+ if (edgeTypes !== null && edgeTypes.length > 0) {
134
+ const placeholders = edgeTypes.map(() => "?").join(",");
135
+ edgeTypeFilter = ` AND type IN (${placeholders})`;
136
+ edgeTypeParams.push(...edgeTypes);
137
+ }
138
+ // BFS traversal
139
+ while (queue.length > 0) {
140
+ const [nodeId, depth] = queue.shift();
141
+ if (depth >= maxDepth) {
142
+ continue;
143
+ }
144
+ // Get neighbor IDs based on direction
145
+ const neighborIds = [];
146
+ if (direction === "out" || direction === "both") {
147
+ const sql = `SELECT target_id FROM edges WHERE source_id = ?${edgeTypeFilter}`;
148
+ const result = this.db.execute(sql, [nodeId, ...edgeTypeParams]);
149
+ for (const row of result.rows) {
150
+ neighborIds.push(row.target_id);
151
+ }
152
+ }
153
+ if (direction === "in" || direction === "both") {
154
+ const sql = `SELECT source_id FROM edges WHERE target_id = ?${edgeTypeFilter}`;
155
+ const result = this.db.execute(sql, [nodeId, ...edgeTypeParams]);
156
+ for (const row of result.rows) {
157
+ neighborIds.push(row.source_id);
158
+ }
159
+ }
160
+ // Add unvisited neighbors to queue
161
+ for (const neighborId of neighborIds) {
162
+ if (!visited.has(neighborId)) {
163
+ visited.add(neighborId);
164
+ reachable.add(neighborId);
165
+ queue.push([neighborId, depth + 1]);
166
+ }
167
+ }
168
+ }
169
+ return reachable;
170
+ }
171
+ }
172
+ //# sourceMappingURL=subgraph-loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subgraph-loader.js","sourceRoot":"","sources":["../../src/engine/subgraph-loader.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export declare class Executor {
38
38
  private propertyCache;
39
39
  private edgePropertyCache;
40
40
  private edgeInfoCache;
41
+ private hybridExecutor;
41
42
  constructor(db: GraphDatabase);
42
43
  /**
43
44
  * Get node properties from cache or parse from JSON string and cache them
@@ -486,6 +487,7 @@ export declare class Executor {
486
487
  private generateCartesianProduct;
487
488
  /**
488
489
  * Resolve properties, including unwind variable references and binary expressions
490
+ * Note: In Cypher, setting a property to null means the property is not stored.
489
491
  */
490
492
  private resolvePropertiesWithUnwind;
491
493
  /**
@@ -619,6 +621,17 @@ export declare class Executor {
619
621
  * Pattern: ... FOREACH (var IN list | SET/CREATE/DELETE...) ...
620
622
  */
621
623
  private tryForeachExecution;
624
+ /**
625
+ * Try to execute a hybrid var-length pattern query using the in-memory graph engine.
626
+ * Falls back to null if the query can't be executed via hybrid approach.
627
+ *
628
+ * Supports generalized pattern chains with N nodes and multiple var-length edges.
629
+ */
630
+ private tryHybridVarLengthExecution;
631
+ /**
632
+ * Get a key for a return item (used when no alias is provided).
633
+ */
634
+ private getReturnItemKey;
622
635
  /**
623
636
  * Execute a FOREACH clause within PhaseContext.
624
637
  */
@@ -733,6 +746,10 @@ export declare class Executor {
733
746
  * The resolvedIds map is mutated to include newly created node IDs.
734
747
  */
735
748
  private createRelationshipWithResolvedIds;
749
+ /**
750
+ * Resolve node properties, including (n $props) parameter maps.
751
+ */
752
+ private resolveNodePatternProperties;
736
753
  /**
737
754
  * Resolve parameter references and binary expressions in properties
738
755
  */
@@ -1 +1 @@
1
- {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executor.d.ts","sourceRoot":"","sources":["../src/executor.ts"],"names":[],"mappings":"AA4BA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AA2DxC;;;;;;;;;GASG;AACH,MAAM,WAAW,YAAY;IAE3B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE7B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAG7B,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnC;AA8BD,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAChC,IAAI,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE;QACL,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,cAAc,CAAC;AA6E7D,qBAAa,QAAQ;IACnB,OAAO,CAAC,EAAE,CAAgB;IAC1B,OAAO,CAAC,aAAa,CAA8C;IACnE,OAAO,CAAC,iBAAiB,CAA8C;IAEvE,OAAO,CAAC,aAAa,CAA6E;IAElG,OAAO,CAAC,cAAc,CAAiB;gBAE3B,EAAE,EAAE,aAAa;IAK7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAK/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;OAGG;IACH,OAAO,CAAC,gBAAgB;IAgCxB;;OAEG;IACH,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,aAAa;IAiK5E;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;IAgKrB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAyG7B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAelC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAcxC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAcxC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAmBxC;;;;;;;;;OASG;IACH,OAAO,CAAC,kBAAkB;IAyD1B;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,sBAAsB;IAmC9B;;;;;OAKG;IACH,OAAO,CAAC,+BAA+B;IAIvC;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,+BAA+B;IA2FvC,OAAO,CAAC,sCAAsC;IA0E9C,OAAO,CAAC,kCAAkC;IAmG1C,OAAO,CAAC,sCAAsC;IAuB9C;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAqB/B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAgB1C;;;OAGG;IACH,OAAO,CAAC,kCAAkC;IAkB1C;;;;;OAKG;IACH,OAAO,CAAC,iCAAiC;IAgBzC;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAiMpB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgJ9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4CzB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IA8BpC;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiD5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAkB9B;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAezC;;;;OAIG;IACH,OAAO,CAAC,6BAA6B;IAyCrC;;OAEG;IACH,OAAO,CAAC,YAAY;IAiBpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB,OAAO,CAAC,aAAa;IAiCrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,kBAAkB;IA0C1B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IA+C7B;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAiFjC;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IA+HzC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAwBlC;;;;;OAKG;IACH,OAAO,CAAC,aAAa;IAsBrB;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA2E1C;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4IzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAqBrB;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAUjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA+B3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoN1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA6F1B;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IAoKjC;;;;;;;;;OASG;IACH,OAAO,CAAC,yBAAyB;IAkFjC;;OAEG;IACH,OAAO,CAAC,oCAAoC;IAiB5C;;OAEG;IACH,OAAO,CAAC,iCAAiC;IASzC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAiBxC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA4BhC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAsCrC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA0BlC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IA2BtC;;;OAGG;IACH,OAAO,CAAC,gCAAgC;IAgCxC;;;;OAIG;IACH,OAAO,CAAC,4BAA4B;IA4JpC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmChC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsI3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAyBxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAsP/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAsW7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsC3B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAsGnC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4E1B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAclC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA2BrC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAWxB;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IA8ehC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAiClC;;;OAGG;IACH,OAAO,CAAC,6CAA6C;IAqCrD;;OAEG;IACH,OAAO,CAAC,qCAAqC;IAwE7C;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA+DnC;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IAuK/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA8BnC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,UAAU;IAMlB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAMhB;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAO1B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAa1B;;;;OAIG;IACH,OAAO,CAAC,yBAAyB;IA0HjC;;;;;;OAMG;IACH,OAAO,CAAC,yBAAyB;IA+HjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqDhC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IASjC;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAmBnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA0C9B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA6BhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;;OAGG;IACH,OAAO,CAAC,2BAA2B;IAgBnC;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAoEtC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAgQlC;;OAEG;IACH,OAAO,CAAC,0CAA0C;IA0FlD;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA2OhC;;;;;;;;OAQG;IACH,OAAO,CAAC,iCAAiC;IA+QzC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAgEzB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAqHnC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAgGpC;;OAEG;IACH,OAAO,CAAC,oCAAoC;IAsF5C;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAyCzC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAqFpC;;;;;;OAMG;IACH,OAAO,CAAC,0BAA0B;IAsQlC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IAwH9B;;OAEG;IACH,OAAO,CAAC,8BAA8B;IAWtC;;;OAGG;IACH,OAAO,CAAC,0CAA0C;IAmIlD;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmD9B;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAYzC;;OAEG;IACH,OAAO,CAAC,oCAAoC;IA0B5C;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA+C1C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+IxB;;;;;;OAMG;IACH,OAAO,CAAC,wBAAwB;IAwKhC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmDxB;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAmGpC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA6E3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAmExC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAyCzB;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;;;;OAKG;IACH,OAAO,CAAC,2BAA2B;IA0DnC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+B5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IA+BhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsD9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA2CjC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAwBjC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAU/B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAahC;;;;;;OAMG;IACH,OAAO,CAAC,sBAAsB;IAmS9B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAanC;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA2B1C;;;OAGG;IACH,OAAO,CAAC,+BAA+B;IAiEvC;;;OAGG;IACH,OAAO,CAAC,uCAAuC;IAY/C;;OAEG;IACH,OAAO,CAAC,kCAAkC;IA8C1C;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAyPhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAU9B;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAYlC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAif1B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmJjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAqBhC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAwCpC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA0B/B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAiB1B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAmHrC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IA4BpC;;;OAGG;IACH,OAAO,CAAC,iCAAiC;IAsEzC;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAyBpC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAI7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAkBrB;;;OAGG;IACH,OAAO,CAAC,aAAa;IAkCrB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;CA6B5B;AAMD,wBAAgB,YAAY,CAC1B,EAAE,EAAE,aAAa,EACjB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACnC,aAAa,CAEf"}