rafcode 2.4.1-0 → 2.5.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.
- package/CLAUDE.md +4 -4
- package/RAF/ahwqwq-model-whisperer/decisions.md +22 -0
- package/RAF/ahwqwq-model-whisperer/input.md +5 -0
- package/RAF/ahwqwq-model-whisperer/outcomes/01-show-model-on-task-line.md +49 -0
- package/RAF/ahwqwq-model-whisperer/outcomes/02-use-claude-cost-estimation.md +107 -0
- package/RAF/ahwqwq-model-whisperer/outcomes/03-add-plan-resume-flag.md +87 -0
- package/RAF/ahwqwq-model-whisperer/plans/01-show-model-on-task-line.md +45 -0
- package/RAF/ahwqwq-model-whisperer/plans/02-use-claude-cost-estimation.md +115 -0
- package/RAF/ahwqwq-model-whisperer/plans/03-add-plan-resume-flag.md +70 -0
- package/RAF/ahwvrz-legacy-sunset/decisions.md +10 -0
- package/RAF/ahwvrz-legacy-sunset/input.md +10 -0
- package/RAF/ahwvrz-legacy-sunset/outcomes/01-remove-migrate-command.md +30 -0
- package/RAF/ahwvrz-legacy-sunset/outcomes/02-fix-resume-worktree-resolution.md +62 -0
- package/RAF/ahwvrz-legacy-sunset/plans/01-remove-migrate-command.md +65 -0
- package/RAF/ahwvrz-legacy-sunset/plans/02-fix-resume-worktree-resolution.md +72 -0
- package/README.md +0 -17
- package/dist/commands/do.js +13 -15
- package/dist/commands/do.js.map +1 -1
- package/dist/commands/plan.d.ts.map +1 -1
- package/dist/commands/plan.js +98 -2
- package/dist/commands/plan.js.map +1 -1
- package/dist/core/claude-runner.d.ts +8 -0
- package/dist/core/claude-runner.d.ts.map +1 -1
- package/dist/core/claude-runner.js +72 -0
- package/dist/core/claude-runner.js.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/parsers/stream-renderer.d.ts +2 -0
- package/dist/parsers/stream-renderer.d.ts.map +1 -1
- package/dist/parsers/stream-renderer.js +2 -0
- package/dist/parsers/stream-renderer.js.map +1 -1
- package/dist/prompts/amend.d.ts.map +1 -1
- package/dist/prompts/amend.js +3 -1
- package/dist/prompts/amend.js.map +1 -1
- package/dist/prompts/planning.d.ts.map +1 -1
- package/dist/prompts/planning.js +4 -1
- package/dist/prompts/planning.js.map +1 -1
- package/dist/types/config.d.ts +4 -28
- package/dist/types/config.d.ts.map +1 -1
- package/dist/types/config.js +0 -24
- package/dist/types/config.js.map +1 -1
- package/dist/utils/config.d.ts +1 -26
- package/dist/utils/config.d.ts.map +1 -1
- package/dist/utils/config.js +2 -98
- package/dist/utils/config.js.map +1 -1
- package/dist/utils/terminal-symbols.d.ts +7 -16
- package/dist/utils/terminal-symbols.d.ts.map +1 -1
- package/dist/utils/terminal-symbols.js +16 -42
- package/dist/utils/terminal-symbols.js.map +1 -1
- package/dist/utils/token-tracker.d.ts +4 -30
- package/dist/utils/token-tracker.d.ts.map +1 -1
- package/dist/utils/token-tracker.js +17 -98
- package/dist/utils/token-tracker.js.map +1 -1
- package/package.json +1 -1
- package/src/commands/do.ts +14 -15
- package/src/commands/plan.ts +112 -1
- package/src/core/claude-runner.ts +81 -0
- package/src/index.ts +0 -2
- package/src/parsers/stream-renderer.ts +4 -0
- package/src/prompts/amend.ts +3 -1
- package/src/prompts/config-docs.md +1 -72
- package/src/prompts/planning.ts +4 -1
- package/src/types/config.ts +4 -57
- package/src/utils/config.ts +2 -112
- package/src/utils/terminal-symbols.ts +16 -46
- package/src/utils/token-tracker.ts +19 -113
- package/tests/unit/claude-runner.test.ts +1 -0
- package/tests/unit/config-command.test.ts +4 -13
- package/tests/unit/config.test.ts +6 -148
- package/tests/unit/plan-resume-worktree-resolution.test.ts +153 -0
- package/tests/unit/stream-renderer.test.ts +82 -0
- package/tests/unit/terminal-symbols.test.ts +86 -124
- package/tests/unit/token-tracker.test.ts +159 -679
- package/src/commands/migrate.ts +0 -269
- package/tests/unit/migrate-command.test.ts +0 -197
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
---
|
|
2
|
+
effort: low
|
|
3
|
+
---
|
|
4
|
+
# Task: Remove `raf migrate-project-ids-base26` command
|
|
5
|
+
|
|
6
|
+
## Objective
|
|
7
|
+
Remove the legacy migration command and all associated code, tests, types, and documentation.
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
The `migrate-project-ids-base26` command was a one-time migration utility for renaming legacy project folders (3-char base36 or 6-char base36 with digits) to the current 6-char base26 format. The migration period is over and the command is no longer needed.
|
|
11
|
+
|
|
12
|
+
## Requirements
|
|
13
|
+
- Remove the command implementation entirely
|
|
14
|
+
- Remove associated types
|
|
15
|
+
- Remove test file
|
|
16
|
+
- Clean up command registration
|
|
17
|
+
- Update README.md to remove command documentation
|
|
18
|
+
- Check CLAUDE.md for any references and remove them
|
|
19
|
+
- Shared utilities (`encodeBase26`, `getRafDir`, etc.) must NOT be removed — they are used elsewhere
|
|
20
|
+
|
|
21
|
+
## Implementation Steps
|
|
22
|
+
|
|
23
|
+
1. **Delete the command implementation file**
|
|
24
|
+
- Delete `src/commands/migrate.ts` (entire file)
|
|
25
|
+
|
|
26
|
+
2. **Remove command registration from CLI entry point**
|
|
27
|
+
- In `src/index.ts`, remove the import: `import { createMigrateCommand } from './commands/migrate.js';` (line 7)
|
|
28
|
+
- In `src/index.ts`, remove the registration: `program.addCommand(createMigrateCommand());` (line 21)
|
|
29
|
+
|
|
30
|
+
3. **Remove the type definition**
|
|
31
|
+
- In `src/types/config.ts`, remove the `MigrateCommandOptions` interface (lines 141-144):
|
|
32
|
+
```typescript
|
|
33
|
+
export interface MigrateCommandOptions {
|
|
34
|
+
dryRun?: boolean;
|
|
35
|
+
worktree?: boolean;
|
|
36
|
+
}
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
4. **Delete the test file**
|
|
40
|
+
- Delete `tests/unit/migrate-command.test.ts` (entire file)
|
|
41
|
+
|
|
42
|
+
5. **Update README.md**
|
|
43
|
+
- Remove the `### raf migrate-project-ids-base26` section (lines ~120-128) including the heading, description, and usage examples
|
|
44
|
+
- Remove the migrate command options table (lines ~223-228)
|
|
45
|
+
|
|
46
|
+
6. **Check CLAUDE.md for references**
|
|
47
|
+
- Search for any mentions of `migrate` in CLAUDE.md and remove them if they refer to this command
|
|
48
|
+
|
|
49
|
+
7. **Verify the build compiles and tests pass**
|
|
50
|
+
- Run `npm run build` to ensure no broken imports
|
|
51
|
+
- Run `npm test` to ensure all remaining tests pass
|
|
52
|
+
|
|
53
|
+
## Acceptance Criteria
|
|
54
|
+
- [ ] `src/commands/migrate.ts` is deleted
|
|
55
|
+
- [ ] `tests/unit/migrate-command.test.ts` is deleted
|
|
56
|
+
- [ ] No imports or references to `migrate` in `src/index.ts`
|
|
57
|
+
- [ ] `MigrateCommandOptions` removed from `src/types/config.ts`
|
|
58
|
+
- [ ] README.md has no mentions of `migrate-project-ids-base26`
|
|
59
|
+
- [ ] CLAUDE.md has no stale references to the migrate command
|
|
60
|
+
- [ ] `npm run build` succeeds
|
|
61
|
+
- [ ] `npm test` passes with no failures
|
|
62
|
+
|
|
63
|
+
## Notes
|
|
64
|
+
- This is a pure removal task — no new code needs to be written.
|
|
65
|
+
- The old RAF project `ahnbcu-letterjam` contains historical plan/outcome files for the migrate command. These are archival and should NOT be touched.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
---
|
|
2
|
+
effort: medium
|
|
3
|
+
---
|
|
4
|
+
# Task: Fix `--resume` worktree project resolution
|
|
5
|
+
|
|
6
|
+
## Objective
|
|
7
|
+
Fix `raf plan --resume` to find projects that exist in worktrees, auto-detecting worktree mode without requiring the `--worktree` flag.
|
|
8
|
+
|
|
9
|
+
## Context
|
|
10
|
+
Running `raf plan --resume ahwvrz-legacy-sunset --worktree` from the main branch fails with "Project not found" because `runResumeCommand()` only searches the main repo's `RAF/` directory. Since the project was created in a worktree, it doesn't exist on the `main` branch — only in `~/.raf/worktrees/RAF/ahwvrz-legacy-sunset/`.
|
|
11
|
+
|
|
12
|
+
The `--amend` command already handles this correctly by searching worktree directories first. The `--resume` command needs the same treatment, plus auto-detection so `--worktree` is optional.
|
|
13
|
+
|
|
14
|
+
## Dependencies
|
|
15
|
+
01
|
|
16
|
+
|
|
17
|
+
## Requirements
|
|
18
|
+
- `runResumeCommand()` must search worktree directories in addition to the main repo
|
|
19
|
+
- Worktree projects take priority over main repo projects (when both exist)
|
|
20
|
+
- `--worktree` flag is optional — auto-detect if the project lives in a worktree
|
|
21
|
+
- When a project is found in a worktree, auto-enable worktree mode (use worktree path as CWD)
|
|
22
|
+
- When `--worktree` is explicitly passed, still search worktrees first
|
|
23
|
+
- Existing behavior preserved: if project only exists in main repo, use main repo as before
|
|
24
|
+
- Handle edge cases: ambiguous matches in worktrees, invalid/broken worktrees
|
|
25
|
+
|
|
26
|
+
## Implementation Steps
|
|
27
|
+
|
|
28
|
+
1. **Update `runResumeCommand()` signature** in `src/commands/plan.ts` (line 684)
|
|
29
|
+
- The function currently only accepts `(identifier: string, model?: string)`
|
|
30
|
+
- It does NOT need a `worktreeMode` parameter since auto-detection is the desired behavior
|
|
31
|
+
- The existing signature is fine — the function should always search both locations
|
|
32
|
+
|
|
33
|
+
2. **Refactor project resolution in `runResumeCommand()`** (lines 693-741)
|
|
34
|
+
- Currently the function resolves from main repo first (lines 693-709), then checks for a worktree (lines 714-741)
|
|
35
|
+
- The problem: if main repo resolution fails, it exits before ever checking worktrees
|
|
36
|
+
- New approach: search BOTH locations, prefer worktree
|
|
37
|
+
- Use `resolveWorktreeProjectByIdentifier()` from `src/core/worktree.ts` to search worktrees (this function already exists and is used by `runAmendCommand`)
|
|
38
|
+
- Resolution order:
|
|
39
|
+
1. Try worktree resolution via `resolveWorktreeProjectByIdentifier()`
|
|
40
|
+
2. If found in worktree: use worktree path, validate it with `validateWorktree()`
|
|
41
|
+
3. If NOT found in worktree: fall back to main repo resolution via `resolveProjectIdentifierWithDetails()`
|
|
42
|
+
4. If not found anywhere: show error
|
|
43
|
+
- Remove the redundant worktree detection block (lines 714-741) since worktree search happens upfront now
|
|
44
|
+
|
|
45
|
+
3. **Update the call site** in `src/commands/plan.ts` (line 90)
|
|
46
|
+
- Currently: `await runResumeCommand(options.resume, model);`
|
|
47
|
+
- No change needed here since the function signature stays the same — worktree detection is automatic
|
|
48
|
+
|
|
49
|
+
4. **Set the correct `resumeCwd`**
|
|
50
|
+
- If resolved from worktree: `resumeCwd` = worktree root (e.g., `~/.raf/worktrees/RAF/ahwvrz-legacy-sunset/`)
|
|
51
|
+
- If resolved from main repo but worktree exists: `resumeCwd` = worktree root (existing behavior preserved)
|
|
52
|
+
- If resolved from main repo with no worktree: `resumeCwd` = main repo project path
|
|
53
|
+
|
|
54
|
+
5. **Add tests** in `tests/unit/` for the resume worktree resolution
|
|
55
|
+
- Test: project only in worktree → found and worktree CWD used
|
|
56
|
+
- Test: project in both → worktree takes priority
|
|
57
|
+
- Test: project only in main repo → main repo CWD used
|
|
58
|
+
- Test: project not found anywhere → error message
|
|
59
|
+
|
|
60
|
+
## Acceptance Criteria
|
|
61
|
+
- [ ] `raf plan --resume ahwvrz-legacy-sunset` (without `--worktree`) finds the project in the worktree
|
|
62
|
+
- [ ] `raf plan --resume ahwvrz-legacy-sunset --worktree` also works
|
|
63
|
+
- [ ] When project exists in both main repo and worktree, worktree is preferred
|
|
64
|
+
- [ ] When project only exists in main repo, main repo resolution still works
|
|
65
|
+
- [ ] Ambiguous/not-found errors are reported clearly
|
|
66
|
+
- [ ] `npm run build` succeeds
|
|
67
|
+
- [ ] `npm test` passes
|
|
68
|
+
|
|
69
|
+
## Notes
|
|
70
|
+
- Reference `runAmendCommand()` (lines 357-456 in plan.ts) for the pattern of worktree resolution — it uses `resolveWorktreeProjectByIdentifier()` and falls back to main repo
|
|
71
|
+
- `resolveWorktreeProjectByIdentifier()` is in `src/core/worktree.ts` and handles computing worktree base dir, scanning entries, and matching by identifier
|
|
72
|
+
- The existing worktree detection block in `runResumeCommand` (lines 714-741) can be replaced entirely since the new upfront resolution handles this
|
package/README.md
CHANGED
|
@@ -117,16 +117,6 @@ Example `~/.raf/raf.config.json`:
|
|
|
117
117
|
|
|
118
118
|
Run `raf config` without arguments and ask what's available — the session has full knowledge of every configurable option.
|
|
119
119
|
|
|
120
|
-
### `raf migrate-project-ids-base26`
|
|
121
|
-
|
|
122
|
-
Rename legacy project folders (3-char base36 or 6-char base36 with digits) to the current 6-char base26 format.
|
|
123
|
-
|
|
124
|
-
```bash
|
|
125
|
-
raf migrate-project-ids-base26 # Migrate project folders in ./RAF/
|
|
126
|
-
raf migrate-project-ids-base26 --dry-run # Preview renames without executing
|
|
127
|
-
raf migrate-project-ids-base26 --worktree # Migrate worktree project folders
|
|
128
|
-
```
|
|
129
|
-
|
|
130
120
|
## Status Symbols
|
|
131
121
|
|
|
132
122
|
```
|
|
@@ -220,13 +210,6 @@ If `gh` is missing or unauthenticated, the option falls back to "Leave branch" w
|
|
|
220
210
|
|
|
221
211
|
Alias: `raf act`
|
|
222
212
|
|
|
223
|
-
### `raf migrate-project-ids-base26`
|
|
224
|
-
|
|
225
|
-
| Option | Description |
|
|
226
|
-
|--------|-------------|
|
|
227
|
-
| `--dry-run` | Preview renames without executing |
|
|
228
|
-
| `-w, --worktree` | Migrate worktree project folders |
|
|
229
|
-
|
|
230
213
|
> **Note:** `raf do` and `raf plan -y` run Claude with `--dangerously-skip-permissions` for fully automated execution without interactive prompts.
|
|
231
214
|
|
|
232
215
|
### `raf config [prompt]`
|
package/dist/commands/do.js
CHANGED
|
@@ -12,7 +12,7 @@ import { validatePlansExist, resolveModelOption } from '../utils/validation.js';
|
|
|
12
12
|
import { getRafDir, extractProjectNumber, extractProjectName, extractTaskNameFromPlanFile, resolveProjectIdentifierWithDetails, getOutcomeFilePath, parseProjectPrefix } from '../utils/paths.js';
|
|
13
13
|
import { pickPendingProject, getPendingProjects, getPendingWorktreeProjects } from '../ui/project-picker.js';
|
|
14
14
|
import { logger } from '../utils/logger.js';
|
|
15
|
-
import { getConfig, getWorktreeDefault, getModel, getModelShortName, resolveFullModelId, getSyncMainBranch, resolveEffortToModel, applyModelCeiling,
|
|
15
|
+
import { getConfig, getWorktreeDefault, getModel, getModelShortName, resolveFullModelId, getSyncMainBranch, resolveEffortToModel, applyModelCeiling, getShowCacheTokens } from '../utils/config.js';
|
|
16
16
|
import { getVersion } from '../utils/version.js';
|
|
17
17
|
import { createTaskTimer, formatElapsedTime } from '../utils/timer.js';
|
|
18
18
|
import { createStatusLine } from '../utils/status-line.js';
|
|
@@ -798,6 +798,8 @@ async function executeSingleProject(projectPath, projectName, options) {
|
|
|
798
798
|
const attemptUsageData = [];
|
|
799
799
|
// Track failure history for each attempt (attempt number -> reason)
|
|
800
800
|
const failureHistory = [];
|
|
801
|
+
// Track current model for display in status line (updated in retry loop)
|
|
802
|
+
let currentModel;
|
|
801
803
|
// Set up timer for elapsed time tracking
|
|
802
804
|
const statusLine = createStatusLine();
|
|
803
805
|
const timer = createTaskTimer(verbose ? undefined : (elapsed) => {
|
|
@@ -807,7 +809,8 @@ async function executeSingleProject(projectPath, projectName, options) {
|
|
|
807
809
|
return;
|
|
808
810
|
}
|
|
809
811
|
// Show running status with task name and timer (updates in place)
|
|
810
|
-
|
|
812
|
+
const modelShortName = currentModel ? getModelShortName(currentModel) : undefined;
|
|
813
|
+
statusLine.update(formatTaskProgress(taskNumber, totalTasks, 'running', displayName, elapsed, taskId, modelShortName));
|
|
811
814
|
});
|
|
812
815
|
timer.start();
|
|
813
816
|
// Log frontmatter warnings once before the retry loop
|
|
@@ -822,6 +825,8 @@ async function executeSingleProject(projectPath, projectName, options) {
|
|
|
822
825
|
// Resolve the model for this attempt (escalates to ceiling on retry)
|
|
823
826
|
const modelResolution = resolveTaskModel(task.frontmatter, undefined, // warnings already logged above
|
|
824
827
|
ceilingModel, isRetry);
|
|
828
|
+
// Update current model for timer callback display
|
|
829
|
+
currentModel = modelResolution.model;
|
|
825
830
|
// Log missing frontmatter warning on first attempt only
|
|
826
831
|
if (!isRetry && modelResolution.missingFrontmatter) {
|
|
827
832
|
logger.warn(` No effort frontmatter found — using ceiling model`);
|
|
@@ -987,16 +992,14 @@ Task completed. No detailed report provided.
|
|
|
987
992
|
}
|
|
988
993
|
else {
|
|
989
994
|
// Minimal mode: show completed task line
|
|
990
|
-
|
|
995
|
+
const modelShortName = currentModel ? getModelShortName(currentModel) : undefined;
|
|
996
|
+
logger.info(formatTaskProgress(taskNumber, totalTasks, 'completed', displayName, elapsedMs, task.id, modelShortName));
|
|
991
997
|
}
|
|
992
998
|
// Track and display token usage for this task
|
|
993
999
|
if (attemptUsageData.length > 0) {
|
|
994
1000
|
const entry = tokenTracker.addTask(task.id, attemptUsageData);
|
|
995
|
-
|
|
996
|
-
logger.dim(formatTaskTokenSummary(entry, (u) => tokenTracker.calculateCost(u), {
|
|
1001
|
+
logger.dim(formatTaskTokenSummary(entry, {
|
|
997
1002
|
showCacheTokens: getShowCacheTokens(),
|
|
998
|
-
showRateLimitEstimate: getShowRateLimitEstimate(),
|
|
999
|
-
rateLimitPercentage: taskRateLimitPct,
|
|
1000
1003
|
}));
|
|
1001
1004
|
}
|
|
1002
1005
|
completedInSession.add(task.id);
|
|
@@ -1019,16 +1022,14 @@ Task completed. No detailed report provided.
|
|
|
1019
1022
|
}
|
|
1020
1023
|
else {
|
|
1021
1024
|
// Minimal mode: show failed task line
|
|
1022
|
-
|
|
1025
|
+
const modelShortName = currentModel ? getModelShortName(currentModel) : undefined;
|
|
1026
|
+
logger.info(formatTaskProgress(taskNumber, totalTasks, 'failed', displayName, elapsedMs, task.id, modelShortName));
|
|
1023
1027
|
}
|
|
1024
1028
|
// Track token usage even for failed tasks (partial data still useful for totals)
|
|
1025
1029
|
if (attemptUsageData.length > 0) {
|
|
1026
1030
|
const entry = tokenTracker.addTask(task.id, attemptUsageData);
|
|
1027
|
-
|
|
1028
|
-
logger.dim(formatTaskTokenSummary(entry, (u) => tokenTracker.calculateCost(u), {
|
|
1031
|
+
logger.dim(formatTaskTokenSummary(entry, {
|
|
1029
1032
|
showCacheTokens: getShowCacheTokens(),
|
|
1030
|
-
showRateLimitEstimate: getShowRateLimitEstimate(),
|
|
1031
|
-
rateLimitPercentage: taskRateLimitPct,
|
|
1032
1033
|
}));
|
|
1033
1034
|
}
|
|
1034
1035
|
// Analyze failure and generate structured report
|
|
@@ -1117,11 +1118,8 @@ ${stashName ? `- Stash: ${stashName}` : ''}
|
|
|
1117
1118
|
if (trackerEntries.length > 0) {
|
|
1118
1119
|
logger.newline();
|
|
1119
1120
|
const totals = tokenTracker.getTotals();
|
|
1120
|
-
const totalRateLimitPct = tokenTracker.getCumulativeRateLimitPercentage();
|
|
1121
1121
|
logger.dim(formatTokenTotalSummary(totals.usage, totals.cost, {
|
|
1122
1122
|
showCacheTokens: getShowCacheTokens(),
|
|
1123
|
-
showRateLimitEstimate: getShowRateLimitEstimate(),
|
|
1124
|
-
rateLimitPercentage: totalRateLimitPct,
|
|
1125
1123
|
}));
|
|
1126
1124
|
}
|
|
1127
1125
|
// Show retry history for tasks that had failures (even if eventually successful)
|
package/dist/commands/do.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"do.js","sourceRoot":"","sources":["../../src/commands/do.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"do.js","sourceRoot":"","sources":["../../src/commands/do.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,mCAAmC,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAClM,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAE7G,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,kBAAkB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAEpM,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EACL,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,sBAAsB,EACtB,uBAAuB,GACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EACL,kBAAkB,EAClB,gBAAgB,EAChB,qBAAqB,EACrB,eAAe,EACf,uBAAuB,EACvB,iBAAiB,EACjB,gBAAgB,EAChB,kBAAkB,GAGnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,EACd,kCAAkC,EAClC,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,cAAc,GACf,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAuBzE;;;;;;;;;;;;GAYG;AACH,SAAS,gBAAgB,CACvB,WAAwC,EACxC,mBAAyC,EACzC,YAAoB,EACpB,OAAgB;IAEhB,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAErE,0DAA0D;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACtE,CAAC;IAED,oDAAoD;IACpD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,kBAAkB,EAAE,IAAI;YACxB,QAAQ;SACT,CAAC;IACJ,CAAC;IAED,gDAAgD;IAChD,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,CAAC,KAAK,EAAE,YAAY,CAAC,CAAC;QACjE,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACxD,CAAC;IAED,0CAA0C;IAC1C,IAAI,WAAW,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,oBAAoB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,KAAK,GAAG,iBAAiB,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;QAC3D,OAAO,EAAE,KAAK,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;IACxD,CAAC;IAED,gFAAgF;IAChF,OAAO;QACL,KAAK,EAAE,YAAY;QACnB,kBAAkB,EAAE,IAAI;QACxB,QAAQ;KACT,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAC1C,MAAc,EACd,QAAgB,EAChB,cAA0D,EAC1D,YAAoB,EACpB,OAAgB;IAEhB,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAChC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,QAAQ,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,KAAK,CAAC,IAAI,CAAC,UAAU,WAAW,GAAG,CAAC,CAAC;IAErC,KAAK,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,cAAc,EAAE,CAAC;QACjD,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,cAAc,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,CAAC,IAAI,CAAC,eAAe,YAAY,aAAa,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AA0BD,MAAM,UAAU,eAAe;IAC7B,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;SAC9B,WAAW,CAAC,qCAAqC,CAAC;SAClD,KAAK,CAAC,KAAK,CAAC;SACZ,QAAQ,CAAC,WAAW,EAAE,mFAAmF,CAAC;SAC1G,MAAM,CAAC,yBAAyB,EAAE,6BAA6B,EAAE,IAAI,CAAC;SACtE,MAAM,CAAC,eAAe,EAAE,yBAAyB,CAAC;SAClD,MAAM,CAAC,aAAa,EAAE,qCAAqC,CAAC;SAC5D,MAAM,CAAC,aAAa,EAAE,uCAAuC,CAAC;SAC9D,MAAM,CAAC,oBAAoB,EAAE,2CAA2C,CAAC;SACzE,MAAM,CAAC,UAAU,EAAE,iDAAiD,CAAC;SACrE,MAAM,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,OAA2B,EAAE,OAAyB,EAAE,EAAE;QACvE,MAAM,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,oBAAwC,EAAE,OAAyB;IAC7F,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,IAAI,iBAAiB,GAAG,oBAAoB,CAAC;IAC7C,IAAI,YAAY,GAAG,OAAO,CAAC,QAAQ,IAAI,kBAAkB,EAAE,CAAC;IAE5D,oCAAoC;IACpC,IAAI,KAAa,CAAC;IAClB,IAAI,CAAC;QACH,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAA2B,EAAE,OAAO,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC7F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAE,KAAe,CAAC,OAAO,CAAC,CAAC;QACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,+DAA+D;IAC/D,IAAI,YAAgC,CAAC;IACrC,IAAI,cAAkC,CAAC;IACvC,IAAI,cAAc,GAAkB,IAAI,CAAC;IAEzC,IAAI,YAAY,EAAE,CAAC;QACjB,oBAAoB;QACpB,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,CAAC,KAAK,CAAC,sCAAsC,CAAC,CAAC;YACrD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,YAAY,GAAG,eAAe,EAAG,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAExD,wDAAwD;QACxD,cAAc,GAAG,gBAAgB,EAAE,IAAI,SAAS,CAAC;QAEjD,2DAA2D;QAC3D,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;YACpC,cAAc,GAAG,UAAU,CAAC,UAAU,CAAC;YACvC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;gBACvB,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;oBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,UAAU,cAAc,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,+BAA+B,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACvB,sBAAsB;YACtB,MAAM,QAAQ,GAAG,MAAM,8BAA8B,CAAC,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;YAC7F,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC;YACrC,iBAAiB,GAAG,QAAQ,CAAC,aAAa,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACvB,qEAAqE;QACrE,IAAI,gBAAgB,GAAyB,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,MAAM,YAAY,GAAG,eAAe,EAAG,CAAC;YACxC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACxD,gBAAgB,GAAG,0BAA0B,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;QAC/E,CAAC;QAED,8DAA8D;QAC9D,MAAM,eAAe,GAAG,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAEnD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAClE,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC1C,MAAM,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC;YACvD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,eAAe,GAAG,MAAM,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC;YAE3E,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;gBAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,2BAA2B;YAC3B,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC;YAE3C,mEAAmE;YACnE,IAAI,eAAe,CAAC,MAAM,KAAK,UAAU,IAAI,eAAe,CAAC,YAAY,EAAE,CAAC;gBAC1E,YAAY,GAAG,IAAI,CAAC;gBACpB,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;gBAC5C,cAAc,GAAG,gBAAgB,EAAE,IAAI,SAAS,CAAC;YACnD,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;YACpC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,eAA+E,CAAC;IAEpF,IAAI,YAAY,EAAE,CAAC;QACjB,qDAAqD;QACrD,MAAM,QAAQ,GAAG,WAAW,EAAG,CAAC;QAChC,MAAM,YAAY,GAAG,eAAe,EAAG,CAAC;QACxC,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAExD,6DAA6D;QAC7D,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,mCAAmC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;YAChF,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,CAAC,KAAK,CAAC,kCAAkC,iBAAiB,EAAE,CAAC,CAAC;gBACpE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC;YACzE,eAAe,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5F,CAAC;aAAM,CAAC;YACN,yFAAyF;YACzF,MAAM,UAAU,GAAG,mCAAmC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAElF,IAAI,iBAAyB,CAAC;YAC9B,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;gBACpB,2CAA2C;gBAC3C,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,qDAAqD;gBACrD,MAAM,eAAe,GAAG,sBAAsB,CAAC,YAAY,CAAC,CAAC;gBAC7D,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACpC,MAAM,CAAC,KAAK,CAAC,kCAAkC,iBAAiB,kCAAkC,CAAC,CAAC;oBACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;gBAED,mCAAmC;gBACnC,MAAM,UAAU,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;gBACtD,IAAI,KAAK,GAAG,KAAK,CAAC;gBAClB,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,CAAC;oBACtC,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBAC/D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;oBACpD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;wBAAE,SAAS;oBAEvC,MAAM,UAAU,GAAG,mCAAmC,CAAC,QAAQ,EAAE,iBAAiB,CAAC,CAAC;oBACpF,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;wBACpB,iBAAiB,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;wBACnD,YAAY,GAAG,MAAM,CAAC;wBACtB,KAAK,GAAG,IAAI,CAAC;wBACb,MAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,KAAK,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,CAAC,kCAAkC,iBAAiB,kCAAkC,CAAC,CAAC;oBACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;gBAClB,CAAC;YACH,CAAC;YAED,2CAA2C;YAC3C,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,mBAAmB,CAAC,YAAY,EAAE,iBAAkB,CAAC,CAAC;YACvE,CAAC;YAED,wBAAwB;YACxB,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,iBAAkB,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,gBAAgB,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;YAEpE,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;gBACtD,MAAM,CAAC,KAAK,CAAC,kCAAkC,iBAAiB,kCAAkC,CAAC,CAAC;gBACpG,MAAM,CAAC,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;gBACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,IAAI,CAAC,UAAU,CAAC,gBAAgB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;gBACzD,MAAM,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,+BAA+B,UAAU,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;gBACnH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,UAAU,CAAC,WAAY,CAAC;YAC5C,MAAM,WAAW,GAAG,kBAAkB,CAAC,WAAW,CAAC,IAAI,iBAAiB,CAAC;YACzE,eAAe,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC;SAAM,CAAC;QACN,iFAAiF;QACjF,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,QAAQ,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAEzD,wEAAwE;QACxE,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,YAAY,GAAG,kCAAkC,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;YACzF,IAAI,YAAY,EAAE,CAAC;gBACjB,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAS,EAAE,MAAM,CAAC,CAAC;gBACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBACvE,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,MAAM,CAAC,CAAC;gBAE/D,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjC,+BAA+B;oBAC/B,YAAY,GAAG,IAAI,CAAC;oBACpB,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC;oBACzC,cAAc,GAAG,gBAAgB,EAAE,IAAI,SAAS,CAAC;oBAEjD,MAAM,WAAW,GAAG,kBAAkB,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC;oBACjF,eAAe,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;gBAC9F,CAAC;YACH,CAAC;QACH,CAAC;QAED,kDAAkD;QAClD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,mCAAmC,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;YAE9E,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;gBACjB,IAAI,MAAM,CAAC,KAAK,KAAK,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;oBACnD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO;yBAC7B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;yBAC7B,IAAI,CAAC,IAAI,CAAC,CAAC;oBACd,MAAM,CAAC,KAAK,CAAC,GAAG,iBAAiB,uDAAuD,SAAS,sDAAsD,CAAC,CAAC;gBAC3J,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,GAAG,iBAAiB,qBAAqB,CAAC,CAAC;gBAC1D,CAAC;gBACD,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;gBAC3D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC;YACzE,eAAe,GAAG,EAAE,UAAU,EAAE,iBAAiB,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;QAC5F,CAAC;IACH,CAAC;IAED,oBAAoB;IACpB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC;IAC1D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IACrC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;IAErC,mBAAmB;IACnB,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;IAErC,wEAAwE;IACxE,IAAI,UAAU,GAAwB,OAAO,CAAC;IAC9C,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACjC,IAAI,CAAC;YACH,UAAU,GAAG,MAAM,uBAAuB,CAAC,YAAY,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,oCAAoC;YACpC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;gBAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC;QAED,yEAAyE;QACzE,IAAI,iBAAiB,EAAE,EAAE,CAAC;YACxB,MAAM,UAAU,GAAG,cAAc,IAAI,gBAAgB,EAAE,CAAC;YACxD,IAAI,UAAU,EAAE,CAAC;gBACf,MAAM,YAAY,GAAG,cAAc,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;gBAC9D,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;oBACzB,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,EAAE,CAAC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,yBAAyB,UAAU,KAAK,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;oBAC1E,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBACvD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,kBAAkB;IAClB,IAAI,MAA8B,CAAC;IAEnC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,oBAAoB,CACjC,eAAe,CAAC,IAAI,EACpB,eAAe,CAAC,IAAI,EACpB;YACE,OAAO;YACP,OAAO;YACP,KAAK;YACL,KAAK;YACL,UAAU;YACV,UAAU;YACV,KAAK;YACL,WAAW,EAAE,YAAY;SAC1B,CACF,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC5E,MAAM,CAAC,KAAK,CAAC,WAAW,eAAe,CAAC,IAAI,YAAY,YAAY,EAAE,CAAC,CAAC;QACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,uDAAuD;IACvD,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEnD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,iBAAiB,CAAC,UAAU,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe,CAAC,IAAI,CAAC,CAAC;QAC1G,CAAC;aAAM,CAAC;YACN,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC3B,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,CAAC,IAAI,CAAC,kEAAkE,cAAc,gCAAgC,CAAC,CAAC;YAChI,CAAC;QACH,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,YAAoB;IAChE,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAsB;QAC/C,OAAO,EAAE,yDAAyD,cAAc,IAAI;QACpF,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,OAAgB,EAAE;YAC9D,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,IAAa,EAAE;YACpD,EAAE,IAAI,EAAE,oBAAoB,EAAE,KAAK,EAAE,OAAgB,EAAE;SACxD;KACF,CAAC,CAAC;IAEH,sCAAsC;IACtC,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,WAAW,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,CAAC,IAAI,CAAC,wBAAwB,SAAS,CAAC,KAAK,EAAE,CAAC,CAAC;YACvD,MAAM,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACpF,OAAO,OAAO,CAAC;QACjB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAA2B,EAC3B,YAAoB,EACpB,cAAsB,EACtB,cAAkC,EAClC,WAAmB;IAEnB,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,oEAAoE;YACpE,MAAM,aAAa,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,gCAAgC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,MAAM,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;gBAC9D,OAAO;YACT,CAAC;YAED,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,mBAAmB,cAAc,WAAW,cAAc,MAAM,CAAC,CAAC;YAE9E,MAAM,WAAW,GAAG,mBAAmB,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAExE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;gBACxB,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC;gBAC5E,MAAM,CAAC,OAAO,CAAC,WAAW,cAAc,WAAW,cAAc,MAAM,SAAS,GAAG,CAAC,CAAC;YACvF,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,yBAAyB,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;gBAC1D,MAAM,CAAC,IAAI,CAAC,qCAAqC,cAAc,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,IAAI,CAAC,CAAC,CAAC;YACV,MAAM,CAAC,OAAO,EAAE,CAAC;YAEjB,6DAA6D;YAC7D,IAAI,iBAAiB,EAAE,EAAE,CAAC;gBACxB,MAAM,UAAU,GAAG,cAAc,EAAE,CAAC;gBACpC,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;wBAC1B,MAAM,CAAC,IAAI,CAAC,UAAU,UAAU,CAAC,UAAU,YAAY,CAAC,CAAC;oBAC3D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,+BAA+B,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;gBACjE,CAAC;YACH,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,2BAA2B,cAAc,MAAM,CAAC,CAAC;YAE7D,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,WAAW,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,CAAC;YAE7F,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACrB,MAAM,CAAC,OAAO,CAAC,eAAe,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,wBAAwB,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;gBACtD,MAAM,CAAC,IAAI,CAAC,WAAW,cAAc,kDAAkD,CAAC,CAAC;YAC3F,CAAC;YAED,oDAAoD;YACpD,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YACrD,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;gBAC5B,MAAM,CAAC,IAAI,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,gCAAgC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;YACvE,CAAC;YACD,MAAM;QACR,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,oDAAoD;YACpD,MAAM,aAAa,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;YACnD,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;gBAC1B,MAAM,CAAC,IAAI,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,gCAAgC,aAAa,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,CAAC;YACD,MAAM;QACR,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,8BAA8B,CAC3C,YAAoB,EACpB,MAAc,EACd,eAAuB;IAEvB,2CAA2C;IAC3C,MAAM,UAAU,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;IAEtD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,+DAA+D;IAC/D,MAAM,YAAY,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,sBAAsB,GAAG,CAAC,CAAC;IAE/B,KAAK,MAAM,OAAO,IAAI,YAAY,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvD,IAAI,OAAO,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;gBAC5C,sBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,MAAM,SAAS,GAAG,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9E,qEAAqE;IACrE,MAAM,mBAAmB,GAOpB,EAAE,CAAC;IAER,KAAK,MAAM,YAAY,IAAI,UAAU,EAAE,CAAC;QACtC,0DAA0D;QAC1D,MAAM,SAAS,GAAG,oBAAoB,CAAC,YAAY,CAAC,CAAC;QACrD,IAAI,CAAC,SAAS;YAAE,SAAS;QACzB,MAAM,aAAa,GAAG,kBAAkB,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,aAAa,KAAK,IAAI;YAAE,SAAS;QAErC,yBAAyB;QACzB,IAAI,aAAa,GAAG,SAAS;YAAE,SAAS;QAExC,6CAA6C;QAC7C,MAAM,MAAM,GAAG,mBAAmB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;QAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,EAAE,YAAY,CAAC,CAAC;QAEvE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YAAE,SAAS;QAE5C,qCAAqC;QACrC,MAAM,KAAK,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,KAAK,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QAEvC,iCAAiC;QACjC,IAAI,iBAAiB,CAAC,KAAK,CAAC;YAAE,SAAS;QAEvC,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,mBAAmB,CAAC,IAAI,CAAC;YACvB,MAAM,EAAE,YAAY;YACpB,YAAY,EAAE,MAAM;YACpB,WAAW,EAAE,aAAa;YAC1B,cAAc,EAAE,KAAK,CAAC,SAAS;YAC/B,UAAU,EAAE,KAAK,CAAC,KAAK;YACvB,aAAa;SACd,CAAC,CAAC;IACL,CAAC;IAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,MAAM,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yBAAyB;IACzB,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC;IAEtE,qDAAqD;IACrD,MAAM,OAAO,GAAG,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5C,MAAM,IAAI,GAAG,kBAAkB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACtD,MAAM,SAAS,GAAG,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACvD,OAAO;YACL,IAAI,EAAE,GAAG,SAAS,IAAI,IAAI,KAAK,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU,SAAS;YACxE,KAAK,EAAE,CAAC;SACT,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC;YAC5B,OAAO,EAAE,uCAAuC;YAChD,OAAO;SACR,CAAC,CAAC;QAEH,OAAO;YACL,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,aAAa,EAAE,QAAQ,CAAC,MAAM;SAC/B,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oCAAoC;QACpC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAcD,KAAK,UAAU,oBAAoB,CACjC,WAAmB,EACnB,WAAmB,EACnB,OAA6B;IAE7B,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC;IAE/F,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,WAAW;YACX,WAAW;YACX,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,CAAC;YACjB,UAAU,EAAE,CAAC;YACb,KAAK,EAAE,0CAA0C;SAClD,CAAC;IACJ,CAAC;IAED,qCAAqC;IACrC,IAAI,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAE5C,uCAAuC;IACvC,IAAI,iBAAiB,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QACrG,CAAC;QACD,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACrC,OAAO;YACL,WAAW;YACX,WAAW;YACX,OAAO,EAAE,IAAI;YACb,cAAc,EAAE,KAAK,CAAC,SAAS;YAC/B,UAAU,EAAE,KAAK,CAAC,KAAK;SACxB,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAC5B,KAAK;QACH,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACzE,CAAC;IAEF,wEAAwE;IACxE,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC5C,eAAe,CAAC,IAAI,EAAE,CAAC;IAEvB,wFAAwF;IACxF,MAAM,YAAY,GAAG,KAAK,CAAC;IAE3B,+CAA+C;IAC/C,MAAM,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAExC,qEAAqE;IACrE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC;IACjD,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC;IAEvD,sBAAsB;IACtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAEpC,0EAA0E;IAC1E,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC5D,MAAM,CAAC,GAAG,CAAC,QAAQ,UAAU,EAAE,eAAe,kBAAkB,EAAE,CAAC,CAAC;IAEpE,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,CAAC,IAAI,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;QACjD,MAAM,CAAC,IAAI,CAAC,UAAU,KAAK,CAAC,KAAK,CAAC,MAAM,mBAAmB,OAAO,UAAU,CAAC,CAAC;QAC9E,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,oCAAoC;QACpC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,CAAC;IAED,gBAAgB;IAChB,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;IAEtC,yDAAyD;IACzD,MAAM,kBAAkB,GAAG,IAAI,GAAG,EAAU,CAAC;IAE7C,oDAAoD;IACpD,MAAM,mBAAmB,GAAuB,EAAE,CAAC;IAEnD,mGAAmG;IACnG,SAAS,oBAAoB,CAAC,YAAiC;QAC7D,IAAI,KAAK,EAAE,CAAC;YACV,4DAA4D;YAC5D,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACnC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;oBAClC,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,+EAA+E;QAC/E,KAAK,MAAM,CAAC,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3B,MAAM,eAAe,GAAG,kBAAkB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,2BAA2B,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC/G,kEAAkE;gBAClE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACpC,OAAO,CAAC,CAAC;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QACD,oDAAoD;QACpD,OAAO,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;;;OAIG;IACH,SAAS,sBAAsB,CAAC,IAAiB,EAAE,SAA8B;QAC/E,gDAAgD;QAChD,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;YAC5D,IAAI,OAAO,EAAE,CAAC;gBACZ,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAChC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACzB,CAAC;qBAAM,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;oBACxC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAa;YACtB,mBAAmB,IAAI,CAAC,EAAE,UAAU;YACpC,EAAE;YACF,YAAY;YACZ,EAAE;YACF,oGAAoG;YACpG,EAAE;YACF,0BAA0B;YAC1B,EAAE;SACH,CAAC;QAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,4BAA4B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,CAAC;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,6BAA6B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACpE,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,0BAA0B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QAC5B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;QACnD,KAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QAClD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAEzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,0CAA0C;IAC1C,aAAa,CAAC,KAAK,EAAE,CAAC;IAEtB,IAAI,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAEvC,OAAO,IAAI,EAAE,CAAC;QACZ,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAK,CAAC,EAAE,CAAC,CAAC;QAClE,MAAM,UAAU,GAAG,SAAS,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,2BAA2B,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,WAAW,GAAG,QAAQ,IAAI,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAE,sBAAsB;QAC/C,MAAM,SAAS,GAAG,WAAW,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,WAAW,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAEpF,0DAA0D;QAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC9B,yDAAyD;YACzD,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;gBAC7D,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,CAAC;gBACxD,OAAO,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YAClF,CAAC,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,mBAAmB,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAEnE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,WAAW,GAAG,SAAS,UAAU,IAAI,UAAU,KAAK,WAAW,GAAG,CAAC;gBACzE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;gBAC/B,MAAM,CAAC,IAAI,CAAC,QAAQ,SAAS,kCAAkC,WAAW,EAAE,CAAC,CAAC;YAChF,CAAC;iBAAM,CAAC;gBACN,4DAA4D;gBAC5D,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YACtG,CAAC;YAED,gCAAgC;YAChC,MAAM,cAAc,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAC3D,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAEjE,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChC,MAAM,CAAC,YAAY,EAAE,CAAC;YAEtB,yDAAyD;YACzD,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;YACnC,SAAS;QACX,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,WAAW,GAAG,SAAS,UAAU,IAAI,UAAU,KAAK,WAAW,GAAG,CAAC;YACzE,MAAM,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YAE/B,4BAA4B;YAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,CAAC,IAAI,CAAC,iBAAiB,SAAS,yBAAyB,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,IAAI,CAAC,MAAM,KAAK,WAAW,IAAI,KAAK,EAAE,CAAC;gBAChD,MAAM,CAAC,IAAI,CAAC,mBAAmB,SAAS,kBAAkB,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,kBAAkB,SAAS,KAAK,CAAC,CAAC;YAChD,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,MAAM,gBAAgB,GAAG,cAAc,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAElE,2FAA2F;QAC3F,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC;QACxC,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,GAAG,CAAC;YACjD,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YAClE,CAAC,CAAC,EAAE,CAAC;QAEP,4CAA4C;QAC5C,MAAM,aAAa,GAAG,oBAAoB,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;QAEjE,0CAA0C;QAC1C,MAAM,eAAe,GAAG,kBAAkB,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC;QAE9E,uBAAuB;QACvB,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,IAAI,QAAQ,GAAG,CAAC,CAAC;QACjB,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,aAAa,GAAG,EAAE,CAAC;QACvB,oFAAoF;QACpF,MAAM,gBAAgB,GAA6C,EAAE,CAAC;QACtE,oEAAoE;QACpE,MAAM,cAAc,GAA+C,EAAE,CAAC;QACtE,yEAAyE;QACzE,IAAI,YAAgC,CAAC;QAErC,yCAAyC;QACzC,MAAM,UAAU,GAAG,gBAAgB,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE;YAC9D,gFAAgF;YAChF,IAAI,aAAa,CAAC,SAAS,EAAE,CAAC;gBAC5B,UAAU,CAAC,KAAK,EAAE,CAAC;gBACnB,OAAO;YACT,CAAC;YACD,kEAAkE;YAClE,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,UAAU,CAAC,MAAM,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;QACzH,CAAC,CAAC,CAAC;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QAEd,sDAAsD;QACtD,IAAI,IAAI,CAAC,mBAAmB,IAAI,IAAI,CAAC,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpE,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBAC/C,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;QAED,OAAO,CAAC,OAAO,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;YACzC,QAAQ,EAAE,CAAC;YACX,MAAM,OAAO,GAAG,QAAQ,GAAG,CAAC,CAAC;YAE7B,qEAAqE;YACrE,MAAM,eAAe,GAAG,gBAAgB,CACtC,IAAI,CAAC,WAAW,EAChB,SAAS,EAAE,gCAAgC;YAC3C,YAAY,EACZ,OAAO,CACR,CAAC;YAEF,kDAAkD;YAClD,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC;YAErC,wDAAwD;YACxD,IAAI,CAAC,OAAO,IAAI,eAAe,CAAC,kBAAkB,EAAE,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;YACrE,CAAC;YAED,2CAA2C;YAC3C,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC;YACtE,eAAe,CAAC,oBAAoB,CAAC,UAAU,CAAC,CAAC;YAEjD,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;gBACvB,MAAM,UAAU,GAAG,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC7D,MAAM,CAAC,IAAI,CAAC,WAAW,QAAQ,IAAI,UAAU,aAAa,SAAS,YAAY,UAAU,MAAM,CAAC,CAAC;YACnG,CAAC;iBAAM,IAAI,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,kBAAkB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC;YACvC,CAAC;YAED,2EAA2E;YAC3E,0DAA0D;YAC1D,MAAM,2BAA2B,GAAG,OAAO,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC;gBAC3E,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,SAAS,CAAC;YAEd,MAAM,MAAM,GAAG,kBAAkB,CAAC;gBAChC,WAAW;gBACX,QAAQ,EAAE,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;gBAChE,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,UAAU;gBACV,UAAU;gBACV,gBAAgB;gBAChB,UAAU;gBACV,aAAa;gBACb,eAAe;gBACf,aAAa,EAAE,QAAQ;gBACvB,mBAAmB,EAAE,2BAA2B;gBAChD,aAAa;gBACb,kBAAkB;aACnB,CAAC,CAAC;YAEH,6DAA6D;YAC7D,MAAM,gBAAgB,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YACxF,MAAM,aAAa,GAAG,gBAAgB,CAAC,CAAC,CAAC;gBACvC,gBAAgB;gBAChB,cAAc,EAAE,OAAO,aAAa,IAAI,IAAI,CAAC,EAAE,GAAG;gBAClD,eAAe;aAChB,CAAC,CAAC,CAAC,SAAS,CAAC;YAEd,4DAA4D;YAC5D,MAAM,aAAa,GAAG;gBACpB,OAAO;gBACP,eAAe;gBACf,aAAa;gBACb,GAAG,EAAE,WAAW;gBAChB,YAAY,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS;aAC5C,CAAC;YACF,MAAM,MAAM,GAAG,OAAO;gBACpB,CAAC,CAAC,MAAM,UAAU,CAAC,UAAU,CAAC,MAAM,EAAE,aAAa,CAAC;gBACpD,CAAC,CAAC,MAAM,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;YAEhD,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC;YAC3B,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;YAED,eAAe;YACf,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE1C,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,aAAa,GAAG,gBAAgB,CAAC;gBACjC,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChC,MAAM;gBACR,CAAC;gBACD,SAAS;YACX,CAAC;YAED,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;gBACrD,aAAa,GAAG,mCAAmC,CAAC;gBACpD,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClE,MAAM,CAAC,gBAAgB;YACzB,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;gBACtC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,iBAAiB,CAAC;gBAC1D,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChC,MAAM;gBACR,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,kDAAkD;gBAClD,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;oBACnC,MAAM,cAAc,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;oBACjE,MAAM,aAAa,GAAG,kBAAkB,CAAC,cAAc,CAAC,CAAC;oBACzD,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;wBAClC,OAAO,GAAG,IAAI,CAAC;oBACjB,CAAC;yBAAM,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;wBACtC,aAAa,GAAG,iCAAiC,CAAC;wBAClD,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;oBACpE,CAAC;yBAAM,CAAC;wBACN,aAAa,GAAG,sDAAsD,CAAC;wBACvE,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,aAAa,GAAG,4BAA4B,CAAC;oBAC7C,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;QACH,CAAC;QAED,mCAAmC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QAC/B,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAEtD,oCAAoC;QACpC,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACtB,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC;QAED,kEAAkE;QAClE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9B,mBAAmB,CAAC,IAAI,CAAC;gBACvB,MAAM,EAAE,IAAI,CAAC,EAAE;gBACf,QAAQ,EAAE,WAAW;gBACrB,cAAc;gBACd,YAAY,EAAE,QAAQ;gBACtB,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,0DAA0D;YAC1D,kDAAkD;YAClD,mEAAmE;YACnE,IAAI,cAAsB,CAAC;YAC3B,MAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;YAE1D,IAAI,kBAAkB,EAAE,CAAC;gBACvB,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;gBAClE,MAAM,MAAM,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;gBAEnD,IAAI,MAAM,KAAK,WAAW,EAAE,CAAC;oBAC3B,mEAAmE;oBACnE,cAAc,GAAG,eAAe,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACN,qEAAqE;oBACrE,cAAc,GAAG;;SAElB,IAAI,CAAC,EAAE;;;;;CAKf,CAAC;gBACM,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,cAAc,GAAG;;SAEhB,IAAI,CAAC,EAAE;;;;;CAKf,CAAC;YACI,CAAC;YAED,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAEjE,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,OAAO,CAAC,UAAU,SAAS,eAAe,gBAAgB,GAAG,CAAC,CAAC;YACxE,CAAC;iBAAM,CAAC;gBACN,yCAAyC;gBACzC,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;YACxH,CAAC;YAED,8CAA8C;YAC9C,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,EAAE;oBACvC,eAAe,EAAE,kBAAkB,EAAE;iBACtC,CAAC,CAAC,CAAC;YACN,CAAC;YAED,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,oDAAoD;YACpD,IAAI,SAA6B,CAAC;YAClC,IAAI,qBAAqB,CAAC,WAAW,CAAC,EAAE,CAAC;gBACvC,MAAM,UAAU,GAAG,oBAAoB,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC;gBAC9D,SAAS,GAAG,OAAO,UAAU,SAAS,IAAI,CAAC,EAAE,SAAS,CAAC;gBACvD,MAAM,OAAO,GAAG,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBACrD,IAAI,OAAO,IAAI,OAAO,EAAE,CAAC;oBACvB,MAAM,CAAC,IAAI,CAAC,sBAAsB,SAAS,gBAAgB,SAAS,EAAE,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,CAAC,KAAK,CAAC,UAAU,SAAS,YAAY,aAAa,KAAK,gBAAgB,GAAG,CAAC,CAAC;gBACnF,MAAM,aAAa,GAAG,iBAAiB,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC;gBACrE,MAAM,CAAC,IAAI,CAAC,4BAA4B,aAAa,KAAK,CAAC,CAAC;YAC9D,CAAC;iBAAM,CAAC;gBACN,sCAAsC;gBACtC,MAAM,cAAc,GAAG,YAAY,CAAC,CAAC,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAClF,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;YACrH,CAAC;YAED,iFAAiF;YACjF,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC;gBAC9D,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,KAAK,EAAE;oBACvC,eAAe,EAAE,kBAAkB,EAAE;iBACtC,CAAC,CAAC,CAAC;YACN,CAAC;YAED,iDAAiD;YACjD,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,UAAU,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,CAAC,CAAC;YAEhF,iEAAiE;YACjE,8DAA8D;YAC9D,MAAM,cAAc,GAAG;;SAEpB,IAAI,CAAC,EAAE;;EAEd,cAAc;;;cAGF,QAAQ;kBACJ,gBAAgB;eACnB,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;EACrC,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE;CACzC,CAAC;YACI,cAAc,CAAC,WAAW,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;QAED,iCAAiC;QACjC,MAAM,CAAC,YAAY,EAAE,CAAC;QAEtB,+CAA+C;QAC/C,KAAK,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAExC,2BAA2B;QAC3B,IAAI,GAAG,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,qDAAqD;IACrD,aAAa,CAAC,IAAI,EAAE,CAAC;IAErB,wCAAwC;IACxC,MAAM,CAAC,YAAY,EAAE,CAAC;IAEtB,kBAAkB;IAClB,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,YAAY,GAAG,uBAAuB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,gBAAgB,CAAC;IAEvD,IAAI,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAEvC,kBAAkB;YAClB,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,MAAM,CAAC,IAAI,CAAC,aAAa,CACvB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,OAAO,EACpB,gBAAgB,EAChB,YAAY,CAAC,OAAO,CACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YAClC,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,+BAA+B;YAC/B,MAAM,CAAC,IAAI,CAAC,aAAa,CACvB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,OAAO,EACpB,gBAAgB,EAChB,YAAY,CAAC,OAAO,CACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;SAAM,CAAC;QACN,4CAA4C;QAC5C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;YAC/C,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,aAAa,CACvB,YAAY,CAAC,SAAS,EACtB,YAAY,CAAC,MAAM,EACnB,YAAY,CAAC,OAAO,EACpB,gBAAgB,EAChB,YAAY,CAAC,OAAO,CACrB,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,EAAE,CAAC;IACjD,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;QACxC,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;YAC5D,eAAe,EAAE,kBAAkB,EAAE;SACtC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iFAAiF;IACjF,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC9B,KAAK,MAAM,OAAO,IAAI,mBAAmB,EAAE,CAAC;YAC1C,MAAM,WAAW,GAAG,4BAA4B,CAC9C,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,EAChB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,YAAY,EACpB,OAAO,CAAC,OAAO,CAChB,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,WAAW;QACX,WAAW;QACX,OAAO,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,KAAK,CAAC;QAClD,cAAc,EAAE,KAAK,CAAC,SAAS;QAC/B,UAAU,EAAE,KAAK,CAAC,KAAK;QACvB,YAAY,EAAE,mBAAmB;KAClC,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"plan.d.ts","sourceRoot":"","sources":["../../src/commands/plan.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6DpC,wBAAgB,iBAAiB,IAAI,OAAO,CA0C3C"}
|
package/dist/commands/plan.js
CHANGED
|
@@ -16,7 +16,7 @@ import { pickProjectName } from '../ui/name-picker.js';
|
|
|
16
16
|
import { getPlansDir, getRafDir, getNextProjectNumber, formatProjectNumber, resolveProjectIdentifier, resolveProjectIdentifierWithDetails, getInputPath, getDecisionsPath, getOutcomesDir, extractTaskNameFromPlanFile, decodeTaskId, encodeTaskId, TASK_ID_PATTERN, } from '../utils/paths.js';
|
|
17
17
|
import { sanitizeProjectName } from '../utils/validation.js';
|
|
18
18
|
import { deriveProjectState, isProjectComplete, } from '../core/state-derivation.js';
|
|
19
|
-
import { getRepoBasename, getRepoRoot, createWorktree, createWorktreeFromBranch, branchExists, validateWorktree, removeWorktree, computeWorktreeBaseDir, pullMainBranch, } from '../core/worktree.js';
|
|
19
|
+
import { getRepoBasename, getRepoRoot, createWorktree, createWorktreeFromBranch, branchExists, validateWorktree, removeWorktree, computeWorktreeBaseDir, pullMainBranch, resolveWorktreeProjectByIdentifier, } from '../core/worktree.js';
|
|
20
20
|
export function createPlanCommand() {
|
|
21
21
|
const command = new Command('plan')
|
|
22
22
|
.description('Create a new project and interactively plan tasks with Claude')
|
|
@@ -26,6 +26,7 @@ export function createPlanCommand() {
|
|
|
26
26
|
.option('--sonnet', 'Use Sonnet model (shorthand for --model sonnet)')
|
|
27
27
|
.option('-y, --auto', "Skip Claude's permission prompts for file operations")
|
|
28
28
|
.option('-w, --worktree', 'Create a git worktree for isolated planning')
|
|
29
|
+
.option('-r, --resume <identifier>', 'Resume a planning session for an existing project')
|
|
29
30
|
.action(async (projectName, options) => {
|
|
30
31
|
// Validate and resolve model option
|
|
31
32
|
let model;
|
|
@@ -38,7 +39,10 @@ export function createPlanCommand() {
|
|
|
38
39
|
}
|
|
39
40
|
const autoMode = options.auto ?? false;
|
|
40
41
|
const worktreeMode = options.worktree ?? getWorktreeDefault();
|
|
41
|
-
if (options.
|
|
42
|
+
if (options.resume) {
|
|
43
|
+
await runResumeCommand(options.resume, model);
|
|
44
|
+
}
|
|
45
|
+
else if (options.amend) {
|
|
42
46
|
if (!projectName) {
|
|
43
47
|
logger.error('--amend requires a project identifier');
|
|
44
48
|
logger.error('Usage: raf plan <project> --amend');
|
|
@@ -568,4 +572,96 @@ ${taskList}
|
|
|
568
572
|
# Describe what you want to add below:
|
|
569
573
|
`;
|
|
570
574
|
}
|
|
575
|
+
async function runResumeCommand(identifier, model) {
|
|
576
|
+
// Validate environment
|
|
577
|
+
const validation = validateEnvironment();
|
|
578
|
+
reportValidation(validation);
|
|
579
|
+
if (!validation.valid) {
|
|
580
|
+
process.exit(1);
|
|
581
|
+
}
|
|
582
|
+
// Try to resolve the project from worktrees first, then fall back to main repo
|
|
583
|
+
const repoBasename = getRepoBasename();
|
|
584
|
+
const rafDir = getRafDir();
|
|
585
|
+
let projectPath;
|
|
586
|
+
let resumeCwd;
|
|
587
|
+
let folderName;
|
|
588
|
+
// 1. Try worktree resolution first (if we're in a git repo)
|
|
589
|
+
if (repoBasename) {
|
|
590
|
+
const worktreeResolution = resolveWorktreeProjectByIdentifier(repoBasename, identifier);
|
|
591
|
+
if (worktreeResolution) {
|
|
592
|
+
// Found in worktree - validate and use it
|
|
593
|
+
const wtValidation = validateWorktree(worktreeResolution.worktreeRoot, '');
|
|
594
|
+
if (wtValidation.isValidWorktree) {
|
|
595
|
+
folderName = worktreeResolution.folder;
|
|
596
|
+
const repoRoot = getRepoRoot();
|
|
597
|
+
const rafRelativePath = path.relative(repoRoot, rafDir);
|
|
598
|
+
projectPath = path.join(worktreeResolution.worktreeRoot, rafRelativePath, folderName);
|
|
599
|
+
resumeCwd = worktreeResolution.worktreeRoot;
|
|
600
|
+
logger.info(`Resuming session in worktree: ${resumeCwd}`);
|
|
601
|
+
}
|
|
602
|
+
else {
|
|
603
|
+
logger.warn(`Worktree found but invalid: ${worktreeResolution.worktreeRoot}`);
|
|
604
|
+
logger.warn('Falling back to main repo resolution.');
|
|
605
|
+
// Fall through to main repo resolution
|
|
606
|
+
}
|
|
607
|
+
}
|
|
608
|
+
}
|
|
609
|
+
// 2. If not found in worktree (or invalid), try main repo
|
|
610
|
+
if (!projectPath) {
|
|
611
|
+
const mainResolution = resolveProjectIdentifierWithDetails(rafDir, identifier);
|
|
612
|
+
if (!mainResolution.path) {
|
|
613
|
+
if (mainResolution.error === 'ambiguous' && mainResolution.matches) {
|
|
614
|
+
logger.error(`Ambiguous project name: ${identifier}`);
|
|
615
|
+
logger.error('Multiple projects match:');
|
|
616
|
+
for (const match of mainResolution.matches) {
|
|
617
|
+
logger.error(` - ${match.folder}`);
|
|
618
|
+
}
|
|
619
|
+
logger.error('Please specify the project ID or full folder name.');
|
|
620
|
+
}
|
|
621
|
+
else {
|
|
622
|
+
logger.error(`Project not found: ${identifier}`);
|
|
623
|
+
}
|
|
624
|
+
process.exit(1);
|
|
625
|
+
}
|
|
626
|
+
projectPath = mainResolution.path;
|
|
627
|
+
folderName = path.basename(projectPath);
|
|
628
|
+
resumeCwd = projectPath; // Use main repo project path as CWD
|
|
629
|
+
}
|
|
630
|
+
logger.info(`Project: ${folderName}`);
|
|
631
|
+
if (model) {
|
|
632
|
+
logger.info(`Model: ${model}`);
|
|
633
|
+
}
|
|
634
|
+
logger.newline();
|
|
635
|
+
// Set up shutdown handler
|
|
636
|
+
const claudeRunner = new ClaudeRunner({ model });
|
|
637
|
+
shutdownHandler.init();
|
|
638
|
+
shutdownHandler.registerClaudeRunner(claudeRunner);
|
|
639
|
+
// Launch Claude's resume picker
|
|
640
|
+
logger.info('Starting Claude session resume picker...');
|
|
641
|
+
logger.newline();
|
|
642
|
+
try {
|
|
643
|
+
const exitCode = await claudeRunner.runResume({ cwd: resumeCwd });
|
|
644
|
+
if (exitCode !== 0) {
|
|
645
|
+
logger.warn(`Claude exited with code ${exitCode}`);
|
|
646
|
+
}
|
|
647
|
+
// Check for created/updated plan files after resume session
|
|
648
|
+
const plansDir = getPlansDir(projectPath);
|
|
649
|
+
const planFiles = fs.existsSync(plansDir)
|
|
650
|
+
? fs.readdirSync(plansDir).filter((f) => f.endsWith('.md')).sort()
|
|
651
|
+
: [];
|
|
652
|
+
if (planFiles.length > 0) {
|
|
653
|
+
logger.newline();
|
|
654
|
+
logger.success(`Session complete! Project has ${planFiles.length} plan(s).`);
|
|
655
|
+
logger.newline();
|
|
656
|
+
logger.info('Plans:');
|
|
657
|
+
for (const planFile of planFiles) {
|
|
658
|
+
logger.info(` - plans/${planFile}`);
|
|
659
|
+
}
|
|
660
|
+
}
|
|
661
|
+
}
|
|
662
|
+
catch (error) {
|
|
663
|
+
logger.error(`Resume session failed: ${error}`);
|
|
664
|
+
throw error;
|
|
665
|
+
}
|
|
666
|
+
}
|
|
571
667
|
//# sourceMappingURL=plan.js.map
|