genbox-agent 1.0.95 → 1.0.96
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/dist/readers/jsonl-watcher.d.ts +45 -0
- package/dist/readers/jsonl-watcher.d.ts.map +1 -0
- package/dist/readers/jsonl-watcher.js +300 -0
- package/dist/readers/jsonl-watcher.js.map +1 -0
- package/dist/server/index.d.ts +5 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +128 -82
- package/dist/server/index.js.map +1 -1
- package/dist/state-watchdog.d.ts +56 -0
- package/dist/state-watchdog.d.ts.map +1 -0
- package/dist/state-watchdog.js +136 -0
- package/dist/state-watchdog.js.map +1 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +52 -2
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/manager.d.ts +8 -12
- package/dist/storage/manager.d.ts.map +1 -1
- package/dist/storage/manager.js +61 -170
- package/dist/storage/manager.js.map +1 -1
- package/dist/storage/repositories/messages.js +2 -2
- package/dist/storage/repositories/sessions.d.ts +22 -2
- package/dist/storage/repositories/sessions.d.ts.map +1 -1
- package/dist/storage/repositories/sessions.js +58 -4
- package/dist/storage/repositories/sessions.js.map +1 -1
- package/dist/storage/schema.d.ts +2 -2
- package/dist/storage/schema.d.ts.map +1 -1
- package/dist/storage/schema.js +9 -16
- package/dist/storage/schema.js.map +1 -1
- package/dist/unified-daemon.js +36 -0
- package/dist/unified-daemon.js.map +1 -1
- package/dist/utils/session-names.d.ts +19 -0
- package/dist/utils/session-names.d.ts.map +1 -0
- package/dist/utils/session-names.js +42 -0
- package/dist/utils/session-names.js.map +1 -0
- package/package.json +2 -1
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JSONL File Watcher
|
|
3
|
+
*
|
|
4
|
+
* Watches Claude JSONL files for changes and incrementally syncs new messages
|
|
5
|
+
* to the local database. Provides instant message sync with zero polling overhead.
|
|
6
|
+
*/
|
|
7
|
+
import { StorageManager } from '../storage/manager';
|
|
8
|
+
export declare class JSONLWatcher {
|
|
9
|
+
private claudeProjectsDir;
|
|
10
|
+
private storageManager;
|
|
11
|
+
private watcher;
|
|
12
|
+
private fileStates;
|
|
13
|
+
private debounceTimers;
|
|
14
|
+
private broadcastCallback?;
|
|
15
|
+
constructor(claudeProjectsDir: string, storageManager: StorageManager);
|
|
16
|
+
/**
|
|
17
|
+
* Set callback for broadcasting events to connected clients
|
|
18
|
+
*/
|
|
19
|
+
setBroadcastCallback(callback: (event: any) => void): void;
|
|
20
|
+
/**
|
|
21
|
+
* Start watching JSONL files
|
|
22
|
+
*/
|
|
23
|
+
start(): void;
|
|
24
|
+
/**
|
|
25
|
+
* Stop watching files
|
|
26
|
+
*/
|
|
27
|
+
stop(): Promise<void>;
|
|
28
|
+
/**
|
|
29
|
+
* Handle file change with debouncing
|
|
30
|
+
*/
|
|
31
|
+
private handleFileChange;
|
|
32
|
+
/**
|
|
33
|
+
* Incrementally sync new content from a JSONL file
|
|
34
|
+
*/
|
|
35
|
+
private syncFile;
|
|
36
|
+
/**
|
|
37
|
+
* Get watcher status
|
|
38
|
+
*/
|
|
39
|
+
getStatus(): {
|
|
40
|
+
running: boolean;
|
|
41
|
+
watchedFiles: number;
|
|
42
|
+
trackedFiles: number;
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=jsonl-watcher.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl-watcher.d.ts","sourceRoot":"","sources":["../../src/readers/jsonl-watcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAOpD,qBAAa,YAAY;IAOrB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,cAAc;IAPxB,OAAO,CAAC,OAAO,CAA0B;IACzC,OAAO,CAAC,UAAU,CAAgC;IAClD,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,iBAAiB,CAAC,CAAuB;gBAGvC,iBAAiB,EAAE,MAAM,EACzB,cAAc,EAAE,cAAc;IAGxC;;OAEG;IACH,oBAAoB,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,GAAG,IAAI;IAI1D;;OAEG;IACH,KAAK,IAAI,IAAI;IAgDb;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAqB3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAgBxB;;OAEG;YACW,QAAQ;IA8JtB;;OAEG;IACH,SAAS,IAAI;QACX,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,YAAY,EAAE,MAAM,CAAC;KACtB;CAOF"}
|
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* JSONL File Watcher
|
|
4
|
+
*
|
|
5
|
+
* Watches Claude JSONL files for changes and incrementally syncs new messages
|
|
6
|
+
* to the local database. Provides instant message sync with zero polling overhead.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
42
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
43
|
+
};
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.JSONLWatcher = void 0;
|
|
46
|
+
const chokidar_1 = __importDefault(require("chokidar"));
|
|
47
|
+
const fs = __importStar(require("fs"));
|
|
48
|
+
const path = __importStar(require("path"));
|
|
49
|
+
class JSONLWatcher {
|
|
50
|
+
claudeProjectsDir;
|
|
51
|
+
storageManager;
|
|
52
|
+
watcher = null;
|
|
53
|
+
fileStates = new Map();
|
|
54
|
+
debounceTimers = new Map();
|
|
55
|
+
broadcastCallback;
|
|
56
|
+
constructor(claudeProjectsDir, storageManager) {
|
|
57
|
+
this.claudeProjectsDir = claudeProjectsDir;
|
|
58
|
+
this.storageManager = storageManager;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Set callback for broadcasting events to connected clients
|
|
62
|
+
*/
|
|
63
|
+
setBroadcastCallback(callback) {
|
|
64
|
+
this.broadcastCallback = callback;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Start watching JSONL files
|
|
68
|
+
*/
|
|
69
|
+
start() {
|
|
70
|
+
if (this.watcher) {
|
|
71
|
+
console.log('[JSONLWatcher] Already running');
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// Check if directory exists
|
|
75
|
+
if (!fs.existsSync(this.claudeProjectsDir)) {
|
|
76
|
+
console.log(`[JSONLWatcher] Directory not found: ${this.claudeProjectsDir}`);
|
|
77
|
+
console.log('[JSONLWatcher] Will not start watcher (Claude Code not installed?)');
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const watchPattern = `${this.claudeProjectsDir}/**/*.jsonl`;
|
|
81
|
+
console.log(`[JSONLWatcher] Starting file watcher: ${watchPattern}`);
|
|
82
|
+
this.watcher = chokidar_1.default.watch(watchPattern, {
|
|
83
|
+
persistent: true,
|
|
84
|
+
ignoreInitial: true, // Don't trigger on existing files at startup
|
|
85
|
+
awaitWriteFinish: {
|
|
86
|
+
stabilityThreshold: 150, // Wait 150ms after last change
|
|
87
|
+
pollInterval: 50,
|
|
88
|
+
},
|
|
89
|
+
// Performance options
|
|
90
|
+
usePolling: false, // Use native fs events (faster)
|
|
91
|
+
interval: 100,
|
|
92
|
+
binaryInterval: 300,
|
|
93
|
+
});
|
|
94
|
+
this.watcher.on('change', (filePath) => {
|
|
95
|
+
this.handleFileChange(filePath);
|
|
96
|
+
});
|
|
97
|
+
this.watcher.on('add', (filePath) => {
|
|
98
|
+
console.log(`[JSONLWatcher] New file detected: ${path.basename(filePath)}`);
|
|
99
|
+
this.handleFileChange(filePath);
|
|
100
|
+
});
|
|
101
|
+
this.watcher.on('error', (error) => {
|
|
102
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
103
|
+
console.error(`[JSONLWatcher] Error: ${message}`);
|
|
104
|
+
});
|
|
105
|
+
this.watcher.on('ready', () => {
|
|
106
|
+
console.log('[JSONLWatcher] Ready and watching for changes');
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Stop watching files
|
|
111
|
+
*/
|
|
112
|
+
async stop() {
|
|
113
|
+
if (!this.watcher)
|
|
114
|
+
return;
|
|
115
|
+
console.log('[JSONLWatcher] Stopping...');
|
|
116
|
+
// Clear all debounce timers
|
|
117
|
+
for (const timer of this.debounceTimers.values()) {
|
|
118
|
+
clearTimeout(timer);
|
|
119
|
+
}
|
|
120
|
+
this.debounceTimers.clear();
|
|
121
|
+
// Close watcher
|
|
122
|
+
await this.watcher.close();
|
|
123
|
+
this.watcher = null;
|
|
124
|
+
// Clear file states
|
|
125
|
+
this.fileStates.clear();
|
|
126
|
+
console.log('[JSONLWatcher] Stopped');
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Handle file change with debouncing
|
|
130
|
+
*/
|
|
131
|
+
handleFileChange(filePath) {
|
|
132
|
+
// Clear existing timer for this file
|
|
133
|
+
const existingTimer = this.debounceTimers.get(filePath);
|
|
134
|
+
if (existingTimer) {
|
|
135
|
+
clearTimeout(existingTimer);
|
|
136
|
+
}
|
|
137
|
+
// Set new timer - sync after 150ms of no changes
|
|
138
|
+
const timer = setTimeout(() => {
|
|
139
|
+
this.syncFile(filePath);
|
|
140
|
+
this.debounceTimers.delete(filePath);
|
|
141
|
+
}, 150);
|
|
142
|
+
this.debounceTimers.set(filePath, timer);
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* Incrementally sync new content from a JSONL file
|
|
146
|
+
*/
|
|
147
|
+
async syncFile(filePath) {
|
|
148
|
+
try {
|
|
149
|
+
// Get current file stats
|
|
150
|
+
const stats = fs.statSync(filePath);
|
|
151
|
+
const currentSize = stats.size;
|
|
152
|
+
// Get last known state
|
|
153
|
+
const fileState = this.fileStates.get(filePath) || {
|
|
154
|
+
lastPosition: 0,
|
|
155
|
+
lastSize: 0,
|
|
156
|
+
};
|
|
157
|
+
// Check if file was truncated (rare but possible)
|
|
158
|
+
if (currentSize < fileState.lastSize) {
|
|
159
|
+
console.warn(`[JSONLWatcher] File truncated: ${path.basename(filePath)} (${fileState.lastSize} → ${currentSize} bytes)`);
|
|
160
|
+
fileState.lastPosition = 0;
|
|
161
|
+
fileState.lastSize = 0;
|
|
162
|
+
}
|
|
163
|
+
// Calculate bytes to read
|
|
164
|
+
const bytesToRead = currentSize - fileState.lastPosition;
|
|
165
|
+
if (bytesToRead <= 0) {
|
|
166
|
+
// No new data
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
// Read only new bytes
|
|
170
|
+
const fd = fs.openSync(filePath, 'r');
|
|
171
|
+
const buffer = Buffer.alloc(bytesToRead);
|
|
172
|
+
fs.readSync(fd, buffer, 0, bytesToRead, fileState.lastPosition);
|
|
173
|
+
fs.closeSync(fd);
|
|
174
|
+
// Parse new lines
|
|
175
|
+
const newContent = buffer.toString('utf-8');
|
|
176
|
+
const newLines = newContent
|
|
177
|
+
.split('\n')
|
|
178
|
+
.filter(line => line.trim().length > 0);
|
|
179
|
+
if (newLines.length === 0) {
|
|
180
|
+
// Update position even if no complete lines
|
|
181
|
+
fileState.lastPosition = currentSize;
|
|
182
|
+
fileState.lastSize = currentSize;
|
|
183
|
+
this.fileStates.set(filePath, fileState);
|
|
184
|
+
return;
|
|
185
|
+
}
|
|
186
|
+
// Parse JSONL entries
|
|
187
|
+
const newMessages = [];
|
|
188
|
+
for (const line of newLines) {
|
|
189
|
+
try {
|
|
190
|
+
const entry = JSON.parse(line);
|
|
191
|
+
newMessages.push(entry);
|
|
192
|
+
}
|
|
193
|
+
catch (error) {
|
|
194
|
+
console.error(`[JSONLWatcher] Failed to parse line: ${line.substring(0, 100)}...`);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
if (newMessages.length === 0) {
|
|
198
|
+
fileState.lastPosition = currentSize;
|
|
199
|
+
fileState.lastSize = currentSize;
|
|
200
|
+
this.fileStates.set(filePath, fileState);
|
|
201
|
+
return;
|
|
202
|
+
}
|
|
203
|
+
// Extract Claude session ID from first message
|
|
204
|
+
const firstMessage = newMessages[0];
|
|
205
|
+
const sessionId = firstMessage.session_id || firstMessage.sessionId;
|
|
206
|
+
if (!sessionId) {
|
|
207
|
+
console.warn(`[JSONLWatcher] No session ID in messages from ${path.basename(filePath)}`);
|
|
208
|
+
fileState.lastPosition = currentSize;
|
|
209
|
+
fileState.lastSize = currentSize;
|
|
210
|
+
this.fileStates.set(filePath, fileState);
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
// Ensure session exists
|
|
214
|
+
let session = this.storageManager.sessions.getById(sessionId);
|
|
215
|
+
if (!session) {
|
|
216
|
+
// Extract project path from file path
|
|
217
|
+
// Format: ~/.claude/projects/{encoded-path}/{session-id}.jsonl
|
|
218
|
+
const projectMatch = filePath.match(/projects\/([^/]+)\//);
|
|
219
|
+
let projectPath = process.cwd();
|
|
220
|
+
if (projectMatch) {
|
|
221
|
+
// Decode project path (- prefix means root, then / becomes -)
|
|
222
|
+
projectPath = projectMatch[1]
|
|
223
|
+
.replace(/^-/, '/')
|
|
224
|
+
.replace(/-/g, '/');
|
|
225
|
+
}
|
|
226
|
+
session = this.storageManager.sessions.create({
|
|
227
|
+
id: sessionId,
|
|
228
|
+
provider: 'claude',
|
|
229
|
+
projectPath,
|
|
230
|
+
});
|
|
231
|
+
console.log(`[JSONLWatcher] Created session ${sessionId} from file`);
|
|
232
|
+
}
|
|
233
|
+
// Get existing message count to avoid duplicates
|
|
234
|
+
const existingMessages = this.storageManager.messages.getBySession(sessionId);
|
|
235
|
+
const existingCount = existingMessages.length;
|
|
236
|
+
// Store new messages (skip ones we already have)
|
|
237
|
+
let messagesAdded = 0;
|
|
238
|
+
for (let i = existingCount; i < newMessages.length; i++) {
|
|
239
|
+
const msg = newMessages[i];
|
|
240
|
+
// Only store user/assistant messages
|
|
241
|
+
if (msg.type === 'user' || msg.type === 'assistant') {
|
|
242
|
+
try {
|
|
243
|
+
this.storageManager.messages.create({
|
|
244
|
+
sessionId,
|
|
245
|
+
role: msg.role || msg.type,
|
|
246
|
+
content: msg.content || [],
|
|
247
|
+
sequence: i + 1,
|
|
248
|
+
inputTokens: msg.input_tokens || 0,
|
|
249
|
+
outputTokens: msg.output_tokens || 0,
|
|
250
|
+
cacheReadTokens: msg.cache_read_tokens || 0,
|
|
251
|
+
cacheWriteTokens: msg.cache_write_tokens || 0,
|
|
252
|
+
costCents: msg.cost_cents || 0,
|
|
253
|
+
});
|
|
254
|
+
messagesAdded++;
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
// Ignore duplicate messages (unique constraint on ID)
|
|
258
|
+
if (!String(error).includes('UNIQUE')) {
|
|
259
|
+
console.error(`[JSONLWatcher] Failed to store message: ${error}`);
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
// Update file state
|
|
265
|
+
fileState.lastPosition = currentSize;
|
|
266
|
+
fileState.lastSize = currentSize;
|
|
267
|
+
this.fileStates.set(filePath, fileState);
|
|
268
|
+
if (messagesAdded > 0) {
|
|
269
|
+
console.log(`[JSONLWatcher] ✓ Synced ${messagesAdded} messages from ${path.basename(filePath)} (session: ${sessionId.substring(0, 8)}...)`);
|
|
270
|
+
// Broadcast update to connected clients
|
|
271
|
+
if (this.broadcastCallback) {
|
|
272
|
+
this.broadcastCallback({
|
|
273
|
+
type: 'message:received',
|
|
274
|
+
sessionId,
|
|
275
|
+
data: {
|
|
276
|
+
messageCount: newMessages.length,
|
|
277
|
+
messagesAdded,
|
|
278
|
+
source: 'file_watcher',
|
|
279
|
+
},
|
|
280
|
+
});
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
catch (error) {
|
|
285
|
+
console.error(`[JSONLWatcher] Error syncing ${path.basename(filePath)}: ${error.message}`);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
/**
|
|
289
|
+
* Get watcher status
|
|
290
|
+
*/
|
|
291
|
+
getStatus() {
|
|
292
|
+
return {
|
|
293
|
+
running: this.watcher !== null,
|
|
294
|
+
watchedFiles: this.watcher ? Object.keys(this.watcher.getWatched()).length : 0,
|
|
295
|
+
trackedFiles: this.fileStates.size,
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
exports.JSONLWatcher = JSONLWatcher;
|
|
300
|
+
//# sourceMappingURL=jsonl-watcher.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsonl-watcher.js","sourceRoot":"","sources":["../../src/readers/jsonl-watcher.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -184,6 +184,7 @@ export declare class AgentServer {
|
|
|
184
184
|
private handlePendingSync;
|
|
185
185
|
/**
|
|
186
186
|
* Handle getting sessions from storage (includes currentState, currentToolName, etc.)
|
|
187
|
+
* Cross-references with active dtach sessions to determine real status
|
|
187
188
|
*/
|
|
188
189
|
private handleStorageSessions;
|
|
189
190
|
/**
|
|
@@ -192,6 +193,10 @@ export declare class AgentServer {
|
|
|
192
193
|
private handleStorageEvents;
|
|
193
194
|
private handleStorageMessages;
|
|
194
195
|
private handleSyncClaudeSession;
|
|
196
|
+
/**
|
|
197
|
+
* Handle archiving/unarchiving a session
|
|
198
|
+
*/
|
|
199
|
+
private handleArchiveSession;
|
|
195
200
|
private sendJson;
|
|
196
201
|
private sendError;
|
|
197
202
|
private readBody;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAQH,OAAO,EAAE,cAAc,EAAuB,MAAM,oBAAoB,CAAC;AAczE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|