@andrebuzeli/git-mcp 4.0.21 → 5.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 (65) hide show
  1. package/README.md +59 -32
  2. package/dist/config.d.ts +0 -2
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +0 -27
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.d.ts +0 -1
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +54 -3
  9. package/dist/index.js.map +1 -1
  10. package/dist/providers/gitea-provider.d.ts +5 -5
  11. package/dist/providers/gitea-provider.d.ts.map +1 -1
  12. package/dist/providers/gitea-provider.js +75 -220
  13. package/dist/providers/gitea-provider.js.map +1 -1
  14. package/dist/providers/github-provider.d.ts +0 -48
  15. package/dist/providers/github-provider.d.ts.map +1 -1
  16. package/dist/providers/github-provider.js +805 -849
  17. package/dist/providers/github-provider.js.map +1 -1
  18. package/dist/providers/provider-factory.d.ts +1 -1
  19. package/dist/providers/provider-factory.d.ts.map +1 -1
  20. package/dist/providers/provider-factory.js +4 -14
  21. package/dist/providers/provider-factory.js.map +1 -1
  22. package/dist/providers/types.d.ts +1 -1
  23. package/dist/providers/types.d.ts.map +1 -1
  24. package/dist/server.d.ts.map +1 -1
  25. package/dist/server.js +91 -37
  26. package/dist/server.js.map +1 -1
  27. package/dist/tools/git-files.d.ts.map +1 -1
  28. package/dist/tools/git-files.js +103 -5
  29. package/dist/tools/git-files.js.map +1 -1
  30. package/dist/tools/git-sync.d.ts.map +1 -1
  31. package/dist/tools/git-sync.js +104 -6
  32. package/dist/tools/git-sync.js.map +1 -1
  33. package/dist/tools/git-workflow.d.ts +55 -0
  34. package/dist/tools/git-workflow.d.ts.map +1 -1
  35. package/dist/tools/git-workflow.js +660 -7
  36. package/dist/tools/git-workflow.js.map +1 -1
  37. package/dist/utils/auto-detection.js +1 -1
  38. package/dist/utils/auto-detection.js.map +1 -1
  39. package/dist/utils/configuration-error-generator.d.ts +41 -0
  40. package/dist/utils/configuration-error-generator.d.ts.map +1 -0
  41. package/dist/utils/configuration-error-generator.js +168 -0
  42. package/dist/utils/configuration-error-generator.js.map +1 -0
  43. package/dist/utils/configuration-validator.d.ts +67 -0
  44. package/dist/utils/configuration-validator.d.ts.map +1 -0
  45. package/dist/utils/configuration-validator.js +257 -0
  46. package/dist/utils/configuration-validator.js.map +1 -0
  47. package/dist/utils/multi-provider-error-handler.d.ts +75 -0
  48. package/dist/utils/multi-provider-error-handler.d.ts.map +1 -0
  49. package/dist/utils/multi-provider-error-handler.js +276 -0
  50. package/dist/utils/multi-provider-error-handler.js.map +1 -0
  51. package/dist/utils/multi-provider-operation-handler.d.ts +113 -0
  52. package/dist/utils/multi-provider-operation-handler.d.ts.map +1 -0
  53. package/dist/utils/multi-provider-operation-handler.js +303 -0
  54. package/dist/utils/multi-provider-operation-handler.js.map +1 -0
  55. package/dist/utils/operation-error-handler.d.ts +69 -0
  56. package/dist/utils/operation-error-handler.d.ts.map +1 -0
  57. package/dist/utils/operation-error-handler.js +277 -0
  58. package/dist/utils/operation-error-handler.js.map +1 -0
  59. package/dist/utils/provider-operation-handler.d.ts +80 -0
  60. package/dist/utils/provider-operation-handler.d.ts.map +1 -0
  61. package/dist/utils/provider-operation-handler.js +201 -0
  62. package/dist/utils/provider-operation-handler.js.map +1 -0
  63. package/dist/utils/response-helper.js +1 -1
  64. package/dist/utils/response-helper.js.map +1 -1
  65. package/package.json +60 -60
@@ -0,0 +1,113 @@
1
+ import { VcsOperations } from '../providers/types.js';
2
+ /**
3
+ * Result interface for individual provider operations within multi-provider context
4
+ */
5
+ export interface ProviderOperationResult<T> {
6
+ success: boolean;
7
+ data?: T;
8
+ error?: string;
9
+ provider: 'github' | 'gitea';
10
+ executionTime?: number;
11
+ }
12
+ /**
13
+ * Result interface for multi-provider operations
14
+ */
15
+ export interface MultiProviderOperationResult<T> {
16
+ success: boolean;
17
+ message: string;
18
+ data: {
19
+ github?: ProviderOperationResult<T>;
20
+ gitea?: ProviderOperationResult<T>;
21
+ };
22
+ warnings?: string[];
23
+ summary: {
24
+ totalProviders: number;
25
+ successfulProviders: number;
26
+ failedProviders: number;
27
+ partialSuccess: boolean;
28
+ };
29
+ }
30
+ /**
31
+ * Configuration status for multi-provider operations
32
+ */
33
+ export interface MultiProviderConfiguration {
34
+ github: {
35
+ configured: boolean;
36
+ available: boolean;
37
+ error?: string;
38
+ };
39
+ gitea: {
40
+ configured: boolean;
41
+ available: boolean;
42
+ error?: string;
43
+ };
44
+ totalConfigured: number;
45
+ hasAnyProvider: boolean;
46
+ }
47
+ /**
48
+ * Multi-Provider Operation Handler
49
+ * Handles simultaneous execution on both GitHub and Gitea providers
50
+ * with comprehensive error handling and partial success scenarios
51
+ */
52
+ export declare class MultiProviderOperationHandler {
53
+ /**
54
+ * Execute operation on both providers simultaneously
55
+ */
56
+ static executeOnBoth<T>(operation: (provider: VcsOperations) => Promise<T>): Promise<MultiProviderOperationResult<T>>;
57
+ /**
58
+ * Execute operation on a specific provider
59
+ */
60
+ private static executeOnProvider;
61
+ /**
62
+ * Handle partial success scenarios where one provider fails
63
+ */
64
+ static handlePartialSuccess<T>(githubResult?: ProviderOperationResult<T>, giteaResult?: ProviderOperationResult<T>): {
65
+ success: boolean;
66
+ message: string;
67
+ warnings: string[];
68
+ };
69
+ /**
70
+ * Aggregate results from multiple providers
71
+ */
72
+ private static aggregateResults;
73
+ /**
74
+ * Get provider configuration status
75
+ */
76
+ static getProviderConfiguration(): MultiProviderConfiguration;
77
+ /**
78
+ * Generate configuration warnings for missing providers
79
+ */
80
+ private static generateConfigurationWarnings;
81
+ /**
82
+ * Create result for when no providers are configured
83
+ */
84
+ private static createNoProvidersResult;
85
+ /**
86
+ * Create failed result for a specific provider
87
+ */
88
+ private static createFailedResult;
89
+ /**
90
+ * Check if multi-provider operations are possible
91
+ */
92
+ static canExecuteMultiProvider(): {
93
+ possible: boolean;
94
+ reason?: string;
95
+ availableProviders: ('github' | 'gitea')[];
96
+ };
97
+ /**
98
+ * Get detailed provider status for debugging
99
+ */
100
+ static getDetailedProviderStatus(): {
101
+ github: {
102
+ configured: boolean;
103
+ error?: string;
104
+ configurationHelp?: any;
105
+ };
106
+ gitea: {
107
+ configured: boolean;
108
+ error?: string;
109
+ configurationHelp?: any;
110
+ };
111
+ };
112
+ }
113
+ //# sourceMappingURL=multi-provider-operation-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-provider-operation-handler.d.ts","sourceRoot":"","sources":["../../src/utils/multi-provider-operation-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,303 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiProviderOperationHandler = void 0;
4
+ const index_js_1 = require("../providers/index.js");
5
+ const configuration_validator_js_1 = require("./configuration-validator.js");
6
+ const configuration_error_generator_js_1 = require("./configuration-error-generator.js");
7
+ const operation_error_handler_js_1 = require("./operation-error-handler.js");
8
+ /**
9
+ * Multi-Provider Operation Handler
10
+ * Handles simultaneous execution on both GitHub and Gitea providers
11
+ * with comprehensive error handling and partial success scenarios
12
+ */
13
+ class MultiProviderOperationHandler {
14
+ /**
15
+ * Execute operation on both providers simultaneously
16
+ */
17
+ static async executeOnBoth(operation) {
18
+ const startTime = Date.now();
19
+ // Get provider configuration status
20
+ const config = this.getProviderConfiguration();
21
+ // Handle case where no providers are configured
22
+ if (!config.hasAnyProvider) {
23
+ return this.createNoProvidersResult();
24
+ }
25
+ // Execute operations on available providers
26
+ const promises = [];
27
+ if (config.github.configured) {
28
+ promises.push(this.executeOnProvider('github', operation));
29
+ }
30
+ if (config.gitea.configured) {
31
+ promises.push(this.executeOnProvider('gitea', operation));
32
+ }
33
+ // Wait for all operations to complete
34
+ const results = await Promise.allSettled(promises);
35
+ // Process results
36
+ let githubResult;
37
+ let giteaResult;
38
+ let resultIndex = 0;
39
+ if (config.github.configured) {
40
+ const result = results[resultIndex];
41
+ githubResult = result.status === 'fulfilled'
42
+ ? result.value
43
+ : this.createFailedResult('github', result.reason);
44
+ resultIndex++;
45
+ }
46
+ if (config.gitea.configured) {
47
+ const result = results[resultIndex];
48
+ giteaResult = result.status === 'fulfilled'
49
+ ? result.value
50
+ : this.createFailedResult('gitea', result.reason);
51
+ }
52
+ return this.aggregateResults(config, githubResult, giteaResult);
53
+ }
54
+ /**
55
+ * Execute operation on a specific provider
56
+ */
57
+ static async executeOnProvider(providerName, operation) {
58
+ const startTime = Date.now();
59
+ try {
60
+ // Get provider instance
61
+ const providerInstance = index_js_1.globalProviderFactory.getProvider(providerName);
62
+ if (!providerInstance) {
63
+ const configError = providerName === 'github'
64
+ ? configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGitHubError()
65
+ : configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGiteaError();
66
+ return {
67
+ success: false,
68
+ provider: providerName,
69
+ error: `${providerName} provider is not configured. ${configuration_error_generator_js_1.ConfigurationErrorGenerator.formatErrorMessage(configError)}`,
70
+ executionTime: Date.now() - startTime
71
+ };
72
+ }
73
+ // Execute operation
74
+ const result = await operation(providerInstance);
75
+ return {
76
+ success: true,
77
+ provider: providerName,
78
+ data: result,
79
+ executionTime: Date.now() - startTime
80
+ };
81
+ }
82
+ catch (error) {
83
+ const errorResponse = operation_error_handler_js_1.OperationErrorHandler.createErrorResponse(error instanceof Error ? error : new Error(String(error)), providerName);
84
+ return {
85
+ success: false,
86
+ provider: providerName,
87
+ error: errorResponse.formattedMessage,
88
+ executionTime: Date.now() - startTime
89
+ };
90
+ }
91
+ }
92
+ /**
93
+ * Handle partial success scenarios where one provider fails
94
+ */
95
+ static handlePartialSuccess(githubResult, giteaResult) {
96
+ const warnings = [];
97
+ const githubSuccess = githubResult?.success ?? false;
98
+ const giteaSuccess = giteaResult?.success ?? false;
99
+ if (githubSuccess && giteaSuccess) {
100
+ return {
101
+ success: true,
102
+ message: 'Operation completed successfully on both providers',
103
+ warnings: []
104
+ };
105
+ }
106
+ if (githubSuccess && !giteaSuccess) {
107
+ warnings.push(`Gitea operation failed: ${giteaResult?.error || 'Unknown error'}`);
108
+ return {
109
+ success: true, // Partial success
110
+ message: 'Operation completed on GitHub, failed on Gitea',
111
+ warnings
112
+ };
113
+ }
114
+ if (!githubSuccess && giteaSuccess) {
115
+ warnings.push(`GitHub operation failed: ${githubResult?.error || 'Unknown error'}`);
116
+ return {
117
+ success: true, // Partial success
118
+ message: 'Operation completed on Gitea, failed on GitHub',
119
+ warnings
120
+ };
121
+ }
122
+ // Both failed
123
+ if (githubResult)
124
+ warnings.push(`GitHub: ${githubResult.error}`);
125
+ if (giteaResult)
126
+ warnings.push(`Gitea: ${giteaResult.error}`);
127
+ return {
128
+ success: false,
129
+ message: 'Operation failed on both providers',
130
+ warnings
131
+ };
132
+ }
133
+ /**
134
+ * Aggregate results from multiple providers
135
+ */
136
+ static aggregateResults(config, githubResult, giteaResult) {
137
+ const partialResult = this.handlePartialSuccess(githubResult, giteaResult);
138
+ const successfulProviders = [githubResult, giteaResult]
139
+ .filter(result => result?.success).length;
140
+ const failedProviders = [githubResult, giteaResult]
141
+ .filter(result => result && !result.success).length;
142
+ const result = {
143
+ success: partialResult.success,
144
+ message: partialResult.message,
145
+ data: {},
146
+ summary: {
147
+ totalProviders: config.totalConfigured,
148
+ successfulProviders,
149
+ failedProviders,
150
+ partialSuccess: successfulProviders > 0 && failedProviders > 0
151
+ }
152
+ };
153
+ // Add provider results
154
+ if (githubResult) {
155
+ result.data.github = githubResult;
156
+ }
157
+ if (giteaResult) {
158
+ result.data.gitea = giteaResult;
159
+ }
160
+ // Add warnings if any
161
+ if (partialResult.warnings.length > 0) {
162
+ result.warnings = partialResult.warnings;
163
+ }
164
+ // Add configuration warnings for missing providers
165
+ const configWarnings = this.generateConfigurationWarnings(config);
166
+ if (configWarnings.length > 0) {
167
+ result.warnings = [...(result.warnings || []), ...configWarnings];
168
+ }
169
+ return result;
170
+ }
171
+ /**
172
+ * Get provider configuration status
173
+ */
174
+ static getProviderConfiguration() {
175
+ const githubValidation = configuration_validator_js_1.ConfigurationValidator.validateGitHubConfiguration();
176
+ const giteaValidation = configuration_validator_js_1.ConfigurationValidator.validateGiteaConfiguration();
177
+ const github = {
178
+ configured: githubValidation.valid,
179
+ available: githubValidation.valid,
180
+ error: githubValidation.error?.message
181
+ };
182
+ const gitea = {
183
+ configured: giteaValidation.valid,
184
+ available: giteaValidation.valid,
185
+ error: giteaValidation.error?.message
186
+ };
187
+ const totalConfigured = (github.configured ? 1 : 0) + (gitea.configured ? 1 : 0);
188
+ return {
189
+ github,
190
+ gitea,
191
+ totalConfigured,
192
+ hasAnyProvider: totalConfigured > 0
193
+ };
194
+ }
195
+ /**
196
+ * Generate configuration warnings for missing providers
197
+ */
198
+ static generateConfigurationWarnings(config) {
199
+ const warnings = [];
200
+ if (!config.github.configured && !config.gitea.configured) {
201
+ warnings.push('No providers are configured. Please configure at least one provider (GitHub or Gitea).');
202
+ }
203
+ else {
204
+ if (!config.github.configured) {
205
+ warnings.push('GitHub provider is not configured. Configure GITHUB_TOKEN to enable GitHub operations.');
206
+ }
207
+ if (!config.gitea.configured) {
208
+ warnings.push('Gitea provider is not configured. Configure GITEA_URL and GITEA_TOKEN to enable Gitea operations.');
209
+ }
210
+ }
211
+ return warnings;
212
+ }
213
+ /**
214
+ * Create result for when no providers are configured
215
+ */
216
+ static createNoProvidersResult() {
217
+ const githubError = configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGitHubError();
218
+ const giteaError = configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGiteaError();
219
+ return {
220
+ success: false,
221
+ message: 'No providers are configured',
222
+ data: {
223
+ github: {
224
+ success: false,
225
+ provider: 'github',
226
+ error: configuration_error_generator_js_1.ConfigurationErrorGenerator.formatErrorMessage(githubError)
227
+ },
228
+ gitea: {
229
+ success: false,
230
+ provider: 'gitea',
231
+ error: configuration_error_generator_js_1.ConfigurationErrorGenerator.formatErrorMessage(giteaError)
232
+ }
233
+ },
234
+ warnings: [
235
+ 'Both GitHub and Gitea providers are not configured.',
236
+ 'Please configure at least one provider to use multi-provider operations.'
237
+ ],
238
+ summary: {
239
+ totalProviders: 0,
240
+ successfulProviders: 0,
241
+ failedProviders: 0,
242
+ partialSuccess: false
243
+ }
244
+ };
245
+ }
246
+ /**
247
+ * Create failed result for a specific provider
248
+ */
249
+ static createFailedResult(provider, reason) {
250
+ return {
251
+ success: false,
252
+ provider,
253
+ error: reason instanceof Error ? reason.message : String(reason)
254
+ };
255
+ }
256
+ /**
257
+ * Check if multi-provider operations are possible
258
+ */
259
+ static canExecuteMultiProvider() {
260
+ const config = this.getProviderConfiguration();
261
+ const availableProviders = [];
262
+ if (config.github.configured)
263
+ availableProviders.push('github');
264
+ if (config.gitea.configured)
265
+ availableProviders.push('gitea');
266
+ if (availableProviders.length === 0) {
267
+ return {
268
+ possible: false,
269
+ reason: 'No providers are configured',
270
+ availableProviders: []
271
+ };
272
+ }
273
+ return {
274
+ possible: true,
275
+ availableProviders
276
+ };
277
+ }
278
+ /**
279
+ * Get detailed provider status for debugging
280
+ */
281
+ static getDetailedProviderStatus() {
282
+ const githubValidation = configuration_validator_js_1.ConfigurationValidator.validateGitHubConfiguration();
283
+ const giteaValidation = configuration_validator_js_1.ConfigurationValidator.validateGiteaConfiguration();
284
+ return {
285
+ github: {
286
+ configured: githubValidation.valid,
287
+ error: githubValidation.error?.message,
288
+ configurationHelp: !githubValidation.valid
289
+ ? configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGitHubError()
290
+ : undefined
291
+ },
292
+ gitea: {
293
+ configured: giteaValidation.valid,
294
+ error: giteaValidation.error?.message,
295
+ configurationHelp: !giteaValidation.valid
296
+ ? configuration_error_generator_js_1.ConfigurationErrorGenerator.generateGiteaError()
297
+ : undefined
298
+ }
299
+ };
300
+ }
301
+ }
302
+ exports.MultiProviderOperationHandler = MultiProviderOperationHandler;
303
+ //# sourceMappingURL=multi-provider-operation-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multi-provider-operation-handler.js","sourceRoot":"","sources":["../../src/utils/multi-provider-operation-handler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { ConfigurationError } from './configuration-error-generator.js';
2
+ /**
3
+ * Detailed error information for operations
4
+ */
5
+ export interface OperationError {
6
+ code: string;
7
+ message: string;
8
+ provider: string;
9
+ cause: string;
10
+ solution: string;
11
+ configuration?: ConfigurationError;
12
+ troubleshooting?: string[];
13
+ }
14
+ /**
15
+ * Operation error handler for Git MCP providers
16
+ * Provides comprehensive error handling with configuration guidance
17
+ */
18
+ export declare class OperationErrorHandler {
19
+ /**
20
+ * Handle authentication errors with configuration guidance
21
+ */
22
+ static handleAuthenticationError(error: Error, provider: string): OperationError;
23
+ /**
24
+ * Handle network errors with troubleshooting steps
25
+ */
26
+ static handleNetworkError(error: Error, provider: string, endpoint?: string): OperationError;
27
+ /**
28
+ * Handle permission errors with access instructions
29
+ */
30
+ static handlePermissionError(error: Error, provider: string, operation?: string): OperationError;
31
+ /**
32
+ * Handle resource not found errors
33
+ */
34
+ static handleNotFoundError(error: Error, provider: string, resource?: string): OperationError;
35
+ /**
36
+ * Handle rate limiting errors
37
+ */
38
+ static handleRateLimitError(error: Error, provider: string): OperationError;
39
+ /**
40
+ * Handle timeout errors
41
+ */
42
+ static handleTimeoutError(error: Error, provider: string): OperationError;
43
+ /**
44
+ * Handle validation errors
45
+ */
46
+ static handleValidationError(error: Error, provider: string, field?: string): OperationError;
47
+ /**
48
+ * Handle generic API errors
49
+ */
50
+ static handleGenericError(error: Error, provider: string): OperationError;
51
+ /**
52
+ * Analyze error and return appropriate error handler result
53
+ */
54
+ static analyzeAndHandleError(error: Error, provider: string, operation?: string): OperationError;
55
+ /**
56
+ * Format operation error as user-friendly message
57
+ */
58
+ static formatErrorMessage(operationError: OperationError): string;
59
+ /**
60
+ * Create a comprehensive error response for API operations
61
+ */
62
+ static createErrorResponse(error: Error, provider: string, operation?: string): {
63
+ success: false;
64
+ error: string;
65
+ details: OperationError;
66
+ formattedMessage: string;
67
+ };
68
+ }
69
+ //# sourceMappingURL=operation-error-handler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operation-error-handler.d.ts","sourceRoot":"","sources":["../../src/utils/operation-error-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAA+B,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAErG;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;;GAGG;AACH,qBAAa,qBAAqB;IAEhC;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAmBhF;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc;IAoB5F;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc;IA2ChG;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,cAAc;IAiB7F;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAiB3E;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAiBzE;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,cAAc;IAiB5F;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,GAAG,cAAc;IAiBzE;;OAEG;IACH,MAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,cAAc;IAyDhG;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM;IAuBjE;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG;QAC9E,OAAO,EAAE,KAAK,CAAC;QACf,KAAK,EAAE,MAAM,CAAC;QACd,OAAO,EAAE,cAAc,CAAC;QACxB,gBAAgB,EAAE,MAAM,CAAC;KAC1B;CAWF"}