@theia/workspace 1.68.0-next.48 → 1.68.0-next.79

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 (29) hide show
  1. package/lib/browser/workspace-frontend-contribution.d.ts.map +1 -1
  2. package/lib/browser/workspace-frontend-contribution.js +3 -0
  3. package/lib/browser/workspace-frontend-contribution.js.map +1 -1
  4. package/lib/browser/workspace-frontend-module.d.ts +1 -0
  5. package/lib/browser/workspace-frontend-module.d.ts.map +1 -1
  6. package/lib/browser/workspace-frontend-module.js +2 -0
  7. package/lib/browser/workspace-frontend-module.js.map +1 -1
  8. package/lib/browser/workspace-trust-dialog.d.ts +13 -0
  9. package/lib/browser/workspace-trust-dialog.d.ts.map +1 -0
  10. package/lib/browser/workspace-trust-dialog.js +66 -0
  11. package/lib/browser/workspace-trust-dialog.js.map +1 -0
  12. package/lib/browser/workspace-trust-service.d.ts +58 -2
  13. package/lib/browser/workspace-trust-service.d.ts.map +1 -1
  14. package/lib/browser/workspace-trust-service.js +177 -37
  15. package/lib/browser/workspace-trust-service.js.map +1 -1
  16. package/lib/browser/workspace-trust-service.spec.js +192 -39
  17. package/lib/browser/workspace-trust-service.spec.js.map +1 -1
  18. package/lib/common/untitled-workspace-service.d.ts +8 -1
  19. package/lib/common/untitled-workspace-service.d.ts.map +1 -1
  20. package/lib/common/untitled-workspace-service.js +21 -2
  21. package/lib/common/untitled-workspace-service.js.map +1 -1
  22. package/package.json +5 -5
  23. package/src/browser/style/index.css +75 -0
  24. package/src/browser/workspace-frontend-contribution.ts +2 -0
  25. package/src/browser/workspace-frontend-module.ts +4 -1
  26. package/src/browser/workspace-trust-dialog.tsx +90 -0
  27. package/src/browser/workspace-trust-service.spec.ts +246 -43
  28. package/src/browser/workspace-trust-service.ts +213 -40
  29. package/src/common/untitled-workspace-service.ts +21 -2
@@ -15,12 +15,12 @@
15
15
  // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-only WITH Classpath-exception-2.0
16
16
  // *****************************************************************************
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.WorkspaceTrustService = exports.WORKSPACE_TRUST_STATUS_BAR_ID = void 0;
18
+ exports.WorkspaceTrustService = exports.WorkspaceRestrictionContribution = exports.WORKSPACE_TRUST_STATUS_BAR_ID = void 0;
19
19
  const tslib_1 = require("tslib");
20
20
  const browser_1 = require("@theia/core/lib/browser");
21
+ const markdown_string_1 = require("@theia/core/lib/common/markdown-rendering/markdown-string");
21
22
  const status_bar_1 = require("@theia/core/lib/browser/status-bar/status-bar");
22
23
  const core_1 = require("@theia/core");
23
- const disposable_1 = require("@theia/core/lib/common/disposable");
24
24
  const common_1 = require("@theia/core/lib/common");
25
25
  const uri_1 = require("@theia/core/lib/common/uri");
26
26
  const preferences_1 = require("@theia/core/lib/common/preferences");
@@ -34,14 +34,22 @@ const frontend_application_config_provider_1 = require("@theia/core/lib/browser/
34
34
  const workspace_service_1 = require("./workspace-service");
35
35
  const workspace_commands_1 = require("./workspace-commands");
36
36
  const context_key_service_1 = require("@theia/core/lib/browser/context-key-service");
37
+ const workspace_trust_dialog_1 = require("./workspace-trust-dialog");
38
+ const untitled_workspace_service_1 = require("../common/untitled-workspace-service");
39
+ const env_variables_1 = require("@theia/core/lib/common/env-variables");
37
40
  const STORAGE_TRUSTED = 'trusted';
38
41
  exports.WORKSPACE_TRUST_STATUS_BAR_ID = 'workspace-trust-status';
42
+ /**
43
+ * Contribution interface for features that are restricted in untrusted workspaces.
44
+ * Implementations can provide information about what is being restricted.
45
+ */
46
+ exports.WorkspaceRestrictionContribution = Symbol('WorkspaceRestrictionContribution');
39
47
  let WorkspaceTrustService = class WorkspaceTrustService {
40
48
  constructor() {
41
49
  this.workspaceTrust = new promise_util_1.Deferred();
42
50
  this.onDidChangeWorkspaceTrustEmitter = new common_1.Emitter();
43
51
  this.onDidChangeWorkspaceTrust = this.onDidChangeWorkspaceTrustEmitter.event;
44
- this.toDispose = new disposable_1.DisposableCollection(this.onDidChangeWorkspaceTrustEmitter);
52
+ this.toDispose = new core_1.DisposableCollection(this.onDidChangeWorkspaceTrustEmitter);
45
53
  }
46
54
  init() {
47
55
  this.doInit();
@@ -65,6 +73,10 @@ let WorkspaceTrustService = class WorkspaceTrustService {
65
73
  this.toDispose.dispose();
66
74
  }
67
75
  getWorkspaceTrust() {
76
+ // Return current trust if already resolved, otherwise wait for initial resolution
77
+ if (this.currentTrust !== undefined) {
78
+ return Promise.resolve(this.currentTrust);
79
+ }
68
80
  return this.workspaceTrust.promise;
69
81
  }
70
82
  async resolveWorkspaceTrust(givenTrust) {
@@ -101,10 +113,11 @@ let WorkspaceTrustService = class WorkspaceTrustService {
101
113
  if (!trustEnabled) {
102
114
  return true;
103
115
  }
104
- if (this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW] && !this.workspaceService.workspace) {
105
- return true;
116
+ // Empty workspace - no folders open
117
+ if (await this.isEmptyWorkspace()) {
118
+ return !!this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW];
106
119
  }
107
- if (this.isWorkspaceInTrustedFolders()) {
120
+ if (await this.areAllWorkspaceUrisTrusted()) {
108
121
  return true;
109
122
  }
110
123
  if (this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT] === workspace_trust_preferences_1.WorkspaceTrustPrompt.NEVER) {
@@ -120,6 +133,73 @@ let WorkspaceTrustService = class WorkspaceTrustService {
120
133
  // For ALWAYS mode or ONCE mode with no stored decision, show dialog
121
134
  return this.showTrustPromptDialog();
122
135
  }
136
+ /**
137
+ * Check if the workspace is empty (no workspace or folder opened, or
138
+ * an untitled workspace with no folders).
139
+ * A saved workspace file with 0 folders is NOT empty - it still needs trust
140
+ * evaluation because it could have tasks defined.
141
+ */
142
+ async isEmptyWorkspace() {
143
+ const workspace = this.workspaceService.workspace;
144
+ if (!workspace) {
145
+ return true;
146
+ }
147
+ const roots = this.workspaceService.tryGetRoots();
148
+ // Only consider it empty if it's an untitled workspace with no folders
149
+ // Use secure check with configDirUri for trust-related decisions
150
+ if (roots.length === 0) {
151
+ const configDirUri = new uri_1.default(await this.envVariablesServer.getConfigDirUri());
152
+ if (this.untitledWorkspaceService.isUntitledWorkspace(workspace.resource, configDirUri)) {
153
+ return true;
154
+ }
155
+ }
156
+ return false;
157
+ }
158
+ /**
159
+ * Get the URIs that need to be trusted for the current workspace.
160
+ * This includes all workspace folder URIs, plus the workspace file URI
161
+ * for saved workspaces (since workspace files can contain tasks/settings).
162
+ */
163
+ getWorkspaceUris() {
164
+ const uris = this.workspaceService.tryGetRoots().map(root => root.resource);
165
+ const workspace = this.workspaceService.workspace;
166
+ // For saved workspaces, include the workspace file itself
167
+ if (workspace && this.workspaceService.saved) {
168
+ uris.push(workspace.resource);
169
+ }
170
+ return uris;
171
+ }
172
+ /**
173
+ * Check if all workspace URIs are trusted.
174
+ * A workspace is trusted only if ALL of its folders (and the workspace
175
+ * file for saved workspaces) are trusted.
176
+ */
177
+ async areAllWorkspaceUrisTrusted() {
178
+ const uris = this.getWorkspaceUris();
179
+ if (uris.length === 0) {
180
+ return false;
181
+ }
182
+ return uris.every(uri => this.isUriTrusted(uri));
183
+ }
184
+ /**
185
+ * Check if a URI is trusted. A URI is trusted if it or any of its
186
+ * parent folders is in the trusted folders list.
187
+ */
188
+ isUriTrusted(uri) {
189
+ const trustedFolders = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS] || [];
190
+ const caseSensitive = !core_1.OS.backend.isWindows;
191
+ const normalizedUri = uri.normalizePath();
192
+ return trustedFolders.some(folder => {
193
+ try {
194
+ const folderUri = new uri_1.default(folder).normalizePath();
195
+ // Check if the trusted folder is equal to or a parent of the URI
196
+ return folderUri.isEqualOrParent(normalizedUri, caseSensitive);
197
+ }
198
+ catch {
199
+ return false; // Invalid URI in preferences
200
+ }
201
+ });
202
+ }
123
203
  async showTrustPromptDialog() {
124
204
  // If dialog is already open, wait for its result
125
205
  if (this.pendingTrustDialog) {
@@ -127,16 +207,9 @@ let WorkspaceTrustService = class WorkspaceTrustService {
127
207
  }
128
208
  this.pendingTrustDialog = new promise_util_1.Deferred();
129
209
  try {
130
- const trust = nls_1.nls.localizeByDefault('Yes, I trust the authors');
131
- const dontTrust = nls_1.nls.localizeByDefault("No, I don't trust the authors");
132
- const folderPath = this.workspaceService.workspace?.resource?.path?.toString() ?? '';
133
- const dialog = new browser_1.ConfirmDialog({
134
- title: nls_1.nls.localizeByDefault('Do you trust the authors of the files in this folder?'),
135
- msg: nls_1.nls.localize('theia/workspace/trustDialogMessage', 'If you trust the authors of this folder, code inside may be executed. Only trust folders that you trust the contents of.') +
136
- (folderPath ? `\n\n"${folderPath}"` : ''),
137
- ok: trust,
138
- cancel: dontTrust,
139
- });
210
+ // Show the workspace folders in the dialog
211
+ const folderUris = this.workspaceService.tryGetRoots().map(root => root.resource);
212
+ const dialog = new workspace_trust_dialog_1.WorkspaceTrustDialog(folderUris);
140
213
  const result = await dialog.open();
141
214
  const trusted = result === true;
142
215
  this.pendingTrustDialog.resolve(trusted);
@@ -151,31 +224,44 @@ let WorkspaceTrustService = class WorkspaceTrustService {
151
224
  }
152
225
  }
153
226
  async addToTrustedFolders() {
154
- const workspaceUri = this.workspaceService.workspace?.resource;
155
- if (!workspaceUri) {
227
+ const uris = this.getWorkspaceUris();
228
+ if (uris.length === 0) {
156
229
  return;
157
230
  }
158
- if (!this.isWorkspaceInTrustedFolders()) {
159
- const currentFolders = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS] || [];
160
- await this.preferences.set(workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS, [...currentFolders, workspaceUri.toString()], preferences_1.PreferenceScope.User);
231
+ const currentFolders = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS] || [];
232
+ const newFolders = [...currentFolders];
233
+ let changed = false;
234
+ for (const uri of uris) {
235
+ if (!this.isUriTrusted(uri)) {
236
+ newFolders.push(uri.toString());
237
+ changed = true;
238
+ }
239
+ }
240
+ if (changed) {
241
+ await this.preferences.set(workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS, newFolders, preferences_1.PreferenceScope.User);
161
242
  }
162
243
  }
163
- isWorkspaceInTrustedFolders() {
164
- const workspaceUri = this.workspaceService.workspace?.resource;
165
- if (!workspaceUri) {
166
- return false;
244
+ async removeFromTrustedFolders() {
245
+ const uris = this.getWorkspaceUris();
246
+ if (uris.length === 0) {
247
+ return;
167
248
  }
168
- const trustedFolders = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS] || [];
249
+ const currentFolders = this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS] || [];
169
250
  const caseSensitive = !core_1.OS.backend.isWindows;
170
- return trustedFolders.some(folder => {
251
+ const normalizedUris = uris.map(uri => uri.normalizePath());
252
+ const updatedFolders = currentFolders.filter(folder => {
171
253
  try {
172
254
  const folderUri = new uri_1.default(folder).normalizePath();
173
- return workspaceUri.normalizePath().isEqual(folderUri, caseSensitive);
255
+ // Remove folder if it exactly matches any workspace URI
256
+ return !normalizedUris.some(wsUri => wsUri.isEqual(folderUri, caseSensitive));
174
257
  }
175
258
  catch {
176
- return false; // Invalid URI in preferences
259
+ return true; // Keep invalid URIs
177
260
  }
178
261
  });
262
+ if (updatedFolders.length !== currentFolders.length) {
263
+ await this.preferences.set(workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS, updatedFolders, preferences_1.PreferenceScope.User);
264
+ }
179
265
  }
180
266
  async loadWorkspaceTrust() {
181
267
  if (this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT] === workspace_trust_preferences_1.WorkspaceTrustPrompt.ONCE) {
@@ -191,17 +277,17 @@ let WorkspaceTrustService = class WorkspaceTrustService {
191
277
  // Handle trustedFolders changes regardless of scope
192
278
  if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_TRUSTED_FOLDERS) {
193
279
  // For empty windows with emptyWindow setting enabled, trust should remain true
194
- if (this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW] && !this.workspaceService.workspace) {
280
+ if (await this.isEmptyWorkspace() && this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW]) {
195
281
  return;
196
282
  }
197
- const isNowInTrustedFolders = this.isWorkspaceInTrustedFolders();
198
- if (isNowInTrustedFolders !== this.currentTrust) {
199
- this.setWorkspaceTrust(isNowInTrustedFolders);
283
+ const areAllUrisTrusted = await this.areAllWorkspaceUrisTrusted();
284
+ if (areAllUrisTrusted !== this.currentTrust) {
285
+ this.setWorkspaceTrust(areAllUrisTrusted);
200
286
  }
201
287
  return;
202
288
  }
203
289
  if (change.scope === preferences_1.PreferenceScope.User) {
204
- if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT && change.newValue !== workspace_trust_preferences_1.WorkspaceTrustPrompt.ONCE) {
290
+ if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT && this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_STARTUP_PROMPT] !== workspace_trust_preferences_1.WorkspaceTrustPrompt.ONCE) {
205
291
  this.storage.setData(STORAGE_TRUSTED, undefined);
206
292
  }
207
293
  if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_ENABLED && this.isWorkspaceTrustResolved() && await this.confirmRestart()) {
@@ -212,9 +298,9 @@ let WorkspaceTrustService = class WorkspaceTrustService {
212
298
  this.resolveWorkspaceTrust();
213
299
  }
214
300
  // Handle emptyWindow setting change for empty windows
215
- if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW && !this.workspaceService.workspace) {
301
+ if (change.preferenceName === workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW && await this.isEmptyWorkspace()) {
216
302
  // For empty windows, directly update trust based on the new setting value
217
- const shouldTrust = !!change.newValue;
303
+ const shouldTrust = !!this.workspaceTrustPref[workspace_trust_preferences_1.WORKSPACE_TRUST_EMPTY_WINDOW];
218
304
  if (this.currentTrust !== shouldTrust) {
219
305
  this.setWorkspaceTrust(shouldTrust);
220
306
  }
@@ -252,14 +338,55 @@ let WorkspaceTrustService = class WorkspaceTrustService {
252
338
  this.statusBar.setElement(exports.WORKSPACE_TRUST_STATUS_BAR_ID, {
253
339
  text: '$(shield) ' + nls_1.nls.localizeByDefault('Restricted Mode'),
254
340
  alignment: status_bar_1.StatusBarAlignment.LEFT,
341
+ backgroundColor: 'var(--theia-statusBarItem-prominentBackground)',
342
+ color: 'var(--theia-statusBarItem-prominentForeground)',
255
343
  priority: 5000,
256
- tooltip: nls_1.nls.localize('theia/workspace/restrictedModeTooltip', 'Running in Restricted Mode. Some features are disabled because this folder is not trusted. Click to manage trust settings.'),
344
+ tooltip: this.createRestrictedModeTooltip(),
257
345
  command: workspace_commands_1.WorkspaceCommands.MANAGE_WORKSPACE_TRUST.id
258
346
  });
259
347
  }
348
+ createRestrictedModeTooltip() {
349
+ const md = new markdown_string_1.MarkdownStringImpl('', { supportThemeIcons: true });
350
+ md.appendMarkdown(`**${nls_1.nls.localizeByDefault('Restricted Mode')}**\n\n`);
351
+ md.appendMarkdown(nls_1.nls.localize('theia/workspace/restrictedModeDescription', 'Some features are disabled because this workspace is not trusted.'));
352
+ md.appendMarkdown('\n\n');
353
+ md.appendMarkdown(nls_1.nls.localize('theia/workspace/restrictedModeNote', '*Please note: The workspace trust feature is currently under development in Theia; not all features are integrated with workspace trust yet*'));
354
+ const restrictions = this.collectRestrictions();
355
+ if (restrictions.length > 0) {
356
+ md.appendMarkdown('\n\n---\n\n');
357
+ for (const restriction of restrictions) {
358
+ md.appendMarkdown(`**${restriction.label}**\n\n`);
359
+ if (restriction.details && restriction.details.length > 0) {
360
+ for (const detail of restriction.details) {
361
+ md.appendMarkdown(`- ${detail}\n`);
362
+ }
363
+ md.appendMarkdown('\n');
364
+ }
365
+ }
366
+ }
367
+ md.appendMarkdown('\n\n---\n\n');
368
+ md.appendMarkdown(nls_1.nls.localize('theia/workspace/clickToManageTrust', 'Click to manage trust settings.'));
369
+ return md;
370
+ }
371
+ collectRestrictions() {
372
+ const restrictions = [];
373
+ for (const contribution of this.restrictionContributions.getContributions()) {
374
+ restrictions.push(...contribution.getRestrictions());
375
+ }
376
+ return restrictions;
377
+ }
260
378
  hideRestrictedModeStatusBarItem() {
261
379
  this.statusBar.removeElement(exports.WORKSPACE_TRUST_STATUS_BAR_ID);
262
380
  }
381
+ /**
382
+ * Refreshes the restricted mode status bar item.
383
+ * Call this when restriction contributions change.
384
+ */
385
+ refreshRestrictedModeIndicator() {
386
+ if (this.currentTrust === false) {
387
+ this.showRestrictedModeStatusBarItem();
388
+ }
389
+ }
263
390
  async requestWorkspaceTrust() {
264
391
  if (!this.isWorkspaceTrustResolved()) {
265
392
  const trusted = await this.showTrustPromptDialog();
@@ -305,6 +432,19 @@ tslib_1.__decorate([
305
432
  (0, inversify_1.inject)(status_bar_1.StatusBar),
306
433
  tslib_1.__metadata("design:type", Object)
307
434
  ], WorkspaceTrustService.prototype, "statusBar", void 0);
435
+ tslib_1.__decorate([
436
+ (0, inversify_1.inject)(core_1.ContributionProvider),
437
+ (0, inversify_1.named)(exports.WorkspaceRestrictionContribution),
438
+ tslib_1.__metadata("design:type", Object)
439
+ ], WorkspaceTrustService.prototype, "restrictionContributions", void 0);
440
+ tslib_1.__decorate([
441
+ (0, inversify_1.inject)(untitled_workspace_service_1.UntitledWorkspaceService),
442
+ tslib_1.__metadata("design:type", untitled_workspace_service_1.UntitledWorkspaceService)
443
+ ], WorkspaceTrustService.prototype, "untitledWorkspaceService", void 0);
444
+ tslib_1.__decorate([
445
+ (0, inversify_1.inject)(env_variables_1.EnvVariablesServer),
446
+ tslib_1.__metadata("design:type", Object)
447
+ ], WorkspaceTrustService.prototype, "envVariablesServer", void 0);
308
448
  tslib_1.__decorate([
309
449
  (0, inversify_1.postConstruct)(),
310
450
  tslib_1.__metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-trust-service.js","sourceRoot":"","sources":["../../src/browser/workspace-trust-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workspace-trust-service.js","sourceRoot":"","sources":["../../src/browser/workspace-trust-service.ts"],"names":[],"mappings":";AAAA,gFAAgF;AAChF,+CAA+C;AAC/C,EAAE;AACF,2EAA2E;AAC3E,mEAAmE;AACnE,wCAAwC;AACxC,EAAE;AACF,4EAA4E;AAC5E,8EAA8E;AAC9E,6EAA6E;AAC7E,yDAAyD;AACzD,uDAAuD;AACvD,EAAE;AACF,gFAAgF;AAChF,gFAAgF;;;;AAEhF,qDAAgF;AAChF,+FAA+G;AAC/G,8EAA8F;AAC9F,sCAA6E;AAC7E,mDAAwD;AACxD,oDAA6C;AAC7C,oEAAmI;AACnI,4EAAwE;AACxE,oDAAiD;AACjD,sEAA+D;AAC/D,4DAAoG;AACpG,kFAA8E;AAC9E,uFAE+C;AAC/C,uHAAiH;AACjH,2DAAuD;AACvD,6DAAyD;AACzD,qFAAgF;AAChF,qEAAgE;AAChE,qFAAgF;AAChF,wEAA0E;AAE1E,MAAM,eAAe,GAAG,SAAS,CAAC;AACrB,QAAA,6BAA6B,GAAG,wBAAwB,CAAC;AAEtE;;;GAGG;AACU,QAAA,gCAAgC,GAAG,MAAM,CAAC,kCAAkC,CAAC,CAAC;AAiBpF,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAA3B;QAqCO,mBAAc,GAAG,IAAI,uBAAQ,EAAW,CAAC;QAIhC,qCAAgC,GAAG,IAAI,gBAAO,EAAW,CAAC;QACpE,8BAAyB,GAAmB,IAAI,CAAC,gCAAgC,CAAC,KAAK,CAAC;QAE9E,cAAS,GAAG,IAAI,2BAAoB,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IA4ZnG,CAAC;IAzZa,IAAI;QACV,IAAI,CAAC,MAAM,EAAE,CAAC;IAClB,CAAC;IAES,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC;QAClC,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC;QACpC,MAAM,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;QACzC,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnC,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,IAAI,CAAC,WAAW,CAAC,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC,CACtF,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAChF,CAAC;QAEF,sDAAsD;QACtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpD,IAAI,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;QAEjD,yBAAyB;QACzB,IAAI,CAAC,SAAS,CAAC,IAAI,CACf,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,EAAE;YACnC,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAC9C,CAAC,CAAC,CACL,CAAC;IACN,CAAC;IAGS,MAAM;QACZ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,iBAAiB;QACb,kFAAkF;QAClF,IAAI,IAAI,CAAC,YAAY,KAAK,SAAS,EAAE,CAAC;YAClC,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IACvC,CAAC;IAES,KAAK,CAAC,qBAAqB,CAAC,UAAoB;QACtD,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,UAAU,IAAI,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjE,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;gBACtC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;gBAC/D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;gBAC1B,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACnC,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClD,IAAI,KAAK,IAAI,IAAI,CAAC,kBAAkB,CAAC,qDAAuB,CAAC,EAAE,CAAC;oBAC5D,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACrC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,iBAAiB,CAAC,OAAgB;QAC9B,IAAI,IAAI,CAAC,YAAY,KAAK,OAAO,EAAE,CAAC;YAChC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,oBAAoB,EAAE,OAAO,CAAC,CAAC;QACjE,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,IAAI,EAAE,CAAC;YACxF,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,gCAAgC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxD,CAAC;IAES,wBAAwB;QAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,YAAY,CAAC;IACtD,CAAC;IAES,KAAK,CAAC,uBAAuB;QACnC,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,CAAC,qDAAuB,CAAC,CAAC;QACtE,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,oCAAoC;QACpC,IAAI,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAChC,OAAO,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,0DAA4B,CAAC,CAAC;QACnE,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,0BAA0B,EAAE,EAAE,CAAC;YAC1C,OAAO,IAAI,CAAC;QAChB,CAAC;QAED,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,KAAK,EAAE,CAAC;YACzF,OAAO,KAAK,CAAC;QACjB,CAAC;QAED,0CAA0C;QAC1C,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,IAAI,EAAE,CAAC;YACxF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACpD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;gBAC5B,OAAO,WAAW,CAAC;YACvB,CAAC;QACL,CAAC;QAED,oEAAoE;QACpE,OAAO,IAAI,CAAC,qBAAqB,EAAE,CAAC;IACxC,CAAC;IAED;;;;;OAKG;IACO,KAAK,CAAC,gBAAgB;QAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAClD,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAClD,uEAAuE;QACvE,iEAAiE;QACjE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrB,MAAM,YAAY,GAAG,IAAI,aAAG,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,CAAC,CAAC;YAC9E,IAAI,IAAI,CAAC,wBAAwB,CAAC,mBAAmB,CAAC,SAAS,CAAC,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;gBACtF,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED;;;;OAIG;IACO,gBAAgB;QACtB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC5E,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC;QAClD,0DAA0D;QAC1D,IAAI,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QAClC,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,0BAA0B;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO,KAAK,CAAC;QACjB,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACO,YAAY,CAAC,GAAQ;QAC3B,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,6DAA+B,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,aAAa,GAAG,CAAC,SAAE,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5C,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,EAAE,CAAC;QAE1C,OAAO,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAChC,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;gBAClD,iEAAiE;gBACjE,OAAO,SAAS,CAAC,eAAe,CAAC,aAAa,EAAE,aAAa,CAAC,CAAC;YACnE,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,KAAK,CAAC,CAAC,6BAA6B;YAC/C,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAES,KAAK,CAAC,qBAAqB;QACjC,iDAAiD;QACjD,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,kBAAkB,GAAG,IAAI,uBAAQ,EAAW,CAAC;QAClD,IAAI,CAAC;YACD,2CAA2C;YAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAElF,MAAM,MAAM,GAAG,IAAI,6CAAoB,CAAC,UAAU,CAAC,CAAC;YAEpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,KAAK,IAAI,CAAC;YAChC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzC,OAAO,OAAO,CAAC;QACnB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;YACvC,MAAM,CAAC,CAAC;QACZ,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,kBAAkB,GAAG,SAAS,CAAC;QACxC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB;QACrB,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,6DAA+B,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,UAAU,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC;QACvC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACrB,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAChC,OAAO,GAAG,IAAI,CAAC;YACnB,CAAC;QACL,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CACtB,6DAA+B,EAC/B,UAAU,EACV,6BAAe,CAAC,IAAI,CACvB,CAAC;QACN,CAAC;IACL,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAED,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,6DAA+B,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,aAAa,GAAG,CAAC,SAAE,CAAC,OAAO,CAAC,SAAS,CAAC;QAC5C,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,CAAC;QAE5D,MAAM,cAAc,GAAG,cAAc,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAClD,IAAI,CAAC;gBACD,MAAM,SAAS,GAAG,IAAI,aAAG,CAAC,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;gBAClD,wDAAwD;gBACxD,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC;YAClF,CAAC;YAAC,MAAM,CAAC;gBACL,OAAO,IAAI,CAAC,CAAC,oBAAoB;YACrC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,cAAc,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;YAClD,MAAM,IAAI,CAAC,WAAW,CAAC,GAAG,CACtB,6DAA+B,EAC/B,cAAc,EACd,6BAAe,CAAC,IAAI,CACvB,CAAC;QACN,CAAC;IACL,CAAC;IAES,KAAK,CAAC,kBAAkB;QAC9B,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,IAAI,EAAE,CAAC;YACxF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAU,eAAe,CAAC,CAAC;QAC1D,CAAC;IACL,CAAC;IAES,KAAK,CAAC,mBAAmB,CAAC,KAAc;QAC9C,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,IAAI,EAAE,CAAC;YACxF,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;IACL,CAAC;IAES,KAAK,CAAC,sBAAsB,CAAC,MAAwB;QAC3D,oDAAoD;QACpD,IAAI,MAAM,CAAC,cAAc,KAAK,6DAA+B,EAAE,CAAC;YAC5D,+EAA+E;YAC/E,IAAI,MAAM,IAAI,CAAC,gBAAgB,EAAE,IAAI,IAAI,CAAC,kBAAkB,CAAC,0DAA4B,CAAC,EAAE,CAAC;gBACzF,OAAO;YACX,CAAC;YACD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,0BAA0B,EAAE,CAAC;YAClE,IAAI,iBAAiB,KAAK,IAAI,CAAC,YAAY,EAAE,CAAC;gBAC1C,IAAI,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO;QACX,CAAC;QAED,IAAI,MAAM,CAAC,KAAK,KAAK,6BAAe,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,MAAM,CAAC,cAAc,KAAK,4DAA8B,IAAI,IAAI,CAAC,kBAAkB,CAAC,4DAA8B,CAAC,KAAK,kDAAoB,CAAC,IAAI,EAAE,CAAC;gBACpJ,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;YACrD,CAAC;YAED,IAAI,MAAM,CAAC,cAAc,KAAK,qDAAuB,IAAI,IAAI,CAAC,wBAAwB,EAAE,IAAI,MAAM,IAAI,CAAC,cAAc,EAAE,EAAE,CAAC;gBACtH,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;gBACvC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAChC,CAAC;YAED,IAAI,MAAM,CAAC,cAAc,KAAK,qDAAuB,EAAE,CAAC;gBACpD,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACjC,CAAC;YAED,sDAAsD;YACtD,IAAI,MAAM,CAAC,cAAc,KAAK,0DAA4B,IAAI,MAAM,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;gBAC1F,0EAA0E;gBAC1E,MAAM,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,0DAA4B,CAAC,CAAC;gBAC5E,IAAI,IAAI,CAAC,YAAY,KAAK,WAAW,EAAE,CAAC;oBACpC,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;gBACxC,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAES,KAAK,CAAC,sBAAsB;QAClC,0CAA0C;QAC1C,IAAI,CAAC,cAAc,GAAG,IAAI,uBAAQ,EAAW,CAAC;QAC9C,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,0CAA0C;QAC1C,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAEnC,8BAA8B;QAC9B,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC7C,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;IAC9C,CAAC;IAES,KAAK,CAAC,cAAc;QAC1B,MAAM,aAAa,GAAG,MAAM,IAAI,uBAAa,CAAC;YAC1C,KAAK,EAAE,SAAG,CAAC,iBAAiB,CAAC,+DAA+D,CAAC;YAC7F,GAAG,EAAE,SAAG,CAAC,iBAAiB,CAAC,iEAAiE,EAAE,wEAAiC,CAAC,GAAG,EAAE,CAAC,eAAe,CAAC;YACtJ,EAAE,EAAE,SAAG,CAAC,iBAAiB,CAAC,SAAS,CAAC;YACpC,MAAM,EAAE,gBAAM,CAAC,MAAM;SACxB,CAAC,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,aAAa,KAAK,IAAI,CAAC;IAClC,CAAC;IAES,6BAA6B,CAAC,OAAgB;QACpD,IAAI,OAAO,EAAE,CAAC;YACV,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC3C,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC3C,CAAC;IACL,CAAC;IAES,+BAA+B;QACrC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,qCAA6B,EAAE;YACrD,IAAI,EAAE,YAAY,GAAG,SAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC;YAC7D,SAAS,EAAE,+BAAkB,CAAC,IAAI;YAClC,eAAe,EAAE,gDAAgD;YACjE,KAAK,EAAE,gDAAgD;YACvD,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,IAAI,CAAC,2BAA2B,EAAE;YAC3C,OAAO,EAAE,sCAAiB,CAAC,sBAAsB,CAAC,EAAE;SACvD,CAAC,CAAC;IACP,CAAC;IAES,2BAA2B;QACjC,MAAM,EAAE,GAAG,IAAI,oCAAkB,CAAC,EAAE,EAAE,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,CAAC;QAEnE,EAAE,CAAC,cAAc,CAAC,KAAK,SAAG,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAEzE,EAAE,CAAC,cAAc,CAAC,SAAG,CAAC,QAAQ,CAAC,2CAA2C,EACtE,mEAAmE,CAAC,CAAC,CAAC;QAC1E,EAAE,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC1B,EAAE,CAAC,cAAc,CAAC,SAAG,CAAC,QAAQ,CAAC,oCAAoC,EAC/D,8IAA8I,CAAC,CAAC,CAAC;QAErJ,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;YACjC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACrC,EAAE,CAAC,cAAc,CAAC,KAAK,WAAW,CAAC,KAAK,QAAQ,CAAC,CAAC;gBAClD,IAAI,WAAW,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxD,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;wBACvC,EAAE,CAAC,cAAc,CAAC,KAAK,MAAM,IAAI,CAAC,CAAC;oBACvC,CAAC;oBACD,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;gBAC5B,CAAC;YACL,CAAC;QACL,CAAC;QAED,EAAE,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC;QACjC,EAAE,CAAC,cAAc,CAAC,SAAG,CAAC,QAAQ,CAAC,oCAAoC,EAAE,iCAAiC,CAAC,CAAC,CAAC;QAEzG,OAAO,EAAE,CAAC;IACd,CAAC;IAES,mBAAmB;QACzB,MAAM,YAAY,GAA2B,EAAE,CAAC;QAChD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,wBAAwB,CAAC,gBAAgB,EAAE,EAAE,CAAC;YAC1E,YAAY,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,eAAe,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAES,+BAA+B;QACrC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,qCAA6B,CAAC,CAAC;IAChE,CAAC;IAED;;;OAGG;IACH,8BAA8B;QAC1B,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;YAC9B,IAAI,CAAC,+BAA+B,EAAE,CAAC;QAC3C,CAAC;IACL,CAAC;IAED,KAAK,CAAC,qBAAqB;QACvB,IAAI,CAAC,IAAI,CAAC,wBAAwB,EAAE,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACnD,MAAM,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;IACvC,CAAC;CACJ,CAAA;AAxcY,sDAAqB;AAEX;IADlB,IAAA,kBAAM,EAAC,oCAAgB,CAAC;sCACY,oCAAgB;+DAAC;AAGnC;IADlB,IAAA,kBAAM,EAAC,+BAAiB,CAAC;;0DACwB;AAG/B;IADlB,IAAA,kBAAM,EAAC,wBAAc,CAAC;;sDACoB;AAGxB;IADlB,IAAA,kBAAM,EAAC,gCAAc,CAAC;sCACY,gCAAc;6DAAC;AAG/B;IADlB,IAAA,kBAAM,EAAC,uDAAyB,CAAC;;iEAC+B;AAG9C;IADlB,IAAA,kBAAM,EAAC,qCAAuB,CAAC;;sEACoC;AAGjD;IADlB,IAAA,kBAAM,EAAC,8BAAa,CAAC;;4DAC0B;AAG7B;IADlB,IAAA,kBAAM,EAAC,uCAAiB,CAAC;;gEAC8B;AAGrC;IADlB,IAAA,kBAAM,EAAC,sBAAS,CAAC;;wDACsB;AAGrB;IADlB,IAAA,kBAAM,EAAC,2BAAoB,CAAC;IAAE,IAAA,iBAAK,EAAC,wCAAgC,CAAC;;uEAC8B;AAGjF;IADlB,IAAA,kBAAM,EAAC,qDAAwB,CAAC;sCACY,qDAAwB;uEAAC;AAGnD;IADlB,IAAA,kBAAM,EAAC,kCAAkB,CAAC;;iEAC+B;AAYhD;IADT,IAAA,yBAAa,GAAE;;;;iDAGf;AA2BS;IADT,IAAA,sBAAU,GAAE;;;;mDAGZ;gCA9EQ,qBAAqB;IADjC,IAAA,sBAAU,GAAE;GACA,qBAAqB,CAwcjC"}