@vaporsoft/orc 0.1.0 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/README.md +75 -120
  2. package/dist/src/core/daemon.d.ts +5 -0
  3. package/dist/src/core/daemon.d.ts.map +1 -1
  4. package/dist/src/core/daemon.js +59 -13
  5. package/dist/src/core/daemon.js.map +1 -1
  6. package/dist/src/core/fix-executor.d.ts +7 -0
  7. package/dist/src/core/fix-executor.d.ts.map +1 -1
  8. package/dist/src/core/fix-executor.js +43 -3
  9. package/dist/src/core/fix-executor.js.map +1 -1
  10. package/dist/src/core/git-manager.d.ts.map +1 -1
  11. package/dist/src/core/git-manager.js +2 -1
  12. package/dist/src/core/git-manager.js.map +1 -1
  13. package/dist/src/core/repo-config.d.ts +1 -1
  14. package/dist/src/core/repo-config.d.ts.map +1 -1
  15. package/dist/src/core/repo-config.js +55 -3
  16. package/dist/src/core/repo-config.js.map +1 -1
  17. package/dist/src/core/session-controller.d.ts.map +1 -1
  18. package/dist/src/core/session-controller.js +38 -6
  19. package/dist/src/core/session-controller.js.map +1 -1
  20. package/dist/src/github/gh-client.d.ts +2 -0
  21. package/dist/src/github/gh-client.d.ts.map +1 -1
  22. package/dist/src/github/gh-client.js +8 -1
  23. package/dist/src/github/gh-client.js.map +1 -1
  24. package/dist/src/github/queries.d.ts +1 -0
  25. package/dist/src/github/queries.d.ts.map +1 -1
  26. package/dist/src/github/queries.js +37 -0
  27. package/dist/src/github/queries.js.map +1 -1
  28. package/dist/src/tui/App.d.ts.map +1 -1
  29. package/dist/src/tui/App.js +9 -2
  30. package/dist/src/tui/App.js.map +1 -1
  31. package/dist/src/tui/components/AddBranchModal.d.ts +8 -0
  32. package/dist/src/tui/components/AddBranchModal.d.ts.map +1 -0
  33. package/dist/src/tui/components/AddBranchModal.js +118 -0
  34. package/dist/src/tui/components/AddBranchModal.js.map +1 -0
  35. package/dist/src/tui/components/DetailPanel.d.ts.map +1 -1
  36. package/dist/src/tui/components/DetailPanel.js +1 -1
  37. package/dist/src/tui/components/DetailPanel.js.map +1 -1
  38. package/dist/src/tui/components/KeybindLegend.d.ts.map +1 -1
  39. package/dist/src/tui/components/KeybindLegend.js +1 -0
  40. package/dist/src/tui/components/KeybindLegend.js.map +1 -1
  41. package/dist/src/types/index.d.ts +9 -0
  42. package/dist/src/types/index.d.ts.map +1 -1
  43. package/dist/src/utils/fuzzy.d.ts +23 -0
  44. package/dist/src/utils/fuzzy.d.ts.map +1 -0
  45. package/dist/src/utils/fuzzy.js +73 -0
  46. package/dist/src/utils/fuzzy.js.map +1 -0
  47. package/package.json +3 -2
package/README.md CHANGED
@@ -1,178 +1,133 @@
1
1
  # orc
2
2
 
3
- Interactive terminal dashboard to automate PR feedback loops poll reviews & CI, fix with Claude Code, push, repeat.
3
+ Automate PR feedback loops with [Claude Code](https://docs.anthropic.com/en/docs/claude-code). Poll reviews & CI, fix issues, push, repeat.
4
4
 
5
- ## What it does
6
-
7
- orc provides an interactive terminal dashboard to monitor your open pull requests. It:
8
-
9
- 1. **Monitors** multiple PRs simultaneously with real-time status updates
10
- 2. **Fetches** new review comments and conversation threads
11
- 3. **Categorizes** feedback to classify severity (must-fix, should-fix, nice-to-have, false-positive)
12
- 4. **Fixes** issues using Claude Code in isolated git worktrees with repo-specific context
13
- 5. **Verifies** changes with configured commands, pushes, and replies to threads
14
-
15
- You can manually start/stop monitoring per PR or let it run automatically until each PR is clean.
5
+ ![orc terminal dashboard](https://i.imgur.com/E3q8QTQ.png)
16
6
 
17
- ## How it works
18
-
19
- orc is designed to run as a background process on your machine while you work. The intended workflow:
7
+ ## What it does
20
8
 
21
- 1. **You open PRs as usual.** Push your branch, create a PR on GitHub, request reviews.
22
- 2. **Start orc.** Run `orc start my-branch` (or pass multiple branches). orc opens a terminal dashboard and begins polling.
23
- 3. **Reviewers leave comments.** orc detects new review comments and CI failures on each poll cycle.
24
- 4. **orc categorizes feedback.** Each comment is classified by severity — `must-fix`, `should-fix`, `nice-to-have`, or `false-positive` — so it knows what to act on and what to skip.
25
- 5. **orc fixes issues autonomously.** For actionable comments, orc checks out the branch in an isolated git worktree, invokes Claude Code with the review context and any repo-specific instructions from `ORC.md`, and applies the fix.
26
- 6. **orc verifies and pushes.** After fixing, orc runs your configured verify commands (lint, typecheck, tests). If they pass, it pushes the fix and replies to the review thread. If they fail, it retries.
27
- 7. **The loop repeats.** orc continues polling until there are no more actionable comments, the max loop count is reached, or you stop it manually.
9
+ orc monitors your open pull requests and handles review feedback automatically. It polls for new comments and CI results, categorizes feedback by severity, fixes issues using Claude Code in isolated git worktrees, verifies the changes, and pushes — looping until your PRs are clean.
28
10
 
29
- The net effect: you get a PR up, context-switch to other work, and come back to find review feedback already addressed. You stay in the loop via the dashboard and can intervene at any point.
11
+ You stay in control via an interactive terminal dashboard. Start and stop monitoring per PR, watch logs in real time, or let it run hands-free.
30
12
 
31
- ## Tech Stack
13
+ ## Getting started
32
14
 
33
- orc is built with:
15
+ orc requires [Claude Code](https://docs.anthropic.com/en/docs/claude-code) and the [GitHub CLI](https://cli.github.com/) (`gh`). Both must be installed and authenticated before running orc — it will check `gh auth status` on startup and uses Claude Code to apply fixes.
34
16
 
35
- - **TypeScript + Node.js**: Core runtime for cross-platform CLI tooling and robust type safety
36
- - **Ink**: React-like framework for building rich terminal user interfaces with component-based architecture
37
- - **GitHub CLI (`gh`)**: Official GitHub API client for reliable repository and PR operations
38
- - **Claude Code**: AI-powered code editing with repository context for intelligent automated fixes
39
- - **Git Worktrees**: Isolated working directories for safe parallel PR processing without conflicts
17
+ ### Install
40
18
 
41
- This stack was chosen to provide a responsive terminal UI while leveraging proven tools for GitHub integration and AI-assisted code modifications.
19
+ ```bash
20
+ npm install -g @vaporsoft/orc
21
+ ```
42
22
 
43
- ## Prerequisites
23
+ ### Run
44
24
 
45
- - Node.js >= 22
46
- - [GitHub CLI](https://cli.github.com/) (`gh`) — authenticated with repo access
47
- - [Claude Code](https://docs.anthropic.com/en/docs/claude-code) installed and authenticated
25
+ ```bash
26
+ orc
27
+ ```
48
28
 
49
- ## Install
29
+ That's it. orc discovers your open PRs and starts the dashboard. You can also pass specific branches if you want to focus on a subset:
50
30
 
51
31
  ```bash
52
- # Install globally
53
- npm install -g @vaporsoft/orc
54
-
55
- # Or run directly with npx
56
- npx @vaporsoft/orc start my-branch
32
+ orc start my-branch other-branch
57
33
  ```
58
34
 
59
- ### From source
35
+ ### Initialize a repo (optional)
60
36
 
61
37
  ```bash
62
- yarn install
63
- yarn build
38
+ orc init
64
39
  ```
65
40
 
41
+ Generates `ORC.md` and `orc.config.json` in your repo with sensible defaults based on your project's ecosystem (Node, Rust, Go, Python, etc.).
42
+
66
43
  ## Configuration
67
44
 
68
- orc can be configured per-repository using an `ORC.md` file in your repo root:
45
+ orc is configured per-repository with two files at the repo root. Both are optional orc works with sensible defaults out of the box.
69
46
 
70
- ```markdown
71
- # Orc
47
+ ### `ORC.md` — instructions for Claude Code
72
48
 
73
- ## Instructions
74
- Custom instructions passed to Claude Code for context about your project.
49
+ Freeform markdown that gives Claude Code context about your project. This is passed directly to Claude when fixing issues, so include anything that helps it understand your codebase: coding conventions, architecture notes, domain-specific rules, etc.
75
50
 
76
- ## Verify
77
- - `yarn lint`
78
- - `yarn typecheck`
79
- - `npm test`
51
+ ```markdown
52
+ # Orc
80
53
 
81
- ## Auto-fix
82
- - must_fix: true
83
- - should_fix: true
84
- - nice_to_have: false
54
+ Use conventional commits. Prefer `async`/`await` over raw promises.
55
+ Never modify generated files in `src/generated/`.
85
56
  ```
86
57
 
87
- The configuration allows you to:
88
- - **Instructions**: Provide project-specific context for Claude Code
89
- - **Verify**: Define commands to run after fixes (linting, testing, etc.)
90
- - **Auto-fix**: Control which comment severities to automatically fix
91
-
92
- ## Usage
93
-
94
- ```bash
95
- # Start interactive TUI dashboard for one or more branches
96
- orc start my-feature-branch
97
-
98
- # Watch multiple branches in TUI
99
- orc start branch-a branch-b
100
-
101
- # With options
102
- orc start my-branch \
103
- --poll-interval 60 \
104
- --max-loops 5 \
105
- --confidence 0.8 \
106
- --dry-run
58
+ ### `orc.config.json` commands and policies
59
+
60
+ Structured configuration for setup commands, verification, allowed commands, and auto-fix policies.
61
+
62
+ ```json
63
+ {
64
+ "setup": ["yarn install"],
65
+ "verify": ["yarn lint", "yarn typecheck", "yarn test"],
66
+ "allowedCommands": ["yarn *"],
67
+ "autoFix": {
68
+ "must_fix": true,
69
+ "should_fix": true,
70
+ "nice_to_have": false,
71
+ "verify_and_fix": true,
72
+ "needs_clarification": true
73
+ }
74
+ }
107
75
  ```
108
76
 
109
- ### Interactive TUI Controls
77
+ All fields are optional:
78
+
79
+ | Field | Description | Default |
80
+ |-------|-------------|---------|
81
+ | `setup` | Commands to run before making fixes | `[]` |
82
+ | `verify` | Commands to verify changes (lint, test, etc.) | `[]` |
83
+ | `allowedCommands` | Commands Claude Code is allowed to execute (supports globs) | `[]` |
84
+ | `autoFix.must_fix` | Auto-fix comments marked must-fix | `true` |
85
+ | `autoFix.should_fix` | Auto-fix comments marked should-fix | `true` |
86
+ | `autoFix.nice_to_have` | Auto-fix nice-to-have suggestions | `false` |
87
+ | `autoFix.verify_and_fix` | Auto-fix CI/verification failures | `true` |
88
+ | `autoFix.needs_clarification` | Attempt to fix ambiguous comments | `true` |
110
89
 
111
- Once started, orc opens an interactive terminal dashboard with these controls:
90
+ ## Dashboard controls
112
91
 
113
92
  | Key | Action |
114
93
  |-----|--------|
115
94
  | `q` | Quit |
116
- | `r` | Refresh all PRs immediately |
95
+ | `r` | Refresh all PRs |
117
96
  | `Tab` | Toggle between Sessions and Logs view |
118
97
  | `↑`/`↓` | Navigate sessions or scroll logs |
119
98
  | `Enter` | Start/stop monitoring for selected PR |
120
99
  | `a` | Start monitoring all PRs |
121
100
  | `x` | Stop monitoring all PRs |
122
101
 
123
- The dashboard shows:
124
- - **Real-time status** of each PR being monitored with comment counts
125
- - **Last check timestamp** for polling activity
126
- - **Detailed information** about comments, CI status, and fixes
127
- - **Scrollable logs** accessible via Tab key
128
-
129
- ### Options
102
+ ## Options
130
103
 
131
104
  | Flag | Description | Default |
132
105
  |------|-------------|---------|
133
- | `--max-loops <n>` | Max fix iterations per branch | 10 |
134
- | `--poll-interval <n>` | Seconds between polls | 30 |
135
- | `--confidence <n>` | Min confidence to act on a comment (0-1) | 0.75 |
136
- | `--model <model>` | Claude model for fixes | |
137
- | `--max-turns <n>` | Max turns per Claude Code session | 30 |
138
- | `--claude-timeout <n>` | Seconds before killing Claude Code | 900 |
139
- | `--dry-run` | Show what would be done without executing | — |
140
- | `--verbose` | Include detailed output | — |
141
-
142
- ## Development
143
-
144
- ```bash
145
- yarn dev # Watch mode (rebuilds on change)
146
- yarn typecheck # Type-check without emitting
147
- yarn lint # Lint source files
148
- yarn test # Run tests
149
- yarn test:watch # Run tests in watch mode
150
- ```
106
+ | `--poll-interval <n>` | Seconds between polls | `30` |
107
+ | `--confidence <n>` | Min confidence to act on a comment (0-1) | `0.75` |
108
+ | `--model <model>` | Claude model for fixes | `sonnet` |
109
+ | `--session-timeout <n>` | Hours before stopping (0 = unlimited) | `0` |
110
+ | `--claude-timeout <n>` | Seconds before killing a Claude Code session | `900` |
111
+ | `--dry-run` | Preview what would be done without executing | |
112
+ | `--verbose` | Show detailed output | — |
151
113
 
152
114
  ## FAQ
153
115
 
154
116
  ### Does this violate Anthropic's Terms of Service?
155
117
 
156
- No. `orc` is a CI/CD automation tool that invokes Claude Code as a subprocess — it does not access the Anthropic API directly or tamper with Claude Code's authentication. Specifically:
157
-
158
- - **No direct API calls.** `orc` never makes HTTP requests to `api.anthropic.com` or any Anthropic endpoint. All Claude interactions go through the official [Claude Code Agent SDK](https://docs.anthropic.com/en/docs/claude-code/sdk) (`@anthropic-ai/claude-code`), which spawns Claude Code as a subprocess.
159
- - **No token extraction.** `orc` never reads, stores, or forwards OAuth tokens, session tokens, or any credentials from Claude Code's internal state or config files.
160
- - **No header spoofing.** `orc` never sets `Authorization`, `User-Agent`, `X-Api-Key`, or any other HTTP header to impersonate Claude Code.
161
- - **No credential parsing.** `orc` never accesses `~/.claude`, Claude Code's authentication files, or any credential storage. Authentication is handled entirely by Claude Code itself.
162
-
163
- `orc` is architecturally equivalent to a shell script that runs `claude` commands in a loop — it just adds a TUI dashboard and PR-aware orchestration on top.
118
+ No. orc invokes Claude Code as a subprocess via the official [Agent SDK](https://docs.anthropic.com/en/docs/claude-code/sdk) — it never calls the Anthropic API directly, extracts tokens, spoofs headers, or accesses Claude Code's credential storage. It's architecturally equivalent to a shell script that runs `claude` in a loop, with a dashboard and PR-aware orchestration on top.
164
119
 
165
120
  ## Disclaimers
166
121
 
167
- **This software is provided "as is", without warranty of any kind.** By using orc, you acknowledge and agree to the following:
122
+ **This software is provided "as is", without warranty of any kind.** By using orc, you acknowledge:
168
123
 
169
- - **Cost responsibility.** orc invokes Claude Code, which requires an active [Claude Code subscription](https://docs.anthropic.com/en/docs/claude-code). Each fix cycle consumes usage against your subscription or API quota. The authors are not responsible for any costs, charges, or overages incurred through use of this software.
170
- - **Autonomous code changes.** orc is designed to automatically modify code, commit, and push to your GitHub repositories. While it operates in isolated worktrees and runs configured verification commands, the authors make no guarantees about the correctness, safety, or suitability of any changes it produces. You are solely responsible for reviewing and accepting changes pushed to your repositories.
171
- - **No liability.** In no event shall the authors or copyright holders be liable for any claim, damages, or other liability arising from the use of this software, including but not limited to data loss, repository corruption, CI/CD costs, or unintended code modifications.
172
- - **Third-party services.** orc depends on third-party services (GitHub, Claude Code) that have their own terms of service, pricing, and availability. The authors make no guarantees about the availability or behavior of these services and are not responsible for changes to their terms or pricing.
124
+ - **Cost responsibility.** orc invokes Claude Code, which requires an active [subscription](https://docs.anthropic.com/en/docs/claude-code). Each fix cycle consumes usage against your quota. The authors are not responsible for any costs incurred.
125
+ - **Autonomous code changes.** orc automatically modifies, commits, and pushes code to your repositories. The authors make no guarantees about correctness or safety. You are solely responsible for reviewing changes.
126
+ - **No liability.** The authors are not liable for any damages arising from use of this software, including data loss, repository corruption, or unintended modifications.
127
+ - **Third-party services.** orc depends on GitHub and Claude Code, which have their own terms and pricing.
173
128
 
174
- Use of this software constitutes acceptance of these terms. Always review changes before merging, and use the `--dry-run` flag to preview behavior before enabling autonomous fixes.
129
+ Use `--dry-run` to preview behavior before enabling autonomous fixes.
175
130
 
176
131
  ## License
177
132
 
178
- [MIT](./LICENSE)
133
+ Proprietary. See [LICENSE](./LICENSE).
@@ -7,6 +7,7 @@ import { EventEmitter } from "node:events";
7
7
  import { SessionController } from "./session-controller.js";
8
8
  import { type ThreadCounts } from "./comment-fetcher.js";
9
9
  import { ProgressStore } from "./progress-store.js";
10
+ import { GHClient } from "../github/gh-client.js";
10
11
  import type { Config } from "../types/config.js";
11
12
  import type { BranchState, CIStatus, FailedCheck, ReviewThread, SessionMode } from "../types/index.js";
12
13
  import type { GHPullRequest } from "../github/types.js";
@@ -23,6 +24,7 @@ export declare class Daemon extends EventEmitter {
23
24
  private threadCounts;
24
25
  private lastStates;
25
26
  private mergedPRs;
27
+ private externalBranches;
26
28
  private ciStatuses;
27
29
  private ciFailedChecks;
28
30
  private conflictStatuses;
@@ -56,6 +58,9 @@ export declare class Daemon extends EventEmitter {
56
58
  private maybeNotify;
57
59
  refreshNotificationSettings(): void;
58
60
  isRunning(branch: string): boolean;
61
+ getGHClient(): GHClient;
62
+ /** Add a branch (by PR) that wasn't authored by the current user. */
63
+ addExternalBranch(pr: GHPullRequest): Promise<void>;
59
64
  run(): Promise<void>;
60
65
  refreshNow(): Promise<void>;
61
66
  startBranch(branch: string, mode?: SessionMode): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/core/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../../src/core/daemon.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,7 @@ export class Daemon extends EventEmitter {
30
30
  threadCounts = new Map();
31
31
  lastStates = new Map();
32
32
  mergedPRs = new Map();
33
+ externalBranches = new Set(); // Branches added via addExternalBranch (not authored by current user)
33
34
  ciStatuses = new Map();
34
35
  ciFailedChecks = new Map();
35
36
  conflictStatuses = new Map();
@@ -126,6 +127,28 @@ export class Daemon extends EventEmitter {
126
127
  isRunning(branch) {
127
128
  return this.sessions.has(branch);
128
129
  }
130
+ getGHClient() {
131
+ return this.ghClient;
132
+ }
133
+ /** Add a branch (by PR) that wasn't authored by the current user. */
134
+ async addExternalBranch(pr) {
135
+ const branch = pr.headRefName;
136
+ if (this.discoveredPRs.has(branch)) {
137
+ logger.info(`Branch ${branch} already tracked`, branch);
138
+ return;
139
+ }
140
+ logger.info(`Manually added PR #${pr.number}: ${pr.title}`, branch);
141
+ this.discoveredPRs.set(branch, pr);
142
+ this.externalBranches.add(branch); // Track as external so discover() won't remove it
143
+ this.mergedPRs.delete(branch);
144
+ this.emit("prDiscovered", branch, pr);
145
+ // Fetch initial data for the new branch
146
+ this.updateCIStatusesFromPRs([pr]);
147
+ await Promise.all([
148
+ this.updateCommentCounts([pr]),
149
+ this.updateConflictStatuses([pr]),
150
+ ]);
151
+ }
129
152
  async run() {
130
153
  this.running = true;
131
154
  await this.progressStore.load();
@@ -264,10 +287,9 @@ export class Daemon extends EventEmitter {
264
287
  }
265
288
  }
266
289
  async startAll(mode = "once") {
290
+ await this.stopAll();
267
291
  for (const [branch] of this.discoveredPRs) {
268
- if (!this.sessions.has(branch)) {
269
- await this.startBranch(branch, mode);
270
- }
292
+ await this.startBranch(branch, mode);
271
293
  }
272
294
  }
273
295
  async watchBranch(branch) {
@@ -482,8 +504,29 @@ export class Daemon extends EventEmitter {
482
504
  // Handle PRs that are no longer open (closed or merged) before checking ready statuses,
483
505
  // so merged PRs are removed from discoveredPRs and don't briefly flicker to "ready"
484
506
  for (const branch of [...this.discoveredPRs.keys()]) {
485
- if (!activeBranches.has(branch)) {
507
+ // External branches aren't returned by getMyOpenPRs(), so check them separately
508
+ const isExternal = this.externalBranches.has(branch);
509
+ const notInMyPRs = !activeBranches.has(branch);
510
+ // For user's own PRs, removal from activeBranches means closed/merged
511
+ // For external branches, we need to explicitly check if they're still open
512
+ if (isExternal || notInMyPRs) {
486
513
  const pr = this.discoveredPRs.get(branch);
514
+ // For external branches, check if PR is still open (state != CLOSED/MERGED)
515
+ // For user's own PRs not in activeBranches, we know they're closed/merged
516
+ let stillOpen = false;
517
+ if (isExternal) {
518
+ try {
519
+ const prInfo = await this.ghClient.findPRForBranch(branch);
520
+ stillOpen = prInfo !== null && prInfo.state === "OPEN";
521
+ }
522
+ catch {
523
+ // If we can't determine, assume still open to avoid accidental removal
524
+ stillOpen = true;
525
+ }
526
+ }
527
+ // Skip if external branch is still open
528
+ if (isExternal && stillOpen)
529
+ continue;
487
530
  let wasMerged = false;
488
531
  try {
489
532
  wasMerged = await this.ghClient.isPRMerged(pr.number);
@@ -498,6 +541,7 @@ export class Daemon extends EventEmitter {
498
541
  }
499
542
  // Now remove from discovered PRs and clean up
500
543
  this.discoveredPRs.delete(branch);
544
+ this.externalBranches.delete(branch);
501
545
  this.commentCounts.delete(branch);
502
546
  this.commentThreads.delete(branch);
503
547
  this.threadCounts.delete(branch);
@@ -761,24 +805,26 @@ export class Daemon extends EventEmitter {
761
805
  continue;
762
806
  }
763
807
  const allCompleted = checks.every((c) => c.status?.toUpperCase() === "COMPLETED");
764
- if (!allCompleted) {
765
- this.updateCIStatus(pr.headRefName, "pending", []);
766
- continue;
767
- }
768
808
  const passing = new Set(["SUCCESS", "NEUTRAL", "SKIPPED"]);
769
- const failed = checks.filter((c) => !passing.has(c.conclusion?.toUpperCase() ?? ""));
770
- if (failed.length === 0) {
771
- this.updateCIStatus(pr.headRefName, "passing", []);
772
- }
773
- else {
809
+ const completed = checks.filter((c) => c.status?.toUpperCase() === "COMPLETED");
810
+ const failed = completed.filter((c) => !passing.has(c.conclusion?.toUpperCase() ?? ""));
811
+ if (failed.length > 0) {
812
+ // Report failures immediately, even if some checks are still running
774
813
  const failedChecks = failed.map((c) => ({
775
814
  id: c.databaseId ?? 0,
776
815
  name: c.name,
777
816
  htmlUrl: c.detailsUrl ?? "",
778
817
  logSnippet: null,
818
+ appSlug: null,
779
819
  }));
780
820
  this.updateCIStatus(pr.headRefName, "failing", failedChecks);
781
821
  }
822
+ else if (allCompleted) {
823
+ this.updateCIStatus(pr.headRefName, "passing", []);
824
+ }
825
+ else {
826
+ this.updateCIStatus(pr.headRefName, "pending", []);
827
+ }
782
828
  }
783
829
  }
784
830
  updateCIStatus(branch, status, failedChecks) {
@@ -1 +1 @@
1
- {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/core/daemon.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../../src/core/daemon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,cAAc,EAAqB,MAAM,sBAAsB,CAAC;AACzE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAIlD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAOlD,MAAM,OAAO,MAAO,SAAQ,YAAY;IAC9B,MAAM,CAAS;IACf,GAAG,CAAS;IACZ,QAAQ,CAAW;IACnB,eAAe,CAAkB;IACjC,aAAa,CAAgB;IAC7B,QAAQ,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC5C,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IACjD,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,cAAc,GAAG,IAAI,GAAG,EAA0B,CAAC;IACnD,YAAY,GAAG,IAAI,GAAG,EAAwB,CAAC;IAC/C,UAAU,GAAG,IAAI,GAAG,EAAuB,CAAC;IAC5C,SAAS,GAAG,IAAI,GAAG,EAAmD,CAAC;IACvE,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC,CAAC,sEAAsE;IAC5G,UAAU,GAAG,IAAI,GAAG,EAAoB,CAAC;IACzC,cAAc,GAAG,IAAI,GAAG,EAAyB,CAAC;IAClD,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;IAC/C,OAAO,GAAG,KAAK,CAAC;IAChB,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IACxC,QAAQ,GAAkB,IAAI,CAAC;IAC/B,0BAA0B,GAAmB,IAAI,CAAC;IAClD,kBAAkB,GAAG,IAAI,CAAC;IAC1B,WAAW,GAAkB,IAAI,CAAC;IAClC,aAAa,GAAG,KAAK,CAAC;IAE9B,YAAY,MAAc,EAAE,GAAW;QACrC,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,WAAW;QACT,MAAM,MAAM,GAAG,IAAI,GAAG,EAA6B,CAAC;QACpD,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;YACzC,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACrC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,eAAe;QACb,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,YAAY;QACV,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACtC,CAAC;IAED,4BAA4B;QAC1B,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC;IAClC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED,YAAY,CAAC,OAAwB;QACnC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QAC7C,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAE1D,gDAAgD;QAChD,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,iBAAiB;QACf,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACtC,CAAC;IAED,mBAAmB;QACjB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACxC,CAAC;IAEO,WAAW,CAAC,KAAa,EAAE,OAAe;QAChD,IAAI,IAAI,CAAC,0BAA0B,KAAK,IAAI,EAAE,CAAC;YAC7C,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;YAChC,IAAI,CAAC,0BAA0B,GAAG,QAAQ,EAAE,aAAa,IAAI,IAAI,CAAC;QACpE,CAAC;QACD,IAAI,IAAI,CAAC,0BAA0B,EAAE,CAAC;YACpC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC;IAED,2BAA2B;QACzB,IAAI,CAAC,0BAA0B,GAAG,IAAI,CAAC;IACzC,CAAC;IAED,SAAS,CAAC,MAAc;QACtB,OAAO,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;IAED,WAAW;QACT,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,qEAAqE;IACrE,KAAK,CAAC,iBAAiB,CAAC,EAAiB;QACvC,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC;QAC9B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,UAAU,MAAM,kBAAkB,EAAE,MAAM,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,MAAM,CAAC,CAAC;QACpE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,kDAAkD;QACrF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC9B,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAEtC,wCAAwC;QACxC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnC,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC;YAC9B,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC;SAClC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG;QACP,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC;QAChC,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,CAAC;QACxC,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAEnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;QACrB,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;QAC1D,MAAM,CAAC,IAAI,CACT,YAAY,KAAK,IAAI,IAAI,oBAAoB,IAAI,EAAE,CACpD,CAAC;QAEF,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;YACpB,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;YACxB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,qBAAqB,GAAG,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,IAAI,CAAC,IAAI,CAAC,OAAO;gBAAE,MAAM;YACzB,oEAAoE;YACpE,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC;gBAChE,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;gBAC/B,MAAM,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU;QACd,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,mFAAmF;QACnF,4EAA4E;QAC5E,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc,EAAE,OAAoB,MAAM;QAC1D,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,iCAAiC;QACjC,MAAM,QAAQ,GAAG,YAAY,EAAE,CAAC;QAChC,MAAM,qBAAqB,GAAG,QAAQ,EAAE,qBAAqB,IAAI,CAAC,CAAC;QACnE,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,MAAM,CAAC;QAEpG,IAAI,cAAc,IAAI,qBAAqB,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,mDAAmD,qBAAqB,WAAW,EAAE,MAAM,CAAC,CAAC;YACzG,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3G,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC1B,MAAM;gBACN,QAAQ,EAAE,EAAE,CAAC,MAAM;gBACnB,KAAK,EAAE,EAAE,CAAC,GAAG;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI;gBACJ,iBAAiB,EAAE,CAAC;gBACpB,YAAY;gBACZ,KAAK,EAAE,mDAAmD,qBAAqB,WAAW;gBAC1F,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,gBAAgB,EAAE,IAAI;gBACtB,GAAG,QAAQ;gBACX,gBAAgB;gBAChB,iBAAiB;gBACjB,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,CAAC;QAEvD,2DAA2D;QAC3D,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,6EAA6E,EAAE,MAAM,CAAC,CAAC;YACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3G,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC1B,MAAM;gBACN,QAAQ,EAAE,EAAE,CAAC,MAAM;gBACnB,KAAK,EAAE,EAAE,CAAC,GAAG;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI;gBACJ,iBAAiB,EAAE,CAAC;gBACpB,YAAY;gBACZ,gBAAgB;gBAChB,iBAAiB;gBACjB,KAAK,EAAE,sDAAsD;gBAC7D,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,gBAAgB,EAAE,IAAI;gBACtB,GAAG,QAAQ;gBACX,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,6DAA6D;QAC7D,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAAc;QAC7B,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACnC,yEAAyE;QACzE,gCAAgC;QAChC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC9C,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC;YAC7B,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,OAAoB,MAAM;QACvC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAc;QAC9B,MAAM,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAc;QAC/B,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,sEAAsE,EAAE,MAAM,CAAC,CAAC;YAC5F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,sEAAsE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7I,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE/B,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,8BAA8B,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1G,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEnG,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAS,EAAE,MAAc,EAAE,EAAE;YAC1D,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAS,EAAE,KAAkB,EAAE,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE;YACpC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC7B,kDAAkD;gBAClD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;YAC3B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,iBAAiB,CAAC,MAAc;QACpC,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;YAAE,OAAO;QACtC,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO;QAEhB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;QAEjD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACpD,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,sEAAsE,EAAE,MAAM,CAAC,CAAC;YAC5F,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,sEAAsE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC7I,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YAChE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,EAAE,EAAE,8BAA8B,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC;YAC1G,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,kEAAkE;QAClE,MAAM,kBAAkB,GAAG,CAAC,KAAK,IAAI,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACnD,MAAM,CAAC,IAAI,CAAC,mBAAmB,MAAM,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC;gBACxE,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,CAAC,EAAE,EAAE,CAAC;oBACR,MAAM,CAAC,IAAI,CAAC,oDAAoD,EAAE,MAAM,CAAC,CAAC;oBAC1E,4CAA4C;oBAC5C,MAAM,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;oBACxC,OAAO;gBACT,CAAC;gBAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,kBAAkB,EAAE,CAAC;gBACrD,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,CAAC,CAAC;oBAC/C,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC5C,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,wBAAwB,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;YACtD,CAAC;oBAAS,CAAC;gBACT,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;gBAC5C,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,EAAE,CAAC;QAEL,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;QAC7E,MAAM,kBAAkB,CAAC;IAC3B,CAAC;IAED,gBAAgB,CAAC,MAAc,EAAE,MAAe;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,UAAU,EAAE,wBAAwB,CAAC,MAAM,CAAC,CAAC;QACvD,CAAC;IACH,CAAC;IAED,yBAAyB,CAAC,MAAc;QACtC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,UAAU,EAAE,yBAAyB,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,OAAO;QACX,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YAC/C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAEO,gBAAgB,CAAC,EAAU;QACjC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC;YAC3C,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBAC7C,OAAO,EAAE,CAAC;YACZ,CAAC,EAAE,EAAE,CAAC,CAAC;YACP,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;QACrB,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvC,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3C,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,QAAQ;QACpB,IAAI,GAAoB,CAAC;QACzB,IAAI,CAAC;YACH,GAAG,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC3C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;gBAClC,MAAM,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,2BAA2B,GAAG,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,OAAO;QACT,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;QAEhE,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAC/C,CAAC;QAED,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC5C,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC;gBACxE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC3C,qEAAqE;gBACrE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBACtC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;gBAC9C,iFAAiF;gBACjF,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC7B,IAAI,CAAC,WAAW,CAAC,mBAAmB,EAAE,uBAAuB,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC;gBACzF,CAAC;YACH,CAAC;QACH,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC5B,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,CAAC;QAED,wDAAwD;QACxD,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC;QAElC,yDAAyD;QACzD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC;YAC7B,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC;SACjC,CAAC,CAAC;QAEH,wFAAwF;QACxF,oFAAoF;QACpF,KAAK,MAAM,MAAM,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;YACpD,gFAAgF;YAChF,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAE/C,sEAAsE;YACtE,2EAA2E;YAC3E,IAAI,UAAU,IAAI,UAAU,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC;gBAE3C,4EAA4E;gBAC5E,0EAA0E;gBAC1E,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,UAAU,EAAE,CAAC;oBACf,IAAI,CAAC;wBACH,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;wBAC3D,SAAS,GAAG,MAAM,KAAK,IAAI,IAAI,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC;oBACzD,CAAC;oBAAC,MAAM,CAAC;wBACP,uEAAuE;wBACvE,SAAS,GAAG,IAAI,CAAC;oBACnB,CAAC;gBACH,CAAC;gBAED,wCAAwC;gBACxC,IAAI,UAAU,IAAI,SAAS;oBAAE,SAAS;gBAEtC,IAAI,SAAS,GAAG,KAAK,CAAC;gBACtB,IAAI,CAAC;oBACH,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC;gBACxD,CAAC;gBAAC,MAAM,CAAC;oBACP,yCAAyC;gBAC3C,CAAC;gBAED,IAAI,SAAS,EAAE,CAAC;oBACd,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,MAAM,SAAS,EAAE,MAAM,CAAC,CAAC;oBAC/C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;oBACzD,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,iBAAiB,EAAE,CAAC,MAAM,KAAK,EAAE,CAAC,KAAK,oBAAoB,CAAC,CAAC;gBAC7F,CAAC;gBAED,8CAA8C;gBAC9C,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAClC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBAC/B,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACnC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACrC,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACrC,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,CAAC,IAAI,CAAC,kCAAkC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;gBAClE,CAAC;gBAED,yBAAyB;gBACzB,IAAI,SAAS,EAAE,CAAC;oBACd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;oBAC3C,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;QAED,6EAA6E;QAC7E,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,GAAoB;QACpD,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,OAAO;QAE3B,MAAM,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;YAC5C,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,cAAc,CAChC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,QAAS,EAAE,EAAE,CAAC,WAAW,CACzD,CAAC;gBACF,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,OAAO,CAAC,eAAe,EAAE,CAAC;gBAC5E,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC1D,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBAC9C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;gBACpD,IAAI,CAAC,cAAc,CAAC,GAAG,CACrB,EAAE,CAAC,WAAW,EACd,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAC7B,CAAC;gBAEF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;oBACnB,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,GAAG,YAAY,cAAc,EAAE,CAAC;oBAClC,MAAM,CAAC,IAAI,CAAC,yEAAyE,CAAC,CAAC;oBACvF,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC,CAAC;YACzE,CAAC;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,IAAI,GAAG,YAAY,cAAc;gBAAE,OAAO;YAC1C,MAAM,GAAG,CAAC;QACZ,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,EAAiB,EAAE,OAAoB,MAAM;QACvE,MAAM,MAAM,GAAG,EAAE,CAAC,WAAW,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CACT,sCAAsC,EAAE,CAAC,MAAM,EAAE,EACjD,MAAM,CACP,CAAC;YACF,OAAO;QACT,CAAC;QAED,4EAA4E;QAC5E,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAElD,IAAI,OAAe,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CAAC;QAChF,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,MAAM,KAAK,GAAG,EAAE,CAAC,CAAC;YAChE,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC1F,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACzG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3G,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;gBAC1B,MAAM;gBACN,QAAQ,EAAE,EAAE,CAAC,MAAM;gBACnB,KAAK,EAAE,EAAE,CAAC,GAAG;gBACb,MAAM,EAAE,OAAO;gBACf,IAAI;gBACJ,iBAAiB,EAAE,CAAC;gBACpB,YAAY;gBACZ,gBAAgB;gBAChB,iBAAiB;gBACjB,KAAK,EAAE,8BAA8B,GAAG,EAAE;gBAC1C,eAAe,EAAE,CAAC;gBAClB,cAAc,EAAE,IAAI;gBACpB,UAAU,EAAE,IAAI;gBAChB,cAAc,EAAE,EAAE;gBAClB,aAAa,EAAE,IAAI;gBACnB,OAAO,EAAE,IAAI;gBACb,gBAAgB,EAAE,IAAI;gBACtB,GAAG,QAAQ;gBACX,QAAQ,EAAE,SAAS;gBACnB,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,CAAC;gBAChB,UAAU,EAAE,EAAE;gBACd,eAAe,EAAE,KAAK;aACvB,CAAC,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEjG,UAAU,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,CAAS,EAAE,MAAc,EAAE,EAAE;YAC1D,MAAM,CAAC,IAAI,CAAC,WAAW,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,CAAS,EAAE,KAAkB,EAAE,EAAE;YAC/D,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,CAAS,EAAE,EAAE;YACpC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACjC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;YACzD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAS,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;YACpC,MAAM,KAAK,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;YACpC,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;gBAC7B,kDAAkD;gBAClD,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;gBAC9B,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;gBACzB,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE,sBAAsB,CAAC,YAAY,KAAK,CAAC,KAAK,IAAI,eAAe,EAAE,CAAC,CAAC;YAC1G,CAAC;iBAAM,CAAC;gBACN,kCAAkC;gBAClC,MAAM,iBAAiB,GAAG,KAAK,CAAC,iBAAiB,IAAI,CAAC,CAAC;gBACvD,IAAI,iBAAiB,GAAG,CAAC,EAAE,CAAC;oBAC1B,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,0BAA0B,iBAAiB,kBAAkB,CAAC,EAAE,CAAC,CAAC;gBACzG,CAAC;qBAAM,CAAC;oBACN,IAAI,CAAC,WAAW,CAAC,kBAAkB,EAAE,yBAAyB,CAAC,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;oBACnC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;gBACjD,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,MAAM,EAAE,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAc;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,OAAO;YAAE,OAAO;QAErB,OAAO,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC;QAC3B,MAAM,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACtC,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAc;QACzC,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;gBACvB,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC7D,CAAC;QACH,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAE1C,+EAA+E;QAC/E,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,EAAE,EAAE,CAAC;YACP,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACrC,CAAC;QAED,6CAA6C;QAC7C,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAE3B,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAEO,mBAAmB,CAAC,MAAc,EAAE,MAAoB,EAAE,OAAoB,MAAM;QAC1F,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnG,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE;YAC1B,MAAM;YACN,QAAQ,EAAE,EAAE,CAAC,MAAM;YACnB,KAAK,EAAE,EAAE,CAAC,GAAG;YACb,MAAM;YACN,IAAI;YACJ,iBAAiB,EAAE,IAAI,EAAE,iBAAiB,IAAI,CAAC;YAC/C,YAAY;YACZ,gBAAgB;YAChB,iBAAiB;YACjB,KAAK,EAAE,IAAI;YACX,eAAe,EAAE,IAAI,EAAE,eAAe,IAAI,CAAC;YAC3C,cAAc,EAAE,IAAI,EAAE,cAAc,IAAI,IAAI;YAC5C,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,IAAI;YACpC,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI,EAAE,aAAa,IAAI,IAAI;YAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI;YAC9B,GAAG,QAAQ;YACX,QAAQ,EAAE,IAAI,EAAE,QAAQ,IAAI,SAAS;YACrC,YAAY,EAAE,IAAI,EAAE,YAAY,IAAI,EAAE;YACtC,aAAa,EAAE,IAAI,EAAE,aAAa,IAAI,CAAC;YACvC,UAAU,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE;YAClC,eAAe,EAAE,IAAI,EAAE,eAAe,IAAI,KAAK;YAC/C,gBAAgB,EAAE,IAAI,EAAE,gBAAgB,IAAI,IAAI;SACjD,CAAC,CAAC;QACH,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChC,CAAC;IAEO,cAAc,CAAC,MAAc,EAAE,EAAiB,EAAE,KAAa,EAAE,OAAoB,MAAM;QACjG,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAClF,MAAM,gBAAgB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjG,MAAM,iBAAiB,GAAG,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACnG,OAAO;YACL,MAAM;YACN,QAAQ,EAAE,EAAE,CAAC,MAAM;YACnB,KAAK,EAAE,EAAE,CAAC,GAAG;YACb,MAAM,EAAE,OAAO;YACf,IAAI;YACJ,iBAAiB,EAAE,CAAC;YACpB,YAAY;YACZ,gBAAgB;YAChB,iBAAiB;YACjB,KAAK;YACL,eAAe,EAAE,CAAC;YAClB,cAAc,EAAE,IAAI;YACpB,UAAU,EAAE,IAAI;YAChB,cAAc,EAAE,EAAE;YAClB,aAAa,EAAE,IAAI;YACnB,OAAO,EAAE,IAAI,CAAC,GAAG;YACjB,GAAG,QAAQ;YACX,QAAQ,EAAE,SAAS;YACnB,YAAY,EAAE,EAAE;YAChB,aAAa,EAAE,CAAC;YAChB,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,KAAK;YACtB,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB;QAC5B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YACtF,OAAO,MAAM,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED,gFAAgF;IACxE,uBAAuB,CAAC,GAAoB;QAClD,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,UAAU,EAAE,MAAM,EAAE,iBAAiB,CAAC;YACrD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBACnD,SAAS;YACX,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;gBACnD,SAAS;YACX,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;YAClF,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;YAC3D,MAAM,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,WAAW,CAAC,CAAC;YAChF,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAExF,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,qEAAqE;gBACrE,MAAM,YAAY,GAAkB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBACrD,EAAE,EAAE,CAAC,CAAC,UAAU,IAAI,CAAC;oBACrB,IAAI,EAAE,CAAC,CAAC,IAAK;oBACb,OAAO,EAAE,CAAC,CAAC,UAAU,IAAI,EAAE;oBAC3B,UAAU,EAAE,IAAI;oBAChB,OAAO,EAAE,IAAI;iBACd,CAAC,CAAC,CAAC;gBACJ,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;YAC/D,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACxB,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;YACrD,CAAC;QACH,CAAC;IAEH,CAAC;IAEO,cAAc,CAAC,MAAc,EAAE,MAAgB,EAAE,YAA2B;QAClF,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,oFAAoF;IAC5E,mBAAmB;QACzB,KAAK,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,SAAS;YAExC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,EAAE,KAAK,SAAS;gBAAE,SAAS;YAE/B,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC5D,IAAI,eAAe,GAAG,CAAC;gBAAE,SAAS;YAElC,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC9C,MAAM,aAAa,GAAG,SAAS,EAAE,MAAM,CAAC;YACxC,IAAI,aAAa,KAAK,SAAS,IAAI,aAAa,KAAK,UAAU;gBAAE,SAAS;YAE1E,SAAU,CAAC,MAAM,GAAG,OAAO,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,2FAA2F;IACnF,KAAK,CAAC,sBAAsB,CAAC,GAAoB;QACvD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAE7B,sEAAsE;QACtE,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;YAC5B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;QAC9B,CAAC;QAED,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;gBAC7D,GAAG,EAAE,IAAI,CAAC,GAAG;gBACb,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,yBAAyB,GAAG,EAAE,CAAC,CAAC;QAC/C,CAAC;QAED,8BAA8B;QAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE;YACrC,IAAI,CAAC;gBACH,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE;oBAC7C,YAAY,EAAE,cAAc,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,UAAU,EAAE,CAAC,WAAW,EAAE;iBACrF,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE1C,MAAM,aAAa,GAAa,EAAE,CAAC;gBACnC,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;oBACnB,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;wBACtC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;wBACzE,IAAI,KAAK,EAAE,CAAC;4BACV,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC/B,CAAC;oBACH,CAAC;oBACD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/B,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAClC,CAAC;gBACH,CAAC;gBAED,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;oBAC3D,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBAE9C,oEAAoE;gBACpE,mDAAmD;gBACnD,0EAA0E;gBAC1E,2EAA2E;gBAC3E,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC;gBAClD,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;oBAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;wBAC9D,MAAM,mBAAmB,GAAG,KAAK,CAAC,UAAU,CAAC;wBAC7C,MAAM,SAAS,GAAG,mBAAmB,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM;4BACnE,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7D,IAAI,SAAS,EAAE,CAAC;4BACd,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;wBAClD,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,OAAO,EAAE,CAAC;oBACZ,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;gBACnE,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,CAAC,WAAW,KAAK,GAAG,EAAE,CAAC,CAAC;YAC1E,CAAC;QACH,CAAC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,iFAAiF;IACzE,KAAK,CAAC,YAAY,CAAC,MAAc;QACvC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;QAElE,kDAAkD;QAClD,uEAAuE;QACvE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,UAAU,MAAM,EAAE,CAAC,EAAE;YAC9D,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,MAAM,CAAC,IAAI,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;QAE3D,uEAAuE;QACvE,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACtC,IAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;QAChD,CAAC;IACH,CAAC;CACF"}
@@ -34,12 +34,19 @@ export declare class FixExecutor {
34
34
  executeConflictFix(conflictContext: string, repoConfig: RepoConfig, abortSignal?: AbortSignal, onActivity?: (line: string) => void): Promise<FixResult>;
35
35
  /** Build system suffix based on execution mode and pilot config. */
36
36
  private buildSystemSuffix;
37
+ /**
38
+ * Resolve `${VAR_NAME}` references in env values from process.env.
39
+ * Only resolves variables that are in the allowlist to prevent secret exfiltration.
40
+ */
41
+ private resolveEnvVars;
37
42
  /** Shared Claude SDK invocation logic. */
38
43
  private executeClaude;
39
44
  /** Execute a CI-specific fix cycle, given context about the failures. */
40
45
  executeCIFix(ciContext: string, repoConfig: RepoConfig, abortSignal?: AbortSignal, onActivity?: (line: string) => void): Promise<FixResult>;
41
46
  /** Convert repo-level allowed commands into Bash tool permissions. */
42
47
  private buildExtraTools;
48
+ /** Build resolved MCP server config from repo config, if any are configured. */
49
+ private buildMcpServers;
43
50
  private buildConflictPrompt;
44
51
  private buildCIPrompt;
45
52
  private buildPrompt;
@@ -1 +1 @@
1
- {"version":3,"file":"fix-executor.d.ts","sourceRoot":"","sources":["../../../src/core/fix-executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,wFAAwF;IACxF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAS;gBAER,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKjC,OAAO,CACX,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,SAAS,CAAC;IAiBrB,kFAAkF;IAC5E,kBAAkB,CACtB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,SAAS,CAAC;IAUrB,oEAAoE;IACpE,OAAO,CAAC,iBAAiB;IAgCzB,0CAA0C;YAC5B,aAAa;IA+H3B,yEAAyE;IACnE,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,SAAS,CAAC;IAUrB,sEAAsE;IACtE,OAAO,CAAC,eAAe;IAIvB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAmHnB,OAAO,CAAC,aAAa;YAwBP,iBAAiB;YA8BjB,gBAAgB;CA0B/B"}
1
+ {"version":3,"file":"fix-executor.d.ts","sourceRoot":"","sources":["../../../src/core/fix-executor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AASH,OAAO,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACxE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAIjD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,OAAO,GAAG,gBAAgB,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAC1C,wFAAwF;IACxF,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC;AAED,qBAAa,WAAW;IACtB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,GAAG,CAAS;gBAER,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;IAKjC,OAAO,CACX,QAAQ,EAAE,kBAAkB,EAAE,EAC9B,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,SAAS,CAAC;IAkBrB,kFAAkF;IAC5E,kBAAkB,CACtB,eAAe,EAAE,MAAM,EACvB,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,SAAS,CAAC;IAWrB,oEAAoE;IACpE,OAAO,CAAC,iBAAiB;IAoCzB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAetB,0CAA0C;YAC5B,aAAa;IAqI3B,yEAAyE;IACnE,YAAY,CAChB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,UAAU,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,OAAO,CAAC,SAAS,CAAC;IAWrB,sEAAsE;IACtE,OAAO,CAAC,eAAe;IAIvB,gFAAgF;IAChF,OAAO,CAAC,eAAe;IAevB,OAAO,CAAC,mBAAmB;IAc3B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,WAAW;IAmHnB,OAAO,CAAC,aAAa;YAwBP,iBAAiB;YA8BjB,gBAAgB;CA0B/B"}