bc-code-intelligence-mcp 1.6.1 → 1.7.1

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 (63) hide show
  1. package/README.md +15 -6
  2. package/dist/cli.d.ts +9 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +190 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +9 -3
  8. package/dist/index.js.map +1 -1
  9. package/dist/layers/embedded-layer.d.ts +4 -0
  10. package/dist/layers/embedded-layer.d.ts.map +1 -1
  11. package/dist/layers/embedded-layer.js +64 -2
  12. package/dist/layers/embedded-layer.js.map +1 -1
  13. package/dist/layers/git-layer.d.ts +13 -0
  14. package/dist/layers/git-layer.d.ts.map +1 -1
  15. package/dist/layers/git-layer.js +111 -8
  16. package/dist/layers/git-layer.js.map +1 -1
  17. package/dist/layers/project-layer.d.ts +4 -0
  18. package/dist/layers/project-layer.d.ts.map +1 -1
  19. package/dist/layers/project-layer.js +61 -2
  20. package/dist/layers/project-layer.js.map +1 -1
  21. package/dist/sdk/bc-code-intel-client.d.ts +70 -0
  22. package/dist/sdk/bc-code-intel-client.d.ts.map +1 -0
  23. package/dist/sdk/bc-code-intel-client.js +191 -0
  24. package/dist/sdk/bc-code-intel-client.js.map +1 -0
  25. package/dist/services/multi-content-layer-service.d.ts.map +1 -1
  26. package/dist/services/multi-content-layer-service.js +57 -6
  27. package/dist/services/multi-content-layer-service.js.map +1 -1
  28. package/dist/services/snapshot-service.d.ts +94 -0
  29. package/dist/services/snapshot-service.d.ts.map +1 -0
  30. package/dist/services/snapshot-service.js +323 -0
  31. package/dist/services/snapshot-service.js.map +1 -0
  32. package/dist/services/specialist-discovery.js +3 -3
  33. package/dist/services/specialist-discovery.js.map +1 -1
  34. package/dist/services/workflow-specialist-router.d.ts.map +1 -1
  35. package/dist/services/workflow-specialist-router.js +2 -1
  36. package/dist/services/workflow-specialist-router.js.map +1 -1
  37. package/dist/tools/ask_bc_expert/handler.d.ts.map +1 -1
  38. package/dist/tools/ask_bc_expert/handler.js +52 -9
  39. package/dist/tools/ask_bc_expert/handler.js.map +1 -1
  40. package/dist/tools/extract_bc_snapshot/handler.d.ts +8 -0
  41. package/dist/tools/extract_bc_snapshot/handler.d.ts.map +1 -0
  42. package/dist/tools/extract_bc_snapshot/handler.js +81 -0
  43. package/dist/tools/extract_bc_snapshot/handler.js.map +1 -0
  44. package/dist/tools/extract_bc_snapshot/schema.d.ts +8 -0
  45. package/dist/tools/extract_bc_snapshot/schema.d.ts.map +1 -0
  46. package/dist/tools/extract_bc_snapshot/schema.js +20 -0
  47. package/dist/tools/extract_bc_snapshot/schema.js.map +1 -0
  48. package/dist/tools/handlers.d.ts.map +1 -1
  49. package/dist/tools/handlers.js +2 -0
  50. package/dist/tools/handlers.js.map +1 -1
  51. package/dist/tools/index.d.ts +2 -0
  52. package/dist/tools/index.d.ts.map +1 -1
  53. package/dist/tools/index.js +7 -2
  54. package/dist/tools/index.js.map +1 -1
  55. package/dist/types/bc-knowledge.d.ts +75 -55
  56. package/dist/types/bc-knowledge.d.ts.map +1 -1
  57. package/dist/types/bc-knowledge.js +2 -2
  58. package/dist/types/bc-knowledge.js.map +1 -1
  59. package/dist/types/config-types.d.ts +2 -1
  60. package/dist/types/config-types.d.ts.map +1 -1
  61. package/dist/types/config-types.js +1 -0
  62. package/dist/types/config-types.js.map +1 -1
  63. package/package.json +4 -1
package/README.md CHANGED
@@ -50,6 +50,18 @@ The BC Code Intelligence specialists are ready to help. Just type naturally - he
50
50
  - "I inherited this old extension - can Logan help me understand what it does?"
51
51
  - "Help me modernize this C/AL-style code to proper AL patterns"
52
52
 
53
+ ### 🔄 Version Migration & Breaking Changes (Victor)
54
+ - "Victor, help me upgrade from BC25 to BC26"
55
+ - "I'm seeing obsolete warnings after upgrading - what do I need to change?"
56
+ - "What breaking changes should I know about in BC27?"
57
+ - "Help me resolve this compile error after a runtime upgrade"
58
+
59
+ ### 🔧 DevOps & CI/CD (Lena)
60
+ - "Lena, help me set up AL-Go for my BC extension"
61
+ - "I need to configure an Azure DevOps pipeline with ALOps"
62
+ - "How do I use BCContainerHelper for local BC development?"
63
+ - "Help me integrate Cosmo Alpaca for automated testing"
64
+
53
65
  ### 🏗️ Architecture & Design (Alex)
54
66
  - "Alex, review my extension's architecture before I submit to AppSource"
55
67
  - "I need to design an integration with an external warehouse system"
@@ -105,10 +117,6 @@ The BC Code Intelligence specialists are ready to help. Just type naturally - he
105
117
  - "Generate XML documentation for my public procedures"
106
118
  - "Review my app's README for completeness"
107
119
 
108
- ### 🤖 AI-Assisted Development (Casey)
109
- - "Casey, help me use AI tools effectively in my BC development"
110
- - "Based on this current project, what are some good instructions to help future agents understand working with this app immediately?"
111
-
112
120
  ---
113
121
 
114
122
  ## 👥 Meet Your BC Specialist Team
@@ -125,12 +133,13 @@ The BC Code Intelligence specialists are ready to help. Just type naturally - he
125
133
  | **🔒 Seth** | Security | Permissions, data protection, API security |
126
134
  | **🌉 Jordan** | Integration | APIs, events, external connections |
127
135
  | **🏛️ Logan** | Legacy & Upgrades | Version migrations, old code, modernization |
136
+ | **🔄 Victor** | Version Migration | BC upgrades, breaking changes, deprecations |
137
+ | **🔧 Lena** | DevOps & CI/CD | AL-Go, ALOps, BCContainerHelper, pipelines |
128
138
  | **🎨 Uma** | User Experience | Page design, usability, UI patterns |
129
139
  | **🏪 Morgan** | AppSource & ISV | Publishing, validation, business concerns |
130
140
  | **👩‍🏫 Maya** | Mentoring | Learning concepts, explanations, training |
131
141
  | **📚 Taylor** | Documentation | Code docs, READMEs, knowledge sharing |
132
- | **🤖 Casey** | AI Development | Using AI tools, prompt engineering |
133
- | **⚙️ Chris** | MCP Configuiration | Company/Project MCP knowledge layer help|
142
+ | **⚙️ Chris** | MCP Configuration | Company/Project MCP knowledge layer help |
134
143
 
135
144
  ---
136
145
 
package/dist/cli.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * BC Code Intelligence CLI
4
+ *
5
+ * Command-line interface for direct specialist access without MCP registration.
6
+ * Allows on-demand specialist queries, reducing context overhead.
7
+ */
8
+ export {};
9
+ //# sourceMappingURL=cli.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;GAKG"}
package/dist/cli.js ADDED
@@ -0,0 +1,190 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * BC Code Intelligence CLI
4
+ *
5
+ * Command-line interface for direct specialist access without MCP registration.
6
+ * Allows on-demand specialist queries, reducing context overhead.
7
+ */
8
+ import { program } from 'commander';
9
+ import { readFileSync } from 'fs';
10
+ import { fileURLToPath } from 'url';
11
+ import { dirname, join } from 'path';
12
+ // Import the MCP server for programmatic access
13
+ import { BCCodeIntelClient } from './sdk/bc-code-intel-client.js';
14
+ const __filename = fileURLToPath(import.meta.url);
15
+ const __dirname = dirname(__filename);
16
+ // Load package.json for version
17
+ function getVersion() {
18
+ try {
19
+ const packagePath = join(__dirname, '..', 'package.json');
20
+ const packageJson = JSON.parse(readFileSync(packagePath, 'utf8'));
21
+ return packageJson.version || '1.0.0';
22
+ }
23
+ catch {
24
+ return '1.0.0';
25
+ }
26
+ }
27
+ /**
28
+ * Main CLI program
29
+ */
30
+ program
31
+ .name('bc-code-intel')
32
+ .description('BC Code Intelligence - Direct specialist access from command line')
33
+ .version(getVersion());
34
+ /**
35
+ * ask - Ask any BC question (auto-routes to best specialist)
36
+ */
37
+ program
38
+ .command('ask <question>')
39
+ .description('Ask any BC question - automatically routes to the best specialist')
40
+ .option('-c, --context <context>', 'Additional context or code snippet')
41
+ .option('-f, --code-file <file>', 'Path to code file for context')
42
+ .option('--json', 'Output as JSON for scripting')
43
+ .action(async (question, options) => {
44
+ try {
45
+ const client = new BCCodeIntelClient();
46
+ await client.connect();
47
+ // Read code file if provided
48
+ let codeContext = options.context || '';
49
+ if (options.codeFile) {
50
+ const { readFileSync } = await import('fs');
51
+ codeContext += '\\n\\n' + readFileSync(options.codeFile, 'utf-8');
52
+ }
53
+ const result = await client.askExpert(question, {
54
+ context: codeContext
55
+ });
56
+ if (options.json) {
57
+ console.log(JSON.stringify(result, null, 2));
58
+ }
59
+ else {
60
+ // Formatted output
61
+ console.log(`\\n💬 ${result.specialist.name} (${result.specialist.role}):\\n`);
62
+ console.log(result.response);
63
+ if (result.recommended_topics && result.recommended_topics.length > 0) {
64
+ console.log(`\\n📚 Related topics:`);
65
+ result.recommended_topics.slice(0, 3).forEach((topic) => {
66
+ console.log(` - ${topic.title}`);
67
+ });
68
+ }
69
+ if (result.follow_up_suggestions && result.follow_up_suggestions.length > 0) {
70
+ console.log(`\\n🤝 For more help, consider:`);
71
+ result.follow_up_suggestions.forEach((s) => {
72
+ console.log(` - ${s}`);
73
+ });
74
+ }
75
+ }
76
+ await client.disconnect();
77
+ process.exit(0);
78
+ }
79
+ catch (error) {
80
+ console.error('Error:', error instanceof Error ? error.message : String(error));
81
+ process.exit(1);
82
+ }
83
+ });
84
+ /**
85
+ * who-should-help - Find the right specialist for a question
86
+ */
87
+ program
88
+ .command('who-should-help <question>')
89
+ .description('Suggest the best specialist for your question')
90
+ .option('--json', 'Output as JSON')
91
+ .action(async (question, options) => {
92
+ try {
93
+ const client = new BCCodeIntelClient();
94
+ await client.connect();
95
+ const result = await client.suggestSpecialist(question);
96
+ if (options.json) {
97
+ console.log(JSON.stringify(result, null, 2));
98
+ }
99
+ else {
100
+ console.log(`\\n🎯 Best specialist for "${question}":\\n`);
101
+ console.log(` ${result.specialist.emoji} ${result.specialist.name}`);
102
+ console.log(` Role: ${result.specialist.role}`);
103
+ console.log(` Expertise: ${result.specialist.expertise.join(', ')}`);
104
+ if (result.confidence) {
105
+ console.log(` Confidence: ${(result.confidence * 100).toFixed(0)}%`);
106
+ }
107
+ if (result.alternatives && result.alternatives.length > 0) {
108
+ console.log(`\\n Other options: ${result.alternatives.join(', ')}`);
109
+ }
110
+ }
111
+ await client.disconnect();
112
+ process.exit(0);
113
+ }
114
+ catch (error) {
115
+ console.error('Error:', error instanceof Error ? error.message : String(error));
116
+ process.exit(1);
117
+ }
118
+ });
119
+ /**
120
+ * talk-to - Talk to a specific specialist
121
+ */
122
+ program
123
+ .command('talk-to <specialist> <question>')
124
+ .description('Ask a question to a specific specialist')
125
+ .option('-c, --context <context>', 'Additional context')
126
+ .option('-f, --code-file <file>', 'Path to code file for context')
127
+ .option('--json', 'Output as JSON')
128
+ .action(async (specialistId, question, options) => {
129
+ try {
130
+ const client = new BCCodeIntelClient();
131
+ await client.connect();
132
+ // Read code file if provided
133
+ let codeContext = options.context || '';
134
+ if (options.codeFile) {
135
+ const { readFileSync } = await import('fs');
136
+ codeContext += '\\n\\n' + readFileSync(options.codeFile, 'utf-8');
137
+ }
138
+ const result = await client.getSpecialistAdvice(specialistId, question, {
139
+ context: codeContext
140
+ });
141
+ if (options.json) {
142
+ console.log(JSON.stringify(result, null, 2));
143
+ }
144
+ else {
145
+ console.log(`\\n${result.specialist.emoji} ${result.specialist.name}:\\n`);
146
+ console.log(result.response);
147
+ }
148
+ await client.disconnect();
149
+ process.exit(0);
150
+ }
151
+ catch (error) {
152
+ console.error('Error:', error instanceof Error ? error.message : String(error));
153
+ process.exit(1);
154
+ }
155
+ });
156
+ /**
157
+ * specialists - List all available specialists
158
+ */
159
+ program
160
+ .command('specialists')
161
+ .description('List all available BC specialists')
162
+ .option('--json', 'Output as JSON')
163
+ .action(async (options) => {
164
+ try {
165
+ const client = new BCCodeIntelClient();
166
+ await client.connect();
167
+ const specialists = await client.discoverSpecialists();
168
+ if (options.json) {
169
+ console.log(JSON.stringify(specialists, null, 2));
170
+ }
171
+ else {
172
+ console.log('\\n📋 Available BC Specialists:\\n');
173
+ for (const specialist of specialists) {
174
+ console.log(` ${specialist.emoji} ${specialist.id.padEnd(20)} - ${specialist.name}`);
175
+ console.log(` ${specialist.role}`);
176
+ console.log('');
177
+ }
178
+ console.log(`Total: ${specialists.length} specialists\\n`);
179
+ }
180
+ await client.disconnect();
181
+ process.exit(0);
182
+ }
183
+ catch (error) {
184
+ console.error('Error:', error instanceof Error ? error.message : String(error));
185
+ process.exit(1);
186
+ }
187
+ });
188
+ // Parse arguments
189
+ program.parse();
190
+ //# sourceMappingURL=cli.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAqDA;;;;;;GAMG;AACH,cAAM,wBAAwB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,0BAA0B,CAA8B;IAChE,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB;;IA2DzB,OAAO,CAAC,iBAAiB;IAwFzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiTpB;;OAEG;YACW,kBAAkB;IAmMhC;;OAEG;YACW,qBAAqB;IAuBnC;;OAEG;YACW,uBAAuB;IA8BrC;;OAEG;YACW,sBAAsB;IA8CpC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAqCzC;;OAEG;YACW,6BAA6B;IA4DrC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAuE1B;;OAEG;YACW,sBAAsB;IAiDpC;;OAEG;YACW,2BAA2B;IAmBzC;;OAEG;YACW,gBAAgB;IAkF9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;YACW,uBAAuB;CAWtC;AA+ED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAqDA;;;;;;GAMG;AACH,cAAM,wBAAwB;IAC5B,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,gBAAgB,CAAoB;IAC5C,OAAO,CAAC,mBAAmB,CAAuB;IAClD,OAAO,CAAC,kBAAkB,CAAsB;IAChD,OAAO,CAAC,eAAe,CAAmB;IAC1C,OAAO,CAAC,qBAAqB,CAAyB;IACtD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,0BAA0B,CAA8B;IAChE,OAAO,CAAC,wBAAwB,CAA4B;IAC5D,OAAO,CAAC,sBAAsB,CAA0B;IACxD,OAAO,CAAC,aAAa,CAA4B;IACjD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,aAAa,CAAuB;IAC5C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,uBAAuB,CAAS;IACxC,OAAO,CAAC,YAAY,CAA4C;IAChE,OAAO,CAAC,iBAAiB,CAA4C;IACrE,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,iBAAiB;;IA2DzB,OAAO,CAAC,iBAAiB;IAwFzB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiTpB;;OAEG;YACW,kBAAkB;IAmMhC;;OAEG;YACW,qBAAqB;IAuBnC;;OAEG;YACW,uBAAuB;IA8BrC;;OAEG;YACW,sBAAsB;IA8CpC;;OAEG;IACH,OAAO,CAAC,iCAAiC;IAqCzC;;OAEG;YACW,6BAA6B;IA4DrC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA+E1B;;OAEG;YACW,sBAAsB;IAiDpC;;OAEG;YACW,2BAA2B;IAmBzC;;OAEG;YACW,gBAAgB;IAkF9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;YACW,uBAAuB;CAWtC;AA+ED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
package/dist/index.js CHANGED
@@ -814,6 +814,14 @@ ${enhancedResult.routingOptions.map(option => `- ${option.replace('🎯 Start se
814
814
  console.error(`Script path: ${process.argv[1]}`);
815
815
  const version = this.getPackageVersion();
816
816
  console.error(`🚀 BC Code Intelligence MCP Server v${version} starting...`);
817
+ // CRITICAL FIX for Issue #31: Connect transport BEFORE heavy initialization
818
+ // This allows the MCP handshake to complete quickly, preventing timeouts
819
+ console.error('🔌 Connecting MCP transport (fast handshake)...');
820
+ const transport = new StdioServerTransport();
821
+ await this.server.connect(transport);
822
+ console.error('✅ MCP transport connected - handshake complete');
823
+ // Now perform heavy initialization in background
824
+ console.error('📦 Starting service initialization (deferred after handshake)...');
817
825
  // Verify embedded knowledge path BEFORE any service initialization
818
826
  const __filename = fileURLToPath(import.meta.url);
819
827
  const __dirname = dirname(__filename);
@@ -856,9 +864,7 @@ ${enhancedResult.routingOptions.map(option => `- ${option.replace('🎯 Start se
856
864
  catch (error) {
857
865
  console.error('⚠️ Failed to load user configuration, falling back to embedded-only:', error instanceof Error ? error.message : String(error));
858
866
  await this.initializeEmbeddedOnly();
859
- } // Start MCP server
860
- const transport = new StdioServerTransport();
861
- await this.server.connect(transport);
867
+ }
862
868
  console.error(`✅ BC Code Intelligence MCP Server v${this.getPackageVersion()} started successfully`);
863
869
  console.error(`💡 To enable project-specific layers, call set_workspace_info with your project path`);
864
870
  }
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,SAAS,EACT,sBAAsB,EACtB,QAAQ,EACR,wBAAwB,EACxB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EACL,QAAQ,EACR,UAAU,EAGX,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACL,kBAAkB,EAClB,uBAAuB,EAGxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,oDAAoD,CAAC;AAC5F,OAAO,EAAE,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAQtE,OAAO,EAGL,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAE1B;;;;;;GAMG;AACH,MAAM,wBAAwB;IACpB,MAAM,CAAS;IACf,gBAAgB,CAAoB;IACpC,mBAAmB,CAAuB;IAC1C,kBAAkB,CAAsB;IACxC,eAAe,CAAmB;IAClC,qBAAqB,CAAyB;IAC9C,YAAY,CAA4B;IACxC,wBAAwB,CAA4B;IACpD,0BAA0B,CAA8B;IACxD,wBAAwB,CAA4B;IACpD,sBAAsB,CAA0B;IAChD,aAAa,CAA4B;IACzC,YAAY,CAAsB;IAClC,aAAa,GAAkB,IAAI,CAAC;IACpC,aAAa,GAAa,EAAE,CAAC;IAC7B,uBAAuB,GAAG,KAAK,CAAC;IAChC,YAAY,CAA4C;IACxD,iBAAiB,CAA4C;IAC7D,mBAAmB,GAAG,KAAK,CAAC;IAE5B,iBAAiB;QACvB,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;YAE1D,OAAO,CAAC,KAAK,CAAC,mCAAmC,WAAW,EAAE,CAAC,CAAC;YAChE,OAAO,CAAC,KAAK,CAAC,cAAc,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YAEvD,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBACjE,OAAO,OAAO,CAAC,CAAC,WAAW;YAC7B,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,IAAI,OAAO,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,eAAe,OAAO,EAAE,CAAC,CAAC;YACxC,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACzG,OAAO,OAAO,CAAC,CAAC,WAAW;QAC7B,CAAC;IACH,CAAC;IAED;QACE,0BAA0B;QAC1B,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,2BAA2B,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAE5D,4EAA4E;QAC5E,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB;YACE,IAAI,EAAE,0BAA0B;YAChC,OAAO,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAClC,EACD;YACE,YAAY,EAAE;gBACZ,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,EAAE;aACZ;SACF,CACF,CAAC;QAEF,kCAAkC;QAClC,IAAI,CAAC,YAAY,GAAG,IAAI,mBAAmB,EAAE,CAAC;QAE9C,kFAAkF;QAClF,MAAM,gBAAgB,GAAqB;YACzC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;SACnD,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,EAAqB,EAAE,gBAAgB,CAAC,CAAC;QAEhF,uDAAuD;QACvD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAEO,iBAAiB;QACvB,2DAA2D;QAC3D,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAE5B,gDAAgD;YAChD,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAC5B,CAAC;YAED,OAAO,EAAE,KAAK,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,uDAAuD;QACvD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,IAAI,CAAC;gBACH,yDAAyD;gBACzD,IAAI,CAAC,oBAAoB,EAAE,oBAAoB,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAChE,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,2BAA2B,IAAI,EAAE,CAAC,CAAC;oBAClF,CAAC;oBACD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBAED,wDAAwD;gBACxD,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC9B,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+HA6B2G;6BAClH,CAAC;qBACH,CAAC;gBACJ,CAAC;gBAED,6CAA6C;gBAC7C,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/D,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;oBAClD,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC7B,CAAC;gBAED,4BAA4B;gBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iBAAiB,IAAI,EAAE,CAAC,CAAC;gBACxE,CAAC;gBAED,OAAO,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;YAC7B,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,QAAQ,EAAE,CAAC;oBAC9B,MAAM,KAAK,CAAC;gBACd,CAAC;gBACD,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,0BAA0B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAClI,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QAErE,wEAAwE;QACxE,MAAM,eAAe,GAAG;YACtB;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,0EAA0E;gBACvF,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,eAAe;wBACrB,WAAW,EAAE,8DAA8D;wBAC3E,QAAQ,EAAE,KAAK,CAAC,iEAAiE;qBAClF;iBACF;aACF;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,wEAAwE;gBACrF,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,OAAO;wBACb,WAAW,EAAE,4DAA4D;wBACzE,QAAQ,EAAE,KAAK,CAAC,4CAA4C;qBAC7D;iBACF;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,oFAAoF;gBACjG,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,qEAAqE;wBAClF,QAAQ,EAAE,KAAK,CAAC,8CAA8C;qBAC/D;iBACF;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,0DAA0D;gBACvE,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,WAAW,EAAE,qDAAqD;wBAClE,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,oBAAoB;gBAC1B,WAAW,EAAE,yDAAyD;gBACtE,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,kBAAkB;wBACxB,WAAW,EAAE,8DAA8D;wBAC3E,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,4DAA4D;gBACzE,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,iBAAiB;wBACvB,WAAW,EAAE,kCAAkC;wBAC/C,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,gBAAgB;wBACtB,WAAW,EAAE,iCAAiC;wBAC9C,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,kBAAkB;gBACxB,WAAW,EAAE,uEAAuE;gBACpF,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,eAAe;wBACrB,WAAW,EAAE,6DAA6D;wBAC1E,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,qEAAqE;gBAClF,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,kBAAkB;wBACxB,WAAW,EAAE,6DAA6D;wBAC1E,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,6EAA6E;wBAC1F,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,cAAc;gBACpB,WAAW,EAAE,6EAA6E;gBAC1F,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,YAAY;wBAClB,WAAW,EAAE,iEAAiE;wBAC9E,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,kBAAkB;wBACxB,WAAW,EAAE,iFAAiF;wBAC9F,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,4EAA4E;gBACzF,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,+EAA+E;wBAC5F,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,gBAAgB;wBACtB,WAAW,EAAE,6EAA6E;wBAC1F,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,yEAAyE;gBACtF,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,uFAAuF;wBACpG,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,gBAAgB;wBACtB,WAAW,EAAE,oDAAoD;wBACjE,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,qBAAqB;gBAC3B,WAAW,EAAE,4FAA4F;gBACzG,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,mBAAmB;wBACzB,WAAW,EAAE,6FAA6F;wBAC1G,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,qBAAqB;wBAC3B,WAAW,EAAE,gGAAgG;wBAC7G,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,mBAAmB;gBACzB,WAAW,EAAE,gFAAgF;gBAC7F,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,cAAc;wBACpB,WAAW,EAAE,kFAAkF;wBAC/F,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,aAAa;wBACnB,WAAW,EAAE,0EAA0E;wBACvF,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;YACD;gBACE,IAAI,EAAE,aAAa;gBACnB,WAAW,EAAE,0EAA0E;gBACvF,SAAS,EAAE;oBACT;wBACE,IAAI,EAAE,eAAe;wBACrB,WAAW,EAAE,+DAA+D;wBAC5E,QAAQ,EAAE,KAAK;qBAChB;oBACD;wBACE,IAAI,EAAE,cAAc;wBACpB,WAAW,EAAE,iDAAiD;wBAC9D,QAAQ,EAAE,KAAK;qBAChB;iBACF;aACF;SACF,CAAC;QAEF,+BAA+B;QAC/B,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;YACnE,OAAO,EAAE,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACjC,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,WAAW,EAAE,CAAC,CAAC,WAAW;gBAC1B,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC;SACJ,CAAC,CAAC,CAAC;QAEJ,gDAAgD;QAChD,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACtE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YAEjD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,mBAAmB,IAAI,EAAE,CAAC,CAAC;YAC1E,CAAC;YAED,IAAI,CAAC;gBACH,yDAAyD;gBACzD,MAAM,eAAe,GAA2B;oBAC9C,mBAAmB,EAAE,YAAY;oBACjC,qBAAqB,EAAE,gBAAgB;oBACvC,gBAAgB,EAAE,iBAAiB;oBACnC,aAAa,EAAE,iBAAiB;oBAChC,oBAAoB,EAAE,wBAAwB;oBAC9C,kBAAkB,EAAE,oBAAoB;oBACxC,kBAAkB,EAAE,mBAAmB;oBACvC,gBAAgB,EAAE,mBAAmB;oBACrC,cAAc,EAAE,gBAAgB;oBAChC,eAAe,EAAE,gBAAgB;oBACjC,mBAAmB,EAAE,iBAAiB;oBACtC,qBAAqB,EAAE,mBAAmB;oBAC1C,mBAAmB,EAAE,gBAAgB;oBACrC,aAAa,EAAE,gBAAgB;iBAChC,CAAC;gBAEF,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,CAAQ,CAAC;gBAClD,IAAI,CAAC,YAAY,EAAE,CAAC;oBAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,IAAI,EAAE,CAAC,CAAC;gBACpD,CAAC;gBAED,MAAM,YAAY,GAAG;oBACnB,aAAa,EAAE,YAAY;oBAC3B,eAAe,EAAE,IAAI,EAAE,aAAa,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,WAAW;wBACtE,IAAI,EAAE,mBAAmB,IAAI,IAAI,EAAE,gBAAgB;wBACnD,IAAI,EAAE,aAAa,IAAI,IAAI,EAAE,aAAa;wBAC1C,0BAA0B;oBAC5B,UAAU,EAAE,IAAI,EAAE,cAAc,IAAI,IAAI,EAAE,eAAe;oBACzD,kBAAkB,EAAE,IAAI;iBACzB,CAAC;gBAEF,6BAA6B;gBAC7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;gBAEvE,6CAA6C;gBAC7C,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,gBAAgB,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBAEhF,kCAAkC;gBAClC,MAAM,WAAW,GAAG,IAAI,EAAE,aAAa,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,WAAW;oBACzE,IAAI,EAAE,mBAAmB,IAAI,IAAI,EAAE,gBAAgB;oBACnD,IAAI,EAAE,aAAa,IAAI,IAAI,EAAE,aAAa;oBAC1C,0BAA0B,CAAC;gBAE7B,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,wBAAwB,CAAC,qBAAqB,CAC9E,IAAI,EACJ,WAAW,EACX,eAAe,CAChB,CAAC;gBAEF,kEAAkE;gBAClE,MAAM,aAAa,GAAG,KAAK,MAAM,CAAC,WAAW;;;;EAInD,cAAc,CAAC,eAAe;;;;;EAK9B,cAAc,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,OAAO,CAAC,uBAAuB,EAAE,mBAAmB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;kJAEqB,CAAC;gBAE3I,OAAO;oBACL,WAAW,EAAE,YAAY,YAAY,oCAAoC;oBACzE,QAAQ,EAAE;wBACR;4BACE,IAAI,EAAE,MAAM;4BACZ,OAAO,EAAE;gCACP,IAAI,EAAE,MAAM;gCACZ,IAAI,EAAE,aAAa;6BACpB;yBACF;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YACrI,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB,CAAC,YAAqC;QACpE,sBAAsB;QACtB,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC;QAEzC,8CAA8C;QAC9C,IAAI,CAAC,YAAY,GAAG,IAAI,wBAAwB,EAAE,CAAC;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC;QAEpB,iEAAiE;QACjE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QAEtC,MAAM,YAAY,GAAe;YAC/B,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC;YAC5F,YAAY,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC;YAClG,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,iCAAiC,CAAC;YACxG,UAAU,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,WAAW,GAAG,IAAI,EAAE,sCAAsC;YAC/F,kBAAkB,EAAE,EAAE;YACtB,kBAAkB,EAAE,MAAM;YAC1B,mBAAmB,EAAE,IAAI;YACzB,gBAAgB,EAAE,GAAG;SACtB,CAAC;QAEF,kFAAkF;QAClF,IAAI,CAAC,YAAY,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEnD,oEAAoE;QACpE,KAAK,MAAM,WAAW,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YACpD,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,OAAO,CAAC,KAAK,CAAC,gCAAgC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBAClE,SAAS;YACX,CAAC;YAED,IAAI,KAAK,CAAC;YAEV,IAAI,CAAC;gBACH,QAAQ,WAAW,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;oBAChC,KAAK,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC;wBAC9B,wEAAwE;wBACxE,8FAA8F;wBAC9F,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;wBAE9D,OAAO,CAAC,KAAK,CAAC,+CAA+C,YAAY,EAAE,CAAC,CAAC;wBAE7E,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;wBAC9E,KAAK,GAAG,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAAC;wBACjD,MAAM;oBACR,CAAC;oBAED,KAAK,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;wBAC3B,qDAAqD;wBACrD,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;wBAC5E,KAAK,GAAG,IAAI,qBAAqB,CAAC,WAAW,CAAC,MAAM,CAAC,IAAK,CAAC,CAAC;wBAC5D,yCAAyC;wBACxC,KAAa,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;wBACtC,KAAa,CAAC,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;wBAC/C,MAAM;oBACR,CAAC;oBAED,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;wBACzB,uBAAuB;wBACvB,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,uBAAuB,CAAC,CAAC;wBACpE,MAAM,SAAS,GAAG,WAAW,CAAC,MAAa,CAAC,CAAC,iBAAiB;wBAC9D,KAAK,GAAG,IAAI,iBAAiB,CAC3B,WAAW,CAAC,IAAI,EAChB,WAAW,CAAC,QAAQ,EACpB;4BACE,IAAI,EAAE,eAAe,CAAC,GAAG;4BACzB,GAAG,EAAE,SAAS,CAAC,GAAG;4BAClB,MAAM,EAAE,SAAS,CAAC,MAAM;4BACxB,OAAO,EAAE,SAAS,CAAC,OAAO;yBAC3B,EACD,WAAW,CAAC,IAAI,CACjB,CAAC;wBACF,MAAM;oBACR,CAAC;oBAED,KAAK,eAAe,CAAC,IAAI,CAAC;oBAC1B,KAAK,eAAe,CAAC,GAAG,CAAC,CAAC,CAAC;wBACzB,2CAA2C;wBAC3C,yEAAyE;wBACzE,8CAA8C;wBAC9C,OAAO,CAAC,IAAI,CAAC,mBAAmB,WAAW,CAAC,MAAM,CAAC,IAAI,oCAAoC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC/G,SAAS;oBACX,CAAC;oBAED;wBACE,OAAO,CAAC,KAAK,CAAC,yBAA0B,WAAW,CAAC,MAAc,CAAC,IAAI,eAAe,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;wBAC1G,SAAS;gBACb,CAAC;gBAED,OAAO,CAAC,KAAK,CAAC,uCAAuC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAY,CAAC,CAAC;YAC3C,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,0EAA0E;gBAC1E,0FAA0F;gBAC1F,OAAO,CAAC,KAAK,CAAC,kCAAkC,WAAW,CAAC,IAAI,MAAM,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;gBAE/I,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,GAAG,EAAE,CAAC;oBACpD,OAAO,CAAC,KAAK,CAAC,iBAAiB,WAAW,CAAC,IAAI,wEAAwE,CAAC,CAAC;gBAC3H,CAAC;qBAAM,IAAI,WAAW,CAAC,MAAM,CAAC,IAAI,KAAK,eAAe,CAAC,KAAK,EAAE,CAAC;oBAC7D,OAAO,CAAC,KAAK,CAAC,mBAAmB,WAAW,CAAC,IAAI,+BAA+B,WAAW,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC,CAAC;gBACrI,CAAC;gBAED,mEAAmE;gBACnE,SAAS;YACX,CAAC;QACH,CAAC;QAED,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAErC,gEAAgE;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9E,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAEzC,kEAAkE;QAClE,IAAI,CAAC,qBAAqB,GAAG,IAAI,qBAAqB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC1E,MAAM,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,CAAC;QAE9C,oDAAoD;QACpD,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACtG,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;QAErG,oDAAoD;QACpD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QACrD,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;YAC/B,OAAO,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,UAAU,SAAS,CAAC,CAAC;YACtE,WAAW,IAAI,KAAK,CAAC,UAAU,CAAC;QAClC,CAAC;QAED,uDAAuD;QACvD,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC;QAEzE,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAC1D,IAAI,CAAC,YAAY,EACjB,oBAAoB,CACrB,CAAC;QAEF,0CAA0C;QAC1C,IAAI,CAAC,0BAA0B,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpF,wDAAwD;QACxD,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAE5H,+DAA+D;QAC/D,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAC1D,IAAI,CAAC,0BAA0B,EAC/B,IAAI,CAAC,wBAAwB,EAC7B,IAAI,CAAC,eAAe,CACrB,CAAC;QAEF,uEAAuE;QACvE,IAAI,CAAC,sBAAsB,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC3D,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACnE,CAAC;QAED,qDAAqD;QACrD,MAAM,gBAAgB,GAAqB;YACzC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;YAClD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;SACnD,CAAC;QAEF,MAAM,eAAe,GAAoB;YACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,wBAAwB;YAC7C,gBAAgB,EAAE,IAAI,CAAC,0BAA0B;YACjD,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;SACpD,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC;QAE1E,0EAA0E;QAC1E,IAAI,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,uBAAuB,EAAE,CAAC;YACzD,IAAI,CAAC,iBAAiB,GAAG,uBAAuB,CAAC,eAAe,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,8EAA8E,CAAC,CAAC;QAChG,CAAC;QAED,sBAAsB;QACtB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,qBAAqB,CAAC,aAAa,EAAE,CAAC;QAClE,OAAO,CAAC,KAAK,CAAC,aAAa,WAAW,YAAY,WAAW,CAAC,MAAM,cAAc,CAAC,CAAC;QACpF,OAAO,CAAC,KAAK,CAAC,uBAAuB,cAAc,CAAC,WAAW,aAAa,cAAc,CAAC,QAAQ,QAAQ,cAAc,CAAC,YAAY,UAAU,CAAC,CAAC;QAElJ,qCAAqC;QACrC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACrC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,qBAAqB;QACjC,IAAI,CAAC;YACH,oEAAoE;YACpE,MAAM,KAAK,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5B,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC9D,KAAK,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC;YAC5B,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;oBACjC,CAAC,IAAI,CAAC,iBAAiB,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACpF,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,6BAA6B,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,eAAe,KAAK,CAAC,MAAM,iBAAiB,CAAC,CAAC;QAC9D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,yCAAyC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAGD;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,qBAA8B,EAC9B,uBAAgC,EAChC,4BAAqC;QAErC,MAAM,SAAS,GAAG;YAChB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACnC,eAAe,EAAE;gBACf,cAAc,EAAE,IAAI,CAAC,iBAAiB,EAAE;gBACxC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,EAAE,CAAC,MAAM,IAAI,CAAC;gBACzD,oBAAoB,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa;gBAC1C,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,EAAE,CAAC,MAAM,IAAI,CAAC;aAC9D;SACK,CAAC;QAET,IAAI,qBAAqB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YAC/C,SAAS,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAClE,CAAC;QAED,IAAI,uBAAuB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACjD,SAAS,CAAC,iBAAiB,GAAG,IAAI,CAAC,iCAAiC,EAAE,CAAC;QACzE,CAAC;QAED,IAAI,4BAA4B,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvD,SAAS,CAAC,sBAAsB,GAAG,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAC;QAChF,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB;QAClC,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QACvD,MAAM,kBAAkB,GAA2B,EAAE,CAAC;QACtD,MAAM,sBAAsB,GAA2B,EAAE,CAAC;QAC1D,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,mBAAmB,EAAE,CAAC;QAE9D,gEAAgE;QAChE,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAEtD,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;YACnC,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;YACjE,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;gBACnE,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,UAAU,CAAC;gBAE3D,yCAAyC;gBACzC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;oBAC7B,kBAAkB,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrE,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACf,sBAAsB,CAAC,UAAU,CAAC,GAAG,CAAC,sBAAsB,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;gBACrF,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,YAAY,EAAE,WAAW,CAAC,MAAM;YAChC,eAAe,EAAE,UAAU;YAC3B,mBAAmB,EAAE,kBAAkB;YACvC,uBAAuB,EAAE,sBAAsB;YAC/C,mBAAmB,EAAE;gBACnB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM;gBAClD,mBAAmB,EAAE,WAAW,CAAC,MAAM,GAAG,CAAC;oBACzC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;oBACnF,CAAC,CAAC,IAAI;aACT;YACD,iBAAiB,EAAE;gBACjB,eAAe,EAAE,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,MAAM;gBACvD,iBAAiB,EAAE,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,MAAM;gBAC7D,kBAAkB,EAAE,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK;gBACrG,sBAAsB,EAAE,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK;aAC9G;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,iCAAiC;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;QAEvD,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAChD,OAAO;gBACL,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,WAAW,EAAE,KAAK,CAAC,UAAU;gBAC7B,WAAW,EAAE,KAAK,CAAC,UAAU;gBAC7B,eAAe,EAAE,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK;gBACxG,YAAY,EAAE,KAAK,CAAC,UAAU,IAAI,CAAC;gBACnC,IAAI,EAAE,mBAAmB;aAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAEnF,OAAO;YACL,aAAa,EAAE;gBACb,YAAY,EAAE,YAAY,CAAC,MAAM;gBACjC,YAAY,EAAE,WAAW;gBACzB,aAAa,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;gBAC7E,eAAe,EAAE,KAAK,CAAC,gDAAgD;aACxE;YACD,aAAa,EAAE,gBAAgB;YAC/B,oBAAoB,EAAE;gBACpB,aAAa,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,KAAK;gBACjG,WAAW,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,KAAK;gBAC7F,gBAAgB,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;oBACvC,CAAC,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,mBAAmB;oBACtE,CAAC,CAAC,KAAK;aACV;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,6BAA6B;QACzC,MAAM,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC/C,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG;YACf,qBAAqB,EAAE;gBACrB,aAAa,EAAE,UAAU,CAAC,KAAK;gBAC/B,QAAQ,EAAE,UAAU,CAAC,KAAK;gBAC1B,WAAW,EAAE,UAAU,CAAC,MAAM,CAAC,MAAM;gBACrC,aAAa,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;aAC1C;YACD,mBAAmB,EAAE;gBACnB,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM;gBAC9C,cAAc,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM;gBACvE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;oBAC3D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;oBAC3D,OAAO,GAAG,CAAC;gBACb,CAAC,EAAE,EAA4B,CAAC;gBAChC,qBAAqB,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;aAC5F;YACD,4BAA4B,EAAE,EAAE;SAC1B,CAAC;QAET,wCAAwC;QACxC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC;gBACzC,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,kFAAkF;gBAC3F,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;QAED,IAAI,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,oBAAoB,GAAG,CAAC,EAAE,CAAC;YAC5D,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC;gBACzC,IAAI,EAAE,aAAa;gBACnB,OAAO,EAAE,wEAAwE;gBACjF,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,gBAAgB,EAAE,CAAC;YAClD,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC;gBACzC,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,8CAA8C;gBACvD,MAAM,EAAE,MAAM;aACf,CAAC,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,CAAC;gBACzC,IAAI,EAAE,eAAe;gBACrB,OAAO,EAAE,WAAW,UAAU,CAAC,QAAQ,CAAC,MAAM,yBAAyB;gBACvE,MAAM,EAAE,QAAQ;aACjB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAGD,KAAK,CAAC,GAAG;QACP,IAAI,CAAC;YACH,8CAA8C;YAC9C,OAAO,CAAC,KAAK,CAAC,6DAA6D,CAAC,CAAC;YAC7E,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;YAClD,OAAO,CAAC,KAAK,CAAC,iBAAiB,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/C,OAAO,CAAC,KAAK,CAAC,sBAAsB,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,gBAAgB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAEjD,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACzC,OAAO,CAAC,KAAK,CAAC,uCAAuC,OAAO,cAAc,CAAC,CAAC;YAE5E,mEAAmE;YACnE,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;YACjE,OAAO,CAAC,KAAK,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,8BAA8B,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAExE,IAAI,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC7B,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC;gBAC7D,KAAK,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC;oBAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;oBACxC,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;gBACrD,CAAC;YACH,CAAC;YAED,8DAA8D;YAC9D,4DAA4D;YAC5D,OAAO,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;YAE9E,IAAI,CAAC;gBACH,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBAErE,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,IAAI,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAChF,6DAA6D;oBAC7D,OAAO,CAAC,KAAK,CAAC,yCAAyC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,SAAS,CAAC,CAAC;oBACvG,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC,MAAM,CAAC;oBAE7C,IAAI,CAAC;wBACH,MAAM,IAAI,CAAC,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;oBAC3D,CAAC;oBAAC,OAAO,WAAW,EAAE,CAAC;wBACrB,mFAAmF;wBACnF,iEAAiE;wBACjE,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,WAAW,YAAY,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;wBAC3I,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;wBAC1D,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;oBACtC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,iEAAiE;oBACjE,OAAO,CAAC,KAAK,CAAC,0EAA0E,CAAC,CAAC;oBAC1F,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACtC,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,uEAAuE,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC/I,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACtC,CAAC,CAAM,mBAAmB;YAC1B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;YAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YAErC,OAAO,CAAC,KAAK,CAAC,sCAAsC,IAAI,CAAC,iBAAiB,EAAE,uBAAuB,CAAC,CAAC;YACrG,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;QAExG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,sBAAsB;QAClC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,IAAI,CAAC,SAAS,EAAE,uBAAuB,CAAC,CAAC;QAE9D,sDAAsD;QACtD,IAAI,CAAC,YAAY,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAEnD,MAAM,EAAE,sBAAsB,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QAC9E,MAAM,aAAa,GAAG,IAAI,sBAAsB,CAAC,YAAY,CAAC,CAAC;QAE/D,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,aAAoB,CAAC,CAAC;QACjD,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAErC,qDAAqD;QACrD,MAAM,YAAY,GAAe;YAC/B,mBAAmB,EAAE,YAAY;YACjC,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC;YAC3C,cAAc,EAAE,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC;YAC/C,UAAU,EAAE,IAAI;YAChB,kBAAkB,EAAE,EAAE;YACtB,kBAAkB,EAAE,MAAM;YAC1B,mBAAmB,EAAE,IAAI;YACzB,gBAAgB,EAAE,GAAG;SACtB,CAAC;QAEF,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,CAAC;QAEzC,IAAI,CAAC,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC1E,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAExE,MAAM,0BAA0B,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACrF,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,kBAAkB,EAAE,0BAA0B,CAAC,CAAC;QAEvH,gFAAgF;QAChF,oFAAoF;QACpF,MAAM,oBAAoB,GAAG,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC;QACzE,IAAI,CAAC,wBAAwB,GAAG,IAAI,wBAAwB,CAC1D,IAAI,CAAC,YAAY,EACjB,oBAAoB,CACrB,CAAC;QACF,IAAI,CAAC,0BAA0B,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEpF,6EAA6E;QAC7E,+DAA+D;QAC/D,OAAO,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAC;IACxG,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,2BAA2B,CAAC,YAAqC;QAC7E,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAElE,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC,MAAM,CAAC,CAAI,oDAAoD;QACjG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAE5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QAEhC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;QAChE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;QAE7C,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,CAAC,MAAM,gBAAgB,MAAM,CAAC,MAAM,YAAY,WAAW,CAAC,MAAM,cAAc,CAAC,CAAC;QACtI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACrB,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;YAC9C,OAAO,CAAC,KAAK,CAAC,SAAS,KAAK,CAAC,IAAI,KAAK,UAAU,qBAAqB,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC1F,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAAY,EAAE,gBAA0B,EAAE;QACvE,IAAI,CAAC;YACH,8BAA8B;YAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC9B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,wBAAwB,YAAY,EAAE;oBAC/C,QAAQ,EAAE,KAAK;iBAChB,CAAC;YACJ,CAAC;YAED,sCAAsC;YACtC,IAAI,IAAI,CAAC,aAAa,KAAK,YAAY,EAAE,CAAC;gBACxC,mDAAmD;gBACnD,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;gBAEnC,qEAAqE;gBACrE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;gBACpD,CAAC;gBAED,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,kCAAkC,YAAY,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE;oBACvJ,QAAQ,EAAE,KAAK;iBAChB,CAAC;YACJ,CAAC;YAED,OAAO,CAAC,KAAK,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;YAC/D,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,2BAA2B;YAC3B,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5B,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;YAClC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;YAEnC,2EAA2E;YAC3E,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;YACpD,CAAC;YAED,4EAA4E;YAC5E,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;YAE7E,IAAI,YAAY,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9C,OAAO,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;gBACtD,YAAY,CAAC,iBAAiB,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBAC7C,OAAO,CAAC,KAAK,CAAC,QAAQ,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzD,CAAC,CAAC,CAAC;YACL,CAAC;YAED,8CAA8C;YAC9C,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,CAAC,CAAC;YAC5C,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;YAEhC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,iBAAiB,EAAE,CAAC;YAChE,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,CAAC;YAElD,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,qBAAqB,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;YAEpG,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,6CAA6C,MAAM,CAAC,MAAM,gBAAgB,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC,MAAM,YAAY,WAAW,CAAC,MAAM,0BAA0B,OAAO,EAAE;gBACxL,QAAQ,EAAE,IAAI;aACf,CAAC;QAEJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;gBAClG,QAAQ,EAAE,KAAK;aAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,OAAO;YACL,cAAc,EAAE,IAAI,CAAC,aAAa;YAClC,cAAc,EAAE,IAAI,CAAC,aAAa;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB;QACnC,IAAI,CAAC,IAAI,CAAC,aAAa;YAAE,OAAO,CAAC,CAAC;QAElC,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,IAAI,sBAAsB,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAChE,OAAO,UAAU,CAAC,KAAK,CAAC;QAC1B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,CAAC,CAAC;QACX,CAAC;IACH,CAAC;CACF;AAED,mBAAmB;AACnB,KAAK,UAAU,IAAI;IACjB,IAAI,CAAC;QACH,sEAAsE;QACtE,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;QAC3D,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,aAAa,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,IAAI,GAAG,CAAC,CAAC;QACjE,OAAO,CAAC,KAAK,CAAC,QAAQ,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACvC,OAAO,CAAC,KAAK,CAAC,WAAW,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAE5C,uEAAuE;QACvE,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACrC,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,iCAAiC,YAAY,GAAG,CAAC,CAAC;YAChE,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC;YACzC,MAAM,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,gBAAgB,YAAY,EAAE,CAAC,CAAC;YAE9C,oDAAoD;YACpD,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,iCAAiC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,wBAAwB,EAAE,CAAC;QAC9C,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAClD,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE;YAC9B,IAAI,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YACrD,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YAC/D,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;SAC/D,CAAC,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,6BAA6B;AAC7B,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;IAC9B,OAAO,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;IAC/B,OAAO,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,sEAAsE;AACtE,OAAO,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE;IACnD,OAAO,CAAC,KAAK,CAAC,iCAAiC,CAAC,CAAC;IACjD,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,CAAC,KAAK,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACnC,IAAI,MAAM,YAAY,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,4BAA4B;AAC5B,OAAO,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAK,EAAE,EAAE;IACxC,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IACxC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC/B,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC;AAEH,wCAAwC;AACxC,+GAA+G;AAC/G,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,UAAU,CAAC;IACrC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,0BAA0B,CAAC;IACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;IACtD,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACrB,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,wBAAwB,EAAE,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -68,6 +68,10 @@ export declare class EmbeddedKnowledgeLayer extends BaseKnowledgeLayer {
68
68
  * Load workflows from workflows/ directory (or methodologies/ for backward compatibility)
69
69
  */
70
70
  protected loadWorkflows(): Promise<number>;
71
+ /**
72
+ * Load a single workflow definition from YAML file
73
+ */
74
+ private loadWorkflow;
71
75
  /**
72
76
  * Check if the layer has a specific specialist
73
77
  */
@@ -1 +1 @@
1
- {"version":3,"file":"embedded-layer.d.ts","sourceRoot":"","sources":["../../src/layers/embedded-layer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAiB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAuD,MAAM,kCAAkC,CAAC;AAEzH,qBAAa,sBAAuB,SAAQ,kBAAkB;IAK1D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAH/B,SAAkB,uBAAuB,EAAE,gBAAgB,EAAE,CAA0C;gBAGpF,YAAY,GAAE,MAI3B;IAKN;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IAuF5C;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAsE7C;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAmB9C;;OAEG;YACW,eAAe;IA8C7B;;OAEG;YACW,cAAc;IA8B5B;;OAEG;YACW,iBAAiB;IAa/B;;OAEG;YACW,sBAAsB;IAapC;;OAEG;YACW,mBAAmB;IAajC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAIhC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;OAEG;cACa,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IA+ClD;;OAEG;YACW,cAAc;IAyD5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IA4BhD;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAI5C;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAIhE;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACH,iBAAiB,IAAI,oBAAoB,EAAE;IAI3C;;OAEG;cACgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IA8C3F;;OAEG;IACH,uBAAuB,IAAI;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC;IAwBD;;OAEG;IACM,UAAU,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAW7E;;OAEG;IACY,UAAU,CAAC,CAAC,SAAS,gBAAgB,EAClD,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,GAAG,CAAC;IAWf;;OAEG;IACM,aAAa,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE;IAWrE;;OAEG;IACM,aAAa,CAAC,CAAC,SAAS,gBAAgB,EAC/C,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,GAAG,EAAE;IAWR;;OAEG;IACM,qBAAqB,IAAI;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACjD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;KACtB;IAcD;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
1
+ {"version":3,"file":"embedded-layer.d.ts","sourceRoot":"","sources":["../../src/layers/embedded-layer.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAiB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAuD,MAAM,kCAAkC,CAAC;AAEzH,qBAAa,sBAAuB,SAAQ,kBAAkB;IAK1D,OAAO,CAAC,QAAQ,CAAC,YAAY;IAH/B,SAAkB,uBAAuB,EAAE,gBAAgB,EAAE,CAA0C;gBAGpF,YAAY,GAAE,MAI3B;IAKN;;OAEG;IACG,UAAU,IAAI,OAAO,CAAC,eAAe,CAAC;IAuF5C;;OAEG;cACa,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IA6E7C;;OAEG;cACa,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAmB9C;;OAEG;YACW,eAAe;IA0D7B;;OAEG;YACW,cAAc;IA8B5B;;OAEG;YACW,iBAAiB;IAa/B;;OAEG;YACW,sBAAsB;IAapC;;OAEG;YACW,mBAAmB;IAajC;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,GAAG;IAIhC;;OAEG;IACH,aAAa,IAAI,MAAM,EAAE;IAIzB;;OAEG;cACa,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IA+ClD;;OAEG;YACW,cAAc;IAyD5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAS1B;;OAEG;cACa,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAqDhD;;OAEG;YACW,YAAY;IAqB1B;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO;IAI5C;;OAEG;IACH,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI;IAIhE;;OAEG;IACH,gBAAgB,IAAI,MAAM,EAAE;IAI5B;;OAEG;IACH,iBAAiB,IAAI,oBAAoB,EAAE;IAI3C;;OAEG;cACgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,oBAAoB,EAAE;IA8C3F;;OAEG;IACH,uBAAuB,IAAI;QACzB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC9B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC;IAwBD;;OAEG;IACM,UAAU,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO;IAW7E;;OAEG;IACY,UAAU,CAAC,CAAC,SAAS,gBAAgB,EAClD,IAAI,EAAE,CAAC,EACP,EAAE,EAAE,MAAM,GACT,OAAO,CAAC,GAAG,CAAC;IAWf;;OAEG;IACM,aAAa,CAAC,CAAC,SAAS,gBAAgB,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,EAAE;IAWrE;;OAEG;IACM,aAAa,CAAC,CAAC,SAAS,gBAAgB,EAC/C,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,MAAM,EACb,KAAK,GAAE,MAAW,GACjB,GAAG,EAAE;IAWR;;OAEG;IACM,qBAAqB,IAAI;QAChC,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,CAAC;QACjD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,WAAW,EAAE,OAAO,CAAC;KACtB;IAcD;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAehC"}
@@ -144,6 +144,12 @@ Expected structure: (domains/ or topics/), specialists/, workflows/ directories
144
144
  let loadedCount = 0;
145
145
  for (const filePath of topicFiles) {
146
146
  try {
147
+ // Double-check that this is actually a file, not a directory
148
+ const stats = await stat(filePath);
149
+ if (!stats.isFile()) {
150
+ console.error(`Skipping non-file: ${filePath}`);
151
+ continue;
152
+ }
147
153
  const topic = await this.loadAtomicTopic(filePath);
148
154
  if (topic && this.validateTopic(topic)) {
149
155
  this.topics.set(topic.id, topic);
@@ -192,6 +198,18 @@ Expected structure: (domains/ or topics/), specialists/, workflows/ directories
192
198
  * Load a single atomic topic from a markdown file
193
199
  */
194
200
  async loadAtomicTopic(filePath) {
201
+ // Safety check: ensure this is actually a file, not a directory
202
+ try {
203
+ const stats = await stat(filePath);
204
+ if (!stats.isFile()) {
205
+ console.error(`Skipping non-file in loadAtomicTopic: ${filePath}`);
206
+ return null;
207
+ }
208
+ }
209
+ catch (error) {
210
+ console.error(`Failed to stat file ${filePath}:`, error instanceof Error ? error.message : String(error));
211
+ return null;
212
+ }
195
213
  const content = await readFile(filePath, 'utf-8');
196
214
  const stats = await stat(filePath);
197
215
  // Normalize line endings
@@ -445,13 +463,57 @@ Expected structure: (domains/ or topics/), specialists/, workflows/ directories
445
463
  }
446
464
  catch {
447
465
  // Neither directory exists - that's okay
466
+ return 0;
448
467
  }
449
468
  }
450
- if (activePath) {
451
- // TODO: Implement workflow loading when structure is defined
469
+ if (!activePath) {
470
+ return 0;
471
+ }
472
+ // Load workflow files
473
+ let pattern = join(activePath, '*.yaml').replace(/\\/g, '/');
474
+ if (pattern.startsWith('/c/')) {
475
+ pattern = 'C:' + pattern.substring(2);
476
+ }
477
+ const workflowFiles = await glob(pattern);
478
+ console.error(`📋 Found ${workflowFiles.length} workflow files in ${activePath}`);
479
+ let loadedCount = 0;
480
+ for (const filePath of workflowFiles) {
481
+ try {
482
+ const workflow = await this.loadWorkflow(filePath);
483
+ if (workflow) {
484
+ const workflowId = workflow.type || basename(filePath, '.yaml');
485
+ this.workflows.set(workflowId, workflow);
486
+ loadedCount++;
487
+ }
488
+ }
489
+ catch (error) {
490
+ console.error(`Failed to load workflow ${filePath}:`, error instanceof Error ? error.message : String(error));
491
+ }
452
492
  }
493
+ console.error(`📋 Loaded ${loadedCount} workflows from embedded layer`);
453
494
  return this.workflows.size;
454
495
  }
496
+ /**
497
+ * Load a single workflow definition from YAML file
498
+ */
499
+ async loadWorkflow(filePath) {
500
+ try {
501
+ const content = await readFile(filePath, 'utf-8');
502
+ const normalizedContent = content.replace(/^\uFEFF/, '').replace(/\r\n/g, '\n');
503
+ // Parse YAML content
504
+ const workflowData = yaml.parse(normalizedContent);
505
+ // Validate required fields
506
+ if (!workflowData.type || !workflowData.name) {
507
+ console.error(`⚠️ Missing required fields in workflow ${filePath}`);
508
+ return null;
509
+ }
510
+ return workflowData;
511
+ }
512
+ catch (error) {
513
+ console.error(`❌ Failed to parse workflow file ${filePath}:`, error);
514
+ return null;
515
+ }
516
+ }
455
517
  /**
456
518
  * Check if the layer has a specific specialist
457
519
  */