@manifest-network/manifest-agent-core 0.19.0 → 0.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/defineProperty.js +12 -0
  2. package/dist/_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/toPrimitive.js +14 -0
  3. package/dist/_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/toPropertyKey.js +9 -0
  4. package/dist/_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/typeof.js +11 -0
  5. package/dist/close-lease.d.ts +0 -1
  6. package/dist/close-lease.d.ts.map +1 -1
  7. package/dist/close-lease.js.map +1 -1
  8. package/dist/deploy-app.d.ts +0 -1
  9. package/dist/deploy-app.d.ts.map +1 -1
  10. package/dist/deploy-app.js +4 -2
  11. package/dist/deploy-app.js.map +1 -1
  12. package/dist/deploy-app.test-d.d.ts +1 -1
  13. package/dist/deploy-app.test-d.js +1 -1
  14. package/dist/deploy-app.test-d.js.map +1 -1
  15. package/dist/internals/cancellation.d.ts +0 -1
  16. package/dist/internals/cancellation.d.ts.map +1 -1
  17. package/dist/internals/cancellation.js.map +1 -1
  18. package/dist/internals/classify-deploy-error.d.ts.map +1 -1
  19. package/dist/internals/classify-deploy-response.d.ts.map +1 -1
  20. package/dist/internals/classify-deploy-response.js.map +1 -1
  21. package/dist/internals/connection.d.ts.map +1 -1
  22. package/dist/internals/connection.js.map +1 -1
  23. package/dist/internals/evaluate-readiness-from-fred.d.ts +1 -1
  24. package/dist/internals/evaluate-readiness-from-fred.d.ts.map +1 -1
  25. package/dist/internals/evaluate-readiness-from-fred.js.map +1 -1
  26. package/dist/internals/evaluate-readiness.d.ts +7 -3
  27. package/dist/internals/evaluate-readiness.d.ts.map +1 -1
  28. package/dist/internals/evaluate-readiness.js.map +1 -1
  29. package/dist/internals/format-success.d.ts +0 -1
  30. package/dist/internals/format-success.d.ts.map +1 -1
  31. package/dist/internals/format-success.js.map +1 -1
  32. package/dist/internals/humanize-denom.d.ts +0 -1
  33. package/dist/internals/humanize-denom.d.ts.map +1 -1
  34. package/dist/internals/humanize-denom.js.map +1 -1
  35. package/dist/internals/inspect-image.d.ts.map +1 -1
  36. package/dist/internals/inspect-image.js +1 -1
  37. package/dist/internals/inspect-image.js.map +1 -1
  38. package/dist/internals/lease-items.d.ts.map +1 -1
  39. package/dist/internals/lease-state.d.ts +0 -1
  40. package/dist/internals/lease-state.d.ts.map +1 -1
  41. package/dist/internals/lease-state.js +1 -1
  42. package/dist/internals/lease-state.js.map +1 -1
  43. package/dist/internals/render-deployment-plan.d.ts +1 -0
  44. package/dist/internals/render-deployment-plan.d.ts.map +1 -1
  45. package/dist/internals/render-deployment-plan.js +4 -3
  46. package/dist/internals/render-deployment-plan.js.map +1 -1
  47. package/dist/internals/render-intent-recap.d.ts +0 -1
  48. package/dist/internals/render-intent-recap.d.ts.map +1 -1
  49. package/dist/internals/render-intent-recap.js.map +1 -1
  50. package/dist/internals/render-partial-success-prompt.d.ts +0 -1
  51. package/dist/internals/render-partial-success-prompt.d.ts.map +1 -1
  52. package/dist/internals/save-manifest.d.ts.map +1 -1
  53. package/dist/internals/save-manifest.js.map +1 -1
  54. package/dist/internals/secret-denylist.d.ts.map +1 -1
  55. package/dist/internals/secret-denylist.js +1 -1
  56. package/dist/internals/secret-denylist.js.map +1 -1
  57. package/dist/internals/spec-normalize.d.ts +0 -1
  58. package/dist/internals/spec-normalize.d.ts.map +1 -1
  59. package/dist/internals/spec-normalize.js.map +1 -1
  60. package/dist/internals/verify-domain-state.d.ts.map +1 -1
  61. package/dist/internals/verify-domain-state.js.map +1 -1
  62. package/dist/internals/verify-recover.d.ts +0 -1
  63. package/dist/internals/verify-recover.d.ts.map +1 -1
  64. package/dist/manage-domain.d.ts +0 -1
  65. package/dist/manage-domain.d.ts.map +1 -1
  66. package/dist/manage-domain.js.map +1 -1
  67. package/dist/node_modules/@vitest/pretty-format/dist/index.js +3 -3
  68. package/dist/node_modules/@vitest/pretty-format/dist/index.js.map +1 -1
  69. package/dist/node_modules/@vitest/runner/dist/chunk-artifact.js +20 -15
  70. package/dist/node_modules/@vitest/runner/dist/chunk-artifact.js.map +1 -1
  71. package/dist/node_modules/@vitest/runner/dist/index.js +2 -1
  72. package/dist/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js +1 -1
  73. package/dist/node_modules/@vitest/utils/dist/chunk-pathe.M-eThtNZ.js.map +1 -1
  74. package/dist/node_modules/@vitest/utils/dist/display.js +1 -1
  75. package/dist/node_modules/@vitest/utils/dist/display.js.map +1 -1
  76. package/dist/node_modules/@vitest/utils/dist/helpers.js +1 -1
  77. package/dist/node_modules/@vitest/utils/dist/helpers.js.map +1 -1
  78. package/dist/node_modules/@vitest/utils/dist/source-map.js +4 -4
  79. package/dist/node_modules/@vitest/utils/dist/source-map.js.map +1 -1
  80. package/dist/node_modules/tinyrainbow/dist/index.js +1 -1
  81. package/dist/node_modules/vite/dist/node/module-runner.js +8 -3
  82. package/dist/node_modules/vite/dist/node/module-runner.js.map +1 -1
  83. package/dist/node_modules/vitest/dist/index.js +2 -2
  84. package/dist/troubleshoot.d.ts +0 -1
  85. package/dist/troubleshoot.d.ts.map +1 -1
  86. package/dist/troubleshoot.js.map +1 -1
  87. package/dist/types.d.ts +0 -1
  88. package/dist/types.d.ts.map +1 -1
  89. package/package.json +7 -7
@@ -1 +1 @@
1
- {"version":3,"file":"manage-domain.js","names":[],"sources":["../src/manage-domain.ts"],"sourcesContent":["/**\n * Public entry point: orchestrate setting, clearing, or looking up a\n * lease item's custom domain.\n *\n * Composition (mirrors `deploy-app.ts`'s shape):\n *\n * - `set` / `clear` render a confirmation block, optionally call\n * `onConfirm`, broadcast `setItemCustomDomain` against the agent's\n * bound chain client, then verify the post-broadcast on-chain state\n * via `verifyAndRecover` driving `verify-domain-state` over a direct\n * `billing.v1.lease({ leaseUuid })` single-lease query (tenant-\n * agnostic, no pagination edge cases). Branches are inline closures\n * bound to the per-action context; recovery options are intentionally\n * empty so the verifier surfaces failures via the simple-form\n * `onFailure({ reason })` adapter rather than the rich-form\n * `RecoveryOption[]` prompt (manage-domain has no recovery primitives\n * the orchestrator can dispatch; the user re-runs after a real fix).\n *\n * - `lookup` skips broadcast/verify and resolves the FQDN via the\n * `lease_by_custom_domain` chain query; returns `null` lease when\n * the FQDN isn't claimed.\n */\n\nimport {\n isNotFoundError,\n ManifestMCPError,\n ManifestMCPErrorCode,\n noopLogger,\n parseFqdn,\n parseLeaseUuid,\n setItemCustomDomain,\n} from '@manifest-network/manifest-mcp-core';\nimport { makeCancellationScope } from './internals/cancellation.js';\nimport {\n type VerifyDomainOutcome,\n type VerifyDomainResult,\n verifyDomainState,\n} from './internals/verify-domain-state.js';\nimport {\n type VerificationSpec,\n verifyAndRecover,\n} from './internals/verify-recover.js';\nimport type {\n DeploymentPlanBlock,\n ManageDomainArgs,\n ManageDomainCallbacks,\n ManageDomainOptions,\n ManageDomainResult,\n} from './types.js';\n\nconst UUID_RE =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n\n// RFC 1123 hostname: each label 1-63 chars, alphanumeric + hyphens, no leading/\n// trailing hyphen; total ≤253 chars; ≥2 labels (FQDN, not single-label host).\n// Rejects scheme prefixes ('http://'), whitespace, trailing dots, and raw\n// unicode (ASCII punycode `xn--...` is accepted — it matches the regex's\n// `[A-Za-z0-9-]` label character class, which is the standard wire form\n// for IDN labels).\n//\n// Client-side typo gate only. The chain's `MsgSetItemCustomDomain` keeper is\n// the authoritative validator (canonical lowercase, reserved-suffix rules,\n// FQDN format). This anchored regex catches the obvious-malformed-input\n// cases pre-broadcast so we don't waste a tx on `\"\"`, `\" \"`, `\"http://x.y\"`,\n// or `\"not a domain\"`. Anything that passes here still goes through the\n// chain's own validation.\nconst FQDN_RE =\n /^(?=.{1,253}$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+[A-Za-z](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/;\n\nconst SCHEME_PREFIX_RE = /^https?:\\/\\//i;\n\n/**\n * Set / clear / look up a lease item's custom domain.\n *\n * @throws `ManifestMCPError(INVALID_CONFIG)` for args validation.\n * @throws `ManifestMCPError(OPERATION_CANCELLED)` when `onConfirm` returns\n * `'no'` (deliberate user cancellation — ENG-272).\n * @throws `ManifestMCPError` (typically `TX_FAILED`) propagated as-is\n * from the `setItemCustomDomain()` broadcast step in `set` / `clear`\n * paths. Broadcast errors do NOT invoke `onFailure` — that callback\n * is reserved for post-broadcast verification failures.\n * `setItemCustomDomain` already raises a structured `ManifestMCPError`\n * from the core package; wrapping it again at this layer would be\n * redundant. Callers wanting to react to broadcast errors should\n * catch them at the call site.\n * @throws `ManifestMCPError(TX_FAILED)` when post-broadcast verification\n * reaches a `not_found` / `mismatch` outcome (after `onFailure` has\n * been invoked so the caller can react).\n * @throws `ManifestMCPError(QUERY_FAILED)` when a chain query raises a\n * non-NotFound error (RPC / transport / decoding failure). Two paths\n * surface this:\n * - the `lookup` chain query (`lease_by_custom_domain`); the keeper's\n * `NotFound` on an unclaimed FQDN is surfaced as a typed\n * `{ lease: null }` result, not a throw.\n * - the post-broadcast verify chain query (`billing.v1.lease`) in\n * the `set` / `clear` paths (wrapped inside the verifier closure\n * so the failure flows through `onFailure({ reason })` before the\n * throw).\n * Structured `ManifestMCPError`s raised by the chain client are\n * re-thrown as-is (with `onFailure` invoked first).\n */\nexport async function manageDomain(\n args: ManageDomainArgs,\n callbacks: ManageDomainCallbacks,\n opts: ManageDomainOptions,\n): Promise<ManageDomainResult> {\n validateArgs(args);\n\n if (args.action === 'lookup') {\n return await lookupDomain(args.fqdn, callbacks, opts);\n }\n\n const serviceName = args.serviceName;\n // Normalize the FQDN once for `set`: trim surrounding whitespace\n // (Copilot review PR #60, comment 3276519081) AND lowercase (RFC 4343),\n // matching what `parseFqdn` does to the broadcast value below. Both the\n // broadcast (`parseFqdn(fqdn)`) and the post-broadcast verification\n // (`expected: fqdn`) must compare the SAME normalized value — otherwise a\n // mixed-case input broadcasts lowercased but verifies against the raw\n // casing, producing a spurious mismatch (code-review PR #102).\n // `validateArgs` still rejects the empty / whitespace-only case via\n // `args.fqdn.trim() === ''`.\n const fqdn = args.action === 'set' ? args.fqdn.trim().toLowerCase() : '';\n\n // Cancellation seam (ENG-374, shared via internals/cancellation.ts). Race ONLY\n // the pre-broadcast `onConfirm`; the post-broadcast verifier routes into\n // recovery (D4.6) and is never cancelled.\n const cx = makeCancellationScope({\n opts,\n onProgress: callbacks.onProgress,\n opLabel: 'Domain update',\n broadcasts: true,\n });\n cx.throwIfCancelled();\n\n // --- Confirmation block ---------------------------------------------\n const block = renderConfirmationBlock(args);\n if (callbacks.onConfirm) {\n const yesNo = await cx.race(callbacks.onConfirm(block));\n if (yesNo !== 'yes') {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.OPERATION_CANCELLED,\n `User declined to proceed with manage-domain ${args.action}.`,\n );\n }\n }\n callbacks.onProgress?.({ kind: 'user_confirmed' });\n\n // --- Broadcast ------------------------------------------------------\n // txCtx has no signer (ManageDomainOptions carries no walletProvider); the\n // sender resolves from ctx.chain (the CosmosClientManager wallet). See OI-SENDER.\n // The raw MCP `leaseUuid`/`fqdn` strings are unbranded → parse at the boundary.\n const leaseUuid = parseLeaseUuid(args.leaseUuid);\n cx.throwIfCancelled();\n await setItemCustomDomain(\n { chain: opts.clientManager, logger: noopLogger },\n args.action === 'set'\n ? { leaseUuid, customDomain: parseFqdn(fqdn), serviceName }\n : { leaseUuid, clear: true, serviceName },\n );\n\n // --- Verify ---------------------------------------------------------\n // Direct single-lease query (Copilot review PR #60, comment 3275999569):\n // the previous `leasesByTenant` + page-1-only pagination would\n // false-`not_found` for tenants with >100 leases. `billing.v1.lease`\n // is the same query shape `troubleshoot.ts` already uses; it's\n // tenant-agnostic and bounded to a single lease.\n //\n // We wrap the single-lease result as `{ leases: [result.lease] }`\n // (or an empty array if the chain returns no match) so\n // `verifyDomainState` stays untouched — its `findLease` walks the\n // same shape, and a `not_found` outcome falls out naturally when the\n // wrapper array is empty.\n const spec: VerificationSpec<\n unknown,\n VerifyDomainOutcome,\n VerifyDomainResult\n > = {\n verifier: async () => {\n // Wrap the chain call in try/catch (Copilot review PR #60,\n // comment 3276419210): if `billing.v1.lease` rejects (RPC down,\n // transport, structured `ManifestMCPError`), the error would\n // otherwise propagate OUT of `verifyAndRecover` and bypass the\n // post-verify `onFailure({ reason })` callback below. Mirror\n // the disambiguation pattern from `lookupDomain` (commit aaa5cc5)\n // and `troubleshootDeployment` (commit f1a4737): invoke\n // `onFailure` first, then re-throw `ManifestMCPError` as-is or\n // wrap plain errors as `QUERY_FAILED`.\n let result: unknown;\n try {\n const queryClient = await opts.clientManager.getQueryClient();\n result = await queryClient.liftedinit.billing.v1.lease({\n leaseUuid: args.leaseUuid,\n });\n } catch (err) {\n const reason = `Failed to query lease ${args.leaseUuid} during ${args.action}-verify: ${\n err instanceof Error ? err.message : String(err)\n }`;\n if (callbacks.onFailure) {\n await callbacks.onFailure({ reason });\n }\n if (err instanceof ManifestMCPError) {\n throw err;\n }\n throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, reason);\n }\n const lease = (result as { lease?: unknown })?.lease;\n const leases = lease === null || lease === undefined ? [] : [lease];\n const decoded = verifyDomainState(\n { leases },\n {\n leaseUuid: args.leaseUuid,\n ...(serviceName ? { serviceName } : {}),\n expected: fqdn,\n },\n );\n return { outcome: decoded.outcome, diagnostic: decoded };\n },\n successValues: ['match'],\n branches: {\n mismatch: {\n branchId: 'domain_verification_mismatch',\n journalActionTags: ['domain-verification-mismatch'],\n buildFailureEnvelope: (d) => ({\n outcome: 'failed',\n reason:\n args.action === 'set'\n ? `Chain shows custom_domain=\"${d.actual ?? ''}\" for lease ${args.leaseUuid}; expected \"${fqdn}\".`\n : `Chain still shows custom_domain=\"${d.actual ?? ''}\" for lease ${args.leaseUuid}; expected cleared.`,\n }),\n buildRecoveryOptions: () => [],\n },\n not_found: {\n branchId: 'domain_not_found',\n journalActionTags: ['domain-verification-not-found'],\n buildFailureEnvelope: (d) => ({\n outcome: 'failed',\n reason:\n d.reason ??\n `Lease ${args.leaseUuid} not found when verifying domain state.`,\n }),\n buildRecoveryOptions: () => [],\n },\n },\n };\n\n const verifyResult = await verifyAndRecover(spec, undefined);\n const verified = verifyResult.result === 'success';\n const finalCustomDomain = deriveFinalCustomDomain(\n verifyResult.diagnostic,\n args.action,\n );\n\n if (!verified) {\n const reason =\n verifyResult.failure?.reason ??\n `manage-domain ${args.action} verification failed.`;\n if (callbacks.onFailure) {\n await callbacks.onFailure({ reason });\n }\n throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, reason);\n }\n\n const result: ManageDomainResult = {\n action: args.action,\n leaseUuid: args.leaseUuid,\n verified,\n finalCustomDomain,\n };\n callbacks.onComplete?.(result);\n return result;\n}\n\n// --- Helpers --------------------------------------------------------\n\nfunction validateArgs(args: ManageDomainArgs): void {\n if (\n args.action !== 'set' &&\n args.action !== 'clear' &&\n args.action !== 'lookup'\n ) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n `manageDomain: unknown action \"${(args as { action?: string }).action}\".`,\n );\n }\n if (args.action === 'lookup') {\n if (typeof args.fqdn !== 'string' || args.fqdn.trim() === '') {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n 'manageDomain lookup: fqdn must be a non-empty string.',\n );\n }\n return;\n }\n if (typeof args.leaseUuid !== 'string' || !args.leaseUuid.match(UUID_RE)) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n `manageDomain ${args.action}: leaseUuid must be a UUID; got \"${args.leaseUuid}\".`,\n );\n }\n if (args.action === 'set') {\n if (typeof args.fqdn !== 'string' || args.fqdn.trim() === '') {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n 'manageDomain set: fqdn must be a non-empty string.',\n );\n }\n // Validate against the trimmed candidate (Copilot review PR #60,\n // comment 3276519081): surrounding whitespace is silently stripped\n // (like `lookupDomain`) rather than rejected. Note `setItemCustomDomain`\n // does NOT re-trim — it takes an already-normalized branded `Fqdn`\n // (parse-once at the boundary) — so the normalization lives here and at\n // the `fqdn` assignment above, not in the primitive.\n const candidate = args.fqdn.trim();\n if (candidate.match(SCHEME_PREFIX_RE)) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n `manageDomain set: fqdn must be a bare hostname (no scheme); got \"${args.fqdn}\".`,\n );\n }\n if (!candidate.match(FQDN_RE)) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n `manageDomain set: fqdn \"${args.fqdn}\" is not a valid RFC 1123 hostname (≤253 chars, ≥2 dot-separated labels of 1-63 alphanumeric/hyphen chars; no leading/trailing hyphens).`,\n );\n }\n }\n}\n\nfunction renderConfirmationBlock(\n args: Exclude<ManageDomainArgs, { action: 'lookup' }>,\n): DeploymentPlanBlock {\n const lines: string[] = [];\n if (args.action === 'set') {\n lines.push(`Set custom domain on lease ${args.leaseUuid}:`);\n // Display the trimmed FQDN — matches the value that will be\n // broadcast (per the silent-trim semantics aligned with\n // setItemCustomDomain) so users don't see whitespace in the\n // confirm prompt that won't appear on-chain.\n lines.push(` FQDN: ${args.fqdn.trim()}`);\n if (args.serviceName) {\n lines.push(` Service: ${args.serviceName}`);\n }\n lines.push('');\n lines.push('Proceed?');\n } else {\n lines.push(`Clear custom domain on lease ${args.leaseUuid}:`);\n if (args.serviceName) {\n lines.push(` Service: ${args.serviceName}`);\n }\n lines.push('');\n lines.push('Proceed?');\n }\n return { text: lines.join('\\n') };\n}\n\nasync function lookupDomain(\n fqdn: string,\n callbacks: ManageDomainCallbacks,\n opts: ManageDomainOptions,\n): Promise<ManageDomainResult> {\n const customDomain = fqdn.trim();\n // Cancellation seam (ENG-374): read-only flow races the single query for\n // withReadSignal parity. Manifestjs queries take no AbortSignal, so on abort\n // we stop awaiting (the RPC is not actually cancelled).\n const cx = makeCancellationScope({\n opts,\n onProgress: callbacks.onProgress,\n opLabel: 'Domain lookup',\n broadcasts: false,\n });\n cx.throwIfCancelled();\n let result: unknown;\n try {\n // Pull `getQueryClient()` INSIDE the try (Copilot review PR #60,\n // comment 3276719558). `getQueryClient()` can throw\n // `INVALID_CONFIG` (neither rpcUrl nor restUrl set) or\n // `RPC_CONNECTION_FAILED` (connect failure). Catching here routes\n // those init-time failures through the same `onFailure` +\n // QUERY_FAILED / structured-passthrough normalization the chain-\n // query failure mode already gets. The set/clear verifier closure\n // (in `manageDomain` body above) already wraps `getQueryClient()`\n // since commit d9793c1; this brings `lookupDomain` to parity.\n const queryClient = await opts.clientManager.getQueryClient();\n result = await cx.race(\n queryClient.liftedinit.billing.v1.leaseByCustomDomain({\n customDomain,\n }),\n );\n } catch (err) {\n // Cancellation short-circuit (ENG-374): an aborted read is neither a\n // \"not found\" nor a query failure — re-throw BEFORE the not-found /\n // onFailure handling so it never invokes `onFailure`.\n if (\n err instanceof ManifestMCPError &&\n err.code === ManifestMCPErrorCode.OPERATION_CANCELLED\n ) {\n throw err;\n }\n // Narrowed disambiguation (ENG-536): the keeper's NotFound now arrives as\n // a structured `NOT_FOUND` — classified from the grpc envelope in core's\n // LCD adapter, or from cosmjs's `rpc error: code = NotFound` text over\n // RPC (see core's `internals/classify-query-error.ts`). Only that case\n // is collapsed to the typed `{ lease: null }` result (via `onComplete`).\n // Every other failure — including a proxy 404 whose message merely\n // contains \"not found\" — flows through `onFailure({ reason })` then a\n // typed throw. `isNotFoundError` used to be a local loose-regex helper\n // here; it is now core's shared predicate (imported above) so all\n // callers agree on what \"not found\" means.\n if (isNotFoundError(err)) {\n const notFoundResult: ManageDomainResult = {\n action: 'lookup',\n fqdn: customDomain,\n lease: null,\n };\n callbacks.onComplete?.(notFoundResult);\n return notFoundResult;\n }\n const reason = `lease_by_custom_domain lookup failed for \"${customDomain}\": ${\n err instanceof Error ? err.message : String(err)\n }`;\n if (callbacks.onFailure) {\n await callbacks.onFailure({ reason });\n }\n if (err instanceof ManifestMCPError) {\n throw err;\n }\n throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, reason);\n }\n const uuid = readLeaseUuid((result as { lease?: unknown })?.lease);\n const lookupResult: ManageDomainResult = {\n action: 'lookup',\n fqdn: customDomain,\n lease: uuid ? { leaseUuid: uuid } : null,\n };\n // Symmetric `onComplete` fire (Copilot review PR #60, comment\n // 3288656598). Pre-fix, the lookup path returned without invoking\n // `onComplete` — asymmetric vs the set/clear paths in this same\n // function and vs `closeLease` / `troubleshootDeployment`. Was\n // documented as \"intentional\" in PR_DESCRIPTION.md Risks #1 but\n // was really an oversight rationalized post-hoc. Now consistent.\n callbacks.onComplete?.(lookupResult);\n return lookupResult;\n}\n\nfunction readLeaseUuid(lease: unknown): string | undefined {\n if (lease === null || typeof lease !== 'object') return undefined;\n const r = lease as {\n uuid?: unknown;\n lease_uuid?: unknown;\n leaseUuid?: unknown;\n };\n const u = r.uuid ?? r.lease_uuid ?? r.leaseUuid;\n return typeof u === 'string' && u.length > 0 ? u : undefined;\n}\n\nfunction deriveFinalCustomDomain(\n diagnostic: VerifyDomainResult,\n action: 'set' | 'clear',\n): string | null {\n if (action === 'clear') return null;\n const actual = diagnostic.actual ?? '';\n return actual.length > 0 ? actual : null;\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"manage-domain.js","names":[],"sources":["../src/manage-domain.ts"],"sourcesContent":["/**\n * Public entry point: orchestrate setting, clearing, or looking up a\n * lease item's custom domain.\n *\n * Composition (mirrors `deploy-app.ts`'s shape):\n *\n * - `set` / `clear` render a confirmation block, optionally call\n * `onConfirm`, broadcast `setItemCustomDomain` against the agent's\n * bound chain client, then verify the post-broadcast on-chain state\n * via `verifyAndRecover` driving `verify-domain-state` over a direct\n * `billing.v1.lease({ leaseUuid })` single-lease query (tenant-\n * agnostic, no pagination edge cases). Branches are inline closures\n * bound to the per-action context; recovery options are intentionally\n * empty so the verifier surfaces failures via the simple-form\n * `onFailure({ reason })` adapter rather than the rich-form\n * `RecoveryOption[]` prompt (manage-domain has no recovery primitives\n * the orchestrator can dispatch; the user re-runs after a real fix).\n *\n * - `lookup` skips broadcast/verify and resolves the FQDN via the\n * `lease_by_custom_domain` chain query; returns `null` lease when\n * the FQDN isn't claimed.\n */\n\nimport {\n isNotFoundError,\n ManifestMCPError,\n ManifestMCPErrorCode,\n noopLogger,\n parseFqdn,\n parseLeaseUuid,\n setItemCustomDomain,\n} from '@manifest-network/manifest-mcp-core';\nimport { makeCancellationScope } from './internals/cancellation.js';\nimport {\n type VerifyDomainOutcome,\n type VerifyDomainResult,\n verifyDomainState,\n} from './internals/verify-domain-state.js';\nimport {\n type VerificationSpec,\n verifyAndRecover,\n} from './internals/verify-recover.js';\nimport type {\n DeploymentPlanBlock,\n ManageDomainArgs,\n ManageDomainCallbacks,\n ManageDomainOptions,\n ManageDomainResult,\n} from './types.js';\n\nconst UUID_RE =\n /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n\n// RFC 1123 hostname: each label 1-63 chars, alphanumeric + hyphens, no leading/\n// trailing hyphen; total ≤253 chars; ≥2 labels (FQDN, not single-label host).\n// Rejects scheme prefixes ('http://'), whitespace, trailing dots, and raw\n// unicode (ASCII punycode `xn--...` is accepted — it matches the regex's\n// `[A-Za-z0-9-]` label character class, which is the standard wire form\n// for IDN labels).\n//\n// Client-side typo gate only. The chain's `MsgSetItemCustomDomain` keeper is\n// the authoritative validator (canonical lowercase, reserved-suffix rules,\n// FQDN format). This anchored regex catches the obvious-malformed-input\n// cases pre-broadcast so we don't waste a tx on `\"\"`, `\" \"`, `\"http://x.y\"`,\n// or `\"not a domain\"`. Anything that passes here still goes through the\n// chain's own validation.\nconst FQDN_RE =\n /^(?=.{1,253}$)(?:[A-Za-z0-9](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?\\.)+[A-Za-z](?:[A-Za-z0-9-]{0,61}[A-Za-z0-9])?$/;\n\nconst SCHEME_PREFIX_RE = /^https?:\\/\\//i;\n\n/**\n * Set / clear / look up a lease item's custom domain.\n *\n * @throws `ManifestMCPError(INVALID_CONFIG)` for args validation.\n * @throws `ManifestMCPError(OPERATION_CANCELLED)` when `onConfirm` returns\n * `'no'` (deliberate user cancellation — ENG-272).\n * @throws `ManifestMCPError` (typically `TX_FAILED`) propagated as-is\n * from the `setItemCustomDomain()` broadcast step in `set` / `clear`\n * paths. Broadcast errors do NOT invoke `onFailure` — that callback\n * is reserved for post-broadcast verification failures.\n * `setItemCustomDomain` already raises a structured `ManifestMCPError`\n * from the core package; wrapping it again at this layer would be\n * redundant. Callers wanting to react to broadcast errors should\n * catch them at the call site.\n * @throws `ManifestMCPError(TX_FAILED)` when post-broadcast verification\n * reaches a `not_found` / `mismatch` outcome (after `onFailure` has\n * been invoked so the caller can react).\n * @throws `ManifestMCPError(QUERY_FAILED)` when a chain query raises a\n * non-NotFound error (RPC / transport / decoding failure). Two paths\n * surface this:\n * - the `lookup` chain query (`lease_by_custom_domain`); the keeper's\n * `NotFound` on an unclaimed FQDN is surfaced as a typed\n * `{ lease: null }` result, not a throw.\n * - the post-broadcast verify chain query (`billing.v1.lease`) in\n * the `set` / `clear` paths (wrapped inside the verifier closure\n * so the failure flows through `onFailure({ reason })` before the\n * throw).\n * Structured `ManifestMCPError`s raised by the chain client are\n * re-thrown as-is (with `onFailure` invoked first).\n */\nexport async function manageDomain(\n args: ManageDomainArgs,\n callbacks: ManageDomainCallbacks,\n opts: ManageDomainOptions,\n): Promise<ManageDomainResult> {\n validateArgs(args);\n\n if (args.action === 'lookup') {\n return await lookupDomain(args.fqdn, callbacks, opts);\n }\n\n const serviceName = args.serviceName;\n // Normalize the FQDN once for `set`: trim surrounding whitespace\n // (Copilot review PR #60, comment 3276519081) AND lowercase (RFC 4343),\n // matching what `parseFqdn` does to the broadcast value below. Both the\n // broadcast (`parseFqdn(fqdn)`) and the post-broadcast verification\n // (`expected: fqdn`) must compare the SAME normalized value — otherwise a\n // mixed-case input broadcasts lowercased but verifies against the raw\n // casing, producing a spurious mismatch (code-review PR #102).\n // `validateArgs` still rejects the empty / whitespace-only case via\n // `args.fqdn.trim() === ''`.\n const fqdn = args.action === 'set' ? args.fqdn.trim().toLowerCase() : '';\n\n // Cancellation seam (ENG-374, shared via internals/cancellation.ts). Race ONLY\n // the pre-broadcast `onConfirm`; the post-broadcast verifier routes into\n // recovery (D4.6) and is never cancelled.\n const cx = makeCancellationScope({\n opts,\n onProgress: callbacks.onProgress,\n opLabel: 'Domain update',\n broadcasts: true,\n });\n cx.throwIfCancelled();\n\n // --- Confirmation block ---------------------------------------------\n const block = renderConfirmationBlock(args);\n if (callbacks.onConfirm) {\n const yesNo = await cx.race(callbacks.onConfirm(block));\n if (yesNo !== 'yes') {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.OPERATION_CANCELLED,\n `User declined to proceed with manage-domain ${args.action}.`,\n );\n }\n }\n callbacks.onProgress?.({ kind: 'user_confirmed' });\n\n // --- Broadcast ------------------------------------------------------\n // txCtx has no signer (ManageDomainOptions carries no walletProvider); the\n // sender resolves from ctx.chain (the CosmosClientManager wallet). See OI-SENDER.\n // The raw MCP `leaseUuid`/`fqdn` strings are unbranded → parse at the boundary.\n const leaseUuid = parseLeaseUuid(args.leaseUuid);\n cx.throwIfCancelled();\n await setItemCustomDomain(\n { chain: opts.clientManager, logger: noopLogger },\n args.action === 'set'\n ? { leaseUuid, customDomain: parseFqdn(fqdn), serviceName }\n : { leaseUuid, clear: true, serviceName },\n );\n\n // --- Verify ---------------------------------------------------------\n // Direct single-lease query (Copilot review PR #60, comment 3275999569):\n // the previous `leasesByTenant` + page-1-only pagination would\n // false-`not_found` for tenants with >100 leases. `billing.v1.lease`\n // is the same query shape `troubleshoot.ts` already uses; it's\n // tenant-agnostic and bounded to a single lease.\n //\n // We wrap the single-lease result as `{ leases: [result.lease] }`\n // (or an empty array if the chain returns no match) so\n // `verifyDomainState` stays untouched — its `findLease` walks the\n // same shape, and a `not_found` outcome falls out naturally when the\n // wrapper array is empty.\n const spec: VerificationSpec<\n unknown,\n VerifyDomainOutcome,\n VerifyDomainResult\n > = {\n verifier: async () => {\n // Wrap the chain call in try/catch (Copilot review PR #60,\n // comment 3276419210): if `billing.v1.lease` rejects (RPC down,\n // transport, structured `ManifestMCPError`), the error would\n // otherwise propagate OUT of `verifyAndRecover` and bypass the\n // post-verify `onFailure({ reason })` callback below. Mirror\n // the disambiguation pattern from `lookupDomain` (commit aaa5cc5)\n // and `troubleshootDeployment` (commit f1a4737): invoke\n // `onFailure` first, then re-throw `ManifestMCPError` as-is or\n // wrap plain errors as `QUERY_FAILED`.\n let result: unknown;\n try {\n const queryClient = await opts.clientManager.getQueryClient();\n result = await queryClient.liftedinit.billing.v1.lease({\n leaseUuid: args.leaseUuid,\n });\n } catch (err) {\n const reason = `Failed to query lease ${args.leaseUuid} during ${args.action}-verify: ${\n err instanceof Error ? err.message : String(err)\n }`;\n if (callbacks.onFailure) {\n await callbacks.onFailure({ reason });\n }\n if (err instanceof ManifestMCPError) {\n throw err;\n }\n throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, reason);\n }\n const lease = (result as { lease?: unknown })?.lease;\n const leases = lease === null || lease === undefined ? [] : [lease];\n const decoded = verifyDomainState(\n { leases },\n {\n leaseUuid: args.leaseUuid,\n ...(serviceName ? { serviceName } : {}),\n expected: fqdn,\n },\n );\n return { outcome: decoded.outcome, diagnostic: decoded };\n },\n successValues: ['match'],\n branches: {\n mismatch: {\n branchId: 'domain_verification_mismatch',\n journalActionTags: ['domain-verification-mismatch'],\n buildFailureEnvelope: (d) => ({\n outcome: 'failed',\n reason:\n args.action === 'set'\n ? `Chain shows custom_domain=\"${d.actual ?? ''}\" for lease ${args.leaseUuid}; expected \"${fqdn}\".`\n : `Chain still shows custom_domain=\"${d.actual ?? ''}\" for lease ${args.leaseUuid}; expected cleared.`,\n }),\n buildRecoveryOptions: () => [],\n },\n not_found: {\n branchId: 'domain_not_found',\n journalActionTags: ['domain-verification-not-found'],\n buildFailureEnvelope: (d) => ({\n outcome: 'failed',\n reason:\n d.reason ??\n `Lease ${args.leaseUuid} not found when verifying domain state.`,\n }),\n buildRecoveryOptions: () => [],\n },\n },\n };\n\n const verifyResult = await verifyAndRecover(spec, undefined);\n const verified = verifyResult.result === 'success';\n const finalCustomDomain = deriveFinalCustomDomain(\n verifyResult.diagnostic,\n args.action,\n );\n\n if (!verified) {\n const reason =\n verifyResult.failure?.reason ??\n `manage-domain ${args.action} verification failed.`;\n if (callbacks.onFailure) {\n await callbacks.onFailure({ reason });\n }\n throw new ManifestMCPError(ManifestMCPErrorCode.TX_FAILED, reason);\n }\n\n const result: ManageDomainResult = {\n action: args.action,\n leaseUuid: args.leaseUuid,\n verified,\n finalCustomDomain,\n };\n callbacks.onComplete?.(result);\n return result;\n}\n\n// --- Helpers --------------------------------------------------------\n\nfunction validateArgs(args: ManageDomainArgs): void {\n if (\n args.action !== 'set' &&\n args.action !== 'clear' &&\n args.action !== 'lookup'\n ) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n `manageDomain: unknown action \"${(args as { action?: string }).action}\".`,\n );\n }\n if (args.action === 'lookup') {\n if (typeof args.fqdn !== 'string' || args.fqdn.trim() === '') {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n 'manageDomain lookup: fqdn must be a non-empty string.',\n );\n }\n return;\n }\n if (typeof args.leaseUuid !== 'string' || !args.leaseUuid.match(UUID_RE)) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n `manageDomain ${args.action}: leaseUuid must be a UUID; got \"${args.leaseUuid}\".`,\n );\n }\n if (args.action === 'set') {\n if (typeof args.fqdn !== 'string' || args.fqdn.trim() === '') {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n 'manageDomain set: fqdn must be a non-empty string.',\n );\n }\n // Validate against the trimmed candidate (Copilot review PR #60,\n // comment 3276519081): surrounding whitespace is silently stripped\n // (like `lookupDomain`) rather than rejected. Note `setItemCustomDomain`\n // does NOT re-trim — it takes an already-normalized branded `Fqdn`\n // (parse-once at the boundary) — so the normalization lives here and at\n // the `fqdn` assignment above, not in the primitive.\n const candidate = args.fqdn.trim();\n if (candidate.match(SCHEME_PREFIX_RE)) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n `manageDomain set: fqdn must be a bare hostname (no scheme); got \"${args.fqdn}\".`,\n );\n }\n if (!candidate.match(FQDN_RE)) {\n throw new ManifestMCPError(\n ManifestMCPErrorCode.INVALID_CONFIG,\n `manageDomain set: fqdn \"${args.fqdn}\" is not a valid RFC 1123 hostname (≤253 chars, ≥2 dot-separated labels of 1-63 alphanumeric/hyphen chars; no leading/trailing hyphens).`,\n );\n }\n }\n}\n\nfunction renderConfirmationBlock(\n args: Exclude<ManageDomainArgs, { action: 'lookup' }>,\n): DeploymentPlanBlock {\n const lines: string[] = [];\n if (args.action === 'set') {\n lines.push(`Set custom domain on lease ${args.leaseUuid}:`);\n // Display the trimmed FQDN — matches the value that will be\n // broadcast (per the silent-trim semantics aligned with\n // setItemCustomDomain) so users don't see whitespace in the\n // confirm prompt that won't appear on-chain.\n lines.push(` FQDN: ${args.fqdn.trim()}`);\n if (args.serviceName) {\n lines.push(` Service: ${args.serviceName}`);\n }\n lines.push('');\n lines.push('Proceed?');\n } else {\n lines.push(`Clear custom domain on lease ${args.leaseUuid}:`);\n if (args.serviceName) {\n lines.push(` Service: ${args.serviceName}`);\n }\n lines.push('');\n lines.push('Proceed?');\n }\n return { text: lines.join('\\n') };\n}\n\nasync function lookupDomain(\n fqdn: string,\n callbacks: ManageDomainCallbacks,\n opts: ManageDomainOptions,\n): Promise<ManageDomainResult> {\n const customDomain = fqdn.trim();\n // Cancellation seam (ENG-374): read-only flow races the single query for\n // withReadSignal parity. Manifestjs queries take no AbortSignal, so on abort\n // we stop awaiting (the RPC is not actually cancelled).\n const cx = makeCancellationScope({\n opts,\n onProgress: callbacks.onProgress,\n opLabel: 'Domain lookup',\n broadcasts: false,\n });\n cx.throwIfCancelled();\n let result: unknown;\n try {\n // Pull `getQueryClient()` INSIDE the try (Copilot review PR #60,\n // comment 3276719558). `getQueryClient()` can throw\n // `INVALID_CONFIG` (neither rpcUrl nor restUrl set) or\n // `RPC_CONNECTION_FAILED` (connect failure). Catching here routes\n // those init-time failures through the same `onFailure` +\n // QUERY_FAILED / structured-passthrough normalization the chain-\n // query failure mode already gets. The set/clear verifier closure\n // (in `manageDomain` body above) already wraps `getQueryClient()`\n // since commit d9793c1; this brings `lookupDomain` to parity.\n const queryClient = await opts.clientManager.getQueryClient();\n result = await cx.race(\n queryClient.liftedinit.billing.v1.leaseByCustomDomain({\n customDomain,\n }),\n );\n } catch (err) {\n // Cancellation short-circuit (ENG-374): an aborted read is neither a\n // \"not found\" nor a query failure — re-throw BEFORE the not-found /\n // onFailure handling so it never invokes `onFailure`.\n if (\n err instanceof ManifestMCPError &&\n err.code === ManifestMCPErrorCode.OPERATION_CANCELLED\n ) {\n throw err;\n }\n // Narrowed disambiguation (ENG-536): the keeper's NotFound now arrives as\n // a structured `NOT_FOUND` — classified from the grpc envelope in core's\n // LCD adapter, or from cosmjs's `rpc error: code = NotFound` text over\n // RPC (see core's `internals/classify-query-error.ts`). Only that case\n // is collapsed to the typed `{ lease: null }` result (via `onComplete`).\n // Every other failure — including a proxy 404 whose message merely\n // contains \"not found\" — flows through `onFailure({ reason })` then a\n // typed throw. `isNotFoundError` used to be a local loose-regex helper\n // here; it is now core's shared predicate (imported above) so all\n // callers agree on what \"not found\" means.\n if (isNotFoundError(err)) {\n const notFoundResult: ManageDomainResult = {\n action: 'lookup',\n fqdn: customDomain,\n lease: null,\n };\n callbacks.onComplete?.(notFoundResult);\n return notFoundResult;\n }\n const reason = `lease_by_custom_domain lookup failed for \"${customDomain}\": ${\n err instanceof Error ? err.message : String(err)\n }`;\n if (callbacks.onFailure) {\n await callbacks.onFailure({ reason });\n }\n if (err instanceof ManifestMCPError) {\n throw err;\n }\n throw new ManifestMCPError(ManifestMCPErrorCode.QUERY_FAILED, reason);\n }\n const uuid = readLeaseUuid((result as { lease?: unknown })?.lease);\n const lookupResult: ManageDomainResult = {\n action: 'lookup',\n fqdn: customDomain,\n lease: uuid ? { leaseUuid: uuid } : null,\n };\n // Symmetric `onComplete` fire (Copilot review PR #60, comment\n // 3288656598). Pre-fix, the lookup path returned without invoking\n // `onComplete` — asymmetric vs the set/clear paths in this same\n // function and vs `closeLease` / `troubleshootDeployment`. Was\n // documented as \"intentional\" in PR_DESCRIPTION.md Risks #1 but\n // was really an oversight rationalized post-hoc. Now consistent.\n callbacks.onComplete?.(lookupResult);\n return lookupResult;\n}\n\nfunction readLeaseUuid(lease: unknown): string | undefined {\n if (lease === null || typeof lease !== 'object') return undefined;\n const r = lease as {\n uuid?: unknown;\n lease_uuid?: unknown;\n leaseUuid?: unknown;\n };\n const u = r.uuid ?? r.lease_uuid ?? r.leaseUuid;\n return typeof u === 'string' && u.length > 0 ? u : undefined;\n}\n\nfunction deriveFinalCustomDomain(\n diagnostic: VerifyDomainResult,\n action: 'set' | 'clear',\n): string | null {\n if (action === 'clear') return null;\n const actual = diagnostic.actual ?? '';\n return actual.length > 0 ? actual : null;\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { y } from "../../../tinyrainbow/dist/index.js";
1
+ import y from "../../../tinyrainbow/dist/index.js";
2
2
  //#region ../../node_modules/@vitest/pretty-format/dist/index.js
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function(e) {
@@ -153,7 +153,7 @@ const plugin$5 = {
153
153
  test: test$5
154
154
  };
155
155
  const SPACE$1 = " ";
156
- const OBJECT_NAMES = new Set(["DOMStringMap", "NamedNodeMap"]);
156
+ const OBJECT_NAMES = /* @__PURE__ */ new Set(["DOMStringMap", "NamedNodeMap"]);
157
157
  const ARRAY_REGEXP = /^(?:HTML\w*Collection|NodeList)$/;
158
158
  function testName(name) {
159
159
  return OBJECT_NAMES.has(name) || ARRAY_REGEXP.test(name);
@@ -883,6 +883,6 @@ const plugins = {
883
883
  Error: ErrorPlugin
884
884
  };
885
885
  //#endregion
886
- export { createDOMElementFilter, format, plugins };
886
+ export { DEFAULT_OPTIONS, createDOMElementFilter, format, plugins };
887
887
 
888
888
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["styles"],"sources":["../../../../../../../node_modules/@vitest/pretty-format/dist/index.js"],"sourcesContent":["import styles from 'tinyrainbow';\n\nfunction _mergeNamespaces(n, m) {\n m.forEach(function (e) {\n e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {\n if (k !== 'default' && !(k in n)) {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n });\n return Object.freeze(n);\n}\n\nfunction getKeysOfEnumerableProperties(object, compareKeys) {\n\tconst rawKeys = Object.keys(object);\n\tconst keys = compareKeys === null ? rawKeys : rawKeys.sort(compareKeys);\n\tif (Object.getOwnPropertySymbols) {\n\t\tfor (const symbol of Object.getOwnPropertySymbols(object)) {\n\t\t\tif (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {\n\t\t\t\tkeys.push(symbol);\n\t\t\t}\n\t\t}\n\t}\n\treturn keys;\n}\n/**\n* Return entries (for example, of a map)\n* with spacing, indentation, and comma\n* without surrounding punctuation (for example, braces)\n*/\nfunction printIteratorEntries(iterator, config, indentation, depth, refs, printer, separator = \": \") {\n\tlet result = \"\";\n\tlet width = 0;\n\tlet current = iterator.next();\n\tif (!current.done) {\n\t\tresult += config.spacingOuter;\n\t\tconst indentationNext = indentation + config.indent;\n\t\twhile (!current.done) {\n\t\t\tresult += indentationNext;\n\t\t\tif (width++ === config.maxWidth) {\n\t\t\t\tresult += \"…\";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst name = printer(current.value[0], config, indentationNext, depth, refs);\n\t\t\tconst value = printer(current.value[1], config, indentationNext, depth, refs);\n\t\t\tresult += name + separator + value;\n\t\t\tcurrent = iterator.next();\n\t\t\tif (!current.done) {\n\t\t\t\tresult += `,${config.spacingInner}`;\n\t\t\t} else if (!config.min) {\n\t\t\t\tresult += \",\";\n\t\t\t}\n\t\t}\n\t\tresult += config.spacingOuter + indentation;\n\t}\n\treturn result;\n}\n/**\n* Return values (for example, of a set)\n* with spacing, indentation, and comma\n* without surrounding punctuation (braces or brackets)\n*/\nfunction printIteratorValues(iterator, config, indentation, depth, refs, printer) {\n\tlet result = \"\";\n\tlet width = 0;\n\tlet current = iterator.next();\n\tif (!current.done) {\n\t\tresult += config.spacingOuter;\n\t\tconst indentationNext = indentation + config.indent;\n\t\twhile (!current.done) {\n\t\t\tresult += indentationNext;\n\t\t\tif (width++ === config.maxWidth) {\n\t\t\t\tresult += \"…\";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tresult += printer(current.value, config, indentationNext, depth, refs);\n\t\t\tcurrent = iterator.next();\n\t\t\tif (!current.done) {\n\t\t\t\tresult += `,${config.spacingInner}`;\n\t\t\t} else if (!config.min) {\n\t\t\t\tresult += \",\";\n\t\t\t}\n\t\t}\n\t\tresult += config.spacingOuter + indentation;\n\t}\n\treturn result;\n}\n/**\n* Return items (for example, of an array)\n* with spacing, indentation, and comma\n* without surrounding punctuation (for example, brackets)\n*/\nfunction printListItems(list, config, indentation, depth, refs, printer) {\n\tlet result = \"\";\n\tlist = list instanceof ArrayBuffer ? new DataView(list) : list;\n\tconst isDataView = (l) => l instanceof DataView;\n\tconst length = isDataView(list) ? list.byteLength : list.length;\n\tif (length > 0) {\n\t\tresult += config.spacingOuter;\n\t\tconst indentationNext = indentation + config.indent;\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tresult += indentationNext;\n\t\t\tif (i === config.maxWidth) {\n\t\t\t\tresult += \"…\";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (isDataView(list) || i in list) {\n\t\t\t\tresult += printer(isDataView(list) ? list.getInt8(i) : list[i], config, indentationNext, depth, refs);\n\t\t\t}\n\t\t\tif (i < length - 1) {\n\t\t\t\tresult += `,${config.spacingInner}`;\n\t\t\t} else if (!config.min) {\n\t\t\t\tresult += \",\";\n\t\t\t}\n\t\t}\n\t\tresult += config.spacingOuter + indentation;\n\t}\n\treturn result;\n}\n/**\n* Return properties of an object\n* with spacing, indentation, and comma\n* without surrounding punctuation (for example, braces)\n*/\nfunction printObjectProperties(val, config, indentation, depth, refs, printer) {\n\tlet result = \"\";\n\tconst keys = getKeysOfEnumerableProperties(val, config.compareKeys);\n\tif (keys.length > 0) {\n\t\tresult += config.spacingOuter;\n\t\tconst indentationNext = indentation + config.indent;\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst key = keys[i];\n\t\t\tconst name = printer(key, config, indentationNext, depth, refs);\n\t\t\tconst value = printer(val[key], config, indentationNext, depth, refs);\n\t\t\tresult += `${indentationNext + name}: ${value}`;\n\t\t\tif (i < keys.length - 1) {\n\t\t\t\tresult += `,${config.spacingInner}`;\n\t\t\t} else if (!config.min) {\n\t\t\t\tresult += \",\";\n\t\t\t}\n\t\t}\n\t\tresult += config.spacingOuter + indentation;\n\t}\n\treturn result;\n}\n\nconst asymmetricMatcher = typeof Symbol === \"function\" && Symbol.for ? Symbol.for(\"jest.asymmetricMatcher\") : 1267621;\nconst SPACE$2 = \" \";\nconst serialize$5 = (val, config, indentation, depth, refs, printer) => {\n\tconst stringedValue = val.toString();\n\tif (stringedValue === \"ArrayContaining\" || stringedValue === \"ArrayNotContaining\") {\n\t\tif (++depth > config.maxDepth) {\n\t\t\treturn `[${stringedValue}]`;\n\t\t}\n\t\treturn `${stringedValue + SPACE$2}[${printListItems(val.sample, config, indentation, depth, refs, printer)}]`;\n\t}\n\tif (stringedValue === \"ObjectContaining\" || stringedValue === \"ObjectNotContaining\") {\n\t\tif (++depth > config.maxDepth) {\n\t\t\treturn `[${stringedValue}]`;\n\t\t}\n\t\treturn `${stringedValue + SPACE$2}{${printObjectProperties(val.sample, config, indentation, depth, refs, printer)}}`;\n\t}\n\tif (stringedValue === \"StringMatching\" || stringedValue === \"StringNotMatching\") {\n\t\treturn stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs);\n\t}\n\tif (stringedValue === \"StringContaining\" || stringedValue === \"StringNotContaining\") {\n\t\treturn stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs);\n\t}\n\tif (typeof val.toAsymmetricMatcher !== \"function\") {\n\t\tthrow new TypeError(`Asymmetric matcher ${val.constructor.name} does not implement toAsymmetricMatcher()`);\n\t}\n\treturn val.toAsymmetricMatcher();\n};\nconst test$5 = (val) => val && val.$$typeof === asymmetricMatcher;\nconst plugin$5 = {\n\tserialize: serialize$5,\n\ttest: test$5\n};\n\nconst SPACE$1 = \" \";\nconst OBJECT_NAMES = new Set([\"DOMStringMap\", \"NamedNodeMap\"]);\nconst ARRAY_REGEXP = /^(?:HTML\\w*Collection|NodeList)$/;\nfunction testName(name) {\n\treturn OBJECT_NAMES.has(name) || ARRAY_REGEXP.test(name);\n}\nconst test$4 = (val) => val && val.constructor && !!val.constructor.name && testName(val.constructor.name);\nfunction isNamedNodeMap(collection) {\n\treturn collection.constructor.name === \"NamedNodeMap\";\n}\nconst serialize$4 = (collection, config, indentation, depth, refs, printer) => {\n\tconst name = collection.constructor.name;\n\tif (++depth > config.maxDepth) {\n\t\treturn `[${name}]`;\n\t}\n\treturn (config.min ? \"\" : name + SPACE$1) + (OBJECT_NAMES.has(name) ? `{${printObjectProperties(isNamedNodeMap(collection) ? [...collection].reduce((props, attribute) => {\n\t\tprops[attribute.name] = attribute.value;\n\t\treturn props;\n\t}, {}) : { ...collection }, config, indentation, depth, refs, printer)}}` : `[${printListItems([...collection], config, indentation, depth, refs, printer)}]`);\n};\nconst plugin$4 = {\n\tserialize: serialize$4,\n\ttest: test$4\n};\n\n/**\n* Copyright (c) Meta Platforms, Inc. and affiliates.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\nfunction escapeHTML(str) {\n\treturn str.replaceAll(\"<\", \"&lt;\").replaceAll(\">\", \"&gt;\");\n}\n\n// Return empty string if keys is empty.\nfunction printProps(keys, props, config, indentation, depth, refs, printer) {\n\tconst indentationNext = indentation + config.indent;\n\tconst colors = config.colors;\n\treturn keys.map((key) => {\n\t\tconst value = props[key];\n\t\t// hidden injected value that should not be printed\n\t\tif (typeof value === \"string\" && value[0] === \"_\" && value.startsWith(\"__vitest_\") && value.match(/__vitest_\\d+__/)) {\n\t\t\treturn \"\";\n\t\t}\n\t\tlet printed = printer(value, config, indentationNext, depth, refs);\n\t\tif (typeof value !== \"string\") {\n\t\t\tif (printed.includes(\"\\n\")) {\n\t\t\t\tprinted = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation;\n\t\t\t}\n\t\t\tprinted = `{${printed}}`;\n\t\t}\n\t\treturn `${config.spacingInner + indentation + colors.prop.open + key + colors.prop.close}=${colors.value.open}${printed}${colors.value.close}`;\n\t}).join(\"\");\n}\n// Return empty string if children is empty.\nfunction printChildren(children, config, indentation, depth, refs, printer) {\n\treturn children.map((child) => config.spacingOuter + indentation + (typeof child === \"string\" ? printText(child, config) : printer(child, config, indentation, depth, refs))).join(\"\");\n}\nfunction printShadowRoot(children, config, indentation, depth, refs, printer) {\n\tif (config.printShadowRoot === false) {\n\t\treturn \"\";\n\t}\n\treturn [`${config.spacingOuter + indentation}#shadow-root`, printChildren(children, config, indentation + config.indent, depth, refs, printer)].join(\"\");\n}\nfunction printText(text, config) {\n\tconst contentColor = config.colors.content;\n\treturn contentColor.open + escapeHTML(text) + contentColor.close;\n}\nfunction printComment(comment, config) {\n\tconst commentColor = config.colors.comment;\n\treturn `${commentColor.open}<!--${escapeHTML(comment)}-->${commentColor.close}`;\n}\n// Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\nfunction printElement(type, printedProps, printedChildren, config, indentation) {\n\tconst tagColor = config.colors.tag;\n\treturn `${tagColor.open}<${type}${printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open}${printedChildren ? `>${tagColor.close}${printedChildren}${config.spacingOuter}${indentation}${tagColor.open}</${type}` : `${printedProps && !config.min ? \"\" : \" \"}/`}>${tagColor.close}`;\n}\nfunction printElementAsLeaf(type, config) {\n\tconst tagColor = config.colors.tag;\n\treturn `${tagColor.open}<${type}${tagColor.close} …${tagColor.open} />${tagColor.close}`;\n}\n\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^(?:(?:HTML|SVG)\\w*)?Element$/;\nfunction testHasAttribute(val) {\n\ttry {\n\t\treturn typeof val.hasAttribute === \"function\" && val.hasAttribute(\"is\");\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction testNode(val) {\n\tconst constructorName = val.constructor.name;\n\tconst { nodeType, tagName } = val;\n\tconst isCustomElement = typeof tagName === \"string\" && tagName.includes(\"-\") || testHasAttribute(val);\n\treturn nodeType === ELEMENT_NODE && (ELEMENT_REGEXP.test(constructorName) || isCustomElement) || nodeType === TEXT_NODE && constructorName === \"Text\" || nodeType === COMMENT_NODE && constructorName === \"Comment\" || nodeType === FRAGMENT_NODE && constructorName === \"DocumentFragment\";\n}\nconst test$3 = (val) => val?.constructor?.name && testNode(val);\nfunction nodeIsText(node) {\n\treturn node.nodeType === TEXT_NODE;\n}\nfunction nodeIsComment(node) {\n\treturn node.nodeType === COMMENT_NODE;\n}\nfunction nodeIsFragment(node) {\n\treturn node.nodeType === FRAGMENT_NODE;\n}\nfunction filterChildren(children, filterNode) {\n\t// Filter out text nodes that only contain whitespace to prevent empty lines\n\t// This is done regardless of whether a filterNode is provided\n\tlet filtered = children.filter((node) => {\n\t\t// Filter out text nodes that are only whitespace\n\t\tif (node.nodeType === TEXT_NODE) {\n\t\t\tconst text = node.data || \"\";\n\t\t\t// Keep text nodes that have non-whitespace content\n\t\t\treturn text.trim().length > 0;\n\t\t}\n\t\treturn true;\n\t});\n\t// Apply additional user-provided filter if specified\n\tif (filterNode) {\n\t\tfiltered = filtered.filter(filterNode);\n\t}\n\treturn filtered;\n}\nfunction serializeDOM(node, config, indentation, depth, refs, printer, filterNode) {\n\tif (nodeIsText(node)) {\n\t\treturn printText(node.data, config);\n\t}\n\tif (nodeIsComment(node)) {\n\t\treturn printComment(node.data, config);\n\t}\n\tconst type = nodeIsFragment(node) ? \"DocumentFragment\" : node.tagName.toLowerCase();\n\tif (++depth > config.maxDepth) {\n\t\treturn printElementAsLeaf(type, config);\n\t}\n\tconst children = Array.prototype.slice.call(node.childNodes || node.children);\n\tconst shadowChildren = nodeIsFragment(node) || !node.shadowRoot ? [] : Array.prototype.slice.call(node.shadowRoot.children);\n\tconst resolvedChildren = filterNode ? filterChildren(children, filterNode) : children;\n\tconst resolvedShadowChildren = filterNode ? filterChildren(shadowChildren, filterNode) : shadowChildren;\n\treturn printElement(type, printProps(nodeIsFragment(node) ? [] : Array.from(node.attributes, (attr) => attr.name).sort(), nodeIsFragment(node) ? {} : [...node.attributes].reduce((props, attribute) => {\n\t\tprops[attribute.name] = attribute.value;\n\t\treturn props;\n\t}, {}), config, indentation + config.indent, depth, refs, printer), (resolvedShadowChildren.length > 0 ? printShadowRoot(resolvedShadowChildren, config, indentation + config.indent, depth, refs, printer) : \"\") + printChildren(resolvedChildren, config, indentation + config.indent, depth, refs, printer), config, indentation);\n}\nconst serialize$3 = (node, config, indentation, depth, refs, printer) => serializeDOM(node, config, indentation, depth, refs, printer);\nfunction createDOMElementFilter(filterNode) {\n\treturn {\n\t\ttest: test$3,\n\t\tserialize: (node, config, indentation, depth, refs, printer) => serializeDOM(node, config, indentation, depth, refs, printer, filterNode)\n\t};\n}\nconst plugin$3 = {\n\tserialize: serialize$3,\n\ttest: test$3\n};\n\n// SENTINEL constants are from https://github.com/facebook/immutable-js\nconst IS_ITERABLE_SENTINEL = \"@@__IMMUTABLE_ITERABLE__@@\";\nconst IS_LIST_SENTINEL = \"@@__IMMUTABLE_LIST__@@\";\nconst IS_KEYED_SENTINEL = \"@@__IMMUTABLE_KEYED__@@\";\nconst IS_MAP_SENTINEL = \"@@__IMMUTABLE_MAP__@@\";\nconst IS_ORDERED_SENTINEL = \"@@__IMMUTABLE_ORDERED__@@\";\nconst IS_RECORD_SENTINEL = \"@@__IMMUTABLE_RECORD__@@\";\nconst IS_SEQ_SENTINEL = \"@@__IMMUTABLE_SEQ__@@\";\nconst IS_SET_SENTINEL = \"@@__IMMUTABLE_SET__@@\";\nconst IS_STACK_SENTINEL = \"@@__IMMUTABLE_STACK__@@\";\nconst getImmutableName = (name) => `Immutable.${name}`;\nconst printAsLeaf = (name) => `[${name}]`;\nconst SPACE = \" \";\nconst LAZY = \"…\";\nfunction printImmutableEntries(val, config, indentation, depth, refs, printer, type) {\n\treturn ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}{${printIteratorEntries(val.entries(), config, indentation, depth, refs, printer)}}`;\n}\n// Record has an entries method because it is a collection in immutable v3.\n// Return an iterator for Immutable Record from version v3 or v4.\nfunction getRecordEntries(val) {\n\tlet i = 0;\n\treturn { next() {\n\t\tif (i < val._keys.length) {\n\t\t\tconst key = val._keys[i++];\n\t\t\treturn {\n\t\t\t\tdone: false,\n\t\t\t\tvalue: [key, val.get(key)]\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tdone: true,\n\t\t\tvalue: undefined\n\t\t};\n\t} };\n}\nfunction printImmutableRecord(val, config, indentation, depth, refs, printer) {\n\t// _name property is defined only for an Immutable Record instance\n\t// which was constructed with a second optional descriptive name arg\n\tconst name = getImmutableName(val._name || \"Record\");\n\treturn ++depth > config.maxDepth ? printAsLeaf(name) : `${name + SPACE}{${printIteratorEntries(getRecordEntries(val), config, indentation, depth, refs, printer)}}`;\n}\nfunction printImmutableSeq(val, config, indentation, depth, refs, printer) {\n\tconst name = getImmutableName(\"Seq\");\n\tif (++depth > config.maxDepth) {\n\t\treturn printAsLeaf(name);\n\t}\n\tif (val[IS_KEYED_SENTINEL]) {\n\t\treturn `${name + SPACE}{${val._iter || val._object ? printIteratorEntries(val.entries(), config, indentation, depth, refs, printer) : LAZY}}`;\n\t}\n\treturn `${name + SPACE}[${val._iter || val._array || val._collection || val._iterable ? printIteratorValues(val.values(), config, indentation, depth, refs, printer) : LAZY}]`;\n}\nfunction printImmutableValues(val, config, indentation, depth, refs, printer, type) {\n\treturn ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}[${printIteratorValues(val.values(), config, indentation, depth, refs, printer)}]`;\n}\nconst serialize$2 = (val, config, indentation, depth, refs, printer) => {\n\tif (val[IS_MAP_SENTINEL]) {\n\t\treturn printImmutableEntries(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? \"OrderedMap\" : \"Map\");\n\t}\n\tif (val[IS_LIST_SENTINEL]) {\n\t\treturn printImmutableValues(val, config, indentation, depth, refs, printer, \"List\");\n\t}\n\tif (val[IS_SET_SENTINEL]) {\n\t\treturn printImmutableValues(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? \"OrderedSet\" : \"Set\");\n\t}\n\tif (val[IS_STACK_SENTINEL]) {\n\t\treturn printImmutableValues(val, config, indentation, depth, refs, printer, \"Stack\");\n\t}\n\tif (val[IS_SEQ_SENTINEL]) {\n\t\treturn printImmutableSeq(val, config, indentation, depth, refs, printer);\n\t}\n\t// For compatibility with immutable v3 and v4, let record be the default.\n\treturn printImmutableRecord(val, config, indentation, depth, refs, printer);\n};\n// Explicitly comparing sentinel properties to true avoids false positive\n// when mock identity-obj-proxy returns the key as the value for any key.\nconst test$2 = (val) => val && (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\nconst plugin$2 = {\n\tserialize: serialize$2,\n\ttest: test$2\n};\n\nfunction getDefaultExportFromCjs(x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\n\nvar reactIs$1 = {exports: {}};\n\nvar reactIs_production = {};\n\n/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production;\n\nfunction requireReactIs_production () {\n\tif (hasRequiredReactIs_production) return reactIs_production;\n\thasRequiredReactIs_production = 1;\n\tvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n\t REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n\t REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n\t REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n\t REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n\t REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n\t REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n\t REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n\t REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n\t REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n\t REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n\t REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n\t REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n\t REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n\tfunction typeOf(object) {\n\t if (\"object\" === typeof object && null !== object) {\n\t var $$typeof = object.$$typeof;\n\t switch ($$typeof) {\n\t case REACT_ELEMENT_TYPE:\n\t switch (((object = object.type), object)) {\n\t case REACT_FRAGMENT_TYPE:\n\t case REACT_PROFILER_TYPE:\n\t case REACT_STRICT_MODE_TYPE:\n\t case REACT_SUSPENSE_TYPE:\n\t case REACT_SUSPENSE_LIST_TYPE:\n\t case REACT_VIEW_TRANSITION_TYPE:\n\t return object;\n\t default:\n\t switch (((object = object && object.$$typeof), object)) {\n\t case REACT_CONTEXT_TYPE:\n\t case REACT_FORWARD_REF_TYPE:\n\t case REACT_LAZY_TYPE:\n\t case REACT_MEMO_TYPE:\n\t return object;\n\t case REACT_CONSUMER_TYPE:\n\t return object;\n\t default:\n\t return $$typeof;\n\t }\n\t }\n\t case REACT_PORTAL_TYPE:\n\t return $$typeof;\n\t }\n\t }\n\t}\n\treactIs_production.ContextConsumer = REACT_CONSUMER_TYPE;\n\treactIs_production.ContextProvider = REACT_CONTEXT_TYPE;\n\treactIs_production.Element = REACT_ELEMENT_TYPE;\n\treactIs_production.ForwardRef = REACT_FORWARD_REF_TYPE;\n\treactIs_production.Fragment = REACT_FRAGMENT_TYPE;\n\treactIs_production.Lazy = REACT_LAZY_TYPE;\n\treactIs_production.Memo = REACT_MEMO_TYPE;\n\treactIs_production.Portal = REACT_PORTAL_TYPE;\n\treactIs_production.Profiler = REACT_PROFILER_TYPE;\n\treactIs_production.StrictMode = REACT_STRICT_MODE_TYPE;\n\treactIs_production.Suspense = REACT_SUSPENSE_TYPE;\n\treactIs_production.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n\treactIs_production.isContextConsumer = function (object) {\n\t return typeOf(object) === REACT_CONSUMER_TYPE;\n\t};\n\treactIs_production.isContextProvider = function (object) {\n\t return typeOf(object) === REACT_CONTEXT_TYPE;\n\t};\n\treactIs_production.isElement = function (object) {\n\t return (\n\t \"object\" === typeof object &&\n\t null !== object &&\n\t object.$$typeof === REACT_ELEMENT_TYPE\n\t );\n\t};\n\treactIs_production.isForwardRef = function (object) {\n\t return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t};\n\treactIs_production.isFragment = function (object) {\n\t return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t};\n\treactIs_production.isLazy = function (object) {\n\t return typeOf(object) === REACT_LAZY_TYPE;\n\t};\n\treactIs_production.isMemo = function (object) {\n\t return typeOf(object) === REACT_MEMO_TYPE;\n\t};\n\treactIs_production.isPortal = function (object) {\n\t return typeOf(object) === REACT_PORTAL_TYPE;\n\t};\n\treactIs_production.isProfiler = function (object) {\n\t return typeOf(object) === REACT_PROFILER_TYPE;\n\t};\n\treactIs_production.isStrictMode = function (object) {\n\t return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t};\n\treactIs_production.isSuspense = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t};\n\treactIs_production.isSuspenseList = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n\t};\n\treactIs_production.isValidElementType = function (type) {\n\t return \"string\" === typeof type ||\n\t \"function\" === typeof type ||\n\t type === REACT_FRAGMENT_TYPE ||\n\t type === REACT_PROFILER_TYPE ||\n\t type === REACT_STRICT_MODE_TYPE ||\n\t type === REACT_SUSPENSE_TYPE ||\n\t type === REACT_SUSPENSE_LIST_TYPE ||\n\t (\"object\" === typeof type &&\n\t null !== type &&\n\t (type.$$typeof === REACT_LAZY_TYPE ||\n\t type.$$typeof === REACT_MEMO_TYPE ||\n\t type.$$typeof === REACT_CONTEXT_TYPE ||\n\t type.$$typeof === REACT_CONSUMER_TYPE ||\n\t type.$$typeof === REACT_FORWARD_REF_TYPE ||\n\t type.$$typeof === REACT_CLIENT_REFERENCE ||\n\t void 0 !== type.getModuleId))\n\t ? true\n\t : false;\n\t};\n\treactIs_production.typeOf = typeOf;\n\treturn reactIs_production;\n}\n\nvar hasRequiredReactIs$1;\n\nfunction requireReactIs$1 () {\n\tif (hasRequiredReactIs$1) return reactIs$1.exports;\n\thasRequiredReactIs$1 = 1;\n\n\t{\n\t reactIs$1.exports = requireReactIs_production();\n\t}\n\treturn reactIs$1.exports;\n}\n\nvar reactIsExports$1 = requireReactIs$1();\nvar index$1 = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports$1);\n\nvar ReactIs19 = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n default: index$1\n}, [reactIsExports$1]);\n\nvar reactIs = {exports: {}};\n\nvar reactIs_production_min = {};\n\n/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production_min;\n\nfunction requireReactIs_production_min () {\n\tif (hasRequiredReactIs_production_min) return reactIs_production_min;\n\thasRequiredReactIs_production_min = 1;\nvar b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\n\tfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}reactIs_production_min.ContextConsumer=h;reactIs_production_min.ContextProvider=g;reactIs_production_min.Element=b;reactIs_production_min.ForwardRef=l;reactIs_production_min.Fragment=d;reactIs_production_min.Lazy=q;reactIs_production_min.Memo=p;reactIs_production_min.Portal=c;reactIs_production_min.Profiler=f;reactIs_production_min.StrictMode=e;reactIs_production_min.Suspense=m;\n\treactIs_production_min.SuspenseList=n;reactIs_production_min.isAsyncMode=function(){return false};reactIs_production_min.isConcurrentMode=function(){return false};reactIs_production_min.isContextConsumer=function(a){return v(a)===h};reactIs_production_min.isContextProvider=function(a){return v(a)===g};reactIs_production_min.isElement=function(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===b};reactIs_production_min.isForwardRef=function(a){return v(a)===l};reactIs_production_min.isFragment=function(a){return v(a)===d};reactIs_production_min.isLazy=function(a){return v(a)===q};reactIs_production_min.isMemo=function(a){return v(a)===p};\n\treactIs_production_min.isPortal=function(a){return v(a)===c};reactIs_production_min.isProfiler=function(a){return v(a)===f};reactIs_production_min.isStrictMode=function(a){return v(a)===e};reactIs_production_min.isSuspense=function(a){return v(a)===m};reactIs_production_min.isSuspenseList=function(a){return v(a)===n};\n\treactIs_production_min.isValidElementType=function(a){return \"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?true:false};reactIs_production_min.typeOf=v;\n\treturn reactIs_production_min;\n}\n\nvar hasRequiredReactIs;\n\nfunction requireReactIs () {\n\tif (hasRequiredReactIs) return reactIs.exports;\n\thasRequiredReactIs = 1;\n\n\t{\n\t reactIs.exports = requireReactIs_production_min();\n\t}\n\treturn reactIs.exports;\n}\n\nvar reactIsExports = requireReactIs();\nvar index = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports);\n\nvar ReactIs18 = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n default: index\n}, [reactIsExports]);\n\nconst reactIsMethods = [\n\t\"isAsyncMode\",\n\t\"isConcurrentMode\",\n\t\"isContextConsumer\",\n\t\"isContextProvider\",\n\t\"isElement\",\n\t\"isForwardRef\",\n\t\"isFragment\",\n\t\"isLazy\",\n\t\"isMemo\",\n\t\"isPortal\",\n\t\"isProfiler\",\n\t\"isStrictMode\",\n\t\"isSuspense\",\n\t\"isSuspenseList\",\n\t\"isValidElementType\"\n];\nconst ReactIs = Object.fromEntries(reactIsMethods.map((m) => [m, (v) => ReactIs18[m](v) || ReactIs19[m](v)]));\n// Given element.props.children, or subtree during recursive traversal,\n// return flattened array of children.\nfunction getChildren(arg, children = []) {\n\tif (Array.isArray(arg)) {\n\t\tfor (const item of arg) {\n\t\t\tgetChildren(item, children);\n\t\t}\n\t} else if (arg != null && arg !== false && arg !== \"\") {\n\t\tchildren.push(arg);\n\t}\n\treturn children;\n}\nfunction getType(element) {\n\tconst type = element.type;\n\tif (typeof type === \"string\") {\n\t\treturn type;\n\t}\n\tif (typeof type === \"function\") {\n\t\treturn type.displayName || type.name || \"Unknown\";\n\t}\n\tif (ReactIs.isFragment(element)) {\n\t\treturn \"React.Fragment\";\n\t}\n\tif (ReactIs.isSuspense(element)) {\n\t\treturn \"React.Suspense\";\n\t}\n\tif (typeof type === \"object\" && type !== null) {\n\t\tif (ReactIs.isContextProvider(element)) {\n\t\t\treturn \"Context.Provider\";\n\t\t}\n\t\tif (ReactIs.isContextConsumer(element)) {\n\t\t\treturn \"Context.Consumer\";\n\t\t}\n\t\tif (ReactIs.isForwardRef(element)) {\n\t\t\tif (type.displayName) {\n\t\t\t\treturn type.displayName;\n\t\t\t}\n\t\t\tconst functionName = type.render.displayName || type.render.name || \"\";\n\t\t\treturn functionName === \"\" ? \"ForwardRef\" : `ForwardRef(${functionName})`;\n\t\t}\n\t\tif (ReactIs.isMemo(element)) {\n\t\t\tconst functionName = type.displayName || type.type.displayName || type.type.name || \"\";\n\t\t\treturn functionName === \"\" ? \"Memo\" : `Memo(${functionName})`;\n\t\t}\n\t}\n\treturn \"UNDEFINED\";\n}\nfunction getPropKeys$1(element) {\n\tconst { props } = element;\n\treturn Object.keys(props).filter((key) => key !== \"children\" && props[key] !== undefined).sort();\n}\nconst serialize$1 = (element, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(getType(element), config) : printElement(getType(element), printProps(getPropKeys$1(element), element.props, config, indentation + config.indent, depth, refs, printer), printChildren(getChildren(element.props.children), config, indentation + config.indent, depth, refs, printer), config, indentation);\nconst test$1 = (val) => val != null && ReactIs.isElement(val);\nconst plugin$1 = {\n\tserialize: serialize$1,\n\ttest: test$1\n};\n\nconst testSymbol = typeof Symbol === \"function\" && Symbol.for ? Symbol.for(\"react.test.json\") : 245830487;\nfunction getPropKeys(object) {\n\tconst { props } = object;\n\treturn props ? Object.keys(props).filter((key) => props[key] !== undefined).sort() : [];\n}\nconst serialize = (object, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(object.type, config) : printElement(object.type, object.props ? printProps(getPropKeys(object), object.props, config, indentation + config.indent, depth, refs, printer) : \"\", object.children ? printChildren(object.children, config, indentation + config.indent, depth, refs, printer) : \"\", config, indentation);\nconst test = (val) => val && val.$$typeof === testSymbol;\nconst plugin = {\n\tserialize,\n\ttest\n};\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\n/**\n* Explicitly comparing typeof constructor to function avoids undefined as name\n* when mock identity-obj-proxy returns the key as the value for any key.\n*/\nfunction getConstructorName(val) {\n\treturn typeof val.constructor === \"function\" && val.constructor.name || \"Object\";\n}\n/** Is val is equal to global window object? Works even if it does not exist :) */\nfunction isWindow(val) {\n\treturn typeof window !== \"undefined\" && val === window;\n}\n// eslint-disable-next-line regexp/no-super-linear-backtracking\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/g;\nclass PrettyFormatPluginError extends Error {\n\tconstructor(message, stack) {\n\t\tsuper(message);\n\t\tthis.stack = stack;\n\t\tthis.name = this.constructor.name;\n\t}\n}\nfunction isToStringedArrayType(toStringed) {\n\treturn toStringed === \"[object Array]\" || toStringed === \"[object ArrayBuffer]\" || toStringed === \"[object DataView]\" || toStringed === \"[object Float32Array]\" || toStringed === \"[object Float64Array]\" || toStringed === \"[object Int8Array]\" || toStringed === \"[object Int16Array]\" || toStringed === \"[object Int32Array]\" || toStringed === \"[object Uint8Array]\" || toStringed === \"[object Uint8ClampedArray]\" || toStringed === \"[object Uint16Array]\" || toStringed === \"[object Uint32Array]\";\n}\nfunction printNumber(val) {\n\treturn Object.is(val, -0) ? \"-0\" : String(val);\n}\nfunction printBigInt(val) {\n\treturn String(`${val}n`);\n}\nfunction printFunction(val, printFunctionName) {\n\tif (!printFunctionName) {\n\t\treturn \"[Function]\";\n\t}\n\treturn `[Function ${val.name || \"anonymous\"}]`;\n}\nfunction printSymbol(val) {\n\treturn String(val).replace(SYMBOL_REGEXP, \"Symbol($1)\");\n}\nfunction printError(val) {\n\treturn `[${errorToString.call(val)}]`;\n}\n/**\n* The first port of call for printing an object, handles most of the\n* data-types in JS.\n*/\nfunction printBasicValue(val, printFunctionName, escapeRegex, escapeString) {\n\tif (val === true || val === false) {\n\t\treturn `${val}`;\n\t}\n\tif (val === undefined) {\n\t\treturn \"undefined\";\n\t}\n\tif (val === null) {\n\t\treturn \"null\";\n\t}\n\tconst typeOf = typeof val;\n\tif (typeOf === \"number\") {\n\t\treturn printNumber(val);\n\t}\n\tif (typeOf === \"bigint\") {\n\t\treturn printBigInt(val);\n\t}\n\tif (typeOf === \"string\") {\n\t\tif (escapeString) {\n\t\t\treturn `\"${val.replaceAll(/\"|\\\\/g, \"\\\\$&\")}\"`;\n\t\t}\n\t\treturn `\"${val}\"`;\n\t}\n\tif (typeOf === \"function\") {\n\t\treturn printFunction(val, printFunctionName);\n\t}\n\tif (typeOf === \"symbol\") {\n\t\treturn printSymbol(val);\n\t}\n\tconst toStringed = toString.call(val);\n\tif (toStringed === \"[object WeakMap]\") {\n\t\treturn \"WeakMap {}\";\n\t}\n\tif (toStringed === \"[object WeakSet]\") {\n\t\treturn \"WeakSet {}\";\n\t}\n\tif (toStringed === \"[object Function]\" || toStringed === \"[object GeneratorFunction]\") {\n\t\treturn printFunction(val, printFunctionName);\n\t}\n\tif (toStringed === \"[object Symbol]\") {\n\t\treturn printSymbol(val);\n\t}\n\tif (toStringed === \"[object Date]\") {\n\t\treturn Number.isNaN(+val) ? \"Date { NaN }\" : toISOString.call(val);\n\t}\n\tif (toStringed === \"[object Error]\") {\n\t\treturn printError(val);\n\t}\n\tif (toStringed === \"[object RegExp]\") {\n\t\tif (escapeRegex) {\n\t\t\t// https://github.com/benjamingr/RegExp.escape/blob/main/polyfill.js\n\t\t\treturn regExpToString.call(val).replaceAll(/[$()*+.?[\\\\\\]^{|}]/g, \"\\\\$&\");\n\t\t}\n\t\treturn regExpToString.call(val);\n\t}\n\tif (val instanceof Error) {\n\t\treturn printError(val);\n\t}\n\treturn null;\n}\n/**\n* Handles more complex objects ( such as objects with circular references.\n* maps and sets etc )\n*/\nfunction printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON) {\n\tif (refs.includes(val)) {\n\t\treturn \"[Circular]\";\n\t}\n\trefs = [...refs];\n\trefs.push(val);\n\tconst hitMaxDepth = ++depth > config.maxDepth;\n\tconst min = config.min;\n\tif (config.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === \"function\" && !hasCalledToJSON) {\n\t\treturn printer(val.toJSON(), config, indentation, depth, refs, true);\n\t}\n\tconst toStringed = toString.call(val);\n\tif (toStringed === \"[object Arguments]\") {\n\t\treturn hitMaxDepth ? \"[Arguments]\" : `${min ? \"\" : \"Arguments \"}[${printListItems(val, config, indentation, depth, refs, printer)}]`;\n\t}\n\tif (isToStringedArrayType(toStringed)) {\n\t\treturn hitMaxDepth ? `[${val.constructor.name}]` : `${min ? \"\" : !config.printBasicPrototype && val.constructor.name === \"Array\" ? \"\" : `${val.constructor.name} `}[${printListItems(val, config, indentation, depth, refs, printer)}]`;\n\t}\n\tif (toStringed === \"[object Map]\") {\n\t\treturn hitMaxDepth ? \"[Map]\" : `Map {${printIteratorEntries(val.entries(), config, indentation, depth, refs, printer, \" => \")}}`;\n\t}\n\tif (toStringed === \"[object Set]\") {\n\t\treturn hitMaxDepth ? \"[Set]\" : `Set {${printIteratorValues(val.values(), config, indentation, depth, refs, printer)}}`;\n\t}\n\t// Avoid failure to serialize global window object in jsdom test environment.\n\t// For example, not even relevant if window is prop of React element.\n\treturn hitMaxDepth || isWindow(val) ? `[${getConstructorName(val)}]` : `${min ? \"\" : !config.printBasicPrototype && getConstructorName(val) === \"Object\" ? \"\" : `${getConstructorName(val)} `}{${printObjectProperties(val, config, indentation, depth, refs, printer)}}`;\n}\nconst ErrorPlugin = {\n\ttest: (val) => val && val instanceof Error,\n\tserialize(val, config, indentation, depth, refs, printer) {\n\t\tif (refs.includes(val)) {\n\t\t\treturn \"[Circular]\";\n\t\t}\n\t\trefs = [...refs, val];\n\t\tconst hitMaxDepth = ++depth > config.maxDepth;\n\t\tconst { message, cause, ...rest } = val;\n\t\tconst entries = {\n\t\t\tmessage,\n\t\t\t...typeof cause !== \"undefined\" ? { cause } : {},\n\t\t\t...val instanceof AggregateError ? { errors: val.errors } : {},\n\t\t\t...rest\n\t\t};\n\t\tconst name = val.name !== \"Error\" ? val.name : getConstructorName(val);\n\t\treturn hitMaxDepth ? `[${name}]` : `${name} {${printIteratorEntries(Object.entries(entries).values(), config, indentation, depth, refs, printer)}}`;\n\t}\n};\nfunction isNewPlugin(plugin) {\n\treturn plugin.serialize != null;\n}\nfunction printPlugin(plugin, val, config, indentation, depth, refs) {\n\tlet printed;\n\ttry {\n\t\tprinted = isNewPlugin(plugin) ? plugin.serialize(val, config, indentation, depth, refs, printer) : plugin.print(val, (valChild) => printer(valChild, config, indentation, depth, refs), (str) => {\n\t\t\tconst indentationNext = indentation + config.indent;\n\t\t\treturn indentationNext + str.replaceAll(NEWLINE_REGEXP, `\\n${indentationNext}`);\n\t\t}, {\n\t\t\tedgeSpacing: config.spacingOuter,\n\t\t\tmin: config.min,\n\t\t\tspacing: config.spacingInner\n\t\t}, config.colors);\n\t} catch (error) {\n\t\tthrow new PrettyFormatPluginError(error.message, error.stack);\n\t}\n\tif (typeof printed !== \"string\") {\n\t\tthrow new TypeError(`pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`);\n\t}\n\treturn printed;\n}\nfunction findPlugin(plugins, val) {\n\tfor (const plugin of plugins) {\n\t\ttry {\n\t\t\tif (plugin.test(val)) {\n\t\t\t\treturn plugin;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthrow new PrettyFormatPluginError(error.message, error.stack);\n\t\t}\n\t}\n\treturn null;\n}\nfunction printer(val, config, indentation, depth, refs, hasCalledToJSON) {\n\tlet result;\n\tconst plugin = findPlugin(config.plugins, val);\n\tif (plugin !== null) {\n\t\tresult = printPlugin(plugin, val, config, indentation, depth, refs);\n\t} else {\n\t\tconst basicResult = printBasicValue(val, config.printFunctionName, config.escapeRegex, config.escapeString);\n\t\tif (basicResult !== null) {\n\t\t\tresult = basicResult;\n\t\t} else {\n\t\t\tresult = printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON);\n\t\t}\n\t}\n\t// Per-depth output budget (inspired by Node's util.inspect).\n\t// Each depth level tracks output independently, so nested results\n\t// don't inflate a single counter (which would undercount by ~Nx for\n\t// N levels of nesting). Nodes at the same depth produce disjoint spans\n\t// in the output string, so each bucket accurately reflects output at\n\t// that level. Total output is bounded by maxDepth × maxOutputLength.\n\tconfig._outputLengthPerDepth[depth] ??= 0;\n\tconfig._outputLengthPerDepth[depth] += result.length;\n\tif (config._outputLengthPerDepth[depth] > config.maxOutputLength) {\n\t\tconfig.maxDepth = 0;\n\t}\n\treturn result;\n}\nconst DEFAULT_THEME = {\n\tcomment: \"gray\",\n\tcontent: \"reset\",\n\tprop: \"yellow\",\n\ttag: \"cyan\",\n\tvalue: \"green\"\n};\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);\nconst DEFAULT_OPTIONS = {\n\tcallToJSON: true,\n\tcompareKeys: undefined,\n\tescapeRegex: false,\n\tescapeString: true,\n\thighlight: false,\n\tindent: 2,\n\tmaxDepth: Number.POSITIVE_INFINITY,\n\tmaxOutputLength: 1e6,\n\tmaxWidth: Number.POSITIVE_INFINITY,\n\tmin: false,\n\tplugins: [],\n\tprintBasicPrototype: true,\n\tprintFunctionName: true,\n\tprintShadowRoot: true,\n\ttheme: DEFAULT_THEME\n};\nfunction validateOptions(options) {\n\tfor (const key of Object.keys(options)) {\n\t\tif (!Object.hasOwn(DEFAULT_OPTIONS, key)) {\n\t\t\tthrow new Error(`pretty-format: Unknown option \"${key}\".`);\n\t\t}\n\t}\n\tif (options.min && options.indent !== undefined && options.indent !== 0) {\n\t\tthrow new Error(\"pretty-format: Options \\\"min\\\" and \\\"indent\\\" cannot be used together.\");\n\t}\n}\nfunction getColorsHighlight() {\n\treturn DEFAULT_THEME_KEYS.reduce((colors, key) => {\n\t\tconst value = DEFAULT_THEME[key];\n\t\tconst color = value && styles[value];\n\t\tif (color && typeof color.close === \"string\" && typeof color.open === \"string\") {\n\t\t\tcolors[key] = color;\n\t\t} else {\n\t\t\tthrow new Error(`pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`);\n\t\t}\n\t\treturn colors;\n\t}, Object.create(null));\n}\nfunction getColorsEmpty() {\n\treturn DEFAULT_THEME_KEYS.reduce((colors, key) => {\n\t\tcolors[key] = {\n\t\t\tclose: \"\",\n\t\t\topen: \"\"\n\t\t};\n\t\treturn colors;\n\t}, Object.create(null));\n}\nfunction getPrintFunctionName(options) {\n\treturn options?.printFunctionName ?? DEFAULT_OPTIONS.printFunctionName;\n}\nfunction getEscapeRegex(options) {\n\treturn options?.escapeRegex ?? DEFAULT_OPTIONS.escapeRegex;\n}\nfunction getEscapeString(options) {\n\treturn options?.escapeString ?? DEFAULT_OPTIONS.escapeString;\n}\nfunction getConfig(options) {\n\treturn {\n\t\tcallToJSON: options?.callToJSON ?? DEFAULT_OPTIONS.callToJSON,\n\t\tcolors: options?.highlight ? getColorsHighlight() : getColorsEmpty(),\n\t\tcompareKeys: typeof options?.compareKeys === \"function\" || options?.compareKeys === null ? options.compareKeys : DEFAULT_OPTIONS.compareKeys,\n\t\tescapeRegex: getEscapeRegex(options),\n\t\tescapeString: getEscapeString(options),\n\t\tindent: options?.min ? \"\" : createIndent(options?.indent ?? DEFAULT_OPTIONS.indent),\n\t\tmaxDepth: options?.maxDepth ?? DEFAULT_OPTIONS.maxDepth,\n\t\tmaxWidth: options?.maxWidth ?? DEFAULT_OPTIONS.maxWidth,\n\t\tmin: options?.min ?? DEFAULT_OPTIONS.min,\n\t\tplugins: options?.plugins ?? DEFAULT_OPTIONS.plugins,\n\t\tprintBasicPrototype: options?.printBasicPrototype ?? true,\n\t\tprintFunctionName: getPrintFunctionName(options),\n\t\tprintShadowRoot: options?.printShadowRoot ?? true,\n\t\tspacingInner: options?.min ? \" \" : \"\\n\",\n\t\tspacingOuter: options?.min ? \"\" : \"\\n\",\n\t\tmaxOutputLength: options?.maxOutputLength ?? DEFAULT_OPTIONS.maxOutputLength,\n\t\t_outputLengthPerDepth: []\n\t};\n}\nfunction createIndent(indent) {\n\treturn Array.from({ length: indent + 1 }).join(\" \");\n}\n/**\n* Returns a presentation string of your `val` object\n* @param val any potential JavaScript object\n* @param options Custom settings\n*/\nfunction format(val, options) {\n\tif (options) {\n\t\tvalidateOptions(options);\n\t\tif (options.plugins) {\n\t\t\tconst plugin = findPlugin(options.plugins, val);\n\t\t\tif (plugin !== null) {\n\t\t\t\treturn printPlugin(plugin, val, getConfig(options), \"\", 0, []);\n\t\t\t}\n\t\t}\n\t}\n\tconst basicResult = printBasicValue(val, getPrintFunctionName(options), getEscapeRegex(options), getEscapeString(options));\n\tif (basicResult !== null) {\n\t\treturn basicResult;\n\t}\n\treturn printComplexValue(val, getConfig(options), \"\", 0, []);\n}\nconst plugins = {\n\tAsymmetricMatcher: plugin$5,\n\tDOMCollection: plugin$4,\n\tDOMElement: plugin$3,\n\tImmutable: plugin$2,\n\tReactElement: plugin$1,\n\tReactTestComponent: plugin,\n\tError: ErrorPlugin\n};\n\nexport { DEFAULT_OPTIONS, createDOMElementFilter, format, plugins };\n"],"x_google_ignoreList":[0],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["styles"],"sources":["../../../../../../../node_modules/@vitest/pretty-format/dist/index.js"],"sourcesContent":["import styles from 'tinyrainbow';\n\nfunction _mergeNamespaces(n, m) {\n m.forEach(function (e) {\n e && typeof e !== 'string' && !Array.isArray(e) && Object.keys(e).forEach(function (k) {\n if (k !== 'default' && !(k in n)) {\n var d = Object.getOwnPropertyDescriptor(e, k);\n Object.defineProperty(n, k, d.get ? d : {\n enumerable: true,\n get: function () { return e[k]; }\n });\n }\n });\n });\n return Object.freeze(n);\n}\n\nfunction getKeysOfEnumerableProperties(object, compareKeys) {\n\tconst rawKeys = Object.keys(object);\n\tconst keys = compareKeys === null ? rawKeys : rawKeys.sort(compareKeys);\n\tif (Object.getOwnPropertySymbols) {\n\t\tfor (const symbol of Object.getOwnPropertySymbols(object)) {\n\t\t\tif (Object.getOwnPropertyDescriptor(object, symbol).enumerable) {\n\t\t\t\tkeys.push(symbol);\n\t\t\t}\n\t\t}\n\t}\n\treturn keys;\n}\n/**\n* Return entries (for example, of a map)\n* with spacing, indentation, and comma\n* without surrounding punctuation (for example, braces)\n*/\nfunction printIteratorEntries(iterator, config, indentation, depth, refs, printer, separator = \": \") {\n\tlet result = \"\";\n\tlet width = 0;\n\tlet current = iterator.next();\n\tif (!current.done) {\n\t\tresult += config.spacingOuter;\n\t\tconst indentationNext = indentation + config.indent;\n\t\twhile (!current.done) {\n\t\t\tresult += indentationNext;\n\t\t\tif (width++ === config.maxWidth) {\n\t\t\t\tresult += \"…\";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tconst name = printer(current.value[0], config, indentationNext, depth, refs);\n\t\t\tconst value = printer(current.value[1], config, indentationNext, depth, refs);\n\t\t\tresult += name + separator + value;\n\t\t\tcurrent = iterator.next();\n\t\t\tif (!current.done) {\n\t\t\t\tresult += `,${config.spacingInner}`;\n\t\t\t} else if (!config.min) {\n\t\t\t\tresult += \",\";\n\t\t\t}\n\t\t}\n\t\tresult += config.spacingOuter + indentation;\n\t}\n\treturn result;\n}\n/**\n* Return values (for example, of a set)\n* with spacing, indentation, and comma\n* without surrounding punctuation (braces or brackets)\n*/\nfunction printIteratorValues(iterator, config, indentation, depth, refs, printer) {\n\tlet result = \"\";\n\tlet width = 0;\n\tlet current = iterator.next();\n\tif (!current.done) {\n\t\tresult += config.spacingOuter;\n\t\tconst indentationNext = indentation + config.indent;\n\t\twhile (!current.done) {\n\t\t\tresult += indentationNext;\n\t\t\tif (width++ === config.maxWidth) {\n\t\t\t\tresult += \"…\";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tresult += printer(current.value, config, indentationNext, depth, refs);\n\t\t\tcurrent = iterator.next();\n\t\t\tif (!current.done) {\n\t\t\t\tresult += `,${config.spacingInner}`;\n\t\t\t} else if (!config.min) {\n\t\t\t\tresult += \",\";\n\t\t\t}\n\t\t}\n\t\tresult += config.spacingOuter + indentation;\n\t}\n\treturn result;\n}\n/**\n* Return items (for example, of an array)\n* with spacing, indentation, and comma\n* without surrounding punctuation (for example, brackets)\n*/\nfunction printListItems(list, config, indentation, depth, refs, printer) {\n\tlet result = \"\";\n\tlist = list instanceof ArrayBuffer ? new DataView(list) : list;\n\tconst isDataView = (l) => l instanceof DataView;\n\tconst length = isDataView(list) ? list.byteLength : list.length;\n\tif (length > 0) {\n\t\tresult += config.spacingOuter;\n\t\tconst indentationNext = indentation + config.indent;\n\t\tfor (let i = 0; i < length; i++) {\n\t\t\tresult += indentationNext;\n\t\t\tif (i === config.maxWidth) {\n\t\t\t\tresult += \"…\";\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tif (isDataView(list) || i in list) {\n\t\t\t\tresult += printer(isDataView(list) ? list.getInt8(i) : list[i], config, indentationNext, depth, refs);\n\t\t\t}\n\t\t\tif (i < length - 1) {\n\t\t\t\tresult += `,${config.spacingInner}`;\n\t\t\t} else if (!config.min) {\n\t\t\t\tresult += \",\";\n\t\t\t}\n\t\t}\n\t\tresult += config.spacingOuter + indentation;\n\t}\n\treturn result;\n}\n/**\n* Return properties of an object\n* with spacing, indentation, and comma\n* without surrounding punctuation (for example, braces)\n*/\nfunction printObjectProperties(val, config, indentation, depth, refs, printer) {\n\tlet result = \"\";\n\tconst keys = getKeysOfEnumerableProperties(val, config.compareKeys);\n\tif (keys.length > 0) {\n\t\tresult += config.spacingOuter;\n\t\tconst indentationNext = indentation + config.indent;\n\t\tfor (let i = 0; i < keys.length; i++) {\n\t\t\tconst key = keys[i];\n\t\t\tconst name = printer(key, config, indentationNext, depth, refs);\n\t\t\tconst value = printer(val[key], config, indentationNext, depth, refs);\n\t\t\tresult += `${indentationNext + name}: ${value}`;\n\t\t\tif (i < keys.length - 1) {\n\t\t\t\tresult += `,${config.spacingInner}`;\n\t\t\t} else if (!config.min) {\n\t\t\t\tresult += \",\";\n\t\t\t}\n\t\t}\n\t\tresult += config.spacingOuter + indentation;\n\t}\n\treturn result;\n}\n\nconst asymmetricMatcher = typeof Symbol === \"function\" && Symbol.for ? Symbol.for(\"jest.asymmetricMatcher\") : 1267621;\nconst SPACE$2 = \" \";\nconst serialize$5 = (val, config, indentation, depth, refs, printer) => {\n\tconst stringedValue = val.toString();\n\tif (stringedValue === \"ArrayContaining\" || stringedValue === \"ArrayNotContaining\") {\n\t\tif (++depth > config.maxDepth) {\n\t\t\treturn `[${stringedValue}]`;\n\t\t}\n\t\treturn `${stringedValue + SPACE$2}[${printListItems(val.sample, config, indentation, depth, refs, printer)}]`;\n\t}\n\tif (stringedValue === \"ObjectContaining\" || stringedValue === \"ObjectNotContaining\") {\n\t\tif (++depth > config.maxDepth) {\n\t\t\treturn `[${stringedValue}]`;\n\t\t}\n\t\treturn `${stringedValue + SPACE$2}{${printObjectProperties(val.sample, config, indentation, depth, refs, printer)}}`;\n\t}\n\tif (stringedValue === \"StringMatching\" || stringedValue === \"StringNotMatching\") {\n\t\treturn stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs);\n\t}\n\tif (stringedValue === \"StringContaining\" || stringedValue === \"StringNotContaining\") {\n\t\treturn stringedValue + SPACE$2 + printer(val.sample, config, indentation, depth, refs);\n\t}\n\tif (typeof val.toAsymmetricMatcher !== \"function\") {\n\t\tthrow new TypeError(`Asymmetric matcher ${val.constructor.name} does not implement toAsymmetricMatcher()`);\n\t}\n\treturn val.toAsymmetricMatcher();\n};\nconst test$5 = (val) => val && val.$$typeof === asymmetricMatcher;\nconst plugin$5 = {\n\tserialize: serialize$5,\n\ttest: test$5\n};\n\nconst SPACE$1 = \" \";\nconst OBJECT_NAMES = new Set([\"DOMStringMap\", \"NamedNodeMap\"]);\nconst ARRAY_REGEXP = /^(?:HTML\\w*Collection|NodeList)$/;\nfunction testName(name) {\n\treturn OBJECT_NAMES.has(name) || ARRAY_REGEXP.test(name);\n}\nconst test$4 = (val) => val && val.constructor && !!val.constructor.name && testName(val.constructor.name);\nfunction isNamedNodeMap(collection) {\n\treturn collection.constructor.name === \"NamedNodeMap\";\n}\nconst serialize$4 = (collection, config, indentation, depth, refs, printer) => {\n\tconst name = collection.constructor.name;\n\tif (++depth > config.maxDepth) {\n\t\treturn `[${name}]`;\n\t}\n\treturn (config.min ? \"\" : name + SPACE$1) + (OBJECT_NAMES.has(name) ? `{${printObjectProperties(isNamedNodeMap(collection) ? [...collection].reduce((props, attribute) => {\n\t\tprops[attribute.name] = attribute.value;\n\t\treturn props;\n\t}, {}) : { ...collection }, config, indentation, depth, refs, printer)}}` : `[${printListItems([...collection], config, indentation, depth, refs, printer)}]`);\n};\nconst plugin$4 = {\n\tserialize: serialize$4,\n\ttest: test$4\n};\n\n/**\n* Copyright (c) Meta Platforms, Inc. and affiliates.\n*\n* This source code is licensed under the MIT license found in the\n* LICENSE file in the root directory of this source tree.\n*/\nfunction escapeHTML(str) {\n\treturn str.replaceAll(\"<\", \"&lt;\").replaceAll(\">\", \"&gt;\");\n}\n\n// Return empty string if keys is empty.\nfunction printProps(keys, props, config, indentation, depth, refs, printer) {\n\tconst indentationNext = indentation + config.indent;\n\tconst colors = config.colors;\n\treturn keys.map((key) => {\n\t\tconst value = props[key];\n\t\t// hidden injected value that should not be printed\n\t\tif (typeof value === \"string\" && value[0] === \"_\" && value.startsWith(\"__vitest_\") && value.match(/__vitest_\\d+__/)) {\n\t\t\treturn \"\";\n\t\t}\n\t\tlet printed = printer(value, config, indentationNext, depth, refs);\n\t\tif (typeof value !== \"string\") {\n\t\t\tif (printed.includes(\"\\n\")) {\n\t\t\t\tprinted = config.spacingOuter + indentationNext + printed + config.spacingOuter + indentation;\n\t\t\t}\n\t\t\tprinted = `{${printed}}`;\n\t\t}\n\t\treturn `${config.spacingInner + indentation + colors.prop.open + key + colors.prop.close}=${colors.value.open}${printed}${colors.value.close}`;\n\t}).join(\"\");\n}\n// Return empty string if children is empty.\nfunction printChildren(children, config, indentation, depth, refs, printer) {\n\treturn children.map((child) => config.spacingOuter + indentation + (typeof child === \"string\" ? printText(child, config) : printer(child, config, indentation, depth, refs))).join(\"\");\n}\nfunction printShadowRoot(children, config, indentation, depth, refs, printer) {\n\tif (config.printShadowRoot === false) {\n\t\treturn \"\";\n\t}\n\treturn [`${config.spacingOuter + indentation}#shadow-root`, printChildren(children, config, indentation + config.indent, depth, refs, printer)].join(\"\");\n}\nfunction printText(text, config) {\n\tconst contentColor = config.colors.content;\n\treturn contentColor.open + escapeHTML(text) + contentColor.close;\n}\nfunction printComment(comment, config) {\n\tconst commentColor = config.colors.comment;\n\treturn `${commentColor.open}<!--${escapeHTML(comment)}-->${commentColor.close}`;\n}\n// Separate the functions to format props, children, and element,\n// so a plugin could override a particular function, if needed.\n// Too bad, so sad: the traditional (but unnecessary) space\n// in a self-closing tagColor requires a second test of printedProps.\nfunction printElement(type, printedProps, printedChildren, config, indentation) {\n\tconst tagColor = config.colors.tag;\n\treturn `${tagColor.open}<${type}${printedProps && tagColor.close + printedProps + config.spacingOuter + indentation + tagColor.open}${printedChildren ? `>${tagColor.close}${printedChildren}${config.spacingOuter}${indentation}${tagColor.open}</${type}` : `${printedProps && !config.min ? \"\" : \" \"}/`}>${tagColor.close}`;\n}\nfunction printElementAsLeaf(type, config) {\n\tconst tagColor = config.colors.tag;\n\treturn `${tagColor.open}<${type}${tagColor.close} …${tagColor.open} />${tagColor.close}`;\n}\n\nconst ELEMENT_NODE = 1;\nconst TEXT_NODE = 3;\nconst COMMENT_NODE = 8;\nconst FRAGMENT_NODE = 11;\nconst ELEMENT_REGEXP = /^(?:(?:HTML|SVG)\\w*)?Element$/;\nfunction testHasAttribute(val) {\n\ttry {\n\t\treturn typeof val.hasAttribute === \"function\" && val.hasAttribute(\"is\");\n\t} catch {\n\t\treturn false;\n\t}\n}\nfunction testNode(val) {\n\tconst constructorName = val.constructor.name;\n\tconst { nodeType, tagName } = val;\n\tconst isCustomElement = typeof tagName === \"string\" && tagName.includes(\"-\") || testHasAttribute(val);\n\treturn nodeType === ELEMENT_NODE && (ELEMENT_REGEXP.test(constructorName) || isCustomElement) || nodeType === TEXT_NODE && constructorName === \"Text\" || nodeType === COMMENT_NODE && constructorName === \"Comment\" || nodeType === FRAGMENT_NODE && constructorName === \"DocumentFragment\";\n}\nconst test$3 = (val) => val?.constructor?.name && testNode(val);\nfunction nodeIsText(node) {\n\treturn node.nodeType === TEXT_NODE;\n}\nfunction nodeIsComment(node) {\n\treturn node.nodeType === COMMENT_NODE;\n}\nfunction nodeIsFragment(node) {\n\treturn node.nodeType === FRAGMENT_NODE;\n}\nfunction filterChildren(children, filterNode) {\n\t// Filter out text nodes that only contain whitespace to prevent empty lines\n\t// This is done regardless of whether a filterNode is provided\n\tlet filtered = children.filter((node) => {\n\t\t// Filter out text nodes that are only whitespace\n\t\tif (node.nodeType === TEXT_NODE) {\n\t\t\tconst text = node.data || \"\";\n\t\t\t// Keep text nodes that have non-whitespace content\n\t\t\treturn text.trim().length > 0;\n\t\t}\n\t\treturn true;\n\t});\n\t// Apply additional user-provided filter if specified\n\tif (filterNode) {\n\t\tfiltered = filtered.filter(filterNode);\n\t}\n\treturn filtered;\n}\nfunction serializeDOM(node, config, indentation, depth, refs, printer, filterNode) {\n\tif (nodeIsText(node)) {\n\t\treturn printText(node.data, config);\n\t}\n\tif (nodeIsComment(node)) {\n\t\treturn printComment(node.data, config);\n\t}\n\tconst type = nodeIsFragment(node) ? \"DocumentFragment\" : node.tagName.toLowerCase();\n\tif (++depth > config.maxDepth) {\n\t\treturn printElementAsLeaf(type, config);\n\t}\n\tconst children = Array.prototype.slice.call(node.childNodes || node.children);\n\tconst shadowChildren = nodeIsFragment(node) || !node.shadowRoot ? [] : Array.prototype.slice.call(node.shadowRoot.children);\n\tconst resolvedChildren = filterNode ? filterChildren(children, filterNode) : children;\n\tconst resolvedShadowChildren = filterNode ? filterChildren(shadowChildren, filterNode) : shadowChildren;\n\treturn printElement(type, printProps(nodeIsFragment(node) ? [] : Array.from(node.attributes, (attr) => attr.name).sort(), nodeIsFragment(node) ? {} : [...node.attributes].reduce((props, attribute) => {\n\t\tprops[attribute.name] = attribute.value;\n\t\treturn props;\n\t}, {}), config, indentation + config.indent, depth, refs, printer), (resolvedShadowChildren.length > 0 ? printShadowRoot(resolvedShadowChildren, config, indentation + config.indent, depth, refs, printer) : \"\") + printChildren(resolvedChildren, config, indentation + config.indent, depth, refs, printer), config, indentation);\n}\nconst serialize$3 = (node, config, indentation, depth, refs, printer) => serializeDOM(node, config, indentation, depth, refs, printer);\nfunction createDOMElementFilter(filterNode) {\n\treturn {\n\t\ttest: test$3,\n\t\tserialize: (node, config, indentation, depth, refs, printer) => serializeDOM(node, config, indentation, depth, refs, printer, filterNode)\n\t};\n}\nconst plugin$3 = {\n\tserialize: serialize$3,\n\ttest: test$3\n};\n\n// SENTINEL constants are from https://github.com/facebook/immutable-js\nconst IS_ITERABLE_SENTINEL = \"@@__IMMUTABLE_ITERABLE__@@\";\nconst IS_LIST_SENTINEL = \"@@__IMMUTABLE_LIST__@@\";\nconst IS_KEYED_SENTINEL = \"@@__IMMUTABLE_KEYED__@@\";\nconst IS_MAP_SENTINEL = \"@@__IMMUTABLE_MAP__@@\";\nconst IS_ORDERED_SENTINEL = \"@@__IMMUTABLE_ORDERED__@@\";\nconst IS_RECORD_SENTINEL = \"@@__IMMUTABLE_RECORD__@@\";\nconst IS_SEQ_SENTINEL = \"@@__IMMUTABLE_SEQ__@@\";\nconst IS_SET_SENTINEL = \"@@__IMMUTABLE_SET__@@\";\nconst IS_STACK_SENTINEL = \"@@__IMMUTABLE_STACK__@@\";\nconst getImmutableName = (name) => `Immutable.${name}`;\nconst printAsLeaf = (name) => `[${name}]`;\nconst SPACE = \" \";\nconst LAZY = \"…\";\nfunction printImmutableEntries(val, config, indentation, depth, refs, printer, type) {\n\treturn ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}{${printIteratorEntries(val.entries(), config, indentation, depth, refs, printer)}}`;\n}\n// Record has an entries method because it is a collection in immutable v3.\n// Return an iterator for Immutable Record from version v3 or v4.\nfunction getRecordEntries(val) {\n\tlet i = 0;\n\treturn { next() {\n\t\tif (i < val._keys.length) {\n\t\t\tconst key = val._keys[i++];\n\t\t\treturn {\n\t\t\t\tdone: false,\n\t\t\t\tvalue: [key, val.get(key)]\n\t\t\t};\n\t\t}\n\t\treturn {\n\t\t\tdone: true,\n\t\t\tvalue: undefined\n\t\t};\n\t} };\n}\nfunction printImmutableRecord(val, config, indentation, depth, refs, printer) {\n\t// _name property is defined only for an Immutable Record instance\n\t// which was constructed with a second optional descriptive name arg\n\tconst name = getImmutableName(val._name || \"Record\");\n\treturn ++depth > config.maxDepth ? printAsLeaf(name) : `${name + SPACE}{${printIteratorEntries(getRecordEntries(val), config, indentation, depth, refs, printer)}}`;\n}\nfunction printImmutableSeq(val, config, indentation, depth, refs, printer) {\n\tconst name = getImmutableName(\"Seq\");\n\tif (++depth > config.maxDepth) {\n\t\treturn printAsLeaf(name);\n\t}\n\tif (val[IS_KEYED_SENTINEL]) {\n\t\treturn `${name + SPACE}{${val._iter || val._object ? printIteratorEntries(val.entries(), config, indentation, depth, refs, printer) : LAZY}}`;\n\t}\n\treturn `${name + SPACE}[${val._iter || val._array || val._collection || val._iterable ? printIteratorValues(val.values(), config, indentation, depth, refs, printer) : LAZY}]`;\n}\nfunction printImmutableValues(val, config, indentation, depth, refs, printer, type) {\n\treturn ++depth > config.maxDepth ? printAsLeaf(getImmutableName(type)) : `${getImmutableName(type) + SPACE}[${printIteratorValues(val.values(), config, indentation, depth, refs, printer)}]`;\n}\nconst serialize$2 = (val, config, indentation, depth, refs, printer) => {\n\tif (val[IS_MAP_SENTINEL]) {\n\t\treturn printImmutableEntries(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? \"OrderedMap\" : \"Map\");\n\t}\n\tif (val[IS_LIST_SENTINEL]) {\n\t\treturn printImmutableValues(val, config, indentation, depth, refs, printer, \"List\");\n\t}\n\tif (val[IS_SET_SENTINEL]) {\n\t\treturn printImmutableValues(val, config, indentation, depth, refs, printer, val[IS_ORDERED_SENTINEL] ? \"OrderedSet\" : \"Set\");\n\t}\n\tif (val[IS_STACK_SENTINEL]) {\n\t\treturn printImmutableValues(val, config, indentation, depth, refs, printer, \"Stack\");\n\t}\n\tif (val[IS_SEQ_SENTINEL]) {\n\t\treturn printImmutableSeq(val, config, indentation, depth, refs, printer);\n\t}\n\t// For compatibility with immutable v3 and v4, let record be the default.\n\treturn printImmutableRecord(val, config, indentation, depth, refs, printer);\n};\n// Explicitly comparing sentinel properties to true avoids false positive\n// when mock identity-obj-proxy returns the key as the value for any key.\nconst test$2 = (val) => val && (val[IS_ITERABLE_SENTINEL] === true || val[IS_RECORD_SENTINEL] === true);\nconst plugin$2 = {\n\tserialize: serialize$2,\n\ttest: test$2\n};\n\nfunction getDefaultExportFromCjs(x) {\n\treturn x && x.__esModule && Object.prototype.hasOwnProperty.call(x, \"default\") ? x[\"default\"] : x;\n}\n\nvar reactIs$1 = {exports: {}};\n\nvar reactIs_production = {};\n\n/**\n * @license React\n * react-is.production.js\n *\n * Copyright (c) Meta Platforms, Inc. and affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production;\n\nfunction requireReactIs_production () {\n\tif (hasRequiredReactIs_production) return reactIs_production;\n\thasRequiredReactIs_production = 1;\n\tvar REACT_ELEMENT_TYPE = Symbol.for(\"react.transitional.element\"),\n\t REACT_PORTAL_TYPE = Symbol.for(\"react.portal\"),\n\t REACT_FRAGMENT_TYPE = Symbol.for(\"react.fragment\"),\n\t REACT_STRICT_MODE_TYPE = Symbol.for(\"react.strict_mode\"),\n\t REACT_PROFILER_TYPE = Symbol.for(\"react.profiler\"),\n\t REACT_CONSUMER_TYPE = Symbol.for(\"react.consumer\"),\n\t REACT_CONTEXT_TYPE = Symbol.for(\"react.context\"),\n\t REACT_FORWARD_REF_TYPE = Symbol.for(\"react.forward_ref\"),\n\t REACT_SUSPENSE_TYPE = Symbol.for(\"react.suspense\"),\n\t REACT_SUSPENSE_LIST_TYPE = Symbol.for(\"react.suspense_list\"),\n\t REACT_MEMO_TYPE = Symbol.for(\"react.memo\"),\n\t REACT_LAZY_TYPE = Symbol.for(\"react.lazy\"),\n\t REACT_VIEW_TRANSITION_TYPE = Symbol.for(\"react.view_transition\"),\n\t REACT_CLIENT_REFERENCE = Symbol.for(\"react.client.reference\");\n\tfunction typeOf(object) {\n\t if (\"object\" === typeof object && null !== object) {\n\t var $$typeof = object.$$typeof;\n\t switch ($$typeof) {\n\t case REACT_ELEMENT_TYPE:\n\t switch (((object = object.type), object)) {\n\t case REACT_FRAGMENT_TYPE:\n\t case REACT_PROFILER_TYPE:\n\t case REACT_STRICT_MODE_TYPE:\n\t case REACT_SUSPENSE_TYPE:\n\t case REACT_SUSPENSE_LIST_TYPE:\n\t case REACT_VIEW_TRANSITION_TYPE:\n\t return object;\n\t default:\n\t switch (((object = object && object.$$typeof), object)) {\n\t case REACT_CONTEXT_TYPE:\n\t case REACT_FORWARD_REF_TYPE:\n\t case REACT_LAZY_TYPE:\n\t case REACT_MEMO_TYPE:\n\t return object;\n\t case REACT_CONSUMER_TYPE:\n\t return object;\n\t default:\n\t return $$typeof;\n\t }\n\t }\n\t case REACT_PORTAL_TYPE:\n\t return $$typeof;\n\t }\n\t }\n\t}\n\treactIs_production.ContextConsumer = REACT_CONSUMER_TYPE;\n\treactIs_production.ContextProvider = REACT_CONTEXT_TYPE;\n\treactIs_production.Element = REACT_ELEMENT_TYPE;\n\treactIs_production.ForwardRef = REACT_FORWARD_REF_TYPE;\n\treactIs_production.Fragment = REACT_FRAGMENT_TYPE;\n\treactIs_production.Lazy = REACT_LAZY_TYPE;\n\treactIs_production.Memo = REACT_MEMO_TYPE;\n\treactIs_production.Portal = REACT_PORTAL_TYPE;\n\treactIs_production.Profiler = REACT_PROFILER_TYPE;\n\treactIs_production.StrictMode = REACT_STRICT_MODE_TYPE;\n\treactIs_production.Suspense = REACT_SUSPENSE_TYPE;\n\treactIs_production.SuspenseList = REACT_SUSPENSE_LIST_TYPE;\n\treactIs_production.isContextConsumer = function (object) {\n\t return typeOf(object) === REACT_CONSUMER_TYPE;\n\t};\n\treactIs_production.isContextProvider = function (object) {\n\t return typeOf(object) === REACT_CONTEXT_TYPE;\n\t};\n\treactIs_production.isElement = function (object) {\n\t return (\n\t \"object\" === typeof object &&\n\t null !== object &&\n\t object.$$typeof === REACT_ELEMENT_TYPE\n\t );\n\t};\n\treactIs_production.isForwardRef = function (object) {\n\t return typeOf(object) === REACT_FORWARD_REF_TYPE;\n\t};\n\treactIs_production.isFragment = function (object) {\n\t return typeOf(object) === REACT_FRAGMENT_TYPE;\n\t};\n\treactIs_production.isLazy = function (object) {\n\t return typeOf(object) === REACT_LAZY_TYPE;\n\t};\n\treactIs_production.isMemo = function (object) {\n\t return typeOf(object) === REACT_MEMO_TYPE;\n\t};\n\treactIs_production.isPortal = function (object) {\n\t return typeOf(object) === REACT_PORTAL_TYPE;\n\t};\n\treactIs_production.isProfiler = function (object) {\n\t return typeOf(object) === REACT_PROFILER_TYPE;\n\t};\n\treactIs_production.isStrictMode = function (object) {\n\t return typeOf(object) === REACT_STRICT_MODE_TYPE;\n\t};\n\treactIs_production.isSuspense = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_TYPE;\n\t};\n\treactIs_production.isSuspenseList = function (object) {\n\t return typeOf(object) === REACT_SUSPENSE_LIST_TYPE;\n\t};\n\treactIs_production.isValidElementType = function (type) {\n\t return \"string\" === typeof type ||\n\t \"function\" === typeof type ||\n\t type === REACT_FRAGMENT_TYPE ||\n\t type === REACT_PROFILER_TYPE ||\n\t type === REACT_STRICT_MODE_TYPE ||\n\t type === REACT_SUSPENSE_TYPE ||\n\t type === REACT_SUSPENSE_LIST_TYPE ||\n\t (\"object\" === typeof type &&\n\t null !== type &&\n\t (type.$$typeof === REACT_LAZY_TYPE ||\n\t type.$$typeof === REACT_MEMO_TYPE ||\n\t type.$$typeof === REACT_CONTEXT_TYPE ||\n\t type.$$typeof === REACT_CONSUMER_TYPE ||\n\t type.$$typeof === REACT_FORWARD_REF_TYPE ||\n\t type.$$typeof === REACT_CLIENT_REFERENCE ||\n\t void 0 !== type.getModuleId))\n\t ? true\n\t : false;\n\t};\n\treactIs_production.typeOf = typeOf;\n\treturn reactIs_production;\n}\n\nvar hasRequiredReactIs$1;\n\nfunction requireReactIs$1 () {\n\tif (hasRequiredReactIs$1) return reactIs$1.exports;\n\thasRequiredReactIs$1 = 1;\n\n\t{\n\t reactIs$1.exports = requireReactIs_production();\n\t}\n\treturn reactIs$1.exports;\n}\n\nvar reactIsExports$1 = requireReactIs$1();\nvar index$1 = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports$1);\n\nvar ReactIs19 = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n default: index$1\n}, [reactIsExports$1]);\n\nvar reactIs = {exports: {}};\n\nvar reactIs_production_min = {};\n\n/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar hasRequiredReactIs_production_min;\n\nfunction requireReactIs_production_min () {\n\tif (hasRequiredReactIs_production_min) return reactIs_production_min;\n\thasRequiredReactIs_production_min = 1;\nvar b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\n\tfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}reactIs_production_min.ContextConsumer=h;reactIs_production_min.ContextProvider=g;reactIs_production_min.Element=b;reactIs_production_min.ForwardRef=l;reactIs_production_min.Fragment=d;reactIs_production_min.Lazy=q;reactIs_production_min.Memo=p;reactIs_production_min.Portal=c;reactIs_production_min.Profiler=f;reactIs_production_min.StrictMode=e;reactIs_production_min.Suspense=m;\n\treactIs_production_min.SuspenseList=n;reactIs_production_min.isAsyncMode=function(){return false};reactIs_production_min.isConcurrentMode=function(){return false};reactIs_production_min.isContextConsumer=function(a){return v(a)===h};reactIs_production_min.isContextProvider=function(a){return v(a)===g};reactIs_production_min.isElement=function(a){return \"object\"===typeof a&&null!==a&&a.$$typeof===b};reactIs_production_min.isForwardRef=function(a){return v(a)===l};reactIs_production_min.isFragment=function(a){return v(a)===d};reactIs_production_min.isLazy=function(a){return v(a)===q};reactIs_production_min.isMemo=function(a){return v(a)===p};\n\treactIs_production_min.isPortal=function(a){return v(a)===c};reactIs_production_min.isProfiler=function(a){return v(a)===f};reactIs_production_min.isStrictMode=function(a){return v(a)===e};reactIs_production_min.isSuspense=function(a){return v(a)===m};reactIs_production_min.isSuspenseList=function(a){return v(a)===n};\n\treactIs_production_min.isValidElementType=function(a){return \"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?true:false};reactIs_production_min.typeOf=v;\n\treturn reactIs_production_min;\n}\n\nvar hasRequiredReactIs;\n\nfunction requireReactIs () {\n\tif (hasRequiredReactIs) return reactIs.exports;\n\thasRequiredReactIs = 1;\n\n\t{\n\t reactIs.exports = requireReactIs_production_min();\n\t}\n\treturn reactIs.exports;\n}\n\nvar reactIsExports = requireReactIs();\nvar index = /*@__PURE__*/getDefaultExportFromCjs(reactIsExports);\n\nvar ReactIs18 = /*#__PURE__*/_mergeNamespaces({\n __proto__: null,\n default: index\n}, [reactIsExports]);\n\nconst reactIsMethods = [\n\t\"isAsyncMode\",\n\t\"isConcurrentMode\",\n\t\"isContextConsumer\",\n\t\"isContextProvider\",\n\t\"isElement\",\n\t\"isForwardRef\",\n\t\"isFragment\",\n\t\"isLazy\",\n\t\"isMemo\",\n\t\"isPortal\",\n\t\"isProfiler\",\n\t\"isStrictMode\",\n\t\"isSuspense\",\n\t\"isSuspenseList\",\n\t\"isValidElementType\"\n];\nconst ReactIs = Object.fromEntries(reactIsMethods.map((m) => [m, (v) => ReactIs18[m](v) || ReactIs19[m](v)]));\n// Given element.props.children, or subtree during recursive traversal,\n// return flattened array of children.\nfunction getChildren(arg, children = []) {\n\tif (Array.isArray(arg)) {\n\t\tfor (const item of arg) {\n\t\t\tgetChildren(item, children);\n\t\t}\n\t} else if (arg != null && arg !== false && arg !== \"\") {\n\t\tchildren.push(arg);\n\t}\n\treturn children;\n}\nfunction getType(element) {\n\tconst type = element.type;\n\tif (typeof type === \"string\") {\n\t\treturn type;\n\t}\n\tif (typeof type === \"function\") {\n\t\treturn type.displayName || type.name || \"Unknown\";\n\t}\n\tif (ReactIs.isFragment(element)) {\n\t\treturn \"React.Fragment\";\n\t}\n\tif (ReactIs.isSuspense(element)) {\n\t\treturn \"React.Suspense\";\n\t}\n\tif (typeof type === \"object\" && type !== null) {\n\t\tif (ReactIs.isContextProvider(element)) {\n\t\t\treturn \"Context.Provider\";\n\t\t}\n\t\tif (ReactIs.isContextConsumer(element)) {\n\t\t\treturn \"Context.Consumer\";\n\t\t}\n\t\tif (ReactIs.isForwardRef(element)) {\n\t\t\tif (type.displayName) {\n\t\t\t\treturn type.displayName;\n\t\t\t}\n\t\t\tconst functionName = type.render.displayName || type.render.name || \"\";\n\t\t\treturn functionName === \"\" ? \"ForwardRef\" : `ForwardRef(${functionName})`;\n\t\t}\n\t\tif (ReactIs.isMemo(element)) {\n\t\t\tconst functionName = type.displayName || type.type.displayName || type.type.name || \"\";\n\t\t\treturn functionName === \"\" ? \"Memo\" : `Memo(${functionName})`;\n\t\t}\n\t}\n\treturn \"UNDEFINED\";\n}\nfunction getPropKeys$1(element) {\n\tconst { props } = element;\n\treturn Object.keys(props).filter((key) => key !== \"children\" && props[key] !== undefined).sort();\n}\nconst serialize$1 = (element, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(getType(element), config) : printElement(getType(element), printProps(getPropKeys$1(element), element.props, config, indentation + config.indent, depth, refs, printer), printChildren(getChildren(element.props.children), config, indentation + config.indent, depth, refs, printer), config, indentation);\nconst test$1 = (val) => val != null && ReactIs.isElement(val);\nconst plugin$1 = {\n\tserialize: serialize$1,\n\ttest: test$1\n};\n\nconst testSymbol = typeof Symbol === \"function\" && Symbol.for ? Symbol.for(\"react.test.json\") : 245830487;\nfunction getPropKeys(object) {\n\tconst { props } = object;\n\treturn props ? Object.keys(props).filter((key) => props[key] !== undefined).sort() : [];\n}\nconst serialize = (object, config, indentation, depth, refs, printer) => ++depth > config.maxDepth ? printElementAsLeaf(object.type, config) : printElement(object.type, object.props ? printProps(getPropKeys(object), object.props, config, indentation + config.indent, depth, refs, printer) : \"\", object.children ? printChildren(object.children, config, indentation + config.indent, depth, refs, printer) : \"\", config, indentation);\nconst test = (val) => val && val.$$typeof === testSymbol;\nconst plugin = {\n\tserialize,\n\ttest\n};\n\nconst toString = Object.prototype.toString;\nconst toISOString = Date.prototype.toISOString;\nconst errorToString = Error.prototype.toString;\nconst regExpToString = RegExp.prototype.toString;\n/**\n* Explicitly comparing typeof constructor to function avoids undefined as name\n* when mock identity-obj-proxy returns the key as the value for any key.\n*/\nfunction getConstructorName(val) {\n\treturn typeof val.constructor === \"function\" && val.constructor.name || \"Object\";\n}\n/** Is val is equal to global window object? Works even if it does not exist :) */\nfunction isWindow(val) {\n\treturn typeof window !== \"undefined\" && val === window;\n}\n// eslint-disable-next-line regexp/no-super-linear-backtracking\nconst SYMBOL_REGEXP = /^Symbol\\((.*)\\)(.*)$/;\nconst NEWLINE_REGEXP = /\\n/g;\nclass PrettyFormatPluginError extends Error {\n\tconstructor(message, stack) {\n\t\tsuper(message);\n\t\tthis.stack = stack;\n\t\tthis.name = this.constructor.name;\n\t}\n}\nfunction isToStringedArrayType(toStringed) {\n\treturn toStringed === \"[object Array]\" || toStringed === \"[object ArrayBuffer]\" || toStringed === \"[object DataView]\" || toStringed === \"[object Float32Array]\" || toStringed === \"[object Float64Array]\" || toStringed === \"[object Int8Array]\" || toStringed === \"[object Int16Array]\" || toStringed === \"[object Int32Array]\" || toStringed === \"[object Uint8Array]\" || toStringed === \"[object Uint8ClampedArray]\" || toStringed === \"[object Uint16Array]\" || toStringed === \"[object Uint32Array]\";\n}\nfunction printNumber(val) {\n\treturn Object.is(val, -0) ? \"-0\" : String(val);\n}\nfunction printBigInt(val) {\n\treturn String(`${val}n`);\n}\nfunction printFunction(val, printFunctionName) {\n\tif (!printFunctionName) {\n\t\treturn \"[Function]\";\n\t}\n\treturn `[Function ${val.name || \"anonymous\"}]`;\n}\nfunction printSymbol(val) {\n\treturn String(val).replace(SYMBOL_REGEXP, \"Symbol($1)\");\n}\nfunction printError(val) {\n\treturn `[${errorToString.call(val)}]`;\n}\n/**\n* The first port of call for printing an object, handles most of the\n* data-types in JS.\n*/\nfunction printBasicValue(val, printFunctionName, escapeRegex, escapeString) {\n\tif (val === true || val === false) {\n\t\treturn `${val}`;\n\t}\n\tif (val === undefined) {\n\t\treturn \"undefined\";\n\t}\n\tif (val === null) {\n\t\treturn \"null\";\n\t}\n\tconst typeOf = typeof val;\n\tif (typeOf === \"number\") {\n\t\treturn printNumber(val);\n\t}\n\tif (typeOf === \"bigint\") {\n\t\treturn printBigInt(val);\n\t}\n\tif (typeOf === \"string\") {\n\t\tif (escapeString) {\n\t\t\treturn `\"${val.replaceAll(/\"|\\\\/g, \"\\\\$&\")}\"`;\n\t\t}\n\t\treturn `\"${val}\"`;\n\t}\n\tif (typeOf === \"function\") {\n\t\treturn printFunction(val, printFunctionName);\n\t}\n\tif (typeOf === \"symbol\") {\n\t\treturn printSymbol(val);\n\t}\n\tconst toStringed = toString.call(val);\n\tif (toStringed === \"[object WeakMap]\") {\n\t\treturn \"WeakMap {}\";\n\t}\n\tif (toStringed === \"[object WeakSet]\") {\n\t\treturn \"WeakSet {}\";\n\t}\n\tif (toStringed === \"[object Function]\" || toStringed === \"[object GeneratorFunction]\") {\n\t\treturn printFunction(val, printFunctionName);\n\t}\n\tif (toStringed === \"[object Symbol]\") {\n\t\treturn printSymbol(val);\n\t}\n\tif (toStringed === \"[object Date]\") {\n\t\treturn Number.isNaN(+val) ? \"Date { NaN }\" : toISOString.call(val);\n\t}\n\tif (toStringed === \"[object Error]\") {\n\t\treturn printError(val);\n\t}\n\tif (toStringed === \"[object RegExp]\") {\n\t\tif (escapeRegex) {\n\t\t\t// https://github.com/benjamingr/RegExp.escape/blob/main/polyfill.js\n\t\t\treturn regExpToString.call(val).replaceAll(/[$()*+.?[\\\\\\]^{|}]/g, \"\\\\$&\");\n\t\t}\n\t\treturn regExpToString.call(val);\n\t}\n\tif (val instanceof Error) {\n\t\treturn printError(val);\n\t}\n\treturn null;\n}\n/**\n* Handles more complex objects ( such as objects with circular references.\n* maps and sets etc )\n*/\nfunction printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON) {\n\tif (refs.includes(val)) {\n\t\treturn \"[Circular]\";\n\t}\n\trefs = [...refs];\n\trefs.push(val);\n\tconst hitMaxDepth = ++depth > config.maxDepth;\n\tconst min = config.min;\n\tif (config.callToJSON && !hitMaxDepth && val.toJSON && typeof val.toJSON === \"function\" && !hasCalledToJSON) {\n\t\treturn printer(val.toJSON(), config, indentation, depth, refs, true);\n\t}\n\tconst toStringed = toString.call(val);\n\tif (toStringed === \"[object Arguments]\") {\n\t\treturn hitMaxDepth ? \"[Arguments]\" : `${min ? \"\" : \"Arguments \"}[${printListItems(val, config, indentation, depth, refs, printer)}]`;\n\t}\n\tif (isToStringedArrayType(toStringed)) {\n\t\treturn hitMaxDepth ? `[${val.constructor.name}]` : `${min ? \"\" : !config.printBasicPrototype && val.constructor.name === \"Array\" ? \"\" : `${val.constructor.name} `}[${printListItems(val, config, indentation, depth, refs, printer)}]`;\n\t}\n\tif (toStringed === \"[object Map]\") {\n\t\treturn hitMaxDepth ? \"[Map]\" : `Map {${printIteratorEntries(val.entries(), config, indentation, depth, refs, printer, \" => \")}}`;\n\t}\n\tif (toStringed === \"[object Set]\") {\n\t\treturn hitMaxDepth ? \"[Set]\" : `Set {${printIteratorValues(val.values(), config, indentation, depth, refs, printer)}}`;\n\t}\n\t// Avoid failure to serialize global window object in jsdom test environment.\n\t// For example, not even relevant if window is prop of React element.\n\treturn hitMaxDepth || isWindow(val) ? `[${getConstructorName(val)}]` : `${min ? \"\" : !config.printBasicPrototype && getConstructorName(val) === \"Object\" ? \"\" : `${getConstructorName(val)} `}{${printObjectProperties(val, config, indentation, depth, refs, printer)}}`;\n}\nconst ErrorPlugin = {\n\ttest: (val) => val && val instanceof Error,\n\tserialize(val, config, indentation, depth, refs, printer) {\n\t\tif (refs.includes(val)) {\n\t\t\treturn \"[Circular]\";\n\t\t}\n\t\trefs = [...refs, val];\n\t\tconst hitMaxDepth = ++depth > config.maxDepth;\n\t\tconst { message, cause, ...rest } = val;\n\t\tconst entries = {\n\t\t\tmessage,\n\t\t\t...typeof cause !== \"undefined\" ? { cause } : {},\n\t\t\t...val instanceof AggregateError ? { errors: val.errors } : {},\n\t\t\t...rest\n\t\t};\n\t\tconst name = val.name !== \"Error\" ? val.name : getConstructorName(val);\n\t\treturn hitMaxDepth ? `[${name}]` : `${name} {${printIteratorEntries(Object.entries(entries).values(), config, indentation, depth, refs, printer)}}`;\n\t}\n};\nfunction isNewPlugin(plugin) {\n\treturn plugin.serialize != null;\n}\nfunction printPlugin(plugin, val, config, indentation, depth, refs) {\n\tlet printed;\n\ttry {\n\t\tprinted = isNewPlugin(plugin) ? plugin.serialize(val, config, indentation, depth, refs, printer) : plugin.print(val, (valChild) => printer(valChild, config, indentation, depth, refs), (str) => {\n\t\t\tconst indentationNext = indentation + config.indent;\n\t\t\treturn indentationNext + str.replaceAll(NEWLINE_REGEXP, `\\n${indentationNext}`);\n\t\t}, {\n\t\t\tedgeSpacing: config.spacingOuter,\n\t\t\tmin: config.min,\n\t\t\tspacing: config.spacingInner\n\t\t}, config.colors);\n\t} catch (error) {\n\t\tthrow new PrettyFormatPluginError(error.message, error.stack);\n\t}\n\tif (typeof printed !== \"string\") {\n\t\tthrow new TypeError(`pretty-format: Plugin must return type \"string\" but instead returned \"${typeof printed}\".`);\n\t}\n\treturn printed;\n}\nfunction findPlugin(plugins, val) {\n\tfor (const plugin of plugins) {\n\t\ttry {\n\t\t\tif (plugin.test(val)) {\n\t\t\t\treturn plugin;\n\t\t\t}\n\t\t} catch (error) {\n\t\t\tthrow new PrettyFormatPluginError(error.message, error.stack);\n\t\t}\n\t}\n\treturn null;\n}\nfunction printer(val, config, indentation, depth, refs, hasCalledToJSON) {\n\tlet result;\n\tconst plugin = findPlugin(config.plugins, val);\n\tif (plugin !== null) {\n\t\tresult = printPlugin(plugin, val, config, indentation, depth, refs);\n\t} else {\n\t\tconst basicResult = printBasicValue(val, config.printFunctionName, config.escapeRegex, config.escapeString);\n\t\tif (basicResult !== null) {\n\t\t\tresult = basicResult;\n\t\t} else {\n\t\t\tresult = printComplexValue(val, config, indentation, depth, refs, hasCalledToJSON);\n\t\t}\n\t}\n\t// Per-depth output budget (inspired by Node's util.inspect).\n\t// Each depth level tracks output independently, so nested results\n\t// don't inflate a single counter (which would undercount by ~Nx for\n\t// N levels of nesting). Nodes at the same depth produce disjoint spans\n\t// in the output string, so each bucket accurately reflects output at\n\t// that level. Total output is bounded by maxDepth × maxOutputLength.\n\tconfig._outputLengthPerDepth[depth] ??= 0;\n\tconfig._outputLengthPerDepth[depth] += result.length;\n\tif (config._outputLengthPerDepth[depth] > config.maxOutputLength) {\n\t\tconfig.maxDepth = 0;\n\t}\n\treturn result;\n}\nconst DEFAULT_THEME = {\n\tcomment: \"gray\",\n\tcontent: \"reset\",\n\tprop: \"yellow\",\n\ttag: \"cyan\",\n\tvalue: \"green\"\n};\nconst DEFAULT_THEME_KEYS = Object.keys(DEFAULT_THEME);\nconst DEFAULT_OPTIONS = {\n\tcallToJSON: true,\n\tcompareKeys: undefined,\n\tescapeRegex: false,\n\tescapeString: true,\n\thighlight: false,\n\tindent: 2,\n\tmaxDepth: Number.POSITIVE_INFINITY,\n\tmaxOutputLength: 1e6,\n\tmaxWidth: Number.POSITIVE_INFINITY,\n\tmin: false,\n\tplugins: [],\n\tprintBasicPrototype: true,\n\tprintFunctionName: true,\n\tprintShadowRoot: true,\n\ttheme: DEFAULT_THEME\n};\nfunction validateOptions(options) {\n\tfor (const key of Object.keys(options)) {\n\t\tif (!Object.hasOwn(DEFAULT_OPTIONS, key)) {\n\t\t\tthrow new Error(`pretty-format: Unknown option \"${key}\".`);\n\t\t}\n\t}\n\tif (options.min && options.indent !== undefined && options.indent !== 0) {\n\t\tthrow new Error(\"pretty-format: Options \\\"min\\\" and \\\"indent\\\" cannot be used together.\");\n\t}\n}\nfunction getColorsHighlight() {\n\treturn DEFAULT_THEME_KEYS.reduce((colors, key) => {\n\t\tconst value = DEFAULT_THEME[key];\n\t\tconst color = value && styles[value];\n\t\tif (color && typeof color.close === \"string\" && typeof color.open === \"string\") {\n\t\t\tcolors[key] = color;\n\t\t} else {\n\t\t\tthrow new Error(`pretty-format: Option \"theme\" has a key \"${key}\" whose value \"${value}\" is undefined in ansi-styles.`);\n\t\t}\n\t\treturn colors;\n\t}, Object.create(null));\n}\nfunction getColorsEmpty() {\n\treturn DEFAULT_THEME_KEYS.reduce((colors, key) => {\n\t\tcolors[key] = {\n\t\t\tclose: \"\",\n\t\t\topen: \"\"\n\t\t};\n\t\treturn colors;\n\t}, Object.create(null));\n}\nfunction getPrintFunctionName(options) {\n\treturn options?.printFunctionName ?? DEFAULT_OPTIONS.printFunctionName;\n}\nfunction getEscapeRegex(options) {\n\treturn options?.escapeRegex ?? DEFAULT_OPTIONS.escapeRegex;\n}\nfunction getEscapeString(options) {\n\treturn options?.escapeString ?? DEFAULT_OPTIONS.escapeString;\n}\nfunction getConfig(options) {\n\treturn {\n\t\tcallToJSON: options?.callToJSON ?? DEFAULT_OPTIONS.callToJSON,\n\t\tcolors: options?.highlight ? getColorsHighlight() : getColorsEmpty(),\n\t\tcompareKeys: typeof options?.compareKeys === \"function\" || options?.compareKeys === null ? options.compareKeys : DEFAULT_OPTIONS.compareKeys,\n\t\tescapeRegex: getEscapeRegex(options),\n\t\tescapeString: getEscapeString(options),\n\t\tindent: options?.min ? \"\" : createIndent(options?.indent ?? DEFAULT_OPTIONS.indent),\n\t\tmaxDepth: options?.maxDepth ?? DEFAULT_OPTIONS.maxDepth,\n\t\tmaxWidth: options?.maxWidth ?? DEFAULT_OPTIONS.maxWidth,\n\t\tmin: options?.min ?? DEFAULT_OPTIONS.min,\n\t\tplugins: options?.plugins ?? DEFAULT_OPTIONS.plugins,\n\t\tprintBasicPrototype: options?.printBasicPrototype ?? true,\n\t\tprintFunctionName: getPrintFunctionName(options),\n\t\tprintShadowRoot: options?.printShadowRoot ?? true,\n\t\tspacingInner: options?.min ? \" \" : \"\\n\",\n\t\tspacingOuter: options?.min ? \"\" : \"\\n\",\n\t\tmaxOutputLength: options?.maxOutputLength ?? DEFAULT_OPTIONS.maxOutputLength,\n\t\t_outputLengthPerDepth: []\n\t};\n}\nfunction createIndent(indent) {\n\treturn Array.from({ length: indent + 1 }).join(\" \");\n}\n/**\n* Returns a presentation string of your `val` object\n* @param val any potential JavaScript object\n* @param options Custom settings\n*/\nfunction format(val, options) {\n\tif (options) {\n\t\tvalidateOptions(options);\n\t\tif (options.plugins) {\n\t\t\tconst plugin = findPlugin(options.plugins, val);\n\t\t\tif (plugin !== null) {\n\t\t\t\treturn printPlugin(plugin, val, getConfig(options), \"\", 0, []);\n\t\t\t}\n\t\t}\n\t}\n\tconst basicResult = printBasicValue(val, getPrintFunctionName(options), getEscapeRegex(options), getEscapeString(options));\n\tif (basicResult !== null) {\n\t\treturn basicResult;\n\t}\n\treturn printComplexValue(val, getConfig(options), \"\", 0, []);\n}\nconst plugins = {\n\tAsymmetricMatcher: plugin$5,\n\tDOMCollection: plugin$4,\n\tDOMElement: plugin$3,\n\tImmutable: plugin$2,\n\tReactElement: plugin$1,\n\tReactTestComponent: plugin,\n\tError: ErrorPlugin\n};\n\nexport { DEFAULT_OPTIONS, createDOMElementFilter, format, plugins };\n"],"x_google_ignoreList":[0],"mappings":";;AAEA,SAAS,iBAAiB,GAAG,GAAG;CAC9B,EAAE,QAAQ,SAAU,GAAG;EACrB,KAAK,OAAO,MAAM,YAAY,CAAC,MAAM,QAAQ,CAAC,KAAK,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,SAAU,GAAG;GACrF,IAAI,MAAM,aAAa,EAAE,KAAK,IAAI;IAChC,IAAI,IAAI,OAAO,yBAAyB,GAAG,CAAC;IAC5C,OAAO,eAAe,GAAG,GAAG,EAAE,MAAM,IAAI;KACtC,YAAY;KACZ,KAAK,WAAY;MAAE,OAAO,EAAE;KAAI;IAClC,CAAC;GACH;EACF,CAAC;CACH,CAAC;CACD,OAAO,OAAO,OAAO,CAAC;AACxB;AAEA,SAAS,8BAA8B,QAAQ,aAAa;CAC3D,MAAM,UAAU,OAAO,KAAK,MAAM;CAClC,MAAM,OAAO,gBAAgB,OAAO,UAAU,QAAQ,KAAK,WAAW;CACtE,IAAI,OAAO,uBACL;OAAA,MAAM,UAAU,OAAO,sBAAsB,MAAM,GACvD,IAAI,OAAO,yBAAyB,QAAQ,MAAM,CAAC,CAAC,YACnD,KAAK,KAAK,MAAM;CAAA;CAInB,OAAO;AACR;;;;;;AAMA,SAAS,qBAAqB,UAAU,QAAQ,aAAa,OAAO,MAAM,SAAS,YAAY,MAAM;CACpG,IAAI,SAAS;CACb,IAAI,QAAQ;CACZ,IAAI,UAAU,SAAS,KAAK;CAC5B,IAAI,CAAC,QAAQ,MAAM;EAClB,UAAU,OAAO;EACjB,MAAM,kBAAkB,cAAc,OAAO;EAC7C,OAAO,CAAC,QAAQ,MAAM;GACrB,UAAU;GACV,IAAI,YAAY,OAAO,UAAU;IAChC,UAAU;IACV;GACD;GACA,MAAM,OAAO,QAAQ,QAAQ,MAAM,IAAI,QAAQ,iBAAiB,OAAO,IAAI;GAC3E,MAAM,QAAQ,QAAQ,QAAQ,MAAM,IAAI,QAAQ,iBAAiB,OAAO,IAAI;GAC5E,UAAU,OAAO,YAAY;GAC7B,UAAU,SAAS,KAAK;GACxB,IAAI,CAAC,QAAQ,MACZ,UAAU,IAAI,OAAO;QACf,IAAI,CAAC,OAAO,KAClB,UAAU;EAEZ;EACA,UAAU,OAAO,eAAe;CACjC;CACA,OAAO;AACR;;;;;;AAMA,SAAS,oBAAoB,UAAU,QAAQ,aAAa,OAAO,MAAM,SAAS;CACjF,IAAI,SAAS;CACb,IAAI,QAAQ;CACZ,IAAI,UAAU,SAAS,KAAK;CAC5B,IAAI,CAAC,QAAQ,MAAM;EAClB,UAAU,OAAO;EACjB,MAAM,kBAAkB,cAAc,OAAO;EAC7C,OAAO,CAAC,QAAQ,MAAM;GACrB,UAAU;GACV,IAAI,YAAY,OAAO,UAAU;IAChC,UAAU;IACV;GACD;GACA,UAAU,QAAQ,QAAQ,OAAO,QAAQ,iBAAiB,OAAO,IAAI;GACrE,UAAU,SAAS,KAAK;GACxB,IAAI,CAAC,QAAQ,MACZ,UAAU,IAAI,OAAO;QACf,IAAI,CAAC,OAAO,KAClB,UAAU;EAEZ;EACA,UAAU,OAAO,eAAe;CACjC;CACA,OAAO;AACR;;;;;;AAMA,SAAS,eAAe,MAAM,QAAQ,aAAa,OAAO,MAAM,SAAS;CACxE,IAAI,SAAS;CACb,OAAO,gBAAgB,cAAc,IAAI,SAAS,IAAI,IAAI;CAC1D,MAAM,cAAc,MAAM,aAAa;CACvC,MAAM,SAAS,WAAW,IAAI,IAAI,KAAK,aAAa,KAAK;CACzD,IAAI,SAAS,GAAG;EACf,UAAU,OAAO;EACjB,MAAM,kBAAkB,cAAc,OAAO;EAC7C,KAAK,IAAI,IAAI,GAAG,IAAI,QAAQ,KAAK;GAChC,UAAU;GACV,IAAI,MAAM,OAAO,UAAU;IAC1B,UAAU;IACV;GACD;GACA,IAAI,WAAW,IAAI,KAAK,KAAK,MAC5B,UAAU,QAAQ,WAAW,IAAI,IAAI,KAAK,QAAQ,CAAC,IAAI,KAAK,IAAI,QAAQ,iBAAiB,OAAO,IAAI;GAErG,IAAI,IAAI,SAAS,GAChB,UAAU,IAAI,OAAO;QACf,IAAI,CAAC,OAAO,KAClB,UAAU;EAEZ;EACA,UAAU,OAAO,eAAe;CACjC;CACA,OAAO;AACR;;;;;;AAMA,SAAS,sBAAsB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS;CAC9E,IAAI,SAAS;CACb,MAAM,OAAO,8BAA8B,KAAK,OAAO,WAAW;CAClE,IAAI,KAAK,SAAS,GAAG;EACpB,UAAU,OAAO;EACjB,MAAM,kBAAkB,cAAc,OAAO;EAC7C,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;GACrC,MAAM,MAAM,KAAK;GACjB,MAAM,OAAO,QAAQ,KAAK,QAAQ,iBAAiB,OAAO,IAAI;GAC9D,MAAM,QAAQ,QAAQ,IAAI,MAAM,QAAQ,iBAAiB,OAAO,IAAI;GACpE,UAAU,GAAG,kBAAkB,KAAK,IAAI;GACxC,IAAI,IAAI,KAAK,SAAS,GACrB,UAAU,IAAI,OAAO;QACf,IAAI,CAAC,OAAO,KAClB,UAAU;EAEZ;EACA,UAAU,OAAO,eAAe;CACjC;CACA,OAAO;AACR;AAEA,MAAM,oBAAoB,OAAO,WAAW,cAAc,OAAO,MAAM,OAAO,IAAI,wBAAwB,IAAI;AAC9G,MAAM,UAAU;AAChB,MAAM,eAAe,KAAK,QAAQ,aAAa,OAAO,MAAM,YAAY;CACvE,MAAM,gBAAgB,IAAI,SAAS;CACnC,IAAI,kBAAkB,qBAAqB,kBAAkB,sBAAsB;EAClF,IAAI,EAAE,QAAQ,OAAO,UACpB,OAAO,IAAI,cAAc;EAE1B,OAAO,GAAG,gBAAgB,QAAQ,GAAG,eAAe,IAAI,QAAQ,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;CAC5G;CACA,IAAI,kBAAkB,sBAAsB,kBAAkB,uBAAuB;EACpF,IAAI,EAAE,QAAQ,OAAO,UACpB,OAAO,IAAI,cAAc;EAE1B,OAAO,GAAG,gBAAgB,QAAQ,GAAG,sBAAsB,IAAI,QAAQ,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;CACnH;CACA,IAAI,kBAAkB,oBAAoB,kBAAkB,qBAC3D,OAAO,gBAAgB,UAAU,QAAQ,IAAI,QAAQ,QAAQ,aAAa,OAAO,IAAI;CAEtF,IAAI,kBAAkB,sBAAsB,kBAAkB,uBAC7D,OAAO,gBAAgB,UAAU,QAAQ,IAAI,QAAQ,QAAQ,aAAa,OAAO,IAAI;CAEtF,IAAI,OAAO,IAAI,wBAAwB,YACtC,MAAM,IAAI,UAAU,sBAAsB,IAAI,YAAY,KAAK,0CAA0C;CAE1G,OAAO,IAAI,oBAAoB;AAChC;AACA,MAAM,UAAU,QAAQ,OAAO,IAAI,aAAa;AAChD,MAAM,WAAW;CAChB,WAAW;CACX,MAAM;AACP;AAEA,MAAM,UAAU;AAChB,MAAM,+BAAe,IAAI,IAAI,CAAC,gBAAgB,cAAc,CAAC;AAC7D,MAAM,eAAe;AACrB,SAAS,SAAS,MAAM;CACvB,OAAO,aAAa,IAAI,IAAI,KAAK,aAAa,KAAK,IAAI;AACxD;AACA,MAAM,UAAU,QAAQ,OAAO,IAAI,eAAe,CAAC,CAAC,IAAI,YAAY,QAAQ,SAAS,IAAI,YAAY,IAAI;AACzG,SAAS,eAAe,YAAY;CACnC,OAAO,WAAW,YAAY,SAAS;AACxC;AACA,MAAM,eAAe,YAAY,QAAQ,aAAa,OAAO,MAAM,YAAY;CAC9E,MAAM,OAAO,WAAW,YAAY;CACpC,IAAI,EAAE,QAAQ,OAAO,UACpB,OAAO,IAAI,KAAK;CAEjB,QAAQ,OAAO,MAAM,KAAK,OAAO,YAAY,aAAa,IAAI,IAAI,IAAI,IAAI,sBAAsB,eAAe,UAAU,IAAI,CAAC,GAAG,UAAU,CAAC,CAAC,QAAQ,OAAO,cAAc;EACzK,MAAM,UAAU,QAAQ,UAAU;EAClC,OAAO;CACR,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,WAAW,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE,KAAK,IAAI,eAAe,CAAC,GAAG,UAAU,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;AAC5J;AACA,MAAM,WAAW;CAChB,WAAW;CACX,MAAM;AACP;;;;;;;AAQA,SAAS,WAAW,KAAK;CACxB,OAAO,IAAI,WAAW,KAAK,MAAM,CAAC,CAAC,WAAW,KAAK,MAAM;AAC1D;AAGA,SAAS,WAAW,MAAM,OAAO,QAAQ,aAAa,OAAO,MAAM,SAAS;CAC3E,MAAM,kBAAkB,cAAc,OAAO;CAC7C,MAAM,SAAS,OAAO;CACtB,OAAO,KAAK,KAAK,QAAQ;EACxB,MAAM,QAAQ,MAAM;EAEpB,IAAI,OAAO,UAAU,YAAY,MAAM,OAAO,OAAO,MAAM,WAAW,WAAW,KAAK,MAAM,MAAM,gBAAgB,GACjH,OAAO;EAER,IAAI,UAAU,QAAQ,OAAO,QAAQ,iBAAiB,OAAO,IAAI;EACjE,IAAI,OAAO,UAAU,UAAU;GAC9B,IAAI,QAAQ,SAAS,IAAI,GACxB,UAAU,OAAO,eAAe,kBAAkB,UAAU,OAAO,eAAe;GAEnF,UAAU,IAAI,QAAQ;EACvB;EACA,OAAO,GAAG,OAAO,eAAe,cAAc,OAAO,KAAK,OAAO,MAAM,OAAO,KAAK,MAAM,GAAG,OAAO,MAAM,OAAO,UAAU,OAAO,MAAM;CACxI,CAAC,CAAC,CAAC,KAAK,EAAE;AACX;AAEA,SAAS,cAAc,UAAU,QAAQ,aAAa,OAAO,MAAM,SAAS;CAC3E,OAAO,SAAS,KAAK,UAAU,OAAO,eAAe,eAAe,OAAO,UAAU,WAAW,UAAU,OAAO,MAAM,IAAI,QAAQ,OAAO,QAAQ,aAAa,OAAO,IAAI,EAAE,CAAC,CAAC,KAAK,EAAE;AACtL;AACA,SAAS,gBAAgB,UAAU,QAAQ,aAAa,OAAO,MAAM,SAAS;CAC7E,IAAI,OAAO,oBAAoB,OAC9B,OAAO;CAER,OAAO,CAAC,GAAG,OAAO,eAAe,YAAY,eAAe,cAAc,UAAU,QAAQ,cAAc,OAAO,QAAQ,OAAO,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE;AACxJ;AACA,SAAS,UAAU,MAAM,QAAQ;CAChC,MAAM,eAAe,OAAO,OAAO;CACnC,OAAO,aAAa,OAAO,WAAW,IAAI,IAAI,aAAa;AAC5D;AACA,SAAS,aAAa,SAAS,QAAQ;CACtC,MAAM,eAAe,OAAO,OAAO;CACnC,OAAO,GAAG,aAAa,KAAK,MAAM,WAAW,OAAO,EAAE,KAAK,aAAa;AACzE;AAKA,SAAS,aAAa,MAAM,cAAc,iBAAiB,QAAQ,aAAa;CAC/E,MAAM,WAAW,OAAO,OAAO;CAC/B,OAAO,GAAG,SAAS,KAAK,GAAG,OAAO,gBAAgB,SAAS,QAAQ,eAAe,OAAO,eAAe,cAAc,SAAS,OAAO,kBAAkB,IAAI,SAAS,QAAQ,kBAAkB,OAAO,eAAe,cAAc,SAAS,KAAK,IAAI,SAAS,GAAG,gBAAgB,CAAC,OAAO,MAAM,KAAK,IAAI,GAAG,GAAG,SAAS;AACxT;AACA,SAAS,mBAAmB,MAAM,QAAQ;CACzC,MAAM,WAAW,OAAO,OAAO;CAC/B,OAAO,GAAG,SAAS,KAAK,GAAG,OAAO,SAAS,MAAM,IAAI,SAAS,KAAK,KAAK,SAAS;AAClF;AAEA,MAAM,eAAe;AACrB,MAAM,YAAY;AAClB,MAAM,eAAe;AACrB,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AACvB,SAAS,iBAAiB,KAAK;CAC9B,IAAI;EACH,OAAO,OAAO,IAAI,iBAAiB,cAAc,IAAI,aAAa,IAAI;CACvE,QAAQ;EACP,OAAO;CACR;AACD;AACA,SAAS,SAAS,KAAK;CACtB,MAAM,kBAAkB,IAAI,YAAY;CACxC,MAAM,EAAE,UAAU,YAAY;CAC9B,MAAM,kBAAkB,OAAO,YAAY,YAAY,QAAQ,SAAS,GAAG,KAAK,iBAAiB,GAAG;CACpG,OAAO,aAAa,iBAAiB,eAAe,KAAK,eAAe,KAAK,oBAAoB,aAAa,aAAa,oBAAoB,UAAU,aAAa,gBAAgB,oBAAoB,aAAa,aAAa,iBAAiB,oBAAoB;AAC1Q;AACA,MAAM,UAAU,QAAQ,KAAK,aAAa,QAAQ,SAAS,GAAG;AAC9D,SAAS,WAAW,MAAM;CACzB,OAAO,KAAK,aAAa;AAC1B;AACA,SAAS,cAAc,MAAM;CAC5B,OAAO,KAAK,aAAa;AAC1B;AACA,SAAS,eAAe,MAAM;CAC7B,OAAO,KAAK,aAAa;AAC1B;AACA,SAAS,eAAe,UAAU,YAAY;CAG7C,IAAI,WAAW,SAAS,QAAQ,SAAS;EAExC,IAAI,KAAK,aAAa,WAGrB,QAFa,KAAK,QAAQ,GAAA,CAEd,KAAK,CAAC,CAAC,SAAS;EAE7B,OAAO;CACR,CAAC;CAED,IAAI,YACH,WAAW,SAAS,OAAO,UAAU;CAEtC,OAAO;AACR;AACA,SAAS,aAAa,MAAM,QAAQ,aAAa,OAAO,MAAM,SAAS,YAAY;CAClF,IAAI,WAAW,IAAI,GAClB,OAAO,UAAU,KAAK,MAAM,MAAM;CAEnC,IAAI,cAAc,IAAI,GACrB,OAAO,aAAa,KAAK,MAAM,MAAM;CAEtC,MAAM,OAAO,eAAe,IAAI,IAAI,qBAAqB,KAAK,QAAQ,YAAY;CAClF,IAAI,EAAE,QAAQ,OAAO,UACpB,OAAO,mBAAmB,MAAM,MAAM;CAEvC,MAAM,WAAW,MAAM,UAAU,MAAM,KAAK,KAAK,cAAc,KAAK,QAAQ;CAC5E,MAAM,iBAAiB,eAAe,IAAI,KAAK,CAAC,KAAK,aAAa,CAAC,IAAI,MAAM,UAAU,MAAM,KAAK,KAAK,WAAW,QAAQ;CAC1H,MAAM,mBAAmB,aAAa,eAAe,UAAU,UAAU,IAAI;CAC7E,MAAM,yBAAyB,aAAa,eAAe,gBAAgB,UAAU,IAAI;CACzF,OAAO,aAAa,MAAM,WAAW,eAAe,IAAI,IAAI,CAAC,IAAI,MAAM,KAAK,KAAK,aAAa,SAAS,KAAK,IAAI,CAAC,CAAC,KAAK,GAAG,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,QAAQ,OAAO,cAAc;EACvM,MAAM,UAAU,QAAQ,UAAU;EAClC,OAAO;CACR,GAAG,CAAC,CAAC,GAAG,QAAQ,cAAc,OAAO,QAAQ,OAAO,MAAM,OAAO,IAAI,uBAAuB,SAAS,IAAI,gBAAgB,wBAAwB,QAAQ,cAAc,OAAO,QAAQ,OAAO,MAAM,OAAO,IAAI,MAAM,cAAc,kBAAkB,QAAQ,cAAc,OAAO,QAAQ,OAAO,MAAM,OAAO,GAAG,QAAQ,WAAW;AACpU;AACA,MAAM,eAAe,MAAM,QAAQ,aAAa,OAAO,MAAM,YAAY,aAAa,MAAM,QAAQ,aAAa,OAAO,MAAM,OAAO;AACrI,SAAS,uBAAuB,YAAY;CAC3C,OAAO;EACN,MAAM;EACN,YAAY,MAAM,QAAQ,aAAa,OAAO,MAAM,YAAY,aAAa,MAAM,QAAQ,aAAa,OAAO,MAAM,SAAS,UAAU;CACzI;AACD;AACA,MAAM,WAAW;CAChB,WAAW;CACX,MAAM;AACP;AAGA,MAAM,uBAAuB;AAC7B,MAAM,mBAAmB;AACzB,MAAM,oBAAoB;AAC1B,MAAM,kBAAkB;AACxB,MAAM,sBAAsB;AAC5B,MAAM,qBAAqB;AAC3B,MAAM,kBAAkB;AACxB,MAAM,kBAAkB;AACxB,MAAM,oBAAoB;AAC1B,MAAM,oBAAoB,SAAS,aAAa;AAChD,MAAM,eAAe,SAAS,IAAI,KAAK;AACvC,MAAM,QAAQ;AACd,MAAM,OAAO;AACb,SAAS,sBAAsB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS,MAAM;CACpF,OAAO,EAAE,QAAQ,OAAO,WAAW,YAAY,iBAAiB,IAAI,CAAC,IAAI,GAAG,iBAAiB,IAAI,IAAI,MAAM,GAAG,qBAAqB,IAAI,QAAQ,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;AAC9L;AAGA,SAAS,iBAAiB,KAAK;CAC9B,IAAI,IAAI;CACR,OAAO,EAAE,OAAO;EACf,IAAI,IAAI,IAAI,MAAM,QAAQ;GACzB,MAAM,MAAM,IAAI,MAAM;GACtB,OAAO;IACN,MAAM;IACN,OAAO,CAAC,KAAK,IAAI,IAAI,GAAG,CAAC;GAC1B;EACD;EACA,OAAO;GACN,MAAM;GACN,OAAO,KAAA;EACR;CACD,EAAE;AACH;AACA,SAAS,qBAAqB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS;CAG7E,MAAM,OAAO,iBAAiB,IAAI,SAAS,QAAQ;CACnD,OAAO,EAAE,QAAQ,OAAO,WAAW,YAAY,IAAI,IAAI,GAAG,OAAO,MAAM,GAAG,qBAAqB,iBAAiB,GAAG,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;AAClK;AACA,SAAS,kBAAkB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS;CAC1E,MAAM,OAAO,iBAAiB,KAAK;CACnC,IAAI,EAAE,QAAQ,OAAO,UACpB,OAAO,YAAY,IAAI;CAExB,IAAI,IAAI,oBACP,OAAO,GAAG,OAAO,MAAM,GAAG,IAAI,SAAS,IAAI,UAAU,qBAAqB,IAAI,QAAQ,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,IAAI,KAAK;CAE5I,OAAO,GAAG,OAAO,MAAM,GAAG,IAAI,SAAS,IAAI,UAAU,IAAI,eAAe,IAAI,YAAY,oBAAoB,IAAI,OAAO,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,IAAI,KAAK;AAC7K;AACA,SAAS,qBAAqB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS,MAAM;CACnF,OAAO,EAAE,QAAQ,OAAO,WAAW,YAAY,iBAAiB,IAAI,CAAC,IAAI,GAAG,iBAAiB,IAAI,IAAI,MAAM,GAAG,oBAAoB,IAAI,OAAO,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;AAC5L;AACA,MAAM,eAAe,KAAK,QAAQ,aAAa,OAAO,MAAM,YAAY;CACvE,IAAI,IAAI,kBACP,OAAO,sBAAsB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS,IAAI,uBAAuB,eAAe,KAAK;CAE7H,IAAI,IAAI,mBACP,OAAO,qBAAqB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS,MAAM;CAEnF,IAAI,IAAI,kBACP,OAAO,qBAAqB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS,IAAI,uBAAuB,eAAe,KAAK;CAE5H,IAAI,IAAI,oBACP,OAAO,qBAAqB,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS,OAAO;CAEpF,IAAI,IAAI,kBACP,OAAO,kBAAkB,KAAK,QAAQ,aAAa,OAAO,MAAM,OAAO;CAGxE,OAAO,qBAAqB,KAAK,QAAQ,aAAa,OAAO,MAAM,OAAO;AAC3E;AAGA,MAAM,UAAU,QAAQ,QAAQ,IAAI,0BAA0B,QAAQ,IAAI,wBAAwB;AAClG,MAAM,WAAW;CAChB,WAAW;CACX,MAAM;AACP;AAEA,SAAS,wBAAwB,GAAG;CACnC,OAAO,KAAK,EAAE,cAAc,OAAO,UAAU,eAAe,KAAK,GAAG,SAAS,IAAI,EAAE,aAAa;AACjG;AAEA,IAAI,YAAY,EAAC,SAAS,CAAC,EAAC;AAE5B,IAAI,qBAAqB,CAAC;;;;;;;;;;AAY1B,IAAI;AAEJ,SAAS,4BAA6B;CACrC,IAAI,+BAA+B,OAAO;CAC1C,gCAAgC;CAChC,IAAI,qBAAqB,OAAO,IAAI,4BAA4B,GAC9D,oBAAoB,OAAO,IAAI,cAAc,GAC7C,sBAAsB,OAAO,IAAI,gBAAgB,GACjD,yBAAyB,OAAO,IAAI,mBAAmB,GACvD,sBAAsB,OAAO,IAAI,gBAAgB,GACjD,sBAAsB,OAAO,IAAI,gBAAgB,GACjD,qBAAqB,OAAO,IAAI,eAAe,GAC/C,yBAAyB,OAAO,IAAI,mBAAmB,GACvD,sBAAsB,OAAO,IAAI,gBAAgB,GACjD,2BAA2B,OAAO,IAAI,qBAAqB,GAC3D,kBAAkB,OAAO,IAAI,YAAY,GACzC,kBAAkB,OAAO,IAAI,YAAY,GACzC,6BAA6B,OAAO,IAAI,uBAAuB,GAC/D,yBAAyB,OAAO,IAAI,wBAAwB;CAC9D,SAAS,OAAO,QAAQ;EACtB,IAAI,aAAa,OAAO,UAAU,SAAS,QAAQ;GACjD,IAAI,WAAW,OAAO;GACtB,QAAQ,UAAR;IACE,KAAK,oBACH,QAAU,SAAS,OAAO,MAAO,QAAjC;KACE,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK;KACL,KAAK,4BACH,OAAO;KACT,SACE,QAAU,SAAS,UAAU,OAAO,UAAW,QAA/C;MACE,KAAK;MACL,KAAK;MACL,KAAK;MACL,KAAK,iBACH,OAAO;MACT,KAAK,qBACH,OAAO;MACT,SACE,OAAO;KACX;IACJ;IACF,KAAK,mBACH,OAAO;GACX;EACF;CACF;CACA,mBAAmB,kBAAkB;CACrC,mBAAmB,kBAAkB;CACrC,mBAAmB,UAAU;CAC7B,mBAAmB,aAAa;CAChC,mBAAmB,WAAW;CAC9B,mBAAmB,OAAO;CAC1B,mBAAmB,OAAO;CAC1B,mBAAmB,SAAS;CAC5B,mBAAmB,WAAW;CAC9B,mBAAmB,aAAa;CAChC,mBAAmB,WAAW;CAC9B,mBAAmB,eAAe;CAClC,mBAAmB,oBAAoB,SAAU,QAAQ;EACvD,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,oBAAoB,SAAU,QAAQ;EACvD,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,YAAY,SAAU,QAAQ;EAC/C,OACE,aAAa,OAAO,UACpB,SAAS,UACT,OAAO,aAAa;CAExB;CACA,mBAAmB,eAAe,SAAU,QAAQ;EAClD,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,aAAa,SAAU,QAAQ;EAChD,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,SAAS,SAAU,QAAQ;EAC5C,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,SAAS,SAAU,QAAQ;EAC5C,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,WAAW,SAAU,QAAQ;EAC9C,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,aAAa,SAAU,QAAQ;EAChD,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,eAAe,SAAU,QAAQ;EAClD,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,aAAa,SAAU,QAAQ;EAChD,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,iBAAiB,SAAU,QAAQ;EACpD,OAAO,OAAO,MAAM,MAAM;CAC5B;CACA,mBAAmB,qBAAqB,SAAU,MAAM;EACtD,OAAO,aAAa,OAAO,QACzB,eAAe,OAAO,QACtB,SAAS,uBACT,SAAS,uBACT,SAAS,0BACT,SAAS,uBACT,SAAS,4BACR,aAAa,OAAO,QACnB,SAAS,SACR,KAAK,aAAa,mBACjB,KAAK,aAAa,mBAClB,KAAK,aAAa,sBAClB,KAAK,aAAa,uBAClB,KAAK,aAAa,0BAClB,KAAK,aAAa,0BAClB,KAAK,MAAM,KAAK,eAClB,OACA;CACN;CACA,mBAAmB,SAAS;CAC5B,OAAO;AACR;AAEA,IAAI;AAEJ,SAAS,mBAAoB;CAC5B,IAAI,sBAAsB,OAAO,UAAU;CAC3C,uBAAuB;CAGrB,UAAU,UAAU,0BAA0B;CAEhD,OAAO,UAAU;AAClB;AAEA,IAAI,mBAAmB,iBAAiB;AAGxC,IAAI,YAAyB,+BAAiB;CAC5C,WAAW;CACX,SAJyB,wCAAwB,gBAIlC;AACjB,GAAG,CAAC,gBAAgB,CAAC;AAErB,IAAI,UAAU,EAAC,SAAS,CAAC,EAAC;AAE1B,IAAI,yBAAyB,CAAC;;;;;;;;;;AAY9B,IAAI;AAEJ,SAAS,gCAAiC;CACzC,IAAI,mCAAmC,OAAO;CAC9C,oCAAoC;CACrC,IAAI,IAAE,OAAO,IAAI,eAAe,GAAE,IAAE,OAAO,IAAI,cAAc,GAAE,IAAE,OAAO,IAAI,gBAAgB,GAAE,IAAE,OAAO,IAAI,mBAAmB,GAAE,IAAE,OAAO,IAAI,gBAAgB,GAAE,IAAE,OAAO,IAAI,gBAAgB,GAAE,IAAE,OAAO,IAAI,eAAe,GAAE,IAAE,OAAO,IAAI,sBAAsB,GAAE,IAAE,OAAO,IAAI,mBAAmB,GAAE,IAAE,OAAO,IAAI,gBAAgB,GAAE,IAAE,OAAO,IAAI,qBAAqB,GAAE,IAAE,OAAO,IAAI,YAAY,GAAE,IAAE,OAAO,IAAI,YAAY,GAAE,IAAE,OAAO,IAAI,iBAAiB,GAAE,IAAI,OAAO,IAAI,wBAAwB;CACle,SAAS,EAAE,GAAE;EAAC,IAAG,aAAW,OAAO,KAAG,SAAO,GAAE;GAAC,IAAI,IAAE,EAAE;GAAS,QAAO,GAAP;IAAU,KAAK,GAAE,QAAO,IAAE,EAAE,MAAK,GAAhB;KAAmB,KAAK;KAAE,KAAK;KAAE,KAAK;KAAE,KAAK;KAAE,KAAK,GAAE,OAAO;KAAE,SAAQ,QAAO,IAAE,KAAG,EAAE,UAAS,GAAvB;MAA0B,KAAK;MAAE,KAAK;MAAE,KAAK;MAAE,KAAK;MAAE,KAAK;MAAE,KAAK,GAAE,OAAO;MAAE,SAAQ,OAAO;KAAC;IAAC;IAAC,KAAK,GAAE,OAAO;GAAC;EAAC;CAAC;CAAC,uBAAuB,kBAAgB;CAAE,uBAAuB,kBAAgB;CAAE,uBAAuB,UAAQ;CAAE,uBAAuB,aAAW;CAAE,uBAAuB,WAAS;CAAE,uBAAuB,OAAK;CAAE,uBAAuB,OAAK;CAAE,uBAAuB,SAAO;CAAE,uBAAuB,WAAS;CAAE,uBAAuB,aAAW;CAAE,uBAAuB,WAAS;CACroB,uBAAuB,eAAa;CAAE,uBAAuB,cAAY,WAAU;EAAC,OAAQ;CAAK;CAAE,uBAAuB,mBAAiB,WAAU;EAAC,OAAQ;CAAK;CAAE,uBAAuB,oBAAkB,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,oBAAkB,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,YAAU,SAAS,GAAE;EAAC,OAAO,aAAW,OAAO,KAAG,SAAO,KAAG,EAAE,aAAW;CAAC;CAAE,uBAAuB,eAAa,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,aAAW,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,SAAO,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,SAAO,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CACxoB,uBAAuB,WAAS,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,aAAW,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,eAAa,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,aAAW,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAAE,uBAAuB,iBAAe,SAAS,GAAE;EAAC,OAAO,EAAE,CAAC,MAAI;CAAC;CAC7T,uBAAuB,qBAAmB,SAAS,GAAE;EAAC,OAAO,aAAW,OAAO,KAAG,eAAa,OAAO,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,KAAG,MAAI,KAAG,aAAW,OAAO,KAAG,SAAO,MAAI,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,EAAE,aAAW,KAAG,KAAK,MAAI,EAAE,eAAa,OAAK;CAAK;CAAE,uBAAuB,SAAO;CACrV,OAAO;AACR;AAEA,IAAI;AAEJ,SAAS,iBAAkB;CAC1B,IAAI,oBAAoB,OAAO,QAAQ;CACvC,qBAAqB;CAGnB,QAAQ,UAAU,8BAA8B;CAElD,OAAO,QAAQ;AAChB;AAEA,IAAI,iBAAiB,eAAe;AAGpC,IAAI,YAAyB,+BAAiB;CAC5C,WAAW;CACX,SAJuB,wCAAwB,cAIlC;AACf,GAAG,CAAC,cAAc,CAAC;AAmBnB,MAAM,UAAU,OAAO,YAAY;CAhBlC;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;AAE+C,CAAC,CAAC,KAAK,MAAM,CAAC,IAAI,MAAM,UAAU,EAAE,CAAC,CAAC,KAAK,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAG5G,SAAS,YAAY,KAAK,WAAW,CAAC,GAAG;CACxC,IAAI,MAAM,QAAQ,GAAG,GACpB,KAAK,MAAM,QAAQ,KAClB,YAAY,MAAM,QAAQ;MAErB,IAAI,OAAO,QAAQ,QAAQ,SAAS,QAAQ,IAClD,SAAS,KAAK,GAAG;CAElB,OAAO;AACR;AACA,SAAS,QAAQ,SAAS;CACzB,MAAM,OAAO,QAAQ;CACrB,IAAI,OAAO,SAAS,UACnB,OAAO;CAER,IAAI,OAAO,SAAS,YACnB,OAAO,KAAK,eAAe,KAAK,QAAQ;CAEzC,IAAI,QAAQ,WAAW,OAAO,GAC7B,OAAO;CAER,IAAI,QAAQ,WAAW,OAAO,GAC7B,OAAO;CAER,IAAI,OAAO,SAAS,YAAY,SAAS,MAAM;EAC9C,IAAI,QAAQ,kBAAkB,OAAO,GACpC,OAAO;EAER,IAAI,QAAQ,kBAAkB,OAAO,GACpC,OAAO;EAER,IAAI,QAAQ,aAAa,OAAO,GAAG;GAClC,IAAI,KAAK,aACR,OAAO,KAAK;GAEb,MAAM,eAAe,KAAK,OAAO,eAAe,KAAK,OAAO,QAAQ;GACpE,OAAO,iBAAiB,KAAK,eAAe,cAAc,aAAa;EACxE;EACA,IAAI,QAAQ,OAAO,OAAO,GAAG;GAC5B,MAAM,eAAe,KAAK,eAAe,KAAK,KAAK,eAAe,KAAK,KAAK,QAAQ;GACpF,OAAO,iBAAiB,KAAK,SAAS,QAAQ,aAAa;EAC5D;CACD;CACA,OAAO;AACR;AACA,SAAS,cAAc,SAAS;CAC/B,MAAM,EAAE,UAAU;CAClB,OAAO,OAAO,KAAK,KAAK,CAAC,CAAC,QAAQ,QAAQ,QAAQ,cAAc,MAAM,SAAS,KAAA,CAAS,CAAC,CAAC,KAAK;AAChG;AACA,MAAM,eAAe,SAAS,QAAQ,aAAa,OAAO,MAAM,YAAY,EAAE,QAAQ,OAAO,WAAW,mBAAmB,QAAQ,OAAO,GAAG,MAAM,IAAI,aAAa,QAAQ,OAAO,GAAG,WAAW,cAAc,OAAO,GAAG,QAAQ,OAAO,QAAQ,cAAc,OAAO,QAAQ,OAAO,MAAM,OAAO,GAAG,cAAc,YAAY,QAAQ,MAAM,QAAQ,GAAG,QAAQ,cAAc,OAAO,QAAQ,OAAO,MAAM,OAAO,GAAG,QAAQ,WAAW;AACta,MAAM,UAAU,QAAQ,OAAO,QAAQ,QAAQ,UAAU,GAAG;AAC5D,MAAM,WAAW;CAChB,WAAW;CACX,MAAM;AACP;AAEA,MAAM,aAAa,OAAO,WAAW,cAAc,OAAO,MAAM,OAAO,IAAI,iBAAiB,IAAI;AAChG,SAAS,YAAY,QAAQ;CAC5B,MAAM,EAAE,UAAU;CAClB,OAAO,QAAQ,OAAO,KAAK,KAAK,CAAC,CAAC,QAAQ,QAAQ,MAAM,SAAS,KAAA,CAAS,CAAC,CAAC,KAAK,IAAI,CAAC;AACvF;AACA,MAAM,aAAa,QAAQ,QAAQ,aAAa,OAAO,MAAM,YAAY,EAAE,QAAQ,OAAO,WAAW,mBAAmB,OAAO,MAAM,MAAM,IAAI,aAAa,OAAO,MAAM,OAAO,QAAQ,WAAW,YAAY,MAAM,GAAG,OAAO,OAAO,QAAQ,cAAc,OAAO,QAAQ,OAAO,MAAM,OAAO,IAAI,IAAI,OAAO,WAAW,cAAc,OAAO,UAAU,QAAQ,cAAc,OAAO,QAAQ,OAAO,MAAM,OAAO,IAAI,IAAI,QAAQ,WAAW;AAC5a,MAAM,QAAQ,QAAQ,OAAO,IAAI,aAAa;AAC9C,MAAM,SAAS;CACd;CACA;AACD;AAEA,MAAM,WAAW,OAAO,UAAU;AAClC,MAAM,cAAc,KAAK,UAAU;AACnC,MAAM,gBAAgB,MAAM,UAAU;AACtC,MAAM,iBAAiB,OAAO,UAAU;;;;;AAKxC,SAAS,mBAAmB,KAAK;CAChC,OAAO,OAAO,IAAI,gBAAgB,cAAc,IAAI,YAAY,QAAQ;AACzE;;AAEA,SAAS,SAAS,KAAK;CACtB,OAAO,OAAO,WAAW,eAAe,QAAQ;AACjD;AAEA,MAAM,gBAAgB;AACtB,MAAM,iBAAiB;AACvB,IAAM,0BAAN,cAAsC,MAAM;CAC3C,YAAY,SAAS,OAAO;EAC3B,MAAM,OAAO;EACb,KAAK,QAAQ;EACb,KAAK,OAAO,KAAK,YAAY;CAC9B;AACD;AACA,SAAS,sBAAsB,YAAY;CAC1C,OAAO,eAAe,oBAAoB,eAAe,0BAA0B,eAAe,uBAAuB,eAAe,2BAA2B,eAAe,2BAA2B,eAAe,wBAAwB,eAAe,yBAAyB,eAAe,yBAAyB,eAAe,yBAAyB,eAAe,gCAAgC,eAAe,0BAA0B,eAAe;AACpd;AACA,SAAS,YAAY,KAAK;CACzB,OAAO,OAAO,GAAG,KAAK,EAAE,IAAI,OAAO,OAAO,GAAG;AAC9C;AACA,SAAS,YAAY,KAAK;CACzB,OAAO,OAAO,GAAG,IAAI,EAAE;AACxB;AACA,SAAS,cAAc,KAAK,mBAAmB;CAC9C,IAAI,CAAC,mBACJ,OAAO;CAER,OAAO,aAAa,IAAI,QAAQ,YAAY;AAC7C;AACA,SAAS,YAAY,KAAK;CACzB,OAAO,OAAO,GAAG,CAAC,CAAC,QAAQ,eAAe,YAAY;AACvD;AACA,SAAS,WAAW,KAAK;CACxB,OAAO,IAAI,cAAc,KAAK,GAAG,EAAE;AACpC;;;;;AAKA,SAAS,gBAAgB,KAAK,mBAAmB,aAAa,cAAc;CAC3E,IAAI,QAAQ,QAAQ,QAAQ,OAC3B,OAAO,GAAG;CAEX,IAAI,QAAQ,KAAA,GACX,OAAO;CAER,IAAI,QAAQ,MACX,OAAO;CAER,MAAM,SAAS,OAAO;CACtB,IAAI,WAAW,UACd,OAAO,YAAY,GAAG;CAEvB,IAAI,WAAW,UACd,OAAO,YAAY,GAAG;CAEvB,IAAI,WAAW,UAAU;EACxB,IAAI,cACH,OAAO,IAAI,IAAI,WAAW,SAAS,MAAM,EAAE;EAE5C,OAAO,IAAI,IAAI;CAChB;CACA,IAAI,WAAW,YACd,OAAO,cAAc,KAAK,iBAAiB;CAE5C,IAAI,WAAW,UACd,OAAO,YAAY,GAAG;CAEvB,MAAM,aAAa,SAAS,KAAK,GAAG;CACpC,IAAI,eAAe,oBAClB,OAAO;CAER,IAAI,eAAe,oBAClB,OAAO;CAER,IAAI,eAAe,uBAAuB,eAAe,8BACxD,OAAO,cAAc,KAAK,iBAAiB;CAE5C,IAAI,eAAe,mBAClB,OAAO,YAAY,GAAG;CAEvB,IAAI,eAAe,iBAClB,OAAO,OAAO,MAAM,CAAC,GAAG,IAAI,iBAAiB,YAAY,KAAK,GAAG;CAElE,IAAI,eAAe,kBAClB,OAAO,WAAW,GAAG;CAEtB,IAAI,eAAe,mBAAmB;EACrC,IAAI,aAEH,OAAO,eAAe,KAAK,GAAG,CAAC,CAAC,WAAW,uBAAuB,MAAM;EAEzE,OAAO,eAAe,KAAK,GAAG;CAC/B;CACA,IAAI,eAAe,OAClB,OAAO,WAAW,GAAG;CAEtB,OAAO;AACR;;;;;AAKA,SAAS,kBAAkB,KAAK,QAAQ,aAAa,OAAO,MAAM,iBAAiB;CAClF,IAAI,KAAK,SAAS,GAAG,GACpB,OAAO;CAER,OAAO,CAAC,GAAG,IAAI;CACf,KAAK,KAAK,GAAG;CACb,MAAM,cAAc,EAAE,QAAQ,OAAO;CACrC,MAAM,MAAM,OAAO;CACnB,IAAI,OAAO,cAAc,CAAC,eAAe,IAAI,UAAU,OAAO,IAAI,WAAW,cAAc,CAAC,iBAC3F,OAAO,QAAQ,IAAI,OAAO,GAAG,QAAQ,aAAa,OAAO,MAAM,IAAI;CAEpE,MAAM,aAAa,SAAS,KAAK,GAAG;CACpC,IAAI,eAAe,sBAClB,OAAO,cAAc,gBAAgB,GAAG,MAAM,KAAK,aAAa,GAAG,eAAe,KAAK,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;CAEnI,IAAI,sBAAsB,UAAU,GACnC,OAAO,cAAc,IAAI,IAAI,YAAY,KAAK,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,uBAAuB,IAAI,YAAY,SAAS,UAAU,KAAK,GAAG,IAAI,YAAY,KAAK,GAAG,GAAG,eAAe,KAAK,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;CAEtO,IAAI,eAAe,gBAClB,OAAO,cAAc,UAAU,QAAQ,qBAAqB,IAAI,QAAQ,GAAG,QAAQ,aAAa,OAAO,MAAM,SAAS,MAAM,EAAE;CAE/H,IAAI,eAAe,gBAClB,OAAO,cAAc,UAAU,QAAQ,oBAAoB,IAAI,OAAO,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;CAIrH,OAAO,eAAe,SAAS,GAAG,IAAI,IAAI,mBAAmB,GAAG,EAAE,KAAK,GAAG,MAAM,KAAK,CAAC,OAAO,uBAAuB,mBAAmB,GAAG,MAAM,WAAW,KAAK,GAAG,mBAAmB,GAAG,EAAE,GAAG,GAAG,sBAAsB,KAAK,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;AACxQ;AACA,MAAM,cAAc;CACnB,OAAO,QAAQ,OAAO,eAAe;CACrC,UAAU,KAAK,QAAQ,aAAa,OAAO,MAAM,SAAS;EACzD,IAAI,KAAK,SAAS,GAAG,GACpB,OAAO;EAER,OAAO,CAAC,GAAG,MAAM,GAAG;EACpB,MAAM,cAAc,EAAE,QAAQ,OAAO;EACrC,MAAM,EAAE,SAAS,OAAO,GAAG,SAAS;EACpC,MAAM,UAAU;GACf;GACA,GAAG,OAAO,UAAU,cAAc,EAAE,MAAM,IAAI,CAAC;GAC/C,GAAG,eAAe,iBAAiB,EAAE,QAAQ,IAAI,OAAO,IAAI,CAAC;GAC7D,GAAG;EACJ;EACA,MAAM,OAAO,IAAI,SAAS,UAAU,IAAI,OAAO,mBAAmB,GAAG;EACrE,OAAO,cAAc,IAAI,KAAK,KAAK,GAAG,KAAK,IAAI,qBAAqB,OAAO,QAAQ,OAAO,CAAC,CAAC,OAAO,GAAG,QAAQ,aAAa,OAAO,MAAM,OAAO,EAAE;CAClJ;AACD;AACA,SAAS,YAAY,QAAQ;CAC5B,OAAO,OAAO,aAAa;AAC5B;AACA,SAAS,YAAY,QAAQ,KAAK,QAAQ,aAAa,OAAO,MAAM;CACnE,IAAI;CACJ,IAAI;EACH,UAAU,YAAY,MAAM,IAAI,OAAO,UAAU,KAAK,QAAQ,aAAa,OAAO,MAAM,OAAO,IAAI,OAAO,MAAM,MAAM,aAAa,QAAQ,UAAU,QAAQ,aAAa,OAAO,IAAI,IAAI,QAAQ;GAChM,MAAM,kBAAkB,cAAc,OAAO;GAC7C,OAAO,kBAAkB,IAAI,WAAW,gBAAgB,KAAK,iBAAiB;EAC/E,GAAG;GACF,aAAa,OAAO;GACpB,KAAK,OAAO;GACZ,SAAS,OAAO;EACjB,GAAG,OAAO,MAAM;CACjB,SAAS,OAAO;EACf,MAAM,IAAI,wBAAwB,MAAM,SAAS,MAAM,KAAK;CAC7D;CACA,IAAI,OAAO,YAAY,UACtB,MAAM,IAAI,UAAU,yEAAyE,OAAO,QAAQ,GAAG;CAEhH,OAAO;AACR;AACA,SAAS,WAAW,SAAS,KAAK;CACjC,KAAK,MAAM,UAAU,SACpB,IAAI;EACH,IAAI,OAAO,KAAK,GAAG,GAClB,OAAO;CAET,SAAS,OAAO;EACf,MAAM,IAAI,wBAAwB,MAAM,SAAS,MAAM,KAAK;CAC7D;CAED,OAAO;AACR;AACA,SAAS,QAAQ,KAAK,QAAQ,aAAa,OAAO,MAAM,iBAAiB;;CACxE,IAAI;CACJ,MAAM,SAAS,WAAW,OAAO,SAAS,GAAG;CAC7C,IAAI,WAAW,MACd,SAAS,YAAY,QAAQ,KAAK,QAAQ,aAAa,OAAO,IAAI;MAC5D;EACN,MAAM,cAAc,gBAAgB,KAAK,OAAO,mBAAmB,OAAO,aAAa,OAAO,YAAY;EAC1G,IAAI,gBAAgB,MACnB,SAAS;OAET,SAAS,kBAAkB,KAAK,QAAQ,aAAa,OAAO,MAAM,eAAe;CAEnF;CAOA,CAAA,wBAAA,OAAO,sBAAA,CAAsB,WAAA,sBAAA,SAAW;CACxC,OAAO,sBAAsB,UAAU,OAAO;CAC9C,IAAI,OAAO,sBAAsB,SAAS,OAAO,iBAChD,OAAO,WAAW;CAEnB,OAAO;AACR;AACA,MAAM,gBAAgB;CACrB,SAAS;CACT,SAAS;CACT,MAAM;CACN,KAAK;CACL,OAAO;AACR;AACA,MAAM,qBAAqB,OAAO,KAAK,aAAa;AACpD,MAAM,kBAAkB;CACvB,YAAY;CACZ,aAAa,KAAA;CACb,aAAa;CACb,cAAc;CACd,WAAW;CACX,QAAQ;CACR,UAAU,OAAO;CACjB,iBAAiB;CACjB,UAAU,OAAO;CACjB,KAAK;CACL,SAAS,CAAC;CACV,qBAAqB;CACrB,mBAAmB;CACnB,iBAAiB;CACjB,OAAO;AACR;AACA,SAAS,gBAAgB,SAAS;CACjC,KAAK,MAAM,OAAO,OAAO,KAAK,OAAO,GACpC,IAAI,CAAC,OAAO,OAAO,iBAAiB,GAAG,GACtC,MAAM,IAAI,MAAM,kCAAkC,IAAI,GAAG;CAG3D,IAAI,QAAQ,OAAO,QAAQ,WAAW,KAAA,KAAa,QAAQ,WAAW,GACrE,MAAM,IAAI,MAAM,wEAAwE;AAE1F;AACA,SAAS,qBAAqB;CAC7B,OAAO,mBAAmB,QAAQ,QAAQ,QAAQ;EACjD,MAAM,QAAQ,cAAc;EAC5B,MAAM,QAAQ,SAASA,EAAO;EAC9B,IAAI,SAAS,OAAO,MAAM,UAAU,YAAY,OAAO,MAAM,SAAS,UACrE,OAAO,OAAO;OAEd,MAAM,IAAI,MAAM,4CAA4C,IAAI,iBAAiB,MAAM,+BAA+B;EAEvH,OAAO;CACR,GAAG,OAAO,OAAO,IAAI,CAAC;AACvB;AACA,SAAS,iBAAiB;CACzB,OAAO,mBAAmB,QAAQ,QAAQ,QAAQ;EACjD,OAAO,OAAO;GACb,OAAO;GACP,MAAM;EACP;EACA,OAAO;CACR,GAAG,OAAO,OAAO,IAAI,CAAC;AACvB;AACA,SAAS,qBAAqB,SAAS;CACtC,OAAO,SAAS,qBAAqB,gBAAgB;AACtD;AACA,SAAS,eAAe,SAAS;CAChC,OAAO,SAAS,eAAe,gBAAgB;AAChD;AACA,SAAS,gBAAgB,SAAS;CACjC,OAAO,SAAS,gBAAgB,gBAAgB;AACjD;AACA,SAAS,UAAU,SAAS;CAC3B,OAAO;EACN,YAAY,SAAS,cAAc,gBAAgB;EACnD,QAAQ,SAAS,YAAY,mBAAmB,IAAI,eAAe;EACnE,aAAa,OAAO,SAAS,gBAAgB,cAAc,SAAS,gBAAgB,OAAO,QAAQ,cAAc,gBAAgB;EACjI,aAAa,eAAe,OAAO;EACnC,cAAc,gBAAgB,OAAO;EACrC,QAAQ,SAAS,MAAM,KAAK,aAAa,SAAS,UAAU,gBAAgB,MAAM;EAClF,UAAU,SAAS,YAAY,gBAAgB;EAC/C,UAAU,SAAS,YAAY,gBAAgB;EAC/C,KAAK,SAAS,OAAO,gBAAgB;EACrC,SAAS,SAAS,WAAW,gBAAgB;EAC7C,qBAAqB,SAAS,uBAAuB;EACrD,mBAAmB,qBAAqB,OAAO;EAC/C,iBAAiB,SAAS,mBAAmB;EAC7C,cAAc,SAAS,MAAM,MAAM;EACnC,cAAc,SAAS,MAAM,KAAK;EAClC,iBAAiB,SAAS,mBAAmB,gBAAgB;EAC7D,uBAAuB,CAAC;CACzB;AACD;AACA,SAAS,aAAa,QAAQ;CAC7B,OAAO,MAAM,KAAK,EAAE,QAAQ,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG;AACnD;;;;;;AAMA,SAAS,OAAO,KAAK,SAAS;CAC7B,IAAI,SAAS;EACZ,gBAAgB,OAAO;EACvB,IAAI,QAAQ,SAAS;GACpB,MAAM,SAAS,WAAW,QAAQ,SAAS,GAAG;GAC9C,IAAI,WAAW,MACd,OAAO,YAAY,QAAQ,KAAK,UAAU,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;EAE/D;CACD;CACA,MAAM,cAAc,gBAAgB,KAAK,qBAAqB,OAAO,GAAG,eAAe,OAAO,GAAG,gBAAgB,OAAO,CAAC;CACzH,IAAI,gBAAgB,MACnB,OAAO;CAER,OAAO,kBAAkB,KAAK,UAAU,OAAO,GAAG,IAAI,GAAG,CAAC,CAAC;AAC5D;AACA,MAAM,UAAU;CACf,mBAAmB;CACnB,eAAe;CACf,YAAY;CACZ,WAAW;CACX,cAAc;CACd,oBAAoB;CACpB,OAAO;AACR"}
@@ -1,12 +1,14 @@
1
1
  import { format, formatRegExp, objDisplay } from "../../utils/dist/display.js";
2
2
  import { assertTypes, createDefer, filterOutComments, isNegativeNaN, isObject, objectAttr, ordinal, toArray, unique } from "../../utils/dist/helpers.js";
3
+ import _defineProperty from "../../../../_virtual/_@oxc-project_runtime@0.140.0/helpers/esm/defineProperty.js";
3
4
  import { getSafeTimers } from "../../utils/dist/timers.js";
4
5
  import { parseSingleStack } from "../../utils/dist/source-map.js";
5
6
  //#region ../../node_modules/@vitest/runner/dist/chunk-artifact.js
6
7
  var PendingError = class extends Error {
7
8
  constructor(message, task, note) {
8
9
  super(message);
9
- this.code = "VITEST_PENDING";
10
+ _defineProperty(this, "code", "VITEST_PENDING");
11
+ _defineProperty(this, "taskId", void 0);
10
12
  this.message = message;
11
13
  this.note = note;
12
14
  this.taskId = task.id;
@@ -15,19 +17,19 @@ var PendingError = class extends Error {
15
17
  var FixtureDependencyError = class extends Error {
16
18
  constructor(..._args) {
17
19
  super(..._args);
18
- this.name = "FixtureDependencyError";
20
+ _defineProperty(this, "name", "FixtureDependencyError");
19
21
  }
20
22
  };
21
23
  var FixtureAccessError = class extends Error {
22
24
  constructor(..._args2) {
23
25
  super(..._args2);
24
- this.name = "FixtureAccessError";
26
+ _defineProperty(this, "name", "FixtureAccessError");
25
27
  }
26
28
  };
27
29
  var FixtureParseError = class extends Error {
28
30
  constructor(..._args3) {
29
31
  super(..._args3);
30
- this.name = "FixtureParseError";
32
+ _defineProperty(this, "name", "FixtureParseError");
31
33
  }
32
34
  };
33
35
  const fnMap = /* @__PURE__ */ new WeakMap();
@@ -63,7 +65,9 @@ var TestFixtures = class TestFixtures {
63
65
  return isObject(obj) && Object.keys(obj).some((key) => TestFixtures._fixtureOptionKeys.includes(key));
64
66
  }
65
67
  constructor(registrations) {
66
- this._overrides = /* @__PURE__ */ new WeakMap();
68
+ _defineProperty(this, "_suiteContexts", void 0);
69
+ _defineProperty(this, "_overrides", /* @__PURE__ */ new WeakMap());
70
+ _defineProperty(this, "_registrations", void 0);
67
71
  this._registrations = registrations ?? /* @__PURE__ */ new Map();
68
72
  this._suiteContexts = /* @__PURE__ */ new WeakMap();
69
73
  TestFixtures._definitions.push(this);
@@ -71,7 +75,8 @@ var TestFixtures = class TestFixtures {
71
75
  extend(runner, userFixtures) {
72
76
  const { suite } = getCurrentSuite();
73
77
  const isTopLevel = !suite || suite.file === suite;
74
- return new TestFixtures(this.parseUserFixtures(runner, userFixtures, isTopLevel));
78
+ const registrations = this.parseUserFixtures(runner, userFixtures, isTopLevel);
79
+ return new TestFixtures(registrations);
75
80
  }
76
81
  get(suite) {
77
82
  let currentSuite = suite;
@@ -166,26 +171,26 @@ var TestFixtures = class TestFixtures {
166
171
  return registrations;
167
172
  }
168
173
  };
169
- TestFixtures._definitions = [];
170
- TestFixtures._builtinFixtures = [
174
+ _defineProperty(TestFixtures, "_definitions", []);
175
+ _defineProperty(TestFixtures, "_builtinFixtures", [
171
176
  "task",
172
177
  "signal",
173
178
  "onTestFailed",
174
179
  "onTestFinished",
175
180
  "skip",
176
181
  "annotate"
177
- ];
178
- TestFixtures._fixtureOptionKeys = [
182
+ ]);
183
+ _defineProperty(TestFixtures, "_fixtureOptionKeys", [
179
184
  "auto",
180
185
  "injected",
181
186
  "scope"
182
- ];
183
- TestFixtures._fixtureScopes = [
187
+ ]);
188
+ _defineProperty(TestFixtures, "_fixtureScopes", [
184
189
  "test",
185
190
  "file",
186
191
  "worker"
187
- ];
188
- TestFixtures._workerContextSuite = { type: "worker" };
192
+ ]);
193
+ _defineProperty(TestFixtures, "_workerContextSuite", { type: "worker" });
189
194
  const cleanupFnArrayMap = /* @__PURE__ */ new WeakMap();
190
195
  const contextHasFixturesCache = /* @__PURE__ */ new WeakMap();
191
196
  function withFixtures(fn, options) {
@@ -1495,6 +1500,6 @@ function manageArtifactAttachment(attachment) {
1495
1500
  if (attachment.body != null) attachment.bodyEncoding ?? (attachment.bodyEncoding = "base64");
1496
1501
  }
1497
1502
  //#endregion
1498
- export { afterAll, afterEach, aroundAll, aroundEach, beforeAll, beforeEach, createChainable, createTaskCollector, createTaskName, describe, findTestFileStackTrace, getCurrentSuite, getCurrentTest, getHooks, it, recordArtifact, setFn, setHooks, suite, test, validateTags };
1503
+ export { createTaskName as B, findTestFileStackTrace as C, validateTags as T, afterAll as a, afterEach as b, aroundAll as c, aroundEach as d, beforeAll as e, beforeEach as f, createTaskCollector as g, describe as h, getCurrentSuite as i, getCurrentTest as j, getHooks as l, it as m, setHooks as q, recordArtifact as r, setFn as s, suite as u, test as v, createChainable as y };
1499
1504
 
1500
1505
  //# sourceMappingURL=chunk-artifact.js.map