agent-working-memory 0.5.5 → 0.5.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.
Files changed (71) hide show
  1. package/README.md +399 -399
  2. package/dist/api/routes.d.ts.map +1 -1
  3. package/dist/api/routes.js +21 -5
  4. package/dist/api/routes.js.map +1 -1
  5. package/dist/cli.js +67 -67
  6. package/dist/coordination/index.d.ts +11 -0
  7. package/dist/coordination/index.d.ts.map +1 -0
  8. package/dist/coordination/index.js +39 -0
  9. package/dist/coordination/index.js.map +1 -0
  10. package/dist/coordination/mcp-tools.d.ts +8 -0
  11. package/dist/coordination/mcp-tools.d.ts.map +1 -0
  12. package/dist/coordination/mcp-tools.js +216 -0
  13. package/dist/coordination/mcp-tools.js.map +1 -0
  14. package/dist/coordination/routes.d.ts +9 -0
  15. package/dist/coordination/routes.d.ts.map +1 -0
  16. package/dist/coordination/routes.js +434 -0
  17. package/dist/coordination/routes.js.map +1 -0
  18. package/dist/coordination/schema.d.ts +12 -0
  19. package/dist/coordination/schema.d.ts.map +1 -0
  20. package/dist/coordination/schema.js +91 -0
  21. package/dist/coordination/schema.js.map +1 -0
  22. package/dist/coordination/schemas.d.ts +208 -0
  23. package/dist/coordination/schemas.d.ts.map +1 -0
  24. package/dist/coordination/schemas.js +109 -0
  25. package/dist/coordination/schemas.js.map +1 -0
  26. package/dist/coordination/stale.d.ts +25 -0
  27. package/dist/coordination/stale.d.ts.map +1 -0
  28. package/dist/coordination/stale.js +53 -0
  29. package/dist/coordination/stale.js.map +1 -0
  30. package/dist/index.js +21 -3
  31. package/dist/index.js.map +1 -1
  32. package/dist/mcp.js +90 -79
  33. package/dist/mcp.js.map +1 -1
  34. package/dist/storage/sqlite.d.ts +3 -0
  35. package/dist/storage/sqlite.d.ts.map +1 -1
  36. package/dist/storage/sqlite.js +285 -281
  37. package/dist/storage/sqlite.js.map +1 -1
  38. package/package.json +55 -55
  39. package/src/api/index.ts +3 -3
  40. package/src/api/routes.ts +551 -536
  41. package/src/cli.ts +397 -397
  42. package/src/coordination/index.ts +47 -0
  43. package/src/coordination/mcp-tools.ts +313 -0
  44. package/src/coordination/routes.ts +656 -0
  45. package/src/coordination/schema.ts +94 -0
  46. package/src/coordination/schemas.ts +136 -0
  47. package/src/coordination/stale.ts +89 -0
  48. package/src/core/decay.ts +63 -63
  49. package/src/core/embeddings.ts +88 -88
  50. package/src/core/hebbian.ts +93 -93
  51. package/src/core/index.ts +5 -5
  52. package/src/core/logger.ts +36 -36
  53. package/src/core/query-expander.ts +66 -66
  54. package/src/core/reranker.ts +101 -101
  55. package/src/engine/activation.ts +656 -656
  56. package/src/engine/connections.ts +103 -103
  57. package/src/engine/consolidation-scheduler.ts +125 -125
  58. package/src/engine/eval.ts +102 -102
  59. package/src/engine/eviction.ts +101 -101
  60. package/src/engine/index.ts +8 -8
  61. package/src/engine/retraction.ts +100 -100
  62. package/src/engine/staging.ts +74 -74
  63. package/src/index.ts +137 -121
  64. package/src/mcp.ts +1024 -1013
  65. package/src/storage/index.ts +3 -3
  66. package/src/storage/sqlite.ts +968 -963
  67. package/src/types/agent.ts +67 -67
  68. package/src/types/checkpoint.ts +46 -46
  69. package/src/types/engram.ts +217 -217
  70. package/src/types/eval.ts +100 -100
  71. package/src/types/index.ts +6 -6
package/dist/mcp.js CHANGED
@@ -66,7 +66,7 @@ import { initLogger, log, getLogPath } from './core/logger.js';
66
66
  const INCOGNITO = process.env.AWM_INCOGNITO === '1' || process.env.AWM_INCOGNITO === 'true';
67
67
  if (INCOGNITO) {
68
68
  console.error('AWM: incognito mode — all memory tools disabled, nothing will be recorded');
69
- const server = new McpServer({ name: 'agent-working-memory', version: '0.5.4' });
69
+ const server = new McpServer({ name: 'agent-working-memory', version: '0.5.5' });
70
70
  const transport = new StdioServerTransport();
71
71
  server.connect(transport).catch(err => {
72
72
  console.error('MCP server failed:', err);
@@ -95,18 +95,18 @@ else {
95
95
  consolidationScheduler.start();
96
96
  const server = new McpServer({
97
97
  name: 'agent-working-memory',
98
- version: '0.5.4',
98
+ version: '0.5.5',
99
99
  });
100
100
  // --- Tools ---
101
- server.tool('memory_write', `Store a memory. The salience filter decides whether it's worth keeping (active), needs more evidence (staging), or should be discarded.
102
-
103
- CALL THIS PROACTIVELY — do not wait to be asked. Write memories when you:
104
- - Discover something about the codebase, bugs, or architecture
105
- - Make a decision and want to remember why
106
- - Encounter and resolve an error
107
- - Learn a user preference or project pattern
108
- - Complete a significant piece of work
109
-
101
+ server.tool('memory_write', `Store a memory. The salience filter decides whether it's worth keeping (active), needs more evidence (staging), or should be discarded.
102
+
103
+ CALL THIS PROACTIVELY — do not wait to be asked. Write memories when you:
104
+ - Discover something about the codebase, bugs, or architecture
105
+ - Make a decision and want to remember why
106
+ - Encounter and resolve an error
107
+ - Learn a user preference or project pattern
108
+ - Complete a significant piece of work
109
+
110
110
  The concept should be a short label (3-8 words). The content should be the full detail.`, {
111
111
  concept: z.string().describe('Short label for this memory (3-8 words)'),
112
112
  content: z.string().describe('Full detail of what was learned'),
@@ -236,15 +236,15 @@ The concept should be a short label (3-8 words). The content should be the full
236
236
  }],
237
237
  };
238
238
  });
239
- server.tool('memory_recall', `Recall memories relevant to a query. Uses cognitive activation — not keyword search.
240
-
241
- ALWAYS call this when:
242
- - Starting work on a project or topic (recall what you know)
243
- - Debugging (recall similar errors and solutions)
244
- - Making decisions (recall past decisions and outcomes)
245
- - The user mentions a topic you might have stored memories about
246
-
247
- Accepts either "query" or "context" parameter — both work identically.
239
+ server.tool('memory_recall', `Recall memories relevant to a query. Uses cognitive activation — not keyword search.
240
+
241
+ ALWAYS call this when:
242
+ - Starting work on a project or topic (recall what you know)
243
+ - Debugging (recall similar errors and solutions)
244
+ - Making decisions (recall past decisions and outcomes)
245
+ - The user mentions a topic you might have stored memories about
246
+
247
+ Accepts either "query" or "context" parameter — both work identically.
248
248
  Returns the most relevant memories ranked by text relevance, temporal recency, and associative strength.`, {
249
249
  query: z.string().optional().describe('What to search for — describe the situation, question, or topic'),
250
250
  context: z.string().optional().describe('Alias for query (either works)'),
@@ -297,8 +297,8 @@ Returns the most relevant memories ranked by text relevance, temporal recency, a
297
297
  }],
298
298
  };
299
299
  });
300
- server.tool('memory_feedback', `Report whether a recalled memory was actually useful. This updates the memory's confidence score — useful memories become stronger, useless ones weaken.
301
-
300
+ server.tool('memory_feedback', `Report whether a recalled memory was actually useful. This updates the memory's confidence score — useful memories become stronger, useless ones weaken.
301
+
302
302
  Always call this after using a recalled memory so the system learns what's valuable.`, {
303
303
  engram_id: z.string().describe('ID of the memory (from memory_recall results)'),
304
304
  useful: z.boolean().describe('Was this memory actually helpful?'),
@@ -319,8 +319,8 @@ Always call this after using a recalled memory so the system learns what's valua
319
319
  }],
320
320
  };
321
321
  });
322
- server.tool('memory_retract', `Retract a memory that turned out to be wrong. Creates a correction and reduces confidence of related memories.
323
-
322
+ server.tool('memory_retract', `Retract a memory that turned out to be wrong. Creates a correction and reduces confidence of related memories.
323
+
324
324
  Use this when you discover a memory contains incorrect information.`, {
325
325
  engram_id: z.string().describe('ID of the wrong memory'),
326
326
  reason: z.string().describe('Why is this memory wrong?'),
@@ -344,13 +344,13 @@ Use this when you discover a memory contains incorrect information.`, {
344
344
  }],
345
345
  };
346
346
  });
347
- server.tool('memory_supersede', `Replace an outdated memory with a newer one. Unlike retraction (which marks memories as wrong), supersession marks the old memory as outdated but historically correct.
348
-
349
- Use this when:
350
- - A status or count has changed (e.g., "5 reviews done" → "7 reviews done")
351
- - Architecture or infrastructure evolved (e.g., "two-repo model" → "three-repo model")
352
- - A schedule or plan was updated
353
-
347
+ server.tool('memory_supersede', `Replace an outdated memory with a newer one. Unlike retraction (which marks memories as wrong), supersession marks the old memory as outdated but historically correct.
348
+
349
+ Use this when:
350
+ - A status or count has changed (e.g., "5 reviews done" → "7 reviews done")
351
+ - Architecture or infrastructure evolved (e.g., "two-repo model" → "three-repo model")
352
+ - A schedule or plan was updated
353
+
354
354
  The old memory stays in the database (searchable for history) but is heavily down-ranked in recall so the current version dominates.`, {
355
355
  old_engram_id: z.string().describe('ID of the outdated memory'),
356
356
  new_engram_id: z.string().describe('ID of the replacement memory'),
@@ -377,7 +377,7 @@ The old memory stays in the database (searchable for history) but is heavily dow
377
377
  }],
378
378
  };
379
379
  });
380
- server.tool('memory_stats', `Get memory health stats — how many memories, confidence levels, association count, and system performance.
380
+ server.tool('memory_stats', `Get memory health stats — how many memories, confidence levels, association count, and system performance.
381
381
  Also shows the activity log path so the user can tail it to see what's happening.`, {}, async () => {
382
382
  const metrics = evalEngine.computeMetrics(AGENT_ID);
383
383
  const checkpoint = store.getCheckpoint(AGENT_ID);
@@ -408,13 +408,13 @@ Also shows the activity log path so the user can tail it to see what's happening
408
408
  };
409
409
  });
410
410
  // --- Checkpointing Tools ---
411
- server.tool('memory_checkpoint', `Save your current execution state so you can recover after context compaction.
412
-
413
- ALWAYS call this before:
414
- - Long operations (multi-file generation, large refactors, overnight work)
415
- - Anything that might fill the context window
416
- - Switching to a different task
417
-
411
+ server.tool('memory_checkpoint', `Save your current execution state so you can recover after context compaction.
412
+
413
+ ALWAYS call this before:
414
+ - Long operations (multi-file generation, large refactors, overnight work)
415
+ - Anything that might fill the context window
416
+ - Switching to a different task
417
+
418
418
  Also call periodically during long sessions to avoid losing state. The state is saved per-agent and overwrites any previous checkpoint.`, {
419
419
  current_task: z.string().describe('What you are currently working on'),
420
420
  decisions: z.array(z.string()).optional().default([])
@@ -448,14 +448,14 @@ Also call periodically during long sessions to avoid losing state. The state is
448
448
  }],
449
449
  };
450
450
  });
451
- server.tool('memory_restore', `Restore your previous execution state after context compaction or at session start.
452
-
453
- Returns:
454
- - Your saved execution state (task, decisions, next steps, files)
455
- - Recently recalled memories for context
456
- - Your last write for continuity
457
- - How long you were idle
458
-
451
+ server.tool('memory_restore', `Restore your previous execution state after context compaction or at session start.
452
+
453
+ Returns:
454
+ - Your saved execution state (task, decisions, next steps, files)
455
+ - Recently recalled memories for context
456
+ - Your last write for continuity
457
+ - How long you were idle
458
+
459
459
  Use this at the start of every session or after compaction to pick up where you left off.`, {}, async () => {
460
460
  const checkpoint = store.getCheckpoint(AGENT_ID);
461
461
  const now = Date.now();
@@ -566,13 +566,13 @@ Use this at the start of every session or after compaction to pick up where you
566
566
  };
567
567
  });
568
568
  // --- Task Management Tools ---
569
- server.tool('memory_task_add', `Create a task that you need to come back to. Tasks are memories with status and priority tracking.
570
-
571
- Use this when:
572
- - You identify work that needs doing but can't do it right now
573
- - The user mentions something to do later
574
- - You want to park a sub-task while focusing on something more urgent
575
-
569
+ server.tool('memory_task_add', `Create a task that you need to come back to. Tasks are memories with status and priority tracking.
570
+
571
+ Use this when:
572
+ - You identify work that needs doing but can't do it right now
573
+ - The user mentions something to do later
574
+ - You want to park a sub-task while focusing on something more urgent
575
+
576
576
  Tasks automatically get high salience so they won't be discarded.`, {
577
577
  concept: z.string().describe('Short task title (3-10 words)'),
578
578
  content: z.string().describe('Full task description — what needs doing, context, acceptance criteria'),
@@ -612,11 +612,11 @@ Tasks automatically get high salience so they won't be discarded.`, {
612
612
  }],
613
613
  };
614
614
  });
615
- server.tool('memory_task_update', `Update a task's status or priority. Use this to:
616
- - Start working on a task (open → in_progress)
617
- - Mark a task done (→ done)
618
- - Block a task on another (→ blocked)
619
- - Reprioritize (change priority)
615
+ server.tool('memory_task_update', `Update a task's status or priority. Use this to:
616
+ - Start working on a task (open → in_progress)
617
+ - Mark a task done (→ done)
618
+ - Block a task on another (→ blocked)
619
+ - Reprioritize (change priority)
620
620
  - Unblock a task (clear blocked_by)`, {
621
621
  task_id: z.string().describe('ID of the task to update'),
622
622
  status: z.enum(['open', 'in_progress', 'blocked', 'done']).optional()
@@ -646,8 +646,8 @@ Tasks automatically get high salience so they won't be discarded.`, {
646
646
  }],
647
647
  };
648
648
  });
649
- server.tool('memory_task_list', `List tasks with optional status filter. Shows tasks ordered by priority (urgent first).
650
-
649
+ server.tool('memory_task_list', `List tasks with optional status filter. Shows tasks ordered by priority (urgent first).
650
+
651
651
  Use at the start of a session to see what's pending, or to check blocked/done tasks.`, {
652
652
  status: z.enum(['open', 'in_progress', 'blocked', 'done']).optional()
653
653
  .describe('Filter by status (omit to see all active tasks)'),
@@ -673,10 +673,10 @@ Use at the start of a session to see what's pending, or to check blocked/done ta
673
673
  }],
674
674
  };
675
675
  });
676
- server.tool('memory_task_next', `Get the single most important task to work on next.
677
-
678
- Prioritizes: in_progress tasks first (finish what you started), then by priority level, then oldest first. Skips blocked and done tasks.
679
-
676
+ server.tool('memory_task_next', `Get the single most important task to work on next.
677
+
678
+ Prioritizes: in_progress tasks first (finish what you started), then by priority level, then oldest first. Skips blocked and done tasks.
679
+
680
680
  Use this when you finish a task or need to decide what to do next.`, {}, async () => {
681
681
  const next = store.getNextTask(AGENT_ID);
682
682
  if (!next) {
@@ -692,13 +692,13 @@ Use this when you finish a task or need to decide what to do next.`, {}, async (
692
692
  };
693
693
  });
694
694
  // --- Task Bracket Tools ---
695
- server.tool('memory_task_begin', `Signal that you're starting a significant task. Auto-checkpoints current state and recalls relevant memories.
696
-
697
- CALL THIS when starting:
698
- - A multi-step operation (doc generation, large refactor, migration)
699
- - Work on a new topic or project area
700
- - Anything that might fill the context window
701
-
695
+ server.tool('memory_task_begin', `Signal that you're starting a significant task. Auto-checkpoints current state and recalls relevant memories.
696
+
697
+ CALL THIS when starting:
698
+ - A multi-step operation (doc generation, large refactor, migration)
699
+ - Work on a new topic or project area
700
+ - Anything that might fill the context window
701
+
702
702
  This ensures your state is saved before you start, and primes recall with relevant context.`, {
703
703
  topic: z.string().describe('What task are you starting? (3-15 words)'),
704
704
  files: z.array(z.string()).optional().default([])
@@ -748,13 +748,13 @@ This ensures your state is saved before you start, and primes recall with releva
748
748
  }],
749
749
  };
750
750
  });
751
- server.tool('memory_task_end', `Signal that you've finished a significant task. Writes a summary memory and auto-checkpoints.
752
-
753
- CALL THIS when you finish:
754
- - A multi-step operation
755
- - Before switching to a different topic
756
- - At the end of a work session
757
-
751
+ server.tool('memory_task_end', `Signal that you've finished a significant task. Writes a summary memory and auto-checkpoints.
752
+
753
+ CALL THIS when you finish:
754
+ - A multi-step operation
755
+ - Before switching to a different topic
756
+ - At the end of a work session
757
+
758
758
  This captures what was accomplished so future sessions can recall it.`, {
759
759
  summary: z.string().describe('What was accomplished? Include key outcomes, decisions, and any issues.'),
760
760
  tags: z.array(z.string()).optional().default([])
@@ -844,6 +844,17 @@ This captures what was accomplished so future sessions can recall it.`, {
844
844
  console.error(`[mcp] consolidation done: ${result.edgesStrengthened} strengthened, ${result.memoriesForgotten} forgotten`);
845
845
  },
846
846
  });
847
+ // Coordination MCP tools (opt-in via AWM_COORDINATION=true)
848
+ const coordEnabled = process.env.AWM_COORDINATION === 'true' || process.env.AWM_COORDINATION === '1';
849
+ if (coordEnabled) {
850
+ const { initCoordinationTables } = await import('./coordination/schema.js');
851
+ const { registerCoordinationTools } = await import('./coordination/mcp-tools.js');
852
+ initCoordinationTables(store.getDb());
853
+ registerCoordinationTools(server, store.getDb());
854
+ }
855
+ else {
856
+ console.error('AWM: coordination tools disabled (set AWM_COORDINATION=true to enable)');
857
+ }
847
858
  // Log to stderr (stdout is reserved for MCP protocol)
848
859
  console.error(`AgentWorkingMemory MCP server started (agent: ${AGENT_ID}, db: ${DB_PATH})`);
849
860
  console.error(`Hook sidecar on 127.0.0.1:${HOOK_PORT}${HOOK_SECRET ? ' (auth enabled)' : ' (no auth — set AWM_HOOK_SECRET)'}`);
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,gDAAgD;AAChD,sCAAsC;AACtC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAEpE,qDAAqD;AACrD,IAAI,CAAC;IACH,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,SAAS;QAClD,MAAM,KAAK,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnC,IAAI,KAAK,KAAK,CAAC,CAAC;YAAE,SAAS;QAC3B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;QAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IAChD,CAAC;AACH,CAAC;AAAC,MAAM,CAAC,CAAC,kBAAkB,CAAC,CAAC;AAC9B,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,sBAAsB,EAAE,MAAM,qCAAqC,CAAC;AAC7E,OAAO,EAAE,gBAAgB,EAAkB,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAI/F,OAAO,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE/D,yBAAyB;AACzB,mFAAmF;AACnF,+EAA+E;AAE/E,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,KAAK,MAAM,CAAC;AAE5F,IAAI,SAAS,EAAE,CAAC;IACd,OAAO,CAAC,KAAK,CAAC,2EAA2E,CAAC,CAAC;IAC3F,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,EAAE,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;IACjF,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACpC,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IACH,4DAA4D;AAC9D,CAAC;KAAM,CAAC;IAER,gBAAgB;IAEhB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,WAAW,CAAC;IACvD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,aAAa,CAAC;IACtF,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,MAAM,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC;IAExD,UAAU,CAAC,OAAO,CAAC,CAAC;IACpB,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,4BAA4B,OAAO,YAAY,SAAS,GAAG,CAAC,CAAC;IAEtF,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC;IACvC,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACvE,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IACjE,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAC;IACjD,MAAM,gBAAgB,GAAG,IAAI,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACrD,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,CAAC,CAAC;IACzC,MAAM,mBAAmB,GAAG,IAAI,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,sBAAsB,GAAG,IAAI,sBAAsB,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAEtF,aAAa,CAAC,KAAK,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACvD,sBAAsB,CAAC,KAAK,EAAE,CAAC;IAE/B,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,sBAAsB;QAC5B,OAAO,EAAE,OAAO;KACjB,CAAC,CAAC;IAEH,gBAAgB;IAEhB,MAAM,CAAC,IAAI,CACT,cAAc,EACd;;;;;;;;;wFASsF,EACtF;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACvE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iCAAiC,CAAC;QAC/D,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACjF,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;aAC9E,QAAQ,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC;aACjC,QAAQ,CAAC,yGAAyG,CAAC;QACtH,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;aACvD,QAAQ,CAAC,wDAAwD,CAAC;QACrE,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aACjD,QAAQ,CAAC,6CAA6C,CAAC;QAC1D,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;aAC3D,QAAQ,CAAC,+DAA+D,CAAC;QAC5E,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;aAChE,QAAQ,CAAC,gEAAgE,CAAC;QAC7E,YAAY,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC;aACtF,QAAQ,CAAC,kHAAkH,CAAC;QAC/H,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC9B,QAAQ,CAAC,sFAAsF,CAAC;KACpG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,kDAAkD;QAClD,MAAM,aAAa,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/F,MAAM,OAAO,GAAG,aAAa,CAAC,OAAO,CAAC;QAEtC,uCAAuC;QACvC,mGAAmG;QACnG,IAAI,OAAO,GAAG,GAAG;eACV,aAAa,CAAC,UAAU,GAAG,IAAI;eAC/B,aAAa,CAAC,eAAe,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;YACrE,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,aAAa,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC3G,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC/F,IAAI,OAAO,GAAG,CAAC,CAAC;gBAChB,KAAK,MAAM,CAAC,IAAI,SAAS,EAAE,CAAC;oBAAC,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;wBAAE,OAAO,EAAE,CAAC;gBAAC,CAAC;gBACpE,MAAM,cAAc,GAAG,SAAS,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;gBAEzE,IAAI,cAAc,GAAG,GAAG,EAAE,CAAC;oBACzB,wDAAwD;oBACxD,KAAK,CAAC,WAAW,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;oBACjD,IAAI,CAAC;wBAAC,KAAK,CAAC,yBAAyB,CAAC,QAAQ,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;oBAAC,CAAC;oBAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;oBAC3G,GAAG,CAAC,QAAQ,EAAE,iBAAiB,EAAE,IAAI,MAAM,CAAC,OAAO,mBAAmB,aAAa,CAAC,OAAO,cAAc,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;oBACvI,OAAO;wBACL,OAAO,EAAE,CAAC;gCACR,IAAI,EAAE,MAAe;gCACrB,IAAI,EAAE,+BAA+B,aAAa,CAAC,OAAO,cAAc,CAAC,cAAc,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;6BAC9G,CAAC;qBACH,CAAC;gBACJ,CAAC;gBACD,gDAAgD;gBAChD,GAAG,CAAC,QAAQ,EAAE,qBAAqB,EAAE,IAAI,MAAM,CAAC,OAAO,wBAAwB,aAAa,CAAC,OAAO,cAAc,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB,CAAC,CAAC;YACvK,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,MAAM,CAAC,UAA+B;YACjD,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,aAAa;YAClC,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB;YAC1C,OAAO;YACP,WAAW,EAAE,MAAM,CAAC,YAAY;SACjC,CAAC,CAAC;QAEH,0EAA0E;QAC1E,4EAA4E;QAC5E,6DAA6D;QAC7D,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC;QAEzD,MAAM,iBAAiB,GAA2B;YAChD,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,MAAM,EAAI,IAAI;YACd,QAAQ,EAAE,IAAI;YACd,WAAW,EAAE,IAAI;SAClB,CAAC;QACF,MAAM,eAAe,GAAG,aAAa;YACnC,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,QAAQ,CAAC,WAAW,KAAK,SAAS;gBACpC,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,UAAU,IAAI,aAAa,CAAC,IAAI,IAAI,CAAC;QAElE,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;YAChC,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI;YAC5E,QAAQ,EAAE,QAAQ,CAAC,KAAK;YACxB,UAAU,EAAE,eAAe;YAC3B,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;YACnC,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,GAAG,EAAE,QAAQ,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS;YACvF,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,UAAU,EAAE,MAAM,CAAC,UAAU;SAC9B,CAAC,CAAC;QAEH,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACvC,KAAK,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtC,CAAC;QAED,qDAAqD;QACrD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACpD,kCAAkC;gBAClC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,2DAA2D;QAC3D,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtD,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,iCAAiC;QAErD,+BAA+B;QAC/B,IAAI,CAAC;YAAC,KAAK,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAEvF,MAAM,cAAc,GAAG,aAAa,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAC7E,GAAG,CAAC,QAAQ,EAAE,SAAS,cAAc,EAAE,EAAE,IAAI,MAAM,CAAC,OAAO,cAAc,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpJ,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,WAAW,QAAQ,CAAC,WAAW,MAAM,MAAM,CAAC,OAAO,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;iBAC5F,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,eAAe,EACf;;;;;;;;;yGASuG,EACvG;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;QACxG,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACtF,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,wCAAwC,CAAC;QACjG,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACrG,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,kEAAkE,CAAC;QAC/H,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,6DAA6D,CAAC;KAC5H,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC;QACjD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,6EAA6E;qBACpF,CAAC;aACH,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC;YAC9C,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,SAAS;YAClB,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,QAAQ,EAAE,MAAM,CAAC,SAAS;YAC1B,cAAc,EAAE,MAAM,CAAC,eAAe;YACtC,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,YAAY,EAAE,MAAM,CAAC,aAAa;SACnC,CAAC,CAAC;QAEH,gCAAgC;QAChC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1C,KAAK,CAAC,0BAA0B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;QAC7D,CAAC;QAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC;QAE3B,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,MAAM,UAAU,CAAC,CAAC;QAEnF,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzB,OAAO;gBACL,OAAO,EAAE,CAAC;wBACR,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,6BAA6B;qBACpC,CAAC;aACH,CAAC;QACJ,CAAC;QAED,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACjC,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1F,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;iBACvB,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;qFAEmF,EACnF;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;QAC/E,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACjE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;KACnF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,KAAK,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAExF,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM;gBACzB,CAAC,CAAC,oBAAoB,CAAC,qBAAqB;gBAC5C,CAAC,CAAC,CAAC,oBAAoB,CAAC,uBAAuB,CAAC;YAClD,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,aAAa,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,EAAE;iBAC/D,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB;;oEAEkE,EAClE;QACE,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wBAAwB,CAAC;QACxD,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QACxD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yDAAyD,CAAC;KACtG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC;YACtC,OAAO,EAAE,QAAQ;YACjB,cAAc,EAAE,MAAM,CAAC,SAAS;YAChC,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,cAAc,EAAE,MAAM,CAAC,UAAU;SAClC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,CAAC,UAAU,MAAM,CAAC,SAAS,aAAa,CAAC,CAAC;QACxD,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;YACxB,KAAK,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC;QAC7D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,kBAAkB,2CAA2C,CAAC,CAAC;QAEpF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC;iBACtB,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB;;;;;;;qIAOmI,EACnI;QACE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,2BAA2B,CAAC;QAC/D,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAClE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;KACzE,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC;QACzG,CAAC;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACxD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,yBAAyB,MAAM,CAAC,aAAa,EAAE,EAAE,CAAC,EAAE,CAAC;QACzG,CAAC;QAED,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;QAElE,8CAA8C;QAC9C,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,aAAa,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;QAExF,4EAA4E;QAC5E,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;QAExF,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,SAAS,CAAC,OAAO,QAAQ,SAAS,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAE3H,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,gBAAgB,SAAS,CAAC,OAAO,QAAQ,SAAS,CAAC,OAAO,GAAG;iBACpE,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,cAAc,EACd;kFACgF,EAChF,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG;YACZ,UAAU,QAAQ,EAAE;YACpB,oBAAoB,OAAO,CAAC,iBAAiB,EAAE;YAC/C,YAAY,OAAO,CAAC,kBAAkB,EAAE;YACxC,cAAc,OAAO,CAAC,cAAc,EAAE;YACtC,mBAAmB,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACrD,gBAAgB,OAAO,CAAC,UAAU,EAAE;YACpC,iBAAiB,CAAC,OAAO,CAAC,eAAe,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG;YAC9D,sBAAsB,OAAO,CAAC,eAAe,EAAE;YAC/C,gBAAgB,OAAO,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI;YACnD,EAAE;YACF,mBAAmB,UAAU,EAAE,IAAI,CAAC,4BAA4B,IAAI,CAAC,EAAE;YACvE,oBAAoB,UAAU,EAAE,IAAI,CAAC,6BAA6B,IAAI,CAAC,EAAE;YACzE,kBAAkB,UAAU,EAAE,IAAI,CAAC,cAAc,EAAE,WAAW,EAAE,IAAI,OAAO,EAAE;YAC7E,eAAe,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,EAAE;YAC5F,EAAE;YACF,iBAAiB,UAAU,EAAE,IAAI,gBAAgB,EAAE;YACnD,2BAA2B,SAAS,EAAE;SACvC,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;iBACvB,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,8BAA8B;IAE9B,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB;;;;;;;wIAOsI,EACtI;QACE,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QACtE,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aAClD,QAAQ,CAAC,2BAA2B,CAAC;QACxC,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACrD,QAAQ,CAAC,sCAAsC,CAAC;QACnD,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACnD,QAAQ,CAAC,2BAA2B,CAAC;QACxC,kBAAkB,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aAC3D,QAAQ,CAAC,0CAA0C,CAAC;QACvD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACrC,QAAQ,CAAC,oCAAoC,CAAC;QACjD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;aAC9B,QAAQ,CAAC,6BAA6B,CAAC;KAC3C,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,KAAK,GAAmB;YAC5B,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,SAAS,EAAE,MAAM,CAAC,SAAS;YAC3B,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,SAAS,EAAE,MAAM,CAAC,UAAU;YAC5B,gBAAgB,EAAE,MAAM,CAAC,kBAAkB;YAC3C,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,SAAS,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;SACrC,CAAC;QAEF,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACtC,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,MAAM,CAAC,YAAY,eAAe,MAAM,CAAC,SAAS,CAAC,MAAM,UAAU,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjI,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,sBAAsB,MAAM,CAAC,YAAY,MAAM,MAAM,CAAC,SAAS,CAAC,MAAM,eAAe,MAAM,CAAC,YAAY,CAAC,MAAM,SAAS;iBAC/H,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,gBAAgB,EAChB;;;;;;;;0FAQwF,EACxF,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEjD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,UAAU;YACvB,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE;YAChD,CAAC,CAAC,CAAC,CAAC;QAEN,0BAA0B;QAC1B,IAAI,SAAS,GAA4D,IAAI,CAAC;QAC9E,IAAI,UAAU,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC5D,IAAI,MAAM,EAAE,CAAC;gBACX,SAAS,GAAG,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAClF,CAAC;QACH,CAAC;QAED,qCAAqC;QACrC,IAAI,gBAAgB,GAA2E,EAAE,CAAC;QAClG,MAAM,aAAa,GAAG,UAAU,EAAE,IAAI,CAAC,iBAAiB;eACnD,UAAU,EAAE,cAAc,EAAE,WAAW;eACvC,IAAI,CAAC;QAEV,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC;oBAC9C,OAAO,EAAE,QAAQ;oBACjB,OAAO,EAAE,aAAa;oBACtB,KAAK,EAAE,CAAC;oBACR,QAAQ,EAAE,IAAI;oBACd,WAAW,EAAE,IAAI;oBACjB,YAAY,EAAE,IAAI;iBACnB,CAAC,CAAC;gBACH,gBAAgB,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;oBACnC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE;oBACf,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;oBACzB,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO;oBACzB,KAAK,EAAE,CAAC,CAAC,KAAK;iBACf,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAC/C,CAAC;QAED,4BAA4B;QAC5B,iFAAiF;QACjF,2FAA2F;QAC3F,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC;QAChC,MAAM,yBAAyB,GAAG,EAAE,GAAG,MAAM,CAAC,CAAC,0DAA0D;QACzG,IAAI,0BAA0B,GAAG,KAAK,CAAC;QACvC,IAAI,0BAA0B,GAAG,KAAK,CAAC;QAEvC,IAAI,MAAM,GAAG,YAAY,EAAE,CAAC;YAC1B,MAAM,sBAAsB,GAAG,UAAU,EAAE,mBAAmB;gBAC5D,CAAC,CAAC,GAAG,GAAG,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE;gBAChD,CAAC,CAAC,QAAQ,CAAC;YAEb,IAAI,sBAAsB,GAAG,yBAAyB,EAAE,CAAC;gBACvD,wEAAwE;gBACxE,0BAA0B,GAAG,IAAI,CAAC;gBAClC,IAAI,CAAC;oBACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;oBAC/D,KAAK,CAAC,iBAAiB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;oBACzC,GAAG,CAAC,QAAQ,EAAE,eAAe,EAAE,uDAAuD,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,2BAA2B,IAAI,CAAC,KAAK,CAAC,sBAAsB,GAAG,MAAM,CAAC,cAAc,MAAM,CAAC,iBAAiB,kBAAkB,MAAM,CAAC,iBAAiB,YAAY,CAAC,CAAC;gBACvR,CAAC;gBAAC,MAAM,CAAC,CAAC,wCAAwC,CAAC,CAAC;YACtD,CAAC;iBAAM,CAAC;gBACN,+EAA+E;gBAC/E,0BAA0B,GAAG,IAAI,CAAC;gBAClC,sBAAsB,CAAC,oBAAoB,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC;QAC5C,MAAM,iBAAiB,GAAG,0BAA0B;YAClD,CAAC,CAAC,mDAAmD;YACrD,CAAC,CAAC,0BAA0B;gBAC1B,CAAC,CAAC,iCAAiC;gBACnC,CAAC,CAAC,EAAE,CAAC;QACT,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,OAAO,kBAAkB,CAAC,CAAC,UAAU,EAAE,cAAc,aAAa,gBAAgB,CAAC,MAAM,cAAc,SAAS,EAAE,OAAO,IAAI,MAAM,GAAG,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAClO,KAAK,CAAC,IAAI,CAAC,SAAS,OAAO,MAAM,iBAAiB,EAAE,CAAC,CAAC;QAEtD,IAAI,UAAU,EAAE,cAAc,EAAE,CAAC;YAC/B,MAAM,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC/E,IAAI,CAAC,CAAC,SAAS,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAClH,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACtF,IAAI,CAAC,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;YACjD,IAAI,UAAU,CAAC,YAAY;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,UAAU,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;QAClG,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,iIAAiI,CAAC,CAAC;QAChJ,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,KAAK,CAAC,IAAI,CAAC,qBAAqB,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,0BAA0B,gBAAgB,CAAC,MAAM,MAAM,CAAC,CAAC;YACpE,KAAK,MAAM,CAAC,IAAI,gBAAgB,EAAE,CAAC;gBACjC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC7H,CAAC;QACH,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;iBACvB,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gCAAgC;IAEhC,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;;;;kEAOgE,EAChE;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC7D,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,wEAAwE,CAAC;QACtG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC;QACxE,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC;aACpE,QAAQ,CAAC,gFAAgF,CAAC;QAC7F,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;KAClF,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;YAChC,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,EAAE,MAAM,CAAC;YACtC,QAAQ,EAAE,GAAG,EAAE,6BAA6B;YAC5C,UAAU,EAAE,GAAG;YACf,gBAAgB,EAAE;gBAChB,QAAQ,EAAE,GAAG;gBACb,YAAY,EAAE,IAAI;gBAClB,WAAW,EAAE,GAAG;gBAChB,gBAAgB,EAAE,GAAG;gBACrB,SAAS,EAAE,UAAU;aACtB;YACD,WAAW,EAAE,CAAC,cAAc,CAAC;YAC7B,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;YAClD,YAAY,EAAE,MAAM,CAAC,QAAwB;YAC7C,SAAS,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC,CAAC;QAEH,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEpC,oCAAoC;QACpC,KAAK,CAAC,GAAG,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACtD,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,kBAAkB,MAAM,CAAC,OAAO,MAAM,MAAM,CAAC,QAAQ,GAAG;iBAC/D,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,oBAAoB,EACpB;;;;;oCAKkC,EAClC;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QACxD,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;aAClE,QAAQ,CAAC,YAAY,CAAC;QACzB,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC,QAAQ,EAAE;aAC7D,QAAQ,CAAC,cAAc,CAAC;QAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,sDAAsD,CAAC;KACnG,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAClC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,mBAAmB,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7F,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;YACpC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI,CAAC,CAAC;QACnE,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAoB,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;YACpB,KAAK,CAAC,kBAAkB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,QAAwB,CAAC,CAAC;QAC5E,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAE,CAAC;QACjD,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,aAAa,OAAO,CAAC,OAAO,OAAO,OAAO,CAAC,UAAU,KAAK,OAAO,CAAC,YAAY,GAAG;iBACxF,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB;;qFAEmF,EACnF;QACE,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;aAClE,QAAQ,CAAC,iDAAiD,CAAC;QAC9D,YAAY,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;aAChD,QAAQ,CAAC,0BAA0B,CAAC;KACxC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,IAAI,KAAK,GAAG,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAgC,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YAC3C,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC,EAAE,CAAC;QAC3E,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,MAAM,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC9D,OAAO,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,UAAU,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC,CAAC,YAAY,IAAI,OAAO,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,EAAE,EAAE,CAAC;QAC5M,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,UAAU,KAAK,CAAC,MAAM,SAAS,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;iBAC1D,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,kBAAkB,EAClB;;;;mEAIiE,EACjE,EAAE,EACF,KAAK,IAAI,EAAE;QACT,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACzC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC,EAAE,CAAC;QAC3F,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,iBAAiB,IAAI,CAAC,OAAO,OAAO,IAAI,CAAC,YAAY,cAAc,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,OAAO,GAAG,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,OAAO,IAAI,CAAC,EAAE,EAAE;iBACtK,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,6BAA6B;IAE7B,MAAM,CAAC,IAAI,CACT,mBAAmB,EACnB;;;;;;;4FAO0F,EAC1F;QACE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QACtE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aAC9C,QAAQ,CAAC,+BAA+B,CAAC;QAC5C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACrC,QAAQ,CAAC,wBAAwB,CAAC;KACtC,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,8BAA8B;QAC9B,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,UAAU,EAAE,cAAc,EAAE,WAAW,IAAI,MAAM,CAAC;QAEnE,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC7B,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,SAAS,EAAE,EAAE;YACb,WAAW,EAAE,MAAM,CAAC,KAAK;YACzB,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,EAAE;YACpB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,iDAAiD,QAAQ,EAAE;YAClF,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,mCAAmC;QACnC,IAAI,eAAe,GAAG,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC;gBAC9C,OAAO,EAAE,QAAQ;gBACjB,OAAO,EAAE,MAAM,CAAC,KAAK;gBACrB,KAAK,EAAE,CAAC;gBACR,QAAQ,EAAE,IAAI;gBACd,WAAW,EAAE,IAAI;gBACjB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;oBACjC,MAAM,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC3E,OAAO,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,OAAO,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC/J,CAAC,CAAC,CAAC;gBACH,eAAe,GAAG,4BAA4B,OAAO,CAAC,MAAM,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAExF,eAAe;gBACf,KAAK,CAAC,0BAA0B,CAAC,QAAQ,EAAE,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;YAC1F,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;QAE7C,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,MAAM,CAAC,KAAK,WAAW,QAAQ,GAAG,CAAC,CAAC;QAEpE,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,aAAa,MAAM,CAAC,KAAK,YAAY,QAAQ,IAAI,eAAe,EAAE;iBACzE,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,MAAM,CAAC,IAAI,CACT,iBAAiB,EACjB;;;;;;;sEAOoE,EACpE;QACE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,yEAAyE,CAAC;QACvG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aAC7C,QAAQ,CAAC,6BAA6B,CAAC;QAC1C,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aACnD,QAAQ,CAAC,6EAA6E,CAAC;KAC3F,EACD,KAAK,EAAE,MAAM,EAAE,EAAE;QACf,+BAA+B;QAC/B,MAAM,QAAQ,GAAG,gBAAgB,CAAC;YAChC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,SAAS,EAAE,UAAU;YACrB,QAAQ,EAAE,GAAG;YACb,YAAY,EAAE,IAAI;YAClB,WAAW,EAAE,GAAG;YAChB,gBAAgB,EAAE,GAAG;SACtB,CAAC,CAAC;QAEH,sDAAsD;QACtD,MAAM,UAAU,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,UAAU,EAAE,cAAc,EAAE,WAAW,IAAI,cAAc,CAAC;QAC1E,sDAAsD;QACtD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;QAC3D,0EAA0E;QAC1E,MAAM,WAAW,GAAG,CAAC,WAAW,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,WAAW,KAAK,cAAc,CAAC;QACjG,MAAM,aAAa,GAAG,WAAW;YAC/B,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAEpD,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC;YAChC,OAAO,EAAE,QAAQ;YACjB,OAAO,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACnC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,cAAc,CAAC;YACtC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,sCAAsC;YAC9G,UAAU,EAAE,IAAI,EAAE,qDAAqD;YACvE,gBAAgB,EAAE,QAAQ,CAAC,QAAQ;YACnC,WAAW,EAAE,CAAC,GAAG,QAAQ,CAAC,WAAW,EAAE,UAAU,CAAC;SACnD,CAAC,CAAC;QAEH,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAEpC,0DAA0D;QAC1D,IAAI,eAAe,GAAG,CAAC,CAAC;QACxB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACzC,IAAI,SAAS,EAAE,CAAC;gBACd,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;gBACxC,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC;gBAC9D,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC,CAAC;gBACzE,eAAe,EAAE,CAAC;YACpB,CAAC;QACH,CAAC;QAED,oCAAoC;QACpC,KAAK,CAAC,mBAAmB,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpD,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAEnB,6CAA6C;QAC7C,KAAK,CAAC,cAAc,CAAC,QAAQ,EAAE;YAC7B,WAAW,EAAE,cAAc,aAAa,EAAE;YAC1C,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,SAAS,IAAI,EAAE;YACtD,WAAW,EAAE,EAAE;YACf,SAAS,EAAE,EAAE;YACb,gBAAgB,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC7B,KAAK,EAAE,mCAAmC,MAAM,CAAC,EAAE,EAAE;YACrD,SAAS,EAAE,IAAI;SAChB,CAAC,CAAC;QAEH,KAAK,CAAC,yBAAyB,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrD,GAAG,CAAC,QAAQ,EAAE,UAAU,EAAE,IAAI,aAAa,aAAa,MAAM,CAAC,EAAE,aAAa,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,eAAe,EAAE,CAAC,CAAC;QAEzI,MAAM,cAAc,GAAG,eAAe,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,eAAe,2BAA2B,CAAC,CAAC,CAAC,EAAE,CAAC;QAClG,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAe;oBACrB,IAAI,EAAE,eAAe,aAAa,MAAM,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,cAAc,EAAE;iBACtF,CAAC;SACH,CAAC;IACJ,CAAC,CACF,CAAC;IAEF,gBAAgB;IAEhB,KAAK,UAAU,IAAI;QACjB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,8DAA8D;QAC9D,MAAM,OAAO,GAAG,YAAY,CAAC;YAC3B,KAAK;YACL,OAAO,EAAE,QAAQ;YACjB,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,SAAS;YACf,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;gBACvC,OAAO,CAAC,KAAK,CAAC,kCAAkC,MAAM,EAAE,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAC9D,KAAK,CAAC,iBAAiB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACxC,OAAO,CAAC,KAAK,CAAC,6BAA6B,MAAM,CAAC,iBAAiB,kBAAkB,MAAM,CAAC,iBAAiB,YAAY,CAAC,CAAC;YAC7H,CAAC;SACF,CAAC,CAAC;QAEH,sDAAsD;QACtD,OAAO,CAAC,KAAK,CAAC,iDAAiD,QAAQ,SAAS,OAAO,GAAG,CAAC,CAAC;QAC5F,OAAO,CAAC,KAAK,CAAC,6BAA6B,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,kCAAkC,EAAE,CAAC,CAAC;QAE/H,iBAAiB;QACjB,MAAM,OAAO,GAAG,GAAG,EAAE;YACnB,OAAO,CAAC,KAAK,EAAE,CAAC;YAChB,sBAAsB,CAAC,IAAI,EAAE,CAAC;YAC9B,aAAa,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,CAAC,CAAC;QACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;QACjB,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,GAAG,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AAEH,CAAC,CAAC,2BAA2B"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,13 @@
4
4
  * Uses better-sqlite3 for synchronous, fast, embedded storage.
5
5
  * FTS5 provides BM25 full-text search for the activation pipeline.
6
6
  */
7
+ import Database from 'better-sqlite3';
7
8
  import type { Engram, EngramCreate, EngramStage, Association, AssociationType, SearchQuery, ActivationEvent, StagingEvent, Episode, TaskStatus, TaskPriority, MemoryClass, ConsciousState, CheckpointRow } from '../types/index.js';
8
9
  export declare class EngramStore {
9
10
  private db;
10
11
  constructor(dbPath?: string);
12
+ /** Expose the raw database handle for the coordination module. */
13
+ getDb(): Database.Database;
11
14
  private init;
12
15
  createEngram(input: EngramCreate): Engram;
13
16
  getEngram(id: string): Engram | null;
@@ -1 +1 @@
1
- {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqlite.d.ts","sourceRoot":"","sources":["../../src/storage/sqlite.ts"],"names":[],"mappings":"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"}