node-ansi-logger 2.0.7 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +96 -93
- package/dist/logger.d.ts +82 -33
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +295 -197
- package/dist/logger.js.map +1 -1
- package/dist/stringify.js +34 -1
- package/dist/stringify.js.map +1 -1
- package/package.json +21 -18
package/README.md
CHANGED
|
@@ -1,93 +1,96 @@
|
|
|
1
|
-
# Node ansi logger and stringify
|
|
2
|
-
|
|
3
|
-
[](https://www.npmjs.com/package/node-ansi-logger)
|
|
4
|
-
[](https://www.npmjs.com/package/node-ansi-logger)
|
|
5
|
-

|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
AnsiLogger is a lightweight, customizable color logger for Node.js.
|
|
10
|
-
|
|
11
|
-
## Features
|
|
12
|
-
|
|
13
|
-
- Simple and intuitive API for data logging.
|
|
14
|
-
- Customizable colors and apperance.
|
|
15
|
-
- It is also possible to pass a top level logger (like Homebridge or Matter logger) and AnsiLogger will use it
|
|
16
|
-
for output instead of console.
|
|
17
|
-
- Includes also a fully customizable stringify funtions with colors.
|
|
18
|
-
|
|
19
|
-
## Getting Started
|
|
20
|
-
|
|
21
|
-
### Prerequisites
|
|
22
|
-
|
|
23
|
-
- Node.js installed on your machine.
|
|
24
|
-
- node-ansi-logger has no dependencies!
|
|
25
|
-
|
|
26
|
-
### Installation
|
|
27
|
-
|
|
28
|
-
To get started with AnsiLogger in your package
|
|
29
|
-
|
|
30
|
-
```bash
|
|
31
|
-
npm install node-ansi-logger
|
|
32
|
-
```
|
|
33
|
-
|
|
34
|
-
# Usage
|
|
35
|
-
|
|
36
|
-
## Initializing AnsiLogger:
|
|
37
|
-
|
|
38
|
-
Create an instance of AnsiLogger.
|
|
39
|
-
|
|
40
|
-
```
|
|
41
|
-
import { AnsiLogger, AnsiLoggerParams, LogLevel } from 'node-ansi-logger';
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
```
|
|
45
|
-
const log = new AnsiLogger({logName: '<your name>'}); // Eventually other params in AnsiLoggerParams
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
To import the stringify functions
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
log.
|
|
58
|
-
log.
|
|
59
|
-
log.
|
|
60
|
-
log.
|
|
61
|
-
log.
|
|
62
|
-
log(
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
stringify
|
|
80
|
-
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
1
|
+
# Node ansi logger and stringify
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/node-ansi-logger)
|
|
4
|
+
[](https://www.npmjs.com/package/node-ansi-logger)
|
|
5
|
+

|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
AnsiLogger is a lightweight, customizable color logger for Node.js.
|
|
10
|
+
|
|
11
|
+
## Features
|
|
12
|
+
|
|
13
|
+
- Simple and intuitive API for data logging.
|
|
14
|
+
- Customizable colors and apperance.
|
|
15
|
+
- It is also possible to pass a top level logger (like Homebridge or Matter logger) and AnsiLogger will use it
|
|
16
|
+
for output instead of console.
|
|
17
|
+
- Includes also a fully customizable stringify funtions with colors.
|
|
18
|
+
|
|
19
|
+
## Getting Started
|
|
20
|
+
|
|
21
|
+
### Prerequisites
|
|
22
|
+
|
|
23
|
+
- Node.js installed on your machine.
|
|
24
|
+
- node-ansi-logger has no dependencies!
|
|
25
|
+
|
|
26
|
+
### Installation
|
|
27
|
+
|
|
28
|
+
To get started with AnsiLogger in your package
|
|
29
|
+
|
|
30
|
+
```bash
|
|
31
|
+
npm install node-ansi-logger
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
# Usage
|
|
35
|
+
|
|
36
|
+
## Initializing AnsiLogger:
|
|
37
|
+
|
|
38
|
+
Create an instance of AnsiLogger.
|
|
39
|
+
|
|
40
|
+
```
|
|
41
|
+
import { AnsiLogger, AnsiLoggerParams, LogLevel } from 'node-ansi-logger';
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
const log = new AnsiLogger({logName: '<your name>'}); // Eventually other params in AnsiLoggerParams
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
To import the stringify functions
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
import { stringify, payloadStringify, colorStringify, mqttStringify, debugStringify } from 'node-ansi-logger';
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
## Using the logger:
|
|
55
|
+
|
|
56
|
+
```
|
|
57
|
+
log.debug('Debug message...', ...parameters);
|
|
58
|
+
log.info('Info message...', ...parameters);
|
|
59
|
+
log.notice('Notice message...', ...parameters);
|
|
60
|
+
log.warn('Warning message', ...parameters);
|
|
61
|
+
log.error('Error message', ...parameters);
|
|
62
|
+
log.fatal('Fatal message', ...parameters);
|
|
63
|
+
log(LogLevel.WARN, 'Warning message', ...parameters)
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
## Using the logger with colors inside the message:
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
log.debug(`Debug message ${YELLOW}with yellow part${db}`, ...);
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
## Using the logger internal timer:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
log.startTimer('Time sensitive code started')
|
|
76
|
+
log.stopTimer('Time sensitive code finished')
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
## Using the stringify function:
|
|
80
|
+
|
|
81
|
+
```
|
|
82
|
+
stringify({...})
|
|
83
|
+
colorStringify({...})
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
# Screenshot
|
|
87
|
+
|
|
88
|
+

|
|
89
|
+
|
|
90
|
+
# Contributing
|
|
91
|
+
|
|
92
|
+
Contributions to AnsiLogger are welcome.
|
|
93
|
+
|
|
94
|
+
# License
|
|
95
|
+
|
|
96
|
+
This project is licensed under the MIT License - see the LICENSE file for details.
|
package/dist/logger.d.ts
CHANGED
|
@@ -101,7 +101,7 @@ export declare const enum TimestampFormat {
|
|
|
101
101
|
* Parameters for configuring an AnsiLogger instance.
|
|
102
102
|
*/
|
|
103
103
|
export interface AnsiLoggerParams {
|
|
104
|
-
|
|
104
|
+
extLog?: Logger;
|
|
105
105
|
logName?: string;
|
|
106
106
|
logDebug?: boolean;
|
|
107
107
|
logLevel?: LogLevel;
|
|
@@ -115,13 +115,17 @@ export type AnsiLoggerCallback = (level: string, time: string, name: string, mes
|
|
|
115
115
|
* It allows for various configurations such as enabling debug logs, customizing log name, and more.
|
|
116
116
|
*/
|
|
117
117
|
export declare class AnsiLogger {
|
|
118
|
-
private
|
|
118
|
+
private _extLog;
|
|
119
119
|
private _logName;
|
|
120
120
|
private _logFilePath;
|
|
121
|
+
private _logFileSize;
|
|
121
122
|
private _logLevel;
|
|
122
123
|
private _logWithColors;
|
|
123
124
|
private _logTimestampFormat;
|
|
124
125
|
private _logCustomTimestampFormat;
|
|
126
|
+
private _logTimeStampColor;
|
|
127
|
+
private _logNameColor;
|
|
128
|
+
private _maxFileSize;
|
|
125
129
|
private logStartTime;
|
|
126
130
|
private callback;
|
|
127
131
|
/**
|
|
@@ -139,18 +143,6 @@ export declare class AnsiLogger {
|
|
|
139
143
|
* @param {string} name - The logger name to set.
|
|
140
144
|
*/
|
|
141
145
|
set logName(name: string);
|
|
142
|
-
/**
|
|
143
|
-
* Sets the name of the logger.
|
|
144
|
-
* @param {string} name - The new name for the logger.
|
|
145
|
-
* @deprecated Use logName getter and setter instead.
|
|
146
|
-
*/
|
|
147
|
-
setLogName(name: string): void;
|
|
148
|
-
/**
|
|
149
|
-
* Enables or disables debug logging.
|
|
150
|
-
* @param {boolean} logDebug - Flag to enable or disable debug logging.
|
|
151
|
-
* @deprecated Use logLevel getter and setter instead.
|
|
152
|
-
*/
|
|
153
|
-
setLogDebug(logDebug: boolean): void;
|
|
154
146
|
/**
|
|
155
147
|
* Gets the log level of the logger.
|
|
156
148
|
* @returns {LogLevel} The log level.
|
|
@@ -171,6 +163,38 @@ export declare class AnsiLogger {
|
|
|
171
163
|
* @param {boolean} logWithColors - The logWithColors parameter to set.
|
|
172
164
|
*/
|
|
173
165
|
set logWithColors(logWithColors: boolean);
|
|
166
|
+
/**
|
|
167
|
+
* Gets the log name color string of the logger.
|
|
168
|
+
*
|
|
169
|
+
* @returns {string} The log name color string.
|
|
170
|
+
*/
|
|
171
|
+
get logNameColor(): string;
|
|
172
|
+
/**
|
|
173
|
+
* Sets the log name color string for the logger.
|
|
174
|
+
*
|
|
175
|
+
* @param {string} color - The logger name color string to set.
|
|
176
|
+
*/
|
|
177
|
+
set logNameColor(color: string);
|
|
178
|
+
/**
|
|
179
|
+
* Gets the log timestamp format of the logger.
|
|
180
|
+
* @returns {TimestampFormat} The log timestamp format.
|
|
181
|
+
*/
|
|
182
|
+
get logTimestampFormat(): TimestampFormat;
|
|
183
|
+
/**
|
|
184
|
+
* Sets the log timestamp format for the logger.
|
|
185
|
+
* @param {TimestampFormat} logTimestampFormat - The log timestamp format to set.
|
|
186
|
+
*/
|
|
187
|
+
set logTimestampFormat(logTimestampFormat: TimestampFormat);
|
|
188
|
+
/**
|
|
189
|
+
* Gets the custom log timestamp format of the logger.
|
|
190
|
+
* @returns {string} The custom log timestamp format.
|
|
191
|
+
*/
|
|
192
|
+
get logCustomTimestampFormat(): string;
|
|
193
|
+
/**
|
|
194
|
+
* Sets the custom log timestamp format for the logger.
|
|
195
|
+
* @param {string} logCustomTimestampFormat - The custom log timestamp format to set.
|
|
196
|
+
*/
|
|
197
|
+
set logCustomTimestampFormat(logCustomTimestampFormat: string);
|
|
174
198
|
/**
|
|
175
199
|
* Gets the file path of the log.
|
|
176
200
|
*
|
|
@@ -180,25 +204,25 @@ export declare class AnsiLogger {
|
|
|
180
204
|
/**
|
|
181
205
|
* Sets the file path for logging.
|
|
182
206
|
*
|
|
183
|
-
* @param {string | undefined}
|
|
207
|
+
* @param {string | undefined} filePath - The file path to set for logging.
|
|
184
208
|
*/
|
|
185
|
-
set logFilePath(
|
|
209
|
+
set logFilePath(filePath: string | undefined);
|
|
186
210
|
/**
|
|
187
|
-
*
|
|
188
|
-
*
|
|
189
|
-
* @
|
|
211
|
+
* Gets the size of log file.
|
|
212
|
+
*
|
|
213
|
+
* @returns {number | undefined} The size of log file, or undefined if not set.
|
|
190
214
|
*/
|
|
191
|
-
|
|
215
|
+
get logFileSize(): number | undefined;
|
|
192
216
|
/**
|
|
193
|
-
*
|
|
194
|
-
* @
|
|
217
|
+
* Gets the max file size of the file loggers.
|
|
218
|
+
* @returns {number} The current maxFileSize.
|
|
195
219
|
*/
|
|
196
|
-
|
|
220
|
+
get maxFileSize(): number;
|
|
197
221
|
/**
|
|
198
|
-
* Sets
|
|
199
|
-
* @param {
|
|
222
|
+
* Sets the max file size of the file loggers.
|
|
223
|
+
* @param {number} maxFileSize - The maxFileSize to set.
|
|
200
224
|
*/
|
|
201
|
-
|
|
225
|
+
set maxFileSize(maxFileSize: number);
|
|
202
226
|
/**
|
|
203
227
|
* Starts a timer with an optional message.
|
|
204
228
|
* @param {string} message - The message to log when starting the timer.
|
|
@@ -221,8 +245,8 @@ export declare class AnsiLogger {
|
|
|
221
245
|
getCallback(): AnsiLoggerCallback | undefined;
|
|
222
246
|
/**
|
|
223
247
|
* Sets the global callback function to be used by the logger.
|
|
224
|
-
* @param {AnsiLoggerCallback} callback - The callback function.
|
|
225
|
-
* @param {LogLevel} callbackLevel
|
|
248
|
+
* @param {AnsiLoggerCallback | undefined} callback - The callback function.
|
|
249
|
+
* @param {LogLevel} [callbackLevel=LogLevel.DEBUG] - The log level of the log file (default LogLevel.DEBUG).
|
|
226
250
|
*
|
|
227
251
|
* @returns {AnsiLoggerCallback | undefined} The path name of the log file.
|
|
228
252
|
*/
|
|
@@ -238,11 +262,19 @@ export declare class AnsiLogger {
|
|
|
238
262
|
* @returns {LogLevel | undefined} The log level of the global callback.
|
|
239
263
|
*/
|
|
240
264
|
static getGlobalCallbackLevel(): LogLevel | undefined;
|
|
265
|
+
/**
|
|
266
|
+
* Sets the global callback log level for the logger.
|
|
267
|
+
*
|
|
268
|
+
* @param {LogLevel} logLevel - The log level to set. Defaults to LogLevel.DEBUG.
|
|
269
|
+
*
|
|
270
|
+
* @returns {LogLevel | undefined} The log level that was set.
|
|
271
|
+
*/
|
|
272
|
+
static setGlobalCallbackLevel(logLevel?: LogLevel): LogLevel | undefined;
|
|
241
273
|
/**
|
|
242
274
|
* Sets the global logfile to be used by the logger.
|
|
243
275
|
* @param {string} logfilePath - The path name of the log file.
|
|
244
|
-
* @param {LogLevel} logfileLevel -
|
|
245
|
-
* @param {boolean} unlink -
|
|
276
|
+
* @param {LogLevel} logfileLevel - Optional: the log level of the log file. Default LogLevel.DEBUG.
|
|
277
|
+
* @param {boolean} unlink - Optional: whether to unlink (delete) the log file if it exists. Default false.
|
|
246
278
|
*
|
|
247
279
|
* @returns {string | undefined} The absolute path name of the log file.
|
|
248
280
|
*/
|
|
@@ -254,11 +286,19 @@ export declare class AnsiLogger {
|
|
|
254
286
|
*/
|
|
255
287
|
static getGlobalLogfile(): string | undefined;
|
|
256
288
|
/**
|
|
257
|
-
* Gets the global logfile log level used by the
|
|
289
|
+
* Gets the global logfile log level used by the loggers.
|
|
258
290
|
*
|
|
259
|
-
* @returns {LogLevel | undefined} The log level of the
|
|
291
|
+
* @returns {LogLevel | undefined} The log level of the global logfile.
|
|
260
292
|
*/
|
|
261
293
|
static getGlobalLogfileLevel(): LogLevel | undefined;
|
|
294
|
+
/**
|
|
295
|
+
* Sets the global logfile log level used by the loggers.
|
|
296
|
+
*
|
|
297
|
+
* @param {LogLevel} logfileLevel - The global logfile log level used by the loggers.
|
|
298
|
+
*
|
|
299
|
+
* @returns {LogLevel | undefined} The log level of the global logfile.
|
|
300
|
+
*/
|
|
301
|
+
static setGlobalLogfileLevel(logfileLevel: LogLevel): LogLevel | undefined;
|
|
262
302
|
/**
|
|
263
303
|
* Determines whether a log message with the given level should be logged based on the configured log level.
|
|
264
304
|
*
|
|
@@ -267,7 +307,7 @@ export declare class AnsiLogger {
|
|
|
267
307
|
*
|
|
268
308
|
* @returns {boolean} A boolean indicating whether the log message should be logged.
|
|
269
309
|
*/
|
|
270
|
-
shouldLog
|
|
310
|
+
private shouldLog;
|
|
271
311
|
/**
|
|
272
312
|
* Formats a Date object into a custom string format.
|
|
273
313
|
* @param {Date} date - The Date object to format.
|
|
@@ -290,6 +330,15 @@ export declare class AnsiLogger {
|
|
|
290
330
|
* @returns {string} The timestamp string.
|
|
291
331
|
*/
|
|
292
332
|
private getTimestamp;
|
|
333
|
+
/**
|
|
334
|
+
* Writes a log message to a file.
|
|
335
|
+
*
|
|
336
|
+
* @param {string} filePath - The path of the file to write the log message to.
|
|
337
|
+
* @param {LogLevel} level - The log level of the message.
|
|
338
|
+
* @param {string} message - The log message.
|
|
339
|
+
* @param {...any[]} parameters - Additional parameters to include in the log message.
|
|
340
|
+
* @returns {number} - The length of the log message including the appended newline character.
|
|
341
|
+
*/
|
|
293
342
|
private logToFile;
|
|
294
343
|
/**
|
|
295
344
|
* Logs a message with a specific level (e.g. debug, info, notice, warn, error, fatal) and additional parameters.
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AACA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAQH,eAAO,MAAM,KAAK,iBAAY,CAAC;AAC/B,eAAO,MAAM,MAAM,cAAS,CAAC;AAC7B,eAAO,MAAM,GAAG,cAAS,CAAC;AAC1B,eAAO,MAAM,MAAM,eAAU,CAAC;AAC9B,eAAO,MAAM,SAAS,cAAS,CAAC;AAChC,eAAO,MAAM,YAAY,eAAU,CAAC;AACpC,eAAO,MAAM,KAAK,cAAS,CAAC;AAC5B,eAAO,MAAM,QAAQ,eAAU,CAAC;AAChC,eAAO,MAAM,OAAO,cAAS,CAAC;AAC9B,eAAO,MAAM,UAAU,eAAU,CAAC;AAClC,eAAO,MAAM,MAAM,cAAS,CAAC;AAC7B,eAAO,MAAM,SAAS,eAAU,CAAC;AACjC,eAAO,MAAM,UAAU,aAAQ,CAAC;AAChC,eAAO,MAAM,aAAa,aAAQ,CAAC;AAEnC,eAAO,MAAM,KAAK,eAAU,CAAC;AAC7B,eAAO,MAAM,GAAG,eAAU,CAAC;AAC3B,eAAO,MAAM,KAAK,eAAU,CAAC;AAC7B,eAAO,MAAM,MAAM,eAAU,CAAC;AAC9B,eAAO,MAAM,IAAI,eAAU,CAAC;AAC5B,eAAO,MAAM,OAAO,eAAU,CAAC;AAC/B,eAAO,MAAM,IAAI,eAAU,CAAC;AAC5B,eAAO,MAAM,UAAU,eAAU,CAAC;AAClC,eAAO,MAAM,IAAI,eAAU,CAAC;AAC5B,eAAO,MAAM,KAAK,eAAU,CAAC;AAG7B,eAAO,MAAM,EAAE,qBAAgB,CAAC;AAChC,eAAO,MAAM,EAAE,qBAAgB,CAAC;AAChC,eAAO,MAAM,EAAE,mBAAc,CAAC;AAC9B,eAAO,MAAM,EAAE,qBAAgB,CAAC;AAChC,eAAO,MAAM,EAAE,mBAAc,CAAC;AAC9B,eAAO,MAAM,EAAE,mBAAc,CAAC;AAC9B,eAAO,MAAM,EAAE,iBAAY,CAAC;AAC5B,eAAO,MAAM,EAAE,aAAQ,CAAC;AAGxB,eAAO,MAAM,EAAE,oBAAe,CAAC;AAC/B,eAAO,MAAM,EAAE,oBAAe,CAAC;AAC/B,eAAO,MAAM,GAAG,oCAA0B,CAAC;AAC3C,eAAO,MAAM,GAAG,oCAA0B,CAAC;AAC3C,eAAO,MAAM,EAAE,qBAAgB,CAAC;AAChC,eAAO,MAAM,EAAE,oBAAe,CAAC;AAC/B,eAAO,MAAM,EAAE,eAAU,CAAC;AAC1B,eAAO,MAAM,EAAE,kBAAa,CAAC;AAC7B,eAAO,MAAM,EAAE,qBAAgB,CAAC;AAEhC;;GAEG;AACH,0BAAkB,QAAQ;IACxB,IAAI,KAAK;IACT,KAAK,UAAU;IACf,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,IAAI,SAAS;IACb,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,MAAM;IAErB,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEhC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAE/B,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEjC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAE/B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEhC,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAEhC,GAAG,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACvE;AAED;;GAEG;AACH,0BAAkB,eAAe;IAC/B,GAAG,IAAA;IACH,UAAU,IAAA;IACV,UAAU,IAAA;IACV,eAAe,IAAA;IACf,WAAW,IAAA;IACX,UAAU,IAAA;IACV,MAAM,IAAA;CACP;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,eAAe,CAAC;IACrC,wBAAwB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,MAAM,MAAM,kBAAkB,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;AAUtG;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,mBAAmB,CAAkB;IAC7C,OAAO,CAAC,yBAAyB,CAAS;IAC1C,OAAO,CAAC,kBAAkB,CAAiB;IAC3C,OAAO,CAAC,aAAa,CAAgB;IAErC,OAAO,CAAC,YAAY,CAAa;IAEjC,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,QAAQ,CAA6C;IAE7D;;;OAGG;gBACS,MAAM,EAAE,gBAAgB;IAWpC;;;OAGG;IACH,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED;;;OAGG;IACH,IAAI,OAAO,CAAC,IAAI,EAAE,MAAM,EAEvB;IAED;;;OAGG;IACH,IAAI,QAAQ,IAAI,QAAQ,CAEvB;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAE9B;IAED;;;OAGG;IACH,IAAI,aAAa,IAAI,OAAO,CAE3B;IAED;;;OAGG;IACH,IAAI,aAAa,CAAC,aAAa,EAAE,OAAO,EAEvC;IAED;;;;OAIG;IACH,IAAI,YAAY,IAAI,MAAM,CAEzB;IAED;;;;OAIG;IACH,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,EAE7B;IAED;;;OAGG;IACH,IAAI,kBAAkB,IAAI,eAAe,CAExC;IAED;;;OAGG;IACH,IAAI,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,EAEzD;IAED;;;OAGG;IACH,IAAI,wBAAwB,IAAI,MAAM,CAErC;IAED;;;OAGG;IACH,IAAI,wBAAwB,CAAC,wBAAwB,EAAE,MAAM,EAE5D;IAED;;;;OAIG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;;OAIG;IACH,IAAI,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EA2B3C;IAED;;;;OAIG;IACH,IAAI,WAAW,IAAI,MAAM,GAAG,SAAS,CAEpC;IAED;;;OAGG;IACH,IAAI,WAAW,IAAI,MAAM,CAExB;IAED;;;OAGG;IACH,IAAI,WAAW,CAAC,WAAW,EAAE,MAAM,EAElC;IAED;;;OAGG;IACI,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAKxC;;;OAGG;IACI,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAQvC;;;OAGG;IACI,WAAW,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,GAAG,IAAI;IAIlE;;;OAGG;IACI,WAAW,IAAI,kBAAkB,GAAG,SAAS;IAIpD;;;;;;OAMG;IACH,MAAM,CAAC,iBAAiB,CAAC,QAAQ,EAAE,kBAAkB,GAAG,SAAS,EAAE,aAAa,WAAiB,GAAG,kBAAkB,GAAG,SAAS;IAMlI;;;OAGG;IACH,MAAM,CAAC,iBAAiB,IAAI,kBAAkB,GAAG,SAAS;IAQ1D;;;;OAIG;IACH,MAAM,CAAC,sBAAsB,IAAI,QAAQ,GAAG,SAAS;IAQrD;;;;;;OAMG;IACH,MAAM,CAAC,sBAAsB,CAAC,QAAQ,WAAiB,GAAG,QAAQ,GAAG,SAAS;IAK9E;;;;;;;OAOG;IACH,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,WAAiB,EAAE,MAAM,UAAQ,GAAG,MAAM,GAAG,SAAS;IAsB3H;;;;OAIG;IACH,MAAM,CAAC,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAQ7C;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,IAAI,QAAQ,GAAG,SAAS;IAQpD;;;;;;OAMG;IACH,MAAM,CAAC,qBAAqB,CAAC,YAAY,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS;IAK1E;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;IAqDjB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAkB7B;;;;OAIG;IACI,GAAG,IAAI,MAAM;IAIpB;;;;;OAKG;IACH,OAAO,CAAC,YAAY;IA+BpB;;;;;;;;OAQG;IAEH,OAAO,CAAC,SAAS;IAiCjB;;;;;;;;OAQG;IAEI,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IA4KxE;;;;;OAKG;IAEI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIzD;;;;;OAKG;IAEI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIxD;;;;;OAKG;IAEI,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAI1D;;;;;OAKG;IAEI,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIxD;;;;;OAKG;IAEI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;IAIzD;;;;;OAKG;IAEI,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,UAAU,EAAE,GAAG,EAAE,GAAG,IAAI;CAG1D"}
|