commandkit 1.0.0-dev.20250620125211 → 1.0.0-dev.20250620150332

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 (115) hide show
  1. package/dist/{CommandKit-CGSAQCVq.js → CommandKit-Bg1f3YHm.js} +180 -12
  2. package/dist/CommandKit-Bg1f3YHm.js.map +1 -0
  3. package/dist/CommandKit.js +14 -15
  4. package/dist/{CommandKitEventsChannel-Bgw0XCOl.js → CommandKitEventsChannel-BSdcgY3Q.js} +1 -1
  5. package/dist/{CommandKitEventsChannel-Bgw0XCOl.js.map → CommandKitEventsChannel-BSdcgY3Q.js.map} +1 -1
  6. package/dist/{CommandsRouter-CJJ0_WSr.js → CommandsRouter-Bs9UuowL.js} +1 -1
  7. package/dist/{CommandsRouter-CJJ0_WSr.js.map → CommandsRouter-Bs9UuowL.js.map} +1 -1
  8. package/dist/{EventWorkerContext-CSlD9rbx.js → EventWorkerContext-DxfS_0fJ.js} +1 -1
  9. package/dist/{EventWorkerContext-CSlD9rbx.js.map → EventWorkerContext-DxfS_0fJ.js.map} +1 -1
  10. package/dist/{EventsRouter-C_J0M3uO.js → EventsRouter-B7oifgM6.js} +1 -1
  11. package/dist/{EventsRouter-C_J0M3uO.js.map → EventsRouter-B7oifgM6.js.map} +1 -1
  12. package/dist/{MessageCommandParser-Dw8jeqmB.js → MessageCommandParser-CUZrGknY.js} +1 -1
  13. package/dist/{MessageCommandParser-Dw8jeqmB.js.map → MessageCommandParser-CUZrGknY.js.map} +1 -1
  14. package/dist/analytics/analytics-engine.js +14 -15
  15. package/dist/analytics/constants.js +1 -1
  16. package/dist/analytics/utils.js +14 -15
  17. package/dist/app/commands/AppCommandRunner.js +14 -15
  18. package/dist/app/commands/Context.js +14 -15
  19. package/dist/app/commands/MessageCommandParser.js +1 -1
  20. package/dist/app/commands/helpers.js +1 -1
  21. package/dist/app/events/EventWorkerContext.js +1 -1
  22. package/dist/app/handlers/AppCommandHandler.js +14 -15
  23. package/dist/app/handlers/AppEventsHandler.js +14 -15
  24. package/dist/app/index.js +16 -17
  25. package/dist/app/interrupt/signals.js +2 -2
  26. package/dist/app/register/CommandRegistrar.js +14 -15
  27. package/dist/app/router/CommandsRouter.js +1 -1
  28. package/dist/app/router/EventsRouter.js +1 -1
  29. package/dist/app/router/index.js +3 -3
  30. package/dist/{app-process-pMHblAN_.js → app-process-kobgJPMW.js} +3 -3
  31. package/dist/{app-process-pMHblAN_.js.map → app-process-kobgJPMW.js.map} +1 -1
  32. package/dist/{build-zALOnWYu.js → build-JmLwv2AC.js} +6 -7
  33. package/dist/{build-zALOnWYu.js.map → build-JmLwv2AC.js.map} +1 -1
  34. package/dist/cli/app-process.js +4 -4
  35. package/dist/cli/build.js +17 -18
  36. package/dist/cli/common.js +2 -2
  37. package/dist/cli/development.js +18 -19
  38. package/dist/cli/development.js.map +1 -1
  39. package/dist/cli/env.js +1 -1
  40. package/dist/cli/generators.js +2 -2
  41. package/dist/cli/information.js +1 -1
  42. package/dist/cli/init.js +15 -16
  43. package/dist/cli/production.js +19 -20
  44. package/dist/cli/production.js.map +1 -1
  45. package/dist/cli/type-checker.js +3 -3
  46. package/dist/cli/utils.js +1 -1
  47. package/dist/{common-CfxtI2et.js → common-DUta5JO9.js} +2 -2
  48. package/dist/{common-CfxtI2et.js.map → common-DUta5JO9.js.map} +1 -1
  49. package/dist/components/index.js +14 -15
  50. package/dist/components/v1/button/Button.js +14 -15
  51. package/dist/components/v1/button/ButtonKit.js +14 -15
  52. package/dist/components/v1/modal/Modal.js +14 -15
  53. package/dist/components/v1/modal/ModalKit.js +14 -15
  54. package/dist/components/v1/select-menu/ChannelSelectMenuKit.js +14 -15
  55. package/dist/components/v1/select-menu/MentionableSelectMenuKit.js +14 -15
  56. package/dist/components/v1/select-menu/RoleSelectMenuKit.js +14 -15
  57. package/dist/components/v1/select-menu/SelectMenu.js +14 -15
  58. package/dist/components/v1/select-menu/StringSelectMenuKit.js +14 -15
  59. package/dist/components/v1/select-menu/UserSelectMenuKit.js +14 -15
  60. package/dist/config/config.js +14 -15
  61. package/dist/config/default.js +14 -15
  62. package/dist/config/loader.js +14 -15
  63. package/dist/{constants-CUND8XkG.js → constants-R96vEAFD.js} +1 -1
  64. package/dist/{constants-CUND8XkG.js.map → constants-R96vEAFD.js.map} +1 -1
  65. package/dist/context/async-context.js +14 -15
  66. package/dist/context/environment.js +14 -15
  67. package/dist/{env-_68PRRoA.js → env-DakvrBzy.js} +1 -1
  68. package/dist/{env-_68PRRoA.js.map → env-DakvrBzy.js.map} +1 -1
  69. package/dist/events/CommandKitEventsChannel.js +1 -1
  70. package/dist/{feature-flags-cY5-mCX0.js → feature-flags-M80Ab_1D.js} +4 -4
  71. package/dist/{feature-flags-cY5-mCX0.js.map → feature-flags-M80Ab_1D.js.map} +1 -1
  72. package/dist/flags/feature-flags.js +15 -16
  73. package/dist/flags/store.js +1 -1
  74. package/dist/{helpers-BUlN3lIz.js → helpers-DfV6HlgI.js} +1 -1
  75. package/dist/{helpers-BUlN3lIz.js.map → helpers-DfV6HlgI.js.map} +1 -1
  76. package/dist/index.js +21 -22
  77. package/dist/index.js.map +1 -1
  78. package/dist/{init-D77HLYw2.js → init-D_en8rGZ.js} +5 -6
  79. package/dist/{init-D77HLYw2.js.map → init-D_en8rGZ.js.map} +1 -1
  80. package/dist/logger/DefaultLogger.js +14 -15
  81. package/dist/logger/ILogger.js +1 -1
  82. package/dist/logger/Logger.js +14 -15
  83. package/dist/plugins/index.js +15 -16
  84. package/dist/plugins/plugin-runtime/CommandKitPluginRuntime.js +14 -15
  85. package/dist/plugins/plugin-runtime/CompilerPluginRuntime.js +35 -2
  86. package/dist/plugins/plugin-runtime/builtin/CommonDirectiveTransformer.js +14 -15
  87. package/dist/plugins/plugin-runtime/builtin/MacroPlugin.js +14 -15
  88. package/dist/plugins/plugin-runtime/runtime.js +1 -1
  89. package/dist/{resolve-file-url-DHTQj2mU.js → resolve-file-url-9aPt6A_n.js} +1 -1
  90. package/dist/{resolve-file-url-DHTQj2mU.js.map → resolve-file-url-9aPt6A_n.js.map} +1 -1
  91. package/dist/{signals-CMIyUXUZ.js → signals-lSAO5hOr.js} +2 -2
  92. package/dist/{signals-CMIyUXUZ.js.map → signals-lSAO5hOr.js.map} +1 -1
  93. package/dist/{store-CiqLHedg.js → store-CyzliDXj.js} +1 -1
  94. package/dist/{store-CiqLHedg.js.map → store-CyzliDXj.js.map} +1 -1
  95. package/dist/{type-checker-BLpiXCUL.js → type-checker-BhbQMKkv.js} +2 -2
  96. package/dist/{type-checker-BLpiXCUL.js.map → type-checker-BhbQMKkv.js.map} +1 -1
  97. package/dist/{types-package-BY7QWDFc.js → types-package-MDczrp9f.js} +1 -1
  98. package/dist/{types-package-BY7QWDFc.js.map → types-package-MDczrp9f.js.map} +1 -1
  99. package/dist/utils/dev-hooks.js +14 -15
  100. package/dist/utils/resolve-file-url.js +1 -1
  101. package/dist/utils/types-package.js +1 -1
  102. package/dist/utils/utilities.js +14 -15
  103. package/dist/{utils-DCSnVAZ6.js → utils-n4MoGDDR.js} +1 -1
  104. package/dist/{utils-DCSnVAZ6.js.map → utils-n4MoGDDR.js.map} +1 -1
  105. package/dist/{version-Cc7O2Q-L.js → version-YuWSVn4x.js} +2 -2
  106. package/dist/{version-Cc7O2Q-L.js.map → version-YuWSVn4x.js.map} +1 -1
  107. package/dist/version.js +1 -1
  108. package/package.json +2 -2
  109. package/dist/CommandKit-CGSAQCVq.js.map +0 -1
  110. package/dist/CompilerPluginRuntime-OliJW0v-.js +0 -171
  111. package/dist/CompilerPluginRuntime-OliJW0v-.js.map +0 -1
  112. /package/dist/{ILogger-dQ7Y9X1f.js → ILogger-BMIMljYD.js} +0 -0
  113. /package/dist/{app-HN1cVg8J.js → app-gCenKq8k.js} +0 -0
  114. /package/dist/{router-DHnFRADH.js → router-wA3kFzES.js} +0 -0
  115. /package/dist/{runtime-DB9CiPfe.js → runtime-5fxB4uhe.js} +0 -0
@@ -1,171 +0,0 @@
1
- const require_chunk = require('./chunk-nOFOJqeH.js');
2
- const node_async_hooks = require_chunk.__toESM(require("node:async_hooks"));
3
-
4
- //#region src/plugins/plugin-runtime/CompilerPluginRuntime.ts
5
- /**
6
- * Enum representing the execution mode of a plugin.
7
- * It can be either 'activate' or 'deactivate'.
8
- * @private
9
- */
10
- var PluginExecutionMode = /* @__PURE__ */ function(PluginExecutionMode$1) {
11
- PluginExecutionMode$1["Activate"] = "activate";
12
- PluginExecutionMode$1["Deactivate"] = "deactivate";
13
- return PluginExecutionMode$1;
14
- }(PluginExecutionMode || {});
15
- /**
16
- * CompilerPluginRuntime is a runtime for managing compiler plugins in CommandKit.
17
- */
18
- var CompilerPluginRuntime = class {
19
- name = "CompilerPluginRuntime";
20
- initialized = false;
21
- templates = /* @__PURE__ */ new Map();
22
- #pluginContext = new node_async_hooks.AsyncLocalStorage();
23
- /**
24
- * Creates a new instance of CompilerPluginRuntime.
25
- * @param plugins An array of compiler plugins to be managed by this runtime.
26
- */
27
- constructor(plugins) {
28
- this.plugins = plugins;
29
- }
30
- /**
31
- * Returns the plugins managed by this runtime.
32
- */
33
- getPlugins() {
34
- return this.plugins;
35
- }
36
- /**
37
- * Checks if there are no plugins registered in this runtime.
38
- */
39
- isEmpty() {
40
- return !this.plugins.length;
41
- }
42
- /**
43
- * Registers a template handler for a given name.
44
- * This method must be called inside the activate() method of a plugin.
45
- * @param name - The name of the template to register.
46
- * @param handler - The handler function for the template.
47
- */
48
- registerTemplate(name, handler) {
49
- const ctx = this.#pluginContext.getStore();
50
- if (!ctx || ctx.mode !== PluginExecutionMode.Activate) throw new Error("registerTemplate() must be called inside activate() method");
51
- if (this.templates.has(name)) throw new Error(`Template "${name}" already exists`);
52
- this.templates.set(name, {
53
- handler,
54
- plugin: ctx.plugin
55
- });
56
- }
57
- /**
58
- * Unregisters a template handler for a given name.
59
- * This method must be called inside the deactivate() method of a plugin.
60
- * @param name - The name of the template to unregister.
61
- */
62
- unregisterTemplate(name) {
63
- const ctx = this.#pluginContext.getStore();
64
- if (!ctx || ctx.mode !== PluginExecutionMode.Deactivate) throw new Error("unregisterTemplate() must be called inside deactivate() method");
65
- const template = this.templates.get(name);
66
- if (!template) throw new Error(`Template "${name}" does not exist`);
67
- if (template.plugin !== ctx.plugin) throw new Error(`Template "${name}" is owned by plugin "${template.plugin.name}" and cannot be unregistered by "${ctx.plugin.name}"`);
68
- this.templates.delete(name);
69
- }
70
- /**
71
- * Retrieves a template handler by its name.
72
- * @param name - The name of the template to retrieve.
73
- * @returns The template handler if found, otherwise undefined.
74
- */
75
- getTemplate(name) {
76
- var _this$templates$get;
77
- return (_this$templates$get = this.templates.get(name)) === null || _this$templates$get === void 0 ? void 0 : _this$templates$get.handler;
78
- }
79
- /**
80
- * Returns a map of all registered templates with their handlers.
81
- * The keys are the template names and the values are the template handlers.
82
- */
83
- getTemplates() {
84
- return new Map(Array.from(this.templates.entries()).map(([name, entry]) => [name, entry.handler]));
85
- }
86
- /**
87
- * Transforms the given code using all registered plugins.
88
- * Each plugin's transform method is called in sequence, allowing them to modify the code.
89
- * @param code - The code to be transformed.
90
- * @param id - The identifier for the code being transformed (e.g., filename).
91
- * @returns An object containing the transformed code and an optional source map.
92
- */
93
- async transform(code, id) {
94
- let map = null;
95
- for (const plugin of this.plugins) try {
96
- var _plugin$transform;
97
- const res = await ((_plugin$transform = plugin.transform) === null || _plugin$transform === void 0 ? void 0 : _plugin$transform.call(plugin, {
98
- code,
99
- id
100
- }));
101
- if (!res) continue;
102
- if (res.code) code = res.code;
103
- if (res.map) map = res.map;
104
- } catch (e) {
105
- const err = e instanceof Error ? e : new Error(e);
106
- throw new Error(`Plugin ${plugin.name} failed to transform: ${err.message}`);
107
- }
108
- return {
109
- code,
110
- map
111
- };
112
- }
113
- /**
114
- * Initializes the plugin runtime by activating all registered plugins.
115
- * This method should be called once to set up the plugins.
116
- */
117
- async init() {
118
- if (this.initialized) return;
119
- for (const plugin of this.plugins) try {
120
- await this.#pluginContext.run({
121
- plugin,
122
- mode: PluginExecutionMode.Activate
123
- }, async () => {
124
- var _plugin$activate;
125
- await ((_plugin$activate = plugin.activate) === null || _plugin$activate === void 0 ? void 0 : _plugin$activate.call(plugin, this));
126
- });
127
- } catch (e) {
128
- console.error(`Plugin ${plugin.name} failed to activate with ${(e === null || e === void 0 ? void 0 : e.stack) || e}`);
129
- }
130
- this.initialized = true;
131
- }
132
- /**
133
- * Destroys the plugin runtime by deactivating all registered plugins.
134
- * This method should be called when the runtime is no longer needed.
135
- */
136
- async destroy() {
137
- if (!this.initialized) return;
138
- for (const plugin of this.plugins) try {
139
- await this.#pluginContext.run({
140
- plugin,
141
- mode: PluginExecutionMode.Deactivate
142
- }, async () => {
143
- var _plugin$deactivate;
144
- await ((_plugin$deactivate = plugin.deactivate) === null || _plugin$deactivate === void 0 ? void 0 : _plugin$deactivate.call(plugin, this));
145
- });
146
- } catch (e) {
147
- console.error(`Plugin ${plugin.name} failed to deactivate with ${(e === null || e === void 0 ? void 0 : e.stack) || e}`);
148
- }
149
- this.initialized = false;
150
- }
151
- /**
152
- * Converts the plugin runtime to a JSON representation.
153
- * This is useful for serialization or debugging purposes.
154
- * @returns An object containing the name of the runtime and the transform method.
155
- */
156
- toJSON() {
157
- return {
158
- name: this.name,
159
- transform: this.transform.bind(this)
160
- };
161
- }
162
- };
163
-
164
- //#endregion
165
- Object.defineProperty(exports, 'CompilerPluginRuntime', {
166
- enumerable: true,
167
- get: function () {
168
- return CompilerPluginRuntime;
169
- }
170
- });
171
- //# sourceMappingURL=CompilerPluginRuntime-OliJW0v-.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CompilerPluginRuntime-OliJW0v-.js","names":[],"sources":["../src/plugins/plugin-runtime/CompilerPluginRuntime.ts"],"sourcesContent":["import {\n CompilerPlugin,\n MaybeFalsey,\n TransformedResult,\n TemplateHandler,\n} from '..';\nimport { AsyncLocalStorage } from 'node:async_hooks';\n\n/**\n * Interface representing a template entry in the plugin runtime.\n * It contains a handler function for the template and the plugin that owns it.\n * @private\n */\ninterface TemplateEntry {\n handler: TemplateHandler;\n plugin: CompilerPlugin;\n}\n\n/**\n * Enum representing the execution mode of a plugin.\n * It can be either 'activate' or 'deactivate'.\n * @private\n */\nenum PluginExecutionMode {\n Activate = 'activate',\n Deactivate = 'deactivate',\n}\n\n/**\n * Context for the plugin execution, containing the plugin and its execution mode.\n * This is used to manage the state of the plugin during activation and deactivation.\n * @private\n */\ntype PluginContext = {\n plugin: CompilerPlugin;\n mode: PluginExecutionMode;\n};\n\n/**\n * CompilerPluginRuntime is a runtime for managing compiler plugins in CommandKit.\n */\nexport class CompilerPluginRuntime {\n public readonly name = 'CompilerPluginRuntime';\n private initialized = false;\n private templates = new Map<string, TemplateEntry>();\n #pluginContext = new AsyncLocalStorage<PluginContext>();\n\n /**\n * Creates a new instance of CompilerPluginRuntime.\n * @param plugins An array of compiler plugins to be managed by this runtime.\n */\n public constructor(private readonly plugins: CompilerPlugin[]) {}\n\n /**\n * Returns the plugins managed by this runtime.\n */\n public getPlugins() {\n return this.plugins;\n }\n\n /**\n * Checks if there are no plugins registered in this runtime.\n */\n public isEmpty() {\n return !this.plugins.length;\n }\n\n /**\n * Registers a template handler for a given name.\n * This method must be called inside the activate() method of a plugin.\n * @param name - The name of the template to register.\n * @param handler - The handler function for the template.\n */\n public registerTemplate(name: string, handler: TemplateHandler) {\n const ctx = this.#pluginContext.getStore();\n\n if (!ctx || ctx.mode !== PluginExecutionMode.Activate) {\n throw new Error(\n 'registerTemplate() must be called inside activate() method',\n );\n }\n\n if (this.templates.has(name)) {\n throw new Error(`Template \"${name}\" already exists`);\n }\n\n this.templates.set(name, { handler, plugin: ctx.plugin });\n }\n\n /**\n * Unregisters a template handler for a given name.\n * This method must be called inside the deactivate() method of a plugin.\n * @param name - The name of the template to unregister.\n */\n public unregisterTemplate(name: string) {\n const ctx = this.#pluginContext.getStore();\n\n if (!ctx || ctx.mode !== PluginExecutionMode.Deactivate) {\n throw new Error(\n 'unregisterTemplate() must be called inside deactivate() method',\n );\n }\n\n const template = this.templates.get(name);\n if (!template) {\n throw new Error(`Template \"${name}\" does not exist`);\n }\n\n if (template.plugin !== ctx.plugin) {\n throw new Error(\n `Template \"${name}\" is owned by plugin \"${template.plugin.name}\" and cannot be unregistered by \"${ctx.plugin.name}\"`,\n );\n }\n\n this.templates.delete(name);\n }\n\n /**\n * Retrieves a template handler by its name.\n * @param name - The name of the template to retrieve.\n * @returns The template handler if found, otherwise undefined.\n */\n public getTemplate(name: string): TemplateHandler | undefined {\n return this.templates.get(name)?.handler;\n }\n\n /**\n * Returns a map of all registered templates with their handlers.\n * The keys are the template names and the values are the template handlers.\n */\n public getTemplates(): Map<string, TemplateHandler> {\n return new Map(\n Array.from(this.templates.entries()).map(([name, entry]) => [\n name,\n entry.handler,\n ]),\n );\n }\n\n /**\n * Transforms the given code using all registered plugins.\n * Each plugin's transform method is called in sequence, allowing them to modify the code.\n * @param code - The code to be transformed.\n * @param id - The identifier for the code being transformed (e.g., filename).\n * @returns An object containing the transformed code and an optional source map.\n */\n public async transform(\n code: string,\n id: string,\n ): Promise<{ code: string; map: string | null }> {\n let map: string | null = null;\n for (const plugin of this.plugins) {\n try {\n const res: MaybeFalsey<TransformedResult> = await plugin.transform?.({\n code,\n id,\n });\n\n if (!res) continue;\n\n if (res.code) {\n code = res.code;\n }\n\n if (res.map) {\n map = res.map;\n }\n } catch (e: any) {\n const err = e instanceof Error ? e : new Error(e);\n throw new Error(\n `Plugin ${plugin.name} failed to transform: ${err.message}`,\n );\n }\n }\n\n return {\n code,\n map,\n };\n }\n\n /**\n * Initializes the plugin runtime by activating all registered plugins.\n * This method should be called once to set up the plugins.\n */\n public async init() {\n if (this.initialized) return;\n\n for (const plugin of this.plugins) {\n try {\n await this.#pluginContext.run(\n {\n plugin,\n mode: PluginExecutionMode.Activate,\n },\n async () => {\n await plugin.activate?.(this);\n },\n );\n } catch (e: any) {\n console.error(\n `Plugin ${plugin.name} failed to activate with ${e?.stack || e}`,\n );\n }\n }\n\n this.initialized = true;\n }\n\n /**\n * Destroys the plugin runtime by deactivating all registered plugins.\n * This method should be called when the runtime is no longer needed.\n */\n public async destroy() {\n if (!this.initialized) return;\n\n for (const plugin of this.plugins) {\n try {\n await this.#pluginContext.run(\n {\n plugin,\n mode: PluginExecutionMode.Deactivate,\n },\n async () => {\n await plugin.deactivate?.(this);\n },\n );\n } catch (e: any) {\n console.error(\n `Plugin ${plugin.name} failed to deactivate with ${e?.stack || e}`,\n );\n }\n }\n\n this.initialized = false;\n }\n\n /**\n * Converts the plugin runtime to a JSON representation.\n * This is useful for serialization or debugging purposes.\n * @returns An object containing the name of the runtime and the transform method.\n */\n public toJSON() {\n return {\n name: this.name,\n transform: this.transform.bind(this),\n };\n }\n}\n"],"mappings":";;;;;;;;;AAuBA,IAAK,sEAAL;AACE;AACA;;AACF,EAHK;;;;AAkBL,IAAa,wBAAb,MAAmC;CACjC,AAAgB,OAAO;CACvB,AAAQ,cAAc;CACtB,AAAQ,4BAAY,IAAI;CACxB,iBAAiB,IAAI;;;;;CAMrB,AAAO,YAA6B,SAA2B;EAA3B;CAA4B;;;;CAKhE,AAAO,aAAa;AAClB,SAAO,KAAK;CACd;;;;CAKA,AAAO,UAAU;AACf,UAAQ,KAAK,QAAQ;CACvB;;;;;;;CAQA,AAAO,iBAAiB,MAAc,SAA0B;EAC9D,MAAM,MAAM,KAAK,eAAe,UAAU;AAE1C,OAAK,OAAO,IAAI,SAAS,oBAAoB,SAC3C,OAAM,IAAI,MACR;AAIJ,MAAI,KAAK,UAAU,IAAI,KAAK,CAC1B,OAAM,IAAI,OAAO,YAAY,KAAK;AAGpC,OAAK,UAAU,IAAI,MAAM;GAAE;GAAS,QAAQ,IAAI;EAAQ,EAAC;CAC3D;;;;;;CAOA,AAAO,mBAAmB,MAAc;EACtC,MAAM,MAAM,KAAK,eAAe,UAAU;AAE1C,OAAK,OAAO,IAAI,SAAS,oBAAoB,WAC3C,OAAM,IAAI,MACR;EAIJ,MAAM,WAAW,KAAK,UAAU,IAAI,KAAK;AACzC,OAAK,SACH,OAAM,IAAI,OAAO,YAAY,KAAK;AAGpC,MAAI,SAAS,WAAW,IAAI,OAC1B,OAAM,IAAI,OACP,YAAY,KAAK,wBAAwB,SAAS,OAAO,KAAK,mCAAmC,IAAI,OAAO,KAAK;AAItH,OAAK,UAAU,OAAO,KAAK;CAC7B;;;;;;CAOA,AAAO,YAAY,MAA2C;;AAC5D,gCAAO,KAAK,UAAU,IAAI,KAAK,4EAAE;CACnC;;;;;CAMA,AAAO,eAA6C;AAClD,SAAO,IAAI,IACT,MAAM,KAAK,KAAK,UAAU,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,MAAM,KAAK,CAC5D,MACA,MAAM,OAAQ,EACb;CAEL;;;;;;;;CASA,MAAa,UACb,MACA,IAC8C;EAC5C,IAAI,MAAqB;AACzB,OAAK,MAAM,UAAU,KAAK,QACxB,KAAI;;GACF,MAAM,MAAsC,4BAAM,OAAO,+DAAP,+BAAmB;IACnE;IACA;GACD,EAAC;AAEF,QAAK,IAAK;AAEV,OAAI,IAAI,KACN,QAAO,IAAI;AAGb,OAAI,IAAI,IACN,OAAM,IAAI;EAEb,SAAQ,GAAQ;GACf,MAAM,MAAM,aAAa,QAAQ,IAAI,IAAI,MAAM;AAC/C,SAAM,IAAI,OACP,SAAS,OAAO,KAAK,wBAAwB,IAAI,QAAQ;EAE9D;AAGF,SAAO;GACL;GACA;EACD;CACH;;;;;CAMA,MAAa,OAAO;AAClB,MAAI,KAAK,YAAa;AAEtB,OAAK,MAAM,UAAU,KAAK,QACxB,KAAI;AACF,SAAM,KAAK,eAAe,IACxB;IACE;IACA,MAAM,oBAAoB;GAC3B,GACD,YAAY;;AACV,+BAAM,OAAO,6DAAP,8BAAkB,KAAK;GAC9B,EACF;EACF,SAAQ,GAAQ;AACf,WAAQ,OACL,SAAS,OAAO,KAAK,kEAA2B,EAAG,UAAS,EAAE,EAChE;EACH;AAGF,OAAK,cAAc;CACrB;;;;;CAMA,MAAa,UAAU;AACrB,OAAK,KAAK,YAAa;AAEvB,OAAK,MAAM,UAAU,KAAK,QACxB,KAAI;AACF,SAAM,KAAK,eAAe,IACxB;IACE;IACA,MAAM,oBAAoB;GAC3B,GACD,YAAY;;AACV,iCAAM,OAAO,iEAAP,gCAAoB,KAAK;GAChC,EACF;EACF,SAAQ,GAAQ;AACf,WAAQ,OACL,SAAS,OAAO,KAAK,oEAA6B,EAAG,UAAS,EAAE,EAClE;EACH;AAGF,OAAK,cAAc;CACrB;;;;;;CAOA,AAAO,SAAS;AACd,SAAO;GACL,MAAM,KAAK;GACX,WAAW,KAAK,UAAU,KAAK,KAAK;EACrC;CACH;AACF"}
File without changes
File without changes