cheshirecat-typescript-client 1.2.0 → 1.2.1
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.
- package/README.md +2 -2
- package/dist/endpoints/fileManager.d.ts +13 -9
- package/dist/endpoints/fileManager.js +16 -12
- package/dist/endpoints/fileManager.js.map +1 -1
- package/dist/endpoints/rabbitHole.d.ts +8 -12
- package/dist/endpoints/rabbitHole.js +11 -27
- package/dist/endpoints/rabbitHole.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -53,10 +53,10 @@ const result = cheshireCatClient.message().sendWebsocketMessage(
|
|
|
53
53
|
Load data to the rabbit hole:
|
|
54
54
|
```javascript
|
|
55
55
|
//file
|
|
56
|
-
const result = await cheshireCatClient.rabbitHole().postFile(file
|
|
56
|
+
const result = await cheshireCatClient.rabbitHole().postFile(file);
|
|
57
57
|
|
|
58
58
|
//url
|
|
59
|
-
const result = await cheshireCatClient.rabbitHole().postWeb(url
|
|
59
|
+
const result = await cheshireCatClient.rabbitHole().postWeb(url);
|
|
60
60
|
```
|
|
61
61
|
|
|
62
62
|
Memory management utilities:
|
|
@@ -3,30 +3,34 @@ import { FactoryObjectSettingsOutput } from "../models/api/factories";
|
|
|
3
3
|
export declare class FileManagerEndpoint extends AbstractEndpoint {
|
|
4
4
|
protected prefix: string;
|
|
5
5
|
/**
|
|
6
|
-
* This endpoint returns the settings of all plugin file managers
|
|
7
|
-
*
|
|
6
|
+
* This endpoint returns the settings of all plugin file managers, either for the agent identified by the agentId
|
|
7
|
+
* parameter (for multi-agent installations) or for the default agent (for single-agent installations).
|
|
8
|
+
*
|
|
9
|
+
* @param agentId The ID of the agent to get the settings of
|
|
8
10
|
*
|
|
9
11
|
* @returns the settings of all plugin file managers
|
|
10
12
|
*
|
|
11
13
|
*/
|
|
12
|
-
getFileManagersSettings(): Promise<FactoryObjectSettingsOutput>;
|
|
14
|
+
getFileManagersSettings(agentId?: string | null): Promise<FactoryObjectSettingsOutput>;
|
|
13
15
|
/**
|
|
14
|
-
* This endpoint returns the settings of a specific plugin file manager
|
|
15
|
-
*
|
|
16
|
+
* This endpoint returns the settings of a specific plugin file manager, either for the agent identified by the agentId
|
|
17
|
+
* parameter (for multi-agent installations) or for the default agent (for single-agent installations).
|
|
16
18
|
*
|
|
17
19
|
* @param fileManager the name of the plugin file manager
|
|
20
|
+
* @param agentId The ID of the agent to get the settings of
|
|
18
21
|
*
|
|
19
22
|
* @returns the settings of the specified plugin file manager
|
|
20
23
|
*/
|
|
21
|
-
getFileManagerSettings(fileManager: string): Promise<FactoryObjectSettingsOutput>;
|
|
24
|
+
getFileManagerSettings(fileManager: string, agentId?: string | null): Promise<FactoryObjectSettingsOutput>;
|
|
22
25
|
/**
|
|
23
|
-
* This endpoint updates the settings of a specific Plugin file manager
|
|
24
|
-
*
|
|
26
|
+
* This endpoint updates the settings of a specific Plugin file manager, either for the agent identified by the agentId
|
|
27
|
+
* parameter (for multi-agent installations) or for the default agent (for single-agent installations).
|
|
25
28
|
*
|
|
26
29
|
* @param fileManager the name of the plugin file manager
|
|
27
30
|
* @param values the new settings for the plugin file manager
|
|
31
|
+
* @param agentId The ID of the agent to get the settings of
|
|
28
32
|
*
|
|
29
33
|
* @returns the updated settings of the specified plugin file manager
|
|
30
34
|
*/
|
|
31
|
-
putFileManagerSettings(fileManager: string, values: Record<string, any
|
|
35
|
+
putFileManagerSettings(fileManager: string, values: Record<string, any>, agentId?: string | null): Promise<FactoryObjectSettingsOutput>;
|
|
32
36
|
}
|
|
@@ -5,37 +5,41 @@ const abstract_1 = require("./abstract");
|
|
|
5
5
|
class FileManagerEndpoint extends abstract_1.AbstractEndpoint {
|
|
6
6
|
prefix = '/file_manager';
|
|
7
7
|
/**
|
|
8
|
-
* This endpoint returns the settings of all plugin file managers
|
|
9
|
-
*
|
|
8
|
+
* This endpoint returns the settings of all plugin file managers, either for the agent identified by the agentId
|
|
9
|
+
* parameter (for multi-agent installations) or for the default agent (for single-agent installations).
|
|
10
|
+
*
|
|
11
|
+
* @param agentId The ID of the agent to get the settings of
|
|
10
12
|
*
|
|
11
13
|
* @returns the settings of all plugin file managers
|
|
12
14
|
*
|
|
13
15
|
*/
|
|
14
|
-
async getFileManagersSettings() {
|
|
15
|
-
return this.get(this.formatUrl("/settings"),
|
|
16
|
+
async getFileManagersSettings(agentId) {
|
|
17
|
+
return this.get(this.formatUrl("/settings"), agentId);
|
|
16
18
|
}
|
|
17
19
|
/**
|
|
18
|
-
* This endpoint returns the settings of a specific plugin file manager
|
|
19
|
-
*
|
|
20
|
+
* This endpoint returns the settings of a specific plugin file manager, either for the agent identified by the agentId
|
|
21
|
+
* parameter (for multi-agent installations) or for the default agent (for single-agent installations).
|
|
20
22
|
*
|
|
21
23
|
* @param fileManager the name of the plugin file manager
|
|
24
|
+
* @param agentId The ID of the agent to get the settings of
|
|
22
25
|
*
|
|
23
26
|
* @returns the settings of the specified plugin file manager
|
|
24
27
|
*/
|
|
25
|
-
async getFileManagerSettings(fileManager) {
|
|
26
|
-
return this.get(this.formatUrl(`/settings/${fileManager}`),
|
|
28
|
+
async getFileManagerSettings(fileManager, agentId) {
|
|
29
|
+
return this.get(this.formatUrl(`/settings/${fileManager}`), agentId);
|
|
27
30
|
}
|
|
28
31
|
/**
|
|
29
|
-
* This endpoint updates the settings of a specific Plugin file manager
|
|
30
|
-
*
|
|
32
|
+
* This endpoint updates the settings of a specific Plugin file manager, either for the agent identified by the agentId
|
|
33
|
+
* parameter (for multi-agent installations) or for the default agent (for single-agent installations).
|
|
31
34
|
*
|
|
32
35
|
* @param fileManager the name of the plugin file manager
|
|
33
36
|
* @param values the new settings for the plugin file manager
|
|
37
|
+
* @param agentId The ID of the agent to get the settings of
|
|
34
38
|
*
|
|
35
39
|
* @returns the updated settings of the specified plugin file manager
|
|
36
40
|
*/
|
|
37
|
-
async putFileManagerSettings(fileManager, values) {
|
|
38
|
-
return this.put(this.formatUrl(`/settings/${fileManager}`), values,
|
|
41
|
+
async putFileManagerSettings(fileManager, values, agentId) {
|
|
42
|
+
return this.put(this.formatUrl(`/settings/${fileManager}`), values, agentId);
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
exports.FileManagerEndpoint = FileManagerEndpoint;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fileManager.js","sourceRoot":"","sources":["../../src/endpoints/fileManager.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAG5C,MAAa,mBAAoB,SAAQ,2BAAgB;IAC3C,MAAM,GAAG,eAAe,CAAC;IAEnC
|
|
1
|
+
{"version":3,"file":"fileManager.js","sourceRoot":"","sources":["../../src/endpoints/fileManager.ts"],"names":[],"mappings":";;;AAAA,yCAA4C;AAG5C,MAAa,mBAAoB,SAAQ,2BAAgB;IAC3C,MAAM,GAAG,eAAe,CAAC;IAEnC;;;;;;;;OAQG;IACH,KAAK,CAAC,uBAAuB,CAAC,OAAuB;QACjD,OAAO,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,EAC3B,OAAO,CACV,CAAC;IACN,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,sBAAsB,CAAC,WAAmB,EAAE,OAAuB;QACrE,OAAO,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,SAAS,CAAC,aAAa,WAAW,EAAE,CAAC,EAC1C,OAAO,CACV,CAAC;IACN,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,sBAAsB,CACxB,WAAmB,EACnB,MAA2B,EAC3B,OAAuB;QAEvB,OAAO,IAAI,CAAC,GAAG,CACX,IAAI,CAAC,SAAS,CAAC,aAAa,WAAW,EAAE,CAAC,EAC1C,MAAM,EACN,OAAO,CACV,CAAC;IACN,CAAC;CACJ;AAxDD,kDAwDC"}
|
|
@@ -22,7 +22,8 @@ export declare class RabbitHoleEndpoint extends AbstractEndpoint {
|
|
|
22
22
|
* - In browser: Pass a File object as `fileSource`
|
|
23
23
|
*
|
|
24
24
|
* The file is uploaded to the RabbitHole server and processed asynchronously.
|
|
25
|
-
* The CheshireCat processes the injection in background, and the client will be informed when processing
|
|
25
|
+
* The CheshireCat processes the injection in the background, and the client will be informed when processing
|
|
26
|
+
* completes.
|
|
26
27
|
*
|
|
27
28
|
* @param fileSource The source of the file to upload:
|
|
28
29
|
* - In Node.js: A string path to the file
|
|
@@ -30,8 +31,6 @@ export declare class RabbitHoleEndpoint extends AbstractEndpoint {
|
|
|
30
31
|
* @param fileName Optional custom name for the file. If not provided:
|
|
31
32
|
* - In Node.js: The basename of the file path is used
|
|
32
33
|
* - In browser: The name property of the File object is used
|
|
33
|
-
* @param chunkSize Optional size of chunks for RAG processing
|
|
34
|
-
* @param chunkOverlap Optional overlap between chunks
|
|
35
34
|
* @param agentId Optional ID of the agent to associate with this upload
|
|
36
35
|
* @param metadata Optional additional metadata to associate with the file
|
|
37
36
|
*
|
|
@@ -51,7 +50,7 @@ export declare class RabbitHoleEndpoint extends AbstractEndpoint {
|
|
|
51
50
|
* const response = await rabbitHoleEndpoint.postFile('/path/to/document.pdf');
|
|
52
51
|
* ```
|
|
53
52
|
*/
|
|
54
|
-
postFile(fileSource: FileSource, fileName?: string | null,
|
|
53
|
+
postFile(fileSource: FileSource, fileName?: string | null, agentId?: string | null, metadata?: Record<string, any> | null): Promise<any>;
|
|
55
54
|
/**
|
|
56
55
|
* This method posts a number of files to the RabbitHole API. The files are uploaded to the RabbitHole server and
|
|
57
56
|
* ingested into the RAG system.
|
|
@@ -68,8 +67,6 @@ export declare class RabbitHoleEndpoint extends AbstractEndpoint {
|
|
|
68
67
|
* @param fileSources The sources of the file to upload:
|
|
69
68
|
* - In Node.js: An array of strings path to the file
|
|
70
69
|
* - In browser: An array of File objects
|
|
71
|
-
* @param chunkSize Optional size of chunks for RAG processing
|
|
72
|
-
* @param chunkOverlap Optional overlap between chunks
|
|
73
70
|
* @param agentId Optional ID of the agent to associate with this upload
|
|
74
71
|
* @param metadata Optional additional metadata to associate with the file
|
|
75
72
|
*
|
|
@@ -89,22 +86,21 @@ export declare class RabbitHoleEndpoint extends AbstractEndpoint {
|
|
|
89
86
|
* const response = await rabbitHoleEndpoint.postFiles(['/path/to/first/document.pdf', '/path/to/second/document.pdf']);
|
|
90
87
|
* ```
|
|
91
88
|
*/
|
|
92
|
-
postFiles(fileSources: FileSource[],
|
|
89
|
+
postFiles(fileSources: FileSource[], agentId?: string | null, metadata?: Record<string, any> | null): Promise<any>;
|
|
93
90
|
/**
|
|
94
91
|
* This method posts a web URL to the RabbitHole API. The web URL is ingested into the RAG system. The web URL is
|
|
95
|
-
* processed by the RAG system by Web scraping and the results are stored in the RAG database. The process is
|
|
92
|
+
* processed by the RAG system by Web scraping, and the results are stored in the RAG database. The process is
|
|
96
93
|
* asynchronous.
|
|
97
|
-
* The CheshireCat processes the injection in background and the client will be informed at the end of the
|
|
94
|
+
* The CheshireCat processes the injection in the background, and the client will be informed at the end of the
|
|
95
|
+
* process.
|
|
98
96
|
*
|
|
99
97
|
* @param webUrl The URL of the web page to be ingested.
|
|
100
|
-
* @param chunkSize The size of the chunks to be used for the upload. If not provided, the default chunk size will be used.
|
|
101
|
-
* @param chunkOverlap The size of the overlap between chunks. If not provided, the default overlap size will be used.
|
|
102
98
|
* @param agentId The ID of the agent to be used for the upload. If not provided, the default agent will be used.
|
|
103
99
|
* @param metadata Additional metadata to be associated with the web URL.
|
|
104
100
|
*
|
|
105
101
|
* @returns The response from the RabbitHole API.
|
|
106
102
|
*/
|
|
107
|
-
postWeb(webUrl: string,
|
|
103
|
+
postWeb(webUrl: string, agentId?: string | null, metadata?: Record<string, any> | null): Promise<any>;
|
|
108
104
|
/**
|
|
109
105
|
* This method posts a memory point, either for the agent identified by the agentId parameter (for multi-agent
|
|
110
106
|
* installations) or for the default agent (for single-agent installations). The memory point is ingested into the
|
|
@@ -45,13 +45,7 @@ class RabbitHoleEndpoint extends abstract_1.AbstractEndpoint {
|
|
|
45
45
|
const blob = new Blob([fileBuffer], { type: fileMimeType });
|
|
46
46
|
form.append(formKey, blob, finalFileName);
|
|
47
47
|
}
|
|
48
|
-
appendQueryDataToForm(form,
|
|
49
|
-
if (chunkSize) {
|
|
50
|
-
form.append("chunk_size", chunkSize.toString());
|
|
51
|
-
}
|
|
52
|
-
if (chunkOverlap) {
|
|
53
|
-
form.append("chunk_overlap", chunkOverlap.toString());
|
|
54
|
-
}
|
|
48
|
+
appendQueryDataToForm(form, metadata) {
|
|
55
49
|
if (metadata) {
|
|
56
50
|
form.append("metadata", JSON.stringify(metadata));
|
|
57
51
|
}
|
|
@@ -73,7 +67,8 @@ class RabbitHoleEndpoint extends abstract_1.AbstractEndpoint {
|
|
|
73
67
|
* - In browser: Pass a File object as `fileSource`
|
|
74
68
|
*
|
|
75
69
|
* The file is uploaded to the RabbitHole server and processed asynchronously.
|
|
76
|
-
* The CheshireCat processes the injection in background, and the client will be informed when processing
|
|
70
|
+
* The CheshireCat processes the injection in the background, and the client will be informed when processing
|
|
71
|
+
* completes.
|
|
77
72
|
*
|
|
78
73
|
* @param fileSource The source of the file to upload:
|
|
79
74
|
* - In Node.js: A string path to the file
|
|
@@ -81,8 +76,6 @@ class RabbitHoleEndpoint extends abstract_1.AbstractEndpoint {
|
|
|
81
76
|
* @param fileName Optional custom name for the file. If not provided:
|
|
82
77
|
* - In Node.js: The basename of the file path is used
|
|
83
78
|
* - In browser: The name property of the File object is used
|
|
84
|
-
* @param chunkSize Optional size of chunks for RAG processing
|
|
85
|
-
* @param chunkOverlap Optional overlap between chunks
|
|
86
79
|
* @param agentId Optional ID of the agent to associate with this upload
|
|
87
80
|
* @param metadata Optional additional metadata to associate with the file
|
|
88
81
|
*
|
|
@@ -102,11 +95,11 @@ class RabbitHoleEndpoint extends abstract_1.AbstractEndpoint {
|
|
|
102
95
|
* const response = await rabbitHoleEndpoint.postFile('/path/to/document.pdf');
|
|
103
96
|
* ```
|
|
104
97
|
*/
|
|
105
|
-
async postFile(fileSource, fileName,
|
|
98
|
+
async postFile(fileSource, fileName, agentId, metadata) {
|
|
106
99
|
const form = (0, form_data_2.createFormData)();
|
|
107
100
|
try {
|
|
108
101
|
await this.appendFileToForm(form, fileSource, "file", fileName);
|
|
109
|
-
this.appendQueryDataToForm(form,
|
|
102
|
+
this.appendQueryDataToForm(form, metadata);
|
|
110
103
|
// Send the request
|
|
111
104
|
return await this.submitForm(form, this.prefix, agentId);
|
|
112
105
|
}
|
|
@@ -130,8 +123,6 @@ class RabbitHoleEndpoint extends abstract_1.AbstractEndpoint {
|
|
|
130
123
|
* @param fileSources The sources of the file to upload:
|
|
131
124
|
* - In Node.js: An array of strings path to the file
|
|
132
125
|
* - In browser: An array of File objects
|
|
133
|
-
* @param chunkSize Optional size of chunks for RAG processing
|
|
134
|
-
* @param chunkOverlap Optional overlap between chunks
|
|
135
126
|
* @param agentId Optional ID of the agent to associate with this upload
|
|
136
127
|
* @param metadata Optional additional metadata to associate with the file
|
|
137
128
|
*
|
|
@@ -151,14 +142,14 @@ class RabbitHoleEndpoint extends abstract_1.AbstractEndpoint {
|
|
|
151
142
|
* const response = await rabbitHoleEndpoint.postFiles(['/path/to/first/document.pdf', '/path/to/second/document.pdf']);
|
|
152
143
|
* ```
|
|
153
144
|
*/
|
|
154
|
-
async postFiles(fileSources,
|
|
145
|
+
async postFiles(fileSources, agentId, metadata) {
|
|
155
146
|
const form = new form_data_1.default();
|
|
156
147
|
try {
|
|
157
148
|
await Promise.all(fileSources.map(async (fileSource) => {
|
|
158
149
|
await this.appendFileToForm(form, fileSource, "files");
|
|
159
150
|
}));
|
|
160
151
|
// Append additional query parameters
|
|
161
|
-
this.appendQueryDataToForm(form,
|
|
152
|
+
this.appendQueryDataToForm(form, metadata);
|
|
162
153
|
return await this.submitForm(form, this.formatUrl("/batch"), agentId);
|
|
163
154
|
}
|
|
164
155
|
catch (error) {
|
|
@@ -167,26 +158,19 @@ class RabbitHoleEndpoint extends abstract_1.AbstractEndpoint {
|
|
|
167
158
|
}
|
|
168
159
|
/**
|
|
169
160
|
* This method posts a web URL to the RabbitHole API. The web URL is ingested into the RAG system. The web URL is
|
|
170
|
-
* processed by the RAG system by Web scraping and the results are stored in the RAG database. The process is
|
|
161
|
+
* processed by the RAG system by Web scraping, and the results are stored in the RAG database. The process is
|
|
171
162
|
* asynchronous.
|
|
172
|
-
* The CheshireCat processes the injection in background and the client will be informed at the end of the
|
|
163
|
+
* The CheshireCat processes the injection in the background, and the client will be informed at the end of the
|
|
164
|
+
* process.
|
|
173
165
|
*
|
|
174
166
|
* @param webUrl The URL of the web page to be ingested.
|
|
175
|
-
* @param chunkSize The size of the chunks to be used for the upload. If not provided, the default chunk size will be used.
|
|
176
|
-
* @param chunkOverlap The size of the overlap between chunks. If not provided, the default overlap size will be used.
|
|
177
167
|
* @param agentId The ID of the agent to be used for the upload. If not provided, the default agent will be used.
|
|
178
168
|
* @param metadata Additional metadata to be associated with the web URL.
|
|
179
169
|
*
|
|
180
170
|
* @returns The response from the RabbitHole API.
|
|
181
171
|
*/
|
|
182
|
-
async postWeb(webUrl,
|
|
172
|
+
async postWeb(webUrl, agentId, metadata) {
|
|
183
173
|
const payload = { url: webUrl };
|
|
184
|
-
if (chunkSize) {
|
|
185
|
-
payload["chunk_size"] = chunkSize;
|
|
186
|
-
}
|
|
187
|
-
if (chunkOverlap) {
|
|
188
|
-
payload["chunk_overlap"] = chunkOverlap;
|
|
189
|
-
}
|
|
190
174
|
if (metadata) {
|
|
191
175
|
payload["metadata"] = metadata;
|
|
192
176
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitHole.js","sourceRoot":"","sources":["../../src/endpoints/rabbitHole.ts"],"names":[],"mappings":";;;;;;AAAA;;;;;;GAMG;AACH,yCAA4C;AAC5C,0DAAiC;AACjC,sDAAuD;AACvD,sDAAwF;AACxF,kDAAsE;AAGtE,MAAa,kBAAmB,SAAQ,2BAAgB;IAC1C,MAAM,GAAG,aAAa,CAAC;IAEzB,UAAU,CAAC,UAAsB,EAAE,KAAU;QACjD,2DAA2D;QAC3D,IAAI,CAAC,IAAA,+BAAiB,GAAE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,oFAAoF,CAAC,CAAC;QAC1G,CAAC;aAAM,IAAI,IAAA,+BAAiB,GAAE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,IAAI,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACvF,CAAC;QAED,8BAA8B;QAC9B,MAAM,KAAK,CAAC;IAChB,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC1B,IAAoC,EACpC,UAAsB,EACtB,OAAe,EACf,QAAwB;QAExB,sDAAsD;QACtD,MAAM,UAAU,GAAG,MAAM,IAAA,sBAAQ,EAAC,UAAU,CAAC,CAAC;QAE9C,2BAA2B;QAC3B,MAAM,aAAa,GAAG,QAAQ,IAAI,MAAM,IAAA,yBAAW,EAAC,UAAU,CAAC,CAAC;QAChE,MAAM,YAAY,GAAG,MAAM,IAAA,6BAAe,EAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QAEtE,IAAI,IAAA,+BAAiB,GAAE,EAAE,CAAC;YACrB,IAAiB,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,EAAE;gBAC3C,QAAQ,EAAE,aAAa;gBACvB,WAAW,EAAE,YAAY;aAC5B,CAAC,CAAC;YAEH,OAAO;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,CAAC;QAC3D,IAA4B,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;IACvE,CAAC;IAEO,qBAAqB,CACzB,IAAoC,EACpC,
|
|
1
|
+
{"version":3,"file":"rabbitHole.js","sourceRoot":"","sources":["../../src/endpoints/rabbitHole.ts"],"names":[],"mappings":"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"}
|