nest-graph-inspector 0.2.9 → 0.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.
Files changed (39) hide show
  1. package/README.md +20 -11
  2. package/package.json +1 -1
  3. package/src/{drivers/file-output.driver.d.ts → adapters/file-output.adapter.d.ts} +17 -2
  4. package/src/adapters/file-output.adapter.js +284 -0
  5. package/src/adapters/file-output.adapter.js.map +1 -0
  6. package/src/adapters/http-output.adapter.d.ts +25 -0
  7. package/src/adapters/http-output.adapter.js +94 -0
  8. package/src/adapters/http-output.adapter.js.map +1 -0
  9. package/src/adapters/http-serve.adapter.d.ts +58 -0
  10. package/src/adapters/http-serve.adapter.js +298 -0
  11. package/src/adapters/http-serve.adapter.js.map +1 -0
  12. package/src/{drivers/json-output.driver.d.ts → adapters/json-output.adapter.d.ts} +1 -1
  13. package/src/{drivers/json-output.driver.js → adapters/json-output.adapter.js} +6 -6
  14. package/src/adapters/json-output.adapter.js.map +1 -0
  15. package/src/adapters/proxy.adapter.d.ts +21 -0
  16. package/src/adapters/proxy.adapter.js +153 -0
  17. package/src/adapters/proxy.adapter.js.map +1 -0
  18. package/src/adapters/viewer-output.adapter.d.ts +22 -0
  19. package/src/adapters/viewer-output.adapter.js +82 -0
  20. package/src/adapters/viewer-output.adapter.js.map +1 -0
  21. package/src/nest-graph-inspector.module.js +22 -9
  22. package/src/nest-graph-inspector.module.js.map +1 -1
  23. package/src/nest-graph-inspector.setup.d.ts +19 -5
  24. package/src/nest-graph-inspector.setup.js +217 -9
  25. package/src/nest-graph-inspector.setup.js.map +1 -1
  26. package/src/nest-graph-inspector.type.d.ts +10 -0
  27. package/src/ports/proxy.gateway.d.ts +15 -0
  28. package/src/ports/proxy.gateway.js +3 -0
  29. package/src/ports/proxy.gateway.js.map +1 -0
  30. package/src/types/graph-output.type.d.ts +27 -0
  31. package/src/drivers/file-output.driver.js +0 -187
  32. package/src/drivers/file-output.driver.js.map +0 -1
  33. package/src/drivers/http-output.driver.d.ts +0 -19
  34. package/src/drivers/http-output.driver.js +0 -62
  35. package/src/drivers/http-output.driver.js.map +0 -1
  36. package/src/drivers/json-output.driver.js.map +0 -1
  37. package/src/drivers/viewer-output.driver.d.ts +0 -16
  38. package/src/drivers/viewer-output.driver.js +0 -42
  39. package/src/drivers/viewer-output.driver.js.map +0 -1
@@ -10,12 +10,23 @@ exports.NestGraphInspectorModule = exports.defaultOptions = void 0;
10
10
  const common_1 = require("@nestjs/common");
11
11
  const nest_graph_inspector_config_1 = require("./nest-graph-inspector.config");
12
12
  const nest_graph_inspector_setup_1 = require("./nest-graph-inspector.setup");
13
- const json_output_driver_1 = require("./drivers/json-output.driver");
14
- const file_output_driver_1 = require("./drivers/file-output.driver");
15
- const http_output_driver_1 = require("./drivers/http-output.driver");
16
- const viewer_output_driver_1 = require("./drivers/viewer-output.driver");
13
+ const json_output_adapter_1 = require("./adapters/json-output.adapter");
14
+ const file_output_adapter_1 = require("./adapters/file-output.adapter");
15
+ const http_output_adapter_1 = require("./adapters/http-output.adapter");
16
+ const viewer_output_adapter_1 = require("./adapters/viewer-output.adapter");
17
+ const proxy_adapter_1 = require("./adapters/proxy.adapter");
18
+ const http_serve_adapter_1 = require("./adapters/http-serve.adapter");
17
19
  exports.defaultOptions = {
18
- outputs: [{ type: 'viewer' }],
20
+ outputs: [
21
+ {
22
+ type: 'viewer',
23
+ ...http_output_adapter_1.HttpOutputAdapter.defaultConfig,
24
+ ollama: {
25
+ origin: 'http://localhost:11434',
26
+ path: '/ollama',
27
+ },
28
+ },
29
+ ],
19
30
  ignoreProvider: ['ModuleRef', 'ApplicationConfig'],
20
31
  ignoreImport: ['InternalCoreModule', 'NestGraphInspectorModule'],
21
32
  nestCoreModuleName: 'NestJSCoreModule',
@@ -38,10 +49,12 @@ exports.NestGraphInspectorModule = NestGraphInspectorModule = __decorate([
38
49
  useValue: exports.defaultOptions,
39
50
  },
40
51
  nest_graph_inspector_setup_1.NestGraphInspectorSetup,
41
- json_output_driver_1.JsonOutputDriver,
42
- file_output_driver_1.FileOutputDriver,
43
- http_output_driver_1.HttpOutputDriver,
44
- viewer_output_driver_1.ViewerOutputDriver,
52
+ json_output_adapter_1.JsonOutputAdapter,
53
+ file_output_adapter_1.FileOutputAdapter,
54
+ http_serve_adapter_1.HttpServeAdapter,
55
+ http_output_adapter_1.HttpOutputAdapter,
56
+ proxy_adapter_1.ProxyAdapter,
57
+ viewer_output_adapter_1.ViewerOutputAdapter,
45
58
  ],
46
59
  })
47
60
  ], NestGraphInspectorModule);
@@ -1 +1 @@
1
- {"version":3,"file":"nest-graph-inspector.module.js","sourceRoot":"","sources":["../../../../libs/nest-graph-inspector/src/nest-graph-inspector.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+EAGuC;AACvC,6EAAuE;AACvE,qEAAgE;AAChE,qEAAgE;AAChE,qEAAgE;AAChE,yEAAoE;AAGvD,QAAA,cAAc,GAAoC;IAC7D,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC7B,cAAc,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAClD,YAAY,EAAE,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;IAChE,kBAAkB,EAAE,kBAAkB;IACtC,iBAAiB,EAAE;QACjB,WAAW;QACX,mBAAmB;QACnB,WAAW;QACX,SAAS;QACT,UAAU;KACX;CACF,CAAC;AAeK,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,qDAAuB;CAAG,CAAA;AAA3D,4DAAwB;mCAAxB,wBAAwB;IAbpC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,kDAAoB;gBAC7B,QAAQ,EAAE,sBAAc;aACzB;YACD,oDAAuB;YACvB,qCAAgB;YAChB,qCAAgB;YAChB,qCAAgB;YAChB,yCAAkB;SACnB;KACF,CAAC;GACW,wBAAwB,CAAmC"}
1
+ {"version":3,"file":"nest-graph-inspector.module.js","sourceRoot":"","sources":["../../../../libs/nest-graph-inspector/src/nest-graph-inspector.module.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAAwC;AACxC,+EAGuC;AACvC,6EAAuE;AACvE,wEAAmE;AACnE,wEAAmE;AACnE,wEAAmE;AACnE,4EAAuE;AAEvE,4DAAwD;AACxD,sEAAiE;AAEpD,QAAA,cAAc,GAAoC;IAC7D,OAAO,EAAE;QACP;YACE,IAAI,EAAE,QAAQ;YACd,GAAG,uCAAiB,CAAC,aAAa;YAClC,MAAM,EAAE;gBACN,MAAM,EAAE,wBAAwB;gBAChC,IAAI,EAAE,SAAS;aAChB;SACF;KACF;IACD,cAAc,EAAE,CAAC,WAAW,EAAE,mBAAmB,CAAC;IAClD,YAAY,EAAE,CAAC,oBAAoB,EAAE,0BAA0B,CAAC;IAChE,kBAAkB,EAAE,kBAAkB;IACtC,iBAAiB,EAAE;QACjB,WAAW;QACX,mBAAmB;QACnB,WAAW;QACX,SAAS;QACT,UAAU;KACX;CACF,CAAC;AAiBK,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,qDAAuB;CAAG,CAAA;AAA3D,4DAAwB;mCAAxB,wBAAwB;IAfpC,IAAA,eAAM,EAAC;QACN,SAAS,EAAE;YACT;gBACE,OAAO,EAAE,kDAAoB;gBAC7B,QAAQ,EAAE,sBAAc;aACzB;YACD,oDAAuB;YACvB,uCAAiB;YACjB,uCAAiB;YACjB,qCAAgB;YAChB,uCAAiB;YACjB,4BAAY;YACZ,2CAAmB;SACpB;KACF,CAAC;GACW,wBAAwB,CAAmC"}
@@ -2,10 +2,10 @@ import { OnModuleInit, Type } from '@nestjs/common';
2
2
  import { ModulesContainer } from '@nestjs/core';
3
3
  import type { NestGraphInspectorModuleOptions } from './nest-graph-inspector.type';
4
4
  import { ModuleMap } from './types/module-map.type';
5
- import { HttpOutputDriver } from './drivers/http-output.driver';
6
- import { FileOutputDriver } from './drivers/file-output.driver';
7
- import { JsonOutputDriver } from './drivers/json-output.driver';
8
- import { ViewerOutputDriver } from './drivers/viewer-output.driver';
5
+ import { HttpOutputAdapter } from './adapters/http-output.adapter';
6
+ import { FileOutputAdapter } from './adapters/file-output.adapter';
7
+ import { JsonOutputAdapter } from './adapters/json-output.adapter';
8
+ import { ViewerOutputAdapter } from './adapters/viewer-output.adapter';
9
9
  export declare class NestGraphInspectorSetup implements OnModuleInit {
10
10
  private readonly options;
11
11
  private readonly modulesContainer;
@@ -19,8 +19,9 @@ export declare class NestGraphInspectorSetup implements OnModuleInit {
19
19
  private readonly ignoreImport;
20
20
  private readonly nestCoreModuleName;
21
21
  private readonly nestCoreProviders;
22
- constructor(options: NestGraphInspectorModuleOptions, modulesContainer: ModulesContainer, httpOutputAdapter: HttpOutputDriver, fileOutputAdapter: FileOutputDriver, jsonOutputAdapter: JsonOutputDriver, viewerOutputAdapter: ViewerOutputDriver);
22
+ constructor(options: NestGraphInspectorModuleOptions, modulesContainer: ModulesContainer, httpOutputAdapter: HttpOutputAdapter, fileOutputAdapter: FileOutputAdapter, jsonOutputAdapter: JsonOutputAdapter, viewerOutputAdapter: ViewerOutputAdapter);
23
23
  onModuleInit(): Promise<void>;
24
+ private withDefaultOutputOptions;
24
25
  buildModuleMapFromAutoDetect(): ModuleMap;
25
26
  buildModuleMap(rootModuleClass: Type): ModuleMap;
26
27
  private buildModuleMapFromRef;
@@ -47,5 +48,18 @@ export declare class NestGraphInspectorSetup implements OnModuleInit {
47
48
  private wrapperName;
48
49
  private tokenName;
49
50
  private enrichModuleMap;
51
+ private findGraphCycles;
52
+ private findModuleCycles;
53
+ private findDependencyCycles;
54
+ private addDependencyEdges;
55
+ private createGraph;
56
+ private findCycles;
57
+ private getCanonicalCycleKey;
58
+ private toProviderCycle;
59
+ private toProviderCyclePathItem;
60
+ private getCycleType;
61
+ private findPath;
62
+ private findReachableKeys;
63
+ private dependencyNodeKey;
50
64
  private enrichDependency;
51
65
  }
@@ -18,10 +18,10 @@ const common_1 = require("@nestjs/common");
18
18
  const core_1 = require("@nestjs/core");
19
19
  const nest_graph_inspector_config_1 = require("./nest-graph-inspector.config");
20
20
  const nest_graph_inspector_module_1 = require("./nest-graph-inspector.module");
21
- const http_output_driver_1 = require("./drivers/http-output.driver");
22
- const file_output_driver_1 = require("./drivers/file-output.driver");
23
- const json_output_driver_1 = require("./drivers/json-output.driver");
24
- const viewer_output_driver_1 = require("./drivers/viewer-output.driver");
21
+ const http_output_adapter_1 = require("./adapters/http-output.adapter");
22
+ const file_output_adapter_1 = require("./adapters/file-output.adapter");
23
+ const json_output_adapter_1 = require("./adapters/json-output.adapter");
24
+ const viewer_output_adapter_1 = require("./adapters/viewer-output.adapter");
25
25
  let NestGraphInspectorSetup = NestGraphInspectorSetup_1 = class NestGraphInspectorSetup {
26
26
  options;
27
27
  modulesContainer;
@@ -74,6 +74,7 @@ let NestGraphInspectorSetup = NestGraphInspectorSetup_1 = class NestGraphInspect
74
74
  }
75
75
  const graphOutput = this.enrichModuleMap(moduleMap);
76
76
  await Promise.all(this.options.outputs.map(async (output) => {
77
+ output = this.withDefaultOutputOptions(output);
77
78
  const adapter = this.outputAdapters[output.type];
78
79
  if (!adapter) {
79
80
  this.logger.warn(`Unsupported output type: ${output.type}`);
@@ -88,6 +89,22 @@ let NestGraphInspectorSetup = NestGraphInspectorSetup_1 = class NestGraphInspect
88
89
  }
89
90
  }));
90
91
  }
92
+ withDefaultOutputOptions(output) {
93
+ if (output.type !== 'viewer') {
94
+ return output;
95
+ }
96
+ const defaultViewerOutput = nest_graph_inspector_module_1.defaultOptions.outputs?.find((defaultOutput) => defaultOutput.type === 'viewer');
97
+ if (!defaultViewerOutput || defaultViewerOutput.type !== 'viewer') {
98
+ return output;
99
+ }
100
+ return {
101
+ ...output,
102
+ ollama: {
103
+ ...defaultViewerOutput.ollama,
104
+ ...output.ollama,
105
+ },
106
+ };
107
+ }
91
108
  buildModuleMapFromAutoDetect() {
92
109
  const root = this.findRootModule();
93
110
  return this.buildModuleMapFromRef(root);
@@ -119,7 +136,7 @@ let NestGraphInspectorSetup = NestGraphInspectorSetup_1 = class NestGraphInspect
119
136
  modules[this.nestCoreModuleName] = this.buildNestCoreModule(usedNestCoreProviders);
120
137
  }
121
138
  return {
122
- version: '1',
139
+ version: '3',
123
140
  root: this.moduleName(root),
124
141
  modules,
125
142
  };
@@ -398,8 +415,199 @@ let NestGraphInspectorSetup = NestGraphInspectorSetup_1 = class NestGraphInspect
398
415
  return {
399
416
  ...moduleMap,
400
417
  modules: enrichedModules,
418
+ cycles: this.findGraphCycles(enrichedModules),
419
+ };
420
+ }
421
+ findGraphCycles(modules) {
422
+ let nextId = 1;
423
+ const nextCycleId = () => nextId++;
424
+ return {
425
+ modules: this.findModuleCycles(modules, nextCycleId),
426
+ ...this.findDependencyCycles(modules, nextCycleId),
427
+ };
428
+ }
429
+ findModuleCycles(modules, nextCycleId) {
430
+ const graph = this.createGraph(Object.keys(modules));
431
+ for (const [moduleName, moduleData] of Object.entries(modules)) {
432
+ for (const importedModuleName of moduleData.imports) {
433
+ if (modules[importedModuleName]) {
434
+ graph.get(moduleName)?.add(importedModuleName);
435
+ }
436
+ }
437
+ }
438
+ return this.findCycles(graph, nextCycleId);
439
+ }
440
+ findDependencyCycles(modules, nextCycleId) {
441
+ const nodes = new Map();
442
+ for (const [moduleName, moduleData] of Object.entries(modules)) {
443
+ for (const provider of moduleData.providers) {
444
+ const key = this.dependencyNodeKey(moduleName, provider.name);
445
+ nodes.set(key, {
446
+ key,
447
+ kind: 'provider',
448
+ moduleName,
449
+ name: provider.name,
450
+ });
451
+ }
452
+ for (const controller of moduleData.controllers) {
453
+ const key = this.dependencyNodeKey(moduleName, controller.name);
454
+ nodes.set(key, {
455
+ key,
456
+ kind: 'controller',
457
+ moduleName,
458
+ name: controller.name,
459
+ });
460
+ }
461
+ }
462
+ const graph = this.createGraph([...nodes.keys()]);
463
+ for (const [moduleName, moduleData] of Object.entries(modules)) {
464
+ for (const provider of moduleData.providers) {
465
+ this.addDependencyEdges(graph, this.dependencyNodeKey(moduleName, provider.name), provider.dependencies, nodes);
466
+ }
467
+ for (const controller of moduleData.controllers) {
468
+ this.addDependencyEdges(graph, this.dependencyNodeKey(moduleName, controller.name), controller.dependencies, nodes);
469
+ }
470
+ }
471
+ const cycles = this.findCycles(graph, nextCycleId);
472
+ return {
473
+ providers: cycles
474
+ .filter((cycle) => nodes.get(cycle.from)?.kind === 'provider')
475
+ .map((cycle) => this.toProviderCycle(cycle, nodes)),
476
+ controllers: cycles.filter((cycle) => nodes.get(cycle.from)?.kind === 'controller'),
477
+ };
478
+ }
479
+ addDependencyEdges(graph, sourceKey, dependencies, nodes) {
480
+ const sourceEdges = graph.get(sourceKey);
481
+ if (!sourceEdges) {
482
+ return;
483
+ }
484
+ for (const dependency of dependencies) {
485
+ const targetKey = this.dependencyNodeKey(dependency.providedBy.name, dependency.token);
486
+ if (nodes.has(targetKey)) {
487
+ sourceEdges.add(targetKey);
488
+ }
489
+ }
490
+ }
491
+ createGraph(keys) {
492
+ const graph = new Map();
493
+ for (const key of keys) {
494
+ graph.set(key, new Set());
495
+ }
496
+ return graph;
497
+ }
498
+ findCycles(graph, nextCycleId) {
499
+ const cycles = [];
500
+ const seenCycleKeys = new Set();
501
+ const reachableKeys = new Map();
502
+ for (const source of graph.keys()) {
503
+ reachableKeys.set(source, this.findReachableKeys(source, graph));
504
+ }
505
+ for (const [source, targets] of graph) {
506
+ for (const target of targets) {
507
+ if (source !== target && !reachableKeys.get(target)?.has(source)) {
508
+ continue;
509
+ }
510
+ const path = source === target
511
+ ? [source, source]
512
+ : [source, ...this.findPath(target, source, graph)];
513
+ const cycleKey = this.getCanonicalCycleKey(path);
514
+ if (seenCycleKeys.has(cycleKey)) {
515
+ continue;
516
+ }
517
+ seenCycleKeys.add(cycleKey);
518
+ cycles.push({
519
+ id: nextCycleId(),
520
+ from: source,
521
+ to: target,
522
+ type: this.getCycleType(source, target, graph),
523
+ path,
524
+ });
525
+ }
526
+ }
527
+ return cycles;
528
+ }
529
+ getCanonicalCycleKey(path) {
530
+ const cyclePath = path.slice(0, -1);
531
+ if (cyclePath.length <= 1) {
532
+ return cyclePath.join('->');
533
+ }
534
+ const rotations = cyclePath.map((_, index) => [
535
+ ...cyclePath.slice(index),
536
+ ...cyclePath.slice(0, index),
537
+ ]);
538
+ return rotations
539
+ .map((rotation) => rotation.join('->'))
540
+ .sort((a, b) => a.localeCompare(b))[0];
541
+ }
542
+ toProviderCycle(cycle, nodes) {
543
+ return {
544
+ ...cycle,
545
+ path: cycle.path.map((key) => this.toProviderCyclePathItem(key, nodes)),
401
546
  };
402
547
  }
548
+ toProviderCyclePathItem(key, nodes) {
549
+ const node = nodes.get(key);
550
+ if (node) {
551
+ return {
552
+ module: { name: node.moduleName },
553
+ provider: { name: node.name },
554
+ };
555
+ }
556
+ const separatorIndex = key.indexOf(':');
557
+ if (separatorIndex === -1) {
558
+ return {
559
+ module: { name: '' },
560
+ provider: { name: key },
561
+ };
562
+ }
563
+ return {
564
+ module: { name: key.slice(0, separatorIndex) },
565
+ provider: { name: key.slice(separatorIndex + 1) },
566
+ };
567
+ }
568
+ getCycleType(source, target, graph) {
569
+ if (source === target || graph.get(target)?.has(source)) {
570
+ return 'direct';
571
+ }
572
+ return 'indirect';
573
+ }
574
+ findPath(source, target, graph) {
575
+ const visited = new Set();
576
+ const pendingPaths = [[source]];
577
+ while (pendingPaths.length > 0) {
578
+ const currentPath = pendingPaths.shift();
579
+ const current = currentPath?.[currentPath.length - 1];
580
+ if (!currentPath || !current || visited.has(current)) {
581
+ continue;
582
+ }
583
+ if (current === target) {
584
+ return currentPath;
585
+ }
586
+ visited.add(current);
587
+ for (const next of graph.get(current) ?? []) {
588
+ pendingPaths.push([...currentPath, next]);
589
+ }
590
+ }
591
+ return [source, target];
592
+ }
593
+ findReachableKeys(source, graph) {
594
+ const reachableKeys = new Set();
595
+ const pendingKeys = [...(graph.get(source) ?? [])];
596
+ while (pendingKeys.length > 0) {
597
+ const currentKey = pendingKeys.pop();
598
+ if (!currentKey || reachableKeys.has(currentKey)) {
599
+ continue;
600
+ }
601
+ reachableKeys.add(currentKey);
602
+ for (const nextKey of graph.get(currentKey) ?? []) {
603
+ pendingKeys.push(nextKey);
604
+ }
605
+ }
606
+ return reachableKeys;
607
+ }
608
+ dependencyNodeKey(moduleName, dependencyName) {
609
+ return `${moduleName}:${dependencyName}`;
610
+ }
403
611
  enrichDependency(dependency, currentModule) {
404
612
  const colonIndex = dependency.indexOf(':');
405
613
  if (colonIndex !== -1) {
@@ -422,9 +630,9 @@ exports.NestGraphInspectorSetup = NestGraphInspectorSetup = NestGraphInspectorSe
422
630
  (0, common_1.Injectable)(),
423
631
  __param(0, (0, common_1.Inject)(nest_graph_inspector_config_1.MODULE_OPTIONS_TOKEN)),
424
632
  __metadata("design:paramtypes", [Object, core_1.ModulesContainer,
425
- http_output_driver_1.HttpOutputDriver,
426
- file_output_driver_1.FileOutputDriver,
427
- json_output_driver_1.JsonOutputDriver,
428
- viewer_output_driver_1.ViewerOutputDriver])
633
+ http_output_adapter_1.HttpOutputAdapter,
634
+ file_output_adapter_1.FileOutputAdapter,
635
+ json_output_adapter_1.JsonOutputAdapter,
636
+ viewer_output_adapter_1.ViewerOutputAdapter])
429
637
  ], NestGraphInspectorSetup);
430
638
  //# sourceMappingURL=nest-graph-inspector.setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nest-graph-inspector.setup.js","sourceRoot":"","sources":["../../../../libs/nest-graph-inspector/src/nest-graph-inspector.setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nest-graph-inspector.setup.js","sourceRoot":"","sources":["../../../../libs/nest-graph-inspector/src/nest-graph-inspector.setup.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAgF;AAChF,uCAAgD;AAChD,+EAAqE;AAKrE,+EAGuC;AAevC,wEAAmE;AACnE,wEAAmE;AACnE,wEAAmE;AACnE,4EAAuE;AAahE,IAAM,uBAAuB,+BAA7B,MAAM,uBAAuB;IAaf;IACA;IACA;IACA;IACA;IACA;IAjBF,MAAM,GAAG,IAAI,eAAM,CAAC,yBAAuB,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,CAG7B;IACe,cAAc,CAAW;IACzB,YAAY,CAAW;IACvB,kBAAkB,CAAS;IAC3B,iBAAiB,CAAW;IAE7C,YAEmB,OAAwC,EACxC,gBAAkC,EAClC,iBAAoC,EACpC,iBAAoC,EACpC,iBAAoC,EACpC,mBAAwC;QALxC,YAAO,GAAP,OAAO,CAAiC;QACxC,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACpC,wBAAmB,GAAnB,mBAAmB,CAAqB;QAEzD,IAAI,CAAC,cAAc,GAAG;YACpB,IAAI,EAAE,IAAI,CAAC,iBAAiB;YAC5B,QAAQ,EAAE,IAAI,CAAC,iBAAiB;YAChC,IAAI,EAAE,IAAI,CAAC,iBAAiB;YAC5B,MAAM,EAAE,IAAI,CAAC,mBAAmB;SACjC,CAAC;QACF,IAAI,CAAC,cAAc,GAAG;YACpB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,4CAAc,CAAC,cAAc,IAAI,EAAE,CAAC;SACxE,CAAC;QACF,IAAI,CAAC,YAAY,GAAG;YAClB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,4CAAc,CAAC,YAAY,IAAI,EAAE,CAAC;SACpE,CAAC;QACF,IAAI,CAAC,kBAAkB;YACrB,IAAI,CAAC,OAAO,CAAC,kBAAkB;gBAC/B,4CAAc,CAAC,kBAAkB;gBACjC,kBAAkB,CAAC;QACrB,IAAI,CAAC,iBAAiB,GAAG;YACvB,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,iBAAiB;gBAChC,4CAAc,CAAC,iBAAiB;gBAChC,EAAE,CAAC;SACN,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC;QAChD,MAAM,SAAS,GAAG,eAAe;YAC/B,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YACtC,CAAC,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC;QAExC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAEpD,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE;YACxC,MAAM,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5D,OAAO;YACT,CAAC;YAED,IAAI,CAAC;gBACH,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,KAAK,CACf,6CAA6C,MAAM,CAAC,IAAI,EAAE,EAC1D,GAAG,CACJ,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CACH,CAAC;IACJ,CAAC;IAEO,wBAAwB,CAC9B,MAAgC;QAEhC,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,mBAAmB,GAAG,4CAAc,CAAC,OAAO,EAAE,IAAI,CACtD,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,IAAI,KAAK,QAAQ,CACnD,CAAC;QAEF,IAAI,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClE,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO;YACL,GAAG,MAAM;YACT,MAAM,EAAE;gBACN,GAAG,mBAAmB,CAAC,MAAM;gBAC7B,GAAG,MAAM,CAAC,MAAM;aACjB;SACF,CAAC;IACJ,CAAC;IAED,4BAA4B;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,cAAc,CAAC,eAAqB;QAClC,MAAM,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,eAAe,CACtC,CAAC;QAEF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,KAAK,CAAC,0BAA0B,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC1C,CAAC;IAEO,qBAAqB,CAAC,IAAS;QACrC,MAAM,SAAS,GAAG,IAAI,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,GAAG,EAAW,CAAC,CAAC;QACzE,MAAM,OAAO,GAA4B,EAAE,CAAC;QAE5C,KAAK,MAAM,SAAS,IAAI,SAAS,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAC9C,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3C,SAAS;YACX,CAAC;YAED,OAAO,CAAC,UAAU,CAAC,GAAG;gBACpB,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;gBACvC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;gBACvC,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,CAAC;gBACvD,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,UAAU,CAAC;aAC5D,CAAC;QACJ,CAAC;QAED,MAAM,qBAAqB,GAAG,IAAI,CAAC,yBAAyB,CAAC,OAAO,CAAC,CAAC;QAEtE,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CACzD,qBAAqB,CACtB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,GAAG;YACZ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3B,OAAO;SACR,CAAC;IACJ,CAAC;IAKO,cAAc;QACpB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;YAE9C,IACE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC;gBACtC,UAAU,KAAK,oBAAoB,EACnC,CAAC;gBACD,SAAS;YACX,CAAC;YAED,KAAK,MAAM,cAAc,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACxD,IAAI,cAAc,CAAC,QAAQ,KAAK,sDAAwB,EAAE,CAAC;oBACzD,OAAO,SAAS,CAAC;gBACnB,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CACb,gFAAgF,CACjF,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,aAAuB;QACjD,OAAO;YACL,OAAO,EAAE,EAAE;YACX,OAAO,EAAE,CAAC,GAAG,aAAa,CAAC;YAC3B,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;gBAC9C,IAAI,EAAE,YAAY;gBAClB,YAAY,EAAE,EAAE;aACjB,CAAC,CAAC;YACH,WAAW,EAAE,EAAE;SAChB,CAAC;IACJ,CAAC;IAEO,yBAAyB,CAC/B,OAAgC;QAEhC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QAExC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAChD,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC5C,KAAK,MAAM,cAAc,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;oBACnD,MAAM,oBAAoB,GACxB,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;oBAEnD,IAAI,oBAAoB,EAAE,CAAC;wBACzB,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;YAED,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAChD,KAAK,MAAM,cAAc,IAAI,UAAU,CAAC,YAAY,EAAE,CAAC;oBACrD,MAAM,oBAAoB,GACxB,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,CAAC;oBAEnD,IAAI,oBAAoB,EAAE,CAAC;wBACzB,aAAa,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;oBAC1C,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,YAAY,EAAE,EAAE,CACpD,aAAa,CAAC,GAAG,CAAC,YAAY,CAAC,CAChC,CAAC;IACJ,CAAC;IAEO,2BAA2B,CAAC,cAAsB;QACxD,MAAM,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,GAAG,CAAC;QAE7C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACvC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACzD,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAEO,uBAAuB,CAAC,IAAS,EAAE,OAAqB;QAC9D,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,OAAO,EAAE,CAAC;QAEjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC7C,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,cAAc,CAAC,SAAc;QACnC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACnC,GAAG,CAAC,CAAC,iBAAsB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;aACnE,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC;IACrE,CAAC;IAEO,cAAc,CAAC,SAAc;QACnC,OAAO,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aACnC,GAAG,CAAC,CAAC,YAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;aACzD,MAAM,CACL,CAAC,UAAU,EAAwB,EAAE,CACnC,CAAC,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAC5D,CAAC;IACN,CAAC;IAEO,gBAAgB,CACtB,SAAc,EACd,UAAkB;QAElB,OAAO,CAAC,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aACrC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE,CACpB,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CACrD;aACA,MAAM,CAAC,CAAC,QAAQ,EAA8B,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAClE,CAAC;IAEO,kBAAkB,CACxB,SAAc,EACd,UAAkB;QAElB,OAAO,CAAC,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;aACvC,GAAG,CAAC,CAAC,OAAY,EAAE,EAAE,CACpB,IAAI,CAAC,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,SAAS,CAAC,CACvD;aACA,MAAM,CAAC,CAAC,UAAU,EAAkC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC1E,CAAC;IAEO,eAAe,CACrB,OAAY,EACZ,UAAkB,EAClB,SAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC;SAC3D,CAAC;IACJ,CAAC;IAEO,iBAAiB,CACvB,OAAY,EACZ,UAAkB,EAClB,SAAc;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO;YACL,IAAI;YACJ,YAAY,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,SAAS,CAAC;SAC3D,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,OAAY,EAAE,SAAc;QACtD,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QAGvC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAAC;YACnC,KAAK,MAAM,KAAK,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACnC,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBACpE,IAAI,cAAc,EAAE,CAAC;oBACnB,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAGD,MAAM,QAAQ,GAAU,OAAO,EAAE,eAAe,EAAE,EAAE,IAAI,EAAE,CAAC;QAC3D,KAAK,MAAM,UAAU,IAAI,QAAQ,EAAE,CAAC;YAClC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,EACnC,SAAS,CACV,CAAC;gBACF,IAAI,cAAc,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;oBAClD,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAGD,MAAM,YAAY,GAAU,OAAO,EAAE,qBAAqB,EAAE,EAAE,IAAI,EAAE,CAAC;QACrE,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACvC,MAAM,UAAU,GAAG,WAAW,EAAE,OAAO,CAAC;YACxC,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAC/C,UAAU,CAAC,KAAK,IAAI,UAAU,CAAC,IAAI,EACnC,SAAS,CACV,CAAC;gBACF,IAAI,cAAc,IAAI,cAAc,KAAK,QAAQ,EAAE,CAAC;oBAClD,YAAY,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,GAAG,YAAY,CAAC,CAAC;IAC3B,CAAC;IAEO,qBAAqB,CAAC,KAAU,EAAE,SAAc;QACtD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/C,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,SAAS,EAAE,CAAC;QACnD,CAAC;QAED,MAAM,yBAAyB,GAAG,IAAI,CAAC,iCAAiC,CACtE,SAAS,EACT,KAAK,EACL,KAAK,CACN,CAAC;QAEF,IAAI,yBAAyB,EAAE,CAAC;YAC9B,OAAO,yBAAyB,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,iBAAiB,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YAED,MAAM,8BAA8B,GAClC,IAAI,CAAC,iCAAiC,CAAC,iBAAiB,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YAEzE,IAAI,8BAA8B,EAAE,CAAC;gBACnC,OAAO,8BAA8B,CAAC;YACxC,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,oBAAoB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IACzD,CAAC;IAEO,iCAAiC,CACvC,SAAc,EACd,KAAU,EACV,mBAA4B;QAE5B,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;QAE9C,KAAK,MAAM,OAAO,IAAI,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,CAAC;YACnD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;gBAC9C,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,mBAAmB,EAAE,CAAC;gBACxB,OAAO,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;YACzC,CAAC;YAED,OAAO,YAAY,CAAC;QACtB,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,mBAAmB,CAAC,OAAY,EAAE,KAAU;QAClD,IAAI,OAAO,EAAE,KAAK,KAAK,KAAK,EAAE,CAAC;YAC7B,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,EAAE,QAAQ,KAAK,KAAK,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,OAAO,EAAE,QAAQ,EAAE,WAAW,KAAK,KAAK,EAAE,CAAC;YAC7C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,aAAa,CAAC,SAAc;QAClC,OAAO,IAAI,GAAG,CACZ,CAAC,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;aAC5B,GAAG,CAAC,CAAC,YAAiB,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;aACzD,MAAM,CAAC,CAAC,UAAU,EAAwB,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAC9D,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,YAAiB;QAClC,OAAO,CACL,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC;YAC9B,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,KAAK,IAAI,YAAY,CAAC,CACpD,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAAC,SAAc,EAAE,KAAU;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAExC,KAAK,MAAM,YAAY,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtD,IACE,YAAY,KAAK,KAAK;gBACtB,YAAY,EAAE,KAAK,KAAK,KAAK;gBAC7B,YAAY,EAAE,QAAQ,KAAK,KAAK,EAChC,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,IAAI,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC7D,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,oBAAoB,CAAC,cAAsB,EAAE,SAAc;QACjE,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACpD,OAAO,GAAG,IAAI,CAAC,kBAAkB,IAAI,cAAc,EAAE,CAAC;QACxD,CAAC;QAED,KAAK,MAAM,iBAAiB,IAAI,SAAS,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YAC3D,MAAM,kBAAkB,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,CAAC;YAC9D,MAAM,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAE5D,IAAI,aAAa,CAAC,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC;gBACtC,OAAO,GAAG,kBAAkB,IAAI,cAAc,EAAE,CAAC;YACnD,CAAC;QACH,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,UAAU,CAAC,SAAc;QAC/B,OAAO,CACL,SAAS,CAAC,QAAQ,EAAE,IAAI;YACxB,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC;YAC/B,iBAAiB,CAClB,CAAC;IACJ,CAAC;IAEO,WAAW,CAAC,OAAY;QAC9B,OAAO,CACL,OAAO,EAAE,QAAQ,EAAE,IAAI;YACvB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI;YACpC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;YAC9B,IAAI,CACL,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,KAAU;QAC1B,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QACvD,IAAI,OAAO,KAAK,KAAK,UAAU;YAAE,OAAO,KAAK,CAAC,IAAI,CAAC;QACnD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAEO,eAAe,CAAC,SAAoB;QAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,OAAO,SAAmC,CAAC;QAC7C,CAAC;QAED,MAAM,eAAe,GAAsC,EAAE,CAAC;QAE9D,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;YACzE,eAAe,CAAC,UAAU,CAAC,GAAG;gBAC5B,GAAG,UAAU;gBACb,SAAS,EAAE,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBACjD,GAAG,QAAQ;oBACX,YAAY,EAAE,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CACvC;iBACF,CAAC,CAAC;gBACH,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;oBACvD,GAAG,UAAU;oBACb,YAAY,EAAE,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAChD,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,UAAU,CAAC,CACvC;iBACF,CAAC,CAAC;aACJ,CAAC;QACJ,CAAC;QAED,OAAO;YACL,GAAG,SAAS;YACZ,OAAO,EAAE,eAAe;YACxB,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,eAAe,CAAC;SAC9C,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,OAA0C;QAE1C,IAAI,MAAM,GAAG,CAAC,CAAC;QACf,MAAM,WAAW,GAAgB,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC;QAEhD,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,CAAC;YACpD,GAAG,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE,WAAW,CAAC;SACnD,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACtB,OAA0C,EAC1C,WAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAErD,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,KAAK,MAAM,kBAAkB,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACpD,IAAI,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAChC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAC;gBACjD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;IAC7C,CAAC;IAEO,oBAAoB,CAC1B,OAA0C,EAC1C,WAAwB;QAExB,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;QAEhD,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAC9D,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;oBACb,GAAG;oBACH,IAAI,EAAE,UAAU;oBAChB,UAAU;oBACV,IAAI,EAAE,QAAQ,CAAC,IAAI;iBACpB,CAAC,CAAC;YACL,CAAC;YAED,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAChD,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;gBAChE,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE;oBACb,GAAG;oBACH,IAAI,EAAE,YAAY;oBAClB,UAAU;oBACV,IAAI,EAAE,UAAU,CAAC,IAAI;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAElD,KAAK,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,SAAS,EAAE,CAAC;gBAC5C,IAAI,CAAC,kBAAkB,CACrB,KAAK,EACL,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,QAAQ,CAAC,IAAI,CAAC,EACjD,QAAQ,CAAC,YAAY,EACrB,KAAK,CACN,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,UAAU,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;gBAChD,IAAI,CAAC,kBAAkB,CACrB,KAAK,EACL,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAC,EACnD,UAAU,CAAC,YAAY,EACvB,KAAK,CACN,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAEnD,OAAO;YACL,SAAS,EAAE,MAAM;iBACd,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,UAAU,CAAC;iBAC7D,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;YACrD,WAAW,EAAE,MAAM,CAAC,MAAM,CACxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,YAAY,CACxD;SACF,CAAC;IACJ,CAAC;IAEO,kBAAkB,CACxB,KAA+B,EAC/B,SAAiB,EACjB,YAAwC,EACxC,KAAkC;QAElC,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,CACtC,UAAU,CAAC,UAAU,CAAC,IAAI,EAC1B,UAAU,CAAC,KAAK,CACjB,CAAC;YAEF,IAAI,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACzB,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,IAAc;QAChC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE7C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,GAAG,EAAU,CAAC,CAAC;QACpC,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,UAAU,CAChB,KAA+B,EAC/B,WAAwB;QAExB,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;QAErD,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACnE,CAAC;QAED,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,EAAE,CAAC;YACtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,MAAM,KAAK,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;oBACjE,SAAS;gBACX,CAAC;gBAED,MAAM,IAAI,GACR,MAAM,KAAK,MAAM;oBACf,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC;oBAClB,CAAC,CAAC,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;gBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;gBAEjD,IAAI,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAChC,SAAS;gBACX,CAAC;gBAED,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;gBAE5B,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,WAAW,EAAE;oBACjB,IAAI,EAAE,MAAM;oBACZ,EAAE,EAAE,MAAM;oBACV,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC;oBAC9C,IAAI;iBACL,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,oBAAoB,CAAC,IAAc;QACzC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,SAAS,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9B,CAAC;QAED,MAAM,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,CAAC;YAC5C,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC;YACzB,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC;SAC7B,CAAC,CAAC;QAEH,OAAO,SAAS;aACb,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACtC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAEO,eAAe,CACrB,KAAuB,EACvB,KAAkC;QAElC,OAAO;YACL,GAAG,KAAK;YACR,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,uBAAuB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;SACxE,CAAC;IACJ,CAAC;IAEO,uBAAuB,CAC7B,GAAW,EACX,KAAkC;QAElC,MAAM,IAAI,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,IAAI,EAAE,CAAC;YACT,OAAO;gBACL,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE;gBACjC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;aAC9B,CAAC;QACJ,CAAC;QAED,MAAM,cAAc,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;YAC1B,OAAO;gBACL,MAAM,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;gBACpB,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE;aACxB,CAAC;QACJ,CAAC;QAED,OAAO;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,EAAE;YAC9C,QAAQ,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,EAAE;SAClD,CAAC;IACJ,CAAC;IAEO,YAAY,CAClB,MAAc,EACd,MAAc,EACd,KAA+B;QAE/B,IAAI,MAAM,KAAK,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,QAAQ,CACd,MAAc,EACd,MAAc,EACd,KAA+B;QAE/B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAEhC,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,WAAW,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,WAAW,EAAE,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEtD,IAAI,CAAC,WAAW,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrD,SAAS;YACX,CAAC;YAED,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBACvB,OAAO,WAAW,CAAC;YACrB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAErB,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;gBAC5C,YAAY,CAAC,IAAI,CAAC,CAAC,GAAG,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;QAED,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEO,iBAAiB,CACvB,MAAc,EACd,KAA+B;QAE/B,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;QACxC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAEnD,OAAO,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAErC,IAAI,CAAC,UAAU,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjD,SAAS;YACX,CAAC;YAED,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAE9B,KAAK,MAAM,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;gBAClD,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAEO,iBAAiB,CACvB,UAAkB,EAClB,cAAsB;QAEtB,OAAO,GAAG,UAAU,IAAI,cAAc,EAAE,CAAC;IAC3C,CAAC;IAEO,gBAAgB,CACtB,UAAkB,EAClB,aAAqB;QAErB,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAE3C,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE,CAAC;YACtB,OAAO;gBACL,UAAU,EAAE;oBACV,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC;iBAC1C;gBACD,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC;aAC5C,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE;YACnD,KAAK,EAAE,UAAU;SAClB,CAAC;IACJ,CAAC;CACF,CAAA;AAt2BY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,mBAAU,GAAE;IAaR,WAAA,IAAA,eAAM,EAAC,kDAAoB,CAAC,CAAA;6CAEM,uBAAgB;QACf,uCAAiB;QACjB,uCAAiB;QACjB,uCAAiB;QACf,2CAAmB;GAlBhD,uBAAuB,CAs2BnC"}
@@ -1,8 +1,15 @@
1
1
  import { Type } from '@nestjs/common';
2
+ export type NestGraphInspectorOllamaProxyOptions = {
3
+ origin?: string;
4
+ path?: string;
5
+ };
2
6
  export type NestGraphInspectorOutput = {
3
7
  type: 'viewer';
4
8
  origin?: string;
9
+ host?: string;
10
+ port?: number;
5
11
  path?: string;
12
+ ollama?: NestGraphInspectorOllamaProxyOptions;
6
13
  } | {
7
14
  type: 'markdown';
8
15
  path: string;
@@ -11,6 +18,9 @@ export type NestGraphInspectorOutput = {
11
18
  path: string;
12
19
  } | {
13
20
  type: 'http';
21
+ origin?: string;
22
+ host?: string;
23
+ port?: number;
14
24
  path?: string;
15
25
  };
16
26
  export interface NestGraphInspectorModuleOptions {
@@ -0,0 +1,15 @@
1
+ export type ProxyCorsOptions = {
2
+ origins: Array<string | RegExp>;
3
+ methods?: string[];
4
+ allowHeaders?: string | string[];
5
+ credentials?: boolean;
6
+ };
7
+ export type ProxyGatewayOptions = {
8
+ from: string;
9
+ to: string;
10
+ cors?: ProxyCorsOptions | false;
11
+ };
12
+ export interface ProxyGateway {
13
+ serve(options: ProxyGatewayOptions): Promise<void>;
14
+ close(): void;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=proxy.gateway.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"proxy.gateway.js","sourceRoot":"","sources":["../../../../../libs/nest-graph-inspector/src/ports/proxy.gateway.ts"],"names":[],"mappings":""}
@@ -19,8 +19,35 @@ export type GraphOutputModule = {
19
19
  providers: GraphOutputProvider[];
20
20
  controllers: GraphOutputController[];
21
21
  };
22
+ export type GraphOutputCycleType = 'direct' | 'indirect';
23
+ export type GraphOutputCycleBase = {
24
+ id: number;
25
+ from: string;
26
+ to: string;
27
+ type: GraphOutputCycleType;
28
+ };
29
+ export type GraphOutputCycle = GraphOutputCycleBase & {
30
+ path: string[];
31
+ };
32
+ export type GraphOutputProviderCyclePathItem = {
33
+ module: {
34
+ name: string;
35
+ };
36
+ provider: {
37
+ name: string;
38
+ };
39
+ };
40
+ export type GraphOutputProviderCycle = GraphOutputCycleBase & {
41
+ path: GraphOutputProviderCyclePathItem[];
42
+ };
43
+ export type GraphOutputCycles = {
44
+ modules: GraphOutputCycle[];
45
+ providers: GraphOutputProviderCycle[];
46
+ controllers: GraphOutputCycle[];
47
+ };
22
48
  export type GraphOutput = {
23
49
  version: string;
24
50
  root: string;
25
51
  modules: Record<string, GraphOutputModule>;
52
+ cycles: GraphOutputCycles;
26
53
  };