@decaf-ts/logging 0.10.0 → 0.10.2
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/README.md +298 -171
- package/dist/logging.cjs +1 -1
- package/dist/logging.cjs.map +1 -1
- package/dist/logging.js +1 -1
- package/dist/logging.js.map +1 -1
- package/lib/LoggedClass.cjs +4 -4
- package/lib/LoggedClass.d.ts +4 -4
- package/lib/constants.cjs +32 -63
- package/lib/constants.d.ts +32 -63
- package/lib/constants.js.map +1 -1
- package/lib/decorators.cjs +28 -28
- package/lib/decorators.d.ts +29 -36
- package/lib/decorators.js.map +1 -1
- package/lib/environment.cjs +34 -41
- package/lib/environment.d.ts +31 -32
- package/lib/environment.js.map +1 -1
- package/lib/esm/LoggedClass.d.ts +4 -4
- package/lib/esm/LoggedClass.js +4 -4
- package/lib/esm/constants.d.ts +32 -63
- package/lib/esm/constants.js +32 -63
- package/lib/esm/constants.js.map +1 -1
- package/lib/esm/decorators.d.ts +29 -36
- package/lib/esm/decorators.js +28 -28
- package/lib/esm/decorators.js.map +1 -1
- package/lib/esm/environment.d.ts +31 -32
- package/lib/esm/environment.js +34 -41
- package/lib/esm/environment.js.map +1 -1
- package/lib/esm/filters/LogFilter.d.ts +11 -11
- package/lib/esm/filters/LogFilter.js +5 -5
- package/lib/esm/filters/PatternFilter.d.ts +15 -15
- package/lib/esm/filters/PatternFilter.js +12 -12
- package/lib/esm/index.d.ts +2 -2
- package/lib/esm/index.js +3 -3
- package/lib/esm/logging.d.ts +119 -113
- package/lib/esm/logging.js +223 -138
- package/lib/esm/logging.js.map +1 -1
- package/lib/esm/pino/index.d.ts +6 -0
- package/lib/esm/pino/index.js +6 -0
- package/lib/esm/pino/index.js.map +1 -1
- package/lib/esm/pino/pino.d.ts +13 -5
- package/lib/esm/pino/pino.js +70 -124
- package/lib/esm/pino/pino.js.map +1 -1
- package/lib/esm/text.d.ts +29 -67
- package/lib/esm/text.js +29 -67
- package/lib/esm/text.js.map +1 -1
- package/lib/esm/time.d.ts +45 -43
- package/lib/esm/time.js +38 -36
- package/lib/esm/time.js.map +1 -1
- package/lib/esm/types.d.ts +59 -50
- package/lib/esm/utils.d.ts +43 -0
- package/lib/esm/utils.js +55 -3
- package/lib/esm/utils.js.map +1 -1
- package/lib/esm/web.d.ts +2 -2
- package/lib/esm/web.js +2 -2
- package/lib/esm/winston/index.d.ts +7 -0
- package/lib/esm/winston/index.js +7 -1
- package/lib/esm/winston/index.js.map +1 -1
- package/lib/esm/winston/winston.d.ts +17 -21
- package/lib/esm/winston/winston.js +29 -36
- package/lib/esm/winston/winston.js.map +1 -1
- package/lib/filters/LogFilter.cjs +5 -5
- package/lib/filters/LogFilter.d.ts +11 -11
- package/lib/filters/PatternFilter.cjs +12 -12
- package/lib/filters/PatternFilter.d.ts +15 -15
- package/lib/index.cjs +3 -3
- package/lib/index.d.ts +2 -2
- package/lib/logging.cjs +224 -139
- package/lib/logging.d.ts +119 -113
- package/lib/logging.js.map +1 -1
- package/lib/pino/index.cjs +6 -0
- package/lib/pino/index.d.ts +6 -0
- package/lib/pino/index.js.map +1 -1
- package/lib/pino/pino.cjs +102 -126
- package/lib/pino/pino.d.ts +13 -5
- package/lib/pino/pino.js.map +1 -1
- package/lib/text.cjs +29 -67
- package/lib/text.d.ts +29 -67
- package/lib/text.js.map +1 -1
- package/lib/time.cjs +38 -36
- package/lib/time.d.ts +45 -43
- package/lib/time.js.map +1 -1
- package/lib/types.d.ts +59 -50
- package/lib/utils.cjs +55 -3
- package/lib/utils.d.ts +43 -0
- package/lib/utils.js.map +1 -1
- package/lib/web.cjs +2 -2
- package/lib/web.d.ts +2 -2
- package/lib/winston/index.cjs +22 -0
- package/lib/winston/index.d.ts +7 -0
- package/lib/winston/index.js.map +1 -1
- package/lib/winston/winston.cjs +29 -36
- package/lib/winston/winston.d.ts +17 -21
- package/lib/winston/winston.js.map +1 -1
- package/package.json +9 -10
- package/lib/accumulate.types.cjs +0 -27
- package/lib/accumulate.types.d.ts +0 -1
- package/lib/accumulate.types.js.map +0 -1
- package/lib/esm/accumulate.types.d.ts +0 -1
- package/lib/esm/accumulate.types.js +0 -25
- package/lib/esm/accumulate.types.js.map +0 -1
package/lib/esm/logging.js
CHANGED
|
@@ -3,13 +3,13 @@ import { DefaultTheme, LogLevel, NumericLogLevels } from "./constants.js";
|
|
|
3
3
|
import { sf } from "./text.js";
|
|
4
4
|
import { LoggedEnvironment } from "./environment.js";
|
|
5
5
|
import { getObjectName, isClass, isFunction, isInstance } from "./utils.js";
|
|
6
|
+
export const ROOT_CONTEXT_SYMBOL = Symbol("MiniLoggerRootContext");
|
|
6
7
|
/**
|
|
7
8
|
* @description A minimal logger implementation.
|
|
8
|
-
* @summary MiniLogger is a lightweight logging class that implements the Logger interface.
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
* @param {string}
|
|
12
|
-
* @param {Partial<LoggingConfig>} conf - Optional configuration to override global settings
|
|
9
|
+
* @summary MiniLogger is a lightweight logging class that implements the Logger interface. It provides basic logging functionality with support for different log levels, verbosity, context-aware logging, and customizable formatting.
|
|
10
|
+
* @param {string} [context] - The context (typically class name) this logger is associated with.
|
|
11
|
+
* @param {Partial<LoggingConfig>} [conf] - Optional configuration to override global settings.
|
|
12
|
+
* @param {string[]} [baseContext=[]] - The base context for the logger.
|
|
13
13
|
* @class MiniLogger
|
|
14
14
|
* @example
|
|
15
15
|
* // Create a new logger for a class
|
|
@@ -28,9 +28,13 @@ import { getObjectName, isClass, isFunction, isInstance } from "./utils.js";
|
|
|
28
28
|
* logger.for('specialMethod', { style: true }).info('Styled message');
|
|
29
29
|
*/
|
|
30
30
|
export class MiniLogger {
|
|
31
|
-
constructor(context, conf) {
|
|
32
|
-
this.context = context;
|
|
31
|
+
constructor(context, conf, baseContext = []) {
|
|
33
32
|
this.conf = conf;
|
|
33
|
+
this.baseContext = Array.isArray(baseContext) ? [...baseContext] : [];
|
|
34
|
+
if (context)
|
|
35
|
+
this.baseContext.push(context);
|
|
36
|
+
this.context = [...this.baseContext];
|
|
37
|
+
this[ROOT_CONTEXT_SYMBOL] = [...this.baseContext];
|
|
34
38
|
}
|
|
35
39
|
config(key) {
|
|
36
40
|
if (this.conf && key in this.conf)
|
|
@@ -38,17 +42,28 @@ export class MiniLogger {
|
|
|
38
42
|
return Logging.getConfig()[key];
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
|
-
* @description Creates a child logger for a specific method or context
|
|
42
|
-
* @summary Returns a new logger instance with the current context extended by the specified method name
|
|
43
|
-
* @param {string | Function} method - The method name or
|
|
44
|
-
* @param {Partial<LoggingConfig>} config - Optional configuration to override settings
|
|
45
|
-
* @param {...any[]} args - Additional arguments to pass to the logger factory
|
|
46
|
-
* @return {Logger} A new logger instance for the specified method
|
|
45
|
+
* @description Creates a child logger for a specific method or context.
|
|
46
|
+
* @summary Returns a new logger instance with the current context extended by the specified method name.
|
|
47
|
+
* @param {string | Function | object | Partial<LoggingConfig>} [method] - The method name, function, or configuration to create a logger for.
|
|
48
|
+
* @param {Partial<LoggingConfig>} [config] - Optional configuration to override settings.
|
|
49
|
+
* @param {...any[]} args - Additional arguments to pass to the logger factory.
|
|
50
|
+
* @return {Logger} A new logger instance for the specified method.
|
|
47
51
|
*/
|
|
48
52
|
for(method, config, ...args // eslint-disable-line @typescript-eslint/no-unused-vars
|
|
49
53
|
) {
|
|
50
54
|
let contextName;
|
|
51
55
|
let childConfig = config;
|
|
56
|
+
const parentContext = Array.isArray(this.context)
|
|
57
|
+
? [...this.context]
|
|
58
|
+
: typeof this.context === "string" && this.context
|
|
59
|
+
? [this.context]
|
|
60
|
+
: [];
|
|
61
|
+
const rootCandidate = this[ROOT_CONTEXT_SYMBOL];
|
|
62
|
+
const baseContext = Array.isArray(rootCandidate)
|
|
63
|
+
? [...rootCandidate]
|
|
64
|
+
: Array.isArray(this.baseContext)
|
|
65
|
+
? [...this.baseContext]
|
|
66
|
+
: [];
|
|
52
67
|
if (typeof method === "string") {
|
|
53
68
|
contextName = method;
|
|
54
69
|
}
|
|
@@ -60,6 +75,9 @@ export class MiniLogger {
|
|
|
60
75
|
childConfig = method;
|
|
61
76
|
}
|
|
62
77
|
}
|
|
78
|
+
let contextSegments = contextName
|
|
79
|
+
? [...parentContext, contextName]
|
|
80
|
+
: [...parentContext];
|
|
63
81
|
return new Proxy(this, {
|
|
64
82
|
get: (target, p, receiver) => {
|
|
65
83
|
const result = Reflect.get(target, p, receiver);
|
|
@@ -72,37 +90,65 @@ export class MiniLogger {
|
|
|
72
90
|
}
|
|
73
91
|
return Reflect.apply(target, receiver, argArray);
|
|
74
92
|
},
|
|
75
|
-
get: (target,
|
|
76
|
-
if (childConfig &&
|
|
77
|
-
return childConfig[
|
|
78
|
-
return Reflect.get(target,
|
|
93
|
+
get: (target, key) => {
|
|
94
|
+
if (childConfig && key in childConfig)
|
|
95
|
+
return childConfig[key];
|
|
96
|
+
return Reflect.get(target, key, receiver);
|
|
79
97
|
},
|
|
80
98
|
});
|
|
81
99
|
}
|
|
82
|
-
if (p === "
|
|
83
|
-
return
|
|
100
|
+
if (p === "clear") {
|
|
101
|
+
return () => {
|
|
102
|
+
contextSegments = [...baseContext];
|
|
103
|
+
childConfig = undefined;
|
|
104
|
+
return receiver;
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
if (p === "context") {
|
|
108
|
+
return contextSegments;
|
|
109
|
+
}
|
|
110
|
+
if (p === "root") {
|
|
111
|
+
return [...baseContext];
|
|
112
|
+
}
|
|
113
|
+
if (p === ROOT_CONTEXT_SYMBOL) {
|
|
114
|
+
return baseContext;
|
|
115
|
+
}
|
|
116
|
+
if (p === "for") {
|
|
117
|
+
return (...innerArgs) => {
|
|
118
|
+
const originalContext = Array.isArray(target.context)
|
|
119
|
+
? [...target.context]
|
|
120
|
+
: typeof target.context === "string" && target.context
|
|
121
|
+
? [target.context]
|
|
122
|
+
: [];
|
|
123
|
+
target.context = [...contextSegments];
|
|
124
|
+
try {
|
|
125
|
+
// eslint-disable-next-line prefer-spread
|
|
126
|
+
return target.for.apply(target, innerArgs);
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
target.context = originalContext;
|
|
130
|
+
}
|
|
131
|
+
};
|
|
84
132
|
}
|
|
85
133
|
return result;
|
|
86
134
|
},
|
|
87
135
|
});
|
|
88
136
|
}
|
|
89
137
|
/**
|
|
90
|
-
* @description Creates a formatted log string
|
|
91
|
-
* @summary Generates a log string with timestamp, colored log level, context, and message
|
|
92
|
-
* @param {LogLevel} level - The log level for this message
|
|
93
|
-
* @param {StringLike | Error} message - The message to log or an Error object
|
|
94
|
-
* @param {
|
|
95
|
-
* @return {string} A formatted log string with all components
|
|
138
|
+
* @description Creates a formatted log string.
|
|
139
|
+
* @summary Generates a log string with timestamp, colored log level, context, and message.
|
|
140
|
+
* @param {LogLevel} level - The log level for this message.
|
|
141
|
+
* @param {StringLike | Error} message - The message to log or an Error object.
|
|
142
|
+
* @param {Error} [error] - Optional error to extract stack trace to include in the log.
|
|
143
|
+
* @return {string} A formatted log string with all components.
|
|
96
144
|
*/
|
|
97
145
|
createLog(level, message, error) {
|
|
98
146
|
const log = {};
|
|
99
147
|
const style = this.config("style");
|
|
100
148
|
const separator = this.config("separator");
|
|
101
|
-
const app =
|
|
149
|
+
const app = Logging.getConfig().app;
|
|
102
150
|
if (app)
|
|
103
|
-
log.app = style
|
|
104
|
-
? Logging.theme(app, "app", level)
|
|
105
|
-
: app;
|
|
151
|
+
log.app = style ? Logging.theme(app, "app", level) : app;
|
|
106
152
|
if (separator)
|
|
107
153
|
log.separator = style
|
|
108
154
|
? Logging.theme(separator, "separator", level)
|
|
@@ -119,10 +165,16 @@ export class MiniLogger {
|
|
|
119
165
|
log.level = lvl.toUpperCase();
|
|
120
166
|
}
|
|
121
167
|
if (this.config("context")) {
|
|
122
|
-
const
|
|
123
|
-
?
|
|
124
|
-
: this.context
|
|
125
|
-
|
|
168
|
+
const contextSegments = Array.isArray(this.context)
|
|
169
|
+
? this.context
|
|
170
|
+
: typeof this.context === "string" && this.context
|
|
171
|
+
? [this.context]
|
|
172
|
+
: [];
|
|
173
|
+
if (contextSegments.length) {
|
|
174
|
+
const joined = contextSegments.join(this.config("contextSeparator") || ".");
|
|
175
|
+
const context = style ? Logging.theme(joined, "class", level) : joined;
|
|
176
|
+
log.context = context;
|
|
177
|
+
}
|
|
126
178
|
}
|
|
127
179
|
if (this.config("correlationId")) {
|
|
128
180
|
{
|
|
@@ -165,12 +217,11 @@ export class MiniLogger {
|
|
|
165
217
|
}
|
|
166
218
|
}
|
|
167
219
|
/**
|
|
168
|
-
* @description Logs a message with the specified log level
|
|
169
|
-
* @summary Checks if the message should be logged based on the current log level,
|
|
170
|
-
*
|
|
171
|
-
* @param {
|
|
172
|
-
* @param {
|
|
173
|
-
* @param {string} [error] - Optional stack trace to include in the log
|
|
220
|
+
* @description Logs a message with the specified log level.
|
|
221
|
+
* @summary Checks if the message should be logged based on the current log level, then uses the appropriate console method to output the formatted log.
|
|
222
|
+
* @param {LogLevel} level - The log level of the message.
|
|
223
|
+
* @param {StringLike | Error} msg - The message to be logged or an Error object.
|
|
224
|
+
* @param {Error} [error] - Optional stack trace to include in the log.
|
|
174
225
|
* @return {void}
|
|
175
226
|
*/
|
|
176
227
|
log(level, msg, error) {
|
|
@@ -207,19 +258,19 @@ export class MiniLogger {
|
|
|
207
258
|
method(this.createLog(level, msg, error));
|
|
208
259
|
}
|
|
209
260
|
/**
|
|
210
|
-
* @description Logs a message at the benchmark level
|
|
211
|
-
* @summary Logs a message at the benchmark level if the current verbosity setting allows it
|
|
212
|
-
* @param {StringLike} msg - The message to be logged
|
|
261
|
+
* @description Logs a message at the benchmark level.
|
|
262
|
+
* @summary Logs a message at the benchmark level if the current verbosity setting allows it.
|
|
263
|
+
* @param {StringLike} msg - The message to be logged.
|
|
213
264
|
* @return {void}
|
|
214
265
|
*/
|
|
215
266
|
benchmark(msg) {
|
|
216
267
|
this.log(LogLevel.benchmark, msg);
|
|
217
268
|
}
|
|
218
269
|
/**
|
|
219
|
-
* @description Logs a message at the silly level
|
|
220
|
-
* @summary Logs a message at the silly level if the current verbosity setting allows it
|
|
221
|
-
* @param {StringLike} msg - The message to be logged
|
|
222
|
-
* @param {number} [verbosity=0] - The verbosity level of the message
|
|
270
|
+
* @description Logs a message at the silly level.
|
|
271
|
+
* @summary Logs a message at the silly level if the current verbosity setting allows it.
|
|
272
|
+
* @param {StringLike} msg - The message to be logged.
|
|
273
|
+
* @param {number} [verbosity=0] - The verbosity level of the message.
|
|
223
274
|
* @return {void}
|
|
224
275
|
*/
|
|
225
276
|
silly(msg, verbosity = 0) {
|
|
@@ -227,10 +278,10 @@ export class MiniLogger {
|
|
|
227
278
|
this.log(LogLevel.silly, msg);
|
|
228
279
|
}
|
|
229
280
|
/**
|
|
230
|
-
* @description Logs a message at the verbose level
|
|
231
|
-
* @summary Logs a message at the verbose level if the current verbosity setting allows it
|
|
232
|
-
* @param {StringLike} msg - The message to be logged
|
|
233
|
-
* @param {number} [verbosity=0] - The verbosity level of the message
|
|
281
|
+
* @description Logs a message at the verbose level.
|
|
282
|
+
* @summary Logs a message at the verbose level if the current verbosity setting allows it.
|
|
283
|
+
* @param {StringLike} msg - The message to be logged.
|
|
284
|
+
* @param {number} [verbosity=0] - The verbosity level of the message.
|
|
234
285
|
* @return {void}
|
|
235
286
|
*/
|
|
236
287
|
verbose(msg, verbosity = 0) {
|
|
@@ -238,66 +289,76 @@ export class MiniLogger {
|
|
|
238
289
|
this.log(LogLevel.verbose, msg);
|
|
239
290
|
}
|
|
240
291
|
/**
|
|
241
|
-
* @description Logs a message at the info level
|
|
242
|
-
* @summary Logs a message at the info level for general application information
|
|
243
|
-
* @param {StringLike} msg - The message to be logged
|
|
292
|
+
* @description Logs a message at the info level.
|
|
293
|
+
* @summary Logs a message at the info level for general application information.
|
|
294
|
+
* @param {StringLike} msg - The message to be logged.
|
|
244
295
|
* @return {void}
|
|
245
296
|
*/
|
|
246
297
|
info(msg) {
|
|
247
298
|
this.log(LogLevel.info, msg);
|
|
248
299
|
}
|
|
249
300
|
/**
|
|
250
|
-
* @description Logs a message at the debug level
|
|
251
|
-
* @summary Logs a message at the debug level for detailed troubleshooting information
|
|
252
|
-
* @param {StringLike} msg - The message to be logged
|
|
301
|
+
* @description Logs a message at the debug level.
|
|
302
|
+
* @summary Logs a message at the debug level for detailed troubleshooting information.
|
|
303
|
+
* @param {StringLike} msg - The message to be logged.
|
|
253
304
|
* @return {void}
|
|
254
305
|
*/
|
|
255
306
|
debug(msg) {
|
|
256
307
|
this.log(LogLevel.debug, msg);
|
|
257
308
|
}
|
|
258
309
|
/**
|
|
259
|
-
* @description Logs a message at the error level
|
|
260
|
-
* @summary Logs a message at the error level for errors and exceptions
|
|
261
|
-
* @param {StringLike | Error} msg - The message to be logged or an Error object
|
|
262
|
-
* @param e
|
|
310
|
+
* @description Logs a message at the error level.
|
|
311
|
+
* @summary Logs a message at the error level for errors and exceptions.
|
|
312
|
+
* @param {StringLike | Error} msg - The message to be logged or an Error object.
|
|
313
|
+
* @param {Error} [e] - Optional error to include in the log.
|
|
263
314
|
* @return {void}
|
|
264
315
|
*/
|
|
265
316
|
error(msg, e) {
|
|
266
317
|
this.log(LogLevel.error, msg, e);
|
|
267
318
|
}
|
|
268
319
|
/**
|
|
269
|
-
* @description Logs a message at the
|
|
270
|
-
* @summary Logs a message at the
|
|
271
|
-
* @param {StringLike} msg - The message to be logged
|
|
320
|
+
* @description Logs a message at the warning level.
|
|
321
|
+
* @summary Logs a message at the warning level for potential issues.
|
|
322
|
+
* @param {StringLike} msg - The message to be logged.
|
|
272
323
|
* @return {void}
|
|
273
324
|
*/
|
|
274
325
|
warn(msg) {
|
|
275
326
|
this.log(LogLevel.warn, msg);
|
|
276
327
|
}
|
|
277
328
|
/**
|
|
278
|
-
* @description Logs a message at the
|
|
279
|
-
* @summary Logs a message at the
|
|
280
|
-
* @param {StringLike} msg - The message to be logged
|
|
329
|
+
* @description Logs a message at the trace level.
|
|
330
|
+
* @summary Logs a message at the trace level for tracing code execution.
|
|
331
|
+
* @param {StringLike} msg - The message to be logged.
|
|
281
332
|
* @return {void}
|
|
282
333
|
*/
|
|
283
334
|
trace(msg) {
|
|
284
335
|
this.log(LogLevel.trace, msg);
|
|
285
336
|
}
|
|
286
337
|
/**
|
|
287
|
-
* @description Updates the logger configuration
|
|
288
|
-
* @summary Merges the provided configuration with the existing configuration
|
|
289
|
-
* @param {Partial<LoggingConfig>} config - The configuration options to apply
|
|
338
|
+
* @description Updates the logger configuration.
|
|
339
|
+
* @summary Merges the provided configuration with the existing configuration.
|
|
340
|
+
* @param {Partial<LoggingConfig>} config - The configuration options to apply.
|
|
290
341
|
* @return {void}
|
|
291
342
|
*/
|
|
292
343
|
setConfig(config) {
|
|
293
344
|
this.conf = { ...(this.conf || {}), ...config };
|
|
294
345
|
}
|
|
346
|
+
get root() {
|
|
347
|
+
return [...this.baseContext];
|
|
348
|
+
}
|
|
349
|
+
/**
|
|
350
|
+
* @description Clears any contextual overrides applied by `for`.
|
|
351
|
+
* @summary Returns the same logger instance so more contexts can be chained afterwards.
|
|
352
|
+
* @return {this} The same logger instance.
|
|
353
|
+
*/
|
|
354
|
+
clear() {
|
|
355
|
+
this.context = [...this.baseContext];
|
|
356
|
+
return this;
|
|
357
|
+
}
|
|
295
358
|
}
|
|
296
359
|
/**
|
|
297
|
-
* @description A static class for managing logging operations
|
|
298
|
-
* @summary The Logging class provides a centralized logging mechanism with support for
|
|
299
|
-
* different log levels, verbosity, and styling. It uses a singleton pattern to maintain a global
|
|
300
|
-
* logger instance and allows creating specific loggers for different classes and methods.
|
|
360
|
+
* @description A static class for managing logging operations.
|
|
361
|
+
* @summary The Logging class provides a centralized logging mechanism with support for different log levels, verbosity, and styling. It uses a singleton pattern to maintain a global logger instance and allows creating specific loggers for different classes and methods.
|
|
301
362
|
* @class Logging
|
|
302
363
|
* @example
|
|
303
364
|
* // Set global configuration
|
|
@@ -360,27 +421,31 @@ export class MiniLogger {
|
|
|
360
421
|
*/
|
|
361
422
|
export class Logging {
|
|
362
423
|
/**
|
|
363
|
-
* @description Factory function for creating logger instances
|
|
424
|
+
* @description Factory function for creating logger instances.
|
|
364
425
|
* @summary A function that creates new Logger instances. By default, it creates a MiniLogger.
|
|
365
426
|
*/
|
|
366
427
|
static { this._factory = (object, config) => {
|
|
367
|
-
|
|
428
|
+
const base = typeof LoggedEnvironment.app === "string"
|
|
429
|
+
? [LoggedEnvironment.app]
|
|
430
|
+
: [];
|
|
431
|
+
return new MiniLogger(object, config, base);
|
|
368
432
|
}; }
|
|
369
433
|
static { this._config = LoggedEnvironment; }
|
|
370
434
|
constructor() { }
|
|
371
435
|
/**
|
|
372
|
-
* @description Sets the factory function for creating logger instances
|
|
373
|
-
* @summary Allows customizing how logger instances are created
|
|
374
|
-
* @param {LoggerFactory} factory - The factory function to use for creating loggers
|
|
436
|
+
* @description Sets the factory function for creating logger instances.
|
|
437
|
+
* @summary Allows customizing how logger instances are created.
|
|
438
|
+
* @param {LoggerFactory} factory - The factory function to use for creating loggers.
|
|
375
439
|
* @return {void}
|
|
376
440
|
*/
|
|
377
441
|
static setFactory(factory) {
|
|
378
442
|
Logging._factory = factory;
|
|
443
|
+
this.global = undefined;
|
|
379
444
|
}
|
|
380
445
|
/**
|
|
381
|
-
* @description Updates the global logging configuration
|
|
382
|
-
* @summary Allows updating the global logging configuration with new settings
|
|
383
|
-
* @param {Partial<LoggingConfig>} config - The configuration options to apply
|
|
446
|
+
* @description Updates the global logging configuration.
|
|
447
|
+
* @summary Allows updating the global logging configuration with new settings.
|
|
448
|
+
* @param {Partial<LoggingConfig>} config - The configuration options to apply.
|
|
384
449
|
* @return {void}
|
|
385
450
|
*/
|
|
386
451
|
static setConfig(config) {
|
|
@@ -389,9 +454,9 @@ export class Logging {
|
|
|
389
454
|
});
|
|
390
455
|
}
|
|
391
456
|
/**
|
|
392
|
-
* @description Gets a copy of the current global logging configuration
|
|
393
|
-
* @summary Returns a copy of the current global logging configuration
|
|
394
|
-
* @return {LoggingConfig} A copy of the current configuration
|
|
457
|
+
* @description Gets a copy of the current global logging configuration.
|
|
458
|
+
* @summary Returns a copy of the current global logging configuration.
|
|
459
|
+
* @return {LoggingConfig} A copy of the current configuration.
|
|
395
460
|
*/
|
|
396
461
|
static getConfig() {
|
|
397
462
|
return this._config;
|
|
@@ -399,19 +464,17 @@ export class Logging {
|
|
|
399
464
|
/**
|
|
400
465
|
* @description Retrieves or creates the global logger instance.
|
|
401
466
|
* @summary Returns the existing global logger or creates a new one if it doesn't exist.
|
|
402
|
-
*
|
|
403
|
-
* @return The global VerbosityLogger instance.
|
|
467
|
+
* @return {Logger} The global Logger instance.
|
|
404
468
|
*/
|
|
405
469
|
static get() {
|
|
406
|
-
|
|
407
|
-
return this.global;
|
|
470
|
+
return this.ensureRoot();
|
|
408
471
|
}
|
|
409
472
|
/**
|
|
410
473
|
* @description Logs a verbose message.
|
|
411
474
|
* @summary Delegates the verbose logging to the global logger instance.
|
|
412
|
-
*
|
|
413
|
-
* @param
|
|
414
|
-
* @
|
|
475
|
+
* @param {StringLike} msg - The message to be logged.
|
|
476
|
+
* @param {number} [verbosity=0] - The verbosity level of the message.
|
|
477
|
+
* @return {void}
|
|
415
478
|
*/
|
|
416
479
|
static verbose(msg, verbosity = 0) {
|
|
417
480
|
return this.get().verbose(msg, verbosity);
|
|
@@ -419,17 +482,17 @@ export class Logging {
|
|
|
419
482
|
/**
|
|
420
483
|
* @description Logs an info message.
|
|
421
484
|
* @summary Delegates the info logging to the global logger instance.
|
|
422
|
-
*
|
|
423
|
-
* @
|
|
485
|
+
* @param {StringLike} msg - The message to be logged.
|
|
486
|
+
* @return {void}
|
|
424
487
|
*/
|
|
425
488
|
static info(msg) {
|
|
426
489
|
return this.get().info(msg);
|
|
427
490
|
}
|
|
428
491
|
/**
|
|
429
|
-
* @description Logs
|
|
430
|
-
* @summary Delegates the
|
|
431
|
-
*
|
|
432
|
-
* @
|
|
492
|
+
* @description Logs a trace message.
|
|
493
|
+
* @summary Delegates the trace logging to the global logger instance.
|
|
494
|
+
* @param {StringLike} msg - The message to be logged.
|
|
495
|
+
* @return {void}
|
|
433
496
|
*/
|
|
434
497
|
static trace(msg) {
|
|
435
498
|
return this.get().trace(msg);
|
|
@@ -437,8 +500,8 @@ export class Logging {
|
|
|
437
500
|
/**
|
|
438
501
|
* @description Logs a debug message.
|
|
439
502
|
* @summary Delegates the debug logging to the global logger instance.
|
|
440
|
-
*
|
|
441
|
-
* @
|
|
503
|
+
* @param {StringLike} msg - The message to be logged.
|
|
504
|
+
* @return {void}
|
|
442
505
|
*/
|
|
443
506
|
static debug(msg) {
|
|
444
507
|
return this.get().debug(msg);
|
|
@@ -446,26 +509,26 @@ export class Logging {
|
|
|
446
509
|
/**
|
|
447
510
|
* @description Logs a benchmark message.
|
|
448
511
|
* @summary Delegates the benchmark logging to the global logger instance.
|
|
449
|
-
*
|
|
450
|
-
* @
|
|
512
|
+
* @param {StringLike} msg - The message to be logged.
|
|
513
|
+
* @return {void}
|
|
451
514
|
*/
|
|
452
515
|
static benchmark(msg) {
|
|
453
516
|
return this.get().benchmark(msg);
|
|
454
517
|
}
|
|
455
518
|
/**
|
|
456
519
|
* @description Logs a silly message.
|
|
457
|
-
* @summary Delegates the
|
|
458
|
-
*
|
|
459
|
-
* @
|
|
520
|
+
* @summary Delegates the silly logging to the global logger instance.
|
|
521
|
+
* @param {StringLike} msg - The message to be logged.
|
|
522
|
+
* @return {void}
|
|
460
523
|
*/
|
|
461
524
|
static silly(msg) {
|
|
462
525
|
return this.get().silly(msg);
|
|
463
526
|
}
|
|
464
527
|
/**
|
|
465
|
-
* @description Logs a
|
|
466
|
-
* @summary Delegates the
|
|
467
|
-
*
|
|
468
|
-
* @
|
|
528
|
+
* @description Logs a warning message.
|
|
529
|
+
* @summary Delegates the warning logging to the global logger instance.
|
|
530
|
+
* @param {StringLike} msg - The message to be logged.
|
|
531
|
+
* @return {void}
|
|
469
532
|
*/
|
|
470
533
|
static warn(msg) {
|
|
471
534
|
return this.get().warn(msg);
|
|
@@ -473,49 +536,71 @@ export class Logging {
|
|
|
473
536
|
/**
|
|
474
537
|
* @description Logs an error message.
|
|
475
538
|
* @summary Delegates the error logging to the global logger instance.
|
|
476
|
-
*
|
|
477
|
-
* @param
|
|
478
|
-
* @
|
|
539
|
+
* @param {StringLike | Error} msg - The message to be logged.
|
|
540
|
+
* @param {Error} [e] - Optional error to include in the log.
|
|
541
|
+
* @return {void}
|
|
479
542
|
*/
|
|
480
543
|
static error(msg, e) {
|
|
481
544
|
return this.get().error(msg, e);
|
|
482
545
|
}
|
|
483
546
|
/**
|
|
484
|
-
* @description Creates a logger for a specific object or context
|
|
485
|
-
* @summary Creates a new logger instance for the given object or context using the factory function
|
|
486
|
-
* @param {LoggingContext} object - The object, class, or context to create a logger for
|
|
487
|
-
* @param {Partial<LoggingConfig>} [config] - Optional configuration to override global settings
|
|
488
|
-
* @param {...any} args - Additional arguments to pass to the logger factory
|
|
489
|
-
* @return {Logger} A new logger instance for the specified object or context
|
|
547
|
+
* @description Creates a logger for a specific object or context.
|
|
548
|
+
* @summary Creates a new logger instance for the given object or context using the factory function.
|
|
549
|
+
* @param {LoggingContext} object - The object, class, or context to create a logger for.
|
|
550
|
+
* @param {Partial<LoggingConfig>} [config] - Optional configuration to override global settings.
|
|
551
|
+
* @param {...any} args - Additional arguments to pass to the logger factory.
|
|
552
|
+
* @return {Logger} A new logger instance for the specified object or context.
|
|
490
553
|
*/
|
|
491
554
|
static for(object, config, ...args) {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
: object.constructor
|
|
496
|
-
? object.constructor.name
|
|
497
|
-
: object.name;
|
|
498
|
-
return this._factory(object, config, ...args);
|
|
555
|
+
const root = this.global ? this.global : this.ensureRoot(args);
|
|
556
|
+
const callArgs = config !== undefined ? [object, config] : [object];
|
|
557
|
+
return root.for(...callArgs);
|
|
499
558
|
}
|
|
500
559
|
/**
|
|
501
|
-
* @description Creates a logger for a specific reason or correlation context
|
|
502
|
-
* @summary Utility to quickly create a logger labeled with a free-form reason and optional identifier
|
|
503
|
-
*
|
|
504
|
-
* @param {string}
|
|
505
|
-
* @
|
|
506
|
-
* @return {Logger} A new logger instance labeled with the provided reason and id
|
|
560
|
+
* @description Creates a logger for a specific reason or correlation context.
|
|
561
|
+
* @summary Utility to quickly create a logger labeled with a free-form reason and optional identifier so that ad-hoc operations can be traced without tying the logger to a class or method name.
|
|
562
|
+
* @param {string} reason - A textual reason or context label for this logger instance.
|
|
563
|
+
* @param {string} [id] - Optional identifier to help correlate related log entries.
|
|
564
|
+
* @return {Logger} A new logger instance labeled with the provided reason and id.
|
|
507
565
|
*/
|
|
508
566
|
static because(reason, id) {
|
|
509
|
-
|
|
567
|
+
const root = this.ensureRoot();
|
|
568
|
+
let logger = root.for(reason, this._config);
|
|
569
|
+
if (id)
|
|
570
|
+
logger = logger.for(id);
|
|
571
|
+
return logger;
|
|
572
|
+
}
|
|
573
|
+
static baseContext() {
|
|
574
|
+
const app = this._config.app;
|
|
575
|
+
return typeof app === "string" && app.length ? [app] : [];
|
|
576
|
+
}
|
|
577
|
+
static attachRootContext(logger) {
|
|
578
|
+
const base = logger.root && Array.isArray(logger.root)
|
|
579
|
+
? [...logger.root]
|
|
580
|
+
: this.baseContext();
|
|
581
|
+
if (!logger.context ||
|
|
582
|
+
(Array.isArray(logger.context) &&
|
|
583
|
+
logger.context.length === 0)) {
|
|
584
|
+
logger.context = [...base];
|
|
585
|
+
}
|
|
586
|
+
logger[ROOT_CONTEXT_SYMBOL] = [...base];
|
|
587
|
+
return logger;
|
|
588
|
+
}
|
|
589
|
+
static ensureRoot(extras = []) {
|
|
590
|
+
if (!this.global) {
|
|
591
|
+
const instance = this._factory(undefined, undefined, ...extras);
|
|
592
|
+
this.global = this.attachRootContext(instance);
|
|
593
|
+
}
|
|
594
|
+
return this.global;
|
|
510
595
|
}
|
|
511
596
|
/**
|
|
512
|
-
* @description Applies theme styling to text
|
|
513
|
-
* @summary Applies styling (colors, formatting) to text based on the theme configuration
|
|
514
|
-
* @param {string} text - The text to style
|
|
515
|
-
* @param
|
|
516
|
-
* @param {LogLevel} loggerLevel - The log level to use for styling
|
|
517
|
-
* @param {Theme} [template=DefaultTheme] - The theme to use for styling
|
|
518
|
-
* @return {string} The styled text
|
|
597
|
+
* @description Applies theme styling to text.
|
|
598
|
+
* @summary Applies styling (colors, formatting) to text based on the theme configuration.
|
|
599
|
+
* @param {string} text - The text to style.
|
|
600
|
+
* @param type - The type of element to style (e.g., "class", "message", "logLevel").
|
|
601
|
+
* @param {LogLevel} loggerLevel - The log level to use for styling.
|
|
602
|
+
* @param {Theme} [template=DefaultTheme] - The theme to use for styling.
|
|
603
|
+
* @return {string} The styled text.
|
|
519
604
|
* @mermaid
|
|
520
605
|
* sequenceDiagram
|
|
521
606
|
* participant Caller
|
package/lib/esm/logging.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../src/logging.ts"],"names":[],"mappings":"AAUA,OAAO,EAAmB,KAAK,EAAgB,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,gBAAgB,EAAE,uBAAoB;AACvE,OAAO,EAAE,EAAE,EAAE,kBAAe;AAC5B,OAAO,EAAE,iBAAiB,EAAE,yBAAsB;AAClD,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,mBAAgB;AAEzE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,uBAAuB,CAAC,CAAC;AAEnE;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,OAAO,UAAU;IAIrB,YACE,OAAgB,EACN,IAA6B,EACvC,cAAwB,EAAE;QADhB,SAAI,GAAJ,IAAI,CAAyB;QAGvC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,IAAI,OAAO;YAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5C,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACpC,IAAY,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC7D,CAAC;IAES,MAAM,CACd,GAAwB;QAExB,IAAI,IAAI,CAAC,IAAI,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAoBD;;;;;;;OAOG;IACH,GAAG,CACD,MAK0B,EAC1B,MAA+B,EAC/B,GAAG,IAAW,CAAC,wDAAwD;;QAEvE,IAAI,WAA+B,CAAC;QACpC,IAAI,WAAW,GAAG,MAAM,CAAC;QACzB,MAAM,aAAa,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/C,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;YACnB,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO;gBAChD,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;gBAChB,CAAC,CAAC,EAAE,CAAC;QACT,MAAM,aAAa,GAAI,IAAY,CAAC,mBAAmB,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC;YAC9C,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC;YACpB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC;gBAC/B,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC;gBACvB,CAAC,CAAC,EAAE,CAAC;QAET,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,WAAW,GAAG,MAAM,CAAC;QACvB,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChE,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;YACtC,CAAC;iBAAM,IAAI,CAAC,WAAW,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAChE,WAAW,GAAG,MAAgC,CAAC;YACjD,CAAC;QACH,CAAC;QAED,IAAI,eAAe,GAAG,WAAW;YAC/B,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,WAAW,CAAC;YACjC,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC;QAEvB,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE;YACrB,GAAG,EAAE,CAAC,MAAmB,EAAE,CAAkB,EAAE,QAAa,EAAE,EAAE;gBAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAChD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;oBACnB,OAAO,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE;wBAC5B,KAAK,EAAE,CACL,MAA0B,EAC1B,QAAiB,EACjB,QAA+B,EAC/B,EAAE;4BACF,MAAM,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC;4BACvB,IAAI,WAAW,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC;gCAC3D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;4BAC1B,CAAC;4BACD,OAAO,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;wBACnD,CAAC;wBACD,GAAG,EAAE,CAAC,MAA0B,EAAE,GAAoB,EAAE,EAAE;4BACxD,IAAI,WAAW,IAAI,GAAG,IAAI,WAAW;gCACnC,OAAO,WAAW,CAAC,GAA0B,CAAC,CAAC;4BACjD,OAAO,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;wBAC5C,CAAC;qBACF,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;oBAClB,OAAO,GAAG,EAAE;wBACV,eAAe,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;wBACnC,WAAW,GAAG,SAAS,CAAC;wBACxB,OAAO,QAAQ,CAAC;oBAClB,CAAC,CAAC;gBACJ,CAAC;gBACD,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;oBACpB,OAAO,eAAe,CAAC;gBACzB,CAAC;gBACD,IAAI,CAAC,KAAK,MAAM,EAAE,CAAC;oBACjB,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;gBAC1B,CAAC;gBACD,IAAI,CAAC,KAAK,mBAAmB,EAAE,CAAC;oBAC9B,OAAO,WAAW,CAAC;gBACrB,CAAC;gBACD,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,SAAwC,EAAE,EAAE;wBACrD,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;4BACnD,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC;4BACrB,CAAC,CAAC,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,IAAI,MAAM,CAAC,OAAO;gCACpD,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;gCAClB,CAAC,CAAC,EAAE,CAAC;wBACT,MAAM,CAAC,OAAO,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;wBACtC,IAAI,CAAC;4BACH,yCAAyC;4BACzC,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;wBAC7C,CAAC;gCAAS,CAAC;4BACT,MAAM,CAAC,OAAO,GAAG,eAAe,CAAC;wBACnC,CAAC;oBACH,CAAC,CAAC;gBACJ,CAAC;gBACD,OAAO,MAAM,CAAC;YAChB,CAAC;SACF,CAAS,CAAC;IACb,CAAC;IAED;;;;;;;OAOG;IACO,SAAS,CACjB,KAAe,EACf,OAA2B,EAC3B,KAAa;QAEb,MAAM,GAAG,GAUL,EAAS,CAAC;QACd,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC;QACpC,IAAI,GAAG;YAAE,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAa,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAE5E,IAAI,SAAS;YACX,GAAG,CAAC,SAAS,GAAG,KAAK;gBACnB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,SAAmB,EAAE,WAAW,EAAE,KAAK,CAAC;gBACxD,CAAC,CAAE,SAAoB,CAAC;QAE5B,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACzE,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,GAAG,GAAW,KAAK;gBACvB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,UAAU,EAAE,KAAK,CAAC;gBACzC,CAAC,CAAC,KAAK,CAAC;YACV,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC;YAC3B,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC;gBACjD,CAAC,CAAC,IAAI,CAAC,OAAO;gBACd,CAAC,CAAC,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,IAAI,IAAI,CAAC,OAAO;oBAChD,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;oBAChB,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,eAAe,CAAC,MAAM,EAAE,CAAC;gBAC3B,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAChC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAY,IAAI,GAAG,CACnD,CAAC;gBACF,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBACvE,GAAG,CAAC,OAAO,GAAG,OAAO,CAAC;YACxB,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC;YACjC,CAAC;gBACC,MAAM,EAAE,GAAW,KAAK;oBACtB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC;oBACtE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,eAAe,CAAE,CAAC,QAAQ,EAAE,CAAC;gBAC7C,GAAG,CAAC,aAAa,GAAG,EAAE,CAAC;YACzB,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAW,KAAK;YACvB,CAAC,CAAC,OAAO,CAAC,KAAK,CACX,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAE,OAAiB,CAAC,OAAO,EAClE,SAAS,EACT,KAAK,CACN;YACH,CAAC,CAAC,OAAO,OAAO,KAAK,QAAQ;gBAC3B,CAAC,CAAC,OAAO;gBACT,CAAC,CAAE,OAAiB,CAAC,OAAO,CAAC;QACjC,GAAG,CAAC,OAAO,GAAG,GAAG,CAAC;QAClB,IAAI,KAAK,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,KAAK;gBACjB,CAAC,CAAC,OAAO,CAAC,KAAK,CACX,CAAC,KAAK,EAAE,KAAK,IAAK,OAAiB,CAAC,KAAK,CAAW,EACpD,OAAO,EACP,KAAK,CACN;gBACH,CAAC,CAAC,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC;YACvB,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAK,OAAiB,CAAC,CAAC,OAAO,oBAAoB,KAAK,EAAE,CAAC;QACrF,CAAC;QAED,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9B,KAAK,MAAM;gBACT,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YAC7B,KAAK,KAAK;gBACR,OAAQ,IAAI,CAAC,MAAM,CAAC,SAAS,CAAY;qBACtC,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;oBACT,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;wBAAE,OAAO,CAAC,CAAC;oBAClC,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;oBAC9B,IAAI,UAAU,KAAK,CAAC;wBAAE,OAAO,UAAU,CAAC;oBACxC,OAAO,SAAS,CAAC;gBACnB,CAAC,CAAC;qBACD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;qBAChB,IAAI,CAAC,GAAG,CAAC,CAAC;YACf;gBACE,MAAM,IAAI,KAAK,CAAC,+BAA+B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACO,GAAG,CAAC,KAAe,EAAE,GAAuB,EAAE,KAAa;QACnE,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;QACjD,IAAI,gBAAgB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,KAAK,CAAC;YAAE,OAAO;QAChE,IAAI,MAAM,CAAC;QACX,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ,CAAC,SAAS;gBACrB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ,CAAC,IAAI;gBAChB,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;gBACrB,MAAM;YACR,KAAK,QAAQ,CAAC,OAAO,CAAC;YACtB,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;gBACvB,MAAM;YACR,KAAK,QAAQ,CAAC,IAAI;gBAChB,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;gBACvB,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,GAAe;QACvB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAe,EAAE,YAAoB,CAAC;QAC1C,IAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAY,IAAI,SAAS;YACjD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;OAMG;IACH,OAAO,CAAC,GAAe,EAAE,YAAoB,CAAC;QAC5C,IAAK,IAAI,CAAC,MAAM,CAAC,SAAS,CAAY,IAAI,SAAS;YACjD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,GAAe;QAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAe;QACnB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,GAAuB,EAAE,CAAS;QACtC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,IAAI,CAAC,GAAe;QAClB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,GAAe;QACnB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChC,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,MAA8B;QACtC,IAAI,CAAC,IAAI,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC;IAClD,CAAC;IAED,IAAI,IAAI;QACN,OAAO,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IAC/B,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8DG;AACH,MAAM,OAAO,OAAO;IAOlB;;;OAGG;aACY,aAAQ,GAAkB,CACvC,MAAe,EACf,MAA+B,EAC/B,EAAE;QACF,MAAM,IAAI,GACR,OAAO,iBAAiB,CAAC,GAAG,KAAK,QAAQ;YACvC,CAAC,CAAC,CAAC,iBAAiB,CAAC,GAAa,CAAC;YACnC,CAAC,CAAC,EAAE,CAAC;QACT,OAAO,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAsB,CAAC;IACnE,CAAC,CAAC;aAEa,YAAO,GAA6B,iBAAiB,CAAC;IAErE,gBAAuB,CAAC;IAExB;;;;;OAKG;IACH,MAAM,CAAC,UAAU,CAAC,OAAsB;QACtC,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC;QAC3B,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,MAA8B;QAC7C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACvC,IAAI,CAAC,OAAe,CAAC,CAAC,CAAC,GAAG,CAAQ,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,SAAS;QACd,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,GAAG;QACR,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,GAAe,EAAE,YAAoB,CAAC;QACnD,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAC5C,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,GAAe;QACzB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,GAAe;QAC1B,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,GAAe;QAC1B,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,GAAe;QAC9B,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,KAAK,CAAC,GAAe;QAC1B,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAAC,GAAe;QACzB,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,GAAuB,EAAE,CAAS;QAC7C,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,CACR,MAAsB,EACtB,MAA+B,EAC/B,GAAG,IAAW;QAEd,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/D,MAAM,QAAQ,GAAG,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QACpE,OAAQ,IAAI,CAAC,GAAW,CAAC,GAAG,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,CAAC,MAAc,EAAE,EAAW;QACxC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,IAAI,MAAM,GAAI,IAAI,CAAC,GAAW,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,EAAE;YAAE,MAAM,GAAI,MAAM,CAAC,GAAW,CAAC,EAAE,CAAC,CAAC;QACzC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,WAAW;QACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;QAC7B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAAC,MAAc;QAC7C,MAAM,IAAI,GACP,MAAc,CAAC,IAAI,IAAI,KAAK,CAAC,OAAO,CAAE,MAAc,CAAC,IAAI,CAAC;YACzD,CAAC,CAAC,CAAC,GAAI,MAAc,CAAC,IAAI,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACzB,IACE,CAAE,MAAc,CAAC,OAAO;YACxB,CAAC,KAAK,CAAC,OAAO,CAAE,MAAc,CAAC,OAAO,CAAC;gBACpC,MAAc,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,EACvC,CAAC;YACA,MAAc,CAAC,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACtC,CAAC;QACA,MAAc,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,CAAC;QACjD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,SAAgB,EAAE;QAC1C,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgCG;IACH,MAAM,CAAC,KAAK,CACV,IAAY,EACZ,IAAkC,EAClC,WAAqB,EACrB,WAAkB,YAAY;QAE9B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACrC,SAAS,KAAK,CACZ,GAAW,EACX,MAAyB,EACzB,KAAyE;YAEzE,IAAI,CAAC;gBACH,MAAM,CAAC,GAA0B,GAAG,CAAC;gBACrC,IAAI,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEjB,SAAS,UAAU,CACjB,GAAiD,EACjD,IAAI,GAAG,KAAK;oBAEZ,IAAI,CAAC,GAImB,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;oBAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;wBACxB,OAAQ,CAA+C,CAAC,IAAI,CAC1D,CAAC,EACD,KAAe,CAChB,CAAC;oBACJ,CAAC;oBACD,QAAQ,GAAG,CAAC,MAAM,EAAE,CAAC;wBACnB,KAAK,CAAC;4BACJ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;4BACrC,OAAQ,CAA6C,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBAChE,KAAK,CAAC;4BACJ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;4BAC3B,OAAO,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;wBACvC;4BACE,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;4BACrD,OAAO,KAAK,CAAC,CAAW,CAAC,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBAED,SAAS,UAAU,CAAC,CAAkB;oBACpC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;wBAC1B,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACjB,CAAC;yBAAM,CAAC;wBACN,CAAC,GAAG,CAAC,CAAC,CAA0B,CAAiB,CAAC;oBACpD,CAAC;gBACH,CAAC;gBAED,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,IAAI,CAAC;oBACV,KAAK,IAAI;wBACP,OAAO,UAAU,CAAC,KAAe,CAAC,CAAC,IAAI,CAAC;oBAC1C,KAAK,OAAO;wBACV,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;4BACzB,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;wBAC5B,CAAC;6BAAM,CAAC;4BACN,UAAU,CAAC,KAAwB,CAAC,CAAC;wBACvC,CAAC;wBACD,OAAO,CAAC,CAAC,IAAI,CAAC;oBAChB;wBACE,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;wBACrD,OAAO,CAAC,CAAC;gBACb,CAAC;gBACD,6DAA6D;YAC/D,CAAC;YAAC,OAAO,CAAU,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,yBAAyB,MAAM,eAAe,KAAK,EAAE,CAAC,CAAC;gBACrE,OAAO,GAAG,CAAC;YACb,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAmB,CAAC,CAAC;QACtD,IAAI,CAAC,eAAe,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,IAAI,WAAW,GAAgB,eAA8B,CAAC;QAE9D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,SAAS;YAC9C,WAAW;gBACR,eAAyC,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAElE,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAW,EAAE,GAAW,EAAE,EAAE;YAClE,MAAM,GAAG,GAAI,WAA2B,CAAC,GAAwB,CAAC,CAAC;YACnE,IAAI,GAAG;gBACL,OAAO,KAAK,CACV,GAAG,EACH,GAAwB,EACxB,GAKY,CACb,CAAC;YACJ,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,IAAI,CAAC,CAAC;IACX,CAAC"}
|