openclaw-observability 1.0.5 → 1.0.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAe5D,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1C,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;IACjE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,WAAW,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;QACzI,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,KAAK,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAmbD,iBAAS,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAygCrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,iBAAiB,EAAiB,MAAM,UAAU,CAAC;AAe5D,UAAU,SAAS;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1C,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,GAAG,IAAI,CAAC;IACjE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE;QAC3B,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,WAAW,EAAE,eAAe,EAAE,GAAG,EAAE,OAAO,WAAW,EAAE,cAAc,KAAK,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;QACzI,IAAI,EAAE,SAAS,GAAG,QAAQ,CAAC;QAC3B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;QAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,KAAK,IAAI,CAAC;IACX,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAmbD,iBAAS,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG;IAAE,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,CAogCrE;AAED,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,eAAe,QAAQ,CAAC"}
package/dist/index.js CHANGED
@@ -364,7 +364,6 @@ function activate(api) {
364
364
  else {
365
365
  writer = new duckdb_local_writer_1.DuckDBLocalWriter(config.duckdb);
366
366
  }
367
- const buffer = new buffer_1.AsyncBatchBuffer(config.buffer, (entries) => writer.writeBatch(entries));
368
367
  // Install fetch interceptor for token usage tracking
369
368
  // NOTE: Only install if not in a restart loop (check via env flag)
370
369
  installFetchInterceptor();
@@ -376,62 +375,56 @@ function activate(api) {
376
375
  let alertFlushTimer = null;
377
376
  let mapCleanupTimer = null;
378
377
  let checkpointTimer = null;
379
- // Check whether database can be connected
380
- // - local mode: always available (local file, zero config)
381
- // - remote mode: requires user-configured connection info
382
- const dbConfigured = config.mode === 'local'
383
- || (config.mysql.host !== 'localhost' || config.mysql.password !== '');
384
- if (dbConfigured) {
385
- // Async background initialization
386
- writer
387
- .initialize()
388
- .then(() => {
389
- buffer.start();
390
- // Start security alert flush timer (same interval as buffer flush)
391
- alertFlushTimer = setInterval(() => void flushAlerts(), config.buffer.flushIntervalMs);
392
- if (alertFlushTimer && typeof alertFlushTimer === 'object' && 'unref' in alertFlushTimer) {
393
- alertFlushTimer.unref();
394
- }
395
- // Start Map cleanup timer (every 60s)
396
- mapCleanupTimer = setInterval(cleanupStaleMaps, 60000);
397
- if (mapCleanupTimer && typeof mapCleanupTimer === 'object' && 'unref' in mapCleanupTimer) {
398
- mapCleanupTimer.unref();
399
- }
400
- // DuckDB periodic checkpoint (every 5 min) — merge WAL into main file
401
- if (config.mode === 'local') {
402
- const CHECKPOINT_INTERVAL = 5 * 60 * 1000; // 5 minutes
403
- checkpointTimer = setInterval(async () => {
404
- try {
405
- const pool = writer.getPool();
406
- if (pool) {
407
- await pool.query('CHECKPOINT');
408
- }
378
+ // Track if services (buffer, timers) have been started
379
+ let servicesStarted = false;
380
+ /**
381
+ * Start buffer and timers after database is initialized.
382
+ * Called lazily on first write or when database becomes ready.
383
+ */
384
+ function startServices() {
385
+ if (servicesStarted)
386
+ return;
387
+ servicesStarted = true;
388
+ buffer.start();
389
+ // Start security alert flush timer (same interval as buffer flush)
390
+ alertFlushTimer = setInterval(() => void flushAlerts(), config.buffer.flushIntervalMs);
391
+ if (alertFlushTimer && typeof alertFlushTimer === 'object' && 'unref' in alertFlushTimer) {
392
+ alertFlushTimer.unref();
393
+ }
394
+ // Start Map cleanup timer (every 60s)
395
+ mapCleanupTimer = setInterval(cleanupStaleMaps, 60000);
396
+ if (mapCleanupTimer && typeof mapCleanupTimer === 'object' && 'unref' in mapCleanupTimer) {
397
+ mapCleanupTimer.unref();
398
+ }
399
+ // DuckDB periodic checkpoint (every 5 min) — merge WAL into main file
400
+ if (config.mode === 'local') {
401
+ const CHECKPOINT_INTERVAL = 5 * 60 * 1000; // 5 minutes
402
+ checkpointTimer = setInterval(async () => {
403
+ try {
404
+ const pool = writer.getPool();
405
+ if (pool) {
406
+ await pool.query('CHECKPOINT');
409
407
  }
410
- catch { /* ignore */ }
411
- }, CHECKPOINT_INTERVAL);
412
- if (checkpointTimer && typeof checkpointTimer === 'object' && 'unref' in checkpointTimer) {
413
- checkpointTimer.unref();
414
408
  }
409
+ catch { /* ignore */ }
410
+ }, CHECKPOINT_INTERVAL);
411
+ if (checkpointTimer && typeof checkpointTimer === 'object' && 'unref' in checkpointTimer) {
412
+ checkpointTimer.unref();
415
413
  }
416
- console.log(`[openclaw-observability] Plugin activated (mode=${config.mode}, security scanner enabled)`);
417
- })
418
- .catch((error) => {
419
- const errMsg = error.message || String(error);
420
- // Check if this is a lock conflict (database already in use by another process)
421
- const isLockConflict = errMsg.includes('Could not set lock') ||
422
- errMsg.includes('Conflicting lock') ||
423
- errMsg.includes('database is locked');
424
- if (isLockConflict) {
425
- // Lock conflict: database is being used by another process (e.g., Gateway)
426
- // This is expected when openclaw status runs while Gateway is active
427
- // Silently skip initialization - plugin will work in read-only mode via ensureReady()
428
- console.log('[openclaw-observability] Database locked by another process, skipping initialization (this is normal when Gateway is running)');
429
- }
430
- else {
431
- // Real error: log it
432
- console.error('[openclaw-observability] Failed to initialize database:', error);
433
- }
434
- });
414
+ }
415
+ console.log(`[openclaw-observability] Services started (mode=${config.mode}, security scanner enabled)`);
416
+ }
417
+ const buffer = new buffer_1.AsyncBatchBuffer(config.buffer, async (entries) => {
418
+ await writer.writeBatch(entries);
419
+ // Start services (buffer, timers) on first successful write
420
+ startServices();
421
+ });
422
+ // Lazy initialization: database file will be created on first write or first API query
423
+ // This avoids creating empty database files when plugin is installed but never used
424
+ const dbConfigured = config.mode === 'local'
425
+ || (config.mysql.host !== 'localhost' || config.mysql.password !== '');
426
+ if (dbConfigured) {
427
+ console.log(`[openclaw-observability] Plugin activated (mode=${config.mode}). Database will be created on first use.`);
435
428
  }
436
429
  else {
437
430
  console.log('[openclaw-observability] MySQL not configured yet — skipping database connection. ' +
@@ -1102,8 +1095,8 @@ function activate(api) {
1102
1095
  userId: 'system',
1103
1096
  outputResult: { reason: e.reason },
1104
1097
  }));
1105
- // Force flush on gateway stop
1106
- void buffer.flush();
1098
+ // Trigger flush (best-effort, deactivate() will do final flush)
1099
+ buffer.flush().catch(() => { });
1107
1100
  console.log(`[openclaw-observability] gateway_stop: reason=${e.reason}`);
1108
1101
  }
1109
1102
  catch (err) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;GAaG;;AAy9CM,4BAAQ;AAv9CjB,qCAA4D;AAC5D,mCAAgE;AAChE,2CAAuC;AACvC,yDAAqD;AACrD,uEAAkE;AAElE,6CAAoD;AACpD,yCAAmD;AACnD,gDAA4E;AAwB5E,wEAAwE;AACxE,0EAA0E;AAC1E,wEAAwE;AAExE,6CAA6C;AAC7C,MAAM,eAAe,GAAG,IAAI,CAAC;AAC7B,gCAAgC;AAChC,MAAM,gBAAgB,GAAG,OAAO,CAAC;AACjC,4BAA4B;AAC5B,MAAM,gBAAgB,GAAG,GAAG,CAAC;AAE7B,6CAA6C;AAC7C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;AA6BhD;;;;GAIG;AACH,MAAM,aAAa,GAAG,IAAI,GAAG,EAAuB,CAAC;AACrD,IAAI,iBAAiB,GAAG,CAAC,CAAC;AAE1B;;;GAGG;AACH,IAAI,cAAc,GAAuB,IAAI,CAAC;AAE9C,+BAA+B;AAC/B,IAAI,aAAa,GAAmC,IAAI,CAAC;AAEzD,iDAAiD;AACjD,IAAI,yBAAyB,GAAG,KAAK,CAAC;AAEtC,SAAS,uBAAuB;IAC9B,IAAI,yBAAyB;QAAE,OAAO;IAEtC,aAAa,GAAG,UAAU,CAAC,KAAK,CAAC;IACjC,MAAM,SAAS,GAAG,aAAa,CAAC;IAEhC,UAAU,CAAC,KAAK,GAAG,KAAK,UAAU,YAAY,CAC5C,KAA6B,EAC7B,IAAkB;QAElB,sEAAsE;QACtE,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;YACzD,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,OAA2B,CAAC;QAChC,IAAI,CAAC;YACH,OAAO,GAAG,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,CAAC;QAAC,MAAM,CAAC;YACP,0BAA0B;QAC5B,CAAC;QAED,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,0DAA0D;QAC1D,IAAI,MAA2C,CAAC;QAChD,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YAC3E,OAAO,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAChC,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,CAAC,cAAc,GAAG,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;YAChD,IAAI,GAAG,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC;QACnD,CAAC;QAED,0BAA0B;QAC1B,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAE9C,+EAA+E;QAC/E,gEAAgE;QAChE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,MAAM,SAAS,GAAG,EAAE,iBAAiB,CAAC;QACtC,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;QAClC,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,cAAc,GAAuB,IAAI,CAAC;QAE9C,kDAAkD;QAClD,SAAS,eAAe,CAAC,OAAe;YACtC,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAU7B,CAAC;gBACF,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,IAAI,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC;oBACrE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC;oBACpB,cAAc,GAAG;wBACf,KAAK,EAAE,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC;wBAC7C,MAAM,EAAE,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC;wBACnD,SAAS,EAAE,CAAC,CAAC,uBAAuB,IAAI,CAAC;wBACzC,UAAU,EAAE,CAAC,CAAC,2BAA2B,IAAI,CAAC;wBAC9C,KAAK,EAAE,CAAC,CAAC,YAAY,IAAI,CAAC;wBAC1B,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;qBACtB,CAAC;gBACJ,CAAC;YACH,CAAC;YAAC,MAAM,CAAC,CAAC,yBAAyB,CAAC,CAAC;QACvC,CAAC;QAED,iCAAiC;QACjC,SAAS,eAAe;YACtB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACpC,SAAS,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,4BAA4B;YAC3D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAAE,SAAS;gBACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAClC,IAAI,IAAI,KAAK,QAAQ;oBAAE,SAAS;gBAChC,eAAe,CAAC,IAAI,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,2CAA2C;QAC3C,MAAM,OAAO,GAAG,IAAI,cAAc,CAAa;YAC7C,KAAK,CAAC,KAAK,CAAC,UAAU;gBACpB,IAAI,CAAC;oBACH,OAAO,IAAI,EAAE,CAAC;wBACZ,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;wBAC5C,IAAI,IAAI,EAAE,CAAC;4BACT,2CAA2C;4BAC3C,IAAI,SAAS,CAAC,IAAI,EAAE;gCAAE,eAAe,EAAE,CAAC;4BACxC,IAAI,cAAc,EAAE,CAAC;gCACnB,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;gCAC7C,cAAc,GAAG,cAAc,CAAC;4BAClC,CAAC;4BACD,UAAU,CAAC,KAAK,EAAE,CAAC;4BACnB,MAAM;wBACR,CAAC;wBACD,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAC1B,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;wBACrD,eAAe,EAAE,CAAC;oBACpB,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;SACF,CAAC,CAAC;QAEH,OAAO,IAAI,QAAQ,CAAC,OAAO,EAAE;YAC3B,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,OAAO,EAAE,QAAQ,CAAC,OAAO;SAC1B,CAAC,CAAC;IACL,CAA4B,CAAC;IAE7B,yBAAyB,GAAG,IAAI,CAAC;IACjC,OAAO,CAAC,GAAG,CAAC,+EAA+E,CAAC,CAAC;AAC/F,CAAC;AAED,SAAS,yBAAyB;IAChC,IAAI,aAAa,EAAE,CAAC;QAClB,UAAU,CAAC,KAAK,GAAG,aAAa,CAAC;QACjC,aAAa,GAAG,IAAI,CAAC;QACrB,yBAAyB,GAAG,KAAK,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,wDAAwD,CAAC,CAAC;IACxE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB;IACxB,MAAM,KAAK,GAAG,cAAc,CAAC;IAC7B,cAAc,GAAG,IAAI,CAAC;IACtB,8BAA8B;IAC9B,IAAI,aAAa,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAeD,MAAM,SAAS,GAAG,IAAI,GAAG,EAAoB,CAAC;AAE9C;;GAEG;AACH,SAAS,gBAAgB;IACvB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,KAAK,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,IAAI,aAAa,EAAE,CAAC;QAC7C,IAAI,GAAG,GAAG,SAAS,GAAG,gBAAgB,EAAE,CAAC;YACvC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,6EAA6E;IAC7E,IAAI,SAAS,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,kCAAkC;IAClC,IAAI,aAAa,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IACD,gDAAgD;IAChD,IAAI,iBAAiB,CAAC,IAAI,GAAG,eAAe,EAAE,CAAC;QAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;QAClD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC,EAAE,EAAE,CAAC;YACvD,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,6DAA6D;IAC7D,IAAI,eAAe,CAAC,IAAI,GAAG,iBAAiB,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,OAAO,CAAC,MAAM,GAAG,iBAAiB,CAAC;QACpD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YAClC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,gBAAgB,CAAC,eAA0B;IAClD,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC;QAAE,OAAO,KAAK,CAAC;IAElD,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE,CAAC;QAClC,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ;YAAE,SAAS;QAC9C,MAAM,CAAC,GAAG,GAA8B,CAAC;QACzC,MAAM,IAAI,GAAG,CAAC,CAAC,IAA0B,CAAC;QAC1C,MAAM,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC;QAE1B,2DAA2D;QAC3D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,SAAS;QAEtC,MAAM,MAAM,GAAoB,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;QAExE,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,SAAS;YAChD,MAAM,CAAC,GAAG,IAA+B,CAAC;YAC1C,IAAI,CAAC,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACrD,MAAM,SAAS,GAAI,CAAC,CAAC,IAAe,CAAC,MAAM,CAAC;gBAC5C,6FAA6F;gBAC7F,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC;oBACT,QAAQ,EAAG,CAAC,CAAC,QAAmB,IAAI,SAAS;oBAC7C,SAAS;oBACT,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAWD,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAA0B,CAAC;AAC5D,4FAA4F;AAC5F,IAAI,qBAAqB,GAAG,SAAS,CAAC;AAEtC,oCAAoC;AACpC,SAAS,aAAa,CAAC,SAAiB;IACtC,IAAI,GAAG,GAAG,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;QAC/C,iBAAiB,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;IACxC,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,gFAAgF;AAChF,SAAS,gBAAgB,CACvB,cAAuB,EACvB,YAAqB;IAErB,IAAI,cAAc,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACnD,qBAAqB,GAAG,cAAc,CAAC;QACvC,OAAO,cAAc,CAAC;IACxB,CAAC;IACD,IAAI,YAAY,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAC/C,qBAAqB,GAAG,YAAY,CAAC;QACrC,OAAO,YAAY,CAAC;IACtB,CAAC;IACD,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AAWD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAwB,CAAC;AACxD,gCAAgC;AAChC,MAAM,iBAAiB,GAAG,GAAG,CAAC;AAE9B,wDAAwD;AACxD,SAAS,kBAAkB,CACzB,SAAiB,EACjB,SAAiB,EACjB,MAAc,EACd,MAAc;IAEd,IAAI,KAAK,GAAG,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,KAAK,GAAG;YACN,SAAS,EAAE,IAAI,IAAI,EAAE;YACrB,QAAQ,EAAE,IAAI,IAAI,EAAE;YACpB,SAAS;YACT,MAAM;YACN,YAAY,EAAE,CAAC;YACf,WAAW,EAAE,CAAC;SACf,CAAC;QACF,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxC,CAAC;IACD,KAAK,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC;IAC5B,KAAK,CAAC,YAAY,IAAI,CAAC,CAAC;IACxB,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC;IAC5B,IAAI,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IAC3C,IAAI,MAAM;QAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;IAElC,OAAO;QACL,SAAS;QACT,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,OAAO,EAAE,KAAK,CAAC,QAAQ;QACvB,YAAY,EAAE,KAAK,CAAC,YAAY;QAChC,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;AACJ,CAAC;AAED,2DAA2D;AAC3D,SAAS,UAAU,CACjB,SAAiB,EACjB,SAAgF;IAEhF,MAAM,IAAI,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC;IACtC,OAAO;QACL,SAAS;QACT,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS;QAChD,WAAW,EAAE,SAAS,CAAC,WAAW,IAAI,IAAI;QAC1C,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI;QAC5C,YAAY,EAAE,SAAS,CAAC,YAAY,IAAI,IAAI;QAC5C,gBAAgB,EAAE,SAAS,CAAC,gBAAgB,IAAI,IAAI;QACpD,UAAU,EAAE,SAAS,CAAC,UAAU,IAAI,IAAI;QACxC,MAAM,EAAE,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM;QACvC,SAAS,EAAE,SAAS,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE;KAC7C,CAAC;AACJ,CAAC;AAED,wEAAwE;AACxE,kFAAkF;AAClF,wEAAwE;AAExE,SAAS,QAAQ,CAAC,GAAc;IAC9B,MAAM,SAAS,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,CAA+B,CAAC;IACvF,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,SAAS,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CACT,kDAAkD,MAAM,CAAC,IAAI,GAAG;QAChE,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ;YACvB,CAAC,CAAC,cAAc,MAAM,CAAC,KAAK,CAAC,IAAI,mBAAmB,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC3E,CAAC,CAAC,eAAe,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CACzC,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,oBAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAEhD,uCAAuC;IACvC,IAAI,MAAmB,CAAC;IACxB,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC7B,MAAM,GAAG,IAAI,0BAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;SAAM,CAAC;QACN,MAAM,GAAG,IAAI,uCAAiB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IAED,qDAAqD;IACrD,mEAAmE;IACnE,uBAAuB,EAAE,CAAC;IAE1B,mBAAmB;IACnB,MAAM,cAAc,GAAG,IAAA,+BAAqB,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAI,yBAAe,CAAC,cAAc,CAAC,CAAC;IAC5D,0CAA0C;IAC1C,MAAM,WAAW,GAAoB,EAAE,CAAC;IACxC,IAAI,eAAe,GAA0C,IAAI,CAAC;IAClE,IAAI,eAAe,GAA0C,IAAI,CAAC;IAClE,IAAI,eAAe,GAA0C,IAAI,CAAC;IAElE,uDAAuD;IACvD,IAAI,eAAe,GAAG,KAAK,CAAC;IAE5B;;;OAGG;IACH,SAAS,aAAa;QACpB,IAAI,eAAe;YAAE,OAAO;QAC5B,eAAe,GAAG,IAAI,CAAC;QAEvB,MAAM,CAAC,KAAK,EAAE,CAAC;QACf,mEAAmE;QACnE,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,WAAW,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;QACvF,IAAI,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,OAAO,IAAI,eAAe,EAAE,CAAC;YACzF,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,sCAAsC;QACtC,eAAe,GAAG,WAAW,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACvD,IAAI,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,OAAO,IAAI,eAAe,EAAE,CAAC;YACzF,eAAe,CAAC,KAAK,EAAE,CAAC;QAC1B,CAAC;QACD,sEAAsE;QACtE,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC5B,MAAM,mBAAmB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;YACvD,eAAe,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;gBACvC,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9B,IAAI,IAAI,EAAE,CAAC;wBACT,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBACjC,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;YAC1B,CAAC,EAAE,mBAAmB,CAAC,CAAC;YACxB,IAAI,eAAe,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,OAAO,IAAI,eAAe,EAAE,CAAC;gBACzF,eAAe,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,IAAI,6BAA6B,CAAC,CAAC;IAC3G,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,yBAAgB,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QACnE,MAAM,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACjC,4DAA4D;QAC5D,aAAa,EAAE,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,uFAAuF;IACvF,oFAAoF;IACpF,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,KAAK,OAAO;WACvC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,IAAI,MAAM,CAAC,KAAK,CAAC,QAAQ,KAAK,EAAE,CAAC,CAAC;IAEzE,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,mDAAmD,MAAM,CAAC,IAAI,2CAA2C,CAAC,CAAC;IACzH,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CACT,oFAAoF;YACpF,mGAAmG,CACpG,CAAC;IACJ,CAAC;IAED,uEAAuE;IACvE,IAAI,OAAO,GAAG,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;QAChD,IAAA,4BAAmB,EAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,IAAI,CAAC,sFAAsF,CAAC,CAAC;IACvG,CAAC;IAED,iEAAiE;IAEjE,iEAAiE;IACjE,SAAS,YAAY,CAAC,MAAmB,EAAE,MAAM,GAAG,CAAC;QACnD,KAAK,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAC9B,MAAM,OAAO,GAAG,kBAAkB,CAChC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,MAAM,EACb,MAAM,CACP,CAAC;QACF,KAAK,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAEhC,wBAAwB;QACxB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5C,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,6CAA6C;oBAC7C,IAAI,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,gBAAgB,EAAE,CAAC;wBAC1D,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,GAAG,gBAAgB,CAAC;wBACvE,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;wBAChC,OAAO,CAAC,IAAI,CAAC,oEAAoE,QAAQ,gBAAgB,CAAC,CAAC;oBAC7G,CAAC;oBACD,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,CAAC;oBAC5B,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;wBAC5F,OAAO,CAAC,GAAG,CACT,qCAAqC,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,QAAQ,MAAM,KAAK,CAAC,OAAO,aAAa,KAAK,CAAC,SAAS,GAAG,CAC/J,CAAC;oBACJ,CAAC;oBACD,uCAAuC;oBACvC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,EAAE,CAAC;wBAChD,KAAK,WAAW,EAAE,CAAC;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;YACtE,CAAC;QACH,CAAC;IACH,CAAC;IAED,kCAAkC;IAClC,KAAK,UAAU,WAAW;QACxB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QACrC,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAClC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,2DAA2D,EAAE,GAAG,CAAC,CAAC;YAChF,uBAAuB;YACvB,WAAW,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,SAAS,QAAQ,CAAC,CAAU,EAAE,GAAG,GAAG,GAAG;QACrC,IAAI,OAAO,CAAC,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACrC,OAAO,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACxD,CAAC;IAED,6CAA6C;IAC7C,SAAS,WAAW,CAAC,KAAa;QAChC,IAAI,KAAK,GAAG,IAAI;YAAE,OAAO,GAAG,KAAK,IAAI,CAAC;QACtC,IAAI,KAAK,GAAG,IAAI,GAAG,IAAI;YAAE,OAAO,GAAG,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,OAAO,GAAG,CAAC,KAAK,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;IACpD,CAAC;IAED,wEAAwE;IACxE,sBAAsB;IACtB,wEAAwE;IAExE,+CAA+C;IAC/C,GAAG,CAAC,EAAE,CAAC,sBAAsB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QAC9D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAA2B,CAAC;YACtC,MAAM,CAAC,GAAG,GAA2D,CAAC;YACtE,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,OAAO;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YAExC,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,YAAY;gBACnC,UAAU,EAAE,sBAAsB;gBAClC,MAAM,EAAE,CAAC,EAAE,OAAO;gBAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;aAC7D,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,0DAA0D,GAAG,EAAE,CAAC,CAAC;QAC/E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,yDAAyD,EAAE,GAAG,CAAC,CAAC;QAChF,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAAiD,CAAC;YAC5D,MAAM,CAAC,GAAG,GAA2D,CAAC;YACtE,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEtD,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,WAAW;gBAClC,UAAU,EAAE,qBAAqB;gBACjC,MAAM,EAAE,CAAC,EAAE,OAAO;gBAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC3B,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC1B,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAChE,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,yDAAyD,GAAG,SAAS,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,CAC3H,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6DAA6D;IAC7D,qEAAqE;IAErE,gCAAgC;IAChC,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAKT,CAAC;YACF,MAAM,CAAC,GAAG,GAA2D,CAAC;YACtE,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEtD,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,QAAQ;gBAC/B,UAAU,EAAE,WAAW;gBACvB,MAAM,EAAE,CAAC,EAAE,OAAO;gBAClB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC5B,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAChE,CAAC;gBACF,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;aACjC,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,+CAA+C,GAAG,YAAY,CAAC,CAAC,OAAO,aAAa,CAAC,CAAC,UAAU,IAAI,CACrG,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,gBAAgB;IAChB,wEAAwE;IAExE,oEAAoE;IACpE,GAAG,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACnD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAST,CAAC;YACF,MAAM,CAAC,GAAG,GAA2D,CAAC;YACtE,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAEhC,kDAAkD;YAClD,MAAM,KAAK,GAAG,gBAAgB,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC;YAExD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;gBACvC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE;oBACrB,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,WAAW,EAAE,CAAC,CAAC,WAAW;oBAC1B,KAAK,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS;iBAC5C,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,EAAE,OAAO;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAE5C,OAAO,CAAC,GAAG,CACT,+CAA+C,GAAG,UAAU,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,WAAW,IAAI,CAAC,eAAe,KAAK,CAAC,MAAM,EAAE,CAC7J,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8CAA8C,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACpD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAcT,CAAC;YACF,MAAM,CAAC,GAAG,GAA2D,CAAC;YAEtE,qBAAqB;YACrB,IAAI,UAAU,GAAkB,IAAI,CAAC;YACrC,IAAI,CAAC,CAAC,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC1C,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAE,CAAC;gBACtD,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAChC,CAAC;YAED,6BAA6B;YAC7B,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACjE,IAAI,CAAC,CAAC,KAAK;gBAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YAEvC,8CAA8C;YAC9C,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACxD,IAAI,YAAY,GAAkB,CAAC,CAAC,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC;YACzD,IAAI,gBAAgB,GAAkB,CAAC,CAAC,KAAK,EAAE,MAAM,IAAI,IAAI,CAAC;YAC9D,IAAI,SAAS,GAAkB,CAAC,CAAC,KAAK,EAAE,SAAS,IAAI,IAAI,CAAC;YAC1D,IAAI,UAAU,GAAkB,CAAC,CAAC,KAAK,EAAE,UAAU,IAAI,IAAI,CAAC;YAE5D,8FAA8F;YAC9F,IAAI,YAAY,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,IAAI,CAAC,CAAC,aAAa,EAAE,CAAC;gBAC1E,MAAM,EAAE,GAAG,CAAC,CAAC,aAAwC,CAAC;gBACtD,MAAM,QAAQ,GAAG,EAAE,CAAC,KAA4C,CAAC;gBACjE,IAAI,QAAQ,EAAE,CAAC;oBACb,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,aAAa,IAAI,QAAQ,CAAC,YAAY,CAAC;oBACtG,MAAM,GAAG,GAAG,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,iBAAiB,IAAI,QAAQ,CAAC,gBAAgB,CAAC;oBAChH,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC;wBAAE,YAAY,GAAG,GAAG,CAAC;oBAC3D,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,GAAG,CAAC;wBAAE,gBAAgB,GAAG,GAAG,CAAC;oBAC/D,IAAI,OAAO,QAAQ,CAAC,SAAS,KAAK,QAAQ;wBAAE,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;oBAC3E,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;wBAAE,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC;gBAChF,CAAC;YACH,CAAC;YAED,iFAAiF;YACjF,IAAI,YAAY,KAAK,IAAI,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;gBACvD,MAAM,QAAQ,GAAG,iBAAiB,EAAE,CAAC;gBACrC,IAAI,QAAQ,EAAE,CAAC;oBACb,YAAY,GAAG,QAAQ,CAAC,KAAK,IAAI,IAAI,CAAC;oBACtC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,IAAI,IAAI,CAAC;oBAC3C,SAAS,GAAG,QAAQ,CAAC,SAAS,IAAI,IAAI,CAAC;oBACvC,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,IAAI,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,YAAY,IAAI,CAAC,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,CAAC,CAAC;YAClE,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;YAE7C,wCAAwC;YACxC,MAAM,SAAS,GAA4B;gBACzC,WAAW,EAAE,WAAW,EAAE,MAAM,IAAI,EAAE;gBACtC,WAAW,EAAE,WAAW,EAAE,WAAW,IAAI,CAAC;aAC3C,CAAC;YACF,IAAI,WAAW,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvD,SAAS,CAAC,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC9C,QAAQ,EAAE,CAAC,CAAC,QAAQ;oBACpB,SAAS,EAAE,CAAC,CAAC,SAAS;oBACtB,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;oBACnC,MAAM,EAAE,CAAC,CAAC,MAAM;iBACjB,CAAC,CAAC,CAAC;gBACJ,SAAS,CAAC,eAAe,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACzF,CAAC;YAED,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,OAAO;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YACxC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;YAE3B,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,OAAO;gBAC9B,UAAU,EAAE,YAAY,SAAS,EAAE;gBACnC,SAAS;gBACT,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC;gBACvC,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc,IAAI,EAAE;iBACvC,CAAC;gBACF,YAAY;gBACZ,gBAAgB;gBAChB,UAAU;gBACV,MAAM,EAAE,CAAC,EAAE,OAAO;aACnB,CAAC,EACF,WAAW,CACZ,CAAC;YAEF,OAAO,CAAC,GAAG,CACT,gDAAgD,CAAC,CAAC,SAAS,UAAU,CAAC,CAAC,KAAK,aAAa,UAAU,aAAa,YAAY,IAAI,GAAG,IAAI,gBAAgB,IAAI,GAAG,YAAY,SAAS,IAAI,GAAG,YAAY,UAAU,IAAI,GAAG,EAAE,CAC1N,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,+CAA+C,EAAE,GAAG,CAAC,CAAC;QACtE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,yBAAyB;IACzB,wEAAwE;IAExE,+CAA+C;IAC/C,GAAG,CAAC,EAAE,CAAC,mBAAmB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QAC3D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAIT,CAAC;YACF,MAAM,CAAC,GAAG,GAA2D,CAAC;YACtE,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEtD,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,mBAAmB;gBAC/B,MAAM,EAAE,CAAC,EAAE,OAAO;gBAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC3B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,eAAe,EAAE,CAAC,CAAC,eAAe;oBAClC,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,uDAAuD,GAAG,SAAS,CAAC,CAAC,YAAY,WAAW,CAAC,CAAC,UAAU,EAAE,CAC3G,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,sDAAsD,EAAE,GAAG,CAAC,CAAC;QAC7E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAIT,CAAC;YACF,MAAM,CAAC,GAAG,GAA2D,CAAC;YACtE,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEtD,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,kBAAkB;gBAC9B,MAAM,EAAE,CAAC,EAAE,OAAO;gBAClB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;oBAC5B,cAAc,EAAE,CAAC,CAAC,cAAc;oBAChC,UAAU,EAAE,CAAC,CAAC,UAAU;iBACzB,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,sDAAsD,GAAG,cAAc,CAAC,CAAC,cAAc,EAAE,CAC1F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAAkD,CAAC;YAC7D,MAAM,CAAC,GAAG,GAA2D,CAAC;YACtE,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAEtD,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,KAAK;gBAC5B,UAAU,EAAE,cAAc;gBAC1B,MAAM,EAAE,CAAC,EAAE,OAAO;gBAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC3B,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;iBAChE,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,kDAAkD,GAAG,WAAW,CAAC,CAAC,MAAM,EAAE,CAC3E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,sBAAsB;IACtB,wEAAwE;IAExE,yCAAyC;IACzC,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAKT,CAAC;YACF,MAAM,CAAC,GAAG,GAIG,CAAC;YACd,MAAM,GAAG,GAAG,qBAAqB,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO,CAAC,qEAAqE;YAEpG,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,WAAW;gBAClC,UAAU,EAAE,kBAAkB;gBAC9B,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC3B,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,SAAS,EAAE,CAAC,EAAE,SAAS;oBACvB,QAAQ,EAAE,CAAC,CAAC,QAAQ;iBACrB,CAAC;gBACF,SAAS,EAAE,IAAI,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;aAC/C,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,mDAAmD,CAAC,CAAC,IAAI,YAAY,CAAC,EAAE,SAAS,QAAQ,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,CAC7G,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kEAAkE;IAClE,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAIT,CAAC;YACF,MAAM,CAAC,GAAG,GAA4D,CAAC;YACvE,MAAM,GAAG,GAAG,qBAAqB,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO;YAE9B,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,iBAAiB;gBAC7B,SAAS,EAAE,EAAE;gBACb,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC;oBAClC,SAAS,EAAE,CAAC,EAAE,SAAS;iBACxB,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,gDAAgD,CAAC,CAAC,EAAE,YAAY,CAAC,EAAE,SAAS,EAAE,CAC/E,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACtD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAKT,CAAC;YACF,MAAM,CAAC,GAAG,GAA4D,CAAC;YACvE,MAAM,GAAG,GAAG,qBAAqB,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO;YAE9B,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,YAAY;gBACnC,UAAU,EAAE,cAAc;gBAC1B,SAAS,EAAE,EAAE;gBACb,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC5B,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,SAAS,EAAE,CAAC,EAAE,SAAS;iBACxB,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,6CAA6C,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,OAAO,YAAY,CAAC,EAAE,SAAS,EAAE,CACjG,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,oIAAoI;IAEpI,wEAAwE;IACxE,iBAAiB;IACjB,wEAAwE;IAExE,yDAAyD;IACzD,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAKT,CAAC;YACF,MAAM,CAAC,GAAG,GAMG,CAAC;YAEd,uEAAuE;YACvE,iGAAiG;YACjG,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/D,aAAa,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;YAEzC,6BAA6B;YAC7B,MAAM,GAAG,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACtD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,OAAO;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YAExC,OAAO,CAAC,GAAG,CACT,mDAAmD,CAAC,CAAC,QAAQ,YAAY,GAAG,WAAW,MAAM,EAAE,CAChG,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,mEAAmE;IACnE,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACzD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAQT,CAAC;YACF,MAAM,CAAC,GAAG,GAMG,CAAC;YAEd,MAAM,QAAQ,GAAG,CAAC,CAAC,QAAQ,CAAC;YAE5B,0DAA0D;YAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAE5D,oFAAoF;YACpF,MAAM,MAAM,GAAG,CAAC,CAAC,UAAU,IAAI,CAAC,EAAE,UAAU,IAAI,EAAE,CAAC;YACnD,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,MAAM,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,CAAC;YAC/D,IAAI,UAAU,GAAkB,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC;YACrD,IAAI,UAAU,KAAK,IAAI,IAAI,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBACxD,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;YAC1D,CAAC;YACD,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEhC,qEAAqE;YACrE,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAEhE,uCAAuC;YACvC,IAAI,UAAU,GAAmC,IAAI,CAAC;YACtD,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;gBACZ,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACnD,CAAC;iBAAM,IAAI,CAAC,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAClC,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,CAAC,MAAM,KAAK,IAAI;oBAC3D,CAAC,CAAE,CAAC,CAAC,MAAkC;oBACvC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC;gBAExB,0DAA0D;gBAC1D,MAAM,aAAa,GAAI,GAAW,CAAC,OAAO,CAAC;gBAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;oBACjC,MAAM,SAAS,GAAgB,EAAE,CAAC;oBAClC,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;wBACjC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;4BAC/F,SAAS,CAAC,IAAI,CAAC;gCACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;gCACpC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;gCAC9C,MAAM,EAAE,MAAM;6BACf,CAAC,CAAC;wBACL,CAAC;oBACH,CAAC;oBACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACzB,wEAAwE;wBACxE,MAAM,SAAS,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;wBAC7B,SAAS,CAAC,OAAO,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,EAAE;4BAClD,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gCAC9D,OAAO;oCACL,IAAI,EAAE,OAAO;oCACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,SAAS;oCACpC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC;oCACtD,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;oCACnE,IAAI,EAAE,kBAAkB;iCACzB,CAAC;4BACJ,CAAC;4BACD,OAAO,IAAI,CAAC;wBACd,CAAC,CAAC,CAAC;wBACH,SAAS,CAAC,WAAW,GAAG,SAAS,CAAC,MAAM,CAAC;wBACzC,SAAS,CAAC,gBAAgB,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;wBAC5E,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;oBAC1C,CAAC;yBAAM,CAAC;wBACN,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC;YAED,YAAY,CACV,UAAU,CAAC,SAAS,EAAE;gBACpB,UAAU,EAAE,kBAAU,CAAC,QAAQ;gBAC/B,UAAU,EAAE,aAAa,QAAQ,EAAE;gBACnC,WAAW;gBACX,YAAY,EAAE,UAAU;gBACxB,UAAU;gBACV,MAAM,EAAE,CAAC,EAAE,OAAO;aACnB,CAAC,CACH,CAAC;YAEF,OAAO,CAAC,GAAG,CACT,kDAAkD,QAAQ,YAAY,SAAS,aAAa,UAAU,IAAI,CAC3G,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oDAAoD,EAAE,GAAG,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2DAA2D;IAC3D,GAAG,CAAC,EAAE,CAAC,qBAAqB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QAC7D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAKT,CAAC;YACF,MAAM,CAAC,GAAG,GAGG,CAAC;YAEd,MAAM,IAAI,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,EAAE,QAAQ,IAAI,SAAS,CAAC;YACpD,MAAM,GAAG,GAAG,qBAAqB,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO;YAE9B,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,WAAW;gBAClC,UAAU,EAAE,gBAAgB,IAAI,EAAE;gBAClC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC3B,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,CAAC,CAAC,UAAU;oBACxB,WAAW,EAAE,CAAC,CAAC,WAAW;iBAC3B,CAAC;aACH,CAAC,CACH,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,wDAAwD,EAAE,GAAG,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,wBAAwB;IACxB,wEAAwE;IAExE,iCAAiC;IACjC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAGT,CAAC;YACF,MAAM,CAAC,GAAG,GAGG,CAAC;YAEd,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YACxD,MAAM,IAAI,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;YAChC,IAAI,CAAC,EAAE,OAAO;gBAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,OAAO,CAAC;YAExC,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,YAAY;gBACnC,UAAU,EAAE,eAAe;gBAC3B,MAAM,EAAE,CAAC,EAAE,OAAO;gBAClB,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC3B,WAAW,EAAE,CAAC,CAAC,WAAW;iBAC3B,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,mDAAmD,GAAG,YAAY,CAAC,CAAC,WAAW,EAAE,CAClF,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,GAAG,CAAC,EAAE,CAAC,aAAa,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACrD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAIT,CAAC;YACF,MAAM,CAAC,GAAG,GAA0D,CAAC;YACrE,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;YAExD,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,aAAa;gBACzB,MAAM,EAAE,CAAC,EAAE,OAAO;gBAClB,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC5B,YAAY,EAAE,CAAC,CAAC,YAAY;iBAC7B,CAAC;gBACF,UAAU,EAAE,CAAC,CAAC,UAAU,IAAI,IAAI;aACjC,CAAC,CACH,CAAC;YAEF,iDAAiD;YACjD,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC;YACpB,2BAA2B;YAC3B,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAC9B,OAAO,CAAC,GAAG,CACT,iDAAiD,GAAG,SAAS,CAAC,CAAC,YAAY,aAAa,CAAC,CAAC,UAAU,IAAI,CACzG,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;QACvE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,iBAAiB;IACjB,wEAAwE;IAExE,sCAAsC;IACtC,GAAG,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QAC1D,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAOT,CAAC;YACF,MAAM,CAAC,GAAG,GAIG,CAAC;YACd,MAAM,GAAG,GAAG,qBAAqB,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO;YAE9B,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,aAAa;gBACpC,UAAU,EAAE,oBAAoB,CAAC,CAAC,OAAO,EAAE;gBAC3C,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC3B,eAAe,EAAE,CAAC,CAAC,eAAe;oBAClC,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,eAAe,EAAE,CAAC,CAAC,eAAe;oBAClC,mBAAmB,EAAE,CAAC,EAAE,mBAAmB;iBAC5C,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,oDAAoD,CAAC,CAAC,OAAO,UAAU,CAAC,CAAC,eAAe,EAAE,CAC3F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,qDAAqD,EAAE,GAAG,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAClC,GAAG,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC,KAAc,EAAE,GAAY,EAAE,EAAE;QACxD,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAQT,CAAC;YACF,MAAM,GAAG,GAAG,qBAAqB,CAAC;YAClC,IAAI,GAAG,KAAK,SAAS;gBAAE,OAAO;YAE9B,YAAY,CACV,UAAU,CAAC,GAAG,EAAE;gBACd,UAAU,EAAE,kBAAU,CAAC,WAAW;gBAClC,UAAU,EAAE,kBAAkB,CAAC,CAAC,UAAU,EAAE;gBAC5C,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC;oBAC5B,gBAAgB,EAAE,CAAC,CAAC,gBAAgB;oBACpC,MAAM,EAAE,CAAC,CAAC,MAAM;oBAChB,OAAO,EAAE,CAAC,CAAC,OAAO;oBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC;aACH,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CACT,mDAAmD,CAAC,CAAC,gBAAgB,YAAY,CAAC,CAAC,OAAO,EAAE,CAC7F,CAAC;QACJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mDAAmD,EAAE,GAAG,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,cAAc;IACd,wEAAwE;IAExE,iCAAiC;IACjC,GAAG,CAAC,EAAE,CAAC,eAAe,EAAE,CAAC,KAAc,EAAE,EAAE;QACzC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAAyB,CAAC;YAEpC,YAAY,CACV,UAAU,CAAC,QAAQ,EAAE;gBACnB,UAAU,EAAE,kBAAU,CAAC,YAAY;gBACnC,UAAU,EAAE,eAAe;gBAC3B,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,QAAQ;gBAChB,WAAW,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;aAC9B,CAAC,CACH,CAAC;YACF,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,kDAAkD,EAAE,GAAG,CAAC,CAAC;QACzE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gCAAgC;IAChC,GAAG,CAAC,EAAE,CAAC,cAAc,EAAE,CAAC,KAAc,EAAE,EAAE;QACxC,IAAI,CAAC;YACH,MAAM,CAAC,GAAG,KAA4B,CAAC;YAEvC,YAAY,CACV,UAAU,CAAC,QAAQ,EAAE;gBACnB,UAAU,EAAE,kBAAU,CAAC,WAAW;gBAClC,UAAU,EAAE,cAAc;gBAC1B,SAAS,EAAE,EAAE;gBACb,MAAM,EAAE,QAAQ;gBAChB,YAAY,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE;aACnC,CAAC,CACH,CAAC;YACF,gEAAgE;YAChE,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3E,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,iDAAiD,EAAE,GAAG,CAAC,CAAC;QACxE,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,wEAAwE;IACxE,0CAA0C;IAC1C,wEAAwE;IAExE,OAAO;QACL,UAAU,EAAE,KAAK,IAAI,EAAE;YACrB,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;YAC/D,cAAc;YACd,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC/B,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC/B,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,IAAI,eAAe,EAAE,CAAC;gBACpB,aAAa,CAAC,eAAe,CAAC,CAAC;gBAC/B,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YACD,MAAM,WAAW,EAAE,CAAC;YACpB,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,8BAA8B;YAC9B,yBAAyB,EAAE,CAAC;YAC5B,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,SAAS,CAAC,KAAK,EAAE,CAAC;YAClB,aAAa,CAAC,KAAK,EAAE,CAAC;YACtB,cAAc,GAAG,IAAI,CAAC;YACtB,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAC1B,eAAe,CAAC,KAAK,EAAE,CAAC;YACxB,qBAAqB,GAAG,SAAS,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;KACF,CAAC;AACJ,CAAC;AAGD,kBAAe,QAAQ,CAAC"}
@@ -25,6 +25,8 @@ export declare class AsyncBatchBuffer {
25
25
  private buffer;
26
26
  private timer;
27
27
  private flushing;
28
+ /** Promise that resolves when the current flush completes (if any) */
29
+ private currentFlush;
28
30
  private flushCallback;
29
31
  private config;
30
32
  constructor(config: BufferConfig, flushCallback: FlushCallback);
@@ -49,7 +51,9 @@ export declare class AsyncBatchBuffer {
49
51
  */
50
52
  addSession(session: AuditSession): Promise<void>;
51
53
  /**
52
- * Force flush buffer (write all entries to database)
54
+ * Force flush buffer (write all entries to database).
55
+ * If a flush is already in progress, await it instead of silently returning.
56
+ * This prevents shutdown() from closing the writer while data is still being written.
53
57
  */
54
58
  flush(): Promise<void>;
55
59
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/storage/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAwB;AACxB,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAE5C,mCAAmC;AACnC,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAKtE;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,QAAQ,CAAkB;IAClC,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa;IAK9D;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5C;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAuB5B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhC"}
1
+ {"version":3,"file":"buffer.d.ts","sourceRoot":"","sources":["../../src/storage/buffer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,wBAAwB;AACxB,MAAM,MAAM,WAAW,GACnB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,WAAW,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,YAAY,CAAA;CAAE,CAAC;AAE5C,mCAAmC;AACnC,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,EAAE,WAAW,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;AAKtE;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,QAAQ,CAAkB;IAClC,sEAAsE;IACtE,OAAO,CAAC,YAAY,CAA8B;IAClD,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa;IAK9D;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAOZ;;OAEG;IACG,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB5C;;OAEG;IACG,SAAS,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAInD;;OAEG;IACG,UAAU,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD;;;;OAIG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAgC5B;;OAEG;IACH,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED;;OAEG;IACG,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;CAIhC"}
@@ -18,6 +18,8 @@ class AsyncBatchBuffer {
18
18
  buffer = [];
19
19
  timer = null;
20
20
  flushing = false;
21
+ /** Promise that resolves when the current flush completes (if any) */
22
+ currentFlush = null;
21
23
  flushCallback;
22
24
  config;
23
25
  constructor(config, flushCallback) {
@@ -79,28 +81,39 @@ class AsyncBatchBuffer {
79
81
  await this.add({ type: 'session', data: session });
80
82
  }
81
83
  /**
82
- * Force flush buffer (write all entries to database)
84
+ * Force flush buffer (write all entries to database).
85
+ * If a flush is already in progress, await it instead of silently returning.
86
+ * This prevents shutdown() from closing the writer while data is still being written.
83
87
  */
84
88
  async flush() {
85
- // Prevent concurrent flushes
86
- if (this.flushing || this.buffer.length === 0) {
89
+ // If a flush is already in progress, wait for it
90
+ if (this.flushing) {
91
+ if (this.currentFlush)
92
+ await this.currentFlush;
87
93
  return;
88
94
  }
95
+ if (this.buffer.length === 0)
96
+ return;
89
97
  this.flushing = true;
90
98
  // Take all current buffer contents
91
99
  const entries = [...this.buffer];
92
100
  this.buffer = [];
93
- try {
94
- await this.flushCallback(entries);
95
- }
96
- catch (error) {
97
- // On flush failure, put entries back (prepend to maintain order)
98
- this.buffer = [...entries, ...this.buffer];
99
- console.error('[openclaw-observability] Failed to flush buffer:', error);
100
- }
101
- finally {
102
- this.flushing = false;
103
- }
101
+ const doFlush = (async () => {
102
+ try {
103
+ await this.flushCallback(entries);
104
+ }
105
+ catch (error) {
106
+ // On flush failure, put entries back (prepend to maintain order)
107
+ this.buffer = [...entries, ...this.buffer];
108
+ console.error('[openclaw-observability] Failed to flush buffer:', error);
109
+ }
110
+ finally {
111
+ this.flushing = false;
112
+ this.currentFlush = null;
113
+ }
114
+ })();
115
+ this.currentFlush = doFlush;
116
+ await doFlush;
104
117
  }
105
118
  /**
106
119
  * Get current buffer size
@@ -1 +1 @@
1
- {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/storage/buffer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"buffer.js","sourceRoot":"","sources":["../../src/storage/buffer.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"duckdb-local-writer.d.ts","sourceRoot":"","sources":["../../src/storage/duckdb-local-writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAuPzC,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,YAAY;IAI1B,UAAU,CAAC,UAAU,SAAI,EAAE,YAAY,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC9D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAoBvB,aAAa;IA6CrB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAWzC,YAAY;YAsBZ,aAAa;IAgDrB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzD,OAAO,IAAI,SAAS,GAAG,IAAI;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiB5B,OAAO,CAAC,WAAW;CAKpB"}
1
+ {"version":3,"file":"duckdb-local-writer.d.ts","sourceRoot":"","sources":["../../src/storage/duckdb-local-writer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA0PzC,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,YAAY,CAAS;gBAEjB,MAAM,EAAE,YAAY;IAI1B,UAAU,CAAC,UAAU,SAAI,EAAE,YAAY,SAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAuC9D,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;YAoBvB,aAAa;IA8FrB,UAAU,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;YAoBzC,YAAY;YAoBZ,aAAa;IAgDrB,WAAW,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBzD,OAAO,IAAI,SAAS,GAAG,IAAI;IAIrB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA8B5B,OAAO,CAAC,WAAW;CAKpB"}
@@ -128,22 +128,25 @@ class DuckDBPool {
128
128
  }
129
129
  });
130
130
  }
131
- /** Close connection and instance */
131
+ /** Close connection and instance.
132
+ * Enqueued via serialize() so all pending operations finish first. */
132
133
  async close() {
133
- try {
134
- // @duckdb/node-api: explicitly disconnect
135
- if (this.conn && typeof this.conn.disconnect === 'function') {
136
- await this.conn.disconnect();
134
+ return this.serialize(async () => {
135
+ try {
136
+ // @duckdb/node-api: explicitly disconnect
137
+ if (this.conn && typeof this.conn.disconnect === 'function') {
138
+ await this.conn.disconnect();
139
+ }
140
+ else if (this.conn && typeof this.conn.close === 'function') {
141
+ await this.conn.close();
142
+ }
137
143
  }
138
- else if (this.conn && typeof this.conn.close === 'function') {
139
- await this.conn.close();
144
+ catch {
145
+ // Ignore close errors
140
146
  }
141
- }
142
- catch {
143
- // Ignore close errors
144
- }
145
- this.conn = null;
146
- this.instance = null;
147
+ this.conn = null;
148
+ this.instance = null;
149
+ });
147
150
  }
148
151
  /* ---- Internal helpers ---- */
149
152
  /** Bind parameters to prepared statement */
@@ -358,8 +361,45 @@ class DuckDBLocalWriter {
358
361
  if (!fs.existsSync(dir)) {
359
362
  fs.mkdirSync(dir, { recursive: true });
360
363
  }
364
+ // CRITICAL: Ensure main database file exists BEFORE opening for writes
365
+ // This prevents the risk of having only WAL file without main file
366
+ // If main file doesn't exist, create it first by opening and immediately closing
367
+ if (!fs.existsSync(dbPath)) {
368
+ // Create empty database file first (this creates the main .duckdb file)
369
+ // Then we'll open it normally for actual operations
370
+ const tempInstance = await duckdb.DuckDBInstance.create(dbPath);
371
+ const tempConn = await tempInstance.connect();
372
+ // Immediately checkpoint to ensure main file is created (not just WAL)
373
+ // Use run() for DDL/commands (query() is for SELECT statements)
374
+ await tempConn.run('CHECKPOINT');
375
+ // Close connection (use same logic as DuckDBPool.close())
376
+ try {
377
+ if (tempConn && typeof tempConn.disconnect === 'function') {
378
+ await tempConn.disconnect();
379
+ }
380
+ else if (tempConn && typeof tempConn.close === 'function') {
381
+ await tempConn.close();
382
+ }
383
+ }
384
+ catch {
385
+ // Ignore close errors
386
+ }
387
+ // Close instance (handle both close() and disconnect() methods)
388
+ try {
389
+ if (tempInstance && typeof tempInstance.close === 'function') {
390
+ await tempInstance.close();
391
+ }
392
+ else if (tempInstance && typeof tempInstance.disconnect === 'function') {
393
+ await tempInstance.disconnect();
394
+ }
395
+ }
396
+ catch {
397
+ // Ignore instance close errors
398
+ }
399
+ console.log(`[openclaw-observability] Created main database file: ${dbPath}`);
400
+ }
361
401
  }
362
- // Open database
402
+ // Open database (main file now guaranteed to exist)
363
403
  const instance = await duckdb.DuckDBInstance.create(dbPath);
364
404
  const conn = await instance.connect();
365
405
  this.pool = new DuckDBPool(instance, conn);
@@ -368,20 +408,39 @@ class DuckDBLocalWriter {
368
408
  await this.pool.run(stmt);
369
409
  }
370
410
  // Checkpoint on startup: merge any leftover WAL from previous (possibly unclean) shutdown
411
+ // This is critical: if WAL exists without main file, data recovery depends on successful checkpoint
371
412
  try {
372
413
  await this.pool.run('CHECKPOINT');
373
414
  console.log('[openclaw-observability] Startup checkpoint completed (WAL merged)');
415
+ // Verify main database file exists after checkpoint
416
+ if (dbPath !== ':memory:' && !fs.existsSync(dbPath)) {
417
+ console.warn('[openclaw-observability] WARNING: Main database file missing after checkpoint. ' +
418
+ 'This may indicate data loss risk. WAL file may contain unmerged data.');
419
+ }
374
420
  }
375
- catch {
376
- // Non-fatal: WAL will be merged later
421
+ catch (error) {
422
+ // Checkpoint failure is more serious than we thought
423
+ const errMsg = error.message || String(error);
424
+ console.error(`[openclaw-observability] Startup checkpoint failed: ${errMsg}. ` +
425
+ 'WAL data may not be merged to main file, risking data loss.');
426
+ // Still continue, but log the risk
377
427
  }
378
428
  this.initialized = true;
379
429
  console.log(`[openclaw-observability] DuckDB writer initialized: ${dbPath}`);
380
430
  }
381
431
  /* ---- Write ---- */
382
432
  async writeBatch(entries) {
383
- if (!this.pool || !this.initialized) {
384
- throw new Error('DuckDB writer not initialized');
433
+ // Lazy initialization: create database file on first write
434
+ if (!this.initialized) {
435
+ const ready = await this.ensureReady();
436
+ if (!ready) {
437
+ throw new Error('DuckDB writer not ready (initialization failed)');
438
+ }
439
+ // Notify caller that initialization completed (for starting services)
440
+ // This is done via a callback mechanism - see index.ts
441
+ }
442
+ if (!this.pool) {
443
+ throw new Error('DuckDB pool not available');
385
444
  }
386
445
  const actions = entries.filter(e => e.type === 'action').map(e => e.data);
387
446
  const sessions = entries.filter(e => e.type === 'session').map(e => e.data);
@@ -406,9 +465,7 @@ class DuckDBLocalWriter {
406
465
  a.outputResult ? JSON.stringify(a.outputResult) : null,
407
466
  a.promptTokens, a.completionTokens, a.durationMs,
408
467
  a.userId,
409
- a.createdAt instanceof Date
410
- ? a.createdAt.toISOString().replace('T', ' ').slice(0, 19)
411
- : String(a.createdAt),
468
+ this._formatDate(a.createdAt),
412
469
  ]);
413
470
  }
414
471
  }
@@ -477,11 +534,20 @@ class DuckDBLocalWriter {
477
534
  async close() {
478
535
  if (this.pool) {
479
536
  // Force WAL checkpoint before closing — merge WAL into main database file
537
+ // This is critical to prevent data loss: ensures all WAL data is persisted
480
538
  try {
481
539
  await this.pool.run('CHECKPOINT');
540
+ // Verify main file exists after checkpoint
541
+ if (this.config.path !== ':memory:' && !fs.existsSync(this.config.path)) {
542
+ console.warn('[openclaw-observability] WARNING: Main database file missing after close checkpoint. ' +
543
+ 'Data may be lost if WAL file is corrupted or deleted.');
544
+ }
482
545
  }
483
- catch {
484
- // Ignore checkpoint errors (e.g. read-only mode)
546
+ catch (error) {
547
+ const errMsg = error.message || String(error);
548
+ console.error(`[openclaw-observability] Close checkpoint failed: ${errMsg}. ` +
549
+ 'WAL data may not be persisted, risking data loss on next startup.');
550
+ // Still continue to close connection
485
551
  }
486
552
  await this.pool.close();
487
553
  this.pool = null;
@@ -1 +1 @@
1
- {"version":3,"file":"duckdb-local-writer.js","sourceRoot":"","sources":["../../src/storage/duckdb-local-writer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duckdb-local-writer.js","sourceRoot":"","sources":["../../src/storage/duckdb-local-writer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Unit tests for DuckDBLocalWriter
3
+ * Tests critical functionality including main file pre-creation, WAL handling, and checkpoint logic
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=duckdb-local-writer.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duckdb-local-writer.test.d.ts","sourceRoot":"","sources":["../../src/storage/duckdb-local-writer.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
@@ -0,0 +1,343 @@
1
+ "use strict";
2
+ /**
3
+ * Unit tests for DuckDBLocalWriter
4
+ * Tests critical functionality including main file pre-creation, WAL handling, and checkpoint logic
5
+ */
6
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
+ if (k2 === undefined) k2 = k;
8
+ var desc = Object.getOwnPropertyDescriptor(m, k);
9
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
+ desc = { enumerable: true, get: function() { return m[k]; } };
11
+ }
12
+ Object.defineProperty(o, k2, desc);
13
+ }) : (function(o, m, k, k2) {
14
+ if (k2 === undefined) k2 = k;
15
+ o[k2] = m[k];
16
+ }));
17
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
19
+ }) : function(o, v) {
20
+ o["default"] = v;
21
+ });
22
+ var __importStar = (this && this.__importStar) || (function () {
23
+ var ownKeys = function(o) {
24
+ ownKeys = Object.getOwnPropertyNames || function (o) {
25
+ var ar = [];
26
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
+ return ar;
28
+ };
29
+ return ownKeys(o);
30
+ };
31
+ return function (mod) {
32
+ if (mod && mod.__esModule) return mod;
33
+ var result = {};
34
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
+ __setModuleDefault(result, mod);
36
+ return result;
37
+ };
38
+ })();
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ const vitest_1 = require("vitest");
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const os = __importStar(require("os"));
44
+ const duckdb_local_writer_1 = require("./duckdb-local-writer");
45
+ const types_1 = require("../types");
46
+ (0, vitest_1.describe)('DuckDBLocalWriter', () => {
47
+ let testDir;
48
+ let dbPath;
49
+ let config;
50
+ (0, vitest_1.beforeEach)(() => {
51
+ // Create a temporary directory for each test
52
+ testDir = fs.mkdtempSync(path.join(os.tmpdir(), 'duckdb-test-'));
53
+ dbPath = path.join(testDir, 'test.duckdb');
54
+ config = { path: dbPath };
55
+ });
56
+ (0, vitest_1.afterEach)(async () => {
57
+ // Clean up: close writer and remove test directory
58
+ // Note: We can't easily access the writer instance to close it in tests,
59
+ // but the test directory will be cleaned up by the OS eventually
60
+ try {
61
+ if (fs.existsSync(testDir)) {
62
+ // Remove all files in test directory
63
+ const files = fs.readdirSync(testDir);
64
+ for (const file of files) {
65
+ fs.unlinkSync(path.join(testDir, file));
66
+ }
67
+ fs.rmdirSync(testDir);
68
+ }
69
+ }
70
+ catch (e) {
71
+ // Ignore cleanup errors
72
+ }
73
+ });
74
+ (0, vitest_1.describe)('Initialization', () => {
75
+ (0, vitest_1.it)('should create main database file before first write', async () => {
76
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
77
+ // Before initialization, main file should not exist
78
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(false);
79
+ // Initialize (this should create the main file)
80
+ await writer.initialize();
81
+ // After initialization, main file should exist
82
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
83
+ // WAL file may or may not exist, but main file must exist
84
+ const walPath = dbPath + '.wal';
85
+ // Main file is the critical one - WAL is optional
86
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
87
+ });
88
+ (0, vitest_1.it)('should create parent directory if it does not exist', async () => {
89
+ const nestedPath = path.join(testDir, 'nested', 'deep', 'test.duckdb');
90
+ const nestedConfig = { path: nestedPath };
91
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(nestedConfig);
92
+ // Parent directory should not exist
93
+ (0, vitest_1.expect)(fs.existsSync(path.dirname(nestedPath))).toBe(false);
94
+ // Initialize should create parent directory
95
+ await writer.initialize();
96
+ // Parent directory should now exist
97
+ (0, vitest_1.expect)(fs.existsSync(path.dirname(nestedPath))).toBe(true);
98
+ (0, vitest_1.expect)(fs.existsSync(nestedPath)).toBe(true);
99
+ });
100
+ (0, vitest_1.it)('should handle lock conflicts gracefully', async () => {
101
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
102
+ // First initialization should succeed
103
+ await writer.initialize();
104
+ // Try to initialize again (should be idempotent)
105
+ await writer.initialize();
106
+ // Should not throw
107
+ (0, vitest_1.expect)(true).toBe(true);
108
+ });
109
+ (0, vitest_1.it)('should be idempotent (multiple initialize calls)', async () => {
110
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
111
+ // Call initialize multiple times
112
+ await writer.initialize();
113
+ await writer.initialize();
114
+ await writer.initialize();
115
+ // Should not throw and file should exist
116
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
117
+ });
118
+ });
119
+ (0, vitest_1.describe)('Main file pre-creation', () => {
120
+ (0, vitest_1.it)('should create main file before opening for writes', async () => {
121
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
122
+ // Ensure file does not exist
123
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(false);
124
+ // Initialize - this should create main file first
125
+ await writer.initialize();
126
+ // Main file must exist
127
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
128
+ // Check file size (should be > 0, indicating it's a real database file)
129
+ const stats = fs.statSync(dbPath);
130
+ (0, vitest_1.expect)(stats.size).toBeGreaterThan(0);
131
+ });
132
+ (0, vitest_1.it)('should not create WAL file if main file is pre-created', async () => {
133
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
134
+ // Initialize
135
+ await writer.initialize();
136
+ // Main file should exist
137
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
138
+ // After initialization and checkpoint, WAL file should ideally not exist
139
+ // (or be very small if it exists)
140
+ const walPath = dbPath + '.wal';
141
+ if (fs.existsSync(walPath)) {
142
+ const walStats = fs.statSync(walPath);
143
+ // WAL should be small or non-existent after checkpoint
144
+ // Main file is the critical one
145
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
146
+ }
147
+ });
148
+ });
149
+ (0, vitest_1.describe)('Write operations', () => {
150
+ (0, vitest_1.it)('should write actions to database', async () => {
151
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
152
+ await writer.initialize();
153
+ const action = {
154
+ sessionId: 'test-session-1',
155
+ actionType: types_1.ActionType.Message,
156
+ actionName: 'test_action',
157
+ modelName: 'test-model',
158
+ inputParams: { test: 'data' },
159
+ outputResult: { result: 'success' },
160
+ promptTokens: 10,
161
+ completionTokens: 20,
162
+ durationMs: 100,
163
+ userId: 'test-user',
164
+ createdAt: new Date(),
165
+ };
166
+ const entries = [
167
+ { type: 'action', data: action },
168
+ ];
169
+ // Should not throw
170
+ await (0, vitest_1.expect)(writer.writeBatch(entries)).resolves.not.toThrow();
171
+ // Verify data was written by querying
172
+ const pool = writer.getPool();
173
+ (0, vitest_1.expect)(pool).not.toBeNull();
174
+ if (pool) {
175
+ const result = await pool.query('SELECT COUNT(*) as count FROM audit_actions');
176
+ (0, vitest_1.expect)(result).not.toBeNull();
177
+ // query() returns [rows[], null] format
178
+ if (result && Array.isArray(result) && result[0] && Array.isArray(result[0]) && result[0].length > 0) {
179
+ const count = result[0][0].count;
180
+ (0, vitest_1.expect)(count).toBeGreaterThanOrEqual(1);
181
+ }
182
+ }
183
+ });
184
+ (0, vitest_1.it)('should write sessions to database', async () => {
185
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
186
+ await writer.initialize();
187
+ const session = {
188
+ sessionId: 'test-session-1',
189
+ userId: 'test-user',
190
+ modelName: 'test-model',
191
+ startTime: new Date(),
192
+ endTime: null,
193
+ totalActions: 1,
194
+ totalTokens: 30,
195
+ };
196
+ const entries = [
197
+ { type: 'session', data: session },
198
+ ];
199
+ // Should not throw
200
+ await (0, vitest_1.expect)(writer.writeBatch(entries)).resolves.not.toThrow();
201
+ // Verify data was written
202
+ const pool = writer.getPool();
203
+ (0, vitest_1.expect)(pool).not.toBeNull();
204
+ if (pool) {
205
+ const result = await pool.query('SELECT COUNT(*) as count FROM audit_sessions');
206
+ (0, vitest_1.expect)(result).not.toBeNull();
207
+ // query() returns [rows[], null] format
208
+ if (result && Array.isArray(result) && result[0] && Array.isArray(result[0]) && result[0].length > 0) {
209
+ const count = result[0][0].count;
210
+ (0, vitest_1.expect)(count).toBeGreaterThanOrEqual(1);
211
+ }
212
+ }
213
+ });
214
+ (0, vitest_1.it)('should support lazy initialization on first write', async () => {
215
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
216
+ // File should not exist before write
217
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(false);
218
+ // Write should trigger initialization
219
+ const action = {
220
+ sessionId: 'test-session-1',
221
+ actionType: types_1.ActionType.Message,
222
+ actionName: 'test_action',
223
+ modelName: 'test-model',
224
+ inputParams: {},
225
+ outputResult: {},
226
+ promptTokens: 0,
227
+ completionTokens: 0,
228
+ durationMs: 0,
229
+ userId: 'test-user',
230
+ createdAt: new Date(),
231
+ };
232
+ const entries = [
233
+ { type: 'action', data: action },
234
+ ];
235
+ // Initialize first to ensure database is ready
236
+ await writer.initialize();
237
+ // Now write should work
238
+ await (0, vitest_1.expect)(writer.writeBatch(entries)).resolves.not.toThrow();
239
+ // File should now exist
240
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
241
+ });
242
+ });
243
+ (0, vitest_1.describe)('ensureReady', () => {
244
+ (0, vitest_1.it)('should return true if already initialized', async () => {
245
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
246
+ await writer.initialize();
247
+ const ready = await writer.ensureReady();
248
+ (0, vitest_1.expect)(ready).toBe(true);
249
+ });
250
+ (0, vitest_1.it)('should initialize if not ready', async () => {
251
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
252
+ // Should not be initialized yet
253
+ const ready1 = await writer.ensureReady();
254
+ // ensureReady() should initialize and return true (or false if lock conflict)
255
+ // In test environment, it should succeed
256
+ (0, vitest_1.expect)(typeof ready1).toBe('boolean');
257
+ // If ready, file should exist
258
+ if (ready1) {
259
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
260
+ }
261
+ });
262
+ (0, vitest_1.it)('should handle lock conflicts in ensureReady', async () => {
263
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
264
+ // This test is hard to simulate without actual lock conflicts
265
+ // But we can verify the method exists and doesn't throw
266
+ const ready = await writer.ensureReady();
267
+ (0, vitest_1.expect)(typeof ready).toBe('boolean');
268
+ });
269
+ });
270
+ (0, vitest_1.describe)('Checkpoint logic', () => {
271
+ (0, vitest_1.it)('should execute checkpoint on initialization', async () => {
272
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
273
+ // Initialize (includes checkpoint)
274
+ await writer.initialize();
275
+ // Main file should exist after checkpoint
276
+ (0, vitest_1.expect)(fs.existsSync(dbPath)).toBe(true);
277
+ // Verify we can query (database is functional)
278
+ const pool = writer.getPool();
279
+ (0, vitest_1.expect)(pool).not.toBeNull();
280
+ if (pool) {
281
+ const result = await pool.query('SELECT 1 as test');
282
+ (0, vitest_1.expect)(result).not.toBeNull();
283
+ }
284
+ });
285
+ });
286
+ (0, vitest_1.describe)('Error handling', () => {
287
+ (0, vitest_1.it)('should throw error if DuckDB package is not installed', async () => {
288
+ // This test would require mocking require(), which is complex
289
+ // Instead, we test that the error message is informative
290
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
291
+ // If @duckdb/node-api is installed, this should work
292
+ // If not, it should throw with a helpful error message
293
+ try {
294
+ await writer.initialize();
295
+ // If it succeeds, that's fine - package is installed
296
+ (0, vitest_1.expect)(true).toBe(true);
297
+ }
298
+ catch (error) {
299
+ // If it fails, error message should be helpful
300
+ (0, vitest_1.expect)(error.message).toContain('@duckdb/node-api');
301
+ }
302
+ });
303
+ (0, vitest_1.it)('should handle write errors gracefully', async () => {
304
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
305
+ await writer.initialize();
306
+ // Try to write invalid data (should not crash)
307
+ const invalidEntries = [
308
+ {
309
+ type: 'action',
310
+ data: {
311
+ sessionId: 'test',
312
+ actionType: types_1.ActionType.Message,
313
+ actionName: 'test',
314
+ modelName: '',
315
+ inputParams: null,
316
+ outputResult: null,
317
+ promptTokens: null,
318
+ completionTokens: null,
319
+ durationMs: null,
320
+ userId: '',
321
+ createdAt: new Date(),
322
+ },
323
+ },
324
+ ];
325
+ // Should handle null values gracefully
326
+ await (0, vitest_1.expect)(writer.writeBatch(invalidEntries)).resolves.not.toThrow();
327
+ });
328
+ });
329
+ (0, vitest_1.describe)('Pool access', () => {
330
+ (0, vitest_1.it)('should return null pool if not initialized', () => {
331
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
332
+ const pool = writer.getPool();
333
+ (0, vitest_1.expect)(pool).toBeNull();
334
+ });
335
+ (0, vitest_1.it)('should return pool after initialization', async () => {
336
+ const writer = new duckdb_local_writer_1.DuckDBLocalWriter(config);
337
+ await writer.initialize();
338
+ const pool = writer.getPool();
339
+ (0, vitest_1.expect)(pool).not.toBeNull();
340
+ });
341
+ });
342
+ });
343
+ //# sourceMappingURL=duckdb-local-writer.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"duckdb-local-writer.test.js","sourceRoot":"","sources":["../../src/storage/duckdb-local-writer.test.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "id": "openclaw-observability",
3
3
  "name": "openclaw-observability",
4
- "version": "1.0.5",
4
+ "version": "1.0.6",
5
5
  "description": "Conversation model action observability plugin — full-chain traceability with built-in visualization",
6
6
  "entry": "dist/index.js",
7
7
  "slots": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openclaw-observability",
3
- "version": "1.0.5",
3
+ "version": "1.0.6",
4
4
  "description": "OpenClaw observability plugin — records all conversation model actions into DuckDB/MySQL for traceability, with built-in visualization",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,7 +18,11 @@
18
18
  "build": "tsc",
19
19
  "dev": "tsc --watch",
20
20
  "clean": "rm -rf dist",
21
- "prepublishOnly": "npm run build"
21
+ "prepublishOnly": "npm run build",
22
+ "test": "vitest run",
23
+ "test:watch": "vitest",
24
+ "test:ui": "vitest --ui",
25
+ "test:coverage": "vitest run --coverage"
22
26
  },
23
27
  "keywords": [
24
28
  "openclaw",
@@ -36,6 +40,9 @@
36
40
  "mysql2": "^3.9.0"
37
41
  },
38
42
  "devDependencies": {
39
- "typescript": "^5.9.3"
43
+ "@types/node": "^25.5.0",
44
+ "@vitest/ui": "^3.2.4",
45
+ "typescript": "^5.9.3",
46
+ "vitest": "^3.2.4"
40
47
  }
41
48
  }