@zaowu-labs/config 1.0.2 → 1.0.5

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 CHANGED
@@ -9,4 +9,8 @@ Safety:
9
9
 
10
10
  - Config writes preview by default.
11
11
  - Secret-like keys such as tokens, passwords, and API keys are rejected.
12
+ - YAML scalar edits preserve surrounding keys and comments, including flow
13
+ mappings and multiline values. JSON config roots must be objects.
14
+ - Full rewrites refuse unknown keys, including keys named `constructor` or
15
+ `__proto__`, rather than silently dropping user data.
12
16
  - Future migrations should preserve a preview path before writing files.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -59,14 +59,6 @@ const assertNoSecretValues = (value) => {
59
59
  });
60
60
  }
61
61
  };
62
- const CONFIG_KEYS = [
63
- 'version',
64
- 'project.name',
65
- 'ai.provider',
66
- 'defaults.output',
67
- 'paths.workspace',
68
- 'paths.cache',
69
- ];
70
62
  const DEFAULT_CONFIG = {
71
63
  version: 1,
72
64
  project: {
@@ -83,21 +75,78 @@ const DEFAULT_CONFIG = {
83
75
  cache: '.zaowu/cache',
84
76
  },
85
77
  };
86
- export const createDefaultConfig = () => ({
87
- version: DEFAULT_CONFIG.version,
88
- project: {
89
- ...DEFAULT_CONFIG.project,
78
+ const cloneConfig = (config) => ({
79
+ version: config.version,
80
+ project: { ...config.project },
81
+ ai: { ...config.ai },
82
+ defaults: { ...config.defaults },
83
+ paths: { ...config.paths },
84
+ });
85
+ export const createDefaultConfig = () => cloneConfig(DEFAULT_CONFIG);
86
+ /**
87
+ * Single source of truth for the managed config schema. Adding a key means
88
+ * adding one descriptor here (plus the `ConfigKey` union member and, for a new
89
+ * section or YAML line, one `YAML_CONFIG_LAYOUT` entry) — `CONFIG_KEYS`,
90
+ * `getConfigValue`, `withConfigValue`, `serializeConfig`, and
91
+ * `KNOWN_CONFIG_KEYS` all derive from these tables. The `Record<ConfigKey, …>`
92
+ * type keeps the table compile-time exhaustive.
93
+ */
94
+ const CONFIG_KEY_DESCRIPTORS = {
95
+ version: {
96
+ get: (config) => String(config.version),
97
+ set: (config) => {
98
+ config.version = 1;
99
+ },
90
100
  },
91
- ai: {
92
- ...DEFAULT_CONFIG.ai,
101
+ 'project.name': {
102
+ get: (config) => config.project.name,
103
+ set: (config, value) => {
104
+ config.project.name = value ?? DEFAULT_CONFIG.project.name;
105
+ },
93
106
  },
94
- defaults: {
95
- ...DEFAULT_CONFIG.defaults,
107
+ 'ai.provider': {
108
+ get: (config) => config.ai.provider,
109
+ set: (config, value) => {
110
+ config.ai.provider = value;
111
+ },
96
112
  },
97
- paths: {
98
- ...DEFAULT_CONFIG.paths,
113
+ 'defaults.output': {
114
+ get: (config) => config.defaults.output,
115
+ set: (config, value) => {
116
+ config.defaults.output = value === 'json' ? 'json' : 'human';
117
+ },
99
118
  },
100
- });
119
+ 'paths.workspace': {
120
+ get: (config) => config.paths.workspace,
121
+ set: (config, value) => {
122
+ config.paths.workspace = value ?? DEFAULT_CONFIG.paths.workspace;
123
+ },
124
+ },
125
+ 'paths.cache': {
126
+ get: (config) => config.paths.cache,
127
+ set: (config, value) => {
128
+ config.paths.cache = value ?? DEFAULT_CONFIG.paths.cache;
129
+ },
130
+ },
131
+ };
132
+ const CONFIG_KEYS = Object.keys(CONFIG_KEY_DESCRIPTORS);
133
+ /**
134
+ * Section-by-section YAML layout. `serializeConfig` emits exactly these lines
135
+ * (the byte layout is contract: `migrateResolvedConfig` compares it against
136
+ * file content), and `KNOWN_CONFIG_KEYS` derives its section map from it.
137
+ */
138
+ const YAML_CONFIG_LAYOUT = [
139
+ { section: 'project', entries: [{ key: 'project.name', yamlKey: 'name' }] },
140
+ { section: 'ai', entries: [{ key: 'ai.provider', yamlKey: 'provider' }] },
141
+ { section: 'defaults', entries: [{ key: 'defaults.output', yamlKey: 'output' }] },
142
+ {
143
+ section: 'paths',
144
+ entries: [
145
+ { key: 'paths.workspace', yamlKey: 'workspace' },
146
+ { key: 'paths.cache', yamlKey: 'cache' },
147
+ ],
148
+ },
149
+ ];
101
150
  const isReadableFile = async (filePath) => {
102
151
  try {
103
152
  await access(filePath, constants.R_OK);
@@ -153,41 +202,27 @@ const formatYamlConfigValue = (key, value) => {
153
202
  return value === null ? 'null' : JSON.stringify(value);
154
203
  };
155
204
  export const modifyYamlContent = (content, key, value) => {
156
- const lines = content.split(/\r?\n/);
157
- const parts = key.split('.');
158
- if (parts.length === 1) {
159
- const searchKey = parts[0];
160
- const index = lines.findIndex((l) => new RegExp(`^${searchKey}:\\s*`).test(l.trim()));
161
- const formattedValue = formatYamlConfigValue(key, value);
162
- if (index !== -1) {
163
- lines[index] = `${searchKey}: ${formattedValue}`;
164
- return lines.join('\n');
165
- }
166
- }
167
- else if (parts.length === 2) {
168
- const section = parts[0];
169
- const subKey = parts[1];
170
- let inSection = false;
171
- for (let i = 0; i < lines.length; i++) {
172
- const line = lines[i];
173
- const trimmed = line.trim();
174
- const indent = line.length - line.trimStart().length;
175
- if (indent === 0 && trimmed.startsWith(`${section}:`)) {
176
- inSection = true;
177
- continue;
178
- }
179
- if (inSection && indent === 0 && trimmed && !trimmed.startsWith('#')) {
180
- break;
181
- }
182
- if (inSection && indent > 0 && trimmed.startsWith(`${subKey}:`)) {
183
- const formattedValue = formatYamlConfigValue(key, value);
184
- const leadingIndent = ' '.repeat(indent);
185
- lines[i] = `${leadingIndent}${subKey}: ${formattedValue}`;
186
- return lines.join('\n');
187
- }
188
- }
189
- }
190
- return '';
205
+ const normalized = stripUtf8Bom(content);
206
+ const document = YAML.parseDocument(normalized);
207
+ const node = document.getIn(key.split('.'), true);
208
+ // Replace only the scalar's source range. Line matching can hit nested keys
209
+ // or leave the continuation lines of a block scalar behind.
210
+ if (document.errors.length > 0 || !YAML.isScalar(node) || !node.range) {
211
+ return '';
212
+ }
213
+ const [start, end] = node.range;
214
+ const originalValue = normalized.slice(start, end);
215
+ const trailingNewline = /\r?\n$/.exec(originalValue)?.[0] ?? '';
216
+ const bom = content.startsWith('\uFEFF') ? '\uFEFF' : '';
217
+ const prefix = normalized.slice(0, start);
218
+ const suffix = normalized.slice(end);
219
+ return (bom +
220
+ prefix +
221
+ (prefix.endsWith(':') ? ' ' : '') +
222
+ formatYamlConfigValue(key, value) +
223
+ trailingNewline +
224
+ (suffix.startsWith('#') ? ' ' : '') +
225
+ suffix);
191
226
  };
192
227
  export const findConfigFile = async (options = {}) => {
193
228
  const names = options.names ?? CONFIG_FILE_NAMES;
@@ -214,20 +249,25 @@ export const loadConfig = async (filePath) => {
214
249
  content,
215
250
  };
216
251
  };
252
+ const configParseError = (error, fallbackWhy, fix) => new ZaoWuError({
253
+ code: 'CONFIG_PARSE_FAILED',
254
+ message: 'Could not parse ZaoWu config.',
255
+ why: error instanceof Error ? error.message : fallbackWhy,
256
+ fix,
257
+ });
217
258
  const parseConfigObject = (content, filePath) => {
218
259
  const normalizedContent = stripUtf8Bom(content);
219
260
  const extension = path.extname(filePath).toLowerCase();
220
261
  if (extension === '.json' || path.basename(filePath) === '.zaowurc') {
221
262
  try {
222
- return JSON.parse(normalizedContent);
263
+ const parsed = JSON.parse(normalizedContent);
264
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
265
+ throw new Error('Config must be a JSON object.');
266
+ }
267
+ return parsed;
223
268
  }
224
269
  catch (error) {
225
- throw new ZaoWuError({
226
- code: 'CONFIG_PARSE_FAILED',
227
- message: 'Could not parse ZaoWu config.',
228
- why: error instanceof Error ? error.message : 'The JSON parser rejected the file.',
229
- fix: 'Fix the JSON syntax and run `zw config show` again.',
230
- });
270
+ throw configParseError(error, 'The JSON parser rejected the file.', 'Fix the JSON syntax and run `zw config show` again.');
231
271
  }
232
272
  }
233
273
  if (['.yml', '.yaml', ''].includes(extension)) {
@@ -242,12 +282,7 @@ const parseConfigObject = (content, filePath) => {
242
282
  return parsed;
243
283
  }
244
284
  catch (error) {
245
- throw new ZaoWuError({
246
- code: 'CONFIG_PARSE_FAILED',
247
- message: 'Could not parse ZaoWu config.',
248
- why: error instanceof Error ? error.message : 'The YAML parser rejected the file.',
249
- fix: 'Use the supported simple subset (top-level keys + one level of 2-space indented sections) or switch to JSON (zaowu.config.json).',
250
- });
285
+ throw configParseError(error, 'The YAML parser rejected the file.', 'Use the supported simple subset (top-level keys + one level of 2-space indented sections) or switch to JSON (zaowu.config.json).');
251
286
  }
252
287
  }
253
288
  throw new ZaoWuError({
@@ -257,10 +292,11 @@ const parseConfigObject = (content, filePath) => {
257
292
  fix: 'Use `zw.yml`, `zw.yaml`, `zaowu.config.json`, or `.zaowurc` for now.',
258
293
  });
259
294
  };
260
- const assertNoSecretKeys = (value, pathParts = []) => {
261
- if (!value || typeof value !== 'object') {
295
+ const assertNoSecretKeys = (value, pathParts = [], visited = new WeakSet()) => {
296
+ if (!value || typeof value !== 'object' || visited.has(value)) {
262
297
  return;
263
298
  }
299
+ visited.add(value);
264
300
  for (const [key, child] of Object.entries(value)) {
265
301
  if (SECRET_KEY_PATTERN.test(key)) {
266
302
  throw new ZaoWuError({
@@ -270,7 +306,7 @@ const assertNoSecretKeys = (value, pathParts = []) => {
270
306
  fix: 'Move secrets to environment variables or a future explicit secret provider.',
271
307
  });
272
308
  }
273
- assertNoSecretKeys(child, [...pathParts, key]);
309
+ assertNoSecretKeys(child, [...pathParts, key], visited);
274
310
  }
275
311
  };
276
312
  const getObject = (value) => value && typeof value === 'object' && !Array.isArray(value)
@@ -278,8 +314,15 @@ const getObject = (value) => value && typeof value === 'object' && !Array.isArra
278
314
  : {};
279
315
  const getString = (value, fallback) => typeof value === 'string' && value.trim() ? value.trim() : fallback;
280
316
  const getOutput = (value) => (value === 'json' ? 'json' : 'human');
281
- const getVersion = (value) => {
282
- if (value === undefined || value === null || value === '' || value === 1 || value === '1') {
317
+ /**
318
+ * Returns 1 for a supported declared version, null when no version is
319
+ * declared, and throws for anything else.
320
+ */
321
+ const parseSupportedConfigVersion = (value) => {
322
+ if (value === undefined || value === null || value === '') {
323
+ return null;
324
+ }
325
+ if (value === 1 || value === '1') {
283
326
  return 1;
284
327
  }
285
328
  throw new ZaoWuError({
@@ -289,6 +332,7 @@ const getVersion = (value) => {
289
332
  fix: 'Run a newer ZaoWu version that supports this config, or migrate the file manually.',
290
333
  });
291
334
  };
335
+ const getVersion = (value) => parseSupportedConfigVersion(value) ?? 1;
292
336
  const assertConfigKey = (key) => {
293
337
  if (SECRET_KEY_PATTERN.test(key)) {
294
338
  throw new ZaoWuError({
@@ -308,84 +352,35 @@ const assertConfigKey = (key) => {
308
352
  }
309
353
  return key;
310
354
  };
355
+ const configValueInvalidError = (why, fix) => new ZaoWuError({
356
+ code: 'CONFIG_VALUE_INVALID',
357
+ message: 'Config value is invalid.',
358
+ why,
359
+ fix,
360
+ });
311
361
  const normalizeConfigValue = (key, value) => {
312
362
  const trimmed = value.trim();
313
363
  if (key === 'ai.provider' && ['none', 'null'].includes(trimmed.toLowerCase())) {
314
364
  return null;
315
365
  }
316
366
  if (key === 'defaults.output' && !['human', 'json'].includes(trimmed)) {
317
- throw new ZaoWuError({
318
- code: 'CONFIG_VALUE_INVALID',
319
- message: 'Config value is invalid.',
320
- why: '`defaults.output` must be either `human` or `json`.',
321
- fix: 'Run `zw config set defaults.output json --yes` or `zw config set defaults.output human --yes`.',
322
- });
367
+ throw configValueInvalidError('`defaults.output` must be either `human` or `json`.', 'Run `zw config set defaults.output json --yes` or `zw config set defaults.output human --yes`.');
323
368
  }
324
369
  if (key === 'version' && trimmed !== '1') {
325
- throw new ZaoWuError({
326
- code: 'CONFIG_VALUE_INVALID',
327
- message: 'Config value is invalid.',
328
- why: '`version` must be `1` in this ZaoWu release.',
329
- fix: 'Run `zw config migrate` to preview the supported config version.',
330
- });
370
+ throw configValueInvalidError('`version` must be `1` in this ZaoWu release.', 'Run `zw config migrate` to preview the supported config version.');
331
371
  }
332
372
  if (!trimmed) {
333
- throw new ZaoWuError({
334
- code: 'CONFIG_VALUE_INVALID',
335
- message: 'Config value is invalid.',
336
- why: `\`${key}\` cannot be empty.`,
337
- fix: 'Provide a non-empty value.',
338
- });
373
+ throw configValueInvalidError(`\`${key}\` cannot be empty.`, 'Provide a non-empty value.');
339
374
  }
340
375
  if (['paths.workspace', 'paths.cache'].includes(key)) {
341
376
  return trimmed.replace(/\\/g, '/');
342
377
  }
343
378
  return trimmed;
344
379
  };
345
- const getConfigValue = (config, key) => {
346
- switch (key) {
347
- case 'version':
348
- return String(config.version);
349
- case 'project.name':
350
- return config.project.name;
351
- case 'ai.provider':
352
- return config.ai.provider;
353
- case 'defaults.output':
354
- return config.defaults.output;
355
- case 'paths.workspace':
356
- return config.paths.workspace;
357
- case 'paths.cache':
358
- return config.paths.cache;
359
- }
360
- };
380
+ const getConfigValue = (config, key) => CONFIG_KEY_DESCRIPTORS[key].get(config);
361
381
  const withConfigValue = (config, key, value) => {
362
- const next = {
363
- version: config.version,
364
- project: { ...config.project },
365
- ai: { ...config.ai },
366
- defaults: { ...config.defaults },
367
- paths: { ...config.paths },
368
- };
369
- switch (key) {
370
- case 'version':
371
- next.version = 1;
372
- break;
373
- case 'project.name':
374
- next.project.name = value ?? DEFAULT_CONFIG.project.name;
375
- break;
376
- case 'ai.provider':
377
- next.ai.provider = value;
378
- break;
379
- case 'defaults.output':
380
- next.defaults.output = value === 'json' ? 'json' : 'human';
381
- break;
382
- case 'paths.workspace':
383
- next.paths.workspace = value ?? DEFAULT_CONFIG.paths.workspace;
384
- break;
385
- case 'paths.cache':
386
- next.paths.cache = value ?? DEFAULT_CONFIG.paths.cache;
387
- break;
388
- }
382
+ const next = cloneConfig(config);
383
+ CONFIG_KEY_DESCRIPTORS[key].set(next, value);
389
384
  return next;
390
385
  };
391
386
  export const serializeConfig = (config, filePath) => {
@@ -395,19 +390,11 @@ export const serializeConfig = (config, filePath) => {
395
390
  }
396
391
  return [
397
392
  'version: 1',
398
- '',
399
- 'project:',
400
- ` name: ${formatYamlConfigValue('project.name', config.project.name)}`,
401
- '',
402
- 'ai:',
403
- ` provider: ${formatYamlConfigValue('ai.provider', config.ai.provider)}`,
404
- '',
405
- 'defaults:',
406
- ` output: ${formatYamlConfigValue('defaults.output', config.defaults.output)}`,
407
- '',
408
- 'paths:',
409
- ` workspace: ${formatYamlConfigValue('paths.workspace', config.paths.workspace)}`,
410
- ` cache: ${formatYamlConfigValue('paths.cache', config.paths.cache)}`,
393
+ ...YAML_CONFIG_LAYOUT.flatMap(({ section, entries }) => [
394
+ '',
395
+ `${section}:`,
396
+ ...entries.map(({ key, yamlKey }) => ` ${yamlKey}: ${formatYamlConfigValue(key, CONFIG_KEY_DESCRIPTORS[key].get(config))}`),
397
+ ]),
411
398
  '',
412
399
  ].join('\n');
413
400
  };
@@ -450,6 +437,53 @@ export const parseConfig = (content, filePath = 'zw.yml') => {
450
437
  },
451
438
  };
452
439
  };
440
+ const KNOWN_CONFIG_KEYS = {
441
+ version: null,
442
+ ...Object.fromEntries(YAML_CONFIG_LAYOUT.map(({ section, entries }) => [
443
+ section,
444
+ entries.map((entry) => entry.yamlKey),
445
+ ])),
446
+ };
447
+ const collectUnknownConfigKeys = (parsed) => {
448
+ const unknownKeys = [];
449
+ for (const [key, value] of Object.entries(parsed)) {
450
+ if (!Object.hasOwn(KNOWN_CONFIG_KEYS, key)) {
451
+ unknownKeys.push(key);
452
+ continue;
453
+ }
454
+ const allowedSubKeys = KNOWN_CONFIG_KEYS[key];
455
+ if (allowedSubKeys && value && typeof value === 'object' && !Array.isArray(value)) {
456
+ for (const subKey of Object.keys(value)) {
457
+ if (!allowedSubKeys.includes(subKey)) {
458
+ unknownKeys.push(`${key}.${subKey}`);
459
+ }
460
+ }
461
+ }
462
+ }
463
+ return unknownKeys;
464
+ };
465
+ /**
466
+ * Guards against silent data loss. A full canonical re-serialization only emits
467
+ * the documented schema fields, so any unrecognized key the user placed in the
468
+ * file would be dropped. When such a rewrite is unavoidable (JSON files, or YAML
469
+ * whose target section is missing so the surgical edit fails), refuse instead of
470
+ * discarding the user's keys.
471
+ */
472
+ const assertNoUnknownConfigKeysOnRewrite = (content, filePath) => {
473
+ const parsed = parseConfigObject(content, filePath);
474
+ const unknownKeys = collectUnknownConfigKeys(parsed);
475
+ if (unknownKeys.length === 0) {
476
+ return;
477
+ }
478
+ const keyLabel = unknownKeys.length === 1 ? 'key' : 'keys';
479
+ throw new ZaoWuError({
480
+ code: 'CONFIG_KEY_UNSUPPORTED',
481
+ message: `Config file contains ${keyLabel} ZaoWu does not recognize.`,
482
+ why: `Writing \`${filePath}\` would drop the unrecognized ${keyLabel}: ${unknownKeys.join(', ')}. ` +
483
+ 'ZaoWu only serializes documented configuration fields.',
484
+ fix: 'Remove the unrecognized keys from the config file (or keep only documented ZaoWu keys), then run the command again.',
485
+ });
486
+ };
453
487
  export const findConfigPathOrThrow = async (cwd) => {
454
488
  const filePath = await findConfigFile({ cwd });
455
489
  if (!filePath) {
@@ -474,22 +508,7 @@ export const loadResolvedConfig = async (cwd) => {
474
508
  config: mergedConfig,
475
509
  };
476
510
  };
477
- const getRawConfigVersion = (content, filePath) => {
478
- const parsed = parseConfigObject(content, filePath);
479
- const rawVersion = parsed.version;
480
- if (rawVersion === undefined || rawVersion === null || rawVersion === '') {
481
- return null;
482
- }
483
- if (rawVersion === 1 || rawVersion === '1') {
484
- return 1;
485
- }
486
- throw new ZaoWuError({
487
- code: 'CONFIG_VERSION_UNSUPPORTED',
488
- message: 'Config version is not supported.',
489
- why: `ZaoWu supports config version 1, but this file declares \`${String(rawVersion)}\`.`,
490
- fix: 'Run a newer ZaoWu version that supports this config, or migrate the file manually.',
491
- });
492
- };
511
+ const getRawConfigVersion = (content, filePath) => parseSupportedConfigVersion(parseConfigObject(content, filePath).version);
493
512
  export const validateResolvedConfig = async (cwd) => {
494
513
  const resolved = await loadResolvedConfig(cwd);
495
514
  const warnings = getValidationWarnings(resolved.config);
@@ -536,6 +555,9 @@ export const setResolvedConfigValue = async (key, value, options = {}) => {
536
555
  }
537
556
  }
538
557
  if (!content) {
558
+ if (loadedContent) {
559
+ assertNoUnknownConfigKeysOnRewrite(loadedContent, filePath);
560
+ }
539
561
  content = serializeConfig(nextConfig, filePath);
540
562
  }
541
563
  if (options.yes) {
@@ -558,6 +580,7 @@ export const migrateResolvedConfig = async (options = {}) => {
558
580
  const loaded = await loadConfig(filePath);
559
581
  const fromVersion = getRawConfigVersion(loaded.content, loaded.filePath);
560
582
  const config = parseConfig(loaded.content, loaded.filePath);
583
+ assertNoUnknownConfigKeysOnRewrite(loaded.content, filePath);
561
584
  const content = serializeConfig(config, filePath);
562
585
  const changed = fromVersion !== 1 || stripUtf8Bom(loaded.content) !== content;
563
586
  if (!changed) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,UAAU,GAEX,MAAM,kBAAkB,CAAC;AAE1B,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,EAAE,UAAU,CAAU,CAAC;AAiFjG,MAAM,CAAC,MAAM,aAAa,GAAqB;IAC7C,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,wCAAwC;IACjD,YAAY,EAAE,sBAAsB,CAAC;QACnC,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;KAClB,CAAC;IACF,QAAQ,EAAE;QACR;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,mCAAmC;YAC5C,MAAM,EAAE,WAAW;SACpB;QACD;YACE,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,4CAA4C;YACrD,MAAM,EAAE,WAAW;SACpB;QACD;YACE,IAAI,EAAE,UAAU;YAChB,OAAO,EAAE,0CAA0C;YACnD,MAAM,EAAE,WAAW;SACpB;QACD;YACE,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,sCAAsC;YAC/C,MAAM,EAAE,WAAW;SACpB;QACD;YACE,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,kDAAkD;YAC3D,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI;SAChB;QACD;YACE,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,yCAAyC;YAClD,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,IAAI;SAChB;KACF;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAG,iEAAiE,CAAC;AAC7F,MAAM,oBAAoB,GAAG,+CAA+C,CAAC;AAE7E,MAAM,oBAAoB,GAAG,CAAC,KAAa,EAAQ,EAAE;IACnD,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,UAAU,CAAC;YACnB,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,mCAAmC;YAC5C,GAAG,EAAE,mHAAmH;YACxH,GAAG,EAAE,6GAA6G;SACnH,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AACF,MAAM,WAAW,GAAyB;IACxC,SAAS;IACT,cAAc;IACd,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,aAAa;CACd,CAAC;AAEF,MAAM,cAAc,GAAgB;IAClC,OAAO,EAAE,CAAC;IACV,OAAO,EAAE;QACP,IAAI,EAAE,eAAe;KACtB;IACD,EAAE,EAAE;QACF,QAAQ,EAAE,MAAM;KACjB;IACD,QAAQ,EAAE;QACR,MAAM,EAAE,OAAO;KAChB;IACD,KAAK,EAAE;QACL,SAAS,EAAE,GAAG;QACd,KAAK,EAAE,cAAc;KACtB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAgB,EAAE,CAAC,CAAC;IACrD,OAAO,EAAE,cAAc,CAAC,OAAO;IAC/B,OAAO,EAAE;QACP,GAAG,cAAc,CAAC,OAAO;KAC1B;IACD,EAAE,EAAE;QACF,GAAG,cAAc,CAAC,EAAE;KACrB;IACD,QAAQ,EAAE;QACR,GAAG,cAAc,CAAC,QAAQ;KAC3B;IACD,KAAK,EAAE;QACL,GAAG,cAAc,CAAC,KAAK;KACxB;CACF,CAAC,CAAC;AAEH,MAAM,cAAc,GAAG,KAAK,EAAE,QAAgB,EAAoB,EAAE;IAClE,IAAI,CAAC;QACH,MAAM,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QACvC,OAAO,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAW,EAAE;IAC9C,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;IAC1B,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,IAAI,CACd,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,EAC5D,OAAO,EACP,YAAY,CACb,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;AAC3D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,IAAiC,EAAE;IACtE,MAAM,UAAU,GAAG,mBAAmB,EAAE,CAAC;IACzC,IAAI,MAAM,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YACnD,OAAO,WAAW,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,sFAAsF;YACtF,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,MAAmB,EAAE,OAAoB,EAAe,EAAE;IACrF,OAAO;QACL,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,OAAO,EAAE;YACP,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI;SAClD;QACD,EAAE,EAAE;YACF,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ;SAClF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM;SAC1D;QACD,KAAK,EAAE;YACL,SAAS,EAAE,OAAO,CAAC,KAAK,CAAC,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,SAAS;YAC5D,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK;SACjD;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAAC,GAAc,EAAE,KAAoB,EAAU,EAAE;IAC7E,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,OAAe,EACf,GAAc,EACd,KAAoB,EACZ,EAAE;IACV,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE7B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,SAAS,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACtF,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzD,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;YACjB,KAAK,CAAC,KAAK,CAAC,GAAG,GAAG,SAAS,KAAK,cAAc,EAAE,CAAC;YACjD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACzB,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAExB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,MAAM,CAAC;YAErD,IAAI,MAAM,KAAK,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,OAAO,GAAG,CAAC,EAAE,CAAC;gBACtD,SAAS,GAAG,IAAI,CAAC;gBACjB,SAAS;YACX,CAAC;YAED,IAAI,SAAS,IAAI,MAAM,KAAK,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrE,MAAM;YACR,CAAC;YAED,IAAI,SAAS,IAAI,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChE,MAAM,cAAc,GAAG,qBAAqB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACzD,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACzC,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,aAAa,GAAG,MAAM,KAAK,cAAc,EAAE,CAAC;gBAC1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EACjC,UAAiC,EAAE,EACX,EAAE;IAC1B,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,iBAAiB,CAAC;IACjD,IAAI,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAElE,OAAO,IAAI,EAAE,CAAC;QACZ,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;YAEpD,IAAI,MAAM,cAAc,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAEvD,IAAI,eAAe,KAAK,gBAAgB,EAAE,CAAC;YACzC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,gBAAgB,GAAG,eAAe,CAAC;IACrC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAyB,EAAE;IAC1E,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAErD,OAAO;QACL,QAAQ,EAAE,YAAY;QACtB,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CAAC,OAAe,EAAE,QAAgB,EAA2B,EAAE;IACvF,MAAM,iBAAiB,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;IAChD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvD,IAAI,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;QACpE,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAA4B,CAAC;QAClE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,+BAA+B;gBACxC,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;gBAClF,GAAG,EAAE,qDAAqD;aAC3D,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9C,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;YAC7C,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC5C,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;YACnD,CAAC;YACD,OAAO,MAAiC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,qBAAqB;gBAC3B,OAAO,EAAE,+BAA+B;gBACxC,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,oCAAoC;gBAClF,GAAG,EAAE,kIAAkI;aACxI,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,MAAM,IAAI,UAAU,CAAC;QACnB,IAAI,EAAE,2BAA2B;QACjC,OAAO,EAAE,qCAAqC;QAC9C,GAAG,EAAE,kBAAkB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,oDAAoD;QAClG,GAAG,EAAE,sEAAsE;KAC5E,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,CAAC,KAAc,EAAE,YAA+B,EAAE,EAAQ,EAAE;IACrF,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACxC,OAAO;IACT,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACjD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,UAAU,CAAC;gBACnB,IAAI,EAAE,+BAA+B;gBACrC,OAAO,EAAE,oCAAoC;gBAC7C,GAAG,EAAE,aAAa,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kEAAkE;gBACjH,GAAG,EAAE,6EAA6E;aACnF,CAAC,CAAC;QACL,CAAC;QAED,kBAAkB,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACjD,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,CAAC,KAAc,EAA2B,EAAE,CAC5D,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;IACzD,CAAC,CAAE,KAAiC;IACpC,CAAC,CAAC,EAAE,CAAC;AAET,MAAM,SAAS,GAAG,CAAC,KAAc,EAAE,QAAgB,EAAU,EAAE,CAC7D,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AAEtE,MAAM,SAAS,GAAG,CAAC,KAAc,EAAoB,EAAE,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;AAE9F,MAAM,UAAU,GAAG,CAAC,KAAc,EAAK,EAAE;IACvC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;QAC1F,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,UAAU,CAAC;QACnB,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,kCAAkC;QAC3C,GAAG,EAAE,6DAA6D,MAAM,CAAC,KAAK,CAAC,KAAK;QACpF,GAAG,EAAE,oFAAoF;KAC1F,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,GAAW,EAAa,EAAE;IACjD,IAAI,kBAAkB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,UAAU,CAAC;YACnB,IAAI,EAAE,+BAA+B;YACrC,OAAO,EAAE,iCAAiC;YAC1C,GAAG,EAAE,aAAa,GAAG,kEAAkE;YACvF,GAAG,EAAE,sFAAsF;SAC5F,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAgB,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,UAAU,CAAC;YACnB,IAAI,EAAE,wBAAwB;YAC9B,OAAO,EAAE,8BAA8B;YACvC,GAAG,EAAE,uCAAuC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACrE,GAAG,EAAE,qFAAqF;SAC3F,CAAC,CAAC;IACL,CAAC;IAED,OAAO,GAAgB,CAAC;AAC1B,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,CAAC,GAAc,EAAE,KAAa,EAAiB,EAAE;IAC5E,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAE7B,IAAI,GAAG,KAAK,aAAa,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QAC9E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,GAAG,KAAK,iBAAiB,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,UAAU,CAAC;YACnB,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,0BAA0B;YACnC,GAAG,EAAE,qDAAqD;YAC1D,GAAG,EAAE,gGAAgG;SACtG,CAAC,CAAC;IACL,CAAC;IAED,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;QACzC,MAAM,IAAI,UAAU,CAAC;YACnB,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,0BAA0B;YACnC,GAAG,EAAE,8CAA8C;YACnD,GAAG,EAAE,kEAAkE;SACxE,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,UAAU,CAAC;YACnB,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,0BAA0B;YACnC,GAAG,EAAE,KAAK,GAAG,qBAAqB;YAClC,GAAG,EAAE,4BAA4B;SAClC,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACrD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAmB,EAAE,GAAc,EAAiB,EAAE;IAC5E,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAChC,KAAK,cAAc;YACjB,OAAO,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAC7B,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC;QAC5B,KAAK,iBAAiB;YACpB,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;QAChC,KAAK,iBAAiB;YACpB,OAAO,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC;QAChC,KAAK,aAAa;YAChB,OAAO,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;IAC9B,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,MAAmB,EACnB,GAAc,EACd,KAAoB,EACP,EAAE;IACf,MAAM,IAAI,GAAgB;QACxB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,EAAE;QAC9B,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,EAAE,EAAE;QACpB,QAAQ,EAAE,EAAE,GAAG,MAAM,CAAC,QAAQ,EAAE;QAChC,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE;KAC3B,CAAC;IAEF,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,SAAS;YACZ,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;YACjB,MAAM;QACR,KAAK,cAAc;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,KAAK,IAAI,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;YACzD,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,CAAC,EAAE,CAAC,QAAQ,GAAG,KAAK,CAAC;YACzB,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC3D,MAAM;QACR,KAAK,iBAAiB;YACpB,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;YAC/D,MAAM;QACR,KAAK,aAAa;YAChB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,IAAI,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;YACvD,MAAM;IACV,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,MAAmB,EAAE,QAAgB,EAAU,EAAE;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvD,IAAI,SAAS,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,UAAU,EAAE,CAAC;QACpE,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;IAChD,CAAC;IAED,OAAO;QACL,YAAY;QACZ,EAAE;QACF,UAAU;QACV,WAAW,qBAAqB,CAAC,cAAc,EAAE,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACvE,EAAE;QACF,KAAK;QACL,eAAe,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE;QACzE,EAAE;QACF,WAAW;QACX,aAAa,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAC/E,EAAE;QACF,QAAQ;QACR,gBAAgB,qBAAqB,CAAC,iBAAiB,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAClF,YAAY,qBAAqB,CAAC,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACtE,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,QAAQ,GAAG,QAAQ,EAAU,EAAE,CACrE,eAAe,CAAC,mBAAmB,EAAE,EAAE,QAAQ,CAAC,CAAC;AAEnD,MAAM,qBAAqB,GAAG,CAAC,MAAmB,EAAY,EAAE;IAC9D,MAAM,QAAQ,GAAa,EAAE,CAAC;IAE9B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;QACxB,QAAQ,CAAC,IAAI,CAAC,4EAA4E,CAAC,CAAC;IAC9F,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC;QACnC,QAAQ,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAC5C,CAAC;IAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAe,EAAE,QAAQ,GAAG,QAAQ,EAAe,EAAE;IAC/E,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpD,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAE3B,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1C,MAAM,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC;IAE7B,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC;QACnC,OAAO,EAAE;YACP,IAAI,EAAE,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC;SAC3D;QACD,EAAE,EAAE;YACF,QAAQ,EAAE,OAAO,QAAQ,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;SACnF;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC;SACnC;QACD,KAAK,EAAE;YACL,SAAS,EAAE,SAAS,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;YACrE,KAAK,EAAE,SAAS,CAAC,KAAK,CAAC,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC;SAC1D;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EAAE,GAAY,EAAmB,EAAE;IAC3E,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC;IAE/C,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,UAAU,CAAC;YACnB,IAAI,EAAE,kBAAkB;YACxB,OAAO,EAAE,yBAAyB;YAClC,GAAG,EAAE,+FAA+F;YACpG,GAAG,EAAE,8EAA8E;SACpF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,GAAY,EAA2B,EAAE;IAChF,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAClD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,MAAM,gBAAgB,EAAE,CAAC;IAC9C,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;IAE9F,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,QAAQ;QACR,MAAM,EAAE,YAAY;KACrB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,OAAe,EAAE,QAAgB,EAAiB,EAAE;IAC/E,MAAM,MAAM,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC;IAElC,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,EAAE,EAAE,CAAC;QACzE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,KAAK,CAAC,IAAI,UAAU,KAAK,GAAG,EAAE,CAAC;QAC3C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,IAAI,UAAU,CAAC;QACnB,IAAI,EAAE,4BAA4B;QAClC,OAAO,EAAE,kCAAkC;QAC3C,GAAG,EAAE,6DAA6D,MAAM,CAAC,UAAU,CAAC,KAAK;QACzF,GAAG,EAAE,oFAAoF;KAC1F,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EAAE,GAAY,EAAmC,EAAE;IAC5F,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,qBAAqB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAExD,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI;QAC9C,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,QAAQ;KACT,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,GAAW,EACX,GAAY,EACc,EAAE;IAC5B,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAE/C,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,GAAG,EAAE,SAAS;QACd,KAAK,EAAE,cAAc,CAAC,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;KAClD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAK,EACzC,GAAW,EACX,KAAa,EACb,UAA6D,EAAE,EACrC,EAAE;IAC5B,MAAM,SAAS,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;IACvC,MAAM,eAAe,GAAG,oBAAoB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC/D,oBAAoB,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;IAE5C,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM;QAC7B,CAAC,CAAC,mBAAmB,EAAE;QACvB,CAAC,CAAC,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAE7C,IAAI,aAAa,GAAG,EAAE,CAAC;IACvB,IAAI,aAAa,GAAG,mBAAmB,EAAE,CAAC;IAE1C,IAAI,MAAM,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;QAC1C,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC;QAC/B,aAAa,GAAG,WAAW,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,UAAU,GAAG,eAAe,CAAC,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;IAE9E,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;IAEvD,IAAI,aAAa,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/D,MAAM,QAAQ,GAAG,iBAAiB,CAAC,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;QAC9E,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO,GAAG,QAAQ,CAAC;QACrB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,GAAG,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACzD,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACtC,QAAQ;QACR,GAAG,EAAE,SAAS;QACd,QAAQ,EAAE,cAAc,CAAC,aAAa,EAAE,SAAS,CAAC;QAClD,QAAQ,EAAE,cAAc,CAAC,UAAU,EAAE,SAAS,CAAC;QAC/C,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,qBAAqB,GAAG,KAAK,EACxC,UAA2C,EAAE,EACb,EAAE;IAClC,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,mBAAmB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IACzE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5D,MAAM,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,WAAW,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC;IAE9E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,aAAa,EAAE,CAAC;YAChB,MAAM,EAAE,IAAI;YACZ,QAAQ;YACR,WAAW;YACX,SAAS,EAAE,CAAC;YACZ,OAAO,EAAE,KAAK;YACd,OAAO;YACP,SAAS,EAAE,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,MAAM,SAAS,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,OAAO;QACL,aAAa,EAAE,CAAC;QAChB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;QACtC,QAAQ;QACR,WAAW;QACX,SAAS,EAAE,CAAC;QACZ,OAAO;QACP,OAAO;QACP,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KAChC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zaowu-labs/config",
3
- "version": "1.0.2",
3
+ "version": "1.0.5",
4
4
  "description": "ZaoWu configuration management",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "dependencies": {
23
23
  "yaml": "^2.9.0",
24
- "@zaowu-labs/core": "1.0.2"
24
+ "@zaowu-labs/core": "1.0.5"
25
25
  },
26
26
  "keywords": [
27
27
  "zaowu",