@andrebuzeli/git-mcp 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +346 -0
- package/dist/client.d.ts +307 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +299 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +299 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +381 -0
- package/dist/config.js.map +1 -0
- package/dist/index.d.ts +22 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +53 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/base-provider.d.ts +139 -0
- package/dist/providers/base-provider.d.ts.map +1 -0
- package/dist/providers/base-provider.js +246 -0
- package/dist/providers/base-provider.js.map +1 -0
- package/dist/providers/error-handler.d.ts +51 -0
- package/dist/providers/error-handler.d.ts.map +1 -0
- package/dist/providers/error-handler.js +170 -0
- package/dist/providers/error-handler.js.map +1 -0
- package/dist/providers/gitea-provider.d.ts +68 -0
- package/dist/providers/gitea-provider.d.ts.map +1 -0
- package/dist/providers/gitea-provider.js +515 -0
- package/dist/providers/gitea-provider.js.map +1 -0
- package/dist/providers/github-provider.d.ts +68 -0
- package/dist/providers/github-provider.d.ts.map +1 -0
- package/dist/providers/github-provider.js +518 -0
- package/dist/providers/github-provider.js.map +1 -0
- package/dist/providers/index.d.ts +13 -0
- package/dist/providers/index.d.ts.map +1 -0
- package/dist/providers/index.js +41 -0
- package/dist/providers/index.js.map +1 -0
- package/dist/providers/provider-factory.d.ts +75 -0
- package/dist/providers/provider-factory.d.ts.map +1 -0
- package/dist/providers/provider-factory.js +298 -0
- package/dist/providers/provider-factory.js.map +1 -0
- package/dist/providers/types.d.ts +276 -0
- package/dist/providers/types.d.ts.map +1 -0
- package/dist/providers/types.js +7 -0
- package/dist/providers/types.js.map +1 -0
- package/dist/server.d.ts +77 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +262 -0
- package/dist/server.js.map +1 -0
- package/dist/tools/actions.d.ts +272 -0
- package/dist/tools/actions.d.ts.map +1 -0
- package/dist/tools/actions.js +428 -0
- package/dist/tools/actions.js.map +1 -0
- package/dist/tools/analytics.d.ts +326 -0
- package/dist/tools/analytics.d.ts.map +1 -0
- package/dist/tools/analytics.js +473 -0
- package/dist/tools/analytics.js.map +1 -0
- package/dist/tools/branches.d.ts +461 -0
- package/dist/tools/branches.d.ts.map +1 -0
- package/dist/tools/branches.js +525 -0
- package/dist/tools/branches.js.map +1 -0
- package/dist/tools/code-review.d.ts +323 -0
- package/dist/tools/code-review.d.ts.map +1 -0
- package/dist/tools/code-review.js +552 -0
- package/dist/tools/code-review.js.map +1 -0
- package/dist/tools/commits.d.ts +488 -0
- package/dist/tools/commits.d.ts.map +1 -0
- package/dist/tools/commits.js +578 -0
- package/dist/tools/commits.js.map +1 -0
- package/dist/tools/deployments.d.ts +319 -0
- package/dist/tools/deployments.d.ts.map +1 -0
- package/dist/tools/deployments.js +355 -0
- package/dist/tools/deployments.js.map +1 -0
- package/dist/tools/files.d.ts +456 -0
- package/dist/tools/files.d.ts.map +1 -0
- package/dist/tools/files.js +531 -0
- package/dist/tools/files.js.map +1 -0
- package/dist/tools/git-sync.d.ts +177 -0
- package/dist/tools/git-sync.d.ts.map +1 -0
- package/dist/tools/git-sync.js +112 -0
- package/dist/tools/git-sync.js.map +1 -0
- package/dist/tools/issues.d.ts +579 -0
- package/dist/tools/issues.d.ts.map +1 -0
- package/dist/tools/issues.js +631 -0
- package/dist/tools/issues.js.map +1 -0
- package/dist/tools/pulls.d.ts +702 -0
- package/dist/tools/pulls.d.ts.map +1 -0
- package/dist/tools/pulls.js +730 -0
- package/dist/tools/pulls.js.map +1 -0
- package/dist/tools/releases.d.ts +495 -0
- package/dist/tools/releases.d.ts.map +1 -0
- package/dist/tools/releases.js +551 -0
- package/dist/tools/releases.js.map +1 -0
- package/dist/tools/repositories.d.ts +513 -0
- package/dist/tools/repositories.d.ts.map +1 -0
- package/dist/tools/repositories.js +634 -0
- package/dist/tools/repositories.js.map +1 -0
- package/dist/tools/security.d.ts +341 -0
- package/dist/tools/security.d.ts.map +1 -0
- package/dist/tools/security.js +394 -0
- package/dist/tools/security.js.map +1 -0
- package/dist/tools/tags.d.ts +419 -0
- package/dist/tools/tags.d.ts.map +1 -0
- package/dist/tools/tags.js +479 -0
- package/dist/tools/tags.js.map +1 -0
- package/dist/tools/users.d.ts +376 -0
- package/dist/tools/users.d.ts.map +1 -0
- package/dist/tools/users.js +495 -0
- package/dist/tools/users.js.map +1 -0
- package/dist/tools/validator.d.ts +192 -0
- package/dist/tools/validator.d.ts.map +1 -0
- package/dist/tools/validator.js +198 -0
- package/dist/tools/validator.js.map +1 -0
- package/dist/tools/version-control.d.ts +247 -0
- package/dist/tools/version-control.d.ts.map +1 -0
- package/dist/tools/version-control.js +521 -0
- package/dist/tools/version-control.js.map +1 -0
- package/dist/tools/webhooks.d.ts +478 -0
- package/dist/tools/webhooks.d.ts.map +1 -0
- package/dist/tools/webhooks.js +541 -0
- package/dist/tools/webhooks.js.map +1 -0
- package/dist/tools/workflows.d.ts +313 -0
- package/dist/tools/workflows.d.ts.map +1 -0
- package/dist/tools/workflows.js +430 -0
- package/dist/tools/workflows.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,313 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { VcsOperations } from '../providers/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Tool: workflows
|
|
5
|
+
*
|
|
6
|
+
* DESCRIÇÃO:
|
|
7
|
+
* Gerenciamento completo de workflows CI/CD com múltiplas ações
|
|
8
|
+
*
|
|
9
|
+
* FUNCIONALIDADES:
|
|
10
|
+
* - Listagem de workflows ativos
|
|
11
|
+
* - Criação de novos workflows
|
|
12
|
+
* - Disparo manual de workflows
|
|
13
|
+
* - Verificação de status de execução
|
|
14
|
+
* - Obtenção de logs de execução
|
|
15
|
+
* - Controle de workflows (enable/disable)
|
|
16
|
+
*
|
|
17
|
+
* USO:
|
|
18
|
+
* - Para automatizar CI/CD pipelines
|
|
19
|
+
* - Para monitorar execuções
|
|
20
|
+
* - Para gerenciar workflows de desenvolvimento
|
|
21
|
+
* - Para integração com ferramentas de deploy
|
|
22
|
+
*
|
|
23
|
+
* RECOMENDAÇÕES:
|
|
24
|
+
* - Use workflows para automatizar testes
|
|
25
|
+
* - Configure triggers apropriados
|
|
26
|
+
* - Monitore logs regularmente
|
|
27
|
+
* - Mantenha workflows simples e focados
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* Schema de validação para entrada da tool workflows
|
|
31
|
+
*
|
|
32
|
+
* VALIDAÇÕES:
|
|
33
|
+
* - action: Ação obrigatória (list, create, trigger, status, logs, disable, enable)
|
|
34
|
+
* - Parâmetros específicos por ação
|
|
35
|
+
* - Validação de tipos e formatos
|
|
36
|
+
*
|
|
37
|
+
* RECOMENDAÇÕES:
|
|
38
|
+
* - Sempre valide entrada antes de usar
|
|
39
|
+
* - Use parâmetros opcionais adequadamente
|
|
40
|
+
* - Documente parâmetros obrigatórios
|
|
41
|
+
*/
|
|
42
|
+
declare const WorkflowsInputSchema: z.ZodEffects<z.ZodObject<{
|
|
43
|
+
action: z.ZodEnum<["list", "create", "trigger", "status", "logs", "disable", "enable"]>;
|
|
44
|
+
owner: z.ZodString;
|
|
45
|
+
repo: z.ZodString;
|
|
46
|
+
provider: z.ZodOptional<z.ZodEnum<["gitea", "github", "both"]>>;
|
|
47
|
+
page: z.ZodOptional<z.ZodNumber>;
|
|
48
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
49
|
+
name: z.ZodOptional<z.ZodString>;
|
|
50
|
+
description: z.ZodOptional<z.ZodString>;
|
|
51
|
+
workflow_content: z.ZodOptional<z.ZodString>;
|
|
52
|
+
branch: z.ZodOptional<z.ZodString>;
|
|
53
|
+
workflow_id: z.ZodOptional<z.ZodString>;
|
|
54
|
+
workflow_name: z.ZodOptional<z.ZodString>;
|
|
55
|
+
run_id: z.ZodOptional<z.ZodString>;
|
|
56
|
+
job_id: z.ZodOptional<z.ZodString>;
|
|
57
|
+
step_number: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
inputs: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
59
|
+
ref: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
owner: string;
|
|
62
|
+
repo: string;
|
|
63
|
+
action: "status" | "create" | "list" | "trigger" | "logs" | "disable" | "enable";
|
|
64
|
+
provider?: "gitea" | "github" | "both" | undefined;
|
|
65
|
+
name?: string | undefined;
|
|
66
|
+
description?: string | undefined;
|
|
67
|
+
ref?: string | undefined;
|
|
68
|
+
page?: number | undefined;
|
|
69
|
+
limit?: number | undefined;
|
|
70
|
+
branch?: string | undefined;
|
|
71
|
+
workflow_content?: string | undefined;
|
|
72
|
+
workflow_id?: string | undefined;
|
|
73
|
+
workflow_name?: string | undefined;
|
|
74
|
+
run_id?: string | undefined;
|
|
75
|
+
job_id?: string | undefined;
|
|
76
|
+
step_number?: number | undefined;
|
|
77
|
+
inputs?: Record<string, string> | undefined;
|
|
78
|
+
}, {
|
|
79
|
+
owner: string;
|
|
80
|
+
repo: string;
|
|
81
|
+
action: "status" | "create" | "list" | "trigger" | "logs" | "disable" | "enable";
|
|
82
|
+
provider?: "gitea" | "github" | "both" | undefined;
|
|
83
|
+
name?: string | undefined;
|
|
84
|
+
description?: string | undefined;
|
|
85
|
+
ref?: string | undefined;
|
|
86
|
+
page?: number | undefined;
|
|
87
|
+
limit?: number | undefined;
|
|
88
|
+
branch?: string | undefined;
|
|
89
|
+
workflow_content?: string | undefined;
|
|
90
|
+
workflow_id?: string | undefined;
|
|
91
|
+
workflow_name?: string | undefined;
|
|
92
|
+
run_id?: string | undefined;
|
|
93
|
+
job_id?: string | undefined;
|
|
94
|
+
step_number?: number | undefined;
|
|
95
|
+
inputs?: Record<string, string> | undefined;
|
|
96
|
+
}>, {
|
|
97
|
+
owner: string;
|
|
98
|
+
repo: string;
|
|
99
|
+
action: "status" | "create" | "list" | "trigger" | "logs" | "disable" | "enable";
|
|
100
|
+
provider?: "gitea" | "github" | "both" | undefined;
|
|
101
|
+
name?: string | undefined;
|
|
102
|
+
description?: string | undefined;
|
|
103
|
+
ref?: string | undefined;
|
|
104
|
+
page?: number | undefined;
|
|
105
|
+
limit?: number | undefined;
|
|
106
|
+
branch?: string | undefined;
|
|
107
|
+
workflow_content?: string | undefined;
|
|
108
|
+
workflow_id?: string | undefined;
|
|
109
|
+
workflow_name?: string | undefined;
|
|
110
|
+
run_id?: string | undefined;
|
|
111
|
+
job_id?: string | undefined;
|
|
112
|
+
step_number?: number | undefined;
|
|
113
|
+
inputs?: Record<string, string> | undefined;
|
|
114
|
+
}, {
|
|
115
|
+
owner: string;
|
|
116
|
+
repo: string;
|
|
117
|
+
action: "status" | "create" | "list" | "trigger" | "logs" | "disable" | "enable";
|
|
118
|
+
provider?: "gitea" | "github" | "both" | undefined;
|
|
119
|
+
name?: string | undefined;
|
|
120
|
+
description?: string | undefined;
|
|
121
|
+
ref?: string | undefined;
|
|
122
|
+
page?: number | undefined;
|
|
123
|
+
limit?: number | undefined;
|
|
124
|
+
branch?: string | undefined;
|
|
125
|
+
workflow_content?: string | undefined;
|
|
126
|
+
workflow_id?: string | undefined;
|
|
127
|
+
workflow_name?: string | undefined;
|
|
128
|
+
run_id?: string | undefined;
|
|
129
|
+
job_id?: string | undefined;
|
|
130
|
+
step_number?: number | undefined;
|
|
131
|
+
inputs?: Record<string, string> | undefined;
|
|
132
|
+
}>;
|
|
133
|
+
export type WorkflowsInput = z.infer<typeof WorkflowsInputSchema>;
|
|
134
|
+
/**
|
|
135
|
+
* Schema de validação para resultado da tool workflows
|
|
136
|
+
*/
|
|
137
|
+
declare const WorkflowsResultSchema: z.ZodObject<{
|
|
138
|
+
success: z.ZodBoolean;
|
|
139
|
+
action: z.ZodString;
|
|
140
|
+
message: z.ZodString;
|
|
141
|
+
data: z.ZodOptional<z.ZodAny>;
|
|
142
|
+
error: z.ZodOptional<z.ZodString>;
|
|
143
|
+
}, "strip", z.ZodTypeAny, {
|
|
144
|
+
message: string;
|
|
145
|
+
action: string;
|
|
146
|
+
success: boolean;
|
|
147
|
+
error?: string | undefined;
|
|
148
|
+
data?: any;
|
|
149
|
+
}, {
|
|
150
|
+
message: string;
|
|
151
|
+
action: string;
|
|
152
|
+
success: boolean;
|
|
153
|
+
error?: string | undefined;
|
|
154
|
+
data?: any;
|
|
155
|
+
}>;
|
|
156
|
+
export type WorkflowsResult = z.infer<typeof WorkflowsResultSchema>;
|
|
157
|
+
/**
|
|
158
|
+
* Implementação da tool workflows
|
|
159
|
+
*
|
|
160
|
+
* ESTRUTURA:
|
|
161
|
+
* - Validação de entrada
|
|
162
|
+
* - Seleção do provider
|
|
163
|
+
* - Execução da ação
|
|
164
|
+
* - Tratamento de erros
|
|
165
|
+
* - Formatação do resultado
|
|
166
|
+
*
|
|
167
|
+
* AÇÕES SUPORTADAS:
|
|
168
|
+
* - list: Lista workflows do repositório
|
|
169
|
+
* - create: Cria novo workflow
|
|
170
|
+
* - trigger: Dispara workflow manualmente
|
|
171
|
+
* - status: Verifica status de execução
|
|
172
|
+
* - logs: Obtém logs de execução
|
|
173
|
+
* - disable: Desabilita workflow
|
|
174
|
+
* - enable: Habilita workflow
|
|
175
|
+
*
|
|
176
|
+
* TRATAMENTO DE ERROS:
|
|
177
|
+
* - Validação de parâmetros
|
|
178
|
+
* - Verificação de permissões
|
|
179
|
+
* - Tratamento de falhas de API
|
|
180
|
+
* - Logs detalhados para debug
|
|
181
|
+
*/
|
|
182
|
+
export declare const workflowsTool: {
|
|
183
|
+
name: string;
|
|
184
|
+
description: string;
|
|
185
|
+
inputSchema: {
|
|
186
|
+
type: string;
|
|
187
|
+
properties: {
|
|
188
|
+
action: {
|
|
189
|
+
type: string;
|
|
190
|
+
enum: string[];
|
|
191
|
+
description: string;
|
|
192
|
+
};
|
|
193
|
+
owner: {
|
|
194
|
+
type: string;
|
|
195
|
+
description: string;
|
|
196
|
+
};
|
|
197
|
+
repo: {
|
|
198
|
+
type: string;
|
|
199
|
+
description: string;
|
|
200
|
+
};
|
|
201
|
+
provider: {
|
|
202
|
+
type: string;
|
|
203
|
+
description: string;
|
|
204
|
+
};
|
|
205
|
+
name: {
|
|
206
|
+
type: string;
|
|
207
|
+
description: string;
|
|
208
|
+
};
|
|
209
|
+
description: {
|
|
210
|
+
type: string;
|
|
211
|
+
description: string;
|
|
212
|
+
};
|
|
213
|
+
workflow_content: {
|
|
214
|
+
type: string;
|
|
215
|
+
description: string;
|
|
216
|
+
};
|
|
217
|
+
branch: {
|
|
218
|
+
type: string;
|
|
219
|
+
description: string;
|
|
220
|
+
};
|
|
221
|
+
workflow_id: {
|
|
222
|
+
type: string;
|
|
223
|
+
description: string;
|
|
224
|
+
};
|
|
225
|
+
workflow_name: {
|
|
226
|
+
type: string;
|
|
227
|
+
description: string;
|
|
228
|
+
};
|
|
229
|
+
run_id: {
|
|
230
|
+
type: string;
|
|
231
|
+
description: string;
|
|
232
|
+
};
|
|
233
|
+
job_id: {
|
|
234
|
+
type: string;
|
|
235
|
+
description: string;
|
|
236
|
+
};
|
|
237
|
+
step_number: {
|
|
238
|
+
type: string;
|
|
239
|
+
description: string;
|
|
240
|
+
};
|
|
241
|
+
inputs: {
|
|
242
|
+
type: string;
|
|
243
|
+
description: string;
|
|
244
|
+
};
|
|
245
|
+
ref: {
|
|
246
|
+
type: string;
|
|
247
|
+
description: string;
|
|
248
|
+
};
|
|
249
|
+
page: {
|
|
250
|
+
type: string;
|
|
251
|
+
description: string;
|
|
252
|
+
minimum: number;
|
|
253
|
+
};
|
|
254
|
+
limit: {
|
|
255
|
+
type: string;
|
|
256
|
+
description: string;
|
|
257
|
+
minimum: number;
|
|
258
|
+
maximum: number;
|
|
259
|
+
};
|
|
260
|
+
};
|
|
261
|
+
required: string[];
|
|
262
|
+
};
|
|
263
|
+
/**
|
|
264
|
+
* Handler principal da tool workflows
|
|
265
|
+
*
|
|
266
|
+
* FLUXO:
|
|
267
|
+
* 1. Validação da entrada
|
|
268
|
+
* 2. Seleção do provider
|
|
269
|
+
* 3. Execução da ação específica
|
|
270
|
+
* 4. Formatação e retorno do resultado
|
|
271
|
+
*
|
|
272
|
+
* PARÂMETROS:
|
|
273
|
+
* @param input - Dados de entrada validados
|
|
274
|
+
*
|
|
275
|
+
* RETORNO:
|
|
276
|
+
* @returns Promise<WorkflowsResult> - Resultado da operação
|
|
277
|
+
*
|
|
278
|
+
* ERROS:
|
|
279
|
+
* - Lança exceção em caso de erro de validação
|
|
280
|
+
* - Retorna erro formatado em caso de falha de API
|
|
281
|
+
*/
|
|
282
|
+
handler(input: WorkflowsInput): Promise<WorkflowsResult>;
|
|
283
|
+
/**
|
|
284
|
+
* Lista workflows do repositório
|
|
285
|
+
*/
|
|
286
|
+
listWorkflows(params: WorkflowsInput, provider: VcsOperations): Promise<WorkflowsResult>;
|
|
287
|
+
/**
|
|
288
|
+
* Cria novo workflow
|
|
289
|
+
*/
|
|
290
|
+
createWorkflow(params: WorkflowsInput, provider: VcsOperations): Promise<WorkflowsResult>;
|
|
291
|
+
/**
|
|
292
|
+
* Dispara workflow manualmente
|
|
293
|
+
*/
|
|
294
|
+
triggerWorkflow(params: WorkflowsInput, provider: VcsOperations): Promise<WorkflowsResult>;
|
|
295
|
+
/**
|
|
296
|
+
* Verifica status de execução do workflow
|
|
297
|
+
*/
|
|
298
|
+
getWorkflowStatus(params: WorkflowsInput, provider: VcsOperations): Promise<WorkflowsResult>;
|
|
299
|
+
/**
|
|
300
|
+
* Obtém logs de execução do workflow
|
|
301
|
+
*/
|
|
302
|
+
getWorkflowLogs(params: WorkflowsInput, provider: VcsOperations): Promise<WorkflowsResult>;
|
|
303
|
+
/**
|
|
304
|
+
* Desabilita workflow
|
|
305
|
+
*/
|
|
306
|
+
disableWorkflow(params: WorkflowsInput, provider: VcsOperations): Promise<WorkflowsResult>;
|
|
307
|
+
/**
|
|
308
|
+
* Habilita workflow
|
|
309
|
+
*/
|
|
310
|
+
enableWorkflow(params: WorkflowsInput, provider: VcsOperations): Promise<WorkflowsResult>;
|
|
311
|
+
};
|
|
312
|
+
export {};
|
|
313
|
+
//# sourceMappingURL=workflows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"workflows.d.ts","sourceRoot":"","sources":["../../src/tools/workflows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAyB,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG7E;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyCxB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;EAMzB,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+BxB;;;;;;;;;;;;;;;;;;OAkBG;mBACkB,cAAc,GAAG,OAAO,CAAC,eAAe,CAAC;IA2C9D;;OAEG;0BACyB,cAAc,YAAY,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAsC9F;;OAEG;2BAC0B,cAAc,YAAY,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA+B/F;;OAEG;4BAC2B,cAAc,YAAY,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA+BhG;;OAEG;8BAC6B,cAAc,YAAY,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA6BlG;;OAEG;4BAC2B,cAAc,YAAY,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA8BhG;;OAEG;4BAC2B,cAAc,YAAY,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IA6BhG;;OAEG;2BAC0B,cAAc,YAAY,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;CA4BhG,CAAC"}
|