@ts-for-gir/lib 3.0.0-beta.11 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/lib/conflict-resolver.d.ts +1 -0
  2. package/lib/conflict-resolver.js +20 -6
  3. package/lib/conflict-resolver.js.map +1 -1
  4. package/lib/constants.d.ts +7 -3
  5. package/lib/constants.js +14 -2
  6. package/lib/constants.js.map +1 -1
  7. package/lib/dependency-manager.d.ts +52 -3
  8. package/lib/dependency-manager.js +138 -18
  9. package/lib/dependency-manager.js.map +1 -1
  10. package/lib/gir-module.d.ts +12 -5
  11. package/lib/gir-module.js +52 -25
  12. package/lib/gir-module.js.map +1 -1
  13. package/lib/index.d.ts +3 -1
  14. package/lib/index.js +3 -1
  15. package/lib/index.js.map +1 -1
  16. package/lib/injection/classes/gjs/gio-2.0.d.ts +5 -0
  17. package/lib/injection/classes/gjs/gio-2.0.js +218 -0
  18. package/lib/injection/classes/gjs/gio-2.0.js.map +1 -0
  19. package/lib/injection/classes/gjs/glib-2.0.d.ts +2 -0
  20. package/lib/injection/classes/gjs/glib-2.0.js +205 -0
  21. package/lib/injection/classes/gjs/glib-2.0.js.map +1 -0
  22. package/lib/injection/classes/gjs/gobject-2.0.d.ts +2 -0
  23. package/lib/injection/classes/gjs/gobject-2.0.js +634 -0
  24. package/lib/injection/classes/gjs/gobject-2.0.js.map +1 -0
  25. package/lib/injection/classes/gjs/index.js +3 -3
  26. package/lib/injection/classes/glib-2.0.d.ts +2 -0
  27. package/lib/injection/classes/glib-2.0.js +35 -0
  28. package/lib/injection/classes/glib-2.0.js.map +1 -0
  29. package/lib/injection/classes/index.js +1 -1
  30. package/lib/injection/classes/node-gtk/gdk-4.0.d.ts +2 -0
  31. package/lib/injection/classes/node-gtk/gdk-4.0.js +32 -0
  32. package/lib/injection/classes/node-gtk/gdk-4.0.js.map +1 -0
  33. package/lib/injection/classes/node-gtk/gio-2.0.d.ts +2 -0
  34. package/lib/injection/classes/node-gtk/gio-2.0.js +14 -0
  35. package/lib/injection/classes/node-gtk/gio-2.0.js.map +1 -0
  36. package/lib/injection/classes/node-gtk/glib-2.0.d.ts +2 -0
  37. package/lib/injection/classes/node-gtk/glib-2.0.js +19 -0
  38. package/lib/injection/classes/node-gtk/glib-2.0.js.map +1 -0
  39. package/lib/injection/classes/node-gtk/gobject-2.0.d.ts +2 -0
  40. package/lib/injection/classes/node-gtk/gobject-2.0.js +66 -0
  41. package/lib/injection/classes/node-gtk/gobject-2.0.js.map +1 -0
  42. package/lib/injection/classes/node-gtk/graphene-1.0.d.ts +2 -0
  43. package/lib/injection/classes/node-gtk/graphene-1.0.js +133 -0
  44. package/lib/injection/classes/node-gtk/graphene-1.0.js.map +1 -0
  45. package/lib/injection/classes/node-gtk/gtk-3.0.d.ts +2 -0
  46. package/lib/injection/classes/node-gtk/gtk-3.0.js +31 -0
  47. package/lib/injection/classes/node-gtk/gtk-3.0.js.map +1 -0
  48. package/lib/injection/classes/node-gtk/gtk-4.0.d.ts +2 -0
  49. package/lib/injection/classes/node-gtk/gtk-4.0.js +52 -0
  50. package/lib/injection/classes/node-gtk/gtk-4.0.js.map +1 -0
  51. package/lib/injection/classes/node-gtk/index.js +8 -8
  52. package/lib/injection/classes/node-gtk/pango-1.0.d.ts +2 -0
  53. package/lib/injection/classes/node-gtk/pango-1.0.js +31 -0
  54. package/lib/injection/classes/node-gtk/pango-1.0.js.map +1 -0
  55. package/lib/library-version.d.ts +8 -0
  56. package/lib/library-version.js +32 -0
  57. package/lib/library-version.js.map +1 -0
  58. package/lib/messages.d.ts +0 -2
  59. package/lib/messages.js +1 -3
  60. package/lib/messages.js.map +1 -1
  61. package/lib/package-data-parser.d.ts +13 -0
  62. package/lib/package-data-parser.js +67 -0
  63. package/lib/package-data-parser.js.map +1 -0
  64. package/lib/package-data.d.ts +9 -0
  65. package/lib/package-data.js +41 -0
  66. package/lib/package-data.js.map +1 -0
  67. package/lib/symtable.js +2 -1
  68. package/lib/symtable.js.map +1 -1
  69. package/lib/template-processor.d.ts +59 -19
  70. package/lib/template-processor.js +128 -41
  71. package/lib/template-processor.js.map +1 -1
  72. package/lib/transformation.d.ts +52 -29
  73. package/lib/transformation.js +101 -73
  74. package/lib/transformation.js.map +1 -1
  75. package/lib/types/construct-name.d.ts +1 -1
  76. package/lib/types/dependency.d.ts +17 -2
  77. package/lib/types/generate-config.d.ts +9 -2
  78. package/lib/types/gir-callable-param-element.d.ts +7 -5
  79. package/lib/types/gir-direction.d.ts +3 -1
  80. package/lib/types/gir-direction.js +2 -0
  81. package/lib/types/gir-direction.js.map +1 -1
  82. package/lib/types/gir-instance-parameter.d.ts +2 -0
  83. package/lib/types/gir-property-element.d.ts +2 -0
  84. package/lib/types/gir-transfer-ownership.d.ts +5 -1
  85. package/lib/types/index.d.ts +5 -0
  86. package/lib/types/index.js +5 -0
  87. package/lib/types/index.js.map +1 -1
  88. package/lib/types/module-type.d.ts +1 -1
  89. package/lib/types/package-data-parsed.d.ts +28 -0
  90. package/lib/types/package-data-parsed.js +2 -0
  91. package/lib/types/package-data-parsed.js.map +1 -0
  92. package/lib/types/package-data.d.ts +23 -0
  93. package/lib/types/package-data.js +2 -0
  94. package/lib/types/package-data.js.map +1 -0
  95. package/lib/types/package-section-parsed.d.ts +8 -0
  96. package/lib/types/package-section-parsed.js +2 -0
  97. package/lib/types/package-section-parsed.js.map +1 -0
  98. package/lib/types/package-section.d.ts +8 -0
  99. package/lib/types/package-section.js +2 -0
  100. package/lib/types/package-section.js.map +1 -0
  101. package/lib/types/parsed-package-data.d.ts +6 -0
  102. package/lib/types/parsed-package-data.js +2 -0
  103. package/lib/types/parsed-package-data.js.map +1 -0
  104. package/lib/types/template-data.d.ts +7 -0
  105. package/lib/types/template-data.js +2 -0
  106. package/lib/types/template-data.js.map +1 -0
  107. package/lib/types/transformation-case.d.ts +1 -1
  108. package/lib/types/transformations.d.ts +1 -1
  109. package/lib/types/user-config.d.ts +6 -2
  110. package/lib/utils.d.ts +38 -17
  111. package/lib/utils.js +85 -33
  112. package/lib/utils.js.map +1 -1
  113. package/package.json +20 -19
  114. package/templates/README.md +102 -0
  115. package/templates/gjs/README-GJS.md +109 -0
  116. package/templates/gjs/ambient.d.ts +59 -0
  117. package/templates/gjs/cairo-1.0.d.ts +9 -0
  118. package/templates/gjs/cairo.d.ts +8 -0
  119. package/templates/gjs/cairo.js +11 -0
  120. package/templates/gjs/gettext.d.ts +41 -0
  121. package/templates/gjs/gettext.js +11 -0
  122. package/templates/{Gjs/Gio-2.0.d.ts → gjs/gio-2.0.d.ts} +1 -1
  123. package/templates/{Gjs/index.d.ts → gjs/gjs.d.ts} +221 -58
  124. package/templates/gjs/gjs.js +10 -0
  125. package/templates/{Gjs/GObject-2.0.d.ts → gjs/gobject-2.0.d.ts} +1 -1
  126. package/templates/gjs/module-ambient.d.ts +31 -0
  127. package/templates/gjs/module-import.d.ts +33 -0
  128. package/templates/gjs/module.append.d.ts +1 -0
  129. package/templates/gjs/module.d.ts +12 -0
  130. package/templates/gjs/module.js +17 -0
  131. package/templates/gjs/system.d.ts +32 -0
  132. package/templates/gjs/system.js +11 -0
  133. package/templates/gjs/tsconfig.alias.json +12 -0
  134. package/templates/node-gtk/README-NODE-GTK.md +71 -0
  135. package/templates/node-gtk/ambient.d.ts +19 -0
  136. package/templates/node-gtk/module-import.d.ts +29 -0
  137. package/templates/node-gtk/module.append.d.ts +1 -0
  138. package/templates/node-gtk/module.d.ts +4 -0
  139. package/templates/node-gtk/module.js +2 -1
  140. package/templates/node-gtk/node-gtk.d.ts +25 -0
  141. package/templates/node-gtk/{index.js → node-gtk.js} +0 -2
  142. package/templates/package.json +173 -0
  143. package/templates/tsconfig.doc.json +30 -0
  144. package/templates/Gjs/Gjs.d.ts +0 -204
  145. package/templates/Gjs/Gjs.js +0 -21
  146. package/templates/Gjs/GnomeShell.d.ts +0 -154
  147. package/templates/Gjs/GnomeShell.js +0 -10
  148. package/templates/Gjs/index.js +0 -4
  149. package/templates/Gjs/misc/dbusUtils.d.ts +0 -15
  150. package/templates/Gjs/misc/dbusUtils.js +0 -6
  151. package/templates/Gjs/misc/extensionUtils.d.ts +0 -99
  152. package/templates/Gjs/misc/extensionUtils.js +0 -6
  153. package/templates/Gjs/misc/fileUtils.d.ts +0 -51
  154. package/templates/Gjs/misc/fileUtils.js +0 -6
  155. package/templates/Gjs/misc/gnomeSession.d.ts +0 -74
  156. package/templates/Gjs/misc/gnomeSession.js +0 -6
  157. package/templates/Gjs/misc/parentalControlsManager.d.ts +0 -42
  158. package/templates/Gjs/misc/parentalControlsManager.js +0 -6
  159. package/templates/Gjs/misc/signals.d.ts +0 -15
  160. package/templates/Gjs/misc/signals.js +0 -6
  161. package/templates/Gjs/module.d.ts +0 -6
  162. package/templates/Gjs/module.js +0 -16
  163. package/templates/Gjs/tsconfig.alias.json +0 -10
  164. package/templates/Gjs/ui/accessDialog.d.ts +0 -19
  165. package/templates/Gjs/ui/accessDialog.js +0 -6
  166. package/templates/Gjs/ui/altTab.d.ts +0 -124
  167. package/templates/Gjs/ui/altTab.js +0 -6
  168. package/templates/Gjs/ui/animation.d.ts +0 -58
  169. package/templates/Gjs/ui/animation.js +0 -6
  170. package/templates/Gjs/ui/appDisplay.d.ts +0 -204
  171. package/templates/Gjs/ui/appDisplay.js +0 -6
  172. package/templates/Gjs/ui/appFavorites.d.ts +0 -34
  173. package/templates/Gjs/ui/appFavorites.js +0 -6
  174. package/templates/Gjs/ui/appMenu.d.ts +0 -74
  175. package/templates/Gjs/ui/appMenu.js +0 -6
  176. package/templates/Gjs/ui/audioDeviceSelection.d.ts +0 -51
  177. package/templates/Gjs/ui/audioDeviceSelection.js +0 -6
  178. package/templates/Gjs/ui/background.d.ts +0 -255
  179. package/templates/Gjs/ui/background.js +0 -5
  180. package/templates/Gjs/ui/backgroundMenu.d.ts +0 -19
  181. package/templates/Gjs/ui/backgroundMenu.js +0 -5
  182. package/templates/Gjs/ui/barLevel.d.ts +0 -42
  183. package/templates/Gjs/ui/barLevel.js +0 -5
  184. package/templates/Gjs/ui/boxpointer.d.ts +0 -103
  185. package/templates/Gjs/ui/boxpointer.js +0 -5
  186. package/templates/Gjs/ui/calendar.d.ts +0 -261
  187. package/templates/Gjs/ui/calendar.js +0 -5
  188. package/templates/Gjs/ui/checkBox.d.ts +0 -22
  189. package/templates/Gjs/ui/checkBox.js +0 -5
  190. package/templates/Gjs/ui/closeDialog.d.ts +0 -40
  191. package/templates/Gjs/ui/closeDialog.js +0 -5
  192. package/templates/Gjs/ui/components/__init__.d.ts +0 -9
  193. package/templates/Gjs/ui/components/__init__.js +0 -6
  194. package/templates/Gjs/ui/components/automountManager.d.ts +0 -8
  195. package/templates/Gjs/ui/components/automountManager.js +0 -6
  196. package/templates/Gjs/ui/components/autorunManager.d.ts +0 -8
  197. package/templates/Gjs/ui/components/autorunManager.js +0 -6
  198. package/templates/Gjs/ui/components/index.d.ts +0 -6
  199. package/templates/Gjs/ui/components/index.js +0 -6
  200. package/templates/Gjs/ui/components/keyring.d.ts +0 -19
  201. package/templates/Gjs/ui/components/keyring.js +0 -6
  202. package/templates/Gjs/ui/components/networkAgent.d.ts +0 -10
  203. package/templates/Gjs/ui/components/networkAgent.js +0 -6
  204. package/templates/Gjs/ui/components/polkitAgent.d.ts +0 -19
  205. package/templates/Gjs/ui/components/polkitAgent.js +0 -6
  206. package/templates/Gjs/ui/components/telepathyClient.d.ts +0 -10
  207. package/templates/Gjs/ui/components/telepathyClient.js +0 -6
  208. package/templates/Gjs/ui/dialog.d.ts +0 -78
  209. package/templates/Gjs/ui/dialog.js +0 -6
  210. package/templates/Gjs/ui/dnd.d.ts +0 -127
  211. package/templates/Gjs/ui/dnd.js +0 -6
  212. package/templates/Gjs/ui/iconGrid.d.ts +0 -172
  213. package/templates/Gjs/ui/iconGrid.js +0 -6
  214. package/templates/Gjs/ui/layout.d.ts +0 -311
  215. package/templates/Gjs/ui/layout.js +0 -6
  216. package/templates/Gjs/ui/main.d.ts +0 -215
  217. package/templates/Gjs/ui/main.js +0 -6
  218. package/templates/Gjs/ui/messageList.d.ts +0 -113
  219. package/templates/Gjs/ui/messageList.js +0 -6
  220. package/templates/Gjs/ui/messageTray.d.ts +0 -423
  221. package/templates/Gjs/ui/messageTray.js +0 -6
  222. package/templates/Gjs/ui/modalDialog.d.ts +0 -96
  223. package/templates/Gjs/ui/modalDialog.js +0 -6
  224. package/templates/Gjs/ui/mpris.d.ts +0 -78
  225. package/templates/Gjs/ui/mpris.js +0 -6
  226. package/templates/Gjs/ui/notificationDaemon.d.ts +0 -5
  227. package/templates/Gjs/ui/notificationDaemon.js +0 -6
  228. package/templates/Gjs/ui/panel.d.ts +0 -65
  229. package/templates/Gjs/ui/panel.js +0 -6
  230. package/templates/Gjs/ui/panelMenu.d.ts +0 -51
  231. package/templates/Gjs/ui/panelMenu.js +0 -6
  232. package/templates/Gjs/ui/popupMenu.d.ts +0 -228
  233. package/templates/Gjs/ui/popupMenu.js +0 -6
  234. package/templates/Gjs/ui/ripples.d.ts +0 -44
  235. package/templates/Gjs/ui/ripples.js +0 -6
  236. package/templates/Gjs/ui/search.d.ts +0 -158
  237. package/templates/Gjs/ui/search.js +0 -6
  238. package/templates/Gjs/ui/switcherPopup.d.ts +0 -107
  239. package/templates/Gjs/ui/switcherPopup.js +0 -6
  240. package/templates/Gjs/ui/userWidget.d.ts +0 -13
  241. package/templates/Gjs/ui/userWidget.js +0 -6
  242. package/templates/node-gtk/index.d.ts +0 -40
  243. /package/templates/{Cogl-2.0.d.ts → cogl-2-0.d.ts} +0 -0
  244. /package/templates/{Granite-1.0.d.ts → granite-1.0.d.ts} +0 -0
  245. /package/templates/{Granite-7.0.d.ts → granite-7.0.d.ts} +0 -0
  246. /package/templates/{GstBase-0.10.d.ts → gstbase-0.10.d.ts} +0 -0
  247. /package/templates/node-gtk/{GObject-2.0.d.ts → gobject-2.0.d.ts} +0 -0
  248. /package/templates/{RygelServer-2.6.d.ts → rygelserver-2.6.d.ts} +0 -0
@@ -29,6 +29,7 @@ export declare class ConflictResolver {
29
29
  private tsElementIsPropertyOrVariable;
30
30
  private tsElementIsStatic;
31
31
  private typeIsString;
32
+ private tsTypeIsEqual;
32
33
  private mergeTypes;
33
34
  private setTypesProperty;
34
35
  /**
@@ -1,8 +1,9 @@
1
1
  import { GirFactory } from './gir-factory.js';
2
2
  import { Logger } from './logger.js';
3
3
  import { NO_TSDATA } from './messages.js';
4
- import { isEqual, merge, clone, typeIsOptional } from './utils.js';
4
+ import { isEqual, merge, clone, typesContainsOptional } from './utils.js';
5
5
  import { SIGNAL_METHOD_NAMES, MAX_CLASS_PARENT_DEPTH } from './constants.js';
6
+ import { GirDirection } from './types/gir-direction.js';
6
7
  /**
7
8
  * Resolve conflicts between types caused by overloads / inheritances and implementations
8
9
  * With multiple implementations or a inherit it can happen that the interfaces / parent have the same method and/or property names with incompatible types,
@@ -187,12 +188,25 @@ export class ConflictResolver {
187
188
  (type.type.startsWith("'") && type.type.endsWith("'")) ||
188
189
  (type.type.startsWith('"') && type.type.endsWith('"')));
189
190
  }
191
+ tsTypeIsEqual(a, b) {
192
+ return (a &&
193
+ b &&
194
+ a.optional === b.optional &&
195
+ a.nullable === b.nullable &&
196
+ a.type === b.type &&
197
+ a.isArray === b.isArray &&
198
+ a.isFunction === b.isFunction &&
199
+ a.isCallback === b.isCallback &&
200
+ a.leftSeparator === b.leftSeparator &&
201
+ isEqual(a.callbacks, b.callbacks) &&
202
+ isEqual(a.generics, b.generics));
203
+ }
190
204
  mergeTypes(leftSeparator, ...types) {
191
205
  const dest = [];
192
206
  for (const type of types) {
193
207
  if (!type)
194
208
  continue;
195
- if (!dest.find((destType) => isEqual(destType, type))) {
209
+ if (!dest.find((destType) => this.tsTypeIsEqual(destType, type))) {
196
210
  dest.push({ ...type, leftSeparator });
197
211
  }
198
212
  }
@@ -234,7 +248,7 @@ export class ConflictResolver {
234
248
  // If `a` or `b` is undefined make the types optional
235
249
  dest._tsData.type = this.setTypesProperty(dest._tsData.type, 'optional', true);
236
250
  }
237
- if (typeIsOptional(dest._tsData.type)) {
251
+ if (typesContainsOptional(dest._tsData.type)) {
238
252
  dest._tsData.type = this.setTypesProperty(dest._tsData.type, 'optional', true);
239
253
  }
240
254
  return dest;
@@ -276,9 +290,9 @@ export class ConflictResolver {
276
290
  .slice(index)
277
291
  .filter((p) => !!p._tsData)
278
292
  .filter(() => !skip.includes(girParam))
279
- .filter((p) => p.$.direction !== 'out')
293
+ .filter((p) => p.$.direction !== GirDirection.Out)
280
294
  .map((p) => p._tsData);
281
- if (following.some((p) => p && !typeIsOptional(p.type))) {
295
+ if (following.some((p) => p && !typesContainsOptional(p.type))) {
282
296
  canBeOptional = false;
283
297
  }
284
298
  return canBeOptional;
@@ -292,7 +306,7 @@ export class ConflictResolver {
292
306
  for (const girParam of girParams) {
293
307
  if (!girParam._tsData)
294
308
  throw new Error(NO_TSDATA('fixOptionalParameters'));
295
- if (typeIsOptional(girParam._tsData.type) && !this.paramCanBeOptional(girParam, girParams)) {
309
+ if (typesContainsOptional(girParam._tsData.type) && !this.paramCanBeOptional(girParam, girParams)) {
296
310
  this.setTypesProperty(girParam._tsData.type, 'optional', false);
297
311
  }
298
312
  }
@@ -1 +1 @@
1
- {"version":3,"file":"conflict-resolver.js","sourceRoot":"","sources":["../src/conflict-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"conflict-resolver.js","sourceRoot":"","sources":["../src/conflict-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACzE,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAA;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AA8BvD;;;;GAIG;AACH,MAAM,OAAO,gBAAgB;IAKI;IAA2C;IAJhE,GAAG,CAAQ;IAEX,UAAU,GAAG,IAAI,UAAU,EAAE,CAAA;IAErC,YAA6B,WAAwB,EAAmB,OAAgB;QAA3D,gBAAW,GAAX,WAAW,CAAa;QAAmB,YAAO,GAAP,OAAO,CAAS;QACpF,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAA;IACnE,CAAC;IAEO,kBAAkB,CACtB,OAOC,EACD,KAAa;QAEb,OAAO,OAAO;aACT,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC;aACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,IAAI,CAAC,IAAI,EAAE,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAA;YACvD,OAAO;gBACH,KAAK;gBACL,IAAI,EAAE,IAAI,EAAE,OAAuB;aACtC,CAAA;QACL,CAAC,CAAC,CAAA;IACV,CAAC;IAEO,iBAAiB,CACrB,OAA+C,EAC/C,KAAa;QAEb,OAAO,OAAO;aACT,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;aAClB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACV,OAAO;gBACH,KAAK;gBACL,IAAI;aACF,CAAA;QACV,CAAC,CAAC,CAAA;IACV,CAAC;IAED;;;;;OAKG;IACK,gBAAgB,CAAC,OAAgB,EAAE,KAAa,EAAE,gBAA0B;QAChF,MAAM,yBAAyB,GAAG,GAAG,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,OAAO,CAAC,IAAI,EAAE,CAAA;QAEhH,MAAM,aAAa,GAAuC,EAAE,CAAA;QAC5D,MAAM,qBAAqB,GAAuC,EAAE,CAAA;QACpE,MAAM,OAAO,GAAuC,EAAE,CAAA;QACtD,MAAM,cAAc,GAAuC,EAAE,CAAA;QAC7D,MAAM,eAAe,GAAuC,EAAE,CAAA;QAC9D,MAAM,YAAY,GAAuC,EAAE,CAAA;QAE3D,MAAM,UAAU,GAA+C,EAAE,CAAA;QACjE,MAAM,MAAM,GAA+C,EAAE,CAAA;QAC7D,MAAM,cAAc,GAA+C,EAAE,CAAA;QAErE,MAAM,iBAAiB,GAAG,KAAK,IAAI,sBAAsB,CAAA;QACzD,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAA;QAElF,IAAI,iBAAiB,IAAI,qBAAqB,EAAE;YAC5C,IAAI,iBAAiB,EAAE;gBACnB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,8DAA8D,sBAAsB,IAAI,CAAC,CAAA;aAC3G;YACD,OAAO;gBACH,aAAa;gBACb,qBAAqB;gBACrB,OAAO;gBACP,cAAc;gBACd,eAAe;gBACf,YAAY;gBACZ,UAAU;gBACV,MAAM;gBACN,cAAc;aACjB,CAAA;SACJ;QAED,UAAU;QACV,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAe,CAAA;QACvF,KAAK,MAAM,QAAQ,IAAI,QAAQ,EAAE;YAC7B,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAmC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAA;SAC7G;QACD,mBAAmB;QACnB,qBAAqB,CAAC,IAAI,CACtB,GAAG,IAAI,CAAC,iBAAiB,CAAmC,OAAO,CAAC,qBAAqB,EAAE,KAAK,CAAC,CACpG,CAAA;QACD,UAAU;QACV,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAa,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAA;QACxG,kBAAkB;QAClB,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM;YAC7B,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAa,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAA;QAC9F,mBAAmB;QACnB,IAAI,OAAO,CAAC,eAAe,CAAC,MAAM;YAC9B,eAAe,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAa,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC,CAAA;QAChG,eAAe;QACf,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM;YAC3B,YAAY,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAa,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,CAAA;QAC1F,aAAa;QACb,IAAI,OAAO,CAAC,UAAU,CAAC,MAAM;YACzB,UAAU,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAqB,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAA;QAC9F,SAAS;QACT,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM;YAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAqB,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAA;QAC7G,yBAAyB;QACzB,IAAI,OAAO,CAAC,cAAc,CAAC,MAAM;YAC7B,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAqB,OAAO,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,CAAA;QAEtG,KAAK,MAAM,uBAAuB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACnE,IAAI,yBAAyB,KAAK,uBAAuB,EAAE;gBACvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAA;gBACrF,SAAQ;aACX;YAED,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAA;YACrG,MAAM,sBAAsB,GAAG,IAAI,CAAC,gBAAgB,CAChD,cAAc,EACd,WAAW,GAAG,KAAK,GAAG,CAAC,EACvB,gBAAgB,CACnB,CAAA;YAED,aAAa,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,aAAa,CAAC,CAAA;YAC3D,qBAAqB,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,qBAAqB,CAAC,CAAA;YAC3E,OAAO,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,OAAO,CAAC,CAAA;YAC/C,cAAc,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAA;YAC7D,eAAe,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,eAAe,CAAC,CAAA;YAC/D,YAAY,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAA;YACzD,UAAU,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAA;YACrD,MAAM,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAA;YAC7C,cAAc,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAA;SAChE;QAED,KAAK,MAAM,uBAAuB,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;YAChE,IAAI,yBAAyB,KAAK,uBAAuB,EAAE;gBACvD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAA;gBAChE,SAAQ;aACX;YAED,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAA;YACvF,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,WAAW,GAAG,KAAK,GAAG,CAAC,EAAE,gBAAgB,CAAC,CAAA;YAEjG,aAAa,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,aAAa,CAAC,CAAA;YACpD,qBAAqB,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAA;YACpE,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,CAAA;YACxC,cAAc,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;YACtD,eAAe,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,eAAe,CAAC,CAAA;YACxD,YAAY,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,YAAY,CAAC,CAAA;YAClD,UAAU,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAA;YAC9C,MAAM,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,MAAM,CAAC,CAAA;YACtC,cAAc,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,cAAc,CAAC,CAAA;SACzD;QAED,gBAAgB,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAA;QAEhD,OAAO;YACH,aAAa;YACb,qBAAqB;YACrB,OAAO;YACP,cAAc;YACd,eAAe;YACf,YAAY;YACZ,UAAU;YACV,MAAM;YACN,cAAc;SACjB,CAAA;IACL,CAAC;IAEO,iBAAiB,CAAC,EAAsB;QAC5C,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAA;IAC9E,CAAC;IAEO,yBAAyB,CAAC,EAAsB;QACpD,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,CAAA;IAC7E,CAAC;IAEO,mBAAmB,CAAC,EAAsB;QAC9C,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAA;IAChF,CAAC;IAEO,yBAAyB,CAAC,EAAsB;QACpD,OAAO,IAAI,CAAC,iBAAiB,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAA;IAC/E,CAAC;IAEO,iBAAiB,CAAC,EAAsB;QAC5C,OAAO,EAAE,CAAC,UAAU,KAAK,eAAe,CAAA;IAC5C,CAAC;IAEO,sBAAsB,CAAC,EAAsB;QACjD,OAAO,EAAE,CAAC,UAAU,KAAK,aAAa,CAAA;IAC1C,CAAC;IAEO,2BAA2B,CAAC,EAAsB;QACtD,OAAO,EAAE,CAAC,UAAU,KAAK,UAAU,IAAI,EAAE,CAAC,UAAU,KAAK,QAAQ,IAAI,EAAE,CAAC,UAAU,KAAK,iBAAiB,CAAA;IAC5G,CAAC;IAEO,6BAA6B,CAAC,EAAmC;QACrE,OAAO,CACH,EAAE,CAAC,UAAU,KAAK,UAAU;YAC5B,EAAE,CAAC,UAAU,KAAK,sBAAsB;YACxC,EAAE,CAAC,UAAU,KAAK,UAAU;YAC5B,EAAE,CAAC,UAAU,KAAK,iBAAiB,CACtC,CAAA;IACL,CAAC;IAEO,iBAAiB,CAAC,EAAsB;QAC5C,OAAO;QACH,qCAAqC;QACpC,EAAiB,CAAC,QAAQ,IAAI,EAAE,CAAC,UAAU,KAAK,iBAAiB,IAAI,EAAE,CAAC,UAAU,KAAK,iBAAiB,CAC5G,CAAA;IACL,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,OAAO,CACH,IAAI,CAAC,IAAI,KAAK,QAAQ;YACtB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;YACtD,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CACzD,CAAA;IACL,CAAC;IAEO,aAAa,CAAC,CAAS,EAAE,CAAS;QACtC,OAAO,CACH,CAAC;YACD,CAAC;YACD,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;YACzB,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,QAAQ;YACzB,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YACjB,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO;YACvB,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAC7B,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU;YAC7B,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,aAAa;YACnC,OAAO,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC;YACjC,OAAO,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,CAClC,CAAA;IACL,CAAC;IAEO,UAAU,CAAC,aAA8B,EAAE,GAAG,KAAgC;QAClF,MAAM,IAAI,GAAa,EAAE,CAAA;QAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,EAAE;gBAC9D,IAAI,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,CAAC,CAAA;aACxC;SACJ;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,gBAAgB,CAAC,KAAe,EAAE,QAAoB,EAAE,KAAc;QAC1E,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAA;SACzB;QACD,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,CAAsC,EAAE,CAAsC;QAC7F,IAAI,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC,EAAE,OAAO,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,yCAAyC,CAAC,CAAA;SAC7D;QAED,IAAI,IAA6B,CAAA;QAEjC,IAAI,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO,EAAE;YAC1B,IAAI,GAAG,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YACpC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;aAChD;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,EAAE,CAAA;YACtB,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YAC9E,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE;gBACnC,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;aAC/D;SACJ;aAAM;YACH,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAA4B,CAAC,CAAA;YACjD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;gBACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;aAChD;YACD,qDAAqD;YACrD,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;SACjF;QAED,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC1C,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;SACjF;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAED;;;;OAIG;IACK,WAAW,CAAC,GAAG,MAAmC;QACtD,IAAI,IAAI,GAA8B,EAAE,CAAA;QAExC,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;YACpB,KAAK,MAAM,CAAC,IAAI,MAAM,EAAE;gBACpB,IAAI,CAAC,KAAK,CAAC,EAAE;oBACT,SAAQ;iBACX;gBACD,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;oBACf,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;iBAClB;qBAAM;oBACH,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAA;oBAC3C,IAAI,GAAG,IAAI,KAAK,CAA0B,MAAM,CAAC,CAAA;oBACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC7B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAwC,CAAA;wBAC1D,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAwC,CAAA;wBAC1D,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;qBAC5C;iBACJ;aACJ;SACJ;QAED,OAAO,IAAI,CAAA;IACf,CAAC;IAEO,kBAAkB,CACtB,QAAiC,EACjC,SAAoC,EACpC,OAAkC,EAAE;QAEpC,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,OAAO,KAAK,CAAA;QACnC,IAAI,aAAa,GAAG,IAAI,CAAA;QACxB,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;QACzC,MAAM,SAAS,GAAG,SAAS;aACtB,KAAK,CAAC,KAAK,CAAC;aACZ,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;aAC1B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;aACtC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,KAAK,YAAY,CAAC,GAAG,CAAC;aACjD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAA;QAE1B,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;YAC5D,aAAa,GAAG,KAAK,CAAA;SACxB;QAED,OAAO,aAAa,CAAA;IACxB,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,SAAoC;QAC9D,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE;YAC9B,IAAI,CAAC,QAAQ,CAAC,OAAO;gBAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC,CAAA;YAC1E,IAAI,qBAAqB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,QAAQ,EAAE,SAAS,CAAC,EAAE;gBAC/F,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,CAAC,CAAA;aAClE;SACJ;QACD,OAAO,SAAS,CAAA;IACpB,CAAC;IAED;;;;;OAKG;IACI,cAAc,CAAC,QAA2B,EAAE,GAAG,KAAmB;QACrE,MAAM,cAAc,GAAa,EAAE,CAAA;QACnC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,CAAA;SAC3C;QACD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC,CAAA;QAE3D,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QACtD,MAAM,QAAQ,GAA8B,EAAE,CAAA;QAC9C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,WAAW,CAAC,EAAE;YACxC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,CAAA;SACrD;QAED,MAAM,YAAY,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;QACxD,MAAM,SAAS,GAA8B,EAAE,CAAA;QAC/C,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC,EAAE;YACzC,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC,CAAC,CAAA;SACvD;QAED,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACX,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;SACvD;QAED,IAAI,QAAQ,EAAE;YACV,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAA;YAClC,OAAO,QAAQ,CAAA;SAClB;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAChC;YACI,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACnB,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK;YACpC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAkB;YACpG,SAAS,EAAE,SAAS;iBACf,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACnC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAkB;YACtD,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;SACpC,EACD,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAClB,CAAA;IACL,CAAC;IAED;;;;;OAKG;IACI,eAAe,CAAC,aAA8B,EAAE,QAA2B,EAAE,GAAG,KAAmB;QACtG,MAAM,QAAQ,GAAa,EAAE,CAAA;QAC7B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,CAAA;SAC9B;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,QAAQ,CAAC,CAAA;QAEzD,iBAAiB;QACjB,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;YACtB,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAA;SAChD;QAED,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;SAChE;QAED,IAAI,QAAQ,EAAE;YACV,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAA;YACrB,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAA;YAC5B,OAAO,QAAQ,CAAA;SAClB;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC1C,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,KAAK;YACpC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI;YACnB,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW;SACpC,CAAC,CAAA;QACF,OAAO,OAAO,CAAA;IAClB,CAAC;IAED;;;;;OAKG;IACI,WAAW,CAAC,CAAuB,EAAE,CAAuB;QAC/D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE;YACxC,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;YACxB,+BAA+B;YAC/B,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,OAAO,EAAE;gBAC5C,OAAO,KAAK,CAAA;aACf;YACD,IAAI,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE;gBACzC,OAAO,IAAI,CAAA;aACd;SACJ;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,gBAAgB,CAAC,IAAY,EAAE,WAA4B;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YACjC,IAAI;YACJ,WAAW;YACX,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;SAC1B,CAAC,CAAA;IACN,CAAC;IAED;;;OAGG;IACI,gBAAgB,CAAC,IAAY,EAAE,WAA4B,EAAE,QAAiB,EAAE,MAAsB;QACzG,OAAO,IAAI,CAAC,UAAU,CAAC,aAAa,CAChC;YACI,IAAI;YACJ,QAAQ;YACR,QAAQ,EAAE;gBACN;oBACI,IAAI,EAAE,MAAM;oBACZ,MAAM,EAAE,IAAI;oBACZ,IAAI,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;iBACpE;aACJ;YACD,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;YAC9B,WAAW;SACd,EACD,MAAM,CACT,CAAA;IACL,CAAC;IAEM,uBAAuB,CAAC,QAAsB,EAAE,QAAoB;QACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAC7E,CAAC;IAEM,uBAAuB,CAAC,QAAsB,EAAE,QAAoB;QACvE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;IAC7E,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CAAC,QAAqC,EAAE,IAAY;QACzE,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAA;IAClD,CAAC;IAES,sBAAsB,CAAC,kBAAgC,EAAE,IAAgB;QAC/E,MAAM,MAAM,GACR,IAAI,CAAC,IAAI;YACT,iDAAiD;YACjD,CAAC,IAAI,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,IAAI,CAAC,IAAI,CAAC;YACvD,iDAAiD;YACjD,CAAC,mBAAmB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAE9D,OAAO,MAAM,CAAA;IACjB,CAAC;IAEM,oBAAoB,CAAC,cAAkD,EAAE,SAAkB;QAC9F,MAAM,gBAAgB,GAA4B,EAAE,CAAA;QACpD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;YAC/B,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE;gBAC5B,IAAI,IAAI,KAAK,CAAC,EAAE;oBACZ,SAAQ;iBACX;gBAED,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,EAAE;oBACpE,SAAQ;iBACX;gBAED,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;gBAC1C,8CAA8C;gBAE9C,MAAM,SAAS,GAAG,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAA;gBACxD,qFAAqF;gBACrF,+DAA+D;gBAC/D,sDAAsD;gBAEtD,IAAI,CAAC,SAAS,IAAI,SAAS,KAAK,QAAQ,EAAE;oBACtC,SAAQ;iBACX;gBACD,gBAAgB,CAAC,SAAS,CAAC,KAAK;oBAC5B,YAAY,EAAE,EAAE;oBAChB,iBAAiB,EAAE,EAAE;oBACrB,SAAS;iBACZ,CAAA;gBAED,MAAM,eAAe,GAAG,gBAAgB,CAAC,SAAS,CAAC,CAAA;gBACnD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,KAAK,CAAC,CAAA;gBACtC,IAAI,aAAa,EAAE;oBACf,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;wBACvE,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;qBAC1C;iBACJ;qBAAM;oBACH,IAAI,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;wBAC5E,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;qBAC/C;iBACJ;aACJ;SACJ;QAED,OAAO,gBAAgB,CAAA;IAC3B,CAAC;IAEM,kBAAkB,CAAC,eAAwC;QAC9D,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YAClD,MAAM,QAAQ,GAAG,eAAe,CAAC,SAAS,CAAC,CAAA;YAE3C,MAAM,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAA;YAEnC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;gBACf,OAAO;gBACP,yFAAyF;gBACzF,OAAM;aACT;YAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACtB,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBACjC,SAAQ;iBACX;gBACD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,iBAAiB,EAAE;oBACxC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;wBAC5C,SAAQ;qBACX;oBACD,OAAO;iBACV;aACJ;SACJ;IACL,CAAC;IAED;;;;;;OAMG;IACI,oBAAoB,CAAC,IAAY,EAAE,QAAgC,EAAE,SAAkB;QAC1F,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACjC,SAAQ;aACX;YACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;gBACtB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBAC5C,SAAQ;iBACX;gBAED,MAAM,SAAS,GAAG,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,CAAA;gBAEjF,sCAAsC;gBACtC,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAkB,CAAA;oBAExC,wBAAwB;oBACxB,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,iCAAiC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACvF,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACtC;oBAED,sBAAsB;yBACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,+BAA+B,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACrF,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACxC;oBAED,wBAAwB;yBACnB,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,iCAAiC,EACrD,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACxD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxD,CAAA;wBAED,4CAA4C;wBAC5C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BAC/C,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;yBAC3C;wBACD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BAC5C,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;yBACxC;qBACJ;oBAED,2BAA2B;yBACtB,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAkB,CAAA;wBACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,oCAAoC,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;wBAE3F,4CAA4C;wBAC5C,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;4BAC/C,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;yBAC3C;wBACD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;4BAC9C,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;yBAC1C;qBACJ;oBAED,uBAAuB;yBAClB;wBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBAC9F,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACxC;iBACJ;gBAED,gCAAgC;qBAC3B,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAkB,CAAA;oBAE1C,2BAA2B;oBAC3B,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,oCAAoC,EACxD,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1D,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxD,CAAA;wBAED,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;4BACjD,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;yBAC7C;wBACD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;4BAC5C,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;yBACxC;qBACJ;oBAED,8BAA8B;yBACzB,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC7C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,uCAAuC,EAAE,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBAE/F,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CACjC,IAAI,EACJ,UAAU,CAAC,WAAW,EACtB,UAAU,CAAC,QAAQ,EACnB,UAAU,CAAC,MAAM,CACpB,CAAA;wBAED,6CAA6C;wBAC7C,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,eAAe,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;4BACnE,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;yBAC1C;qBACJ;iBACJ;gBAED,wCAAwC;qBACnC,IAAI,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAkB,CAAA;oBAExC,wBAAwB;oBACxB,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,iCAAiC,EACrD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACrB,KAAK,CACR,CAAA;wBACD,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACxC;oBAED,wBAAwB;yBACnB,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACjD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,iCAAiC,EACrD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACrB,CAAA;wBAED,QAAQ,IAAI,EAAE;4BACV,KAAK,QAAQ,CAAC;4BACd,KAAK,QAAQ,CAAC;4BACd,KAAK,iBAAiB,CAAC;4BACvB,KAAK,MAAM;gCACP,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;gCACnE,IAAI,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,kBAAkB,EAAE,UAAU,CAAC,EAAE;oCACvE,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;iCAChD;gCACD,MAAK;4BAET;gCACI,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;gCACjE,IAAI,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,kBAAkB,EAAE,OAAO,CAAC,EAAE;oCACpE,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;iCAC7C;gCACD,MAAK;yBACZ;qBACJ;oBAED,sBAAsB;yBACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,+BAA+B,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACrF,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACzC;yBAAM;wBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;qBACjG;iBACJ;gBAED,QAAQ;qBACH;oBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,qBAAqB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;oBAC/E,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;iBACzC;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,oBAAoB,CAAC,IAAY,EAAE,QAAgC,EAAE,SAAkB;QAC1F,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;YACzB,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACjC,SAAQ;aACX;YACD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;gBACtB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBAC5C,SAAQ;iBACX;gBAED,MAAM,SAAS,GAAG,GAAG,SAAS,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC,IAAI,EAAE,CAAA;gBAEjF,kDAAkD;gBAClD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;oBAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;wBACvB,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACzC;yBAAM,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;wBAC3B,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACtC;oBACD,oEAAoE;oBACpE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;wBACxC,CAAC,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;qBAC7B;yBAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;wBAC/C,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAA;qBAC7B;oBACD,SAAQ;iBACX;gBAED,sCAAsC;gBACtC,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAkB,CAAA;oBAExC,wBAAwB;oBACxB,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,iCAAiC,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACvF,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACtC;oBAED,sBAAsB;yBACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,+BAA+B,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACrF,aAAa;qBAChB;oBAED,wBAAwB;yBACnB,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC/C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,iCAAiC,EACrD,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACxD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxD,CAAA;wBAED,6IAA6I;wBAC7I,IAAI,QAAQ,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS,EAAE;4BACxC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;gCACrB,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;6BACxC;iCAAM;gCACH,KAAK,CAAC,qBAAqB,GAAG,IAAI,CAAA;6BACrC;4BACD,SAAQ;yBACX;wBAED,eAAe;qBAClB;yBAAM;wBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBAC9F,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACtC;iBACJ;gBAED,wCAAwC;qBACnC,IAAI,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAkB,CAAA;oBAExC,wBAAwB;oBACxB,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,iCAAiC,EACrD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACrB,KAAK,CACR,CAAA;wBACD,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACxC;oBAED,wBAAwB;yBACnB,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACjD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,iCAAiC,EACrD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACrB,CAAA;wBAED,QAAQ,IAAI,EAAE;4BACV,KAAK,QAAQ,CAAC;4BACd,KAAK,QAAQ,CAAC;4BACd,KAAK,iBAAiB;gCAClB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;gCACpD,MAAK;4BAET;gCACI,2BAA2B;gCAC3B,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gCAC3E,MAAK;yBACZ;qBACJ;oBAED,sBAAsB;yBACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,+BAA+B,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACrF,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACzC;yBAAM;wBACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,qBAAqB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;qBACjG;iBACJ;gBAED,2BAA2B;qBACtB,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAgB,CAAA;oBACrC,sBAAsB;oBACtB,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,+BAA+B,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACpF,aAAa;qBAChB;oBACD,sBAAsB;yBACjB,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,+BAA+B,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,CAAA;wBACpF,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACtC;iBACJ;gBAED,QAAQ;qBACH;oBACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,qBAAqB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAA;iBAClF;aACJ;SACJ;IACL,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,IAAY,EAAE,QAAgC;QACpE,MAAM,SAAS,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,SAAS,IAAI,QAAQ,CAAC,SAAS,CAAC,OAAO,IAAI,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,CAAA;QAE5G,KAAK,MAAM,IAAI,IAAI,QAAQ,CAAC,YAAY,EAAE;YACtC,IAAI,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE;gBACjC,SAAQ;aACX;YAED,4BAA4B;YAC5B,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,iBAAiB,EAAE;gBACxC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,qBAAqB,EAAE;oBAC5C,SAAQ;iBACX;gBAED,gCAAgC;gBAChC,IAAI,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7C,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAkB,CAAA;oBAExC,wBAAwB;oBACxB,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,+BAA+B,EACnD,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACxD,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxD,CAAA;wBAED,kFAAkF;wBAClF,IACI,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC;4BACnC,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,EAC1D;4BACE,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;yBACjC;qBACJ;oBAED,2BAA2B;yBACtB,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAkB,CAAA;wBACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,kCAAkC,EACtD,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EACxD,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC1D,CAAA;wBAED,kFAAkF;wBAClF,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;4BAC5D,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;yBACnC;qBACJ;oBAED,wBAAwB;yBACnB,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACjD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,+BAA+B,CAAC,CAAA;wBACnE,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACtC;oBAED,sBAAsB;yBACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,6BAA6B,CAAC,CAAA;wBACjE,aAAa;qBAChB;iBACJ;gBAED,2CAA2C;qBACtC,IAAI,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAkB,CAAA;oBAExC,wBAAwB;oBACxB,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC5C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,+BAA+B,EACnD,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EACrB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CACrB,CAAA;wBACD,QAAQ,IAAI,EAAE;4BACV,KAAK,QAAQ,CAAC;4BACd,KAAK,QAAQ,CAAC;4BACd,KAAK,iBAAiB;gCAClB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAA;gCACpD,MAAK;4BAET;gCACI,2BAA2B;gCAC3B,QAAQ,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;gCAC3E,MAAK;yBACZ;qBACJ;oBAED,wBAAwB;yBACnB,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC/C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,+BAA+B,CAAC,CAAA;wBACnE,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACxC;oBAED,sBAAsB;yBACjB,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBACrC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,6BAA6B,CAAC,CAAA;wBACjE,QAAQ,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACxC;iBACJ;gBAED,qCAAqC;qBAChC,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACxC,sBAAsB;oBACtB,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC5C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,6BAA6B,CAAC,CAAA;wBACjE,CAAC,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;qBACtC;oBAED,sBAAsB;oBACtB,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,6BAA6B,CAAC,CAAA;wBACjE,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAkB,CAAA;wBAC1C,mDAAmD;wBACnD,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;4BAC5D,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;yBACnC;qBACJ;iBACJ;gBACD,gCAAgC;qBAC3B,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAkB,CAAA;oBAE1C,2BAA2B;oBAC3B,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE;wBAC1C,MAAM,KAAK,GAAG,CAAC,CAAC,IAAkB,CAAA;wBAClC,IAAI,CAAC,GAAG,CAAC,KAAK,CACV,GAAG,SAAS,IAAI,IAAI,kCAAkC,EACtD,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC1D,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CACxD,CAAA;wBAED,kFAAkF;wBAClF,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,KAAK,CAAC,EAAE;4BAC5D,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;yBACnC;qBACJ;oBAED,8BAA8B;yBACzB,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;wBAC7C,MAAM,OAAO,GAAG,CAAC,CAAC,IAAkB,CAAA;wBACpC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,SAAS,IAAI,IAAI,qCAAqC,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;wBAE9F,uFAAuF;wBACvF,IAAI,CAAC,IAAI,CAAC,uBAAuB,CAAC,UAAU,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE;4BAC9D,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;yBACrC;qBACJ;iBACJ;qBAAM;oBACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,IAAI,CAAC,CAAA;oBAC1E,IAAI,CAAC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAA;iBACzC;aACJ;SACJ;IACL,CAAC;IAED;;;OAGG;IACI,YAAY,CAAC,eAAwC;QACxD,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE;YAC5C,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,CAAA;YACrC,4BAA4B;YAC5B,MAAM,IAAI,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;YAE7B,IAAI,QAAQ,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,iBAAiB,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;aAClF;YACD,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAA;YAE1E,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAA;SAC1C;IACL,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,QAAgC,EAAE,OAAgB;QACpE,MAAM,gBAAgB,GAA4B,EAAE,CAAA;QAEpD,MAAM,qBAAqB,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAA;QAErD,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;YACtB,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAA;YACxB,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;gBACtB,IACI,CAAC,KAAK,CAAC;oBACP,CAAC,IAAI;oBACL,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;oBACZ,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC;oBACpC,qBAAqB,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAC7C;oBACE,SAAQ;iBACX;gBACD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;oBACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAA,CAAC,4EAA4E;oBACnG,gBAAgB,CAAC,GAAG,CAAC,KAAK;wBACtB,YAAY,EAAE,EAAE;wBAChB,iBAAiB,EAAE,EAAE;wBACrB,SAAS,EAAE,OAAO;qBACrB,CAAA;oBACD,MAAM,eAAe,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAA;oBAC7C,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,KAAK,CAAC,CAAA;oBACnC,IAAI,aAAa,EAAE;wBACf,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE;4BACpE,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;yBACvC;qBACJ;yBAAM;wBACH,IACI,CAAC,eAAe,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;4BAClE,CAAC,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,EACzE;4BACE,eAAe,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;yBAC5C;qBACJ;iBACJ;aACJ;SACJ;QAED,gBAAgB;QAChB,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE;YAC7C,gBAAgB,CAAC,GAAG,CAAC,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAClF,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAC9B,CAAA;SACJ;QAED,OAAO,gBAAgB,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,QAAoF;QACnG,IAAI,CAAC,QAAQ,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAA;QAEhE,MAAM,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC,CAAA;QAEpE,4CAA4C;QAC5C,MAAM,QAAQ,GAAG;YACb,GAAG,aAAa,CAAC,aAAa;YAC9B,GAAG,aAAa,CAAC,qBAAqB;YACtC,GAAG,aAAa,CAAC,OAAO;YACxB,GAAG,aAAa,CAAC,cAAc;YAC/B,GAAG,aAAa,CAAC,eAAe;YAChC,GAAG,aAAa,CAAC,YAAY;YAC7B,GAAG,aAAa,CAAC,UAAU;YAC3B,GAAG,aAAa,CAAC,MAAM;SAC1B,CAAA;QAED,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAC/E,MAAM,6BAA6B,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,cAAc,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAA;QAEzG,IAAI,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAA;QAC1C,IAAI,CAAC,YAAY,CAAC,6BAA6B,CAAC,CAAA;QAEhD,OAAO,QAAQ,CAAA;IACnB,CAAC;IAED;;;;;OAKG;IACI,iBAAiB,CAAC,GAAG,MAAmC;QAC3D,IAAI,QAAQ,GAAG,KAAK,CAAA;QACpB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;YACtB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE;gBACtB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE;oBAC3B,QAAQ,GAAG,IAAI,CAAA;oBACf,OAAO,QAAQ,CAAA;iBAClB;gBAED,KAAK,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,OAAO,EAAE,EAAE;oBACjC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,CAAA;oBACjB,IAAI,EAAE,CAAC,OAAO,IAAI,EAAE,CAAC,OAAO,EAAE;wBAC1B,IAAI,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;4BAC3D,QAAQ,GAAG,IAAI,CAAA;4BACf,OAAO,QAAQ,CAAA;yBAClB;qBACJ;yBAAM;wBACH,QAAQ,GAAG,IAAI,CAAA;wBACf,OAAO,QAAQ,CAAA;qBAClB;iBACJ;aACJ;SACJ;QAED,OAAO,QAAQ,CAAA;IACnB,CAAC;IAEM,gBAAgB,CAAC,CAAW,EAAE,CAAW;QAC5C,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;YACvB,OAAO,IAAI,CAAA;SACd;QACD,6BAA6B;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAClB,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;YAClB,IACI,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;gBACzB,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBACjC,KAAK,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ;gBACjC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;gBACrC,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,UAAU;gBACrC,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;gBAC/B,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC,MAAM;gBACjD,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,CAAC,MAAM;gBAC/C,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;gBAC1C,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,QAAQ,CAAC;gBACxC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO;cAChC;gBACE,OAAO,IAAI,CAAA;aACd;SACJ;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;;;;;OAMG;IACI,mBAAmB,CAAC,CAAa,EAAE,CAAa;QACnD,6EAA6E;QAC7E,IAAI,CAAC,CAAC,SAAS,KAAK,CAAC,CAAC,SAAS,EAAE;YAC7B,OAAO,IAAI,CAAA;SACd;QAED,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE;YACrD,OAAO,IAAI,CAAA;SACd;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE;YAChD,OAAO,IAAI,CAAA;SACd;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,SAAS,CAAC,EAAE;YAClD,OAAO,IAAI,CAAA;SACd;QAED,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACI,mBAAmB,CAAC,CAAqB,EAAE,CAAqB;QACnE,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;QAC/C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEnC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO,IAAI,CAAA;QAEvF,OAAO,KAAK,CAAA;IAChB,CAAC;IAEM,iBAAiB,CAAC,CAAW,EAAE,CAAW;QAC7C,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;QAC/C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI;YAAE,OAAO,KAAK,CAAA;QAEnC,OAAO;QACP,OAAO,KAAK,CAAA;IAChB,CAAC;IAED;;;;;OAKG;IACI,kBAAkB,CACrB,CAA6C,EAC7C,CAA6C;QAE7C,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,IAAI,EAAE;YACnB,OAAO,KAAK,CAAA;SACf;aAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YAChE,OAAO,KAAK,CAAA;SACf;aAAM,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC,EAAE;YACnF,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAe,EAAE,CAAe,CAAC,CAAA;SACpE;aAAM,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC,EAAE;YACvF,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAuB,EAAE,CAAuB,CAAC,CAAA;SACpF;aAAM,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC,EAAE;YACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,CAAe,EAAE,CAAe,CAAC,CAAA;SACpE;aAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE;YAC/D,OAAO;YACP,OAAO,IAAI,CAAC,iBAAiB,CAAC,CAAa,EAAE,CAAa,CAAC,CAAA;SAC9D;aAAM,IAAI,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,UAAU,EAAE;YACtC,OAAO,IAAI,CAAA;SACd;aAAM;YACH,OAAO,IAAI,CAAA;SACd;IACL,CAAC;CACJ"}
@@ -1,4 +1,5 @@
1
- import { Environment } from './types/index.js';
1
+ import { LibraryVersion } from './library-version.js';
2
+ import type { Environment } from './types/index.js';
2
3
  /**
3
4
  * In gjs all classes have a static name property but the classes listed below already have a static name property
4
5
  */
@@ -9,8 +10,11 @@ export declare const OPT_PARAM_REG_EXP: RegExp;
9
10
  export declare const NEW_LINE_REG_EXP: RegExp;
10
11
  export declare const MAX_CLASS_PARENT_DEPTH = 100;
11
12
  export declare const APP_NAME = "ts-for-gir";
12
- export declare const APP_USAGE = "Typescript .d.ts generator from GIR for gjs or node-gtk";
13
- export declare const APP_SOURCE = "https://github.com/gjsify/ts-for-gjs";
13
+ export declare const APP_USAGE = "TypeScript type definition generator for GObject introspection GIR files";
14
+ export declare const APP_SOURCE = "https://github.com/gjsify/ts-for-gir";
15
+ export declare const APP_VERSION = "3.0.0";
16
+ export declare const PACKAGE_DESC: (packageName: string, environment: Environment, libraryVersion?: LibraryVersion) => string;
17
+ export declare const PACKAGE_KEYWORDS: (packageName: string, environment: Environment) => string;
14
18
  export declare const GENERIC_NAMES: string[];
15
19
  export declare const SIGNAL_METHOD_NAMES_GENERAL: string[];
16
20
  export declare const SIGNAL_METHOD_NAMES_GJS: string[];
package/lib/constants.js CHANGED
@@ -8,8 +8,20 @@ export const OPT_PARAM_REG_EXP = /[0-9a-zA-Z_]*\?:/g;
8
8
  export const NEW_LINE_REG_EXP = /[\n\r]+/g;
9
9
  export const MAX_CLASS_PARENT_DEPTH = 100;
10
10
  export const APP_NAME = 'ts-for-gir';
11
- export const APP_USAGE = 'Typescript .d.ts generator from GIR for gjs or node-gtk';
12
- export const APP_SOURCE = 'https://github.com/gjsify/ts-for-gjs';
11
+ export const APP_USAGE = 'TypeScript type definition generator for GObject introspection GIR files';
12
+ export const APP_SOURCE = 'https://github.com/gjsify/ts-for-gir';
13
+ export const APP_VERSION = '3.0.0';
14
+ export const PACKAGE_DESC = (packageName, environment, libraryVersion) => {
15
+ const envStr = environment === 'node' ? 'Node.js' : 'GJS';
16
+ if (libraryVersion) {
17
+ return `${envStr} TypeScript type definitions for ${packageName}, generated from library version ${libraryVersion.toString()}`;
18
+ }
19
+ return `${envStr} TypeScript type definitions for ${packageName}`;
20
+ };
21
+ export const PACKAGE_KEYWORDS = (packageName, environment) => {
22
+ const envKeywords = environment === 'node' ? '"node", "node-gtk"' : '"GJS"';
23
+ return `"Gir", "TypeScript", "types", "GObject-Introspection", ${envKeywords}, "${packageName}"`;
24
+ };
13
25
  export const GENERIC_NAMES = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'K'];
14
26
  export const SIGNAL_METHOD_NAMES_GENERAL = ['connect', 'emit'];
15
27
  export const SIGNAL_METHOD_NAMES_GJS = ['connect_after', 'emit', 'disconnect'];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAA;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAA;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,yDAAyD,CAAA;AAClF,MAAM,CAAC,MAAM,UAAU,GAAG,sCAAsC,CAAA;AAEhE,MAAM,CAAC,MAAM,aAAa,GAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,2BAA2B,GAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAa,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;AACxF,MAAM,CAAC,MAAM,wBAAwB,GAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAgB,EAAE,EAAE;IACpD,IAAI,GAAG,KAAK,MAAM,EAAE;QAChB,OAAO,CAAC,GAAG,2BAA2B,EAAE,wBAAwB,CAAC,CAAA;KACpE;IACD,OAAO,CAAC,GAAG,2BAA2B,EAAE,uBAAuB,CAAC,CAAA;AACpE,CAAC,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAA;AAE9E,MAAM,CAAC,MAAM,eAAe,GAAG,aAAa,CAAA;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAA;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,UAAU,CAAA;AAE1C,MAAM,CAAC,MAAM,sBAAsB,GAAG,GAAG,CAAA;AAEzC,MAAM,CAAC,MAAM,QAAQ,GAAG,YAAY,CAAA;AACpC,MAAM,CAAC,MAAM,SAAS,GAAG,0EAA0E,CAAA;AACnG,MAAM,CAAC,MAAM,UAAU,GAAG,sCAAsC,CAAA;AAChE,MAAM,CAAC,MAAM,WAAW,GAAG,OAAO,CAAA;AAElC,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,WAAmB,EAAE,WAAwB,EAAE,cAA+B,EAAE,EAAE;IAC3G,MAAM,MAAM,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAA;IACzD,IAAI,cAAc,EAAE;QAChB,OAAO,GAAG,MAAM,oCAAoC,WAAW,oCAAoC,cAAc,CAAC,QAAQ,EAAE,EAAE,CAAA;KACjI;IACD,OAAO,GAAG,MAAM,oCAAoC,WAAW,EAAE,CAAA;AACrE,CAAC,CAAA;AACD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAE,WAAwB,EAAE,EAAE;IAC9E,MAAM,WAAW,GAAG,WAAW,KAAK,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3E,OAAO,0DAA0D,WAAW,MAAM,WAAW,GAAG,CAAA;AACpG,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAA;AAEzF,MAAM,CAAC,MAAM,2BAA2B,GAAa,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;AACxE,MAAM,CAAC,MAAM,uBAAuB,GAAa,CAAC,eAAe,EAAE,MAAM,EAAE,YAAY,CAAC,CAAA;AACxF,MAAM,CAAC,MAAM,wBAAwB,GAAa,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;AAChF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,GAAgB,EAAE,EAAE;IACpD,IAAI,GAAG,KAAK,MAAM,EAAE;QAChB,OAAO,CAAC,GAAG,2BAA2B,EAAE,wBAAwB,CAAC,CAAA;KACpE;IACD,OAAO,CAAC,GAAG,2BAA2B,EAAE,uBAAuB,CAAC,CAAA;AACpE,CAAC,CAAA"}
@@ -1,17 +1,44 @@
1
1
  import { Logger } from './logger.js';
2
+ import { Transformation } from './transformation.js';
2
3
  import type { Dependency, GenerateConfig, GirInclude } from './types/index.js';
4
+ import type { GirModule } from './gir-module.js';
3
5
  export declare class DependencyManager {
4
6
  protected readonly config: GenerateConfig;
5
7
  protected log: Logger;
8
+ protected transformation: Transformation;
6
9
  cache: {
7
- [key: string]: Dependency;
10
+ [packageName: string]: Dependency;
11
+ };
12
+ static instances: {
13
+ [env: string]: DependencyManager;
8
14
  };
9
- static instance: DependencyManager;
10
15
  protected constructor(config: GenerateConfig);
11
16
  /**
12
17
  * Get the DependencyManager singleton instance
13
18
  */
14
19
  static getInstance(config: GenerateConfig): DependencyManager;
20
+ /**
21
+ * Get all dependencies in the cache
22
+ * @returns All dependencies in the cache
23
+ */
24
+ all(): Dependency[];
25
+ /**
26
+ * Get the core dependencies
27
+ * @returns
28
+ */
29
+ core(): Dependency[];
30
+ createImportProperties(namespace: string, packageName: string): {
31
+ importPath: string;
32
+ importDef: string;
33
+ };
34
+ createImportPath(packageName: string): string;
35
+ createImportDef(namespace: string, importPath: string): string;
36
+ /**
37
+ * Get the dependency object by packageName
38
+ * @param packageName The package name (with version affix) of the dependency
39
+ * @returns The dependency object
40
+ */
41
+ get(packageName: string): Dependency;
15
42
  /**
16
43
  * Get the dependency object by namespace and version
17
44
  * @param namespace The namespace of the dependency
@@ -19,16 +46,38 @@ export declare class DependencyManager {
19
46
  * @returns The dependency object
20
47
  */
21
48
  get(namespace: string, version: string): Dependency;
49
+ /**
50
+ * Add all dependencies from an array of gir modules
51
+ * @param girModules
52
+ */
53
+ addAll(girModules: GirModule[]): Dependency[];
22
54
  /**
23
55
  * Transforms a gir include object array to a dependency object array
24
56
  * @param girIncludes - Array of gir includes
25
57
  * @returns Array of dependencies
26
58
  */
27
59
  fromGirIncludes(girIncludes: GirInclude[]): Dependency[];
60
+ getAllPackageNames(): string[];
61
+ /**
62
+ * Check if multiple dependencies with the given namespace exist in the cache
63
+ * @param namespace The namespace of the dependency
64
+ * @returns
65
+ */
66
+ hasConflict(namespace: string): boolean;
67
+ /**
68
+ * Check if the given version is the latest version of the dependency
69
+ * @param namespace The namespace of the dependency
70
+ * @param version The version of the dependency
71
+ * @returns
72
+ */
73
+ isLatestVersion(namespace: string, version: string): boolean;
28
74
  /**
29
- * Find a dependency by it's namespace from the cache
75
+ * Find a dependency by it's namespace from the cache, if multiple versions are found, the latest version is returned
30
76
  * @param namespace The namespace of the dependency
31
77
  * @returns The dependency object or null if not found
32
78
  */
33
79
  find(namespace: string): Dependency | null;
80
+ protected getPseudoPackage(packageName: string): Dependency;
81
+ getGjs(): Dependency;
82
+ getNodeGtk(): Dependency;
34
83
  }
@@ -1,34 +1,82 @@
1
- import { findFileInDirs } from './utils.js';
1
+ import { findFileInDirs, splitModuleName, pascalCase } from './utils.js';
2
2
  import { Logger } from './logger.js';
3
- export class DependencyManager {
3
+ import { Transformation } from './transformation.js';
4
+ class DependencyManager {
4
5
  config;
5
6
  log;
7
+ transformation;
6
8
  cache = {};
7
- static instance;
9
+ static instances = {};
8
10
  constructor(config) {
9
11
  this.config = config;
12
+ this.transformation = new Transformation(config);
10
13
  this.log = new Logger(config.environment, config.verbose, 'DependencyManager');
11
14
  }
12
15
  /**
13
16
  * Get the DependencyManager singleton instance
14
17
  */
15
18
  static getInstance(config) {
16
- if (this.instance) {
17
- return this.instance;
19
+ if (this.instances[config.environment]) {
20
+ return this.instances[config.environment];
18
21
  }
19
- this.instance = new DependencyManager(config);
20
- return this.instance;
22
+ this.instances[config.environment] = new DependencyManager(config);
23
+ return this.instances[config.environment];
21
24
  }
22
25
  /**
23
- * Get the dependency object by namespace and version
24
- * @param namespace The namespace of the dependency
25
- * @param version The version of the dependency
26
- * @returns The dependency object
26
+ * Get all dependencies in the cache
27
+ * @returns All dependencies in the cache
28
+ */
29
+ all() {
30
+ return Object.values(this.cache);
31
+ }
32
+ /**
33
+ * Get the core dependencies
34
+ * @returns
27
35
  */
28
- get(namespace, version) {
29
- const packageName = `${namespace}-${version}`;
36
+ core() {
37
+ return [this.get('GObject-2.0'), this.get('GLib-2.0')];
38
+ }
39
+ createImportProperties(namespace, packageName) {
40
+ const importPath = this.createImportPath(packageName);
41
+ const importDef = this.createImportDef(namespace, importPath);
42
+ return {
43
+ importPath,
44
+ importDef,
45
+ };
46
+ }
47
+ createImportPath(packageName) {
48
+ const importName = this.transformation.transformImportName(packageName);
49
+ const importPath = this.config.package ? `${this.config.npmScope}/${importName}` : `./${importName}.js`;
50
+ return importPath;
51
+ }
52
+ createImportDef(namespace, importPath) {
53
+ return this.config.noNamespace
54
+ ? `import type * as ${namespace} from '${importPath}'`
55
+ : `import type ${namespace} from '${importPath}';`;
56
+ }
57
+ get(namespaceOrPackageName, version) {
58
+ // Special case for Gjs
59
+ if (namespaceOrPackageName === 'Gjs') {
60
+ return this.getGjs();
61
+ }
62
+ else if (namespaceOrPackageName === 'node-gtk') {
63
+ return this.getNodeGtk();
64
+ }
65
+ let packageName;
66
+ let namespace;
67
+ if (version) {
68
+ packageName = `${namespaceOrPackageName}-${version}`;
69
+ namespace = namespaceOrPackageName;
70
+ }
71
+ else {
72
+ packageName = namespaceOrPackageName;
73
+ const { namespace: _namespace, version: _version } = splitModuleName(packageName);
74
+ namespace = _namespace;
75
+ version = _version;
76
+ }
30
77
  if (this.cache[packageName]) {
31
- return this.cache[packageName];
78
+ const dep = this.cache[packageName];
79
+ return dep;
32
80
  }
33
81
  const filename = `${packageName}.gir`;
34
82
  const { exists, path } = findFileInDirs(this.config.girDirectories, filename);
@@ -38,11 +86,23 @@ export class DependencyManager {
38
86
  filename,
39
87
  path,
40
88
  packageName,
89
+ importName: this.transformation.transformImportName(packageName),
41
90
  version,
91
+ ...this.createImportProperties(namespace, packageName),
42
92
  };
43
93
  this.cache[packageName] = dependency;
44
94
  return dependency;
45
95
  }
96
+ /**
97
+ * Add all dependencies from an array of gir modules
98
+ * @param girModules
99
+ */
100
+ addAll(girModules) {
101
+ for (const girModule of girModules) {
102
+ this.get(girModule.namespace, girModule.version || '0.0');
103
+ }
104
+ return this.all();
105
+ }
46
106
  /**
47
107
  * Transforms a gir include object array to a dependency object array
48
108
  * @param girIncludes - Array of gir includes
@@ -55,13 +115,49 @@ export class DependencyManager {
55
115
  }
56
116
  return dependencies;
57
117
  }
118
+ getAllPackageNames() {
119
+ return Object.keys(this.cache);
120
+ }
121
+ /**
122
+ * Check if multiple dependencies with the given namespace exist in the cache
123
+ * @param namespace The namespace of the dependency
124
+ * @returns
125
+ */
126
+ hasConflict(namespace) {
127
+ const packageNames = this.getAllPackageNames();
128
+ const candidates = packageNames.filter((packageName) => {
129
+ return packageName.startsWith(`${namespace}-`) && this.cache[packageName].namespace === namespace;
130
+ });
131
+ return candidates.length > 1;
132
+ }
58
133
  /**
59
- * Find a dependency by it's namespace from the cache
134
+ * Check if the given version is the latest version of the dependency
135
+ * @param namespace The namespace of the dependency
136
+ * @param version The version of the dependency
137
+ * @returns
138
+ */
139
+ isLatestVersion(namespace, version) {
140
+ const hasConflict = this.hasConflict(namespace);
141
+ if (!hasConflict) {
142
+ return true;
143
+ }
144
+ const latestVersion = this.find(namespace);
145
+ return latestVersion?.version === version;
146
+ }
147
+ /**
148
+ * Find a dependency by it's namespace from the cache, if multiple versions are found, the latest version is returned
60
149
  * @param namespace The namespace of the dependency
61
150
  * @returns The dependency object or null if not found
62
151
  */
63
152
  find(namespace) {
64
- const packageNames = Object.keys(this.cache);
153
+ // Special case for Gjs
154
+ if (namespace === 'Gjs') {
155
+ return this.getGjs();
156
+ }
157
+ else if (namespace === 'node-gtk') {
158
+ return this.getNodeGtk();
159
+ }
160
+ const packageNames = this.getAllPackageNames();
65
161
  const candidates = packageNames.filter((packageName) => {
66
162
  return packageName.startsWith(`${namespace}-`) && this.cache[packageName].namespace === namespace;
67
163
  });
@@ -69,10 +165,34 @@ export class DependencyManager {
69
165
  this.log.warn(`Found multiple versions of ${namespace}: ${candidates.join(', ')}`);
70
166
  }
71
167
  const latestVersion = candidates.sort().pop();
72
- if (latestVersion) {
73
- return this.cache[latestVersion];
168
+ if (latestVersion && this.cache[latestVersion]) {
169
+ const dep = this.cache[latestVersion];
170
+ return dep;
74
171
  }
75
172
  return null;
76
173
  }
174
+ getPseudoPackage(packageName) {
175
+ if (this.cache[packageName]) {
176
+ return this.cache[packageName];
177
+ }
178
+ const dep = {
179
+ namespace: pascalCase(packageName),
180
+ exists: true,
181
+ filename: '',
182
+ path: '',
183
+ packageName: packageName,
184
+ importName: this.transformation.transformImportName(packageName),
185
+ version: '0.0',
186
+ ...this.createImportProperties(packageName, packageName),
187
+ };
188
+ return dep;
189
+ }
190
+ getGjs() {
191
+ return this.getPseudoPackage('Gjs');
192
+ }
193
+ getNodeGtk() {
194
+ return this.getPseudoPackage('node-gtk');
195
+ }
77
196
  }
197
+ export { DependencyManager };
78
198
  //# sourceMappingURL=dependency-manager.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dependency-manager.js","sourceRoot":"","sources":["../src/dependency-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAIpC,MAAM,OAAO,iBAAiB;IAOe;IAN/B,GAAG,CAAQ;IAErB,KAAK,GAAkC,EAAE,CAAA;IAEzC,MAAM,CAAC,QAAQ,CAAmB;IAElC,YAAyC,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;QAC3D,IAAI,CAAC,GAAG,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAA;IAClF,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,MAAsB;QACrC,IAAI,IAAI,CAAC,QAAQ,EAAE;YACf,OAAO,IAAI,CAAC,QAAQ,CAAA;SACvB;QACD,IAAI,CAAC,QAAQ,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,QAAQ,CAAA;IACxB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,SAAiB,EAAE,OAAe;QAClC,MAAM,WAAW,GAAG,GAAG,SAAS,IAAI,OAAO,EAAE,CAAA;QAC7C,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAA;SACjC;QACD,MAAM,QAAQ,GAAG,GAAG,WAAW,MAAM,CAAA;QACrC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAA;QAC7E,MAAM,UAAU,GAAe;YAC3B,SAAS;YACT,MAAM;YACN,QAAQ;YACR,IAAI;YACJ,WAAW;YACX,OAAO;SACV,CAAA;QAED,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,UAAU,CAAA;QAEpC,OAAO,UAAU,CAAA;IACrB,CAAC;IAED;;;;OAIG;IACH,eAAe,CAAC,WAAyB;QACrC,MAAM,YAAY,GAAiB,EAAE,CAAA;QACrC,KAAK,MAAM,CAAC,IAAI,WAAW,EAAE;YACzB,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC,CAAC,CAAA;SACjE;QACD,OAAO,YAAY,CAAA;IACvB,CAAC;IAED;;;;OAIG;IACH,IAAI,CAAC,SAAiB;QAClB,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC5C,MAAM,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE;YACnD,OAAO,WAAW,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,SAAS,KAAK,SAAS,CAAA;QACrG,CAAC,CAAC,CAAA;QAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,8BAA8B,SAAS,KAAK,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;SACrF;QAED,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,CAAA;QAE7C,IAAI,aAAa,EAAE;YACf,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;SACnC;QAED,OAAO,IAAI,CAAA;IACf,CAAC;CACJ"}
1
+ {"version":3,"file":"dependency-manager.js","sourceRoot":"","sources":["../src/dependency-manager.ts"],"names":[],"mappings":"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"}