@cosmocoder/mcp-web-docs 1.2.0 → 1.4.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.
@@ -588,6 +588,84 @@ describe('DocumentStore', () => {
588
588
  });
589
589
  });
590
590
  });
591
+ describe('document version', () => {
592
+ it('should store and retrieve version for a document', async () => {
593
+ const doc = createTestDocument('https://react.dev/v19', 'React 19 Docs');
594
+ doc.metadata.version = '19';
595
+ await store.addDocument(doc);
596
+ const retrieved = await store.getDocument('https://react.dev/v19');
597
+ expect(retrieved?.version).toBe('19');
598
+ });
599
+ it('should return undefined version for documents without version', async () => {
600
+ const doc = createTestDocument('https://example.com/no-version', 'No Version Doc');
601
+ // Don't set version
602
+ await store.addDocument(doc);
603
+ const retrieved = await store.getDocument('https://example.com/no-version');
604
+ expect(retrieved?.version).toBeUndefined();
605
+ });
606
+ it('should include version in listDocuments', async () => {
607
+ const doc1 = createTestDocument('https://react.dev/v18', 'React 18');
608
+ doc1.metadata.version = '18';
609
+ const doc2 = createTestDocument('https://react.dev/v19', 'React 19');
610
+ doc2.metadata.version = '19';
611
+ const doc3 = createTestDocument('https://docs.company.com', 'Company Docs');
612
+ // No version
613
+ await store.addDocument(doc1);
614
+ await store.addDocument(doc2);
615
+ await store.addDocument(doc3);
616
+ const docs = await store.listDocuments();
617
+ const react18 = docs.find((d) => d.url === 'https://react.dev/v18');
618
+ const react19 = docs.find((d) => d.url === 'https://react.dev/v19');
619
+ const companyDocs = docs.find((d) => d.url === 'https://docs.company.com');
620
+ expect(react18?.version).toBe('18');
621
+ expect(react19?.version).toBe('19');
622
+ expect(companyDocs?.version).toBeUndefined();
623
+ });
624
+ it('should preserve version when updating document', async () => {
625
+ const url = 'https://example.com/version-update';
626
+ // Add document with version
627
+ const doc1 = createTestDocument(url, 'Original');
628
+ doc1.metadata.version = 'v1.0.0';
629
+ await store.addDocument(doc1);
630
+ // Update document, preserving version
631
+ const doc2 = createTestDocument(url, 'Updated');
632
+ doc2.metadata.version = 'v1.0.0';
633
+ await store.addDocument(doc2);
634
+ const retrieved = await store.getDocument(url);
635
+ expect(retrieved?.title).toBe('Updated');
636
+ expect(retrieved?.version).toBe('v1.0.0');
637
+ });
638
+ it('should allow changing version when updating document', async () => {
639
+ const url = 'https://example.com/version-change';
640
+ // Add document with version
641
+ const doc1 = createTestDocument(url, 'Version 1');
642
+ doc1.metadata.version = 'v1';
643
+ await store.addDocument(doc1);
644
+ // Update with new version
645
+ const doc2 = createTestDocument(url, 'Version 2');
646
+ doc2.metadata.version = 'v2';
647
+ await store.addDocument(doc2);
648
+ const retrieved = await store.getDocument(url);
649
+ expect(retrieved?.version).toBe('v2');
650
+ });
651
+ it('should handle various version formats', async () => {
652
+ const testCases = [
653
+ { url: 'https://example.com/semver', version: '1.2.3' },
654
+ { url: 'https://example.com/prefix', version: 'v6.4' },
655
+ { url: 'https://example.com/major', version: '18' },
656
+ { url: 'https://example.com/latest', version: 'latest' },
657
+ { url: 'https://example.com/date', version: '2024-01' },
658
+ { url: 'https://example.com/prerelease', version: 'v2.0.0-beta.1' },
659
+ ];
660
+ for (const { url, version } of testCases) {
661
+ const doc = createTestDocument(url, `Test ${version}`);
662
+ doc.metadata.version = version;
663
+ await store.addDocument(doc);
664
+ const retrieved = await store.getDocument(url);
665
+ expect(retrieved?.version).toBe(version);
666
+ }
667
+ });
668
+ });
591
669
  describe('optimize', () => {
592
670
  it('should return error when storage is not initialized', async () => {
593
671
  const uninitializedStore = new DocumentStore(join(tempDir, 'uninit.db'), join(tempDir, 'uninit-vectors'), mockEmbeddings);
@@ -641,5 +719,288 @@ describe('DocumentStore', () => {
641
719
  expect(results.length).toBeGreaterThan(0);
642
720
  });
643
721
  });
722
+ // ============ Collection Tests ============
723
+ describe('collections', () => {
724
+ describe('createCollection', () => {
725
+ it('should create a collection successfully', async () => {
726
+ await store.createCollection('My React Project', 'React, Next.js, and TypeScript docs');
727
+ const collection = await store.getCollection('My React Project');
728
+ expect(collection).toBeDefined();
729
+ expect(collection?.name).toBe('My React Project');
730
+ expect(collection?.description).toBe('React, Next.js, and TypeScript docs');
731
+ expect(collection?.createdAt).toBeInstanceOf(Date);
732
+ expect(collection?.updatedAt).toBeInstanceOf(Date);
733
+ });
734
+ it('should create a collection without description', async () => {
735
+ await store.createCollection('Backend APIs');
736
+ const collection = await store.getCollection('Backend APIs');
737
+ expect(collection?.name).toBe('Backend APIs');
738
+ expect(collection?.description).toBeUndefined();
739
+ });
740
+ it('should throw error when creating duplicate collection', async () => {
741
+ await store.createCollection('Duplicate Test');
742
+ await expect(store.createCollection('Duplicate Test')).rejects.toThrow('already exists');
743
+ });
744
+ it('should trim whitespace from collection name', async () => {
745
+ await store.createCollection(' Trimmed Name ');
746
+ const collection = await store.getCollection('Trimmed Name');
747
+ expect(collection?.name).toBe('Trimmed Name');
748
+ });
749
+ });
750
+ describe('deleteCollection', () => {
751
+ it('should delete a collection', async () => {
752
+ await store.createCollection('To Delete');
753
+ await store.deleteCollection('To Delete');
754
+ const collection = await store.getCollection('To Delete');
755
+ expect(collection).toBeNull();
756
+ });
757
+ it('should throw error when deleting non-existent collection', async () => {
758
+ await expect(store.deleteCollection('Nonexistent')).rejects.toThrow('not found');
759
+ });
760
+ it('should not delete documents when collection is deleted', async () => {
761
+ // Add document
762
+ await store.addDocument(createTestDocument('https://example.com/keep-me', 'Keep Me'));
763
+ // Create collection and add document
764
+ await store.createCollection('Temp Collection');
765
+ await store.addToCollection('Temp Collection', ['https://example.com/keep-me']);
766
+ // Delete collection
767
+ await store.deleteCollection('Temp Collection');
768
+ // Document should still exist
769
+ const doc = await store.getDocument('https://example.com/keep-me');
770
+ expect(doc).toBeDefined();
771
+ expect(doc?.title).toBe('Keep Me');
772
+ });
773
+ });
774
+ describe('updateCollection', () => {
775
+ it('should update collection description', async () => {
776
+ await store.createCollection('Update Test', 'Original description');
777
+ await store.updateCollection('Update Test', { description: 'Updated description' });
778
+ const collection = await store.getCollection('Update Test');
779
+ expect(collection?.description).toBe('Updated description');
780
+ });
781
+ it('should rename collection', async () => {
782
+ await store.createCollection('Old Name');
783
+ await store.updateCollection('Old Name', { newName: 'New Name' });
784
+ const oldCollection = await store.getCollection('Old Name');
785
+ const newCollection = await store.getCollection('New Name');
786
+ expect(oldCollection).toBeNull();
787
+ expect(newCollection?.name).toBe('New Name');
788
+ });
789
+ it('should rename collection and preserve documents', async () => {
790
+ // Add document
791
+ await store.addDocument(createTestDocument('https://example.com/rename-test', 'Rename Test'));
792
+ // Create collection and add document
793
+ await store.createCollection('Before Rename');
794
+ await store.addToCollection('Before Rename', ['https://example.com/rename-test']);
795
+ // Rename collection
796
+ await store.updateCollection('Before Rename', { newName: 'After Rename' });
797
+ // Document should be in new collection
798
+ const collection = await store.getCollection('After Rename');
799
+ expect(collection?.documents.length).toBe(1);
800
+ expect(collection?.documents[0].url).toBe('https://example.com/rename-test');
801
+ });
802
+ it('should throw error when renaming to existing name', async () => {
803
+ await store.createCollection('Collection A');
804
+ await store.createCollection('Collection B');
805
+ await expect(store.updateCollection('Collection A', { newName: 'Collection B' })).rejects.toThrow('already exists');
806
+ });
807
+ it('should throw error when updating non-existent collection', async () => {
808
+ await expect(store.updateCollection('Nonexistent', { description: 'New desc' })).rejects.toThrow('not found');
809
+ });
810
+ it('should update both name and description', async () => {
811
+ await store.createCollection('Full Update', 'Old description');
812
+ await store.updateCollection('Full Update', { newName: 'Fully Updated', description: 'New description' });
813
+ const collection = await store.getCollection('Fully Updated');
814
+ expect(collection?.name).toBe('Fully Updated');
815
+ expect(collection?.description).toBe('New description');
816
+ });
817
+ });
818
+ describe('listCollections', () => {
819
+ it('should return empty array when no collections exist', async () => {
820
+ const collections = await store.listCollections();
821
+ expect(collections).toEqual([]);
822
+ });
823
+ it('should list all collections with document counts', async () => {
824
+ // Add documents
825
+ await store.addDocument(createTestDocument('https://example.com/list1', 'List 1'));
826
+ await store.addDocument(createTestDocument('https://example.com/list2', 'List 2'));
827
+ // Create collections
828
+ await store.createCollection('Collection 1');
829
+ await store.createCollection('Collection 2');
830
+ // Add documents to collections
831
+ await store.addToCollection('Collection 1', ['https://example.com/list1', 'https://example.com/list2']);
832
+ await store.addToCollection('Collection 2', ['https://example.com/list1']);
833
+ const collections = await store.listCollections();
834
+ expect(collections.length).toBe(2);
835
+ const col1 = collections.find((c) => c.name === 'Collection 1');
836
+ const col2 = collections.find((c) => c.name === 'Collection 2');
837
+ expect(col1?.documentCount).toBe(2);
838
+ expect(col2?.documentCount).toBe(1);
839
+ });
840
+ it('should sort collections by name', async () => {
841
+ await store.createCollection('Zebra');
842
+ await store.createCollection('Alpha');
843
+ await store.createCollection('Middle');
844
+ const collections = await store.listCollections();
845
+ expect(collections[0].name).toBe('Alpha');
846
+ expect(collections[1].name).toBe('Middle');
847
+ expect(collections[2].name).toBe('Zebra');
848
+ });
849
+ });
850
+ describe('getCollection', () => {
851
+ it('should return null for non-existent collection', async () => {
852
+ const collection = await store.getCollection('Nonexistent');
853
+ expect(collection).toBeNull();
854
+ });
855
+ it('should return collection with all documents', async () => {
856
+ // Add documents
857
+ await store.addDocument(createTestDocument('https://example.com/get1', 'Get 1'));
858
+ await store.addDocument(createTestDocument('https://example.com/get2', 'Get 2'));
859
+ // Create collection and add documents
860
+ await store.createCollection('Get Test', 'Test collection');
861
+ await store.addToCollection('Get Test', ['https://example.com/get1', 'https://example.com/get2']);
862
+ const collection = await store.getCollection('Get Test');
863
+ expect(collection?.name).toBe('Get Test');
864
+ expect(collection?.description).toBe('Test collection');
865
+ expect(collection?.documents.length).toBe(2);
866
+ expect(collection?.documentCount).toBe(2);
867
+ const urls = collection?.documents.map((d) => d.url);
868
+ expect(urls).toContain('https://example.com/get1');
869
+ expect(urls).toContain('https://example.com/get2');
870
+ });
871
+ it('should include tags in collection documents', async () => {
872
+ await store.addDocument(createTestDocument('https://example.com/tagged-doc', 'Tagged Doc'));
873
+ await store.setTags('https://example.com/tagged-doc', ['frontend', 'react']);
874
+ await store.createCollection('Tagged Collection');
875
+ await store.addToCollection('Tagged Collection', ['https://example.com/tagged-doc']);
876
+ const collection = await store.getCollection('Tagged Collection');
877
+ expect(collection?.documents[0].tags).toEqual(['frontend', 'react']);
878
+ });
879
+ });
880
+ describe('addToCollection', () => {
881
+ beforeEach(async () => {
882
+ await store.addDocument(createTestDocument('https://example.com/add1', 'Add 1'));
883
+ await store.addDocument(createTestDocument('https://example.com/add2', 'Add 2'));
884
+ await store.createCollection('Add Test');
885
+ });
886
+ it('should add documents to collection', async () => {
887
+ const result = await store.addToCollection('Add Test', ['https://example.com/add1', 'https://example.com/add2']);
888
+ expect(result.added.length).toBe(2);
889
+ expect(result.notFound.length).toBe(0);
890
+ expect(result.alreadyInCollection.length).toBe(0);
891
+ const collection = await store.getCollection('Add Test');
892
+ expect(collection?.documents.length).toBe(2);
893
+ });
894
+ it('should report non-existent documents', async () => {
895
+ const result = await store.addToCollection('Add Test', ['https://example.com/add1', 'https://nonexistent.com/doc']);
896
+ expect(result.added).toContain('https://example.com/add1');
897
+ expect(result.notFound).toContain('https://nonexistent.com/doc');
898
+ });
899
+ it('should handle duplicate additions idempotently', async () => {
900
+ await store.addToCollection('Add Test', ['https://example.com/add1']);
901
+ const result = await store.addToCollection('Add Test', ['https://example.com/add1']);
902
+ expect(result.added.length).toBe(0);
903
+ expect(result.alreadyInCollection).toContain('https://example.com/add1');
904
+ // Collection should still have only one document
905
+ const collection = await store.getCollection('Add Test');
906
+ expect(collection?.documents.length).toBe(1);
907
+ });
908
+ it('should throw error for non-existent collection', async () => {
909
+ await expect(store.addToCollection('Nonexistent', ['https://example.com/add1'])).rejects.toThrow('not found');
910
+ });
911
+ it('should update collection updatedAt timestamp', async () => {
912
+ const beforeCollection = await store.getCollection('Add Test');
913
+ const beforeTime = beforeCollection.updatedAt;
914
+ // Wait a bit to ensure timestamp difference
915
+ await new Promise((resolve) => setTimeout(resolve, 10));
916
+ await store.addToCollection('Add Test', ['https://example.com/add1']);
917
+ const afterCollection = await store.getCollection('Add Test');
918
+ expect(afterCollection.updatedAt.getTime()).toBeGreaterThan(beforeTime.getTime());
919
+ });
920
+ });
921
+ describe('removeFromCollection', () => {
922
+ beforeEach(async () => {
923
+ await store.addDocument(createTestDocument('https://example.com/rem1', 'Remove 1'));
924
+ await store.addDocument(createTestDocument('https://example.com/rem2', 'Remove 2'));
925
+ await store.createCollection('Remove Test');
926
+ await store.addToCollection('Remove Test', ['https://example.com/rem1', 'https://example.com/rem2']);
927
+ });
928
+ it('should remove documents from collection', async () => {
929
+ const result = await store.removeFromCollection('Remove Test', ['https://example.com/rem1']);
930
+ expect(result.removed).toContain('https://example.com/rem1');
931
+ expect(result.notInCollection.length).toBe(0);
932
+ const collection = await store.getCollection('Remove Test');
933
+ expect(collection?.documents.length).toBe(1);
934
+ expect(collection?.documents[0].url).toBe('https://example.com/rem2');
935
+ });
936
+ it('should report documents not in collection', async () => {
937
+ const result = await store.removeFromCollection('Remove Test', ['https://example.com/not-in-collection']);
938
+ expect(result.removed.length).toBe(0);
939
+ expect(result.notInCollection).toContain('https://example.com/not-in-collection');
940
+ });
941
+ it('should throw error for non-existent collection', async () => {
942
+ await expect(store.removeFromCollection('Nonexistent', ['https://example.com/rem1'])).rejects.toThrow('not found');
943
+ });
944
+ it('should not delete the document itself', async () => {
945
+ await store.removeFromCollection('Remove Test', ['https://example.com/rem1']);
946
+ // Document should still exist
947
+ const doc = await store.getDocument('https://example.com/rem1');
948
+ expect(doc).toBeDefined();
949
+ expect(doc?.title).toBe('Remove 1');
950
+ });
951
+ });
952
+ describe('getCollectionUrls', () => {
953
+ it('should return URLs in collection', async () => {
954
+ await store.addDocument(createTestDocument('https://example.com/url1', 'URL 1'));
955
+ await store.addDocument(createTestDocument('https://example.com/url2', 'URL 2'));
956
+ await store.createCollection('URL Test');
957
+ await store.addToCollection('URL Test', ['https://example.com/url1', 'https://example.com/url2']);
958
+ const urls = await store.getCollectionUrls('URL Test');
959
+ expect(urls.length).toBe(2);
960
+ expect(urls).toContain('https://example.com/url1');
961
+ expect(urls).toContain('https://example.com/url2');
962
+ });
963
+ it('should return empty array for empty collection', async () => {
964
+ await store.createCollection('Empty Collection');
965
+ const urls = await store.getCollectionUrls('Empty Collection');
966
+ expect(urls).toEqual([]);
967
+ });
968
+ it('should return empty array for non-existent collection', async () => {
969
+ const urls = await store.getCollectionUrls('Nonexistent');
970
+ expect(urls).toEqual([]);
971
+ });
972
+ });
973
+ describe('document deletion cascade', () => {
974
+ it('should remove document from collections when document is deleted', async () => {
975
+ // Add document
976
+ await store.addDocument(createTestDocument('https://example.com/cascade', 'Cascade Test'));
977
+ // Add to multiple collections
978
+ await store.createCollection('Collection A');
979
+ await store.createCollection('Collection B');
980
+ await store.addToCollection('Collection A', ['https://example.com/cascade']);
981
+ await store.addToCollection('Collection B', ['https://example.com/cascade']);
982
+ // Delete the document
983
+ await store.deleteDocument('https://example.com/cascade');
984
+ // Document should be removed from both collections
985
+ const colA = await store.getCollection('Collection A');
986
+ const colB = await store.getCollection('Collection B');
987
+ expect(colA?.documents.length).toBe(0);
988
+ expect(colB?.documents.length).toBe(0);
989
+ });
990
+ });
991
+ describe('document in multiple collections', () => {
992
+ it('should allow same document in multiple collections', async () => {
993
+ await store.addDocument(createTestDocument('https://example.com/shared', 'Shared Doc'));
994
+ await store.createCollection('Frontend');
995
+ await store.createCollection('React Project');
996
+ await store.addToCollection('Frontend', ['https://example.com/shared']);
997
+ await store.addToCollection('React Project', ['https://example.com/shared']);
998
+ const frontendCollection = await store.getCollection('Frontend');
999
+ const reactCollection = await store.getCollection('React Project');
1000
+ expect(frontendCollection?.documents.length).toBe(1);
1001
+ expect(reactCollection?.documents.length).toBe(1);
1002
+ });
1003
+ });
1004
+ });
644
1005
  });
645
1006
  //# sourceMappingURL=storage.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../src/storage/storage.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,IAAI,CAAC;AAC5B,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAI/C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAI,KAAoB,CAAC;IACzB,IAAI,OAAe,CAAC;IACpB,IAAI,cAAkC,CAAC;IAEvC,UAAU,CAAC,KAAK,IAAI,EAAE;QACpB,gDAAgD;QAChD,OAAO,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,oBAAoB,CAAC,CAAC,CAAC;QAC9D,cAAc,GAAG,oBAAoB,EAAE,CAAC;QACxC,KAAK,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;QACnG,MAAM,KAAK,CAAC,UAAU,EAAE,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,KAAK,IAAI,EAAE;QACnB,+BAA+B;QAC/B,IAAI,CAAC;YACH,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,CAAC;QAAC,MAAM,CAAC;YACP,wBAAwB;QAC1B,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,SAAS,kBAAkB,CAAC,GAAW,EAAE,KAAa,EAAE,aAAqB,CAAC;QAC5E,MAAM,MAAM,GAAoB,EAAE,CAAC;QACnC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC;YACpC,iDAAiD;YACjD,MAAM,OAAO,GAAG,0BAA0B,CAAC,GAAG,CAAC,OAAO,KAAK,EAAE,CAAC;YAC9D,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAElG,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO;gBACP,GAAG;gBACH,KAAK;gBACL,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ;gBAC3B,SAAS,EAAE,CAAC,GAAG,EAAE;gBACjB,OAAO,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC;gBACnB,MAAM;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,UAAU;iBACjB;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,QAAQ,EAAE;gBACR,GAAG;gBACH,KAAK;gBACL,WAAW,EAAE,IAAI,IAAI,EAAE;aACxB;YACD,MAAM;SACP,CAAC;IACJ,CAAC;IAED,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,oCAAoC;YACpC,2CAA2C;YAC3C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,wCAAwC;YACxC,MAAM,GAAG,GAAG,kBAAkB,CAAC,0BAA0B,EAAE,UAAU,CAAC,CAAC;YACvE,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;YACtE,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,GAAG,GAAG,kBAAkB,CAAC,+BAA+B,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC;YAEhF,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;YAC3E,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;YAChC,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YAC7D,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,GAAG,GAAG,iCAAiC,CAAC;YAE9C,uBAAuB;YACvB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;YACvD,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9B,IAAI,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC7C,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAEhD,2BAA2B;YAC3B,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9B,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,GAAG,GAAG,kBAAkB,CAAC,iCAAiC,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACxF,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,oBAAoB;YACpB,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;YAC/D,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;YAExE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,GAAG,GAAG,kBAAkB,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;YACnF,GAAG,CAAC,QAAQ,CAAC,OAAO,GAAG,iCAAiC,CAAC;YAEzD,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;YAC9E,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QACrE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;YACvE,MAAM,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;QAC5B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,GAAG,GAAG,kBAAkB,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAC;YAC3E,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;YACvE,MAAM,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;YAC7B,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;YACzD,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACvC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;YACzC,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAC;YACjF,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAC;YACjF,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,OAAO,CAAC,CAAC,CAAC;YAEjF,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,6EAA6E;YAC7E,EAAE,CAAC,aAAa,EAAE,CAAC;YAEnB,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC,CAAC;YAClF,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC,CAAC;YACpF,EAAE,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC;YAC3B,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC,CAAC;YAElF,EAAE,CAAC,aAAa,EAAE,CAAC;YAEnB,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACpC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;YACrD,MAAM,GAAG,GAAG,iCAAiC,CAAC;YAC9C,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;YAEjE,mBAAmB;YACnB,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE,CAAC;YAE1B,SAAS;YACT,MAAM,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAEhC,mBAAmB;YACnB,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;QACzB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,8BAA8B,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QAC5F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;YAC9D,MAAM,GAAG,GAAG,gCAAgC,CAAC;YAC7C,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YAE/D,2BAA2B;YAC3B,MAAM,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAEvC,kBAAkB;YAClB,MAAM,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAEhC,8CAA8C;YAC9C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC;YACzD,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,0BAA0B;YAC1B,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,gCAAgC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;YACrG,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,4BAA4B,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;YAChG,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;QACjG,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;YACvE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;YAChD,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAEvE,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzB,MAAM,CAAC,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAEvD,MAAM,cAAc,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE;gBAC9D,KAAK,EAAE,CAAC;gBACR,cAAc,EAAE,KAAK;aACtB,CAAC,CAAC;YACH,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;YAElD,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE;gBAC3D,KAAK,EAAE,CAAC;gBACR,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;YACH,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;YACrC,kCAAkC;YAClC,MAAM,GAAG,GAAG,kBAAkB,CAAC,yBAAyB,EAAE,eAAe,CAAC,CAAC;YAC3E,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,KAAK,CAAC;YACpC,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,WAAW,GAAG,MAAM,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACtD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,WAAW,EAAE;gBACvD,KAAK,EAAE,EAAE;gBACT,YAAY,EAAE,KAAK;aACpB,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qEAAqE,EAAE,KAAK,IAAI,EAAE;YACnF,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,8BAA8B,EAAE,GAAG,EAAE;QAC5C,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,oCAAoC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,sCAAsC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;YACxD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,KAAK,GAAG,yBAAyB,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEjD,2CAA2C;YAC3C,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6BAA6B,EAAE,KAAK,IAAI,EAAE;YAC3C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YAChE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YACpC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;gBAChD,SAAS,EAAE,2BAA2B;aACvC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;YAC5C,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YAC1D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,qCAAqC;YACrC,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAChD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAE/F,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,eAAe,EAAE,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,MAAM,kBAAkB,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,cAAc,CAAC,CAAC;YAE1H,MAAM,MAAM,CAAC,kBAAkB,CAAC,aAAa,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC9F,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,4DAA4D;YAC5D,0CAA0C;YAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3B,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,2BAA2B,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,CAAC,CAAC,CAAC;YACjG,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;YACtD,+CAA+C;YAC/C,gDAAgD;YAChD,MAAM,GAAG,GAAG,mCAAmC,CAAC;YAEhD,IAAI,CAAC;gBACH,kDAAkD;gBAClD,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;gBAC1C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;gBACzC,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;YACzB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,6CAA6C;YAC7C,sFAAsF;YACtF,MAAM,GAAG,GAAG,kBAAkB,CAAC,4BAA4B,EAAE,gBAAgB,CAAC,CAAC;YAC/E,GAAG,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YACjC,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,oBAAoB,CAAC;YAE/C,uDAAuD;YACvD,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC;YACxE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;YACjD,+DAA+D;YAC/D,MAAM,MAAM,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,EAAE,cAAc,EAAE,GAAG,CAAC,CAAC;YAC1G,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;YAE1B,gDAAgD;YAChD,MAAM,GAAG,GAAG,kBAAkB,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;YAChF,GAAG,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YACjC,MAAM,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE9B,6EAA6E;YAC7E,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;YACvE,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,0EAA0E;YAC1E,MAAM,WAAW,GAAG,kBAAkB,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC;YACxF,WAAW,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YACzC,WAAW,CAAC,QAAQ,CAAC,UAAU,GAAG,kBAAkB,CAAC;YACrD,MAAM,KAAK,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAErC,MAAM,cAAc,GAAG,kBAAkB,CAAC,6BAA6B,EAAE,cAAc,CAAC,CAAC;YACzF,MAAM,KAAK,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;YAExC,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;YACrE,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;YAE3E,MAAM,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YACtD,MAAM,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC9C,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,GAAG,GAAG,kBAAkB,CAAC,kCAAkC,EAAE,cAAc,CAAC,CAAC;YACnF,GAAG,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YACjC,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,qBAAqB,CAAC;YAEhD,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,kCAAkC,CAAC,CAAC;YAC9E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;YACvE,MAAM,GAAG,GAAG,kBAAkB,CAAC,iCAAiC,EAAE,aAAa,CAAC,CAAC;YACjF,yBAAyB;YAEzB,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,iCAAiC,CAAC,CAAC;YAC7E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,aAAa,EAAE,CAAC;QAChD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,IAAI,GAAG,kBAAkB,CAAC,4BAA4B,EAAE,QAAQ,CAAC,CAAC;YACxE,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC;YAEnC,MAAM,IAAI,GAAG,kBAAkB,CAAC,6BAA6B,EAAE,SAAS,CAAC,CAAC;YAC1E,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,qBAAqB,CAAC;YAEjD,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,4BAA4B,CAAC,CAAC;YAC3E,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,6BAA6B,CAAC,CAAC;YAE7E,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sDAAsD,EAAE,KAAK,IAAI,EAAE;YACpE,MAAM,GAAG,GAAG,iCAAiC,CAAC;YAE9C,yBAAyB;YACzB,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;YACjD,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,yBAAyB,CAAC;YACrD,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9B,mCAAmC;YACnC,MAAM,IAAI,GAAG,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAChD,IAAI,CAAC,QAAQ,CAAC,YAAY,GAAG,IAAI,CAAC;YAClC,IAAI,CAAC,QAAQ,CAAC,UAAU,GAAG,yBAAyB,CAAC;YACrD,MAAM,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YAE9B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACzC,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3C,MAAM,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACxC,EAAE,CAAC,mDAAmD,EAAE,KAAK,IAAI,EAAE;YACjE,MAAM,YAAY,GAAG,qDAAqD,CAAC;YAC3E,MAAM,GAAG,GAAG,kBAAkB,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;YAE3D,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YACxD,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,GAAG,GAAG,kBAAkB,CAAC,6BAA6B,EAAE,qCAAqC,CAAC,CAAC;YAErG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YAE7B,MAAM,SAAS,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,6BAA6B,CAAC,CAAC;YACzE,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,QAAQ,CAAC,CAAC,CAAC;YAElF,8BAA8B;YAC9B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,MAAM,EAAE;gBAC/C,SAAS,EAAE,gCAAgC;aAC5C,CAAC,CAAC;YAEH,sDAAsD;YACtD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,GAAG,GAAG,4BAA4B,CAAC;YACzC,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YAE/D,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAEhD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,GAAG,GAAG,gCAAgC,CAAC;YAC7C,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC,CAAC;YAEpE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YAE7D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,GAAG,GAAG,2BAA2B,CAAC;YACxC,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC,CAAC;YAE/D,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;YAErE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;YAClE,MAAM,GAAG,GAAG,6BAA6B,CAAC;YAC1C,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC,CAAC;YAEjE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YACtC,IAAI,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACvC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;YAEvC,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;YACrD,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACnC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,GAAG,GAAG,4BAA4B,CAAC;YACzC,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;YAEhE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAC3C,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAE7B,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gEAAgE,EAAE,KAAK,IAAI,EAAE;YAC9E,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,yBAAyB,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;QAC7G,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC,CAAC;YACnF,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC,CAAC;YAEnF,MAAM,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;YAC/D,MAAM,KAAK,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;YAErE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,EAAE,CAAC;YACzC,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAC;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,2BAA2B,CAAC,CAAC;YAErE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAC,CAAC;YAExF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;YACpE,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,GAAG,GAAG,sCAAsC,CAAC;YACnD,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;YAE3C,MAAM,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAEhC,2CAA2C;YAC3C,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAC;YAC5D,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACzC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;QAC3B,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YACvC,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAE5E,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;YAE3D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YAEvC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC9D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC3D,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,SAAS,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAE5E,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC1D,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;YAE1D,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YAEvC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC5E,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,wBAAwB,EAAE,IAAI,CAAC,CAAC,CAAC;YAE5E,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YACrE,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YACnE,MAAM,KAAK,CAAC,OAAO,CAAC,wBAAwB,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;YAClD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;YAErD,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;YACjD,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;YACtE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAE9D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;YACrE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;YAChE,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0CAA0C,EAAE,KAAK,IAAI,EAAE;YACxD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;YAC3C,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAE9D,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;QAC/C,UAAU,CAAC,KAAK,IAAI,EAAE;YACpB,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,oCAAoC,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC,CAAC;YACvG,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,iCAAiC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;YAEjG,MAAM,KAAK,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;YAC9E,MAAM,KAAK,CAAC,OAAO,CAAC,oCAAoC,EAAE,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC;YAC/E,MAAM,KAAK,CAAC,OAAO,CAAC,iCAAiC,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;QAC7E,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;YACpD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;YAElF,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5H,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,0DAA0D,EAAE,KAAK,IAAI,EAAE;YACxE,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YACzF,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE;gBAChD,YAAY,EAAE,CAAC,UAAU,CAAC;gBAC1B,SAAS,EAAE,2BAA2B;aACvC,CAAC,CAAC;YAEH,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;gBACzB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACxE,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;YACnE,MAAM,kBAAkB,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,CAAC,EAAE,cAAc,CAAC,CAAC;YAE1H,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,CAAC;YAEnD,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACrC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEtC,uEAAuE;YACvE,+DAA+D;YAC/D,MAAM,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,qBAAqB;YACrB,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9F,qCAAqC;YACrC,MAAM,KAAK,CAAC,cAAc,CAAC,0BAA0B,CAAC,CAAC;YAEvD,mBAAmB;YACnB,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEtC,mCAAmC;YACnC,MAAM,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAChD,MAAM,CAAC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;YAC5D,4CAA4C;YAC5C,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,2BAA2B,EAAE,YAAY,CAAC,CAAC,CAAC;YACvF,MAAM,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAEvC,8CAA8C;YAC9C,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEvB,mDAAmD;YACnD,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YACvD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;YACvD,gBAAgB;YAChB,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,+BAA+B,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAC9F,MAAM,KAAK,CAAC,WAAW,CAAC,kBAAkB,CAAC,+BAA+B,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,CAAC;YAE9F,mBAAmB;YACnB,MAAM,KAAK,CAAC,QAAQ,EAAE,CAAC;YAEvB,wCAAwC;YACxC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;YACtE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,+BAA+B,CAAC,CAAC;YAEtE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAEvC,4BAA4B;YAC5B,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YACrD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;QAC5C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"storage.test.js","sourceRoot":"","sources":["../../src/storage/storage.test.ts"],"names":[],"mappings":"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"}
package/build/types.d.ts CHANGED
@@ -22,6 +22,8 @@ export interface DocumentMetadata {
22
22
  authDomain?: string;
23
23
  /** User-defined tags for categorizing documentation (e.g., "frontend", "mycompany") */
24
24
  tags?: string[];
25
+ /** Version of the documentation (e.g., "18", "v6.4", "3.11") for versioned packages */
26
+ version?: string;
25
27
  }
26
28
  export interface DocumentChunk {
27
29
  content: string;
@@ -141,3 +143,27 @@ export interface WebCrawler {
141
143
  export interface DocumentProcessor {
142
144
  process(crawlResult: CrawlResult, chunkSize?: number): Promise<ProcessedDocument>;
143
145
  }
146
+ /**
147
+ * A collection groups related documentation sites together.
148
+ * For example, "My React Project" might contain React, Next.js, and TypeScript docs.
149
+ */
150
+ export interface Collection {
151
+ /** Unique name/identifier for the collection */
152
+ name: string;
153
+ /** Optional description of the collection's purpose */
154
+ description?: string;
155
+ /** When the collection was created */
156
+ createdAt: Date;
157
+ /** When the collection was last modified */
158
+ updatedAt: Date;
159
+ /** Number of documents in this collection (for list views) */
160
+ documentCount?: number;
161
+ }
162
+ /**
163
+ * A collection with its full list of documents.
164
+ * Used when fetching a specific collection's details.
165
+ */
166
+ export interface CollectionWithDocuments extends Collection {
167
+ /** The documentation sites in this collection */
168
+ documents: DocumentMetadata[];
169
+ }