@zappie/verify 0.1.5 → 0.2.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.
Files changed (33) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +18 -1
  3. package/dist/{category-page-UBHOB5IN.js → category-page-I3HDIAJA.js} +7 -3
  4. package/dist/category-page-I3HDIAJA.js.map +1 -0
  5. package/dist/{chunk-JYFSFOIS.js → chunk-47RIF6JW.js} +23 -11
  6. package/dist/chunk-47RIF6JW.js.map +1 -0
  7. package/dist/{debug-C3UDGUED.js → debug-LOXPIQRS.js} +1 -1
  8. package/dist/debug-LOXPIQRS.js.map +1 -0
  9. package/dist/index.d.ts +53 -5
  10. package/dist/index.js +842 -30
  11. package/dist/index.js.map +1 -1
  12. package/dist/presentation-TKOXOILG.js +68 -0
  13. package/dist/presentation-TKOXOILG.js.map +1 -0
  14. package/dist/{quote-body-NAFPZOGR.js → quote-body-S5LELT7L.js} +1 -1
  15. package/dist/quote-body-S5LELT7L.js.map +1 -0
  16. package/dist/{quote-client-3NC5KSBE.js → quote-client-4RUY3TKQ.js} +8 -3
  17. package/dist/quote-client-4RUY3TKQ.js.map +1 -0
  18. package/dist/{search-YIHT6CXN.js → search-OF62VKI3.js} +7 -2
  19. package/dist/search-OF62VKI3.js.map +1 -0
  20. package/dist/{selected-menu-5AIX7JHU.js → selected-menu-AQHWDELR.js} +8 -3
  21. package/dist/selected-menu-AQHWDELR.js.map +1 -0
  22. package/dist/{store-AOU2FRUX.js → store-OPM3OFLC.js} +1 -1
  23. package/dist/store-OPM3OFLC.js.map +1 -0
  24. package/package.json +2 -2
  25. package/schema/verify-report.v1.json +17 -1
  26. package/dist/category-page-UBHOB5IN.js.map +0 -1
  27. package/dist/chunk-JYFSFOIS.js.map +0 -1
  28. package/dist/debug-C3UDGUED.js.map +0 -1
  29. package/dist/quote-body-NAFPZOGR.js.map +0 -1
  30. package/dist/quote-client-3NC5KSBE.js.map +0 -1
  31. package/dist/search-YIHT6CXN.js.map +0 -1
  32. package/dist/selected-menu-5AIX7JHU.js.map +0 -1
  33. package/dist/store-AOU2FRUX.js.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/error.ts","../src/local-preview.ts","../src/project-command.ts","../src/project-config.ts","../src/runner.ts","../src/checks/common.ts","../src/checks/v01-routes.ts","../src/checks/v02-sdk.ts","../src/fixtures.ts","../src/checks/catalogue.ts","../src/checks/menu-match.ts","../src/checks/v03-menu.ts","../src/checks/v04-add-simple.ts","../src/checks/v05-add-options.ts","../src/checks/v06-quote.ts","../src/checks/stale-cart.ts","../src/checks/v07-quote-issues.ts","../src/checks/v09-pickup.ts","../../sdk/src/places/error.ts","../../sdk/src/places/request.ts","../../sdk/src/places/search.ts","../../sdk/src/places/client.ts","../src/checks/v10-delivery.ts","../src/checks/v13-accessibility.ts","../src/checks/v14-performance.ts","../src/checks/v15-tappable-product-cards.ts","../src/checks/index.ts","../src/report.ts","../src/reset.ts","../src/version.ts","../src/project.ts","../src/index.ts"],"sourcesContent":["export class VerifyError extends Error {\n constructor(\n readonly code: string,\n message: string,\n readonly hint: string,\n ) {\n super(message);\n this.name = \"VerifyError\";\n }\n}\n\nexport function assertion(\n condition: unknown,\n code: string,\n message: string,\n hint: string,\n): asserts condition {\n if (!condition) {\n throw new VerifyError(code, message, hint);\n }\n}\n","import { spawn, type ChildProcess } from \"node:child_process\";\nimport { readFile } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { VerifyError } from \"./error\";\nimport {\n execArgs,\n freePort,\n outputTail,\n type LocalPreviewOptions,\n} from \"./project-command\";\n\nexport async function startLocalPreview(options: LocalPreviewOptions) {\n const manifest = JSON.parse(\n await readFile(path.join(options.cwd, \"package.json\"), \"utf8\"),\n ) as Record<string, Record<string, string> | undefined>;\n const packages = { ...manifest.dependencies, ...manifest.devDependencies };\n const framework = packages[\"react-router\"]\n ? \"react-router\"\n : packages.vite\n ? \"vite\"\n : undefined;\n if (!framework || (framework === \"react-router\" && !packages.wrangler)) {\n throw new VerifyError(\n \"preview_unsupported\",\n \"Local verify supports React Router on Cloudflare and Vite. Pass a URL for this project.\",\n \"Pass the deployed or externally started preview URL to zappie verify.\",\n );\n }\n await run(\n options,\n execArgs(options.packageManager, framework, [\"build\"]),\n \"build\",\n );\n const port = await freePort();\n const command = previewCommand(options, framework, port);\n const child = spawn(command.executable, command.args, {\n cwd: options.cwd,\n env: options.environment ?? process.env,\n detached: process.platform !== \"win32\",\n stdio: [\"ignore\", \"pipe\", \"pipe\"],\n });\n let output = \"\";\n child.stdout?.on(\"data\", (value) => (output += String(value)));\n child.stderr?.on(\"data\", (value) => (output += String(value)));\n const abort = () => void stop(child);\n options.signal?.addEventListener(\"abort\", abort, { once: true });\n const url = `http://127.0.0.1:${port}`;\n try {\n await ready(url, child, options.signal, () => output);\n } catch (error) {\n await stop(child);\n options.signal?.removeEventListener(\"abort\", abort);\n throw error;\n }\n return {\n url,\n close: async () => {\n options.signal?.removeEventListener(\"abort\", abort);\n await stop(child);\n },\n };\n}\n\nfunction previewCommand(\n options: LocalPreviewOptions,\n framework: string,\n port: number,\n) {\n if (framework === \"vite\") {\n return execArgs(options.packageManager, \"vite\", [\n \"preview\",\n \"--host\",\n \"127.0.0.1\",\n \"--port\",\n String(port),\n \"--strictPort\",\n ]);\n }\n const args = [\n \"dev\",\n \"--port\",\n String(port),\n \"--ip\",\n \"127.0.0.1\",\n \"--inspector-port\",\n \"0\",\n \"--no-show-interactive-dev-session\",\n ];\n for (const [name, value] of Object.entries({\n ZAPPIE_KEY: options.key,\n ZAPPIE_STORE: options.store,\n ZAPPIE_API: options.environment?.ZAPPIE_API ?? process.env.ZAPPIE_API,\n ZAPPIE_BRANCH:\n options.environment?.ZAPPIE_BRANCH ?? process.env.ZAPPIE_BRANCH,\n ZAPPIE_IMAGES:\n options.environment?.ZAPPIE_IMAGES ?? process.env.ZAPPIE_IMAGES,\n })) {\n if (value) {\n args.push(\"--var\", `${name}:${value}`);\n }\n }\n return execArgs(options.packageManager, \"wrangler\", args);\n}\n\nasync function run(\n options: LocalPreviewOptions,\n command: { executable: string; args: string[] },\n label: string,\n) {\n const child = spawn(command.executable, command.args, {\n cwd: options.cwd,\n env: options.environment ?? process.env,\n signal: options.signal,\n stdio: [\"ignore\", \"pipe\", \"pipe\"],\n });\n let output = \"\";\n child.stdout.on(\"data\", (value) => (output += String(value)));\n child.stderr.on(\"data\", (value) => (output += String(value)));\n const code = await new Promise<number>((resolve, reject) => {\n child.once(\"error\", reject);\n child.once(\"close\", (value) => resolve(value ?? 1));\n });\n if (code !== 0) {\n throw new VerifyError(\n `${label}_failed`,\n `${label} failed:\\n${outputTail(output)}`,\n `Fix the project ${label} and rerun verify.`,\n );\n }\n}\n\nasync function ready(\n url: string,\n child: ChildProcess,\n signal: AbortSignal | undefined,\n output: () => string,\n) {\n const expires = Date.now() + 60_000;\n while (Date.now() < expires) {\n signal?.throwIfAborted();\n if (child.exitCode !== null) {\n throw new VerifyError(\n \"preview_exited\",\n `Preview exited before it was ready:\\n${outputTail(output())}`,\n \"Run the project preview directly and fix its startup error.\",\n );\n }\n try {\n const response = await fetch(url, signal ? { signal } : {});\n if (response.status < 500) {\n return;\n }\n } catch (error) {\n if (signal?.aborted) {\n throw error;\n }\n }\n await new Promise((resolve) => setTimeout(resolve, 100));\n }\n throw new VerifyError(\n \"preview_timeout\",\n `Preview did not become ready:\\n${outputTail(output())}`,\n \"Make the preview answer on its assigned port within 60 seconds.\",\n );\n}\n\nasync function stop(child: ChildProcess) {\n if (child.exitCode !== null || !child.pid) {\n return;\n }\n signal(child, \"SIGTERM\");\n await Promise.race([\n new Promise((resolve) => child.once(\"close\", resolve)),\n new Promise((resolve) => setTimeout(resolve, 2_000)),\n ]);\n if (child.exitCode === null) {\n signal(child, \"SIGKILL\");\n }\n}\n\nfunction signal(child: ChildProcess, value: NodeJS.Signals) {\n try {\n if (process.platform === \"win32\") {\n child.kill(value);\n } else if (child.pid) {\n process.kill(-child.pid, value);\n }\n } catch (error) {\n if (!(\n error instanceof Error &&\n \"code\" in error &&\n error.code === \"ESRCH\"\n )) {\n throw error;\n }\n }\n}\n","import { createServer } from \"node:net\";\nimport type { PackageManager } from \"./types\";\n\nexport type LocalPreviewOptions = {\n cwd: string;\n key: string;\n store: string;\n packageManager: PackageManager;\n signal?: AbortSignal;\n environment?: NodeJS.ProcessEnv;\n};\n\nexport function execArgs(\n manager: PackageManager,\n binary: string,\n args: string[],\n) {\n if (manager === \"npm\") {\n return { executable: \"npm\", args: [\"exec\", \"--no\", \"--\", binary, ...args] };\n }\n if (manager === \"yarn\") {\n return { executable: \"yarn\", args: [\"exec\", binary, ...args] };\n }\n if (manager === \"bun\") {\n return { executable: \"bun\", args: [\"x\", \"--no-install\", binary, ...args] };\n }\n return { executable: \"pnpm\", args: [\"exec\", binary, ...args] };\n}\n\nexport function freePort() {\n return new Promise<number>((resolve, reject) => {\n const server = createServer();\n server.once(\"error\", reject);\n server.listen(0, \"127.0.0.1\", () => {\n const address = server.address();\n server.close(() =>\n typeof address === \"object\" && address\n ? resolve(address.port)\n : reject(new Error(\"No free port was assigned.\")),\n );\n });\n });\n}\n\nexport const outputTail = (value: string) =>\n value.trim().split(\"\\n\").slice(-12).join(\"\\n\");\n","import { readFile, stat } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport { VerifyError } from \"./error\";\n\nexport function supportsTypeScriptImport(version = process.versions.node) {\n const [major = 0, minor = 0] = version.split(\".\").map(Number);\n return major > 22 || (major === 22 && minor >= 18);\n}\n\nexport async function readStore(cwd: string) {\n if (!supportsTypeScriptImport()) {\n throw new VerifyError(\n \"unsupported_node\",\n \"zappie verify needs Node 22.18 or later to read zappie.config.ts\",\n \"Use Node 22.18 or later, or pass --store.\",\n );\n }\n const file = path.join(cwd, \"zappie.config.ts\");\n try {\n const version = (await stat(file)).mtimeMs;\n await readFile(file, \"utf8\");\n const loaded = (await import(\n `${pathToFileURL(file).href}?verify=${version}`\n )) as { default?: unknown };\n const value = loaded.default;\n if (\n value &&\n typeof value === \"object\" &&\n \"store\" in value &&\n typeof value.store === \"string\"\n ) {\n return value.store;\n }\n } catch (error) {\n const message = error instanceof Error ? error.message : String(error);\n throw new VerifyError(\n \"config_unreadable\",\n `Could not read zappie.config.ts: ${message}`,\n \"Create a readable zappie.config.ts or pass --store.\",\n );\n }\n throw new VerifyError(\n \"store_missing\",\n \"zappie.config.ts must define a store\",\n \"Define store in zappie.config.ts or pass --store.\",\n );\n}\n","import { chromium, errors } from \"@playwright/test\";\nimport { mkdir } from \"node:fs/promises\";\nimport path from \"node:path\";\nimport { checks, skippedChecks } from \"./checks\";\nimport { desktop, mobile } from \"./checks/common\";\nimport { VerifyError } from \"./error\";\nimport { installFault } from \"./fixtures\";\nimport {\n REPORT_SCHEMA,\n reportId,\n signReport,\n summarize,\n target,\n} from \"./report\";\nimport { reset } from \"./reset\";\nimport type {\n CheckResult,\n Fault,\n RunContext,\n VerifyCheck,\n VerifyOptions,\n VerifyReport,\n Viewport,\n} from \"./types\";\nimport { PACKAGE_VERSION } from \"./version\";\n\nconst VERSION = PACKAGE_VERSION;\n\nexport const browserOptions = (options: VerifyOptions) => ({\n viewport: mobile,\n baseURL: options.url,\n});\n\nfunction selectedViewports(check: VerifyCheck, options: VerifyOptions) {\n const configured = options.viewports ?? [mobile, desktop];\n return check.viewports === \"mobile\" ? [configured[0] ?? mobile] : configured;\n}\n\nexport async function retryTimeout<T>(task: () => Promise<T>) {\n try {\n return { value: await task(), retried: false };\n } catch (failure) {\n if (!(failure instanceof errors.TimeoutError)) {\n throw failure;\n }\n return { value: await task(), retried: true };\n }\n}\n\nasync function execute(\n check: VerifyCheck,\n run: RunContext,\n): Promise<CheckResult> {\n const started = performance.now();\n const viewports = selectedViewports(check, run.options);\n let retried = false;\n let attempts = 0;\n try {\n await retryTimeout(async () => {\n retried = attempts++ > 0;\n for (const viewport of viewports) {\n run.options.signal?.throwIfAborted();\n await check.run(run, viewport);\n }\n });\n return {\n id: check.id,\n title: check.title,\n result: \"passed\",\n durationMs: performance.now() - started,\n viewport: viewports.map(label).join(\",\"),\n ...(retried ? { retried } : {}),\n };\n } catch (failure) {\n const error =\n failure instanceof VerifyError\n ? { code: failure.code, message: failure.message, hint: failure.hint }\n : {\n code: \"check_failed\",\n message:\n failure instanceof Error ? failure.message : String(failure),\n hint: `Fix the failure in ${check.id} (${check.title.toLowerCase()}) and rerun verify.`,\n };\n if (error.code === \"dependency_blocked\") {\n return {\n id: check.id,\n title: check.title,\n result: \"skipped\",\n durationMs: performance.now() - started,\n error,\n };\n }\n const screenshot = path.join(\n run.options.artifactsDir ?? \"verify-artifacts\",\n `${check.id}.png`,\n );\n const trace = path.join(\n run.options.artifactsDir ?? \"verify-artifacts\",\n \"verify.trace.zip\",\n );\n await mkdir(path.dirname(screenshot), { recursive: true });\n await run.page\n .screenshot({ path: screenshot, fullPage: true })\n .catch(() => undefined);\n return {\n id: check.id,\n title: check.title,\n result: \"failed\",\n durationMs: performance.now() - started,\n viewport: viewports.map(label).join(\",\"),\n ...(retried ? { retried } : {}),\n error,\n artifacts: { screenshot, trace },\n };\n }\n}\n\nconst label = (viewport: Viewport) => `${viewport.width}x${viewport.height}`;\n\nexport async function runVerify(\n options: VerifyOptions,\n fault?: Fault,\n): Promise<VerifyReport> {\n if (!/^pk_test_.+/.test(options.key)) {\n throw new VerifyError(\n \"live_key_refused\",\n \"Verify accepts only pk_test_ keys\",\n \"Create a test publishable key and rerun verify.\",\n );\n }\n const started = Date.now();\n const browser = await chromium.launch();\n const context = await browser.newContext(browserOptions(options));\n if (options.standInForPlatform) {\n await context.route(\"**/_zappie/view\", (route) =>\n route.fulfill({ status: 204 }),\n );\n }\n await context.tracing.start({ screenshots: true, snapshots: true });\n const page = await context.newPage();\n page.setDefaultTimeout(Math.min(options.timeoutMs ?? 20_000, 20_000));\n await installFault(page, fault);\n const metrics: VerifyReport[\"metrics\"] = {};\n const run = {\n options,\n browser,\n context,\n page,\n metrics,\n ...(fault ? { fault } : {}),\n };\n const results: CheckResult[] = [await reset(options)];\n try {\n const wanted = options.only ? new Set(options.only) : undefined;\n for (const check of checks) {\n if (wanted && !wanted.has(check.id)) {\n continue;\n }\n options.onProgress?.({ id: check.id, status: \"running\" });\n const result = await execute(check, run);\n results.push(result);\n options.onProgress?.({ id: check.id, status: result.result });\n }\n if (!wanted) {\n results.push(...skippedChecks(options.suite));\n }\n const sdkVersion = await page\n .evaluate(() => window.__zappie?.version ?? \"unknown\")\n .catch(() => \"unknown\");\n const summary = summarize(results);\n const report: VerifyReport = {\n schema: REPORT_SCHEMA,\n id: reportId(),\n suite: options.suite,\n target: target(options),\n environment: {\n runner: options.runner ?? \"cli\",\n verifyVersion: VERSION,\n sdkVersion,\n browser: `chromium ${browser.version()}`,\n },\n startedAt: new Date(started).toISOString(),\n durationMs: Date.now() - started,\n result: summary.failed ? \"failed\" : \"passed\",\n summary,\n checks: results,\n metrics,\n };\n return signReport(\n report,\n options.signingKey ?? process.env.ZAPPIE_VERIFY_SIGNING_KEY,\n );\n } finally {\n const trace = path.join(\n options.artifactsDir ?? \"verify-artifacts\",\n \"verify.trace.zip\",\n );\n await mkdir(path.dirname(trace), { recursive: true });\n await context.tracing.stop({ path: trace }).catch(() => undefined);\n await browser.close();\n }\n}\n","import type { CDPSession, Page } from \"@playwright/test\";\nimport { assertion } from \"../error\";\n\nexport async function open(page: Page, path = \"/\") {\n const response = await page.goto(path, { waitUntil: \"domcontentloaded\" });\n assertion(\n response?.status() === 200,\n \"route_not_rendered\",\n `${path} answered ${response?.status() ?? \"without a response\"}`,\n \"Make the route return a 200 response and render its page shell.\",\n );\n}\n\nexport async function debugValue<T>(page: Page, expression: () => T) {\n await page.waitForFunction(() => Boolean(window.__zappie));\n return page.evaluate(expression);\n}\n\nexport const mobile = { width: 390, height: 844 };\nexport const desktop = { width: 1440, height: 900 };\n\nexport async function applyPhoneProfile(page: Page): Promise<CDPSession> {\n const cdp = await page.context().newCDPSession(page);\n await cdp.send(\"Network.enable\");\n await cdp.send(\"Network.setCacheDisabled\", { cacheDisabled: true });\n await cdp.send(\"Network.emulateNetworkConditions\", {\n offline: false,\n latency: 150,\n downloadThroughput: 200_000,\n uploadThroughput: 100_000,\n connectionType: \"cellular3g\",\n });\n await cdp.send(\"Emulation.setCPUThrottlingRate\", { rate: 4 });\n return cdp;\n}\n","import { assertion } from \"../error\";\nimport type { VerifyCheck } from \"../types\";\nimport { open } from \"./common\";\n\nexport const v01: VerifyCheck = {\n id: \"V01\",\n title: \"Routes render\",\n viewports: \"both\",\n async run({ page, options }, viewport) {\n await page.setViewportSize(viewport);\n const errors: string[] = [];\n const onPageError = (error: Error) => errors.push(error.message);\n const onConsole = (message: { type(): string; text(): string }) => {\n if (message.type() === \"error\" && !/favicon.*404/i.test(message.text())) {\n errors.push(message.text());\n }\n };\n page.on(\"pageerror\", onPageError);\n page.on(\"console\", onConsole);\n const paths = new Set([\"/\"]);\n const sitemap = await page.request.get(\n new URL(\"/sitemap.xml\", options.url).href,\n );\n if (sitemap.ok()) {\n for (const match of (await sitemap.text()).matchAll(\n /<loc>([^<]+)<\\/loc>/g,\n )) {\n paths.add(new URL(match[1]!).pathname);\n }\n }\n for (const path of [...paths].sort()) {\n await open(page, path);\n }\n page.off(\"pageerror\", onPageError);\n page.off(\"console\", onConsole);\n assertion(\n errors.length === 0,\n \"page_error\",\n errors[0] ?? \"A route logged an error\",\n \"Fix uncaught page errors and console errors on every public route.\",\n );\n },\n};\n","import { assertion } from \"../error\";\nimport type { VerifyCheck } from \"../types\";\nimport { debugValue, open } from \"./common\";\n\nexport const v02: VerifyCheck = {\n id: \"V02\",\n title: \"SDK test mode and store\",\n viewports: \"mobile\",\n async run({ page, options }, viewport) {\n await page.setViewportSize(viewport);\n await open(page);\n const debug = await debugValue(page, () => ({\n store: window.__zappie?.store,\n version: window.__zappie?.version,\n }));\n assertion(\n debug.store === options.store,\n \"sdk_store_mismatch\",\n `SDK store is ${debug.store ?? \"missing\"}, expected ${options.store}`,\n \"Create the SDK client with the same store slug passed to verify.\",\n );\n assertion(\n /^0\\./.test(debug.version ?? \"\"),\n \"sdk_version_unsupported\",\n `Unsupported SDK version ${debug.version ?? \"missing\"}`,\n \"Use a supported @zappie/sdk major version.\",\n );\n },\n};\n","import type { Page } from \"@playwright/test\";\nimport type { Fault } from \"./types\";\n\nexport async function installFault(page: Page, fault?: Fault) {\n if (!fault) {\n return;\n }\n if (fault === \"hydration-delay\") {\n await page.route(/\\.(?:js|mjs)(?:\\?|$)/, async (route) => {\n await new Promise((resolve) => setTimeout(resolve, 3_500));\n await route.continue();\n });\n }\n if (fault === \"no-route-data\" || fault === \"no-prefetch\") {\n // Stands in for an item route without a loader, which React Router prefetches as code alone.\n await page.route(/\\/item\\/[^/]+\\.data(?:\\?|$)/, (route) =>\n route.request().headers()[\"sec-purpose\"] === \"prefetch\"\n ? route.abort()\n : route.continue(),\n );\n }\n if (fault === \"no-prefetch\") {\n // Holds the item route's code back past V15's wait, as if the card never prefetched it.\n await page.route(/\\/assets\\/[^/]*item[^/]*\\.js(?:\\?|$)/, async (route) => {\n await new Promise((resolve) => setTimeout(resolve, 10_000));\n await route.continue();\n });\n }\n if (fault === \"quick-add-via-item\") {\n await page.addInitScript(() => {\n const removeQuickAdds = () => {\n if (location.pathname !== \"/\") {\n return;\n }\n for (const node of document.querySelectorAll(\n '[data-zappie-item] [data-zappie-action=\"add-to-cart\"]',\n )) {\n node.remove();\n }\n };\n new MutationObserver(removeQuickAdds).observe(document, {\n childList: true,\n subtree: true,\n });\n });\n }\n if (fault === \"no-sold-out\") {\n await page.addInitScript(() => {\n let debug: Window[\"__zappie\"];\n Object.defineProperty(window, \"__zappie\", {\n configurable: true,\n get: () => debug,\n set(value: Window[\"__zappie\"]) {\n debug = value;\n if (value) {\n const catalogue = value.catalogue;\n value.catalogue = async () => {\n const result = await catalogue();\n return {\n ...result,\n menu: {\n ...result.menu,\n items: Object.fromEntries(\n Object.entries(result.menu.items).filter(\n ([, item]) => item.isAvailable,\n ),\n ),\n },\n };\n };\n }\n },\n });\n });\n }\n\n if (fault === \"add-stuck\") {\n await page.addInitScript(() => {\n document.addEventListener(\n \"click\",\n (event) => {\n const target = event.target as Element | null;\n if (target?.closest('[data-zappie-action=\"add-to-cart\"]')) {\n event.stopImmediatePropagation();\n event.preventDefault();\n }\n },\n true,\n );\n });\n }\n if (fault === \"missing-issue-fix\") {\n await page.addInitScript(() => {\n new MutationObserver(() => {\n for (const node of document.querySelectorAll(\n \"[data-zappie-issue-fix]\",\n )) {\n node.removeAttribute(\"data-zappie-issue-fix\");\n }\n }).observe(document, { childList: true, subtree: true });\n });\n }\n if (fault === \"wrong-total\") {\n await page.addInitScript(() => {\n new MutationObserver(() => {\n for (const node of document.querySelectorAll(\"[data-zappie-total]\")) {\n if (node.textContent !== \"Total ₦1\") {\n node.textContent = \"Total ₦1\";\n }\n }\n }).observe(document, { childList: true, subtree: true });\n });\n }\n}\n\nexport async function applyPageFault(page: Page, fault?: Fault) {\n if (fault === \"quick-add-via-item\") {\n await page\n .locator('[data-zappie-item] [data-zappie-action=\"add-to-cart\"]')\n .evaluateAll((nodes) => {\n for (const node of nodes) {\n node.remove();\n }\n });\n }\n if (fault === \"missing-marker\") {\n await page.locator(\"[data-zappie-item]\").evaluateAll((nodes) => {\n for (const node of nodes) {\n node.removeAttribute(\"data-zappie-item\");\n }\n });\n }\n if (fault === \"axe\") {\n await page.evaluate(() => {\n const button = document.createElement(\"button\");\n button.style.color = \"#fff\";\n button.style.background = \"#fff\";\n document.body.append(button);\n });\n }\n if (fault === \"oversized\") {\n let state = 1;\n const payload = Array.from({ length: 260_000 }, () => {\n state = (state * 48_271) % 2_147_483_647;\n return String.fromCharCode(33 + (state % 90));\n }).join(\"\");\n await page.route(\"**/__verify-large.js\", (route) =>\n route.fulfill({\n contentType: \"text/javascript\",\n body: `window.__verifyLarge=${JSON.stringify(payload)}`,\n }),\n );\n }\n}\n","import { createZappie, type Item, type Menu } from \"@zappie/sdk\";\nimport { assertion } from \"../error\";\nimport type { VerifyOptions } from \"../types\";\n\nexport async function readMenu(options: VerifyOptions): Promise<Menu> {\n const client = createZappie({\n store: options.store,\n key: options.key,\n ...(process.env.ZAPPIE_VERIFY_API_URL\n ? { baseUrl: process.env.ZAPPIE_VERIFY_API_URL }\n : {}),\n });\n const store = await client.store.get();\n const branch =\n store.branches.find((entry) => entry.isDefault) ?? store.branches[0];\n assertion(\n branch,\n \"default_branch_missing\",\n \"The store has no branch\",\n \"Mark an orderable branch as the default.\",\n );\n return client.menu.get({ branch: branch.id });\n}\n\nexport function sortedItems(menu: Menu): Item[] {\n return Object.values(menu.items).sort((a, b) => a.id.localeCompare(b.id));\n}\n\nexport function simpleItem(menu: Menu): Item | undefined {\n return sortedItems(menu).find(\n (item) =>\n item.isAvailable && !item.optionGroups.some((group) => group.required),\n );\n}\n\nexport function configurableItem(menu: Menu): Item | undefined {\n return sortedItems(menu).find(\n (item) =>\n item.isAvailable && item.optionGroups.some((group) => group.required),\n );\n}\n","import type { Item } from \"@zappie/sdk\";\n\nexport function menuCoverage(items: Item[], shownIds: Set<string>) {\n const available = items.filter((item) => item.isAvailable);\n const shown = available.filter((item) => shownIds.has(item.id)).length;\n return {\n available: available.length,\n shown,\n passes: available.length === 0 || shown / available.length >= 0.95,\n };\n}\n\nexport function priceMatches(text: string | null, formatted: string) {\n return text?.includes(formatted) ?? false;\n}\n","import { format } from \"@zappie/sdk\";\nimport { assertion } from \"../error\";\nimport { applyPageFault } from \"../fixtures\";\nimport type { VerifyCheck } from \"../types\";\nimport { readMenu, sortedItems } from \"./catalogue\";\nimport { open } from \"./common\";\nimport { menuCoverage, priceMatches } from \"./menu-match\";\n\nexport const v03: VerifyCheck = {\n id: \"V03\",\n title: \"Menu matches store\",\n viewports: \"mobile\",\n async run({ page, options, fault }, viewport) {\n const menu = await readMenu(options);\n await page.setViewportSize(viewport);\n await open(page);\n await applyPageFault(page, fault);\n const items = sortedItems(menu);\n const available = items.filter((item) => item.isAvailable);\n const shownIds = new Set<string>();\n for (const item of available) {\n const marker = page.locator(`[data-zappie-item=\"${item.id}\"]`);\n if (\n (await marker.count()) > 0 ||\n (await page.getByText(item.name, { exact: true }).count()) > 0\n ) {\n shownIds.add(item.id);\n }\n }\n const coverage = menuCoverage(items, shownIds);\n assertion(\n coverage.passes,\n \"menu_mismatch\",\n `The menu shows ${coverage.shown} of ${coverage.available} available items`,\n \"Render at least 95% of available menu items with data-zappie-item markers or visible names.\",\n );\n assertion(\n await page.locator(\"[data-zappie-item]\").count(),\n \"item_marker_missing\",\n \"The menu has no item marker\",\n \"Add data-zappie-item to each rendered menu item.\",\n );\n for (const item of items.filter((entry) => !entry.isAvailable)) {\n const add = page.locator(\n `[data-zappie-item=\"${item.id}\"] [data-zappie-action=\"add-to-cart\"]`,\n );\n if (await add.count()) {\n assertion(\n await add.isDisabled(),\n \"unavailable_item_addable\",\n `Shoppers can add the unavailable item ${item.name}`,\n \"Disable add-to-cart for unavailable items.\",\n );\n }\n }\n for (const item of available.slice(0, 2)) {\n const text = await page\n .locator(`[data-zappie-item=\"${item.id}\"]`)\n .first()\n .textContent();\n assertion(\n priceMatches(text, format.money(item.price)),\n \"price_mismatch\",\n `${item.name} does not show ${format.money(item.price)}`,\n \"Render prices with format.money from @zappie/sdk.\",\n );\n }\n },\n};\n","import { assertion } from \"../error\";\nimport { applyPageFault } from \"../fixtures\";\nimport type { VerifyCheck } from \"../types\";\nimport { readMenu, simpleItem } from \"./catalogue\";\nimport { debugValue, open } from \"./common\";\n\nexport const v04: VerifyCheck = {\n id: \"V04\",\n title: \"Add an item without required options\",\n viewports: \"both\",\n async run({ page, options, fault }, viewport) {\n await page.setViewportSize(viewport);\n await open(page);\n await applyPageFault(page, fault);\n const before = await debugValue(page, () => window.__zappie!.cart().count);\n await page.evaluate(() => {\n window.__zappieV04Events = [];\n window.addEventListener(\"zappie:event\", (event) => {\n window.__zappieV04Events!.push(\n (event as CustomEvent<{ name: string }>).detail,\n );\n });\n });\n const item = simpleItem(await readMenu(options));\n assertion(\n item,\n \"simple_item_missing\",\n \"The test menu has no available item without required options\",\n \"Keep one available item without required options in the test menu.\",\n );\n let openedItem = false;\n let simple = page\n .locator(`[data-zappie-item=\"${item.id}\"]`)\n .locator('[data-zappie-action=\"add-to-cart\"]');\n if (!(await simple.count())) {\n const itemLink = page\n .locator(\n `[data-zappie-item=\"${item.id}\"] a[href*=\"/item/\"], a[data-zappie-item=\"${item.id}\"], a[href*=\"/item/${item.id}\"]`,\n )\n .first();\n assertion(\n await itemLink.count(),\n \"simple_item_missing\",\n \"The item has no quick-add button or item link\",\n \"Render a marked quick-add button, or link the product card to an item page with one.\",\n );\n await itemLink.click();\n openedItem = true;\n simple = page\n .locator(\n '[role=\"dialog\"] [data-zappie-item] [data-zappie-action=\"add-to-cart\"]:visible, main [data-zappie-item] [data-zappie-action=\"add-to-cart\"]:visible',\n )\n .first();\n await simple\n .waitFor({ state: \"visible\", timeout: 5_000 })\n .catch(() => {});\n assertion(\n await simple.count(),\n \"simple_item_missing\",\n \"The item page has no add button\",\n 'Mark the item page add button with data-zappie-action=\"add-to-cart\".',\n );\n }\n await simple.click();\n const updated = openedItem\n ? await page\n .waitForFunction(\n () =>\n window.__zappieV04Events!.some(\n (entry) => entry.name === \"add_to_cart\",\n ),\n undefined,\n { timeout: 3_000 },\n )\n .then(\n () => true,\n () => false,\n )\n : await page.evaluate(\n (count) =>\n new Promise<boolean>((resolve) => {\n requestAnimationFrame(() => {\n resolve(window.__zappie!.cart().count > count);\n });\n }),\n before,\n );\n assertion(\n updated,\n \"cart_not_updated\",\n openedItem\n ? \"The item page did not add the item to the cart\"\n : \"The cart count did not change within one frame of Add\",\n \"Connect the marked Add control to client.cart.add and update the cart immediately.\",\n );\n const event = await page.evaluate(() =>\n window.__zappieV04Events!.some((entry) => entry.name === \"add_to_cart\"),\n );\n assertion(\n event,\n \"add_event_missing\",\n \"The SDK did not record add_to_cart\",\n \"Use the SDK cart add action to record the test-mode event.\",\n );\n },\n};\n","import { assertion } from \"../error\";\nimport type { VerifyCheck } from \"../types\";\nimport { configurableItem, readMenu } from \"./catalogue\";\nimport { debugValue, open } from \"./common\";\n\nexport const v05: VerifyCheck = {\n id: \"V05\",\n title: \"Add an item with required options\",\n viewports: \"both\",\n async run({ page, options }, viewport) {\n await page.setViewportSize(viewport);\n await open(page);\n const selected = configurableItem(await readMenu(options));\n assertion(\n selected,\n \"required_item_missing\",\n \"The test menu has no available item with required options\",\n \"Keep one available configurable item in the test menu.\",\n );\n const item = page.locator(`[data-zappie-item=\"${selected.id}\"]`).first();\n await item\n .locator(\"xpath=..\")\n .getByRole(\"link\", { name: \"View details\" })\n .click();\n const dialog = page.getByRole(\"dialog\");\n await dialog.waitFor();\n const required = dialog\n .locator('[data-zappie-option-group][aria-required=\"true\"]')\n .first();\n assertion(\n await required.count(),\n \"required_group_missing\",\n \"The item dialog has no marked required option group\",\n \"Expose required groups through data-zappie-option-group and aria-required.\",\n );\n const before = await debugValue(page, () => window.__zappie!.cart().count);\n const add = dialog.locator('[data-zappie-action=\"add-to-cart\"]');\n assertion(\n await add.isDisabled(),\n \"required_option_bypassed\",\n \"Add is enabled before the shopper chooses a required option\",\n \"Disable Add until the shopper completes every required option group.\",\n );\n for (let index = 0; index < 5 && (await add.isDisabled()); index++) {\n const unsatisfied = dialog\n .locator(\n '[data-zappie-option-group][aria-required=\"true\"]:not(:has([data-state=\"checked\"]))',\n )\n .first();\n assertion(\n await unsatisfied.count(),\n \"required_option_unselectable\",\n \"A required option group has no selectable choice\",\n \"Keep an available choice in every required option group.\",\n );\n await unsatisfied\n .locator('[data-zappie-option]:not([aria-disabled=\"true\"])')\n .first()\n .click();\n }\n assertion(\n await add.isEnabled(),\n \"required_option_unselectable\",\n \"Valid choices did not enable Add\",\n \"Recheck the item selection when required choices change.\",\n );\n await add.click();\n await dialog.waitFor({ state: \"hidden\" });\n await page.waitForFunction(\n (count) => window.__zappie!.cart().count > count,\n before,\n );\n const lineHasChoices = await page.evaluate(\n (itemId) =>\n window\n .__zappie!.cart()\n .lines.some(\n (line) => line.itemId === itemId && line.choices.length > 0,\n ),\n selected.id,\n );\n assertion(\n lineHasChoices,\n \"selected_options_missing\",\n \"The added line has no selected options\",\n \"Pass ItemForm choices to the SDK cart add action.\",\n );\n },\n};\n","import { format, type Money } from \"@zappie/sdk\";\nimport { assertion } from \"../error\";\nimport type { VerifyCheck } from \"../types\";\nimport { open } from \"./common\";\n\nexport const v06: VerifyCheck = {\n id: \"V06\",\n title: \"Cart quote and total\",\n viewports: \"both\",\n async run({ page }, viewport) {\n await page.setViewportSize(viewport);\n if (new URL(page.url()).pathname !== \"/\") {\n await open(page);\n }\n const total = page.locator(\"[data-zappie-total]\");\n if (!(await total.isVisible())) {\n await page.locator(\"[data-zappie-cart-trigger]\").first().click();\n }\n await page.waitForFunction(\n () => window.__zappie!.events.some((entry) => entry.name === \"quote\"),\n undefined,\n { timeout: 2_000 },\n );\n const quote = await page.evaluate(() => window.__zappie!.quote());\n assertion(\n quote,\n \"quote_missing\",\n \"The cart did not produce a quote within 2 seconds\",\n \"Open the cart through the SDK and render Totals so it requests a quote.\",\n );\n const rendered = await total.textContent();\n assertion(\n rendered?.includes(format.money(quote.total as Money)),\n \"total_mismatch\",\n `Rendered total does not match ${format.money(quote.total as Money)}`,\n \"Render quote.total with the SDK Money formatter.\",\n );\n },\n};\n","import {\n previewItem,\n resolveSourceMenu,\n validateLine,\n type Branch,\n type CartLineInput,\n type Item,\n type Menu,\n} from \"@zappie/sdk\";\n\n// Use SDK rules for each candidate, including conditional options and exact variants.\nexport function orderableLine(menu: Menu, branch: Branch, item: Item) {\n for (const source of menu.menus ?? [{ id: menu.id }]) {\n const menuId = resolveSourceMenu(menu, item.id, source.id);\n if (!menuId) {\n continue;\n }\n for (const variant of item.variants.filter((value) => value.isAvailable)) {\n const line: CartLineInput = {\n itemId: item.id,\n menuId,\n variantId: variant.id,\n quantity:\n Math.ceil(item.quantity.min / item.quantity.step) *\n item.quantity.step,\n choices: Object.entries(variant.attributeChoices).map(\n ([groupId, choiceId]) => ({ groupId, choiceId, quantity: 1 }),\n ),\n inputs: {},\n };\n for (let round = 0; round <= item.optionGroups.length; round++) {\n const { groups } = previewItem(item, line);\n for (const group of groups) {\n if (group.isAttribute || group.isInformational) {\n continue;\n }\n const minimum = Math.max(group.selection.min, group.required ? 1 : 0);\n if (group.kind === \"select\") {\n const selected = line.choices!.filter(\n (choice) => choice.groupId === group.id,\n );\n for (const choice of group.choices.filter(\n (value) => value.isAvailable,\n )) {\n if (selected.length >= minimum) {\n break;\n }\n if (!selected.some((value) => value.choiceId === choice.id)) {\n const value = {\n groupId: group.id,\n choiceId: choice.id,\n quantity: choice.quantity?.min ?? 1,\n };\n line.choices!.push(value);\n selected.push(value);\n }\n }\n } else if (group.required) {\n const values = {\n number: \"1\",\n date: \"2026-01-01\",\n time: \"12:00\",\n toggle: \"true\",\n text: \"Verify\",\n };\n line.inputs![group.id] = values[group.kind].slice(\n 0,\n group.input?.maxLength,\n );\n }\n }\n if (validateLine(item, line, { menu, branch }).length === 0) {\n return {\n ...line,\n unitPrice: previewItem(item, line).unitPrice,\n };\n }\n }\n }\n }\n return undefined;\n}\n","import { resolveSourceMenu } from \"@zappie/sdk\";\nimport { assertion } from \"../error\";\nimport type { VerifyCheck } from \"../types\";\nimport { open } from \"./common\";\nimport { orderableLine } from \"./stale-cart\";\n\nexport const v07: VerifyCheck = {\n id: \"V07\",\n title: \"Handle quote issues\",\n viewports: \"mobile\",\n async run({ page }, viewport) {\n await page.setViewportSize(viewport);\n await open(page);\n await page.waitForFunction(() => window.__zappie?.cart().isHydrated);\n const debug = await page.evaluate(() => ({\n inject: typeof window.__zappie?.cart.inject === \"function\",\n branch: window.__zappie?.cart().branchId,\n }));\n assertion(\n debug.inject,\n \"cart_inject_missing\",\n \"The test cart has no inject method\",\n \"Use an SDK version that exposes cart.inject with a public test key.\",\n );\n const { menu, branch } = await page.evaluate(() =>\n window.__zappie!.catalogue(),\n );\n const items = Object.values(menu.items).sort((a, b) =>\n a.id.localeCompare(b.id),\n );\n const available = items\n .filter((item) => item.isAvailable)\n .map((item) => orderableLine(menu, branch, item))\n .find((line) => line !== undefined);\n assertion(\n available,\n \"orderable_item_missing\",\n \"The branch has no item that verify can order\",\n \"Keep an available item with valid choices in this branch's menu.\",\n );\n const unavailable = items.find((item) => !item.isAvailable);\n const lines = [\n {\n ...available,\n unitPrice: {\n ...available.unitPrice,\n amountMinor: available.unitPrice.amountMinor === 0 ? 1 : 0,\n },\n },\n ];\n if (unavailable) {\n const menuId = (menu.menus ?? [{ id: menu.id }])\n .map((source) => resolveSourceMenu(menu, unavailable.id, source.id))\n .find(Boolean);\n lines.push({\n quantity: 1,\n itemId: unavailable.id,\n ...(menuId ? { menuId } : {}),\n variantId: unavailable.variants[0].id,\n choices: [],\n inputs: {},\n unitPrice: unavailable.variants[0].price,\n });\n }\n await page.evaluate(async (lines) => {\n await window.__zappie!.cart.inject({ lines });\n }, lines);\n await page.reload({ waitUntil: \"domcontentloaded\" });\n await page.locator(\"[data-zappie-cart-trigger]\").first().click();\n const codes = unavailable\n ? [\"price_changed\", \"item_unavailable\"]\n : [\"price_changed\"];\n for (const code of codes) {\n const issue = page.locator(`[data-zappie-issue=\"${code}\"]`).first();\n await issue.waitFor({ state: \"visible\" });\n assertion(\n await issue.isVisible(),\n \"quote_issue_missing\",\n `The cart does not show ${code}`,\n \"Render each quote issue with data-zappie-issue and its fixes with data-zappie-issue-fix.\",\n );\n }\n for (const code of codes) {\n const issue = page.locator(`[data-zappie-issue=\"${code}\"]`).first();\n const fix = issue.locator(\"[data-zappie-issue-fix]\").first();\n assertion(\n await fix.count(),\n \"quote_fix_missing\",\n `The cart has no fix for ${code}`,\n \"Connect each marked issue fix to the SDK cart applyFix action.\",\n );\n await fix.click();\n await issue.waitFor({ state: \"hidden\" });\n }\n await open(page, \"/checkout\");\n await page.waitForFunction(() => {\n const cart = window.__zappie?.cart();\n return (\n cart &&\n cart.issues.length === 0 &&\n \"quote\" in cart.state &&\n cart.state.quote?.checkout.ready\n );\n });\n assertion(\n (await page.locator(\"[data-zappie-issue]\").count()) === 0,\n \"quote_issues_remain\",\n \"The cart still shows issues after both fixes\",\n \"Remove resolved issue messages when the SDK cart updates.\",\n );\n await page.waitForFunction(() => {\n const control = document.querySelector<HTMLButtonElement>(\n \"[data-zappie-checkout]\",\n );\n return control && !control.disabled;\n });\n assertion(\n await page.locator(\"[data-zappie-checkout]\").isEnabled(),\n \"checkout_not_ready\",\n \"Checkout is disabled after the quote issues clear\",\n \"Enable checkout when the SDK quote is ready and the cart has no blocking issue.\",\n );\n assertion(\n unavailable,\n \"dependency_blocked\",\n \"The price-change checks passed, but the unavailable-item checks need a sold-out item\",\n \"Keep one sold-out item in this branch's menu to check its issue and removal fix.\",\n );\n },\n};\n","import { assertion } from \"../error\";\nimport type { VerifyCheck } from \"../types\";\nimport { debugValue, open } from \"./common\";\n\nexport const v09: VerifyCheck = {\n id: \"V09\",\n title: \"Pickup\",\n viewports: \"mobile\",\n async run({ page }, viewport) {\n await page.setViewportSize(viewport);\n await open(page, \"/checkout\");\n const pickup = page.locator('[data-zappie-fulfilment=\"pickup\"]');\n await pickup.waitFor();\n assertion(\n await pickup.count(),\n \"pickup_missing\",\n \"Pickup control is missing\",\n \"Render a pickup control with data-zappie-fulfilment=pickup.\",\n );\n await pickup.click();\n await page.waitForFunction(\n () => window.__zappie!.cart().fulfilment?.type === \"pickup\",\n );\n await page.waitForFunction(() => Boolean(window.__zappie!.quote()));\n const quote = await debugValue(page, () => window.__zappie!.quote());\n assertion(\n !quote?.delivery || quote.delivery.amountMinor === 0,\n \"pickup_delivery_fee\",\n \"Pickup quote includes a delivery fee\",\n \"Send pickup fulfilment to the SDK cart before quoting.\",\n );\n },\n};\n","import { stableErrorCode } from \"../internal/customer-http\";\nimport { ZappieError } from \"./sdk\";\n\n/**\n * A places API failure with its HTTP status, API code and optional validation issues.\n * Statuses 429 and 5xx are marked retryable.\n */\nexport class PlacesError extends ZappieError {\n readonly issues?: unknown;\n\n constructor(\n status: number,\n readonly apiCode: string,\n message: string,\n param?: string,\n issues?: unknown,\n ) {\n super(stableErrorCode(status), message, {\n status,\n retryable: status === 429 || status >= 500,\n ...(param !== undefined ? { param } : {}),\n });\n if (issues !== undefined) {\n this.issues = issues;\n }\n }\n}\n","import { apiError, requestWithRetry } from \"../internal/customer-http\";\nimport { PlacesError } from \"./error\";\n\nexport type PlacesRequest = <T>(path: string, init?: RequestInit) => Promise<T>;\n\nexport function createPlacesRequest(\n base: string,\n key: string,\n version: string,\n fetcher: typeof fetch,\n): PlacesRequest {\n return async <T>(path: string, init: RequestInit = {}): Promise<T> => {\n const response = await requestWithRetry(\n fetcher,\n base + path,\n {\n ...init,\n // Workers reject redirect: \"error\"; !response.ok below refuses a redirect.\n redirect: \"manual\",\n headers: {\n Authorization: `Bearer ${key}`,\n \"Zappie-Version\": version,\n ...init.headers,\n },\n },\n \"Could not reach the places service\",\n );\n if (!response.ok) {\n const value = await apiError(\n response,\n `The places service answered ${response.status}`,\n );\n throw new PlacesError(\n response.status,\n value.apiCode,\n value.message,\n value.param,\n value.issues,\n );\n }\n return (await response.json()) as T;\n };\n}\n","import type { AddressSearchOptions, Place, PlaceSuggestion } from \"./types\";\n\ntype SearchClient = {\n autocomplete(\n query: string,\n token: string,\n options: { signal?: AbortSignal },\n ): Promise<PlaceSuggestion[]>;\n place(\n id: string,\n options: {\n branchId?: string;\n sessionToken?: string;\n signal?: AbortSignal;\n },\n ): Promise<Place>;\n};\n\nconst aborted = () => new DOMException(\"Superseded\", \"AbortError\");\n\nexport function createAddressSearch(\n client: SearchClient,\n options: AddressSearchOptions = {},\n) {\n const debounceMs = options.debounceMs ?? 250;\n let token = crypto.randomUUID();\n let controller: AbortController | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n let rejectPending: ((reason: unknown) => void) | undefined;\n let revision = 0;\n const cancel = () => {\n revision++;\n if (timer !== undefined) {\n clearTimeout(timer);\n timer = undefined;\n }\n controller?.abort(aborted());\n controller = undefined;\n rejectPending?.(aborted());\n rejectPending = undefined;\n };\n return {\n suggest(query: string): Promise<PlaceSuggestion[]> {\n cancel();\n const current = revision;\n if (!query.trim()) {\n return Promise.resolve([]);\n }\n return new Promise((resolve, reject) => {\n rejectPending = reject;\n timer = setTimeout(async () => {\n timer = undefined;\n controller = new AbortController();\n try {\n const value = await client.autocomplete(query.trim(), token, {\n signal: controller.signal,\n });\n if (current === revision) {\n resolve(value);\n }\n } catch (failure) {\n if (current === revision) {\n reject(failure);\n }\n } finally {\n if (current === revision) {\n rejectPending = undefined;\n controller = undefined;\n }\n }\n }, debounceMs);\n });\n },\n async select(placeId: string): Promise<Place> {\n cancel();\n const current = revision;\n controller = new AbortController();\n try {\n const value = await client.place(placeId, {\n ...(options.branchId !== undefined\n ? { branchId: options.branchId }\n : {}),\n sessionToken: token,\n signal: controller.signal,\n });\n if (current !== revision) {\n throw aborted();\n }\n token = crypto.randomUUID();\n return value;\n } finally {\n if (current === revision) {\n controller = undefined;\n }\n }\n },\n dispose: cancel,\n };\n}\n","import { createPlacesRequest } from \"./request\";\nimport { API_VERSION, RestTransport, validateConfig } from \"./sdk\";\nimport { createAddressSearch } from \"./search\";\nimport type {\n AddressSearchOptions,\n Place,\n PlaceOptions,\n PlacesClientOptions,\n PlaceSuggestion,\n SignalOptions,\n ZoneCheck,\n ZoneCheckRequest,\n} from \"./types\";\n\nconst DEFAULT_CUSTOMER_BASE = \"/_zappie/api\";\n\n/**\n * Create a client for address autocomplete, place lookup and delivery-zone checks.\n * Also provides reverse lookup, static-map URLs and debounced address search controllers.\n *\n * @param options - Your publishable key and optional transport settings.\n * @returns A places client. Creating it validates the key format without fetching data.\n */\nexport function createPlaces(options: PlacesClientOptions) {\n validateConfig({ store: \"places\", key: options.key });\n const base = new RestTransport({\n ...(options.baseUrl ? { baseUrl: options.baseUrl } : {}),\n ...(options.fetch ? { fetch: options.fetch } : {}),\n }).baseUrl;\n const customerBase = (options.customerBase ?? DEFAULT_CUSTOMER_BASE).replace(\n /\\/+$/,\n \"\",\n );\n const request = createPlacesRequest(\n base,\n options.key,\n options.version ?? API_VERSION,\n options.fetch ?? globalThis.fetch,\n );\n const readPlace = (\n id: string,\n read: SignalOptions & { branchId?: string; sessionToken?: string },\n ) => {\n const params = new URLSearchParams();\n if (read.branchId !== undefined) {\n params.set(\"branch_id\", read.branchId);\n }\n if (read.sessionToken !== undefined) {\n params.set(\"session\", read.sessionToken);\n }\n const suffix = params.size > 0 ? `?${params}` : \"\";\n return request<Place>(`/places/${encodeURIComponent(id)}${suffix}`, {\n method: \"GET\",\n ...(read.signal ? { signal: read.signal } : {}),\n });\n };\n const client = {\n async autocomplete(\n query: string,\n sessionToken: string,\n read: SignalOptions = {},\n ): Promise<PlaceSuggestion[]> {\n if (!query.trim()) {\n return [];\n }\n const params = new URLSearchParams({\n q: query.trim(),\n session: sessionToken,\n });\n const result = await request<{ suggestions: PlaceSuggestion[] }>(\n `/places/autocomplete?${params}`,\n { method: \"GET\", ...(read.signal ? { signal: read.signal } : {}) },\n );\n return result.suggestions;\n },\n place(id: string, read: PlaceOptions): Promise<Place> {\n return readPlace(id, read);\n },\n reverse(lat: number, lng: number, read: SignalOptions = {}) {\n const params = new URLSearchParams({\n lat: String(lat),\n lng: String(lng),\n });\n return request<Place>(`/places/reverse?${params}`, {\n method: \"GET\",\n ...(read.signal ? { signal: read.signal } : {}),\n });\n },\n staticMapUrl(lat: number, lng: number, branchId?: string) {\n const params = new URLSearchParams({\n lat: String(lat),\n lng: String(lng),\n });\n if (branchId !== undefined) {\n params.set(\"branch_id\", branchId);\n }\n return `${customerBase}/places/static-map?${params}`;\n },\n zoneCheck(body: ZoneCheckRequest, read: SignalOptions = {}) {\n return request<ZoneCheck>(\"/delivery/zones/check\", {\n method: \"POST\",\n headers: { \"Content-Type\": \"application/json\" },\n body: JSON.stringify(body),\n ...(read.signal ? { signal: read.signal } : {}),\n });\n },\n createAddressSearch(searchOptions: AddressSearchOptions = {}) {\n return createAddressSearch(\n {\n autocomplete: client.autocomplete,\n place: readPlace,\n },\n searchOptions,\n );\n },\n };\n return client;\n}\n\n/**\n * The place lookup, address search and delivery-zone operations returned by createPlaces.\n */\nexport type PlacesClient = ReturnType<typeof createPlaces>;\n","import { createPlaces } from \"@zappie/sdk/places\";\nimport { assertion } from \"../error\";\nimport type { VerifyCheck } from \"../types\";\nimport { debugValue, open } from \"./common\";\n\nconst ADDRESS = \"12 Admiralty Way, Lekki\";\n\nexport const v10: VerifyCheck = {\n id: \"V10\",\n title: \"Delivery\",\n viewports: \"mobile\",\n async run({ page, options }, viewport) {\n await page.setViewportSize(viewport);\n await open(page, \"/checkout\");\n const delivery = page.locator('[data-zappie-fulfilment=\"delivery\"]');\n await delivery.waitFor();\n assertion(\n await delivery.count(),\n \"delivery_missing\",\n \"Delivery control is missing\",\n \"Render a delivery control with data-zappie-fulfilment=delivery.\",\n );\n await delivery.click();\n const input = page.locator(\"[data-zappie-address-input]\");\n await input.waitFor();\n await input.fill(ADDRESS);\n await page.getByText(ADDRESS, { exact: true }).last().click();\n await page.waitForFunction(() => {\n const fulfilment = window.__zappie!.cart().fulfilment;\n return (\n fulfilment?.type === \"delivery\" && Boolean(fulfilment.address.placeId)\n );\n });\n const fulfilment = await debugValue(\n page,\n () => window.__zappie!.cart().fulfilment,\n );\n assertion(\n fulfilment?.type === \"delivery\",\n \"delivery_address_missing\",\n \"The selected address was not stored\",\n \"Store the resolved address on delivery fulfilment.\",\n );\n await page.waitForFunction(\n () => (window.__zappie!.quote()?.delivery?.amountMinor ?? 0) > 0,\n );\n const quote = await debugValue(page, () => window.__zappie!.quote());\n assertion(\n (quote?.delivery?.amountMinor ?? 0) > 0,\n \"delivery_fee_missing\",\n \"The delivery quote has no delivery fee\",\n \"Quote the selected delivery zone and include its fee.\",\n );\n const places = createPlaces({\n key: options.key,\n ...(process.env.ZAPPIE_VERIFY_API_URL\n ? { baseUrl: process.env.ZAPPIE_VERIFY_API_URL }\n : {}),\n });\n const zone = await places.zoneCheck({\n branch_id: fulfilment.branchId,\n address: {\n line1: fulfilment.address.line1,\n ...(fulfilment.address.placeId\n ? { place_id: fulfilment.address.placeId }\n : {}),\n ...(fulfilment.address.coordinates\n ? {\n lat: fulfilment.address.coordinates.lat,\n lng: fulfilment.address.coordinates.lng,\n }\n : {}),\n },\n });\n assertion(\n zone.deliverable && zone.fee,\n \"delivery_zone_failed\",\n \"The test address is not deliverable\",\n \"Make the test-mode zone check accept 12 Admiralty Way, Lekki and return its fee.\",\n );\n },\n};\n","import AxeBuilder from \"@axe-core/playwright\";\nimport { assertion } from \"../error\";\nimport { applyPageFault } from \"../fixtures\";\nimport type { VerifyCheck } from \"../types\";\nimport { readMenu, sortedItems } from \"./catalogue\";\nimport { open } from \"./common\";\n\nasync function severeViolations(page: import(\"@playwright/test\").Page) {\n const analysis = await new AxeBuilder({ page }).analyze();\n return analysis.violations.filter(\n (entry) => entry.impact === \"critical\" || entry.impact === \"serious\",\n );\n}\n\nasync function controlsAreReachable(\n page: import(\"@playwright/test\").Page,\n selectors: string[],\n) {\n const reached = new Set<number>();\n for (let index = 0; index < 60; index++) {\n await page.keyboard.press(\"Tab\");\n const match = await page.evaluate((values) => {\n return values.findIndex((value) =>\n document.activeElement?.closest(value),\n );\n }, selectors);\n if (match >= 0) {\n reached.add(match);\n }\n if (reached.size === selectors.length) {\n return true;\n }\n }\n return false;\n}\n\nexport const v13: VerifyCheck = {\n id: \"V13\",\n title: \"Accessibility\",\n viewports: \"both\",\n async run({ page, context, options, fault }, viewport) {\n await page.setViewportSize(viewport);\n await open(page);\n await applyPageFault(page, fault);\n const violations = await severeViolations(page);\n const item = sortedItems(await readMenu(options)).find(\n (entry) => entry.isAvailable,\n );\n assertion(\n item,\n \"available_item_missing\",\n \"No available item can be opened for accessibility checks\",\n \"Keep one available item in the test menu.\",\n );\n await page\n .locator(`[data-zappie-item=\"${item.id}\"]`)\n .first()\n .locator(\"xpath=..\")\n .getByRole(\"link\", { name: \"View details\" })\n .click();\n violations.push(...(await severeViolations(page)));\n await page.getByRole(\"button\", { name: \"Close item\" }).click();\n await page.locator(\"[data-zappie-cart-trigger]\").first().click();\n violations.push(...(await severeViolations(page)));\n const message = violations\n .flatMap((entry) =>\n entry.nodes.map((node) => `${entry.id}: ${node.target.join(\" \")}`),\n )\n .join(\", \");\n assertion(\n violations.length === 0,\n \"accessibility_violation\",\n message || \"Accessibility violation\",\n \"Fix every serious or critical axe violation in the menu, item dialog, cart and order page.\",\n );\n await page.keyboard.press(\"Escape\");\n await context.addCookies([\n {\n name: \"zappie_session\",\n value: \"signed\",\n domain: new URL(page.url()).hostname,\n path: \"/\",\n },\n ]);\n await open(page, \"/orders/order_fixture\");\n const order = await severeViolations(page);\n assertion(\n order.length === 0,\n \"order_accessibility_violation\",\n order.map((entry) => entry.id).join(\", \") ||\n \"Order page has a serious axe violation\",\n \"Fix serious and critical axe findings on the order page.\",\n );\n await open(page);\n assertion(\n await controlsAreReachable(page, [\n '[data-zappie-action=\"add-to-cart\"]',\n \"[data-zappie-cart-trigger]\",\n ]),\n \"keyboard_marker_unreachable\",\n \"Keyboard navigation did not reach the Add and cart controls\",\n \"Keep the marked Add and cart controls in the tab order.\",\n );\n await open(page, \"/checkout\");\n await page.locator('input[type=\"tel\"]').fill(\"+2348000000001\");\n await page.waitForFunction(\n () =>\n !document.querySelector<HTMLButtonElement>(\"[data-zappie-checkout]\")\n ?.disabled,\n );\n assertion(\n await controlsAreReachable(page, [\"[data-zappie-checkout]\"]),\n \"checkout_keyboard_unreachable\",\n \"Keyboard navigation did not reach the checkout control\",\n \"Keep the enabled checkout control in the tab order and add its verify marker.\",\n );\n },\n};\n","import { assertion } from \"../error\";\nimport { applyPageFault } from \"../fixtures\";\nimport type { VerifyCheck } from \"../types\";\nimport { applyPhoneProfile } from \"./common\";\n\nexport const v14: VerifyCheck = {\n id: \"V14\",\n title: \"Performance budget\",\n viewports: \"mobile\",\n async run({ page, metrics, fault }, viewport) {\n await page.setViewportSize(viewport);\n const cdp = await applyPhoneProfile(page);\n await page.addInitScript(() => {\n const state = { lcp: 0, cls: 0 };\n Object.assign(window, { __zappiePerformance: state });\n new PerformanceObserver((list) => {\n state.lcp = Math.max(\n state.lcp,\n ...list.getEntries().map((entry) => entry.startTime),\n );\n }).observe({ type: \"largest-contentful-paint\", buffered: true });\n new PerformanceObserver((list) => {\n state.cls += list\n .getEntries()\n .filter(\n (entry) =>\n !(entry as PerformanceEntry & { hadRecentInput?: boolean })\n .hadRecentInput,\n )\n .reduce(\n (sum, entry) =>\n sum +\n ((entry as PerformanceEntry & { value?: number }).value ?? 0),\n 0,\n );\n }).observe({ type: \"layout-shift\", buffered: true });\n });\n await page.goto(\"/\", { waitUntil: \"load\" });\n await applyPageFault(page, fault);\n if (fault === \"oversized\") {\n await page.addScriptTag({ url: \"/__verify-large.js\" });\n }\n await page.locator(\"[data-zappie-item]\").first().waitFor();\n await page.waitForTimeout(500);\n const values = await page.evaluate(async () => {\n const observed = window.__zappiePerformance ?? { lcp: 0, cls: 0 };\n const scripts = performance\n .getEntriesByType(\"resource\")\n .filter((entry) => entry.name.endsWith(\".js\"));\n const sizes = await Promise.all(\n scripts.map(async (entry) => {\n if (typeof CompressionStream === \"undefined\") {\n const timing = entry as PerformanceResourceTiming;\n return timing.encodedBodySize || timing.transferSize;\n }\n const response = await fetch(entry.name);\n const compressed = response.body?.pipeThrough(\n new CompressionStream(\"gzip\"),\n );\n return compressed\n ? (await new Response(compressed).arrayBuffer()).byteLength\n : 0;\n }),\n );\n const js = sizes.reduce((sum, size) => sum + size, 0);\n return { ...observed, js };\n });\n metrics.menuJsKbGz = Math.round((values.js / 1024) * 10) / 10;\n metrics.lcpMs = Math.round(values.lcp);\n metrics.cls = Math.round(values.cls * 1000) / 1000;\n assertion(\n values.js <= 200 * 1024,\n \"bundle_too_large\",\n `Menu uses ${values.js} B of gzipped JavaScript`,\n \"Split route code until the menu transfers at most 200 KiB of JavaScript.\",\n );\n assertion(\n values.lcp <= 2500,\n \"lcp_too_slow\",\n `Menu LCP was ${Math.round(values.lcp)} ms`,\n \"Reduce critical rendering work until mobile LCP is at most 2.5 seconds.\",\n );\n assertion(\n values.cls <= 0.1,\n \"cls_too_high\",\n `Menu CLS was ${values.cls.toFixed(3)}`,\n \"Reserve layout space so CLS stays at or below 0.1.\",\n );\n await cdp.detach();\n },\n};\n","import { assertion } from \"../error\";\nimport type { VerifyCheck } from \"../types\";\nimport { applyPhoneProfile } from \"./common\";\n\nconst TAPPABLE_BUDGET_MS = 3_000;\nconst OPEN_BUDGET_MS = 300;\n\nexport const v15: VerifyCheck = {\n id: \"V15\",\n title: \"Tappable product cards\",\n viewports: \"mobile\",\n async run({ page, metrics }, viewport) {\n await page.setViewportSize(viewport);\n const cdp = await applyPhoneProfile(page);\n try {\n await page.goto(\"/\", { waitUntil: \"domcontentloaded\" });\n await cdp.send(\"Network.setCacheDisabled\", { cacheDisabled: false });\n const link = page.locator('a[href*=\"/item/\"]').first();\n await link.waitFor();\n const href = await link.getAttribute(\"href\");\n assertion(\n href !== null,\n \"product_card_link_missing\",\n \"The first product card has no destination\",\n \"Link the product card to its item page.\",\n );\n const itemPath = new URL(href, page.url()).pathname;\n // The manifest arrives in its own script; prefetching can't start before it does.\n await page\n .waitForFunction(() => \"__reactRouterManifest\" in window, null, {\n timeout: 8_000,\n })\n .catch(() => undefined);\n const itemModule = await page.evaluate(itemRouteModule, itemPath);\n // React Router prefetches an item route's code, and its data only when a route on the way has a loader;\n // either one arriving before the tap means the card was prefetched.\n const prefetched = page\n .waitForResponse(\n (response) => {\n const path = new URL(response.url()).pathname;\n if (path === itemModule) {\n return true;\n }\n return (\n path === `${itemPath}.data` &&\n response.request().headers()[\"sec-purpose\"] === \"prefetch\"\n );\n },\n { timeout: 8_000 },\n )\n .then(async (response) => {\n await response.finished();\n return true;\n })\n .catch(() => false);\n await link.evaluate((node) =>\n node.scrollIntoView({ block: \"center\", inline: \"nearest\" }),\n );\n await page.waitForFunction(() => {\n const candidate = document.querySelector('a[href*=\"/item/\"]');\n return (\n candidate !== null &&\n Object.keys(candidate).some(\n (key) =>\n key.startsWith(\"__reactProps$\") ||\n key.startsWith(\"__reactFiber$\"),\n )\n );\n });\n const tappableMs = await page.evaluate(() => performance.now());\n metrics.productCardTappableMs = Math.round(tappableMs);\n assertion(\n tappableMs <= TAPPABLE_BUDGET_MS,\n \"product_card_tappable_too_late\",\n `The first product card became tappable in ${Math.round(tappableMs)} ms`,\n \"Reduce critical scripts, fonts and high-priority images until product cards become tappable within 3 seconds.\",\n );\n\n assertion(\n await prefetched,\n \"product_card_prefetch_missing\",\n \"The first product card did not prefetch its item page\",\n 'Prefetch item links with prefetch=\"viewport\".',\n );\n await page.waitForLoadState(\"networkidle\");\n\n await page.evaluate(() => {\n document.addEventListener(\n \"click\",\n (event) => {\n const target = event.target as Element | null;\n if (target?.closest('a[href*=\"/item/\"]')) {\n window.__zappieTapAt = performance.now();\n }\n },\n { capture: true, once: true },\n );\n });\n await link.click({ noWaitAfter: true });\n await Promise.race([\n page.waitForURL((url) => /\\/item\\//.test(url.pathname)),\n page\n .locator('[role=\"dialog\"] [data-zappie-item]')\n .waitFor({ state: \"visible\" }),\n ]);\n const openMs = await page.evaluate(\n () => performance.now() - (window.__zappieTapAt ?? 0),\n );\n metrics.productCardOpenMs = Math.round(openMs);\n assertion(\n openMs <= OPEN_BUDGET_MS,\n \"product_card_open_too_slow\",\n `The first product card opened in ${Math.round(openMs)} ms`,\n 'Set routeDiscovery to initial and prefetch item links with prefetch=\"viewport\" so the item surface opens within 300 ms.',\n );\n } finally {\n await cdp.detach();\n }\n },\n};\n\ntype RouteEntry = {\n id: string;\n parentId?: string;\n path?: string;\n module: string;\n};\n\n/** The item route's module path from React Router's manifest, or undefined when the page has none. */\nfunction itemRouteModule(itemPath: string) {\n const manifest = (\n window as { __reactRouterManifest?: { routes: Record<string, RouteEntry> } }\n ).__reactRouterManifest;\n if (!manifest) {\n return undefined;\n }\n const segments = (path: string) => path.split(\"/\").filter(Boolean);\n const fullPath = (route: RouteEntry) => {\n const parts: string[] = [];\n for (\n let current: RouteEntry | undefined = route;\n current;\n current = current.parentId ? manifest.routes[current.parentId] : undefined\n ) {\n if (current.path) {\n parts.unshift(current.path);\n }\n }\n return segments(parts.join(\"/\"));\n };\n const wanted = segments(itemPath);\n const route = Object.values(manifest.routes).find((entry) => {\n if (!entry.path) {\n return false;\n }\n const pattern = fullPath(entry);\n return (\n pattern.length === wanted.length &&\n pattern.every(\n (part, index) => part.startsWith(\":\") || part === wanted[index],\n )\n );\n });\n return route ? new URL(route.module, location.href).pathname : undefined;\n}\n","import type { CheckResult, VerifyCheck } from \"../types\";\nimport { v01 } from \"./v01-routes\";\nimport { v02 } from \"./v02-sdk\";\nimport { v03 } from \"./v03-menu\";\nimport { v04 } from \"./v04-add-simple\";\nimport { v05 } from \"./v05-add-options\";\nimport { v06 } from \"./v06-quote\";\nimport { v07 } from \"./v07-quote-issues\";\nimport { v09 } from \"./v09-pickup\";\nimport { v10 } from \"./v10-delivery\";\nimport { v13 } from \"./v13-accessibility\";\nimport { v14 } from \"./v14-performance\";\nimport { v15 } from \"./v15-tappable-product-cards\";\n\nexport const checks: VerifyCheck[] = [\n v01,\n v02,\n v03,\n v04,\n v05,\n v06,\n v07,\n v09,\n v10,\n v13,\n v14,\n v15,\n];\n\nconst blocked = [\n [\n \"V08\",\n \"Test customer sign-in\",\n \"Add the PRD 12/13 test accounts to run this check.\",\n ],\n [\n \"V11\",\n \"Check out with each payment method\",\n \"Set up payment sandboxes and the PRD 11 embed to run this check.\",\n ],\n [\n \"V12\",\n \"Order status page\",\n \"Add POST /test/orders/{id}/advance to run this check.\",\n ],\n] as const;\n\nexport function skippedChecks(suite: \"standard\" | \"extended\"): CheckResult[] {\n const standard = blocked.map(([id, title, message]) => ({\n id,\n title,\n result: \"skipped\" as const,\n durationMs: 0,\n error: { code: \"dependency_blocked\", message, hint: message },\n }));\n if (suite === \"standard\") {\n return standard;\n }\n return [\n ...standard,\n ...Array.from({ length: 6 }, (_, index) => ({\n id: `E0${index + 1}`,\n title: \"Extended payment checks\",\n result: \"skipped\" as const,\n durationMs: 0,\n error: {\n code: \"dependency_blocked\",\n message: \"The extended suite needs the payment elements from PRD 27.\",\n hint: \"Implement PRD 27 before you enable the extended suite.\",\n },\n })),\n ];\n}\n","import { createPrivateKey, randomUUID, sign } from \"node:crypto\";\nimport type { CheckResult, VerifyOptions, VerifyReport } from \"./types\";\n\nexport const REPORT_SCHEMA =\n \"https://registry.zappie.ai/v1/schema/verify-report.json\";\n\nexport function reportId() {\n return `ver_${randomUUID().replaceAll(\"-\", \"\")}`;\n}\n\nexport function summarize(checks: CheckResult[]) {\n return {\n passed: checks.filter((check) => check.result === \"passed\").length,\n failed: checks.filter((check) => check.result === \"failed\").length,\n skipped: checks.filter((check) => check.result === \"skipped\").length,\n };\n}\n\nexport function signReport(report: VerifyReport, key?: string) {\n if (!key) {\n return report;\n }\n const payload = JSON.stringify(report);\n return {\n ...report,\n signature: sign(\n null,\n new TextEncoder().encode(payload),\n createPrivateKey(key),\n ).toString(\"base64\"),\n };\n}\n\nexport function printSummary(report: VerifyReport) {\n const lines = report.checks.map((check) => {\n const suffix = check.error ? ` — ${check.error.message}` : \"\";\n return `${check.result.toUpperCase().padEnd(7)} ${check.id} ${check.title}${suffix}`;\n });\n lines.push(\n `${report.result.toUpperCase()}: ${report.summary.passed} passed, ${report.summary.failed} failed, ${report.summary.skipped} skipped`,\n report.signature ? \"Report signed (ed25519).\" : \"Report unsigned.\",\n );\n return lines.join(\"\\n\");\n}\n\nexport function target(options: VerifyOptions) {\n const url = new URL(options.url);\n return {\n url: url.href,\n origin: url.origin,\n store: options.store,\n ...(options.siteId ? { siteId: options.siteId } : {}),\n ...(options.deploymentId ? { deploymentId: options.deploymentId } : {}),\n };\n}\n","import type { CheckResult, VerifyOptions } from \"./types\";\n\nexport async function reset(options: VerifyOptions): Promise<CheckResult> {\n const started = performance.now();\n try {\n const response = await fetch(new URL(\"/test/reset\", options.url), {\n method: \"POST\",\n headers: {\n Authorization: `Bearer ${options.key}`,\n \"Content-Type\": \"application/json\",\n },\n body: JSON.stringify({ store: options.store }),\n ...(options.signal ? { signal: options.signal } : {}),\n });\n if (response.ok) {\n return {\n id: \"RESET\",\n title: \"Reset test data\",\n result: \"passed\",\n durationMs: performance.now() - started,\n };\n }\n } catch {\n // An unavailable reset is recorded below; it never blocks read-only checks.\n }\n return {\n id: \"RESET\",\n title: \"Reset test data\",\n result: \"skipped\",\n durationMs: performance.now() - started,\n error: {\n code: \"reset_unavailable\",\n message: \"POST /test/reset is not available.\",\n hint: \"Add the PRD 09 /test/reset endpoint so each verification run starts with fresh test data.\",\n },\n };\n}\n","// Builds replace __ZAPPIE_VERIFY_VERSION__ with the version in package.json. Code run straight\n// from source, such as a plain Node script, has no build step and gets the\n// development label instead.\ndeclare const __ZAPPIE_VERIFY_VERSION__: string | undefined;\n\n/** The installed @zappie/verify version. */\nexport const PACKAGE_VERSION: string =\n typeof __ZAPPIE_VERIFY_VERSION__ === \"string\"\n ? __ZAPPIE_VERIFY_VERSION__\n : \"0.0.0-development\";\n","import { VerifyError } from \"./error\";\nimport { startLocalPreview } from \"./local-preview\";\nimport { readStore } from \"./project-config\";\nimport { runVerify } from \"./runner\";\nimport type { VerifyProjectOptions } from \"./types\";\n\nexport async function verifyProject(options: VerifyProjectOptions) {\n const store = options.store ?? (await readStore(options.cwd));\n let preview: Awaited<ReturnType<typeof startLocalPreview>> | undefined;\n try {\n preview = options.url\n ? undefined\n : await startLocalPreview({\n cwd: options.cwd,\n key: options.key,\n store,\n packageManager: options.packageManager,\n ...(options.signal ? { signal: options.signal } : {}),\n });\n return await runVerify({\n url: normalizeUrl(options.url ?? preview?.url),\n store,\n key: options.key,\n suite: options.suite,\n runner: \"cli\",\n ...(options.only ? { only: options.only } : {}),\n ...(options.viewports ? { viewports: options.viewports } : {}),\n ...(options.artifactsDir ? { artifactsDir: options.artifactsDir } : {}),\n ...(options.timeoutMs ? { timeoutMs: options.timeoutMs } : {}),\n ...(options.signal ? { signal: options.signal } : {}),\n ...(options.onProgress ? { onProgress: options.onProgress } : {}),\n ...(options.signingKey ? { signingKey: options.signingKey } : {}),\n // A preview started here has no site host in front of it.\n ...(preview ? { standInForPlatform: true } : {}),\n });\n } finally {\n await preview?.close();\n }\n}\n\nfunction normalizeUrl(value: string | undefined) {\n try {\n const url = new URL(value ?? \"\");\n if (url.protocol !== \"http:\" && url.protocol !== \"https:\") {\n throw new Error(\"protocol\");\n }\n return url.href;\n } catch {\n throw new VerifyError(\n \"invalid_url\",\n \"Verify needs an http(s) storefront URL\",\n \"Pass a valid URL or run the command from a supported project.\",\n );\n }\n}\n","export { VerifyError } from \"./error\";\nexport { verifyProject } from \"./project\";\nexport { printSummary } from \"./report\";\nexport type {\n CheckResult,\n PackageManager,\n VerifyOptions,\n VerifyProjectOptions,\n VerifyReport,\n} from \"./types\";\nimport { runVerify } from \"./runner\";\nimport type { VerifyOptions } from \"./types\";\n\nexport function verify(options: VerifyOptions) {\n return runVerify(options);\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAAO,IAAM,cAAN,cAA0B,MAAM;AAAA,EACrC,YACW,MACT,SACS,MACT;AACA,UAAM,OAAO;AAJJ;AAEA;AAGT,SAAK,OAAO;AAAA,EACd;AACF;AAEO,SAAS,UACd,WACA,MACA,SACA,MACmB;AACnB,MAAI,CAAC,WAAW;AACd,UAAM,IAAI,YAAY,MAAM,SAAS,IAAI;AAAA,EAC3C;AACF;;;ACpBA,SAAS,aAAgC;AACzC,SAAS,gBAAgB;AACzB,OAAO,UAAU;;;ACFjB,SAAS,oBAAoB;AAYtB,SAAS,SACd,SACA,QACA,MACA;AACA,MAAI,YAAY,OAAO;AACrB,WAAO,EAAE,YAAY,OAAO,MAAM,CAAC,QAAQ,QAAQ,MAAM,QAAQ,GAAG,IAAI,EAAE;AAAA,EAC5E;AACA,MAAI,YAAY,QAAQ;AACtB,WAAO,EAAE,YAAY,QAAQ,MAAM,CAAC,QAAQ,QAAQ,GAAG,IAAI,EAAE;AAAA,EAC/D;AACA,MAAI,YAAY,OAAO;AACrB,WAAO,EAAE,YAAY,OAAO,MAAM,CAAC,KAAK,gBAAgB,QAAQ,GAAG,IAAI,EAAE;AAAA,EAC3E;AACA,SAAO,EAAE,YAAY,QAAQ,MAAM,CAAC,QAAQ,QAAQ,GAAG,IAAI,EAAE;AAC/D;AAEO,SAAS,WAAW;AACzB,SAAO,IAAI,QAAgB,CAAC,SAAS,WAAW;AAC9C,UAAM,SAAS,aAAa;AAC5B,WAAO,KAAK,SAAS,MAAM;AAC3B,WAAO,OAAO,GAAG,aAAa,MAAM;AAClC,YAAM,UAAU,OAAO,QAAQ;AAC/B,aAAO;AAAA,QAAM,MACX,OAAO,YAAY,YAAY,UAC3B,QAAQ,QAAQ,IAAI,IACpB,OAAO,IAAI,MAAM,4BAA4B,CAAC;AAAA,MACpD;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AACH;AAEO,IAAM,aAAa,CAAC,UACzB,MAAM,KAAK,EAAE,MAAM,IAAI,EAAE,MAAM,GAAG,EAAE,KAAK,IAAI;;;ADlC/C,eAAsB,kBAAkB,SAA8B;AACpE,QAAM,WAAW,KAAK;AAAA,IACpB,MAAM,SAAS,KAAK,KAAK,QAAQ,KAAK,cAAc,GAAG,MAAM;AAAA,EAC/D;AACA,QAAM,WAAW,EAAE,GAAG,SAAS,cAAc,GAAG,SAAS,gBAAgB;AACzE,QAAM,YAAY,SAAS,cAAc,IACrC,iBACA,SAAS,OACP,SACA;AACN,MAAI,CAAC,aAAc,cAAc,kBAAkB,CAAC,SAAS,UAAW;AACtE,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,QAAM;AAAA,IACJ;AAAA,IACA,SAAS,QAAQ,gBAAgB,WAAW,CAAC,OAAO,CAAC;AAAA,IACrD;AAAA,EACF;AACA,QAAM,OAAO,MAAM,SAAS;AAC5B,QAAM,UAAU,eAAe,SAAS,WAAW,IAAI;AACvD,QAAM,QAAQ,MAAM,QAAQ,YAAY,QAAQ,MAAM;AAAA,IACpD,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ,eAAe,QAAQ;AAAA,IACpC,UAAU,QAAQ,aAAa;AAAA,IAC/B,OAAO,CAAC,UAAU,QAAQ,MAAM;AAAA,EAClC,CAAC;AACD,MAAI,SAAS;AACb,QAAM,QAAQ,GAAG,QAAQ,CAAC,UAAW,UAAU,OAAO,KAAK,CAAE;AAC7D,QAAM,QAAQ,GAAG,QAAQ,CAAC,UAAW,UAAU,OAAO,KAAK,CAAE;AAC7D,QAAM,QAAQ,MAAM,KAAK,KAAK,KAAK;AACnC,UAAQ,QAAQ,iBAAiB,SAAS,OAAO,EAAE,MAAM,KAAK,CAAC;AAC/D,QAAM,MAAM,oBAAoB,IAAI;AACpC,MAAI;AACF,UAAM,MAAM,KAAK,OAAO,QAAQ,QAAQ,MAAM,MAAM;AAAA,EACtD,SAAS,OAAO;AACd,UAAM,KAAK,KAAK;AAChB,YAAQ,QAAQ,oBAAoB,SAAS,KAAK;AAClD,UAAM;AAAA,EACR;AACA,SAAO;AAAA,IACL;AAAA,IACA,OAAO,YAAY;AACjB,cAAQ,QAAQ,oBAAoB,SAAS,KAAK;AAClD,YAAM,KAAK,KAAK;AAAA,IAClB;AAAA,EACF;AACF;AAEA,SAAS,eACP,SACA,WACA,MACA;AACA,MAAI,cAAc,QAAQ;AACxB,WAAO,SAAS,QAAQ,gBAAgB,QAAQ;AAAA,MAC9C;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,OAAO,IAAI;AAAA,MACX;AAAA,IACF,CAAC;AAAA,EACH;AACA,QAAM,OAAO;AAAA,IACX;AAAA,IACA;AAAA,IACA,OAAO,IAAI;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,aAAW,CAAC,MAAM,KAAK,KAAK,OAAO,QAAQ;AAAA,IACzC,YAAY,QAAQ;AAAA,IACpB,cAAc,QAAQ;AAAA,IACtB,YAAY,QAAQ,aAAa,cAAc,QAAQ,IAAI;AAAA,IAC3D,eACE,QAAQ,aAAa,iBAAiB,QAAQ,IAAI;AAAA,IACpD,eACE,QAAQ,aAAa,iBAAiB,QAAQ,IAAI;AAAA,EACtD,CAAC,GAAG;AACF,QAAI,OAAO;AACT,WAAK,KAAK,SAAS,GAAG,IAAI,IAAI,KAAK,EAAE;AAAA,IACvC;AAAA,EACF;AACA,SAAO,SAAS,QAAQ,gBAAgB,YAAY,IAAI;AAC1D;AAEA,eAAe,IACb,SACA,SACAA,QACA;AACA,QAAM,QAAQ,MAAM,QAAQ,YAAY,QAAQ,MAAM;AAAA,IACpD,KAAK,QAAQ;AAAA,IACb,KAAK,QAAQ,eAAe,QAAQ;AAAA,IACpC,QAAQ,QAAQ;AAAA,IAChB,OAAO,CAAC,UAAU,QAAQ,MAAM;AAAA,EAClC,CAAC;AACD,MAAI,SAAS;AACb,QAAM,OAAO,GAAG,QAAQ,CAAC,UAAW,UAAU,OAAO,KAAK,CAAE;AAC5D,QAAM,OAAO,GAAG,QAAQ,CAAC,UAAW,UAAU,OAAO,KAAK,CAAE;AAC5D,QAAM,OAAO,MAAM,IAAI,QAAgB,CAAC,SAAS,WAAW;AAC1D,UAAM,KAAK,SAAS,MAAM;AAC1B,UAAM,KAAK,SAAS,CAAC,UAAU,QAAQ,SAAS,CAAC,CAAC;AAAA,EACpD,CAAC;AACD,MAAI,SAAS,GAAG;AACd,UAAM,IAAI;AAAA,MACR,GAAGA,MAAK;AAAA,MACR,GAAGA,MAAK;AAAA,EAAa,WAAW,MAAM,CAAC;AAAA,MACvC,mBAAmBA,MAAK;AAAA,IAC1B;AAAA,EACF;AACF;AAEA,eAAe,MACb,KACA,OACAC,SACA,QACA;AACA,QAAM,UAAU,KAAK,IAAI,IAAI;AAC7B,SAAO,KAAK,IAAI,IAAI,SAAS;AAC3B,IAAAA,SAAQ,eAAe;AACvB,QAAI,MAAM,aAAa,MAAM;AAC3B,YAAM,IAAI;AAAA,QACR;AAAA,QACA;AAAA,EAAwC,WAAW,OAAO,CAAC,CAAC;AAAA,QAC5D;AAAA,MACF;AAAA,IACF;AACA,QAAI;AACF,YAAM,WAAW,MAAM,MAAM,KAAKA,UAAS,EAAE,QAAAA,QAAO,IAAI,CAAC,CAAC;AAC1D,UAAI,SAAS,SAAS,KAAK;AACzB;AAAA,MACF;AAAA,IACF,SAAS,OAAO;AACd,UAAIA,SAAQ,SAAS;AACnB,cAAM;AAAA,MACR;AAAA,IACF;AACA,UAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAG,CAAC;AAAA,EACzD;AACA,QAAM,IAAI;AAAA,IACR;AAAA,IACA;AAAA,EAAkC,WAAW,OAAO,CAAC,CAAC;AAAA,IACtD;AAAA,EACF;AACF;AAEA,eAAe,KAAK,OAAqB;AACvC,MAAI,MAAM,aAAa,QAAQ,CAAC,MAAM,KAAK;AACzC;AAAA,EACF;AACA,SAAO,OAAO,SAAS;AACvB,QAAM,QAAQ,KAAK;AAAA,IACjB,IAAI,QAAQ,CAAC,YAAY,MAAM,KAAK,SAAS,OAAO,CAAC;AAAA,IACrD,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAK,CAAC;AAAA,EACrD,CAAC;AACD,MAAI,MAAM,aAAa,MAAM;AAC3B,WAAO,OAAO,SAAS;AAAA,EACzB;AACF;AAEA,SAAS,OAAO,OAAqB,OAAuB;AAC1D,MAAI;AACF,QAAI,QAAQ,aAAa,SAAS;AAChC,YAAM,KAAK,KAAK;AAAA,IAClB,WAAW,MAAM,KAAK;AACpB,cAAQ,KAAK,CAAC,MAAM,KAAK,KAAK;AAAA,IAChC;AAAA,EACF,SAAS,OAAO;AACd,QAAI,EACF,iBAAiB,SACjB,UAAU,SACV,MAAM,SAAS,UACd;AACD,YAAM;AAAA,IACR;AAAA,EACF;AACF;;;AEpMA,SAAS,YAAAC,WAAU,YAAY;AAC/B,OAAOC,WAAU;AACjB,SAAS,qBAAqB;AAGvB,SAAS,yBAAyB,UAAU,QAAQ,SAAS,MAAM;AACxE,QAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC,IAAI,QAAQ,MAAM,GAAG,EAAE,IAAI,MAAM;AAC5D,SAAO,QAAQ,MAAO,UAAU,MAAM,SAAS;AACjD;AAEA,eAAsB,UAAU,KAAa;AAC3C,MAAI,CAAC,yBAAyB,GAAG;AAC/B,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,OAAOC,MAAK,KAAK,KAAK,kBAAkB;AAC9C,MAAI;AACF,UAAM,WAAW,MAAM,KAAK,IAAI,GAAG;AACnC,UAAMC,UAAS,MAAM,MAAM;AAC3B,UAAM,SAAU,MAAM,OACpB,GAAG,cAAc,IAAI,EAAE,IAAI,WAAW,OAAO;AAE/C,UAAM,QAAQ,OAAO;AACrB,QACE,SACA,OAAO,UAAU,YACjB,WAAW,SACX,OAAO,MAAM,UAAU,UACvB;AACA,aAAO,MAAM;AAAA,IACf;AAAA,EACF,SAAS,OAAO;AACd,UAAM,UAAU,iBAAiB,QAAQ,MAAM,UAAU,OAAO,KAAK;AACrE,UAAM,IAAI;AAAA,MACR;AAAA,MACA,oCAAoC,OAAO;AAAA,MAC3C;AAAA,IACF;AAAA,EACF;AACA,QAAM,IAAI;AAAA,IACR;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;;;AC/CA,SAAS,UAAU,cAAc;AACjC,SAAS,aAAa;AACtB,OAAOC,WAAU;;;ACCjB,eAAsB,KAAK,MAAYC,QAAO,KAAK;AACjD,QAAM,WAAW,MAAM,KAAK,KAAKA,OAAM,EAAE,WAAW,mBAAmB,CAAC;AACxE;AAAA,IACE,UAAU,OAAO,MAAM;AAAA,IACvB;AAAA,IACA,GAAGA,KAAI,aAAa,UAAU,OAAO,KAAK,oBAAoB;AAAA,IAC9D;AAAA,EACF;AACF;AAEA,eAAsB,WAAc,MAAY,YAAqB;AACnE,QAAM,KAAK,gBAAgB,MAAM,QAAQ,OAAO,QAAQ,CAAC;AACzD,SAAO,KAAK,SAAS,UAAU;AACjC;AAEO,IAAM,SAAS,EAAE,OAAO,KAAK,QAAQ,IAAI;AACzC,IAAM,UAAU,EAAE,OAAO,MAAM,QAAQ,IAAI;AAElD,eAAsB,kBAAkB,MAAiC;AACvE,QAAM,MAAM,MAAM,KAAK,QAAQ,EAAE,cAAc,IAAI;AACnD,QAAM,IAAI,KAAK,gBAAgB;AAC/B,QAAM,IAAI,KAAK,4BAA4B,EAAE,eAAe,KAAK,CAAC;AAClE,QAAM,IAAI,KAAK,oCAAoC;AAAA,IACjD,SAAS;AAAA,IACT,SAAS;AAAA,IACT,oBAAoB;AAAA,IACpB,kBAAkB;AAAA,IAClB,gBAAgB;AAAA,EAClB,CAAC;AACD,QAAM,IAAI,KAAK,kCAAkC,EAAE,MAAM,EAAE,CAAC;AAC5D,SAAO;AACT;;;AC9BO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,QAAQ,GAAG,UAAU;AACrC,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAMC,UAAmB,CAAC;AAC1B,UAAM,cAAc,CAAC,UAAiBA,QAAO,KAAK,MAAM,OAAO;AAC/D,UAAM,YAAY,CAAC,YAAgD;AACjE,UAAI,QAAQ,KAAK,MAAM,WAAW,CAAC,gBAAgB,KAAK,QAAQ,KAAK,CAAC,GAAG;AACvE,QAAAA,QAAO,KAAK,QAAQ,KAAK,CAAC;AAAA,MAC5B;AAAA,IACF;AACA,SAAK,GAAG,aAAa,WAAW;AAChC,SAAK,GAAG,WAAW,SAAS;AAC5B,UAAM,QAAQ,oBAAI,IAAI,CAAC,GAAG,CAAC;AAC3B,UAAM,UAAU,MAAM,KAAK,QAAQ;AAAA,MACjC,IAAI,IAAI,gBAAgB,QAAQ,GAAG,EAAE;AAAA,IACvC;AACA,QAAI,QAAQ,GAAG,GAAG;AAChB,iBAAW,UAAU,MAAM,QAAQ,KAAK,GAAG;AAAA,QACzC;AAAA,MACF,GAAG;AACD,cAAM,IAAI,IAAI,IAAI,MAAM,CAAC,CAAE,EAAE,QAAQ;AAAA,MACvC;AAAA,IACF;AACA,eAAWC,SAAQ,CAAC,GAAG,KAAK,EAAE,KAAK,GAAG;AACpC,YAAM,KAAK,MAAMA,KAAI;AAAA,IACvB;AACA,SAAK,IAAI,aAAa,WAAW;AACjC,SAAK,IAAI,WAAW,SAAS;AAC7B;AAAA,MACED,QAAO,WAAW;AAAA,MAClB;AAAA,MACAA,QAAO,CAAC,KAAK;AAAA,MACb;AAAA,IACF;AAAA,EACF;AACF;;;ACtCO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,QAAQ,GAAG,UAAU;AACrC,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,KAAK,IAAI;AACf,UAAM,QAAQ,MAAM,WAAW,MAAM,OAAO;AAAA,MAC1C,OAAO,OAAO,UAAU;AAAA,MACxB,SAAS,OAAO,UAAU;AAAA,IAC5B,EAAE;AACF;AAAA,MACE,MAAM,UAAU,QAAQ;AAAA,MACxB;AAAA,MACA,gBAAgB,MAAM,SAAS,SAAS,cAAc,QAAQ,KAAK;AAAA,MACnE;AAAA,IACF;AACA;AAAA,MACE,OAAO,KAAK,MAAM,WAAW,EAAE;AAAA,MAC/B;AAAA,MACA,2BAA2B,MAAM,WAAW,SAAS;AAAA,MACrD;AAAA,IACF;AAAA,EACF;AACF;;;ACzBA,eAAsB,aAAa,MAAY,OAAe;AAC5D,MAAI,CAAC,OAAO;AACV;AAAA,EACF;AACA,MAAI,UAAU,mBAAmB;AAC/B,UAAM,KAAK,MAAM,wBAAwB,OAAO,UAAU;AACxD,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,IAAK,CAAC;AACzD,YAAM,MAAM,SAAS;AAAA,IACvB,CAAC;AAAA,EACH;AACA,MAAI,UAAU,mBAAmB,UAAU,eAAe;AAExD,UAAM,KAAK;AAAA,MAAM;AAAA,MAA+B,CAAC,UAC/C,MAAM,QAAQ,EAAE,QAAQ,EAAE,aAAa,MAAM,aACzC,MAAM,MAAM,IACZ,MAAM,SAAS;AAAA,IACrB;AAAA,EACF;AACA,MAAI,UAAU,eAAe;AAE3B,UAAM,KAAK,MAAM,wCAAwC,OAAO,UAAU;AACxE,YAAM,IAAI,QAAQ,CAAC,YAAY,WAAW,SAAS,GAAM,CAAC;AAC1D,YAAM,MAAM,SAAS;AAAA,IACvB,CAAC;AAAA,EACH;AACA,MAAI,UAAU,sBAAsB;AAClC,UAAM,KAAK,cAAc,MAAM;AAC7B,YAAM,kBAAkB,MAAM;AAC5B,YAAI,SAAS,aAAa,KAAK;AAC7B;AAAA,QACF;AACA,mBAAW,QAAQ,SAAS;AAAA,UAC1B;AAAA,QACF,GAAG;AACD,eAAK,OAAO;AAAA,QACd;AAAA,MACF;AACA,UAAI,iBAAiB,eAAe,EAAE,QAAQ,UAAU;AAAA,QACtD,WAAW;AAAA,QACX,SAAS;AAAA,MACX,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AACA,MAAI,UAAU,eAAe;AAC3B,UAAM,KAAK,cAAc,MAAM;AAC7B,UAAI;AACJ,aAAO,eAAe,QAAQ,YAAY;AAAA,QACxC,cAAc;AAAA,QACd,KAAK,MAAM;AAAA,QACX,IAAI,OAA2B;AAC7B,kBAAQ;AACR,cAAI,OAAO;AACT,kBAAM,YAAY,MAAM;AACxB,kBAAM,YAAY,YAAY;AAC5B,oBAAM,SAAS,MAAM,UAAU;AAC/B,qBAAO;AAAA,gBACL,GAAG;AAAA,gBACH,MAAM;AAAA,kBACJ,GAAG,OAAO;AAAA,kBACV,OAAO,OAAO;AAAA,oBACZ,OAAO,QAAQ,OAAO,KAAK,KAAK,EAAE;AAAA,sBAChC,CAAC,CAAC,EAAE,IAAI,MAAM,KAAK;AAAA,oBACrB;AAAA,kBACF;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AAAA,EACH;AAEA,MAAI,UAAU,aAAa;AACzB,UAAM,KAAK,cAAc,MAAM;AAC7B,eAAS;AAAA,QACP;AAAA,QACA,CAAC,UAAU;AACT,gBAAME,UAAS,MAAM;AACrB,cAAIA,SAAQ,QAAQ,oCAAoC,GAAG;AACzD,kBAAM,yBAAyB;AAC/B,kBAAM,eAAe;AAAA,UACvB;AAAA,QACF;AAAA,QACA;AAAA,MACF;AAAA,IACF,CAAC;AAAA,EACH;AACA,MAAI,UAAU,qBAAqB;AACjC,UAAM,KAAK,cAAc,MAAM;AAC7B,UAAI,iBAAiB,MAAM;AACzB,mBAAW,QAAQ,SAAS;AAAA,UAC1B;AAAA,QACF,GAAG;AACD,eAAK,gBAAgB,uBAAuB;AAAA,QAC9C;AAAA,MACF,CAAC,EAAE,QAAQ,UAAU,EAAE,WAAW,MAAM,SAAS,KAAK,CAAC;AAAA,IACzD,CAAC;AAAA,EACH;AACA,MAAI,UAAU,eAAe;AAC3B,UAAM,KAAK,cAAc,MAAM;AAC7B,UAAI,iBAAiB,MAAM;AACzB,mBAAW,QAAQ,SAAS,iBAAiB,qBAAqB,GAAG;AACnE,cAAI,KAAK,gBAAgB,iBAAY;AACnC,iBAAK,cAAc;AAAA,UACrB;AAAA,QACF;AAAA,MACF,CAAC,EAAE,QAAQ,UAAU,EAAE,WAAW,MAAM,SAAS,KAAK,CAAC;AAAA,IACzD,CAAC;AAAA,EACH;AACF;AAEA,eAAsB,eAAe,MAAY,OAAe;AAC9D,MAAI,UAAU,sBAAsB;AAClC,UAAM,KACH,QAAQ,uDAAuD,EAC/D,YAAY,CAAC,UAAU;AACtB,iBAAW,QAAQ,OAAO;AACxB,aAAK,OAAO;AAAA,MACd;AAAA,IACF,CAAC;AAAA,EACL;AACA,MAAI,UAAU,kBAAkB;AAC9B,UAAM,KAAK,QAAQ,oBAAoB,EAAE,YAAY,CAAC,UAAU;AAC9D,iBAAW,QAAQ,OAAO;AACxB,aAAK,gBAAgB,kBAAkB;AAAA,MACzC;AAAA,IACF,CAAC;AAAA,EACH;AACA,MAAI,UAAU,OAAO;AACnB,UAAM,KAAK,SAAS,MAAM;AACxB,YAAM,SAAS,SAAS,cAAc,QAAQ;AAC9C,aAAO,MAAM,QAAQ;AACrB,aAAO,MAAM,aAAa;AAC1B,eAAS,KAAK,OAAO,MAAM;AAAA,IAC7B,CAAC;AAAA,EACH;AACA,MAAI,UAAU,aAAa;AACzB,QAAI,QAAQ;AACZ,UAAM,UAAU,MAAM,KAAK,EAAE,QAAQ,KAAQ,GAAG,MAAM;AACpD,cAAS,QAAQ,QAAU;AAC3B,aAAO,OAAO,aAAa,KAAM,QAAQ,EAAG;AAAA,IAC9C,CAAC,EAAE,KAAK,EAAE;AACV,UAAM,KAAK;AAAA,MAAM;AAAA,MAAwB,CAAC,UACxC,MAAM,QAAQ;AAAA,QACZ,aAAa;AAAA,QACb,MAAM,wBAAwB,KAAK,UAAU,OAAO,CAAC;AAAA,MACvD,CAAC;AAAA,IACH;AAAA,EACF;AACF;;;ACrJA,eAAsB,SAAS,SAAuC;AACpE,QAAM,SAAS,aAAa;AAAA,IAC1B,OAAO,QAAQ;AAAA,IACf,KAAK,QAAQ;AAAA,IACb,GAAI,QAAQ,IAAI,wBACZ,EAAE,SAAS,QAAQ,IAAI,sBAAsB,IAC7C,CAAC;AAAA,EACP,CAAC;AACD,QAAM,QAAQ,MAAM,OAAO,MAAM,IAAI;AACrC,QAAM,SACJ,MAAM,SAAS,KAAK,CAAC,UAAU,MAAM,SAAS,KAAK,MAAM,SAAS,CAAC;AACrE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACA,SAAO,OAAO,KAAK,IAAI,EAAE,QAAQ,OAAO,GAAG,CAAC;AAC9C;AAEO,SAAS,YAAY,MAAoB;AAC9C,SAAO,OAAO,OAAO,KAAK,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC;AAC1E;AAEO,SAAS,WAAW,MAA8B;AACvD,SAAO,YAAY,IAAI,EAAE;AAAA,IACvB,CAAC,SACC,KAAK,eAAe,CAAC,KAAK,aAAa,KAAK,CAAC,UAAU,MAAM,QAAQ;AAAA,EACzE;AACF;AAEO,SAAS,iBAAiB,MAA8B;AAC7D,SAAO,YAAY,IAAI,EAAE;AAAA,IACvB,CAAC,SACC,KAAK,eAAe,KAAK,aAAa,KAAK,CAAC,UAAU,MAAM,QAAQ;AAAA,EACxE;AACF;;;ACtCO,SAAS,aAAa,OAAe,UAAuB;AACjE,QAAM,YAAY,MAAM,OAAO,CAAC,SAAS,KAAK,WAAW;AACzD,QAAM,QAAQ,UAAU,OAAO,CAAC,SAAS,SAAS,IAAI,KAAK,EAAE,CAAC,EAAE;AAChE,SAAO;AAAA,IACL,WAAW,UAAU;AAAA,IACrB;AAAA,IACA,QAAQ,UAAU,WAAW,KAAK,QAAQ,UAAU,UAAU;AAAA,EAChE;AACF;AAEO,SAAS,aAAa,MAAqB,WAAmB;AACnE,SAAO,MAAM,SAAS,SAAS,KAAK;AACtC;;;ACNO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,SAAS,MAAM,GAAG,UAAU;AAC5C,UAAM,OAAO,MAAM,SAAS,OAAO;AACnC,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,KAAK,IAAI;AACf,UAAM,eAAe,MAAM,KAAK;AAChC,UAAM,QAAQ,YAAY,IAAI;AAC9B,UAAM,YAAY,MAAM,OAAO,CAAC,SAAS,KAAK,WAAW;AACzD,UAAM,WAAW,oBAAI,IAAY;AACjC,eAAW,QAAQ,WAAW;AAC5B,YAAM,SAAS,KAAK,QAAQ,sBAAsB,KAAK,EAAE,IAAI;AAC7D,UACG,MAAM,OAAO,MAAM,IAAK,KACxB,MAAM,KAAK,UAAU,KAAK,MAAM,EAAE,OAAO,KAAK,CAAC,EAAE,MAAM,IAAK,GAC7D;AACA,iBAAS,IAAI,KAAK,EAAE;AAAA,MACtB;AAAA,IACF;AACA,UAAM,WAAW,aAAa,OAAO,QAAQ;AAC7C;AAAA,MACE,SAAS;AAAA,MACT;AAAA,MACA,kBAAkB,SAAS,KAAK,OAAO,SAAS,SAAS;AAAA,MACzD;AAAA,IACF;AACA;AAAA,MACE,MAAM,KAAK,QAAQ,oBAAoB,EAAE,MAAM;AAAA,MAC/C;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,eAAW,QAAQ,MAAM,OAAO,CAAC,UAAU,CAAC,MAAM,WAAW,GAAG;AAC9D,YAAM,MAAM,KAAK;AAAA,QACf,sBAAsB,KAAK,EAAE;AAAA,MAC/B;AACA,UAAI,MAAM,IAAI,MAAM,GAAG;AACrB;AAAA,UACE,MAAM,IAAI,WAAW;AAAA,UACrB;AAAA,UACA,yCAAyC,KAAK,IAAI;AAAA,UAClD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AACA,eAAW,QAAQ,UAAU,MAAM,GAAG,CAAC,GAAG;AACxC,YAAM,OAAO,MAAM,KAChB,QAAQ,sBAAsB,KAAK,EAAE,IAAI,EACzC,MAAM,EACN,YAAY;AACf;AAAA,QACE,aAAa,MAAM,OAAO,MAAM,KAAK,KAAK,CAAC;AAAA,QAC3C;AAAA,QACA,GAAG,KAAK,IAAI,kBAAkB,OAAO,MAAM,KAAK,KAAK,CAAC;AAAA,QACtD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;;;AC9DO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,SAAS,MAAM,GAAG,UAAU;AAC5C,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,KAAK,IAAI;AACf,UAAM,eAAe,MAAM,KAAK;AAChC,UAAM,SAAS,MAAM,WAAW,MAAM,MAAM,OAAO,SAAU,KAAK,EAAE,KAAK;AACzE,UAAM,KAAK,SAAS,MAAM;AACxB,aAAO,oBAAoB,CAAC;AAC5B,aAAO,iBAAiB,gBAAgB,CAACC,WAAU;AACjD,eAAO,kBAAmB;AAAA,UACvBA,OAAwC;AAAA,QAC3C;AAAA,MACF,CAAC;AAAA,IACH,CAAC;AACD,UAAM,OAAO,WAAW,MAAM,SAAS,OAAO,CAAC;AAC/C;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,QAAI,aAAa;AACjB,QAAI,SAAS,KACV,QAAQ,sBAAsB,KAAK,EAAE,IAAI,EACzC,QAAQ,oCAAoC;AAC/C,QAAI,CAAE,MAAM,OAAO,MAAM,GAAI;AAC3B,YAAM,WAAW,KACd;AAAA,QACC,sBAAsB,KAAK,EAAE,6CAA6C,KAAK,EAAE,sBAAsB,KAAK,EAAE;AAAA,MAChH,EACC,MAAM;AACT;AAAA,QACE,MAAM,SAAS,MAAM;AAAA,QACrB;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,YAAM,SAAS,MAAM;AACrB,mBAAa;AACb,eAAS,KACN;AAAA,QACC;AAAA,MACF,EACC,MAAM;AACT,YAAM,OACH,QAAQ,EAAE,OAAO,WAAW,SAAS,IAAM,CAAC,EAC5C,MAAM,MAAM;AAAA,MAAC,CAAC;AACjB;AAAA,QACE,MAAM,OAAO,MAAM;AAAA,QACnB;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IACF;AACA,UAAM,OAAO,MAAM;AACnB,UAAM,UAAU,aACZ,MAAM,KACH;AAAA,MACC,MACE,OAAO,kBAAmB;AAAA,QACxB,CAAC,UAAU,MAAM,SAAS;AAAA,MAC5B;AAAA,MACF;AAAA,MACA,EAAE,SAAS,IAAM;AAAA,IACnB,EACC;AAAA,MACC,MAAM;AAAA,MACN,MAAM;AAAA,IACR,IACF,MAAM,KAAK;AAAA,MACT,CAAC,UACC,IAAI,QAAiB,CAAC,YAAY;AAChC,8BAAsB,MAAM;AAC1B,kBAAQ,OAAO,SAAU,KAAK,EAAE,QAAQ,KAAK;AAAA,QAC/C,CAAC;AAAA,MACH,CAAC;AAAA,MACH;AAAA,IACF;AACJ;AAAA,MACE;AAAA,MACA;AAAA,MACA,aACI,mDACA;AAAA,MACJ;AAAA,IACF;AACA,UAAM,QAAQ,MAAM,KAAK;AAAA,MAAS,MAChC,OAAO,kBAAmB,KAAK,CAAC,UAAU,MAAM,SAAS,aAAa;AAAA,IACxE;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;ACpGO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,QAAQ,GAAG,UAAU;AACrC,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,KAAK,IAAI;AACf,UAAM,WAAW,iBAAiB,MAAM,SAAS,OAAO,CAAC;AACzD;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,OAAO,KAAK,QAAQ,sBAAsB,SAAS,EAAE,IAAI,EAAE,MAAM;AACvE,UAAM,KACH,QAAQ,UAAU,EAClB,UAAU,QAAQ,EAAE,MAAM,eAAe,CAAC,EAC1C,MAAM;AACT,UAAM,SAAS,KAAK,UAAU,QAAQ;AACtC,UAAM,OAAO,QAAQ;AACrB,UAAM,WAAW,OACd,QAAQ,kDAAkD,EAC1D,MAAM;AACT;AAAA,MACE,MAAM,SAAS,MAAM;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,SAAS,MAAM,WAAW,MAAM,MAAM,OAAO,SAAU,KAAK,EAAE,KAAK;AACzE,UAAM,MAAM,OAAO,QAAQ,oCAAoC;AAC/D;AAAA,MACE,MAAM,IAAI,WAAW;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,aAAS,QAAQ,GAAG,QAAQ,KAAM,MAAM,IAAI,WAAW,GAAI,SAAS;AAClE,YAAM,cAAc,OACjB;AAAA,QACC;AAAA,MACF,EACC,MAAM;AACT;AAAA,QACE,MAAM,YAAY,MAAM;AAAA,QACxB;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,YAAM,YACH,QAAQ,kDAAkD,EAC1D,MAAM,EACN,MAAM;AAAA,IACX;AACA;AAAA,MACE,MAAM,IAAI,UAAU;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,IAAI,MAAM;AAChB,UAAM,OAAO,QAAQ,EAAE,OAAO,SAAS,CAAC;AACxC,UAAM,KAAK;AAAA,MACT,CAAC,UAAU,OAAO,SAAU,KAAK,EAAE,QAAQ;AAAA,MAC3C;AAAA,IACF;AACA,UAAM,iBAAiB,MAAM,KAAK;AAAA,MAChC,CAAC,WACC,OACG,SAAU,KAAK,EACf,MAAM;AAAA,QACL,CAAC,SAAS,KAAK,WAAW,UAAU,KAAK,QAAQ,SAAS;AAAA,MAC5D;AAAA,MACJ,SAAS;AAAA,IACX;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;ACnFO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,KAAK,GAAG,UAAU;AAC5B,UAAM,KAAK,gBAAgB,QAAQ;AACnC,QAAI,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE,aAAa,KAAK;AACxC,YAAM,KAAK,IAAI;AAAA,IACjB;AACA,UAAM,QAAQ,KAAK,QAAQ,qBAAqB;AAChD,QAAI,CAAE,MAAM,MAAM,UAAU,GAAI;AAC9B,YAAM,KAAK,QAAQ,4BAA4B,EAAE,MAAM,EAAE,MAAM;AAAA,IACjE;AACA,UAAM,KAAK;AAAA,MACT,MAAM,OAAO,SAAU,OAAO,KAAK,CAAC,UAAU,MAAM,SAAS,OAAO;AAAA,MACpE;AAAA,MACA,EAAE,SAAS,IAAM;AAAA,IACnB;AACA,UAAM,QAAQ,MAAM,KAAK,SAAS,MAAM,OAAO,SAAU,MAAM,CAAC;AAChE;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,WAAW,MAAM,MAAM,YAAY;AACzC;AAAA,MACE,UAAU,SAAS,OAAO,MAAM,MAAM,KAAc,CAAC;AAAA,MACrD;AAAA,MACA,iCAAiC,OAAO,MAAM,MAAM,KAAc,CAAC;AAAA,MACnE;AAAA,IACF;AAAA,EACF;AACF;;;AC3BO,SAAS,cAAc,MAAY,QAAgB,MAAY;AACpE,aAAW,UAAU,KAAK,SAAS,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC,GAAG;AACpD,UAAM,SAAS,kBAAkB,MAAM,KAAK,IAAI,OAAO,EAAE;AACzD,QAAI,CAAC,QAAQ;AACX;AAAA,IACF;AACA,eAAW,WAAW,KAAK,SAAS,OAAO,CAAC,UAAU,MAAM,WAAW,GAAG;AACxE,YAAM,OAAsB;AAAA,QAC1B,QAAQ,KAAK;AAAA,QACb;AAAA,QACA,WAAW,QAAQ;AAAA,QACnB,UACE,KAAK,KAAK,KAAK,SAAS,MAAM,KAAK,SAAS,IAAI,IAChD,KAAK,SAAS;AAAA,QAChB,SAAS,OAAO,QAAQ,QAAQ,gBAAgB,EAAE;AAAA,UAChD,CAAC,CAAC,SAAS,QAAQ,OAAO,EAAE,SAAS,UAAU,UAAU,EAAE;AAAA,QAC7D;AAAA,QACA,QAAQ,CAAC;AAAA,MACX;AACA,eAAS,QAAQ,GAAG,SAAS,KAAK,aAAa,QAAQ,SAAS;AAC9D,cAAM,EAAE,OAAO,IAAI,YAAY,MAAM,IAAI;AACzC,mBAAW,SAAS,QAAQ;AAC1B,cAAI,MAAM,eAAe,MAAM,iBAAiB;AAC9C;AAAA,UACF;AACA,gBAAM,UAAU,KAAK,IAAI,MAAM,UAAU,KAAK,MAAM,WAAW,IAAI,CAAC;AACpE,cAAI,MAAM,SAAS,UAAU;AAC3B,kBAAM,WAAW,KAAK,QAAS;AAAA,cAC7B,CAAC,WAAW,OAAO,YAAY,MAAM;AAAA,YACvC;AACA,uBAAW,UAAU,MAAM,QAAQ;AAAA,cACjC,CAAC,UAAU,MAAM;AAAA,YACnB,GAAG;AACD,kBAAI,SAAS,UAAU,SAAS;AAC9B;AAAA,cACF;AACA,kBAAI,CAAC,SAAS,KAAK,CAAC,UAAU,MAAM,aAAa,OAAO,EAAE,GAAG;AAC3D,sBAAM,QAAQ;AAAA,kBACZ,SAAS,MAAM;AAAA,kBACf,UAAU,OAAO;AAAA,kBACjB,UAAU,OAAO,UAAU,OAAO;AAAA,gBACpC;AACA,qBAAK,QAAS,KAAK,KAAK;AACxB,yBAAS,KAAK,KAAK;AAAA,cACrB;AAAA,YACF;AAAA,UACF,WAAW,MAAM,UAAU;AACzB,kBAAM,SAAS;AAAA,cACb,QAAQ;AAAA,cACR,MAAM;AAAA,cACN,MAAM;AAAA,cACN,QAAQ;AAAA,cACR,MAAM;AAAA,YACR;AACA,iBAAK,OAAQ,MAAM,EAAE,IAAI,OAAO,MAAM,IAAI,EAAE;AAAA,cAC1C;AAAA,cACA,MAAM,OAAO;AAAA,YACf;AAAA,UACF;AAAA,QACF;AACA,YAAI,aAAa,MAAM,MAAM,EAAE,MAAM,OAAO,CAAC,EAAE,WAAW,GAAG;AAC3D,iBAAO;AAAA,YACL,GAAG;AAAA,YACH,WAAW,YAAY,MAAM,IAAI,EAAE;AAAA,UACrC;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;AC3EO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,KAAK,GAAG,UAAU;AAC5B,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,KAAK,IAAI;AACf,UAAM,KAAK,gBAAgB,MAAM,OAAO,UAAU,KAAK,EAAE,UAAU;AACnE,UAAM,QAAQ,MAAM,KAAK,SAAS,OAAO;AAAA,MACvC,QAAQ,OAAO,OAAO,UAAU,KAAK,WAAW;AAAA,MAChD,QAAQ,OAAO,UAAU,KAAK,EAAE;AAAA,IAClC,EAAE;AACF;AAAA,MACE,MAAM;AAAA,MACN;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,EAAE,MAAM,OAAO,IAAI,MAAM,KAAK;AAAA,MAAS,MAC3C,OAAO,SAAU,UAAU;AAAA,IAC7B;AACA,UAAM,QAAQ,OAAO,OAAO,KAAK,KAAK,EAAE;AAAA,MAAK,CAAC,GAAG,MAC/C,EAAE,GAAG,cAAc,EAAE,EAAE;AAAA,IACzB;AACA,UAAM,YAAY,MACf,OAAO,CAAC,SAAS,KAAK,WAAW,EACjC,IAAI,CAAC,SAAS,cAAc,MAAM,QAAQ,IAAI,CAAC,EAC/C,KAAK,CAAC,SAAS,SAAS,MAAS;AACpC;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,cAAc,MAAM,KAAK,CAAC,SAAS,CAAC,KAAK,WAAW;AAC1D,UAAM,QAAQ;AAAA,MACZ;AAAA,QACE,GAAG;AAAA,QACH,WAAW;AAAA,UACT,GAAG,UAAU;AAAA,UACb,aAAa,UAAU,UAAU,gBAAgB,IAAI,IAAI;AAAA,QAC3D;AAAA,MACF;AAAA,IACF;AACA,QAAI,aAAa;AACf,YAAM,UAAU,KAAK,SAAS,CAAC,EAAE,IAAI,KAAK,GAAG,CAAC,GAC3C,IAAI,CAAC,WAAW,kBAAkB,MAAM,YAAY,IAAI,OAAO,EAAE,CAAC,EAClE,KAAK,OAAO;AACf,YAAM,KAAK;AAAA,QACT,UAAU;AAAA,QACV,QAAQ,YAAY;AAAA,QACpB,GAAI,SAAS,EAAE,OAAO,IAAI,CAAC;AAAA,QAC3B,WAAW,YAAY,SAAS,CAAC,EAAE;AAAA,QACnC,SAAS,CAAC;AAAA,QACV,QAAQ,CAAC;AAAA,QACT,WAAW,YAAY,SAAS,CAAC,EAAE;AAAA,MACrC,CAAC;AAAA,IACH;AACA,UAAM,KAAK,SAAS,OAAOC,WAAU;AACnC,YAAM,OAAO,SAAU,KAAK,OAAO,EAAE,OAAAA,OAAM,CAAC;AAAA,IAC9C,GAAG,KAAK;AACR,UAAM,KAAK,OAAO,EAAE,WAAW,mBAAmB,CAAC;AACnD,UAAM,KAAK,QAAQ,4BAA4B,EAAE,MAAM,EAAE,MAAM;AAC/D,UAAM,QAAQ,cACV,CAAC,iBAAiB,kBAAkB,IACpC,CAAC,eAAe;AACpB,eAAW,QAAQ,OAAO;AACxB,YAAM,QAAQ,KAAK,QAAQ,uBAAuB,IAAI,IAAI,EAAE,MAAM;AAClE,YAAM,MAAM,QAAQ,EAAE,OAAO,UAAU,CAAC;AACxC;AAAA,QACE,MAAM,MAAM,UAAU;AAAA,QACtB;AAAA,QACA,0BAA0B,IAAI;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AACA,eAAW,QAAQ,OAAO;AACxB,YAAM,QAAQ,KAAK,QAAQ,uBAAuB,IAAI,IAAI,EAAE,MAAM;AAClE,YAAM,MAAM,MAAM,QAAQ,yBAAyB,EAAE,MAAM;AAC3D;AAAA,QACE,MAAM,IAAI,MAAM;AAAA,QAChB;AAAA,QACA,2BAA2B,IAAI;AAAA,QAC/B;AAAA,MACF;AACA,YAAM,IAAI,MAAM;AAChB,YAAM,MAAM,QAAQ,EAAE,OAAO,SAAS,CAAC;AAAA,IACzC;AACA,UAAM,KAAK,MAAM,WAAW;AAC5B,UAAM,KAAK,gBAAgB,MAAM;AAC/B,YAAM,OAAO,OAAO,UAAU,KAAK;AACnC,aACE,QACA,KAAK,OAAO,WAAW,KACvB,WAAW,KAAK,SAChB,KAAK,MAAM,OAAO,SAAS;AAAA,IAE/B,CAAC;AACD;AAAA,MACG,MAAM,KAAK,QAAQ,qBAAqB,EAAE,MAAM,MAAO;AAAA,MACxD;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,KAAK,gBAAgB,MAAM;AAC/B,YAAM,UAAU,SAAS;AAAA,QACvB;AAAA,MACF;AACA,aAAO,WAAW,CAAC,QAAQ;AAAA,IAC7B,CAAC;AACD;AAAA,MACE,MAAM,KAAK,QAAQ,wBAAwB,EAAE,UAAU;AAAA,MACvD;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AC7HO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,KAAK,GAAG,UAAU;AAC5B,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,KAAK,MAAM,WAAW;AAC5B,UAAM,SAAS,KAAK,QAAQ,mCAAmC;AAC/D,UAAM,OAAO,QAAQ;AACrB;AAAA,MACE,MAAM,OAAO,MAAM;AAAA,MACnB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,OAAO,MAAM;AACnB,UAAM,KAAK;AAAA,MACT,MAAM,OAAO,SAAU,KAAK,EAAE,YAAY,SAAS;AAAA,IACrD;AACA,UAAM,KAAK,gBAAgB,MAAM,QAAQ,OAAO,SAAU,MAAM,CAAC,CAAC;AAClE,UAAM,QAAQ,MAAM,WAAW,MAAM,MAAM,OAAO,SAAU,MAAM,CAAC;AACnE;AAAA,MACE,CAAC,OAAO,YAAY,MAAM,SAAS,gBAAgB;AAAA,MACnD;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;ACzBO,IAAM,cAAN,cAA0B,YAAY;AAAA,EAG3C,YACE,QACS,SACT,SACA,OACA,QACA;AACA,UAAM,gBAAgB,MAAM,GAAG,SAAS;AAAA,MACtC;AAAA,MACA,WAAW,WAAW,OAAO,UAAU;AAAA,MACvC,GAAI,UAAU,SAAY,EAAE,MAAM,IAAI,CAAC;AAAA,IACzC,CAAC;AATQ;AAUT,QAAI,WAAW,QAAW;AACxB,WAAK,SAAS;AAAA,IAChB;AAAA,EACF;AACF;;;ACrBO,SAAS,oBACd,MACA,KACA,SACA,SACe;AACf,SAAO,OAAUC,OAAc,OAAoB,CAAC,MAAkB;AACpE,UAAM,WAAW,MAAM;AAAA,MACrB;AAAA,MACA,OAAOA;AAAA,MACP;AAAA,QACE,GAAG;AAAA;AAAA,QAEH,UAAU;AAAA,QACV,SAAS;AAAA,UACP,eAAe,UAAU,GAAG;AAAA,UAC5B,kBAAkB;AAAA,UAClB,GAAG,KAAK;AAAA,QACV;AAAA,MACF;AAAA,MACA;AAAA,IACF;AACA,QAAI,CAAC,SAAS,IAAI;AAChB,YAAM,QAAQ,MAAM;AAAA,QAClB;AAAA,QACA,+BAA+B,SAAS,MAAM;AAAA,MAChD;AACA,YAAM,IAAI;AAAA,QACR,SAAS;AAAA,QACT,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,QACN,MAAM;AAAA,MACR;AAAA,IACF;AACA,WAAQ,MAAM,SAAS,KAAK;AAAA,EAC9B;AACF;;;ACxBA,IAAM,UAAU,MAAM,IAAI,aAAa,cAAc,YAAY;AAE1D,SAAS,oBACd,QACA,UAAgC,CAAC,GACjC;AACA,QAAM,aAAa,QAAQ,cAAc;AACzC,MAAI,QAAQ,OAAO,WAAW;AAC9B,MAAI;AACJ,MAAI;AACJ,MAAI;AACJ,MAAI,WAAW;AACf,QAAM,SAAS,MAAM;AACnB;AACA,QAAI,UAAU,QAAW;AACvB,mBAAa,KAAK;AAClB,cAAQ;AAAA,IACV;AACA,gBAAY,MAAM,QAAQ,CAAC;AAC3B,iBAAa;AACb,oBAAgB,QAAQ,CAAC;AACzB,oBAAgB;AAAA,EAClB;AACA,SAAO;AAAA,IACL,QAAQ,OAA2C;AACjD,aAAO;AACP,YAAM,UAAU;AAChB,UAAI,CAAC,MAAM,KAAK,GAAG;AACjB,eAAO,QAAQ,QAAQ,CAAC,CAAC;AAAA,MAC3B;AACA,aAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AACtC,wBAAgB;AAChB,gBAAQ,WAAW,YAAY;AAC7B,kBAAQ;AACR,uBAAa,IAAI,gBAAgB;AACjC,cAAI;AACF,kBAAM,QAAQ,MAAM,OAAO,aAAa,MAAM,KAAK,GAAG,OAAO;AAAA,cAC3D,QAAQ,WAAW;AAAA,YACrB,CAAC;AACD,gBAAI,YAAY,UAAU;AACxB,sBAAQ,KAAK;AAAA,YACf;AAAA,UACF,SAAS,SAAS;AAChB,gBAAI,YAAY,UAAU;AACxB,qBAAO,OAAO;AAAA,YAChB;AAAA,UACF,UAAE;AACA,gBAAI,YAAY,UAAU;AACxB,8BAAgB;AAChB,2BAAa;AAAA,YACf;AAAA,UACF;AAAA,QACF,GAAG,UAAU;AAAA,MACf,CAAC;AAAA,IACH;AAAA,IACA,MAAM,OAAO,SAAiC;AAC5C,aAAO;AACP,YAAM,UAAU;AAChB,mBAAa,IAAI,gBAAgB;AACjC,UAAI;AACF,cAAM,QAAQ,MAAM,OAAO,MAAM,SAAS;AAAA,UACxC,GAAI,QAAQ,aAAa,SACrB,EAAE,UAAU,QAAQ,SAAS,IAC7B,CAAC;AAAA,UACL,cAAc;AAAA,UACd,QAAQ,WAAW;AAAA,QACrB,CAAC;AACD,YAAI,YAAY,UAAU;AACxB,gBAAM,QAAQ;AAAA,QAChB;AACA,gBAAQ,OAAO,WAAW;AAC1B,eAAO;AAAA,MACT,UAAE;AACA,YAAI,YAAY,UAAU;AACxB,uBAAa;AAAA,QACf;AAAA,MACF;AAAA,IACF;AAAA,IACA,SAAS;AAAA,EACX;AACF;;;ACpFA,IAAM,wBAAwB;AASvB,SAAS,aAAa,SAA8B;AACzD,iBAAe,EAAE,OAAO,UAAU,KAAK,QAAQ,IAAI,CAAC;AACpD,QAAM,OAAO,IAAI,cAAc;AAAA,IAC7B,GAAI,QAAQ,UAAU,EAAE,SAAS,QAAQ,QAAQ,IAAI,CAAC;AAAA,IACtD,GAAI,QAAQ,QAAQ,EAAE,OAAO,QAAQ,MAAM,IAAI,CAAC;AAAA,EAClD,CAAC,EAAE;AACH,QAAM,gBAAgB,QAAQ,gBAAgB,uBAAuB;AAAA,IACnE;AAAA,IACA;AAAA,EACF;AACA,QAAM,UAAU;AAAA,IACd;AAAA,IACA,QAAQ;AAAA,IACR,QAAQ,WAAW;AAAA,IACnB,QAAQ,SAAS,WAAW;AAAA,EAC9B;AACA,QAAM,YAAY,CAChB,IACA,SACG;AACH,UAAM,SAAS,IAAI,gBAAgB;AACnC,QAAI,KAAK,aAAa,QAAW;AAC/B,aAAO,IAAI,aAAa,KAAK,QAAQ;AAAA,IACvC;AACA,QAAI,KAAK,iBAAiB,QAAW;AACnC,aAAO,IAAI,WAAW,KAAK,YAAY;AAAA,IACzC;AACA,UAAM,SAAS,OAAO,OAAO,IAAI,IAAI,MAAM,KAAK;AAChD,WAAO,QAAe,WAAW,mBAAmB,EAAE,CAAC,GAAG,MAAM,IAAI;AAAA,MAClE,QAAQ;AAAA,MACR,GAAI,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;AAAA,IAC/C,CAAC;AAAA,EACH;AACA,QAAM,SAAS;AAAA,IACb,MAAM,aACJ,OACA,cACA,OAAsB,CAAC,GACK;AAC5B,UAAI,CAAC,MAAM,KAAK,GAAG;AACjB,eAAO,CAAC;AAAA,MACV;AACA,YAAM,SAAS,IAAI,gBAAgB;AAAA,QACjC,GAAG,MAAM,KAAK;AAAA,QACd,SAAS;AAAA,MACX,CAAC;AACD,YAAM,SAAS,MAAM;AAAA,QACnB,wBAAwB,MAAM;AAAA,QAC9B,EAAE,QAAQ,OAAO,GAAI,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC,EAAG;AAAA,MACnE;AACA,aAAO,OAAO;AAAA,IAChB;AAAA,IACA,MAAM,IAAY,MAAoC;AACpD,aAAO,UAAU,IAAI,IAAI;AAAA,IAC3B;AAAA,IACA,QAAQ,KAAa,KAAa,OAAsB,CAAC,GAAG;AAC1D,YAAM,SAAS,IAAI,gBAAgB;AAAA,QACjC,KAAK,OAAO,GAAG;AAAA,QACf,KAAK,OAAO,GAAG;AAAA,MACjB,CAAC;AACD,aAAO,QAAe,mBAAmB,MAAM,IAAI;AAAA,QACjD,QAAQ;AAAA,QACR,GAAI,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;AAAA,MAC/C,CAAC;AAAA,IACH;AAAA,IACA,aAAa,KAAa,KAAa,UAAmB;AACxD,YAAM,SAAS,IAAI,gBAAgB;AAAA,QACjC,KAAK,OAAO,GAAG;AAAA,QACf,KAAK,OAAO,GAAG;AAAA,MACjB,CAAC;AACD,UAAI,aAAa,QAAW;AAC1B,eAAO,IAAI,aAAa,QAAQ;AAAA,MAClC;AACA,aAAO,GAAG,YAAY,sBAAsB,MAAM;AAAA,IACpD;AAAA,IACA,UAAU,MAAwB,OAAsB,CAAC,GAAG;AAC1D,aAAO,QAAmB,yBAAyB;AAAA,QACjD,QAAQ;AAAA,QACR,SAAS,EAAE,gBAAgB,mBAAmB;AAAA,QAC9C,MAAM,KAAK,UAAU,IAAI;AAAA,QACzB,GAAI,KAAK,SAAS,EAAE,QAAQ,KAAK,OAAO,IAAI,CAAC;AAAA,MAC/C,CAAC;AAAA,IACH;AAAA,IACA,oBAAoB,gBAAsC,CAAC,GAAG;AAC5D,aAAO;AAAA,QACL;AAAA,UACE,cAAc,OAAO;AAAA,UACrB,OAAO;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACA,SAAO;AACT;;;AChHA,IAAM,UAAU;AAET,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,QAAQ,GAAG,UAAU;AACrC,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,KAAK,MAAM,WAAW;AAC5B,UAAM,WAAW,KAAK,QAAQ,qCAAqC;AACnE,UAAM,SAAS,QAAQ;AACvB;AAAA,MACE,MAAM,SAAS,MAAM;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,SAAS,MAAM;AACrB,UAAM,QAAQ,KAAK,QAAQ,6BAA6B;AACxD,UAAM,MAAM,QAAQ;AACpB,UAAM,MAAM,KAAK,OAAO;AACxB,UAAM,KAAK,UAAU,SAAS,EAAE,OAAO,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM;AAC5D,UAAM,KAAK,gBAAgB,MAAM;AAC/B,YAAMC,cAAa,OAAO,SAAU,KAAK,EAAE;AAC3C,aACEA,aAAY,SAAS,cAAc,QAAQA,YAAW,QAAQ,OAAO;AAAA,IAEzE,CAAC;AACD,UAAM,aAAa,MAAM;AAAA,MACvB;AAAA,MACA,MAAM,OAAO,SAAU,KAAK,EAAE;AAAA,IAChC;AACA;AAAA,MACE,YAAY,SAAS;AAAA,MACrB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,KAAK;AAAA,MACT,OAAO,OAAO,SAAU,MAAM,GAAG,UAAU,eAAe,KAAK;AAAA,IACjE;AACA,UAAM,QAAQ,MAAM,WAAW,MAAM,MAAM,OAAO,SAAU,MAAM,CAAC;AACnE;AAAA,OACG,OAAO,UAAU,eAAe,KAAK;AAAA,MACtC;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,SAAS,aAAa;AAAA,MAC1B,KAAK,QAAQ;AAAA,MACb,GAAI,QAAQ,IAAI,wBACZ,EAAE,SAAS,QAAQ,IAAI,sBAAsB,IAC7C,CAAC;AAAA,IACP,CAAC;AACD,UAAM,OAAO,MAAM,OAAO,UAAU;AAAA,MAClC,WAAW,WAAW;AAAA,MACtB,SAAS;AAAA,QACP,OAAO,WAAW,QAAQ;AAAA,QAC1B,GAAI,WAAW,QAAQ,UACnB,EAAE,UAAU,WAAW,QAAQ,QAAQ,IACvC,CAAC;AAAA,QACL,GAAI,WAAW,QAAQ,cACnB;AAAA,UACE,KAAK,WAAW,QAAQ,YAAY;AAAA,UACpC,KAAK,WAAW,QAAQ,YAAY;AAAA,QACtC,IACA,CAAC;AAAA,MACP;AAAA,IACF,CAAC;AACD;AAAA,MACE,KAAK,eAAe,KAAK;AAAA,MACzB;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;ACjFA,OAAO,gBAAgB;AAOvB,eAAe,iBAAiB,MAAuC;AACrE,QAAM,WAAW,MAAM,IAAI,WAAW,EAAE,KAAK,CAAC,EAAE,QAAQ;AACxD,SAAO,SAAS,WAAW;AAAA,IACzB,CAAC,UAAU,MAAM,WAAW,cAAc,MAAM,WAAW;AAAA,EAC7D;AACF;AAEA,eAAe,qBACb,MACA,WACA;AACA,QAAM,UAAU,oBAAI,IAAY;AAChC,WAAS,QAAQ,GAAG,QAAQ,IAAI,SAAS;AACvC,UAAM,KAAK,SAAS,MAAM,KAAK;AAC/B,UAAM,QAAQ,MAAM,KAAK,SAAS,CAAC,WAAW;AAC5C,aAAO,OAAO;AAAA,QAAU,CAAC,UACvB,SAAS,eAAe,QAAQ,KAAK;AAAA,MACvC;AAAA,IACF,GAAG,SAAS;AACZ,QAAI,SAAS,GAAG;AACd,cAAQ,IAAI,KAAK;AAAA,IACnB;AACA,QAAI,QAAQ,SAAS,UAAU,QAAQ;AACrC,aAAO;AAAA,IACT;AAAA,EACF;AACA,SAAO;AACT;AAEO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,SAAS,SAAS,MAAM,GAAG,UAAU;AACrD,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,KAAK,IAAI;AACf,UAAM,eAAe,MAAM,KAAK;AAChC,UAAM,aAAa,MAAM,iBAAiB,IAAI;AAC9C,UAAM,OAAO,YAAY,MAAM,SAAS,OAAO,CAAC,EAAE;AAAA,MAChD,CAAC,UAAU,MAAM;AAAA,IACnB;AACA;AAAA,MACE;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,KACH,QAAQ,sBAAsB,KAAK,EAAE,IAAI,EACzC,MAAM,EACN,QAAQ,UAAU,EAClB,UAAU,QAAQ,EAAE,MAAM,eAAe,CAAC,EAC1C,MAAM;AACT,eAAW,KAAK,GAAI,MAAM,iBAAiB,IAAI,CAAE;AACjD,UAAM,KAAK,UAAU,UAAU,EAAE,MAAM,aAAa,CAAC,EAAE,MAAM;AAC7D,UAAM,KAAK,QAAQ,4BAA4B,EAAE,MAAM,EAAE,MAAM;AAC/D,eAAW,KAAK,GAAI,MAAM,iBAAiB,IAAI,CAAE;AACjD,UAAM,UAAU,WACb;AAAA,MAAQ,CAAC,UACR,MAAM,MAAM,IAAI,CAAC,SAAS,GAAG,MAAM,EAAE,KAAK,KAAK,OAAO,KAAK,GAAG,CAAC,EAAE;AAAA,IACnE,EACC,KAAK,IAAI;AACZ;AAAA,MACE,WAAW,WAAW;AAAA,MACtB;AAAA,MACA,WAAW;AAAA,MACX;AAAA,IACF;AACA,UAAM,KAAK,SAAS,MAAM,QAAQ;AAClC,UAAM,QAAQ,WAAW;AAAA,MACvB;AAAA,QACE,MAAM;AAAA,QACN,OAAO;AAAA,QACP,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,EAAE;AAAA,QAC5B,MAAM;AAAA,MACR;AAAA,IACF,CAAC;AACD,UAAM,KAAK,MAAM,uBAAuB;AACxC,UAAM,QAAQ,MAAM,iBAAiB,IAAI;AACzC;AAAA,MACE,MAAM,WAAW;AAAA,MACjB;AAAA,MACA,MAAM,IAAI,CAAC,UAAU,MAAM,EAAE,EAAE,KAAK,IAAI,KACtC;AAAA,MACF;AAAA,IACF;AACA,UAAM,KAAK,IAAI;AACf;AAAA,MACE,MAAM,qBAAqB,MAAM;AAAA,QAC/B;AAAA,QACA;AAAA,MACF,CAAC;AAAA,MACD;AAAA,MACA;AAAA,MACA;AAAA,IACF;AACA,UAAM,KAAK,MAAM,WAAW;AAC5B,UAAM,KAAK,QAAQ,mBAAmB,EAAE,KAAK,gBAAgB;AAC7D,UAAM,KAAK;AAAA,MACT,MACE,CAAC,SAAS,cAAiC,wBAAwB,GAC/D;AAAA,IACR;AACA;AAAA,MACE,MAAM,qBAAqB,MAAM,CAAC,wBAAwB,CAAC;AAAA,MAC3D;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;AChHO,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,SAAS,MAAM,GAAG,UAAU;AAC5C,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,MAAM,MAAM,kBAAkB,IAAI;AACxC,UAAM,KAAK,cAAc,MAAM;AAC7B,YAAM,QAAQ,EAAE,KAAK,GAAG,KAAK,EAAE;AAC/B,aAAO,OAAO,QAAQ,EAAE,qBAAqB,MAAM,CAAC;AACpD,UAAI,oBAAoB,CAAC,SAAS;AAChC,cAAM,MAAM,KAAK;AAAA,UACf,MAAM;AAAA,UACN,GAAG,KAAK,WAAW,EAAE,IAAI,CAAC,UAAU,MAAM,SAAS;AAAA,QACrD;AAAA,MACF,CAAC,EAAE,QAAQ,EAAE,MAAM,4BAA4B,UAAU,KAAK,CAAC;AAC/D,UAAI,oBAAoB,CAAC,SAAS;AAChC,cAAM,OAAO,KACV,WAAW,EACX;AAAA,UACC,CAAC,UACC,CAAE,MACC;AAAA,QACP,EACC;AAAA,UACC,CAAC,KAAK,UACJ,OACE,MAAgD,SAAS;AAAA,UAC7D;AAAA,QACF;AAAA,MACJ,CAAC,EAAE,QAAQ,EAAE,MAAM,gBAAgB,UAAU,KAAK,CAAC;AAAA,IACrD,CAAC;AACD,UAAM,KAAK,KAAK,KAAK,EAAE,WAAW,OAAO,CAAC;AAC1C,UAAM,eAAe,MAAM,KAAK;AAChC,QAAI,UAAU,aAAa;AACzB,YAAM,KAAK,aAAa,EAAE,KAAK,qBAAqB,CAAC;AAAA,IACvD;AACA,UAAM,KAAK,QAAQ,oBAAoB,EAAE,MAAM,EAAE,QAAQ;AACzD,UAAM,KAAK,eAAe,GAAG;AAC7B,UAAM,SAAS,MAAM,KAAK,SAAS,YAAY;AAC7C,YAAM,WAAW,OAAO,uBAAuB,EAAE,KAAK,GAAG,KAAK,EAAE;AAChE,YAAM,UAAU,YACb,iBAAiB,UAAU,EAC3B,OAAO,CAAC,UAAU,MAAM,KAAK,SAAS,KAAK,CAAC;AAC/C,YAAM,QAAQ,MAAM,QAAQ;AAAA,QAC1B,QAAQ,IAAI,OAAO,UAAU;AAC3B,cAAI,OAAO,sBAAsB,aAAa;AAC5C,kBAAM,SAAS;AACf,mBAAO,OAAO,mBAAmB,OAAO;AAAA,UAC1C;AACA,gBAAM,WAAW,MAAM,MAAM,MAAM,IAAI;AACvC,gBAAM,aAAa,SAAS,MAAM;AAAA,YAChC,IAAI,kBAAkB,MAAM;AAAA,UAC9B;AACA,iBAAO,cACF,MAAM,IAAI,SAAS,UAAU,EAAE,YAAY,GAAG,aAC/C;AAAA,QACN,CAAC;AAAA,MACH;AACA,YAAM,KAAK,MAAM,OAAO,CAAC,KAAK,SAAS,MAAM,MAAM,CAAC;AACpD,aAAO,EAAE,GAAG,UAAU,GAAG;AAAA,IAC3B,CAAC;AACD,YAAQ,aAAa,KAAK,MAAO,OAAO,KAAK,OAAQ,EAAE,IAAI;AAC3D,YAAQ,QAAQ,KAAK,MAAM,OAAO,GAAG;AACrC,YAAQ,MAAM,KAAK,MAAM,OAAO,MAAM,GAAI,IAAI;AAC9C;AAAA,MACE,OAAO,MAAM,MAAM;AAAA,MACnB;AAAA,MACA,aAAa,OAAO,EAAE;AAAA,MACtB;AAAA,IACF;AACA;AAAA,MACE,OAAO,OAAO;AAAA,MACd;AAAA,MACA,gBAAgB,KAAK,MAAM,OAAO,GAAG,CAAC;AAAA,MACtC;AAAA,IACF;AACA;AAAA,MACE,OAAO,OAAO;AAAA,MACd;AAAA,MACA,gBAAgB,OAAO,IAAI,QAAQ,CAAC,CAAC;AAAA,MACrC;AAAA,IACF;AACA,UAAM,IAAI,OAAO;AAAA,EACnB;AACF;;;ACtFA,IAAM,qBAAqB;AAC3B,IAAM,iBAAiB;AAEhB,IAAM,MAAmB;AAAA,EAC9B,IAAI;AAAA,EACJ,OAAO;AAAA,EACP,WAAW;AAAA,EACX,MAAM,IAAI,EAAE,MAAM,QAAQ,GAAG,UAAU;AACrC,UAAM,KAAK,gBAAgB,QAAQ;AACnC,UAAM,MAAM,MAAM,kBAAkB,IAAI;AACxC,QAAI;AACF,YAAM,KAAK,KAAK,KAAK,EAAE,WAAW,mBAAmB,CAAC;AACtD,YAAM,IAAI,KAAK,4BAA4B,EAAE,eAAe,MAAM,CAAC;AACnE,YAAM,OAAO,KAAK,QAAQ,mBAAmB,EAAE,MAAM;AACrD,YAAM,KAAK,QAAQ;AACnB,YAAM,OAAO,MAAM,KAAK,aAAa,MAAM;AAC3C;AAAA,QACE,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,YAAM,WAAW,IAAI,IAAI,MAAM,KAAK,IAAI,CAAC,EAAE;AAE3C,YAAM,KACH,gBAAgB,MAAM,2BAA2B,QAAQ,MAAM;AAAA,QAC9D,SAAS;AAAA,MACX,CAAC,EACA,MAAM,MAAM,MAAS;AACxB,YAAM,aAAa,MAAM,KAAK,SAAS,iBAAiB,QAAQ;AAGhE,YAAM,aAAa,KAChB;AAAA,QACC,CAAC,aAAa;AACZ,gBAAMC,QAAO,IAAI,IAAI,SAAS,IAAI,CAAC,EAAE;AACrC,cAAIA,UAAS,YAAY;AACvB,mBAAO;AAAA,UACT;AACA,iBACEA,UAAS,GAAG,QAAQ,WACpB,SAAS,QAAQ,EAAE,QAAQ,EAAE,aAAa,MAAM;AAAA,QAEpD;AAAA,QACA,EAAE,SAAS,IAAM;AAAA,MACnB,EACC,KAAK,OAAO,aAAa;AACxB,cAAM,SAAS,SAAS;AACxB,eAAO;AAAA,MACT,CAAC,EACA,MAAM,MAAM,KAAK;AACpB,YAAM,KAAK;AAAA,QAAS,CAAC,SACnB,KAAK,eAAe,EAAE,OAAO,UAAU,QAAQ,UAAU,CAAC;AAAA,MAC5D;AACA,YAAM,KAAK,gBAAgB,MAAM;AAC/B,cAAM,YAAY,SAAS,cAAc,mBAAmB;AAC5D,eACE,cAAc,QACd,OAAO,KAAK,SAAS,EAAE;AAAA,UACrB,CAAC,QACC,IAAI,WAAW,eAAe,KAC9B,IAAI,WAAW,eAAe;AAAA,QAClC;AAAA,MAEJ,CAAC;AACD,YAAM,aAAa,MAAM,KAAK,SAAS,MAAM,YAAY,IAAI,CAAC;AAC9D,cAAQ,wBAAwB,KAAK,MAAM,UAAU;AACrD;AAAA,QACE,cAAc;AAAA,QACd;AAAA,QACA,6CAA6C,KAAK,MAAM,UAAU,CAAC;AAAA,QACnE;AAAA,MACF;AAEA;AAAA,QACE,MAAM;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,MACF;AACA,YAAM,KAAK,iBAAiB,aAAa;AAEzC,YAAM,KAAK,SAAS,MAAM;AACxB,iBAAS;AAAA,UACP;AAAA,UACA,CAAC,UAAU;AACT,kBAAMC,UAAS,MAAM;AACrB,gBAAIA,SAAQ,QAAQ,mBAAmB,GAAG;AACxC,qBAAO,gBAAgB,YAAY,IAAI;AAAA,YACzC;AAAA,UACF;AAAA,UACA,EAAE,SAAS,MAAM,MAAM,KAAK;AAAA,QAC9B;AAAA,MACF,CAAC;AACD,YAAM,KAAK,MAAM,EAAE,aAAa,KAAK,CAAC;AACtC,YAAM,QAAQ,KAAK;AAAA,QACjB,KAAK,WAAW,CAAC,QAAQ,WAAW,KAAK,IAAI,QAAQ,CAAC;AAAA,QACtD,KACG,QAAQ,oCAAoC,EAC5C,QAAQ,EAAE,OAAO,UAAU,CAAC;AAAA,MACjC,CAAC;AACD,YAAM,SAAS,MAAM,KAAK;AAAA,QACxB,MAAM,YAAY,IAAI,KAAK,OAAO,iBAAiB;AAAA,MACrD;AACA,cAAQ,oBAAoB,KAAK,MAAM,MAAM;AAC7C;AAAA,QACE,UAAU;AAAA,QACV;AAAA,QACA,oCAAoC,KAAK,MAAM,MAAM,CAAC;AAAA,QACtD;AAAA,MACF;AAAA,IACF,UAAE;AACA,YAAM,IAAI,OAAO;AAAA,IACnB;AAAA,EACF;AACF;AAUA,SAAS,gBAAgB,UAAkB;AACzC,QAAM,WACJ,OACA;AACF,MAAI,CAAC,UAAU;AACb,WAAO;AAAA,EACT;AACA,QAAM,WAAW,CAACD,UAAiBA,MAAK,MAAM,GAAG,EAAE,OAAO,OAAO;AACjE,QAAM,WAAW,CAACE,WAAsB;AACtC,UAAM,QAAkB,CAAC;AACzB,aACM,UAAkCA,QACtC,SACA,UAAU,QAAQ,WAAW,SAAS,OAAO,QAAQ,QAAQ,IAAI,QACjE;AACA,UAAI,QAAQ,MAAM;AAChB,cAAM,QAAQ,QAAQ,IAAI;AAAA,MAC5B;AAAA,IACF;AACA,WAAO,SAAS,MAAM,KAAK,GAAG,CAAC;AAAA,EACjC;AACA,QAAM,SAAS,SAAS,QAAQ;AAChC,QAAM,QAAQ,OAAO,OAAO,SAAS,MAAM,EAAE,KAAK,CAAC,UAAU;AAC3D,QAAI,CAAC,MAAM,MAAM;AACf,aAAO;AAAA,IACT;AACA,UAAM,UAAU,SAAS,KAAK;AAC9B,WACE,QAAQ,WAAW,OAAO,UAC1B,QAAQ;AAAA,MACN,CAAC,MAAM,UAAU,KAAK,WAAW,GAAG,KAAK,SAAS,OAAO,KAAK;AAAA,IAChE;AAAA,EAEJ,CAAC;AACD,SAAO,QAAQ,IAAI,IAAI,MAAM,QAAQ,SAAS,IAAI,EAAE,WAAW;AACjE;;;ACtJO,IAAM,SAAwB;AAAA,EACnC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEA,IAAM,UAAU;AAAA,EACd;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;AAEO,SAAS,cAAc,OAA+C;AAC3E,QAAM,WAAW,QAAQ,IAAI,CAAC,CAAC,IAAI,OAAO,OAAO,OAAO;AAAA,IACtD;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR,YAAY;AAAA,IACZ,OAAO,EAAE,MAAM,sBAAsB,SAAS,MAAM,QAAQ;AAAA,EAC9D,EAAE;AACF,MAAI,UAAU,YAAY;AACxB,WAAO;AAAA,EACT;AACA,SAAO;AAAA,IACL,GAAG;AAAA,IACH,GAAG,MAAM,KAAK,EAAE,QAAQ,EAAE,GAAG,CAAC,GAAG,WAAW;AAAA,MAC1C,IAAI,KAAK,QAAQ,CAAC;AAAA,MAClB,OAAO;AAAA,MACP,QAAQ;AAAA,MACR,YAAY;AAAA,MACZ,OAAO;AAAA,QACL,MAAM;AAAA,QACN,SAAS;AAAA,QACT,MAAM;AAAA,MACR;AAAA,IACF,EAAE;AAAA,EACJ;AACF;;;ACxEA,SAAS,kBAAkB,YAAY,YAAY;AAG5C,IAAM,gBACX;AAEK,SAAS,WAAW;AACzB,SAAO,OAAO,WAAW,EAAE,WAAW,KAAK,EAAE,CAAC;AAChD;AAEO,SAAS,UAAUC,SAAuB;AAC/C,SAAO;AAAA,IACL,QAAQA,QAAO,OAAO,CAAC,UAAU,MAAM,WAAW,QAAQ,EAAE;AAAA,IAC5D,QAAQA,QAAO,OAAO,CAAC,UAAU,MAAM,WAAW,QAAQ,EAAE;AAAA,IAC5D,SAASA,QAAO,OAAO,CAAC,UAAU,MAAM,WAAW,SAAS,EAAE;AAAA,EAChE;AACF;AAEO,SAAS,WAAW,QAAsB,KAAc;AAC7D,MAAI,CAAC,KAAK;AACR,WAAO;AAAA,EACT;AACA,QAAM,UAAU,KAAK,UAAU,MAAM;AACrC,SAAO;AAAA,IACL,GAAG;AAAA,IACH,WAAW;AAAA,MACT;AAAA,MACA,IAAI,YAAY,EAAE,OAAO,OAAO;AAAA,MAChC,iBAAiB,GAAG;AAAA,IACtB,EAAE,SAAS,QAAQ;AAAA,EACrB;AACF;AAEO,SAAS,aAAa,QAAsB;AACjD,QAAM,QAAQ,OAAO,OAAO,IAAI,CAAC,UAAU;AACzC,UAAM,SAAS,MAAM,QAAQ,WAAM,MAAM,MAAM,OAAO,KAAK;AAC3D,WAAO,GAAG,MAAM,OAAO,YAAY,EAAE,OAAO,CAAC,CAAC,IAAI,MAAM,EAAE,IAAI,MAAM,KAAK,GAAG,MAAM;AAAA,EACpF,CAAC;AACD,QAAM;AAAA,IACJ,GAAG,OAAO,OAAO,YAAY,CAAC,KAAK,OAAO,QAAQ,MAAM,YAAY,OAAO,QAAQ,MAAM,YAAY,OAAO,QAAQ,OAAO;AAAA,IAC3H,OAAO,YAAY,6BAA6B;AAAA,EAClD;AACA,SAAO,MAAM,KAAK,IAAI;AACxB;AAEO,SAAS,OAAO,SAAwB;AAC7C,QAAM,MAAM,IAAI,IAAI,QAAQ,GAAG;AAC/B,SAAO;AAAA,IACL,KAAK,IAAI;AAAA,IACT,QAAQ,IAAI;AAAA,IACZ,OAAO,QAAQ;AAAA,IACf,GAAI,QAAQ,SAAS,EAAE,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,IACnD,GAAI,QAAQ,eAAe,EAAE,cAAc,QAAQ,aAAa,IAAI,CAAC;AAAA,EACvE;AACF;;;ACpDA,eAAsB,MAAM,SAA8C;AACxE,QAAM,UAAU,YAAY,IAAI;AAChC,MAAI;AACF,UAAM,WAAW,MAAM,MAAM,IAAI,IAAI,eAAe,QAAQ,GAAG,GAAG;AAAA,MAChE,QAAQ;AAAA,MACR,SAAS;AAAA,QACP,eAAe,UAAU,QAAQ,GAAG;AAAA,QACpC,gBAAgB;AAAA,MAClB;AAAA,MACA,MAAM,KAAK,UAAU,EAAE,OAAO,QAAQ,MAAM,CAAC;AAAA,MAC7C,GAAI,QAAQ,SAAS,EAAE,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,IACrD,CAAC;AACD,QAAI,SAAS,IAAI;AACf,aAAO;AAAA,QACL,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,YAAY,YAAY,IAAI,IAAI;AAAA,MAClC;AAAA,IACF;AAAA,EACF,QAAQ;AAAA,EAER;AACA,SAAO;AAAA,IACL,IAAI;AAAA,IACJ,OAAO;AAAA,IACP,QAAQ;AAAA,IACR,YAAY,YAAY,IAAI,IAAI;AAAA,IAChC,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,IACR;AAAA,EACF;AACF;;;AC9BO,IAAM,kBACX,OACI,UACA;;;AzBiBN,IAAM,UAAU;AAET,IAAM,iBAAiB,CAAC,aAA4B;AAAA,EACzD,UAAU;AAAA,EACV,SAAS,QAAQ;AACnB;AAEA,SAAS,kBAAkB,OAAoB,SAAwB;AACrE,QAAM,aAAa,QAAQ,aAAa,CAAC,QAAQ,OAAO;AACxD,SAAO,MAAM,cAAc,WAAW,CAAC,WAAW,CAAC,KAAK,MAAM,IAAI;AACpE;AAEA,eAAsB,aAAgB,MAAwB;AAC5D,MAAI;AACF,WAAO,EAAE,OAAO,MAAM,KAAK,GAAG,SAAS,MAAM;AAAA,EAC/C,SAAS,SAAS;AAChB,QAAI,EAAE,mBAAmB,OAAO,eAAe;AAC7C,YAAM;AAAA,IACR;AACA,WAAO,EAAE,OAAO,MAAM,KAAK,GAAG,SAAS,KAAK;AAAA,EAC9C;AACF;AAEA,eAAe,QACb,OACAC,MACsB;AACtB,QAAM,UAAU,YAAY,IAAI;AAChC,QAAM,YAAY,kBAAkB,OAAOA,KAAI,OAAO;AACtD,MAAI,UAAU;AACd,MAAI,WAAW;AACf,MAAI;AACF,UAAM,aAAa,YAAY;AAC7B,gBAAU,aAAa;AACvB,iBAAW,YAAY,WAAW;AAChC,QAAAA,KAAI,QAAQ,QAAQ,eAAe;AACnC,cAAM,MAAM,IAAIA,MAAK,QAAQ;AAAA,MAC/B;AAAA,IACF,CAAC;AACD,WAAO;AAAA,MACL,IAAI,MAAM;AAAA,MACV,OAAO,MAAM;AAAA,MACb,QAAQ;AAAA,MACR,YAAY,YAAY,IAAI,IAAI;AAAA,MAChC,UAAU,UAAU,IAAI,KAAK,EAAE,KAAK,GAAG;AAAA,MACvC,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;AAAA,IAC/B;AAAA,EACF,SAAS,SAAS;AAChB,UAAM,QACJ,mBAAmB,cACf,EAAE,MAAM,QAAQ,MAAM,SAAS,QAAQ,SAAS,MAAM,QAAQ,KAAK,IACnE;AAAA,MACE,MAAM;AAAA,MACN,SACE,mBAAmB,QAAQ,QAAQ,UAAU,OAAO,OAAO;AAAA,MAC7D,MAAM,sBAAsB,MAAM,EAAE,KAAK,MAAM,MAAM,YAAY,CAAC;AAAA,IACpE;AACN,QAAI,MAAM,SAAS,sBAAsB;AACvC,aAAO;AAAA,QACL,IAAI,MAAM;AAAA,QACV,OAAO,MAAM;AAAA,QACb,QAAQ;AAAA,QACR,YAAY,YAAY,IAAI,IAAI;AAAA,QAChC;AAAA,MACF;AAAA,IACF;AACA,UAAM,aAAaC,MAAK;AAAA,MACtBD,KAAI,QAAQ,gBAAgB;AAAA,MAC5B,GAAG,MAAM,EAAE;AAAA,IACb;AACA,UAAM,QAAQC,MAAK;AAAA,MACjBD,KAAI,QAAQ,gBAAgB;AAAA,MAC5B;AAAA,IACF;AACA,UAAM,MAAMC,MAAK,QAAQ,UAAU,GAAG,EAAE,WAAW,KAAK,CAAC;AACzD,UAAMD,KAAI,KACP,WAAW,EAAE,MAAM,YAAY,UAAU,KAAK,CAAC,EAC/C,MAAM,MAAM,MAAS;AACxB,WAAO;AAAA,MACL,IAAI,MAAM;AAAA,MACV,OAAO,MAAM;AAAA,MACb,QAAQ;AAAA,MACR,YAAY,YAAY,IAAI,IAAI;AAAA,MAChC,UAAU,UAAU,IAAI,KAAK,EAAE,KAAK,GAAG;AAAA,MACvC,GAAI,UAAU,EAAE,QAAQ,IAAI,CAAC;AAAA,MAC7B;AAAA,MACA,WAAW,EAAE,YAAY,MAAM;AAAA,IACjC;AAAA,EACF;AACF;AAEA,IAAM,QAAQ,CAAC,aAAuB,GAAG,SAAS,KAAK,IAAI,SAAS,MAAM;AAE1E,eAAsB,UACpB,SACA,OACuB;AACvB,MAAI,CAAC,cAAc,KAAK,QAAQ,GAAG,GAAG;AACpC,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACA,QAAM,UAAU,KAAK,IAAI;AACzB,QAAM,UAAU,MAAM,SAAS,OAAO;AACtC,QAAM,UAAU,MAAM,QAAQ,WAAW,eAAe,OAAO,CAAC;AAChE,MAAI,QAAQ,oBAAoB;AAC9B,UAAM,QAAQ;AAAA,MAAM;AAAA,MAAmB,CAAC,UACtC,MAAM,QAAQ,EAAE,QAAQ,IAAI,CAAC;AAAA,IAC/B;AAAA,EACF;AACA,QAAM,QAAQ,QAAQ,MAAM,EAAE,aAAa,MAAM,WAAW,KAAK,CAAC;AAClE,QAAM,OAAO,MAAM,QAAQ,QAAQ;AACnC,OAAK,kBAAkB,KAAK,IAAI,QAAQ,aAAa,KAAQ,GAAM,CAAC;AACpE,QAAM,aAAa,MAAM,KAAK;AAC9B,QAAM,UAAmC,CAAC;AAC1C,QAAMA,OAAM;AAAA,IACV;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAAA,EAC3B;AACA,QAAM,UAAyB,CAAC,MAAM,MAAM,OAAO,CAAC;AACpD,MAAI;AACF,UAAM,SAAS,QAAQ,OAAO,IAAI,IAAI,QAAQ,IAAI,IAAI;AACtD,eAAW,SAAS,QAAQ;AAC1B,UAAI,UAAU,CAAC,OAAO,IAAI,MAAM,EAAE,GAAG;AACnC;AAAA,MACF;AACA,cAAQ,aAAa,EAAE,IAAI,MAAM,IAAI,QAAQ,UAAU,CAAC;AACxD,YAAM,SAAS,MAAM,QAAQ,OAAOA,IAAG;AACvC,cAAQ,KAAK,MAAM;AACnB,cAAQ,aAAa,EAAE,IAAI,MAAM,IAAI,QAAQ,OAAO,OAAO,CAAC;AAAA,IAC9D;AACA,QAAI,CAAC,QAAQ;AACX,cAAQ,KAAK,GAAG,cAAc,QAAQ,KAAK,CAAC;AAAA,IAC9C;AACA,UAAM,aAAa,MAAM,KACtB,SAAS,MAAM,OAAO,UAAU,WAAW,SAAS,EACpD,MAAM,MAAM,SAAS;AACxB,UAAM,UAAU,UAAU,OAAO;AACjC,UAAM,SAAuB;AAAA,MAC3B,QAAQ;AAAA,MACR,IAAI,SAAS;AAAA,MACb,OAAO,QAAQ;AAAA,MACf,QAAQ,OAAO,OAAO;AAAA,MACtB,aAAa;AAAA,QACX,QAAQ,QAAQ,UAAU;AAAA,QAC1B,eAAe;AAAA,QACf;AAAA,QACA,SAAS,YAAY,QAAQ,QAAQ,CAAC;AAAA,MACxC;AAAA,MACA,WAAW,IAAI,KAAK,OAAO,EAAE,YAAY;AAAA,MACzC,YAAY,KAAK,IAAI,IAAI;AAAA,MACzB,QAAQ,QAAQ,SAAS,WAAW;AAAA,MACpC;AAAA,MACA,QAAQ;AAAA,MACR;AAAA,IACF;AACA,WAAO;AAAA,MACL;AAAA,MACA,QAAQ,cAAc,QAAQ,IAAI;AAAA,IACpC;AAAA,EACF,UAAE;AACA,UAAM,QAAQC,MAAK;AAAA,MACjB,QAAQ,gBAAgB;AAAA,MACxB;AAAA,IACF;AACA,UAAM,MAAMA,MAAK,QAAQ,KAAK,GAAG,EAAE,WAAW,KAAK,CAAC;AACpD,UAAM,QAAQ,QAAQ,KAAK,EAAE,MAAM,MAAM,CAAC,EAAE,MAAM,MAAM,MAAS;AACjE,UAAM,QAAQ,MAAM;AAAA,EACtB;AACF;;;A0BnMA,eAAsB,cAAc,SAA+B;AACjE,QAAM,QAAQ,QAAQ,SAAU,MAAM,UAAU,QAAQ,GAAG;AAC3D,MAAI;AACJ,MAAI;AACF,cAAU,QAAQ,MACd,SACA,MAAM,kBAAkB;AAAA,MACtB,KAAK,QAAQ;AAAA,MACb,KAAK,QAAQ;AAAA,MACb;AAAA,MACA,gBAAgB,QAAQ;AAAA,MACxB,GAAI,QAAQ,SAAS,EAAE,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,IACrD,CAAC;AACL,WAAO,MAAM,UAAU;AAAA,MACrB,KAAK,aAAa,QAAQ,OAAO,SAAS,GAAG;AAAA,MAC7C;AAAA,MACA,KAAK,QAAQ;AAAA,MACb,OAAO,QAAQ;AAAA,MACf,QAAQ;AAAA,MACR,GAAI,QAAQ,OAAO,EAAE,MAAM,QAAQ,KAAK,IAAI,CAAC;AAAA,MAC7C,GAAI,QAAQ,YAAY,EAAE,WAAW,QAAQ,UAAU,IAAI,CAAC;AAAA,MAC5D,GAAI,QAAQ,eAAe,EAAE,cAAc,QAAQ,aAAa,IAAI,CAAC;AAAA,MACrE,GAAI,QAAQ,YAAY,EAAE,WAAW,QAAQ,UAAU,IAAI,CAAC;AAAA,MAC5D,GAAI,QAAQ,SAAS,EAAE,QAAQ,QAAQ,OAAO,IAAI,CAAC;AAAA,MACnD,GAAI,QAAQ,aAAa,EAAE,YAAY,QAAQ,WAAW,IAAI,CAAC;AAAA,MAC/D,GAAI,QAAQ,aAAa,EAAE,YAAY,QAAQ,WAAW,IAAI,CAAC;AAAA;AAAA,MAE/D,GAAI,UAAU,EAAE,oBAAoB,KAAK,IAAI,CAAC;AAAA,IAChD,CAAC;AAAA,EACH,UAAE;AACA,UAAM,SAAS,MAAM;AAAA,EACvB;AACF;AAEA,SAAS,aAAa,OAA2B;AAC/C,MAAI;AACF,UAAM,MAAM,IAAI,IAAI,SAAS,EAAE;AAC/B,QAAI,IAAI,aAAa,WAAW,IAAI,aAAa,UAAU;AACzD,YAAM,IAAI,MAAM,UAAU;AAAA,IAC5B;AACA,WAAO,IAAI;AAAA,EACb,QAAQ;AACN,UAAM,IAAI;AAAA,MACR;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,EACF;AACF;;;ACzCO,SAAS,OAAO,SAAwB;AAC7C,SAAO,UAAU,OAAO;AAC1B;","names":["label","signal","readFile","path","path","readFile","path","path","errors","path","target","event","lines","path","fulfilment","path","target","route","checks","run","path"]}
1
+ {"version":3,"sources":["../src/error.ts","../src/local-preview.ts","../src/project-command.ts","../src/project-config.ts","../src/runner.ts","../src/checks/common.ts","../src/checks/v01-routes.ts","../src/checks/v02-sdk.ts","../src/fixtures.ts","../src/checks/catalogue.ts","../src/checks/menu-match.ts","../src/checks/v03-menu.ts","../src/checks/v04-add-simple.ts","../src/checks/v05-add-options.ts","../src/checks/v06-quote.ts","../src/checks/stale-cart.ts","../src/checks/v07-quote-issues.ts","../src/checks/v09-pickup.ts","../../sdk/src/places/error.ts","../../sdk/src/places/request.ts","../../sdk/src/places/search.ts","../../sdk/src/places/client.ts","../src/checks/v10-delivery.ts","../src/checks/v13-accessibility.ts","../src/checks/semantics.ts","../src/checks/v14-performance.ts","../src/checks/v15-tappable-product-cards.ts","../src/checks/overlays.ts","../src/checks/v16-overlays-open-quickly.ts","../src/checks/v17-overlay-focus.ts","../src/checks/index.ts","../src/cpu.ts","../src/report.ts","../src/reset.ts","../src/version.ts","../src/project.ts","../src/regression.ts","../src/index.ts"],"mappings":"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","names":["label","signal","readFile","path","path","readFile","path","path","errors","path","reset","target","event","lines","path","fulfilment","scope","label","target","message","cpuThrottlingRate","cpuThrottlingRate","path","target","route","remaining","cpuThrottlingRate","checks","run","path"]}
@@ -0,0 +1,68 @@
1
+ // ../sdk/src/transport/presentation.ts
2
+ var object = (value, invalid) => {
3
+ if (!value || typeof value !== "object" || Array.isArray(value)) {
4
+ throw invalid();
5
+ }
6
+ return value;
7
+ };
8
+ var array = (value, invalid) => {
9
+ if (!Array.isArray(value)) {
10
+ throw invalid();
11
+ }
12
+ return value;
13
+ };
14
+ var string = (value, invalid) => {
15
+ if (typeof value !== "string") {
16
+ throw invalid();
17
+ }
18
+ return value;
19
+ };
20
+ function presentStore(store, value, invalid) {
21
+ const source = value;
22
+ source.branches.forEach((raw, index) => {
23
+ const branch = store.branches[index];
24
+ if (raw.order_ahead_days !== void 0) {
25
+ if (!Number.isSafeInteger(raw.order_ahead_days) || Number(raw.order_ahead_days) < 0) {
26
+ throw invalid();
27
+ }
28
+ branch.orderAheadDays = raw.order_ahead_days;
29
+ }
30
+ if (raw.promos !== void 0) {
31
+ branch.promos = array(raw.promos, invalid).map((value2) => {
32
+ const promo = object(value2, invalid);
33
+ return {
34
+ id: string(promo.id, invalid),
35
+ name: string(promo.name, invalid),
36
+ description: string(promo.description, invalid)
37
+ };
38
+ });
39
+ }
40
+ });
41
+ return store;
42
+ }
43
+ function presentMenu(menu, value, invalid) {
44
+ value.menus.forEach((raw, index) => {
45
+ const section = menu.menus[index];
46
+ if (raw.layout !== void 0) {
47
+ if (!["LIST", "GRID", "CARD"].includes(raw.layout)) {
48
+ throw invalid();
49
+ }
50
+ section.layout = raw.layout;
51
+ }
52
+ if (raw.is_active !== void 0) {
53
+ if (typeof raw.is_active !== "boolean") {
54
+ throw invalid();
55
+ }
56
+ section.isActive = raw.is_active;
57
+ }
58
+ if (raw.info_banner_html !== void 0) {
59
+ section.infoBannerHtml = string(raw.info_banner_html, invalid);
60
+ }
61
+ });
62
+ return menu;
63
+ }
64
+ export {
65
+ presentMenu,
66
+ presentStore
67
+ };
68
+ //# sourceMappingURL=presentation-TKOXOILG.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/transport/presentation.ts"],"mappings":";AAKA,IAAM,SAAS,CAAC,OAAgB,YAAqB;AACnD,MAAI,CAAC,SAAS,OAAO,UAAU,YAAY,MAAM,QAAQ,KAAK,GAAG;AAC/D,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AACT;AACA,IAAM,QAAQ,CAAC,OAAgB,YAAqB;AAClD,MAAI,CAAC,MAAM,QAAQ,KAAK,GAAG;AACzB,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AACT;AACA,IAAM,SAAS,CAAC,OAAgB,YAAqB;AACnD,MAAI,OAAO,UAAU,UAAU;AAC7B,UAAM,QAAQ;AAAA,EAChB;AACA,SAAO;AACT;AAEO,SAAS,aAAa,OAAc,OAAgB,SAAkB;AAC3E,QAAM,SAAS;AACf,EAAC,OAAO,SAAoB,QAAQ,CAAC,KAAK,UAAU;AAClD,UAAM,SAAS,MAAM,SAAS,KAAK;AACnC,QAAI,IAAI,qBAAqB,QAAW;AACtC,UACE,CAAC,OAAO,cAAc,IAAI,gBAAgB,KAC1C,OAAO,IAAI,gBAAgB,IAAI,GAC/B;AACA,cAAM,QAAQ;AAAA,MAChB;AACA,aAAO,iBAAiB,IAAI;AAAA,IAC9B;AACA,QAAI,IAAI,WAAW,QAAW;AAC5B,aAAO,SAAS,MAAM,IAAI,QAAQ,OAAO,EAAE,IAAI,CAACA,WAAU;AACxD,cAAM,QAAQ,OAAOA,QAAO,OAAO;AACnC,eAAO;AAAA,UACL,IAAI,OAAO,MAAM,IAAI,OAAO;AAAA,UAC5B,MAAM,OAAO,MAAM,MAAM,OAAO;AAAA,UAChC,aAAa,OAAO,MAAM,aAAa,OAAO;AAAA,QAChD;AAAA,MACF,CAAC;AAAA,IACH;AAAA,EACF,CAAC;AACD,SAAO;AACT;AAEO,SAAS,YAAY,MAAY,OAAgB,SAAkB;AACxE,EAAE,MAAe,MAAiB,QAAQ,CAAC,KAAK,UAAU;AACxD,UAAM,UAAU,KAAK,MAAO,KAAK;AACjC,QAAI,IAAI,WAAW,QAAW;AAC5B,UAAI,CAAC,CAAC,QAAQ,QAAQ,MAAM,EAAE,SAAS,IAAI,MAAgB,GAAG;AAC5D,cAAM,QAAQ;AAAA,MAChB;AACA,cAAQ,SAAS,IAAI;AAAA,IACvB;AACA,QAAI,IAAI,cAAc,QAAW;AAC/B,UAAI,OAAO,IAAI,cAAc,WAAW;AACtC,cAAM,QAAQ;AAAA,MAChB;AACA,cAAQ,WAAW,IAAI;AAAA,IACzB;AACA,QAAI,IAAI,qBAAqB,QAAW;AACtC,cAAQ,iBAAiB,OAAO,IAAI,kBAAkB,OAAO;AAAA,IAC/D;AAAA,EACF,CAAC;AACD,SAAO;AACT;","names":["value"]}
@@ -21,4 +21,4 @@ function quoteBody(body) {
21
21
  export {
22
22
  quoteBody
23
23
  };
24
- //# sourceMappingURL=quote-body-NAFPZOGR.js.map
24
+ //# sourceMappingURL=quote-body-S5LELT7L.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/transport/quote-body.ts"],"mappings":";AAGO,SAAS,UAAU,MAAkC;AAC1D,QAAM,IAAI,KAAK;AACf,MAAI,CAAC,GAAG;AACN,WAAO;AAAA,EACT;AACA,QAAM,EAAE,OAAO,QAAQ,SAAS,GAAG,WAAW,IAAI;AAClD,MAAI,CAAC,SAAS;AACZ,WAAO,EAAE,GAAG,MAAM,WAAW;AAAA,EAC/B;AACA,QAAM,EAAE,OAAO,QAAQ,cAAc,GAAG,KAAK,IAAI;AACjD,SAAO;AAAA,IACL,GAAG;AAAA,IACH,YAAY;AAAA,MACV,GAAG;AAAA,MACH,GAAI,WAAW,iBAAiB,UAAa,iBAAiB,SAC1D,EAAE,aAAa,IACf,CAAC;AAAA,MACL,SAAS;AAAA,IACX;AAAA,EACF;AACF;","names":[]}
@@ -7,7 +7,7 @@ import {
7
7
  requestWithRetry,
8
8
  sumMoney,
9
9
  wireError
10
- } from "./chunk-JYFSFOIS.js";
10
+ } from "./chunk-47RIF6JW.js";
11
11
 
12
12
  // ../sdk/src/cart/quote-response.ts
13
13
  function fail() {
@@ -110,6 +110,7 @@ function mapQuote(value, branchId) {
110
110
  return fail();
111
111
  }
112
112
  const deliveryCharges = charges.filter((c) => c.code === "delivery");
113
+ const fees = charges.filter((c) => c.code !== "delivery");
113
114
  const integer = (value2) => {
114
115
  if (!Number.isSafeInteger(value2) || Number(value2) < 0) {
115
116
  return fail();
@@ -158,7 +159,11 @@ function mapQuote(value, branchId) {
158
159
  ...v.lines_unpriced === true ? { linesUnpriced: true } : {},
159
160
  subtotal,
160
161
  total,
161
- fees: charges.filter((c) => c.code !== "delivery"),
162
+ fees,
163
+ feesTotal: sumMoney(
164
+ fees.map((c) => c.amount),
165
+ money(0, subtotal.currency)
166
+ ),
162
167
  discounts,
163
168
  ...deliveryCharges.length ? {
164
169
  delivery: sumMoney(
@@ -323,4 +328,4 @@ function createQuoteClient(transport, context, options = {}) {
323
328
  export {
324
329
  createQuoteClient
325
330
  };
326
- //# sourceMappingURL=quote-client-3NC5KSBE.js.map
331
+ //# sourceMappingURL=quote-client-4RUY3TKQ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../sdk/src/cart/quote-response.ts","../../sdk/src/cart/quote-client.ts"],"mappings":"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","names":["value"]}