@workjournal/cli 0.3.4 → 0.4.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 (40) hide show
  1. package/README.md +47 -19
  2. package/dist/api-client.d.ts +23 -10
  3. package/dist/api-client.d.ts.map +1 -1
  4. package/dist/api-client.js +7 -13
  5. package/dist/api-client.js.map +1 -1
  6. package/dist/commands/entries.d.ts +6 -6
  7. package/dist/commands/entries.d.ts.map +1 -1
  8. package/dist/commands/entries.js +12 -12
  9. package/dist/commands/entries.js.map +1 -1
  10. package/dist/commands/export.d.ts +1 -1
  11. package/dist/commands/export.d.ts.map +1 -1
  12. package/dist/commands/export.js +2 -2
  13. package/dist/commands/export.js.map +1 -1
  14. package/dist/commands/invites.d.ts +3 -3
  15. package/dist/commands/invites.d.ts.map +1 -1
  16. package/dist/commands/invites.js +6 -8
  17. package/dist/commands/invites.js.map +1 -1
  18. package/dist/commands/journals.d.ts +5 -5
  19. package/dist/commands/journals.d.ts.map +1 -1
  20. package/dist/commands/journals.js +24 -19
  21. package/dist/commands/journals.js.map +1 -1
  22. package/dist/commands/shares.d.ts +2 -2
  23. package/dist/commands/shares.d.ts.map +1 -1
  24. package/dist/commands/shares.js +5 -5
  25. package/dist/commands/shares.js.map +1 -1
  26. package/dist/commands/workspaces.d.ts +5 -0
  27. package/dist/commands/workspaces.d.ts.map +1 -0
  28. package/dist/commands/workspaces.js +62 -0
  29. package/dist/commands/workspaces.js.map +1 -0
  30. package/dist/config.d.ts +10 -1
  31. package/dist/config.d.ts.map +1 -1
  32. package/dist/config.js +9 -1
  33. package/dist/config.js.map +1 -1
  34. package/dist/index.js +356 -162
  35. package/dist/index.js.map +1 -1
  36. package/dist/project-config.d.ts +34 -4
  37. package/dist/project-config.d.ts.map +1 -1
  38. package/dist/project-config.js +39 -8
  39. package/dist/project-config.js.map +1 -1
  40. package/package.json +3 -3
@@ -1,8 +1,8 @@
1
1
  import { API_PATHS, apiDelete, apiGet, requireAuth } from '../api-client.js';
2
2
  import { formatTable } from '../formatting.js';
3
- export async function listShares(journalId, jsonOutput) {
3
+ export async function listShares(workspaceSlug, journalSlug, jsonOutput) {
4
4
  const token = await requireAuth();
5
- const members = await apiGet(API_PATHS.members(journalId), token);
5
+ const members = await apiGet(API_PATHS.members(workspaceSlug, journalSlug), token);
6
6
  if (jsonOutput) {
7
7
  process.stdout.write(`${JSON.stringify(members, null, 2)}\n`);
8
8
  return;
@@ -15,16 +15,16 @@ export async function listShares(journalId, jsonOutput) {
15
15
  const rows = members.map((m) => [m.email, m.role, m.created_at]);
16
16
  process.stdout.write(formatTable(headers, rows));
17
17
  }
18
- export async function deleteShare(journalId, email, jsonOutput) {
18
+ export async function deleteShare(workspaceSlug, journalSlug, email, jsonOutput) {
19
19
  const token = await requireAuth();
20
- const members = await apiGet(API_PATHS.members(journalId), token);
20
+ const members = await apiGet(API_PATHS.members(workspaceSlug, journalSlug), token);
21
21
  const normalizedEmail = email.trim().toLowerCase();
22
22
  const member = members.find((m) => m.email.trim().toLowerCase() === normalizedEmail);
23
23
  if (!member) {
24
24
  process.stderr.write(`No member found with email: ${email}\n`);
25
25
  process.exit(1);
26
26
  }
27
- await apiDelete(API_PATHS.member(journalId, member.user_id), token);
27
+ await apiDelete(API_PATHS.member(workspaceSlug, journalSlug, member.user_id), token);
28
28
  if (jsonOutput) {
29
29
  process.stdout.write(`${JSON.stringify({ deleted: email }, null, 2)}\n`);
30
30
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"shares.js","sourceRoot":"","sources":["../../src/commands/shares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,SAAiB,EAAE,UAAmB;IACtE,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAW,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAE5E,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,SAAiB,EACjB,KAAa,EACb,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAW,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC;IAC5E,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;IAErF,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAEpE,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,CAAC,CAAC;AAC1D,CAAC"}
1
+ {"version":3,"file":"shares.js","sourceRoot":"","sources":["../../src/commands/shares.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAS/C,MAAM,CAAC,KAAK,UAAU,UAAU,CAC/B,aAAqB,EACrB,WAAmB,EACnB,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAW,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;IAE7F,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QAC9D,OAAO;IACR,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC5C,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,aAAqB,EACrB,WAAmB,EACnB,KAAa,EACb,UAAmB;IAEnB,MAAM,KAAK,GAAG,MAAM,WAAW,EAAE,CAAC;IAClC,MAAM,OAAO,GAAG,MAAM,MAAM,CAAW,SAAS,CAAC,OAAO,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,KAAK,CAAC,CAAC;IAC7F,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACnD,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;IAErF,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,IAAI,CAAC,CAAC;QAC/D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjB,CAAC;IAED,MAAM,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,EAAE,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;IAErF,IAAI,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,OAAO;IACR,CAAC;IAED,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,kBAAkB,CAAC,CAAC;AAC1D,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare function listWorkspaces(jsonOutput: boolean): Promise<void>;
2
+ export declare function getWorkspace(workspaceSlug: string, jsonOutput: boolean): Promise<void>;
3
+ export declare function createWorkspace(name: string, slug: string | undefined, jsonOutput: boolean): Promise<void>;
4
+ export declare function selectWorkspace(workspaceSlug: string): Promise<void>;
5
+ //# sourceMappingURL=workspaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.d.ts","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"AAMA,wBAAsB,cAAc,CAAC,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAiBvE;AAED,wBAAsB,YAAY,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAa5F;AAED,wBAAsB,eAAe,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,UAAU,EAAE,OAAO,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,eAAe,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB1E"}
@@ -0,0 +1,62 @@
1
+ import { API_PATHS, apiGet, apiPost, requireAuth } from '../api-client.js';
2
+ import { readConfig, writeConfig } from '../config.js';
3
+ import { formatTable } from '../formatting.js';
4
+ import { getProjectConfigPath } from '../project-config.js';
5
+ export async function listWorkspaces(jsonOutput) {
6
+ const token = await requireAuth();
7
+ const result = await apiGet(API_PATHS.workspaces, token);
8
+ if (jsonOutput) {
9
+ process.stdout.write(`${JSON.stringify(result, null, 2)}\n`);
10
+ return;
11
+ }
12
+ if (result.data.length === 0) {
13
+ process.stdout.write('No workspaces found.\n');
14
+ return;
15
+ }
16
+ const headers = ['Slug', 'Name', 'Type', 'Created'];
17
+ const rows = result.data.map((w) => [w.slug, w.name, w.type, w.created_at]);
18
+ process.stdout.write(formatTable(headers, rows));
19
+ }
20
+ export async function getWorkspace(workspaceSlug, jsonOutput) {
21
+ const token = await requireAuth();
22
+ const workspace = await apiGet(API_PATHS.workspace(workspaceSlug), token);
23
+ if (jsonOutput) {
24
+ process.stdout.write(`${JSON.stringify(workspace, null, 2)}\n`);
25
+ return;
26
+ }
27
+ process.stdout.write(`Slug: ${workspace.slug}\n`);
28
+ process.stdout.write(`Name: ${workspace.name}\n`);
29
+ process.stdout.write(`Type: ${workspace.type}\n`);
30
+ process.stdout.write(`Created: ${workspace.created_at}\n`);
31
+ }
32
+ export async function createWorkspace(name, slug, jsonOutput) {
33
+ const token = await requireAuth();
34
+ const body = { name };
35
+ if (slug)
36
+ body.slug = slug;
37
+ const workspace = await apiPost(API_PATHS.workspaces, token, body);
38
+ if (jsonOutput) {
39
+ process.stdout.write(`${JSON.stringify(workspace, null, 2)}\n`);
40
+ return;
41
+ }
42
+ process.stdout.write(`Workspace created:\n Slug: ${workspace.slug}\n Name: ${workspace.name}\n`);
43
+ }
44
+ export async function selectWorkspace(workspaceSlug) {
45
+ const token = await requireAuth();
46
+ // Confirm the workspace exists / user has access before persisting selection.
47
+ await apiGet(API_PATHS.workspace(workspaceSlug), token);
48
+ const config = readConfig();
49
+ config.workspaceSlug = workspaceSlug;
50
+ // Selecting a different workspace clears any stale journal selection.
51
+ delete config.journalSlug;
52
+ writeConfig(config);
53
+ process.stdout.write(`Global config: active workspace set to ${workspaceSlug}\n`);
54
+ if (getProjectConfigPath()) {
55
+ // A `.workjournal` file in the current dir or any ancestor is now stale
56
+ // for this workspace switch — its `journalSlug` belongs to the previous
57
+ // workspace. We don't rewrite it here because partial project configs
58
+ // aren't allowed; the user runs `workjournal journals select` to fix it.
59
+ process.stdout.write('Note: project config (.workjournal) is journal-scoped — run `workjournal journals select` to write it.\n');
60
+ }
61
+ }
62
+ //# sourceMappingURL=workspaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspaces.js","sourceRoot":"","sources":["../../src/commands/workspaces.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -1,5 +1,14 @@
1
+ /**
2
+ * Global CLI config (slug-based since 0.4.0).
3
+ *
4
+ * The legacy `journal` (UUID) field is no longer read or written. If an old
5
+ * config file still has it, the CLI will still parse the file but ignore the
6
+ * field. The `workjournal workspaces select` and `workjournal journals select`
7
+ * commands write the new fields.
8
+ */
1
9
  export interface CliConfig {
2
- journal?: string;
10
+ workspaceSlug?: string;
11
+ journalSlug?: string;
3
12
  }
4
13
  export declare function readConfig(): CliConfig;
5
14
  export declare function writeConfig(config: CliConfig): void;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,SAAS;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,UAAU,IAAI,SAAS,CAUtC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAGnD"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAOA;;;;;;;GAOG;AACH,MAAM,WAAW,SAAS;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,UAAU,IAAI,SAAS,CAkBtC;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAGnD"}
package/dist/config.js CHANGED
@@ -9,7 +9,15 @@ export function readConfig() {
9
9
  }
10
10
  try {
11
11
  const raw = readFileSync(CONFIG_PATH, 'utf-8');
12
- return JSON.parse(raw);
12
+ const parsed = JSON.parse(raw);
13
+ const result = {};
14
+ if (typeof parsed.workspaceSlug === 'string' && parsed.workspaceSlug.trim().length > 0) {
15
+ result.workspaceSlug = parsed.workspaceSlug.trim();
16
+ }
17
+ if (typeof parsed.journalSlug === 'string' && parsed.journalSlug.trim().length > 0) {
18
+ result.journalSlug = parsed.journalSlug.trim();
19
+ }
20
+ return result;
13
21
  }
14
22
  catch {
15
23
  return {};
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,MAAM,eAAe,GAAG,GAAG,WAAW,MAAM,CAAC;AAM7C,MAAM,UAAU,UAAU;IACzB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAc,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAiB;IAC5C,aAAa,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAC9E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AACpD,MAAM,eAAe,GAAG,GAAG,WAAW,MAAM,CAAC;AAe7C,MAAM,UAAU,UAAU;IACzB,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,CAAC;IACX,CAAC;IACD,IAAI,CAAC;QACJ,MAAM,GAAG,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;QACrD,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,IAAI,OAAO,MAAM,CAAC,aAAa,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxF,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QACpD,CAAC;QACD,IAAI,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpF,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;QAChD,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC;IACX,CAAC;AACF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAiB;IAC5C,aAAa,CAAC,eAAe,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,UAAU,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC"}