@nxuss/lemma 1.22.0 → 1.23.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/README.md +33 -7
  2. package/bin/init.js +108 -37
  3. package/dist/cjs/cli/lemma-proxy.d.ts +2 -0
  4. package/dist/cjs/cli/lemma-proxy.d.ts.map +1 -1
  5. package/dist/cjs/cli/lemma-proxy.js +41 -0
  6. package/dist/cjs/cli/lemma-proxy.js.map +1 -1
  7. package/dist/cjs/cloud/store/FileBrainStore.d.ts.map +1 -1
  8. package/dist/cjs/cloud/store/FileBrainStore.js +5 -2
  9. package/dist/cjs/cloud/store/FileBrainStore.js.map +1 -1
  10. package/dist/cjs/mcp/tool-profiles.d.ts.map +1 -1
  11. package/dist/cjs/mcp/tool-profiles.js +3 -0
  12. package/dist/cjs/mcp/tool-profiles.js.map +1 -1
  13. package/dist/cjs/mcp/tools/memory.d.ts.map +1 -1
  14. package/dist/cjs/mcp/tools/memory.js +212 -7
  15. package/dist/cjs/mcp/tools/memory.js.map +1 -1
  16. package/dist/cjs/mcp/tools.d.ts +9 -0
  17. package/dist/cjs/mcp/tools.d.ts.map +1 -1
  18. package/dist/cjs/mcp/tools.js +25 -4
  19. package/dist/cjs/mcp/tools.js.map +1 -1
  20. package/dist/cjs/security/scrubForStorage.d.ts +16 -0
  21. package/dist/cjs/security/scrubForStorage.d.ts.map +1 -0
  22. package/dist/cjs/security/scrubForStorage.js +35 -0
  23. package/dist/cjs/security/scrubForStorage.js.map +1 -0
  24. package/dist/cjs/subconscious/BrainEncryption.d.ts +38 -0
  25. package/dist/cjs/subconscious/BrainEncryption.d.ts.map +1 -0
  26. package/dist/cjs/subconscious/BrainEncryption.js +137 -0
  27. package/dist/cjs/subconscious/BrainEncryption.js.map +1 -0
  28. package/dist/cjs/subconscious/TheBrainV2.d.ts +294 -0
  29. package/dist/cjs/subconscious/TheBrainV2.d.ts.map +1 -1
  30. package/dist/cjs/subconscious/TheBrainV2.js +1070 -111
  31. package/dist/cjs/subconscious/TheBrainV2.js.map +1 -1
  32. package/dist/esm/cli/lemma-proxy.d.ts +2 -0
  33. package/dist/esm/cli/lemma-proxy.d.ts.map +1 -1
  34. package/dist/esm/cli/lemma-proxy.js +39 -0
  35. package/dist/esm/cli/lemma-proxy.js.map +1 -1
  36. package/dist/esm/cloud/store/FileBrainStore.d.ts.map +1 -1
  37. package/dist/esm/cloud/store/FileBrainStore.js +5 -2
  38. package/dist/esm/cloud/store/FileBrainStore.js.map +1 -1
  39. package/dist/esm/mcp/tool-profiles.d.ts.map +1 -1
  40. package/dist/esm/mcp/tool-profiles.js +3 -0
  41. package/dist/esm/mcp/tool-profiles.js.map +1 -1
  42. package/dist/esm/mcp/tools/memory.d.ts.map +1 -1
  43. package/dist/esm/mcp/tools/memory.js +212 -7
  44. package/dist/esm/mcp/tools/memory.js.map +1 -1
  45. package/dist/esm/mcp/tools.d.ts +9 -0
  46. package/dist/esm/mcp/tools.d.ts.map +1 -1
  47. package/dist/esm/mcp/tools.js +25 -5
  48. package/dist/esm/mcp/tools.js.map +1 -1
  49. package/dist/esm/security/scrubForStorage.d.ts +16 -0
  50. package/dist/esm/security/scrubForStorage.d.ts.map +1 -0
  51. package/dist/esm/security/scrubForStorage.js +32 -0
  52. package/dist/esm/security/scrubForStorage.js.map +1 -0
  53. package/dist/esm/subconscious/BrainEncryption.d.ts +38 -0
  54. package/dist/esm/subconscious/BrainEncryption.d.ts.map +1 -0
  55. package/dist/esm/subconscious/BrainEncryption.js +126 -0
  56. package/dist/esm/subconscious/BrainEncryption.js.map +1 -0
  57. package/dist/esm/subconscious/TheBrainV2.d.ts +294 -0
  58. package/dist/esm/subconscious/TheBrainV2.d.ts.map +1 -1
  59. package/dist/esm/subconscious/TheBrainV2.js +1068 -111
  60. package/dist/esm/subconscious/TheBrainV2.js.map +1 -1
  61. package/package.json +1 -1
@@ -23,5 +23,14 @@ export interface ToolCallEvent {
23
23
  error?: string;
24
24
  }
25
25
  export declare function setupToolsHandlers(server: Server, onToolCall?: (event: ToolCallEvent) => void): void;
26
+ /**
27
+ * Onboarding built from the filesystem alone.
28
+ *
29
+ * The proxy produces a richer map, but this tool is in the core surface and CLAUDE.md tells
30
+ * the model to call it first — so when the proxy is down, the first call of every session
31
+ * used to return an error and the session started with no context at all. A local answer is
32
+ * strictly better than that, and it never fails.
33
+ */
34
+ export declare function buildLocalOnboarding(cwd: string): string;
26
35
  export declare const detectExpectedProjectName: typeof detectProjectName;
27
36
  //# sourceMappingURL=tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAgBnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAgS7D,oFAAoF;AACpF,wBAAgB,kBAAkB,IAAI,MAAM,CAM3C;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAQA;AAkED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqCD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAC1C,IAAI,CAiHN;AAgTD,eAAO,MAAM,yBAAyB,0BAAoB,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAgBnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAiS7D,oFAAoF;AACpF,wBAAgB,kBAAkB,IAAI,MAAM,CAM3C;AAED,oEAAoE;AACpE,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED,iEAAiE;AACjE,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,IAAI;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB,CAQA;AAkED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,MAAM,EAAE,IAAI,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAqCD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,GAC1C,IAAI,CAiHN;AAkPD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAsExD;AAKD,eAAO,MAAM,yBAAyB,0BAAoB,CAAC"}
@@ -42,6 +42,7 @@ exports.getRegisteredToolNames = getRegisteredToolNames;
42
42
  exports.getAdvertisedToolNames = getAdvertisedToolNames;
43
43
  exports.getToolSurfaceSummary = getToolSurfaceSummary;
44
44
  exports.setupToolsHandlers = setupToolsHandlers;
45
+ exports.buildLocalOnboarding = buildLocalOnboarding;
45
46
  const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
46
47
  const fs_1 = __importDefault(require("fs"));
47
48
  const path_1 = __importDefault(require("path"));
@@ -103,6 +104,7 @@ const FREE_TOOLS = new Set([
103
104
  // same reason: a tier that can only append to a corpus it cannot read or fix is not one
104
105
  // where the user owns their own memories.
105
106
  "forget_memory", "refresh_memory", "brain_stats", "brain_export", "brain_import",
107
+ "brain_trash", "brain_upkeep", "brain_merge",
106
108
  // Token optimization — shows what they're saving
107
109
  "token_budget", "squeeze_prompt", "turbosqueeze",
108
110
  // Utility — just enough to function
@@ -796,10 +798,29 @@ function buildLocalOnboarding(cwd) {
796
798
  .slice()
797
799
  .sort((a, b) => (a.timestamp < b.timestamp ? 1 : -1))
798
800
  .slice(0, 5);
799
- lines.push("", "Most recent:");
800
- for (const m of recent)
801
- lines.push(`- ${m.query.slice(0, 100)}`);
802
- lines.push("", "Use `search_memory` to retrieve any of these in full.");
801
+ // Re-judge freshness at session open: listing a stale memory without saying so is
802
+ // how an agent starts a session by reusing a dead answer. verifyByIds is
803
+ // hash-compare only (no BM25), so this costs a handful of file reads, not a search.
804
+ let verdicts = {};
805
+ try {
806
+ verdicts = Object.fromEntries((0, TheBrainV2_1.getBrain)().verifyByIds(recent.map((m) => m.id)).map((v) => [v.id, v.status]));
807
+ }
808
+ catch { /* verdicts stay empty; list without badges rather than fail onboarding */ }
809
+ const badge = (id) => {
810
+ switch (verdicts[id]) {
811
+ case "fresh": return "✓ fresh";
812
+ case "stale": return "✗ STALE — re-verify before reusing";
813
+ case "untracked": return "? untracked — nothing verifiable, check it yourself";
814
+ case "unverified": return "? unverified here — tracked paths missing on this machine";
815
+ default: return "";
816
+ }
817
+ };
818
+ lines.push("", "Most recent (freshness re-checked just now):");
819
+ for (const m of recent) {
820
+ const mark = badge(m.id);
821
+ lines.push(`- ${m.query.slice(0, 100)}${mark ? ` [${mark}]` : ""}`);
822
+ }
823
+ lines.push("", "Use `search_memory` to retrieve any of these in full; `brain_upkeep` for a full corpus checkup.");
803
824
  }
804
825
  }
805
826
  catch { /* brain unavailable */ }
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiTA,gDAMC;AAGD,wDAEC;AAGD,wDAEC;AAGD,sDAcC;AA8GD,gDAoHC;AAnjBD,iEAAmG;AACnG,4CAAoB;AACpB,gDAAwB;AAExB,4CAAoB;AACpB,kDAA0B;AAG1B,mEAAgE;AAChE,gEAA6D;AAC7D,8DAA6J;AAE7J,0DAAmE;AACnE,mCAAsR;AAEtR,8DAA6D;AAgB7D,2DAAkH;AAMlH,kDAAqG;AACrG,mDAA0E;AAE1E,wDAAiH;AAGjH,mCAA8E;AAC9E,8DAAkH;AAClH,4DAAoE;AAGpE,wDAAmG;AAGnG,kEAAoF;AAIpF,sDAAwE;AAExE,2CAA+E;AAC/E,+CAAqF;AACrF,2CAA+E;AAC/E,iDAAwF;AACxF,iDAAwF;AACxF,+CAAqF;AACrF,6CAAkF;AAClF,+CAAqF;AACrF,yDAAkI;AAClI,yDAAoG;AACpG,+CAAqF;AACrF,+CAAqF;AACrF,uCAAyE;AAEzE,iFAAiF;AAEjF,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,OAAO,EAAE,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;AAE7E,IAAI,eAAe,GAAmB,IAAI,CAAC;AAE3C,SAAS,SAAS;IAChB,IAAI,eAAe,KAAK,IAAI;QAAE,OAAO,eAAe,CAAC;IACrD,IAAI,CAAC;QACH,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC;YAC/D,eAAe,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;YACxD,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,eAAe,GAAG,KAAK,CAAC;IACxB,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC;IACzB,qDAAqD;IACrD,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,iBAAiB,EAAE,eAAe,EAAE,qBAAqB;IAC/K,0FAA0F;IAC1F,yFAAyF;IACzF,8CAA8C;IAC9C,0FAA0F;IAC1F,wFAAwF;IACxF,0CAA0C;IAC1C,eAAe,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc;IAChF,iDAAiD;IACjD,cAAc,EAAE,gBAAgB,EAAE,cAAc;IAChD,oCAAoC;IACpC,qBAAqB,EAAE,eAAe,EAAE,qBAAqB;IAC7D,gFAAgF;IAChF,eAAe;IACf,mCAAmC;IACnC,kBAAkB,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,qBAAqB;IACnF,sCAAsC;IACtC,qBAAqB,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,cAAc;IAChF,qCAAqC;IACrC,yBAAyB,EAAE,0BAA0B,EAAE,sBAAsB;IAC7E,uBAAuB;IACvB,GAAG,4BAAgB;CACpB,CAAC,CAAC;AAEH,MAAM,gBAAgB,GAAG;IACvB,kCAAkC;IAClC,EAAE;IACF,0BAA0B;IAC1B,6BAA6B;IAC7B,EAAE;IACF,mBAAmB;IACnB,qCAAqC;CACtC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEb,yFAAyF;AACzF,uFAAuF;AACvF,sFAAsF;AACtF,0CAA0C;AAE1C,MAAM,eAAe,GAAqB;IACxC,GAAG,gCAAuB;IAC1B,GAAG,oCAAyB;IAC5B,GAAG,gCAAuB;IAC1B,GAAG,sCAA0B;IAC7B,GAAG,sCAA0B;IAC7B,GAAG,oCAAyB;IAC5B,GAAG,kCAAwB;IAC3B,GAAG,oCAAyB;IAC5B,GAAG,8CAA8B;IACjC,GAAG,8CAA8B;IACjC,GAAG,oCAAyB;IAC5B,GAAG,oCAAyB;IAC5B,GAAG,4BAAqB;IACxB;QACE,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACzD,WAAW,EAAE,oGAAoG;QACjH,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;aAC/D;YACD,QAAQ,EAAE,CAAC,MAAM,CAAC;SACnB;KACF;IACD;QACE,IAAI,EAAE,oBAAoB;QAC1B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACzD,WAAW,EAAE,mFAAmF;QAChG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;gBAChE,cAAc,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE;aACrG;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;QACD,YAAY,EAAE;YACZ,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iCAAiC,EAAE;gBACpF,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,oCAAoC,EAAE;gBACxG,aAAa,EAAE,EAAE,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,wDAAwD,EAAE;gBAClH,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,qDAAqD,EAAE;aAClG;YACD,QAAQ,EAAE,CAAC,kBAAkB,EAAE,YAAY,EAAE,UAAU,CAAC;SACzD;KACF;IACD;QACE,IAAI,EAAE,WAAW;QACjB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE;QACxG,WAAW,EAAE,0FAA0F;QACvG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kDAAkD,EAAE,OAAO,EAAE,KAAK,EAAE;aAC5G;SACF;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QAC/E,WAAW,EAAE,4fAA4f;QACzgB,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2CAA2C,EAAE;gBACnF,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,+EAA+E,EAAE;gBAC3H,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mDAAmD,EAAE,OAAO,EAAE,GAAG,EAAE;aAC/G;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QAC/E,WAAW,EAAE,wFAAwF;QACrG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kDAAkD,EAAE;gBAC3F,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0DAA0D,EAAE,OAAO,EAAE,EAAE,EAAE;aAChH;YACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;SACrB;KACF;IACD;QACE,IAAI,EAAE,wBAAwB;QAC9B,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACzD,WAAW,EAAE,oFAAoF;QACjG,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;IACD;QACE,IAAI,EAAE,kBAAkB;QACxB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;QACvG,WAAW,EAAE,2KAA2K;QACxL,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK,EAAE;wBACL,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE;4BACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,mBAAmB,EAAE;4BAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;yBAChE;wBACD,QAAQ,EAAE,CAAC,MAAM,CAAC;qBACnB;oBACD,WAAW,EAAE,4CAA4C;iBAC1D;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB;KACF;IACD;QACE,IAAI,EAAE,cAAc;QACpB,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACzD,WAAW,EAAE,+LAA+L;QAC5M,WAAW,EAAE;YACX,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,EAAE;SACf;KACF;CACF,CAAC;AAEF,gFAAgF;AAChF,MAAM,cAAc,GAAG,IAAA,mCAAuB,GAAE,CAAC;AAEjD,uFAAuF;AACvF,iEAAiE;AACjE,MAAM,uBAAuB,GAAmB;IAC9C,IAAI,EAAE,eAAe;IACrB,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE;IACvG,WAAW,EACT,gPAAgP;IAClP,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE,OAAO,EAAE,MAAM,EAAE;YAClH,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;YACjG,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,0CAA0C,EAAE;YACjF,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,yDAAyD,EAAE;SACjG;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;CACF,CAAC;AAEF,MAAM,kBAAkB,GAAqB;IAC3C,GAAG,eAAe;IAClB,GAAG,cAAc;IACjB,uBAAuB;CACxB,CAAC;AAEF,uFAAuF;AACvF,yFAAyF;AACzF,EAAE;AACF,0FAA0F;AAC1F,6FAA6F;AAC7F,8FAA8F;AAC9F,yFAAyF;AACzF,0EAA0E;AAC1E,MAAM,YAAY,GAAG,IAAA,kCAAkB,EAAC,kBAAkB,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE;IACzE,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,EAAE,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC;CAC1D,CAAC,CAAC;AACH,MAAM,oBAAoB,GAAG,YAAY,CAAC,UAAU,CAAC;AACrD,MAAM,qBAAqB,GAAG,YAAY,CAAC,MAAM,CAAC;AAElD,oFAAoF;AACpF,SAAgB,kBAAkB;IAChC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,MAAM,CAAC;IACrD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,CAAC;IACX,CAAC;AACH,CAAC;AAED,oEAAoE;AACpE,SAAgB,sBAAsB;IACpC,OAAO,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,CAAC;AAED,iEAAiE;AACjE,SAAgB,sBAAsB;IACpC,OAAO,oBAAoB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AACjD,CAAC;AAED,iFAAiF;AACjF,SAAgB,qBAAqB;IAOnC,OAAO;QACL,OAAO,EAAE,YAAY,CAAC,OAAO;QAC7B,UAAU,EAAE,oBAAoB,CAAC,MAAM;QACvC,MAAM,EAAE,qBAAqB,CAAC,MAAM;QACpC,KAAK,EAAE,kBAAkB,CAAC,MAAM;QAChC,YAAY,EAAE,YAAY,CAAC,YAAY;KACxC,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAgC;IAChD,GAAG,6BAAoB;IACvB,GAAG,iCAAsB;IACzB,GAAG,6BAAoB;IACvB,GAAG,mCAAuB;IAC1B,GAAG,mCAAuB;IAC1B,GAAG,iCAAsB;IACzB,GAAG,+BAAqB;IACxB,GAAG,iCAAsB;IACzB,GAAG,2CAA2B;IAC9B,GAAG,2CAA2B;IAC9B,GAAG,iCAAsB;IACzB,GAAG,iCAAsB;IACzB,GAAG,yBAAkB;IACrB,aAAa,EAAE,kBAAkB;IACjC,kBAAkB,EAAE,sBAAsB;IAC1C,SAAS,EAAE,cAAc;IACzB,gBAAgB,EAAE,qBAAqB;IACvC,cAAc,EAAE,mBAAmB;IACnC,sBAAsB,EAAE,0BAA0B;IAClD,gBAAgB,EAAE,oBAAoB;IACtC,YAAY,EAAE,iBAAiB;IAC/B,aAAa,EAAE,aAAa;IAC5B,GAAG,IAAA,gCAAoB,GAAE;CAC1B,CAAC;AAEF;;;;;;GAMG;AACH,KAAK,UAAU,aAAa,CAAC,IAAyB;IACpD,MAAM,MAAM,GAAI,IAAI,EAAE,MAAiB,IAAI,MAAM,CAAC;IAElD,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,OAAO;YACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAA,mCAAmB,EAAC,qBAAqB,EAAE,IAAI,EAAE,KAAe,CAAC,EAAE,CAAC;SACrG,CAAC;IACJ,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,EAAE,IAAc,CAAC;IACtC,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,GAAG,MAAM,GAAG,GAAG,CAAC,CAAC;IAEjF,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;QAChE,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;IAED,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;QACtB,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC;QAC3D,oFAAoF;QACpF,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAE,CAAC;QACjE,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAwB,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,MAAM,oCAAoC,CAAC,CAAC;AACjF,CAAC;AAWD,8EAA8E;AAC9E,MAAM,eAAe,GAAG,IAAI,GAAG,CAAC;IAC9B,qBAAqB;IACrB,kBAAkB;IAClB,6BAA6B;IAC7B,kBAAkB;IAClB,oBAAoB;IACpB,kBAAkB;IAClB,qBAAqB;IACrB,kBAAkB;IAClB,qBAAqB;CACtB,CAAC,CAAC;AAEH,SAAS,kBAAkB,CAAC,IAAY;IACtC,OAAO,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC;AAC/D,CAAC;AAED;;;GAGG;AACH,SAAS,gBAAgB,CACvB,IAAY,EACZ,IAA0B;IAE1B,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,CAAC;IACrB,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,QAAQ;QAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACrE,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IAClE,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;QAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IAC9E,IAAI,OAAO,IAAI,CAAC,OAAO,KAAK,QAAQ;QAAE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACpF,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;QAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;IAC3E,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,kBAAkB,CAChC,MAAc,EACd,UAA2C;IAE3C,IAAA,uBAAe,EAAC,MAAM,CAAC,CAAC;IACxB,IAAA,2CAAuB,EAAC,4CAA4B,CAAC,CAAC;IAEtD,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,EAAE,oBAAoB;KAC5B,CAAC,CAAC,CAAC;IAEJ,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE;QACvE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAE7B,2EAA2E;QAC3E,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1C,UAAU,EAAE,CAAC;gBACX,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAC/B,KAAK,EAAE,sBAAsB;aAC9B,CAAC,CAAC;YACH,OAAO;gBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC;aACpD,CAAC;QACJ,CAAC;QACD,2EAA2E;QAE3E,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC;QAEnC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;YACvC,UAAU,EAAE,CAAC;gBACX,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO;gBACP,KAAK,EAAE,cAAc;aACtB,CAAC,CAAC;YACH,MAAM,IAAI,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QAED,+EAA+E;QAC/E,sFAAsF;QACtF,0FAA0F;QAC1F,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,IAAI,0BAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACxD,MAAM,YAAY,GAAG,IAAA,8BAAe,GAAE,CAAC;YACvC,OAAO,IAAA,iBAAS,EAAC,IAAI,EAAE,CAAC,IAAI,IAAI,EAAE,CAAwB,EAAE,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAC/G,IAAI,KAAK,EAAE,CAAC;oBACV,UAAU,EAAE,CAAC;wBACX,IAAI,EAAE,IAAI;wBACV,IAAI,EAAE,IAAI,IAAI,EAAE;wBAChB,MAAM,EAAE,OAAO;wBACf,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;wBAC/B,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;qBAClG,CAAC,CAAC;oBACH,OAAO;gBACT,CAAC;gBACD,IAAI,IAAA,8BAAe,GAAE,KAAK,YAAY,EAAE,CAAC;oBACvC,IAAA,iCAAkB,EAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;wBACjD,IAAI,EAAE,IAAI;wBACV,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAuC,CAAC;qBACnE,CAAC,CAAC;gBACL,CAAC;gBACD,MAAM,YAAY,GAAG,IAAA,gCAAwB,EAAC,MAA6B,CAAC,CAAC;gBAC7E,UAAU,EAAE,CAAC;oBACX,IAAI,EAAE,IAAI;oBACV,IAAI,EAAE,IAAI,IAAI,EAAE;oBAChB,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;oBAC/B,YAAY;iBACb,CAAC,CAAC;gBACH,IAAA,0BAAU,EAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7E,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACH,8EAA8E;YAC9E,yEAAyE;YACzE,MAAM,YAAY,GAAG,IAAA,8BAAe,GAAE,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,CAAC,IAAI,IAAI,EAAE,CAAwB,CAAC,CAAC;YAClE,IAAI,IAAA,8BAAe,GAAE,KAAK,YAAY,EAAE,CAAC;gBACvC,IAAA,iCAAkB,EAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE;oBACjD,IAAI,EAAE,IAAI;oBACV,GAAG,gBAAgB,CAAC,IAAI,EAAE,IAAuC,CAAC;iBACnE,CAAC,CAAC;YACL,CAAC;YACD,MAAM,YAAY,GAAG,IAAA,gCAAwB,EAAC,MAAM,CAAC,CAAC;YACtD,UAAU,EAAE,CAAC;gBACX,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAC/B,YAAY;aACb,CAAC,CAAC;YACH,+EAA+E;YAC/E,4DAA4D;YAC5D,IAAA,0BAAU,EAAC,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3E,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,UAAU,EAAE,CAAC;gBACX,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,IAAI,EAAE;gBAChB,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;gBAC/B,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,eAAe;aAC3D,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,yFAAyF;IACzF,2FAA2F;IAC3F,IAAA,4BAAoB,EAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED,uEAAuE;AAEvE,KAAK,UAAU,kBAAkB,CAAC,IAAyB;IACzD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAc,CAAC;IAClC,IAAI,CAAC,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC/C,MAAM,QAAQ,GAAG,IAAI,mCAAgB,EAAE,CAAC;IACxC,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAC7D,CAAC;AAED,wFAAwF;AACxF,8EAA8E;AAE9E,KAAK,UAAU,sBAAsB,CAAC,IAAyB;IAC7D,MAAM,MAAM,GAAG,IAAI,EAAE,MAAgB,CAAC;IACtC,MAAM,aAAa,GAAG,IAAI,EAAE,cAAwB,CAAC;IAErD,MAAM,MAAM,GAAG,IAAI,mCAAgB,EAAE,CAAC;IACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAExD,MAAM,QAAQ,GAAG,CAAC,CAAC,aAAa,IAAI,QAAQ,CAAC,KAAK,KAAK,aAAa,CAAC;IACrE,IAAI,QAAQ,CAAC,UAAU,KAAK,KAAK,IAAI,QAAQ,EAAE,CAAC;QAC9C,MAAM,qBAAqB,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACpE,IAAA,6BAAa,EAAC;YACZ,MAAM,EAAE,mBAAmB;YAC3B,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,GAAG,GAAG,CAAC;YAC/C,QAAQ,EAAE,oBAAoB;YAC9B,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,gBAAgB,EAAE,QAAQ,CAAC,KAAK;QAChC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,aAAa,EAAE,aAAa,IAAI,IAAI;QACpC,QAAQ;KACT,CAAC;IACF,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,6BAA6B,QAAQ,CAAC,KAAK,2BAA2B,QAAQ,CAAC,UAAU,GAAG;aACnG;SACF;QACD,iBAAiB,EAAE,UAAU;KAC9B,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,cAAc,CAAC,IAAyB;IACrD,MAAM,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC;IAC5B,IAAI,CAAC;QACH,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC;QACrE,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC7E,CAAC;IAAC,OAAO,CAAM,EAAE,CAAC;QAChB,IAAA,gBAAQ,EAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACzB,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACjF,CAAC;AACH,CAAC;AAGD,8FAA8F;AAC9F,MAAM,qBAAqB,GAAG,EAAE,CAAC;AAWjC;;;;;;;GAOG;AACH,KAAK,UAAU,sBAAsB,CAAC,KAAa,EAAE,OAAsB;IACzE,MAAM,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;YAClB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;IAC/B,MAAM,SAAS,GAAqB,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAEtF,IAAI,UAAU,IAAI,qBAAqB;QAAE,OAAO,SAAS,CAAC;IAE1D,IAAI,CAAC;QACH,MAAM,UAAU,GAAgB,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,EAAE,CAAC,CAAC;YACtF,EAAE,EAAE,QAAQ;YACZ,OAAO,EAAE,GAAG,QAAQ,KAAK,WAAW,CAAC,MAAM,SAAS,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,MAAM,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;SACzI,CAAC,CAAC,CAAC;QAEJ,MAAM,MAAM,GAAG,MAAM,IAAA,+BAAc,EAAC,KAAK,EAAE,UAAU,CAAC,CAAC;QACvD,IAAI,CAAC,MAAM;YAAE,OAAO,SAAS,CAAC;QAE9B,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;QAC3D,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAE5C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;QAE7D,MAAM,IAAI,GAAG;YACX,EAAE;YACF,MAAM,QAAQ,CAAC,MAAM,iEAAiE,MAAM,CAAC,KAAK,4BAA4B;YAC9H,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,QAAQ,CAAC,MAAM,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1E,yFAAyF;YACzF,wFAAwF;YACxF,8DAA8D;SAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,IAAA,6BAAa,EAAC;YACZ,MAAM,EAAE,gBAAgB;YACxB,WAAW,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YAC3D,UAAU,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;YACvD,QAAQ,EAAE,kBAAkB;YAC5B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;SAC/B,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC5D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,uFAAuF;QACvF,IAAA,eAAO,EAAC,kBAAkB,EAAE,oDAAoD,CAAC,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,KAAK,UAAU,qBAAqB,CAAC,IAAyB;IAC5D,MAAM,KAAK,GAAG,IAAI,EAAE,KAAe,CAAC;IACpC,MAAM,SAAS,GAAG,IAAI,EAAE,SAAmB,CAAC;IAC5C,MAAM,UAAU,GAAI,IAAI,EAAE,UAAqB,IAAI,GAAG,CAAC;IACvD,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAEjD,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACpC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,sCAAoB,EAAC,SAAS,CAAC,CAAC;QACnD,MAAM,MAAM,GAAG,IAAA,6BAAe,EAAC,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QAE7E,oFAAoF;QACpF,sFAAsF;QACtF,mFAAmF;QACnF,wEAAwE;QACxE,IAAI,UAAkB,CAAC;QACvB,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACzB,IAAA,6BAAa,EAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YAC7I,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,IAAA,iCAAe,EAAC,aAAa,EAAE,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;YAC7F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,UAAU,GAAG,0CAA0C,KAAK,IAAI,CAAC;gBACjE,IAAA,6BAAe,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YACjF,CAAC;iBAAM,CAAC;gBACN,mFAAmF;gBACnF,mFAAmF;gBACnF,4EAA4E;gBAC5E,MAAM,SAAS,GAAG,MAAM,sBAAsB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;gBAC/D,MAAM,OAAO,GAAG,IAAA,oCAAkB,EAAC,SAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;gBAC3F,IAAI,SAAS,GAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;gBAEnD,IAAI,CAAC;oBACH,MAAM,QAAQ,GAAG,IAAI,mCAAgB,EAAE,CAAC;oBACxC,MAAM,EAAE,YAAY,EAAE,GAAG,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAClD,SAAS,GAAG,YAAY,CAAC;gBAC3B,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAA,eAAO,EAAC,kBAAkB,EAAE,gDAAgD,CAAC,CAAC;gBAChF,CAAC;gBAED,MAAM,cAAc,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,kBAAkB,UAAU,gEAAgE,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7I,2EAA2E;gBAC3E,kFAAkF;gBAClF,oEAAoE;gBACpE,UAAU,GAAG,SAAS,OAAO,CAAC,MAAM,mBAAmB,SAAS,CAAC,UAAU,SAAS,cAAc,QAAQ,SAAS,EAAE,CAAC;gBACtH,kFAAkF;gBAClF,iFAAiF;gBACjF,wEAAwE;gBACxE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBACvB,IAAA,6BAAe,EAAC,KAAK,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBACjF,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,wBAAS,EAAC,kBAAkB,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,IAAI,IAAI,EAAE,UAAU,EAAE,GAAG,EAAE,aAAa,EAAE,CAAC,CAAC;QACnH,MAAM,MAAM,GAAG,IAAA,0BAAW,EAAC,GAAG,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,eAAe,KAAK,GAAG,EAAE,CAAC,CAAC;QAChF,IAAA,2BAAkB,EAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACpC,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACvB,IAAA,6BAAa,EAAC;gBACZ,MAAM,EAAE,gBAAgB;gBACxB,WAAW,EAAE,UAAU,CAAC,MAAM;gBAC9B,UAAU,EAAE,MAAM,CAAC,WAAW,CAAC,MAAM;gBACrC,QAAQ,EAAE,kBAAkB;gBAC5B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;aAC/B,CAAC,CAAC;YACH,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACnE,CAAC;QAED,OAAO;YACL,OAAO,EAAE;gBACP;oBACE,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,UAAU;iBACjB;aACF;SACF,CAAC;IACJ,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAA,gBAAQ,EAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;QAClC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,8BAA8B,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAAC,IAAyB;IAC1D,MAAM,SAAS,GAAG,IAAI,EAAE,MAAgB,CAAC;IACzC,MAAM,QAAQ,GAAI,IAAI,EAAE,KAAgB,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAEtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAA,+BAAa,EAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,MAAM,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;YAC9C,IAAA,6BAAa,EAAC;gBACZ,MAAM,EAAE,gBAAgB;gBACxB,WAAW,EAAE,MAAM,CAAC,YAAY;gBAChC,UAAU,EAAE,MAAM,CAAC,YAAY;gBAC/B,QAAQ,EAAE,gBAAgB;gBAC1B,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC;aACnC,CAAC,CAAC;QACL,CAAC;QACD,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;IAChE,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,IAAA,gBAAQ,EAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC;QAChC,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,2BAA2B,GAAG,CAAC,OAAO,EAAE,EAAE,CAAC,EAAE,CAAC;IACzF,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,oBAAoB,CAAC,GAAW;IACvC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,MAAM,WAAW,GAAG,cAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,KAAK,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,GAAG,GAAQ,IAAI,CAAC;IACpB,IAAI,CAAC;QACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAEpC,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,GAAG,CAAC,WAAW;YAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACrD,KAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC,CAAC;QACvD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACrI,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/C,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpF,CAAC;IAED,wFAAwF;IACxF,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,YAAE,CAAC,YAAY,CAAC,cAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5E,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAClH,KAAK,CAAC,IAAI,CAAC,eAAe,MAAM,EAAE,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,YAAE;aACf,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;aACzC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC;aACtF,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtB,IAAI,OAAO,CAAC,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,8BAA8B,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAClG,CAAC;IAAC,MAAM,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAEhC,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAA,qBAAQ,GAAE,CAAC,oBAAoB,CAAC,IAAA,4BAAe,EAAC,GAAG,CAAC,CAAC,CAAC;QACvE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,wCAAwC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC;QAC1E,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,QAAQ;iBACpB,KAAK,EAAE;iBACP,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;iBACpD,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YACf,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;YAC/B,KAAK,MAAM,CAAC,IAAI,MAAM;gBAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,uDAAuD,CAAC,CAAC;QAC1E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAEnC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,0FAA0F;AAC1F,4FAA4F;AAC5F,iFAAiF;AACpE,QAAA,yBAAyB,GAAG,mCAAiB,CAAC;AAE3D,KAAK,UAAU,0BAA0B,CAAC,KAA0B;IAClE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,IAAA,oBAAY,GAAE,CAAC;QAC5B,iFAAiF;QACjF,mFAAmF;QACnF,kFAAkF;QAClF,qFAAqF;QACrF,uFAAuF;QACvF,uFAAuF;QACvF,sFAAsF;QACtF,0DAA0D;QAC1D,MAAM,eAAe,GAAG,IAAA,iCAAyB,EAAC,GAAG,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,oBAAoB,IAAI,yBAAyB,EAAE;YAClF,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,EAAE,eAAe,EAAE;SAC5B,CAAC,CAAC;QACH,IAAI,QAAQ,CAAC,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC5B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC;QACvE,CAAC;IACH,CAAC;IAAC,OAAO,KAAU,EAAE,CAAC;QACpB,mFAAmF;QACnF,IAAA,gBAAQ,EAAC,gDAAgD,EAAE,KAAK,CAAC,CAAC;IACpE,CAAC;IAED,OAAO;QACL,OAAO,EAAE;YACP;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,8GAA8G;aACjJ;SACF;KACF,CAAC;AACJ,CAAC;AAED,uEAAuE;AAEvE,KAAK,UAAU,oBAAoB,CAAC,IAAyB;IAC3D,MAAM,KAAK,GAAG,IAAI,EAAE,KAA4D,CAAC;IACjF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,MAAM,IAAI,KAAK,CAAC,oEAAoE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,OAAO,GAAG,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;QACnF,CAAC;QACD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAC9C,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC;QACxD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC;QAChE,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IAEF,OAAO;QACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;KACpE,CAAC;AACJ,CAAC;AAED,oEAAoE;AAEpE,KAAK,UAAU,iBAAiB,CAAC,KAA0B;IACzD,MAAM,IAAI,GAAG,IAAA,oBAAY,GAAE,CAAC;IAC5B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,MAAM,GAAG,IAAA,8BAAsB,GAAE,CAAC;IACxC,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,iDAAiD,CAAC;IACtH,2FAA2F;IAC3F,8FAA8F;IAC9F,gGAAgG;IAChG,MAAM,SAAS,GAAG,0GAA0G,CAAC;IAE7H,mFAAmF;IACnF,kFAAkF;IAClF,oFAAoF;IACpF,oFAAoF;IACpF,oEAAoE;IACpE,IAAI,QAAQ,GAAQ,IAAI,CAAC;IACzB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,oBAAoB,IAAI,wBAAwB,CAAC,CAAC;QAC/E,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;YACL,OAAO,EAAE,CAAC;oBACR,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACnB,IAAI,EAAE,wKAAwK;wBAC9K,aAAa;wBACb,SAAS;wBACT,eAAe,EAAE,EAAE,GAAG,qBAAqB,EAAE,EAAE,YAAY,EAAE;qBAC9D,EAAE,IAAI,EAAE,CAAC,CAAC;iBACZ,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,QAAQ,CAAC;IAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAE5G,OAAO;QACL,OAAO,EAAE,CAAC;gBACR,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oBACnB,QAAQ,EAAE,QAAQ;oBAClB,IAAI,EAAE,mLAAmL;oBACzL,aAAa;oBACb,SAAS;oBACT,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,cAAc,EAAE;oBAC/C,WAAW,EAAE,SAAS,CAAC,WAAW,CAAC,cAAc,EAAE;oBACnD,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE;oBACzC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;oBAClC,SAAS,EAAE;wBACT,KAAK,EAAE;4BACL,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,WAAW,IAAI,CAAC;4BACvC,cAAc,EAAE,QAAQ,CAAC,cAAc,EAAE,WAAW,IAAI,CAAC;4BACzD,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,WAAW,IAAI,CAAC;4BACrD,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB,EAAE,WAAW,IAAI,CAAC;4BAC/D,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,WAAW,IAAI,CAAC;yBAChD;wBACD,KAAK,EAAE;4BACL,eAAe,EAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,IAAI,CAAC;4BAClE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,IAAI,CAAC;4BACxD,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,SAAS,EAAE,WAAW,IAAI,CAAC;yBACvD;qBACF;oBACD,8EAA8E;oBAC9E,eAAe,EAAE;wBACf,GAAG,qBAAqB,EAAE;wBAC1B,YAAY;wBACZ,IAAI,EAAE,yHAAyH;qBAChI;oBACD,eAAe,EAAE,GAAG,CAAC,KAAK,KAAK,QAAQ,IAAI,GAAG,CAAC,KAAK,GAAG,CAAC;wBACtD,CAAC,CAAC,CAAC,iNAAiN,CAAC;wBACrN,CAAC,CAAC,CAAC,4DAA4D,EAAE,qCAAqC,CAAC;iBAC1G,EAAE,IAAI,EAAE,CAAC,CAAC;aACZ,CAAC;KACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/mcp/tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * One-way secret redaction for Brain persistence (scrub-on-store).
3
+ *
4
+ * The PrivacyFirewall's SemanticScrubber was built for outbound traffic (mask, send,
5
+ * unmask on the way back). Storage has no way back: a secret written into entries.ndjson
6
+ * sits in plaintext under ~/.lemma-cache forever, so the tokenMap is deliberately
7
+ * discarded here — masking for storage is redaction, not reversible masking.
8
+ *
9
+ * Re-scrubbing already-scrubbed text is a no-op: mask() leaves `[NAME_n]` spans alone,
10
+ * so bundles imported from another scrubbed Brain don't accumulate nested tokens.
11
+ */
12
+ export declare function scrubSecretsForStorage(text: string): {
13
+ text: string;
14
+ redactions: number;
15
+ };
16
+ //# sourceMappingURL=scrubForStorage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrubForStorage.d.ts","sourceRoot":"","sources":["../../../src/security/scrubForStorage.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAUzF"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ /**
3
+ * One-way secret redaction for Brain persistence (scrub-on-store).
4
+ *
5
+ * The PrivacyFirewall's SemanticScrubber was built for outbound traffic (mask, send,
6
+ * unmask on the way back). Storage has no way back: a secret written into entries.ndjson
7
+ * sits in plaintext under ~/.lemma-cache forever, so the tokenMap is deliberately
8
+ * discarded here — masking for storage is redaction, not reversible masking.
9
+ *
10
+ * Re-scrubbing already-scrubbed text is a no-op: mask() leaves `[NAME_n]` spans alone,
11
+ * so bundles imported from another scrubbed Brain don't accumulate nested tokens.
12
+ */
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.scrubSecretsForStorage = scrubSecretsForStorage;
15
+ const SemanticScrubber_1 = require("./SemanticScrubber");
16
+ let scrubber = null;
17
+ function getScrubber() {
18
+ if (!scrubber)
19
+ scrubber = new SemanticScrubber_1.SemanticScrubber();
20
+ return scrubber;
21
+ }
22
+ function scrubSecretsForStorage(text) {
23
+ if (!text)
24
+ return { text, redactions: 0 };
25
+ try {
26
+ const { maskedPrompt, tokenMap } = getScrubber().mask(text);
27
+ return { text: maskedPrompt, redactions: Object.keys(tokenMap).length };
28
+ }
29
+ catch {
30
+ // Redaction is hardening, not a gate: a throwing scrubber must never block a memory
31
+ // write. mask() is pure regex over static patterns, so this is purely defensive.
32
+ return { text, redactions: 0 };
33
+ }
34
+ }
35
+ //# sourceMappingURL=scrubForStorage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scrubForStorage.js","sourceRoot":"","sources":["../../../src/security/scrubForStorage.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;AAWH,wDAUC;AAnBD,yDAAsD;AAEtD,IAAI,QAAQ,GAA4B,IAAI,CAAC;AAE7C,SAAS,WAAW;IAClB,IAAI,CAAC,QAAQ;QAAE,QAAQ,GAAG,IAAI,mCAAgB,EAAE,CAAC;IACjD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,SAAgB,sBAAsB,CAAC,IAAY;IACjD,IAAI,CAAC,IAAI;QAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IAC1C,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,oFAAoF;QACpF,iFAAiF;QACjF,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC;IACjC,CAAC;AACH,CAAC"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * At-rest encryption for the Brain corpus (AES-256-GCM).
3
+ *
4
+ * Threat model, honestly stated: the key lives next to the data (`.brain.key`, mode
5
+ * 0600), so this does NOT protect against an attacker with your uid — it protects the
6
+ * corpus at rest against everything else: backups, dotfile sync, disk disposal, a
7
+ * teammate peeking at a shared machine, a stolen laptop with full-disk encryption off.
8
+ * Combined with scrub-on-store (no live secrets ever reach the corpus), the NDJSON on
9
+ * disk holds redacted, encrypted text.
10
+ *
11
+ * Key resolution, in order: LEMMA_BRAIN_KEY env (64-char hex or base64 of 32 bytes, so
12
+ * teams can share one key out-of-band) → `<brainDir>/.brain.key` → generate-and-store
13
+ * (0600) when LEMMA_BRAIN_ENCRYPT=1. No env and no key file means disabled: plaintext,
14
+ * exactly as before, byte for byte.
15
+ *
16
+ * Failure contract: key CONFIGURATION errors (malformed env key, corrupt key file)
17
+ * throw loud — silently storing plaintext while the operator believes otherwise is the
18
+ * one unacceptable outcome. DECRYPTION failures (wrong key, tampered bytes) return null
19
+ * and flow into the corpus integrity fallback (backup → quarantine → fresh start),
20
+ * never an exception, never half a corpus.
21
+ */
22
+ export declare const BRAIN_ENC_MAGIC = "LEMMA-ENC-V1:";
23
+ export declare function brainKeyFile(brainDir: string): string;
24
+ /**
25
+ * Resolve the data key, or null when encryption is off. Throws on malformed key
26
+ * configuration (see module contract). Callers cache the result per process (see
27
+ * TheBrainV2): rotating the key requires a restart, which is the safe direction —
28
+ * a mid-process key change must never split one corpus across two keys.
29
+ */
30
+ export declare function resolveBrainKey(brainDir: string): Buffer | null;
31
+ export declare function encryptionActive(brainDir: string): {
32
+ enabled: boolean;
33
+ keySource: 'env' | 'file' | null;
34
+ };
35
+ export declare function encryptEnvelope(key: Buffer, plain: string): string;
36
+ /** Null on wrong key, tampered bytes, or malformed envelope — never throws. */
37
+ export declare function decryptEnvelope(key: Buffer, stored: string): string | null;
38
+ //# sourceMappingURL=BrainEncryption.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainEncryption.d.ts","sourceRoot":"","sources":["../../../src/subconscious/BrainEncryption.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,eAAO,MAAM,eAAe,kBAAkB,CAAC;AAG/C,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAErD;AAoBD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAyB/D;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,KAAK,GAAG,MAAM,GAAG,IAAI,CAAA;CAAE,CAOzG;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAYlE;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAc1E"}
@@ -0,0 +1,137 @@
1
+ "use strict";
2
+ /**
3
+ * At-rest encryption for the Brain corpus (AES-256-GCM).
4
+ *
5
+ * Threat model, honestly stated: the key lives next to the data (`.brain.key`, mode
6
+ * 0600), so this does NOT protect against an attacker with your uid — it protects the
7
+ * corpus at rest against everything else: backups, dotfile sync, disk disposal, a
8
+ * teammate peeking at a shared machine, a stolen laptop with full-disk encryption off.
9
+ * Combined with scrub-on-store (no live secrets ever reach the corpus), the NDJSON on
10
+ * disk holds redacted, encrypted text.
11
+ *
12
+ * Key resolution, in order: LEMMA_BRAIN_KEY env (64-char hex or base64 of 32 bytes, so
13
+ * teams can share one key out-of-band) → `<brainDir>/.brain.key` → generate-and-store
14
+ * (0600) when LEMMA_BRAIN_ENCRYPT=1. No env and no key file means disabled: plaintext,
15
+ * exactly as before, byte for byte.
16
+ *
17
+ * Failure contract: key CONFIGURATION errors (malformed env key, corrupt key file)
18
+ * throw loud — silently storing plaintext while the operator believes otherwise is the
19
+ * one unacceptable outcome. DECRYPTION failures (wrong key, tampered bytes) return null
20
+ * and flow into the corpus integrity fallback (backup → quarantine → fresh start),
21
+ * never an exception, never half a corpus.
22
+ */
23
+ var __importDefault = (this && this.__importDefault) || function (mod) {
24
+ return (mod && mod.__esModule) ? mod : { "default": mod };
25
+ };
26
+ Object.defineProperty(exports, "__esModule", { value: true });
27
+ exports.BRAIN_ENC_MAGIC = void 0;
28
+ exports.brainKeyFile = brainKeyFile;
29
+ exports.resolveBrainKey = resolveBrainKey;
30
+ exports.encryptionActive = encryptionActive;
31
+ exports.encryptEnvelope = encryptEnvelope;
32
+ exports.decryptEnvelope = decryptEnvelope;
33
+ const crypto_1 = __importDefault(require("crypto"));
34
+ const fs_1 = __importDefault(require("fs"));
35
+ const path_1 = __importDefault(require("path"));
36
+ exports.BRAIN_ENC_MAGIC = 'LEMMA-ENC-V1:';
37
+ const KEY_BYTES = 32;
38
+ function brainKeyFile(brainDir) {
39
+ return path_1.default.join(brainDir, '.brain.key');
40
+ }
41
+ function parseEnvKey(raw) {
42
+ const trimmed = raw.trim();
43
+ let key = null;
44
+ if (/^[0-9a-fA-F]{64}$/.test(trimmed))
45
+ key = Buffer.from(trimmed, 'hex');
46
+ else {
47
+ try {
48
+ const decoded = Buffer.from(trimmed, 'base64');
49
+ if (decoded.length === KEY_BYTES)
50
+ key = decoded;
51
+ }
52
+ catch { /* fall through to the loud error below */ }
53
+ }
54
+ if (!key) {
55
+ throw new Error('LEMMA_BRAIN_KEY must be 64 hex chars or base64 of 32 bytes. Unset it to use the local key file, or fix its format — refusing to guess.');
56
+ }
57
+ return key;
58
+ }
59
+ /**
60
+ * Resolve the data key, or null when encryption is off. Throws on malformed key
61
+ * configuration (see module contract). Callers cache the result per process (see
62
+ * TheBrainV2): rotating the key requires a restart, which is the safe direction —
63
+ * a mid-process key change must never split one corpus across two keys.
64
+ */
65
+ function resolveBrainKey(brainDir) {
66
+ if (process.env.LEMMA_BRAIN_KEY)
67
+ return parseEnvKey(process.env.LEMMA_BRAIN_KEY);
68
+ try {
69
+ const raw = fs_1.default.readFileSync(brainKeyFile(brainDir), 'utf8').trim();
70
+ if (!/^[0-9a-fA-F]{64}$/.test(raw)) {
71
+ throw new Error(`Brain key file ${brainKeyFile(brainDir)} is corrupt (not 64 hex chars). ` +
72
+ `Back it up, delete it, and re-run with LEMMA_BRAIN_ENCRYPT=1 to generate a fresh key — ` +
73
+ `refusing to store anything under a key I cannot read back.`);
74
+ }
75
+ return Buffer.from(raw, 'hex');
76
+ }
77
+ catch (err) {
78
+ if (err && err.code !== 'ENOENT')
79
+ throw err;
80
+ }
81
+ if (process.env.LEMMA_BRAIN_ENCRYPT === '1') {
82
+ const key = crypto_1.default.randomBytes(KEY_BYTES);
83
+ fs_1.default.mkdirSync(brainDir, { recursive: true });
84
+ fs_1.default.writeFileSync(brainKeyFile(brainDir), key.toString('hex'), { mode: 0o600 });
85
+ try {
86
+ fs_1.default.chmodSync(brainKeyFile(brainDir), 0o600);
87
+ }
88
+ catch { /* mode option above already applied on most platforms */ }
89
+ return key;
90
+ }
91
+ return null;
92
+ }
93
+ function encryptionActive(brainDir) {
94
+ if (process.env.LEMMA_BRAIN_KEY)
95
+ return { enabled: true, keySource: 'env' };
96
+ try {
97
+ if (fs_1.default.statSync(brainKeyFile(brainDir)).isFile())
98
+ return { enabled: true, keySource: 'file' };
99
+ }
100
+ catch { /* no key file */ }
101
+ if (process.env.LEMMA_BRAIN_ENCRYPT === '1')
102
+ return { enabled: true, keySource: 'file' };
103
+ return { enabled: false, keySource: null };
104
+ }
105
+ function encryptEnvelope(key, plain) {
106
+ const iv = crypto_1.default.randomBytes(12);
107
+ const cipher = crypto_1.default.createCipheriv('aes-256-gcm', key, iv);
108
+ const data = Buffer.concat([cipher.update(plain, 'utf8'), cipher.final()]);
109
+ const tag = cipher.getAuthTag();
110
+ const envelope = JSON.stringify({
111
+ v: 1,
112
+ iv: iv.toString('base64'),
113
+ tag: tag.toString('base64'),
114
+ data: data.toString('base64'),
115
+ });
116
+ return exports.BRAIN_ENC_MAGIC + Buffer.from(envelope, 'utf8').toString('base64');
117
+ }
118
+ /** Null on wrong key, tampered bytes, or malformed envelope — never throws. */
119
+ function decryptEnvelope(key, stored) {
120
+ try {
121
+ if (!stored.startsWith(exports.BRAIN_ENC_MAGIC))
122
+ return null;
123
+ const envelope = JSON.parse(Buffer.from(stored.slice(exports.BRAIN_ENC_MAGIC.length), 'base64').toString('utf8'));
124
+ if (!envelope || envelope.v !== 1)
125
+ return null;
126
+ const decipher = crypto_1.default.createDecipheriv('aes-256-gcm', key, Buffer.from(envelope.iv, 'base64'));
127
+ decipher.setAuthTag(Buffer.from(envelope.tag, 'base64'));
128
+ return Buffer.concat([
129
+ decipher.update(Buffer.from(envelope.data, 'base64')),
130
+ decipher.final(),
131
+ ]).toString('utf8');
132
+ }
133
+ catch {
134
+ return null;
135
+ }
136
+ }
137
+ //# sourceMappingURL=BrainEncryption.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BrainEncryption.js","sourceRoot":"","sources":["../../../src/subconscious/BrainEncryption.ts"],"names":[],"mappings":"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"}