orbitmap 0.4.0-next.0 → 0.4.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.
Files changed (55) hide show
  1. package/README.md +148 -45
  2. package/dist/adapters/cloud.d.ts +36 -3
  3. package/dist/adapters/cloud.js +79 -17
  4. package/dist/adapters/cloud.js.map +1 -1
  5. package/dist/adapters/factory.d.ts +8 -4
  6. package/dist/adapters/factory.js +9 -5
  7. package/dist/adapters/factory.js.map +1 -1
  8. package/dist/adapters/local/context.d.ts +4 -3
  9. package/dist/adapters/local/context.js +4 -3
  10. package/dist/adapters/local/context.js.map +1 -1
  11. package/dist/commands/assign.js +9 -4
  12. package/dist/commands/assign.js.map +1 -1
  13. package/dist/commands/create.js +1 -6
  14. package/dist/commands/create.js.map +1 -1
  15. package/dist/commands/ideas.js +1 -6
  16. package/dist/commands/ideas.js.map +1 -1
  17. package/dist/commands/init.d.ts +28 -0
  18. package/dist/commands/init.js +248 -132
  19. package/dist/commands/init.js.map +1 -1
  20. package/dist/commands/issues.js +1 -6
  21. package/dist/commands/issues.js.map +1 -1
  22. package/dist/commands/setup-agent.d.ts +16 -0
  23. package/dist/commands/setup-agent.js +38 -5
  24. package/dist/commands/setup-agent.js.map +1 -1
  25. package/dist/commands/setup-mcp.js +13 -42
  26. package/dist/commands/setup-mcp.js.map +1 -1
  27. package/dist/commands/task.js +3 -13
  28. package/dist/commands/task.js.map +1 -1
  29. package/dist/config.d.ts +69 -17
  30. package/dist/config.js +206 -32
  31. package/dist/config.js.map +1 -1
  32. package/dist/doc-cache.d.ts +21 -1
  33. package/dist/doc-cache.js +72 -12
  34. package/dist/doc-cache.js.map +1 -1
  35. package/dist/id-resolve.d.ts +61 -0
  36. package/dist/id-resolve.js +87 -0
  37. package/dist/id-resolve.js.map +1 -0
  38. package/dist/index.js +26 -12
  39. package/dist/index.js.map +1 -1
  40. package/dist/mcp-config.d.ts +36 -0
  41. package/dist/mcp-config.js +51 -0
  42. package/dist/mcp-config.js.map +1 -0
  43. package/dist/oauth.d.ts +8 -0
  44. package/dist/oauth.js +54 -15
  45. package/dist/oauth.js.map +1 -1
  46. package/dist/paths.d.ts +97 -0
  47. package/dist/paths.js +178 -0
  48. package/dist/paths.js.map +1 -0
  49. package/dist/project-config.d.ts +75 -0
  50. package/dist/project-config.js +55 -0
  51. package/dist/project-config.js.map +1 -0
  52. package/dist/workspace-resolve.d.ts +56 -24
  53. package/dist/workspace-resolve.js +106 -25
  54. package/dist/workspace-resolve.js.map +1 -1
  55. package/package.json +1 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@
4
4
 
5
5
  ## What is this?
6
6
 
7
- OrbitMap CLI gives AI agents (Gemini CLI, GPT Codex, Claude Code without MCP, etc.) access to [OrbitMap](https://orbitmap.app) project management through simple shell commands. It's the non-MCP alternative to [orbitmap-mcp](https://github.com/BTA-Systems/orbitmap-mcp), and tracks the same Agent API contract (currently **schema_version 6.3.0**).
7
+ OrbitMap CLI gives AI agents (Gemini CLI, GPT Codex, Claude Code without MCP, etc.) access to [OrbitMap](https://orbitmap.ai) project management through simple shell commands. It's the non-MCP alternative to [orbitmap-mcp](https://github.com/BTA-Systems/orbitmap-mcp), and tracks the same Agent API contract (currently **schema_version 6.3.0**).
8
8
 
9
9
  **Use cases:**
10
10
  - AI agents that can run shell commands but don't support MCP (Gemini CLI, GPT Codex CLI)
@@ -23,10 +23,17 @@ npx orbitmap init
23
23
  # - Area ID (optional — auto-detected if you belong to a single area)
24
24
  # Local: pick a workspace directory, a workspace name and a first area
25
25
 
26
- # 3. Start working
26
+ # 3. Confirm the agent skills — `init` installs them in the same run, creating
27
+ # CLAUDE.md / AGENTS.md if this directory has none yet. `--agent claude`
28
+ # picks the type without asking; `--no-skills` opts out.
29
+
30
+ # 4. Start working
27
31
  npx orbitmap start
28
32
  ```
29
33
 
34
+ `init` is the whole install: config, credentials, MCP block and the agent skills. There is no
35
+ mandatory second command.
36
+
30
37
  ## Local mode
31
38
 
32
39
  The CLI runs in one of two modes, chosen once during `orbitmap init`:
@@ -62,19 +69,22 @@ npx orbitmap init --local \
62
69
  ```
63
70
 
64
71
  If the workspace directory is **outside** the project, `init` writes a pointer at
65
- `<project>/.orbitmap/link.json` (`{"workspace": "…", "area": "…"}`) and adds `.orbitmap/` to
66
- `.gitignore`. The pointer is found by walking up from the current directory, like `.git`, so
72
+ `<project>/.orbitmap/link.json` (`{"workspace": "…", "area": "…"}`) and adds
73
+ `.orbitmap/link.json` and `.orbitmap/docs/` to `.gitignore` (not the whole `.orbitmap/`
74
+ directory — `.orbitmap/config.json`, see [Configuration](#configuration), is meant to be
75
+ committed). The pointer is found by walking up from the current directory, like `.git`, so
67
76
  commands work from any subdirectory. If the workspace *is* `./.orbitmap`, nothing is gitignored —
68
77
  the data is meant to be committable.
69
78
 
70
79
  Resolution order for the workspace directory: `--workspace` → `ORBITMAP_WORKSPACE` →
71
80
  `.orbitmap/link.json` → `./.orbitmap/workspace.yml` → `workspace_path` in
72
81
  `~/.orbitmap/config.json`. The mode itself is resolved per-project, first match wins: `--workspace`
73
- (explicit → local) → `ORBITMAP_MODE=local|cloud` → auto-detect (walk up from cwd looking for
74
- `.orbitmap/workspace.yml` or `.orbitmap/link.json`, same as git looking for `.git` → local) →
75
- `mode` in the config file, defaulting to `cloud` when absent. The auto-detect rung is what lets
76
- one project stay local and another stay cloud on the same machine `init` never writes `mode` to
77
- the global config.
82
+ (explicit → local) → `ORBITMAP_MODE=local|cloud` → nearest `.orbitmap/config.json` `mode` field
83
+ auto-detect (walk up from cwd looking for `.orbitmap/workspace.yml` or `.orbitmap/link.json`, same
84
+ as git looking for `.git` → local) → `mode` in the global config file, defaulting to `cloud` when
85
+ absent. The auto-detect rung (and the project config rung above it) is what lets one project stay
86
+ local and another stay cloud on the same machine — `init` never writes `mode` to the global config
87
+ for the local path.
78
88
 
79
89
  ### Where the data lives
80
90
 
@@ -136,7 +146,7 @@ OrbitMap organises work on several levels. The CLI mirrors them 1:1:
136
146
  | **Idea** | `ID-` | A future possibility |
137
147
  | **Vibe** | `VB-` | Ad-hoc work context outside the task lifecycle |
138
148
 
139
- > **Project → Area rename.** What used to be called a *project* is now an **area**. The global flag is `--area`, the env var is `ORBITMAP_AREA`, and the config key is `area`. Legacy `ORBITMAP_PROJECT_ID` / `project_id` are still read as a fallback, so old configs keep workingbut they are never written back.
149
+ > **Project → Area rename.** What used to be called a *project* is now an **area**. The global flag is `--area`, the env var is `ORBITMAP_AREA`, and the config key is `area`. The legacy `ORBITMAP_PROJECT_ID` env var and `project_id` config key were read-only fallbacks for one release and were removed by [ADR 0002](docs/adr/0002-project-scoped-config.md) they had the same cross-project leak as the machine-wide `area` they aliased. Set `area` in your project's `.orbitmap/config.json` instead.
140
150
 
141
151
  ## Commands
142
152
 
@@ -145,26 +155,46 @@ OrbitMap organises work on several levels. The CLI mirrors them 1:1:
145
155
  | Command | Description |
146
156
  |---------|-------------|
147
157
  | `orbitmap tasks` | List your assigned tasks (`--status`, `--priority`, `--orbit`) |
148
- | `orbitmap task <id>` | Show full task details (UUID or 6-char task number) |
149
- | `orbitmap start [id]` | Start working on a task (auto-picks next TODO if no ID) |
150
- | `orbitmap status <task-id> <status>` | Update task status (`--force` to move a parent to `done` with unfinished subtasks) |
158
+ | `orbitmap task <id-or-number>` | Show full task details |
159
+ | `orbitmap start [id-or-number]` | Start working on a task (auto-picks next TODO if no ID) |
160
+ | `orbitmap status <id-or-number> <status>` | Update task status (`--force` to move a parent to `done` with unfinished subtasks) |
151
161
  | `orbitmap create <title>` | Create a new task (`--from-issue`, `--intent`, `--orbit`) |
152
- | `orbitmap subtask <parent-id> <title>` | Create a subtask |
153
- | `orbitmap assign <id> [agent-id]` | Assign a task, issue, idea, or intent to an agent or user |
162
+ | `orbitmap subtask <parent-id-or-number> <title>` | Create a subtask |
163
+ | `orbitmap assign <id-or-number> [agent-id]` | Assign a task, issue, idea, or intent to an agent or user |
154
164
  | `orbitmap get <prefixed-id>` | Show any object by prefixed ID (TS-, IS-, ID-, VB-, IN-, MS-) |
155
- | `orbitmap dep add <id> <target-id>` | Add a dependency between tasks |
156
- | `orbitmap dep remove <id> <target-id>` | Remove a dependency |
157
- | `orbitmap task-edit-content <id>` | Edit task title, description, or agent instructions |
165
+ | `orbitmap dep add <id-or-number> <target-id-or-number>` | Add a dependency between tasks |
166
+ | `orbitmap dep remove <id-or-number> <target-id-or-number>` | Remove a dependency |
167
+ | `orbitmap task-edit-content <id-or-number>` | Edit task title, description, or agent instructions |
158
168
 
159
169
  **Valid statuses:** `backlog`, `todo`, `in_progress`, `in_review`, `review_changes`, `done`, `blocked`
160
170
 
161
- `assign` auto-detects the object type from the prefix (`IS-…` → issue, `IN-…` → intent, …); pass `--type task|issue|idea|intent` for bare UUIDs.
171
+ ### Referring to objects: `<id-or-number>`
172
+
173
+ Every command that takes an object reference accepts all three forms interchangeably:
174
+
175
+ - the prefixed display ID the CLI prints — `TS-uw9yh5`, `IS-4k2p9q`, `IN-6htga8`
176
+ - the bare 6-character code — `uw9yh5`
177
+ - the UUID
178
+
179
+ You can therefore paste any identifier straight out of `orbitmap tasks`, `orbitmap context` or
180
+ the message `orbitmap create` prints. This was previously true of `orbitmap task` and
181
+ `orbitmap get` only: `status`, `log`, `subtask`, `start`, `assign`, `task-edit-content` and
182
+ `dep add`/`dep remove` rejected prefixed IDs with a 404, including identifiers the CLI had
183
+ just printed itself.
184
+
185
+ The Agent API resolves a prefixed ID inline for issues, ideas, intents and missions, but not
186
+ for tasks — a task reference that is not a UUID needs a `/tasks/by-number/{n}` lookup first.
187
+ The CLI now does that once, in the adapter layer, so every task command behaves the same and a
188
+ UUID still costs exactly one request. See `src/id-resolve.ts`.
189
+
190
+ `assign` auto-detects the object type from the prefix (`IS-…` → issue, `IN-…` → intent, …);
191
+ pass `--type task|issue|idea|intent` for bare UUIDs and bare codes.
162
192
 
163
193
  ### Work Logging
164
194
 
165
195
  | Command | Description |
166
196
  |---------|-------------|
167
- | `orbitmap log <task-id> <message>` | Log work on a task |
197
+ | `orbitmap log <id-or-number> <message>` | Log work on a task |
168
198
 
169
199
  **Options:**
170
200
  - `--type <type>` — Log type: `note` (default), `code_change`, `decision`, `blocker`, `discovery`, `exploration`, `fix`
@@ -339,9 +369,9 @@ orbitmap status abc123 done --delivery released
339
369
 
340
370
  | Command | Description |
341
371
  |---------|-------------|
342
- | `orbitmap init` | Interactive setup — mode, then credentials or workspace (`--key`, `--area`, `--profile`, `--advanced`; `--local`, `--workspace`, `--workspace-name`, `--no-skills`) |
372
+ | `orbitmap init` | Full setup — mode, then credentials or workspace, then the agent skills (`--key`, `--area`, `--profile`, `--advanced`, `--global`; `--local`, `--workspace`, `--workspace-name`; `--agent <type>`, `--no-skills`) |
343
373
  | `orbitmap login` / `orbitmap logout` | Browser-based OAuth login / token revocation |
344
- | `orbitmap setup-agent` | Install OrbitMap instructions into your agent config |
374
+ | `orbitmap setup-agent` | Refresh the installed instructions (after a CLI upgrade) or add another agent type — `init` installs them once already |
345
375
  | `orbitmap setup-mcp` | Write/merge an `orbitmap` entry into `.mcp.json` (no API calls) |
346
376
 
347
377
  ### Global Options
@@ -354,54 +384,118 @@ orbitmap status abc123 done --delivery released
354
384
 
355
385
  ## Configuration
356
386
 
387
+ See `docs/adr/0002-project-scoped-config.md` for the full design and rationale (this
388
+ replaced a single global config file — breaking for scripted `init` callers that relied on
389
+ that, see the ADR's Consequences section).
390
+
357
391
  ### Setup
358
392
 
359
- Run `npx orbitmap init` for interactive setup. Credentials are stored in `~/.orbitmap/config.json`.
393
+ Run `npx orbitmap init` for interactive setup. For cloud mode, it writes
394
+ `<project>/.orbitmap/config.json` (committable, no secrets) by default; pass `--global` to
395
+ write `~/.orbitmap/config.json` instead (a machine-wide default, like `git config --global`).
396
+ The API key always goes to `~/.orbitmap/credentials.json`, under a named **agent profile** —
397
+ never into a config file, either way.
360
398
 
361
- ### Config file
399
+ ### Project config file — `<project>/.orbitmap/config.json`
362
400
 
363
401
  ```json
364
402
  {
365
- "api_url": "https://orbitmap.app/api/agent",
366
- "api_key": "orbitmap_...",
367
- "area": "my-area-slug",
403
+ "schema_version": 1,
368
404
  "mode": "cloud",
369
- "workspace_path": "/home/me/orbits/personal"
405
+ "agent": "orbitmap-app-bot",
406
+ "area": "my-area-slug"
370
407
  }
371
408
  ```
372
409
 
373
- `mode` is `"cloud"` (the default when the key is absent, so existing configs keep working) or
374
- `"local"`; `workspace_path` is the default local workspace directory and is written only in local
375
- mode. A legacy `"project_id"` key is still honoured if `area` is absent.
410
+ `mode` is `"cloud"` (the default when the key is absent) or `"local"`. `agent` names a
411
+ profile in `~/.orbitmap/credentials.json` the project says *which* agent to use, the
412
+ credentials file (below) holds *that agent's* key. This file is meant to be committed: a
413
+ team shares the `agent` name and `area` pinning through version control, and each member's
414
+ own copy of `credentials.json` supplies their own agent's key.
415
+
416
+ ### Global config file — `~/.orbitmap/config.json`
417
+
418
+ Same shape, used as the fallback for any field a project's own config doesn't set, and as
419
+ the only place `workspace_path` (the default local workspace directory) is read from. Only
420
+ written by `orbitmap init --global`, or left over from before ADR 0002 — in which case a
421
+ lingering `area` is still honoured but prints a one-time deprecation warning telling you to
422
+ move it into a project's own `.orbitmap/config.json`.
423
+
424
+ ### Credentials file — `~/.orbitmap/credentials.json`
425
+
426
+ Never committed, never leaves the machine. Also holds the OAuth session used by
427
+ `orbitmap login`/`orbitmap logout` (unrelated top-level fields, unchanged shape):
428
+
429
+ ```json
430
+ {
431
+ "agents": {
432
+ "orbitmap-app-bot": { "api_key": "orbitmap_..." },
433
+ "orbitmap-cli-bot": { "api_key": "orbitmap_..." }
434
+ }
435
+ }
436
+ ```
437
+
438
+ An agent name that resolves to nothing here (nothing named `agent` anywhere, including the
439
+ global config) falls back to the `"default"` profile — which is also where a pre-ADR-0002
440
+ global `api_key` is migrated to. That migration runs inside `loadConfig()`, i.e. on the
441
+ first command of any kind after upgrading, not only on `orbitmap init`; it rewrites
442
+ `~/.orbitmap/config.json` without the key (preserving every other key in the file) and
443
+ prints a one-time notice. If the write fails — read-only `$HOME`, a `credentials.json` owned
444
+ by another user — it says so and keeps using the key from the config file, so the CLI never
445
+ locks you out over a key that is right there on disk.
446
+
447
+ `~/.orbitmap` itself can be relocated with `ORBITMAP_CONFIG_HOME` or the standard
448
+ `XDG_CONFIG_HOME` (as `$XDG_CONFIG_HOME/orbitmap`); reads fall back to the legacy
449
+ `~/.orbitmap` location when the new one has nothing yet.
376
450
 
377
451
  ### Environment Variables
378
452
 
379
- Environment variables take precedence over the config file:
453
+ Environment variables take precedence over every config file:
380
454
 
381
455
  | Variable | Description |
382
456
  |----------|-------------|
383
- | `ORBITMAP_API_KEY` | Agent API key |
384
- | `ORBITMAP_API_URL` | API base URL |
457
+ | `ORBITMAP_API_KEY` | Agent API key (bypasses agent-profile lookup entirely) |
458
+ | `ORBITMAP_API_URL` | API base URL — the only remaining override; there is no config-file equivalent any more (see the ADR) |
459
+ | `ORBITMAP_AGENT` | Name of the agent profile in `credentials.json` to use |
385
460
  | `ORBITMAP_AREA` | Area UUID or slug |
386
461
  | `ORBITMAP_MODE` | `cloud` or `local` — overrides the config `mode` |
387
462
  | `ORBITMAP_WORKSPACE` | Local workspace directory (local mode) |
388
- | `ORBITMAP_PROJECT_ID` | Deprecated alias for `ORBITMAP_AREA` (read-only fallback) |
463
+ | `ORBITMAP_CONFIG_HOME` / `XDG_CONFIG_HOME` | Relocate `~/.orbitmap` |
389
464
 
390
465
  ### Resolution Priority
391
466
 
392
- 1. Explicit `--area` flag (area context only)
393
- 2. Environment variables (`ORBITMAP_AREA`, then legacy `ORBITMAP_PROJECT_ID`)
467
+ **Area** (first match wins):
468
+ 1. Explicit `--area` flag
469
+ 2. `ORBITMAP_AREA` env
394
470
  3. `.orbitmap/link.json` (`area`) found by walking up from the current directory — local mode
395
- 4. `default_area` in the workspace's `workspace.yml` local mode; written by `orbitmap init` for
471
+ 4. Nearest `.orbitmap/config.json` **that sets `area`**, found the same way. Resolution is
472
+ per field: a `packages/api/.orbitmap/config.json` that sets only `agent` does not hide an
473
+ `area` pinned by the repository root
474
+ 5. `default_area` in the workspace's `workspace.yml` — local mode; written by `orbitmap init` for
396
475
  the first area, so a workspace outranks the machine-wide default of an unrelated project
397
- 5. Config file (`~/.orbitmap/config.json` `area`, then legacy `project_id`). In local mode this
398
- rung is ignored when it names an area the workspace does not have (the workspace's own single
399
- area is used instead); an area you name explicitly always fails loudly when it does not exist
400
- 6. Defaults (local mode: the only area in the workspace, when there is exactly one)
476
+ 6. Global config `area` (deprecated prints a warning when hit)
477
+ 7. Defaults (local mode: the only area in the workspace, when there is exactly one)
478
+
479
+ **Agent / API key** (first match wins):
480
+ 1. `ORBITMAP_API_KEY` env — used directly, no profile lookup
481
+ 2. Otherwise resolve an agent name (`ORBITMAP_AGENT` env → nearest `.orbitmap/config.json`
482
+ that sets `agent` → global config `agent` → `"default"`) and look up its key in
483
+ `credentials.json`
484
+
485
+ **Mode** (first match wins): `--workspace` (explicit → local) → `ORBITMAP_MODE` → nearest
486
+ `.orbitmap/config.json` that sets `mode` → local auto-detect (`.orbitmap/workspace.yml` or
487
+ `.orbitmap/link.json` found by walking up) → `mode` in the global config, defaulting to
488
+ `cloud`.
489
+
490
+ **Workspace directory** (local mode, first match wins): `--workspace` → `ORBITMAP_WORKSPACE`
491
+ → `.orbitmap/link.json` (`workspace`) → nearest `.orbitmap/workspace.yml` → the `.orbitmap/`
492
+ directory of the nearest config that sets `mode: "local"`, when it is itself a workspace →
493
+ `workspace_path` in the global config, **which must be an absolute path** (a relative one
494
+ would mean a different directory in every project, so it is ignored with a warning).
401
495
 
402
496
  ## Authentication
403
497
 
404
- In cloud mode, OrbitMap CLI uses a single **Agent API Key** for authentication (`Authorization: Bearer` header). Local mode has no authentication at all — access to the workspace directory is the only credential. Each agent has its own key — get it from the OrbitMap dashboard. Area context travels in the `X-Orbitmap-Area` header.
498
+ In cloud mode, OrbitMap CLI uses a single **Agent API Key** for authentication (`Authorization: Bearer` header). Local mode has no authentication at all — access to the workspace directory is the only credential. Each agent has its own key, named by an agent profile in `~/.orbitmap/credentials.json` — get the key itself from the OrbitMap dashboard. Area context travels in the `X-Orbitmap-Area` header.
405
499
 
406
500
  Optionally, set a default **Area ID** if your agent is assigned to multiple areas.
407
501
 
@@ -418,14 +512,23 @@ API errors are printed as `Error [CODE] (status): message`. Alongside the regula
418
512
 
419
513
  ## For AI Agents
420
514
 
421
- Run the setup wizard to teach your agent about OrbitMap:
515
+ `orbitmap init` already teaches your agent about OrbitMap — the skills are its last step, in
516
+ both cloud and local mode, and it creates the agent config file when the directory has none:
517
+
518
+ ```bash
519
+ npx orbitmap init --agent claude # or let it detect / ask; --no-skills opts out
520
+ ```
521
+
522
+ `setup-agent` does the same install on its own, for the two cases `init` does not cover:
523
+ refreshing the content after upgrading the CLI, and adding a second agent type to a directory
524
+ that is already set up.
422
525
 
423
526
  ```bash
424
527
  npx orbitmap setup-agent # auto-detects your agent
425
528
  npx orbitmap setup-agent --agent claude
426
529
  ```
427
530
 
428
- It installs two layers, mirroring the OrbitMap MCP server:
531
+ Either way it installs two layers, mirroring the OrbitMap MCP server:
429
532
 
430
533
  - A **thin always-on hook** (~10 lines) in your agent config (`CLAUDE.md`, `AGENTS.md`, …) so the agent always knows the project uses OrbitMap and knows the workflow skeleton.
431
534
  - The **deep, on-demand instructions** — full parity with the MCP `full` profile. For **Claude Code** these are installed as loaded-on-demand skills (`.claude/skills/orbitmap`, `orbitmap-working`, `orbitmap-planning`, `orbitmap-docs`, zero per-turn context cost); for other agents they're inlined as a markdown fallback.
@@ -1,14 +1,23 @@
1
+ import { type OrbitMapConfig } from '../config.js';
1
2
  import type { WorkspaceAdapter } from './types.js';
2
3
  export declare class CloudAdapter implements WorkspaceAdapter {
3
4
  private readonly apiKey;
4
5
  private readonly baseUrl;
5
6
  private readonly area?;
7
+ /**
8
+ * Task reference → uuid, for the lifetime of this adapter. A command that touches the same
9
+ * task twice (`dep add TS-a TS-b` resolves two, `status` then reads back) pays for one
10
+ * `/tasks/by-number/{n}` lookup per distinct reference, not per call site.
11
+ */
12
+ private readonly taskIdCache;
6
13
  constructor(apiKey: string, area?: string, apiUrl?: string);
7
14
  private request;
8
15
  getContext(areaId?: string): Promise<unknown>;
9
16
  /**
10
- * The area this client was constructed with (`--area` → `ORBITMAP_AREA` → config
11
- * `area`legacy `project_id`, resolved by `createClient`). No request is made.
17
+ * The area this client was constructed with (`--area` → `ORBITMAP_AREA` →
18
+ * `.orbitmap/link.json` → nearest project `.orbitmap/config.json` that sets `area`
19
+ * global config `area` (deprecated) — the one ladder, `resolveArea` in
20
+ * `workspace-resolve.ts`, applied by `createClient`). No request is made.
12
21
  */
13
22
  getDefaultArea(): Promise<string | undefined>;
14
23
  getTasks(options?: {
@@ -17,6 +26,12 @@ export declare class CloudAdapter implements WorkspaceAdapter {
17
26
  areaId?: string;
18
27
  orbit?: string;
19
28
  }): Promise<unknown>;
29
+ /**
30
+ * Resolve any task reference — uuid, `TS-uw9yh5` or the bare code — to the uuid the task
31
+ * endpoints require. A uuid costs no extra request; see `id-resolve.ts` for why tasks need
32
+ * this at all when every other entity resolves its prefix server-side.
33
+ */
34
+ private taskId;
20
35
  getTask(taskId: string): Promise<unknown>;
21
36
  getTaskByNumber(taskNumber: string): Promise<unknown>;
22
37
  startTask(taskId?: string): Promise<unknown>;
@@ -331,4 +346,22 @@ export declare class CloudAdapter implements WorkspaceAdapter {
331
346
  }
332
347
  /** Backwards-compatible alias for the pre-adapter class name. */
333
348
  export { CloudAdapter as OrbitMapClient };
334
- export declare function createClient(explicitArea?: string): Promise<CloudAdapter>;
349
+ export interface CreateClientOptions {
350
+ /**
351
+ * Area already produced by the one area ladder (`resolveWorkspaceContext`). Pass it
352
+ * whenever the caller has it — `createAdapter` always does — so the ladder is walked
353
+ * once per command instead of twice.
354
+ */
355
+ area?: string;
356
+ /** Global config the caller already loaded, to avoid a second read of the same file. */
357
+ config?: OrbitMapConfig;
358
+ }
359
+ /**
360
+ * Build a {@link CloudAdapter} from the resolved credentials and area.
361
+ *
362
+ * There is exactly **one** area ladder — `resolveArea` in `workspace-resolve.ts` (ADR
363
+ * 0002 §2). `resolveAuth` used to carry a second, shorter copy of it that was missing the
364
+ * `link.json` rung, so a cloud project with a `.orbitmap/link.json` got a different area
365
+ * depending on which entry point it came through.
366
+ */
367
+ export declare function createClient(explicitArea?: string, options?: CreateClientOptions): Promise<CloudAdapter>;
@@ -1,15 +1,23 @@
1
1
  import { createReadStream, statSync } from 'node:fs';
2
2
  import { basename, extname } from 'node:path';
3
3
  import { OrbitMapAPIError } from '../errors.js';
4
- import { resolveAuth } from '../config.js';
4
+ import { loadConfig, resolveAuth, DEFAULT_API_URL } from '../config.js';
5
+ import { resolveArea } from '../workspace-resolve.js';
6
+ import { isObjectNumber, resolveTaskRef, stripPrefix } from '../id-resolve.js';
5
7
  export class CloudAdapter {
6
8
  apiKey;
7
9
  baseUrl;
8
10
  area;
11
+ /**
12
+ * Task reference → uuid, for the lifetime of this adapter. A command that touches the same
13
+ * task twice (`dep add TS-a TS-b` resolves two, `status` then reads back) pays for one
14
+ * `/tasks/by-number/{n}` lookup per distinct reference, not per call site.
15
+ */
16
+ taskIdCache = new Map();
9
17
  constructor(apiKey, area, apiUrl) {
10
18
  this.apiKey = apiKey;
11
19
  this.area = area;
12
- this.baseUrl = (apiUrl ?? 'https://orbitmap.app/api/agent').replace(/\/$/, '');
20
+ this.baseUrl = (apiUrl ?? DEFAULT_API_URL).replace(/\/$/, '');
13
21
  }
14
22
  async request(method, path, options) {
15
23
  const url = new URL(`${this.baseUrl}${path}`);
@@ -86,8 +94,10 @@ export class CloudAdapter {
86
94
  });
87
95
  }
88
96
  /**
89
- * The area this client was constructed with (`--area` → `ORBITMAP_AREA` → config
90
- * `area`legacy `project_id`, resolved by `createClient`). No request is made.
97
+ * The area this client was constructed with (`--area` → `ORBITMAP_AREA` →
98
+ * `.orbitmap/link.json` → nearest project `.orbitmap/config.json` that sets `area`
99
+ * global config `area` (deprecated) — the one ladder, `resolveArea` in
100
+ * `workspace-resolve.ts`, applied by `createClient`). No request is made.
91
101
  */
92
102
  async getDefaultArea() {
93
103
  return this.area;
@@ -103,15 +113,42 @@ export class CloudAdapter {
103
113
  },
104
114
  });
105
115
  }
116
+ /**
117
+ * Resolve any task reference — uuid, `TS-uw9yh5` or the bare code — to the uuid the task
118
+ * endpoints require. A uuid costs no extra request; see `id-resolve.ts` for why tasks need
119
+ * this at all when every other entity resolves its prefix server-side.
120
+ */
121
+ taskId(ref) {
122
+ const trimmed = ref.trim();
123
+ if (!isObjectNumber(trimmed))
124
+ return Promise.resolve(trimmed);
125
+ const cached = this.taskIdCache.get(trimmed);
126
+ if (cached)
127
+ return cached;
128
+ // The *promise* is cached, not the resolved value, so callers that resolve two references
129
+ // concurrently (`dep add TS-a TS-a`) share one in-flight lookup instead of racing past an
130
+ // entry that is only written after the await.
131
+ const pending = resolveTaskRef(trimmed, this);
132
+ this.taskIdCache.set(trimmed, pending);
133
+ // A failed lookup must not be cached: the next command run should retry, not replay the
134
+ // rejection for the lifetime of this adapter.
135
+ pending.catch(() => this.taskIdCache.delete(trimmed));
136
+ return pending;
137
+ }
106
138
  async getTask(taskId) {
107
- return this.request('GET', `/tasks/${taskId}`);
139
+ // A by-number reference is answered by the by-number endpoint directly: resolving to a
140
+ // uuid first and then fetching would be two requests for the same body.
141
+ const trimmed = taskId.trim();
142
+ if (isObjectNumber(trimmed))
143
+ return this.getTaskByNumber(stripPrefix(trimmed));
144
+ return this.request('GET', `/tasks/${trimmed}`);
108
145
  }
109
146
  async getTaskByNumber(taskNumber) {
110
147
  return this.request('GET', `/tasks/by-number/${taskNumber}`);
111
148
  }
112
149
  async startTask(taskId) {
113
150
  if (taskId) {
114
- return this.request('POST', `/tasks/${taskId}/start`);
151
+ return this.request('POST', `/tasks/${await this.taskId(taskId)}/start`);
115
152
  }
116
153
  return this.request('POST', '/tasks/start');
117
154
  }
@@ -126,10 +163,10 @@ export class CloudAdapter {
126
163
  body.status = status;
127
164
  if (deliveryStatus !== undefined)
128
165
  body.delivery_status = deliveryStatus;
129
- return this.request('PATCH', `/tasks/${taskId}/status`, { body });
166
+ return this.request('PATCH', `/tasks/${await this.taskId(taskId)}/status`, { body });
130
167
  }
131
168
  async createSubtasks(parentId, subtasks) {
132
- return this.request('POST', `/tasks/${parentId}/subtasks`, {
169
+ return this.request('POST', `/tasks/${await this.taskId(parentId)}/subtasks`, {
133
170
  body: { subtasks },
134
171
  });
135
172
  }
@@ -137,13 +174,13 @@ export class CloudAdapter {
137
174
  return this.request('POST', '/tasks', { body: data });
138
175
  }
139
176
  async editTaskContent(taskId, data) {
140
- return this.request('PATCH', `/tasks/${taskId}/content`, {
177
+ return this.request('PATCH', `/tasks/${await this.taskId(taskId)}/content`, {
141
178
  body: data,
142
179
  });
143
180
  }
144
181
  // ── Assignment ──
145
182
  async assignTask(taskId, assignment) {
146
- return this.request('PATCH', `/tasks/${taskId}/assign`, {
183
+ return this.request('PATCH', `/tasks/${await this.taskId(taskId)}/assign`, {
147
184
  body: assignment,
148
185
  });
149
186
  }
@@ -154,22 +191,37 @@ export class CloudAdapter {
154
191
  idea: 'ideas',
155
192
  intent: 'intents',
156
193
  };
157
- return this.request('PATCH', `/${segments[objectType]}/${objectId}/assign`, {
194
+ // Tasks only: `/issues|ideas|intents/{id}/assign` resolve a prefixed ID server-side, so
195
+ // their reference is passed through untouched (stripping it would break them).
196
+ const ref = objectType === 'task' ? await this.taskId(objectId) : objectId;
197
+ return this.request('PATCH', `/${segments[objectType]}/${ref}/assign`, {
158
198
  body: assignment,
159
199
  });
160
200
  }
161
201
  // ── Task Dependencies ──
162
202
  async addTaskDependency(taskId, data) {
163
- return this.request('POST', `/tasks/${taskId}/dependencies`, { body: data });
203
+ // Both ends are task references and both may be prefixed — the target travels in the body
204
+ // rather than the path, which is exactly why it was easy to miss.
205
+ const [id, targetTaskId] = await Promise.all([
206
+ this.taskId(taskId),
207
+ this.taskId(data.target_task_id),
208
+ ]);
209
+ return this.request('POST', `/tasks/${id}/dependencies`, {
210
+ body: { ...data, target_task_id: targetTaskId },
211
+ });
164
212
  }
165
213
  async removeTaskDependency(taskId, targetTaskId, type) {
166
- return this.request('DELETE', `/tasks/${taskId}/dependencies/${targetTaskId}`, {
214
+ const [id, target] = await Promise.all([
215
+ this.taskId(taskId),
216
+ this.taskId(targetTaskId),
217
+ ]);
218
+ return this.request('DELETE', `/tasks/${id}/dependencies/${target}`, {
167
219
  params: { type },
168
220
  });
169
221
  }
170
222
  // ── Logs ──
171
223
  async logWork(taskId, type, content, metadata) {
172
- return this.request('POST', `/tasks/${taskId}/logs`, {
224
+ return this.request('POST', `/tasks/${await this.taskId(taskId)}/logs`, {
173
225
  body: { type, content, metadata },
174
226
  });
175
227
  }
@@ -513,8 +565,18 @@ export class CloudAdapter {
513
565
  }
514
566
  /** Backwards-compatible alias for the pre-adapter class name. */
515
567
  export { CloudAdapter as OrbitMapClient };
516
- export async function createClient(explicitArea) {
517
- const auth = await resolveAuth();
518
- return new CloudAdapter(auth.apiKey, explicitArea ?? auth.area, auth.apiUrl);
568
+ /**
569
+ * Build a {@link CloudAdapter} from the resolved credentials and area.
570
+ *
571
+ * There is exactly **one** area ladder — `resolveArea` in `workspace-resolve.ts` (ADR
572
+ * 0002 §2). `resolveAuth` used to carry a second, shorter copy of it that was missing the
573
+ * `link.json` rung, so a cloud project with a `.orbitmap/link.json` got a different area
574
+ * depending on which entry point it came through.
575
+ */
576
+ export async function createClient(explicitArea, options = {}) {
577
+ const config = options.config ?? (await loadConfig());
578
+ const auth = await resolveAuth({ config });
579
+ const area = explicitArea ?? options.area ?? resolveArea({ config }).area;
580
+ return new CloudAdapter(auth.apiKey, area, auth.apiUrl);
519
581
  }
520
582
  //# sourceMappingURL=cloud.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/adapters/cloud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAQ3C,MAAM,OAAO,YAAY;IACN,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,IAAI,CAAU;IAE/B,YACE,MAAc,EACd,IAAa,EACb,MAAe;QAEf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,IAAI,gCAAgC,CAAC,CAAC,OAAO,CACjE,KAAK,EACL,EAAE,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,OAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QAE9C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;YACtC,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAC3C,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5E,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,2CAA2C;YAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,SAAc,CAAC;YACxB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,gBAAgB,CACxB,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,EAClC,YAAY,EACZ,QAAQ,CAAC,MAAM,CAChB,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,gCAAgC,EAChC,aAAa,EACb,QAAQ,CAAC,MAAM,CAChB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;gBACD,mEAAmE;gBACnE,qEAAqE;gBACrE,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9C,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,QAAQ,QAAQ,CAAC,MAAM,EAAE,EACzB,YAAY,EACZ,QAAQ,CAAC,MAAM,CAChB,CAAC;YACJ,CAAC;YAED,OAAO,IAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB;gBAAE,MAAM,KAAK,CAAC;YACnD,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjE,MAAM,IAAI,gBAAgB,CACxB,6BAA6B,EAC7B,SAAS,EACT,CAAC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,UAAU,CAAC,MAAe;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE;YACrC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,QAAQ,CAAC,OAKd;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE;YACnC,MAAM,EAAE;gBACN,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,OAAO,EAAE,OAAO,EAAE,MAAM;gBACxB,QAAQ,EAAE,OAAO,EAAE,KAAK;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,MAAM,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM,QAAQ,CAAC,CAAC;QACxD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,MAAe,EACf,cAA8B;IAC9B,oFAAoF;IACpF,mFAAmF;IACnF,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAgB;QAEhB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/C,IAAI,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,MAAM,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,QAKE;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,QAAQ,WAAW,EAAE;YACzD,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAahB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,IAA2E;QAE3E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,MAAM,UAAU,EAAE;YACvD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,UAAU,CACd,MAAc,EACd,UAAsD;QAEtD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,MAAM,SAAS,EAAE;YACtD,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CACd,UAAgD,EAChD,QAAgB,EAChB,UAAsD;QAEtD,MAAM,QAAQ,GAA2B;YACvC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,QAAQ,SAAS,EAAE;YAC1E,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAE1B,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,IAA8D;QAE9D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM,eAAe,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,YAAoB,EACpB,IAAa;QAEb,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,MAAM,iBAAiB,YAAY,EAAE,EAAE;YAC7E,MAAM,EAAE,EAAE,IAAI,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAED,aAAa;IAEb,KAAK,CAAC,OAAO,CACX,MAAc,EACd,IAAY,EACZ,OAAe,EACf,QAAkC;QAElC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM,OAAO,EAAE;YACnD,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAElB,KAAK,CAAC,YAAY,CAAC,OAIlB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE;YACvC,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,OAAO,EAAE,OAAO,EAAE,MAAM;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,IAAwB,EAAE,OAA8C;QAC1G,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,QAAQ,EAAE,EAAE;YACnD,MAAM,EAAE;gBACN,IAAI;gBACJ,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACxC,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAOpB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,OAAe,EACf,SAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,QAAQ,EAAE,EAAE;YACnD,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,UAA0C,EAC1C,WAAmB,EACnB,SAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,QAAQ,EAAE,EAAE;YACrD,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAE7B,KAAK,CAAC,gBAAgB,CAAC,IAOtB;QACC,OAAO,IAAI,CAAC,OAAO,CAQhB,MAAM,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,OAAO,CAMhB,MAAM,EAAE,2BAA2B,EAAE;YACtC,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,QAAgB,EAChB,SAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAShB,MAAM,EAAE,cAAc,QAAQ,aAAa,EAAE;YAC9C,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,QAAgB;QAEhB,OAAO,IAAI,CAAC,OAAO,CAMhB,MAAM,EAAE,cAAc,QAAQ,iBAAiB,EAAE;YAClD,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,YAAoB,EACpB,QAAgB,EAChB,UAAgE;QAEhE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAEjF,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE1C,yDAAyD;QACzD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC;YACxB,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,WAAW;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC;aACrC;YACD,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,gBAAgB,CACxB,0BAA0B,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EACnE,eAAe,EACf,QAAQ,CAAC,MAAM,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,IAAoG,EACpG,UAAgE;QAKhE,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,CAAC,oCAAoC;YACnD,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAC7B,cAAc,CAAC,IAAI,CAAC,aAAa,EACjC,QAAQ,EACR,UAAU,CACX,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,QAAgB,EAChB,SAAkB,EAClB,UAAgE;QAKhE,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,CAAC,oCAAoC;YACnD,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAC7B,cAAc,CAAC,IAAI,CAAC,aAAa,EACjC,QAAQ,EACR,UAAU,CACX,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC9C,QAAQ,EACR,cAAc,CAAC,IAAI,CAAC,SAAS,CAC9B,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,yBAAyB;IAEzB,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,MAAc,EACd,QAAmB;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,UAAU,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,MAAc;QACtD,OAAO,IAAI,CAAC,OAAO,CACjB,QAAQ,EACR,cAAc,UAAU,UAAU,MAAM,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,UAAkB,EAClB,MAAc,EACd,QAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,cAAc,UAAU,UAAU,MAAM,aAAa,EACrD,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,MAAM,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,MAAM,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAKhB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,eAAe;IAEf,KAAK,CAAC,aAAa,CAAC,IAMnB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAIhB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE;YACpC,MAAM,EAAE;gBACN,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,UAAU,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,IAI/C;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,WAAW,UAAU,EAAE;YACvE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,IAItC;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,UAAU,UAAU,EAAE;YAC5D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,IAI3C;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,UAAU,SAAS,EAAE;YAC3D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,WAAmB,EAAE,IAIpD;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,WAAW,SAAS,EAAE;YACtE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,OAAO,CAAC,IAKb;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAIf;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE;YACnC,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,IAK5B;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,SAAS,CAAC,OAAgE;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE;YACnC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SACxF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAgG;QAC/G,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,IAAwB;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,UAAU,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAkB,EAAE,IAAwB;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,UAAU,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,eAAe;IAEf,KAAK,CAAC,UAAU,CAAC,OAAmD;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE;YACpC,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,EAAE,MAAM;gBACxB,YAAY,EAAE,OAAO,EAAE,WAAW;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAKjB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,IAKC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,aAAqB,EACrB,OAA2B;QAE3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,QAAQ,EAAE;YAC3D,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACf,aAAqB,EACrB,IAA+D;QAE/D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACf,aAAqB,EACrB,IAAgD;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,aAAqB,EAAE,MAAc;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB,EAAE,MAAc;QACzD,OAAO,IAAI,CAAC,OAAO,CACjB,QAAQ,EACR,WAAW,aAAa,UAAU,MAAM,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,aAAqB,EACrB,IAAgD;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,eAAe,EAAE;YACnE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,WAAW,CAAC,OAA6C;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE;YACrC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAKlB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,IAA0D;QAE1D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,IAA4C;QAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,IAA4C;QAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,OAAsB;QAC7D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,UAAU,QAAQ,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,UAAU,QAAQ,EAAE;YACzD,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,YAAY,CAAC,OAA6C;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE;YACtC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAMnB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,IAKC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,IAAyD;QAEzD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,UAAU,SAAS,EAAE;YAC7D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,IAA4C;QAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,IAA4C;QAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACrD,CAAC;CACF;AAED,iEAAiE;AACjE,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,CAAC;AAE1C,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,YAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,WAAW,EAAE,CAAC;IACjC,OAAO,IAAI,YAAY,CACrB,IAAI,CAAC,MAAM,EACX,YAAY,IAAI,IAAI,CAAC,IAAI,EACzB,IAAI,CAAC,MAAM,CACZ,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"cloud.js","sourceRoot":"","sources":["../../src/adapters/cloud.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAuB,MAAM,cAAc,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/E,MAAM,OAAO,YAAY;IACN,MAAM,CAAS;IACf,OAAO,CAAS;IAChB,IAAI,CAAU;IAC/B;;;;OAIG;IACc,WAAW,GAAG,IAAI,GAAG,EAA2B,CAAC;IAElE,YACE,MAAc,EACd,IAAa,EACb,MAAe;QAEf,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,CAAC,MAAM,IAAI,eAAe,CAAC,CAAC,OAAO,CAChD,KAAK,EACL,EAAE,CACH,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,OAAO,CACnB,MAAc,EACd,IAAY,EACZ,OAAwB;QAExB,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,OAAO,GAAG,IAAI,EAAE,CAAC,CAAC;QAE9C,IAAI,OAAO,EAAE,MAAM,EAAE,CAAC;YACpB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC1D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;oBACxB,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAA2B;YACtC,aAAa,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE;YACtC,MAAM,EAAE,kBAAkB;SAC3B,CAAC;QAEF,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QACzC,CAAC;QAED,IAAI,OAAO,EAAE,IAAI,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;QAC/C,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QAE7D,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBAC3C,MAAM;gBACN,OAAO;gBACP,IAAI,EAAE,OAAO,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC5E,MAAM,EAAE,UAAU,CAAC,MAAM;aAC1B,CAAC,CAAC;YAEH,2CAA2C;YAC3C,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC5B,OAAO,SAAc,CAAC;YACxB,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,IAAI,IAAa,CAAC;YAClB,IAAI,CAAC;gBACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;oBACjB,MAAM,IAAI,gBAAgB,CACxB,QAAQ,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,EAClC,YAAY,EACZ,QAAQ,CAAC,MAAM,CAChB,CAAC;gBACJ,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,gCAAgC,EAChC,aAAa,EACb,QAAQ,CAAC,MAAM,CAChB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1C,MAAM,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;gBAC5C,CAAC;gBACD,mEAAmE;gBACnE,qEAAqE;gBACrE,IAAI,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC9C,MAAM,gBAAgB,CAAC,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;gBACjE,CAAC;gBACD,MAAM,IAAI,gBAAgB,CACxB,QAAQ,QAAQ,CAAC,MAAM,EAAE,EACzB,YAAY,EACZ,QAAQ,CAAC,MAAM,CAChB,CAAC;YACJ,CAAC;YAED,OAAO,IAAS,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,KAAK,YAAY,gBAAgB;gBAAE,MAAM,KAAK,CAAC;YACnD,IAAI,KAAK,YAAY,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;gBACjE,MAAM,IAAI,gBAAgB,CACxB,6BAA6B,EAC7B,SAAS,EACT,CAAC,CACF,CAAC;YACJ,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,YAAY,CAAC,OAAO,CAAC,CAAC;QACxB,CAAC;IACH,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,UAAU,CAAC,MAAe;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE;YACrC,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,QAAQ,CAAC,OAKd;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE;YACnC,MAAM,EAAE;gBACN,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,OAAO,EAAE,OAAO,EAAE,MAAM;gBACxB,QAAQ,EAAE,OAAO,EAAE,KAAK;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACK,MAAM,CAAC,GAAW;QACxB,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;YAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QAE9D,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,OAAO,MAAM,CAAC;QAE1B,0FAA0F;QAC1F,0FAA0F;QAC1F,8CAA8C;QAC9C,MAAM,OAAO,GAAG,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACvC,wFAAwF;QACxF,8CAA8C;QAC9C,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACtD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAc;QAC1B,uFAAuF;QACvF,wEAAwE;QACxE,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC;QAC9B,IAAI,cAAc,CAAC,OAAO,CAAC;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,OAAO,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAe;QAC7B,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAAc,EACd,MAAe,EACf,cAA8B;IAC9B,oFAAoF;IACpF,mFAAmF;IACnF,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAgB;QAEhB,MAAM,IAAI,GAA4B,EAAE,CAAC;QACzC,IAAI,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAC/C,IAAI,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACxE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACvF,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,QAKE;QAEF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC5E,IAAI,EAAE,EAAE,QAAQ,EAAE;SACnB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAahB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAAc,EACd,IAA2E;QAE3E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE;YAC1E,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IAEnB,KAAK,CAAC,UAAU,CACd,MAAc,EACd,UAAsD;QAEtD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE;YACzE,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CACd,UAAgD,EAChD,QAAgB,EAChB,UAAsD;QAEtD,MAAM,QAAQ,GAA2B;YACvC,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,QAAQ;YACf,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,SAAS;SAClB,CAAC;QACF,wFAAwF;QACxF,+EAA+E;QAC/E,MAAM,GAAG,GAAG,UAAU,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;QAC3E,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,SAAS,EAAE;YACrE,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;IACL,CAAC;IAED,0BAA0B;IAE1B,KAAK,CAAC,iBAAiB,CACrB,MAAc,EACd,IAA8D;QAE9D,0FAA0F;QAC1F,kEAAkE;QAClE,MAAM,CAAC,EAAE,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;SACjC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE;YACvD,IAAI,EAAE,EAAE,GAAG,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE;SAChD,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAc,EACd,YAAoB,EACpB,IAAa;QAEb,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YACrC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;SAC1B,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,iBAAiB,MAAM,EAAE,EAAE;YACnE,MAAM,EAAE,EAAE,IAAI,EAAE;SACjB,CAAC,CAAC;IACL,CAAC;IAED,aAAa;IAEb,KAAK,CAAC,OAAO,CACX,MAAc,EACd,IAAY,EACZ,OAAe,EACf,QAAkC;QAElC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;YACtE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE;SAClC,CAAC,CAAC;IACL,CAAC;IAED,kBAAkB;IAElB,KAAK,CAAC,YAAY,CAAC,OAIlB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE;YACvC,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,OAAO,EAAE,OAAO,EAAE,MAAM;aACzB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,IAAwB,EAAE,OAA8C;QAC1G,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,QAAQ,EAAE,EAAE;YACnD,MAAM,EAAE;gBACN,IAAI;gBACJ,IAAI,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;gBACxC,OAAO,EAAE,OAAO,EAAE,OAAO;aAC1B;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAOpB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,QAAgB,EAChB,OAAe,EACf,SAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,QAAQ,EAAE,EAAE;YACnD,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,UAA0C,EAC1C,WAAmB,EACnB,SAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,QAAQ,EAAE,EAAE;YACrD,IAAI,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,6BAA6B;IAE7B,KAAK,CAAC,gBAAgB,CAAC,IAOtB;QACC,OAAO,IAAI,CAAC,OAAO,CAQhB,MAAM,EAAE,uBAAuB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAI,CAAC,OAAO,CAMhB,MAAM,EAAE,2BAA2B,EAAE;YACtC,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,QAAgB,EAChB,SAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CAShB,MAAM,EAAE,cAAc,QAAQ,aAAa,EAAE;YAC9C,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CACvB,QAAgB,EAChB,QAAgB;QAEhB,OAAO,IAAI,CAAC,OAAO,CAMhB,MAAM,EAAE,cAAc,QAAQ,iBAAiB,EAAE;YAClD,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,YAAoB,EACpB,QAAgB,EAChB,UAAgE;QAEhE,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC;QAC7B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,WAAW,GAAG,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,0BAA0B,CAAC;QAEjF,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAE1C,yDAAyD;QACzD,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YACjC,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACjB,SAAS,IAAI,GAAG,CAAC,MAAM,CAAC;YACxB,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACtC,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEnC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,EAAE;YACzC,MAAM,EAAE,KAAK;YACb,OAAO,EAAE;gBACP,cAAc,EAAE,WAAW;gBAC3B,gBAAgB,EAAE,MAAM,CAAC,UAAU,CAAC;aACrC;YACD,IAAI;SACL,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,IAAI,gBAAgB,CACxB,0BAA0B,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,EACnE,eAAe,EACf,QAAQ,CAAC,MAAM,CAChB,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,IAAoG,EACpG,UAAgE;QAKhE,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;gBAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,QAAQ,CAAC,QAAQ,CAAC;gBAC5B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,YAAY,EAAE,IAAI,CAAC,YAAY;aAChC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,CAAC,oCAAoC;YACnD,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAC7B,cAAc,CAAC,IAAI,CAAC,aAAa,EACjC,QAAQ,EACR,UAAU,CACX,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,QAAgB,EAChB,SAAkB,EAClB,UAAgE;QAKhE,IAAI,cAAc,CAAC;QACnB,IAAI,CAAC;YACH,cAAc,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC1E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,gBAAgB,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC1D,OAAO,IAAI,CAAC,CAAC,oCAAoC;YACnD,CAAC;YACD,MAAM,GAAG,CAAC;QACZ,CAAC;QAED,MAAM,IAAI,CAAC,oBAAoB,CAC7B,cAAc,CAAC,IAAI,CAAC,aAAa,EACjC,QAAQ,EACR,UAAU,CACX,CAAC;QAEF,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC9C,QAAQ,EACR,cAAc,CAAC,IAAI,CAAC,SAAS,CAC9B,CAAC;QACF,OAAO,EAAE,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;IAC9D,CAAC;IAED,yBAAyB;IAEzB,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,MAAc,EACd,QAAmB;QAEnB,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,UAAU,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB,EAAE,MAAc;QACtD,OAAO,IAAI,CAAC,OAAO,CACjB,QAAQ,EACR,cAAc,UAAU,UAAU,MAAM,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,UAAkB,EAClB,MAAc,EACd,QAAkB;QAElB,OAAO,IAAI,CAAC,OAAO,CACjB,KAAK,EACL,cAAc,UAAU,UAAU,MAAM,aAAa,EACrD,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAClC,CAAC;IACJ,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,QAAQ;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAAc;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,MAAM,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAAc;QAClC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,MAAM,WAAW,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAKhB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,eAAe;IAEf,KAAK,CAAC,aAAa,CAAC,IAMnB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,OAIhB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE;YACpC,MAAM,EAAE;gBACN,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,QAAQ,EAAE,OAAO,EAAE,QAAQ;gBAC3B,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,UAAkB;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,UAAU,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,WAAmB;QACxC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,qBAAqB,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,WAAmB,EAAE,IAI/C;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,WAAW,UAAU,EAAE;YACvE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,IAItC;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,UAAU,UAAU,EAAE;YAC5D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB,EAAE,IAI3C;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,UAAU,SAAS,EAAE;YAC3D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,yBAAyB,CAAC,WAAmB,EAAE,IAIpD;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,qBAAqB,WAAW,SAAS,EAAE;YACtE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,OAAO,CAAC,IAKb;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,OAIf;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE;YACnC,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,EAAE,IAAI;gBACnB,KAAK,EAAE,OAAO,EAAE,KAAK;gBACrB,KAAK,EAAE,OAAO,EAAE,KAAK;aACtB;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,IAK5B;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc;IAEd,KAAK,CAAC,SAAS,CAAC,OAAgE;QAC9E,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE;YACnC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SACxF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,UAAkB;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,UAAU,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,oBAAoB,UAAU,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAgG;QAC/G,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,IAAwB;QACjE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,UAAU,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,UAAkB,EAAE,IAAwB;QACzE,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,oBAAoB,UAAU,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,eAAe;IAEf,KAAK,CAAC,UAAU,CAAC,OAAmD;QAClE,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,EAAE;YACpC,MAAM,EAAE;gBACN,OAAO,EAAE,OAAO,EAAE,MAAM;gBACxB,YAAY,EAAE,OAAO,EAAE,WAAW;aACnC;SACF,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,QAAgB;QAC7B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAKjB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,IAKC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,WAAW,QAAQ,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,aAAqB,EACrB,OAA2B;QAE3B,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,aAAa,QAAQ,EAAE;YAC3D,MAAM,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACf,aAAqB,EACrB,IAA+D;QAE/D,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,WAAW,CACf,aAAqB,EACrB,IAAgD;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE;SACpC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,aAAqB,EAAE,MAAc;QACtD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,QAAQ,EAAE;YAC5D,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;SAC1B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,aAAqB,EAAE,MAAc;QACzD,OAAO,IAAI,CAAC,OAAO,CACjB,QAAQ,EACR,WAAW,aAAa,UAAU,MAAM,EAAE,CAC3C,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,aAAqB,EACrB,IAAgD;QAEhD,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,aAAa,eAAe,EAAE;YACnE,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,WAAW,CAAC,OAA6C;QAC7D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE;YACrC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,UAAkB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,UAAU,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAKlB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,UAAkB,EAClB,IAA0D;QAE1D,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,UAAkB,EAClB,IAA4C;QAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,YAAY,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,IAA4C;QAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,OAAsB;QAC7D,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,YAAY,UAAU,QAAQ,CAAC,CAAC;QAChE,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,YAAY,UAAU,QAAQ,EAAE;YACzD,IAAI,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;IAEjB,KAAK,CAAC,YAAY,CAAC,OAA6C;QAC9D,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE;YACtC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;SAC3D,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,UAAkB;QACjC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,UAAU,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAMnB;QACC,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,UAAkB,EAClB,IAKC;QAED,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,UAAU,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,UAAkB,EAClB,IAAyD;QAEzD,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,UAAU,SAAS,EAAE;YAC7D,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,IAA4C;QAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,aAAa,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,UAAkB,EAClB,IAA4C;QAE5C,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,aAAa,UAAU,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAED,gBAAgB;IAEhB,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,mBAAmB;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;IACrD,CAAC;CACF;AAED,iEAAiE;AACjE,OAAO,EAAE,YAAY,IAAI,cAAc,EAAE,CAAC;AAa1C;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,YAAY,CAChC,YAAqB,EACrB,UAA+B,EAAE;IAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,MAAM,UAAU,EAAE,CAAC,CAAC;IACtD,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,YAAY,IAAI,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC;IAE1E,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;AAC1D,CAAC"}