@fairfox/polly 0.24.0 → 0.25.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 (94) hide show
  1. package/dist/cli/polly.js +21 -1
  2. package/dist/cli/polly.js.map +3 -3
  3. package/dist/src/actions/error.d.ts +26 -0
  4. package/dist/src/actions/event-delegation.d.ts +48 -0
  5. package/dist/src/actions/form.d.ts +72 -0
  6. package/dist/src/actions/index.d.ts +13 -0
  7. package/dist/src/actions/index.js +525 -0
  8. package/dist/src/actions/index.js.map +15 -0
  9. package/dist/src/actions/overlay.d.ts +26 -0
  10. package/dist/src/actions/registry.d.ts +25 -0
  11. package/dist/src/actions/store.d.ts +26 -0
  12. package/dist/src/actions/testing.d.ts +26 -0
  13. package/dist/src/background/index.js +26 -1
  14. package/dist/src/background/index.js.map +2 -2
  15. package/dist/src/background/message-router.js +26 -1
  16. package/dist/src/background/message-router.js.map +2 -2
  17. package/dist/src/client/index.js +27 -2
  18. package/dist/src/client/index.js.map +3 -3
  19. package/dist/src/elysia/index.js +26 -1
  20. package/dist/src/elysia/index.js.map +2 -2
  21. package/dist/src/index.js +26 -1
  22. package/dist/src/index.js.map +2 -2
  23. package/dist/src/mesh-node.js +26 -1
  24. package/dist/src/mesh-node.js.map +2 -2
  25. package/dist/src/mesh.js +26 -1
  26. package/dist/src/mesh.js.map +2 -2
  27. package/dist/src/peer.js +26 -1
  28. package/dist/src/peer.js.map +2 -2
  29. package/dist/src/polly-ui/ActionForm.d.ts +21 -0
  30. package/dist/src/polly-ui/ActionInput.d.ts +41 -0
  31. package/dist/src/polly-ui/ConfirmDialog.d.ts +24 -0
  32. package/dist/src/polly-ui/Layout.d.ts +51 -0
  33. package/dist/src/polly-ui/Modal.d.ts +52 -0
  34. package/dist/src/polly-ui/OverlayRoot.d.ts +10 -0
  35. package/dist/src/polly-ui/TextInput.d.ts +31 -0
  36. package/dist/src/polly-ui/Toast.d.ts +19 -0
  37. package/dist/src/polly-ui/index.css +319 -0
  38. package/dist/src/polly-ui/index.d.ts +17 -0
  39. package/dist/src/polly-ui/index.js +953 -0
  40. package/dist/src/polly-ui/index.js.map +22 -0
  41. package/dist/src/polly-ui/internal/focus-trap.d.ts +10 -0
  42. package/dist/src/polly-ui/internal/input-base.d.ts +18 -0
  43. package/dist/src/polly-ui/internal/scroll-lock.d.ts +9 -0
  44. package/dist/src/polly-ui/styles.css +70 -0
  45. package/dist/src/polly-ui/theme.css +163 -0
  46. package/dist/src/shared/adapters/index.js +26 -1
  47. package/dist/src/shared/adapters/index.js.map +2 -2
  48. package/dist/src/shared/lib/context-helpers.js +26 -1
  49. package/dist/src/shared/lib/context-helpers.js.map +2 -2
  50. package/dist/src/shared/lib/errors.js +26 -1
  51. package/dist/src/shared/lib/errors.js.map +2 -2
  52. package/dist/src/shared/lib/message-bus.js +26 -1
  53. package/dist/src/shared/lib/message-bus.js.map +2 -2
  54. package/dist/src/shared/lib/resource.js +26 -1
  55. package/dist/src/shared/lib/resource.js.map +2 -2
  56. package/dist/src/shared/lib/state.js +26 -1
  57. package/dist/src/shared/lib/state.js.map +2 -2
  58. package/dist/src/shared/lib/test-helpers.js +26 -1
  59. package/dist/src/shared/lib/test-helpers.js.map +2 -2
  60. package/dist/src/shared/state/app-state.js +26 -1
  61. package/dist/src/shared/state/app-state.js.map +2 -2
  62. package/dist/src/shared/types/messages.js +26 -1
  63. package/dist/src/shared/types/messages.js.map +2 -2
  64. package/dist/tools/quality/src/cli.js +640 -28
  65. package/dist/tools/quality/src/cli.js.map +11 -5
  66. package/dist/tools/quality/src/css/check-layout.d.ts +19 -0
  67. package/dist/tools/quality/src/css/check-quality.d.ts +24 -0
  68. package/dist/tools/quality/src/css/check-unused.d.ts +20 -0
  69. package/dist/tools/quality/src/css/check-vars.d.ts +22 -0
  70. package/dist/tools/quality/src/css/shared.d.ts +33 -0
  71. package/dist/tools/quality/src/index.d.ts +12 -0
  72. package/dist/tools/quality/src/index.js +557 -18
  73. package/dist/tools/quality/src/index.js.map +10 -4
  74. package/dist/tools/quality/src/logger.d.ts +26 -0
  75. package/dist/tools/test/src/adapters/index.js +26 -1
  76. package/dist/tools/test/src/adapters/index.js.map +2 -2
  77. package/dist/tools/test/src/browser/index.js +26 -1
  78. package/dist/tools/test/src/browser/index.js.map +2 -2
  79. package/dist/tools/test/src/browser/run.js +238 -0
  80. package/dist/tools/test/src/browser/run.js.map +11 -0
  81. package/dist/tools/test/src/index.js +26 -1
  82. package/dist/tools/test/src/index.js.map +2 -2
  83. package/dist/tools/test/src/test-utils.js +26 -1
  84. package/dist/tools/test/src/test-utils.js.map +2 -2
  85. package/dist/tools/test/src/visual/compare.d.ts +23 -0
  86. package/dist/tools/test/src/visual/harness.d.ts +53 -0
  87. package/dist/tools/test/src/visual/index.d.ts +12 -0
  88. package/dist/tools/test/src/visual/index.js +13968 -0
  89. package/dist/tools/test/src/visual/index.js.map +41 -0
  90. package/dist/tools/verify/src/cli.js +3 -3
  91. package/dist/tools/verify/src/cli.js.map +1 -1
  92. package/dist/tools/verify/src/config.js +26 -1
  93. package/dist/tools/verify/src/config.js.map +2 -2
  94. package/package.json +21 -2
@@ -24,7 +24,7 @@
24
24
  "/**\n * pairing — Phase 2 first-cut pairing flow for $meshState.\n *\n * Two devices that want to share a $meshState document must exchange three\n * things before sync can begin: the issuer's Ed25519 signing public key\n * (so the receiver can verify ops authored by the issuer), the symmetric\n * document encryption key (so both sides can encrypt and decrypt the\n * shared document), and the issuer's stable peer id (so the receiver\n * knows which entry in its keyring the public key belongs to). This\n * module packs all three into a {@link PairingToken}, serialises it to a\n * compact binary format suitable for QR codes or copy-paste, and provides\n * the matching parse-and-apply flow on the receiving side.\n *\n * Threat model: pairing tokens are transmitted over an out-of-band channel\n * that the user can authenticate visually — typically a QR code on the\n * issuer's device, scanned by the receiver. Because anyone with the token\n * can decrypt and impersonate, the OOB channel is the only authentication.\n * The token includes a TTL (default 10 minutes) so that a token displayed\n * briefly and then dismissed cannot be replayed by an attacker who later\n * gains access to a screenshot. A production deployment would layer a\n * Short Authentication String (SAS) on top — both devices display a code\n * derived from the shared state, and the user verifies they match — but\n * that is a follow-up.\n *\n * The pairing flow is one-way in the Phase 2 first cut. The issuer\n * generates a token and displays it; the receiver applies it and picks\n * up the issuer's keys. The receiver's own keys reach the issuer through\n * the access set: when the receiver sends its first signed op, the issuer\n * records the receiver's public key alongside its peer id and adds it to\n * the keyring. A bidirectional pairing flow that exchanges both sides'\n * keys in a single QR exchange is straightforward to add later but adds\n * UX surface area that is not needed for the mesh transport to work.\n */\n\nimport { KEY_BYTES as ENCRYPTION_KEY_BYTES, generateDocumentKey } from \"./encryption\";\nimport type { MeshKeyring } from \"./mesh-network-adapter\";\nimport {\n generateSigningKeyPair,\n PUBLIC_KEY_BYTES as SIGNING_PUBLIC_KEY_BYTES,\n type SigningKeyPair,\n} from \"./signing\";\n\n/** Current pairing-token format version. Bumped if the wire format changes. */\nexport const PAIRING_TOKEN_VERSION = 1;\n\n/** Magic header bytes for sanity-checking parsed tokens. ASCII \"PPT1\". */\nexport const PAIRING_TOKEN_MAGIC = new Uint8Array([0x50, 0x50, 0x54, 0x31]);\n\n/** Length of the random nonce embedded in every token. */\nexport const PAIRING_NONCE_BYTES = 16;\n\n/** Default TTL applied when {@link createPairingToken} is called without an\n * explicit `ttlMs` option. */\nexport const DEFAULT_PAIRING_TTL_MS = 10 * 60 * 1000; // 10 minutes\n\n/**\n * The contents of a pairing token. Both sides operate on this shape; the\n * binary serialisation is purely for transport.\n */\nexport interface PairingToken {\n /** Format version. {@link PAIRING_TOKEN_VERSION} at the time of writing. */\n version: number;\n /** Stable peer id of the issuing device. The receiver records this as\n * the lookup key for the issuer's public key in its keyring. */\n issuerPeerId: string;\n /** Issuer's Ed25519 signing public key (32 bytes). */\n issuerPublicKey: Uint8Array;\n /** Shared document encryption key (32 bytes). The receiver stores this\n * under {@link documentKeyId} in its keyring. */\n documentKey: Uint8Array;\n /** Identifier under which the receiver stores the document key. For the\n * Phase 2 first cut this is typically the well-known DEFAULT_MESH_KEY_ID\n * from mesh-network-adapter; per-document keys (one entry per Automerge\n * document) are a follow-up. */\n documentKeyId: string;\n /** Unix timestamp (milliseconds) after which the token is considered\n * expired and {@link applyPairingToken} refuses to use it. */\n expiresAt: number;\n /** 16-byte random nonce. Carried through serialisation so two tokens\n * with otherwise-identical contents are still distinguishable. */\n nonce: Uint8Array;\n}\n\n/** Errors thrown by the pairing subsystem. */\nexport class PairingError extends Error {\n readonly code:\n | \"expired\"\n | \"wrong-magic\"\n | \"unknown-version\"\n | \"truncated\"\n | \"invalid-public-key\"\n | \"invalid-document-key\"\n | \"invalid-nonce\";\n\n constructor(message: string, code: PairingError[\"code\"]) {\n super(message);\n this.name = \"PairingError\";\n this.code = code;\n }\n}\n\n/**\n * Options for {@link createPairingToken}. The signing identity and the\n * document key are required; everything else is optional with sensible\n * defaults.\n */\nexport interface CreatePairingTokenOptions {\n /** The issuing device's signing keypair. Only the public key ends up in\n * the token; the secret never leaves the issuer. */\n identity: SigningKeyPair;\n /** Stable peer id for the issuing device. */\n issuerPeerId: string;\n /** The symmetric document key the receiver should adopt. If omitted, a\n * fresh key is generated and the caller is responsible for using the\n * same key on the issuing side too. */\n documentKey?: Uint8Array;\n /** Identifier under which the receiver stores the document key. */\n documentKeyId: string;\n /** Time-to-live in milliseconds. Defaults to {@link DEFAULT_PAIRING_TTL_MS}. */\n ttlMs?: number;\n /** Override the current time. Intended for tests; production code should\n * not pass this. */\n now?: () => number;\n}\n\n/**\n * Generate a fresh {@link PairingToken}. The token is ready to be\n * serialised and displayed to the receiver via an OOB channel.\n */\nexport function createPairingToken(options: CreatePairingTokenOptions): PairingToken {\n const now = options.now ? options.now() : Date.now();\n const ttlMs = options.ttlMs ?? DEFAULT_PAIRING_TTL_MS;\n const documentKey = options.documentKey ?? generateDocumentKey();\n const nonce = randomBytes(PAIRING_NONCE_BYTES);\n\n return {\n version: PAIRING_TOKEN_VERSION,\n issuerPeerId: options.issuerPeerId,\n issuerPublicKey: options.identity.publicKey,\n documentKey,\n documentKeyId: options.documentKeyId,\n expiresAt: now + ttlMs,\n nonce,\n };\n}\n\n/**\n * Generate a fresh pairing token *and* a fresh signing keypair in one call.\n * Convenience for first-time setup where the device has no existing\n * identity yet. Returns both so the caller can persist the keypair and\n * then display the token.\n */\nexport function createPairingTokenWithFreshIdentity(args: {\n issuerPeerId: string;\n documentKeyId: string;\n ttlMs?: number;\n now?: () => number;\n}): { identity: SigningKeyPair; token: PairingToken } {\n const identity = generateSigningKeyPair();\n const token = createPairingToken({\n identity,\n issuerPeerId: args.issuerPeerId,\n documentKeyId: args.documentKeyId,\n ttlMs: args.ttlMs,\n now: args.now,\n });\n return { identity, token };\n}\n\n/**\n * Check whether a token has expired against the current wall-clock time\n * (or an injected `now`).\n */\nexport function isPairingTokenExpired(token: PairingToken, now?: () => number): boolean {\n const t = now ? now() : Date.now();\n return t >= token.expiresAt;\n}\n\n/**\n * Apply a parsed and validated token to a {@link MeshKeyring}. Mutates the\n * keyring in place: adds the issuer's public key to {@link MeshKeyring.knownPeers}\n * and the document key to {@link MeshKeyring.documentKeys}.\n *\n * Throws {@link PairingError} with code \"expired\" if the token's TTL has\n * elapsed. The receiver is expected to apply the token promptly after\n * scanning; rejecting expired tokens prevents replay of long-lived\n * captures.\n */\nexport function applyPairingToken(\n token: PairingToken,\n keyring: MeshKeyring,\n options: { now?: () => number } = {}\n): void {\n if (isPairingTokenExpired(token, options.now)) {\n throw new PairingError(\n `Pairing token from ${token.issuerPeerId} expired at ${new Date(token.expiresAt).toISOString()}.`,\n \"expired\"\n );\n }\n keyring.knownPeers.set(token.issuerPeerId, token.issuerPublicKey);\n keyring.documentKeys.set(token.documentKeyId, token.documentKey);\n}\n\n// ─── binary serialisation ──────────────────────────────────────────────────\n\n/**\n * Serialise a token to a binary blob. The wire format is:\n *\n * [4 bytes: magic \"PPT1\"]\n * [1 byte: version]\n * [4 bytes BE: issuer id byte length]\n * [N bytes: issuer id UTF-8]\n * [32 bytes: issuer public key]\n * [32 bytes: document key]\n * [4 bytes BE: document key id byte length]\n * [M bytes: document key id UTF-8]\n * [8 bytes BE: expiresAt (uint64 milliseconds)]\n * [16 bytes: nonce]\n *\n * Use {@link encodePairingToken} to round-trip through a base64 string.\n */\nexport function serialisePairingToken(token: PairingToken): Uint8Array {\n validateForSerialisation(token);\n const issuerBytes = new TextEncoder().encode(token.issuerPeerId);\n const keyIdBytes = new TextEncoder().encode(token.documentKeyId);\n\n const total =\n PAIRING_TOKEN_MAGIC.length +\n 1 + // version\n 4 + // issuer id length\n issuerBytes.length +\n SIGNING_PUBLIC_KEY_BYTES +\n ENCRYPTION_KEY_BYTES +\n 4 + // doc key id length\n keyIdBytes.length +\n 8 + // expiresAt\n PAIRING_NONCE_BYTES;\n\n const out = new Uint8Array(total);\n let offset = 0;\n\n out.set(PAIRING_TOKEN_MAGIC, offset);\n offset += PAIRING_TOKEN_MAGIC.length;\n\n out[offset] = token.version;\n offset += 1;\n\n const view = new DataView(out.buffer);\n view.setUint32(offset, issuerBytes.length, false);\n offset += 4;\n out.set(issuerBytes, offset);\n offset += issuerBytes.length;\n\n out.set(token.issuerPublicKey, offset);\n offset += SIGNING_PUBLIC_KEY_BYTES;\n\n out.set(token.documentKey, offset);\n offset += ENCRYPTION_KEY_BYTES;\n\n view.setUint32(offset, keyIdBytes.length, false);\n offset += 4;\n out.set(keyIdBytes, offset);\n offset += keyIdBytes.length;\n\n // Write expiresAt as uint64 BE. JavaScript numbers are float64 but the\n // value is an integer count of milliseconds, well within 53-bit safe\n // range for any practical timestamp.\n view.setBigUint64(offset, BigInt(token.expiresAt), false);\n offset += 8;\n\n out.set(token.nonce, offset);\n offset += PAIRING_NONCE_BYTES;\n\n return out;\n}\n\n/**\n * Inverse of {@link serialisePairingToken}. Throws {@link PairingError} on\n * malformed input.\n */\nexport function parsePairingToken(bytes: Uint8Array): PairingToken {\n let offset = 0;\n\n // Magic\n if (bytes.length < PAIRING_TOKEN_MAGIC.length) {\n throw new PairingError(`Pairing token too short: ${bytes.length} bytes.`, \"truncated\");\n }\n for (let i = 0; i < PAIRING_TOKEN_MAGIC.length; i++) {\n if (bytes[offset + i] !== PAIRING_TOKEN_MAGIC[i]) {\n throw new PairingError(\n `Pairing token magic mismatch: not a Polly pairing token.`,\n \"wrong-magic\"\n );\n }\n }\n offset += PAIRING_TOKEN_MAGIC.length;\n\n // Version\n if (bytes.length < offset + 1) {\n throw new PairingError(\"Pairing token truncated at version.\", \"truncated\");\n }\n const version = bytes[offset] as unknown as number;\n offset += 1;\n if (version !== PAIRING_TOKEN_VERSION) {\n throw new PairingError(\n `Unknown pairing token version: ${version}. This Polly build supports version ${PAIRING_TOKEN_VERSION}.`,\n \"unknown-version\"\n );\n }\n\n // Issuer id\n if (bytes.length < offset + 4) {\n throw new PairingError(\"Pairing token truncated at issuer id length.\", \"truncated\");\n }\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n const issuerLen = view.getUint32(offset, false);\n offset += 4;\n if (bytes.length < offset + issuerLen) {\n throw new PairingError(\"Pairing token truncated at issuer id.\", \"truncated\");\n }\n const issuerPeerId = new TextDecoder().decode(bytes.subarray(offset, offset + issuerLen));\n offset += issuerLen;\n\n // Issuer public key\n if (bytes.length < offset + SIGNING_PUBLIC_KEY_BYTES) {\n throw new PairingError(\"Pairing token truncated at public key.\", \"truncated\");\n }\n const issuerPublicKey = bytes.slice(offset, offset + SIGNING_PUBLIC_KEY_BYTES);\n offset += SIGNING_PUBLIC_KEY_BYTES;\n\n // Document key\n if (bytes.length < offset + ENCRYPTION_KEY_BYTES) {\n throw new PairingError(\"Pairing token truncated at document key.\", \"truncated\");\n }\n const documentKey = bytes.slice(offset, offset + ENCRYPTION_KEY_BYTES);\n offset += ENCRYPTION_KEY_BYTES;\n\n // Document key id\n if (bytes.length < offset + 4) {\n throw new PairingError(\"Pairing token truncated at document key id length.\", \"truncated\");\n }\n const keyIdLen = view.getUint32(offset, false);\n offset += 4;\n if (bytes.length < offset + keyIdLen) {\n throw new PairingError(\"Pairing token truncated at document key id.\", \"truncated\");\n }\n const documentKeyId = new TextDecoder().decode(bytes.subarray(offset, offset + keyIdLen));\n offset += keyIdLen;\n\n // Expires at\n if (bytes.length < offset + 8) {\n throw new PairingError(\"Pairing token truncated at expiry.\", \"truncated\");\n }\n const expiresAtBig = view.getBigUint64(offset, false);\n offset += 8;\n const expiresAt = Number(expiresAtBig);\n\n // Nonce\n if (bytes.length < offset + PAIRING_NONCE_BYTES) {\n throw new PairingError(\"Pairing token truncated at nonce.\", \"truncated\");\n }\n const nonce = bytes.slice(offset, offset + PAIRING_NONCE_BYTES);\n offset += PAIRING_NONCE_BYTES;\n\n return {\n version,\n issuerPeerId,\n issuerPublicKey,\n documentKey,\n documentKeyId,\n expiresAt,\n nonce,\n };\n}\n\n/**\n * Serialise a token and base64-encode it for QR-code or copy-paste display.\n * The encoding uses the standard base64 alphabet (not URL-safe) because\n * QR codes encode bytes directly and do not care about URL safety.\n */\nexport function encodePairingToken(token: PairingToken): string {\n const bytes = serialisePairingToken(token);\n // btoa expects a binary string. Convert via String.fromCharCode per byte;\n // safe for the ~150-byte token size and avoids the spread-into-fromCharCode\n // pattern that runs into argument-count limits on large arrays.\n let binary = \"\";\n for (const byte of bytes) {\n binary += String.fromCharCode(byte);\n }\n return btoa(binary);\n}\n\n/**\n * Decode a base64-encoded pairing token produced by {@link encodePairingToken}.\n * Throws {@link PairingError} on malformed input.\n */\nexport function decodePairingToken(encoded: string): PairingToken {\n let binary: string;\n try {\n binary = atob(encoded);\n } catch {\n throw new PairingError(\"Pairing token is not valid base64.\", \"wrong-magic\");\n }\n const bytes = new Uint8Array(binary.length);\n for (let i = 0; i < binary.length; i++) {\n bytes[i] = binary.charCodeAt(i);\n }\n return parsePairingToken(bytes);\n}\n\n// ─── helpers ───────────────────────────────────────────────────────────────\n\nfunction validateForSerialisation(token: PairingToken): void {\n if (token.issuerPublicKey.length !== SIGNING_PUBLIC_KEY_BYTES) {\n throw new PairingError(\n `Issuer public key must be ${SIGNING_PUBLIC_KEY_BYTES} bytes, got ${token.issuerPublicKey.length}.`,\n \"invalid-public-key\"\n );\n }\n if (token.documentKey.length !== ENCRYPTION_KEY_BYTES) {\n throw new PairingError(\n `Document key must be ${ENCRYPTION_KEY_BYTES} bytes, got ${token.documentKey.length}.`,\n \"invalid-document-key\"\n );\n }\n if (token.nonce.length !== PAIRING_NONCE_BYTES) {\n throw new PairingError(\n `Nonce must be ${PAIRING_NONCE_BYTES} bytes, got ${token.nonce.length}.`,\n \"invalid-nonce\"\n );\n }\n}\n\nfunction randomBytes(n: number): Uint8Array {\n const out = new Uint8Array(n);\n crypto.getRandomValues(out);\n return out;\n}\n",
25
25
  "/**\n * revocation — Phase 2 key-revocation flow for $meshState.\n *\n * A $meshState deployment is only as secure as the keys it trusts. When a\n * device is lost, stolen, or compromised, its public key needs to be\n * removed from every other peer's trust set so that any operations signed\n * by that key are refused. This module provides the primitive pieces for\n * that flow: a signed revocation record that names the revoked peer id,\n * carries the issuer's identity, and travels between peers through the\n * same channels as any other signed message.\n *\n * A RevocationRecord is produced by a peer that has decided to revoke\n * another peer (typically because the user told their device to do so).\n * It is then serialised to a binary envelope, broadcast to other peers\n * through whatever transport is available, and applied to each receiving\n * keyring via {@link applyRevocation}. Applying a revocation adds the\n * target peer id to the keyring's {@link MeshKeyring.revokedPeers} set;\n * the MeshNetworkAdapter then drops all further messages from that peer,\n * even though the public key is still present in the knownPeers map.\n *\n * Signature layer: every revocation is signed by the *issuer's* key. The\n * receiver verifies the signature against the issuer's public key before\n * applying. This prevents a peer with no authority from forging a\n * revocation, at least in the signature-level threat model — a compromised\n * peer could still forge revocations naming any other peer, which is why\n * production deployments layer an access-set check on top (\"who is\n * authorised to revoke whom\"). That layer is a follow-up; the first cut\n * is signature-only, and any signed revocation from a known peer is\n * accepted.\n *\n * Why revocations are signed but not encrypted: revocations are public\n * in the sense that they name \"peer X is no longer trusted.\" There is no\n * confidentiality requirement — anyone seeing a revocation learns only\n * that someone has been kicked out, which is already observable from\n * the absence of their operations. Encrypting them would add cost without\n * adding security, so the wire format is signed-only.\n */\n\nimport type { MeshKeyring } from \"./mesh-network-adapter\";\nimport {\n decodeSignedEnvelope,\n encodeSignedEnvelope,\n openEnvelope as openSignedEnvelope,\n type SigningKeyPair,\n signEnvelope,\n} from \"./signing\";\n\n/** Current revocation-record format version. */\nexport const REVOCATION_RECORD_VERSION = 1;\n\n/** Magic header bytes for sanity-checking parsed revocations. ASCII \"PRV1\". */\nexport const REVOCATION_MAGIC = new Uint8Array([0x50, 0x52, 0x56, 0x31]);\n\n/**\n * The payload carried inside a signed revocation envelope.\n */\nexport interface RevocationRecord {\n /** Format version. */\n version: number;\n /** The peer id doing the revoking. Becomes the `senderId` of the signed\n * envelope when the record is serialised. */\n issuerPeerId: string;\n /** The peer id being revoked. After a receiver applies this record, its\n * MeshNetworkAdapter will drop all further messages from this peer. */\n revokedPeerId: string;\n /** Unix timestamp (milliseconds) when the revocation was issued. Carried\n * for audit and for tie-breaking in case an issuer issues multiple\n * revocations targeting the same peer. */\n issuedAt: number;\n /** Optional human-readable reason. Not used by the enforcement layer;\n * applications can surface it in audit logs. */\n reason?: string;\n}\n\n/** Errors thrown by the revocation subsystem. */\nexport class RevocationError extends Error {\n readonly code:\n | \"unknown-issuer\"\n | \"unauthorised-issuer\"\n | \"signature-invalid\"\n | \"truncated\"\n | \"wrong-magic\"\n | \"unknown-version\"\n | \"not-signed-by-issuer\";\n\n constructor(message: string, code: RevocationError[\"code\"]) {\n super(message);\n this.name = \"RevocationError\";\n this.code = code;\n }\n}\n\n/** Options for {@link createRevocation}. */\nexport interface CreateRevocationOptions {\n /** Signing keypair of the issuer. The private key signs the record; the\n * public key is looked up by the receiver via `issuerPeerId`. */\n issuer: SigningKeyPair;\n /** Stable peer id of the issuer. */\n issuerPeerId: string;\n /** Peer id to revoke. */\n revokedPeerId: string;\n /** Optional human-readable reason. */\n reason?: string;\n /** Override the current time. Intended for tests. */\n now?: () => number;\n}\n\n/**\n * Build a fresh {@link RevocationRecord}. The returned record is plain\n * data; use {@link encodeRevocation} to wrap it in a signed envelope\n * suitable for transport.\n */\nexport function createRevocation(options: CreateRevocationOptions): RevocationRecord {\n const now = options.now ? options.now() : Date.now();\n return {\n version: REVOCATION_RECORD_VERSION,\n issuerPeerId: options.issuerPeerId,\n revokedPeerId: options.revokedPeerId,\n issuedAt: now,\n ...(options.reason === undefined ? {} : { reason: options.reason }),\n };\n}\n\n/**\n * Apply a verified revocation to a keyring. Mutates the keyring in place:\n * adds the target peer id to {@link MeshKeyring.revokedPeers}. The caller\n * must verify the revocation (via {@link decodeRevocation}) before\n * applying; this function does not revalidate the signature.\n */\nexport function applyRevocation(record: RevocationRecord, keyring: MeshKeyring): void {\n keyring.revokedPeers.add(record.revokedPeerId);\n}\n\n/**\n * Revoke a peer locally without producing a transportable record. Useful\n * for the common case where an application decides to drop a peer on this\n * device without propagating the decision elsewhere (tests, single-device\n * setups). Peers that want the revocation to spread to other devices\n * should use {@link createRevocation} + {@link encodeRevocation}.\n */\nexport function revokePeerLocally(peerId: string, keyring: MeshKeyring): void {\n keyring.revokedPeers.add(peerId);\n}\n\n// ─── binary serialisation ──────────────────────────────────────────────────\n\n/**\n * Serialise a {@link RevocationRecord} to a binary payload ready for\n * signing. The layout is:\n *\n * [4 bytes: magic \"PRV1\"]\n * [1 byte: version]\n * [4 bytes BE: issuer id byte length]\n * [N bytes: issuer id UTF-8]\n * [4 bytes BE: revoked peer id byte length]\n * [M bytes: revoked peer id UTF-8]\n * [8 bytes BE: issuedAt (uint64 milliseconds)]\n * [4 bytes BE: reason byte length]\n * [R bytes: reason UTF-8]\n */\nfunction serialiseRevocationPayload(record: RevocationRecord): Uint8Array {\n const issuerBytes = new TextEncoder().encode(record.issuerPeerId);\n const revokedBytes = new TextEncoder().encode(record.revokedPeerId);\n const reasonBytes = new TextEncoder().encode(record.reason ?? \"\");\n\n const total =\n REVOCATION_MAGIC.length +\n 1 + // version\n 4 +\n issuerBytes.length +\n 4 +\n revokedBytes.length +\n 8 + // issuedAt\n 4 +\n reasonBytes.length;\n\n const out = new Uint8Array(total);\n let offset = 0;\n\n out.set(REVOCATION_MAGIC, offset);\n offset += REVOCATION_MAGIC.length;\n\n out[offset] = record.version;\n offset += 1;\n\n const view = new DataView(out.buffer);\n view.setUint32(offset, issuerBytes.length, false);\n offset += 4;\n out.set(issuerBytes, offset);\n offset += issuerBytes.length;\n\n view.setUint32(offset, revokedBytes.length, false);\n offset += 4;\n out.set(revokedBytes, offset);\n offset += revokedBytes.length;\n\n view.setBigUint64(offset, BigInt(record.issuedAt), false);\n offset += 8;\n\n view.setUint32(offset, reasonBytes.length, false);\n offset += 4;\n out.set(reasonBytes, offset);\n\n return out;\n}\n\n/** Inverse of {@link serialiseRevocationPayload}. */\nfunction parseRevocationPayload(bytes: Uint8Array): RevocationRecord {\n let offset = 0;\n\n if (bytes.length < REVOCATION_MAGIC.length) {\n throw new RevocationError(\"Revocation record too short for magic.\", \"truncated\");\n }\n for (let i = 0; i < REVOCATION_MAGIC.length; i++) {\n if (bytes[offset + i] !== REVOCATION_MAGIC[i]) {\n throw new RevocationError(\"Revocation record magic mismatch.\", \"wrong-magic\");\n }\n }\n offset += REVOCATION_MAGIC.length;\n\n if (bytes.length < offset + 1) {\n throw new RevocationError(\"Revocation record truncated at version.\", \"truncated\");\n }\n const version = bytes[offset] as unknown as number;\n offset += 1;\n if (version !== REVOCATION_RECORD_VERSION) {\n throw new RevocationError(`Unknown revocation record version: ${version}.`, \"unknown-version\");\n }\n\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n\n if (bytes.length < offset + 4) {\n throw new RevocationError(\"Revocation record truncated at issuer length.\", \"truncated\");\n }\n const issuerLen = view.getUint32(offset, false);\n offset += 4;\n if (bytes.length < offset + issuerLen) {\n throw new RevocationError(\"Revocation record truncated at issuer id.\", \"truncated\");\n }\n const issuerPeerId = new TextDecoder().decode(bytes.subarray(offset, offset + issuerLen));\n offset += issuerLen;\n\n if (bytes.length < offset + 4) {\n throw new RevocationError(\"Revocation record truncated at revoked id length.\", \"truncated\");\n }\n const revokedLen = view.getUint32(offset, false);\n offset += 4;\n if (bytes.length < offset + revokedLen) {\n throw new RevocationError(\"Revocation record truncated at revoked id.\", \"truncated\");\n }\n const revokedPeerId = new TextDecoder().decode(bytes.subarray(offset, offset + revokedLen));\n offset += revokedLen;\n\n if (bytes.length < offset + 8) {\n throw new RevocationError(\"Revocation record truncated at issuedAt.\", \"truncated\");\n }\n const issuedAt = Number(view.getBigUint64(offset, false));\n offset += 8;\n\n if (bytes.length < offset + 4) {\n throw new RevocationError(\"Revocation record truncated at reason length.\", \"truncated\");\n }\n const reasonLen = view.getUint32(offset, false);\n offset += 4;\n if (bytes.length < offset + reasonLen) {\n throw new RevocationError(\"Revocation record truncated at reason.\", \"truncated\");\n }\n const reason = new TextDecoder().decode(bytes.subarray(offset, offset + reasonLen));\n offset += reasonLen;\n\n return {\n version,\n issuerPeerId,\n revokedPeerId,\n issuedAt,\n ...(reason ? { reason } : {}),\n };\n}\n\n/**\n * Produce a signed, transportable binary blob from a revocation record.\n * Wraps the serialised payload in a {@link SignedEnvelope} signed by the\n * issuer's keypair, then encodes the envelope to bytes.\n */\nexport function encodeRevocation(record: RevocationRecord, issuer: SigningKeyPair): Uint8Array {\n const payload = serialiseRevocationPayload(record);\n const envelope = signEnvelope(payload, record.issuerPeerId, issuer.secretKey);\n return encodeSignedEnvelope(envelope);\n}\n\n/**\n * Parse and verify a signed revocation blob. Returns the decoded record\n * on success; throws {@link RevocationError} on any failure.\n *\n * Verification requires the keyring to already know the issuer's public\n * key (because Polly does not have a global PKI). If the issuer is\n * unknown, the caller receives `unknown-issuer` and can decide whether\n * to cache the revocation for later verification or drop it outright.\n *\n * Authorisation: when the keyring has a non-empty\n * {@link MeshKeyring.revocationAuthority} set, only issuers inside that\n * set can have their revocations accepted. An issuer outside the set\n * produces `unauthorised-issuer`. When the authority set is undefined\n * or empty, any signed revocation from a known peer is accepted — that\n * is the Phase 2 first-cut default, preserved for backward compatibility.\n */\nexport function decodeRevocation(bytes: Uint8Array, keyring: MeshKeyring): RevocationRecord {\n const envelope = decodeSignedEnvelope(bytes);\n const issuerKey = keyring.knownPeers.get(envelope.senderId);\n if (!issuerKey) {\n throw new RevocationError(\n `Revocation issuer ${envelope.senderId} is not in the local keyring.`,\n \"unknown-issuer\"\n );\n }\n if (\n keyring.revocationAuthority !== undefined &&\n keyring.revocationAuthority.size > 0 &&\n !keyring.revocationAuthority.has(envelope.senderId)\n ) {\n throw new RevocationError(\n `Revocation issuer ${envelope.senderId} is not in the keyring's revocation authority set.`,\n \"unauthorised-issuer\"\n );\n }\n let payloadBytes: Uint8Array;\n try {\n payloadBytes = openSignedEnvelope(envelope, issuerKey);\n } catch {\n throw new RevocationError(\n `Revocation signature failed verification for issuer ${envelope.senderId}.`,\n \"signature-invalid\"\n );\n }\n\n const record = parseRevocationPayload(payloadBytes);\n // Paranoid cross-check: the payload's claimed issuer must match the\n // envelope's authenticated sender. Mismatch means a forged payload.\n if (record.issuerPeerId !== envelope.senderId) {\n throw new RevocationError(\n `Revocation payload claims issuer ${record.issuerPeerId} but the envelope was signed by ${envelope.senderId}.`,\n \"not-signed-by-issuer\"\n );\n }\n return record;\n}\n"
26
26
  ],
27
- "mappings": "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",
28
- "debugId": "EBE34B8E4170302164756E2164756E21",
27
+ "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmCA;AA+BO,SAAS,mBAAmB,GAAe;AAAA,EAChD,OAAO,KAAK,YAAY,SAAS;AAAA;AAQ5B,SAAS,OAAO,CAAC,SAAqB,KAA8B;AAAA,EACzE,IAAI,IAAI,WAAW,WAAW;AAAA,IAC5B,MAAM,IAAI,gBACR,yBAAyB,wBAAwB,IAAI,WACrD,oBACF;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,KAAK,YAAY,WAAW;AAAA,EAC1C,MAAM,aAAa,KAAK,UAAU,SAAS,OAAO,GAAG;AAAA,EACrD,MAAM,MAAM,IAAI,WAAW,cAAc,WAAW,MAAM;AAAA,EAC1D,IAAI,IAAI,OAAO,CAAC;AAAA,EAChB,IAAI,IAAI,YAAY,WAAW;AAAA,EAC/B,OAAO;AAAA;AAcF,SAAS,OAAO,CAAC,QAAqB,KAAyC;AAAA,EACpF,IAAI,IAAI,WAAW,WAAW;AAAA,IAC5B,MAAM,IAAI,gBACR,yBAAyB,wBAAwB,IAAI,WACrD,oBACF;AAAA,EACF;AAAA,EACA,IAAI,OAAO,SAAS,cAAc,WAAW;AAAA,IAC3C;AAAA,EACF;AAAA,EACA,MAAM,QAAQ,OAAO,SAAS,GAAG,WAAW;AAAA,EAC5C,MAAM,aAAa,OAAO,SAAS,WAAW;AAAA,EAC9C,MAAM,SAAS,KAAK,UAAU,KAAK,YAAY,OAAO,GAAG;AAAA,EACzD,OAAO,UAAU;AAAA;AAOZ,SAAS,cAAc,CAAC,QAAqB,KAA6B;AAAA,EAC/E,MAAM,SAAS,QAAQ,QAAQ,GAAG;AAAA,EAClC,IAAI,CAAC,QAAQ;AAAA,IACX,MAAM,IAAI,gBACR,sFACA,gBACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAoBF,SAAS,YAAY,CAC1B,SACA,YACA,KACmB;AAAA,EACnB,OAAO;AAAA,IACL;AAAA,IACA,QAAQ,QAAQ,SAAS,GAAG;AAAA,EAC9B;AAAA;AAOK,SAAS,YAAY,CAAC,UAA6B,KAA6B;AAAA,EACrF,OAAO,eAAe,SAAS,QAAQ,GAAG;AAAA;AAYrC,SAAS,uBAAuB,CAAC,UAAyC;AAAA,EAC/E,MAAM,UAAU,IAAI,YAAY,EAAE,OAAO,SAAS,UAAU;AAAA,EAC5D,MAAM,MAAM,IAAI,WAAW,IAAI,QAAQ,SAAS,SAAS,OAAO,MAAM;AAAA,EACtE,MAAM,OAAO,IAAI,SAAS,IAAI,MAAM;AAAA,EACpC,KAAK,UAAU,GAAG,QAAQ,QAAQ,KAAK;AAAA,EACvC,IAAI,IAAI,SAAS,CAAC;AAAA,EAClB,IAAI,IAAI,SAAS,QAAQ,IAAI,QAAQ,MAAM;AAAA,EAC3C,OAAO;AAAA;AAOF,SAAS,uBAAuB,CAAC,OAAsC;AAAA,EAC5E,IAAI,MAAM,SAAS,GAAG;AAAA,IACpB,MAAM,IAAI,gBACR,iCAAiC,MAAM,iBACvC,oBACF;AAAA,EACF;AAAA,EACA,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAAA,EAC1E,MAAM,QAAQ,KAAK,UAAU,GAAG,KAAK;AAAA,EACrC,IAAI,MAAM,SAAS,IAAI,OAAO;AAAA,IAC5B,MAAM,IAAI,gBACR,oDAAoD,gBAAgB,MAAM,WAC1E,oBACF;AAAA,EACF;AAAA,EACA,MAAM,aAAa,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,GAAG,IAAI,KAAK,CAAC;AAAA,EACxE,MAAM,SAAS,MAAM,MAAM,IAAI,KAAK;AAAA,EACpC,OAAO,EAAE,YAAY,OAAO;AAAA;AAAA,IA1KjB,YAAY,IAEZ,cAAc,IAEd,YAAY,IAWZ;AAAA;AAAA,oBAAN,MAAM,wBAAwB,MAAM;AAAA,IAChC;AAAA,IACT,WAAW,CAAC,SAAiB,MAA+B;AAAA,MAC1D,MAAM,OAAO;AAAA,MACb,KAAK,OAAO;AAAA,MACZ,KAAK,OAAO;AAAA;AAAA,EAEhB;AAAA;;;AC3CA;AACA;AAKA,IAAM,UAAU,IAAI,IAAI,UAAU,YAAY,GAAG,EAAE;AAEnD,MAAM,eAAe,OAAO;;;ACKrB,MAAM,gBAAqC;AAAA,EAC/B,QAAQ,IAAI;AAAA,EACZ,SAAS,IAAI;AAAA,EACb,OAAO,IAAI;AAAA,OAEtB,IAAG,CAAC,MAA+C;AAAA,IACvD,MAAM,QAAQ,KAAK,MAAM,IAAI,IAAI;AAAA,IACjC,IAAI,CAAC;AAAA,MAAO;AAAA,IACZ,MAAM,aAAa,KAAK,IAAI;AAAA,IAC5B,OAAO,MAAM;AAAA;AAAA,OAGT,IAAG,CAAC,MAAc,OAAkC;AAAA,IACxD,KAAK,MAAM,IAAI,MAAM,EAAE,OAAO,YAAY,KAAK,IAAI,EAAE,CAAC;AAAA;AAAA,OAGlD,IAAG,CAAC,MAAgC;AAAA,IACxC,OAAO,KAAK,MAAM,IAAI,IAAI;AAAA;AAAA,OAGtB,OAAM,CAAC,MAA6B;AAAA,IACxC,KAAK,MAAM,OAAO,IAAI;AAAA,IACtB,KAAK,OAAO,OAAO,IAAI;AAAA,IACvB,MAAM,MAAM,KAAK,KAAK,IAAI,IAAI;AAAA,IAC9B,IAAI,KAAK;AAAA,MACP,IAAI,gBAAgB,GAAG;AAAA,MACvB,KAAK,KAAK,OAAO,IAAI;AAAA,IACvB;AAAA;AAAA,OAGI,IAAG,CAAC,MAA6B;AAAA,IACrC,KAAK,OAAO,IAAI,IAAI;AAAA;AAAA,OAGhB,MAAK,CAAC,MAA6B;AAAA,IACvC,KAAK,OAAO,OAAO,IAAI;AAAA;AAAA,OAGnB,KAAI,GAAoB;AAAA,IAC5B,IAAI,QAAQ;AAAA,IACZ,WAAW,SAAS,KAAK,MAAM,OAAO,GAAG;AAAA,MACvC,SAAS,MAAM,MAAM;AAAA,IACvB;AAAA,IACA,OAAO;AAAA;AAAA,OAGH,MAAK,CAAC,UAAmC;AAAA,IAC7C,IAAI,cAAc,MAAM,KAAK,KAAK;AAAA,IAClC,IAAI,eAAe;AAAA,MAAU,OAAO;AAAA,IACpC,MAAM,QAAQ;AAAA,IAEd,MAAM,aAAwE,CAAC;AAAA,IAC/E,YAAY,MAAM,UAAU,KAAK,OAAO;AAAA,MACtC,IAAI,CAAC,KAAK,OAAO,IAAI,IAAI,GAAG;AAAA,QAC1B,WAAW,KAAK,EAAE,MAAM,YAAY,MAAM,YAAY,MAAM,MAAM,MAAM,WAAW,CAAC;AAAA,MACtF;AAAA,IACF;AAAA,IACA,WAAW,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AAAA,IAErD,WAAW,KAAK,YAAY;AAAA,MAC1B,IAAI,eAAe;AAAA,QAAU;AAAA,MAC7B,MAAM,KAAK,OAAO,EAAE,IAAI;AAAA,MACxB,eAAe,EAAE;AAAA,IACnB;AAAA,IACA,OAAO,QAAQ;AAAA;AAAA,OAKX,IAAG,CAAC,MAA2C;AAAA,IACnD,MAAM,SAAS,KAAK,KAAK,IAAI,IAAI;AAAA,IACjC,IAAI;AAAA,MAAQ,OAAO;AAAA,IACnB,MAAM,QAAQ,KAAK,MAAM,IAAI,IAAI;AAAA,IACjC,IAAI,CAAC;AAAA,MAAO;AAAA,IACZ,MAAM,SAAS,IAAI,YAAY,MAAM,MAAM,UAAU;AAAA,IACrD,IAAI,WAAW,MAAM,EAAE,IAAI,MAAM,KAAK;AAAA,IACtC,MAAM,YAAY,IAAI,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAAA,IACxD,KAAK,KAAK,IAAI,MAAM,SAAS;AAAA,IAC7B,OAAO;AAAA;AAAA,EAGT,OAAO,GAAS;AAAA,IACd,WAAW,aAAa,KAAK,KAAK,OAAO,GAAG;AAAA,MAC1C,IAAI,gBAAgB,SAAS;AAAA,IAC/B;AAAA,IACA,KAAK,KAAK,MAAM;AAAA,IAChB,KAAK,MAAM,MAAM;AAAA,IACjB,KAAK,OAAO,MAAM;AAAA;AAEtB;AAAA;AAeO,MAAM,mBAAwC;AAAA,SAC3B,UAAU;AAAA,SACV,aAAa;AAAA,SACb,aAAa;AAAA,EAE7B,YAAyC;AAAA,EAChC,OAAO,IAAI;AAAA,EAEpB,MAAM,GAAyB;AAAA,IACrC,IAAI,KAAK;AAAA,MAAW,OAAO,KAAK;AAAA,IAChC,KAAK,YAAY,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MAChD,MAAM,UAAU,UAAU,KAAK,mBAAmB,SAAS,mBAAmB,UAAU;AAAA,MACxF,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,MAC5C,QAAQ,YAAY,MAAM,QAAQ,QAAQ,MAAM;AAAA,MAChD,QAAQ,kBAAkB,CAAC,UAAU;AAAA,QACnC,MAAM,KAAM,MAAM,OAA4B;AAAA,QAC9C,IAAI,CAAC,GAAG,iBAAiB,SAAS,mBAAmB,UAAU,GAAG;AAAA,UAChE,GAAG,kBAAkB,mBAAmB,UAAU;AAAA,QACpD;AAAA;AAAA,KAEH;AAAA,IACD,OAAO,KAAK;AAAA;AAAA,OAGA,UAAS,CAAC,MAA8C;AAAA,IACpE,MAAM,KAAK,MAAM,KAAK,OAAO;AAAA,IAC7B,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,MAAM,KAAK,GAAG,YAAY,mBAAmB,YAAY,UAAU;AAAA,MACnE,MAAM,QAAQ,GAAG,YAAY,mBAAmB,UAAU;AAAA,MAC1D,MAAM,UAAU,MAAM,IAAI,IAAI;AAAA,MAC9B,QAAQ,YAAY,MAAM,QAAQ,QAAQ,MAA+B;AAAA,MACzE,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,KAC7C;AAAA;AAAA,OAGW,UAAS,CAAC,MAAc,QAAkC;AAAA,IACtE,MAAM,KAAK,MAAM,KAAK,OAAO;AAAA,IAC7B,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,MAAM,KAAK,GAAG,YAAY,mBAAmB,YAAY,WAAW;AAAA,MACpE,MAAM,QAAQ,GAAG,YAAY,mBAAmB,UAAU;AAAA,MAC1D,MAAM,IAAI,QAAQ,IAAI;AAAA,MACtB,GAAG,aAAa,MAAM,QAAQ;AAAA,MAC9B,GAAG,UAAU,MAAM,OAAO,GAAG,KAAK;AAAA,KACnC;AAAA;AAAA,OAGG,IAAG,CAAC,MAA+C;AAAA,IACvD,MAAM,SAAS,MAAM,KAAK,UAAU,IAAI;AAAA,IACxC,IAAI,CAAC;AAAA,MAAQ;AAAA,IAGR,KAAK,UAAU,MAAM,KAAK,QAAQ,YAAY,KAAK,IAAI,EAAE,CAAC;AAAA,IAC/D,OAAO,OAAO;AAAA;AAAA,OAGV,IAAG,CAAC,MAAc,OAAkC;AAAA,IACxD,MAAM,WAAW,MAAM,KAAK,UAAU,IAAI;AAAA,IAC1C,MAAM,KAAK,UAAU,MAAM;AAAA,MACzB;AAAA,MACA,MAAM,MAAM;AAAA,MACZ,YAAY,KAAK,IAAI;AAAA,MACrB,QAAQ,UAAU,UAAU;AAAA,IAC9B,CAAC;AAAA;AAAA,OAGG,IAAG,CAAC,MAAgC;AAAA,IACxC,MAAM,KAAK,MAAM,KAAK,OAAO;AAAA,IAC7B,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,MAAM,KAAK,GAAG,YAAY,mBAAmB,YAAY,UAAU;AAAA,MACnE,MAAM,QAAQ,GAAG,YAAY,mBAAmB,UAAU;AAAA,MAC1D,MAAM,UAAU,MAAM,MAAM,IAAI;AAAA,MAChC,QAAQ,YAAY,MAAM,QAAQ,QAAQ,SAAS,CAAC;AAAA,MACpD,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,KAC7C;AAAA;AAAA,OAGG,OAAM,CAAC,MAA6B;AAAA,IACxC,MAAM,MAAM,KAAK,KAAK,IAAI,IAAI;AAAA,IAC9B,IAAI,KAAK;AAAA,MACP,IAAI,gBAAgB,GAAG;AAAA,MACvB,KAAK,KAAK,OAAO,IAAI;AAAA,IACvB;AAAA,IACA,MAAM,KAAK,MAAM,KAAK,OAAO;AAAA,IAC7B,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,MAAM,KAAK,GAAG,YAAY,mBAAmB,YAAY,WAAW;AAAA,MACpE,MAAM,QAAQ,GAAG,YAAY,mBAAmB,UAAU;AAAA,MAC1D,MAAM,OAAO,IAAI;AAAA,MACjB,GAAG,aAAa,MAAM,QAAQ;AAAA,MAC9B,GAAG,UAAU,MAAM,OAAO,GAAG,KAAK;AAAA,KACnC;AAAA;AAAA,OAGG,IAAG,CAAC,MAA6B;AAAA,IACrC,MAAM,SAAS,MAAM,KAAK,UAAU,IAAI;AAAA,IACxC,IAAI,CAAC;AAAA,MAAQ;AAAA,IACb,MAAM,KAAK,UAAU,MAAM,KAAK,QAAQ,QAAQ,KAAK,CAAC;AAAA;AAAA,OAGlD,MAAK,CAAC,MAA6B;AAAA,IACvC,MAAM,SAAS,MAAM,KAAK,UAAU,IAAI;AAAA,IACxC,IAAI,CAAC;AAAA,MAAQ;AAAA,IACb,MAAM,KAAK,UAAU,MAAM,KAAK,QAAQ,QAAQ,MAAM,CAAC;AAAA;AAAA,OAGnD,KAAI,GAAoB;AAAA,IAC5B,MAAM,KAAK,MAAM,KAAK,OAAO;AAAA,IAC7B,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,MAAM,KAAK,GAAG,YAAY,mBAAmB,YAAY,UAAU;AAAA,MACnE,MAAM,QAAQ,GAAG,YAAY,mBAAmB,UAAU;AAAA,MAC1D,MAAM,UAAU,MAAM,WAAW;AAAA,MACjC,IAAI,QAAQ;AAAA,MACZ,QAAQ,YAAY,MAAM;AAAA,QACxB,MAAM,SAAS,QAAQ;AAAA,QACvB,IAAI,QAAQ;AAAA,UACV,MAAM,QAAQ,OAAO;AAAA,UACrB,SAAS,MAAM;AAAA,UACf,OAAO,SAAS;AAAA,QAClB,EAAO;AAAA,UACL,QAAQ,KAAK;AAAA;AAAA;AAAA,MAGjB,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,KAC7C;AAAA;AAAA,OAGG,MAAK,CAAC,UAAmC;AAAA,IAC7C,MAAM,KAAK,MAAM,KAAK,OAAO;AAAA,IAC7B,MAAM,aAAwE,CAAC;AAAA,IAC/E,IAAI,YAAY;AAAA,IAEhB,MAAM,IAAI,QAAc,CAAC,SAAS,WAAW;AAAA,MAC3C,MAAM,KAAK,GAAG,YAAY,mBAAmB,YAAY,UAAU;AAAA,MACnE,MAAM,QAAQ,GAAG,YAAY,mBAAmB,UAAU;AAAA,MAC1D,MAAM,UAAU,MAAM,WAAW;AAAA,MACjC,QAAQ,YAAY,MAAM;AAAA,QACxB,MAAM,SAAS,QAAQ;AAAA,QACvB,IAAI,QAAQ;AAAA,UACV,MAAM,QAAQ,OAAO;AAAA,UACrB,aAAa,MAAM;AAAA,UACnB,IAAI,CAAC,MAAM,QAAQ;AAAA,YACjB,WAAW,KAAK;AAAA,cACd,MAAM,OAAO;AAAA,cACb,YAAY,MAAM;AAAA,cAClB,MAAM,MAAM;AAAA,YACd,CAAC;AAAA,UACH;AAAA,UACA,OAAO,SAAS;AAAA,QAClB,EAAO;AAAA,UACL,QAAQ;AAAA;AAAA;AAAA,MAGZ,QAAQ,UAAU,MAAM,OAAO,QAAQ,KAAK;AAAA,KAC7C;AAAA,IAED,IAAI,aAAa;AAAA,MAAU,OAAO;AAAA,IAClC,WAAW,KAAK,CAAC,GAAG,MAAM,EAAE,aAAa,EAAE,UAAU;AAAA,IAErD,IAAI,QAAQ;AAAA,IACZ,WAAW,KAAK,YAAY;AAAA,MAC1B,IAAI,aAAa;AAAA,QAAU;AAAA,MAC3B,MAAM,KAAK,OAAO,EAAE,IAAI;AAAA,MACxB,aAAa,EAAE;AAAA,MACf,SAAS,EAAE;AAAA,IACb;AAAA,IACA,OAAO;AAAA;AAAA,OAGH,IAAG,CAAC,MAA2C;AAAA,IACnD,MAAM,SAAS,KAAK,KAAK,IAAI,IAAI;AAAA,IACjC,IAAI;AAAA,MAAQ,OAAO;AAAA,IACnB,MAAM,QAAQ,MAAM,KAAK,IAAI,IAAI;AAAA,IACjC,IAAI,CAAC;AAAA,MAAO;AAAA,IACZ,MAAM,SAAS,IAAI,YAAY,MAAM,UAAU;AAAA,IAC/C,IAAI,WAAW,MAAM,EAAE,IAAI,KAAK;AAAA,IAChC,MAAM,YAAY,IAAI,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAAA,IACxD,KAAK,KAAK,IAAI,MAAM,SAAS;AAAA,IAC7B,OAAO;AAAA;AAAA,EAGT,OAAO,GAAS;AAAA,IACd,WAAW,aAAa,KAAK,KAAK,OAAO,GAAG;AAAA,MAC1C,IAAI,gBAAgB,SAAS;AAAA,IAC/B;AAAA,IACA,KAAK,KAAK,MAAM;AAAA;AAEpB;;ACxQO,SAAS,SAAS,CAAC,OAAkC;AAAA,EAC1D,IAAI,OAAO,UAAU,YAAY,UAAU;AAAA,IAAM,OAAO;AAAA,EACxD,MAAM,IAAI;AAAA,EACV,OACE,OAAO,EAAE,YAAY,YACrB,iBAAiB,KAAK,EAAE,OAAO,KAC/B,OAAO,EAAE,YAAY,YACrB,OAAO,UAAU,EAAE,OAAO,KAC1B,EAAE,WAAW,KACb,OAAO,EAAE,gBAAgB,YACzB,OAAO,EAAE,gBAAgB;AAAA;AAO7B,eAAsB,eAAe,CAAC,OAAoC;AAAA,EAIxE,MAAM,SAAS,IAAI,YAAY,MAAM,UAAU;AAAA,EAC/C,MAAM,OAAO,IAAI,WAAW,MAAM;AAAA,EAClC,KAAK,IAAI,KAAK;AAAA,EACd,MAAM,SAAS,MAAM,OAAO,OAAO,OAAO,WAAW,MAAM;AAAA,EAC3D,MAAM,OAAO,IAAI,WAAW,MAAM;AAAA,EAClC,IAAI,MAAM;AAAA,EACV,WAAW,QAAQ,MAAM;AAAA,IACvB,OAAO,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG;AAAA,EAC1C;AAAA,EACA,OAAO;AAAA;AAiBT,eAAsB,aAAa;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,GACsC;AAAA,EACtC,MAAM,OAAO,MAAM,gBAAgB,KAAK;AAAA,EACxC,OAAO;AAAA,IACL;AAAA,IACA,MAAM,MAAM;AAAA,IACZ;AAAA,IACA;AAAA,EACF;AAAA;;AC3FK,IAAM,kBAAkB;AAIxB,IAAM,yBAAyB,MAAM;AAgCrC,SAAS,SAAS,CAAC,OAAmB,YAAoB,iBAA+B;AAAA,EAC9F,MAAM,SAAuB,CAAC;AAAA,EAC9B,SAAS,SAAS,EAAG,SAAS,MAAM,QAAQ,UAAU,WAAW;AAAA,IAC/D,OAAO,KAAK,MAAM,SAAS,QAAQ,KAAK,IAAI,SAAS,WAAW,MAAM,MAAM,CAAC,CAAC;AAAA,EAChF;AAAA,EAGA,IAAI,OAAO,WAAW,GAAG;AAAA,IACvB,OAAO,KAAK,IAAI,WAAW,CAAC,CAAC;AAAA,EAC/B;AAAA,EACA,OAAO;AAAA;AAKF,SAAS,gBAAgB,CAAC,QAAiC,OAA2B;AAAA,EAC3F,IAAI,aAAa;AAAA,EACjB,SAAS,IAAI,EAAG,IAAI,OAAO,KAAK;AAAA,IAC9B,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,IAC1B,IAAI,CAAC,OAAO;AAAA,MACV,MAAM,IAAI,MAAM,mCAAmC,QAAQ,OAAO;AAAA,IACpE;AAAA,IACA,cAAc,MAAM;AAAA,EACtB;AAAA,EACA,MAAM,MAAM,IAAI,WAAW,UAAU;AAAA,EACrC,IAAI,SAAS;AAAA,EACb,SAAS,IAAI,EAAG,IAAI,OAAO,KAAK;AAAA,IAC9B,MAAM,QAAQ,OAAO,IAAI,CAAC;AAAA,IAC1B,IAAI,IAAI,OAAO,MAAM;AAAA,IACrB,UAAU,MAAM;AAAA,EAClB;AAAA,EACA,OAAO;AAAA;AAIF,SAAS,mBAAmB,CAAC,QAAiC,OAAyB;AAAA,EAC5F,MAAM,UAAoB,CAAC;AAAA,EAC3B,SAAS,IAAI,EAAG,IAAI,OAAO,KAAK;AAAA,IAC9B,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG;AAAA,MAClB,QAAQ,KAAK,CAAC;AAAA,IAChB;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAUF,SAAS,oBAAoB,CAClC,QACA,OAAmB,IAAI,WAAW,CAAC,GACV;AAAA,EACzB,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU,MAAM,CAAC;AAAA,EACnE,MAAM,OAAO,IAAI,YAAY,SAAS,KAAK;AAAA,EAC3C,MAAM,SAAS,IAAI,YAAY,IAAI;AAAA,EACnC,MAAM,MAAM,IAAI,WAAW,MAAM;AAAA,EACjC,MAAM,OAAO,IAAI,SAAS,MAAM;AAAA,EAChC,KAAK,UAAU,GAAG,YAAY,QAAQ,KAAK;AAAA,EAC3C,IAAI,IAAI,aAAa,CAAC;AAAA,EACtB,IAAI,IAAI,MAAM,IAAI,YAAY,MAAM;AAAA,EACpC,OAAO;AAAA;AAyBF,SAAS,iBAAiB,CAAC,OAA4B;AAAA,EAC5D,IAAI,MAAM,SAAS;AAAA,IAAG,OAAO;AAAA,EAC7B,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAAA,EAC1E,MAAM,YAAY,KAAK,UAAU,GAAG,KAAK;AAAA,EACzC,IAAI,MAAM,SAAS,IAAI;AAAA,IAAW,OAAO;AAAA,EAGzC,MAAM,cAAc,MAAM,SAAS,GAAG,IAAI,SAAS;AAAA,EAEnD,MAAM,SAAS,IAAI,YAAY,EAAE,OAAO,eAAe;AAAA,EACvD,OAAO,aAAa,aAAa,MAAM,MAAM;AAAA;AAI/C,SAAS,YAAY,CAAC,UAAsB,QAA4B;AAAA,EACtE,IAAI,OAAO,WAAW;AAAA,IAAG,OAAO;AAAA,EAChC;AAAA,IAAO,SAAS,IAAI,EAAG,KAAK,SAAS,SAAS,OAAO,QAAQ,KAAK;AAAA,MAChE,SAAS,IAAI,EAAG,IAAI,OAAO,QAAQ,KAAK;AAAA,QACtC,IAAI,SAAS,IAAI,OAAO,OAAO;AAAA,UAAI;AAAA,MACrC;AAAA,MACA,OAAO;AAAA,IACT;AAAA,EACA,OAAO;AAAA;;;AC7HT,IAAM,wBAAwB,MAAM,OAAO;AAC3C,IAAM,sBAAsB;AAC5B,IAAM,sBAAsB;AAsBrB,SAAS,eAAe,CAAC,SAA4B,SAAuC;AAAA,EACjG,MAAM,cAAc,SAAS,eAAe;AAAA,EAC5C,MAAM,aAAa,SAAS,SAAS;AAAA,EACrC,MAAM,QAAmB,SAAS,SAAS,IAAI;AAAA,EAI/C,MAAM,aAAa,IAAI;AAAA,EAEvB,MAAM,YAAY,IAAI;AAAA,EAEtB,MAAM,YAAY,IAAI;AAAA,EAEtB,MAAM,cAAc,IAAI;AAAA,EAExB,MAAM,WAAW,IAAI;AAAA,EACrB,IAAI,WAAW;AAAA,EAGf,QAAQ,gBAAgB,CAAC,QAAQ,QAAQ,SAAS;AAAA,IAChD,IAAI;AAAA,MAAU;AAAA,IACd,MAAM,OAAO,OAAO;AAAA,IACpB,QAAQ;AAAA,WACD;AAAA,QACE,YAAY,QAAQ,QAAsC,IAAI;AAAA,QACnE;AAAA,WACG;AAAA,QACE,cAAc,QAAQ,MAAsC;AAAA,QACjE;AAAA,WACG;AAAA,QACH,WAAW,QAAQ,MAAmC;AAAA,QACtD;AAAA;AAAA;AAAA,EAKN,MAAM,uBAAuB,CAAC,UAA+B;AAAA,IAC3D,IAAI;AAAA,MAAU;AAAA,IACd,MAAM,YAAY,MAAM;AAAA,IACxB,WAAW,QAAQ,aAAa;AAAA,MAC9B,MAAM,MAAM,qBAAqB,EAAE,MAAM,aAAa,KAAK,CAAsB;AAAA,MACjF,QAAQ,gBAAgB,WAAW,GAAG;AAAA,IACxC;AAAA;AAAA,EAEF,QAAQ,GAAG,kBAAkB,oBAAoB;AAAA,EAMjD,eAAe,YAAY,CAAC,WAAuB,KAAsC;AAAA,IACvF,QAAQ,sBAAY;AAAA,IACpB,OAAO,SAAQ,WAAW,GAAG;AAAA;AAAA,EAG/B,eAAe,YAAY,CACzB,QACA,KACiC;AAAA,IACjC,QAAQ,sBAAY;AAAA,IACpB,OAAO,SAAQ,QAAQ,GAAG;AAAA;AAAA,EAO5B,eAAe,WAAW,CACxB,QACA,QACA,MACe;AAAA,IACf,MAAM,WAAW,UAAU,IAAI,OAAO,IAAI;AAAA,IAC1C,IAAI,CAAC;AAAA,MAAU;AAAA,IACf,SAAS,QAAQ,OAAO;AAAA,IAGxB,IAAI,CAAC,SAAS,eAAe,SAAS,MAAM,GAAG;AAAA,MAC7C,SAAS,eAAe,KAAK,MAAM;AAAA,IACrC;AAAA,IAGA,IAAI;AAAA,IACJ,IAAI,SAAS,KAAK;AAAA,MAChB,MAAM,YAAY,MAAM,aAAa,MAAM,SAAS,GAAG;AAAA,MACvD,IAAI,CAAC,WAAW;AAAA,QAEd;AAAA,MACF;AAAA,MACA,aAAa;AAAA,IACf,EAAO;AAAA,MACL,aAAa,KAAK,MAAM;AAAA;AAAA,IAG1B,SAAS,OAAO,IAAI,OAAO,OAAO,UAAU;AAAA,IAE5C,oBAAoB,QAAQ;AAAA,IAC5B,oBAAoB,QAAQ;AAAA,IAE5B,IAAI,SAAS,OAAO,QAAQ,OAAO,OAAO;AAAA,MACxC,eAAe,OAAO,MAAM,QAAQ;AAAA,IACtC,EAAO;AAAA,MACL,kBAAkB,OAAO,MAAM,QAAQ;AAAA;AAAA;AAAA,EAI3C,SAAS,mBAAmB,CAAC,UAA+B;AAAA,IAC1D,IAAI,CAAC,SAAS,cAAc,SAAS,SAAS;AAAA,MAAG;AAAA,IACjD,IAAI,SAAS;AAAA,IACb,WAAW,SAAS,SAAS,OAAO,OAAO,GAAG;AAAA,MAC5C,UAAU,MAAM;AAAA,IAClB;AAAA,IACA,SAAS,WAAW,EAAE,QAAQ,OAAO,WAAW,OAAO,cAAc,CAAC;AAAA;AAAA,EAGxE,SAAS,mBAAmB,CAAC,UAA+B;AAAA,IAC1D,IAAI,SAAS,aAAa;AAAA,MACxB,aAAa,SAAS,WAAW;AAAA,MACjC,SAAS,cAAc;AAAA,IACzB;AAAA;AAAA,EAGF,SAAS,cAAc,CAAC,MAAc,UAA+B;AAAA,IACnE,oBAAoB,QAAQ;AAAA,IAC5B,IAAI;AAAA,MACF,MAAM,YAAY,iBAAiB,SAAS,QAAQ,SAAS,KAAK;AAAA,MAClE,UAAU,OAAO,IAAI;AAAA,MACrB,SAAS,QAAQ,SAAS;AAAA,MAC1B,OAAO,KAAK;AAAA,MACZ,UAAU,OAAO,IAAI;AAAA,MACrB,SAAS,OAAO,eAAe,QAAQ,MAAM,IAAI,MAAM,OAAO,GAAG,CAAC,CAAC;AAAA;AAAA;AAAA,EAIvE,eAAe,aAAa,CAAC,QAAgB,QAA0C;AAAA,IACrF,MAAM,YAAY,MAAM,MAAM,IAAI,OAAO,IAAI;AAAA,IAC7C,IAAI,CAAC;AAAA,MAAW;AAAA,IAEhB,MAAM,kBAAkB,UAAU,SAAS;AAAA,IAC3C,MAAM,YAAY,OAAO,WAAW,gBAAgB,IAAI,CAAC,GAAG,MAAM,CAAC;AAAA,IACnE,MAAM,WAAW,WAAW,IAAI,OAAO,IAAI;AAAA,IAE3C,WAAW,SAAS,WAAW;AAAA,MAC7B,MAAM,iBAAiB,QAAQ,OAAO,MAAM,iBAAiB,OAAO,QAAQ;AAAA,IAC9E;AAAA;AAAA,EAGF,eAAe,gBAAgB,CAC7B,QACA,MACA,iBACA,OACA,UACe;AAAA,IACf,IAAI,QAAQ,KAAK,SAAS,gBAAgB;AAAA,MAAQ;AAAA,IAClD,MAAM,aAAa,gBAAgB;AAAA,IACnC,IAAI,CAAC;AAAA,MAAY;AAAA,IAEjB,MAAM,UAAU,WAAW,MAAM,aAAa,YAAY,QAAQ,IAAI;AAAA,IACtE,MAAM,cAA+B;AAAA,MACnC,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA,OAAO,gBAAgB;AAAA,IACzB;AAAA,IACA,MAAM,MAAM,qBAAqB,aAAkC,OAAO;AAAA,IAE1E,IAAI,CAAC,QAAQ,gBAAgB,QAAQ,GAAG,GAAG;AAAA,MACzC,MAAM,mBAAmB;AAAA,MACzB,QAAQ,gBAAgB,QAAQ,GAAG;AAAA,IACrC;AAAA;AAAA,EAGF,SAAS,UAAU,CAAC,QAAgB,QAA8B;AAAA,IAChE,IAAI,QAAQ,UAAU,IAAI,OAAO,IAAI;AAAA,IACrC,IAAI,CAAC,OAAO;AAAA,MACV,QAAQ,IAAI;AAAA,MACZ,UAAU,IAAI,OAAO,MAAM,KAAK;AAAA,IAClC;AAAA,IACA,MAAM,IAAI,MAAM;AAAA;AAAA,EAOlB,SAAS,YAAY,CAAC,MAAoB;AAAA,IACxC,MAAM,MAAM,qBAAqB,EAAE,MAAM,aAAa,KAAK,CAAsB;AAAA,IACjF,WAAW,UAAU,QAAQ,kBAAkB;AAAA,MAC7C,QAAQ,gBAAgB,QAAQ,GAAG;AAAA,IACrC;AAAA;AAAA,EAGF,SAAS,mBAAmB,CAAC,UAA+B;AAAA,IAC1D,IAAI,SAAS;AAAA,MAAW,aAAa,SAAS,SAAS;AAAA,IACvD,IAAI,SAAS;AAAA,MAAa,aAAa,SAAS,WAAW;AAAA;AAAA,EAG7D,SAAS,iBAAiB,CAAC,MAAc,UAA+B;AAAA,IACtE,SAAS,cAAc,WAAW,MAAM,cAAc,MAAM,QAAQ,GAAG,mBAAmB;AAAA;AAAA,EAG5F,SAAS,aAAa,CAAC,MAAc,UAA+B;AAAA,IAClE,IAAI,CAAC,UAAU,IAAI,IAAI;AAAA,MAAG;AAAA,IAC1B,MAAM,UAAU,oBAAoB,SAAS,QAAQ,SAAS,KAAK;AAAA,IACnE,IAAI,QAAQ,WAAW;AAAA,MAAG;AAAA,IAI1B,MAAM,QAAQ,UAAU,IAAI,IAAI;AAAA,IAChC,MAAM,OAAO,SAAS,MAAM,OAAO,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,gBAAgB;AAAA,IAC9F,IAAI,KAAK,WAAW;AAAA,MAAG;AAAA,IACvB,MAAM,SAAS,KAAK,SAAS,oBAAoB,KAAK;AAAA,IACtD,SAAS;AAAA,IACT,IAAI,CAAC;AAAA,MAAQ;AAAA,IAEb,MAAM,YAA+B,EAAE,MAAM,gBAAgB,MAAM,QAAQ;AAAA,IAC3E,MAAM,MAAM,qBAAqB,SAA8B;AAAA,IAC/D,QAAQ,gBAAgB,QAAQ,GAAG;AAAA,IAGnC,kBAAkB,MAAM,QAAQ;AAAA;AAAA,EAGlC,SAAS,kBAAkB,GAAkB;AAAA,IAC3C,OAAO,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAAA;AAAA,EAOzD,MAAM,QAAmB;AAAA,SACjB,IAAG,CAAC,KAAK,OAAO,UAAyB;AAAA,MAC7C,IAAI;AAAA,QAAU,MAAM,IAAI,MAAM,uBAAuB;AAAA,MACrD,UAAS,QAAQ,eAAe;AAAA,MAEhC,IAAI,MAAM,SAAS,aAAa;AAAA,QAC9B,MAAM,IAAI,MAAM,8BAA8B,MAAM,YAAY,cAAc;AAAA,MAChF;AAAA,MAGA,MAAM,OAAO,MAAM,gBAAgB,KAAK;AAAA,MACxC,IAAI,SAAS,IAAI,MAAM;AAAA,QACrB,MAAM,IAAI,MAAM,2BAA2B,IAAI,aAAa,MAAM;AAAA,MACpE;AAAA,MAEA,UAAS,QAAQ,eAAe;AAAA,MAKhC,MAAM,MAAM,UAAS,OAAO;AAAA,MAC5B,IAAI,KAAK;AAAA,QACP,WAAW,IAAI,IAAI,MAAM,GAAG;AAAA,MAC9B;AAAA,MAEA,UAAS,aAAa,EAAE,QAAQ,MAAM,QAAQ,OAAO,MAAM,QAAQ,OAAO,YAAY,CAAC;AAAA,MAIvF,MAAM,MAAM,IAAI,IAAI,MAAM,KAAK;AAAA,MAC/B,YAAY,IAAI,IAAI,IAAI;AAAA,MAExB,aAAa,IAAI,IAAI;AAAA;AAAA,SAGjB,IAAG,CAAC,MAAM,UAA2C;AAAA,MACzD,IAAI;AAAA,QAAU,MAAM,IAAI,MAAM,uBAAuB;AAAA,MACrD,UAAS,QAAQ,eAAe;AAAA,MAGhC,MAAM,SAAS,MAAM,MAAM,IAAI,IAAI;AAAA,MACnC,IAAI;AAAA,QAAQ,OAAO;AAAA,MAInB,MAAM,MAAM,UAAS,OAAO;AAAA,MAG5B,MAAM,QAAQ,UAAU,IAAI,IAAI;AAAA,MAChC,MAAM,aACJ,SAAS,MAAM,OAAO,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,QAAQ,gBAAgB;AAAA,MACnF,MAAM,aAAa,WAAW;AAAA,MAC9B,IAAI,CAAC;AAAA,QAAY;AAAA,MAEjB,MAAM,gBAAmC,EAAE,MAAM,gBAAgB,KAAK;AAAA,MACtE,MAAM,MAAM,qBAAqB,aAAkC;AAAA,MACnE,QAAQ,gBAAgB,YAAY,GAAG;AAAA,MAGvC,MAAM,YAAY,MAAM,IAAI,QAAoB,CAAC,SAAS,WAAW;AAAA,QACnE,MAAM,WAA0B;AAAA,UAC9B,OAAO;AAAA,UACP,QAAQ,IAAI;AAAA,UACZ;AAAA,UACA;AAAA,UACA,YAAY,UAAS;AAAA,UACrB;AAAA,UACA,gBAAgB,CAAC,UAAU;AAAA,UAC3B,mBAAmB;AAAA,QACrB;AAAA,QACA,UAAU,IAAI,MAAM,QAAQ;AAAA,QAE5B,UAAS,QAAQ,iBACf,SACA,MAAM;AAAA,UACJ,IAAI,UAAU,IAAI,IAAI,GAAG;AAAA,YACvB,oBAAoB,QAAQ;AAAA,YAC5B,UAAU,OAAO,IAAI;AAAA,YACrB,OAAO,IAAI,MAAM,uBAAuB,CAAC;AAAA,UAC3C;AAAA,WAEF,EAAE,MAAM,KAAK,CACf;AAAA,QAEA,SAAS,YAAY,WAAW,MAAM;AAAA,UACpC,IAAI,UAAU,IAAI,IAAI,GAAG;AAAA,YACvB,oBAAoB,QAAQ;AAAA,YAC5B,UAAU,OAAO,IAAI;AAAA,YACrB,OAAO,IAAI,MAAM,yBAAyB,CAAC;AAAA,UAC7C;AAAA,WACC,mBAAmB;AAAA,OACvB;AAAA,MAGD,MAAM,aAAa,MAAM,gBAAgB,SAAS;AAAA,MAClD,IAAI,eAAe,MAAM;AAAA,QACvB,MAAM,IAAI,MAAM,+CAA+C,aAAa,YAAY;AAAA,MAC1F;AAAA,MAIA,MAAM,MAAM,IAAI,MAAM,SAAS;AAAA,MAC/B,IAAI;AAAA,QAAK,WAAW,IAAI,MAAM,GAAG;AAAA,MACjC,YAAY,IAAI,IAAI;AAAA,MAEpB,OAAO;AAAA;AAAA,SAGH,IAAG,CAAC,MAAmC;AAAA,MAC3C,IAAI;AAAA,QAAU;AAAA,MACd,MAAM,SAAS,SAAS,IAAI,IAAI;AAAA,MAChC,IAAI;AAAA,QAAQ,OAAO;AAAA,MACnB,MAAM,QAAQ,MAAM,MAAM,IAAI,IAAI;AAAA,MAClC,IAAI,CAAC;AAAA,QAAO;AAAA,MACZ,MAAM,SAAS,IAAI,YAAY,MAAM,UAAU;AAAA,MAC/C,IAAI,WAAW,MAAM,EAAE,IAAI,KAAK;AAAA,MAChC,MAAM,YAAY,IAAI,gBAAgB,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;AAAA,MACxD,SAAS,IAAI,MAAM,SAAS;AAAA,MAC5B,OAAO;AAAA;AAAA,SAGH,IAAG,CAAC,MAAqB;AAAA,MAC7B,MAAM,MAAM,IAAI,IAAI;AAAA;AAAA,SAGhB,MAAK,CAAC,MAAqB;AAAA,MAC/B,MAAM,MAAM,MAAM,IAAI;AAAA;AAAA,SAGlB,KAAI,GAAoB;AAAA,MAC5B,OAAO,MAAM,KAAK;AAAA;AAAA,SAGd,MAAK,CAAC,UAA2B;AAAA,MACrC,OAAO,MAAM,MAAM,QAAQ;AAAA;AAAA,IAG7B,OAAO,GAAS;AAAA,MACd,WAAW;AAAA,MACX,QAAQ,gBAAgB;AAAA,MACxB,QAAQ,IAAI,kBAAkB,oBAAoB;AAAA,MAClD,YAAY,MAAM,aAAa,WAAW;AAAA,QACxC,oBAAoB,QAAQ;AAAA,QAC5B,SAAS,OAAO,IAAI,MAAM,oBAAoB,CAAC;AAAA,QAC/C,UAAU,OAAO,IAAI;AAAA,MACvB;AAAA,MACA,WAAW,aAAa,SAAS,OAAO,GAAG;AAAA,QACzC,IAAI,gBAAgB,SAAS;AAAA,MAC/B;AAAA,MACA,SAAS,MAAM;AAAA,MACf,WAAW,MAAM;AAAA,MACjB,MAAM,QAAQ;AAAA;AAAA,EAElB;AAAA,EAEA,OAAO;AAAA;;;ACpaT;;;ACUO,SAAS,oBAAoB,GAAmB;AAAA,EACrD,IAAI,SAA6B;AAAA,EACjC,OAAO;AAAA,IACL,MAAM,YAAY;AAAA,IAClB,MAAM,OAAO,YAAY;AAAA,MACvB,SAAS;AAAA;AAAA,EAEb;AAAA;AAqBK,SAAS,gBAAgB,CAAC,SAA8B;AAAA,EAC7D,MAAM,UAA6B;AAAA,IACjC,SAAS;AAAA,IACT,UAAU;AAAA,MACR,WAAW,cAAc,QAAQ,SAAS,SAAS;AAAA,MACnD,WAAW,cAAc,QAAQ,SAAS,SAAS;AAAA,IACrD;AAAA,IACA,YAAY,kBAAkB,QAAQ,UAAU;AAAA,IAChD,cAAc,kBAAkB,QAAQ,YAAY;AAAA,IACpD,cAAc,CAAC,GAAG,QAAQ,YAAY;AAAA,EACxC;AAAA,EACA,IAAI,QAAQ,uBAAuB,QAAQ,oBAAoB,OAAO,GAAG;AAAA,IACvE,QAAQ,sBAAsB,CAAC,GAAG,QAAQ,mBAAmB;AAAA,EAC/D;AAAA,EACA,OAAO,KAAK,UAAU,SAAS,MAAM,CAAC;AAAA;AASjC,SAAS,kBAAkB,CAAC,MAA2B;AAAA,EAC5D,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,MAAM,KAAK,MAAM,IAAI;AAAA,IACrB,OAAO,KAAK;AAAA,IACZ,MAAM,IAAI,MAAM,sDAAuD,IAAc,SAAS;AAAA;AAAA,EAEhG,IAAI,CAAC,OAAO,OAAO,QAAQ,UAAU;AAAA,IACnC,MAAM,IAAI,MAAM,kDAAkD;AAAA,EACpE;AAAA,EACA,MAAM,IAAI;AAAA,EACV,IAAI,EAAE,YAAY,GAAG;AAAA,IACnB,MAAM,IAAI,MAAM,gDAAgD,OAAO,EAAE,OAAO,GAAG;AAAA,EACrF;AAAA,EACA,IAAI,CAAC,EAAE,YAAY,OAAO,EAAE,aAAa,UAAU;AAAA,IACjD,MAAM,IAAI,MAAM,qDAAqD;AAAA,EACvE;AAAA,EACA,MAAM,WAA2B;AAAA,IAC/B,WAAW,cAAc,EAAE,SAAS,SAAS;AAAA,IAC7C,WAAW,cAAc,EAAE,SAAS,SAAS;AAAA,EAC/C;AAAA,EACA,MAAM,UAAuB;AAAA,IAC3B;AAAA,IACA,YAAY,kBAAkB,EAAE,cAAc,CAAC,CAAC;AAAA,IAChD,cAAc,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAAA,IACpD,cAAc,IAAI,IAAI,EAAE,gBAAgB,CAAC,CAAC;AAAA,EAC5C;AAAA,EACA,IAAI,EAAE,uBAAuB,EAAE,oBAAoB,SAAS,GAAG;AAAA,IAC7D,QAAQ,sBAAsB,IAAI,IAAI,EAAE,mBAAmB;AAAA,EAC7D;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,iBAAiB,CAAC,KAAsD;AAAA,EAC/E,MAAM,MAA8B,CAAC;AAAA,EACrC,YAAY,KAAK,UAAU,KAAK;AAAA,IAC9B,IAAI,OAAO,cAAc,KAAK;AAAA,EAChC;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,iBAAiB,CAAC,QAAyD;AAAA,EAClF,MAAM,MAAM,IAAI;AAAA,EAChB,YAAY,KAAK,UAAU,OAAO,QAAQ,MAAM,GAAG;AAAA,IACjD,IAAI,IAAI,KAAK,cAAc,KAAK,CAAC;AAAA,EACnC;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,aAAa,CAAC,OAA2B;AAAA,EAEhD,IAAI,SAAS;AAAA,EACb,WAAW,QAAQ,OAAO;AAAA,IACxB,UAAU,OAAO,aAAa,IAAI;AAAA,EACpC;AAAA,EACA,OAAO,KAAK,MAAM;AAAA;AAGpB,SAAS,aAAa,CAAC,KAAyB;AAAA,EAC9C,MAAM,SAAS,KAAK,GAAG;AAAA,EACvB,MAAM,QAAQ,IAAI,WAAW,OAAO,MAAM;AAAA,EAC1C,SAAS,IAAI,EAAG,IAAI,OAAO,QAAQ,KAAK;AAAA,IACtC,MAAM,KAAK,OAAO,WAAW,CAAC;AAAA,EAChC;AAAA,EACA,OAAO;AAAA;;AC1IT;;;AC0BA;AANA;AAAA;AAAA;;;ACTA;AAGO,IAAM,mBAAmB;AAEzB,IAAM,mBAAmB;AAEzB,IAAM,kBAAkB;AAAA;AA4BxB,MAAM,qBAAqB,MAAM;AAAA,EAC7B;AAAA,EAMT,WAAW,CAAC,SAAiB,MAA4B;AAAA,IACvD,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA;AAEhB;AAKO,SAAS,sBAAsB,GAAmB;AAAA,EACvD,MAAM,OAAO,MAAK,KAAK,QAAQ;AAAA,EAC/B,OAAO;AAAA,IACL,WAAW,KAAK;AAAA,IAChB,WAAW,KAAK;AAAA,EAClB;AAAA;AAOK,SAAS,wBAAwB,CAAC,WAAuC;AAAA,EAC9E,IAAI,UAAU,WAAW,kBAAkB;AAAA,IACzC,MAAM,IAAI,aACR,8BAA8B,+BAA+B,UAAU,WACvE,oBACF;AAAA,EACF;AAAA,EACA,MAAM,OAAO,MAAK,KAAK,QAAQ,cAAc,SAAS;AAAA,EACtD,OAAO;AAAA,IACL,WAAW,KAAK;AAAA,IAChB,WAAW,KAAK;AAAA,EAClB;AAAA;AAOK,SAAS,IAAI,CAAC,SAAqB,WAAmC;AAAA,EAC3E,IAAI,UAAU,WAAW,kBAAkB;AAAA,IACzC,MAAM,IAAI,aACR,8BAA8B,+BAA+B,UAAU,WACvE,oBACF;AAAA,EACF;AAAA,EACA,OAAO,MAAK,KAAK,SAAS,SAAS,SAAS;AAAA;AASvC,SAAS,MAAM,CAAC,SAAqB,WAAuB,WAAgC;AAAA,EACjG,IAAI,UAAU,WAAW,kBAAkB;AAAA,IACzC,MAAM,IAAI,aACR,8BAA8B,+BAA+B,UAAU,WACvE,oBACF;AAAA,EACF;AAAA,EACA,IAAI,UAAU,WAAW,iBAAiB;AAAA,IACxC,MAAM,IAAI,aACR,6BAA6B,8BAA8B,UAAU,WACrE,0BACF;AAAA,EACF;AAAA,EACA,OAAO,MAAK,KAAK,SAAS,OAAO,SAAS,WAAW,SAAS;AAAA;AAQzD,SAAS,YAAY,CAC1B,SACA,UACA,WACgB;AAAA,EAChB,MAAM,YAAY,KAAK,SAAS,SAAS;AAAA,EACzC,OAAO,EAAE,UAAU,SAAS,UAAU;AAAA;AASjC,SAAS,aAAY,CAAC,UAA0B,WAAmC;AAAA,EACxF,MAAM,KAAK,OAAO,SAAS,SAAS,SAAS,WAAW,SAAS;AAAA,EACjE,IAAI,CAAC,IAAI;AAAA,IACP,MAAM,IAAI,aACR,mDAAmD,SAAS,aAC5D,oBACF;AAAA,EACF;AAAA,EACA,OAAO,SAAS;AAAA;AAeX,SAAS,oBAAoB,CAAC,UAAsC;AAAA,EACzE,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,SAAS,QAAQ;AAAA,EAC9D,MAAM,QAAQ,IAAI,YAAY,SAAS,kBAAkB,SAAS,QAAQ;AAAA,EAC1E,MAAM,MAAM,IAAI,WAAW,KAAK;AAAA,EAChC,MAAM,OAAO,IAAI,SAAS,IAAI,MAAM;AAAA,EACpC,KAAK,UAAU,GAAG,YAAY,QAAQ,KAAK;AAAA,EAC3C,IAAI,IAAI,aAAa,CAAC;AAAA,EACtB,IAAI,IAAI,SAAS,WAAW,IAAI,YAAY,MAAM;AAAA,EAClD,IAAI,IAAI,SAAS,SAAS,IAAI,YAAY,SAAS,eAAe;AAAA,EAClE,OAAO;AAAA;AAOF,SAAS,oBAAoB,CAAC,OAAmC;AAAA,EACtE,IAAI,MAAM,SAAS,IAAI,iBAAiB;AAAA,IACtC,MAAM,IAAI,aACR,uBAAuB,MAAM,+BAA+B,IAAI,oBAChE,oBACF;AAAA,EACF;AAAA,EACA,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAAA,EAC1E,MAAM,YAAY,KAAK,UAAU,GAAG,KAAK;AAAA,EACzC,IAAI,MAAM,SAAS,IAAI,YAAY,iBAAiB;AAAA,IAClD,MAAM,IAAI,aACR,8CAA8C,oBAAoB,MAAM,WACxE,oBACF;AAAA,EACF;AAAA,EACA,MAAM,WAAW,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;AAAA,EAC1E,MAAM,YAAY,MAAM,MAAM,IAAI,WAAW,IAAI,YAAY,eAAe;AAAA,EAC5E,MAAM,UAAU,MAAM,MAAM,IAAI,YAAY,eAAe;AAAA,EAC3D,OAAO,EAAE,UAAU,SAAS,UAAU;AAAA;;;AD/JjC,IAAM,sBAAsB;AAAA;AAiE5B,MAAM,2BAA2B,eAAe;AAAA,EAC5C;AAAA,EACA;AAAA,EACA;AAAA,EAET,WAAW,CAAC,SAAoC;AAAA,IAC9C,MAAM;AAAA,IACN,KAAK,OAAO,QAAQ;AAAA,IACpB,KAAK,UAAU,QAAQ;AAAA,IACvB,KAAK,oBAAoB,QAAQ,qBAAqB;AAAA,IAGtD,KAAK,KAAK,GAAG,SAAS,MAAM,KAAK,KAAK,OAAO,CAAC;AAAA,IAC9C,KAAK,KAAK,GAAG,kBAAkB,CAAC,YAAY,KAAK,KAAK,kBAAkB,OAAO,CAAC;AAAA,IAChF,KAAK,KAAK,GAAG,qBAAqB,CAAC,YAAY,KAAK,KAAK,qBAAqB,OAAO,CAAC;AAAA,IAItF,KAAK,KAAK,GAAG,WAAW,CAAC,eAAe;AAAA,MACtC,MAAM,YAAY,KAAK,UAAU,UAAU;AAAA,MAC3C,IAAI,WAAW;AAAA,QACb,KAAK,KAAK,WAAW,SAAS;AAAA,MAChC;AAAA,KAMD;AAAA;AAAA,EAGH,OAAO,GAAY;AAAA,IACjB,OAAO,KAAK,KAAK,QAAQ;AAAA;AAAA,EAG3B,SAAS,GAAkB;AAAA,IACzB,OAAO,KAAK,KAAK,UAAU;AAAA;AAAA,EAG7B,OAAO,CAAC,QAAgB,cAAmC;AAAA,IACzD,KAAK,SAAS;AAAA,IACd,IAAI,iBAAiB,WAAW;AAAA,MAC9B,KAAK,eAAe;AAAA,IACtB;AAAA,IACA,KAAK,KAAK,QAAQ,QAAQ,YAAY;AAAA;AAAA,EAGxC,UAAU,GAAS;AAAA,IACjB,KAAK,KAAK,WAAW;AAAA;AAAA,EAGvB,IAAI,CAAC,SAAwB;AAAA,IAC3B,MAAM,UAAU,KAAK,KAAK,OAAO;AAAA,IACjC,KAAK,KAAK,KAAK,OAAO;AAAA;AAAA,EAQhB,IAAI,CAAC,SAA2B;AAAA,IACtC,MAAM,aAAa,iBAAiB,OAAO;AAAA,IAE3C,IAAI;AAAA,IACJ,IAAI,KAAK,mBAAmB;AAAA,MAC1B,MAAM,SAAS,KAAK,QAAQ,aAAa,IAAI,mBAAmB;AAAA,MAChE,IAAI,CAAC,QAAQ;AAAA,QACX,MAAM,IAAI,MACR,iEAAiE,wEACnE;AAAA,MACF;AAAA,MACA,MAAM,YAAY,aAAsB,YAAY,qBAAqB,MAAM;AAAA,MAC/E,gBAAgB,wBAAwB,SAAS;AAAA,IACnD,EAAO;AAAA,MACL,gBAAgB;AAAA;AAAA,IAGlB,MAAM,SAAS,aAAa,eAAe,QAAQ,UAAU,KAAK,QAAQ,SAAS,SAAS;AAAA,IAC5F,MAAM,cAAc,qBAAqB,MAAM;AAAA,IAE/C,OAAO;AAAA,MACL,MAAM,QAAQ;AAAA,MACd,UAAU,QAAQ;AAAA,MAClB,UAAU,QAAQ;AAAA,MAClB,MAAM;AAAA,IACR;AAAA;AAAA,EAOM,SAAS,CAAC,SAAuC;AAAA,IACvD,IAAI,CAAC,QAAQ;AAAA,MAAM;AAAA,IAEnB,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,SAAS,qBAAqB,QAAQ,IAAI;AAAA,MAC1C,MAAM;AAAA,MACN;AAAA;AAAA,IAMF,IAAI,KAAK,QAAQ,aAAa,IAAI,OAAO,QAAQ,GAAG;AAAA,MAClD;AAAA,IACF;AAAA,IAEA,MAAM,YAAY,KAAK,QAAQ,WAAW,IAAI,OAAO,QAAQ;AAAA,IAC7D,IAAI,CAAC,WAAW;AAAA,MACd;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,kBAAkB,cAAmB,QAAQ,SAAS;AAAA,MACtD,MAAM;AAAA,MACN;AAAA;AAAA,IAGF,IAAI,CAAC,KAAK,mBAAmB;AAAA,MAE3B,OAAO,mBAAmB,eAAe;AAAA,IAC3C;AAAA,IAGA,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,YAAY,wBAAwB,eAAe;AAAA,MACnD,MAAM;AAAA,MACN;AAAA;AAAA,IAGF,MAAM,SAAS,KAAK,QAAQ,aAAa,IAAI,UAAU,UAAU;AAAA,IACjE,IAAI,CAAC,QAAQ;AAAA,MACX;AAAA,IACF;AAAA,IAEA,IAAI;AAAA,IACJ,IAAI;AAAA,MACF,YAAY,aAAsB,WAAW,MAAM;AAAA,MACnD,MAAM;AAAA,MACN;AAAA;AAAA,IAGF,OAAO,mBAAmB,SAAS;AAAA;AAEvC;AAWA,SAAS,gBAAgB,CAAC,SAA8B;AAAA,EACtD,MAAM,YAAqC;AAAA,IACzC,MAAM,QAAQ;AAAA,IACd,UAAU,QAAQ;AAAA,IAClB,UAAU,QAAQ;AAAA,EACpB;AAAA,EACA,IAAI,gBAAgB,WAAW,QAAQ,eAAe,WAAW;AAAA,IAC/D,UAAU,gBAAgB,QAAQ;AAAA,EACpC;AAAA,EACA,IAAI,WAAW,WAAW,QAAQ,UAAU,WAAW;AAAA,IACrD,UAAU,WAAW,QAAQ;AAAA,EAC/B;AAAA,EACA,IAAI,eAAe,WAAW,QAAQ,cAAc,WAAW;AAAA,IAC7D,UAAU,eAAe,QAAQ;AAAA,EACnC;AAAA,EACA,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU,SAAS,CAAC;AAAA,EACtE,MAAM,YACJ,UAAU,WAAW,QAAQ,gBAAgB,aAAa,QAAQ,OAAO,IAAI,WAAW,CAAC;AAAA,EAE3F,MAAM,MAAM,IAAI,WAAW,IAAI,YAAY,SAAS,UAAU,MAAM;AAAA,EACpE,MAAM,OAAO,IAAI,SAAS,IAAI,MAAM;AAAA,EACpC,KAAK,UAAU,GAAG,YAAY,QAAQ,KAAK;AAAA,EAC3C,IAAI,IAAI,aAAa,CAAC;AAAA,EACtB,IAAI,IAAI,WAAW,IAAI,YAAY,MAAM;AAAA,EACzC,OAAO;AAAA;AAMT,SAAS,kBAAkB,CAAC,OAA4B;AAAA,EACtD,IAAI,MAAM,SAAS,GAAG;AAAA,IACpB,MAAM,IAAI,MAAM,uDAAuD;AAAA,EACzE;AAAA,EACA,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAAA,EAC1E,MAAM,YAAY,KAAK,UAAU,GAAG,KAAK;AAAA,EACzC,IAAI,MAAM,SAAS,IAAI,WAAW;AAAA,IAChC,MAAM,IAAI,MAAM,+CAA+C;AAAA,EACjE;AAAA,EACA,MAAM,SAAS,KAAK,MAAM,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,CAAC;AAAA,EACpF,MAAM,OAAO,MAAM,MAAM,IAAI,SAAS;AAAA,EACtC,OAAO,KAAK,QAAQ,KAAK;AAAA;;;AE7QpB,MAAM,oBAAoB;AAAA,EACtB;AAAA,EACA;AAAA,EACQ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACT;AAAA,EACA,SAAS;AAAA,EACA;AAAA,EAEjB,WAAW,CAAC,SAAqC;AAAA,IAC/C,KAAK,MAAM,QAAQ;AAAA,IACnB,KAAK,SAAS,QAAQ;AAAA,IACtB,KAAK,WAAW,QAAQ;AAAA,IACxB,IAAI,QAAQ,YAAY;AAAA,MAAW,KAAK,UAAU,QAAQ;AAAA,IAC1D,IAAI,QAAQ,WAAW;AAAA,MAAW,KAAK,SAAS,QAAQ;AAAA,IACxD,IAAI,QAAQ,YAAY;AAAA,MAAW,KAAK,UAAU,QAAQ;AAAA,IAC1D,MAAM,KAAK,QAAQ,aAAa,WAAW;AAAA,IAC3C,IAAI,OAAO,OAAO,YAAY;AAAA,MAC5B,MAAM,IAAI,MACR,iLACF;AAAA,IACF;AAAA,IACA,KAAK,gBAAgB;AAAA;AAAA,OAQjB,QAAO,GAAkB;AAAA,IAC7B,OAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAAA,MACtC,MAAM,KAAK,IAAI,KAAK,cAAc,KAAK,GAAG;AAAA,MAC1C,KAAK,SAAS;AAAA,MAEd,GAAG,iBAAiB,QAAQ,MAAM;AAAA,QAIhC,GAAG,KAAK,KAAK,UAAU,EAAE,MAAM,QAAQ,QAAQ,KAAK,OAAO,CAA4B,CAAC;AAAA,QACxF,KAAK,SAAS;AAAA,QACd,KAAK,SAAS;AAAA,QACd,QAAQ;AAAA,OACT;AAAA,MAED,GAAG,iBAAiB,WAAW,CAAC,UAAU;AAAA,QACxC,IAAI;AAAA,QACJ,IAAI;AAAA,UACF,MAAM,OAAO,MAAM,SAAS,WAAW,KAAK,MAAM,MAAM,IAAI,IAAI,MAAM;AAAA,UACtE,MAAM;AAAA,UACN;AAAA;AAAA,QAEF,IAAI,IAAI,SAAS,YAAY,OAAO,IAAI,WAAW,UAAU;AAAA,UAC3D,KAAK,SAAS,IAAI,QAAQ,IAAI,OAAO;AAAA,UACrC;AAAA,QACF;AAAA,QACA,IAAI,IAAI,SAAS,WAAW,IAAI,QAAQ;AAAA,UACtC,KAAK,UAAU,IAAI,QAAQ,IAAI,YAAY;AAAA,QAC7C;AAAA,OACD;AAAA,MAED,GAAG,iBAAiB,SAAS,CAAC,QAAQ;AAAA,QACpC,OAAO,GAAG;AAAA,OACX;AAAA,MAED,GAAG,iBAAiB,SAAS,MAAM;AAAA,QACjC,KAAK,SAAS;AAAA,QACd,KAAK,UAAU;AAAA,OAChB;AAAA,KACF;AAAA;AAAA,EASH,UAAU,CAAC,cAAsB,SAA2B;AAAA,IAC1D,IAAI,CAAC,KAAK,UAAU,KAAK,OAAO,eAAe,KAAK,cAAc,QAAQ,CAAC,KAAK,QAAQ;AAAA,MACtF,OAAO;AAAA,IACT;AAAA,IACA,MAAM,MAAwB;AAAA,MAC5B,MAAM;AAAA,MACN,QAAQ,KAAK;AAAA,MACb;AAAA,MACA;AAAA,IACF;AAAA,IACA,KAAK,OAAO,KAAK,KAAK,UAAU,GAAG,CAAC;AAAA,IACpC,OAAO;AAAA;AAAA,EAOT,KAAK,GAAS;AAAA,IACZ,KAAK,QAAQ,MAAM;AAAA,IACnB,KAAK,SAAS;AAAA,IACd,KAAK,SAAS;AAAA;AAAA,MAIZ,WAAW,GAAY;AAAA,IACzB,OAAO,KAAK,UAAU,KAAK,QAAQ,eAAe,KAAK,cAAc;AAAA;AAEzE;;;ACtIA;AACA;;;ACqBO,MAAM,uBAAuB,MAAM;AAAA,EAC/B;AAAA,EACA;AAAA,EACA;AAAA,EAET,WAAW,CACT,SACA,MACA,KACA,WACA;AAAA,IACA,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,IACZ,KAAK,MAAM;AAAA,IACX,KAAK,YAAY;AAAA;AAErB;AAAA;AAOO,MAAM,kBAAkB;AAAA,EACZ,QAAQ,IAAI;AAAA,EAErB,QAAQ,CAAC,KAAa,WAAkC;AAAA,IAC9D,OAAO,GAAG,aAAa;AAAA;AAAA,EAIzB,IAAI,CAAC,KAAa,WAAgC;AAAA,IAChD,KAAK,MAAM,IAAI,KAAK,SAAS,KAAK,SAAS,CAAC;AAAA;AAAA,EAI9C,QAAQ,CAAC,KAAa,WAAmC;AAAA,IACvD,OAAO,KAAK,MAAM,IAAI,KAAK,SAAS,KAAK,SAAS,CAAC;AAAA;AAAA,EAIrD,KAAK,GAAS;AAAA,IACZ,KAAK,MAAM,MAAM;AAAA;AAAA,MAIf,IAAI,GAAW;AAAA,IACjB,OAAO,KAAK,MAAM;AAAA;AAEtB;AAMO,IAAM,oBAAoB,IAAI;AAkBrC,eAAsB,gBAAqC,CACzD,QACA,aACA,WACe;AAAA,EACf,IAAK,WAAmC,aAAoC;AAAA,IAC1E,MAAM,IAAI,eACR,0CAA0C,OAAO,cAAc,OAAO,cACtE,2BACA,OAAO,KACP,OAAO,SACT;AAAA,EACF;AAAA,EACA,IAAI,kBAAkB,SAAS,OAAO,KAAK,OAAO,SAAS,GAAG;AAAA,IAC5D,MAAM,IAAI,eACR,2BAA2B,OAAO,eAAe,OAAO,6EACxD,oBACA,OAAO,KACP,OAAO,SACT;AAAA,EACF;AAAA,EACA,MAAM,OAAO;AAAA,EACb,MAAM,YAAY;AAAA,EAClB,MAAM,cAAc,UAAU,OAAO,KAAK;AAAA,EAC1C,YAAY,QAAQ;AAAA,EACpB,kBAAkB,KAAK,OAAO,KAAK,OAAO,SAAS;AAAA;;;AC9G9C,MAAM,gCAAgC,MAAM;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,WAAW,CACT,KACA,gBACA,eACA,iBACA,gBACA;AAAA,IACA,MAAM,gBAAgB,gBAAgB,QAAQ,mBAAmB;AAAA,IACjE,MAAM,iBAAiB,iBAAiB,QAAQ,oBAAoB;AAAA,IACpE,MACE,mCAAmC,mCACjC,IAAI,iBAAiB,iDACrB,OAAO,kBAAkB,6CACzB,wCACJ;AAAA,IACA,KAAK,OAAO;AAAA,IACZ,KAAK,MAAM;AAAA,IACX,KAAK,iBAAiB;AAAA,IACtB,KAAK,gBAAgB;AAAA,IACrB,KAAK,kBAAkB;AAAA,IACvB,KAAK,iBAAiB;AAAA;AAE1B;AAAA;AAaO,MAAM,kBAAkB;AAAA,EACZ,UAAU,IAAI;AAAA,EAU/B,QAAQ,CAAC,KAAa,WAA0B,UAAyB;AAAA,IACvE,MAAM,WAAW,KAAK,QAAQ,IAAI,GAAG;AAAA,IACrC,IAAI,YAAY,SAAS,cAAc,WAAW;AAAA,MAChD,MAAM,IAAI,wBACR,KACA,SAAS,WACT,SAAS,UACT,WACA,QACF;AAAA,IACF;AAAA,IACA,IAAI,CAAC,UAAU;AAAA,MACb,KAAK,QAAQ,IAAI,KAAK,EAAE,WAAW,SAAS,CAAC;AAAA,IAC/C;AAAA;AAAA,EAMF,GAAG,CAAC,KAAsB;AAAA,IACxB,OAAO,KAAK,QAAQ,IAAI,GAAG;AAAA;AAAA,EAO7B,MAAM,CAAC,KAAwC;AAAA,IAC7C,OAAO,KAAK,QAAQ,IAAI,GAAG,GAAG;AAAA;AAAA,EAOhC,KAAK,GAAS;AAAA,IACZ,KAAK,QAAQ,MAAM;AAAA;AAAA,MAMjB,IAAI,GAAW;AAAA,IACjB,OAAO,KAAK,QAAQ;AAAA;AAExB;AAMO,IAAM,oBAAoB,IAAI;;;ACxH9B,IAAM,uBAAuB;AAAA;AA2C7B,MAAM,2BAA2B,MAAM;AAAA,EACnC;AAAA,EAKA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAET,WAAW,CACT,SACA,MACA,UAKI,CAAC,GACL;AAAA,IACA,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA,IACZ,IAAI,QAAQ,eAAe;AAAA,MAAW,KAAK,aAAa,QAAQ;AAAA,IAChE,IAAI,QAAQ,kBAAkB;AAAA,MAAW,KAAK,gBAAgB,QAAQ;AAAA,IACtE,IAAI,QAAQ,cAAc;AAAA,MAAW,KAAK,YAAY,QAAQ;AAAA,IAC9D,IAAI,QAAQ,mBAAmB;AAAA,MAAW,KAAK,iBAAiB,QAAQ;AAAA;AAE5E;AAQO,SAAS,aAAa,CAAC,KAAsB;AAAA,EAClD,IAAI,OAAO,QAAQ,YAAY,QAAQ;AAAA,IAAM,OAAO;AAAA,EACpD,MAAM,SAAS;AAAA,EACf,MAAM,QAAQ,OAAO;AAAA,EACrB,OAAO,OAAO,UAAU,YAAY,OAAO,UAAU,KAAK,KAAK,SAAS,IAAI,QAAQ;AAAA;AAO/E,SAAS,aAAa,CAAC,KAA8B,SAAuB;AAAA,EACjF,IAAI,wBAAwB;AAAA;AAWvB,SAAS,aAAa,CAC3B,KACA,eACA,YACM;AAAA,EACN,MAAM,UAAU,cAAc,GAAG;AAAA,EACjC,IAAI,UAAU,eAAe;AAAA,IAC3B,MAAM,IAAI,mBACR,iCAAiC,uCAAuC,uDACxE,oBACA,EAAE,YAAY,SAAS,cAAc,CACvC;AAAA,EACF;AAAA,EACA,SAAS,IAAI,UAAU,EAAG,KAAK,eAAe,KAAK;AAAA,IACjD,MAAM,YAAY,WAAW;AAAA,IAC7B,IAAI,CAAC,WAAW;AAAA,MACd,MAAM,IAAI,mBACR,wCAAwC,yCAAyC,UAAU,aAAa,kBACxG,qBACA,EAAE,YAAY,SAAS,eAAe,gBAAgB,EAAE,CAC1D;AAAA,IACF;AAAA,IACA,UAAU,GAAG;AAAA,IACb,cAAc,KAAK,CAAC;AAAA,EACtB;AAAA;AAuBK,SAAS,cAAc,CAAC,WAAmB,YAAoC;AAAA,EACpF,IAAI,YAAY,YAAY;AAAA,IAC1B,OAAO,EAAE,YAAY,OAAO,QAAQ,qBAAqB,WAAW,WAAW;AAAA,EACjF;AAAA,EACA,IAAI,YAAY,YAAY;AAAA,IAC1B,OAAO,EAAE,YAAY,OAAO,QAAQ,qBAAqB,WAAW,WAAW;AAAA,EACjF;AAAA,EACA,OAAO,EAAE,YAAY,KAAK;AAAA;AAQrB,SAAS,eAAe,CAAC,WAAmB,YAA0B;AAAA,EAC3E,MAAM,SAAS,eAAe,WAAW,UAAU;AAAA,EACnD,IAAI,OAAO;AAAA,IAAY;AAAA,EACvB,MAAM,UACJ,OAAO,WAAW,sBACd,8CAA8C,4CAA4C,8CAC1F,8CAA8C,4CAA4C;AAAA,EAChG,MAAM,IAAI,mBAAmB,SAAS,OAAO,QAAQ,EAAE,WAAW,WAAW,CAAC;AAAA;;;AH1HhF,SAAS,0BAAqD,CAC5D,QACyB;AAAA,EACzB,IAAI,kBAAkB,SAAS,OAAO,KAAK,OAAO,SAAS,GAAG;AAAA,IAC5D,MAAM,IAAI,eACR,qBAAqB,OAAO,cAAc,OAAO,+GACjD,oBACA,OAAO,KACP,OAAO,SACT;AAAA,EACF;AAAA,EACA,kBAAkB,SAAS,OAAO,KAAK,OAAO,WAAW,OAAO,QAAQ;AAAA,EAExE,MAAM,QAAQ,OAAU,OAAO,YAAY;AAAA,EAC3C,IAAI,WAAW;AAAA,EACf,IAAI;AAAA,EAEJ,MAAM,UAAU,YAAY;AAAA,IAC1B,MAAM,SAAS,MAAM,OAAO,UAAU;AAAA,IACtC,MAAM,OAAO,UAAU;AAAA,IACvB,gBAAgB;AAAA,IAEhB,IAAI,OAAO,kBAAkB,WAAW;AAAA,MACtC,MAAM,gBAAgB,OAAO;AAAA,MAC7B,MAAM,aAAa,OAAO,cAAc,CAAC;AAAA,MACzC,OAAO,OAAO,CAAC,QAAQ;AAAA,QACrB,cAAc,KAA2C,eAAe,UAAU;AAAA,QAClF,cAAc,KAA2C,aAAa;AAAA,OACvE;AAAA,IACH;AAAA,IAEA,WAAW;AAAA,IACX,IAAI;AAAA,MACF,MAAM,QAAQ,OAAO,aAAa,OAAO,IAAI,CAAC;AAAA,cAC9C;AAAA,MACA,WAAW;AAAA;AAAA,IAGb,OAAO,GAAG,UAAU,CAAC,YAAY;AAAA,MAC/B,IAAI;AAAA,QAAU;AAAA,MACd,WAAW;AAAA,MACX,IAAI;AAAA,QACF,MAAM,QAAQ,OAAO,aAAa,QAAQ,GAAG;AAAA,gBAC7C;AAAA,QACA,WAAW;AAAA;AAAA,KAEd;AAAA,IAED,OAAO,MAAM;AAAA,MACX,MAAM,QAAQ,MAAM;AAAA,MACpB,IAAI;AAAA,QAAU;AAAA,MACd,IAAI,CAAC;AAAA,QAAe;AAAA,MACpB,WAAW;AAAA,MACX,IAAI;AAAA,QACF,cAAc,OAAO,CAAC,QAAQ;AAAA,UAC5B,OAAO,WAAW,KAAK,KAAK;AAAA,SAC7B;AAAA,gBACD;AAAA,QACA,WAAW;AAAA;AAAA,KAEd;AAAA,KACA;AAAA,EAEH,OAAO;AAAA,IACL,KAAK,OAAO;AAAA,IACZ,WAAW,OAAO;AAAA,QACd,KAAK,GAAG;AAAA,MACV,OAAO,MAAM;AAAA;AAAA,QAEX,KAAK,CAAC,MAAS;AAAA,MACjB,MAAM,QAAQ;AAAA;AAAA,IAEhB;AAAA,QACI,MAAM,GAAG;AAAA,MACX,OAAO;AAAA;AAAA,EAEX;AAAA;AA2BK,SAAS,SAAS,CACvB,KACA,cACA,SAC8B;AAAA,EAC9B,OAAO,2BAA4C;AAAA,IACjD;AAAA,IACA,WAAW,QAAQ,aAAa;AAAA,IAChC;AAAA,IACA,WAAW,QAAQ;AAAA,IACnB,cAAc,CAAC,QAAQ,IAAI,QAAQ;AAAA,IACnC,YAAY,CAAC,KAAK,UAAU;AAAA,MAC1B,IAAI,IAAI,SAAS,WAAW;AAAA,QAEzB,IAA2B,OAAO;AAAA,MACrC,EAAO;AAAA,QACL,WAAW,KAAK,CAAC,MAAM,GAAG,KAAK;AAAA;AAAA;AAAA,IAGnC,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,IACpB,QAAQ,QAAQ;AAAA,IAChB,UAAU,QAAQ;AAAA,EACpB,CAAC;AAAA;AA8BI,SAAS,YAAY,CAC1B,KACA,cACA,SAC8B;AAAA,EAC9B,OAAO,2BAA+C;AAAA,IACpD;AAAA,IACA,WAAW,QAAQ,aAAa;AAAA,IAChC;AAAA,IACA,WAAW,QAAQ;AAAA,IACnB,cAAc,CAAC,QAAQ;AAAA,MACrB,MAAM,IAAI,IAAI;AAAA,MACd,IAAI,MAAM;AAAA,QAAW,OAAO;AAAA,MAC5B,OAAO,EAAE;AAAA;AAAA,IAEX,YAAY,CAAC,KAAK,UAAU;AAAA,MAC1B,MAAM,WAAW,IAAI;AAAA,MACrB,IAAI,aAAa,WAAW;AAAA,QACzB,IAA8B,QAAQ,IAAI,QAAQ,KAAK;AAAA,MAC1D,EAAO;AAAA,QACL,MAAM,QAAQ,QAAQ,SAAS;AAAA,QAC/B,IAAI,UAAU,GAAG;AAAA,UACf,SAAS,UAAU,KAAK;AAAA,QAC1B;AAAA;AAAA;AAAA,IAGJ,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,IACpB,QAAQ,QAAQ;AAAA,IAChB,UAAU,QAAQ;AAAA,EACpB,CAAC;AAAA;AA8BI,SAAS,SAAY,CAC1B,KACA,cACA,SAC2B;AAAA,EAC3B,OAAO,2BAA4C;AAAA,IACjD;AAAA,IACA,WAAW,QAAQ,aAAa;AAAA,IAChC;AAAA,IACA,WAAW,QAAQ;AAAA,IACnB,cAAc,CAAC,QAAS,IAAI,QAAQ,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;AAAA,IACtD,YAAY,CAAC,KAAK,UAAU;AAAA,MAGzB,IAA8B,QAAQ,CAAC,GAAG,KAAK;AAAA;AAAA,IAElD,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,IACpB,QAAQ,QAAQ;AAAA,IAChB,UAAU,QAAQ;AAAA,EACpB,CAAC;AAAA;;;AInSH,mBAAS,mBAAQ;AAsEV,SAAS,UAAkC,CAAC,SAAgD;AAAA,EACjG,IAAI,kBAAkB,SAAS,QAAQ,KAAK,QAAQ,SAAS,GAAG;AAAA,IAC9D,MAAM,IAAI,eACR,qBAAqB,QAAQ,cAAc,QAAQ,+GACnD,oBACA,QAAQ,KACR,QAAQ,SACV;AAAA,EACF;AAAA,EACA,kBAAkB,SAAS,QAAQ,KAAK,QAAQ,WAAW,QAAQ,QAAQ;AAAA,EAE3E,MAAM,QAAQ,QAAU,QAAQ,YAAY;AAAA,EAC5C,IAAI,WAAW;AAAA,EACf,IAAI;AAAA,EAEJ,MAAM,UAAU,YAAY;AAAA,IAC1B,MAAM,SAAS,MAAM,QAAQ,UAAU;AAAA,IACvC,MAAM,OAAO,UAAU;AAAA,IACvB,gBAAgB;AAAA,IAIhB,IAAI,QAAQ,kBAAkB,WAAW;AAAA,MACvC,MAAM,gBAAgB,QAAQ;AAAA,MAC9B,MAAM,aAAa,QAAQ,cAAc,CAAC;AAAA,MAC1C,OAAO,OAAO,CAAC,QAAQ;AAAA,QACrB,cAAc,KAA2C,eAAe,UAAU;AAAA,QAGlF,cAAc,KAA2C,aAAa;AAAA,OACvE;AAAA,IACH;AAAA,IAIA,WAAW;AAAA,IACX,IAAI;AAAA,MACF,MAAM,QAAQ,SAAS,OAAO,IAAI,CAAC;AAAA,cACnC;AAAA,MACA,WAAW;AAAA;AAAA,IAIb,OAAO,GAAG,UAAU,CAAC,YAAY;AAAA,MAC/B,IAAI;AAAA,QAAU;AAAA,MACd,WAAW;AAAA,MACX,IAAI;AAAA,QACF,MAAM,QAAQ,SAAS,QAAQ,GAAG;AAAA,gBAClC;AAAA,QACA,WAAW;AAAA;AAAA,KAEd;AAAA,IAMD,QAAO,MAAM;AAAA,MACX,MAAM,QAAQ,MAAM;AAAA,MACpB,IAAI;AAAA,QAAU;AAAA,MACd,IAAI,CAAC;AAAA,QAAe;AAAA,MACpB,WAAW;AAAA,MACX,IAAI;AAAA,QACF,cAAc,OAAO,CAAC,QAAQ;AAAA,UAC5B,cAAc,KAA2C,KAAK;AAAA,SAC/D;AAAA,gBACD;AAAA,QACA,WAAW;AAAA;AAAA,KAEd;AAAA,KACA;AAAA,EAEH,OAAO;AAAA,IACL,KAAK,QAAQ;AAAA,IACb,WAAW,QAAQ;AAAA,QACf,KAAK,GAAG;AAAA,MACV,OAAO,MAAM;AAAA;AAAA,QAEX,KAAK,CAAC,MAAS;AAAA,MACjB,MAAM,QAAQ;AAAA;AAAA,IAEhB;AAAA,QACI,MAAM,GAAG;AAAA,MACX,OAAO;AAAA;AAAA,EAEX;AAAA;AAQF,SAAS,QAAW,CAAC,KAAW;AAAA,EAC9B,OAAO,KAAK,MAAM,KAAK,UAAU,GAAG,CAAC;AAAA;AAavC,SAAS,aAAqC,CAAC,KAA8B,OAAgB;AAAA,EAC3F,WAAW,OAAO,OAAO,KAAK,KAAK,GAAG;AAAA,IACpC,IAAI,QAAQ;AAAA,MAAsB;AAAA,IAClC,IAAI,OAAQ,MAA6C;AAAA,EAC3D;AAAA;;;AC9IF,IAAM,gBAAgB,IAAI;AAC1B,IAAI;AAWG,SAAS,kBAAkB,CAAC,MAAkB;AAAA,EACnD,cAAc;AAAA,EACd,cAAc,IAAI,MAAM,IAAI,GAAK;AAAA;AAO5B,SAAS,cAAc,GAAS;AAAA,EACrC,cAAc;AAAA;AAGhB,SAAS,WAAW,CAAC,QAAgC;AAAA,EACnD,MAAM,OAAO,UAAU;AAAA,EACvB,IAAI,CAAC,MAAM;AAAA,IACT,MAAM,IAAI,MACR,2HACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,SAAS,CAAC,MAAqC;AAAA,EACtD,IAAI,MAAM,cAAc,IAAI,IAAI;AAAA,EAChC,IAAI,CAAC,KAAK;AAAA,IACR,MAAM,IAAI;AAAA,IACV,cAAc,IAAI,MAAM,GAAG;AAAA,EAC7B;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,kBAAqB,CAC5B,MACA,KACA,YAC6B;AAAA,EAC7B,OAAO,YAAY;AAAA,IACjB,MAAM,MAAM,UAAU,IAAI;AAAA,IAC1B,MAAM,aAAa,IAAI,IAAI,GAAG;AAAA,IAC9B,IAAI,eAAe,WAAW;AAAA,MAC5B,OAAO,KAAK,KAAQ,UAAU;AAAA,IAChC;AAAA,IACA,MAAM,SAAS,KAAK,OAAU,UAAU;AAAA,IACxC,IAAI,IAAI,KAAK,OAAO,UAAU;AAAA,IAC9B,OAAO;AAAA;AAAA;AAmBJ,SAAS,UAAkC,CAChD,KACA,cACA,UAA4B,CAAC,GACX;AAAA,EAClB,MAAM,OAAO,YAAY,QAAQ,IAAI;AAAA,EACrC,OAAO,WAAc;AAAA,IACnB;AAAA,IACA,WAAW;AAAA,IACX;AAAA,IACA,WAAW,mBAAsB,MAAM,KAAK,YAAY;AAAA,IACxD,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,IACpB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAAA;AAWI,SAAS,SAAS,CACvB,KACA,cACA,UAA4B,CAAC,GACC;AAAA,EAC9B,MAAM,OAAO,YAAY,QAAQ,IAAI;AAAA,EACrC,OAAO,UAAU,KAAK,cAAc;AAAA,IAClC,WAAW;AAAA,IACX,WAAW,mBAA4B,MAAM,KAAK,EAAE,MAAM,aAAa,CAAC;AAAA,IACxE,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,IACpB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAAA;AAUI,SAAS,YAAY,CAC1B,KACA,cACA,UAA4B,CAAC,GACC;AAAA,EAC9B,MAAM,OAAO,YAAY,QAAQ,IAAI;AAAA,EACrC,OAAO,aAAa,KAAK,cAAc;AAAA,IACrC,WAAW;AAAA,IACX,WAAW,mBAA+B,MAAM,KAAK,CAAC,CAAC;AAAA,IACvD,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,IACpB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAAA;AAWI,SAAS,SAAY,CAC1B,KACA,cACA,UAA4B,CAAC,GACF;AAAA,EAC3B,MAAM,OAAO,YAAY,QAAQ,IAAI;AAAA,EACrC,OAAO,UAAa,KAAK,cAAc;AAAA,IACrC,WAAW;AAAA,IACX,WAAW,mBAA+B,MAAM,KAAK,EAAE,OAAO,aAAa,CAAC;AAAA,IAC5E,eAAe,QAAQ;AAAA,IACvB,YAAY,QAAQ;AAAA,IACpB,QAAQ,QAAQ;AAAA,EAClB,CAAC;AAAA;;;AChLH;AAAA,oBAEE;AAAA;AAUK,IAAM,sBAAsC;AAAA,EACjD,EAAE,MAAM,+BAA+B;AAAA,EACvC,EAAE,MAAM,gCAAgC;AAC1C;AAAA;AAqDO,MAAM,0BAA0B,gBAAe;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACQ;AAAA,EACA,QAAQ,IAAI;AAAA,EACrB,QAAQ;AAAA,EACR;AAAA,EAKR;AAAA,EAEA,WAAW,CAAC,SAAmC;AAAA,IAC7C,MAAM;AAAA,IACN,KAAK,YAAY,QAAQ;AAAA,IACzB,KAAK,aAAa,QAAQ,cAAc;AAAA,IACxC,KAAK,mBAAmB,QAAQ,oBAAoB;AAAA,IACpD,KAAK,eAAe,QAAQ,gBAAgB,CAAC;AAAA,IAC7C,MAAM,KAAK,QAAQ,qBAAqB,WAAW;AAAA,IACnD,IAAI,OAAO,OAAO,YAAY;AAAA,MAC5B,MAAM,IAAI,MACR,+MACF;AAAA,IACF;AAAA,IACA,KAAK,wBAAwB;AAAA;AAAA,EAG/B,OAAO,GAAY;AAAA,IACjB,OAAO,KAAK;AAAA;AAAA,EAGd,SAAS,GAAkB;AAAA,IACzB,IAAI,KAAK;AAAA,MAAO,OAAO,QAAQ,QAAQ;AAAA,IACvC,OAAO,IAAI,QAAQ,CAAC,YAAY;AAAA,MAC9B,KAAK,gBAAgB;AAAA,KACtB;AAAA;AAAA,EAQH,OAAO,CAAC,QAAgB,cAAmC;AAAA,IACzD,KAAK,SAAS;AAAA,IACd,IAAI,iBAAiB,WAAW;AAAA,MAC9B,KAAK,eAAe;AAAA,IACtB;AAAA,IACA,KAAK,QAAQ;AAAA,IACb,KAAK,gBAAgB;AAAA,IAMrB,WAAW,gBAAgB,KAAK,cAAc;AAAA,MAC5C,IAAI,iBAAkB,UAAgC,CAAC,KAAK,MAAM,IAAI,YAAY,GAAG;AAAA,QACnF,KAAK,qBAAqB,YAAY;AAAA,MACxC;AAAA,IACF;AAAA;AAAA,EAGF,UAAU,GAAS;AAAA,IACjB,WAAW,QAAQ,KAAK,MAAM,OAAO,GAAG;AAAA,MACtC,KAAK,SAAS,MAAM;AAAA,MACpB,KAAK,WAAW,MAAM;AAAA,IACxB;AAAA,IACA,KAAK,MAAM,MAAM;AAAA,IACjB,KAAK,UAAU,MAAM;AAAA,IACrB,KAAK,QAAQ;AAAA,IACb,KAAK,KAAK,OAAO;AAAA;AAAA,EASnB,IAAI,CAAC,SAAwB;AAAA,IAC3B,MAAM,WAAW,QAAQ;AAAA,IACzB,MAAM,QAAQ,KAAK,iBAAiB,OAAO;AAAA,IAC3C,IAAI,OAAO,KAAK,MAAM,IAAI,QAAQ;AAAA,IAClC,IAAI,CAAC,MAAM;AAAA,MACT,OAAO,KAAK,qBAAqB,QAAQ;AAAA,IAC3C;AAAA,IACA,IAAI,KAAK,WAAW,KAAK,QAAQ,eAAe,QAAQ;AAAA,MACtD,KAAK,QAAQ,KAAK,KAAK;AAAA,IACzB,EAAO;AAAA,MACL,KAAK,aAAa,KAAK,KAAK;AAAA;AAAA;AAAA,EAYhC,YAAY,CAAC,YAAoB,YAA2B;AAAA,IAC1D,MAAM,UAAU;AAAA,IAChB,IAAI,CAAC,WAAW,OAAO,YAAY,YAAY,EAAE,UAAU,UAAU;AAAA,MACnE;AAAA,IACF;AAAA,IACA,QAAQ,QAAQ;AAAA,WACT;AAAA,QACE,KAAK,YAAY,YAAY,QAAQ,GAAG;AAAA,QAC7C;AAAA,WACG;AAAA,QACE,KAAK,aAAa,YAAY,QAAQ,GAAG;AAAA,QAC9C;AAAA,WACG;AAAA,QACE,KAAK,mBAAmB,YAAY,QAAQ,SAAS;AAAA,QAC1D;AAAA;AAAA;AAAA,EAIE,oBAAoB,CAAC,UAA4B;AAAA,IACvD,MAAM,aAAa,IAAI,KAAK,sBAAsB,EAAE,YAAY,KAAK,WAAW,CAAC;AAAA,IACjF,MAAM,UAAU,WAAW,kBAAkB,KAAK,kBAAkB,EAAE,SAAS,KAAK,CAAC;AAAA,IACrF,MAAM,OAAiB,EAAE,YAAY,SAAS,cAAc,CAAC,EAAE;AAAA,IAC/D,KAAK,MAAM,IAAI,UAAU,IAAI;AAAA,IAC7B,KAAK,eAAe,UAAU,UAAU;AAAA,IACxC,KAAK,gBAAgB,UAAU,OAAO;AAAA,IACjC,KAAK,cAAc,UAAU,UAAU;AAAA,IAC5C,OAAO;AAAA;AAAA,OAGK,cAAa,CAAC,UAAkB,YAA8C;AAAA,IAC1F,MAAM,QAAQ,MAAM,WAAW,YAAY;AAAA,IAC3C,MAAM,WAAW,oBAAoB,KAAK;AAAA,IAC1C,KAAK,UAAU,WAAW,UAAU,EAAE,MAAM,SAAS,KAAK,MAAM,CAA4B;AAAA;AAAA,OAGhF,YAAW,CAAC,YAAoB,KAA+C;AAAA,IAC3F,MAAM,WAAW,KAAK,MAAM,IAAI,UAAU;AAAA,IAC1C,IAAI,UAAU;AAAA,MAKZ,MAAM,UAAU,KAAK;AAAA,MACrB,IAAI,UAAU,YAAY;AAAA,QACxB;AAAA,MACF;AAAA,MACA,SAAS,SAAS,MAAM;AAAA,MACxB,SAAS,WAAW,MAAM;AAAA,MAC1B,KAAK,MAAM,OAAO,UAAU;AAAA,IAC9B;AAAA,IAEA,MAAM,aAAa,IAAI,KAAK,sBAAsB,EAAE,YAAY,KAAK,WAAW,CAAC;AAAA,IACjF,MAAM,OAAiB,EAAE,YAAY,SAAS,WAAW,cAAc,CAAC,EAAE;AAAA,IAC1E,KAAK,MAAM,IAAI,YAAY,IAAI;AAAA,IAC/B,KAAK,eAAe,YAAY,UAAU;AAAA,IAC1C,WAAW,gBAAgB,CAAC,UAAU;AAAA,MACpC,KAAK,UAAU,MAAM;AAAA,MACrB,KAAK,gBAAgB,YAAY,MAAM,OAAO;AAAA;AAAA,IAEhD,MAAM,WAAW,qBAAqB,GAAG;AAAA,IACzC,MAAM,SAAS,MAAM,WAAW,aAAa;AAAA,IAC7C,MAAM,WAAW,oBAAoB,MAAM;AAAA,IAC3C,KAAK,UAAU,WAAW,YAAY;AAAA,MACpC,MAAM;AAAA,MACN,KAAK;AAAA,IACP,CAA4B;AAAA;AAAA,OAGhB,aAAY,CAAC,YAAoB,KAA+C;AAAA,IAC5F,MAAM,OAAO,KAAK,MAAM,IAAI,UAAU;AAAA,IACtC,IAAI,CAAC;AAAA,MAAM;AAAA,IACX,MAAM,KAAK,WAAW,qBAAqB,GAAG;AAAA;AAAA,OAGlC,mBAAkB,CAC9B,YACA,WACe;AAAA,IACf,MAAM,OAAO,KAAK,MAAM,IAAI,UAAU;AAAA,IACtC,IAAI,CAAC;AAAA,MAAM;AAAA,IACX,IAAI;AAAA,MACF,MAAM,KAAK,WAAW,gBAAgB,SAAS;AAAA,MAC/C,MAAM;AAAA;AAAA,EAMF,cAAc,CAAC,QAAgB,YAAqC;AAAA,IAC1E,WAAW,iBAAiB,CAAC,UAAU;AAAA,MACrC,IAAI,MAAM,WAAW;AAAA,QACnB,KAAK,UAAU,WAAW,QAAQ;AAAA,UAChC,MAAM;AAAA,UACN,WAAW,MAAM,UAAU,OAAO;AAAA,QACpC,CAA4B;AAAA,MAC9B;AAAA;AAAA,IAEF,WAAW,0BAA0B,MAAM;AAAA,MACzC,MAAM,QAAQ,WAAW;AAAA,MACzB,IAAI,UAAU,aAAa;AAAA,QACzB,KAAK,KAAK,kBAAkB;AAAA,UAC1B;AAAA,UACA,cAAc,CAAC;AAAA,QACjB,CAAC;AAAA,MACH,EAAO,SAAI,UAAU,kBAAkB,UAAU,YAAY,UAAU,UAAU;AAAA,QAC/E,KAAK,MAAM,OAAO,MAAM;AAAA,QACxB,KAAK,KAAK,qBAAqB,EAAE,OAAoC,CAAC;AAAA,MACxE;AAAA;AAAA;AAAA,EAII,eAAe,CAAC,QAAgB,SAA+B;AAAA,IACrE,QAAQ,SAAS,MAAM;AAAA,MACrB,MAAM,OAAO,KAAK,MAAM,IAAI,MAAM;AAAA,MAClC,IAAI,CAAC;AAAA,QAAM;AAAA,MAGX,WAAW,SAAS,KAAK,cAAc;AAAA,QACrC,QAAQ,KAAK,KAAK;AAAA,MACpB;AAAA,MACA,KAAK,eAAe,CAAC;AAAA;AAAA,IAEvB,QAAQ,YAAY,CAAC,UAAU;AAAA,MAC7B,MAAM,OAAO,MAAM;AAAA,MACnB,IAAI,gBAAgB,aAAa;AAAA,QAC/B,KAAK,gBAAgB,QAAQ,IAAI,WAAW,IAAI,CAAC;AAAA,MACnD,EAAO,SAAI,gBAAgB,YAAY;AAAA,QACrC,KAAK,gBAAgB,QAAQ,IAAI;AAAA,MACnC;AAAA;AAAA,IAIF,QAAQ,UAAU,MAAM;AAAA,MACtB,MAAM,OAAO,KAAK,MAAM,IAAI,MAAM;AAAA,MAClC,IAAI,MAAM,YAAY,SAAS;AAAA,QAC7B,KAAK,UAAU;AAAA,MACjB;AAAA;AAAA;AAAA,EAII,eAAe,CAAC,YAAoB,OAAyB;AAAA,IACnE,IAAI;AAAA,MAIF,IAAI,KAAK,iBAAiB,kBAAkB,KAAK,GAAG;AAAA,QAClD,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAAA,QAC1E,MAAM,YAAY,KAAK,UAAU,GAAG,KAAK;AAAA,QACzC,MAAM,SAAS,KAAK,MAClB,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,CAC3D;AAAA,QACA,MAAM,OAAO,MAAM,SAAS,IAAI,SAAS;AAAA,QACzC,KAAK,cAAc,YAAY,QAAQ,IAAI;AAAA,QAC3C;AAAA,MACF;AAAA,MACA,MAAM,UAAU,KAAK,mBAAmB,KAAK;AAAA,MAC7C,KAAK,KAAK,WAAW,OAAO;AAAA,MAC5B,MAAM;AAAA;AAAA,MAQN,gBAAgB,GAAa;AAAA,IAC/B,MAAM,MAAgB,CAAC;AAAA,IACvB,YAAY,QAAQ,SAAS,KAAK,OAAO;AAAA,MACvC,IAAI,KAAK,WAAW,KAAK,QAAQ,eAAe,QAAQ;AAAA,QACtD,IAAI,KAAK,MAAM;AAAA,MACjB;AAAA,IACF;AAAA,IACA,OAAO;AAAA;AAAA,EAMT,eAAe,CAAC,QAAgB,OAAyC;AAAA,IACvE,MAAM,OAAO,KAAK,MAAM,IAAI,MAAM;AAAA,IAClC,IAAI,CAAC,MAAM,WAAW,KAAK,QAAQ,eAAe;AAAA,MAAQ,OAAO;AAAA,IACjE,OAAO,KAAK,iBAAiB,KAAK,SAAS,KAAK;AAAA;AAAA,EAK1C,gBAAgB,CAAC,SAAyB,OAAyC;AAAA,IAEzF,IAAI,QAAQ,iBAAiB,MAAM;AAAA,MAAM,OAAO;AAAA,IAChD,QAAQ,KAAK,KAAK;AAAA,IAClB,OAAO;AAAA;AAAA,EASD,gBAAgB,CAAC,SAA2C;AAAA,IAClE,MAAM,YAAqC;AAAA,MACzC,MAAM,QAAQ;AAAA,MACd,UAAU,QAAQ;AAAA,MAClB,UAAU,QAAQ;AAAA,IACpB;AAAA,IACA,IAAI,gBAAgB,WAAW,QAAQ,eAAe,WAAW;AAAA,MAC/D,UAAU,gBAAgB,QAAQ;AAAA,IACpC;AAAA,IACA,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,KAAK,UAAU,SAAS,CAAC;AAAA,IACtE,MAAM,YACJ,UAAU,WAAW,QAAQ,gBAAgB,aAAa,QAAQ,OAAO,IAAI,WAAW,CAAC;AAAA,IAC3F,MAAM,OAAO,IAAI,YAAY,SAAS,UAAU;AAAA,IAChD,MAAM,SAAS,IAAI,YAAY,IAAI;AAAA,IACnC,MAAM,MAAM,IAAI,WAAW,MAAM;AAAA,IACjC,MAAM,OAAO,IAAI,SAAS,MAAM;AAAA,IAChC,KAAK,UAAU,GAAG,YAAY,QAAQ,KAAK;AAAA,IAC3C,IAAI,IAAI,aAAa,CAAC;AAAA,IACtB,IAAI,IAAI,WAAW,IAAI,YAAY,MAAM;AAAA,IACzC,OAAO;AAAA;AAAA,EAID,kBAAkB,CAAC,OAA4B;AAAA,IACrD,IAAI,MAAM,SAAS,GAAG;AAAA,MACpB,MAAM,IAAI,MAAM,sDAAsD;AAAA,IACxE;AAAA,IACA,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAAA,IAC1E,MAAM,YAAY,KAAK,UAAU,GAAG,KAAK;AAAA,IACzC,IAAI,MAAM,SAAS,IAAI,WAAW;AAAA,MAChC,MAAM,IAAI,MAAM,8CAA8C;AAAA,IAChE;AAAA,IACA,MAAM,SAAS,KAAK,MAAM,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,CAAC;AAAA,IACpF,MAAM,OAAO,MAAM,MAAM,IAAI,SAAS;AAAA,IACtC,OAAO,KAAK,QAAQ,KAAK;AAAA;AAE7B;;;AVzWA,eAAsB,gBAAgB,CAAC,SAAuD;AAAA,EAC5F,MAAM,UAAU,MAAM,eAAe,QAAQ,OAAO;AAAA,EACpD,MAAM,oBAAoB,QAAQ,qBAAqB;AAAA,EAKvD,IAAI,qBAAqB,CAAC,QAAQ,aAAa,IAAI,mBAAmB,GAAG;AAAA,IACvE,MAAM,IAAI,MACR,oFAAoF,2GACtF;AAAA,EACF;AAAA,EAEA,MAAM,eAAe,CAAC,GAAG,QAAQ,WAAW,KAAK,CAAC,EAAE,OAClD,CAAC,OAAO,OAAO,QAAQ,UAAU,MACnC;AAAA,EAEA,MAAM,uBAAiD;AAAA,IACrD,WAAW;AAAA,IACX,QAAQ,QAAQ,UAAU;AAAA,IAC1B;AAAA,OACI,QAAQ,KAAK,eAAe,aAAa,EAAE,YAAY,QAAQ,IAAI,WAAW;AAAA,OAC9E,QAAQ,KAAK,qBAAqB,aAAa;AAAA,MACjD,kBAAkB,QAAQ,IAAI;AAAA,IAChC;AAAA,OACI,QAAQ,KAAK,sBAAsB,aAAa;AAAA,MAClD,mBAAmB,QAAQ,IAAI;AAAA,IACjC;AAAA,EACF;AAAA,EAOA,IAAI;AAAA,EACJ,MAAM,YAAY,IAAI,oBAAoB;AAAA,IACxC,KAAK,QAAQ,UAAU;AAAA,IACvB,QAAQ,QAAQ,UAAU;AAAA,OACtB,QAAQ,UAAU,cAAc,aAAa,EAAE,WAAW,QAAQ,UAAU,UAAU;AAAA,OACtF,QAAQ,UAAU,YAAY,aAAa,EAAE,SAAS,QAAQ,UAAU,QAAQ;AAAA,IACpF,UAAU,CAAC,YAAY,YAAY;AAAA,MACjC,eAAe,aAAa,YAAY,OAAO;AAAA;AAAA,EAEnD,CAAC;AAAA,EAED,qBAAqB,YAAY;AAAA,EACjC,gBAAgB,IAAI,kBAAkB,oBAAoB;AAAA,EAE1D,MAAM,iBAAiB,IAAI,mBAAmB;AAAA,IAC5C,MAAM;AAAA,IACN;AAAA,IACA;AAAA,EACF,CAAC;AAAA,EAED,MAAM,OAAO,IAAI,KAAK;AAAA,IACpB,SAAS,CAAC,cAAc;AAAA,OACpB,QAAQ,gBAAgB,aAAa,EAAE,SAAS,QAAQ,YAAY;AAAA,EAC1E,CAAC;AAAA,EAED,mBAAmB,IAAI;AAAA,EAEvB,MAAM,UAAU,QAAQ;AAAA,EAExB,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,OAAO,YAAY;AAAA,MACjB,UAAU,MAAM;AAAA,MAChB,eAAe,WAAW;AAAA,MAC1B,MAAM,KAAK,SAAS;AAAA;AAAA,EAExB;AAAA;AAGF,eAAe,cAAc,CAC3B,QACsB;AAAA,EACtB,IAAI,aAAa,QAAQ;AAAA,IACvB,MAAM,SAAS,MAAM,OAAO,QAAQ,KAAK;AAAA,IACzC,IAAI,WAAW,MAAM;AAAA,MACnB,MAAM,IAAI,MACR,qRACF;AAAA,IACF;AAAA,IACA,OAAO;AAAA,EACT;AAAA,EACA,OAAO;AAAA;;AWrJT;AASO,IAAM,wBAAwB;AAG9B,IAAM,sBAAsB,IAAI,WAAW,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC;AAGnE,IAAM,sBAAsB;AAI5B,IAAM,yBAAyB,KAAK,KAAK;AAAA;AA+BzC,MAAM,qBAAqB,MAAM;AAAA,EAC7B;AAAA,EAST,WAAW,CAAC,SAAiB,MAA4B;AAAA,IACvD,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA;AAEhB;AA8BO,SAAS,kBAAkB,CAAC,SAAkD;AAAA,EACnF,MAAM,MAAM,QAAQ,MAAM,QAAQ,IAAI,IAAI,KAAK,IAAI;AAAA,EACnD,MAAM,QAAQ,QAAQ,SAAS;AAAA,EAC/B,MAAM,cAAc,QAAQ,eAAe,oBAAoB;AAAA,EAC/D,MAAM,QAAQ,YAAY,mBAAmB;AAAA,EAE7C,OAAO;AAAA,IACL,SAAS;AAAA,IACT,cAAc,QAAQ;AAAA,IACtB,iBAAiB,QAAQ,SAAS;AAAA,IAClC;AAAA,IACA,eAAe,QAAQ;AAAA,IACvB,WAAW,MAAM;AAAA,IACjB;AAAA,EACF;AAAA;AASK,SAAS,mCAAmC,CAAC,MAKE;AAAA,EACpD,MAAM,WAAW,uBAAuB;AAAA,EACxC,MAAM,QAAQ,mBAAmB;AAAA,IAC/B;AAAA,IACA,cAAc,KAAK;AAAA,IACnB,eAAe,KAAK;AAAA,IACpB,OAAO,KAAK;AAAA,IACZ,KAAK,KAAK;AAAA,EACZ,CAAC;AAAA,EACD,OAAO,EAAE,UAAU,MAAM;AAAA;AAOpB,SAAS,qBAAqB,CAAC,OAAqB,KAA6B;AAAA,EACtF,MAAM,IAAI,MAAM,IAAI,IAAI,KAAK,IAAI;AAAA,EACjC,OAAO,KAAK,MAAM;AAAA;AAab,SAAS,iBAAiB,CAC/B,OACA,SACA,UAAkC,CAAC,GAC7B;AAAA,EACN,IAAI,sBAAsB,OAAO,QAAQ,GAAG,GAAG;AAAA,IAC7C,MAAM,IAAI,aACR,sBAAsB,MAAM,2BAA2B,IAAI,KAAK,MAAM,SAAS,EAAE,YAAY,MAC7F,SACF;AAAA,EACF;AAAA,EACA,QAAQ,WAAW,IAAI,MAAM,cAAc,MAAM,eAAe;AAAA,EAChE,QAAQ,aAAa,IAAI,MAAM,eAAe,MAAM,WAAW;AAAA;AAqB1D,SAAS,qBAAqB,CAAC,OAAiC;AAAA,EACrE,yBAAyB,KAAK;AAAA,EAC9B,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,MAAM,YAAY;AAAA,EAC/D,MAAM,aAAa,IAAI,YAAY,EAAE,OAAO,MAAM,aAAa;AAAA,EAE/D,MAAM,QACJ,oBAAoB,SACpB,IACA,IACA,YAAY,SACZ,mBACA,YACA,IACA,WAAW,SACX,IACA;AAAA,EAEF,MAAM,MAAM,IAAI,WAAW,KAAK;AAAA,EAChC,IAAI,SAAS;AAAA,EAEb,IAAI,IAAI,qBAAqB,MAAM;AAAA,EACnC,UAAU,oBAAoB;AAAA,EAE9B,IAAI,UAAU,MAAM;AAAA,EACpB,UAAU;AAAA,EAEV,MAAM,OAAO,IAAI,SAAS,IAAI,MAAM;AAAA,EACpC,KAAK,UAAU,QAAQ,YAAY,QAAQ,KAAK;AAAA,EAChD,UAAU;AAAA,EACV,IAAI,IAAI,aAAa,MAAM;AAAA,EAC3B,UAAU,YAAY;AAAA,EAEtB,IAAI,IAAI,MAAM,iBAAiB,MAAM;AAAA,EACrC,UAAU;AAAA,EAEV,IAAI,IAAI,MAAM,aAAa,MAAM;AAAA,EACjC,UAAU;AAAA,EAEV,KAAK,UAAU,QAAQ,WAAW,QAAQ,KAAK;AAAA,EAC/C,UAAU;AAAA,EACV,IAAI,IAAI,YAAY,MAAM;AAAA,EAC1B,UAAU,WAAW;AAAA,EAKrB,KAAK,aAAa,QAAQ,OAAO,MAAM,SAAS,GAAG,KAAK;AAAA,EACxD,UAAU;AAAA,EAEV,IAAI,IAAI,MAAM,OAAO,MAAM;AAAA,EAC3B,UAAU;AAAA,EAEV,OAAO;AAAA;AAOF,SAAS,iBAAiB,CAAC,OAAiC;AAAA,EACjE,IAAI,SAAS;AAAA,EAGb,IAAI,MAAM,SAAS,oBAAoB,QAAQ;AAAA,IAC7C,MAAM,IAAI,aAAa,4BAA4B,MAAM,iBAAiB,WAAW;AAAA,EACvF;AAAA,EACA,SAAS,IAAI,EAAG,IAAI,oBAAoB,QAAQ,KAAK;AAAA,IACnD,IAAI,MAAM,SAAS,OAAO,oBAAoB,IAAI;AAAA,MAChD,MAAM,IAAI,aACR,4DACA,aACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,UAAU,oBAAoB;AAAA,EAG9B,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,aAAa,uCAAuC,WAAW;AAAA,EAC3E;AAAA,EACA,MAAM,UAAU,MAAM;AAAA,EACtB,UAAU;AAAA,EACV,IAAI,YAAY,uBAAuB;AAAA,IACrC,MAAM,IAAI,aACR,kCAAkC,8CAA8C,0BAChF,iBACF;AAAA,EACF;AAAA,EAGA,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,aAAa,gDAAgD,WAAW;AAAA,EACpF;AAAA,EACA,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAAA,EAC1E,MAAM,YAAY,KAAK,UAAU,QAAQ,KAAK;AAAA,EAC9C,UAAU;AAAA,EACV,IAAI,MAAM,SAAS,SAAS,WAAW;AAAA,IACrC,MAAM,IAAI,aAAa,yCAAyC,WAAW;AAAA,EAC7E;AAAA,EACA,MAAM,eAAe,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,QAAQ,SAAS,SAAS,CAAC;AAAA,EACxF,UAAU;AAAA,EAGV,IAAI,MAAM,SAAS,SAAS,kBAA0B;AAAA,IACpD,MAAM,IAAI,aAAa,0CAA0C,WAAW;AAAA,EAC9E;AAAA,EACA,MAAM,kBAAkB,MAAM,MAAM,QAAQ,SAAS,gBAAwB;AAAA,EAC7E,UAAU;AAAA,EAGV,IAAI,MAAM,SAAS,SAAS,WAAsB;AAAA,IAChD,MAAM,IAAI,aAAa,4CAA4C,WAAW;AAAA,EAChF;AAAA,EACA,MAAM,cAAc,MAAM,MAAM,QAAQ,SAAS,SAAoB;AAAA,EACrE,UAAU;AAAA,EAGV,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,aAAa,sDAAsD,WAAW;AAAA,EAC1F;AAAA,EACA,MAAM,WAAW,KAAK,UAAU,QAAQ,KAAK;AAAA,EAC7C,UAAU;AAAA,EACV,IAAI,MAAM,SAAS,SAAS,UAAU;AAAA,IACpC,MAAM,IAAI,aAAa,+CAA+C,WAAW;AAAA,EACnF;AAAA,EACA,MAAM,gBAAgB,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,QAAQ,SAAS,QAAQ,CAAC;AAAA,EACxF,UAAU;AAAA,EAGV,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,aAAa,sCAAsC,WAAW;AAAA,EAC1E;AAAA,EACA,MAAM,eAAe,KAAK,aAAa,QAAQ,KAAK;AAAA,EACpD,UAAU;AAAA,EACV,MAAM,YAAY,OAAO,YAAY;AAAA,EAGrC,IAAI,MAAM,SAAS,SAAS,qBAAqB;AAAA,IAC/C,MAAM,IAAI,aAAa,qCAAqC,WAAW;AAAA,EACzE;AAAA,EACA,MAAM,QAAQ,MAAM,MAAM,QAAQ,SAAS,mBAAmB;AAAA,EAC9D,UAAU;AAAA,EAEV,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA;AAQK,SAAS,kBAAkB,CAAC,OAA6B;AAAA,EAC9D,MAAM,QAAQ,sBAAsB,KAAK;AAAA,EAIzC,IAAI,SAAS;AAAA,EACb,WAAW,QAAQ,OAAO;AAAA,IACxB,UAAU,OAAO,aAAa,IAAI;AAAA,EACpC;AAAA,EACA,OAAO,KAAK,MAAM;AAAA;AAOb,SAAS,kBAAkB,CAAC,SAA+B;AAAA,EAChE,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,SAAS,KAAK,OAAO;AAAA,IACrB,MAAM;AAAA,IACN,MAAM,IAAI,aAAa,sCAAsC,aAAa;AAAA;AAAA,EAE5E,MAAM,QAAQ,IAAI,WAAW,OAAO,MAAM;AAAA,EAC1C,SAAS,IAAI,EAAG,IAAI,OAAO,QAAQ,KAAK;AAAA,IACtC,MAAM,KAAK,OAAO,WAAW,CAAC;AAAA,EAChC;AAAA,EACA,OAAO,kBAAkB,KAAK;AAAA;AAKhC,SAAS,wBAAwB,CAAC,OAA2B;AAAA,EAC3D,IAAI,MAAM,gBAAgB,WAAW,kBAA0B;AAAA,IAC7D,MAAM,IAAI,aACR,6BAA6B,+BAAuC,MAAM,gBAAgB,WAC1F,oBACF;AAAA,EACF;AAAA,EACA,IAAI,MAAM,YAAY,WAAW,WAAsB;AAAA,IACrD,MAAM,IAAI,aACR,wBAAwB,wBAAmC,MAAM,YAAY,WAC7E,sBACF;AAAA,EACF;AAAA,EACA,IAAI,MAAM,MAAM,WAAW,qBAAqB;AAAA,IAC9C,MAAM,IAAI,aACR,iBAAiB,kCAAkC,MAAM,MAAM,WAC/D,eACF;AAAA,EACF;AAAA;AAGF,SAAS,WAAW,CAAC,GAAuB;AAAA,EAC1C,MAAM,MAAM,IAAI,WAAW,CAAC;AAAA,EAC5B,OAAO,gBAAgB,GAAG;AAAA,EAC1B,OAAO;AAAA;;ACpYF,IAAM,4BAA4B;AAGlC,IAAM,mBAAmB,IAAI,WAAW,CAAC,IAAM,IAAM,IAAM,EAAI,CAAC;AAAA;AAwBhE,MAAM,wBAAwB,MAAM;AAAA,EAChC;AAAA,EAST,WAAW,CAAC,SAAiB,MAA+B;AAAA,IAC1D,MAAM,OAAO;AAAA,IACb,KAAK,OAAO;AAAA,IACZ,KAAK,OAAO;AAAA;AAEhB;AAsBO,SAAS,gBAAgB,CAAC,SAAoD;AAAA,EACnF,MAAM,MAAM,QAAQ,MAAM,QAAQ,IAAI,IAAI,KAAK,IAAI;AAAA,EACnD,OAAO;AAAA,IACL,SAAS;AAAA,IACT,cAAc,QAAQ;AAAA,IACtB,eAAe,QAAQ;AAAA,IACvB,UAAU;AAAA,OACN,QAAQ,WAAW,YAAY,CAAC,IAAI,EAAE,QAAQ,QAAQ,OAAO;AAAA,EACnE;AAAA;AASK,SAAS,eAAe,CAAC,QAA0B,SAA4B;AAAA,EACpF,QAAQ,aAAa,IAAI,OAAO,aAAa;AAAA;AAUxC,SAAS,iBAAiB,CAAC,QAAgB,SAA4B;AAAA,EAC5E,QAAQ,aAAa,IAAI,MAAM;AAAA;AAmBjC,SAAS,0BAA0B,CAAC,QAAsC;AAAA,EACxE,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,OAAO,YAAY;AAAA,EAChE,MAAM,eAAe,IAAI,YAAY,EAAE,OAAO,OAAO,aAAa;AAAA,EAClE,MAAM,cAAc,IAAI,YAAY,EAAE,OAAO,OAAO,UAAU,EAAE;AAAA,EAEhE,MAAM,QACJ,iBAAiB,SACjB,IACA,IACA,YAAY,SACZ,IACA,aAAa,SACb,IACA,IACA,YAAY;AAAA,EAEd,MAAM,MAAM,IAAI,WAAW,KAAK;AAAA,EAChC,IAAI,SAAS;AAAA,EAEb,IAAI,IAAI,kBAAkB,MAAM;AAAA,EAChC,UAAU,iBAAiB;AAAA,EAE3B,IAAI,UAAU,OAAO;AAAA,EACrB,UAAU;AAAA,EAEV,MAAM,OAAO,IAAI,SAAS,IAAI,MAAM;AAAA,EACpC,KAAK,UAAU,QAAQ,YAAY,QAAQ,KAAK;AAAA,EAChD,UAAU;AAAA,EACV,IAAI,IAAI,aAAa,MAAM;AAAA,EAC3B,UAAU,YAAY;AAAA,EAEtB,KAAK,UAAU,QAAQ,aAAa,QAAQ,KAAK;AAAA,EACjD,UAAU;AAAA,EACV,IAAI,IAAI,cAAc,MAAM;AAAA,EAC5B,UAAU,aAAa;AAAA,EAEvB,KAAK,aAAa,QAAQ,OAAO,OAAO,QAAQ,GAAG,KAAK;AAAA,EACxD,UAAU;AAAA,EAEV,KAAK,UAAU,QAAQ,YAAY,QAAQ,KAAK;AAAA,EAChD,UAAU;AAAA,EACV,IAAI,IAAI,aAAa,MAAM;AAAA,EAE3B,OAAO;AAAA;AAIT,SAAS,sBAAsB,CAAC,OAAqC;AAAA,EACnE,IAAI,SAAS;AAAA,EAEb,IAAI,MAAM,SAAS,iBAAiB,QAAQ;AAAA,IAC1C,MAAM,IAAI,gBAAgB,0CAA0C,WAAW;AAAA,EACjF;AAAA,EACA,SAAS,IAAI,EAAG,IAAI,iBAAiB,QAAQ,KAAK;AAAA,IAChD,IAAI,MAAM,SAAS,OAAO,iBAAiB,IAAI;AAAA,MAC7C,MAAM,IAAI,gBAAgB,qCAAqC,aAAa;AAAA,IAC9E;AAAA,EACF;AAAA,EACA,UAAU,iBAAiB;AAAA,EAE3B,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,gBAAgB,2CAA2C,WAAW;AAAA,EAClF;AAAA,EACA,MAAM,UAAU,MAAM;AAAA,EACtB,UAAU;AAAA,EACV,IAAI,YAAY,2BAA2B;AAAA,IACzC,MAAM,IAAI,gBAAgB,sCAAsC,YAAY,iBAAiB;AAAA,EAC/F;AAAA,EAEA,MAAM,OAAO,IAAI,SAAS,MAAM,QAAQ,MAAM,YAAY,MAAM,UAAU;AAAA,EAE1E,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,gBAAgB,iDAAiD,WAAW;AAAA,EACxF;AAAA,EACA,MAAM,YAAY,KAAK,UAAU,QAAQ,KAAK;AAAA,EAC9C,UAAU;AAAA,EACV,IAAI,MAAM,SAAS,SAAS,WAAW;AAAA,IACrC,MAAM,IAAI,gBAAgB,6CAA6C,WAAW;AAAA,EACpF;AAAA,EACA,MAAM,eAAe,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,QAAQ,SAAS,SAAS,CAAC;AAAA,EACxF,UAAU;AAAA,EAEV,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,gBAAgB,qDAAqD,WAAW;AAAA,EAC5F;AAAA,EACA,MAAM,aAAa,KAAK,UAAU,QAAQ,KAAK;AAAA,EAC/C,UAAU;AAAA,EACV,IAAI,MAAM,SAAS,SAAS,YAAY;AAAA,IACtC,MAAM,IAAI,gBAAgB,8CAA8C,WAAW;AAAA,EACrF;AAAA,EACA,MAAM,gBAAgB,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,QAAQ,SAAS,UAAU,CAAC;AAAA,EAC1F,UAAU;AAAA,EAEV,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,gBAAgB,4CAA4C,WAAW;AAAA,EACnF;AAAA,EACA,MAAM,WAAW,OAAO,KAAK,aAAa,QAAQ,KAAK,CAAC;AAAA,EACxD,UAAU;AAAA,EAEV,IAAI,MAAM,SAAS,SAAS,GAAG;AAAA,IAC7B,MAAM,IAAI,gBAAgB,iDAAiD,WAAW;AAAA,EACxF;AAAA,EACA,MAAM,YAAY,KAAK,UAAU,QAAQ,KAAK;AAAA,EAC9C,UAAU;AAAA,EACV,IAAI,MAAM,SAAS,SAAS,WAAW;AAAA,IACrC,MAAM,IAAI,gBAAgB,0CAA0C,WAAW;AAAA,EACjF;AAAA,EACA,MAAM,SAAS,IAAI,YAAY,EAAE,OAAO,MAAM,SAAS,QAAQ,SAAS,SAAS,CAAC;AAAA,EAClF,UAAU;AAAA,EAEV,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,OACI,SAAS,EAAE,OAAO,IAAI,CAAC;AAAA,EAC7B;AAAA;AAQK,SAAS,gBAAgB,CAAC,QAA0B,QAAoC;AAAA,EAC7F,MAAM,UAAU,2BAA2B,MAAM;AAAA,EACjD,MAAM,WAAW,aAAa,SAAS,OAAO,cAAc,OAAO,SAAS;AAAA,EAC5E,OAAO,qBAAqB,QAAQ;AAAA;AAmB/B,SAAS,gBAAgB,CAAC,OAAmB,SAAwC;AAAA,EAC1F,MAAM,WAAW,qBAAqB,KAAK;AAAA,EAC3C,MAAM,YAAY,QAAQ,WAAW,IAAI,SAAS,QAAQ;AAAA,EAC1D,IAAI,CAAC,WAAW;AAAA,IACd,MAAM,IAAI,gBACR,qBAAqB,SAAS,yCAC9B,gBACF;AAAA,EACF;AAAA,EACA,IACE,QAAQ,wBAAwB,aAChC,QAAQ,oBAAoB,OAAO,KACnC,CAAC,QAAQ,oBAAoB,IAAI,SAAS,QAAQ,GAClD;AAAA,IACA,MAAM,IAAI,gBACR,qBAAqB,SAAS,8DAC9B,qBACF;AAAA,EACF;AAAA,EACA,IAAI;AAAA,EACJ,IAAI;AAAA,IACF,eAAe,cAAmB,UAAU,SAAS;AAAA,IACrD,MAAM;AAAA,IACN,MAAM,IAAI,gBACR,uDAAuD,SAAS,aAChE,mBACF;AAAA;AAAA,EAGF,MAAM,SAAS,uBAAuB,YAAY;AAAA,EAGlD,IAAI,OAAO,iBAAiB,SAAS,UAAU;AAAA,IAC7C,MAAM,IAAI,gBACR,oCAAoC,OAAO,+CAA+C,SAAS,aACnG,sBACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA;",
28
+ "debugId": "6CA75FA83D35A2A964756E2164756E21",
29
29
  "names": []
30
30
  }
package/dist/src/peer.js CHANGED
@@ -1,3 +1,5 @@
1
+ var __create = Object.create;
2
+ var __getProtoOf = Object.getPrototypeOf;
1
3
  var __defProp = Object.defineProperty;
2
4
  var __getOwnPropNames = Object.getOwnPropertyNames;
3
5
  var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
@@ -5,6 +7,28 @@ var __hasOwnProp = Object.prototype.hasOwnProperty;
5
7
  function __accessProp(key) {
6
8
  return this[key];
7
9
  }
10
+ var __toESMCache_node;
11
+ var __toESMCache_esm;
12
+ var __toESM = (mod, isNodeMode, target) => {
13
+ var canCache = mod != null && typeof mod === "object";
14
+ if (canCache) {
15
+ var cache = isNodeMode ? __toESMCache_node ??= new WeakMap : __toESMCache_esm ??= new WeakMap;
16
+ var cached = cache.get(mod);
17
+ if (cached)
18
+ return cached;
19
+ }
20
+ target = mod != null ? __create(__getProtoOf(mod)) : {};
21
+ const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target;
22
+ for (let key of __getOwnPropNames(mod))
23
+ if (!__hasOwnProp.call(to, key))
24
+ __defProp(to, key, {
25
+ get: __accessProp.bind(mod, key),
26
+ enumerable: true
27
+ });
28
+ if (canCache)
29
+ cache.set(mod, to);
30
+ return to;
31
+ };
8
32
  var __toCommonJS = (from) => {
9
33
  var entry = (__moduleCache ??= new WeakMap).get(from), desc;
10
34
  if (entry)
@@ -22,6 +46,7 @@ var __toCommonJS = (from) => {
22
46
  return entry;
23
47
  };
24
48
  var __moduleCache;
49
+ var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports);
25
50
  var __returnValue = (v) => v;
26
51
  function __exportSetter(name, newValue) {
27
52
  this[name] = __returnValue.bind(null, newValue);
@@ -948,4 +973,4 @@ export {
948
973
  $crdtCounter
949
974
  };
950
975
 
951
- //# debugId=5ABAA75081B5AC5A64756E2164756E21
976
+ //# debugId=76261FFA861B865364756E2164756E21
@@ -15,7 +15,7 @@
15
15
  "/**\n * peer-repo-server — Phase 1 server-side factory for the Polly peer-relay\n * transport. Constructs an Automerge-Repo `Repo` wired to a WebSocket server\n * and a NodeFS storage backend, ready to relay sync messages between\n * connected $peerState clients.\n *\n * The \"always-on peer\" role for $peerState lives here. The server holds a\n * full Automerge replica of every document, participates in the sync protocol\n * as an ordinary peer, and persists state to disk so the next process restart\n * picks up where the previous one left off. Server-side cron, HTTP handlers,\n * and other compute can open document handles on the returned Repo and mutate\n * them; mutations propagate to connected clients through the same sync\n * protocol that handles client-to-client traffic.\n *\n * The plan originally called this an \"Elysia plugin,\" but Automerge's\n * `WebSocketServerAdapter` requires an `isomorphic-ws` `WebSocketServer`\n * instance — not Elysia's native WebSocket — so the cleanest first cut is a\n * standalone factory that runs its own `ws` server. Elysia integration for\n * authenticated upgrades is a Phase 1.1 follow-up that wraps this factory.\n *\n * @example\n * ```ts\n * import { createPeerRepoServer } from \"@fairfox/polly\";\n *\n * const server = await createPeerRepoServer({\n * port: 3030,\n * storagePath: \"./data/polly-peer\",\n * });\n *\n * // Open a document handle on the server's Repo for cron or compute work.\n * const handle = server.repo.create({ counter: 0 });\n *\n * // On shutdown:\n * await server.close();\n * ```\n */\n\nimport { Repo } from \"@automerge/automerge-repo/slim\";\nimport { WebSocketServerAdapter } from \"@automerge/automerge-repo-network-websocket\";\nimport { NodeFSStorageAdapter } from \"@automerge/automerge-repo-storage-nodefs\";\nimport * as ws from \"ws\";\n\n// `@types/ws` uses CJS `export = WebSocket` with WebSocketServer hanging off\n// the namespace. Under the project's bundler module resolution, the namespace\n// import gives us access to both the constructor and the type.\ntype WebSocketServer = ws.WebSocketServer;\n\nexport interface CreatePeerRepoServerOptions {\n /** Port to listen on. The factory creates its own `WebSocketServer` and\n * binds to this port. */\n port: number;\n /** Filesystem directory for the NodeFS storage adapter. The directory is\n * created on demand. Defaults to `./automerge-repo-data` (Automerge's own\n * default). */\n storagePath?: string;\n /** Hostname interface to bind to. Defaults to all interfaces. */\n host?: string;\n /** Override the `WebSocketServer` instance entirely. When provided, `port`\n * and `host` are ignored and the caller is responsible for the lifecycle.\n * Useful for tests that want to bind to a random port. */\n webSocketServer?: WebSocketServer;\n}\n\nexport interface PeerRepoServer {\n /** A configured Repo participating as the always-on peer. Server-side\n * cron and HTTP handlers can open document handles on this directly. */\n repo: Repo;\n /** The underlying WebSocket server. Exposed for advanced use such as\n * health checks or graceful shutdown coordination. */\n webSocketServer: WebSocketServer;\n /** The Automerge network adapter wrapping the WebSocket server. */\n adapter: WebSocketServerAdapter;\n /** The NodeFS storage adapter writing to {@link CreatePeerRepoServerOptions.storagePath}. */\n storage: NodeFSStorageAdapter;\n /** Tear down the server: disconnect peers, flush storage, close the\n * underlying WebSocket server. Returns a promise that resolves once the\n * tear-down is complete. */\n close: () => Promise<void>;\n}\n\n/**\n * Construct a Polly peer-relay server. Returns a Repo that participates as\n * the always-on peer, the underlying WebSocket server and storage adapter\n * for advanced use, and a close function for orderly shutdown.\n *\n * Applications typically call this once at startup, hold the returned\n * `repo` reference for cron and compute work, and wire the close function\n * into their process shutdown signal handlers.\n */\nexport async function createPeerRepoServer(\n options: CreatePeerRepoServerOptions\n): Promise<PeerRepoServer> {\n // Construct the WebSocket server first and wait until it is actually\n // listening before wiring up the Repo. Using the constructor callback\n // avoids the race where the 'listening' event fires before our listener\n // is attached (the callback form is reliable across Node and Bun).\n const wss = await (options.webSocketServer\n ? Promise.resolve(options.webSocketServer)\n : new Promise<WebSocketServer>((resolve, reject) => {\n const created: WebSocketServer = new ws.WebSocketServer(\n {\n port: options.port,\n ...(options.host !== undefined && { host: options.host }),\n },\n () => resolve(created)\n );\n created.once(\"error\", reject);\n }));\n\n // The cast bridges a @types/ws identity quirk: Automerge's adapter type\n // expects WebSocketServer with options.WebSocket typed via isomorphic-ws's\n // CJS-style namespace, and our direct `ws` import resolves through a\n // different path with the same runtime shape but a structurally distinct\n // TypeScript type. The runtime is identical, the cast names that fact.\n const adapter = new WebSocketServerAdapter(\n wss as unknown as ConstructorParameters<typeof WebSocketServerAdapter>[0]\n );\n const storage = new NodeFSStorageAdapter(options.storagePath);\n\n const repo = new Repo({\n network: [adapter],\n storage,\n });\n\n // Force the storage subsystem to finish initialising before returning. The\n // Repo constructor is synchronous, but its NetworkSubsystem holds back the\n // peer-metadata JOIN until storageSubsystem.id() resolves. If a client\n // connects before that resolution lands, the handshake stalls indefinitely.\n // Awaiting storageId() drains the relevant microtask chain and guarantees\n // the server is ready to accept peers when this factory returns.\n await repo.storageId();\n\n return {\n repo,\n webSocketServer: wss,\n adapter,\n storage,\n close: async () => {\n // Forcibly terminate any still-open client sockets before closing the\n // server, otherwise wss.close() can hang waiting for orderly drain when\n // a peer disappeared without a clean disconnect. We then fire the\n // server close without awaiting its callback — the underlying socket\n // is released immediately by terminate(), and waiting for the close\n // callback can hang under Bun even after every client is gone.\n for (const client of wss.clients) {\n try {\n client.terminate();\n } catch {\n // best effort\n }\n }\n try {\n await repo.shutdown();\n } catch {\n // best effort — automerge-repo's xstate DocHandle machine can\n // throw \"Cycle detected\" during teardown when sync messages are\n // still in flight.\n }\n try {\n wss.close();\n } catch {\n // best effort\n }\n },\n };\n}\n",
16
16
  "/**\n * peer-state — Phase 1 wrappers exposing $peerState, $peerText, $peerCounter,\n * and $peerList. These are the application-facing constructors for the middle\n * resilience tier in RFC-041: every device is a full Automerge replica, the\n * server included, and server-side code can read and mutate document contents\n * because the server participates in the data plane as an ordinary peer.\n *\n * Each primitive wraps the corresponding Phase 0 base ($crdtState, $crdtText,\n * $crdtCounter, $crdtList) with three additions:\n *\n * 1. The `primitive` label is hard-coded to \"peerState\" so the\n * primitive-registry collision detection knows which family the key\n * belongs to.\n *\n * 2. A handle factory that resolves the application's logical key to an\n * Automerge DocumentId via a per-Repo key map. The first time a key is\n * registered, the factory creates a new document on the configured Repo\n * and records the mapping. On subsequent constructions of the same key,\n * the factory looks up the existing DocumentId and finds the handle.\n *\n * 3. The `sign` option field validates that the configured Repo was\n * created with signing enabled (via createPeerStateClient with\n * `sign: true`). Signing adds Byzantine defence at the transport\n * level without preventing the server from reading document\n * contents. Encryption is not offered on $peerState because it\n * would prevent the server from participating as an Automerge\n * peer; applications that want encrypted state should use $meshState.\n *\n * The Repo itself is supplied by the application via {@link configurePeerState}\n * or per-call via the `repo` option. There is no transport in this Phase 1\n * cut — applications use a local-only Repo and document operations stay\n * inside the calling process. Phase 1's WebSocket relay adapter will plug in\n * via the same configuration path; Phase 2's mesh adapter does the same for\n * $meshState.\n */\n\nimport type { DocHandle, DocumentId, Repo } from \"@automerge/automerge-repo/slim\";\nimport type { Access } from \"./access\";\nimport {\n $crdtCounter,\n $crdtList,\n $crdtText,\n type CounterDoc,\n type ListDoc,\n type SpecialisedPrimitive,\n type TextDoc,\n} from \"./crdt-specialised\";\nimport { $crdtState, type CrdtPrimitive } from \"./crdt-state\";\nimport type { Migrations, VersionedDoc } from \"./schema-version\";\n\n/** Common option shape across all four $peer* primitives. */\nexport interface PeerStateOptions<T> {\n /** Override the default Repo for this primitive. Useful for tests and for\n * applications that maintain multiple Repos (rare). */\n repo?: Repo;\n /** Request per-op Ed25519 signing for this primitive. Signing is a\n * transport-level concern: pass `sign: true` to `createPeerStateClient`\n * to enable it for all primitives on that Repo. Passing `sign: true`\n * here validates that the configured Repo was created with signing\n * enabled and throws if it was not. */\n sign?: boolean;\n /** Schema version target for the application. Migrations run on load. */\n schemaVersion?: number;\n /** Migration table keyed by target version. Required if schemaVersion is set. */\n migrations?: Migrations;\n /** Declarative read/write access. Compiled into a server share policy\n * once the relay transport is wired in. */\n access?: Access;\n /** Initial value used when this primitive's key has not been registered\n * before. Phase 0 callers passed this positionally; Phase 1 application\n * code does the same. */\n initialValue?: T;\n}\n\n/** Internal: per-Repo key → DocumentId map. Cleared by configurePeerState. */\nconst keyMapsByRepo = new WeakMap<Repo, Map<string, DocumentId>>();\n/** Internal: set of Repos configured with signing enabled. */\nconst signingEnabledRepos = new WeakSet<Repo>();\nlet defaultRepo: Repo | undefined;\n\n/**\n * Set the default Repo that the $peer* primitives use when no `repo` option\n * is supplied. Calling this with a new Repo clears the per-Repo key map so\n * that tests start each scenario with a fresh document space.\n *\n * Production code typically calls this once at application startup with a\n * Repo configured for the relay transport. Tests call it before each scenario\n * with an in-memory Repo.\n */\nexport function configurePeerState(repo: Repo, options?: { signEnabled?: boolean }): void {\n defaultRepo = repo;\n keyMapsByRepo.set(repo, new Map());\n if (options?.signEnabled) {\n signingEnabledRepos.add(repo);\n }\n}\n\n/**\n * Reset the peer-state subsystem to its initial unconfigured state. Intended\n * for tests; production code should not call this.\n */\nexport function resetPeerState(): void {\n defaultRepo = undefined;\n}\n\nfunction resolveRepo(option: Repo | undefined): Repo {\n const repo = option ?? defaultRepo;\n if (!repo) {\n throw new Error(\n \"Polly $peerState: no Repo configured. Call configurePeerState(repo) at startup or pass { repo } in the primitive options.\"\n );\n }\n return repo;\n}\n\nfunction getKeyMap(repo: Repo): Map<string, DocumentId> {\n let map = keyMapsByRepo.get(repo);\n if (!map) {\n map = new Map();\n keyMapsByRepo.set(repo, map);\n }\n return map;\n}\n\nfunction validateSignOption(options: PeerStateOptions<unknown>, repo: Repo): void {\n if (!options.sign) return;\n if (!signingEnabledRepos.has(repo)) {\n throw new Error(\n \"Polly $peerState: { sign: true } was passed to the primitive but the configured Repo does not have signing enabled. \" +\n \"Pass { sign: true, keyring: ... } to createPeerStateClient to enable signing at the transport level, \" +\n \"then call configurePeerState(client.repo, { signEnabled: true }).\"\n );\n }\n}\n\n/**\n * Build a getHandle factory that resolves a logical key to a DocHandle on\n * the supplied Repo. The first call creates a new document seeded with the\n * given initial value and records the (key → DocumentId) mapping; subsequent\n * calls look up the existing DocumentId and find the handle.\n */\nfunction buildHandleFactory<D>(\n repo: Repo,\n key: string,\n initialDoc: D\n): () => Promise<DocHandle<D>> {\n return async () => {\n const map = getKeyMap(repo);\n const existingId = map.get(key);\n if (existingId !== undefined) {\n return repo.find<D>(existingId);\n }\n const handle = repo.create<D>(initialDoc);\n map.set(key, handle.documentId);\n return handle;\n };\n}\n\n// ─── $peerState ─────────────────────────────────────────────────────────────\n\n/**\n * Create a peer-replicated state primitive backed by Automerge. Every device\n * holds a full replica; the server, when one is configured via the relay\n * transport, holds one too and participates in the sync protocol as an\n * ordinary peer. Server-side code can read and mutate document contents.\n *\n * @example\n * ```ts\n * const settings = $peerState<Settings>(\"settings\", { theme: \"dark\" });\n * await settings.loaded;\n * settings.value = { theme: \"light\" };\n * ```\n */\nexport function $peerState<T extends VersionedDoc>(\n key: string,\n initialValue: T,\n options: PeerStateOptions<T> = {}\n): CrdtPrimitive<T> {\n const repo = resolveRepo(options.repo);\n validateSignOption(options, repo);\n return $crdtState<T>({\n key,\n primitive: \"peerState\",\n initialValue,\n getHandle: buildHandleFactory<T>(repo, key, initialValue),\n schemaVersion: options.schemaVersion,\n migrations: options.migrations,\n access: options.access,\n });\n}\n\n// ─── $peerText ──────────────────────────────────────────────────────────────\n\nexport interface PeerTextOptions extends Omit<PeerStateOptions<unknown>, \"initialValue\"> {}\n\n/**\n * Create a peer-replicated text primitive. Concurrent character-level edits\n * from peers merge cleanly via Automerge's updateText splicing.\n */\nexport function $peerText(\n key: string,\n initialValue: string,\n options: PeerTextOptions = {}\n): SpecialisedPrimitive<string> {\n const repo = resolveRepo(options.repo);\n validateSignOption(options, repo);\n return $crdtText(key, initialValue, {\n primitive: \"peerState\",\n getHandle: buildHandleFactory<TextDoc>(repo, key, { text: initialValue }),\n schemaVersion: options.schemaVersion,\n migrations: options.migrations,\n access: options.access,\n });\n}\n\n// ─── $peerCounter ───────────────────────────────────────────────────────────\n\nexport interface PeerCounterOptions extends Omit<PeerStateOptions<unknown>, \"initialValue\"> {}\n\n/**\n * Create a peer-replicated counter primitive. Concurrent increments from\n * peers commute, so two clients each adding 1 to a counter at 5 produce a\n * counter at 7 after merging.\n */\nexport function $peerCounter(\n key: string,\n initialValue: number,\n options: PeerCounterOptions = {}\n): SpecialisedPrimitive<number> {\n const repo = resolveRepo(options.repo);\n validateSignOption(options, repo);\n return $crdtCounter(key, initialValue, {\n primitive: \"peerState\",\n getHandle: buildHandleFactory<CounterDoc>(repo, key, {}),\n schemaVersion: options.schemaVersion,\n migrations: options.migrations,\n access: options.access,\n });\n}\n\n// ─── $peerList ──────────────────────────────────────────────────────────────\n\nexport interface PeerListOptions extends Omit<PeerStateOptions<unknown>, \"initialValue\"> {}\n\n/**\n * Create a peer-replicated list primitive. The Phase 0 base uses naive\n * whole-array replacement; Phase 1.1 will refine the write path with\n * structural diff-to-splice for concurrent insert/remove preservation.\n */\nexport function $peerList<T>(\n key: string,\n initialValue: T[],\n options: PeerListOptions = {}\n): SpecialisedPrimitive<T[]> {\n const repo = resolveRepo(options.repo);\n validateSignOption(options, repo);\n return $crdtList<T>(key, initialValue, {\n primitive: \"peerState\",\n getHandle: buildHandleFactory<ListDoc<T>>(repo, key, { items: initialValue }),\n schemaVersion: options.schemaVersion,\n migrations: options.migrations,\n access: options.access,\n });\n}\n"
17
17
  ],
18
- "mappings": "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",
19
- "debugId": "5ABAA75081B5AC5A64756E2164756E21",
18
+ "mappings": "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",
19
+ "debugId": "76261FFA861B865364756E2164756E21",
20
20
  "names": []
21
21
  }
@@ -0,0 +1,21 @@
1
+ /**
2
+ * ActionForm — wraps a native <form> with the action pattern.
3
+ *
4
+ * Renders <form data-action="{form.name}:submit"> so the installed
5
+ * event delegation catches the submit event and dispatches to the
6
+ * form's auto-registered :submit handler. `aria-busy` mirrors the
7
+ * `isSubmitting` signal so consumer styling can respond without extra
8
+ * wiring. The form element also exposes `data-polly-action-form` for
9
+ * stable selector hooks.
10
+ */
11
+ import type { ComponentChildren, JSX } from "preact";
12
+ import type { FormStore } from "../actions/form.ts";
13
+ export type ActionFormProps<TValues extends Record<string, string>, TStores> = {
14
+ form: FormStore<TValues, TStores>;
15
+ children: ComponentChildren;
16
+ className?: string;
17
+ id?: string;
18
+ "aria-label"?: string;
19
+ "aria-labelledby"?: string;
20
+ };
21
+ export declare function ActionForm<TValues extends Record<string, string>, TStores>(props: ActionFormProps<TValues, TStores>): JSX.Element;
@@ -0,0 +1,41 @@
1
+ /**
2
+ * ActionInput — dual-mode view/edit input with action dispatch on commit.
3
+ *
4
+ * View mode renders the current value as text (optionally through a
5
+ * caller-supplied `renderView` for markdown, rich formatting, etc.).
6
+ * Click, Enter, or Space enters edit mode. Edit mode is a native input
7
+ * or textarea; commit fires the configured action with `data-action-value`
8
+ * and `data-action-field` set from FormData-shape semantics, so the
9
+ * existing event delegation handles it with no extra wiring.
10
+ *
11
+ * `saveOn` picks the commit trigger:
12
+ * "blur" commit when the field loses focus
13
+ * "enter" commit on Enter (single-line) or Cmd/Ctrl+Enter (multi-line)
14
+ * "cmd-enter" commit only on Cmd/Ctrl+Enter
15
+ * "explicit" never auto-commit — caller wires a save button with data-action
16
+ *
17
+ * Layout-shift-free: view and edit modes share padding, border width,
18
+ * font, and line-height so the toggle causes no reflow.
19
+ */
20
+ import type { JSX } from "preact";
21
+ export type ActionInputSaveOn = "blur" | "enter" | "cmd-enter" | "explicit";
22
+ export type ActionInputVariant = "single" | "multi";
23
+ export type ActionInputProps = {
24
+ /** Current value to render in view mode and seed the edit buffer. */
25
+ value: string;
26
+ /** Action name to dispatch on commit. Receives data-action-value=<new value>. */
27
+ action: string;
28
+ /** Commit trigger. Default: "blur". */
29
+ saveOn?: ActionInputSaveOn;
30
+ variant?: ActionInputVariant;
31
+ placeholder?: string;
32
+ disabled?: boolean;
33
+ /** Extra data-action-* attributes to include at commit (e.g. entity id). */
34
+ actionData?: Record<string, string>;
35
+ /** Custom view renderer — receives value, returns VNode. */
36
+ renderView?: (value: string) => JSX.Element | string;
37
+ /** Label announced by screen readers for the edit affordance. */
38
+ ariaLabel?: string;
39
+ className?: string;
40
+ };
41
+ export declare function ActionInput(props: ActionInputProps): JSX.Element;