@openrewrite/rewrite 8.67.0-20251119-202228 → 8.67.0-20251120-075051

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.
@@ -8,19 +8,25 @@ export declare enum ImportStyle {
8
8
  CommonJS = 3
9
9
  }
10
10
  export interface AddImportOptions {
11
- /** The module name (e.g., 'fs') to import from */
12
- target: string;
11
+ /** The module name (e.g., 'fs', 'react') to import from */
12
+ module: string;
13
13
  /** Optionally, the specific member to import from the module.
14
14
  * If not specified, adds a default import or namespace import.
15
15
  * Special values:
16
- * - 'default': Adds a default import from the target module.
17
- * When using 'default', the `alias` parameter is required. */
16
+ * - 'default': Adds a default import from the module.
17
+ * When using 'default', the `alias` parameter is required.
18
+ * Cannot be combined with `sideEffectOnly`. */
18
19
  member?: string;
19
20
  /** Optional alias for the imported member.
20
- * Required when member is 'default'. */
21
+ * Required when member is 'default'.
22
+ * Cannot be combined with `sideEffectOnly`. */
21
23
  alias?: string;
22
- /** If true, only add the import if the member is actually used in the file. Default: true */
24
+ /** If true, only add the import if the member is actually used in the file. Default: true
25
+ * Cannot be combined with `sideEffectOnly`. */
23
26
  onlyIfReferenced?: boolean;
27
+ /** If true, adds a side-effect import without bindings (e.g., `import 'module'` or `require('module')`).
28
+ * Cannot be combined with `member`, `alias`, or `onlyIfReferenced`. */
29
+ sideEffectOnly?: boolean;
24
30
  /** Optional import style to use. If not specified, auto-detects from file and existing imports */
25
31
  style?: ImportStyle;
26
32
  }
@@ -31,22 +37,27 @@ export interface AddImportOptions {
31
37
  *
32
38
  * @example
33
39
  * // Add a named import
34
- * maybeAddImport(visitor, { target: 'fs', member: 'readFile' });
40
+ * maybeAddImport(visitor, { module: 'fs', member: 'readFile' });
35
41
  *
36
42
  * @example
37
43
  * // Add a default import using the 'default' member specifier
38
- * maybeAddImport(visitor, { target: 'react', member: 'default', alias: 'React' });
44
+ * maybeAddImport(visitor, { module: 'react', member: 'default', alias: 'React' });
39
45
  *
40
46
  * @example
41
47
  * // Add a default import (legacy way, without specifying member)
42
- * maybeAddImport(visitor, { target: 'react', alias: 'React' });
48
+ * maybeAddImport(visitor, { module: 'react', alias: 'React' });
49
+ *
50
+ * @example
51
+ * // Add a side-effect import
52
+ * maybeAddImport(visitor, { module: 'core-js/stable', sideEffectOnly: true });
43
53
  */
44
54
  export declare function maybeAddImport(visitor: JavaScriptVisitor<any>, options: AddImportOptions): void;
45
55
  export declare class AddImport<P> extends JavaScriptVisitor<P> {
46
- readonly target: string;
56
+ readonly module: string;
47
57
  readonly member?: string;
48
58
  readonly alias?: string;
49
59
  readonly onlyIfReferenced: boolean;
60
+ readonly sideEffectOnly: boolean;
50
61
  readonly style?: ImportStyle;
51
62
  constructor(options: AddImportOptions);
52
63
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"add-import.d.ts","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAA+D,MAAM,SAAS,CAAC;AACxF,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAK1B,oBAAY,WAAW;IACnB,QAAQ,IAAA,CAAO,6BAA6B;IAC5C,YAAY,IAAA,CAAG,8BAA8B;IAC7C,UAAU,IAAA,CAAK,yBAAyB;IACxC,QAAQ,IAAA;CACX;AAED,MAAM,WAAW,gBAAgB;IAC7B,kDAAkD;IAClD,MAAM,EAAE,MAAM,CAAC;IAEf;;;;oEAIgE;IAChE,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;4CACwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6FAA6F;IAC7F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,kGAAkG;IAClG,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC/B,OAAO,EAAE,gBAAgB,QAW5B;AAED,qBAAa,SAAS,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;gBAEjB,OAAO,EAAE,gBAAgB;IAerC;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkH5B;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAiDzB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAmGxG;;OAEG;YACW,0BAA0B;IAyExC;;OAEG;YACW,iBAAiB;IAuB/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAwDxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoDzB;;OAEG;YACW,yBAAyB;IA6DvC;;OAEG;YACW,qBAAqB;IAwFnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgE7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,cAAc;CAUzB"}
1
+ {"version":3,"file":"add-import.d.ts","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAA+D,MAAM,SAAS,CAAC;AACxF,OAAO,EAAC,EAAE,EAAC,MAAM,QAAQ,CAAC;AAK1B,oBAAY,WAAW;IACnB,QAAQ,IAAA,CAAO,6BAA6B;IAC5C,YAAY,IAAA,CAAG,8BAA8B;IAC7C,UAAU,IAAA,CAAK,yBAAyB;IACxC,QAAQ,IAAA;CACX;AAED,MAAM,WAAW,gBAAgB;IAC7B,2DAA2D;IAC3D,MAAM,EAAE,MAAM,CAAC;IAEf;;;;;mDAK+C;IAC/C,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB;;mDAE+C;IAC/C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;mDAC+C;IAC/C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;2EACuE;IACvE,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,kGAAkG;IAClG,KAAK,CAAC,EAAE,WAAW,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,cAAc,CAC1B,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAC/B,OAAO,EAAE,gBAAgB,QAY5B;AAED,qBAAa,SAAS,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAClD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;gBAEjB,OAAO,EAAE,gBAAgB;IA6BrC;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkH5B;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAiDzB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAoGxG;;OAEG;YACW,0BAA0B;IAyExC;;OAEG;YACW,iBAAiB;IAuB/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiExB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoDzB;;OAEG;YACW,yBAAyB;IA6DvC;;OAEG;YACW,qBAAqB;IA8FnC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAgE7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqB7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAchC;;OAEG;IACH,OAAO,CAAC,aAAa;IAcrB;;OAEG;IACH,OAAO,CAAC,cAAc;CAUzB"}
@@ -31,22 +31,28 @@ var ImportStyle;
31
31
  *
32
32
  * @example
33
33
  * // Add a named import
34
- * maybeAddImport(visitor, { target: 'fs', member: 'readFile' });
34
+ * maybeAddImport(visitor, { module: 'fs', member: 'readFile' });
35
35
  *
36
36
  * @example
37
37
  * // Add a default import using the 'default' member specifier
38
- * maybeAddImport(visitor, { target: 'react', member: 'default', alias: 'React' });
38
+ * maybeAddImport(visitor, { module: 'react', member: 'default', alias: 'React' });
39
39
  *
40
40
  * @example
41
41
  * // Add a default import (legacy way, without specifying member)
42
- * maybeAddImport(visitor, { target: 'react', alias: 'React' });
42
+ * maybeAddImport(visitor, { module: 'react', alias: 'React' });
43
+ *
44
+ * @example
45
+ * // Add a side-effect import
46
+ * maybeAddImport(visitor, { module: 'core-js/stable', sideEffectOnly: true });
43
47
  */
44
48
  function maybeAddImport(visitor, options) {
49
+ var _a;
45
50
  for (const v of visitor.afterVisit || []) {
46
51
  if (v instanceof AddImport &&
47
- v.target === options.target &&
52
+ v.module === options.module &&
48
53
  v.member === options.member &&
49
- v.alias === options.alias) {
54
+ v.alias === options.alias &&
55
+ v.sideEffectOnly === ((_a = options.sideEffectOnly) !== null && _a !== void 0 ? _a : false)) {
50
56
  return;
51
57
  }
52
58
  }
@@ -54,16 +60,29 @@ function maybeAddImport(visitor, options) {
54
60
  }
55
61
  class AddImport extends visitor_1.JavaScriptVisitor {
56
62
  constructor(options) {
57
- var _a;
63
+ var _a, _b;
58
64
  super();
59
65
  // Validate that alias is provided when member is 'default'
60
66
  if (options.member === 'default' && !options.alias) {
61
67
  throw new Error("When member is 'default', the alias parameter is required");
62
68
  }
63
- this.target = options.target;
69
+ // Validate that sideEffectOnly is not combined with incompatible options
70
+ if (options.sideEffectOnly) {
71
+ if (options.member !== undefined) {
72
+ throw new Error("Cannot combine sideEffectOnly with member");
73
+ }
74
+ if (options.alias !== undefined) {
75
+ throw new Error("Cannot combine sideEffectOnly with alias");
76
+ }
77
+ if (options.onlyIfReferenced !== undefined) {
78
+ throw new Error("Cannot combine sideEffectOnly with onlyIfReferenced");
79
+ }
80
+ }
81
+ this.module = options.module;
64
82
  this.member = options.member;
65
83
  this.alias = options.alias;
66
84
  this.onlyIfReferenced = (_a = options.onlyIfReferenced) !== null && _a !== void 0 ? _a : true;
85
+ this.sideEffectOnly = (_b = options.sideEffectOnly) !== null && _b !== void 0 ? _b : false;
67
86
  this.style = options.style;
68
87
  }
69
88
  /**
@@ -201,7 +220,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
201
220
  const moduleSpecifier = (_a = jsImport.moduleSpecifier) === null || _a === void 0 ? void 0 : _a.element;
202
221
  if (moduleSpecifier) {
203
222
  const moduleName = this.getModuleName(moduleSpecifier);
204
- if (moduleName === this.target) {
223
+ if (moduleName === this.module) {
205
224
  const importClause = jsImport.importClause;
206
225
  if (importClause === null || importClause === void 0 ? void 0 : importClause.namedBindings) {
207
226
  if (importClause.namedBindings.kind === tree_1.JS.Kind.NamedImports) {
@@ -226,7 +245,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
226
245
  if ((initializer === null || initializer === void 0 ? void 0 : initializer.kind) === java_1.J.Kind.MethodInvocation &&
227
246
  this.isRequireCall(initializer)) {
228
247
  const moduleName = this.getModuleNameFromRequire(initializer);
229
- if (moduleName === this.target) {
248
+ if (moduleName === this.module) {
230
249
  return ImportStyle.CommonJS;
231
250
  }
232
251
  }
@@ -243,7 +262,8 @@ class AddImport extends visitor_1.JavaScriptVisitor {
243
262
  return compilationUnit;
244
263
  }
245
264
  // If onlyIfReferenced is true, check if the identifier is actually used
246
- if (this.onlyIfReferenced) {
265
+ // Skip this check for side-effect imports
266
+ if (!this.sideEffectOnly && this.onlyIfReferenced) {
247
267
  const isReferenced = yield this.checkIdentifierReferenced(compilationUnit);
248
268
  if (!isReferenced) {
249
269
  return compilationUnit;
@@ -252,8 +272,8 @@ class AddImport extends visitor_1.JavaScriptVisitor {
252
272
  // Determine the appropriate import style
253
273
  const importStyle = this.determineImportStyle(compilationUnit);
254
274
  // For ES6 named imports, check if we can merge into an existing import from the same module
255
- // Don't try to merge default imports (member === 'default')
256
- if (importStyle === ImportStyle.ES6Named && this.member !== undefined && this.member !== 'default') {
275
+ // Don't try to merge default imports (member === 'default') or side-effect imports
276
+ if (!this.sideEffectOnly && importStyle === ImportStyle.ES6Named && this.member !== undefined && this.member !== 'default') {
257
277
  const mergedCu = yield this.tryMergeIntoExistingImport(compilationUnit, p);
258
278
  if (mergedCu !== compilationUnit) {
259
279
  return mergedCu;
@@ -335,7 +355,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
335
355
  }
336
356
  const moduleName = this.getModuleName(moduleSpecifier);
337
357
  // Check if this is an import from our target module
338
- if (moduleName !== this.target) {
358
+ if (moduleName !== this.module) {
339
359
  continue;
340
360
  }
341
361
  const importClause = jsImport.importClause;
@@ -409,11 +429,18 @@ class AddImport extends visitor_1.JavaScriptVisitor {
409
429
  return false;
410
430
  }
411
431
  const moduleName = this.getModuleName(moduleSpecifier);
412
- if (moduleName !== this.target) {
432
+ if (moduleName !== this.module) {
413
433
  return false;
414
434
  }
415
435
  const importClause = jsImport.importClause;
436
+ // Handle side-effect imports (no import clause)
416
437
  if (!importClause) {
438
+ // If we're trying to add a side-effect import and one already exists, it's a match
439
+ return this.sideEffectOnly;
440
+ }
441
+ // If we're adding a side-effect import but there's an existing import with bindings,
442
+ // it's not a match (side-effect import should be separate)
443
+ if (this.sideEffectOnly) {
417
444
  return false;
418
445
  }
419
446
  // Check if the specific member or default import already exists
@@ -473,7 +500,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
473
500
  return false;
474
501
  }
475
502
  const moduleName = this.getModuleNameFromRequire(methodInv);
476
- if (moduleName !== this.target) {
503
+ if (moduleName !== this.module) {
477
504
  return false;
478
505
  }
479
506
  // Check if the variable name matches what we're trying to add
@@ -571,7 +598,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
571
598
  };
572
599
  yield collector.visit(compilationUnit, new execution_1.ExecutionContext());
573
600
  // Check if our target import is used based on type attribution
574
- const moduleMembers = usedImports.get(this.target);
601
+ const moduleMembers = usedImports.get(this.module);
575
602
  if (!moduleMembers) {
576
603
  return false;
577
604
  }
@@ -587,18 +614,25 @@ class AddImport extends visitor_1.JavaScriptVisitor {
587
614
  // Determine the appropriate prefix (spacing before the import)
588
615
  const prefix = this.determineImportPrefix(compilationUnit, insertionIndex);
589
616
  // Create the module specifier
617
+ // For side-effect imports, use emptySpace since space comes from LeftPadded.before
618
+ // For regular imports with import clause, use emptySpace since space comes from LeftPadded.before
619
+ // However, the printer expects the space after 'from' in the literal's prefix
590
620
  const moduleSpecifier = {
591
621
  id: (0, uuid_1.randomId)(),
592
622
  kind: java_1.J.Kind.Literal,
593
- prefix: java_1.singleSpace,
623
+ prefix: this.sideEffectOnly ? java_1.emptySpace : java_1.singleSpace,
594
624
  markers: markers_1.emptyMarkers,
595
- value: `'${this.target}'`,
596
- valueSource: `'${this.target}'`,
625
+ value: `'${this.module}'`,
626
+ valueSource: `'${this.module}'`,
597
627
  unicodeEscapes: [],
598
628
  type: undefined
599
629
  };
600
630
  let importClause;
601
- if (this.member === undefined || this.member === 'default') {
631
+ if (this.sideEffectOnly) {
632
+ // Side-effect import: import 'module'
633
+ importClause = undefined;
634
+ }
635
+ else if (this.member === undefined || this.member === 'default') {
602
636
  // Default import: import target from 'module'
603
637
  // or: import alias from 'module' (when member === 'default')
604
638
  const defaultName = {
@@ -607,7 +641,7 @@ class AddImport extends visitor_1.JavaScriptVisitor {
607
641
  prefix: java_1.singleSpace,
608
642
  markers: markers_1.emptyMarkers,
609
643
  annotations: [],
610
- simpleName: this.alias || this.target,
644
+ simpleName: this.alias || this.module,
611
645
  type: undefined,
612
646
  fieldType: undefined
613
647
  };
@@ -1 +1 @@
1
- {"version":3,"file":"add-import.js","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"add-import.js","sourceRoot":"","sources":["../../src/javascript/add-import.ts"],"names":[],"mappings":";;;;;;;;;;;;AAgEA,wCAcC;AA9ED,uCAA4C;AAC5C,kCAAwF;AACxF,iCAA0B;AAC1B,kCAAiC;AACjC,wCAAiD;AACjD,4CAA8C;AAE9C,IAAY,WAKX;AALD,WAAY,WAAW;IACnB,qDAAQ,CAAA;IACR,6DAAY,CAAA;IACZ,yDAAU,CAAA;IACV,qDAAQ,CAAA,CAAO,8BAA8B;AACjD,CAAC,EALW,WAAW,2BAAX,WAAW,QAKtB;AA+BD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,cAAc,CAC1B,OAA+B,EAC/B,OAAyB;;IAEzB,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,SAAS;YACtB,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;YAC3B,CAAC,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;YAC3B,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK;YACzB,CAAC,CAAC,cAAc,KAAK,CAAC,MAAA,OAAO,CAAC,cAAc,mCAAI,KAAK,CAAC,EAAE,CAAC;YACzD,OAAO;QACX,CAAC;IACL,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;AACpD,CAAC;AAED,MAAa,SAAa,SAAQ,2BAAoB;IAQlD,YAAY,OAAyB;;QACjC,KAAK,EAAE,CAAC;QAER,2DAA2D;QAC3D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QACjF,CAAC;QAED,yEAAyE;QACzE,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YACzB,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC/B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACjE,CAAC;YACD,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,gBAAgB,GAAG,MAAA,OAAO,CAAC,gBAAgB,mCAAI,IAAI,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,MAAA,OAAO,CAAC,cAAc,mCAAI,KAAK,CAAC;QACtD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,eAAkB;;QACpC,IAAI,eAAe,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC1C,OAAO,SAAS,CAAC;QACrB,CAAC;QACD,OAAO,MAAC,eAA6B,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAC;IAC5D,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,SAA6B;;QAC/C,OAAO,CAAA,MAAA,SAAS,CAAC,IAAI,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU;YACzC,SAAS,CAAC,IAAqB,CAAC,UAAU,KAAK,SAAS,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,eAAmC;;QAC5D,2CAA2C;QAC3C,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC;QACtB,CAAC;QAED,2CAA2C;QAC3C,MAAM,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC;QAC9C,MAAM,YAAY,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC3B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC3B,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAEhD,+CAA+C;QAC/C,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,OAAO,WAAW,CAAC,QAAQ,CAAC;QAChC,CAAC;QAED,iEAAiE;QACjE,uBAAuB;QACvB,MAAM,sBAAsB,GAAG,IAAI,CAAC,gCAAgC,CAAC,eAAe,CAAC,CAAC;QACtF,IAAI,sBAAsB,KAAK,IAAI,EAAE,CAAC;YAClC,OAAO,sBAAsB,CAAC;QAClC,CAAC;QAED,qCAAqC;QACrC,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC9C,qEAAqE;YACrE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzD,OAAO,WAAW,CAAC,QAAQ,CAAC;YAChC,CAAC;YACD,2BAA2B;YAC3B,OAAO,WAAW,CAAC,UAAU,CAAC;QAClC,CAAC;QAED,8DAA8D;QAC9D,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAChC,IAAI,iBAAiB,GAAG,KAAK,CAAC;QAC9B,IAAI,mBAAmB,GAAG,KAAK,CAAC;QAEhC,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;YAE/B,wBAAwB;YACxB,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,SAAsB,CAAC;gBACxC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;gBAE3C,IAAI,YAAY,EAAE,CAAC;oBACf,2BAA2B;oBAC3B,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;wBAC7B,IAAI,YAAY,CAAC,aAAa,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;4BAC3D,eAAe,GAAG,IAAI,CAAC;wBAC3B,CAAC;6BAAM,IAAI,YAAY,CAAC,aAAa,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU;4BACrD,YAAY,CAAC,aAAa,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;4BAC3D,8BAA8B;4BAC9B,mBAAmB,GAAG,IAAI,CAAC;wBAC/B,CAAC;oBACL,CAAC;oBAED,2BAA2B;oBAC3B,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;wBACpB,iBAAiB,GAAG,IAAI,CAAC;oBAC7B,CAAC;gBACL,CAAC;YACL,CAAC;YAED,8BAA8B;YAC9B,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,SAAmC,CAAC;gBACpD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC9C,MAAM,WAAW,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,OAAO,CAAC;oBACnD,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB;wBAC7C,IAAI,CAAC,aAAa,CAAC,WAAiC,CAAC,EAAE,CAAC;wBACxD,mBAAmB,GAAG,IAAI,CAAC;oBAC/B,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,wCAAwC;QACxC,uCAAuC;QACvC,IAAI,mBAAmB,IAAI,CAAC,eAAe,IAAI,CAAC,mBAAmB,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACxF,OAAO,WAAW,CAAC,QAAQ,CAAC;QAChC,CAAC;QAED,4FAA4F;QAC5F,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzD,IAAI,eAAe,EAAE,CAAC;gBAClB,OAAO,WAAW,CAAC,QAAQ,CAAC;YAChC,CAAC;YACD,IAAI,mBAAmB,EAAE,CAAC;gBACtB,OAAO,WAAW,CAAC,YAAY,CAAC;YACpC,CAAC;QACL,CAAC;QAED,mCAAmC;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzD,IAAI,mBAAmB,EAAE,CAAC;gBACtB,OAAO,WAAW,CAAC,YAAY,CAAC;YACpC,CAAC;YACD,IAAI,iBAAiB,EAAE,CAAC;gBACpB,OAAO,WAAW,CAAC,UAAU,CAAC;YAClC,CAAC;QACL,CAAC;QAED,uFAAuF;QACvF,OAAO,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC;YAC3D,CAAC,CAAC,WAAW,CAAC,QAAQ;YACtB,CAAC,CAAC,WAAW,CAAC,UAAU,CAAC;IACjC,CAAC;IAED;;OAEG;IACK,gCAAgC,CAAC,eAAmC;;QACxE,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;YAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;YAE/B,oBAAoB;YACpB,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,QAAQ,GAAG,SAAsB,CAAC;gBACxC,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,eAAe,0CAAE,OAAO,CAAC;gBAE1D,IAAI,eAAe,EAAE,CAAC;oBAClB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;oBAEvD,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC7B,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;wBAC3C,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,aAAa,EAAE,CAAC;4BAC9B,IAAI,YAAY,CAAC,aAAa,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gCAC3D,OAAO,WAAW,CAAC,QAAQ,CAAC;4BAChC,CAAC;iCAAM,CAAC;gCACJ,OAAO,WAAW,CAAC,YAAY,CAAC;4BACpC,CAAC;wBACL,CAAC;wBACD,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,EAAE,CAAC;4BACrB,OAAO,WAAW,CAAC,UAAU,CAAC;wBAClC,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;YAED,0BAA0B;YAC1B,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAClD,MAAM,OAAO,GAAG,SAAmC,CAAC;gBACpD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;oBAC9C,MAAM,WAAW,GAAG,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,OAAO,CAAC;oBAEnD,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB;wBAC7C,IAAI,CAAC,aAAa,CAAC,WAAiC,CAAC,EAAE,CAAC;wBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,WAAiC,CAAC,CAAC;wBACpF,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;4BAC7B,OAAO,WAAW,CAAC,QAAQ,CAAC;wBAChC,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEc,sBAAsB,CAAC,eAAmC,EAAE,CAAI;;YAC3E,4CAA4C;YAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC;YAChE,IAAI,SAAS,EAAE,CAAC;gBACZ,OAAO,eAAe,CAAC;YAC3B,CAAC;YAED,wEAAwE;YACxE,0CAA0C;YAC1C,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAChD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,yBAAyB,CAAC,eAAe,CAAC,CAAC;gBAC3E,IAAI,CAAC,YAAY,EAAE,CAAC;oBAChB,OAAO,eAAe,CAAC;gBAC3B,CAAC;YACL,CAAC;YAED,yCAAyC;YACzC,MAAM,WAAW,GAAG,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAE/D,4FAA4F;YAC5F,mFAAmF;YACnF,IAAI,CAAC,IAAI,CAAC,cAAc,IAAI,WAAW,KAAK,WAAW,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC;gBAC3E,IAAI,QAAQ,KAAK,eAAe,EAAE,CAAC;oBAC/B,OAAO,QAAQ,CAAC;gBACpB,CAAC;YACL,CAAC;YAED,6CAA6C;YAC7C,IAAI,WAAW,KAAK,WAAW,CAAC,QAAQ,EAAE,CAAC;gBACvC,4CAA4C;gBAC5C,oCAAoC;gBACpC,sDAAsD;YAC1D,CAAC;YAED,8DAA8D;YAC9D,OAAO,IAAI,CAAC,iBAAiB,CAAqB,eAAe,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;gBAChF,yCAAyC;gBACzC,MAAM,cAAc,GAAG,IAAI,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC;gBAEtE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC;gBAEvF,gDAAgD;gBAChD,mDAAmD;gBACnD,MAAM,gBAAgB,GAAG,IAAA,iBAAO,EAAC;oBAC7B,IAAI,EAAE,QAAC,CAAC,OAAO,CAAC,SAAS;oBACzB,EAAE,EAAE,IAAA,eAAQ,GAAE;iBACjB,CAAC,CAAC;gBAEH,IAAI,cAAc,KAAK,CAAC,EAAE,CAAC;oBACvB,0BAA0B;oBAC1B,wEAAwE;oBACxE,8DAA8D;oBAC9D,MAAM,iBAAiB,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC;wBAC3D,CAAC,CAAC;4BACE,IAAA,kBAAW,EAAC,SAAS,EAAE,iBAAU,EAAE,gBAAgB,CAAC;4BACpD,gCACO,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,KAChC,OAAO,EAAE,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO;oCAC1C,CAAC,iCAAK,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,KAAE,MAAM,EAAE,IAAA,YAAK,EAAC,MAAM,CAAC,IAClE,CAAC,CAAC,SAAS,GACU;4BAC7B,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;yBACzC;wBACD,CAAC,CAAC,CAAC,IAAA,kBAAW,EAAC,SAAS,EAAE,iBAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;oBAE7D,KAAK,CAAC,UAAU,GAAG,iBAAiB,CAAC;gBACzC,CAAC;qBAAM,CAAC;oBACJ,gCAAgC;oBAChC,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC;oBACnE,MAAM,KAAK,GAAG,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;oBAE/D,wEAAwE;oBACxE,mEAAmE;oBACnE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC;wBACvC,MAAM,aAAa,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;wBAC9C,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;wBAE9D,MAAM,oBAAoB,GAAG,YAAY,CAAC,CAAC,iCACpC,KAAK,CAAC,CAAC,CAAC,KACX,OAAO,kCAAM,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,KAAE,MAAM,EAAE,IAAA,YAAK,EAAC,IAAI,GAAG,aAAa,CAAC,UAAU,CAAC,OAC/E,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;wBAEb,KAAK,CAAC,UAAU,GAAG;4BACf,GAAG,MAAM;4BACT,IAAA,kBAAW,EAAC,SAAS,EAAE,iBAAU,EAAE,gBAAgB,CAAC;4BACpD,oBAAoB;4BACpB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;yBACpB,CAAC;oBACN,CAAC;yBAAM,CAAC;wBACJ,KAAK,CAAC,UAAU,GAAG;4BACf,GAAG,MAAM;4BACT,IAAA,kBAAW,EAAC,SAAS,EAAE,iBAAU,EAAE,gBAAgB,CAAC;4BACpD,GAAG,KAAK;yBACX,CAAC;oBACN,CAAC;gBACL,CAAC;YACL,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAED;;OAEG;IACW,0BAA0B,CAAC,eAAmC,EAAE,CAAI;;;YAC9E,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACzD,MAAM,IAAI,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;gBAE/B,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,SAAsB,CAAC;oBACxC,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,eAAe,0CAAE,OAAO,CAAC;oBAE1D,IAAI,CAAC,eAAe,EAAE,CAAC;wBACnB,SAAS;oBACb,CAAC;oBAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;oBAEvD,oDAAoD;oBACpD,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;wBAC7B,SAAS;oBACb,CAAC;oBAED,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;oBAC3C,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;wBAC/C,SAAS;oBACb,CAAC;oBAED,sDAAsD;oBACtD,IAAI,YAAY,CAAC,aAAa,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;wBAC3D,SAAS;oBACb,CAAC;oBAED,iEAAiE;oBACjE,OAAO,IAAI,CAAC,iBAAiB,CAAqB,eAAe,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;wBAChF,MAAM,YAAY,GAAG,YAAY,CAAC,aAAgC,CAAC;wBAEnE,kFAAkF;wBAClF,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;wBACtD,MAAM,YAAY,mCAAO,gBAAgB,KAAE,MAAM,EAAE,kBAAW,GAAC,CAAC;wBAEhE,wCAAwC;wBACxC,MAAM,mBAAmB,GAAoB,MAAM,IAAI,CAAC,iBAAiB,CACrE,YAAY,EAAE,CAAC,EAAE,CAAM,UAAU,EAAC,EAAE;4BAChC,UAAU,CAAC,QAAQ,mCACZ,YAAY,CAAC,QAAQ,KACxB,QAAQ,EAAE;oCACN,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ;oCACjC,IAAA,kBAAW,EAAC,YAAY,EAAE,iBAAU,CAAC;iCACxC,GACJ,CAAC;wBACN,CAAC,CAAA,CACJ,CAAC;wBAEF,+CAA+C;wBAC/C,MAAM,aAAa,GAAc,MAAM,IAAI,CAAC,iBAAiB,CACzD,QAAQ,EAAE,CAAC,EAAE,CAAM,WAAW,EAAC,EAAE;4BAC7B,WAAW,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACnD,YAAY,EAAE,CAAC,EAAE,CAAM,WAAW,EAAC,EAAE;gCACjC,WAAW,CAAC,aAAa,GAAG,mBAAmB,CAAC;4BACpD,CAAC,CAAA,CACJ,CAAC;wBACN,CAAC,CAAA,CACJ,CAAC;wBAEF,gDAAgD;wBAChD,KAAK,CAAC,UAAU,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,EAAE,CACzD,GAAG,KAAK,CAAC,CAAC,CAAC,iCAAK,CAAC,KAAE,OAAO,EAAE,aAAa,IAAE,CAAC,CAAC,CAAC,CACjD,CAAC;oBACN,CAAC,CAAA,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,OAAO,eAAe,CAAC;QAC3B,CAAC;KAAA;IAED;;OAEG;IACW,iBAAiB,CAAC,eAAmC;;YAC/D,KAAK,MAAM,IAAI,IAAI,eAAe,CAAC,UAAU,EAAE,CAAC;gBAC5C,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;gBAE/B,oBAAoB;gBACpB,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACrC,MAAM,QAAQ,GAAG,SAAsB,CAAC;oBACxC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAClC,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;gBAED,oCAAoC;gBACpC,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;oBAClD,MAAM,OAAO,GAAG,SAAmC,CAAC;oBACpD,IAAI,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClC,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;KAAA;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAmB;;QACxC,yBAAyB;QACzB,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,eAAe,0CAAE,OAAO,CAAC;QAC1D,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACvD,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;QAE3C,gDAAgD;QAChD,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,mFAAmF;YACnF,OAAO,IAAI,CAAC,cAAc,CAAC;QAC/B,CAAC;QAED,qFAAqF;QACrF,2DAA2D;QAC3D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACtB,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,gEAAgE;QAChE,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YACzD,qDAAqD;YACrD,uEAAuE;YACvE,IAAI,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBAClC,OAAO,KAAK,CAAC;YACjB,CAAC;YACD,6CAA6C;YAC7C,IAAI,IAAI,CAAC,KAAK,IAAI,CAAA,MAAA,YAAY,CAAC,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtE,MAAM,YAAY,GAAI,YAAY,CAAC,IAAI,CAAC,OAAwB,CAAC,UAAU,CAAC;gBAC5E,OAAO,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC;YACvC,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,CAAC;YACJ,kDAAkD;YAClD,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;YACjD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,IAAI,aAAa,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC9C,MAAM,YAAY,GAAG,aAAgC,CAAC;gBACtD,KAAK,MAAM,IAAI,IAAI,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAChD,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;wBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,OAA6B,CAAC;wBACrD,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;wBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;wBAEjD,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;4BACzD,OAAO,IAAI,CAAC;wBAChB,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,OAA+B;;QACrD,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,WAAW,GAAG,MAAA,QAAQ,CAAC,WAAW,0CAAE,OAAO,CAAC;QAClD,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAC/D,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,SAAS,GAAG,WAAiC,CAAC;QACpD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAC5D,IAAI,UAAU,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;YAC7B,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,8DAA8D;QAC9D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAClG,iDAAiD;YACjD,sEAAsE;YACtE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACb,MAAM,OAAO,GAAI,OAAwB,CAAC,UAAU,CAAC;gBACrD,OAAO,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC;YAClC,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC;aAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAClH,4DAA4D;YAC5D,MAAM,aAAa,GAAG,OAAkC,CAAC;YACzD,KAAK,MAAM,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;gBACjD,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,OAA4B,CAAC;oBACtD,MAAM,IAAI,GAAG,MAAC,WAAW,CAAC,IAAqB,0CAAE,UAAU,CAAC;oBAC5D,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACvC,OAAO,IAAI,CAAC;oBAChB,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;OAEG;IACW,yBAAyB,CAAC,eAAmC;;YACvE,iEAAiE;YACjE,kEAAkE;YAClE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAuB,CAAC;YAEnD,mDAAmD;YACnD,MAAM,iBAAiB,GAAG,CAAC,UAAuB,EAAE,EAAE;gBAClD,MAAM,UAAU,GAAG,WAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;gBACvF,IAAI,UAAU,EAAE,CAAC;oBACb,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC/B,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;oBAC3C,CAAC;oBACD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAE,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC,CAAC;YAEF,2EAA2E;YAC3E,MAAM,SAAS,GAAG,IAAI,KAAM,SAAQ,2BAAmC;gBACpD,eAAe,CAAC,UAAwB,EAAE,CAAmB;;;;;wBACxE,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;wBAC7B,IAAI,IAAI,IAAI,WAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC9B,iBAAiB,CAAC,IAAmB,CAAC,CAAC;wBAC3C,CAAC;wBACD,OAAO,OAAM,eAAe,YAAC,UAAU,EAAE,CAAC,EAAE;oBAChD,CAAC;iBAAA;gBAEc,qBAAqB,CAAC,gBAAoC,EAAE,CAAmB;;;;;wBAC1F,IAAI,gBAAgB,CAAC,UAAU,EAAE,CAAC;4BAC9B,iBAAiB,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;wBACnD,CAAC;wBACD,OAAO,OAAM,qBAAqB,YAAC,gBAAgB,EAAE,CAAC,EAAE;oBAC5D,CAAC;iBAAA;gBAEc,iBAAiB,CAAC,YAA6B,EAAE,CAAmB;;;;;wBAC/E,IAAI,YAAY,CAAC,UAAU,EAAE,CAAC;4BAC1B,iBAAiB,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;wBAC/C,CAAC;wBACD,OAAO,OAAM,iBAAiB,YAAC,YAAY,EAAE,CAAC,EAAE;oBACpD,CAAC;iBAAA;gBAEc,gBAAgB,CAAC,WAA0B,EAAE,CAAmB;;;;;wBAC3E,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;wBAC9B,IAAI,IAAI,IAAI,WAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;4BAC9B,iBAAiB,CAAC,IAAmB,CAAC,CAAC;wBAC3C,CAAC;wBACD,OAAO,OAAM,gBAAgB,YAAC,WAAW,EAAE,CAAC,EAAE;oBAClD,CAAC;iBAAA;aACJ,CAAC;YAEF,MAAM,SAAS,CAAC,KAAK,CAAC,eAAe,EAAE,IAAI,4BAAgB,EAAE,CAAC,CAAC;YAE/D,+DAA+D;YAC/D,MAAM,aAAa,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACnD,IAAI,CAAC,aAAa,EAAE,CAAC;gBACjB,OAAO,KAAK,CAAC;YACjB,CAAC;YAED,4FAA4F;YAC5F,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;QACjF,CAAC;KAAA;IAED;;OAEG;IACW,qBAAqB,CAAC,eAAmC,EAAE,cAAsB,EAAE,CAAI;;YACjG,+DAA+D;YAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,qBAAqB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;YAE3E,8BAA8B;YAC9B,mFAAmF;YACnF,kGAAkG;YAClG,8EAA8E;YAC9E,MAAM,eAAe,GAAc;gBAC/B,EAAE,EAAE,IAAA,eAAQ,GAAE;gBACd,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,OAAO;gBACpB,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,iBAAU,CAAC,CAAC,CAAC,kBAAW;gBACtD,OAAO,EAAE,sBAAY;gBACrB,KAAK,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG;gBACzB,WAAW,EAAE,IAAI,IAAI,CAAC,MAAM,GAAG;gBAC/B,cAAc,EAAE,EAAE;gBAClB,IAAI,EAAE,SAAS;aAClB,CAAC;YAEF,IAAI,YAAyC,CAAC;YAE9C,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,sCAAsC;gBACtC,YAAY,GAAG,SAAS,CAAC;YAC7B,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAChE,8CAA8C;gBAC9C,6DAA6D;gBAC7D,MAAM,WAAW,GAAiB;oBAC9B,EAAE,EAAE,IAAA,eAAQ,GAAE;oBACd,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,UAAU;oBACvB,MAAM,EAAE,kBAAW;oBACnB,OAAO,EAAE,sBAAY;oBACrB,WAAW,EAAE,EAAE;oBACf,UAAU,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM;oBACrC,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,SAAS;iBACvB,CAAC;gBAEF,YAAY,GAAG;oBACX,EAAE,EAAE,IAAA,eAAQ,GAAE;oBACd,IAAI,EAAE,SAAE,CAAC,IAAI,CAAC,YAAY;oBAC1B,MAAM,EAAE,iBAAU;oBAClB,OAAO,EAAE,sBAAY;oBACrB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,IAAA,kBAAW,EAAC,WAAW,EAAE,iBAAU,CAAC;oBAC1C,aAAa,EAAE,SAAS;iBAC3B,CAAC;YACN,CAAC;iBAAM,CAAC;gBACJ,gDAAgD;gBAChD,MAAM,UAAU,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAEhD,MAAM,YAAY,GAAoB;oBAClC,EAAE,EAAE,IAAA,eAAQ,GAAE;oBACd,IAAI,EAAE,SAAE,CAAC,IAAI,CAAC,YAAY;oBAC1B,MAAM,EAAE,kBAAW;oBACnB,OAAO,EAAE,sBAAY;oBACrB,QAAQ,EAAE;wBACN,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,SAAS;wBACtB,MAAM,EAAE,iBAAU;wBAClB,QAAQ,EAAE,CAAC,IAAA,kBAAW,EAAC,UAAU,EAAE,iBAAU,CAAC,CAAC;wBAC/C,OAAO,EAAE,sBAAY;qBACxB;iBACJ,CAAC;gBAEF,YAAY,GAAG;oBACX,EAAE,EAAE,IAAA,eAAQ,GAAE;oBACd,IAAI,EAAE,SAAE,CAAC,IAAI,CAAC,YAAY;oBAC1B,MAAM,EAAE,iBAAU;oBAClB,OAAO,EAAE,sBAAY;oBACrB,QAAQ,EAAE,KAAK;oBACf,IAAI,EAAE,SAAS;oBACf,aAAa,EAAE,YAAY;iBAC9B,CAAC;YACN,CAAC;YAED,MAAM,QAAQ,GAAc;gBACxB,EAAE,EAAE,IAAA,eAAQ,GAAE;gBACd,IAAI,EAAE,SAAE,CAAC,IAAI,CAAC,MAAM;gBACpB,MAAM;gBACN,OAAO,EAAE,sBAAY;gBACrB,SAAS,EAAE,EAAE;gBACb,YAAY;gBACZ,eAAe,EAAE;oBACb,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,UAAU;oBACvB,MAAM,EAAE,kBAAW;oBACnB,OAAO,EAAE,eAAe;oBACxB,OAAO,EAAE,sBAAY;iBACxB;gBACD,WAAW,EAAE,SAAS;aACzB,CAAC;YAEF,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAED;;OAEG;IACK,qBAAqB;QACzB,IAAI,SAAkC,CAAC;QAEvC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,2DAA2D;YAC3D,MAAM,YAAY,GAAiB;gBAC/B,EAAE,EAAE,IAAA,eAAQ,GAAE;gBACd,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,UAAU;gBACvB,MAAM,EAAE,iBAAU;gBAClB,OAAO,EAAE,sBAAY;gBACrB,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,IAAI,CAAC,MAAO;gBACxB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,SAAS;aACvB,CAAC;YAEF,MAAM,SAAS,GAAiB;gBAC5B,EAAE,EAAE,IAAA,eAAQ,GAAE;gBACd,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,UAAU;gBACvB,MAAM,EAAE,kBAAW;gBACnB,OAAO,EAAE,sBAAY;gBACrB,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,IAAI,CAAC,KAAK;gBACtB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,SAAS;aACvB,CAAC;YAEF,SAAS,GAAG;gBACR,EAAE,EAAE,IAAA,eAAQ,GAAE;gBACd,IAAI,EAAE,SAAE,CAAC,IAAI,CAAC,KAAK;gBACnB,MAAM,EAAE,iBAAU;gBAClB,OAAO,EAAE,sBAAY;gBACrB,YAAY,EAAE,IAAA,kBAAW,EAAC,YAAY,EAAE,kBAAW,CAAC;gBACpD,KAAK,EAAE,SAAS;aACnB,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,kDAAkD;YAClD,SAAS,GAAG;gBACR,EAAE,EAAE,IAAA,eAAQ,GAAE;gBACd,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,UAAU;gBACvB,MAAM,EAAE,iBAAU;gBAClB,OAAO,EAAE,sBAAY;gBACrB,WAAW,EAAE,EAAE;gBACf,UAAU,EAAE,IAAI,CAAC,MAAO;gBACxB,IAAI,EAAE,SAAS;gBACf,SAAS,EAAE,SAAS;aACvB,CAAC;QACN,CAAC;QAED,OAAO;YACH,EAAE,EAAE,IAAA,eAAQ,GAAE;YACd,IAAI,EAAE,SAAE,CAAC,IAAI,CAAC,eAAe;YAC7B,MAAM,EAAE,iBAAU;YAClB,OAAO,EAAE,sBAAY;YACrB,UAAU,EAAE;gBACR,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,UAAU;gBACvB,MAAM,EAAE,iBAAU;gBAClB,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,sBAAY;aACxB;YACD,SAAS;SACZ,CAAC;IACN,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,eAAmC,EAAE,cAAsB;;QACrF,iFAAiF;QACjF,mFAAmF;QACnF,IAAI,cAAc,KAAK,CAAC,IAAI,eAAe,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChE,MAAM,WAAW,GAAG,MAAA,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,0CAAE,MAAM,CAAC;YAClE,IAAI,WAAW,EAAE,CAAC;gBACd,qCAAqC;gBACrC,OAAO;oBACH,IAAI,EAAE,QAAC,CAAC,IAAI,CAAC,KAAK;oBAClB,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,WAAW,CAAC,UAAU;iBACrC,CAAC;YACN,CAAC;YACD,OAAO,iBAAU,CAAC;QACtB,CAAC;QAED,2EAA2E;QAC3E,0CAA0C;QAC1C,OAAO,IAAA,YAAK,EAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,eAAmC;QAChE,IAAI,eAAe,GAAG,CAAC,CAAC,CAAC;QAEzB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACzD,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACxD,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,eAAe,GAAG,CAAC,CAAC;YACxB,CAAC;iBAAM,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;gBAC9B,uEAAuE;gBACvE,OAAO,eAAe,GAAG,CAAC,CAAC;YAC/B,CAAC;QACL,CAAC;QAED,yCAAyC;QACzC,IAAI,eAAe,IAAI,CAAC,EAAE,CAAC;YACvB,OAAO,eAAe,GAAG,CAAC,CAAC;QAC/B,CAAC;QAED,4CAA4C;QAC5C,OAAO,CAAC,CAAC;IACb,CAAC;IAED;;OAEG;IACK,wBAAwB,CAAC,SAA6B;;QAC1D,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,SAAS,0CAAE,QAAQ,CAAC;QAC3C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,OAAO,IAAI,OAAQ,QAAsB,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrG,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,MAAC,QAAsB,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAC;IACrD,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,SAA6B;QAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;QACjC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAgB,CAAC;YAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;YAChD,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3C,OAAQ,YAA6B,CAAC,UAAU,CAAC;YACrD,CAAC;QACL,CAAC;aAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,OAAQ,IAAqB,CAAC,UAAU,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,SAA6B;;QAChD,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;QACjC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,IAAgB,CAAC;YAC/B,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1C,OAAQ,KAAK,CAAC,KAAsB,CAAC,UAAU,CAAC;YACpD,CAAC;QACL,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAz2BD,8BAy2BC"}
@@ -3,16 +3,16 @@ import { J } from "../java";
3
3
  import { JS } from "./tree";
4
4
  /**
5
5
  * @param visitor The visitor to add the import removal to
6
- * @param target Either the module name (e.g., 'fs') to remove specific members from,
7
- * or the name of the import to remove entirely
6
+ * @param module The module name (e.g., 'fs', 'react') to remove imports from
8
7
  * @param member Optionally, the specific member to remove from the import.
9
- * If not specified, removes the import matching `target`.
8
+ * If not specified, removes all unused imports from the module.
10
9
  * Special values:
11
- * - 'default': Removes the default import from the target module if unused,
10
+ * - 'default': Removes the default import from the module if unused,
12
11
  * regardless of its local name (e.g., `import React from 'react'`)
12
+ * - '*': Removes the namespace import if unused (e.g., `import * as fs from 'fs'`)
13
13
  *
14
14
  * @example
15
- * // Remove a named import if unused
15
+ * // Remove a specific named import if unused
16
16
  * maybeRemoveImport(visitor, 'fs', 'readFile');
17
17
  *
18
18
  * @example
@@ -20,23 +20,27 @@ import { JS } from "./tree";
20
20
  * maybeRemoveImport(visitor, 'react', 'default');
21
21
  *
22
22
  * @example
23
- * // Remove an import by name if unused (no module specified)
24
- * maybeRemoveImport(visitor, 'fs');
23
+ * // Remove all unused imports from 'react' module
24
+ * maybeRemoveImport(visitor, 'react');
25
+ *
26
+ * @example
27
+ * // Remove namespace import if unused
28
+ * maybeRemoveImport(visitor, 'fs', '*');
25
29
  */
26
- export declare function maybeRemoveImport(visitor: JavaScriptVisitor<any>, target: string, member?: string): void;
30
+ export declare function maybeRemoveImport(visitor: JavaScriptVisitor<any>, module: string, member?: string): void;
27
31
  export declare class RemoveImport<P> extends JavaScriptVisitor<P> {
28
- readonly target: string;
32
+ readonly module: string;
29
33
  readonly member?: string | undefined;
30
34
  /**
31
- * @param target Either the module name (e.g., 'fs') to remove specific members from,
32
- * or the name of the import to remove entirely
35
+ * @param module The module name (e.g., 'fs', 'react') to remove imports from
33
36
  * @param member Optionally, the specific member to remove from the import.
34
- * If not specified, removes the import matching `target`.
37
+ * If not specified, removes all unused imports from the module.
35
38
  * Special values:
36
- * - 'default': Removes the default import from the target module if unused,
39
+ * - 'default': Removes the default import from the module if unused,
37
40
  * regardless of its local name
41
+ * - '*': Removes the namespace import if unused
38
42
  */
39
- constructor(target: string, member?: string | undefined);
43
+ constructor(module: string, member?: string | undefined);
40
44
  /**
41
45
  * Generic helper to filter elements from a RightPadded array while preserving formatting.
42
46
  * When removing elements, the prefix from the first removed element is applied to the
@@ -1 +1 @@
1
- {"version":3,"file":"remove-import.d.ts","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAC1B,OAAO,EAAC,EAAE,EAAM,MAAM,QAAQ,CAAC;AAI/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,QAOjG;AAUD,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAUzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAVpC;;;;;;;;OAQG;gBACkB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA;IAIpC;;;;OAIG;YACW,oCAAoC;IAqClD;;OAEG;YACW,kBAAkB;IAejB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YA8F1F,aAAa;IA8J3B;;;OAGG;YACW,0BAA0B;IAmCxC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;YAYhB,mBAAmB;YA+DnB,0BAA0B;IA8DxC;;OAEG;IACH,OAAO,CAAC,wBAAwB;YAclB,2BAA2B;IAoDzC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,kBAAkB;IAsB1B,OAAO,CAAC,cAAc;IAmBtB;;OAEG;YACW,kBAAkB;IA2BhC;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;YASnB,sBAAsB;YA+NtB,gBAAgB;CAmFjC"}
1
+ {"version":3,"file":"remove-import.d.ts","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAC,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAC,CAAC,EAAC,MAAM,SAAS,CAAC;AAC1B,OAAO,EAAC,EAAE,EAAM,MAAM,QAAQ,CAAC;AAI/B;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,QAOjG;AAUD,qBAAa,YAAY,CAAC,CAAC,CAAE,SAAQ,iBAAiB,CAAC,CAAC,CAAC;IAUzC,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM;IAVpC;;;;;;;;OAQG;gBACkB,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,YAAA;IAIpC;;;;OAIG;YACW,oCAAoC;IAqClD;;OAEG;YACW,kBAAkB;IAejB,sBAAsB,CAAC,eAAe,EAAE,EAAE,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;YA8F1F,aAAa;IA8J3B;;;OAGG;YACW,0BAA0B;IAmCxC;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAI3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;YAOhB,mBAAmB;YA+DnB,0BAA0B;IA8DxC;;OAEG;IACH,OAAO,CAAC,wBAAwB;YAclB,2BAA2B;IAoDzC,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IActB,OAAO,CAAC,qBAAqB;IAQ7B,OAAO,CAAC,kBAAkB;IAmB1B,OAAO,CAAC,cAAc;IActB;;OAEG;YACW,kBAAkB;IA2BhC;;OAEG;YACW,kBAAkB;IAiBhC;;OAEG;YACW,mBAAmB;YASnB,sBAAsB;YA+NtB,gBAAgB;CAmFjC"}
@@ -18,16 +18,16 @@ const util_1 = require("../util");
18
18
  const formatting_utils_1 = require("../java/formatting-utils");
19
19
  /**
20
20
  * @param visitor The visitor to add the import removal to
21
- * @param target Either the module name (e.g., 'fs') to remove specific members from,
22
- * or the name of the import to remove entirely
21
+ * @param module The module name (e.g., 'fs', 'react') to remove imports from
23
22
  * @param member Optionally, the specific member to remove from the import.
24
- * If not specified, removes the import matching `target`.
23
+ * If not specified, removes all unused imports from the module.
25
24
  * Special values:
26
- * - 'default': Removes the default import from the target module if unused,
25
+ * - 'default': Removes the default import from the module if unused,
27
26
  * regardless of its local name (e.g., `import React from 'react'`)
27
+ * - '*': Removes the namespace import if unused (e.g., `import * as fs from 'fs'`)
28
28
  *
29
29
  * @example
30
- * // Remove a named import if unused
30
+ * // Remove a specific named import if unused
31
31
  * maybeRemoveImport(visitor, 'fs', 'readFile');
32
32
  *
33
33
  * @example
@@ -35,30 +35,34 @@ const formatting_utils_1 = require("../java/formatting-utils");
35
35
  * maybeRemoveImport(visitor, 'react', 'default');
36
36
  *
37
37
  * @example
38
- * // Remove an import by name if unused (no module specified)
39
- * maybeRemoveImport(visitor, 'fs');
38
+ * // Remove all unused imports from 'react' module
39
+ * maybeRemoveImport(visitor, 'react');
40
+ *
41
+ * @example
42
+ * // Remove namespace import if unused
43
+ * maybeRemoveImport(visitor, 'fs', '*');
40
44
  */
41
- function maybeRemoveImport(visitor, target, member) {
45
+ function maybeRemoveImport(visitor, module, member) {
42
46
  for (const v of visitor.afterVisit || []) {
43
- if (v instanceof RemoveImport && v.target === target && v.member === member) {
47
+ if (v instanceof RemoveImport && v.module === module && v.member === member) {
44
48
  return;
45
49
  }
46
50
  }
47
- visitor.afterVisit.push(new RemoveImport(target, member));
51
+ visitor.afterVisit.push(new RemoveImport(module, member));
48
52
  }
49
53
  class RemoveImport extends visitor_1.JavaScriptVisitor {
50
54
  /**
51
- * @param target Either the module name (e.g., 'fs') to remove specific members from,
52
- * or the name of the import to remove entirely
55
+ * @param module The module name (e.g., 'fs', 'react') to remove imports from
53
56
  * @param member Optionally, the specific member to remove from the import.
54
- * If not specified, removes the import matching `target`.
57
+ * If not specified, removes all unused imports from the module.
55
58
  * Special values:
56
- * - 'default': Removes the default import from the target module if unused,
59
+ * - 'default': Removes the default import from the module if unused,
57
60
  * regardless of its local name
61
+ * - '*': Removes the namespace import if unused
58
62
  */
59
- constructor(target, member) {
63
+ constructor(module, member) {
60
64
  super();
61
- this.target = target;
65
+ this.module = module;
62
66
  this.member = member;
63
67
  }
64
68
  /**
@@ -219,7 +223,7 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
219
223
  const identifier = defaultName;
220
224
  const name = identifier.simpleName;
221
225
  // Check if we should remove this default import
222
- let shouldRemove = false;
226
+ let shouldRemove;
223
227
  if (this.member === 'default') {
224
228
  // Special case: member 'default' means remove any default import from the target module if unused
225
229
  shouldRemove = !usedIdentifiers.has(name) && !usedTypes.has(name);
@@ -387,22 +391,16 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
387
391
  * Check if the module name matches the target module
388
392
  */
389
393
  matchesTargetModule(moduleName) {
390
- return this.member === undefined ? moduleName === this.target : moduleName === this.target;
394
+ return moduleName === this.module;
391
395
  }
392
396
  /**
393
397
  * Check if an identifier should be removed based on usage
394
398
  */
395
399
  shouldRemoveIdentifier(name, usedIdentifiers, usedTypes) {
396
- // If member is specified, we're removing a specific member
397
- if (this.member !== undefined) {
398
- // Only remove if the identifier is not used
399
- return !usedIdentifiers.has(name) && !usedTypes.has(name);
400
- }
401
- else {
402
- // We're removing based on the target name
403
- // Check if the name matches and is not used
404
- return this.target === name && !usedIdentifiers.has(name) && !usedTypes.has(name);
405
- }
400
+ // For CommonJS and import-equals-require, we're removing the entire import
401
+ // if the identifier is not used (member is typically undefined for these cases,
402
+ // or we're checking if a specific binding is used)
403
+ return !usedIdentifiers.has(name) && !usedTypes.has(name);
406
404
  }
407
405
  processNamedImports(namedImports, usedIdentifiers, usedTypes, p) {
408
406
  return __awaiter(this, void 0, void 0, function* () {
@@ -589,37 +587,29 @@ class RemoveImport extends visitor_1.JavaScriptVisitor {
589
587
  return '';
590
588
  }
591
589
  shouldRemoveImport(name, usedIdentifiers, usedTypes) {
592
- // If member is specified, we're removing a specific member from a module
590
+ // If member is specified, we're removing a specific member from the module
593
591
  if (this.member !== undefined) {
594
592
  // Only remove if this is the specific member we're looking for
595
593
  if (this.member !== name) {
596
594
  return false;
597
595
  }
598
596
  }
599
- else {
600
- // If no member specified, we're removing based on the import name itself
601
- if (this.target !== name) {
602
- return false;
603
- }
604
- }
597
+ // If no member specified, we're removing all unused imports from the module
598
+ // So we check if this particular import is unused
605
599
  // Check if it's used
606
600
  return !(usedIdentifiers.has(name) || usedTypes.has(name));
607
601
  }
608
602
  isTargetModule(jsImport) {
609
603
  var _a, _b;
610
- // If member is specified, we're looking for imports from a specific module
611
- if (this.member !== undefined) {
612
- const moduleSpecifier = (_a = jsImport.moduleSpecifier) === null || _a === void 0 ? void 0 : _a.element;
613
- if (!moduleSpecifier || moduleSpecifier.kind !== java_1.J.Kind.Literal) {
614
- return false;
615
- }
616
- const literal = moduleSpecifier;
617
- const moduleName = (_b = literal.value) === null || _b === void 0 ? void 0 : _b.toString().replace(/['"`]/g, '');
618
- // Match the module name
619
- return moduleName === this.target;
604
+ // Always check if the import is from the specified module
605
+ const moduleSpecifier = (_a = jsImport.moduleSpecifier) === null || _a === void 0 ? void 0 : _a.element;
606
+ if (!moduleSpecifier || moduleSpecifier.kind !== java_1.J.Kind.Literal) {
607
+ return false;
620
608
  }
621
- // If no member specified, we process all imports to check their names
622
- return true;
609
+ const literal = moduleSpecifier;
610
+ const moduleName = (_b = literal.value) === null || _b === void 0 ? void 0 : _b.toString().replace(/['"`]/g, '');
611
+ // Match the module name
612
+ return moduleName === this.module;
623
613
  }
624
614
  /**
625
615
  * Helper to traverse parameters from various node types
@@ -1 +1 @@
1
- {"version":3,"file":"remove-import.js","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"remove-import.js","sourceRoot":"","sources":["../../src/javascript/remove-import.ts"],"names":[],"mappings":";;;;;;;;;;;;AAgCA,8CAOC;AAvCD,uCAA4C;AAC5C,kCAA0B;AAC1B,iCAA+B;AAC/B,kCAAiC;AACjC,+DAAiE;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,iBAAiB,CAAC,OAA+B,EAAE,MAAc,EAAE,MAAe;IAC9F,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,UAAU,IAAI,EAAE,EAAE,CAAC;QACvC,IAAI,CAAC,YAAY,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC1E,OAAO;QACX,CAAC;IACL,CAAC;IACD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D,CAAC;AAUD,MAAa,YAAgB,SAAQ,2BAAoB;IACrD;;;;;;;;OAQG;IACH,YAAqB,MAAc,EACd,MAAe;QAChC,KAAK,EAAE,CAAC;QAFS,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAS;IAEpC,CAAC;IAED;;;;OAIG;IACW,oCAAoC,CAC9C,QAAiC,EACjC,UAAgC,EAChC,YAAsD,EACtD,EAAK;;YAEL,MAAM,QAAQ,GAA4B,EAAE,CAAC;YAC7C,IAAI,aAAkC,CAAC;YAEvC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;gBAC1B,IAAI,IAAI,CAAC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBAC3C,yEAAyE;oBACzE,4DAA4D;oBAC5D,IAAI,aAAa,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBACzC,MAAM,cAAc,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;wBACvE,QAAQ,CAAC,IAAI,iCAAK,IAAI,KAAE,OAAO,EAAE,cAAc,IAAE,CAAC;wBAClD,aAAa,GAAG,SAAS,CAAC;oBAC9B,CAAC;yBAAM,CAAC;wBACJ,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACxB,CAAC;gBACL,CAAC;qBAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;oBACtB,gDAAgD;oBAChD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;wBAC1C,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;oBACxC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACJ,0DAA0D;oBAC1D,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,CAAC;YACL,CAAC;YAED,OAAO;gBACH,QAAQ;gBACR,UAAU,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC;aACpC,CAAC;QACN,CAAC;KAAA;IAED;;OAEG;IACW,kBAAkB,CAC5B,QAAmB,EACnB,YAA6B,EAC7B,QAA8C,EAC9C,CAAI;;YAEJ,OAAO,IAAI,CAAC,iBAAiB,CAAY,QAAQ,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;gBAChE,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;oBACrB,KAAK,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC7C,YAAY,EAAE,CAAC,EAAE,CAAO,WAAgB,EAAE,EAAE,gDAAC,OAAA,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAA,GAAA,CAC3E,CAAC;gBACN,CAAC;YACL,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEc,sBAAsB,CAAC,eAAmC,EAAE,CAAI;;YAC3E,kDAAkD;YAClD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAU,CAAC;YAC1C,MAAM,SAAS,GAAG,IAAI,GAAG,EAAU,CAAC;YAEpC,+CAA+C;YAC/C,MAAM,IAAI,CAAC,sBAAsB,CAAC,eAAe,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;YAE/E,oDAAoD;YACpD,OAAO,IAAI,CAAC,iBAAiB,CAAqB,eAAe,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;gBAChF,MAAM,SAAS,GAAG,IAAI,0CAAuB,CAAI,IAAI,CAAC,CAAC,CAAC,0CAA0C;gBAElG,KAAK,CAAC,UAAU,GAAG,MAAM,IAAA,eAAQ,EAAC,eAAe,CAAC,UAAU,EAAE,CAAO,IAAI,EAAE,EAAE;oBACzE,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC;oBAE/B,qBAAqB;oBACrB,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACrC,MAAM,QAAQ,GAAG,SAAsB,CAAC;wBACxC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;wBACjF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACvB,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;4BACjC,OAAO,SAAS,CAAC;wBACrB,CAAC;wBAED,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAAc,CAAC;wBAC/D,uCAAW,IAAI,KAAE,OAAO,EAAE,WAAW,IAAE;oBAC3C,CAAC;oBAED,qCAAqC;oBACrC,6DAA6D;oBAC7D,0EAA0E;oBAC1E,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;wBAClD,MAAM,OAAO,GAAG,SAAmC,CAAC;wBACpD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAO,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;wBAClF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;4BACvB,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;4BACjC,OAAO,SAAS,CAAC;wBACrB,CAAC;wBAED,MAAM,WAAW,GAAG,SAAS,CAAC,WAAW,CAAC,MAAM,CAA2B,CAAC;wBAC5E,uCAAW,IAAI,KAAE,OAAO,EAAE,WAAW,IAAE;oBAC3C,CAAC;oBAED,sEAAsE;oBACtE,IAAI,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;wBACzD,MAAM,aAAa,GAAG,SAAgB,CAAC;wBACvC,wHAAwH;wBACxH,MAAM,iBAAiB,GAAU,EAAE,CAAC;wBACpC,IAAI,UAAU,GAAG,KAAK,CAAC;wBACvB,MAAM,YAAY,GAAG,IAAI,0CAAuB,CAAyB,IAAI,CAAC,CAAC,CAAC,wBAAwB;wBAExG,KAAK,MAAM,CAAC,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;4BACtC,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;4BAC1B,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gCAChD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,0BAA0B,CAAC,OAAiC,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;gCAC5G,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oCACvB,UAAU,GAAG,IAAI,CAAC;oCAClB,YAAY,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gCACtC,CAAC;qCAAM,CAAC;oCACJ,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,MAAgC,CAAC,CAAC;oCACpF,iBAAiB,CAAC,IAAI,iCAAK,CAAC,KAAE,OAAO,EAAE,gBAAgB,IAAE,CAAC;gCAC9D,CAAC;4BACL,CAAC;iCAAM,CAAC;gCACJ,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAC9B,CAAC;wBACL,CAAC;wBAED,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;4BACjC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;4BACjC,OAAO,SAAS,CAAC;wBACrB,CAAC;wBAED,MAAM,YAAY,GAAQ,UAAU;4BAChC,CAAC,CAAC,SAAS,CAAC,WAAW,iCAAK,aAAa,KAAE,SAAS,EAAE,iBAAiB,IAAE;4BACzE,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;wBAEvC,uCAAW,IAAI,KAAE,OAAO,EAAE,YAAY,IAAE;oBAC5C,CAAC;oBAED,mEAAmE;oBACnE,IAAI,SAAS,EAAE,CAAC;wBACZ,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;wBACxD,uCAAW,IAAI,KAAE,OAAO,EAAE,cAAc,IAAE;oBAC9C,CAAC;oBAED,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAA,CAAC,CAAC;gBAEH,4CAA4C;gBAC5C,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;gBACjE,KAAK,CAAC,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;YAC9D,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEa,aAAa,CACvB,QAAmB,EACnB,eAA4B,EAC5B,SAAsB,EACtB,CAAI;;YAEJ,sEAAsE;YACtE,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;YACpF,CAAC;YAED,iDAAiD;YACjD,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjC,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,2CAA2C;gBAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACtB,OAAO,SAAS,CAAC,CAAC,2BAA2B;gBACjD,CAAC;gBACD,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,yBAAyB;YACzB,IAAI,YAAY,CAAC,IAAI,EAAE,CAAC;gBACpB,MAAM,WAAW,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;gBAC9C,IAAI,WAAW,IAAI,WAAW,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACxD,MAAM,UAAU,GAAG,WAA2B,CAAC;oBAC/C,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;oBAEnC,gDAAgD;oBAChD,IAAI,YAAqB,CAAC;oBAC1B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC5B,kGAAkG;wBAClG,YAAY,GAAG,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;oBACtE,CAAC;yBAAM,CAAC;wBACJ,sEAAsE;wBACtE,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;oBAC7E,CAAC;oBAED,IAAI,YAAY,EAAE,CAAC;wBACf,0DAA0D;wBAC1D,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC;4BAC9B,OAAO,SAAS,CAAC;wBACrB,CAAC;wBACD,4DAA4D;wBAC5D,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,CAAM,KAAK,EAAC,EAAE;;4BACjE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;4BACvB,oFAAoF;4BACpF,8EAA8E;4BAC9E,IAAI,KAAK,CAAC,aAAa,KAAI,MAAA,YAAY,CAAC,IAAI,0CAAE,OAAO,CAAA,EAAE,CAAC;gCACpD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAChD,YAAY,CAAC,aAAa,EAAE,CAAC,EAAE,CAAM,aAAa,EAAC,EAAE;oCACjD,aAAa,CAAC,MAAM,GAAG,YAAY,CAAC,IAAK,CAAC,OAAQ,CAAC,MAAM,CAAC;gCAC9D,CAAC,CAAA,CACJ,CAAC;gCACF,KAAK,CAAC,aAAa,GAAG,eAAe,CAAC;4BAC1C,CAAC;wBACL,CAAC,CAAA,EAAE,CAAC,CAAC,CAAC;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YAED,wBAAwB;YACxB,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;gBAC7B,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,CAAC;gBAEjD,uDAAuD;gBACvD,IAAI,aAAa,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC3C,MAAM,UAAU,GAAG,aAA6B,CAAC;oBACjD,MAAM,IAAI,GAAG,UAAU,CAAC,UAAU,CAAC;oBAEnC,2DAA2D;oBAC3D,2DAA2D;oBAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC5B,+DAA+D;wBAC/D,wCAAwC;wBACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;4BACrD,kDAAkD;4BAClD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gCACrB,OAAO,SAAS,CAAC;4BACrB,CAAC;4BACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;gCAC3D,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;4BACpC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,CAAC;wBACD,gEAAgE;oBACpE,CAAC;yBAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;wBACnE,yDAAyD;wBACzD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;4BACrB,OAAO,SAAS,CAAC;wBACrB,CAAC;wBACD,8CAA8C;wBAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;4BAC3D,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;wBACpC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACV,CAAC;gBACL,CAAC;qBAAM,IAAI,aAAa,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;oBAC9C,oFAAoF;oBACpF,MAAM,KAAK,GAAG,aAAyB,CAAC;oBACxC,MAAM,SAAS,GAAI,KAAK,CAAC,KAAsB,CAAC,UAAU,CAAC;oBAE3D,2DAA2D;oBAC3D,2DAA2D;oBAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC5B,+DAA+D;wBAC/D,wCAAwC;wBACxC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;4BAC/D,kDAAkD;4BAClD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gCACrB,OAAO,SAAS,CAAC;4BACrB,CAAC;4BACD,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;gCAC3D,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;4BACpC,CAAC,EAAE,CAAC,CAAC,CAAC;wBACV,CAAC;wBACD,gEAAgE;oBACpE,CAAC;yBAAM,IAAI,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;wBACxE,yDAAyD;wBACzD,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;4BACrB,OAAO,SAAS,CAAC;wBACrB,CAAC;wBACD,8CAA8C;wBAC9C,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;4BAC3D,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;wBACpC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACV,CAAC;gBACL,CAAC;gBAED,sDAAsD;gBACtD,IAAI,aAAa,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;oBAC9C,MAAM,YAAY,GAAG,aAAgC,CAAC;oBACtD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;oBAEnG,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;wBAC/B,iCAAiC;wBACjC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;4BACrB,qDAAqD;4BACrD,OAAO,SAAS,CAAC;wBACrB,CAAC;wBACD,+CAA+C;wBAC/C,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;4BAC3D,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;wBACpC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACV,CAAC;yBAAM,IAAI,cAAc,KAAK,YAAY,EAAE,CAAC;wBACzC,kCAAkC;wBAClC,OAAO,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE;4BAC3D,KAAK,CAAC,aAAa,GAAG,cAAc,CAAC;wBACzC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAED;;;OAGG;IACW,0BAA0B,CACpC,QAAmB,EACnB,eAA4B,EAC5B,SAAsB,EACtB,CAAI;;;YAEJ,MAAM,WAAW,GAAG,MAAA,QAAQ,CAAC,WAAW,0CAAE,OAAO,CAAC;YAClD,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,MAAM,SAAS,GAAG,WAAiC,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC5D,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,EAAE,CAAC;gBACvD,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,4CAA4C;YAC5C,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YAC3C,IAAI,CAAC,YAAY,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;gBACtC,qDAAqD;gBACrD,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,MAAM,YAAY,GAAI,YAAY,CAAC,IAAI,CAAC,OAAwB,CAAC,UAAU,CAAC;YAE5E,wEAAwE;YACxE,qDAAqD;YACrD,IAAI,IAAI,CAAC,sBAAsB,CAAC,YAAY,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,CAAC;gBACxE,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAED;;OAEG;IACK,aAAa,CAAC,IAAO;;QACzB,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACxC,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,MAAM,SAAS,GAAG,IAA0B,CAAC;QAC7C,OAAO,CAAA,MAAA,SAAS,CAAC,IAAI,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU;YACzC,SAAS,CAAC,IAAqB,CAAC,UAAU,KAAK,SAAS,CAAC;IACrE,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,UAAkB;QAC1C,OAAO,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;OAEG;IACK,sBAAsB,CAAC,IAAY,EAAE,eAA4B,EAAE,SAAsB;QAC7F,2EAA2E;QAC3E,gFAAgF;QAChF,mDAAmD;QACnD,OAAO,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAEa,mBAAmB,CAC7B,YAA6B,EAC7B,eAA4B,EAC5B,SAAsB,EACtB,CAAI;;YAEJ,MAAM,EAAC,QAAQ,EAAE,UAAU,EAAC,GAAG,MAAM,IAAI,CAAC,oCAAoC,CAC1E,YAAY,CAAC,QAAQ,CAAC,QAAQ,EAC9B,CAAC,IAAO,EAAE,EAAE;gBACR,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACxC,MAAM,SAAS,GAAG,IAA0B,CAAC;oBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;oBACjD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;oBAEjD,kDAAkD;oBAClD,4DAA4D;oBAC5D,MAAM,WAAW,GAAG,SAAS,IAAI,UAAU,CAAC;oBAE5C,wCAAwC;oBACxC,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC5B,2DAA2D;wBAC3D,IAAI,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;4BAC7B,4DAA4D;4BAC5D,OAAO,eAAe,CAAC,GAAG,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;wBAC1E,CAAC;wBACD,OAAO,IAAI,CAAC,CAAC,2CAA2C;oBAC5D,CAAC;yBAAM,CAAC;wBACJ,iDAAiD;wBACjD,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;oBAC5E,CAAC;gBACL,CAAC;gBACD,OAAO,IAAI,CAAC,CAAC,oCAAoC;YACrD,CAAC,EACD,CAAO,IAAO,EAAE,MAAe,EAAE,EAAE;gBAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;oBACxC,OAAO,IAAI,CAAC,iBAAiB,CACzB,IAA0B,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;wBACzC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBAC1B,CAAC,CAAA,CACJ,CAAC;gBACN,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAA,EACD,CAAC,CACJ,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC5D,OAAO,YAAY,CAAC,CAAC,aAAa;YACtC,CAAC;YAED,sDAAsD;YACtD,OAAO,IAAI,CAAC,iBAAiB,CAAkB,YAAY,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;gBAC1E,KAAK,CAAC,QAAQ,mCACP,YAAY,CAAC,QAAQ,KACxB,QAAQ,EAAE,QAAe,GAC5B,CAAC;YACN,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEa,0BAA0B,CACpC,QAAgC,EAChC,eAA4B,EAC5B,CAAI;;;YAEJ,oCAAoC;YACpC,IAAI,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClC,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,MAAM,QAAQ,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YAC/C,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACZ,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,MAAM,WAAW,GAAG,MAAA,QAAQ,CAAC,WAAW,0CAAE,OAAO,CAAC;YAClD,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,EAAE,CAAC;gBACnD,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,MAAM,SAAS,GAAG,WAAiC,CAAC;YAEpD,gCAAgC;YAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC;YAC9B,IAAI,CAAC,OAAO,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC;YACpB,CAAC;YAED,mCAAmC;YACnC,IAAI,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,OAAO,GAAI,OAAwB,CAAC,UAAU,CAAC;gBAErD,wEAAwE;gBACxE,MAAM,UAAU,GAAG,IAAI,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAI,UAAU,IAAI,IAAI,CAAC,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtF,OAAO,SAAS,CAAC,CAAC,sCAAsC;gBAC5D,CAAC;YACL,CAAC;YAED,6CAA6C;YAC7C,IAAI,OAAO,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7E,MAAM,aAAa,GAAG,OAAkC,CAAC;gBACzD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,2BAA2B,CAAC,aAAa,EAAE,eAAe,EAAE,CAAC,CAAC,CAAC;gBAEjG,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;oBAC/B,OAAO,SAAS,CAAC,CAAC,wBAAwB;gBAC9C,CAAC;qBAAM,IAAI,cAAc,KAAK,aAAa,EAAE,CAAC;oBAC1C,gCAAgC;oBAChC,OAAO,IAAI,CAAC,WAAW,CAAyB,QAAQ,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;wBACvE,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAC1C,QAAQ,EAAE,CAAC,EAAE,CAAM,UAAU,EAAC,EAAE;4BAC5B,UAAU,CAAC,IAAI,GAAG,cAAc,CAAC;wBACrC,CAAC,CAAA,CACJ,CAAC;wBACF,KAAK,CAAC,SAAS,GAAG,iCAAK,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,KAAE,OAAO,EAAE,eAAe,IAAE,CAAC;oBAC7E,CAAC,CAAA,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;YAED,OAAO,QAAQ,CAAC;QACpB,CAAC;KAAA;IAED;;OAEG;IACK,wBAAwB,CAAC,SAA6B;;QAC1D,MAAM,IAAI,GAAG,MAAA,SAAS,CAAC,SAAS,0CAAE,QAAQ,CAAC;QAC3C,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,OAAO,IAAI,OAAQ,QAAsB,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;YACrG,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,OAAO,MAAC,QAAsB,CAAC,KAAK,0CAAE,QAAQ,EAAE,CAAC;IACrD,CAAC;IAEa,2BAA2B,CACrC,OAAgC,EAChC,eAA4B,EAC5B,CAAI;;YAEJ,MAAM,EAAC,QAAQ,EAAE,UAAU,EAAC,GAAG,MAAM,IAAI,CAAC,oCAAoC,CAC1E,OAAO,CAAC,QAAQ,CAAC,QAAQ,EACzB,CAAC,IAAO,EAAE,EAAE;gBACR,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBACvC,MAAM,IAAI,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAyB,CAAC,CAAC;oBACnE,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBACtE,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACzC,MAAM,IAAI,GAAI,IAAqB,CAAC,UAAU,CAAC;oBAC/C,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;gBACtE,CAAC;gBACD,OAAO,IAAI,CAAC,CAAC,2BAA2B;YAC5C,CAAC,EACD,CAAO,IAAO,EAAE,MAAe,EAAE,EAAE;gBAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClC,OAAO,IAAI,CAAC,WAAW,CACnB,IAAoB,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;wBACnC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBAC1B,CAAC,CAAA,CACJ,CAAC;gBACN,CAAC;qBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;oBAC9C,OAAO,IAAI,CAAC,iBAAiB,CACzB,IAAyB,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;wBACxC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;oBAC1B,CAAC,CAAA,CACJ,CAAC;gBACN,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAA,EACD,CAAC,CACJ,CAAC;YAEF,IAAI,UAAU,EAAE,CAAC;gBACb,OAAO,SAAS,CAAC;YACrB,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;gBACvD,OAAO,OAAO,CAAC;YACnB,CAAC;YAED,OAAO,IAAI,CAAC,iBAAiB,CAA0B,OAAO,EAAE,CAAC,EAAE,CAAM,KAAK,EAAC,EAAE;gBAC7E,KAAK,CAAC,QAAQ,mCACP,OAAO,CAAC,QAAQ,KACnB,QAAQ,EAAE,QAAe,GAC5B,CAAC;YACN,CAAC,CAAA,CAAC,CAAC;QACP,CAAC;KAAA;IAEO,aAAa,CAAC,SAA6B;QAC/C,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;QACjC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,+CAA+C;YAC/C,iCAAiC;YACjC,MAAM,KAAK,GAAG,IAAgB,CAAC;YAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC;YAChD,IAAI,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC3C,OAAQ,YAA6B,CAAC,UAAU,CAAC;YACrD,CAAC;QACL,CAAC;aAAM,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YAC1C,wCAAwC;YACxC,OAAQ,IAAqB,CAAC,UAAU,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,cAAc,CAAC,SAA6B;;QAChD,MAAM,IAAI,GAAG,SAAS,CAAC,SAAS,CAAC;QACjC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,SAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,+CAA+C;YAC/C,8BAA8B;YAC9B,MAAM,KAAK,GAAG,IAAgB,CAAC;YAC/B,IAAI,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC1C,OAAQ,KAAK,CAAC,KAAsB,CAAC,UAAU,CAAC;YACpD,CAAC;QACL,CAAC;QACD,+BAA+B;QAC/B,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,qBAAqB,CAAC,cAAiC;QAC3D,MAAM,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC;QACjC,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnC,OAAQ,IAAqB,CAAC,UAAU,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,CAAC;IACd,CAAC;IAEO,kBAAkB,CACtB,IAAY,EACZ,eAA4B,EAC5B,SAAsB;QAEtB,2EAA2E;QAC3E,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC5B,+DAA+D;YAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACvB,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC;QACD,4EAA4E;QAC5E,kDAAkD;QAElD,qBAAqB;QACrB,OAAO,CAAC,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC/D,CAAC;IAEO,cAAc,CAAC,QAAmB;;QACtC,0DAA0D;QAC1D,MAAM,eAAe,GAAG,MAAA,QAAQ,CAAC,eAAe,0CAAE,OAAO,CAAC;QAC1D,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9D,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,MAAM,OAAO,GAAG,eAA4B,CAAC;QAC7C,MAAM,UAAU,GAAG,MAAA,OAAO,CAAC,KAAK,0CAAE,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEnE,wBAAwB;QACxB,OAAO,UAAU,KAAK,IAAI,CAAC,MAAM,CAAC;IACtC,CAAC;IAED;;OAEG;IACW,kBAAkB,CAC5B,MAAW,EACX,eAA4B,EAC5B,SAAsB;;YAEtB,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO;YAElD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACxB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE,CAAC;oBACrB,sDAAsD;oBACtD,MAAM,IAAI,GAAI,CAAS,CAAC,OAAO,IAAI,CAAC,CAAC;oBACrC,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACzB,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAC9B,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;wBACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;oBAC7E,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC3B,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC;oBAC5B,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAED;;OAEG;IACW,kBAAkB,CAC5B,UAAe,EACf,eAA4B,EAC5B,SAAsB;;YAEtB,IAAI,CAAC,UAAU;gBAAE,OAAO;YAExB,IAAI,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC5B,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;oBAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC;oBACrC,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;oBAC3E,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAED;;OAEG;IACW,mBAAmB,CAC7B,IAAS,EACT,SAAsB;;YAEtB,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAChE,CAAC;QACL,CAAC;KAAA;IAEa,sBAAsB,CAChC,IAAO,EACP,eAA4B,EAC5B,SAAsB;;YAEtB,2DAA2D;YAC3D,yEAAyE;YACzE,6CAA6C;;YAE7C,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAClC,MAAM,UAAU,GAAG,IAAoB,CAAC;gBACxC,eAAe,CAAC,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBACnD,MAAM,QAAQ,GAAG,IAA8B,CAAC;gBAChD,+DAA+D;gBAC/D,MAAM,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACpD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;oBACjC,wBAAwB;oBACxB,IAAI,MAAA,CAAC,CAAC,OAAO,CAAC,WAAW,0CAAE,OAAO,EAAE,CAAC;wBACjC,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;oBACjG,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC/C,MAAM,SAAS,GAAG,IAA0B,CAAC;gBAE7C,gEAAgE;gBAChE,IAAI,CAAA,MAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,OAAO,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;oBACzD,MAAM,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC,OAAwB,CAAC;oBAC9D,IAAI,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBACjD,eAAe,CAAC,GAAG,CAAE,WAAW,CAAC,MAAuB,CAAC,UAAU,CAAC,CAAC;oBACzE,CAAC;gBACL,CAAC;qBAAM,IAAI,CAAA,MAAA,MAAA,SAAS,CAAC,MAAM,0CAAE,OAAO,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBAC/D,iEAAiE;oBACjE,eAAe,CAAC,GAAG,CAAE,SAAS,CAAC,MAAM,CAAC,OAAwB,CAAC,UAAU,CAAC,CAAC;gBAC/E,CAAC;qBAAM,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;oBAC3B,gEAAgE;oBAChE,uEAAuE;oBACvE,IAAI,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC9D,eAAe,CAAC,GAAG,CAAE,SAAS,CAAC,IAAqB,CAAC,UAAU,CAAC,CAAC;oBACrE,CAAC;gBACL,CAAC;gBACD,iFAAiF;gBACjF,0EAA0E;gBAC1E,8BAA8B;gBAC9B,IAAI,SAAS,CAAC,SAAS,EAAE,CAAC;oBACtB,KAAK,MAAM,GAAG,IAAI,SAAS,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;wBAC7C,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;4BACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;wBAC/E,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,wCAAwC;gBACxC,IAAI,MAAA,SAAS,CAAC,MAAM,0CAAE,OAAO,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC5F,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC9C,MAAM,SAAS,GAAG,IAAyB,CAAC;gBAC5C,IAAI,SAAS,CAAC,UAAU,IAAI,CAAA,MAAA,SAAS,CAAC,UAAU,CAAC,OAAO,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACnF,eAAe,CAAC,GAAG,CAAE,SAAS,CAAC,UAAU,CAAC,OAAwB,CAAC,UAAU,CAAC,CAAC;gBACnF,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC1C,2CAA2C;gBAC3C,MAAM,WAAW,GAAG,IAAqB,CAAC;gBAC1C,IAAI,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjD,eAAe,CAAC,GAAG,CAAE,WAAW,CAAC,MAAuB,CAAC,UAAU,CAAC,CAAC;gBACzE,CAAC;gBACD,+BAA+B;gBAC/B,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,sBAAsB,CAAC,WAAW,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACtF,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;gBAC/C,MAAM,EAAE,GAAG,IAA0B,CAAC;gBACtC,KAAK,MAAM,IAAI,IAAI,EAAE,CAAC,UAAU,EAAE,CAAC;oBAC/B,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;wBACvD,6CAA6C;wBAC7C,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,oBAAoB,EAAE,CAAC;4BACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAiC,CAAC;4BACxD,yCAAyC;4BACzC,IAAI,SAAS,GAAG,KAAK,CAAC;4BACtB,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;gCACjC,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC;gCAC3B,IAAI,CAAA,MAAA,MAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,WAAW,0CAAE,OAAO,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;oCACnE,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,CAAC,OAA6B,CAAC;oCACrE,IAAI,CAAA,MAAA,SAAS,CAAC,IAAI,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU;wCACzC,SAAS,CAAC,IAAqB,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;wCAC5D,SAAS,GAAG,IAAI,CAAC;wCACjB,MAAM;oCACV,CAAC;gCACL,CAAC;4BACL,CAAC;4BACD,IAAI,CAAC,SAAS,EAAE,CAAC;gCACb,4CAA4C;gCAC5C,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;4BAChF,CAAC;wBACL,CAAC;6BAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC;4BAClE,4DAA4D;4BAC5D,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;wBAChF,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,2BAA2B;gBAC3B,MAAM,UAAU,GAAG,IAAgB,CAAC;gBACpC,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBACxB,MAAM,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACzF,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,IAAe,CAAC;gBAC9B,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;oBAClC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;oBAChF,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAChD,MAAM,MAAM,GAAG,IAA2B,CAAC;gBAC3C,kCAAkC;gBAClC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;wBAC7C,2DAA2D;wBAC3D,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BAChB,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;wBACjF,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,aAAa;gBACb,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtC,8CAA8C;gBAC9C,MAAM,MAAM,GAAG,IAAiB,CAAC;gBACjC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACrF,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBACzC,wDAAwD;gBACxD,MAAM,SAAS,GAAG,IAAoB,CAAC;gBACvC,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;oBAC3B,MAAM,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,cAAc,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC5F,CAAC;YACL,CAAC;iBAAM,IAAK,IAAY,CAAC,cAAc,EAAE,CAAC;gBACtC,mEAAmE;gBACnE,MAAM,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;gBAChD,kCAAkC;gBAClC,IAAK,IAAY,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,sBAAsB,CAAE,IAAY,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACtF,CAAC;gBACD,IAAK,IAAY,CAAC,WAAW,EAAE,CAAC;oBAC5B,MAAM,IAAI,CAAC,sBAAsB,CAAE,IAAY,CAAC,WAAW,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC7F,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC5E,qCAAqC;gBACrC,MAAM,IAAI,GAAG,IAAW,CAAC;gBACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACnF,CAAC;gBACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC/E,CAAC;gBACD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC7E,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACrC,MAAM,MAAM,GAAG,IAAgB,CAAC;gBAChC,IAAI,MAAA,MAAM,CAAC,UAAU,0CAAE,UAAU,EAAE,CAAC;oBAChC,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC;wBAC/C,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;4BAChB,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;wBACjF,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACd,MAAM,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBAC/E,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtC,0CAA0C;gBAC1C,MAAM,MAAM,GAAG,IAAe,CAAC;gBAC/B,mBAAmB;gBACnB,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;wBACnC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;4BACf,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;wBAChF,CAAC;oBACL,CAAC;gBACL,CAAC;gBACD,iBAAiB;gBACjB,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;oBAClB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAClC,IAAI,KAAK,EAAE,CAAC;4BACR,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;wBACzE,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACrD,uDAAuD;gBACvD,MAAM,QAAQ,GAAG,IAA8B,CAAC;gBAChD,yDAAyD;gBACzD,MAAM,IAAI,GAAG,CAAA,MAAA,QAAQ,CAAC,UAAU,0CAAE,OAAO,KAAI,QAAQ,CAAC,UAAU,CAAC;gBACjE,IAAI,IAAI,EAAE,CAAC;oBACP,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACxE,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC5C,+CAA+C;gBAC/C,MAAM,OAAO,GAAG,IAAW,CAAC;gBAC5B,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;oBAChB,MAAM,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC,KAAK,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACjF,CAAC;YACL,CAAC;iBAAM,IAAK,IAAY,CAAC,UAAU,EAAE,CAAC;gBAClC,4CAA4C;gBAC5C,MAAM,IAAI,CAAC,kBAAkB,CAAE,IAAY,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;YACxF,CAAC;iBAAM,IAAK,IAAY,CAAC,IAAI,EAAE,CAAC;gBAC5B,sCAAsC;gBACtC,MAAM,IAAI,CAAC,sBAAsB,CAAE,IAAY,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;YACtF,CAAC;iBAAM,IAAK,IAAY,CAAC,UAAU,EAAE,CAAC;gBAClC,6DAA6D;gBAC7D,MAAM,IAAI,CAAC,kBAAkB,CAAE,IAAY,CAAC,UAAU,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACpF,sCAAsC;gBACtC,IAAK,IAAY,CAAC,IAAI,EAAE,CAAC;oBACrB,MAAM,IAAI,CAAC,sBAAsB,CAAE,IAAY,CAAC,IAAI,EAAE,eAAe,EAAE,SAAS,CAAC,CAAC;gBACtF,CAAC;YACL,CAAC;QACL,CAAC;KAAA;IAEa,gBAAgB,CAAC,QAAW,EAAE,SAAsB;;;YAC9D,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,SAAS,CAAC,GAAG,CAAE,QAAyB,CAAC,UAAU,CAAC,CAAC;YACzD,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBACpD,MAAM,SAAS,GAAG,QAA+B,CAAC;gBAClD,8EAA8E;gBAC9E,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBAClB,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;gBAC5D,CAAC;gBACD,sGAAsG;gBACtG,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;oBAC3B,KAAK,MAAM,SAAS,IAAI,SAAS,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC;wBACxD,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;4BACpB,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;wBAC9D,CAAC;oBACL,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC9C,0DAA0D;gBAC1D,MAAM,WAAW,GAAG,QAAyB,CAAC;gBAC9C,IAAI,CAAA,MAAA,WAAW,CAAC,MAAM,0CAAE,IAAI,MAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;oBACjD,SAAS,CAAC,GAAG,CAAE,WAAW,CAAC,MAAuB,CAAC,UAAU,CAAC,CAAC;gBACnE,CAAC;qBAAM,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;oBAC5B,2CAA2C;oBAC3C,MAAM,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC/D,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChD,sFAAsF;gBACtF,MAAM,YAAY,GAAG,QAA2B,CAAC;gBACjD,KAAK,MAAM,QAAQ,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;oBACxC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;wBACnB,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;oBAC7D,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;gBAC/C,mEAAmE;gBACnE,MAAM,WAAW,GAAG,QAA0B,CAAC;gBAC/C,gEAAgE;gBAChE,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;oBAChD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;wBACf,6EAA6E;wBAC7E,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,GAAG,EAAE,EAAE,SAAS,CAAC,CAAC;oBAC1E,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;gBAC7C,wDAAwD;gBACxD,MAAM,SAAS,GAAG,QAAwB,CAAC;gBAC3C,IAAI,SAAS,CAAC,cAAc,EAAE,CAAC;oBAC3B,MAAM,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;gBACrE,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC1C,qCAAqC;gBACrC,MAAM,MAAM,GAAG,QAAqB,CAAC;gBACrC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;oBACpB,iEAAiE;oBACjE,wDAAwD;oBACxD,IAAI,MAAM,CAAC,UAAU,CAAC,IAAI,KAAK,QAAC,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;wBAC/C,SAAS,CAAC,GAAG,CAAE,MAAM,CAAC,UAA2B,CAAC,UAAU,CAAC,CAAC;oBAClE,CAAC;yBAAM,CAAC;wBACJ,MAAM,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;oBAC9D,CAAC;gBACL,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACtD,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,QAAiC,CAAC;gBACnD,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;oBACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;gBAChE,CAAC;YACL,CAAC;iBAAM,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5C,kDAAkD;gBAClD,MAAM,QAAQ,GAAG,QAAuB,CAAC;gBACzC,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;oBAC1B,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC;iBAAM,IAAK,QAAgB,CAAC,UAAU,EAAE,CAAC;gBACtC,qDAAqD;gBACrD,MAAM,IAAI,CAAC,gBAAgB,CAAE,QAAgB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YACzE,CAAC;iBAAM,IAAK,QAAgB,CAAC,cAAc,EAAE,CAAC;gBAC1C,yDAAyD;gBACzD,MAAM,IAAI,CAAC,gBAAgB,CAAE,QAAgB,CAAC,cAAc,EAAE,SAAS,CAAC,CAAC;YAC7E,CAAC;YACD,8CAA8C;QAClD,CAAC;KAAA;CACJ;AArgCD,oCAqgCC"}
package/dist/version.txt CHANGED
@@ -1 +1 @@
1
- 8.67.0-20251119-202228
1
+ 8.67.0-20251120-075051
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openrewrite/rewrite",
3
- "version": "8.67.0-20251119-202228",
3
+ "version": "8.67.0-20251120-075051",
4
4
  "license": "Moderne Source Available License",
5
5
  "description": "OpenRewrite JavaScript.",
6
6
  "homepage": "https://github.com/openrewrite/rewrite",
@@ -13,23 +13,30 @@ export enum ImportStyle {
13
13
  }
14
14
 
15
15
  export interface AddImportOptions {
16
- /** The module name (e.g., 'fs') to import from */
17
- target: string;
16
+ /** The module name (e.g., 'fs', 'react') to import from */
17
+ module: string;
18
18
 
19
19
  /** Optionally, the specific member to import from the module.
20
20
  * If not specified, adds a default import or namespace import.
21
21
  * Special values:
22
- * - 'default': Adds a default import from the target module.
23
- * When using 'default', the `alias` parameter is required. */
22
+ * - 'default': Adds a default import from the module.
23
+ * When using 'default', the `alias` parameter is required.
24
+ * Cannot be combined with `sideEffectOnly`. */
24
25
  member?: string;
25
26
 
26
27
  /** Optional alias for the imported member.
27
- * Required when member is 'default'. */
28
+ * Required when member is 'default'.
29
+ * Cannot be combined with `sideEffectOnly`. */
28
30
  alias?: string;
29
31
 
30
- /** If true, only add the import if the member is actually used in the file. Default: true */
32
+ /** If true, only add the import if the member is actually used in the file. Default: true
33
+ * Cannot be combined with `sideEffectOnly`. */
31
34
  onlyIfReferenced?: boolean;
32
35
 
36
+ /** If true, adds a side-effect import without bindings (e.g., `import 'module'` or `require('module')`).
37
+ * Cannot be combined with `member`, `alias`, or `onlyIfReferenced`. */
38
+ sideEffectOnly?: boolean;
39
+
33
40
  /** Optional import style to use. If not specified, auto-detects from file and existing imports */
34
41
  style?: ImportStyle;
35
42
  }
@@ -41,15 +48,19 @@ export interface AddImportOptions {
41
48
  *
42
49
  * @example
43
50
  * // Add a named import
44
- * maybeAddImport(visitor, { target: 'fs', member: 'readFile' });
51
+ * maybeAddImport(visitor, { module: 'fs', member: 'readFile' });
45
52
  *
46
53
  * @example
47
54
  * // Add a default import using the 'default' member specifier
48
- * maybeAddImport(visitor, { target: 'react', member: 'default', alias: 'React' });
55
+ * maybeAddImport(visitor, { module: 'react', member: 'default', alias: 'React' });
49
56
  *
50
57
  * @example
51
58
  * // Add a default import (legacy way, without specifying member)
52
- * maybeAddImport(visitor, { target: 'react', alias: 'React' });
59
+ * maybeAddImport(visitor, { module: 'react', alias: 'React' });
60
+ *
61
+ * @example
62
+ * // Add a side-effect import
63
+ * maybeAddImport(visitor, { module: 'core-js/stable', sideEffectOnly: true });
53
64
  */
54
65
  export function maybeAddImport(
55
66
  visitor: JavaScriptVisitor<any>,
@@ -57,9 +68,10 @@ export function maybeAddImport(
57
68
  ) {
58
69
  for (const v of visitor.afterVisit || []) {
59
70
  if (v instanceof AddImport &&
60
- v.target === options.target &&
71
+ v.module === options.module &&
61
72
  v.member === options.member &&
62
- v.alias === options.alias) {
73
+ v.alias === options.alias &&
74
+ v.sideEffectOnly === (options.sideEffectOnly ?? false)) {
63
75
  return;
64
76
  }
65
77
  }
@@ -67,10 +79,11 @@ export function maybeAddImport(
67
79
  }
68
80
 
69
81
  export class AddImport<P> extends JavaScriptVisitor<P> {
70
- readonly target: string;
82
+ readonly module: string;
71
83
  readonly member?: string;
72
84
  readonly alias?: string;
73
85
  readonly onlyIfReferenced: boolean;
86
+ readonly sideEffectOnly: boolean;
74
87
  readonly style?: ImportStyle;
75
88
 
76
89
  constructor(options: AddImportOptions) {
@@ -81,10 +94,24 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
81
94
  throw new Error("When member is 'default', the alias parameter is required");
82
95
  }
83
96
 
84
- this.target = options.target;
97
+ // Validate that sideEffectOnly is not combined with incompatible options
98
+ if (options.sideEffectOnly) {
99
+ if (options.member !== undefined) {
100
+ throw new Error("Cannot combine sideEffectOnly with member");
101
+ }
102
+ if (options.alias !== undefined) {
103
+ throw new Error("Cannot combine sideEffectOnly with alias");
104
+ }
105
+ if (options.onlyIfReferenced !== undefined) {
106
+ throw new Error("Cannot combine sideEffectOnly with onlyIfReferenced");
107
+ }
108
+ }
109
+
110
+ this.module = options.module;
85
111
  this.member = options.member;
86
112
  this.alias = options.alias;
87
113
  this.onlyIfReferenced = options.onlyIfReferenced ?? true;
114
+ this.sideEffectOnly = options.sideEffectOnly ?? false;
88
115
  this.style = options.style;
89
116
  }
90
117
 
@@ -238,7 +265,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
238
265
  if (moduleSpecifier) {
239
266
  const moduleName = this.getModuleName(moduleSpecifier);
240
267
 
241
- if (moduleName === this.target) {
268
+ if (moduleName === this.module) {
242
269
  const importClause = jsImport.importClause;
243
270
  if (importClause?.namedBindings) {
244
271
  if (importClause.namedBindings.kind === JS.Kind.NamedImports) {
@@ -264,7 +291,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
264
291
  if (initializer?.kind === J.Kind.MethodInvocation &&
265
292
  this.isRequireCall(initializer as J.MethodInvocation)) {
266
293
  const moduleName = this.getModuleNameFromRequire(initializer as J.MethodInvocation);
267
- if (moduleName === this.target) {
294
+ if (moduleName === this.module) {
268
295
  return ImportStyle.CommonJS;
269
296
  }
270
297
  }
@@ -283,7 +310,8 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
283
310
  }
284
311
 
285
312
  // If onlyIfReferenced is true, check if the identifier is actually used
286
- if (this.onlyIfReferenced) {
313
+ // Skip this check for side-effect imports
314
+ if (!this.sideEffectOnly && this.onlyIfReferenced) {
287
315
  const isReferenced = await this.checkIdentifierReferenced(compilationUnit);
288
316
  if (!isReferenced) {
289
317
  return compilationUnit;
@@ -294,8 +322,8 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
294
322
  const importStyle = this.determineImportStyle(compilationUnit);
295
323
 
296
324
  // For ES6 named imports, check if we can merge into an existing import from the same module
297
- // Don't try to merge default imports (member === 'default')
298
- if (importStyle === ImportStyle.ES6Named && this.member !== undefined && this.member !== 'default') {
325
+ // Don't try to merge default imports (member === 'default') or side-effect imports
326
+ if (!this.sideEffectOnly && importStyle === ImportStyle.ES6Named && this.member !== undefined && this.member !== 'default') {
299
327
  const mergedCu = await this.tryMergeIntoExistingImport(compilationUnit, p);
300
328
  if (mergedCu !== compilationUnit) {
301
329
  return mergedCu;
@@ -393,7 +421,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
393
421
  const moduleName = this.getModuleName(moduleSpecifier);
394
422
 
395
423
  // Check if this is an import from our target module
396
- if (moduleName !== this.target) {
424
+ if (moduleName !== this.module) {
397
425
  continue;
398
426
  }
399
427
 
@@ -487,12 +515,21 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
487
515
  }
488
516
 
489
517
  const moduleName = this.getModuleName(moduleSpecifier);
490
- if (moduleName !== this.target) {
518
+ if (moduleName !== this.module) {
491
519
  return false;
492
520
  }
493
521
 
494
522
  const importClause = jsImport.importClause;
523
+
524
+ // Handle side-effect imports (no import clause)
495
525
  if (!importClause) {
526
+ // If we're trying to add a side-effect import and one already exists, it's a match
527
+ return this.sideEffectOnly;
528
+ }
529
+
530
+ // If we're adding a side-effect import but there's an existing import with bindings,
531
+ // it's not a match (side-effect import should be separate)
532
+ if (this.sideEffectOnly) {
496
533
  return false;
497
534
  }
498
535
 
@@ -559,7 +596,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
559
596
  }
560
597
 
561
598
  const moduleName = this.getModuleNameFromRequire(methodInv);
562
- if (moduleName !== this.target) {
599
+ if (moduleName !== this.module) {
563
600
  return false;
564
601
  }
565
602
 
@@ -645,7 +682,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
645
682
  await collector.visit(compilationUnit, new ExecutionContext());
646
683
 
647
684
  // Check if our target import is used based on type attribution
648
- const moduleMembers = usedImports.get(this.target);
685
+ const moduleMembers = usedImports.get(this.module);
649
686
  if (!moduleMembers) {
650
687
  return false;
651
688
  }
@@ -662,20 +699,26 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
662
699
  const prefix = this.determineImportPrefix(compilationUnit, insertionIndex);
663
700
 
664
701
  // Create the module specifier
702
+ // For side-effect imports, use emptySpace since space comes from LeftPadded.before
703
+ // For regular imports with import clause, use emptySpace since space comes from LeftPadded.before
704
+ // However, the printer expects the space after 'from' in the literal's prefix
665
705
  const moduleSpecifier: J.Literal = {
666
706
  id: randomId(),
667
707
  kind: J.Kind.Literal,
668
- prefix: singleSpace,
708
+ prefix: this.sideEffectOnly ? emptySpace : singleSpace,
669
709
  markers: emptyMarkers,
670
- value: `'${this.target}'`,
671
- valueSource: `'${this.target}'`,
710
+ value: `'${this.module}'`,
711
+ valueSource: `'${this.module}'`,
672
712
  unicodeEscapes: [],
673
713
  type: undefined
674
714
  };
675
715
 
676
716
  let importClause: JS.ImportClause | undefined;
677
717
 
678
- if (this.member === undefined || this.member === 'default') {
718
+ if (this.sideEffectOnly) {
719
+ // Side-effect import: import 'module'
720
+ importClause = undefined;
721
+ } else if (this.member === undefined || this.member === 'default') {
679
722
  // Default import: import target from 'module'
680
723
  // or: import alias from 'module' (when member === 'default')
681
724
  const defaultName: J.Identifier = {
@@ -684,7 +727,7 @@ export class AddImport<P> extends JavaScriptVisitor<P> {
684
727
  prefix: singleSpace,
685
728
  markers: emptyMarkers,
686
729
  annotations: [],
687
- simpleName: this.alias || this.target,
730
+ simpleName: this.alias || this.module,
688
731
  type: undefined,
689
732
  fieldType: undefined
690
733
  };
@@ -6,16 +6,16 @@ import {ElementRemovalFormatter} from "../java/formatting-utils";
6
6
 
7
7
  /**
8
8
  * @param visitor The visitor to add the import removal to
9
- * @param target Either the module name (e.g., 'fs') to remove specific members from,
10
- * or the name of the import to remove entirely
9
+ * @param module The module name (e.g., 'fs', 'react') to remove imports from
11
10
  * @param member Optionally, the specific member to remove from the import.
12
- * If not specified, removes the import matching `target`.
11
+ * If not specified, removes all unused imports from the module.
13
12
  * Special values:
14
- * - 'default': Removes the default import from the target module if unused,
13
+ * - 'default': Removes the default import from the module if unused,
15
14
  * regardless of its local name (e.g., `import React from 'react'`)
15
+ * - '*': Removes the namespace import if unused (e.g., `import * as fs from 'fs'`)
16
16
  *
17
17
  * @example
18
- * // Remove a named import if unused
18
+ * // Remove a specific named import if unused
19
19
  * maybeRemoveImport(visitor, 'fs', 'readFile');
20
20
  *
21
21
  * @example
@@ -23,16 +23,20 @@ import {ElementRemovalFormatter} from "../java/formatting-utils";
23
23
  * maybeRemoveImport(visitor, 'react', 'default');
24
24
  *
25
25
  * @example
26
- * // Remove an import by name if unused (no module specified)
27
- * maybeRemoveImport(visitor, 'fs');
26
+ * // Remove all unused imports from 'react' module
27
+ * maybeRemoveImport(visitor, 'react');
28
+ *
29
+ * @example
30
+ * // Remove namespace import if unused
31
+ * maybeRemoveImport(visitor, 'fs', '*');
28
32
  */
29
- export function maybeRemoveImport(visitor: JavaScriptVisitor<any>, target: string, member?: string) {
33
+ export function maybeRemoveImport(visitor: JavaScriptVisitor<any>, module: string, member?: string) {
30
34
  for (const v of visitor.afterVisit || []) {
31
- if (v instanceof RemoveImport && v.target === target && v.member === member) {
35
+ if (v instanceof RemoveImport && v.module === module && v.member === member) {
32
36
  return;
33
37
  }
34
38
  }
35
- visitor.afterVisit.push(new RemoveImport(target, member));
39
+ visitor.afterVisit.push(new RemoveImport(module, member));
36
40
  }
37
41
 
38
42
  // Type alias for RightPadded elements to simplify type signatures
@@ -45,15 +49,15 @@ type RightPaddedElement<T extends J> = {
45
49
 
46
50
  export class RemoveImport<P> extends JavaScriptVisitor<P> {
47
51
  /**
48
- * @param target Either the module name (e.g., 'fs') to remove specific members from,
49
- * or the name of the import to remove entirely
52
+ * @param module The module name (e.g., 'fs', 'react') to remove imports from
50
53
  * @param member Optionally, the specific member to remove from the import.
51
- * If not specified, removes the import matching `target`.
54
+ * If not specified, removes all unused imports from the module.
52
55
  * Special values:
53
- * - 'default': Removes the default import from the target module if unused,
56
+ * - 'default': Removes the default import from the module if unused,
54
57
  * regardless of its local name
58
+ * - '*': Removes the namespace import if unused
55
59
  */
56
- constructor(readonly target: string,
60
+ constructor(readonly module: string,
57
61
  readonly member?: string) {
58
62
  super();
59
63
  }
@@ -245,7 +249,7 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
245
249
  const name = identifier.simpleName;
246
250
 
247
251
  // Check if we should remove this default import
248
- let shouldRemove = false;
252
+ let shouldRemove: boolean;
249
253
  if (this.member === 'default') {
250
254
  // Special case: member 'default' means remove any default import from the target module if unused
251
255
  shouldRemove = !usedIdentifiers.has(name) && !usedTypes.has(name);
@@ -425,22 +429,17 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
425
429
  * Check if the module name matches the target module
426
430
  */
427
431
  private matchesTargetModule(moduleName: string): boolean {
428
- return this.member === undefined ? moduleName === this.target : moduleName === this.target;
432
+ return moduleName === this.module;
429
433
  }
430
434
 
431
435
  /**
432
436
  * Check if an identifier should be removed based on usage
433
437
  */
434
438
  private shouldRemoveIdentifier(name: string, usedIdentifiers: Set<string>, usedTypes: Set<string>): boolean {
435
- // If member is specified, we're removing a specific member
436
- if (this.member !== undefined) {
437
- // Only remove if the identifier is not used
438
- return !usedIdentifiers.has(name) && !usedTypes.has(name);
439
- } else {
440
- // We're removing based on the target name
441
- // Check if the name matches and is not used
442
- return this.target === name && !usedIdentifiers.has(name) && !usedTypes.has(name);
443
- }
439
+ // For CommonJS and import-equals-require, we're removing the entire import
440
+ // if the identifier is not used (member is typically undefined for these cases,
441
+ // or we're checking if a specific binding is used)
442
+ return !usedIdentifiers.has(name) && !usedTypes.has(name);
444
443
  }
445
444
 
446
445
  private async processNamedImports(
@@ -681,40 +680,32 @@ export class RemoveImport<P> extends JavaScriptVisitor<P> {
681
680
  usedIdentifiers: Set<string>,
682
681
  usedTypes: Set<string>
683
682
  ): boolean {
684
- // If member is specified, we're removing a specific member from a module
683
+ // If member is specified, we're removing a specific member from the module
685
684
  if (this.member !== undefined) {
686
685
  // Only remove if this is the specific member we're looking for
687
686
  if (this.member !== name) {
688
687
  return false;
689
688
  }
690
- } else {
691
- // If no member specified, we're removing based on the import name itself
692
- if (this.target !== name) {
693
- return false;
694
- }
695
689
  }
690
+ // If no member specified, we're removing all unused imports from the module
691
+ // So we check if this particular import is unused
696
692
 
697
693
  // Check if it's used
698
694
  return !(usedIdentifiers.has(name) || usedTypes.has(name));
699
695
  }
700
696
 
701
697
  private isTargetModule(jsImport: JS.Import): boolean {
702
- // If member is specified, we're looking for imports from a specific module
703
- if (this.member !== undefined) {
704
- const moduleSpecifier = jsImport.moduleSpecifier?.element;
705
- if (!moduleSpecifier || moduleSpecifier.kind !== J.Kind.Literal) {
706
- return false;
707
- }
708
-
709
- const literal = moduleSpecifier as J.Literal;
710
- const moduleName = literal.value?.toString().replace(/['"`]/g, '');
711
-
712
- // Match the module name
713
- return moduleName === this.target;
698
+ // Always check if the import is from the specified module
699
+ const moduleSpecifier = jsImport.moduleSpecifier?.element;
700
+ if (!moduleSpecifier || moduleSpecifier.kind !== J.Kind.Literal) {
701
+ return false;
714
702
  }
715
703
 
716
- // If no member specified, we process all imports to check their names
717
- return true;
704
+ const literal = moduleSpecifier as J.Literal;
705
+ const moduleName = literal.value?.toString().replace(/['"`]/g, '');
706
+
707
+ // Match the module name
708
+ return moduleName === this.module;
718
709
  }
719
710
 
720
711
  /**