gitx.do 0.0.1 → 0.0.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 (237) hide show
  1. package/dist/cli/commands/blame.d.ts +259 -0
  2. package/dist/cli/commands/blame.d.ts.map +1 -0
  3. package/dist/cli/commands/blame.js +609 -0
  4. package/dist/cli/commands/blame.js.map +1 -0
  5. package/dist/cli/commands/branch.d.ts +249 -0
  6. package/dist/cli/commands/branch.d.ts.map +1 -0
  7. package/dist/cli/commands/branch.js +693 -0
  8. package/dist/cli/commands/branch.js.map +1 -0
  9. package/dist/cli/commands/commit.d.ts +182 -0
  10. package/dist/cli/commands/commit.d.ts.map +1 -0
  11. package/dist/cli/commands/commit.js +437 -0
  12. package/dist/cli/commands/commit.js.map +1 -0
  13. package/dist/cli/commands/diff.d.ts +464 -0
  14. package/dist/cli/commands/diff.d.ts.map +1 -0
  15. package/dist/cli/commands/diff.js +958 -0
  16. package/dist/cli/commands/diff.js.map +1 -0
  17. package/dist/cli/commands/log.d.ts +239 -0
  18. package/dist/cli/commands/log.d.ts.map +1 -0
  19. package/dist/cli/commands/log.js +535 -0
  20. package/dist/cli/commands/log.js.map +1 -0
  21. package/dist/cli/commands/review.d.ts +457 -0
  22. package/dist/cli/commands/review.d.ts.map +1 -0
  23. package/dist/cli/commands/review.js +533 -0
  24. package/dist/cli/commands/review.js.map +1 -0
  25. package/dist/cli/commands/status.d.ts +269 -0
  26. package/dist/cli/commands/status.d.ts.map +1 -0
  27. package/dist/cli/commands/status.js +493 -0
  28. package/dist/cli/commands/status.js.map +1 -0
  29. package/dist/cli/commands/web.d.ts +199 -0
  30. package/dist/cli/commands/web.d.ts.map +1 -0
  31. package/dist/cli/commands/web.js +696 -0
  32. package/dist/cli/commands/web.js.map +1 -0
  33. package/dist/cli/fs-adapter.d.ts +656 -0
  34. package/dist/cli/fs-adapter.d.ts.map +1 -0
  35. package/dist/cli/fs-adapter.js +1179 -0
  36. package/dist/cli/fs-adapter.js.map +1 -0
  37. package/dist/cli/index.d.ts +387 -0
  38. package/dist/cli/index.d.ts.map +1 -0
  39. package/dist/cli/index.js +523 -0
  40. package/dist/cli/index.js.map +1 -0
  41. package/dist/cli/ui/components/DiffView.d.ts +7 -0
  42. package/dist/cli/ui/components/DiffView.d.ts.map +1 -0
  43. package/dist/cli/ui/components/DiffView.js +11 -0
  44. package/dist/cli/ui/components/DiffView.js.map +1 -0
  45. package/dist/cli/ui/components/ErrorDisplay.d.ts +6 -0
  46. package/dist/cli/ui/components/ErrorDisplay.d.ts.map +1 -0
  47. package/dist/cli/ui/components/ErrorDisplay.js +11 -0
  48. package/dist/cli/ui/components/ErrorDisplay.js.map +1 -0
  49. package/dist/cli/ui/components/FuzzySearch.d.ts +9 -0
  50. package/dist/cli/ui/components/FuzzySearch.d.ts.map +1 -0
  51. package/dist/cli/ui/components/FuzzySearch.js +12 -0
  52. package/dist/cli/ui/components/FuzzySearch.js.map +1 -0
  53. package/dist/cli/ui/components/LoadingSpinner.d.ts +6 -0
  54. package/dist/cli/ui/components/LoadingSpinner.d.ts.map +1 -0
  55. package/dist/cli/ui/components/LoadingSpinner.js +10 -0
  56. package/dist/cli/ui/components/LoadingSpinner.js.map +1 -0
  57. package/dist/cli/ui/components/NavigationList.d.ts +9 -0
  58. package/dist/cli/ui/components/NavigationList.d.ts.map +1 -0
  59. package/dist/cli/ui/components/NavigationList.js +11 -0
  60. package/dist/cli/ui/components/NavigationList.js.map +1 -0
  61. package/dist/cli/ui/components/ScrollableContent.d.ts +8 -0
  62. package/dist/cli/ui/components/ScrollableContent.d.ts.map +1 -0
  63. package/dist/cli/ui/components/ScrollableContent.js +11 -0
  64. package/dist/cli/ui/components/ScrollableContent.js.map +1 -0
  65. package/dist/cli/ui/components/index.d.ts +7 -0
  66. package/dist/cli/ui/components/index.d.ts.map +1 -0
  67. package/dist/cli/ui/components/index.js +9 -0
  68. package/dist/cli/ui/components/index.js.map +1 -0
  69. package/dist/cli/ui/terminal-ui.d.ts +52 -0
  70. package/dist/cli/ui/terminal-ui.d.ts.map +1 -0
  71. package/dist/cli/ui/terminal-ui.js +121 -0
  72. package/dist/cli/ui/terminal-ui.js.map +1 -0
  73. package/dist/durable-object/object-store.d.ts +401 -23
  74. package/dist/durable-object/object-store.d.ts.map +1 -1
  75. package/dist/durable-object/object-store.js +414 -25
  76. package/dist/durable-object/object-store.js.map +1 -1
  77. package/dist/durable-object/schema.d.ts +188 -0
  78. package/dist/durable-object/schema.d.ts.map +1 -1
  79. package/dist/durable-object/schema.js +160 -0
  80. package/dist/durable-object/schema.js.map +1 -1
  81. package/dist/durable-object/wal.d.ts +336 -31
  82. package/dist/durable-object/wal.d.ts.map +1 -1
  83. package/dist/durable-object/wal.js +272 -27
  84. package/dist/durable-object/wal.js.map +1 -1
  85. package/dist/index.d.ts +379 -3
  86. package/dist/index.d.ts.map +1 -1
  87. package/dist/index.js +379 -7
  88. package/dist/index.js.map +1 -1
  89. package/dist/mcp/adapter.d.ts +579 -38
  90. package/dist/mcp/adapter.d.ts.map +1 -1
  91. package/dist/mcp/adapter.js +426 -33
  92. package/dist/mcp/adapter.js.map +1 -1
  93. package/dist/mcp/sandbox.d.ts +532 -29
  94. package/dist/mcp/sandbox.d.ts.map +1 -1
  95. package/dist/mcp/sandbox.js +389 -22
  96. package/dist/mcp/sandbox.js.map +1 -1
  97. package/dist/mcp/sdk-adapter.d.ts +478 -56
  98. package/dist/mcp/sdk-adapter.d.ts.map +1 -1
  99. package/dist/mcp/sdk-adapter.js +346 -44
  100. package/dist/mcp/sdk-adapter.js.map +1 -1
  101. package/dist/mcp/tools.d.ts +445 -30
  102. package/dist/mcp/tools.d.ts.map +1 -1
  103. package/dist/mcp/tools.js +363 -33
  104. package/dist/mcp/tools.js.map +1 -1
  105. package/dist/ops/blame.d.ts +424 -21
  106. package/dist/ops/blame.d.ts.map +1 -1
  107. package/dist/ops/blame.js +303 -20
  108. package/dist/ops/blame.js.map +1 -1
  109. package/dist/ops/branch.d.ts +583 -32
  110. package/dist/ops/branch.d.ts.map +1 -1
  111. package/dist/ops/branch.js +365 -23
  112. package/dist/ops/branch.js.map +1 -1
  113. package/dist/ops/commit-traversal.d.ts +164 -24
  114. package/dist/ops/commit-traversal.d.ts.map +1 -1
  115. package/dist/ops/commit-traversal.js +68 -2
  116. package/dist/ops/commit-traversal.js.map +1 -1
  117. package/dist/ops/commit.d.ts +387 -53
  118. package/dist/ops/commit.d.ts.map +1 -1
  119. package/dist/ops/commit.js +249 -29
  120. package/dist/ops/commit.js.map +1 -1
  121. package/dist/ops/merge-base.d.ts +195 -21
  122. package/dist/ops/merge-base.d.ts.map +1 -1
  123. package/dist/ops/merge-base.js +122 -12
  124. package/dist/ops/merge-base.js.map +1 -1
  125. package/dist/ops/merge.d.ts +600 -130
  126. package/dist/ops/merge.d.ts.map +1 -1
  127. package/dist/ops/merge.js +408 -60
  128. package/dist/ops/merge.js.map +1 -1
  129. package/dist/ops/tag.d.ts +67 -2
  130. package/dist/ops/tag.d.ts.map +1 -1
  131. package/dist/ops/tag.js +42 -1
  132. package/dist/ops/tag.js.map +1 -1
  133. package/dist/ops/tree-builder.d.ts +102 -6
  134. package/dist/ops/tree-builder.d.ts.map +1 -1
  135. package/dist/ops/tree-builder.js +30 -5
  136. package/dist/ops/tree-builder.js.map +1 -1
  137. package/dist/ops/tree-diff.d.ts +50 -2
  138. package/dist/ops/tree-diff.d.ts.map +1 -1
  139. package/dist/ops/tree-diff.js +50 -2
  140. package/dist/ops/tree-diff.js.map +1 -1
  141. package/dist/pack/delta.d.ts +211 -39
  142. package/dist/pack/delta.d.ts.map +1 -1
  143. package/dist/pack/delta.js +232 -46
  144. package/dist/pack/delta.js.map +1 -1
  145. package/dist/pack/format.d.ts +390 -28
  146. package/dist/pack/format.d.ts.map +1 -1
  147. package/dist/pack/format.js +344 -33
  148. package/dist/pack/format.js.map +1 -1
  149. package/dist/pack/full-generation.d.ts +313 -28
  150. package/dist/pack/full-generation.d.ts.map +1 -1
  151. package/dist/pack/full-generation.js +238 -19
  152. package/dist/pack/full-generation.js.map +1 -1
  153. package/dist/pack/generation.d.ts +346 -23
  154. package/dist/pack/generation.d.ts.map +1 -1
  155. package/dist/pack/generation.js +269 -21
  156. package/dist/pack/generation.js.map +1 -1
  157. package/dist/pack/index.d.ts +407 -86
  158. package/dist/pack/index.d.ts.map +1 -1
  159. package/dist/pack/index.js +351 -70
  160. package/dist/pack/index.js.map +1 -1
  161. package/dist/refs/branch.d.ts +517 -71
  162. package/dist/refs/branch.d.ts.map +1 -1
  163. package/dist/refs/branch.js +410 -26
  164. package/dist/refs/branch.js.map +1 -1
  165. package/dist/refs/storage.d.ts +610 -57
  166. package/dist/refs/storage.d.ts.map +1 -1
  167. package/dist/refs/storage.js +481 -29
  168. package/dist/refs/storage.js.map +1 -1
  169. package/dist/refs/tag.d.ts +677 -67
  170. package/dist/refs/tag.d.ts.map +1 -1
  171. package/dist/refs/tag.js +497 -30
  172. package/dist/refs/tag.js.map +1 -1
  173. package/dist/storage/lru-cache.d.ts +556 -53
  174. package/dist/storage/lru-cache.d.ts.map +1 -1
  175. package/dist/storage/lru-cache.js +439 -36
  176. package/dist/storage/lru-cache.js.map +1 -1
  177. package/dist/storage/object-index.d.ts +483 -38
  178. package/dist/storage/object-index.d.ts.map +1 -1
  179. package/dist/storage/object-index.js +388 -22
  180. package/dist/storage/object-index.js.map +1 -1
  181. package/dist/storage/r2-pack.d.ts +957 -94
  182. package/dist/storage/r2-pack.d.ts.map +1 -1
  183. package/dist/storage/r2-pack.js +756 -48
  184. package/dist/storage/r2-pack.js.map +1 -1
  185. package/dist/tiered/cdc-pipeline.d.ts +1610 -38
  186. package/dist/tiered/cdc-pipeline.d.ts.map +1 -1
  187. package/dist/tiered/cdc-pipeline.js +1131 -22
  188. package/dist/tiered/cdc-pipeline.js.map +1 -1
  189. package/dist/tiered/migration.d.ts +903 -41
  190. package/dist/tiered/migration.d.ts.map +1 -1
  191. package/dist/tiered/migration.js +646 -24
  192. package/dist/tiered/migration.js.map +1 -1
  193. package/dist/tiered/parquet-writer.d.ts +944 -47
  194. package/dist/tiered/parquet-writer.d.ts.map +1 -1
  195. package/dist/tiered/parquet-writer.js +667 -39
  196. package/dist/tiered/parquet-writer.js.map +1 -1
  197. package/dist/tiered/read-path.d.ts +728 -34
  198. package/dist/tiered/read-path.d.ts.map +1 -1
  199. package/dist/tiered/read-path.js +310 -27
  200. package/dist/tiered/read-path.js.map +1 -1
  201. package/dist/types/objects.d.ts +457 -0
  202. package/dist/types/objects.d.ts.map +1 -1
  203. package/dist/types/objects.js +305 -4
  204. package/dist/types/objects.js.map +1 -1
  205. package/dist/types/storage.d.ts +407 -35
  206. package/dist/types/storage.d.ts.map +1 -1
  207. package/dist/types/storage.js +27 -3
  208. package/dist/types/storage.js.map +1 -1
  209. package/dist/utils/hash.d.ts +133 -12
  210. package/dist/utils/hash.d.ts.map +1 -1
  211. package/dist/utils/hash.js +133 -12
  212. package/dist/utils/hash.js.map +1 -1
  213. package/dist/utils/sha1.d.ts +102 -9
  214. package/dist/utils/sha1.d.ts.map +1 -1
  215. package/dist/utils/sha1.js +114 -11
  216. package/dist/utils/sha1.js.map +1 -1
  217. package/dist/wire/capabilities.d.ts +896 -88
  218. package/dist/wire/capabilities.d.ts.map +1 -1
  219. package/dist/wire/capabilities.js +566 -62
  220. package/dist/wire/capabilities.js.map +1 -1
  221. package/dist/wire/pkt-line.d.ts +293 -15
  222. package/dist/wire/pkt-line.d.ts.map +1 -1
  223. package/dist/wire/pkt-line.js +251 -15
  224. package/dist/wire/pkt-line.js.map +1 -1
  225. package/dist/wire/receive-pack.d.ts +814 -64
  226. package/dist/wire/receive-pack.d.ts.map +1 -1
  227. package/dist/wire/receive-pack.js +542 -41
  228. package/dist/wire/receive-pack.js.map +1 -1
  229. package/dist/wire/smart-http.d.ts +575 -97
  230. package/dist/wire/smart-http.d.ts.map +1 -1
  231. package/dist/wire/smart-http.js +337 -46
  232. package/dist/wire/smart-http.js.map +1 -1
  233. package/dist/wire/upload-pack.d.ts +492 -98
  234. package/dist/wire/upload-pack.d.ts.map +1 -1
  235. package/dist/wire/upload-pack.js +347 -59
  236. package/dist/wire/upload-pack.js.map +1 -1
  237. package/package.json +10 -2
@@ -1,26 +1,85 @@
1
1
  /**
2
- * Full Packfile Generation
2
+ * @fileoverview Full Packfile Generation Module
3
3
  *
4
- * This module provides comprehensive packfile generation capabilities including:
5
- * - Complete pack generation from object sets
6
- * - Delta chain optimization
7
- * - Pack ordering strategies
8
- * - Large repository handling
9
- * - Incremental pack updates
4
+ * This module provides advanced packfile generation capabilities designed for
5
+ * production use with large repositories. It extends the basic generation module
6
+ * with additional features for optimization, streaming, and incremental updates.
7
+ *
8
+ * ## Key Features
9
+ *
10
+ * - **Delta Chain Optimization**: Intelligent selection of delta bases
11
+ * - **Ordering Strategies**: Multiple object ordering algorithms for optimal compression
12
+ * - **Progress Reporting**: Real-time progress callbacks during generation
13
+ * - **Large Repository Support**: Memory-efficient handling via chunking and streaming
14
+ * - **Incremental Updates**: Efficiently update existing packs with new objects
15
+ * - **Pack Validation**: Verify integrity of generated packfiles
16
+ *
17
+ * ## Main Classes
18
+ *
19
+ * - {@link FullPackGenerator} - Full-featured pack generator with progress support
20
+ * - {@link DeltaChainOptimizer} - Optimizes delta base selection
21
+ * - {@link LargeRepositoryHandler} - Handles large repos with memory limits
22
+ * - {@link StreamingPackWriter} - Writes packs incrementally
23
+ * - {@link IncrementalPackUpdater} - Updates packs with new objects
24
+ *
25
+ * ## Ordering Strategies
26
+ *
27
+ * The module supports multiple object ordering strategies:
28
+ * - TYPE_FIRST: Groups objects by type (commits, trees, blobs, tags)
29
+ * - SIZE_DESCENDING: Largest objects first (good bases for deltas)
30
+ * - RECENCY: Most recently modified objects first
31
+ * - PATH_BASED: Groups objects by file path
32
+ * - DELTA_OPTIMIZED: Orders based on delta chain dependencies
33
+ *
34
+ * @module pack/full-generation
35
+ * @see {@link module:pack/generation} Basic pack generation
36
+ *
37
+ * @example
38
+ * // Generate a pack with progress reporting
39
+ * const generator = new FullPackGenerator({
40
+ * enableDeltaCompression: true,
41
+ * orderingStrategy: PackOrderingStrategy.TYPE_FIRST
42
+ * });
43
+ *
44
+ * generator.onProgress((progress) => {
45
+ * console.log(`${progress.phase}: ${progress.objectsProcessed}/${progress.totalObjects}`);
46
+ * });
47
+ *
48
+ * for (const obj of objects) {
49
+ * generator.addObject(obj);
50
+ * }
51
+ *
52
+ * const result = generator.generate();
53
+ * console.log(`Generated pack with ${result.stats.deltaObjects} deltas`);
10
54
  */
11
55
  import pako from 'pako';
12
56
  import { PackObjectType, encodeTypeAndSize } from './format';
13
57
  import { createDelta } from './delta';
14
58
  import { sha1 } from '../utils/sha1';
15
59
  /**
16
- * Pack ordering strategies
60
+ * Available pack ordering strategies.
61
+ *
62
+ * @description Different ordering strategies affect delta compression efficiency
63
+ * and pack structure. Choose based on your use case:
64
+ * - TYPE_FIRST: Standard Git ordering, good for general use
65
+ * - SIZE_DESCENDING: Optimizes for delta compression
66
+ * - RECENCY: Useful for fetch operations
67
+ * - PATH_BASED: Groups related files together
68
+ * - DELTA_OPTIMIZED: Respects delta chain dependencies
69
+ *
70
+ * @enum {string}
17
71
  */
18
72
  export var PackOrderingStrategy;
19
73
  (function (PackOrderingStrategy) {
74
+ /** Groups objects by type (commits, trees, blobs, tags) */
20
75
  PackOrderingStrategy["TYPE_FIRST"] = "type_first";
76
+ /** Orders by size, largest first (better delta bases) */
21
77
  PackOrderingStrategy["SIZE_DESCENDING"] = "size_descending";
78
+ /** Orders by timestamp, newest first */
22
79
  PackOrderingStrategy["RECENCY"] = "recency";
80
+ /** Groups objects by file path */
23
81
  PackOrderingStrategy["PATH_BASED"] = "path_based";
82
+ /** Orders based on delta chain structure */
24
83
  PackOrderingStrategy["DELTA_OPTIMIZED"] = "delta_optimized";
25
84
  })(PackOrderingStrategy || (PackOrderingStrategy = {}));
26
85
  // ============================================================================
@@ -120,7 +179,20 @@ function calculateSimilarity(a, b) {
120
179
  // Main Functions
121
180
  // ============================================================================
122
181
  /**
123
- * Generate a complete packfile from an object set
182
+ * Generates a complete packfile from an object set.
183
+ *
184
+ * @description Convenience function that creates a FullPackGenerator, adds
185
+ * all objects from the set, and returns the complete packfile with checksum.
186
+ *
187
+ * @param {PackableObjectSet} objectSet - The set of objects to pack
188
+ * @returns {Uint8Array} Complete packfile data including checksum
189
+ *
190
+ * @example
191
+ * const objectSet = {
192
+ * objects: [blob1, blob2, tree, commit],
193
+ * roots: [commit.sha]
194
+ * };
195
+ * const packfile = generateFullPackfile(objectSet);
124
196
  */
125
197
  export function generateFullPackfile(objectSet) {
126
198
  const generator = new FullPackGenerator();
@@ -130,7 +202,18 @@ export function generateFullPackfile(objectSet) {
130
202
  return result.packData;
131
203
  }
132
204
  /**
133
- * Optimize delta chains for a set of objects
205
+ * Optimizes delta chains for a set of objects.
206
+ *
207
+ * @description Analyzes objects to find optimal delta base selections that
208
+ * minimize total pack size while respecting chain depth limits.
209
+ *
210
+ * @param {PackableObject[]} objects - Objects to optimize
211
+ * @param {DeltaChainConfig} [config] - Optimization configuration
212
+ * @returns {OptimizedDeltaChain} Optimized chain information and selections
213
+ *
214
+ * @example
215
+ * const result = optimizeDeltaChains(objects, { maxDepth: 50 });
216
+ * console.log(`Saved ${result.totalSavings} bytes`);
134
217
  */
135
218
  export function optimizeDeltaChains(objects, config) {
136
219
  const optimizer = new DeltaChainOptimizer(config);
@@ -140,7 +223,22 @@ export function optimizeDeltaChains(objects, config) {
140
223
  return optimizer.optimize();
141
224
  }
142
225
  /**
143
- * Apply an ordering strategy to objects
226
+ * Applies an ordering strategy to objects for optimal packing.
227
+ *
228
+ * @description Reorders objects according to the specified strategy to
229
+ * improve compression efficiency or access patterns.
230
+ *
231
+ * @param {PackableObject[]} objects - Objects to reorder
232
+ * @param {PackOrderingStrategy} strategy - Ordering strategy to apply
233
+ * @param {OrderingStrategyConfig} [config] - Additional configuration
234
+ * @returns {OrderedObjectSet} Ordered objects with applied strategy info
235
+ *
236
+ * @example
237
+ * const ordered = applyOrderingStrategy(
238
+ * objects,
239
+ * PackOrderingStrategy.TYPE_FIRST,
240
+ * { secondaryStrategy: PackOrderingStrategy.SIZE_DESCENDING }
241
+ * );
144
242
  */
145
243
  export function applyOrderingStrategy(objects, strategy, config) {
146
244
  const orderedObjects = [...objects];
@@ -220,7 +318,20 @@ export function applyOrderingStrategy(objects, strategy, config) {
220
318
  };
221
319
  }
222
320
  /**
223
- * Compute object dependencies
321
+ * Computes object dependencies from commit and tree references.
322
+ *
323
+ * @description Parses commit and tree objects to extract references,
324
+ * building a dependency graph useful for ordering and validation.
325
+ *
326
+ * @param {PackableObject[]} objects - Objects to analyze
327
+ * @returns {ObjectDependencyGraph} Dependency graph with traversal methods
328
+ *
329
+ * @example
330
+ * const graph = computeObjectDependencies(objects);
331
+ * const sorted = graph.topologicalSort();
332
+ * if (graph.hasCycles()) {
333
+ * throw new Error('Circular dependencies detected');
334
+ * }
224
335
  */
225
336
  export function computeObjectDependencies(objects) {
226
337
  const dependencies = new Map();
@@ -368,7 +479,20 @@ export function computeObjectDependencies(objects) {
368
479
  };
369
480
  }
370
481
  /**
371
- * Select optimal base objects for delta compression
482
+ * Selects optimal base objects for delta compression.
483
+ *
484
+ * @description Analyzes all objects to find the best delta base for each,
485
+ * computing actual delta savings to make informed selections.
486
+ *
487
+ * @param {PackableObject[]} objects - Objects to analyze
488
+ * @param {{ preferSamePath?: boolean }} [options] - Selection options
489
+ * @returns {BaseSelectionResult} Map of selections and savings
490
+ *
491
+ * @example
492
+ * const result = selectOptimalBases(objects, { preferSamePath: true });
493
+ * for (const [target, base] of result.selections) {
494
+ * console.log(`${target} -> ${base}: saves ${result.savings.get(target)} bytes`);
495
+ * }
372
496
  */
373
497
  export function selectOptimalBases(objects, options) {
374
498
  const selections = new Map();
@@ -414,7 +538,26 @@ export function selectOptimalBases(objects, options) {
414
538
  return { selections, savings };
415
539
  }
416
540
  /**
417
- * Validate pack integrity
541
+ * Validates pack file integrity.
542
+ *
543
+ * @description Performs comprehensive validation of a packfile including:
544
+ * - Header signature and version
545
+ * - Object count verification
546
+ * - Checksum validation
547
+ * - Optional delta chain validation
548
+ *
549
+ * @param {Uint8Array} packData - Complete packfile data to validate
550
+ * @param {{ validateDeltas?: boolean; collectStats?: boolean }} [options] - Validation options
551
+ * @returns {PackValidationResult} Validation result with errors and optional stats
552
+ * @throws {Error} Never throws; errors are returned in the result
553
+ *
554
+ * @example
555
+ * const result = validatePackIntegrity(packData, { collectStats: true });
556
+ * if (!result.valid) {
557
+ * console.error('Pack errors:', result.errors);
558
+ * } else {
559
+ * console.log(`Valid pack with ${result.stats?.objectCount} objects`);
560
+ * }
418
561
  */
419
562
  export function validatePackIntegrity(packData, options) {
420
563
  const errors = [];
@@ -551,7 +694,31 @@ export function validatePackIntegrity(packData, options) {
551
694
  // Classes
552
695
  // ============================================================================
553
696
  /**
554
- * Full pack generator with streaming and progress support
697
+ * Full-featured pack generator with streaming and progress support.
698
+ *
699
+ * @description Advanced packfile generator that extends basic functionality with:
700
+ * - Progress callbacks during generation
701
+ * - Configurable ordering strategies
702
+ * - Delta compression with chain optimization
703
+ * - Validation of input objects
704
+ *
705
+ * @class FullPackGenerator
706
+ *
707
+ * @example
708
+ * const generator = new FullPackGenerator({
709
+ * enableDeltaCompression: true,
710
+ * orderingStrategy: PackOrderingStrategy.TYPE_FIRST
711
+ * });
712
+ *
713
+ * generator.onProgress((p) => {
714
+ * console.log(`Phase: ${p.phase}, Progress: ${p.objectsProcessed}/${p.totalObjects}`);
715
+ * });
716
+ *
717
+ * for (const obj of objects) {
718
+ * generator.addObject(obj);
719
+ * }
720
+ *
721
+ * const result = generator.generate();
555
722
  */
556
723
  export class FullPackGenerator {
557
724
  objects = new Map();
@@ -734,7 +901,19 @@ export class FullPackGenerator {
734
901
  }
735
902
  }
736
903
  /**
737
- * Delta chain optimizer
904
+ * Delta chain optimizer for finding optimal base selections.
905
+ *
906
+ * @description Analyzes a set of objects to determine the best delta base
907
+ * for each, considering chain depth limits, similarity, and savings.
908
+ *
909
+ * @class DeltaChainOptimizer
910
+ *
911
+ * @example
912
+ * const optimizer = new DeltaChainOptimizer({ maxDepth: 50 });
913
+ * for (const obj of objects) {
914
+ * optimizer.addObject(obj);
915
+ * }
916
+ * const result = optimizer.optimize();
738
917
  */
739
918
  export class DeltaChainOptimizer {
740
919
  objects = [];
@@ -905,7 +1084,22 @@ export class DeltaChainOptimizer {
905
1084
  }
906
1085
  }
907
1086
  /**
908
- * Handler for large repositories
1087
+ * Handler for large repositories with memory management.
1088
+ *
1089
+ * @description Provides memory-efficient pack generation for large repositories
1090
+ * by partitioning objects into chunks and optionally streaming output.
1091
+ *
1092
+ * @class LargeRepositoryHandler
1093
+ *
1094
+ * @example
1095
+ * const handler = new LargeRepositoryHandler({
1096
+ * maxMemoryUsage: 500 * 1024 * 1024, // 500MB
1097
+ * chunkSize: 1000,
1098
+ * enableStreaming: true
1099
+ * });
1100
+ * handler.setObjects(largeObjectSet);
1101
+ * handler.onProgress((p) => console.log(p.phase));
1102
+ * const result = handler.generatePack();
909
1103
  */
910
1104
  export class LargeRepositoryHandler {
911
1105
  objects = [];
@@ -972,7 +1166,21 @@ export class LargeRepositoryHandler {
972
1166
  }
973
1167
  }
974
1168
  /**
975
- * Streaming pack writer
1169
+ * Streaming pack writer for incremental output.
1170
+ *
1171
+ * @description Writes packfile data incrementally, suitable for streaming
1172
+ * to network or disk without holding entire pack in memory.
1173
+ *
1174
+ * @class StreamingPackWriter
1175
+ *
1176
+ * @example
1177
+ * const writer = new StreamingPackWriter();
1178
+ * writer.onChunk((chunk) => socket.write(chunk));
1179
+ * writer.writeHeader(objects.length);
1180
+ * for (const obj of objects) {
1181
+ * writer.writeObject(obj);
1182
+ * }
1183
+ * await writer.finalize();
976
1184
  */
977
1185
  export class StreamingPackWriter {
978
1186
  chunkCallback;
@@ -1024,7 +1232,18 @@ export class StreamingPackWriter {
1024
1232
  }
1025
1233
  }
1026
1234
  /**
1027
- * Incremental pack updater
1235
+ * Incremental pack updater for adding new objects to existing packs.
1236
+ *
1237
+ * @description Efficiently creates packs containing only new objects while
1238
+ * optionally reusing delta relationships with existing objects.
1239
+ *
1240
+ * @class IncrementalPackUpdater
1241
+ *
1242
+ * @example
1243
+ * const updater = new IncrementalPackUpdater({ reuseDeltas: true });
1244
+ * updater.setExistingObjects(existingPack);
1245
+ * const result = updater.addObjects(newObjects);
1246
+ * console.log(`Added ${result.addedObjects}, skipped ${result.skippedObjects}`);
1028
1247
  */
1029
1248
  export class IncrementalPackUpdater {
1030
1249
  existingObjects = [];
@@ -1 +1 @@
1
- {"version":3,"file":"full-generation.js","sourceRoot":"","sources":["../../src/pack/full-generation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAA;AACvB,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAoGpC;;GAEG;AACH,MAAM,CAAN,IAAY,oBAMX;AAND,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;IACzB,2DAAmC,CAAA;IACnC,2CAAmB,CAAA;IACnB,iDAAyB,CAAA;IACzB,2DAAmC,CAAA;AACrC,CAAC,EANW,oBAAoB,KAApB,oBAAoB,QAM/B;AAuHD,+EAA+E;AAC/E,mBAAmB;AACnB,+EAA+E;AAE/E;;GAEG;AACH,SAAS,mBAAmB,CAAC,IAAgB;IAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,CAAA;AACnB,CAAC;AAED;;GAEG;AACH,SAAS,gBAAgB,CAAC,WAAmB;IAC3C,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAA;IACjC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA,CAAC,IAAI;IACrB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA,CAAC,IAAI;IACrB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA,CAAC,IAAI;IACrB,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAA,CAAC,IAAI;IACrB,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;IACb,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACtC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,GAAG,IAAI,CAAA;IACtC,MAAM,CAAC,EAAE,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;IACtC,MAAM,CAAC,EAAE,CAAC,GAAG,WAAW,GAAG,IAAI,CAAA;IAE/B,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAAc;IAClC,MAAM,KAAK,GAAa,EAAE,CAAA;IAE1B,KAAK,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IACzB,MAAM,MAAM,CAAC,CAAA;IAEb,OAAO,MAAM,GAAG,CAAC,EAAE,CAAC;QAClB,MAAM,IAAI,CAAC,CAAA;QACX,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAA;QACrC,MAAM,MAAM,CAAC,CAAA;IACf,CAAC;IAED,OAAO,IAAI,UAAU,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,MAAoB;IACxC,IAAI,WAAW,GAAG,CAAC,CAAA;IACnB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,WAAW,IAAI,GAAG,CAAC,MAAM,CAAA;IAC3B,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,CAAA;IAC1C,IAAI,MAAM,GAAG,CAAC,CAAA;IACd,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QACvB,MAAM,IAAI,GAAG,CAAC,MAAM,CAAA;IACtB,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,CAAa,EAAE,CAAa;IACvD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAA;IAE9C,MAAM,UAAU,GAAG,CAAC,CAAA;IACpB,IAAI,CAAC,CAAC,MAAM,GAAG,UAAU,IAAI,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QACnD,IAAI,OAAO,GAAG,CAAC,CAAA;QACf,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAAE,OAAO,EAAE,CAAA;QAC9B,CAAC;QACD,OAAO,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,GAAG,EAAU,CAAA;IAChC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC5C,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IAClB,CAAC;IAED,IAAI,OAAO,GAAG,CAAC,CAAA;IACf,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;QAChD,IAAI,IAAI,GAAG,CAAC,CAAA;QACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,IAAI,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;QAC5C,CAAC;QACD,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAA;IACjC,CAAC;IAED,OAAO,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,MAAM,GAAG,UAAU,GAAG,CAAC,CAAC,CAAA;AACjF,CAAC;AAED,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA4B;IAC/D,MAAM,SAAS,GAAG,IAAI,iBAAiB,EAAE,CAAA;IACzC,SAAS,CAAC,YAAY,CAAC,SAAS,CAAC,CAAA;IACjC,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;IAEnC,yCAAyC;IACzC,OAAO,MAAM,CAAC,QAAQ,CAAA;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAyB,EACzB,MAAyB;IAEzB,MAAM,SAAS,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAA;IACjD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;IACD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAA;AAC7B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,OAAyB,EACzB,QAA8B,EAC9B,MAA+B;IAE/B,MAAM,cAAc,GAAG,CAAC,GAAG,OAAO,CAAC,CAAA;IAEnC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,oBAAoB,CAAC,UAAU,CAAC,CAAC,CAAC;YACrC,MAAM,SAAS,GAAmC;gBAChD,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;aAClC,CAAA;YACD,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC3B,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;gBACzD,IAAI,WAAW,KAAK,CAAC;oBAAE,OAAO,WAAW,CAAA;gBACzC,IAAI,MAAM,EAAE,iBAAiB,KAAK,oBAAoB,CAAC,eAAe,EAAE,CAAC;oBACvE,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;gBACtC,CAAC;gBACD,OAAO,CAAC,CAAA;YACV,CAAC,CAAC,CAAA;YACF,MAAK;QACP,CAAC;QAED,KAAK,oBAAoB,CAAC,eAAe;YACvC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC5D,MAAK;QAEP,KAAK,oBAAoB,CAAC,OAAO;YAC/B,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAA;YACtE,MAAK;QAEP,KAAK,oBAAoB,CAAC,UAAU;YAClC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAA;YACzE,MAAK;QAEP,KAAK,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC;YAC1C,IAAI,MAAM,EAAE,WAAW,EAAE,CAAC;gBACxB,8CAA8C;gBAC9C,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAA;gBAChD,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;oBACrD,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;oBAC9C,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;oBACrB,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;gBACnC,CAAC;gBAED,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;gBACjC,MAAM,MAAM,GAAqB,EAAE,CAAA;gBACnC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAEpD,SAAS,KAAK,CAAC,GAAW;oBACxB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;wBAAE,OAAM;oBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBAC3B,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBAChB,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBACpC,IAAI,MAAM,EAAE,CAAC;4BACX,KAAK,MAAM,QAAQ,IAAI,MAAM,EAAE,CAAC;gCAC9B,KAAK,CAAC,QAAQ,CAAC,CAAA;4BACjB,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,sDAAsD;gBACtD,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC1C,KAAK,CAAC,OAAO,CAAC,CAAA;gBAChB,CAAC;gBACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;oBAC1B,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,CAAC;gBAED,cAAc,CAAC,MAAM,GAAG,CAAC,CAAA;gBACzB,cAAc,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAA;YAChC,CAAC;YACD,MAAK;QACP,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO,EAAE,cAAc;QACvB,eAAe,EAAE,QAAQ;KAC1B,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAyB;IACjE,MAAM,YAAY,GAAG,IAAI,GAAG,EAAoB,CAAA;IAChD,MAAM,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAA;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAA;IAC1B,MAAM,KAAK,GAAwC,EAAE,CAAA;IACrD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;IAEvD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QACnB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;QAC7B,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAA;IAC7B,CAAC;IAED,qDAAqD;IACrD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAA;IACjC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,UAAU,EAAE,CAAC;YAC3C,kDAAkD;YAClD,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;YACxC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAA;YACxD,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC7C,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC3C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YACjD,CAAC;YACD,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC,CAAA;YAClE,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;gBAClC,IAAI,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5B,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;oBACzC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACvC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;gBAC7C,CAAC;YACH,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,CAAC,IAAI,KAAK,cAAc,CAAC,QAAQ,EAAE,CAAC;YAChD,gDAAgD;YAChD,IAAI,MAAM,GAAG,CAAC,CAAA;YACd,OAAO,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChC,kDAAkD;gBAClD,OAAO,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1D,MAAM,EAAE,CAAA;gBACV,CAAC;gBACD,IAAI,MAAM,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM;oBAAE,MAAK;gBACpC,MAAM,EAAE,CAAA,CAAC,iBAAiB;gBAE1B,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBAC5C,IAAI,QAAQ,GAAG,KAAK,CAAA;gBAEpB,mDAAmD;gBACnD,IAAI,aAAa,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC;oBAC/B,MAAM,QAAQ,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;oBAC3C,IAAI,GAAG,GAAG,EAAE,CAAA;oBACZ,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC5B,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;oBAC3C,CAAC;oBACD,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBACvB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;wBACpC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;wBAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;wBACtC,QAAQ,GAAG,IAAI,CAAA;oBACjB,CAAC;oBACD,MAAM,IAAI,EAAE,CAAA;gBACd,CAAC;gBAED,0EAA0E;gBAC1E,qEAAqE;gBACrE,IAAI,CAAC,QAAQ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAA;oBAClD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;oBACtE,IAAI,KAAK,CAAC,MAAM,IAAI,EAAE,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;wBAC5E,IAAI,GAAG,GAAG,EAAE,CAAA;wBACZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;4BAC5B,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;wBAC/C,CAAC;wBACD,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;4BACvB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;4BACpC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;4BAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,CAAC,CAAA;wBACxC,CAAC;oBACH,CAAC;oBACD,MAAK,CAAC,0CAA0C;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,KAAK;QACL,KAAK;QACL,eAAe,CAAC,GAAW;YACzB,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QACpC,CAAC;QACD,aAAa,CAAC,GAAW;YACvB,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;QAClC,CAAC;QACD,SAAS;YACP,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;YACjC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;YAEjC,SAAS,GAAG,CAAC,GAAW;gBACtB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAA;gBACjC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,KAAK,CAAA;gBAElC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAEhB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC9C,IAAI,GAAG,CAAC,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAA;gBAC3B,CAAC;gBAED,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBACnB,OAAO,KAAK,CAAA;YACd,CAAC;YAED,KAAK,MAAM,GAAG,IAAI,KAAK,EAAE,CAAC;gBACxB,IAAI,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAO,IAAI,CAAA;YAC3B,CAAC;YACD,OAAO,KAAK,CAAA;QACd,CAAC;QACD,eAAe;YACb,MAAM,MAAM,GAAa,EAAE,CAAA;YAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;YAEjC,SAAS,KAAK,CAAC,GAAW;gBACxB,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;oBAAE,OAAM;gBAC5B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAChB,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC9C,KAAK,CAAC,GAAG,CAAC,CAAA;gBACZ,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAClB,CAAC;YAED,kDAAkD;YAClD,yEAAyE;YACzE,MAAM,SAAS,GAAmC;gBAChD,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3B,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,CAAC;aAClC,CAAA;YAED,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC/C,OAAO,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YAC9C,CAAC,CAAC,CAAA;YAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAChB,CAAC;YACD,OAAO,MAAM,CAAA;QACf,CAAC;KACF,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,OAAyB,EACzB,OAAsC;IAEtC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC5C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;IAEzC,wBAAwB;IACxB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAA;IAC1D,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;QACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACd,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5B,CAAC;IAED,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE,CAAC;QACrC,sCAAsC;QACtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;YAC7B,IAAI,QAAQ,GAA0B,IAAI,CAAA;YAC1C,IAAI,WAAW,GAAG,CAAC,CAAA;YAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,IAAI,CAAC,KAAK,CAAC;oBAAE,SAAQ;gBACrB,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBAEhC,4CAA4C;gBAC5C,IAAI,UAAU,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;gBACjE,IAAI,OAAO,EAAE,cAAc,IAAI,SAAS,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBAC7D,IAAI,SAAS,CAAC,IAAI,KAAK,MAAM,CAAC,IAAI,EAAE,CAAC;wBACnC,UAAU,IAAI,GAAG,CAAA,CAAC,iCAAiC;oBACrD,CAAC;gBACH,CAAC;gBAED,mBAAmB;gBACnB,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;gBACtD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;gBAExD,IAAI,cAAc,GAAG,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;oBAC5E,QAAQ,GAAG,SAAS,CAAA;oBACpB,WAAW,GAAG,cAAc,CAAA;gBAC9B,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;gBAChC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAA;gBACxC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAoB,EACpB,OAA8D;IAE9D,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,0CAA0C;IAC1C,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAA;QACxD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAA;IACjC,CAAC;IAED,4BAA4B;IAC5B,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAA;IACzF,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;QACzB,MAAM,CAAC,IAAI,CAAC,iDAAiD,SAAS,GAAG,CAAC,CAAA;IAC5E,CAAC;IAED,+EAA+E;IAC/E,IAAI,QAAQ,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACzB,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAC/C,CAAC;IAED,mBAAmB;IACnB,MAAM,OAAO,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;IAC5F,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;QAClB,MAAM,CAAC,IAAI,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC;IAED,+BAA+B;IAC/B,MAAM,WAAW,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAElG,oCAAoC;IACpC,MAAM,cAAc,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,WAAW,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;IAC1C,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;IAEzD,IAAI,aAAa,GAAG,IAAI,CAAA;IACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,aAAa,GAAG,KAAK,CAAA;YACrB,MAAK;QACP,CAAC;IACH,CAAC;IAED,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAA;IACvC,CAAC;IAED,0BAA0B;IAC1B,IAAI,iBAAiB,GAAG,CAAC,CAAA;IACzB,IAAI,MAAM,GAAG,EAAE,CAAA,CAAC,eAAe;IAC/B,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAA,CAAC,mBAAmB;IAE3D,OAAO,MAAM,GAAG,UAAU,IAAI,iBAAiB,GAAG,WAAW,EAAE,CAAC;QAC9D,4BAA4B;QAC5B,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QAChC,MAAM,IAAI,GAAG,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;QACpC,MAAM,EAAE,CAAA;QAER,iDAAiD;QACjD,OAAO,SAAS,GAAG,IAAI,EAAE,CAAC;YACxB,IAAI,MAAM,IAAI,UAAU;gBAAE,MAAK;YAC/B,SAAS,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;QAChC,CAAC;QAED,qBAAqB;QACrB,IAAI,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,CAAC;YAC1C,8BAA8B;YAC9B,IAAI,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YAC1B,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;gBAChB,IAAI,MAAM,IAAI,UAAU;oBAAE,MAAK;gBAC/B,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;aAAM,IAAI,IAAI,KAAK,cAAc,CAAC,aAAa,EAAE,CAAC;YACjD,wBAAwB;YACxB,MAAM,IAAI,EAAE,CAAA;QACd,CAAC;QAED,qEAAqE;QACrE,MAAM,aAAa,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,CAAA;QACxD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;YAAE,MAAK;QAErC,0DAA0D;QAC1D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAA;YACnC,IAAI,QAAQ,GAAG,CAAC,CAAA;YAEhB,mDAAmD;YACnD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC9C,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;gBACnD,IAAK,QAA0C,CAAC,KAAK,EAAE,CAAC;oBACtD,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAA;oBAChB,MAAK;gBACP,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;gBACnB,mDAAmD;gBACnD,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,IAAI,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAAC;oBAC9D,IAAI,CAAC;wBACH,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAA;wBAC5C,QAAQ,GAAG,MAAM,CAAA;wBACjB,MAAK;oBACP,CAAC;oBAAC,MAAM,CAAC;wBACP,SAAQ;oBACV,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;gBACjB,MAAM,IAAI,QAAQ,CAAA;gBAClB,iBAAiB,EAAE,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,MAAK;YACP,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAK;QACP,CAAC;IACH,CAAC;IAED,uEAAuE;IACvE,IAAI,iBAAiB,KAAK,WAAW,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;QAC/D,MAAM,CAAC,IAAI,CAAC,2CAA2C,WAAW,WAAW,iBAAiB,EAAE,CAAC,CAAA;IACnG,CAAC;IAED,MAAM,MAAM,GAAyB;QACnC,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;QAC1B,MAAM;KACP,CAAA;IAED,IAAI,OAAO,EAAE,YAAY,EAAE,CAAC;QAC1B,MAAM,CAAC,KAAK,GAAG;YACb,WAAW;YACX,WAAW,EAAE,SAAS,KAAK,MAAM,IAAI,OAAO,KAAK,CAAC;YAClD,aAAa;SACd,CAAA;IACH,CAAC;IAED,IAAI,OAAO,EAAE,cAAc,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAe,GAAG;YACvB,QAAQ,EAAE,CAAC;YACX,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;SACf,CAAA;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,+EAA+E;AAC/E,UAAU;AACV,+EAA+E;AAE/E;;GAEG;AACH,MAAM,OAAO,iBAAiB;IACpB,OAAO,GAAgC,IAAI,GAAG,EAAE,CAAA;IAChD,OAAO,CAAiB;IACxB,gBAAgB,CAA6C;IAErE,YAAY,OAAyB;QACnC,IAAI,CAAC,OAAO,GAAG;YACb,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,IAAI,KAAK;YAChE,aAAa,EAAE,OAAO,EAAE,aAAa,IAAI,EAAE;YAC3C,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,EAAE;YACrC,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,CAAC;YAChD,gBAAgB,EAAE,OAAO,EAAE,gBAAgB;SAC5C,CAAA;IACH,CAAC;IAED,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IAC1B,CAAC;IAED,SAAS,CAAC,MAAsB;QAC9B,sBAAsB;QACtB,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,GAAG,EAAE,CAAC,CAAA;QACtD,CAAC;QACD,uBAAuB;QACvB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;QACxD,CAAC;QACD,kBAAkB;QAClB,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC;YAAE,OAAM;QACxC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;IACtC,CAAC;IAED,YAAY,CAAC,SAA4B;QACvC,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QACrB,CAAC;IACH,CAAC;IAED,UAAU,CAAC,QAAoD;QAC7D,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;IAClC,CAAC;IAED,QAAQ;QACN,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,cAAc,GAAG,CAAC,CAAA;QACtB,IAAI,UAAU,GAAG,CAAC,CAAA;QAClB,IAAI,aAAa,GAAG,CAAC,CAAA;QAErB,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;QAEpD,wBAAwB;QACxB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAExD,gBAAgB;QAChB,MAAM,OAAO,GAAG,qBAAqB,CACnC,UAAU,EACV,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,oBAAoB,CAAC,UAAU,CACjE,CAAA;QAED,uBAAuB;QACvB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QAE5D,uBAAuB;QACvB,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YAClC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;QAC9B,CAAC;QAED,iCAAiC;QACjC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC3C,MAAM,KAAK,GAAiB,EAAE,CAAA;QAE9B,gBAAgB;QAChB,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAA;QACvD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAClB,IAAI,aAAa,GAAG,EAAE,CAAA;QAEtB,kCAAkC;QAClC,MAAM,WAAW,GAAG,IAAI,GAAG,EAAsE,CAAA;QAEjG,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;YACxC,MAAM,MAAM,GAAqB,EAAE,CAAA;YACnC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;YAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBAE9B,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;gBAErF,qBAAqB;gBACrB,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;oBAChB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;wBACpD,MAAM,CAAC,KAAK,EAAE,CAAA;oBAChB,CAAC;oBACD,SAAQ;gBACV,CAAC;gBAED,qCAAqC;gBACrC,IAAI,QAAQ,GAA0B,IAAI,CAAA;gBAC1C,IAAI,SAAS,GAAsB,IAAI,CAAA;gBACvC,IAAI,WAAW,GAAG,CAAC,CAAA;gBAEnB,KAAK,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;oBAC/B,IAAI,SAAS,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI;wBAAE,SAAQ;oBAEzC,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;oBACvD,IAAI,cAAc,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC;wBAAE,SAAQ;oBAElE,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;oBACnD,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;oBAE9C,IAAI,OAAO,GAAG,WAAW,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBAClE,QAAQ,GAAG,SAAS,CAAA;wBACpB,SAAS,GAAG,KAAK,CAAA;wBACjB,WAAW,GAAG,OAAO,CAAA;oBACvB,CAAC;gBACH,CAAC;gBAED,IAAI,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAC1B,MAAM,KAAK,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;oBACnD,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAA;oBACrE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;oBAC5B,IAAI,KAAK,GAAG,aAAa;wBAAE,aAAa,GAAG,KAAK,CAAA;gBAClD,CAAC;gBAED,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBAChB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,CAAC;oBACpD,MAAM,CAAC,KAAK,EAAE,CAAA;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,QAAQ,GAAG,aAAa,CAAA;YAC9B,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;YAEhC,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,CAAC,GAAG,CAAC,CAAA;YAEjF,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YAE1C,IAAI,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnD,qBAAqB;gBACrB,MAAM,UAAU,GAAG,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAE,CAAA;gBACrD,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,CAAA;gBAE5C,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;gBAC3F,MAAM,aAAa,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;gBAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAyD,EAAE,CAAC,CAAA;gBAEnI,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACvB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAA;gBACzB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAEtB,aAAa,IAAI,WAAW,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;gBAC9E,cAAc,IAAI,UAAU,CAAC,MAAM,CAAA;gBACnC,UAAU,EAAE,CAAA;YACd,CAAC;iBAAM,CAAC;gBACN,uBAAuB;gBACvB,MAAM,WAAW,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;gBAChE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,gBAAyD,EAAE,CAAC,CAAA;gBAE5H,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;gBACvB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;gBAEtB,aAAa,IAAI,WAAW,CAAC,MAAM,GAAG,UAAU,CAAC,MAAM,CAAA;gBACvD,cAAc,IAAI,UAAU,CAAC,MAAM,CAAA;YACrC,CAAC;QACH,CAAC;QAED,oBAAoB;QACpB,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAEvC,qBAAqB;QACrB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,WAAW,CAAC,CAAA;QAEjD,qCAAqC;QACrC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,WAAW,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;QACrE,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA;QAC5B,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;QAE1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QAE/C,kBAAkB;QAClB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAA;QAEhG,OAAO;YACL,QAAQ;YACR,QAAQ;YACR,KAAK,EAAE;gBACL,YAAY,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM;gBACpC,YAAY,EAAE,UAAU;gBACxB,SAAS;gBACT,cAAc;gBACd,gBAAgB,EAAE,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAChE,aAAa;gBACb,gBAAgB;aACjB;SACF,CAAA;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAA;IACtB,CAAC;IAEO,cAAc,CACpB,KAAsC,EACtC,gBAAwB,EACxB,YAAoB,EACpB,YAAoB,EACpB,aAAsB;QAEtB,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,IAAI,CAAC,gBAAgB,CAAC;gBACpB,KAAK;gBACL,gBAAgB;gBAChB,YAAY;gBACZ,YAAY;gBACZ,aAAa;aACd,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACtB,OAAO,GAAqB,EAAE,CAAA;IAC9B,MAAM,CAAkB;IAEhC,YAAY,MAAyB;QACnC,IAAI,CAAC,MAAM,GAAG;YACZ,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE;YAChC,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,IAAI,GAAG;YACvD,UAAU,EAAE,MAAM,EAAE,UAAU,IAAI,EAAE;YACpC,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,CAAC;SAC5C,CAAA;IACH,CAAC;IAED,SAAS,CAAC,MAAsB;QAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;IAC3B,CAAC;IAED,UAAU;QACR,MAAM,KAAK,GAAwC,EAAE,CAAA;QAErD,kCAAkC;QAClC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACjD,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACzB,MAAM,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;gBACzB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;oBACtB,MAAM,UAAU,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;oBACtD,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;wBACrB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAA;oBACxC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;IACvC,CAAC;IAED,cAAc;QACZ,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;QAEzC,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAA;QAC1D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACd,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;QAED,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;gBAC7B,IAAI,WAAW,GAAG,CAAC,CAAA;gBAEnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC;wBAAE,SAAQ;oBACrB,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;oBAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;oBACjD,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;oBACxD,IAAI,cAAc,GAAG,WAAW,EAAE,CAAC;wBACjC,WAAW,GAAG,cAAc,CAAA;oBAC9B,CAAC;gBACH,CAAC;gBAED,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;oBACpB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;gBACtC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,QAAQ;QACN,MAAM,MAAM,GAAqB,EAAE,CAAA;QACnC,MAAM,cAAc,GAAG,IAAI,GAAG,EAAkB,CAAA;QAChD,IAAI,YAAY,GAAG,CAAC,CAAA;QAEpB,gBAAgB;QAChB,MAAM,MAAM,GAAG,IAAI,GAAG,EAAoC,CAAA;QAC1D,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAA;YACvC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACd,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAA;QAC5B,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAA;QAE1C,iDAAiD;QACjD,8EAA8E;QAC9E,sDAAsD;QACtD,MAAM,UAAU,GAAgG,EAAE,CAAA;QAElH,KAAK,MAAM,CAAC,EAAE,WAAW,CAAC,IAAI,MAAM,EAAE,CAAC;YACrC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC5C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAC5C,IAAI,CAAC,KAAK,CAAC;wBAAE,SAAQ;oBACrB,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;oBAC7B,MAAM,IAAI,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;oBAE3B,4DAA4D;oBAC5D,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM;wBAAE,SAAQ;oBAEnD,MAAM,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAA;oBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAAA;oBAEjD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;wBAC3D,UAAU,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAA;oBACnD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,MAAM,eAAe,GAAG,IAAI,GAAG,EAA4D,CAAA;QAC3F,KAAK,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,UAAU,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAClD,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAA;YAC5B,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAA;QACvC,CAAC;QAED,0EAA0E;QAC1E,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;QACrC,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,UAAU,EAAE,CAAC;YAClC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC3B,CAAC;QAED,qEAAqE;QACrE,sEAAsE;QACtE,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAA;QAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;aACrD,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAE,EAAE,CAAC,CAAC;aAClE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;aAClB,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QAExD,KAAK,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,aAAa,EAAE,CAAC;YACjD,IAAI,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAQ;YAEvC,MAAM,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAA;YAE9C,kFAAkF;YAClF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACpB,uBAAuB;gBACvB,MAAM,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAA;gBACxD,IAAI,QAAQ,KAAK,CAAC;oBAAE,OAAO,QAAQ,CAAA;gBACnC,yBAAyB;gBACzB,OAAO,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,OAAO,CAAA;YAC9B,CAAC,CAAC,CAAA;YAEF,KAAK,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,OAAO,EAAE,CAAC;gBACxC,sCAAsC;gBACtC,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;gBAC7C,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;oBAAE,SAAQ;gBAEvD,kCAAkC;gBAClC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,mBAAmB,IAAI,GAAG,CAAA;gBACxD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,SAAS;oBAAE,SAAQ;gBAEhF,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACzB,MAAM,KAAK,GAAG,SAAS,GAAG,CAAC,CAAA;gBAC3B,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;gBACxB,cAAc,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;gBACjC,YAAY,IAAI,OAAO,CAAA;gBAEvB,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,IAAI,CAAC,GAAG;oBACjB,QAAQ,EAAE,IAAI,CAAC,IAAI;oBACnB,SAAS,EAAE,GAAG;oBACd,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,KAAK;oBACL,OAAO;iBACR,CAAC,CAAA;gBACF,MAAK;YACP,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,MAAM,CAAC,IAAI,CAAC;oBACV,OAAO,EAAE,GAAG,CAAC,GAAG;oBAChB,QAAQ,EAAE,GAAG,CAAC,IAAI;oBAClB,SAAS,EAAE,GAAG,CAAC,GAAG;oBAClB,UAAU,EAAE,GAAG,CAAC,IAAI;oBACpB,KAAK,EAAE,CAAC;oBACR,OAAO,EAAE,CAAC;iBACX,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,CAAA;IACjD,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACzB,OAAO,GAAqB,EAAE,CAAA;IAC9B,MAAM,CAAiB;IACvB,gBAAgB,CAA6C;IAC7D,cAAc,CAA0B;IAEhD,YAAY,MAAwB;QAClC,IAAI,CAAC,MAAM,GAAG;YACZ,cAAc,EAAE,MAAM,EAAE,cAAc,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI;YAC3D,SAAS,EAAE,MAAM,EAAE,SAAS,IAAI,IAAI;YACpC,eAAe,EAAE,MAAM,EAAE,eAAe,IAAI,KAAK;YACjD,wBAAwB,EAAE,MAAM,EAAE,wBAAwB,IAAI,KAAK;YACnE,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,CAAC;SACtC,CAAA;IACH,CAAC;IAED,UAAU,CAAC,OAAyB;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,UAAU,CAAC,QAAoD;QAC7D,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAA;IAClC,CAAC;IAED,aAAa,CAAC,QAAiC;QAC7C,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAA;IAChC,CAAC;IAED,gBAAgB,CAAC,OAAyB;QACxC,MAAM,MAAM,GAAuB,EAAE,CAAA;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,IAAI,CAAA;QAE/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,SAAS,EAAE,CAAC;YACnD,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;QAC9C,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAED,YAAY;QACV,mCAAmC;QACnC,IAAI,aAAa,GAAG,CAAC,CAAA;QACrB,MAAM,YAAY,GAAG,GAAG,EAAE;YACxB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,CAAA;YACpC,CAAC;QACH,CAAC,CAAA;QAED,4CAA4C;QAC5C,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC;YACtC,sBAAsB,EAAE,IAAI;YAC5B,aAAa,EAAE,EAAE;SAClB,CAAC,CAAA;QAEF,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC1B,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAA;QAC7C,CAAC;QAED,8BAA8B;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,aAAa,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAA;YAE5C,qBAAqB;YACrB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,aAAa,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC;gBACrG,8CAA8C;gBAC9C,aAAa,GAAG,aAAa,GAAG,CAAC,CAAA;YACnC,CAAC;YAED,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC;gBAClB,YAAY,EAAE,CAAA;YAChB,CAAC;QACH,CAAC;QAED,YAAY,EAAE,CAAA;QACd,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAA;IAC7B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,mBAAmB;IACtB,aAAa,CAA8B;IAC3C,YAAY,CAAkD;IAC9D,MAAM,GAAiB,EAAE,CAAA;IACzB,WAAW,GAAG,CAAC,CAAA;IACf,aAAa,GAAG,CAAC,CAAA;IAEzB,YAAY,OAAoG;QAC9G,IAAI,CAAC,YAAY,GAAG,OAAO,EAAE,YAAY,CAAA;QACzC,KAAK,CAAC,OAAO,EAAE,aAAa,IAAI,KAAK,CAAC,CAAA,CAAC,wCAAwC;IACjF,CAAC;IAED,OAAO,CAAC,QAAqC;QAC3C,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAA;IAC/B,CAAC;IAED,WAAW,CAAC,WAAmB;QAC7B,IAAI,CAAC,aAAa,GAAG,WAAW,CAAA;QAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAA;QAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IACxB,CAAC;IAED,WAAW,CAAC,MAAsB;QAChC,MAAM,WAAW,GAAG,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAE5C,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC3B,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAA;QAC1B,IAAI,CAAC,WAAW,EAAE,CAAA;IACpB,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,4CAA4C;QAC5C,IAAI,IAAI,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,WAAW,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,wCAAwC,IAAI,CAAC,aAAa,SAAS,IAAI,CAAC,WAAW,EAAE,CAAC,CAAA;QACxG,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAA;QAC7C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAA;QAExB,oDAAoD;QACpD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAA;QACzC,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,KAAiB;QACjC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACvB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAA;QAC3B,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;QAChC,CAAC;IACH,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,sBAAsB;IACzB,eAAe,GAAqB,EAAE,CAAA;IACtC,YAAY,GAAgB,IAAI,GAAG,EAAE,CAAA;IACrC,OAAO,CAA0B;IAEzC,YAAY,OAAkC;QAC5C,IAAI,CAAC,OAAO,GAAG;YACb,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,KAAK;YACpD,aAAa,EAAE,OAAO,EAAE,aAAa;YACrC,WAAW,EAAE,OAAO,EAAE,WAAW,IAAI,KAAK;YAC1C,gBAAgB,EAAE,OAAO,EAAE,gBAAgB,IAAI,KAAK;SACrD,CAAA;IACH,CAAC;IAED,kBAAkB,CAAC,OAAyB;QAC1C,IAAI,CAAC,eAAe,GAAG,OAAO,CAAA;QAC9B,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;IACtD,CAAC;IAED,UAAU,CAAC,UAA4B;QACrC,MAAM,YAAY,GAAqB,EAAE,CAAA;QACzC,IAAI,YAAY,GAAG,CAAC,CAAA;QACpB,MAAM,eAAe,GAAa,EAAE,CAAA;QAEpC,sCAAsC;QACtC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnC,YAAY,EAAE,CAAA;YAChB,CAAC;iBAAM,CAAC;gBACN,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACxB,CAAC;QACH,CAAC;QAED,sDAAsD;QACtD,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;YAC7B,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;gBAC/B,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;oBAC5C,IAAI,QAAQ,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAE,CAAC;wBAC/B,MAAM,UAAU,GAAG,mBAAmB,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAA;wBAC/D,IAAI,UAAU,GAAG,GAAG,EAAE,CAAC;4BACrB,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gCAC5C,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAA;4BACpC,CAAC;wBACH,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,gBAAgB;QAChB,MAAM,SAAS,GAAG,IAAI,iBAAiB,CAAC;YACtC,sBAAsB,EAAE,IAAI;SAC7B,CAAC,CAAA;QAEF,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;YAC/B,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;QAC1B,CAAC;QAED,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;QAEnC,yCAAyC;QACzC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAC/F,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAA;QAE/E,OAAO;YACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,YAAY,CAAC,MAAM;YACjC,cAAc,EAAE,YAAY;YAC5B,YAAY,EAAE,eAAe,CAAC,MAAM;YACpC,eAAe;YACf,MAAM;YACN,YAAY;SACb,CAAA;IACH,CAAC;IAED,WAAW,CAAC,UAA4B,EAAE,UAA4B;QACpE,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QACnD,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;QAEnD,MAAM,KAAK,GAAa,EAAE,CAAA;QAC1B,MAAM,OAAO,GAAa,EAAE,CAAA;QAC5B,MAAM,SAAS,GAAa,EAAE,CAAA;QAE9B,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACrB,CAAC;iBAAM,CAAC;gBACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACjB,CAAC;QACH,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YACnB,CAAC;QACH,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;IACtC,CAAC;IAED,UAAU,CAAC,KAAyB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;QAClC,MAAM,aAAa,GAAqB,EAAE,CAAA;QAE1C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;oBACrB,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;gBACzB,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,GAAG,CAAC,CAAA;QACjB,IAAI,UAAU,GAAG,CAAC,CAAA;QAElB,+BAA+B;QAC/B,IAAI,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YAClC,MAAM,SAAS,GAAG,IAAI,mBAAmB,EAAE,CAAA;YAC3C,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,CAAA;gBACxB,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;YAC9B,CAAC;YACD,MAAM,SAAS,GAAG,SAAS,CAAC,QAAQ,EAAE,CAAA;YACtC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAA;QAC/D,CAAC;aAAM,CAAC;YACN,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;gBAChC,SAAS,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAA;YAC9B,CAAC;QACH,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;QAE/C,OAAO;YACL,OAAO,EAAE,aAAa;YACtB,KAAK,EAAE;gBACL,YAAY,EAAE,aAAa,CAAC,MAAM;gBAClC,YAAY,EAAE,UAAU;gBACxB,SAAS;gBACT,cAAc,EAAE,CAAC;gBACjB,gBAAgB,EAAE,CAAC;gBACnB,aAAa,EAAE,CAAC;gBAChB,gBAAgB;aACjB;SACF,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"full-generation.js","sourceRoot":"","sources":["../../src/pack/full-generation.ts"],"names":[],"mappings":"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"}