@gitwand/mcp 2.19.0 → 2.20.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/server.js CHANGED
@@ -26,7 +26,7 @@ for (let i = 0; i < args.length; i++) {
26
26
  // ─── Server setup ──────────────────────────────────────────
27
27
  const server = new Server({
28
28
  name: "gitwand",
29
- version: "2.19.0",
29
+ version: "2.20.1",
30
30
  }, {
31
31
  capabilities: {
32
32
  tools: {},
@@ -56,6 +56,9 @@ export declare function registerTools(): ({
56
56
  files?: undefined;
57
57
  dry_run?: undefined;
58
58
  policy?: undefined;
59
+ operation?: undefined;
60
+ onto?: undefined;
61
+ commit?: undefined;
59
62
  file?: undefined;
60
63
  line?: undefined;
61
64
  content?: undefined;
@@ -90,6 +93,43 @@ export declare function registerTools(): ({
90
93
  enum: string[];
91
94
  description: string;
92
95
  };
96
+ operation?: undefined;
97
+ onto?: undefined;
98
+ commit?: undefined;
99
+ file?: undefined;
100
+ line?: undefined;
101
+ content?: undefined;
102
+ resolution?: undefined;
103
+ min_score?: undefined;
104
+ };
105
+ required?: undefined;
106
+ };
107
+ } | {
108
+ name: string;
109
+ description: string;
110
+ inputSchema: {
111
+ type: "object";
112
+ properties: {
113
+ cwd: {
114
+ type: string;
115
+ description: string;
116
+ };
117
+ operation: {
118
+ type: string;
119
+ enum: string[];
120
+ description: string;
121
+ };
122
+ onto: {
123
+ type: string;
124
+ description: string;
125
+ };
126
+ commit: {
127
+ type: string;
128
+ description: string;
129
+ };
130
+ files?: undefined;
131
+ dry_run?: undefined;
132
+ policy?: undefined;
93
133
  file?: undefined;
94
134
  line?: undefined;
95
135
  content?: undefined;
@@ -119,6 +159,9 @@ export declare function registerTools(): ({
119
159
  files?: undefined;
120
160
  dry_run?: undefined;
121
161
  policy?: undefined;
162
+ operation?: undefined;
163
+ onto?: undefined;
164
+ commit?: undefined;
122
165
  content?: undefined;
123
166
  resolution?: undefined;
124
167
  min_score?: undefined;
@@ -150,6 +193,9 @@ export declare function registerTools(): ({
150
193
  files?: undefined;
151
194
  dry_run?: undefined;
152
195
  policy?: undefined;
196
+ operation?: undefined;
197
+ onto?: undefined;
198
+ commit?: undefined;
153
199
  resolution?: undefined;
154
200
  min_score?: undefined;
155
201
  };
@@ -187,6 +233,9 @@ export declare function registerTools(): ({
187
233
  };
188
234
  files?: undefined;
189
235
  policy?: undefined;
236
+ operation?: undefined;
237
+ onto?: undefined;
238
+ commit?: undefined;
190
239
  content?: undefined;
191
240
  };
192
241
  required: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2J5B;AAwGD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM;;;;;GAsBnB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAUH,wBAAgB,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAwK5B;AAwOD,wBAAsB,cAAc,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,UAAU,EAAE,MAAM;;;;;GAsBnB"}
@@ -11,7 +11,7 @@
11
11
  * gitwand_resolve_hunk_llm → validate + apply an LLM-proposed resolution
12
12
  */
13
13
  import { readFileSync, writeFileSync } from "node:fs";
14
- import { execSync } from "node:child_process";
14
+ import { execSync, execFileSync } from "node:child_process";
15
15
  import { resolve as resolvePath } from "node:path";
16
16
  import { resolve } from "@gitwand/core";
17
17
  import { resolveHunkToolDefinition, handleResolveHunk } from "./resolve_hunk.js";
@@ -60,7 +60,7 @@ export function registerTools() {
60
60
  },
61
61
  {
62
62
  name: "gitwand_preview_merge",
63
- description: "Dry-run conflict resolution on all conflicted files. Shows how many conflicts GitWand can auto-resolve vs. how many need manual/LLM attention. Does NOT modify any files.",
63
+ description: "Side-effect-free Conflict Predictor. Simulates a merge, rebase, or cherry-pick and reports how many conflicts GitWand can auto-resolve vs. how many need manual/LLM attention, plus an overall risk level (low/medium/high). Does NOT modify the working tree, index, or HEAD.\n\n- operation 'merge' (default): analyzes conflicts already materialized in the working tree (files with conflict markers).\n- operation 'rebase': simulates rebasing HEAD onto `onto` (3-way against merge-base(HEAD, onto); HEAD's work is replayed on top of `onto`).\n- operation 'cherry-pick': simulates cherry-picking `commit` onto HEAD (3-way with `commit^` as ancestor, HEAD as ours, `commit` as theirs).",
64
64
  inputSchema: {
65
65
  type: "object",
66
66
  properties: {
@@ -68,6 +68,19 @@ export function registerTools() {
68
68
  type: "string",
69
69
  description: "Working directory (repo root). Defaults to server cwd.",
70
70
  },
71
+ operation: {
72
+ type: "string",
73
+ enum: ["merge", "rebase", "cherry-pick"],
74
+ description: "Operation to simulate. Default: 'merge'.",
75
+ },
76
+ onto: {
77
+ type: "string",
78
+ description: "Required when operation is 'rebase': the branch/ref to rebase HEAD onto.",
79
+ },
80
+ commit: {
81
+ type: "string",
82
+ description: "Required when operation is 'cherry-pick': the commit to simulate cherry-picking onto HEAD.",
83
+ },
71
84
  },
72
85
  },
73
86
  },
@@ -182,6 +195,118 @@ function getConflictedFiles(cwd) {
182
195
  return [];
183
196
  }
184
197
  }
198
+ // ─── Conflict Predictor helpers (rebase / cherry-pick) ─────
199
+ //
200
+ // These live in the MCP package (which already depends on node:child_process /
201
+ // node:fs), NOT in @gitwand/core, which must stay Node-free. They synthesize
202
+ // conflict-marked content for a simulated rebase / cherry-pick WITHOUT touching
203
+ // the working tree, index, or HEAD — by reading the three blob versions with
204
+ // `git show` and running `git merge-file` in a system temp directory. The
205
+ // resulting markered content is then fed through the same `resolve()` engine as
206
+ // the working-tree merge path, so the predictor output is identical in shape.
207
+ import { mkdtempSync, rmSync } from "node:fs";
208
+ import { tmpdir } from "node:os";
209
+ import { join as joinPath } from "node:path";
210
+ /** Run git, returning trimmed stdout, or null on non-zero exit / spawn error. */
211
+ function gitTry(cwd, args) {
212
+ try {
213
+ // execFileSync passes args as a discrete array — no shell interpolation.
214
+ const out = execFileSync("git", args, { cwd, encoding: "utf-8", stdio: ["ignore", "pipe", "ignore"] });
215
+ return out.trim();
216
+ }
217
+ catch {
218
+ return null;
219
+ }
220
+ }
221
+ /**
222
+ * Run `git merge-file` and return the merged content INCLUDING conflict markers.
223
+ *
224
+ * Unlike gitTry, this must NOT discard output on a non-zero exit: `git merge-file`
225
+ * exits with a code equal to the number of conflicts (>0 means there ARE
226
+ * conflicts — exactly the case the predictor cares about), and the conflict-marked
227
+ * content is still written to stdout. Returns the content as-is (no trim, to
228
+ * preserve a trailing newline the resolver may rely on), or null only on a real
229
+ * spawn failure or a fatal git error (exit 255 / no captured stdout).
230
+ */
231
+ function gitMergeFile(cwd, args) {
232
+ try {
233
+ const out = execFileSync("git", ["merge-file", ...args], {
234
+ cwd,
235
+ encoding: "utf-8",
236
+ stdio: ["ignore", "pipe", "ignore"],
237
+ });
238
+ return out; // clean merge, exit 0
239
+ }
240
+ catch (e) {
241
+ // execFileSync throws on non-zero exit; the error still carries captured
242
+ // stdout. Conflicts → status in 1..127 with markered content on stdout.
243
+ const err = e;
244
+ if (typeof err.stdout === "string" && err.stdout.length > 0) {
245
+ return err.stdout;
246
+ }
247
+ return null;
248
+ }
249
+ }
250
+ /** Resolve a ref to a commit SHA, or null if unknown/invalid. */
251
+ function revParse(cwd, rev) {
252
+ return gitTry(cwd, ["rev-parse", "--verify", "--quiet", `${rev}^{commit}`]);
253
+ }
254
+ /** Files changed between two revs (name-only). */
255
+ function changedFiles(cwd, base, rev) {
256
+ const out = gitTry(cwd, ["diff", "--name-only", base, rev]);
257
+ if (!out)
258
+ return [];
259
+ return out.split("\n").map((l) => l.trim()).filter((l) => l.length > 0);
260
+ }
261
+ /** Read a file's blob at a given rev, or null if absent at that rev. */
262
+ function showBlob(cwd, rev, file) {
263
+ return gitTry(cwd, ["show", `${rev}:${file}`]);
264
+ }
265
+ /**
266
+ * Build the conflict-marked content for the intersection of files changed on
267
+ * both sides of a 3-way operation, mirroring the desktop Rust predictor.
268
+ * `ours`/`theirs` are git refs; ancestor is the common base.
269
+ * Returns only the files that actually changed on BOTH sides (the only ones
270
+ * that can conflict); clean unilateral changes are omitted since they never
271
+ * produce markers.
272
+ */
273
+ function simulate3way(cwd, ancestor, ours, theirs) {
274
+ const oursFiles = new Set(changedFiles(cwd, ancestor, ours));
275
+ const theirsFiles = changedFiles(cwd, ancestor, theirs);
276
+ const both = theirsFiles.filter((f) => oursFiles.has(f));
277
+ if (both.length === 0)
278
+ return [];
279
+ const tmp = mkdtempSync(joinPath(tmpdir(), "gitwand-predict-"));
280
+ const out = [];
281
+ try {
282
+ for (const file of both) {
283
+ const baseBlob = showBlob(cwd, ancestor, file);
284
+ const oursBlob = showBlob(cwd, ours, file);
285
+ const theirsBlob = showBlob(cwd, theirs, file);
286
+ // One side missing the file → add/delete conflict (no markers to resolve).
287
+ if (oursBlob === null || theirsBlob === null) {
288
+ out.push({ file, content: "", addDelete: true });
289
+ continue;
290
+ }
291
+ const safe = file.replace(/[\\/.]/g, "_");
292
+ const pBase = joinPath(tmp, `${safe}.base`);
293
+ const pOurs = joinPath(tmp, `${safe}.ours`);
294
+ const pTheirs = joinPath(tmp, `${safe}.theirs`);
295
+ writeFileSync(pBase, baseBlob ?? "", "utf-8");
296
+ writeFileSync(pOurs, oursBlob, "utf-8");
297
+ writeFileSync(pTheirs, theirsBlob, "utf-8");
298
+ // git merge-file -p --diff3 <ours> <base> <theirs> → markered content on stdout.
299
+ // Must use gitMergeFile, not gitTry: merge-file exits non-zero on conflict
300
+ // (the very case we want), and gitTry would discard the conflict content.
301
+ const merged = gitMergeFile(cwd, ["-p", "--diff3", pOurs, pBase, pTheirs]);
302
+ out.push({ file, content: merged ?? "", addDelete: false });
303
+ }
304
+ }
305
+ finally {
306
+ rmSync(tmp, { recursive: true, force: true });
307
+ }
308
+ return out;
309
+ }
185
310
  function serializeResult(file, result) {
186
311
  return {
187
312
  path: file,
@@ -271,7 +396,7 @@ export async function handleToolCall(name, args, defaultCwd) {
271
396
  case "gitwand_resolve_conflicts":
272
397
  return toolResolve(cwd, args);
273
398
  case "gitwand_preview_merge":
274
- return toolPreview(cwd);
399
+ return toolPreview(cwd, args);
275
400
  case "gitwand_explain_hunk":
276
401
  return toolExplain(cwd, args);
277
402
  case "gitwand_apply_resolution":
@@ -377,11 +502,19 @@ async function toolResolve(cwd, args) {
377
502
  }],
378
503
  };
379
504
  }
380
- async function toolPreview(cwd) {
505
+ async function toolPreview(cwd, args) {
506
+ const operation = (args.operation ?? "merge");
507
+ if (operation === "rebase") {
508
+ return toolPreviewRebase(cwd, args);
509
+ }
510
+ if (operation === "cherry-pick") {
511
+ return toolPreviewCherryPick(cwd, args);
512
+ }
513
+ // Default: merge — analyze conflicts already present in the working tree.
381
514
  const files = getConflictedFiles(cwd);
382
515
  if (files.length === 0) {
383
516
  return {
384
- content: [{ type: "text", text: JSON.stringify({ message: "No conflicted files.", risk: "none" }, null, 2) }],
517
+ content: [{ type: "text", text: JSON.stringify({ operation: "merge", message: "No conflicted files.", risk: "none" }, null, 2) }],
385
518
  };
386
519
  }
387
520
  const previews = files.map((file) => {
@@ -395,24 +528,58 @@ async function toolPreview(cwd) {
395
528
  return { path: file, error: err.message };
396
529
  }
397
530
  });
531
+ return previewResponse("merge", files.length, previews);
532
+ }
533
+ /**
534
+ * Shared assembly of the preview response from per-file `resolve()` results,
535
+ * including the overall risk level.
536
+ *
537
+ * Risk uses the SAME status-based model as the desktop `useMergePreview`
538
+ * `riskLevel` computed (spec §4.2), so all three predictor surfaces
539
+ * (desktop / MCP / CLI) agree for identical inputs:
540
+ * - high : at least one file is "manual" (no conflict auto-resolved) or
541
+ * "add-delete" (one side deleted the file);
542
+ * - medium : at least one file is "partial" (some but not all conflicts
543
+ * auto-resolved);
544
+ * - low : no conflicting files, or every conflict auto-resolved.
545
+ * It is deliberately status-based, NOT count/threshold-based: the number of
546
+ * cleanly auto-resolvable files does not by itself raise the risk.
547
+ */
548
+ function previewResponse(operation, fileCount, previews, addDeleteCount = 0) {
398
549
  const totalConflicts = previews.reduce((s, r) => s + (r.totalConflicts ?? 0), 0);
399
550
  const totalResolvable = previews.reduce((s, r) => s + (r.autoResolved ?? 0), 0);
400
551
  const remaining = totalConflicts - totalResolvable;
401
- // Risk assessment
552
+ // Per-file status classification, mirroring the desktop model.
553
+ const hasHard = previews.some((r) => {
554
+ if (r.addDelete === true)
555
+ return true;
556
+ const total = r.totalConflicts ?? 0;
557
+ const resolved = r.autoResolved ?? 0;
558
+ // "manual": the file has conflicts and none of them auto-resolved.
559
+ return total > 0 && resolved === 0;
560
+ });
561
+ const hasPartial = previews.some((r) => {
562
+ const total = r.totalConflicts ?? 0;
563
+ const resolved = r.autoResolved ?? 0;
564
+ // "partial": some — but not all — conflicts in the file auto-resolved.
565
+ return total > 0 && resolved > 0 && resolved < total;
566
+ });
402
567
  let risk;
403
- if (remaining === 0)
404
- risk = "low";
405
- else if (remaining <= 2 && files.length <= 3)
568
+ if (hasHard)
569
+ risk = "high";
570
+ else if (hasPartial)
406
571
  risk = "medium";
407
572
  else
408
- risk = "high";
573
+ risk = "low";
409
574
  return {
410
575
  content: [{
411
576
  type: "text",
412
577
  text: JSON.stringify({
578
+ operation,
413
579
  risk,
414
580
  summary: {
415
- files: files.length,
581
+ files: fileCount,
582
+ addDeleteFiles: addDeleteCount,
416
583
  totalConflicts,
417
584
  autoResolvable: totalResolvable,
418
585
  remaining,
@@ -425,6 +592,111 @@ async function toolPreview(cwd) {
425
592
  }],
426
593
  };
427
594
  }
595
+ /** Build per-file `resolve()` previews from the simulated 3-way conflict set. */
596
+ function previewsFromSimulation(sims) {
597
+ let addDeleteCount = 0;
598
+ const previews = sims.map((sim) => {
599
+ if (sim.addDelete) {
600
+ addDeleteCount++;
601
+ return {
602
+ path: sim.file,
603
+ addDelete: true,
604
+ totalConflicts: 1,
605
+ autoResolved: 0,
606
+ remaining: 1,
607
+ note: "One side adds/deletes this file — requires manual decision.",
608
+ };
609
+ }
610
+ // No markers means git merged it cleanly → no conflict for this file.
611
+ if (!sim.content.includes("<<<<<<<")) {
612
+ return { path: sim.file, totalConflicts: 0, autoResolved: 0, remaining: 0 };
613
+ }
614
+ try {
615
+ const result = resolve(sim.content, sim.file, { explainOnly: true });
616
+ return serializeResult(sim.file, result);
617
+ }
618
+ catch (err) {
619
+ return { path: sim.file, error: err.message };
620
+ }
621
+ });
622
+ return { previews, addDeleteCount };
623
+ }
624
+ async function toolPreviewRebase(cwd, args) {
625
+ const onto = args.onto;
626
+ if (!onto) {
627
+ return { content: [{ type: "text", text: "Missing required argument for rebase preview: onto." }], isError: true };
628
+ }
629
+ if (revParse(cwd, onto) === null) {
630
+ return { content: [{ type: "text", text: `Unknown or invalid ref: ${onto}` }], isError: true };
631
+ }
632
+ if (revParse(cwd, "HEAD") === null) {
633
+ return { content: [{ type: "text", text: "Cannot resolve HEAD (empty repository?)." }], isError: true };
634
+ }
635
+ const headSha = revParse(cwd, "HEAD");
636
+ if (!headSha) {
637
+ return { content: [{ type: "text", text: "Cannot resolve HEAD (empty repository?)." }], isError: true };
638
+ }
639
+ const mergeBase = gitTry(cwd, ["merge-base", headSha, onto]);
640
+ if (!mergeBase) {
641
+ return { content: [{ type: "text", text: `No common ancestor between HEAD and ${onto}.` }], isError: true };
642
+ }
643
+ // Replay commits oldest-first: per-commit 3-way preview.
644
+ // Orientation per commit: ours = onto (target base), theirs = commit (replayed).
645
+ const commitsRaw = gitTry(cwd, ["rev-list", "--reverse", `${mergeBase}..${headSha}`]);
646
+ const commits = commitsRaw ? commitsRaw.split("\n").filter((c) => c.trim()) : [];
647
+ const allSims = [];
648
+ for (const c of commits) {
649
+ const parent = revParse(cwd, `${c}^`);
650
+ if (!parent)
651
+ continue; // root commit — skip
652
+ const perCommitSims = simulate3way(cwd, parent, onto, c);
653
+ allSims.push(...perCommitSims);
654
+ }
655
+ // Deduplicate: for each file keep the entry with most conflict signal.
656
+ const seenFiles = new Map();
657
+ for (const s of allSims) {
658
+ const existing = seenFiles.get(s.file);
659
+ if (!existing) {
660
+ seenFiles.set(s.file, s);
661
+ }
662
+ else {
663
+ // addDelete > has-markers > clean
664
+ const score = (f) => f.addDelete ? 2 : f.content.includes("<<<<<<<") ? 1 : 0;
665
+ if (score(s) > score(existing))
666
+ seenFiles.set(s.file, s);
667
+ }
668
+ }
669
+ const sims = Array.from(seenFiles.values());
670
+ if (sims.length === 0) {
671
+ return { content: [{ type: "text", text: JSON.stringify({ operation: "rebase", message: "No overlapping changes — rebase predicted clean.", risk: "low" }, null, 2) }] };
672
+ }
673
+ const { previews, addDeleteCount } = previewsFromSimulation(sims);
674
+ return previewResponse("rebase", sims.length, previews, addDeleteCount);
675
+ }
676
+ async function toolPreviewCherryPick(cwd, args) {
677
+ const commit = args.commit;
678
+ if (!commit) {
679
+ return { content: [{ type: "text", text: "Missing required argument for cherry-pick preview: commit." }], isError: true };
680
+ }
681
+ const commitSha = revParse(cwd, commit);
682
+ if (commitSha === null) {
683
+ return { content: [{ type: "text", text: `Unknown or invalid ref: ${commit}` }], isError: true };
684
+ }
685
+ if (revParse(cwd, "HEAD") === null) {
686
+ return { content: [{ type: "text", text: "Cannot resolve HEAD (empty repository?)." }], isError: true };
687
+ }
688
+ const parent = revParse(cwd, `${commitSha}^`);
689
+ if (parent === null) {
690
+ return { content: [{ type: "text", text: `Cannot preview cherry-pick of root commit ${commit} (no parent to diff against).` }], isError: true };
691
+ }
692
+ // ancestor = commit^, ours = HEAD, theirs = commit.
693
+ const sims = simulate3way(cwd, parent, "HEAD", commitSha);
694
+ if (sims.length === 0) {
695
+ return { content: [{ type: "text", text: JSON.stringify({ operation: "cherry-pick", message: "No overlapping changes — cherry-pick predicted clean.", risk: "low" }, null, 2) }] };
696
+ }
697
+ const { previews, addDeleteCount } = previewsFromSimulation(sims);
698
+ return previewResponse("cherry-pick", sims.length, previews, addDeleteCount);
699
+ }
428
700
  async function toolExplain(cwd, args) {
429
701
  const file = args.file;
430
702
  const targetLine = args.line;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACtD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,OAAO,EAAoB,MAAM,eAAe,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,8DAA8D;AAE9D,MAAM,UAAU,aAAa;IAC3B,OAAO;QACL;YACE,IAAI,EAAE,gBAAgB;YACtB,WAAW,EACT,kLAAkL;YACpL,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,2BAA2B;YACjC,WAAW,EACT,sPAAsP;YACxP,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;wBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;wBACzB,WAAW,EAAE,iFAAiF;qBAC/F;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,yDAAyD;qBACvE;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,eAAe,EAAE,QAAQ,CAAC;wBACjF,WAAW,EAAE,8CAA8C;qBAC5D;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,uBAAuB;YAC7B,WAAW,EACT,wqBAAwqB;YAC1qB,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,aAAa,CAAC;wBACxC,WAAW,EAAE,0CAA0C;qBACxD;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0EAA0E;qBACxF;oBACD,MAAM,EAAE;wBACN,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4FAA4F;qBAC1G;iBACF;aACF;SACF;QACD;YACE,IAAI,EAAE,sBAAsB;YAC5B,WAAW,EACT,oKAAoK;YACtK,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;qBAC9D;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,oCAAoC;qBAClD;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;aAC3B;SACF;QACD;YACE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EACT,wOAAwO;YAC1O,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;qBAC9D;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,qDAAqD;qBACnE;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,0DAA0D;qBACxE;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC;aACtC;SACF;QACD,2EAA2E;QAC3E,8EAA8E;QAC9E,4DAA4D;QAC5D,yBAAyB;QACzB,qDAAqD;QACrD;YACE,IAAI,EAAE,0BAA0B;YAChC,WAAW,EACT,8EAA8E;gBAC9E,mFAAmF;gBACnF,qFAAqF;gBACrF,qFAAqF;gBACrF,iDAAiD;gBACjD,0FAA0F;gBAC1F,sEAAsE;YACxE,WAAW,EAAE;gBACX,IAAI,EAAE,QAAiB;gBACvB,UAAU,EAAE;oBACV,GAAG,EAAE;wBACH,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,wDAAwD;qBACtE;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gDAAgD;qBAC9D;oBACD,IAAI,EAAE;wBACJ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gEAAgE;qBAC9E;oBACD,UAAU,EAAE;wBACV,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,8EAA8E;qBAC5F;oBACD,SAAS,EAAE;wBACT,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,mFAAmF;qBACjG;oBACD,OAAO,EAAE;wBACP,IAAI,EAAE,SAAS;wBACf,WAAW,EAAE,8DAA8D;qBAC5E;iBACF;gBACD,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC;aACzC;SACF;KACF,CAAC;AACJ,CAAC;AAED,8DAA8D;AAE9D,SAAS,kBAAkB,CAAC,GAAW;IACrC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,sCAAsC,EAAE;YAC9D,GAAG;YACH,QAAQ,EAAE,OAAO;SAClB,CAAC,CAAC;QACH,OAAO,MAAM;aACV,IAAI,EAAE;aACN,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,EAAE;AACF,+EAA+E;AAC/E,6EAA6E;AAC7E,gFAAgF;AAChF,6EAA6E;AAC7E,0EAA0E;AAC1E,gFAAgF;AAChF,8EAA8E;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,WAAW,CAAC;AAE7C,iFAAiF;AACjF,SAAS,MAAM,CAAC,GAAW,EAAE,IAAc;IACzC,IAAI,CAAC;QACH,yEAAyE;QACzE,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;QACvG,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,IAAc;IAC/C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,YAAY,CAAC,KAAK,EAAE,CAAC,YAAY,EAAE,GAAG,IAAI,CAAC,EAAE;YACvD,GAAG;YACH,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC;SACpC,CAAC,CAAC;QACH,OAAO,GAAG,CAAC,CAAC,sBAAsB;IACpC,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,yEAAyE;QACzE,wEAAwE;QACxE,MAAM,GAAG,GAAG,CAAyC,CAAC;QACtD,IAAI,OAAO,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5D,OAAO,GAAG,CAAC,MAAM,CAAC;QACpB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,iEAAiE;AACjE,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW;IACxC,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,GAAG,WAAW,CAAC,CAAC,CAAC;AAC9E,CAAC;AAED,kDAAkD;AAClD,SAAS,YAAY,CAAC,GAAW,EAAE,IAAY,EAAE,GAAW;IAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAC5D,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IACpB,OAAO,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;AAC1E,CAAC;AAED,wEAAwE;AACxE,SAAS,QAAQ,CAAC,GAAW,EAAE,GAAW,EAAE,IAAY;IACtD,OAAO,MAAM,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC;AACjD,CAAC;AAUD;;;;;;;GAOG;AACH,SAAS,YAAY,CAAC,GAAW,EAAE,QAAgB,EAAE,IAAY,EAAE,MAAc;IAC/E,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAEzD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,GAAG,GAAG,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAChE,MAAM,GAAG,GAAoB,EAAE,CAAC;IAChC,IAAI,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,QAAQ,GAAG,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;YAE/C,2EAA2E;YAC3E,IAAI,QAAQ,KAAK,IAAI,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC7C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjD,SAAS;YACX,CAAC;YAED,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,OAAO,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,IAAI,SAAS,CAAC,CAAC;YAChD,aAAa,CAAC,KAAK,EAAE,QAAQ,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;YAC9C,aAAa,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YACxC,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAE5C,iFAAiF;YACjF,2EAA2E;YAC3E,0EAA0E;YAC1E,MAAM,MAAM,GAAG,YAAY,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;YAC3E,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,IAAI,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,eAAe,CAAC,IAAY,EAAE,MAAmB;IACxD,OAAO;QACL,IAAI,EAAE,IAAI;QACV,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;QAC3C,YAAY,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;QACvC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;QACjC,UAAU,EAAE;YACV,OAAO,EAAE,MAAM,CAAC,UAAU,CAAC,OAAO;YAClC,kBAAkB,EAAE,MAAM,CAAC,UAAU,CAAC,kBAAkB;YACxD,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW;SAC3C;QACD,WAAW,EAAE,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1C,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;YACtB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,QAAQ,EAAE,CAAC,CAAC,YAAY;YACxB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/B,UAAU,EAAE;gBACV,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;gBAC9B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;gBAC9B,kBAAkB,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,kBAAkB;gBACnE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ;gBAC/C,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,WAAW;aACtD;YACD,KAAK,EAAE;gBACL,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC/B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC7B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC7B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;aAC1B;SACF,CAAC,CAAC;QACH,YAAY,EAAE,MAAM,CAAC,WAAW;aAC7B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;YACtB,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI;YACjB,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW;YAC/B,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;YACrC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YACjC,KAAK,EAAE;gBACL,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC/B,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;gBAC7B,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;aAC1B;SACF,CAAC,CAAC;KACN,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAC1B,OAAe,EACf,WAAuC;IAEvC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,cAAc,GAAa,EAAE,CAAC;IAElC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC/B,UAAU,GAAG,IAAI,CAAC;YAClB,cAAc,GAAG,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;YACpD,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1B,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC;YAC5C,IAAI,UAAU,EAAE,YAAY,IAAI,UAAU,CAAC,aAAa,EAAE,CAAC;gBACzD,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC;YACjC,CAAC;YACD,WAAW,EAAE,CAAC;YACd,UAAU,GAAG,KAAK,CAAC;YACnB,cAAc,GAAG,EAAE,CAAC;QACtB,CAAC;aAAM,IAAI,UAAU,EAAE,CAAC;YACtB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AAED,8DAA8D;AAE9D,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAY,EACZ,IAA6B,EAC7B,UAAkB;IAElB,MAAM,GAAG,GAAI,IAAI,CAAC,GAAc,IAAI,UAAU,CAAC;IAE/C,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,gBAAgB;YACnB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;QACzB,KAAK,2BAA2B;YAC9B,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,KAAK,uBAAuB;YAC1B,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,KAAK,sBAAsB;YACzB,OAAO,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAChC,KAAK,0BAA0B;YAC7B,OAAO,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC9B,KAAK,sBAAsB;YACzB,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACjC,KAAK,0BAA0B;YAC7B,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACtC;YACE,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClG,CAAC;AACH,CAAC;AAED,KAAK,UAAU,UAAU,CAAC,GAAW;IACnC,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,OAAO,EAAE,sBAAsB,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAClI,CAAC;IACJ,CAAC;IAED,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO;gBACL,IAAI,EAAE,IAAI;gBACV,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc;gBAC3C,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,YAAY;gBACzC,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS;gBACjC,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC;oBACzC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC;oBAC7E,CAAC,CAAC,CAAC;gBACL,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;qBACvC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAE,KAAgB,GAAG,CAAC,CAAC;qBAC5C,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAe,EAAE,CAAC,CAAC;aAC9D,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QACtD,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,cAAyB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/H,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,cAAyB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAEhI,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,KAAK,EAAE,KAAK,CAAC,MAAM;oBACnB,cAAc;oBACd,cAAc,EAAE,eAAe;oBAC/B,SAAS,EAAE,cAAc,GAAG,eAAe;oBAC3C,SAAS;iBACV,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,IAA6B;IACnE,IAAI,KAAK,GAAI,IAAI,CAAC,KAAkB,IAAI,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAI,IAAI,CAAC,OAAmB,IAAI,KAAK,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;IAEjD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC1H,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACjC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;gBACpC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC7C,CAAC,CAAC;YAEH,wCAAwC;YACxC,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC7C,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,IAAI,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC5F,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,cAAyB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7H,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAA0B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,YAAuB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE1H,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,MAAM;oBACN,OAAO,EAAE;wBACP,KAAK,EAAE,OAAO,CAAC,MAAM;wBACrB,cAAc;wBACd,YAAY,EAAE,aAAa;wBAC3B,SAAS,EAAE,cAAc,GAAG,aAAa;wBACzC,WAAW,EAAE,cAAc,GAAG,aAAa,KAAK,CAAC;qBAClD;oBACD,KAAK,EAAE,OAAO;iBACf,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,IAA6B;IACnE,MAAM,SAAS,GAAG,CAAE,IAAI,CAAC,SAAoB,IAAI,OAAO,CAAuC,CAAC;IAEhG,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;QAC3B,OAAO,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;QAChC,OAAO,qBAAqB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC1C,CAAC;IAED,0EAA0E;IAC1E,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEtC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,sBAAsB,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;SAC3I,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QAClC,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChD,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7D,OAAO,eAAe,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC,OAAO,EAAE,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC1D,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,SAAS,eAAe,CACtB,SAAiB,EACjB,SAAiB,EACjB,QAAwC,EACxC,cAAc,GAAG,CAAC;IAElB,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,cAAyB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrG,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAE,CAAC,CAAC,YAAuB,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,cAAc,GAAG,eAAe,CAAC;IAEnD,+DAA+D;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QAClC,IAAI,CAAC,CAAC,SAAS,KAAK,IAAI;YAAE,OAAO,IAAI,CAAC;QACtC,MAAM,KAAK,GAAI,CAAC,CAAC,cAAyB,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAI,CAAC,CAAC,YAAuB,IAAI,CAAC,CAAC;QACjD,mEAAmE;QACnE,OAAO,KAAK,GAAG,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE;QACrC,MAAM,KAAK,GAAI,CAAC,CAAC,cAAyB,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAI,CAAC,CAAC,YAAuB,IAAI,CAAC,CAAC;QACjD,uEAAuE;QACvE,OAAO,KAAK,GAAG,CAAC,IAAI,QAAQ,GAAG,CAAC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,IAAI,IAAY,CAAC;IACjB,IAAI,OAAO;QAAE,IAAI,GAAG,MAAM,CAAC;SACtB,IAAI,UAAU;QAAE,IAAI,GAAG,QAAQ,CAAC;;QAChC,IAAI,GAAG,KAAK,CAAC;IAElB,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,SAAS;oBACT,IAAI;oBACJ,OAAO,EAAE;wBACP,KAAK,EAAE,SAAS;wBAChB,cAAc,EAAE,cAAc;wBAC9B,cAAc;wBACd,cAAc,EAAE,eAAe;wBAC/B,SAAS;wBACT,qBAAqB,EAAE,cAAc,GAAG,CAAC;4BACvC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,cAAc,CAAC,GAAG,GAAG,CAAC;4BACtD,CAAC,CAAC,GAAG;qBACR;oBACD,KAAK,EAAE,QAAQ;iBAChB,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC;AAED,iFAAiF;AACjF,SAAS,sBAAsB,CAAC,IAAqB;IACnD,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QAChC,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YAClB,cAAc,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,SAAS,EAAE,IAAI;gBACf,cAAc,EAAE,CAAC;gBACjB,YAAY,EAAE,CAAC;gBACf,SAAS,EAAE,CAAC;gBACZ,IAAI,EAAE,6DAA6D;aACzC,CAAC;QAC/B,CAAC;QACD,sEAAsE;QACtE,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAA6B,CAAC;QACzG,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAA4B,CAAC;QACtE,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAA6B,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC;AACtC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,IAA6B;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAA0B,CAAC;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,qDAAqD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC9H,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC1G,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnH,CAAC;IACD,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACtC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnH,CAAC;IACD,MAAM,SAAS,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,uCAAuC,IAAI,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACvH,CAAC;IAED,yDAAyD;IACzD,iFAAiF;IACjF,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,WAAW,EAAE,GAAG,SAAS,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC;IACtF,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjF,MAAM,OAAO,GAAoB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM;YAAE,SAAS,CAAC,qBAAqB;QAC5C,MAAM,aAAa,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACzD,OAAO,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IACjC,CAAC;IACD,uEAAuE;IACvE,MAAM,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IACnD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,kCAAkC;YAClC,MAAM,KAAK,GAAG,CAAC,CAAgB,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5F,IAAI,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC;gBAAE,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,kDAAkD,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACpL,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC1E,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,GAAW,EAAE,IAA6B;IAC7E,MAAM,MAAM,GAAG,IAAI,CAAC,MAA4B,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4DAA4D,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrI,CAAC;IACD,MAAM,SAAS,GAAG,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IACxC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,2BAA2B,MAAM,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5G,CAAC;IACD,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,0CAA0C,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACnH,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,6CAA6C,MAAM,+BAA+B,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3J,CAAC;IAED,oDAAoD;IACpD,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;IAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,OAAO,EAAE,uDAAuD,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC9L,CAAC;IACD,MAAM,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAClE,OAAO,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,cAAc,CAAC,CAAC;AAC/E,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,GAAW,EAAE,IAA6B;IACnE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAc,CAAC;IAEvC,IAAI,CAAC,IAAI,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,4CAA4C,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IACrH,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,OAAO,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClG,CAAC;IAED,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7D,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,UAAU,CAAC,CAAC;IAC7E,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClE,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,kCAAkC,UAAU,GAAG;wBACtD,cAAc,EAAE,SAAS;qBAC1B,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,IAAI;oBACJ,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;oBACzB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;oBACpB,QAAQ,EAAE,IAAI,CAAC,YAAY;oBAC3B,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW;oBAClC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;oBACvC,UAAU,EAAE;wBACV,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;wBACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK;wBACjC,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,UAAU;wBAC3C,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ;wBACvC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS;qBAC1C;oBACD,KAAK,EAAE;wBACL,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ;wBAClC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;wBAChC,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO;wBAChC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK;qBAC7B;oBACD,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;oBACpC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;oBACxC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;iBACrC,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,IAA6B;IACjE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAc,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAiB,CAAC;IAE1C,IAAI,CAAC,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QACrD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,sDAAsD,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC/H,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAClG,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC7D,+CAA+C;YAC/C,UAAU,GAAG,IAAI,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACvC,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;YACpD,4CAA4C;YAC5C,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC;QACD,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,KAAK,EAAE,oCAAoC,UAAU,OAAO,IAAI,GAAG;qBACpE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAEjD,0CAA0C;IAC1C,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;IAErE,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,OAAO,EAAE,IAAI;oBACb,IAAI;oBACJ,IAAI,EAAE,UAAU;oBAChB,kBAAkB,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc;oBAChD,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,cAAc,KAAK,CAAC;wBACzC,CAAC,CAAC,sCAAsC;wBACxC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,yBAAyB;iBAC7D,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC;AAED,6DAA6D;AAE7D;;;;;;;;;;;;;GAaG;AACH,KAAK,UAAU,iBAAiB,CAAC,GAAW,EAAE,IAA6B;IACzE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAc,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,IAAc,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,UAAoB,CAAC;IAC7C,MAAM,QAAQ,GAAI,IAAI,CAAC,SAAoB,IAAI,EAAE,CAAC;IAClD,MAAM,MAAM,GAAI,IAAI,CAAC,OAAmB,IAAI,KAAK,CAAC;IAElD,IAAI,CAAC,IAAI,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,UAAU,EAAE,CAAC;QACrD,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yDAAyD,EAAE,CAAC;YACrG,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACxC,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAChD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,IAAI,EAAE,EAAE,CAAC;YACrE,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,6EAA6E;IAC7E,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACtC,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC7D,UAAU,GAAG,IAAI,CAAC;YAClB,cAAc,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YAC/C,QAAQ,GAAG,IAAI,CAAC;QAClB,CAAC;aAAM,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;YACpD,UAAU,GAAG,KAAK,CAAC;QACrB,CAAC;aAAM,IAAI,CAAC,UAAU,EAAE,CAAC;YACvB,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QACD,WAAW,EAAE,CAAC;IAChB,CAAC;IAED,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,QAAQ,EAAE,KAAK;wBACf,KAAK,EAAE,oCAAoC,UAAU,OAAO,IAAI,GAAG;wBACnE,GAAG,EAAE,2DAA2D;qBACjE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;YACF,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEnD,8EAA8E;IAC9E,qCAAqC;IACrC,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;IAC7D,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAErE,gCAAgC;IAChC,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxB,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC;gBAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YAAC,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBAAC,WAAW,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC;YAAC,CAAC;QAC9F,CAAC;aAAM,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,6EAA6E;YAC7E,2EAA2E;YAC3E,WAAW,GAAG,IAAI,CAAC,CAAC,6CAA6C;QACnE,CAAC;IACH,CAAC;IAED,6EAA6E;IAC7E,IAAI,eAAuB,CAAC;IAC5B,IAAI,kBAAkB,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;QAC/C,eAAe,GAAG,CAAC,CAAC;IACtB,CAAC;SAAM,CAAC;QACN,eAAe,GAAG,GAAG,CAAC;IACxB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,kBAAkB,IAAI,WAAW,KAAK,IAAI,IAAI,eAAe,IAAI,QAAQ,CAAC;IAE5F,6EAA6E;IAC7E,IAAI,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,6EAA6E;IAC7E,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,QAAQ,EAAE,CAAC;QACb,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,EAAE,IAAI,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC;YACvE,kBAAkB,GAAG,OAAO,CAAC,KAAK,CAAC,cAAc,CAAC;QACpD,CAAC;QAAC,MAAM,CAAC;YACP,eAAe;QACjB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAE1C,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAe;gBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,QAAQ;oBACR,MAAM;oBACN,IAAI;oBACJ,IAAI,EAAE,UAAU;oBAChB,eAAe;oBACf,QAAQ;oBACR,kBAAkB;oBAClB,WAAW;oBACX,kBAAkB,EAAE,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI;oBACxD,OAAO,EAAE,QAAQ;wBACf,CAAC,CAAC,MAAM;4BACN,CAAC,CAAC,gCAAgC,eAAe,qCAAqC;4BACtF,CAAC,CAAC,8BAA8B,eAAe,UAAU,kBAAkB,KAAK,CAAC,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,GAAG,kBAAkB,yBAAyB,EAAE;wBAClK,CAAC,CAAC,kBAAkB;4BAClB,CAAC,CAAC,0DAA0D;4BAC5D,CAAC,CAAC,WAAW;gCACX,CAAC,CAAC,uCAAuC,WAAW,EAAE;gCACtD,CAAC,CAAC,yCAAyC,eAAe,cAAc,QAAQ,GAAG;oBACzF,cAAc;oBACd,KAAK,EAAE;wBACL,QAAQ;wBACR,IAAI,EAAE,0BAA0B;wBAChC,IAAI;wBACJ,IAAI,EAAE,UAAU;qBACjB;iBACF,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitwand/mcp",
3
- "version": "2.19.0",
3
+ "version": "2.20.1",
4
4
  "mcpName": "io.github.devlint/gitwand",
5
5
  "description": "GitWand MCP server — smart Git conflict resolution for AI agents (Claude, Cursor, Windsurf, Claude Code)",
6
6
  "type": "module",
@@ -40,16 +40,18 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@modelcontextprotocol/sdk": "^1.12.1",
43
- "@gitwand/core": "2.19.0"
43
+ "@gitwand/core": "2.20.1"
44
44
  },
45
45
  "devDependencies": {
46
46
  "@types/node": "^25.5.0",
47
- "typescript": "^5.4.0"
47
+ "typescript": "^5.4.0",
48
+ "vitest": "^4.1.0"
48
49
  },
49
50
  "author": "Laurent Guitton <lb.guitton@gmail.com>",
50
51
  "license": "MIT",
51
52
  "scripts": {
52
53
  "build": "tsc",
53
- "clean": "rm -rf dist"
54
+ "clean": "rm -rf dist",
55
+ "test": "vitest run"
54
56
  }
55
57
  }