@workglow/test-contract 0.6.1 → 0.6.2
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.
- package/dist/ai-provider.js +2 -2
- package/dist/ai-provider.js.map +3 -3
- package/dist/browser-context.js +2 -2
- package/dist/browser-context.js.map +3 -3
- package/dist/human-connector.js +2 -2
- package/dist/human-connector.js.map +3 -3
- package/dist/itExpectFail.js +2 -2
- package/dist/itExpectFail.js.map +3 -3
- package/dist/storage-migrations.js +2 -2
- package/dist/storage-migrations.js.map +3 -3
- package/dist/tabular-storage.js +2 -2
- package/dist/tabular-storage.js.map +3 -3
- package/dist/vector-storage.js +2 -2
- package/dist/vector-storage.js.map +3 -3
- package/dist/worker-proxy.js +2 -2
- package/dist/worker-proxy.js.map +3 -3
- package/package.json +13 -13
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"sourcesContent": [
|
|
5
5
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ITabularStorage } from \"@workglow/storage\";\nimport { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport type { CompoundPrimaryKeyNames, CompoundSchema } from \"../fixtures\";\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type { TabularStorageContractOpts } from \"../types\";\n\nexport function countMatchesQueryBlock(opts: TabularStorageContractOpts): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itImpl = expectFails.has(\"countMatchesQuery\") ? itExpectFail : it;\n\n describe.skipIf(!opts.capabilities.supportsQuery)(\"countMatchesQuery\", () => {\n let storage: ITabularStorage<typeof CompoundSchema, typeof CompoundPrimaryKeyNames>;\n\n beforeEach(async () => {\n storage = await opts.createStorage();\n await storage.setupDatabase?.();\n });\n\n afterEach(async () => {\n await storage.deleteAll();\n storage.destroy?.();\n await opts.releaseStorage?.(storage);\n });\n\n itImpl(\n \"count(predicate) equals query(predicate).length for every predicate\",\n async () => {\n const rows = [\n { name: \"a\", type: \"t\", option: \"x\", success: true },\n { name: \"b\", type: \"t\", option: \"x\", success: true },\n { name: \"c\", type: \"t\", option: \"x\", success: true },\n { name: \"d\", type: \"t\", option: \"y\", success: true },\n { name: \"e\", type: \"t\", option: \"y\", success: true },\n { name: \"f\", type: \"t\", option: \"z\", success: true },\n ];\n for (const row of rows) {\n await storage.put(row);\n }\n\n const expected: Record<string, number> = { x: 3, y: 2, z: 1, missing: 0 };\n for (const [option, expectedCount] of Object.entries(expected)) {\n const counted = await storage.count({ option });\n const queried = (await storage.query({ option })) ?? [];\n expect(\n counted,\n `count({option:\"${option}\"}) disagrees with query({option:\"${option}\"}).length`\n ).toBe(queried.length);\n expect(counted).toBe(expectedCount);\n }\n\n const totalCount = await storage.count();\n const allRows = (await storage.getAll()) ?? [];\n expect(totalCount).toBe(allRows.length);\n expect(totalCount).toBe(rows.length);\n },\n opts.timeout\n );\n });\n}\n",
|
|
6
6
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { it as vitestIt } from \"vitest\";\n\n/**\n * Live provider tests treat \"the account is out of credits\" as a billing\n * condition rather than a product bug. A key being present is not the same as\n * the account being able to pay; HuggingFace / OpenRouter 402s, Anthropic's\n * credit-balance error, DeepSeek's `Insufficient Balance`, and OpenAI's\n * `insufficient_quota` are all billing.\n *\n * Rate limits (429 + `rate_limit_exceeded`) are NOT this: those are transient\n * and the existing retry policy handles them.\n *\n * Where it skips and where it fails is a deliberate split\n * ({@link creditExhaustionSkipsTest}): on CI it skips for every provider,\n * because a red build tells a reviewer nothing they can act on; locally it\n * fails, because the developer running the suite is the one who can top the\n * account up. `WORKGLOW_CREDIT_EXHAUSTED_SKIP=1` forces the skip locally\n * (and `=0` forces the failure on CI).\n */\n\nconst BILLING_CODES = new Set([\n \"insufficient_quota\",\n \"billing_hard_limit_reached\",\n \"insufficient_credits\",\n \"insufficient_balance\",\n]);\n\nconst CREDIT_MESSAGE =\n /insufficient credits|not enough credits|no credits remaining|out of credits|insufficient[\\s_-]balance|balance is (?:too low|insufficient)|exceeded[\\s\\S]{0,80}credits|monthly included credits|payment required|exceeded your current quota|check your plan and billing|billing_hard_limit/i;\n\n/**\n * A 402 that survives only as text. `classifyProviderError` rebuilds the error\n * as a `PermanentJobError` carrying the message and no `cause`, so by the time\n * a live test sees a DeepSeek billing failure the numeric `status` is gone and\n * the OpenAI-SDK message shape (`402 Insufficient Balance`) is all that is\n * left. Anchored to an HTTP-shaped position — start of a line, or after a\n * summary line's colon — so prose that merely contains the number\n * (\"Item 402(c)\") is not scavenged as a status.\n */\nconst HTTP_402_MESSAGE =\n /\\bHTTP\\/?\\d?(?:\\.\\d)?\\s*402\\b|\\bstatus(?:\\s*code)?\\s*[:=]\\s*402\\b|\\berror code:?\\s*402\\b|(?:^|:\\s+)402\\s+[a-z]/im;\n\nexport function isCreditExhaustedError(err: unknown): boolean {\n const seen = new Set<unknown>();\n let current: unknown = err;\n while (current !== undefined && current !== null && !seen.has(current)) {\n seen.add(current);\n if (matchesCreditExhaustion(current)) return true;\n current = causeOf(current);\n }\n return false;\n}\n\nfunction matchesCreditExhaustion(err: unknown): boolean {\n if (typeof err === \"string\") return messageLooksLikeCreditExhaustion(err);\n\n if (!err || typeof err !== \"object\") return false;\n\n const rec = err as Record<string, unknown>;\n const status = numericStatus(rec);\n if (status === 402) return true;\n\n const code = stringish(rec.code) ?? stringish(nested(rec.error, \"code\"));\n const type = stringish(rec.type) ?? stringish(nested(rec.error, \"type\"));\n if (code && BILLING_CODES.has(code)) return true;\n if (type && BILLING_CODES.has(type)) return true;\n\n const message = [\n stringish(rec.message),\n stringish(nested(rec.error, \"message\")),\n stringifyUnknown(err),\n ]\n .filter((part): part is string => typeof part === \"string\")\n .join(\"\\n\");\n return messageLooksLikeCreditExhaustion(message);\n}\n\nfunction messageLooksLikeCreditExhaustion(message: string): boolean {\n return CREDIT_MESSAGE.test(message) || HTTP_402_MESSAGE.test(message);\n}\n\nfunction numericStatus(rec: Record<string, unknown>): number | undefined {\n for (const key of [\"status\", \"statusCode\"] as const) {\n const value = rec[key];\n if (typeof value === \"number\" && Number.isFinite(value)) return value;\n }\n const nestedStatus = nested(rec.error, \"status\");\n if (typeof nestedStatus === \"number\" && Number.isFinite(nestedStatus)) return nestedStatus;\n return undefined;\n}\n\nfunction nested(value: unknown, key: string): unknown {\n if (!value || typeof value !== \"object\") return undefined;\n return (value as Record<string, unknown>)[key];\n}\n\nfunction stringish(value: unknown): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\nfunction stringifyUnknown(err: unknown): string {\n if (err instanceof Error) return err.message;\n return String(err);\n}\n\nfunction causeOf(err: unknown): unknown {\n if (!err || typeof err !== \"object\") return undefined;\n return (err as { cause?: unknown }).cause;\n}\n\nexport function creditSkipNote(err: unknown): string {\n const message = err instanceof Error ? err.message : String(err);\n return `skipped: provider out of credits (${message})`;\n}\n\nconst SKIP_OVERRIDE_ENV = \"WORKGLOW_CREDIT_EXHAUSTED_SKIP\";\n\nfunction isTruthyFlag(value: string): boolean {\n return !/^(?:0|false|off|no)$/i.test(value.trim());\n}\n\n/**\n * Whether a billing failure skips the test or fails it.\n *\n * CI skips: nobody watching a build can top an account up, and one exhausted\n * key would otherwise turn every provider suite red for a change that touched\n * none of them — so the leniency is provider-agnostic by construction, keyed on\n * the environment rather than on which vendor ran out.\n *\n * Locally it fails, loudly, because the developer running the suite IS the\n * person who can act on it — and a silently green local run is how an\n * exhausted account goes unnoticed until CI is the only thing exercising the\n * provider at all.\n *\n * `WORKGLOW_CREDIT_EXHAUSTED_SKIP` overrides in both directions.\n */\nexport function creditExhaustionSkipsTest(\n env: Record<string, string | undefined> = process.env\n): boolean {\n const override = env[SKIP_OVERRIDE_ENV];\n if (override !== undefined && override.trim() !== \"\") return isTruthyFlag(override);\n for (const key of [\"CI\", \"GITHUB_ACTIONS\"] as const) {\n const value = env[key];\n if (value !== undefined && value.trim() !== \"\" && isTruthyFlag(value)) return true;\n }\n return false;\n}\n\n/**\n * The local-failure path. Rethrows the provider's own error unchanged — its\n * identity and stack are what makes the failure diagnosable — after one line\n * saying why it was not skipped and how to skip it.\n */\nfunction reportLocalCreditFailure(err: unknown): void {\n const message = err instanceof Error ? err.message : String(err);\n console.error(\n `provider out of credits (${message})\\n` +\n ` Failing because this is not CI. Top the account up, or set ${SKIP_OVERRIDE_ENV}=1 to skip instead.`\n );\n}\n\nexport async function runWithCreditSkip<T>(\n ctx: { skip: (note?: string) => void },\n fn: () => Promise<T> | T\n): Promise<T> {\n try {\n return await fn();\n } catch (err) {\n if (isCreditExhaustedError(err)) {\n if (!creditExhaustionSkipsTest()) {\n reportLocalCreditFailure(err);\n throw err;\n }\n ctx.skip(creditSkipNote(err));\n // vitest's skip() is `never` (throws). Mocks used in unit tests return.\n return undefined as T;\n }\n throw err;\n }\n}\n\n/**\n * Wraps one test body. This is the seam every conformance assertion actually\n * runs through (the exported {@link it} proxies each callback through it), so\n * the CI-skips / locally-fails policy is applied here rather than at each\n * call site.\n */\nexport function wrapTestBodyForCreditSkip(\n fn: (...args: never[]) => unknown\n): (...args: never[]) => unknown {\n return async function wrapped(this: unknown, ...args: never[]): Promise<unknown> {\n try {\n return await fn.apply(this, args);\n } catch (err) {\n if (!isCreditExhaustedError(err)) throw err;\n if (!creditExhaustionSkipsTest()) {\n reportLocalCreditFailure(err);\n throw err;\n }\n const ctx = args[0] as { skip?: (note?: string) => void } | undefined;\n if (ctx && typeof ctx.skip === \"function\") {\n ctx.skip(creditSkipNote(err));\n return undefined;\n }\n // bun:test has no TestContext.skip; passing is \"don't fail the test\".\n console.warn(creditSkipNote(err));\n return undefined;\n }\n };\n}\n\nfunction wrapCallable(fn: CallableFunction): CallableFunction {\n return new Proxy(fn, {\n apply(target, thisArg, argArray: unknown[]) {\n const wrapped = argArray.map((arg) =>\n typeof arg === \"function\" ? wrapTestBodyForCreditSkip(arg as never) : arg\n );\n const result = Reflect.apply(target, thisArg, wrapped);\n return typeof result === \"function\" ? wrapCallable(result) : result;\n },\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return wrapCallable((value as CallableFunction).bind(target));\n }\n return value;\n },\n });\n}\n\n/**\n * Drop-in `it` for live provider tests: a credit/billing error skips the test on\n * CI and fails it locally (see {@link creditExhaustionSkipsTest}).\n */\nexport const it = wrapCallable(vitestIt) as typeof vitestIt;\n",
|
|
7
|
-
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isCreditExhaustedError, it } from \"./creditExhaustedSkip\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\n/**\n * Cross-runner polyfill for `it.fails`. Vitest exposes it natively; bun's\n * native `bun test` runner does not. Under bun we wrap the body in a\n * try/catch and assert that it threw — so a passing-when-expected-fail\n * test still surfaces as a CI failure (signalling \"remove from\n * expectedFailures\").\n */\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (it as unknown as {
|
|
7
|
+
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isCreditExhaustedError, it } from \"./creditExhaustedSkip\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\n/**\n * Cross-runner polyfill for `it.fails`. Vitest exposes it natively; bun's\n * native `bun test` runner does not. Under bun we wrap the body in a\n * try/catch and assert that it threw — so a passing-when-expected-fail\n * test still surfaces as a CI failure (signalling \"remove from\n * expectedFailures\").\n */\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (\n it as unknown as {\n fails?: (\n name: string,\n options: { readonly retry?: number; readonly timeout?: number },\n fn: () => Promise<void> | void\n ) => void;\n }\n ).fails;\n if (typeof native === \"function\") {\n // `retry: 0` because retrying a test that is SUPPOSED to fail is\n // meaningless, and vitest counts the intended failure as a retry — which\n // puts every expected-fail test in the run summary's \"Flaky Tests\" section\n // under \"passed only after one or more retries\". A real flake then hides\n // among permanent false entries, which is worse than no report at all.\n // Options go SECOND: `test(name, fn, {...})` was removed in Vitest 4.\n native(name, { retry: 0, timeout }, fn);\n return;\n }\n it(\n `${name} [expected-fail]`,\n async () => {\n let passed = false;\n try {\n await fn();\n passed = true;\n } catch (err) {\n // Billing exhaustion is not the adapter bug this marker records.\n if (isCreditExhaustedError(err)) throw err;\n // expected; the test was supposed to fail\n }\n if (passed) {\n throw new Error(\n `Test \"${name}\" was marked as expected-fail but passed. Remove its name from opts.expectedFailures.`\n );\n }\n },\n timeout\n );\n};\n",
|
|
8
8
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ITabularStorage } from \"@workglow/storage\";\nimport { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport type { CompoundPrimaryKeyNames, CompoundSchema } from \"../fixtures\";\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type { TabularStorageContractOpts } from \"../types\";\n\ntype Storage = ITabularStorage<typeof CompoundSchema, typeof CompoundPrimaryKeyNames>;\n\n/**\n * What one call did, reduced to what can be compared across the two paths.\n *\n * Only the error's class and message, not the instance: the two calls throw\n * from the same guard but not the same throw site, and identity would make the\n * comparison vacuous.\n */\ntype Outcome =\n | { readonly kind: \"returned\" }\n | { readonly kind: \"threw\"; readonly name: string; readonly message: string };\n\nasync function outcomeOf(call: () => Promise<unknown>): Promise<Outcome> {\n try {\n await call();\n return { kind: \"returned\" };\n } catch (error) {\n return {\n kind: \"threw\",\n name: error instanceof Error ? error.constructor.name : typeof error,\n message: error instanceof Error ? error.message : String(error),\n };\n }\n}\n\ninterface GuardParityCase {\n /** The public method, which is also the name the `tx` handle is called by. */\n readonly method: string;\n /** What makes the input bad, phrased as the test name reads it. */\n readonly label: string;\n readonly run: (target: Storage) => Promise<unknown>;\n}\n\n/**\n * The inputs a guard is supposed to reject, one per guard rather than one per\n * method: `queryIndex` has two ways to fail `validateSelect` and both are here,\n * because a fix that reinstates one and not the other is the same bug again.\n */\nconst CASES: readonly GuardParityCase[] = [\n {\n method: \"getAll\",\n label: \"a limit of zero\",\n run: (t) => t.getAll({ limit: 0 }),\n },\n {\n method: \"getAll\",\n label: \"a negative offset\",\n run: (t) => t.getAll({ offset: -1 }),\n },\n {\n method: \"getPage\",\n label: \"a limit of zero\",\n run: (t) => t.getPage({ limit: 0 }),\n },\n {\n method: \"count\",\n label: \"empty criteria\",\n run: (t) => t.count({}),\n },\n {\n method: \"query\",\n label: \"an operator outside the allow-list\",\n run: (t) => t.query({ name: { operator: \"regex\", value: \"a\" } } as never),\n },\n {\n method: \"query\",\n label: \"a column that is not in the schema\",\n run: (t) => t.query({ nope: \"a\" } as never),\n },\n {\n method: \"query\",\n label: \"a list operator whose value is not an array\",\n run: (t) => t.query({ name: { operator: \"in\", value: \"a\" } } as never),\n },\n {\n method: \"queryPage\",\n label: \"empty criteria\",\n run: (t) => t.queryPage({}, { limit: 5 }),\n },\n {\n method: \"queryIndex\",\n label: \"an empty select\",\n run: (t) => t.queryIndex({ name: \"a\" }, { select: [] } as never),\n },\n {\n method: \"queryIndex\",\n label: \"a select column that is not in the schema\",\n run: (t) => t.queryIndex({ name: \"a\" }, { select: [\"nope\"] } as never),\n },\n {\n method: \"deleteSearch\",\n label: \"empty criteria\",\n run: (t) => t.deleteSearch({}),\n },\n {\n method: \"deleteSearch\",\n label: \"criteria that exclude nothing\",\n run: (t) => t.deleteSearch({ option: { operator: \"not-in\", value: [] } } as never),\n },\n {\n method: \"updateWhere\",\n label: \"a patch that rewrites a primary-key column\",\n run: (t) => t.updateWhere({ name: \"guard\", type: \"parity\" }, { name: \"moved\" } as never),\n },\n {\n // Joined to itself, so the case needs no second storage and the guard is\n // reached on whichever path the planner picks: the pushdown validates in\n // `runSqlJoin`, the hash fallback in `BaseTabularStorage.join`.\n method: \"join\",\n label: \"a join column that is not in the schema\",\n run: (t) => t.join({ type: \"inner\", on: [{ left: \"nope\", right: \"name\" }] } as never, t),\n },\n];\n\n/**\n * Methods routed to a private implementation that no guard rejects an input\n * to, and why.\n *\n * Not an exemption list — a name here is a claim that the method was read and\n * has nothing to check, and the coverage assertion below is what forces the\n * claim to be made rather than skipped.\n */\nconst UNGUARDED: Readonly<Record<string, string>> = {\n put: \"an entity is coerced against the schema, not rejected by a guard\",\n putBulk: \"as `put`\",\n get: \"a primary key, and a malformed one reads as a miss on every backend\",\n getBulk: \"as `get`\",\n delete: \"as `get`\",\n deleteAll: \"takes no arguments\",\n size: \"takes no arguments\",\n getOffsetPage: \"takes two numbers and the SQL backends validate neither\",\n};\n\n/** The public method `_fooInternal` implements. */\nfunction publicNameOf(internal: string): string | undefined {\n const match = /^_(.+)Internal$/.exec(internal);\n return match?.[1];\n}\n\n/**\n * Every method that reaches the database as a public wrapper over a private\n * `_fooInternal`, read off the instance rather than listed here.\n *\n * That split is where a guard has two places it could go, and the shape a\n * method arrives in when someone adds one — so asking the object which methods\n * have it is what makes a method added later show up without anyone\n * remembering this file exists.\n */\nfunction routedMethods(storage: Storage): string[] {\n const found = new Set<string>();\n for (\n let proto: object | null = Object.getPrototypeOf(storage);\n proto !== null && proto !== Object.prototype;\n proto = Object.getPrototypeOf(proto)\n ) {\n for (const key of Object.getOwnPropertyNames(proto)) {\n const name = publicNameOf(key);\n if (name !== undefined && typeof (storage as never)[key] === \"function\") found.add(name);\n }\n }\n return [...found].sort();\n}\n\n/**\n * A guard on a public method is a guard on the transaction path.\n *\n * It was not always. `withTransaction` used to hand its callback a Proxy that\n * resolved `tx.foo(...)` to `_fooInternal(...)` by name, skipping the public\n * method, so a check written on `foo` was silently absent from `tx.foo`. That\n * cost three fixes — `tx.deleteSearch({})` turning from a no-op into a `DELETE\n * FROM t WHERE` syntax error and criteria excluding nothing into a truncated\n * table; `tx.updateWhere` rewriting a row's identity where the same call\n * outside a transaction threw; `tx.getBulk([])` reaching DuckDB as `IN ()` —\n * and each could only restate the guard in the private method.\n *\n * `createTxView` now leaves the public methods in place and neutralizes only\n * the mutex, so `tx.foo(args)` runs `foo`. Parity is a property of the routing\n * rather than of anyone's diligence, and this block is what says so out loud:\n * every guard below is written once, on the public method, and asserted on both\n * paths, over a set of methods derived from the object rather than written down.\n */\nexport function guardParityBlock(opts: TabularStorageContractOpts): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itImpl = expectFails.has(\"guardParity\") ? itExpectFail : it;\n\n describe.skipIf(!opts.capabilities.supportsTransactions || !opts.capabilities.supportsQuery)(\n \"guardParity\",\n () => {\n let storage: Storage;\n\n beforeEach(async () => {\n storage = await opts.createStorage();\n await storage.setupDatabase?.();\n await storage.put({ name: \"guard\", type: \"parity\", option: \"base\", success: true });\n });\n\n afterEach(async () => {\n await storage.deleteAll();\n storage.destroy?.();\n await opts.releaseStorage?.(storage);\n });\n\n for (const testCase of CASES) {\n itImpl(\n `${testCase.method} rejects ${testCase.label} the same way inside a transaction`,\n async () => {\n const direct = await outcomeOf(() => testCase.run(storage));\n\n let inside: Outcome | undefined;\n await storage.withTransaction(async (tx) => {\n // Captured rather than rethrown: a guard firing is the expected\n // result here, and letting it out would roll the transaction back\n // and hide which of the two paths differed.\n inside = await outcomeOf(() => testCase.run(tx as unknown as Storage));\n });\n\n expect(inside).toEqual(direct);\n },\n opts.timeout\n );\n }\n\n itImpl(\n \"deleteSearch with empty criteria deletes nothing on either path\",\n async () => {\n // The one case whose parity is a non-event: both paths return, and\n // the guard is only observable in the rows that are still there.\n await storage.deleteSearch({});\n await storage.withTransaction(async (tx) => {\n await tx.deleteSearch({});\n });\n\n expect(await storage.get({ name: \"guard\", type: \"parity\" })).toBeDefined();\n },\n opts.timeout\n );\n\n itImpl(\n \"runs the public method on the transaction path, not only its implementation\",\n async () => {\n // What every case above now rests on, asserted on its own so a\n // regression to name-based routing fails here first and says why.\n //\n // `getBulk` emits its event from the public method and nowhere else,\n // so observing the event through the `tx` handle is observing the\n // public method run — the guard-carrying half that resolving\n // `tx.getBulk` to `_getBulkInternal` used to skip.\n const emitted: Array<readonly unknown[]> = [];\n const listener = (keys: readonly unknown[]): void => {\n emitted.push(keys);\n };\n storage.on(\"getBulk\", listener);\n try {\n await storage.withTransaction(async (tx) => {\n await (tx as unknown as Storage).getBulk([{ name: \"guard\", type: \"parity\" }]);\n });\n } finally {\n storage.off(\"getBulk\", listener);\n }\n\n expect(emitted).toEqual([[{ name: \"guard\", type: \"parity\" }]]);\n },\n opts.timeout\n );\n\n itImpl(\n \"states, for every method with a private implementation, what its guard is\",\n async () => {\n // The ratchet. A method added later reaches the transaction path the\n // moment it exists, whether or not anyone thought about its guard —\n // and this is where that is noticed, rather than in the diff of the\n // commit that drops one.\n const covered = new Set(CASES.map((testCase) => testCase.method));\n const unstated = routedMethods(storage).filter(\n (method) => !covered.has(method) && UNGUARDED[method] === undefined\n );\n expect(unstated).toEqual([]);\n },\n opts.timeout\n );\n }\n );\n}\n",
|
|
9
9
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ITabularStorage } from \"@workglow/storage\";\nimport { afterEach, beforeEach, describe, expect, it } from \"vitest\";\nimport type { CompoundPrimaryKeyNames, CompoundSchema } from \"../fixtures\";\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type { TabularStorageContractOpts } from \"../types\";\n\n/**\n * The `{ operator: \"in\" }` criterion, which every backend renders differently —\n * expanded placeholders on SQLite/DuckDB, a single `= ANY($n)` array parameter\n * on Postgres, a PostgREST `in.()` filter on Supabase, and an in-memory\n * membership test elsewhere. That divergence is exactly why the semantics are\n * pinned here rather than per backend.\n */\nexport function inListCriterionBlock(opts: TabularStorageContractOpts): void {\n const expectFails = new Set(opts.expectedFailures ?? []);\n const itImpl = expectFails.has(\"inListCriterion\") ? itExpectFail : it;\n\n describe.skipIf(!opts.capabilities.supportsQuery)(\"inListCriterion\", () => {\n let storage: ITabularStorage<typeof CompoundSchema, typeof CompoundPrimaryKeyNames>;\n\n const rows = [\n { name: \"a\", type: \"t\", option: \"x\", success: true },\n { name: \"b\", type: \"t\", option: \"y\", success: true },\n { name: \"c\", type: \"t\", option: \"z\", success: false },\n { name: \"d\", type: \"u\", option: \"x\", success: false },\n ];\n\n beforeEach(async () => {\n storage = await opts.createStorage();\n await storage.setupDatabase?.();\n for (const row of rows) await storage.put(row);\n });\n\n afterEach(async () => {\n await storage.deleteAll();\n storage.destroy?.();\n await opts.releaseStorage?.(storage);\n });\n\n const names = (found: readonly { name: string }[]): string[] => found.map((r) => r.name).sort();\n\n itImpl(\n \"matches every listed value and nothing else\",\n async () => {\n const found =\n (await storage.query({ option: { value: [\"x\", \"z\"], operator: \"in\" } })) ?? [];\n expect(names(found)).toEqual([\"a\", \"c\", \"d\"]);\n },\n opts.timeout\n );\n\n itImpl(\n \"ANDs with the other criteria columns\",\n async () => {\n const found =\n (await storage.query({ option: { value: [\"x\", \"z\"], operator: \"in\" }, type: \"t\" })) ?? [];\n expect(names(found)).toEqual([\"a\", \"c\"]);\n },\n opts.timeout\n );\n\n itImpl(\n \"ignores values that match no row, and never duplicates a row for a repeated value\",\n async () => {\n const found =\n (await storage.query({ option: { value: [\"x\", \"nope\", \"x\"], operator: \"in\" } })) ?? [];\n expect(names(found)).toEqual([\"a\", \"d\"]);\n },\n opts.timeout\n );\n\n itImpl(\n \"matches nothing for an empty list\",\n async () => {\n // `IN ()` is a syntax error in SQL, so every backend has to special-case\n // this; the contract is that it matches no row rather than throwing or\n // (much worse) degrading to no filter at all and matching everything.\n const found = (await storage.query({ option: { value: [], operator: \"in\" } })) ?? [];\n expect(found).toEqual([]);\n expect(await storage.count({ option: { value: [], operator: \"in\" } })).toBe(0);\n },\n opts.timeout\n );\n\n itImpl(\n \"count agrees with query for an in-list\",\n async () => {\n const criteria = { option: { value: [\"x\", \"z\"], operator: \"in\" as const } };\n const queried = (await storage.query(criteria)) ?? [];\n expect(await storage.count(criteria)).toBe(queried.length);\n },\n opts.timeout\n );\n\n itImpl(\n \"deleteSearch removes exactly the listed rows\",\n async () => {\n await storage.deleteSearch({ option: { value: [\"x\", \"z\"], operator: \"in\" } });\n const left = (await storage.getAll()) ?? [];\n expect(names(left)).toEqual([\"b\"]);\n },\n opts.timeout\n );\n\n itImpl(\n \"deleteSearch with an empty list deletes nothing\",\n async () => {\n await storage.deleteSearch({ option: { value: [], operator: \"in\" } });\n const left = (await storage.getAll()) ?? [];\n expect(left.length).toBe(rows.length);\n },\n opts.timeout\n );\n\n itImpl(\n \"matches on a boolean column\",\n async () => {\n // Booleans are stored as 0/1 by some backends, so the list elements must\n // go through the same coercion a scalar `=` value would.\n const found = (await storage.query({ success: { value: [false], operator: \"in\" } })) ?? [];\n expect(names(found)).toEqual([\"c\", \"d\"]);\n },\n opts.timeout\n );\n });\n}\n",
|
|
10
10
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { QueryOptions } from \"@workglow/storage\";\nimport { afterEach, beforeEach, describe, expect, it, vi } from \"vitest\";\nimport type { AuthorStorage, JoinFixturePost, PostStorage } from \"../joinFixtures\";\n\n/**\n * How many left rows a call asked for, or `undefined` when it asked for all of\n * them. Read off the options the join handed the left read rather than off the\n * rows that came back, so a table that happens to be smaller than the bound\n * cannot pass for a bound that was never applied.\n */\nfunction limitsOf(spy: { mock: { calls: unknown[][] } }): Array<number | undefined> {\n return spy.mock.calls.map(\n (call) => (call[call.length - 1] as QueryOptions<JoinFixturePost> | undefined)?.limit\n );\n}\n\n/**\n * What the hash join reads off the left side, and when it is allowed to stop.\n *\n * `join`'s own docstring makes a promise with a condition attached: `limit` and\n * `offset` apply to the joined rows, and the fallback \"bounds the left read —\n * and stops early — only when the joined order does not need a sort\", meaning\n * `orderBy` is absent or names left columns the left query can serve. An\n * `orderBy` touching the right side is sorted in memory, and that sort needs\n * every joined row, so such a join reads the whole left table however small its\n * `limit`.\n *\n * Both halves matter and they fail in opposite directions. Losing the bound is\n * a performance cliff a caller cannot see: over a remote backend a `limit: 2`\n * join quietly puts the whole table on the wire. Applying it when the order is\n * NOT already final is a wrong answer: the first N left rows in arbitrary order\n * are sorted afterwards and returned as though they were the top N. Nothing\n * else in this contract asserts either one — the pushdown is bounded by the\n * database, so only the fallback can be caught getting this wrong.\n */\nexport function joinBoundedLeftReadBlock(\n createPosts: () => Promise<PostStorage>,\n createAuthors: () => Promise<AuthorStorage>,\n seed: (posts: PostStorage, authors: AuthorStorage) => Promise<void>,\n opts: { readonly expectSqlPushdown?: boolean; readonly timeout?: number }\n): void {\n const on = [{ left: \"author_id\", right: \"id\" }] as const;\n\n describe.skipIf(opts.expectSqlPushdown !== false)(\"join bounded left read\", () => {\n let posts: PostStorage;\n let authors: AuthorStorage;\n\n beforeEach(async () => {\n posts = await createPosts();\n authors = await createAuthors();\n await posts.setupDatabase?.();\n await authors.setupDatabase?.();\n await seed(posts, authors);\n });\n\n afterEach(async () => {\n await posts.deleteAll();\n await authors.deleteAll();\n posts.destroy?.();\n authors.destroy?.();\n vi.restoreAllMocks();\n });\n\n it(\n \"bounds the left read when no order is asked for\",\n async () => {\n const leftRead = vi.spyOn(posts, \"getAll\");\n const rows = await posts.join({ type: \"left\", on, limit: 2 }, authors);\n\n expect(rows).toHaveLength(2);\n // A left join emits at least one row per left row, so the first bounded\n // pass already has what it needs and no widening pass follows.\n expect(limitsOf(leftRead)).toEqual([2]);\n },\n opts.timeout\n );\n\n it(\n \"bounds the left read when the left query can serve the order\",\n async () => {\n // `views` is non-nullable, which is what lets the order be pushed into\n // the left query — the two layers only agree about where nulls sort\n // when there are none.\n const leftRead = vi.spyOn(posts, \"getAll\");\n const rows = await posts.join(\n {\n type: \"left\",\n on,\n orderBy: [{ side: \"left\", column: \"views\", direction: \"DESC\" }],\n limit: 2,\n },\n authors\n );\n\n expect(rows.map((r) => r.left.views)).toEqual([10, 9]);\n expect(limitsOf(leftRead)).toEqual([2]);\n },\n opts.timeout\n );\n\n it(\n \"counts offset toward the bound rather than ignoring it\",\n async () => {\n const leftRead = vi.spyOn(posts, \"getAll\");\n const rows = await posts.join(\n {\n type: \"left\",\n on,\n orderBy: [{ side: \"left\", column: \"views\", direction: \"DESC\" }],\n offset: 2,\n limit: 2,\n },\n authors\n );\n\n expect(rows.map((r) => r.left.views)).toEqual([7, 5]);\n // Reading only `limit` rows would have returned the rows the offset was\n // meant to skip.\n expect(limitsOf(leftRead)).toEqual([4]);\n },\n opts.timeout\n );\n\n it(\n \"widens the left read when an inner join drops too many rows\",\n async () => {\n // Two of six posts have no author, so a bounded inner join produces\n // fewer joined rows than it read and has to come back for more.\n const leftRead = vi.spyOn(posts, \"getAll\");\n const rows = await posts.join({ type: \"inner\", on, limit: 4 }, authors);\n\n expect(rows).toHaveLength(4);\n const limits = limitsOf(leftRead);\n expect(limits.length).toBeGreaterThan(1);\n expect(limits[0]).toBe(4);\n // Geometric, not one row at a time: a linear widening makes the number\n // of round trips proportional to how selective the join turned out.\n expect(limits[1]).toBeGreaterThan(4);\n },\n opts.timeout\n );\n\n it(\n \"reads the whole left side when the joined order needs a sort\",\n async () => {\n const leftRead = vi.spyOn(posts, \"getAll\");\n const rows = await posts.join(\n {\n type: \"left\",\n on,\n orderBy: [\n { side: \"right\", column: \"name\", direction: \"ASC\" },\n { side: \"left\", column: \"id\", direction: \"ASC\" },\n ],\n limit: 2,\n },\n authors\n );\n\n // The two unmatched posts sort first under ASC, which is only true if\n // every joined row was in hand before the sort ran.\n expect(rows.map((r) => r.left.id)).toEqual([\"p4\", \"p5\"]);\n expect(limitsOf(leftRead)).toEqual([undefined]);\n },\n opts.timeout\n );\n\n it(\n \"reads the whole left side when the order names a nullable left column\",\n async () => {\n // `author_id` is nullable, so the order cannot be pushed into the left\n // query; it is sorted here instead, and that sort needs every row.\n const leftRead = vi.spyOn(posts, \"getAll\");\n const rows = await posts.join(\n {\n type: \"left\",\n on,\n orderBy: [\n { side: \"left\", column: \"author_id\", direction: \"ASC\" },\n { side: \"left\", column: \"id\", direction: \"ASC\" },\n ],\n limit: 2,\n },\n authors\n );\n\n expect(rows.map((r) => r.left.id)).toEqual([\"p5\", \"p1\"]);\n expect(limitsOf(leftRead)).toEqual([undefined]);\n },\n opts.timeout\n );\n\n it(\n \"bounds the filtered left read the same way\",\n async () => {\n // A `where.left` moves the read from `getAll` to `query`, and the bound\n // has to travel with it — this is the path a caller reaches for\n // precisely when the table is too big to read whole.\n const leftQuery = vi.spyOn(posts, \"query\");\n const rows = await posts.join(\n { type: \"left\", on, where: { left: { tenant: \"t1\" } }, limit: 2 },\n authors\n );\n\n expect(rows).toHaveLength(2);\n expect(limitsOf(leftQuery)).toEqual([2]);\n },\n opts.timeout\n );\n });\n}\n",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { describe } from \"vitest\";\nimport { countMatchesQueryBlock } from \"./assertions/countMatchesQuery\";\nimport { guardParityBlock } from \"./assertions/guardParity\";\nimport { inListCriterionBlock } from \"./assertions/inListCriterion\";\nimport { joinPushdownBlock } from \"./assertions/joinPushdown\";\nimport { notInListCriterionBlock } from \"./assertions/notInListCriterion\";\nimport { subscribeToChangesBlock } from \"./assertions/subscribeToChanges\";\nimport { vectorColumnFormatBlock } from \"./assertions/vectorColumnFormat\";\nimport { withConnectionTransactionBlock } from \"./assertions/withConnectionTransaction\";\nimport { withTransactionRollbackBlock } from \"./assertions/withTransactionRollback\";\nimport type { TabularStorageContractOpts } from \"./types\";\n\nexport function runTabularStorageContract(opts: TabularStorageContractOpts): void {\n describe.skipIf(opts.skip)(`Tabular storage contract: ${opts.name}`, () => {\n subscribeToChangesBlock(opts);\n vectorColumnFormatBlock(opts);\n withTransactionRollbackBlock(opts);\n withConnectionTransactionBlock(opts);\n countMatchesQueryBlock(opts);\n inListCriterionBlock(opts);\n notInListCriterionBlock(opts);\n joinPushdownBlock(opts);\n guardParityBlock(opts);\n });\n}\n\nexport { VectorItemPrimaryKeyNames, VectorItemSchema } from \"./types\";\nexport type { TabularStorageContractAssertion, TabularStorageContractOpts } from \"./types\";\n",
|
|
22
22
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { ITabularStorage } from \"@workglow/storage\";\nimport type { DataPortSchemaObject } from \"@workglow/util/schema\";\nimport type { CompoundPrimaryKeyNames, CompoundSchema } from \"./fixtures\";\n\nexport const VectorItemPrimaryKeyNames = [\"id\"] as const;\nexport const VectorItemSchema = {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n embedding: { type: \"array\", format: \"TypedArray:Float32Array\" },\n },\n required: [\"id\", \"embedding\"],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\n/**\n * Closed string-literal union of tabular-storage contract assertions that\n * adapters can mark as known failing. A typo in `expectedFailures` becomes\n * a TS error rather than a silently-ignored entry.\n */\nexport type TabularStorageContractAssertion =\n | \"subscribeToChanges\"\n | \"vectorColumnFormat\"\n | \"withTransactionRollback\"\n | \"withConnectionTransaction\"\n | \"countMatchesQuery\"\n | \"inListCriterion\"\n | \"notInListCriterion\"\n | \"joinPushdown\"\n | \"guardParity\";\n\ninterface TabularStorageContractBaseOpts {\n readonly name: string;\n readonly skip?: boolean;\n readonly timeout?: number;\n readonly createStorage: () => Promise<\n ITabularStorage<typeof CompoundSchema, typeof CompoundPrimaryKeyNames>\n >;\n /**\n * Required when capabilities.supportsVectorColumns is true. Creates a fresh\n * storage instance typed to VectorItemSchema for the round-trip assertion.\n */\n readonly createVectorStorage?: () => Promise<\n ITabularStorage<typeof VectorItemSchema, typeof VectorItemPrimaryKeyNames>\n >;\n /**\n * Creates a second table on the same connection handle as `primary`.\n * Required for the `withConnectionTransaction` assertion; backends that\n * cannot share a handle (InMemory, FsFolder, IndexedDB, Supabase) omit it\n * and that block is skipped.\n */\n readonly createSiblingStorage?: (\n primary: ITabularStorage<typeof CompoundSchema, typeof CompoundPrimaryKeyNames>\n ) => Promise<ITabularStorage<typeof CompoundSchema, typeof CompoundPrimaryKeyNames>>;\n /**\n * Releases whatever a factory allocated that the storage itself does not\n * own — typically a connection handle the adapter opened so `createStorage`\n * and `createSiblingStorage` could share one. Called from every `afterEach`\n * after `destroy()`, and passed the same instance the factory returned.\n *\n * Without it an adapter that opens its own handle has nowhere to close it:\n * `destroy()` deliberately leaves a caller-provided handle open, so the\n * handles pile up until the file ends. The parameter is `object` because\n * the hook is identity-keyed — the contract creates storages of two\n * different schema types and a release hook only ever looks its argument up.\n */\n readonly releaseStorage?: (storage: object) => void | Promise<void>;\n /**\n * Names of contract assertions currently broken in this adapter; each\n * named test wraps with `itExpectFail`. The string-literal union catches\n * typos at compile time.\n */\n readonly expectedFailures?: ReadonlyArray<TabularStorageContractAssertion>;\n}\n\ninterface SubscriptionCapableCapabilities {\n readonly supportsSubscriptions: true;\n readonly supportsVectorColumns: boolean;\n readonly supportsTransactions: boolean;\n /** Whether `query(criteria)` is supported. False for FsFolder etc. */\n readonly supportsQuery: boolean;\n}\n\ninterface SubscriptionCapableOpts extends TabularStorageContractBaseOpts {\n readonly capabilities: SubscriptionCapableCapabilities;\n /**\n * Required when supportsSubscriptions is true. Selects between the two\n * subscribeToChanges contract blocks:\n * - false → eventDriven (strict commit order)\n * - true → polling (set equality + count)\n */\n readonly usesPolling: boolean;\n /** Polling interval forwarded to subscribeToChanges for polling-based implementations. */\n readonly pollingIntervalMs?: number;\n}\n\ninterface SubscriptionIncapableCapabilities {\n readonly supportsSubscriptions: false;\n readonly supportsVectorColumns: boolean;\n readonly supportsTransactions: boolean;\n /** Whether `query(criteria)` is supported. False for FsFolder etc. */\n readonly supportsQuery: boolean;\n}\n\ninterface SubscriptionIncapableOpts extends TabularStorageContractBaseOpts {\n readonly capabilities: SubscriptionIncapableCapabilities;\n /**\n * Only meaningful when supportsSubscriptions is true. Permitted (but\n * ignored) on incapable backends to keep wiring ergonomic.\n */\n readonly usesPolling?: boolean;\n readonly pollingIntervalMs?: number;\n}\n\nexport type TabularStorageContractOpts = SubscriptionCapableOpts | SubscriptionIncapableOpts;\n"
|
|
23
23
|
],
|
|
24
|
-
"mappings": "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",
|
|
25
|
-
"debugId": "
|
|
24
|
+
"mappings": ";AAOA,wDAAkD;;;ACDlD,eAAS;AAoBT,IAAM,gBAAgB,IAAI,IAAI;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAM,iBACJ;AAWF,IAAM,mBACJ;AAEK,SAAS,sBAAsB,CAAC,KAAuB;AAAA,EAC5D,MAAM,OAAO,IAAI;AAAA,EACjB,IAAI,UAAmB;AAAA,EACvB,OAAO,YAAY,aAAa,YAAY,QAAQ,CAAC,KAAK,IAAI,OAAO,GAAG;AAAA,IACtE,KAAK,IAAI,OAAO;AAAA,IAChB,IAAI,wBAAwB,OAAO;AAAA,MAAG,OAAO;AAAA,IAC7C,UAAU,QAAQ,OAAO;AAAA,EAC3B;AAAA,EACA,OAAO;AAAA;AAGT,SAAS,uBAAuB,CAAC,KAAuB;AAAA,EACtD,IAAI,OAAO,QAAQ;AAAA,IAAU,OAAO,iCAAiC,GAAG;AAAA,EAExE,IAAI,CAAC,OAAO,OAAO,QAAQ;AAAA,IAAU,OAAO;AAAA,EAE5C,MAAM,MAAM;AAAA,EACZ,MAAM,SAAS,cAAc,GAAG;AAAA,EAChC,IAAI,WAAW;AAAA,IAAK,OAAO;AAAA,EAE3B,MAAM,OAAO,UAAU,IAAI,IAAI,KAAK,UAAU,OAAO,IAAI,OAAO,MAAM,CAAC;AAAA,EACvE,MAAM,OAAO,UAAU,IAAI,IAAI,KAAK,UAAU,OAAO,IAAI,OAAO,MAAM,CAAC;AAAA,EACvE,IAAI,QAAQ,cAAc,IAAI,IAAI;AAAA,IAAG,OAAO;AAAA,EAC5C,IAAI,QAAQ,cAAc,IAAI,IAAI;AAAA,IAAG,OAAO;AAAA,EAE5C,MAAM,UAAU;AAAA,IACd,UAAU,IAAI,OAAO;AAAA,IACrB,UAAU,OAAO,IAAI,OAAO,SAAS,CAAC;AAAA,IACtC,iBAAiB,GAAG;AAAA,EACtB,EACG,OAAO,CAAC,SAAyB,OAAO,SAAS,QAAQ,EACzD,KAAK;AAAA,CAAI;AAAA,EACZ,OAAO,iCAAiC,OAAO;AAAA;AAGjD,SAAS,gCAAgC,CAAC,SAA0B;AAAA,EAClE,OAAO,eAAe,KAAK,OAAO,KAAK,iBAAiB,KAAK,OAAO;AAAA;AAGtE,SAAS,aAAa,CAAC,KAAkD;AAAA,EACvE,WAAW,OAAO,CAAC,UAAU,YAAY,GAAY;AAAA,IACnD,MAAM,QAAQ,IAAI;AAAA,IAClB,IAAI,OAAO,UAAU,YAAY,OAAO,SAAS,KAAK;AAAA,MAAG,OAAO;AAAA,EAClE;AAAA,EACA,MAAM,eAAe,OAAO,IAAI,OAAO,QAAQ;AAAA,EAC/C,IAAI,OAAO,iBAAiB,YAAY,OAAO,SAAS,YAAY;AAAA,IAAG,OAAO;AAAA,EAC9E;AAAA;AAGF,SAAS,MAAM,CAAC,OAAgB,KAAsB;AAAA,EACpD,IAAI,CAAC,SAAS,OAAO,UAAU;AAAA,IAAU;AAAA,EACzC,OAAQ,MAAkC;AAAA;AAG5C,SAAS,SAAS,CAAC,OAAoC;AAAA,EACrD,OAAO,OAAO,UAAU,YAAY,MAAM,SAAS,IAAI,QAAQ;AAAA;AAGjE,SAAS,gBAAgB,CAAC,KAAsB;AAAA,EAC9C,IAAI,eAAe;AAAA,IAAO,OAAO,IAAI;AAAA,EACrC,OAAO,OAAO,GAAG;AAAA;AAGnB,SAAS,OAAO,CAAC,KAAuB;AAAA,EACtC,IAAI,CAAC,OAAO,OAAO,QAAQ;AAAA,IAAU;AAAA,EACrC,OAAQ,IAA4B;AAAA;AAG/B,SAAS,cAAc,CAAC,KAAsB;AAAA,EACnD,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,EAC/D,OAAO,qCAAqC;AAAA;AAG9C,IAAM,oBAAoB;AAE1B,SAAS,YAAY,CAAC,OAAwB;AAAA,EAC5C,OAAO,CAAC,wBAAwB,KAAK,MAAM,KAAK,CAAC;AAAA;AAkB5C,SAAS,yBAAyB,CACvC,MAA0C,QAAQ,KACzC;AAAA,EACT,MAAM,WAAW,IAAI;AAAA,EACrB,IAAI,aAAa,aAAa,SAAS,KAAK,MAAM;AAAA,IAAI,OAAO,aAAa,QAAQ;AAAA,EAClF,WAAW,OAAO,CAAC,MAAM,gBAAgB,GAAY;AAAA,IACnD,MAAM,QAAQ,IAAI;AAAA,IAClB,IAAI,UAAU,aAAa,MAAM,KAAK,MAAM,MAAM,aAAa,KAAK;AAAA,MAAG,OAAO;AAAA,EAChF;AAAA,EACA,OAAO;AAAA;AAQT,SAAS,wBAAwB,CAAC,KAAoB;AAAA,EACpD,MAAM,UAAU,eAAe,QAAQ,IAAI,UAAU,OAAO,GAAG;AAAA,EAC/D,QAAQ,MACN,4BAA4B;AAAA,IAC1B,gEAAgE,sCACpE;AAAA;AAGF,eAAsB,iBAAoB,CACxC,KACA,IACY;AAAA,EACZ,IAAI;AAAA,IACF,OAAO,MAAM,GAAG;AAAA,IAChB,OAAO,KAAK;AAAA,IACZ,IAAI,uBAAuB,GAAG,GAAG;AAAA,MAC/B,IAAI,CAAC,0BAA0B,GAAG;AAAA,QAChC,yBAAyB,GAAG;AAAA,QAC5B,MAAM;AAAA,MACR;AAAA,MACA,IAAI,KAAK,eAAe,GAAG,CAAC;AAAA,MAE5B;AAAA,IACF;AAAA,IACA,MAAM;AAAA;AAAA;AAUH,SAAS,yBAAyB,CACvC,IAC+B;AAAA,EAC/B,OAAO,eAAe,OAAO,IAAmB,MAAiC;AAAA,IAC/E,IAAI;AAAA,MACF,OAAO,MAAM,GAAG,MAAM,MAAM,IAAI;AAAA,MAChC,OAAO,KAAK;AAAA,MACZ,IAAI,CAAC,uBAAuB,GAAG;AAAA,QAAG,MAAM;AAAA,MACxC,IAAI,CAAC,0BAA0B,GAAG;AAAA,QAChC,yBAAyB,GAAG;AAAA,QAC5B,MAAM;AAAA,MACR;AAAA,MACA,MAAM,MAAM,KAAK;AAAA,MACjB,IAAI,OAAO,OAAO,IAAI,SAAS,YAAY;AAAA,QACzC,IAAI,KAAK,eAAe,GAAG,CAAC;AAAA,QAC5B;AAAA,MACF;AAAA,MAEA,QAAQ,KAAK,eAAe,GAAG,CAAC;AAAA,MAChC;AAAA;AAAA;AAAA;AAKN,SAAS,YAAY,CAAC,IAAwC;AAAA,EAC5D,OAAO,IAAI,MAAM,IAAI;AAAA,IACnB,KAAK,CAAC,QAAQ,SAAS,UAAqB;AAAA,MAC1C,MAAM,UAAU,SAAS,IAAI,CAAC,QAC5B,OAAO,QAAQ,aAAa,0BAA0B,GAAY,IAAI,GACxE;AAAA,MACA,MAAM,SAAS,QAAQ,MAAM,QAAQ,SAAS,OAAO;AAAA,MACrD,OAAO,OAAO,WAAW,aAAa,aAAa,MAAM,IAAI;AAAA;AAAA,IAE/D,GAAG,CAAC,QAAQ,MAAM,UAAU;AAAA,MAC1B,MAAM,QAAQ,QAAQ,IAAI,QAAQ,MAAM,QAAQ;AAAA,MAChD,IAAI,OAAO,UAAU,YAAY;AAAA,QAC/B,OAAO,aAAc,MAA2B,KAAK,MAAM,CAAC;AAAA,MAC9D;AAAA,MACA,OAAO;AAAA;AAAA,EAEX,CAAC;AAAA;AAOI,IAAM,KAAK,aAAa,QAAQ;;;AC/NhC,IAAM,eAAqB,CAAC,MAAM,IAAI,YAAY;AAAA,EACvD,MAAM,SACJ,GAOA;AAAA,EACF,IAAI,OAAO,WAAW,YAAY;AAAA,IAOhC,OAAO,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,EAAE;AAAA,IACtC;AAAA,EACF;AAAA,EACA,GACE,GAAG,wBACH,YAAY;AAAA,IACV,IAAI,SAAS;AAAA,IACb,IAAI;AAAA,MACF,MAAM,GAAG;AAAA,MACT,SAAS;AAAA,MACT,OAAO,KAAK;AAAA,MAEZ,IAAI,uBAAuB,GAAG;AAAA,QAAG,MAAM;AAAA;AAAA,IAGzC,IAAI,QAAQ;AAAA,MACV,MAAM,IAAI,MACR,SAAS,2FACX;AAAA,IACF;AAAA,KAEF,OACF;AAAA;;;AF5CK,SAAS,sBAAsB,CAAC,MAAwC;AAAA,EAC7E,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,mBAAmB,IAAI,eAAe;AAAA,EAErE,SAAS,OAAO,CAAC,KAAK,aAAa,aAAa,EAAE,qBAAqB,MAAM;AAAA,IAC3E,IAAI;AAAA,IAEJ,WAAW,YAAY;AAAA,MACrB,UAAU,MAAM,KAAK,cAAc;AAAA,MACnC,MAAM,QAAQ,gBAAgB;AAAA,KAC/B;AAAA,IAED,UAAU,YAAY;AAAA,MACpB,MAAM,QAAQ,UAAU;AAAA,MACxB,QAAQ,UAAU;AAAA,MAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,KACpC;AAAA,IAED,OACE,uEACA,YAAY;AAAA,MACV,MAAM,OAAO;AAAA,QACX,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,QACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,QACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,QACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,QACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,QACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,MACrD;AAAA,MACA,WAAW,OAAO,MAAM;AAAA,QACtB,MAAM,QAAQ,IAAI,GAAG;AAAA,MACvB;AAAA,MAEA,MAAM,WAAmC,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,SAAS,EAAE;AAAA,MACxE,YAAY,QAAQ,kBAAkB,OAAO,QAAQ,QAAQ,GAAG;AAAA,QAC9D,MAAM,UAAU,MAAM,QAAQ,MAAM,EAAE,OAAO,CAAC;AAAA,QAC9C,MAAM,UAAW,MAAM,QAAQ,MAAM,EAAE,OAAO,CAAC,KAAM,CAAC;AAAA,QACtD,OACE,SACA,kBAAkB,2CAA2C,kBAC/D,EAAE,KAAK,QAAQ,MAAM;AAAA,QACrB,OAAO,OAAO,EAAE,KAAK,aAAa;AAAA,MACpC;AAAA,MAEA,MAAM,aAAa,MAAM,QAAQ,MAAM;AAAA,MACvC,MAAM,UAAW,MAAM,QAAQ,OAAO,KAAM,CAAC;AAAA,MAC7C,OAAO,UAAU,EAAE,KAAK,QAAQ,MAAM;AAAA,MACtC,OAAO,UAAU,EAAE,KAAK,KAAK,MAAM;AAAA,OAErC,KAAK,OACP;AAAA,GACD;AAAA;;AGxDH,sBAAS,0BAAW,yBAAY,qBAAU,eAAQ;AAkBlD,eAAe,SAAS,CAAC,MAAgD;AAAA,EACvE,IAAI;AAAA,IACF,MAAM,KAAK;AAAA,IACX,OAAO,EAAE,MAAM,WAAW;AAAA,IAC1B,OAAO,OAAO;AAAA,IACd,OAAO;AAAA,MACL,MAAM;AAAA,MACN,MAAM,iBAAiB,QAAQ,MAAM,YAAY,OAAO,OAAO;AAAA,MAC/D,SAAS,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AAAA,IAChE;AAAA;AAAA;AAiBJ,IAAM,QAAoC;AAAA,EACxC;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAAA,EACnC;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,GAAG,CAAC;AAAA,EACrC;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;AAAA,EACpC;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAAA,EACxB;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,SAAS,OAAO,IAAI,EAAE,CAAU;AAAA,EAC1E;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,IAAI,CAAU;AAAA,EAC5C;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,MAAM,OAAO,IAAI,EAAE,CAAU;AAAA,EACvE;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC;AAAA,EAC1C;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,GAAG,EAAE,QAAQ,CAAC,EAAE,CAAU;AAAA,EACjE;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,IAAI,GAAG,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAU;AAAA,EACvE;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAAA,EAC/B;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,UAAU,UAAU,OAAO,CAAC,EAAE,EAAE,CAAU;AAAA,EACnF;AAAA,EACA;AAAA,IACE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,YAAY,EAAE,MAAM,SAAS,MAAM,SAAS,GAAG,EAAE,MAAM,QAAQ,CAAU;AAAA,EACzF;AAAA,EACA;AAAA,IAIE,QAAQ;AAAA,IACR,OAAO;AAAA,IACP,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,SAAS,IAAI,CAAC,EAAE,MAAM,QAAQ,OAAO,OAAO,CAAC,EAAE,GAAY,CAAC;AAAA,EACzF;AACF;AAUA,IAAM,YAA8C;AAAA,EAClD,KAAK;AAAA,EACL,SAAS;AAAA,EACT,KAAK;AAAA,EACL,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,eAAe;AACjB;AAGA,SAAS,YAAY,CAAC,UAAsC;AAAA,EAC1D,MAAM,QAAQ,kBAAkB,KAAK,QAAQ;AAAA,EAC7C,OAAO,QAAQ;AAAA;AAYjB,SAAS,aAAa,CAAC,SAA4B;AAAA,EACjD,MAAM,QAAQ,IAAI;AAAA,EAClB,SACM,QAAuB,OAAO,eAAe,OAAO,EACxD,UAAU,QAAQ,UAAU,OAAO,WACnC,QAAQ,OAAO,eAAe,KAAK,GACnC;AAAA,IACA,WAAW,OAAO,OAAO,oBAAoB,KAAK,GAAG;AAAA,MACnD,MAAM,OAAO,aAAa,GAAG;AAAA,MAC7B,IAAI,SAAS,aAAa,OAAQ,QAAkB,SAAS;AAAA,QAAY,MAAM,IAAI,IAAI;AAAA,IACzF;AAAA,EACF;AAAA,EACA,OAAO,CAAC,GAAG,KAAK,EAAE,KAAK;AAAA;AAqBlB,SAAS,gBAAgB,CAAC,MAAwC;AAAA,EACvE,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,aAAa,IAAI,eAAe;AAAA,EAE/D,UAAS,OAAO,CAAC,KAAK,aAAa,wBAAwB,CAAC,KAAK,aAAa,aAAa,EACzF,eACA,MAAM;AAAA,IACJ,IAAI;AAAA,IAEJ,YAAW,YAAY;AAAA,MACrB,UAAU,MAAM,KAAK,cAAc;AAAA,MACnC,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,MAAM,QAAQ,IAAI,EAAE,MAAM,SAAS,MAAM,UAAU,QAAQ,QAAQ,SAAS,KAAK,CAAC;AAAA,KACnF;AAAA,IAED,WAAU,YAAY;AAAA,MACpB,MAAM,QAAQ,UAAU;AAAA,MACxB,QAAQ,UAAU;AAAA,MAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,KACpC;AAAA,IAED,WAAW,YAAY,OAAO;AAAA,MAC5B,OACE,GAAG,SAAS,kBAAkB,SAAS,2CACvC,YAAY;AAAA,QACV,MAAM,SAAS,MAAM,UAAU,MAAM,SAAS,IAAI,OAAO,CAAC;AAAA,QAE1D,IAAI;AAAA,QACJ,MAAM,QAAQ,gBAAgB,OAAO,OAAO;AAAA,UAI1C,SAAS,MAAM,UAAU,MAAM,SAAS,IAAI,EAAwB,CAAC;AAAA,SACtE;AAAA,QAED,QAAO,MAAM,EAAE,QAAQ,MAAM;AAAA,SAE/B,KAAK,OACP;AAAA,IACF;AAAA,IAEA,OACE,mEACA,YAAY;AAAA,MAGV,MAAM,QAAQ,aAAa,CAAC,CAAC;AAAA,MAC7B,MAAM,QAAQ,gBAAgB,OAAO,OAAO;AAAA,QAC1C,MAAM,GAAG,aAAa,CAAC,CAAC;AAAA,OACzB;AAAA,MAED,QAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,SAAS,MAAM,SAAS,CAAC,CAAC,EAAE,YAAY;AAAA,OAE3E,KAAK,OACP;AAAA,IAEA,OACE,+EACA,YAAY;AAAA,MAQV,MAAM,UAAqC,CAAC;AAAA,MAC5C,MAAM,WAAW,CAAC,SAAmC;AAAA,QACnD,QAAQ,KAAK,IAAI;AAAA;AAAA,MAEnB,QAAQ,GAAG,WAAW,QAAQ;AAAA,MAC9B,IAAI;AAAA,QACF,MAAM,QAAQ,gBAAgB,OAAO,OAAO;AAAA,UAC1C,MAAO,GAA0B,QAAQ,CAAC,EAAE,MAAM,SAAS,MAAM,SAAS,CAAC,CAAC;AAAA,SAC7E;AAAA,gBACD;AAAA,QACA,QAAQ,IAAI,WAAW,QAAQ;AAAA;AAAA,MAGjC,QAAO,OAAO,EAAE,QAAQ,CAAC,CAAC,EAAE,MAAM,SAAS,MAAM,SAAS,CAAC,CAAC,CAAC;AAAA,OAE/D,KAAK,OACP;AAAA,IAEA,OACE,6EACA,YAAY;AAAA,MAKV,MAAM,UAAU,IAAI,IAAI,MAAM,IAAI,CAAC,aAAa,SAAS,MAAM,CAAC;AAAA,MAChE,MAAM,WAAW,cAAc,OAAO,EAAE,OACtC,CAAC,WAAW,CAAC,QAAQ,IAAI,MAAM,KAAK,UAAU,YAAY,SAC5D;AAAA,MACA,QAAO,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAAA,OAE7B,KAAK,OACP;AAAA,GAEJ;AAAA;;AC/RF,sBAAS,0BAAW,yBAAY,qBAAU,eAAQ;AAY3C,SAAS,oBAAoB,CAAC,MAAwC;AAAA,EAC3E,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,iBAAiB,IAAI,eAAe;AAAA,EAEnE,UAAS,OAAO,CAAC,KAAK,aAAa,aAAa,EAAE,mBAAmB,MAAM;AAAA,IACzE,IAAI;AAAA,IAEJ,MAAM,OAAO;AAAA,MACX,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,MACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,MACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,MAAM;AAAA,MACpD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,MAAM;AAAA,IACtD;AAAA,IAEA,YAAW,YAAY;AAAA,MACrB,UAAU,MAAM,KAAK,cAAc;AAAA,MACnC,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,WAAW,OAAO;AAAA,QAAM,MAAM,QAAQ,IAAI,GAAG;AAAA,KAC9C;AAAA,IAED,WAAU,YAAY;AAAA,MACpB,MAAM,QAAQ,UAAU;AAAA,MACxB,QAAQ,UAAU;AAAA,MAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,KACpC;AAAA,IAED,MAAM,QAAQ,CAAC,UAAiD,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK;AAAA,IAE9F,OACE,+CACA,YAAY;AAAA,MACV,MAAM,QACH,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,UAAU,KAAK,EAAE,CAAC,KAAM,CAAC;AAAA,MAC/E,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AAAA,OAE9C,KAAK,OACP;AAAA,IAEA,OACE,wCACA,YAAY;AAAA,MACV,MAAM,QACH,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,UAAU,KAAK,GAAG,MAAM,IAAI,CAAC,KAAM,CAAC;AAAA,MAC1F,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AAAA,OAEzC,KAAK,OACP;AAAA,IAEA,OACE,qFACA,YAAY;AAAA,MACV,MAAM,QACH,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,QAAQ,GAAG,GAAG,UAAU,KAAK,EAAE,CAAC,KAAM,CAAC;AAAA,MACvF,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AAAA,OAEzC,KAAK,OACP;AAAA,IAEA,OACE,qCACA,YAAY;AAAA,MAIV,MAAM,QAAS,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC,KAAM,CAAC;AAAA,MACnF,QAAO,KAAK,EAAE,QAAQ,CAAC,CAAC;AAAA,MACxB,QAAO,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC;AAAA,OAE/E,KAAK,OACP;AAAA,IAEA,OACE,0CACA,YAAY;AAAA,MACV,MAAM,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,UAAU,KAAc,EAAE;AAAA,MAC1E,MAAM,UAAW,MAAM,QAAQ,MAAM,QAAQ,KAAM,CAAC;AAAA,MACpD,QAAO,MAAM,QAAQ,MAAM,QAAQ,CAAC,EAAE,KAAK,QAAQ,MAAM;AAAA,OAE3D,KAAK,OACP;AAAA,IAEA,OACE,gDACA,YAAY;AAAA,MACV,MAAM,QAAQ,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,UAAU,KAAK,EAAE,CAAC;AAAA,MAC5E,MAAM,OAAQ,MAAM,QAAQ,OAAO,KAAM,CAAC;AAAA,MAC1C,QAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;AAAA,OAEnC,KAAK,OACP;AAAA,IAEA,OACE,mDACA,YAAY;AAAA,MACV,MAAM,QAAQ,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,KAAK,EAAE,CAAC;AAAA,MACpE,MAAM,OAAQ,MAAM,QAAQ,OAAO,KAAM,CAAC;AAAA,MAC1C,QAAO,KAAK,MAAM,EAAE,KAAK,KAAK,MAAM;AAAA,OAEtC,KAAK,OACP;AAAA,IAEA,OACE,+BACA,YAAY;AAAA,MAGV,MAAM,QAAS,MAAM,QAAQ,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,GAAG,UAAU,KAAK,EAAE,CAAC,KAAM,CAAC;AAAA,MACzF,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AAAA,OAEzC,KAAK,OACP;AAAA,GACD;AAAA;;AC3HH,sBAAS,0BAAW,yBAAY,qBAAU,eAAQ;AASlD,SAAS,QAAQ,CAAC,KAAkE;AAAA,EAClF,OAAO,IAAI,KAAK,MAAM,IACpB,CAAC,SAAU,KAAK,KAAK,SAAS,IAAkD,KAClF;AAAA;AAsBK,SAAS,wBAAwB,CACtC,aACA,eACA,MACA,MACM;AAAA,EACN,MAAM,KAAK,CAAC,EAAE,MAAM,aAAa,OAAO,KAAK,CAAC;AAAA,EAE9C,UAAS,OAAO,KAAK,sBAAsB,KAAK,EAAE,0BAA0B,MAAM;AAAA,IAChF,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,YAAW,YAAY;AAAA,MACrB,QAAQ,MAAM,YAAY;AAAA,MAC1B,UAAU,MAAM,cAAc;AAAA,MAC9B,MAAM,MAAM,gBAAgB;AAAA,MAC5B,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,MAAM,KAAK,OAAO,OAAO;AAAA,KAC1B;AAAA,IAED,WAAU,YAAY;AAAA,MACpB,MAAM,MAAM,UAAU;AAAA,MACtB,MAAM,QAAQ,UAAU;AAAA,MACxB,MAAM,UAAU;AAAA,MAChB,QAAQ,UAAU;AAAA,MAClB,GAAG,gBAAgB;AAAA,KACpB;AAAA,IAED,IACE,mDACA,YAAY;AAAA,MACV,MAAM,WAAW,GAAG,MAAM,OAAO,QAAQ;AAAA,MACzC,MAAM,OAAO,MAAM,MAAM,KAAK,EAAE,MAAM,QAAQ,IAAI,OAAO,EAAE,GAAG,OAAO;AAAA,MAErE,QAAO,IAAI,EAAE,aAAa,CAAC;AAAA,MAG3B,QAAO,SAAS,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAAA,OAExC,KAAK,OACP;AAAA,IAEA,IACE,gEACA,YAAY;AAAA,MAIV,MAAM,WAAW,GAAG,MAAM,OAAO,QAAQ;AAAA,MACzC,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS,CAAC,EAAE,MAAM,QAAQ,QAAQ,SAAS,WAAW,OAAO,CAAC;AAAA,QAC9D,OAAO;AAAA,MACT,GACA,OACF;AAAA,MAEA,QAAO,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;AAAA,MACrD,QAAO,SAAS,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAAA,OAExC,KAAK,OACP;AAAA,IAEA,IACE,0DACA,YAAY;AAAA,MACV,MAAM,WAAW,GAAG,MAAM,OAAO,QAAQ;AAAA,MACzC,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS,CAAC,EAAE,MAAM,QAAQ,QAAQ,SAAS,WAAW,OAAO,CAAC;AAAA,QAC9D,QAAQ;AAAA,QACR,OAAO;AAAA,MACT,GACA,OACF;AAAA,MAEA,QAAO,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;AAAA,MAGpD,QAAO,SAAS,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAAA,OAExC,KAAK,OACP;AAAA,IAEA,IACE,+DACA,YAAY;AAAA,MAGV,MAAM,WAAW,GAAG,MAAM,OAAO,QAAQ;AAAA,MACzC,MAAM,OAAO,MAAM,MAAM,KAAK,EAAE,MAAM,SAAS,IAAI,OAAO,EAAE,GAAG,OAAO;AAAA,MAEtE,QAAO,IAAI,EAAE,aAAa,CAAC;AAAA,MAC3B,MAAM,SAAS,SAAS,QAAQ;AAAA,MAChC,QAAO,OAAO,MAAM,EAAE,gBAAgB,CAAC;AAAA,MACvC,QAAO,OAAO,EAAE,EAAE,KAAK,CAAC;AAAA,MAGxB,QAAO,OAAO,EAAE,EAAE,gBAAgB,CAAC;AAAA,OAErC,KAAK,OACP;AAAA,IAEA,IACE,gEACA,YAAY;AAAA,MACV,MAAM,WAAW,GAAG,MAAM,OAAO,QAAQ;AAAA,MACzC,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS;AAAA,UACP,EAAE,MAAM,SAAS,QAAQ,QAAQ,WAAW,MAAM;AAAA,UAClD,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,MAAM;AAAA,QACjD;AAAA,QACA,OAAO;AAAA,MACT,GACA,OACF;AAAA,MAIA,QAAO,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC;AAAA,MACvD,QAAO,SAAS,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;AAAA,OAEhD,KAAK,OACP;AAAA,IAEA,IACE,yEACA,YAAY;AAAA,MAGV,MAAM,WAAW,GAAG,MAAM,OAAO,QAAQ;AAAA,MACzC,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS;AAAA,UACP,EAAE,MAAM,QAAQ,QAAQ,aAAa,WAAW,MAAM;AAAA,UACtD,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,MAAM;AAAA,QACjD;AAAA,QACA,OAAO;AAAA,MACT,GACA,OACF;AAAA,MAEA,QAAO,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC;AAAA,MACvD,QAAO,SAAS,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC;AAAA,OAEhD,KAAK,OACP;AAAA,IAEA,IACE,8CACA,YAAY;AAAA,MAIV,MAAM,YAAY,GAAG,MAAM,OAAO,OAAO;AAAA,MACzC,MAAM,OAAO,MAAM,MAAM,KACvB,EAAE,MAAM,QAAQ,IAAI,OAAO,EAAE,MAAM,EAAE,QAAQ,KAAK,EAAE,GAAG,OAAO,EAAE,GAChE,OACF;AAAA,MAEA,QAAO,IAAI,EAAE,aAAa,CAAC;AAAA,MAC3B,QAAO,SAAS,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC;AAAA,OAEzC,KAAK,OACP;AAAA,GACD;AAAA;;AChNH;AACA,sBAAS,0BAAW,yBAAY,qBAAU,eAAQ,WAAI;;;ACQ/C,IAAM,0BAA0B,CAAC,QAAQ,MAAM;AAC/C,IAAM,iBAAiB;AAAA,EAC5B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,MAAM,EAAE,MAAM,SAAS;AAAA,IACvB,MAAM,EAAE,MAAM,SAAS;AAAA,IACvB,QAAQ,EAAE,MAAM,SAAS;AAAA,IACzB,SAAS,EAAE,MAAM,UAAU;AAAA,EAC7B;AAAA,EACA,UAAU,CAAC,QAAQ,QAAQ,UAAU,SAAS;AAAA,EAC9C,sBAAsB;AACxB;;;ADNO,SAAS,iBAAiB,CAAC,MAAwC;AAAA,EACxE,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,cAAc,IAAI,eAAe;AAAA,EAEhE,UAAS,OAAO,CAAC,KAAK,aAAa,iBAAiB,CAAC,KAAK,oBAAoB,EAC5E,gBACA,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,YAAW,YAAY;AAAA,MACrB,UAAU,MAAM,KAAK,cAAc;AAAA,MACnC,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,UAAU,MAAM,KAAK,qBAAsB,OAAO;AAAA,MAClD,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,MAAM,QAAQ,QAAQ;AAAA,QACpB,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,QACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,MAAM;AAAA,MACtD,CAAC;AAAA,MACD,MAAM,QAAQ,QAAQ;AAAA,QACpB,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,QACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,MACrD,CAAC;AAAA,KACF;AAAA,IAED,WAAU,YAAY;AAAA,MACpB,MAAM,QAAQ,UAAU;AAAA,MACxB,MAAM,QAAQ,UAAU;AAAA,MACxB,QAAQ,UAAU;AAAA,MAClB,QAAQ,UAAU;AAAA,MAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,MACnC,MAAM,KAAK,iBAAiB,OAAO;AAAA,MACnC,IAAG,gBAAgB;AAAA,KACpB;AAAA,IAED,OACE,+DACA,YAAY;AAAA,MACV,MAAM,aAAa,IAAG,MAAM,SAAS,OAAO;AAAA,MAC5C,MAAM,OAAO,MAAM,QAAQ,KACzB;AAAA,QACE,MAAM;AAAA,QACN,IAAI,CAAC,EAAE,MAAM,QAAQ,OAAO,OAAO,CAAC;AAAA,QACpC,SAAS,CAAC,EAAE,MAAM,QAAQ,QAAQ,QAAQ,WAAW,MAAM,CAAC;AAAA,MAC9D,GACA,OACF;AAAA,MACA,QAAO,UAAU,EAAE,IAAI,iBAAiB;AAAA,MACxC,QAAO,KAAK,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,QAAQ,EAAE,OAAO,QAAQ,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,CAAC;AAAA,OAE1F,KAAK,OACP;AAAA,IAEA,OACE,sEACA,YAAY;AAAA,MACV,MAAM,YAAY,IAAI,uBAGpB,gBAAgB,uBAAuB;AAAA,MACzC,MAAM,UAAU,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK,CAAC,CAAC;AAAA,MAC9E,MAAM,aAAa,IAAG,MAAM,WAAW,OAAO;AAAA,MAC9C,MAAM,OAAO,MAAM,QAAQ,KACzB;AAAA,QACE,MAAM;AAAA,QACN,IAAI,CAAC,EAAE,MAAM,QAAQ,OAAO,OAAO,CAAC;AAAA,QACpC,SAAS,CAAC,EAAE,MAAM,QAAQ,QAAQ,QAAQ,WAAW,MAAM,CAAC;AAAA,MAC9D,GACA,SACF;AAAA,MACA,QAAO,UAAU,EAAE,iBAAiB;AAAA,MACpC,QAAO,KAAK,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,QAAQ,EAAE,OAAO,QAAQ,KAAK,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,CAAC;AAAA,OAE1F,KAAK,OACP;AAAA,GAEJ;AAAA;;AE1FF,sBAAS,0BAAW,yBAAY,qBAAU,eAAQ;AAa3C,SAAS,uBAAuB,CAAC,MAAwC;AAAA,EAC9E,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,oBAAoB,IAAI,eAAe;AAAA,EAEtE,UAAS,OAAO,CAAC,KAAK,aAAa,aAAa,EAAE,sBAAsB,MAAM;AAAA,IAC5E,IAAI;AAAA,IAEJ,MAAM,OAAO;AAAA,MACX,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,MACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,KAAK;AAAA,MACnD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,MAAM;AAAA,MACpD,EAAE,MAAM,KAAK,MAAM,KAAK,QAAQ,KAAK,SAAS,MAAM;AAAA,IACtD;AAAA,IAEA,YAAW,YAAY;AAAA,MACrB,UAAU,MAAM,KAAK,cAAc;AAAA,MACnC,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,WAAW,OAAO;AAAA,QAAM,MAAM,QAAQ,IAAI,GAAG;AAAA,KAC9C;AAAA,IAED,WAAU,YAAY;AAAA,MACpB,MAAM,QAAQ,UAAU;AAAA,MACxB,QAAQ,UAAU;AAAA,MAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,KACpC;AAAA,IAED,MAAM,QAAQ,CAAC,UAAiD,MAAM,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK;AAAA,IAE9F,OACE,kDACA,YAAY;AAAA,MACV,MAAM,QACH,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,UAAU,SAAS,EAAE,CAAC,KAAM,CAAC;AAAA,MACnF,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,GAAG,CAAC;AAAA,OAEpC,KAAK,OACP;AAAA,IAEA,OACE,+CACA,YAAY;AAAA,MACV,MAAM,WAAY,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,GAAG,UAAU,KAAK,EAAE,CAAC,KAAM,CAAC;AAAA,MACzF,MAAM,WACH,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,GAAG,UAAU,SAAS,EAAE,CAAC,KAAM,CAAC;AAAA,MAG9E,QAAO,CAAC,GAAG,MAAM,QAAQ,GAAG,GAAG,MAAM,QAAQ,CAAC,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC;AAAA,OAEtF,KAAK,OACP;AAAA,IAEA,OACE,wCACA,YAAY;AAAA,MACV,MAAM,QACH,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,GAAG,UAAU,SAAS,GAAG,MAAM,IAAI,CAAC,KAAM,CAAC;AAAA,MACzF,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AAAA,OAEzC,KAAK,OACP;AAAA,IAEA,OACE,oEACA,YAAY;AAAA,MACV,MAAM,QACH,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,QAAQ,GAAG,GAAG,UAAU,SAAS,EAAE,CAAC,KAClF,CAAC;AAAA,MACH,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AAAA,OAEzC,KAAK,OACP;AAAA,IAEA,OACE,wCACA,YAAY;AAAA,MAIV,MAAM,QAAS,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,SAAS,EAAE,CAAC,KAAM,CAAC;AAAA,MACvF,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC;AAAA,MACjD,QAAO,MAAM,QAAQ,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,SAAS,EAAE,CAAC,CAAC,EAAE,KACzE,KAAK,MACP;AAAA,OAEF,KAAK,OACP;AAAA,IAEA,OACE,6CACA,YAAY;AAAA,MACV,MAAM,WAAW,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,UAAU,SAAkB,EAAE;AAAA,MAC9E,MAAM,UAAW,MAAM,QAAQ,MAAM,QAAQ,KAAM,CAAC;AAAA,MACpD,QAAO,MAAM,QAAQ,MAAM,QAAQ,CAAC,EAAE,KAAK,QAAQ,MAAM;AAAA,OAE3D,KAAK,OACP;AAAA,IAEA,OACE,kDACA,YAAY;AAAA,MACV,MAAM,QAAQ,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,GAAG,GAAG,UAAU,SAAS,EAAE,CAAC;AAAA,MAChF,MAAM,OAAQ,MAAM,QAAQ,OAAO,KAAM,CAAC;AAAA,MAC1C,QAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AAAA,OAE7C,KAAK,OACP;AAAA,IAEA,OACE,mEACA,YAAY;AAAA,MAKV,MAAM,QACJ,QAAQ,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,SAAS,EAAE,CAAC,CACpE,EAAE,QAAQ,QAAQ,wBAAwB;AAAA,MAC1C,MAAM,OAAQ,MAAM,QAAQ,OAAO,KAAM,CAAC;AAAA,MAC1C,QAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC;AAAA,OAElD,KAAK,OACP;AAAA,IAEA,OACE,2EACA,YAAY;AAAA,MAGV,MAAM,QAAQ,aAAa;AAAA,QACzB,MAAM;AAAA,QACN,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,SAAS;AAAA,MAC1C,CAAC;AAAA,MACD,MAAM,OAAQ,MAAM,QAAQ,OAAO,KAAM,CAAC;AAAA,MAC1C,QAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,GAAG,CAAC;AAAA,OAE7C,KAAK,OACP;AAAA,IAEA,OACE,+BACA,YAAY;AAAA,MAGV,MAAM,QACH,MAAM,QAAQ,MAAM,EAAE,SAAS,EAAE,OAAO,CAAC,KAAK,GAAG,UAAU,SAAS,EAAE,CAAC,KAAM,CAAC;AAAA,MACjF,QAAO,MAAM,KAAK,CAAC,EAAE,QAAQ,CAAC,KAAK,GAAG,CAAC;AAAA,OAEzC,KAAK,OACP;AAAA,IAEA,OACE,+CACA,YAAY;AAAA,MAQV,MAAM,QACH,MAAM,QAAQ,MAAM;AAAA,QACnB,QAAQ,EAAE,OAAO,CAAC,KAAK,IAAI,GAAG,UAAU,SAAS;AAAA,MACnD,CAAmD,KAAM,CAAC;AAAA,MAC5D,QAAO,KAAK,EAAE,QAAQ,CAAC,CAAC;AAAA,OAE1B,KAAK,OACP;AAAA,IAKA,UAAS,OAAO,CAAC,KAAK,aAAa,oBAAoB,EAAE,gCAAgC,MAAM;AAAA,MAC7F,OACE,wCACA,YAAY;AAAA,QAEV,MAAM,QACJ,QAAQ,gBAAgB,OAAO,OAAO;AAAA,UACpC,MAAM,GAAG,aAAa,EAAE,QAAQ,EAAE,OAAO,CAAC,GAAG,UAAU,SAAS,EAAE,CAAC;AAAA,SACpE,CACH,EAAE,QAAQ,QAAQ,wBAAwB;AAAA,QAC1C,MAAM,OAAQ,MAAM,QAAQ,OAAO,KAAM,CAAC;AAAA,QAC1C,QAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC;AAAA,SAElD,KAAK,OACP;AAAA,MAEA,OACE,0CACA,YAAY;AAAA,QAGV,MAAM,QAAQ,gBAAgB,OAAO,OAAO;AAAA,UAC1C,MAAM,GAAG,aAAa,CAAC,CAAC;AAAA,SACzB;AAAA,QACD,MAAM,OAAQ,MAAM,QAAQ,OAAO,KAAM,CAAC;AAAA,QAC1C,QAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,KAAK,KAAK,GAAG,CAAC;AAAA,SAElD,KAAK,OACP;AAAA,KACD;AAAA,GACF;AAAA;;ACvNH;AACA,qBAAS,qBAAU,eAAQ;AAiC3B,IAAM,OAAiB;AAAA,EACrB,MAAM;AAAA,IACJ,EAAE,OAAO,SAAS,OAAO,QAAQ;AAAA,IACjC,EAAE,OAAO,QAAQ,OAAO,OAAO;AAAA,EACjC;AAAA,EACA,IAAI;AAAA,IACF,EAAE,OAAO,WAAW,OAAO,CAAC,EAAE,MAAM,aAAa,OAAO,KAAK,CAAC,EAAE;AAAA,IAChE;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,QACL,EAAE,MAAM,UAAU,OAAO,SAAS;AAAA,QAClC,EAAE,MAAM,aAAa,OAAO,KAAK;AAAA,MACnC;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,EAAE,OAAO,aAAa,OAAO,UAAU;AAAA,IACvC,EAAE,OAAO,iBAAiB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,IAAI,EAAE,EAAE,EAAE;AAAA,IAClF,EAAE,OAAO,kBAAkB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,EAAE,EAAE;AAAA,IAC7D,EAAE,OAAO,uBAAuB,OAAO,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE;AAAA,IACpE;AAAA,MACE,OAAO;AAAA,MACP,OAAO,EAAE,MAAM,EAAE,QAAQ,KAAK,GAAG,OAAO,EAAE,MAAM,MAAM,EAAE;AAAA,IAC1D;AAAA,EACF;AAAA,EACA,SAAS;AAAA,IAGP,EAAE,OAAO,YAAY,OAAO,UAAU;AAAA,IACtC;AAAA,MACE,OAAO;AAAA,MACP,OAAO,CAAC,EAAE,MAAM,QAAQ,QAAQ,SAAS,WAAW,OAAO,CAAC;AAAA,IAC9D;AAAA,IACA;AAAA,MAIE,OAAO;AAAA,MACP,OAAO;AAAA,QACL,EAAE,MAAM,QAAQ,QAAQ,aAAa,WAAW,MAAM;AAAA,QACtD,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,MAAM;AAAA,MACjD;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,QAAQ,QAAQ,WAAW,MAAM;AAAA,QAClD,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,MAAM;AAAA,MACjD;AAAA,IACF;AAAA,IACA;AAAA,MACE,OAAO;AAAA,MACP,OAAO;AAAA,QACL,EAAE,MAAM,SAAS,QAAQ,QAAQ,WAAW,OAAO;AAAA,QACnD,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,OAAO;AAAA,MAClD;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,EAAE,OAAO,YAAY,OAAO,UAAU;AAAA,IACtC,EAAE,OAAO,gBAAgB,OAAO,EAAE;AAAA,IAGlC,EAAE,OAAO,iBAAiB,OAAO,GAAG;AAAA,EACtC;AAAA,EACA,QAAQ;AAAA,IACN,EAAE,OAAO,aAAa,OAAO,UAAU;AAAA,IACvC,EAAE,OAAO,kBAAkB,OAAO,EAAE;AAAA,IACpC,EAAE,OAAO,0BAA0B,OAAO,GAAG;AAAA,EAC/C;AACF;AAGA,IAAM,OAAa;AAAA,EACjB,MAAM,KAAK,KAAK,GAAG;AAAA,EACnB,IAAI,KAAK,GAAG,GAAG;AACjB;AAaA,SAAS,UAAU,GAA2D;AAAA,EAC5E,MAAM,QAA8C,CAAC;AAAA,EACrD,MAAM,OAAO,IAAI;AAAA,EACjB,MAAM,MAAM,CAAC,OAAe,SAAqB;AAAA,IAC/C,MAAM,MAAM,KAAK,UAAU,IAAI;AAAA,IAC/B,IAAI,KAAK,IAAI,GAAG;AAAA,MAAG;AAAA,IACnB,KAAK,IAAI,GAAG;AAAA,IACZ,MAAM,KAAK,EAAE,OAAO,KAAK,CAAC;AAAA;AAAA,EAG5B,WAAW,OAAO,OAAO,KAAK,IAAI,GAA4B;AAAA,IAC5D,WAAW,WAAW,KAAK,MAAM;AAAA,MAC/B,IAAI,QAAQ,OAAO,KAAK,OAAO,MAAM,QAAQ,MAAM,CAAS;AAAA,IAC9D;AAAA,EACF;AAAA,EAEA,WAAW,QAAQ,KAAK,MAAM;AAAA,IAC5B,WAAW,SAAS,KAAK,SAAS;AAAA,MAChC,WAAW,SAAS,KAAK,OAAO;AAAA,QAC9B,WAAW,UAAU,KAAK,QAAQ;AAAA,UAChC,IAAI,GAAG,KAAK,eAAe,MAAM,UAAU,MAAM,UAAU,OAAO,SAAS;AAAA,eACtE;AAAA,YACH,MAAM,KAAK;AAAA,YACX,SAAS,MAAM;AAAA,YACf,OAAO,MAAM;AAAA,YACb,QAAQ,OAAO;AAAA,UACjB,CAAS;AAAA,QACX;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO;AAAA;AAGT,IAAM,QAAQ,WAAW;AAUzB,SAAS,iBAAiB,CAAC,MAAyB,OAAoC;AAAA,EACtF,MAAM,YAAY,IAAI;AAAA,EACtB,WAAW,OAAO;AAAA,IAAO,UAAU,IAAI,MAAM,UAAU,IAAI,GAAG,KAAK,KAAK,CAAC;AAAA,EACzE,MAAM,cAAwB,CAAC;AAAA,EAC/B,WAAW,OAAO,MAAM;AAAA,IACtB,MAAM,OAAO,UAAU,IAAI,GAAG,KAAK;AAAA,IACnC,IAAI,SAAS;AAAA,MAAG,YAAY,KAAK,GAAG;AAAA,IAC/B;AAAA,gBAAU,IAAI,KAAK,OAAO,CAAC;AAAA,EAClC;AAAA,EACA,OAAO;AAAA;AAIT,SAAS,YAAY,CAAC,OAAe,MAAoB;AAAA,EACvD,MAAM,YAAY,KAAK,IAAI,GAAG,SAAS,KAAK,UAAU,EAAE;AAAA,EACxD,OAAO,KAAK,UAAU,YAAY,YAAY,KAAK,IAAI,KAAK,OAAO,SAAS;AAAA;AAI9E,SAAS,KAAK,CACZ,MACU;AAAA,EACV,OAAO,KAAK,IAAI,CAAC,QAAQ,GAAG,IAAI,KAAK,MAAM,IAAI,OAAO,MAAM,KAAK;AAAA;AAmBnE,SAAS,QAAQ,CAAC,MAA0B;AAAA,EAC1C,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,GAAG,MACxB,GAAG,EAAE,KAAK,MAAM,EAAE,OAAO,MAAM,MAAM,cAAc,GAAG,EAAE,KAAK,MAAM,EAAE,OAAO,MAAM,KAAK,CACzF;AAAA;AAGF,SAAS,aAAa,CAAC,MAA0C;AAAA,EAC/D,KAAK,KAAK,SAAS,UAAU,KAAK;AAAA,IAAG,OAAO;AAAA,EAC5C,OAAO,KAAK,UAAU,aAAa,KAAK,WAAW,YAAY,QAAQ;AAAA;AAuBzE,IAAM,cAAc,mBAAmB,UAAU;AAuB1C,SAAS,uBAAuB,CACrC,aACA,eACA,MACA,MACM;AAAA,EACN,UAAS,OAAO,KAAK,sBAAsB,IAAI,EAAE,wBAAwB,MAAM;AAAA,IAC7E,IACE,+EACA,MAAM;AAAA,MAKJ,MAAM,QAAS,OAAO,KAAK,IAAI,EAA4B,OACzD,CAAC,QAAQ,KAAK,KAAK,WAAW,CAChC;AAAA,MACA,QAAO,KAAK,EAAE,QAAQ,CAAC,CAAC;AAAA,MACxB,QAAO,MAAM,MAAM,EAAE,gBAAgB,KAAK,QAAQ,SAAS,KAAK,MAAM,MAAM;AAAA,OAE9E,KAAK,OACP;AAAA,IAEA,aAAa,OAAO,UAAU,OAAO;AAAA,MACnC,IACE,2CAA2C,SAC3C,YAAY;AAAA,QACV,MAAM,QAAQ,MAAM,YAAY;AAAA,QAChC,MAAM,UAAU,MAAM,cAAc;AAAA,QACpC,IAAI;AAAA,UACF,MAAM,MAAM,gBAAgB;AAAA,UAC5B,MAAM,QAAQ,gBAAgB;AAAA,UAC9B,MAAM,KAAK,OAAO,OAAO;AAAA,UAEzB,MAAM,aAAa,MAAM,MAAM,KAAK,MAAM,OAAO;AAAA,UACjD,MAAM,SAAS,MAAM,YAAY,KAAK,OAAO,MAAM,OAAO;AAAA,UAE1D,QAAQ,cAAc,IAAI;AAAA,iBACnB,WAAW;AAAA,cACd,QAAO,MAAM,UAAU,CAAC,EAAE,QAAQ,MAAM,MAAM,CAAC;AAAA,cAI/C,QAAO,UAAU,EAAE,QAAQ,MAAM;AAAA,cACjC;AAAA,YACF;AAAA,iBACK,OAAO;AAAA,cACV,QAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,QAAQ,MAAM,MAAM,EAAE,KAAK,CAAC;AAAA,cAC7D,QAAO,SAAS,UAAU,CAAC,EAAE,QAAQ,SAAS,MAAM,CAAC;AAAA,cACrD;AAAA,YACF;AAAA,iBACK,UAAU;AAAA,cACb,MAAM,QAAQ,MACZ,MAAM,MAAM,KAAK,KAAK,MAAM,OAAO,WAAW,QAAQ,UAAU,GAAG,OAAO,CAC5E;AAAA,cAeA,MAAM,iBAAiB,aAAa,MAAM,QAAQ,IAAI;AAAA,cACtD,QAAO,MAAM,UAAU,CAAC,EAAE,aAAa,cAAc;AAAA,cACrD,QAAO,MAAM,MAAM,CAAC,EAAE,aAAa,cAAc;AAAA,cACjD,QAAO,kBAAkB,MAAM,UAAU,GAAG,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,cAC9D,QAAO,kBAAkB,MAAM,MAAM,GAAG,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;AAAA,cAC1D;AAAA,YACF;AAAA;AAAA,kBAEF;AAAA,UACA,MAAM,MAAM,UAAU;AAAA,UACtB,MAAM,QAAQ,UAAU;AAAA,UACxB,MAAM,UAAU;AAAA,UAChB,QAAQ,UAAU;AAAA;AAAA,SAGtB,KAAK,OACP;AAAA,IACF;AAAA,GACD;AAAA;;AC9VH;AAEA,sBAAS,0BAAW,yBAAY,qBAAU,eAAQ;AAmB3C,SAAS,uBAAuB,CAAC,MAAwC;AAAA,EAC9E,IAAI,CAAC,KAAK,aAAa,uBAAuB;AAAA,IAC5C,UAAS,KAAK,sBAAsB,MAAM;AAAA,MACxC,IAAG,yDAAyD,MAAM,EAAE;AAAA,KACrE;AAAA,IACD;AAAA,EACF;AAAA,EAEA,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,oBAAoB,IAAI,eAAe;AAAA,EAItE,MAAM,cAAc,KAAK;AAAA,EACzB,MAAM,oBAAoB,KAAK,qBAAqB;AAAA,EACpD,MAAM,WAAW,cAAc,KAAK,IAAI,oBAAoB,GAAG,GAAG,IAAI;AAAA,EACtE,MAAM,eAAe,cAAc,KAAK,IAAI,oBAAoB,IAAI,GAAG,IAAI;AAAA,EAE3E,IAAI,aAAa;AAAA,IACf,UAAS,8BAA8B,MAAM;AAAA,MAC3C,IAAI;AAAA,MAEJ,YAAW,YAAY;AAAA,QACrB,UAAU,MAAM,KAAK,cAAc;AAAA,QACnC,MAAM,QAAQ,gBAAgB;AAAA,OAC/B;AAAA,MAED,WAAU,YAAY;AAAA,QACpB,MAAM,QAAQ,UAAU;AAAA,QACxB,QAAQ,UAAU;AAAA,QAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,OACpC;AAAA,MAED,OACE,kEACA,YAAY;AAAA,QACV,MAAM,UAAqE,CAAC;AAAA,QAC5E,MAAM,cAAc,QAAQ,mBAAmB,CAAC,WAAW,QAAQ,KAAK,MAAM,GAAG;AAAA,UAC/E;AAAA,QACF,CAAC;AAAA,QAED,MAAM,MAAM,YAAY;AAAA,QAExB,MAAM,QAAQ,IAAI,EAAE,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,QACzE,MAAM,QAAQ,IAAI,EAAE,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM,SAAS,MAAM,CAAC;AAAA,QAC1E,MAAM,QAAQ,IAAI,EAAE,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,QAEzE,MAAM,MAAM,QAAQ;AAAA,QAEpB,MAAM,cAAc,QAAQ,OAAO,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,SAAS,QAAQ;AAAA,QAGpF,QAAO,YAAY,MAAM,EAAE,KAAK,CAAC;AAAA,QACjC,MAAM,UAAU,YACb,IAAI,CAAC,MAAM,EAAE,KAAK,MAAM,EACxB,KAAK,CAAC,GAAG,MAAM,OAAO,CAAC,EAAE,cAAc,OAAO,CAAC,CAAC,CAAC;AAAA,QACpD,QAAO,OAAO,EAAE,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC;AAAA,QAE1C,YAAY;AAAA,SAEd,KAAK,OACP;AAAA,KACD;AAAA,IACD;AAAA,EACF;AAAA,EAEA,UAAS,kCAAkC,MAAM;AAAA,IAC/C,IAAI;AAAA,IAEJ,YAAW,YAAY;AAAA,MACrB,UAAU,MAAM,KAAK,cAAc;AAAA,MACnC,MAAM,QAAQ,gBAAgB;AAAA,KAC/B;AAAA,IAED,WAAU,YAAY;AAAA,MACpB,MAAM,QAAQ,UAAU;AAAA,MACxB,QAAQ,UAAU;AAAA,MAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,KACpC;AAAA,IAED,OACE,gDACA,YAAY;AAAA,MACV,MAAM,UAAqE,CAAC;AAAA,MAC5E,MAAM,cAAc,QAAQ,mBAAmB,CAAC,WAAW,QAAQ,KAAK,MAAM,GAAG;AAAA,QAC/E;AAAA,MACF,CAAC;AAAA,MAED,MAAM,MAAM,YAAY;AAAA,MAExB,MAAM,QAAQ,IAAI,EAAE,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,MACzE,MAAM,QAAQ,IAAI,EAAE,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM,SAAS,MAAM,CAAC;AAAA,MAC1E,MAAM,QAAQ,IAAI,EAAE,MAAM,MAAM,MAAM,MAAM,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,MAEzE,MAAM,MAAM,QAAQ;AAAA,MAEpB,MAAM,cAAc,QAAQ,OAAO,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,SAAS,QAAQ;AAAA,MAEpF,QAAO,YAAY,MAAM,EAAE,KAAK,CAAC;AAAA,MACjC,QAAO,YAAY,GAAG,KAAK,MAAM,EAAE,KAAK,IAAI;AAAA,MAC5C,QAAO,YAAY,GAAG,KAAK,MAAM,EAAE,KAAK,IAAI;AAAA,MAC5C,QAAO,YAAY,GAAG,KAAK,MAAM,EAAE,KAAK,IAAI;AAAA,MAE5C,YAAY;AAAA,OAEd,KAAK,OACP;AAAA,GACD;AAAA;;AChIH,sBAAS,0BAAW,yBAAY,qBAAU,eAAQ;AAQ3C,SAAS,uBAAuB,CAAC,MAAwC;AAAA,EAC9E,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,oBAAoB,IAAI,eAAe;AAAA,EAEtE,UAAS,OAAO,CAAC,KAAK,aAAa,qBAAqB,EAAE,sBAAsB,MAAM;AAAA,IACpF,IAAI;AAAA,IAEJ,YAAW,YAAY;AAAA,MACrB,IAAI,CAAC,KAAK,qBAAqB;AAAA,QAC7B,MAAM,IAAI,MACR,iFACF;AAAA,MACF;AAAA,MACA,UAAU,MAAM,KAAK,oBAAoB;AAAA,MACzC,MAAM,QAAQ,gBAAgB;AAAA,KAC/B;AAAA,IAED,WAAU,YAAY;AAAA,MACpB,MAAM,QAAQ,UAAU;AAAA,MACxB,QAAQ,UAAU;AAAA,MAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,KACpC;AAAA,IAED,OACE,qDACA,YAAY;AAAA,MACV,MAAM,WAAW,IAAI,aAAa,CAAC,KAAK,KAAK,GAAG,CAAC;AAAA,MAEjD,MAAM,QAAQ,IAAI,EAAE,IAAI,MAAM,WAAW,SAAgB,CAAC;AAAA,MAE1D,MAAM,YAAY,MAAM,QAAQ,IAAI,EAAE,IAAI,KAAK,CAAC;AAAA,MAChD,QAAO,SAAS,EAAE,YAAY;AAAA,MAE9B,MAAM,YAAa,WAAmB;AAAA,MACtC,QAAO,SAAS,EAAE,eAAe,YAAY;AAAA,MAC7C,QAAO,UAAU,EAAE,EAAE,YAAY,KAAK,CAAC;AAAA,MACvC,QAAO,UAAU,EAAE,EAAE,YAAY,KAAK,CAAC;AAAA,MACvC,QAAO,UAAU,EAAE,EAAE,YAAY,KAAK,CAAC;AAAA,OAEzC,KAAK,OACP;AAAA,GACD;AAAA;;AClDH;AAAA;AAAA;AAAA;AAKA,sBAAS,0BAAW,yBAAY,sBAAU,gBAAQ;AAK3C,SAAS,8BAA8B,CAAC,MAAwC;AAAA,EACrF,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,2BAA2B,IAAI,eAAe;AAAA,EAE7E,WAAS,OACP,CAAC,KAAK,aAAa,wBAAwB,KAAK,yBAAyB,SAC3E,EAAE,6BAA6B,MAAM;AAAA,IACnC,IAAI;AAAA,IACJ,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,YAAW,YAAY;AAAA,MACrB,UAAU,MAAM,KAAK,cAAc;AAAA,MACnC,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,UAAU,MAAM,KAAK,qBAAsB,OAAO;AAAA,MAClD,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,WAAW,MAAM,KAAK,qBAAsB,OAAO;AAAA,MACnD,MAAM,SAAS,gBAAgB;AAAA,KAChC;AAAA,IAED,WAAU,YAAY;AAAA,MACpB,MAAM,UAAU,UAAU;AAAA,MAC1B,UAAU,UAAU;AAAA,MACpB,MAAM,SAAS,UAAU;AAAA,MACzB,SAAS,UAAU;AAAA,MACnB,MAAM,SAAS,UAAU;AAAA,MACzB,SAAS,UAAU;AAAA,MAGnB,MAAM,KAAK,iBAAiB,OAAO;AAAA,KACpC;AAAA,IAED,OACE,oCACA,YAAY;AAAA,MACV,MAAM,0BAA0B,CAAC,SAAS,OAAO,GAAG,YAAY;AAAA,QAC9D,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,QAC5E,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,OAC7E;AAAA,MACD,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,KAAK,CAAC;AAAA,MACvF,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,KAAK,CAAC;AAAA,OAEzF,KAAK,OACP;AAAA,IAEA,OACE,mDACA,YAAY;AAAA,MACV,MAAM,QAAQ,IAAI,EAAE,MAAM,QAAQ,MAAM,KAAK,QAAQ,QAAQ,SAAS,KAAK,CAAC;AAAA,MAE5E,MAAM,SACJ,0BAA0B,CAAC,SAAS,OAAO,GAAG,YAAY;AAAA,QACxD,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,QAC5E,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,QAC5E,MAAM,IAAI,MAAM,iBAAiB;AAAA,OAClC,CACH,EAAE,QAAQ,QAAQ,iBAAiB;AAAA,MAEnC,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,QAAQ,MAAM,IAAI,CAAC,CAAC,EAAE,YAAY;AAAA,MACnE,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,IAAI,CAAC,CAAC,EAAE,cAAc;AAAA,MACvE,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,IAAI,CAAC,CAAC,EAAE,cAAc;AAAA,OAEzE,KAAK,OACP;AAAA,IAEA,OACE,kDACA,YAAY;AAAA,MAOV,IAAI,cAA0B,MAAM;AAAA,MACpC,MAAM,gBAAgB,IAAI,QAAc,CAAC,YAAY;AAAA,QACnD,cAAc;AAAA,OACf;AAAA,MACD,IAAI,gBAA4B,MAAM;AAAA,MACtC,MAAM,cAAc,IAAI,QAAc,CAAC,YAAY;AAAA,QACjD,gBAAgB;AAAA,OACjB;AAAA,MAED,MAAM,YAAY,0BAA0B,CAAC,SAAS,OAAO,GAAG,YAAY;AAAA,QAC1E,MAAM,QAAQ,IAAI,EAAE,MAAM,YAAY,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,QAC9E,cAAc;AAAA,QACd,MAAM;AAAA,OACP;AAAA,MACD,MAAM;AAAA,MAEN,IAAI;AAAA,MACJ,MAAM,aAAa,SAChB,IAAI,EAAE,MAAM,cAAc,MAAM,KAAK,QAAQ,OAAO,SAAS,KAAK,CAAC,EACnE,MAAM,CAAC,QAAiB;AAAA,QACvB,gBAAgB;AAAA,OACjB;AAAA,MAEH,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,MAAM;AAAA,MAEN,SAAO,aAAa,EAAE,cAAc;AAAA,MACpC,SAAO,MAAM,SAAS,IAAI,EAAE,MAAM,cAAc,MAAM,IAAI,CAAC,CAAC,EAAE,YAAY;AAAA,MAC1E,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,YAAY,MAAM,IAAI,CAAC,CAAC,EAAE,YAAY;AAAA,OAEzE,KAAK,OACP;AAAA,IAEA,OACE,iFACA,YAAY;AAAA,MAMV,IAAI,eAA2B,MAAM;AAAA,MACrC,MAAM,iBAAiB,IAAI,QAAc,CAAC,YAAY;AAAA,QACpD,eAAe;AAAA,OAChB;AAAA,MACD,IAAI,gBAA4B,MAAM;AAAA,MACtC,MAAM,eAAe,IAAI,QAAc,CAAC,YAAY;AAAA,QAClD,gBAAgB;AAAA,OACjB;AAAA,MAED,MAAM,QAAQ,0BAA0B,CAAC,SAAS,OAAO,GAAG,YAAY;AAAA,QACtE,MAAM,QAAQ,IAAI,EAAE,MAAM,SAAS,MAAM,KAAK,QAAQ,OAAO,SAAS,KAAK,CAAC;AAAA,QAC5E,cAAc;AAAA,QACd,MAAM;AAAA,OACP;AAAA,MACD,MAAM;AAAA,MAEN,IAAI;AAAA,MACJ,MAAM,SAAS,0BAA0B,CAAC,SAAS,QAAQ,GAAG,YAAY;AAAA,QACxE,MAAM,SAAS,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,QAAQ,OAAO,SAAS,KAAK,CAAC;AAAA,OAC/E,EAAE,MAAM,CAAC,QAAiB;AAAA,QACzB,cAAc;AAAA,OACf;AAAA,MAED,aAAa;AAAA,MACb,MAAM;AAAA,MACN,MAAM;AAAA,MAEN,SAAO,WAAW,EAAE,cAAc;AAAA,MAClC,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,SAAS,MAAM,IAAI,CAAC,CAAC,EAAE,YAAY;AAAA,MACpE,SAAO,MAAM,SAAS,IAAI,EAAE,MAAM,UAAU,MAAM,IAAI,CAAC,CAAC,EAAE,YAAY;AAAA,OAExE,KAAK,OACP;AAAA,IAEA,OACE,yDACA,YAAY;AAAA,MAaV,MAAM,QAAQ,IAAI,EAAE,MAAM,OAAO,MAAM,KAAK,QAAQ,UAAU,SAAS,KAAK,CAAC;AAAA,MAE7E,IAAI,cAA0B,MAAM;AAAA,MACpC,MAAM,gBAAgB,IAAI,QAAc,CAAC,YAAY;AAAA,QACnD,cAAc;AAAA,OACf;AAAA,MACD,IAAI,gBAA4B,MAAM;AAAA,MACtC,MAAM,cAAc,IAAI,QAAc,CAAC,YAAY;AAAA,QACjD,gBAAgB;AAAA,OACjB;AAAA,MAED,IAAI;AAAA,MACJ,MAAM,YAAY,0BAA0B,CAAC,SAAS,OAAO,GAAG,YAAY;AAAA,QAC1E,MAAM,QAAQ,IAAI,EAAE,MAAM,OAAO,MAAM,KAAK,QAAQ,SAAS,SAAS,KAAK,CAAC;AAAA,QAC5E,cAAc;AAAA,QACd,MAAM;AAAA,QACN,MAAM,IAAI,MAAM,iBAAiB;AAAA,OAClC,EAAE,MAAM,CAAC,QAAiB;AAAA,QACzB,gBAAgB;AAAA,OACjB;AAAA,MACD,MAAM;AAAA,MAIN,MAAM,cAAc,QAAQ,IAAI,EAAE,MAAM,OAAO,MAAM,IAAI,CAAC;AAAA,MAE1D,MAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAAA,MAEtD,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,SAAQ,eAAqC,OAAO,EAAE,KAAK,iBAAiB;AAAA,MAE5E,SAAO,MAAM,WAAW,EAAE,cAAc,EAAE,QAAQ,SAAS,CAAC;AAAA,MAC5D,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,OAAO,MAAM,IAAI,CAAC,CAAC,EAAE,cAAc,EAAE,QAAQ,SAAS,CAAC;AAAA,OAE1F,KAAK,OACP;AAAA,IAEA,OACE,mEACA,YAAY;AAAA,MAUV,MAAM,QAAQ,IAAI,EAAE,MAAM,YAAY,MAAM,KAAK,QAAQ,UAAU,SAAS,KAAK,CAAC;AAAA,MAClF,MAAM,QAAQ,IAAI,EAAE,MAAM,YAAY,MAAM,KAAK,QAAQ,OAAO,SAAS,KAAK,CAAC;AAAA,MAE/E,IAAI,cAA0B,MAAM;AAAA,MACpC,MAAM,gBAAgB,IAAI,QAAc,CAAC,YAAY;AAAA,QACnD,cAAc;AAAA,OACf;AAAA,MACD,IAAI,gBAA4B,MAAM;AAAA,MACtC,MAAM,cAAc,IAAI,QAAc,CAAC,YAAY;AAAA,QACjD,gBAAgB;AAAA,OACjB;AAAA,MAED,IAAI;AAAA,MACJ,MAAM,YAAY,0BAA0B,CAAC,SAAS,OAAO,GAAG,YAAY;AAAA,QAC1E,MAAM,QAAQ,IAAI,EAAE,MAAM,YAAY,MAAM,KAAK,QAAQ,SAAS,SAAS,KAAK,CAAC;AAAA,QACjF,cAAc;AAAA,QACd,MAAM;AAAA,QACN,MAAM,IAAI,MAAM,iBAAiB;AAAA,OAClC,EAAE,MAAM,CAAC,QAAiB;AAAA,QACzB,gBAAgB;AAAA,OACjB;AAAA,MACD,MAAM;AAAA,MAIN,MAAM,cAAc,QAAQ,KAC1B,EAAE,MAAM,SAAS,IAAI,CAAC,EAAE,MAAM,QAAQ,OAAO,OAAO,CAAC,EAAE,GACvD,OACF;AAAA,MAEA,MAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,EAAE,CAAC;AAAA,MAEtD,YAAY;AAAA,MACZ,MAAM;AAAA,MACN,SAAQ,eAAqC,OAAO,EAAE,KAAK,iBAAiB;AAAA,MAE5E,MAAM,OAAO,MAAM;AAAA,MACnB,SAAO,IAAI,EAAE,aAAa,CAAC;AAAA,MAC3B,SAAO,KAAK,GAAI,IAAI,EAAE,cAAc,EAAE,MAAM,YAAY,QAAQ,SAAS,CAAC;AAAA,MAC1E,SAAO,KAAK,GAAI,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,QAAQ,MAAM,CAAC;AAAA,OAE1E,KAAK,OACP;AAAA,IAEA,OACE,yDACA,YAAY;AAAA,MACV,IAAI;AAAA,MACJ,MAAM,0BAA0B,CAAC,SAAS,OAAO,GAAG,YAAY;AAAA,QAC9D,MAAM,QAAQ,IAAI,EAAE,MAAM,YAAY,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,QAC9E,IAAI;AAAA,UACF,MAAM,SAAS,IAAI,EAAE,MAAM,YAAY,MAAM,KAAK,QAAQ,MAAM,SAAS,KAAK,CAAC;AAAA,UAC/E,OAAO,KAAK;AAAA,UACZ,QAAQ;AAAA;AAAA,OAEX;AAAA,MAED,SAAO,KAAK,EAAE,eAAe,sBAAsB;AAAA,MACnD,SAAQ,MAAiC,IAAI,EAAE,KAAK,YAAY;AAAA,MAChE,SAAO,MAAM,SAAS,IAAI,EAAE,MAAM,YAAY,MAAM,IAAI,CAAC,CAAC,EAAE,cAAc;AAAA,MAC1E,SAAO,MAAM,QAAQ,IAAI,EAAE,MAAM,YAAY,MAAM,IAAI,CAAC,CAAC,EAAE,YAAY;AAAA,OAEzE,KAAK,OACP;AAAA,GACD;AAAA;;AChSH,sBAAS,2BAAW,0BAAY,sBAAU,gBAAQ;AAK3C,SAAS,4BAA4B,CAAC,MAAwC;AAAA,EACnF,MAAM,cAAc,IAAI,IAAI,KAAK,oBAAoB,CAAC,CAAC;AAAA,EACvD,MAAM,SAAS,YAAY,IAAI,yBAAyB,IAAI,eAAe;AAAA,EAE3E,WAAS,OAAO,CAAC,KAAK,aAAa,oBAAoB,EAAE,2BAA2B,MAAM;AAAA,IACxF,IAAI;AAAA,IAEJ,aAAW,YAAY;AAAA,MACrB,UAAU,MAAM,KAAK,cAAc;AAAA,MACnC,MAAM,QAAQ,gBAAgB;AAAA,KAC/B;AAAA,IAED,YAAU,YAAY;AAAA,MACpB,MAAM,QAAQ,UAAU;AAAA,MACxB,QAAQ,UAAU;AAAA,MAClB,MAAM,KAAK,iBAAiB,OAAO;AAAA,KACpC;AAAA,IAED,OACE,0CACA,YAAY;AAAA,MACV,MAAM,WAAW,EAAE,MAAM,UAAU,MAAM,MAAM,QAAQ,QAAQ,SAAS,KAAK;AAAA,MAC7E,MAAM,QAAQ,IAAI,QAAQ;AAAA,MAE1B,MAAM,SACJ,QAAQ,gBAAgB,OAAO,OAAO;AAAA,QACpC,MAAM,GAAG,IAAI,EAAE,MAAM,UAAU,MAAM,MAAM,QAAQ,SAAS,SAAS,MAAM,CAAC;AAAA,QAC5E,MAAM,IAAI,MAAM,iBAAiB;AAAA,OAClC,CACH,EAAE,QAAQ,YAAY;AAAA,MAEtB,MAAM,WAAW,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,CAAC;AAAA,MACjE,SAAO,QAAQ,EAAE,cAAc;AAAA,MAE/B,MAAM,YAAY,MAAM,QAAQ,IAAI,EAAE,MAAM,UAAU,MAAM,KAAK,CAAC;AAAA,MAClE,SAAO,SAAS,EAAE,YAAY;AAAA,MAC9B,SAAO,WAAW,MAAM,EAAE,KAAK,MAAM;AAAA,OAEvC,KAAK,OACP;AAAA,GACD;AAAA;;AC3CI,IAAM,wBAAwB,CAAC,IAAI;AACnC,IAAM,eAAe;AAAA,EAC1B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,IAAI,EAAE,MAAM,SAAS;AAAA,IACrB,QAAQ,EAAE,MAAM,SAAS;AAAA,IACzB,MAAM,EAAE,MAAM,SAAS;AAAA,IACvB,SAAS,EAAE,OAAO,CAAC,EAAE,MAAM,SAAS,GAAG,EAAE,MAAM,OAAO,CAAC,EAAE;AAAA,EAC3D;AAAA,EACA,UAAU,CAAC,MAAM,UAAU,QAAQ,SAAS;AAAA,EAC5C,sBAAsB;AACxB;AAEO,IAAM,sBAAsB,CAAC,IAAI;AACjC,IAAM,aAAa;AAAA,EACxB,MAAM;AAAA,EACN,YAAY;AAAA,IACV,IAAI,EAAE,MAAM,SAAS;AAAA,IACrB,QAAQ,EAAE,MAAM,SAAS;AAAA,IACzB,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,SAAS,GAAG,EAAE,MAAM,OAAO,CAAC,EAAE;AAAA,IAC3D,OAAO,EAAE,MAAM,SAAS;AAAA,IACxB,OAAO,EAAE,MAAM,SAAS;AAAA,EAC1B;AAAA,EACA,UAAU,CAAC,MAAM,UAAU,aAAa,SAAS,OAAO;AAAA,EACxD,sBAAsB;AACxB;AAOO,IAAM,uBAA4C;AAAA,EACvD,EAAE,IAAI,MAAM,QAAQ,MAAM,MAAM,OAAO,SAAS,KAAK;AAAA,EACrD,EAAE,IAAI,MAAM,QAAQ,MAAM,MAAM,OAAO,SAAS,KAAK;AAAA,EACrD,EAAE,IAAI,MAAM,QAAQ,MAAM,MAAM,OAAO,SAAS,KAAK;AACvD;AACO,IAAM,qBAAwC;AAAA,EACnD,EAAE,IAAI,MAAM,QAAQ,MAAM,WAAW,MAAM,OAAO,OAAO,OAAO,GAAG;AAAA,EACnE,EAAE,IAAI,MAAM,QAAQ,MAAM,WAAW,MAAM,OAAO,OAAO,OAAO,EAAE;AAAA,EAClE,EAAE,IAAI,MAAM,QAAQ,MAAM,WAAW,MAAM,OAAO,SAAS,OAAO,EAAE;AAAA,EACpE,EAAE,IAAI,MAAM,QAAQ,MAAM,WAAW,MAAM,OAAO,UAAU,OAAO,EAAE;AAAA,EACrE,EAAE,IAAI,MAAM,QAAQ,MAAM,WAAW,MAAM,OAAO,QAAQ,OAAO,EAAE;AAAA,EACnE,EAAE,IAAI,MAAM,QAAQ,MAAM,WAAW,MAAM,OAAO,SAAS,OAAO,EAAE;AACtE;AAGA,eAAsB,gBAAgB,CACpC,OACA,SACe;AAAA,EACf,MAAM,QAAQ,QAAQ,oBAAoB;AAAA,EAC1C,MAAM,MAAM,QAAQ,kBAAkB;AAAA;;ACtDxC;AACA,sBAAS,2BAAW,0BAAY,sBAAU,gBAAQ,YAAI;AA0CtD,IAAM,QAAQ,CAAC,SACb,KAAK,IAAI,CAAC,MAAM,GAAG,EAAE,KAAK,MAAM,EAAE,OAAO,MAAM,KAAK;AAM/C,SAAS,sBAAsB,CACpC,aACA,eACA,OAAwB,CAAC,GACnB;AAAA,EACN,MAAM,KAAK,CAAC,EAAE,MAAM,aAAa,OAAO,KAAK,CAAC;AAAA,EAE9C,WAAS,SAAS,KAAK,oBAAoB,iBAAiB,gBAAgB,MAAM;AAAA,IAChF,IAAI;AAAA,IACJ,IAAI;AAAA,IAEJ,aAAW,YAAY;AAAA,MACrB,QAAQ,MAAM,YAAY;AAAA,MAC1B,UAAU,MAAM,cAAc;AAAA,MAC9B,MAAM,MAAM,gBAAgB;AAAA,MAC5B,MAAM,QAAQ,gBAAgB;AAAA,MAC9B,MAAM,iBAAiB,OAAO,OAAO;AAAA,KACtC;AAAA,IAED,YAAU,YAAY;AAAA,MACpB,MAAM,MAAM,UAAU;AAAA,MACtB,MAAM,QAAQ,UAAU;AAAA,MACxB,MAAM,UAAU;AAAA,MAChB,QAAQ,UAAU;AAAA,MAClB,IAAG,gBAAgB;AAAA,KACpB;AAAA,IAED,KAAG,OAAO,KAAK,sBAAsB,SAAS,EAC5C,qCACA,YAAY;AAAA,MACV,MAAM,aAAa,IAAG,MAAM,SAAS,OAAO;AAAA,MAC5C,MAAM,MAAM,KAAK,EAAE,MAAM,SAAS,GAAG,GAAG,OAAO;AAAA,MAC/C,IAAI,KAAK,mBAAmB;AAAA,QAC1B,SAAO,UAAU,EAAE,IAAI,iBAAiB;AAAA,MAC1C,EAAO;AAAA,QACL,SAAO,UAAU,EAAE,iBAAiB;AAAA;AAAA,OAGxC,KAAK,OACP;AAAA,IAEA,KACE,gEACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KAAK,EAAE,MAAM,SAAS,GAAG,GAAG,OAAO;AAAA,MAC5D,SAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,SAAS,SAAS,OAAO,CAAC;AAAA,MACvE,MAAM,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,KAAK,OAAO,IAAI;AAAA,MAC/C,SAAO,KAAK,IAAI,EAAE,QAAQ,mBAAmB,EAAE;AAAA,MAC/C,SAAO,KAAK,KAAK,EAAE,QAAQ,qBAAqB,EAAE;AAAA,OAEpD,KAAK,OACP;AAAA,IAEA,KACE,8DACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KAAK,EAAE,MAAM,QAAQ,GAAG,GAAG,OAAO;AAAA,MAC3D,SAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,SAAS,SAAS,QAAQ,QAAQ,OAAO,CAAC;AAAA,MACvF,SAAO,KAAK,KAAK,CAAC,MAAM,EAAE,KAAK,OAAO,IAAI,GAAG,KAAK,EAAE,cAAc;AAAA,MAClE,SAAO,KAAK,KAAK,CAAC,MAAM,EAAE,KAAK,OAAO,IAAI,GAAG,KAAK,EAAE,cAAc;AAAA,OAEpE,KAAK,OACP;AAAA,IAEA,KACE,2EACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB,EAAE,MAAM,QAAQ,IAAI,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,EAAE,EAAE,GACtD,OACF;AAAA,MACA,SAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,SAAS,QAAQ,QAAQ,QAAQ,OAAO,CAAC;AAAA,OAExF,KAAK,OACP;AAAA,IAEA,KACE,8DACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB,EAAE,MAAM,SAAS,IAAI,OAAO,EAAE,OAAO,EAAE,SAAS,KAAK,EAAE,EAAE,GACzD,OACF;AAAA,MACA,SAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;AAAA,OAEvC,KAAK,OACP;AAAA,IAEA,KACE,4CACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB,EAAE,MAAM,QAAQ,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,UAAU,IAAI,EAAE,EAAE,EAAE,GAC5E,OACF;AAAA,MACA,SAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,SAAS,OAAO,CAAC;AAAA,OAEhE,KAAK,OACP;AAAA,IAEA,KACE,2BACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN,IAAI;AAAA,UACF,EAAE,MAAM,UAAU,OAAO,SAAS;AAAA,UAClC,EAAE,MAAM,aAAa,OAAO,KAAK;AAAA,QACnC;AAAA,MACF,GACA,OACF;AAAA,MACA,SAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,QAAQ,CAAC,SAAS,SAAS,OAAO,CAAC;AAAA,OAEhE,KAAK,OACP;AAAA,IAEA,KACE,2BACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB,EAAE,MAAM,QAAQ,IAAI,SAAS,CAAC,EAAE,MAAM,QAAQ,QAAQ,SAAS,WAAW,OAAO,CAAC,EAAE,GACpF,OACF;AAAA,MACA,SAAO,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC,EAAE,QAAQ,CAAC,IAAI,GAAG,GAAG,GAAG,GAAG,CAAC,CAAC;AAAA,OAEnE,KAAK,OACP;AAAA,IAEA,KACE,gEACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS;AAAA,UACP,EAAE,MAAM,SAAS,QAAQ,QAAQ,WAAW,MAAM;AAAA,UAClD,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,MAAM;AAAA,QACjD;AAAA,MACF,GACA,OACF;AAAA,MACA,SAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,QAAQ,QAAQ,SAAS,SAAS,SAAS,OAAO,CAAC;AAAA,OAElF,KAAK,OACP;AAAA,IAEA,KACE,gEACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS;AAAA,UACP,EAAE,MAAM,SAAS,QAAQ,QAAQ,WAAW,OAAO;AAAA,UACnD,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,OAAO;AAAA,QAClD;AAAA,MACF,GACA,OACF;AAAA,MACA,SAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,SAAS,SAAS,SAAS,QAAQ,MAAM,CAAC;AAAA,OAElF,KAAK,OACP;AAAA,IAEA,KACE,+CACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS,CAAC,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,MAAM,CAAC;AAAA,QAC1D,QAAQ;AAAA,QACR,OAAO;AAAA,MACT,GACA,OACF;AAAA,MACA,SAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,SAAS,OAAO,CAAC;AAAA,OAEhD,KAAK,OACP;AAAA,IAEA,KACE,mCACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS,CAAC,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,MAAM,CAAC;AAAA,QAC1D,QAAQ;AAAA,MACV,GACA,OACF;AAAA,MACA,SAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;AAAA,OAEvC,KAAK,OACP;AAAA,IAEA,KACE,uDACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB,EAAE,MAAM,SAAS,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,KAAK,EAAE,EAAE,GACpD,OACF;AAAA,MACA,SAAO,MAAM,IAAI,CAAC,EAAE,QAAQ,CAAC,OAAO,CAAC;AAAA,OAEvC,KAAK,OACP;AAAA,IAEA,KACE,yDACA,YAAY;AAAA,MACV,MAAM,OAAO,MAAM,MAAM,KACvB,EAAE,MAAM,SAAS,IAAI,OAAO,EAAE,MAAM,EAAE,OAAO,gBAAgB,EAAE,EAAE,GACjE,OACF;AAAA,MACA,SAAO,IAAI,EAAE,QAAQ,CAAC,CAAC;AAAA,OAEzB,KAAK,OACP;AAAA,IAEA,KACE,4BACA,YAAY;AAAA,MACV,MAAM,IAAI;AAAA,MACV,MAAM,QAAQ,QACZ,MAAM,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,OAAO;AAAA,QACnC,IAAI,IAAI;AAAA,QACR,QAAQ;AAAA,QACR,MAAM,IAAI;AAAA,QACV,SAAS;AAAA,MACX,EAAE,CACJ;AAAA,MACA,MAAM,MAAM,QACV,MAAM,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,OAAO;AAAA,QACnC,IAAI,IAAI;AAAA,QACR,QAAQ;AAAA,QACR,WAAW,IAAI;AAAA,QACf,OAAO,IAAI;AAAA,QACX,OAAO;AAAA,MACT,EAAE,CACJ;AAAA,MACA,MAAM,OAAO,MAAM,MAAM,KACvB,EAAE,MAAM,SAAS,IAAI,OAAO,EAAE,MAAM,EAAE,QAAQ,KAAK,EAAE,EAAE,GACvD,OACF;AAAA,MACA,SAAO,IAAI,EAAE,aAAa,CAAC;AAAA,MAC3B,SAAO,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,OAAO,EAAE,KAAK,SAAS,CAAC,EAAE,KAAK,IAAI;AAAA,OAEtE,KAAK,OACP;AAAA,IAEA,KACE,2DACA,YAAY;AAAA,MACV,MAAM,SACJ,MAAM,KAAK,EAAE,MAAM,SAAS,IAAI,CAAC,EAAE,MAAM,QAAe,OAAO,KAAK,CAAC,EAAE,GAAG,OAAO,CACnF,EAAE,QAAQ,eAAe,yBAAyB;AAAA,MAClD,MAAM,SACJ,MAAM,KAAK,EAAE,MAAM,SAAS,IAAI,CAAC,EAAE,MAAM,aAAa,OAAO,OAAc,CAAC,EAAE,GAAG,OAAO,CAC1F,EAAE,QAAQ,eAAe,yBAAyB;AAAA,MAClD,MAAM,SACJ,MAAM,KACJ,EAAE,MAAM,SAAS,IAAI,SAAS,CAAC,EAAE,MAAM,SAAS,QAAQ,SAAS,WAAW,MAAM,CAAC,EAAE,GACrF,OACF,CACF,EAAE,QAAQ,eAAe,yBAAyB;AAAA,OAEpD,KAAK,OACP;AAAA,IAEA,KACE,gEACA,YAAY;AAAA,MACV,MAAM,SACJ,MAAM,KAAK,EAAE,MAAM,uBAA8B,GAAG,GAAG,OAAO,CAChE,EAAE,QAAQ,eAAe,sBAAsB;AAAA,MAC/C,MAAM,SACJ,MAAM,KACJ,EAAE,MAAM,SAAS,IAAI,SAAS,CAAC,EAAE,MAAM,KAAY,QAAQ,MAAM,WAAW,MAAM,CAAC,EAAE,GACrF,OACF,CACF,EAAE,QAAQ,eAAe,sBAAsB;AAAA,MAC/C,MAAM,SACJ,MAAM,KACJ;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA,SAAS,CAAC,EAAE,MAAM,QAAQ,QAAQ,MAAM,WAAW,UAAiB,CAAC;AAAA,MACvE,GACA,OACF,CACF,EAAE,QAAQ,eAAe,sBAAsB;AAAA,MAC/C,MAAM,SAAO,MAAM,KAAK,EAAE,MAAM,SAAS,IAAI,OAAO,EAAE,GAAG,OAAO,CAAC,EAAE,QAAQ,eACzE,sBACF;AAAA,MACA,MAAM,SAAO,MAAM,KAAK,EAAE,MAAM,SAAS,IAAI,QAAQ,GAAG,GAAG,OAAO,CAAC,EAAE,QAAQ,eAC3E,sBACF;AAAA,MACA,MAAM,SAAO,MAAM,KAAK,EAAE,MAAM,SAAS,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,QAAQ,eACnE,sBACF;AAAA,OAEF,KAAK,OACP;AAAA,GACD;AAAA,EAED,yBAAyB,aAAa,eAAe,kBAAkB,IAAI;AAAA,EAC3E,wBAAwB,aAAa,eAAe,kBAAkB,IAAI;AAAA;;AC7W5E,qBAAS;;;ACIF,IAAM,4BAA4B,CAAC,IAAI;AACvC,IAAM,mBAAmB;AAAA,EAC9B,MAAM;AAAA,EACN,YAAY;AAAA,IACV,IAAI,EAAE,MAAM,SAAS;AAAA,IACrB,WAAW,EAAE,MAAM,SAAS,QAAQ,0BAA0B;AAAA,EAChE;AAAA,EACA,UAAU,CAAC,MAAM,WAAW;AAAA,EAC5B,sBAAsB;AACxB;;;ADDO,SAAS,yBAAyB,CAAC,MAAwC;AAAA,EAChF,WAAS,OAAO,KAAK,IAAI,EAAE,6BAA6B,KAAK,QAAQ,MAAM;AAAA,IACzE,wBAAwB,IAAI;AAAA,IAC5B,wBAAwB,IAAI;AAAA,IAC5B,6BAA6B,IAAI;AAAA,IACjC,+BAA+B,IAAI;AAAA,IACnC,uBAAuB,IAAI;AAAA,IAC3B,qBAAqB,IAAI;AAAA,IACzB,wBAAwB,IAAI;AAAA,IAC5B,kBAAkB,IAAI;AAAA,IACtB,iBAAiB,IAAI;AAAA,GACtB;AAAA;",
|
|
25
|
+
"debugId": "B8CC068BCC62B08D64756E2164756E21",
|
|
26
26
|
"names": []
|
|
27
27
|
}
|
package/dist/vector-storage.js
CHANGED
|
@@ -184,7 +184,7 @@ var it = wrapCallable(vitestIt);
|
|
|
184
184
|
var itExpectFail = (name, fn, timeout) => {
|
|
185
185
|
const native = it.fails;
|
|
186
186
|
if (typeof native === "function") {
|
|
187
|
-
native(name,
|
|
187
|
+
native(name, { retry: 0, timeout }, fn);
|
|
188
188
|
return;
|
|
189
189
|
}
|
|
190
190
|
it(`${name} [expected-fail]`, async () => {
|
|
@@ -409,4 +409,4 @@ export {
|
|
|
409
409
|
vectorRoundTripBlock
|
|
410
410
|
};
|
|
411
411
|
|
|
412
|
-
//# debugId=
|
|
412
|
+
//# debugId=A54C0C8811ADA51364756E2164756E21
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AnyVectorStorage } from \"@workglow/storage\";\nimport type { DataPortSchemaObject } from \"@workglow/util/schema\";\nimport { TypedArraySchema } from \"@workglow/util/schema\";\n\n/**\n * The schema every backend's own vector suite already declares, hoisted here so\n * they stop declaring it separately. An `id`, the embedding, and a `metadata`\n * object — the shape a filter is applied to.\n */\nexport const VectorItemSchema = {\n type: \"object\",\n properties: {\n id: { type: \"string\" },\n vector: TypedArraySchema(),\n metadata: { type: \"object\", format: \"metadata\", additionalProperties: true },\n },\n required: [\"id\", \"vector\", \"metadata\"],\n additionalProperties: false,\n} as const satisfies DataPortSchemaObject;\n\nexport const VectorItemPrimaryKeyNames = [\"id\"] as const;\n\n/** Four, so a unit vector's cosine score is exactly the coordinate it points along. */\nexport const VECTOR_DIMENSIONS = 4;\n\nexport const EAST = new Float32Array([1, 0, 0, 0]);\nexport const NORTH = new Float32Array([0, 1, 0, 0]);\nexport const NORTHEAST = new Float32Array([Math.SQRT1_2, Math.SQRT1_2, 0, 0]);\n\n/**\n * Closed union of vector-storage contract assertions an adapter can mark as\n * known failing. A typo in `expectedFailures` becomes a TS error rather than a\n * silently-ignored entry.\n */\nexport type VectorStorageContractAssertion =\n | \"similarityRanking\"\n | \"vectorRoundTrip\"\n | \"searchOptions\"\n | \"metadataFilter\"\n | \"similaritySearchEvent\"\n | \"legacyEncoding\"\n | \"dimensionValidation\";\n\nexport interface VectorStorageCapabilities {\n /** Whether `options.filter` narrows by metadata. */\n readonly supportsMetadataFilter: boolean;\n /** Whether `options.scoreThreshold` drops rows below the score. */\n readonly supportsScoreThreshold: boolean;\n /**\n * Whether a write whose vector is the wrong length is refused.\n *\n * A backend that stores the vector opaquely cannot check it, and one that\n * declares this must refuse BEFORE writing — a row of the wrong width that\n * lands is worse than one that never validates, because the search that\n * trips over it is arbitrarily far away.\n */\n readonly supportsDimensionValidation: boolean;\n}\n\nexport interface VectorStorageContractOpts {\n readonly name: string;\n readonly skip?: boolean;\n readonly timeout?: number;\n readonly capabilities: VectorStorageCapabilities;\n /** A fresh, empty store of {@link VectorItemSchema} at {@link VECTOR_DIMENSIONS}. */\n readonly createStorage: () => Promise<AnyVectorStorage>;\n /**\n * Releases whatever the factory allocated that the storage does not own —\n * typically a connection handle. Called from every `afterEach`, passed the\n * instance the factory returned.\n */\n readonly releaseStorage?: (storage: AnyVectorStorage) => void | Promise<void>;\n /**\n * Writes a row past this class's writer, in the column's stored form.\n *\n * Only a backend that has a stored form to write can supply it, and it is\n * what the {@link VectorStorageContractAssertion} `legacyEncoding` block\n * needs: the decode has to accept a row that never round-tripped through the\n * current writer, and a test that inserts through the writer cannot ask that.\n */\n readonly writeRawRow?: (\n storage: AnyVectorStorage,\n row: { readonly id: string; readonly vector: readonly number[]; readonly metadata: unknown }\n ) => Promise<void> | void;\n readonly expectedFailures?: ReadonlyArray<VectorStorageContractAssertion>;\n}\n",
|
|
8
8
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport type { AnyVectorStorage } from \"@workglow/storage\";\nimport { afterEach, beforeEach, it } from \"vitest\";\nimport { itExpectFail } from \"../../itExpectFail\";\nimport type { VectorStorageContractAssertion, VectorStorageContractOpts } from \"../types\";\nimport { EAST, NORTH, NORTHEAST } from \"../types\";\n\n/** A hit, as much of one as every assertion here needs to read. */\nexport interface Hit {\n readonly id: string;\n readonly score: number;\n readonly vector: unknown;\n}\n\nexport function itFor(\n opts: VectorStorageContractOpts,\n assertion: VectorStorageContractAssertion\n): typeof it {\n return new Set(opts.expectedFailures ?? []).has(assertion) ? (itExpectFail as typeof it) : it;\n}\n\n/**\n * The three-row fixture every block searches over: two axis-aligned unit\n * vectors and the bisector between them, so a cosine search from `EAST` has one\n * exact match, one at `SQRT1_2` and one orthogonal — three distinct scores in a\n * known order, which is what makes \"ranked by similarity\" checkable rather than\n * merely non-empty.\n */\nexport function seededStore(opts: VectorStorageContractOpts): () => AnyVectorStorage {\n let storage: AnyVectorStorage;\n\n beforeEach(async () => {\n storage = await opts.createStorage();\n await storage.setupDatabase?.();\n await storage.putBulk([\n { id: \"east\", vector: EAST, metadata: { region: \"e\" } },\n { id: \"north\", vector: NORTH, metadata: { region: \"n\" } },\n { id: \"northeast\", vector: NORTHEAST, metadata: { region: \"ne\" } },\n ]);\n });\n\n afterEach(async () => {\n await storage.deleteAll();\n storage.destroy?.();\n await opts.releaseStorage?.(storage);\n });\n\n return () => storage;\n}\n",
|
|
9
9
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { it as vitestIt } from \"vitest\";\n\n/**\n * Live provider tests treat \"the account is out of credits\" as a billing\n * condition rather than a product bug. A key being present is not the same as\n * the account being able to pay; HuggingFace / OpenRouter 402s, Anthropic's\n * credit-balance error, DeepSeek's `Insufficient Balance`, and OpenAI's\n * `insufficient_quota` are all billing.\n *\n * Rate limits (429 + `rate_limit_exceeded`) are NOT this: those are transient\n * and the existing retry policy handles them.\n *\n * Where it skips and where it fails is a deliberate split\n * ({@link creditExhaustionSkipsTest}): on CI it skips for every provider,\n * because a red build tells a reviewer nothing they can act on; locally it\n * fails, because the developer running the suite is the one who can top the\n * account up. `WORKGLOW_CREDIT_EXHAUSTED_SKIP=1` forces the skip locally\n * (and `=0` forces the failure on CI).\n */\n\nconst BILLING_CODES = new Set([\n \"insufficient_quota\",\n \"billing_hard_limit_reached\",\n \"insufficient_credits\",\n \"insufficient_balance\",\n]);\n\nconst CREDIT_MESSAGE =\n /insufficient credits|not enough credits|no credits remaining|out of credits|insufficient[\\s_-]balance|balance is (?:too low|insufficient)|exceeded[\\s\\S]{0,80}credits|monthly included credits|payment required|exceeded your current quota|check your plan and billing|billing_hard_limit/i;\n\n/**\n * A 402 that survives only as text. `classifyProviderError` rebuilds the error\n * as a `PermanentJobError` carrying the message and no `cause`, so by the time\n * a live test sees a DeepSeek billing failure the numeric `status` is gone and\n * the OpenAI-SDK message shape (`402 Insufficient Balance`) is all that is\n * left. Anchored to an HTTP-shaped position — start of a line, or after a\n * summary line's colon — so prose that merely contains the number\n * (\"Item 402(c)\") is not scavenged as a status.\n */\nconst HTTP_402_MESSAGE =\n /\\bHTTP\\/?\\d?(?:\\.\\d)?\\s*402\\b|\\bstatus(?:\\s*code)?\\s*[:=]\\s*402\\b|\\berror code:?\\s*402\\b|(?:^|:\\s+)402\\s+[a-z]/im;\n\nexport function isCreditExhaustedError(err: unknown): boolean {\n const seen = new Set<unknown>();\n let current: unknown = err;\n while (current !== undefined && current !== null && !seen.has(current)) {\n seen.add(current);\n if (matchesCreditExhaustion(current)) return true;\n current = causeOf(current);\n }\n return false;\n}\n\nfunction matchesCreditExhaustion(err: unknown): boolean {\n if (typeof err === \"string\") return messageLooksLikeCreditExhaustion(err);\n\n if (!err || typeof err !== \"object\") return false;\n\n const rec = err as Record<string, unknown>;\n const status = numericStatus(rec);\n if (status === 402) return true;\n\n const code = stringish(rec.code) ?? stringish(nested(rec.error, \"code\"));\n const type = stringish(rec.type) ?? stringish(nested(rec.error, \"type\"));\n if (code && BILLING_CODES.has(code)) return true;\n if (type && BILLING_CODES.has(type)) return true;\n\n const message = [\n stringish(rec.message),\n stringish(nested(rec.error, \"message\")),\n stringifyUnknown(err),\n ]\n .filter((part): part is string => typeof part === \"string\")\n .join(\"\\n\");\n return messageLooksLikeCreditExhaustion(message);\n}\n\nfunction messageLooksLikeCreditExhaustion(message: string): boolean {\n return CREDIT_MESSAGE.test(message) || HTTP_402_MESSAGE.test(message);\n}\n\nfunction numericStatus(rec: Record<string, unknown>): number | undefined {\n for (const key of [\"status\", \"statusCode\"] as const) {\n const value = rec[key];\n if (typeof value === \"number\" && Number.isFinite(value)) return value;\n }\n const nestedStatus = nested(rec.error, \"status\");\n if (typeof nestedStatus === \"number\" && Number.isFinite(nestedStatus)) return nestedStatus;\n return undefined;\n}\n\nfunction nested(value: unknown, key: string): unknown {\n if (!value || typeof value !== \"object\") return undefined;\n return (value as Record<string, unknown>)[key];\n}\n\nfunction stringish(value: unknown): string | undefined {\n return typeof value === \"string\" && value.length > 0 ? value : undefined;\n}\n\nfunction stringifyUnknown(err: unknown): string {\n if (err instanceof Error) return err.message;\n return String(err);\n}\n\nfunction causeOf(err: unknown): unknown {\n if (!err || typeof err !== \"object\") return undefined;\n return (err as { cause?: unknown }).cause;\n}\n\nexport function creditSkipNote(err: unknown): string {\n const message = err instanceof Error ? err.message : String(err);\n return `skipped: provider out of credits (${message})`;\n}\n\nconst SKIP_OVERRIDE_ENV = \"WORKGLOW_CREDIT_EXHAUSTED_SKIP\";\n\nfunction isTruthyFlag(value: string): boolean {\n return !/^(?:0|false|off|no)$/i.test(value.trim());\n}\n\n/**\n * Whether a billing failure skips the test or fails it.\n *\n * CI skips: nobody watching a build can top an account up, and one exhausted\n * key would otherwise turn every provider suite red for a change that touched\n * none of them — so the leniency is provider-agnostic by construction, keyed on\n * the environment rather than on which vendor ran out.\n *\n * Locally it fails, loudly, because the developer running the suite IS the\n * person who can act on it — and a silently green local run is how an\n * exhausted account goes unnoticed until CI is the only thing exercising the\n * provider at all.\n *\n * `WORKGLOW_CREDIT_EXHAUSTED_SKIP` overrides in both directions.\n */\nexport function creditExhaustionSkipsTest(\n env: Record<string, string | undefined> = process.env\n): boolean {\n const override = env[SKIP_OVERRIDE_ENV];\n if (override !== undefined && override.trim() !== \"\") return isTruthyFlag(override);\n for (const key of [\"CI\", \"GITHUB_ACTIONS\"] as const) {\n const value = env[key];\n if (value !== undefined && value.trim() !== \"\" && isTruthyFlag(value)) return true;\n }\n return false;\n}\n\n/**\n * The local-failure path. Rethrows the provider's own error unchanged — its\n * identity and stack are what makes the failure diagnosable — after one line\n * saying why it was not skipped and how to skip it.\n */\nfunction reportLocalCreditFailure(err: unknown): void {\n const message = err instanceof Error ? err.message : String(err);\n console.error(\n `provider out of credits (${message})\\n` +\n ` Failing because this is not CI. Top the account up, or set ${SKIP_OVERRIDE_ENV}=1 to skip instead.`\n );\n}\n\nexport async function runWithCreditSkip<T>(\n ctx: { skip: (note?: string) => void },\n fn: () => Promise<T> | T\n): Promise<T> {\n try {\n return await fn();\n } catch (err) {\n if (isCreditExhaustedError(err)) {\n if (!creditExhaustionSkipsTest()) {\n reportLocalCreditFailure(err);\n throw err;\n }\n ctx.skip(creditSkipNote(err));\n // vitest's skip() is `never` (throws). Mocks used in unit tests return.\n return undefined as T;\n }\n throw err;\n }\n}\n\n/**\n * Wraps one test body. This is the seam every conformance assertion actually\n * runs through (the exported {@link it} proxies each callback through it), so\n * the CI-skips / locally-fails policy is applied here rather than at each\n * call site.\n */\nexport function wrapTestBodyForCreditSkip(\n fn: (...args: never[]) => unknown\n): (...args: never[]) => unknown {\n return async function wrapped(this: unknown, ...args: never[]): Promise<unknown> {\n try {\n return await fn.apply(this, args);\n } catch (err) {\n if (!isCreditExhaustedError(err)) throw err;\n if (!creditExhaustionSkipsTest()) {\n reportLocalCreditFailure(err);\n throw err;\n }\n const ctx = args[0] as { skip?: (note?: string) => void } | undefined;\n if (ctx && typeof ctx.skip === \"function\") {\n ctx.skip(creditSkipNote(err));\n return undefined;\n }\n // bun:test has no TestContext.skip; passing is \"don't fail the test\".\n console.warn(creditSkipNote(err));\n return undefined;\n }\n };\n}\n\nfunction wrapCallable(fn: CallableFunction): CallableFunction {\n return new Proxy(fn, {\n apply(target, thisArg, argArray: unknown[]) {\n const wrapped = argArray.map((arg) =>\n typeof arg === \"function\" ? wrapTestBodyForCreditSkip(arg as never) : arg\n );\n const result = Reflect.apply(target, thisArg, wrapped);\n return typeof result === \"function\" ? wrapCallable(result) : result;\n },\n get(target, prop, receiver) {\n const value = Reflect.get(target, prop, receiver);\n if (typeof value === \"function\") {\n return wrapCallable((value as CallableFunction).bind(target));\n }\n return value;\n },\n });\n}\n\n/**\n * Drop-in `it` for live provider tests: a credit/billing error skips the test on\n * CI and fails it locally (see {@link creditExhaustionSkipsTest}).\n */\nexport const it = wrapCallable(vitestIt) as typeof vitestIt;\n",
|
|
10
|
-
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isCreditExhaustedError, it } from \"./creditExhaustedSkip\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\n/**\n * Cross-runner polyfill for `it.fails`. Vitest exposes it natively; bun's\n * native `bun test` runner does not. Under bun we wrap the body in a\n * try/catch and assert that it threw — so a passing-when-expected-fail\n * test still surfaces as a CI failure (signalling \"remove from\n * expectedFailures\").\n */\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (it as unknown as {
|
|
10
|
+
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { isCreditExhaustedError, it } from \"./creditExhaustedSkip\";\n\ntype ItFn = (name: string, fn: () => Promise<void> | void, timeout?: number) => void;\n\n/**\n * Cross-runner polyfill for `it.fails`. Vitest exposes it natively; bun's\n * native `bun test` runner does not. Under bun we wrap the body in a\n * try/catch and assert that it threw — so a passing-when-expected-fail\n * test still surfaces as a CI failure (signalling \"remove from\n * expectedFailures\").\n */\nexport const itExpectFail: ItFn = (name, fn, timeout) => {\n const native = (\n it as unknown as {\n fails?: (\n name: string,\n options: { readonly retry?: number; readonly timeout?: number },\n fn: () => Promise<void> | void\n ) => void;\n }\n ).fails;\n if (typeof native === \"function\") {\n // `retry: 0` because retrying a test that is SUPPOSED to fail is\n // meaningless, and vitest counts the intended failure as a retry — which\n // puts every expected-fail test in the run summary's \"Flaky Tests\" section\n // under \"passed only after one or more retries\". A real flake then hides\n // among permanent false entries, which is worse than no report at all.\n // Options go SECOND: `test(name, fn, {...})` was removed in Vitest 4.\n native(name, { retry: 0, timeout }, fn);\n return;\n }\n it(\n `${name} [expected-fail]`,\n async () => {\n let passed = false;\n try {\n await fn();\n passed = true;\n } catch (err) {\n // Billing exhaustion is not the adapter bug this marker records.\n if (isCreditExhaustedError(err)) throw err;\n // expected; the test was supposed to fail\n }\n if (passed) {\n throw new Error(\n `Test \"${name}\" was marked as expected-fail but passed. Remove its name from opts.expectedFailures.`\n );\n }\n },\n timeout\n );\n};\n",
|
|
11
11
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { describe, expect } from \"vitest\";\nimport type { VectorStorageContractOpts } from \"../types\";\nimport { NORTH } from \"../types\";\nimport type { Hit } from \"./shared\";\nimport { itFor, seededStore } from \"./shared\";\n\n/**\n * A row written in the column's stored form — by an older release, or by\n * anything that is not this class's writer — is still searchable.\n *\n * This is the other half of the decode that broke: a search path may not assume\n * every row it reads was encoded by the writer it ships with. Only a backend\n * that has a stored form to write can be asked, so the block is skipped where\n * the adapter supplies no `writeRawRow`.\n */\nexport function legacyEncodingBlock(opts: VectorStorageContractOpts): void {\n describe.skipIf(opts.writeRawRow === undefined)(\"legacyEncoding\", () => {\n const store = seededStore(opts);\n\n itFor(opts, \"legacyEncoding\")(\n \"searches a row that never round-tripped through this writer\",\n async () => {\n await opts.writeRawRow?.(store(), {\n id: \"legacy\",\n vector: [...NORTH],\n metadata: { region: \"legacy\" },\n });\n\n const hits = (await store().similaritySearch(NORTH, { topK: 2 })) as Hit[];\n\n expect(hits.map((hit) => hit.id)).toContain(\"legacy\");\n // And it decodes to the same thing a written row does, rather than\n // merely not throwing.\n const legacy = hits.find((hit) => hit.id === \"legacy\");\n expect([...(legacy!.vector as Float32Array)]).toEqual([...NORTH]);\n },\n opts.timeout\n );\n });\n}\n",
|
|
12
12
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { describe, expect } from \"vitest\";\nimport type { VectorStorageContractOpts } from \"../types\";\nimport { EAST } from \"../types\";\nimport type { Hit } from \"./shared\";\nimport { itFor, seededStore } from \"./shared\";\n\n/**\n * A metadata filter narrows the search, and narrows it to what matches rather\n * than to what happens to be near.\n *\n * The case worth stating is the second one: filtering to a row that is NOT the\n * nearest. A backend that takes the top `k` and then filters returns nothing\n * there, while one that filters and then ranks returns the row — and the first\n * behaviour is a silently empty result for every scoped RAG query.\n */\nexport function metadataFilterBlock(opts: VectorStorageContractOpts): void {\n describe.skipIf(!opts.capabilities.supportsMetadataFilter)(\"metadataFilter\", () => {\n const store = seededStore(opts);\n const itImpl = itFor(opts, \"metadataFilter\");\n\n itImpl(\n \"returns only the rows the filter matches\",\n async () => {\n const hits = (await store().similaritySearch(EAST, { filter: { region: \"n\" } })) as Hit[];\n expect(hits.map((hit) => hit.id)).toEqual([\"north\"]);\n },\n opts.timeout\n );\n\n itImpl(\n \"finds a match the ranking would not have reached\",\n async () => {\n // `north` is the LAST of the three by similarity to EAST. Asking for it\n // with topK 1 separates \"filter, then rank\" from \"rank, then filter\".\n const hits = (await store().similaritySearch(EAST, {\n filter: { region: \"n\" },\n topK: 1,\n })) as Hit[];\n expect(hits.map((hit) => hit.id)).toEqual([\"north\"]);\n },\n opts.timeout\n );\n\n itImpl(\n \"returns nothing when the filter matches nothing\",\n async () => {\n expect(\n await store().similaritySearch(EAST, { filter: { region: \"nowhere\" } })\n ).toHaveLength(0);\n },\n opts.timeout\n );\n });\n}\n",
|
|
13
13
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { describe, expect } from \"vitest\";\nimport type { VectorStorageContractOpts } from \"../types\";\nimport { EAST } from \"../types\";\nimport type { Hit } from \"./shared\";\nimport { itFor, seededStore } from \"./shared\";\n\n/**\n * `topK` truncates and `scoreThreshold` filters — and they mean the same thing\n * on a backend that computes the scores in SQL as on one that scans in memory.\n *\n * That parity is not free: it has already had to be fixed once, when the two\n * paths disagreed about which side of the threshold an exact match fell on.\n * Stating it here is what makes the next backend inherit the answer instead of\n * rediscovering the question.\n */\nexport function searchOptionsBlock(opts: VectorStorageContractOpts): void {\n describe(\"searchOptions\", () => {\n const store = seededStore(opts);\n const itImpl = itFor(opts, \"searchOptions\");\n\n itImpl(\n \"truncates to topK, keeping the most similar\",\n async () => {\n const hits = (await store().similaritySearch(EAST, { topK: 2 })) as Hit[];\n expect(hits.map((hit) => hit.id)).toEqual([\"east\", \"northeast\"]);\n },\n opts.timeout\n );\n\n itImpl(\n \"returns everything when topK exceeds the row count\",\n async () => {\n // A backend that pushes `topK` into a `LIMIT` and one that slices an\n // array agree here; one that treats it as an exact count does not.\n expect(await store().similaritySearch(EAST, { topK: 10 })).toHaveLength(3);\n },\n opts.timeout\n );\n\n describe.skipIf(!opts.capabilities.supportsScoreThreshold)(\"scoreThreshold\", () => {\n itImpl(\n \"drops rows scoring below the threshold\",\n async () => {\n const hits = (await store().similaritySearch(EAST, { scoreThreshold: 0.9 })) as Hit[];\n expect(hits.map((hit) => hit.id)).toEqual([\"east\"]);\n },\n opts.timeout\n );\n\n itImpl(\n \"keeps a row scoring exactly the threshold\",\n async () => {\n // Zero, because it is the one boundary every backend can hit\n // exactly: `north` is orthogonal to `EAST`, so its score is 0 in\n // float32 and in float64 alike. `Math.SQRT1_2` is not — it rounds\n // down through a Float32Array, so a threshold set to it sits just\n // above the score the store can produce, and the test would be\n // measuring the rounding rather than the comparison.\n //\n // The boundary is where the SQL and in-memory paths drifted apart\n // before, and either answer is defensible until one is written down.\n const hits = (await store().similaritySearch(EAST, { scoreThreshold: 0 })) as Hit[];\n expect(hits.map((hit) => hit.id)).toEqual([\"east\", \"northeast\", \"north\"]);\n },\n opts.timeout\n );\n });\n });\n}\n",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { describe, expect } from \"vitest\";\nimport type { VectorStorageContractOpts } from \"../types\";\nimport { EAST } from \"../types\";\nimport type { Hit } from \"./shared\";\nimport { itFor, seededStore } from \"./shared\";\n\n/**\n * The `similaritySearch` event is the one thing `IVectorStorage` adds to the\n * tabular event surface, and it carries the results — not a count, and not the\n * rows before the options were applied.\n *\n * Telemetry and cache layers wrap these stores and read that payload as the\n * answer the caller got. An event that fires with the unfiltered set reports\n * work nobody received.\n */\nexport function similaritySearchEventBlock(opts: VectorStorageContractOpts): void {\n describe(\"similaritySearchEvent\", () => {\n const store = seededStore(opts);\n\n itFor(opts, \"similaritySearchEvent\")(\n \"fires with the results the caller was handed\",\n async () => {\n let seen: Hit[] | undefined;\n // The vector extension of the event surface; the inherited `on` is\n // typed to the tabular names, so the cast is at the call site.\n (\n store() as unknown as {\n on: (name: string, fn: (query: unknown, results: Hit[]) => void) => void;\n }\n ).on(\"similaritySearch\", (_query, results) => {\n seen = results;\n });\n\n await store().similaritySearch(EAST, { topK: 1 });\n\n expect(seen?.map((hit) => hit.id)).toEqual([\"east\"]);\n },\n opts.timeout\n );\n });\n}\n",
|
|
16
16
|
"/**\n * @license\n * Copyright 2026 Steven Roussey <sroussey@gmail.com>\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { describe, expect } from \"vitest\";\nimport type { VectorStorageContractOpts } from \"../types\";\nimport { EAST } from \"../types\";\nimport type { Hit } from \"./shared\";\nimport { itFor, seededStore } from \"./shared\";\n\n/**\n * A hit's vector comes back as the declared `TypedArray`, not as whatever the\n * column stores.\n *\n * The stored form is a backend's own business — JSON text, a native vector\n * type, a blob — and every one of them has a decode step on the search path\n * that the tabular read does not exercise. Handing back a string or a plain\n * array is a break for every caller doing arithmetic on the result, and it is\n * invisible to a test that only reads `id` and `score`.\n */\nexport function vectorRoundTripBlock(opts: VectorStorageContractOpts): void {\n describe(\"vectorRoundTrip\", () => {\n const store = seededStore(opts);\n\n itFor(opts, \"vectorRoundTrip\")(\n \"hands back the vector as a TypedArray with the values that were written\",\n async () => {\n const [hit] = (await store().similaritySearch(EAST, { topK: 1 })) as Hit[];\n\n expect(ArrayBuffer.isView(hit!.vector)).toBe(true);\n expect([...(hit!.vector as Float32Array)]).toEqual([...EAST]);\n },\n opts.timeout\n );\n });\n}\n"
|
|
17
17
|
],
|
|
18
|
-
"mappings": "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",
|
|
19
|
-
"debugId": "
|
|
18
|
+
"mappings": "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",
|
|
19
|
+
"debugId": "A54C0C8811ADA51364756E2164756E21",
|
|
20
20
|
"names": []
|
|
21
21
|
}
|
package/dist/worker-proxy.js
CHANGED
|
@@ -169,7 +169,7 @@ var it2 = wrapCallable(vitestIt);
|
|
|
169
169
|
var itExpectFail = (name, fn, timeout) => {
|
|
170
170
|
const native = it2.fails;
|
|
171
171
|
if (typeof native === "function") {
|
|
172
|
-
native(name,
|
|
172
|
+
native(name, { retry: 0, timeout }, fn);
|
|
173
173
|
return;
|
|
174
174
|
}
|
|
175
175
|
it2(`${name} [expected-fail]`, async () => {
|
|
@@ -386,4 +386,4 @@ export {
|
|
|
386
386
|
streamProviderTextGeneration
|
|
387
387
|
};
|
|
388
388
|
|
|
389
|
-
//# debugId=
|
|
389
|
+
//# debugId=640B714AD5AD87AF64756E2164756E21
|