@shravansunder/agent-vm 0.0.2 → 0.0.4

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 (101) hide show
  1. package/dist/backup/backup-encryption.d.ts +2 -2
  2. package/dist/backup/backup-encryption.d.ts.map +1 -1
  3. package/dist/backup/backup-encryption.js +29 -7
  4. package/dist/backup/backup-encryption.js.map +1 -1
  5. package/dist/build/gondolin-image-builder.d.ts.map +1 -1
  6. package/dist/build/gondolin-image-builder.js +3 -2
  7. package/dist/build/gondolin-image-builder.js.map +1 -1
  8. package/dist/cli/agent-vm-cli-support.d.ts +1 -0
  9. package/dist/cli/agent-vm-cli-support.d.ts.map +1 -1
  10. package/dist/cli/agent-vm-cli-support.js +4 -7
  11. package/dist/cli/agent-vm-cli-support.js.map +1 -1
  12. package/dist/cli/auth-interactive-command.d.ts.map +1 -1
  13. package/dist/cli/auth-interactive-command.js +9 -2
  14. package/dist/cli/auth-interactive-command.js.map +1 -1
  15. package/dist/cli/build-command.d.ts +2 -0
  16. package/dist/cli/build-command.d.ts.map +1 -1
  17. package/dist/cli/build-command.js +37 -0
  18. package/dist/cli/build-command.js.map +1 -1
  19. package/dist/cli/commands/command-definition-support.js +5 -5
  20. package/dist/cli/commands/command-definition-support.js.map +1 -1
  21. package/dist/cli/commands/controller-definition.d.ts.map +1 -1
  22. package/dist/cli/commands/controller-definition.js +10 -5
  23. package/dist/cli/commands/controller-definition.js.map +1 -1
  24. package/dist/cli/commands/create-app.d.ts +139 -139
  25. package/dist/cli/commands/create-app.js +2 -2
  26. package/dist/cli/commands/init-definition.js +1 -1
  27. package/dist/cli/init-command.d.ts +3 -2
  28. package/dist/cli/init-command.d.ts.map +1 -1
  29. package/dist/cli/init-command.js +63 -60
  30. package/dist/cli/init-command.js.map +1 -1
  31. package/dist/cli/openclaw-plugin-bundle.d.ts +10 -0
  32. package/dist/cli/openclaw-plugin-bundle.d.ts.map +1 -0
  33. package/dist/cli/openclaw-plugin-bundle.js +35 -0
  34. package/dist/cli/openclaw-plugin-bundle.js.map +1 -0
  35. package/dist/cli/ssh-commands.d.ts.map +1 -1
  36. package/dist/cli/ssh-commands.js +11 -1
  37. package/dist/cli/ssh-commands.js.map +1 -1
  38. package/dist/config/system-config.d.ts +22 -7
  39. package/dist/config/system-config.d.ts.map +1 -1
  40. package/dist/config/system-config.js +75 -9
  41. package/dist/config/system-config.js.map +1 -1
  42. package/dist/controller/composite-secret-resolver.d.ts +3 -0
  43. package/dist/controller/composite-secret-resolver.d.ts.map +1 -0
  44. package/dist/controller/composite-secret-resolver.js +38 -0
  45. package/dist/controller/composite-secret-resolver.js.map +1 -0
  46. package/dist/controller/controller-runtime-operations.d.ts.map +1 -1
  47. package/dist/controller/controller-runtime-operations.js +4 -21
  48. package/dist/controller/controller-runtime-operations.js.map +1 -1
  49. package/dist/controller/controller-runtime-support.d.ts +1 -0
  50. package/dist/controller/controller-runtime-support.d.ts.map +1 -1
  51. package/dist/controller/controller-runtime-support.js +10 -4
  52. package/dist/controller/controller-runtime-support.js.map +1 -1
  53. package/dist/controller/controller-runtime-types.d.ts +3 -1
  54. package/dist/controller/controller-runtime-types.d.ts.map +1 -1
  55. package/dist/controller/controller-runtime.d.ts.map +1 -1
  56. package/dist/controller/controller-runtime.js +64 -20
  57. package/dist/controller/controller-runtime.js.map +1 -1
  58. package/dist/controller/http/controller-request-schemas.d.ts.map +1 -1
  59. package/dist/controller/http/controller-request-schemas.js +2 -6
  60. package/dist/controller/http/controller-request-schemas.js.map +1 -1
  61. package/dist/controller/leases/lease-manager.d.ts.map +1 -1
  62. package/dist/controller/leases/lease-manager.js +1 -3
  63. package/dist/controller/leases/lease-manager.js.map +1 -1
  64. package/dist/controller/worker-task-runner.d.ts.map +1 -1
  65. package/dist/controller/worker-task-runner.js +29 -7
  66. package/dist/controller/worker-task-runner.js.map +1 -1
  67. package/dist/gateway/credential-manager.d.ts.map +1 -1
  68. package/dist/gateway/credential-manager.js +52 -9
  69. package/dist/gateway/credential-manager.js.map +1 -1
  70. package/dist/gateway/gateway-lifecycle-loader.js +1 -1
  71. package/dist/gateway/gateway-recovery.d.ts +19 -0
  72. package/dist/gateway/gateway-recovery.d.ts.map +1 -0
  73. package/dist/gateway/gateway-recovery.js +147 -0
  74. package/dist/gateway/gateway-recovery.js.map +1 -0
  75. package/dist/gateway/gateway-runtime-record.d.ts +33 -0
  76. package/dist/gateway/gateway-runtime-record.d.ts.map +1 -0
  77. package/dist/gateway/gateway-runtime-record.js +114 -0
  78. package/dist/gateway/gateway-runtime-record.js.map +1 -0
  79. package/dist/gateway/gateway-zone-orchestrator.d.ts +4 -0
  80. package/dist/gateway/gateway-zone-orchestrator.d.ts.map +1 -1
  81. package/dist/gateway/gateway-zone-orchestrator.js +60 -19
  82. package/dist/gateway/gateway-zone-orchestrator.js.map +1 -1
  83. package/dist/gateway/gateway-zone-support.d.ts +2 -1
  84. package/dist/gateway/gateway-zone-support.d.ts.map +1 -1
  85. package/dist/gateway/gateway-zone-support.js +34 -0
  86. package/dist/gateway/gateway-zone-support.js.map +1 -1
  87. package/dist/operations/doctor.d.ts.map +1 -1
  88. package/dist/operations/doctor.js +22 -11
  89. package/dist/operations/doctor.js.map +1 -1
  90. package/dist/operations/upgrade-zone.d.ts +0 -1
  91. package/dist/operations/upgrade-zone.d.ts.map +1 -1
  92. package/dist/operations/upgrade-zone.js +0 -1
  93. package/dist/operations/upgrade-zone.js.map +1 -1
  94. package/dist/runtime/project-namespace.d.ts +5 -0
  95. package/dist/runtime/project-namespace.d.ts.map +1 -0
  96. package/dist/runtime/project-namespace.js +22 -0
  97. package/dist/runtime/project-namespace.js.map +1 -0
  98. package/dist/tool-vm/tool-vm-lifecycle.d.ts.map +1 -1
  99. package/dist/tool-vm/tool-vm-lifecycle.js +2 -1
  100. package/dist/tool-vm/tool-vm-lifecycle.js.map +1 -1
  101. package/package.json +9 -7
@@ -1,60 +1,6 @@
1
1
  import type { CliDependencies, CliIo } from '../agent-vm-cli-support.js';
2
2
  export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencies): Partial<import("cmd-ts/dist/cjs/argparser.js").Register> & {
3
3
  parse(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
4
- command: "build";
5
- args: {
6
- config: string | undefined;
7
- force: boolean;
8
- };
9
- } | {
10
- command: "auth-interactive";
11
- args: {
12
- config: string | undefined;
13
- provider: string;
14
- zone: string | undefined;
15
- };
16
- } | {
17
- command: "backup";
18
- args: {
19
- command: "list";
20
- args: {
21
- config: string | undefined;
22
- zone: string | undefined;
23
- };
24
- } | {
25
- command: "create";
26
- args: {
27
- config: string | undefined;
28
- zone: string | undefined;
29
- };
30
- } | {
31
- command: "restore";
32
- args: {
33
- backupPath: string;
34
- config: string | undefined;
35
- zone: string | undefined;
36
- };
37
- };
38
- } | {
39
- command: "cache";
40
- args: {
41
- command: "list";
42
- args: {
43
- config: string | undefined;
44
- };
45
- } | {
46
- command: "clean";
47
- args: {
48
- config: string | undefined;
49
- confirm: boolean;
50
- };
51
- };
52
- } | {
53
- command: "doctor";
54
- args: {
55
- config: string | undefined;
56
- };
57
- } | {
58
4
  command: "controller";
59
5
  args: {
60
6
  command: "upgrade";
@@ -130,67 +76,67 @@ export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencie
130
76
  };
131
77
  };
132
78
  } | {
133
- command: "init";
79
+ command: "build";
134
80
  args: {
135
- zoneId: string | undefined;
136
- type: string;
81
+ config: string | undefined;
82
+ force: boolean;
137
83
  };
138
- }>>;
139
- } & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
140
- command: "build";
141
- args: {
142
- config: string | undefined;
143
- force: boolean;
144
- };
145
- } | {
146
- command: "auth-interactive";
147
- args: {
148
- config: string | undefined;
149
- provider: string;
150
- zone: string | undefined;
151
- };
152
- } | {
153
- command: "backup";
154
- args: {
155
- command: "list";
84
+ } | {
85
+ command: "auth-interactive";
156
86
  args: {
157
87
  config: string | undefined;
88
+ provider: string;
158
89
  zone: string | undefined;
159
90
  };
160
91
  } | {
161
- command: "create";
92
+ command: "backup";
162
93
  args: {
163
- config: string | undefined;
164
- zone: string | undefined;
94
+ command: "list";
95
+ args: {
96
+ config: string | undefined;
97
+ zone: string | undefined;
98
+ };
99
+ } | {
100
+ command: "create";
101
+ args: {
102
+ config: string | undefined;
103
+ zone: string | undefined;
104
+ };
105
+ } | {
106
+ command: "restore";
107
+ args: {
108
+ backupPath: string;
109
+ config: string | undefined;
110
+ zone: string | undefined;
111
+ };
165
112
  };
166
113
  } | {
167
- command: "restore";
114
+ command: "cache";
168
115
  args: {
169
- backupPath: string;
170
- config: string | undefined;
171
- zone: string | undefined;
116
+ command: "list";
117
+ args: {
118
+ config: string | undefined;
119
+ };
120
+ } | {
121
+ command: "clean";
122
+ args: {
123
+ config: string | undefined;
124
+ confirm: boolean;
125
+ };
172
126
  };
173
- };
174
- } | {
175
- command: "cache";
176
- args: {
177
- command: "list";
127
+ } | {
128
+ command: "doctor";
178
129
  args: {
179
130
  config: string | undefined;
180
131
  };
181
132
  } | {
182
- command: "clean";
133
+ command: "init";
183
134
  args: {
184
- config: string | undefined;
185
- confirm: boolean;
135
+ zoneId: string | undefined;
136
+ type: string;
186
137
  };
187
- };
188
- } | {
189
- command: "doctor";
190
- args: {
191
- config: string | undefined;
192
- };
193
- } | {
138
+ }>>;
139
+ } & import("cmd-ts/dist/cjs/helpdoc.js").Named & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Descriptive & import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/helpdoc.js").PrintHelp & Partial<import("cmd-ts/dist/cjs/helpdoc.js").Versioned> & import("cmd-ts/dist/cjs/argparser.js").Register & import("cmd-ts/dist/cjs/runner.js").Handling<{
194
140
  command: "controller";
195
141
  args: {
196
142
  command: "upgrade";
@@ -266,42 +212,66 @@ export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencie
266
212
  };
267
213
  };
268
214
  } | {
269
- command: "init";
215
+ command: "build";
270
216
  args: {
271
- zoneId: string | undefined;
272
- type: string;
217
+ config: string | undefined;
218
+ force: boolean;
273
219
  };
274
- }, {
275
- command: "build";
276
- value: Promise<void>;
277
220
  } | {
278
221
  command: "auth-interactive";
279
- value: Promise<void>;
222
+ args: {
223
+ config: string | undefined;
224
+ provider: string;
225
+ zone: string | undefined;
226
+ };
280
227
  } | {
281
228
  command: "backup";
282
- value: {
229
+ args: {
283
230
  command: "list";
284
- value: Promise<void>;
231
+ args: {
232
+ config: string | undefined;
233
+ zone: string | undefined;
234
+ };
285
235
  } | {
286
236
  command: "create";
287
- value: Promise<void>;
237
+ args: {
238
+ config: string | undefined;
239
+ zone: string | undefined;
240
+ };
288
241
  } | {
289
242
  command: "restore";
290
- value: Promise<void>;
243
+ args: {
244
+ backupPath: string;
245
+ config: string | undefined;
246
+ zone: string | undefined;
247
+ };
291
248
  };
292
249
  } | {
293
250
  command: "cache";
294
- value: {
251
+ args: {
295
252
  command: "list";
296
- value: Promise<void>;
253
+ args: {
254
+ config: string | undefined;
255
+ };
297
256
  } | {
298
257
  command: "clean";
299
- value: Promise<void>;
258
+ args: {
259
+ config: string | undefined;
260
+ confirm: boolean;
261
+ };
300
262
  };
301
263
  } | {
302
264
  command: "doctor";
303
- value: Promise<void>;
265
+ args: {
266
+ config: string | undefined;
267
+ };
304
268
  } | {
269
+ command: "init";
270
+ args: {
271
+ zoneId: string | undefined;
272
+ type: string;
273
+ };
274
+ }, {
305
275
  command: "controller";
306
276
  value: {
307
277
  command: "upgrade";
@@ -341,40 +311,40 @@ export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencie
341
311
  value: Promise<void>;
342
312
  };
343
313
  } | {
344
- command: "init";
314
+ command: "build";
345
315
  value: Promise<void>;
346
- }> & {
347
- run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
348
- command: "build";
316
+ } | {
317
+ command: "auth-interactive";
318
+ value: Promise<void>;
319
+ } | {
320
+ command: "backup";
321
+ value: {
322
+ command: "list";
349
323
  value: Promise<void>;
350
324
  } | {
351
- command: "auth-interactive";
325
+ command: "create";
352
326
  value: Promise<void>;
353
327
  } | {
354
- command: "backup";
355
- value: {
356
- command: "list";
357
- value: Promise<void>;
358
- } | {
359
- command: "create";
360
- value: Promise<void>;
361
- } | {
362
- command: "restore";
363
- value: Promise<void>;
364
- };
365
- } | {
366
- command: "cache";
367
- value: {
368
- command: "list";
369
- value: Promise<void>;
370
- } | {
371
- command: "clean";
372
- value: Promise<void>;
373
- };
374
- } | {
375
- command: "doctor";
328
+ command: "restore";
329
+ value: Promise<void>;
330
+ };
331
+ } | {
332
+ command: "cache";
333
+ value: {
334
+ command: "list";
376
335
  value: Promise<void>;
377
336
  } | {
337
+ command: "clean";
338
+ value: Promise<void>;
339
+ };
340
+ } | {
341
+ command: "doctor";
342
+ value: Promise<void>;
343
+ } | {
344
+ command: "init";
345
+ value: Promise<void>;
346
+ }> & {
347
+ run(context: import("cmd-ts/dist/cjs/argparser.js").ParseContext): Promise<import("cmd-ts/dist/cjs/argparser.js").ParsingResult<{
378
348
  command: "controller";
379
349
  value: {
380
350
  command: "upgrade";
@@ -413,6 +383,36 @@ export declare function createAgentVmApp(io: CliIo, dependencies: CliDependencie
413
383
  command: "start";
414
384
  value: Promise<void>;
415
385
  };
386
+ } | {
387
+ command: "build";
388
+ value: Promise<void>;
389
+ } | {
390
+ command: "auth-interactive";
391
+ value: Promise<void>;
392
+ } | {
393
+ command: "backup";
394
+ value: {
395
+ command: "list";
396
+ value: Promise<void>;
397
+ } | {
398
+ command: "create";
399
+ value: Promise<void>;
400
+ } | {
401
+ command: "restore";
402
+ value: Promise<void>;
403
+ };
404
+ } | {
405
+ command: "cache";
406
+ value: {
407
+ command: "list";
408
+ value: Promise<void>;
409
+ } | {
410
+ command: "clean";
411
+ value: Promise<void>;
412
+ };
413
+ } | {
414
+ command: "doctor";
415
+ value: Promise<void>;
416
416
  } | {
417
417
  command: "init";
418
418
  value: Promise<void>;
@@ -10,8 +10,8 @@ import { createInitCommand } from './init-definition.js';
10
10
  export function createAgentVmApp(io, dependencies) {
11
11
  return subcommands({
12
12
  name: 'agent-vm',
13
- version: '0.1.0',
14
- description: 'Gondolin-based VM controller for OpenClaw and coding agents',
13
+ version: '0.0.1',
14
+ description: 'Gondolin-based VM controller for OpenClaw and worker agents',
15
15
  cmds: {
16
16
  init: createInitCommand(io, dependencies),
17
17
  build: createBuildCommand(io, dependencies),
@@ -15,7 +15,7 @@ export function createInitCommand(io, dependencies) {
15
15
  type: option({
16
16
  type: string,
17
17
  long: 'type',
18
- description: 'Gateway type: openclaw or coding',
18
+ description: 'Gateway type: openclaw or worker',
19
19
  }),
20
20
  },
21
21
  handler: async ({ type, zoneId }) => {
@@ -1,4 +1,5 @@
1
1
  import readline from 'node:readline/promises';
2
+ import type { GatewayType } from '@shravansunder/gateway-interface';
2
3
  export interface ScaffoldAgentVmProjectOptions {
3
4
  readonly gatewayType: GatewayType;
4
5
  readonly targetDir: string;
@@ -10,6 +11,7 @@ export interface ScaffoldAgentVmProjectResult {
10
11
  readonly skipped: readonly string[];
11
12
  }
12
13
  interface ScaffoldAgentVmProjectDependencies {
14
+ readonly copyBundledOpenClawPlugin?: (targetDir: string) => Promise<'created' | 'skipped'>;
13
15
  readonly generateAgeIdentityKey?: () => string | undefined;
14
16
  }
15
17
  export interface PromptAndStoreTokenDependencies {
@@ -17,12 +19,11 @@ export interface PromptAndStoreTokenDependencies {
17
19
  readonly storeKeychainToken?: (token: string) => void;
18
20
  readonly createReadlineInterface?: () => readline.Interface;
19
21
  }
20
- export type GatewayType = 'coding' | 'openclaw';
22
+ export type { GatewayType } from '@shravansunder/gateway-interface';
21
23
  export declare function scaffoldAgentVmProject(options: ScaffoldAgentVmProjectOptions, dependencies?: ScaffoldAgentVmProjectDependencies): Promise<ScaffoldAgentVmProjectResult>;
22
24
  /**
23
25
  * Interactively prompt for the 1Password service account token and store it
24
26
  * in macOS Keychain. Skips if stdin is not a TTY or if a token already exists.
25
27
  */
26
28
  export declare function promptAndStoreServiceAccountToken(dependencies?: PromptAndStoreTokenDependencies): Promise<boolean>;
27
- export {};
28
29
  //# sourceMappingURL=init-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAQ9C,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,UAAU,kCAAkC;IAC3C,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC3D;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,QAAQ,CAAC,SAAS,CAAC;CAC5D;AAED,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,UAAU,CAAC;AAoThD,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,6BAA6B,EACtC,YAAY,GAAE,kCAAuC,GACnD,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AA2GD;;;GAGG;AACH,wBAAsB,iCAAiC,CACtD,YAAY,GAAE,+BAAoC,GAChD,OAAO,CAAC,OAAO,CAAC,CA0ClB"}
1
+ {"version":3,"file":"init-command.d.ts","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"AAGA,OAAO,QAAQ,MAAM,wBAAwB,CAAC;AAG9C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAapE,MAAM,WAAW,6BAA6B;IAC7C,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CACpC;AAED,UAAU,kCAAkC;IAC3C,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAC3F,QAAQ,CAAC,sBAAsB,CAAC,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;CAC3D;AAED,MAAM,WAAW,+BAA+B;IAC/C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,OAAO,CAAC;IAC1C,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACtD,QAAQ,CAAC,uBAAuB,CAAC,EAAE,MAAM,QAAQ,CAAC,SAAS,CAAC;CAC5D;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,kCAAkC,CAAC;AAoTpE,wBAAgB,sBAAsB,CACrC,OAAO,EAAE,6BAA6B,EACtC,YAAY,GAAE,kCAAuC,GACnD,OAAO,CAAC,4BAA4B,CAAC,CAEvC;AAoHD;;;GAGG;AACH,wBAAsB,iCAAiC,CACtD,YAAY,GAAE,+BAAoC,GAChD,OAAO,CAAC,OAAO,CAAC,CA0ClB"}