@atomic-ehr/codegen 0.0.1-canary.20250821160126.c552195 ā 0.0.1-canary.20250822150706.c3b8669
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/builder.d.ts +3 -3
- package/dist/api/builder.d.ts.map +1 -1
- package/dist/api/builder.js +374 -0
- package/dist/api/generators/base/BaseGenerator.d.ts +4 -4
- package/dist/api/generators/base/BaseGenerator.d.ts.map +1 -1
- package/dist/api/generators/base/BaseGenerator.js +572 -0
- package/dist/api/generators/base/FileManager.d.ts +2 -2
- package/dist/api/generators/base/FileManager.d.ts.map +1 -1
- package/dist/api/generators/base/FileManager.js +204 -0
- package/dist/api/generators/base/PythonTypeMapper.d.ts +2 -2
- package/dist/api/generators/base/PythonTypeMapper.d.ts.map +1 -1
- package/dist/api/generators/base/PythonTypeMapper.js +71 -0
- package/dist/api/generators/base/TemplateEngine.d.ts +1 -1
- package/dist/api/generators/base/TemplateEngine.d.ts.map +1 -1
- package/dist/api/generators/base/TemplateEngine.js +133 -0
- package/dist/api/generators/base/TypeMapper.js +153 -0
- package/dist/api/generators/base/TypeScriptTypeMapper.d.ts +1 -1
- package/dist/api/generators/base/TypeScriptTypeMapper.d.ts.map +1 -1
- package/dist/api/generators/base/TypeScriptTypeMapper.js +232 -0
- package/dist/api/generators/base/builders/DirectoryBuilder.d.ts +4 -4
- package/dist/api/generators/base/builders/DirectoryBuilder.d.ts.map +1 -1
- package/dist/api/generators/base/builders/DirectoryBuilder.js +215 -0
- package/dist/api/generators/base/builders/FileBuilder.d.ts +2 -2
- package/dist/api/generators/base/builders/FileBuilder.d.ts.map +1 -1
- package/dist/api/generators/base/builders/FileBuilder.js +408 -0
- package/dist/api/generators/base/builders/IndexBuilder.d.ts +2 -2
- package/dist/api/generators/base/builders/IndexBuilder.d.ts.map +1 -1
- package/dist/api/generators/base/builders/IndexBuilder.js +290 -0
- package/dist/api/generators/base/enhanced-errors.d.ts +2 -2
- package/dist/api/generators/base/enhanced-errors.d.ts.map +1 -1
- package/dist/api/generators/base/enhanced-errors.js +259 -0
- package/dist/api/generators/base/error-handler.d.ts +1 -1
- package/dist/api/generators/base/error-handler.d.ts.map +1 -1
- package/dist/api/generators/base/error-handler.js +243 -0
- package/dist/api/generators/base/errors.d.ts +2 -2
- package/dist/api/generators/base/errors.d.ts.map +1 -1
- package/dist/api/generators/base/errors.js +694 -0
- package/dist/api/generators/base/index.d.ts +22 -22
- package/dist/api/generators/base/index.d.ts.map +1 -1
- package/dist/api/generators/base/index.js +161 -0
- package/dist/api/generators/base/types.d.ts +2 -2
- package/dist/api/generators/base/types.d.ts.map +1 -1
- package/dist/api/generators/base/types.js +12 -0
- package/dist/api/generators/rest-client.d.ts +2 -2
- package/dist/api/generators/rest-client.d.ts.map +1 -1
- package/dist/api/generators/rest-client.js +847 -0
- package/dist/api/generators/search-parameter-enhancer.d.ts +1 -1
- package/dist/api/generators/search-parameter-enhancer.d.ts.map +1 -1
- package/dist/api/generators/search-parameter-enhancer.js +801 -0
- package/dist/api/generators/types.js +4 -0
- package/dist/api/generators/typescript.d.ts +3 -3
- package/dist/api/generators/typescript.d.ts.map +1 -1
- package/dist/api/generators/typescript.js +537 -0
- package/dist/api/generators/validation-generator.js +632 -0
- package/dist/api/index.d.ts +10 -10
- package/dist/api/index.d.ts.map +1 -1
- package/dist/api/index.js +51 -0
- package/dist/cli/commands/generate/typescript.d.ts +1 -1
- package/dist/cli/commands/generate/typescript.d.ts.map +1 -1
- package/dist/cli/commands/generate/typescript.js +52 -0
- package/dist/cli/commands/generate.d.ts +5 -12
- package/dist/cli/commands/generate.d.ts.map +1 -1
- package/dist/cli/commands/generate.js +158 -0
- package/dist/cli/commands/index.d.ts +2 -1
- package/dist/cli/commands/index.d.ts.map +1 -1
- package/dist/cli/commands/index.js +100 -0
- package/dist/cli/commands/typeschema/generate.js +130 -0
- package/dist/cli/commands/typeschema.js +48 -0
- package/dist/cli/index.js +12 -8664
- package/dist/cli/utils/log.d.ts +2 -2
- package/dist/cli/utils/log.d.ts.map +1 -1
- package/dist/cli/utils/log.js +23 -0
- package/dist/cli/utils/prompts.js +224 -0
- package/dist/cli/utils/spinner.js +270 -0
- package/dist/config.d.ts +22 -2
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +703 -0
- package/dist/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +84 -38
- package/dist/logger.js +290 -0
- package/dist/typeschema/cache.d.ts +2 -2
- package/dist/typeschema/cache.d.ts.map +1 -1
- package/dist/typeschema/cache.js +285 -0
- package/dist/typeschema/core/binding.d.ts +1 -1
- package/dist/typeschema/core/binding.d.ts.map +1 -1
- package/dist/typeschema/core/binding.js +187 -0
- package/dist/typeschema/core/field-builder.d.ts +1 -1
- package/dist/typeschema/core/field-builder.d.ts.map +1 -1
- package/dist/typeschema/core/field-builder.js +259 -0
- package/dist/typeschema/core/identifier.js +117 -0
- package/dist/typeschema/core/nested-types.d.ts +1 -1
- package/dist/typeschema/core/nested-types.d.ts.map +1 -1
- package/dist/typeschema/core/nested-types.js +111 -0
- package/dist/typeschema/core/transformer.d.ts +2 -2
- package/dist/typeschema/core/transformer.d.ts.map +1 -1
- package/dist/typeschema/core/transformer.js +345 -0
- package/dist/typeschema/generator.d.ts +3 -3
- package/dist/typeschema/generator.d.ts.map +1 -1
- package/dist/typeschema/generator.js +352 -0
- package/dist/typeschema/index.d.ts +14 -14
- package/dist/typeschema/index.d.ts.map +1 -1
- package/dist/typeschema/index.js +92 -0
- package/dist/typeschema/parser.d.ts +2 -2
- package/dist/typeschema/parser.d.ts.map +1 -1
- package/dist/typeschema/parser.js +310 -0
- package/dist/typeschema/profile/processor.d.ts +1 -1
- package/dist/typeschema/profile/processor.d.ts.map +1 -1
- package/dist/typeschema/profile/processor.js +268 -0
- package/dist/typeschema/schema.js +456 -0
- package/dist/typeschema/type-schema.types.js +39 -0
- package/dist/typeschema/types.js +4 -0
- package/dist/typeschema/utils.d.ts +1 -1
- package/dist/typeschema/utils.d.ts.map +1 -1
- package/dist/typeschema/utils.js +13 -0
- package/dist/typeschema/value-set/processor.d.ts +1 -1
- package/dist/typeschema/value-set/processor.d.ts.map +1 -1
- package/dist/typeschema/value-set/processor.js +168 -0
- package/dist/utils/codegen-logger.js +204 -0
- package/dist/utils.js +42 -0
- package/package.json +15 -4
- package/dist/index-e7pfye24.js +0 -8532
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Centralized error handling and reporting system
|
|
3
|
+
*
|
|
4
|
+
* This module provides a comprehensive error handling solution that:
|
|
5
|
+
* - Handles both generator-specific and unknown errors gracefully
|
|
6
|
+
* - Provides rich, context-aware error reporting
|
|
7
|
+
* - Supports multiple output formats (console, JSON, structured)
|
|
8
|
+
* - Includes batch error handling for multiple failures
|
|
9
|
+
* - Offers smart error recovery suggestions
|
|
10
|
+
*/
|
|
11
|
+
import { BatchOperationError, GeneratorError } from "./errors.js";
|
|
12
|
+
/**
|
|
13
|
+
* Centralized error handler with smart reporting
|
|
14
|
+
*/
|
|
15
|
+
export class ErrorHandler {
|
|
16
|
+
options;
|
|
17
|
+
constructor(options) {
|
|
18
|
+
this.options = options;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Handle a single error with appropriate reporting
|
|
22
|
+
*/
|
|
23
|
+
handleError(error, context) {
|
|
24
|
+
if (error instanceof GeneratorError) {
|
|
25
|
+
this.handleGeneratorError(error, context);
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
this.handleUnknownError(error, context);
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Handle multiple errors in batch
|
|
33
|
+
*/
|
|
34
|
+
handleBatchErrors(errors) {
|
|
35
|
+
const generatorErrors = errors.filter((e) => e instanceof GeneratorError);
|
|
36
|
+
const unknownErrors = errors.filter((e) => !(e instanceof GeneratorError));
|
|
37
|
+
if (generatorErrors.length > 0) {
|
|
38
|
+
this.reportBatchErrors(generatorErrors);
|
|
39
|
+
}
|
|
40
|
+
unknownErrors.forEach((error) => {
|
|
41
|
+
this.handleUnknownError(error);
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Handle generator-specific errors with rich context
|
|
46
|
+
*/
|
|
47
|
+
handleGeneratorError(error, _context) {
|
|
48
|
+
switch (this.options.outputFormat) {
|
|
49
|
+
case "json":
|
|
50
|
+
this.reportErrorAsJson(error);
|
|
51
|
+
break;
|
|
52
|
+
case "structured":
|
|
53
|
+
this.reportErrorStructured(error);
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
this.reportErrorToConsole(error);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Handle unknown errors gracefully
|
|
61
|
+
*/
|
|
62
|
+
handleUnknownError(error, context) {
|
|
63
|
+
this.options.logger.error("Unexpected error occurred:", error);
|
|
64
|
+
if (this.options.verbose) {
|
|
65
|
+
console.error("\nšØ Unexpected Error Details:");
|
|
66
|
+
console.error(` Type: ${error.constructor.name}`);
|
|
67
|
+
console.error(` Message: ${error.message}`);
|
|
68
|
+
if (error.stack) {
|
|
69
|
+
console.error(` Stack: ${error.stack}`);
|
|
70
|
+
}
|
|
71
|
+
if (context?.schema) {
|
|
72
|
+
console.error(` Schema: ${context.schema.identifier.name}`);
|
|
73
|
+
}
|
|
74
|
+
if (context?.filename) {
|
|
75
|
+
console.error(` File: ${context.filename}`);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
console.error("\nš” General troubleshooting suggestions:");
|
|
79
|
+
console.error(" ⢠Run with --verbose flag for more details");
|
|
80
|
+
console.error(" ⢠Check your input files for corruption");
|
|
81
|
+
console.error(" ⢠Update to the latest version of atomic-codegen");
|
|
82
|
+
console.error(" ⢠Report this issue at: https://github.com/atomic-ehr/codegen/issues");
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Report error to console with formatting
|
|
86
|
+
*/
|
|
87
|
+
reportErrorToConsole(error) {
|
|
88
|
+
if ("getFormattedMessage" in error) {
|
|
89
|
+
console.error(error.getFormattedMessage());
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
console.error(`\nā ${error.constructor.name}: ${error.message}`);
|
|
93
|
+
const suggestions = error.getSuggestions();
|
|
94
|
+
if (suggestions.length > 0) {
|
|
95
|
+
console.error("\nš” Suggestions:");
|
|
96
|
+
suggestions.forEach((suggestion) => {
|
|
97
|
+
console.error(` ⢠${suggestion}`);
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
if (this.options.verbose && error.context) {
|
|
102
|
+
console.error("\nš Debug Information:");
|
|
103
|
+
console.error(JSON.stringify(error.context, null, 2));
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Report error as JSON for programmatic consumption
|
|
108
|
+
*/
|
|
109
|
+
reportErrorAsJson(error) {
|
|
110
|
+
const errorData = {
|
|
111
|
+
type: error.constructor.name,
|
|
112
|
+
message: error.message,
|
|
113
|
+
phase: error.phase,
|
|
114
|
+
context: error.context,
|
|
115
|
+
suggestions: error.getSuggestions(),
|
|
116
|
+
timestamp: new Date().toISOString(),
|
|
117
|
+
};
|
|
118
|
+
console.error(JSON.stringify(errorData, null, 2));
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Report error in structured format
|
|
122
|
+
*/
|
|
123
|
+
reportErrorStructured(error) {
|
|
124
|
+
const structure = {
|
|
125
|
+
error: {
|
|
126
|
+
type: error.constructor.name,
|
|
127
|
+
message: error.message,
|
|
128
|
+
phase: error.phase,
|
|
129
|
+
},
|
|
130
|
+
context: error.context,
|
|
131
|
+
suggestions: error.getSuggestions(),
|
|
132
|
+
actions: this.getRecoveryActions(error),
|
|
133
|
+
};
|
|
134
|
+
console.error("---");
|
|
135
|
+
console.error("Error Report:");
|
|
136
|
+
console.error(JSON.stringify(structure, null, 2));
|
|
137
|
+
console.error("---");
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Report multiple errors efficiently
|
|
141
|
+
*/
|
|
142
|
+
reportBatchErrors(errors) {
|
|
143
|
+
console.error(`\nā ${errors.length} errors occurred during generation:`);
|
|
144
|
+
// Group errors by type
|
|
145
|
+
const errorGroups = new Map();
|
|
146
|
+
errors.forEach((error) => {
|
|
147
|
+
const type = error.constructor.name;
|
|
148
|
+
if (!errorGroups.has(type)) {
|
|
149
|
+
errorGroups.set(type, []);
|
|
150
|
+
}
|
|
151
|
+
errorGroups.get(type)?.push(error);
|
|
152
|
+
});
|
|
153
|
+
// Report each group
|
|
154
|
+
for (const [type, groupErrors] of errorGroups) {
|
|
155
|
+
console.error(`\nš ${type} (${groupErrors.length} occurrences):`);
|
|
156
|
+
groupErrors.forEach((error, index) => {
|
|
157
|
+
console.error(` ${index + 1}. ${error.message}`);
|
|
158
|
+
if (error.context?.schemaName) {
|
|
159
|
+
console.error(` Schema: ${error.context.schemaName}`);
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
// Show common suggestions for this error type
|
|
163
|
+
const commonSuggestions = this.getCommonSuggestions(groupErrors);
|
|
164
|
+
if (commonSuggestions.length > 0) {
|
|
165
|
+
console.error("\n š” Common suggestions:");
|
|
166
|
+
commonSuggestions.forEach((suggestion) => {
|
|
167
|
+
console.error(` ⢠${suggestion}`);
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get common suggestions across similar errors
|
|
174
|
+
*/
|
|
175
|
+
getCommonSuggestions(errors) {
|
|
176
|
+
const allSuggestions = errors.flatMap((e) => e.getSuggestions());
|
|
177
|
+
const suggestionCounts = new Map();
|
|
178
|
+
allSuggestions.forEach((suggestion) => {
|
|
179
|
+
suggestionCounts.set(suggestion, (suggestionCounts.get(suggestion) || 0) + 1);
|
|
180
|
+
});
|
|
181
|
+
// Return suggestions that appear in at least half the errors
|
|
182
|
+
const threshold = Math.ceil(errors.length / 2);
|
|
183
|
+
return Array.from(suggestionCounts.entries())
|
|
184
|
+
.filter(([_, count]) => count >= threshold)
|
|
185
|
+
.map(([suggestion, _]) => suggestion)
|
|
186
|
+
.slice(0, 5); // Limit to 5 most common
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Get recovery actions for an error
|
|
190
|
+
*/
|
|
191
|
+
getRecoveryActions(error) {
|
|
192
|
+
if ("getRecoveryActions" in error) {
|
|
193
|
+
return error.getRecoveryActions();
|
|
194
|
+
}
|
|
195
|
+
return [
|
|
196
|
+
{ action: "Review error message and suggestions above" },
|
|
197
|
+
{ action: "Check input files and configuration" },
|
|
198
|
+
{ action: "Try with --verbose flag for more information" },
|
|
199
|
+
];
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Error boundary for catching and handling all generator errors
|
|
204
|
+
*/
|
|
205
|
+
export class GeneratorErrorBoundary {
|
|
206
|
+
errorHandler;
|
|
207
|
+
constructor(errorHandler) {
|
|
208
|
+
this.errorHandler = errorHandler;
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Wrap an async operation with error boundary
|
|
212
|
+
*/
|
|
213
|
+
async withErrorBoundary(operation, context) {
|
|
214
|
+
try {
|
|
215
|
+
return await operation();
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
this.errorHandler.handleError(error instanceof Error ? error : new Error(String(error)), context);
|
|
219
|
+
throw error; // Re-throw after handling
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Wrap a batch operation with error boundary
|
|
224
|
+
*/
|
|
225
|
+
async withBatchErrorBoundary(operations, _context) {
|
|
226
|
+
const results = [];
|
|
227
|
+
const errors = [];
|
|
228
|
+
for (const operation of operations) {
|
|
229
|
+
try {
|
|
230
|
+
const result = await operation();
|
|
231
|
+
results.push(result);
|
|
232
|
+
}
|
|
233
|
+
catch (error) {
|
|
234
|
+
errors.push(error instanceof Error ? error : new Error(String(error)));
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
if (errors.length > 0) {
|
|
238
|
+
this.errorHandler.handleBatchErrors(errors);
|
|
239
|
+
throw new BatchOperationError(`${errors.length} operations failed`, errors.filter((e) => e instanceof GeneratorError));
|
|
240
|
+
}
|
|
241
|
+
return results;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* This module provides rich, contextual error classes that help developers
|
|
5
5
|
* at all skill levels understand and resolve issues quickly.
|
|
6
6
|
*/
|
|
7
|
-
import type { TypeSchema } from "../../../typeschema";
|
|
8
|
-
import type { FileContext } from "./types";
|
|
7
|
+
import type { TypeSchema } from "../../../typeschema/index.js";
|
|
8
|
+
import type { FileContext } from "./types.js";
|
|
9
9
|
/**
|
|
10
10
|
* Base error class for all generator-related errors
|
|
11
11
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/api/generators/base/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../../src/api/generators/base/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C;;;;;GAKG;AACH,8BAAsB,cAAe,SAAQ,KAAK;IAShD,+CAA+C;aAC/B,KAAK,EAClB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,gBAAgB;IACnB,yCAAyC;aACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAflD,+BAA+B;IAC/B,SAAgB,SAAS,EAAE,IAAI,CAAC;IAEhC,mCAAmC;IACnC,SAAgB,OAAO,EAAE,MAAM,CAAC;gBAG/B,OAAO,EAAE,MAAM;IACf,+CAA+C;IAC/B,KAAK,EAClB,YAAY,GACZ,YAAY,GACZ,SAAS,GACT,gBAAgB;IACnB,yCAAyC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,YAAA;IAalD;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;;OAGG;IACH,kBAAkB,IAAI,MAAM;IAmB5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;;OAGG;IACH,QAAQ,CAAC,cAAc,IAAI,MAAM,EAAE;IAEnC;;OAEG;IACH,WAAW,IAAI,OAAO,GAAG,SAAS,GAAG,MAAM;IAI3C;;OAEG;IACH,aAAa,IAAI,OAAO;IAIxB;;OAEG;IACH,qBAAqB,IAAI,MAAM,EAAE;CAMjC;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,cAAc;IAGvD,wCAAwC;aACxB,MAAM,EAAE,UAAU;IAClC,iCAAiC;aACjB,gBAAgB,EAAE,MAAM,EAAE;IAC1C,qDAAqD;aACrC,WAAW,CAAC,EAAE;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;QACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B;gBAVD,OAAO,EAAE,MAAM;IACf,wCAAwC;IACxB,MAAM,EAAE,UAAU;IAClC,iCAAiC;IACjB,gBAAgB,EAAE,MAAM,EAAE;IAC1C,qDAAqD;IACrC,WAAW,CAAC,EAAE;QAC7B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,yBAAyB,CAAC,EAAE,MAAM,EAAE,CAAC;QACrC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KAC1B,YAAA;IAWF,cAAc,IAAI,MAAM,EAAE;IA8EjB,aAAa,IAAI,OAAO;CAMjC;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,cAAc;IAG/C,uCAAuC;aACvB,YAAY,EAAE,MAAM;IACpC,0CAA0C;aAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,uCAAuC;aACvB,SAAS,CAAC,EAAE;QAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACtB;gBAZD,OAAO,EAAE,MAAM;IACf,uCAAuC;IACvB,YAAY,EAAE,MAAM;IACpC,0CAA0C;IAC1B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACxD,uCAAuC;IACvB,SAAS,CAAC,EAAE;QAC3B,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC9B,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACtB,YAAA;IAUF,cAAc,IAAI,MAAM,EAAE;IA+E1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAsBlB,aAAa,IAAI,OAAO;CAIjC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IAGpD,yCAAyC;aACzB,SAAS,EACtB,QAAQ,GACR,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM;IACT,6CAA6C;aAC7B,QAAQ,EAAE,MAAM;IAChC,yCAAyC;aACzB,aAAa,CAAC,EAAE,KAAK;IACrC,uCAAuC;aACvB,eAAe,CAAC,EAAE;QACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC3B;gBAnBD,OAAO,EAAE,MAAM;IACf,yCAAyC;IACzB,SAAS,EACtB,QAAQ,GACR,OAAO,GACP,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM;IACT,6CAA6C;IAC7B,QAAQ,EAAE,MAAM;IAChC,yCAAyC;IACzB,aAAa,CAAC,EAAE,KAAK,YAAA;IACrC,uCAAuC;IACvB,eAAe,CAAC,EAAE;QACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC3B,YAAA;IAWF,cAAc,IAAI,MAAM,EAAE;IAiHjB,aAAa,IAAI,OAAO;IAIjC;;OAEG;IACH,kBAAkB,IAAI,KAAK,CAAC;QAC3B,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;KACtC,CAAC;CAwCF;AAED;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,cAAc;IAGlD,wCAAwC;aACxB,QAAQ,EAAE,MAAM;IAChC,2BAA2B;aACX,cAAc,EAAE,MAAM;IACtC,iCAAiC;aACjB,cAAc,CAAC,EAAE;QAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,UAAU,CAAC;KACpB;gBAVD,OAAO,EAAE,MAAM;IACf,wCAAwC;IACxB,QAAQ,EAAE,MAAM;IAChC,2BAA2B;IACX,cAAc,EAAE,MAAM;IACtC,iCAAiC;IACjB,cAAc,CAAC,EAAE;QAChC,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC;QAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC3C,MAAM,CAAC,EAAE,UAAU,CAAC;KACpB,YAAA;IAUF,cAAc,IAAI,MAAM,EAAE;IAoEjB,aAAa,IAAI,OAAO;CAGjC;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,cAAc;IAGpD,0CAA0C;aAC1B,SAAS,EAAE,MAAM;IACjC,0CAA0C;aAC1B,aAAa,EAAE,OAAO;IACtC,oCAAoC;aACpB,aAAa,CAAC,EAAE,MAAM;IACtC,kCAAkC;aAClB,YAAY,CAAC,EAAE,OAAO,EAAE;gBARxC,OAAO,EAAE,MAAM;IACf,0CAA0C;IAC1B,SAAS,EAAE,MAAM;IACjC,0CAA0C;IAC1B,aAAa,EAAE,OAAO;IACtC,oCAAoC;IACpB,aAAa,CAAC,EAAE,MAAM,YAAA;IACtC,kCAAkC;IAClB,YAAY,CAAC,EAAE,OAAO,EAAE,YAAA;IAWzC,cAAc,IAAI,MAAM,EAAE;IA8CjB,aAAa,IAAI,OAAO;CAGjC;AAED;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,cAAc;IAGrD,sCAAsC;aACtB,MAAM,EAAE,cAAc,EAAE;gBAFxC,OAAO,EAAE,MAAM;IACf,sCAAsC;IACtB,MAAM,EAAE,cAAc,EAAE;IASzC,cAAc,IAAI,MAAM,EAAE;IAqC1B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAiBlB,aAAa,IAAI,OAAO;IAKjC;;OAEG;IACH,oBAAoB,IAAI,cAAc,EAAE;IAIxC;;OAEG;IACH,uBAAuB,IAAI,cAAc,EAAE;CAG3C;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAC9D,UAAU,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,EACrC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,EACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACzC,CAAC,CAYH"}
|