@google/gemini-cli-core 0.17.0-nightly.20251117.cf8de02c6 → 0.17.0-preview.0

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 (106) hide show
  1. package/dist/index.d.ts +2 -1
  2. package/dist/index.js +2 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/code_assist/experiments/flagNames.d.ts +3 -0
  5. package/dist/src/code_assist/experiments/flagNames.js +3 -0
  6. package/dist/src/code_assist/experiments/flagNames.js.map +1 -1
  7. package/dist/src/config/config.d.ts +13 -0
  8. package/dist/src/config/config.js +44 -1
  9. package/dist/src/config/config.js.map +1 -1
  10. package/dist/src/config/config.test.js +77 -0
  11. package/dist/src/config/config.test.js.map +1 -1
  12. package/dist/src/config/models.d.ts +22 -1
  13. package/dist/src/config/models.js +48 -5
  14. package/dist/src/config/models.js.map +1 -1
  15. package/dist/src/config/models.test.js +71 -10
  16. package/dist/src/config/models.test.js.map +1 -1
  17. package/dist/src/core/client.d.ts +0 -1
  18. package/dist/src/core/client.js +5 -12
  19. package/dist/src/core/client.js.map +1 -1
  20. package/dist/src/core/client.test.js +5 -16
  21. package/dist/src/core/client.test.js.map +1 -1
  22. package/dist/src/core/geminiChat.d.ts +2 -0
  23. package/dist/src/core/geminiChat.js +91 -12
  24. package/dist/src/core/geminiChat.js.map +1 -1
  25. package/dist/src/core/geminiChat.test.js +253 -18
  26. package/dist/src/core/geminiChat.test.js.map +1 -1
  27. package/dist/src/fallback/handler.js +52 -5
  28. package/dist/src/fallback/handler.js.map +1 -1
  29. package/dist/src/fallback/handler.test.js +64 -4
  30. package/dist/src/fallback/handler.test.js.map +1 -1
  31. package/dist/src/fallback/types.d.ts +1 -1
  32. package/dist/src/generated/git-commit.d.ts +2 -2
  33. package/dist/src/generated/git-commit.js +2 -2
  34. package/dist/src/generated/git-commit.js.map +1 -1
  35. package/dist/src/ide/detect-ide.d.ts +4 -0
  36. package/dist/src/ide/detect-ide.js +4 -0
  37. package/dist/src/ide/detect-ide.js.map +1 -1
  38. package/dist/src/ide/detect-ide.test.js +5 -0
  39. package/dist/src/ide/detect-ide.test.js.map +1 -1
  40. package/dist/src/ide/ide-client.d.ts +3 -1
  41. package/dist/src/ide/ide-client.js +5 -4
  42. package/dist/src/ide/ide-client.js.map +1 -1
  43. package/dist/src/ide/ide-installer.js +65 -20
  44. package/dist/src/ide/ide-installer.js.map +1 -1
  45. package/dist/src/ide/ide-installer.test.js +41 -0
  46. package/dist/src/ide/ide-installer.test.js.map +1 -1
  47. package/dist/src/index.d.ts +1 -0
  48. package/dist/src/index.js +1 -0
  49. package/dist/src/index.js.map +1 -1
  50. package/dist/src/routing/modelRouterService.js +15 -0
  51. package/dist/src/routing/modelRouterService.js.map +1 -1
  52. package/dist/src/routing/modelRouterService.test.js +62 -0
  53. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  54. package/dist/src/routing/strategies/classifierStrategy.d.ts +1 -1
  55. package/dist/src/routing/strategies/classifierStrategy.js +4 -4
  56. package/dist/src/routing/strategies/classifierStrategy.js.map +1 -1
  57. package/dist/src/routing/strategies/classifierStrategy.test.js +1 -0
  58. package/dist/src/routing/strategies/classifierStrategy.test.js.map +1 -1
  59. package/dist/src/routing/strategies/fallbackStrategy.js +1 -1
  60. package/dist/src/routing/strategies/fallbackStrategy.js.map +1 -1
  61. package/dist/src/routing/strategies/fallbackStrategy.test.js +4 -0
  62. package/dist/src/routing/strategies/fallbackStrategy.test.js.map +1 -1
  63. package/dist/src/routing/strategies/overrideStrategy.js +2 -2
  64. package/dist/src/routing/strategies/overrideStrategy.js.map +1 -1
  65. package/dist/src/routing/strategies/overrideStrategy.test.js +3 -0
  66. package/dist/src/routing/strategies/overrideStrategy.test.js.map +1 -1
  67. package/dist/src/tools/edit.test.js +203 -200
  68. package/dist/src/tools/edit.test.js.map +1 -1
  69. package/dist/src/tools/mcp-client.d.ts +4 -2
  70. package/dist/src/tools/mcp-client.js +76 -22
  71. package/dist/src/tools/mcp-client.js.map +1 -1
  72. package/dist/src/tools/mcp-client.test.js +111 -42
  73. package/dist/src/tools/mcp-client.test.js.map +1 -1
  74. package/dist/src/tools/mcp-tool.test.js +186 -273
  75. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  76. package/dist/src/tools/ripGrep.test.js +84 -126
  77. package/dist/src/tools/ripGrep.test.js.map +1 -1
  78. package/dist/src/tools/smart-edit.test.js +92 -111
  79. package/dist/src/tools/smart-edit.test.js.map +1 -1
  80. package/dist/src/tools/tool-registry.test.js +59 -90
  81. package/dist/src/tools/tool-registry.test.js.map +1 -1
  82. package/dist/src/tools/web-fetch.test.js +121 -179
  83. package/dist/src/tools/web-fetch.test.js.map +1 -1
  84. package/dist/src/tools/write-file.test.js +105 -116
  85. package/dist/src/tools/write-file.test.js.map +1 -1
  86. package/dist/src/utils/editor.d.ts +3 -1
  87. package/dist/src/utils/editor.js +18 -1
  88. package/dist/src/utils/editor.js.map +1 -1
  89. package/dist/src/utils/editor.test.js +11 -0
  90. package/dist/src/utils/editor.test.js.map +1 -1
  91. package/dist/src/utils/flashFallback.test.js +2 -2
  92. package/dist/src/utils/flashFallback.test.js.map +1 -1
  93. package/dist/src/utils/googleQuotaErrors.d.ts +2 -1
  94. package/dist/src/utils/googleQuotaErrors.js +20 -12
  95. package/dist/src/utils/googleQuotaErrors.js.map +1 -1
  96. package/dist/src/utils/httpErrors.d.ts +18 -0
  97. package/dist/src/utils/httpErrors.js +36 -0
  98. package/dist/src/utils/httpErrors.js.map +1 -0
  99. package/dist/src/utils/retry.d.ts +0 -9
  100. package/dist/src/utils/retry.js +24 -28
  101. package/dist/src/utils/retry.js.map +1 -1
  102. package/dist/src/utils/retry.test.js +51 -0
  103. package/dist/src/utils/retry.test.js.map +1 -1
  104. package/dist/tsconfig.tsbuildinfo +1 -1
  105. package/package.json +2 -2
  106. package/dist/google-gemini-cli-core-0.17.0-nightly.20251116.e650a4ee5.tgz +0 -0
@@ -359,6 +359,7 @@ describe('WriteFileTool', () => {
359
359
  expect(invocation.params.content).toBe('ide-modified-content');
360
360
  });
361
361
  it('should not await ideConfirmation promise', async () => {
362
+ const IDE_DIFF_DELAY_MS = 50;
362
363
  const filePath = path.join(rootDir, 'ide_no_await_file.txt');
363
364
  const params = { file_path: filePath, content: 'test' };
364
365
  const invocation = tool.build(params);
@@ -367,7 +368,7 @@ describe('WriteFileTool', () => {
367
368
  setTimeout(() => {
368
369
  diffPromiseResolved = true;
369
370
  resolve({ status: 'accepted', content: 'ide-modified-content' });
370
- }, 50); // A small delay to ensure the check happens before resolution
371
+ }, IDE_DIFF_DELAY_MS);
371
372
  });
372
373
  mockIdeClient.openDiff.mockReturnValue(diffPromise);
373
374
  const confirmation = (await invocation.shouldConfirmExecute(abortSignal));
@@ -384,6 +385,14 @@ describe('WriteFileTool', () => {
384
385
  });
385
386
  describe('execute', () => {
386
387
  const abortSignal = new AbortController().signal;
388
+ async function confirmExecution(invocation, signal = abortSignal) {
389
+ const confirmDetails = await invocation.shouldConfirmExecute(signal);
390
+ if (typeof confirmDetails === 'object' &&
391
+ 'onConfirm' in confirmDetails &&
392
+ confirmDetails.onConfirm) {
393
+ await confirmDetails.onConfirm(ToolConfirmationOutcome.ProceedOnce);
394
+ }
395
+ }
387
396
  it('should write a new file with a relative path', async () => {
388
397
  const relativePath = 'execute_relative_new_file.txt';
389
398
  const filePath = path.join(rootDir, relativePath);
@@ -422,12 +431,7 @@ describe('WriteFileTool', () => {
422
431
  mockEnsureCorrectFileContent.mockResolvedValue(correctedContent);
423
432
  const params = { file_path: filePath, content: proposedContent };
424
433
  const invocation = tool.build(params);
425
- const confirmDetails = await invocation.shouldConfirmExecute(abortSignal);
426
- if (typeof confirmDetails === 'object' &&
427
- 'onConfirm' in confirmDetails &&
428
- confirmDetails.onConfirm) {
429
- await confirmDetails.onConfirm(ToolConfirmationOutcome.ProceedOnce);
430
- }
434
+ await confirmExecution(invocation);
431
435
  const result = await invocation.execute(abortSignal);
432
436
  expect(mockEnsureCorrectFileContent).toHaveBeenCalledWith(proposedContent, mockBaseLlmClientInstance, abortSignal);
433
437
  expect(result.llmContent).toMatch(/Successfully created and wrote to new file/);
@@ -456,12 +460,7 @@ describe('WriteFileTool', () => {
456
460
  });
457
461
  const params = { file_path: filePath, content: proposedContent };
458
462
  const invocation = tool.build(params);
459
- const confirmDetails = await invocation.shouldConfirmExecute(abortSignal);
460
- if (typeof confirmDetails === 'object' &&
461
- 'onConfirm' in confirmDetails &&
462
- confirmDetails.onConfirm) {
463
- await confirmDetails.onConfirm(ToolConfirmationOutcome.ProceedOnce);
464
- }
463
+ await confirmExecution(invocation);
465
464
  const result = await invocation.execute(abortSignal);
466
465
  expect(mockEnsureCorrectEdit).toHaveBeenCalledWith(filePath, initialContent, {
467
466
  old_string: initialContent,
@@ -483,56 +482,46 @@ describe('WriteFileTool', () => {
483
482
  mockEnsureCorrectFileContent.mockResolvedValue(content); // Ensure this mock is active
484
483
  const params = { file_path: filePath, content };
485
484
  const invocation = tool.build(params);
486
- // Simulate confirmation if your logic requires it before execute, or remove if not needed for this path
487
- const confirmDetails = await invocation.shouldConfirmExecute(abortSignal);
488
- if (typeof confirmDetails === 'object' &&
489
- 'onConfirm' in confirmDetails &&
490
- confirmDetails.onConfirm) {
491
- await confirmDetails.onConfirm(ToolConfirmationOutcome.ProceedOnce);
492
- }
485
+ await confirmExecution(invocation);
493
486
  await invocation.execute(abortSignal);
494
487
  expect(fs.existsSync(dirPath)).toBe(true);
495
488
  expect(fs.statSync(dirPath).isDirectory()).toBe(true);
496
489
  expect(fs.existsSync(filePath)).toBe(true);
497
490
  expect(fs.readFileSync(filePath, 'utf8')).toBe(content);
498
491
  });
499
- it('should include modification message when proposed content is modified', async () => {
500
- const filePath = path.join(rootDir, 'new_file_modified.txt');
501
- const content = 'New file content modified by user';
502
- mockEnsureCorrectFileContent.mockResolvedValue(content);
503
- const params = {
504
- file_path: filePath,
505
- content,
492
+ it.each([
493
+ {
506
494
  modified_by_user: true,
507
- };
508
- const invocation = tool.build(params);
509
- const result = await invocation.execute(abortSignal);
510
- expect(result.llmContent).toMatch(/User modified the `content`/);
511
- });
512
- it('should not include modification message when proposed content is not modified', async () => {
513
- const filePath = path.join(rootDir, 'new_file_unmodified.txt');
514
- const content = 'New file content not modified';
515
- mockEnsureCorrectFileContent.mockResolvedValue(content);
516
- const params = {
517
- file_path: filePath,
518
- content,
495
+ shouldIncludeMessage: true,
496
+ testCase: 'when modified_by_user is true',
497
+ },
498
+ {
519
499
  modified_by_user: false,
520
- };
521
- const invocation = tool.build(params);
522
- const result = await invocation.execute(abortSignal);
523
- expect(result.llmContent).not.toMatch(/User modified the `content`/);
524
- });
525
- it('should not include modification message when modified_by_user is not provided', async () => {
526
- const filePath = path.join(rootDir, 'new_file_unmodified.txt');
527
- const content = 'New file content not modified';
500
+ shouldIncludeMessage: false,
501
+ testCase: 'when modified_by_user is false',
502
+ },
503
+ {
504
+ modified_by_user: undefined,
505
+ shouldIncludeMessage: false,
506
+ testCase: 'when modified_by_user is not provided',
507
+ },
508
+ ])('should $testCase include modification message', async ({ modified_by_user, shouldIncludeMessage }) => {
509
+ const filePath = path.join(rootDir, `new_file_${modified_by_user}.txt`);
510
+ const content = 'New file content';
528
511
  mockEnsureCorrectFileContent.mockResolvedValue(content);
529
512
  const params = {
530
513
  file_path: filePath,
531
514
  content,
515
+ ...(modified_by_user !== undefined && { modified_by_user }),
532
516
  };
533
517
  const invocation = tool.build(params);
534
518
  const result = await invocation.execute(abortSignal);
535
- expect(result.llmContent).not.toMatch(/User modified the `content`/);
519
+ if (shouldIncludeMessage) {
520
+ expect(result.llmContent).toMatch(/User modified the `content`/);
521
+ }
522
+ else {
523
+ expect(result.llmContent).not.toMatch(/User modified the `content`/);
524
+ }
536
525
  });
537
526
  });
538
527
  describe('workspace boundary validation', () => {
@@ -553,76 +542,76 @@ describe('WriteFileTool', () => {
553
542
  });
554
543
  describe('specific error types for write failures', () => {
555
544
  const abortSignal = new AbortController().signal;
556
- it('should return PERMISSION_DENIED error when write fails with EACCES', async () => {
557
- const filePath = path.join(rootDir, 'permission_denied_file.txt');
545
+ it.each([
546
+ {
547
+ errorCode: 'EACCES',
548
+ errorType: ToolErrorType.PERMISSION_DENIED,
549
+ errorMessage: 'Permission denied',
550
+ expectedMessagePrefix: 'Permission denied writing to file',
551
+ mockFsExistsSync: false,
552
+ restoreAllMocks: false,
553
+ },
554
+ {
555
+ errorCode: 'ENOSPC',
556
+ errorType: ToolErrorType.NO_SPACE_LEFT,
557
+ errorMessage: 'No space left on device',
558
+ expectedMessagePrefix: 'No space left on device',
559
+ mockFsExistsSync: false,
560
+ restoreAllMocks: false,
561
+ },
562
+ {
563
+ errorCode: 'EISDIR',
564
+ errorType: ToolErrorType.TARGET_IS_DIRECTORY,
565
+ errorMessage: 'Is a directory',
566
+ expectedMessagePrefix: 'Target is a directory, not a file',
567
+ mockFsExistsSync: true,
568
+ restoreAllMocks: false,
569
+ },
570
+ {
571
+ errorCode: undefined,
572
+ errorType: ToolErrorType.FILE_WRITE_FAILURE,
573
+ errorMessage: 'Generic write error',
574
+ expectedMessagePrefix: 'Error writing to file',
575
+ mockFsExistsSync: false,
576
+ restoreAllMocks: true,
577
+ },
578
+ ])('should return $errorType error when write fails with $errorCode', async ({ errorCode, errorType, errorMessage, expectedMessagePrefix, mockFsExistsSync, restoreAllMocks, }) => {
579
+ const filePath = path.join(rootDir, `${errorType}_file.txt`);
558
580
  const content = 'test content';
559
- // Mock FileSystemService writeTextFile to throw EACCES error
560
- vi.spyOn(fsService, 'writeTextFile').mockImplementationOnce(() => {
561
- const error = new Error('Permission denied');
562
- error.code = 'EACCES';
563
- return Promise.reject(error);
564
- });
565
- const params = { file_path: filePath, content };
566
- const invocation = tool.build(params);
567
- const result = await invocation.execute(abortSignal);
568
- expect(result.error?.type).toBe(ToolErrorType.PERMISSION_DENIED);
569
- expect(result.llmContent).toContain(`Permission denied writing to file: ${filePath} (EACCES)`);
570
- expect(result.returnDisplay).toContain(`Permission denied writing to file: ${filePath} (EACCES)`);
571
- });
572
- it('should return NO_SPACE_LEFT error when write fails with ENOSPC', async () => {
573
- const filePath = path.join(rootDir, 'no_space_file.txt');
574
- const content = 'test content';
575
- // Mock FileSystemService writeTextFile to throw ENOSPC error
576
- vi.spyOn(fsService, 'writeTextFile').mockImplementationOnce(() => {
577
- const error = new Error('No space left on device');
578
- error.code = 'ENOSPC';
579
- return Promise.reject(error);
580
- });
581
- const params = { file_path: filePath, content };
582
- const invocation = tool.build(params);
583
- const result = await invocation.execute(abortSignal);
584
- expect(result.error?.type).toBe(ToolErrorType.NO_SPACE_LEFT);
585
- expect(result.llmContent).toContain(`No space left on device: ${filePath} (ENOSPC)`);
586
- expect(result.returnDisplay).toContain(`No space left on device: ${filePath} (ENOSPC)`);
587
- });
588
- it('should return TARGET_IS_DIRECTORY error when write fails with EISDIR', async () => {
589
- const dirPath = path.join(rootDir, 'test_directory');
590
- const content = 'test content';
591
- // Mock fs.existsSync to return false to bypass validation
592
- const originalExistsSync = fs.existsSync;
593
- vi.spyOn(fs, 'existsSync').mockImplementation((path) => {
594
- if (path === dirPath) {
595
- return false; // Pretend directory doesn't exist to bypass validation
581
+ if (restoreAllMocks) {
582
+ vi.restoreAllMocks();
583
+ }
584
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
585
+ let existsSyncSpy;
586
+ try {
587
+ if (mockFsExistsSync) {
588
+ const originalExistsSync = fs.existsSync;
589
+ existsSyncSpy = vi
590
+ .spyOn(fs, 'existsSync')
591
+ .mockImplementation((path) => path === filePath ? false : originalExistsSync(path));
596
592
  }
597
- return originalExistsSync(path);
598
- });
599
- // Mock FileSystemService writeTextFile to throw EISDIR error
600
- vi.spyOn(fsService, 'writeTextFile').mockImplementationOnce(() => {
601
- const error = new Error('Is a directory');
602
- error.code = 'EISDIR';
603
- return Promise.reject(error);
604
- });
605
- const params = { file_path: dirPath, content };
606
- const invocation = tool.build(params);
607
- const result = await invocation.execute(abortSignal);
608
- expect(result.error?.type).toBe(ToolErrorType.TARGET_IS_DIRECTORY);
609
- expect(result.llmContent).toContain(`Target is a directory, not a file: ${dirPath} (EISDIR)`);
610
- expect(result.returnDisplay).toContain(`Target is a directory, not a file: ${dirPath} (EISDIR)`);
611
- vi.spyOn(fs, 'existsSync').mockImplementation(originalExistsSync);
612
- });
613
- it('should return FILE_WRITE_FAILURE for generic write errors', async () => {
614
- const filePath = path.join(rootDir, 'generic_error_file.txt');
615
- const content = 'test content';
616
- // Ensure fs.existsSync is not mocked for this test
617
- vi.restoreAllMocks();
618
- // Mock FileSystemService writeTextFile to throw generic error
619
- vi.spyOn(fsService, 'writeTextFile').mockImplementationOnce(() => Promise.reject(new Error('Generic write error')));
620
- const params = { file_path: filePath, content };
621
- const invocation = tool.build(params);
622
- const result = await invocation.execute(abortSignal);
623
- expect(result.error?.type).toBe(ToolErrorType.FILE_WRITE_FAILURE);
624
- expect(result.llmContent).toContain('Error writing to file: Generic write error');
625
- expect(result.returnDisplay).toContain('Error writing to file: Generic write error');
593
+ vi.spyOn(fsService, 'writeTextFile').mockImplementationOnce(() => {
594
+ const error = new Error(errorMessage);
595
+ if (errorCode)
596
+ error.code = errorCode;
597
+ return Promise.reject(error);
598
+ });
599
+ const params = { file_path: filePath, content };
600
+ const invocation = tool.build(params);
601
+ const result = await invocation.execute(abortSignal);
602
+ expect(result.error?.type).toBe(errorType);
603
+ const errorSuffix = errorCode ? ` (${errorCode})` : '';
604
+ const expectedMessage = errorCode
605
+ ? `${expectedMessagePrefix}: ${filePath}${errorSuffix}`
606
+ : `${expectedMessagePrefix}: ${errorMessage}`;
607
+ expect(result.llmContent).toContain(expectedMessage);
608
+ expect(result.returnDisplay).toContain(expectedMessage);
609
+ }
610
+ finally {
611
+ if (existsSyncSpy) {
612
+ existsSyncSpy.mockRestore();
613
+ }
614
+ }
626
615
  });
627
616
  });
628
617
  });
@@ -1 +1 @@
1
- {"version":3,"file":"write-file.test.js","sourceRoot":"","sources":["../../../src/tools/write-file.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,QAAQ,EACR,EAAE,EACF,MAAM,EACN,UAAU,EACV,SAAS,EACT,EAAE,GAEH,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAuB,MAAM,WAAW,CAAC;AAEhD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAGjD,OAAO,EACL,iBAAiB,EACjB,wBAAwB,GACzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,yBAAyB,EAAE,MAAM,kCAAkC,CAAC;AAE7E,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAEhE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAElE,gBAAgB;AAChB,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAC7B,EAAE,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;AACrC,EAAE,CAAC,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE,CAAC,CAAC;IACrC,SAAS,EAAE;QACT,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE;KACrB;CACF,CAAC,CAAC,CAAC;AACJ,IAAI,wBAA8C,CAAC;AACnD,IAAI,yBAAgD,CAAC;AACrD,MAAM,qBAAqB,GAAG,EAAE,CAAC,EAAE,EAA4B,CAAC;AAChE,MAAM,4BAA4B,GAAG,EAAE,CAAC,EAAE,EAAmC,CAAC;AAC9E,MAAM,aAAa,GAAG;IACpB,QAAQ,EAAE,EAAE,CAAC,EAAE,EAAE;IACjB,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC1B,CAAC;AAEF,uEAAuE;AACvE,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;AACvE,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,kBAAkB,CACpD,4BAA4B,CAC7B,CAAC;AACF,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,iBAAiB,CAChD,aAAqC,CACtC,CAAC;AAEF,cAAc;AACd,MAAM,SAAS,GAAG,IAAI,yBAAyB,EAAE,CAAC;AAClD,MAAM,kBAAkB,GAAG;IACzB,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO;IAC3B,eAAe,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC;IAClD,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE;IACxB,eAAe,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,sCAAsC;IAChE,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,sCAAsC;IACjE,oBAAoB,EAAE,GAAG,EAAE,CAAC,SAAS;IACrC,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC;IAC9B,mBAAmB,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,CAAC,OAAO,CAAC;IACxD,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU;IAC3B,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY;IAC5B,UAAU,EAAE,GAAG,EAAE,CAAC,KAAK;IACvB,YAAY,EAAE,GAAG,EAAE,CAAC,KAAK;IACzB,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS;IAE5B,uBAAuB,EAAE,GAAG,EAAE,CAAC,SAAS;IACxC,kBAAkB,EAAE,GAAG,EAAE,CAAC,SAAS;IACnC,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;IACpC,aAAa,EAAE,GAAG,EAAE,CAAC,SAAS;IAC9B,YAAY,EAAE,GAAG,EAAE,CAAC,YAAY;IAChC,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE;IACvB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;IACtB,oBAAoB,EAAE,GAAG,EAAE,CAAC,CAAC;IAC7B,oBAAoB,EAAE,EAAE,CAAC,EAAE,EAAE;IAC7B,eAAe,EAAE,GAAG,EAAE,CACpB,CAAC;QACC,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;QACrB,aAAa,EAAE,EAAE,CAAC,EAAE,EAAE;KACvB,CAA4B;IAC/B,aAAa,EAAE,GAAG,EAAE,CAAC,KAAK;CAC3B,CAAC;AACF,MAAM,UAAU,GAAG,kBAAuC,CAAC;AAE3D,EAAE,CAAC,IAAI,CAAC,yBAAyB,EAAE,GAAG,EAAE,CAAC,CAAC;IACxC,gBAAgB,EAAE,EAAE,CAAC,EAAE,EAAE;CAC1B,CAAC,CAAC,CAAC;AAEJ,oBAAoB;AAEpB,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,IAAmB,CAAC;IACxB,IAAI,OAAe,CAAC;IAEpB,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,aAAa,EAAE,CAAC;QACnB,yEAAyE;QACzE,OAAO,GAAG,EAAE,CAAC,WAAW,CACtB,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,2BAA2B,CAAC,CACpD,CAAC;QACF,yCAAyC;QACzC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,CAAC;QAED,0BAA0B;QAC1B,wBAAwB,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CACtD,UAAU,CACa,CAAC;QAC1B,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,wBAAwB,CAAC,CAAC;QAE3E,2BAA2B;QAC3B,yBAAyB,GAAG;YAC1B,YAAY,EAAE,EAAE,CAAC,EAAE,EAAE;SACc,CAAC;QAEtC,EAAE,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC;QACvE,EAAE,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,kBAAkB,CACpD,4BAA4B,CAC7B,CAAC;QAEF,2FAA2F;QAC3F,kBAAkB,CAAC,eAAe,CAAC,eAAe,CAChD,wBAAwB,CACzB,CAAC;QACF,kBAAkB,CAAC,gBAAgB,CAAC,eAAe,CACjD,yBAAyB,CAC1B,CAAC;QAEF,IAAI,GAAG,IAAI,aAAa,CAAC,UAAU,CAAC,CAAC;QAErC,+BAA+B;QAC/B,kBAAkB,CAAC,eAAe,CAAC,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;QACzE,kBAAkB,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC;QAC/C,qBAAqB,CAAC,SAAS,EAAE,CAAC;QAClC,4BAA4B,CAAC,SAAS,EAAE,CAAC;QAEzC,4DAA4D;QAC5D,qBAAqB,CAAC,kBAAkB,CACtC,KAAK,EACH,QAAgB,EAChB,eAAuB,EACvB,MAAsB,EACtB,OAAqB,EACrB,WAA0B,EAC1B,MAAoB,EACU,EAAE;YAChC,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,EAAE,EAAE;gBAC1D,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,4BAA4B,CAAC,kBAAkB,CAC7C,KAAK,EACH,OAAe,EACf,WAA0B,EAC1B,MAAoB,EACH,EAAE;YACnB,IAAI,MAAM,EAAE,OAAO,EAAE,CAAC;gBACpB,OAAO,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;YAC9C,CAAC;YACD,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC,CACF,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,qCAAqC;QACrC,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC3B,EAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,OAAO,EAAE,GAAG,EAAE;QACrB,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;gBACzC,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;YAC3E,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,UAAU;gBACrB,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,CAAC,UAAU,CAAC,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,WAAW;gBACtB,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACtC,2DAA2D,CAC5D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACxD,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,aAAa;gBACxB,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACtC,oCAAoC,aAAa,EAAE,CACpD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACxD,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,aAAa;gBACxB,OAAO,EAAE,IAAI;aACoB,CAAC,CAAC,+BAA+B;YACpE,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC;QAC5E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;YACxD,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,EAAE;gBACb,OAAO,EAAE,EAAE;aACZ,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC9D,MAAM,eAAe,GAAG,uBAAuB,CAAC;YAChD,MAAM,gBAAgB,GAAG,wBAAwB,CAAC;YAClD,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;YACjD,sFAAsF;YACtF,4BAA4B,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,CACZ,CAAC;YAEF,MAAM,CAAC,4BAA4B,CAAC,CAAC,oBAAoB,CACvD,eAAe,EACf,yBAAyB,EACzB,WAAW,CACZ,CAAC;YACF,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YACvD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;YACnE,MAAM,eAAe,GAAG,4BAA4B,CAAC;YACrD,MAAM,eAAe,GAAG,+BAA+B,CAAC;YACxD,MAAM,wBAAwB,GAAG,gCAAgC,CAAC;YAClE,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;YACjD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YAEpD,+DAA+D;YAC/D,qBAAqB,CAAC,iBAAiB,CAAC;gBACtC,MAAM,EAAE;oBACN,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,eAAe;oBAC3B,UAAU,EAAE,wBAAwB;iBACrC;gBACD,WAAW,EAAE,CAAC;aACQ,CAAC,CAAC;YAE1B,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,CACZ,CAAC;YAEF,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAChD,QAAQ,EACR,eAAe,EACf;gBACE,UAAU,EAAE,eAAe;gBAC3B,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,QAAQ;aACpB,EACD,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,CACZ,CAAC;YACF,MAAM,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YAC/D,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC3D,MAAM,eAAe,GAAG,cAAc,CAAC;YACvC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;YACjD,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAEvD,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;YACjD,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAC9D,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAC1B,CAAC;YAEF,MAAM,MAAM,GAAG,MAAM,uBAAuB,CAC1C,UAAU,EACV,QAAQ,EACR,eAAe,EACf,WAAW,CACZ,CAAC;YAEF,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,CAAC,qBAAqB,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACrD,MAAM,CAAC,4BAA4B,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YAC5D,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtD,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACxC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;gBAC3B,OAAO,EAAE,mBAAmB;gBAC5B,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;YAEH,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;QAEjD,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;YAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAChE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAExD,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACrE,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAC9D,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAC1B,CAAC;YAEF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YACxE,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEjC,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;YAC5D,MAAM,eAAe,GAAG,wCAAwC,CAAC;YACjE,MAAM,gBAAgB,GAAG,yCAAyC,CAAC;YACnE,4BAA4B,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,6BAA6B;YAE/F,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,CAAC,MAAM,UAAU,CAAC,oBAAoB,CACzD,WAAW,CACZ,CAAgC,CAAC;YAElC,MAAM,CAAC,4BAA4B,CAAC,CAAC,oBAAoB,CACvD,eAAe,EACf,yBAAyB,EACzB,WAAW,CACZ,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAC1B,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,kBAAkB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClD,QAAQ,EAAE,sBAAsB;gBAChC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,gBAAgB,CAAC;aACpD,CAAC,CACH,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CACnC,mCAAmC,CACpC,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CACnC,uCAAuC,CACxC,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qFAAqF,EAAE,KAAK,IAAI,EAAE;YACnG,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;YACjE,MAAM,eAAe,GAAG,oCAAoC,CAAC;YAC7D,MAAM,eAAe,GAAG,wCAAwC,CAAC;YACjE,MAAM,wBAAwB,GAC5B,yCAAyC,CAAC;YAC5C,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;YAEpD,qBAAqB,CAAC,iBAAiB,CAAC;gBACtC,MAAM,EAAE;oBACN,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,eAAe;oBAC3B,UAAU,EAAE,wBAAwB;iBACrC;gBACD,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,YAAY,GAAG,CAAC,MAAM,UAAU,CAAC,oBAAoB,CACzD,WAAW,CACZ,CAAgC,CAAC;YAElC,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAChD,QAAQ,EACR,eAAe,EACf;gBACE,UAAU,EAAE,eAAe;gBAC3B,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,QAAQ;aACpB,EACD,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,CACZ,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAC1B,MAAM,CAAC,gBAAgB,CAAC;gBACtB,KAAK,EAAE,kBAAkB,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;gBAClD,QAAQ,EAAE,2BAA2B;gBACrC,QAAQ,EAAE,MAAM,CAAC,gBAAgB,CAAC,wBAAwB,CAAC;aAC5D,CAAC,CACH,CAAC;YACF,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,OAAO,CACnC,eAAe,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CACxD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;YACpC,UAAU,CAAC,GAAG,EAAE;gBACd,4DAA4D;gBAC5D,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACpD,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBACrD,aAAa,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBACvC,MAAM,EAAE,UAAU;oBAClB,OAAO,EAAE,sBAAsB;iBAChC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kEAAkE,EAAE,KAAK,IAAI,EAAE;gBAChF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,sBAAsB,CAAC,CAAC;gBAC5D,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEtC,MAAM,YAAY,GAAG,CAAC,MAAM,UAAU,CAAC,oBAAoB,CACzD,WAAW,CACZ,CAAgC,CAAC;gBAElC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,oBAAoB,CACjD,QAAQ,EACR,MAAM,CACP,CAAC;gBACF,uDAAuD;gBACvD,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnD,MAAM,YAAY,CAAC,eAAe,CAAC,CAAC,iBAAiB;YACvD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;gBAC3D,kBAAkB,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEtC,MAAM,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBAEnD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,kDAAkD,EAAE,KAAK,IAAI,EAAE;gBAChE,aAAa,CAAC,gBAAgB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,2BAA2B,CAAC,CAAC;gBACjE,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEtC,MAAM,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;gBAEnD,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,gBAAgB,EAAE,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,wEAAwE,EAAE,KAAK,IAAI,EAAE;gBACtF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;gBAC9D,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC;gBACpE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEtC,qDAAqD;gBACrD,MAAM,YAAY,GAAG,CAAC,MAAM,UAAU,CAAC,oBAAoB,CACzD,WAAW,CACZ,CAAgC,CAAC;gBAElC,8DAA8D;gBAC9D,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;gBAE7C,iEAAiE;gBACjE,MAAM,YAAY,CAAC,SAAU,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;gBAEnE,uFAAuF;gBACvF,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACjE,CAAC,CAAC,CAAC;YAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;gBACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;gBAC7D,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;gBACxD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAEtC,IAAI,mBAAmB,GAAG,KAAK,CAAC;gBAChC,MAAM,WAAW,GAAG,IAAI,OAAO,CAAmB,CAAC,OAAO,EAAE,EAAE;oBAC5D,UAAU,CAAC,GAAG,EAAE;wBACd,mBAAmB,GAAG,IAAI,CAAC;wBAC3B,OAAO,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;oBACnE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,8DAA8D;gBACxE,CAAC,CAAC,CAAC;gBACH,aAAa,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;gBAEpD,MAAM,YAAY,GAAG,CAAC,MAAM,UAAU,CAAC,oBAAoB,CACzD,WAAW,CACZ,CAAgC,CAAC;gBAElC,qEAAqE;gBACrE,wCAAwC;gBACxC,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACxC,MAAM,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,CAAC;gBACnC,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAEvD,gEAAgE;gBAChE,MAAM,WAAW,CAAC;gBAClB,MAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;QACvB,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;QAEjD,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,YAAY,GAAG,+BAA+B,CAAC;YACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;YAClD,MAAM,OAAO,GAAG,iCAAiC,CAAC;YAClD,4BAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,YAAY,EAAE,OAAO,EAAE,CAAC;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAC/B,4CAA4C,CAC7C,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iFAAiF,EAAE,KAAK,IAAI,EAAE;YAC/F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC9D,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC;YAChE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;YAExD,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE;gBAC9D,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;gBAChE,OAAO,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YACrD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CAAC,8BAA8B,CAAC,CAAC;YACpE,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,OAAO,CAClC,gEAAgE,CACjE,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;gBAC3B,OAAO,EACL,gEAAgE;gBAClE,IAAI,EAAE,aAAa,CAAC,kBAAkB;aACvC,CAAC,CAAC;YAEH,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gCAAgC,CAAC,CAAC;YACtE,MAAM,eAAe,GAAG,mCAAmC,CAAC;YAC5D,MAAM,gBAAgB,GAAG,oCAAoC,CAAC;YAC9D,4BAA4B,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;YAEjE,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEtC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC1E,IACE,OAAO,cAAc,KAAK,QAAQ;gBAClC,WAAW,IAAI,cAAc;gBAC7B,cAAc,CAAC,SAAS,EACxB,CAAC;gBACD,MAAM,cAAc,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,4BAA4B,CAAC,CAAC,oBAAoB,CACvD,eAAe,EACf,yBAAyB,EACzB,WAAW,CACZ,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAC/B,4CAA4C,CAC7C,CAAC;YACF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,MAAM,CAAC,aAAyB,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;YAChE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9B,8CAA8C,CAC/C,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9B,gDAAgD,CACjD,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9B,gBAAgB,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CACzD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;YACxF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,OAAO,EACP,qCAAqC,CACtC,CAAC;YACF,MAAM,cAAc,GAAG,8BAA8B,CAAC;YACtD,MAAM,eAAe,GAAG,iCAAiC,CAAC;YAC1D,MAAM,wBAAwB,GAAG,kCAAkC,CAAC;YACpE,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAEnD,qBAAqB,CAAC,iBAAiB,CAAC;gBACtC,MAAM,EAAE;oBACN,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,cAAc;oBAC1B,UAAU,EAAE,wBAAwB;iBACrC;gBACD,WAAW,EAAE,CAAC;aACf,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YACjE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEtC,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC1E,IACE,OAAO,cAAc,KAAK,QAAQ;gBAClC,WAAW,IAAI,cAAc;gBAC7B,cAAc,CAAC,SAAS,EACxB,CAAC;gBACD,MAAM,cAAc,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,qBAAqB,CAAC,CAAC,oBAAoB,CAChD,QAAQ,EACR,cAAc,EACd;gBACE,UAAU,EAAE,cAAc;gBAC1B,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,QAAQ;aACpB,EACD,wBAAwB,EACxB,yBAAyB,EACzB,WAAW,CACZ,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;YACjE,MAAM,cAAc,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YAC9D,MAAM,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,CAAC,aAAyB,CAAC;YACjD,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;YACrE,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9B,cAAc,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CACvD,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,OAAO,CAC9B,wBAAwB,CAAC,OAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,CACjE,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,qBAAqB,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,0BAA0B,CAAC;YAC3C,4BAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC,6BAA6B;YAEtF,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,wGAAwG;YACxG,MAAM,cAAc,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAC1E,IACE,OAAO,cAAc,KAAK,QAAQ;gBAClC,WAAW,IAAI,cAAc;gBAC7B,cAAc,CAAC,SAAS,EACxB,CAAC;gBACD,MAAM,cAAc,CAAC,SAAS,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC;YACtE,CAAC;YAED,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAEtC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;YACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC;YAC7D,MAAM,OAAO,GAAG,mCAAmC,CAAC;YACpD,4BAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,OAAO;gBACP,gBAAgB,EAAE,IAAI;aACvB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,+BAA+B,CAAC;YAChD,4BAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,OAAO;gBACP,gBAAgB,EAAE,KAAK;aACxB,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+EAA+E,EAAE,KAAK,IAAI,EAAE;YAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,yBAAyB,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,+BAA+B,CAAC;YAChD,4BAA4B,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;YAExD,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,QAAQ;gBACnB,OAAO;aACR,CAAC;YACF,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,6BAA6B,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;YACzD,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC;gBACzC,OAAO,EAAE,cAAc;aACxB,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACpD,MAAM,MAAM,GAAG;gBACb,SAAS,EAAE,aAAa;gBACxB,OAAO,EAAE,WAAW;aACrB,CAAC;YACF,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CACtC,2DAA2D,CAC5D,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACvD,MAAM,WAAW,GAAG,IAAI,eAAe,EAAE,CAAC,MAAM,CAAC;QAEjD,EAAE,CAAC,oEAAoE,EAAE,KAAK,IAAI,EAAE;YAClF,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YAClE,MAAM,OAAO,GAAG,cAAc,CAAC;YAE/B,6DAA6D;YAC7D,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE;gBAC/D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,mBAAmB,CAA0B,CAAC;gBACtE,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACtB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YACjE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CACjC,sCAAsC,QAAQ,WAAW,CAC1D,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CACpC,sCAAsC,QAAQ,WAAW,CAC1D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;YACzD,MAAM,OAAO,GAAG,cAAc,CAAC;YAE/B,6DAA6D;YAC7D,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE;gBAC/D,MAAM,KAAK,GAAG,IAAI,KAAK,CACrB,yBAAyB,CACD,CAAC;gBAC3B,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACtB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;YAC7D,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CACjC,4BAA4B,QAAQ,WAAW,CAChD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CACpC,4BAA4B,QAAQ,WAAW,CAChD,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sEAAsE,EAAE,KAAK,IAAI,EAAE;YACpF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;YACrD,MAAM,OAAO,GAAG,cAAc,CAAC;YAE/B,0DAA0D;YAC1D,MAAM,kBAAkB,GAAG,EAAE,CAAC,UAAU,CAAC;YACzC,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,kBAAkB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACrD,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,OAAO,KAAK,CAAC,CAAC,uDAAuD;gBACvE,CAAC;gBACD,OAAO,kBAAkB,CAAC,IAAc,CAAC,CAAC;YAC5C,CAAC,CAAC,CAAC;YAEH,6DAA6D;YAC7D,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE;gBAC/D,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,gBAAgB,CAA0B,CAAC;gBACnE,KAAK,CAAC,IAAI,GAAG,QAAQ,CAAC;gBACtB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/B,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC;YACnE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CACjC,sCAAsC,OAAO,WAAW,CACzD,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CACpC,sCAAsC,OAAO,WAAW,CACzD,CAAC;YAEF,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,kBAAkB,CAAC,kBAAkB,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;YACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,wBAAwB,CAAC,CAAC;YAC9D,MAAM,OAAO,GAAG,cAAc,CAAC;YAE/B,mDAAmD;YACnD,EAAE,CAAC,eAAe,EAAE,CAAC;YAErB,8DAA8D;YAC9D,EAAE,CAAC,KAAK,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAC/D,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC,CACjD,CAAC;YAEF,MAAM,MAAM,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;YAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAErD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,CAAC;YAClE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,SAAS,CACjC,4CAA4C,CAC7C,CAAC;YACF,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,SAAS,CACpC,4CAA4C,CAC7C,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"write-file.test.js","sourceRoot":"","sources":["../../../src/tools/write-file.test.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,9 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export type EditorType = 'vscode' | 'vscodium' | 'windsurf' | 'cursor' | 'vim' | 'neovim' | 'zed' | 'emacs';
6
+ export type EditorType = 'vscode' | 'vscodium' | 'windsurf' | 'cursor' | 'vim' | 'neovim' | 'zed' | 'emacs' | 'antigravity';
7
+ export declare const EDITOR_DISPLAY_NAMES: Record<EditorType, string>;
8
+ export declare function getEditorDisplayName(editor: EditorType): string;
7
9
  interface DiffCommand {
8
10
  command: string;
9
11
  args: string[];
@@ -5,6 +5,20 @@
5
5
  */
6
6
  import { execSync, spawn, spawnSync } from 'node:child_process';
7
7
  import { debugLogger } from './debugLogger.js';
8
+ export const EDITOR_DISPLAY_NAMES = {
9
+ vscode: 'VS Code',
10
+ vscodium: 'VSCodium',
11
+ windsurf: 'Windsurf',
12
+ cursor: 'Cursor',
13
+ vim: 'Vim',
14
+ neovim: 'Neovim',
15
+ zed: 'Zed',
16
+ emacs: 'Emacs',
17
+ antigravity: 'Antigravity',
18
+ };
19
+ export function getEditorDisplayName(editor) {
20
+ return EDITOR_DISPLAY_NAMES[editor] || editor;
21
+ }
8
22
  function isValidEditorType(editor) {
9
23
  return [
10
24
  'vscode',
@@ -15,6 +29,7 @@ function isValidEditorType(editor) {
15
29
  'neovim',
16
30
  'zed',
17
31
  'emacs',
32
+ 'antigravity',
18
33
  ].includes(editor);
19
34
  }
20
35
  function commandExists(cmd) {
@@ -39,6 +54,7 @@ const editorCommands = {
39
54
  neovim: { win32: ['nvim'], default: ['nvim'] },
40
55
  zed: { win32: ['zed'], default: ['zed', 'zeditor'] },
41
56
  emacs: { win32: ['emacs.exe'], default: ['emacs'] },
57
+ antigravity: { win32: ['agy.cmd'], default: ['agy'] },
42
58
  };
43
59
  export function checkHasEditorType(editor) {
44
60
  const commandConfig = editorCommands[editor];
@@ -47,7 +63,7 @@ export function checkHasEditorType(editor) {
47
63
  }
48
64
  export function allowEditorTypeInSandbox(editor) {
49
65
  const notUsingSandbox = !process.env['SANDBOX'];
50
- if (['vscode', 'vscodium', 'windsurf', 'cursor', 'zed'].includes(editor)) {
66
+ if (['vscode', 'vscodium', 'windsurf', 'cursor', 'zed', 'antigravity'].includes(editor)) {
51
67
  return notUsingSandbox;
52
68
  }
53
69
  // For terminal-based editors like vim and emacs, allow in sandbox.
@@ -80,6 +96,7 @@ export function getDiffCommand(oldPath, newPath, editor) {
80
96
  case 'windsurf':
81
97
  case 'cursor':
82
98
  case 'zed':
99
+ case 'antigravity':
83
100
  return { command, args: ['--wait', '--diff', oldPath, newPath] };
84
101
  case 'vim':
85
102
  case 'neovim':
@@ -1 +1 @@
1
- {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../src/utils/editor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.js","sourceRoot":"","sources":["../../../src/utils/editor.ts"],"names":[],"mappings":"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"}
@@ -47,6 +47,11 @@ describe('editor utils', () => {
47
47
  { editor: 'neovim', commands: ['nvim'], win32Commands: ['nvim'] },
48
48
  { editor: 'zed', commands: ['zed', 'zeditor'], win32Commands: ['zed'] },
49
49
  { editor: 'emacs', commands: ['emacs'], win32Commands: ['emacs.exe'] },
50
+ {
51
+ editor: 'antigravity',
52
+ commands: ['agy'],
53
+ win32Commands: ['agy.cmd'],
54
+ },
50
55
  ];
51
56
  for (const { editor, commands, win32Commands } of testCases) {
52
57
  describe(`${editor}`, () => {
@@ -126,6 +131,11 @@ describe('editor utils', () => {
126
131
  },
127
132
  { editor: 'cursor', commands: ['cursor'], win32Commands: ['cursor'] },
128
133
  { editor: 'zed', commands: ['zed', 'zeditor'], win32Commands: ['zed'] },
134
+ {
135
+ editor: 'antigravity',
136
+ commands: ['agy'],
137
+ win32Commands: ['agy.cmd'],
138
+ },
129
139
  ];
130
140
  for (const { editor, commands, win32Commands } of guiEditors) {
131
141
  // Non-windows tests
@@ -332,6 +342,7 @@ describe('editor utils', () => {
332
342
  'windsurf',
333
343
  'cursor',
334
344
  'zed',
345
+ 'antigravity',
335
346
  ];
336
347
  for (const editor of guiEditors) {
337
348
  it(`should not call onEditorClose for ${editor}`, async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"editor.test.js","sourceRoot":"","sources":["../../../src/utils/editor.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor.test.js","sourceRoot":"","sources":["../../../src/utils/editor.test.ts"],"names":[],"mappings":"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"}