@tjdals12/agent-bolt 1.1.0 → 1.2.0-next.2

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 (54) hide show
  1. package/README.ko.md +41 -27
  2. package/README.md +41 -27
  3. package/dist/catalog/commands/add-item.d.ts +23 -7
  4. package/dist/catalog/commands/add-item.d.ts.map +1 -1
  5. package/dist/catalog/commands/add-item.js +270 -23
  6. package/dist/catalog/commands/add-item.js.map +1 -1
  7. package/dist/catalog/commands/add-pack.d.ts +15 -6
  8. package/dist/catalog/commands/add-pack.d.ts.map +1 -1
  9. package/dist/catalog/commands/add-pack.js +161 -51
  10. package/dist/catalog/commands/add-pack.js.map +1 -1
  11. package/dist/catalog/commands/init.d.ts +0 -1
  12. package/dist/catalog/commands/init.d.ts.map +1 -1
  13. package/dist/catalog/commands/init.js +2 -6
  14. package/dist/catalog/commands/init.js.map +1 -1
  15. package/dist/catalog/commands/remove-item.d.ts +21 -7
  16. package/dist/catalog/commands/remove-item.d.ts.map +1 -1
  17. package/dist/catalog/commands/remove-item.js +246 -22
  18. package/dist/catalog/commands/remove-item.js.map +1 -1
  19. package/dist/catalog/commands/remove-pack.d.ts +10 -6
  20. package/dist/catalog/commands/remove-pack.d.ts.map +1 -1
  21. package/dist/catalog/commands/remove-pack.js +103 -15
  22. package/dist/catalog/commands/remove-pack.js.map +1 -1
  23. package/dist/cli/format.d.ts +17 -0
  24. package/dist/cli/format.d.ts.map +1 -1
  25. package/dist/cli/format.js +45 -0
  26. package/dist/cli/format.js.map +1 -1
  27. package/dist/cli/index.js +24 -12
  28. package/dist/cli/index.js.map +1 -1
  29. package/dist/cli/prompts.d.ts +4 -0
  30. package/dist/cli/prompts.d.ts.map +1 -0
  31. package/dist/cli/prompts.js +11 -0
  32. package/dist/cli/prompts.js.map +1 -0
  33. package/dist/cli/views/add-item.d.ts.map +1 -1
  34. package/dist/cli/views/add-item.js +47 -19
  35. package/dist/cli/views/add-item.js.map +1 -1
  36. package/dist/cli/views/add-pack.d.ts.map +1 -1
  37. package/dist/cli/views/add-pack.js +46 -23
  38. package/dist/cli/views/add-pack.js.map +1 -1
  39. package/dist/cli/views/remove-item.d.ts.map +1 -1
  40. package/dist/cli/views/remove-item.js +47 -19
  41. package/dist/cli/views/remove-item.js.map +1 -1
  42. package/dist/cli/views/remove-pack.d.ts +1 -1
  43. package/dist/cli/views/remove-pack.d.ts.map +1 -1
  44. package/dist/cli/views/remove-pack.js +36 -23
  45. package/dist/cli/views/remove-pack.js.map +1 -1
  46. package/dist/cli/views/shared/banner.d.ts +4 -0
  47. package/dist/cli/views/shared/banner.d.ts.map +1 -1
  48. package/dist/cli/views/shared/banner.js +16 -0
  49. package/dist/cli/views/shared/banner.js.map +1 -1
  50. package/dist/core/tty.d.ts +2 -0
  51. package/dist/core/tty.d.ts.map +1 -0
  52. package/dist/core/tty.js +6 -0
  53. package/dist/core/tty.js.map +1 -0
  54. package/package.json +1 -1
package/README.ko.md CHANGED
@@ -192,18 +192,22 @@ $ agent-bolt add-pack --source=common --packs=common
192
192
  ...
193
193
  ```
194
194
 
195
+ `--packs`를 빼면 이름을 입력하는 대신 패키지를 목록에서 골라 추가합니다. `--source`까지 빼면 완전 대화형으로 동작해, 카탈로그를 고르고 그 패키지를 선택한 뒤 다른 카탈로그로 옮겨 가며 계속 추가할 수 있습니다. `remove-pack`도 같은 방식으로 패키지를 삭제합니다.
196
+
195
197
  `add-item`으로 패키지에서 특정 아이템만 추가합니다.
196
198
 
197
199
  ```text
198
200
  $ agent-bolt add-item --source=common --pack=backend --skills=nestjs-expert
199
201
 
200
202
  ▌ Agent Bolt: Added 1 item to common/backend
201
- (created pack backend in common)
203
+ (added new pack 'backend' in source 'common')
202
204
 
203
205
  + 🔧 nestjs-expert
204
206
  ...
205
207
  ```
206
208
 
209
+ 아이템 옵션을 빼면 아이템을 목록에서 골라 추가합니다. `--pack`까지 빼면 팩을 먼저 고르고, `--source`까지 빼면 완전 대화형으로 동작해 소스와 팩을 오가며 계속 추가할 수 있습니다.
210
+
207
211
  `remove-pack`·`remove-item`으로 추가한 패키지·아이템을 삭제합니다.
208
212
 
209
213
  ```text
@@ -215,6 +219,8 @@ $ agent-bolt remove-item --source=common --pack=common --skills=pr-review
215
219
  ...
216
220
  ```
217
221
 
222
+ 아이템 옵션을 빼면 아이템을 목록에서 골라 제거합니다. `--pack`까지 빼면 팩을 먼저 고르고, `--source`까지 빼면 완전 대화형으로 동작해 소스와 팩을 오가며 계속 제거할 수 있습니다.
223
+
218
224
  이 명령들은 설정 파일을 바꿀 뿐입니다. 실제 설치는 `sync`에서 이루어집니다.
219
225
 
220
226
  ### 에이전트에 설치하기
@@ -546,58 +552,66 @@ agent-bolt show-item --source <alias> --pack <name> --item <name> [options]
546
552
  패키지 전체를 설정에 추가합니다.
547
553
 
548
554
  ```text
549
- agent-bolt add-pack --source <alias> --packs <list>
555
+ agent-bolt add-pack [--source <alias>] [--packs <list>]
550
556
  ```
551
557
 
552
- | 옵션 | 설명 | 필수/선택 | 기본값 |
553
- | ------------------ | ------------------------------- | --------- | ------ |
554
- | `--source <alias>` | 대상 카탈로그 | 필수 | — |
555
- | `--packs <list>` | 추가할 패키지 이름. 콤마로 구분 | 필수 | — |
558
+ | 옵션 | 설명 | 필수/선택 | 기본값 |
559
+ | ------------------ | ------------------------------- | --------- | ----------- |
560
+ | `--source <alias>` | 대상 카탈로그 | 선택 | 대화형 선택 |
561
+ | `--packs <list>` | 추가할 패키지 이름. 콤마로 구분 | 선택 | 대화형 선택 |
562
+
563
+ `--packs`를 생략하면 패키지를 대화형으로 고르고, `--source`까지 생략하면 카탈로그를 먼저 고른 뒤 여러 source를 오가며 반복합니다. `--packs`는 `--source`와 함께 써야 합니다.
556
564
 
557
565
  ### `agent-bolt add-item`
558
566
 
559
567
  특정 아이템만 설정에 추가합니다. 패키지 항목이 없으면 만들어 둡니다.
560
568
 
561
569
  ```text
562
- agent-bolt add-item --source <alias> --pack <name> [options]
570
+ agent-bolt add-item [--source <alias>] [--pack <name>] [options]
563
571
  ```
564
572
 
565
- | 옵션 | 설명 | 필수/선택 | 기본값 |
566
- | --------------------- | -------------------------------------- | --------- | ------ |
567
- | `--source <alias>` | 대상 카탈로그 | 필수 | — |
568
- | `--pack <name>` | 대상 패키지 | 필수 | — |
569
- | `--skills <list>` | 추가할 스킬 이름. 콤마로 구분 | 선택 | — |
570
- | `--agents <list>` | 추가할 서브 에이전트 이름. 콤마로 구분 | 선택 | — |
571
- | `--guidelines <list>` | 추가할 가이드라인 이름. 콤마로 구분 | 선택 | — |
573
+ | 옵션 | 설명 | 필수/선택 | 기본값 |
574
+ | --------------------- | -------------------------------------- | --------- | ----------- |
575
+ | `--source <alias>` | 대상 카탈로그 | 선택 | 대화형 선택 |
576
+ | `--pack <name>` | 대상 패키지 | 선택 | 대화형 선택 |
577
+ | `--skills <list>` | 추가할 스킬 이름. 콤마로 구분 | 선택 | — |
578
+ | `--agents <list>` | 추가할 서브 에이전트 이름. 콤마로 구분 | 선택 | — |
579
+ | `--guidelines <list>` | 추가할 가이드라인 이름. 콤마로 구분 | 선택 | — |
580
+
581
+ 아이템 옵션을 생략하면 아이템을 대화형으로 고르고, `--pack`까지 생략하면 팩을 먼저 고르며, `--source`까지 생략하면 여러 source를 오가며 반복합니다. `--pack`은 `--source`와, 아이템 옵션은 `--pack`과 함께 써야 합니다.
572
582
 
573
583
  ### `agent-bolt remove-pack`
574
584
 
575
585
  설정에서 패키지 전체를 제거합니다.
576
586
 
577
587
  ```text
578
- agent-bolt remove-pack --source <alias> --packs <list>
588
+ agent-bolt remove-pack [--source <alias>] [--packs <list>]
579
589
  ```
580
590
 
581
- | 옵션 | 설명 | 필수/선택 | 기본값 |
582
- | ------------------ | ------------------------------- | --------- | ------ |
583
- | `--source <alias>` | 대상 카탈로그 | 필수 | — |
584
- | `--packs <list>` | 제거할 패키지 이름. 콤마로 구분 | 필수 | — |
591
+ | 옵션 | 설명 | 필수/선택 | 기본값 |
592
+ | ------------------ | ------------------------------- | --------- | ----------- |
593
+ | `--source <alias>` | 대상 카탈로그 | 선택 | 대화형 선택 |
594
+ | `--packs <list>` | 제거할 패키지 이름. 콤마로 구분 | 선택 | 대화형 선택 |
595
+
596
+ `--packs`를 생략하면 패키지를 대화형으로 고르고, `--source`까지 생략하면 카탈로그를 먼저 고른 뒤 여러 source를 오가며 반복합니다. `--packs`는 `--source`와 함께 써야 합니다.
585
597
 
586
598
  ### `agent-bolt remove-item`
587
599
 
588
600
  설정에서 특정 아이템을 제거합니다.
589
601
 
590
602
  ```text
591
- agent-bolt remove-item --source <alias> --pack <name> [options]
603
+ agent-bolt remove-item [--source <alias>] [--pack <name>] [options]
592
604
  ```
593
605
 
594
- | 옵션 | 설명 | 필수/선택 | 기본값 |
595
- | --------------------- | -------------------------------------- | --------- | ------ |
596
- | `--source <alias>` | 대상 카탈로그 | 필수 | — |
597
- | `--pack <name>` | 대상 패키지 | 필수 | — |
598
- | `--skills <list>` | 제거할 스킬 이름. 콤마로 구분 | 선택 | — |
599
- | `--agents <list>` | 제거할 서브 에이전트 이름. 콤마로 구분 | 선택 | — |
600
- | `--guidelines <list>` | 제거할 가이드라인 이름. 콤마로 구분 | 선택 | — |
606
+ | 옵션 | 설명 | 필수/선택 | 기본값 |
607
+ | --------------------- | -------------------------------------- | --------- | ----------- |
608
+ | `--source <alias>` | 대상 카탈로그 | 선택 | 대화형 선택 |
609
+ | `--pack <name>` | 대상 패키지 | 선택 | 대화형 선택 |
610
+ | `--skills <list>` | 제거할 스킬 이름. 콤마로 구분 | 선택 | — |
611
+ | `--agents <list>` | 제거할 서브 에이전트 이름. 콤마로 구분 | 선택 | — |
612
+ | `--guidelines <list>` | 제거할 가이드라인 이름. 콤마로 구분 | 선택 | — |
613
+
614
+ 아이템 옵션을 생략하면 아이템을 대화형으로 고르고, `--pack`까지 생략하면 팩을 먼저 고르며, `--source`까지 생략하면 여러 source를 오가며 반복합니다. `--pack`은 `--source`와, 아이템 옵션은 `--pack`과 함께 써야 합니다.
601
615
 
602
616
  ### `agent-bolt sync`
603
617
 
package/README.md CHANGED
@@ -192,18 +192,22 @@ $ agent-bolt add-pack --source=common --packs=common
192
192
  ...
193
193
  ```
194
194
 
195
+ Omit `--packs` to pick packages from a checklist instead of typing their names. Omit `--source` too and `add-pack` goes fully interactive: choose a catalog, pick its packages, then keep going with another catalog until you're done. `remove-pack` works the same way for dropping packages.
196
+
195
197
  Use `add-item` to add just specific items from a package.
196
198
 
197
199
  ```text
198
200
  $ agent-bolt add-item --source=common --pack=backend --skills=nestjs-expert
199
201
 
200
202
  ▌ Agent Bolt: Added 1 item to common/backend
201
- (created pack backend in common)
203
+ (added new pack 'backend' in source 'common')
202
204
 
203
205
  + 🔧 nestjs-expert
204
206
  ...
205
207
  ```
206
208
 
209
+ Omit the item options to pick items from a checklist. Omit `--pack` too and `add-item` picks a pack first; omit `--source` as well and it goes fully interactive, looping over sources and packs until you're done.
210
+
207
211
  Use `remove-pack` and `remove-item` to drop packages or items you've added.
208
212
 
209
213
  ```text
@@ -215,6 +219,8 @@ $ agent-bolt remove-item --source=common --pack=common --skills=pr-review
215
219
  ...
216
220
  ```
217
221
 
222
+ Omit the item options to pick items from a checklist. Omit `--pack` too and `remove-item` picks a pack first; omit `--source` as well and it goes fully interactive, looping over sources and packs until you're done.
223
+
218
224
  These commands only edit your config file. The actual installation happens with `sync`.
219
225
 
220
226
  ### Install into your agents
@@ -546,58 +552,66 @@ agent-bolt show-item --source <alias> --pack <name> --item <name> [options]
546
552
  Adds an entire package to your config.
547
553
 
548
554
  ```text
549
- agent-bolt add-pack --source <alias> --packs <list>
555
+ agent-bolt add-pack [--source <alias>] [--packs <list>]
550
556
  ```
551
557
 
552
- | Option | Description | Required | Default |
553
- | ------------------ | ----------------------------------------- | -------- | ------- |
554
- | `--source <alias>` | Target catalog | Required | — |
555
- | `--packs <list>` | Names of packages to add. Comma-separated | Required | — |
558
+ | Option | Description | Required | Default |
559
+ | ------------------ | ----------------------------------------- | -------- | ------------------ |
560
+ | `--source <alias>` | Target catalog | Optional | Interactive prompt |
561
+ | `--packs <list>` | Names of packages to add. Comma-separated | Optional | Interactive prompt |
562
+
563
+ Omitting `--packs` picks packages interactively; omitting `--source` as well picks the catalog first and then loops over sources. `--packs` requires `--source`.
556
564
 
557
565
  ### `agent-bolt add-item`
558
566
 
559
567
  Adds specific items to your config. Creates the package entry if it doesn't exist yet.
560
568
 
561
569
  ```text
562
- agent-bolt add-item --source <alias> --pack <name> [options]
570
+ agent-bolt add-item [--source <alias>] [--pack <name>] [options]
563
571
  ```
564
572
 
565
- | Option | Description | Required | Default |
566
- | --------------------- | ------------------------------------------- | -------- | ------- |
567
- | `--source <alias>` | Target catalog | Required | — |
568
- | `--pack <name>` | Target package | Required | — |
569
- | `--skills <list>` | Names of skills to add. Comma-separated | Optional | — |
570
- | `--agents <list>` | Names of subagents to add. Comma-separated | Optional | — |
571
- | `--guidelines <list>` | Names of guidelines to add. Comma-separated | Optional | — |
573
+ | Option | Description | Required | Default |
574
+ | --------------------- | ------------------------------------------- | -------- | ------------------ |
575
+ | `--source <alias>` | Target catalog | Optional | Interactive prompt |
576
+ | `--pack <name>` | Target package | Optional | Interactive prompt |
577
+ | `--skills <list>` | Names of skills to add. Comma-separated | Optional | — |
578
+ | `--agents <list>` | Names of subagents to add. Comma-separated | Optional | — |
579
+ | `--guidelines <list>` | Names of guidelines to add. Comma-separated | Optional | — |
580
+
581
+ Omitting the item options picks items interactively; omitting `--pack` too picks a pack first; omitting `--source` as well loops over sources. `--pack` requires `--source`, and the item options require `--pack`.
572
582
 
573
583
  ### `agent-bolt remove-pack`
574
584
 
575
585
  Removes an entire package from your config.
576
586
 
577
587
  ```text
578
- agent-bolt remove-pack --source <alias> --packs <list>
588
+ agent-bolt remove-pack [--source <alias>] [--packs <list>]
579
589
  ```
580
590
 
581
- | Option | Description | Required | Default |
582
- | ------------------ | -------------------------------------------- | -------- | ------- |
583
- | `--source <alias>` | Target catalog | Required | — |
584
- | `--packs <list>` | Names of packages to remove. Comma-separated | Required | — |
591
+ | Option | Description | Required | Default |
592
+ | ------------------ | -------------------------------------------- | -------- | ------------------ |
593
+ | `--source <alias>` | Target catalog | Optional | Interactive prompt |
594
+ | `--packs <list>` | Names of packages to remove. Comma-separated | Optional | Interactive prompt |
595
+
596
+ Omitting `--packs` picks packages interactively; omitting `--source` as well picks the catalog first and then loops over sources. `--packs` requires `--source`.
585
597
 
586
598
  ### `agent-bolt remove-item`
587
599
 
588
600
  Removes specific items from your config.
589
601
 
590
602
  ```text
591
- agent-bolt remove-item --source <alias> --pack <name> [options]
603
+ agent-bolt remove-item [--source <alias>] [--pack <name>] [options]
592
604
  ```
593
605
 
594
- | Option | Description | Required | Default |
595
- | --------------------- | ---------------------------------------------- | -------- | ------- |
596
- | `--source <alias>` | Target catalog | Required | — |
597
- | `--pack <name>` | Target package | Required | — |
598
- | `--skills <list>` | Names of skills to remove. Comma-separated | Optional | — |
599
- | `--agents <list>` | Names of subagents to remove. Comma-separated | Optional | — |
600
- | `--guidelines <list>` | Names of guidelines to remove. Comma-separated | Optional | — |
606
+ | Option | Description | Required | Default |
607
+ | --------------------- | ---------------------------------------------- | -------- | ------------------ |
608
+ | `--source <alias>` | Target catalog | Optional | Interactive prompt |
609
+ | `--pack <name>` | Target package | Optional | Interactive prompt |
610
+ | `--skills <list>` | Names of skills to remove. Comma-separated | Optional | — |
611
+ | `--agents <list>` | Names of subagents to remove. Comma-separated | Optional | — |
612
+ | `--guidelines <list>` | Names of guidelines to remove. Comma-separated | Optional | — |
613
+
614
+ Omitting the item options picks items interactively; omitting `--pack` too picks a pack first; omitting `--source` as well loops over sources. `--pack` requires `--source`, and the item options require `--pack`.
601
615
 
602
616
  ### `agent-bolt sync`
603
617
 
@@ -1,25 +1,41 @@
1
1
  import { type ItemType } from '#catalog/content/item/model.js';
2
- export type AddItemResult = {
3
- sourceAlias: string;
2
+ import type { ProgressReporter } from '#core/progress.js';
3
+ export type AddedItemPack = {
4
4
  packName: string;
5
5
  packCreated: boolean;
6
6
  addedItems: Record<ItemType, string[]>;
7
7
  skippedItems: Record<ItemType, string[]>;
8
8
  };
9
+ export type AddedItemSourceResult = {
10
+ sourceAlias: string;
11
+ packs: AddedItemPack[];
12
+ };
13
+ export type AddItemResult = {
14
+ results: AddedItemSourceResult[];
15
+ failures: string[];
16
+ };
9
17
  export declare class AddItemCommand {
10
- private readonly _source;
11
- private readonly _pack;
18
+ private readonly _source?;
19
+ private readonly _pack?;
12
20
  private readonly _skills?;
13
21
  private readonly _agents?;
14
22
  private readonly _guidelines?;
15
23
  constructor(options: {
16
- source: string;
17
- pack: string;
24
+ source?: string;
25
+ pack?: string;
18
26
  skills?: string;
19
27
  agents?: string;
20
28
  guidelines?: string;
21
29
  });
22
- execute(projectPath: string): AddItemResult;
30
+ execute(projectPath: string, reporter: ProgressReporter): Promise<AddItemResult>;
31
+ private addItemsFromSource;
32
+ private mergePackInto;
33
+ private addItemsToPack;
34
+ private resolveCatalogDetail;
35
+ private promptSourceSelection;
36
+ private promptPackSelection;
37
+ private promptItemSelection;
38
+ private countAddedItems;
23
39
  private parseItemNames;
24
40
  }
25
41
  //# sourceMappingURL=add-item.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"add-item.d.ts","sourceRoot":"","sources":["../../../src/catalog/commands/add-item.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAG3E,MAAM,MAAM,aAAa,GAAG;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;gBAE1B,OAAO,EAAE;QACnB,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAQD,OAAO,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAwI3C,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"add-item.d.ts","sourceRoot":"","sources":["../../../src/catalog/commands/add-item.ts"],"names":[],"mappings":"AASA,OAAO,EAAc,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAM3E,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IACvC,YAAY,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,aAAa,EAAE,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,OAAO,EAAE,qBAAqB,EAAE,CAAC;IACjC,QAAQ,EAAE,MAAM,EAAE,CAAC;CACpB,CAAC;AAEF,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;gBAE1B,OAAO,EAAE;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB;IAQK,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;YA0GxE,kBAAkB;IA2EhC,OAAO,CAAC,aAAa;YAcP,cAAc;IA2H5B,OAAO,CAAC,oBAAoB;YAwBd,qBAAqB;YA6BrB,mBAAmB;YAkCnB,mBAAmB;IAgFjC,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,cAAc;CAQvB"}