0xkobold 0.0.2 → 0.0.3

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.
@@ -0,0 +1,527 @@
1
+ /**
2
+ * Git Commit Extension for 0xKobold
3
+ *
4
+ * Provides conventional commit message generation and commit workflow.
5
+ * Based on: https://skills.sh/github/awesome-copilot/git-commit
6
+ *
7
+ * Official Skill: github/awesome-copilot - conventional-commit
8
+ *
9
+ * SAFETY PROTOCOLS:
10
+ * - NEVER update git config
11
+ * - NEVER run destructive commands (--force, hard reset) without explicit request
12
+ * - NEVER skip hooks (--no-verify) unless user asks
13
+ * - NEVER force push to main/master
14
+ * - If commit fails due to hooks, fix and create NEW commit (don't amend)
15
+ * - Never commit secrets (.env, credentials.json, private keys)
16
+ */
17
+ import { execSync } from "child_process";
18
+ // Safety blocklist - files that should never be committed
19
+ const SECRET_PATTERNS = [
20
+ /\.env$/i,
21
+ /\.env\.local$/i,
22
+ /\.env\.production$/i,
23
+ /credentials/i,
24
+ /secret/i,
25
+ /private.*key/i,
26
+ /id_rsa/i,
27
+ /id_ed25519/i,
28
+ /\.pem$/i,
29
+ /\.key$/i,
30
+ /token/i,
31
+ /password/i,
32
+ ];
33
+ /**
34
+ * Check if file might contain secrets
35
+ */
36
+ function checkForSecrets(files) {
37
+ return files.filter(f => SECRET_PATTERNS.some(pattern => pattern.test(f)));
38
+ }
39
+ // Conventional commit types
40
+ const COMMIT_TYPES = [
41
+ { type: "feat", desc: "A new feature" },
42
+ { type: "fix", desc: "A bug fix" },
43
+ { type: "docs", desc: "Documentation only changes" },
44
+ { type: "style", desc: "Code style changes (formatting, semicolons, etc)" },
45
+ { type: "refactor", desc: "Code refactoring without changing functionality" },
46
+ { type: "perf", desc: "Performance improvements" },
47
+ { type: "test", desc: "Adding or fixing tests" },
48
+ { type: "build", desc: "Build system or dependency changes" },
49
+ { type: "ci", desc: "CI/CD configuration changes" },
50
+ { type: "chore", desc: "Other changes that don't modify src or test files" },
51
+ { type: "revert", desc: "Reverting a previous commit" },
52
+ ];
53
+ /**
54
+ * Get git status
55
+ */
56
+ function getGitStatus() {
57
+ try {
58
+ const status = execSync("git status --porcelain", { encoding: "utf-8" });
59
+ const lines = status.trim().split("\n").filter(Boolean);
60
+ const staged = [];
61
+ const unstaged = [];
62
+ const untracked = [];
63
+ for (const line of lines) {
64
+ const stagedFlag = line[0];
65
+ const unstagedFlag = line[1];
66
+ const filename = line.slice(3).trim();
67
+ if (stagedFlag !== " " && stagedFlag !== "?") {
68
+ staged.push(filename);
69
+ }
70
+ if (unstagedFlag !== " ") {
71
+ unstaged.push(filename);
72
+ }
73
+ if (stagedFlag === "?") {
74
+ untracked.push(filename);
75
+ }
76
+ }
77
+ return { staged, unstaged, untracked };
78
+ }
79
+ catch (error) {
80
+ return { staged: [], unstaged: [], untracked: [] };
81
+ }
82
+ }
83
+ /**
84
+ * Get git diff for staged files
85
+ */
86
+ function getStagedDiff() {
87
+ try {
88
+ return execSync("git diff --cached", { encoding: "utf-8", maxBuffer: 1024 * 1024 });
89
+ }
90
+ catch (error) {
91
+ return "";
92
+ }
93
+ }
94
+ /**
95
+ * Get git diff for unstaged files
96
+ */
97
+ function getUnstagedDiff() {
98
+ try {
99
+ return execSync("git diff", { encoding: "utf-8", maxBuffer: 1024 * 1024 });
100
+ }
101
+ catch (error) {
102
+ return "";
103
+ }
104
+ }
105
+ /**
106
+ * Analyze changes and suggest commit type
107
+ */
108
+ function suggestCommitType(files, diff) {
109
+ const fileStr = files.join(" ").toLowerCase();
110
+ const diffStr = diff.toLowerCase();
111
+ // Test files
112
+ if (fileStr.includes("test") || fileStr.includes("spec")) {
113
+ return "test";
114
+ }
115
+ // Documentation
116
+ if (fileStr.includes("readme") || fileStr.includes(".md") || fileStr.includes("docs/")) {
117
+ return "docs";
118
+ }
119
+ // Configuration/CI
120
+ if (fileStr.includes(".yml") || fileStr.includes(".yaml") || fileStr.includes(".json")) {
121
+ if (fileStr.includes(".github/") || fileStr.includes("workflow")) {
122
+ return "ci";
123
+ }
124
+ if (fileStr.includes("package.json") || fileStr.includes("tsconfig")) {
125
+ return "build";
126
+ }
127
+ }
128
+ // Check diff for patterns
129
+ if (diffStr.includes("delete") || diffStr.includes("remove")) {
130
+ // Could be refactor or chore
131
+ }
132
+ if (diffStr.includes("fix") || diffStr.includes("bug") || diffStr.includes("error")) {
133
+ return "fix";
134
+ }
135
+ if (diffStr.includes("feat") || diffStr.includes("add") || diffStr.includes("new")) {
136
+ return "feat";
137
+ }
138
+ if (diffStr.includes("perf") || diffStr.includes("optim")) {
139
+ return "perf";
140
+ }
141
+ if (diffStr.includes("refactor")) {
142
+ return "refactor";
143
+ }
144
+ return "feat"; // Default
145
+ }
146
+ /**
147
+ * Parse commit message components
148
+ */
149
+ function parseCommitMessage(input) {
150
+ // Match conventional commit pattern
151
+ const regex = /^(\w+)(?:\(([^)]+)\))?!?: (.+)$/m;
152
+ const match = input.match(regex);
153
+ if (match) {
154
+ const [, type, scope, description] = match;
155
+ const parts = input.split("\n\n");
156
+ const body = parts[1] || "";
157
+ const footer = parts[2] || "";
158
+ return { type, scope: scope || "", description, body, footer };
159
+ }
160
+ // Fallback: treat entire input as description
161
+ return { type: "", scope: "", description: input.trim(), body: "", footer: "" };
162
+ }
163
+ export default function gitCommitExtension(pi) {
164
+ // ═════════════════════════════════════════════════════════════════════════
165
+ // USER COMMANDS
166
+ // ═════════════════════════════════════════════════════════════════════════
167
+ pi.registerCommand("commit", {
168
+ description: "Generate conventional commit message (usage: /commit [message] or see status)",
169
+ handler: async (args, ctx) => {
170
+ const status = getGitStatus();
171
+ const { staged, unstaged, untracked } = status;
172
+ // If message provided and files staged, commit directly
173
+ if (args.trim() && staged.length > 0) {
174
+ const message = args.trim();
175
+ const { type, scope, description, body, footer } = parseCommitMessage(message);
176
+ if (!type || !COMMIT_TYPES.some(t => t.type === type)) {
177
+ ctx.ui?.notify?.("❌ Invalid commit type. Use one of:\n" +
178
+ COMMIT_TYPES.map(t => ` ${t.type} - ${t.desc}`).join("\n"), "error");
179
+ return;
180
+ }
181
+ try {
182
+ const fullMessage = scope
183
+ ? `${type}(${scope}): ${description}`
184
+ : `${type}: ${description}`;
185
+ const finalMessage = body ? `${fullMessage}\n\n${body}` : fullMessage;
186
+ const command = `git commit -m "${finalMessage.replace(/"/g, '\\"')}"`;
187
+ execSync(command, { encoding: "utf-8" });
188
+ ctx.ui?.notify?.(`✅ Committed: ${fullMessage}`, "info");
189
+ }
190
+ catch (error) {
191
+ ctx.ui?.notify?.(`❌ Commit failed: ${error}`, "error");
192
+ }
193
+ return;
194
+ }
195
+ // Show status
196
+ let msg = "📊 Git Status:\n\n";
197
+ if (staged.length > 0) {
198
+ msg += `✓ Staged (${staged.length}):\n${staged.map(f => ` ${f}`).join("\n")}\n\n`;
199
+ }
200
+ if (unstaged.length > 0) {
201
+ msg += `○ Unstaged (${unstaged.length}):\n${unstaged.map(f => ` ${f}`).join("\n")}\n\n`;
202
+ }
203
+ if (untracked.length > 0) {
204
+ msg += `? Untracked (${untracked.length}):\n${untracked.map(f => ` ${f}`).join("\n")}\n\n`;
205
+ }
206
+ if (staged.length === 0 && unstaged.length === 0 && untracked.length === 0) {
207
+ msg += "✓ Working directory clean\n";
208
+ }
209
+ else {
210
+ msg += "Use /commit-suggest to generate message\n";
211
+ msg += "Or /commit \"<type>(<scope>): <description>\" to commit";
212
+ }
213
+ ctx.ui.notify(msg, "info");
214
+ },
215
+ });
216
+ pi.registerCommand("commit-suggest", {
217
+ description: "Suggest conventional commit message based on staged changes",
218
+ handler: async (_args, ctx) => {
219
+ const status = getGitStatus();
220
+ const { staged } = status;
221
+ if (staged.length === 0) {
222
+ ctx.ui.notify("⚠️ No staged changes. Run 'git add <files>' first.", "warning");
223
+ return;
224
+ }
225
+ const diff = getStagedDiff();
226
+ const suggestedType = suggestCommitType(staged, diff);
227
+ // Try to infer scope from file paths
228
+ const dirs = staged.map(f => f.split("/")[0]).filter(Boolean);
229
+ const scope = dirs.length === 1 ? dirs[0] : "";
230
+ // Generate description from file changes
231
+ const fileNames = staged.map(f => f.split("/").pop()?.replace(/\.[^.]+$/, ""));
232
+ const description = staged.length === 1
233
+ ? `update ${fileNames[0]}`
234
+ : `update ${staged.length} files`;
235
+ const commitMsg = scope
236
+ ? `${suggestedType}(${scope}): ${description}`
237
+ : `${suggestedType}: ${description}`;
238
+ ctx.ui.notify(`💡 Suggested commit message:\n\n` +
239
+ ` ${commitMsg}\n\n` +
240
+ `Type: ${suggestedType} (${COMMIT_TYPES.find(t => t.type === suggestedType)?.desc})\n` +
241
+ `Files: ${staged.join(", ")}\n\n` +
242
+ `To commit: /commit \"${commitMsg}\"`, "info");
243
+ },
244
+ });
245
+ pi.registerCommand("commit-types", {
246
+ description: "Show conventional commit types",
247
+ handler: async (_args, ctx) => {
248
+ const types = COMMIT_TYPES.map(t => ` ${t.type.padEnd(10)} - ${t.desc}`).join("\n");
249
+ ctx.ui.notify(`📋 Conventional Commit Types:\n\n${types}\n\n` +
250
+ `Format: type(scope): description\n` +
251
+ `Example: feat(auth): add OAuth login`, "info");
252
+ },
253
+ });
254
+ pi.registerCommand("commit-amend", {
255
+ description: "Amend last commit (usage: /commit-amend [new-message])",
256
+ handler: async (args, ctx) => {
257
+ try {
258
+ if (args.trim()) {
259
+ // Amend with new message
260
+ execSync(`git commit --amend -m "${args.replace(/"/g, '\\"')}"`, { encoding: "utf-8" });
261
+ ctx.ui.notify("✅ Commit amended with new message", "info");
262
+ }
263
+ else {
264
+ // Amend without changing message
265
+ execSync("git commit --amend --no-edit", { encoding: "utf-8" });
266
+ ctx.ui.notify("✅ Commit amended (files added, message unchanged)", "info");
267
+ }
268
+ }
269
+ catch (error) {
270
+ ctx.ui.notify(`❌ Amend failed: ${error}`, "error");
271
+ }
272
+ },
273
+ });
274
+ pi.registerCommand("commit-last", {
275
+ description: "Show last commit",
276
+ handler: async (_args, ctx) => {
277
+ try {
278
+ const lastCommit = execSync("git log -1 --format='%h %s'", { encoding: "utf-8" }).trim();
279
+ const lastCommitFull = execSync("git log -1 --format='%H%n%an <%ae>%n%ad%n%n%s%n%n%b'", { encoding: "utf-8" }).trim();
280
+ ctx.ui.notify(`📝 Last commit:\n ${lastCommit}\n\n${lastCommitFull}`, "info");
281
+ }
282
+ catch (error) {
283
+ ctx.ui.notify("❌ Failed to get last commit", "error");
284
+ }
285
+ },
286
+ });
287
+ // ═════════════════════════════════════════════════════════════════════════
288
+ // AGENT TOOLS
289
+ // ═════════════════════════════════════════════════════════════════════════
290
+ pi.registerTool({
291
+ name: "git_status",
292
+ label: "git_status",
293
+ description: "Get current git status including staged, unstaged, and untracked files. Use before generating commit messages.",
294
+ // @ts-ignore TSchema mismatch
295
+ parameters: {
296
+ type: "object",
297
+ properties: {},
298
+ },
299
+ async execute(_toolCallId, _params, _signal, _onUpdate, _ctx) {
300
+ const status = getGitStatus();
301
+ const { staged, unstaged, untracked } = status;
302
+ const summary = [];
303
+ if (staged.length > 0)
304
+ summary.push(`${staged.length} staged`);
305
+ if (unstaged.length > 0)
306
+ summary.push(`${unstaged.length} unstaged`);
307
+ if (untracked.length > 0)
308
+ summary.push(`${untracked.length} untracked`);
309
+ const summaryStr = summary.length > 0 ? summary.join(", ") : "clean";
310
+ return {
311
+ content: [{
312
+ type: "text",
313
+ text: `Git status: ${summaryStr}\n\n` +
314
+ (staged.length > 0 ? `Staged:\n${staged.map(f => ` - ${f}`).join("\n")}\n\n` : "") +
315
+ (unstaged.length > 0 ? `Unstaged:\n${unstaged.map(f => ` - ${f}`).join("\n")}\n\n` : "") +
316
+ (untracked.length > 0 ? `Untracked:\n${untracked.map(f => ` - ${f}`).join("\n")}` : "")
317
+ }],
318
+ details: { success: true, ...status },
319
+ };
320
+ },
321
+ });
322
+ pi.registerTool({
323
+ name: "git_diff",
324
+ label: "git_diff",
325
+ description: "Get git diff for staged or unstaged changes. Use to understand what changed before generating commit messages.",
326
+ // @ts-ignore TSchema mismatch
327
+ parameters: {
328
+ type: "object",
329
+ properties: {
330
+ staged: {
331
+ type: "boolean",
332
+ description: "Get diff for staged changes (default: true)",
333
+ default: true,
334
+ },
335
+ },
336
+ },
337
+ async execute(_toolCallId, params, _signal, _onUpdate, _ctx) {
338
+ const { staged = true } = params;
339
+ const diff = staged ? getStagedDiff() : getUnstagedDiff();
340
+ const lines = diff.split("\n").length;
341
+ const truncated = diff.length > 8000 ? diff.slice(0, 8000) + "\n\n... (truncated)" : diff;
342
+ return {
343
+ content: [{
344
+ type: "text",
345
+ text: diff ? `Diff (${lines} lines):\n\n\`\`\`diff\n${truncated}\n\`\`\`` : "No changes"
346
+ }],
347
+ details: { success: true, lineCount: lines, charCount: diff.length },
348
+ };
349
+ },
350
+ });
351
+ pi.registerTool({
352
+ name: "generate_commit_message",
353
+ label: "generate_commit_message",
354
+ description: "Generate a conventional commit message based on staged changes. Analyzes git status and diff to suggest type, scope, and description.",
355
+ // @ts-ignore TSchema mismatch
356
+ parameters: {
357
+ type: "object",
358
+ properties: {
359
+ custom_scope: {
360
+ type: "string",
361
+ description: "Optional custom scope to override auto-detection",
362
+ },
363
+ },
364
+ },
365
+ async execute(_toolCallId, params, _signal, _onUpdate, _ctx) {
366
+ const { custom_scope } = params;
367
+ const status = getGitStatus();
368
+ const { staged } = status;
369
+ if (staged.length === 0) {
370
+ return {
371
+ content: [{ type: "text", text: "No staged changes. Run 'git add' first." }],
372
+ details: { success: false, reason: "no_staged_changes" },
373
+ };
374
+ }
375
+ const diff = getStagedDiff();
376
+ const suggestedType = suggestCommitType(staged, diff);
377
+ // Determine scope
378
+ let scope = custom_scope || "";
379
+ if (!scope) {
380
+ const dirs = staged.map(f => f.split("/")[0]).filter(Boolean);
381
+ const uniqueDirs = [...new Set(dirs)];
382
+ if (uniqueDirs.length === 1) {
383
+ scope = uniqueDirs[0];
384
+ }
385
+ }
386
+ // Generate description
387
+ const fileNames = staged
388
+ .map(f => f.split("/").pop()?.replace(/\.[^.]+$/, ""))
389
+ .filter(Boolean);
390
+ let description = "";
391
+ if (staged.length === 1) {
392
+ const file = staged[0].split("/").pop() || staged[0];
393
+ const action = suggestedType === "fix" ? "fix" : suggestedType === "feat" ? "add" : "update";
394
+ description = `${action} ${file}`;
395
+ }
396
+ else {
397
+ const action = suggestedType === "fix" ? "fix" : suggestedType === "feat" ? "add" : "update";
398
+ description = `${action} ${staged.length} files`;
399
+ }
400
+ const commitMsg = scope
401
+ ? `${suggestedType}(${scope}): ${description}`
402
+ : `${suggestedType}: ${description}`;
403
+ const typeInfo = COMMIT_TYPES.find(t => t.type === suggestedType);
404
+ return {
405
+ content: [{
406
+ type: "text",
407
+ text: `Suggested commit message:\n\n` +
408
+ `\`\`\`\n${commitMsg}\n\`\`\`\n\n` +
409
+ `Type: ${suggestedType} - ${typeInfo?.desc}\n` +
410
+ `Scope: ${scope || "(none)"}\n` +
411
+ `Files: ${staged.join(", ")}`
412
+ }],
413
+ details: {
414
+ success: true,
415
+ message: commitMsg,
416
+ type: suggestedType,
417
+ scope,
418
+ description,
419
+ files: staged,
420
+ },
421
+ };
422
+ },
423
+ });
424
+ pi.registerTool({
425
+ name: "commit_changes",
426
+ label: "commit_changes",
427
+ description: "Commit staged changes with a conventional commit message. SAFETY: Never commits secrets, never uses --no-verify or force flags.",
428
+ // @ts-ignore TSchema mismatch
429
+ parameters: {
430
+ type: "object",
431
+ properties: {
432
+ message: {
433
+ type: "string",
434
+ description: "Commit message (format: type(scope): description)",
435
+ },
436
+ body: {
437
+ type: "string",
438
+ description: "Optional commit body (additional paragraphs)",
439
+ },
440
+ footer: {
441
+ type: "string",
442
+ description: "Optional footer (e.g., BREAKING CHANGE: ..., Fixes #123)",
443
+ },
444
+ },
445
+ required: ["message"],
446
+ },
447
+ async execute(_toolCallId, params, _signal, _onUpdate, ctx) {
448
+ const { message, body, footer } = params;
449
+ const status = getGitStatus();
450
+ if (status.staged.length === 0) {
451
+ return {
452
+ content: [{ type: "text", text: "No staged changes to commit." }],
453
+ details: { success: false, reason: "no_staged_changes" },
454
+ };
455
+ }
456
+ // SAFETY CHECK: Never commit secrets
457
+ const secrets = checkForSecrets(status.staged);
458
+ if (secrets.length > 0) {
459
+ const warning = `⚠️ POTENTIAL SECRETS DETECTED:\n${secrets.map(s => ` - ${s}`).join("\n")}\n\n` +
460
+ `These files may contain sensitive data. Use .gitignore to exclude them.`;
461
+ return {
462
+ content: [{ type: "text", text: warning }],
463
+ details: { success: false, reason: "secrets_detected", files: secrets },
464
+ };
465
+ }
466
+ // Validate message format
467
+ const match = message.match(/^(\w+)(?:\(([^)]+)\))?!?: (.+)$/);
468
+ if (!match) {
469
+ return {
470
+ content: [{
471
+ type: "text",
472
+ text: "Invalid commit message format. Use: type(scope): description\n\n" +
473
+ "Examples:\n" +
474
+ " feat(auth): add login\n" +
475
+ " fix: correct typo\n" +
476
+ " docs: update README"
477
+ }],
478
+ details: { success: false, reason: "invalid_format" },
479
+ };
480
+ }
481
+ const [, type, , description] = match;
482
+ if (!COMMIT_TYPES.some(t => t.type === type)) {
483
+ return {
484
+ content: [{
485
+ type: "text",
486
+ text: `Invalid commit type: "${type}". Use one of:\n` +
487
+ COMMIT_TYPES.map(t => ` ${t.type} - ${t.desc}`).join("\n")
488
+ }],
489
+ details: { success: false, reason: "invalid_type", validTypes: COMMIT_TYPES.map(t => t.type) },
490
+ };
491
+ }
492
+ try {
493
+ // Build full message
494
+ let fullMessage = message;
495
+ if (body) {
496
+ fullMessage += "\n\n" + body;
497
+ }
498
+ if (footer) {
499
+ fullMessage += "\n\n" + footer;
500
+ }
501
+ // SAFETY: Never use --no-verify, always let hooks run
502
+ const command = `git commit -m "${fullMessage.replace(/"/g, '\"')}"`;
503
+ const result = execSync(command, { encoding: "utf-8" });
504
+ if (ctx.ui?.notify) {
505
+ ctx.ui.notify(`✅ Committed: ${message}`, "info");
506
+ }
507
+ return {
508
+ content: [{ type: "text", text: `Committed successfully:\n ${message}\n\n${result}` }],
509
+ details: { success: true, message, command },
510
+ };
511
+ }
512
+ catch (error) {
513
+ const errorMsg = error instanceof Error ? error.message : String(error);
514
+ // If hooks failed, advise creating new commit rather than amending
515
+ const advice = errorMsg.includes("hook")
516
+ ? "\n\n💡 Pre-commit hooks failed. Fix the issues and create a new commit (don't amend)."
517
+ : "";
518
+ return {
519
+ content: [{ type: "text", text: `Commit failed: ${errorMsg}${advice}` }],
520
+ details: { success: false, error: errorMsg, hooksFailed: errorMsg.includes("hook") },
521
+ };
522
+ }
523
+ },
524
+ });
525
+ console.log("[GitCommit] Extension loaded - /commit, /commit-suggest, /commit-types");
526
+ }
527
+ //# sourceMappingURL=git-commit-extension.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"git-commit-extension.js","sourceRoot":"","sources":["../../../../src/extensions/core/git-commit-extension.ts"],"names":[],"mappings":"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"}
@@ -94,6 +94,7 @@ Before writing code, explain:
94
94
  "get_session_name",
95
95
  "generate_handoff_prompt",
96
96
  "send_discord_message",
97
+ "heartbeat_check",
97
98
  ],
98
99
  color: "blue",
99
100
  },
@@ -145,6 +146,7 @@ Be concise and focused on delivering working code.`,
145
146
  "agent_spawn",
146
147
  "agent_delegate",
147
148
  "agent_list",
149
+ "heartbeat_check",
148
150
  ],
149
151
  color: "green",
150
152
  },
@@ -1 +1 @@
1
- {"version":3,"file":"mode-manager-extension.js","sourceRoot":"","sources":["../../../../src/extensions/core/mode-manager-extension.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,IAAI,CAAC;AAE7B,wEAAwE;AACxE,MAAM,kBAAkB,GAAG;IACzB,WAAW,EAAE,KAAK;IAClB,aAAa,EAAE,OAAiB;CACjC,CAAC;AAEF,6CAA6C;AAC7C,MAAM,sBAAsB,GAAG;IAC7B,kBAAkB;IAClB,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;IACrC,SAAS;IACT,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI;IAC1B,YAAY;IACZ,IAAI,EAAE,KAAK,EAAE,MAAM;IACnB,gBAAgB;IAChB,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU;IAC7D,eAAe;IACf,UAAU,EAAE,cAAc,EAAE,WAAW;IACvC,cAAc;IACd,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ;IACnC,eAAe;IACf,IAAI,EAAE,KAAK,EAAE,MAAM;IACnB,eAAe;IACf,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI;CACxC,CAAC;AAEF,mDAAmD;AACnD,MAAM,qBAAqB,GAAG;IAC5B,oBAAoB;IACpB,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO;IAC3C,YAAY;IACZ,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,YAAY;IAC1E,kBAAkB;IAClB,aAAa,EAAE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa;IACjE,mBAAmB;IACnB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU;IAChD,UAAU;IACV,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;CACrC,CAAC;AAoBF,gBAAgB;AAChB,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,mDAAmD;QAChE,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;;;;;;;;;;;;;;;;;;;;;;;mBAuBC;QACf,YAAY,EAAE;YACZ,MAAM;YACN,MAAM;YACN,MAAM;YACN,IAAI;YACJ,MAAM;YACN,YAAY;YACZ,WAAW;YACX,QAAQ;YACR,aAAa;YACb,YAAY;YACZ,gBAAgB;YAChB,UAAU;YACV,eAAe;YACf,qBAAqB;YACrB,kBAAkB;YAClB,kBAAkB;YAClB,yBAAyB;YACzB,sBAAsB;SACvB;QACD,KAAK,EAAE,MAAM;KACd;IACD,KAAK,EAAE;QACL,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,OAAO;QACb,WAAW,EAAE,wCAAwC;QACrD,IAAI,EAAE,IAAI;QACV,YAAY,EAAE;;;;;;;;;;;;;;;;;;;mDAmBiC;QAC/C,YAAY,EAAE;YACZ,MAAM;YACN,MAAM;YACN,OAAO;YACP,MAAM;YACN,MAAM;YACN,IAAI;YACJ,MAAM;YACN,YAAY;YACZ,WAAW;YACX,QAAQ;YACR,eAAe;YACf,UAAU;YACV,eAAe;YACf,qBAAqB;YACrB,kBAAkB;YAClB,kBAAkB;YAClB,yBAAyB;YACzB,sBAAsB;YACtB,gBAAgB;YAChB,aAAa;YACb,gBAAgB;YAChB,YAAY;SACb;QACD,KAAK,EAAE,OAAO;KACf;CACF,CAAC;AAEF,SAAS,iBAAiB;IACxB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,EAAE,CAAC;IAC9C,OAAO,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,SAAS,cAAc;IACrB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3B,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,SAAS,cAAc,CAAC,MAAkB;IACxC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,EAAE,CAAC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC;QACD,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;IACtD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,MAAkB;IACrC,MAAM,KAAK,GAAG,EAAE,GAAG,aAAa,EAAE,CAAC;IACnC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;QAC5C,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,oBAAoB,CAAC,EAAgB;IAC3D,wDAAwD;IACxD,IAAI,kBAAkB,CAAC,WAAW,EAAE,CAAC;QACnC,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAC;QAC3E,OAAO;IACT,CAAC;IACD,kBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;IAEtC,IAAI,MAAM,GAAe,cAAc,EAAE,CAAC;IAE1C,+CAA+C;IAC/C,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;IAClC,IAAI,WAAW,GAAS,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,aAAa,CAAC,KAAK,CAAC;IACzE,kBAAkB,CAAC,aAAa,GAAG,WAAW,CAAC,EAAE,CAAC;IAElD;;OAEG;IACH,SAAS,OAAO,CAAC,MAAgB;QAC/B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,KAAK,CAAC;QACf,CAAC;QAED,WAAW,GAAG,IAAI,CAAC;QACnB,kBAAkB,CAAC,aAAa,GAAG,MAAM,CAAC;QAC1C,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC;QAC5B,cAAc,CAAC,MAAM,CAAC,CAAC;QAEvB,OAAO,CAAC,GAAG,CAAC,mCAAmC,MAAM,EAAE,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,gBAAgB,CAAC,GAAQ;QAChC,MAAM,UAAU,GAAG,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC;QAE7D,oCAAoC;QACpC,IAAI,GAAG,CAAC,EAAE,EAAE,SAAS,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;YACvC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED,gCAAgC;IAChC,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QACzB,WAAW,EAAE,+CAA+C;QAC5D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;gBACpB,oEAAoE;gBACpE,gEAAgE;gBAChE,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAChE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE;QAC1B,WAAW,EAAE,yCAAyC;QACtD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrB,oEAAoE;gBACpE,gEAAgE;gBAChE,GAAG,CAAC,cAAc,EAAE,eAAe,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBAChE,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QACzB,WAAW,EAAE,mCAAmC;QAChD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;YAC3B,yDAAyD;YACzD,MAAM,UAAU,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,MAAM,SAAS,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACnE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC3B,oBAAoB;gBACpB,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,iBAAiB,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,KAAK,WAAW,CAAC,EAAE,GAAG,EAC3E,MAAM,CACP,CAAC;gBACF,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAC/C,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,mBAAmB,WAAW,CAAC,YAAY,EAAE,EAAE,MAAM,CAAC,CAAC;YACvE,CAAC;iBAAM,CAAC;gBACN,2BAA2B;gBAC3B,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC5B,IAAI,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;oBACpB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;gBACpF,CAAC;qBAAM,CAAC;oBACN,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC9D,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,iBAAiB,MAAM,gBAAgB,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC7E,CAAC;YACH,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,EAAE,CAAC,eAAe,CAAC,OAAO,EAAE;QAC1B,WAAW,EAAE,0BAA0B;QACvC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YAClC,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC;iBAClC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;iBAC3C,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,QAAQ,EAAE,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;KACF,CAAC,CAAC;IAEH,2BAA2B;IAC3B,EAAE,CAAC,eAAe,CAAC,UAAU,EAAE;QAC7B,WAAW,EAAE,wBAAwB;QACrC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,0CAA0C;YAC1C,mCAAmC;YACnC,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,6BAA6B;gBAC3B,oEAAoE,EACtE,MAAM,CACP,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,8DAA8D;IAC9D,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAC/B,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,oDAAoD;IACpD,IAAI,kBAAkB,GAAwE,IAAI,CAAC;IAEnG,+GAA+G;IAC/G,2DAA2D;IAC3D,IAAI,OAAO,EAAE,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;QAC9C,EAAE,CAAC,gBAAgB,CAAC,cAAc,EAAE;YAClC,WAAW,EAAE,iCAAiC;YAC9C,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACrB,mDAAmD;gBACnD,IAAI,kBAAkB,EAAE,CAAC;oBACvB,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC;oBAC9D,OAAO;gBACT,CAAC;gBACD,kBAAkB,GAAG,IAAI,CAAC;gBAE1B,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,wDAAwD,aAAa,EAAE,CAAC,CAAC;oBAErF,MAAM,OAAO,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;oBAE5D,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBACrB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;wBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,uCAAuC;oBACvC,UAAU,CAAC,GAAG,EAAE;wBACd,kBAAkB,GAAG,KAAK,CAAC;oBAC7B,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,wCAAwC;QACxC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE;YACxB,WAAW,EAAE,sCAAsC;YACnD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBACrB,IAAI,UAAU,EAAE,CAAC;oBACf,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;oBACpD,OAAO;gBACT,CAAC;gBACD,UAAU,GAAG,IAAI,CAAC;gBAElB,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,kBAAkB,CAAC,aAAa,CAAC;oBACvD,OAAO,CAAC,GAAG,CAAC,4CAA4C,aAAa,EAAE,CAAC,CAAC;oBAEzE,MAAM,OAAO,GAAG,aAAa,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;oBAE5D,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBACrB,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;wBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC5B,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,eAAe,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,OAAO,EAAE,MAAM,CAAC,CAAC;oBACtE,CAAC;gBACH,CAAC;wBAAS,CAAC;oBACT,UAAU,CAAC,GAAG,EAAE;wBACd,UAAU,GAAG,KAAK,CAAC;oBACrB,CAAC,EAAE,GAAG,CAAC,CAAC;gBACV,CAAC;YACH,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,kEAAkE;IAClE,oEAAoE;IACpE,kEAAkE;IAElE,kDAAkD;IAClD,EAAE,CAAC,YAAY,CAAC;QACd,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,qBAAqB;QAC5B,WAAW,EAAE,mKAAmK;QAChL,8BAA8B;QAC9B,UAAU,EAAE;YACV,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,WAAW,EAAE;oBACX,IAAI,EAAE,QAAQ;oBACd,IAAI,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;oBACvB,WAAW,EAAE,kCAAkC;iBAChD;gBACD,MAAM,EAAE;oBACN,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,sEAAsE;iBACpF;aACF;YACD,QAAQ,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;SACpC;QACD,KAAK,CAAC,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG;YACxD,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,MAAiD,CAAC;YAElF,OAAO,CAAC,GAAG,CAAC,8CAA8C,WAAW,MAAM,MAAM,EAAE,CAAC,CAAC;YAErF,gCAAgC;YAChC,IAAI,WAAW,CAAC,EAAE,KAAK,WAAW,EAAE,CAAC;gBACnC,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,WAAW,QAAQ,EAAE,CAAC;oBACpE,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;iBAChD,CAAC;YACJ,CAAC;YAED,4BAA4B;YAC5B,kBAAkB,GAAG;gBACnB,aAAa,EAAE,WAAW;gBAC1B,MAAM;gBACN,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,gCAAgC;YAChC,IAAI,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC;gBACnB,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,uDAAuD,WAAW,CAAC,WAAW,EAAE,kBAAkB,MAAM,oDAAoD,EAC5J,MAAM,CACP,CAAC;YACJ,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,uBAAuB,WAAW,mBAAmB,MAAM,kCAAkC;qBACpG,CAAC;gBACF,OAAO,EAAE;oBACP,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,WAAW;oBACtB,MAAM;oBACN,gBAAgB,EAAE,IAAI;iBACvB;aACF,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,oDAAoD;IACpD,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE;QAC5B,WAAW,EAAE,sDAAsD;QACnE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,4CAA4C,EAAE,SAAS,CAAC,CAAC;gBACvE,OAAO;YACT,CAAC;YAED,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC;YAChE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAExD,OAAO,CAAC,GAAG,CAAC,8CAA8C,aAAa,eAAe,GAAG,QAAQ,CAAC,CAAC;YAEnG,IAAI,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC3B,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBAClC,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,CAAC,CAAC;gBAClC,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,2BAA2B,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,kBAAkB,MAAM,EAAE,EAC3E,MAAM,CACP,CAAC;gBACF,kBAAkB,GAAG,IAAI,CAAC;YAC5B,CAAC;QACH,CAAC;KACF,CAAC,CAAC;IAEH,iDAAiD;IACjD,EAAE,CAAC,eAAe,CAAC,MAAM,EAAE;QACzB,WAAW,EAAE,mDAAmD;QAChE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,yCAAyC,EAAE,SAAS,CAAC,CAAC;gBACpE,OAAO;YACT,CAAC;YAED,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,kBAAkB,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,4CAA4C,aAAa,EAAE,CAAC,CAAC;YAEzE,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,2BAA2B,aAAa,mBAAmB,MAAM,qBAAqB,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,EAC5H,MAAM,CACP,CAAC;YAEF,kBAAkB,GAAG,IAAI,CAAC;QAC5B,CAAC;KACF,CAAC,CAAC;IAEH,gDAAgD;IAChD,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE;QAC5B,WAAW,EAAE,gDAAgD;QAC7D,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC5B,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBACxB,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,mDAAmD,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,CAAC;gBACjH,OAAO;YACT,CAAC;YAED,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC;YAChE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;YAExD,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,kCAAkC;gBAClC,WAAW,aAAa,CAAC,WAAW,EAAE,IAAI;gBAC1C,aAAa,MAAM,IAAI;gBACvB,UAAU,GAAG,WAAW;gBACxB,4BAA4B,EAC5B,MAAM,CACP,CAAC;QACJ,CAAC;KACF,CAAC,CAAC;IAEH,mCAAmC;IACnC,OAAO,CAAC,GAAG,CAAC,8CAA8C,WAAW,CAAC,EAAE,0BAA0B,CAAC,CAAC;IAEpG,uCAAuC;IACvC,EAAE,CAAC,EAAE,CAAC,eAAe,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE;QAC3C,qDAAqD;QACrD,IAAI,GAAG,CAAC,EAAE,EAAE,SAAS,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,CAAC;gBACH,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;YACtE,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,GAAG,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oEAAoE;IACpE,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QAC3C,kDAAkD;QAClD,OAAO;YACL,YAAY,EAAE,WAAW,CAAC,YAAY,GAAG,oBAAoB,GAAG,WAAW,CAAC,IAAI,GAAG,GAAG,GAAG,WAAW,CAAC,IAAI;SAC1G,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;QACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtC,MAAM,gBAAgB,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE7D,OAAO,CAAC,GAAG,CAAC,6BAA6B,QAAQ,aAAa,WAAW,CAAC,EAAE,eAAe,gBAAgB,EAAE,CAAC,CAAC;QAE/G,+DAA+D;QAC/D,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,CAAC,IAAI,CAC7C,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAC9D,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,SAAS,QAAQ,sBAAsB,WAAW,CAAC,IAAI,mBAAmB,gBAAgB,EAAE,CAAC;YACzG,OAAO,CAAC,GAAG,CAAC,0BAA0B,GAAG,EAAE,CAAC,CAAC;YAC7C,GAAG,CAAC,EAAE,CAAC,MAAM,CACX,GAAG,GAAG,qCAAqC,EAC3C,OAAO,CACR,CAAC;YACF,sBAAsB;YACtB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,2BAA2B,QAAQ,GAAG,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,oCAAoC;IACpC,0CAA0C;IAC1C,EAAE,CAAC,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;QACvC,IAAI,WAAW,CAAC,EAAE,KAAK,MAAM,EAAE,CAAC;YAC9B,OAAO,CAAC,+BAA+B;QACzC,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAE1D,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,aAAa,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;QAElF,8BAA8B;QAC9B,MAAM,SAAS,GAAG,qBAAqB,CAAC,IAAI,CAC1C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,WAAW,KAAK,OAAO,CAAC,WAAW,EAAE,CAC5G,CAAC;QAEF,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,YAAY,OAAO,gCAAgC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAClD,OAAO;gBACL,MAAM,EAAE;oBACN,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,GAAG,GAAG,sBAAsB,GAAG,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,qCAAqC;oBAChH,QAAQ,EAAE,CAAC;iBACZ;aACF,CAAC;QACJ,CAAC;QAED,8BAA8B;QAC9B,MAAM,SAAS,GAAG,sBAAsB,CAAC,IAAI,CAC3C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,IAAI,WAAW,KAAK,OAAO,CAAC,WAAW,EAAE,CAC5G,CAAC;QAEF,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,GAAG,GAAG,YAAY,OAAO,iCAAiC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,+BAA+B,GAAG,EAAE,CAAC,CAAC;YAClD,iDAAiD;YACjD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,gCAAgC,OAAO,GAAG,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,GAAG,CAAC,gDAAgD,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;AAChF,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB;IACrC,kBAAkB,CAAC,WAAW,GAAG,KAAK,CAAC;IACvC,kBAAkB,CAAC,aAAa,GAAG,OAAO,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"mode-manager-extension.js","sourceRoot":"","sources":["../../../../src/extensions/core/mode-manager-extension.ts"],"names":[],"mappings":"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"}