@cleanslate/sdk 0.1.0 → 1.0.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 (156) hide show
  1. package/README.md +11 -3
  2. package/VENDOR.md +15 -4
  3. package/dist/agent/cleanSlateAgentSession.d.ts +5 -0
  4. package/dist/agent/cleanSlateAgentSession.d.ts.map +1 -1
  5. package/dist/agent/cleanSlateAgentSession.js +5 -0
  6. package/dist/agent/cleanSlateAgentSession.js.map +1 -1
  7. package/dist/agent/cleanSlateExecutionQuery.d.ts.map +1 -1
  8. package/dist/agent/cleanSlateExecutionQuery.js +2 -1
  9. package/dist/agent/cleanSlateExecutionQuery.js.map +1 -1
  10. package/dist/agent/cleanSlateProviderMessageOrder.d.ts +24 -0
  11. package/dist/agent/cleanSlateProviderMessageOrder.d.ts.map +1 -0
  12. package/dist/agent/cleanSlateProviderMessageOrder.js +37 -0
  13. package/dist/agent/cleanSlateProviderMessageOrder.js.map +1 -0
  14. package/dist/agent/cleanSlateStreamReveal.d.ts +46 -0
  15. package/dist/agent/cleanSlateStreamReveal.d.ts.map +1 -0
  16. package/dist/agent/cleanSlateStreamReveal.js +94 -0
  17. package/dist/agent/cleanSlateStreamReveal.js.map +1 -0
  18. package/dist/composer/instructions/baseInstructions.d.ts +1 -1
  19. package/dist/composer/instructions/baseInstructions.d.ts.map +1 -1
  20. package/dist/composer/instructions/baseInstructions.js +1 -1
  21. package/dist/composer/kernel/coreKernel.d.ts +1 -1
  22. package/dist/composer/kernel/coreKernel.d.ts.map +1 -1
  23. package/dist/composer/kernel/coreKernel.js +1 -1
  24. package/dist/core/buffer.d.ts +19 -15
  25. package/dist/core/buffer.d.ts.map +1 -1
  26. package/dist/core/buffer.js +129 -12
  27. package/dist/core/buffer.js.map +1 -1
  28. package/dist/core/path.d.ts +40 -0
  29. package/dist/core/path.d.ts.map +1 -0
  30. package/dist/core/path.js +1461 -0
  31. package/dist/core/path.js.map +1 -0
  32. package/dist/core/platform.d.ts.map +1 -1
  33. package/dist/core/platform.js +20 -9
  34. package/dist/core/platform.js.map +1 -1
  35. package/dist/core/process.d.ts +13 -0
  36. package/dist/core/process.d.ts.map +1 -0
  37. package/dist/core/process.js +25 -0
  38. package/dist/core/process.js.map +1 -0
  39. package/dist/core/resources.js +3 -3
  40. package/dist/core/uri.js +1 -1
  41. package/dist/host/browserAutomation.d.ts +3 -3
  42. package/dist/host/browserAutomation.d.ts.map +1 -1
  43. package/dist/host/events.d.ts +21 -0
  44. package/dist/host/events.d.ts.map +1 -0
  45. package/dist/host/events.js +6 -0
  46. package/dist/host/events.js.map +1 -0
  47. package/dist/host/files.d.ts +11 -2
  48. package/dist/host/files.d.ts.map +1 -1
  49. package/dist/host/services.d.ts +4 -4
  50. package/dist/host/services.d.ts.map +1 -1
  51. package/dist/host/textModel.d.ts +9 -3
  52. package/dist/host/textModel.d.ts.map +1 -1
  53. package/dist/host/workspace.d.ts +18 -5
  54. package/dist/host/workspace.d.ts.map +1 -1
  55. package/dist/host/workspace.js.map +1 -1
  56. package/dist/index.d.ts +7 -5
  57. package/dist/index.d.ts.map +1 -1
  58. package/dist/index.js +1 -1
  59. package/dist/index.js.map +1 -1
  60. package/dist/node/cleanSlateHeadlessRunner.d.ts +8 -0
  61. package/dist/node/cleanSlateHeadlessRunner.d.ts.map +1 -1
  62. package/dist/node/cleanSlateHeadlessRunner.js +1 -1
  63. package/dist/node/cleanSlateHeadlessRunner.js.map +1 -1
  64. package/dist/node/cleanSlateMemoryVectorStore.d.ts +19 -0
  65. package/dist/node/cleanSlateMemoryVectorStore.d.ts.map +1 -0
  66. package/dist/node/cleanSlateMemoryVectorStore.js +73 -0
  67. package/dist/node/cleanSlateMemoryVectorStore.js.map +1 -0
  68. package/dist/node/cleanSlateNodeAgentRuntime.d.ts +8 -1
  69. package/dist/node/cleanSlateNodeAgentRuntime.d.ts.map +1 -1
  70. package/dist/node/cleanSlateNodeAgentRuntime.js +41 -2
  71. package/dist/node/cleanSlateNodeAgentRuntime.js.map +1 -1
  72. package/dist/node/cleanSlateNodeHttpTransport.d.ts +33 -0
  73. package/dist/node/cleanSlateNodeHttpTransport.d.ts.map +1 -0
  74. package/dist/node/cleanSlateNodeHttpTransport.js +181 -0
  75. package/dist/node/cleanSlateNodeHttpTransport.js.map +1 -0
  76. package/dist/node/cleanSlateNodeIndexService.d.ts +88 -10
  77. package/dist/node/cleanSlateNodeIndexService.d.ts.map +1 -1
  78. package/dist/node/cleanSlateNodeIndexService.js +447 -93
  79. package/dist/node/cleanSlateNodeIndexService.js.map +1 -1
  80. package/dist/node/cleanSlateNodeMainService.d.ts +18 -10
  81. package/dist/node/cleanSlateNodeMainService.d.ts.map +1 -1
  82. package/dist/node/cleanSlateNodeMainService.js +169 -121
  83. package/dist/node/cleanSlateNodeMainService.js.map +1 -1
  84. package/dist/node/cleanSlateNodeSearchService.d.ts +7 -1
  85. package/dist/node/cleanSlateNodeSearchService.d.ts.map +1 -1
  86. package/dist/node/cleanSlateNodeSearchService.js +11 -11
  87. package/dist/node/cleanSlateNodeSearchService.js.map +1 -1
  88. package/dist/node/cleanSlateNodeToolContext.d.ts +2 -0
  89. package/dist/node/cleanSlateNodeToolContext.d.ts.map +1 -1
  90. package/dist/node/cleanSlateNodeToolContext.js +20 -1
  91. package/dist/node/cleanSlateNodeToolContext.js.map +1 -1
  92. package/dist/node/cleanSlateNodeWebRetrieval.d.ts +3 -0
  93. package/dist/node/cleanSlateNodeWebRetrieval.d.ts.map +1 -1
  94. package/dist/node/cleanSlateNodeWebRetrieval.js +6 -1
  95. package/dist/node/cleanSlateNodeWebRetrieval.js.map +1 -1
  96. package/dist/node/cleanSlateOpenAIMessageAdapter.d.ts.map +1 -1
  97. package/dist/node/cleanSlateOpenAIMessageAdapter.js +4 -0
  98. package/dist/node/cleanSlateOpenAIMessageAdapter.js.map +1 -1
  99. package/dist/node/index.d.ts +4 -0
  100. package/dist/node/index.d.ts.map +1 -1
  101. package/dist/node/index.js +2 -0
  102. package/dist/node/index.js.map +1 -1
  103. package/dist/protocol/cleanSlateAI.d.ts +13 -13
  104. package/dist/protocol/cleanSlateAI.d.ts.map +1 -1
  105. package/dist/protocol/cleanSlateCodeParser.d.ts +13 -0
  106. package/dist/protocol/cleanSlateCodeParser.d.ts.map +1 -0
  107. package/dist/protocol/cleanSlateCodeParser.js +102 -0
  108. package/dist/protocol/cleanSlateCodeParser.js.map +1 -0
  109. package/dist/protocol/cleanSlateModelsDevCatalog.d.ts +27 -0
  110. package/dist/protocol/cleanSlateModelsDevCatalog.d.ts.map +1 -0
  111. package/dist/protocol/cleanSlateModelsDevCatalog.js +87 -0
  112. package/dist/protocol/cleanSlateModelsDevCatalog.js.map +1 -0
  113. package/dist/protocol/cleanSlateProviderTranscript.d.ts +25 -0
  114. package/dist/protocol/cleanSlateProviderTranscript.d.ts.map +1 -0
  115. package/dist/protocol/cleanSlateProviderTranscript.js +125 -0
  116. package/dist/protocol/cleanSlateProviderTranscript.js.map +1 -0
  117. package/dist/protocol/cleanSlateRuntimeConfig.d.ts +33 -0
  118. package/dist/protocol/cleanSlateRuntimeConfig.d.ts.map +1 -0
  119. package/dist/protocol/cleanSlateRuntimeConfig.js +63 -0
  120. package/dist/protocol/cleanSlateRuntimeConfig.js.map +1 -0
  121. package/dist/protocol/cleanSlateService.js.map +1 -1
  122. package/dist/protocol/cleanSlateThreadSession.d.ts +17 -0
  123. package/dist/protocol/cleanSlateThreadSession.d.ts.map +1 -0
  124. package/dist/protocol/cleanSlateThreadSession.js +34 -0
  125. package/dist/protocol/cleanSlateThreadSession.js.map +1 -0
  126. package/dist/services/cleanSlateCommandExecutionService.d.ts +3 -3
  127. package/dist/services/cleanSlateCommandExecutionService.d.ts.map +1 -1
  128. package/dist/services/cleanSlateFileHistory.js +3 -4
  129. package/dist/services/cleanSlateFileHistory.js.map +1 -1
  130. package/dist/tools/FindByNameTool.js +2 -2
  131. package/dist/tools/FindByNameTool.js.map +1 -1
  132. package/dist/tools/FindReferencesTool.js +2 -2
  133. package/dist/tools/FindReferencesTool.js.map +1 -1
  134. package/dist/tools/GetDefinitionsTool.js +2 -2
  135. package/dist/tools/GetDefinitionsTool.js.map +1 -1
  136. package/dist/tools/GrepSearchTool.d.ts.map +1 -1
  137. package/dist/tools/GrepSearchTool.js +16 -10
  138. package/dist/tools/GrepSearchTool.js.map +1 -1
  139. package/dist/tools/ListDirTool.js +2 -2
  140. package/dist/tools/ListDirTool.js.map +1 -1
  141. package/dist/tools/ReadFileRangeTool.js +2 -2
  142. package/dist/tools/ReadFileRangeTool.js.map +1 -1
  143. package/dist/tools/ReadFileTool.js +2 -2
  144. package/dist/tools/ReadFileTool.js.map +1 -1
  145. package/dist/tools/ReadLintsTool.js +3 -3
  146. package/dist/tools/ReadLintsTool.js.map +1 -1
  147. package/dist/tools/ReadSymbolsTool.js +2 -2
  148. package/dist/tools/ReadSymbolsTool.js.map +1 -1
  149. package/dist/tools/SubmitArtifactTool.d.ts.map +1 -1
  150. package/dist/tools/SubmitArtifactTool.js +4 -6
  151. package/dist/tools/SubmitArtifactTool.js.map +1 -1
  152. package/dist/tools/utils.d.ts +19 -1
  153. package/dist/tools/utils.d.ts.map +1 -1
  154. package/dist/tools/utils.js +64 -16
  155. package/dist/tools/utils.js.map +1 -1
  156. package/package.json +14 -2
@@ -0,0 +1,125 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) CleanSlate. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * Transcript flattening shared by the provider paths that cannot represent tool
7
+ * calls natively. Gemini and Bedrock both need CleanSlate's tool turns rendered
8
+ * back into plain text, and the exact wording is part of the wire contract with
9
+ * the model — a host that formats it differently gets different completions, so
10
+ * this lives in one place rather than in each host's main service.
11
+ */
12
+ /** Collapses a message content payload (string or part array) to plain text. */
13
+ export function messageContentToText(content) {
14
+ if (typeof content === 'string') {
15
+ return content;
16
+ }
17
+ if (Array.isArray(content)) {
18
+ return content
19
+ .filter(part => part?.type === 'text')
20
+ .map(part => part.text ?? '')
21
+ .filter(text => text.length > 0)
22
+ .join('\n');
23
+ }
24
+ return '';
25
+ }
26
+ /** JSON stringify that degrades to String() rather than throwing on cycles. */
27
+ export function safeStringifyForTranscript(value) {
28
+ try {
29
+ return JSON.stringify(value);
30
+ }
31
+ catch {
32
+ return String(value);
33
+ }
34
+ }
35
+ /** Maps message content to Gemini parts, inlining base64 data-URL images. */
36
+ export function toGeminiParts(content) {
37
+ if (typeof content === 'string') {
38
+ return content.trim().length > 0 ? [{ text: content }] : [];
39
+ }
40
+ if (!Array.isArray(content)) {
41
+ return [];
42
+ }
43
+ return content.map(part => {
44
+ if (part?.type === 'text') {
45
+ return { text: part.text ?? '' };
46
+ }
47
+ if (part?.type === 'image_url' && part.image_url?.url) {
48
+ const match = String(part.image_url.url).match(/^data:(image\/[a-zA-Z0-9.\-+]+);base64,(.*)$/);
49
+ if (match) {
50
+ return {
51
+ inlineData: {
52
+ mimeType: match[1],
53
+ data: match[2]
54
+ }
55
+ };
56
+ }
57
+ }
58
+ return null;
59
+ }).filter(Boolean);
60
+ }
61
+ export function toGeminiToolCallTranscriptText(toolCall, toolCallId) {
62
+ return [
63
+ `Tool call (${toolCallId}): ${toolCall.toolName || 'tool'}`,
64
+ `Arguments: ${safeStringifyForTranscript(toolCall.input ?? {})}`
65
+ ].join('\n');
66
+ }
67
+ export function toGeminiToolResultTranscriptText(toolMessage) {
68
+ return [
69
+ `Tool result (${toolMessage.toolCallId || 'tool_result'}): ${toolMessage.toolName || 'tool'}`,
70
+ messageContentToText(toolMessage.content)
71
+ ].filter(part => typeof part === 'string' && part.trim().length > 0).join('\n');
72
+ }
73
+ /**
74
+ * Rewrites a CleanSlate message list into Gemini `contents`, folding tool calls
75
+ * and tool results into text turns. Consecutive tool messages collapse into a
76
+ * single user turn so the model sees one result block per round trip.
77
+ */
78
+ export function toGeminiContents(messages) {
79
+ const systemParts = [];
80
+ const contents = [];
81
+ for (let index = 0; index < messages.length; index++) {
82
+ const message = messages[index];
83
+ if (message.role === 'system') {
84
+ systemParts.push(...toGeminiParts(message.content));
85
+ continue;
86
+ }
87
+ if (message.role === 'tool') {
88
+ const parts = [];
89
+ while (index < messages.length && messages[index].role === 'tool') {
90
+ const toolMessage = messages[index];
91
+ parts.push({
92
+ text: toGeminiToolResultTranscriptText(toolMessage)
93
+ });
94
+ index++;
95
+ }
96
+ index--;
97
+ contents.push({
98
+ role: 'user',
99
+ parts
100
+ });
101
+ continue;
102
+ }
103
+ const parts = toGeminiParts(message.content);
104
+ if (message.role === 'assistant' && message.toolCalls?.length) {
105
+ for (let toolIndex = 0; toolIndex < message.toolCalls.length; toolIndex++) {
106
+ const toolCall = message.toolCalls[toolIndex];
107
+ const toolCallId = toolCall.id || `call_${index}_${toolIndex}`;
108
+ parts.push({
109
+ text: toGeminiToolCallTranscriptText(toolCall, toolCallId)
110
+ });
111
+ }
112
+ }
113
+ if (parts.length) {
114
+ contents.push({
115
+ role: message.role === 'assistant' ? 'model' : 'user',
116
+ parts
117
+ });
118
+ }
119
+ }
120
+ return {
121
+ contents,
122
+ systemInstruction: systemParts.length ? { role: 'user', parts: systemParts } : undefined
123
+ };
124
+ }
125
+ //# sourceMappingURL=cleanSlateProviderTranscript.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateProviderTranscript.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateProviderTranscript.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import { ICleanSlateRuntimeConfig } from './cleanSlateAI.js';
2
+ /**
3
+ * Resolves a variable to its trimmed value, or `undefined` when unset or blank.
4
+ * Hosts layer their own sources behind this (process env, `.env` files, …); the
5
+ * lookup is the only thing they need to supply to build a runtime config.
6
+ */
7
+ export type CleanSlateEnvLookup = (name: string) => string | undefined;
8
+ export declare const CLEANSLATE_DEFAULT_AUTH_WEB_URL = "https://thewariend.com/auth";
9
+ export declare const CLEANSLATE_DEFAULT_API_BASE_URL = "https://api.thewariend.com/api";
10
+ export declare const CLEANSLATE_DEFAULT_PRO_CHECKOUT_URL = "https://api.thewariend.com/checkout/cleanslate/pro";
11
+ /** Trims a raw env value, treating blank as unset. Does not touch the value otherwise. */
12
+ export declare function normalizeEnvValue(value: string | undefined): string | undefined;
13
+ /**
14
+ * Trims a base URL and drops trailing slashes so callers can join paths with a
15
+ * plain `${base}/x` without producing `//`, which strict gateways 404 on.
16
+ */
17
+ export declare function normalizeBaseUrlValue(value: string | undefined): string | undefined;
18
+ /**
19
+ * Resolves a CleanSlate service URL from the environment, falling back to the
20
+ * shipped default. Throws rather than returning a malformed URL — a bad
21
+ * override should fail loudly at startup instead of producing requests to a
22
+ * nonsense host later.
23
+ */
24
+ export declare function resolveCleanSlateUrl(name: string, fallback: string, lookup: CleanSlateEnvLookup): string;
25
+ /**
26
+ * Builds the runtime config every host serves from `getRuntimeConfig`. The
27
+ * managed AI base is always derived from the API base so the two can never
28
+ * point at different deployments.
29
+ */
30
+ export declare function buildCleanSlateRuntimeConfig(lookup: CleanSlateEnvLookup): ICleanSlateRuntimeConfig;
31
+ /** The managed-provider base URL, derived from the same API base as the runtime config. */
32
+ export declare function resolveCleanSlateManagedBaseUrl(lookup: CleanSlateEnvLookup): string;
33
+ //# sourceMappingURL=cleanSlateRuntimeConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateRuntimeConfig.d.ts","sourceRoot":"","sources":["../../src/protocol/cleanSlateRuntimeConfig.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAE7D;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;AAEvE,eAAO,MAAM,+BAA+B,gCAAgC,CAAC;AAC7E,eAAO,MAAM,+BAA+B,mCAAmC,CAAC;AAChF,eAAO,MAAM,mCAAmC,uDAAuD,CAAC;AAExG,0FAA0F;AAC1F,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAM/E;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAOnF;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAYxG;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,mBAAmB,GAAG,wBAAwB,CAKlG;AAED,2FAA2F;AAC3F,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,mBAAmB,GAAG,MAAM,CAEnF"}
@@ -0,0 +1,63 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) CleanSlate. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ export const CLEANSLATE_DEFAULT_AUTH_WEB_URL = 'https://thewariend.com/auth';
6
+ export const CLEANSLATE_DEFAULT_API_BASE_URL = 'https://api.thewariend.com/api';
7
+ export const CLEANSLATE_DEFAULT_PRO_CHECKOUT_URL = 'https://api.thewariend.com/checkout/cleanslate/pro';
8
+ /** Trims a raw env value, treating blank as unset. Does not touch the value otherwise. */
9
+ export function normalizeEnvValue(value) {
10
+ if (typeof value !== 'string') {
11
+ return undefined;
12
+ }
13
+ const trimmed = value.trim();
14
+ return trimmed.length > 0 ? trimmed : undefined;
15
+ }
16
+ /**
17
+ * Trims a base URL and drops trailing slashes so callers can join paths with a
18
+ * plain `${base}/x` without producing `//`, which strict gateways 404 on.
19
+ */
20
+ export function normalizeBaseUrlValue(value) {
21
+ const trimmed = normalizeEnvValue(value);
22
+ if (!trimmed) {
23
+ return undefined;
24
+ }
25
+ const stripped = trimmed.replace(/\/+$/, '');
26
+ return stripped.length > 0 ? stripped : undefined;
27
+ }
28
+ /**
29
+ * Resolves a CleanSlate service URL from the environment, falling back to the
30
+ * shipped default. Throws rather than returning a malformed URL — a bad
31
+ * override should fail loudly at startup instead of producing requests to a
32
+ * nonsense host later.
33
+ */
34
+ export function resolveCleanSlateUrl(name, fallback, lookup) {
35
+ const value = normalizeBaseUrlValue(lookup(name)) ?? fallback.replace(/\/+$/, '');
36
+ let parsed;
37
+ try {
38
+ parsed = new URL(value);
39
+ }
40
+ catch {
41
+ throw new Error(`${name} must be an absolute HTTP(S) URL.`);
42
+ }
43
+ if (parsed.protocol !== 'http:' && parsed.protocol !== 'https:') {
44
+ throw new Error(`${name} must use HTTP or HTTPS.`);
45
+ }
46
+ return value;
47
+ }
48
+ /**
49
+ * Builds the runtime config every host serves from `getRuntimeConfig`. The
50
+ * managed AI base is always derived from the API base so the two can never
51
+ * point at different deployments.
52
+ */
53
+ export function buildCleanSlateRuntimeConfig(lookup) {
54
+ const authWebUrl = resolveCleanSlateUrl('CLEANSLATE_AUTH_WEB_URL', CLEANSLATE_DEFAULT_AUTH_WEB_URL, lookup);
55
+ const apiBaseUrl = resolveCleanSlateUrl('CLEANSLATE_API_BASE_URL', CLEANSLATE_DEFAULT_API_BASE_URL, lookup);
56
+ const proCheckoutUrl = resolveCleanSlateUrl('CLEANSLATE_PRO_CHECKOUT_URL', CLEANSLATE_DEFAULT_PRO_CHECKOUT_URL, lookup);
57
+ return { authWebUrl, apiBaseUrl, managedAIBaseUrl: `${apiBaseUrl}/cleanslate`, proCheckoutUrl };
58
+ }
59
+ /** The managed-provider base URL, derived from the same API base as the runtime config. */
60
+ export function resolveCleanSlateManagedBaseUrl(lookup) {
61
+ return `${resolveCleanSlateUrl('CLEANSLATE_API_BASE_URL', CLEANSLATE_DEFAULT_API_BASE_URL, lookup)}/cleanslate`;
62
+ }
63
+ //# sourceMappingURL=cleanSlateRuntimeConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateRuntimeConfig.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateRuntimeConfig.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAWhG,MAAM,CAAC,MAAM,+BAA+B,GAAG,6BAA6B,CAAC;AAC7E,MAAM,CAAC,MAAM,+BAA+B,GAAG,gCAAgC,CAAC;AAChF,MAAM,CAAC,MAAM,mCAAmC,GAAG,oDAAoD,CAAC;AAExG,0FAA0F;AAC1F,MAAM,UAAU,iBAAiB,CAAC,KAAyB;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,OAAO,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;AACjD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAyB;IAC9D,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IAClB,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAC7C,OAAO,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACnD,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAY,EAAE,QAAgB,EAAE,MAA2B;IAC/F,MAAM,KAAK,GAAG,qBAAqB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClF,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACJ,MAAM,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACR,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,mCAAmC,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,GAAG,IAAI,0BAA0B,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAA2B;IACvE,MAAM,UAAU,GAAG,oBAAoB,CAAC,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAC5G,MAAM,UAAU,GAAG,oBAAoB,CAAC,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,CAAC,CAAC;IAC5G,MAAM,cAAc,GAAG,oBAAoB,CAAC,6BAA6B,EAAE,mCAAmC,EAAE,MAAM,CAAC,CAAC;IACxH,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,GAAG,UAAU,aAAa,EAAE,cAAc,EAAE,CAAC;AACjG,CAAC;AAED,2FAA2F;AAC3F,MAAM,UAAU,+BAA+B,CAAC,MAA2B;IAC1E,OAAO,GAAG,oBAAoB,CAAC,yBAAyB,EAAE,+BAA+B,EAAE,MAAM,CAAC,aAAa,CAAC;AACjH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"cleanSlateService.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cleanSlateService.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateService.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,EAAkH,kCAAkC,EAAE,4BAA4B,EAAE,MAAM,kCAAkC,CAAC;AACpO,OAAO,EAAE,sCAAsC,EAAE,MAAM,0CAA0C,CAAC;AAElG,MAAM,kCAAkC,GAAG,qCAAqC,CAAC;AACjF,MAAM,sCAAsC,GAAG,8BAA8B,CAAC;AAkC9E,MAAM,OAAO,iBAAiB;IAK7B,YACkB,aAA8C,EAC9C,qBAA6C,EAC7C,MAAyB;QAFzB,kBAAa,GAAb,aAAa,CAAiC;QAC9C,0BAAqB,GAArB,qBAAqB,CAAwB;QAC7C,WAAM,GAAN,MAAM,CAAmB;QAL1B,sBAAiB,GAAG,IAAI,GAAG,EAAoF,CAAC;IAM7H,CAAC;IAEL,KAAK,CAAC,QAAQ,CAAC,MAAc;QAC5B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAqB;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;QACnE,MAAM,eAAe,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QACpD,MAAM,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC;QACjH,QAAQ,eAAe,EAAE,CAAC;YACzB,KAAK,YAAY;gBAChB,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YAChD,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACrC,KAAK,aAAa;gBACjB,OAAO,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3G,KAAK,MAAM;gBACV,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;YACnC,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACrC,KAAK,YAAY;gBAChB,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;YACzC,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACrC,KAAK,WAAW;gBACf,OAAO,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YACxC,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACrC,KAAK,SAAS;gBACb,OAAO,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;YACtC;gBACC,OAAO,EAAE,CAAC;QACZ,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,0BAA0B,CAAC,MAAgC;QACxE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,sBAAsB,EAAE,CAAC;QACvE,uEAAuE;QACvE,uEAAuE;QACvE,qEAAqE;QACrE,qEAAqE;QACrE,MAAM,aAAa,GAAG,CAAC,YAAY,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,uEAAuE;QACvE,qEAAqE;QACrE,6DAA6D;QAC7D,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;YACnC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;YAC3B,MAAM,mBAAmB,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAChF,IAAI,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,EAAE,EAAE,CAAC,EAAE;oBACvE,EAAE;oBACF,QAAQ,EAAE,YAAY;oBACtB,mBAAmB;oBACnB,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,iBAAiB,CAAC;iBAChE,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC5E,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAgC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;YAC1E,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,2BAA2B;SACxD,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,MAAgC;QAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;YAC1E,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,qBAAqB;SAClD,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAgC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;YAC1E,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,kCAAkC;YAC/D,YAAY,EAAE,YAAY;SAC1B,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,MAAgC;QACjE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;YAC1E,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,sCAAsC;YACnE,YAAY,EAAE,YAAY;SAC1B,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAgC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,CAAC;YACxB,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACtD,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;YAC1E,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,YAAY,EAAE,YAAY;SAC1B,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,MAAgC;QAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;QAC7C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC;YACnE,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,8BAA8B;SAC3D,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,MAAgC;QAC7D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC;YAChE,MAAM,EAAE,QAAQ,CAAC,MAAM;SACvB,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,MAAgC;QAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,OAAO,EAAE,CAAC;QACX,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,2BAA2B,CAAC;YAC3E,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,SAAS;YACpD,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,YAAY,EAAE,QAAQ,CAAC,YAAY;SACnC,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3D,CAAC;IAEO,mBAAmB,CAAC,eAAmC,EAAE,MAAgB;QAChF,IAAI,eAAe,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YAC1D,OAAO,CAAC,eAAe,EAAE,GAAG,MAAM,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,MAAM,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,KAAa;QACtC,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAClC,CAAC;IAEO,uBAAuB,CAAC,QAAgB;QAC/C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC5C,OAAO,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;mBACpD,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC;mBAC3C,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC5C,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC1C,OAAO,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC;mBACpC,UAAU,CAAC,QAAQ,CAAC,wBAAwB,CAAC;mBAC7C,UAAU,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QAC9C,CAAC;IACF,CAAC;IAEO,qCAAqC,CAAC,QAAgB,EAAE,cAAsB;QACrF,IAAI,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5C,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,MAAM,GAAG,4BAA4B,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC;QAC3E,OAAO,MAAM,KAAK,MAAM;eACpB,MAAM,KAAK,MAAM;eACjB,MAAM,KAAK,UAAU;eACrB,MAAM,KAAK,MAAM;eACjB,MAAM,KAAK,SAAS;eACpB,MAAM,KAAK,OAAO;eAClB,MAAM,KAAK,QAAQ,CAAC;IACzB,CAAC;IAEO,sBAAsB,CAAC,QAAgB;QAC9C,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;YAC7C,MAAM,MAAM,GAAG,YAAY,CAAC;YAC5B,MAAM,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,GAAG,CAAC,QAAQ,GAAG,WAAW,IAAI,CAAC;gBAC9B,CAAC,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,GAAG;gBAC9E,CAAC,CAAC,aAAa,CAAC;YACjB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;YACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACR,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;gBAClD,CAAC,CAAC,GAAG,OAAO,GAAG;gBACf,CAAC,CAAC,GAAG,OAAO,aAAa,CAAC;QAC5B,CAAC;IACF,CAAC;IAEO,8BAA8B,CAAC,cAA+C,EAAE,QAAwB;QAC/G,IAAI,cAAc,CAAC,WAAW,EAAE,YAAY,KAAK,UAAU,EAAE,CAAC;YAC7D,OAAO,cAAc,CAAC;QACvB,CAAC;QACD,MAAM,oBAAoB,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;QACtF,IAAI,oBAAoB,IAAI,OAAO,EAAE,CAAC;YACrC,OAAO,cAAc,CAAC;QACvB,CAAC;QACD,MAAM,WAAW,GAAG,EAAE,GAAG,cAAc,CAAC,WAAW,EAAE,CAAC;QACtD,OAAO,WAAW,CAAC,YAAY,CAAC;QAChC,OAAO;YACN,GAAG,cAAc;YACjB,WAAW,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS;SACtE,CAAC;IACH,CAAC;IAED,uBAAuB,CAAC,QAAqB;QAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,EAAE,CAAC;QACrD,MAAM,eAAe,GAAG,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;QACpD,IAAI,eAAe,KAAK,YAAY,EAAE,CAAC;YACtC,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC;QAC7D,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAClD,QAAQ,EAAE,eAAe;YACzB,KAAK,EAAE,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,eAAe,CAAC;YAClE,MAAM,EAAE,IAAI,CAAC,oCAAoC,CAAC,MAAM,EAAE,eAAe,CAAC;YAC1E,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,yBAAyB,EAAE,MAAM,CAAC,eAAe;SACjD,CAAC,CAAC;QACH,OAAO;YACN,QAAQ,EAAE,eAAe;YACzB,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,cAAc,EAAE,YAAY,CAAC,eAAe;gBAC3C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,aAAa,eAAe,yDAAyD,YAAY,CAAC,KAAK,IAAI,SAAS,IAAI;SAC3H,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,QAAwB,EAAE,UAAwB,EAAE;QAC9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,wBAAwB,EAAE,CAAC;QACnE,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACjH,IAAI,CAAC,oCAAoC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACpE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,MAAM,CAAC,QAAQ,UAAU,MAAM,CAAC,KAAK,IAAI,SAAS,cAAc,MAAM,CAAC,cAAc,IAAI,KAAK,aAAa,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,QAAQ,CAAC,MAAM,UAAU,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9P,QAAQ,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzB,KAAK,YAAY;gBAChB,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YAC9D,KAAK,aAAa;gBACjB,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACxD,KAAK,MAAM;gBACV,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACjD,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,KAAK,YAAY;gBAChB,OAAO,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACvD,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,KAAK,WAAW;gBACf,OAAO,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACtD,KAAK,QAAQ;gBACZ,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACnD,KAAK,SAAS;gBACb,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;YACpD,KAAK,QAAQ,CAAC;YACd;gBACC,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC;IACF,CAAC;IAEO,oCAAoC,CAAC,QAAoB,EAAE,OAAqB;QACvF,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACzD,OAAO;QACR,CAAC;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,YAAY,CAAC,eAAe,EAAE,CAAC;YAClC,OAAO;QACR,CAAC;QACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,QAAQ,6CAA6C,YAAY,CAAC,cAAc,IAAI,mCAAmC,EAAE,CAAC,CAAC;IAC7K,CAAC;IAEO,iCAAiC,CAAC,MAAgC,EAAE,KAAyB,EAAE,MAAgD,EAAE,OAAsB,EAAE,kBAA+B;QAC/M,MAAM,QAAQ,GAAG,kBAAkB,IAAI,CAAC,MAAM,KAAK,KAAK;YACvD,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,MAAM,KAAK,QAAQ;gBACpB,CAAC,CAAC,QAAQ;gBACV,CAAC,CAAC,MAAM,KAAK,YAAY;oBACxB,CAAC,CAAC,YAAY;oBACd,CAAC,CAAC,MAAM,KAAK,QAAQ;wBACpB,CAAC,CAAC,QAAQ;wBACV,CAAC,CAAC,MAAM,KAAK,QAAQ;4BACpB,CAAC,CAAC,QAAQ;4BACV,CAAC,CAAC,aAAa,CAAC,CAAC;QACtB,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAClD,QAAQ;YACR,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,yBAAyB,EAAE,MAAM,CAAC,eAAe;YACjD,SAAS,EAAE,OAAO,EAAE,SAAS;SAC7B,CAAC,CAAC;QACH,OAAO;YACN,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;YAC9C,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,EAAE,eAAe,CAAC;YACpG,sBAAsB,EAAE,YAAY,CAAC,sBAAsB;YAC3D,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,yBAAyB,EAAE,YAAY,CAAC,yBAAyB;YACjE,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;YAC/C,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;YACjD,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,wBAAwB,EAAE,YAAY,CAAC,wBAAwB;SAC/D,CAAC;IACH,CAAC;IAEO,6BAA6B,CAAC,MAAgC,EAAE,QAAoB;QAC3F,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,YAAY;gBAChB,OAAO,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,IAAI,SAAS,CAAC;YACzD,KAAK,QAAQ;gBACZ,OAAO,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACxD,KAAK,aAAa;gBACjB,OAAO,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,cAAc,IAAI,MAAM,CAAC,KAAK,CAAC;YACtE,KAAK,MAAM;gBACV,OAAO,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACtD,KAAK,QAAQ;gBACZ,OAAO,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACxD,KAAK,YAAY;gBAChB,OAAO,MAAM,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YAC5D,KAAK,QAAQ;gBACZ,OAAO,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACxD,KAAK,WAAW;gBACf,OAAO,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YAC3D,KAAK,QAAQ;gBACZ,OAAO,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;YACxD,KAAK,SAAS;gBACb,OAAO,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,IAAI,MAAM,CAAC,KAAK,CAAC;YAC3D;gBACC,OAAO,MAAM,CAAC,KAAK,CAAC;QACtB,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,QAAoB,EAAE,KAAyB;QACpF,MAAM,eAAe,GAAG,KAAK,EAAE,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,eAAe,IAAI,OAAO,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,KAAK,UAAU,EAAE,CAAC;YACpG,OAAO;QACR,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO;QACR,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,QAAQ,EAAE,eAAe,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/H,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC3C,CAAC;IAEO,wBAAwB,CAAC,OAA0C;QAC1E,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACpC,OAAO,kCAAkC,CAAC;YACzC,GAAG,OAAO;YACV,iBAAiB,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;SACrH,CAAC,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAAC,QAAoB,EAAE,KAAa;QAC/D,OAAO,GAAG,QAAQ,IAAI,KAAK,EAAE,CAAC;IAC/B,CAAC;IAEO,iBAAiB,CAAC,KAAgC;QACzD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IAClG,CAAC;IAEO,oCAAoC,CAAC,MAAgC,EAAE,QAAoB;QAClG,QAAQ,QAAQ,EAAE,CAAC;YAClB,KAAK,YAAY;gBAChB,OAAO,QAAQ,CAAC;YACjB,KAAK,QAAQ;gBACZ,OAAO,QAAQ,CAAC;YACjB,KAAK,MAAM;gBACV,OAAO,KAAK,CAAC;YACd,KAAK,QAAQ;gBACZ,OAAO,QAAQ,CAAC;YACjB,KAAK,YAAY;gBAChB,OAAO,YAAY,CAAC;YACrB,KAAK,QAAQ;gBACZ,OAAO,QAAQ,CAAC;YACjB,KAAK,aAAa;gBACjB,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC;YACrH;gBACC,OAAO,SAAS,CAAC;QACnB,CAAC;IACF,CAAC;IAEO,yBAAyB,CAAC,MAAgC,EAAE,QAAoB,EAAE,KAAa,EAAE,MAAiD,EAAE,OAAsB;QACjL,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAClD,QAAQ;YACR,KAAK;YACL,MAAM;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,yBAAyB,EAAE,MAAM,CAAC,eAAe;YACjD,SAAS,EAAE,OAAO,EAAE,SAAS;SAC7B,CAAC,CAAC;QACH,OAAO;YACN,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;YAC9C,eAAe,EAAE,IAAI,CAAC,sBAAsB,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,EAAE,eAAe,CAAC;YACpG,sBAAsB,EAAE,YAAY,CAAC,sBAAsB;YAC3D,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,yBAAyB,EAAE,YAAY,CAAC,yBAAyB;YACjE,WAAW,EAAE,YAAY,CAAC,WAAW;YACrC,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,gBAAgB,EAAE,YAAY,CAAC,gBAAgB;YAC/C,iBAAiB,EAAE,YAAY,CAAC,iBAAiB;YACjD,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,OAAO,EAAE,YAAY,CAAC,OAAO;YAC7B,WAAW,EAAE,YAAY,CAAC,WAAW;SACrC,CAAC;IACH,CAAC;IAEO,sBAAsB,CAAC,OAAqB;QACnD,MAAM,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,eAAe,EAAE,GAAG,OAAO,CAAC;QACjH,OAAO,eAAe,CAAC;IACxB,CAAC;IAEO,sBAAsB,CAAC,WAAmB,EAAE,YAAgC;QACnF,MAAM,GAAG,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACjD,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACrE,CAAC;IAEO,wBAAwB,CAAC,OAAqB;QACrD,OAAO,OAAO,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,IAAI,CAAC;IAC5D,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QACzH,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9C,IAAI,KAAK,GAAG,QAAQ,EAAE,MAAM,CAAC;QAC7B,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,SAAS,CAAC;QAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,aAAa,GAAG,GAAG,EAAE;YAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;YAC9G,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxK,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;gBACnE,YAAY,EAAE,gBAAgB;gBAC9B,MAAM,EAAE,KAAK;gBACb,OAAO,EAAE,QAAQ,EAAE,OAAO;gBAC1B,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,GAAG,cAAc;aACjB,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,gBAAgB,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBAC7I,SAAS,EAAE,mBAAmB;gBAC9B,OAAO,EAAE,QAAQ,EAAE,OAAO;aAC1B,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,kCAAkC,CAAC,aAAa,EAAE,KAAK,IAAI,EAAE;YAC1G,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,CAAC,kCAAkC,CAChD,aAA0D,EAC1D,OAA4B;QAE5B,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,OAAO,IAAI,EAAE,CAAC;YACb,IAAI,CAAC;gBACJ,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,aAAa,EAAE,EAAE,CAAC;oBAC1C,MAAM,IAAI,CAAC;gBACZ,CAAC;gBACD,OAAO;YACR,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBACvE,IAAI,SAAS,IAAI,CAAC,oDAAoD,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;oBACtF,MAAM,KAAK,CAAC;gBACb,CAAC;gBACD,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,OAAO,EAAE,CAAC;YACjB,CAAC;QACF,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QAC9G,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;QAC9E,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxK,MAAM,cAAc,GAAG,IAAI,CAAC,8BAA8B,CACzD,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,EACxE,gBAAgB,CAChB,CAAC;YACF,MAAM,aAAa,GAAG;gBACrB,YAAY,EAAE,QAAQ;gBACtB,MAAM;gBACN,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,2BAA2B;gBACxD,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,GAAG,cAAc;aACjB,CAAC;YACF,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe;gBAC3C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBACzG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAChH,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,QAAQ,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBACrI,SAAS,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB;gBACpF,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,2BAA2B;aACxD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QAC5G,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC;QACxC,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAChF,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAClF,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;YAC7F,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACtK,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;gBACnE,YAAY,EAAE,UAAU;gBACxB,MAAM;gBACN,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,qBAAqB;gBAClD,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,GAAG,cAAc;aACjB,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBACvI,SAAS,EAAE,mBAAmB;gBAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,qBAAqB;aAClD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QAC9G,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChG,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxK,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;gBACnE,YAAY,EAAE,YAAY;gBAC1B,MAAM;gBACN,OAAO,EAAE,QAAQ,CAAC,OAAO;gBACzB,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,GAAG,cAAc;aACjB,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBACzI,SAAS,EAAE,mBAAmB;gBAC9B,OAAO,EAAE,QAAQ,CAAC,OAAO;aACzB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QAClH,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACxF,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;YACpG,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5K,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,IAAI,sCAAsC,CAAC;YAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;gBACnE,YAAY,EAAE,YAAY;gBAC1B,MAAM;gBACN,OAAO;gBACP,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,GAAG,cAAc;aACjB,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBACzI,SAAS,EAAE,mBAAmB;gBAC9B,OAAO;aACP,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,UAAU,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QAC9G,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC;QAC9C,MAAM,OAAO,GAAG,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;QAChF,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAChG,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACxK,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC;gBACnE,YAAY,EAAE,YAAY;gBAC1B,MAAM,EAAE,QAAQ,EAAE,MAAM;gBACxB,OAAO;gBACP,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,GAAG,cAAc;aACjB,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,YAAY,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBACzI,SAAS,EAAE,mBAAmB;gBAC9B,OAAO;aACP,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QACnH,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACpF,CAAC;QACD,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAG,QAAQ,CAAC,cAAc,EAAE,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,4FAA4F,CAAC,CAAC;QAC/G,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC5F,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7L,IAAI,IAAI,CAAC,qCAAqC,CAAC,QAAQ,EAAE,cAAc,CAAC,EAAE,CAAC;gBAC1E,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;gBAC/G,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBACtD,MAAM,aAAa,GAAG;oBACrB,YAAY,EAAE,kBAAkB;oBAChC,MAAM,EAAE,QAAQ,CAAC,MAAO;oBACxB,OAAO;oBACP,KAAK,EAAE,cAAc;oBACrB,QAAQ,EAAE,gBAAgB;oBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;oBAC7C,GAAG,cAAc;iBACjB,CAAC;gBACF,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe;oBAC3C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;oBACzG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChH,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,kBAAkB,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;oBACxJ,SAAS,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,mBAAmB;oBACpF,OAAO;iBACP,CAAC,CAAC,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,iCAAiC,CAAC,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;YAC9G,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG;gBACrB,YAAY,EAAE,cAAc;gBAC5B,MAAM,EAAE,QAAQ,CAAC,MAAO;gBACxB,KAAK,EAAE,cAAc;gBACrB,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,GAAG,cAAc;gBACjB,KAAK,EAAE;oBACN,QAAQ,EAAE,aAAa;oBACvB,cAAc;oBACd,UAAU,EAAE,QAAQ,CAAC,UAAU,IAAI,oBAAoB;iBACvD;aACD,CAAC;YACF,MAAM,KAAK,GAAG,cAAc,CAAC,eAAe;gBAC3C,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC;gBACzG,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,0BAA0B,CAAC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAChH,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,cAAc,EAAE,cAAc,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBACpJ,SAAS,EAAE,cAAc,CAAC,eAAe,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,cAAc;gBAC/E,QAAQ,EAAE,aAAa;aACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QACjH,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;QAC7C,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,qEAAqE,CAAC,CAAC;QACpG,IAAI,CAAC,QAAQ,EAAE,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;QAC5G,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAE7B,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACtG,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBAClD,QAAQ,EAAE,WAAW;gBACrB,KAAK;gBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,yBAAyB,EAAE,MAAM,CAAC,eAAe;gBACjD,SAAS,EAAE,OAAO,CAAC,SAAS;aAC5B,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACpK,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,uBAAuB,CAAC;gBAChE,MAAM;gBACN,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,8BAA8B;gBAC3D,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,eAAe,EAAE,cAAc,CAAC,eAAe;gBAC/C,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;aAC/B,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,WAAW,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBACxI,sBAAsB,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,QAAQ,EAAE,CAAC;aAC3F,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QAC/G,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;QAC3C,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;QAClF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YAChE,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;QACjH,CAAC;QACD,IAAI,QAAQ,CAAC,cAAc,KAAK,WAAW,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACrG,MAAM,IAAI,KAAK,CAAC,sIAAsI,CAAC,CAAC;QACzJ,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QAC/G,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC;YAClD,QAAQ,EAAE,SAAS;YACnB,KAAK,EAAE,QAAQ,CAAC,OAAO;YACvB,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,yBAAyB,EAAE,MAAM,CAAC,eAAe;YACjD,SAAS,EAAE,OAAO,CAAC,SAAS;SAC5B,CAAC,CAAC;QACH,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAClL,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC;YAC9D,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,SAAS;YACpD,OAAO,EAAE,QAAQ,CAAC,OAAO;YACzB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,eAAe,EAAE,QAAQ,CAAC,eAAe;YACzC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,QAAQ,EAAE,gBAAgB;YAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;YAC7C,eAAe,EAAE,cAAc,CAAC,eAAe;YAC/C,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,4BAA4B,EAAE,YAAY,CAAC,4BAA4B;SACvE,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,aAAa,EAAE,QAAQ,CAAC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;YACrJ,sBAAsB,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE,4BAA4B,EAAE,YAAY,CAAC,4BAA4B,EAAE,CAAC;SACnI,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,yBAAyB,CAChC,YAAoB,EACpB,KAAa,EACb,cAA+C,EAC/C,QAAwB,EACxB,OAAqB,EACrB,OAA4G;QAE5G,MAAM,UAAU,GAAG,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,iCAAiC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrH,MAAM,WAAW,GAAG;YACnB,YAAY;YACZ,KAAK;YACL,YAAY,EAAE,QAAQ,CAAC,MAAM;YAC7B,SAAS,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,IAAI,CAAC;YACrC,UAAU;YACV,oBAAoB,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;YAC/C,SAAS,EAAE,OAAO,EAAE,SAAS;YAC7B,OAAO,EAAE,OAAO,EAAE,OAAO;YACzB,QAAQ,EAAE,OAAO,EAAE,QAAQ;YAC3B,sBAAsB,EAAE,OAAO,EAAE,sBAAsB,IAAI,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC;YACzG,cAAc,EAAE,cAAc,CAAC,cAAc;YAC7C,eAAe,EAAE,cAAc,CAAC,eAAe;YAC/C,sBAAsB,EAAE,cAAc,CAAC,sBAAsB;YAC7D,eAAe,EAAE,cAAc,CAAC,eAAe;YAC/C,yBAAyB,EAAE,cAAc,CAAC,yBAAyB;YACnE,WAAW,EAAE,cAAc,CAAC,WAAW;YACvC,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,IAAI,EAAE,cAAc,CAAC,IAAI;YACzB,eAAe,EAAE,cAAc,CAAC,eAAe;YAC/C,iBAAiB,EAAE,cAAc,CAAC,iBAAiB;SACnD,CAAC;QACF,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QACrC,OAAO,WAAW,CAAC;IACpB,CAAC;IAEO,kBAAkB,CAAC,WAAwC;QAClE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wCAAwC,WAAW,CAAC,YAAY,UAAU,WAAW,CAAC,KAAK,cAAc,WAAW,CAAC,SAAS,IAAI,SAAS,cAAc,WAAW,CAAC,cAAc,oBAAoB,WAAW,CAAC,sBAAsB,IAAI,MAAM,aAAa,WAAW,CAAC,YAAY,eAAe,WAAW,CAAC,UAAU,yBAAyB,WAAW,CAAC,oBAAoB,cAAc,WAAW,CAAC,eAAe,IAAI,SAAS,kBAAkB,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,gBAAgB,WAAW,CAAC,WAAW,IAAI,SAAS,SAAS,WAAW,CAAC,IAAI,IAAI,SAAS,SAAS,WAAW,CAAC,IAAI,IAAI,SAAS,UAAU,WAAW,CAAC,SAAS,EAAE,CAAC,CAAC;IACruB,CAAC;IAEO,yBAAyB,CAAC,OAA4B;QAC7D,MAAM,IAAI,GAAG,CAAC,iBAAiB,EAAE,kBAAkB,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,UAAU,EAAE,8BAA8B,CAAC,CAAC;QAC7I,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI;aACrC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC;QAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;IAEO,0BAA0B,CAAC,QAAwB;QAC1D,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,4BAA4B,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3G,CAAC;IAEO,iCAAiC,CAAC,KAA4B;QACrE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC;YACJ,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC;QACrC,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,CAAC,CAAC;QACV,CAAC;IACF,CAAC;IAEO,4BAA4B,CAAC,OAAgC;QACpE,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,OAAO,CAAC,MAAM,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC7B,OAAO,CAAC,CAAC;QACV,CAAC;QACD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;YACrC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC5D,OAAO,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;YACjC,CAAC;YACD,OAAO,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QAC5C,CAAC,EAAE,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,KAAK,CAAC,CAAE,uBAAuB,CAAC,KAA6C,EAAE,WAAyC;QAC/H,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,eAAe,GAAG,KAAK,CAAC;QAC5B,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;QACzB,IAAI,qBAAqB,GAAG,CAAC,CAAC;QAE9B,MAAM,QAAQ,GAAG,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC;YACJ,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBACpC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBACjC,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC;gBAC3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBAC1B,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;oBACtB,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;wBAClC,SAAS;oBACV,CAAC;oBACD,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;oBACvF,IAAI,CAAC,OAAO,EAAE,CAAC;wBACd,SAAS;oBACV,CAAC;oBACD,IAAI,CAAC;wBACJ,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;wBACjC,IAAI,IAAI,EAAE,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAC/D,IAAI,CAAC,eAAe,EAAE,CAAC;gCACtB,eAAe,GAAG,IAAI,CAAC;gCACvB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;4BAC5E,CAAC;4BACD,YAAY,EAAE,CAAC;4BACf,gBAAgB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;4BACxC,MAAM;gCACL,IAAI,EAAE,MAAM;gCACZ,OAAO,EAAE,IAAI,CAAC,OAAO;gCACrB,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,YAAY,IAAI,IAAI,CAAC,KAAK,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;6BAC9F,CAAC;wBACH,CAAC;6BAAM,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;4BAC3E,YAAY,EAAE,CAAC;4BACf,qBAAqB,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;4BAC7C,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;wBACpD,CAAC;6BAAM,IAAI,IAAI,EAAE,IAAI,KAAK,OAAO,EAAE,CAAC;4BACnC,IAAI,CAAC,wBAAwB,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;wBACxD,CAAC;6BAAM,IAAI,IAAI,EAAE,IAAI,KAAK,WAAW,IAAI,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;4BAC9D,IAAI,CAAC,eAAe,EAAE,CAAC;gCACtB,eAAe,GAAG,IAAI,CAAC;gCACvB,IAAI,CAAC,iBAAiB,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC;4BAC5E,CAAC;4BACD,YAAY,EAAE,CAAC;4BACf,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;wBAC9C,CAAC;oBACF,CAAC;oBAAC,OAAO,KAAK,EAAE,CAAC;wBAChB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8DAA8D,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClG,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,2BAA2B,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;gBAAS,CAAC;YACV,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,CAAC;QACnH,CAAC;IACF,CAAC;IAEO,2BAA2B,CAAC,KAAc,EAAE,WAAoD;QACvG,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;QAC5D,CAAC;QAED,IAAI,IAAI,CAAC,6BAA6B,CAAC,OAAO,CAAC,EAAE,CAAC;YACjD,MAAM,MAAM,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC;YAChG,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,KAAK,kBAAkB,CAAC;YAClE,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,WAAW,CAAC,YAAY,CAAC;YAChF,MAAM,QAAQ,GAAG,SAAS;gBACzB,CAAC,CAAC,mQAAmQ;gBACrQ,CAAC,CAAC,mFAAmF,CAAC;YACvF,OAAO,IAAI,KAAK,CAAC,GAAG,aAAa,+BAA+B,WAAW,CAAC,KAAK,QAAQ,MAAM,KAAK,QAAQ,6BAA6B,OAAO,EAAE,CAAC,CAAC;QACrJ,CAAC;QAED,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAEO,6BAA6B,CAAC,OAAe;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC;eAC5C,UAAU,CAAC,QAAQ,CAAC,iDAAiD,CAAC;eACtE,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACvE,CAAC;IAEO,8BAA8B,CAAC,QAA4B;QAClE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,OAAO,yBAAyB,CAAC;QAClC,CAAC;QACD,IAAI,CAAC;YACJ,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC9B,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;YAClB,GAAG,CAAC,QAAQ,GAAG,EAAE,CAAC;YAClB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC;YACd,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;QACvB,CAAC;QAAC,MAAM,CAAC;YACR,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IAEO,iBAAiB,CAAC,KAAgC,EAAE,WAAoD,EAAE,SAAiB,EAAE,YAAoB,EAAE,gBAAgB,GAAG,CAAC,EAAE,qBAAqB,GAAG,CAAC;QACzM,IAAI,CAAC,WAAW,EAAE,CAAC;YAClB,OAAO;QACR,CAAC;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;QACzC,MAAM,qBAAqB,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC;QACxF,MAAM,OAAO,GAAG,gCAAgC,WAAW,CAAC,YAAY,UAAU,WAAW,CAAC,KAAK,UAAU,KAAK,cAAc,SAAS,cAAc,WAAW,CAAC,cAAc,oBAAoB,WAAW,CAAC,sBAAsB,IAAI,MAAM,aAAa,WAAW,CAAC,YAAY,UAAU,WAAW,CAAC,SAAS,eAAe,WAAW,CAAC,UAAU,yBAAyB,WAAW,CAAC,oBAAoB,gBAAgB,gBAAgB,GAAG,qBAAqB,0BAA0B,qBAAqB,iBAAiB,YAAY,cAAc,WAAW,CAAC,eAAe,IAAI,SAAS,kBAAkB,WAAW,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,aAAa,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,gBAAgB,WAAW,CAAC,WAAW,IAAI,SAAS,SAAS,WAAW,CAAC,IAAI,IAAI,SAAS,SAAS,WAAW,CAAC,IAAI,IAAI,SAAS,WAAW,WAAW,CAAC,eAAe,IAAI,MAAM,kBAAkB,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;QACv8B,IAAI,KAAK,KAAK,UAAU,IAAI,CAAC,WAAW,CAAC,YAAY,KAAK,kBAAkB,IAAI,WAAW,CAAC,YAAY,KAAK,cAAc,CAAC,EAAE,CAAC;YAC9H,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAEO,wBAAwB,CAAC,WAAoD,EAAE,KAAU;QAChG,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,YAAY,KAAK,kBAAkB,IAAI,WAAW,CAAC,YAAY,KAAK,cAAc,CAAC,EAAE,CAAC;YACtH,OAAO;QACR,CAAC;QACD,MAAM,eAAe,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;YAClH,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACnB,CAAC,CAAC,SAAS,CAAC;QACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,WAAW,CAAC,YAAY,UAAU,WAAW,CAAC,KAAK,wBAAwB,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,yBAAyB,eAAe,CAAC,KAAK,EAAE,YAAY,CAAC,wBAAwB,eAAe,CAAC,KAAK,EAAE,WAAW,CAAC,sBAAsB,eAAe,CAAC,KAAK,EAAE,iBAAiB,CAAC,EAAE,CAAC,CAAC;IAC9V,CAAC;IAEO,KAAK,CAAC,CAAE,wBAAwB,CAAC,KAA6C;QACrF,MAAM,KAAK,GAAiB,EAAE,CAAC;QAC/B,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,KAAK,GAAQ,IAAI,CAAC;QACtB,IAAI,OAAO,GAAwB,IAAI,CAAC;QAExC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE;YAC/B,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBACnB,IAAI,GAAG,IAAI,CAAC;YACb,CAAC;iBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBACnE,KAAK,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;gBACrC,IAAI,GAAG,IAAI,CAAC;YACb,CAAC;iBAAM,CAAC;gBACP,IAAI,KAA6B,CAAC;gBAClC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC9B,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBACxC,CAAC;qBAAM,IAAI,IAAI,EAAE,CAAC;oBACjB,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;gBACrB,CAAC;gBAED,IAAI,KAAK,EAAE,CAAC;oBACX,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC;YACF,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,CAAC;gBACV,OAAO,GAAG,IAAI,CAAC;YAChB,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC;YACJ,OAAO,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAClC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACjC,MAAM,IAAI,OAAO,CAAO,GAAG,CAAC,EAAE,CAAC,OAAO,GAAG,GAAG,CAAC,CAAC;gBAC/C,CAAC;gBACD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzB,MAAM,KAAK,CAAC,KAAK,EAAG,CAAC;gBACtB,CAAC;gBACD,IAAI,KAAK;oBAAE,MAAM,KAAK,CAAC;YACxB,CAAC;YACD,IAAI,KAAK,EAAE,CAAC;gBACX,MAAM,KAAK,CAAC;YACb,CAAC;QACF,CAAC;gBAAS,CAAC;YACV,UAAU,CAAC,OAAO,EAAE,CAAC;QACtB,CAAC;IACF,CAAC;IACO,KAAK,CAAC,UAAU,CAAC,QAAwB,EAAE,MAAgC,EAAE,UAAwB,EAAE;QAC9G,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC;QAC1C,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;QACrF,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,EAAE,KAAK,CAAC;QAC9B,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;YACvC,MAAM,cAAc,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;YACnG,MAAM,YAAY,GAAG,IAAI,CAAC,wBAAwB,CAAC;gBAClD,QAAQ,EAAE,QAAQ;gBAClB,KAAK;gBACL,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,cAAc,EAAE,MAAM,CAAC,cAAc;gBACrC,yBAAyB,EAAE,MAAM,CAAC,eAAe;gBACjD,SAAS,EAAE,OAAO,CAAC,SAAS;aAC5B,CAAC,CAAC;YACH,MAAM,gBAAgB,GAAG,sCAAsC,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9J,MAAM,KAAK,GAAG,IAAI,CAAC,qBAAqB,CAAC,2BAA2B,CAAC;gBACpE,MAAM;gBACN,KAAK;gBACL,QAAQ,EAAE,gBAAgB;gBAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,OAAO,CAAC;gBAC7C,eAAe,EAAE,cAAc,CAAC,eAAe;gBAC/C,WAAW,EAAE,cAAc,CAAC,WAAW;gBACvC,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,IAAI,EAAE,cAAc,CAAC,IAAI;gBACzB,cAAc,EAAE,YAAY,CAAC,cAAc;aAC3C,EAAE,IAAI,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3C,OAAO,IAAI,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC,yBAAyB,CAAC,eAAe,EAAE,KAAK,EAAE,cAAc,EAAE,gBAAgB,EAAE,OAAO,EAAE;gBAC5I,sBAAsB,EAAE,IAAI,CAAC,yBAAyB,CAAC,EAAE,cAAc,EAAE,YAAY,CAAC,cAAc,EAAE,CAAC;aACvG,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,CAAE,gBAAgB,CAAC,OAA6D,EAAE,UAAU,GAAG,CAAC;QAC7G,IAAI,sBAA0C,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,OAAO,EAAE,CAAC;gBACjC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;oBACnC,IAAI,sBAAsB,KAAK,SAAS,EAAE,CAAC;wBAC1C,MAAM;4BACL,IAAI,EAAE,kBAAkB;4BACxB,MAAM,EAAE;gCACP,KAAK,EAAE,WAAW;gCAClB,OAAO,EAAE,sBAAsB;gCAC/B,WAAW,EAAE,UAAU;6BACvB;yBACD,CAAC;wBACF,sBAAsB,GAAG,SAAS,CAAC;oBACpC,CAAC;oBACD,MAAM,IAAI,CAAC;gBACZ,CAAC;gBACD,OAAO;YACR,CAAC;YAAC,OAAO,CAAM,EAAE,CAAC;gBACjB,MAAM,YAAY,GAAG,CAAC,CAAC,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC;gBAC5C,IAAI,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,EAAE,CAAC;oBACtD,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,iDAAiD,YAAY,EAAE,CAAC,CAAC;oBACpF,MAAM,CAAC,CAAC;gBACT,CAAC;gBACD,MAAM,WAAW,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;gBAC7I,MAAM,gBAAgB,GAAG,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;gBAEtJ,IAAI,CAAC,WAAW,IAAI,gBAAgB,CAAC,IAAI,CAAC,GAAG,UAAU,EAAE,CAAC;oBACzD,0DAA0D;oBAC1D,6DAA6D;oBAC7D,mDAAmD;oBACnD,MAAM,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;oBACxF,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC5C,MAAM,KAAK,GAAG,aAAa,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;oBAClG,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;oBAEtB,OAAO,CAAC,IAAI,CAAC,2CAA2C,YAAY,iBAAiB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,kBAAkB,OAAO,IAAI,UAAU,GAAG,CAAC,CAAC;oBAClJ,MAAM;wBACL,IAAI,EAAE,kBAAkB;wBACxB,MAAM,EAAE;4BACP,KAAK,EAAE,UAAU;4BACjB,OAAO;4BACP,WAAW,EAAE,UAAU;4BACvB,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;4BAC1B,OAAO,EAAE,YAAY;yBACrB;qBACD,CAAC;oBACF,sBAAsB,GAAG,OAAO,CAAC;oBACjC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;oBACzD,SAAS;gBACV,CAAC;gBACD,MAAM,CAAC,CAAC;YACT,CAAC;QACF,CAAC;IACF,CAAC;IAEO,oBAAoB,CAAC,OAAe;QAC3C,MAAM,KAAK,GAAG,wGAAwG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrI,IAAI,CAAC,KAAK,EAAE,CAAC;YACZ,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3C,OAAO,SAAS,CAAC;QAClB,CAAC;QACD,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC;QACpF,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC;IAEO,6BAA6B,CAAC,OAAe;QACpD,MAAM,UAAU,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,iBAAiB,CAAC;eACzC,UAAU,CAAC,QAAQ,CAAC,iCAAiC,CAAC;eACtD,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC;eAChD,UAAU,CAAC,QAAQ,CAAC,qCAAqC,CAAC;eAC1D,UAAU,CAAC,QAAQ,CAAC,yBAAyB,CAAC;eAC9C,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC;eACnC,CAAC,UAAU,CAAC,QAAQ,CAAC,oBAAoB,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC9E,iEAAiE;YACjE,8DAA8D;YAC9D,kEAAkE;YAClE,+DAA+D;eAC5D,UAAU,CAAC,QAAQ,CAAC,sBAAsB,CAAC;eAC3C,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACxC,CAAC;CAED"}
@@ -0,0 +1,17 @@
1
+ import { ICleanSlatePersistedSession } from './cleanSlateAI.js';
2
+ /**
3
+ * The bucket an archived session belongs to. Identity is the workspace the
4
+ * session ran in, but sessions arrive from hosts that populate different
5
+ * fields — the editor knows a project root, a headless run may only know a work
6
+ * dir. Every writer must agree on this order or the same session lands under
7
+ * two keys and the archive lists it twice.
8
+ */
9
+ export declare function resolveArchivedSessionWorkspaceId(session: ICleanSlatePersistedSession): string;
10
+ /**
11
+ * Rewrites a session for archival after it was published by whichever host owns
12
+ * it. A session that was still generating is recorded as `detached` rather than
13
+ * `running`: the run does not survive the publish, and a persisted `running`
14
+ * status would show as a live agent that nothing is driving.
15
+ */
16
+ export declare function toArchivedSessionSnapshot(session: ICleanSlatePersistedSession): ICleanSlatePersistedSession;
17
+ //# sourceMappingURL=cleanSlateThreadSession.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateThreadSession.d.ts","sourceRoot":"","sources":["../../src/protocol/cleanSlateThreadSession.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;;;GAMG;AACH,wBAAgB,iCAAiC,CAAC,OAAO,EAAE,2BAA2B,GAAG,MAAM,CAM9F;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,2BAA2B,GAAG,2BAA2B,CAQ3G"}
@@ -0,0 +1,34 @@
1
+ /*---------------------------------------------------------------------------------------------
2
+ * Copyright (c) CleanSlate. All rights reserved.
3
+ * Licensed under the MIT License. See License.txt in the project root for license information.
4
+ *--------------------------------------------------------------------------------------------*/
5
+ /**
6
+ * The bucket an archived session belongs to. Identity is the workspace the
7
+ * session ran in, but sessions arrive from hosts that populate different
8
+ * fields — the editor knows a project root, a headless run may only know a work
9
+ * dir. Every writer must agree on this order or the same session lands under
10
+ * two keys and the archive lists it twice.
11
+ */
12
+ export function resolveArchivedSessionWorkspaceId(session) {
13
+ return session.projectRoot?.trim()
14
+ || session.workDir?.trim()
15
+ || session.workspaceId?.trim()
16
+ || session.workspaceName?.trim()
17
+ || 'default';
18
+ }
19
+ /**
20
+ * Rewrites a session for archival after it was published by whichever host owns
21
+ * it. A session that was still generating is recorded as `detached` rather than
22
+ * `running`: the run does not survive the publish, and a persisted `running`
23
+ * status would show as a live agent that nothing is driving.
24
+ */
25
+ export function toArchivedSessionSnapshot(session) {
26
+ const wasLive = session.status === 'running' || session.isGenerating === true;
27
+ return {
28
+ ...session,
29
+ status: wasLive ? 'detached' : session.status,
30
+ isGenerating: undefined,
31
+ updatedAt: Date.now()
32
+ };
33
+ }
34
+ //# sourceMappingURL=cleanSlateThreadSession.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cleanSlateThreadSession.js","sourceRoot":"","sources":["../../src/protocol/cleanSlateThreadSession.ts"],"names":[],"mappings":"AAAA;;;gGAGgG;AAIhG;;;;;;GAMG;AACH,MAAM,UAAU,iCAAiC,CAAC,OAAoC;IACrF,OAAO,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;WAC9B,OAAO,CAAC,OAAO,EAAE,IAAI,EAAE;WACvB,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE;WAC3B,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE;WAC7B,SAAS,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,yBAAyB,CAAC,OAAoC;IAC7E,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,YAAY,KAAK,IAAI,CAAC;IAC9E,OAAO;QACN,GAAG,OAAO;QACV,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM;QAC7C,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;KACrB,CAAC;AACH,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { Disposable } from '../core/lifecycle.js';
2
2
  import { CancellationToken } from '../core/cancellation.js';
3
- import { Event } from '../core/event.js';
3
+ import { Subscribable } from '../host/events.js';
4
4
  import { ICleanSlateBackgroundCommandOptions, ICleanSlateBackgroundCommandResult, ICleanSlateCommandExecutionOptions, ICleanSlateCommandExecutionResult, ICleanSlateCommandOutputEvent, ICleanSlateMainService, ICleanSlateStopBackgroundCommandResult } from '../protocol/cleanSlateAI.js';
5
5
  export interface ICleanSlateCommandExecutionService {
6
6
  _serviceBrand: undefined;
7
7
  executeCommand(options: ICleanSlateCommandExecutionOptions): Promise<ICleanSlateCommandExecutionResult>;
8
- executeCommandStream(options: ICleanSlateCommandExecutionOptions, token?: CancellationToken): Event<ICleanSlateCommandOutputEvent | null>;
8
+ executeCommandStream(options: ICleanSlateCommandExecutionOptions, token?: CancellationToken): Subscribable<ICleanSlateCommandOutputEvent | null>;
9
9
  startBackgroundCommand(options: ICleanSlateBackgroundCommandOptions): Promise<ICleanSlateBackgroundCommandResult>;
10
10
  stopBackgroundCommand(processId: string): Promise<ICleanSlateStopBackgroundCommandResult>;
11
11
  getBackgroundCommand(processId: string): Promise<ICleanSlateBackgroundCommandResult>;
@@ -16,7 +16,7 @@ export declare class CleanSlateCommandExecutionService extends Disposable implem
16
16
  readonly _serviceBrand: undefined;
17
17
  constructor(mainService: ICleanSlateMainService);
18
18
  executeCommand(options: ICleanSlateCommandExecutionOptions): Promise<ICleanSlateCommandExecutionResult>;
19
- executeCommandStream(options: ICleanSlateCommandExecutionOptions, token?: CancellationToken): Event<ICleanSlateCommandOutputEvent | null>;
19
+ executeCommandStream(options: ICleanSlateCommandExecutionOptions, token?: CancellationToken): Subscribable<ICleanSlateCommandOutputEvent | null>;
20
20
  startBackgroundCommand(options: ICleanSlateBackgroundCommandOptions): Promise<ICleanSlateBackgroundCommandResult>;
21
21
  stopBackgroundCommand(processId: string): Promise<ICleanSlateStopBackgroundCommandResult>;
22
22
  getBackgroundCommand(processId: string): Promise<ICleanSlateBackgroundCommandResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"cleanSlateCommandExecutionService.d.ts","sourceRoot":"","sources":["../../src/services/cleanSlateCommandExecutionService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EACN,mCAAmC,EACnC,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,sBAAsB,EACtB,sCAAsC,EACtC,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,kCAAkC;IAClD,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACxG,oBAAoB,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;IAC1I,sBAAsB,CAAC,OAAO,EAAE,mCAAmC,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAClH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAC1F,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACrF,sBAAsB,IAAI,OAAO,CAAC,kCAAkC,EAAE,CAAC,CAAC;CACxE;AAED,qBAAa,iCAAkC,SAAQ,UAAW,YAAW,kCAAkC;IAI7G,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH7B,SAAiB,aAAa,EAAE,SAAS,CAAC;gBAGxB,WAAW,EAAE,sBAAsB;IAKrD,cAAc,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAIvG,oBAAoB,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,GAAE,iBAA0C,GAAG,KAAK,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAIjK,sBAAsB,CAAC,OAAO,EAAE,mCAAmC,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIjH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAIzF,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIpF,sBAAsB,IAAI,OAAO,CAAC,kCAAkC,EAAE,CAAC;CAGvE"}
1
+ {"version":3,"file":"cleanSlateCommandExecutionService.d.ts","sourceRoot":"","sources":["../../src/services/cleanSlateCommandExecutionService.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EACN,mCAAmC,EACnC,kCAAkC,EAClC,kCAAkC,EAClC,iCAAiC,EACjC,6BAA6B,EAC7B,sBAAsB,EACtB,sCAAsC,EACtC,MAAM,6BAA6B,CAAC;AAGrC,MAAM,WAAW,kCAAkC;IAClD,aAAa,EAAE,SAAS,CAAC;IACzB,cAAc,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,iCAAiC,CAAC,CAAC;IACxG,oBAAoB,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,CAAC,EAAE,iBAAiB,GAAG,YAAY,CAAC,6BAA6B,GAAG,IAAI,CAAC,CAAC;IACjJ,sBAAsB,CAAC,OAAO,EAAE,mCAAmC,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;IAClH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC,CAAC;IAC1F,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC,CAAC;IACrF,sBAAsB,IAAI,OAAO,CAAC,kCAAkC,EAAE,CAAC,CAAC;CACxE;AAED,qBAAa,iCAAkC,SAAQ,UAAW,YAAW,kCAAkC;IAI7G,OAAO,CAAC,QAAQ,CAAC,WAAW;IAH7B,SAAiB,aAAa,EAAE,SAAS,CAAC;gBAGxB,WAAW,EAAE,sBAAsB;IAKrD,cAAc,CAAC,OAAO,EAAE,kCAAkC,GAAG,OAAO,CAAC,iCAAiC,CAAC;IAIvG,oBAAoB,CAAC,OAAO,EAAE,kCAAkC,EAAE,KAAK,GAAE,iBAA0C,GAAG,YAAY,CAAC,6BAA6B,GAAG,IAAI,CAAC;IAIxK,sBAAsB,CAAC,OAAO,EAAE,mCAAmC,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIjH,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,sCAAsC,CAAC;IAIzF,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kCAAkC,CAAC;IAIpF,sBAAsB,IAAI,OAAO,CAAC,kCAAkC,EAAE,CAAC;CAGvE"}
@@ -2,7 +2,6 @@
2
2
  * Copyright (c) CleanSlate. All rights reserved.
3
3
  * Licensed under the MIT License. See License.txt in the project root for license information.
4
4
  *--------------------------------------------------------------------------------------------*/
5
- import { VSBuffer } from '../core/buffer.js';
6
5
  import { basename, joinPath, relativePath } from '../core/resources.js';
7
6
  import { URI } from '../core/uri.js';
8
7
  import { FileOperationResult, toFileOperationResult } from '../host/files.js';
@@ -30,7 +29,7 @@ export class CleanSlateFileHistory {
30
29
  const entryId = this.createEntryId(request.resource);
31
30
  const backupRelativePath = `${this.entriesFolder}/${entryId}.txt`;
32
31
  const backupResource = joinPath(request.storageRoot ?? request.workspaceRoot, backupRelativePath);
33
- await request.fileService.writeFile(backupResource, VSBuffer.fromString(content));
32
+ await request.fileService.writeFile(backupResource, content);
34
33
  const entry = {
35
34
  id: entryId,
36
35
  createdAt: new Date().toISOString(),
@@ -90,7 +89,7 @@ export class CleanSlateFileHistory {
90
89
  return;
91
90
  }
92
91
  }
93
- await fileService.writeFile(resource, VSBuffer.fromString(content));
92
+ await fileService.writeFile(resource, content);
94
93
  }
95
94
  static findRewindEntry(manifest, workspaceRoot, resource, historyEntryId) {
96
95
  if (historyEntryId) {
@@ -132,7 +131,7 @@ export class CleanSlateFileHistory {
132
131
  }
133
132
  static async writeManifest(fileService, workspaceRoot, manifest) {
134
133
  const manifestResource = joinPath(workspaceRoot, this.manifestFile);
135
- await fileService.writeFile(manifestResource, VSBuffer.fromString(JSON.stringify(manifest, null, 2)));
134
+ await fileService.writeFile(manifestResource, JSON.stringify(manifest, null, 2));
136
135
  }
137
136
  static isEntry(value) {
138
137
  const entry = value;