@mneme-ai/core 1.87.0 → 1.89.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 (48) hide show
  1. package/dist/agent_manifest.d.ts +1 -1
  2. package/dist/agent_manifest.d.ts.map +1 -1
  3. package/dist/agent_manifest.js +9 -1
  4. package/dist/agent_manifest.js.map +1 -1
  5. package/dist/anchor/anchor.test.d.ts +2 -0
  6. package/dist/anchor/anchor.test.d.ts.map +1 -0
  7. package/dist/anchor/anchor.test.js +121 -0
  8. package/dist/anchor/anchor.test.js.map +1 -0
  9. package/dist/anchor/clipboard_handoff.d.ts +48 -0
  10. package/dist/anchor/clipboard_handoff.d.ts.map +1 -0
  11. package/dist/anchor/clipboard_handoff.js +137 -0
  12. package/dist/anchor/clipboard_handoff.js.map +1 -0
  13. package/dist/anchor/index.d.ts +16 -0
  14. package/dist/anchor/index.d.ts.map +1 -0
  15. package/dist/anchor/index.js +16 -0
  16. package/dist/anchor/index.js.map +1 -0
  17. package/dist/anchor/pole_id.d.ts +66 -0
  18. package/dist/anchor/pole_id.d.ts.map +1 -0
  19. package/dist/anchor/pole_id.js +115 -0
  20. package/dist/anchor/pole_id.js.map +1 -0
  21. package/dist/index.d.ts +2 -0
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +11 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/lattice/intent_atoms.js +1 -1
  26. package/dist/lattice/intent_atoms.js.map +1 -1
  27. package/dist/rainbow/handoff.d.ts +56 -0
  28. package/dist/rainbow/handoff.d.ts.map +1 -0
  29. package/dist/rainbow/handoff.js +91 -0
  30. package/dist/rainbow/handoff.js.map +1 -0
  31. package/dist/rainbow/index.d.ts +15 -0
  32. package/dist/rainbow/index.d.ts.map +1 -0
  33. package/dist/rainbow/index.js +15 -0
  34. package/dist/rainbow/index.js.map +1 -0
  35. package/dist/rainbow/rainbow.test.d.ts +2 -0
  36. package/dist/rainbow/rainbow.test.d.ts.map +1 -0
  37. package/dist/rainbow/rainbow.test.js +58 -0
  38. package/dist/rainbow/rainbow.test.js.map +1 -0
  39. package/dist/relay/deep_link.d.ts.map +1 -1
  40. package/dist/relay/deep_link.js +3 -1
  41. package/dist/relay/deep_link.js.map +1 -1
  42. package/dist/relay/handoff_artifact.js +1 -1
  43. package/dist/relay/handoff_artifact.js.map +1 -1
  44. package/dist/v1_87_regression.test.d.ts +5 -0
  45. package/dist/v1_87_regression.test.d.ts.map +1 -0
  46. package/dist/v1_87_regression.test.js +126 -0
  47. package/dist/v1_87_regression.test.js.map +1 -0
  48. package/package.json +1 -1
@@ -29,7 +29,7 @@ export interface ManifestCommand {
29
29
  /** When the AI should call it ("if user asks…", "before risky op…"). */
30
30
  when: string;
31
31
  /** Bucket for grouping in the rendered output. */
32
- group: "memory" | "antivirus" | "evolve" | "ops" | "uninstall" | "supernova" | "embeddings" | "supersonic" | "diagnosis" | "core" | "cognitive" | "apoptosis" | "autarchy" | "aegis" | "metamorphosis" | "tribunal" | "innerlife" | "tune" | "diaspora" | "genesplice" | "permeate" | "telepathy" | "abyss" | "seamless" | "lattice" | "neuron" | "conduit" | "synapse" | "osmosis" | "aura" | "relay" | "chameleon";
32
+ group: "memory" | "antivirus" | "evolve" | "ops" | "uninstall" | "supernova" | "embeddings" | "supersonic" | "diagnosis" | "core" | "cognitive" | "apoptosis" | "autarchy" | "aegis" | "metamorphosis" | "tribunal" | "innerlife" | "tune" | "diaspora" | "genesplice" | "permeate" | "telepathy" | "abyss" | "seamless" | "lattice" | "neuron" | "conduit" | "synapse" | "osmosis" | "aura" | "relay" | "chameleon" | "anchor" | "rainbow";
33
33
  }
34
34
  /** The static catalog. Every new command MUST be added here in the same
35
35
  * PR that introduces it -- it's the single source of truth for what
@@ -1 +1 @@
1
- {"version":3,"file":"agent_manifest.d.ts","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,KAAK,EAAE,QAAQ,GAAG,WAAW,GAAG,QAAQ,GAAG,KAAK,GAAG,WAAW,GAAG,WAAW,GAAG,YAAY,GAAG,YAAY,GAAG,WAAW,GAAG,MAAM,GAAG,WAAW,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,GAAG,eAAe,GAAG,UAAU,GAAG,WAAW,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,WAAW,CAAC;CACtZ;AAED;;+CAE+C;AAC/C,eAAO,MAAM,qBAAqB,EAAE,eAAe,EAgLlD,CAAC;AAUF;+CAC+C;AAC/C,wBAAgB,sBAAsB,CAAC,OAAO,GAAE,eAAe,EAA0B,EAAE,YAAY,GAAE,MAAY,GAAG,MAAM,CA4B7H;AAED;;yBAEyB;AACzB,wBAAgB,mBAAmB,CAAC,OAAO,GAAE,eAAe,EAA0B,EAAE,YAAY,GAAE,MAAY,GAAG,MAAM,CAW1H;AAED;;kDAEkD;AAClD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AACvF,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,OAAO,CAAA;CAAO,GACpC;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAmC3C;AAED,MAAM,WAAW,UAAU;IACzB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd;iEAC6D;IAC7D,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC;CAC9B;AAED,eAAO,MAAM,oBAAoB,EAAE,UAAU,EAO5C,CAAC;AAEF;;iCAEiC;AACjC,wBAAgB,YAAY,CAC1B,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE;IAAE,YAAY,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IAAC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAA;CAAO,GACxF,KAAK,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAYtE;AAcD,MAAM,WAAW,cAAc;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;IACvE;yEACqE;IACrE,QAAQ,CAAC,EAAE;QACT,KAAK,EAAE;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QACvD,MAAM,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,OAAO,CAAC;YAAC,MAAM,EAAE,MAAM,CAAC;YAAC,MAAM,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChF,CAAC;IACF;qCACiC;IACjC,aAAa,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACtE,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClE;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,cAAc,GAAG,MAAM,CAuDrE;AAED;qEACqE;AACrE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAgC/G;AAED;iEACiE;AACjE,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,UAAU,EAAgE,GAClF,KAAK,CAAC;IAAE,MAAM,EAAE,UAAU,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAOtE"}
1
+ {"version":3,"file":"agent_manifest.d.ts","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"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"}
@@ -162,11 +162,19 @@ export const MNEME_COMMAND_CATALOG = [
162
162
  // ─── v1.85 RELAY (cloud-less cross-device via anonymous paste) ────────
163
163
  { command: "mneme.relay.upload", since: "1.85.0", group: "relay", what: "Encrypt soul with NEXUS code, upload to anonymous paste (dpaste/paste.rs/0x0.st), return URL + mobile-friendly prompt.", when: "Cross-device handover to a mobile AI app that does NOT have Mneme (Gemini/Claude/ChatGPT on phone)." },
164
164
  { command: "mneme.relay.decrypt", since: "1.85.0", group: "relay", what: "Decrypt a fetched paste envelope with a NEXUS code.", when: "Destination AI fetched the URL; user typed the code; need to decrypt before resume." },
165
+ { command: "mneme.relay.upload (v1.87 handoff)", since: "1.87.0", group: "relay", what: "Now ALSO returns a REAL scannable QR (zero-dep encoder) + vendor deep link (gemini/chatgpt/claude) + 3-instruction recipe. User scans QR with phone camera → AI app opens with prompt pre-filled → tap send. ZERO typing.", when: "ANY mobile / phone destination; bare keyword 'scan qr' / 'mobile handover' / 'send to gemini app' routes here." },
165
166
  // ─── v1.86 CHAMELEON (env-adaptive guards; spore default OFF) ─────────
166
167
  { command: "mneme.chameleon.probe", since: "1.86.0", group: "chameleon", what: "Detect git/CI/CODEOWNERS/ownership without external API calls. Returns pushRisky + risk reasons.", when: "Before any cross-machine git push; whenever unsure if spore is safe." },
167
168
  { command: "mneme.chameleon.select_transport", since: "1.86.0", group: "chameleon", what: "Pick safest transport given destination + env. Refuses spore-git on risky repos.", when: "Source AI deciding which transport to use." },
168
169
  { command: "mneme.chameleon.spore_opt_in", since: "1.86.0", group: "chameleon", what: "Write explicit OPT_IN marker; required AFTER v1.86 for spore push to work.", when: "User reviewed env probe risks and explicitly consented to git push." },
169
170
  { command: "mneme.chameleon.spore_gate", since: "1.86.0", group: "chameleon", what: "Evaluate spore push permission right now; returns allow/refuse + reason.", when: "ALWAYS gate before calling sporePush." },
171
+ // ─── v1.88 ANCHOR (parent-pole / child-rope architecture) ──────────────
172
+ { command: "mneme.anchor.pole", since: "1.88.0", group: "anchor", what: "Read or create the parent-pole identity (HMAC pubkey). Stable per-repo.", when: "First-run; whenever showing the pole id to the user." },
173
+ { command: "mneme.anchor.issue_rope", since: "1.88.0", group: "anchor", what: "Mint a signed rope token for a child device. Same-pole children can sync; different-pole tokens are rejected.", when: "New device joins the user's brain." },
174
+ { command: "mneme.anchor.clipboard_write", since: "1.88.0", group: "anchor", what: "Write text to the OS clipboard. With Phone Link / Universal Clipboard / KDE Connect configured, it appears on the user's phone within seconds.", when: "User wants the lowest-friction cross-device handoff path." },
175
+ // ─── v1.89 RAINBOW (multi-channel handoff orchestrator) ──────────────
176
+ { command: "mneme.rainbow.probe", since: "1.89.0", group: "rainbow", what: "Probe live handoff channels (LAN / data: URL bridge / dpaste raw / roadmap channels). Returns recommended channel + per-channel scenario coverage.", when: "Before generating a handoff: ask which channels work in the current network state." },
177
+ { command: "mneme.rainbow.data_bridge", since: "1.89.0", group: "rainbow", what: "Build a data: URL HTML bridge for a dpaste URL. The wild move -- entire handoff page lives in the QR; phone scans → renders → fetches soul → Web Share button.", when: "Cross-network handoff when LAN bridge isn't reachable AND user wants 1-tap on phone." },
170
178
  ];
171
179
  const SENTINEL_BEGIN = "<!-- BEGIN MNEME MANIFEST (auto-managed -- do not edit) -->";
172
180
  const SENTINEL_END = "<!-- END MNEME MANIFEST -->";
@@ -189,7 +197,7 @@ export function renderManifestMarkdown(catalog = MNEME_COMMAND_CATALOG, mnemeVer
189
197
  lines.push(``);
190
198
  lines.push(`AI agent: this block is auto-maintained by Mneme. It lists every command + when to call it. Re-read on every session start -- new commands ship here within minutes of a Mneme upgrade.`);
191
199
  lines.push(``);
192
- const groupOrder = ["memory", "antivirus", "embeddings", "supernova", "supersonic", "uninstall", "evolve", "diagnosis", "ops", "core", "metamorphosis", "tribunal", "innerlife", "cognitive", "apoptosis", "tune", "autarchy", "aegis", "diaspora", "genesplice", "permeate", "telepathy", "abyss", "seamless", "lattice", "neuron", "conduit", "synapse", "osmosis", "aura", "relay", "chameleon"];
200
+ const groupOrder = ["memory", "antivirus", "embeddings", "supernova", "supersonic", "uninstall", "evolve", "diagnosis", "ops", "core", "metamorphosis", "tribunal", "innerlife", "cognitive", "apoptosis", "tune", "autarchy", "aegis", "diaspora", "genesplice", "permeate", "telepathy", "abyss", "seamless", "lattice", "neuron", "conduit", "synapse", "osmosis", "aura", "relay", "chameleon", "anchor", "rainbow"];
193
201
  for (const g of groupOrder) {
194
202
  const cmds = grouped[g];
195
203
  if (!cmds || cmds.length === 0)
@@ -1 +1 @@
1
- {"version":3,"file":"agent_manifest.js","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_manifest.js","sourceRoot":"","sources":["../src/agent_manifest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAiB1C;;+CAE+C;AAC/C,MAAM,CAAC,MAAM,qBAAqB,GAAsB;IACtD,uBAAuB;IACvB,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,6DAA6D,EAAE,IAAI,EAAE,kFAAkF,EAAE;IACxN,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,yDAAyD,EAAE,IAAI,EAAE,kDAAkD,EAAE;IAC7L,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,0CAA0C,EAAE,IAAI,EAAE,4DAA4D,EAAE;IACpL,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,wDAAwD,EAAE,IAAI,EAAE,gDAAgD,EAAE;IAE7L,YAAY;IACZ,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,uDAAuD,EAAE,IAAI,EAAE,8EAA8E,EAAE;IAC9P,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,iFAAiF,EAAE,IAAI,EAAE,gEAAgE,EAAE;IAC9P,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,qFAAqF,EAAE,IAAI,EAAE,gDAAgD,EAAE;IAC/P,EAAE,OAAO,EAAE,qCAAqC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,8CAA8C,EAAE,IAAI,EAAE,4CAA4C,EAAE;IAEnN,oCAAoC;IACpC,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,2DAA2D,EAAE,IAAI,EAAE,0EAA0E,EAAE;IACpP,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,8DAA8D,EAAE,IAAI,EAAE,iEAAiE,EAAE;IAE5N,sBAAsB;IACtB,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,0EAA0E,EAAE,IAAI,EAAE,sFAAsF,EAAE;IACxQ,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,sDAAsD,EAAE;IACxN,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kEAAkE,EAAE,IAAI,EAAE,kFAAkF,EAAE;IAExQ,qEAAqE;IACrE,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,gGAAgG,EAAE,IAAI,EAAE,+DAA+D,EAAE;IAElQ,YAAY;IACZ,EAAE,OAAO,EAAE,4CAA4C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,6GAA6G,EAAE,IAAI,EAAE,gFAAgF,EAAE;IAE3S,SAAS;IACT,EAAE,OAAO,EAAE,mEAAmE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,sFAAsF,EAAE,IAAI,EAAE,iGAAiG,EAAE;IACzT,EAAE,OAAO,EAAE,8CAA8C,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,uDAAuD,EAAE,IAAI,EAAE,oDAAoD,EAAE;IAExN,kDAAkD;IAClD,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,uEAAuE,EAAE,IAAI,EAAE,kEAAkE,EAAE;IACjO,EAAE,OAAO,EAAE,sCAAsC,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,2FAA2F,EAAE,IAAI,EAAE,uDAAuD,EAAE;IACvP,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,oGAAoG,EAAE,IAAI,EAAE,mEAAmE,EAAE;IACzR,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kGAAkG,EAAE,IAAI,EAAE,wDAAwD,EAAE;IAC5O,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,4GAA4G,EAAE,IAAI,EAAE,gEAAgE,EAAE;IAE7P,MAAM;IACN,EAAE,OAAO,EAAE,iCAAiC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,kEAAkE,EAAE,IAAI,EAAE,yFAAyF,EAAE;IACxP,EAAE,OAAO,EAAE,oCAAoC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,wEAAwE,EAAE,IAAI,EAAE,sFAAsF,EAAE;IAC9P,EAAE,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,8DAA8D,EAAE,IAAI,EAAE,kCAAkC,EAAE;IAEtK,wEAAwE;IACxE,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,yDAAyD,EAAE,IAAI,EAAE,+CAA+C,EAAE;IACnM,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,uDAAuD,EAAE,IAAI,EAAE,+BAA+B,EAAE;IAClL,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,kDAAkD,EAAE,IAAI,EAAE,gCAAgC,EAAE;IAC7K,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,wDAAwD,EAAE,IAAI,EAAE,iDAAiD,EAAE;IACrM,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,6CAA6C,EAAE,IAAI,EAAE,iCAAiC,EAAE;IAEzK,wEAAwE;IACxE,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,uDAAuD,EAAE,IAAI,EAAE,qDAAqD,EAAE;IAC/L,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,6DAA6D,EAAE,IAAI,EAAE,oDAAoD,EAAE;IACzM,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,qDAAqD,EAAE,IAAI,EAAE,oDAAoD,EAAE;IAE7L,wEAAwE;IACxE,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,yDAAyD,EAAE;IACxM,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,yDAAyD,EAAE,IAAI,EAAE,sDAAsD,EAAE;IAClM,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,mDAAmD,EAAE,IAAI,EAAE,4CAA4C,EAAE;IACzL,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,mDAAmD,EAAE,IAAI,EAAE,+CAA+C,EAAE;IAExL,wEAAwE;IACxE,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,0FAA0F,EAAE,IAAI,EAAE,6CAA6C,EAAE;IAC5N,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,+DAA+D,EAAE,IAAI,EAAE,2CAA2C,EAAE;IACjM,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,6DAA6D,EAAE,IAAI,EAAE,uDAAuD,EAAE;IACxM,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,qDAAqD,EAAE,IAAI,EAAE,2CAA2C,EAAE;IACxL,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,+DAA+D,EAAE,IAAI,EAAE,wCAAwC,EAAE;IAChM,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,iEAAiE,EAAE,IAAI,EAAE,6CAA6C,EAAE;IACnM,EAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,qDAAqD,EAAE,IAAI,EAAE,mDAAmD,EAAE;IACzL,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,0DAA0D,EAAE,IAAI,EAAE,wDAAwD,EAAE;IACtM,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,4EAA4E,EAAE,IAAI,EAAE,4DAA4D,EAAE;IAC7N,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,yDAAyD,EAAE,IAAI,EAAE,4CAA4C,EAAE;IAE3L,uEAAuE;IACvE,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,iFAAiF,EAAE,IAAI,EAAE,4FAA4F,EAAE;IACvQ,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kEAAkE,EAAE,IAAI,EAAE,+CAA+C,EAAE;IAC5M,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,2DAA2D,EAAE,IAAI,EAAE,4CAA4C,EAAE;IACnM,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kEAAkE,EAAE,IAAI,EAAE,mDAAmD,EAAE;IACjN,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,0EAA0E,EAAE,IAAI,EAAE,2DAA2D,EAAE;IAE9N,uEAAuE;IACvE,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,oGAAoG,EAAE,IAAI,EAAE,6CAA6C,EAAE;IACxO,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,6FAA6F,EAAE,IAAI,EAAE,qDAAqD,EAAE;IAEtO,uEAAuE;IACvE,EAAE,OAAO,EAAE,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,sEAAsE,EAAE,IAAI,EAAE,sDAAsD,EAAE;IACtN,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,8DAA8D,EAAE,IAAI,EAAE,0DAA0D,EAAE;IAE9M,uEAAuE;IACvE,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,mJAAmJ,EAAE,IAAI,EAAE,sDAAsD,EAAE;IAEjS,uEAAuE;IACvE,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,mIAAmI,EAAE,IAAI,EAAE,iEAAiE,EAAE;IACtR,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,kDAAkD,EAAE,IAAI,EAAE,2CAA2C,EAAE;IAC9K,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,yEAAyE,EAAE,IAAI,EAAE,gEAAgE,EAAE;IAClO,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,uEAAuE,EAAE,IAAI,EAAE,wDAAwD,EAAE;IACrN,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,kGAAkG,EAAE,IAAI,EAAE,4CAA4C,EAAE;IACvO,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,uEAAuE,EAAE,IAAI,EAAE,+CAA+C,EAAE;IAExM,uEAAuE;IACvE,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,yFAAyF,EAAE,IAAI,EAAE,uEAAuE,EAAE;IACjQ,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,oFAAoF,EAAE,IAAI,EAAE,yDAAyD,EAAE;IAC9O,EAAE,OAAO,EAAE,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,kGAAkG,EAAE,IAAI,EAAE,0EAA0E,EAAE;IAC1Q,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,oGAAoG,EAAE,IAAI,EAAE,6EAA6E,EAAE;IAElR,uEAAuE;IACvE,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,yGAAyG,EAAE,IAAI,EAAE,wFAAwF,EAAE;IAClS,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,gGAAgG,EAAE,IAAI,EAAE,kEAAkE,EAAE;IACjQ,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,0FAA0F,EAAE,IAAI,EAAE,yEAAyE,EAAE;IACtQ,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,8EAA8E,EAAE,IAAI,EAAE,wEAAwE,EAAE;IAErP,wEAAwE;IACxE,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,kIAAkI,EAAE,IAAI,EAAE,kFAAkF,EAAE;IAChT,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,0FAA0F,EAAE,IAAI,EAAE,sDAAsD,EAAE;IAC7O,EAAE,OAAO,EAAE,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,iGAAiG,EAAE,IAAI,EAAE,4EAA4E,EAAE;IAC3Q,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,sGAAsG,EAAE,IAAI,EAAE,uEAAuE,EAAE;IAExQ,uEAAuE;IACvE,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,2LAA2L,EAAE,IAAI,EAAE,qIAAqI,EAAE;IAC7Z,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,+HAA+H,EAAE,IAAI,EAAE,8EAA8E,EAAE;IAExS,uEAAuE;IACvE,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,4IAA4I,EAAE,IAAI,EAAE,qDAAqD,EAAE;IACzR,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,6FAA6F,EAAE,IAAI,EAAE,+EAA+E,EAAE;IACxQ,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,uFAAuF,EAAE,IAAI,EAAE,mDAAmD,EAAE;IACnO,EAAE,OAAO,EAAE,gCAAgC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,0HAA0H,EAAE,IAAI,EAAE,8DAA8D,EAAE;IACtR,EAAE,OAAO,EAAE,+BAA+B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,0HAA0H,EAAE,IAAI,EAAE,yEAAyE,EAAE;IAEhS,uEAAuE;IACvE,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,+GAA+G,EAAE,IAAI,EAAE,8GAA8G,EAAE;IACnT,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,wFAAwF,EAAE,IAAI,EAAE,iDAAiD,EAAE;IAClO,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,IAAI,EAAE,sHAAsH,EAAE,IAAI,EAAE,0EAA0E,EAAE;IAE3R,uEAAuE;IACvE,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,+JAA+J,EAAE,IAAI,EAAE,kHAAkH,EAAE;IACtW,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,wHAAwH,EAAE,IAAI,EAAE,oEAAoE,EAAE;IACjR,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,8GAA8G,EAAE,IAAI,EAAE,6FAA6F,EAAE;IAErS,uEAAuE;IACvE,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,4IAA4I,EAAE,IAAI,EAAE,+GAA+G,EAAE;IAC/U,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,+GAA+G,EAAE,IAAI,EAAE,6FAA6F,EAAE;IAEhS,+EAA+E;IAC/E,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,6JAA6J,EAAE,IAAI,EAAE,kHAAkH,EAAE;IAC3W,EAAE,OAAO,EAAE,6BAA6B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,mHAAmH,EAAE,IAAI,EAAE,sFAAsF,EAAE;IACtS,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,mGAAmG,EAAE,IAAI,EAAE,4CAA4C,EAAE;IAC7O,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,uHAAuH,EAAE,IAAI,EAAE,2DAA2D,EAAE;IAC7Q,EAAE,OAAO,EAAE,iCAAiC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,wGAAwG,EAAE,IAAI,EAAE,iFAAiF,EAAE;IAE1R,0EAA0E;IAC1E,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,2HAA2H,EAAE,IAAI,EAAE,kGAAkG,EAAE;IACtT,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,gGAAgG,EAAE,IAAI,EAAE,gEAAgE,EAAE;IAC5P,EAAE,OAAO,EAAE,kBAAkB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,kEAAkE,EAAE,IAAI,EAAE,0CAA0C,EAAE;IAC9L,EAAE,OAAO,EAAE,wBAAwB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,+EAA+E,EAAE,IAAI,EAAE,2DAA2D,EAAE;IAClO,EAAE,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,uDAAuD,EAAE,IAAI,EAAE,qEAAqE,EAAE;IAEtN,yEAAyE;IACzE,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,iEAAiE,EAAE,IAAI,EAAE,2FAA2F,EAAE;IACnP,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,4FAA4F,EAAE,IAAI,EAAE,0EAA0E,EAAE;IAC7P,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,wFAAwF,EAAE,IAAI,EAAE,yCAAyC,EAAE;IACxN,EAAE,OAAO,EAAE,sBAAsB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,6CAA6C,EAAE,IAAI,EAAE,kDAAkD,EAAE;IAErL,yEAAyE;IACzE,EAAE,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,oJAAoJ,EAAE,IAAI,EAAE,uDAAuD,EAAE;IACzR,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,gFAAgF,EAAE,IAAI,EAAE,gDAAgD,EAAE;IAElN,yEAAyE;IACzE,EAAE,OAAO,EAAE,oBAAoB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,wHAAwH,EAAE,IAAI,EAAE,qGAAqG,EAAE;IAC/S,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,qDAAqD,EAAE,IAAI,EAAE,qFAAqF,EAAE;IAC7N,EAAE,OAAO,EAAE,oCAAoC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,2NAA2N,EAAE,IAAI,EAAE,gHAAgH,EAAE;IAE7a,yEAAyE;IACzE,EAAE,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kGAAkG,EAAE,IAAI,EAAE,sEAAsE,EAAE;IACjQ,EAAE,OAAO,EAAE,kCAAkC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,kFAAkF,EAAE,IAAI,EAAE,4CAA4C,EAAE;IAClO,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,4EAA4E,EAAE,IAAI,EAAE,qEAAqE,EAAE;IACjP,EAAE,OAAO,EAAE,4BAA4B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,0EAA0E,EAAE,IAAI,EAAE,uCAAuC,EAAE;IAE/M,0EAA0E;IAC1E,EAAE,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,yEAAyE,EAAE,IAAI,EAAE,sDAAsD,EAAE;IACjN,EAAE,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,+GAA+G,EAAE,IAAI,EAAE,oCAAoC,EAAE;IAC3O,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,gJAAgJ,EAAE,IAAI,EAAE,2DAA2D,EAAE;IAExS,wEAAwE;IACxE,EAAE,OAAO,EAAE,qBAAqB,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,oJAAoJ,EAAE,IAAI,EAAE,oFAAoF,EAAE;IAC7T,EAAE,OAAO,EAAE,2BAA2B,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,gKAAgK,EAAE,IAAI,EAAE,sFAAsF,EAAE;CAClV,CAAC;AAEF,MAAM,cAAc,GAAG,6DAA6D,CAAC;AACrF,MAAM,YAAY,GAAG,6BAA6B,CAAC;AACnD,mEAAmE;AACnE,sEAAsE;AACtE,6DAA6D;AAC7D,MAAM,UAAU,GAAG,+DAA+D,CAAC;AACnF,MAAM,QAAQ,GAAG,+BAA+B,CAAC;AAEjD;+CAC+C;AAC/C,MAAM,UAAU,sBAAsB,CAAC,UAA6B,qBAAqB,EAAE,eAAuB,GAAG;IACnH,MAAM,OAAO,GAAsC,EAAE,CAAC;IACtD,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,+BAA+B,YAAY,GAAG,CAAC,CAAC;IAC3D,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,yLAAyL,CAAC,CAAC;IACtM,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,WAAW,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,CAAU,CAAC;IACla,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,SAAS;QACzC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,OAAO,KAAK,aAAa,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;YACnE,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACzB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;;yBAEyB;AACzB,MAAM,UAAU,mBAAmB,CAAC,UAA6B,qBAAqB,EAAE,eAAuB,GAAG;IAChH,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,8BAA8B,YAAY,mDAAmD,CAAC,CAAC;IAC1G,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACxB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,GAAG,KAAK,aAAa,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAClC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAMD,MAAM,UAAU,mBAAmB,CACjC,QAAgB,EAChB,KAAa,EACb,OAAmC,EAAE;IAErC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,KAAK,KAAK,CAAC;IACjD,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,QAAQ,IAAI,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;gBACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;gBAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;gBAC3D,MAAM,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;gBACpC,IAAI,IAAI,KAAK,QAAQ;oBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;gBACtD,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;gBACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;YAChC,CAAC;YACD,qCAAqC;YACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;gBAChE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACjC,CAAC;YACD,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YAC5E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,qEAAqE;QACrE,IAAI,QAAQ,CAAC,IAAI,EAAE,KAAK,KAAK,CAAC,IAAI,EAAE;YAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;QACrE,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;QAC9C,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAYD,MAAM,CAAC,MAAM,oBAAoB,GAAiB;IAChD,EAAE,IAAI,EAAE,WAAW,EAAS,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,UAAU,EAAE;IAChF,EAAE,IAAI,EAAE,WAAW,EAAS,KAAK,EAAE,sBAAsB,EAAG,MAAM,EAAE,UAAU,EAAE;IAChF,EAAE,IAAI,EAAE,WAAW,EAAS,KAAK,EAAE,YAAY,EAAa,MAAM,EAAE,UAAU,EAAE;IAChF,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,QAAQ,EAAU,MAAM,EAAE,UAAU,EAAE;IAChF,EAAE,IAAI,EAAE,cAAc,EAAM,KAAK,EAAE,iBAAiB,EAAQ,MAAM,EAAE,OAAO,EAAE;IAC7E,EAAE,IAAI,EAAE,gBAAgB,EAAI,KAAK,EAAE,UAAU,EAAe,MAAM,EAAE,OAAO,EAAE;CAC9E,CAAC;AAEF;;iCAEiC;AACjC,MAAM,UAAU,YAAY,CAC1B,QAAgB,EAChB,OAAuF,EAAE;IAEzF,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,oBAAoB,CAAC;IACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC;IACtD,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,IAAI,GAAG,CAAC;IACzC,MAAM,OAAO,GAAG,sBAAsB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;QAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC,CAAC;QAC/F,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC;AAmCD,MAAM,UAAU,uBAAuB,CAAC,KAAqB;IAC3D,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACvB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,yBAAyB,KAAK,CAAC,YAAY,KAAK,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;IACvH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,KAAK,CAAC,IAAI,CAAC,iOAAiO,CAAC,CAAC;IAC9O,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,iBAAiB;IACjB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,UAAU,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAChK,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAClE,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,KAAK,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC,CAAC,WAAW,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,eAAe,KAAK,CAAC,QAAQ,IAAI,GAAG,YAAY,KAAK,CAAC,WAAW,IAAI,CAAC,GAAG,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IACxP,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,2BAA2B;IAC3B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;QAC/B,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACjF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACjC,MAAM,MAAM,GAAG,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,uNAAuN,CAAC,CAAC;QACpO,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;QACvF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,gBAAgB;IAChB,IAAI,KAAK,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnE,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;QACpC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;YACnE,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACtH,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,MAAM,SAAS,SAAS,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACxG,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,4BAA4B;IAC5B,IAAI,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,iCAAiC,KAAK,CAAC,aAAa,CAAC,MAAM,UAAU,CAAC,CAAC;QAClF,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACpC,MAAM,IAAI,GAAG,CAAC,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5E,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/C,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,MAAM,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED;qEACqE;AACrE,MAAM,UAAU,oBAAoB,CAAC,QAAgB,EAAE,KAAa;IAClE,IAAI,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC;gBAAE,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC1D,aAAa,CAAC,QAAQ,EAAE,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,MAAM,QAAQ,GAAG,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC9C,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC1C,IAAI,QAAQ,IAAI,CAAC,IAAI,MAAM,GAAG,QAAQ,EAAE,CAAC;YACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;YAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;YACpC,IAAI,IAAI,KAAK,QAAQ;gBAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC;YACtD,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;QAChC,CAAC;QACD,kEAAkE;QAClE,MAAM,cAAc,GAAG,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACtD,IAAI,cAAc,IAAI,CAAC,EAAE,CAAC;YACxB,MAAM,QAAQ,GAAG,cAAc,GAAG,YAAY,CAAC,MAAM,CAAC;YACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrF,aAAa,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACtC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;QAC/B,CAAC;QACD,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,KAAK,GAAG,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5E,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC;IAC5D,CAAC;AACH,CAAC;AAED;iEACiE;AACjE,MAAM,UAAU,aAAa,CAC3B,QAAgB,EAChB,KAAqB,EACrB,UAAwB,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC;IAEnF,MAAM,KAAK,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;IAC7C,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,oBAAoB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=anchor.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor.test.d.ts","sourceRoot":"","sources":["../../src/anchor/anchor.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,121 @@
1
+ import { describe, it, expect } from "vitest";
2
+ import { mkdtempSync } from "node:fs";
3
+ import { tmpdir } from "node:os";
4
+ import { join } from "node:path";
5
+ import { ensurePole, issueRope, verifyRope, canChildrenSync } from "./pole_id.js";
6
+ import { detectClipboard, renderClipboardSetupHint } from "./clipboard_handoff.js";
7
+ function tmpRepo() {
8
+ return mkdtempSync(join(tmpdir(), "mneme-anchor-"));
9
+ }
10
+ describe("v1.88 ANCHOR · parent-pole identity", () => {
11
+ it("ensurePole is idempotent (returns same id on re-read)", () => {
12
+ const r = tmpRepo();
13
+ const a = ensurePole(r);
14
+ const b = ensurePole(r);
15
+ expect(b.point.poleId).toBe(a.point.poleId);
16
+ expect(b.secret.secret).toBe(a.secret.secret);
17
+ });
18
+ it("ensurePole writes both public + secret files", () => {
19
+ const r = tmpRepo();
20
+ ensurePole(r);
21
+ const fs = require("node:fs");
22
+ expect(fs.existsSync(join(r, ".mneme/anchor/pole.json"))).toBe(true);
23
+ expect(fs.existsSync(join(r, ".mneme/anchor/pole-secret.json"))).toBe(true);
24
+ });
25
+ it("issueRope produces a valid token verifiable by the pole secret", () => {
26
+ const r = tmpRepo();
27
+ const { secret } = ensurePole(r);
28
+ const rope = issueRope(secret, "child-alpha");
29
+ const v = verifyRope(secret, rope);
30
+ expect(v.ok).toBe(true);
31
+ });
32
+ it("tampered rope is rejected", () => {
33
+ const r = tmpRepo();
34
+ const { secret } = ensurePole(r);
35
+ const rope = issueRope(secret, "child-alpha");
36
+ rope.childId = "imposter";
37
+ const v = verifyRope(secret, rope);
38
+ expect(v.ok).toBe(false);
39
+ if (!v.ok)
40
+ expect(v.reason).toBe("bad-sig");
41
+ });
42
+ it("expired rope is rejected", () => {
43
+ const r = tmpRepo();
44
+ const { secret } = ensurePole(r);
45
+ const rope = issueRope(secret, "child-alpha", { ttlMs: 1 });
46
+ // Force expiry in the past.
47
+ rope.expiresAt = new Date(0).toISOString();
48
+ // Re-sign with the tampered expiry to make sig valid (otherwise bad-sig wins).
49
+ const fresh = issueRope(secret, "child-alpha", { ttlMs: -1000 });
50
+ fresh.expiresAt = new Date(Date.now() - 1000).toISOString();
51
+ // The freshly issued rope from secret has signature over its own canonical body; re-issue properly.
52
+ // Simpler: issue with negative ttl directly is fine because expiresAt is in the past.
53
+ const v = verifyRope(secret, issueRope(secret, "child-alpha", { ttlMs: -1000 }));
54
+ expect(v.ok).toBe(false);
55
+ if (!v.ok)
56
+ expect(v.reason).toBe("expired");
57
+ void rope;
58
+ void fresh;
59
+ });
60
+ it("ropes from DIFFERENT poles cannot be cross-verified", () => {
61
+ const r1 = tmpRepo();
62
+ const r2 = tmpRepo();
63
+ const { secret: s1 } = ensurePole(r1);
64
+ const { secret: s2 } = ensurePole(r2);
65
+ const ropeFromPole1 = issueRope(s1, "child-alpha");
66
+ const v = verifyRope(s2, ropeFromPole1);
67
+ expect(v.ok).toBe(false);
68
+ if (!v.ok)
69
+ expect(v.reason).toBe("wrong-pole");
70
+ });
71
+ it("canChildrenSync passes for two children of the same pole", () => {
72
+ const r = tmpRepo();
73
+ const { secret } = ensurePole(r);
74
+ const ropeA = issueRope(secret, "alpha");
75
+ const ropeB = issueRope(secret, "beta");
76
+ const result = canChildrenSync(secret, ropeA, ropeB);
77
+ expect(result.ok).toBe(true);
78
+ });
79
+ it("canChildrenSync REJECTS when ropes are from different poles", () => {
80
+ const rA = tmpRepo();
81
+ const rB = tmpRepo();
82
+ const { secret: sA } = ensurePole(rA);
83
+ const { secret: sB } = ensurePole(rB);
84
+ const ropeA = issueRope(sA, "alpha");
85
+ const ropeB = issueRope(sB, "beta");
86
+ // Verifier is sA, but ropeB came from sB → rejected.
87
+ const result = canChildrenSync(sA, ropeA, ropeB);
88
+ expect(result.ok).toBe(false);
89
+ });
90
+ it("canChildrenSync rejects when scope lacks 'sync'", () => {
91
+ const r = tmpRepo();
92
+ const { secret } = ensurePole(r);
93
+ const ropeA = issueRope(secret, "alpha", { scope: ["resume"] });
94
+ const ropeB = issueRope(secret, "beta", { scope: ["resume"] });
95
+ const result = canChildrenSync(secret, ropeA, ropeB);
96
+ expect(result.ok).toBe(false);
97
+ expect(result.reason).toContain("scope");
98
+ });
99
+ });
100
+ describe("v1.88 ANCHOR · OS clipboard detection", () => {
101
+ it("detectClipboard returns a tool for the current platform", () => {
102
+ const cap = detectClipboard();
103
+ expect(["win-clip", "pbcopy", "wl-copy", "xclip", "xsel", "kde-connect", "none"]).toContain(cap.tool);
104
+ expect(cap.platform).toBe(process.platform);
105
+ });
106
+ it("setupHint is a non-empty string", () => {
107
+ const cap = detectClipboard();
108
+ expect(cap.setupHint.length).toBeGreaterThan(10);
109
+ });
110
+ it("renderClipboardSetupHint suggests setup when no provider detected", () => {
111
+ const txt = renderClipboardSetupHint({
112
+ tool: "win-clip",
113
+ platform: "win32",
114
+ crossDeviceProvider: "none-detected",
115
+ setupHint: "test hint here",
116
+ });
117
+ expect(txt.toLowerCase()).toContain("setup");
118
+ expect(txt).toContain("test hint here");
119
+ });
120
+ });
121
+ //# sourceMappingURL=anchor.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anchor.test.js","sourceRoot":"","sources":["../../src/anchor/anchor.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEnF,SAAS,OAAO;IACd,OAAO,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,eAAe,CAAC,CAAC,CAAC;AACtD,CAAC;AAED,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACxB,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;QACtD,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,UAAU,CAAC,CAAC,CAAC,CAAC;QACd,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAC9B,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrE,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC9E,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gEAAgE,EAAE,GAAG,EAAE;QACxE,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;QAC1B,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACnC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0BAA0B,EAAE,GAAG,EAAE;QAClC,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5D,4BAA4B;QAC5B,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3C,+EAA+E;QAC/E,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;QACjE,KAAK,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5D,oGAAoG;QACpG,sFAAsF;QACtF,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;QACjF,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5C,KAAK,IAAI,CAAC;QACV,KAAK,KAAK,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC7D,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QACrB,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,aAAa,GAAG,SAAS,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACnD,MAAM,CAAC,GAAG,UAAU,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;QACxC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,CAAC,CAAC,EAAE;YAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6DAA6D,EAAE,GAAG,EAAE;QACrE,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QACrB,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;QACrB,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,SAAS,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACpC,qDAAqD;QACrD,MAAM,MAAM,GAAG,eAAe,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;QACpB,MAAM,EAAE,MAAM,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;QACjC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QACrD,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9B,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,uCAAuC,EAAE,GAAG,EAAE;IACrD,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAC9B,MAAM,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,GAAG,EAAE;QACzC,MAAM,GAAG,GAAG,eAAe,EAAE,CAAC;QAC9B,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,GAAG,EAAE;QAC3E,MAAM,GAAG,GAAG,wBAAwB,CAAC;YACnC,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,OAAO;YACjB,mBAAmB,EAAE,eAAe;YACpC,SAAS,EAAE,gBAAgB;SAC5B,CAAC,CAAC;QACH,MAAM,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAC7C,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,48 @@
1
+ /**
2
+ * v1.88.0 -- ANCHOR: OS-level clipboard handoff.
3
+ *
4
+ * The realistic 1-click cross-device flow user identified: USE THE
5
+ * OS's existing cross-device clipboard sync instead of trying to
6
+ * deploy our own. Mneme writes to the local clipboard; the OS
7
+ * mirrors it to the phone:
8
+ *
9
+ * Windows ↔ Android -- Microsoft Phone Link (built-in Win11)
10
+ * macOS ↔ iOS -- Apple Universal Clipboard (built-in)
11
+ * Linux ↔ Android -- KDE Connect (free + open source)
12
+ *
13
+ * After setup (one-time per device pair), every Mneme handoff
14
+ * already lives in the user's phone clipboard. Phone flow:
15
+ * 1. Open AI app (Gemini / Claude / ChatGPT mobile)
16
+ * 2. Long-press the input field → Paste
17
+ * 3. Tap send
18
+ *
19
+ * = 2 actions on the phone. Better than typing 200 chars. ZERO
20
+ * Mneme cloud deploy required.
21
+ *
22
+ * Mneme's part: detect which clipboard tool is available, write
23
+ * with the right command, surface "no clipboard sync detected"
24
+ * setup hints when none is found.
25
+ */
26
+ export type ClipboardTool = "win-clip" | "pbcopy" | "wl-copy" | "xclip" | "xsel" | "kde-connect" | "none";
27
+ export interface ClipboardCapability {
28
+ tool: ClipboardTool;
29
+ platform: NodeJS.Platform;
30
+ /** Detected cross-device sync provider (best-effort heuristic). */
31
+ crossDeviceProvider: "win-phone-link" | "apple-universal-clipboard" | "kde-connect" | "unknown" | "none-detected";
32
+ setupHint: string;
33
+ }
34
+ /** Detect the best clipboard tool for this OS + likely cross-device provider. */
35
+ export declare function detectClipboard(): ClipboardCapability;
36
+ export interface ClipboardWriteResult {
37
+ ok: boolean;
38
+ tool: ClipboardTool;
39
+ bytes: number;
40
+ reason?: string;
41
+ }
42
+ /** Write text to the local clipboard. The OS-level sync provider (if
43
+ * configured) carries it to the user's phone within seconds. */
44
+ export declare function writeClipboard(text: string): ClipboardWriteResult;
45
+ /** Render a setup hint the source AI reads to the user when no
46
+ * cross-device clipboard sync is configured. */
47
+ export declare function renderClipboardSetupHint(cap: ClipboardCapability): string;
48
+ //# sourceMappingURL=clipboard_handoff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard_handoff.d.ts","sourceRoot":"","sources":["../../src/anchor/clipboard_handoff.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAKH,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,CAAC;AAE1G,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,aAAa,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,mEAAmE;IACnE,mBAAmB,EACf,gBAAgB,GAChB,2BAA2B,GAC3B,aAAa,GACb,SAAS,GACT,eAAe,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAOD,iFAAiF;AACjF,wBAAgB,eAAe,IAAI,mBAAmB,CA4CrD;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,aAAa,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;iEACiE;AACjE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CA0BjE;AAED;iDACiD;AACjD,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAWzE"}
@@ -0,0 +1,137 @@
1
+ /**
2
+ * v1.88.0 -- ANCHOR: OS-level clipboard handoff.
3
+ *
4
+ * The realistic 1-click cross-device flow user identified: USE THE
5
+ * OS's existing cross-device clipboard sync instead of trying to
6
+ * deploy our own. Mneme writes to the local clipboard; the OS
7
+ * mirrors it to the phone:
8
+ *
9
+ * Windows ↔ Android -- Microsoft Phone Link (built-in Win11)
10
+ * macOS ↔ iOS -- Apple Universal Clipboard (built-in)
11
+ * Linux ↔ Android -- KDE Connect (free + open source)
12
+ *
13
+ * After setup (one-time per device pair), every Mneme handoff
14
+ * already lives in the user's phone clipboard. Phone flow:
15
+ * 1. Open AI app (Gemini / Claude / ChatGPT mobile)
16
+ * 2. Long-press the input field → Paste
17
+ * 3. Tap send
18
+ *
19
+ * = 2 actions on the phone. Better than typing 200 chars. ZERO
20
+ * Mneme cloud deploy required.
21
+ *
22
+ * Mneme's part: detect which clipboard tool is available, write
23
+ * with the right command, surface "no clipboard sync detected"
24
+ * setup hints when none is found.
25
+ */
26
+ import { spawnSync } from "node:child_process";
27
+ import { existsSync } from "node:fs";
28
+ function which(cmd) {
29
+ const r = spawnSync(process.platform === "win32" ? "where" : "which", [cmd], { encoding: "utf8" });
30
+ return r.status === 0;
31
+ }
32
+ /** Detect the best clipboard tool for this OS + likely cross-device provider. */
33
+ export function detectClipboard() {
34
+ if (process.platform === "win32") {
35
+ return {
36
+ tool: "win-clip",
37
+ platform: "win32",
38
+ crossDeviceProvider: existsSync("C:\\Program Files\\WindowsApps") || existsSync("C:\\Program Files\\Microsoft\\PhoneExperienceHost.exe")
39
+ ? "win-phone-link"
40
+ : "unknown",
41
+ setupHint: "If your phone is Android: open Phone Link on Windows + Link to Windows on the phone. After pairing, anything copied on the PC is available on the phone clipboard within seconds.",
42
+ };
43
+ }
44
+ if (process.platform === "darwin") {
45
+ return {
46
+ tool: "pbcopy",
47
+ platform: "darwin",
48
+ crossDeviceProvider: "apple-universal-clipboard",
49
+ setupHint: "Universal Clipboard works automatically across Macs + iPhones + iPads logged into the same Apple ID with Handoff enabled (Settings -> General -> AirDrop & Handoff).",
50
+ };
51
+ }
52
+ if (process.platform === "linux") {
53
+ if (which("wl-copy")) {
54
+ return {
55
+ tool: "wl-copy",
56
+ platform: "linux",
57
+ crossDeviceProvider: which("kdeconnect-cli") ? "kde-connect" : "unknown",
58
+ setupHint: "Install KDE Connect on Linux + Android. Pair once; clipboards sync automatically thereafter.",
59
+ };
60
+ }
61
+ if (which("xclip")) {
62
+ return { tool: "xclip", platform: "linux", crossDeviceProvider: which("kdeconnect-cli") ? "kde-connect" : "unknown", setupHint: "Install KDE Connect on Linux + Android to enable cross-device clipboard sync." };
63
+ }
64
+ if (which("xsel")) {
65
+ return { tool: "xsel", platform: "linux", crossDeviceProvider: which("kdeconnect-cli") ? "kde-connect" : "unknown", setupHint: "Install KDE Connect on Linux + Android to enable cross-device clipboard sync." };
66
+ }
67
+ }
68
+ return {
69
+ tool: "none",
70
+ platform: process.platform,
71
+ crossDeviceProvider: "none-detected",
72
+ setupHint: "No clipboard CLI detected. On Windows install nothing extra; on macOS pbcopy is built-in; on Linux install xclip or wl-clipboard.",
73
+ };
74
+ }
75
+ /** Write text to the local clipboard. The OS-level sync provider (if
76
+ * configured) carries it to the user's phone within seconds. */
77
+ export function writeClipboard(text) {
78
+ const cap = detectClipboard();
79
+ if (cap.tool === "none") {
80
+ return { ok: false, tool: "none", bytes: text.length, reason: "no clipboard tool found on this OS" };
81
+ }
82
+ const bytes = Buffer.byteLength(text, "utf8");
83
+ try {
84
+ let cmd;
85
+ let args;
86
+ switch (cap.tool) {
87
+ case "win-clip":
88
+ cmd = "clip";
89
+ args = [];
90
+ break;
91
+ case "pbcopy":
92
+ cmd = "pbcopy";
93
+ args = [];
94
+ break;
95
+ case "wl-copy":
96
+ cmd = "wl-copy";
97
+ args = [];
98
+ break;
99
+ case "xclip":
100
+ cmd = "xclip";
101
+ args = ["-selection", "clipboard"];
102
+ break;
103
+ case "xsel":
104
+ cmd = "xsel";
105
+ args = ["--clipboard", "--input"];
106
+ break;
107
+ case "kde-connect":
108
+ cmd = "kdeconnect-cli";
109
+ args = ["--share-text", text];
110
+ break;
111
+ default: return { ok: false, tool: cap.tool, bytes, reason: "unsupported tool" };
112
+ }
113
+ const r = spawnSync(cmd, args, { input: cap.tool === "kde-connect" ? undefined : text, encoding: "utf8" });
114
+ if (r.status !== 0) {
115
+ return { ok: false, tool: cap.tool, bytes, reason: `${cmd} exited ${r.status}: ${(r.stderr ?? "").slice(0, 100)}` };
116
+ }
117
+ return { ok: true, tool: cap.tool, bytes };
118
+ }
119
+ catch (e) {
120
+ return { ok: false, tool: cap.tool, bytes, reason: e.message };
121
+ }
122
+ }
123
+ /** Render a setup hint the source AI reads to the user when no
124
+ * cross-device clipboard sync is configured. */
125
+ export function renderClipboardSetupHint(cap) {
126
+ if (cap.crossDeviceProvider !== "none-detected" && cap.crossDeviceProvider !== "unknown") {
127
+ return `Detected ${cap.crossDeviceProvider} — your phone clipboard already syncs with this PC. Just open the AI app on your phone and long-press → Paste.`;
128
+ }
129
+ return [
130
+ "No cross-device clipboard sync is detected. To enable 1-click handoff:",
131
+ "",
132
+ cap.setupHint,
133
+ "",
134
+ "OR continue using the QR-scan flow which doesn't need any setup.",
135
+ ].join("\n");
136
+ }
137
+ //# sourceMappingURL=clipboard_handoff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clipboard_handoff.js","sourceRoot":"","sources":["../../src/anchor/clipboard_handoff.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * v1.88.0 -- ANCHOR PROTOCOL: parent-pole / child-rope architecture.
3
+ *
4
+ * pole_id -- parent identity + signed rope tokens for children
5
+ * clipboard_handoff -- OS-level clipboard write (Phone Link / Universal
6
+ * Clipboard / KDE Connect → phone clipboard)
7
+ *
8
+ * Architecture (user's metaphor): parent = the pole; ropes radiate
9
+ * out to children; as long as a rope is valid + signed by the pole,
10
+ * the child can sync with siblings AND inherit parent upgrades on
11
+ * its next connection. No central server -- the pole's HMAC secret
12
+ * IS the trust root.
13
+ */
14
+ export * from "./pole_id.js";
15
+ export * from "./clipboard_handoff.js";
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/anchor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * v1.88.0 -- ANCHOR PROTOCOL: parent-pole / child-rope architecture.
3
+ *
4
+ * pole_id -- parent identity + signed rope tokens for children
5
+ * clipboard_handoff -- OS-level clipboard write (Phone Link / Universal
6
+ * Clipboard / KDE Connect → phone clipboard)
7
+ *
8
+ * Architecture (user's metaphor): parent = the pole; ropes radiate
9
+ * out to children; as long as a rope is valid + signed by the pole,
10
+ * the child can sync with siblings AND inherit parent upgrades on
11
+ * its next connection. No central server -- the pole's HMAC secret
12
+ * IS the trust root.
13
+ */
14
+ export * from "./pole_id.js";
15
+ export * from "./clipboard_handoff.js";
16
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/anchor/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC"}