From f67d8b9907ad3089b570b0ad718fedd7e2008abf Mon Sep 17 00:00:00 2001 From: Adam Moussa <166072409+amoussa1229@users.noreply.github.com> Date: Thu, 23 Jul 2026 19:32:20 -0400 Subject: [PATCH 1/4] feat(api): procurement-api read stack + OpenAPI docs (SHOC reconciliation path) (#127) * feat(api): add procurement-api stack - read API + OpenAPI docs page Third CDK stack: API Gateway REST API (IAM SigV4) over both pipelines' tables, replacing SHOC's retired SyncController cross-account DynamoDB scan as the reconciliation/backfill path. - lambdas/api/: handler (healthcheck + docs-token gate + router dispatch), router (single route table), pagination (opaque cursor, hostile -> 400), Decimal-safe serialization, wo_repo/po_repo reads. No VendorReplies. - OpenAPI 3.1 spec as source of truth incl. top-level webhooks section documenting the outbound SHOC feed; phase-2 write endpoints x-planned (router answers 501). Self-contained /docs page, no CDN. - Auth: AWS_IAM on data routes + resource policy scoped to exactly arn:aws:iam::396287094661:role/shoc-backend-dev on GET/*; /docs and /openapi.json carve-out is token-gated in the Lambda via shared web_ui_auth (fail-closed, INFRA-74 posture). - KMS: explicit Decrypt/DescribeKey on the DynamoDB CMK from SSM (name-imported table drops the key association - INFRA-104 class). - Alarms: errors/throttles/duration(p99>=22.5s) + gateway 5xx, ALARM-only to site-alerts. No access logging in v1 (docs ?token= shim stays out of logs); cloud_watch_role=False. - Tests: handler auth-seam + routing + Decimal round-trip; moto cursor pagination incl. hostile cursors; spec<->router drift gate; bundle AST pins for the api command; pytest.ini --cov + loader siblings. - Deploy role: third stack DescribeStacks ARN + procurement-api smoke invoke ARN (re-run create-deploy-role.sh before merge). * harden(api): apply sh-security-review findings to procurement-api Fan-out (6 detectors) + review findings resolved: Correctness / DoS: - pagination: require EXACT key-set match (was subset) so a partial/foreign composite cursor can't reach DynamoDB as an inconsistent ExclusiveStartKey -> ValidationException -> 500; comments Query now pins the cursor's work_order_id to the path entity. - handler: map botocore ValidationException to 400 (defense in depth) so a crafted cursor can't drive the zero-threshold 5xx alarm. - web_ui_auth: compare tokens as bytes; a non-ASCII presented token now fails closed (401) instead of crashing hmac.compare_digest into a 500. Resolves the pre-existing xfail(strict) follow-up test; hardens the web UIs too. Docs page: - typeStr() now escapes the one spec-derived string that reached innerHTML. - spec inlined into the docs breakout guard); /openapi.json still served byte-faithful. - Cache-Control: no-store + Referrer-Policy: no-referrer on docs responses so the ?token= URL stays out of caches/Referer. - spec-drift test asserts the committed spec carries no "-sender-auth-rejected` alarm (see [CloudWatch alarms](#cloudwatch-alarms)) — that alarm pages at ≥1 match in its window, so repeated healthcheck invokes across deploys (two deploys in ~30 min is routine) must never contribute to it. Unit coverage: `lambdas/po/email_processor/tests/test_po_healthcheck.py` and `lambdas/wo/email_processor/tests/test_healthcheck.py`. -**Post-deploy smoke gate.** `scripts/post-deploy-smoke.sh` is wired into the CD workflow as `cd-cdk.yaml`'s `post-deploy-script` input (see [CI/CD](#cicd)) and runs synchronously after every deploy, before the workflow is considered green. It invokes both `po-email-processor` and `workorder-email-processor` with `aws lambda invoke --invocation-type RequestResponse --payload '{"healthcheck": true}'` (region `us-east-1`) and asserts, per function: +**Post-deploy smoke gate.** `scripts/post-deploy-smoke.sh` is wired into the CD workflow as `cd-cdk.yaml`'s `post-deploy-script` input (see [CI/CD](#cicd)) and runs synchronously after every deploy, before the workflow is considered green. It invokes `po-email-processor`, `workorder-email-processor`, and `procurement-api` with `aws lambda invoke --invocation-type RequestResponse --payload '{"healthcheck": true}'` (region `us-east-1`) and asserts, per function: 1. The invoke response's **`FunctionError` field is absent** — this is the load-bearing check. A broken bundle (e.g. an `ImportError` at module init from a missing sibling module) still returns HTTP 200 from the Lambda Invoke API with `FunctionError=Unhandled`; a bare exit-code check on `aws lambda invoke` would false-pass on exactly the failure this gate exists to catch. 2. The returned payload is **exactly** `{"healthcheck": "ok"}`. @@ -248,13 +266,13 @@ The `purchase-orders` DynamoDB table is **owned by this repo's `po-ingest` stack **Consumers (read-only):** -| Repo | How it reads | Purpose | +| Consumer | How it reads | Purpose | |---|---|---| -| `seahaven-slack-bot` | `po-sync` (DynamoDB Streams + daily scan) and `wo-po-lookup` | Daily KB sync + Bedrock agent PO lookups | +| `procurement-api` (this repo) | `Table.from_table_name` + `grant_read_data` | REST reads (`GET /purchase-orders*`) | -The consumer imports the table via `Table.fromTableName(...)` and is granted read-only access (`grantReadData`); it does not own or define it. +`seahaven-slack-bot`, the former external consumer, was decommissioned 2026-07-23 and its cross-account grants removed. External consumers now read through the `procurement-api` REST contract (`lambdas/api/openapi.json`), never by importing the table directly. -**Schema-coordination rule:** Any change to the `purchase-orders` schema (partition key, item shape, attribute names, streams view type) must be coordinated with `seahaven-slack-bot`. The owner here ships the change; the consumer must be updated in lockstep so its readers do not break. Treat schema changes as a cross-repo migration, not a local edit. +**Schema-coordination rule:** Any change to the `purchase-orders` schema (partition key, item shape, attribute names, streams view type) must be reflected in the API's OpenAPI schemas in the same PR (the spec-drift test pins paths, not item shapes — the schema fields are maintained by hand). Treat schema changes as a contract migration, not a local edit. **Known exception (INFRA-51):** `amazon-po-parser` currently writes directly to `purchase-orders` outside this stack (backfill/enrichment scripts). This second writer is being folded into the `po-ingest` pipeline so this stack is the sole writer; until INFRA-51 closes, coordinate any schema change with `amazon-po-parser` as well. @@ -284,7 +302,7 @@ Both tables are **owned by this repo's `WorkorderIngestStack`** (`cdk/wo_stack.p Both currently use default DynamoDB encryption — they are **not** yet on the shared customer-managed CMK (`alias/seahaven-dynamodb`, INFRA-95 / M-3); that migration is tracked in INFRA-6. The `workorder-email-processor` role no longer holds a pre-emptive encrypt/decrypt grant on that CMK (removed in the 2026-06-17 security sweep — it was unused while the tables are unencrypted and extended the role's decrypt reach to the CMK protecting `purchase-orders`). Re-add the grant as part of the INFRA-6 migration, at which point `grant_read_write_data` on the then-encrypted tables propagates the needed key permissions automatically. -**Consumer (read-only) — data contract:** `seahaven-slack-bot` imports both tables via `Table.fromTableName(...)` (`grantReadData`) and reads them from two Lambdas: `workorder-sync` (daily full-table scan into the Bedrock knowledge base) and `wo-po-lookup` (the Bedrock agent's direct WO lookup action group). The bot depends on the PK/SK schema above and these attributes: on `WorkOrders` — `description`, `wo_status`, `customer`, `site_code`, `building`, `address`, `severity`, `priority`, `assigned_to`, `date_reported`, `scheduled_start`, `due_date`, `updated_at`; on `WorkOrderComments` — `created_at` (used to sort comments), `commenter`, `text`. Any change to table name, key schema, these attribute names, or the encryption configuration (e.g. the INFRA-6 CMK migration) must be coordinated with `seahaven-slack-bot` before it ships, or the Bedrock agent breaks at runtime (not at deploy — the tables are imported by name, so there is no compile-time link). +**Consumers (read-only) — data contract:** `seahaven-slack-bot` (the former external reader) was decommissioned 2026-07-23; its grants are gone. Current consumers: the `procurement-api` Lambda (this repo, `Table.from_table_name` + `grant_read_data`, serving `GET /work-orders*`), and — once the SHOC webhook ships — the `workorder-shoc-emitter` stream consumer. External readers (SHOC) consume through the REST contract (`lambdas/api/openapi.json`) and the webhook contract (`docs/shoc-webhook-contract.md`); both documents' field lists mirror `lambdas/wo/email_processor/persistence.py`. Any change to table name, key schema, attribute names, or encryption configuration (e.g. the INFRA-6 CMK migration) must update those two contracts in the same PR — the tables are imported by name, so there is no compile-time link and breakage surfaces at runtime. **Stream field contract (`site_code`).** Three definitions of "is this a valid site code" have existed in this repo at once. The canonical shape is `derived_fields._STRICT_CODE_RE` (`[A-Z][A-Z0-9]{2,4}`, `fullmatch`) plus its skip-list semantics (a code-shaped token is only a real site code if it is *not* skip-listed, e.g. `LLC`/`INC`/`CORP`/`LTD`/`ATTN`), used by `derive_site_code()` (the `enrich_parsed()` classifier, see the **Derived fields** note in the Purchase Orders flow above). Honestly noted, not papered over: `lambdas/po/site_extractor/handler.py`'s own `SITE_CODE_PATTERN` (`[A-Z]{2,4}\d{1,2}`, prefix-anchored `.match`, digit-requiring) still diverges from the canonical shape as of this phase — it rejects valid all-letter codes like `KLAL` (which surface as permanent `pending-site-review` rows) and accepts overlong junk like `DLI6X`/`SNY55` that the canonical `fullmatch` would not. Reconciling `po-ingest-site-extractor`'s direct-field validation onto the canonical `derived_fields` shape is Phase 6 scope, tracked separately — this paragraph will be updated when it lands. @@ -292,9 +310,7 @@ Both currently use default DynamoDB encryption — they are **not** yet on the s Owned by this repo's `po-ingest` stack (`cdk/po_stack.py`). PK `siteCode` (S); default DynamoDB encryption (NOT the shared CMK). -**Consumer (read-only) — data contract:** `seahaven-slack-bot`'s `wo-po-lookup` Lambda imports this table via `Table.fromTableName(...)` for the Bedrock agent's `lookup_site` action. It does point lookups by `siteCode` and reads `address`, `fullAddress`, `city`, `state`, `zip`, `latitude`, `longitude`, `notes`. Coordinate any change to the table name, key schema, or these attribute names with `seahaven-slack-bot`. - -> **GSI drift (INFRA-138):** the `by-state` GSI was removed here on 2026-06-03 (audit M-20, "0 reads in 30d"), but `seahaven-slack-bot` still queries `IndexName: 'by-state'` for its state-listing path, so that path fails at runtime today. Restoring the GSI or removing the consumer's state path needs to be reconciled cross-repo. This is the kind of silent owner-side lifecycle change this data-contract note exists to prevent. +**Consumer (read-only) — data contract:** `seahaven-slack-bot` (former reader, incl. the INFRA-138/INFRA-180 `by-state` GSI drift saga) was decommissioned 2026-07-23 — the GSI-drift issue died with it. Current consumer: the `procurement-api` Lambda (`GET /verified-sites*`). The API's `VerifiedSite` schema deliberately promises only pipeline-written fields (`siteCode`, `address`, `city`, `state`, `zip`, `fullAddress`, `locationCode`, `poCount`, `sourcePOs`) — `latitude`/`longitude`/`notes` were manually curated legacy attributes the extractor never writes, and are not part of the contract. ## Documentation @@ -306,7 +322,7 @@ The canonical map of Sea Haven's AWS infrastructure lives in Confluence. This pr GitHub Actions with reusable workflows from `Sea-Haven-Industries/.github` (all pinned to a commit SHA of `main`): - **CI** (`ci.yaml`, PR to `main`): linting + `cdk synth` via `ci-python-sam.yaml`. `cdk synth`'s Docker-bundled asset build for `po-email-processor` and `workorder-email-processor` mounts the widened `../lambdas` asset root (Phase 2, see [Deploy-Pipeline Guards](#deploy-pipeline-guards-phase-0)) as build context, not just each function's own subdirectory — the `exclude` list on both `from_asset` calls strips local-only `__pycache__`/`package/` (and `tests/`) cruft from that wider mount's source fingerprint, so CI's asset hash matches a clean local checkout, and each function's scoped `cp` glob copies only its own pipeline's `*.py` into the zip. (The exclude does not, and under `SOURCE` hashing cannot, keep the *other* pipeline's tracked source out of the fingerprint (see the PO bundling note above on `SOURCE` hashing) — but that source is identical in CI and local, so it does not cause hash divergence.) -- **CD** (`deploy.yaml`, push to `main`): CDK deploy via `cd-cdk.yaml` (OIDC auth), followed by the synchronous `post-deploy-script: scripts/post-deploy-smoke.sh` healthcheck gate (see [Deploy-Pipeline Guards](#deploy-pipeline-guards-phase-0)) — `cd-cdk.yaml`'s `stack-name` input only accepts one stack, so the smoke script itself enumerates both `po-email-processor` and `workorder-email-processor` +- **CD** (`deploy.yaml`, push to `main`): CDK deploy via `cd-cdk.yaml` (OIDC auth), followed by the synchronous `post-deploy-script: scripts/post-deploy-smoke.sh` healthcheck gate (see [Deploy-Pipeline Guards](#deploy-pipeline-guards-phase-0)) — `cd-cdk.yaml`'s `stack-name` input only accepts one stack, so the smoke script itself enumerates `po-email-processor`, `workorder-email-processor`, and `procurement-api` - Plus dependency review and PR labeler workflows on every PR Branch protection on `main` — all changes through PR. @@ -392,12 +408,13 @@ python scripts/backfill_sites.py ``` cdk/ - app.py # Two stacks: po-ingest + WorkorderIngestStack (region-only env) + app.py # Three stacks: po-ingest + WorkorderIngestStack + procurement-api (region-only env) common.py # Phase 4: shared plain-function CDK helpers (alarms, Bedrock grant, # email bucket, processor DLQ, fallback-rate alarm) -- called with # each stack's own scope + literal construct ids, logical-ID-safe po_stack.py # Purchase order pipeline resources wo_stack.py # Work order pipeline resources + procurement_api_stack.py # REST API (IAM SigV4 + resource policy) over both pipelines' tables + token-gated /docs lambdas/ # Phase 2: shared Code.from_asset("../lambdas") bundling root for # BOTH po-email-processor and workorder-email-processor (and, since # Phase 3, both web_ui functions) -- each email-processor command @@ -408,9 +425,18 @@ lambdas/ # Phase 2: shared Code.from_asset("../lambdas") bundling shared/ # Phase 3: single-sourced first-party modules, landed FLAT (no # __init__.py -- bare-name imports) into each bundle by the cp above ses_auth.py # fail-closed SES sender-auth (INFRA-107) -- one copy, one fix - web_ui_auth.py # fail-closed X-Auth-Token gate + token cache (INFRA-74) + web_ui_auth.py # fail-closed X-Auth-Token gate + token cache (INFRA-74; also gates the API /docs routes) email_parsing.py # parse_raw_email (WO superset; returns cc unconditionally) emf.py # generic CloudWatch EMF emitter (dimension-sets pinned once) + api/ # procurement-api Lambda (REST reads over both pipelines' tables) + handler.py # healthcheck early-return + docs-token gate + route dispatch + error mapping + router.py # single route table (spec-drift test pins it to openapi.json) + pagination.py # opaque base64(LastEvaluatedKey) cursor encode/validate (hostile cursor -> 400) + serialization.py # Decimal-safe JSON responses + wo_repo.py # WorkOrders/WorkOrderComments reads (paginated Scan / PK Query) + po_repo.py # purchase-orders/verified-sites reads (no VendorReplies -- dead table) + openapi.json # OpenAPI 3.1 source of truth (paths + outbound `webhooks` section) + docs.html # self-contained reference page (spec inlined at request time; no CDN) po/ # PO pipeline Lambdas email_processor/ # Phase 5: God-handler decomposed into flat siblings (bare-name # imports; the Phase 0/2/3 `cp /email_processor/*.py` @@ -460,7 +486,7 @@ lambdas/ # Phase 2: shared Code.from_asset("../lambdas") bundling scripts/ reprocess.py backfill_sites.py - post-deploy-smoke.sh # CD gate: synchronous healthcheck invoke of both processors, checks FunctionError + post-deploy-smoke.sh # CD gate: synchronous healthcheck invoke of the three smoke-gated functions, checks FunctionError conftest.py # Phase 8: THE repo-root session-invariant conftest. rootdir is pinned by # pytest.ini at repo root, so this loads for every pytest invocation shape -- # including a standalone `pytest lambdas/po/email_processor/tests` -- before diff --git a/cdk/app.py b/cdk/app.py index 6f237be..f1289ab 100644 --- a/cdk/app.py +++ b/cdk/app.py @@ -1,6 +1,7 @@ #!/usr/bin/env python3 import aws_cdk as cdk from po_stack import PoIngestStack +from procurement_api_stack import ProcurementApiStack from wo_stack import WorkorderIngestStack app = cdk.App() @@ -19,4 +20,11 @@ WorkorderIngestStack( env=cdk.Environment(region="us-east-1"), ) +ProcurementApiStack( + app, + "procurement-api", + stack_name="procurement-api", + env=cdk.Environment(region="us-east-1"), +) + app.synth() diff --git a/cdk/procurement_api_stack.py b/cdk/procurement_api_stack.py new file mode 100644 index 0000000..fccb655 --- /dev/null +++ b/cdk/procurement_api_stack.py @@ -0,0 +1,361 @@ +"""procurement-api stack: read-only REST API over both pipelines' tables. + +Third stack in the app. Serves work orders + comments (WO stack tables) and +purchase orders + verified sites (PO stack tables) to SigV4 callers -- the +primary consumer is the SHOC backend, for which this API replaces the retired +SyncController cross-account DynamoDB scan as the reconciliation/backfill +path. Also hosts the token-gated OpenAPI docs page (/docs, /openapi.json). + +Tables are imported by fixed physical name (Table.from_table_name), NOT +passed as cross-stack objects: object passing would synthesize CFN Exports +from the owning stacks and lock them against future changes to the tables. +The one thing name-import does NOT carry is the purchase-orders CMK +association -- see the explicit KMS grant below. +""" + +import aws_cdk as cdk +from aws_cdk import ( + Duration, + Stack, + aws_apigateway as apigateway, + aws_cloudwatch as cloudwatch, + aws_cloudwatch_actions as cw_actions, + aws_dynamodb as dynamodb, + aws_iam as iam, + aws_kms as kms, + aws_lambda as lambda_, + aws_secretsmanager as secretsmanager, + aws_sns as sns, + aws_ssm as ssm, +) +from constructs import Construct + +import common + +# The only cross-account caller. Grants are to this exact role ARN -- future +# shoc-backend-staging/-prod roles are each a deliberate, individually +# cross-reviewed addition (no wildcard/prefix trust). +SHOC_BACKEND_DEV_ROLE_ARN = "arn:aws:iam::396287094661:role/shoc-backend-dev" + +STAGE_NAME = "prod" + + +class ProcurementApiStack(Stack): + def __init__(self, scope: Construct, construct_id: str, **kwargs) -> None: + super().__init__(scope, construct_id, **kwargs) + + alarm_topic = sns.Topic.from_topic_arn( + self, + "SiteAlertsTopic", + f"arn:aws:sns:{self.region}:{self.account}:site-alerts", + ) + + work_orders_table = dynamodb.Table.from_table_name( + self, "WorkOrdersTable", "WorkOrders" + ) + comments_table = dynamodb.Table.from_table_name( + self, "CommentsTable", "WorkOrderComments" + ) + po_table = dynamodb.Table.from_table_name( + self, "PurchaseOrdersTable", "purchase-orders" + ) + verified_sites_table = dynamodb.Table.from_table_name( + self, "VerifiedSitesTable", "verified-sites" + ) + + web_ui_auth_secret = secretsmanager.Secret.from_secret_name_v2( + self, + "WebUiAuthToken", + "procurement-ingest/web-ui-auth-token", + ) + + # purchase-orders is SSE-KMS encrypted with the org DynamoDB CMK. A + # name-imported Table has no encryption-key association, so + # grant_read_data alone leaves the reader without kms:Decrypt and every + # purchase-orders read AccessDenies at runtime (the INFRA-104 failure + # class). Import the key from the same SSM parameter po_stack uses and + # grant it explicitly. + dynamodb_cmk = kms.Key.from_key_arn( + self, + "DynamoDbCmk", + ssm.StringParameter.value_for_string_parameter( + self, "/seahaven/dynamodb/cmk-arn" + ), + ) + + # RETAIN log group (INFRA-114). This is the only stateful resource in + # this otherwise-stateless stack, so it carries the fresh-deploy + # rollback trap: if the FIRST create fails after the group exists, + # rollback deletes everything else but retains the group, and the retry + # CREATE then collides on "/aws/lambda/procurement-api already exists". + # Recovery: delete that log group before re-running a failed first + # deploy (same class as the RETAIN-orphan recovery in the deploy-role + # runbook / reference_cfn_deploy_role_gotchas). + api_log_group = common.make_function_log_group( + self, "ProcurementApi", "procurement-api" + ) + api_fn = lambda_.Function( + self, + "ProcurementApi", + function_name="procurement-api", + runtime=lambda_.Runtime.PYTHON_3_12, + architecture=lambda_.Architecture.ARM_64, + handler="handler.handler", + code=lambda_.Code.from_asset( + "../lambdas", + exclude=["**/__pycache__/**"], + bundling=cdk.BundlingOptions( + image=lambda_.Runtime.PYTHON_3_12.bundling_image, + command=[ + "bash", + "-c", + # Non-recursive glob ships every api/ sibling (the + # allowlist-omission trap from PR #105/PR #2); the spec + # and docs page ride along because the handler serves + # them from its own package dir. web_ui_auth.py must + # land FLAT beside handler.py for the bare import. + "cp api/*.py /asset-output/ && " + "cp api/openapi.json /asset-output/ && " + "cp api/docs.html /asset-output/ && " + "cp shared/web_ui_auth.py /asset-output/ && " + "rm -rf /asset-output/__pycache__", + ], + ), + ), + timeout=Duration.seconds(30), + memory_size=256, + log_group=api_log_group, + environment={ + "WORK_ORDERS_TABLE": work_orders_table.table_name, + "COMMENTS_TABLE": comments_table.table_name, + "PO_TABLE": po_table.table_name, + "VERIFIED_SITES_TABLE": verified_sites_table.table_name, + "WEB_UI_AUTH_TOKEN_SECRET_ARN": web_ui_auth_secret.secret_arn, + }, + ) + + work_orders_table.grant_read_data(api_fn) + comments_table.grant_read_data(api_fn) + po_table.grant_read_data(api_fn) + verified_sites_table.grant_read_data(api_fn) + web_ui_auth_secret.grant_read(api_fn) + api_fn.add_to_role_policy( + iam.PolicyStatement( + actions=["kms:Decrypt", "kms:DescribeKey"], + resources=[dynamodb_cmk.key_arn], + # Scope the grant to the DynamoDB data path only: the role can + # decrypt purchase-orders items via DynamoDB, never call + # kms:Decrypt directly on arbitrary ciphertext under the shared + # org CMK. + conditions={ + "StringEquals": { + "kms:ViaService": f"dynamodb.{self.region}.amazonaws.com" + } + }, + ) + ) + + # Resource policy: once a REST API has one, anything not explicitly + # allowed is denied -- so the docs routes need their own Allow or the + # NONE-auth methods would be black-holed. The docs routes are still + # token-gated inside the Lambda (fail-closed), so this is not an + # unauthenticated data path (INFRA-74 posture). + # + # The SHOC data grant enumerates the exact GET resources rather than + # GET/*: adding a RESOURCE must be as reviewable as adding a PRINCIPAL, + # so a future GET route can't silently inherit cross-account reach + # without a policy diff. (Note: this resource policy binds CROSS-account + # callers only; a same-account principal holding execute-api:Invoke is + # authorized by its own identity policy under AWS union semantics -- it + # is NOT constrained here, including on the planned PATCH/POST methods, + # which is why those also rely on the 501 handler + absent write grant, + # not on this policy, until phase 2.) + shoc_data_resources = [ + f"execute-api:/{STAGE_NAME}/GET/work-orders", + f"execute-api:/{STAGE_NAME}/GET/work-orders/*", + f"execute-api:/{STAGE_NAME}/GET/purchase-orders", + f"execute-api:/{STAGE_NAME}/GET/purchase-orders/*", + f"execute-api:/{STAGE_NAME}/GET/verified-sites", + f"execute-api:/{STAGE_NAME}/GET/verified-sites/*", + ] + api_policy = iam.PolicyDocument( + statements=[ + iam.PolicyStatement( + sid="ShocBackendDevDataRead", + principals=[iam.ArnPrincipal(SHOC_BACKEND_DEV_ROLE_ARN)], + actions=["execute-api:Invoke"], + resources=shoc_data_resources, + ), + # SECURITY INVARIANT: this AnyPrincipal allow is safe only + # while /docs//openapi.json serve static docs (handler + # enforces the shared token, fail-closed). Widening these + # routes to dynamic data, or enabling access logging (which + # would record the docs ?token= shim), requires a security + # re-review + docs-token rotation. + iam.PolicyStatement( + sid="DocsTokenGatedRoutes", + principals=[iam.AnyPrincipal()], + actions=["execute-api:Invoke"], + resources=[ + f"execute-api:/{STAGE_NAME}/GET/docs", + f"execute-api:/{STAGE_NAME}/GET/openapi.json", + ], + ), + ] + ) + + # OPERATIONAL NOTE: API Gateway serves the resource policy from the + # deployed stage snapshot, and CDK's Deployment hash is computed from + # resources/methods, not the RestApi Policy. A later policy-ONLY change + # (e.g. revoking the SHOC role) will UPDATE the RestApi but keep serving + # the old policy until a new Deployment is forced (any method/resource + # change, or a salted deployment). When tightening this policy, force a + # redeploy and verify the effective policy post-deploy. + api = apigateway.RestApi( + self, + "ProcurementRestApi", + rest_api_name="procurement-api", + description=( + "Read API over procurement-ingest work orders + purchase " + "orders; token-gated OpenAPI docs at /docs" + ), + endpoint_types=[apigateway.EndpointType.REGIONAL], + policy=api_policy, + deploy_options=apigateway.StageOptions( + stage_name=STAGE_NAME, + # Bound the blast radius of the unauthenticated /docs routes + # (and the whole API) below the 10k rps account default -- this + # is a low-volume reconciliation/backfill API, not a hot path. + throttling_rate_limit=50, + throttling_burst_limit=100, + ), + # No access/execution logging in v1: avoids the account-level API + # Gateway CloudWatch role prerequisite AND keeps the docs ?token= + # query shim out of any log. Rotate the docs token before ever + # enabling access logging here. + cloud_watch_role=False, + ) + + integration = apigateway.LambdaIntegration(api_fn) + iam_auth = {"authorization_type": apigateway.AuthorizationType.IAM} + + work_orders = api.root.add_resource("work-orders") + work_orders.add_method("GET", integration, **iam_auth) + wo_by_id = work_orders.add_resource("{workOrderId}") + wo_by_id.add_method("GET", integration, **iam_auth) + # Phase-2 planned write endpoints: deployed but the handler answers 501 + # and the role holds no DynamoDB write grant. The resource policy denies + # these to the cross-account SHOC role (GET-only enumeration above); a + # same-account caller is NOT blocked by the resource policy, so the 501 + # handler + absent write grant are the real gate until phase 2 lands the + # deliberate policy + handler + write-grant change with its own review. + wo_by_id.add_method("PATCH", integration, **iam_auth) + wo_comments = wo_by_id.add_resource("comments") + wo_comments.add_method("GET", integration, **iam_auth) + wo_comments.add_method("POST", integration, **iam_auth) + + purchase_orders = api.root.add_resource("purchase-orders") + purchase_orders.add_method("GET", integration, **iam_auth) + purchase_orders.add_resource("{poNumber}").add_method( + "GET", integration, **iam_auth + ) + + verified_sites = api.root.add_resource("verified-sites") + verified_sites.add_method("GET", integration, **iam_auth) + verified_sites.add_resource("{siteCode}").add_method( + "GET", integration, **iam_auth + ) + + api.root.add_resource("docs").add_method( + "GET", + integration, + authorization_type=apigateway.AuthorizationType.NONE, + ) + api.root.add_resource("openapi.json").add_method( + "GET", + integration, + authorization_type=apigateway.AuthorizationType.NONE, + ) + + # --- Alarms (ALARM-only -> site-alerts, NOT_BREACHING) --- + # common.add_standard_lambda_alarms is NOT used here: its duration + # threshold is a fixed 45000 ms (75% of the processors' 60 s timeout), + # which this function's 30 s timeout can never reach. Same idiom, + # right-sized thresholds. + api_fn.metric_errors(period=Duration.minutes(5), statistic="Sum").create_alarm( + self, + "ProcurementApiErrorsAlarm", + alarm_name="procurement-api-errors", + alarm_description=( + "procurement-api Lambda raised (bundle/init failures; the " + "handler catches request errors, so any signal here is " + "structural)" + ), + threshold=0, + evaluation_periods=1, + comparison_operator=cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD, + treat_missing_data=cloudwatch.TreatMissingData.NOT_BREACHING, + ).add_alarm_action(cw_actions.SnsAction(alarm_topic)) + + api_fn.metric_throttles( + period=Duration.minutes(5), statistic="Sum" + ).create_alarm( + self, + "ProcurementApiThrottlesAlarm", + alarm_name="procurement-api-throttles", + alarm_description="procurement-api Lambda throttled", + threshold=0, + evaluation_periods=1, + comparison_operator=cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD, + treat_missing_data=cloudwatch.TreatMissingData.NOT_BREACHING, + ).add_alarm_action(cw_actions.SnsAction(alarm_topic)) + + api_fn.metric_duration( + period=Duration.minutes(5), statistic="p99" + ).create_alarm( + self, + "ProcurementApiDurationAlarm", + alarm_name="procurement-api-duration", + alarm_description=( + "procurement-api p99 duration >= 22.5s (75% of the 30s " + "timeout; scans degrading toward timeout)" + ), + threshold=22500, + evaluation_periods=3, + datapoints_to_alarm=2, + comparison_operator=cloudwatch.ComparisonOperator.GREATER_THAN_OR_EQUAL_TO_THRESHOLD, + treat_missing_data=cloudwatch.TreatMissingData.NOT_BREACHING, + ).add_alarm_action(cw_actions.SnsAction(alarm_topic)) + + # Gateway-side 5xx: catches what the Lambda's own Errors metric can't + # (the handler returns clean 500s; integration faults surface here). + # No 4XX alarm -- 401/403/404 are expected traffic. + cloudwatch.Metric( + namespace="AWS/ApiGateway", + metric_name="5XXError", + dimensions_map={"ApiName": "procurement-api", "Stage": STAGE_NAME}, + period=Duration.minutes(5), + statistic="Sum", + ).create_alarm( + self, + "ProcurementApi5xxAlarm", + alarm_name="procurement-api-5xx", + alarm_description="procurement-api gateway 5XX responses", + threshold=0, + evaluation_periods=1, + comparison_operator=cloudwatch.ComparisonOperator.GREATER_THAN_THRESHOLD, + treat_missing_data=cloudwatch.TreatMissingData.NOT_BREACHING, + ).add_alarm_action(cw_actions.SnsAction(alarm_topic)) + + cdk.CfnOutput( + self, + "ApiEndpointUrl", + value=api.url, + description="procurement-api invoke URL (stage prod)", + ) + cdk.CfnOutput( + self, + "ProcurementApiFunctionArn", + value=api_fn.function_arn, + description="ARN of the procurement-api Lambda", + ) diff --git a/infra/deploy-role/README.md b/infra/deploy-role/README.md index 5dbfec5..94ea7a1 100644 --- a/infra/deploy-role/README.md +++ b/infra/deploy-role/README.md @@ -10,19 +10,20 @@ stays untouched until decommission as the emergency mgmt deploy path. | File | Purpose | |---|---| | `trust-policy.json` | OIDC trust: `repo:Sea-Haven-Industries/procurement-ingest:ref:refs/heads/main` only | -| `permissions-policy.json` | `sts:AssumeRole` on the four `cdk-hnb659fds-*` bootstrap roles, `cloudformation:DescribeStacks` scoped to this repo's stacks + `CDKToolkit` (cd-cdk health check), and `lambda:InvokeFunction` on exactly the two email-processor function ARNs (post-deploy smoke gate) | +| `permissions-policy.json` | `sts:AssumeRole` on the four `cdk-hnb659fds-*` bootstrap roles, `cloudformation:DescribeStacks` scoped to this repo's stacks + `CDKToolkit` (cd-cdk health check), and `lambda:InvokeFunction` on exactly the three smoke-gated function ARNs (post-deploy smoke gate) | | `create-deploy-role.sh` | Idempotent create-or-update from the two JSON files, profile `seahaven-prod` | -> **Maintenance note:** `DescribeStacks` is scoped to `stack/po-ingest/*`, `stack/WorkorderIngestStack/*`, and `stack/CDKToolkit/*`. If a third stack is ever added to this CDK app, add its ARN pattern here and re-run the review-then-apply flow — otherwise the cd-cdk health check on the new stack will `AccessDenied`. +> **Maintenance note:** `DescribeStacks` is scoped to `stack/po-ingest/*`, `stack/WorkorderIngestStack/*`, `stack/procurement-api/*` (added with the procurement-api stack), and `stack/CDKToolkit/*`. If another stack is ever added to this CDK app, add its ARN pattern here and re-run the review-then-apply flow — otherwise the cd-cdk health check on the new stack will `AccessDenied`. ## Why the SmokeInvokeLambda statement exists `deploy.yaml` runs `scripts/post-deploy-smoke.sh` under the deploy role's own session, not the assumed `cdk-*` roles. Without `lambda:InvokeFunction` on the -two function ARNs the smoke gate hits AccessDenied and every deploy fails -closed. The mgmt-era grant was applied out-of-band and undocumented; keeping -it in these reviewed artifacts closes that gap. Scope it to exactly the two -ARNs, never `Resource: "*"`. +smoke-gated function ARNs (the two email processors + `procurement-api`) the +smoke gate hits AccessDenied and every deploy fails closed. The mgmt-era grant +was applied out-of-band and undocumented; keeping it in these reviewed +artifacts closes that gap. Scope it to exactly the named ARNs, never +`Resource: "*"`. ## Change process diff --git a/infra/deploy-role/permissions-policy.json b/infra/deploy-role/permissions-policy.json index e29ba7e..fc7261b 100644 --- a/infra/deploy-role/permissions-policy.json +++ b/infra/deploy-role/permissions-policy.json @@ -19,6 +19,7 @@ "Resource": [ "arn:aws:cloudformation:us-east-1:011934824531:stack/po-ingest/*", "arn:aws:cloudformation:us-east-1:011934824531:stack/WorkorderIngestStack/*", + "arn:aws:cloudformation:us-east-1:011934824531:stack/procurement-api/*", "arn:aws:cloudformation:us-east-1:011934824531:stack/CDKToolkit/*" ], "Condition": { @@ -33,7 +34,8 @@ "Action": "lambda:InvokeFunction", "Resource": [ "arn:aws:lambda:us-east-1:011934824531:function:po-email-processor", - "arn:aws:lambda:us-east-1:011934824531:function:workorder-email-processor" + "arn:aws:lambda:us-east-1:011934824531:function:workorder-email-processor", + "arn:aws:lambda:us-east-1:011934824531:function:procurement-api" ] } ] diff --git a/lambdas/api/docs.html b/lambdas/api/docs.html new file mode 100644 index 0000000..06f5aea --- /dev/null +++ b/lambdas/api/docs.html @@ -0,0 +1,229 @@ + + + + + +Procurement Ingest API + + + +

Loading spec…

+ + + + diff --git a/lambdas/api/handler.py b/lambdas/api/handler.py new file mode 100644 index 0000000..283bcb8 --- /dev/null +++ b/lambdas/api/handler.py @@ -0,0 +1,193 @@ +"""Procurement API Lambda (API Gateway REST proxy integration). + +Auth is split by route class and enforced at two layers: +- Data routes: AWS_IAM at the gateway (SigV4; cross-account callers allowed by + the API resource policy). The handler does NOT re-check a token there -- + authorization is API Gateway's job on those routes. +- Docs routes (/docs, /openapi.json): reachable at the gateway (auth NONE + + resource-policy carve-out) but the handler fails closed on the shared + header token via web_ui_auth (same secret + constant-time compare as the + web UIs), so they are never an unauthenticated data path (INFRA-74). +""" + +import logging +from pathlib import Path + +import po_repo +import wo_repo +from botocore.exceptions import ClientError +from pagination import BadCursor, clamp_limit +from router import DATA_ROUTES, DOCS_ROUTES, PLANNED_ROUTES +from serialization import error_response, json_response +from web_ui_auth import is_authenticated + +logger = logging.getLogger() +logger.setLevel(logging.INFO) + +_MODULE_DIR = Path(__file__).resolve().parent +_SPEC_PATH = _MODULE_DIR / "openapi.json" +_DOCS_PATH = _MODULE_DIR / "docs.html" +# The docs page template carries this placeholder where the spec JSON is +# inlined, so /docs is a single token-gated request (a browser can't attach +# the auth header to a follow-up asset fetch). +_SPEC_PLACEHOLDER = "__OPENAPI_SPEC_JSON__" + +_spec_cache = None +_docs_cache = None + +_REPO_FUNCS = { + "list_work_orders": wo_repo.list_work_orders, + "get_work_order": wo_repo.get_work_order, + "list_comments": wo_repo.list_comments, + "list_purchase_orders": po_repo.list_purchase_orders, + "get_purchase_order": po_repo.get_purchase_order, + "list_verified_sites": po_repo.list_verified_sites, + "get_verified_site": po_repo.get_verified_site, +} + +_PATH_PARAM_BY_RESOURCE = { + "/work-orders/{workOrderId}": "workOrderId", + "/work-orders/{workOrderId}/comments": "workOrderId", + "/purchase-orders/{poNumber}": "poNumber", + "/verified-sites/{siteCode}": "siteCode", +} + + +# Headers on the docs responses: the token rides in the ?token= query shim, +# so keep the token-keyed URL and page out of shared/browser caches and out of +# any Referer sent to a followed link. +_DOCS_SECURITY_HEADERS = { + "Cache-Control": "no-store", + "Referrer-Policy": "no-referrer", +} + + +def _load_spec() -> str: + """Raw spec bytes, served verbatim at /openapi.json (byte-faithful JSON).""" + global _spec_cache + if _spec_cache is None: + _spec_cache = _SPEC_PATH.read_text(encoding="utf-8") + return _spec_cache + + +def _load_docs_html() -> str: + global _docs_cache + if _docs_cache is None: + # Neutralize any " block + # where the HTML parser ends the element at the first literal "<" + # sequence regardless of JSON quoting. "<" is the same JSON + # string value ("<") to JSON.parse but can never close the script tag. + inlined_spec = _load_spec().replace("<", "\\u003c") + _docs_cache = _DOCS_PATH.read_text(encoding="utf-8").replace( + _SPEC_PLACEHOLDER, inlined_spec + ) + return _docs_cache + + +def _with_token_shim(event: dict) -> dict: + """Copy a ?token= query parameter into an x-auth-token header. + + Browsers can't set headers on plain navigation, so /docs accepts the + shared token as a query parameter too. The constant-time compare still + happens inside web_ui_auth -- this only synthesizes the header on a + shallow copy. Acceptable only while API Gateway access logging stays off + (nothing at the gateway records the query string); rotate the token if + access logging is ever enabled. + """ + qs = event.get("queryStringParameters") or {} + token = qs.get("token") + if not token: + return event + shimmed = dict(event) + headers = dict(event.get("headers") or {}) + headers["x-auth-token"] = token + shimmed["headers"] = headers + return shimmed + + +def _docs_response(resource: str, event: dict) -> dict: + # SECURITY INVARIANT: these routes serve ONLY the committed spec and the + # static docs page -- never table data. The gateway resource policy allows + # Principal "*" on exactly these two GETs on the strength of that; serving + # anything dynamic here requires a resource-policy + security re-review. + if not is_authenticated(_with_token_shim(event)): + return error_response(401, "unauthorized") + if resource == "/openapi.json": + return { + "statusCode": 200, + "headers": {"Content-Type": "application/json", **_DOCS_SECURITY_HEADERS}, + "body": _load_spec(), + } + return { + "statusCode": 200, + "headers": { + "Content-Type": "text/html; charset=utf-8", + **_DOCS_SECURITY_HEADERS, + }, + "body": _load_docs_html(), + } + + +def _data_response(route_key: tuple, event: dict) -> dict: + method, resource = route_key + func = _REPO_FUNCS[DATA_ROUTES[route_key]] + qs = event.get("queryStringParameters") or {} + path_params = event.get("pathParameters") or {} + + if DATA_ROUTES[route_key].startswith("list_"): + limit = clamp_limit(qs.get("limit")) + cursor = qs.get("cursor") + if resource in _PATH_PARAM_BY_RESOURCE: + entity_id = path_params.get(_PATH_PARAM_BY_RESOURCE[resource], "") + items, next_cursor = func(entity_id, limit, cursor) + else: + items, next_cursor = func(limit, cursor) + return json_response(200, {"items": items, "next_cursor": next_cursor}) + + entity_id = path_params.get(_PATH_PARAM_BY_RESOURCE[resource], "") + item = func(entity_id) + if item is None: + return error_response(404, "not found") + return json_response(200, item) + + +def _dispatch(route_key: tuple, event: dict) -> dict: + if route_key in PLANNED_ROUTES: + return error_response(501, "planned endpoint - not implemented (phase 2)") + if route_key in DOCS_ROUTES: + return _docs_response(route_key[1], event) + if route_key in DATA_ROUTES: + return _data_response(route_key, event) + return error_response(404, "not found") + + +def handler(event, context): + # Deploy-guard healthcheck: a direct-invoke {"healthcheck": true} probe + # returns before any routing/auth so the post-deploy smoke gate can verify + # the bundle imports and the runtime boots. + if isinstance(event, dict) and event.get("healthcheck") is True: + return {"healthcheck": "ok"} + + method = (event.get("httpMethod") or "").upper() + resource = event.get("resource") or "" + + try: + return _dispatch((method, resource), event) + except BadCursor as exc: + return error_response(400, str(exc)) + except ClientError as exc: + # A client-supplied cursor that survives validation but is still + # inconsistent at the data layer makes DynamoDB raise + # ValidationException; map it to 400, not 500, so a crafted cursor + # can't drive the 5xx alarm. Any other AWS error is a real 500. + if exc.response.get("Error", {}).get("Code") == "ValidationException": + return error_response(400, "cursor is not valid") + logger.exception("AWS error serving %s %s", method, resource) + return error_response(500, "internal error") + except Exception: + # A raised exception would surface as an opaque 502 from the proxy + # integration; return a clean 500 instead. The API Gateway 5XX alarm + # pages on these; the exception (never the request token) is logged. + logger.exception("Unhandled error serving %s %s", method, resource) + return error_response(500, "internal error") diff --git a/lambdas/api/openapi.json b/lambdas/api/openapi.json new file mode 100644 index 0000000..2edde02 --- /dev/null +++ b/lambdas/api/openapi.json @@ -0,0 +1,1022 @@ +{ + "openapi": "3.1.0", + "info": { + "title": "Procurement Ingest API", + "version": "1.0.0", + "description": "Read API over the procurement-ingest pipelines (work orders + purchase orders), plus the outbound SHOC work-order webhook feed (see `webhooks`).\n\n**Purpose:** reconciliation and backfill for downstream consumers (primarily SHOC) - this API replaces SHOC's retired SyncController DynamoDB scan. Listings are **unordered** paginated scans: follow `next_cursor` until it is `null`. `cursor` is opaque; a malformed cursor returns `400`. Field names mirror the DynamoDB attributes written by the pipelines (source of truth: `lambdas/wo/email_processor/persistence.py` and `lambdas/po/email_processor/persistence.py`).\n\n**Auth:** data endpoints require AWS IAM SigV4 (service `execute-api`, region `us-east-1`); cross-account callers must also be allowed by the API resource policy. `/docs` and `/openapi.json` use the shared docs token instead (header `X-Auth-Token`, or `?token=` in a browser). No CORS is configured (server-to-server and Postman callers only).\n\n**Write endpoints** marked `x-planned` are phase 2: documented here for contract visibility, the API answers `501` until they ship." + }, + "servers": [ + { + "url": "https://{apiId}.execute-api.us-east-1.amazonaws.com/prod", + "description": "seahaven-prod (011934824531). The concrete apiId is in the procurement-api stack output ApiEndpointUrl.", + "variables": { + "apiId": { + "default": "SEE-STACK-OUTPUT" + } + } + } + ], + "security": [ + { + "sigv4": [] + } + ], + "paths": { + "/work-orders": { + "get": { + "operationId": "listWorkOrders", + "summary": "List work orders (unordered, paginated)", + "parameters": [ + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Cursor" + } + ], + "responses": { + "200": { + "description": "One page of work orders.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["items", "next_cursor"], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkOrder" + } + }, + "next_cursor": { + "$ref": "#/components/schemas/NextCursor" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + } + }, + "/work-orders/{workOrderId}": { + "get": { + "operationId": "getWorkOrder", + "summary": "Get one work order", + "parameters": [ + { + "$ref": "#/components/parameters/WorkOrderId" + } + ], + "responses": { + "200": { + "description": "The work order.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkOrder" + } + } + } + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + } + } + }, + "patch": { + "x-planned": true, + "operationId": "patchWorkOrder", + "summary": "PLANNED (phase 2): update dispatch fields on a work order", + "description": "Not implemented - returns 501. Phase-2 write-back for SHOC dispatch workflow (status/assignment). Writes will stamp `write_origin: shoc-write-api` so the outbound webhook never echoes SHOC's own writes back at it. Ships with its own IAM diff and cross-family review.", + "responses": { + "501": { + "$ref": "#/components/responses/NotImplemented" + } + } + } + }, + "/work-orders/{workOrderId}/comments": { + "get": { + "operationId": "listWorkOrderComments", + "summary": "List comments/events for a work order (paginated)", + "parameters": [ + { + "$ref": "#/components/parameters/WorkOrderId" + }, + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Cursor" + } + ], + "responses": { + "200": { + "description": "One page of comments (all source-email event records: comments, updates, cancellations).", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["items", "next_cursor"], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkOrderComment" + } + }, + "next_cursor": { + "$ref": "#/components/schemas/NextCursor" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + }, + "post": { + "x-planned": true, + "operationId": "createWorkOrderComment", + "summary": "PLANNED (phase 2): append a SHOC-authored comment", + "description": "Not implemented - returns 501. Phase-2 write-back: SHOC dispatch notes land in WorkOrderComments with `write_origin: shoc-write-api` (append-only; no field conflicts with the email pipeline). Ships with its own IAM diff and cross-family review.", + "responses": { + "501": { + "$ref": "#/components/responses/NotImplemented" + } + } + } + }, + "/purchase-orders": { + "get": { + "operationId": "listPurchaseOrders", + "summary": "List purchase orders (unordered, paginated)", + "parameters": [ + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Cursor" + } + ], + "responses": { + "200": { + "description": "One page of purchase orders.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["items", "next_cursor"], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/PurchaseOrder" + } + }, + "next_cursor": { + "$ref": "#/components/schemas/NextCursor" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + } + }, + "/purchase-orders/{poNumber}": { + "get": { + "operationId": "getPurchaseOrder", + "summary": "Get one purchase order", + "parameters": [ + { + "name": "poNumber", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "Coupa PO number, e.g. `2D-22030794`." + } + ], + "responses": { + "200": { + "description": "The purchase order.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/PurchaseOrder" + } + } + } + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + } + } + } + }, + "/verified-sites": { + "get": { + "operationId": "listVerifiedSites", + "summary": "List verified Amazon sites (unordered, paginated)", + "parameters": [ + { + "$ref": "#/components/parameters/Limit" + }, + { + "$ref": "#/components/parameters/Cursor" + } + ], + "responses": { + "200": { + "description": "One page of verified sites.", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": ["items", "next_cursor"], + "properties": { + "items": { + "type": "array", + "items": { + "$ref": "#/components/schemas/VerifiedSite" + } + }, + "next_cursor": { + "$ref": "#/components/schemas/NextCursor" + } + } + } + } + } + }, + "400": { + "$ref": "#/components/responses/BadRequest" + }, + "403": { + "$ref": "#/components/responses/Forbidden" + } + } + } + }, + "/verified-sites/{siteCode}": { + "get": { + "operationId": "getVerifiedSite", + "summary": "Get one verified site", + "parameters": [ + { + "name": "siteCode", + "in": "path", + "required": true, + "schema": { + "type": "string" + }, + "description": "Amazon site code, e.g. `JFK8`." + } + ], + "responses": { + "200": { + "description": "The verified site.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VerifiedSite" + } + } + } + }, + "403": { + "$ref": "#/components/responses/Forbidden" + }, + "404": { + "$ref": "#/components/responses/NotFound" + } + } + } + }, + "/docs": { + "get": { + "operationId": "getDocs", + "summary": "This documentation page (token-gated)", + "security": [ + { + "docsToken": [] + } + ], + "parameters": [ + { + "name": "token", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "description": "Browser convenience: the docs token as a query parameter (browsers can't set headers on navigation). Prefer the X-Auth-Token header from tooling." + } + ], + "responses": { + "200": { + "description": "Self-contained HTML reference page.", + "content": { + "text/html": {} + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + } + } + } + }, + "/openapi.json": { + "get": { + "operationId": "getOpenApiSpec", + "summary": "This spec (token-gated)", + "security": [ + { + "docsToken": [] + } + ], + "responses": { + "200": { + "description": "The OpenAPI 3.1 document.", + "content": { + "application/json": {} + } + }, + "401": { + "$ref": "#/components/responses/Unauthorized" + } + } + } + } + }, + "webhooks": { + "work_order.created": { + "post": { + "summary": "Outbound: a work order was created", + "description": "Sent by `workorder-shoc-emitter` (seahaven-prod) to the configured SHOC endpoint. Full contract incl. HMAC verification, ordering, and retry semantics: `docs/shoc-webhook-contract.md` (Rev 2026-07-23). Requests carry `X-SH-Timestamp`, `X-SH-Key-Id`, and `X-SH-Signature: v1=hex(HMAC_SHA256(secret, \"{timestamp}.{raw_body}\"))`; verify over the raw body, constant-time, +/-300s window, fail closed.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkOrderEventEnvelope" + } + } + } + }, + "responses": { + "2XX": { + "description": "Delivered. Respond fast (<10s); accept-and-enqueue if processing is slow. 429/5xx/timeouts are retried in order for 24h; other 4xx park immediately." + } + } + } + }, + "work_order.updated": { + "post": { + "summary": "Outbound: a work order changed", + "description": "Same envelope and semantics as work_order.created; `data` is the full current state, not a diff.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkOrderEventEnvelope" + } + } + } + }, + "responses": { + "2XX": { + "description": "Delivered." + } + } + } + }, + "work_order.cancelled": { + "post": { + "summary": "Outbound: a work order transitioned to cancelled", + "description": "A specialization of work_order.updated (same body) emitted when `wo_status` transitions to `cancelled`.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WorkOrderEventEnvelope" + } + } + } + }, + "responses": { + "2XX": { + "description": "Delivered." + } + } + } + }, + "work_order.comment_added": { + "post": { + "summary": "Outbound: a comment/event record was ingested", + "description": "One per source email (comments, updates, and cancellation event records). Dedupe on `delivery_id` or `data.comment_id`. May occasionally arrive before the work order's created event - upsert a skeleton work order and let the state event backfill it.", + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CommentEventEnvelope" + } + } + } + }, + "responses": { + "2XX": { + "description": "Delivered." + } + } + } + } + }, + "components": { + "securitySchemes": { + "sigv4": { + "type": "apiKey", + "name": "Authorization", + "in": "header", + "x-amazon-apigateway-authtype": "awsSigv4", + "description": "AWS IAM SigV4 (service execute-api, region us-east-1). Cross-account callers must be allowed by the API resource policy; Postman signs natively via Authorization type 'AWS Signature'." + }, + "docsToken": { + "type": "apiKey", + "name": "X-Auth-Token", + "in": "header", + "description": "Shared docs token (secret procurement-ingest/web-ui-auth-token). Docs routes only." + } + }, + "parameters": { + "Limit": { + "name": "limit", + "in": "query", + "required": false, + "schema": { + "type": "integer", + "minimum": 1, + "maximum": 500, + "default": 100 + }, + "description": "Page size; values outside 1-500 are clamped." + }, + "Cursor": { + "name": "cursor", + "in": "query", + "required": false, + "schema": { + "type": "string" + }, + "description": "Opaque pagination cursor from the previous page's `next_cursor`. Malformed cursors return 400." + }, + "WorkOrderId": { + "name": "workOrderId", + "in": "path", + "required": true, + "schema": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "description": "Numeric APM work-order id, e.g. `11144580730`." + } + }, + "responses": { + "BadRequest": { + "description": "Malformed cursor or limit.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "Unauthorized": { + "description": "Missing or wrong docs token.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "Forbidden": { + "description": "SigV4 auth failed or the caller is not allowed by the API resource policy (returned by API Gateway, not the Lambda)." + }, + "NotFound": { + "description": "No record with that id.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, + "NotImplemented": { + "description": "Planned phase-2 endpoint; not implemented yet.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + } + }, + "schemas": { + "Error": { + "type": "object", + "required": ["error"], + "properties": { + "error": { + "type": "string" + } + } + }, + "NextCursor": { + "type": ["string", "null"], + "description": "Pass as `cursor` to fetch the next page; `null` means this is the last page." + }, + "WorkOrder": { + "type": "object", + "description": "Mirrors the WorkOrders DynamoDB item (PK work_order_id). Fields absent from the source email are absent or null.", + "required": ["work_order_id"], + "properties": { + "work_order_id": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "wo_status": { + "type": ["string", "null"], + "enum": ["new", "assigned", "in_progress", "on_hold", "completed", "cancelled", "unknown", null], + "description": "`unknown` is a real emitted value - map it explicitly." + }, + "description": { + "type": ["string", "null"] + }, + "customer": { + "type": ["string", "null"] + }, + "site_code": { + "type": ["string", "null"] + }, + "building": { + "type": ["string", "null"] + }, + "address": { + "type": ["string", "null"] + }, + "severity": { + "type": ["string", "null"] + }, + "priority": { + "type": ["string", "null"] + }, + "assigned_to": { + "type": ["string", "null"] + }, + "date_reported": { + "type": ["string", "null"] + }, + "scheduled_start": { + "type": ["string", "null"] + }, + "due_date": { + "type": ["string", "null"] + }, + "record_type": { + "type": ["string", "null"], + "enum": ["new_work_order", "update", "comment", "cancellation", null], + "description": "Type of the most recent source email." + }, + "created_at": { + "type": ["string", "null"], + "description": "ISO 8601 with UTC offset." + }, + "updated_at": { + "type": ["string", "null"], + "description": "ISO 8601 with UTC offset." + }, + "source_email_s3_key": { + "type": ["string", "null"] + } + }, + "additionalProperties": true + }, + "WorkOrderComment": { + "type": "object", + "description": "Mirrors the WorkOrderComments DynamoDB item (PK work_order_id, SK comment_id). One row per source email event.", + "required": ["work_order_id", "comment_id"], + "properties": { + "work_order_id": { + "type": "string" + }, + "comment_id": { + "type": "string", + "description": "`{work_order_id}#{time|nocomment}#{sha256(s3_key)[:12]}` - unique per source email, stable across retries; a dedupe key." + }, + "record_type": { + "type": ["string", "null"], + "enum": ["new_work_order", "update", "comment", "cancellation", null] + }, + "commenter": { + "type": ["string", "null"] + }, + "text": { + "type": ["string", "null"] + }, + "created_at": { + "type": ["string", "null"], + "description": "Display timestamp (comment time when the source email carried one)." + }, + "ingested_at": { + "type": ["string", "null"], + "description": "When the pipeline wrote the row; ISO 8601 with UTC offset." + }, + "source_email_s3_key": { + "type": ["string", "null"] + } + }, + "additionalProperties": true + }, + "PurchaseOrder": { + "type": "object", + "description": "Mirrors the purchase-orders DynamoDB item (PK po_number). Shape follows the Coupa extraction schema; older records may lack newer fields.", + "required": ["po_number"], + "properties": { + "po_number": { + "type": "string" + }, + "po_status": { + "type": ["string", "null"] + }, + "email_type": { + "type": ["string", "null"] + }, + "source_system": { + "type": ["string", "null"] + }, + "submitted_by": { + "type": ["string", "null"] + }, + "on_behalf_of": { + "type": ["string", "null"] + }, + "order_date": { + "type": ["string", "null"] + }, + "revision_date": { + "type": ["string", "null"] + }, + "payment_terms": { + "type": ["string", "null"] + }, + "requisition_number": { + "type": ["string", "null"] + }, + "department": { + "type": ["string", "null"] + }, + "view_order_url": { + "type": ["string", "null"] + }, + "supplier": { + "type": ["object", "null"], + "properties": { + "name": { + "type": ["string", "null"] + } + }, + "additionalProperties": true + }, + "site_code": { + "type": ["string", "null"] + }, + "ship_to": { + "type": ["object", "null"], + "properties": { + "name": { + "type": ["string", "null"] + }, + "address": { + "type": ["string", "null"] + }, + "street": { + "type": ["string", "null"] + }, + "city": { + "type": ["string", "null"] + }, + "state": { + "type": ["string", "null"] + }, + "zip": { + "type": ["string", "null"] + }, + "location_code": { + "type": ["string", "null"] + }, + "attn": { + "type": ["string", "null"] + } + }, + "additionalProperties": true + }, + "total_amount": { + "type": ["number", "null"], + "description": "Stored as Decimal; serialized as a JSON number." + }, + "currency": { + "type": ["string", "null"] + }, + "fiscal_year": { + "type": ["string", "null"] + }, + "trade": { + "type": ["string", "null"] + }, + "coupa_category": { + "type": ["string", "null"] + }, + "line_items": { + "type": ["array", "null"], + "items": { + "type": "object", + "properties": { + "description": { + "type": ["string", "null"] + }, + "quantity": { + "type": ["number", "null"] + }, + "unit": { + "type": ["string", "null"] + }, + "price": { + "type": ["number", "null"] + }, + "amount": { + "type": ["number", "null"] + }, + "currency": { + "type": ["string", "null"] + }, + "need_by": { + "type": ["string", "null"] + }, + "category": { + "type": ["string", "null"] + }, + "account_code": { + "type": ["string", "null"] + }, + "period": { + "type": ["string", "null"] + } + }, + "additionalProperties": true + } + }, + "cancelled_at": { + "type": ["string", "null"] + }, + "processed_at": { + "type": ["string", "null"] + }, + "raw_s3_key": { + "type": ["string", "null"] + }, + "data_source": { + "type": ["string", "null"] + } + }, + "additionalProperties": true + }, + "VerifiedSite": { + "type": "object", + "description": "Mirrors the verified-sites DynamoDB item (PK siteCode), maintained by the PO site extractor.", + "required": ["siteCode"], + "properties": { + "siteCode": { + "type": "string" + }, + "address": { + "type": ["string", "null"] + }, + "city": { + "type": ["string", "null"] + }, + "state": { + "type": ["string", "null"] + }, + "zip": { + "type": ["string", "null"] + }, + "fullAddress": { + "type": ["string", "null"] + }, + "locationCode": { + "type": ["string", "null"] + }, + "poCount": { + "type": ["integer", "null"], + "description": "Count of POs that referenced this site." + }, + "sourcePOs": { + "type": ["array", "null"], + "items": { + "type": "string" + }, + "description": "PO numbers that referenced this site (string set; serialized sorted)." + } + }, + "additionalProperties": true + }, + "WebhookEnvelope": { + "type": "object", + "description": "Common webhook envelope (contract section 3). Headers: X-SH-Timestamp (unix seconds), X-SH-Key-Id, X-SH-Signature (v1=hex HMAC-SHA256 over '{timestamp}.{raw_body}').", + "required": ["schema_version", "delivery_id", "event_type", "occurred_at", "source", "replay", "data"], + "properties": { + "schema_version": { + "type": "integer", + "description": "Reject versions you don't know." + }, + "delivery_id": { + "type": "string", + "description": "Unique per source event, stable across producer retries - the idempotency key." + }, + "event_type": { + "type": "string", + "enum": ["work_order.created", "work_order.updated", "work_order.cancelled", "work_order.comment_added"] + }, + "occurred_at": { + "type": "string", + "description": "ISO 8601 with UTC offset." + }, + "source": { + "type": "string", + "const": "procurement-ingest/workorder-shoc-emitter" + }, + "replay": { + "type": "boolean", + "description": "true when re-sent by the operator replay tool; same idempotency rules." + }, + "data": { + "type": "object" + } + } + }, + "WorkOrderEventEnvelope": { + "allOf": [ + { + "$ref": "#/components/schemas/WebhookEnvelope" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/WorkOrderEventData" + } + } + } + ] + }, + "CommentEventEnvelope": { + "allOf": [ + { + "$ref": "#/components/schemas/WebhookEnvelope" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/CommentEventData" + } + } + } + ] + }, + "WorkOrderEventData": { + "type": "object", + "description": "Full current work-order state (not a diff); contract section 4.1. Same fields as WorkOrder minus source_email_s3_key.", + "required": ["work_order_id"], + "properties": { + "work_order_id": { + "type": "string", + "pattern": "^[0-9]+$" + }, + "wo_status": { + "type": ["string", "null"], + "enum": ["new", "assigned", "in_progress", "on_hold", "completed", "cancelled", "unknown", null] + }, + "description": { + "type": ["string", "null"] + }, + "customer": { + "type": ["string", "null"] + }, + "site_code": { + "type": ["string", "null"] + }, + "building": { + "type": ["string", "null"] + }, + "address": { + "type": ["string", "null"] + }, + "severity": { + "type": ["string", "null"] + }, + "priority": { + "type": ["string", "null"] + }, + "assigned_to": { + "type": ["string", "null"] + }, + "date_reported": { + "type": ["string", "null"] + }, + "scheduled_start": { + "type": ["string", "null"] + }, + "due_date": { + "type": ["string", "null"] + }, + "record_type": { + "type": ["string", "null"], + "enum": ["new_work_order", "update", "comment", "cancellation", null] + }, + "created_at": { + "type": ["string", "null"] + }, + "updated_at": { + "type": ["string", "null"] + }, + "write_origin": { + "type": ["string", "null"], + "description": "Forward-compat (phase 2): present on records written through the write-back API; the emitter skips those, so receivers should tolerate but never see it." + } + } + }, + "CommentEventData": { + "type": "object", + "description": "Contract section 4.2. Same fields as WorkOrderComment minus source_email_s3_key.", + "required": ["work_order_id", "comment_id"], + "properties": { + "work_order_id": { + "type": "string" + }, + "comment_id": { + "type": "string" + }, + "record_type": { + "type": ["string", "null"] + }, + "commenter": { + "type": ["string", "null"] + }, + "text": { + "type": ["string", "null"] + }, + "created_at": { + "type": ["string", "null"] + }, + "ingested_at": { + "type": ["string", "null"] + } + } + } + } + } +} diff --git a/lambdas/api/pagination.py b/lambdas/api/pagination.py new file mode 100644 index 0000000..affb200 --- /dev/null +++ b/lambdas/api/pagination.py @@ -0,0 +1,62 @@ +"""Opaque cursor pagination over DynamoDB ``LastEvaluatedKey``. + +The cursor is base64url(JSON(LastEvaluatedKey)). It is untrusted client input: +``decode_cursor`` validates shape strictly (a flat dict whose keys are exactly +a subset of the table's key attributes and whose values are non-empty strings) +and raises ``BadCursor`` -- mapped to HTTP 400 by the handler -- on anything +else, so a malformed or tampered cursor can never reach DynamoDB as an +arbitrary ``ExclusiveStartKey`` or surface as a 500. +""" + +import base64 +import binascii +import json + +DEFAULT_LIMIT = 100 +MAX_LIMIT = 500 +_MAX_CURSOR_CHARS = 2048 + + +class BadCursor(ValueError): + pass + + +def clamp_limit(raw) -> int: + if raw is None or raw == "": + return DEFAULT_LIMIT + try: + value = int(raw) + except (TypeError, ValueError): + raise BadCursor("limit must be an integer") from None + return max(1, min(MAX_LIMIT, value)) + + +def encode_cursor(last_evaluated_key: dict) -> str: + raw = json.dumps(last_evaluated_key, default=str, sort_keys=True) + return base64.urlsafe_b64encode(raw.encode()).decode() + + +def decode_cursor(cursor: str, key_attrs: frozenset) -> dict: + """Decode a cursor and require it to be EXACTLY the table's key attributes. + + ``key_attrs`` is the full key schema of the operation the cursor feeds + (e.g. ``{work_order_id, comment_id}`` for the comments Query). An exact + match -- not a subset -- is required: a partial composite key or a cursor + minted for a different endpoint would otherwise pass a subset check, reach + DynamoDB as an incomplete/inconsistent ``ExclusiveStartKey``, and raise a + ValidationException that surfaces as a 500 (and pages the 5xx alarm). Here + it fails closed as a 400 instead. Callers additionally pin the + partition-key value to the request path (see ``wo_repo.list_comments``). + """ + if len(cursor) > _MAX_CURSOR_CHARS: + raise BadCursor("cursor too long") + try: + decoded = json.loads(base64.urlsafe_b64decode(cursor.encode())) + except (binascii.Error, UnicodeDecodeError, json.JSONDecodeError, ValueError): + raise BadCursor("cursor is not valid") from None + if not isinstance(decoded, dict) or set(decoded) != key_attrs: + raise BadCursor("cursor is not valid") + for value in decoded.values(): + if not isinstance(value, str) or not value: + raise BadCursor("cursor is not valid") + return decoded diff --git a/lambdas/api/po_repo.py b/lambdas/api/po_repo.py new file mode 100644 index 0000000..9d3f486 --- /dev/null +++ b/lambdas/api/po_repo.py @@ -0,0 +1,53 @@ +"""Read access to the purchase-order tables for the procurement API. + +Same unordered cursor-paginated Scan pattern as wo_repo (no GSIs; listing +serves reconciliation, not ranked queries). VendorReplies is deliberately +absent: the table is dead (its writer was deleted) and must not gain new +consumers. +""" + +import os + +import boto3 + +from pagination import decode_cursor, encode_cursor + +dynamodb = boto3.resource("dynamodb") + +PO_TABLE = os.environ.get("PO_TABLE", "purchase-orders") +VERIFIED_SITES_TABLE = os.environ.get("VERIFIED_SITES_TABLE", "verified-sites") + +PO_KEY_ATTRS = frozenset({"po_number"}) +SITE_KEY_ATTRS = frozenset({"siteCode"}) + + +def _page(response) -> tuple[list, str | None]: + items = response.get("Items", []) + lek = response.get("LastEvaluatedKey") + return items, (encode_cursor(lek) if lek else None) + + +def list_purchase_orders(limit: int, cursor: str | None) -> tuple[list, str | None]: + table = dynamodb.Table(PO_TABLE) + kwargs = {"Limit": limit} + if cursor: + kwargs["ExclusiveStartKey"] = decode_cursor(cursor, PO_KEY_ATTRS) + return _page(table.scan(**kwargs)) + + +def get_purchase_order(po_number: str) -> dict | None: + table = dynamodb.Table(PO_TABLE) + return table.get_item(Key={"po_number": po_number}).get("Item") + + +def list_verified_sites(limit: int, cursor: str | None) -> tuple[list, str | None]: + table = dynamodb.Table(VERIFIED_SITES_TABLE) + kwargs = {"Limit": limit} + if cursor: + kwargs["ExclusiveStartKey"] = decode_cursor(cursor, SITE_KEY_ATTRS) + return _page(table.scan(**kwargs)) + + +def get_verified_site(site_code: str) -> dict | None: + table = dynamodb.Table(VERIFIED_SITES_TABLE) + return table.get_item(Key={"siteCode": site_code}).get("Item") diff --git a/lambdas/api/requirements.txt b/lambdas/api/requirements.txt new file mode 100644 index 0000000..10b0d4b --- /dev/null +++ b/lambdas/api/requirements.txt @@ -0,0 +1 @@ +# Dependabot anchor only. The procurement-api Lambda is stdlib+boto3 (provided by the runtime); nothing is pip-installed into the bundle. diff --git a/lambdas/api/router.py b/lambdas/api/router.py new file mode 100644 index 0000000..8bf0539 --- /dev/null +++ b/lambdas/api/router.py @@ -0,0 +1,33 @@ +"""Route tables for the procurement API. + +Single source of truth for what the API implements: the spec-drift test +(tests/test_api_spec_drift.py) asserts these tables match lambdas/api/ +openapi.json exactly, so an endpoint can't be added, removed, or renamed on +one side without failing CI. Keys are (httpMethod, resource) as API Gateway's +Lambda-proxy event presents them (resource = the templated path). + +DATA_ROUTES values are handler-module attribute names resolved by handler.py. +PLANNED_ROUTES are phase-2 write endpoints: present in the spec (x-planned) +and at the gateway, but the handler answers 501 until they ship with their +own IAM diff + cross-family review. +""" + +DATA_ROUTES = { + ("GET", "/work-orders"): "list_work_orders", + ("GET", "/work-orders/{workOrderId}"): "get_work_order", + ("GET", "/work-orders/{workOrderId}/comments"): "list_comments", + ("GET", "/purchase-orders"): "list_purchase_orders", + ("GET", "/purchase-orders/{poNumber}"): "get_purchase_order", + ("GET", "/verified-sites"): "list_verified_sites", + ("GET", "/verified-sites/{siteCode}"): "get_verified_site", +} + +DOCS_ROUTES = { + ("GET", "/docs"), + ("GET", "/openapi.json"), +} + +PLANNED_ROUTES = { + ("POST", "/work-orders/{workOrderId}/comments"), + ("PATCH", "/work-orders/{workOrderId}"), +} diff --git a/lambdas/api/serialization.py b/lambdas/api/serialization.py new file mode 100644 index 0000000..a9271c2 --- /dev/null +++ b/lambdas/api/serialization.py @@ -0,0 +1,43 @@ +"""JSON response helpers for the procurement API. + +DynamoDB items come back through boto3 with numeric attributes as +``decimal.Decimal`` (e.g. purchase-orders ``total_amount``/``line_items`` +prices), which ``json.dumps`` rejects. The encoder below renders integral +Decimals as JSON integers (exact) and non-integral Decimals as floats. For the +values this API serves -- currency amounts at PO magnitudes, well under ~15 +significant digits -- the shortest-float repr round-trips the original digits +exactly. A Decimal carrying more precision than a float can hold (DynamoDB +Number supports 38 digits) would be truncated silently; the pipeline never +writes such values, but if that ever changes, switch non-integral Decimals to +``str(o)`` and update the OpenAPI number types. +""" + +import decimal +import json + + +class _DecimalSafeEncoder(json.JSONEncoder): + def default(self, o): + if isinstance(o, decimal.Decimal): + if o == o.to_integral_value(): + return int(o) + return float(o) + if isinstance(o, set): + return sorted(o) + return super().default(o) + + +def dumps(payload) -> str: + return json.dumps(payload, cls=_DecimalSafeEncoder) + + +def json_response(status_code: int, payload) -> dict: + return { + "statusCode": status_code, + "headers": {"Content-Type": "application/json"}, + "body": dumps(payload), + } + + +def error_response(status_code: int, message: str) -> dict: + return json_response(status_code, {"error": message}) diff --git a/lambdas/api/wo_repo.py b/lambdas/api/wo_repo.py new file mode 100644 index 0000000..3521468 --- /dev/null +++ b/lambdas/api/wo_repo.py @@ -0,0 +1,62 @@ +"""Read access to the work-order tables for the procurement API. + +Listing is a cursor-paginated Scan -- deliberately: the WO tables carry no +GSIs (removed 2026-06-03 for zero reads), and the API's list consumers +(SHOC reconciliation/backfill) walk the full table anyway, which is exactly +the access pattern SHOC's retired SyncController used. Listings are therefore +UNORDERED across pages; per-work-order comment listing is a cheap Query on +the partition key. +""" + +import os + +import boto3 +from boto3.dynamodb.conditions import Key + +from pagination import BadCursor, decode_cursor, encode_cursor + +dynamodb = boto3.resource("dynamodb") + +WORK_ORDERS_TABLE = os.environ.get("WORK_ORDERS_TABLE", "WorkOrders") +COMMENTS_TABLE = os.environ.get("COMMENTS_TABLE", "WorkOrderComments") + +WO_KEY_ATTRS = frozenset({"work_order_id"}) +COMMENT_KEY_ATTRS = frozenset({"work_order_id", "comment_id"}) + + +def _page(response) -> tuple[list, str | None]: + items = response.get("Items", []) + lek = response.get("LastEvaluatedKey") + return items, (encode_cursor(lek) if lek else None) + + +def list_work_orders(limit: int, cursor: str | None) -> tuple[list, str | None]: + table = dynamodb.Table(WORK_ORDERS_TABLE) + kwargs = {"Limit": limit} + if cursor: + kwargs["ExclusiveStartKey"] = decode_cursor(cursor, WO_KEY_ATTRS) + return _page(table.scan(**kwargs)) + + +def get_work_order(work_order_id: str) -> dict | None: + table = dynamodb.Table(WORK_ORDERS_TABLE) + return table.get_item(Key={"work_order_id": work_order_id}).get("Item") + + +def list_comments( + work_order_id: str, limit: int, cursor: str | None +) -> tuple[list, str | None]: + table = dynamodb.Table(COMMENTS_TABLE) + kwargs = { + "KeyConditionExpression": Key("work_order_id").eq(work_order_id), + "Limit": limit, + } + if cursor: + start_key = decode_cursor(cursor, COMMENT_KEY_ATTRS) + # Pin the cursor's partition to the path entity: a cursor minted for + # WO A must never resume WO B's Query (DynamoDB would reject the + # partition mismatch as a 500; reject it as a 400 here instead). + if start_key["work_order_id"] != work_order_id: + raise BadCursor("cursor is not valid") + kwargs["ExclusiveStartKey"] = start_key + return _page(table.query(**kwargs)) diff --git a/lambdas/shared/web_ui_auth.py b/lambdas/shared/web_ui_auth.py index 4b2d245..0359298 100644 --- a/lambdas/shared/web_ui_auth.py +++ b/lambdas/shared/web_ui_auth.py @@ -74,4 +74,8 @@ def is_authenticated(event: dict) -> bool: presented = auth[7:].strip() if not presented: return False - return hmac.compare_digest(presented, token) + # Compare as bytes: hmac.compare_digest raises TypeError on non-ASCII str + # operands, which a crafted token (?token=%C3%A9 or a non-ASCII header) + # would otherwise turn into an uncaught 500. Bytes always compare in + # constant time, so a non-matching token fails closed (401) instead. + return hmac.compare_digest(presented.encode("utf-8"), token.encode("utf-8")) diff --git a/pytest.ini b/pytest.ini index 9511b4a..1bacae8 100644 --- a/pytest.ini +++ b/pytest.ini @@ -12,6 +12,7 @@ addopts = --cov=lambdas/po/web_ui --cov=lambdas/wo/web_ui --cov=lambdas/po/site_extractor + --cov=lambdas/api --cov=lambdas/shared --cov-report=term-missing --cov-fail-under=80 diff --git a/scripts/post-deploy-smoke.sh b/scripts/post-deploy-smoke.sh index 9daffc2..5988a19 100755 --- a/scripts/post-deploy-smoke.sh +++ b/scripts/post-deploy-smoke.sh @@ -14,7 +14,7 @@ set -euo pipefail REGION="us-east-1" -FUNCTION_NAMES=("po-email-processor" "workorder-email-processor") +FUNCTION_NAMES=("po-email-processor" "workorder-email-processor" "procurement-api") HEALTHCHECK_PAYLOAD='{"healthcheck": true}' work_dir="$(mktemp -d)" diff --git a/tests/support/loader.py b/tests/support/loader.py index a826b78..ad959aa 100644 --- a/tests/support/loader.py +++ b/tests/support/loader.py @@ -50,6 +50,15 @@ _SIBLING_MODULES = ( "email_parsing", "emf", "web_ui_auth", + # procurement-api siblings (lambdas/api/): pagination/serialization/router + # have no sibling deps; wo_repo/po_repo import pagination, so they follow + # it. These names exist only under lambdas/api/, so the po/wo handler + # loads skip them via the exists() check. + "pagination", + "serialization", + "router", + "wo_repo", + "po_repo", "prompts", "template_parser", "derived_fields", diff --git a/tests/test_api_handlers.py b/tests/test_api_handlers.py new file mode 100644 index 0000000..ceb2280 --- /dev/null +++ b/tests/test_api_handlers.py @@ -0,0 +1,271 @@ +"""procurement-api handler tests (offline, fake Dynamo). + +Pins the auth seam both ways: docs routes fail closed on the shared token +(including the browser ?token= shim), while data routes must NOT consult the +token at all -- SigV4 authorization is API Gateway's job upstream, and a +handler-side token check there would break every legitimate SigV4 caller. +Also pins routing, 404/501/400 mapping, Decimal-safe serialization, and limit +clamping. +""" + +import json +from decimal import Decimal + +import pytest + +from tests.support import load_lambda_module + + +class _FakeTable: + def __init__(self, items): + self._items = items + self.last_kwargs = None + + def scan(self, **kwargs): + self.last_kwargs = kwargs + return {"Items": list(self._items)} + + def query(self, **kwargs): + self.last_kwargs = kwargs + return {"Items": list(self._items)} + + def get_item(self, Key): # noqa: N803 (boto3 kwarg name) + pk_attr, pk_val = next(iter(Key.items())) + for item in self._items: + if item.get(pk_attr) == pk_val: + return {"Item": item} + return {} + + +class _FakeDynamo: + def __init__(self, tables): + self.tables = tables + + def Table(self, name): # noqa: N802 (boto3 method name) + return self.tables[name] + + +def _event(method, resource, path_params=None, qs=None, headers=None): + return { + "httpMethod": method, + "resource": resource, + "pathParameters": path_params or {}, + "queryStringParameters": qs or {}, + "headers": headers or {}, + } + + +@pytest.fixture() +def api(monkeypatch): + mod = load_lambda_module("api", "handler") + wo_items = [ + { + "work_order_id": "11144580730", + "wo_status": "assigned", + "description": "Dock door 14", + } + ] + comment_items = [ + { + "work_order_id": "11144580730", + "comment_id": "11144580730#2026-01-01T00:00:00#abc123def456", + "text": "Vendor dispatched", + } + ] + po_items = [ + { + "po_number": "2D-22030794", + "total_amount": Decimal("123.45"), + "line_items": [{"quantity": Decimal("5"), "price": Decimal("24.69")}], + } + ] + site_items = [{"siteCode": "JFK8", "state": "NY", "poCount": Decimal("7")}] + + tables = { + mod.wo_repo.WORK_ORDERS_TABLE: _FakeTable(wo_items), + mod.wo_repo.COMMENTS_TABLE: _FakeTable(comment_items), + mod.po_repo.PO_TABLE: _FakeTable(po_items), + mod.po_repo.VERIFIED_SITES_TABLE: _FakeTable(site_items), + } + fake = _FakeDynamo(tables) + monkeypatch.setattr(mod.wo_repo, "dynamodb", fake) + monkeypatch.setattr(mod.po_repo, "dynamodb", fake) + return mod, fake + + +def test_healthcheck_short_circuits(api): + mod, _ = api + assert mod.handler({"healthcheck": True}, None) == {"healthcheck": "ok"} + + +def test_docs_fail_closed_without_token(api): + # No WEB_UI_AUTH_TOKEN_SECRET_ARN configured -> web_ui_auth returns None + # -> the docs routes must 401, not serve the spec. + mod, _ = api + for resource in ("/docs", "/openapi.json"): + response = mod.handler(_event("GET", resource), None) + assert response["statusCode"] == 401 + + +def test_docs_served_when_authenticated(api, monkeypatch): + mod, _ = api + monkeypatch.setattr(mod, "is_authenticated", lambda event: True) + docs = mod.handler(_event("GET", "/docs"), None) + assert docs["statusCode"] == 200 + assert docs["headers"]["Content-Type"].startswith("text/html") + assert "Procurement Ingest API" in docs["body"] + assert mod._SPEC_PLACEHOLDER not in docs["body"] + + spec = mod.handler(_event("GET", "/openapi.json"), None) + assert spec["statusCode"] == 200 + assert json.loads(spec["body"])["openapi"] == "3.1.0" + + +def test_token_query_shim_synthesizes_header(api, monkeypatch): + mod, _ = api + seen = {} + + def capture(event): + seen.update(event.get("headers") or {}) + return False + + monkeypatch.setattr(mod, "is_authenticated", capture) + original = _event("GET", "/docs", qs={"token": "sekrit"}) + mod.handler(original, None) + assert seen.get("x-auth-token") == "sekrit" + # The shim must not mutate the caller's event in place. + assert "x-auth-token" not in original["headers"] + + +def test_non_ascii_token_fails_closed_not_500(api): + # A non-ASCII presented token must 401 (fail closed), not crash + # hmac.compare_digest into a 500 that pages the 5xx alarm. Reach the + # web_ui_auth module namespace through the imported is_authenticated's + # globals and seed a valid cached token. + mod, _ = api + auth_globals = mod.is_authenticated.__globals__ + auth_globals["_auth_token_cache"] = "correct-token" + auth_globals["_auth_token_cached_at"] = float("inf") + try: + response = mod.handler( + _event("GET", "/docs", headers={"x-auth-token": "é"}), None + ) + assert response["statusCode"] == 401 + finally: + auth_globals["_auth_token_cache"] = None + auth_globals["_auth_token_cached_at"] = 0.0 + + +def test_data_routes_never_consult_docs_token(api, monkeypatch): + mod, _ = api + + def explode(event): + raise AssertionError("data routes must not consult the docs token") + + monkeypatch.setattr(mod, "is_authenticated", explode) + response = mod.handler(_event("GET", "/work-orders"), None) + assert response["statusCode"] == 200 + + +def test_list_and_get_routing(api): + mod, _ = api + listing = mod.handler(_event("GET", "/work-orders"), None) + body = json.loads(listing["body"]) + assert body["items"][0]["work_order_id"] == "11144580730" + assert body["next_cursor"] is None + + hit = mod.handler( + _event( + "GET", + "/work-orders/{workOrderId}", + path_params={"workOrderId": "11144580730"}, + ), + None, + ) + assert json.loads(hit["body"])["wo_status"] == "assigned" + + miss = mod.handler( + _event( + "GET", + "/work-orders/{workOrderId}", + path_params={"workOrderId": "999"}, + ), + None, + ) + assert miss["statusCode"] == 404 + + comments = mod.handler( + _event( + "GET", + "/work-orders/{workOrderId}/comments", + path_params={"workOrderId": "11144580730"}, + ), + None, + ) + assert json.loads(comments["body"])["items"][0]["text"] == "Vendor dispatched" + + sites = mod.handler( + _event( + "GET", + "/verified-sites/{siteCode}", + path_params={"siteCode": "JFK8"}, + ), + None, + ) + assert json.loads(sites["body"])["state"] == "NY" + + +def test_decimal_serialization_round_trips(api): + mod, _ = api + response = mod.handler( + _event( + "GET", + "/purchase-orders/{poNumber}", + path_params={"poNumber": "2D-22030794"}, + ), + None, + ) + body = json.loads(response["body"]) + assert body["total_amount"] == 123.45 + assert body["line_items"][0]["quantity"] == 5 + assert isinstance(body["line_items"][0]["quantity"], int) + assert "Decimal" not in response["body"] + + +def test_limit_clamped_to_bounds(api): + mod, fake = api + mod.handler(_event("GET", "/work-orders", qs={"limit": "9999"}), None) + assert fake.tables[mod.wo_repo.WORK_ORDERS_TABLE].last_kwargs["Limit"] == 500 + mod.handler(_event("GET", "/work-orders", qs={"limit": "0"}), None) + assert fake.tables[mod.wo_repo.WORK_ORDERS_TABLE].last_kwargs["Limit"] == 1 + + +def test_non_integer_limit_is_400(api): + mod, _ = api + response = mod.handler(_event("GET", "/work-orders", qs={"limit": "abc"}), None) + assert response["statusCode"] == 400 + + +def test_planned_routes_return_501(api): + mod, _ = api + for method, resource in mod.PLANNED_ROUTES: + response = mod.handler(_event(method, resource), None) + assert response["statusCode"] == 501, (method, resource) + + +def test_unknown_route_is_404(api): + mod, _ = api + response = mod.handler(_event("GET", "/nope"), None) + assert response["statusCode"] == 404 + + +def test_unexpected_error_maps_to_clean_500(api, monkeypatch): + mod, fake = api + + def boom(**kwargs): + raise RuntimeError("dynamo fell over") + + monkeypatch.setattr(fake.tables[mod.wo_repo.WORK_ORDERS_TABLE], "scan", boom) + response = mod.handler(_event("GET", "/work-orders"), None) + assert response["statusCode"] == 500 + assert json.loads(response["body"]) == {"error": "internal error"} diff --git a/tests/test_api_pagination_moto.py b/tests/test_api_pagination_moto.py new file mode 100644 index 0000000..10584ec --- /dev/null +++ b/tests/test_api_pagination_moto.py @@ -0,0 +1,232 @@ +"""Cursor pagination against real DynamoDB semantics (moto). + +The offline handler tests fake Dynamo, which can't exercise real +LastEvaluatedKey behavior. Here moto-backed tables with the production key +schemas prove: pages are disjoint and complete, the final page's next_cursor +is null, comment Query pagination respects the composite key, and hostile +cursors (garbage, wrong key attrs, huge) map to 400 -- never 500, never a raw +ExclusiveStartKey error. + +The repo modules build their boto3 resource at import time; a resource created +before mock_aws starts is NOT intercepted, so each test rebinds the modules' +``dynamodb`` to a fresh resource inside the mock (same trap as test_po_merge's +moto-before-handler ordering). +""" + +import base64 +import json + +import boto3 +import pytest +from moto import mock_aws + +from tests.support import load_lambda_module + + +def _event(method, resource, path_params=None, qs=None): + return { + "httpMethod": method, + "resource": resource, + "pathParameters": path_params or {}, + "queryStringParameters": qs or {}, + "headers": {}, + } + + +@pytest.fixture() +def api(monkeypatch): + with mock_aws(): + mod = load_lambda_module("api", "handler") + resource = boto3.resource("dynamodb", region_name="us-east-1") + monkeypatch.setattr(mod.wo_repo, "dynamodb", resource) + monkeypatch.setattr(mod.po_repo, "dynamodb", resource) + + resource.create_table( + TableName=mod.wo_repo.WORK_ORDERS_TABLE, + KeySchema=[{"AttributeName": "work_order_id", "KeyType": "HASH"}], + AttributeDefinitions=[ + {"AttributeName": "work_order_id", "AttributeType": "S"} + ], + BillingMode="PAY_PER_REQUEST", + ) + resource.create_table( + TableName=mod.wo_repo.COMMENTS_TABLE, + KeySchema=[ + {"AttributeName": "work_order_id", "KeyType": "HASH"}, + {"AttributeName": "comment_id", "KeyType": "RANGE"}, + ], + AttributeDefinitions=[ + {"AttributeName": "work_order_id", "AttributeType": "S"}, + {"AttributeName": "comment_id", "AttributeType": "S"}, + ], + BillingMode="PAY_PER_REQUEST", + ) + resource.create_table( + TableName=mod.po_repo.PO_TABLE, + KeySchema=[{"AttributeName": "po_number", "KeyType": "HASH"}], + AttributeDefinitions=[{"AttributeName": "po_number", "AttributeType": "S"}], + BillingMode="PAY_PER_REQUEST", + ) + resource.create_table( + TableName=mod.po_repo.VERIFIED_SITES_TABLE, + KeySchema=[{"AttributeName": "siteCode", "KeyType": "HASH"}], + AttributeDefinitions=[{"AttributeName": "siteCode", "AttributeType": "S"}], + BillingMode="PAY_PER_REQUEST", + ) + yield mod, resource + + +def _walk_pages(mod, resource_path, qs_extra=None, path_params=None, limit=5): + seen, pages = [], 0 + cursor = None + while True: + qs = {"limit": str(limit), **(qs_extra or {})} + if cursor: + qs["cursor"] = cursor + response = mod.handler( + _event("GET", resource_path, path_params=path_params, qs=qs), None + ) + assert response["statusCode"] == 200 + body = json.loads(response["body"]) + seen.extend(body["items"]) + pages += 1 + cursor = body["next_cursor"] + assert pages < 50, "pagination failed to terminate" + if cursor is None: + return seen, pages + + +def test_work_order_scan_pages_are_disjoint_and_complete(api): + mod, resource = api + table = resource.Table(mod.wo_repo.WORK_ORDERS_TABLE) + for i in range(12): + table.put_item(Item={"work_order_id": str(10000 + i), "wo_status": "new"}) + + items, pages = _walk_pages(mod, "/work-orders", limit=5) + ids = [item["work_order_id"] for item in items] + assert len(ids) == 12 + assert len(set(ids)) == 12 + assert pages >= 3 + + +def test_comment_query_pagination_composite_key(api): + mod, resource = api + table = resource.Table(mod.wo_repo.COMMENTS_TABLE) + for i in range(7): + table.put_item( + Item={ + "work_order_id": "555", + "comment_id": f"555#2026-01-0{i + 1}T00:00:00#{i:012d}", + "text": f"comment {i}", + } + ) + # A second work order's comments must never bleed into the page. + table.put_item( + Item={"work_order_id": "666", "comment_id": "666#x#0", "text": "other"} + ) + + items, _ = _walk_pages( + mod, + "/work-orders/{workOrderId}/comments", + path_params={"workOrderId": "555"}, + limit=3, + ) + assert len(items) == 7 + assert {item["work_order_id"] for item in items} == {"555"} + + +def test_purchase_order_and_site_pagination(api): + mod, resource = api + po_table = resource.Table(mod.po_repo.PO_TABLE) + for i in range(6): + po_table.put_item(Item={"po_number": f"2D-{i:08d}"}) + sites_table = resource.Table(mod.po_repo.VERIFIED_SITES_TABLE) + for code in ("JFK8", "WNY2", "UVA5"): + sites_table.put_item(Item={"siteCode": code}) + + po_items, _ = _walk_pages(mod, "/purchase-orders", limit=4) + assert len(po_items) == 6 + site_items, _ = _walk_pages(mod, "/verified-sites", limit=2) + assert {item["siteCode"] for item in site_items} == {"JFK8", "WNY2", "UVA5"} + + +@pytest.mark.parametrize( + "cursor", + [ + "not-base64!!!", + "aGVsbG8=", # base64("hello") -- not JSON-dict + "e30=", # base64("{}") -- empty dict + # base64 of {"evil_attr": "x"} -- key attr not allowed for this table + "eyJldmlsX2F0dHIiOiAieCJ9", + "A" * 3000, # oversized + ], +) +def test_hostile_cursor_is_400_not_500(api, cursor): + mod, resource = api + resource.Table(mod.wo_repo.WORK_ORDERS_TABLE).put_item(Item={"work_order_id": "1"}) + response = mod.handler(_event("GET", "/work-orders", qs={"cursor": cursor}), None) + assert response["statusCode"] == 400 + assert "error" in json.loads(response["body"]) + + +def _cursor(payload): + return base64.urlsafe_b64encode(json.dumps(payload).encode()).decode() + + +def test_partial_composite_cursor_is_400_not_500(api): + # A work-orders-shaped cursor {work_order_id} is a partial key for the + # comments Query (needs work_order_id+comment_id). Exact-key match rejects + # it as 400 rather than letting DynamoDB ValidationException -> 500. + mod, resource = api + resource.Table(mod.wo_repo.COMMENTS_TABLE).put_item( + Item={"work_order_id": "555", "comment_id": "555#x#0"} + ) + response = mod.handler( + _event( + "GET", + "/work-orders/{workOrderId}/comments", + path_params={"workOrderId": "555"}, + qs={"cursor": _cursor({"work_order_id": "555"})}, + ), + None, + ) + assert response["statusCode"] == 400 + + +def test_cross_work_order_comment_cursor_is_400(api): + # A full comments cursor minted for WO A must not resume WO B's Query. + mod, resource = api + response = mod.handler( + _event( + "GET", + "/work-orders/{workOrderId}/comments", + path_params={"workOrderId": "B"}, + qs={"cursor": _cursor({"work_order_id": "A", "comment_id": "A#x#0"})}, + ), + None, + ) + assert response["statusCode"] == 400 + + +def test_dynamodb_validation_error_maps_to_400(api, monkeypatch): + # Defense in depth: even if some crafted-but-valid cursor reached DynamoDB + # and raised ValidationException, the handler maps it to 400, not a 500 + # that would page the zero-threshold 5xx alarm. + from botocore.exceptions import ClientError + + mod, _ = api + + class _RaisingTable: + def scan(self, **kwargs): + raise ClientError( + {"Error": {"Code": "ValidationException", "Message": "bad key"}}, + "Scan", + ) + + monkeypatch.setattr( + mod.wo_repo, + "dynamodb", + type("D", (), {"Table": lambda self, n: _RaisingTable()})(), + ) + response = mod.handler(_event("GET", "/work-orders"), None) + assert response["statusCode"] == 400 diff --git a/tests/test_api_spec_drift.py b/tests/test_api_spec_drift.py new file mode 100644 index 0000000..531b32f --- /dev/null +++ b/tests/test_api_spec_drift.py @@ -0,0 +1,114 @@ +"""Spec <-> implementation drift gate. + +lambdas/api/openapi.json is the published contract; lambdas/api/router.py is +what the Lambda actually serves. This test makes them the SAME set: an +endpoint added/removed/renamed on one side without the other fails CI here, +so the docs page can never silently lie. Also pins the phase-2 x-planned +markers, the four outbound webhook events, and the enum values the spec +promises against the WO extraction contract (prompts.py). +""" + +import json +from pathlib import Path + +from tests.support import REPO_ROOT, load_lambda_module + +_SPEC_PATH = Path(REPO_ROOT) / "lambdas" / "api" / "openapi.json" + +_HTTP_METHODS = {"get", "put", "post", "patch", "delete", "head", "options"} + + +def _spec(): + return json.loads(_SPEC_PATH.read_text(encoding="utf-8")) + + +def _spec_routes(spec): + implemented, planned = set(), set() + for path, ops in spec["paths"].items(): + for method, op in ops.items(): + if method not in _HTTP_METHODS: + continue + key = (method.upper(), path) + if op.get("x-planned"): + planned.add(key) + else: + implemented.add(key) + return implemented, planned + + +def test_spec_is_openapi_31(): + assert _spec()["openapi"] == "3.1.0" + + +def test_implemented_routes_match_router_exactly(): + router = load_lambda_module("api", "router") + implemented, planned = _spec_routes(_spec()) + assert implemented == set(router.DATA_ROUTES) | set(router.DOCS_ROUTES) + assert planned == set(router.PLANNED_ROUTES) + + +def test_every_data_route_has_a_repo_function(): + router = load_lambda_module("api", "router") + handler = load_lambda_module("api", "handler") + assert set(router.DATA_ROUTES.values()) == set(handler._REPO_FUNCS) + + +def test_webhooks_section_documents_all_four_events(): + spec = _spec() + assert set(spec["webhooks"]) == { + "work_order.created", + "work_order.updated", + "work_order.cancelled", + "work_order.comment_added", + } + for ops in spec["webhooks"].values(): + assert "post" in ops + + +def test_spec_enums_match_wo_extraction_contract(): + # The WO pipeline's prompts.py is the enum source of truth (the webhook + # contract pins it too). If the pipeline ever widens wo_status or + # record_type, the published spec must move in the same PR. + prompts = load_lambda_module("wo", "email_processor/prompts") + prompt_text = prompts.EXTRACTION_PROMPT + spec = _spec() + schemas = spec["components"]["schemas"] + + wo_status_enum = { + value + for value in schemas["WorkOrder"]["properties"]["wo_status"]["enum"] + if value is not None + } + record_type_enum = { + value + for value in schemas["WorkOrder"]["properties"]["record_type"]["enum"] + if value is not None + } + for value in wo_status_enum - {"unknown"}: + assert value in prompt_text, f"wo_status {value!r} not in extraction prompt" + for value in record_type_enum: + assert value in prompt_text, f"record_type {value!r} not in extraction prompt" + + event_data = schemas["WorkOrderEventData"]["properties"] + assert set(event_data["wo_status"]["enum"]) == set( + schemas["WorkOrder"]["properties"]["wo_status"]["enum"] + ) + + +def test_spec_has_no_script_breakout_sequence(): + # The spec is inlined into a +
+ + diff --git a/lambdas/api/handler.py b/lambdas/api/handler.py index 283bcb8..ca9a91b 100644 --- a/lambdas/api/handler.py +++ b/lambdas/api/handler.py @@ -27,13 +27,24 @@ logger.setLevel(logging.INFO) _MODULE_DIR = Path(__file__).resolve().parent _SPEC_PATH = _MODULE_DIR / "openapi.json" _DOCS_PATH = _MODULE_DIR / "docs.html" -# The docs page template carries this placeholder where the spec JSON is -# inlined, so /docs is a single token-gated request (a browser can't attach -# the auth header to a follow-up asset fetch). +_SWAGGER_CSS_PATH = _MODULE_DIR / "swagger-ui.css" +_SWAGGER_JS_PATH = _MODULE_DIR / "swagger-ui-bundle.js" +_SWAGGER_PRESET_PATH = _MODULE_DIR / "swagger-ui-standalone-preset.js" +# The docs page template carries these placeholders, filled server-side so +# /docs is a single token-gated request (a browser can't attach the auth +# header to a follow-up asset fetch) with the stock Swagger UI + spec inlined, +# no CDN. _SPEC_PLACEHOLDER = "__OPENAPI_SPEC_JSON__" +_CSS_PLACEHOLDER = "__SWAGGER_UI_CSS__" +_JS_PLACEHOLDER = "__SWAGGER_UI_JS__" +_PRESET_PLACEHOLDER = "__SWAGGER_UI_STANDALONE_PRESET_JS__" _spec_cache = None -_docs_cache = None +_docs_shell_cache = None +# The server URL committed in openapi.json; swapped for the live invoke URL +# (derived from the request) when the spec is served, so the docs page shows a +# correct, current endpoint even if the RestApi is recreated. +_COMMITTED_SERVER_URL = "https://mvul1efda2.execute-api.us-east-1.amazonaws.com/prod" _REPO_FUNCS = { "list_work_orders": wo_repo.list_work_orders, @@ -63,26 +74,63 @@ _DOCS_SECURITY_HEADERS = { def _load_spec() -> str: - """Raw spec bytes, served verbatim at /openapi.json (byte-faithful JSON).""" + """The committed spec text (cached).""" global _spec_cache if _spec_cache is None: _spec_cache = _SPEC_PATH.read_text(encoding="utf-8") return _spec_cache -def _load_docs_html() -> str: - global _docs_cache - if _docs_cache is None: - # Neutralize any " block - # where the HTML parser ends the element at the first literal "<" - # sequence regardless of JSON quoting. "<" is the same JSON - # string value ("<") to JSON.parse but can never close the script tag. - inlined_spec = _load_spec().replace("<", "\\u003c") - _docs_cache = _DOCS_PATH.read_text(encoding="utf-8").replace( - _SPEC_PLACEHOLDER, inlined_spec +def _base_url(event: dict) -> str | None: + rc = event.get("requestContext") or {} + domain, stage = rc.get("domainName"), rc.get("stage") + return f"https://{domain}/{stage}" if domain and stage else None + + +def _spec_for_request(event: dict) -> str: + """Committed spec with servers[0].url set to the live invoke URL when the + request context provides it (falls back to the committed literal).""" + raw = _load_spec() + base = _base_url(event) + return raw.replace(_COMMITTED_SERVER_URL, base) if base else raw + + +def _docs_shell() -> str: + """The Swagger UI page with the vendored CSS/JS/preset inlined; the SPEC + placeholder is left intact so the per-request server-injected spec splices + in cheaply (the heavy ~1.8MB assets are assembled once and cached). + + Each blob is spliced into a -
- - +
+ diff --git a/lambdas/api/handler.py b/lambdas/api/handler.py index ca9a91b..e1b2172 100644 --- a/lambdas/api/handler.py +++ b/lambdas/api/handler.py @@ -27,17 +27,13 @@ logger.setLevel(logging.INFO) _MODULE_DIR = Path(__file__).resolve().parent _SPEC_PATH = _MODULE_DIR / "openapi.json" _DOCS_PATH = _MODULE_DIR / "docs.html" -_SWAGGER_CSS_PATH = _MODULE_DIR / "swagger-ui.css" -_SWAGGER_JS_PATH = _MODULE_DIR / "swagger-ui-bundle.js" -_SWAGGER_PRESET_PATH = _MODULE_DIR / "swagger-ui-standalone-preset.js" +_REDOC_JS_PATH = _MODULE_DIR / "redoc.standalone.js" # The docs page template carries these placeholders, filled server-side so # /docs is a single token-gated request (a browser can't attach the auth -# header to a follow-up asset fetch) with the stock Swagger UI + spec inlined, -# no CDN. +# header to a follow-up asset fetch) with the vendored Redoc bundle + spec +# inlined, no CDN. _SPEC_PLACEHOLDER = "__OPENAPI_SPEC_JSON__" -_CSS_PLACEHOLDER = "__SWAGGER_UI_CSS__" -_JS_PLACEHOLDER = "__SWAGGER_UI_JS__" -_PRESET_PLACEHOLDER = "__SWAGGER_UI_STANDALONE_PRESET_JS__" +_JS_PLACEHOLDER = "__REDOC_JS__" _spec_cache = None _docs_shell_cache = None @@ -96,39 +92,30 @@ def _spec_for_request(event: dict) -> str: def _docs_shell() -> str: - """The Swagger UI page with the vendored CSS/JS/preset inlined; the SPEC - placeholder is left intact so the per-request server-injected spec splices - in cheaply (the heavy ~1.8MB assets are assembled once and cached). + """The Redoc page with the vendored bundle inlined; the SPEC placeholder + is left intact so the per-request server-injected spec splices in cheaply + (the heavy ~1.1MB bundle is assembled once and cached). - Each blob is spliced into a "},this.getStyleTags=function(){return e.sealed?Ki(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return Ki(2);var n=((t={})[Wi]="",t["data-styled-version"]="5.3.11",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),i=ao();return i&&(n.nonce=i),[r.createElement("style",Di({},n,{key:"sc-0-0"}))]},this.seal=function(){e.sealed=!0},this.instance=new mo({isServer:!0}),this.sealed=!1}.prototype).collectStyles=function(e){return this.sealed?Ki(2):r.createElement(No,{sheet:this.instance},e)},os.interleaveWithNodeStream=function(e){return Ki(3)};var cs=is;const{Ay:us,AH:ps,DU:ds,i7:fs,NP:hs}=e,ms={lessThan(e,t,r){return(...n)=>ps` + @media ${t?"print, ":""} screen and (max-width: ${t=>t.theme.breakpoints[e]}) ${r||""} { + ${ps(...n)}; + } + `},greaterThan(e){return(...t)=>ps` + @media (min-width: ${t=>t.theme.breakpoints[e]}) { + ${ps(...t)}; + } + `},between(e,t){return(...r)=>ps` + @media (min-width: ${t=>t.theme.breakpoints[e]}) and (max-width: ${e=>e.theme.breakpoints[t]}) { + ${ps(...r)}; + } + `}};var gs=us;function ys(e){return t=>{if(t.theme.extensionsHook)return t.theme.extensionsHook(e,t)}}const bs=gs.div` + padding: 20px; + color: red; +`;class vs extends r.Component{constructor(e){super(e),this.state={error:void 0}}componentDidCatch(e){return this.setState({error:e}),!1}render(){return this.state.error?r.createElement(bs,null,r.createElement("h1",null,"Something went wrong..."),r.createElement("small",null," ",this.state.error.message," "),r.createElement("p",null,r.createElement("details",null,r.createElement("summary",null,"Stack trace"),r.createElement("pre",null,this.state.error.stack))),r.createElement("small",null," ReDoc Version: ","2.5.3")," ",r.createElement("br",null),r.createElement("small",null," Commit: ","1b2591e")):r.createElement(r.Fragment,null,r.Children.only(this.props.children))}}const xs=fs` + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); + } +`,ws=gs(e=>r.createElement("svg",{className:e.className,version:"1.1",width:"512",height:"512",viewBox:"0 0 512 512"},r.createElement("path",{d:"M275.682 147.999c0 10.864-8.837 19.661-19.682 19.661v0c-10.875 0-19.681-8.796-19.681-19.661v-96.635c0-10.885 8.806-19.661 19.681-19.661v0c10.844 0 19.682 8.776 19.682 19.661v96.635z"}),r.createElement("path",{d:"M275.682 460.615c0 10.865-8.837 19.682-19.682 19.682v0c-10.875 0-19.681-8.817-19.681-19.682v-96.604c0-10.885 8.806-19.681 19.681-19.681v0c10.844 0 19.682 8.796 19.682 19.682v96.604z"}),r.createElement("path",{d:"M147.978 236.339c10.885 0 19.681 8.755 19.681 19.641v0c0 10.885-8.796 19.702-19.681 19.702h-96.624c-10.864 0-19.661-8.817-19.661-19.702v0c0-10.885 8.796-19.641 19.661-19.641h96.624z"}),r.createElement("path",{d:"M460.615 236.339c10.865 0 19.682 8.755 19.682 19.641v0c0 10.885-8.817 19.702-19.682 19.702h-96.584c-10.885 0-19.722-8.817-19.722-19.702v0c0-10.885 8.837-19.641 19.722-19.641h96.584z"}),r.createElement("path",{d:"M193.546 165.703c7.69 7.66 7.68 20.142 0 27.822v0c-7.701 7.701-20.162 7.701-27.853 0.020l-68.311-68.322c-7.68-7.701-7.68-20.142 0-27.863v0c7.68-7.68 20.121-7.68 27.822 0l68.342 68.342z"}),r.createElement("path",{d:"M414.597 386.775c7.7 7.68 7.7 20.163 0.021 27.863v0c-7.7 7.659-20.142 7.659-27.843-0.062l-68.311-68.26c-7.68-7.7-7.68-20.204 0-27.863v0c7.68-7.7 20.163-7.7 27.842 0l68.291 68.322z"}),r.createElement("path",{d:"M165.694 318.464c7.69-7.7 20.153-7.7 27.853 0v0c7.68 7.659 7.69 20.163 0 27.863l-68.342 68.322c-7.67 7.659-20.142 7.659-27.822-0.062v0c-7.68-7.68-7.68-20.122 0-27.801l68.311-68.322z"}),r.createElement("path",{d:"M386.775 97.362c7.7-7.68 20.142-7.68 27.822 0v0c7.7 7.68 7.7 20.183 0.021 27.863l-68.322 68.311c-7.68 7.68-20.163 7.68-27.843-0.020v0c-7.68-7.68-7.68-20.162 0-27.822l68.322-68.332z"})))` + animation: 2s ${xs} linear infinite; + width: 50px; + height: 50px; + content: ''; + display: inline-block; + margin-left: -25px; + + path { + fill: ${e=>e.color}; + } +`,ks=gs.div` + font-family: helvetica, sans; + width: 100%; + text-align: center; + font-size: 25px; + margin: 30px 0 20px 0; + color: ${e=>e.color}; +`;class Ss extends r.PureComponent{render(){return r.createElement("div",{style:{textAlign:"center"}},r.createElement(ks,{color:this.props.color},"Loading ..."),r.createElement(ws,{color:this.props.color}))}}var Es=n(5556);const Os=r.createContext(new _i({})),_s=Os.Provider,Ps=Os.Consumer;var $s=n(854),As=n(8921),Cs=n(65);var js=n(5156),Ts=n(228),Ns=n(1095),Is=n.n(Ns);const Rs=Ns.parse;class Ls{static baseName(e,t=1){const r=Ls.parse(e);return r[r.length-t]}static dirName(e,t=1){const r=Ls.parse(e);return Ns.compile(r.slice(0,r.length-t))}static relative(e,t){const r=Ls.parse(e);return Ls.parse(t).slice(r.length)}static parse(e){let t=e;return"#"===t.charAt(0)&&(t=t.substring(1)),Rs(t)}static join(e,t){const r=Ls.parse(e).concat(t);return Ns.compile(r)}static get(e,t){return Ns.get(e,t)}static compile(e){return Ns.compile(e)}static escape(e){return Ns.escape(e)}}Ns.parse=Ls.parse,Object.assign(Ls,Ns);var Ds=n(7975),Ms=n(8769),zs=Object.defineProperty,Fs=Object.defineProperties,Bs=Object.getOwnPropertyDescriptors,Us=Object.getOwnPropertySymbols,qs=Object.prototype.hasOwnProperty,Vs=Object.prototype.propertyIsEnumerable,Ws=(e,t,r)=>t in e?zs(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Hs=(e,t)=>{for(var r in t||(t={}))qs.call(t,r)&&Ws(e,r,t[r]);if(Us)for(var r of Us(t))Vs.call(t,r)&&Ws(e,r,t[r]);return e},Gs=(e,t)=>Fs(e,Bs(t));function Ys(e){return"string"==typeof e&&/\dxx/i.test(e)}function Ks(e,t=!1){if("default"===e)return t?"error":"success";let r="string"==typeof e?parseInt(e,10):e;if(Ys(e)&&(r*=100),r<100||r>599)throw new Error("invalid HTTP code");let n="success";return r>=300&&r<400?n="redirect":r>=400?n="error":r<200&&(n="info"),n}const Qs={get:!0,post:!0,put:!0,head:!0,patch:!0,delete:!0,options:!0,$ref:!0};function Xs(e){return e in Qs}const Js={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",contentEncoding:"string",contentMediaType:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",unevaluatedProperties:"object",properties:"object",patternProperties:"object"};function Zs(e,t=e.type){if(e["x-circular-ref"])return!0;if(void 0!==e.oneOf||void 0!==e.anyOf)return!1;if(e.if&&e.then||e.if&&e.else)return!1;let r=!0;const n=pi(t);return("object"===t||n&&(null==t?void 0:t.includes("object")))&&(r=void 0!==e.properties?0===Object.keys(e.properties).length:void 0===e.additionalProperties&&void 0===e.unevaluatedProperties&&void 0===e.patternProperties),!pi(e.items)&&!pi(e.prefixItems)&&(void 0!==e.items&&!di(e.items)&&("array"===t||n&&(null==t?void 0:t.includes("array")))&&(r=Zs(e.items,e.items.type)),r)}function ea(e){return-1!==e.search(/json/i)}function ta(e,t,r){return pi(e)?e.map(e=>e.toString()).join(r):"object"==typeof e?Object.keys(e).map(t=>`${t}${r}${e[t]}`).join(r):t+"="+e.toString()}function ra(e,t){return pi(e)?(console.warn("deepObject style cannot be used with array value:"+e.toString()),""):"object"==typeof e?Object.keys(e).map(r=>`${t}[${r}]=${e[r]}`).join("&"):(console.warn("deepObject style cannot be used with non-object value:"+e.toString()),"")}function na(e,t,r){const n="__redoc_param_name__",i=t?"*":"";return Ms.parse(`{?${n}${i}}`).expand({[n]:r}).substring(1).replace(/__redoc_param_name__/g,e)}function ia(e,t){return ea(t)?JSON.stringify(e):(console.warn(`Parameter serialization as ${t} is not supported`),"")}function oa(e,t){return e.in?decodeURIComponent(function(e,t){const{name:r,style:n,explode:i=!1,serializationMime:o}=e;if(o)switch(e.in){case"path":case"header":return ia(t,o);case"cookie":case"query":return`${r}=${ia(t,o)}`;default:return console.warn("Unexpected parameter location: "+e.in),""}if(!n)return console.warn(`Missing style attribute or content for parameter ${r}`),"";switch(e.in){case"path":return function(e,t,r,n){const i=r?"*":"";let o="";"label"===t?o=".":"matrix"===t&&(o=";");const s="__redoc_param_name__";return Ms.parse(`{${o}${s}${i}}`).expand({[s]:n}).replace(/__redoc_param_name__/g,e)}(r,n,i,t);case"query":return function(e,t,r,n){switch(t){case"form":return na(e,r,n);case"spaceDelimited":return pi(n)?r?na(e,r,n):`${e}=${n.join("%20")}`:(console.warn("The style spaceDelimited is only applicable to arrays"),"");case"pipeDelimited":return pi(n)?r?na(e,r,n):`${e}=${n.join("|")}`:(console.warn("The style pipeDelimited is only applicable to arrays"),"");case"deepObject":return!r||pi(n)||"object"!=typeof n?(console.warn("The style deepObject is only applicable for objects with explode=true"),""):ra(n,e);default:return console.warn("Unexpected style for query: "+t),""}}(r,n,i,t);case"header":return function(e,t,r){if("simple"===e){const e=t?"*":"",n="__redoc_param_name__",i=Ms.parse(`{${n}${e}}`);return decodeURIComponent(i.expand({[n]:r}))}return console.warn("Unexpected style for header: "+e),""}(n,i,t);case"cookie":return function(e,t,r,n){return"form"===t?na(e,r,n):(console.warn("Unexpected style for cookie: "+t),"")}(r,n,i,t);default:return console.warn("Unexpected parameter location: "+e.in),""}}(e,t)):"object"==typeof t?t:String(t)}const sa=/^#\/components\/(schemas|pathItems)\/([^/]+)$/;function aa(e){return sa.test(e||"")}function la(e){var t;const[r]=(null==(t=null==e?void 0:e.match(sa))?void 0:t.reverse())||[];return r}function ca(e,t,r){let n;return void 0!==t&&void 0!==r?n=t===r?`= ${t} ${e}`:`[ ${t} .. ${r} ] ${e}`:void 0!==r?n=`<= ${r} ${e}`:void 0!==t&&(n=1===t?"non-empty":`>= ${t} ${e}`),n}function ua(e){const t=[],r=ca("characters",e.minLength,e.maxLength);void 0!==r&&t.push(r);const n=ca("items",e.minItems,e.maxItems);void 0!==n&&t.push(n);const i=ca("properties",e.minProperties,e.maxProperties);void 0!==i&&t.push(i);const o=function(e){if(void 0===e)return;const t=e.toString(10);return/^0\.0*1$/.test(t)?`decimal places <= ${t.split(".")[1].length}`:`multiple of ${t}`}(e.multipleOf);void 0!==o&&t.push(o);const s=function(e){var t,r;const n="number"==typeof e.exclusiveMinimum?Math.min(e.exclusiveMinimum,null!=(t=e.minimum)?t:1/0):e.minimum,i="number"==typeof e.exclusiveMaximum?Math.max(e.exclusiveMaximum,null!=(r=e.maximum)?r:-1/0):e.maximum,o="number"==typeof e.exclusiveMinimum||e.exclusiveMinimum,s="number"==typeof e.exclusiveMaximum||e.exclusiveMaximum;return void 0!==n&&void 0!==i?`${o?"( ":"[ "}${n} .. ${i}${s?" )":" ]"}`:void 0!==i?`${s?"< ":"<= "}${i}`:void 0!==n?`${o?"> ":">= "}${n}`:void 0}(e);return void 0!==s&&t.push(s),e.uniqueItems&&t.push("unique"),t}function pa(e,t=[]){const r=[],n=[],i=[];return e.forEach(e=>{e.required?t.includes(e.name)?n.push(e):i.push(e):r.push(e)}),n.sort((e,r)=>t.indexOf(e.name)-t.indexOf(r.name)),[...n,...i,...r]}function da(e,t){return[...e].sort((e,r)=>e[t].localeCompare(r[t]))}function fa(e,t){const r=void 0===e?function(e){try{const t=ci(e);return t.search="",t.hash="",t.toString()}catch(t){return e}}((()=>{if(!Qn)return"";const e=window.location.href;return e.endsWith(".html")?(0,Ds.dirname)(e):e})()):(0,Ds.dirname)(e);return 0===t.length&&(t=[{url:"/"}]),t.map(e=>{return Gs(Hs({},e),{url:(t=e.url,function(e,t){let r;if(t.startsWith("//"))try{r=`${new URL(e).protocol||"https:"}${t}`}catch(e){r=`https:${t}`}else if(function(e){return/(?:^[a-z][a-z0-9+.-]*:|\/\/)/i.test(e)}(t))r=t;else if(t.startsWith("/"))try{const n=new URL(e);n.pathname=t,r=n.href}catch(e){r=t}else r=ni(e)+"/"+t;return ni(r)}(r,t)),description:e.description||""});var t})}const ha="SecurityDefinitions",ma="security-definitions",ga="SchemaDefinition";let ya="section/Authentication/";const ba=e=>({delete:"del",options:"opts"}[e]||e);function va(e,t){return Object.keys(e).filter(e=>!0===t?e.startsWith("x-")&&!function(e){return e in{"x-circular-ref":!0,"x-parentRefs":!0,"x-refsStack":!0,"x-code-samples":!0,"x-codeSamples":!0,"x-displayName":!0,"x-examples":!0,"x-enumDescriptions":!0,"x-logo":!0,"x-nullable":!0,"x-servers":!0,"x-tagGroups":!0,"x-traitTag":!0,"x-badges":!0,"x-additionalPropertiesName":!0,"x-explicitMappingOnly":!0}}(e):e.startsWith("x-")&&t.indexOf(e)>-1).reduce((t,r)=>(t[r]=e[r],t),{})}var xa=n(8848);n(7022),n(271),n(5624),n(4511),n(2415),n(5651),n(6378),n(4784),n(6976),n(64),n(9700),n(4312),n(596),n(2821),n(3554),n(2342),n(4113),n(1648),n(4252),n(6966),n(4793),n(83),n(2630);const wa="clike";function ka(e,t=wa){t=t.toLowerCase();let r=xa.languages[t];return r||(r=xa.languages[function(e){return{json:"js","c++":"cpp","c#":"csharp","objective-c":"objectivec",shell:"bash",viml:"vim"}[e]||wa}(t)]),xa.highlight(e.toString(),r,t)}xa.languages.insertBefore("javascript","string",{"property string":{pattern:/([{,]\s*)"(?:\\.|[^\\"\r\n])*"(?=\s*:)/i,lookbehind:!0}},void 0),xa.languages.insertBefore("javascript","punctuation",{property:{pattern:/([{,]\s*)[a-z]\w*(?=\s*:)/i,lookbehind:!0}},void 0);var Sa=Object.defineProperty,Ea=Object.defineProperties,Oa=Object.getOwnPropertyDescriptors,_a=Object.getOwnPropertySymbols,Pa=Object.prototype.hasOwnProperty,$a=Object.prototype.propertyIsEnumerable,Aa=(e,t,r)=>t in e?Sa(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Ca=(e,t)=>{for(var r in t||(t={}))Pa.call(t,r)&&Aa(e,r,t[r]);if(_a)for(var r of _a(t))$a.call(t,r)&&Aa(e,r,t[r]);return e},ja=(e,t)=>Ea(e,Oa(t));const Ta={};function Na(e,t,r){if("function"==typeof r.value)return function(e,t,r){if(!r.value||r.value.length>0)throw new Error("@memoize decorator can only be applied to methods of zero arguments");const n=`_memoized_${t}`,i=r.value;return e[n]=Ta,ja(Ca({},r),{value(){return this[n]===Ta&&(this[n]=i.call(this)),this[n]}})}(e,t,r);if("function"==typeof r.get)return function(e,t,r){const n=`_memoized_${t}`,i=r.get;return e[n]=Ta,ja(Ca({},r),{get(){return this[n]===Ta&&(this[n]=i.call(this)),this[n]}})}(e,t,r);throw new Error("@memoize decorator can be applied to methods or getters, got "+String(r.value)+" instead")}function Ia(e){let t=1;return"-"===e[0]&&(t=-1,e=e.substr(1)),(r,n)=>-1==t?n[e].localeCompare(r[e]):r[e].localeCompare(n[e])}var Ra=Object.defineProperty,La=Object.getOwnPropertyDescriptor;const Da="hashchange";class Ma{constructor(){this.emit=()=>{this._emiter.emit(Da,this.currentId)},this._emiter=new Ts,this.bind()}get currentId(){return Qn?decodeURIComponent(window.location.hash.substring(1)):""}linkForId(e){return e?"#"+e:""}subscribe(e){const t=this._emiter.addListener(Da,e);return()=>t.removeListener(Da,e)}bind(){Qn&&window.addEventListener("hashchange",this.emit,!1)}dispose(){Qn&&window.removeEventListener("hashchange",this.emit)}replace(e,t=!1){Qn&&null!=e&&e!==this.currentId&&(t?window.history.replaceState(null,"",window.location.href.split("#")[0]+this.linkForId(e)):(window.history.pushState(null,"",window.location.href.split("#")[0]+this.linkForId(e)),this.emit()))}}((e,t,r)=>{for(var n,i=La(t,r),o=e.length-1;o>=0;o--)(n=e[o])&&(i=n(t,r,i)||i);i&&Ra(t,r,i)})([js.bind,js.debounce],Ma.prototype,"replace");const za=new Ma;var Fa=n(689);class Ba{constructor(){this.map=new Map,this.prevTerm=""}add(e){this.map.set(e,new Fa(e))}delete(e){this.map.delete(e)}addOnly(e){this.map.forEach((t,r)=>{-1===e.indexOf(r)&&(t.unmark(),this.map.delete(r))});for(const t of e)this.map.has(t)||this.map.set(t,new Fa(t))}clearAll(){this.unmark(),this.map.clear()}mark(e){(e||this.prevTerm)&&(this.map.forEach(t=>{t.unmark(),t.mark(e||this.prevTerm)}),this.prevTerm=e||this.prevTerm)}unmark(){this.map.forEach(e=>e.unmark()),this.prevTerm=""}}let Ua={async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};const qa=/[&<>"']/,Va=new RegExp(qa.source,"g"),Wa=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,Ha=new RegExp(Wa.source,"g"),Ga={"&":"&","<":"<",">":">",'"':""","'":"'"},Ya=e=>Ga[e];function Ka(e,t){if(t){if(qa.test(e))return e.replace(Va,Ya)}else if(Wa.test(e))return e.replace(Ha,Ya);return e}const Qa=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function Xa(e){return e.replace(Qa,(e,t)=>"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):"")}const Ja=/(^|[^\[])\^/g;function Za(e,t){e="string"==typeof e?e:e.source,t=t||"";const r={replace:(t,n)=>(n=(n=n.source||n).replace(Ja,"$1"),e=e.replace(t,n),r),getRegex:()=>new RegExp(e,t)};return r}const el=/[^\w:]/g,tl=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function rl(e,t,r){if(e){let e;try{e=decodeURIComponent(Xa(r)).replace(el,"").toLowerCase()}catch(e){return null}if(0===e.indexOf("javascript:")||0===e.indexOf("vbscript:")||0===e.indexOf("data:"))return null}t&&!tl.test(r)&&(r=function(e,t){nl[" "+e]||(il.test(e)?nl[" "+e]=e+"/":nl[" "+e]=cl(e,"/",!0));const r=-1===(e=nl[" "+e]).indexOf(":");return"//"===t.substring(0,2)?r?t:e.replace(ol,"$1")+t:"/"===t.charAt(0)?r?t:e.replace(sl,"$1")+t:e+t}(t,r));try{r=encodeURI(r).replace(/%25/g,"%")}catch(e){return null}return r}const nl={},il=/^[^:]+:\/*[^/]*$/,ol=/^([^:]+:)[\s\S]*$/,sl=/^([^:]+:\/*[^/]*)[\s\S]*$/,al={exec:function(){}};function ll(e,t){const r=e.replace(/\|/g,(e,t,r)=>{let n=!1,i=t;for(;--i>=0&&"\\"===r[i];)n=!n;return n?"|":" |"}).split(/ \|/);let n=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),r.length>t)r.splice(t);else for(;r.length1;)1&t&&(r+=e),t>>=1,e+=e;return r+e}function pl(e,t,r,n){const i=t.href,o=t.title?Ka(t.title):null,s=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){n.state.inLink=!0;const e={type:"link",raw:r,href:i,title:o,text:s,tokens:n.inlineTokens(s)};return n.state.inLink=!1,e}return{type:"image",raw:r,href:i,title:o,text:Ka(s)}}class dl{constructor(e){this.options=e||Ua}space(e){const t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}code(e){const t=this.rules.block.code.exec(e);if(t){const e=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:cl(e,"\n")}}}fences(e){const t=this.rules.block.fences.exec(e);if(t){const e=t[0],r=function(e,t){const r=e.match(/^(\s+)(?:```)/);if(null===r)return t;const n=r[1];return t.split("\n").map(e=>{const t=e.match(/^\s+/);if(null===t)return e;const[r]=t;return r.length>=n.length?e.slice(n.length):e}).join("\n")}(e,t[3]||"");return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:r}}}heading(e){const t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(/#$/.test(e)){const t=cl(e,"#");this.options.pedantic?e=t.trim():t&&!/ $/.test(t)||(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){const t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}blockquote(e){const t=this.rules.block.blockquote.exec(e);if(t){const e=t[0].replace(/^ *>[ \t]?/gm,""),r=this.lexer.state.top;this.lexer.state.top=!0;const n=this.lexer.blockTokens(e);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:n,text:e}}}list(e){let t=this.rules.block.list.exec(e);if(t){let r,n,i,o,s,a,l,c,u,p,d,f,h=t[1].trim();const m=h.length>1,g={type:"list",raw:"",ordered:m,start:m?+h.slice(0,-1):"",loose:!1,items:[]};h=m?`\\d{1,9}\\${h.slice(-1)}`:`\\${h}`,this.options.pedantic&&(h=m?h:"[*+-]");const y=new RegExp(`^( {0,3}${h})((?:[\t ][^\\n]*)?(?:\\n|$))`);for(;e&&(f=!1,t=y.exec(e))&&!this.rules.block.hr.test(e);){if(r=t[0],e=e.substring(r.length),c=t[2].split("\n",1)[0].replace(/^\t+/,e=>" ".repeat(3*e.length)),u=e.split("\n",1)[0],this.options.pedantic?(o=2,d=c.trimLeft()):(o=t[2].search(/[^ ]/),o=o>4?1:o,d=c.slice(o),o+=t[1].length),a=!1,!c&&/^ *$/.test(u)&&(r+=u+"\n",e=e.substring(u.length+1),f=!0),!f){const t=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),n=new RegExp(`^ {0,${Math.min(3,o-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),i=new RegExp(`^ {0,${Math.min(3,o-1)}}(?:\`\`\`|~~~)`),s=new RegExp(`^ {0,${Math.min(3,o-1)}}#`);for(;e&&(p=e.split("\n",1)[0],u=p,this.options.pedantic&&(u=u.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!i.test(u))&&!s.test(u)&&!t.test(u)&&!n.test(e);){if(u.search(/[^ ]/)>=o||!u.trim())d+="\n"+u.slice(o);else{if(a)break;if(c.search(/[^ ]/)>=4)break;if(i.test(c))break;if(s.test(c))break;if(n.test(c))break;d+="\n"+u}a||u.trim()||(a=!0),r+=p+"\n",e=e.substring(p.length+1),c=u.slice(o)}}g.loose||(l?g.loose=!0:/\n *\n *$/.test(r)&&(l=!0)),this.options.gfm&&(n=/^\[[ xX]\] /.exec(d),n&&(i="[ ] "!==n[0],d=d.replace(/^\[[ xX]\] +/,""))),g.items.push({type:"list_item",raw:r,task:!!n,checked:i,loose:!1,text:d}),g.raw+=r}g.items[g.items.length-1].raw=r.trimRight(),g.items[g.items.length-1].text=d.trimRight(),g.raw=g.raw.trimRight();const b=g.items.length;for(s=0;s"space"===e.type),t=e.length>0&&e.some(e=>/\n.*\n/.test(e.raw));g.loose=t}if(g.loose)for(s=0;s$/,"$1").replace(this.rules.inline._escapes,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:r,title:n}}}table(e){const t=this.rules.block.table.exec(e);if(t){const e={type:"table",header:ll(t[1]).map(e=>({text:e})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(e.header.length===e.align.length){e.raw=t[0];let r,n,i,o,s=e.align.length;for(r=0;r({text:e}));for(s=e.header.length,n=0;n/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):Ka(t[0]):t[0]}}link(e){const t=this.rules.inline.link.exec(e);if(t){const e=t[2].trim();if(!this.options.pedantic&&/^$/.test(e))return;const t=cl(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{const e=function(e,t){if(-1===e.indexOf(t[1]))return-1;const r=e.length;let n=0,i=0;for(;i-1){const r=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,r).trim(),t[3]=""}}let r=t[2],n="";if(this.options.pedantic){const e=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(r);e&&(r=e[1],n=e[3])}else n=t[3]?t[3].slice(1,-1):"";return r=r.trim(),/^$/.test(e)?r.slice(1):r.slice(1,-1)),pl(t,{href:r?r.replace(this.rules.inline._escapes,"$1"):r,title:n?n.replace(this.rules.inline._escapes,"$1"):n},t[0],this.lexer)}}reflink(e,t){let r;if((r=this.rules.inline.reflink.exec(e))||(r=this.rules.inline.nolink.exec(e))){let e=(r[2]||r[1]).replace(/\s+/g," ");if(e=t[e.toLowerCase()],!e){const e=r[0].charAt(0);return{type:"text",raw:e,text:e}}return pl(r,e,r[0],this.lexer)}}emStrong(e,t,r=""){let n=this.rules.inline.emStrong.lDelim.exec(e);if(!n)return;if(n[3]&&r.match(/[\p{L}\p{N}]/u))return;const i=n[1]||n[2]||"";if(!i||i&&(""===r||this.rules.inline.punctuation.exec(r))){const r=n[0].length-1;let i,o,s=r,a=0;const l="*"===n[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+r);null!=(n=l.exec(t));){if(i=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!i)continue;if(o=i.length,n[3]||n[4]){s+=o;continue}if((n[5]||n[6])&&r%3&&!((r+o)%3)){a+=o;continue}if(s-=o,s>0)continue;o=Math.min(o,o+s+a);const t=e.slice(0,r+n.index+(n[0].length-i.length)+o);if(Math.min(r,o)%2){const e=t.slice(1,-1);return{type:"em",raw:t,text:e,tokens:this.lexer.inlineTokens(e)}}const l=t.slice(2,-2);return{type:"strong",raw:t,text:l,tokens:this.lexer.inlineTokens(l)}}}}codespan(e){const t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(/\n/g," ");const r=/[^ ]/.test(e),n=/^ /.test(e)&&/ $/.test(e);return r&&n&&(e=e.substring(1,e.length-1)),e=Ka(e,!0),{type:"codespan",raw:t[0],text:e}}}br(e){const t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){const t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e,t){const r=this.rules.inline.autolink.exec(e);if(r){let e,n;return"@"===r[2]?(e=Ka(this.options.mangle?t(r[1]):r[1]),n="mailto:"+e):(e=Ka(r[1]),n=e),{type:"link",raw:r[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}url(e,t){let r;if(r=this.rules.inline.url.exec(e)){let e,n;if("@"===r[2])e=Ka(this.options.mangle?t(r[0]):r[0]),n="mailto:"+e;else{let t;do{t=r[0],r[0]=this.rules.inline._backpedal.exec(r[0])[0]}while(t!==r[0]);e=Ka(r[0]),n="www."===r[1]?"http://"+r[0]:r[0]}return{type:"link",raw:r[0],text:e,href:n,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e,t){const r=this.rules.inline.text.exec(e);if(r){let e;return e=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):Ka(r[0]):r[0]:Ka(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:e}}}}const fl={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:al,lheading:/^((?:.|\n(?!\n))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};fl.def=Za(fl.def).replace("label",fl._label).replace("title",fl._title).getRegex(),fl.bullet=/(?:[*+-]|\d{1,9}[.)])/,fl.listItemStart=Za(/^( *)(bull) */).replace("bull",fl.bullet).getRegex(),fl.list=Za(fl.list).replace(/bull/g,fl.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+fl.def.source+")").getRegex(),fl._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",fl._comment=/|$)/,fl.html=Za(fl.html,"i").replace("comment",fl._comment).replace("tag",fl._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),fl.paragraph=Za(fl._paragraph).replace("hr",fl.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",fl._tag).getRegex(),fl.blockquote=Za(fl.blockquote).replace("paragraph",fl.paragraph).getRegex(),fl.normal={...fl},fl.gfm={...fl.normal,table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"},fl.gfm.table=Za(fl.gfm.table).replace("hr",fl.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",fl._tag).getRegex(),fl.gfm.paragraph=Za(fl._paragraph).replace("hr",fl.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",fl.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",fl._tag).getRegex(),fl.pedantic={...fl.normal,html:Za("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",fl._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:al,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:Za(fl.normal._paragraph).replace("hr",fl.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",fl.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()};const hl={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:al,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^(?:[^_*\\]|\\.)*?\_\_(?:[^_*\\]|\\.)*?\*(?:[^_*\\]|\\.)*?(?=\_\_)|(?:[^*\\]|\\.)+(?=[^*])|[punct_](\*+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|(?:[^punct*_\s\\]|\\.)(\*+)(?=[^punct*_\s])/,rDelimUnd:/^(?:[^_*\\]|\\.)*?\*\*(?:[^_*\\]|\\.)*?\_(?:[^_*\\]|\\.)*?(?=\*\*)|(?:[^_\\]|\\.)+(?=[^_])|[punct*](\_+)(?=[\s]|$)|(?:[^punct*_\s\\]|\\.)(\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:al,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(r="x"+r.toString(16)),n+="&#"+r+";";return n}hl._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",hl.punctuation=Za(hl.punctuation).replace(/punctuation/g,hl._punctuation).getRegex(),hl.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,hl.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,hl._comment=Za(fl._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),hl.emStrong.lDelim=Za(hl.emStrong.lDelim).replace(/punct/g,hl._punctuation).getRegex(),hl.emStrong.rDelimAst=Za(hl.emStrong.rDelimAst,"g").replace(/punct/g,hl._punctuation).getRegex(),hl.emStrong.rDelimUnd=Za(hl.emStrong.rDelimUnd,"g").replace(/punct/g,hl._punctuation).getRegex(),hl._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,hl._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,hl._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,hl.autolink=Za(hl.autolink).replace("scheme",hl._scheme).replace("email",hl._email).getRegex(),hl._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,hl.tag=Za(hl.tag).replace("comment",hl._comment).replace("attribute",hl._attribute).getRegex(),hl._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,hl._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,hl._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,hl.link=Za(hl.link).replace("label",hl._label).replace("href",hl._href).replace("title",hl._title).getRegex(),hl.reflink=Za(hl.reflink).replace("label",hl._label).replace("ref",fl._label).getRegex(),hl.nolink=Za(hl.nolink).replace("ref",fl._label).getRegex(),hl.reflinkSearch=Za(hl.reflinkSearch,"g").replace("reflink",hl.reflink).replace("nolink",hl.nolink).getRegex(),hl.normal={...hl},hl.pedantic={...hl.normal,strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:Za(/^!?\[(label)\]\((.*?)\)/).replace("label",hl._label).getRegex(),reflink:Za(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",hl._label).getRegex()},hl.gfm={...hl.normal,escape:Za(hl.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\t+" ".repeat(r.length));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some(n=>!!(r=n.call({lexer:this},e,t))&&(e=e.substring(r.raw.length),t.push(r),!0))))if(r=this.tokenizer.space(e))e=e.substring(r.raw.length),1===r.raw.length&&t.length>0?t[t.length-1].raw+="\n":t.push(r);else if(r=this.tokenizer.code(e))e=e.substring(r.raw.length),n=t[t.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?t.push(r):(n.raw+="\n"+r.raw,n.text+="\n"+r.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(r=this.tokenizer.fences(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.heading(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.hr(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.blockquote(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.list(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.html(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.def(e))e=e.substring(r.raw.length),n=t[t.length-1],!n||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[r.tag]||(this.tokens.links[r.tag]={href:r.href,title:r.title}):(n.raw+="\n"+r.raw,n.text+="\n"+r.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(r=this.tokenizer.table(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.lheading(e))e=e.substring(r.raw.length),t.push(r);else{if(i=e,this.options.extensions&&this.options.extensions.startBlock){let t=1/0;const r=e.slice(1);let n;this.options.extensions.startBlock.forEach(function(e){n=e.call({lexer:this},r),"number"==typeof n&&n>=0&&(t=Math.min(t,n))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(this.state.top&&(r=this.tokenizer.paragraph(i)))n=t[t.length-1],o&&"paragraph"===n.type?(n.raw+="\n"+r.raw,n.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(r),o=i.length!==e.length,e=e.substring(r.raw.length);else if(r=this.tokenizer.text(e))e=e.substring(r.raw.length),n=t[t.length-1],n&&"text"===n.type?(n.raw+="\n"+r.raw,n.text+="\n"+r.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):t.push(r);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let r,n,i,o,s,a,l=e;if(this.tokens.links){const e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(l));)e.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(l=l.slice(0,o.index)+"["+ul("a",o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(l));)l=l.slice(0,o.index)+"["+ul("a",o[0].length-2)+"]"+l.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.escapedEmSt.exec(l));)l=l.slice(0,o.index+o[0].length-2)+"++"+l.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(;e;)if(s||(a=""),s=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some(n=>!!(r=n.call({lexer:this},e,t))&&(e=e.substring(r.raw.length),t.push(r),!0))))if(r=this.tokenizer.escape(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.tag(e))e=e.substring(r.raw.length),n=t[t.length-1],n&&"text"===r.type&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):t.push(r);else if(r=this.tokenizer.link(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(r.raw.length),n=t[t.length-1],n&&"text"===r.type&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):t.push(r);else if(r=this.tokenizer.emStrong(e,l,a))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.codespan(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.br(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.del(e))e=e.substring(r.raw.length),t.push(r);else if(r=this.tokenizer.autolink(e,gl))e=e.substring(r.raw.length),t.push(r);else if(this.state.inLink||!(r=this.tokenizer.url(e,gl))){if(i=e,this.options.extensions&&this.options.extensions.startInline){let t=1/0;const r=e.slice(1);let n;this.options.extensions.startInline.forEach(function(e){n=e.call({lexer:this},r),"number"==typeof n&&n>=0&&(t=Math.min(t,n))}),t<1/0&&t>=0&&(i=e.substring(0,t+1))}if(r=this.tokenizer.inlineText(i,ml))e=e.substring(r.raw.length),"_"!==r.raw.slice(-1)&&(a=r.raw.slice(-1)),s=!0,n=t[t.length-1],n&&"text"===n.type?(n.raw+=r.raw,n.text+=r.text):t.push(r);else if(e){const t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}else e=e.substring(r.raw.length),t.push(r);return t}}class bl{constructor(e){this.options=e||Ua}code(e,t,r){const n=(t||"").match(/\S*/)[0];if(this.options.highlight){const t=this.options.highlight(e,n);null!=t&&t!==e&&(r=!0,e=t)}return e=e.replace(/\n$/,"")+"\n",n?'
'+(r?e:Ka(e,!0))+"
\n":"
"+(r?e:Ka(e,!0))+"
\n"}blockquote(e){return`
\n${e}
\n`}html(e){return e}heading(e,t,r,n){return this.options.headerIds?`${e}\n`:`${e}\n`}hr(){return this.options.xhtml?"
\n":"
\n"}list(e,t,r){const n=t?"ol":"ul";return"<"+n+(t&&1!==r?' start="'+r+'"':"")+">\n"+e+"\n"}listitem(e){return`
  • ${e}
  • \n`}checkbox(e){return" "}paragraph(e){return`

    ${e}

    \n`}table(e,t){return t&&(t=`${t}`),"\n\n"+e+"\n"+t+"
    \n"}tablerow(e){return`\n${e}\n`}tablecell(e,t){const r=t.header?"th":"td";return(t.align?`<${r} align="${t.align}">`:`<${r}>`)+e+`\n`}strong(e){return`${e}`}em(e){return`${e}`}codespan(e){return`${e}`}br(){return this.options.xhtml?"
    ":"
    "}del(e){return`${e}`}link(e,t,r){if(null===(e=rl(this.options.sanitize,this.options.baseUrl,e)))return r;let n='",n}image(e,t,r){if(null===(e=rl(this.options.sanitize,this.options.baseUrl,e)))return r;let n=`${r}":">",n}text(e){return e}}class vl{strong(e){return e}em(e){return e}codespan(e){return e}del(e){return e}html(e){return e}text(e){return e}link(e,t,r){return""+r}image(e,t,r){return""+r}br(){return""}}class xl{constructor(){this.seen={}}serialize(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}getNextSafeSlug(e,t){let r=e,n=0;if(this.seen.hasOwnProperty(r)){n=this.seen[e];do{n++,r=e+"-"+n}while(this.seen.hasOwnProperty(r))}return t||(this.seen[e]=n,this.seen[r]=0),r}slug(e,t={}){const r=this.serialize(e);return this.getNextSafeSlug(r,t.dryrun)}}class wl{constructor(e){this.options=e||Ua,this.options.renderer=this.options.renderer||new bl,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new vl,this.slugger=new xl}static parse(e,t){return new wl(t).parse(e)}static parseInline(e,t){return new wl(t).parseInline(e)}parse(e,t=!0){let r,n,i,o,s,a,l,c,u,p,d,f,h,m,g,y,b,v,x,w="";const k=e.length;for(r=0;r0&&"paragraph"===g.tokens[0].type?(g.tokens[0].text=v+" "+g.tokens[0].text,g.tokens[0].tokens&&g.tokens[0].tokens.length>0&&"text"===g.tokens[0].tokens[0].type&&(g.tokens[0].tokens[0].text=v+" "+g.tokens[0].tokens[0].text)):g.tokens.unshift({type:"text",text:v}):m+=v),m+=this.parse(g.tokens,h),u+=this.renderer.listitem(m,b,y);w+=this.renderer.list(u,d,f);continue;case"html":w+=this.renderer.html(p.text);continue;case"paragraph":w+=this.renderer.paragraph(this.parseInline(p.tokens));continue;case"text":for(u=p.tokens?this.parseInline(p.tokens):p.text;r+1{"function"==typeof n&&(i=n,n=null);const o={...n},s=function(e,t,r){return n=>{if(n.message+="\nPlease report this to https://github.com/markedjs/marked.",e){const e="

    An error occurred:

    "+Ka(n.message+"",!0)+"
    ";return t?Promise.resolve(e):r?void r(null,e):e}if(t)return Promise.reject(n);if(!r)throw n;r(n)}}((n={...El.defaults,...o}).silent,n.async,i);if(null==r)return s(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof r)return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(r)+", string expected"));if(function(e){e&&e.sanitize&&!e.silent&&console.warn("marked(): sanitize and sanitizer parameters are deprecated since version 0.7.0, should not be used and will be removed in the future. Read more here: https://marked.js.org/#/USING_ADVANCED.md#options")}(n),n.hooks&&(n.hooks.options=n),i){const o=n.highlight;let a;try{n.hooks&&(r=n.hooks.preprocess(r)),a=e(r,n)}catch(e){return s(e)}const l=function(e){let r;if(!e)try{n.walkTokens&&El.walkTokens(a,n.walkTokens),r=t(a,n),n.hooks&&(r=n.hooks.postprocess(r))}catch(t){e=t}return n.highlight=o,e?s(e):i(null,r)};if(!o||o.length<3)return l();if(delete n.highlight,!a.length)return l();let c=0;return El.walkTokens(a,function(e){"code"===e.type&&(c++,setTimeout(()=>{o(e.text,e.lang,function(t,r){if(t)return l(t);null!=r&&r!==e.text&&(e.text=r,e.escaped=!0),c--,0===c&&l()})},0))}),void(0===c&&l())}if(n.async)return Promise.resolve(n.hooks?n.hooks.preprocess(r):r).then(t=>e(t,n)).then(e=>n.walkTokens?Promise.all(El.walkTokens(e,n.walkTokens)).then(()=>e):e).then(e=>t(e,n)).then(e=>n.hooks?n.hooks.postprocess(e):e).catch(s);try{n.hooks&&(r=n.hooks.preprocess(r));const i=e(r,n);n.walkTokens&&El.walkTokens(i,n.walkTokens);let o=t(i,n);return n.hooks&&(o=n.hooks.postprocess(o)),o}catch(e){return s(e)}}}function El(e,t,r){return Sl(yl.lex,wl.parse)(e,t,r)}El.options=El.setOptions=function(e){var t;return El.defaults={...El.defaults,...e},t=El.defaults,Ua=t,El},El.getDefaults=function(){return{async:!1,baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,hooks:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}},El.defaults=Ua,El.use=function(...e){const t=El.defaults.extensions||{renderers:{},childTokens:{}};e.forEach(e=>{const r={...e};if(r.async=El.defaults.async||r.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw new Error("extension name required");if(e.renderer){const r=t.renderers[e.name];t.renderers[e.name]=r?function(...t){let n=e.renderer.apply(this,t);return!1===n&&(n=r.apply(this,t)),n}:e.renderer}if(e.tokenizer){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");t[e.level]?t[e.level].unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),r.extensions=t),e.renderer){const t=El.defaults.renderer||new bl;for(const r in e.renderer){const n=t[r];t[r]=(...i)=>{let o=e.renderer[r].apply(t,i);return!1===o&&(o=n.apply(t,i)),o}}r.renderer=t}if(e.tokenizer){const t=El.defaults.tokenizer||new dl;for(const r in e.tokenizer){const n=t[r];t[r]=(...i)=>{let o=e.tokenizer[r].apply(t,i);return!1===o&&(o=n.apply(t,i)),o}}r.tokenizer=t}if(e.hooks){const t=El.defaults.hooks||new kl;for(const r in e.hooks){const n=t[r];kl.passThroughHooks.has(r)?t[r]=i=>{if(El.defaults.async)return Promise.resolve(e.hooks[r].call(t,i)).then(e=>n.call(t,e));const o=e.hooks[r].call(t,i);return n.call(t,o)}:t[r]=(...i)=>{let o=e.hooks[r].apply(t,i);return!1===o&&(o=n.apply(t,i)),o}}r.hooks=t}if(e.walkTokens){const t=El.defaults.walkTokens;r.walkTokens=function(r){let n=[];return n.push(e.walkTokens.call(this,r)),t&&(n=n.concat(t.call(this,r))),n}}El.setOptions(r)})},El.walkTokens=function(e,t){let r=[];for(const n of e)switch(r=r.concat(t.call(El,n)),n.type){case"table":for(const e of n.header)r=r.concat(El.walkTokens(e.tokens,t));for(const e of n.rows)for(const n of e)r=r.concat(El.walkTokens(n.tokens,t));break;case"list":r=r.concat(El.walkTokens(n.items,t));break;default:El.defaults.extensions&&El.defaults.extensions.childTokens&&El.defaults.extensions.childTokens[n.type]?El.defaults.extensions.childTokens[n.type].forEach(function(e){r=r.concat(El.walkTokens(n[e],t))}):n.tokens&&(r=r.concat(El.walkTokens(n.tokens,t)))}return r},El.parseInline=Sl(yl.lexInline,wl.parseInline),El.Parser=wl,El.parser=wl.parse,El.Renderer=bl,El.TextRenderer=vl,El.Lexer=yl,El.lexer=yl.lex,El.Tokenizer=dl,El.Slugger=xl,El.Hooks=kl,El.parse=El,El.options,El.setOptions,El.use,El.walkTokens,El.parseInline;var Ol=Object.defineProperty,_l=Object.defineProperties,Pl=Object.getOwnPropertyDescriptors,$l=Object.getOwnPropertySymbols,Al=Object.prototype.hasOwnProperty,Cl=Object.prototype.propertyIsEnumerable,jl=(e,t,r)=>t in e?Ol(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Tl=(e,t)=>{for(var r in t||(t={}))Al.call(t,r)&&jl(e,r,t[r]);if($l)for(var r of $l(t))Cl.call(t,r)&&jl(e,r,t[r]);return e},Nl=(e,t)=>_l(e,Pl(t));const Il=new El.Renderer;El.setOptions({renderer:Il,highlight:(e,t)=>ka(e,t)});const Rl="(?:^ {0,3}\x3c!-- ReDoc-Inject:\\s+?<({component}).*?/?>\\s+?--\x3e\\s*$|(?:^ {0,3}<({component})([\\s\\S]*?)>([\\s\\S]*?)|^ {0,3}<({component})([\\s\\S]*?)(?:/>|\\n{2,})))";class Ll{constructor(e,t){this.options=e,this.parentId=t,this.headings=[],this.headingRule=(e,t,r,n)=>(1===t?this.currentTopHeading=this.saveHeading(e,t):2===t&&this.saveHeading(e,t,this.currentTopHeading&&this.currentTopHeading.items,this.currentTopHeading&&this.currentTopHeading.id),this.originalHeadingRule(e,t,r,n)),this.parentId=t,this.parser=new El.Parser,this.headingEnhanceRenderer=new El.Renderer,this.originalHeadingRule=this.headingEnhanceRenderer.heading.bind(this.headingEnhanceRenderer),this.headingEnhanceRenderer.heading=this.headingRule}static containsComponent(e,t){return new RegExp(Rl.replace(/{component}/g,t),"gmi").test(e)}static getTextBeforeHading(e,t){const r=e.search(new RegExp(`^##?\\s+${t}`,"m"));return r>-1?e.substring(0,r):e}saveHeading(e,t,r=this.headings,n){e=e.replace(/&#(\d+);/g,(e,t)=>String.fromCharCode(parseInt(t,10))).replace(/&/g,"&").replace(/"/g,'"');const i={id:n?`${n}/${li(e)}`:`${this.parentId||"section"}/${li(e)}`,name:e,level:t,items:[]};return r.push(i),i}flattenHeadings(e){if(void 0===e)return[];const t=[];for(const r of e)t.push(r),t.push(...this.flattenHeadings(r.items));return t}attachHeadingsDescriptions(e){const t=e=>new RegExp(`##?\\s+${e.name.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}s*(\n|\r\n|$|s*)`),r=this.flattenHeadings(this.headings);if(r.length<1)return;let n=r[0],i=t(n),o=e.search(i);for(let s=1;s-1&&(this.description=this.description.substring(0,r)),this.downloadUrls=this.getDownloadUrls(),this.downloadFileName=this.getDownloadFileName()}getDownloadUrls(){return(this.options.downloadUrls?this.options.downloadUrls.map(({title:e,url:t})=>({title:e||hi("download"),url:this.getDownloadLink(t)})):[{title:hi("download"),url:this.getDownloadLink(this.options.downloadDefinitionUrl)}]).filter(({title:e,url:t})=>e&&t)}getDownloadLink(e){if(e)return e;if(this.parser.specUrl)return this.parser.specUrl;if(Qn&&window.Blob&&window.URL&&window.URL.createObjectURL){const e=new Blob([JSON.stringify(this.parser.spec,null,2)],{type:"application/json"});return window.URL.createObjectURL(e)}}getDownloadFileName(){return this.parser.specUrl||this.options.downloadDefinitionUrl?this.options.downloadFileName:this.options.downloadFileName||"openapi.json"}}var zl=Object.defineProperty,Fl=Object.defineProperties,Bl=Object.getOwnPropertyDescriptors,Ul=Object.getOwnPropertySymbols,ql=Object.prototype.hasOwnProperty,Vl=Object.prototype.propertyIsEnumerable,Wl=(e,t,r)=>t in e?zl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Hl{constructor(e,t){const r=t.spec.components&&t.spec.components.securitySchemes||{};this.schemes=Object.keys(e||{}).map(n=>{const{resolved:i}=t.deref(r[n]),o=e[n]||[];if(!i)return void console.warn(`Non existing security scheme referenced: ${n}. Skipping`);const s=i["x-displayName"]||n;return((e,t)=>Fl(e,Bl(t)))(((e,t)=>{for(var r in t||(t={}))ql.call(t,r)&&Wl(e,r,t[r]);if(Ul)for(var r of Ul(t))Vl.call(t,r)&&Wl(e,r,t[r]);return e})({},i),{id:n,sectionId:n,displayName:s,scopes:o})}).filter(e=>void 0!==e)}}var Gl=Object.defineProperty,Yl=Object.defineProperties,Kl=Object.getOwnPropertyDescriptor,Ql=Object.getOwnPropertyDescriptors,Xl=Object.getOwnPropertySymbols,Jl=Object.prototype.hasOwnProperty,Zl=Object.prototype.propertyIsEnumerable,ec=(e,t,r)=>t in e?Gl(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,tc=(e,t)=>{for(var r in t||(t={}))Jl.call(t,r)&&ec(e,r,t[r]);if(Xl)for(var r of Xl(t))Zl.call(t,r)&&ec(e,r,t[r]);return e},rc=(e,t)=>Yl(e,Ql(t)),nc=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?Kl(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Gl(t,r,o),o};class ic{constructor(e,t,r,n,i){this.expanded=!1,this.operations=[],ir(this),this.name=t;const{resolved:o}=e.deref(r);for(const r of Object.keys(o)){const s=o[r],a=Object.keys(s).filter(Xs);for(const o of a){const a=s[o],l=new ap(e,rc(tc({},a),{pathName:r,pointer:Ls.compile([n,t,r,o]),httpVerb:o,pathParameters:s.parameters||[],pathServers:s.servers}),void 0,i,!0);this.operations.push(l)}}}toggle(){this.expanded=!this.expanded}}nc([Ce],ic.prototype,"expanded",2),nc([Ct],ic.prototype,"toggle",1);var oc=Object.defineProperty,sc=Object.defineProperties,ac=Object.getOwnPropertyDescriptors,lc=Object.getOwnPropertySymbols,cc=Object.prototype.hasOwnProperty,uc=Object.prototype.propertyIsEnumerable,pc=(e,t,r)=>t in e?oc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,dc=(e,t)=>{for(var r in t||(t={}))cc.call(t,r)&&pc(e,r,t[r]);if(lc)for(var r of lc(t))uc.call(t,r)&&pc(e,r,t[r]);return e},fc=(e,t)=>sc(e,ac(t)),hc=(e,t)=>{var r={};for(var n in e)cc.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&lc)for(var n of lc(e))t.indexOf(n)<0&&uc.call(e,n)&&(r[n]=e[n]);return r};function mc(e,t){return t&&e[e.length-1]!==t?[...e,t]:e}function gc(e,t){return t?e.concat(t):e}class yc{constructor(e,t,r=new _i({})){this.options=r,this.allowMergeRefs=!1,this.byRef=e=>{let t;if(this.spec){"#"!==e.charAt(0)&&(e="#"+e),e=decodeURIComponent(e);try{t=Ls.get(this.spec,e)}catch(e){}return t||{}}},this.validate(e),this.spec=e,this.allowMergeRefs=e.openapi.startsWith("3.1");const n=Qn?window.location.href:"";"string"==typeof t&&(this.specUrl=n?new URL(t,n).href:t)}validate(e){if(void 0===e.openapi)throw new Error("Document must be valid OpenAPI 3.0.0 definition")}isRef(e){return!!e&&void 0!==e.$ref&&null!==e.$ref}deref(e,t=[],r=!1){const n=null==e?void 0:e["x-refsStack"];if(t=gc(t,n),this.isRef(e)){const n=la(e.$ref);if(n&&this.options.ignoreNamedSchemas.has(n))return{resolved:{type:"object",title:n},refsStack:t};let i=this.byRef(e.$ref);if(!i)throw new Error(`Failed to resolve $ref "${e.$ref}"`);let o=t;if(t.includes(e.$ref)||t.length>999)i=Object.assign({},i,{"x-circular-ref":!0});else if(this.isRef(i)){const e=this.deref(i,t,r);o=e.refsStack,i=e.resolved}return o=mc(t,e.$ref),i=this.allowMergeRefs?this.mergeRefs(e,i,r):i,{resolved:i,refsStack:o}}return{resolved:e,refsStack:gc(t,n)}}mergeRefs(e,t,r){const n=e,{$ref:i}=n,o=hc(n,["$ref"]),s=Object.keys(o);if(0===s.length)return t;if(r&&s.some(e=>!["description","title","externalDocs","x-refsStack","x-parentRefs","readOnly","writeOnly"].includes(e))){const e=o,{description:r,title:n,readOnly:i,writeOnly:s}=e;return{allOf:[{description:r,title:n,readOnly:i,writeOnly:s},t,hc(e,["description","title","readOnly","writeOnly"])]}}return dc(dc({},t),o)}mergeAllOf(e,t,r){var n;if(e["x-circular-ref"])return e;if(void 0===(e=this.hoistOneOfs(e,r)).allOf)return e;let i=fc(dc({},e),{"x-parentRefs":[],allOf:void 0,title:e.title||la(t)});void 0!==i.properties&&"object"==typeof i.properties&&(i.properties=dc({},i.properties)),void 0!==i.items&&"object"==typeof i.items&&(i.items=dc({},i.items));const o=function(e){const t=new Set;return e.filter(e=>{const r=e.$ref;return!r||r&&!t.has(r)&&t.add(r)})}(e.allOf.map(e=>{var t;const{resolved:n,refsStack:o}=this.deref(e,r,!0),s=e.$ref||void 0,a=this.mergeAllOf(n,s,o);if(!a["x-circular-ref"]||!a.allOf)return s&&(null==(t=i["x-parentRefs"])||t.push(...a["x-parentRefs"]||[],s)),{$ref:s,refsStack:mc(o,s),schema:a}}).filter(e=>void 0!==e));for(const{schema:e,refsStack:r}of o){const o=e,{type:s,enum:a,properties:l,items:c,required:u,title:p,description:d,readOnly:f,writeOnly:h,oneOf:m,anyOf:g,"x-circular-ref":y}=o,b=hc(o,["type","enum","properties","items","required","title","description","readOnly","writeOnly","oneOf","anyOf","x-circular-ref"]);if(i.type!==s&&void 0!==i.type&&void 0!==s&&console.warn(`Incompatible types in allOf at "${t}": "${i.type}" and "${s}"`),void 0!==s&&(Array.isArray(s)&&Array.isArray(i.type)?i.type=[...s,...i.type]:i.type=s),void 0!==a&&(Array.isArray(a)&&Array.isArray(i.enum)?i.enum=Array.from(new Set([...a,...i.enum])):i.enum=a),void 0!==l&&"object"==typeof l){i.properties=i.properties||{};for(const e in l){const o=gc(r,null==(n=l[e])?void 0:n["x-refsStack"]);if(i.properties[e]){if(!y){const r=this.mergeAllOf({allOf:[i.properties[e],fc(dc({},l[e]),{"x-refsStack":o})],"x-refsStack":o},t+"/properties/"+e,o);i.properties[e]=r}}else i.properties[e]=fc(dc({},l[e]),{"x-refsStack":o})}}if(void 0!==c&&!y){const n="boolean"==typeof i.items?{}:Object.assign({},i.items),o="boolean"==typeof e.items?{}:Object.assign({},e.items);i.items=this.mergeAllOf({allOf:[n,o]},t+"/items",r)}void 0!==m&&(i.oneOf=m),void 0!==g&&(i.anyOf=g),void 0!==u&&(i.required=[...i.required||[],...u]),i=dc(fc(dc({},i),{title:i.title||p,description:i.description||d,readOnly:void 0!==i.readOnly?i.readOnly:f,writeOnly:void 0!==i.writeOnly?i.writeOnly:h,"x-circular-ref":i["x-circular-ref"]||y}),b)}return i}findDerived(e){const t={},r=this.spec.components&&this.spec.components.schemas||{};for(const n in r){const{resolved:i}=this.deref(r[n]);void 0!==i.allOf&&i.allOf.find(t=>void 0!==t.$ref&&e.indexOf(t.$ref)>-1)&&(t["#/components/schemas/"+n]=[i["x-discriminator-value"]||n])}return t}hoistOneOfs(e,t){if(void 0===e.allOf)return e;const r=e.allOf;for(let e=0;e0?[o]:[];return{oneOf:i.map(e=>({allOf:[...n,...a,e,...s],"x-refsStack":t}))}}}return e}}var bc=Object.defineProperty,vc=Object.defineProperties,xc=Object.getOwnPropertyDescriptor,wc=Object.getOwnPropertyDescriptors,kc=Object.getOwnPropertySymbols,Sc=Object.prototype.hasOwnProperty,Ec=Object.prototype.propertyIsEnumerable,Oc=(e,t,r)=>t in e?bc(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,_c=(e,t)=>{for(var r in t||(t={}))Sc.call(t,r)&&Oc(e,r,t[r]);if(kc)for(var r of kc(t))Ec.call(t,r)&&Oc(e,r,t[r]);return e},Pc=(e,t)=>vc(e,wc(t)),$c=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?xc(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&bc(t,r,o),o};const Ac=class e{constructor(e,t,r,n,i=!1,o=[]){this.options=n,this.refsStack=o,this.typePrefix="",this.isCircular=!1,this.activeOneOf=0,ir(this),this.pointer=t.$ref||r||"";const{resolved:s,refsStack:a}=e.deref(t,o,!0);this.refsStack=mc(a,this.pointer),this.rawSchema=s,this.schema=e.mergeAllOf(this.rawSchema,this.pointer,this.refsStack),this.init(e,i),n.showExtensions&&(this.extensions=va(this.schema,n.showExtensions))}activateOneOf(e){this.activeOneOf=e}hasType(e){return this.type===e||pi(this.type)&&this.type.includes(e)}init(t,r){var n,i,o,s,a,l,c,u;const p=this.schema;if(this.isCircular=!!p["x-circular-ref"],this.title=p.title||aa(this.pointer)&&Ls.baseName(this.pointer)||"",this.description=p.description||"",this.type=p.type||function(e){if(void 0!==e.type&&!pi(e.type))return e.type;const t=Object.keys(Js);for(const r of t){const t=Js[r];if(void 0!==e[r])return t}return"any"}(p),this.format=p.format,this.enum=p.enum||[],this["x-enumDescriptions"]=p["x-enumDescriptions"],this.example=p.example,this.examples=p.examples,this.deprecated=!!p.deprecated,this.pattern=p.pattern,this.externalDocs=p.externalDocs,this.constraints=ua(p),this.displayFormat=this.format,this.isPrimitive=Zs(p,this.type),this.default=p.default,this.readOnly=!!p.readOnly,this.writeOnly=!!p.writeOnly,this.const=p.const||"",this.contentEncoding=p.contentEncoding,this.contentMediaType=p.contentMediaType,this.minItems=p.minItems,this.maxItems=p.maxItems,(p.nullable||p["x-nullable"])&&(pi(this.type)&&!this.type.some(e=>null===e||"null"===e)?this.type=[...this.type,"null"]:pi(this.type)||null===this.type&&"null"===this.type||(this.type=[this.type,"null"])),this.displayType=pi(this.type)?this.type.map(e=>null===e?"null":e).join(" or "):this.type,!this.isCircular)if(p.if&&p.then||p.if&&p.else)this.initConditionalOperators(p,t);else if(r||void 0===Tc(p)){if(r&&pi(p.oneOf)&&p.oneOf.find(e=>e.$ref===this.pointer)&&delete p.oneOf,void 0!==p.oneOf)return this.initOneOf(p.oneOf,t),this.oneOfType="One of",void(void 0!==p.anyOf&&console.warn(`oneOf and anyOf are not supported on the same level. Skipping anyOf at ${this.pointer}`));if(void 0!==p.anyOf)return this.initOneOf(p.anyOf,t),void(this.oneOfType="Any of");if(this.hasType("object"))this.fields=jc(t,p,this.pointer,this.options,this.refsStack);else if(this.hasType("array")&&(pi(p.items)||pi(p.prefixItems)?this.fields=jc(t,p,this.pointer,this.options,this.refsStack):p.items&&(this.items=new e(t,p.items,this.pointer+"/items",this.options,!1,this.refsStack)),this.displayType=p.prefixItems||pi(p.items)?"items":((null==(n=this.items)?void 0:n.displayType)||this.displayType).split(" or ").map(e=>e.replace(/^(string|object|number|integer|array|boolean)s?( ?.*)/,"$1s$2")).join(" or "),this.displayFormat=(null==(i=this.items)?void 0:i.format)||"",this.typePrefix=(null==(o=this.items)?void 0:o.typePrefix)||""+hi("arrayOf"),this.title=this.title||(null==(s=this.items)?void 0:s.title)||"",this.isPrimitive=void 0!==(null==(a=this.items)?void 0:a.isPrimitive)?null==(l=this.items)?void 0:l.isPrimitive:this.isPrimitive,void 0===this.example&&void 0!==(null==(c=this.items)?void 0:c.example)&&(this.example=[this.items.example]),(null==(u=this.items)?void 0:u.isPrimitive)&&(this.enum=this.items.enum,this["x-enumDescriptions"]=this.items["x-enumDescriptions"]),pi(this.type))){const e=this.type.filter(e=>"array"!==e);e.length&&(this.displayType+=` or ${e.join(" or ")}`)}this.enum.length&&this.options.sortEnumValuesAlphabetically&&this.enum.sort()}else this.initDiscriminator(p,t)}initOneOf(t,r){if(this.oneOf=t.map((t,n)=>{const{resolved:i,refsStack:o}=r.deref(t,this.refsStack,!0),s=r.mergeAllOf(i,this.pointer+"/oneOf/"+n,o),a=aa(t.$ref)&&!s.title?Ls.baseName(t.$ref):`${s.title||""}${void 0!==s.const&&JSON.stringify(s.const)||""}`;return new e(r,Pc(_c({},s),{title:a,allOf:[Pc(_c({},this.schema),{oneOf:void 0,anyOf:void 0})],discriminator:i.allOf?void 0:s.discriminator}),t.$ref||this.pointer+"/oneOf/"+n,this.options,!1,o)}),this.options.simpleOneOfTypeLabel){const e=function(e){const t=new Set;return function e(r){for(const n of r.oneOf||[])n.oneOf?e(n):n.type&&t.add(n.type)}(e),Array.from(t.values())}(this);this.displayType=e.join(" or ")}else this.displayType=this.oneOf.map(e=>{let t=e.typePrefix+(e.title?`${e.title} (${e.displayType})`:e.displayType);return t.indexOf(" or ")>-1&&(t=`(${t})`),t}).join(" or ")}initDiscriminator(t,r){const n=Tc(t);this.discriminatorProp=n.propertyName;const i=r.findDerived([...this.schema["x-parentRefs"]||[],this.pointer]);if(t.oneOf)for(const e of t.oneOf){if(void 0===e.$ref)continue;const t=Ls.baseName(e.$ref);i[e.$ref]=t}const o=n.mapping||{};let s=n["x-explicitMappingOnly"]||!1;0===Object.keys(o).length&&(s=!1);const a={};for(const e in o){const t=o[e];pi(a[t])?a[t].push(e):a[t]=[e]}const l=_c(s?{}:_c({},i),a);let c=[];for(const e of Object.keys(l)){const t=l[e];if(pi(t))for(const r of t)c.push({$ref:e,name:r});else c.push({$ref:e,name:t})}const u=Object.keys(o);0!==u.length&&(c=c.sort((e,t)=>{const r=u.indexOf(e.name),n=u.indexOf(t.name);return r<0&&n<0?e.name.localeCompare(t.name):r<0?1:n<0?-1:r-n})),this.oneOf=c.map(({$ref:t,name:n})=>{const i=new e(r,{$ref:t},t,this.options,!0,this.refsStack.slice(0,-1));return i.title=n,i})}initConditionalOperators(t,r){const n=t,{if:i,else:o={},then:s={}}=n,a=((e,t)=>{var r={};for(var n in e)Sc.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&kc)for(var n of kc(e))t.indexOf(n)<0&&Ec.call(e,n)&&(r[n]=e[n]);return r})(n,["if","else","then"]),l=[{allOf:[a,s,i],title:i&&i["x-displayName"]||(null==i?void 0:i.title)||"case 1"},{allOf:[a,o],title:o&&o["x-displayName"]||(null==o?void 0:o.title)||"case 2"}];this.oneOf=l.map((t,n)=>new e(r,_c({},t),this.pointer+"/oneOf/"+n,this.options,!1,this.refsStack)),this.oneOfType="One of"}};$c([Ce],Ac.prototype,"activeOneOf",2),$c([Ct],Ac.prototype,"activateOneOf",1);let Cc=Ac;function jc(e,t,r,n,i){const o=t.properties||t.prefixItems||t.items||{},s=t.patternProperties||{},a=t.additionalProperties||t.unevaluatedProperties,l=t.prefixItems?t.items:t.additionalItems,c=t.default;let u=Object.keys(o||[]).map(s=>{let a=o[s];a||(console.warn(`Field "${s}" is invalid, skipping.\n Field must be an object but got ${typeof a} at "${r}"`),a={});const l=void 0!==t.required&&t.required.indexOf(s)>-1;return new zc(e,{name:t.properties?s:`[${s}]`,required:l,schema:Pc(_c({},a),{default:void 0===a.default&&c?c[s]:a.default})},r+"/properties/"+s,n,i)});return n.sortPropsAlphabetically&&(u=da(u,"name")),n.sortRequiredPropsFirst&&(u=pa(u,n.sortPropsAlphabetically?void 0:t.required)),u.push(...Object.keys(s).map(t=>{let o=s[t];return o||(console.warn(`Field "${t}" is invalid, skipping.\n Field must be an object but got ${typeof o} at "${r}"`),o={}),new zc(e,{name:t,required:!1,schema:o,kind:"patternProperties"},`${r}/patternProperties/${t}`,n,i)})),"object"!=typeof a&&!0!==a||u.push(new zc(e,{name:("object"==typeof a&&a["x-additionalPropertiesName"]||"property name").concat("*"),required:!1,schema:!0===a?{}:a,kind:"additionalProperties"},r+"/additionalProperties",n,i)),u.push(...function({parser:e,schema:t=!1,fieldsCount:r,$ref:n,options:i,refsStack:o}){return di(t)?t?[new zc(e,{name:`[${r}...]`,schema:{}},`${n}/additionalItems`,i,o)]:[]:pi(t)?[...t.map((t,s)=>new zc(e,{name:`[${r+s}]`,schema:t},`${n}/additionalItems`,i,o))]:si(t)?[new zc(e,{name:`[${r}...]`,schema:t},`${n}/additionalItems`,i,o)]:[]}({parser:e,schema:l,fieldsCount:u.length,$ref:r,options:n,refsStack:i})),u}function Tc(e){return e.discriminator||e["x-discriminator"]}const Nc={};class Ic{constructor(e,t,r,n){this.mime=r;const{resolved:i}=e.deref(t);this.value=i.value,this.summary=i.summary,this.description=i.description,i.externalValue&&(this.externalValueUrl=new URL(i.externalValue,e.specUrl).href),"application/x-www-form-urlencoded"===r&&this.value&&"object"==typeof this.value&&(this.value=function(e,t={}){if(pi(e))throw new Error("Payload must have fields: "+e.toString());return Object.keys(e).map(r=>{const n=e[r],{style:i="form",explode:o=!0}=t[r]||{};switch(i){case"form":return na(r,o,n);case"spaceDelimited":return ta(n,r,"%20");case"pipeDelimited":return ta(n,r,"|");case"deepObject":return ra(n,r);default:return console.warn("Incorrect or unsupported encoding style: "+i),""}}).join("&")}(this.value,n))}getExternalValue(e){return this.externalValueUrl?(this.externalValueUrl in Nc||(Nc[this.externalValueUrl]=fetch(this.externalValueUrl).then(t=>t.text().then(r=>{if(!t.ok)return Promise.reject(new Error(r));if(!ea(e))return r;try{return JSON.parse(r)}catch(e){return r}}))),Nc[this.externalValueUrl]):Promise.resolve(void 0)}}var Rc=Object.defineProperty,Lc=Object.getOwnPropertyDescriptor,Dc=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?Lc(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Rc(t,r,o),o};const Mc={path:{style:"simple",explode:!1},query:{style:"form",explode:!0},header:{style:"simple",explode:!1},cookie:{style:"form",explode:!0}};class zc{constructor(e,t,r,n,i){var o,s,a,l,c;this.expanded=void 0,ir(this);const{resolved:u}=e.deref(t);this.kind=t.kind||"field",this.name=t.name||u.name,this.in=u.in,this.required=!!u.required;let p=u.schema,d="";if(!p&&u.in&&u.content&&(d=Object.keys(u.content)[0],p=u.content[d]&&u.content[d].schema),this.schema=new Cc(e,p||{},r,n,!1,i),this.description=void 0===u.description?this.schema.description||"":u.description,this.example=u.example||this.schema.example,void 0!==u.examples||void 0!==this.schema.examples){const t=u.examples||this.schema.examples;this.examples=pi(t)?t:ri(t,(t,r)=>new Ic(e,t,r,u.encoding))}d?this.serializationMime=d:u.style?this.style=u.style:this.in&&(this.style=null!=(s=null==(o=Mc[this.in])?void 0:o.style)?s:"form"),void 0===u.explode&&this.in?this.explode=null==(l=null==(a=Mc[this.in])?void 0:a.explode)||l:this.explode=!!u.explode,this.deprecated=void 0===u.deprecated?!!this.schema.deprecated:u.deprecated,n.showExtensions&&(this.extensions=va(u,n.showExtensions)),this.const=(null==(c=this.schema)?void 0:c.const)||(null==u?void 0:u.const)||""}toggle(){this.expanded=!this.expanded}collapse(){this.expanded=!1}expand(){this.expanded=!0}}Dc([Ce],zc.prototype,"expanded",2),Dc([Ct],zc.prototype,"toggle",1),Dc([Ct],zc.prototype,"collapse",1),Dc([Ct],zc.prototype,"expand",1);const Fc=Symbol("skip");function Bc(e){return e<10?"0"+e:e}function Uc(e,t){return t>e.length?e.repeat(Math.trunc(t/e.length)+1).substring(0,t):e}function qc(...e){const t=e=>e&&"object"==typeof e;return e.reduce((e,r)=>(Object.keys(r||{}).forEach(n=>{const i=e[n],o=r[n];t(i)&&t(o)?e[n]=qc(i,o):e[n]=o}),e),Array.isArray(e[e.length-1])?[]:{})}function Vc(e){return{value:"object"===e?{}:"array"===e?[]:void 0}}function Wc(e,t){t&&e.pop()}function Hc(e,t={},r={}){const{value:n}=e,{propertyName:i}=r,{name:o,prefix:s,namespace:a}=function(e){return{name:e?.xml?.name||"",prefix:e?.xml?.prefix||"",namespace:e?.xml?.namespace||null,attribute:e?.xml?.attribute??!1,wrapped:e?.xml?.wrapped??!1}}(t),l=function(e){const t=e?.xml;return t?.nodeType?t.nodeType:!0===t?.attribute?"attribute":!0===t?.wrapped&&"array"===e?.type?"element":e?.$ref||e?.$dynamicRef||"array"===e?.type||e?.oneOf||e?.anyOf||e?.allOf?"none":"element"}(t);let c=o||i?`${s?s+":":""}${o||i}`:null,u="object"==typeof n?Array.isArray(n)?[...n]:{...n}:n;switch(l){case"attribute":c&&(c=`$${c}`);break;case"text":c="#text";break;case"cdata":c="#cdata";break;case"none":"array"===t.type?(c=null,void 0!==t.example&&(c=t.items?.xml?.name||c)):c=null;break;default:"array"===t.type&&Array.isArray(u)&&(u={[c]:[...u]})}return a&&"text"!==l&&"cdata"!==l&&"none"!==l&&("object"==typeof u?u["$xmlns"+(s?":"+s:"")]=a:u={["$xmlns"+(s?":"+s:"")]:a,"#text":u}),{propertyName:c,value:u}}const Gc={multipleOf:"number",maximum:"number",exclusiveMaximum:"number",minimum:"number",exclusiveMinimum:"number",maxLength:"string",minLength:"string",pattern:"string",items:"array",maxItems:"array",minItems:"array",uniqueItems:"array",additionalItems:"array",maxProperties:"object",minProperties:"object",required:"object",additionalProperties:"object",properties:"object",patternProperties:"object",dependencies:"object"};function Yc(e){if(void 0!==e.type)return Array.isArray(e.type)?0===e.type.length?null:e.type[0]:e.type;const t=Object.keys(Gc);for(var r=0;rt.maxSampleDepth)return Wc(Qc,n),Vc(Yc(e));if(e.$ref){if(!r)throw new Error("Your schema contains $ref. You must provide full specification in the third parameter.");let i=decodeURIComponent(e.$ref);i.startsWith("#")&&(i=i.substring(1));const o=Is().get(r,i);let s;if(!0!==Kc[i]){Kc[i]=!0;const e=Zc(o,t,r,n);if("xml"===t.format){const t=i.split("/").pop(),r={...n,propertyName:n?.propertyName||t},{propertyName:a,value:l}=Hc(e,o,r);s={...e,value:{[a||"root"]:l}}}else s=e;Kc[i]=!1}else s=Vc(Yc(o));return Wc(Qc,n),s}if(void 0!==e.example)return Wc(Qc,n),{value:e.example,readOnly:e.readOnly,writeOnly:e.writeOnly,type:e.type};if(void 0!==e.allOf)return Wc(Qc,n),Jc(e)||function(e,t,r,n,i){let o=Zc(e,r,n);const s=[];for(let e of t){const{type:t,readOnly:a,writeOnly:l,value:c}=Zc({type:o.type,...e},r,n,{...i,isAllOfChild:!0});o.type&&t&&t!==o.type&&(console.warn("allOf: schemas with different types can't be merged"),o.type=t),o.type=o.type||t,o.readOnly=o.readOnly||a,o.writeOnly=o.writeOnly||l,null!=c&&s.push(c)}if("object"===o.type){o.value=qc(o.value||{},...s.filter(e=>"object"==typeof e));for(const e in o.value)o.value[e]===Fc&&delete o.value[e];return o}{"array"===o.type&&(r.quiet||console.warn('OpenAPI Sampler: found allOf with "array" type. Result may be incorrect'));const e=s[s.length-1];return o.value=null!=e?e:o.value,o}}({...e,allOf:void 0},e.allOf,t,r,n);if(e.oneOf&&e.oneOf.length)return e.anyOf&&(t.quiet||console.warn("oneOf and anyOf are not supported on the same level. Skipping anyOf")),Wc(Qc,n),s(e,Object.assign({readOnly:e.readOnly,writeOnly:e.writeOnly},e.oneOf[0]));if(e.anyOf&&e.anyOf.length)return Wc(Qc,n),s(e,Object.assign({readOnly:e.readOnly,writeOnly:e.writeOnly},e.anyOf[0]));if(e.if&&e.then){Wc(Qc,n);const{if:i,then:o,...s}=e;return Zc(qc(s,i,o),t,r,n)}let i=Xc(e),o=null;if(void 0===i){i=null,o=e.type,Array.isArray(o)&&e.type.length>0&&(o=e.type[0]),o||(o=Yc(e));let s=Lu[o];s&&(i=s(e,t,r,n))}return Wc(Qc,n),{value:i,readOnly:e.readOnly,writeOnly:e.writeOnly,type:o};function s(e,i){const o=Jc(e);if(void 0!==o)return o;const s=Zc({...e,oneOf:void 0,anyOf:void 0},t,r,n),a=Zc(i,t,r,n);if("object"==typeof s.value&&"object"==typeof a.value){const e=qc(s.value,a.value);return{...a,value:e}}return a}}function eu(e){let t=0;if("number"!==e.type||"float"!==e.format&&"double"!==e.format||(t=.1),"boolean"==typeof e.exclusiveMinimum||"boolean"==typeof e.exclusiveMaximum){if(e.maximum&&e.minimum)return t=e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum,(e.exclusiveMaximum&&t>=e.maximum||!e.exclusiveMaximum&&t>e.maximum)&&(t=(e.maximum+e.minimum)/2),t;if(e.minimum)return e.exclusiveMinimum?Math.floor(e.minimum)+1:e.minimum;if(e.maximum)return e.exclusiveMaximum?e.maximum>0?0:Math.floor(e.maximum)-1:e.maximum>0?0:e.maximum}else{if(e.minimum)return e.minimum;e.exclusiveMinimum?(t=Math.floor(e.exclusiveMinimum)+1,t===e.exclusiveMaximum&&(t=(t+Math.floor(e.exclusiveMaximum)-1)/2)):e.exclusiveMaximum?t=Math.floor(e.exclusiveMaximum)-1:e.maximum&&(t=e.maximum)}return t}function tu(e,t){return e}function ru(e,t,r){let n=1;if(e)switch(e){case"?":n=0;break;case"*":n=tu(0);break;case"+":n=tu(1);break;default:throw new Error("Unknown quantifier symbol provided.")}else null!=t&&null!=r?n=tu(parseInt(t),parseInt(r)):null!=t&&null==r&&(n=parseInt(t));return n}function nu({min:e,max:t,omitTime:r,omitDate:n}){let i=function(e,t,r){var n=r?"":e.getUTCFullYear()+"-"+Bc(e.getUTCMonth()+1)+"-"+Bc(e.getUTCDate());return t||(n+="T"+Bc(e.getUTCHours())+":"+Bc(e.getUTCMinutes())+":"+Bc(e.getUTCSeconds())+"Z"),n}(new Date("2019-08-24T14:15:22.123Z"),r,n);return i.lengtht&&console.warn(`Using maxLength = ${t} is incorrect with format "date-time"`),i}function iu(e,t,r,n,i=!1){if(n&&i)return function(e){let t,r,n,i=!1;e instanceof RegExp&&(i=e.flags.includes("i"),e=e.toString(),e=e.match(/\/(.+?)\//)?.[1]??"");const o=/([.A-Za-z0-9])(?:\{(\d+)(?:\,(\d+)|)\}|(\?|\*|\+))(?![^[]*]|[^{]*})/;let s=(e=e.replace(/^(\^)?(.*?)(\$)?$/,"$2")).match(o);for(;null!=s;){const t=s[2],r=s[3];n=ru(s[4],t,r),e=e.slice(0,s.index)+s[1].repeat(n)+e.slice(s.index+s[0].length),s=e.match(o)}const a=/(\d-\d|\w-\w|\d|\w|[-!@#$&()`.+,/"])/,l=/\[(\^|)(-|)(.+?)\](?:\{(\d+)(?:\,(\d+)|)\}|(\?|\*|\+)|)/;for(s=e.match(l);null!=s;){const o="^"===s[1],c="-"===s[2],u=s[4],p=s[5],d=s[6],f=[];let h=s[3],m=h.match(a);for(c&&f.push(45);null!=m;){if(-1===m[0].indexOf("-"))i&&isNaN(Number(m[0]))?(f.push(m[0].toUpperCase().charCodeAt(0)),f.push(m[0].toLowerCase().charCodeAt(0))):f.push(m[0].charCodeAt(0));else{const e=m[0].split("-").map(e=>e.charCodeAt(0));if(t=e[0],r=e[1],t>r)throw new Error("Character range provided is out of order.");for(let e=t;e<=r;e++)if(i&&isNaN(Number(String.fromCharCode(e)))){const t=String.fromCharCode(e);f.push(t.toUpperCase().charCodeAt(0)),f.push(t.toLowerCase().charCodeAt(0))}else f.push(e)}h=h.substring(m[0].length),m=h.match(a)}if(n=ru(d,u,p),o){let e=-1;for(let t=48;t<=57;t++)e=f.indexOf(t),e>-1?f.splice(e,1):f.push(t);for(let t=65;t<=90;t++)e=f.indexOf(t),e>-1?f.splice(e,1):f.push(t);for(let t=97;t<=122;t++)e=f.indexOf(t),e>-1?f.splice(e,1):f.push(t)}const g=Array.from({length:n},()=>String.fromCharCode(f[tu(0,f.length)])).join("");s=(e=e.slice(0,s.index)+g+e.slice(s.index+s[0].length)).match(l)}const c=/(.)\{(\d+)\,(\d+)\}/;for(s=e.match(c);null!=s;){if(t=parseInt(s[2]),r=parseInt(s[3]),t>r)throw new Error("Numbers out of order in {} quantifier.");n=tu(t),e=e.slice(0,s.index)+s[1].repeat(n)+e.slice(s.index+s[0].length),s=e.match(c)}const u=/(.)\{(\d+)\}/;for(s=e.match(u);null!=s;)n=parseInt(s[2]),e=e.slice(0,s.index)+s[1].repeat(n)+e.slice(s.index+s[0].length),s=e.match(u);return e}(n);let o=Uc("string",e);return t&&o.length>t&&(o=o.substring(0,t)),o}const ou={email:function(){return"user@example.com"},"idn-email":function(){return"пошта@укр.нет"},password:function(e,t){let r="pa$$word";return e>r.length&&(r+="_",r+=Uc("qwerty!@#$%^123456",e-r.length).substring(0,e-r.length)),r},"date-time":function(e,t){return nu({min:e,max:t,omitTime:!1,omitDate:!1})},date:function(e,t){return nu({min:e,max:t,omitTime:!0,omitDate:!1})},time:function(e,t){return nu({min:e,max:t,omitTime:!1,omitDate:!0}).slice(1)},ipv4:function(){return"192.168.0.1"},ipv6:function(){return"2001:0db8:85a3:0000:0000:8a2e:0370:7334"},hostname:function(){return"example.com"},"idn-hostname":function(){return"приклад.укр"},iri:function(){return"http://example.com/entity/1"},"iri-reference":function(){return"/entity/1"},uri:function(){return"http://example.com"},"uri-reference":function(){return"../dictionary"},"uri-template":function(){return"http://example.com/{endpoint}"},uuid:function(e,t,r){return n=function(e){var t=0;if(0==e.length)return t;for(var r=0;r>>5)|0;return e=t^((r|=0)<<17|r>>>15),t=r+(n|=0)|0,r=n+i|0,((n=e+i|0)>>>0)/4294967296}}(n,n,n,n),"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{var t=16*i()%16|0;return("x"==e?t:3&t|8).toString(16)});var n,i},default:iu,"json-pointer":function(){return"/json/pointer"},"relative-json-pointer":function(){return"1/relative/json/pointer"},regex:function(){return"/regex/"}};class su{constructor(e,t={},r){this.pattern=e,this.separator=t.separator||".",this.segments=this._parse(e),this.data=r,this._hasDeepWildcard=this.segments.some(e=>"deep-wildcard"===e.type),this._hasAttributeCondition=this.segments.some(e=>void 0!==e.attrName),this._hasPositionSelector=this.segments.some(e=>void 0!==e.position)}_parse(e){const t=[];let r=0,n="";for(;r0?e[e.length-1].tag:void 0}getCurrentNamespace(){const e=this._matcher.path;return e.length>0?e[e.length-1].namespace:void 0}getAttrValue(e){const t=this._matcher.path;if(0!==t.length)return t[t.length-1].values?.[e]}hasAttr(e){const t=this._matcher.path;if(0===t.length)return!1;const r=t[t.length-1];return void 0!==r.values&&e in r.values}getPosition(){const e=this._matcher.path;return 0===e.length?-1:e[e.length-1].position??0}getCounter(){const e=this._matcher.path;return 0===e.length?-1:e[e.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this._matcher.path.length}toString(e,t=!0){return this._matcher.toString(e,t)}toArray(){return this._matcher.path.map(e=>e.tag)}matches(e){return this._matcher.matches(e)}matchesAny(e){return e.matchesAny(this._matcher)}}class lu{constructor(e={}){this.separator=e.separator||".",this.path=[],this.siblingStacks=[],this._pathStringCache=null,this._view=new au(this)}push(e,t=null,r=null){this._pathStringCache=null,this.path.length>0&&(this.path[this.path.length-1].values=void 0);const n=this.path.length;this.siblingStacks[n]||(this.siblingStacks[n]=new Map);const i=this.siblingStacks[n],o=r?`${r}:${e}`:e,s=i.get(o)||0;let a=0;for(const e of i.values())a+=e;i.set(o,s+1);const l={tag:e,position:a,counter:s};null!=r&&(l.namespace=r),null!=t&&(l.values=t),this.path.push(l)}pop(){if(0===this.path.length)return;this._pathStringCache=null;const e=this.path.pop();return this.siblingStacks.length>this.path.length+1&&(this.siblingStacks.length=this.path.length+1),e}updateCurrent(e){if(this.path.length>0){const t=this.path[this.path.length-1];null!=e&&(t.values=e)}}getCurrentTag(){return this.path.length>0?this.path[this.path.length-1].tag:void 0}getCurrentNamespace(){return this.path.length>0?this.path[this.path.length-1].namespace:void 0}getAttrValue(e){if(0!==this.path.length)return this.path[this.path.length-1].values?.[e]}hasAttr(e){if(0===this.path.length)return!1;const t=this.path[this.path.length-1];return void 0!==t.values&&e in t.values}getPosition(){return 0===this.path.length?-1:this.path[this.path.length-1].position??0}getCounter(){return 0===this.path.length?-1:this.path[this.path.length-1].counter??0}getIndex(){return this.getPosition()}getDepth(){return this.path.length}toString(e,t=!0){const r=e||this.separator;if(r===this.separator&&!0===t){if(null!==this._pathStringCache)return this._pathStringCache;const e=this.path.map(e=>e.namespace?`${e.namespace}:${e.tag}`:e.tag).join(r);return this._pathStringCache=e,e}return this.path.map(e=>t&&e.namespace?`${e.namespace}:${e.tag}`:e.tag).join(r)}toArray(){return this.path.map(e=>e.tag)}reset(){this._pathStringCache=null,this.path=[],this.siblingStacks=[]}matches(e){const t=e.segments;return 0!==t.length&&(e.hasDeepWildcard()?this._matchWithDeepWildcard(t):this._matchSimple(t))}_matchSimple(e){if(this.path.length!==e.length)return!1;for(let t=0;t=0&&t>=0;){const n=e[r];if("deep-wildcard"===n.type){if(r--,r<0)return!0;const n=e[r];let i=!1;for(let e=t;e>=0;e--)if(this._matchSegment(n,this.path[e],e===this.path.length-1)){t=e-1,r--,i=!0;break}if(!i)return!1}else{if(!this._matchSegment(n,this.path[t],t===this.path.length-1))return!1;t--,r--}}return r<0}_matchSegment(e,t,r){if("*"!==e.tag&&e.tag!==t.tag)return!1;if(void 0!==e.namespace&&"*"!==e.namespace&&e.namespace!==t.namespace)return!1;if(void 0!==e.attrName){if(!r)return!1;if(!t.values||!(e.attrName in t.values))return!1;if(void 0!==e.attrValue&&String(t.values[e.attrName])!==String(e.attrValue))return!1}if(void 0!==e.position){if(!r)return!1;const n=t.counter??0;if("first"===e.position&&0!==n)return!1;if("odd"===e.position&&n%2!=1)return!1;if("even"===e.position&&n%2!=0)return!1;if("nth"===e.position&&n!==e.positionValue)return!1}return!0}matchesAny(e){return e.matchesAny(this)}snapshot(){return{path:this.path.map(e=>({...e})),siblingStacks:this.siblingStacks.map(e=>new Map(e))}}restore(e){this._pathStringCache=null,this.path=e.path.map(e=>({...e})),this.siblingStacks=e.siblingStacks.map(e=>new Map(e))}readOnly(){return this._view}}function cu(e){return String(e).replace(/--/g,"- -").replace(/--/g,"- -").replace(/-$/,"- ")}function uu(e){return String(e).replace(/\]\]>/g,"]]]]>")}function pu(e){return String(e).replace(/"/g,""").replace(/'/g,"'")}const du=":A-Za-z_À-ÖØ-öø-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�",fu=":A-Za-z_À-˿Ͱ-ͽͿ-҆҈-῿‌-‍⁰-↏Ⰰ-⿯、-퟿豈-﷏ﷰ-�𐀀-󯿿",hu=fu+"\\-\\.\\d·̀-ͯ҇‿-⁀",mu=(e,t,r="")=>{const n=`[${e.replace(":","")}][${t.replace(":","")}]*`;return{name:new RegExp(`^[${e}][${t}]*$`,r),ncName:new RegExp(`^${n}$`,r),qName:new RegExp(`^${n}(?::${n})?$`,r),nmToken:new RegExp(`^[${t}]+$`,r),nmTokens:new RegExp(`^[${t}]+(?:\\s+[${t}]+)*$`,r)}},gu=mu(du,du+"\\-\\.\\d·̀-ͯ‿-⁀"),yu=mu(fu,hu,"u"),bu=(e,{xmlVersion:t="1.0"}={})=>((e="1.0")=>"1.1"===e?yu:gu)(t).qName.test(e);function vu(e,t,r,n,i){return r.sanitizeName?bu(e,{xmlVersion:i})?e:r.sanitizeName(e,{isAttribute:t,matcher:n.readOnly()}):e}function xu(e,t){let r="";t.format&&(r="\n");const n=[];if(t.stopNodes&&Array.isArray(t.stopNodes))for(let e=0;et.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(e)){if(null!=e){let r=e.toString();return r=$u(r,t),r}return""}for(let l=0;l`,a=!1,n.pop();continue}if(p===t.commentPropName){s+=r+`\x3c!--${cu(c[u][0][t.textNodeName])}--\x3e`,a=!0,n.pop();continue}if("?"===p[0]){s+=("?xml"===p?"":r)+`<${p}${_u(c[":@"],t,f,n,o)}?>`,a=!0,n.pop();continue}let h=r;""!==h&&(h+=t.indentBy);const m=r+`<${p}${_u(c[":@"],t,f,n,o)}`;let g;g=f?Su(c[u],t):wu(c[u],t,h,n,i,o),-1!==t.unpairedTags.indexOf(p)?t.suppressUnpairedNode?s+=m+">":s+=m+"/>":g&&0!==g.length||!t.suppressEmptyNode?g&&g.endsWith(">")?s+=m+`>${g}${r}`:(s+=m+">",g&&""!==r&&(g.includes("/>")||g.includes("`):s+=m+"/>",a=!0,n.pop()}return s}function ku(e,t){if(!e||t.ignoreAttributes)return null;const r={};let n=!1;for(let i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[i.startsWith(t.attributeNamePrefix)?i.substr(t.attributeNamePrefix.length):i]=pu(e[i]),n=!0);return n?r:null}function Su(e,t){if(!Array.isArray(e))return null!=e?e.toString():"";let r="";for(let n=0;n${n}`:r+=`<${o}${e}/>`}}}return r}function Eu(e,t){let r="";if(e&&!t.ignoreAttributes)for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n))continue;let i=e[n];!0===i&&t.suppressBooleanAttributes?r+=` ${n.substr(t.attributeNamePrefix.length)}`:r+=` ${n.substr(t.attributeNamePrefix.length)}="${pu(i)}"`}return r}function Ou(e){const t=Object.keys(e);for(let r=0;r0&&t.processEntities)for(let r=0;r","g"),val:">"},{regex:new RegExp("<","g"),val:"<"},{regex:new RegExp("'","g"),val:"'"},{regex:new RegExp('"',"g"),val:"""}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function Cu(e){if(this.options=Object.assign({},Au,e),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(e=>"string"==typeof e&&e.startsWith("*.")?".."+e.substring(2):e)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let e=0;e{for(const r of t){if("string"==typeof r&&e===r)return!0;if(r instanceof RegExp&&r.test(e))return!0}}:()=>!1,this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=Iu),this.processTextOrObjNode=Tu,this.options.format?(this.indentate=Nu,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function ju(e,t,r,n,i){return r.sanitizeName?bu(e,{xmlVersion:i})?e:r.sanitizeName(e,{isAttribute:t,matcher:n.readOnly()}):e}function Tu(e,t,r,n,i){const o=this.extractAttributes(e);if(n.push(t,o),this.checkStopNode(n)){const i=this.buildRawContent(e),o=this.buildAttributesForStopNode(e);return n.pop(),this.buildObjectNode(i,t,o,r)}const s=this.j2x(e,r+1,n,i);return n.pop(),"?"===t[0]?this.buildTextValNode("",t,s.attrStr,r,n):void 0!==e[this.options.textNodeName]&&1===Object.keys(e).length?this.buildTextValNode(e[this.options.textNodeName],t,s.attrStr,r,n):this.buildObjectNode(s.val,t,s.attrStr,r)}function Nu(e){return this.options.indentBy.repeat(e)}function Iu(e){return!(!e.startsWith(this.options.attributeNamePrefix)||e===this.options.textNodeName)&&e.substr(this.attrPrefixLen)}Cu.prototype.build=function(e){if(this.options.preserveOrder)return xu(e,this.options);{Array.isArray(e)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(e={[this.options.arrayNodeName]:e});const t=new lu,r=function(e,t){const r=e["?xml"];if(r&&"object"==typeof r){if(t.attributesGroupName&&r[t.attributesGroupName]){const e=r[t.attributesGroupName][t.attributeNamePrefix+"version"];if(e)return e}const e=r[t.attributeNamePrefix+"version"];if(e)return e}return"1.0"}(e,this.options);return this.j2x(e,0,t,r).val}},Cu.prototype.j2x=function(e,t,r,n){let i="",o="";if(this.options.maxNestedTags&&r.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");const s=this.options.jPath?r.toString():r,a=this.checkStopNode(r);for(let l in e){if(!Object.prototype.hasOwnProperty.call(e,l))continue;const c=l===this.options.textNodeName||l===this.options.cdataPropName||l===this.options.commentPropName||this.options.attributesGroupName&&l===this.options.attributesGroupName||this.isAttribute(l)||"?"===l[0]?l:ju(l,!1,this.options,r,n);if(void 0===e[l])this.isAttribute(l)&&(o+="");else if(null===e[l])this.isAttribute(l)||c===this.options.cdataPropName||c===this.options.commentPropName?o+="":"?"===c[0]?o+=this.indentate(t)+"<"+c+"?"+this.tagEndChar:o+=this.indentate(t)+"<"+c+"/"+this.tagEndChar;else if(e[l]instanceof Date)o+=this.buildTextValNode(e[l],c,"",t,r);else if("object"!=typeof e[l]){const u=this.isAttribute(l);if(u&&!this.ignoreAttributesFn(u,s)){const t=ju(u,!0,this.options,r,n);i+=this.buildAttrPairStr(t,""+e[l],a)}else if(!u)if(l===this.options.textNodeName){let t=this.options.tagValueProcessor(l,""+e[l]);o+=this.replaceEntitiesValue(t)}else{r.push(c);const n=this.checkStopNode(r);if(r.pop(),n){const r=""+e[l];o+=""===r?this.indentate(t)+"<"+c+this.closeTag(c)+this.tagEndChar:this.indentate(t)+"<"+c+">"+r+""+e+"${e}`;else if("object"==typeof e&&null!==e){const n=this.buildRawContent(e),i=this.buildAttributesForStopNode(e);t+=""===n?`<${r}${i}/>`:`<${r}${i}>${n}`}}else if("object"==typeof n&&null!==n){const e=this.buildRawContent(n),i=this.buildAttributesForStopNode(n);t+=""===e?`<${r}${i}/>`:`<${r}${i}>${e}`}else t+=`<${r}>${n}`}return t},Cu.prototype.buildAttributesForStopNode=function(e){if(!e||"object"!=typeof e)return"";let t="";if(this.options.attributesGroupName&&e[this.options.attributesGroupName]){const r=e[this.options.attributesGroupName];for(let e in r){if(!Object.prototype.hasOwnProperty.call(r,e))continue;const n=e.startsWith(this.options.attributeNamePrefix)?e.substring(this.options.attributeNamePrefix.length):e,i=r[e];!0===i&&this.options.suppressBooleanAttributes?t+=" "+n:t+=" "+n+'="'+i+'"'}}else for(let r in e){if(!Object.prototype.hasOwnProperty.call(e,r))continue;const n=this.isAttribute(r);if(n){const i=e[r];!0===i&&this.options.suppressBooleanAttributes?t+=" "+n:t+=" "+n+'="'+i+'"'}}return t},Cu.prototype.buildObjectNode=function(e,t,r,n){if(""===e)return"?"===t[0]?this.indentate(n)+"<"+t+r+"?"+this.tagEndChar:this.indentate(n)+"<"+t+r+this.closeTag(t)+this.tagEndChar;if("?"===t[0])return this.indentate(n)+"<"+t+r+"?"+this.tagEndChar;{let i=""+e+i}},Cu.prototype.closeTag=function(e){let t="";return-1!==this.options.unpairedTags.indexOf(e)?this.options.suppressUnpairedNode||(t="/"):t=this.options.suppressEmptyNode?"/":`>`+this.newLine}if(!1!==this.options.commentPropName&&t===this.options.commentPropName){const t=cu(e);return this.indentate(n)+`\x3c!--${t}--\x3e`+this.newLine}if("?"===t[0])return this.indentate(n)+"<"+t+r+"?"+this.tagEndChar;{let i=this.options.tagValueProcessor(t,e);return i=this.replaceEntitiesValue(i),""===i?this.indentate(n)+"<"+t+r+this.closeTag(t)+this.tagEndChar:this.indentate(n)+"<"+t+r+">"+i+"0&&this.options.processEntities)for(let t=0;t1)&&(e={[t?.xml?.name||"root"]:e}),new Ru({ignoreAttributes:!1,format:!0,attributeNamePrefix:"$",textNodeName:"#text",cdataPropName:"#cdata"}).build(e)}(i,e):i}function zu(e,t){Lu[e]=t}zu("array",function(e,t={},r,n){const i=n&&n.depth||1;let o=Math.min(null!=e.maxItems?e.maxItems:1/0,e.minItems||1);const s=e.prefixItems||e.items||e.contains;Array.isArray(s)&&(o=Math.max(o,s.length));let a=e=>Array.isArray(s)?s[e]||{}:s||{},l=[];if(!s)return l;for(let e=0;e({"#text":{...e}}))}}:{[r]:{...l,...t}}:{[r]:l})}return l}),zu("boolean",function(e){return!0}),zu("integer",eu),zu("number",eu),zu("object",function(e,t={},r,n){let i={};const o=n&&n.depth||1;if(e&&"object"==typeof e.properties){const s=Array.isArray(e.required)?e.required:[],a={};for(const e of s)a[e]=!0;Object.keys(e.properties).forEach(s=>{if(t.skipNonRequired&&!a.hasOwnProperty(s))return;const l=Zc(e.properties[s],t,r,{propertyName:s,depth:o+1});if(t.skipReadOnly&&l.readOnly)n?.isAllOfChild&&(i[s]=Fc);else if(t.skipWriteOnly&&l.writeOnly)n?.isAllOfChild&&(i[s]=Fc);else if("xml"===t?.format){const{propertyName:t,value:r}=Hc(l,e.properties[s],{propertyName:s});t?i[t]=r:null!==r&&"object"==typeof r&&(i={...i,...r})}else i[s]=l.value})}if(e&&"object"==typeof e.additionalProperties){const n=e.additionalProperties["x-additionalPropertiesName"]||"property";i[`${String(n)}1`]=Zc(e.additionalProperties,t,r,{depth:o+1}).value,i[`${String(n)}2`]=Zc(e.additionalProperties,t,r,{depth:o+1}).value}if(e&&"object"==typeof e.properties&&void 0!==e.maxProperties&&Object.keys(i).length>e.maxProperties){const t={};let r=0;(Array.isArray(e.required)?e.required:[]).forEach(e=>{void 0!==i[e]&&(t[e]=i[e],r++)}),Object.keys(i).forEach(n=>{rnew Ic(e,r,t,n.encoding)):void 0!==n.example?this.examples={default:new Ic(e,{value:e.deref(n.example).resolved},t,n.encoding)}:ea(t)&&this.generateExample(e,n)}generateExample(e,t){const r={skipReadOnly:this.isRequestType,skipWriteOnly:!this.isRequestType,skipNonRequired:this.isRequestType&&this.onlyRequiredInSamples,maxSampleDepth:this.generatedSamplesMaxDepth};if(this.schema&&this.schema.oneOf){this.examples={};for(const n of this.schema.oneOf){const i=Mu(n.rawSchema,r,e.spec);this.schema.discriminatorProp&&"object"==typeof i&&i&&(i[this.schema.discriminatorProp]=n.title),this.examples[n.title]=new Ic(e,{value:i},this.name,t.encoding)}}else this.schema&&(this.examples={default:new Ic(e,{value:Mu(t.schema,r,e.spec)},this.name,t.encoding)})}}var Bu=Object.defineProperty,Uu=Object.getOwnPropertyDescriptor,qu=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?Uu(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Bu(t,r,o),o};class Vu{constructor(e,t,r,n){this.isRequestType=r,this.activeMimeIdx=0,ir(this),n.unstable_ignoreMimeParameters&&(t=function(e){const t={};return Object.keys(e).forEach(r=>{const n=e[r],i=r.split(";")[0].trim();t[i]?t[i]=Hs(Hs({},t[i]),n):t[i]=n}),t}(t)),this.mediaTypes=Object.keys(t).map(i=>{const o=t[i];return new Fu(e,i,r,o,n)})}activate(e){this.activeMimeIdx=e}get active(){return this.mediaTypes[this.activeMimeIdx]}get hasSample(){return this.mediaTypes.filter(e=>!!e.examples).length>0}}qu([Ce],Vu.prototype,"activeMimeIdx",2),qu([Ct],Vu.prototype,"activate",1),qu([Ie],Vu.prototype,"active",1);class Wu{constructor({parser:e,infoOrRef:t,options:r,isEvent:n}){const i=!n,{resolved:o}=e.deref(t);this.description=o.description||"",this.required=o.required;const s=function(e){let t=e.content;const r=e["x-examples"],n=e["x-example"];if(r){t=Hs({},t);for(const e of Object.keys(r)){const n=r[e];t[e]=Gs(Hs({},t[e]),{examples:n})}}else if(n){t=Hs({},t);for(const e of Object.keys(n)){const r=n[e];t[e]=Gs(Hs({},t[e]),{example:r})}}return t}(o);void 0!==s&&(this.content=new Vu(e,s,i,r))}}var Hu=Object.defineProperty,Gu=Object.defineProperties,Yu=Object.getOwnPropertyDescriptor,Ku=Object.getOwnPropertyDescriptors,Qu=Object.getOwnPropertySymbols,Xu=Object.prototype.hasOwnProperty,Ju=Object.prototype.propertyIsEnumerable,Zu=(e,t,r)=>t in e?Hu(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ep=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?Yu(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Hu(t,r,o),o};class tp{constructor({parser:e,code:t,defaultAsError:r,infoOrRef:n,options:i,isEvent:o}){this.expanded=!1,this.headers=[],ir(this),this.expanded="all"===i.expandResponses||i.expandResponses[t];const{resolved:s}=e.deref(n);this.code=t,void 0!==s.content&&(this.content=new Vu(e,s.content,o,i)),void 0!==s["x-summary"]?(this.summary=s["x-summary"],this.description=s.description||""):(this.summary=s.description||"",this.description=""),this.type=Ks(t,r);const a=s.headers;void 0!==a&&(this.headers=Object.keys(a).map(t=>{const r=a[t];return new zc(e,((e,t)=>Gu(e,Ku(t)))(((e,t)=>{for(var r in t||(t={}))Xu.call(t,r)&&Zu(e,r,t[r]);if(Qu)for(var r of Qu(t))Ju.call(t,r)&&Zu(e,r,t[r]);return e})({},r),{name:t}),"",i)})),i.showExtensions&&(this.extensions=va(s,i.showExtensions))}toggle(){this.expanded=!this.expanded}}ep([Ce],tp.prototype,"expanded",2),ep([Ct],tp.prototype,"toggle",1);var rp=Object.defineProperty,np=Object.getOwnPropertyDescriptor,ip=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?np(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&rp(t,r,o),o};function op(e){return"payload"===e.lang&&e.requestBodyContent}let sp=!1;class ap{constructor(e,t,r,n,i=!1){var o,s;this.parser=e,this.operationSpec=t,this.options=n,this.type="operation",this.items=[],this.ready=!0,this.active=!1,this.expanded=!1,ir(this),this.pointer=t.pointer,this.description=t.description,this.parent=r,this.externalDocs=t.externalDocs,this.deprecated=!!t.deprecated,this.httpVerb=t.httpVerb,this.deprecated=!!t.deprecated,this.operationId=t.operationId,this.path=t.pathName,this.isCallback=i,this.isWebhook=t.isWebhook,this.isEvent=this.isCallback||this.isWebhook,this.name=(s=t).summary||s.operationId||s.description&&s.description.substring(0,50)||s.pathName||"",this.sidebarLabel=n.sideNavStyle===mi.IdOnly?this.operationId||this.path:n.sideNavStyle===mi.PathOnly?this.path:this.name,this.badges=(null==(o=t["x-badges"])?void 0:o.map(({name:e,color:t,position:r})=>({name:e,color:t,position:r||"after"})))||[],this.isCallback?(this.security=(t.security||[]).map(t=>new Hl(t,e)),this.servers=fa("",t.servers||t.pathServers||[])):(this.operationHash=t.operationId&&"operation/"+t.operationId,this.id=void 0!==t.operationId?(r?r.id+"/":"")+this.operationHash:void 0!==r?r.id+this.pointer:this.pointer,this.security=(t.security||e.spec.security||[]).map(t=>new Hl(t,e)),this.servers=fa(e.specUrl,t.servers||t.pathServers||e.spec.servers||[])),n.showExtensions&&(this.extensions=va(t,n.showExtensions))}activate(){this.active=!0}deactivate(){this.active=!1}toggle(){this.expanded=!this.expanded}expand(){this.parent&&this.parent.expand()}collapse(){}get requestBody(){return this.operationSpec.requestBody&&new Wu({parser:this.parser,infoOrRef:this.operationSpec.requestBody,options:this.options,isEvent:this.isEvent})}get codeSamples(){const{payloadSampleIdx:e,hideRequestPayloadSample:t}=this.options;let r=this.operationSpec["x-codeSamples"]||this.operationSpec["x-code-samples"]||[];this.operationSpec["x-code-samples"]&&!sp&&(sp=!0,console.warn('"x-code-samples" is deprecated. Use "x-codeSamples" instead'));const n=this.requestBody&&this.requestBody.content;if(n&&n.hasSample&&!t){const t=Math.min(r.length,e);r=[...r.slice(0,t),{lang:"payload",label:"Payload",source:"",requestBodyContent:n},...r.slice(t)]}return r}get parameters(){const e=function(e,t=[],r=[]){const n={};return r.forEach(t=>{({resolved:t}=e.deref(t)),n[t.name+"_"+t.in]=!0}),(t=t.filter(t=>(({resolved:t}=e.deref(t)),!n[t.name+"_"+t.in]))).concat(r)}(this.parser,this.operationSpec.pathParameters,this.operationSpec.parameters).map(e=>new zc(this.parser,e,this.pointer,this.options));return this.options.sortPropsAlphabetically?da(e,"name"):this.options.sortRequiredPropsFirst?pa(e):e}get responses(){let e=!1;return Object.keys(this.operationSpec.responses||[]).filter(t=>{return"default"===t||("success"===Ks(t)&&(e=!0),"default"===(r=t)||ii(r)||Ys(r));var r}).map(t=>new tp({parser:this.parser,code:t,defaultAsError:e,infoOrRef:this.operationSpec.responses[t],options:this.options,isEvent:this.isEvent}))}get callbacks(){return Object.keys(this.operationSpec.callbacks||[]).map(e=>new ic(this.parser,e,this.operationSpec.callbacks[e],this.pointer,this.options))}}ip([Ce],ap.prototype,"ready",2),ip([Ce],ap.prototype,"active",2),ip([Ce],ap.prototype,"expanded",2),ip([Ct],ap.prototype,"activate",1),ip([Ct],ap.prototype,"deactivate",1),ip([Ct],ap.prototype,"toggle",1),ip([Na],ap.prototype,"requestBody",1),ip([Na],ap.prototype,"codeSamples",1),ip([Na],ap.prototype,"parameters",1),ip([Na],ap.prototype,"responses",1),ip([Na],ap.prototype,"callbacks",1);const lp=gs.div` + width: calc(100% - ${e=>e.theme.rightPanel.width}); + padding: 0 ${e=>e.theme.spacing.sectionHorizontal}px; + + ${({$compact:e,theme:t})=>ms.lessThan("medium",!0)` + width: 100%; + padding: ${`${e?0:t.spacing.sectionVertical}px ${t.spacing.sectionHorizontal}px`}; + `}; +`,cp=gs.div.attrs(e=>({[eh]:e.id}))` + padding: ${e=>e.theme.spacing.sectionVertical}px 0; + + &:last-child { + min-height: calc(100vh + 1px); + } + + & > &:last-child { + min-height: initial; + } + + ${ms.lessThan("medium",!0)` + padding: 0; + `} + ${({$underlined:e})=>e?"\n position: relative;\n\n &:not(:last-of-type):after {\n position: absolute;\n bottom: 0;\n width: 100%;\n display: block;\n content: '';\n border-bottom: 1px solid rgba(0, 0, 0, 0.2);\n }\n ":""} +`,up=gs.div` + width: ${e=>e.theme.rightPanel.width}; + color: ${({theme:e})=>e.rightPanel.textColor}; + background-color: ${e=>e.theme.rightPanel.backgroundColor}; + padding: 0 ${e=>e.theme.spacing.sectionHorizontal}px; + + ${ms.lessThan("medium",!0)` + width: 100%; + padding: ${e=>`${e.theme.spacing.sectionVertical}px ${e.theme.spacing.sectionHorizontal}px`}; + `}; +`,pp=gs(up)` + background-color: ${e=>e.theme.rightPanel.backgroundColor}; +`,dp=gs.div` + display: flex; + width: 100%; + padding: 0; + + ${ms.lessThan("medium",!0)` + flex-direction: column; + `}; +`,fp={1:"1.85714em",2:"1.57143em",3:"1.27em"},hp=e=>ps` + font-family: ${({theme:e})=>e.typography.headings.fontFamily}; + font-weight: ${({theme:e})=>e.typography.headings.fontWeight}; + font-size: ${fp[e]}; + line-height: ${({theme:e})=>e.typography.headings.lineHeight}; +`,mp=gs.h1` + ${hp(1)}; + color: ${({theme:e})=>e.colors.text.primary}; + + ${ys("H1")}; +`,gp=gs.h2` + ${hp(2)}; + color: ${({theme:e})=>e.colors.text.primary}; + margin: 0 0 20px; + + ${ys("H2")}; +`,yp=gs.h2` + ${hp(3)}; + color: ${({theme:e})=>e.colors.text.primary}; + + ${ys("H3")}; +`,bp=gs.h3` + color: ${({theme:e})=>e.rightPanel.textColor}; + + ${ys("RightPanelHeader")}; +`,vp=gs.h5` + border-bottom: 1px solid rgba(38, 50, 56, 0.3); + margin: 1em 0 1em 0; + color: rgba(38, 50, 56, 0.5); + font-weight: normal; + text-transform: uppercase; + font-size: 0.929em; + line-height: 20px; + + ${ys("UnderlinedHeader")}; +`,xp=(0,r.createContext)(void 0),{Provider:wp,Consumer:kp}=xp;function Sp(e){const{spec:t,specUrl:i,options:o,onLoaded:s,children:a}=e,[l,c]=r.useState(null),[u,p]=r.useState(null);if(u)throw u;r.useEffect(()=>{!function(){return e=this,r=function*(){if(t||i){c(null);try{const e=yield function(e){return t=this,r=function*(){const t=new As.Config({}),r={config:t,base:Qn?window.location.href:process.cwd()};Qn&&(t.resolve.http.customFetch=n.g.fetch),"object"==typeof e&&null!==e?r.doc={source:{absoluteRef:""},parsed:e}:r.ref=e;const{bundle:{parsed:i}}=yield(0,$s.l2)(r);return void 0!==i.swagger?(o=i,console.warn("[ReDoc Compatibility mode]: Converting OpenAPI 2.0 to OpenAPI 3.0"),new Promise((e,t)=>(0,Cs.convertObj)(o,{patch:!0,warnOnly:!0,text:"{}",anchors:!0},(r,n)=>{if(r)return t(r);e(n&&n.openapi)}))):i;var o},new Promise((e,n)=>{var i=e=>{try{s(r.next(e))}catch(e){n(e)}},o=e=>{try{s(r.throw(e))}catch(e){n(e)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(i,o);s((r=r.apply(t,null)).next())});var t,r}(t||i);c(e)}catch(e){throw s&&s(e),p(e),e}}},new Promise((t,n)=>{var i=e=>{try{s(r.next(e))}catch(e){n(e)}},o=e=>{try{s(r.throw(e))}catch(e){n(e)}},s=e=>e.done?t(e.value):Promise.resolve(e.value).then(i,o);s((r=r.apply(e,null)).next())});var e,r}()},[t,i]);const d=r.useMemo(()=>{if(!l)return null;try{return new Lb(l,i,o)}catch(e){throw s&&s(e),e}},[l,i,o]);return r.useEffect(()=>{d&&s&&s()},[d,s]),a({loading:!d,store:d})}const Ep=e=>ps` + ${e} { + cursor: pointer; + margin-left: -20px; + padding: 0; + line-height: 1; + width: 20px; + display: inline-block; + outline: 0; + } + ${e}:before { + content: ''; + width: 15px; + height: 15px; + background-size: contain; + background-image: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMCIgeT0iMCIgd2lkdGg9IjUxMiIgaGVpZ2h0PSI1MTIiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCA1MTIgNTEyIiB4bWw6c3BhY2U9InByZXNlcnZlIj48cGF0aCBmaWxsPSIjMDEwMTAxIiBkPSJNNDU5LjcgMjMzLjRsLTkwLjUgOTAuNWMtNTAgNTAtMTMxIDUwLTE4MSAwIC03LjktNy44LTE0LTE2LjctMTkuNC0yNS44bDQyLjEtNDIuMWMyLTIgNC41LTMuMiA2LjgtNC41IDIuOSA5LjkgOCAxOS4zIDE1LjggMjcuMiAyNSAyNSA2NS42IDI0LjkgOTAuNSAwbDkwLjUtOTAuNWMyNS0yNSAyNS02NS42IDAtOTAuNSAtMjQuOS0yNS02NS41LTI1LTkwLjUgMGwtMzIuMiAzMi4yYy0yNi4xLTEwLjItNTQuMi0xMi45LTgxLjYtOC45bDY4LjYtNjguNmM1MC01MCAxMzEtNTAgMTgxIDBDNTA5LjYgMTAyLjMgNTA5LjYgMTgzLjQgNDU5LjcgMjMzLjR6TTIyMC4zIDM4Mi4ybC0zMi4yIDMyLjJjLTI1IDI0LjktNjUuNiAyNC45LTkwLjUgMCAtMjUtMjUtMjUtNjUuNiAwLTkwLjVsOTAuNS05MC41YzI1LTI1IDY1LjUtMjUgOTAuNSAwIDcuOCA3LjggMTIuOSAxNy4yIDE1LjggMjcuMSAyLjQtMS40IDQuOC0yLjUgNi44LTQuNWw0Mi4xLTQyYy01LjQtOS4yLTExLjYtMTgtMTkuNC0yNS44IC01MC01MC0xMzEtNTAtMTgxIDBsLTkwLjUgOTAuNWMtNTAgNTAtNTAgMTMxIDAgMTgxIDUwIDUwIDEzMSA1MCAxODEgMGw2OC42LTY4LjZDMjc0LjYgMzk1LjEgMjQ2LjQgMzkyLjMgMjIwLjMgMzgyLjJ6Ii8+PC9zdmc+Cg=='); + opacity: 0.5; + visibility: hidden; + display: inline-block; + vertical-align: middle; + } + + h1:hover > ${e}::before, h2:hover > ${e}::before, ${e}:hover::before { + visibility: visible; + } +`,Op=gs(function(e){const t=r.useContext(xp),n=r.useCallback(r=>{t&&function(e,t,r){t.defaultPrevented||0!==t.button||(e=>!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey))(t)||(t.preventDefault(),e.replace(encodeURI(r)))}(t.menu.history,r,e.to)},[t,e.to]);return t?r.createElement("a",{className:e.className,href:t.menu.history.linkForId(e.to),onClick:n,"aria-label":e.to},e.children):null})` + ${Ep("&")}; +`;function _p(e){return r.createElement(Op,{to:e.to})}const Pp={left:"90deg",right:"-90deg",up:"-180deg",down:"0"},$p=gs(e=>r.createElement("svg",{className:e.className,style:e.style,version:"1.1",viewBox:"0 0 24 24",x:"0",xmlns:"http://www.w3.org/2000/svg",y:"0","aria-hidden":"true"},r.createElement("polygon",{points:"17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "})))` + height: ${e=>e.size||"18px"}; + width: ${e=>e.size||"18px"}; + min-width: ${e=>e.size||"18px"}; + vertical-align: middle; + float: ${e=>e.float||""}; + transition: transform 0.2s ease-out; + transform: rotateZ(${e=>Pp[e.direction||"down"]}); + + polygon { + fill: ${({color:e,theme:t})=>e&&t.colors.responses[e]&&t.colors.responses[e].color||e}; + } +`,Ap=gs.span` + display: inline-block; + padding: 2px 8px; + margin: 0; + background-color: ${e=>e.color||e.theme.colors[e.type].main}; + color: ${e=>e.theme.colors[e.type].contrastText}; + font-size: ${e=>e.theme.typography.code.fontSize}; + vertical-align: middle; + line-height: 1.6; + border-radius: 4px; + font-weight: ${({theme:e})=>e.typography.fontWeightBold}; + font-size: 12px; + + span[type] { + margin-left: 4px; + } +`,Cp=ps` + text-decoration: line-through; + color: #707070; +`,jp=gs.caption` + text-align: right; + font-size: 0.9em; + font-weight: normal; + color: ${e=>e.theme.colors.text.secondary}; +`,Tp=gs.td` + border-left: 1px solid ${e=>e.theme.schema.linesColor}; + box-sizing: border-box; + position: relative; + padding: 10px 10px 10px 0; + + ${ms.lessThan("small")` + display: block; + overflow: hidden; + `} + + tr:first-of-type > &, + tr.last > & { + border-left-width: 0; + background-position: top left; + background-repeat: no-repeat; + background-size: 1px 100%; + } + + tr:first-of-type > & { + background-image: linear-gradient( + to bottom, + transparent 0%, + transparent 22px, + ${e=>e.theme.schema.linesColor} 22px, + ${e=>e.theme.schema.linesColor} 100% + ); + } + + tr.last > & { + background-image: linear-gradient( + to bottom, + ${e=>e.theme.schema.linesColor} 0%, + ${e=>e.theme.schema.linesColor} 22px, + transparent 22px, + transparent 100% + ); + } + + tr.last + tr > & { + border-left-color: transparent; + } + + tr.last:first-child > & { + background: none; + border-left-color: transparent; + } +`,Np=gs(Tp)` + padding: 0; +`,Ip=gs(Tp)` + vertical-align: top; + line-height: 20px; + white-space: nowrap; + font-size: 13px; + font-family: ${e=>e.theme.typography.code.fontFamily}; + + &.deprecated { + ${Cp}; + } + + ${({kind:e})=>"patternProperties"===e&&ps` + > span.property-name { + display: inline-table; + white-space: break-spaces; + margin-right: 20px; + + ::before, + ::after { + content: '/'; + filter: opacity(0.2); + } + } + `} + + ${({kind:e=""})=>["field","additionalProperties","patternProperties"].includes(e)?"":"font-style: italic"}; + + ${ys("PropertyNameCell")}; +`,Rp=gs.td` + border-bottom: 1px solid #9fb4be; + padding: 10px 0; + width: ${e=>e.theme.schema.defaultDetailsWidth}; + box-sizing: border-box; + + tr.expanded & { + border-bottom: none; + } + + ${ms.lessThan("small")` + padding: 0 20px; + border-bottom: none; + border-left: 1px solid ${e=>e.theme.schema.linesColor}; + + tr.last > & { + border-left: none; + } + `} + + ${ys("PropertyDetailsCell")}; +`,Lp=gs.span` + color: ${e=>e.theme.schema.linesColor}; + font-family: ${e=>e.theme.typography.code.fontFamily}; + margin-right: 10px; + + &::before { + content: ''; + display: inline-block; + vertical-align: middle; + width: 10px; + height: 1px; + background: ${e=>e.theme.schema.linesColor}; + } + + &::after { + content: ''; + display: inline-block; + vertical-align: middle; + width: 1px; + background: ${e=>e.theme.schema.linesColor}; + height: 7px; + } +`,Dp=gs.div` + padding: ${({theme:e})=>e.schema.nestingSpacing}; +`,Mp=gs.table` + border-collapse: separate; + border-radius: 3px; + font-size: ${e=>e.theme.typography.fontSize}; + + border-spacing: 0; + width: 100%; + + > tr { + vertical-align: middle; + } + + ${ms.lessThan("small")` + display: block; + > tr, > tbody > tr { + display: block; + } + `} + + ${ms.lessThan("small",!1," and (-ms-high-contrast:none)")` + td { + float: left; + width: 100%; + } + `} + + & + ${Dp}, + & + ${Dp} + ${Dp} + ${Dp}, + & + ${Dp} + ${Dp} + ${Dp} + ${Dp} + ${Dp} { + margin: ${({theme:e})=>e.schema.nestingSpacing}; + margin-right: 0; + background: ${({theme:e})=>e.schema.nestedBackground}; + } + + & + ${Dp} + ${Dp}, + & + ${Dp} + ${Dp} + ${Dp} + ${Dp}, + & + ${Dp} + ${Dp} + ${Dp} + ${Dp} + ${Dp} + ${Dp} { + background: #ffffff; + } +`,zp=gs.div` + margin: 0 0 3px 0; + display: inline-block; +`,Fp=gs.span` + font-size: 0.9em; + margin-right: 10px; + color: ${e=>e.theme.colors.primary.main}; + font-family: ${e=>e.theme.typography.headings.fontFamily}; +} +`,Bp=gs.button` + display: inline-block; + margin-right: 10px; + margin-bottom: 5px; + font-size: 0.8em; + cursor: pointer; + border: 1px solid ${e=>e.theme.colors.primary.main}; + padding: 2px 10px; + line-height: 1.5em; + outline: none; + &:focus { + box-shadow: 0 0 0 1px ${e=>e.theme.colors.primary.main}; + } + + ${({$deprecated:e})=>e&&Cp||""}; + + ${e=>e.$active?`\n color: white;\n background-color: ${e.theme.colors.primary.main};\n &:focus {\n box-shadow: none;\n background-color: ${Dn(.15,e.theme.colors.primary.main)};\n }\n `:`\n color: ${e.theme.colors.primary.main};\n background-color: white;\n `} +`,Up=gs.div` + font-size: 0.9em; + font-family: ${e=>e.theme.typography.code.fontFamily}; + &::after { + content: ' ['; + } +`,qp=gs.div` + font-size: 0.9em; + font-family: ${e=>e.theme.typography.code.fontFamily}; + &::after { + content: ']'; + } +`;function Vp(e){return t=>!!t.type&&t.type.tabsRole===e}const Wp=Vp("Tab"),Hp=Vp("TabList"),Gp=Vp("TabPanel");function Yp(e,t){return r.Children.map(e,e=>null===e?null:function(e){return Wp(e)||Hp(e)||Gp(e)}(e)?t(e):e.props&&e.props.children&&"object"==typeof e.props.children?(0,r.cloneElement)(e,{...e.props,children:Yp(e.props.children,t)}):e)}function Kp(e,t){return r.Children.forEach(e,e=>{null!==e&&(Wp(e)||Gp(e)?t(e):e.props&&e.props.children&&"object"==typeof e.props.children&&(Hp(e)&&t(e),Kp(e.props.children,t)))})}function Qp(e){var t,r,n="";if("string"==typeof e||"number"==typeof e)n+=e;else if("object"==typeof e)if(Array.isArray(e)){var i=e.length;for(t=0;t{Wp(e)&&t++}),t}function Zp(e){return e&&"getAttribute"in e}function ed(e){return Zp(e)&&e.getAttribute("data-rttab")}function td(e){return Zp(e)&&"true"===e.getAttribute("aria-disabled")}let rd;const nd={className:"react-tabs",focus:!1},id=e=>{let t=(0,r.useRef)([]),n=(0,r.useRef)([]);const i=(0,r.useRef)();function o(t,r){if(t<0||t>=l())return;const{onSelect:n,selectedIndex:i}=e;n(t,i,r)}function s(e){const t=l();for(let r=e+1;re;)if(!td(c(t)))return t;return e}function l(){const{children:t}=e;return Jp(t)}function c(e){return t.current[`tabs-${e}`]}function u(e){let t=e.target;do{if(p(t)){if(td(t))return;return void o([].slice.call(t.parentNode.children).filter(ed).indexOf(t),e)}}while(null!=(t=t.parentNode))}function p(e){if(!ed(e))return!1;let t=e.parentElement;do{if(t===i.current)return!0;if(t.getAttribute("data-rttabs"))break;t=t.parentElement}while(t);return!1}const{children:d,className:f,disabledTabClassName:h,domRef:m,focus:g,forceRenderTabPanel:y,onSelect:b,selectedIndex:v,selectedTabClassName:x,selectedTabPanelClassName:w,environment:k,disableUpDownKeys:S,disableLeftRightKeys:E,...O}={...nd,...e};return r.createElement("div",Object.assign({},O,{className:Xp(f),onClick:u,onKeyDown:function(t){const{direction:r,disableUpDownKeys:n,disableLeftRightKeys:i}=e;if(p(t.target)){let{selectedIndex:p}=e,d=!1,f=!1;"Space"!==t.code&&32!==t.keyCode&&"Enter"!==t.code&&13!==t.keyCode||(d=!0,f=!1,u(t)),(i||37!==t.keyCode&&"ArrowLeft"!==t.code)&&(n||38!==t.keyCode&&"ArrowUp"!==t.code)?(i||39!==t.keyCode&&"ArrowRight"!==t.code)&&(n||40!==t.keyCode&&"ArrowDown"!==t.code)?35===t.keyCode||"End"===t.code?(p=function(){let e=l();for(;e--;)if(!td(c(e)))return e;return null}(),d=!0,f=!0):36!==t.keyCode&&"Home"!==t.code||(p=function(){const e=l();for(let t=0;t{i.current=e,m&&m(e)},"data-rttabs":!0}),function(){let i=0;const{children:o,disabledTabClassName:s,focus:a,forceRenderTabPanel:u,selectedIndex:p,selectedTabClassName:d,selectedTabPanelClassName:f,environment:h}=e;n.current=n.current||[];let m=n.current.length-l();const g=(0,r.useId)();for(;m++<0;)n.current.push(`${g}${n.current.length}`);return Yp(o,e=>{let o=e;if(Hp(e)){let i=0,l=!1;null==rd&&function(e){const t=e||("undefined"!=typeof window?window:void 0);try{rd=!(void 0===t||!t.document||!t.document.activeElement)}catch(e){rd=!1}}(h);const u=h||("undefined"!=typeof window?window:void 0);rd&&u&&(l=r.Children.toArray(e.props.children).filter(Wp).some((e,t)=>u.document.activeElement===c(t))),o=(0,r.cloneElement)(e,{children:Yp(e.props.children,e=>{const o=`tabs-${i}`,c=p===i,u={tabRef:e=>{t.current[o]=e},id:n.current[i],selected:c,focus:c&&(a||l)};return d&&(u.selectedClassName=d),s&&(u.disabledClassName=s),i++,(0,r.cloneElement)(e,u)})})}else if(Gp(e)){const t={id:n.current[i],selected:p===i};u&&(t.forceRender=u),f&&(t.selectedClassName=f),i++,o=(0,r.cloneElement)(e,t)}return o})}())};id.propTypes={};var od=id;const sd={defaultFocus:!1,focusTabOnClick:!0,forceRenderTabPanel:!1,selectedIndex:null,defaultIndex:null,environment:null,disableUpDownKeys:!1,disableLeftRightKeys:!1},ad=e=>{const{children:t,defaultFocus:n,defaultIndex:i,focusTabOnClick:o,onSelect:s,...a}={...sd,...e},[l,c]=(0,r.useState)(n),[u]=(0,r.useState)((e=>null===e.selectedIndex?1:0)(a)),[p,d]=(0,r.useState)(1===u?i||0:null);if((0,r.useEffect)(()=>{c(!1)},[]),1===u){const e=Jp(t);(0,r.useEffect)(()=>{if(null!=p){const t=Math.max(0,e-1);d(Math.min(p,t))}},[e])}let f={...e,...a};return f.focus=l,f.onSelect=(e,t,r)=>{"function"==typeof s&&!1===s(e,t,r)||(o&&c(!0),1===u&&d(e))},null!=p&&(f.selectedIndex=p),delete f.defaultFocus,delete f.defaultIndex,delete f.focusTabOnClick,r.createElement(od,f,t)};ad.propTypes={},ad.tabsRole="Tabs";var ld=ad;const cd={className:"react-tabs__tab-list"},ud=e=>{const{children:t,className:n,...i}={...cd,...e};return r.createElement("ul",Object.assign({},i,{className:Xp(n),role:"tablist"}),t)};ud.tabsRole="TabList",ud.propTypes={};var pd=ud;const dd="react-tabs__tab",fd={className:dd,disabledClassName:`${dd}--disabled`,focus:!1,id:null,selected:!1,selectedClassName:`${dd}--selected`},hd=e=>{let t=(0,r.useRef)();const{children:n,className:i,disabled:o,disabledClassName:s,focus:a,id:l,selected:c,selectedClassName:u,tabIndex:p,tabRef:d,...f}={...fd,...e};return(0,r.useEffect)(()=>{c&&a&&t.current.focus()},[c,a]),r.createElement("li",Object.assign({},f,{className:Xp(i,{[u]:c,[s]:o}),ref:e=>{t.current=e,d&&d(e)},role:"tab",id:`tab${l}`,"aria-selected":c?"true":"false","aria-disabled":o?"true":"false","aria-controls":`panel${l}`,tabIndex:p||(c?"0":null),"data-rttab":!0}),n)};hd.propTypes={},hd.tabsRole="Tab";var md=hd;const gd="react-tabs__tab-panel",yd={className:gd,forceRender:!1,selectedClassName:`${gd}--selected`},bd=e=>{const{children:t,className:n,forceRender:i,id:o,selected:s,selectedClassName:a,...l}={...yd,...e};return r.createElement("div",Object.assign({},l,{className:Xp(n,{[a]:s}),role:"tabpanel",id:`panel${o}`,"aria-labelledby":`tab${o}`}),i||s?t:null)};bd.tabsRole="TabPanel",bd.propTypes={};var vd=bd;const xd=gs(ld)` + > ul { + list-style: none; + padding: 0; + margin: 0; + margin: 0 -5px; + + > li { + padding: 5px 10px; + display: inline-block; + + background-color: ${({theme:e})=>e.codeBlock.backgroundColor}; + border-bottom: 1px solid rgba(0, 0, 0, 0.5); + cursor: pointer; + text-align: center; + outline: none; + color: ${({theme:e})=>Dn(e.colors.tonalOffset,e.rightPanel.textColor)}; + margin: 0 + ${({theme:e})=>`${e.spacing.unit}px ${e.spacing.unit}px ${e.spacing.unit}px`}; + border: 1px solid ${({theme:e})=>Dn(.05,e.codeBlock.backgroundColor)}; + border-radius: 5px; + min-width: 60px; + font-size: 0.9em; + font-weight: bold; + + &.react-tabs__tab--selected { + color: ${e=>e.theme.colors.text.primary}; + background: ${({theme:e})=>e.rightPanel.textColor}; + &:focus { + outline: auto; + } + } + + &:only-child { + flex: none; + min-width: 100px; + } + + &.tab-success { + color: ${e=>e.theme.colors.responses.success.tabTextColor}; + } + + &.tab-redirect { + color: ${e=>e.theme.colors.responses.redirect.tabTextColor}; + } + + &.tab-info { + color: ${e=>e.theme.colors.responses.info.tabTextColor}; + } + + &.tab-error { + color: ${e=>e.theme.colors.responses.error.tabTextColor}; + } + } + } + > .react-tabs__tab-panel { + background: ${({theme:e})=>e.codeBlock.backgroundColor}; + & > div, + & > pre { + padding: ${e=>4*e.theme.spacing.unit}px; + margin: 0; + } + + & > div > pre { + padding: 0; + } + } +`,wd=(gs(xd)` + > ul { + display: block; + > li { + padding: 2px 5px; + min-width: auto; + margin: 0 15px 0 0; + font-size: 13px; + font-weight: normal; + border-bottom: 1px dashed; + color: ${({theme:e})=>Dn(e.colors.tonalOffset,e.rightPanel.textColor)}; + border-radius: 0; + background: none; + + &:last-child { + margin-right: 0; + } + + &.react-tabs__tab--selected { + color: ${({theme:e})=>e.rightPanel.textColor}; + background: none; + } + } + } + > .react-tabs__tab-panel { + & > div, + & > pre { + padding: ${e=>2*e.theme.spacing.unit}px 0; + } + } +`,gs.div` + /** + * Based on prism-dark.css + */ + + code[class*='language-'], + pre[class*='language-'] { + /* color: white; + background: none; */ + text-shadow: 0 -0.1em 0.2em black; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; + } + + @media print { + code[class*='language-'], + pre[class*='language-'] { + text-shadow: none; + } + } + + /* Code blocks */ + pre[class*='language-'] { + padding: 1em; + margin: 0.5em 0; + overflow: auto; + } + + .token.comment, + .token.prolog, + .token.doctype, + .token.cdata { + color: hsl(30, 20%, 50%); + } + + .token.punctuation { + opacity: 0.7; + } + + .namespace { + opacity: 0.7; + } + + .token.property, + .token.tag, + .token.number, + .token.constant, + .token.symbol { + color: #4a8bb3; + } + + .token.boolean { + color: #e64441; + } + + .token.selector, + .token.attr-name, + .token.string, + .token.char, + .token.builtin, + .token.inserted { + color: #a0fbaa; + & + a, + & + a:visited { + color: #4ed2ba; + text-decoration: underline; + } + } + + .token.property.string { + color: white; + } + + .token.operator, + .token.entity, + .token.url, + .token.variable { + color: hsl(40, 90%, 60%); + } + + .token.atrule, + .token.attr-value, + .token.keyword { + color: hsl(350, 40%, 70%); + } + + .token.regex, + .token.important { + color: #e90; + } + + .token.important, + .token.bold { + font-weight: bold; + } + .token.italic { + font-style: italic; + } + + .token.entity { + cursor: help; + } + + .token.deleted { + color: red; + } + + ${ys("Prism")}; +`),kd=gs.div` + opacity: 0.7; + transition: opacity 0.3s ease; + text-align: right; + &:focus-within { + opacity: 1; + } + > button { + background-color: transparent; + border: 0; + color: inherit; + padding: 2px 10px; + font-family: ${({theme:e})=>e.typography.fontFamily}; + font-size: ${({theme:e})=>e.typography.fontSize}; + line-height: ${({theme:e})=>e.typography.lineHeight}; + cursor: pointer; + outline: 0; + + :hover, + :focus { + background: rgba(255, 255, 255, 0.1); + } + } +`,Sd=gs.div` + &:hover ${kd} { + opacity: 1; + } +`,Ed=gs(wd).attrs({as:"pre"})` + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: ${e=>e.theme.typography.code.fontSize}; + overflow-x: auto; + margin: 0; + + white-space: ${({theme:e})=>e.typography.code.wrap?"pre-wrap":"pre"}; +`;function Od(e){return getComputedStyle(e)}function _d(e,t){for(var r in t){var n=t[r];"number"==typeof n&&(n+="px"),e.style[r]=n}return e}function Pd(e){var t=document.createElement("div");return t.className=e,t}var $d="undefined"!=typeof Element&&(Element.prototype.matches||Element.prototype.webkitMatchesSelector||Element.prototype.mozMatchesSelector||Element.prototype.msMatchesSelector);function Ad(e,t){if(!$d)throw new Error("No element matching method supported");return $d.call(e,t)}function Cd(e){e.remove?e.remove():e.parentNode&&e.parentNode.removeChild(e)}function jd(e,t){return Array.prototype.filter.call(e.children,function(e){return Ad(e,t)})}var Td=function(e){return"ps__thumb-"+e},Nd=function(e){return"ps__rail-"+e},Id="ps__child--consume",Rd="ps--focus",Ld="ps--clicking",Dd=function(e){return"ps--active-"+e},Md=function(e){return"ps--scrolling-"+e},zd={x:null,y:null};function Fd(e,t){var r=e.element.classList,n=Md(t);r.contains(n)?clearTimeout(zd[t]):r.add(n)}function Bd(e,t){zd[t]=setTimeout(function(){return e.isAlive&&e.element.classList.remove(Md(t))},e.settings.scrollingThreshold)}var Ud=function(e){this.element=e,this.handlers={}},qd={isEmpty:{configurable:!0}};Ud.prototype.bind=function(e,t){void 0===this.handlers[e]&&(this.handlers[e]=[]),this.handlers[e].push(t),this.element.addEventListener(e,t,!1)},Ud.prototype.unbind=function(e,t){var r=this;this.handlers[e]=this.handlers[e].filter(function(n){return!(!t||n===t)||(r.element.removeEventListener(e,n,!1),!1)})},Ud.prototype.unbindAll=function(){for(var e in this.handlers)this.unbind(e)},qd.isEmpty.get=function(){var e=this;return Object.keys(this.handlers).every(function(t){return 0===e.handlers[t].length})},Object.defineProperties(Ud.prototype,qd);var Vd=function(){this.eventElements=[]};function Wd(e){if("function"==typeof window.CustomEvent)return new CustomEvent(e);var t=document.createEvent("CustomEvent");return t.initCustomEvent(e,!1,!1,void 0),t}function Hd(e,t,r,n,i){var o;if(void 0===n&&(n=!0),void 0===i&&(i=!1),"top"===t)o=["contentHeight","containerHeight","scrollTop","y","up","down"];else{if("left"!==t)throw new Error("A proper axis should be provided");o=["contentWidth","containerWidth","scrollLeft","x","left","right"]}!function(e,t,r,n,i){var o=r[0],s=r[1],a=r[2],l=r[3],c=r[4],u=r[5];void 0===n&&(n=!0),void 0===i&&(i=!1);var p=e.element;e.reach[l]=null,p[a]<1&&(e.reach[l]="start"),p[a]>e[o]-e[s]-1&&(e.reach[l]="end"),t&&(p.dispatchEvent(Wd("ps-scroll-"+l)),t<0?p.dispatchEvent(Wd("ps-scroll-"+c)):t>0&&p.dispatchEvent(Wd("ps-scroll-"+u)),n&&function(e,t){Fd(e,t),Bd(e,t)}(e,l)),e.reach[l]&&(t||i)&&p.dispatchEvent(Wd("ps-"+l+"-reach-"+e.reach[l]))}(e,r,o,n,i)}function Gd(e){return parseInt(e,10)||0}Vd.prototype.eventElement=function(e){var t=this.eventElements.filter(function(t){return t.element===e})[0];return t||(t=new Ud(e),this.eventElements.push(t)),t},Vd.prototype.bind=function(e,t,r){this.eventElement(e).bind(t,r)},Vd.prototype.unbind=function(e,t,r){var n=this.eventElement(e);n.unbind(t,r),n.isEmpty&&this.eventElements.splice(this.eventElements.indexOf(n),1)},Vd.prototype.unbindAll=function(){this.eventElements.forEach(function(e){return e.unbindAll()}),this.eventElements=[]},Vd.prototype.once=function(e,t,r){var n=this.eventElement(e),i=function(e){n.unbind(t,i),r(e)};n.bind(t,i)};var Yd={isWebKit:"undefined"!=typeof document&&"WebkitAppearance"in document.documentElement.style,supportsTouch:"undefined"!=typeof window&&("ontouchstart"in window||"maxTouchPoints"in window.navigator&&window.navigator.maxTouchPoints>0||window.DocumentTouch&&document instanceof window.DocumentTouch),supportsIePointer:"undefined"!=typeof navigator&&navigator.msMaxTouchPoints,isChrome:"undefined"!=typeof navigator&&/Chrome/i.test(navigator&&navigator.userAgent)};function Kd(e){var t=e.element,r=Math.floor(t.scrollTop),n=t.getBoundingClientRect();e.containerWidth=Math.round(n.width),e.containerHeight=Math.round(n.height),e.contentWidth=t.scrollWidth,e.contentHeight=t.scrollHeight,t.contains(e.scrollbarXRail)||(jd(t,Nd("x")).forEach(function(e){return Cd(e)}),t.appendChild(e.scrollbarXRail)),t.contains(e.scrollbarYRail)||(jd(t,Nd("y")).forEach(function(e){return Cd(e)}),t.appendChild(e.scrollbarYRail)),!e.settings.suppressScrollX&&e.containerWidth+e.settings.scrollXMarginOffset=e.railXWidth-e.scrollbarXWidth&&(e.scrollbarXLeft=e.railXWidth-e.scrollbarXWidth),e.scrollbarYTop>=e.railYHeight-e.scrollbarYHeight&&(e.scrollbarYTop=e.railYHeight-e.scrollbarYHeight),function(e,t){var r={width:t.railXWidth},n=Math.floor(e.scrollTop);t.isRtl?r.left=t.negativeScrollAdjustment+e.scrollLeft+t.containerWidth-t.contentWidth:r.left=e.scrollLeft,t.isScrollbarXUsingBottom?r.bottom=t.scrollbarXBottom-n:r.top=t.scrollbarXTop+n,_d(t.scrollbarXRail,r);var i={top:n,height:t.railYHeight};t.isScrollbarYUsingRight?t.isRtl?i.right=t.contentWidth-(t.negativeScrollAdjustment+e.scrollLeft)-t.scrollbarYRight-t.scrollbarYOuterWidth-9:i.right=t.scrollbarYRight-e.scrollLeft:t.isRtl?i.left=t.negativeScrollAdjustment+e.scrollLeft+2*t.containerWidth-t.contentWidth-t.scrollbarYLeft-t.scrollbarYOuterWidth:i.left=t.scrollbarYLeft+e.scrollLeft,_d(t.scrollbarYRail,i),_d(t.scrollbarX,{left:t.scrollbarXLeft,width:t.scrollbarXWidth-t.railBorderXWidth}),_d(t.scrollbarY,{top:t.scrollbarYTop,height:t.scrollbarYHeight-t.railBorderYWidth})}(t,e),e.scrollbarXActive?t.classList.add(Dd("x")):(t.classList.remove(Dd("x")),e.scrollbarXWidth=0,e.scrollbarXLeft=0,t.scrollLeft=!0===e.isRtl?e.contentWidth:0),e.scrollbarYActive?t.classList.add(Dd("y")):(t.classList.remove(Dd("y")),e.scrollbarYHeight=0,e.scrollbarYTop=0,t.scrollTop=0)}function Qd(e,t){return e.settings.minScrollbarLength&&(t=Math.max(t,e.settings.minScrollbarLength)),e.settings.maxScrollbarLength&&(t=Math.min(t,e.settings.maxScrollbarLength)),t}function Xd(e,t){var r=t[0],n=t[1],i=t[2],o=t[3],s=t[4],a=t[5],l=t[6],c=t[7],u=t[8],p=e.element,d=null,f=null,h=null;function m(t){t.touches&&t.touches[0]&&(t[i]=t.touches[0].pageY),p[l]=d+h*(t[i]-f),Fd(e,c),Kd(e),t.stopPropagation(),t.type.startsWith("touch")&&t.changedTouches.length>1&&t.preventDefault()}function g(){Bd(e,c),e[u].classList.remove(Ld),e.event.unbind(e.ownerDocument,"mousemove",m)}function y(t,s){d=p[l],s&&t.touches&&(t[i]=t.touches[0].pageY),f=t[i],h=(e[n]-e[r])/(e[o]-e[a]),s?e.event.bind(e.ownerDocument,"touchmove",m):(e.event.bind(e.ownerDocument,"mousemove",m),e.event.once(e.ownerDocument,"mouseup",g),t.preventDefault()),e[u].classList.add(Ld),t.stopPropagation()}e.event.bind(e[s],"mousedown",function(e){y(e)}),e.event.bind(e[s],"touchstart",function(e){y(e,!0)})}var Jd={"click-rail":function(e){e.element,e.event.bind(e.scrollbarY,"mousedown",function(e){return e.stopPropagation()}),e.event.bind(e.scrollbarYRail,"mousedown",function(t){var r=t.pageY-window.pageYOffset-e.scrollbarYRail.getBoundingClientRect().top>e.scrollbarYTop?1:-1;e.element.scrollTop+=r*e.containerHeight,Kd(e),t.stopPropagation()}),e.event.bind(e.scrollbarX,"mousedown",function(e){return e.stopPropagation()}),e.event.bind(e.scrollbarXRail,"mousedown",function(t){var r=t.pageX-window.pageXOffset-e.scrollbarXRail.getBoundingClientRect().left>e.scrollbarXLeft?1:-1;e.element.scrollLeft+=r*e.containerWidth,Kd(e),t.stopPropagation()})},"drag-thumb":function(e){Xd(e,["containerWidth","contentWidth","pageX","railXWidth","scrollbarX","scrollbarXWidth","scrollLeft","x","scrollbarXRail"]),Xd(e,["containerHeight","contentHeight","pageY","railYHeight","scrollbarY","scrollbarYHeight","scrollTop","y","scrollbarYRail"])},keyboard:function(e){var t=e.element;e.event.bind(e.ownerDocument,"keydown",function(r){if(!(r.isDefaultPrevented&&r.isDefaultPrevented()||r.defaultPrevented)&&(Ad(t,":hover")||Ad(e.scrollbarX,":focus")||Ad(e.scrollbarY,":focus"))){var n,i=document.activeElement?document.activeElement:e.ownerDocument.activeElement;if(i){if("IFRAME"===i.tagName)i=i.contentDocument.activeElement;else for(;i.shadowRoot;)i=i.shadowRoot.activeElement;if(Ad(n=i,"input,[contenteditable]")||Ad(n,"select,[contenteditable]")||Ad(n,"textarea,[contenteditable]")||Ad(n,"button,[contenteditable]"))return}var o=0,s=0;switch(r.which){case 37:o=r.metaKey?-e.contentWidth:r.altKey?-e.containerWidth:-30;break;case 38:s=r.metaKey?e.contentHeight:r.altKey?e.containerHeight:30;break;case 39:o=r.metaKey?e.contentWidth:r.altKey?e.containerWidth:30;break;case 40:s=r.metaKey?-e.contentHeight:r.altKey?-e.containerHeight:-30;break;case 32:s=r.shiftKey?e.containerHeight:-e.containerHeight;break;case 33:s=e.containerHeight;break;case 34:s=-e.containerHeight;break;case 36:s=e.contentHeight;break;case 35:s=-e.contentHeight;break;default:return}e.settings.suppressScrollX&&0!==o||e.settings.suppressScrollY&&0!==s||(t.scrollTop-=s,t.scrollLeft+=o,Kd(e),function(r,n){var i=Math.floor(t.scrollTop);if(0===r){if(!e.scrollbarYActive)return!1;if(0===i&&n>0||i>=e.contentHeight-e.containerHeight&&n<0)return!e.settings.wheelPropagation}var o=t.scrollLeft;if(0===n){if(!e.scrollbarXActive)return!1;if(0===o&&r<0||o>=e.contentWidth-e.containerWidth&&r>0)return!e.settings.wheelPropagation}return!0}(o,s)&&r.preventDefault())}})},wheel:function(e){var t=e.element;function r(r){var n=function(e){var t=e.deltaX,r=-1*e.deltaY;return void 0!==t&&void 0!==r||(t=-1*e.wheelDeltaX/6,r=e.wheelDeltaY/6),e.deltaMode&&1===e.deltaMode&&(t*=10,r*=10),t!=t&&r!=r&&(t=0,r=e.wheelDelta),e.shiftKey?[-r,-t]:[t,r]}(r),i=n[0],o=n[1];if(!function(e,r,n){if(!Yd.isWebKit&&t.querySelector("select:focus"))return!0;if(!t.contains(e))return!1;for(var i=e;i&&i!==t;){if(i.classList.contains(Id))return!0;var o=Od(i);if(n&&o.overflowY.match(/(scroll|auto)/)){var s=i.scrollHeight-i.clientHeight;if(s>0&&(i.scrollTop>0&&n<0||i.scrollTop0))return!0}if(r&&o.overflowX.match(/(scroll|auto)/)){var a=i.scrollWidth-i.clientWidth;if(a>0&&(i.scrollLeft>0&&r<0||i.scrollLeft0))return!0}i=i.parentNode}return!1}(r.target,i,o)){var s=!1;e.settings.useBothWheelAxes?e.scrollbarYActive&&!e.scrollbarXActive?(o?t.scrollTop-=o*e.settings.wheelSpeed:t.scrollTop+=i*e.settings.wheelSpeed,s=!0):e.scrollbarXActive&&!e.scrollbarYActive&&(i?t.scrollLeft+=i*e.settings.wheelSpeed:t.scrollLeft-=o*e.settings.wheelSpeed,s=!0):(t.scrollTop-=o*e.settings.wheelSpeed,t.scrollLeft+=i*e.settings.wheelSpeed),Kd(e),s=s||function(r,n){var i=Math.floor(t.scrollTop),o=0===t.scrollTop,s=i+t.offsetHeight===t.scrollHeight,a=0===t.scrollLeft,l=t.scrollLeft+t.offsetWidth===t.scrollWidth;return!(Math.abs(n)>Math.abs(r)?o||s:a||l)||!e.settings.wheelPropagation}(i,o),s&&!r.ctrlKey&&(r.stopPropagation(),r.preventDefault())}}void 0!==window.onwheel?e.event.bind(t,"wheel",r):void 0!==window.onmousewheel&&e.event.bind(t,"mousewheel",r)},touch:function(e){if(Yd.supportsTouch||Yd.supportsIePointer){var t=e.element,r={},n=0,i={},o=null;Yd.supportsTouch?(e.event.bind(t,"touchstart",c),e.event.bind(t,"touchmove",u),e.event.bind(t,"touchend",p)):Yd.supportsIePointer&&(window.PointerEvent?(e.event.bind(t,"pointerdown",c),e.event.bind(t,"pointermove",u),e.event.bind(t,"pointerup",p)):window.MSPointerEvent&&(e.event.bind(t,"MSPointerDown",c),e.event.bind(t,"MSPointerMove",u),e.event.bind(t,"MSPointerUp",p)))}function s(r,n){t.scrollTop-=n,t.scrollLeft-=r,Kd(e)}function a(e){return e.targetTouches?e.targetTouches[0]:e}function l(e){return!(e.pointerType&&"pen"===e.pointerType&&0===e.buttons||(!e.targetTouches||1!==e.targetTouches.length)&&(!e.pointerType||"mouse"===e.pointerType||e.pointerType===e.MSPOINTER_TYPE_MOUSE))}function c(e){if(l(e)){var t=a(e);r.pageX=t.pageX,r.pageY=t.pageY,n=(new Date).getTime(),null!==o&&clearInterval(o)}}function u(o){if(l(o)){var c=a(o),u={pageX:c.pageX,pageY:c.pageY},p=u.pageX-r.pageX,d=u.pageY-r.pageY;if(function(e,r,n){if(!t.contains(e))return!1;for(var i=e;i&&i!==t;){if(i.classList.contains(Id))return!0;var o=Od(i);if(n&&o.overflowY.match(/(scroll|auto)/)){var s=i.scrollHeight-i.clientHeight;if(s>0&&(i.scrollTop>0&&n<0||i.scrollTop0))return!0}if(r&&o.overflowX.match(/(scroll|auto)/)){var a=i.scrollWidth-i.clientWidth;if(a>0&&(i.scrollLeft>0&&r<0||i.scrollLeft0))return!0}i=i.parentNode}return!1}(o.target,p,d))return;s(p,d),r=u;var f=(new Date).getTime(),h=f-n;h>0&&(i.x=p/h,i.y=d/h,n=f),function(r,n){var i=Math.floor(t.scrollTop),o=t.scrollLeft,s=Math.abs(r),a=Math.abs(n);if(a>s){if(n<0&&i===e.contentHeight-e.containerHeight||n>0&&0===i)return 0===window.scrollY&&n>0&&Yd.isChrome}else if(s>a&&(r<0&&o===e.contentWidth-e.containerWidth||r>0&&0===o))return!0;return!0}(p,d)&&o.preventDefault()}}function p(){e.settings.swipeEasing&&(clearInterval(o),o=setInterval(function(){e.isInitialized?clearInterval(o):i.x||i.y?Math.abs(i.x)<.01&&Math.abs(i.y)<.01?clearInterval(o):e.element?(s(30*i.x,30*i.y),i.x*=.8,i.y*=.8):clearInterval(o):clearInterval(o)},10))}}},Zd=function(e,t){var r=this;if(void 0===t&&(t={}),"string"==typeof e&&(e=document.querySelector(e)),!e||!e.nodeName)throw new Error("no element is specified to initialize PerfectScrollbar");for(var n in this.element=e,e.classList.add("ps"),this.settings={handlers:["click-rail","drag-thumb","keyboard","wheel","touch"],maxScrollbarLength:null,minScrollbarLength:null,scrollingThreshold:1e3,scrollXMarginOffset:0,scrollYMarginOffset:0,suppressScrollX:!1,suppressScrollY:!1,swipeEasing:!0,useBothWheelAxes:!1,wheelPropagation:!0,wheelSpeed:1},t)this.settings[n]=t[n];this.containerWidth=null,this.containerHeight=null,this.contentWidth=null,this.contentHeight=null;var i,o,s=function(){return e.classList.add(Rd)},a=function(){return e.classList.remove(Rd)};this.isRtl="rtl"===Od(e).direction,!0===this.isRtl&&e.classList.add("ps__rtl"),this.isNegativeScroll=(o=e.scrollLeft,e.scrollLeft=-1,i=e.scrollLeft<0,e.scrollLeft=o,i),this.negativeScrollAdjustment=this.isNegativeScroll?e.scrollWidth-e.clientWidth:0,this.event=new Vd,this.ownerDocument=e.ownerDocument||document,this.scrollbarXRail=Pd(Nd("x")),e.appendChild(this.scrollbarXRail),this.scrollbarX=Pd(Td("x")),this.scrollbarXRail.appendChild(this.scrollbarX),this.scrollbarX.setAttribute("tabindex",0),this.event.bind(this.scrollbarX,"focus",s),this.event.bind(this.scrollbarX,"blur",a),this.scrollbarXActive=null,this.scrollbarXWidth=null,this.scrollbarXLeft=null;var l=Od(this.scrollbarXRail);this.scrollbarXBottom=parseInt(l.bottom,10),isNaN(this.scrollbarXBottom)?(this.isScrollbarXUsingBottom=!1,this.scrollbarXTop=Gd(l.top)):this.isScrollbarXUsingBottom=!0,this.railBorderXWidth=Gd(l.borderLeftWidth)+Gd(l.borderRightWidth),_d(this.scrollbarXRail,{display:"block"}),this.railXMarginWidth=Gd(l.marginLeft)+Gd(l.marginRight),_d(this.scrollbarXRail,{display:""}),this.railXWidth=null,this.railXRatio=null,this.scrollbarYRail=Pd(Nd("y")),e.appendChild(this.scrollbarYRail),this.scrollbarY=Pd(Td("y")),this.scrollbarYRail.appendChild(this.scrollbarY),this.scrollbarY.setAttribute("tabindex",0),this.event.bind(this.scrollbarY,"focus",s),this.event.bind(this.scrollbarY,"blur",a),this.scrollbarYActive=null,this.scrollbarYHeight=null,this.scrollbarYTop=null;var c=Od(this.scrollbarYRail);this.scrollbarYRight=parseInt(c.right,10),isNaN(this.scrollbarYRight)?(this.isScrollbarYUsingRight=!1,this.scrollbarYLeft=Gd(c.left)):this.isScrollbarYUsingRight=!0,this.scrollbarYOuterWidth=this.isRtl?function(e){var t=Od(e);return Gd(t.width)+Gd(t.paddingLeft)+Gd(t.paddingRight)+Gd(t.borderLeftWidth)+Gd(t.borderRightWidth)}(this.scrollbarY):null,this.railBorderYWidth=Gd(c.borderTopWidth)+Gd(c.borderBottomWidth),_d(this.scrollbarYRail,{display:"block"}),this.railYMarginHeight=Gd(c.marginTop)+Gd(c.marginBottom),_d(this.scrollbarYRail,{display:""}),this.railYHeight=null,this.railYRatio=null,this.reach={x:e.scrollLeft<=0?"start":e.scrollLeft>=this.contentWidth-this.containerWidth?"end":null,y:e.scrollTop<=0?"start":e.scrollTop>=this.contentHeight-this.containerHeight?"end":null},this.isAlive=!0,this.settings.handlers.forEach(function(e){return Jd[e](r)}),this.lastScrollTop=Math.floor(e.scrollTop),this.lastScrollLeft=e.scrollLeft,this.event.bind(this.element,"scroll",function(e){return r.onScroll(e)}),Kd(this)};Zd.prototype.update=function(){this.isAlive&&(this.negativeScrollAdjustment=this.isNegativeScroll?this.element.scrollWidth-this.element.clientWidth:0,_d(this.scrollbarXRail,{display:"block"}),_d(this.scrollbarYRail,{display:"block"}),this.railXMarginWidth=Gd(Od(this.scrollbarXRail).marginLeft)+Gd(Od(this.scrollbarXRail).marginRight),this.railYMarginHeight=Gd(Od(this.scrollbarYRail).marginTop)+Gd(Od(this.scrollbarYRail).marginBottom),_d(this.scrollbarXRail,{display:"none"}),_d(this.scrollbarYRail,{display:"none"}),Kd(this),Hd(this,"top",0,!1,!0),Hd(this,"left",0,!1,!0),_d(this.scrollbarXRail,{display:""}),_d(this.scrollbarYRail,{display:""}))},Zd.prototype.onScroll=function(e){this.isAlive&&(Kd(this),Hd(this,"top",this.element.scrollTop-this.lastScrollTop),Hd(this,"left",this.element.scrollLeft-this.lastScrollLeft),this.lastScrollTop=Math.floor(this.element.scrollTop),this.lastScrollLeft=this.element.scrollLeft)},Zd.prototype.destroy=function(){this.isAlive&&(this.event.unbindAll(),Cd(this.scrollbarX),Cd(this.scrollbarY),Cd(this.scrollbarXRail),Cd(this.scrollbarYRail),this.removePsClasses(),this.element=null,this.scrollbarX=null,this.scrollbarY=null,this.scrollbarXRail=null,this.scrollbarYRail=null,this.isAlive=!1)},Zd.prototype.removePsClasses=function(){this.element.className=this.element.className.split(" ").filter(function(e){return!e.match(/^ps([-_].+|)$/)}).join(" ")};var ef=Zd,tf=Object.defineProperty,rf=Object.getOwnPropertySymbols,nf=Object.prototype.hasOwnProperty,of=Object.prototype.propertyIsEnumerable,sf=(e,t,r)=>t in e?tf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const af=ef||t;let lf="";Qn&&(lf=n(1494),lf="function"==typeof lf.toString&&lf.toString()||"",lf="[object Object]"===lf?"":lf);const cf=ds`${lf}`,uf=gs.div` + position: relative; +`;class pf extends r.Component{constructor(){super(...arguments),this.handleRef=e=>{this._container=e}}componentDidMount(){const e=this._container.parentElement&&this._container.parentElement.scrollTop||0;this.inst=new af(this._container,this.props.options||{}),this._container.scrollTo&&this._container.scrollTo(0,e)}componentDidUpdate(){this.inst.update()}componentWillUnmount(){this.inst.destroy()}render(){const{children:e,className:t,updateFn:n}=this.props;return n&&n(this.componentDidUpdate.bind(this)),r.createElement(r.Fragment,null,lf&&r.createElement(cf,null),r.createElement(uf,{className:`scrollbar-container ${t}`,ref:this.handleRef},e))}}function df(e){return r.createElement(Os.Consumer,null,t=>t.nativeScrollbars?r.createElement("div",{style:{overflow:"auto",overscrollBehavior:"contain",msOverflowStyle:"-ms-autohiding-scrollbar"}},e.children):r.createElement(pf,((e,t)=>{for(var r in t||(t={}))nf.call(t,r)&&sf(e,r,t[r]);if(rf)for(var r of rf(t))of.call(t,r)&&sf(e,r,t[r]);return e})({},e),e.children))}const ff=gs(({className:e,style:t})=>r.createElement("svg",{className:e,style:t,xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},r.createElement("polyline",{points:"6 9 12 15 18 9"})))` + position: absolute; + pointer-events: none; + z-index: 1; + top: 50%; + -webkit-transform: translateY(-50%); + -ms-transform: translateY(-50%); + transform: translateY(-50%); + right: 8px; + margin: auto; + text-align: center; + polyline { + color: ${e=>"dark"===e.variant&&"white"}; + } +`,hf=r.memo(e=>{const{options:t,onChange:n,placeholder:i,value:o="",variant:s,className:a}=e;return r.createElement("div",{className:a},r.createElement(ff,{variant:s}),r.createElement("select",{onChange:e=>{const{selectedIndex:r}=e.target;n(t[i?r-1:r])},value:o,className:"dropdown-select"},i&&r.createElement("option",{disabled:!0,hidden:!0,value:i},i),t.map(({idx:e,value:t,title:n},i)=>r.createElement("option",{key:e||t+i,value:t},n||t))),r.createElement("label",null,o))}),mf=cs(hf)` + label { + box-sizing: border-box; + min-width: 100px; + outline: none; + display: inline-block; + font-family: ${e=>e.theme.typography.headings.fontFamily}; + color: ${({theme:e})=>e.colors.text.primary}; + vertical-align: bottom; + width: ${({fullWidth:e})=>e?"100%":"auto"}; + text-transform: none; + padding: 0 22px 0 4px; + + font-size: 0.929em; + line-height: 1.5em; + font-family: inherit; + text-overflow: ellipsis; + overflow: hidden; + white-space: nowrap; + } + .dropdown-select { + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + opacity: 0; + border: none; + appearance: none; + cursor: pointer; + + color: ${({theme:e})=>e.colors.text.primary}; + line-height: inherit; + font-family: inherit; + } + box-sizing: border-box; + min-width: 100px; + outline: none; + display: inline-block; + border-radius: 2px; + border: 1px solid rgba(38, 50, 56, 0.5); + vertical-align: bottom; + padding: 2px 0px 2px 6px; + position: relative; + width: auto; + background: white; + color: #263238; + font-family: ${e=>e.theme.typography.headings.fontFamily}; + font-size: 0.929em; + line-height: 1.5em; + cursor: pointer; + transition: border 0.25s ease, color 0.25s ease, box-shadow 0.25s ease; + + &:hover, + &:focus-within { + border: 1px solid ${e=>e.theme.colors.primary.main}; + color: ${e=>e.theme.colors.primary.main}; + box-shadow: 0px 0px 0px 1px ${e=>e.theme.colors.primary.main}; + } +`,gf=cs(mf)` + margin-left: 10px; + text-transform: none; + font-size: 0.969em; + + font-size: 1em; + border: none; + padding: 0 1.2em 0 0; + background: transparent; + + &:hover, + &:focus-within { + border: none; + box-shadow: none; + label { + color: ${e=>e.theme.colors.primary.main}; + text-shadow: 0px 0px 0px ${e=>e.theme.colors.primary.main}; + } + } +`,yf=cs.span` + margin-left: 10px; + text-transform: none; + font-size: 0.929em; + color: black; +`;var bf=Object.defineProperty,vf=Object.defineProperties,xf=Object.getOwnPropertyDescriptors,wf=Object.getOwnPropertySymbols,kf=Object.prototype.hasOwnProperty,Sf=Object.prototype.propertyIsEnumerable,Ef=(e,t,r)=>t in e?bf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Of=(e,t)=>{for(var r in t||(t={}))kf.call(t,r)&&Ef(e,r,t[r]);if(wf)for(var r of wf(t))Sf.call(t,r)&&Ef(e,r,t[r]);return e},_f=(e,t)=>vf(e,xf(t));class Pf{constructor(e,t,r){this.operations=[];const{resolved:n}=e.deref(r||{});this.initWebhooks(e,n,t)}initWebhooks(e,t,r){for(const n of Object.keys(t)){const i=t[n],o=Object.keys(i).filter(Xs);for(const t of o){const n=i[t];if(i.$ref){const n=e.deref(i||{});this.initWebhooks(e,{[t]:n},r)}if(!n)continue;const o=new ap(e,_f(Of({},n),{httpVerb:t}),void 0,r,!1);this.operations.push(o)}}}}class $f{constructor(e,t,r){const{resolved:n}=e.deref(r);this.id=t,this.sectionId=ya+t,this.type=n.type,this.displayName=n["x-displayName"]||t,this.description=n.description||"","apiKey"===n.type&&(this.apiKey={name:n.name,in:n.in}),"http"===n.type&&(this.http={scheme:n.scheme,bearerFormat:n.bearerFormat}),"openIdConnect"===n.type&&(this.openId={connectUrl:n.openIdConnectUrl}),"oauth2"===n.type&&n.flows&&(this.flows=n.flows)}}class Af{constructor(e){const t=e.spec.components&&e.spec.components.securitySchemes||{};this.schemes=Object.keys(t).map(r=>new $f(e,r,t[r]))}}var Cf=Object.defineProperty,jf=Object.getOwnPropertySymbols,Tf=Object.prototype.hasOwnProperty,Nf=Object.prototype.propertyIsEnumerable,If=(e,t,r)=>t in e?Cf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Rf=(e,t)=>{for(var r in t||(t={}))Tf.call(t,r)&&If(e,r,t[r]);if(jf)for(var r of jf(t))Nf.call(t,r)&&If(e,r,t[r]);return e};class Lf{constructor(e,t,r){var n,i,o;this.options=r,this.parser=new yc(e,t,r),this.info=new Ml(this.parser,this.options),this.externalDocs=this.parser.spec.externalDocs,this.contentItems=Qf.buildStructure(this.parser,this.options),this.securitySchemes=new Af(this.parser);const s=Rf(Rf({},null==(i=null==(n=this.parser)?void 0:n.spec)?void 0:i["x-webhooks"]),null==(o=this.parser)?void 0:o.spec.webhooks);this.webhooks=new Pf(this.parser,r,s)}}var Df=Object.defineProperty,Mf=Object.getOwnPropertyDescriptor,zf=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?Mf(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Df(t,r,o),o};class Ff{constructor(e,t,r){this.items=[],this.active=!1,this.expanded=!1,ir(this),this.id=t.id||e+"/"+li(t.name),this.type=e,this.name=t["x-displayName"]||t.name,this.level=t.level||1,this.sidebarLabel=this.name,this.description=t.description||"";const n=t.items;n&&n.length&&(this.description=Ll.getTextBeforeHading(this.description,n[0].name)),this.parent=r,this.externalDocs=t.externalDocs,"group"===this.type&&(this.expanded=!0)}activate(){this.active=!0}expand(){this.parent&&this.parent.expand(),this.expanded=!0}collapse(){"group"!==this.type&&(this.expanded=!1)}deactivate(){this.active=!1}}zf([Ce],Ff.prototype,"active",2),zf([Ce],Ff.prototype,"expanded",2),zf([Ct],Ff.prototype,"activate",1),zf([Ct],Ff.prototype,"expand",1),zf([Ct],Ff.prototype,"collapse",1),zf([Ct],Ff.prototype,"deactivate",1);var Bf=Object.defineProperty,Uf=Object.defineProperties,qf=Object.getOwnPropertyDescriptors,Vf=Object.getOwnPropertySymbols,Wf=Object.prototype.hasOwnProperty,Hf=Object.prototype.propertyIsEnumerable,Gf=(e,t,r)=>t in e?Bf(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Yf=(e,t)=>{for(var r in t||(t={}))Wf.call(t,r)&&Gf(e,r,t[r]);if(Vf)for(var r of Vf(t))Hf.call(t,r)&&Gf(e,r,t[r]);return e},Kf=(e,t)=>Uf(e,qf(t));class Qf{static buildStructure(e,t){const r=e.spec,{schemaDefinitionsTagName:n}=t,i=[],o=[...r.tags||[]];!o.find(e=>(null==e?void 0:e.name)===n)&&n&&o.push({name:n});const s=Qf.getTagsWithOperations(e,o);return i.push(...Qf.addMarkdownItems(r.info.description||"",void 0,1,t)),r["x-tagGroups"]&&r["x-tagGroups"].length>0?i.push(...Qf.getTagGroupsItems(e,void 0,r["x-tagGroups"],s,t)):i.push(...Qf.getTagsItems(e,s,void 0,void 0,t)),i}static addMarkdownItems(e,t,r,n){const i=new Ll(n,null==t?void 0:t.id).extractHeadings(e||"");i.length&&t&&t.description&&(t.description=Ll.getTextBeforeHading(t.description,i[0].name));const o=(e,t,r=1)=>t.map(t=>{const n=new Ff("section",t,e);return n.depth=r,t.items&&(n.items=o(n,t.items,r+1)),n});return o(t,i,r)}static getTagGroupsItems(e,t,r,n,i){const o=[];for(const s of r){const r=new Ff("group",s,t);r.depth=0,r.items=Qf.getTagsItems(e,n,r,s,i),o.push(r)}return o}static getTagsItems(e,t,r,n,i){let o;o=void 0===n?Object.keys(t):n.tags;const s=o.map(e=>t[e]?(t[e].used=!0,t[e]):(console.warn(`Non-existing tag "${e}" is added to the group "${n.name}"`),null)),a=[];for(const t of s){if(!t)continue;const n=new Ff("tag",t,r);if(n.depth=1,""===t.name){const r=[...Qf.addMarkdownItems(t.description||"",n,n.depth+1,i),...this.getOperationsItems(e,void 0,t,n.depth+1,i)];a.push(...r);continue}const o=this.getTagRelatedSchema({parser:e,tag:t,parent:n,schemaDefinitionsTagName:i.schemaDefinitionsTagName});n.items=[...o,...Qf.addMarkdownItems(t.description||"",n,n.depth+1,i),...this.getOperationsItems(e,n,t,n.depth+1,i)],a.push(n)}return i.sortTagsAlphabetically&&a.sort(Ia("name")),a}static getOperationsItems(e,t,r,n,i){if(0===r.operations.length)return[];const o=[];for(const s of r.operations){const r=new ap(e,s,t,i);r.depth=n,o.push(r)}return i.sortOperationsAlphabetically&&o.sort(Ia("name")),o}static getTagsWithOperations(e,t){const{spec:r}=e,n={},i=r["x-webhooks"]||r.webhooks;for(const e of t||[])n[e.name]=Kf(Yf({},e),{operations:[]});function o(e,t,r){for(const i of Object.keys(t)){const s=t[i],a=Object.keys(s).filter(Xs);for(const t of a){const a=s[t];if(s.$ref){const{resolved:t}=e.deref(s);o(e,{[i]:t},r);continue}let l=null==a?void 0:a.tags;l&&l.length||(l=[""]);for(const e of l){let o=n[e];void 0===o&&(o={name:e,operations:[]},n[e]=o),o["x-traitTag"]||o.operations.push(Kf(Yf({},a),{pathName:i,pointer:Ls.compile(["paths",i,t]),httpVerb:t,pathParameters:s.parameters||[],pathServers:s.servers,isWebhook:!!r}))}}}}return i&&o(e,i,!0),r.paths&&o(e,r.paths),n}static getTagRelatedSchema({parser:e,tag:t,parent:r,schemaDefinitionsTagName:n}){var i;const o=n?[n]:[];return Object.entries((null==(i=e.spec.components)?void 0:i.schemas)||{}).map(([e,n])=>{const i=n["x-tags"]||o;if(!(null==i?void 0:i.includes(t.name)))return null;const s=new Ff("schema",{name:e,"x-displayName":`${n.title||e}`,description:``},r);return s.depth=r.depth+1,s}).filter(Boolean)}}var Xf=Object.defineProperty,Jf=Object.getOwnPropertyDescriptor,Zf=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?Jf(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Xf(t,r,o),o};const eh="data-section-id";class th{constructor(e,t,r){this.scroll=t,this.history=r,this.activeItemIdx=-1,this.sideBarOpened=!1,this.updateOnScroll=e=>{const t=e?1:-1;let r=this.activeItemIdx;for(;(-1!==r||e)&&!(r>=this.flatItems.length-1&&e);){if(e){const e=this.getElementAtOrFirstChild(r+1);if(this.scroll.isElementBellow(e))break}else{const e=this.getElementAt(r);if(this.scroll.isElementAbove(e))break}r+=t}this.activate(this.flatItems[r],!0,!0)},this.updateOnHistory=(e=this.history.currentId)=>{if(!e)return;let t;t=this.flatItems.find(t=>t.id===e),t?this.activateAndScroll(t,!1):(e.startsWith(ya)&&(t=this.flatItems.find(e=>ya.startsWith(e.id)),this.activateAndScroll(t,!1)),this.scroll.scrollIntoViewBySelector(`[${eh}="${ui(e)}"]`))},this.getItemById=e=>this.flatItems.find(t=>t.id===e),ir(this),this.items=e.contentItems,this.flatItems=function(e,t){const r=[],n=e=>{for(const i of e)r.push(i),i[t]&&n(i[t])};return n(e),r}(this.items||[],"items"),this.flatItems.forEach((e,t)=>e.absoluteIdx=t),this.subscribe()}static updateOnHistory(e=za.currentId,t){e&&t.scrollIntoViewBySelector(`[${eh}="${ui(e)}"]`)}subscribe(){this._unsubscribe=this.scroll.subscribe(this.updateOnScroll),this._hashUnsubscribe=this.history.subscribe(this.updateOnHistory)}toggleSidebar(){this.sideBarOpened=!this.sideBarOpened}closeSidebar(){this.sideBarOpened=!1}getElementAt(e){const t=this.flatItems[e];return t&&Xn(`[${eh}="${ui(t.id)}"]`)||null}getElementAtOrFirstChild(e){let t=this.flatItems[e];return t&&"group"===t.type&&(t=t.items[0]),t&&Xn(`[${eh}="${ui(t.id)}"]`)||null}get activeItem(){return this.flatItems[this.activeItemIdx]||void 0}activate(e,t=!0,r=!1){if((this.activeItem&&this.activeItem.id)!==(e&&e.id)&&(!e||"group"!==e.type)){if(this.deactivate(this.activeItem),!e)return this.activeItemIdx=-1,void this.history.replace("",r);e.depth<=0||(this.activeItemIdx=e.absoluteIdx,t&&this.history.replace(encodeURI(e.id),r),e.activate(),e.expand())}}deactivate(e){if(void 0!==e)for(e.deactivate();void 0!==e;)e.collapse(),e=e.parent}activateAndScroll(e,t,r){const n=e&&this.getItemById(e.id)||e;this.activate(n,t,r),this.scrollToActive(),n&&n.items.length||this.closeSidebar()}scrollToActive(){this.scroll.scrollIntoView(this.getElementAt(this.activeItemIdx))}dispose(){this._unsubscribe(),this._hashUnsubscribe()}}Zf([Ce],th.prototype,"activeItemIdx",2),Zf([Ce],th.prototype,"sideBarOpened",2),Zf([Ct],th.prototype,"toggleSidebar",1),Zf([Ct],th.prototype,"closeSidebar",1),Zf([Ct],th.prototype,"activate",1),Zf([Ct.bound],th.prototype,"activateAndScroll",1);var rh=Object.defineProperty,nh=Object.getOwnPropertyDescriptor;const ih="scroll";class oh{constructor(e){this.options=e,this._prevOffsetY=0,this._scrollParent=Qn?window:void 0,this._emiter=new Ts,this.bind()}bind(){this._prevOffsetY=this.scrollY(),this._scrollParent&&this._scrollParent.addEventListener("scroll",this.handleScroll)}dispose(){this._scrollParent&&this._scrollParent.removeEventListener("scroll",this.handleScroll),this._emiter.removeAllListeners(ih)}scrollY(){return"undefined"!=typeof HTMLElement&&this._scrollParent instanceof HTMLElement?this._scrollParent.scrollTop:void 0!==this._scrollParent?this._scrollParent.pageYOffset:0}isElementBellow(e){if(null!==e)return e.getBoundingClientRect().top>this.options.scrollYOffset()}isElementAbove(e){if(null===e)return;const t=e.getBoundingClientRect().top;return(t>0?Math.floor(t):Math.ceil(t))<=this.options.scrollYOffset()}subscribe(e){const t=this._emiter.addListener(ih,e);return()=>t.removeListener(ih,e)}scrollIntoView(e){null!==e&&(e.scrollIntoView(),this._scrollParent&&this._scrollParent.scrollBy&&this._scrollParent.scrollBy(0,1-this.options.scrollYOffset()))}scrollIntoViewBySelector(e){const t=Xn(e);this.scrollIntoView(t)}handleScroll(){const e=this.scrollY()-this._prevOffsetY>0;this._prevOffsetY=this.scrollY(),this._emiter.emit(ih,e)}}((e,t,r)=>{for(var n,i=nh(t,r),o=e.length-1;o>=0;o--)(n=e[o])&&(i=n(t,r,i)||i);i&&rh(t,r,i)})([js.bind,(e,t,r)=>{r.value=function(e){let t,r,n,i=null,o=0;const s=()=>{o=(new Date).getTime(),i=null,n=e.apply(t,r),i||(t=r=null)};return function(){const a=(new Date).getTime(),l=100-(a-o);return t=this,r=arguments,l<=0||l>100?(i&&(clearTimeout(i),i=null),o=a,n=e.apply(t,r),i||(t=r=null)):i||(i=setTimeout(s,l)),n}}(r.value)}],oh.prototype,"handleScroll");class sh{constructor(){this.searchWorker=function(){let e;if(Qn)try{e=n(3303)}catch(t){e=n(1714).default}else e=n(1714).default;return new e}()}indexItems(e){const t=e=>{e.forEach(e=>{"group"!==e.type&&this.add(e.name,(e.description||"").concat(" ",e.path||""),e.id),t(e.items)})};t(e),this.searchWorker.done()}add(e,t,r){this.searchWorker.add(e,t,r)}dispose(){this.searchWorker.terminate(),this.searchWorker.dispose()}search(e){return this.searchWorker.search(e)}toJS(){return e=this,t=function*(){return this.searchWorker.toJS()},new Promise((r,n)=>{var i=e=>{try{s(t.next(e))}catch(e){n(e)}},o=e=>{try{s(t.throw(e))}catch(e){n(e)}},s=e=>e.done?r(e.value):Promise.resolve(e.value).then(i,o);s((t=t.apply(e,null)).next())});var e,t}load(e){this.searchWorker.load(e)}fromExternalJS(e,t){e&&t&&this.searchWorker.fromExternalJS(e,t)}}var ah=Object.defineProperty,lh=Object.getOwnPropertySymbols,ch=Object.prototype.hasOwnProperty,uh=Object.prototype.propertyIsEnumerable,ph=(e,t,r)=>t in e?ah(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;function dh(e){const{Label:t=yf,Dropdown:n=gf}=e;return 1===e.options.length?r.createElement(t,null,e.options[0].value):r.createElement(n,((e,t)=>{for(var r in t||(t={}))ch.call(t,r)&&ph(e,r,t[r]);if(lh)for(var r of lh(t))uh.call(t,r)&&ph(e,r,t[r]);return e})({},e))}function fh(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r2?r-2:0),i=2;i1?t-1:0),n=1;n1?r-1:0),i=1;i2&&void 0!==arguments[2]?arguments[2]:Th;if(gh&&gh(e,null),!jh(t))return e;let n=t.length;for(;n--;){let i=t[n];if("string"==typeof i){const e=r(i);e!==i&&(yh(t)||(t[n]=e),i=e)}e[i]=!0}return e}function Kh(e){for(let t=0;t/g),pm=wh(/\${[\w\W]*/g),dm=wh(/^data-[\-\w.\u00B7-\uFFFF]+$/),fm=wh(/^aria-[\-\w]+$/),hm=wh(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),mm=wh(/^(?:\w+script|data):/i),gm=wh(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ym=wh(/^html$/i),bm=wh(/^[a-z][.\w]*(-[.\w]+)+$/i),vm=function(){return"undefined"==typeof window?null:window};var xm=function e(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:vm();const r=t=>e(t);if(r.version="3.4.6",r.removed=[],!t||!t.document||9!==t.document.nodeType||!t.Element)return r.isSupported=!1,r;let n=t.document;const i=n,o=i.currentScript;t.DocumentFragment;const s=t.HTMLTemplateElement,a=t.Node,l=t.Element,c=t.NodeFilter;void 0===t.NamedNodeMap&&(t.NamedNodeMap||t.MozNamedAttrMap),t.HTMLFormElement;const u=t.DOMParser,p=t.trustedTypes,d=l.prototype,f=Xh(d,"cloneNode"),h=Xh(d,"remove"),m=Xh(d,"nextSibling"),g=Xh(d,"childNodes"),y=Xh(d,"parentNode"),b=Xh(d,"shadowRoot"),v=Xh(d,"attributes"),x=a&&a.prototype?Xh(a.prototype,"nodeType"):null,w=a&&a.prototype?Xh(a.prototype,"nodeName"):null;if("function"==typeof s){const e=n.createElement("template");e.content&&e.content.ownerDocument&&(n=e.content.ownerDocument)}let k,S="";const E=n,O=E.implementation,_=E.createNodeIterator,P=E.createDocumentFragment,$=E.getElementsByTagName,A=i.importNode;let C={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]};r.isSupported="function"==typeof mh&&"function"==typeof y&&O&&void 0!==O.createHTMLDocument;const j=cm,T=um,N=pm,I=dm,R=fm,L=mm,D=gm,M=bm;let z=hm,F=null;const B=Yh({},[...Jh,...Zh,...em,...rm,...im]);let U=null;const q=Yh({},[...om,...sm,...am,...lm]);let V=Object.seal(kh(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),W=null,H=null;const G=Object.seal(kh(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}}));let Y=!0,K=!0,Q=!1,X=!0,J=!1,Z=!0,ee=!1,te=!1,re=!1,ne=!1,ie=!1,oe=!1,se=!0,ae=!1;const le="user-content-";let ce=!0,ue=!1,pe={},de=null;const fe=Yh({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let he=null;const me=Yh({},["audio","video","img","source","image","track"]);let ge=null;const ye=Yh({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),be="http://www.w3.org/1998/Math/MathML",ve="http://www.w3.org/2000/svg",xe="http://www.w3.org/1999/xhtml";let we=xe,ke=!1,Se=null;const Ee=Yh({},[be,ve,xe],Nh);let Oe=Yh({},["mi","mo","mn","ms","mtext"]),_e=Yh({},["annotation-xml"]);const Pe=Yh({},["title","style","font","a","script"]);let $e=null;const Ae=["application/xhtml+xml","text/html"];let Ce=null,je=null;const Te=n.createElement("form"),Ne=function(e){return e instanceof RegExp||e instanceof Function},Ie=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(je&&je===e)return;e&&"object"==typeof e||(e={}),e=Qh(e),$e=-1===Ae.indexOf(e.PARSER_MEDIA_TYPE)?"text/html":e.PARSER_MEDIA_TYPE,Ce="application/xhtml+xml"===$e?Nh:Th,F=Uh(e,"ALLOWED_TAGS")&&jh(e.ALLOWED_TAGS)?Yh({},e.ALLOWED_TAGS,Ce):B,U=Uh(e,"ALLOWED_ATTR")&&jh(e.ALLOWED_ATTR)?Yh({},e.ALLOWED_ATTR,Ce):q,Se=Uh(e,"ALLOWED_NAMESPACES")&&jh(e.ALLOWED_NAMESPACES)?Yh({},e.ALLOWED_NAMESPACES,Nh):Ee,ge=Uh(e,"ADD_URI_SAFE_ATTR")&&jh(e.ADD_URI_SAFE_ATTR)?Yh(Qh(ye),e.ADD_URI_SAFE_ATTR,Ce):ye,he=Uh(e,"ADD_DATA_URI_TAGS")&&jh(e.ADD_DATA_URI_TAGS)?Yh(Qh(me),e.ADD_DATA_URI_TAGS,Ce):me,de=Uh(e,"FORBID_CONTENTS")&&jh(e.FORBID_CONTENTS)?Yh({},e.FORBID_CONTENTS,Ce):fe,W=Uh(e,"FORBID_TAGS")&&jh(e.FORBID_TAGS)?Yh({},e.FORBID_TAGS,Ce):Qh({}),H=Uh(e,"FORBID_ATTR")&&jh(e.FORBID_ATTR)?Yh({},e.FORBID_ATTR,Ce):Qh({}),pe=!!Uh(e,"USE_PROFILES")&&(e.USE_PROFILES&&"object"==typeof e.USE_PROFILES?Qh(e.USE_PROFILES):e.USE_PROFILES),Y=!1!==e.ALLOW_ARIA_ATTR,K=!1!==e.ALLOW_DATA_ATTR,Q=e.ALLOW_UNKNOWN_PROTOCOLS||!1,X=!1!==e.ALLOW_SELF_CLOSE_IN_ATTR,J=e.SAFE_FOR_TEMPLATES||!1,Z=!1!==e.SAFE_FOR_XML,ee=e.WHOLE_DOCUMENT||!1,ne=e.RETURN_DOM||!1,ie=e.RETURN_DOM_FRAGMENT||!1,oe=e.RETURN_TRUSTED_TYPE||!1,re=e.FORCE_BODY||!1,se=!1!==e.SANITIZE_DOM,ae=e.SANITIZE_NAMED_PROPS||!1,ce=!1!==e.KEEP_CONTENT,ue=e.IN_PLACE||!1,z=function(e){try{return Vh(e,""),!0}catch(e){return!1}}(e.ALLOWED_URI_REGEXP)?e.ALLOWED_URI_REGEXP:hm,we="string"==typeof e.NAMESPACE?e.NAMESPACE:xe,Oe=Uh(e,"MATHML_TEXT_INTEGRATION_POINTS")&&e.MATHML_TEXT_INTEGRATION_POINTS&&"object"==typeof e.MATHML_TEXT_INTEGRATION_POINTS?Qh(e.MATHML_TEXT_INTEGRATION_POINTS):Yh({},["mi","mo","mn","ms","mtext"]),_e=Uh(e,"HTML_INTEGRATION_POINTS")&&e.HTML_INTEGRATION_POINTS&&"object"==typeof e.HTML_INTEGRATION_POINTS?Qh(e.HTML_INTEGRATION_POINTS):Yh({},["annotation-xml"]);const t=Uh(e,"CUSTOM_ELEMENT_HANDLING")&&e.CUSTOM_ELEMENT_HANDLING&&"object"==typeof e.CUSTOM_ELEMENT_HANDLING?Qh(e.CUSTOM_ELEMENT_HANDLING):kh(null);if(V=kh(null),Uh(t,"tagNameCheck")&&Ne(t.tagNameCheck)&&(V.tagNameCheck=t.tagNameCheck),Uh(t,"attributeNameCheck")&&Ne(t.attributeNameCheck)&&(V.attributeNameCheck=t.attributeNameCheck),Uh(t,"allowCustomizedBuiltInElements")&&"boolean"==typeof t.allowCustomizedBuiltInElements&&(V.allowCustomizedBuiltInElements=t.allowCustomizedBuiltInElements),J&&(K=!1),ie&&(ne=!0),pe&&(F=Yh({},im),U=kh(null),!0===pe.html&&(Yh(F,Jh),Yh(U,om)),!0===pe.svg&&(Yh(F,Zh),Yh(U,sm),Yh(U,lm)),!0===pe.svgFilters&&(Yh(F,em),Yh(U,sm),Yh(U,lm)),!0===pe.mathMl&&(Yh(F,rm),Yh(U,am),Yh(U,lm))),G.tagCheck=null,G.attributeCheck=null,Uh(e,"ADD_TAGS")&&("function"==typeof e.ADD_TAGS?G.tagCheck=e.ADD_TAGS:jh(e.ADD_TAGS)&&(F===B&&(F=Qh(F)),Yh(F,e.ADD_TAGS,Ce))),Uh(e,"ADD_ATTR")&&("function"==typeof e.ADD_ATTR?G.attributeCheck=e.ADD_ATTR:jh(e.ADD_ATTR)&&(U===q&&(U=Qh(U)),Yh(U,e.ADD_ATTR,Ce))),Uh(e,"ADD_URI_SAFE_ATTR")&&jh(e.ADD_URI_SAFE_ATTR)&&Yh(ge,e.ADD_URI_SAFE_ATTR,Ce),Uh(e,"FORBID_CONTENTS")&&jh(e.FORBID_CONTENTS)&&(de===fe&&(de=Qh(de)),Yh(de,e.FORBID_CONTENTS,Ce)),Uh(e,"ADD_FORBID_CONTENTS")&&jh(e.ADD_FORBID_CONTENTS)&&(de===fe&&(de=Qh(de)),Yh(de,e.ADD_FORBID_CONTENTS,Ce)),ce&&(F["#text"]=!0),ee&&Yh(F,["html","head","body"]),F.table&&(Yh(F,["tbody"]),delete W.tbody),e.TRUSTED_TYPES_POLICY){if("function"!=typeof e.TRUSTED_TYPES_POLICY.createHTML)throw Wh('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof e.TRUSTED_TYPES_POLICY.createScriptURL)throw Wh('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');k=e.TRUSTED_TYPES_POLICY,S=k.createHTML("")}else void 0===k&&(k=function(e,t){if("object"!=typeof e||"function"!=typeof e.createPolicy)return null;let r=null;const n="data-tt-policy-suffix";t&&t.hasAttribute(n)&&(r=t.getAttribute(n));const i="dompurify"+(r?"#"+r:"");try{return e.createPolicy(i,{createHTML(e){return e},createScriptURL(e){return e}})}catch(e){return console.warn("TrustedTypes policy "+i+" could not be created."),null}}(p,o)),null!==k&&"string"==typeof S&&(S=k.createHTML(""));xh&&xh(e),je=e},Re=Yh({},[...Zh,...em,...tm]),Le=Yh({},[...rm,...nm]),De=function(e){Ah(r.removed,{element:e});try{y(e).removeChild(e)}catch(t){h(e)}},Me=function(e,t){try{Ah(r.removed,{attribute:t.getAttributeNode(e),from:t})}catch(e){Ah(r.removed,{attribute:null,from:t})}if(t.removeAttribute(e),"is"===e)if(ne||ie)try{De(t)}catch(e){}else try{t.setAttribute(e,"")}catch(e){}},ze=function(e){let t=null,r=null;if(re)e=""+e;else{const t=Ih(e,/^[\r\n\t ]+/);r=t&&t[0]}"application/xhtml+xml"===$e&&we===xe&&(e=''+e+"");const i=k?k.createHTML(e):e;if(we===xe)try{t=(new u).parseFromString(i,$e)}catch(e){}if(!t||!t.documentElement){t=O.createDocument(we,"template",null);try{t.documentElement.innerHTML=ke?S:i}catch(e){}}const o=t.body||t.documentElement;return e&&r&&o.insertBefore(n.createTextNode(r),o.childNodes[0]||null),we===xe?$.call(t,ee?"html":"body")[0]:ee?t.documentElement:o},Fe=function(e){return _.call(e.ownerDocument||e,e,c.SHOW_ELEMENT|c.SHOW_COMMENT|c.SHOW_TEXT|c.SHOW_PROCESSING_INSTRUCTION|c.SHOW_CDATA_SECTION,null)},Be=function(e){e.normalize();const t=_.call(e.ownerDocument||e,e,c.SHOW_TEXT|c.SHOW_COMMENT|c.SHOW_CDATA_SECTION|c.SHOW_PROCESSING_INSTRUCTION,null);let r=t.nextNode();for(;r;){let e=r.data;_h([j,T,N],t=>{e=Rh(e,t," ")}),r.data=e,r=t.nextNode()}},Ue=function(e){const t=w?w(e):null;return"string"==typeof t&&"form"===Ce(t)&&("string"!=typeof e.nodeName||"string"!=typeof e.textContent||"function"!=typeof e.removeChild||e.attributes!==v(e)||"function"!=typeof e.removeAttribute||"function"!=typeof e.setAttribute||"string"!=typeof e.namespaceURI||"function"!=typeof e.insertBefore||"function"!=typeof e.hasChildNodes||e.childNodes!==g(e))},qe=function(e){if(!x||"object"!=typeof e||null===e)return!1;try{return 11===x(e)}catch(e){return!1}},Ve=function(e){if(!x||"object"!=typeof e||null===e)return!1;try{return"number"==typeof x(e)}catch(e){return!1}};function We(e,t,n){_h(e,e=>{e.call(r,t,n,je)})}const He=function(e){let t=null;if(We(C.beforeSanitizeElements,e,null),Ue(e))return De(e),!0;const n=Ce(e.nodeName);if(We(C.uponSanitizeElement,e,{tagName:n,allowedTags:F}),Z&&e.hasChildNodes()&&!Ve(e.firstElementChild)&&Vh(/<[/\w!]/g,e.innerHTML)&&Vh(/<[/\w!]/g,e.textContent))return De(e),!0;if(Z&&e.namespaceURI===xe&&"style"===n&&Ve(e.firstElementChild))return De(e),!0;if(7===e.nodeType)return De(e),!0;if(Z&&8===e.nodeType&&Vh(/<[/\w]/g,e.data))return De(e),!0;if(W[n]||!(G.tagCheck instanceof Function&&G.tagCheck(n))&&!F[n]){if(!W[n]&&Ke(n)){if(V.tagNameCheck instanceof RegExp&&Vh(V.tagNameCheck,n))return!1;if(V.tagNameCheck instanceof Function&&V.tagNameCheck(n))return!1}if(ce&&!de[n]){const t=y(e)||e.parentNode,r=g(e)||e.childNodes;if(r&&t)for(let n=r.length-1;n>=0;--n){const i=f(r[n],!0);t.insertBefore(i,m(e))}}return De(e),!0}return 1===(x?x(e):e.nodeType)&&!function(e){let t=y(e);t&&t.tagName||(t={namespaceURI:we,tagName:"template"});const r=Th(e.tagName),n=Th(t.tagName);return!!Se[e.namespaceURI]&&(e.namespaceURI===ve?t.namespaceURI===xe?"svg"===r:t.namespaceURI===be?"svg"===r&&("annotation-xml"===n||Oe[n]):Boolean(Re[r]):e.namespaceURI===be?t.namespaceURI===xe?"math"===r:t.namespaceURI===ve?"math"===r&&_e[n]:Boolean(Le[r]):e.namespaceURI===xe?!(t.namespaceURI===ve&&!_e[n])&&!(t.namespaceURI===be&&!Oe[n])&&!Le[r]&&(Pe[r]||!Re[r]):!("application/xhtml+xml"!==$e||!Se[e.namespaceURI]))}(e)||("noscript"===n||"noembed"===n||"noframes"===n)&&Vh(/<\/no(script|embed|frames)/i,e.innerHTML)?(De(e),!0):(J&&3===e.nodeType&&(t=e.textContent,_h([j,T,N],e=>{t=Rh(t,e," ")}),e.textContent!==t&&(Ah(r.removed,{element:e.cloneNode()}),e.textContent=t)),We(C.afterSanitizeElements,e,null),!1)},Ge=function(e,t,r){if(H[t])return!1;if(se&&("id"===t||"name"===t)&&(r in n||r in Te))return!1;const i=U[t]||G.attributeCheck instanceof Function&&G.attributeCheck(t,e);if(K&&!H[t]&&Vh(I,t));else if(Y&&Vh(R,t));else if(!i||H[t]){if(!(Ke(e)&&(V.tagNameCheck instanceof RegExp&&Vh(V.tagNameCheck,e)||V.tagNameCheck instanceof Function&&V.tagNameCheck(e))&&(V.attributeNameCheck instanceof RegExp&&Vh(V.attributeNameCheck,t)||V.attributeNameCheck instanceof Function&&V.attributeNameCheck(t,e))||"is"===t&&V.allowCustomizedBuiltInElements&&(V.tagNameCheck instanceof RegExp&&Vh(V.tagNameCheck,r)||V.tagNameCheck instanceof Function&&V.tagNameCheck(r))))return!1}else if(ge[t]);else if(Vh(z,Rh(r,D,"")));else if("src"!==t&&"xlink:href"!==t&&"href"!==t||"script"===e||0!==Lh(r,"data:")||!he[e])if(Q&&!Vh(L,Rh(r,D,"")));else if(r)return!1;return!0},Ye=Yh({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ke=function(e){return!Ye[Th(e)]&&Vh(M,e)},Qe=function(e){We(C.beforeSanitizeAttributes,e,null);const t=e.attributes;if(!t||Ue(e))return;const n={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:U,forceKeepAttr:void 0};let i=t.length;for(;i--;){const o=t[i],s=o.name,a=o.namespaceURI,l=o.value,c=Ce(s),u=l;let d="value"===s?u:Dh(u);if(n.attrName=c,n.attrValue=d,n.keepAttr=!0,n.forceKeepAttr=void 0,We(C.uponSanitizeAttribute,e,n),d=n.attrValue,!ae||"id"!==c&&"name"!==c||0===Lh(d,le)||(Me(s,e),d=le+d),Z&&Vh(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,d)){Me(s,e);continue}if("attributename"===c&&Ih(d,"href")){Me(s,e);continue}if(n.forceKeepAttr)continue;if(!n.keepAttr){Me(s,e);continue}if(!X&&Vh(/\/>/i,d)){Me(s,e);continue}J&&_h([j,T,N],e=>{d=Rh(d,e," ")});const f=Ce(e.nodeName);if(Ge(f,c,d)){if(k&&"object"==typeof p&&"function"==typeof p.getAttributeType)if(a);else switch(p.getAttributeType(f,c)){case"TrustedHTML":d=k.createHTML(d);break;case"TrustedScriptURL":d=k.createScriptURL(d)}if(d!==u)try{a?e.setAttributeNS(a,s,d):e.setAttribute(s,d),Ue(e)?De(e):$h(r.removed)}catch(t){Me(s,e)}}else Me(s,e)}We(C.afterSanitizeAttributes,e,null)},Xe=function(e){let t=null;const r=Fe(e);for(We(C.beforeSanitizeShadowDOM,e,null);t=r.nextNode();)We(C.uponSanitizeShadowNode,t,null),He(t),Qe(t),qe(t.content)&&Xe(t.content);We(C.afterSanitizeShadowDOM,e,null)},Je=function(e){if(1===(x?x(e):e.nodeType)){const t=b?b(e):e.shadowRoot;qe(t)&&(Je(t),Xe(t))}const t=g?g(e):e.childNodes;if(!t)return;const r=[];_h(t,e=>{Ah(r,e)});for(const e of r)Je(e)};return r.sanitize=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=null,o=null,s=null,a=null;if(ke=!e,ke&&(e="\x3c!--\x3e"),"string"!=typeof e&&!Ve(e)&&"string"!=typeof(e=function(e){switch(typeof e){case"string":return e;case"number":return Mh(e);case"boolean":return zh(e);case"bigint":return Fh?Fh(e):"0";case"symbol":return Bh?Bh(e):"Symbol()";case"undefined":default:return qh(e);case"function":case"object":{if(null===e)return qh(e);const t=e,r=Xh(t,"toString");if("function"==typeof r){const e=r(t);return"string"==typeof e?e:qh(e)}return qh(e)}}}(e)))throw Wh("dirty is not a string, aborting");if(!r.isSupported)return e;if(te||Ie(t),r.removed=[],"string"==typeof e&&(ue=!1),ue){const t=w?w(e):e.nodeName;if("string"==typeof t){const e=Ce(t);if(!F[e]||W[e])throw Wh("root node is forbidden and cannot be sanitized in-place")}if(Ue(e))throw Wh("root node is clobbered and cannot be sanitized in-place");Je(e)}else if(Ve(e))n=ze("\x3c!----\x3e"),o=n.ownerDocument.importNode(e,!0),1===o.nodeType&&"BODY"===o.nodeName||"HTML"===o.nodeName?n=o:n.appendChild(o),Je(o);else{if(!ne&&!J&&!ee&&-1===e.indexOf("<"))return k&&oe?k.createHTML(e):e;if(n=ze(e),!n)return ne?null:oe?S:""}n&&re&&De(n.firstChild);const l=Fe(ue?e:n);for(;s=l.nextNode();)He(s),Qe(s),qe(s.content)&&Xe(s.content);if(ue)return J&&Be(e),e;if(ne){if(J&&Be(n),ie)for(a=P.call(n.ownerDocument);n.firstChild;)a.appendChild(n.firstChild);else a=n;return(U.shadowroot||U.shadowrootmode)&&(a=A.call(i,a,!0)),a}let c=ee?n.outerHTML:n.innerHTML;return ee&&F["!doctype"]&&n.ownerDocument&&n.ownerDocument.doctype&&n.ownerDocument.doctype.name&&Vh(ym,n.ownerDocument.doctype.name)&&(c="\n"+c),J&&_h([j,T,N],e=>{c=Rh(c,e," ")}),k&&oe?k.createHTML(c):c},r.setConfig=function(){Ie(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),te=!0},r.clearConfig=function(){je=null,te=!1},r.isValidAttribute=function(e,t,r){je||Ie({});const n=Ce(e),i=Ce(t);return Ge(n,i,r)},r.addHook=function(e,t){"function"==typeof t&&Ah(C[e],t)},r.removeHook=function(e,t){if(void 0!==t){const r=Ph(C[e],t);return-1===r?void 0:Ch(C[e],r,1)[0]}return $h(C[e])},r.removeHooks=function(e){C[e]=[]},r.removeAllHooks=function(){C={afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},r}();const wm=ps` + a { + text-decoration: ${e=>e.theme.typography.links.textDecoration}; + color: ${e=>e.theme.typography.links.color}; + + &:visited { + color: ${e=>e.theme.typography.links.visited}; + } + + &:hover { + color: ${e=>e.theme.typography.links.hover}; + text-decoration: ${e=>e.theme.typography.links.hoverTextDecoration}; + } + } +`,km=gs(wd)` + font-family: ${e=>e.theme.typography.fontFamily}; + font-weight: ${e=>e.theme.typography.fontWeightRegular}; + line-height: ${e=>e.theme.typography.lineHeight}; + + p { + &:last-child { + margin-bottom: 0; + } + } + + ${({$compact:e})=>e&&"\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n "} + + ${({$inline:e})=>e&&" p {\n display: inline-block;\n }"} + + h1 { + ${hp(1)}; + color: ${e=>e.theme.colors.primary.main}; + margin-top: 0; + } + + h2 { + ${hp(2)}; + color: ${e=>e.theme.colors.text.primary}; + } + + code { + color: ${({theme:e})=>e.typography.code.color}; + background-color: ${({theme:e})=>e.typography.code.backgroundColor}; + + font-family: ${e=>e.theme.typography.code.fontFamily}; + border-radius: 2px; + border: 1px solid rgba(38, 50, 56, 0.1); + padding: 0 ${({theme:e})=>e.spacing.unit}px; + font-size: ${e=>e.theme.typography.code.fontSize}; + font-weight: ${({theme:e})=>e.typography.code.fontWeight}; + + word-break: break-word; + } + + pre { + font-family: ${e=>e.theme.typography.code.fontFamily}; + white-space: ${({theme:e})=>e.typography.code.wrap?"pre-wrap":"pre"}; + background-color: ${({theme:e})=>e.codeBlock.backgroundColor}; + color: white; + padding: ${e=>4*e.theme.spacing.unit}px; + overflow-x: auto; + line-height: normal; + border-radius: 0; + border: 1px solid rgba(38, 50, 56, 0.1); + + code { + background-color: transparent; + color: white; + padding: 0; + + &:before, + &:after { + content: none; + } + } + } + + blockquote { + margin: 0; + margin-bottom: 1em; + padding: 0 15px; + color: #777; + border-left: 4px solid #ddd; + } + + img { + max-width: 100%; + box-sizing: content-box; + } + + ul, + ol { + padding-left: 2em; + margin: 0; + margin-bottom: 1em; + + ul, + ol { + margin-bottom: 0; + margin-top: 0; + } + } + + table { + display: block; + width: 100%; + overflow: auto; + word-break: normal; + word-break: keep-all; + border-collapse: collapse; + border-spacing: 0; + margin-top: 1.5em; + margin-bottom: 1.5em; + } + + table tr { + background-color: #fff; + border-top: 1px solid #ccc; + + &:nth-child(2n) { + background-color: ${({theme:e})=>e.schema.nestedBackground}; + } + } + + table th, + table td { + padding: 6px 13px; + border: 1px solid #ddd; + } + + table th { + text-align: left; + font-weight: bold; + } + + ${Ep(".share-link")}; + + ${wm} + + ${ys("Markdown")}; +`;var Sm=Object.defineProperty,Em=Object.defineProperties,Om=Object.getOwnPropertyDescriptors,_m=Object.getOwnPropertySymbols,Pm=Object.prototype.hasOwnProperty,$m=Object.prototype.propertyIsEnumerable,Am=(e,t,r)=>t in e?Sm(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const Cm=xm,jm=cs(km)` + display: inline; +`,Tm=(e,t)=>e?Cm.sanitize(t):t;function Nm(e){var t=e,{inline:n,compact:i}=t,o=((e,t)=>{var r={};for(var n in e)Pm.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&_m)for(var n of _m(e))t.indexOf(n)<0&&$m.call(e,n)&&(r[n]=e[n]);return r})(t,["inline","compact"]);const s=n?jm:km;return r.createElement(Ps,null,e=>r.createElement(s,((e,t)=>Em(e,Om(t)))(((e,t)=>{for(var r in t||(t={}))Pm.call(t,r)&&Am(e,r,t[r]);if(_m)for(var r of _m(t))$m.call(t,r)&&Am(e,r,t[r]);return e})({className:"redoc-markdown "+(o.className||""),dangerouslySetInnerHTML:{__html:Tm(e.sanitize,o.html)},"data-role":o["data-role"]},o),{$inline:n,$compact:i})))}class Im extends r.Component{render(){const{source:e,inline:t,compact:n,className:i,"data-role":o}=this.props,s=new Ll;return r.createElement(Nm,{html:s.renderMd(e),inline:t,compact:n,className:i,"data-role":o})}}const Rm=gs.div` + position: relative; +`,Lm=gs.div` + position: absolute; + min-width: 80px; + max-width: 500px; + background: #fff; + bottom: 100%; + left: 50%; + margin-bottom: 10px; + transform: translateX(-50%); + + border-radius: 4px; + padding: 0.3em 0.6em; + text-align: center; + box-shadow: 0px 0px 5px 0px rgba(204, 204, 204, 1); +`,Dm=gs.div` + background: #fff; + color: #000; + display: inline; + font-size: 0.85em; + white-space: nowrap; +`,Mm=gs.div` + position: absolute; + width: 0; + height: 0; + bottom: -5px; + left: 50%; + margin-left: -5px; + border-left: solid transparent 5px; + border-right: solid transparent 5px; + border-top: solid #fff 5px; +`,zm=gs.div` + position: absolute; + width: 100%; + height: 20px; + bottom: -20px; +`;class Fm extends r.Component{render(){const{open:e,title:t,children:n}=this.props;return r.createElement(Rm,null,n,e&&r.createElement(Lm,null,r.createElement(Dm,null,t),r.createElement(Mm,null),r.createElement(zm,null)))}}const Bm="undefined"!=typeof document&&document.queryCommandSupported&&document.queryCommandSupported("copy");class Um{static isSupported(){return Bm}static selectElement(e){let t,r;document.body.createTextRange?(t=document.body.createTextRange(),t.moveToElementText(e),t.select()):document.createRange&&window.getSelection&&(r=window.getSelection(),t=document.createRange(),t.selectNodeContents(e),r.removeAllRanges(),r.addRange(t))}static deselect(){if(document.selection)document.selection.empty();else if(window.getSelection){const e=window.getSelection();e&&e.removeAllRanges()}}static copySelected(){let e;try{e=document.execCommand("copy")}catch(t){e=!1}return e}static copyElement(e){Um.selectElement(e);const t=Um.copySelected();return t&&Um.deselect(),t}static copyCustom(e){const t=document.createElement("textarea");t.style.position="fixed",t.style.top="0",t.style.left="0",t.style.width="2em",t.style.height="2em",t.style.padding="0",t.style.border="none",t.style.outline="none",t.style.boxShadow="none",t.style.background="transparent",t.value=e,document.body.appendChild(t),t.select();const r=Um.copySelected();return document.body.removeChild(t),r}}const qm=e=>{const[t,n]=r.useState(!1),i=()=>{const t="string"==typeof e.data?e.data:JSON.stringify(e.data,null,2);Um.copyCustom(t),o()},o=()=>{n(!0),setTimeout(()=>{n(!1)},1500)};return e.children({renderCopyButton:()=>r.createElement("button",{onClick:i},r.createElement(Fm,{title:Um.isSupported()?"Copied":"Not supported in your browser",open:t},"Copy"))})};let Vm=1;function Wm(e,t){Vm=1;let r="";return r+='
    ',r+="",r+=Qm(e,t),r+="",r+="
    ",r}function Hm(e){return void 0!==e?e.toString().replace(/&/g,"&").replace(/"/g,""").replace(//g,">"):""}function Gm(e){return JSON.stringify(e).slice(1,-1)}function Ym(e,t){return''+Hm(e)+""}function Km(e){return''+e+""}function Qm(e,t){const r=typeof e;let n="";return null==e?n+=Ym("null","token keyword"):e&&e.constructor===Array?(Vm++,n+=function(e,t){const r=Vm>t?"collapsed":"";let n=`${Km("[")}
      `,i=!1;const o=e.length;for(let s=0;s
      ',n+=Qm(e[s],t),s";return n+=`
    ${Km("]")}`,i||(n=Km("[ ]")),n}(e,t),Vm--):e&&e.constructor===Date?n+=Ym('"'+e.toISOString()+'"',"token string"):"object"===r?(Vm++,n+=function(e,t){const r=Vm>t?"collapsed":"",n=Object.keys(e),i=n.length;let o=`${Km("{")}
      `,s=!1;for(let a=0;a
      ',o+='"'+Hm(l)+'": ',o+=Qm(e[l],t),a"}return o+=`
    ${Km("}")}`,s||(o=Km("{ }")),o}(e,t),Vm--):"number"===r?n+=Ym(e,"token number"):"string"===r?/^(http|https):\/\/[^\s]+$/.test(e)?n+=Ym('"',"token string")+'
    '+Hm(Gm(e))+""+Ym('"',"token string"):n+=Ym('"'+Gm(e)+'"',"token string"):"boolean"===r&&(n+=Ym(e,"token boolean")),n}const Xm=ps` + .redoc-json code > .collapser { + display: none; + pointer-events: none; + } + + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: ${e=>e.theme.typography.code.fontSize}; + + white-space: ${({theme:e})=>e.typography.code.wrap?"pre-wrap":"pre"}; + contain: content; + overflow-x: auto; + + .callback-function { + color: gray; + } + + .collapser:after { + content: '-'; + cursor: pointer; + } + + .collapsed > .collapser:after { + content: '+'; + cursor: pointer; + } + + .ellipsis:after { + content: ' … '; + } + + .collapsible { + margin-left: 2em; + } + + .hoverable { + padding-top: 1px; + padding-bottom: 1px; + padding-left: 2px; + padding-right: 2px; + border-radius: 2px; + } + + .hovered { + background-color: rgba(235, 238, 249, 1); + } + + .collapser { + background-color: transparent; + border: 0; + color: #fff; + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: ${e=>e.theme.typography.code.fontSize}; + padding-right: 6px; + padding-left: 6px; + padding-top: 0; + padding-bottom: 0; + display: flex; + align-items: center; + justify-content: center; + width: 15px; + height: 15px; + position: absolute; + top: 4px; + left: -1.5em; + cursor: default; + user-select: none; + -webkit-user-select: none; + padding: 2px; + &:focus { + outline-color: #fff; + outline-style: dotted; + outline-width: 1px; + } + } + + ul { + list-style-type: none; + padding: 0px; + margin: 0px 0px 0px 26px; + } + + li { + position: relative; + display: block; + } + + .hoverable { + display: inline-block; + } + + .selected { + outline-style: solid; + outline-width: 1px; + outline-style: dotted; + } + + .collapsed > .collapsible { + display: none; + } + + .ellipsis { + display: none; + } + + .collapsed > .ellipsis { + display: inherit; + } +`,Jm=gs.div` + &:hover > ${kd} { + opacity: 1; + } +`,Zm=gs(e=>{const[t,n]=r.useState(),i=({renderCopyButton:t})=>{const i=e.data&&Object.values(e.data).some(e=>"object"==typeof e&&null!==e);return r.createElement(Jm,null,r.createElement(kd,null,t(),i&&r.createElement(r.Fragment,null,r.createElement("button",{onClick:o}," Expand all "),r.createElement("button",{onClick:s}," Collapse all "))),r.createElement(Os.Consumer,null,t=>r.createElement(wd,{tabIndex:0,className:e.className,ref:e=>n(e),dangerouslySetInnerHTML:{__html:Wm(e.data,t.jsonSamplesExpandLevel)}})))},o=()=>{const e=null==t?void 0:t.getElementsByClassName("collapsible");for(const t of Array.prototype.slice.call(e)){const e=t.parentNode;e.classList.remove("collapsed"),e.querySelector(".collapser").setAttribute("aria-label","collapse")}},s=()=>{const e=null==t?void 0:t.getElementsByClassName("collapsible"),r=Array.prototype.slice.call(e,1);for(const e of r){const t=e.parentNode;t.classList.add("collapsed"),t.querySelector(".collapser").setAttribute("aria-label","expand")}},a=e=>{let t;"collapser"===e.className&&(t=e.parentElement.getElementsByClassName("collapsible")[0],t.parentElement.classList.contains("collapsed")?(t.parentElement.classList.remove("collapsed"),e.setAttribute("aria-label","collapse")):(t.parentElement.classList.add("collapsed"),e.setAttribute("aria-label","expand")))},l=r.useCallback(e=>{a(e.target)},[]),c=r.useCallback(e=>{"Enter"===e.key&&a(e.target)},[]);return r.useEffect(()=>(null==t||t.addEventListener("click",l),null==t||t.addEventListener("focus",c),()=>{null==t||t.removeEventListener("click",l),null==t||t.removeEventListener("focus",c)}),[l,c,t]),r.createElement(qm,{data:e.data},i)})` + ${Xm}; +`,eg=e=>{const{source:t,lang:n}=e;return r.createElement(Ed,{dangerouslySetInnerHTML:{__html:ka(t,n)}})},tg=e=>{const{source:t,lang:n}=e;return r.createElement(qm,{data:t},({renderCopyButton:e})=>r.createElement(Sd,null,r.createElement(kd,null,e()),r.createElement(eg,{lang:n,source:t})))};function rg({value:e,mimeType:t}){return ea(t)?r.createElement(Zm,{data:e}):("object"==typeof e&&(e=JSON.stringify(e,null,2)),r.createElement(tg,{lang:(n=t,-1!==n.search(/xml/i)?"xml":-1!==n.search(/csv/i)?"csv":-1!==n.search(/plain/i)?"tex":"clike"),source:e}));var n}function ng({example:e,mimeType:t}){return void 0===e.value&&e.externalValueUrl?r.createElement(ig,{example:e,mimeType:t}):r.createElement(rg,{value:e.value,mimeType:t})}function ig({example:e,mimeType:t}){const n=function(e,t){const[,n]=(0,r.useState)(!0),i=(0,r.useRef)(void 0),o=(0,r.useRef)(void 0);return o.current!==e&&(i.current=void 0),o.current=e,(0,r.useEffect)(()=>{(()=>{return r=this,o=function*(){n(!0);try{i.current=yield e.getExternalValue(t)}catch(e){i.current=e}n(!1)},new Promise((e,t)=>{var n=e=>{try{s(o.next(e))}catch(e){t(e)}},i=e=>{try{s(o.throw(e))}catch(e){t(e)}},s=t=>t.done?e(t.value):Promise.resolve(t.value).then(n,i);s((o=o.apply(r,null)).next())});var r,o})()},[e,t]),i.current}(e,t);return void 0===n?r.createElement("span",null,"Loading..."):n instanceof Error?r.createElement(Ed,null,"Error loading external example: ",r.createElement("br",null),r.createElement("a",{className:"token string",href:e.externalValueUrl,target:"_blank",rel:"noopener noreferrer"},e.externalValueUrl)):r.createElement(rg,{value:n,mimeType:t})}const og=gs.div` + padding: 0.9em; + background-color: ${({theme:e})=>Gn(.6,e.rightPanel.backgroundColor)}; + margin: 0 0 10px 0; + display: block; + font-family: ${({theme:e})=>e.typography.headings.fontFamily}; + font-size: 0.929em; + line-height: 1.5em; +`,sg=gs.span` + font-family: ${({theme:e})=>e.typography.headings.fontFamily}; + font-size: 12px; + position: absolute; + z-index: 1; + top: -11px; + left: 12px; + font-weight: ${({theme:e})=>e.typography.fontWeightBold}; + color: ${({theme:e})=>Gn(.3,e.rightPanel.textColor)}; +`,ag=gs.div` + position: relative; +`,lg=gs(mf)` + label { + color: ${({theme:e})=>e.rightPanel.textColor}; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + font-size: 1em; + text-transform: none; + border: none; + } + margin: 0 0 10px 0; + display: block; + background-color: ${({theme:e})=>Gn(.6,e.rightPanel.backgroundColor)}; + border: none; + padding: 0.9em 1.6em 0.9em 0.9em; + box-shadow: none; + &:hover, + &:focus-within { + border: none; + box-shadow: none; + background-color: ${({theme:e})=>Gn(.3,e.rightPanel.backgroundColor)}; + } +`,cg=gs.div` + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: 12px; + color: #ee807f; +`;class ug extends r.Component{constructor(){super(...arguments),this.state={activeIdx:0},this.switchMedia=({idx:e})=>{void 0!==e&&this.setState({activeIdx:e})}}render(){const{activeIdx:e}=this.state,t=this.props.mediaType.examples||{},n=this.props.mediaType.name,i=r.createElement(cg,null,"No sample"),o=Object.keys(t);if(0===o.length)return i;if(o.length>1){const i=o.map((e,r)=>({value:t[e].summary||e,idx:r})),s=t[o[e]],a=s.description;return r.createElement(pg,null,r.createElement(ag,null,r.createElement(sg,null,"Example"),this.props.renderDropdown({value:i[e].value,options:i,onChange:this.switchMedia,ariaLabel:"Example"})),r.createElement("div",null,a&&r.createElement(Im,{source:a}),r.createElement(ng,{example:s,mimeType:n})))}{const e=t[o[0]];return r.createElement(pg,null,e.description&&r.createElement(Im,{source:e.description}),r.createElement(ng,{example:e,mimeType:n}))}}}const pg=gs.div` + margin-top: 15px; +`;if(!r.useState)throw new Error("mobx-react-lite requires React with Hooks support");if(!ir)throw new Error("mobx-react-lite@3 requires mobx at least version 6 to be available");var dg=n(961);function fg(e){e()}function hg(e){return Ft(Yr(e,t));var t}var mg,gg,yg=function(){function e(e){var t=this;Object.defineProperty(this,"finalize",{enumerable:!0,configurable:!0,writable:!0,value:e}),Object.defineProperty(this,"registrations",{enumerable:!0,configurable:!0,writable:!0,value:new Map}),Object.defineProperty(this,"sweepTimeout",{enumerable:!0,configurable:!0,writable:!0,value:void 0}),Object.defineProperty(this,"sweep",{enumerable:!0,configurable:!0,writable:!0,value:function(e){void 0===e&&(e=1e4),clearTimeout(t.sweepTimeout),t.sweepTimeout=void 0;var r=Date.now();t.registrations.forEach(function(n,i){r-n.registeredAt>=e&&(t.finalize(n.value),t.registrations.delete(i))}),t.registrations.size>0&&t.scheduleSweep()}}),Object.defineProperty(this,"finalizeAllImmediately",{enumerable:!0,configurable:!0,writable:!0,value:function(){t.sweep(0)}})}return Object.defineProperty(e.prototype,"register",{enumerable:!1,configurable:!0,writable:!0,value:function(e,t,r){this.registrations.set(r,{value:t,registeredAt:Date.now()}),this.scheduleSweep()}}),Object.defineProperty(e.prototype,"unregister",{enumerable:!1,configurable:!0,writable:!0,value:function(e){this.registrations.delete(e)}}),Object.defineProperty(e.prototype,"scheduleSweep",{enumerable:!1,configurable:!0,writable:!0,value:function(){void 0===this.sweepTimeout&&(this.sweepTimeout=setTimeout(this.sweep,1e4))}}),e}(),bg=new("undefined"!=typeof FinalizationRegistry?FinalizationRegistry:yg)(function(e){var t;null===(t=e.reaction)||void 0===t||t.dispose(),e.reaction=null}),vg=n(9888);function xg(e){e.reaction=new yt("observer".concat(e.name),function(){var t;e.stateVersion=Symbol(),null===(t=e.onStoreChange)||void 0===t||t.call(e)})}var wg="function"==typeof Symbol&&Symbol.for,kg=null!==(gg=null===(mg=Object.getOwnPropertyDescriptor(function(){},"name"))||void 0===mg?void 0:mg.configurable)&&void 0!==gg&&gg,Sg=wg?Symbol.for("react.forward_ref"):"function"==typeof r.forwardRef&&(0,r.forwardRef)(function(e){return null}).$$typeof,Eg=wg?Symbol.for("react.memo"):"function"==typeof r.memo&&(0,r.memo)(function(e){return null}).$$typeof;function Og(e,t){var n;if(Eg&&e.$$typeof===Eg)throw new Error("[mobx-react-lite] You are trying to use `observer` on a function component wrapped in either another `observer` or `React.memo`. The observer already applies 'React.memo' for you.");var i=null!==(n=null==t?void 0:t.forwardRef)&&void 0!==n&&n,o=e,s=e.displayName||e.name;if(Sg&&e.$$typeof===Sg&&(i=!0,"function"!=typeof(o=e.render)))throw new Error("[mobx-react-lite] `render` property of ForwardRef was not a function");var a,l,c=function(e,t){return function(e,t){void 0===t&&(t="observed");var n=r.useRef(null);if(!n.current){var i={reaction:null,onStoreChange:null,stateVersion:Symbol(),name:t,subscribe:function(e){return bg.unregister(i),i.onStoreChange=e,i.reaction||(xg(i),i.stateVersion=Symbol()),function(){var e;i.onStoreChange=null,null===(e=i.reaction)||void 0===e||e.dispose(),i.reaction=null}},getSnapshot:function(){return i.stateVersion}};n.current=i}var o,s,a=n.current;if(a.reaction||(xg(a),bg.register(n,a,a)),r.useDebugValue(a.reaction,hg),(0,vg.useSyncExternalStore)(a.subscribe,a.getSnapshot,a.getSnapshot),a.reaction.track(function(){try{o=e()}catch(e){s=e}}),s)throw s;return o}(function(){return o(e,t)},s)};return c.displayName=e.displayName,kg&&Object.defineProperty(c,"name",{value:e.name,writable:!0,configurable:!0}),e.contextTypes&&(c.contextTypes=e.contextTypes),i&&(c=(0,r.forwardRef)(c)),c=(0,r.memo)(c),a=e,l=c,Object.keys(a).forEach(function(e){_g[e]||Object.defineProperty(l,e,Object.getOwnPropertyDescriptor(a,e))}),c}var _g={$$typeof:!0,render:!0,compare:!0,type:!0,displayName:!0};function Pg(e,t){return e===t?0!==e||1/e==1/t:e!=e&&t!=t}!function(e){e||(e=fg),zt({reactionScheduler:e})}(dg.unstable_batchedUpdates),bg.finalizeAllImmediately;var $g=Symbol("patchMixins"),Ag=Symbol("patchedDefinition");function Cg(e,t){for(var r=this,n=arguments.length,i=new Array(n>2?n-2:0),o=2;o"}function Mg(e){var t=e.bind(this),r=Lg(this);return function(){r.reaction||(r.reaction=function(e){return new yt(e.name+".render()",function(){if(e.mounted)try{null==e.forceUpdate||e.forceUpdate()}catch(r){var t;null==(t=e.reaction)||t.dispose(),e.reaction=null}else e.reactionInvalidatedBeforeMount=!0})}(r),r.mounted||bg.register(this,r,this));var e=void 0,n=void 0;if(r.reaction.track(function(){try{n=function(e,t){var r=Be(e);try{return t()}finally{Ue(r)}}(!1,t)}catch(t){e=t}}),e)throw e;return n}}function zg(e,t){return this.state!==t||!function(e,t){if(Pg(e,t))return!0;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;var r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(var i=0;i {}` or `render = function() {}` is not supported.")}t.render=function(){return Object.defineProperty(this,"render",{configurable:!1,writable:!1,value:Mg.call(this,i)}),this.render()};var s=t.componentDidMount;return t.componentDidMount=function(){var e=this,t=Lg(this);return t.mounted=!0,bg.unregister(this),t.forceUpdate=function(){return e.forceUpdate()},t.reaction&&!t.reactionInvalidatedBeforeMount||t.forceUpdate(),null==s?void 0:s.apply(this,arguments)},Tg(t,"componentWillUnmount",function(){var e,t=Lg(this);null==(e=t.reaction)||e.dispose(),t.reaction=null,t.forceUpdate=null,t.mounted=!1,t.reactionInvalidatedBeforeMount=!1}),e}(e):Og(e)}if(r.version.split(".")[0],!r.Component)throw new Error("mobx-react requires React to be available");if(!Ce)throw new Error("mobx-react requires mobx to be available");const Bg=gs(Ip)` + &.deprecated { + span.property-name { + ${Cp} + } + } + + button { + background-color: transparent; + border: 0; + outline: 0; + font-size: 13px; + font-family: ${e=>e.theme.typography.code.fontFamily}; + cursor: pointer; + padding: 0; + color: ${e=>e.theme.colors.text.primary}; + &:focus { + font-weight: ${({theme:e})=>e.typography.fontWeightBold}; + } + ${({kind:e})=>"patternProperties"===e&&ps` + display: inline-flex; + margin-right: 20px; + + > span.property-name { + white-space: break-spaces; + text-align: left; + + ::before, + ::after { + content: '/'; + filter: opacity(0.2); + } + } + + > svg { + align-self: center; + } + `} + } + ${$p} { + height: ${({theme:e})=>e.schema.arrow.size}; + width: ${({theme:e})=>e.schema.arrow.size}; + polygon { + fill: ${({theme:e})=>e.schema.arrow.color}; + } + } +`,Ug=gs.span` + vertical-align: middle; + font-size: ${({theme:e})=>e.typography.code.fontSize}; + line-height: 20px; +`,qg=gs(Ug)` + color: ${e=>Gn(.1,e.theme.schema.typeNameColor)}; +`,Vg=gs(Ug)` + color: ${e=>e.theme.schema.typeNameColor}; +`,Wg=gs(Ug)` + color: ${e=>e.theme.schema.typeTitleColor}; + word-break: break-word; +`,Hg=Vg,Gg=gs(Ug).attrs({as:"div"})` + color: ${e=>e.theme.schema.requireLabelColor}; + font-size: ${e=>e.theme.schema.labelsTextSize}; + font-weight: normal; + margin-left: 20px; + line-height: 1; +`,Yg=gs(Gg)` + color: ${e=>e.theme.colors.primary.light}; +`,Kg=gs(Ug)` + color: ${({theme:e})=>e.colors.warning.main}; + font-size: 13px; +`,Qg=gs(Ug)` + color: #0e7c86; + font-family: ${e=>e.theme.typography.code.fontFamily}; + font-size: 12px; + &::before, + &::after { + content: ' '; + } +`,Xg=gs(Ug)` + border-radius: 2px; + word-break: break-word; + ${({theme:e})=>`\n background-color: ${Gn(.95,e.colors.text.primary)};\n color: ${Gn(.1,e.colors.text.primary)};\n\n padding: 0 ${e.spacing.unit}px;\n border: 1px solid ${Gn(.9,e.colors.text.primary)};\n font-family: ${e.typography.code.fontFamily};\n}`}; + & + & { + margin-left: 0; + } + ${ys("ExampleValue")}; +`,Jg=gs(Xg)``,Zg=gs(Ug)` + border-radius: 2px; + ${({theme:e})=>`\n background-color: ${Gn(.95,e.colors.primary.light)};\n color: ${Gn(.1,e.colors.primary.main)};\n\n margin: 0 ${e.spacing.unit}px;\n padding: 0 ${e.spacing.unit}px;\n border: 1px solid ${Gn(.9,e.colors.primary.main)};\n}`}; + & + & { + margin-left: 0; + } + ${ys("ConstraintItem")}; +`,ey=gs.button` + background-color: transparent; + border: 0; + color: ${({theme:e})=>e.colors.text.secondary}; + margin-left: ${({theme:e})=>e.spacing.unit}px; + border-radius: 2px; + cursor: pointer; + outline-color: ${({theme:e})=>e.colors.text.secondary}; + font-size: 12px; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;const ty=gs.div` + ${wm}; + ${({$compact:e})=>e?"":"margin: 1em 0"} +`;let ry=class extends r.Component{render(){const{externalDocs:e}=this.props;return e&&e.url?r.createElement(ty,{$compact:this.props.compact},r.createElement("a",{href:e.url},e.description||e.url)):null}};ry=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],ry);const ny=gs(km)` + table { + margin-bottom: 0.2em; + } +`;class iy extends r.PureComponent{constructor(e){super(e),this.state={collapsed:!0},this.toggle=this.toggle.bind(this)}toggle(){this.setState({collapsed:!this.state.collapsed})}render(){const{values:e,type:t}=this.props,{collapsed:n}=this.state,i=!Array.isArray(e),o=Array.isArray(e)&&e||Object.entries(e||{}).map(([e,t])=>({value:e,description:t})),{enumSkipQuotes:s,maxDisplayedEnumValues:a}=this.context;if(!o.length)return null;const l=this.state.collapsed&&a?o.slice(0,a):o,c=!!a&&o.length>a,u=a?n?`… ${o.length-a} more`:"Hide":"";return r.createElement("div",null,i?r.createElement(r.Fragment,null,r.createElement(ny,null,r.createElement("table",null,r.createElement("thead",null,r.createElement("tr",null,r.createElement("th",null,r.createElement(Ug,null,"array"===t?hi("enumArray"):""," ",1===o.length?hi("enumSingleValue"):hi("enum"))," "),r.createElement("th",null,r.createElement("strong",null,"Description")))),r.createElement("tbody",null,l.map(({description:e,value:t})=>r.createElement("tr",{key:t},r.createElement("td",null,t),r.createElement("td",null,r.createElement(Im,{source:e,compact:!0,inline:!0}))))))),c?r.createElement(oy,{onClick:this.toggle},u):null):r.createElement(r.Fragment,null,r.createElement(Ug,null,"array"===t?hi("enumArray"):""," ",1===e.length?hi("enumSingleValue"):hi("enum"),":")," ",l.map((e,t)=>{const n=s?String(e):JSON.stringify(e);return r.createElement(r.Fragment,{key:t},r.createElement(Xg,null,n)," ")}),c?r.createElement(oy,{onClick:this.toggle},u):null))}}iy.contextType=Os;const oy=gs.span` + color: ${e=>e.theme.colors.primary.main}; + vertical-align: middle; + font-size: 13px; + line-height: 20px; + padding: 0 5px; + cursor: pointer; +`,sy=gs(km)` + margin: 2px 0; +`;class ay extends r.PureComponent{render(){const e=this.props.extensions;return r.createElement(Os.Consumer,null,t=>r.createElement(r.Fragment,null,t.showExtensions&&Object.keys(e).map(t=>r.createElement(sy,{key:t},r.createElement(Ug,null," ",t.substring(2),": ")," ",r.createElement(Jg,null,"string"==typeof e[t]?e[t]:JSON.stringify(e[t]))))))}}function ly({field:e}){return e.examples?r.createElement(r.Fragment,null,r.createElement(Ug,null," ",hi("examples"),": "),pi(e.examples)?e.examples.map((t,n)=>{const i=oa(e,t),o=e.in?String(i):JSON.stringify(i);return r.createElement(r.Fragment,{key:n},r.createElement(Xg,null,o)," ")}):r.createElement(cy,null,Object.values(e.examples).map((t,n)=>r.createElement("li",{key:n+t.value},r.createElement(Xg,null,oa(e,t.value))," -"," ",t.summary||t.description)))):null}const cy=gs.ul` + margin-top: 1em; + list-style-position: outside; +`;class uy extends r.PureComponent{render(){return 0===this.props.constraints.length?null:r.createElement("span",null," ",this.props.constraints.map(e=>r.createElement(Zg,{key:e}," ",e," ")))}}const py=r.memo(function({value:e,label:t,raw:n}){if(void 0===e)return null;const i=n?String(e):JSON.stringify(e);return r.createElement("div",null,r.createElement(Ug,null," ",t," ")," ",r.createElement(Xg,null,i))});function dy(e){const t=e.schema.pattern,{hideSchemaPattern:n}=r.useContext(Os),[i,o]=r.useState(!1),s=r.useCallback(()=>o(!i),[i]);return!t||n?null:r.createElement(r.Fragment,null,r.createElement(Qg,null,i||t.length<45?t:`${t.substr(0,45)}...`),t.length>45&&r.createElement(ey,{onClick:s},i?"Hide pattern":"Show pattern"))}function fy({schema:e}){var t;const{hideSchemaPattern:n}=r.useContext(Os);return e&&((null==e?void 0:e.pattern)&&!n||e.items||e.displayFormat||(null==(t=e.constraints)?void 0:t.length))?r.createElement(hy,null,"[ items",e.displayFormat&&r.createElement(Hg,null," <",e.displayFormat," >"),r.createElement(uy,{constraints:e.constraints}),r.createElement(dy,{schema:e}),e.items&&r.createElement(fy,{schema:e.items})," ]"):null}const hy=gs(qg)` + margin: 0 5px; + vertical-align: text-top; +`;var my=Object.defineProperty,gy=Object.getOwnPropertySymbols,yy=Object.prototype.hasOwnProperty,by=Object.prototype.propertyIsEnumerable,vy=(e,t,r)=>t in e?my(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,xy=(e,t)=>{for(var r in t||(t={}))yy.call(t,r)&&vy(e,r,t[r]);if(gy)for(var r of gy(t))by.call(t,r)&&vy(e,r,t[r]);return e};const wy=Fg(e=>{const{enumSkipQuotes:t,hideSchemaTitles:n}=r.useContext(Os),{showExamples:i,field:o,renderDiscriminatorSwitch:s}=e,{schema:a,description:l,deprecated:c,extensions:u,in:p,const:d}=o,f="array"===a.type||pi(a.type)&&a.type.includes("array"),h=t||"header"===p,m=r.useMemo(()=>!i||void 0===o.example&&void 0===o.examples?null:void 0!==o.examples?r.createElement(ly,{field:o}):r.createElement(py,{label:hi("example")+":",value:oa(o,o.example),raw:Boolean(o.in)}),[o,i]),g=si(a.default)&&o.in?oa(o,a.default).replace(`${o.name}=`,""):a.default;return r.createElement("div",null,r.createElement("div",null,r.createElement(qg,null,a.typePrefix),r.createElement(Vg,null,a.displayType),a.displayFormat&&r.createElement(Hg,null," ","<",a.displayFormat,">"," "),a.contentEncoding&&r.createElement(Hg,null," ","<",a.contentEncoding,">"," "),a.contentMediaType&&r.createElement(Hg,null," ","<",a.contentMediaType,">"," "),a.title&&!n&&r.createElement(Wg,null," (",a.title,") "),r.createElement(uy,{constraints:a.constraints}),r.createElement(dy,{schema:a}),a.isCircular&&r.createElement(Kg,null," ",hi("recursive")," "),f&&a.items&&r.createElement(fy,{schema:a.items})),c&&r.createElement("div",null,r.createElement(Ap,{type:"warning"}," ",hi("deprecated")," ")),r.createElement(py,{raw:h,label:hi("default")+":",value:g}),!s&&r.createElement(iy,{type:a.type,values:a["x-enumDescriptions"]||a.enum})," ",m,r.createElement(ay,{extensions:xy(xy({},u),a.extensions)}),r.createElement("div",null,r.createElement(Im,{compact:!0,source:l})),a.externalDocs&&r.createElement(ry,{externalDocs:a.externalDocs,compact:!0}),s&&s(e)||null,d&&r.createElement(py,{label:hi("const")+":",value:d})||null)}),ky=r.memo(wy);var Sy=Object.defineProperty,Ey=(Object.getOwnPropertyDescriptor,Object.getOwnPropertySymbols),Oy=Object.prototype.hasOwnProperty,_y=Object.prototype.propertyIsEnumerable,Py=(e,t,r)=>t in e?Sy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;let $y=class extends r.Component{constructor(){super(...arguments),this.toggle=()=>{void 0===this.props.field.expanded&&this.props.expandByDefault?this.props.field.collapse():this.props.field.toggle()},this.handleKeyPress=e=>{"Enter"===e.key&&(e.preventDefault(),this.toggle())}}render(){const{hidePropertiesPrefix:e}=this.context,{className:t="",field:n,isLast:i,expandByDefault:o,fieldParentsName:s=[]}=this.props,{name:a,deprecated:l,required:c,kind:u}=n,p=!n.schema.isPrimitive&&!n.schema.isCircular,d=void 0===n.expanded?o:n.expanded,f=r.createElement(r.Fragment,null,"additionalProperties"===u&&r.createElement(Yg,null,"additional property"),"patternProperties"===u&&r.createElement(Yg,null,"pattern property"),c&&r.createElement(Gg,null,"required")),h=p?r.createElement(Bg,{className:l?"deprecated":"",kind:u,title:a},r.createElement(Lp,null),r.createElement("button",{onClick:this.toggle,onKeyPress:this.handleKeyPress,"aria-label":`expand ${a}`},!e&&s.map(e=>e+".​"),r.createElement("span",{className:"property-name"},a),r.createElement($p,{direction:d?"down":"right"})),f):r.createElement(Ip,{className:l?"deprecated":void 0,kind:u,title:a},r.createElement(Lp,null),!e&&s.map(e=>e+".​"),r.createElement("span",{className:"property-name"},a),f);return r.createElement(r.Fragment,null,r.createElement("tr",{className:i?"last "+t:t},h,r.createElement(Rp,null,r.createElement(ky,((e,t)=>{for(var r in t||(t={}))Oy.call(t,r)&&Py(e,r,t[r]);if(Ey)for(var r of Ey(t))_y.call(t,r)&&Py(e,r,t[r]);return e})({},this.props)))),d&&p&&r.createElement("tr",{key:n.name+"inner"},r.createElement(Np,{colSpan:2},r.createElement(Dp,null,r.createElement(cb,{schema:n.schema,fieldParentsName:[...s||[],n.name],skipReadOnly:this.props.skipReadOnly,skipWriteOnly:this.props.skipWriteOnly,showTitle:this.props.showTitle,level:this.props.level})))))}};$y.contextType=Os,$y=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],$y);Object.defineProperty,Object.getOwnPropertyDescriptor;let Ay=class extends r.Component{constructor(){super(...arguments),this.changeActiveChild=e=>{void 0!==e.idx&&this.props.parent.activateOneOf(e.idx)}}sortOptions(e,t){if(0===t.length)return;const r={};t.forEach((e,t)=>{r[e]=t}),e.sort((e,t)=>r[e.value]>r[t.value]?1:-1)}render(){const{parent:e,enumValues:t}=this.props;if(void 0===e.oneOf)return null;const n=e.oneOf.map((e,t)=>({value:e.title,idx:t})),i=n[e.activeOneOf].value;return this.sortOptions(n,t),r.createElement(mf,{value:i,options:n,onChange:this.changeActiveChild,ariaLabel:"Example"})}};Ay=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],Ay);const Cy=Fg(({schema:{fields:e=[],title:t},showTitle:n,discriminator:i,skipReadOnly:o,skipWriteOnly:s,level:a,fieldParentsName:l})=>{const{expandSingleSchemaField:c,showObjectSchemaExamples:u,schemasExpansionLevel:p}=r.useContext(Os),d=r.useMemo(()=>o||s?e.filter(e=>!(o&&e.schema.readOnly||s&&e.schema.writeOnly)):e,[o,s,e]),f=c&&1===d.length||p>=a;return r.createElement(Mp,null,n&&r.createElement(jp,null,t),r.createElement("tbody",null,ti(d,(e,t)=>r.createElement($y,{key:e.name,isLast:t,field:e,expandByDefault:f,fieldParentsName:Number(a)>1?l:[],renderDiscriminatorSwitch:(null==i?void 0:i.fieldName)===e.name?()=>r.createElement(Ay,{parent:i.parentSchema,enumValues:e.schema.enum}):void 0,className:e.expanded?"expanded":void 0,showExamples:u,skipReadOnly:o,skipWriteOnly:s,showTitle:n,level:a}))))});var jy=Object.defineProperty,Ty=Object.defineProperties,Ny=Object.getOwnPropertyDescriptors,Iy=Object.getOwnPropertySymbols,Ry=Object.prototype.hasOwnProperty,Ly=Object.prototype.propertyIsEnumerable,Dy=(e,t,r)=>t in e?jy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,My=(e,t)=>{for(var r in t||(t={}))Ry.call(t,r)&&Dy(e,r,t[r]);if(Iy)for(var r of Iy(t))Ly.call(t,r)&&Dy(e,r,t[r]);return e},zy=(e,t)=>Ty(e,Ny(t));const Fy=gs.div` + padding-left: ${({theme:e})=>2*e.spacing.unit}px; +`;class By extends r.PureComponent{render(){const e=this.props.schema,t=e.items,n=this.props.fieldParentsName,i=void 0===e.minItems&&void 0===e.maxItems?"":`(${ua(e)})`,o=n?[...n.slice(0,-1),n[n.length-1]+"[]"]:n;return e.fields?r.createElement(Cy,zy(My({},this.props),{level:this.props.level,fieldParentsName:o})):!e.displayType||t||i.length?r.createElement("div",null,r.createElement(Up,null," Array ",i),r.createElement(Fy,null,r.createElement(cb,zy(My({},this.props),{schema:t,fieldParentsName:o}))),r.createElement(qp,null)):r.createElement("div",null,r.createElement(Vg,null,e.displayType))}}var Uy=Object.defineProperty,qy=Object.defineProperties,Vy=Object.getOwnPropertyDescriptor,Wy=Object.getOwnPropertyDescriptors,Hy=Object.getOwnPropertySymbols,Gy=Object.prototype.hasOwnProperty,Yy=Object.prototype.propertyIsEnumerable,Ky=(e,t,r)=>t in e?Uy(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Qy=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?Vy(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Uy(t,r,o),o};let Xy=class extends r.Component{constructor(){super(...arguments),this.activateOneOf=()=>{this.props.schema.activateOneOf(this.props.idx)}}render(){const{idx:e,schema:t,subSchema:n}=this.props;return r.createElement(Bp,{$deprecated:n.deprecated,$active:e===t.activeOneOf,onClick:this.activateOneOf},n.title||n.typePrefix+n.displayType)}};Xy=Qy([Fg],Xy);let Jy=class extends r.Component{render(){const{schema:{oneOf:e},schema:t}=this.props;if(void 0===e)return null;const n=e[t.activeOneOf];return r.createElement("div",null,r.createElement(Fp,null," ",t.oneOfType," "),r.createElement(zp,null,e.map((e,n)=>r.createElement(Xy,{key:e.pointer,schema:t,subSchema:e,idx:n}))),r.createElement("div",null,e[t.activeOneOf].deprecated&&r.createElement(Ap,{type:"warning"},"Deprecated")),r.createElement(uy,{constraints:n.constraints}),r.createElement(cb,((e,t)=>qy(e,Wy(t)))(((e,t)=>{for(var r in t||(t={}))Gy.call(t,r)&&Ky(e,r,t[r]);if(Hy)for(var r of Hy(t))Yy.call(t,r)&&Ky(e,r,t[r]);return e})({},this.props),{schema:n})))}};Jy=Qy([Fg],Jy);const Zy=Fg(({schema:e})=>r.createElement("div",null,r.createElement(Vg,null,e.displayType),e.title&&r.createElement(Wg,null," ",e.title," "),r.createElement(Kg,null," ",hi("recursive")," ")));var eb=Object.defineProperty,tb=Object.defineProperties,rb=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),nb=Object.getOwnPropertySymbols,ib=Object.prototype.hasOwnProperty,ob=Object.prototype.propertyIsEnumerable,sb=(e,t,r)=>t in e?eb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,ab=(e,t)=>{for(var r in t||(t={}))ib.call(t,r)&&sb(e,r,t[r]);if(nb)for(var r of nb(t))ob.call(t,r)&&sb(e,r,t[r]);return e},lb=(e,t)=>tb(e,rb(t));let cb=class extends r.Component{render(){var e;const t=this.props,{schema:n}=t,i=((e,t)=>{var r={};for(var n in e)ib.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&nb)for(var n of nb(e))t.indexOf(n)<0&&ob.call(e,n)&&(r[n]=e[n]);return r})(t,["schema"]),o=(i.level||0)+1;if(!n)return r.createElement("em",null," Schema not provided ");const{type:s,oneOf:a,discriminatorProp:l,isCircular:c}=n;if(c)return r.createElement(Zy,{schema:n});if(void 0!==l){if(!a||!a.length)return console.warn(`Looks like you are using discriminator wrong: you don't have any definition inherited from the ${n.title}`),null;const e=a[n.activeOneOf];return e.isCircular?r.createElement(Zy,{schema:e}):r.createElement(Cy,lb(ab({},i),{level:o,schema:e,discriminator:{fieldName:l,parentSchema:n}}))}if(void 0!==a)return r.createElement(Jy,ab({schema:n},i));const u=pi(s)?s:[s];if(u.includes("object")){if(null==(e=n.fields)?void 0:e.length)return r.createElement(Cy,lb(ab({},this.props),{level:o}))}else if(u.includes("array"))return r.createElement(By,lb(ab({},this.props),{level:o}));const p={schema:n,name:"",required:!1,description:n.description,externalDocs:n.externalDocs,deprecated:!1,toggle:()=>null,expanded:!1};return r.createElement("div",null,r.createElement(ky,{field:p}))}};cb=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],cb);var ub=Object.defineProperty,pb=Object.defineProperties,db=Object.getOwnPropertyDescriptors,fb=Object.getOwnPropertySymbols,hb=Object.prototype.hasOwnProperty,mb=Object.prototype.propertyIsEnumerable,gb=(e,t,r)=>t in e?ub(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class yb extends r.PureComponent{constructor(){super(...arguments),this.renderDropdown=e=>{return r.createElement(dh,(t=((e,t)=>{for(var r in t||(t={}))hb.call(t,r)&&gb(e,r,t[r]);if(fb)for(var r of fb(t))mb.call(t,r)&&gb(e,r,t[r]);return e})({Label:yf,Dropdown:lg},e),pb(t,db({variant:"dark"}))));var t}}static getMediaType(e,t){if(!e)return{};const r={schema:{$ref:e}};return t&&(r.examples={example:{$ref:t}}),r}get mediaModel(){const{parser:e,schemaRef:t,exampleRef:r,options:n}=this.props;return this._mediaModel||(this._mediaModel=new Fu(e,"json",!1,yb.getMediaType(t,r),n)),this._mediaModel}render(){const{showReadOnly:e=!0,showWriteOnly:t=!1,showExample:n=!0}=this.props;return r.createElement(cp,null,r.createElement(dp,null,r.createElement(lp,null,r.createElement(cb,{skipWriteOnly:!t,skipReadOnly:!e,schema:this.mediaModel.schema})),n&&r.createElement(pp,null,r.createElement(bb,null,r.createElement(ug,{renderDropdown:this.renderDropdown,mediaType:this.mediaModel})))))}}const bb=gs.div` + background: ${({theme:e})=>e.codeBlock.backgroundColor}; + & > div, + & > pre { + padding: ${e=>4*e.theme.spacing.unit}px; + margin: 0; + } + + & > div > pre { + padding: 0; + } +`,vb=(cs.div` + background-color: #e4e7eb; +`,cs.ul` + display: inline; + list-style: none; + padding: 0; + + li { + display: inherit; + + &:after { + content: ','; + } + &:last-child:after { + content: none; + } + } +`,cs.code` + font-size: ${e=>e.theme.typography.code.fontSize}; + font-family: ${e=>e.theme.typography.code.fontFamily}; + margin: 0 3px; + padding: 0.2em; + display: inline-block; + line-height: 1; + + &:after { + content: ','; + font-weight: normal; + } + + &:last-child:after { + content: none; + } +`),xb=cs.span` + &:after { + content: ' and '; + font-weight: normal; + } + + &:last-child:after { + content: none; + } + + ${wm}; +`,wb=cs.span` + ${e=>!e.$expanded&&"white-space: nowrap;"} + &:after { + content: ' or '; + ${e=>e.$expanded&&"content: ' or \\a';"} + white-space: pre; + } + + &:last-child:after, + &:only-child:after { + content: none; + } + + ${wm}; +`,kb=cs.div` + flex: 1 1 auto; + cursor: pointer; +`,Sb=cs.div` + width: ${e=>e.theme.schema.defaultDetailsWidth}; + text-overflow: ellipsis; + border-radius: 4px; + overflow: hidden; + ${e=>e.$expanded&&`background: ${e.theme.colors.gray[100]};\n padding: 8px 9.6px;\n margin: 20px 0;\n width: 100%;\n `}; + ${ms.lessThan("small")` + margin-top: 10px; + `} +`,Eb=cs(vp)` + display: inline-block; + margin: 0; +`,Ob=cs.div` + width: 100%; + display: flex; + margin: 1em 0; + flex-direction: ${e=>e.$expanded?"column":"row"}; + ${ms.lessThan("small")` + flex-direction: column; + `} +`,_b=cs.div` + margin: 0.5em 0; +`,Pb=cs.div` + border-bottom: 1px solid ${({theme:e})=>e.colors.border.dark}; + margin-bottom: 1.5em; + padding-bottom: 0.7em; + + h5 { + line-height: 1em; + margin: 0 0 0.6em; + font-size: ${({theme:e})=>e.typography.fontSize}; + } + + .redoc-markdown p:first-child { + display: inline; + } +`;function $b({children:e,height:t}){const n=r.createRef(),[i,o]=r.useState(!1),[s,a]=r.useState(!1);return r.useEffect(()=>{n.current&&n.current.clientHeight+20{o(!i)}},i?"See less":"See more")))}const Ab=cs.div` + overflow-y: hidden; +`,Cb=cs.div` + text-align: center; + line-height: 1.5em; + ${({$dimmed:e})=>e&&"background-image: linear-gradient(to bottom, transparent,rgb(255 255 255));\n position: relative;\n top: -0.5em;\n padding-top: 0.5em;\n background-position-y: -1em;\n "} +`,jb=cs.a` + cursor: pointer; +`,Tb=r.memo(function(e){const{type:t,flow:n,RequiredScopes:i}=e,o=Object.keys((null==n?void 0:n.scopes)||{});return r.createElement(r.Fragment,null,r.createElement(_b,null,r.createElement("b",null,"Flow type: "),r.createElement("code",null,t," ")),("implicit"===t||"authorizationCode"===t)&&r.createElement(_b,null,r.createElement("strong",null," Authorization URL: "),r.createElement("code",null,r.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:n.authorizationUrl},n.authorizationUrl))),("password"===t||"clientCredentials"===t||"authorizationCode"===t)&&r.createElement(_b,null,r.createElement("b",null," Token URL: "),r.createElement("code",null,n.tokenUrl)),n.refreshUrl&&r.createElement(_b,null,r.createElement("strong",null," Refresh URL: "),r.createElement("code",null,n.refreshUrl)),!!o.length&&r.createElement(r.Fragment,null,i||null,r.createElement(_b,null,r.createElement("b",null," Scopes: ")),r.createElement($b,{height:"4em"},r.createElement("ul",null,o.map(e=>r.createElement("li",{key:e},r.createElement("code",null,e)," -"," ",r.createElement(Im,{className:"redoc-markdown",inline:!0,source:n.scopes[e]||""})))))))});function Nb(e){const{RequiredScopes:t,scheme:n}=e;return r.createElement(km,null,n.apiKey?r.createElement(r.Fragment,null,r.createElement(_b,null,r.createElement("b",null,(i=n.apiKey.in||"").charAt(0).toUpperCase()+i.slice(1)," parameter name: "),r.createElement("code",null,n.apiKey.name)),t):n.http?r.createElement(r.Fragment,null,r.createElement(_b,null,r.createElement("b",null,"HTTP Authorization Scheme: "),r.createElement("code",null,n.http.scheme)),r.createElement(_b,null,"bearer"===n.http.scheme&&n.http.bearerFormat&&r.createElement(r.Fragment,null,r.createElement("b",null,"Bearer format: "),r.createElement("code",null,n.http.bearerFormat))),t):n.openId?r.createElement(r.Fragment,null,r.createElement(_b,null,r.createElement("b",null,"Connect URL: "),r.createElement("code",null,r.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:n.openId.connectUrl},n.openId.connectUrl))),t):n.flows?Object.keys(n.flows).map(e=>r.createElement(Tb,{key:e,type:e,RequiredScopes:t,flow:n.flows[e]})):null);var i}const Ib={oauth2:"OAuth2",apiKey:"API Key",http:"HTTP",openIdConnect:"OpenID Connect"};class Rb extends r.PureComponent{render(){return this.props.securitySchemes.schemes.map(e=>r.createElement(cp,{id:e.sectionId,key:e.id},r.createElement(dp,null,r.createElement(lp,null,r.createElement(gp,null,r.createElement(_p,{to:e.sectionId}),e.displayName),r.createElement(Im,{source:e.description||""}),r.createElement(Pb,null,r.createElement(_b,null,r.createElement("b",null,"Security Scheme Type: "),r.createElement("span",null,Ib[e.type]||e.type)),r.createElement(Nb,{scheme:e}))))))}}class Lb{constructor(e,t,r={},n=!0){var i,o,s,a;this.marker=new Ba,this.disposer=null,this.rawOptions=r,this.options=new _i(r,Db),this.scroll=new oh(this.options),th.updateOnHistory(za.currentId,this.scroll),this.spec=new Lf(e,t,this.options),this.menu=new th(this.spec,this.scroll,za),this.options.disableSearch||(this.search=new sh,n&&this.search.indexItems(this.menu.items),this.disposer=(i=this.menu,o="activeItemIdx",x(s=e=>{this.updateMarkOnMenu(e.newValue)})?function(e,t,r,n){return Kr(e,t).observe_(r,n)}(i,o,s,a):function(e,t,r){return Kr(e).observe_(t,r)}(i,o,s)))}static fromJS(e){const t=new Lb(e.spec.data,e.spec.url,e.options,!1);return t.menu.activeItemIdx=e.menu.activeItemIdx||0,t.menu.activate(t.menu.flatItems[t.menu.activeItemIdx]),t.options.disableSearch||t.search.load(e.searchIndex),t}onDidMount(){this.menu.updateOnHistory(),this.updateMarkOnMenu(this.menu.activeItemIdx)}dispose(){this.scroll.dispose(),this.menu.dispose(),this.search&&this.search.dispose(),null!=this.disposer&&this.disposer()}toJS(){return e=this,t=null,r=function*(){return{menu:{activeItemIdx:this.menu.activeItemIdx},spec:{url:this.spec.parser.specUrl,data:this.spec.parser.spec},searchIndex:this.search?yield this.search.toJS():void 0,options:this.rawOptions}},new Promise((n,i)=>{var o=e=>{try{a(r.next(e))}catch(e){i(e)}},s=e=>{try{a(r.throw(e))}catch(e){i(e)}},a=e=>e.done?n(e.value):Promise.resolve(e.value).then(o,s);a((r=r.apply(e,t)).next())});var e,t,r}updateMarkOnMenu(e){const t=Math.max(0,e),r=Math.min(this.menu.flatItems.length,t+5),n=[];for(let e=t;e({securitySchemes:e.spec.securitySchemes})},[ma]:{component:Rb,propsSelector:e=>({securitySchemes:e.spec.securitySchemes})},[ga]:{component:yb,propsSelector:e=>({parser:e.spec.parser,options:e.options})}}},Mb=gs(mp)` + margin-top: 0; + margin-bottom: 0.5em; + + ${ys("ApiHeader")}; +`,zb=gs.a` + border: 1px solid ${e=>e.theme.colors.primary.main}; + color: ${e=>e.theme.colors.primary.main}; + font-weight: normal; + margin-left: 0.5em; + padding: 4px 8px 4px; + display: inline-block; + text-decoration: none; + cursor: pointer; + + ${ys("DownloadButton")}; +`,Fb=gs.span` + &::before { + content: '|'; + display: inline-block; + opacity: 0.5; + width: ${15}px; + text-align: center; + } + + &:last-child::after { + display: none; + } +`,Bb=gs.div` + overflow: hidden; +`,Ub=gs.div` + display: flex; + flex-wrap: wrap; + // hide separator on new lines: idea from https://stackoverflow.com/a/31732902/1749888 + margin-left: -${15}px; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let qb=class extends r.Component{render(){const{store:e}=this.props,{info:t,externalDocs:n}=e.spec,i=e.options.hideDownloadButtons,o=t.downloadUrls,s=t.downloadFileName,a=t.license&&r.createElement(Fb,null,"License:"," ",t.license.identifier?t.license.identifier:r.createElement("a",{href:t.license.url},t.license.name))||null,l=t.contact&&t.contact.url&&r.createElement(Fb,null,"URL: ",r.createElement("a",{href:t.contact.url},t.contact.url))||null,c=t.contact&&t.contact.email&&r.createElement(Fb,null,t.contact.name||"E-mail",":"," ",r.createElement("a",{href:"mailto:"+t.contact.email},t.contact.email))||null,u=t.termsOfService&&r.createElement(Fb,null,r.createElement("a",{href:t.termsOfService},"Terms of Service"))||null,p=t.version&&r.createElement("span",null,"(",t.version,")")||null;return r.createElement(cp,null,r.createElement(dp,null,r.createElement(lp,{className:"api-info"},r.createElement(Mb,null,t.title," ",p),!i&&r.createElement("p",null,hi("downloadSpecification"),":",null==o?void 0:o.map(({title:e,url:t})=>r.createElement(zb,{download:s||!0,target:"_blank",href:t,rel:"noreferrer",key:t},e))),r.createElement(km,null,(t.license||t.contact||t.termsOfService)&&r.createElement(Bb,null,r.createElement(Ub,null,c," ",l," ",a," ",u))||null),r.createElement(Im,{source:e.spec.info.summary,"data-role":"redoc-summary"}),r.createElement(Im,{source:e.spec.info.description,"data-role":"redoc-description"}),n&&r.createElement(ry,{externalDocs:n}))))}};qb=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],qb);const Vb=gs.img` + max-height: ${e=>e.theme.logo.maxHeight}; + max-width: ${e=>e.theme.logo.maxWidth}; + padding: ${e=>e.theme.logo.gutter}; + width: 100%; + display: block; +`,Wb=gs.div` + text-align: center; +`,Hb=gs.a` + display: inline-block; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let Gb=class extends r.Component{render(){const{info:e}=this.props,t=e["x-logo"];if(!t||!t.url)return null;const n=t.href||e.contact&&e.contact.url,i=t.altText?t.altText:"logo",o=r.createElement(Vb,{src:t.url,alt:i});return r.createElement(Wb,{style:{backgroundColor:t.backgroundColor}},n?(s=n,e=>r.createElement(Hb,{href:s},e))(o):o);var s}};Gb=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],Gb);var Yb=Object.defineProperty,Kb=Object.getOwnPropertySymbols,Qb=Object.prototype.hasOwnProperty,Xb=Object.prototype.propertyIsEnumerable,Jb=(e,t,r)=>t in e?Yb(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Zb=(e,t)=>{for(var r in t||(t={}))Qb.call(t,r)&&Jb(e,r,t[r]);if(Kb)for(var r of Kb(t))Xb.call(t,r)&&Jb(e,r,t[r]);return e};class ev extends r.Component{render(){return r.createElement(Ps,null,e=>r.createElement(kp,null,t=>this.renderWithOptionsAndStore(e,t)))}renderWithOptionsAndStore(e,t){const{source:n,htmlWrap:i=e=>e}=this.props;if(!t)throw new Error("When using components in markdown, store prop must be provided");const o=new Ll(e,this.props.parentId).renderMdWithComponents(n);return o.length?o.map((e,n)=>{if("string"==typeof e)return r.cloneElement(i(r.createElement(Nm,{html:e,inline:!1,compact:!1})),{key:n});const o=e.component;return r.createElement(o,Zb({key:n},Zb(Zb({},e.props),e.propsSelector(t))))}):null}}var tv=n(2485);const rv=gs.span.attrs(e=>({className:`operation-type ${e.type}`}))` + width: 9ex; + display: inline-block; + height: ${e=>e.theme.typography.code.fontSize}; + line-height: ${e=>e.theme.typography.code.fontSize}; + background-color: ${e=>e.color||"#333"}; + border-radius: 3px; + background-repeat: no-repeat; + background-position: 6px 4px; + font-size: 7px; + font-family: Verdana, sans-serif; // web-safe + color: white; + text-transform: uppercase; + text-align: center; + font-weight: bold; + vertical-align: middle; + margin-right: 6px; + margin-top: 2px; + + &.get { + background-color: ${({theme:e})=>e.colors.http.get}; + } + + &.post { + background-color: ${({theme:e})=>e.colors.http.post}; + } + + &.put { + background-color: ${({theme:e})=>e.colors.http.put}; + } + + &.options { + background-color: ${({theme:e})=>e.colors.http.options}; + } + + &.patch { + background-color: ${({theme:e})=>e.colors.http.patch}; + } + + &.delete { + background-color: ${({theme:e})=>e.colors.http.delete}; + } + + &.basic { + background-color: ${({theme:e})=>e.colors.http.basic}; + } + + &.link { + background-color: ${({theme:e})=>e.colors.http.link}; + } + + &.head { + background-color: ${({theme:e})=>e.colors.http.head}; + } + + &.hook { + background-color: ${({theme:e})=>e.colors.primary.main}; + } + + &.schema { + background-color: ${({theme:e})=>e.colors.http.basic}; + } +`;function nv(e,{theme:t},r){return e>1?t.sidebar.level1Items[r]:1===e?t.sidebar.groupItems[r]:""}const iv=gs.ul` + margin: 0; + padding: 0; + + &:first-child { + padding-bottom: 32px; + } + + & & { + font-size: 0.929em; + } + + ${e=>e.$expanded?"":"display: none;"}; +`,ov=gs.li` + list-style: none inside none; + overflow: hidden; + text-overflow: ellipsis; + padding: 0; + ${e=>0===e.depth?"margin-top: 15px":""}; +`,sv={0:ps` + opacity: 0.7; + text-transform: ${({theme:e})=>e.sidebar.groupItems.textTransform}; + font-size: 0.8em; + padding-bottom: 0; + cursor: default; + `,1:ps` + font-size: 0.929em; + text-transform: ${({theme:e})=>e.sidebar.level1Items.textTransform}; + `},av=gs.label.attrs(e=>({className:tv("-depth"+e.$depth,{active:e.$active})}))` + cursor: pointer; + color: ${e=>e.$active?nv(e.$depth,e,"activeTextColor"):e.theme.sidebar.textColor}; + margin: 0; + padding: 12.5px ${e=>4*e.theme.spacing.unit}px; + ${({$depth:e,$type:t,theme:r})=>"section"===t&&e>1&&"padding-left: "+8*r.spacing.unit+"px;"||""} + display: flex; + justify-content: space-between; + font-family: ${e=>e.theme.typography.headings.fontFamily}; + ${e=>sv[e.$depth]}; + background-color: ${e=>e.$active?nv(e.$depth,e,"activeBackgroundColor"):e.theme.sidebar.backgroundColor}; + + ${e=>e.$deprecated&&Cp||""}; + + &:hover { + color: ${e=>nv(e.$depth,e,"activeTextColor")}; + background-color: ${e=>nv(e.$depth,e,"activeBackgroundColor")}; + } + + ${$p} { + height: ${({theme:e})=>e.sidebar.arrow.size}; + width: ${({theme:e})=>e.sidebar.arrow.size}; + polygon { + fill: ${({theme:e})=>e.sidebar.arrow.color}; + } + } +`,lv=gs.span` + display: inline-block; + vertical-align: middle; + width: ${e=>e.width?e.width:"auto"}; + overflow: hidden; + text-overflow: ellipsis; +`,cv=gs.div` + ${({theme:e})=>ps` + font-size: 0.8em; + margin-top: ${2*e.spacing.unit}px; + text-align: center; + position: fixed; + width: ${e.sidebar.width}; + bottom: 0; + background: ${e.sidebar.backgroundColor}; + + a, + a:visited, + a:hover { + color: ${e.sidebar.textColor} !important; + padding: ${e.spacing.unit}px 0; + border-top: 1px solid ${Dn(.1,e.sidebar.backgroundColor)}; + text-decoration: none; + display: flex; + align-items: center; + justify-content: center; + } + `}; + img { + width: 15px; + margin-right: 5px; + } + + ${ms.lessThan("small")` + width: 100%; + `}; +`,uv=gs.button` + border: 0; + width: 100%; + text-align: left; + & > * { + vertical-align: middle; + } + + ${$p} { + polygon { + fill: ${({theme:e})=>Dn(e.colors.tonalOffset,e.colors.gray[100])}; + } + } +`,pv=gs.span` + text-decoration: ${e=>e.$deprecated?"line-through":"none"}; + margin-right: 8px; +`,dv=gs(rv)` + margin: 0 5px 0 0; +`,fv=gs(e=>{const{name:t,opened:n,className:i,onClick:o,httpVerb:s,deprecated:a}=e;return r.createElement(uv,{className:i,onClick:o||void 0},r.createElement(dv,{type:s},ba(s)),r.createElement($p,{size:"1.5em",direction:n?"down":"right",float:"left"}),r.createElement(pv,{$deprecated:a},t),a?r.createElement(Ap,{type:"warning"}," ",hi("deprecated")," "):null)})` + padding: 10px; + border-radius: 2px; + margin-bottom: 4px; + line-height: 1.5em; + background-color: ${({theme:e})=>e.colors.gray[100]}; + cursor: pointer; + outline-color: ${({theme:e})=>Dn(e.colors.tonalOffset,e.colors.gray[100])}; +`,hv=gs.div` + padding: 10px 25px; + background-color: ${({theme:e})=>e.colors.gray[50]}; + margin-bottom: 5px; + margin-top: 5px; +`;class mv extends r.PureComponent{constructor(){super(...arguments),this.selectElement=()=>{Um.selectElement(this.child)}}render(){const{children:e}=this.props;return r.createElement("div",{ref:e=>this.child=e,onClick:this.selectElement,onFocus:this.selectElement,tabIndex:0,role:"button"},e)}}const gv=gs.div` + cursor: pointer; + position: relative; + margin-bottom: 5px; +`,yv=gs.span` + font-family: ${e=>e.theme.typography.code.fontFamily}; + margin-left: 10px; + flex: 1; + overflow-x: hidden; + text-overflow: ellipsis; +`,bv=gs.button` + outline: 0; + color: inherit; + width: 100%; + text-align: left; + cursor: pointer; + padding: 10px 30px 10px ${e=>e.$inverted?"10px":"20px"}; + border-radius: ${e=>e.$inverted?"0":"4px 4px 0 0"}; + background-color: ${e=>e.$inverted?"transparent":e.theme.codeBlock.backgroundColor}; + display: flex; + white-space: nowrap; + align-items: center; + border: ${e=>e.$inverted?"0":"1px solid transparent"}; + border-bottom: ${e=>e.$inverted?"1px solid #ccc":"0"}; + transition: border-color 0.25s ease; + + ${e=>e.$expanded&&!e.$inverted&&`border-color: ${e.theme.colors.border.dark};`||""} + + .${yv} { + color: ${e=>e.$inverted?e.theme.colors.text.primary:"#ffffff"}; + } + &:focus { + box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.45), 0 2px 0 rgba(128, 128, 128, 0.25); + } +`,vv=gs.span.attrs(e=>({className:`http-verb ${e.type}`}))` + font-size: ${e=>e.$compact?"0.8em":"0.929em"}; + line-height: ${e=>e.$compact?"18px":"20px"}; + background-color: ${e=>e.theme.colors.http[e.type]||"#999999"}; + color: #ffffff; + padding: ${e=>e.$compact?"2px 8px":"3px 10px"}; + text-transform: uppercase; + font-family: ${e=>e.theme.typography.headings.fontFamily}; + margin: 0; +`,xv=gs.div` + position: absolute; + width: 100%; + z-index: 100; + background: ${e=>e.theme.rightPanel.servers.overlay.backgroundColor}; + color: ${e=>e.theme.rightPanel.servers.overlay.textColor}; + box-sizing: border-box; + box-shadow: 0 0 6px rgba(0, 0, 0, 0.33); + overflow: hidden; + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + transition: all 0.25s ease; + visibility: hidden; + ${e=>e.$expanded?"visibility: visible;":"transform: translateY(-50%) scaleY(0);"} +`,wv=gs.div` + padding: 10px; +`,kv=gs.div` + padding: 5px; + border: 1px solid #ccc; + background: ${e=>e.theme.rightPanel.servers.url.backgroundColor}; + word-break: break-all; + color: ${e=>e.theme.colors.primary.main}; + > span { + color: ${e=>e.theme.colors.text.primary}; + } +`;class Sv extends r.Component{constructor(e){super(e),this.toggle=()=>{this.setState({expanded:!this.state.expanded})},this.state={expanded:!1}}render(){const{operation:e,inverted:t,hideHostname:n}=this.props,{expanded:i}=this.state;return r.createElement(Os.Consumer,null,o=>r.createElement(gv,null,r.createElement(bv,{onClick:this.toggle,$expanded:i,$inverted:t},r.createElement(vv,{type:e.httpVerb,$compact:this.props.compact},e.httpVerb),r.createElement(yv,null,e.path),r.createElement($p,{float:"right",color:t?"black":"white",size:"20px",direction:i?"up":"down",style:{marginRight:"-25px"}})),r.createElement(xv,{$expanded:i,"aria-hidden":!i},e.servers.map(t=>{const i=o.expandDefaultServerVariables?function(e,t={}){return e.replace(/(?:{)([\w-.]+)(?:})/g,(e,r)=>t[r]&&t[r].default||e)}(t.url,t.variables):t.url,s=function(e){try{return ci(e).pathname}catch(t){return e}}(i);return r.createElement(wv,{key:i},r.createElement(Im,{source:t.description||"",compact:!0}),r.createElement(mv,null,r.createElement(kv,null,r.createElement("span",null,n||o.hideHostname?"/"===s?"":s:i),e.path)))}))))}}class Ev extends r.PureComponent{render(){const{place:e,parameters:t}=this.props;return t&&t.length?r.createElement("div",{key:e},r.createElement(vp,null,e," Parameters"),r.createElement(Mp,null,r.createElement("tbody",null,ti(t,(e,t)=>r.createElement($y,{key:e.name,isLast:t,field:e,showExamples:!0}))))):null}}Object.defineProperty,Object.getOwnPropertyDescriptor;let Ov=class extends r.Component{constructor(){super(...arguments),this.switchMedia=({idx:e})=>{this.props.content&&void 0!==e&&this.props.content.activate(e)}}render(){const{content:e}=this.props;if(!e||!e.mediaTypes||!e.mediaTypes.length)return null;const t=e.activeMimeIdx,n=e.mediaTypes.map((e,t)=>({value:e.name,idx:t})),i=({children:e})=>this.props.withLabel?r.createElement(ag,null,r.createElement(sg,null,"Content type"),e):e;return r.createElement(r.Fragment,null,r.createElement(i,null,this.props.renderDropdown({value:n[t].value,options:n,onChange:this.switchMedia,ariaLabel:"Content type"})),this.props.children(e.active))}};Ov=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],Ov);var _v=Object.defineProperty,Pv=Object.getOwnPropertySymbols,$v=Object.prototype.hasOwnProperty,Av=Object.prototype.propertyIsEnumerable,Cv=(e,t,r)=>t in e?_v(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,jv=(e,t)=>{for(var r in t||(t={}))$v.call(t,r)&&Cv(e,r,t[r]);if(Pv)for(var r of Pv(t))Av.call(t,r)&&Cv(e,r,t[r]);return e};const Tv=["path","query","cookie","header"];class Nv extends r.PureComponent{orderParams(e){const t={};return e.forEach(e=>{var r,n,i;i=e,(r=t)[n=e.in]||(r[n]=[]),r[n].push(i)}),t}render(){const{body:e,parameters:t=[]}=this.props;if(void 0===e&&void 0===t)return null;const n=this.orderParams(t),i=t.length>0?Tv:[],o=e&&e.content,s=e&&e.description,a=e&&e.required;return r.createElement(r.Fragment,null,i.map(e=>r.createElement(Ev,{key:e,place:e,parameters:n[e]})),o&&r.createElement(Rv,{content:o,description:s,bodyRequired:a}))}}function Iv(e){var t=e,{bodyRequired:n}=t,i=((e,t)=>{var r={};for(var n in e)$v.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(null!=e&&Pv)for(var n of Pv(e))t.indexOf(n)<0&&Av.call(e,n)&&(r[n]=e[n]);return r})(t,["bodyRequired"]);const o="boolean"==typeof n&&!!n,s="boolean"==typeof n&&!n;return r.createElement(vp,{key:"header"},"Request Body schema: ",r.createElement(dh,jv({},i)),o&&r.createElement(Dv,null,"required"),s&&r.createElement(Mv,null,"optional"))}function Rv(e){const{content:t,description:n,bodyRequired:i}=e,{isRequestType:o}=t;return r.createElement(Ov,{content:t,renderDropdown:e=>r.createElement(Iv,jv({bodyRequired:i},e))},({schema:e})=>r.createElement(r.Fragment,null,void 0!==n&&r.createElement(Im,{source:n}),"object"===(null==e?void 0:e.type)&&r.createElement(uy,{constraints:(null==e?void 0:e.constraints)||[]}),r.createElement(cb,{skipReadOnly:o,skipWriteOnly:!o,key:"schema",schema:e})))}const Lv="\n text-transform: lowercase;\n margin-left: 0;\n line-height: 1.5em;\n",Dv=gs(Gg)` + ${Lv} +`,Mv=gs("div")` + ${Lv} + color: ${({theme:e})=>e.colors.text.secondary}; + font-size: ${e=>e.theme.schema.labelsTextSize}; +`,zv=gs(r.memo(function({title:e,type:t,empty:n,code:i,opened:o,className:s,onClick:a}){return r.createElement("button",{className:s,onClick:!n&&a||void 0,"aria-expanded":o,disabled:n},!n&&r.createElement($p,{size:"1.5em",color:t,direction:o?"down":"right",float:"left"}),r.createElement(Uv,null,i," "),r.createElement(Im,{compact:!0,inline:!0,source:e}))}))` + display: block; + border: 0; + width: 100%; + text-align: left; + padding: 10px; + border-radius: 2px; + margin-bottom: 4px; + line-height: 1.5em; + cursor: pointer; + + color: ${e=>e.theme.colors.responses[e.type].color}; + background-color: ${e=>e.theme.colors.responses[e.type].backgroundColor}; + &:focus { + outline: auto ${e=>e.theme.colors.responses[e.type].color}; + } + ${e=>e.empty?'\ncursor: default;\n&::before {\n content: "—";\n font-weight: bold;\n width: 1.5em;\n text-align: center;\n display: inline-block;\n vertical-align: top;\n}\n&:focus {\n outline: 0;\n}\n':""}; +`,Fv=gs.div` + padding: 10px; +`,Bv=gs(vp).attrs({as:"caption"})` + text-align: left; + margin-top: 1em; + caption-side: top; +`,Uv=gs.strong` + vertical-align: top; +`;class qv extends r.PureComponent{render(){const{headers:e}=this.props;return void 0===e||0===e.length?null:r.createElement(Mp,null,r.createElement(Bv,null," Response Headers "),r.createElement("tbody",null,ti(e,(e,t)=>r.createElement($y,{isLast:t,key:e.name,field:e,showExamples:!0}))))}}var Vv=Object.defineProperty,Wv=Object.getOwnPropertySymbols,Hv=Object.prototype.hasOwnProperty,Gv=Object.prototype.propertyIsEnumerable,Yv=(e,t,r)=>t in e?Vv(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;class Kv extends r.PureComponent{constructor(){super(...arguments),this.renderDropdown=e=>r.createElement(vp,{key:"header"},"Response Schema: ",r.createElement(dh,((e,t)=>{for(var r in t||(t={}))Hv.call(t,r)&&Yv(e,r,t[r]);if(Wv)for(var r of Wv(t))Gv.call(t,r)&&Yv(e,r,t[r]);return e})({},e)))}render(){const{description:e,extensions:t,headers:n,content:i}=this.props.response;return r.createElement(r.Fragment,null,e&&r.createElement(Im,{source:e}),r.createElement(ay,{extensions:t}),r.createElement(qv,{headers:n}),r.createElement(Ov,{content:i,renderDropdown:this.renderDropdown},({schema:e})=>r.createElement(r.Fragment,null,"object"===(null==e?void 0:e.type)&&r.createElement(uy,{constraints:(null==e?void 0:e.constraints)||[]}),r.createElement(cb,{skipWriteOnly:!0,key:"schema",schema:e}))))}}const Qv=Fg(({response:e})=>{const{extensions:t,headers:n,type:i,summary:o,description:s,code:a,expanded:l,content:c}=e,u=r.useMemo(()=>void 0===c?[]:c.mediaTypes.filter(e=>void 0!==e.schema),[c]),p=r.useMemo(()=>!(t&&0!==Object.keys(t).length||0!==n.length||0!==u.length||s),[t,n,u,s]);return r.createElement("div",null,r.createElement(zv,{onClick:()=>e.toggle(),type:i,empty:p,title:o||"",code:a,opened:l}),l&&!p&&r.createElement(Fv,null,r.createElement(Kv,{response:e})))}),Xv=gs.h3` + font-size: 1.3em; + padding: 0.2em 0; + margin: 3em 0 1.1em; + color: ${({theme:e})=>e.colors.text.primary}; + font-weight: normal; +`;class Jv extends r.PureComponent{render(){const{responses:e,isCallback:t}=this.props;return e&&0!==e.length?r.createElement("div",null,r.createElement(Xv,null,hi(t?"callbackResponses":"responses")),e.map(e=>r.createElement(Qv,{key:e.code,response:e}))):null}}function Zv(e){const{security:t,showSecuritySchemeType:n,expanded:i}=e,o=t.schemes.length>1;return 0===t.schemes.length?r.createElement(wb,{$expanded:i},"None"):r.createElement(wb,{$expanded:i},o&&"(",t.schemes.map(e=>r.createElement(xb,{key:e.id},n&&`${Ib[e.type]||e.type}: `,r.createElement("i",null,e.displayName),i&&e.scopes.length?[" (",e.scopes.map(e=>r.createElement(vb,{key:e},e)),") "]:null)),o&&") ")}const ex=({scopes:e})=>e.length?r.createElement("div",null,r.createElement("b",null,"Required scopes: "),e.map((e,t)=>r.createElement(r.Fragment,{key:t},r.createElement("code",null,e)," "))):null;function tx(e){const t=(0,r.useContext)(xp),n=null==t?void 0:t.options.showSecuritySchemeType,[i,o]=(0,r.useState)(!1),{securities:s}=e;if(!(null==s?void 0:s.length)||(null==t?void 0:t.options.hideSecuritySection))return null;const a=null==t?void 0:t.spec.securitySchemes.schemes.filter(({id:e})=>s.find(t=>t.schemes.find(t=>t.id===e)));return r.createElement(r.Fragment,null,r.createElement(Ob,{$expanded:i},r.createElement(kb,{onClick:()=>o(!i)},r.createElement(Eb,null,"Authorizations:"),r.createElement($p,{size:"1.3em",direction:i?"down":"right"})),r.createElement(Sb,{$expanded:i},s.map((e,t)=>r.createElement(Zv,{key:t,expanded:i,showSecuritySchemeType:n,security:e})))),i&&!!(null==a?void 0:a.length)&&a.map((e,t)=>r.createElement(Pb,{key:t},r.createElement("h5",null,r.createElement(rx,null)," ",Ib[e.type]||e.type,": ",e.id),r.createElement(Im,{source:e.description||""}),r.createElement(Nb,{key:e.id,scheme:e,RequiredScopes:r.createElement(ex,{scopes:nx(e.id,s)})}))))}const rx=()=>r.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",width:"11",height:"11"},r.createElement("path",{fill:"currentColor",d:"M18 10V6A6 6 0 0 0 6 6v4H3v14h18V10h-3zM8 6c0-2.206 1.794-4 4-4s4 1.794 4 4v4H8V6zm11 16H5V12h14v10z"}));function nx(e,t){const r=[];let n=t.length;for(;n--;){const i=t[n];let o=i.schemes.length;for(;o--;){const t=i.schemes[o];t.id===e&&Array.isArray(t.scopes)&&r.push(...t.scopes)}}return Array.from(new Set(r))}Object.defineProperty,Object.getOwnPropertyDescriptor;let ix=class extends r.Component{render(){const{operation:e}=this.props,{description:t,externalDocs:n}=e,i=!(!t&&!n);return r.createElement(hv,null,i&&r.createElement(ox,null,void 0!==t&&r.createElement(Im,{source:t}),n&&r.createElement(ry,{externalDocs:n})),r.createElement(Sv,{operation:this.props.operation,inverted:!0,compact:!0}),r.createElement(ay,{extensions:e.extensions}),r.createElement(tx,{securities:e.security}),r.createElement(Nv,{parameters:e.parameters,body:e.requestBody}),r.createElement(Jv,{responses:e.responses,isCallback:e.isCallback}))}};ix=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],ix);const ox=gs.div` + margin-bottom: ${({theme:e})=>3*e.spacing.unit}px; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let sx=class extends r.Component{constructor(){super(...arguments),this.toggle=()=>{this.props.callbackOperation.toggle()}}render(){const{name:e,expanded:t,httpVerb:n,deprecated:i}=this.props.callbackOperation;return r.createElement(r.Fragment,null,r.createElement(fv,{onClick:this.toggle,name:e,opened:t,httpVerb:n,deprecated:i}),t&&r.createElement(ix,{operation:this.props.callbackOperation}))}};sx=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],sx);class ax extends r.PureComponent{render(){const{callbacks:e}=this.props;return e&&0!==e.length?r.createElement("div",null,r.createElement(lx,null," Callbacks "),e.map(e=>e.operations.map((t,n)=>r.createElement(sx,{key:`${e.name}_${n}`,callbackOperation:t})))):null}}const lx=gs.h3` + font-size: 1.3em; + padding: 0.2em 0; + margin: 3em 0 1.1em; + color: ${({theme:e})=>e.colors.text.primary}; + font-weight: normal; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let cx=class extends r.Component{constructor(e){super(e),this.switchItem=({idx:e})=>{this.props.items&&void 0!==e&&this.setState({activeItemIdx:e})},this.state={activeItemIdx:0}}render(){const{items:e}=this.props;if(!e||!e.length)return null;const t=({children:e})=>this.props.label?r.createElement(ag,null,r.createElement(sg,null,this.props.label),e):e;return r.createElement(r.Fragment,null,r.createElement(t,null,this.props.renderDropdown({value:this.props.options[this.state.activeItemIdx].value,options:this.props.options,onChange:this.switchItem,ariaLabel:this.props.label||"Callback"})),this.props.children(e[this.state.activeItemIdx]))}};cx=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],cx);var ux=Object.defineProperty,px=Object.defineProperties,dx=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),fx=Object.getOwnPropertySymbols,hx=Object.prototype.hasOwnProperty,mx=Object.prototype.propertyIsEnumerable,gx=(e,t,r)=>t in e?ux(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;let yx=class extends r.Component{constructor(){super(...arguments),this.renderDropdown=e=>{return r.createElement(dh,(t=((e,t)=>{for(var r in t||(t={}))hx.call(t,r)&&gx(e,r,t[r]);if(fx)for(var r of fx(t))mx.call(t,r)&&gx(e,r,t[r]);return e})({Label:og,Dropdown:lg},e),px(t,dx({variant:"dark"}))));var t}}render(){const e=this.props.content;return void 0===e?null:r.createElement(Ov,{content:e,renderDropdown:this.renderDropdown,withLabel:!0},e=>r.createElement(ug,{key:"samples",mediaType:e,renderDropdown:this.renderDropdown}))}};yx=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],yx);class bx extends r.Component{render(){const e=this.props.callback.codeSamples.find(e=>op(e));return e?r.createElement(vx,null,r.createElement(yx,{content:e.requestBodyContent})):null}}const vx=gs.div` + margin-top: 15px; +`;var xx=Object.defineProperty,wx=Object.defineProperties,kx=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),Sx=Object.getOwnPropertySymbols,Ex=Object.prototype.hasOwnProperty,Ox=Object.prototype.propertyIsEnumerable,_x=(e,t,r)=>t in e?xx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;let Px=class extends r.Component{constructor(){super(...arguments),this.renderDropdown=e=>{return r.createElement(dh,(t=((e,t)=>{for(var r in t||(t={}))Ex.call(t,r)&&_x(e,r,t[r]);if(Sx)for(var r of Sx(t))Ox.call(t,r)&&_x(e,r,t[r]);return e})({Label:og,Dropdown:lg},e),wx(t,kx({variant:"dark"}))));var t}}render(){const{callbacks:e}=this.props;if(!e||0===e.length)return null;const t=e.map(e=>e.operations.map(e=>e)).reduce((e,t)=>e.concat(t),[]);if(!t.some(e=>e.codeSamples.length>0))return null;const n=t.map((e,t)=>({value:`${e.httpVerb.toUpperCase()}: ${e.name}`,idx:t}));return r.createElement("div",null,r.createElement(bp,null," Callback payload samples "),r.createElement($x,null,r.createElement(cx,{items:t,renderDropdown:this.renderDropdown,label:"Callback",options:n},e=>r.createElement(bx,{key:"callbackPayloadSample",callback:e,renderDropdown:this.renderDropdown}))))}};Px.contextType=Os,Px=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],Px);const $x=gs.div` + background: ${({theme:e})=>e.codeBlock.backgroundColor}; + padding: ${e=>4*e.theme.spacing.unit}px; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let Ax=class extends r.Component{render(){const{operation:e}=this.props,t=e.codeSamples,n=t.length>0,i=1===t.length&&this.context.hideSingleRequestSampleTab;return n&&r.createElement("div",null,r.createElement(bp,null," ",hi("requestSamples")," "),r.createElement(xd,{defaultIndex:0},r.createElement(pd,{hidden:i},t.map(e=>r.createElement(md,{key:e.lang+"_"+(e.label||"")},void 0!==e.label?e.label:e.lang))),t.map(e=>r.createElement(vd,{key:e.lang+"_"+(e.label||"")},op(e)?r.createElement("div",null,r.createElement(yx,{content:e.requestBodyContent})):r.createElement(tg,{lang:e.lang,source:e.source})))))||null}};Ax.contextType=Os,Ax=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],Ax);Object.defineProperty,Object.getOwnPropertyDescriptor;let Cx=class extends r.Component{render(){const{operation:e}=this.props,t=e.responses.filter(e=>e.content&&e.content.hasSample);return t.length>0&&r.createElement("div",null,r.createElement(bp,null," ",hi("responseSamples")," "),r.createElement(xd,{defaultIndex:0},r.createElement(pd,null,t.map(e=>r.createElement(md,{className:"tab-"+e.type,key:e.code},e.code))),t.map(e=>r.createElement(vd,{key:e.code},r.createElement("div",null,r.createElement(yx,{content:e.content}))))))||null}};Cx=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],Cx);var jx=Object.defineProperty,Tx=Object.defineProperties,Nx=Object.getOwnPropertyDescriptors,Ix=Object.getOwnPropertySymbols,Rx=Object.prototype.hasOwnProperty,Lx=Object.prototype.propertyIsEnumerable,Dx=(e,t,r)=>t in e?jx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;const Mx=gs.div` + margin-bottom: ${({theme:e})=>6*e.spacing.unit}px; +`,zx=Fg(({operation:e})=>{const{name:t,description:n,deprecated:i,externalDocs:o,isWebhook:s,httpVerb:a,badges:l}=e,c=!(!n&&!o),{showWebhookVerb:u}=r.useContext(Os),p=l.filter(({position:e})=>"before"===e),d=l.filter(({position:e})=>"after"===e);return r.createElement(Os.Consumer,null,l=>r.createElement(dp,((e,t)=>Tx(e,Nx(t)))(((e,t)=>{for(var r in t||(t={}))Rx.call(t,r)&&Dx(e,r,t[r]);if(Ix)for(var r of Ix(t))Lx.call(t,r)&&Dx(e,r,t[r]);return e})({},{[eh]:e.operationHash}),{id:e.operationHash}),r.createElement(lp,null,r.createElement(gp,null,r.createElement(_p,{to:e.id}),p.map(({name:e,color:t})=>r.createElement(Ap,{type:"primary",key:e,color:t},e)),t," ",i&&r.createElement(Ap,{type:"warning"}," Deprecated "),s&&r.createElement(Ap,{type:"primary"}," ","Webhook ",u&&a&&"| "+a.toUpperCase()),d.map(({name:e,color:t})=>r.createElement(Ap,{type:"primary",key:e,color:t},e))),l.pathInMiddlePanel&&!s&&r.createElement(Sv,{operation:e,inverted:!0}),c&&r.createElement(Mx,null,void 0!==n&&r.createElement(Im,{source:n}),o&&r.createElement(ry,{externalDocs:o})),r.createElement(ay,{extensions:e.extensions}),r.createElement(tx,{securities:e.security}),r.createElement(Nv,{parameters:e.parameters,body:e.requestBody}),r.createElement(Jv,{responses:e.responses}),r.createElement(ax,{callbacks:e.callbacks})),r.createElement(pp,null,!l.pathInMiddlePanel&&!s&&r.createElement(Sv,{operation:e}),r.createElement(Ax,{operation:e}),r.createElement(Cx,{operation:e}),r.createElement(Px,{callbacks:e.callbacks}))))});var Fx=Object.defineProperty,Bx=Object.getOwnPropertyDescriptor,Ux=Object.getOwnPropertySymbols,qx=Object.prototype.hasOwnProperty,Vx=Object.prototype.propertyIsEnumerable,Wx=(e,t,r)=>t in e?Fx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Hx=(e,t,r,n)=>{for(var i,o=n>1?void 0:n?Bx(t,r):t,s=e.length-1;s>=0;s--)(i=e[s])&&(o=(n?i(t,r,o):i(o))||o);return n&&o&&Fx(t,r,o),o};let Gx=class extends r.Component{render(){const e=this.props.items;return 0===e.length?null:e.map(e=>r.createElement(Yx,{key:e.id,item:e}))}};Gx=Hx([Fg],Gx);let Yx=class extends r.Component{render(){const e=this.props.item;let t;const{type:n}=e;switch(n){case"group":t=null;break;case"tag":case"section":default:t=r.createElement(Qx,((e,t)=>{for(var r in t||(t={}))qx.call(t,r)&&Wx(e,r,t[r]);if(Ux)for(var r of Ux(t))Vx.call(t,r)&&Wx(e,r,t[r]);return e})({},this.props));break;case"operation":t=r.createElement(Xx,{item:e})}return r.createElement(r.Fragment,null,t&&r.createElement(cp,{id:e.id,$underlined:"operation"===e.type},t),e.items&&r.createElement(Gx,{items:e.items}))}};Yx=Hx([Fg],Yx);const Kx=e=>r.createElement(lp,{$compact:!0},e);let Qx=class extends r.Component{render(){const{name:e,description:t,externalDocs:n,level:i}=this.props.item,o=2===i?yp:gp;return r.createElement(r.Fragment,null,r.createElement(dp,null,r.createElement(lp,{$compact:!1},r.createElement(o,null,r.createElement(_p,{to:this.props.item.id}),e))),r.createElement(ev,{parentId:this.props.item.id,source:t||"",htmlWrap:Kx}),n&&r.createElement(dp,null,r.createElement(lp,null,r.createElement(ry,{externalDocs:n}))))}};Qx=Hx([Fg],Qx);let Xx=class extends r.Component{render(){return r.createElement(zx,{operation:this.props.item})}};Xx=Hx([Fg],Xx);var Jx=Object.defineProperty,Zx=Object.defineProperties,ew=(Object.getOwnPropertyDescriptor,Object.getOwnPropertyDescriptors),tw=Object.getOwnPropertySymbols,rw=Object.prototype.hasOwnProperty,nw=Object.prototype.propertyIsEnumerable,iw=(e,t,r)=>t in e?Jx(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;let ow=class extends r.Component{constructor(){super(...arguments),this.ref=r.createRef(),this.activate=e=>{this.props.onActivate(this.props.item),e.stopPropagation()}}componentDidMount(){this.scrollIntoViewIfActive()}componentDidUpdate(){this.scrollIntoViewIfActive()}scrollIntoViewIfActive(){this.props.item.active&&this.ref.current&&Jn(this.ref.current)}render(){const{item:e,withoutChildren:t}=this.props;return r.createElement(ov,{tabIndex:0,onClick:this.activate,onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(this.props.onActivate(this.props.item),e.stopPropagation())},depth:e.depth,"data-item-id":e.id,role:"menuitem","aria-label":e.sidebarLabel,"aria-expanded":e.expanded},"operation"===e.type?r.createElement(sw,((e,t)=>Zx(e,ew(t)))(((e,t)=>{for(var r in t||(t={}))rw.call(t,r)&&iw(e,r,t[r]);if(tw)for(var r of tw(t))nw.call(t,r)&&iw(e,r,t[r]);return e})({},this.props),{item:e})):r.createElement(av,{$depth:e.depth,$active:e.active,$type:e.type,ref:this.ref},"schema"===e.type&&r.createElement(rv,{type:"schema"},"schema"),r.createElement(lv,{width:"calc(100% - 38px)",title:e.sidebarLabel},e.sidebarLabel,this.props.children),e.depth>0&&e.items.length>0&&r.createElement($p,{float:"right",direction:e.expanded?"down":"right"})||null),!t&&e.items&&e.items.length>0&&r.createElement(dw,{expanded:e.expanded,items:e.items,onActivate:this.props.onActivate}))}};ow=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],ow);const sw=Fg(e=>{var t;const{item:n}=e,i=r.createRef(),{showWebhookVerb:o}=r.useContext(Os);return r.useEffect(()=>{e.item.active&&i.current&&Jn(i.current)},[e.item.active,i]),r.createElement(av,{$depth:n.depth,$active:n.active,$deprecated:n.deprecated,ref:i},n.badges&&(null==(t=n.badges)?void 0:t.map(({name:e,color:t})=>r.createElement(rv,{type:"badge",color:t,key:e},e))),n.isWebhook?r.createElement(rv,{type:"hook"},o?n.httpVerb:hi("webhook")):r.createElement(rv,{type:n.httpVerb},ba(n.httpVerb)),r.createElement(lv,{tabIndex:0,width:"calc(100% - 38px)"},n.sidebarLabel,e.children))});var aw=Object.defineProperty,lw=(Object.getOwnPropertyDescriptor,Object.getOwnPropertySymbols),cw=Object.prototype.hasOwnProperty,uw=Object.prototype.propertyIsEnumerable,pw=(e,t,r)=>t in e?aw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r;let dw=class extends r.Component{render(){const{items:e,root:t,className:n}=this.props,i=null==this.props.expanded||this.props.expanded;return r.createElement(iv,((e,t)=>{for(var r in t||(t={}))cw.call(t,r)&&pw(e,r,t[r]);if(lw)for(var r of lw(t))uw.call(t,r)&&pw(e,r,t[r]);return e})({className:n,style:this.props.style,$expanded:i},t?{role:"menu"}:{}),e.map((e,t)=>r.createElement(ow,{key:t,item:e,onActivate:this.props.onActivate})))}};function fw(){const[e,t]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{t(!0)},[]),e?r.createElement("img",{alt:"redocly logo",onError:()=>t(!1),src:"https://cdn.redoc.ly/redoc/logo-mini.svg"}):null}dw=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],dw);Object.defineProperty,Object.getOwnPropertyDescriptor;let hw=class extends r.Component{constructor(){super(...arguments),this.activate=e=>{if(e&&e.active&&this.context.menuToggle)return e.expanded?e.collapse():e.expand();this.props.menu.activateAndScroll(e,!0),setTimeout(()=>{this._updateScroll&&this._updateScroll()})},this.saveScrollUpdate=e=>{this._updateScroll=e}}render(){const e=this.props.menu;return r.createElement(df,{updateFn:this.saveScrollUpdate,className:this.props.className,options:{wheelPropagation:!1}},r.createElement(dw,{items:e.items,onActivate:this.activate,root:!0}),r.createElement(cv,null,r.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://redocly.com/redoc/"},r.createElement(fw,null),"API docs by Redocly")))}};hw.contextType=Os,hw=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],hw);const mw=({open:e})=>{const t=e?8:-4;return r.createElement(yw,null,r.createElement(gw,{size:15,style:{transform:`translate(2px, ${t}px) rotate(180deg)`,transition:"transform 0.2s ease"}}),r.createElement(gw,{size:15,style:{transform:`translate(2px, ${0-t}px)`,transition:"transform 0.2s ease"}}))},gw=({size:e=10,className:t="",style:n})=>r.createElement("svg",{className:t,style:n||{},viewBox:"0 0 926.23699 573.74994",version:"1.1",x:"0px",y:"0px",width:e,height:e},r.createElement("g",{transform:"translate(904.92214,-879.1482)"},r.createElement("path",{d:"\n m -673.67664,1221.6502 -231.2455,-231.24803 55.6165,\n -55.627 c 30.5891,-30.59485 56.1806,-55.627 56.8701,-55.627 0.6894,\n 0 79.8637,78.60862 175.9427,174.68583 l 174.6892,174.6858 174.6892,\n -174.6858 c 96.079,-96.07721 175.253196,-174.68583 175.942696,\n -174.68583 0.6895,0 26.281,25.03215 56.8701,\n 55.627 l 55.6165,55.627 -231.245496,231.24803 c -127.185,127.1864\n -231.5279,231.248 -231.873,231.248 -0.3451,0 -104.688,\n -104.0616 -231.873,-231.248 z\n ",fill:"currentColor"}))),yw=gs.div` + user-select: none; + width: 20px; + height: 20px; + align-self: center; + display: flex; + flex-direction: column; + color: ${e=>e.theme.colors.primary.main}; +`;Object.defineProperty,Object.getOwnPropertyDescriptor;let bw;Qn&&(bw=n(227));const vw=bw&&bw(),xw=gs.div` + width: ${e=>e.theme.sidebar.width}; + background-color: ${e=>e.theme.sidebar.backgroundColor}; + overflow: hidden; + display: flex; + flex-direction: column; + + backface-visibility: hidden; + /* contain: strict; TODO: breaks layout since Chrome 80*/ + + height: 100vh; + position: sticky; + position: -webkit-sticky; + top: 0; + + ${ms.lessThan("small")` + position: fixed; + z-index: 20; + width: 100%; + background: ${({theme:e})=>e.sidebar.backgroundColor}; + display: ${e=>e.$open?"flex":"none"}; + `}; + + @media print { + display: none; + } +`,ww=gs.div` + outline: none; + user-select: none; + background-color: ${({theme:e})=>e.fab.backgroundColor}; + color: ${e=>e.theme.colors.primary.main}; + display: none; + cursor: pointer; + position: fixed; + right: 20px; + z-index: 100; + border-radius: 50%; + box-shadow: 0 0 20px rgba(0, 0, 0, 0.3); + ${ms.lessThan("small")` + display: flex; + `}; + + bottom: 44px; + + width: 60px; + height: 60px; + padding: 0 20px; + svg { + color: ${({theme:e})=>e.fab.color}; + } + + @media print { + display: none; + } +`;let kw=class extends r.Component{constructor(){super(...arguments),this.state={offsetTop:"0px"},this.toggleNavMenu=()=>{this.props.menu.toggleSidebar()}}componentDidMount(){vw&&vw.add(this.stickyElement),this.setState({offsetTop:this.getScrollYOffset(this.context)})}componentWillUnmount(){vw&&vw.remove(this.stickyElement)}getScrollYOffset(e){let t;return t=void 0!==this.props.scrollYOffset?_i.normalizeScrollYOffset(this.props.scrollYOffset)():e.scrollYOffset(),t+"px"}render(){const e=this.props.menu.sideBarOpened,t=this.state.offsetTop;return r.createElement(r.Fragment,null,r.createElement(xw,{$open:e,className:this.props.className,style:{top:t,height:`calc(100vh - ${t})`},ref:e=>{this.stickyElement=e}},this.props.children),!this.context.hideFab&&r.createElement(ww,{onClick:this.toggleNavMenu},r.createElement(mw,{open:e})))}};kw.contextType=Os,kw=((e,t)=>{for(var r,n=t,i=e.length-1;i>=0;i--)(r=e[i])&&(n=r(n)||n);return n})([Fg],kw);const Sw=gs.div` + ${({theme:e})=>`\n font-family: ${e.typography.fontFamily};\n font-size: ${e.typography.fontSize};\n font-weight: ${e.typography.fontWeightRegular};\n line-height: ${e.typography.lineHeight};\n color: ${e.colors.text.primary};\n display: flex;\n position: relative;\n text-align: left;\n\n -webkit-font-smoothing: ${e.typography.smoothing};\n font-smoothing: ${e.typography.smoothing};\n ${e.typography.optimizeSpeed?"text-rendering: optimizeSpeed !important":""};\n\n tap-highlight-color: rgba(0, 0, 0, 0);\n text-size-adjust: 100%;\n\n * {\n box-sizing: border-box;\n -webkit-tap-highlight-color: rgba(255, 255, 255, 0);\n }\n`}; +`,Ew=gs.div` + z-index: 1; + position: relative; + overflow: hidden; + width: calc(100% - ${e=>e.theme.sidebar.width}); + ${ms.lessThan("small",!0)` + width: 100%; + `}; + + contain: layout; +`,Ow=gs.div` + background: ${({theme:e})=>e.rightPanel.backgroundColor}; + position: absolute; + top: 0; + bottom: 0; + right: 0; + width: ${({theme:e})=>{if(e.rightPanel.width.endsWith("%")){const t=parseInt(e.rightPanel.width,10);return`calc((100% - ${e.sidebar.width}) * ${t/100})`}return e.rightPanel.width}}; + ${ms.lessThan("medium",!0)` + display: none; + `}; +`,_w=gs.div` + padding: 5px 0; +`,Pw=gs.input.attrs(()=>({className:"search-input"}))` + width: calc(100% - ${e=>8*e.theme.spacing.unit}px); + box-sizing: border-box; + margin: 0 ${e=>4*e.theme.spacing.unit}px; + padding: 5px ${e=>2*e.theme.spacing.unit}px 5px + ${e=>4*e.theme.spacing.unit}px; + border: 0; + border-bottom: 1px solid + ${({theme:e})=>(Fn(e.sidebar.backgroundColor)>.5?Dn:Un)(.1,e.sidebar.backgroundColor)}; + font-family: ${({theme:e})=>e.typography.fontFamily}; + font-weight: bold; + font-size: 13px; + color: ${e=>e.theme.sidebar.textColor}; + background-color: transparent; + outline: none; +`,$w=gs(e=>r.createElement("svg",{className:e.className,version:"1.1",viewBox:"0 0 1000 1000",x:"0px",xmlns:"http://www.w3.org/2000/svg",y:"0px"},r.createElement("path",{d:"M968.2,849.4L667.3,549c83.9-136.5,66.7-317.4-51.7-435.6C477.1-25,252.5-25,113.9,113.4c-138.5,138.3-138.5,362.6,0,501C219.2,730.1,413.2,743,547.6,666.5l301.9,301.4c43.6,43.6,76.9,14.9,104.2-12.4C981,928.3,1011.8,893,968.2,849.4z M524.5,522c-88.9,88.7-233,88.7-321.8,0c-88.9-88.7-88.9-232.6,0-321.3c88.9-88.7,233-88.7,321.8,0C613.4,289.4,613.4,433.3,524.5,522z"}))).attrs({className:"search-icon"})` + position: absolute; + left: ${e=>4*e.theme.spacing.unit}px; + height: 1.8em; + width: 0.9em; + + path { + fill: ${e=>e.theme.sidebar.textColor}; + } +`,Aw=gs.div` + padding: ${e=>e.theme.spacing.unit}px 0; + background-color: ${({theme:e})=>Dn(.05,e.sidebar.backgroundColor)}}; + color: ${e=>e.theme.sidebar.textColor}; + min-height: 150px; + max-height: 250px; + border-top: ${({theme:e})=>Dn(.1,e.sidebar.backgroundColor)}}; + border-bottom: ${({theme:e})=>Dn(.1,e.sidebar.backgroundColor)}}; + margin-top: 10px; + line-height: 1.4; + font-size: 0.9em; + + li { + background-color: inherit; + } + + ${av} { + padding-top: 6px; + padding-bottom: 6px; + + &:hover, + &.active { + background-color: ${({theme:e})=>Dn(.1,e.sidebar.backgroundColor)}; + } + + > svg { + display: none; + } + } +`,Cw=gs.i` + position: absolute; + display: inline-block; + width: ${e=>2*e.theme.spacing.unit}px; + text-align: center; + right: ${e=>4*e.theme.spacing.unit}px; + line-height: 2em; + vertical-align: middle; + margin-right: 2px; + cursor: pointer; + font-style: normal; + color: '#666'; +`;var jw=Object.defineProperty,Tw=Object.getOwnPropertyDescriptor;class Nw extends r.PureComponent{constructor(e){super(e),this.activeItemRef=null,this.clear=()=>{this.setState({results:[],noResults:!1,term:"",activeItemIdx:-1}),this.props.marker.unmark()},this.handleKeyDown=e=>{if(27===e.keyCode&&this.clear(),40===e.keyCode&&(this.setState({activeItemIdx:Math.min(this.state.activeItemIdx+1,this.state.results.length-1)}),e.preventDefault()),38===e.keyCode&&(this.setState({activeItemIdx:Math.max(0,this.state.activeItemIdx-1)}),e.preventDefault()),13===e.keyCode){const e=this.state.results[this.state.activeItemIdx];if(e){const t=this.props.getItemById(e.meta);t&&this.props.onActivate(t)}}},this.search=e=>{const{minCharacterLengthToInitSearch:t}=this.context,r=e.target.value;r.lengththis.searchCallback(this.state.term))},this.state={results:[],noResults:!1,term:"",activeItemIdx:-1}}clearResults(e){this.setState({results:[],noResults:!1,term:e}),this.props.marker.unmark()}setResults(e,t){this.setState({results:e,noResults:0===e.length}),this.props.marker.mark(t)}searchCallback(e){this.props.search.search(e).then(t=>{this.setResults(t,e)})}render(){const{activeItemIdx:e}=this.state,t=this.state.results.filter(e=>this.props.getItemById(e.meta)).map(e=>({item:this.props.getItemById(e.meta),score:e.score})).sort((e,t)=>t.score-e.score);return r.createElement(_w,{role:"search"},this.state.term&&r.createElement(Cw,{onClick:this.clear},"×"),r.createElement($w,null),r.createElement(Pw,{value:this.state.term,onKeyDown:this.handleKeyDown,placeholder:"Search...","aria-label":"Search",type:"text",onChange:this.search}),t.length>0&&r.createElement(df,{options:{wheelPropagation:!1}},r.createElement(Aw,{"data-role":"search:results"},t.map((t,n)=>r.createElement(ow,{item:Object.create(t.item,{active:{value:n===e}}),onActivate:this.props.onActivate,withoutChildren:!0,key:t.item.id,"data-role":"search:result"})))),this.state.term&&this.state.noResults?r.createElement(Aw,{"data-role":"search:results"},hi("noResultsFound")):null)}}Nw.contextType=Os,((e,t,r)=>{for(var n,i=Tw(t,r),o=e.length-1;o>=0;o--)(n=e[o])&&(i=n(t,r,i)||i);i&&jw(t,r,i)})([js.bind,(0,js.debounce)(400)],Nw.prototype,"searchCallback");class Iw extends r.Component{componentDidMount(){this.props.store.onDidMount()}componentWillUnmount(){this.props.store.dispose()}render(){const{store:{spec:e,menu:t,options:n,search:i,marker:o}}=this.props,s=this.props.store;return r.createElement(hs,{theme:n.theme},r.createElement(wp,{value:s},r.createElement(_s,{value:n},r.createElement(Sw,{className:"redoc-wrap"},r.createElement(kw,{menu:t,className:"menu-content"},r.createElement(Gb,{info:e.info}),!n.disableSearch&&r.createElement(Nw,{search:i,marker:o,getItemById:t.getItemById,onActivate:t.activateAndScroll})||null,r.createElement(hw,{menu:t})),r.createElement(Ew,{className:"api-content"},r.createElement(qb,{store:s}),r.createElement(Gx,{items:t.items})),r.createElement(Ow,null)))))}}Iw.propTypes={store:Es.instanceOf(Lb).isRequired};var Rw=Object.defineProperty,Lw=Object.getOwnPropertySymbols,Dw=Object.prototype.hasOwnProperty,Mw=Object.prototype.propertyIsEnumerable,zw=(e,t,r)=>t in e?Rw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Fw=(e,t)=>{for(var r in t||(t={}))Dw.call(t,r)&&zw(e,r,t[r]);if(Lw)for(var r of Lw(t))Mw.call(t,r)&&zw(e,r,t[r]);return e};const Bw=function(e){const{spec:t,specUrl:i,options:o={},onLoaded:s}=e,a=Ei(o.hideLoading,!1),l=new _i(o);if(void 0!==l.nonce)try{n.nc=l.nonce}catch(e){}return r.createElement(vs,null,r.createElement(Sp,{spec:t?Fw({},t):void 0,specUrl:i,options:o,onLoaded:s},({loading:e,store:t})=>e?a?null:r.createElement(Ss,{color:l.theme.colors.primary.main}):r.createElement(Iw,{store:t})))};var Uw=Object.defineProperty,qw=Object.getOwnPropertySymbols,Vw=Object.prototype.hasOwnProperty,Ww=Object.prototype.propertyIsEnumerable,Hw=(e,t,r)=>t in e?Uw(e,t,{enumerable:!0,configurable:!0,writable:!0,value:r}):e[t]=r,Gw=(e,t)=>{for(var r in t||(t={}))Vw.call(t,r)&&Hw(e,r,t[r]);if(qw)for(var r of qw(t))Ww.call(t,r)&&Hw(e,r,t[r]);return e};zt({useProxies:"ifavailable"});const Yw="2.5.3",Kw="1b2591e";function Qw(e){const t=function(e){const t={},r=e.attributes;for(let e=0;et.toUpperCase()),i=t[e];r[n]="theme"===e?JSON.parse(i):i}return r}function Xw(e,t={},n=Xn("redoc"),i){if(null===n)throw new Error('"element" argument is not provided and tag is not found on the page');let s,a;"string"==typeof e?s=e:"object"==typeof e&&(a=e),(0,o.H)(n).render(r.createElement(Bw,{spec:a,onLoaded:i,specUrl:s,options:Gw(Gw({},t),Qw(n))},["Loading..."]))}function Jw(e=Xn("redoc")){e&&(0,o.H)(e).unmount()}function Zw(e,t=Xn("redoc"),n){const i=Lb.fromJS(e);setTimeout(()=>{(0,o.c)(t,r.createElement(Iw,{store:i}),{onRecoverableError:n})},0)}!function(){const e=Xn("redoc");if(!e)return;const t=e.getAttribute("spec-url");t&&Xw(t,{},e)}()}(),i}()}); +//# sourceMappingURL=redoc.standalone.js.map \ No newline at end of file diff --git a/lambdas/api/swagger-ui-bundle.js b/lambdas/api/swagger-ui-bundle.js deleted file mode 100644 index 551e172..0000000 --- a/lambdas/api/swagger-ui-bundle.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see swagger-ui-bundle.js.LICENSE.txt */ -!function webpackUniversalModuleDefinition(o,s){"object"==typeof exports&&"object"==typeof module?module.exports=s():"function"==typeof define&&define.amd?define([],s):"object"==typeof exports?exports.SwaggerUIBundle=s():o.SwaggerUIBundle=s()}(this,(()=>(()=>{var o,s,i={69119:(o,s)=>{"use strict";Object.defineProperty(s,"__esModule",{value:!0}),s.BLANK_URL=s.relativeFirstCharacters=s.whitespaceEscapeCharsRegex=s.urlSchemeRegex=s.ctrlCharactersRegex=s.htmlCtrlEntityRegex=s.htmlEntitiesRegex=s.invalidProtocolRegex=void 0,s.invalidProtocolRegex=/^([^\w]*)(javascript|data|vbscript)/im,s.htmlEntitiesRegex=/&#(\w+)(^\w|;)?/g,s.htmlCtrlEntityRegex=/&(newline|tab);/gi,s.ctrlCharactersRegex=/[\u0000-\u001F\u007F-\u009F\u2000-\u200D\uFEFF]/gim,s.urlSchemeRegex=/^.+(:|:)/gim,s.whitespaceEscapeCharsRegex=/(\\|%5[cC])((%(6[eE]|72|74))|[nrt])/g,s.relativeFirstCharacters=[".","/"],s.BLANK_URL="about:blank"},16750:(o,s,i)=>{"use strict";s.J=void 0;var u=i(69119);function decodeURI(o){try{return decodeURIComponent(o)}catch(s){return o}}s.J=function sanitizeUrl(o){if(!o)return u.BLANK_URL;var s,i,_=decodeURI(o);do{s=(_=decodeURI(_=(i=_,i.replace(u.ctrlCharactersRegex,"").replace(u.htmlEntitiesRegex,(function(o,s){return String.fromCharCode(s)}))).replace(u.htmlCtrlEntityRegex,"").replace(u.ctrlCharactersRegex,"").replace(u.whitespaceEscapeCharsRegex,"").trim())).match(u.ctrlCharactersRegex)||_.match(u.htmlEntitiesRegex)||_.match(u.htmlCtrlEntityRegex)||_.match(u.whitespaceEscapeCharsRegex)}while(s&&s.length>0);var w=_;if(!w)return u.BLANK_URL;if(function isRelativeUrlWithoutProtocol(o){return u.relativeFirstCharacters.indexOf(o[0])>-1}(w))return w;var x=w.match(u.urlSchemeRegex);if(!x)return w;var C=x[0];return u.invalidProtocolRegex.test(C)?u.BLANK_URL:w}},67526:(o,s)=>{"use strict";s.byteLength=function byteLength(o){var s=getLens(o),i=s[0],u=s[1];return 3*(i+u)/4-u},s.toByteArray=function toByteArray(o){var s,i,w=getLens(o),x=w[0],C=w[1],j=new _(function _byteLength(o,s,i){return 3*(s+i)/4-i}(0,x,C)),L=0,B=C>0?x-4:x;for(i=0;i>16&255,j[L++]=s>>8&255,j[L++]=255&s;2===C&&(s=u[o.charCodeAt(i)]<<2|u[o.charCodeAt(i+1)]>>4,j[L++]=255&s);1===C&&(s=u[o.charCodeAt(i)]<<10|u[o.charCodeAt(i+1)]<<4|u[o.charCodeAt(i+2)]>>2,j[L++]=s>>8&255,j[L++]=255&s);return j},s.fromByteArray=function fromByteArray(o){for(var s,u=o.length,_=u%3,w=[],x=16383,C=0,j=u-_;Cj?j:C+x));1===_?(s=o[u-1],w.push(i[s>>2]+i[s<<4&63]+"==")):2===_&&(s=(o[u-2]<<8)+o[u-1],w.push(i[s>>10]+i[s>>4&63]+i[s<<2&63]+"="));return w.join("")};for(var i=[],u=[],_="undefined"!=typeof Uint8Array?Uint8Array:Array,w="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",x=0;x<64;++x)i[x]=w[x],u[w.charCodeAt(x)]=x;function getLens(o){var s=o.length;if(s%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var i=o.indexOf("=");return-1===i&&(i=s),[i,i===s?0:4-i%4]}function encodeChunk(o,s,u){for(var _,w,x=[],C=s;C>18&63]+i[w>>12&63]+i[w>>6&63]+i[63&w]);return x.join("")}u["-".charCodeAt(0)]=62,u["_".charCodeAt(0)]=63},48287:(o,s,i)=>{"use strict";const u=i(67526),_=i(251),w="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;s.Buffer=Buffer,s.SlowBuffer=function SlowBuffer(o){+o!=o&&(o=0);return Buffer.alloc(+o)},s.INSPECT_MAX_BYTES=50;const x=2147483647;function createBuffer(o){if(o>x)throw new RangeError('The value "'+o+'" is invalid for option "size"');const s=new Uint8Array(o);return Object.setPrototypeOf(s,Buffer.prototype),s}function Buffer(o,s,i){if("number"==typeof o){if("string"==typeof s)throw new TypeError('The "string" argument must be of type string. Received type number');return allocUnsafe(o)}return from(o,s,i)}function from(o,s,i){if("string"==typeof o)return function fromString(o,s){"string"==typeof s&&""!==s||(s="utf8");if(!Buffer.isEncoding(s))throw new TypeError("Unknown encoding: "+s);const i=0|byteLength(o,s);let u=createBuffer(i);const _=u.write(o,s);_!==i&&(u=u.slice(0,_));return u}(o,s);if(ArrayBuffer.isView(o))return function fromArrayView(o){if(isInstance(o,Uint8Array)){const s=new Uint8Array(o);return fromArrayBuffer(s.buffer,s.byteOffset,s.byteLength)}return fromArrayLike(o)}(o);if(null==o)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof o);if(isInstance(o,ArrayBuffer)||o&&isInstance(o.buffer,ArrayBuffer))return fromArrayBuffer(o,s,i);if("undefined"!=typeof SharedArrayBuffer&&(isInstance(o,SharedArrayBuffer)||o&&isInstance(o.buffer,SharedArrayBuffer)))return fromArrayBuffer(o,s,i);if("number"==typeof o)throw new TypeError('The "value" argument must not be of type number. Received type number');const u=o.valueOf&&o.valueOf();if(null!=u&&u!==o)return Buffer.from(u,s,i);const _=function fromObject(o){if(Buffer.isBuffer(o)){const s=0|checked(o.length),i=createBuffer(s);return 0===i.length||o.copy(i,0,0,s),i}if(void 0!==o.length)return"number"!=typeof o.length||numberIsNaN(o.length)?createBuffer(0):fromArrayLike(o);if("Buffer"===o.type&&Array.isArray(o.data))return fromArrayLike(o.data)}(o);if(_)return _;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof o[Symbol.toPrimitive])return Buffer.from(o[Symbol.toPrimitive]("string"),s,i);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof o)}function assertSize(o){if("number"!=typeof o)throw new TypeError('"size" argument must be of type number');if(o<0)throw new RangeError('The value "'+o+'" is invalid for option "size"')}function allocUnsafe(o){return assertSize(o),createBuffer(o<0?0:0|checked(o))}function fromArrayLike(o){const s=o.length<0?0:0|checked(o.length),i=createBuffer(s);for(let u=0;u=x)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+x.toString(16)+" bytes");return 0|o}function byteLength(o,s){if(Buffer.isBuffer(o))return o.length;if(ArrayBuffer.isView(o)||isInstance(o,ArrayBuffer))return o.byteLength;if("string"!=typeof o)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof o);const i=o.length,u=arguments.length>2&&!0===arguments[2];if(!u&&0===i)return 0;let _=!1;for(;;)switch(s){case"ascii":case"latin1":case"binary":return i;case"utf8":case"utf-8":return utf8ToBytes(o).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*i;case"hex":return i>>>1;case"base64":return base64ToBytes(o).length;default:if(_)return u?-1:utf8ToBytes(o).length;s=(""+s).toLowerCase(),_=!0}}function slowToString(o,s,i){let u=!1;if((void 0===s||s<0)&&(s=0),s>this.length)return"";if((void 0===i||i>this.length)&&(i=this.length),i<=0)return"";if((i>>>=0)<=(s>>>=0))return"";for(o||(o="utf8");;)switch(o){case"hex":return hexSlice(this,s,i);case"utf8":case"utf-8":return utf8Slice(this,s,i);case"ascii":return asciiSlice(this,s,i);case"latin1":case"binary":return latin1Slice(this,s,i);case"base64":return base64Slice(this,s,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return utf16leSlice(this,s,i);default:if(u)throw new TypeError("Unknown encoding: "+o);o=(o+"").toLowerCase(),u=!0}}function swap(o,s,i){const u=o[s];o[s]=o[i],o[i]=u}function bidirectionalIndexOf(o,s,i,u,_){if(0===o.length)return-1;if("string"==typeof i?(u=i,i=0):i>2147483647?i=2147483647:i<-2147483648&&(i=-2147483648),numberIsNaN(i=+i)&&(i=_?0:o.length-1),i<0&&(i=o.length+i),i>=o.length){if(_)return-1;i=o.length-1}else if(i<0){if(!_)return-1;i=0}if("string"==typeof s&&(s=Buffer.from(s,u)),Buffer.isBuffer(s))return 0===s.length?-1:arrayIndexOf(o,s,i,u,_);if("number"==typeof s)return s&=255,"function"==typeof Uint8Array.prototype.indexOf?_?Uint8Array.prototype.indexOf.call(o,s,i):Uint8Array.prototype.lastIndexOf.call(o,s,i):arrayIndexOf(o,[s],i,u,_);throw new TypeError("val must be string, number or Buffer")}function arrayIndexOf(o,s,i,u,_){let w,x=1,C=o.length,j=s.length;if(void 0!==u&&("ucs2"===(u=String(u).toLowerCase())||"ucs-2"===u||"utf16le"===u||"utf-16le"===u)){if(o.length<2||s.length<2)return-1;x=2,C/=2,j/=2,i/=2}function read(o,s){return 1===x?o[s]:o.readUInt16BE(s*x)}if(_){let u=-1;for(w=i;wC&&(i=C-j),w=i;w>=0;w--){let i=!0;for(let u=0;u_&&(u=_):u=_;const w=s.length;let x;for(u>w/2&&(u=w/2),x=0;x>8,_=i%256,w.push(_),w.push(u);return w}(s,o.length-i),o,i,u)}function base64Slice(o,s,i){return 0===s&&i===o.length?u.fromByteArray(o):u.fromByteArray(o.slice(s,i))}function utf8Slice(o,s,i){i=Math.min(o.length,i);const u=[];let _=s;for(;_239?4:s>223?3:s>191?2:1;if(_+x<=i){let i,u,C,j;switch(x){case 1:s<128&&(w=s);break;case 2:i=o[_+1],128==(192&i)&&(j=(31&s)<<6|63&i,j>127&&(w=j));break;case 3:i=o[_+1],u=o[_+2],128==(192&i)&&128==(192&u)&&(j=(15&s)<<12|(63&i)<<6|63&u,j>2047&&(j<55296||j>57343)&&(w=j));break;case 4:i=o[_+1],u=o[_+2],C=o[_+3],128==(192&i)&&128==(192&u)&&128==(192&C)&&(j=(15&s)<<18|(63&i)<<12|(63&u)<<6|63&C,j>65535&&j<1114112&&(w=j))}}null===w?(w=65533,x=1):w>65535&&(w-=65536,u.push(w>>>10&1023|55296),w=56320|1023&w),u.push(w),_+=x}return function decodeCodePointsArray(o){const s=o.length;if(s<=C)return String.fromCharCode.apply(String,o);let i="",u=0;for(;uu.length?(Buffer.isBuffer(s)||(s=Buffer.from(s)),s.copy(u,_)):Uint8Array.prototype.set.call(u,s,_);else{if(!Buffer.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(u,_)}_+=s.length}return u},Buffer.byteLength=byteLength,Buffer.prototype._isBuffer=!0,Buffer.prototype.swap16=function swap16(){const o=this.length;if(o%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let s=0;si&&(o+=" ... "),""},w&&(Buffer.prototype[w]=Buffer.prototype.inspect),Buffer.prototype.compare=function compare(o,s,i,u,_){if(isInstance(o,Uint8Array)&&(o=Buffer.from(o,o.offset,o.byteLength)),!Buffer.isBuffer(o))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof o);if(void 0===s&&(s=0),void 0===i&&(i=o?o.length:0),void 0===u&&(u=0),void 0===_&&(_=this.length),s<0||i>o.length||u<0||_>this.length)throw new RangeError("out of range index");if(u>=_&&s>=i)return 0;if(u>=_)return-1;if(s>=i)return 1;if(this===o)return 0;let w=(_>>>=0)-(u>>>=0),x=(i>>>=0)-(s>>>=0);const C=Math.min(w,x),j=this.slice(u,_),L=o.slice(s,i);for(let o=0;o>>=0,isFinite(i)?(i>>>=0,void 0===u&&(u="utf8")):(u=i,i=void 0)}const _=this.length-s;if((void 0===i||i>_)&&(i=_),o.length>0&&(i<0||s<0)||s>this.length)throw new RangeError("Attempt to write outside buffer bounds");u||(u="utf8");let w=!1;for(;;)switch(u){case"hex":return hexWrite(this,o,s,i);case"utf8":case"utf-8":return utf8Write(this,o,s,i);case"ascii":case"latin1":case"binary":return asciiWrite(this,o,s,i);case"base64":return base64Write(this,o,s,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return ucs2Write(this,o,s,i);default:if(w)throw new TypeError("Unknown encoding: "+u);u=(""+u).toLowerCase(),w=!0}},Buffer.prototype.toJSON=function toJSON(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const C=4096;function asciiSlice(o,s,i){let u="";i=Math.min(o.length,i);for(let _=s;_u)&&(i=u);let _="";for(let u=s;ui)throw new RangeError("Trying to access beyond buffer length")}function checkInt(o,s,i,u,_,w){if(!Buffer.isBuffer(o))throw new TypeError('"buffer" argument must be a Buffer instance');if(s>_||so.length)throw new RangeError("Index out of range")}function wrtBigUInt64LE(o,s,i,u,_){checkIntBI(s,u,_,o,i,7);let w=Number(s&BigInt(4294967295));o[i++]=w,w>>=8,o[i++]=w,w>>=8,o[i++]=w,w>>=8,o[i++]=w;let x=Number(s>>BigInt(32)&BigInt(4294967295));return o[i++]=x,x>>=8,o[i++]=x,x>>=8,o[i++]=x,x>>=8,o[i++]=x,i}function wrtBigUInt64BE(o,s,i,u,_){checkIntBI(s,u,_,o,i,7);let w=Number(s&BigInt(4294967295));o[i+7]=w,w>>=8,o[i+6]=w,w>>=8,o[i+5]=w,w>>=8,o[i+4]=w;let x=Number(s>>BigInt(32)&BigInt(4294967295));return o[i+3]=x,x>>=8,o[i+2]=x,x>>=8,o[i+1]=x,x>>=8,o[i]=x,i+8}function checkIEEE754(o,s,i,u,_,w){if(i+u>o.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("Index out of range")}function writeFloat(o,s,i,u,w){return s=+s,i>>>=0,w||checkIEEE754(o,0,i,4),_.write(o,s,i,u,23,4),i+4}function writeDouble(o,s,i,u,w){return s=+s,i>>>=0,w||checkIEEE754(o,0,i,8),_.write(o,s,i,u,52,8),i+8}Buffer.prototype.slice=function slice(o,s){const i=this.length;(o=~~o)<0?(o+=i)<0&&(o=0):o>i&&(o=i),(s=void 0===s?i:~~s)<0?(s+=i)<0&&(s=0):s>i&&(s=i),s>>=0,s>>>=0,i||checkOffset(o,s,this.length);let u=this[o],_=1,w=0;for(;++w>>=0,s>>>=0,i||checkOffset(o,s,this.length);let u=this[o+--s],_=1;for(;s>0&&(_*=256);)u+=this[o+--s]*_;return u},Buffer.prototype.readUint8=Buffer.prototype.readUInt8=function readUInt8(o,s){return o>>>=0,s||checkOffset(o,1,this.length),this[o]},Buffer.prototype.readUint16LE=Buffer.prototype.readUInt16LE=function readUInt16LE(o,s){return o>>>=0,s||checkOffset(o,2,this.length),this[o]|this[o+1]<<8},Buffer.prototype.readUint16BE=Buffer.prototype.readUInt16BE=function readUInt16BE(o,s){return o>>>=0,s||checkOffset(o,2,this.length),this[o]<<8|this[o+1]},Buffer.prototype.readUint32LE=Buffer.prototype.readUInt32LE=function readUInt32LE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),(this[o]|this[o+1]<<8|this[o+2]<<16)+16777216*this[o+3]},Buffer.prototype.readUint32BE=Buffer.prototype.readUInt32BE=function readUInt32BE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),16777216*this[o]+(this[o+1]<<16|this[o+2]<<8|this[o+3])},Buffer.prototype.readBigUInt64LE=defineBigIntMethod((function readBigUInt64LE(o){validateNumber(o>>>=0,"offset");const s=this[o],i=this[o+7];void 0!==s&&void 0!==i||boundsError(o,this.length-8);const u=s+256*this[++o]+65536*this[++o]+this[++o]*2**24,_=this[++o]+256*this[++o]+65536*this[++o]+i*2**24;return BigInt(u)+(BigInt(_)<>>=0,"offset");const s=this[o],i=this[o+7];void 0!==s&&void 0!==i||boundsError(o,this.length-8);const u=s*2**24+65536*this[++o]+256*this[++o]+this[++o],_=this[++o]*2**24+65536*this[++o]+256*this[++o]+i;return(BigInt(u)<>>=0,s>>>=0,i||checkOffset(o,s,this.length);let u=this[o],_=1,w=0;for(;++w=_&&(u-=Math.pow(2,8*s)),u},Buffer.prototype.readIntBE=function readIntBE(o,s,i){o>>>=0,s>>>=0,i||checkOffset(o,s,this.length);let u=s,_=1,w=this[o+--u];for(;u>0&&(_*=256);)w+=this[o+--u]*_;return _*=128,w>=_&&(w-=Math.pow(2,8*s)),w},Buffer.prototype.readInt8=function readInt8(o,s){return o>>>=0,s||checkOffset(o,1,this.length),128&this[o]?-1*(255-this[o]+1):this[o]},Buffer.prototype.readInt16LE=function readInt16LE(o,s){o>>>=0,s||checkOffset(o,2,this.length);const i=this[o]|this[o+1]<<8;return 32768&i?4294901760|i:i},Buffer.prototype.readInt16BE=function readInt16BE(o,s){o>>>=0,s||checkOffset(o,2,this.length);const i=this[o+1]|this[o]<<8;return 32768&i?4294901760|i:i},Buffer.prototype.readInt32LE=function readInt32LE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),this[o]|this[o+1]<<8|this[o+2]<<16|this[o+3]<<24},Buffer.prototype.readInt32BE=function readInt32BE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),this[o]<<24|this[o+1]<<16|this[o+2]<<8|this[o+3]},Buffer.prototype.readBigInt64LE=defineBigIntMethod((function readBigInt64LE(o){validateNumber(o>>>=0,"offset");const s=this[o],i=this[o+7];void 0!==s&&void 0!==i||boundsError(o,this.length-8);const u=this[o+4]+256*this[o+5]+65536*this[o+6]+(i<<24);return(BigInt(u)<>>=0,"offset");const s=this[o],i=this[o+7];void 0!==s&&void 0!==i||boundsError(o,this.length-8);const u=(s<<24)+65536*this[++o]+256*this[++o]+this[++o];return(BigInt(u)<>>=0,s||checkOffset(o,4,this.length),_.read(this,o,!0,23,4)},Buffer.prototype.readFloatBE=function readFloatBE(o,s){return o>>>=0,s||checkOffset(o,4,this.length),_.read(this,o,!1,23,4)},Buffer.prototype.readDoubleLE=function readDoubleLE(o,s){return o>>>=0,s||checkOffset(o,8,this.length),_.read(this,o,!0,52,8)},Buffer.prototype.readDoubleBE=function readDoubleBE(o,s){return o>>>=0,s||checkOffset(o,8,this.length),_.read(this,o,!1,52,8)},Buffer.prototype.writeUintLE=Buffer.prototype.writeUIntLE=function writeUIntLE(o,s,i,u){if(o=+o,s>>>=0,i>>>=0,!u){checkInt(this,o,s,i,Math.pow(2,8*i)-1,0)}let _=1,w=0;for(this[s]=255&o;++w>>=0,i>>>=0,!u){checkInt(this,o,s,i,Math.pow(2,8*i)-1,0)}let _=i-1,w=1;for(this[s+_]=255&o;--_>=0&&(w*=256);)this[s+_]=o/w&255;return s+i},Buffer.prototype.writeUint8=Buffer.prototype.writeUInt8=function writeUInt8(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,1,255,0),this[s]=255&o,s+1},Buffer.prototype.writeUint16LE=Buffer.prototype.writeUInt16LE=function writeUInt16LE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,2,65535,0),this[s]=255&o,this[s+1]=o>>>8,s+2},Buffer.prototype.writeUint16BE=Buffer.prototype.writeUInt16BE=function writeUInt16BE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,2,65535,0),this[s]=o>>>8,this[s+1]=255&o,s+2},Buffer.prototype.writeUint32LE=Buffer.prototype.writeUInt32LE=function writeUInt32LE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,4,4294967295,0),this[s+3]=o>>>24,this[s+2]=o>>>16,this[s+1]=o>>>8,this[s]=255&o,s+4},Buffer.prototype.writeUint32BE=Buffer.prototype.writeUInt32BE=function writeUInt32BE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,4,4294967295,0),this[s]=o>>>24,this[s+1]=o>>>16,this[s+2]=o>>>8,this[s+3]=255&o,s+4},Buffer.prototype.writeBigUInt64LE=defineBigIntMethod((function writeBigUInt64LE(o,s=0){return wrtBigUInt64LE(this,o,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeBigUInt64BE=defineBigIntMethod((function writeBigUInt64BE(o,s=0){return wrtBigUInt64BE(this,o,s,BigInt(0),BigInt("0xffffffffffffffff"))})),Buffer.prototype.writeIntLE=function writeIntLE(o,s,i,u){if(o=+o,s>>>=0,!u){const u=Math.pow(2,8*i-1);checkInt(this,o,s,i,u-1,-u)}let _=0,w=1,x=0;for(this[s]=255&o;++_>>=0,!u){const u=Math.pow(2,8*i-1);checkInt(this,o,s,i,u-1,-u)}let _=i-1,w=1,x=0;for(this[s+_]=255&o;--_>=0&&(w*=256);)o<0&&0===x&&0!==this[s+_+1]&&(x=1),this[s+_]=(o/w|0)-x&255;return s+i},Buffer.prototype.writeInt8=function writeInt8(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,1,127,-128),o<0&&(o=255+o+1),this[s]=255&o,s+1},Buffer.prototype.writeInt16LE=function writeInt16LE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,2,32767,-32768),this[s]=255&o,this[s+1]=o>>>8,s+2},Buffer.prototype.writeInt16BE=function writeInt16BE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,2,32767,-32768),this[s]=o>>>8,this[s+1]=255&o,s+2},Buffer.prototype.writeInt32LE=function writeInt32LE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,4,2147483647,-2147483648),this[s]=255&o,this[s+1]=o>>>8,this[s+2]=o>>>16,this[s+3]=o>>>24,s+4},Buffer.prototype.writeInt32BE=function writeInt32BE(o,s,i){return o=+o,s>>>=0,i||checkInt(this,o,s,4,2147483647,-2147483648),o<0&&(o=4294967295+o+1),this[s]=o>>>24,this[s+1]=o>>>16,this[s+2]=o>>>8,this[s+3]=255&o,s+4},Buffer.prototype.writeBigInt64LE=defineBigIntMethod((function writeBigInt64LE(o,s=0){return wrtBigUInt64LE(this,o,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeBigInt64BE=defineBigIntMethod((function writeBigInt64BE(o,s=0){return wrtBigUInt64BE(this,o,s,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))})),Buffer.prototype.writeFloatLE=function writeFloatLE(o,s,i){return writeFloat(this,o,s,!0,i)},Buffer.prototype.writeFloatBE=function writeFloatBE(o,s,i){return writeFloat(this,o,s,!1,i)},Buffer.prototype.writeDoubleLE=function writeDoubleLE(o,s,i){return writeDouble(this,o,s,!0,i)},Buffer.prototype.writeDoubleBE=function writeDoubleBE(o,s,i){return writeDouble(this,o,s,!1,i)},Buffer.prototype.copy=function copy(o,s,i,u){if(!Buffer.isBuffer(o))throw new TypeError("argument should be a Buffer");if(i||(i=0),u||0===u||(u=this.length),s>=o.length&&(s=o.length),s||(s=0),u>0&&u=this.length)throw new RangeError("Index out of range");if(u<0)throw new RangeError("sourceEnd out of bounds");u>this.length&&(u=this.length),o.length-s>>=0,i=void 0===i?this.length:i>>>0,o||(o=0),"number"==typeof o)for(_=s;_=u+4;i-=3)s=`_${o.slice(i-3,i)}${s}`;return`${o.slice(0,i)}${s}`}function checkIntBI(o,s,i,u,_,w){if(o>i||o3?0===s||s===BigInt(0)?`>= 0${u} and < 2${u} ** ${8*(w+1)}${u}`:`>= -(2${u} ** ${8*(w+1)-1}${u}) and < 2 ** ${8*(w+1)-1}${u}`:`>= ${s}${u} and <= ${i}${u}`,new j.ERR_OUT_OF_RANGE("value",_,o)}!function checkBounds(o,s,i){validateNumber(s,"offset"),void 0!==o[s]&&void 0!==o[s+i]||boundsError(s,o.length-(i+1))}(u,_,w)}function validateNumber(o,s){if("number"!=typeof o)throw new j.ERR_INVALID_ARG_TYPE(s,"number",o)}function boundsError(o,s,i){if(Math.floor(o)!==o)throw validateNumber(o,i),new j.ERR_OUT_OF_RANGE(i||"offset","an integer",o);if(s<0)throw new j.ERR_BUFFER_OUT_OF_BOUNDS;throw new j.ERR_OUT_OF_RANGE(i||"offset",`>= ${i?1:0} and <= ${s}`,o)}E("ERR_BUFFER_OUT_OF_BOUNDS",(function(o){return o?`${o} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"}),RangeError),E("ERR_INVALID_ARG_TYPE",(function(o,s){return`The "${o}" argument must be of type number. Received type ${typeof s}`}),TypeError),E("ERR_OUT_OF_RANGE",(function(o,s,i){let u=`The value of "${o}" is out of range.`,_=i;return Number.isInteger(i)&&Math.abs(i)>2**32?_=addNumericalSeparator(String(i)):"bigint"==typeof i&&(_=String(i),(i>BigInt(2)**BigInt(32)||i<-(BigInt(2)**BigInt(32)))&&(_=addNumericalSeparator(_)),_+="n"),u+=` It must be ${s}. Received ${_}`,u}),RangeError);const L=/[^+/0-9A-Za-z-_]/g;function utf8ToBytes(o,s){let i;s=s||1/0;const u=o.length;let _=null;const w=[];for(let x=0;x55295&&i<57344){if(!_){if(i>56319){(s-=3)>-1&&w.push(239,191,189);continue}if(x+1===u){(s-=3)>-1&&w.push(239,191,189);continue}_=i;continue}if(i<56320){(s-=3)>-1&&w.push(239,191,189),_=i;continue}i=65536+(_-55296<<10|i-56320)}else _&&(s-=3)>-1&&w.push(239,191,189);if(_=null,i<128){if((s-=1)<0)break;w.push(i)}else if(i<2048){if((s-=2)<0)break;w.push(i>>6|192,63&i|128)}else if(i<65536){if((s-=3)<0)break;w.push(i>>12|224,i>>6&63|128,63&i|128)}else{if(!(i<1114112))throw new Error("Invalid code point");if((s-=4)<0)break;w.push(i>>18|240,i>>12&63|128,i>>6&63|128,63&i|128)}}return w}function base64ToBytes(o){return u.toByteArray(function base64clean(o){if((o=(o=o.split("=")[0]).trim().replace(L,"")).length<2)return"";for(;o.length%4!=0;)o+="=";return o}(o))}function blitBuffer(o,s,i,u){let _;for(_=0;_=s.length||_>=o.length);++_)s[_+i]=o[_];return _}function isInstance(o,s){return o instanceof s||null!=o&&null!=o.constructor&&null!=o.constructor.name&&o.constructor.name===s.name}function numberIsNaN(o){return o!=o}const B=function(){const o="0123456789abcdef",s=new Array(256);for(let i=0;i<16;++i){const u=16*i;for(let _=0;_<16;++_)s[u+_]=o[i]+o[_]}return s}();function defineBigIntMethod(o){return"undefined"==typeof BigInt?BufferBigIntNotDefined:o}function BufferBigIntNotDefined(){throw new Error("BigInt not supported")}},38075:(o,s,i)=>{"use strict";var u=i(70453),_=i(10487),w=_(u("String.prototype.indexOf"));o.exports=function callBoundIntrinsic(o,s){var i=u(o,!!s);return"function"==typeof i&&w(o,".prototype.")>-1?_(i):i}},10487:(o,s,i)=>{"use strict";var u=i(66743),_=i(70453),w=i(96897),x=i(69675),C=_("%Function.prototype.apply%"),j=_("%Function.prototype.call%"),L=_("%Reflect.apply%",!0)||u.call(j,C),B=i(30655),$=_("%Math.max%");o.exports=function callBind(o){if("function"!=typeof o)throw new x("a function is required");var s=L(u,j,arguments);return w(s,1+$(0,o.length-(arguments.length-1)),!0)};var V=function applyBind(){return L(u,C,arguments)};B?B(o.exports,"apply",{value:V}):o.exports.apply=V},57427:(o,s)=>{"use strict";s.parse=function parse(o,s){if("string"!=typeof o)throw new TypeError("argument str must be a string");var i={},u=(s||{}).decode||decode,_=0;for(;_{"use strict";var u=i(16426),_={"text/plain":"Text","text/html":"Url",default:"Text"};o.exports=function copy(o,s){var i,w,x,C,j,L,B=!1;s||(s={}),i=s.debug||!1;try{if(x=u(),C=document.createRange(),j=document.getSelection(),(L=document.createElement("span")).textContent=o,L.ariaHidden="true",L.style.all="unset",L.style.position="fixed",L.style.top=0,L.style.clip="rect(0, 0, 0, 0)",L.style.whiteSpace="pre",L.style.webkitUserSelect="text",L.style.MozUserSelect="text",L.style.msUserSelect="text",L.style.userSelect="text",L.addEventListener("copy",(function(u){if(u.stopPropagation(),s.format)if(u.preventDefault(),void 0===u.clipboardData){i&&console.warn("unable to use e.clipboardData"),i&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var w=_[s.format]||_.default;window.clipboardData.setData(w,o)}else u.clipboardData.clearData(),u.clipboardData.setData(s.format,o);s.onCopy&&(u.preventDefault(),s.onCopy(u.clipboardData))})),document.body.appendChild(L),C.selectNodeContents(L),j.addRange(C),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");B=!0}catch(u){i&&console.error("unable to copy using execCommand: ",u),i&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(s.format||"text",o),s.onCopy&&s.onCopy(window.clipboardData),B=!0}catch(u){i&&console.error("unable to copy using clipboardData: ",u),i&&console.error("falling back to prompt"),w=function format(o){var s=(/mac os x/i.test(navigator.userAgent)?"⌘":"Ctrl")+"+C";return o.replace(/#{\s*key\s*}/g,s)}("message"in s?s.message:"Copy to clipboard: #{key}, Enter"),window.prompt(w,o)}}finally{j&&("function"==typeof j.removeRange?j.removeRange(C):j.removeAllRanges()),L&&document.body.removeChild(L),x()}return B}},2205:function(o,s,i){var u;u=void 0!==i.g?i.g:this,o.exports=function(o){if(o.CSS&&o.CSS.escape)return o.CSS.escape;var cssEscape=function(o){if(0==arguments.length)throw new TypeError("`CSS.escape` requires an argument.");for(var s,i=String(o),u=i.length,_=-1,w="",x=i.charCodeAt(0);++_=1&&s<=31||127==s||0==_&&s>=48&&s<=57||1==_&&s>=48&&s<=57&&45==x?"\\"+s.toString(16)+" ":0==_&&1==u&&45==s||!(s>=128||45==s||95==s||s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122)?"\\"+i.charAt(_):i.charAt(_):w+="�";return w};return o.CSS||(o.CSS={}),o.CSS.escape=cssEscape,cssEscape}(u)},81919:(o,s,i)=>{"use strict";var u=i(48287).Buffer;function isSpecificValue(o){return o instanceof u||o instanceof Date||o instanceof RegExp}function cloneSpecificValue(o){if(o instanceof u){var s=u.alloc?u.alloc(o.length):new u(o.length);return o.copy(s),s}if(o instanceof Date)return new Date(o.getTime());if(o instanceof RegExp)return new RegExp(o);throw new Error("Unexpected situation")}function deepCloneArray(o){var s=[];return o.forEach((function(o,i){"object"==typeof o&&null!==o?Array.isArray(o)?s[i]=deepCloneArray(o):isSpecificValue(o)?s[i]=cloneSpecificValue(o):s[i]=_({},o):s[i]=o})),s}function safeGetProperty(o,s){return"__proto__"===s?void 0:o[s]}var _=o.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var o,s,i=arguments[0];return Array.prototype.slice.call(arguments,1).forEach((function(u){"object"!=typeof u||null===u||Array.isArray(u)||Object.keys(u).forEach((function(w){return s=safeGetProperty(i,w),(o=safeGetProperty(u,w))===i?void 0:"object"!=typeof o||null===o?void(i[w]=o):Array.isArray(o)?void(i[w]=deepCloneArray(o)):isSpecificValue(o)?void(i[w]=cloneSpecificValue(o)):"object"!=typeof s||null===s||Array.isArray(s)?void(i[w]=_({},o)):void(i[w]=_(s,o))}))})),i}},14744:o=>{"use strict";var s=function isMergeableObject(o){return function isNonNullObject(o){return!!o&&"object"==typeof o}(o)&&!function isSpecial(o){var s=Object.prototype.toString.call(o);return"[object RegExp]"===s||"[object Date]"===s||function isReactElement(o){return o.$$typeof===i}(o)}(o)};var i="function"==typeof Symbol&&Symbol.for?Symbol.for("react.element"):60103;function cloneUnlessOtherwiseSpecified(o,s){return!1!==s.clone&&s.isMergeableObject(o)?deepmerge(function emptyTarget(o){return Array.isArray(o)?[]:{}}(o),o,s):o}function defaultArrayMerge(o,s,i){return o.concat(s).map((function(o){return cloneUnlessOtherwiseSpecified(o,i)}))}function getKeys(o){return Object.keys(o).concat(function getEnumerableOwnPropertySymbols(o){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(o).filter((function(s){return Object.propertyIsEnumerable.call(o,s)})):[]}(o))}function propertyIsOnObject(o,s){try{return s in o}catch(o){return!1}}function mergeObject(o,s,i){var u={};return i.isMergeableObject(o)&&getKeys(o).forEach((function(s){u[s]=cloneUnlessOtherwiseSpecified(o[s],i)})),getKeys(s).forEach((function(_){(function propertyIsUnsafe(o,s){return propertyIsOnObject(o,s)&&!(Object.hasOwnProperty.call(o,s)&&Object.propertyIsEnumerable.call(o,s))})(o,_)||(propertyIsOnObject(o,_)&&i.isMergeableObject(s[_])?u[_]=function getMergeFunction(o,s){if(!s.customMerge)return deepmerge;var i=s.customMerge(o);return"function"==typeof i?i:deepmerge}(_,i)(o[_],s[_],i):u[_]=cloneUnlessOtherwiseSpecified(s[_],i))})),u}function deepmerge(o,i,u){(u=u||{}).arrayMerge=u.arrayMerge||defaultArrayMerge,u.isMergeableObject=u.isMergeableObject||s,u.cloneUnlessOtherwiseSpecified=cloneUnlessOtherwiseSpecified;var _=Array.isArray(i);return _===Array.isArray(o)?_?u.arrayMerge(o,i,u):mergeObject(o,i,u):cloneUnlessOtherwiseSpecified(i,u)}deepmerge.all=function deepmergeAll(o,s){if(!Array.isArray(o))throw new Error("first argument should be an array");return o.reduce((function(o,i){return deepmerge(o,i,s)}),{})};var u=deepmerge;o.exports=u},30041:(o,s,i)=>{"use strict";var u=i(30655),_=i(58068),w=i(69675),x=i(75795);o.exports=function defineDataProperty(o,s,i){if(!o||"object"!=typeof o&&"function"!=typeof o)throw new w("`obj` must be an object or a function`");if("string"!=typeof s&&"symbol"!=typeof s)throw new w("`property` must be a string or a symbol`");if(arguments.length>3&&"boolean"!=typeof arguments[3]&&null!==arguments[3])throw new w("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&"boolean"!=typeof arguments[4]&&null!==arguments[4])throw new w("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&"boolean"!=typeof arguments[5]&&null!==arguments[5])throw new w("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&"boolean"!=typeof arguments[6])throw new w("`loose`, if provided, must be a boolean");var C=arguments.length>3?arguments[3]:null,j=arguments.length>4?arguments[4]:null,L=arguments.length>5?arguments[5]:null,B=arguments.length>6&&arguments[6],$=!!x&&x(o,s);if(u)u(o,s,{configurable:null===L&&$?$.configurable:!L,enumerable:null===C&&$?$.enumerable:!C,value:i,writable:null===j&&$?$.writable:!j});else{if(!B&&(C||j||L))throw new _("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.");o[s]=i}}},42838:function(o){o.exports=function(){"use strict";const{entries:o,setPrototypeOf:s,isFrozen:i,getPrototypeOf:u,getOwnPropertyDescriptor:_}=Object;let{freeze:w,seal:x,create:C}=Object,{apply:j,construct:L}="undefined"!=typeof Reflect&&Reflect;w||(w=function freeze(o){return o}),x||(x=function seal(o){return o}),j||(j=function apply(o,s,i){return o.apply(s,i)}),L||(L=function construct(o,s){return new o(...s)});const B=unapply(Array.prototype.forEach),$=unapply(Array.prototype.pop),V=unapply(Array.prototype.push),U=unapply(String.prototype.toLowerCase),z=unapply(String.prototype.toString),Y=unapply(String.prototype.match),Z=unapply(String.prototype.replace),ee=unapply(String.prototype.indexOf),ie=unapply(String.prototype.trim),ae=unapply(Object.prototype.hasOwnProperty),ce=unapply(RegExp.prototype.test),le=unconstruct(TypeError);function numberIsNaN(o){return"number"==typeof o&&isNaN(o)}function unapply(o){return function(s){for(var i=arguments.length,u=new Array(i>1?i-1:0),_=1;_2&&void 0!==arguments[2]?arguments[2]:U;s&&s(o,null);let w=u.length;for(;w--;){let s=u[w];if("string"==typeof s){const o=_(s);o!==s&&(i(u)||(u[w]=o),s=o)}o[s]=!0}return o}function cleanArray(o){for(let s=0;s/gm),$e=x(/\${[\w\W]*}/gm),ze=x(/^data-[\-\w.\u00B7-\uFFFF]/),We=x(/^aria-[\-\w]+$/),He=x(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),Ye=x(/^(?:\w+script|data):/i),Xe=x(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),Qe=x(/^html$/i),et=x(/^[a-z][.\w]*(-[.\w]+)+$/i);var tt=Object.freeze({__proto__:null,MUSTACHE_EXPR:Re,ERB_EXPR:qe,TMPLIT_EXPR:$e,DATA_ATTR:ze,ARIA_ATTR:We,IS_ALLOWED_URI:He,IS_SCRIPT_OR_DATA:Ye,ATTR_WHITESPACE:Xe,DOCTYPE_NAME:Qe,CUSTOM_ELEMENT:et});const rt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},nt=function getGlobal(){return"undefined"==typeof window?null:window},ot=function _createTrustedTypesPolicy(o,s){if("object"!=typeof o||"function"!=typeof o.createPolicy)return null;let i=null;const u="data-tt-policy-suffix";s&&s.hasAttribute(u)&&(i=s.getAttribute(u));const _="dompurify"+(i?"#"+i:"");try{return o.createPolicy(_,{createHTML:o=>o,createScriptURL:o=>o})}catch(o){return console.warn("TrustedTypes policy "+_+" could not be created."),null}};function createDOMPurify(){let s=arguments.length>0&&void 0!==arguments[0]?arguments[0]:nt();const DOMPurify=o=>createDOMPurify(o);if(DOMPurify.version="3.1.4",DOMPurify.removed=[],!s||!s.document||s.document.nodeType!==rt.document)return DOMPurify.isSupported=!1,DOMPurify;let{document:i}=s;const u=i,_=u.currentScript,{DocumentFragment:x,HTMLTemplateElement:j,Node:L,Element:Re,NodeFilter:qe,NamedNodeMap:$e=s.NamedNodeMap||s.MozNamedAttrMap,HTMLFormElement:ze,DOMParser:We,trustedTypes:Ye}=s,Xe=Re.prototype,et=lookupGetter(Xe,"cloneNode"),st=lookupGetter(Xe,"nextSibling"),it=lookupGetter(Xe,"childNodes"),at=lookupGetter(Xe,"parentNode");if("function"==typeof j){const o=i.createElement("template");o.content&&o.content.ownerDocument&&(i=o.content.ownerDocument)}let ct,lt="";const{implementation:ut,createNodeIterator:pt,createDocumentFragment:ht,getElementsByTagName:dt}=i,{importNode:mt}=u;let gt={};DOMPurify.isSupported="function"==typeof o&&"function"==typeof at&&ut&&void 0!==ut.createHTMLDocument;const{MUSTACHE_EXPR:yt,ERB_EXPR:vt,TMPLIT_EXPR:bt,DATA_ATTR:_t,ARIA_ATTR:Et,IS_SCRIPT_OR_DATA:wt,ATTR_WHITESPACE:St,CUSTOM_ELEMENT:xt}=tt;let{IS_ALLOWED_URI:kt}=tt,Ot=null;const Ct=addToSet({},[...pe,...de,...fe,...be,...we]);let At=null;const jt=addToSet({},[...Se,...xe,...Pe,...Te]);let Pt=Object.seal(C(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),It=null,Mt=null,Nt=!0,Tt=!0,Rt=!1,Dt=!0,Lt=!1,Bt=!0,Ft=!1,qt=!1,$t=!1,Vt=!1,Ut=!1,zt=!1,Wt=!0,Kt=!1;const Ht="user-content-";let Jt=!0,Gt=!1,Yt={},Xt=null;const Qt=addToSet({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]);let Zt=null;const er=addToSet({},["audio","video","img","source","image","track"]);let tr=null;const rr=addToSet({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),nr="http://www.w3.org/1998/Math/MathML",sr="http://www.w3.org/2000/svg",ir="http://www.w3.org/1999/xhtml";let ar=ir,cr=!1,lr=null;const ur=addToSet({},[nr,sr,ir],z);let pr=null;const dr=["application/xhtml+xml","text/html"],fr="text/html";let mr=null,gr=null;const yr=255,vr=i.createElement("form"),br=function isRegexOrFunction(o){return o instanceof RegExp||o instanceof Function},_r=function _parseConfig(){let o=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(!gr||gr!==o){if(o&&"object"==typeof o||(o={}),o=clone(o),pr=-1===dr.indexOf(o.PARSER_MEDIA_TYPE)?fr:o.PARSER_MEDIA_TYPE,mr="application/xhtml+xml"===pr?z:U,Ot=ae(o,"ALLOWED_TAGS")?addToSet({},o.ALLOWED_TAGS,mr):Ct,At=ae(o,"ALLOWED_ATTR")?addToSet({},o.ALLOWED_ATTR,mr):jt,lr=ae(o,"ALLOWED_NAMESPACES")?addToSet({},o.ALLOWED_NAMESPACES,z):ur,tr=ae(o,"ADD_URI_SAFE_ATTR")?addToSet(clone(rr),o.ADD_URI_SAFE_ATTR,mr):rr,Zt=ae(o,"ADD_DATA_URI_TAGS")?addToSet(clone(er),o.ADD_DATA_URI_TAGS,mr):er,Xt=ae(o,"FORBID_CONTENTS")?addToSet({},o.FORBID_CONTENTS,mr):Qt,It=ae(o,"FORBID_TAGS")?addToSet({},o.FORBID_TAGS,mr):{},Mt=ae(o,"FORBID_ATTR")?addToSet({},o.FORBID_ATTR,mr):{},Yt=!!ae(o,"USE_PROFILES")&&o.USE_PROFILES,Nt=!1!==o.ALLOW_ARIA_ATTR,Tt=!1!==o.ALLOW_DATA_ATTR,Rt=o.ALLOW_UNKNOWN_PROTOCOLS||!1,Dt=!1!==o.ALLOW_SELF_CLOSE_IN_ATTR,Lt=o.SAFE_FOR_TEMPLATES||!1,Bt=!1!==o.SAFE_FOR_XML,Ft=o.WHOLE_DOCUMENT||!1,Vt=o.RETURN_DOM||!1,Ut=o.RETURN_DOM_FRAGMENT||!1,zt=o.RETURN_TRUSTED_TYPE||!1,$t=o.FORCE_BODY||!1,Wt=!1!==o.SANITIZE_DOM,Kt=o.SANITIZE_NAMED_PROPS||!1,Jt=!1!==o.KEEP_CONTENT,Gt=o.IN_PLACE||!1,kt=o.ALLOWED_URI_REGEXP||He,ar=o.NAMESPACE||ir,Pt=o.CUSTOM_ELEMENT_HANDLING||{},o.CUSTOM_ELEMENT_HANDLING&&br(o.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(Pt.tagNameCheck=o.CUSTOM_ELEMENT_HANDLING.tagNameCheck),o.CUSTOM_ELEMENT_HANDLING&&br(o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(Pt.attributeNameCheck=o.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),o.CUSTOM_ELEMENT_HANDLING&&"boolean"==typeof o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements&&(Pt.allowCustomizedBuiltInElements=o.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),Lt&&(Tt=!1),Ut&&(Vt=!0),Yt&&(Ot=addToSet({},we),At=[],!0===Yt.html&&(addToSet(Ot,pe),addToSet(At,Se)),!0===Yt.svg&&(addToSet(Ot,de),addToSet(At,xe),addToSet(At,Te)),!0===Yt.svgFilters&&(addToSet(Ot,fe),addToSet(At,xe),addToSet(At,Te)),!0===Yt.mathMl&&(addToSet(Ot,be),addToSet(At,Pe),addToSet(At,Te))),o.ADD_TAGS&&(Ot===Ct&&(Ot=clone(Ot)),addToSet(Ot,o.ADD_TAGS,mr)),o.ADD_ATTR&&(At===jt&&(At=clone(At)),addToSet(At,o.ADD_ATTR,mr)),o.ADD_URI_SAFE_ATTR&&addToSet(tr,o.ADD_URI_SAFE_ATTR,mr),o.FORBID_CONTENTS&&(Xt===Qt&&(Xt=clone(Xt)),addToSet(Xt,o.FORBID_CONTENTS,mr)),Jt&&(Ot["#text"]=!0),Ft&&addToSet(Ot,["html","head","body"]),Ot.table&&(addToSet(Ot,["tbody"]),delete It.tbody),o.TRUSTED_TYPES_POLICY){if("function"!=typeof o.TRUSTED_TYPES_POLICY.createHTML)throw le('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if("function"!=typeof o.TRUSTED_TYPES_POLICY.createScriptURL)throw le('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');ct=o.TRUSTED_TYPES_POLICY,lt=ct.createHTML("")}else void 0===ct&&(ct=ot(Ye,_)),null!==ct&&"string"==typeof lt&&(lt=ct.createHTML(""));w&&w(o),gr=o}},Er=addToSet({},["mi","mo","mn","ms","mtext"]),wr=addToSet({},["foreignobject","annotation-xml"]),Sr=addToSet({},["title","style","font","a","script"]),xr=addToSet({},[...de,...fe,...ye]),kr=addToSet({},[...be,..._e]),Or=function _checkValidNamespace(o){let s=at(o);s&&s.tagName||(s={namespaceURI:ar,tagName:"template"});const i=U(o.tagName),u=U(s.tagName);return!!lr[o.namespaceURI]&&(o.namespaceURI===sr?s.namespaceURI===ir?"svg"===i:s.namespaceURI===nr?"svg"===i&&("annotation-xml"===u||Er[u]):Boolean(xr[i]):o.namespaceURI===nr?s.namespaceURI===ir?"math"===i:s.namespaceURI===sr?"math"===i&&wr[u]:Boolean(kr[i]):o.namespaceURI===ir?!(s.namespaceURI===sr&&!wr[u])&&!(s.namespaceURI===nr&&!Er[u])&&!kr[i]&&(Sr[i]||!xr[i]):!("application/xhtml+xml"!==pr||!lr[o.namespaceURI]))},Cr=function _forceRemove(o){V(DOMPurify.removed,{element:o});try{o.parentNode.removeChild(o)}catch(s){o.remove()}},Ar=function _removeAttribute(o,s){try{V(DOMPurify.removed,{attribute:s.getAttributeNode(o),from:s})}catch(o){V(DOMPurify.removed,{attribute:null,from:s})}if(s.removeAttribute(o),"is"===o&&!At[o])if(Vt||Ut)try{Cr(s)}catch(o){}else try{s.setAttribute(o,"")}catch(o){}},jr=function _initDocument(o){let s=null,u=null;if($t)o=""+o;else{const s=Y(o,/^[\r\n\t ]+/);u=s&&s[0]}"application/xhtml+xml"===pr&&ar===ir&&(o=''+o+"");const _=ct?ct.createHTML(o):o;if(ar===ir)try{s=(new We).parseFromString(_,pr)}catch(o){}if(!s||!s.documentElement){s=ut.createDocument(ar,"template",null);try{s.documentElement.innerHTML=cr?lt:_}catch(o){}}const w=s.body||s.documentElement;return o&&u&&w.insertBefore(i.createTextNode(u),w.childNodes[0]||null),ar===ir?dt.call(s,Ft?"html":"body")[0]:Ft?s.documentElement:w},Pr=function _createNodeIterator(o){return pt.call(o.ownerDocument||o,o,qe.SHOW_ELEMENT|qe.SHOW_COMMENT|qe.SHOW_TEXT|qe.SHOW_PROCESSING_INSTRUCTION|qe.SHOW_CDATA_SECTION,null)},Ir=function _isClobbered(o){return o instanceof ze&&(void 0!==o.__depth&&"number"!=typeof o.__depth||void 0!==o.__removalCount&&"number"!=typeof o.__removalCount||"string"!=typeof o.nodeName||"string"!=typeof o.textContent||"function"!=typeof o.removeChild||!(o.attributes instanceof $e)||"function"!=typeof o.removeAttribute||"function"!=typeof o.setAttribute||"string"!=typeof o.namespaceURI||"function"!=typeof o.insertBefore||"function"!=typeof o.hasChildNodes)},Mr=function _isNode(o){return"function"==typeof L&&o instanceof L},Nr=function _executeHook(o,s,i){gt[o]&&B(gt[o],(o=>{o.call(DOMPurify,s,i,gr)}))},Tr=function _sanitizeElements(o){let s=null;if(Nr("beforeSanitizeElements",o,null),Ir(o))return Cr(o),!0;const i=mr(o.nodeName);if(Nr("uponSanitizeElement",o,{tagName:i,allowedTags:Ot}),o.hasChildNodes()&&!Mr(o.firstElementChild)&&ce(/<[/\w]/g,o.innerHTML)&&ce(/<[/\w]/g,o.textContent))return Cr(o),!0;if(o.nodeType===rt.progressingInstruction)return Cr(o),!0;if(Bt&&o.nodeType===rt.comment&&ce(/<[/\w]/g,o.data))return Cr(o),!0;if(!Ot[i]||It[i]){if(!It[i]&&Dr(i)){if(Pt.tagNameCheck instanceof RegExp&&ce(Pt.tagNameCheck,i))return!1;if(Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(i))return!1}if(Jt&&!Xt[i]){const s=at(o)||o.parentNode,i=it(o)||o.childNodes;if(i&&s)for(let u=i.length-1;u>=0;--u){const _=et(i[u],!0);_.__removalCount=(o.__removalCount||0)+1,s.insertBefore(_,st(o))}}return Cr(o),!0}return o instanceof Re&&!Or(o)?(Cr(o),!0):"noscript"!==i&&"noembed"!==i&&"noframes"!==i||!ce(/<\/no(script|embed|frames)/i,o.innerHTML)?(Lt&&o.nodeType===rt.text&&(s=o.textContent,B([yt,vt,bt],(o=>{s=Z(s,o," ")})),o.textContent!==s&&(V(DOMPurify.removed,{element:o.cloneNode()}),o.textContent=s)),Nr("afterSanitizeElements",o,null),!1):(Cr(o),!0)},Rr=function _isValidAttribute(o,s,u){if(Wt&&("id"===s||"name"===s)&&(u in i||u in vr||"__depth"===u||"__removalCount"===u))return!1;if(Tt&&!Mt[s]&&ce(_t,s));else if(Nt&&ce(Et,s));else if(!At[s]||Mt[s]){if(!(Dr(o)&&(Pt.tagNameCheck instanceof RegExp&&ce(Pt.tagNameCheck,o)||Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(o))&&(Pt.attributeNameCheck instanceof RegExp&&ce(Pt.attributeNameCheck,s)||Pt.attributeNameCheck instanceof Function&&Pt.attributeNameCheck(s))||"is"===s&&Pt.allowCustomizedBuiltInElements&&(Pt.tagNameCheck instanceof RegExp&&ce(Pt.tagNameCheck,u)||Pt.tagNameCheck instanceof Function&&Pt.tagNameCheck(u))))return!1}else if(tr[s]);else if(ce(kt,Z(u,St,"")));else if("src"!==s&&"xlink:href"!==s&&"href"!==s||"script"===o||0!==ee(u,"data:")||!Zt[o])if(Rt&&!ce(wt,Z(u,St,"")));else if(u)return!1;return!0},Dr=function _isBasicCustomElement(o){return"annotation-xml"!==o&&Y(o,xt)},Lr=function _sanitizeAttributes(o){Nr("beforeSanitizeAttributes",o,null);const{attributes:s}=o;if(!s)return;const i={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:At};let u=s.length;for(;u--;){const _=s[u],{name:w,namespaceURI:x,value:C}=_,j=mr(w);let L="value"===w?C:ie(C);if(i.attrName=j,i.attrValue=L,i.keepAttr=!0,i.forceKeepAttr=void 0,Nr("uponSanitizeAttribute",o,i),L=i.attrValue,i.forceKeepAttr)continue;if(Ar(w,o),!i.keepAttr)continue;if(!Dt&&ce(/\/>/i,L)){Ar(w,o);continue}if(Bt&&ce(/((--!?|])>)|<\/(style|title)/i,L)){Ar(w,o);continue}Lt&&B([yt,vt,bt],(o=>{L=Z(L,o," ")}));const V=mr(o.nodeName);if(Rr(V,j,L)){if(!Kt||"id"!==j&&"name"!==j||(Ar(w,o),L=Ht+L),ct&&"object"==typeof Ye&&"function"==typeof Ye.getAttributeType)if(x);else switch(Ye.getAttributeType(V,j)){case"TrustedHTML":L=ct.createHTML(L);break;case"TrustedScriptURL":L=ct.createScriptURL(L)}try{x?o.setAttributeNS(x,w,L):o.setAttribute(w,L),Ir(o)?Cr(o):$(DOMPurify.removed)}catch(o){}}}Nr("afterSanitizeAttributes",o,null)},Br=function _sanitizeShadowDOM(o){let s=null;const i=Pr(o);for(Nr("beforeSanitizeShadowDOM",o,null);s=i.nextNode();){if(Nr("uponSanitizeShadowNode",s,null),Tr(s))continue;const o=at(s);s.nodeType===rt.element&&(o&&o.__depth?s.__depth=(s.__removalCount||0)+o.__depth+1:s.__depth=1),(s.__depth>=yr||s.__depth<0||numberIsNaN(s.__depth))&&Cr(s),s.content instanceof x&&(s.content.__depth=s.__depth,_sanitizeShadowDOM(s.content)),Lr(s)}Nr("afterSanitizeShadowDOM",o,null)};return DOMPurify.sanitize=function(o){let s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=null,_=null,w=null,C=null;if(cr=!o,cr&&(o="\x3c!--\x3e"),"string"!=typeof o&&!Mr(o)){if("function"!=typeof o.toString)throw le("toString is not a function");if("string"!=typeof(o=o.toString()))throw le("dirty is not a string, aborting")}if(!DOMPurify.isSupported)return o;if(qt||_r(s),DOMPurify.removed=[],"string"==typeof o&&(Gt=!1),Gt){if(o.nodeName){const s=mr(o.nodeName);if(!Ot[s]||It[s])throw le("root node is forbidden and cannot be sanitized in-place")}}else if(o instanceof L)i=jr("\x3c!----\x3e"),_=i.ownerDocument.importNode(o,!0),_.nodeType===rt.element&&"BODY"===_.nodeName||"HTML"===_.nodeName?i=_:i.appendChild(_);else{if(!Vt&&!Lt&&!Ft&&-1===o.indexOf("<"))return ct&&zt?ct.createHTML(o):o;if(i=jr(o),!i)return Vt?null:zt?lt:""}i&&$t&&Cr(i.firstChild);const j=Pr(Gt?o:i);for(;w=j.nextNode();){if(Tr(w))continue;const o=at(w);w.nodeType===rt.element&&(o&&o.__depth?w.__depth=(w.__removalCount||0)+o.__depth+1:w.__depth=1),(w.__depth>=yr||w.__depth<0||numberIsNaN(w.__depth))&&Cr(w),w.content instanceof x&&(w.content.__depth=w.__depth,Br(w.content)),Lr(w)}if(Gt)return o;if(Vt){if(Ut)for(C=ht.call(i.ownerDocument);i.firstChild;)C.appendChild(i.firstChild);else C=i;return(At.shadowroot||At.shadowrootmode)&&(C=mt.call(u,C,!0)),C}let $=Ft?i.outerHTML:i.innerHTML;return Ft&&Ot["!doctype"]&&i.ownerDocument&&i.ownerDocument.doctype&&i.ownerDocument.doctype.name&&ce(Qe,i.ownerDocument.doctype.name)&&($="\n"+$),Lt&&B([yt,vt,bt],(o=>{$=Z($,o," ")})),ct&&zt?ct.createHTML($):$},DOMPurify.setConfig=function(){_r(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}),qt=!0},DOMPurify.clearConfig=function(){gr=null,qt=!1},DOMPurify.isValidAttribute=function(o,s,i){gr||_r({});const u=mr(o),_=mr(s);return Rr(u,_,i)},DOMPurify.addHook=function(o,s){"function"==typeof s&&(gt[o]=gt[o]||[],V(gt[o],s))},DOMPurify.removeHook=function(o){if(gt[o])return $(gt[o])},DOMPurify.removeHooks=function(o){gt[o]&&(gt[o]=[])},DOMPurify.removeAllHooks=function(){gt={}},DOMPurify}return createDOMPurify()}()},78004:o=>{"use strict";class SubRange{constructor(o,s){this.low=o,this.high=s,this.length=1+s-o}overlaps(o){return!(this.higho.high)}touches(o){return!(this.high+1o.high)}add(o){return new SubRange(Math.min(this.low,o.low),Math.max(this.high,o.high))}subtract(o){return o.low<=this.low&&o.high>=this.high?[]:o.low>this.low&&o.higho+s.length),0)}add(o,s){var _add=o=>{for(var s=0;s{for(var s=0;s{for(var s=0;s{for(var i=s.low;i<=s.high;)o.push(i),i++;return o}),[])}subranges(){return this.ranges.map((o=>({low:o.low,high:o.high,length:1+o.high-o.low})))}}o.exports=DRange},30655:(o,s,i)=>{"use strict";var u=i(70453)("%Object.defineProperty%",!0)||!1;if(u)try{u({},"a",{value:1})}catch(o){u=!1}o.exports=u},41237:o=>{"use strict";o.exports=EvalError},69383:o=>{"use strict";o.exports=Error},79290:o=>{"use strict";o.exports=RangeError},79538:o=>{"use strict";o.exports=ReferenceError},58068:o=>{"use strict";o.exports=SyntaxError},69675:o=>{"use strict";o.exports=TypeError},35345:o=>{"use strict";o.exports=URIError},37007:o=>{"use strict";var s,i="object"==typeof Reflect?Reflect:null,u=i&&"function"==typeof i.apply?i.apply:function ReflectApply(o,s,i){return Function.prototype.apply.call(o,s,i)};s=i&&"function"==typeof i.ownKeys?i.ownKeys:Object.getOwnPropertySymbols?function ReflectOwnKeys(o){return Object.getOwnPropertyNames(o).concat(Object.getOwnPropertySymbols(o))}:function ReflectOwnKeys(o){return Object.getOwnPropertyNames(o)};var _=Number.isNaN||function NumberIsNaN(o){return o!=o};function EventEmitter(){EventEmitter.init.call(this)}o.exports=EventEmitter,o.exports.once=function once(o,s){return new Promise((function(i,u){function errorListener(i){o.removeListener(s,resolver),u(i)}function resolver(){"function"==typeof o.removeListener&&o.removeListener("error",errorListener),i([].slice.call(arguments))}eventTargetAgnosticAddListener(o,s,resolver,{once:!0}),"error"!==s&&function addErrorHandlerIfEventEmitter(o,s,i){"function"==typeof o.on&&eventTargetAgnosticAddListener(o,"error",s,i)}(o,errorListener,{once:!0})}))},EventEmitter.EventEmitter=EventEmitter,EventEmitter.prototype._events=void 0,EventEmitter.prototype._eventsCount=0,EventEmitter.prototype._maxListeners=void 0;var w=10;function checkListener(o){if("function"!=typeof o)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof o)}function _getMaxListeners(o){return void 0===o._maxListeners?EventEmitter.defaultMaxListeners:o._maxListeners}function _addListener(o,s,i,u){var _,w,x;if(checkListener(i),void 0===(w=o._events)?(w=o._events=Object.create(null),o._eventsCount=0):(void 0!==w.newListener&&(o.emit("newListener",s,i.listener?i.listener:i),w=o._events),x=w[s]),void 0===x)x=w[s]=i,++o._eventsCount;else if("function"==typeof x?x=w[s]=u?[i,x]:[x,i]:u?x.unshift(i):x.push(i),(_=_getMaxListeners(o))>0&&x.length>_&&!x.warned){x.warned=!0;var C=new Error("Possible EventEmitter memory leak detected. "+x.length+" "+String(s)+" listeners added. Use emitter.setMaxListeners() to increase limit");C.name="MaxListenersExceededWarning",C.emitter=o,C.type=s,C.count=x.length,function ProcessEmitWarning(o){console&&console.warn&&console.warn(o)}(C)}return o}function onceWrapper(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function _onceWrap(o,s,i){var u={fired:!1,wrapFn:void 0,target:o,type:s,listener:i},_=onceWrapper.bind(u);return _.listener=i,u.wrapFn=_,_}function _listeners(o,s,i){var u=o._events;if(void 0===u)return[];var _=u[s];return void 0===_?[]:"function"==typeof _?i?[_.listener||_]:[_]:i?function unwrapListeners(o){for(var s=new Array(o.length),i=0;i0&&(x=s[0]),x instanceof Error)throw x;var C=new Error("Unhandled error."+(x?" ("+x.message+")":""));throw C.context=x,C}var j=w[o];if(void 0===j)return!1;if("function"==typeof j)u(j,this,s);else{var L=j.length,B=arrayClone(j,L);for(i=0;i=0;w--)if(i[w]===s||i[w].listener===s){x=i[w].listener,_=w;break}if(_<0)return this;0===_?i.shift():function spliceOne(o,s){for(;s+1=0;u--)this.removeListener(o,s[u]);return this},EventEmitter.prototype.listeners=function listeners(o){return _listeners(this,o,!0)},EventEmitter.prototype.rawListeners=function rawListeners(o){return _listeners(this,o,!1)},EventEmitter.listenerCount=function(o,s){return"function"==typeof o.listenerCount?o.listenerCount(s):listenerCount.call(o,s)},EventEmitter.prototype.listenerCount=listenerCount,EventEmitter.prototype.eventNames=function eventNames(){return this._eventsCount>0?s(this._events):[]}},85587:(o,s,i)=>{"use strict";var u=i(26311),_=create(Error);function create(o){return FormattedError.displayName=o.displayName||o.name,FormattedError;function FormattedError(s){return s&&(s=u.apply(null,arguments)),new o(s)}}o.exports=_,_.eval=create(EvalError),_.range=create(RangeError),_.reference=create(ReferenceError),_.syntax=create(SyntaxError),_.type=create(TypeError),_.uri=create(URIError),_.create=create},26311:o=>{!function(){var s;function format(o){for(var s,i,u,_,w=1,x=[].slice.call(arguments),C=0,j=o.length,L="",B=!1,$=!1,nextArg=function(){return x[w++]},slurpNumber=function(){for(var i="";/\d/.test(o[C]);)i+=o[C++],s=o[C];return i.length>0?parseInt(i):null};C{"use strict";var s=Object.prototype.toString,i=Math.max,u=function concatty(o,s){for(var i=[],u=0;u{"use strict";var u=i(89353);o.exports=Function.prototype.bind||u},70453:(o,s,i)=>{"use strict";var u,_=i(69383),w=i(41237),x=i(79290),C=i(79538),j=i(58068),L=i(69675),B=i(35345),$=Function,getEvalledConstructor=function(o){try{return $('"use strict"; return ('+o+").constructor;")()}catch(o){}},V=Object.getOwnPropertyDescriptor;if(V)try{V({},"")}catch(o){V=null}var throwTypeError=function(){throw new L},U=V?function(){try{return throwTypeError}catch(o){try{return V(arguments,"callee").get}catch(o){return throwTypeError}}}():throwTypeError,z=i(64039)(),Y=i(80024)(),Z=Object.getPrototypeOf||(Y?function(o){return o.__proto__}:null),ee={},ie="undefined"!=typeof Uint8Array&&Z?Z(Uint8Array):u,ae={__proto__:null,"%AggregateError%":"undefined"==typeof AggregateError?u:AggregateError,"%Array%":Array,"%ArrayBuffer%":"undefined"==typeof ArrayBuffer?u:ArrayBuffer,"%ArrayIteratorPrototype%":z&&Z?Z([][Symbol.iterator]()):u,"%AsyncFromSyncIteratorPrototype%":u,"%AsyncFunction%":ee,"%AsyncGenerator%":ee,"%AsyncGeneratorFunction%":ee,"%AsyncIteratorPrototype%":ee,"%Atomics%":"undefined"==typeof Atomics?u:Atomics,"%BigInt%":"undefined"==typeof BigInt?u:BigInt,"%BigInt64Array%":"undefined"==typeof BigInt64Array?u:BigInt64Array,"%BigUint64Array%":"undefined"==typeof BigUint64Array?u:BigUint64Array,"%Boolean%":Boolean,"%DataView%":"undefined"==typeof DataView?u:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":_,"%eval%":eval,"%EvalError%":w,"%Float32Array%":"undefined"==typeof Float32Array?u:Float32Array,"%Float64Array%":"undefined"==typeof Float64Array?u:Float64Array,"%FinalizationRegistry%":"undefined"==typeof FinalizationRegistry?u:FinalizationRegistry,"%Function%":$,"%GeneratorFunction%":ee,"%Int8Array%":"undefined"==typeof Int8Array?u:Int8Array,"%Int16Array%":"undefined"==typeof Int16Array?u:Int16Array,"%Int32Array%":"undefined"==typeof Int32Array?u:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":z&&Z?Z(Z([][Symbol.iterator]())):u,"%JSON%":"object"==typeof JSON?JSON:u,"%Map%":"undefined"==typeof Map?u:Map,"%MapIteratorPrototype%":"undefined"!=typeof Map&&z&&Z?Z((new Map)[Symbol.iterator]()):u,"%Math%":Math,"%Number%":Number,"%Object%":Object,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":"undefined"==typeof Promise?u:Promise,"%Proxy%":"undefined"==typeof Proxy?u:Proxy,"%RangeError%":x,"%ReferenceError%":C,"%Reflect%":"undefined"==typeof Reflect?u:Reflect,"%RegExp%":RegExp,"%Set%":"undefined"==typeof Set?u:Set,"%SetIteratorPrototype%":"undefined"!=typeof Set&&z&&Z?Z((new Set)[Symbol.iterator]()):u,"%SharedArrayBuffer%":"undefined"==typeof SharedArrayBuffer?u:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":z&&Z?Z(""[Symbol.iterator]()):u,"%Symbol%":z?Symbol:u,"%SyntaxError%":j,"%ThrowTypeError%":U,"%TypedArray%":ie,"%TypeError%":L,"%Uint8Array%":"undefined"==typeof Uint8Array?u:Uint8Array,"%Uint8ClampedArray%":"undefined"==typeof Uint8ClampedArray?u:Uint8ClampedArray,"%Uint16Array%":"undefined"==typeof Uint16Array?u:Uint16Array,"%Uint32Array%":"undefined"==typeof Uint32Array?u:Uint32Array,"%URIError%":B,"%WeakMap%":"undefined"==typeof WeakMap?u:WeakMap,"%WeakRef%":"undefined"==typeof WeakRef?u:WeakRef,"%WeakSet%":"undefined"==typeof WeakSet?u:WeakSet};if(Z)try{null.error}catch(o){var ce=Z(Z(o));ae["%Error.prototype%"]=ce}var le=function doEval(o){var s;if("%AsyncFunction%"===o)s=getEvalledConstructor("async function () {}");else if("%GeneratorFunction%"===o)s=getEvalledConstructor("function* () {}");else if("%AsyncGeneratorFunction%"===o)s=getEvalledConstructor("async function* () {}");else if("%AsyncGenerator%"===o){var i=doEval("%AsyncGeneratorFunction%");i&&(s=i.prototype)}else if("%AsyncIteratorPrototype%"===o){var u=doEval("%AsyncGenerator%");u&&Z&&(s=Z(u.prototype))}return ae[o]=s,s},pe={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},de=i(66743),fe=i(9957),ye=de.call(Function.call,Array.prototype.concat),be=de.call(Function.apply,Array.prototype.splice),_e=de.call(Function.call,String.prototype.replace),we=de.call(Function.call,String.prototype.slice),Se=de.call(Function.call,RegExp.prototype.exec),xe=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,Pe=/\\(\\)?/g,Te=function getBaseIntrinsic(o,s){var i,u=o;if(fe(pe,u)&&(u="%"+(i=pe[u])[0]+"%"),fe(ae,u)){var _=ae[u];if(_===ee&&(_=le(u)),void 0===_&&!s)throw new L("intrinsic "+o+" exists, but is not available. Please file an issue!");return{alias:i,name:u,value:_}}throw new j("intrinsic "+o+" does not exist!")};o.exports=function GetIntrinsic(o,s){if("string"!=typeof o||0===o.length)throw new L("intrinsic name must be a non-empty string");if(arguments.length>1&&"boolean"!=typeof s)throw new L('"allowMissing" argument must be a boolean');if(null===Se(/^%?[^%]*%?$/,o))throw new j("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=function stringToPath(o){var s=we(o,0,1),i=we(o,-1);if("%"===s&&"%"!==i)throw new j("invalid intrinsic syntax, expected closing `%`");if("%"===i&&"%"!==s)throw new j("invalid intrinsic syntax, expected opening `%`");var u=[];return _e(o,xe,(function(o,s,i,_){u[u.length]=i?_e(_,Pe,"$1"):s||o})),u}(o),u=i.length>0?i[0]:"",_=Te("%"+u+"%",s),w=_.name,x=_.value,C=!1,B=_.alias;B&&(u=B[0],be(i,ye([0,1],B)));for(var $=1,U=!0;$=i.length){var ee=V(x,z);x=(U=!!ee)&&"get"in ee&&!("originalValue"in ee.get)?ee.get:x[z]}else U=fe(x,z),x=x[z];U&&!C&&(ae[w]=x)}}return x}},75795:(o,s,i)=>{"use strict";var u=i(70453)("%Object.getOwnPropertyDescriptor%",!0);if(u)try{u([],"length")}catch(o){u=null}o.exports=u},30592:(o,s,i)=>{"use strict";var u=i(30655),_=function hasPropertyDescriptors(){return!!u};_.hasArrayLengthDefineBug=function hasArrayLengthDefineBug(){if(!u)return null;try{return 1!==u([],"length",{value:1}).length}catch(o){return!0}},o.exports=_},80024:o=>{"use strict";var s={__proto__:null,foo:{}},i=Object;o.exports=function hasProto(){return{__proto__:s}.foo===s.foo&&!(s instanceof i)}},64039:(o,s,i)=>{"use strict";var u="undefined"!=typeof Symbol&&Symbol,_=i(41333);o.exports=function hasNativeSymbols(){return"function"==typeof u&&("function"==typeof Symbol&&("symbol"==typeof u("foo")&&("symbol"==typeof Symbol("bar")&&_())))}},41333:o=>{"use strict";o.exports=function hasSymbols(){if("function"!=typeof Symbol||"function"!=typeof Object.getOwnPropertySymbols)return!1;if("symbol"==typeof Symbol.iterator)return!0;var o={},s=Symbol("test"),i=Object(s);if("string"==typeof s)return!1;if("[object Symbol]"!==Object.prototype.toString.call(s))return!1;if("[object Symbol]"!==Object.prototype.toString.call(i))return!1;for(s in o[s]=42,o)return!1;if("function"==typeof Object.keys&&0!==Object.keys(o).length)return!1;if("function"==typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(o).length)return!1;var u=Object.getOwnPropertySymbols(o);if(1!==u.length||u[0]!==s)return!1;if(!Object.prototype.propertyIsEnumerable.call(o,s))return!1;if("function"==typeof Object.getOwnPropertyDescriptor){var _=Object.getOwnPropertyDescriptor(o,s);if(42!==_.value||!0!==_.enumerable)return!1}return!0}},9957:(o,s,i)=>{"use strict";var u=Function.prototype.call,_=Object.prototype.hasOwnProperty,w=i(66743);o.exports=w.call(u,_)},45981:o=>{function deepFreeze(o){return o instanceof Map?o.clear=o.delete=o.set=function(){throw new Error("map is read-only")}:o instanceof Set&&(o.add=o.clear=o.delete=function(){throw new Error("set is read-only")}),Object.freeze(o),Object.getOwnPropertyNames(o).forEach((function(s){var i=o[s];"object"!=typeof i||Object.isFrozen(i)||deepFreeze(i)})),o}var s=deepFreeze,i=deepFreeze;s.default=i;class Response{constructor(o){void 0===o.data&&(o.data={}),this.data=o.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function escapeHTML(o){return o.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function inherit(o,...s){const i=Object.create(null);for(const s in o)i[s]=o[s];return s.forEach((function(o){for(const s in o)i[s]=o[s]})),i}const emitsWrappingTags=o=>!!o.kind;class HTMLRenderer{constructor(o,s){this.buffer="",this.classPrefix=s.classPrefix,o.walk(this)}addText(o){this.buffer+=escapeHTML(o)}openNode(o){if(!emitsWrappingTags(o))return;let s=o.kind;o.sublanguage||(s=`${this.classPrefix}${s}`),this.span(s)}closeNode(o){emitsWrappingTags(o)&&(this.buffer+="")}value(){return this.buffer}span(o){this.buffer+=``}}class TokenTree{constructor(){this.rootNode={children:[]},this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(o){this.top.children.push(o)}openNode(o){const s={kind:o,children:[]};this.add(s),this.stack.push(s)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(o){return this.constructor._walk(o,this.rootNode)}static _walk(o,s){return"string"==typeof s?o.addText(s):s.children&&(o.openNode(s),s.children.forEach((s=>this._walk(o,s))),o.closeNode(s)),o}static _collapse(o){"string"!=typeof o&&o.children&&(o.children.every((o=>"string"==typeof o))?o.children=[o.children.join("")]:o.children.forEach((o=>{TokenTree._collapse(o)})))}}class TokenTreeEmitter extends TokenTree{constructor(o){super(),this.options=o}addKeyword(o,s){""!==o&&(this.openNode(s),this.addText(o),this.closeNode())}addText(o){""!==o&&this.add(o)}addSublanguage(o,s){const i=o.root;i.kind=s,i.sublanguage=!0,this.add(i)}toHTML(){return new HTMLRenderer(this,this.options).value()}finalize(){return!0}}function source(o){return o?"string"==typeof o?o:o.source:null}const u=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;const _="[a-zA-Z]\\w*",w="[a-zA-Z_]\\w*",x="\\b\\d+(\\.\\d+)?",C="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",j="\\b(0b[01]+)",L={begin:"\\\\[\\s\\S]",relevance:0},B={className:"string",begin:"'",end:"'",illegal:"\\n",contains:[L]},$={className:"string",begin:'"',end:'"',illegal:"\\n",contains:[L]},V={begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},COMMENT=function(o,s,i={}){const u=inherit({className:"comment",begin:o,end:s,contains:[]},i);return u.contains.push(V),u.contains.push({className:"doctag",begin:"(?:TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):",relevance:0}),u},U=COMMENT("//","$"),z=COMMENT("/\\*","\\*/"),Y=COMMENT("#","$"),Z={className:"number",begin:x,relevance:0},ee={className:"number",begin:C,relevance:0},ie={className:"number",begin:j,relevance:0},ae={className:"number",begin:x+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},ce={begin:/(?=\/[^/\n]*\/)/,contains:[{className:"regexp",begin:/\//,end:/\/[gimuy]*/,illegal:/\n/,contains:[L,{begin:/\[/,end:/\]/,relevance:0,contains:[L]}]}]},le={className:"title",begin:_,relevance:0},pe={className:"title",begin:w,relevance:0},de={begin:"\\.\\s*"+w,relevance:0};var fe=Object.freeze({__proto__:null,MATCH_NOTHING_RE:/\b\B/,IDENT_RE:_,UNDERSCORE_IDENT_RE:w,NUMBER_RE:x,C_NUMBER_RE:C,BINARY_NUMBER_RE:j,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(o={})=>{const s=/^#![ ]*\//;return o.binary&&(o.begin=function concat(...o){return o.map((o=>source(o))).join("")}(s,/.*\b/,o.binary,/\b.*/)),inherit({className:"meta",begin:s,end:/$/,relevance:0,"on:begin":(o,s)=>{0!==o.index&&s.ignoreMatch()}},o)},BACKSLASH_ESCAPE:L,APOS_STRING_MODE:B,QUOTE_STRING_MODE:$,PHRASAL_WORDS_MODE:V,COMMENT,C_LINE_COMMENT_MODE:U,C_BLOCK_COMMENT_MODE:z,HASH_COMMENT_MODE:Y,NUMBER_MODE:Z,C_NUMBER_MODE:ee,BINARY_NUMBER_MODE:ie,CSS_NUMBER_MODE:ae,REGEXP_MODE:ce,TITLE_MODE:le,UNDERSCORE_TITLE_MODE:pe,METHOD_GUARD:de,END_SAME_AS_BEGIN:function(o){return Object.assign(o,{"on:begin":(o,s)=>{s.data._beginMatch=o[1]},"on:end":(o,s)=>{s.data._beginMatch!==o[1]&&s.ignoreMatch()}})}});function skipIfhasPrecedingDot(o,s){"."===o.input[o.index-1]&&s.ignoreMatch()}function beginKeywords(o,s){s&&o.beginKeywords&&(o.begin="\\b("+o.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",o.__beforeBegin=skipIfhasPrecedingDot,o.keywords=o.keywords||o.beginKeywords,delete o.beginKeywords,void 0===o.relevance&&(o.relevance=0))}function compileIllegal(o,s){Array.isArray(o.illegal)&&(o.illegal=function either(...o){return"("+o.map((o=>source(o))).join("|")+")"}(...o.illegal))}function compileMatch(o,s){if(o.match){if(o.begin||o.end)throw new Error("begin & end are not supported with match");o.begin=o.match,delete o.match}}function compileRelevance(o,s){void 0===o.relevance&&(o.relevance=1)}const ye=["of","and","for","in","not","or","if","then","parent","list","value"],be="keyword";function compileKeywords(o,s,i=be){const u={};return"string"==typeof o?compileList(i,o.split(" ")):Array.isArray(o)?compileList(i,o):Object.keys(o).forEach((function(i){Object.assign(u,compileKeywords(o[i],s,i))})),u;function compileList(o,i){s&&(i=i.map((o=>o.toLowerCase()))),i.forEach((function(s){const i=s.split("|");u[i[0]]=[o,scoreForKeyword(i[0],i[1])]}))}}function scoreForKeyword(o,s){return s?Number(s):function commonKeyword(o){return ye.includes(o.toLowerCase())}(o)?0:1}function compileLanguage(o,{plugins:s}){function langRe(s,i){return new RegExp(source(s),"m"+(o.case_insensitive?"i":"")+(i?"g":""))}class MultiRegex{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(o,s){s.position=this.position++,this.matchIndexes[this.matchAt]=s,this.regexes.push([s,o]),this.matchAt+=function countMatchGroups(o){return new RegExp(o.toString()+"|").exec("").length-1}(o)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const o=this.regexes.map((o=>o[1]));this.matcherRe=langRe(function join(o,s="|"){let i=0;return o.map((o=>{i+=1;const s=i;let _=source(o),w="";for(;_.length>0;){const o=u.exec(_);if(!o){w+=_;break}w+=_.substring(0,o.index),_=_.substring(o.index+o[0].length),"\\"===o[0][0]&&o[1]?w+="\\"+String(Number(o[1])+s):(w+=o[0],"("===o[0]&&i++)}return w})).map((o=>`(${o})`)).join(s)}(o),!0),this.lastIndex=0}exec(o){this.matcherRe.lastIndex=this.lastIndex;const s=this.matcherRe.exec(o);if(!s)return null;const i=s.findIndex(((o,s)=>s>0&&void 0!==o)),u=this.matchIndexes[i];return s.splice(0,i),Object.assign(s,u)}}class ResumableMultiRegex{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(o){if(this.multiRegexes[o])return this.multiRegexes[o];const s=new MultiRegex;return this.rules.slice(o).forEach((([o,i])=>s.addRule(o,i))),s.compile(),this.multiRegexes[o]=s,s}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(o,s){this.rules.push([o,s]),"begin"===s.type&&this.count++}exec(o){const s=this.getMatcher(this.regexIndex);s.lastIndex=this.lastIndex;let i=s.exec(o);if(this.resumingScanAtSamePosition())if(i&&i.index===this.lastIndex);else{const s=this.getMatcher(0);s.lastIndex=this.lastIndex+1,i=s.exec(o)}return i&&(this.regexIndex+=i.position+1,this.regexIndex===this.count&&this.considerAll()),i}}if(o.compilerExtensions||(o.compilerExtensions=[]),o.contains&&o.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return o.classNameAliases=inherit(o.classNameAliases||{}),function compileMode(s,i){const u=s;if(s.isCompiled)return u;[compileMatch].forEach((o=>o(s,i))),o.compilerExtensions.forEach((o=>o(s,i))),s.__beforeBegin=null,[beginKeywords,compileIllegal,compileRelevance].forEach((o=>o(s,i))),s.isCompiled=!0;let _=null;if("object"==typeof s.keywords&&(_=s.keywords.$pattern,delete s.keywords.$pattern),s.keywords&&(s.keywords=compileKeywords(s.keywords,o.case_insensitive)),s.lexemes&&_)throw new Error("ERR: Prefer `keywords.$pattern` to `mode.lexemes`, BOTH are not allowed. (see mode reference) ");return _=_||s.lexemes||/\w+/,u.keywordPatternRe=langRe(_,!0),i&&(s.begin||(s.begin=/\B|\b/),u.beginRe=langRe(s.begin),s.endSameAsBegin&&(s.end=s.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(u.endRe=langRe(s.end)),u.terminatorEnd=source(s.end)||"",s.endsWithParent&&i.terminatorEnd&&(u.terminatorEnd+=(s.end?"|":"")+i.terminatorEnd)),s.illegal&&(u.illegalRe=langRe(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map((function(o){return function expandOrCloneMode(o){o.variants&&!o.cachedVariants&&(o.cachedVariants=o.variants.map((function(s){return inherit(o,{variants:null},s)})));if(o.cachedVariants)return o.cachedVariants;if(dependencyOnParent(o))return inherit(o,{starts:o.starts?inherit(o.starts):null});if(Object.isFrozen(o))return inherit(o);return o}("self"===o?s:o)}))),s.contains.forEach((function(o){compileMode(o,u)})),s.starts&&compileMode(s.starts,i),u.matcher=function buildModeRegex(o){const s=new ResumableMultiRegex;return o.contains.forEach((o=>s.addRule(o.begin,{rule:o,type:"begin"}))),o.terminatorEnd&&s.addRule(o.terminatorEnd,{type:"end"}),o.illegal&&s.addRule(o.illegal,{type:"illegal"}),s}(u),u}(o)}function dependencyOnParent(o){return!!o&&(o.endsWithParent||dependencyOnParent(o.starts))}function BuildVuePlugin(o){const s={props:["language","code","autodetect"],data:function(){return{detectedLanguage:"",unknownLanguage:!1}},computed:{className(){return this.unknownLanguage?"":"hljs "+this.detectedLanguage},highlighted(){if(!this.autoDetect&&!o.getLanguage(this.language))return console.warn(`The language "${this.language}" you specified could not be found.`),this.unknownLanguage=!0,escapeHTML(this.code);let s={};return this.autoDetect?(s=o.highlightAuto(this.code),this.detectedLanguage=s.language):(s=o.highlight(this.language,this.code,this.ignoreIllegals),this.detectedLanguage=this.language),s.value},autoDetect(){return!this.language||function hasValueOrEmptyAttribute(o){return Boolean(o||""===o)}(this.autodetect)},ignoreIllegals:()=>!0},render(o){return o("pre",{},[o("code",{class:this.className,domProps:{innerHTML:this.highlighted}})])}};return{Component:s,VuePlugin:{install(o){o.component("highlightjs",s)}}}}const _e={"after:highlightElement":({el:o,result:s,text:i})=>{const u=nodeStream(o);if(!u.length)return;const _=document.createElement("div");_.innerHTML=s.value,s.value=function mergeStreams(o,s,i){let u=0,_="";const w=[];function selectStream(){return o.length&&s.length?o[0].offset!==s[0].offset?o[0].offset"}function close(o){_+=""}function render(o){("start"===o.event?open:close)(o.node)}for(;o.length||s.length;){let s=selectStream();if(_+=escapeHTML(i.substring(u,s[0].offset)),u=s[0].offset,s===o){w.reverse().forEach(close);do{render(s.splice(0,1)[0]),s=selectStream()}while(s===o&&s.length&&s[0].offset===u);w.reverse().forEach(open)}else"start"===s[0].event?w.push(s[0].node):w.pop(),render(s.splice(0,1)[0])}return _+escapeHTML(i.substr(u))}(u,nodeStream(_),i)}};function tag(o){return o.nodeName.toLowerCase()}function nodeStream(o){const s=[];return function _nodeStream(o,i){for(let u=o.firstChild;u;u=u.nextSibling)3===u.nodeType?i+=u.nodeValue.length:1===u.nodeType&&(s.push({event:"start",offset:i,node:u}),i=_nodeStream(u,i),tag(u).match(/br|hr|img|input/)||s.push({event:"stop",offset:i,node:u}));return i}(o,0),s}const we={},error=o=>{console.error(o)},warn=(o,...s)=>{console.log(`WARN: ${o}`,...s)},deprecated=(o,s)=>{we[`${o}/${s}`]||(console.log(`Deprecated as of ${o}. ${s}`),we[`${o}/${s}`]=!0)},Se=escapeHTML,xe=inherit,Pe=Symbol("nomatch");var Te=function(o){const i=Object.create(null),u=Object.create(null),_=[];let w=!0;const x=/(^(<[^>]+>|\t|)+|\n)/gm,C="Could not find the language '{}', did you forget to load/include a language module?",j={disableAutodetect:!0,name:"Plain text",contains:[]};let L={noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:null,__emitter:TokenTreeEmitter};function shouldNotHighlight(o){return L.noHighlightRe.test(o)}function highlight(o,s,i,u){let _="",w="";"object"==typeof s?(_=o,i=s.ignoreIllegals,w=s.language,u=void 0):(deprecated("10.7.0","highlight(lang, code, ...args) has been deprecated."),deprecated("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),w=o,_=s);const x={code:_,language:w};fire("before:highlight",x);const C=x.result?x.result:_highlight(x.language,x.code,i,u);return C.code=x.code,fire("after:highlight",C),C}function _highlight(o,s,u,x){function keywordData(o,s){const i=B.case_insensitive?s[0].toLowerCase():s[0];return Object.prototype.hasOwnProperty.call(o.keywords,i)&&o.keywords[i]}function processBuffer(){null!=U.subLanguage?function processSubLanguage(){if(""===Z)return;let o=null;if("string"==typeof U.subLanguage){if(!i[U.subLanguage])return void Y.addText(Z);o=_highlight(U.subLanguage,Z,!0,z[U.subLanguage]),z[U.subLanguage]=o.top}else o=highlightAuto(Z,U.subLanguage.length?U.subLanguage:null);U.relevance>0&&(ee+=o.relevance),Y.addSublanguage(o.emitter,o.language)}():function processKeywords(){if(!U.keywords)return void Y.addText(Z);let o=0;U.keywordPatternRe.lastIndex=0;let s=U.keywordPatternRe.exec(Z),i="";for(;s;){i+=Z.substring(o,s.index);const u=keywordData(U,s);if(u){const[o,_]=u;if(Y.addText(i),i="",ee+=_,o.startsWith("_"))i+=s[0];else{const i=B.classNameAliases[o]||o;Y.addKeyword(s[0],i)}}else i+=s[0];o=U.keywordPatternRe.lastIndex,s=U.keywordPatternRe.exec(Z)}i+=Z.substr(o),Y.addText(i)}(),Z=""}function startNewMode(o){return o.className&&Y.openNode(B.classNameAliases[o.className]||o.className),U=Object.create(o,{parent:{value:U}}),U}function endOfMode(o,s,i){let u=function startsWith(o,s){const i=o&&o.exec(s);return i&&0===i.index}(o.endRe,i);if(u){if(o["on:end"]){const i=new Response(o);o["on:end"](s,i),i.isMatchIgnored&&(u=!1)}if(u){for(;o.endsParent&&o.parent;)o=o.parent;return o}}if(o.endsWithParent)return endOfMode(o.parent,s,i)}function doIgnore(o){return 0===U.matcher.regexIndex?(Z+=o[0],1):(ce=!0,0)}function doBeginMatch(o){const s=o[0],i=o.rule,u=new Response(i),_=[i.__beforeBegin,i["on:begin"]];for(const i of _)if(i&&(i(o,u),u.isMatchIgnored))return doIgnore(s);return i&&i.endSameAsBegin&&(i.endRe=function escape(o){return new RegExp(o.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&"),"m")}(s)),i.skip?Z+=s:(i.excludeBegin&&(Z+=s),processBuffer(),i.returnBegin||i.excludeBegin||(Z=s)),startNewMode(i),i.returnBegin?0:s.length}function doEndMatch(o){const i=o[0],u=s.substr(o.index),_=endOfMode(U,o,u);if(!_)return Pe;const w=U;w.skip?Z+=i:(w.returnEnd||w.excludeEnd||(Z+=i),processBuffer(),w.excludeEnd&&(Z=i));do{U.className&&Y.closeNode(),U.skip||U.subLanguage||(ee+=U.relevance),U=U.parent}while(U!==_.parent);return _.starts&&(_.endSameAsBegin&&(_.starts.endRe=_.endRe),startNewMode(_.starts)),w.returnEnd?0:i.length}let j={};function processLexeme(i,_){const x=_&&_[0];if(Z+=i,null==x)return processBuffer(),0;if("begin"===j.type&&"end"===_.type&&j.index===_.index&&""===x){if(Z+=s.slice(_.index,_.index+1),!w){const s=new Error("0 width match regex");throw s.languageName=o,s.badRule=j.rule,s}return 1}if(j=_,"begin"===_.type)return doBeginMatch(_);if("illegal"===_.type&&!u){const o=new Error('Illegal lexeme "'+x+'" for mode "'+(U.className||"")+'"');throw o.mode=U,o}if("end"===_.type){const o=doEndMatch(_);if(o!==Pe)return o}if("illegal"===_.type&&""===x)return 1;if(ae>1e5&&ae>3*_.index){throw new Error("potential infinite loop, way more iterations than matches")}return Z+=x,x.length}const B=getLanguage(o);if(!B)throw error(C.replace("{}",o)),new Error('Unknown language: "'+o+'"');const $=compileLanguage(B,{plugins:_});let V="",U=x||$;const z={},Y=new L.__emitter(L);!function processContinuations(){const o=[];for(let s=U;s!==B;s=s.parent)s.className&&o.unshift(s.className);o.forEach((o=>Y.openNode(o)))}();let Z="",ee=0,ie=0,ae=0,ce=!1;try{for(U.matcher.considerAll();;){ae++,ce?ce=!1:U.matcher.considerAll(),U.matcher.lastIndex=ie;const o=U.matcher.exec(s);if(!o)break;const i=processLexeme(s.substring(ie,o.index),o);ie=o.index+i}return processLexeme(s.substr(ie)),Y.closeAllNodes(),Y.finalize(),V=Y.toHTML(),{relevance:Math.floor(ee),value:V,language:o,illegal:!1,emitter:Y,top:U}}catch(i){if(i.message&&i.message.includes("Illegal"))return{illegal:!0,illegalBy:{msg:i.message,context:s.slice(ie-100,ie+100),mode:i.mode},sofar:V,relevance:0,value:Se(s),emitter:Y};if(w)return{illegal:!1,relevance:0,value:Se(s),emitter:Y,language:o,top:U,errorRaised:i};throw i}}function highlightAuto(o,s){s=s||L.languages||Object.keys(i);const u=function justTextHighlightResult(o){const s={relevance:0,emitter:new L.__emitter(L),value:Se(o),illegal:!1,top:j};return s.emitter.addText(o),s}(o),_=s.filter(getLanguage).filter(autoDetection).map((s=>_highlight(s,o,!1)));_.unshift(u);const w=_.sort(((o,s)=>{if(o.relevance!==s.relevance)return s.relevance-o.relevance;if(o.language&&s.language){if(getLanguage(o.language).supersetOf===s.language)return 1;if(getLanguage(s.language).supersetOf===o.language)return-1}return 0})),[x,C]=w,B=x;return B.second_best=C,B}const B={"before:highlightElement":({el:o})=>{L.useBR&&(o.innerHTML=o.innerHTML.replace(/\n/g,"").replace(//g,"\n"))},"after:highlightElement":({result:o})=>{L.useBR&&(o.value=o.value.replace(/\n/g,"
    "))}},$=/^(<[^>]+>|\t)+/gm,V={"after:highlightElement":({result:o})=>{L.tabReplace&&(o.value=o.value.replace($,(o=>o.replace(/\t/g,L.tabReplace))))}};function highlightElement(o){let s=null;const i=function blockLanguage(o){let s=o.className+" ";s+=o.parentNode?o.parentNode.className:"";const i=L.languageDetectRe.exec(s);if(i){const s=getLanguage(i[1]);return s||(warn(C.replace("{}",i[1])),warn("Falling back to no-highlight mode for this block.",o)),s?i[1]:"no-highlight"}return s.split(/\s+/).find((o=>shouldNotHighlight(o)||getLanguage(o)))}(o);if(shouldNotHighlight(i))return;fire("before:highlightElement",{el:o,language:i}),s=o;const _=s.textContent,w=i?highlight(_,{language:i,ignoreIllegals:!0}):highlightAuto(_);fire("after:highlightElement",{el:o,result:w,text:_}),o.innerHTML=w.value,function updateClassName(o,s,i){const _=s?u[s]:i;o.classList.add("hljs"),_&&o.classList.add(_)}(o,i,w.language),o.result={language:w.language,re:w.relevance,relavance:w.relevance},w.second_best&&(o.second_best={language:w.second_best.language,re:w.second_best.relevance,relavance:w.second_best.relevance})}const initHighlighting=()=>{if(initHighlighting.called)return;initHighlighting.called=!0,deprecated("10.6.0","initHighlighting() is deprecated. Use highlightAll() instead.");document.querySelectorAll("pre code").forEach(highlightElement)};let U=!1;function highlightAll(){if("loading"===document.readyState)return void(U=!0);document.querySelectorAll("pre code").forEach(highlightElement)}function getLanguage(o){return o=(o||"").toLowerCase(),i[o]||i[u[o]]}function registerAliases(o,{languageName:s}){"string"==typeof o&&(o=[o]),o.forEach((o=>{u[o.toLowerCase()]=s}))}function autoDetection(o){const s=getLanguage(o);return s&&!s.disableAutodetect}function fire(o,s){const i=o;_.forEach((function(o){o[i]&&o[i](s)}))}"undefined"!=typeof window&&window.addEventListener&&window.addEventListener("DOMContentLoaded",(function boot(){U&&highlightAll()}),!1),Object.assign(o,{highlight,highlightAuto,highlightAll,fixMarkup:function deprecateFixMarkup(o){return deprecated("10.2.0","fixMarkup will be removed entirely in v11.0"),deprecated("10.2.0","Please see https://github.com/highlightjs/highlight.js/issues/2534"),function fixMarkup(o){return L.tabReplace||L.useBR?o.replace(x,(o=>"\n"===o?L.useBR?"
    ":o:L.tabReplace?o.replace(/\t/g,L.tabReplace):o)):o}(o)},highlightElement,highlightBlock:function deprecateHighlightBlock(o){return deprecated("10.7.0","highlightBlock will be removed entirely in v12.0"),deprecated("10.7.0","Please use highlightElement now."),highlightElement(o)},configure:function configure(o){o.useBR&&(deprecated("10.3.0","'useBR' will be removed entirely in v11.0"),deprecated("10.3.0","Please see https://github.com/highlightjs/highlight.js/issues/2559")),L=xe(L,o)},initHighlighting,initHighlightingOnLoad:function initHighlightingOnLoad(){deprecated("10.6.0","initHighlightingOnLoad() is deprecated. Use highlightAll() instead."),U=!0},registerLanguage:function registerLanguage(s,u){let _=null;try{_=u(o)}catch(o){if(error("Language definition for '{}' could not be registered.".replace("{}",s)),!w)throw o;error(o),_=j}_.name||(_.name=s),i[s]=_,_.rawDefinition=u.bind(null,o),_.aliases&®isterAliases(_.aliases,{languageName:s})},unregisterLanguage:function unregisterLanguage(o){delete i[o];for(const s of Object.keys(u))u[s]===o&&delete u[s]},listLanguages:function listLanguages(){return Object.keys(i)},getLanguage,registerAliases,requireLanguage:function requireLanguage(o){deprecated("10.4.0","requireLanguage will be removed entirely in v11."),deprecated("10.4.0","Please see https://github.com/highlightjs/highlight.js/pull/2844");const s=getLanguage(o);if(s)return s;throw new Error("The '{}' language is required, but not loaded.".replace("{}",o))},autoDetection,inherit:xe,addPlugin:function addPlugin(o){!function upgradePluginAPI(o){o["before:highlightBlock"]&&!o["before:highlightElement"]&&(o["before:highlightElement"]=s=>{o["before:highlightBlock"](Object.assign({block:s.el},s))}),o["after:highlightBlock"]&&!o["after:highlightElement"]&&(o["after:highlightElement"]=s=>{o["after:highlightBlock"](Object.assign({block:s.el},s))})}(o),_.push(o)},vuePlugin:BuildVuePlugin(o).VuePlugin}),o.debugMode=function(){w=!1},o.safeMode=function(){w=!0},o.versionString="10.7.3";for(const o in fe)"object"==typeof fe[o]&&s(fe[o]);return Object.assign(o,fe),o.addPlugin(B),o.addPlugin(_e),o.addPlugin(V),o}({});o.exports=Te},35344:o=>{function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function bash(o){const s={},i={begin:/\$\{/,end:/\}/,contains:["self",{begin:/:-/,contains:[s]}]};Object.assign(s,{className:"variable",variants:[{begin:concat(/\$[\w\d#@][\w\d_]*/,"(?![\\w\\d])(?![$])")},i]});const u={className:"subst",begin:/\$\(/,end:/\)/,contains:[o.BACKSLASH_ESCAPE]},_={begin:/<<-?\s*(?=\w+)/,starts:{contains:[o.END_SAME_AS_BEGIN({begin:/(\w+)/,end:/(\w+)/,className:"string"})]}},w={className:"string",begin:/"/,end:/"/,contains:[o.BACKSLASH_ESCAPE,s,u]};u.contains.push(w);const x={begin:/\$\(\(/,end:/\)\)/,contains:[{begin:/\d+#[0-9a-f]+/,className:"number"},o.NUMBER_MODE,s]},C=o.SHEBANG({binary:`(${["fish","bash","zsh","sh","csh","ksh","tcsh","dash","scsh"].join("|")})`,relevance:10}),j={className:"function",begin:/\w[\w\d_]*\s*\(\s*\)\s*\{/,returnBegin:!0,contains:[o.inherit(o.TITLE_MODE,{begin:/\w[\w\d_]*/})],relevance:0};return{name:"Bash",aliases:["sh","zsh"],keywords:{$pattern:/\b[a-z._-]+\b/,keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp"},contains:[C,o.SHEBANG(),j,x,o.HASH_COMMENT_MODE,_,w,{className:"",begin:/\\"/},{className:"string",begin:/'/,end:/'/},s]}}},73402:o=>{function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function http(o){const s="HTTP/(2|1\\.[01])",i={className:"attribute",begin:concat("^",/[A-Za-z][A-Za-z0-9-]*/,"(?=\\:\\s)"),starts:{contains:[{className:"punctuation",begin:/: /,relevance:0,starts:{end:"$",relevance:0}}]}},u=[i,{begin:"\\n\\n",starts:{subLanguage:[],endsWithParent:!0}}];return{name:"HTTP",aliases:["https"],illegal:/\S/,contains:[{begin:"^(?="+s+" \\d{3})",end:/$/,contains:[{className:"meta",begin:s},{className:"number",begin:"\\b\\d{3}\\b"}],starts:{end:/\b\B/,illegal:/\S/,contains:u}},{begin:"(?=^[A-Z]+ (.*?) "+s+"$)",end:/$/,contains:[{className:"string",begin:" ",end:" ",excludeBegin:!0,excludeEnd:!0},{className:"meta",begin:s},{className:"keyword",begin:"[A-Z]+"}],starts:{end:/\b\B/,illegal:/\S/,contains:u}},o.inherit(i,{relevance:0})]}}},95089:o=>{const s="[A-Za-z$_][0-9A-Za-z$_]*",i=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends"],u=["true","false","null","undefined","NaN","Infinity"],_=[].concat(["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],["arguments","this","super","console","window","document","localStorage","module","global"],["Intl","DataView","Number","Math","Date","String","RegExp","Object","Function","Boolean","Error","Symbol","Set","Map","WeakSet","WeakMap","Proxy","Reflect","JSON","Promise","Float64Array","Int16Array","Int32Array","Int8Array","Uint16Array","Uint32Array","Float32Array","Array","Uint8Array","Uint8ClampedArray","ArrayBuffer","BigInt64Array","BigUint64Array","BigInt"],["EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"]);function lookahead(o){return concat("(?=",o,")")}function concat(...o){return o.map((o=>function source(o){return o?"string"==typeof o?o:o.source:null}(o))).join("")}o.exports=function javascript(o){const w=s,x="<>",C="",j={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(o,s)=>{const i=o[0].length+o.index,u=o.input[i];"<"!==u?">"===u&&(((o,{after:s})=>{const i="",returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:o.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:L,contains:le}]}]},{begin:/,/,relevance:0},{className:"",begin:/\s/,end:/\s*/,skip:!0},{variants:[{begin:x,end:C},{begin:j.begin,"on:begin":j.isTrulyOpeningTag,end:j.end}],subLanguage:"xml",contains:[{begin:j.begin,end:j.end,skip:!0,contains:["self"]}]}],relevance:0},{className:"function",beginKeywords:"function",end:/[{;]/,excludeEnd:!0,keywords:L,contains:["self",o.inherit(o.TITLE_MODE,{begin:w}),pe],illegal:/%/},{beginKeywords:"while if switch catch for"},{className:"function",begin:o.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,contains:[pe,o.inherit(o.TITLE_MODE,{begin:w})]},{variants:[{begin:"\\."+w},{begin:"\\$"+w}],relevance:0},{className:"class",beginKeywords:"class",end:/[{;=]/,excludeEnd:!0,illegal:/[:"[\]]/,contains:[{beginKeywords:"extends"},o.UNDERSCORE_TITLE_MODE]},{begin:/\b(?=constructor)/,end:/[{;]/,excludeEnd:!0,contains:[o.inherit(o.TITLE_MODE,{begin:w}),"self",pe]},{begin:"(get|set)\\s+(?="+w+"\\()",end:/\{/,keywords:"get set",contains:[o.inherit(o.TITLE_MODE,{begin:w}),{begin:/\(\)/},pe]},{begin:/\$[(.]/}]}}},65772:o=>{o.exports=function json(o){const s={literal:"true false null"},i=[o.C_LINE_COMMENT_MODE,o.C_BLOCK_COMMENT_MODE],u=[o.QUOTE_STRING_MODE,o.C_NUMBER_MODE],_={end:",",endsWithParent:!0,excludeEnd:!0,contains:u,keywords:s},w={begin:/\{/,end:/\}/,contains:[{className:"attr",begin:/"/,end:/"/,contains:[o.BACKSLASH_ESCAPE],illegal:"\\n"},o.inherit(_,{begin:/:/})].concat(i),illegal:"\\S"},x={begin:"\\[",end:"\\]",contains:[o.inherit(_)],illegal:"\\S"};return u.push(w,x),i.forEach((function(o){u.push(o)})),{name:"JSON",contains:u,keywords:s,illegal:"\\S"}}},26571:o=>{o.exports=function powershell(o){const s={$pattern:/-?[A-z\.\-]+\b/,keyword:"if else foreach return do while until elseif begin for trap data dynamicparam end break throw param continue finally in switch exit filter try process catch hidden static parameter",built_in:"ac asnp cat cd CFS chdir clc clear clhy cli clp cls clv cnsn compare copy cp cpi cpp curl cvpa dbp del diff dir dnsn ebp echo|0 epal epcsv epsn erase etsn exsn fc fhx fl ft fw gal gbp gc gcb gci gcm gcs gdr gerr ghy gi gin gjb gl gm gmo gp gps gpv group gsn gsnp gsv gtz gu gv gwmi h history icm iex ihy ii ipal ipcsv ipmo ipsn irm ise iwmi iwr kill lp ls man md measure mi mount move mp mv nal ndr ni nmo npssc nsn nv ogv oh popd ps pushd pwd r rbp rcjb rcsn rd rdr ren ri rjb rm rmdir rmo rni rnp rp rsn rsnp rujb rv rvpa rwmi sajb sal saps sasv sbp sc scb select set shcm si sl sleep sls sort sp spjb spps spsv start stz sujb sv swmi tee trcm type wget where wjb write"},i={begin:"`[\\s\\S]",relevance:0},u={className:"variable",variants:[{begin:/\$\B/},{className:"keyword",begin:/\$this/},{begin:/\$[\w\d][\w\d_:]*/}]},_={className:"string",variants:[{begin:/"/,end:/"/},{begin:/@"/,end:/^"@/}],contains:[i,u,{className:"variable",begin:/\$[A-z]/,end:/[^A-z]/}]},w={className:"string",variants:[{begin:/'/,end:/'/},{begin:/@'/,end:/^'@/}]},x=o.inherit(o.COMMENT(null,null),{variants:[{begin:/#/,end:/$/},{begin:/<#/,end:/#>/}],contains:[{className:"doctag",variants:[{begin:/\.(synopsis|description|example|inputs|outputs|notes|link|component|role|functionality)/},{begin:/\.(parameter|forwardhelptargetname|forwardhelpcategory|remotehelprunspace|externalhelp)\s+\S+/}]}]}),C={className:"built_in",variants:[{begin:"(".concat("Add|Clear|Close|Copy|Enter|Exit|Find|Format|Get|Hide|Join|Lock|Move|New|Open|Optimize|Pop|Push|Redo|Remove|Rename|Reset|Resize|Search|Select|Set|Show|Skip|Split|Step|Switch|Undo|Unlock|Watch|Backup|Checkpoint|Compare|Compress|Convert|ConvertFrom|ConvertTo|Dismount|Edit|Expand|Export|Group|Import|Initialize|Limit|Merge|Mount|Out|Publish|Restore|Save|Sync|Unpublish|Update|Approve|Assert|Build|Complete|Confirm|Deny|Deploy|Disable|Enable|Install|Invoke|Register|Request|Restart|Resume|Start|Stop|Submit|Suspend|Uninstall|Unregister|Wait|Debug|Measure|Ping|Repair|Resolve|Test|Trace|Connect|Disconnect|Read|Receive|Send|Write|Block|Grant|Protect|Revoke|Unblock|Unprotect|Use|ForEach|Sort|Tee|Where",")+(-)[\\w\\d]+")}]},j={className:"class",beginKeywords:"class enum",end:/\s*[{]/,excludeEnd:!0,relevance:0,contains:[o.TITLE_MODE]},L={className:"function",begin:/function\s+/,end:/\s*\{|$/,excludeEnd:!0,returnBegin:!0,relevance:0,contains:[{begin:"function",relevance:0,className:"keyword"},{className:"title",begin:/\w[\w\d]*((-)[\w\d]+)*/,relevance:0},{begin:/\(/,end:/\)/,className:"params",relevance:0,contains:[u]}]},B={begin:/using\s/,end:/$/,returnBegin:!0,contains:[_,w,{className:"keyword",begin:/(using|assembly|command|module|namespace|type)/}]},$={variants:[{className:"operator",begin:"(".concat("-and|-as|-band|-bnot|-bor|-bxor|-casesensitive|-ccontains|-ceq|-cge|-cgt|-cle|-clike|-clt|-cmatch|-cne|-cnotcontains|-cnotlike|-cnotmatch|-contains|-creplace|-csplit|-eq|-exact|-f|-file|-ge|-gt|-icontains|-ieq|-ige|-igt|-ile|-ilike|-ilt|-imatch|-in|-ine|-inotcontains|-inotlike|-inotmatch|-ireplace|-is|-isnot|-isplit|-join|-le|-like|-lt|-match|-ne|-not|-notcontains|-notin|-notlike|-notmatch|-or|-regex|-replace|-shl|-shr|-split|-wildcard|-xor",")\\b")},{className:"literal",begin:/(-)[\w\d]+/,relevance:0}]},V={className:"function",begin:/\[.*\]\s*[\w]+[ ]??\(/,end:/$/,returnBegin:!0,relevance:0,contains:[{className:"keyword",begin:"(".concat(s.keyword.toString().replace(/\s/g,"|"),")\\b"),endsParent:!0,relevance:0},o.inherit(o.TITLE_MODE,{endsParent:!0})]},U=[V,x,i,o.NUMBER_MODE,_,w,C,u,{className:"literal",begin:/\$(null|true|false)\b/},{className:"selector-tag",begin:/@\B/,relevance:0}],z={begin:/\[/,end:/\]/,excludeBegin:!0,excludeEnd:!0,relevance:0,contains:[].concat("self",U,{begin:"("+["string","char","byte","int","long","bool","decimal","single","double","DateTime","xml","array","hashtable","void"].join("|")+")",className:"built_in",relevance:0},{className:"type",begin:/[\.\w\d]+/,relevance:0})};return V.contains.unshift(z),{name:"PowerShell",aliases:["ps","ps1"],case_insensitive:!0,keywords:s,contains:U.concat(j,L,B,$,z)}}},17285:o=>{function source(o){return o?"string"==typeof o?o:o.source:null}function lookahead(o){return concat("(?=",o,")")}function concat(...o){return o.map((o=>source(o))).join("")}function either(...o){return"("+o.map((o=>source(o))).join("|")+")"}o.exports=function xml(o){const s=concat(/[A-Z_]/,function optional(o){return concat("(",o,")?")}(/[A-Z0-9_.-]*:/),/[A-Z0-9_.-]*/),i={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},u={begin:/\s/,contains:[{className:"meta-keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},_=o.inherit(u,{begin:/\(/,end:/\)/}),w=o.inherit(o.APOS_STRING_MODE,{className:"meta-string"}),x=o.inherit(o.QUOTE_STRING_MODE,{className:"meta-string"}),C={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,contains:[{className:"meta",begin://,relevance:10,contains:[u,x,w,_,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[u,_,x,w]}]}]},o.COMMENT(//,{relevance:10}),{begin://,relevance:10},i,{className:"meta",begin:/<\?xml/,end:/\?>/,relevance:10},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[C],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[C],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:s,relevance:0,starts:C}]},{className:"tag",begin:concat(/<\//,lookahead(concat(s,/>/))),contains:[{className:"name",begin:s,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}},17533:o=>{o.exports=function yaml(o){var s="true false yes no null",i="[\\w#;/?:@&=+$,.~*'()[\\]]+",u={className:"string",relevance:0,variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/\S+/}],contains:[o.BACKSLASH_ESCAPE,{className:"template-variable",variants:[{begin:/\{\{/,end:/\}\}/},{begin:/%\{/,end:/\}/}]}]},_=o.inherit(u,{variants:[{begin:/'/,end:/'/},{begin:/"/,end:/"/},{begin:/[^\s,{}[\]]+/}]}),w={className:"number",begin:"\\b[0-9]{4}(-[0-9][0-9]){0,2}([Tt \\t][0-9][0-9]?(:[0-9][0-9]){2})?(\\.[0-9]*)?([ \\t])*(Z|[-+][0-9][0-9]?(:[0-9][0-9])?)?\\b"},x={end:",",endsWithParent:!0,excludeEnd:!0,keywords:s,relevance:0},C={begin:/\{/,end:/\}/,contains:[x],illegal:"\\n",relevance:0},j={begin:"\\[",end:"\\]",contains:[x],illegal:"\\n",relevance:0},L=[{className:"attr",variants:[{begin:"\\w[\\w :\\/.-]*:(?=[ \t]|$)"},{begin:'"\\w[\\w :\\/.-]*":(?=[ \t]|$)'},{begin:"'\\w[\\w :\\/.-]*':(?=[ \t]|$)"}]},{className:"meta",begin:"^---\\s*$",relevance:10},{className:"string",begin:"[\\|>]([1-9]?[+-])?[ ]*\\n( +)[^ ][^\\n]*\\n(\\2[^\\n]+\\n?)*"},{begin:"<%[%=-]?",end:"[%-]?%>",subLanguage:"ruby",excludeBegin:!0,excludeEnd:!0,relevance:0},{className:"type",begin:"!\\w+!"+i},{className:"type",begin:"!<"+i+">"},{className:"type",begin:"!"+i},{className:"type",begin:"!!"+i},{className:"meta",begin:"&"+o.UNDERSCORE_IDENT_RE+"$"},{className:"meta",begin:"\\*"+o.UNDERSCORE_IDENT_RE+"$"},{className:"bullet",begin:"-(?=[ ]|$)",relevance:0},o.HASH_COMMENT_MODE,{beginKeywords:s,keywords:{literal:s}},w,{className:"number",begin:o.C_NUMBER_RE+"\\b",relevance:0},C,j,u],B=[...L];return B.pop(),B.push(_),x.contains=B,{name:"YAML",case_insensitive:!0,aliases:["yml"],contains:L}}},251:(o,s)=>{s.read=function(o,s,i,u,_){var w,x,C=8*_-u-1,j=(1<>1,B=-7,$=i?_-1:0,V=i?-1:1,U=o[s+$];for($+=V,w=U&(1<<-B)-1,U>>=-B,B+=C;B>0;w=256*w+o[s+$],$+=V,B-=8);for(x=w&(1<<-B)-1,w>>=-B,B+=u;B>0;x=256*x+o[s+$],$+=V,B-=8);if(0===w)w=1-L;else{if(w===j)return x?NaN:1/0*(U?-1:1);x+=Math.pow(2,u),w-=L}return(U?-1:1)*x*Math.pow(2,w-u)},s.write=function(o,s,i,u,_,w){var x,C,j,L=8*w-_-1,B=(1<>1,V=23===_?Math.pow(2,-24)-Math.pow(2,-77):0,U=u?0:w-1,z=u?1:-1,Y=s<0||0===s&&1/s<0?1:0;for(s=Math.abs(s),isNaN(s)||s===1/0?(C=isNaN(s)?1:0,x=B):(x=Math.floor(Math.log(s)/Math.LN2),s*(j=Math.pow(2,-x))<1&&(x--,j*=2),(s+=x+$>=1?V/j:V*Math.pow(2,1-$))*j>=2&&(x++,j/=2),x+$>=B?(C=0,x=B):x+$>=1?(C=(s*j-1)*Math.pow(2,_),x+=$):(C=s*Math.pow(2,$-1)*Math.pow(2,_),x=0));_>=8;o[i+U]=255&C,U+=z,C/=256,_-=8);for(x=x<<_|C,L+=_;L>0;o[i+U]=255&x,U+=z,x/=256,L-=8);o[i+U-z]|=128*Y}},9404:function(o){o.exports=function(){"use strict";var o=Array.prototype.slice;function createClass(o,s){s&&(o.prototype=Object.create(s.prototype)),o.prototype.constructor=o}function Iterable(o){return isIterable(o)?o:Seq(o)}function KeyedIterable(o){return isKeyed(o)?o:KeyedSeq(o)}function IndexedIterable(o){return isIndexed(o)?o:IndexedSeq(o)}function SetIterable(o){return isIterable(o)&&!isAssociative(o)?o:SetSeq(o)}function isIterable(o){return!(!o||!o[s])}function isKeyed(o){return!(!o||!o[i])}function isIndexed(o){return!(!o||!o[u])}function isAssociative(o){return isKeyed(o)||isIndexed(o)}function isOrdered(o){return!(!o||!o[_])}createClass(KeyedIterable,Iterable),createClass(IndexedIterable,Iterable),createClass(SetIterable,Iterable),Iterable.isIterable=isIterable,Iterable.isKeyed=isKeyed,Iterable.isIndexed=isIndexed,Iterable.isAssociative=isAssociative,Iterable.isOrdered=isOrdered,Iterable.Keyed=KeyedIterable,Iterable.Indexed=IndexedIterable,Iterable.Set=SetIterable;var s="@@__IMMUTABLE_ITERABLE__@@",i="@@__IMMUTABLE_KEYED__@@",u="@@__IMMUTABLE_INDEXED__@@",_="@@__IMMUTABLE_ORDERED__@@",w="delete",x=5,C=1<>>0;if(""+i!==s||4294967295===i)return NaN;s=i}return s<0?ensureSize(o)+s:s}function returnTrue(){return!0}function wholeSlice(o,s,i){return(0===o||void 0!==i&&o<=-i)&&(void 0===s||void 0!==i&&s>=i)}function resolveBegin(o,s){return resolveIndex(o,s,0)}function resolveEnd(o,s){return resolveIndex(o,s,s)}function resolveIndex(o,s,i){return void 0===o?i:o<0?Math.max(0,s+o):void 0===s?o:Math.min(s,o)}var V=0,U=1,z=2,Y="function"==typeof Symbol&&Symbol.iterator,Z="@@iterator",ee=Y||Z;function Iterator(o){this.next=o}function iteratorValue(o,s,i,u){var _=0===o?s:1===o?i:[s,i];return u?u.value=_:u={value:_,done:!1},u}function iteratorDone(){return{value:void 0,done:!0}}function hasIterator(o){return!!getIteratorFn(o)}function isIterator(o){return o&&"function"==typeof o.next}function getIterator(o){var s=getIteratorFn(o);return s&&s.call(o)}function getIteratorFn(o){var s=o&&(Y&&o[Y]||o[Z]);if("function"==typeof s)return s}function isArrayLike(o){return o&&"number"==typeof o.length}function Seq(o){return null==o?emptySequence():isIterable(o)?o.toSeq():seqFromValue(o)}function KeyedSeq(o){return null==o?emptySequence().toKeyedSeq():isIterable(o)?isKeyed(o)?o.toSeq():o.fromEntrySeq():keyedSeqFromValue(o)}function IndexedSeq(o){return null==o?emptySequence():isIterable(o)?isKeyed(o)?o.entrySeq():o.toIndexedSeq():indexedSeqFromValue(o)}function SetSeq(o){return(null==o?emptySequence():isIterable(o)?isKeyed(o)?o.entrySeq():o:indexedSeqFromValue(o)).toSetSeq()}Iterator.prototype.toString=function(){return"[Iterator]"},Iterator.KEYS=V,Iterator.VALUES=U,Iterator.ENTRIES=z,Iterator.prototype.inspect=Iterator.prototype.toSource=function(){return this.toString()},Iterator.prototype[ee]=function(){return this},createClass(Seq,Iterable),Seq.of=function(){return Seq(arguments)},Seq.prototype.toSeq=function(){return this},Seq.prototype.toString=function(){return this.__toString("Seq {","}")},Seq.prototype.cacheResult=function(){return!this._cache&&this.__iterateUncached&&(this._cache=this.entrySeq().toArray(),this.size=this._cache.length),this},Seq.prototype.__iterate=function(o,s){return seqIterate(this,o,s,!0)},Seq.prototype.__iterator=function(o,s){return seqIterator(this,o,s,!0)},createClass(KeyedSeq,Seq),KeyedSeq.prototype.toKeyedSeq=function(){return this},createClass(IndexedSeq,Seq),IndexedSeq.of=function(){return IndexedSeq(arguments)},IndexedSeq.prototype.toIndexedSeq=function(){return this},IndexedSeq.prototype.toString=function(){return this.__toString("Seq [","]")},IndexedSeq.prototype.__iterate=function(o,s){return seqIterate(this,o,s,!1)},IndexedSeq.prototype.__iterator=function(o,s){return seqIterator(this,o,s,!1)},createClass(SetSeq,Seq),SetSeq.of=function(){return SetSeq(arguments)},SetSeq.prototype.toSetSeq=function(){return this},Seq.isSeq=isSeq,Seq.Keyed=KeyedSeq,Seq.Set=SetSeq,Seq.Indexed=IndexedSeq;var ie,ae,ce,le="@@__IMMUTABLE_SEQ__@@";function ArraySeq(o){this._array=o,this.size=o.length}function ObjectSeq(o){var s=Object.keys(o);this._object=o,this._keys=s,this.size=s.length}function IterableSeq(o){this._iterable=o,this.size=o.length||o.size}function IteratorSeq(o){this._iterator=o,this._iteratorCache=[]}function isSeq(o){return!(!o||!o[le])}function emptySequence(){return ie||(ie=new ArraySeq([]))}function keyedSeqFromValue(o){var s=Array.isArray(o)?new ArraySeq(o).fromEntrySeq():isIterator(o)?new IteratorSeq(o).fromEntrySeq():hasIterator(o)?new IterableSeq(o).fromEntrySeq():"object"==typeof o?new ObjectSeq(o):void 0;if(!s)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+o);return s}function indexedSeqFromValue(o){var s=maybeIndexedSeqFromValue(o);if(!s)throw new TypeError("Expected Array or iterable object of values: "+o);return s}function seqFromValue(o){var s=maybeIndexedSeqFromValue(o)||"object"==typeof o&&new ObjectSeq(o);if(!s)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+o);return s}function maybeIndexedSeqFromValue(o){return isArrayLike(o)?new ArraySeq(o):isIterator(o)?new IteratorSeq(o):hasIterator(o)?new IterableSeq(o):void 0}function seqIterate(o,s,i,u){var _=o._cache;if(_){for(var w=_.length-1,x=0;x<=w;x++){var C=_[i?w-x:x];if(!1===s(C[1],u?C[0]:x,o))return x+1}return x}return o.__iterateUncached(s,i)}function seqIterator(o,s,i,u){var _=o._cache;if(_){var w=_.length-1,x=0;return new Iterator((function(){var o=_[i?w-x:x];return x++>w?iteratorDone():iteratorValue(s,u?o[0]:x-1,o[1])}))}return o.__iteratorUncached(s,i)}function fromJS(o,s){return s?fromJSWith(s,o,"",{"":o}):fromJSDefault(o)}function fromJSWith(o,s,i,u){return Array.isArray(s)?o.call(u,i,IndexedSeq(s).map((function(i,u){return fromJSWith(o,i,u,s)}))):isPlainObj(s)?o.call(u,i,KeyedSeq(s).map((function(i,u){return fromJSWith(o,i,u,s)}))):s}function fromJSDefault(o){return Array.isArray(o)?IndexedSeq(o).map(fromJSDefault).toList():isPlainObj(o)?KeyedSeq(o).map(fromJSDefault).toMap():o}function isPlainObj(o){return o&&(o.constructor===Object||void 0===o.constructor)}function is(o,s){if(o===s||o!=o&&s!=s)return!0;if(!o||!s)return!1;if("function"==typeof o.valueOf&&"function"==typeof s.valueOf){if((o=o.valueOf())===(s=s.valueOf())||o!=o&&s!=s)return!0;if(!o||!s)return!1}return!("function"!=typeof o.equals||"function"!=typeof s.equals||!o.equals(s))}function deepEqual(o,s){if(o===s)return!0;if(!isIterable(s)||void 0!==o.size&&void 0!==s.size&&o.size!==s.size||void 0!==o.__hash&&void 0!==s.__hash&&o.__hash!==s.__hash||isKeyed(o)!==isKeyed(s)||isIndexed(o)!==isIndexed(s)||isOrdered(o)!==isOrdered(s))return!1;if(0===o.size&&0===s.size)return!0;var i=!isAssociative(o);if(isOrdered(o)){var u=o.entries();return s.every((function(o,s){var _=u.next().value;return _&&is(_[1],o)&&(i||is(_[0],s))}))&&u.next().done}var _=!1;if(void 0===o.size)if(void 0===s.size)"function"==typeof o.cacheResult&&o.cacheResult();else{_=!0;var w=o;o=s,s=w}var x=!0,C=s.__iterate((function(s,u){if(i?!o.has(s):_?!is(s,o.get(u,L)):!is(o.get(u,L),s))return x=!1,!1}));return x&&o.size===C}function Repeat(o,s){if(!(this instanceof Repeat))return new Repeat(o,s);if(this._value=o,this.size=void 0===s?1/0:Math.max(0,s),0===this.size){if(ae)return ae;ae=this}}function invariant(o,s){if(!o)throw new Error(s)}function Range(o,s,i){if(!(this instanceof Range))return new Range(o,s,i);if(invariant(0!==i,"Cannot step a Range by 0"),o=o||0,void 0===s&&(s=1/0),i=void 0===i?1:Math.abs(i),su?iteratorDone():iteratorValue(o,_,i[s?u-_++:_++])}))},createClass(ObjectSeq,KeyedSeq),ObjectSeq.prototype.get=function(o,s){return void 0===s||this.has(o)?this._object[o]:s},ObjectSeq.prototype.has=function(o){return this._object.hasOwnProperty(o)},ObjectSeq.prototype.__iterate=function(o,s){for(var i=this._object,u=this._keys,_=u.length-1,w=0;w<=_;w++){var x=u[s?_-w:w];if(!1===o(i[x],x,this))return w+1}return w},ObjectSeq.prototype.__iterator=function(o,s){var i=this._object,u=this._keys,_=u.length-1,w=0;return new Iterator((function(){var x=u[s?_-w:w];return w++>_?iteratorDone():iteratorValue(o,x,i[x])}))},ObjectSeq.prototype[_]=!0,createClass(IterableSeq,IndexedSeq),IterableSeq.prototype.__iterateUncached=function(o,s){if(s)return this.cacheResult().__iterate(o,s);var i=getIterator(this._iterable),u=0;if(isIterator(i))for(var _;!(_=i.next()).done&&!1!==o(_.value,u++,this););return u},IterableSeq.prototype.__iteratorUncached=function(o,s){if(s)return this.cacheResult().__iterator(o,s);var i=getIterator(this._iterable);if(!isIterator(i))return new Iterator(iteratorDone);var u=0;return new Iterator((function(){var s=i.next();return s.done?s:iteratorValue(o,u++,s.value)}))},createClass(IteratorSeq,IndexedSeq),IteratorSeq.prototype.__iterateUncached=function(o,s){if(s)return this.cacheResult().__iterate(o,s);for(var i,u=this._iterator,_=this._iteratorCache,w=0;w<_.length;)if(!1===o(_[w],w++,this))return w;for(;!(i=u.next()).done;){var x=i.value;if(_[w]=x,!1===o(x,w++,this))break}return w},IteratorSeq.prototype.__iteratorUncached=function(o,s){if(s)return this.cacheResult().__iterator(o,s);var i=this._iterator,u=this._iteratorCache,_=0;return new Iterator((function(){if(_>=u.length){var s=i.next();if(s.done)return s;u[_]=s.value}return iteratorValue(o,_,u[_++])}))},createClass(Repeat,IndexedSeq),Repeat.prototype.toString=function(){return 0===this.size?"Repeat []":"Repeat [ "+this._value+" "+this.size+" times ]"},Repeat.prototype.get=function(o,s){return this.has(o)?this._value:s},Repeat.prototype.includes=function(o){return is(this._value,o)},Repeat.prototype.slice=function(o,s){var i=this.size;return wholeSlice(o,s,i)?this:new Repeat(this._value,resolveEnd(s,i)-resolveBegin(o,i))},Repeat.prototype.reverse=function(){return this},Repeat.prototype.indexOf=function(o){return is(this._value,o)?0:-1},Repeat.prototype.lastIndexOf=function(o){return is(this._value,o)?this.size:-1},Repeat.prototype.__iterate=function(o,s){for(var i=0;i=0&&s=0&&ii?iteratorDone():iteratorValue(o,w++,x)}))},Range.prototype.equals=function(o){return o instanceof Range?this._start===o._start&&this._end===o._end&&this._step===o._step:deepEqual(this,o)},createClass(Collection,Iterable),createClass(KeyedCollection,Collection),createClass(IndexedCollection,Collection),createClass(SetCollection,Collection),Collection.Keyed=KeyedCollection,Collection.Indexed=IndexedCollection,Collection.Set=SetCollection;var pe="function"==typeof Math.imul&&-2===Math.imul(4294967295,2)?Math.imul:function imul(o,s){var i=65535&(o|=0),u=65535&(s|=0);return i*u+((o>>>16)*u+i*(s>>>16)<<16>>>0)|0};function smi(o){return o>>>1&1073741824|3221225471&o}function hash(o){if(!1===o||null==o)return 0;if("function"==typeof o.valueOf&&(!1===(o=o.valueOf())||null==o))return 0;if(!0===o)return 1;var s=typeof o;if("number"===s){if(o!=o||o===1/0)return 0;var i=0|o;for(i!==o&&(i^=4294967295*o);o>4294967295;)i^=o/=4294967295;return smi(i)}if("string"===s)return o.length>Se?cachedHashString(o):hashString(o);if("function"==typeof o.hashCode)return o.hashCode();if("object"===s)return hashJSObj(o);if("function"==typeof o.toString)return hashString(o.toString());throw new Error("Value type "+s+" cannot be hashed.")}function cachedHashString(o){var s=Te[o];return void 0===s&&(s=hashString(o),Pe===xe&&(Pe=0,Te={}),Pe++,Te[o]=s),s}function hashString(o){for(var s=0,i=0;i0)switch(o.nodeType){case 1:return o.uniqueID;case 9:return o.documentElement&&o.documentElement.uniqueID}}var ye,be="function"==typeof WeakMap;be&&(ye=new WeakMap);var _e=0,we="__immutablehash__";"function"==typeof Symbol&&(we=Symbol(we));var Se=16,xe=255,Pe=0,Te={};function assertNotInfinite(o){invariant(o!==1/0,"Cannot perform this action with an infinite size.")}function Map(o){return null==o?emptyMap():isMap(o)&&!isOrdered(o)?o:emptyMap().withMutations((function(s){var i=KeyedIterable(o);assertNotInfinite(i.size),i.forEach((function(o,i){return s.set(i,o)}))}))}function isMap(o){return!(!o||!o[qe])}createClass(Map,KeyedCollection),Map.of=function(){var s=o.call(arguments,0);return emptyMap().withMutations((function(o){for(var i=0;i=s.length)throw new Error("Missing value for key: "+s[i]);o.set(s[i],s[i+1])}}))},Map.prototype.toString=function(){return this.__toString("Map {","}")},Map.prototype.get=function(o,s){return this._root?this._root.get(0,void 0,o,s):s},Map.prototype.set=function(o,s){return updateMap(this,o,s)},Map.prototype.setIn=function(o,s){return this.updateIn(o,L,(function(){return s}))},Map.prototype.remove=function(o){return updateMap(this,o,L)},Map.prototype.deleteIn=function(o){return this.updateIn(o,(function(){return L}))},Map.prototype.update=function(o,s,i){return 1===arguments.length?o(this):this.updateIn([o],s,i)},Map.prototype.updateIn=function(o,s,i){i||(i=s,s=void 0);var u=updateInDeepMap(this,forceIterator(o),s,i);return u===L?void 0:u},Map.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._root=null,this.__hash=void 0,this.__altered=!0,this):emptyMap()},Map.prototype.merge=function(){return mergeIntoMapWith(this,void 0,arguments)},Map.prototype.mergeWith=function(s){return mergeIntoMapWith(this,s,o.call(arguments,1))},Map.prototype.mergeIn=function(s){var i=o.call(arguments,1);return this.updateIn(s,emptyMap(),(function(o){return"function"==typeof o.merge?o.merge.apply(o,i):i[i.length-1]}))},Map.prototype.mergeDeep=function(){return mergeIntoMapWith(this,deepMerger,arguments)},Map.prototype.mergeDeepWith=function(s){var i=o.call(arguments,1);return mergeIntoMapWith(this,deepMergerWith(s),i)},Map.prototype.mergeDeepIn=function(s){var i=o.call(arguments,1);return this.updateIn(s,emptyMap(),(function(o){return"function"==typeof o.mergeDeep?o.mergeDeep.apply(o,i):i[i.length-1]}))},Map.prototype.sort=function(o){return OrderedMap(sortFactory(this,o))},Map.prototype.sortBy=function(o,s){return OrderedMap(sortFactory(this,s,o))},Map.prototype.withMutations=function(o){var s=this.asMutable();return o(s),s.wasAltered()?s.__ensureOwner(this.__ownerID):this},Map.prototype.asMutable=function(){return this.__ownerID?this:this.__ensureOwner(new OwnerID)},Map.prototype.asImmutable=function(){return this.__ensureOwner()},Map.prototype.wasAltered=function(){return this.__altered},Map.prototype.__iterator=function(o,s){return new MapIterator(this,o,s)},Map.prototype.__iterate=function(o,s){var i=this,u=0;return this._root&&this._root.iterate((function(s){return u++,o(s[1],s[0],i)}),s),u},Map.prototype.__ensureOwner=function(o){return o===this.__ownerID?this:o?makeMap(this.size,this._root,o,this.__hash):(this.__ownerID=o,this.__altered=!1,this)},Map.isMap=isMap;var Re,qe="@@__IMMUTABLE_MAP__@@",$e=Map.prototype;function ArrayMapNode(o,s){this.ownerID=o,this.entries=s}function BitmapIndexedNode(o,s,i){this.ownerID=o,this.bitmap=s,this.nodes=i}function HashArrayMapNode(o,s,i){this.ownerID=o,this.count=s,this.nodes=i}function HashCollisionNode(o,s,i){this.ownerID=o,this.keyHash=s,this.entries=i}function ValueNode(o,s,i){this.ownerID=o,this.keyHash=s,this.entry=i}function MapIterator(o,s,i){this._type=s,this._reverse=i,this._stack=o._root&&mapIteratorFrame(o._root)}function mapIteratorValue(o,s){return iteratorValue(o,s[0],s[1])}function mapIteratorFrame(o,s){return{node:o,index:0,__prev:s}}function makeMap(o,s,i,u){var _=Object.create($e);return _.size=o,_._root=s,_.__ownerID=i,_.__hash=u,_.__altered=!1,_}function emptyMap(){return Re||(Re=makeMap(0))}function updateMap(o,s,i){var u,_;if(o._root){var w=MakeRef(B),x=MakeRef($);if(u=updateNode(o._root,o.__ownerID,0,void 0,s,i,w,x),!x.value)return o;_=o.size+(w.value?i===L?-1:1:0)}else{if(i===L)return o;_=1,u=new ArrayMapNode(o.__ownerID,[[s,i]])}return o.__ownerID?(o.size=_,o._root=u,o.__hash=void 0,o.__altered=!0,o):u?makeMap(_,u):emptyMap()}function updateNode(o,s,i,u,_,w,x,C){return o?o.update(s,i,u,_,w,x,C):w===L?o:(SetRef(C),SetRef(x),new ValueNode(s,u,[_,w]))}function isLeafNode(o){return o.constructor===ValueNode||o.constructor===HashCollisionNode}function mergeIntoNode(o,s,i,u,_){if(o.keyHash===u)return new HashCollisionNode(s,u,[o.entry,_]);var w,C=(0===i?o.keyHash:o.keyHash>>>i)&j,L=(0===i?u:u>>>i)&j;return new BitmapIndexedNode(s,1<>>=1)x[j]=1&i?s[w++]:void 0;return x[u]=_,new HashArrayMapNode(o,w+1,x)}function mergeIntoMapWith(o,s,i){for(var u=[],_=0;_>1&1431655765))+(o>>2&858993459))+(o>>4)&252645135,o+=o>>8,127&(o+=o>>16)}function setIn(o,s,i,u){var _=u?o:arrCopy(o);return _[s]=i,_}function spliceIn(o,s,i,u){var _=o.length+1;if(u&&s+1===_)return o[s]=i,o;for(var w=new Array(_),x=0,C=0;C<_;C++)C===s?(w[C]=i,x=-1):w[C]=o[C+x];return w}function spliceOut(o,s,i){var u=o.length-1;if(i&&s===u)return o.pop(),o;for(var _=new Array(u),w=0,x=0;x=ze)return createNodes(o,j,u,_);var U=o&&o===this.ownerID,z=U?j:arrCopy(j);return V?C?B===$-1?z.pop():z[B]=z.pop():z[B]=[u,_]:z.push([u,_]),U?(this.entries=z,this):new ArrayMapNode(o,z)}},BitmapIndexedNode.prototype.get=function(o,s,i,u){void 0===s&&(s=hash(i));var _=1<<((0===o?s:s>>>o)&j),w=this.bitmap;return w&_?this.nodes[popCount(w&_-1)].get(o+x,s,i,u):u},BitmapIndexedNode.prototype.update=function(o,s,i,u,_,w,C){void 0===i&&(i=hash(u));var B=(0===s?i:i>>>s)&j,$=1<=We)return expandNodes(o,Y,V,B,ee);if(U&&!ee&&2===Y.length&&isLeafNode(Y[1^z]))return Y[1^z];if(U&&ee&&1===Y.length&&isLeafNode(ee))return ee;var ie=o&&o===this.ownerID,ae=U?ee?V:V^$:V|$,ce=U?ee?setIn(Y,z,ee,ie):spliceOut(Y,z,ie):spliceIn(Y,z,ee,ie);return ie?(this.bitmap=ae,this.nodes=ce,this):new BitmapIndexedNode(o,ae,ce)},HashArrayMapNode.prototype.get=function(o,s,i,u){void 0===s&&(s=hash(i));var _=(0===o?s:s>>>o)&j,w=this.nodes[_];return w?w.get(o+x,s,i,u):u},HashArrayMapNode.prototype.update=function(o,s,i,u,_,w,C){void 0===i&&(i=hash(u));var B=(0===s?i:i>>>s)&j,$=_===L,V=this.nodes,U=V[B];if($&&!U)return this;var z=updateNode(U,o,s+x,i,u,_,w,C);if(z===U)return this;var Y=this.count;if(U){if(!z&&--Y0&&u=0&&o>>s&j;if(u>=this.array.length)return new VNode([],o);var _,w=0===u;if(s>0){var C=this.array[u];if((_=C&&C.removeBefore(o,s-x,i))===C&&w)return this}if(w&&!_)return this;var L=editableVNode(this,o);if(!w)for(var B=0;B>>s&j;if(_>=this.array.length)return this;if(s>0){var w=this.array[_];if((u=w&&w.removeAfter(o,s-x,i))===w&&_===this.array.length-1)return this}var C=editableVNode(this,o);return C.array.splice(_+1),u&&(C.array[_]=u),C};var Qe,et,tt={};function iterateList(o,s){var i=o._origin,u=o._capacity,_=getTailOffset(u),w=o._tail;return iterateNodeOrLeaf(o._root,o._level,0);function iterateNodeOrLeaf(o,s,i){return 0===s?iterateLeaf(o,i):iterateNode(o,s,i)}function iterateLeaf(o,x){var j=x===_?w&&w.array:o&&o.array,L=x>i?0:i-x,B=u-x;return B>C&&(B=C),function(){if(L===B)return tt;var o=s?--B:L++;return j&&j[o]}}function iterateNode(o,_,w){var j,L=o&&o.array,B=w>i?0:i-w>>_,$=1+(u-w>>_);return $>C&&($=C),function(){for(;;){if(j){var o=j();if(o!==tt)return o;j=null}if(B===$)return tt;var i=s?--$:B++;j=iterateNodeOrLeaf(L&&L[i],_-x,w+(i<<_))}}}}function makeList(o,s,i,u,_,w,x){var C=Object.create(Xe);return C.size=s-o,C._origin=o,C._capacity=s,C._level=i,C._root=u,C._tail=_,C.__ownerID=w,C.__hash=x,C.__altered=!1,C}function emptyList(){return Qe||(Qe=makeList(0,0,x))}function updateList(o,s,i){if((s=wrapIndex(o,s))!=s)return o;if(s>=o.size||s<0)return o.withMutations((function(o){s<0?setListBounds(o,s).set(0,i):setListBounds(o,0,s+1).set(s,i)}));s+=o._origin;var u=o._tail,_=o._root,w=MakeRef($);return s>=getTailOffset(o._capacity)?u=updateVNode(u,o.__ownerID,0,s,i,w):_=updateVNode(_,o.__ownerID,o._level,s,i,w),w.value?o.__ownerID?(o._root=_,o._tail=u,o.__hash=void 0,o.__altered=!0,o):makeList(o._origin,o._capacity,o._level,_,u):o}function updateVNode(o,s,i,u,_,w){var C,L=u>>>i&j,B=o&&L0){var $=o&&o.array[L],V=updateVNode($,s,i-x,u,_,w);return V===$?o:((C=editableVNode(o,s)).array[L]=V,C)}return B&&o.array[L]===_?o:(SetRef(w),C=editableVNode(o,s),void 0===_&&L===C.array.length-1?C.array.pop():C.array[L]=_,C)}function editableVNode(o,s){return s&&o&&s===o.ownerID?o:new VNode(o?o.array.slice():[],s)}function listNodeFor(o,s){if(s>=getTailOffset(o._capacity))return o._tail;if(s<1<0;)i=i.array[s>>>u&j],u-=x;return i}}function setListBounds(o,s,i){void 0!==s&&(s|=0),void 0!==i&&(i|=0);var u=o.__ownerID||new OwnerID,_=o._origin,w=o._capacity,C=_+s,L=void 0===i?w:i<0?w+i:_+i;if(C===_&&L===w)return o;if(C>=L)return o.clear();for(var B=o._level,$=o._root,V=0;C+V<0;)$=new VNode($&&$.array.length?[void 0,$]:[],u),V+=1<<(B+=x);V&&(C+=V,_+=V,L+=V,w+=V);for(var U=getTailOffset(w),z=getTailOffset(L);z>=1<U?new VNode([],u):Y;if(Y&&z>U&&Cx;ie-=x){var ae=U>>>ie&j;ee=ee.array[ae]=editableVNode(ee.array[ae],u)}ee.array[U>>>x&j]=Y}if(L=z)C-=z,L-=z,B=x,$=null,Z=Z&&Z.removeBefore(u,0,C);else if(C>_||z>>B&j;if(ce!==z>>>B&j)break;ce&&(V+=(1<_&&($=$.removeBefore(u,B,C-V)),$&&z_&&(_=C.size),isIterable(x)||(C=C.map((function(o){return fromJS(o)}))),u.push(C)}return _>o.size&&(o=o.setSize(_)),mergeIntoCollectionWith(o,s,u)}function getTailOffset(o){return o>>x<=C&&x.size>=2*w.size?(u=(_=x.filter((function(o,s){return void 0!==o&&j!==s}))).toKeyedSeq().map((function(o){return o[0]})).flip().toMap(),o.__ownerID&&(u.__ownerID=_.__ownerID=o.__ownerID)):(u=w.remove(s),_=j===x.size-1?x.pop():x.set(j,void 0))}else if(B){if(i===x.get(j)[1])return o;u=w,_=x.set(j,[s,i])}else u=w.set(s,x.size),_=x.set(x.size,[s,i]);return o.__ownerID?(o.size=u.size,o._map=u,o._list=_,o.__hash=void 0,o):makeOrderedMap(u,_)}function ToKeyedSequence(o,s){this._iter=o,this._useKeys=s,this.size=o.size}function ToIndexedSequence(o){this._iter=o,this.size=o.size}function ToSetSequence(o){this._iter=o,this.size=o.size}function FromEntriesSequence(o){this._iter=o,this.size=o.size}function flipFactory(o){var s=makeSequence(o);return s._iter=o,s.size=o.size,s.flip=function(){return o},s.reverse=function(){var s=o.reverse.apply(this);return s.flip=function(){return o.reverse()},s},s.has=function(s){return o.includes(s)},s.includes=function(s){return o.has(s)},s.cacheResult=cacheResultThrough,s.__iterateUncached=function(s,i){var u=this;return o.__iterate((function(o,i){return!1!==s(i,o,u)}),i)},s.__iteratorUncached=function(s,i){if(s===z){var u=o.__iterator(s,i);return new Iterator((function(){var o=u.next();if(!o.done){var s=o.value[0];o.value[0]=o.value[1],o.value[1]=s}return o}))}return o.__iterator(s===U?V:U,i)},s}function mapFactory(o,s,i){var u=makeSequence(o);return u.size=o.size,u.has=function(s){return o.has(s)},u.get=function(u,_){var w=o.get(u,L);return w===L?_:s.call(i,w,u,o)},u.__iterateUncached=function(u,_){var w=this;return o.__iterate((function(o,_,x){return!1!==u(s.call(i,o,_,x),_,w)}),_)},u.__iteratorUncached=function(u,_){var w=o.__iterator(z,_);return new Iterator((function(){var _=w.next();if(_.done)return _;var x=_.value,C=x[0];return iteratorValue(u,C,s.call(i,x[1],C,o),_)}))},u}function reverseFactory(o,s){var i=makeSequence(o);return i._iter=o,i.size=o.size,i.reverse=function(){return o},o.flip&&(i.flip=function(){var s=flipFactory(o);return s.reverse=function(){return o.flip()},s}),i.get=function(i,u){return o.get(s?i:-1-i,u)},i.has=function(i){return o.has(s?i:-1-i)},i.includes=function(s){return o.includes(s)},i.cacheResult=cacheResultThrough,i.__iterate=function(s,i){var u=this;return o.__iterate((function(o,i){return s(o,i,u)}),!i)},i.__iterator=function(s,i){return o.__iterator(s,!i)},i}function filterFactory(o,s,i,u){var _=makeSequence(o);return u&&(_.has=function(u){var _=o.get(u,L);return _!==L&&!!s.call(i,_,u,o)},_.get=function(u,_){var w=o.get(u,L);return w!==L&&s.call(i,w,u,o)?w:_}),_.__iterateUncached=function(_,w){var x=this,C=0;return o.__iterate((function(o,w,j){if(s.call(i,o,w,j))return C++,_(o,u?w:C-1,x)}),w),C},_.__iteratorUncached=function(_,w){var x=o.__iterator(z,w),C=0;return new Iterator((function(){for(;;){var w=x.next();if(w.done)return w;var j=w.value,L=j[0],B=j[1];if(s.call(i,B,L,o))return iteratorValue(_,u?L:C++,B,w)}}))},_}function countByFactory(o,s,i){var u=Map().asMutable();return o.__iterate((function(_,w){u.update(s.call(i,_,w,o),0,(function(o){return o+1}))})),u.asImmutable()}function groupByFactory(o,s,i){var u=isKeyed(o),_=(isOrdered(o)?OrderedMap():Map()).asMutable();o.__iterate((function(w,x){_.update(s.call(i,w,x,o),(function(o){return(o=o||[]).push(u?[x,w]:w),o}))}));var w=iterableClass(o);return _.map((function(s){return reify(o,w(s))}))}function sliceFactory(o,s,i,u){var _=o.size;if(void 0!==s&&(s|=0),void 0!==i&&(i===1/0?i=_:i|=0),wholeSlice(s,i,_))return o;var w=resolveBegin(s,_),x=resolveEnd(i,_);if(w!=w||x!=x)return sliceFactory(o.toSeq().cacheResult(),s,i,u);var C,j=x-w;j==j&&(C=j<0?0:j);var L=makeSequence(o);return L.size=0===C?C:o.size&&C||void 0,!u&&isSeq(o)&&C>=0&&(L.get=function(s,i){return(s=wrapIndex(this,s))>=0&&sC)return iteratorDone();var o=_.next();return u||s===U?o:iteratorValue(s,j-1,s===V?void 0:o.value[1],o)}))},L}function takeWhileFactory(o,s,i){var u=makeSequence(o);return u.__iterateUncached=function(u,_){var w=this;if(_)return this.cacheResult().__iterate(u,_);var x=0;return o.__iterate((function(o,_,C){return s.call(i,o,_,C)&&++x&&u(o,_,w)})),x},u.__iteratorUncached=function(u,_){var w=this;if(_)return this.cacheResult().__iterator(u,_);var x=o.__iterator(z,_),C=!0;return new Iterator((function(){if(!C)return iteratorDone();var o=x.next();if(o.done)return o;var _=o.value,j=_[0],L=_[1];return s.call(i,L,j,w)?u===z?o:iteratorValue(u,j,L,o):(C=!1,iteratorDone())}))},u}function skipWhileFactory(o,s,i,u){var _=makeSequence(o);return _.__iterateUncached=function(_,w){var x=this;if(w)return this.cacheResult().__iterate(_,w);var C=!0,j=0;return o.__iterate((function(o,w,L){if(!C||!(C=s.call(i,o,w,L)))return j++,_(o,u?w:j-1,x)})),j},_.__iteratorUncached=function(_,w){var x=this;if(w)return this.cacheResult().__iterator(_,w);var C=o.__iterator(z,w),j=!0,L=0;return new Iterator((function(){var o,w,B;do{if((o=C.next()).done)return u||_===U?o:iteratorValue(_,L++,_===V?void 0:o.value[1],o);var $=o.value;w=$[0],B=$[1],j&&(j=s.call(i,B,w,x))}while(j);return _===z?o:iteratorValue(_,w,B,o)}))},_}function concatFactory(o,s){var i=isKeyed(o),u=[o].concat(s).map((function(o){return isIterable(o)?i&&(o=KeyedIterable(o)):o=i?keyedSeqFromValue(o):indexedSeqFromValue(Array.isArray(o)?o:[o]),o})).filter((function(o){return 0!==o.size}));if(0===u.length)return o;if(1===u.length){var _=u[0];if(_===o||i&&isKeyed(_)||isIndexed(o)&&isIndexed(_))return _}var w=new ArraySeq(u);return i?w=w.toKeyedSeq():isIndexed(o)||(w=w.toSetSeq()),(w=w.flatten(!0)).size=u.reduce((function(o,s){if(void 0!==o){var i=s.size;if(void 0!==i)return o+i}}),0),w}function flattenFactory(o,s,i){var u=makeSequence(o);return u.__iterateUncached=function(u,_){var w=0,x=!1;function flatDeep(o,C){var j=this;o.__iterate((function(o,_){return(!s||C0}function zipWithFactory(o,s,i){var u=makeSequence(o);return u.size=new ArraySeq(i).map((function(o){return o.size})).min(),u.__iterate=function(o,s){for(var i,u=this.__iterator(U,s),_=0;!(i=u.next()).done&&!1!==o(i.value,_++,this););return _},u.__iteratorUncached=function(o,u){var _=i.map((function(o){return o=Iterable(o),getIterator(u?o.reverse():o)})),w=0,x=!1;return new Iterator((function(){var i;return x||(i=_.map((function(o){return o.next()})),x=i.some((function(o){return o.done}))),x?iteratorDone():iteratorValue(o,w++,s.apply(null,i.map((function(o){return o.value}))))}))},u}function reify(o,s){return isSeq(o)?s:o.constructor(s)}function validateEntry(o){if(o!==Object(o))throw new TypeError("Expected [K, V] tuple: "+o)}function resolveSize(o){return assertNotInfinite(o.size),ensureSize(o)}function iterableClass(o){return isKeyed(o)?KeyedIterable:isIndexed(o)?IndexedIterable:SetIterable}function makeSequence(o){return Object.create((isKeyed(o)?KeyedSeq:isIndexed(o)?IndexedSeq:SetSeq).prototype)}function cacheResultThrough(){return this._iter.cacheResult?(this._iter.cacheResult(),this.size=this._iter.size,this):Seq.prototype.cacheResult.call(this)}function defaultComparator(o,s){return o>s?1:o=0;i--)s={value:arguments[i],next:s};return this.__ownerID?(this.size=o,this._head=s,this.__hash=void 0,this.__altered=!0,this):makeStack(o,s)},Stack.prototype.pushAll=function(o){if(0===(o=IndexedIterable(o)).size)return this;assertNotInfinite(o.size);var s=this.size,i=this._head;return o.reverse().forEach((function(o){s++,i={value:o,next:i}})),this.__ownerID?(this.size=s,this._head=i,this.__hash=void 0,this.__altered=!0,this):makeStack(s,i)},Stack.prototype.pop=function(){return this.slice(1)},Stack.prototype.unshift=function(){return this.push.apply(this,arguments)},Stack.prototype.unshiftAll=function(o){return this.pushAll(o)},Stack.prototype.shift=function(){return this.pop.apply(this,arguments)},Stack.prototype.clear=function(){return 0===this.size?this:this.__ownerID?(this.size=0,this._head=void 0,this.__hash=void 0,this.__altered=!0,this):emptyStack()},Stack.prototype.slice=function(o,s){if(wholeSlice(o,s,this.size))return this;var i=resolveBegin(o,this.size);if(resolveEnd(s,this.size)!==this.size)return IndexedCollection.prototype.slice.call(this,o,s);for(var u=this.size-i,_=this._head;i--;)_=_.next;return this.__ownerID?(this.size=u,this._head=_,this.__hash=void 0,this.__altered=!0,this):makeStack(u,_)},Stack.prototype.__ensureOwner=function(o){return o===this.__ownerID?this:o?makeStack(this.size,this._head,o,this.__hash):(this.__ownerID=o,this.__altered=!1,this)},Stack.prototype.__iterate=function(o,s){if(s)return this.reverse().__iterate(o);for(var i=0,u=this._head;u&&!1!==o(u.value,i++,this);)u=u.next;return i},Stack.prototype.__iterator=function(o,s){if(s)return this.reverse().__iterator(o);var i=0,u=this._head;return new Iterator((function(){if(u){var s=u.value;return u=u.next,iteratorValue(o,i++,s)}return iteratorDone()}))},Stack.isStack=isStack;var ct,lt="@@__IMMUTABLE_STACK__@@",ut=Stack.prototype;function makeStack(o,s,i,u){var _=Object.create(ut);return _.size=o,_._head=s,_.__ownerID=i,_.__hash=u,_.__altered=!1,_}function emptyStack(){return ct||(ct=makeStack(0))}function mixin(o,s){var keyCopier=function(i){o.prototype[i]=s[i]};return Object.keys(s).forEach(keyCopier),Object.getOwnPropertySymbols&&Object.getOwnPropertySymbols(s).forEach(keyCopier),o}ut[lt]=!0,ut.withMutations=$e.withMutations,ut.asMutable=$e.asMutable,ut.asImmutable=$e.asImmutable,ut.wasAltered=$e.wasAltered,Iterable.Iterator=Iterator,mixin(Iterable,{toArray:function(){assertNotInfinite(this.size);var o=new Array(this.size||0);return this.valueSeq().__iterate((function(s,i){o[i]=s})),o},toIndexedSeq:function(){return new ToIndexedSequence(this)},toJS:function(){return this.toSeq().map((function(o){return o&&"function"==typeof o.toJS?o.toJS():o})).__toJS()},toJSON:function(){return this.toSeq().map((function(o){return o&&"function"==typeof o.toJSON?o.toJSON():o})).__toJS()},toKeyedSeq:function(){return new ToKeyedSequence(this,!0)},toMap:function(){return Map(this.toKeyedSeq())},toObject:function(){assertNotInfinite(this.size);var o={};return this.__iterate((function(s,i){o[i]=s})),o},toOrderedMap:function(){return OrderedMap(this.toKeyedSeq())},toOrderedSet:function(){return OrderedSet(isKeyed(this)?this.valueSeq():this)},toSet:function(){return Set(isKeyed(this)?this.valueSeq():this)},toSetSeq:function(){return new ToSetSequence(this)},toSeq:function(){return isIndexed(this)?this.toIndexedSeq():isKeyed(this)?this.toKeyedSeq():this.toSetSeq()},toStack:function(){return Stack(isKeyed(this)?this.valueSeq():this)},toList:function(){return List(isKeyed(this)?this.valueSeq():this)},toString:function(){return"[Iterable]"},__toString:function(o,s){return 0===this.size?o+s:o+" "+this.toSeq().map(this.__toStringMapper).join(", ")+" "+s},concat:function(){return reify(this,concatFactory(this,o.call(arguments,0)))},includes:function(o){return this.some((function(s){return is(s,o)}))},entries:function(){return this.__iterator(z)},every:function(o,s){assertNotInfinite(this.size);var i=!0;return this.__iterate((function(u,_,w){if(!o.call(s,u,_,w))return i=!1,!1})),i},filter:function(o,s){return reify(this,filterFactory(this,o,s,!0))},find:function(o,s,i){var u=this.findEntry(o,s);return u?u[1]:i},forEach:function(o,s){return assertNotInfinite(this.size),this.__iterate(s?o.bind(s):o)},join:function(o){assertNotInfinite(this.size),o=void 0!==o?""+o:",";var s="",i=!0;return this.__iterate((function(u){i?i=!1:s+=o,s+=null!=u?u.toString():""})),s},keys:function(){return this.__iterator(V)},map:function(o,s){return reify(this,mapFactory(this,o,s))},reduce:function(o,s,i){var u,_;return assertNotInfinite(this.size),arguments.length<2?_=!0:u=s,this.__iterate((function(s,w,x){_?(_=!1,u=s):u=o.call(i,u,s,w,x)})),u},reduceRight:function(o,s,i){var u=this.toKeyedSeq().reverse();return u.reduce.apply(u,arguments)},reverse:function(){return reify(this,reverseFactory(this,!0))},slice:function(o,s){return reify(this,sliceFactory(this,o,s,!0))},some:function(o,s){return!this.every(not(o),s)},sort:function(o){return reify(this,sortFactory(this,o))},values:function(){return this.__iterator(U)},butLast:function(){return this.slice(0,-1)},isEmpty:function(){return void 0!==this.size?0===this.size:!this.some((function(){return!0}))},count:function(o,s){return ensureSize(o?this.toSeq().filter(o,s):this)},countBy:function(o,s){return countByFactory(this,o,s)},equals:function(o){return deepEqual(this,o)},entrySeq:function(){var o=this;if(o._cache)return new ArraySeq(o._cache);var s=o.toSeq().map(entryMapper).toIndexedSeq();return s.fromEntrySeq=function(){return o.toSeq()},s},filterNot:function(o,s){return this.filter(not(o),s)},findEntry:function(o,s,i){var u=i;return this.__iterate((function(i,_,w){if(o.call(s,i,_,w))return u=[_,i],!1})),u},findKey:function(o,s){var i=this.findEntry(o,s);return i&&i[0]},findLast:function(o,s,i){return this.toKeyedSeq().reverse().find(o,s,i)},findLastEntry:function(o,s,i){return this.toKeyedSeq().reverse().findEntry(o,s,i)},findLastKey:function(o,s){return this.toKeyedSeq().reverse().findKey(o,s)},first:function(){return this.find(returnTrue)},flatMap:function(o,s){return reify(this,flatMapFactory(this,o,s))},flatten:function(o){return reify(this,flattenFactory(this,o,!0))},fromEntrySeq:function(){return new FromEntriesSequence(this)},get:function(o,s){return this.find((function(s,i){return is(i,o)}),void 0,s)},getIn:function(o,s){for(var i,u=this,_=forceIterator(o);!(i=_.next()).done;){var w=i.value;if((u=u&&u.get?u.get(w,L):L)===L)return s}return u},groupBy:function(o,s){return groupByFactory(this,o,s)},has:function(o){return this.get(o,L)!==L},hasIn:function(o){return this.getIn(o,L)!==L},isSubset:function(o){return o="function"==typeof o.includes?o:Iterable(o),this.every((function(s){return o.includes(s)}))},isSuperset:function(o){return(o="function"==typeof o.isSubset?o:Iterable(o)).isSubset(this)},keyOf:function(o){return this.findKey((function(s){return is(s,o)}))},keySeq:function(){return this.toSeq().map(keyMapper).toIndexedSeq()},last:function(){return this.toSeq().reverse().first()},lastKeyOf:function(o){return this.toKeyedSeq().reverse().keyOf(o)},max:function(o){return maxFactory(this,o)},maxBy:function(o,s){return maxFactory(this,s,o)},min:function(o){return maxFactory(this,o?neg(o):defaultNegComparator)},minBy:function(o,s){return maxFactory(this,s?neg(s):defaultNegComparator,o)},rest:function(){return this.slice(1)},skip:function(o){return this.slice(Math.max(0,o))},skipLast:function(o){return reify(this,this.toSeq().reverse().skip(o).reverse())},skipWhile:function(o,s){return reify(this,skipWhileFactory(this,o,s,!0))},skipUntil:function(o,s){return this.skipWhile(not(o),s)},sortBy:function(o,s){return reify(this,sortFactory(this,s,o))},take:function(o){return this.slice(0,Math.max(0,o))},takeLast:function(o){return reify(this,this.toSeq().reverse().take(o).reverse())},takeWhile:function(o,s){return reify(this,takeWhileFactory(this,o,s))},takeUntil:function(o,s){return this.takeWhile(not(o),s)},valueSeq:function(){return this.toIndexedSeq()},hashCode:function(){return this.__hash||(this.__hash=hashIterable(this))}});var pt=Iterable.prototype;pt[s]=!0,pt[ee]=pt.values,pt.__toJS=pt.toArray,pt.__toStringMapper=quoteString,pt.inspect=pt.toSource=function(){return this.toString()},pt.chain=pt.flatMap,pt.contains=pt.includes,mixin(KeyedIterable,{flip:function(){return reify(this,flipFactory(this))},mapEntries:function(o,s){var i=this,u=0;return reify(this,this.toSeq().map((function(_,w){return o.call(s,[w,_],u++,i)})).fromEntrySeq())},mapKeys:function(o,s){var i=this;return reify(this,this.toSeq().flip().map((function(u,_){return o.call(s,u,_,i)})).flip())}});var ht=KeyedIterable.prototype;function keyMapper(o,s){return s}function entryMapper(o,s){return[s,o]}function not(o){return function(){return!o.apply(this,arguments)}}function neg(o){return function(){return-o.apply(this,arguments)}}function quoteString(o){return"string"==typeof o?JSON.stringify(o):String(o)}function defaultZipper(){return arrCopy(arguments)}function defaultNegComparator(o,s){return os?-1:0}function hashIterable(o){if(o.size===1/0)return 0;var s=isOrdered(o),i=isKeyed(o),u=s?1:0;return murmurHashOfSize(o.__iterate(i?s?function(o,s){u=31*u+hashMerge(hash(o),hash(s))|0}:function(o,s){u=u+hashMerge(hash(o),hash(s))|0}:s?function(o){u=31*u+hash(o)|0}:function(o){u=u+hash(o)|0}),u)}function murmurHashOfSize(o,s){return s=pe(s,3432918353),s=pe(s<<15|s>>>-15,461845907),s=pe(s<<13|s>>>-13,5),s=pe((s=s+3864292196^o)^s>>>16,2246822507),s=smi((s=pe(s^s>>>13,3266489909))^s>>>16)}function hashMerge(o,s){return o^s+2654435769+(o<<6)+(o>>2)}return ht[i]=!0,ht[ee]=pt.entries,ht.__toJS=pt.toObject,ht.__toStringMapper=function(o,s){return JSON.stringify(s)+": "+quoteString(o)},mixin(IndexedIterable,{toKeyedSeq:function(){return new ToKeyedSequence(this,!1)},filter:function(o,s){return reify(this,filterFactory(this,o,s,!1))},findIndex:function(o,s){var i=this.findEntry(o,s);return i?i[0]:-1},indexOf:function(o){var s=this.keyOf(o);return void 0===s?-1:s},lastIndexOf:function(o){var s=this.lastKeyOf(o);return void 0===s?-1:s},reverse:function(){return reify(this,reverseFactory(this,!1))},slice:function(o,s){return reify(this,sliceFactory(this,o,s,!1))},splice:function(o,s){var i=arguments.length;if(s=Math.max(0|s,0),0===i||2===i&&!s)return this;o=resolveBegin(o,o<0?this.count():this.size);var u=this.slice(0,o);return reify(this,1===i?u:u.concat(arrCopy(arguments,2),this.slice(o+s)))},findLastIndex:function(o,s){var i=this.findLastEntry(o,s);return i?i[0]:-1},first:function(){return this.get(0)},flatten:function(o){return reify(this,flattenFactory(this,o,!1))},get:function(o,s){return(o=wrapIndex(this,o))<0||this.size===1/0||void 0!==this.size&&o>this.size?s:this.find((function(s,i){return i===o}),void 0,s)},has:function(o){return(o=wrapIndex(this,o))>=0&&(void 0!==this.size?this.size===1/0||o{"function"==typeof Object.create?o.exports=function inherits(o,s){s&&(o.super_=s,o.prototype=Object.create(s.prototype,{constructor:{value:o,enumerable:!1,writable:!0,configurable:!0}}))}:o.exports=function inherits(o,s){if(s){o.super_=s;var TempCtor=function(){};TempCtor.prototype=s.prototype,o.prototype=new TempCtor,o.prototype.constructor=o}}},5419:o=>{o.exports=function(o,s,i,u){var _=new Blob(void 0!==u?[u,o]:[o],{type:i||"application/octet-stream"});if(void 0!==window.navigator.msSaveBlob)window.navigator.msSaveBlob(_,s);else{var w=window.URL&&window.URL.createObjectURL?window.URL.createObjectURL(_):window.webkitURL.createObjectURL(_),x=document.createElement("a");x.style.display="none",x.href=w,x.setAttribute("download",s),void 0===x.download&&x.setAttribute("target","_blank"),document.body.appendChild(x),x.click(),setTimeout((function(){document.body.removeChild(x),window.URL.revokeObjectURL(w)}),200)}}},20181:(o,s,i)=>{var u=NaN,_="[object Symbol]",w=/^\s+|\s+$/g,x=/^[-+]0x[0-9a-f]+$/i,C=/^0b[01]+$/i,j=/^0o[0-7]+$/i,L=parseInt,B="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,$="object"==typeof self&&self&&self.Object===Object&&self,V=B||$||Function("return this")(),U=Object.prototype.toString,z=Math.max,Y=Math.min,now=function(){return V.Date.now()};function isObject(o){var s=typeof o;return!!o&&("object"==s||"function"==s)}function toNumber(o){if("number"==typeof o)return o;if(function isSymbol(o){return"symbol"==typeof o||function isObjectLike(o){return!!o&&"object"==typeof o}(o)&&U.call(o)==_}(o))return u;if(isObject(o)){var s="function"==typeof o.valueOf?o.valueOf():o;o=isObject(s)?s+"":s}if("string"!=typeof o)return 0===o?o:+o;o=o.replace(w,"");var i=C.test(o);return i||j.test(o)?L(o.slice(2),i?2:8):x.test(o)?u:+o}o.exports=function debounce(o,s,i){var u,_,w,x,C,j,L=0,B=!1,$=!1,V=!0;if("function"!=typeof o)throw new TypeError("Expected a function");function invokeFunc(s){var i=u,w=_;return u=_=void 0,L=s,x=o.apply(w,i)}function shouldInvoke(o){var i=o-j;return void 0===j||i>=s||i<0||$&&o-L>=w}function timerExpired(){var o=now();if(shouldInvoke(o))return trailingEdge(o);C=setTimeout(timerExpired,function remainingWait(o){var i=s-(o-j);return $?Y(i,w-(o-L)):i}(o))}function trailingEdge(o){return C=void 0,V&&u?invokeFunc(o):(u=_=void 0,x)}function debounced(){var o=now(),i=shouldInvoke(o);if(u=arguments,_=this,j=o,i){if(void 0===C)return function leadingEdge(o){return L=o,C=setTimeout(timerExpired,s),B?invokeFunc(o):x}(j);if($)return C=setTimeout(timerExpired,s),invokeFunc(j)}return void 0===C&&(C=setTimeout(timerExpired,s)),x}return s=toNumber(s)||0,isObject(i)&&(B=!!i.leading,w=($="maxWait"in i)?z(toNumber(i.maxWait)||0,s):w,V="trailing"in i?!!i.trailing:V),debounced.cancel=function cancel(){void 0!==C&&clearTimeout(C),L=0,u=j=_=C=void 0},debounced.flush=function flush(){return void 0===C?x:trailingEdge(now())},debounced}},55580:(o,s,i)=>{var u=i(56110)(i(9325),"DataView");o.exports=u},21549:(o,s,i)=>{var u=i(22032),_=i(63862),w=i(66721),x=i(12749),C=i(35749);function Hash(o){var s=-1,i=null==o?0:o.length;for(this.clear();++s{var u=i(39344),_=i(94033);function LazyWrapper(o){this.__wrapped__=o,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=4294967295,this.__views__=[]}LazyWrapper.prototype=u(_.prototype),LazyWrapper.prototype.constructor=LazyWrapper,o.exports=LazyWrapper},80079:(o,s,i)=>{var u=i(63702),_=i(70080),w=i(24739),x=i(48655),C=i(31175);function ListCache(o){var s=-1,i=null==o?0:o.length;for(this.clear();++s{var u=i(39344),_=i(94033);function LodashWrapper(o,s){this.__wrapped__=o,this.__actions__=[],this.__chain__=!!s,this.__index__=0,this.__values__=void 0}LodashWrapper.prototype=u(_.prototype),LodashWrapper.prototype.constructor=LodashWrapper,o.exports=LodashWrapper},68223:(o,s,i)=>{var u=i(56110)(i(9325),"Map");o.exports=u},53661:(o,s,i)=>{var u=i(63040),_=i(17670),w=i(90289),x=i(4509),C=i(72949);function MapCache(o){var s=-1,i=null==o?0:o.length;for(this.clear();++s{var u=i(56110)(i(9325),"Promise");o.exports=u},76545:(o,s,i)=>{var u=i(56110)(i(9325),"Set");o.exports=u},38859:(o,s,i)=>{var u=i(53661),_=i(31380),w=i(51459);function SetCache(o){var s=-1,i=null==o?0:o.length;for(this.__data__=new u;++s{var u=i(80079),_=i(51420),w=i(90938),x=i(63605),C=i(29817),j=i(80945);function Stack(o){var s=this.__data__=new u(o);this.size=s.size}Stack.prototype.clear=_,Stack.prototype.delete=w,Stack.prototype.get=x,Stack.prototype.has=C,Stack.prototype.set=j,o.exports=Stack},51873:(o,s,i)=>{var u=i(9325).Symbol;o.exports=u},37828:(o,s,i)=>{var u=i(9325).Uint8Array;o.exports=u},28303:(o,s,i)=>{var u=i(56110)(i(9325),"WeakMap");o.exports=u},91033:o=>{o.exports=function apply(o,s,i){switch(i.length){case 0:return o.call(s);case 1:return o.call(s,i[0]);case 2:return o.call(s,i[0],i[1]);case 3:return o.call(s,i[0],i[1],i[2])}return o.apply(s,i)}},83729:o=>{o.exports=function arrayEach(o,s){for(var i=-1,u=null==o?0:o.length;++i{o.exports=function arrayFilter(o,s){for(var i=-1,u=null==o?0:o.length,_=0,w=[];++i{var u=i(96131);o.exports=function arrayIncludes(o,s){return!!(null==o?0:o.length)&&u(o,s,0)>-1}},70695:(o,s,i)=>{var u=i(78096),_=i(72428),w=i(56449),x=i(3656),C=i(30361),j=i(37167),L=Object.prototype.hasOwnProperty;o.exports=function arrayLikeKeys(o,s){var i=w(o),B=!i&&_(o),$=!i&&!B&&x(o),V=!i&&!B&&!$&&j(o),U=i||B||$||V,z=U?u(o.length,String):[],Y=z.length;for(var Z in o)!s&&!L.call(o,Z)||U&&("length"==Z||$&&("offset"==Z||"parent"==Z)||V&&("buffer"==Z||"byteLength"==Z||"byteOffset"==Z)||C(Z,Y))||z.push(Z);return z}},34932:o=>{o.exports=function arrayMap(o,s){for(var i=-1,u=null==o?0:o.length,_=Array(u);++i{o.exports=function arrayPush(o,s){for(var i=-1,u=s.length,_=o.length;++i{o.exports=function arrayReduce(o,s,i,u){var _=-1,w=null==o?0:o.length;for(u&&w&&(i=o[++_]);++_{o.exports=function arraySome(o,s){for(var i=-1,u=null==o?0:o.length;++i{o.exports=function asciiToArray(o){return o.split("")}},1733:o=>{var s=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;o.exports=function asciiWords(o){return o.match(s)||[]}},87805:(o,s,i)=>{var u=i(43360),_=i(75288);o.exports=function assignMergeValue(o,s,i){(void 0!==i&&!_(o[s],i)||void 0===i&&!(s in o))&&u(o,s,i)}},16547:(o,s,i)=>{var u=i(43360),_=i(75288),w=Object.prototype.hasOwnProperty;o.exports=function assignValue(o,s,i){var x=o[s];w.call(o,s)&&_(x,i)&&(void 0!==i||s in o)||u(o,s,i)}},26025:(o,s,i)=>{var u=i(75288);o.exports=function assocIndexOf(o,s){for(var i=o.length;i--;)if(u(o[i][0],s))return i;return-1}},74733:(o,s,i)=>{var u=i(21791),_=i(95950);o.exports=function baseAssign(o,s){return o&&u(s,_(s),o)}},43838:(o,s,i)=>{var u=i(21791),_=i(37241);o.exports=function baseAssignIn(o,s){return o&&u(s,_(s),o)}},43360:(o,s,i)=>{var u=i(93243);o.exports=function baseAssignValue(o,s,i){"__proto__"==s&&u?u(o,s,{configurable:!0,enumerable:!0,value:i,writable:!0}):o[s]=i}},9999:(o,s,i)=>{var u=i(37217),_=i(83729),w=i(16547),x=i(74733),C=i(43838),j=i(93290),L=i(23007),B=i(92271),$=i(48948),V=i(50002),U=i(83349),z=i(5861),Y=i(76189),Z=i(77199),ee=i(35529),ie=i(56449),ae=i(3656),ce=i(87730),le=i(23805),pe=i(38440),de=i(95950),fe=i(37241),ye="[object Arguments]",be="[object Function]",_e="[object Object]",we={};we[ye]=we["[object Array]"]=we["[object ArrayBuffer]"]=we["[object DataView]"]=we["[object Boolean]"]=we["[object Date]"]=we["[object Float32Array]"]=we["[object Float64Array]"]=we["[object Int8Array]"]=we["[object Int16Array]"]=we["[object Int32Array]"]=we["[object Map]"]=we["[object Number]"]=we[_e]=we["[object RegExp]"]=we["[object Set]"]=we["[object String]"]=we["[object Symbol]"]=we["[object Uint8Array]"]=we["[object Uint8ClampedArray]"]=we["[object Uint16Array]"]=we["[object Uint32Array]"]=!0,we["[object Error]"]=we[be]=we["[object WeakMap]"]=!1,o.exports=function baseClone(o,s,i,Se,xe,Pe){var Te,Re=1&s,qe=2&s,$e=4&s;if(i&&(Te=xe?i(o,Se,xe,Pe):i(o)),void 0!==Te)return Te;if(!le(o))return o;var ze=ie(o);if(ze){if(Te=Y(o),!Re)return L(o,Te)}else{var We=z(o),He=We==be||"[object GeneratorFunction]"==We;if(ae(o))return j(o,Re);if(We==_e||We==ye||He&&!xe){if(Te=qe||He?{}:ee(o),!Re)return qe?$(o,C(Te,o)):B(o,x(Te,o))}else{if(!we[We])return xe?o:{};Te=Z(o,We,Re)}}Pe||(Pe=new u);var Ye=Pe.get(o);if(Ye)return Ye;Pe.set(o,Te),pe(o)?o.forEach((function(u){Te.add(baseClone(u,s,i,u,o,Pe))})):ce(o)&&o.forEach((function(u,_){Te.set(_,baseClone(u,s,i,_,o,Pe))}));var Xe=ze?void 0:($e?qe?U:V:qe?fe:de)(o);return _(Xe||o,(function(u,_){Xe&&(u=o[_=u]),w(Te,_,baseClone(u,s,i,_,o,Pe))})),Te}},39344:(o,s,i)=>{var u=i(23805),_=Object.create,w=function(){function object(){}return function(o){if(!u(o))return{};if(_)return _(o);object.prototype=o;var s=new object;return object.prototype=void 0,s}}();o.exports=w},80909:(o,s,i)=>{var u=i(30641),_=i(38329)(u);o.exports=_},2523:o=>{o.exports=function baseFindIndex(o,s,i,u){for(var _=o.length,w=i+(u?1:-1);u?w--:++w<_;)if(s(o[w],w,o))return w;return-1}},83120:(o,s,i)=>{var u=i(14528),_=i(45891);o.exports=function baseFlatten(o,s,i,w,x){var C=-1,j=o.length;for(i||(i=_),x||(x=[]);++C0&&i(L)?s>1?baseFlatten(L,s-1,i,w,x):u(x,L):w||(x[x.length]=L)}return x}},86649:(o,s,i)=>{var u=i(83221)();o.exports=u},30641:(o,s,i)=>{var u=i(86649),_=i(95950);o.exports=function baseForOwn(o,s){return o&&u(o,s,_)}},47422:(o,s,i)=>{var u=i(31769),_=i(77797);o.exports=function baseGet(o,s){for(var i=0,w=(s=u(s,o)).length;null!=o&&i{var u=i(14528),_=i(56449);o.exports=function baseGetAllKeys(o,s,i){var w=s(o);return _(o)?w:u(w,i(o))}},72552:(o,s,i)=>{var u=i(51873),_=i(659),w=i(59350),x=u?u.toStringTag:void 0;o.exports=function baseGetTag(o){return null==o?void 0===o?"[object Undefined]":"[object Null]":x&&x in Object(o)?_(o):w(o)}},20426:o=>{var s=Object.prototype.hasOwnProperty;o.exports=function baseHas(o,i){return null!=o&&s.call(o,i)}},28077:o=>{o.exports=function baseHasIn(o,s){return null!=o&&s in Object(o)}},96131:(o,s,i)=>{var u=i(2523),_=i(85463),w=i(76959);o.exports=function baseIndexOf(o,s,i){return s==s?w(o,s,i):u(o,_,i)}},27534:(o,s,i)=>{var u=i(72552),_=i(40346);o.exports=function baseIsArguments(o){return _(o)&&"[object Arguments]"==u(o)}},60270:(o,s,i)=>{var u=i(87068),_=i(40346);o.exports=function baseIsEqual(o,s,i,w,x){return o===s||(null==o||null==s||!_(o)&&!_(s)?o!=o&&s!=s:u(o,s,i,w,baseIsEqual,x))}},87068:(o,s,i)=>{var u=i(37217),_=i(25911),w=i(21986),x=i(50689),C=i(5861),j=i(56449),L=i(3656),B=i(37167),$="[object Arguments]",V="[object Array]",U="[object Object]",z=Object.prototype.hasOwnProperty;o.exports=function baseIsEqualDeep(o,s,i,Y,Z,ee){var ie=j(o),ae=j(s),ce=ie?V:C(o),le=ae?V:C(s),pe=(ce=ce==$?U:ce)==U,de=(le=le==$?U:le)==U,fe=ce==le;if(fe&&L(o)){if(!L(s))return!1;ie=!0,pe=!1}if(fe&&!pe)return ee||(ee=new u),ie||B(o)?_(o,s,i,Y,Z,ee):w(o,s,ce,i,Y,Z,ee);if(!(1&i)){var ye=pe&&z.call(o,"__wrapped__"),be=de&&z.call(s,"__wrapped__");if(ye||be){var _e=ye?o.value():o,we=be?s.value():s;return ee||(ee=new u),Z(_e,we,i,Y,ee)}}return!!fe&&(ee||(ee=new u),x(o,s,i,Y,Z,ee))}},29172:(o,s,i)=>{var u=i(5861),_=i(40346);o.exports=function baseIsMap(o){return _(o)&&"[object Map]"==u(o)}},41799:(o,s,i)=>{var u=i(37217),_=i(60270);o.exports=function baseIsMatch(o,s,i,w){var x=i.length,C=x,j=!w;if(null==o)return!C;for(o=Object(o);x--;){var L=i[x];if(j&&L[2]?L[1]!==o[L[0]]:!(L[0]in o))return!1}for(;++x{o.exports=function baseIsNaN(o){return o!=o}},45083:(o,s,i)=>{var u=i(1882),_=i(87296),w=i(23805),x=i(47473),C=/^\[object .+?Constructor\]$/,j=Function.prototype,L=Object.prototype,B=j.toString,$=L.hasOwnProperty,V=RegExp("^"+B.call($).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");o.exports=function baseIsNative(o){return!(!w(o)||_(o))&&(u(o)?V:C).test(x(o))}},16038:(o,s,i)=>{var u=i(5861),_=i(40346);o.exports=function baseIsSet(o){return _(o)&&"[object Set]"==u(o)}},4901:(o,s,i)=>{var u=i(72552),_=i(30294),w=i(40346),x={};x["[object Float32Array]"]=x["[object Float64Array]"]=x["[object Int8Array]"]=x["[object Int16Array]"]=x["[object Int32Array]"]=x["[object Uint8Array]"]=x["[object Uint8ClampedArray]"]=x["[object Uint16Array]"]=x["[object Uint32Array]"]=!0,x["[object Arguments]"]=x["[object Array]"]=x["[object ArrayBuffer]"]=x["[object Boolean]"]=x["[object DataView]"]=x["[object Date]"]=x["[object Error]"]=x["[object Function]"]=x["[object Map]"]=x["[object Number]"]=x["[object Object]"]=x["[object RegExp]"]=x["[object Set]"]=x["[object String]"]=x["[object WeakMap]"]=!1,o.exports=function baseIsTypedArray(o){return w(o)&&_(o.length)&&!!x[u(o)]}},15389:(o,s,i)=>{var u=i(93663),_=i(87978),w=i(83488),x=i(56449),C=i(50583);o.exports=function baseIteratee(o){return"function"==typeof o?o:null==o?w:"object"==typeof o?x(o)?_(o[0],o[1]):u(o):C(o)}},88984:(o,s,i)=>{var u=i(55527),_=i(3650),w=Object.prototype.hasOwnProperty;o.exports=function baseKeys(o){if(!u(o))return _(o);var s=[];for(var i in Object(o))w.call(o,i)&&"constructor"!=i&&s.push(i);return s}},72903:(o,s,i)=>{var u=i(23805),_=i(55527),w=i(90181),x=Object.prototype.hasOwnProperty;o.exports=function baseKeysIn(o){if(!u(o))return w(o);var s=_(o),i=[];for(var C in o)("constructor"!=C||!s&&x.call(o,C))&&i.push(C);return i}},94033:o=>{o.exports=function baseLodash(){}},93663:(o,s,i)=>{var u=i(41799),_=i(10776),w=i(67197);o.exports=function baseMatches(o){var s=_(o);return 1==s.length&&s[0][2]?w(s[0][0],s[0][1]):function(i){return i===o||u(i,o,s)}}},87978:(o,s,i)=>{var u=i(60270),_=i(58156),w=i(80631),x=i(28586),C=i(30756),j=i(67197),L=i(77797);o.exports=function baseMatchesProperty(o,s){return x(o)&&C(s)?j(L(o),s):function(i){var x=_(i,o);return void 0===x&&x===s?w(i,o):u(s,x,3)}}},85250:(o,s,i)=>{var u=i(37217),_=i(87805),w=i(86649),x=i(42824),C=i(23805),j=i(37241),L=i(14974);o.exports=function baseMerge(o,s,i,B,$){o!==s&&w(s,(function(w,j){if($||($=new u),C(w))x(o,s,j,i,baseMerge,B,$);else{var V=B?B(L(o,j),w,j+"",o,s,$):void 0;void 0===V&&(V=w),_(o,j,V)}}),j)}},42824:(o,s,i)=>{var u=i(87805),_=i(93290),w=i(71961),x=i(23007),C=i(35529),j=i(72428),L=i(56449),B=i(83693),$=i(3656),V=i(1882),U=i(23805),z=i(11331),Y=i(37167),Z=i(14974),ee=i(69884);o.exports=function baseMergeDeep(o,s,i,ie,ae,ce,le){var pe=Z(o,i),de=Z(s,i),fe=le.get(de);if(fe)u(o,i,fe);else{var ye=ce?ce(pe,de,i+"",o,s,le):void 0,be=void 0===ye;if(be){var _e=L(de),we=!_e&&$(de),Se=!_e&&!we&&Y(de);ye=de,_e||we||Se?L(pe)?ye=pe:B(pe)?ye=x(pe):we?(be=!1,ye=_(de,!0)):Se?(be=!1,ye=w(de,!0)):ye=[]:z(de)||j(de)?(ye=pe,j(pe)?ye=ee(pe):U(pe)&&!V(pe)||(ye=C(de))):be=!1}be&&(le.set(de,ye),ae(ye,de,ie,ce,le),le.delete(de)),u(o,i,ye)}}},47237:o=>{o.exports=function baseProperty(o){return function(s){return null==s?void 0:s[o]}}},17255:(o,s,i)=>{var u=i(47422);o.exports=function basePropertyDeep(o){return function(s){return u(s,o)}}},54552:o=>{o.exports=function basePropertyOf(o){return function(s){return null==o?void 0:o[s]}}},85558:o=>{o.exports=function baseReduce(o,s,i,u,_){return _(o,(function(o,_,w){i=u?(u=!1,o):s(i,o,_,w)})),i}},69302:(o,s,i)=>{var u=i(83488),_=i(56757),w=i(32865);o.exports=function baseRest(o,s){return w(_(o,s,u),o+"")}},73170:(o,s,i)=>{var u=i(16547),_=i(31769),w=i(30361),x=i(23805),C=i(77797);o.exports=function baseSet(o,s,i,j){if(!x(o))return o;for(var L=-1,B=(s=_(s,o)).length,$=B-1,V=o;null!=V&&++L{var u=i(83488),_=i(48152),w=_?function(o,s){return _.set(o,s),o}:u;o.exports=w},19570:(o,s,i)=>{var u=i(37334),_=i(93243),w=i(83488),x=_?function(o,s){return _(o,"toString",{configurable:!0,enumerable:!1,value:u(s),writable:!0})}:w;o.exports=x},25160:o=>{o.exports=function baseSlice(o,s,i){var u=-1,_=o.length;s<0&&(s=-s>_?0:_+s),(i=i>_?_:i)<0&&(i+=_),_=s>i?0:i-s>>>0,s>>>=0;for(var w=Array(_);++u<_;)w[u]=o[u+s];return w}},90916:(o,s,i)=>{var u=i(80909);o.exports=function baseSome(o,s){var i;return u(o,(function(o,u,_){return!(i=s(o,u,_))})),!!i}},78096:o=>{o.exports=function baseTimes(o,s){for(var i=-1,u=Array(o);++i{var u=i(51873),_=i(34932),w=i(56449),x=i(44394),C=u?u.prototype:void 0,j=C?C.toString:void 0;o.exports=function baseToString(o){if("string"==typeof o)return o;if(w(o))return _(o,baseToString)+"";if(x(o))return j?j.call(o):"";var s=o+"";return"0"==s&&1/o==-1/0?"-0":s}},54128:(o,s,i)=>{var u=i(31800),_=/^\s+/;o.exports=function baseTrim(o){return o?o.slice(0,u(o)+1).replace(_,""):o}},27301:o=>{o.exports=function baseUnary(o){return function(s){return o(s)}}},19931:(o,s,i)=>{var u=i(31769),_=i(68090),w=i(68969),x=i(77797);o.exports=function baseUnset(o,s){return s=u(s,o),null==(o=w(o,s))||delete o[x(_(s))]}},51234:o=>{o.exports=function baseZipObject(o,s,i){for(var u=-1,_=o.length,w=s.length,x={};++u<_;){var C=u{o.exports=function cacheHas(o,s){return o.has(s)}},31769:(o,s,i)=>{var u=i(56449),_=i(28586),w=i(61802),x=i(13222);o.exports=function castPath(o,s){return u(o)?o:_(o,s)?[o]:w(x(o))}},28754:(o,s,i)=>{var u=i(25160);o.exports=function castSlice(o,s,i){var _=o.length;return i=void 0===i?_:i,!s&&i>=_?o:u(o,s,i)}},49653:(o,s,i)=>{var u=i(37828);o.exports=function cloneArrayBuffer(o){var s=new o.constructor(o.byteLength);return new u(s).set(new u(o)),s}},93290:(o,s,i)=>{o=i.nmd(o);var u=i(9325),_=s&&!s.nodeType&&s,w=_&&o&&!o.nodeType&&o,x=w&&w.exports===_?u.Buffer:void 0,C=x?x.allocUnsafe:void 0;o.exports=function cloneBuffer(o,s){if(s)return o.slice();var i=o.length,u=C?C(i):new o.constructor(i);return o.copy(u),u}},76169:(o,s,i)=>{var u=i(49653);o.exports=function cloneDataView(o,s){var i=s?u(o.buffer):o.buffer;return new o.constructor(i,o.byteOffset,o.byteLength)}},73201:o=>{var s=/\w*$/;o.exports=function cloneRegExp(o){var i=new o.constructor(o.source,s.exec(o));return i.lastIndex=o.lastIndex,i}},93736:(o,s,i)=>{var u=i(51873),_=u?u.prototype:void 0,w=_?_.valueOf:void 0;o.exports=function cloneSymbol(o){return w?Object(w.call(o)):{}}},71961:(o,s,i)=>{var u=i(49653);o.exports=function cloneTypedArray(o,s){var i=s?u(o.buffer):o.buffer;return new o.constructor(i,o.byteOffset,o.length)}},91596:o=>{var s=Math.max;o.exports=function composeArgs(o,i,u,_){for(var w=-1,x=o.length,C=u.length,j=-1,L=i.length,B=s(x-C,0),$=Array(L+B),V=!_;++j{var s=Math.max;o.exports=function composeArgsRight(o,i,u,_){for(var w=-1,x=o.length,C=-1,j=u.length,L=-1,B=i.length,$=s(x-j,0),V=Array($+B),U=!_;++w<$;)V[w]=o[w];for(var z=w;++L{o.exports=function copyArray(o,s){var i=-1,u=o.length;for(s||(s=Array(u));++i{var u=i(16547),_=i(43360);o.exports=function copyObject(o,s,i,w){var x=!i;i||(i={});for(var C=-1,j=s.length;++C{var u=i(21791),_=i(4664);o.exports=function copySymbols(o,s){return u(o,_(o),s)}},48948:(o,s,i)=>{var u=i(21791),_=i(86375);o.exports=function copySymbolsIn(o,s){return u(o,_(o),s)}},55481:(o,s,i)=>{var u=i(9325)["__core-js_shared__"];o.exports=u},58523:o=>{o.exports=function countHolders(o,s){for(var i=o.length,u=0;i--;)o[i]===s&&++u;return u}},20999:(o,s,i)=>{var u=i(69302),_=i(36800);o.exports=function createAssigner(o){return u((function(s,i){var u=-1,w=i.length,x=w>1?i[w-1]:void 0,C=w>2?i[2]:void 0;for(x=o.length>3&&"function"==typeof x?(w--,x):void 0,C&&_(i[0],i[1],C)&&(x=w<3?void 0:x,w=1),s=Object(s);++u{var u=i(64894);o.exports=function createBaseEach(o,s){return function(i,_){if(null==i)return i;if(!u(i))return o(i,_);for(var w=i.length,x=s?w:-1,C=Object(i);(s?x--:++x{o.exports=function createBaseFor(o){return function(s,i,u){for(var _=-1,w=Object(s),x=u(s),C=x.length;C--;){var j=x[o?C:++_];if(!1===i(w[j],j,w))break}return s}}},11842:(o,s,i)=>{var u=i(82819),_=i(9325);o.exports=function createBind(o,s,i){var w=1&s,x=u(o);return function wrapper(){return(this&&this!==_&&this instanceof wrapper?x:o).apply(w?i:this,arguments)}}},12507:(o,s,i)=>{var u=i(28754),_=i(49698),w=i(63912),x=i(13222);o.exports=function createCaseFirst(o){return function(s){s=x(s);var i=_(s)?w(s):void 0,C=i?i[0]:s.charAt(0),j=i?u(i,1).join(""):s.slice(1);return C[o]()+j}}},45539:(o,s,i)=>{var u=i(40882),_=i(50828),w=i(66645),x=RegExp("['’]","g");o.exports=function createCompounder(o){return function(s){return u(w(_(s).replace(x,"")),o,"")}}},82819:(o,s,i)=>{var u=i(39344),_=i(23805);o.exports=function createCtor(o){return function(){var s=arguments;switch(s.length){case 0:return new o;case 1:return new o(s[0]);case 2:return new o(s[0],s[1]);case 3:return new o(s[0],s[1],s[2]);case 4:return new o(s[0],s[1],s[2],s[3]);case 5:return new o(s[0],s[1],s[2],s[3],s[4]);case 6:return new o(s[0],s[1],s[2],s[3],s[4],s[5]);case 7:return new o(s[0],s[1],s[2],s[3],s[4],s[5],s[6])}var i=u(o.prototype),w=o.apply(i,s);return _(w)?w:i}}},77078:(o,s,i)=>{var u=i(91033),_=i(82819),w=i(37471),x=i(18073),C=i(11287),j=i(36306),L=i(9325);o.exports=function createCurry(o,s,i){var B=_(o);return function wrapper(){for(var _=arguments.length,$=Array(_),V=_,U=C(wrapper);V--;)$[V]=arguments[V];var z=_<3&&$[0]!==U&&$[_-1]!==U?[]:j($,U);return(_-=z.length){var u=i(15389),_=i(64894),w=i(95950);o.exports=function createFind(o){return function(s,i,x){var C=Object(s);if(!_(s)){var j=u(i,3);s=w(s),i=function(o){return j(C[o],o,C)}}var L=o(s,i,x);return L>-1?C[j?s[L]:L]:void 0}}},37471:(o,s,i)=>{var u=i(91596),_=i(53320),w=i(58523),x=i(82819),C=i(18073),j=i(11287),L=i(68294),B=i(36306),$=i(9325);o.exports=function createHybrid(o,s,i,V,U,z,Y,Z,ee,ie){var ae=128&s,ce=1&s,le=2&s,pe=24&s,de=512&s,fe=le?void 0:x(o);return function wrapper(){for(var ye=arguments.length,be=Array(ye),_e=ye;_e--;)be[_e]=arguments[_e];if(pe)var we=j(wrapper),Se=w(be,we);if(V&&(be=u(be,V,U,pe)),z&&(be=_(be,z,Y,pe)),ye-=Se,pe&&ye1&&be.reverse(),ae&&ee{var u=i(91033),_=i(82819),w=i(9325);o.exports=function createPartial(o,s,i,x){var C=1&s,j=_(o);return function wrapper(){for(var s=-1,_=arguments.length,L=-1,B=x.length,$=Array(B+_),V=this&&this!==w&&this instanceof wrapper?j:o;++L{var u=i(85087),_=i(54641),w=i(70981);o.exports=function createRecurry(o,s,i,x,C,j,L,B,$,V){var U=8&s;s|=U?32:64,4&(s&=~(U?64:32))||(s&=-4);var z=[o,s,C,U?j:void 0,U?L:void 0,U?void 0:j,U?void 0:L,B,$,V],Y=i.apply(void 0,z);return u(o)&&_(Y,z),Y.placeholder=x,w(Y,o,s)}},66977:(o,s,i)=>{var u=i(68882),_=i(11842),w=i(77078),x=i(37471),C=i(24168),j=i(37381),L=i(3209),B=i(54641),$=i(70981),V=i(61489),U=Math.max;o.exports=function createWrap(o,s,i,z,Y,Z,ee,ie){var ae=2&s;if(!ae&&"function"!=typeof o)throw new TypeError("Expected a function");var ce=z?z.length:0;if(ce||(s&=-97,z=Y=void 0),ee=void 0===ee?ee:U(V(ee),0),ie=void 0===ie?ie:V(ie),ce-=Y?Y.length:0,64&s){var le=z,pe=Y;z=Y=void 0}var de=ae?void 0:j(o),fe=[o,s,i,z,Y,le,pe,Z,ee,ie];if(de&&L(fe,de),o=fe[0],s=fe[1],i=fe[2],z=fe[3],Y=fe[4],!(ie=fe[9]=void 0===fe[9]?ae?0:o.length:U(fe[9]-ce,0))&&24&s&&(s&=-25),s&&1!=s)ye=8==s||16==s?w(o,s,ie):32!=s&&33!=s||Y.length?x.apply(void 0,fe):C(o,s,i,z);else var ye=_(o,s,i);return $((de?u:B)(ye,fe),o,s)}},53138:(o,s,i)=>{var u=i(11331);o.exports=function customOmitClone(o){return u(o)?void 0:o}},24647:(o,s,i)=>{var u=i(54552)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});o.exports=u},93243:(o,s,i)=>{var u=i(56110),_=function(){try{var o=u(Object,"defineProperty");return o({},"",{}),o}catch(o){}}();o.exports=_},25911:(o,s,i)=>{var u=i(38859),_=i(14248),w=i(19219);o.exports=function equalArrays(o,s,i,x,C,j){var L=1&i,B=o.length,$=s.length;if(B!=$&&!(L&&$>B))return!1;var V=j.get(o),U=j.get(s);if(V&&U)return V==s&&U==o;var z=-1,Y=!0,Z=2&i?new u:void 0;for(j.set(o,s),j.set(s,o);++z{var u=i(51873),_=i(37828),w=i(75288),x=i(25911),C=i(20317),j=i(84247),L=u?u.prototype:void 0,B=L?L.valueOf:void 0;o.exports=function equalByTag(o,s,i,u,L,$,V){switch(i){case"[object DataView]":if(o.byteLength!=s.byteLength||o.byteOffset!=s.byteOffset)return!1;o=o.buffer,s=s.buffer;case"[object ArrayBuffer]":return!(o.byteLength!=s.byteLength||!$(new _(o),new _(s)));case"[object Boolean]":case"[object Date]":case"[object Number]":return w(+o,+s);case"[object Error]":return o.name==s.name&&o.message==s.message;case"[object RegExp]":case"[object String]":return o==s+"";case"[object Map]":var U=C;case"[object Set]":var z=1&u;if(U||(U=j),o.size!=s.size&&!z)return!1;var Y=V.get(o);if(Y)return Y==s;u|=2,V.set(o,s);var Z=x(U(o),U(s),u,L,$,V);return V.delete(o),Z;case"[object Symbol]":if(B)return B.call(o)==B.call(s)}return!1}},50689:(o,s,i)=>{var u=i(50002),_=Object.prototype.hasOwnProperty;o.exports=function equalObjects(o,s,i,w,x,C){var j=1&i,L=u(o),B=L.length;if(B!=u(s).length&&!j)return!1;for(var $=B;$--;){var V=L[$];if(!(j?V in s:_.call(s,V)))return!1}var U=C.get(o),z=C.get(s);if(U&&z)return U==s&&z==o;var Y=!0;C.set(o,s),C.set(s,o);for(var Z=j;++${var u=i(35970),_=i(56757),w=i(32865);o.exports=function flatRest(o){return w(_(o,void 0,u),o+"")}},34840:(o,s,i)=>{var u="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g;o.exports=u},50002:(o,s,i)=>{var u=i(82199),_=i(4664),w=i(95950);o.exports=function getAllKeys(o){return u(o,w,_)}},83349:(o,s,i)=>{var u=i(82199),_=i(86375),w=i(37241);o.exports=function getAllKeysIn(o){return u(o,w,_)}},37381:(o,s,i)=>{var u=i(48152),_=i(63950),w=u?function(o){return u.get(o)}:_;o.exports=w},62284:(o,s,i)=>{var u=i(84629),_=Object.prototype.hasOwnProperty;o.exports=function getFuncName(o){for(var s=o.name+"",i=u[s],w=_.call(u,s)?i.length:0;w--;){var x=i[w],C=x.func;if(null==C||C==o)return x.name}return s}},11287:o=>{o.exports=function getHolder(o){return o.placeholder}},12651:(o,s,i)=>{var u=i(74218);o.exports=function getMapData(o,s){var i=o.__data__;return u(s)?i["string"==typeof s?"string":"hash"]:i.map}},10776:(o,s,i)=>{var u=i(30756),_=i(95950);o.exports=function getMatchData(o){for(var s=_(o),i=s.length;i--;){var w=s[i],x=o[w];s[i]=[w,x,u(x)]}return s}},56110:(o,s,i)=>{var u=i(45083),_=i(10392);o.exports=function getNative(o,s){var i=_(o,s);return u(i)?i:void 0}},28879:(o,s,i)=>{var u=i(74335)(Object.getPrototypeOf,Object);o.exports=u},659:(o,s,i)=>{var u=i(51873),_=Object.prototype,w=_.hasOwnProperty,x=_.toString,C=u?u.toStringTag:void 0;o.exports=function getRawTag(o){var s=w.call(o,C),i=o[C];try{o[C]=void 0;var u=!0}catch(o){}var _=x.call(o);return u&&(s?o[C]=i:delete o[C]),_}},4664:(o,s,i)=>{var u=i(79770),_=i(63345),w=Object.prototype.propertyIsEnumerable,x=Object.getOwnPropertySymbols,C=x?function(o){return null==o?[]:(o=Object(o),u(x(o),(function(s){return w.call(o,s)})))}:_;o.exports=C},86375:(o,s,i)=>{var u=i(14528),_=i(28879),w=i(4664),x=i(63345),C=Object.getOwnPropertySymbols?function(o){for(var s=[];o;)u(s,w(o)),o=_(o);return s}:x;o.exports=C},5861:(o,s,i)=>{var u=i(55580),_=i(68223),w=i(32804),x=i(76545),C=i(28303),j=i(72552),L=i(47473),B="[object Map]",$="[object Promise]",V="[object Set]",U="[object WeakMap]",z="[object DataView]",Y=L(u),Z=L(_),ee=L(w),ie=L(x),ae=L(C),ce=j;(u&&ce(new u(new ArrayBuffer(1)))!=z||_&&ce(new _)!=B||w&&ce(w.resolve())!=$||x&&ce(new x)!=V||C&&ce(new C)!=U)&&(ce=function(o){var s=j(o),i="[object Object]"==s?o.constructor:void 0,u=i?L(i):"";if(u)switch(u){case Y:return z;case Z:return B;case ee:return $;case ie:return V;case ae:return U}return s}),o.exports=ce},10392:o=>{o.exports=function getValue(o,s){return null==o?void 0:o[s]}},75251:o=>{var s=/\{\n\/\* \[wrapped with (.+)\] \*/,i=/,? & /;o.exports=function getWrapDetails(o){var u=o.match(s);return u?u[1].split(i):[]}},49326:(o,s,i)=>{var u=i(31769),_=i(72428),w=i(56449),x=i(30361),C=i(30294),j=i(77797);o.exports=function hasPath(o,s,i){for(var L=-1,B=(s=u(s,o)).length,$=!1;++L{var s=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");o.exports=function hasUnicode(o){return s.test(o)}},45434:o=>{var s=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;o.exports=function hasUnicodeWord(o){return s.test(o)}},22032:(o,s,i)=>{var u=i(81042);o.exports=function hashClear(){this.__data__=u?u(null):{},this.size=0}},63862:o=>{o.exports=function hashDelete(o){var s=this.has(o)&&delete this.__data__[o];return this.size-=s?1:0,s}},66721:(o,s,i)=>{var u=i(81042),_=Object.prototype.hasOwnProperty;o.exports=function hashGet(o){var s=this.__data__;if(u){var i=s[o];return"__lodash_hash_undefined__"===i?void 0:i}return _.call(s,o)?s[o]:void 0}},12749:(o,s,i)=>{var u=i(81042),_=Object.prototype.hasOwnProperty;o.exports=function hashHas(o){var s=this.__data__;return u?void 0!==s[o]:_.call(s,o)}},35749:(o,s,i)=>{var u=i(81042);o.exports=function hashSet(o,s){var i=this.__data__;return this.size+=this.has(o)?0:1,i[o]=u&&void 0===s?"__lodash_hash_undefined__":s,this}},76189:o=>{var s=Object.prototype.hasOwnProperty;o.exports=function initCloneArray(o){var i=o.length,u=new o.constructor(i);return i&&"string"==typeof o[0]&&s.call(o,"index")&&(u.index=o.index,u.input=o.input),u}},77199:(o,s,i)=>{var u=i(49653),_=i(76169),w=i(73201),x=i(93736),C=i(71961);o.exports=function initCloneByTag(o,s,i){var j=o.constructor;switch(s){case"[object ArrayBuffer]":return u(o);case"[object Boolean]":case"[object Date]":return new j(+o);case"[object DataView]":return _(o,i);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return C(o,i);case"[object Map]":case"[object Set]":return new j;case"[object Number]":case"[object String]":return new j(o);case"[object RegExp]":return w(o);case"[object Symbol]":return x(o)}}},35529:(o,s,i)=>{var u=i(39344),_=i(28879),w=i(55527);o.exports=function initCloneObject(o){return"function"!=typeof o.constructor||w(o)?{}:u(_(o))}},62060:o=>{var s=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/;o.exports=function insertWrapDetails(o,i){var u=i.length;if(!u)return o;var _=u-1;return i[_]=(u>1?"& ":"")+i[_],i=i.join(u>2?", ":" "),o.replace(s,"{\n/* [wrapped with "+i+"] */\n")}},45891:(o,s,i)=>{var u=i(51873),_=i(72428),w=i(56449),x=u?u.isConcatSpreadable:void 0;o.exports=function isFlattenable(o){return w(o)||_(o)||!!(x&&o&&o[x])}},30361:o=>{var s=/^(?:0|[1-9]\d*)$/;o.exports=function isIndex(o,i){var u=typeof o;return!!(i=null==i?9007199254740991:i)&&("number"==u||"symbol"!=u&&s.test(o))&&o>-1&&o%1==0&&o{var u=i(75288),_=i(64894),w=i(30361),x=i(23805);o.exports=function isIterateeCall(o,s,i){if(!x(i))return!1;var C=typeof s;return!!("number"==C?_(i)&&w(s,i.length):"string"==C&&s in i)&&u(i[s],o)}},28586:(o,s,i)=>{var u=i(56449),_=i(44394),w=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,x=/^\w*$/;o.exports=function isKey(o,s){if(u(o))return!1;var i=typeof o;return!("number"!=i&&"symbol"!=i&&"boolean"!=i&&null!=o&&!_(o))||(x.test(o)||!w.test(o)||null!=s&&o in Object(s))}},74218:o=>{o.exports=function isKeyable(o){var s=typeof o;return"string"==s||"number"==s||"symbol"==s||"boolean"==s?"__proto__"!==o:null===o}},85087:(o,s,i)=>{var u=i(30980),_=i(37381),w=i(62284),x=i(53758);o.exports=function isLaziable(o){var s=w(o),i=x[s];if("function"!=typeof i||!(s in u.prototype))return!1;if(o===i)return!0;var C=_(i);return!!C&&o===C[0]}},87296:(o,s,i)=>{var u,_=i(55481),w=(u=/[^.]+$/.exec(_&&_.keys&&_.keys.IE_PROTO||""))?"Symbol(src)_1."+u:"";o.exports=function isMasked(o){return!!w&&w in o}},55527:o=>{var s=Object.prototype;o.exports=function isPrototype(o){var i=o&&o.constructor;return o===("function"==typeof i&&i.prototype||s)}},30756:(o,s,i)=>{var u=i(23805);o.exports=function isStrictComparable(o){return o==o&&!u(o)}},63702:o=>{o.exports=function listCacheClear(){this.__data__=[],this.size=0}},70080:(o,s,i)=>{var u=i(26025),_=Array.prototype.splice;o.exports=function listCacheDelete(o){var s=this.__data__,i=u(s,o);return!(i<0)&&(i==s.length-1?s.pop():_.call(s,i,1),--this.size,!0)}},24739:(o,s,i)=>{var u=i(26025);o.exports=function listCacheGet(o){var s=this.__data__,i=u(s,o);return i<0?void 0:s[i][1]}},48655:(o,s,i)=>{var u=i(26025);o.exports=function listCacheHas(o){return u(this.__data__,o)>-1}},31175:(o,s,i)=>{var u=i(26025);o.exports=function listCacheSet(o,s){var i=this.__data__,_=u(i,o);return _<0?(++this.size,i.push([o,s])):i[_][1]=s,this}},63040:(o,s,i)=>{var u=i(21549),_=i(80079),w=i(68223);o.exports=function mapCacheClear(){this.size=0,this.__data__={hash:new u,map:new(w||_),string:new u}}},17670:(o,s,i)=>{var u=i(12651);o.exports=function mapCacheDelete(o){var s=u(this,o).delete(o);return this.size-=s?1:0,s}},90289:(o,s,i)=>{var u=i(12651);o.exports=function mapCacheGet(o){return u(this,o).get(o)}},4509:(o,s,i)=>{var u=i(12651);o.exports=function mapCacheHas(o){return u(this,o).has(o)}},72949:(o,s,i)=>{var u=i(12651);o.exports=function mapCacheSet(o,s){var i=u(this,o),_=i.size;return i.set(o,s),this.size+=i.size==_?0:1,this}},20317:o=>{o.exports=function mapToArray(o){var s=-1,i=Array(o.size);return o.forEach((function(o,u){i[++s]=[u,o]})),i}},67197:o=>{o.exports=function matchesStrictComparable(o,s){return function(i){return null!=i&&(i[o]===s&&(void 0!==s||o in Object(i)))}}},62224:(o,s,i)=>{var u=i(50104);o.exports=function memoizeCapped(o){var s=u(o,(function(o){return 500===i.size&&i.clear(),o})),i=s.cache;return s}},3209:(o,s,i)=>{var u=i(91596),_=i(53320),w=i(36306),x="__lodash_placeholder__",C=128,j=Math.min;o.exports=function mergeData(o,s){var i=o[1],L=s[1],B=i|L,$=B<131,V=L==C&&8==i||L==C&&256==i&&o[7].length<=s[8]||384==L&&s[7].length<=s[8]&&8==i;if(!$&&!V)return o;1&L&&(o[2]=s[2],B|=1&i?0:4);var U=s[3];if(U){var z=o[3];o[3]=z?u(z,U,s[4]):U,o[4]=z?w(o[3],x):s[4]}return(U=s[5])&&(z=o[5],o[5]=z?_(z,U,s[6]):U,o[6]=z?w(o[5],x):s[6]),(U=s[7])&&(o[7]=U),L&C&&(o[8]=null==o[8]?s[8]:j(o[8],s[8])),null==o[9]&&(o[9]=s[9]),o[0]=s[0],o[1]=B,o}},48152:(o,s,i)=>{var u=i(28303),_=u&&new u;o.exports=_},81042:(o,s,i)=>{var u=i(56110)(Object,"create");o.exports=u},3650:(o,s,i)=>{var u=i(74335)(Object.keys,Object);o.exports=u},90181:o=>{o.exports=function nativeKeysIn(o){var s=[];if(null!=o)for(var i in Object(o))s.push(i);return s}},86009:(o,s,i)=>{o=i.nmd(o);var u=i(34840),_=s&&!s.nodeType&&s,w=_&&o&&!o.nodeType&&o,x=w&&w.exports===_&&u.process,C=function(){try{var o=w&&w.require&&w.require("util").types;return o||x&&x.binding&&x.binding("util")}catch(o){}}();o.exports=C},59350:o=>{var s=Object.prototype.toString;o.exports=function objectToString(o){return s.call(o)}},74335:o=>{o.exports=function overArg(o,s){return function(i){return o(s(i))}}},56757:(o,s,i)=>{var u=i(91033),_=Math.max;o.exports=function overRest(o,s,i){return s=_(void 0===s?o.length-1:s,0),function(){for(var w=arguments,x=-1,C=_(w.length-s,0),j=Array(C);++x{var u=i(47422),_=i(25160);o.exports=function parent(o,s){return s.length<2?o:u(o,_(s,0,-1))}},84629:o=>{o.exports={}},68294:(o,s,i)=>{var u=i(23007),_=i(30361),w=Math.min;o.exports=function reorder(o,s){for(var i=o.length,x=w(s.length,i),C=u(o);x--;){var j=s[x];o[x]=_(j,i)?C[j]:void 0}return o}},36306:o=>{var s="__lodash_placeholder__";o.exports=function replaceHolders(o,i){for(var u=-1,_=o.length,w=0,x=[];++u<_;){var C=o[u];C!==i&&C!==s||(o[u]=s,x[w++]=u)}return x}},9325:(o,s,i)=>{var u=i(34840),_="object"==typeof self&&self&&self.Object===Object&&self,w=u||_||Function("return this")();o.exports=w},14974:o=>{o.exports=function safeGet(o,s){if(("constructor"!==s||"function"!=typeof o[s])&&"__proto__"!=s)return o[s]}},31380:o=>{o.exports=function setCacheAdd(o){return this.__data__.set(o,"__lodash_hash_undefined__"),this}},51459:o=>{o.exports=function setCacheHas(o){return this.__data__.has(o)}},54641:(o,s,i)=>{var u=i(68882),_=i(51811)(u);o.exports=_},84247:o=>{o.exports=function setToArray(o){var s=-1,i=Array(o.size);return o.forEach((function(o){i[++s]=o})),i}},32865:(o,s,i)=>{var u=i(19570),_=i(51811)(u);o.exports=_},70981:(o,s,i)=>{var u=i(75251),_=i(62060),w=i(32865),x=i(75948);o.exports=function setWrapToString(o,s,i){var C=s+"";return w(o,_(C,x(u(C),i)))}},51811:o=>{var s=Date.now;o.exports=function shortOut(o){var i=0,u=0;return function(){var _=s(),w=16-(_-u);if(u=_,w>0){if(++i>=800)return arguments[0]}else i=0;return o.apply(void 0,arguments)}}},51420:(o,s,i)=>{var u=i(80079);o.exports=function stackClear(){this.__data__=new u,this.size=0}},90938:o=>{o.exports=function stackDelete(o){var s=this.__data__,i=s.delete(o);return this.size=s.size,i}},63605:o=>{o.exports=function stackGet(o){return this.__data__.get(o)}},29817:o=>{o.exports=function stackHas(o){return this.__data__.has(o)}},80945:(o,s,i)=>{var u=i(80079),_=i(68223),w=i(53661);o.exports=function stackSet(o,s){var i=this.__data__;if(i instanceof u){var x=i.__data__;if(!_||x.length<199)return x.push([o,s]),this.size=++i.size,this;i=this.__data__=new w(x)}return i.set(o,s),this.size=i.size,this}},76959:o=>{o.exports=function strictIndexOf(o,s,i){for(var u=i-1,_=o.length;++u<_;)if(o[u]===s)return u;return-1}},63912:(o,s,i)=>{var u=i(61074),_=i(49698),w=i(42054);o.exports=function stringToArray(o){return _(o)?w(o):u(o)}},61802:(o,s,i)=>{var u=i(62224),_=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,w=/\\(\\)?/g,x=u((function(o){var s=[];return 46===o.charCodeAt(0)&&s.push(""),o.replace(_,(function(o,i,u,_){s.push(u?_.replace(w,"$1"):i||o)})),s}));o.exports=x},77797:(o,s,i)=>{var u=i(44394);o.exports=function toKey(o){if("string"==typeof o||u(o))return o;var s=o+"";return"0"==s&&1/o==-1/0?"-0":s}},47473:o=>{var s=Function.prototype.toString;o.exports=function toSource(o){if(null!=o){try{return s.call(o)}catch(o){}try{return o+""}catch(o){}}return""}},31800:o=>{var s=/\s/;o.exports=function trimmedEndIndex(o){for(var i=o.length;i--&&s.test(o.charAt(i)););return i}},42054:o=>{var s="\\ud800-\\udfff",i="["+s+"]",u="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",_="\\ud83c[\\udffb-\\udfff]",w="[^"+s+"]",x="(?:\\ud83c[\\udde6-\\uddff]){2}",C="[\\ud800-\\udbff][\\udc00-\\udfff]",j="(?:"+u+"|"+_+")"+"?",L="[\\ufe0e\\ufe0f]?",B=L+j+("(?:\\u200d(?:"+[w,x,C].join("|")+")"+L+j+")*"),$="(?:"+[w+u+"?",u,x,C,i].join("|")+")",V=RegExp(_+"(?="+_+")|"+$+B,"g");o.exports=function unicodeToArray(o){return o.match(V)||[]}},22225:o=>{var s="\\ud800-\\udfff",i="\\u2700-\\u27bf",u="a-z\\xdf-\\xf6\\xf8-\\xff",_="A-Z\\xc0-\\xd6\\xd8-\\xde",w="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",x="["+w+"]",C="\\d+",j="["+i+"]",L="["+u+"]",B="[^"+s+w+C+i+u+_+"]",$="(?:\\ud83c[\\udde6-\\uddff]){2}",V="[\\ud800-\\udbff][\\udc00-\\udfff]",U="["+_+"]",z="(?:"+L+"|"+B+")",Y="(?:"+U+"|"+B+")",Z="(?:['’](?:d|ll|m|re|s|t|ve))?",ee="(?:['’](?:D|LL|M|RE|S|T|VE))?",ie="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\\ud83c[\\udffb-\\udfff])?",ae="[\\ufe0e\\ufe0f]?",ce=ae+ie+("(?:\\u200d(?:"+["[^"+s+"]",$,V].join("|")+")"+ae+ie+")*"),le="(?:"+[j,$,V].join("|")+")"+ce,pe=RegExp([U+"?"+L+"+"+Z+"(?="+[x,U,"$"].join("|")+")",Y+"+"+ee+"(?="+[x,U+z,"$"].join("|")+")",U+"?"+z+"+"+Z,U+"+"+ee,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",C,le].join("|"),"g");o.exports=function unicodeWords(o){return o.match(pe)||[]}},75948:(o,s,i)=>{var u=i(83729),_=i(15325),w=[["ary",128],["bind",1],["bindKey",2],["curry",8],["curryRight",16],["flip",512],["partial",32],["partialRight",64],["rearg",256]];o.exports=function updateWrapDetails(o,s){return u(w,(function(i){var u="_."+i[0];s&i[1]&&!_(o,u)&&o.push(u)})),o.sort()}},80257:(o,s,i)=>{var u=i(30980),_=i(56017),w=i(23007);o.exports=function wrapperClone(o){if(o instanceof u)return o.clone();var s=new _(o.__wrapped__,o.__chain__);return s.__actions__=w(o.__actions__),s.__index__=o.__index__,s.__values__=o.__values__,s}},64626:(o,s,i)=>{var u=i(66977);o.exports=function ary(o,s,i){return s=i?void 0:s,s=o&&null==s?o.length:s,u(o,128,void 0,void 0,void 0,void 0,s)}},84058:(o,s,i)=>{var u=i(14792),_=i(45539)((function(o,s,i){return s=s.toLowerCase(),o+(i?u(s):s)}));o.exports=_},14792:(o,s,i)=>{var u=i(13222),_=i(55808);o.exports=function capitalize(o){return _(u(o).toLowerCase())}},32629:(o,s,i)=>{var u=i(9999);o.exports=function clone(o){return u(o,4)}},37334:o=>{o.exports=function constant(o){return function(){return o}}},49747:(o,s,i)=>{var u=i(66977);function curry(o,s,i){var _=u(o,8,void 0,void 0,void 0,void 0,void 0,s=i?void 0:s);return _.placeholder=curry.placeholder,_}curry.placeholder={},o.exports=curry},38221:(o,s,i)=>{var u=i(23805),_=i(10124),w=i(99374),x=Math.max,C=Math.min;o.exports=function debounce(o,s,i){var j,L,B,$,V,U,z=0,Y=!1,Z=!1,ee=!0;if("function"!=typeof o)throw new TypeError("Expected a function");function invokeFunc(s){var i=j,u=L;return j=L=void 0,z=s,$=o.apply(u,i)}function shouldInvoke(o){var i=o-U;return void 0===U||i>=s||i<0||Z&&o-z>=B}function timerExpired(){var o=_();if(shouldInvoke(o))return trailingEdge(o);V=setTimeout(timerExpired,function remainingWait(o){var i=s-(o-U);return Z?C(i,B-(o-z)):i}(o))}function trailingEdge(o){return V=void 0,ee&&j?invokeFunc(o):(j=L=void 0,$)}function debounced(){var o=_(),i=shouldInvoke(o);if(j=arguments,L=this,U=o,i){if(void 0===V)return function leadingEdge(o){return z=o,V=setTimeout(timerExpired,s),Y?invokeFunc(o):$}(U);if(Z)return clearTimeout(V),V=setTimeout(timerExpired,s),invokeFunc(U)}return void 0===V&&(V=setTimeout(timerExpired,s)),$}return s=w(s)||0,u(i)&&(Y=!!i.leading,B=(Z="maxWait"in i)?x(w(i.maxWait)||0,s):B,ee="trailing"in i?!!i.trailing:ee),debounced.cancel=function cancel(){void 0!==V&&clearTimeout(V),z=0,j=U=L=V=void 0},debounced.flush=function flush(){return void 0===V?$:trailingEdge(_())},debounced}},50828:(o,s,i)=>{var u=i(24647),_=i(13222),w=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,x=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");o.exports=function deburr(o){return(o=_(o))&&o.replace(w,u).replace(x,"")}},75288:o=>{o.exports=function eq(o,s){return o===s||o!=o&&s!=s}},60680:(o,s,i)=>{var u=i(13222),_=/[\\^$.*+?()[\]{}|]/g,w=RegExp(_.source);o.exports=function escapeRegExp(o){return(o=u(o))&&w.test(o)?o.replace(_,"\\$&"):o}},7309:(o,s,i)=>{var u=i(62006)(i(24713));o.exports=u},24713:(o,s,i)=>{var u=i(2523),_=i(15389),w=i(61489),x=Math.max;o.exports=function findIndex(o,s,i){var C=null==o?0:o.length;if(!C)return-1;var j=null==i?0:w(i);return j<0&&(j=x(C+j,0)),u(o,_(s,3),j)}},35970:(o,s,i)=>{var u=i(83120);o.exports=function flatten(o){return(null==o?0:o.length)?u(o,1):[]}},73424:(o,s,i)=>{var u=i(16962),_=i(2874),w=Array.prototype.push;function baseAry(o,s){return 2==s?function(s,i){return o(s,i)}:function(s){return o(s)}}function cloneArray(o){for(var s=o?o.length:0,i=Array(s);s--;)i[s]=o[s];return i}function wrapImmutable(o,s){return function(){var i=arguments.length;if(i){for(var u=Array(i);i--;)u[i]=arguments[i];var _=u[0]=s.apply(void 0,u);return o.apply(void 0,u),_}}}o.exports=function baseConvert(o,s,i,x){var C="function"==typeof s,j=s===Object(s);if(j&&(x=i,i=s,s=void 0),null==i)throw new TypeError;x||(x={});var L={cap:!("cap"in x)||x.cap,curry:!("curry"in x)||x.curry,fixed:!("fixed"in x)||x.fixed,immutable:!("immutable"in x)||x.immutable,rearg:!("rearg"in x)||x.rearg},B=C?i:_,$="curry"in x&&x.curry,V="fixed"in x&&x.fixed,U="rearg"in x&&x.rearg,z=C?i.runInContext():void 0,Y=C?i:{ary:o.ary,assign:o.assign,clone:o.clone,curry:o.curry,forEach:o.forEach,isArray:o.isArray,isError:o.isError,isFunction:o.isFunction,isWeakMap:o.isWeakMap,iteratee:o.iteratee,keys:o.keys,rearg:o.rearg,toInteger:o.toInteger,toPath:o.toPath},Z=Y.ary,ee=Y.assign,ie=Y.clone,ae=Y.curry,ce=Y.forEach,le=Y.isArray,pe=Y.isError,de=Y.isFunction,fe=Y.isWeakMap,ye=Y.keys,be=Y.rearg,_e=Y.toInteger,we=Y.toPath,Se=ye(u.aryMethod),xe={castArray:function(o){return function(){var s=arguments[0];return le(s)?o(cloneArray(s)):o.apply(void 0,arguments)}},iteratee:function(o){return function(){var s=arguments[1],i=o(arguments[0],s),u=i.length;return L.cap&&"number"==typeof s?(s=s>2?s-2:1,u&&u<=s?i:baseAry(i,s)):i}},mixin:function(o){return function(s){var i=this;if(!de(i))return o(i,Object(s));var u=[];return ce(ye(s),(function(o){de(s[o])&&u.push([o,i.prototype[o]])})),o(i,Object(s)),ce(u,(function(o){var s=o[1];de(s)?i.prototype[o[0]]=s:delete i.prototype[o[0]]})),i}},nthArg:function(o){return function(s){var i=s<0?1:_e(s)+1;return ae(o(s),i)}},rearg:function(o){return function(s,i){var u=i?i.length:0;return ae(o(s,i),u)}},runInContext:function(s){return function(i){return baseConvert(o,s(i),x)}}};function castCap(o,s){if(L.cap){var i=u.iterateeRearg[o];if(i)return function iterateeRearg(o,s){return overArg(o,(function(o){var i=s.length;return function baseArity(o,s){return 2==s?function(s,i){return o.apply(void 0,arguments)}:function(s){return o.apply(void 0,arguments)}}(be(baseAry(o,i),s),i)}))}(s,i);var _=!C&&u.iterateeAry[o];if(_)return function iterateeAry(o,s){return overArg(o,(function(o){return"function"==typeof o?baseAry(o,s):o}))}(s,_)}return s}function castFixed(o,s,i){if(L.fixed&&(V||!u.skipFixed[o])){var _=u.methodSpread[o],x=_&&_.start;return void 0===x?Z(s,i):function flatSpread(o,s){return function(){for(var i=arguments.length,u=i-1,_=Array(i);i--;)_[i]=arguments[i];var x=_[s],C=_.slice(0,s);return x&&w.apply(C,x),s!=u&&w.apply(C,_.slice(s+1)),o.apply(this,C)}}(s,x)}return s}function castRearg(o,s,i){return L.rearg&&i>1&&(U||!u.skipRearg[o])?be(s,u.methodRearg[o]||u.aryRearg[i]):s}function cloneByPath(o,s){for(var i=-1,u=(s=we(s)).length,_=u-1,w=ie(Object(o)),x=w;null!=x&&++i1?ae(s,i):s}(0,_=castCap(w,_),o),!1}})),!_})),_||(_=x),_==s&&(_=$?ae(_,1):function(){return s.apply(this,arguments)}),_.convert=createConverter(w,s),_.placeholder=s.placeholder=i,_}if(!j)return wrap(s,i,B);var Pe=i,Te=[];return ce(Se,(function(o){ce(u.aryMethod[o],(function(o){var s=Pe[u.remap[o]||o];s&&Te.push([o,wrap(o,s,Pe)])}))})),ce(ye(Pe),(function(o){var s=Pe[o];if("function"==typeof s){for(var i=Te.length;i--;)if(Te[i][0]==o)return;s.convert=createConverter(o,s),Te.push([o,s])}})),ce(Te,(function(o){Pe[o[0]]=o[1]})),Pe.convert=function convertLib(o){return Pe.runInContext.convert(o)(void 0)},Pe.placeholder=Pe,ce(ye(Pe),(function(o){ce(u.realToAlias[o]||[],(function(s){Pe[s]=Pe[o]}))})),Pe}},16962:(o,s)=>{s.aliasToReal={each:"forEach",eachRight:"forEachRight",entries:"toPairs",entriesIn:"toPairsIn",extend:"assignIn",extendAll:"assignInAll",extendAllWith:"assignInAllWith",extendWith:"assignInWith",first:"head",conforms:"conformsTo",matches:"isMatch",property:"get",__:"placeholder",F:"stubFalse",T:"stubTrue",all:"every",allPass:"overEvery",always:"constant",any:"some",anyPass:"overSome",apply:"spread",assoc:"set",assocPath:"set",complement:"negate",compose:"flowRight",contains:"includes",dissoc:"unset",dissocPath:"unset",dropLast:"dropRight",dropLastWhile:"dropRightWhile",equals:"isEqual",identical:"eq",indexBy:"keyBy",init:"initial",invertObj:"invert",juxt:"over",omitAll:"omit",nAry:"ary",path:"get",pathEq:"matchesProperty",pathOr:"getOr",paths:"at",pickAll:"pick",pipe:"flow",pluck:"map",prop:"get",propEq:"matchesProperty",propOr:"getOr",props:"at",symmetricDifference:"xor",symmetricDifferenceBy:"xorBy",symmetricDifferenceWith:"xorWith",takeLast:"takeRight",takeLastWhile:"takeRightWhile",unapply:"rest",unnest:"flatten",useWith:"overArgs",where:"conformsTo",whereEq:"isMatch",zipObj:"zipObject"},s.aryMethod={1:["assignAll","assignInAll","attempt","castArray","ceil","create","curry","curryRight","defaultsAll","defaultsDeepAll","floor","flow","flowRight","fromPairs","invert","iteratee","memoize","method","mergeAll","methodOf","mixin","nthArg","over","overEvery","overSome","rest","reverse","round","runInContext","spread","template","trim","trimEnd","trimStart","uniqueId","words","zipAll"],2:["add","after","ary","assign","assignAllWith","assignIn","assignInAllWith","at","before","bind","bindAll","bindKey","chunk","cloneDeepWith","cloneWith","concat","conformsTo","countBy","curryN","curryRightN","debounce","defaults","defaultsDeep","defaultTo","delay","difference","divide","drop","dropRight","dropRightWhile","dropWhile","endsWith","eq","every","filter","find","findIndex","findKey","findLast","findLastIndex","findLastKey","flatMap","flatMapDeep","flattenDepth","forEach","forEachRight","forIn","forInRight","forOwn","forOwnRight","get","groupBy","gt","gte","has","hasIn","includes","indexOf","intersection","invertBy","invoke","invokeMap","isEqual","isMatch","join","keyBy","lastIndexOf","lt","lte","map","mapKeys","mapValues","matchesProperty","maxBy","meanBy","merge","mergeAllWith","minBy","multiply","nth","omit","omitBy","overArgs","pad","padEnd","padStart","parseInt","partial","partialRight","partition","pick","pickBy","propertyOf","pull","pullAll","pullAt","random","range","rangeRight","rearg","reject","remove","repeat","restFrom","result","sampleSize","some","sortBy","sortedIndex","sortedIndexOf","sortedLastIndex","sortedLastIndexOf","sortedUniqBy","split","spreadFrom","startsWith","subtract","sumBy","take","takeRight","takeRightWhile","takeWhile","tap","throttle","thru","times","trimChars","trimCharsEnd","trimCharsStart","truncate","union","uniqBy","uniqWith","unset","unzipWith","without","wrap","xor","zip","zipObject","zipObjectDeep"],3:["assignInWith","assignWith","clamp","differenceBy","differenceWith","findFrom","findIndexFrom","findLastFrom","findLastIndexFrom","getOr","includesFrom","indexOfFrom","inRange","intersectionBy","intersectionWith","invokeArgs","invokeArgsMap","isEqualWith","isMatchWith","flatMapDepth","lastIndexOfFrom","mergeWith","orderBy","padChars","padCharsEnd","padCharsStart","pullAllBy","pullAllWith","rangeStep","rangeStepRight","reduce","reduceRight","replace","set","slice","sortedIndexBy","sortedLastIndexBy","transform","unionBy","unionWith","update","xorBy","xorWith","zipWith"],4:["fill","setWith","updateWith"]},s.aryRearg={2:[1,0],3:[2,0,1],4:[3,2,0,1]},s.iterateeAry={dropRightWhile:1,dropWhile:1,every:1,filter:1,find:1,findFrom:1,findIndex:1,findIndexFrom:1,findKey:1,findLast:1,findLastFrom:1,findLastIndex:1,findLastIndexFrom:1,findLastKey:1,flatMap:1,flatMapDeep:1,flatMapDepth:1,forEach:1,forEachRight:1,forIn:1,forInRight:1,forOwn:1,forOwnRight:1,map:1,mapKeys:1,mapValues:1,partition:1,reduce:2,reduceRight:2,reject:1,remove:1,some:1,takeRightWhile:1,takeWhile:1,times:1,transform:2},s.iterateeRearg={mapKeys:[1],reduceRight:[1,0]},s.methodRearg={assignInAllWith:[1,0],assignInWith:[1,2,0],assignAllWith:[1,0],assignWith:[1,2,0],differenceBy:[1,2,0],differenceWith:[1,2,0],getOr:[2,1,0],intersectionBy:[1,2,0],intersectionWith:[1,2,0],isEqualWith:[1,2,0],isMatchWith:[2,1,0],mergeAllWith:[1,0],mergeWith:[1,2,0],padChars:[2,1,0],padCharsEnd:[2,1,0],padCharsStart:[2,1,0],pullAllBy:[2,1,0],pullAllWith:[2,1,0],rangeStep:[1,2,0],rangeStepRight:[1,2,0],setWith:[3,1,2,0],sortedIndexBy:[2,1,0],sortedLastIndexBy:[2,1,0],unionBy:[1,2,0],unionWith:[1,2,0],updateWith:[3,1,2,0],xorBy:[1,2,0],xorWith:[1,2,0],zipWith:[1,2,0]},s.methodSpread={assignAll:{start:0},assignAllWith:{start:0},assignInAll:{start:0},assignInAllWith:{start:0},defaultsAll:{start:0},defaultsDeepAll:{start:0},invokeArgs:{start:2},invokeArgsMap:{start:2},mergeAll:{start:0},mergeAllWith:{start:0},partial:{start:1},partialRight:{start:1},without:{start:1},zipAll:{start:0}},s.mutate={array:{fill:!0,pull:!0,pullAll:!0,pullAllBy:!0,pullAllWith:!0,pullAt:!0,remove:!0,reverse:!0},object:{assign:!0,assignAll:!0,assignAllWith:!0,assignIn:!0,assignInAll:!0,assignInAllWith:!0,assignInWith:!0,assignWith:!0,defaults:!0,defaultsAll:!0,defaultsDeep:!0,defaultsDeepAll:!0,merge:!0,mergeAll:!0,mergeAllWith:!0,mergeWith:!0},set:{set:!0,setWith:!0,unset:!0,update:!0,updateWith:!0}},s.realToAlias=function(){var o=Object.prototype.hasOwnProperty,i=s.aliasToReal,u={};for(var _ in i){var w=i[_];o.call(u,w)?u[w].push(_):u[w]=[_]}return u}(),s.remap={assignAll:"assign",assignAllWith:"assignWith",assignInAll:"assignIn",assignInAllWith:"assignInWith",curryN:"curry",curryRightN:"curryRight",defaultsAll:"defaults",defaultsDeepAll:"defaultsDeep",findFrom:"find",findIndexFrom:"findIndex",findLastFrom:"findLast",findLastIndexFrom:"findLastIndex",getOr:"get",includesFrom:"includes",indexOfFrom:"indexOf",invokeArgs:"invoke",invokeArgsMap:"invokeMap",lastIndexOfFrom:"lastIndexOf",mergeAll:"merge",mergeAllWith:"mergeWith",padChars:"pad",padCharsEnd:"padEnd",padCharsStart:"padStart",propertyOf:"get",rangeStep:"range",rangeStepRight:"rangeRight",restFrom:"rest",spreadFrom:"spread",trimChars:"trim",trimCharsEnd:"trimEnd",trimCharsStart:"trimStart",zipAll:"zip"},s.skipFixed={castArray:!0,flow:!0,flowRight:!0,iteratee:!0,mixin:!0,rearg:!0,runInContext:!0},s.skipRearg={add:!0,assign:!0,assignIn:!0,bind:!0,bindKey:!0,concat:!0,difference:!0,divide:!0,eq:!0,gt:!0,gte:!0,isEqual:!0,lt:!0,lte:!0,matchesProperty:!0,merge:!0,multiply:!0,overArgs:!0,partial:!0,partialRight:!0,propertyOf:!0,random:!0,range:!0,rangeRight:!0,subtract:!0,zip:!0,zipObject:!0,zipObjectDeep:!0}},47934:(o,s,i)=>{o.exports={ary:i(64626),assign:i(74733),clone:i(32629),curry:i(49747),forEach:i(83729),isArray:i(56449),isError:i(23546),isFunction:i(1882),isWeakMap:i(47886),iteratee:i(33855),keys:i(88984),rearg:i(84195),toInteger:i(61489),toPath:i(42072)}},56367:(o,s,i)=>{o.exports=i(77731)},79920:(o,s,i)=>{var u=i(73424),_=i(47934);o.exports=function convert(o,s,i){return u(_,o,s,i)}},2874:o=>{o.exports={}},77731:(o,s,i)=>{var u=i(79920)("set",i(63560));u.placeholder=i(2874),o.exports=u},58156:(o,s,i)=>{var u=i(47422);o.exports=function get(o,s,i){var _=null==o?void 0:u(o,s);return void 0===_?i:_}},61448:(o,s,i)=>{var u=i(20426),_=i(49326);o.exports=function has(o,s){return null!=o&&_(o,s,u)}},80631:(o,s,i)=>{var u=i(28077),_=i(49326);o.exports=function hasIn(o,s){return null!=o&&_(o,s,u)}},83488:o=>{o.exports=function identity(o){return o}},72428:(o,s,i)=>{var u=i(27534),_=i(40346),w=Object.prototype,x=w.hasOwnProperty,C=w.propertyIsEnumerable,j=u(function(){return arguments}())?u:function(o){return _(o)&&x.call(o,"callee")&&!C.call(o,"callee")};o.exports=j},56449:o=>{var s=Array.isArray;o.exports=s},64894:(o,s,i)=>{var u=i(1882),_=i(30294);o.exports=function isArrayLike(o){return null!=o&&_(o.length)&&!u(o)}},83693:(o,s,i)=>{var u=i(64894),_=i(40346);o.exports=function isArrayLikeObject(o){return _(o)&&u(o)}},53812:(o,s,i)=>{var u=i(72552),_=i(40346);o.exports=function isBoolean(o){return!0===o||!1===o||_(o)&&"[object Boolean]"==u(o)}},3656:(o,s,i)=>{o=i.nmd(o);var u=i(9325),_=i(89935),w=s&&!s.nodeType&&s,x=w&&o&&!o.nodeType&&o,C=x&&x.exports===w?u.Buffer:void 0,j=(C?C.isBuffer:void 0)||_;o.exports=j},62193:(o,s,i)=>{var u=i(88984),_=i(5861),w=i(72428),x=i(56449),C=i(64894),j=i(3656),L=i(55527),B=i(37167),$=Object.prototype.hasOwnProperty;o.exports=function isEmpty(o){if(null==o)return!0;if(C(o)&&(x(o)||"string"==typeof o||"function"==typeof o.splice||j(o)||B(o)||w(o)))return!o.length;var s=_(o);if("[object Map]"==s||"[object Set]"==s)return!o.size;if(L(o))return!u(o).length;for(var i in o)if($.call(o,i))return!1;return!0}},2404:(o,s,i)=>{var u=i(60270);o.exports=function isEqual(o,s){return u(o,s)}},23546:(o,s,i)=>{var u=i(72552),_=i(40346),w=i(11331);o.exports=function isError(o){if(!_(o))return!1;var s=u(o);return"[object Error]"==s||"[object DOMException]"==s||"string"==typeof o.message&&"string"==typeof o.name&&!w(o)}},1882:(o,s,i)=>{var u=i(72552),_=i(23805);o.exports=function isFunction(o){if(!_(o))return!1;var s=u(o);return"[object Function]"==s||"[object GeneratorFunction]"==s||"[object AsyncFunction]"==s||"[object Proxy]"==s}},30294:o=>{o.exports=function isLength(o){return"number"==typeof o&&o>-1&&o%1==0&&o<=9007199254740991}},87730:(o,s,i)=>{var u=i(29172),_=i(27301),w=i(86009),x=w&&w.isMap,C=x?_(x):u;o.exports=C},5187:o=>{o.exports=function isNull(o){return null===o}},98023:(o,s,i)=>{var u=i(72552),_=i(40346);o.exports=function isNumber(o){return"number"==typeof o||_(o)&&"[object Number]"==u(o)}},23805:o=>{o.exports=function isObject(o){var s=typeof o;return null!=o&&("object"==s||"function"==s)}},40346:o=>{o.exports=function isObjectLike(o){return null!=o&&"object"==typeof o}},11331:(o,s,i)=>{var u=i(72552),_=i(28879),w=i(40346),x=Function.prototype,C=Object.prototype,j=x.toString,L=C.hasOwnProperty,B=j.call(Object);o.exports=function isPlainObject(o){if(!w(o)||"[object Object]"!=u(o))return!1;var s=_(o);if(null===s)return!0;var i=L.call(s,"constructor")&&s.constructor;return"function"==typeof i&&i instanceof i&&j.call(i)==B}},38440:(o,s,i)=>{var u=i(16038),_=i(27301),w=i(86009),x=w&&w.isSet,C=x?_(x):u;o.exports=C},85015:(o,s,i)=>{var u=i(72552),_=i(56449),w=i(40346);o.exports=function isString(o){return"string"==typeof o||!_(o)&&w(o)&&"[object String]"==u(o)}},44394:(o,s,i)=>{var u=i(72552),_=i(40346);o.exports=function isSymbol(o){return"symbol"==typeof o||_(o)&&"[object Symbol]"==u(o)}},37167:(o,s,i)=>{var u=i(4901),_=i(27301),w=i(86009),x=w&&w.isTypedArray,C=x?_(x):u;o.exports=C},47886:(o,s,i)=>{var u=i(5861),_=i(40346);o.exports=function isWeakMap(o){return _(o)&&"[object WeakMap]"==u(o)}},33855:(o,s,i)=>{var u=i(9999),_=i(15389);o.exports=function iteratee(o){return _("function"==typeof o?o:u(o,1))}},95950:(o,s,i)=>{var u=i(70695),_=i(88984),w=i(64894);o.exports=function keys(o){return w(o)?u(o):_(o)}},37241:(o,s,i)=>{var u=i(70695),_=i(72903),w=i(64894);o.exports=function keysIn(o){return w(o)?u(o,!0):_(o)}},68090:o=>{o.exports=function last(o){var s=null==o?0:o.length;return s?o[s-1]:void 0}},50104:(o,s,i)=>{var u=i(53661);function memoize(o,s){if("function"!=typeof o||null!=s&&"function"!=typeof s)throw new TypeError("Expected a function");var memoized=function(){var i=arguments,u=s?s.apply(this,i):i[0],_=memoized.cache;if(_.has(u))return _.get(u);var w=o.apply(this,i);return memoized.cache=_.set(u,w)||_,w};return memoized.cache=new(memoize.Cache||u),memoized}memoize.Cache=u,o.exports=memoize},55364:(o,s,i)=>{var u=i(85250),_=i(20999)((function(o,s,i){u(o,s,i)}));o.exports=_},6048:o=>{o.exports=function negate(o){if("function"!=typeof o)throw new TypeError("Expected a function");return function(){var s=arguments;switch(s.length){case 0:return!o.call(this);case 1:return!o.call(this,s[0]);case 2:return!o.call(this,s[0],s[1]);case 3:return!o.call(this,s[0],s[1],s[2])}return!o.apply(this,s)}}},63950:o=>{o.exports=function noop(){}},10124:(o,s,i)=>{var u=i(9325);o.exports=function(){return u.Date.now()}},90179:(o,s,i)=>{var u=i(34932),_=i(9999),w=i(19931),x=i(31769),C=i(21791),j=i(53138),L=i(38816),B=i(83349),$=L((function(o,s){var i={};if(null==o)return i;var L=!1;s=u(s,(function(s){return s=x(s,o),L||(L=s.length>1),s})),C(o,B(o),i),L&&(i=_(i,7,j));for(var $=s.length;$--;)w(i,s[$]);return i}));o.exports=$},50583:(o,s,i)=>{var u=i(47237),_=i(17255),w=i(28586),x=i(77797);o.exports=function property(o){return w(o)?u(x(o)):_(o)}},84195:(o,s,i)=>{var u=i(66977),_=i(38816),w=_((function(o,s){return u(o,256,void 0,void 0,void 0,s)}));o.exports=w},40860:(o,s,i)=>{var u=i(40882),_=i(80909),w=i(15389),x=i(85558),C=i(56449);o.exports=function reduce(o,s,i){var j=C(o)?u:x,L=arguments.length<3;return j(o,w(s,4),i,L,_)}},63560:(o,s,i)=>{var u=i(73170);o.exports=function set(o,s,i){return null==o?o:u(o,s,i)}},42426:(o,s,i)=>{var u=i(14248),_=i(15389),w=i(90916),x=i(56449),C=i(36800);o.exports=function some(o,s,i){var j=x(o)?u:w;return i&&C(o,s,i)&&(s=void 0),j(o,_(s,3))}},63345:o=>{o.exports=function stubArray(){return[]}},89935:o=>{o.exports=function stubFalse(){return!1}},17400:(o,s,i)=>{var u=i(99374),_=1/0;o.exports=function toFinite(o){return o?(o=u(o))===_||o===-1/0?17976931348623157e292*(o<0?-1:1):o==o?o:0:0===o?o:0}},61489:(o,s,i)=>{var u=i(17400);o.exports=function toInteger(o){var s=u(o),i=s%1;return s==s?i?s-i:s:0}},80218:(o,s,i)=>{var u=i(13222);o.exports=function toLower(o){return u(o).toLowerCase()}},99374:(o,s,i)=>{var u=i(54128),_=i(23805),w=i(44394),x=/^[-+]0x[0-9a-f]+$/i,C=/^0b[01]+$/i,j=/^0o[0-7]+$/i,L=parseInt;o.exports=function toNumber(o){if("number"==typeof o)return o;if(w(o))return NaN;if(_(o)){var s="function"==typeof o.valueOf?o.valueOf():o;o=_(s)?s+"":s}if("string"!=typeof o)return 0===o?o:+o;o=u(o);var i=C.test(o);return i||j.test(o)?L(o.slice(2),i?2:8):x.test(o)?NaN:+o}},42072:(o,s,i)=>{var u=i(34932),_=i(23007),w=i(56449),x=i(44394),C=i(61802),j=i(77797),L=i(13222);o.exports=function toPath(o){return w(o)?u(o,j):x(o)?[o]:_(C(L(o)))}},69884:(o,s,i)=>{var u=i(21791),_=i(37241);o.exports=function toPlainObject(o){return u(o,_(o))}},13222:(o,s,i)=>{var u=i(77556);o.exports=function toString(o){return null==o?"":u(o)}},55808:(o,s,i)=>{var u=i(12507)("toUpperCase");o.exports=u},66645:(o,s,i)=>{var u=i(1733),_=i(45434),w=i(13222),x=i(22225);o.exports=function words(o,s,i){return o=w(o),void 0===(s=i?void 0:s)?_(o)?x(o):u(o):o.match(s)||[]}},53758:(o,s,i)=>{var u=i(30980),_=i(56017),w=i(94033),x=i(56449),C=i(40346),j=i(80257),L=Object.prototype.hasOwnProperty;function lodash(o){if(C(o)&&!x(o)&&!(o instanceof u)){if(o instanceof _)return o;if(L.call(o,"__wrapped__"))return j(o)}return new _(o)}lodash.prototype=w.prototype,lodash.prototype.constructor=lodash,o.exports=lodash},47248:(o,s,i)=>{var u=i(16547),_=i(51234);o.exports=function zipObject(o,s){return _(o||[],s||[],u)}},43768:(o,s,i)=>{"use strict";var u=i(45981),_=i(85587);s.highlight=highlight,s.highlightAuto=function highlightAuto(o,s){var i,x,C,j,L=s||{},B=L.subset||u.listLanguages(),$=L.prefix,V=B.length,U=-1;null==$&&($=w);if("string"!=typeof o)throw _("Expected `string` for value, got `%s`",o);x={relevance:0,language:null,value:[]},i={relevance:0,language:null,value:[]};for(;++Ux.relevance&&(x=C),C.relevance>i.relevance&&(x=i,i=C));x.language&&(i.secondBest=x);return i},s.registerLanguage=function registerLanguage(o,s){u.registerLanguage(o,s)},s.listLanguages=function listLanguages(){return u.listLanguages()},s.registerAlias=function registerAlias(o,s){var i,_=o;s&&((_={})[o]=s);for(i in _)u.registerAliases(_[i],{languageName:i})},Emitter.prototype.addText=function text(o){var s,i,u=this.stack;if(""===o)return;s=u[u.length-1],(i=s.children[s.children.length-1])&&"text"===i.type?i.value+=o:s.children.push({type:"text",value:o})},Emitter.prototype.addKeyword=function addKeyword(o,s){this.openNode(s),this.addText(o),this.closeNode()},Emitter.prototype.addSublanguage=function addSublanguage(o,s){var i=this.stack,u=i[i.length-1],_=o.rootNode.children,w=s?{type:"element",tagName:"span",properties:{className:[s]},children:_}:_;u.children=u.children.concat(w)},Emitter.prototype.openNode=function open(o){var s=this.stack,i=this.options.classPrefix+o,u=s[s.length-1],_={type:"element",tagName:"span",properties:{className:[i]},children:[]};u.children.push(_),s.push(_)},Emitter.prototype.closeNode=function close(){this.stack.pop()},Emitter.prototype.closeAllNodes=noop,Emitter.prototype.finalize=noop,Emitter.prototype.toHTML=function toHtmlNoop(){return""};var w="hljs-";function highlight(o,s,i){var x,C=u.configure({}),j=(i||{}).prefix;if("string"!=typeof o)throw _("Expected `string` for name, got `%s`",o);if(!u.getLanguage(o))throw _("Unknown language: `%s` is not registered",o);if("string"!=typeof s)throw _("Expected `string` for value, got `%s`",s);if(null==j&&(j=w),u.configure({__emitter:Emitter,classPrefix:j}),x=u.highlight(s,{language:o,ignoreIllegals:!0}),u.configure(C||{}),x.errorRaised)throw x.errorRaised;return{relevance:x.relevance,language:x.language,value:x.emitter.rootNode.children}}function Emitter(o){this.options=o,this.rootNode={children:[]},this.stack=[this.rootNode]}function noop(){}},92340:(o,s,i)=>{const u=i(6048);function coerceElementMatchingCallback(o){return"string"==typeof o?s=>s.element===o:o.constructor&&o.extend?s=>s instanceof o:o}class ArraySlice{constructor(o){this.elements=o||[]}toValue(){return this.elements.map((o=>o.toValue()))}map(o,s){return this.elements.map(o,s)}flatMap(o,s){return this.map(o,s).reduce(((o,s)=>o.concat(s)),[])}compactMap(o,s){const i=[];return this.forEach((u=>{const _=o.bind(s)(u);_&&i.push(_)})),i}filter(o,s){return o=coerceElementMatchingCallback(o),new ArraySlice(this.elements.filter(o,s))}reject(o,s){return o=coerceElementMatchingCallback(o),new ArraySlice(this.elements.filter(u(o),s))}find(o,s){return o=coerceElementMatchingCallback(o),this.elements.find(o,s)}forEach(o,s){this.elements.forEach(o,s)}reduce(o,s){return this.elements.reduce(o,s)}includes(o){return this.elements.some((s=>s.equals(o)))}shift(){return this.elements.shift()}unshift(o){this.elements.unshift(this.refract(o))}push(o){return this.elements.push(this.refract(o)),this}add(o){this.push(o)}get(o){return this.elements[o]}getValue(o){const s=this.elements[o];if(s)return s.toValue()}get length(){return this.elements.length}get isEmpty(){return 0===this.elements.length}get first(){return this.elements[0]}}"undefined"!=typeof Symbol&&(ArraySlice.prototype[Symbol.iterator]=function symbol(){return this.elements[Symbol.iterator]()}),o.exports=ArraySlice},55973:o=>{class KeyValuePair{constructor(o,s){this.key=o,this.value=s}clone(){const o=new KeyValuePair;return this.key&&(o.key=this.key.clone()),this.value&&(o.value=this.value.clone()),o}}o.exports=KeyValuePair},3110:(o,s,i)=>{const u=i(5187),_=i(85015),w=i(98023),x=i(53812),C=i(23805),j=i(85105),L=i(86804);class Namespace{constructor(o){this.elementMap={},this.elementDetection=[],this.Element=L.Element,this.KeyValuePair=L.KeyValuePair,o&&o.noDefault||this.useDefault(),this._attributeElementKeys=[],this._attributeElementArrayKeys=[]}use(o){return o.namespace&&o.namespace({base:this}),o.load&&o.load({base:this}),this}useDefault(){return this.register("null",L.NullElement).register("string",L.StringElement).register("number",L.NumberElement).register("boolean",L.BooleanElement).register("array",L.ArrayElement).register("object",L.ObjectElement).register("member",L.MemberElement).register("ref",L.RefElement).register("link",L.LinkElement),this.detect(u,L.NullElement,!1).detect(_,L.StringElement,!1).detect(w,L.NumberElement,!1).detect(x,L.BooleanElement,!1).detect(Array.isArray,L.ArrayElement,!1).detect(C,L.ObjectElement,!1),this}register(o,s){return this._elements=void 0,this.elementMap[o]=s,this}unregister(o){return this._elements=void 0,delete this.elementMap[o],this}detect(o,s,i){return void 0===i||i?this.elementDetection.unshift([o,s]):this.elementDetection.push([o,s]),this}toElement(o){if(o instanceof this.Element)return o;let s;for(let i=0;i{const s=o[0].toUpperCase()+o.substr(1);this._elements[s]=this.elementMap[o]}))),this._elements}get serialiser(){return new j(this)}}j.prototype.Namespace=Namespace,o.exports=Namespace},10866:(o,s,i)=>{const u=i(6048),_=i(92340);class ObjectSlice extends _{map(o,s){return this.elements.map((i=>o.bind(s)(i.value,i.key,i)))}filter(o,s){return new ObjectSlice(this.elements.filter((i=>o.bind(s)(i.value,i.key,i))))}reject(o,s){return this.filter(u(o.bind(s)))}forEach(o,s){return this.elements.forEach(((i,u)=>{o.bind(s)(i.value,i.key,i,u)}))}keys(){return this.map(((o,s)=>s.toValue()))}values(){return this.map((o=>o.toValue()))}}o.exports=ObjectSlice},86804:(o,s,i)=>{const u=i(10316),_=i(41067),w=i(71167),x=i(40239),C=i(12242),j=i(6233),L=i(87726),B=i(61045),$=i(86303),V=i(14540),U=i(92340),z=i(10866),Y=i(55973);function refract(o){if(o instanceof u)return o;if("string"==typeof o)return new w(o);if("number"==typeof o)return new x(o);if("boolean"==typeof o)return new C(o);if(null===o)return new _;if(Array.isArray(o))return new j(o.map(refract));if("object"==typeof o){return new B(o)}return o}u.prototype.ObjectElement=B,u.prototype.RefElement=V,u.prototype.MemberElement=L,u.prototype.refract=refract,U.prototype.refract=refract,o.exports={Element:u,NullElement:_,StringElement:w,NumberElement:x,BooleanElement:C,ArrayElement:j,MemberElement:L,ObjectElement:B,LinkElement:$,RefElement:V,refract,ArraySlice:U,ObjectSlice:z,KeyValuePair:Y}},86303:(o,s,i)=>{const u=i(10316);o.exports=class LinkElement extends u{constructor(o,s,i){super(o||[],s,i),this.element="link"}get relation(){return this.attributes.get("relation")}set relation(o){this.attributes.set("relation",o)}get href(){return this.attributes.get("href")}set href(o){this.attributes.set("href",o)}}},14540:(o,s,i)=>{const u=i(10316);o.exports=class RefElement extends u{constructor(o,s,i){super(o||[],s,i),this.element="ref",this.path||(this.path="element")}get path(){return this.attributes.get("path")}set path(o){this.attributes.set("path",o)}}},34035:(o,s,i)=>{const u=i(3110),_=i(86804);s.g$=u,s.KeyValuePair=i(55973),s.G6=_.ArraySlice,s.ot=_.ObjectSlice,s.Hg=_.Element,s.Om=_.StringElement,s.kT=_.NumberElement,s.bd=_.BooleanElement,s.Os=_.NullElement,s.wE=_.ArrayElement,s.Sh=_.ObjectElement,s.Pr=_.MemberElement,s.sI=_.RefElement,s.Ft=_.LinkElement,s.e=_.refract,i(85105),i(75147)},6233:(o,s,i)=>{const u=i(6048),_=i(10316),w=i(92340);class ArrayElement extends _{constructor(o,s,i){super(o||[],s,i),this.element="array"}primitive(){return"array"}get(o){return this.content[o]}getValue(o){const s=this.get(o);if(s)return s.toValue()}getIndex(o){return this.content[o]}set(o,s){return this.content[o]=this.refract(s),this}remove(o){const s=this.content.splice(o,1);return s.length?s[0]:null}map(o,s){return this.content.map(o,s)}flatMap(o,s){return this.map(o,s).reduce(((o,s)=>o.concat(s)),[])}compactMap(o,s){const i=[];return this.forEach((u=>{const _=o.bind(s)(u);_&&i.push(_)})),i}filter(o,s){return new w(this.content.filter(o,s))}reject(o,s){return this.filter(u(o),s)}reduce(o,s){let i,u;void 0!==s?(i=0,u=this.refract(s)):(i=1,u="object"===this.primitive()?this.first.value:this.first);for(let s=i;s{o.bind(s)(i,this.refract(u))}))}shift(){return this.content.shift()}unshift(o){this.content.unshift(this.refract(o))}push(o){return this.content.push(this.refract(o)),this}add(o){this.push(o)}findElements(o,s){const i=s||{},u=!!i.recursive,_=void 0===i.results?[]:i.results;return this.forEach(((s,i,w)=>{u&&void 0!==s.findElements&&s.findElements(o,{results:_,recursive:u}),o(s,i,w)&&_.push(s)})),_}find(o){return new w(this.findElements(o,{recursive:!0}))}findByElement(o){return this.find((s=>s.element===o))}findByClass(o){return this.find((s=>s.classes.includes(o)))}getById(o){return this.find((s=>s.id.toValue()===o)).first}includes(o){return this.content.some((s=>s.equals(o)))}contains(o){return this.includes(o)}empty(){return new this.constructor([])}"fantasy-land/empty"(){return this.empty()}concat(o){return new this.constructor(this.content.concat(o.content))}"fantasy-land/concat"(o){return this.concat(o)}"fantasy-land/map"(o){return new this.constructor(this.map(o))}"fantasy-land/chain"(o){return this.map((s=>o(s)),this).reduce(((o,s)=>o.concat(s)),this.empty())}"fantasy-land/filter"(o){return new this.constructor(this.content.filter(o))}"fantasy-land/reduce"(o,s){return this.content.reduce(o,s)}get length(){return this.content.length}get isEmpty(){return 0===this.content.length}get first(){return this.getIndex(0)}get second(){return this.getIndex(1)}get last(){return this.getIndex(this.length-1)}}ArrayElement.empty=function empty(){return new this},ArrayElement["fantasy-land/empty"]=ArrayElement.empty,"undefined"!=typeof Symbol&&(ArrayElement.prototype[Symbol.iterator]=function symbol(){return this.content[Symbol.iterator]()}),o.exports=ArrayElement},12242:(o,s,i)=>{const u=i(10316);o.exports=class BooleanElement extends u{constructor(o,s,i){super(o,s,i),this.element="boolean"}primitive(){return"boolean"}}},10316:(o,s,i)=>{const u=i(2404),_=i(55973),w=i(92340);class Element{constructor(o,s,i){s&&(this.meta=s),i&&(this.attributes=i),this.content=o}freeze(){Object.isFrozen(this)||(this._meta&&(this.meta.parent=this,this.meta.freeze()),this._attributes&&(this.attributes.parent=this,this.attributes.freeze()),this.children.forEach((o=>{o.parent=this,o.freeze()}),this),this.content&&Array.isArray(this.content)&&Object.freeze(this.content),Object.freeze(this))}primitive(){}clone(){const o=new this.constructor;return o.element=this.element,this.meta.length&&(o._meta=this.meta.clone()),this.attributes.length&&(o._attributes=this.attributes.clone()),this.content?this.content.clone?o.content=this.content.clone():Array.isArray(this.content)?o.content=this.content.map((o=>o.clone())):o.content=this.content:o.content=this.content,o}toValue(){return this.content instanceof Element?this.content.toValue():this.content instanceof _?{key:this.content.key.toValue(),value:this.content.value?this.content.value.toValue():void 0}:this.content&&this.content.map?this.content.map((o=>o.toValue()),this):this.content}toRef(o){if(""===this.id.toValue())throw Error("Cannot create reference to an element that does not contain an ID");const s=new this.RefElement(this.id.toValue());return o&&(s.path=o),s}findRecursive(...o){if(arguments.length>1&&!this.isFrozen)throw new Error("Cannot find recursive with multiple element names without first freezing the element. Call `element.freeze()`");const s=o.pop();let i=new w;const append=(o,s)=>(o.push(s),o),checkElement=(o,i)=>{i.element===s&&o.push(i);const u=i.findRecursive(s);return u&&u.reduce(append,o),i.content instanceof _&&(i.content.key&&checkElement(o,i.content.key),i.content.value&&checkElement(o,i.content.value)),o};return this.content&&(this.content.element&&checkElement(i,this.content),Array.isArray(this.content)&&this.content.reduce(checkElement,i)),o.isEmpty||(i=i.filter((s=>{let i=s.parents.map((o=>o.element));for(const s in o){const u=o[s],_=i.indexOf(u);if(-1===_)return!1;i=i.splice(0,_)}return!0}))),i}set(o){return this.content=o,this}equals(o){return u(this.toValue(),o)}getMetaProperty(o,s){if(!this.meta.hasKey(o)){if(this.isFrozen){const o=this.refract(s);return o.freeze(),o}this.meta.set(o,s)}return this.meta.get(o)}setMetaProperty(o,s){this.meta.set(o,s)}get element(){return this._storedElement||"element"}set element(o){this._storedElement=o}get content(){return this._content}set content(o){if(o instanceof Element)this._content=o;else if(o instanceof w)this.content=o.elements;else if("string"==typeof o||"number"==typeof o||"boolean"==typeof o||"null"===o||null==o)this._content=o;else if(o instanceof _)this._content=o;else if(Array.isArray(o))this._content=o.map(this.refract);else{if("object"!=typeof o)throw new Error("Cannot set content to given value");this._content=Object.keys(o).map((s=>new this.MemberElement(s,o[s])))}}get meta(){if(!this._meta){if(this.isFrozen){const o=new this.ObjectElement;return o.freeze(),o}this._meta=new this.ObjectElement}return this._meta}set meta(o){o instanceof this.ObjectElement?this._meta=o:this.meta.set(o||{})}get attributes(){if(!this._attributes){if(this.isFrozen){const o=new this.ObjectElement;return o.freeze(),o}this._attributes=new this.ObjectElement}return this._attributes}set attributes(o){o instanceof this.ObjectElement?this._attributes=o:this.attributes.set(o||{})}get id(){return this.getMetaProperty("id","")}set id(o){this.setMetaProperty("id",o)}get classes(){return this.getMetaProperty("classes",[])}set classes(o){this.setMetaProperty("classes",o)}get title(){return this.getMetaProperty("title","")}set title(o){this.setMetaProperty("title",o)}get description(){return this.getMetaProperty("description","")}set description(o){this.setMetaProperty("description",o)}get links(){return this.getMetaProperty("links",[])}set links(o){this.setMetaProperty("links",o)}get isFrozen(){return Object.isFrozen(this)}get parents(){let{parent:o}=this;const s=new w;for(;o;)s.push(o),o=o.parent;return s}get children(){if(Array.isArray(this.content))return new w(this.content);if(this.content instanceof _){const o=new w([this.content.key]);return this.content.value&&o.push(this.content.value),o}return this.content instanceof Element?new w([this.content]):new w}get recursiveChildren(){const o=new w;return this.children.forEach((s=>{o.push(s),s.recursiveChildren.forEach((s=>{o.push(s)}))})),o}}o.exports=Element},87726:(o,s,i)=>{const u=i(55973),_=i(10316);o.exports=class MemberElement extends _{constructor(o,s,i,_){super(new u,i,_),this.element="member",this.key=o,this.value=s}get key(){return this.content.key}set key(o){this.content.key=this.refract(o)}get value(){return this.content.value}set value(o){this.content.value=this.refract(o)}}},41067:(o,s,i)=>{const u=i(10316);o.exports=class NullElement extends u{constructor(o,s,i){super(o||null,s,i),this.element="null"}primitive(){return"null"}set(){return new Error("Cannot set the value of null")}}},40239:(o,s,i)=>{const u=i(10316);o.exports=class NumberElement extends u{constructor(o,s,i){super(o,s,i),this.element="number"}primitive(){return"number"}}},61045:(o,s,i)=>{const u=i(6048),_=i(23805),w=i(6233),x=i(87726),C=i(10866);o.exports=class ObjectElement extends w{constructor(o,s,i){super(o||[],s,i),this.element="object"}primitive(){return"object"}toValue(){return this.content.reduce(((o,s)=>(o[s.key.toValue()]=s.value?s.value.toValue():void 0,o)),{})}get(o){const s=this.getMember(o);if(s)return s.value}getMember(o){if(void 0!==o)return this.content.find((s=>s.key.toValue()===o))}remove(o){let s=null;return this.content=this.content.filter((i=>i.key.toValue()!==o||(s=i,!1))),s}getKey(o){const s=this.getMember(o);if(s)return s.key}set(o,s){if(_(o))return Object.keys(o).forEach((s=>{this.set(s,o[s])})),this;const i=o,u=this.getMember(i);return u?u.value=s:this.content.push(new x(i,s)),this}keys(){return this.content.map((o=>o.key.toValue()))}values(){return this.content.map((o=>o.value.toValue()))}hasKey(o){return this.content.some((s=>s.key.equals(o)))}items(){return this.content.map((o=>[o.key.toValue(),o.value.toValue()]))}map(o,s){return this.content.map((i=>o.bind(s)(i.value,i.key,i)))}compactMap(o,s){const i=[];return this.forEach(((u,_,w)=>{const x=o.bind(s)(u,_,w);x&&i.push(x)})),i}filter(o,s){return new C(this.content).filter(o,s)}reject(o,s){return this.filter(u(o),s)}forEach(o,s){return this.content.forEach((i=>o.bind(s)(i.value,i.key,i)))}}},71167:(o,s,i)=>{const u=i(10316);o.exports=class StringElement extends u{constructor(o,s,i){super(o,s,i),this.element="string"}primitive(){return"string"}get length(){return this.content.length}}},75147:(o,s,i)=>{const u=i(85105);o.exports=class JSON06Serialiser extends u{serialise(o){if(!(o instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${o}\` is not an Element instance`);let s;o._attributes&&o.attributes.get("variable")&&(s=o.attributes.get("variable"));const i={element:o.element};o._meta&&o._meta.length>0&&(i.meta=this.serialiseObject(o.meta));const u="enum"===o.element||-1!==o.attributes.keys().indexOf("enumerations");if(u){const s=this.enumSerialiseAttributes(o);s&&(i.attributes=s)}else if(o._attributes&&o._attributes.length>0){let{attributes:u}=o;u.get("metadata")&&(u=u.clone(),u.set("meta",u.get("metadata")),u.remove("metadata")),"member"===o.element&&s&&(u=u.clone(),u.remove("variable")),u.length>0&&(i.attributes=this.serialiseObject(u))}if(u)i.content=this.enumSerialiseContent(o,i);else if(this[`${o.element}SerialiseContent`])i.content=this[`${o.element}SerialiseContent`](o,i);else if(void 0!==o.content){let u;s&&o.content.key?(u=o.content.clone(),u.key.attributes.set("variable",s),u=this.serialiseContent(u)):u=this.serialiseContent(o.content),this.shouldSerialiseContent(o,u)&&(i.content=u)}else this.shouldSerialiseContent(o,o.content)&&o instanceof this.namespace.elements.Array&&(i.content=[]);return i}shouldSerialiseContent(o,s){return"parseResult"===o.element||"httpRequest"===o.element||"httpResponse"===o.element||"category"===o.element||"link"===o.element||void 0!==s&&(!Array.isArray(s)||0!==s.length)}refSerialiseContent(o,s){return delete s.attributes,{href:o.toValue(),path:o.path.toValue()}}sourceMapSerialiseContent(o){return o.toValue()}dataStructureSerialiseContent(o){return[this.serialiseContent(o.content)]}enumSerialiseAttributes(o){const s=o.attributes.clone(),i=s.remove("enumerations")||new this.namespace.elements.Array([]),u=s.get("default");let _=s.get("samples")||new this.namespace.elements.Array([]);if(u&&u.content&&(u.content.attributes&&u.content.attributes.remove("typeAttributes"),s.set("default",new this.namespace.elements.Array([u.content]))),_.forEach((o=>{o.content&&o.content.element&&o.content.attributes.remove("typeAttributes")})),o.content&&0!==i.length&&_.unshift(o.content),_=_.map((o=>o instanceof this.namespace.elements.Array?[o]:new this.namespace.elements.Array([o.content]))),_.length&&s.set("samples",_),s.length>0)return this.serialiseObject(s)}enumSerialiseContent(o){if(o._attributes){const s=o.attributes.get("enumerations");if(s&&s.length>0)return s.content.map((o=>{const s=o.clone();return s.attributes.remove("typeAttributes"),this.serialise(s)}))}if(o.content){const s=o.content.clone();return s.attributes.remove("typeAttributes"),[this.serialise(s)]}return[]}deserialise(o){if("string"==typeof o)return new this.namespace.elements.String(o);if("number"==typeof o)return new this.namespace.elements.Number(o);if("boolean"==typeof o)return new this.namespace.elements.Boolean(o);if(null===o)return new this.namespace.elements.Null;if(Array.isArray(o))return new this.namespace.elements.Array(o.map(this.deserialise,this));const s=this.namespace.getElementClass(o.element),i=new s;i.element!==o.element&&(i.element=o.element),o.meta&&this.deserialiseObject(o.meta,i.meta),o.attributes&&this.deserialiseObject(o.attributes,i.attributes);const u=this.deserialiseContent(o.content);if(void 0===u&&null!==i.content||(i.content=u),"enum"===i.element){i.content&&i.attributes.set("enumerations",i.content);let o=i.attributes.get("samples");if(i.attributes.remove("samples"),o){const u=o;o=new this.namespace.elements.Array,u.forEach((u=>{u.forEach((u=>{const _=new s(u);_.element=i.element,o.push(_)}))}));const _=o.shift();i.content=_?_.content:void 0,i.attributes.set("samples",o)}else i.content=void 0;let u=i.attributes.get("default");if(u&&u.length>0){u=u.get(0);const o=new s(u);o.element=i.element,i.attributes.set("default",o)}}else if("dataStructure"===i.element&&Array.isArray(i.content))[i.content]=i.content;else if("category"===i.element){const o=i.attributes.get("meta");o&&(i.attributes.set("metadata",o),i.attributes.remove("meta"))}else"member"===i.element&&i.key&&i.key._attributes&&i.key._attributes.getValue("variable")&&(i.attributes.set("variable",i.key.attributes.get("variable")),i.key.attributes.remove("variable"));return i}serialiseContent(o){if(o instanceof this.namespace.elements.Element)return this.serialise(o);if(o instanceof this.namespace.KeyValuePair){const s={key:this.serialise(o.key)};return o.value&&(s.value=this.serialise(o.value)),s}return o&&o.map?o.map(this.serialise,this):o}deserialiseContent(o){if(o){if(o.element)return this.deserialise(o);if(o.key){const s=new this.namespace.KeyValuePair(this.deserialise(o.key));return o.value&&(s.value=this.deserialise(o.value)),s}if(o.map)return o.map(this.deserialise,this)}return o}shouldRefract(o){return!!(o._attributes&&o.attributes.keys().length||o._meta&&o.meta.keys().length)||"enum"!==o.element&&(o.element!==o.primitive()||"member"===o.element)}convertKeyToRefract(o,s){return this.shouldRefract(s)?this.serialise(s):"enum"===s.element?this.serialiseEnum(s):"array"===s.element?s.map((s=>this.shouldRefract(s)||"default"===o?this.serialise(s):"array"===s.element||"object"===s.element||"enum"===s.element?s.children.map((o=>this.serialise(o))):s.toValue())):"object"===s.element?(s.content||[]).map(this.serialise,this):s.toValue()}serialiseEnum(o){return o.children.map((o=>this.serialise(o)))}serialiseObject(o){const s={};return o.forEach(((o,i)=>{if(o){const u=i.toValue();s[u]=this.convertKeyToRefract(u,o)}})),s}deserialiseObject(o,s){Object.keys(o).forEach((i=>{s.set(i,this.deserialise(o[i]))}))}}},85105:o=>{o.exports=class JSONSerialiser{constructor(o){this.namespace=o||new this.Namespace}serialise(o){if(!(o instanceof this.namespace.elements.Element))throw new TypeError(`Given element \`${o}\` is not an Element instance`);const s={element:o.element};o._meta&&o._meta.length>0&&(s.meta=this.serialiseObject(o.meta)),o._attributes&&o._attributes.length>0&&(s.attributes=this.serialiseObject(o.attributes));const i=this.serialiseContent(o.content);return void 0!==i&&(s.content=i),s}deserialise(o){if(!o.element)throw new Error("Given value is not an object containing an element name");const s=new(this.namespace.getElementClass(o.element));s.element!==o.element&&(s.element=o.element),o.meta&&this.deserialiseObject(o.meta,s.meta),o.attributes&&this.deserialiseObject(o.attributes,s.attributes);const i=this.deserialiseContent(o.content);return void 0===i&&null!==s.content||(s.content=i),s}serialiseContent(o){if(o instanceof this.namespace.elements.Element)return this.serialise(o);if(o instanceof this.namespace.KeyValuePair){const s={key:this.serialise(o.key)};return o.value&&(s.value=this.serialise(o.value)),s}if(o&&o.map){if(0===o.length)return;return o.map(this.serialise,this)}return o}deserialiseContent(o){if(o){if(o.element)return this.deserialise(o);if(o.key){const s=new this.namespace.KeyValuePair(this.deserialise(o.key));return o.value&&(s.value=this.deserialise(o.value)),s}if(o.map)return o.map(this.deserialise,this)}return o}serialiseObject(o){const s={};if(o.forEach(((o,i)=>{o&&(s[i.toValue()]=this.serialise(o))})),0!==Object.keys(s).length)return s}deserialiseObject(o,s){Object.keys(o).forEach((i=>{s.set(i,this.deserialise(o[i]))}))}}},58859:(o,s,i)=>{var u="function"==typeof Map&&Map.prototype,_=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,w=u&&_&&"function"==typeof _.get?_.get:null,x=u&&Map.prototype.forEach,C="function"==typeof Set&&Set.prototype,j=Object.getOwnPropertyDescriptor&&C?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,L=C&&j&&"function"==typeof j.get?j.get:null,B=C&&Set.prototype.forEach,$="function"==typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,V="function"==typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,U="function"==typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,z=Boolean.prototype.valueOf,Y=Object.prototype.toString,Z=Function.prototype.toString,ee=String.prototype.match,ie=String.prototype.slice,ae=String.prototype.replace,ce=String.prototype.toUpperCase,le=String.prototype.toLowerCase,pe=RegExp.prototype.test,de=Array.prototype.concat,fe=Array.prototype.join,ye=Array.prototype.slice,be=Math.floor,_e="function"==typeof BigInt?BigInt.prototype.valueOf:null,we=Object.getOwnPropertySymbols,Se="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?Symbol.prototype.toString:null,xe="function"==typeof Symbol&&"object"==typeof Symbol.iterator,Pe="function"==typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===xe||"symbol")?Symbol.toStringTag:null,Te=Object.prototype.propertyIsEnumerable,Re=("function"==typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(o){return o.__proto__}:null);function addNumericSeparator(o,s){if(o===1/0||o===-1/0||o!=o||o&&o>-1e3&&o<1e3||pe.call(/e/,s))return s;var i=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"==typeof o){var u=o<0?-be(-o):be(o);if(u!==o){var _=String(u),w=ie.call(s,_.length+1);return ae.call(_,i,"$&_")+"."+ae.call(ae.call(w,/([0-9]{3})/g,"$&_"),/_$/,"")}}return ae.call(s,i,"$&_")}var qe=i(42634),$e=qe.custom,ze=isSymbol($e)?$e:null;function wrapQuotes(o,s,i){var u="double"===(i.quoteStyle||s)?'"':"'";return u+o+u}function quote(o){return ae.call(String(o),/"/g,""")}function isArray(o){return!("[object Array]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}function isRegExp(o){return!("[object RegExp]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}function isSymbol(o){if(xe)return o&&"object"==typeof o&&o instanceof Symbol;if("symbol"==typeof o)return!0;if(!o||"object"!=typeof o||!Se)return!1;try{return Se.call(o),!0}catch(o){}return!1}o.exports=function inspect_(o,s,u,_){var C=s||{};if(has(C,"quoteStyle")&&"single"!==C.quoteStyle&&"double"!==C.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(has(C,"maxStringLength")&&("number"==typeof C.maxStringLength?C.maxStringLength<0&&C.maxStringLength!==1/0:null!==C.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var j=!has(C,"customInspect")||C.customInspect;if("boolean"!=typeof j&&"symbol"!==j)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(has(C,"indent")&&null!==C.indent&&"\t"!==C.indent&&!(parseInt(C.indent,10)===C.indent&&C.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(has(C,"numericSeparator")&&"boolean"!=typeof C.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var Y=C.numericSeparator;if(void 0===o)return"undefined";if(null===o)return"null";if("boolean"==typeof o)return o?"true":"false";if("string"==typeof o)return inspectString(o,C);if("number"==typeof o){if(0===o)return 1/0/o>0?"0":"-0";var ce=String(o);return Y?addNumericSeparator(o,ce):ce}if("bigint"==typeof o){var pe=String(o)+"n";return Y?addNumericSeparator(o,pe):pe}var be=void 0===C.depth?5:C.depth;if(void 0===u&&(u=0),u>=be&&be>0&&"object"==typeof o)return isArray(o)?"[Array]":"[Object]";var we=function getIndent(o,s){var i;if("\t"===o.indent)i="\t";else{if(!("number"==typeof o.indent&&o.indent>0))return null;i=fe.call(Array(o.indent+1)," ")}return{base:i,prev:fe.call(Array(s+1),i)}}(C,u);if(void 0===_)_=[];else if(indexOf(_,o)>=0)return"[Circular]";function inspect(o,s,i){if(s&&(_=ye.call(_)).push(s),i){var w={depth:C.depth};return has(C,"quoteStyle")&&(w.quoteStyle=C.quoteStyle),inspect_(o,w,u+1,_)}return inspect_(o,C,u+1,_)}if("function"==typeof o&&!isRegExp(o)){var $e=function nameOf(o){if(o.name)return o.name;var s=ee.call(Z.call(o),/^function\s*([\w$]+)/);if(s)return s[1];return null}(o),We=arrObjKeys(o,inspect);return"[Function"+($e?": "+$e:" (anonymous)")+"]"+(We.length>0?" { "+fe.call(We,", ")+" }":"")}if(isSymbol(o)){var He=xe?ae.call(String(o),/^(Symbol\(.*\))_[^)]*$/,"$1"):Se.call(o);return"object"!=typeof o||xe?He:markBoxed(He)}if(function isElement(o){if(!o||"object"!=typeof o)return!1;if("undefined"!=typeof HTMLElement&&o instanceof HTMLElement)return!0;return"string"==typeof o.nodeName&&"function"==typeof o.getAttribute}(o)){for(var Ye="<"+le.call(String(o.nodeName)),Xe=o.attributes||[],Qe=0;Qe"}if(isArray(o)){if(0===o.length)return"[]";var et=arrObjKeys(o,inspect);return we&&!function singleLineValues(o){for(var s=0;s=0)return!1;return!0}(et)?"["+indentedJoin(et,we)+"]":"[ "+fe.call(et,", ")+" ]"}if(function isError(o){return!("[object Error]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o)){var tt=arrObjKeys(o,inspect);return"cause"in Error.prototype||!("cause"in o)||Te.call(o,"cause")?0===tt.length?"["+String(o)+"]":"{ ["+String(o)+"] "+fe.call(tt,", ")+" }":"{ ["+String(o)+"] "+fe.call(de.call("[cause]: "+inspect(o.cause),tt),", ")+" }"}if("object"==typeof o&&j){if(ze&&"function"==typeof o[ze]&&qe)return qe(o,{depth:be-u});if("symbol"!==j&&"function"==typeof o.inspect)return o.inspect()}if(function isMap(o){if(!w||!o||"object"!=typeof o)return!1;try{w.call(o);try{L.call(o)}catch(o){return!0}return o instanceof Map}catch(o){}return!1}(o)){var rt=[];return x&&x.call(o,(function(s,i){rt.push(inspect(i,o,!0)+" => "+inspect(s,o))})),collectionOf("Map",w.call(o),rt,we)}if(function isSet(o){if(!L||!o||"object"!=typeof o)return!1;try{L.call(o);try{w.call(o)}catch(o){return!0}return o instanceof Set}catch(o){}return!1}(o)){var nt=[];return B&&B.call(o,(function(s){nt.push(inspect(s,o))})),collectionOf("Set",L.call(o),nt,we)}if(function isWeakMap(o){if(!$||!o||"object"!=typeof o)return!1;try{$.call(o,$);try{V.call(o,V)}catch(o){return!0}return o instanceof WeakMap}catch(o){}return!1}(o))return weakCollectionOf("WeakMap");if(function isWeakSet(o){if(!V||!o||"object"!=typeof o)return!1;try{V.call(o,V);try{$.call(o,$)}catch(o){return!0}return o instanceof WeakSet}catch(o){}return!1}(o))return weakCollectionOf("WeakSet");if(function isWeakRef(o){if(!U||!o||"object"!=typeof o)return!1;try{return U.call(o),!0}catch(o){}return!1}(o))return weakCollectionOf("WeakRef");if(function isNumber(o){return!("[object Number]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o))return markBoxed(inspect(Number(o)));if(function isBigInt(o){if(!o||"object"!=typeof o||!_e)return!1;try{return _e.call(o),!0}catch(o){}return!1}(o))return markBoxed(inspect(_e.call(o)));if(function isBoolean(o){return!("[object Boolean]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o))return markBoxed(z.call(o));if(function isString(o){return!("[object String]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o))return markBoxed(inspect(String(o)));if("undefined"!=typeof window&&o===window)return"{ [object Window] }";if(o===i.g)return"{ [object globalThis] }";if(!function isDate(o){return!("[object Date]"!==toStr(o)||Pe&&"object"==typeof o&&Pe in o)}(o)&&!isRegExp(o)){var ot=arrObjKeys(o,inspect),st=Re?Re(o)===Object.prototype:o instanceof Object||o.constructor===Object,it=o instanceof Object?"":"null prototype",at=!st&&Pe&&Object(o)===o&&Pe in o?ie.call(toStr(o),8,-1):it?"Object":"",ct=(st||"function"!=typeof o.constructor?"":o.constructor.name?o.constructor.name+" ":"")+(at||it?"["+fe.call(de.call([],at||[],it||[]),": ")+"] ":"");return 0===ot.length?ct+"{}":we?ct+"{"+indentedJoin(ot,we)+"}":ct+"{ "+fe.call(ot,", ")+" }"}return String(o)};var We=Object.prototype.hasOwnProperty||function(o){return o in this};function has(o,s){return We.call(o,s)}function toStr(o){return Y.call(o)}function indexOf(o,s){if(o.indexOf)return o.indexOf(s);for(var i=0,u=o.length;is.maxStringLength){var i=o.length-s.maxStringLength,u="... "+i+" more character"+(i>1?"s":"");return inspectString(ie.call(o,0,s.maxStringLength),s)+u}return wrapQuotes(ae.call(ae.call(o,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,lowbyte),"single",s)}function lowbyte(o){var s=o.charCodeAt(0),i={8:"b",9:"t",10:"n",12:"f",13:"r"}[s];return i?"\\"+i:"\\x"+(s<16?"0":"")+ce.call(s.toString(16))}function markBoxed(o){return"Object("+o+")"}function weakCollectionOf(o){return o+" { ? }"}function collectionOf(o,s,i,u){return o+" ("+s+") {"+(u?indentedJoin(i,u):fe.call(i,", "))+"}"}function indentedJoin(o,s){if(0===o.length)return"";var i="\n"+s.prev+s.base;return i+fe.call(o,","+i)+"\n"+s.prev}function arrObjKeys(o,s){var i=isArray(o),u=[];if(i){u.length=o.length;for(var _=0;_{var s,i,u=o.exports={};function defaultSetTimout(){throw new Error("setTimeout has not been defined")}function defaultClearTimeout(){throw new Error("clearTimeout has not been defined")}function runTimeout(o){if(s===setTimeout)return setTimeout(o,0);if((s===defaultSetTimout||!s)&&setTimeout)return s=setTimeout,setTimeout(o,0);try{return s(o,0)}catch(i){try{return s.call(null,o,0)}catch(i){return s.call(this,o,0)}}}!function(){try{s="function"==typeof setTimeout?setTimeout:defaultSetTimout}catch(o){s=defaultSetTimout}try{i="function"==typeof clearTimeout?clearTimeout:defaultClearTimeout}catch(o){i=defaultClearTimeout}}();var _,w=[],x=!1,C=-1;function cleanUpNextTick(){x&&_&&(x=!1,_.length?w=_.concat(w):C=-1,w.length&&drainQueue())}function drainQueue(){if(!x){var o=runTimeout(cleanUpNextTick);x=!0;for(var s=w.length;s;){for(_=w,w=[];++C1)for(var i=1;i{"use strict";var u=i(6925);function emptyFunction(){}function emptyFunctionWithReset(){}emptyFunctionWithReset.resetWarningCache=emptyFunction,o.exports=function(){function shim(o,s,i,_,w,x){if(x!==u){var C=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw C.name="Invariant Violation",C}}function getShim(){return shim}shim.isRequired=shim;var o={array:shim,bigint:shim,bool:shim,func:shim,number:shim,object:shim,string:shim,symbol:shim,any:shim,arrayOf:getShim,element:shim,elementType:shim,instanceOf:getShim,node:shim,objectOf:getShim,oneOf:getShim,oneOfType:getShim,shape:getShim,exact:getShim,checkPropTypes:emptyFunctionWithReset,resetWarningCache:emptyFunction};return o.PropTypes=o,o}},5556:(o,s,i)=>{o.exports=i(2694)()},6925:o=>{"use strict";o.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},74765:o=>{"use strict";var s=String.prototype.replace,i=/%20/g,u="RFC1738",_="RFC3986";o.exports={default:_,formatters:{RFC1738:function(o){return s.call(o,i,"+")},RFC3986:function(o){return String(o)}},RFC1738:u,RFC3986:_}},55373:(o,s,i)=>{"use strict";var u=i(98636),_=i(62642),w=i(74765);o.exports={formats:w,parse:_,stringify:u}},62642:(o,s,i)=>{"use strict";var u=i(37720),_=Object.prototype.hasOwnProperty,w=Array.isArray,x={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:u.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},interpretNumericEntities=function(o){return o.replace(/&#(\d+);/g,(function(o,s){return String.fromCharCode(parseInt(s,10))}))},parseArrayValue=function(o,s){return o&&"string"==typeof o&&s.comma&&o.indexOf(",")>-1?o.split(","):o},C=function parseQueryStringKeys(o,s,i,u){if(o){var w=i.allowDots?o.replace(/\.([^.[]+)/g,"[$1]"):o,x=/(\[[^[\]]*])/g,C=i.depth>0&&/(\[[^[\]]*])/.exec(w),j=C?w.slice(0,C.index):w,L=[];if(j){if(!i.plainObjects&&_.call(Object.prototype,j)&&!i.allowPrototypes)return;L.push(j)}for(var B=0;i.depth>0&&null!==(C=x.exec(w))&&B=0;--w){var x,C=o[w];if("[]"===C&&i.parseArrays)x=[].concat(_);else{x=i.plainObjects?Object.create(null):{};var j="["===C.charAt(0)&&"]"===C.charAt(C.length-1)?C.slice(1,-1):C,L=parseInt(j,10);i.parseArrays||""!==j?!isNaN(L)&&C!==j&&String(L)===j&&L>=0&&i.parseArrays&&L<=i.arrayLimit?(x=[])[L]=_:"__proto__"!==j&&(x[j]=_):x={0:_}}_=x}return _}(L,s,i,u)}};o.exports=function(o,s){var i=function normalizeParseOptions(o){if(!o)return x;if(null!==o.decoder&&void 0!==o.decoder&&"function"!=typeof o.decoder)throw new TypeError("Decoder has to be a function.");if(void 0!==o.charset&&"utf-8"!==o.charset&&"iso-8859-1"!==o.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var s=void 0===o.charset?x.charset:o.charset;return{allowDots:void 0===o.allowDots?x.allowDots:!!o.allowDots,allowPrototypes:"boolean"==typeof o.allowPrototypes?o.allowPrototypes:x.allowPrototypes,allowSparse:"boolean"==typeof o.allowSparse?o.allowSparse:x.allowSparse,arrayLimit:"number"==typeof o.arrayLimit?o.arrayLimit:x.arrayLimit,charset:s,charsetSentinel:"boolean"==typeof o.charsetSentinel?o.charsetSentinel:x.charsetSentinel,comma:"boolean"==typeof o.comma?o.comma:x.comma,decoder:"function"==typeof o.decoder?o.decoder:x.decoder,delimiter:"string"==typeof o.delimiter||u.isRegExp(o.delimiter)?o.delimiter:x.delimiter,depth:"number"==typeof o.depth||!1===o.depth?+o.depth:x.depth,ignoreQueryPrefix:!0===o.ignoreQueryPrefix,interpretNumericEntities:"boolean"==typeof o.interpretNumericEntities?o.interpretNumericEntities:x.interpretNumericEntities,parameterLimit:"number"==typeof o.parameterLimit?o.parameterLimit:x.parameterLimit,parseArrays:!1!==o.parseArrays,plainObjects:"boolean"==typeof o.plainObjects?o.plainObjects:x.plainObjects,strictNullHandling:"boolean"==typeof o.strictNullHandling?o.strictNullHandling:x.strictNullHandling}}(s);if(""===o||null==o)return i.plainObjects?Object.create(null):{};for(var j="string"==typeof o?function parseQueryStringValues(o,s){var i,C={},j=s.ignoreQueryPrefix?o.replace(/^\?/,""):o,L=s.parameterLimit===1/0?void 0:s.parameterLimit,B=j.split(s.delimiter,L),$=-1,V=s.charset;if(s.charsetSentinel)for(i=0;i-1&&(z=w(z)?[z]:z),_.call(C,U)?C[U]=u.combine(C[U],z):C[U]=z}return C}(o,i):o,L=i.plainObjects?Object.create(null):{},B=Object.keys(j),$=0;${"use strict";var u=i(920),_=i(37720),w=i(74765),x=Object.prototype.hasOwnProperty,C={brackets:function brackets(o){return o+"[]"},comma:"comma",indices:function indices(o,s){return o+"["+s+"]"},repeat:function repeat(o){return o}},j=Array.isArray,L=String.prototype.split,B=Array.prototype.push,pushToArray=function(o,s){B.apply(o,j(s)?s:[s])},$=Date.prototype.toISOString,V=w.default,U={addQueryPrefix:!1,allowDots:!1,charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encoder:_.encode,encodeValuesOnly:!1,format:V,formatter:w.formatters[V],indices:!1,serializeDate:function serializeDate(o){return $.call(o)},skipNulls:!1,strictNullHandling:!1},z={},Y=function stringify(o,s,i,w,x,C,B,$,V,Y,Z,ee,ie,ae,ce,le){for(var pe=o,de=le,fe=0,ye=!1;void 0!==(de=de.get(z))&&!ye;){var be=de.get(o);if(fe+=1,void 0!==be){if(be===fe)throw new RangeError("Cyclic object value");ye=!0}void 0===de.get(z)&&(fe=0)}if("function"==typeof $?pe=$(s,pe):pe instanceof Date?pe=Z(pe):"comma"===i&&j(pe)&&(pe=_.maybeMap(pe,(function(o){return o instanceof Date?Z(o):o}))),null===pe){if(x)return B&&!ae?B(s,U.encoder,ce,"key",ee):s;pe=""}if(function isNonNullishPrimitive(o){return"string"==typeof o||"number"==typeof o||"boolean"==typeof o||"symbol"==typeof o||"bigint"==typeof o}(pe)||_.isBuffer(pe)){if(B){var _e=ae?s:B(s,U.encoder,ce,"key",ee);if("comma"===i&&ae){for(var we=L.call(String(pe),","),Se="",xe=0;xe0?pe.join(",")||null:void 0}];else if(j($))Pe=$;else{var Re=Object.keys(pe);Pe=V?Re.sort(V):Re}for(var qe=w&&j(pe)&&1===pe.length?s+"[]":s,$e=0;$e0?ce+ae:""}},37720:(o,s,i)=>{"use strict";var u=i(74765),_=Object.prototype.hasOwnProperty,w=Array.isArray,x=function(){for(var o=[],s=0;s<256;++s)o.push("%"+((s<16?"0":"")+s.toString(16)).toUpperCase());return o}(),C=function arrayToObject(o,s){for(var i=s&&s.plainObjects?Object.create(null):{},u=0;u1;){var s=o.pop(),i=s.obj[s.prop];if(w(i)){for(var u=[],_=0;_=48&&B<=57||B>=65&&B<=90||B>=97&&B<=122||w===u.RFC1738&&(40===B||41===B)?j+=C.charAt(L):B<128?j+=x[B]:B<2048?j+=x[192|B>>6]+x[128|63&B]:B<55296||B>=57344?j+=x[224|B>>12]+x[128|B>>6&63]+x[128|63&B]:(L+=1,B=65536+((1023&B)<<10|1023&C.charCodeAt(L)),j+=x[240|B>>18]+x[128|B>>12&63]+x[128|B>>6&63]+x[128|63&B])}return j},isBuffer:function isBuffer(o){return!(!o||"object"!=typeof o)&&!!(o.constructor&&o.constructor.isBuffer&&o.constructor.isBuffer(o))},isRegExp:function isRegExp(o){return"[object RegExp]"===Object.prototype.toString.call(o)},maybeMap:function maybeMap(o,s){if(w(o)){for(var i=[],u=0;u{"use strict";var i=Object.prototype.hasOwnProperty;function decode(o){try{return decodeURIComponent(o.replace(/\+/g," "))}catch(o){return null}}function encode(o){try{return encodeURIComponent(o)}catch(o){return null}}s.stringify=function querystringify(o,s){s=s||"";var u,_,w=[];for(_ in"string"!=typeof s&&(s="?"),o)if(i.call(o,_)){if((u=o[_])||null!=u&&!isNaN(u)||(u=""),_=encode(_),u=encode(u),null===_||null===u)continue;w.push(_+"="+u)}return w.length?s+w.join("&"):""},s.parse=function querystring(o){for(var s,i=/([^=?#&]+)=?([^&]*)/g,u={};s=i.exec(o);){var _=decode(s[1]),w=decode(s[2]);null===_||null===w||_ in u||(u[_]=w)}return u}},41859:(o,s,i)=>{const u=i(27096),_=i(78004),w=u.types;o.exports=class RandExp{constructor(o,s){if(this._setDefaults(o),o instanceof RegExp)this.ignoreCase=o.ignoreCase,this.multiline=o.multiline,o=o.source;else{if("string"!=typeof o)throw new Error("Expected a regexp or string");this.ignoreCase=s&&-1!==s.indexOf("i"),this.multiline=s&&-1!==s.indexOf("m")}this.tokens=u(o)}_setDefaults(o){this.max=null!=o.max?o.max:null!=RandExp.prototype.max?RandExp.prototype.max:100,this.defaultRange=o.defaultRange?o.defaultRange:this.defaultRange.clone(),o.randInt&&(this.randInt=o.randInt)}gen(){return this._gen(this.tokens,[])}_gen(o,s){var i,u,_,x,C;switch(o.type){case w.ROOT:case w.GROUP:if(o.followedBy||o.notFollowedBy)return"";for(o.remember&&void 0===o.groupNumber&&(o.groupNumber=s.push(null)-1),u="",x=0,C=(i=o.options?this._randSelect(o.options):o.stack).length;x{"use strict";var u=i(65606),_=65536,w=4294967295;var x=i(92861).Buffer,C=i.g.crypto||i.g.msCrypto;C&&C.getRandomValues?o.exports=function randomBytes(o,s){if(o>w)throw new RangeError("requested too many random bytes");var i=x.allocUnsafe(o);if(o>0)if(o>_)for(var j=0;j{"use strict";function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(s,"__esModule",{value:!0}),s.CopyToClipboard=void 0;var u=_interopRequireDefault(i(96540)),_=_interopRequireDefault(i(17965)),w=["text","onCopy","options","children"];function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function ownKeys(o,s){var i=Object.keys(o);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(o);s&&(u=u.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),i.push.apply(i,u)}return i}function _objectSpread(o){for(var s=1;s=0||(_[i]=o[i]);return _}(o,s);if(Object.getOwnPropertySymbols){var w=Object.getOwnPropertySymbols(o);for(u=0;u=0||Object.prototype.propertyIsEnumerable.call(o,i)&&(_[i]=o[i])}return _}function _defineProperties(o,s){for(var i=0;i{"use strict";var u=i(25264).CopyToClipboard;u.CopyToClipboard=u,o.exports=u},81214:(o,s,i)=>{"use strict";function _typeof(o){return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(o){return typeof o}:function(o){return o&&"function"==typeof Symbol&&o.constructor===Symbol&&o!==Symbol.prototype?"symbol":typeof o},_typeof(o)}Object.defineProperty(s,"__esModule",{value:!0}),s.DebounceInput=void 0;var u=_interopRequireDefault(i(96540)),_=_interopRequireDefault(i(20181)),w=["element","onChange","value","minLength","debounceTimeout","forceNotifyByEnter","forceNotifyOnBlur","onKeyDown","onBlur","inputRef"];function _interopRequireDefault(o){return o&&o.__esModule?o:{default:o}}function _objectWithoutProperties(o,s){if(null==o)return{};var i,u,_=function _objectWithoutPropertiesLoose(o,s){if(null==o)return{};var i,u,_={},w=Object.keys(o);for(u=0;u=0||(_[i]=o[i]);return _}(o,s);if(Object.getOwnPropertySymbols){var w=Object.getOwnPropertySymbols(o);for(u=0;u=0||Object.prototype.propertyIsEnumerable.call(o,i)&&(_[i]=o[i])}return _}function ownKeys(o,s){var i=Object.keys(o);if(Object.getOwnPropertySymbols){var u=Object.getOwnPropertySymbols(o);s&&(u=u.filter((function(s){return Object.getOwnPropertyDescriptor(o,s).enumerable}))),i.push.apply(i,u)}return i}function _objectSpread(o){for(var s=1;s=u?i.notify(o):s.length>_.length&&i.notify(_objectSpread(_objectSpread({},o),{},{target:_objectSpread(_objectSpread({},o.target),{},{value:""})}))}))})),_defineProperty(_assertThisInitialized(i),"onKeyDown",(function(o){"Enter"===o.key&&i.forceNotify(o);var s=i.props.onKeyDown;s&&(o.persist(),s(o))})),_defineProperty(_assertThisInitialized(i),"onBlur",(function(o){i.forceNotify(o);var s=i.props.onBlur;s&&(o.persist(),s(o))})),_defineProperty(_assertThisInitialized(i),"createNotifier",(function(o){if(o<0)i.notify=function(){return null};else if(0===o)i.notify=i.doNotify;else{var s=(0,_.default)((function(o){i.isDebouncing=!1,i.doNotify(o)}),o);i.notify=function(o){i.isDebouncing=!0,s(o)},i.flush=function(){return s.flush()},i.cancel=function(){i.isDebouncing=!1,s.cancel()}}})),_defineProperty(_assertThisInitialized(i),"doNotify",(function(){i.props.onChange.apply(void 0,arguments)})),_defineProperty(_assertThisInitialized(i),"forceNotify",(function(o){var s=i.props.debounceTimeout;if(i.isDebouncing||!(s>0)){i.cancel&&i.cancel();var u=i.state.value,_=i.props.minLength;u.length>=_?i.doNotify(o):i.doNotify(_objectSpread(_objectSpread({},o),{},{target:_objectSpread(_objectSpread({},o.target),{},{value:u})}))}})),i.isDebouncing=!1,i.state={value:void 0===o.value||null===o.value?"":o.value};var u=i.props.debounceTimeout;return i.createNotifier(u),i}return function _createClass(o,s,i){return s&&_defineProperties(o.prototype,s),i&&_defineProperties(o,i),Object.defineProperty(o,"prototype",{writable:!1}),o}(DebounceInput,[{key:"componentDidUpdate",value:function componentDidUpdate(o){if(!this.isDebouncing){var s=this.props,i=s.value,u=s.debounceTimeout,_=o.debounceTimeout,w=o.value,x=this.state.value;void 0!==i&&w!==i&&x!==i&&this.setState({value:i}),u!==_&&this.createNotifier(u)}}},{key:"componentWillUnmount",value:function componentWillUnmount(){this.flush&&this.flush()}},{key:"render",value:function render(){var o,s,i=this.props,_=i.element,x=(i.onChange,i.value,i.minLength,i.debounceTimeout,i.forceNotifyByEnter),C=i.forceNotifyOnBlur,j=i.onKeyDown,L=i.onBlur,B=i.inputRef,$=_objectWithoutProperties(i,w),V=this.state.value;o=x?{onKeyDown:this.onKeyDown}:j?{onKeyDown:j}:{},s=C?{onBlur:this.onBlur}:L?{onBlur:L}:{};var U=B?{ref:B}:{};return u.default.createElement(_,_objectSpread(_objectSpread(_objectSpread(_objectSpread({},$),{},{onChange:this.onChange,value:V},o),s),U))}}]),DebounceInput}(u.default.PureComponent);s.DebounceInput=x,_defineProperty(x,"defaultProps",{element:"input",type:"text",onKeyDown:void 0,onBlur:void 0,value:void 0,minLength:0,debounceTimeout:100,forceNotifyByEnter:!0,forceNotifyOnBlur:!0,inputRef:void 0})},24677:(o,s,i)=>{"use strict";var u=i(81214).DebounceInput;u.DebounceInput=u,o.exports=u},22551:(o,s,i)=>{"use strict";var u=i(96540),_=i(69982);function p(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,i=1;i