From e40e7e36f5ebf6907a7eeb7dc5b57fab96f8ab21 Mon Sep 17 00:00:00 2001 From: etosphere Date: Wed, 7 Oct 2026 19:11:55 -0400 Subject: [PATCH 1/2] Bump vendored Diva to v7.5.2 v7.5 adds the Web Annotation API that OMR search highlighting builds on. The public API changes are additions only; nothing Cantus already calls has changed. --- nginx/app/dependencies/diva.js/Makefile | 23 +- nginx/app/dependencies/diva.js/README.md | 2 +- .../app/dependencies/diva.js/build/auth.d.ts | 16 +- .../app/dependencies/diva.js/build/diva.d.ts | 71 +- .../dependencies/diva.js/build/diva.debug.js | 7007 ++++++++--------- .../dependencies/diva.js/build/diva.esm.js | 2 +- nginx/app/dependencies/diva.js/build/diva.js | 2 +- .../dependencies/diva.js/build/filters.d.ts | 2 - .../diva.js/build/image-utils.d.ts | 15 + .../diva.js/build/public-api.d.ts | 70 + nginx/app/dependencies/diva.js/elm.json | 8 +- nginx/app/dependencies/diva.js/package.json | 6 +- .../dependencies/diva.js/src/Annotation.elm | 55 + nginx/app/dependencies/diva.js/src/Auth.elm | 21 +- nginx/app/dependencies/diva.js/src/Main.elm | 197 +- nginx/app/dependencies/diva.js/src/Model.elm | 10 +- nginx/app/dependencies/diva.js/src/Msg.elm | 6 +- .../diva.js/src/View/HtmlRenderer.elm | 542 +- .../dependencies/diva.js/src/View/Icons.elm | 26 +- .../dependencies/diva.js/src/View/Toolbar.elm | 22 + nginx/app/dependencies/diva.js/src/auth.ts | 246 +- .../app/dependencies/diva.js/src/diva-esm.ts | 3 +- nginx/app/dependencies/diva.js/src/diva.ts | 1262 ++- nginx/app/dependencies/diva.js/src/filters.ts | 742 +- .../dependencies/diva.js/src/image-utils.ts | 75 + .../dependencies/diva.js/src/public-api.ts | 174 +- .../dependencies/diva.js/src/styles/app.css | 205 +- .../diva.js/src/styles/collection.css | 1 - .../dependencies/diva.js/src/styles/modal.css | 38 +- .../diva.js/src/styles/sidebar.css | 33 - .../dependencies/diva.js/src/styles/theme.css | 19 +- .../diva.js/src/viewer-element.ts | 1067 ++- .../diva.js/testing/annotations.html | 232 + .../diva.js/testing/auth-harness.html | 4 +- .../dependencies/diva.js/testing/index.html | 15 +- .../dependencies/diva.js/testing/testing.html | 9 + nginx/static/js/app/cantus.chunk.diva.min.js | 2 +- .../js/app/cantus.chunk.diva.min.js.map | 2 +- 38 files changed, 7309 insertions(+), 4923 deletions(-) create mode 100644 nginx/app/dependencies/diva.js/build/image-utils.d.ts create mode 100644 nginx/app/dependencies/diva.js/src/Annotation.elm create mode 100644 nginx/app/dependencies/diva.js/src/image-utils.ts create mode 100644 nginx/app/dependencies/diva.js/testing/annotations.html diff --git a/nginx/app/dependencies/diva.js/Makefile b/nginx/app/dependencies/diva.js/Makefile index f60a58c5..8847dc6f 100644 --- a/nginx/app/dependencies/diva.js/Makefile +++ b/nginx/app/dependencies/diva.js/Makefile @@ -6,6 +6,7 @@ TS_ESM_SRC := src/diva-esm.ts TS_VE_SRC := src/viewer-element.ts TS_FT_SRC := src/filters.ts TS_AUTH_SRC := src/auth.ts +TS_UTILS_SRC := src/image-utils.ts CSS_SRC := $(wildcard src/styles/*.css) DIVA_CSS := cache/diva.css ELM_OUT := cache/elm.js @@ -38,7 +39,7 @@ define print_bundle_size printf "%-18s %10s (%7s)\n" "Gzipped size:" "$$GZIPPED_SIZE bytes" "$$GZIPPED_HR"; endef -.PHONY: all build build-dev clean clean-cache docs docs-check release report-build-sizes test +.PHONY: all build build-dev clean clean-cache docs docs-check release report-build-sizes review serve test all: build @@ -53,6 +54,15 @@ build-dev: test: yarn test +test-browser: + yarn test:browser + +serve: + python3 -m http.server 8003 + +format: + yarn format + docs: yarn docs @@ -69,14 +79,14 @@ $(ELM_ESM): $(ELM_OUT) $(ELM_ESM_SCRIPT) $(DIVA_CSS): $(CSS_SRC) scripts/minify-css.mjs node ./scripts/minify-css.mjs -$(DIVA_DEBUG): $(TS_SRC) $(TS_VE_SRC) $(TS_FT_SRC) $(TS_AUTH_SRC) $(DIVA_CSS) $(ELM_ESM) +$(DIVA_DEBUG): $(TS_SRC) $(TS_VE_SRC) $(TS_FT_SRC) $(TS_AUTH_SRC) $(TS_UTILS_SRC) $(DIVA_CSS) $(ELM_ESM) mkdir -p public $(ESBUILD) $(TS_SRC) $(ESBUILD_COMMON_FLAGS) --format=iife --outfile=$(DIVA_DEBUG) -$(DIVA_IIFE_BUNDLE): $(TS_SRC) $(TS_VE_SRC) $(TS_FT_SRC) $(TS_AUTH_SRC) $(DIVA_CSS) $(ELM_ESM) +$(DIVA_IIFE_BUNDLE): $(TS_SRC) $(TS_VE_SRC) $(TS_FT_SRC) $(TS_AUTH_SRC) $(TS_UTILS_SRC) $(DIVA_CSS) $(ELM_ESM) @$(ESBUILD) $(TS_SRC) $(ESBUILD_COMMON_FLAGS) --format=iife --outfile=$(DIVA_IIFE_BUNDLE) -$(DIVA_ESM_BUNDLE): $(TS_ESM_SRC) $(TS_SRC) $(TS_VE_SRC) $(TS_FT_SRC) $(TS_AUTH_SRC) $(DIVA_CSS) $(ELM_ESM) +$(DIVA_ESM_BUNDLE): $(TS_ESM_SRC) $(TS_SRC) $(TS_VE_SRC) $(TS_FT_SRC) $(TS_AUTH_SRC) $(TS_UTILS_SRC) $(DIVA_CSS) $(ELM_ESM) @$(ESBUILD) $(TS_ESM_SRC) $(ESBUILD_COMMON_FLAGS) --format=esm --outfile=$(DIVA_ESM_BUNDLE) $(DIVA_JS): $(DIVA_IIFE_BUNDLE) .swcrc @@ -87,7 +97,7 @@ $(DIVA_ESM): $(DIVA_ESM_BUNDLE) .swcrc @mkdir -p build @$(SWC) $(DIVA_ESM_BUNDLE) --out-file $(DIVA_ESM) -$(DIVA_TYPES): $(TS_ESM_SRC) $(TS_SRC) $(TS_VE_SRC) $(TS_FT_SRC) $(TS_AUTH_SRC) src/public-api.ts tsconfig.json +$(DIVA_TYPES): $(TS_ESM_SRC) $(TS_SRC) $(TS_VE_SRC) $(TS_FT_SRC) $(TS_AUTH_SRC) $(TS_UTILS_SRC) src/public-api.ts tsconfig.json @mkdir -p build @yarn -s tsc -p tsconfig.json --declaration --emitDeclarationOnly --outDir build @@ -116,3 +126,6 @@ release: clean build build-dev publish: clean build npm publish + +review: + elm-review --elmjson elm.json --config review diff --git a/nginx/app/dependencies/diva.js/README.md b/nginx/app/dependencies/diva.js/README.md index 77703f82..d642cd5e 100644 --- a/nginx/app/dependencies/diva.js/README.md +++ b/nginx/app/dependencies/diva.js/README.md @@ -174,7 +174,7 @@ both versions using local npm packages. Diva supports the IIIF Authorization Flow API 2.0 `external` and `active` access profiles, including optional logout services. When both profiles are available, Diva first attempts the silent `external` flow and falls back to the interactive `active` flow when external authorization does not provide a usable token. Logging out clears the associated local access tokens and re-resolves affected images anonymously. The `kiosk` profile, redirects, substitutes, and tiered access are intentionally unsupported. -Static image resources must opt into cross-origin access with an appropriate CORS response header. Diva does not use a non-CORS fallback because doing so would break canvas-based image processing and could expose inconsistent behavior. Consequently, [GitHub issue #564](https://github.com/DDMAL/diva.js/issues/564) remains unresolved by policy. +Static image resources use anonymous CORS by default so their pixels remain available to Page View filters and Save view. Set `staticImageCorsPolicy: "fallback"` to retry a failed static-image request once without CORS, or `"none"` to use non-CORS loading immediately. Non-CORS static images remain viewable, but their pixels cannot be filtered or saved because the browser taints their canvas. [GitHub issue #564](https://github.com/DDMAL/diva.js/issues/564) describes this compatibility case. ## Development diff --git a/nginx/app/dependencies/diva.js/build/auth.d.ts b/nginx/app/dependencies/diva.js/build/auth.d.ts index f583a1ab..fcc16c25 100644 --- a/nginx/app/dependencies/diva.js/build/auth.d.ts +++ b/nginx/app/dependencies/diva.js/build/auth.d.ts @@ -1,9 +1,6 @@ -export type TileSourceDescriptor = { - sourceId: string; - url: string; - isStatic: boolean; -}; -export type ResolvedTileSource = string | Record; +import { type ResolvedTileSource, type TileSourceDescriptor } from "./image-utils"; +import type { DivaStaticImageCorsPolicy } from "./public-api"; +export type { ResolvedTileSource, TileSourceDescriptor } from "./image-utils"; type SendPort = { send: (value: T) => void; }; @@ -98,11 +95,15 @@ export declare class AuthBrowser { private nextConsumer; private destroyed; private readonly clickHandler; - constructor(ports: BrowserPorts, root: HTMLElement); + private readonly staticImageCorsPolicy; + constructor(ports: BrowserPorts, root: HTMLElement, staticImageCorsPolicy?: DivaStaticImageCorsPolicy); resolve(source: TileSourceDescriptor, signal: AbortSignal): Promise; registerSources(_sources: TileSourceDescriptor[]): void; invalidateSources(sourceIds: string[]): void; + useNonCorsStaticSource(sourceId: string): void; destroy(): void; + private cancelBrowserWork; + private closePopups; private succeed; private fail; private startResolution; @@ -117,4 +118,3 @@ export declare class AuthBrowser { private startFrame; private cancelFrame; } -export {}; diff --git a/nginx/app/dependencies/diva.js/build/diva.d.ts b/nginx/app/dependencies/diva.js/build/diva.d.ts index 69cf08a7..c107df11 100644 --- a/nginx/app/dependencies/diva.js/build/diva.d.ts +++ b/nginx/app/dependencies/diva.js/build/diva.d.ts @@ -1,6 +1,6 @@ import "./viewer-element"; -import type { DivaEventMap, DivaLayoutMode, DivaOptions, DivaPage, DivaPageSelector, DivaRegion, DivaState, ZoomToRegionOptions } from "./public-api"; -export type { DivaEventMap, DivaImage, DivaLayoutMode, DivaOptions, DivaPage, DivaPageSelector, DivaPageTarget, DivaRegion, DivaSidebarPanel, DivaState, DivaViewingDirection, ZoomToRegionOptions } from "./public-api"; +import type { DivaAnnotation, DivaEventMap, DivaLayoutMode, DivaOptions, DivaPage, DivaPageSelector, DivaRegion, DivaState, ZoomToRegionOptions } from "./public-api"; +export type { DivaAnnotation, DivaEventMap, DivaImage, DivaLayoutMode, DivaOptions, DivaPage, DivaPageSelector, DivaPageTarget, DivaRegion, DivaSidebarPanel, DivaState, DivaStaticImageCorsPolicy, DivaViewingDirection, ZoomToRegionOptions, } from "./public-api"; /** * A browser viewer for IIIF Presentation manifests and collections. * @@ -34,6 +34,7 @@ export declare class Diva extends EventTarget { private readonly rootId; private readonly root; private readonly auth; + private readonly staticImageCorsPolicy; private app; private mainViewer; private readonly tileSourceResolver; @@ -44,6 +45,7 @@ export declare class Diva extends EventTarget { private filterViewerElement; private filterOptions; private filterViewerFlipped; + private filterAccessBlocked; private currentFilterSourceKey; private pendingFilterPreview; private filterPreviewVersion; @@ -52,15 +54,23 @@ export declare class Diva extends EventTarget { private filterPreviewController; private isDestroyed; private readonly handlePageChangeBound; + private readonly handleAnnotationSelectBound; private readonly handlePageLoadedBound; private readonly handleZoomChangeBound; private readonly handleLoadingChangeBound; + private readonly handleStaticImageCorsFallbackBound; private readonly handlePageLoadErrorBound; private readonly handleFullscreenChangeBound; private readonly handleRootClickBound; private pages; private readonly pagesByCanvasId; private readonly pagesByLabel; + private readonly manifestAnnotationsByCanvas; + private readonly apiAnnotationsByCanvas; + private readonly clearedAnnotationCanvases; + private readonly annotationImageServicesByCanvas; + private annotationSelectionEnabled; + private annotationResourceId; private state; private readyResolve; private readyReject; @@ -107,6 +117,9 @@ export declare class Diva extends EventTarget { private bindPorts; private ensureMainViewer; private copyPage; + private effectiveAnnotationsForCanvas; + private applyAnnotationsForCanvas; + private findStoredAnnotation; private rebuildPageIndexes; private pageForSelector; private copyState; @@ -157,6 +170,56 @@ export declare class Diva extends EventTarget { * @returns Pages in zero-based display order. Auth tokens and resolved loading URLs are never included. */ getPages(): readonly DivaPage[]; + /** + * Add or replace one API-supplied Web Annotation on a loaded Canvas. + */ + setAnnotation(annotation: DivaAnnotation): void; + /** + * Replace the API-supplied annotation set for the loaded manifest. + */ + setAnnotations(annotations: readonly DivaAnnotation[]): void; + /** + * Return defensive Web Annotation snapshots for one Canvas. + */ + getAnnotationsForCanvas(uri: string): readonly DivaAnnotation[]; + /** + * Return defensive Web Annotation snapshots for the loaded manifest. + */ + getAllAnnotations(): readonly DivaAnnotation[]; + /** + * Clear both manifest and API-supplied annotations for one Canvas. + */ + clearAnnotationsForCanvas(uri: string): void; + /** + * Clear both manifest and API-supplied annotations for every Canvas. + */ + clearAllAnnotations(): void; + /** + * Select an annotation and open its details panel. + */ + selectAnnotation(annotationId: string): void; + /** + * Return whether user annotation selection is enabled. + */ + getAnnotationSelectionEnabled(): boolean; + /** + * Enable or disable user annotation selection. + */ + setAnnotationSelectionEnabled(enabled: boolean): void; + /** + * Toggle user annotation selection and return the new state. + */ + toggleAnnotationSelectionEnabled(): boolean; + /** + * Return the IIIF Image API extract URL for an annotation, when available. + * + * @returns The extract URL, or `null` when the annotation is unknown or has no usable image region. + */ + getImageRegionForAnnotation(annotationId: string): string | null; + /** + * Return an annotation body's textual or HTML value, if present. + */ + getAnnotationBody(annotationId: string): string | undefined; /** * Find a displayed page by Canvas identifier or localized display label. * @@ -370,15 +433,19 @@ export declare class Diva extends EventTarget { private handleRootClick; private toggleFullscreenFromUserActivation; private handlePageChange; + private handleAnnotationSelect; private handlePageLoaded; private handleZoomChange; private handleLoadingChange; + private handleStaticImageCorsFallback; private handlePageLoadError; private handleFullscreenChange; private ensureFilterViewer; private ensureFilterViewerElement; private applyFilterOptions; private saveFilteredImage; + private isNonCorsStaticSource; + private setFilterAccessBlocked; private getPort; private callViewerMethod; private callViewerMethodAsync; diff --git a/nginx/app/dependencies/diva.js/build/diva.debug.js b/nginx/app/dependencies/diva.js/build/diva.debug.js index f6d1d8fb..8c7de82c 100644 --- a/nginx/app/dependencies/diva.js/build/diva.debug.js +++ b/nginx/app/dependencies/diva.js/build/diva.debug.js @@ -1,5 +1,53 @@ "use strict"; (() => { + // src/image-utils.ts + var iiifImageRegionUrl = (imageService, region) => { + const { x, y, width, height } = region; + if (!imageService || ![x, y, width, height].every(Number.isFinite)) { + return null; + } + const left = Math.floor(x); + const top = Math.floor(y); + const right = Math.ceil(x + width); + const bottom = Math.ceil(y + height); + if (left < 0 || top < 0 || right <= left || bottom <= top) { + return null; + } + try { + const service = new URL(imageService); + if (!service.pathname.endsWith("/info.json")) { + return null; + } + service.search = ""; + service.hash = ""; + service.pathname = service.pathname.slice(0, -"/info.json".length); + return `${service.toString().replace(/\/$/, "")}/${left},${top},${right - left},${bottom - top}/!320,320/0/default.jpg`; + } catch (_error) { + return null; + } + }; + var staticImageTileSource = (url, credentialed = false, useNonCors = false) => ({ + type: "image", + url, + crossOriginPolicy: useNonCors ? false : credentialed ? "use-credentials" : "Anonymous", + ajaxWithCredentials: credentialed, + loadTilesWithAjax: !useNonCors, + buildPyramid: !useNonCors, + useCanvas: !useNonCors + }); + var nonCorsStaticTileSource = (tileSource) => { + const source = typeof tileSource === "object" && tileSource !== null ? tileSource : { type: "image", url: tileSource }; + return { + ...source, + type: "image", + crossOriginPolicy: false, + ajaxWithCredentials: false, + loadTilesWithAjax: false, + buildPyramid: false, + useCanvas: false + }; + }; + // src/viewer-element.ts var ZOOM_IN_FACTOR = 1.6; var ZOOM_OUT_FACTOR = 1 / ZOOM_IN_FACTOR; @@ -116,10 +164,18 @@ this.loadingIndexes = /* @__PURE__ */ new Set(); this.unavailableIndexes = /* @__PURE__ */ new Map(); this.loadControllers = /* @__PURE__ */ new Map(); - this.tileSourceResolver = async (source) => source.isStatic ? { type: "image", url: source.url, crossOriginPolicy: "Anonymous" } : source.url; + this.staticImageCorsPolicy = "required"; + this.tileSourceResolver = async (source) => source.isStatic ? staticImageTileSource(source.url, false, this.staticImageCorsPolicy === "none") : source.url; this.loadedItems = /* @__PURE__ */ new Map(); this.pageWaiters = /* @__PURE__ */ new Map(); this.pageOverlayElements = /* @__PURE__ */ new Map(); + this.annotationData = /* @__PURE__ */ new Map(); + this.annotationOverlayElements = /* @__PURE__ */ new Map(); + this.annotationsVisible = true; + this.annotationSelectionEnabled = true; + this.selectedAnnotationId = null; + this.annotationPanel = null; + this.annotationPanelIgnoreCloseUntil = 0; this.targetIndex = null; this.initialPageIndex = 0; this.resourceId = "initial"; @@ -144,6 +200,7 @@ } connectedCallback() { this.style.display = "block"; + this.style.position = "relative"; if (!this.container) { this.container = document.createElement("div"); this.container.className = "osd-container"; @@ -151,7 +208,23 @@ this.container.style.height = "100%"; this.container.addEventListener("wheel", this.handleWheelBound, { passive: false, capture: true }); this.container.addEventListener("dblclick", this.handleDoubleClickBound); + this.container.addEventListener("click", (event) => { + if (performance.now() < this.annotationPanelIgnoreCloseUntil) { + return; + } + if (event.target instanceof Element && event.target.closest(".diva-annotation-overlay")) { + return; + } + this.closeAnnotationPanel(); + }); + this.container.addEventListener("keydown", (event) => { + if (event.key === "Escape") { + this.closeAnnotationPanel(); + } + }); this.appendChild(this.container); + } + if (!this.scrollbarTrack) { this.createScrollbar(); } const hadViewer = Boolean(this.viewer); @@ -161,6 +234,7 @@ } } disconnectedCallback() { + var _a; this.cancelLoads(); if (this.loadingTimer !== null) { window.clearTimeout(this.loadingTimer); @@ -180,9 +254,11 @@ } if (this.viewer) { this.clearPageOverlays(); + this.clearAnnotationOverlays(); this.viewer.destroy(); this.viewer = null; } + (_a = this.scrollbarTrack) == null ? void 0 : _a.remove(); this.scrollbarTrack = null; this.scrollbarThumb = null; } @@ -208,17 +284,29 @@ defaultZoomLevel: 0, sequenceMode: false, zoomPerScroll: 1, + ...this.staticImageCorsPolicy === "required" ? {} : { drawer: ["canvas", "html"] }, crossOriginPolicy: "Anonymous", loadTilesWithAjax: true, ajaxWithCredentials: false, - gestureSettingsTrackpad: { pinchToZoom: true, scrollToZoom: false, flickEnabled: true, dragToPan: true }, - gestureSettingsMouse: { scrollToZoom: false, clickToZoom: false, dblClickToZoom: false, dragToPan: true }, + gestureSettingsTrackpad: { + pinchToZoom: true, + scrollToZoom: false, + flickEnabled: true, + dragToPan: true + }, + gestureSettingsMouse: { + scrollToZoom: false, + clickToZoom: false, + dblClickToZoom: false, + dragToPan: true + }, gestureSettingsTouch: { pinchToZoom: false, dragToPan: true } }; this.viewer = OpenSeadragon(options); const viewer = this.viewer; viewer.addHandler("pan", this.handleViewportChangeBound); viewer.addHandler("zoom", this.handleViewportChangeBound); + viewer.addHandler("canvas-click", (event) => this.handleAnnotationCanvasClick(event)); viewer.addHandler("pan", () => this.updateScrollbar()); viewer.addHandler("zoom", () => this.updateScrollbar()); viewer.addHandler("animation-finish", this.handleAnimationFinishBound); @@ -241,6 +329,7 @@ if (!Array.isArray(tileSources)) { return; } + this.annotationData.clear(); this.tileSources = tileSources.slice(); this.resourceId = resourceId; this.initialPageIndex = Number.isInteger(initialPageIndex) && initialPageIndex >= 0 && initialPageIndex < tileSources.length ? initialPageIndex : 0; @@ -251,9 +340,101 @@ } this.resetTileSources(this.tileSources.slice(), this.initialPageIndex); } + setAnnotations(canvasId, annotations) { + if (!canvasId || !Array.isArray(annotations)) { + return; + } + this.annotationData.set(canvasId, annotations); + this.tileSources.forEach((source, index) => { + if (source.canvasId === canvasId) { + this.addOrUpdateAnnotationOverlay(index); + } + }); + } + setAnnotationsVisible(visible) { + this.annotationsVisible = visible; + this.annotationOverlayElements.forEach((element) => { + element.classList.toggle("is-hidden", !visible); + }); + if (!visible) { + this.closeAnnotationPanel(); + this.annotationOverlayElements.forEach((element) => { + element.querySelectorAll(".diva-annotation-tooltip").forEach((tooltip) => { + tooltip.hidden = true; + }); + }); + } + } + getAnnotationSelectionEnabled() { + return this.annotationSelectionEnabled; + } + setAnnotationSelectionEnabled(enabled) { + this.annotationSelectionEnabled = enabled; + if (!enabled) { + this.annotationOverlayElements.forEach((element) => { + element.querySelectorAll(".diva-annotation-tooltip").forEach((tooltip) => { + tooltip.hidden = true; + }); + }); + } + } + selectAnnotation(annotationId) { + this.selectedAnnotationId = annotationId; + this.annotationOverlayElements.forEach((element) => { + element.querySelectorAll("g[data-annotation-id]").forEach((group) => { + group.classList.toggle("is-selected", group.dataset.annotationId === annotationId); + }); + }); + for (const annotations of this.annotationData.values()) { + const annotation = annotations.find((candidate) => candidate.id === annotationId); + if (annotation) { + const group = Array.from(this.annotationOverlayElements.values()).map( + (element) => element.querySelector(`g[data-annotation-id="${CSS.escape(annotationId)}"]`) + ).find((candidate) => candidate !== null); + this.openAnnotationPanel(annotation, group); + return; + } + } + } + getImageRegionForAnnotation(annotationId) { + var _a, _b; + for (const [canvasId, annotations] of this.annotationData) { + const annotation = annotations.find((candidate) => candidate.id === annotationId); + if (!annotation) { + continue; + } + const index = this.tileSources.findIndex((source) => source.canvasId === canvasId); + const group = index >= 0 ? (_b = (_a = this.annotationOverlayElements.get(index)) == null ? void 0 : _a.querySelector( + `g[data-annotation-id="${CSS.escape(annotationId)}"]` + )) != null ? _b : void 0 : void 0; + return this.annotationExtractUrl(annotation, group); + } + return null; + } setTileSourceResolver(resolver) { this.tileSourceResolver = resolver; } + setStaticImageCorsPolicy(policy) { + var _a; + const nextPolicy = policy === "fallback" || policy === "none" ? policy : "required"; + if (nextPolicy === this.staticImageCorsPolicy) { + return; + } + this.staticImageCorsPolicy = nextPolicy; + if (!this.viewer) { + return; + } + this.clearPageOverlays(); + this.clearAnnotationOverlays(); + this.closeAnnotationPanel(); + this.viewer.destroy(); + this.viewer = null; + this.scrollPlaneItem = null; + this.syncViewer(); + if (this.viewer && this.tileSources.length > 0) { + this.resetTileSources(this.tileSources.slice(), (_a = this.lastReportedIndex) != null ? _a : this.initialPageIndex); + } + } invalidateTileSources(sourceIds) { var _a; const affected = new Set(sourceIds); @@ -290,6 +471,7 @@ this.unavailableIndexes.clear(); this.loadedItems.clear(); this.clearPageOverlays(); + this.clearAnnotationOverlays(); this.targetIndex = tileSources.length > 0 ? this.initialPageIndex : null; this.lastReportedIndex = this.targetIndex; this.clearScrollPlane(); @@ -331,7 +513,10 @@ this.ensurePageLoaded(this.targetIndex); const targetTop = this.pageOffsets[this.targetIndex] || 0; const targetHeight = this.pageRowHeights[this.targetIndex] || this.pageHeights[this.targetIndex] || 1; - const range2 = this.indicesForRange(Math.max(0, targetTop - targetHeight * 1.5), targetTop + targetHeight * 2.5); + const range2 = this.indicesForRange( + Math.max(0, targetTop - targetHeight * 1.5), + targetTop + targetHeight * 2.5 + ); if (range2) { for (let index2 = range2[0]; index2 <= range2[1]; index2 += 1) { this.ensurePageLoaded(index2); @@ -372,7 +557,7 @@ } void this.loadTile(index); } - async loadTile(index) { + async loadTile(index, nonCorsFallback = false, resolvedTileSource) { if (!this.viewer) { return; } @@ -386,10 +571,11 @@ this.updateLoadingState(); let tileSource; try { - tileSource = await this.tileSourceResolver(descriptor, controller.signal); + tileSource = resolvedTileSource != null ? resolvedTileSource : await this.tileSourceResolver(descriptor, controller.signal); } catch (error) { - if (token === this.loadToken && !controller.signal.aborted) + if (token === this.loadToken && !controller.signal.aborted) { this.markUnavailable(index, error instanceof Error ? error.message : "This image is unavailable."); + } this.finishLoad(index, controller); return; } @@ -397,6 +583,9 @@ this.finishLoad(index, controller); return; } + if (nonCorsFallback) { + tileSource = nonCorsStaticTileSource(tileSource); + } const yOffset = this.pageOffsets[index] || 0; const xOffset = this.pageXOffsets[index] || 0; this.viewer.addTiledImage({ @@ -420,6 +609,7 @@ this.loadedItems.set(index, item); this.resolvePageWaiters(index, item); this.addOrUpdatePageOverlay(index); + this.addOrUpdateAnnotationOverlay(index); this.loadingIndexes.delete(index); this.loadControllers.delete(index); this.updateLoadingState(); @@ -444,6 +634,12 @@ this.flushInitialZoomChange(); } this.emitCustomEvent("diva-page-loaded", { index, resourceId: this.resourceId }); + if (nonCorsFallback) { + requestAnimationFrame(() => { + var _a; + return (_a = this.viewer) == null ? void 0 : _a.forceRedraw(); + }); + } if (this.targetIndex === index) { this.targetIndex = null; } @@ -453,7 +649,13 @@ if (token !== this.loadToken) { return; } - this.markUnavailable(index, (event == null ? void 0 : event.message) || "This image could not be loaded. Static images must allow CORS."); + if (this.shouldRetryWithoutCors(descriptor, tileSource, nonCorsFallback)) { + this.finishLoad(index, controller); + this.emitCustomEvent("diva-static-image-cors-fallback", { sourceId: descriptor.sourceId }); + void this.loadTile(index, true, tileSource); + return; + } + this.markUnavailable(index, (event == null ? void 0 : event.message) || "This image could not be loaded."); this.finishLoad(index, controller); this.maybeLoadMore(); } @@ -471,8 +673,17 @@ if (typeof source.crossOriginPolicy === "string" || typeof source.crossOriginPolicy === "boolean") { options.crossOriginPolicy = source.crossOriginPolicy; } + if (typeof source.loadTilesWithAjax === "boolean") { + options.loadTilesWithAjax = source.loadTilesWithAjax; + } return options; } + shouldRetryWithoutCors(descriptor, tileSource, alreadyRetried) { + if (this.staticImageCorsPolicy !== "fallback" || !descriptor.isStatic || alreadyRetried) { + return false; + } + return !(typeof tileSource === "object" && tileSource !== null && typeof tileSource.crossOriginPolicy === "string" && tileSource.crossOriginPolicy.toLowerCase() === "use-credentials"); + } finishLoad(index, controller) { if (this.loadControllers.get(index) !== controller) { return; @@ -528,8 +739,9 @@ }); } addUnavailableOverlay(index, message) { - if (!this.viewer) + if (!this.viewer) { return; + } this.removeUnavailableOverlay(index); const element = document.createElement("div"); element.className = "diva-image-unavailable"; @@ -547,13 +759,19 @@ element.append(text, retry); this.viewer.addOverlay({ element, - location: new OpenSeadragon.Rect(this.pageXOffsets[index] || 0, this.pageOffsets[index] || 0, 1, this.pageHeights[index] || 1) + location: new OpenSeadragon.Rect( + this.pageXOffsets[index] || 0, + this.pageOffsets[index] || 0, + 1, + this.pageHeights[index] || 1 + ) }); } removeUnavailableOverlay(index) { const element = this.querySelector(`.diva-image-unavailable[data-index="${index}"]`); - if (element && this.viewer) - this.viewer.removeOverlay(element); + if (element) { + this.removeOverlay(element); + } element == null ? void 0 : element.remove(); } setPageAspects(aspects) { @@ -643,6 +861,7 @@ item.setWidth(1, true); item.setHeight(height, true); this.addOrUpdatePageOverlay(index); + this.addOrUpdateAnnotationOverlay(index); }); } addOrUpdatePageOverlay(index) { @@ -671,10 +890,7 @@ element.textContent = this.pageLabels[index] || `Page ${index + 1}`; const xOffset = (this.pageXOffsets[index] || 0) + (isRightAligned ? 1 : 0); const yOffset = this.pageOffsets[index] || 0; - try { - this.viewer.removeOverlay(element); - } catch (_error) { - } + this.removeOverlay(element); this.viewer.addOverlay({ element, location: new OpenSeadragon.Point(xOffset, yOffset), @@ -682,17 +898,470 @@ }); } clearPageOverlays() { - if (this.viewer) { - this.pageOverlayElements.forEach((element) => { - var _a; - try { - (_a = this.viewer) == null ? void 0 : _a.removeOverlay(element); - } catch (_error) { - } + this.clearOverlays(this.pageOverlayElements); + } + addOrUpdateAnnotationOverlay(index) { + var _a; + if (!this.viewer || !this.loadedItems.has(index)) { + return; + } + const canvasId = (_a = this.tileSources[index]) == null ? void 0 : _a.canvasId; + const annotations = typeof canvasId === "string" ? this.annotationData.get(canvasId) : void 0; + let element = this.annotationOverlayElements.get(index); + if (!annotations || annotations.length === 0) { + if (element) { + this.removeOverlay(element); element.remove(); + this.annotationOverlayElements.delete(index); + } + return; + } + if (!element) { + element = document.createElement("div"); + element.className = "diva-annotation-overlay"; + this.annotationOverlayElements.set(index, element); + } + element.classList.toggle("is-hidden", !this.annotationsVisible); + const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.setAttribute("viewBox", `0 0 ${this.pageWidth(index)} ${this.pageHeightPixels(index)}`); + svg.setAttribute("preserveAspectRatio", "none"); + svg.setAttribute("width", "100%"); + svg.setAttribute("height", "100%"); + const tooltip = document.createElement("div"); + tooltip.className = "diva-annotation-tooltip"; + tooltip.setAttribute("role", "tooltip"); + annotations.forEach((annotation) => { + const group = document.createElementNS("http://www.w3.org/2000/svg", "g"); + group.setAttribute("data-annotation-id", annotation.id); + group.setAttribute("tabindex", "0"); + group.classList.toggle("is-selected", annotation.id === this.selectedAnnotationId); + if (annotation.text) { + group.setAttribute("aria-label", annotation.text); + const showTooltip = (event) => { + const bounds = element.getBoundingClientRect(); + if (!this.annotationsVisible || !this.annotationSelectionEnabled) { + tooltip.hidden = true; + return; + } + const x = event ? event.clientX - bounds.left : bounds.width / 2; + const y = event ? event.clientY - bounds.top : bounds.height / 2; + tooltip.textContent = annotation.text; + tooltip.style.left = `${x}px`; + tooltip.style.top = `${y}px`; + tooltip.hidden = false; + }; + group.addEventListener("mouseenter", showTooltip); + group.addEventListener("mousemove", showTooltip); + group.addEventListener("mouseleave", () => { + tooltip.hidden = true; + }); + group.addEventListener("focus", () => showTooltip()); + group.addEventListener("blur", () => { + tooltip.hidden = true; + }); + } + group.addEventListener("click", (event) => { + if (!this.annotationSelectionEnabled) { + return; + } + event.stopPropagation(); + this.openAnnotationPanel(annotation, group); + }); + group.addEventListener("pointerup", (event) => { + if (!this.annotationSelectionEnabled) { + return; + } + event.stopPropagation(); + this.openAnnotationPanel(annotation, group); + }); + group.addEventListener("keydown", (event) => { + if (!this.annotationSelectionEnabled) { + return; + } + if (event.key === "Enter" || event.key === " ") { + event.preventDefault(); + this.openAnnotationPanel(annotation, group); + } + }); + if (annotation.shape.kind === "rect") { + const rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + rect.setAttribute("x", String(annotation.shape.x)); + rect.setAttribute("y", String(annotation.shape.y)); + rect.setAttribute("width", String(annotation.shape.width)); + rect.setAttribute("height", String(annotation.shape.height)); + rect.setAttribute("class", "diva-annotation-rect"); + group.appendChild(rect); + } else if (annotation.shape.kind === "svg" && annotation.shape.value) { + this.appendSanitizedSvg(group, annotation.shape.value); + } + svg.appendChild(group); + }); + tooltip.hidden = true; + element.replaceChildren(svg, tooltip); + this.removeOverlay(element); + this.viewer.addOverlay({ + element, + location: new OpenSeadragon.Rect( + this.pageXOffsets[index] || 0, + this.pageOffsets[index] || 0, + 1, + this.pageHeights[index] || 1 + ) + }); + } + pageWidth(index) { + var _a, _b; + const item = this.loadedItems.get(index); + return ((_b = (_a = item == null ? void 0 : item.source) == null ? void 0 : _a.dimensions) == null ? void 0 : _b.x) || 1; + } + pageHeightPixels(index) { + var _a, _b; + const item = this.loadedItems.get(index); + return ((_b = (_a = item == null ? void 0 : item.source) == null ? void 0 : _a.dimensions) == null ? void 0 : _b.y) || 1; + } + appendSanitizedSvg(target, markup) { + const parsed = new DOMParser().parseFromString(markup, "image/svg+xml"); + const source = parsed.documentElement; + const allowed = /* @__PURE__ */ new Set(["svg", "g", "path", "rect", "circle", "ellipse", "polygon", "polyline", "line"]); + const attributes = /* @__PURE__ */ new Set([ + "d", + "points", + "x", + "y", + "x1", + "x2", + "y1", + "y2", + "cx", + "cy", + "rx", + "ry", + "r", + "width", + "height", + "fill", + "fill-opacity", + "fill-rule", + "stroke", + "stroke-width", + "stroke-opacity", + "stroke-linecap", + "stroke-linejoin", + "stroke-dasharray", + "transform", + "viewBox" + ]); + const copy = (node, parent) => { + const name = node.localName.toLowerCase(); + if (!allowed.has(name)) { + return; + } + const child = document.createElementNS("http://www.w3.org/2000/svg", name); + if (name !== "svg" && name !== "g") { + child.classList.add("diva-annotation-svg-shape"); + } + Array.from(node.attributes).forEach((attribute) => { + if (attributes.has(attribute.name)) { + child.setAttribute(attribute.name, attribute.value); + } + }); + parent.appendChild(child); + Array.from(node.children).forEach((next) => copy(next, child)); + }; + if (source.localName.toLowerCase() === "svg") { + Array.from(source.children).forEach((child) => copy(child, target)); + } + } + clearAnnotationOverlays() { + this.clearOverlays(this.annotationOverlayElements); + } + removeOverlay(element) { + var _a; + try { + (_a = this.viewer) == null ? void 0 : _a.removeOverlay(element); + } catch (_error) { + } + } + clearOverlays(overlays) { + overlays.forEach((element) => { + this.removeOverlay(element); + element.remove(); + }); + overlays.clear(); + } + handleAnnotationCanvasClick(event) { + var _a; + if (!this.annotationSelectionEnabled || !this.annotationsVisible || !event.quick || !event.position || !this.container) { + return; + } + const viewerBounds = this.container.getBoundingClientRect(); + const clientX = viewerBounds.left + event.position.x; + const clientY = viewerBounds.top + event.position.y; + for (const [index, element] of Array.from(this.annotationOverlayElements.entries()).reverse()) { + const canvasId = (_a = this.tileSources[index]) == null ? void 0 : _a.canvasId; + const annotations = typeof canvasId === "string" ? this.annotationData.get(canvasId) : void 0; + if (!annotations) { + continue; + } + const groups = Array.from(element.querySelectorAll("g[data-annotation-id]")).reverse(); + for (const group of groups) { + const bounds = group.getBoundingClientRect(); + if (clientX < bounds.left || clientX > bounds.right || clientY < bounds.top || clientY > bounds.bottom) { + continue; + } + const annotation = annotations.find((candidate) => candidate.id === group.dataset.annotationId); + if (annotation) { + this.openAnnotationPanel(annotation, group); + return; + } + } + } + } + openAnnotationPanel(annotation, annotationGroup) { + if (!this.container) { + return; + } + this.selectedAnnotationId = annotation.id; + this.annotationOverlayElements.forEach((element) => { + element.querySelectorAll("g[data-annotation-id]").forEach((group) => { + group.classList.toggle("is-selected", group.dataset.annotationId === annotation.id); + }); + }); + this.emitCustomEvent("diva-annotation-select", { annotationId: annotation.id }); + if (!this.annotationPanel) { + const panel2 = document.createElement("aside"); + panel2.className = "diva-annotation-panel"; + panel2.setAttribute("aria-label", "Annotation details"); + panel2.addEventListener("click", (event) => event.stopPropagation()); + this.appendChild(panel2); + this.annotationPanel = panel2; + } + this.annotationPanelIgnoreCloseUntil = performance.now() + 500; + const close = document.createElement("button"); + close.type = "button"; + close.className = "diva-annotation-panel-close"; + close.setAttribute("aria-label", "Close annotation details"); + close.title = "Close"; + const closeIcon = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + closeIcon.setAttribute("viewBox", "0 0 512 512"); + closeIcon.setAttribute("aria-hidden", "true"); + const closePath = document.createElementNS("http://www.w3.org/2000/svg", "path"); + closePath.setAttribute( + "d", + "M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z" + ); + closeIcon.appendChild(closePath); + close.appendChild(closeIcon); + close.addEventListener("click", (event) => { + event.stopPropagation(); + this.closeAnnotationPanel(); + }); + const content = document.createElement("div"); + content.className = "diva-annotation-panel-content"; + const extractUrl = this.annotationExtractUrl(annotation, annotationGroup); + let imageLink = null; + if (extractUrl) { + const previewControls = document.createElement("div"); + previewControls.className = "diva-annotation-panel-preview-controls"; + Object.assign(previewControls.style, { + display: "flex", + justifyContent: "flex-end", + gap: "4px", + margin: "0 0 4px" + }); + const previewFrame = document.createElement("div"); + Object.assign(previewFrame.style, { + position: "relative", + maxWidth: "100%", + margin: "0 auto 10px", + border: "1px solid rgba(255, 255, 255, 0.2)" + }); + const preview = document.createElement("img"); + Object.assign(preview.style, { + position: "absolute", + top: "50%", + left: "50%", + maxWidth: "none", + transition: "transform 120ms ease-out" + }); + preview.src = extractUrl; + preview.alt = annotation.text ? `Image extract: ${annotation.text}` : "Annotation image extract"; + preview.addEventListener("error", () => { + previewControls.remove(); + previewFrame.remove(); }); + let rotation = 0; + const updatePreviewLayout = () => { + if (preview.naturalWidth <= 0 || preview.naturalHeight <= 0) { + return; + } + const largestSide = Math.min(content.clientWidth || 320, 320); + const aspect = preview.naturalWidth / preview.naturalHeight; + const baseWidth = aspect >= 1 ? largestSide : largestSide * aspect; + const baseHeight = aspect >= 1 ? largestSide / aspect : largestSide; + const isQuarterTurn = Math.abs(Math.round(rotation / 90)) % 2 === 1; + previewFrame.style.width = `${isQuarterTurn ? baseHeight : baseWidth}px`; + previewFrame.style.height = `${isQuarterTurn ? baseWidth : baseHeight}px`; + preview.style.width = `${baseWidth}px`; + preview.style.height = `${baseHeight}px`; + preview.style.transform = `translate(-50%, -50%) rotate(${rotation}deg)`; + }; + const rotate = (degrees) => { + rotation += degrees; + updatePreviewLayout(); + }; + preview.addEventListener("load", updatePreviewLayout); + const rotateCounterClockwise = document.createElement("button"); + rotateCounterClockwise.type = "button"; + rotateCounterClockwise.className = "diva-annotation-panel-rotate"; + rotateCounterClockwise.textContent = "\u21BA"; + rotateCounterClockwise.setAttribute("aria-label", "Rotate image counter-clockwise 90 degrees"); + rotateCounterClockwise.addEventListener("click", () => rotate(-90)); + previewControls.appendChild(rotateCounterClockwise); + previewFrame.appendChild(preview); + imageLink = document.createElement("a"); + imageLink.className = "diva-annotation-panel-image-link"; + imageLink.href = extractUrl; + imageLink.target = "_blank"; + imageLink.rel = "noopener noreferrer"; + imageLink.textContent = extractUrl; + imageLink.setAttribute("aria-label", "Open the IIIF Image API extract"); + content.append(previewControls, previewFrame); + window.requestAnimationFrame(updatePreviewLayout); + } + content.appendChild(this.sanitizeAnnotationHtml(annotation.html || annotation.text)); + if (imageLink) { + content.appendChild(imageLink); + } + const panel = this.annotationPanel; + panel.replaceChildren(close, content); + panel.hidden = false; + close.focus(); + } + annotationExtractUrl(annotation, annotationGroup) { + if (!annotation.imageService) { + return null; + } + let region = null; + if (annotation.shape.kind === "rect") { + const { x, y, width, height } = annotation.shape; + if ([x, y, width, height].every((value) => typeof value === "number" && Number.isFinite(value)) && width > 0 && height > 0) { + region = { x, y, width, height }; + } + } else if (annotation.shape.kind === "svg" && annotationGroup) { + const overlay = annotationGroup.closest(".diva-annotation-overlay"); + const svg = overlay == null ? void 0 : overlay.querySelector("svg"); + if (svg) { + const shapeBounds = annotationGroup.getBoundingClientRect(); + const svgBounds = svg.getBoundingClientRect(); + const viewBox = svg.viewBox.baseVal; + if (shapeBounds.width > 0 && shapeBounds.height > 0 && svgBounds.width > 0 && svgBounds.height > 0 && viewBox.width > 0 && viewBox.height > 0) { + region = { + x: viewBox.x + (shapeBounds.left - svgBounds.left) / svgBounds.width * viewBox.width, + y: viewBox.y + (shapeBounds.top - svgBounds.top) / svgBounds.height * viewBox.height, + width: shapeBounds.width / svgBounds.width * viewBox.width, + height: shapeBounds.height / svgBounds.height * viewBox.height + }; + } + } + } else if (annotation.shape.kind === "svg" && annotation.shape.value) { + region = this.svgBoundingRegion(annotation.shape.value); + } + if (!region && annotation.shape.kind === "svg" && annotation.shape.value) { + region = this.svgBoundingRegion(annotation.shape.value); + } + if (!region) { + return null; + } + return iiifImageRegionUrl(annotation.imageService, region); + } + svgBoundingRegion(markup) { + if (!document.body) { + return null; + } + const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + const group = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svg.style.cssText = "position:absolute;visibility:hidden;pointer-events:none;left:-10000px;top:-10000px;"; + svg.appendChild(group); + this.appendSanitizedSvg(group, markup); + document.body.appendChild(svg); + try { + const bounds = group.getBBox(); + return bounds.width > 0 && bounds.height > 0 ? { x: bounds.x, y: bounds.y, width: bounds.width, height: bounds.height } : null; + } catch (_error) { + return null; + } finally { + svg.remove(); } - this.pageOverlayElements.clear(); + } + closeAnnotationPanel() { + if (this.annotationPanel) { + this.annotationPanel.hidden = true; + } + } + sanitizeAnnotationHtml(markup) { + const template = document.createElement("template"); + template.innerHTML = markup; + const allowedTags = /* @__PURE__ */ new Set([ + "div", + "p", + "br", + "em", + "i", + "strong", + "b", + "a", + "ul", + "ol", + "li", + "dl", + "dt", + "dd", + "span", + "img" + ]); + const safeUrl = (value) => { + const normalized = value.trim().toLowerCase(); + return /^(https?:|mailto:|tel:|\/|\.\/|\.\.\/|#|\?)/.test(normalized) || !normalized.includes(":"); + }; + const copy = (node, parent) => { + if (node.nodeType === Node.TEXT_NODE) { + parent.appendChild(document.createTextNode(node.textContent || "")); + return; + } + if (!(node instanceof Element)) { + return; + } + const tag = node.localName.toLowerCase(); + if (!allowedTags.has(tag)) { + Array.from(node.childNodes).forEach((child) => copy(child, parent)); + return; + } + const element = document.createElement(tag); + if (tag === "a") { + const href = node.getAttribute("href"); + if (href && safeUrl(href)) { + element.setAttribute("href", href); + } + element.setAttribute("target", "_blank"); + element.setAttribute("rel", "noopener noreferrer"); + } + if (tag === "img") { + const src = node.getAttribute("src"); + if (src && safeUrl(src)) { + element.setAttribute("src", src); + } + const alt = node.getAttribute("alt"); + if (alt) { + element.setAttribute("alt", alt); + } + } + parent.appendChild(element); + Array.from(node.childNodes).forEach((child) => copy(child, element)); + }; + const result = document.createDocumentFragment(); + Array.from(template.content.childNodes).forEach((node) => copy(node, result)); + return result; } ensureScrollPlane() { if (!this.viewer || this.pageOffsets.length === 0) { @@ -898,9 +1567,8 @@ const speed = 0.75; const panY = rect.height > 0 ? deltaY / rect.height * speed : 0; const center = viewport.getCenter(true); - const nextCenter = new OpenSeadragon.Point(this.getCenterX(), center.y + panY); + const nextCenter = new OpenSeadragon.Point(center.x, center.y + panY); viewport.panTo(nextCenter, true); - this.recenterBoundsX(); this.clampTop(); this.clampBottom(); this.maybeEmitPageChange(); @@ -962,7 +1630,7 @@ } const clampedCenterY = bounds.height / 2 + minTop; this.isClamping = true; - vp.panTo(new OpenSeadragon.Point(this.getCenterX(), clampedCenterY), true); + vp.panTo(new OpenSeadragon.Point(vp.getCenter(false).x, clampedCenterY), true); vp.applyConstraints(); this.isClamping = false; } @@ -986,7 +1654,7 @@ } const clampedCenterY = maxBottom - bounds.height / 2; this.isClamping = true; - vp.panTo(new OpenSeadragon.Point(this.getCenterX(), clampedCenterY), true); + vp.panTo(new OpenSeadragon.Point(vp.getCenter(false).x, clampedCenterY), true); vp.applyConstraints(); this.isClamping = false; } @@ -1256,7 +1924,8 @@ const viewportHeight = this.viewer.viewport.getBounds(true).height; const maxScroll = totalHeight - viewportHeight; const newScrollY = scrollProgress * maxScroll; - this.scrollToOffset(newScrollY); + const center = this.viewer.viewport.getCenter(true); + this.viewer.viewport.panTo(new OpenSeadragon.Point(center.x, newScrollY + viewportHeight / 2), true); }; const onMouseUp = () => { if (isDragging) { @@ -1291,7 +1960,8 @@ const viewportHeight = this.viewer.viewport.getBounds(true).height; const maxScroll = totalHeight - viewportHeight; const newScrollY = scrollProgress * maxScroll; - this.scrollToOffset(newScrollY); + const center = this.viewer.viewport.getCenter(true); + this.viewer.viewport.panTo(new OpenSeadragon.Point(center.x, newScrollY + viewportHeight / 2), true); }); } }; @@ -1299,7 +1969,7 @@ customElements.define("osd-viewer", OsdViewer); // cache/diva.css - var diva_default = ":root{--diva-accent:#5a6bff;--diva-accent-light:#9aa4ff;--diva-border:#d9d4ce;--diva-danger:#d32f2f;--diva-dark-bg:#1c1d22;--diva-dark-border:#2c2d33;--diva-overlay-bg:#10111499;--diva-page-bg:#f7f5f1;--diva-shadow-dark:#00000026;--diva-shadow-focus:#9aa4ff59;--diva-shadow-modal:#00000040;--diva-surface:#e6e1dc;--diva-text-muted:#5c5a55;--diva-text-muted-on-dark:#ffffffb3;--diva-text-primary:#1b1b1b;--diva-toolbar-button-bg:#5258626b;--diva-toolbar-button-bg-hover:#5c636e85;--diva-toolbar-button-bg-fullscreen:#52586285;--diva-toolbar-button-bg-fullscreen-hover:#6068749e;--diva-toolbar-button-border:#ffffff59;--diva-toolbar-button-border-hover:#ffffff73;--diva-toolbar-button-border-fullscreen-hover:#fff9;--diva-toolbar-button-icon:#2c2d33;--diva-toolbar-button-shadow:inset 0 1px 0 #ffffff8c, inset 0 -1px 0 #ffffff2e;--diva-toolbar-button-shadow-hover:inset 0 1px 0 #ffffffb3, inset 0 -1px 0 #ffffff3d;--diva-white:#fff;--diva-font-lg:16px;--diva-font-md:13px;--diva-font-sm:11px;--diva-font-xs:10px;--diva-font-xl:20px}.diva-app{color-scheme:light}.diva-app,.diva-app *{box-sizing:border-box}.diva-list-reset{margin:0;padding:0;list-style:none}.diva-ui-button{text-align:left;cursor:pointer;color:var(--diva-text-primary);font-size:var(--diva-font-lg);background-color:#0000;border:none;padding:0}.diva-ui-button:hover{background-color:var(--diva-surface)}.diva-ui-card{cursor:pointer;border-radius:0;width:100%;padding:6px}.diva-ui-card--dark{background-color:var(--diva-dark-bg)}.diva-app{color-scheme:light;flex-direction:column;flex:1;height:100%;min-height:0;padding:12px 24px;display:flex}.diva-app.is-fullscreen{height:100vh;min-height:100vh;padding:0}.diva-app-header{font-size:var(--diva-font-lg);align-items:center;gap:12px;margin-bottom:8px;font-weight:600;display:flex}.diva-app-title{font-size:var(--diva-font-xl);text-align:left;color:var(--diva-text-primary);margin-bottom:6px;font-weight:600}.diva-app-title.is-fullscreen{color:var(--diva-white)}.diva-app-body{flex:1;align-items:stretch;gap:0;height:100%;min-height:0;display:flex;position:relative}.diva-app-body.is-fullscreen{flex:1;min-height:0}.diva-canvas-column{flex-direction:column;flex:1;gap:24px;min-width:0;min-height:0;display:flex}.diva-canvas-column.is-fullscreen{flex:1;height:100%;min-height:0}.diva-canvas-wrapper{flex:1;min-height:0;position:relative}.diva-canvas{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);border-radius:0;width:100%;height:100%;overflow:hidden}.diva-canvas.is-fullscreen{border-radius:0;flex:1;height:100%}.diva-canvas.has-collection{border-radius:0}.diva-metadata-panel{height:100%;padding:12px;overflow:auto}.diva-metadata-body{flex-direction:column;gap:10px;display:flex}.diva-metadata-item{flex-direction:column;gap:0;display:flex}.diva-metadata-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);letter-spacing:.05em;font-weight:600;line-height:1.3}.diva-metadata-value{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px;line-height:1.3}.diva-metadata-value>:first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-fullscreen,.diva-collection-panel.is-fullscreen{border-radius:0;height:100%}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs.is-fullscreen{height:100%}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-image{border-radius:0;width:100%;height:auto;display:block}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-panel{height:100%;padding:12px;overflow:auto}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{border-radius:0;height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-fullscreen{flex:1;min-height:0}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-viewer.is-fullscreen{border-radius:0;height:100%}.diva-modal-viewer.is-outer-left{border-radius:0}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb{border-radius:0;width:100%;height:auto;display:block}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{border-radius:0;width:100%;height:auto}}"; + var diva_default = ":root{--diva-accent:#5a6bff;--diva-accent-light:#9aa4ff;--diva-annotation-fill:#00bfff1f;--diva-annotation-fill-hover:#3030307a;--diva-annotation-stroke:#00bfff;--diva-annotation-stroke-hover:#d83a3a;--diva-annotation-stroke-width:2;--diva-background-color:#fff;--diva-border:#d9d4ce;--diva-danger:#d32f2f;--diva-dark-bg:#1c1d22;--diva-dark-border:#2c2d33;--diva-overlay-bg:#10111499;--diva-page-bg:#f7f5f1;--diva-shadow-dark:#00000026;--diva-shadow-focus:#9aa4ff59;--diva-shadow-modal:#00000040;--diva-surface:#e6e1dc;--diva-text-muted:#5c5a55;--diva-text-muted-on-dark:#ffffffb3;--diva-text-primary:#1b1b1b;--diva-toolbar-button-icon:#2c2d33;--diva-white:#fff;--diva-font-lg:16px;--diva-font-md:13px;--diva-font-sm:11px;--diva-font-xs:10px;--diva-font-xl:20px}.diva-app,.diva-app *{box-sizing:border-box}.diva-list-reset{margin:0;padding:0;list-style:none}.diva-ui-button{text-align:left;cursor:pointer;color:var(--diva-text-primary);font-size:var(--diva-font-lg);background-color:#0000;border:none;padding:0}.diva-ui-button:hover{background-color:var(--diva-surface)}.diva-ui-card{cursor:pointer;border-radius:0;width:100%;padding:6px}.diva-ui-card--dark{background-color:var(--diva-dark-bg)}.diva-thumbs-item:focus-visible,.diva-page-view-choice:focus-visible,.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-annotation-overlay{pointer-events:none;width:100%;height:100%;position:relative}.diva-annotation-overlay.is-hidden{visibility:hidden!important}.diva-annotation-overlay svg{width:100%;height:100%;overflow:visible}.diva-annotation-overlay g{pointer-events:all;cursor:help}.diva-annotation-tooltip{z-index:101;color:#fff;max-width:min(18rem,75%);font-size:var(--diva-font-sm);pointer-events:none;background:#1c1d22f0;border:1px solid #ffffff2e;padding:6px 8px;line-height:1.35;position:absolute;transform:translate(10px,calc(-100% - 10px));box-shadow:0 4px 10px #00000047}.diva-annotation-panel{z-index:1000;color:#fff;background:#1c1d22f7;border:1px solid #fff3;width:min(24rem,100% - 28px);max-height:min(50%,24rem);padding:12px;position:absolute;bottom:14px;left:14px;overflow:auto;box-shadow:0 8px 20px #00000059}.osd-container{position:relative}.diva-annotation-panel-close{color:#fff;cursor:pointer;background-color:#000;border:1px solid #fff;border-radius:0;justify-content:center;align-items:center;height:30px;margin:0;padding:6px;display:inline-flex;position:absolute;top:12px;right:12px;width:30px!important}.diva-annotation-panel-close svg{fill:currentColor;flex:none;width:16px;height:16px}.diva-annotation-panel-close:hover,.diva-annotation-panel-close:focus-visible{background-color:#222}.diva-annotation-panel-content{padding-top:36px}.diva-annotation-panel-preview-controls{position:absolute;top:12px;right:50px}.diva-annotation-panel-content a{color:#9aa4ff}.diva-annotation-panel-content img{max-width:100%;height:auto}.diva-annotation-panel-rotate{color:#fff;cursor:pointer;background-color:#000;border:1px solid #fff;border-radius:0;justify-content:center;align-items:center;height:30px;padding:6px;font-size:18px;line-height:1;display:inline-flex;width:30px!important;margin:0!important}.diva-annotation-panel-rotate:hover,.diva-annotation-panel-rotate:focus-visible{background-color:#222}.diva-annotation-panel-image-link{color:#9aa4ff;font-size:var(--diva-font-sm);overflow-wrap:anywhere;margin:0 0 10px;line-height:1.3;display:block}.diva-annotation-rect,.diva-annotation-svg-shape{fill:var(--diva-annotation-fill,#00bfff1f);fill-opacity:1;stroke:var(--diva-annotation-stroke,#00bfff);stroke-width:var(--diva-annotation-stroke-width,2);vector-effect:non-scaling-stroke;transition:fill .12s ease-out,stroke .12s ease-out}.diva-annotation-overlay g[data-annotation-id]:hover .diva-annotation-rect,.diva-annotation-overlay g[data-annotation-id]:hover .diva-annotation-svg-shape,.diva-annotation-overlay g[data-annotation-id]:focus .diva-annotation-rect,.diva-annotation-overlay g[data-annotation-id]:focus .diva-annotation-svg-shape,.diva-annotation-overlay g[data-annotation-id].is-selected .diva-annotation-rect,.diva-annotation-overlay g[data-annotation-id].is-selected .diva-annotation-svg-shape{fill:var(--diva-annotation-fill-hover,#3030307a);stroke:var(--diva-annotation-stroke-hover,#d83a3a)}.diva-thumbs-image,.diva-page-view-choice-thumb{border-radius:0;width:100%;height:auto;display:block}.diva-metadata-panel,.diva-contents-panel{height:100%;padding:12px;overflow:auto}.diva-app{color-scheme:light;flex-direction:column;flex:1;height:100%;min-height:0;padding:12px 24px;display:flex}.diva-app.is-fullscreen{height:100vh;min-height:100vh;padding:0}.diva-app-header{font-size:var(--diva-font-lg);align-items:center;gap:12px;margin-bottom:8px;font-weight:600;display:flex}.diva-app-title{font-size:var(--diva-font-xl);text-align:left;color:var(--diva-text-primary);margin-bottom:6px;font-weight:600}.diva-app-title.is-fullscreen{color:var(--diva-white)}.diva-app-body{flex:1;align-items:stretch;gap:0;height:100%;min-height:0;display:flex;position:relative}.diva-canvas-column{flex-direction:column;flex:1;gap:24px;min-width:0;min-height:0;display:flex}.diva-canvas-column.is-fullscreen{height:100%}.diva-canvas-wrapper{flex:1;min-height:0;position:relative}.diva-canvas{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);border-radius:0;width:100%;height:100%;overflow:hidden}.diva-canvas.is-fullscreen{flex:1}.diva-metadata-body{flex-direction:column;gap:10px;display:flex}.diva-metadata-item{flex-direction:column;gap:0;display:flex}.diva-metadata-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);letter-spacing:.05em;font-weight:600;line-height:1.3}.diva-metadata-value{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px;line-height:1.3}.diva-metadata-value>:first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-filter-access-warning{color:var(--diva-danger);background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);margin:0 0 12px;padding:8px;line-height:1.4}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background-color,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{width:100%;height:auto}}"; // cache/elm-esm.js function F(arity, fun, wrapper) { @@ -2004,6 +2674,9 @@ var _String_slice = F3(function(start, end, str) { return str.slice(start, end); }); + function _String_trim(str) { + return str.trim(); + } function _String_toLower(str) { return str.toLowerCase(); } @@ -4553,6 +5226,9 @@ })))); }); } + function _Url_percentEncode(string) { + return encodeURIComponent(string); + } var _Parser_isSubString = F5(function(smallString, offset, row, col, bigString) { var smallLength = smallString.length; var isGood = offset + smallLength <= bigString.length; @@ -4609,6 +5285,10 @@ } return _Utils_Tuple3(index < 0 ? -1 : target, row, col); }); + var $elm$core$Maybe$Just = function(a) { + return { $: "Just", a }; + }; + var $elm$core$Maybe$Nothing = { $: "Nothing" }; var $elm$core$List$cons = _List_cons; var $elm$core$Elm$JsArray$foldr = _JsArray_foldr; var $elm$core$Array$foldr = F3( @@ -4721,10 +5401,6 @@ var $elm$json$Json$Decode$OneOf = function(a) { return { $: "OneOf", a }; }; - var $elm$core$Maybe$Just = function(a) { - return { $: "Just", a }; - }; - var $elm$core$Maybe$Nothing = { $: "Nothing" }; var $elm$core$String$all = _String_all; var $elm$json$Json$Encode$encode = _Json_encode; var $elm$core$String$fromInt = _String_fromNumber; @@ -5610,9 +6286,6 @@ ); } ); - var $elm$core$Basics$negate = function(n) { - return -n; - }; var $elm$virtual_dom$VirtualDom$nodeNS = F2( function(namespace, tag) { return A2( @@ -10896,11 +11569,9 @@ return { $: "ServerRespondedWithResource", a }; }; var $author$project$Model$SidebarHidden = { $: "SidebarHidden" }; - var $author$project$Msg$ViewportChanged = F2( - function(a, b) { - return { $: "ViewportChanged", a, b }; - } - ); + var $author$project$Msg$ViewportChanged = function(a) { + return { $: "ViewportChanged", a }; + }; var $elm$core$Basics$clamp = F3( function(low, high, number) { return _Utils_cmp(number, low) < 0 ? low : _Utils_cmp(number, high) > 0 ? high : number; @@ -11291,9 +11962,9 @@ var $rism_digital$elm_iiif$IIIF$Presentation$ResourceRange = function(a) { return { $: "ResourceRange", a }; }; - var $rism_digital$elm_iiif$IIIF$Presentation$Canvas = F7( - function(id, label, width, height, images, thumbnail, viewingLayout) { - return { height, id, images, label, thumbnail, viewingLayout, width }; + var $rism_digital$elm_iiif$IIIF$Presentation$Canvas = F8( + function(id, label, width, height, images, thumbnail, viewingLayout, annotationSources) { + return { annotationSources, height, id, images, label, thumbnail, viewingLayout, width }; } ); var $elm$json$Json$Decode$maybe = function(decoder) { @@ -12378,6 +13049,26 @@ ] ) ); + var $rism_digital$elm_iiif$IIIF$Presentation$AnnotationSourceUrl = function(a) { + return { $: "AnnotationSourceUrl", a }; + }; + var $rism_digital$elm_iiif$IIIF$Internal$V2PresentationDecoders$v2AnnotationSourceDecoder = $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2( + $elm$json$Json$Decode$map, + $rism_digital$elm_iiif$IIIF$Presentation$AnnotationSourceUrl, + A2($elm$json$Json$Decode$field, "@id", $elm$json$Json$Decode$string) + ), + A2( + $elm$json$Json$Decode$map, + $rism_digital$elm_iiif$IIIF$Presentation$AnnotationSourceUrl, + A2($elm$json$Json$Decode$field, "id", $elm$json$Json$Decode$string) + ), + A2($elm$json$Json$Decode$map, $rism_digital$elm_iiif$IIIF$Presentation$AnnotationSourceUrl, $elm$json$Json$Decode$string) + ] + ) + ); var $rism_digital$elm_iiif$IIIF$Image$staticImageUriFromUrl = function(url) { var _v0 = $rism_digital$elm_iiif$IIIF$Image$decomposeUrl(url); var address = _v0.address; @@ -12473,39 +13164,45 @@ ); var $rism_digital$elm_iiif$IIIF$Internal$V2PresentationDecoders$v2CanvasDecoder = A4( $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "viewingHint", - $elm$json$Json$Decode$maybe($rism_digital$elm_iiif$IIIF$Internal$SharedDecoders$viewingHintDecoder), - $elm$core$Maybe$Nothing, + "otherContent", + $elm$json$Json$Decode$list($rism_digital$elm_iiif$IIIF$Internal$V2PresentationDecoders$v2AnnotationSourceDecoder), + _List_Nil, A4( $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "thumbnail", - $rism_digital$elm_iiif$IIIF$Internal$SharedDecoders$thumbnailDecoder($rism_digital$elm_iiif$IIIF$Internal$V2PresentationDecoders$v2ThumbnailImageDecoder), + "viewingHint", + $elm$json$Json$Decode$maybe($rism_digital$elm_iiif$IIIF$Internal$SharedDecoders$viewingHintDecoder), $elm$core$Maybe$Nothing, A4( $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "images", - $rism_digital$elm_iiif$IIIF$Internal$V2PresentationDecoders$v2AnnotationListDecoder, - _List_Nil, + "thumbnail", + $rism_digital$elm_iiif$IIIF$Internal$SharedDecoders$thumbnailDecoder($rism_digital$elm_iiif$IIIF$Internal$V2PresentationDecoders$v2ThumbnailImageDecoder), + $elm$core$Maybe$Nothing, A4( $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "height", - $elm$json$Json$Decode$maybe($elm$json$Json$Decode$int), - $elm$core$Maybe$Nothing, + "images", + $rism_digital$elm_iiif$IIIF$Internal$V2PresentationDecoders$v2AnnotationListDecoder, + _List_Nil, A4( $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "width", + "height", $elm$json$Json$Decode$maybe($elm$json$Json$Decode$int), $elm$core$Maybe$Nothing, A4( $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "label", - $elm$json$Json$Decode$maybe($rism_digital$elm_iiif$IIIF$Language$v2LanguageMapLabelDecoder), + "width", + $elm$json$Json$Decode$maybe($elm$json$Json$Decode$int), $elm$core$Maybe$Nothing, - A3( - $rism_digital$elm_iiif$IIIF$Internal$Utilities$required, - "@id", - $elm$json$Json$Decode$string, - $elm$json$Json$Decode$succeed($rism_digital$elm_iiif$IIIF$Presentation$Canvas) + A4( + $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, + "label", + $elm$json$Json$Decode$maybe($rism_digital$elm_iiif$IIIF$Language$v2LanguageMapLabelDecoder), + $elm$core$Maybe$Nothing, + A3( + $rism_digital$elm_iiif$IIIF$Internal$Utilities$required, + "@id", + $elm$json$Json$Decode$string, + $elm$json$Json$Decode$succeed($rism_digital$elm_iiif$IIIF$Presentation$Canvas) + ) ) ) ) @@ -13406,6 +14103,25 @@ ), A2($elm$json$Json$Decode$index, 0, $rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3AnnotationBodyDecoder) ); + var $rism_digital$elm_iiif$IIIF$Presentation$InlineAnnotationPage = function(a) { + return { $: "InlineAnnotationPage", a }; + }; + var $rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3AnnotationSourceDecoder = $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2( + $elm$json$Json$Decode$map, + $rism_digital$elm_iiif$IIIF$Presentation$InlineAnnotationPage, + A2($elm$json$Json$Decode$field, "items", $elm$json$Json$Decode$value) + ), + A2( + $elm$json$Json$Decode$map, + $rism_digital$elm_iiif$IIIF$Presentation$AnnotationSourceUrl, + A2($elm$json$Json$Decode$field, "id", $elm$json$Json$Decode$string) + ) + ] + ) + ); var $rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3ThumbnailImageIdDecoder = $elm$json$Json$Decode$oneOf( _List_fromArray( [ @@ -13447,36 +14163,42 @@ ); var $rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3CanvasDecoder = A4( $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "behavior", - $elm$json$Json$Decode$maybe($rism_digital$elm_iiif$IIIF$Internal$SharedDecoders$behaviourDecoder), - $elm$core$Maybe$Nothing, + "annotations", + $elm$json$Json$Decode$list($rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3AnnotationSourceDecoder), + _List_Nil, A4( $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "thumbnail", - $rism_digital$elm_iiif$IIIF$Internal$SharedDecoders$thumbnailDecoder($rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3ThumbnailImageDecoder), + "behavior", + $elm$json$Json$Decode$maybe($rism_digital$elm_iiif$IIIF$Internal$SharedDecoders$behaviourDecoder), $elm$core$Maybe$Nothing, - A3( - $rism_digital$elm_iiif$IIIF$Internal$Utilities$required, - "items", - A2($elm$json$Json$Decode$index, 0, $rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3AnnotationPageDecoder), + A4( + $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, + "thumbnail", + $rism_digital$elm_iiif$IIIF$Internal$SharedDecoders$thumbnailDecoder($rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3ThumbnailImageDecoder), + $elm$core$Maybe$Nothing, A3( $rism_digital$elm_iiif$IIIF$Internal$Utilities$required, - "height", - $elm$json$Json$Decode$maybe($elm$json$Json$Decode$int), + "items", + A2($elm$json$Json$Decode$index, 0, $rism_digital$elm_iiif$IIIF$Internal$V3PresentationDecoders$v3AnnotationPageDecoder), A3( $rism_digital$elm_iiif$IIIF$Internal$Utilities$required, - "width", + "height", $elm$json$Json$Decode$maybe($elm$json$Json$Decode$int), - A4( - $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, - "label", - $elm$json$Json$Decode$maybe($rism_digital$elm_iiif$IIIF$Language$languageMapLabelDecoder), - $elm$core$Maybe$Nothing, - A3( - $rism_digital$elm_iiif$IIIF$Internal$Utilities$required, - "id", - $elm$json$Json$Decode$string, - $elm$json$Json$Decode$succeed($rism_digital$elm_iiif$IIIF$Presentation$Canvas) + A3( + $rism_digital$elm_iiif$IIIF$Internal$Utilities$required, + "width", + $elm$json$Json$Decode$maybe($elm$json$Json$Decode$int), + A4( + $rism_digital$elm_iiif$IIIF$Internal$Utilities$optional, + "label", + $elm$json$Json$Decode$maybe($rism_digital$elm_iiif$IIIF$Language$languageMapLabelDecoder), + $elm$core$Maybe$Nothing, + A3( + $rism_digital$elm_iiif$IIIF$Internal$Utilities$required, + "id", + $elm$json$Json$Decode$string, + $elm$json$Json$Decode$succeed($rism_digital$elm_iiif$IIIF$Presentation$Canvas) + ) ) ) ) @@ -14120,6 +14842,11 @@ return _Utils_Tuple2( { acceptHeaders: flags.acceptHeaders, + annotationLoading: $elm$core$Set$empty, + annotationServer: flags.annotationServer, + annotationSources: $elm$core$Dict$empty, + annotationsByCanvas: $elm$core$Dict$empty, + annotationsVisible: flags.enableAnnotations, auth: $author$project$Auth$init, collectionSidebarDrag: $elm$core$Maybe$Nothing, collectionSidebarVisible: true, @@ -14127,6 +14854,8 @@ contentsView: $author$project$Model$ContentsIndex, currentZoom: $elm$core$Maybe$Nothing, detectedLanguage: userLanguage, + enableAnnotationSelection: flags.enableAnnotationSelection, + enableAnnotations: flags.enableAnnotations, filterGroupExpanded: $elm$core$Set$empty, filters: $author$project$Filters$resetFilters, filtersJsonError: $elm$core$Maybe$Nothing, @@ -14170,10 +14899,8 @@ A2( $elm$core$Task$perform, function(viewport) { - return A2( - $author$project$Msg$ViewportChanged, - $elm$core$Basics$round(viewport.viewport.width), - $elm$core$Basics$round(viewport.viewport.height) + return $author$project$Msg$ViewportChanged( + $elm$core$Basics$round(viewport.viewport.width) ); }, $elm$browser$Browser$Dom$getViewport @@ -14183,6 +14910,7 @@ ) ); }; + var $elm$json$Json$Decode$null = _Json_decodeNull; var $author$project$Msg$AuthEvent = function(a) { return { $: "AuthEvent", a }; }; @@ -14248,10 +14976,12 @@ }; var $author$project$Msg$UserEndedCollectionSidebarResize = { $: "UserEndedCollectionSidebarResize" }; var $author$project$Msg$UserEndedSidebarResize = { $: "UserEndedSidebarResize" }; + var $author$project$Msg$ViewerLoadedPage = function(a) { + return { $: "ViewerLoadedPage", a }; + }; var $author$project$Msg$ViewerLoadingChanged = function(a) { return { $: "ViewerLoadingChanged", a }; }; - var $elm$json$Json$Decode$null = _Json_decodeNull; var $author$project$Main$authDestroyed = _Platform_incomingPort( "authDestroyed", $elm$json$Json$Decode$null(_Utils_Tuple0) @@ -14726,6 +15456,7 @@ ) ); var $author$project$Main$viewerLoadingChanged = _Platform_incomingPort("viewerLoadingChanged", $elm$json$Json$Decode$bool); + var $author$project$Main$viewerPageLoaded = _Platform_incomingPort("viewerPageLoaded", $elm$json$Json$Decode$int); var $author$project$Main$zoomChanged = _Platform_incomingPort("zoomChanged", $elm$json$Json$Decode$float); var $author$project$Main$subscriptions = function(model) { return $elm$core$Platform$Sub$batch( @@ -14794,10 +15525,17 @@ $author$project$Main$fullscreenChanged($author$project$Msg$ClientNotifiedFullscreenChanged), $author$project$Main$zoomChanged($author$project$Msg$UserChangedZoomLevel), $author$project$Main$viewerLoadingChanged($author$project$Msg$ViewerLoadingChanged), - $elm$browser$Browser$Events$onResize($author$project$Msg$ViewportChanged), + $author$project$Main$viewerPageLoaded($author$project$Msg$ViewerLoadedPage), + $elm$browser$Browser$Events$onResize( + F2( + function(width, _v1) { + return $author$project$Msg$ViewportChanged(width); + } + ) + ), (function() { - var _v1 = model.sidebarDrag; - if (_v1.$ === "Just") { + var _v2 = model.sidebarDrag; + if (_v2.$ === "Just") { return $elm$core$Platform$Sub$batch( _List_fromArray( [ @@ -14819,8 +15557,8 @@ } })(), (function() { - var _v2 = model.collectionSidebarDrag; - if (_v2.$ === "Just") { + var _v3 = model.collectionSidebarDrag; + if (_v3.$ === "Just") { return $elm$core$Platform$Sub$batch( _List_fromArray( [ @@ -14875,6 +15613,94 @@ } ); var $author$project$Model$TwoUp = { $: "TwoUp" }; + var $author$project$Utilities$find = F2( + function(predicate, list) { + find: + while (true) { + if (!list.b) { + return $elm$core$Maybe$Nothing; + } else { + var first = list.a; + var rest = list.b; + if (predicate(first)) { + return $elm$core$Maybe$Just(first); + } else { + var $temp$predicate = predicate, $temp$list = rest; + predicate = $temp$predicate; + list = $temp$list; + continue find; + } + } + } + } + ); + var $author$project$Model$primaryImage = function(page) { + var _v0 = A2( + $author$project$Utilities$find, + function($) { + return $.isPrimary; + }, + page.images + ); + if (_v0.$ === "Just") { + var image = _v0.a; + return $elm$core$Maybe$Just(image); + } else { + return $elm$core$List$head(page.images); + } + }; + var $author$project$Auth$requiresAuthorization = function(sourceAuth) { + if (sourceAuth.$ === "Discovered") { + var discovery = sourceAuth.a; + return !$elm$core$List$isEmpty(discovery.probes); + } else { + return false; + } + }; + var $author$project$Main$annotationImageServiceForCanvas = F2( + function(canvasId, model) { + return A2( + $elm$core$Maybe$andThen, + function(image) { + return image.isStatic || $author$project$Auth$requiresAuthorization(image.auth) ? $elm$core$Maybe$Nothing : $elm$core$Maybe$Just(image.tileSource); + }, + A2( + $elm$core$Maybe$andThen, + $author$project$Model$primaryImage, + $elm$core$List$head( + A2( + $elm$core$List$filter, + function(page) { + return _Utils_eq(page.canvasId, canvasId); + }, + model.pages + ) + ) + ) + ); + } + ); + var $author$project$Main$annotationsUpdated = _Platform_outgoingPort( + "annotationsUpdated", + function($) { + return $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + "annotations", + $elm$json$Json$Encode$list($elm$core$Basics$identity)($.annotations) + ), + _Utils_Tuple2( + "canvasId", + $elm$json$Json$Encode$string($.canvasId) + ) + ] + ) + ); + } + ); + var $elm$json$Json$Encode$bool = _Json_wrap; + var $author$project$Main$annotationsVisibilityUpdated = _Platform_outgoingPort("annotationsVisibilityUpdated", $elm$json$Json$Encode$bool); var $author$project$Filters$applyFilterToggle = F3( function(toggle, enabled, filters) { switch (toggle.$) { @@ -15897,7 +16723,6 @@ return A2(config.set, nextValue, filters); } ); - var $elm$json$Json$Encode$bool = _Json_wrap; var $elm$core$Maybe$destruct = F3( function(_default, func, maybe) { if (maybe.$ === "Just") { @@ -16390,6 +17215,10 @@ return $elm$json$Json$Encode$object( _List_fromArray( [ + _Utils_Tuple2( + "canvasId", + $elm$json$Json$Encode$string($2.canvasId) + ), _Utils_Tuple2( "isStatic", $elm$json$Json$Encode$bool($2.isStatic) @@ -16423,7 +17252,10 @@ $author$project$Main$pagesUpdated(_List_Nil), $author$project$Main$pageAspectsUpdated(_List_Nil), $author$project$Main$pageLabelsUpdated(_List_Nil), - $author$project$Main$filterPreviewUpdated($elm$core$Maybe$Nothing) + $author$project$Main$filterPreviewUpdated($elm$core$Maybe$Nothing), + $author$project$Main$annotationsUpdated( + { annotations: _List_Nil, canvasId: "" } + ) ] ) ); @@ -17151,6 +17983,148 @@ ); } }; + var $elm$core$String$cons = _String_cons; + var $elm$core$String$fromChar = function(_char) { + return A2($elm$core$String$cons, _char, ""); + }; + var $author$project$Annotation$stripTagsHelp = F3( + function(inTag, remaining, result) { + stripTagsHelp: + while (true) { + var _v0 = $elm$core$String$uncons(remaining); + if (_v0.$ === "Just") { + var _v1 = _v0.a; + var character = _v1.a; + var rest = _v1.b; + if (_Utils_eq( + character, + _Utils_chr("<") + )) { + var $temp$inTag = true, $temp$remaining = rest, $temp$result = result; + inTag = $temp$inTag; + remaining = $temp$remaining; + result = $temp$result; + continue stripTagsHelp; + } else { + if (_Utils_eq( + character, + _Utils_chr(">") + )) { + var $temp$inTag = false, $temp$remaining = rest, $temp$result = result; + inTag = $temp$inTag; + remaining = $temp$remaining; + result = $temp$result; + continue stripTagsHelp; + } else { + if (inTag) { + var $temp$inTag = true, $temp$remaining = rest, $temp$result = result; + inTag = $temp$inTag; + remaining = $temp$remaining; + result = $temp$result; + continue stripTagsHelp; + } else { + var $temp$inTag = false, $temp$remaining = rest, $temp$result = _Utils_ap( + result, + $elm$core$String$fromChar(character) + ); + inTag = $temp$inTag; + remaining = $temp$remaining; + result = $temp$result; + continue stripTagsHelp; + } + } + } + } else { + return result; + } + } + } + ); + var $author$project$Annotation$stripTags = function(value) { + return A3($author$project$Annotation$stripTagsHelp, false, value, ""); + }; + var $author$project$Annotation$encode = F2( + function(imageService, annotation) { + var shapeValue = (function() { + var _v0 = annotation.target.selector; + if (_v0.$ === "Rectangle") { + var x = _v0.a; + var y = _v0.b; + var width = _v0.c; + var height = _v0.d; + return $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + "kind", + $elm$json$Json$Encode$string("rect") + ), + _Utils_Tuple2( + "x", + $elm$json$Json$Encode$float(x) + ), + _Utils_Tuple2( + "y", + $elm$json$Json$Encode$float(y) + ), + _Utils_Tuple2( + "width", + $elm$json$Json$Encode$float(width) + ), + _Utils_Tuple2( + "height", + $elm$json$Json$Encode$float(height) + ) + ] + ) + ); + } else { + var value = _v0.a; + return $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + "kind", + $elm$json$Json$Encode$string("svg") + ), + _Utils_Tuple2( + "value", + $elm$json$Json$Encode$string(value) + ) + ] + ) + ); + } + })(); + return $elm$json$Json$Encode$object( + _List_fromArray( + [ + _Utils_Tuple2( + "id", + $elm$json$Json$Encode$string(annotation.id) + ), + _Utils_Tuple2("shape", shapeValue), + _Utils_Tuple2( + "text", + $elm$json$Json$Encode$string( + $author$project$Annotation$stripTags(annotation.body.value) + ) + ), + _Utils_Tuple2( + "html", + $elm$json$Json$Encode$string(annotation.body.value) + ), + _Utils_Tuple2( + "imageService", + $elm$json$Json$Encode$string( + A2($elm$core$Maybe$withDefault, "", imageService) + ) + ) + ] + ) + ); + } + ); var $author$project$Filters$addIf = F4( function(condition, key, value, acc) { return condition ? A2( @@ -17517,9 +18491,43 @@ ); } ); + var $author$project$Model$getPageAt = F2( + function(index, pageList) { + return $elm$core$List$head( + A2($elm$core$List$drop, index, pageList) + ); + } + ); var $author$project$Model$Loaded = function(a) { return { $: "Loaded", a }; }; + var $rism_digital$elm_iiif$IIIF$Presentation$toManifest = function(_v0) { + var iiifManifest = _v0.b; + return iiifManifest; + }; + var $rism_digital$elm_iiif$IIIF$Presentation$withManifest = F2( + function(accessor, manifest) { + return accessor( + $rism_digital$elm_iiif$IIIF$Presentation$toManifest(manifest) + ); + } + ); + var $rism_digital$elm_iiif$IIIF$Presentation$toCanvases = $rism_digital$elm_iiif$IIIF$Presentation$withManifest( + function($) { + return $.canvases; + } + ); + var $author$project$Main$annotationSourcesForManifest = function(manifest) { + return $elm$core$Dict$fromList( + A2( + $elm$core$List$map, + function(canvas) { + return _Utils_Tuple2(canvas.id, canvas.annotationSources); + }, + $rism_digital$elm_iiif$IIIF$Presentation$toCanvases(manifest) + ) + ); + }; var $author$project$Main$rangeIndexMapForRange = F2( function(canvasIndex, range) { var _v4 = A2($author$project$Main$rangeItemsIndexMap, canvasIndex, range.items); @@ -18429,27 +19437,6 @@ }, $elm$json$Json$Decode$value ); - var $author$project$Utilities$find = F2( - function(predicate, list) { - find: - while (true) { - if (!list.b) { - return $elm$core$Maybe$Nothing; - } else { - var first = list.a; - var rest = list.b; - if (predicate(first)) { - return $elm$core$Maybe$Just(first); - } else { - var $temp$predicate = predicate, $temp$list = rest; - predicate = $temp$predicate; - list = $temp$list; - continue find; - } - } - } - } - ); var $author$project$Utilities$isJust = function(maybeVal) { if (maybeVal.$ === "Just") { return true; @@ -18560,22 +19547,6 @@ } } ); - var $rism_digital$elm_iiif$IIIF$Presentation$toManifest = function(_v0) { - var iiifManifest = _v0.b; - return iiifManifest; - }; - var $rism_digital$elm_iiif$IIIF$Presentation$withManifest = F2( - function(accessor, manifest) { - return accessor( - $rism_digital$elm_iiif$IIIF$Presentation$toManifest(manifest) - ); - } - ); - var $rism_digital$elm_iiif$IIIF$Presentation$toCanvases = $rism_digital$elm_iiif$IIIF$Presentation$withManifest( - function($) { - return $.canvases; - } - ); var $author$project$Model$manifestToPages = F2( function(language, iiifManifest) { return A2( @@ -18590,21 +19561,6 @@ return $.viewingLayout; } ); - var $author$project$Model$primaryImage = function(page) { - var _v0 = A2( - $author$project$Utilities$find, - function($) { - return $.isPrimary; - }, - page.images - ); - if (_v0.$ === "Just") { - var image = _v0.a; - return $elm$core$Maybe$Just(image); - } else { - return $elm$core$List$head(page.images); - } - }; var $author$project$Main$publicPages = function(pages) { return A2( $elm$core$List$filterMap, @@ -18844,15 +19800,15 @@ var pages = A2($author$project$Model$manifestToPages, model.detectedLanguage, manifest); var tileSources = A2( $elm$core$List$filterMap, - A2( - $elm$core$Basics$composeR, - $author$project$Model$primaryImage, - $elm$core$Maybe$map( + function(page) { + return A2( + $elm$core$Maybe$map, function(image) { - return { isStatic: image.isStatic, sourceId: image.sourceId, url: image.tileSource }; - } - ) - ), + return { canvasId: page.canvasId, isStatic: image.isStatic, sourceId: image.sourceId, url: image.tileSource }; + }, + $author$project$Model$primaryImage(page) + ); + }, pages ); var pagedLayout = $rism_digital$elm_iiif$IIIF$Presentation$isPagedLayout( @@ -18910,6 +19866,9 @@ _Utils_update( model, { + annotationLoading: $elm$core$Set$empty, + annotationSources: $author$project$Main$annotationSourcesForManifest(manifest), + annotationsByCanvas: $elm$core$Dict$empty, auth: A2($author$project$Auth$registerSources, authSources, $author$project$Auth$init), currentZoom: $elm$core$Maybe$Nothing, filters: $author$project$Filters$resetFilters, @@ -19055,13 +20014,6 @@ } } ); - var $author$project$Model$getPageAt = F2( - function(index, pageList) { - return $elm$core$List$head( - A2($elm$core$List$drop, index, pageList) - ); - } - ); var $author$project$Main$sendPageViewPreview = function(model) { return model.pageViewOpen ? A2( $elm$core$Maybe$withDefault, @@ -19294,6 +20246,514 @@ ); } ); + var $author$project$Msg$ServerRespondedWithAnnotations = F2( + function(a, b) { + return { $: "ServerRespondedWithAnnotations", a, b }; + } + ); + var $elm$url$Url$Builder$QueryParameter = F2( + function(a, b) { + return { $: "QueryParameter", a, b }; + } + ); + var $elm$url$Url$percentEncode = _Url_percentEncode; + var $elm$url$Url$Builder$string = F2( + function(key, value) { + return A2( + $elm$url$Url$Builder$QueryParameter, + $elm$url$Url$percentEncode(key), + $elm$url$Url$percentEncode(value) + ); + } + ); + var $elm$url$Url$Builder$toQueryPair = function(_v0) { + var key = _v0.a; + var value = _v0.b; + return key + ("=" + value); + }; + var $elm$url$Url$Builder$toQuery = function(parameters) { + if (!parameters.b) { + return ""; + } else { + return "?" + A2( + $elm$core$String$join, + "&", + A2($elm$core$List$map, $elm$url$Url$Builder$toQueryPair, parameters) + ); + } + }; + var $author$project$Main$annotationServerUrl = F3( + function(server, canvasId, version) { + var query = $elm$url$Url$Builder$toQuery( + _List_fromArray( + [ + A2($elm$url$Url$Builder$string, "canvasURI", canvasId), + A2($elm$url$Url$Builder$string, "iiifVersion", version) + ] + ) + ); + return A2($elm$core$String$contains, "?", server) ? server + ("&" + A2($elm$core$String$dropLeft, 1, query)) : _Utils_ap(server, query); + } + ); + var $author$project$Model$currentManifest = function(model) { + var _v0 = model.resourceResponse; + switch (_v0.$) { + case "ResourceLoadedManifest": + var manifest = _v0.a; + return $elm$core$Maybe$Just(manifest); + case "ResourceLoadedCollection": + var _v1 = model.response; + if (_v1.$ === "Loaded") { + var manifest = _v1.a; + return $elm$core$Maybe$Just(manifest); + } else { + return $elm$core$Maybe$Nothing; + } + default: + return $elm$core$Maybe$Nothing; + } + }; + var $rism_digital$elm_iiif$IIIF$Annotation$bodyFromString = function(value) { + return { format: $elm$core$Maybe$Nothing, language: $elm$core$Maybe$Nothing, value }; + }; + var $rism_digital$elm_iiif$IIIF$Annotation$emptyBody = $rism_digital$elm_iiif$IIIF$Annotation$bodyFromString(""); + function $rism_digital$elm_iiif$IIIF$Annotation$cyclic$bodyValueDecoder() { + return $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A4( + $elm$json$Json$Decode$map3, + F3( + function(value, format, language) { + return { format, language, value }; + } + ), + $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2($elm$json$Json$Decode$field, "value", $elm$json$Json$Decode$string), + A2($elm$json$Json$Decode$field, "chars", $elm$json$Json$Decode$string) + ] + ) + ), + $elm$json$Json$Decode$maybe( + A2($elm$json$Json$Decode$field, "format", $elm$json$Json$Decode$string) + ), + $elm$json$Json$Decode$maybe( + A2($elm$json$Json$Decode$field, "language", $elm$json$Json$Decode$string) + ) + ), + A2( + $elm$json$Json$Decode$map, + A2( + $elm$core$Basics$composeR, + $elm$core$List$head, + $elm$core$Maybe$withDefault($rism_digital$elm_iiif$IIIF$Annotation$emptyBody) + ), + $elm$json$Json$Decode$list( + $elm$json$Json$Decode$lazy( + function(_v0) { + return $rism_digital$elm_iiif$IIIF$Annotation$cyclic$bodyValueDecoder(); + } + ) + ) + ), + A2($elm$json$Json$Decode$map, $rism_digital$elm_iiif$IIIF$Annotation$bodyFromString, $elm$json$Json$Decode$string) + ] + ) + ); + } + try { + $rism_digital$elm_iiif$IIIF$Annotation$bodyValueDecoder = $rism_digital$elm_iiif$IIIF$Annotation$cyclic$bodyValueDecoder(); + $rism_digital$elm_iiif$IIIF$Annotation$cyclic$bodyValueDecoder = function() { + return $rism_digital$elm_iiif$IIIF$Annotation$bodyValueDecoder; + }; + } catch ($) { + throw "Some top-level definitions from `IIIF.Annotation` are causing infinite recursion:\n\n \u250C\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 bodyValueDecoder\n \u2514\u2500\u2500\u2500\u2500\u2500\u2518\n\nThese errors are very tricky, so read https://elm-lang.org/0.19.1/bad-recursion to learn how to fix it!"; + } + var $rism_digital$elm_iiif$IIIF$Annotation$bodyValueDecoder; + var $rism_digital$elm_iiif$IIIF$Annotation$annotationBodyDecoder = $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2($elm$json$Json$Decode$field, "body", $rism_digital$elm_iiif$IIIF$Annotation$bodyValueDecoder), + A2($elm$json$Json$Decode$field, "resource", $rism_digital$elm_iiif$IIIF$Annotation$bodyValueDecoder), + $elm$json$Json$Decode$succeed($rism_digital$elm_iiif$IIIF$Annotation$emptyBody) + ] + ) + ); + var $rism_digital$elm_iiif$IIIF$Annotation$Rectangle = F4( + function(a, b, c, d) { + return { $: "Rectangle", a, b, c, d }; + } + ); + var $rism_digital$elm_iiif$IIIF$Annotation$rectangleFromString = function(value) { + var coordinates = A2($elm$core$String$startsWith, "xywh=", value) ? A2($elm$core$String$dropLeft, 5, value) : value; + var _v0 = A2( + $elm$core$List$map, + $elm$core$String$toFloat, + A2($elm$core$String$split, ",", coordinates) + ); + if (_v0.b && _v0.a.$ === "Just" && _v0.b.b && _v0.b.a.$ === "Just" && _v0.b.b.b && _v0.b.b.a.$ === "Just" && _v0.b.b.b.b && _v0.b.b.b.a.$ === "Just" && !_v0.b.b.b.b.b) { + var x = _v0.a.a; + var _v1 = _v0.b; + var y = _v1.a.a; + var _v2 = _v1.b; + var width = _v2.a.a; + var _v3 = _v2.b; + var height = _v3.a.a; + return width > 0 && height > 0 ? $elm$json$Json$Decode$succeed( + A4($rism_digital$elm_iiif$IIIF$Annotation$Rectangle, x, y, width, height) + ) : $elm$json$Json$Decode$fail("Annotation rectangle must have a positive size"); + } else { + return $elm$json$Json$Decode$fail("Invalid xywh selector"); + } + }; + var $rism_digital$elm_iiif$IIIF$Annotation$Svg = function(a) { + return { $: "Svg", a }; + }; + var $rism_digital$elm_iiif$IIIF$Annotation$selectorTypeDecoder = $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2($elm$json$Json$Decode$field, "type", $elm$json$Json$Decode$string), + A2($elm$json$Json$Decode$field, "@type", $elm$json$Json$Decode$string) + ] + ) + ); + var $rism_digital$elm_iiif$IIIF$Annotation$svgSelectorDecoder = A2( + $elm$json$Json$Decode$andThen, + function(_v0) { + var selectorType = _v0.a; + var value = _v0.b; + return $elm$core$String$toLower(selectorType) === "svgselector" || $elm$core$String$toLower(selectorType) === "oa:svgselector" ? $elm$json$Json$Decode$succeed( + $rism_digital$elm_iiif$IIIF$Annotation$Svg(value) + ) : $elm$json$Json$Decode$fail("Not an SVG selector"); + }, + A3( + $elm$json$Json$Decode$map2, + $elm$core$Tuple$pair, + $rism_digital$elm_iiif$IIIF$Annotation$selectorTypeDecoder, + A2($elm$json$Json$Decode$field, "value", $elm$json$Json$Decode$string) + ) + ); + function $rism_digital$elm_iiif$IIIF$Annotation$cyclic$selectorDecoder() { + return $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + $rism_digital$elm_iiif$IIIF$Annotation$svgSelectorDecoder, + A2( + $elm$json$Json$Decode$andThen, + $rism_digital$elm_iiif$IIIF$Annotation$rectangleFromString, + A2($elm$json$Json$Decode$field, "value", $elm$json$Json$Decode$string) + ), + A2( + $elm$json$Json$Decode$field, + "item", + $elm$json$Json$Decode$lazy( + function(_v0) { + return $rism_digital$elm_iiif$IIIF$Annotation$cyclic$selectorDecoder(); + } + ) + ), + A2( + $elm$json$Json$Decode$field, + "default", + $elm$json$Json$Decode$lazy( + function(_v1) { + return $rism_digital$elm_iiif$IIIF$Annotation$cyclic$selectorDecoder(); + } + ) + ) + ] + ) + ); + } + try { + $rism_digital$elm_iiif$IIIF$Annotation$selectorDecoder = $rism_digital$elm_iiif$IIIF$Annotation$cyclic$selectorDecoder(); + $rism_digital$elm_iiif$IIIF$Annotation$cyclic$selectorDecoder = function() { + return $rism_digital$elm_iiif$IIIF$Annotation$selectorDecoder; + }; + } catch ($) { + throw "Some top-level definitions from `IIIF.Annotation` are causing infinite recursion:\n\n \u250C\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 selectorDecoder\n \u2514\u2500\u2500\u2500\u2500\u2500\u2518\n\nThese errors are very tricky, so read https://elm-lang.org/0.19.1/bad-recursion to learn how to fix it!"; + } + var $rism_digital$elm_iiif$IIIF$Annotation$selectorDecoder; + var $rism_digital$elm_iiif$IIIF$Annotation$sourceObjectDecoder = $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2($elm$json$Json$Decode$field, "id", $elm$json$Json$Decode$string), + A2($elm$json$Json$Decode$field, "@id", $elm$json$Json$Decode$string) + ] + ) + ); + var $rism_digital$elm_iiif$IIIF$Annotation$sourceDecoder = $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2( + $elm$json$Json$Decode$map, + $elm$core$Maybe$Just, + A2( + $elm$json$Json$Decode$field, + "source", + $elm$json$Json$Decode$oneOf( + _List_fromArray( + [$elm$json$Json$Decode$string, $rism_digital$elm_iiif$IIIF$Annotation$sourceObjectDecoder] + ) + ) + ) + ), + A2( + $elm$json$Json$Decode$map, + $elm$core$Maybe$Just, + A2( + $elm$json$Json$Decode$field, + "full", + $elm$json$Json$Decode$oneOf( + _List_fromArray( + [$elm$json$Json$Decode$string, $rism_digital$elm_iiif$IIIF$Annotation$sourceObjectDecoder] + ) + ) + ) + ), + $elm$json$Json$Decode$succeed($elm$core$Maybe$Nothing) + ] + ) + ); + var $rism_digital$elm_iiif$IIIF$Annotation$targetFromString = function(target) { + var _v0 = A2($elm$core$String$split, "#xywh=", target); + if (_v0.b && _v0.b.b && !_v0.b.b.b) { + var source = _v0.a; + var _v1 = _v0.b; + var coordinates = _v1.a; + return A2( + $elm$json$Json$Decode$map, + function(selector) { + return { + selector, + source: $elm$core$Maybe$Just(source) + }; + }, + $rism_digital$elm_iiif$IIIF$Annotation$rectangleFromString(coordinates) + ); + } else { + return $elm$json$Json$Decode$fail("Annotation target has no xywh selector"); + } + }; + function $rism_digital$elm_iiif$IIIF$Annotation$cyclic$annotationTargetDecoder() { + return $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2( + $elm$json$Json$Decode$andThen, + function(targets) { + var _v1 = $elm$core$List$head(targets); + if (_v1.$ === "Just") { + var target = _v1.a; + return $elm$json$Json$Decode$succeed(target); + } else { + return $elm$json$Json$Decode$fail("Annotation target list is empty"); + } + }, + $elm$json$Json$Decode$list( + $elm$json$Json$Decode$lazy( + function(_v0) { + return $rism_digital$elm_iiif$IIIF$Annotation$cyclic$annotationTargetDecoder(); + } + ) + ) + ), + A2($elm$json$Json$Decode$andThen, $rism_digital$elm_iiif$IIIF$Annotation$targetFromString, $elm$json$Json$Decode$string), + A3( + $elm$json$Json$Decode$map2, + F2( + function(source, selector) { + return { selector, source }; + } + ), + $rism_digital$elm_iiif$IIIF$Annotation$sourceDecoder, + A2($elm$json$Json$Decode$field, "selector", $rism_digital$elm_iiif$IIIF$Annotation$selectorDecoder) + ) + ] + ) + ); + } + try { + $rism_digital$elm_iiif$IIIF$Annotation$annotationTargetDecoder = $rism_digital$elm_iiif$IIIF$Annotation$cyclic$annotationTargetDecoder(); + $rism_digital$elm_iiif$IIIF$Annotation$cyclic$annotationTargetDecoder = function() { + return $rism_digital$elm_iiif$IIIF$Annotation$annotationTargetDecoder; + }; + } catch ($) { + throw "Some top-level definitions from `IIIF.Annotation` are causing infinite recursion:\n\n \u250C\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 annotationTargetDecoder\n \u2514\u2500\u2500\u2500\u2500\u2500\u2518\n\nThese errors are very tricky, so read https://elm-lang.org/0.19.1/bad-recursion to learn how to fix it!"; + } + var $rism_digital$elm_iiif$IIIF$Annotation$annotationTargetDecoder; + var $rism_digital$elm_iiif$IIIF$Annotation$idDecoder = $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2($elm$json$Json$Decode$field, "id", $elm$json$Json$Decode$string), + A2($elm$json$Json$Decode$field, "@id", $elm$json$Json$Decode$string), + $elm$json$Json$Decode$succeed("") + ] + ) + ); + var $elm$json$Json$Decode$map4 = _Json_map4; + var $rism_digital$elm_iiif$IIIF$Annotation$annotationDecoder = A5( + $elm$json$Json$Decode$map4, + F4( + function(id, target, body, motivation) { + return { body, id, motivation, target }; + } + ), + $rism_digital$elm_iiif$IIIF$Annotation$idDecoder, + $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2($elm$json$Json$Decode$field, "target", $rism_digital$elm_iiif$IIIF$Annotation$annotationTargetDecoder), + A2($elm$json$Json$Decode$field, "on", $rism_digital$elm_iiif$IIIF$Annotation$annotationTargetDecoder) + ] + ) + ), + $rism_digital$elm_iiif$IIIF$Annotation$annotationBodyDecoder, + $elm$json$Json$Decode$maybe( + A2($elm$json$Json$Decode$field, "motivation", $elm$json$Json$Decode$string) + ) + ); + var $rism_digital$elm_iiif$IIIF$Annotation$decodePage = $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + A2( + $elm$json$Json$Decode$field, + "resources", + $elm$json$Json$Decode$list($rism_digital$elm_iiif$IIIF$Annotation$annotationDecoder) + ), + A2( + $elm$json$Json$Decode$field, + "items", + $elm$json$Json$Decode$list($rism_digital$elm_iiif$IIIF$Annotation$annotationDecoder) + ), + $elm$json$Json$Decode$list($rism_digital$elm_iiif$IIIF$Annotation$annotationDecoder) + ] + ) + ); + var $rism_digital$elm_iiif$IIIF$requestAnnotationPage = F3( + function(responseMsg, acceptHeaders, url) { + return A3( + $rism_digital$elm_iiif$IIIF$Internal$Request$request, + acceptHeaders, + A2($elm$http$Http$expectJson, responseMsg, $rism_digital$elm_iiif$IIIF$Annotation$decodePage), + url + ); + } + ); + var $author$project$Main$requestAnnotations = F2( + function(canvasId, model) { + if (!model.enableAnnotations || (A2($elm$core$Set$member, canvasId, model.annotationLoading) || A2($elm$core$Dict$member, canvasId, model.annotationsByCanvas))) { + return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); + } else { + var sources = A2( + $elm$core$Maybe$withDefault, + _List_Nil, + A2($elm$core$Dict$get, canvasId, model.annotationSources) + ); + var urls = A2( + $elm$core$List$filterMap, + function(source) { + if (source.$ === "AnnotationSourceUrl") { + var url = source.a; + return $elm$core$Maybe$Just(url); + } else { + return $elm$core$Maybe$Nothing; + } + }, + sources + ); + var request = function(url) { + return A3( + $rism_digital$elm_iiif$IIIF$requestAnnotationPage, + $author$project$Msg$ServerRespondedWithAnnotations(canvasId), + model.acceptHeaders, + url + ); + }; + var inlineAnnotations = $elm$core$List$concat( + A2( + $elm$core$List$filterMap, + function(source) { + if (source.$ === "AnnotationSourceUrl") { + return $elm$core$Maybe$Nothing; + } else { + var value = source.a; + return $elm$core$Result$toMaybe( + A2($elm$json$Json$Decode$decodeValue, $rism_digital$elm_iiif$IIIF$Annotation$decodePage, value) + ); + } + }, + sources + ) + ); + var nextModel = $elm$core$List$isEmpty(inlineAnnotations) ? model : _Utils_update( + model, + { + annotationsByCanvas: A3($elm$core$Dict$insert, canvasId, inlineAnnotations, model.annotationsByCanvas) + } + ); + var fallback = (function() { + var _v0 = _Utils_Tuple3( + $elm$core$List$isEmpty(sources), + model.annotationServer, + $author$project$Model$currentManifest(model) + ); + if (_v0.a && _v0.b.$ === "Just" && _v0.c.$ === "Just") { + var server = _v0.b.a; + var _v1 = _v0.c.a; + var version = _v1.a; + return _List_fromArray( + [ + A3( + $author$project$Main$annotationServerUrl, + server, + canvasId, + _Utils_eq(version, $rism_digital$elm_iiif$IIIF$Version$IIIFV2) ? "2" : "3" + ) + ] + ); + } else { + return _List_Nil; + } + })(); + return _Utils_Tuple2( + _Utils_update( + nextModel, + { + annotationLoading: A2($elm$core$Set$insert, canvasId, nextModel.annotationLoading) + } + ), + $elm$core$Platform$Cmd$batch( + _Utils_ap( + A2( + $elm$core$List$map, + request, + _Utils_ap(urls, fallback) + ), + _List_fromArray( + [ + $author$project$Main$annotationsUpdated( + { + annotations: A2( + $elm$core$List$map, + $author$project$Annotation$encode( + A2($author$project$Main$annotationImageServiceForCanvas, canvasId, model) + ), + inlineAnnotations + ), + canvasId + } + ) + ] + ) + ) + ) + ); + } + } + ); var $rism_digital$elm_iiif$IIIF$Internal$CoreDecoders$contextListDecoder = function(contextValues) { return A2( $elm$core$List$any, @@ -22853,7 +24313,7 @@ ), $elm$core$Platform$Cmd$none ); - default: + case "ViewportChanged": var width = msg.a; var nextIsMobile = _Utils_cmp(width, $author$project$Main$mobileWidthBreakpoint) < 1; var nextModel = nextIsMobile ? _Utils_update( @@ -22864,6 +24324,66 @@ { isMobile: false, mobileSidebarOpen: false } ); return _Utils_Tuple2(nextModel, $elm$core$Platform$Cmd$none); + case "ViewerLoadedPage": + var index = msg.a; + var _v34 = A2($author$project$Model$getPageAt, index, model.pages); + if (_v34.$ === "Just") { + var page = _v34.a; + return A2($author$project$Main$requestAnnotations, page.canvasId, model); + } else { + return _Utils_Tuple2(model, $elm$core$Platform$Cmd$none); + } + case "ServerRespondedWithAnnotations": + var canvasId = msg.a; + var result = msg.b; + var nextModel = _Utils_update( + model, + { + annotationLoading: A2($elm$core$Set$remove, canvasId, model.annotationLoading) + } + ); + if (result.$ === "Ok") { + var annotations = result.a; + var merged = (function(existing) { + return _Utils_ap(annotations, existing); + })( + A2( + $elm$core$Maybe$withDefault, + _List_Nil, + A2($elm$core$Dict$get, canvasId, nextModel.annotationsByCanvas) + ) + ); + return _Utils_Tuple2( + _Utils_update( + nextModel, + { + annotationsByCanvas: A3($elm$core$Dict$insert, canvasId, merged, nextModel.annotationsByCanvas) + } + ), + $author$project$Main$annotationsUpdated( + { + annotations: A2( + $elm$core$List$map, + $author$project$Annotation$encode( + A2($author$project$Main$annotationImageServiceForCanvas, canvasId, nextModel) + ), + merged + ), + canvasId + } + ) + ); + } else { + return _Utils_Tuple2(nextModel, $elm$core$Platform$Cmd$none); + } + default: + return _Utils_Tuple2( + _Utils_update( + model, + { annotationsVisible: !model.annotationsVisible } + ), + $author$project$Main$annotationsVisibilityUpdated(!model.annotationsVisible) + ); } } ); @@ -22893,24 +24413,6 @@ }; var $elm$virtual_dom$VirtualDom$lazy5 = _VirtualDom_lazy5; var $elm$html$Html$Lazy$lazy5 = $elm$virtual_dom$VirtualDom$lazy5; - var $author$project$Model$currentManifest = function(model) { - var _v0 = model.resourceResponse; - switch (_v0.$) { - case "ResourceLoadedManifest": - var manifest = _v0.a; - return $elm$core$Maybe$Just(manifest); - case "ResourceLoadedCollection": - var _v1 = model.response; - if (_v1.$ === "Loaded") { - var manifest = _v1.a; - return $elm$core$Maybe$Just(manifest); - } else { - return $elm$core$Maybe$Nothing; - } - default: - return $elm$core$Maybe$Nothing; - } - }; var $rism_digital$elm_iiif$IIIF$Presentation$toLabel = $rism_digital$elm_iiif$IIIF$Presentation$withManifest( function($) { return $.label; @@ -23577,88 +25079,165 @@ } }; var $elm$html$Html$Attributes$rel = _VirtualDom_attribute("rel"); - var $author$project$View$HtmlRenderer$normalizeHtml = function(rawHtml) { - return A3( - $elm$core$String$replace, - "

", - "

", - A3( - $elm$core$String$replace, - "
", - "
", - A3($elm$core$String$replace, "
", "
", rawHtml) - ) - ); + var $author$project$View$HtmlRenderer$Text = function(a) { + return { $: "Text", a }; }; - var $hecrj$html_parser$Html$Parser$Element = F3( + var $author$project$View$HtmlRenderer$Element = F3( function(a, b, c) { return { $: "Element", a, b, c }; } ); - var $elm$parser$Parser$Advanced$Bad = F2( - function(a, b) { - return { $: "Bad", a, b }; + var $author$project$View$HtmlRenderer$appendNode = F2( + function(child, state) { + var _v0 = state.openElements; + if (!_v0.b) { + return _Utils_update( + state, + { + roots: A2($elm$core$List$cons, child, state.roots) + } + ); + } else { + var openElement = _v0.a; + var remaining = _v0.b; + return _Utils_update( + state, + { + openElements: A2( + $elm$core$List$cons, + _Utils_update( + openElement, + { + children: A2($elm$core$List$cons, child, openElement.children) + } + ), + remaining + ) + } + ); + } } ); - var $elm$parser$Parser$Advanced$Good = F3( - function(a, b, c) { - return { $: "Good", a, b, c }; + var $author$project$View$HtmlRenderer$closeTop = function(state) { + var _v0 = state.openElements; + if (!_v0.b) { + return state; + } else { + var openElement = _v0.a; + var remaining = _v0.b; + return A2( + $author$project$View$HtmlRenderer$appendNode, + A3( + $author$project$View$HtmlRenderer$Element, + openElement.name, + openElement.attributes, + $elm$core$List$reverse(openElement.children) + ), + _Utils_update( + state, + { openElements: remaining } + ) + ); } - ); - var $elm$parser$Parser$Advanced$Parser = function(a) { - return { $: "Parser", a }; }; - var $elm$parser$Parser$Advanced$andThen = F2( - function(callback, _v0) { - var parseA = _v0.a; - return $elm$parser$Parser$Advanced$Parser( - function(s0) { - var _v1 = parseA(s0); - if (_v1.$ === "Bad") { - var p = _v1.a; - var x = _v1.b; - return A2($elm$parser$Parser$Advanced$Bad, p, x); + var $author$project$View$HtmlRenderer$closeThrough = F2( + function(name, state) { + closeThrough: + while (true) { + var _v0 = state.openElements; + if (!_v0.b) { + return state; } else { - var p1 = _v1.a; - var a = _v1.b; - var s1 = _v1.c; - var _v2 = callback(a); - var parseB = _v2.a; - var _v3 = parseB(s1); - if (_v3.$ === "Bad") { - var p2 = _v3.a; - var x = _v3.b; - return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x); + var openElement = _v0.a; + var closedState = $author$project$View$HtmlRenderer$closeTop(state); + if (_Utils_eq(openElement.name, name)) { + return closedState; } else { - var p2 = _v3.a; - var b = _v3.b; - var s2 = _v3.c; - return A3($elm$parser$Parser$Advanced$Good, p1 || p2, b, s2); + var $temp$name = name, $temp$state = closedState; + name = $temp$name; + state = $temp$state; + continue closeThrough; } } } - ); } ); - var $elm$parser$Parser$andThen = $elm$parser$Parser$Advanced$andThen; - var $elm$parser$Parser$Advanced$backtrackable = function(_v0) { - var parse = _v0.a; - return $elm$parser$Parser$Advanced$Parser( - function(s0) { - var _v1 = parse(s0); - if (_v1.$ === "Bad") { - var x = _v1.b; - return A2($elm$parser$Parser$Advanced$Bad, false, x); + var $author$project$View$HtmlRenderer$isVoidElement = function(name) { + return name === "br" || name === "img"; + }; + var $author$project$View$HtmlRenderer$applyToken = F2( + function(token, state) { + switch (token.$) { + case "StartTag": + var name = token.a; + var attributes = token.b; + var selfClosing = token.c; + return selfClosing || $author$project$View$HtmlRenderer$isVoidElement(name) ? A2( + $author$project$View$HtmlRenderer$appendNode, + A3($author$project$View$HtmlRenderer$Element, name, attributes, _List_Nil), + state + ) : _Utils_update( + state, + { + openElements: A2( + $elm$core$List$cons, + { attributes, children: _List_Nil, name }, + state.openElements + ) + } + ); + case "EndTag": + var name = token.a; + return A2( + $elm$core$List$any, + function(openElement) { + return _Utils_eq(openElement.name, name); + }, + state.openElements + ) ? A2($author$project$View$HtmlRenderer$closeThrough, name, state) : state; + default: + var value = token.a; + return $elm$core$String$isEmpty(value) ? state : A2( + $author$project$View$HtmlRenderer$appendNode, + $author$project$View$HtmlRenderer$Text(value), + state + ); + } + } + ); + var $author$project$View$HtmlRenderer$closeAll = function(state) { + closeAll: + while (true) { + var _v0 = state.openElements; + if (!_v0.b) { + return state; } else { - var a = _v1.b; - var s1 = _v1.c; - return A3($elm$parser$Parser$Advanced$Good, false, a, s1); + var $temp$state = $author$project$View$HtmlRenderer$closeTop(state); + state = $temp$state; + continue closeAll; } } - ); }; - var $elm$parser$Parser$backtrackable = $elm$parser$Parser$Advanced$backtrackable; - var $elm$parser$Parser$UnexpectedChar = { $: "UnexpectedChar" }; + var $elm$parser$Parser$Done = function(a) { + return { $: "Done", a }; + }; + var $elm$parser$Parser$Loop = function(a) { + return { $: "Loop", a }; + }; + var $elm$parser$Parser$ExpectingEnd = { $: "ExpectingEnd" }; + var $elm$parser$Parser$Advanced$Bad = F2( + function(a, b) { + return { $: "Bad", a, b }; + } + ); + var $elm$parser$Parser$Advanced$Good = F3( + function(a, b, c) { + return { $: "Good", a, b, c }; + } + ); + var $elm$parser$Parser$Advanced$Parser = function(a) { + return { $: "Parser", a }; + }; var $elm$parser$Parser$Advanced$AddRight = F2( function(a, b) { return { $: "AddRight", a, b }; @@ -23679,76 +25258,163 @@ ); } ); - var $elm$parser$Parser$Advanced$isSubChar = _Parser_isSubChar; - var $elm$parser$Parser$Advanced$chompIf = F2( - function(isGood, expecting) { + var $elm$parser$Parser$Advanced$end = function(x) { + return $elm$parser$Parser$Advanced$Parser( + function(s) { + return _Utils_eq( + $elm$core$String$length(s.src), + s.offset + ) ? A3($elm$parser$Parser$Advanced$Good, false, _Utils_Tuple0, s) : A2( + $elm$parser$Parser$Advanced$Bad, + false, + A2($elm$parser$Parser$Advanced$fromState, s, x) + ); + } + ); + }; + var $elm$parser$Parser$end = $elm$parser$Parser$Advanced$end($elm$parser$Parser$ExpectingEnd); + var $elm$parser$Parser$Advanced$map = F2( + function(func, _v0) { + var parse = _v0.a; return $elm$parser$Parser$Advanced$Parser( - function(s) { - var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, s.offset, s.src); - return _Utils_eq(newOffset, -1) ? A2( - $elm$parser$Parser$Advanced$Bad, - false, - A2($elm$parser$Parser$Advanced$fromState, s, expecting) - ) : _Utils_eq(newOffset, -2) ? A3( - $elm$parser$Parser$Advanced$Good, - true, - _Utils_Tuple0, - { col: 1, context: s.context, indent: s.indent, offset: s.offset + 1, row: s.row + 1, src: s.src } - ) : A3( - $elm$parser$Parser$Advanced$Good, - true, - _Utils_Tuple0, - { col: s.col + 1, context: s.context, indent: s.indent, offset: newOffset, row: s.row, src: s.src } - ); + function(s0) { + var _v1 = parse(s0); + if (_v1.$ === "Good") { + var p = _v1.a; + var a = _v1.b; + var s1 = _v1.c; + return A3( + $elm$parser$Parser$Advanced$Good, + p, + func(a), + s1 + ); + } else { + var p = _v1.a; + var x = _v1.b; + return A2($elm$parser$Parser$Advanced$Bad, p, x); + } } ); } ); - var $elm$parser$Parser$chompIf = function(isGood) { - return A2($elm$parser$Parser$Advanced$chompIf, isGood, $elm$parser$Parser$UnexpectedChar); - }; - var $elm$parser$Parser$Advanced$chompWhileHelp = F5( - function(isGood, offset, row, col, s0) { - chompWhileHelp: + var $elm$parser$Parser$map = $elm$parser$Parser$Advanced$map; + var $elm$parser$Parser$Advanced$Append = F2( + function(a, b) { + return { $: "Append", a, b }; + } + ); + var $elm$parser$Parser$Advanced$oneOfHelp = F3( + function(s0, bag, parsers) { + oneOfHelp: while (true) { - var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, offset, s0.src); - if (_Utils_eq(newOffset, -1)) { - return A3( - $elm$parser$Parser$Advanced$Good, - _Utils_cmp(s0.offset, offset) < 0, - _Utils_Tuple0, - { col, context: s0.context, indent: s0.indent, offset, row, src: s0.src } - ); + if (!parsers.b) { + return A2($elm$parser$Parser$Advanced$Bad, false, bag); } else { - if (_Utils_eq(newOffset, -2)) { - var $temp$isGood = isGood, $temp$offset = offset + 1, $temp$row = row + 1, $temp$col = 1, $temp$s0 = s0; - isGood = $temp$isGood; - offset = $temp$offset; - row = $temp$row; - col = $temp$col; - s0 = $temp$s0; - continue chompWhileHelp; + var parse = parsers.a.a; + var remainingParsers = parsers.b; + var _v1 = parse(s0); + if (_v1.$ === "Good") { + var step = _v1; + return step; } else { - var $temp$isGood = isGood, $temp$offset = newOffset, $temp$row = row, $temp$col = col + 1, $temp$s0 = s0; - isGood = $temp$isGood; - offset = $temp$offset; - row = $temp$row; - col = $temp$col; - s0 = $temp$s0; - continue chompWhileHelp; + var step = _v1; + var p = step.a; + var x = step.b; + if (p) { + return step; + } else { + var $temp$s0 = s0, $temp$bag = A2($elm$parser$Parser$Advanced$Append, bag, x), $temp$parsers = remainingParsers; + s0 = $temp$s0; + bag = $temp$bag; + parsers = $temp$parsers; + continue oneOfHelp; + } } } } } ); - var $elm$parser$Parser$Advanced$chompWhile = function(isGood) { + var $elm$parser$Parser$Advanced$oneOf = function(parsers) { return $elm$parser$Parser$Advanced$Parser( function(s) { - return A5($elm$parser$Parser$Advanced$chompWhileHelp, isGood, s.offset, s.row, s.col, s); + return A3($elm$parser$Parser$Advanced$oneOfHelp, s, $elm$parser$Parser$Advanced$Empty, parsers); } ); }; - var $elm$parser$Parser$chompWhile = $elm$parser$Parser$Advanced$chompWhile; + var $elm$parser$Parser$oneOf = $elm$parser$Parser$Advanced$oneOf; + var $author$project$View$HtmlRenderer$TextToken = function(a) { + return { $: "TextToken", a }; + }; + var $elm$parser$Parser$Advanced$backtrackable = function(_v0) { + var parse = _v0.a; + return $elm$parser$Parser$Advanced$Parser( + function(s0) { + var _v1 = parse(s0); + if (_v1.$ === "Bad") { + var x = _v1.b; + return A2($elm$parser$Parser$Advanced$Bad, false, x); + } else { + var a = _v1.b; + var s1 = _v1.c; + return A3($elm$parser$Parser$Advanced$Good, false, a, s1); + } + } + ); + }; + var $elm$parser$Parser$backtrackable = $elm$parser$Parser$Advanced$backtrackable; + var $elm$parser$Parser$Advanced$findSubString = _Parser_findSubString; + var $elm$parser$Parser$Advanced$fromInfo = F4( + function(row, col, x, context) { + return A2( + $elm$parser$Parser$Advanced$AddRight, + $elm$parser$Parser$Advanced$Empty, + A4($elm$parser$Parser$Advanced$DeadEnd, row, col, x, context) + ); + } + ); + var $elm$parser$Parser$Advanced$chompUntil = function(_v0) { + var str = _v0.a; + var expecting = _v0.b; + return $elm$parser$Parser$Advanced$Parser( + function(s) { + var _v1 = A5($elm$parser$Parser$Advanced$findSubString, str, s.offset, s.row, s.col, s.src); + var newOffset = _v1.a; + var newRow = _v1.b; + var newCol = _v1.c; + return _Utils_eq(newOffset, -1) ? A2( + $elm$parser$Parser$Advanced$Bad, + false, + A4($elm$parser$Parser$Advanced$fromInfo, newRow, newCol, expecting, s.context) + ) : A3( + $elm$parser$Parser$Advanced$Good, + _Utils_cmp(s.offset, newOffset) < 0, + _Utils_Tuple0, + { col: newCol, context: s.context, indent: s.indent, offset: newOffset, row: newRow, src: s.src } + ); + } + ); + }; + var $elm$parser$Parser$Expecting = function(a) { + return { $: "Expecting", a }; + }; + var $elm$parser$Parser$Advanced$Token = F2( + function(a, b) { + return { $: "Token", a, b }; + } + ); + var $elm$parser$Parser$toToken = function(str) { + return A2( + $elm$parser$Parser$Advanced$Token, + str, + $elm$parser$Parser$Expecting(str) + ); + }; + var $elm$parser$Parser$chompUntil = function(str) { + return $elm$parser$Parser$Advanced$chompUntil( + $elm$parser$Parser$toToken(str) + ); + }; var $elm$parser$Parser$Advanced$map2 = F3( function(func, _v0, _v1) { var parseA = _v0.a; @@ -23791,86 +25457,6 @@ } ); var $elm$parser$Parser$ignorer = $elm$parser$Parser$Advanced$ignorer; - var $hecrj$html_parser$Html$Parser$chompOneOrMore = function(fn) { - return A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$chompIf(fn), - $elm$parser$Parser$chompWhile(fn) - ); - }; - var $elm$parser$Parser$Advanced$mapChompedString = F2( - function(func, _v0) { - var parse = _v0.a; - return $elm$parser$Parser$Advanced$Parser( - function(s0) { - var _v1 = parse(s0); - if (_v1.$ === "Bad") { - var p = _v1.a; - var x = _v1.b; - return A2($elm$parser$Parser$Advanced$Bad, p, x); - } else { - var p = _v1.a; - var a = _v1.b; - var s1 = _v1.c; - return A3( - $elm$parser$Parser$Advanced$Good, - p, - A2( - func, - A3($elm$core$String$slice, s0.offset, s1.offset, s0.src), - a - ), - s1 - ); - } - } - ); - } - ); - var $elm$parser$Parser$Advanced$getChompedString = function(parser) { - return A2($elm$parser$Parser$Advanced$mapChompedString, $elm$core$Basics$always, parser); - }; - var $elm$parser$Parser$getChompedString = $elm$parser$Parser$Advanced$getChompedString; - var $hecrj$html_parser$Html$Parser$isSpaceCharacter = function(c) { - return _Utils_eq( - c, - _Utils_chr(" ") - ) || (_Utils_eq( - c, - _Utils_chr(" ") - ) || (_Utils_eq( - c, - _Utils_chr("\n") - ) || (_Utils_eq( - c, - _Utils_chr("\r") - ) || (_Utils_eq( - c, - _Utils_chr("\f") - ) || _Utils_eq( - c, - _Utils_chr("\xA0") - ))))); - }; - var $elm$parser$Parser$Problem = function(a) { - return { $: "Problem", a }; - }; - var $elm$parser$Parser$Advanced$problem = function(x) { - return $elm$parser$Parser$Advanced$Parser( - function(s) { - return A2( - $elm$parser$Parser$Advanced$Bad, - false, - A2($elm$parser$Parser$Advanced$fromState, s, x) - ); - } - ); - }; - var $elm$parser$Parser$problem = function(msg) { - return $elm$parser$Parser$Advanced$problem( - $elm$parser$Parser$Problem(msg) - ); - }; var $elm$parser$Parser$Advanced$succeed = function(a) { return $elm$parser$Parser$Advanced$Parser( function(s) { @@ -23879,110 +25465,56 @@ ); }; var $elm$parser$Parser$succeed = $elm$parser$Parser$Advanced$succeed; - var $hecrj$html_parser$Html$Parser$closingTag = function(name) { - var chompName = A2( - $elm$parser$Parser$andThen, - function(closingName) { - return _Utils_eq( - $elm$core$String$toLower(closingName), - name - ) ? $elm$parser$Parser$succeed(_Utils_Tuple0) : $elm$parser$Parser$problem("closing tag does not match opening tag: " + name); - }, - $elm$parser$Parser$getChompedString( - $hecrj$html_parser$Html$Parser$chompOneOrMore( - function(c) { - return !$hecrj$html_parser$Html$Parser$isSpaceCharacter(c) && !_Utils_eq( - c, - _Utils_chr(">") - ); - } - ) - ) - ); - return A2( - $elm$parser$Parser$ignorer, - A2( - $elm$parser$Parser$ignorer, - A2( - $elm$parser$Parser$ignorer, - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr("<") - ) - ), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr("/") - ) - ) - ), - chompName - ), - $elm$parser$Parser$chompWhile($hecrj$html_parser$Html$Parser$isSpaceCharacter) - ), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr(">") - ) - ) - ); + var $elm$parser$Parser$ExpectingSymbol = function(a) { + return { $: "ExpectingSymbol", a }; }; - var $hecrj$html_parser$Html$Parser$Comment = function(a) { - return { $: "Comment", a }; - }; - var $elm$parser$Parser$Advanced$findSubString = _Parser_findSubString; - var $elm$parser$Parser$Advanced$fromInfo = F4( - function(row, col, x, context) { - return A2( - $elm$parser$Parser$Advanced$AddRight, - $elm$parser$Parser$Advanced$Empty, - A4($elm$parser$Parser$Advanced$DeadEnd, row, col, x, context) - ); - } - ); - var $elm$parser$Parser$Advanced$chompUntil = function(_v0) { + var $elm$parser$Parser$Advanced$isSubString = _Parser_isSubString; + var $elm$parser$Parser$Advanced$token = function(_v0) { var str = _v0.a; var expecting = _v0.b; + var progress = !$elm$core$String$isEmpty(str); return $elm$parser$Parser$Advanced$Parser( function(s) { - var _v1 = A5($elm$parser$Parser$Advanced$findSubString, str, s.offset, s.row, s.col, s.src); + var _v1 = A5($elm$parser$Parser$Advanced$isSubString, str, s.offset, s.row, s.col, s.src); var newOffset = _v1.a; var newRow = _v1.b; var newCol = _v1.c; return _Utils_eq(newOffset, -1) ? A2( $elm$parser$Parser$Advanced$Bad, false, - A4($elm$parser$Parser$Advanced$fromInfo, newRow, newCol, expecting, s.context) + A2($elm$parser$Parser$Advanced$fromState, s, expecting) ) : A3( $elm$parser$Parser$Advanced$Good, - _Utils_cmp(s.offset, newOffset) < 0, + progress, _Utils_Tuple0, { col: newCol, context: s.context, indent: s.indent, offset: newOffset, row: newRow, src: s.src } ); } ); }; - var $elm$parser$Parser$Expecting = function(a) { - return { $: "Expecting", a }; - }; - var $elm$parser$Parser$Advanced$Token = F2( - function(a, b) { - return { $: "Token", a, b }; - } - ); - var $elm$parser$Parser$toToken = function(str) { - return A2( - $elm$parser$Parser$Advanced$Token, - str, - $elm$parser$Parser$Expecting(str) + var $elm$parser$Parser$Advanced$symbol = $elm$parser$Parser$Advanced$token; + var $elm$parser$Parser$symbol = function(str) { + return $elm$parser$Parser$Advanced$symbol( + A2( + $elm$parser$Parser$Advanced$Token, + str, + $elm$parser$Parser$ExpectingSymbol(str) + ) ); }; - var $elm$parser$Parser$chompUntil = function(str) { - return $elm$parser$Parser$Advanced$chompUntil( - $elm$parser$Parser$toToken(str) - ); + var $author$project$View$HtmlRenderer$commentParser = A2( + $elm$parser$Parser$ignorer, + A2( + $elm$parser$Parser$ignorer, + $elm$parser$Parser$succeed( + $author$project$View$HtmlRenderer$TextToken("") + ), + $elm$parser$Parser$symbol("") + ); + var $author$project$View$HtmlRenderer$EndTag = function(a) { + return { $: "EndTag", a }; }; var $elm$parser$Parser$Advanced$keeper = F2( function(parseFunc, parseArg) { @@ -23990,93 +25522,196 @@ } ); var $elm$parser$Parser$keeper = $elm$parser$Parser$Advanced$keeper; - var $elm$parser$Parser$Advanced$isSubString = _Parser_isSubString; - var $elm$parser$Parser$Advanced$token = function(_v0) { - var str = _v0.a; - var expecting = _v0.b; - var progress = !$elm$core$String$isEmpty(str); + var $elm$parser$Parser$UnexpectedChar = { $: "UnexpectedChar" }; + var $elm$parser$Parser$Advanced$isSubChar = _Parser_isSubChar; + var $elm$parser$Parser$Advanced$chompIf = F2( + function(isGood, expecting) { + return $elm$parser$Parser$Advanced$Parser( + function(s) { + var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, s.offset, s.src); + return _Utils_eq(newOffset, -1) ? A2( + $elm$parser$Parser$Advanced$Bad, + false, + A2($elm$parser$Parser$Advanced$fromState, s, expecting) + ) : _Utils_eq(newOffset, -2) ? A3( + $elm$parser$Parser$Advanced$Good, + true, + _Utils_Tuple0, + { col: 1, context: s.context, indent: s.indent, offset: s.offset + 1, row: s.row + 1, src: s.src } + ) : A3( + $elm$parser$Parser$Advanced$Good, + true, + _Utils_Tuple0, + { col: s.col + 1, context: s.context, indent: s.indent, offset: newOffset, row: s.row, src: s.src } + ); + } + ); + } + ); + var $elm$parser$Parser$chompIf = function(isGood) { + return A2($elm$parser$Parser$Advanced$chompIf, isGood, $elm$parser$Parser$UnexpectedChar); + }; + var $elm$parser$Parser$Advanced$chompWhileHelp = F5( + function(isGood, offset, row, col, s0) { + chompWhileHelp: + while (true) { + var newOffset = A3($elm$parser$Parser$Advanced$isSubChar, isGood, offset, s0.src); + if (_Utils_eq(newOffset, -1)) { + return A3( + $elm$parser$Parser$Advanced$Good, + _Utils_cmp(s0.offset, offset) < 0, + _Utils_Tuple0, + { col, context: s0.context, indent: s0.indent, offset, row, src: s0.src } + ); + } else { + if (_Utils_eq(newOffset, -2)) { + var $temp$isGood = isGood, $temp$offset = offset + 1, $temp$row = row + 1, $temp$col = 1, $temp$s0 = s0; + isGood = $temp$isGood; + offset = $temp$offset; + row = $temp$row; + col = $temp$col; + s0 = $temp$s0; + continue chompWhileHelp; + } else { + var $temp$isGood = isGood, $temp$offset = newOffset, $temp$row = row, $temp$col = col + 1, $temp$s0 = s0; + isGood = $temp$isGood; + offset = $temp$offset; + row = $temp$row; + col = $temp$col; + s0 = $temp$s0; + continue chompWhileHelp; + } + } + } + } + ); + var $elm$parser$Parser$Advanced$chompWhile = function(isGood) { return $elm$parser$Parser$Advanced$Parser( function(s) { - var _v1 = A5($elm$parser$Parser$Advanced$isSubString, str, s.offset, s.row, s.col, s.src); - var newOffset = _v1.a; - var newRow = _v1.b; - var newCol = _v1.c; - return _Utils_eq(newOffset, -1) ? A2( - $elm$parser$Parser$Advanced$Bad, - false, - A2($elm$parser$Parser$Advanced$fromState, s, expecting) - ) : A3( - $elm$parser$Parser$Advanced$Good, - progress, - _Utils_Tuple0, - { col: newCol, context: s.context, indent: s.indent, offset: newOffset, row: newRow, src: s.src } - ); + return A5($elm$parser$Parser$Advanced$chompWhileHelp, isGood, s.offset, s.row, s.col, s); } ); }; - var $elm$parser$Parser$token = function(str) { - return $elm$parser$Parser$Advanced$token( - $elm$parser$Parser$toToken(str) - ); - }; - var $hecrj$html_parser$Html$Parser$commentString = A2( - $elm$parser$Parser$keeper, - A2( + var $elm$parser$Parser$chompWhile = $elm$parser$Parser$Advanced$chompWhile; + var $author$project$View$HtmlRenderer$chompOneOrMore = function(predicate) { + return A2( $elm$parser$Parser$ignorer, A2( $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed($elm$core$Basics$identity), - $elm$parser$Parser$token("") - ), - $elm$parser$Parser$token("-->") - ) - ); - var $elm$parser$Parser$Advanced$map = F2( + $elm$parser$Parser$chompWhile(predicate) + ); + }; + var $elm$parser$Parser$Advanced$mapChompedString = F2( function(func, _v0) { var parse = _v0.a; return $elm$parser$Parser$Advanced$Parser( function(s0) { var _v1 = parse(s0); - if (_v1.$ === "Good") { + if (_v1.$ === "Bad") { + var p = _v1.a; + var x = _v1.b; + return A2($elm$parser$Parser$Advanced$Bad, p, x); + } else { var p = _v1.a; var a = _v1.b; var s1 = _v1.c; return A3( $elm$parser$Parser$Advanced$Good, p, - func(a), + A2( + func, + A3($elm$core$String$slice, s0.offset, s1.offset, s0.src), + a + ), s1 ); - } else { - var p = _v1.a; - var x = _v1.b; - return A2($elm$parser$Parser$Advanced$Bad, p, x); } } ); } ); - var $elm$parser$Parser$map = $elm$parser$Parser$Advanced$map; - var $hecrj$html_parser$Html$Parser$comment = A2($elm$parser$Parser$map, $hecrj$html_parser$Html$Parser$Comment, $hecrj$html_parser$Html$Parser$commentString); - var $hecrj$html_parser$Html$Parser$voidElements = _List_fromArray( - ["area", "base", "br", "col", "embed", "hr", "img", "input", "link", "meta", "param", "source", "track", "wbr"] - ); - var $hecrj$html_parser$Html$Parser$isVoidElement = function(name) { - return A2($elm$core$List$member, name, $hecrj$html_parser$Html$Parser$voidElements); + var $elm$parser$Parser$Advanced$getChompedString = function(parser) { + return A2($elm$parser$Parser$Advanced$mapChompedString, $elm$core$Basics$always, parser); }; - var $elm$parser$Parser$Done = function(a) { - return { $: "Done", a }; + var $elm$parser$Parser$getChompedString = $elm$parser$Parser$Advanced$getChompedString; + var $author$project$View$HtmlRenderer$isTagNameCharacter = function(character) { + return $elm$core$Char$isAlpha(character) || ($elm$core$Char$isDigit(character) || _Utils_eq( + character, + _Utils_chr("-") + )); }; - var $elm$parser$Parser$Loop = function(a) { - return { $: "Loop", a }; + var $author$project$View$HtmlRenderer$tagNameParser = A2( + $elm$parser$Parser$map, + $elm$core$String$toLower, + $elm$parser$Parser$getChompedString( + $author$project$View$HtmlRenderer$chompOneOrMore($author$project$View$HtmlRenderer$isTagNameCharacter) + ) + ); + var $author$project$View$HtmlRenderer$isWhitespace = function(character) { + return A2( + $elm$core$List$member, + character, + _List_fromArray( + [ + _Utils_chr(" "), + _Utils_chr(" "), + _Utils_chr("\n"), + _Utils_chr("\r"), + _Utils_chr("\f") + ] + ) + ); }; + var $author$project$View$HtmlRenderer$whitespace = $elm$parser$Parser$chompWhile($author$project$View$HtmlRenderer$isWhitespace); + var $author$project$View$HtmlRenderer$endTagParser = A2( + $elm$parser$Parser$keeper, + A2( + $elm$parser$Parser$ignorer, + $elm$parser$Parser$succeed($author$project$View$HtmlRenderer$EndTag), + $elm$parser$Parser$symbol("") + ) + ); + var $elm$parser$Parser$Advanced$andThen = F2( + function(callback, _v0) { + var parseA = _v0.a; + return $elm$parser$Parser$Advanced$Parser( + function(s0) { + var _v1 = parseA(s0); + if (_v1.$ === "Bad") { + var p = _v1.a; + var x = _v1.b; + return A2($elm$parser$Parser$Advanced$Bad, p, x); + } else { + var p1 = _v1.a; + var a = _v1.b; + var s1 = _v1.c; + var _v2 = callback(a); + var parseB = _v2.a; + var _v3 = parseB(s1); + if (_v3.$ === "Bad") { + var p2 = _v3.a; + var x = _v3.b; + return A2($elm$parser$Parser$Advanced$Bad, p1 || p2, x); + } else { + var p2 = _v3.a; + var b = _v3.b; + var s2 = _v3.c; + return A3($elm$parser$Parser$Advanced$Good, p1 || p2, b, s2); + } + } + } + ); + } + ); + var $elm$parser$Parser$andThen = $elm$parser$Parser$Advanced$andThen; var $elm$parser$Parser$Advanced$loopHelp = F4( function(p, state, callback, s0) { loopHelp: @@ -24147,3049 +25782,426 @@ ); } ); - var $elm$parser$Parser$Advanced$Append = F2( - function(a, b) { - return { $: "Append", a, b }; - } - ); - var $elm$parser$Parser$Advanced$oneOfHelp = F3( - function(s0, bag, parsers) { - oneOfHelp: - while (true) { - if (!parsers.b) { - return A2($elm$parser$Parser$Advanced$Bad, false, bag); - } else { - var parse = parsers.a.a; - var remainingParsers = parsers.b; - var _v1 = parse(s0); - if (_v1.$ === "Good") { - var step = _v1; - return step; - } else { - var step = _v1; - var p = step.a; - var x = step.b; - if (p) { - return step; - } else { - var $temp$s0 = s0, $temp$bag = A2($elm$parser$Parser$Advanced$Append, bag, x), $temp$parsers = remainingParsers; - s0 = $temp$s0; - bag = $temp$bag; - parsers = $temp$parsers; - continue oneOfHelp; - } - } - } - } + var $author$project$View$HtmlRenderer$StartTag = F3( + function(a, b, c) { + return { $: "StartTag", a, b, c }; } ); - var $elm$parser$Parser$Advanced$oneOf = function(parsers) { - return $elm$parser$Parser$Advanced$Parser( - function(s) { - return A3($elm$parser$Parser$Advanced$oneOfHelp, s, $elm$parser$Parser$Advanced$Empty, parsers); - } - ); + var $author$project$View$HtmlRenderer$isUnquotedAttributeCharacter = function(character) { + return !($author$project$View$HtmlRenderer$isWhitespace(character) || (_Utils_eq( + character, + _Utils_chr(">") + ) || _Utils_eq( + character, + _Utils_chr("/") + ))); }; - var $elm$parser$Parser$oneOf = $elm$parser$Parser$Advanced$oneOf; - var $hecrj$html_parser$Html$Parser$many = function(parser_) { + var $author$project$View$HtmlRenderer$quotedAttributeParser = function(quote) { return A2( - $elm$parser$Parser$loop, - _List_Nil, - function(list) { - return $elm$parser$Parser$oneOf( - _List_fromArray( - [ - A2( - $elm$parser$Parser$map, - function(_new) { - return $elm$parser$Parser$Loop( - A2($elm$core$List$cons, _new, list) - ); - }, - parser_ - ), - $elm$parser$Parser$succeed( - $elm$parser$Parser$Done( - $elm$core$List$reverse(list) - ) - ) - ] + $elm$parser$Parser$keeper, + A2( + $elm$parser$Parser$ignorer, + $elm$parser$Parser$succeed($elm$core$Basics$identity), + $elm$parser$Parser$chompIf( + $elm$core$Basics$eq(quote) + ) + ), + A2( + $elm$parser$Parser$ignorer, + $elm$parser$Parser$getChompedString( + $elm$parser$Parser$chompWhile( + $elm$core$Basics$neq(quote) ) - ); - } + ), + $elm$parser$Parser$chompIf( + $elm$core$Basics$eq(quote) + ) + ) ); }; - var $hecrj$html_parser$Html$Parser$isTagAttributeCharacter = function(c) { - return !$hecrj$html_parser$Html$Parser$isSpaceCharacter(c) && (!_Utils_eq( - c, - _Utils_chr('"') - ) && (!_Utils_eq( - c, - _Utils_chr("'") - ) && (!_Utils_eq( - c, - _Utils_chr(">") - ) && (!_Utils_eq( - c, - _Utils_chr("/") - ) && !_Utils_eq( - c, - _Utils_chr("=") - ))))); - }; - var $hecrj$html_parser$Html$Parser$tagAttributeName = A2( - $elm$parser$Parser$map, - $elm$core$String$toLower, - $elm$parser$Parser$getChompedString( - $hecrj$html_parser$Html$Parser$chompOneOrMore($hecrj$html_parser$Html$Parser$isTagAttributeCharacter) - ) - ); - var $hecrj$html_parser$Html$Parser$chompSemicolon = $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr(";") - ) - ); - var $hecrj$html_parser$Html$Parser$NamedCharacterReferences$dict = $elm$core$Dict$fromList( + var $author$project$View$HtmlRenderer$attributeStringParser = $elm$parser$Parser$oneOf( _List_fromArray( [ - _Utils_Tuple2("Aacute", "\xC1"), - _Utils_Tuple2("aacute", "\xE1"), - _Utils_Tuple2("Abreve", "\u0102"), - _Utils_Tuple2("abreve", "\u0103"), - _Utils_Tuple2("ac", "\u223E"), - _Utils_Tuple2("acd", "\u223F"), - _Utils_Tuple2("acE", "\u223E\u0333"), - _Utils_Tuple2("Acirc", "\xC2"), - _Utils_Tuple2("acirc", "\xE2"), - _Utils_Tuple2("acute", "\xB4"), - _Utils_Tuple2("Acy", "\u0410"), - _Utils_Tuple2("acy", "\u0430"), - _Utils_Tuple2("AElig", "\xC6"), - _Utils_Tuple2("aelig", "\xE6"), - _Utils_Tuple2("af", "\u2061"), - _Utils_Tuple2("Afr", "\u{1D504}"), - _Utils_Tuple2("afr", "\u{1D51E}"), - _Utils_Tuple2("Agrave", "\xC0"), - _Utils_Tuple2("agrave", "\xE0"), - _Utils_Tuple2("alefsym", "\u2135"), - _Utils_Tuple2("aleph", "\u2135"), - _Utils_Tuple2("Alpha", "\u0391"), - _Utils_Tuple2("alpha", "\u03B1"), - _Utils_Tuple2("Amacr", "\u0100"), - _Utils_Tuple2("amacr", "\u0101"), - _Utils_Tuple2("amalg", "\u2A3F"), - _Utils_Tuple2("amp", "&"), - _Utils_Tuple2("AMP", "&"), - _Utils_Tuple2("andand", "\u2A55"), - _Utils_Tuple2("And", "\u2A53"), - _Utils_Tuple2("and", "\u2227"), - _Utils_Tuple2("andd", "\u2A5C"), - _Utils_Tuple2("andslope", "\u2A58"), - _Utils_Tuple2("andv", "\u2A5A"), - _Utils_Tuple2("ang", "\u2220"), - _Utils_Tuple2("ange", "\u29A4"), - _Utils_Tuple2("angle", "\u2220"), - _Utils_Tuple2("angmsdaa", "\u29A8"), - _Utils_Tuple2("angmsdab", "\u29A9"), - _Utils_Tuple2("angmsdac", "\u29AA"), - _Utils_Tuple2("angmsdad", "\u29AB"), - _Utils_Tuple2("angmsdae", "\u29AC"), - _Utils_Tuple2("angmsdaf", "\u29AD"), - _Utils_Tuple2("angmsdag", "\u29AE"), - _Utils_Tuple2("angmsdah", "\u29AF"), - _Utils_Tuple2("angmsd", "\u2221"), - _Utils_Tuple2("angrt", "\u221F"), - _Utils_Tuple2("angrtvb", "\u22BE"), - _Utils_Tuple2("angrtvbd", "\u299D"), - _Utils_Tuple2("angsph", "\u2222"), - _Utils_Tuple2("angst", "\xC5"), - _Utils_Tuple2("angzarr", "\u237C"), - _Utils_Tuple2("Aogon", "\u0104"), - _Utils_Tuple2("aogon", "\u0105"), - _Utils_Tuple2("Aopf", "\u{1D538}"), - _Utils_Tuple2("aopf", "\u{1D552}"), - _Utils_Tuple2("apacir", "\u2A6F"), - _Utils_Tuple2("ap", "\u2248"), - _Utils_Tuple2("apE", "\u2A70"), - _Utils_Tuple2("ape", "\u224A"), - _Utils_Tuple2("apid", "\u224B"), - _Utils_Tuple2("apos", "'"), - _Utils_Tuple2("ApplyFunction", "\u2061"), - _Utils_Tuple2("approx", "\u2248"), - _Utils_Tuple2("approxeq", "\u224A"), - _Utils_Tuple2("Aring", "\xC5"), - _Utils_Tuple2("aring", "\xE5"), - _Utils_Tuple2("Ascr", "\u{1D49C}"), - _Utils_Tuple2("ascr", "\u{1D4B6}"), - _Utils_Tuple2("Assign", "\u2254"), - _Utils_Tuple2("ast", "*"), - _Utils_Tuple2("asymp", "\u2248"), - _Utils_Tuple2("asympeq", "\u224D"), - _Utils_Tuple2("Atilde", "\xC3"), - _Utils_Tuple2("atilde", "\xE3"), - _Utils_Tuple2("Auml", "\xC4"), - _Utils_Tuple2("auml", "\xE4"), - _Utils_Tuple2("awconint", "\u2233"), - _Utils_Tuple2("awint", "\u2A11"), - _Utils_Tuple2("backcong", "\u224C"), - _Utils_Tuple2("backepsilon", "\u03F6"), - _Utils_Tuple2("backprime", "\u2035"), - _Utils_Tuple2("backsim", "\u223D"), - _Utils_Tuple2("backsimeq", "\u22CD"), - _Utils_Tuple2("Backslash", "\u2216"), - _Utils_Tuple2("Barv", "\u2AE7"), - _Utils_Tuple2("barvee", "\u22BD"), - _Utils_Tuple2("barwed", "\u2305"), - _Utils_Tuple2("Barwed", "\u2306"), - _Utils_Tuple2("barwedge", "\u2305"), - _Utils_Tuple2("bbrk", "\u23B5"), - _Utils_Tuple2("bbrktbrk", "\u23B6"), - _Utils_Tuple2("bcong", "\u224C"), - _Utils_Tuple2("Bcy", "\u0411"), - _Utils_Tuple2("bcy", "\u0431"), - _Utils_Tuple2("bdquo", "\u201E"), - _Utils_Tuple2("becaus", "\u2235"), - _Utils_Tuple2("because", "\u2235"), - _Utils_Tuple2("Because", "\u2235"), - _Utils_Tuple2("bemptyv", "\u29B0"), - _Utils_Tuple2("bepsi", "\u03F6"), - _Utils_Tuple2("bernou", "\u212C"), - _Utils_Tuple2("Bernoullis", "\u212C"), - _Utils_Tuple2("Beta", "\u0392"), - _Utils_Tuple2("beta", "\u03B2"), - _Utils_Tuple2("beth", "\u2136"), - _Utils_Tuple2("between", "\u226C"), - _Utils_Tuple2("Bfr", "\u{1D505}"), - _Utils_Tuple2("bfr", "\u{1D51F}"), - _Utils_Tuple2("bigcap", "\u22C2"), - _Utils_Tuple2("bigcirc", "\u25EF"), - _Utils_Tuple2("bigcup", "\u22C3"), - _Utils_Tuple2("bigodot", "\u2A00"), - _Utils_Tuple2("bigoplus", "\u2A01"), - _Utils_Tuple2("bigotimes", "\u2A02"), - _Utils_Tuple2("bigsqcup", "\u2A06"), - _Utils_Tuple2("bigstar", "\u2605"), - _Utils_Tuple2("bigtriangledown", "\u25BD"), - _Utils_Tuple2("bigtriangleup", "\u25B3"), - _Utils_Tuple2("biguplus", "\u2A04"), - _Utils_Tuple2("bigvee", "\u22C1"), - _Utils_Tuple2("bigwedge", "\u22C0"), - _Utils_Tuple2("bkarow", "\u290D"), - _Utils_Tuple2("blacklozenge", "\u29EB"), - _Utils_Tuple2("blacksquare", "\u25AA"), - _Utils_Tuple2("blacktriangle", "\u25B4"), - _Utils_Tuple2("blacktriangledown", "\u25BE"), - _Utils_Tuple2("blacktriangleleft", "\u25C2"), - _Utils_Tuple2("blacktriangleright", "\u25B8"), - _Utils_Tuple2("blank", "\u2423"), - _Utils_Tuple2("blk12", "\u2592"), - _Utils_Tuple2("blk14", "\u2591"), - _Utils_Tuple2("blk34", "\u2593"), - _Utils_Tuple2("block", "\u2588"), - _Utils_Tuple2("bne", "=\u20E5"), - _Utils_Tuple2("bnequiv", "\u2261\u20E5"), - _Utils_Tuple2("bNot", "\u2AED"), - _Utils_Tuple2("bnot", "\u2310"), - _Utils_Tuple2("Bopf", "\u{1D539}"), - _Utils_Tuple2("bopf", "\u{1D553}"), - _Utils_Tuple2("bot", "\u22A5"), - _Utils_Tuple2("bottom", "\u22A5"), - _Utils_Tuple2("bowtie", "\u22C8"), - _Utils_Tuple2("boxbox", "\u29C9"), - _Utils_Tuple2("boxdl", "\u2510"), - _Utils_Tuple2("boxdL", "\u2555"), - _Utils_Tuple2("boxDl", "\u2556"), - _Utils_Tuple2("boxDL", "\u2557"), - _Utils_Tuple2("boxdr", "\u250C"), - _Utils_Tuple2("boxdR", "\u2552"), - _Utils_Tuple2("boxDr", "\u2553"), - _Utils_Tuple2("boxDR", "\u2554"), - _Utils_Tuple2("boxh", "\u2500"), - _Utils_Tuple2("boxH", "\u2550"), - _Utils_Tuple2("boxhd", "\u252C"), - _Utils_Tuple2("boxHd", "\u2564"), - _Utils_Tuple2("boxhD", "\u2565"), - _Utils_Tuple2("boxHD", "\u2566"), - _Utils_Tuple2("boxhu", "\u2534"), - _Utils_Tuple2("boxHu", "\u2567"), - _Utils_Tuple2("boxhU", "\u2568"), - _Utils_Tuple2("boxHU", "\u2569"), - _Utils_Tuple2("boxminus", "\u229F"), - _Utils_Tuple2("boxplus", "\u229E"), - _Utils_Tuple2("boxtimes", "\u22A0"), - _Utils_Tuple2("boxul", "\u2518"), - _Utils_Tuple2("boxuL", "\u255B"), - _Utils_Tuple2("boxUl", "\u255C"), - _Utils_Tuple2("boxUL", "\u255D"), - _Utils_Tuple2("boxur", "\u2514"), - _Utils_Tuple2("boxuR", "\u2558"), - _Utils_Tuple2("boxUr", "\u2559"), - _Utils_Tuple2("boxUR", "\u255A"), - _Utils_Tuple2("boxv", "\u2502"), - _Utils_Tuple2("boxV", "\u2551"), - _Utils_Tuple2("boxvh", "\u253C"), - _Utils_Tuple2("boxvH", "\u256A"), - _Utils_Tuple2("boxVh", "\u256B"), - _Utils_Tuple2("boxVH", "\u256C"), - _Utils_Tuple2("boxvl", "\u2524"), - _Utils_Tuple2("boxvL", "\u2561"), - _Utils_Tuple2("boxVl", "\u2562"), - _Utils_Tuple2("boxVL", "\u2563"), - _Utils_Tuple2("boxvr", "\u251C"), - _Utils_Tuple2("boxvR", "\u255E"), - _Utils_Tuple2("boxVr", "\u255F"), - _Utils_Tuple2("boxVR", "\u2560"), - _Utils_Tuple2("bprime", "\u2035"), - _Utils_Tuple2("breve", "\u02D8"), - _Utils_Tuple2("Breve", "\u02D8"), - _Utils_Tuple2("brvbar", "\xA6"), - _Utils_Tuple2("bscr", "\u{1D4B7}"), - _Utils_Tuple2("Bscr", "\u212C"), - _Utils_Tuple2("bsemi", "\u204F"), - _Utils_Tuple2("bsim", "\u223D"), - _Utils_Tuple2("bsime", "\u22CD"), - _Utils_Tuple2("bsolb", "\u29C5"), - _Utils_Tuple2("bsol", "\\"), - _Utils_Tuple2("bsolhsub", "\u27C8"), - _Utils_Tuple2("bull", "\u2022"), - _Utils_Tuple2("bullet", "\u2022"), - _Utils_Tuple2("bump", "\u224E"), - _Utils_Tuple2("bumpE", "\u2AAE"), - _Utils_Tuple2("bumpe", "\u224F"), - _Utils_Tuple2("Bumpeq", "\u224E"), - _Utils_Tuple2("bumpeq", "\u224F"), - _Utils_Tuple2("Cacute", "\u0106"), - _Utils_Tuple2("cacute", "\u0107"), - _Utils_Tuple2("capand", "\u2A44"), - _Utils_Tuple2("capbrcup", "\u2A49"), - _Utils_Tuple2("capcap", "\u2A4B"), - _Utils_Tuple2("cap", "\u2229"), - _Utils_Tuple2("Cap", "\u22D2"), - _Utils_Tuple2("capcup", "\u2A47"), - _Utils_Tuple2("capdot", "\u2A40"), - _Utils_Tuple2("CapitalDifferentialD", "\u2145"), - _Utils_Tuple2("caps", "\u2229\uFE00"), - _Utils_Tuple2("caret", "\u2041"), - _Utils_Tuple2("caron", "\u02C7"), - _Utils_Tuple2("Cayleys", "\u212D"), - _Utils_Tuple2("ccaps", "\u2A4D"), - _Utils_Tuple2("Ccaron", "\u010C"), - _Utils_Tuple2("ccaron", "\u010D"), - _Utils_Tuple2("Ccedil", "\xC7"), - _Utils_Tuple2("ccedil", "\xE7"), - _Utils_Tuple2("Ccirc", "\u0108"), - _Utils_Tuple2("ccirc", "\u0109"), - _Utils_Tuple2("Cconint", "\u2230"), - _Utils_Tuple2("ccups", "\u2A4C"), - _Utils_Tuple2("ccupssm", "\u2A50"), - _Utils_Tuple2("Cdot", "\u010A"), - _Utils_Tuple2("cdot", "\u010B"), - _Utils_Tuple2("cedil", "\xB8"), - _Utils_Tuple2("Cedilla", "\xB8"), - _Utils_Tuple2("cemptyv", "\u29B2"), - _Utils_Tuple2("cent", "\xA2"), - _Utils_Tuple2("centerdot", "\xB7"), - _Utils_Tuple2("CenterDot", "\xB7"), - _Utils_Tuple2("cfr", "\u{1D520}"), - _Utils_Tuple2("Cfr", "\u212D"), - _Utils_Tuple2("CHcy", "\u0427"), - _Utils_Tuple2("chcy", "\u0447"), - _Utils_Tuple2("check", "\u2713"), - _Utils_Tuple2("checkmark", "\u2713"), - _Utils_Tuple2("Chi", "\u03A7"), - _Utils_Tuple2("chi", "\u03C7"), - _Utils_Tuple2("circ", "\u02C6"), - _Utils_Tuple2("circeq", "\u2257"), - _Utils_Tuple2("circlearrowleft", "\u21BA"), - _Utils_Tuple2("circlearrowright", "\u21BB"), - _Utils_Tuple2("circledast", "\u229B"), - _Utils_Tuple2("circledcirc", "\u229A"), - _Utils_Tuple2("circleddash", "\u229D"), - _Utils_Tuple2("CircleDot", "\u2299"), - _Utils_Tuple2("circledR", "\xAE"), - _Utils_Tuple2("circledS", "\u24C8"), - _Utils_Tuple2("CircleMinus", "\u2296"), - _Utils_Tuple2("CirclePlus", "\u2295"), - _Utils_Tuple2("CircleTimes", "\u2297"), - _Utils_Tuple2("cir", "\u25CB"), - _Utils_Tuple2("cirE", "\u29C3"), - _Utils_Tuple2("cire", "\u2257"), - _Utils_Tuple2("cirfnint", "\u2A10"), - _Utils_Tuple2("cirmid", "\u2AEF"), - _Utils_Tuple2("cirscir", "\u29C2"), - _Utils_Tuple2("ClockwiseContourIntegral", "\u2232"), - _Utils_Tuple2("CloseCurlyDoubleQuote", "\u201D"), - _Utils_Tuple2("CloseCurlyQuote", "\u2019"), - _Utils_Tuple2("clubs", "\u2663"), - _Utils_Tuple2("clubsuit", "\u2663"), - _Utils_Tuple2("colon", ":"), - _Utils_Tuple2("Colon", "\u2237"), - _Utils_Tuple2("Colone", "\u2A74"), - _Utils_Tuple2("colone", "\u2254"), - _Utils_Tuple2("coloneq", "\u2254"), - _Utils_Tuple2("comma", ","), - _Utils_Tuple2("commat", "@"), - _Utils_Tuple2("comp", "\u2201"), - _Utils_Tuple2("compfn", "\u2218"), - _Utils_Tuple2("complement", "\u2201"), - _Utils_Tuple2("complexes", "\u2102"), - _Utils_Tuple2("cong", "\u2245"), - _Utils_Tuple2("congdot", "\u2A6D"), - _Utils_Tuple2("Congruent", "\u2261"), - _Utils_Tuple2("conint", "\u222E"), - _Utils_Tuple2("Conint", "\u222F"), - _Utils_Tuple2("ContourIntegral", "\u222E"), - _Utils_Tuple2("copf", "\u{1D554}"), - _Utils_Tuple2("Copf", "\u2102"), - _Utils_Tuple2("coprod", "\u2210"), - _Utils_Tuple2("Coproduct", "\u2210"), - _Utils_Tuple2("copy", "\xA9"), - _Utils_Tuple2("COPY", "\xA9"), - _Utils_Tuple2("copysr", "\u2117"), - _Utils_Tuple2("CounterClockwiseContourIntegral", "\u2233"), - _Utils_Tuple2("crarr", "\u21B5"), - _Utils_Tuple2("cross", "\u2717"), - _Utils_Tuple2("Cross", "\u2A2F"), - _Utils_Tuple2("Cscr", "\u{1D49E}"), - _Utils_Tuple2("cscr", "\u{1D4B8}"), - _Utils_Tuple2("csub", "\u2ACF"), - _Utils_Tuple2("csube", "\u2AD1"), - _Utils_Tuple2("csup", "\u2AD0"), - _Utils_Tuple2("csupe", "\u2AD2"), - _Utils_Tuple2("ctdot", "\u22EF"), - _Utils_Tuple2("cudarrl", "\u2938"), - _Utils_Tuple2("cudarrr", "\u2935"), - _Utils_Tuple2("cuepr", "\u22DE"), - _Utils_Tuple2("cuesc", "\u22DF"), - _Utils_Tuple2("cularr", "\u21B6"), - _Utils_Tuple2("cularrp", "\u293D"), - _Utils_Tuple2("cupbrcap", "\u2A48"), - _Utils_Tuple2("cupcap", "\u2A46"), - _Utils_Tuple2("CupCap", "\u224D"), - _Utils_Tuple2("cup", "\u222A"), - _Utils_Tuple2("Cup", "\u22D3"), - _Utils_Tuple2("cupcup", "\u2A4A"), - _Utils_Tuple2("cupdot", "\u228D"), - _Utils_Tuple2("cupor", "\u2A45"), - _Utils_Tuple2("cups", "\u222A\uFE00"), - _Utils_Tuple2("curarr", "\u21B7"), - _Utils_Tuple2("curarrm", "\u293C"), - _Utils_Tuple2("curlyeqprec", "\u22DE"), - _Utils_Tuple2("curlyeqsucc", "\u22DF"), - _Utils_Tuple2("curlyvee", "\u22CE"), - _Utils_Tuple2("curlywedge", "\u22CF"), - _Utils_Tuple2("curren", "\xA4"), - _Utils_Tuple2("curvearrowleft", "\u21B6"), - _Utils_Tuple2("curvearrowright", "\u21B7"), - _Utils_Tuple2("cuvee", "\u22CE"), - _Utils_Tuple2("cuwed", "\u22CF"), - _Utils_Tuple2("cwconint", "\u2232"), - _Utils_Tuple2("cwint", "\u2231"), - _Utils_Tuple2("cylcty", "\u232D"), - _Utils_Tuple2("dagger", "\u2020"), - _Utils_Tuple2("Dagger", "\u2021"), - _Utils_Tuple2("daleth", "\u2138"), - _Utils_Tuple2("darr", "\u2193"), - _Utils_Tuple2("Darr", "\u21A1"), - _Utils_Tuple2("dArr", "\u21D3"), - _Utils_Tuple2("dash", "\u2010"), - _Utils_Tuple2("Dashv", "\u2AE4"), - _Utils_Tuple2("dashv", "\u22A3"), - _Utils_Tuple2("dbkarow", "\u290F"), - _Utils_Tuple2("dblac", "\u02DD"), - _Utils_Tuple2("Dcaron", "\u010E"), - _Utils_Tuple2("dcaron", "\u010F"), - _Utils_Tuple2("Dcy", "\u0414"), - _Utils_Tuple2("dcy", "\u0434"), - _Utils_Tuple2("ddagger", "\u2021"), - _Utils_Tuple2("ddarr", "\u21CA"), - _Utils_Tuple2("DD", "\u2145"), - _Utils_Tuple2("dd", "\u2146"), - _Utils_Tuple2("DDotrahd", "\u2911"), - _Utils_Tuple2("ddotseq", "\u2A77"), - _Utils_Tuple2("deg", "\xB0"), - _Utils_Tuple2("Del", "\u2207"), - _Utils_Tuple2("Delta", "\u0394"), - _Utils_Tuple2("delta", "\u03B4"), - _Utils_Tuple2("demptyv", "\u29B1"), - _Utils_Tuple2("dfisht", "\u297F"), - _Utils_Tuple2("Dfr", "\u{1D507}"), - _Utils_Tuple2("dfr", "\u{1D521}"), - _Utils_Tuple2("dHar", "\u2965"), - _Utils_Tuple2("dharl", "\u21C3"), - _Utils_Tuple2("dharr", "\u21C2"), - _Utils_Tuple2("DiacriticalAcute", "\xB4"), - _Utils_Tuple2("DiacriticalDot", "\u02D9"), - _Utils_Tuple2("DiacriticalDoubleAcute", "\u02DD"), - _Utils_Tuple2("DiacriticalGrave", "`"), - _Utils_Tuple2("DiacriticalTilde", "\u02DC"), - _Utils_Tuple2("diam", "\u22C4"), - _Utils_Tuple2("diamond", "\u22C4"), - _Utils_Tuple2("Diamond", "\u22C4"), - _Utils_Tuple2("diamondsuit", "\u2666"), - _Utils_Tuple2("diams", "\u2666"), - _Utils_Tuple2("die", "\xA8"), - _Utils_Tuple2("DifferentialD", "\u2146"), - _Utils_Tuple2("digamma", "\u03DD"), - _Utils_Tuple2("disin", "\u22F2"), - _Utils_Tuple2("div", "\xF7"), - _Utils_Tuple2("divide", "\xF7"), - _Utils_Tuple2("divideontimes", "\u22C7"), - _Utils_Tuple2("divonx", "\u22C7"), - _Utils_Tuple2("DJcy", "\u0402"), - _Utils_Tuple2("djcy", "\u0452"), - _Utils_Tuple2("dlcorn", "\u231E"), - _Utils_Tuple2("dlcrop", "\u230D"), - _Utils_Tuple2("dollar", "$"), - _Utils_Tuple2("Dopf", "\u{1D53B}"), - _Utils_Tuple2("dopf", "\u{1D555}"), - _Utils_Tuple2("Dot", "\xA8"), - _Utils_Tuple2("dot", "\u02D9"), - _Utils_Tuple2("DotDot", "\u20DC"), - _Utils_Tuple2("doteq", "\u2250"), - _Utils_Tuple2("doteqdot", "\u2251"), - _Utils_Tuple2("DotEqual", "\u2250"), - _Utils_Tuple2("dotminus", "\u2238"), - _Utils_Tuple2("dotplus", "\u2214"), - _Utils_Tuple2("dotsquare", "\u22A1"), - _Utils_Tuple2("doublebarwedge", "\u2306"), - _Utils_Tuple2("DoubleContourIntegral", "\u222F"), - _Utils_Tuple2("DoubleDot", "\xA8"), - _Utils_Tuple2("DoubleDownArrow", "\u21D3"), - _Utils_Tuple2("DoubleLeftArrow", "\u21D0"), - _Utils_Tuple2("DoubleLeftRightArrow", "\u21D4"), - _Utils_Tuple2("DoubleLeftTee", "\u2AE4"), - _Utils_Tuple2("DoubleLongLeftArrow", "\u27F8"), - _Utils_Tuple2("DoubleLongLeftRightArrow", "\u27FA"), - _Utils_Tuple2("DoubleLongRightArrow", "\u27F9"), - _Utils_Tuple2("DoubleRightArrow", "\u21D2"), - _Utils_Tuple2("DoubleRightTee", "\u22A8"), - _Utils_Tuple2("DoubleUpArrow", "\u21D1"), - _Utils_Tuple2("DoubleUpDownArrow", "\u21D5"), - _Utils_Tuple2("DoubleVerticalBar", "\u2225"), - _Utils_Tuple2("DownArrowBar", "\u2913"), - _Utils_Tuple2("downarrow", "\u2193"), - _Utils_Tuple2("DownArrow", "\u2193"), - _Utils_Tuple2("Downarrow", "\u21D3"), - _Utils_Tuple2("DownArrowUpArrow", "\u21F5"), - _Utils_Tuple2("DownBreve", "\u0311"), - _Utils_Tuple2("downdownarrows", "\u21CA"), - _Utils_Tuple2("downharpoonleft", "\u21C3"), - _Utils_Tuple2("downharpoonright", "\u21C2"), - _Utils_Tuple2("DownLeftRightVector", "\u2950"), - _Utils_Tuple2("DownLeftTeeVector", "\u295E"), - _Utils_Tuple2("DownLeftVectorBar", "\u2956"), - _Utils_Tuple2("DownLeftVector", "\u21BD"), - _Utils_Tuple2("DownRightTeeVector", "\u295F"), - _Utils_Tuple2("DownRightVectorBar", "\u2957"), - _Utils_Tuple2("DownRightVector", "\u21C1"), - _Utils_Tuple2("DownTeeArrow", "\u21A7"), - _Utils_Tuple2("DownTee", "\u22A4"), - _Utils_Tuple2("drbkarow", "\u2910"), - _Utils_Tuple2("drcorn", "\u231F"), - _Utils_Tuple2("drcrop", "\u230C"), - _Utils_Tuple2("Dscr", "\u{1D49F}"), - _Utils_Tuple2("dscr", "\u{1D4B9}"), - _Utils_Tuple2("DScy", "\u0405"), - _Utils_Tuple2("dscy", "\u0455"), - _Utils_Tuple2("dsol", "\u29F6"), - _Utils_Tuple2("Dstrok", "\u0110"), - _Utils_Tuple2("dstrok", "\u0111"), - _Utils_Tuple2("dtdot", "\u22F1"), - _Utils_Tuple2("dtri", "\u25BF"), - _Utils_Tuple2("dtrif", "\u25BE"), - _Utils_Tuple2("duarr", "\u21F5"), - _Utils_Tuple2("duhar", "\u296F"), - _Utils_Tuple2("dwangle", "\u29A6"), - _Utils_Tuple2("DZcy", "\u040F"), - _Utils_Tuple2("dzcy", "\u045F"), - _Utils_Tuple2("dzigrarr", "\u27FF"), - _Utils_Tuple2("Eacute", "\xC9"), - _Utils_Tuple2("eacute", "\xE9"), - _Utils_Tuple2("easter", "\u2A6E"), - _Utils_Tuple2("Ecaron", "\u011A"), - _Utils_Tuple2("ecaron", "\u011B"), - _Utils_Tuple2("Ecirc", "\xCA"), - _Utils_Tuple2("ecirc", "\xEA"), - _Utils_Tuple2("ecir", "\u2256"), - _Utils_Tuple2("ecolon", "\u2255"), - _Utils_Tuple2("Ecy", "\u042D"), - _Utils_Tuple2("ecy", "\u044D"), - _Utils_Tuple2("eDDot", "\u2A77"), - _Utils_Tuple2("Edot", "\u0116"), - _Utils_Tuple2("edot", "\u0117"), - _Utils_Tuple2("eDot", "\u2251"), - _Utils_Tuple2("ee", "\u2147"), - _Utils_Tuple2("efDot", "\u2252"), - _Utils_Tuple2("Efr", "\u{1D508}"), - _Utils_Tuple2("efr", "\u{1D522}"), - _Utils_Tuple2("eg", "\u2A9A"), - _Utils_Tuple2("Egrave", "\xC8"), - _Utils_Tuple2("egrave", "\xE8"), - _Utils_Tuple2("egs", "\u2A96"), - _Utils_Tuple2("egsdot", "\u2A98"), - _Utils_Tuple2("el", "\u2A99"), - _Utils_Tuple2("Element", "\u2208"), - _Utils_Tuple2("elinters", "\u23E7"), - _Utils_Tuple2("ell", "\u2113"), - _Utils_Tuple2("els", "\u2A95"), - _Utils_Tuple2("elsdot", "\u2A97"), - _Utils_Tuple2("Emacr", "\u0112"), - _Utils_Tuple2("emacr", "\u0113"), - _Utils_Tuple2("empty", "\u2205"), - _Utils_Tuple2("emptyset", "\u2205"), - _Utils_Tuple2("EmptySmallSquare", "\u25FB"), - _Utils_Tuple2("emptyv", "\u2205"), - _Utils_Tuple2("EmptyVerySmallSquare", "\u25AB"), - _Utils_Tuple2("emsp13", "\u2004"), - _Utils_Tuple2("emsp14", "\u2005"), - _Utils_Tuple2("emsp", "\u2003"), - _Utils_Tuple2("ENG", "\u014A"), - _Utils_Tuple2("eng", "\u014B"), - _Utils_Tuple2("ensp", "\u2002"), - _Utils_Tuple2("Eogon", "\u0118"), - _Utils_Tuple2("eogon", "\u0119"), - _Utils_Tuple2("Eopf", "\u{1D53C}"), - _Utils_Tuple2("eopf", "\u{1D556}"), - _Utils_Tuple2("epar", "\u22D5"), - _Utils_Tuple2("eparsl", "\u29E3"), - _Utils_Tuple2("eplus", "\u2A71"), - _Utils_Tuple2("epsi", "\u03B5"), - _Utils_Tuple2("Epsilon", "\u0395"), - _Utils_Tuple2("epsilon", "\u03B5"), - _Utils_Tuple2("epsiv", "\u03F5"), - _Utils_Tuple2("eqcirc", "\u2256"), - _Utils_Tuple2("eqcolon", "\u2255"), - _Utils_Tuple2("eqsim", "\u2242"), - _Utils_Tuple2("eqslantgtr", "\u2A96"), - _Utils_Tuple2("eqslantless", "\u2A95"), - _Utils_Tuple2("Equal", "\u2A75"), - _Utils_Tuple2("equals", "="), - _Utils_Tuple2("EqualTilde", "\u2242"), - _Utils_Tuple2("equest", "\u225F"), - _Utils_Tuple2("Equilibrium", "\u21CC"), - _Utils_Tuple2("equiv", "\u2261"), - _Utils_Tuple2("equivDD", "\u2A78"), - _Utils_Tuple2("eqvparsl", "\u29E5"), - _Utils_Tuple2("erarr", "\u2971"), - _Utils_Tuple2("erDot", "\u2253"), - _Utils_Tuple2("escr", "\u212F"), - _Utils_Tuple2("Escr", "\u2130"), - _Utils_Tuple2("esdot", "\u2250"), - _Utils_Tuple2("Esim", "\u2A73"), - _Utils_Tuple2("esim", "\u2242"), - _Utils_Tuple2("Eta", "\u0397"), - _Utils_Tuple2("eta", "\u03B7"), - _Utils_Tuple2("ETH", "\xD0"), - _Utils_Tuple2("eth", "\xF0"), - _Utils_Tuple2("Euml", "\xCB"), - _Utils_Tuple2("euml", "\xEB"), - _Utils_Tuple2("euro", "\u20AC"), - _Utils_Tuple2("excl", "!"), - _Utils_Tuple2("exist", "\u2203"), - _Utils_Tuple2("Exists", "\u2203"), - _Utils_Tuple2("expectation", "\u2130"), - _Utils_Tuple2("exponentiale", "\u2147"), - _Utils_Tuple2("ExponentialE", "\u2147"), - _Utils_Tuple2("fallingdotseq", "\u2252"), - _Utils_Tuple2("Fcy", "\u0424"), - _Utils_Tuple2("fcy", "\u0444"), - _Utils_Tuple2("female", "\u2640"), - _Utils_Tuple2("ffilig", "\uFB03"), - _Utils_Tuple2("fflig", "\uFB00"), - _Utils_Tuple2("ffllig", "\uFB04"), - _Utils_Tuple2("Ffr", "\u{1D509}"), - _Utils_Tuple2("ffr", "\u{1D523}"), - _Utils_Tuple2("filig", "\uFB01"), - _Utils_Tuple2("FilledSmallSquare", "\u25FC"), - _Utils_Tuple2("FilledVerySmallSquare", "\u25AA"), - _Utils_Tuple2("fjlig", "fj"), - _Utils_Tuple2("flat", "\u266D"), - _Utils_Tuple2("fllig", "\uFB02"), - _Utils_Tuple2("fltns", "\u25B1"), - _Utils_Tuple2("fnof", "\u0192"), - _Utils_Tuple2("Fopf", "\u{1D53D}"), - _Utils_Tuple2("fopf", "\u{1D557}"), - _Utils_Tuple2("forall", "\u2200"), - _Utils_Tuple2("ForAll", "\u2200"), - _Utils_Tuple2("fork", "\u22D4"), - _Utils_Tuple2("forkv", "\u2AD9"), - _Utils_Tuple2("Fouriertrf", "\u2131"), - _Utils_Tuple2("fpartint", "\u2A0D"), - _Utils_Tuple2("frac12", "\xBD"), - _Utils_Tuple2("frac13", "\u2153"), - _Utils_Tuple2("frac14", "\xBC"), - _Utils_Tuple2("frac15", "\u2155"), - _Utils_Tuple2("frac16", "\u2159"), - _Utils_Tuple2("frac18", "\u215B"), - _Utils_Tuple2("frac23", "\u2154"), - _Utils_Tuple2("frac25", "\u2156"), - _Utils_Tuple2("frac34", "\xBE"), - _Utils_Tuple2("frac35", "\u2157"), - _Utils_Tuple2("frac38", "\u215C"), - _Utils_Tuple2("frac45", "\u2158"), - _Utils_Tuple2("frac56", "\u215A"), - _Utils_Tuple2("frac58", "\u215D"), - _Utils_Tuple2("frac78", "\u215E"), - _Utils_Tuple2("frasl", "\u2044"), - _Utils_Tuple2("frown", "\u2322"), - _Utils_Tuple2("fscr", "\u{1D4BB}"), - _Utils_Tuple2("Fscr", "\u2131"), - _Utils_Tuple2("gacute", "\u01F5"), - _Utils_Tuple2("Gamma", "\u0393"), - _Utils_Tuple2("gamma", "\u03B3"), - _Utils_Tuple2("Gammad", "\u03DC"), - _Utils_Tuple2("gammad", "\u03DD"), - _Utils_Tuple2("gap", "\u2A86"), - _Utils_Tuple2("Gbreve", "\u011E"), - _Utils_Tuple2("gbreve", "\u011F"), - _Utils_Tuple2("Gcedil", "\u0122"), - _Utils_Tuple2("Gcirc", "\u011C"), - _Utils_Tuple2("gcirc", "\u011D"), - _Utils_Tuple2("Gcy", "\u0413"), - _Utils_Tuple2("gcy", "\u0433"), - _Utils_Tuple2("Gdot", "\u0120"), - _Utils_Tuple2("gdot", "\u0121"), - _Utils_Tuple2("ge", "\u2265"), - _Utils_Tuple2("gE", "\u2267"), - _Utils_Tuple2("gEl", "\u2A8C"), - _Utils_Tuple2("gel", "\u22DB"), - _Utils_Tuple2("geq", "\u2265"), - _Utils_Tuple2("geqq", "\u2267"), - _Utils_Tuple2("geqslant", "\u2A7E"), - _Utils_Tuple2("gescc", "\u2AA9"), - _Utils_Tuple2("ges", "\u2A7E"), - _Utils_Tuple2("gesdot", "\u2A80"), - _Utils_Tuple2("gesdoto", "\u2A82"), - _Utils_Tuple2("gesdotol", "\u2A84"), - _Utils_Tuple2("gesl", "\u22DB\uFE00"), - _Utils_Tuple2("gesles", "\u2A94"), - _Utils_Tuple2("Gfr", "\u{1D50A}"), - _Utils_Tuple2("gfr", "\u{1D524}"), - _Utils_Tuple2("gg", "\u226B"), - _Utils_Tuple2("Gg", "\u22D9"), - _Utils_Tuple2("ggg", "\u22D9"), - _Utils_Tuple2("gimel", "\u2137"), - _Utils_Tuple2("GJcy", "\u0403"), - _Utils_Tuple2("gjcy", "\u0453"), - _Utils_Tuple2("gla", "\u2AA5"), - _Utils_Tuple2("gl", "\u2277"), - _Utils_Tuple2("glE", "\u2A92"), - _Utils_Tuple2("glj", "\u2AA4"), - _Utils_Tuple2("gnap", "\u2A8A"), - _Utils_Tuple2("gnapprox", "\u2A8A"), - _Utils_Tuple2("gne", "\u2A88"), - _Utils_Tuple2("gnE", "\u2269"), - _Utils_Tuple2("gneq", "\u2A88"), - _Utils_Tuple2("gneqq", "\u2269"), - _Utils_Tuple2("gnsim", "\u22E7"), - _Utils_Tuple2("Gopf", "\u{1D53E}"), - _Utils_Tuple2("gopf", "\u{1D558}"), - _Utils_Tuple2("grave", "`"), - _Utils_Tuple2("GreaterEqual", "\u2265"), - _Utils_Tuple2("GreaterEqualLess", "\u22DB"), - _Utils_Tuple2("GreaterFullEqual", "\u2267"), - _Utils_Tuple2("GreaterGreater", "\u2AA2"), - _Utils_Tuple2("GreaterLess", "\u2277"), - _Utils_Tuple2("GreaterSlantEqual", "\u2A7E"), - _Utils_Tuple2("GreaterTilde", "\u2273"), - _Utils_Tuple2("Gscr", "\u{1D4A2}"), - _Utils_Tuple2("gscr", "\u210A"), - _Utils_Tuple2("gsim", "\u2273"), - _Utils_Tuple2("gsime", "\u2A8E"), - _Utils_Tuple2("gsiml", "\u2A90"), - _Utils_Tuple2("gtcc", "\u2AA7"), - _Utils_Tuple2("gtcir", "\u2A7A"), - _Utils_Tuple2("gt", ">"), - _Utils_Tuple2("GT", ">"), - _Utils_Tuple2("Gt", "\u226B"), - _Utils_Tuple2("gtdot", "\u22D7"), - _Utils_Tuple2("gtlPar", "\u2995"), - _Utils_Tuple2("gtquest", "\u2A7C"), - _Utils_Tuple2("gtrapprox", "\u2A86"), - _Utils_Tuple2("gtrarr", "\u2978"), - _Utils_Tuple2("gtrdot", "\u22D7"), - _Utils_Tuple2("gtreqless", "\u22DB"), - _Utils_Tuple2("gtreqqless", "\u2A8C"), - _Utils_Tuple2("gtrless", "\u2277"), - _Utils_Tuple2("gtrsim", "\u2273"), - _Utils_Tuple2("gvertneqq", "\u2269\uFE00"), - _Utils_Tuple2("gvnE", "\u2269\uFE00"), - _Utils_Tuple2("Hacek", "\u02C7"), - _Utils_Tuple2("hairsp", "\u200A"), - _Utils_Tuple2("half", "\xBD"), - _Utils_Tuple2("hamilt", "\u210B"), - _Utils_Tuple2("HARDcy", "\u042A"), - _Utils_Tuple2("hardcy", "\u044A"), - _Utils_Tuple2("harrcir", "\u2948"), - _Utils_Tuple2("harr", "\u2194"), - _Utils_Tuple2("hArr", "\u21D4"), - _Utils_Tuple2("harrw", "\u21AD"), - _Utils_Tuple2("Hat", "^"), - _Utils_Tuple2("hbar", "\u210F"), - _Utils_Tuple2("Hcirc", "\u0124"), - _Utils_Tuple2("hcirc", "\u0125"), - _Utils_Tuple2("hearts", "\u2665"), - _Utils_Tuple2("heartsuit", "\u2665"), - _Utils_Tuple2("hellip", "\u2026"), - _Utils_Tuple2("hercon", "\u22B9"), - _Utils_Tuple2("hfr", "\u{1D525}"), - _Utils_Tuple2("Hfr", "\u210C"), - _Utils_Tuple2("HilbertSpace", "\u210B"), - _Utils_Tuple2("hksearow", "\u2925"), - _Utils_Tuple2("hkswarow", "\u2926"), - _Utils_Tuple2("hoarr", "\u21FF"), - _Utils_Tuple2("homtht", "\u223B"), - _Utils_Tuple2("hookleftarrow", "\u21A9"), - _Utils_Tuple2("hookrightarrow", "\u21AA"), - _Utils_Tuple2("hopf", "\u{1D559}"), - _Utils_Tuple2("Hopf", "\u210D"), - _Utils_Tuple2("horbar", "\u2015"), - _Utils_Tuple2("HorizontalLine", "\u2500"), - _Utils_Tuple2("hscr", "\u{1D4BD}"), - _Utils_Tuple2("Hscr", "\u210B"), - _Utils_Tuple2("hslash", "\u210F"), - _Utils_Tuple2("Hstrok", "\u0126"), - _Utils_Tuple2("hstrok", "\u0127"), - _Utils_Tuple2("HumpDownHump", "\u224E"), - _Utils_Tuple2("HumpEqual", "\u224F"), - _Utils_Tuple2("hybull", "\u2043"), - _Utils_Tuple2("hyphen", "\u2010"), - _Utils_Tuple2("Iacute", "\xCD"), - _Utils_Tuple2("iacute", "\xED"), - _Utils_Tuple2("ic", "\u2063"), - _Utils_Tuple2("Icirc", "\xCE"), - _Utils_Tuple2("icirc", "\xEE"), - _Utils_Tuple2("Icy", "\u0418"), - _Utils_Tuple2("icy", "\u0438"), - _Utils_Tuple2("Idot", "\u0130"), - _Utils_Tuple2("IEcy", "\u0415"), - _Utils_Tuple2("iecy", "\u0435"), - _Utils_Tuple2("iexcl", "\xA1"), - _Utils_Tuple2("iff", "\u21D4"), - _Utils_Tuple2("ifr", "\u{1D526}"), - _Utils_Tuple2("Ifr", "\u2111"), - _Utils_Tuple2("Igrave", "\xCC"), - _Utils_Tuple2("igrave", "\xEC"), - _Utils_Tuple2("ii", "\u2148"), - _Utils_Tuple2("iiiint", "\u2A0C"), - _Utils_Tuple2("iiint", "\u222D"), - _Utils_Tuple2("iinfin", "\u29DC"), - _Utils_Tuple2("iiota", "\u2129"), - _Utils_Tuple2("IJlig", "\u0132"), - _Utils_Tuple2("ijlig", "\u0133"), - _Utils_Tuple2("Imacr", "\u012A"), - _Utils_Tuple2("imacr", "\u012B"), - _Utils_Tuple2("image", "\u2111"), - _Utils_Tuple2("ImaginaryI", "\u2148"), - _Utils_Tuple2("imagline", "\u2110"), - _Utils_Tuple2("imagpart", "\u2111"), - _Utils_Tuple2("imath", "\u0131"), - _Utils_Tuple2("Im", "\u2111"), - _Utils_Tuple2("imof", "\u22B7"), - _Utils_Tuple2("imped", "\u01B5"), - _Utils_Tuple2("Implies", "\u21D2"), - _Utils_Tuple2("incare", "\u2105"), - _Utils_Tuple2("in", "\u2208"), - _Utils_Tuple2("infin", "\u221E"), - _Utils_Tuple2("infintie", "\u29DD"), - _Utils_Tuple2("inodot", "\u0131"), - _Utils_Tuple2("intcal", "\u22BA"), - _Utils_Tuple2("int", "\u222B"), - _Utils_Tuple2("Int", "\u222C"), - _Utils_Tuple2("integers", "\u2124"), - _Utils_Tuple2("Integral", "\u222B"), - _Utils_Tuple2("intercal", "\u22BA"), - _Utils_Tuple2("Intersection", "\u22C2"), - _Utils_Tuple2("intlarhk", "\u2A17"), - _Utils_Tuple2("intprod", "\u2A3C"), - _Utils_Tuple2("InvisibleComma", "\u2063"), - _Utils_Tuple2("InvisibleTimes", "\u2062"), - _Utils_Tuple2("IOcy", "\u0401"), - _Utils_Tuple2("iocy", "\u0451"), - _Utils_Tuple2("Iogon", "\u012E"), - _Utils_Tuple2("iogon", "\u012F"), - _Utils_Tuple2("Iopf", "\u{1D540}"), - _Utils_Tuple2("iopf", "\u{1D55A}"), - _Utils_Tuple2("Iota", "\u0399"), - _Utils_Tuple2("iota", "\u03B9"), - _Utils_Tuple2("iprod", "\u2A3C"), - _Utils_Tuple2("iquest", "\xBF"), - _Utils_Tuple2("iscr", "\u{1D4BE}"), - _Utils_Tuple2("Iscr", "\u2110"), - _Utils_Tuple2("isin", "\u2208"), - _Utils_Tuple2("isindot", "\u22F5"), - _Utils_Tuple2("isinE", "\u22F9"), - _Utils_Tuple2("isins", "\u22F4"), - _Utils_Tuple2("isinsv", "\u22F3"), - _Utils_Tuple2("isinv", "\u2208"), - _Utils_Tuple2("it", "\u2062"), - _Utils_Tuple2("Itilde", "\u0128"), - _Utils_Tuple2("itilde", "\u0129"), - _Utils_Tuple2("Iukcy", "\u0406"), - _Utils_Tuple2("iukcy", "\u0456"), - _Utils_Tuple2("Iuml", "\xCF"), - _Utils_Tuple2("iuml", "\xEF"), - _Utils_Tuple2("Jcirc", "\u0134"), - _Utils_Tuple2("jcirc", "\u0135"), - _Utils_Tuple2("Jcy", "\u0419"), - _Utils_Tuple2("jcy", "\u0439"), - _Utils_Tuple2("Jfr", "\u{1D50D}"), - _Utils_Tuple2("jfr", "\u{1D527}"), - _Utils_Tuple2("jmath", "\u0237"), - _Utils_Tuple2("Jopf", "\u{1D541}"), - _Utils_Tuple2("jopf", "\u{1D55B}"), - _Utils_Tuple2("Jscr", "\u{1D4A5}"), - _Utils_Tuple2("jscr", "\u{1D4BF}"), - _Utils_Tuple2("Jsercy", "\u0408"), - _Utils_Tuple2("jsercy", "\u0458"), - _Utils_Tuple2("Jukcy", "\u0404"), - _Utils_Tuple2("jukcy", "\u0454"), - _Utils_Tuple2("Kappa", "\u039A"), - _Utils_Tuple2("kappa", "\u03BA"), - _Utils_Tuple2("kappav", "\u03F0"), - _Utils_Tuple2("Kcedil", "\u0136"), - _Utils_Tuple2("kcedil", "\u0137"), - _Utils_Tuple2("Kcy", "\u041A"), - _Utils_Tuple2("kcy", "\u043A"), - _Utils_Tuple2("Kfr", "\u{1D50E}"), - _Utils_Tuple2("kfr", "\u{1D528}"), - _Utils_Tuple2("kgreen", "\u0138"), - _Utils_Tuple2("KHcy", "\u0425"), - _Utils_Tuple2("khcy", "\u0445"), - _Utils_Tuple2("KJcy", "\u040C"), - _Utils_Tuple2("kjcy", "\u045C"), - _Utils_Tuple2("Kopf", "\u{1D542}"), - _Utils_Tuple2("kopf", "\u{1D55C}"), - _Utils_Tuple2("Kscr", "\u{1D4A6}"), - _Utils_Tuple2("kscr", "\u{1D4C0}"), - _Utils_Tuple2("lAarr", "\u21DA"), - _Utils_Tuple2("Lacute", "\u0139"), - _Utils_Tuple2("lacute", "\u013A"), - _Utils_Tuple2("laemptyv", "\u29B4"), - _Utils_Tuple2("lagran", "\u2112"), - _Utils_Tuple2("Lambda", "\u039B"), - _Utils_Tuple2("lambda", "\u03BB"), - _Utils_Tuple2("lang", "\u27E8"), - _Utils_Tuple2("Lang", "\u27EA"), - _Utils_Tuple2("langd", "\u2991"), - _Utils_Tuple2("langle", "\u27E8"), - _Utils_Tuple2("lap", "\u2A85"), - _Utils_Tuple2("Laplacetrf", "\u2112"), - _Utils_Tuple2("laquo", "\xAB"), - _Utils_Tuple2("larrb", "\u21E4"), - _Utils_Tuple2("larrbfs", "\u291F"), - _Utils_Tuple2("larr", "\u2190"), - _Utils_Tuple2("Larr", "\u219E"), - _Utils_Tuple2("lArr", "\u21D0"), - _Utils_Tuple2("larrfs", "\u291D"), - _Utils_Tuple2("larrhk", "\u21A9"), - _Utils_Tuple2("larrlp", "\u21AB"), - _Utils_Tuple2("larrpl", "\u2939"), - _Utils_Tuple2("larrsim", "\u2973"), - _Utils_Tuple2("larrtl", "\u21A2"), - _Utils_Tuple2("latail", "\u2919"), - _Utils_Tuple2("lAtail", "\u291B"), - _Utils_Tuple2("lat", "\u2AAB"), - _Utils_Tuple2("late", "\u2AAD"), - _Utils_Tuple2("lates", "\u2AAD\uFE00"), - _Utils_Tuple2("lbarr", "\u290C"), - _Utils_Tuple2("lBarr", "\u290E"), - _Utils_Tuple2("lbbrk", "\u2772"), - _Utils_Tuple2("lbrace", "{"), - _Utils_Tuple2("lbrack", "["), - _Utils_Tuple2("lbrke", "\u298B"), - _Utils_Tuple2("lbrksld", "\u298F"), - _Utils_Tuple2("lbrkslu", "\u298D"), - _Utils_Tuple2("Lcaron", "\u013D"), - _Utils_Tuple2("lcaron", "\u013E"), - _Utils_Tuple2("Lcedil", "\u013B"), - _Utils_Tuple2("lcedil", "\u013C"), - _Utils_Tuple2("lceil", "\u2308"), - _Utils_Tuple2("lcub", "{"), - _Utils_Tuple2("Lcy", "\u041B"), - _Utils_Tuple2("lcy", "\u043B"), - _Utils_Tuple2("ldca", "\u2936"), - _Utils_Tuple2("ldquo", "\u201C"), - _Utils_Tuple2("ldquor", "\u201E"), - _Utils_Tuple2("ldrdhar", "\u2967"), - _Utils_Tuple2("ldrushar", "\u294B"), - _Utils_Tuple2("ldsh", "\u21B2"), - _Utils_Tuple2("le", "\u2264"), - _Utils_Tuple2("lE", "\u2266"), - _Utils_Tuple2("LeftAngleBracket", "\u27E8"), - _Utils_Tuple2("LeftArrowBar", "\u21E4"), - _Utils_Tuple2("leftarrow", "\u2190"), - _Utils_Tuple2("LeftArrow", "\u2190"), - _Utils_Tuple2("Leftarrow", "\u21D0"), - _Utils_Tuple2("LeftArrowRightArrow", "\u21C6"), - _Utils_Tuple2("leftarrowtail", "\u21A2"), - _Utils_Tuple2("LeftCeiling", "\u2308"), - _Utils_Tuple2("LeftDoubleBracket", "\u27E6"), - _Utils_Tuple2("LeftDownTeeVector", "\u2961"), - _Utils_Tuple2("LeftDownVectorBar", "\u2959"), - _Utils_Tuple2("LeftDownVector", "\u21C3"), - _Utils_Tuple2("LeftFloor", "\u230A"), - _Utils_Tuple2("leftharpoondown", "\u21BD"), - _Utils_Tuple2("leftharpoonup", "\u21BC"), - _Utils_Tuple2("leftleftarrows", "\u21C7"), - _Utils_Tuple2("leftrightarrow", "\u2194"), - _Utils_Tuple2("LeftRightArrow", "\u2194"), - _Utils_Tuple2("Leftrightarrow", "\u21D4"), - _Utils_Tuple2("leftrightarrows", "\u21C6"), - _Utils_Tuple2("leftrightharpoons", "\u21CB"), - _Utils_Tuple2("leftrightsquigarrow", "\u21AD"), - _Utils_Tuple2("LeftRightVector", "\u294E"), - _Utils_Tuple2("LeftTeeArrow", "\u21A4"), - _Utils_Tuple2("LeftTee", "\u22A3"), - _Utils_Tuple2("LeftTeeVector", "\u295A"), - _Utils_Tuple2("leftthreetimes", "\u22CB"), - _Utils_Tuple2("LeftTriangleBar", "\u29CF"), - _Utils_Tuple2("LeftTriangle", "\u22B2"), - _Utils_Tuple2("LeftTriangleEqual", "\u22B4"), - _Utils_Tuple2("LeftUpDownVector", "\u2951"), - _Utils_Tuple2("LeftUpTeeVector", "\u2960"), - _Utils_Tuple2("LeftUpVectorBar", "\u2958"), - _Utils_Tuple2("LeftUpVector", "\u21BF"), - _Utils_Tuple2("LeftVectorBar", "\u2952"), - _Utils_Tuple2("LeftVector", "\u21BC"), - _Utils_Tuple2("lEg", "\u2A8B"), - _Utils_Tuple2("leg", "\u22DA"), - _Utils_Tuple2("leq", "\u2264"), - _Utils_Tuple2("leqq", "\u2266"), - _Utils_Tuple2("leqslant", "\u2A7D"), - _Utils_Tuple2("lescc", "\u2AA8"), - _Utils_Tuple2("les", "\u2A7D"), - _Utils_Tuple2("lesdot", "\u2A7F"), - _Utils_Tuple2("lesdoto", "\u2A81"), - _Utils_Tuple2("lesdotor", "\u2A83"), - _Utils_Tuple2("lesg", "\u22DA\uFE00"), - _Utils_Tuple2("lesges", "\u2A93"), - _Utils_Tuple2("lessapprox", "\u2A85"), - _Utils_Tuple2("lessdot", "\u22D6"), - _Utils_Tuple2("lesseqgtr", "\u22DA"), - _Utils_Tuple2("lesseqqgtr", "\u2A8B"), - _Utils_Tuple2("LessEqualGreater", "\u22DA"), - _Utils_Tuple2("LessFullEqual", "\u2266"), - _Utils_Tuple2("LessGreater", "\u2276"), - _Utils_Tuple2("lessgtr", "\u2276"), - _Utils_Tuple2("LessLess", "\u2AA1"), - _Utils_Tuple2("lesssim", "\u2272"), - _Utils_Tuple2("LessSlantEqual", "\u2A7D"), - _Utils_Tuple2("LessTilde", "\u2272"), - _Utils_Tuple2("lfisht", "\u297C"), - _Utils_Tuple2("lfloor", "\u230A"), - _Utils_Tuple2("Lfr", "\u{1D50F}"), - _Utils_Tuple2("lfr", "\u{1D529}"), - _Utils_Tuple2("lg", "\u2276"), - _Utils_Tuple2("lgE", "\u2A91"), - _Utils_Tuple2("lHar", "\u2962"), - _Utils_Tuple2("lhard", "\u21BD"), - _Utils_Tuple2("lharu", "\u21BC"), - _Utils_Tuple2("lharul", "\u296A"), - _Utils_Tuple2("lhblk", "\u2584"), - _Utils_Tuple2("LJcy", "\u0409"), - _Utils_Tuple2("ljcy", "\u0459"), - _Utils_Tuple2("llarr", "\u21C7"), - _Utils_Tuple2("ll", "\u226A"), - _Utils_Tuple2("Ll", "\u22D8"), - _Utils_Tuple2("llcorner", "\u231E"), - _Utils_Tuple2("Lleftarrow", "\u21DA"), - _Utils_Tuple2("llhard", "\u296B"), - _Utils_Tuple2("lltri", "\u25FA"), - _Utils_Tuple2("Lmidot", "\u013F"), - _Utils_Tuple2("lmidot", "\u0140"), - _Utils_Tuple2("lmoustache", "\u23B0"), - _Utils_Tuple2("lmoust", "\u23B0"), - _Utils_Tuple2("lnap", "\u2A89"), - _Utils_Tuple2("lnapprox", "\u2A89"), - _Utils_Tuple2("lne", "\u2A87"), - _Utils_Tuple2("lnE", "\u2268"), - _Utils_Tuple2("lneq", "\u2A87"), - _Utils_Tuple2("lneqq", "\u2268"), - _Utils_Tuple2("lnsim", "\u22E6"), - _Utils_Tuple2("loang", "\u27EC"), - _Utils_Tuple2("loarr", "\u21FD"), - _Utils_Tuple2("lobrk", "\u27E6"), - _Utils_Tuple2("longleftarrow", "\u27F5"), - _Utils_Tuple2("LongLeftArrow", "\u27F5"), - _Utils_Tuple2("Longleftarrow", "\u27F8"), - _Utils_Tuple2("longleftrightarrow", "\u27F7"), - _Utils_Tuple2("LongLeftRightArrow", "\u27F7"), - _Utils_Tuple2("Longleftrightarrow", "\u27FA"), - _Utils_Tuple2("longmapsto", "\u27FC"), - _Utils_Tuple2("longrightarrow", "\u27F6"), - _Utils_Tuple2("LongRightArrow", "\u27F6"), - _Utils_Tuple2("Longrightarrow", "\u27F9"), - _Utils_Tuple2("looparrowleft", "\u21AB"), - _Utils_Tuple2("looparrowright", "\u21AC"), - _Utils_Tuple2("lopar", "\u2985"), - _Utils_Tuple2("Lopf", "\u{1D543}"), - _Utils_Tuple2("lopf", "\u{1D55D}"), - _Utils_Tuple2("loplus", "\u2A2D"), - _Utils_Tuple2("lotimes", "\u2A34"), - _Utils_Tuple2("lowast", "\u2217"), - _Utils_Tuple2("lowbar", "_"), - _Utils_Tuple2("LowerLeftArrow", "\u2199"), - _Utils_Tuple2("LowerRightArrow", "\u2198"), - _Utils_Tuple2("loz", "\u25CA"), - _Utils_Tuple2("lozenge", "\u25CA"), - _Utils_Tuple2("lozf", "\u29EB"), - _Utils_Tuple2("lpar", "("), - _Utils_Tuple2("lparlt", "\u2993"), - _Utils_Tuple2("lrarr", "\u21C6"), - _Utils_Tuple2("lrcorner", "\u231F"), - _Utils_Tuple2("lrhar", "\u21CB"), - _Utils_Tuple2("lrhard", "\u296D"), - _Utils_Tuple2("lrm", "\u200E"), - _Utils_Tuple2("lrtri", "\u22BF"), - _Utils_Tuple2("lsaquo", "\u2039"), - _Utils_Tuple2("lscr", "\u{1D4C1}"), - _Utils_Tuple2("Lscr", "\u2112"), - _Utils_Tuple2("lsh", "\u21B0"), - _Utils_Tuple2("Lsh", "\u21B0"), - _Utils_Tuple2("lsim", "\u2272"), - _Utils_Tuple2("lsime", "\u2A8D"), - _Utils_Tuple2("lsimg", "\u2A8F"), - _Utils_Tuple2("lsqb", "["), - _Utils_Tuple2("lsquo", "\u2018"), - _Utils_Tuple2("lsquor", "\u201A"), - _Utils_Tuple2("Lstrok", "\u0141"), - _Utils_Tuple2("lstrok", "\u0142"), - _Utils_Tuple2("ltcc", "\u2AA6"), - _Utils_Tuple2("ltcir", "\u2A79"), - _Utils_Tuple2("lt", "<"), - _Utils_Tuple2("LT", "<"), - _Utils_Tuple2("Lt", "\u226A"), - _Utils_Tuple2("ltdot", "\u22D6"), - _Utils_Tuple2("lthree", "\u22CB"), - _Utils_Tuple2("ltimes", "\u22C9"), - _Utils_Tuple2("ltlarr", "\u2976"), - _Utils_Tuple2("ltquest", "\u2A7B"), - _Utils_Tuple2("ltri", "\u25C3"), - _Utils_Tuple2("ltrie", "\u22B4"), - _Utils_Tuple2("ltrif", "\u25C2"), - _Utils_Tuple2("ltrPar", "\u2996"), - _Utils_Tuple2("lurdshar", "\u294A"), - _Utils_Tuple2("luruhar", "\u2966"), - _Utils_Tuple2("lvertneqq", "\u2268\uFE00"), - _Utils_Tuple2("lvnE", "\u2268\uFE00"), - _Utils_Tuple2("macr", "\xAF"), - _Utils_Tuple2("male", "\u2642"), - _Utils_Tuple2("malt", "\u2720"), - _Utils_Tuple2("maltese", "\u2720"), - _Utils_Tuple2("Map", "\u2905"), - _Utils_Tuple2("map", "\u21A6"), - _Utils_Tuple2("mapsto", "\u21A6"), - _Utils_Tuple2("mapstodown", "\u21A7"), - _Utils_Tuple2("mapstoleft", "\u21A4"), - _Utils_Tuple2("mapstoup", "\u21A5"), - _Utils_Tuple2("marker", "\u25AE"), - _Utils_Tuple2("mcomma", "\u2A29"), - _Utils_Tuple2("Mcy", "\u041C"), - _Utils_Tuple2("mcy", "\u043C"), - _Utils_Tuple2("mdash", "\u2014"), - _Utils_Tuple2("mDDot", "\u223A"), - _Utils_Tuple2("measuredangle", "\u2221"), - _Utils_Tuple2("MediumSpace", "\u205F"), - _Utils_Tuple2("Mellintrf", "\u2133"), - _Utils_Tuple2("Mfr", "\u{1D510}"), - _Utils_Tuple2("mfr", "\u{1D52A}"), - _Utils_Tuple2("mho", "\u2127"), - _Utils_Tuple2("micro", "\xB5"), - _Utils_Tuple2("midast", "*"), - _Utils_Tuple2("midcir", "\u2AF0"), - _Utils_Tuple2("mid", "\u2223"), - _Utils_Tuple2("middot", "\xB7"), - _Utils_Tuple2("minusb", "\u229F"), - _Utils_Tuple2("minus", "\u2212"), - _Utils_Tuple2("minusd", "\u2238"), - _Utils_Tuple2("minusdu", "\u2A2A"), - _Utils_Tuple2("MinusPlus", "\u2213"), - _Utils_Tuple2("mlcp", "\u2ADB"), - _Utils_Tuple2("mldr", "\u2026"), - _Utils_Tuple2("mnplus", "\u2213"), - _Utils_Tuple2("models", "\u22A7"), - _Utils_Tuple2("Mopf", "\u{1D544}"), - _Utils_Tuple2("mopf", "\u{1D55E}"), - _Utils_Tuple2("mp", "\u2213"), - _Utils_Tuple2("mscr", "\u{1D4C2}"), - _Utils_Tuple2("Mscr", "\u2133"), - _Utils_Tuple2("mstpos", "\u223E"), - _Utils_Tuple2("Mu", "\u039C"), - _Utils_Tuple2("mu", "\u03BC"), - _Utils_Tuple2("multimap", "\u22B8"), - _Utils_Tuple2("mumap", "\u22B8"), - _Utils_Tuple2("nabla", "\u2207"), - _Utils_Tuple2("Nacute", "\u0143"), - _Utils_Tuple2("nacute", "\u0144"), - _Utils_Tuple2("nang", "\u2220\u20D2"), - _Utils_Tuple2("nap", "\u2249"), - _Utils_Tuple2("napE", "\u2A70\u0338"), - _Utils_Tuple2("napid", "\u224B\u0338"), - _Utils_Tuple2("napos", "\u0149"), - _Utils_Tuple2("napprox", "\u2249"), - _Utils_Tuple2("natural", "\u266E"), - _Utils_Tuple2("naturals", "\u2115"), - _Utils_Tuple2("natur", "\u266E"), - _Utils_Tuple2("nbsp", "\xA0"), - _Utils_Tuple2("nbump", "\u224E\u0338"), - _Utils_Tuple2("nbumpe", "\u224F\u0338"), - _Utils_Tuple2("ncap", "\u2A43"), - _Utils_Tuple2("Ncaron", "\u0147"), - _Utils_Tuple2("ncaron", "\u0148"), - _Utils_Tuple2("Ncedil", "\u0145"), - _Utils_Tuple2("ncedil", "\u0146"), - _Utils_Tuple2("ncong", "\u2247"), - _Utils_Tuple2("ncongdot", "\u2A6D\u0338"), - _Utils_Tuple2("ncup", "\u2A42"), - _Utils_Tuple2("Ncy", "\u041D"), - _Utils_Tuple2("ncy", "\u043D"), - _Utils_Tuple2("ndash", "\u2013"), - _Utils_Tuple2("nearhk", "\u2924"), - _Utils_Tuple2("nearr", "\u2197"), - _Utils_Tuple2("neArr", "\u21D7"), - _Utils_Tuple2("nearrow", "\u2197"), - _Utils_Tuple2("ne", "\u2260"), - _Utils_Tuple2("nedot", "\u2250\u0338"), - _Utils_Tuple2("NegativeMediumSpace", "\u200B"), - _Utils_Tuple2("NegativeThickSpace", "\u200B"), - _Utils_Tuple2("NegativeThinSpace", "\u200B"), - _Utils_Tuple2("NegativeVeryThinSpace", "\u200B"), - _Utils_Tuple2("nequiv", "\u2262"), - _Utils_Tuple2("nesear", "\u2928"), - _Utils_Tuple2("nesim", "\u2242\u0338"), - _Utils_Tuple2("NestedGreaterGreater", "\u226B"), - _Utils_Tuple2("NestedLessLess", "\u226A"), - _Utils_Tuple2("NewLine", "\n"), - _Utils_Tuple2("nexist", "\u2204"), - _Utils_Tuple2("nexists", "\u2204"), - _Utils_Tuple2("Nfr", "\u{1D511}"), - _Utils_Tuple2("nfr", "\u{1D52B}"), - _Utils_Tuple2("ngE", "\u2267\u0338"), - _Utils_Tuple2("nge", "\u2271"), - _Utils_Tuple2("ngeq", "\u2271"), - _Utils_Tuple2("ngeqq", "\u2267\u0338"), - _Utils_Tuple2("ngeqslant", "\u2A7E\u0338"), - _Utils_Tuple2("nges", "\u2A7E\u0338"), - _Utils_Tuple2("nGg", "\u22D9\u0338"), - _Utils_Tuple2("ngsim", "\u2275"), - _Utils_Tuple2("nGt", "\u226B\u20D2"), - _Utils_Tuple2("ngt", "\u226F"), - _Utils_Tuple2("ngtr", "\u226F"), - _Utils_Tuple2("nGtv", "\u226B\u0338"), - _Utils_Tuple2("nharr", "\u21AE"), - _Utils_Tuple2("nhArr", "\u21CE"), - _Utils_Tuple2("nhpar", "\u2AF2"), - _Utils_Tuple2("ni", "\u220B"), - _Utils_Tuple2("nis", "\u22FC"), - _Utils_Tuple2("nisd", "\u22FA"), - _Utils_Tuple2("niv", "\u220B"), - _Utils_Tuple2("NJcy", "\u040A"), - _Utils_Tuple2("njcy", "\u045A"), - _Utils_Tuple2("nlarr", "\u219A"), - _Utils_Tuple2("nlArr", "\u21CD"), - _Utils_Tuple2("nldr", "\u2025"), - _Utils_Tuple2("nlE", "\u2266\u0338"), - _Utils_Tuple2("nle", "\u2270"), - _Utils_Tuple2("nleftarrow", "\u219A"), - _Utils_Tuple2("nLeftarrow", "\u21CD"), - _Utils_Tuple2("nleftrightarrow", "\u21AE"), - _Utils_Tuple2("nLeftrightarrow", "\u21CE"), - _Utils_Tuple2("nleq", "\u2270"), - _Utils_Tuple2("nleqq", "\u2266\u0338"), - _Utils_Tuple2("nleqslant", "\u2A7D\u0338"), - _Utils_Tuple2("nles", "\u2A7D\u0338"), - _Utils_Tuple2("nless", "\u226E"), - _Utils_Tuple2("nLl", "\u22D8\u0338"), - _Utils_Tuple2("nlsim", "\u2274"), - _Utils_Tuple2("nLt", "\u226A\u20D2"), - _Utils_Tuple2("nlt", "\u226E"), - _Utils_Tuple2("nltri", "\u22EA"), - _Utils_Tuple2("nltrie", "\u22EC"), - _Utils_Tuple2("nLtv", "\u226A\u0338"), - _Utils_Tuple2("nmid", "\u2224"), - _Utils_Tuple2("NoBreak", "\u2060"), - _Utils_Tuple2("NonBreakingSpace", "\xA0"), - _Utils_Tuple2("nopf", "\u{1D55F}"), - _Utils_Tuple2("Nopf", "\u2115"), - _Utils_Tuple2("Not", "\u2AEC"), - _Utils_Tuple2("not", "\xAC"), - _Utils_Tuple2("NotCongruent", "\u2262"), - _Utils_Tuple2("NotCupCap", "\u226D"), - _Utils_Tuple2("NotDoubleVerticalBar", "\u2226"), - _Utils_Tuple2("NotElement", "\u2209"), - _Utils_Tuple2("NotEqual", "\u2260"), - _Utils_Tuple2("NotEqualTilde", "\u2242\u0338"), - _Utils_Tuple2("NotExists", "\u2204"), - _Utils_Tuple2("NotGreater", "\u226F"), - _Utils_Tuple2("NotGreaterEqual", "\u2271"), - _Utils_Tuple2("NotGreaterFullEqual", "\u2267\u0338"), - _Utils_Tuple2("NotGreaterGreater", "\u226B\u0338"), - _Utils_Tuple2("NotGreaterLess", "\u2279"), - _Utils_Tuple2("NotGreaterSlantEqual", "\u2A7E\u0338"), - _Utils_Tuple2("NotGreaterTilde", "\u2275"), - _Utils_Tuple2("NotHumpDownHump", "\u224E\u0338"), - _Utils_Tuple2("NotHumpEqual", "\u224F\u0338"), - _Utils_Tuple2("notin", "\u2209"), - _Utils_Tuple2("notindot", "\u22F5\u0338"), - _Utils_Tuple2("notinE", "\u22F9\u0338"), - _Utils_Tuple2("notinva", "\u2209"), - _Utils_Tuple2("notinvb", "\u22F7"), - _Utils_Tuple2("notinvc", "\u22F6"), - _Utils_Tuple2("NotLeftTriangleBar", "\u29CF\u0338"), - _Utils_Tuple2("NotLeftTriangle", "\u22EA"), - _Utils_Tuple2("NotLeftTriangleEqual", "\u22EC"), - _Utils_Tuple2("NotLess", "\u226E"), - _Utils_Tuple2("NotLessEqual", "\u2270"), - _Utils_Tuple2("NotLessGreater", "\u2278"), - _Utils_Tuple2("NotLessLess", "\u226A\u0338"), - _Utils_Tuple2("NotLessSlantEqual", "\u2A7D\u0338"), - _Utils_Tuple2("NotLessTilde", "\u2274"), - _Utils_Tuple2("NotNestedGreaterGreater", "\u2AA2\u0338"), - _Utils_Tuple2("NotNestedLessLess", "\u2AA1\u0338"), - _Utils_Tuple2("notni", "\u220C"), - _Utils_Tuple2("notniva", "\u220C"), - _Utils_Tuple2("notnivb", "\u22FE"), - _Utils_Tuple2("notnivc", "\u22FD"), - _Utils_Tuple2("NotPrecedes", "\u2280"), - _Utils_Tuple2("NotPrecedesEqual", "\u2AAF\u0338"), - _Utils_Tuple2("NotPrecedesSlantEqual", "\u22E0"), - _Utils_Tuple2("NotReverseElement", "\u220C"), - _Utils_Tuple2("NotRightTriangleBar", "\u29D0\u0338"), - _Utils_Tuple2("NotRightTriangle", "\u22EB"), - _Utils_Tuple2("NotRightTriangleEqual", "\u22ED"), - _Utils_Tuple2("NotSquareSubset", "\u228F\u0338"), - _Utils_Tuple2("NotSquareSubsetEqual", "\u22E2"), - _Utils_Tuple2("NotSquareSuperset", "\u2290\u0338"), - _Utils_Tuple2("NotSquareSupersetEqual", "\u22E3"), - _Utils_Tuple2("NotSubset", "\u2282\u20D2"), - _Utils_Tuple2("NotSubsetEqual", "\u2288"), - _Utils_Tuple2("NotSucceeds", "\u2281"), - _Utils_Tuple2("NotSucceedsEqual", "\u2AB0\u0338"), - _Utils_Tuple2("NotSucceedsSlantEqual", "\u22E1"), - _Utils_Tuple2("NotSucceedsTilde", "\u227F\u0338"), - _Utils_Tuple2("NotSuperset", "\u2283\u20D2"), - _Utils_Tuple2("NotSupersetEqual", "\u2289"), - _Utils_Tuple2("NotTilde", "\u2241"), - _Utils_Tuple2("NotTildeEqual", "\u2244"), - _Utils_Tuple2("NotTildeFullEqual", "\u2247"), - _Utils_Tuple2("NotTildeTilde", "\u2249"), - _Utils_Tuple2("NotVerticalBar", "\u2224"), - _Utils_Tuple2("nparallel", "\u2226"), - _Utils_Tuple2("npar", "\u2226"), - _Utils_Tuple2("nparsl", "\u2AFD\u20E5"), - _Utils_Tuple2("npart", "\u2202\u0338"), - _Utils_Tuple2("npolint", "\u2A14"), - _Utils_Tuple2("npr", "\u2280"), - _Utils_Tuple2("nprcue", "\u22E0"), - _Utils_Tuple2("nprec", "\u2280"), - _Utils_Tuple2("npreceq", "\u2AAF\u0338"), - _Utils_Tuple2("npre", "\u2AAF\u0338"), - _Utils_Tuple2("nrarrc", "\u2933\u0338"), - _Utils_Tuple2("nrarr", "\u219B"), - _Utils_Tuple2("nrArr", "\u21CF"), - _Utils_Tuple2("nrarrw", "\u219D\u0338"), - _Utils_Tuple2("nrightarrow", "\u219B"), - _Utils_Tuple2("nRightarrow", "\u21CF"), - _Utils_Tuple2("nrtri", "\u22EB"), - _Utils_Tuple2("nrtrie", "\u22ED"), - _Utils_Tuple2("nsc", "\u2281"), - _Utils_Tuple2("nsccue", "\u22E1"), - _Utils_Tuple2("nsce", "\u2AB0\u0338"), - _Utils_Tuple2("Nscr", "\u{1D4A9}"), - _Utils_Tuple2("nscr", "\u{1D4C3}"), - _Utils_Tuple2("nshortmid", "\u2224"), - _Utils_Tuple2("nshortparallel", "\u2226"), - _Utils_Tuple2("nsim", "\u2241"), - _Utils_Tuple2("nsime", "\u2244"), - _Utils_Tuple2("nsimeq", "\u2244"), - _Utils_Tuple2("nsmid", "\u2224"), - _Utils_Tuple2("nspar", "\u2226"), - _Utils_Tuple2("nsqsube", "\u22E2"), - _Utils_Tuple2("nsqsupe", "\u22E3"), - _Utils_Tuple2("nsub", "\u2284"), - _Utils_Tuple2("nsubE", "\u2AC5\u0338"), - _Utils_Tuple2("nsube", "\u2288"), - _Utils_Tuple2("nsubset", "\u2282\u20D2"), - _Utils_Tuple2("nsubseteq", "\u2288"), - _Utils_Tuple2("nsubseteqq", "\u2AC5\u0338"), - _Utils_Tuple2("nsucc", "\u2281"), - _Utils_Tuple2("nsucceq", "\u2AB0\u0338"), - _Utils_Tuple2("nsup", "\u2285"), - _Utils_Tuple2("nsupE", "\u2AC6\u0338"), - _Utils_Tuple2("nsupe", "\u2289"), - _Utils_Tuple2("nsupset", "\u2283\u20D2"), - _Utils_Tuple2("nsupseteq", "\u2289"), - _Utils_Tuple2("nsupseteqq", "\u2AC6\u0338"), - _Utils_Tuple2("ntgl", "\u2279"), - _Utils_Tuple2("Ntilde", "\xD1"), - _Utils_Tuple2("ntilde", "\xF1"), - _Utils_Tuple2("ntlg", "\u2278"), - _Utils_Tuple2("ntriangleleft", "\u22EA"), - _Utils_Tuple2("ntrianglelefteq", "\u22EC"), - _Utils_Tuple2("ntriangleright", "\u22EB"), - _Utils_Tuple2("ntrianglerighteq", "\u22ED"), - _Utils_Tuple2("Nu", "\u039D"), - _Utils_Tuple2("nu", "\u03BD"), - _Utils_Tuple2("num", "#"), - _Utils_Tuple2("numero", "\u2116"), - _Utils_Tuple2("numsp", "\u2007"), - _Utils_Tuple2("nvap", "\u224D\u20D2"), - _Utils_Tuple2("nvdash", "\u22AC"), - _Utils_Tuple2("nvDash", "\u22AD"), - _Utils_Tuple2("nVdash", "\u22AE"), - _Utils_Tuple2("nVDash", "\u22AF"), - _Utils_Tuple2("nvge", "\u2265\u20D2"), - _Utils_Tuple2("nvgt", ">\u20D2"), - _Utils_Tuple2("nvHarr", "\u2904"), - _Utils_Tuple2("nvinfin", "\u29DE"), - _Utils_Tuple2("nvlArr", "\u2902"), - _Utils_Tuple2("nvle", "\u2264\u20D2"), - _Utils_Tuple2("nvlt", "<\u20D2"), - _Utils_Tuple2("nvltrie", "\u22B4\u20D2"), - _Utils_Tuple2("nvrArr", "\u2903"), - _Utils_Tuple2("nvrtrie", "\u22B5\u20D2"), - _Utils_Tuple2("nvsim", "\u223C\u20D2"), - _Utils_Tuple2("nwarhk", "\u2923"), - _Utils_Tuple2("nwarr", "\u2196"), - _Utils_Tuple2("nwArr", "\u21D6"), - _Utils_Tuple2("nwarrow", "\u2196"), - _Utils_Tuple2("nwnear", "\u2927"), - _Utils_Tuple2("Oacute", "\xD3"), - _Utils_Tuple2("oacute", "\xF3"), - _Utils_Tuple2("oast", "\u229B"), - _Utils_Tuple2("Ocirc", "\xD4"), - _Utils_Tuple2("ocirc", "\xF4"), - _Utils_Tuple2("ocir", "\u229A"), - _Utils_Tuple2("Ocy", "\u041E"), - _Utils_Tuple2("ocy", "\u043E"), - _Utils_Tuple2("odash", "\u229D"), - _Utils_Tuple2("Odblac", "\u0150"), - _Utils_Tuple2("odblac", "\u0151"), - _Utils_Tuple2("odiv", "\u2A38"), - _Utils_Tuple2("odot", "\u2299"), - _Utils_Tuple2("odsold", "\u29BC"), - _Utils_Tuple2("OElig", "\u0152"), - _Utils_Tuple2("oelig", "\u0153"), - _Utils_Tuple2("ofcir", "\u29BF"), - _Utils_Tuple2("Ofr", "\u{1D512}"), - _Utils_Tuple2("ofr", "\u{1D52C}"), - _Utils_Tuple2("ogon", "\u02DB"), - _Utils_Tuple2("Ograve", "\xD2"), - _Utils_Tuple2("ograve", "\xF2"), - _Utils_Tuple2("ogt", "\u29C1"), - _Utils_Tuple2("ohbar", "\u29B5"), - _Utils_Tuple2("ohm", "\u03A9"), - _Utils_Tuple2("oint", "\u222E"), - _Utils_Tuple2("olarr", "\u21BA"), - _Utils_Tuple2("olcir", "\u29BE"), - _Utils_Tuple2("olcross", "\u29BB"), - _Utils_Tuple2("oline", "\u203E"), - _Utils_Tuple2("olt", "\u29C0"), - _Utils_Tuple2("Omacr", "\u014C"), - _Utils_Tuple2("omacr", "\u014D"), - _Utils_Tuple2("Omega", "\u03A9"), - _Utils_Tuple2("omega", "\u03C9"), - _Utils_Tuple2("Omicron", "\u039F"), - _Utils_Tuple2("omicron", "\u03BF"), - _Utils_Tuple2("omid", "\u29B6"), - _Utils_Tuple2("ominus", "\u2296"), - _Utils_Tuple2("Oopf", "\u{1D546}"), - _Utils_Tuple2("oopf", "\u{1D560}"), - _Utils_Tuple2("opar", "\u29B7"), - _Utils_Tuple2("OpenCurlyDoubleQuote", "\u201C"), - _Utils_Tuple2("OpenCurlyQuote", "\u2018"), - _Utils_Tuple2("operp", "\u29B9"), - _Utils_Tuple2("oplus", "\u2295"), - _Utils_Tuple2("orarr", "\u21BB"), - _Utils_Tuple2("Or", "\u2A54"), - _Utils_Tuple2("or", "\u2228"), - _Utils_Tuple2("ord", "\u2A5D"), - _Utils_Tuple2("order", "\u2134"), - _Utils_Tuple2("orderof", "\u2134"), - _Utils_Tuple2("ordf", "\xAA"), - _Utils_Tuple2("ordm", "\xBA"), - _Utils_Tuple2("origof", "\u22B6"), - _Utils_Tuple2("oror", "\u2A56"), - _Utils_Tuple2("orslope", "\u2A57"), - _Utils_Tuple2("orv", "\u2A5B"), - _Utils_Tuple2("oS", "\u24C8"), - _Utils_Tuple2("Oscr", "\u{1D4AA}"), - _Utils_Tuple2("oscr", "\u2134"), - _Utils_Tuple2("Oslash", "\xD8"), - _Utils_Tuple2("oslash", "\xF8"), - _Utils_Tuple2("osol", "\u2298"), - _Utils_Tuple2("Otilde", "\xD5"), - _Utils_Tuple2("otilde", "\xF5"), - _Utils_Tuple2("otimesas", "\u2A36"), - _Utils_Tuple2("Otimes", "\u2A37"), - _Utils_Tuple2("otimes", "\u2297"), - _Utils_Tuple2("Ouml", "\xD6"), - _Utils_Tuple2("ouml", "\xF6"), - _Utils_Tuple2("ovbar", "\u233D"), - _Utils_Tuple2("OverBar", "\u203E"), - _Utils_Tuple2("OverBrace", "\u23DE"), - _Utils_Tuple2("OverBracket", "\u23B4"), - _Utils_Tuple2("OverParenthesis", "\u23DC"), - _Utils_Tuple2("para", "\xB6"), - _Utils_Tuple2("parallel", "\u2225"), - _Utils_Tuple2("par", "\u2225"), - _Utils_Tuple2("parsim", "\u2AF3"), - _Utils_Tuple2("parsl", "\u2AFD"), - _Utils_Tuple2("part", "\u2202"), - _Utils_Tuple2("PartialD", "\u2202"), - _Utils_Tuple2("Pcy", "\u041F"), - _Utils_Tuple2("pcy", "\u043F"), - _Utils_Tuple2("percnt", "%"), - _Utils_Tuple2("period", "."), - _Utils_Tuple2("permil", "\u2030"), - _Utils_Tuple2("perp", "\u22A5"), - _Utils_Tuple2("pertenk", "\u2031"), - _Utils_Tuple2("Pfr", "\u{1D513}"), - _Utils_Tuple2("pfr", "\u{1D52D}"), - _Utils_Tuple2("Phi", "\u03A6"), - _Utils_Tuple2("phi", "\u03C6"), - _Utils_Tuple2("phiv", "\u03D5"), - _Utils_Tuple2("phmmat", "\u2133"), - _Utils_Tuple2("phone", "\u260E"), - _Utils_Tuple2("Pi", "\u03A0"), - _Utils_Tuple2("pi", "\u03C0"), - _Utils_Tuple2("pitchfork", "\u22D4"), - _Utils_Tuple2("piv", "\u03D6"), - _Utils_Tuple2("planck", "\u210F"), - _Utils_Tuple2("planckh", "\u210E"), - _Utils_Tuple2("plankv", "\u210F"), - _Utils_Tuple2("plusacir", "\u2A23"), - _Utils_Tuple2("plusb", "\u229E"), - _Utils_Tuple2("pluscir", "\u2A22"), - _Utils_Tuple2("plus", "+"), - _Utils_Tuple2("plusdo", "\u2214"), - _Utils_Tuple2("plusdu", "\u2A25"), - _Utils_Tuple2("pluse", "\u2A72"), - _Utils_Tuple2("PlusMinus", "\xB1"), - _Utils_Tuple2("plusmn", "\xB1"), - _Utils_Tuple2("plussim", "\u2A26"), - _Utils_Tuple2("plustwo", "\u2A27"), - _Utils_Tuple2("pm", "\xB1"), - _Utils_Tuple2("Poincareplane", "\u210C"), - _Utils_Tuple2("pointint", "\u2A15"), - _Utils_Tuple2("popf", "\u{1D561}"), - _Utils_Tuple2("Popf", "\u2119"), - _Utils_Tuple2("pound", "\xA3"), - _Utils_Tuple2("prap", "\u2AB7"), - _Utils_Tuple2("Pr", "\u2ABB"), - _Utils_Tuple2("pr", "\u227A"), - _Utils_Tuple2("prcue", "\u227C"), - _Utils_Tuple2("precapprox", "\u2AB7"), - _Utils_Tuple2("prec", "\u227A"), - _Utils_Tuple2("preccurlyeq", "\u227C"), - _Utils_Tuple2("Precedes", "\u227A"), - _Utils_Tuple2("PrecedesEqual", "\u2AAF"), - _Utils_Tuple2("PrecedesSlantEqual", "\u227C"), - _Utils_Tuple2("PrecedesTilde", "\u227E"), - _Utils_Tuple2("preceq", "\u2AAF"), - _Utils_Tuple2("precnapprox", "\u2AB9"), - _Utils_Tuple2("precneqq", "\u2AB5"), - _Utils_Tuple2("precnsim", "\u22E8"), - _Utils_Tuple2("pre", "\u2AAF"), - _Utils_Tuple2("prE", "\u2AB3"), - _Utils_Tuple2("precsim", "\u227E"), - _Utils_Tuple2("prime", "\u2032"), - _Utils_Tuple2("Prime", "\u2033"), - _Utils_Tuple2("primes", "\u2119"), - _Utils_Tuple2("prnap", "\u2AB9"), - _Utils_Tuple2("prnE", "\u2AB5"), - _Utils_Tuple2("prnsim", "\u22E8"), - _Utils_Tuple2("prod", "\u220F"), - _Utils_Tuple2("Product", "\u220F"), - _Utils_Tuple2("profalar", "\u232E"), - _Utils_Tuple2("profline", "\u2312"), - _Utils_Tuple2("profsurf", "\u2313"), - _Utils_Tuple2("prop", "\u221D"), - _Utils_Tuple2("Proportional", "\u221D"), - _Utils_Tuple2("Proportion", "\u2237"), - _Utils_Tuple2("propto", "\u221D"), - _Utils_Tuple2("prsim", "\u227E"), - _Utils_Tuple2("prurel", "\u22B0"), - _Utils_Tuple2("Pscr", "\u{1D4AB}"), - _Utils_Tuple2("pscr", "\u{1D4C5}"), - _Utils_Tuple2("Psi", "\u03A8"), - _Utils_Tuple2("psi", "\u03C8"), - _Utils_Tuple2("puncsp", "\u2008"), - _Utils_Tuple2("Qfr", "\u{1D514}"), - _Utils_Tuple2("qfr", "\u{1D52E}"), - _Utils_Tuple2("qint", "\u2A0C"), - _Utils_Tuple2("qopf", "\u{1D562}"), - _Utils_Tuple2("Qopf", "\u211A"), - _Utils_Tuple2("qprime", "\u2057"), - _Utils_Tuple2("Qscr", "\u{1D4AC}"), - _Utils_Tuple2("qscr", "\u{1D4C6}"), - _Utils_Tuple2("quaternions", "\u210D"), - _Utils_Tuple2("quatint", "\u2A16"), - _Utils_Tuple2("quest", "?"), - _Utils_Tuple2("questeq", "\u225F"), - _Utils_Tuple2("quot", '"'), - _Utils_Tuple2("QUOT", '"'), - _Utils_Tuple2("rAarr", "\u21DB"), - _Utils_Tuple2("race", "\u223D\u0331"), - _Utils_Tuple2("Racute", "\u0154"), - _Utils_Tuple2("racute", "\u0155"), - _Utils_Tuple2("radic", "\u221A"), - _Utils_Tuple2("raemptyv", "\u29B3"), - _Utils_Tuple2("rang", "\u27E9"), - _Utils_Tuple2("Rang", "\u27EB"), - _Utils_Tuple2("rangd", "\u2992"), - _Utils_Tuple2("range", "\u29A5"), - _Utils_Tuple2("rangle", "\u27E9"), - _Utils_Tuple2("raquo", "\xBB"), - _Utils_Tuple2("rarrap", "\u2975"), - _Utils_Tuple2("rarrb", "\u21E5"), - _Utils_Tuple2("rarrbfs", "\u2920"), - _Utils_Tuple2("rarrc", "\u2933"), - _Utils_Tuple2("rarr", "\u2192"), - _Utils_Tuple2("Rarr", "\u21A0"), - _Utils_Tuple2("rArr", "\u21D2"), - _Utils_Tuple2("rarrfs", "\u291E"), - _Utils_Tuple2("rarrhk", "\u21AA"), - _Utils_Tuple2("rarrlp", "\u21AC"), - _Utils_Tuple2("rarrpl", "\u2945"), - _Utils_Tuple2("rarrsim", "\u2974"), - _Utils_Tuple2("Rarrtl", "\u2916"), - _Utils_Tuple2("rarrtl", "\u21A3"), - _Utils_Tuple2("rarrw", "\u219D"), - _Utils_Tuple2("ratail", "\u291A"), - _Utils_Tuple2("rAtail", "\u291C"), - _Utils_Tuple2("ratio", "\u2236"), - _Utils_Tuple2("rationals", "\u211A"), - _Utils_Tuple2("rbarr", "\u290D"), - _Utils_Tuple2("rBarr", "\u290F"), - _Utils_Tuple2("RBarr", "\u2910"), - _Utils_Tuple2("rbbrk", "\u2773"), - _Utils_Tuple2("rbrace", "}"), - _Utils_Tuple2("rbrack", "]"), - _Utils_Tuple2("rbrke", "\u298C"), - _Utils_Tuple2("rbrksld", "\u298E"), - _Utils_Tuple2("rbrkslu", "\u2990"), - _Utils_Tuple2("Rcaron", "\u0158"), - _Utils_Tuple2("rcaron", "\u0159"), - _Utils_Tuple2("Rcedil", "\u0156"), - _Utils_Tuple2("rcedil", "\u0157"), - _Utils_Tuple2("rceil", "\u2309"), - _Utils_Tuple2("rcub", "}"), - _Utils_Tuple2("Rcy", "\u0420"), - _Utils_Tuple2("rcy", "\u0440"), - _Utils_Tuple2("rdca", "\u2937"), - _Utils_Tuple2("rdldhar", "\u2969"), - _Utils_Tuple2("rdquo", "\u201D"), - _Utils_Tuple2("rdquor", "\u201D"), - _Utils_Tuple2("rdsh", "\u21B3"), - _Utils_Tuple2("real", "\u211C"), - _Utils_Tuple2("realine", "\u211B"), - _Utils_Tuple2("realpart", "\u211C"), - _Utils_Tuple2("reals", "\u211D"), - _Utils_Tuple2("Re", "\u211C"), - _Utils_Tuple2("rect", "\u25AD"), - _Utils_Tuple2("reg", "\xAE"), - _Utils_Tuple2("REG", "\xAE"), - _Utils_Tuple2("ReverseElement", "\u220B"), - _Utils_Tuple2("ReverseEquilibrium", "\u21CB"), - _Utils_Tuple2("ReverseUpEquilibrium", "\u296F"), - _Utils_Tuple2("rfisht", "\u297D"), - _Utils_Tuple2("rfloor", "\u230B"), - _Utils_Tuple2("rfr", "\u{1D52F}"), - _Utils_Tuple2("Rfr", "\u211C"), - _Utils_Tuple2("rHar", "\u2964"), - _Utils_Tuple2("rhard", "\u21C1"), - _Utils_Tuple2("rharu", "\u21C0"), - _Utils_Tuple2("rharul", "\u296C"), - _Utils_Tuple2("Rho", "\u03A1"), - _Utils_Tuple2("rho", "\u03C1"), - _Utils_Tuple2("rhov", "\u03F1"), - _Utils_Tuple2("RightAngleBracket", "\u27E9"), - _Utils_Tuple2("RightArrowBar", "\u21E5"), - _Utils_Tuple2("rightarrow", "\u2192"), - _Utils_Tuple2("RightArrow", "\u2192"), - _Utils_Tuple2("Rightarrow", "\u21D2"), - _Utils_Tuple2("RightArrowLeftArrow", "\u21C4"), - _Utils_Tuple2("rightarrowtail", "\u21A3"), - _Utils_Tuple2("RightCeiling", "\u2309"), - _Utils_Tuple2("RightDoubleBracket", "\u27E7"), - _Utils_Tuple2("RightDownTeeVector", "\u295D"), - _Utils_Tuple2("RightDownVectorBar", "\u2955"), - _Utils_Tuple2("RightDownVector", "\u21C2"), - _Utils_Tuple2("RightFloor", "\u230B"), - _Utils_Tuple2("rightharpoondown", "\u21C1"), - _Utils_Tuple2("rightharpoonup", "\u21C0"), - _Utils_Tuple2("rightleftarrows", "\u21C4"), - _Utils_Tuple2("rightleftharpoons", "\u21CC"), - _Utils_Tuple2("rightrightarrows", "\u21C9"), - _Utils_Tuple2("rightsquigarrow", "\u219D"), - _Utils_Tuple2("RightTeeArrow", "\u21A6"), - _Utils_Tuple2("RightTee", "\u22A2"), - _Utils_Tuple2("RightTeeVector", "\u295B"), - _Utils_Tuple2("rightthreetimes", "\u22CC"), - _Utils_Tuple2("RightTriangleBar", "\u29D0"), - _Utils_Tuple2("RightTriangle", "\u22B3"), - _Utils_Tuple2("RightTriangleEqual", "\u22B5"), - _Utils_Tuple2("RightUpDownVector", "\u294F"), - _Utils_Tuple2("RightUpTeeVector", "\u295C"), - _Utils_Tuple2("RightUpVectorBar", "\u2954"), - _Utils_Tuple2("RightUpVector", "\u21BE"), - _Utils_Tuple2("RightVectorBar", "\u2953"), - _Utils_Tuple2("RightVector", "\u21C0"), - _Utils_Tuple2("ring", "\u02DA"), - _Utils_Tuple2("risingdotseq", "\u2253"), - _Utils_Tuple2("rlarr", "\u21C4"), - _Utils_Tuple2("rlhar", "\u21CC"), - _Utils_Tuple2("rlm", "\u200F"), - _Utils_Tuple2("rmoustache", "\u23B1"), - _Utils_Tuple2("rmoust", "\u23B1"), - _Utils_Tuple2("rnmid", "\u2AEE"), - _Utils_Tuple2("roang", "\u27ED"), - _Utils_Tuple2("roarr", "\u21FE"), - _Utils_Tuple2("robrk", "\u27E7"), - _Utils_Tuple2("ropar", "\u2986"), - _Utils_Tuple2("ropf", "\u{1D563}"), - _Utils_Tuple2("Ropf", "\u211D"), - _Utils_Tuple2("roplus", "\u2A2E"), - _Utils_Tuple2("rotimes", "\u2A35"), - _Utils_Tuple2("RoundImplies", "\u2970"), - _Utils_Tuple2("rpar", ")"), - _Utils_Tuple2("rpargt", "\u2994"), - _Utils_Tuple2("rppolint", "\u2A12"), - _Utils_Tuple2("rrarr", "\u21C9"), - _Utils_Tuple2("Rrightarrow", "\u21DB"), - _Utils_Tuple2("rsaquo", "\u203A"), - _Utils_Tuple2("rscr", "\u{1D4C7}"), - _Utils_Tuple2("Rscr", "\u211B"), - _Utils_Tuple2("rsh", "\u21B1"), - _Utils_Tuple2("Rsh", "\u21B1"), - _Utils_Tuple2("rsqb", "]"), - _Utils_Tuple2("rsquo", "\u2019"), - _Utils_Tuple2("rsquor", "\u2019"), - _Utils_Tuple2("rthree", "\u22CC"), - _Utils_Tuple2("rtimes", "\u22CA"), - _Utils_Tuple2("rtri", "\u25B9"), - _Utils_Tuple2("rtrie", "\u22B5"), - _Utils_Tuple2("rtrif", "\u25B8"), - _Utils_Tuple2("rtriltri", "\u29CE"), - _Utils_Tuple2("RuleDelayed", "\u29F4"), - _Utils_Tuple2("ruluhar", "\u2968"), - _Utils_Tuple2("rx", "\u211E"), - _Utils_Tuple2("Sacute", "\u015A"), - _Utils_Tuple2("sacute", "\u015B"), - _Utils_Tuple2("sbquo", "\u201A"), - _Utils_Tuple2("scap", "\u2AB8"), - _Utils_Tuple2("Scaron", "\u0160"), - _Utils_Tuple2("scaron", "\u0161"), - _Utils_Tuple2("Sc", "\u2ABC"), - _Utils_Tuple2("sc", "\u227B"), - _Utils_Tuple2("sccue", "\u227D"), - _Utils_Tuple2("sce", "\u2AB0"), - _Utils_Tuple2("scE", "\u2AB4"), - _Utils_Tuple2("Scedil", "\u015E"), - _Utils_Tuple2("scedil", "\u015F"), - _Utils_Tuple2("Scirc", "\u015C"), - _Utils_Tuple2("scirc", "\u015D"), - _Utils_Tuple2("scnap", "\u2ABA"), - _Utils_Tuple2("scnE", "\u2AB6"), - _Utils_Tuple2("scnsim", "\u22E9"), - _Utils_Tuple2("scpolint", "\u2A13"), - _Utils_Tuple2("scsim", "\u227F"), - _Utils_Tuple2("Scy", "\u0421"), - _Utils_Tuple2("scy", "\u0441"), - _Utils_Tuple2("sdotb", "\u22A1"), - _Utils_Tuple2("sdot", "\u22C5"), - _Utils_Tuple2("sdote", "\u2A66"), - _Utils_Tuple2("searhk", "\u2925"), - _Utils_Tuple2("searr", "\u2198"), - _Utils_Tuple2("seArr", "\u21D8"), - _Utils_Tuple2("searrow", "\u2198"), - _Utils_Tuple2("sect", "\xA7"), - _Utils_Tuple2("semi", ";"), - _Utils_Tuple2("seswar", "\u2929"), - _Utils_Tuple2("setminus", "\u2216"), - _Utils_Tuple2("setmn", "\u2216"), - _Utils_Tuple2("sext", "\u2736"), - _Utils_Tuple2("Sfr", "\u{1D516}"), - _Utils_Tuple2("sfr", "\u{1D530}"), - _Utils_Tuple2("sfrown", "\u2322"), - _Utils_Tuple2("sharp", "\u266F"), - _Utils_Tuple2("SHCHcy", "\u0429"), - _Utils_Tuple2("shchcy", "\u0449"), - _Utils_Tuple2("SHcy", "\u0428"), - _Utils_Tuple2("shcy", "\u0448"), - _Utils_Tuple2("ShortDownArrow", "\u2193"), - _Utils_Tuple2("ShortLeftArrow", "\u2190"), - _Utils_Tuple2("shortmid", "\u2223"), - _Utils_Tuple2("shortparallel", "\u2225"), - _Utils_Tuple2("ShortRightArrow", "\u2192"), - _Utils_Tuple2("ShortUpArrow", "\u2191"), - _Utils_Tuple2("shy", "\xAD"), - _Utils_Tuple2("Sigma", "\u03A3"), - _Utils_Tuple2("sigma", "\u03C3"), - _Utils_Tuple2("sigmaf", "\u03C2"), - _Utils_Tuple2("sigmav", "\u03C2"), - _Utils_Tuple2("sim", "\u223C"), - _Utils_Tuple2("simdot", "\u2A6A"), - _Utils_Tuple2("sime", "\u2243"), - _Utils_Tuple2("simeq", "\u2243"), - _Utils_Tuple2("simg", "\u2A9E"), - _Utils_Tuple2("simgE", "\u2AA0"), - _Utils_Tuple2("siml", "\u2A9D"), - _Utils_Tuple2("simlE", "\u2A9F"), - _Utils_Tuple2("simne", "\u2246"), - _Utils_Tuple2("simplus", "\u2A24"), - _Utils_Tuple2("simrarr", "\u2972"), - _Utils_Tuple2("slarr", "\u2190"), - _Utils_Tuple2("SmallCircle", "\u2218"), - _Utils_Tuple2("smallsetminus", "\u2216"), - _Utils_Tuple2("smashp", "\u2A33"), - _Utils_Tuple2("smeparsl", "\u29E4"), - _Utils_Tuple2("smid", "\u2223"), - _Utils_Tuple2("smile", "\u2323"), - _Utils_Tuple2("smt", "\u2AAA"), - _Utils_Tuple2("smte", "\u2AAC"), - _Utils_Tuple2("smtes", "\u2AAC\uFE00"), - _Utils_Tuple2("SOFTcy", "\u042C"), - _Utils_Tuple2("softcy", "\u044C"), - _Utils_Tuple2("solbar", "\u233F"), - _Utils_Tuple2("solb", "\u29C4"), - _Utils_Tuple2("sol", "/"), - _Utils_Tuple2("Sopf", "\u{1D54A}"), - _Utils_Tuple2("sopf", "\u{1D564}"), - _Utils_Tuple2("spades", "\u2660"), - _Utils_Tuple2("spadesuit", "\u2660"), - _Utils_Tuple2("spar", "\u2225"), - _Utils_Tuple2("sqcap", "\u2293"), - _Utils_Tuple2("sqcaps", "\u2293\uFE00"), - _Utils_Tuple2("sqcup", "\u2294"), - _Utils_Tuple2("sqcups", "\u2294\uFE00"), - _Utils_Tuple2("Sqrt", "\u221A"), - _Utils_Tuple2("sqsub", "\u228F"), - _Utils_Tuple2("sqsube", "\u2291"), - _Utils_Tuple2("sqsubset", "\u228F"), - _Utils_Tuple2("sqsubseteq", "\u2291"), - _Utils_Tuple2("sqsup", "\u2290"), - _Utils_Tuple2("sqsupe", "\u2292"), - _Utils_Tuple2("sqsupset", "\u2290"), - _Utils_Tuple2("sqsupseteq", "\u2292"), - _Utils_Tuple2("square", "\u25A1"), - _Utils_Tuple2("Square", "\u25A1"), - _Utils_Tuple2("SquareIntersection", "\u2293"), - _Utils_Tuple2("SquareSubset", "\u228F"), - _Utils_Tuple2("SquareSubsetEqual", "\u2291"), - _Utils_Tuple2("SquareSuperset", "\u2290"), - _Utils_Tuple2("SquareSupersetEqual", "\u2292"), - _Utils_Tuple2("SquareUnion", "\u2294"), - _Utils_Tuple2("squarf", "\u25AA"), - _Utils_Tuple2("squ", "\u25A1"), - _Utils_Tuple2("squf", "\u25AA"), - _Utils_Tuple2("srarr", "\u2192"), - _Utils_Tuple2("Sscr", "\u{1D4AE}"), - _Utils_Tuple2("sscr", "\u{1D4C8}"), - _Utils_Tuple2("ssetmn", "\u2216"), - _Utils_Tuple2("ssmile", "\u2323"), - _Utils_Tuple2("sstarf", "\u22C6"), - _Utils_Tuple2("Star", "\u22C6"), - _Utils_Tuple2("star", "\u2606"), - _Utils_Tuple2("starf", "\u2605"), - _Utils_Tuple2("straightepsilon", "\u03F5"), - _Utils_Tuple2("straightphi", "\u03D5"), - _Utils_Tuple2("strns", "\xAF"), - _Utils_Tuple2("sub", "\u2282"), - _Utils_Tuple2("Sub", "\u22D0"), - _Utils_Tuple2("subdot", "\u2ABD"), - _Utils_Tuple2("subE", "\u2AC5"), - _Utils_Tuple2("sube", "\u2286"), - _Utils_Tuple2("subedot", "\u2AC3"), - _Utils_Tuple2("submult", "\u2AC1"), - _Utils_Tuple2("subnE", "\u2ACB"), - _Utils_Tuple2("subne", "\u228A"), - _Utils_Tuple2("subplus", "\u2ABF"), - _Utils_Tuple2("subrarr", "\u2979"), - _Utils_Tuple2("subset", "\u2282"), - _Utils_Tuple2("Subset", "\u22D0"), - _Utils_Tuple2("subseteq", "\u2286"), - _Utils_Tuple2("subseteqq", "\u2AC5"), - _Utils_Tuple2("SubsetEqual", "\u2286"), - _Utils_Tuple2("subsetneq", "\u228A"), - _Utils_Tuple2("subsetneqq", "\u2ACB"), - _Utils_Tuple2("subsim", "\u2AC7"), - _Utils_Tuple2("subsub", "\u2AD5"), - _Utils_Tuple2("subsup", "\u2AD3"), - _Utils_Tuple2("succapprox", "\u2AB8"), - _Utils_Tuple2("succ", "\u227B"), - _Utils_Tuple2("succcurlyeq", "\u227D"), - _Utils_Tuple2("Succeeds", "\u227B"), - _Utils_Tuple2("SucceedsEqual", "\u2AB0"), - _Utils_Tuple2("SucceedsSlantEqual", "\u227D"), - _Utils_Tuple2("SucceedsTilde", "\u227F"), - _Utils_Tuple2("succeq", "\u2AB0"), - _Utils_Tuple2("succnapprox", "\u2ABA"), - _Utils_Tuple2("succneqq", "\u2AB6"), - _Utils_Tuple2("succnsim", "\u22E9"), - _Utils_Tuple2("succsim", "\u227F"), - _Utils_Tuple2("SuchThat", "\u220B"), - _Utils_Tuple2("sum", "\u2211"), - _Utils_Tuple2("Sum", "\u2211"), - _Utils_Tuple2("sung", "\u266A"), - _Utils_Tuple2("sup1", "\xB9"), - _Utils_Tuple2("sup2", "\xB2"), - _Utils_Tuple2("sup3", "\xB3"), - _Utils_Tuple2("sup", "\u2283"), - _Utils_Tuple2("Sup", "\u22D1"), - _Utils_Tuple2("supdot", "\u2ABE"), - _Utils_Tuple2("supdsub", "\u2AD8"), - _Utils_Tuple2("supE", "\u2AC6"), - _Utils_Tuple2("supe", "\u2287"), - _Utils_Tuple2("supedot", "\u2AC4"), - _Utils_Tuple2("Superset", "\u2283"), - _Utils_Tuple2("SupersetEqual", "\u2287"), - _Utils_Tuple2("suphsol", "\u27C9"), - _Utils_Tuple2("suphsub", "\u2AD7"), - _Utils_Tuple2("suplarr", "\u297B"), - _Utils_Tuple2("supmult", "\u2AC2"), - _Utils_Tuple2("supnE", "\u2ACC"), - _Utils_Tuple2("supne", "\u228B"), - _Utils_Tuple2("supplus", "\u2AC0"), - _Utils_Tuple2("supset", "\u2283"), - _Utils_Tuple2("Supset", "\u22D1"), - _Utils_Tuple2("supseteq", "\u2287"), - _Utils_Tuple2("supseteqq", "\u2AC6"), - _Utils_Tuple2("supsetneq", "\u228B"), - _Utils_Tuple2("supsetneqq", "\u2ACC"), - _Utils_Tuple2("supsim", "\u2AC8"), - _Utils_Tuple2("supsub", "\u2AD4"), - _Utils_Tuple2("supsup", "\u2AD6"), - _Utils_Tuple2("swarhk", "\u2926"), - _Utils_Tuple2("swarr", "\u2199"), - _Utils_Tuple2("swArr", "\u21D9"), - _Utils_Tuple2("swarrow", "\u2199"), - _Utils_Tuple2("swnwar", "\u292A"), - _Utils_Tuple2("szlig", "\xDF"), - _Utils_Tuple2("Tab", " "), - _Utils_Tuple2("target", "\u2316"), - _Utils_Tuple2("Tau", "\u03A4"), - _Utils_Tuple2("tau", "\u03C4"), - _Utils_Tuple2("tbrk", "\u23B4"), - _Utils_Tuple2("Tcaron", "\u0164"), - _Utils_Tuple2("tcaron", "\u0165"), - _Utils_Tuple2("Tcedil", "\u0162"), - _Utils_Tuple2("tcedil", "\u0163"), - _Utils_Tuple2("Tcy", "\u0422"), - _Utils_Tuple2("tcy", "\u0442"), - _Utils_Tuple2("tdot", "\u20DB"), - _Utils_Tuple2("telrec", "\u2315"), - _Utils_Tuple2("Tfr", "\u{1D517}"), - _Utils_Tuple2("tfr", "\u{1D531}"), - _Utils_Tuple2("there4", "\u2234"), - _Utils_Tuple2("therefore", "\u2234"), - _Utils_Tuple2("Therefore", "\u2234"), - _Utils_Tuple2("Theta", "\u0398"), - _Utils_Tuple2("theta", "\u03B8"), - _Utils_Tuple2("thetasym", "\u03D1"), - _Utils_Tuple2("thetav", "\u03D1"), - _Utils_Tuple2("thickapprox", "\u2248"), - _Utils_Tuple2("thicksim", "\u223C"), - _Utils_Tuple2("ThickSpace", "\u205F\u200A"), - _Utils_Tuple2("ThinSpace", "\u2009"), - _Utils_Tuple2("thinsp", "\u2009"), - _Utils_Tuple2("thkap", "\u2248"), - _Utils_Tuple2("thksim", "\u223C"), - _Utils_Tuple2("THORN", "\xDE"), - _Utils_Tuple2("thorn", "\xFE"), - _Utils_Tuple2("tilde", "\u02DC"), - _Utils_Tuple2("Tilde", "\u223C"), - _Utils_Tuple2("TildeEqual", "\u2243"), - _Utils_Tuple2("TildeFullEqual", "\u2245"), - _Utils_Tuple2("TildeTilde", "\u2248"), - _Utils_Tuple2("timesbar", "\u2A31"), - _Utils_Tuple2("timesb", "\u22A0"), - _Utils_Tuple2("times", "\xD7"), - _Utils_Tuple2("timesd", "\u2A30"), - _Utils_Tuple2("tint", "\u222D"), - _Utils_Tuple2("toea", "\u2928"), - _Utils_Tuple2("topbot", "\u2336"), - _Utils_Tuple2("topcir", "\u2AF1"), - _Utils_Tuple2("top", "\u22A4"), - _Utils_Tuple2("Topf", "\u{1D54B}"), - _Utils_Tuple2("topf", "\u{1D565}"), - _Utils_Tuple2("topfork", "\u2ADA"), - _Utils_Tuple2("tosa", "\u2929"), - _Utils_Tuple2("tprime", "\u2034"), - _Utils_Tuple2("trade", "\u2122"), - _Utils_Tuple2("TRADE", "\u2122"), - _Utils_Tuple2("triangle", "\u25B5"), - _Utils_Tuple2("triangledown", "\u25BF"), - _Utils_Tuple2("triangleleft", "\u25C3"), - _Utils_Tuple2("trianglelefteq", "\u22B4"), - _Utils_Tuple2("triangleq", "\u225C"), - _Utils_Tuple2("triangleright", "\u25B9"), - _Utils_Tuple2("trianglerighteq", "\u22B5"), - _Utils_Tuple2("tridot", "\u25EC"), - _Utils_Tuple2("trie", "\u225C"), - _Utils_Tuple2("triminus", "\u2A3A"), - _Utils_Tuple2("TripleDot", "\u20DB"), - _Utils_Tuple2("triplus", "\u2A39"), - _Utils_Tuple2("trisb", "\u29CD"), - _Utils_Tuple2("tritime", "\u2A3B"), - _Utils_Tuple2("trpezium", "\u23E2"), - _Utils_Tuple2("Tscr", "\u{1D4AF}"), - _Utils_Tuple2("tscr", "\u{1D4C9}"), - _Utils_Tuple2("TScy", "\u0426"), - _Utils_Tuple2("tscy", "\u0446"), - _Utils_Tuple2("TSHcy", "\u040B"), - _Utils_Tuple2("tshcy", "\u045B"), - _Utils_Tuple2("Tstrok", "\u0166"), - _Utils_Tuple2("tstrok", "\u0167"), - _Utils_Tuple2("twixt", "\u226C"), - _Utils_Tuple2("twoheadleftarrow", "\u219E"), - _Utils_Tuple2("twoheadrightarrow", "\u21A0"), - _Utils_Tuple2("Uacute", "\xDA"), - _Utils_Tuple2("uacute", "\xFA"), - _Utils_Tuple2("uarr", "\u2191"), - _Utils_Tuple2("Uarr", "\u219F"), - _Utils_Tuple2("uArr", "\u21D1"), - _Utils_Tuple2("Uarrocir", "\u2949"), - _Utils_Tuple2("Ubrcy", "\u040E"), - _Utils_Tuple2("ubrcy", "\u045E"), - _Utils_Tuple2("Ubreve", "\u016C"), - _Utils_Tuple2("ubreve", "\u016D"), - _Utils_Tuple2("Ucirc", "\xDB"), - _Utils_Tuple2("ucirc", "\xFB"), - _Utils_Tuple2("Ucy", "\u0423"), - _Utils_Tuple2("ucy", "\u0443"), - _Utils_Tuple2("udarr", "\u21C5"), - _Utils_Tuple2("Udblac", "\u0170"), - _Utils_Tuple2("udblac", "\u0171"), - _Utils_Tuple2("udhar", "\u296E"), - _Utils_Tuple2("ufisht", "\u297E"), - _Utils_Tuple2("Ufr", "\u{1D518}"), - _Utils_Tuple2("ufr", "\u{1D532}"), - _Utils_Tuple2("Ugrave", "\xD9"), - _Utils_Tuple2("ugrave", "\xF9"), - _Utils_Tuple2("uHar", "\u2963"), - _Utils_Tuple2("uharl", "\u21BF"), - _Utils_Tuple2("uharr", "\u21BE"), - _Utils_Tuple2("uhblk", "\u2580"), - _Utils_Tuple2("ulcorn", "\u231C"), - _Utils_Tuple2("ulcorner", "\u231C"), - _Utils_Tuple2("ulcrop", "\u230F"), - _Utils_Tuple2("ultri", "\u25F8"), - _Utils_Tuple2("Umacr", "\u016A"), - _Utils_Tuple2("umacr", "\u016B"), - _Utils_Tuple2("uml", "\xA8"), - _Utils_Tuple2("UnderBar", "_"), - _Utils_Tuple2("UnderBrace", "\u23DF"), - _Utils_Tuple2("UnderBracket", "\u23B5"), - _Utils_Tuple2("UnderParenthesis", "\u23DD"), - _Utils_Tuple2("Union", "\u22C3"), - _Utils_Tuple2("UnionPlus", "\u228E"), - _Utils_Tuple2("Uogon", "\u0172"), - _Utils_Tuple2("uogon", "\u0173"), - _Utils_Tuple2("Uopf", "\u{1D54C}"), - _Utils_Tuple2("uopf", "\u{1D566}"), - _Utils_Tuple2("UpArrowBar", "\u2912"), - _Utils_Tuple2("uparrow", "\u2191"), - _Utils_Tuple2("UpArrow", "\u2191"), - _Utils_Tuple2("Uparrow", "\u21D1"), - _Utils_Tuple2("UpArrowDownArrow", "\u21C5"), - _Utils_Tuple2("updownarrow", "\u2195"), - _Utils_Tuple2("UpDownArrow", "\u2195"), - _Utils_Tuple2("Updownarrow", "\u21D5"), - _Utils_Tuple2("UpEquilibrium", "\u296E"), - _Utils_Tuple2("upharpoonleft", "\u21BF"), - _Utils_Tuple2("upharpoonright", "\u21BE"), - _Utils_Tuple2("uplus", "\u228E"), - _Utils_Tuple2("UpperLeftArrow", "\u2196"), - _Utils_Tuple2("UpperRightArrow", "\u2197"), - _Utils_Tuple2("upsi", "\u03C5"), - _Utils_Tuple2("Upsi", "\u03D2"), - _Utils_Tuple2("upsih", "\u03D2"), - _Utils_Tuple2("Upsilon", "\u03A5"), - _Utils_Tuple2("upsilon", "\u03C5"), - _Utils_Tuple2("UpTeeArrow", "\u21A5"), - _Utils_Tuple2("UpTee", "\u22A5"), - _Utils_Tuple2("upuparrows", "\u21C8"), - _Utils_Tuple2("urcorn", "\u231D"), - _Utils_Tuple2("urcorner", "\u231D"), - _Utils_Tuple2("urcrop", "\u230E"), - _Utils_Tuple2("Uring", "\u016E"), - _Utils_Tuple2("uring", "\u016F"), - _Utils_Tuple2("urtri", "\u25F9"), - _Utils_Tuple2("Uscr", "\u{1D4B0}"), - _Utils_Tuple2("uscr", "\u{1D4CA}"), - _Utils_Tuple2("utdot", "\u22F0"), - _Utils_Tuple2("Utilde", "\u0168"), - _Utils_Tuple2("utilde", "\u0169"), - _Utils_Tuple2("utri", "\u25B5"), - _Utils_Tuple2("utrif", "\u25B4"), - _Utils_Tuple2("uuarr", "\u21C8"), - _Utils_Tuple2("Uuml", "\xDC"), - _Utils_Tuple2("uuml", "\xFC"), - _Utils_Tuple2("uwangle", "\u29A7"), - _Utils_Tuple2("vangrt", "\u299C"), - _Utils_Tuple2("varepsilon", "\u03F5"), - _Utils_Tuple2("varkappa", "\u03F0"), - _Utils_Tuple2("varnothing", "\u2205"), - _Utils_Tuple2("varphi", "\u03D5"), - _Utils_Tuple2("varpi", "\u03D6"), - _Utils_Tuple2("varpropto", "\u221D"), - _Utils_Tuple2("varr", "\u2195"), - _Utils_Tuple2("vArr", "\u21D5"), - _Utils_Tuple2("varrho", "\u03F1"), - _Utils_Tuple2("varsigma", "\u03C2"), - _Utils_Tuple2("varsubsetneq", "\u228A\uFE00"), - _Utils_Tuple2("varsubsetneqq", "\u2ACB\uFE00"), - _Utils_Tuple2("varsupsetneq", "\u228B\uFE00"), - _Utils_Tuple2("varsupsetneqq", "\u2ACC\uFE00"), - _Utils_Tuple2("vartheta", "\u03D1"), - _Utils_Tuple2("vartriangleleft", "\u22B2"), - _Utils_Tuple2("vartriangleright", "\u22B3"), - _Utils_Tuple2("vBar", "\u2AE8"), - _Utils_Tuple2("Vbar", "\u2AEB"), - _Utils_Tuple2("vBarv", "\u2AE9"), - _Utils_Tuple2("Vcy", "\u0412"), - _Utils_Tuple2("vcy", "\u0432"), - _Utils_Tuple2("vdash", "\u22A2"), - _Utils_Tuple2("vDash", "\u22A8"), - _Utils_Tuple2("Vdash", "\u22A9"), - _Utils_Tuple2("VDash", "\u22AB"), - _Utils_Tuple2("Vdashl", "\u2AE6"), - _Utils_Tuple2("veebar", "\u22BB"), - _Utils_Tuple2("vee", "\u2228"), - _Utils_Tuple2("Vee", "\u22C1"), - _Utils_Tuple2("veeeq", "\u225A"), - _Utils_Tuple2("vellip", "\u22EE"), - _Utils_Tuple2("verbar", "|"), - _Utils_Tuple2("Verbar", "\u2016"), - _Utils_Tuple2("vert", "|"), - _Utils_Tuple2("Vert", "\u2016"), - _Utils_Tuple2("VerticalBar", "\u2223"), - _Utils_Tuple2("VerticalLine", "|"), - _Utils_Tuple2("VerticalSeparator", "\u2758"), - _Utils_Tuple2("VerticalTilde", "\u2240"), - _Utils_Tuple2("VeryThinSpace", "\u200A"), - _Utils_Tuple2("Vfr", "\u{1D519}"), - _Utils_Tuple2("vfr", "\u{1D533}"), - _Utils_Tuple2("vltri", "\u22B2"), - _Utils_Tuple2("vnsub", "\u2282\u20D2"), - _Utils_Tuple2("vnsup", "\u2283\u20D2"), - _Utils_Tuple2("Vopf", "\u{1D54D}"), - _Utils_Tuple2("vopf", "\u{1D567}"), - _Utils_Tuple2("vprop", "\u221D"), - _Utils_Tuple2("vrtri", "\u22B3"), - _Utils_Tuple2("Vscr", "\u{1D4B1}"), - _Utils_Tuple2("vscr", "\u{1D4CB}"), - _Utils_Tuple2("vsubnE", "\u2ACB\uFE00"), - _Utils_Tuple2("vsubne", "\u228A\uFE00"), - _Utils_Tuple2("vsupnE", "\u2ACC\uFE00"), - _Utils_Tuple2("vsupne", "\u228B\uFE00"), - _Utils_Tuple2("Vvdash", "\u22AA"), - _Utils_Tuple2("vzigzag", "\u299A"), - _Utils_Tuple2("Wcirc", "\u0174"), - _Utils_Tuple2("wcirc", "\u0175"), - _Utils_Tuple2("wedbar", "\u2A5F"), - _Utils_Tuple2("wedge", "\u2227"), - _Utils_Tuple2("Wedge", "\u22C0"), - _Utils_Tuple2("wedgeq", "\u2259"), - _Utils_Tuple2("weierp", "\u2118"), - _Utils_Tuple2("Wfr", "\u{1D51A}"), - _Utils_Tuple2("wfr", "\u{1D534}"), - _Utils_Tuple2("Wopf", "\u{1D54E}"), - _Utils_Tuple2("wopf", "\u{1D568}"), - _Utils_Tuple2("wp", "\u2118"), - _Utils_Tuple2("wr", "\u2240"), - _Utils_Tuple2("wreath", "\u2240"), - _Utils_Tuple2("Wscr", "\u{1D4B2}"), - _Utils_Tuple2("wscr", "\u{1D4CC}"), - _Utils_Tuple2("xcap", "\u22C2"), - _Utils_Tuple2("xcirc", "\u25EF"), - _Utils_Tuple2("xcup", "\u22C3"), - _Utils_Tuple2("xdtri", "\u25BD"), - _Utils_Tuple2("Xfr", "\u{1D51B}"), - _Utils_Tuple2("xfr", "\u{1D535}"), - _Utils_Tuple2("xharr", "\u27F7"), - _Utils_Tuple2("xhArr", "\u27FA"), - _Utils_Tuple2("Xi", "\u039E"), - _Utils_Tuple2("xi", "\u03BE"), - _Utils_Tuple2("xlarr", "\u27F5"), - _Utils_Tuple2("xlArr", "\u27F8"), - _Utils_Tuple2("xmap", "\u27FC"), - _Utils_Tuple2("xnis", "\u22FB"), - _Utils_Tuple2("xodot", "\u2A00"), - _Utils_Tuple2("Xopf", "\u{1D54F}"), - _Utils_Tuple2("xopf", "\u{1D569}"), - _Utils_Tuple2("xoplus", "\u2A01"), - _Utils_Tuple2("xotime", "\u2A02"), - _Utils_Tuple2("xrarr", "\u27F6"), - _Utils_Tuple2("xrArr", "\u27F9"), - _Utils_Tuple2("Xscr", "\u{1D4B3}"), - _Utils_Tuple2("xscr", "\u{1D4CD}"), - _Utils_Tuple2("xsqcup", "\u2A06"), - _Utils_Tuple2("xuplus", "\u2A04"), - _Utils_Tuple2("xutri", "\u25B3"), - _Utils_Tuple2("xvee", "\u22C1"), - _Utils_Tuple2("xwedge", "\u22C0"), - _Utils_Tuple2("Yacute", "\xDD"), - _Utils_Tuple2("yacute", "\xFD"), - _Utils_Tuple2("YAcy", "\u042F"), - _Utils_Tuple2("yacy", "\u044F"), - _Utils_Tuple2("Ycirc", "\u0176"), - _Utils_Tuple2("ycirc", "\u0177"), - _Utils_Tuple2("Ycy", "\u042B"), - _Utils_Tuple2("ycy", "\u044B"), - _Utils_Tuple2("yen", "\xA5"), - _Utils_Tuple2("Yfr", "\u{1D51C}"), - _Utils_Tuple2("yfr", "\u{1D536}"), - _Utils_Tuple2("YIcy", "\u0407"), - _Utils_Tuple2("yicy", "\u0457"), - _Utils_Tuple2("Yopf", "\u{1D550}"), - _Utils_Tuple2("yopf", "\u{1D56A}"), - _Utils_Tuple2("Yscr", "\u{1D4B4}"), - _Utils_Tuple2("yscr", "\u{1D4CE}"), - _Utils_Tuple2("YUcy", "\u042E"), - _Utils_Tuple2("yucy", "\u044E"), - _Utils_Tuple2("yuml", "\xFF"), - _Utils_Tuple2("Yuml", "\u0178"), - _Utils_Tuple2("Zacute", "\u0179"), - _Utils_Tuple2("zacute", "\u017A"), - _Utils_Tuple2("Zcaron", "\u017D"), - _Utils_Tuple2("zcaron", "\u017E"), - _Utils_Tuple2("Zcy", "\u0417"), - _Utils_Tuple2("zcy", "\u0437"), - _Utils_Tuple2("Zdot", "\u017B"), - _Utils_Tuple2("zdot", "\u017C"), - _Utils_Tuple2("zeetrf", "\u2128"), - _Utils_Tuple2("ZeroWidthSpace", "\u200B"), - _Utils_Tuple2("Zeta", "\u0396"), - _Utils_Tuple2("zeta", "\u03B6"), - _Utils_Tuple2("zfr", "\u{1D537}"), - _Utils_Tuple2("Zfr", "\u2128"), - _Utils_Tuple2("ZHcy", "\u0416"), - _Utils_Tuple2("zhcy", "\u0436"), - _Utils_Tuple2("zigrarr", "\u21DD"), - _Utils_Tuple2("zopf", "\u{1D56B}"), - _Utils_Tuple2("Zopf", "\u2124"), - _Utils_Tuple2("Zscr", "\u{1D4B5}"), - _Utils_Tuple2("zscr", "\u{1D4CF}"), - _Utils_Tuple2("zwj", "\u200D"), - _Utils_Tuple2("zwnj", "\u200C") + $author$project$View$HtmlRenderer$quotedAttributeParser( + _Utils_chr('"') + ), + $author$project$View$HtmlRenderer$quotedAttributeParser( + _Utils_chr("'") + ), + $elm$parser$Parser$getChompedString( + $author$project$View$HtmlRenderer$chompOneOrMore($author$project$View$HtmlRenderer$isUnquotedAttributeCharacter) + ) ] ) ); - var $hecrj$html_parser$Html$Parser$namedCharacterReference = A2( - $elm$parser$Parser$map, - function(reference) { - return A2( - $elm$core$Maybe$withDefault, - "&" + (reference + ";"), - A2($elm$core$Dict$get, reference, $hecrj$html_parser$Html$Parser$NamedCharacterReferences$dict) - ); - }, - $elm$parser$Parser$getChompedString( - $hecrj$html_parser$Html$Parser$chompOneOrMore($elm$core$Char$isAlpha) - ) - ); - var $elm$core$String$cons = _String_cons; - var $elm$core$String$fromChar = function(_char) { - return A2($elm$core$String$cons, _char, ""); - }; var $elm$core$Char$fromCode = _Char_fromCode; - var $elm$core$Basics$pow = _Basics_pow; - var $rtfeldman$elm_hex$Hex$fromStringHelp = F3( - function(position, chars, accumulated) { - fromStringHelp: - while (true) { - if (!chars.b) { - return $elm$core$Result$Ok(accumulated); - } else { - var _char = chars.a; - var rest = chars.b; - switch (_char.valueOf()) { - case "0": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated; - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "1": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "2": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 2 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "3": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 3 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "4": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 4 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "5": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 5 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "6": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 6 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "7": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 7 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "8": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 8 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "9": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 9 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "a": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 10 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "b": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 11 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "c": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 12 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "d": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 13 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "e": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 14 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - case "f": - var $temp$position = position - 1, $temp$chars = rest, $temp$accumulated = accumulated + 15 * A2($elm$core$Basics$pow, 16, position); - position = $temp$position; - chars = $temp$chars; - accumulated = $temp$accumulated; - continue fromStringHelp; - default: - var nonHex = _char; - return $elm$core$Result$Err( - $elm$core$String$fromChar(nonHex) + " is not a valid hexadecimal character." - ); - } - } - } - } - ); - var $elm$core$Result$map = F2( - function(func, ra) { - if (ra.$ === "Ok") { - var a = ra.a; - return $elm$core$Result$Ok( - func(a) - ); - } else { - var e = ra.a; - return $elm$core$Result$Err(e); - } - } - ); - var $elm$core$List$tail = function(list) { - if (list.b) { - var x = list.a; - var xs = list.b; - return $elm$core$Maybe$Just(xs); - } else { - return $elm$core$Maybe$Nothing; - } - }; - var $rtfeldman$elm_hex$Hex$fromString = function(str) { - if ($elm$core$String$isEmpty(str)) { - return $elm$core$Result$Err("Empty strings are not valid hexadecimal strings."); - } else { - var result = (function() { - if (A2($elm$core$String$startsWith, "-", str)) { - var list = A2( - $elm$core$Maybe$withDefault, - _List_Nil, - $elm$core$List$tail( - $elm$core$String$toList(str) - ) - ); - return A2( - $elm$core$Result$map, - $elm$core$Basics$negate, - A3( - $rtfeldman$elm_hex$Hex$fromStringHelp, - $elm$core$List$length(list) - 1, - list, - 0 - ) - ); - } else { - return A3( - $rtfeldman$elm_hex$Hex$fromStringHelp, - $elm$core$String$length(str) - 1, - $elm$core$String$toList(str), - 0 - ); - } - })(); - var formatError = function(err) { - return A2( - $elm$core$String$join, - " ", - _List_fromArray( - ['"' + (str + '"'), "is not a valid hexadecimal string because", err] - ) - ); - }; - return A2($elm$core$Result$mapError, formatError, result); - } + var $author$project$View$HtmlRenderer$codePointToString = function(codePoint) { + return codePoint >= 0 && codePoint <= 1114111 ? $elm$core$Maybe$Just( + $elm$core$String$fromChar( + $elm$core$Char$fromCode(codePoint) + ) + ) : $elm$core$Maybe$Nothing; }; - var $elm$core$Char$isHexDigit = function(_char) { - var code = $elm$core$Char$toCode(_char); - return 48 <= code && code <= 57 || (65 <= code && code <= 70 || 97 <= code && code <= 102); + var $author$project$View$HtmlRenderer$hexadecimalDigit = function(character) { + return _Utils_cmp( + character, + _Utils_chr("0") + ) > -1 && _Utils_cmp( + character, + _Utils_chr("9") + ) < 1 ? $elm$core$Maybe$Just( + $elm$core$Char$toCode(character) - $elm$core$Char$toCode( + _Utils_chr("0") + ) + ) : _Utils_cmp( + character, + _Utils_chr("a") + ) > -1 && _Utils_cmp( + character, + _Utils_chr("f") + ) < 1 ? $elm$core$Maybe$Just( + 10 + $elm$core$Char$toCode(character) - $elm$core$Char$toCode( + _Utils_chr("a") + ) + ) : _Utils_cmp( + character, + _Utils_chr("A") + ) > -1 && _Utils_cmp( + character, + _Utils_chr("F") + ) < 1 ? $elm$core$Maybe$Just( + 10 + $elm$core$Char$toCode(character) - $elm$core$Char$toCode( + _Utils_chr("A") + ) + ) : $elm$core$Maybe$Nothing; }; - var $hecrj$html_parser$Html$Parser$hexadecimal = A2( - $elm$parser$Parser$andThen, - function(hex) { - var _v0 = $rtfeldman$elm_hex$Hex$fromString( - $elm$core$String$toLower(hex) + var $author$project$View$HtmlRenderer$hexadecimalStep = F2( + function(character, maybeValue) { + var _v0 = _Utils_Tuple2( + maybeValue, + $author$project$View$HtmlRenderer$hexadecimalDigit(character) ); - if (_v0.$ === "Ok") { - var value = _v0.a; - return $elm$parser$Parser$succeed(value); + if (_v0.a.$ === "Just" && _v0.b.$ === "Just") { + var value = _v0.a.a; + var digit = _v0.b.a; + return $elm$core$Maybe$Just(value * 16 + digit); } else { - var error = _v0.a; - return $elm$parser$Parser$problem(error); - } - }, - $elm$parser$Parser$getChompedString( - $hecrj$html_parser$Html$Parser$chompOneOrMore($elm$core$Char$isHexDigit) - ) - ); - var $elm$parser$Parser$ExpectingInt = { $: "ExpectingInt" }; - var $elm$parser$Parser$Advanced$consumeBase = _Parser_consumeBase; - var $elm$parser$Parser$Advanced$consumeBase16 = _Parser_consumeBase16; - var $elm$parser$Parser$Advanced$bumpOffset = F2( - function(newOffset, s) { - return { col: s.col + (newOffset - s.offset), context: s.context, indent: s.indent, offset: newOffset, row: s.row, src: s.src }; - } - ); - var $elm$parser$Parser$Advanced$chompBase10 = _Parser_chompBase10; - var $elm$parser$Parser$Advanced$isAsciiCode = _Parser_isAsciiCode; - var $elm$parser$Parser$Advanced$consumeExp = F2( - function(offset, src) { - if (A3($elm$parser$Parser$Advanced$isAsciiCode, 101, offset, src) || A3($elm$parser$Parser$Advanced$isAsciiCode, 69, offset, src)) { - var eOffset = offset + 1; - var expOffset = A3($elm$parser$Parser$Advanced$isAsciiCode, 43, eOffset, src) || A3($elm$parser$Parser$Advanced$isAsciiCode, 45, eOffset, src) ? eOffset + 1 : eOffset; - var newOffset = A2($elm$parser$Parser$Advanced$chompBase10, expOffset, src); - return _Utils_eq(expOffset, newOffset) ? -newOffset : newOffset; - } else { - return offset; + return $elm$core$Maybe$Nothing; } } ); - var $elm$parser$Parser$Advanced$consumeDotAndExp = F2( - function(offset, src) { - return A3($elm$parser$Parser$Advanced$isAsciiCode, 46, offset, src) ? A2( - $elm$parser$Parser$Advanced$consumeExp, - A2($elm$parser$Parser$Advanced$chompBase10, offset + 1, src), - src - ) : A2($elm$parser$Parser$Advanced$consumeExp, offset, src); - } - ); - var $elm$parser$Parser$Advanced$finalizeInt = F5( - function(invalid, handler, startOffset, _v0, s) { - var endOffset = _v0.a; - var n = _v0.b; - if (handler.$ === "Err") { - var x = handler.a; - return A2( - $elm$parser$Parser$Advanced$Bad, - true, - A2($elm$parser$Parser$Advanced$fromState, s, x) - ); - } else { - var toValue = handler.a; - return _Utils_eq(startOffset, endOffset) ? A2( - $elm$parser$Parser$Advanced$Bad, - _Utils_cmp(s.offset, startOffset) < 0, - A2($elm$parser$Parser$Advanced$fromState, s, invalid) - ) : A3( - $elm$parser$Parser$Advanced$Good, - true, - toValue(n), - A2($elm$parser$Parser$Advanced$bumpOffset, endOffset, s) - ); - } + var $author$project$View$HtmlRenderer$hexadecimalToInt = function(value) { + return $elm$core$String$isEmpty(value) ? $elm$core$Maybe$Nothing : A3( + $elm$core$List$foldl, + $author$project$View$HtmlRenderer$hexadecimalStep, + $elm$core$Maybe$Just(0), + $elm$core$String$toList(value) + ); + }; + var $author$project$View$HtmlRenderer$numericEntityValue = function(reference) { + return A2($elm$core$String$startsWith, "#x", reference) || A2($elm$core$String$startsWith, "#X", reference) ? A2( + $elm$core$Maybe$andThen, + $author$project$View$HtmlRenderer$codePointToString, + $author$project$View$HtmlRenderer$hexadecimalToInt( + A2($elm$core$String$dropLeft, 2, reference) + ) + ) : A2($elm$core$String$startsWith, "#", reference) ? A2( + $elm$core$Maybe$andThen, + $author$project$View$HtmlRenderer$codePointToString, + $elm$core$String$toInt( + A2($elm$core$String$dropLeft, 1, reference) + ) + ) : $elm$core$Maybe$Nothing; + }; + var $author$project$View$HtmlRenderer$entityValue = function(reference) { + switch (reference) { + case "amp": + return $elm$core$Maybe$Just("&"); + case "apos": + return $elm$core$Maybe$Just("'"); + case "copy": + return $elm$core$Maybe$Just("\xA9"); + case "gt": + return $elm$core$Maybe$Just(">"); + case "hellip": + return $elm$core$Maybe$Just("\u2026"); + case "lt": + return $elm$core$Maybe$Just("<"); + case "mdash": + return $elm$core$Maybe$Just("\u2014"); + case "nbsp": + return $elm$core$Maybe$Just("\xA0"); + case "ndash": + return $elm$core$Maybe$Just("\u2013"); + case "quot": + return $elm$core$Maybe$Just('"'); + case "reg": + return $elm$core$Maybe$Just("\xAE"); + default: + return $author$project$View$HtmlRenderer$numericEntityValue(reference); } - ); - var $elm$parser$Parser$Advanced$finalizeFloat = F6( - function(invalid, expecting, intSettings, floatSettings, intPair, s) { - var intOffset = intPair.a; - var floatOffset = A2($elm$parser$Parser$Advanced$consumeDotAndExp, intOffset, s.src); - if (floatOffset < 0) { - return A2( - $elm$parser$Parser$Advanced$Bad, - true, - A4($elm$parser$Parser$Advanced$fromInfo, s.row, s.col - (floatOffset + s.offset), invalid, s.context) - ); - } else { - if (_Utils_eq(s.offset, floatOffset)) { - return A2( - $elm$parser$Parser$Advanced$Bad, - false, - A2($elm$parser$Parser$Advanced$fromState, s, expecting) - ); - } else { - if (_Utils_eq(intOffset, floatOffset)) { - return A5($elm$parser$Parser$Advanced$finalizeInt, invalid, intSettings, s.offset, intPair, s); - } else { - if (floatSettings.$ === "Err") { - var x = floatSettings.a; - return A2( - $elm$parser$Parser$Advanced$Bad, - true, - A2($elm$parser$Parser$Advanced$fromState, s, invalid) - ); - } else { - var toValue = floatSettings.a; - var _v1 = $elm$core$String$toFloat( - A3($elm$core$String$slice, s.offset, floatOffset, s.src) - ); - if (_v1.$ === "Nothing") { - return A2( - $elm$parser$Parser$Advanced$Bad, - true, - A2($elm$parser$Parser$Advanced$fromState, s, invalid) - ); - } else { - var n = _v1.a; - return A3( - $elm$parser$Parser$Advanced$Good, - true, - toValue(n), - A2($elm$parser$Parser$Advanced$bumpOffset, floatOffset, s) - ); - } - } - } - } - } + }; + var $author$project$View$HtmlRenderer$decodeEntityPart = function(part) { + var _v0 = A2($elm$core$String$split, ";", part); + if (_v0.b && _v0.b.b) { + var reference = _v0.a; + var _v1 = _v0.b; + var remainder = _v1.a; + var rest = _v1.b; + return A2( + $elm$core$Maybe$withDefault, + "&" + part, + A2( + $elm$core$Maybe$map, + function(decoded) { + return _Utils_ap( + decoded, + A2( + $elm$core$String$join, + ";", + A2($elm$core$List$cons, remainder, rest) + ) + ); + }, + $author$project$View$HtmlRenderer$entityValue(reference) + ) + ); + } else { + return "&" + part; } - ); - var $elm$parser$Parser$Advanced$number = function(c) { - return $elm$parser$Parser$Advanced$Parser( - function(s) { - if (A3($elm$parser$Parser$Advanced$isAsciiCode, 48, s.offset, s.src)) { - var zeroOffset = s.offset + 1; - var baseOffset = zeroOffset + 1; - return A3($elm$parser$Parser$Advanced$isAsciiCode, 120, zeroOffset, s.src) ? A5( - $elm$parser$Parser$Advanced$finalizeInt, - c.invalid, - c.hex, - baseOffset, - A2($elm$parser$Parser$Advanced$consumeBase16, baseOffset, s.src), - s - ) : A3($elm$parser$Parser$Advanced$isAsciiCode, 111, zeroOffset, s.src) ? A5( - $elm$parser$Parser$Advanced$finalizeInt, - c.invalid, - c.octal, - baseOffset, - A3($elm$parser$Parser$Advanced$consumeBase, 8, baseOffset, s.src), - s - ) : A3($elm$parser$Parser$Advanced$isAsciiCode, 98, zeroOffset, s.src) ? A5( - $elm$parser$Parser$Advanced$finalizeInt, - c.invalid, - c.binary, - baseOffset, - A3($elm$parser$Parser$Advanced$consumeBase, 2, baseOffset, s.src), - s - ) : A6( - $elm$parser$Parser$Advanced$finalizeFloat, - c.invalid, - c.expecting, - c._int, - c._float, - _Utils_Tuple2(zeroOffset, 0), - s - ); - } else { - return A6( - $elm$parser$Parser$Advanced$finalizeFloat, - c.invalid, - c.expecting, - c._int, - c._float, - A3($elm$parser$Parser$Advanced$consumeBase, 10, s.offset, s.src), - s - ); - } - } - ); }; - var $elm$parser$Parser$Advanced$int = F2( - function(expecting, invalid) { - return $elm$parser$Parser$Advanced$number( - { - binary: $elm$core$Result$Err(invalid), - expecting, - _float: $elm$core$Result$Err(invalid), - hex: $elm$core$Result$Err(invalid), - _int: $elm$core$Result$Ok($elm$core$Basics$identity), - invalid, - octal: $elm$core$Result$Err(invalid) - } + var $author$project$View$HtmlRenderer$decodeEntities = function(value) { + var _v0 = A2($elm$core$String$split, "&", value); + if (!_v0.b) { + return value; + } else { + var first = _v0.a; + var remaining = _v0.b; + return A3( + $elm$core$List$foldl, + F2( + function(part, result) { + return _Utils_ap( + result, + $author$project$View$HtmlRenderer$decodeEntityPart(part) + ); + } + ), + first, + remaining ); } - ); - var $elm$parser$Parser$int = A2($elm$parser$Parser$Advanced$int, $elm$parser$Parser$ExpectingInt, $elm$parser$Parser$ExpectingInt); - var $hecrj$html_parser$Html$Parser$numericCharacterReference = (function() { - var codepoint = $elm$parser$Parser$oneOf( - _List_fromArray( - [ - A2( - $elm$parser$Parser$keeper, - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed($elm$core$Basics$identity), - $elm$parser$Parser$chompIf( - function(c) { - return _Utils_eq( - c, - _Utils_chr("x") - ) || _Utils_eq( - c, - _Utils_chr("X") - ); - } - ) - ), - $hecrj$html_parser$Html$Parser$hexadecimal - ), - A2( - $elm$parser$Parser$keeper, - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed($elm$core$Basics$identity), - $elm$parser$Parser$chompWhile( - $elm$core$Basics$eq( - _Utils_chr("0") - ) - ) - ), - $elm$parser$Parser$int - ) - ] - ) - ); + }; + var $author$project$View$HtmlRenderer$attributeValueParser = function(name) { return A2( $elm$parser$Parser$keeper, A2( $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed($elm$core$Basics$identity), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr("#") - ) - ) + $elm$parser$Parser$succeed( + function(value) { + return _Utils_Tuple2( + name, + $author$project$View$HtmlRenderer$decodeEntities(value) + ); + } + ), + $author$project$View$HtmlRenderer$whitespace ), - A2( - $elm$parser$Parser$map, - A2($elm$core$Basics$composeR, $elm$core$Char$fromCode, $elm$core$String$fromChar), - codepoint + $elm$parser$Parser$oneOf( + _List_fromArray( + [ + A2( + $elm$parser$Parser$keeper, + A2( + $elm$parser$Parser$ignorer, + A2( + $elm$parser$Parser$ignorer, + $elm$parser$Parser$succeed($elm$core$Basics$identity), + $elm$parser$Parser$symbol("=") + ), + $author$project$View$HtmlRenderer$whitespace + ), + $author$project$View$HtmlRenderer$attributeStringParser + ), + $elm$parser$Parser$succeed("") + ] + ) ) ); - })(); - var $hecrj$html_parser$Html$Parser$characterReference = A2( - $elm$parser$Parser$keeper, + }; + var $author$project$View$HtmlRenderer$isAttributeNameCharacter = function(character) { + return !($author$project$View$HtmlRenderer$isWhitespace(character) || (_Utils_eq( + character, + _Utils_chr("=") + ) || (_Utils_eq( + character, + _Utils_chr(">") + ) || _Utils_eq( + character, + _Utils_chr("/") + )))); + }; + var $author$project$View$HtmlRenderer$attributeParser = A2( + $elm$parser$Parser$andThen, + $author$project$View$HtmlRenderer$attributeValueParser, A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed($elm$core$Basics$identity), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr("&") - ) - ) - ), - $elm$parser$Parser$oneOf( - _List_fromArray( - [ - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$backtrackable($hecrj$html_parser$Html$Parser$namedCharacterReference), - $hecrj$html_parser$Html$Parser$chompSemicolon - ), - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$backtrackable($hecrj$html_parser$Html$Parser$numericCharacterReference), - $hecrj$html_parser$Html$Parser$chompSemicolon - ), - $elm$parser$Parser$succeed("&") - ] + $elm$parser$Parser$map, + $elm$core$String$toLower, + $elm$parser$Parser$getChompedString( + $author$project$View$HtmlRenderer$chompOneOrMore($author$project$View$HtmlRenderer$isAttributeNameCharacter) ) ) ); - var $hecrj$html_parser$Html$Parser$tagAttributeQuotedValue = function(quote) { - var isQuotedValueChar = function(c) { - return !_Utils_eq(c, quote) && !_Utils_eq( - c, - _Utils_chr("&") - ); - }; - return A2( - $elm$parser$Parser$keeper, - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed($elm$core$Basics$identity), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq(quote) - ) - ), - A2( - $elm$parser$Parser$ignorer, - A2( - $elm$parser$Parser$map, - $elm$core$String$join(""), - $hecrj$html_parser$Html$Parser$many( - $elm$parser$Parser$oneOf( - _List_fromArray( - [ - $elm$parser$Parser$getChompedString( - $hecrj$html_parser$Html$Parser$chompOneOrMore(isQuotedValueChar) - ), - $hecrj$html_parser$Html$Parser$characterReference - ] - ) - ) - ) - ), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq(quote) - ) - ) - ); - }; - var $hecrj$html_parser$Html$Parser$oneOrMore = F2( - function(type_, parser_) { - return A2( - $elm$parser$Parser$loop, - _List_Nil, - function(list) { - return $elm$parser$Parser$oneOf( - _List_fromArray( - [ - A2( - $elm$parser$Parser$map, - function(_new) { - return $elm$parser$Parser$Loop( - A2($elm$core$List$cons, _new, list) - ); - }, - parser_ - ), - $elm$core$List$isEmpty(list) ? $elm$parser$Parser$problem("expecting at least one " + type_) : $elm$parser$Parser$succeed( - $elm$parser$Parser$Done( - $elm$core$List$reverse(list) + var $author$project$View$HtmlRenderer$whitespace1 = A2( + $elm$parser$Parser$ignorer, + A2( + $elm$parser$Parser$ignorer, + $elm$parser$Parser$succeed(_Utils_Tuple0), + $elm$parser$Parser$chompIf($author$project$View$HtmlRenderer$isWhitespace) + ), + $elm$parser$Parser$chompWhile($author$project$View$HtmlRenderer$isWhitespace) + ); + var $author$project$View$HtmlRenderer$startTagStep = F2( + function(name, reversedAttributes) { + return $elm$parser$Parser$oneOf( + _List_fromArray( + [ + A2( + $elm$parser$Parser$map, + function(_v0) { + return $elm$parser$Parser$Done( + A3( + $author$project$View$HtmlRenderer$StartTag, + name, + $elm$core$List$reverse(reversedAttributes), + true ) - ) - ] + ); + }, + $elm$parser$Parser$symbol("/>") + ), + A2( + $elm$parser$Parser$map, + function(_v1) { + return $elm$parser$Parser$Done( + A3( + $author$project$View$HtmlRenderer$StartTag, + name, + $elm$core$List$reverse(reversedAttributes), + false + ) + ); + }, + $elm$parser$Parser$symbol(">") + ), + A2( + $elm$parser$Parser$map, + function(_v2) { + return $elm$parser$Parser$Loop(reversedAttributes); + }, + $author$project$View$HtmlRenderer$whitespace1 + ), + A2( + $elm$parser$Parser$map, + function(attribute) { + return $elm$parser$Parser$Loop( + A2($elm$core$List$cons, attribute, reversedAttributes) + ); + }, + $author$project$View$HtmlRenderer$attributeParser ) - ); - } + ] + ) ); } ); - var $hecrj$html_parser$Html$Parser$tagAttributeUnquotedValue = (function() { - var isUnquotedValueChar = function(c) { - return !$hecrj$html_parser$Html$Parser$isSpaceCharacter(c) && (!_Utils_eq( - c, - _Utils_chr('"') - ) && (!_Utils_eq( - c, - _Utils_chr("'") - ) && (!_Utils_eq( - c, - _Utils_chr("=") - ) && (!_Utils_eq( - c, - _Utils_chr("<") - ) && (!_Utils_eq( - c, - _Utils_chr(">") - ) && (!_Utils_eq( - c, - _Utils_chr("`") - ) && !_Utils_eq( - c, - _Utils_chr("&") - ))))))); - }; + var $author$project$View$HtmlRenderer$startTagTail = function(name) { return A2( - $elm$parser$Parser$map, - $elm$core$String$join(""), - A2( - $hecrj$html_parser$Html$Parser$oneOrMore, - "attribute value", - $elm$parser$Parser$oneOf( - _List_fromArray( - [ - $elm$parser$Parser$getChompedString( - $hecrj$html_parser$Html$Parser$chompOneOrMore(isUnquotedValueChar) - ), - $hecrj$html_parser$Html$Parser$characterReference - ] - ) - ) - ) + $elm$parser$Parser$loop, + _List_Nil, + $author$project$View$HtmlRenderer$startTagStep(name) ); - })(); - var $hecrj$html_parser$Html$Parser$tagAttributeValue = $elm$parser$Parser$oneOf( - _List_fromArray( - [ - A2( - $elm$parser$Parser$keeper, - A2( - $elm$parser$Parser$ignorer, - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed($elm$core$Basics$identity), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr("=") - ) - ) - ), - $elm$parser$Parser$chompWhile($hecrj$html_parser$Html$Parser$isSpaceCharacter) - ), - $elm$parser$Parser$oneOf( - _List_fromArray( - [ - $hecrj$html_parser$Html$Parser$tagAttributeUnquotedValue, - $hecrj$html_parser$Html$Parser$tagAttributeQuotedValue( - _Utils_chr('"') - ), - $hecrj$html_parser$Html$Parser$tagAttributeQuotedValue( - _Utils_chr("'") - ) - ] - ) - ) - ), - $elm$parser$Parser$succeed("") - ] - ) - ); - var $hecrj$html_parser$Html$Parser$tagAttribute = A2( - $elm$parser$Parser$keeper, + }; + var $author$project$View$HtmlRenderer$startTagParser = A2( + $elm$parser$Parser$andThen, + $author$project$View$HtmlRenderer$startTagTail, A2( $elm$parser$Parser$keeper, - $elm$parser$Parser$succeed($elm$core$Tuple$pair), A2( $elm$parser$Parser$ignorer, - $hecrj$html_parser$Html$Parser$tagAttributeName, - $elm$parser$Parser$chompWhile($hecrj$html_parser$Html$Parser$isSpaceCharacter) - ) - ), - A2( - $elm$parser$Parser$ignorer, - $hecrj$html_parser$Html$Parser$tagAttributeValue, - $elm$parser$Parser$chompWhile($hecrj$html_parser$Html$Parser$isSpaceCharacter) + $elm$parser$Parser$succeed($elm$core$Basics$identity), + $elm$parser$Parser$symbol("<") + ), + $author$project$View$HtmlRenderer$tagNameParser + ) + ); + var $author$project$View$HtmlRenderer$tagParser = $elm$parser$Parser$oneOf( + _List_fromArray( + [$author$project$View$HtmlRenderer$endTagParser, $author$project$View$HtmlRenderer$startTagParser] ) ); - var $hecrj$html_parser$Html$Parser$tagAttributes = $hecrj$html_parser$Html$Parser$many($hecrj$html_parser$Html$Parser$tagAttribute); - var $hecrj$html_parser$Html$Parser$tagName = A2( + var $author$project$View$HtmlRenderer$textParser = A2( $elm$parser$Parser$map, - $elm$core$String$toLower, + A2($elm$core$Basics$composeR, $author$project$View$HtmlRenderer$decodeEntities, $author$project$View$HtmlRenderer$TextToken), $elm$parser$Parser$getChompedString( - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$chompIf($elm$core$Char$isAlphaNum), - $elm$parser$Parser$chompWhile( - function(c) { - return $elm$core$Char$isAlphaNum(c) || _Utils_eq( - c, - _Utils_chr("-") - ); - } + $author$project$View$HtmlRenderer$chompOneOrMore( + $elm$core$Basics$neq( + _Utils_chr("<") ) ) ) ); - var $hecrj$html_parser$Html$Parser$Text = function(a) { - return { $: "Text", a }; - }; - var $hecrj$html_parser$Html$Parser$text = A2( - $elm$parser$Parser$map, - A2( - $elm$core$Basics$composeR, - $elm$core$String$join(""), - $hecrj$html_parser$Html$Parser$Text - ), - A2( - $hecrj$html_parser$Html$Parser$oneOrMore, - "text element", - $elm$parser$Parser$oneOf( - _List_fromArray( - [ - $elm$parser$Parser$getChompedString( - $hecrj$html_parser$Html$Parser$chompOneOrMore( - function(c) { - return !_Utils_eq( - c, - _Utils_chr("<") - ) && !_Utils_eq( - c, - _Utils_chr("&") - ); - } - ) - ), - $hecrj$html_parser$Html$Parser$characterReference - ] + var $author$project$View$HtmlRenderer$tokenParser = $elm$parser$Parser$oneOf( + _List_fromArray( + [ + $elm$parser$Parser$backtrackable($author$project$View$HtmlRenderer$commentParser), + A2( + $elm$parser$Parser$map, + function(_v0) { + return $author$project$View$HtmlRenderer$TextToken(""); + }, + $elm$parser$Parser$symbol("-->") + ), + $elm$parser$Parser$backtrackable($author$project$View$HtmlRenderer$tagParser), + $author$project$View$HtmlRenderer$textParser, + A2( + $elm$parser$Parser$map, + function(_v1) { + return $author$project$View$HtmlRenderer$TextToken("<"); + }, + $elm$parser$Parser$symbol("<") ) - ) + ] ) ); - function $hecrj$html_parser$Html$Parser$cyclic$node() { + var $author$project$View$HtmlRenderer$documentStep = function(reversedTokens) { return $elm$parser$Parser$oneOf( _List_fromArray( [ - $hecrj$html_parser$Html$Parser$text, - $hecrj$html_parser$Html$Parser$comment, - $hecrj$html_parser$Html$Parser$cyclic$element() - ] - ) - ); - } - function $hecrj$html_parser$Html$Parser$cyclic$element() { - return A2( - $elm$parser$Parser$andThen, - function(_v0) { - var name = _v0.a; - var attributes = _v0.b; - return $hecrj$html_parser$Html$Parser$isVoidElement(name) ? A2( - $elm$parser$Parser$ignorer, - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed( - A3($hecrj$html_parser$Html$Parser$Element, name, attributes, _List_Nil) - ), - $elm$parser$Parser$oneOf( - _List_fromArray( - [ - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr("/") - ) - ), - $elm$parser$Parser$succeed(_Utils_Tuple0) - ] - ) - ) - ), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr(">") - ) - ) - ) : A2( - $elm$parser$Parser$keeper, - A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed( - A2($hecrj$html_parser$Html$Parser$Element, name, attributes) - ), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr(">") - ) - ) - ), - A2( - $elm$parser$Parser$ignorer, - $hecrj$html_parser$Html$Parser$many( - $elm$parser$Parser$backtrackable( - $hecrj$html_parser$Html$Parser$cyclic$node() - ) - ), - $hecrj$html_parser$Html$Parser$closingTag(name) - ) - ); - }, - A2( - $elm$parser$Parser$keeper, - A2( - $elm$parser$Parser$keeper, A2( - $elm$parser$Parser$ignorer, - $elm$parser$Parser$succeed($elm$core$Tuple$pair), - $elm$parser$Parser$chompIf( - $elm$core$Basics$eq( - _Utils_chr("<") - ) - ) + $elm$parser$Parser$map, + function(_v0) { + return $elm$parser$Parser$Done( + $elm$core$List$reverse(reversedTokens) + ); + }, + $elm$parser$Parser$end ), A2( - $elm$parser$Parser$ignorer, - $hecrj$html_parser$Html$Parser$tagName, - $elm$parser$Parser$chompWhile($hecrj$html_parser$Html$Parser$isSpaceCharacter) + $elm$parser$Parser$map, + function(token) { + return $elm$parser$Parser$Loop( + A2($elm$core$List$cons, token, reversedTokens) + ); + }, + $author$project$View$HtmlRenderer$tokenParser ) - ), - $hecrj$html_parser$Html$Parser$tagAttributes + ] ) ); - } - try { - $hecrj$html_parser$Html$Parser$node = $hecrj$html_parser$Html$Parser$cyclic$node(); - $hecrj$html_parser$Html$Parser$cyclic$node = function() { - return $hecrj$html_parser$Html$Parser$node; - }; - $hecrj$html_parser$Html$Parser$element = $hecrj$html_parser$Html$Parser$cyclic$element(); - $hecrj$html_parser$Html$Parser$cyclic$element = function() { - return $hecrj$html_parser$Html$Parser$element; - }; - } catch ($) { - throw "Some top-level definitions from `Html.Parser` are causing infinite recursion:\n\n \u250C\u2500\u2500\u2500\u2500\u2500\u2510\n \u2502 node\n \u2502 \u2193\n \u2502 element\n \u2514\u2500\u2500\u2500\u2500\u2500\u2518\n\nThese errors are very tricky, so read https://elm-lang.org/0.19.1/bad-recursion to learn how to fix it!"; - } - var $hecrj$html_parser$Html$Parser$node; - var $hecrj$html_parser$Html$Parser$element; + }; + var $author$project$View$HtmlRenderer$documentParser = A2($elm$parser$Parser$loop, _List_Nil, $author$project$View$HtmlRenderer$documentStep); + var $author$project$View$HtmlRenderer$emptyTree = { openElements: _List_Nil, roots: _List_Nil }; var $elm$parser$Parser$DeadEnd = F3( function(row, col, problem) { return { col, problem, row }; @@ -27254,178 +26266,133 @@ } } ); - var $hecrj$html_parser$Html$Parser$run = function(str) { - return $elm$core$String$isEmpty(str) ? $elm$core$Result$Ok(_List_Nil) : A2( - $elm$parser$Parser$run, - A2($hecrj$html_parser$Html$Parser$oneOrMore, "node", $hecrj$html_parser$Html$Parser$node), - str - ); - }; - var $author$project$View$HtmlRenderer$isAllowedTag = function(tag) { + var $author$project$View$HtmlRenderer$isAllowedTag = function(name) { return A2( $elm$core$List$member, - tag, + name, _List_fromArray( ["div", "p", "br", "em", "i", "strong", "b", "a", "ul", "ol", "li", "dl", "dt", "dd", "span", "img"] ) ); }; - var $author$project$View$HtmlRenderer$ensureAnchorDefaults = function(attrs) { - var hasTarget = A2( - $elm$core$List$any, - function(attr) { - return attr.a === "target"; - }, - attrs - ); - var hasRel = A2( - $elm$core$List$any, - function(attr) { - return attr.a === "rel"; - }, - attrs - ); - return (function(current) { - return hasRel ? current : A2( - $elm$core$List$cons, - _Utils_Tuple2("rel", "noopener noreferrer"), - current - ); - })( - (function(current) { - return hasTarget ? current : A2( - $elm$core$List$cons, - _Utils_Tuple2("target", "_blank"), - current - ); - })(attrs) + var $elm$core$String$trim = _String_trim; + var $author$project$View$HtmlRenderer$isSafeUrl = function(value) { + var normalized = $elm$core$String$toLower( + $elm$core$String$trim(value) ); + return A2($elm$core$String$startsWith, "https://", normalized) || (A2($elm$core$String$startsWith, "http://", normalized) || (A2($elm$core$String$startsWith, "mailto:", normalized) || (A2($elm$core$String$startsWith, "tel:", normalized) || (A2($elm$core$String$startsWith, "/", normalized) || (A2($elm$core$String$startsWith, "./", normalized) || (A2($elm$core$String$startsWith, "../", normalized) || (A2($elm$core$String$startsWith, "#", normalized) || (A2($elm$core$String$startsWith, "?", normalized) || !A2($elm$core$String$contains, ":", normalized))))))))); }; - var $author$project$View$HtmlRenderer$sanitizeAnchorAttr = function(attr) { - var _v0 = attr.a; - if (_v0 === "href") { - return $elm$core$Maybe$Just(attr); - } else { - return $elm$core$Maybe$Nothing; - } - }; - var $author$project$View$HtmlRenderer$sanitizeImageAttr = function(attr) { - var _v0 = attr.a; - switch (_v0) { - case "alt": - return $elm$core$Maybe$Just(attr); - case "src": - return $elm$core$Maybe$Just(attr); - default: - return $elm$core$Maybe$Nothing; - } + var $author$project$View$HtmlRenderer$sanitizeAnchorAttribute = function(_v0) { + var name = _v0.a; + var value = _v0.b; + return name === "href" && $author$project$View$HtmlRenderer$isSafeUrl(value) ? $elm$core$Maybe$Just( + _Utils_Tuple2(name, value) + ) : $elm$core$Maybe$Nothing; }; - var $author$project$View$HtmlRenderer$sanitizeAttrs = F2( - function(tag, attrs) { + var $author$project$View$HtmlRenderer$sanitizeAttributes = F2( + function(tag, attributes) { switch (tag) { case "a": - return $author$project$View$HtmlRenderer$ensureAnchorDefaults( - A2($elm$core$List$filterMap, $author$project$View$HtmlRenderer$sanitizeAnchorAttr, attrs) + return _Utils_ap( + A2($elm$core$List$filterMap, $author$project$View$HtmlRenderer$sanitizeAnchorAttribute, attributes), + _List_fromArray( + [ + _Utils_Tuple2("target", "_blank"), + _Utils_Tuple2("rel", "noopener noreferrer") + ] + ) ); case "img": - return A2($elm$core$List$filterMap, $author$project$View$HtmlRenderer$sanitizeImageAttr, attrs); + return A2( + $elm$core$List$filter, + function(_v1) { + var name = _v1.a; + return name === "src" || name === "alt"; + }, + attributes + ); default: return _List_Nil; } } ); - var $author$project$View$HtmlRenderer$sanitizeNode = function(node) { - switch (node.$) { - case "Text": - var textValue = node.a; - return _List_fromArray( - [ - $hecrj$html_parser$Html$Parser$Text(textValue) - ] - ); - case "Element": - var tag = node.a; - var attrs = node.b; - var children = node.c; - return $author$project$View$HtmlRenderer$isAllowedTag(tag) ? _List_fromArray( - [ - A3( - $hecrj$html_parser$Html$Parser$Element, - tag, - A2($author$project$View$HtmlRenderer$sanitizeAttrs, tag, attrs), - $author$project$View$HtmlRenderer$sanitizeNodes(children) - ) - ] - ) : $author$project$View$HtmlRenderer$sanitizeNodes(children); - default: - return _List_Nil; + var $author$project$View$HtmlRenderer$sanitizeNode = function(nodeValue) { + if (nodeValue.$ === "Text") { + var value = nodeValue.a; + return _List_fromArray( + [ + $author$project$View$HtmlRenderer$Text(value) + ] + ); + } else { + var name = nodeValue.a; + var attributes = nodeValue.b; + var children = nodeValue.c; + var sanitizedChildren = $author$project$View$HtmlRenderer$sanitizeNodes(children); + return $author$project$View$HtmlRenderer$isAllowedTag(name) ? _List_fromArray( + [ + A3( + $author$project$View$HtmlRenderer$Element, + name, + A2($author$project$View$HtmlRenderer$sanitizeAttributes, name, attributes), + sanitizedChildren + ) + ] + ) : sanitizedChildren; } }; var $author$project$View$HtmlRenderer$sanitizeNodes = function(nodes) { return A2($elm$core$List$concatMap, $author$project$View$HtmlRenderer$sanitizeNode, nodes); }; - var $hecrj$html_parser$Html$Parser$Util$toAttribute = function(_v0) { + var $author$project$View$HtmlRenderer$parse = function(rawHtml) { + var _v0 = A2($elm$parser$Parser$run, $author$project$View$HtmlRenderer$documentParser, rawHtml); + if (_v0.$ === "Ok") { + var tokens = _v0.a; + return $author$project$View$HtmlRenderer$sanitizeNodes( + $elm$core$List$reverse( + $author$project$View$HtmlRenderer$closeAll( + A3($elm$core$List$foldl, $author$project$View$HtmlRenderer$applyToken, $author$project$View$HtmlRenderer$emptyTree, tokens) + ).roots + ) + ); + } else { + return _List_fromArray( + [ + $author$project$View$HtmlRenderer$Text(rawHtml) + ] + ); + } + }; + var $author$project$View$HtmlRenderer$renderAttribute = function(_v0) { var name = _v0.a; var value = _v0.b; return A2($elm$html$Html$Attributes$attribute, name, value); }; - var $hecrj$html_parser$Html$Parser$Util$toVirtualDom = function(nodes) { - return A2($elm$core$List$map, $hecrj$html_parser$Html$Parser$Util$toVirtualDomEach, nodes); - }; - var $hecrj$html_parser$Html$Parser$Util$toVirtualDomEach = function(node) { - switch (node.$) { - case "Element": - var name = node.a; - var attrs = node.b; - var children = node.c; - return A3( - $elm$html$Html$node, - name, - A2($elm$core$List$map, $hecrj$html_parser$Html$Parser$Util$toAttribute, attrs), - $hecrj$html_parser$Html$Parser$Util$toVirtualDom(children) - ); - case "Text": - var s = node.a; - return $elm$html$Html$text(s); - default: - return $elm$html$Html$text(""); - } + var $author$project$View$HtmlRenderer$renderChildren = function(children) { + return A2($elm$core$List$map, $author$project$View$HtmlRenderer$renderNode, children); }; - var $author$project$View$HtmlRenderer$unwrapRootDiv = function(nodes) { - if (nodes.b && nodes.a.$ === "Element" && nodes.a.a === "div" && !nodes.b.b) { - var _v1 = nodes.a; - var children = _v1.c; - return children; + var $author$project$View$HtmlRenderer$renderNode = function(nodeValue) { + if (nodeValue.$ === "Text") { + var value = nodeValue.a; + return $elm$html$Html$text(value); } else { - return nodes; + var name = nodeValue.a; + var attributes = nodeValue.b; + var children = nodeValue.c; + return A3( + $elm$html$Html$node, + name, + A2($elm$core$List$map, $author$project$View$HtmlRenderer$renderAttribute, attributes), + $author$project$View$HtmlRenderer$renderChildren(children) + ); } }; var $author$project$View$HtmlRenderer$renderHtml = function(rawHtml) { - var renderNodes = function(nodes2) { - return $hecrj$html_parser$Html$Parser$Util$toVirtualDom( - $author$project$View$HtmlRenderer$sanitizeNodes(nodes2) - ); - }; - var normalized = $author$project$View$HtmlRenderer$normalizeHtml(rawHtml); - var _v0 = $hecrj$html_parser$Html$Parser$run(normalized); - if (_v0.$ === "Ok") { - var nodes = _v0.a; - return renderNodes(nodes); - } else { - var _v1 = $hecrj$html_parser$Html$Parser$run("
" + (normalized + "
")); - if (_v1.$ === "Ok") { - var nodes = _v1.a; - return renderNodes( - $author$project$View$HtmlRenderer$unwrapRootDiv(nodes) - ); - } else { - return _List_fromArray( - [ - $elm$html$Html$text(rawHtml) - ] - ); - } - } + return A2( + $elm$core$List$map, + $author$project$View$HtmlRenderer$renderNode, + $author$project$View$HtmlRenderer$parse(rawHtml) + ); }; var $elm$html$Html$Attributes$target = $elm$html$Html$Attributes$stringProperty("target"); var $author$project$View$ManifestInfoModal$viewingDirectionLabel = function(direction) { @@ -28110,14 +27077,6 @@ var $author$project$Msg$UserClickedPageViewImageChoice = function(a) { return { $: "UserClickedPageViewImageChoice", a }; }; - var $author$project$Auth$requiresAuthorization = function(sourceAuth) { - if (sourceAuth.$ === "Discovered") { - var discovery = sourceAuth.a; - return !$elm$core$List$isEmpty(discovery.probes); - } else { - return false; - } - }; var $author$project$Auth$thumbnailCrossOrigin = F2( function(sourceId, model) { var _v0 = A2($elm$core$Dict$get, sourceId, model.sources); @@ -29982,7 +28941,7 @@ { path: "M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z", viewBox: "0 0 512 512" } ); var $author$project$View$Icons$hideSidebar = $author$project$View$Icons$makeSvgIcon( - { path: "M24 64c13.3 0 24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64zm217 71c9.4 9.4 9.4 24.6 0 33.9l-63 63 284.1 0-63-63c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L537 239c9.4 9.4 9.4 24.6 0 33.9L433 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l63-63-284.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L207 135c9.4-9.4 24.6-9.4 33.9 0zM640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z", viewBox: "0 0 640 512" } + { path: "M168 80l24 0 0-48-24 0L24 32 0 32 0 56 0 456l0 24 24 0 144 0 24 0 0-48-24 0L48 432 48 80l120 0zM493.8 273l17-17-17-17-128-128-17-17L314.9 128l17 17 87 87L184 232l-24 0 0 48 24 0 234.9 0-87 87-17 17 33.9 33.9 17-17 128-128z", viewBox: "0 0 512 512" } ); var $author$project$View$PageViewModal$manifestTitleFor = function(model) { return A2( @@ -30011,7 +28970,7 @@ { path: "M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z", viewBox: "0 0 512 512" } ); var $author$project$View$Icons$showSidebar = $author$project$View$Icons$makeSvgIcon( - { path: "M295 401L167 273c-9.4-9.4-9.4-24.6 0-33.9L295 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87L488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-246.1 0 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM168 80L88 80c-22.1 0-40 17.9-40 40l0 272c0 22.1 17.9 40 40 40l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-48.6 0-88-39.4-88-88L0 120C0 71.4 39.4 32 88 32l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z", viewBox: "0 0 512 512" } + { path: "M288 80V432H48V80H288zM512 32H464 48 0V80 432v48H48 464h48V432 80 32zM448 96v48H352V96h96zm-96 96h96v48H352V192zm96 96v48H352V288h96z", viewBox: "0 0 512 512" } ); var $author$project$View$Icons$toFullscreen = $author$project$View$Icons$makeSvgIcon( { path: "M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z", viewBox: "0 0 512 512" } @@ -31674,6 +30633,7 @@ var $author$project$Msg$UserClickedOpenPageView = { $: "UserClickedOpenPageView" }; var $author$project$Msg$UserClickedZoomIn = { $: "UserClickedZoomIn" }; var $author$project$Msg$UserClickedZoomOut = { $: "UserClickedZoomOut" }; + var $author$project$Msg$UserToggledAnnotations = { $: "UserToggledAnnotations" }; var $author$project$Msg$UserToggledFullscreen = { $: "UserToggledFullscreen" }; var $author$project$Msg$UserToggledShiftByOne = { $: "UserToggledShiftByOne" }; var $author$project$Msg$UserToggledSidebar = { $: "UserToggledSidebar" }; @@ -31743,6 +30703,9 @@ })(); return A2($author$project$View$Toolbar$truncateLabel, 140, fullLabelText); }; + var $author$project$View$Icons$hideAnnotations = $author$project$View$Icons$makeSvgIcon( + { path: "M48.4 14.8L29.4 .1 0 38 19 52.7 591.5 497.2l19 14.7L639.9 474l-19-14.7L513.7 376c38.8-36.5 62.3-84 62.3-136C576 125.1 461.4 32 320 32c-68.2 0-130.2 21.7-176 57L48.4 14.8zm135 104.8C218.6 95.5 265.3 80 320 80c124.7 0 208 80.5 208 160c0 38.1-19.2 76.5-52.9 106.1L183.4 119.6zM424.1 430.1l-46-36.3c-18.1 4-37.5 6.2-58 6.2c-26.8 0-52.3-3.9-75.7-11l-13.9-4.2-13.9 4.2-57.6 17.3 7-18.5 10.8-28.9-21.8-21.9c-28-28-42.9-61.8-42.9-96.9c0-16.2 3.4-32.4 10-47.9l-39-30.8C70.7 185.6 64 212.2 64 240c0 49.6 21.3 95.1 56.9 130.8l-19.8 52.7L80 480l57.8-17.3 92.6-27.8c27.9 8.5 58.1 13.1 89.6 13.1c37 0 72.3-6.4 104.1-17.9z", viewBox: "0 0 640 512" } + ); var $author$project$View$Icons$info = $author$project$View$Icons$makeSvgIcon( { path: "M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z", viewBox: "0 0 512 512" } ); @@ -31763,9 +30726,12 @@ var $author$project$View$Icons$shiftRight = $author$project$View$Icons$makeSvgIcon( { path: "M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z", viewBox: "0 0 640 512" } ); + var $author$project$View$Icons$showAnnotations = $author$project$View$Icons$makeSvgIcon( + { path: "M112.7 358.8l-10.8 28.9-7 18.5 57.6-17.3 13.9-4.2 13.9 4.2c23.3 7.1 48.8 11 75.7 11c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 35.1 15 68.9 42.9 96.9l21.8 21.9zm-39 103.9L16 480l21.2-56.5 19.8-52.7C21.3 335.1 0 289.6 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-31.5 0-61.7-4.6-89.6-13.1L73.8 462.7zM144 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM400 304v16H272 192 144V304l64-80 22 27.4L296 160 400 304z", viewBox: "0 0 512 512" } + ); var $author$project$Msg$UserToggledCollectionSidebar = { $: "UserToggledCollectionSidebar" }; var $author$project$View$Icons$showCollection = $author$project$View$Icons$makeSvgIcon( - { path: "M217 401L345 273c9.4-9.4 9.4-24.6 0-33.9L217 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zM344 80l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24z", viewBox: "0 0 512 512" } + { path: "M224 80V432H464V80H224zM0 32H48 464h48V80 432v48H464 48 0V432 80 32zM64 96v48h96V96H64zm96 96H64v48h96V192zM64 288v48h96V288H64z", viewBox: "0 0 512 512" } ); var $author$project$View$Toolbar$viewCollectionSidebarButton = function(model) { var _v0 = model.resourceResponse; @@ -31945,70 +30911,84 @@ ), _Utils_ap( $author$project$View$Toolbar$viewLogoutActions(model), - _List_fromArray( - [ - $author$project$View$Helpers$viewButton( - { - icon: $author$project$View$Icons$pageViewOpen, - isFullscreen: model.fullscreen, - label: "Page View", - onClickMsg: A2($author$project$Utilities$disabledIf, controlsDisabled, $author$project$Msg$UserClickedOpenPageView) - } - ), - $author$project$View$Helpers$viewButton( - { - icon: $author$project$View$Icons$info, - isFullscreen: model.fullscreen, - label: "Manifest Info", - onClickMsg: A2($author$project$Utilities$disabledIf, controlsDisabled, $author$project$Msg$UserClickedOpenManifestInfo) - } - ), - $author$project$View$Helpers$viewButton( - { - icon: _Utils_eq(model.viewMode, $author$project$Model$OneUp) ? $author$project$View$Icons$openingPageView : $author$project$View$Icons$scrollingPageView, - isFullscreen: model.fullscreen, - label: _Utils_eq(model.viewMode, $author$project$Model$OneUp) ? "Two Page" : "One Page", - onClickMsg: A2($author$project$Utilities$disabledIf, controlsDisabled, $author$project$Msg$UserToggledTwoUp) - } - ), - $author$project$View$Helpers$viewButton( - { - icon: model.shiftByOne ? $author$project$View$Icons$shiftLeft : $author$project$View$Icons$shiftRight, - isFullscreen: model.fullscreen, - label: "Shift Pages", - onClickMsg: A2( - $author$project$Utilities$disabledIf, - controlsDisabled || _Utils_eq(model.viewMode, $author$project$Model$OneUp), - $author$project$Msg$UserToggledShiftByOne - ) - } - ), - $author$project$View$Helpers$viewButton( - (function() { - var sidebarVisible = model.isMobile ? model.mobileSidebarOpen : !_Utils_eq(model.sidebarState, $author$project$Model$SidebarHidden); - return { - icon: sidebarVisible ? $author$project$View$Icons$hideSidebar : $author$project$View$Icons$showSidebar, + _Utils_ap( + model.enableAnnotations ? _List_fromArray( + [ + $author$project$View$Helpers$viewButton( + { + icon: model.annotationsVisible ? $author$project$View$Icons$hideAnnotations : $author$project$View$Icons$showAnnotations, isFullscreen: model.fullscreen, - label: sidebarVisible ? "Hide Sidebar" : "Show Sidebar", - onClickMsg: A2($author$project$Utilities$disabledIf, controlsDisabled, $author$project$Msg$UserToggledSidebar) - }; - })() - ), - A2( - $author$project$View$Helpers$viewButtonWithAttributes, - _List_fromArray( - [ - A2($elm$html$Html$Attributes$attribute, "data-diva-action", "fullscreen") - ] + label: model.annotationsVisible ? "Hide Annotations" : "Show Annotations", + onClickMsg: $elm$core$Maybe$Just($author$project$Msg$UserToggledAnnotations) + } + ) + ] + ) : _List_Nil, + _List_fromArray( + [ + $author$project$View$Helpers$viewButton( + { + icon: $author$project$View$Icons$pageViewOpen, + isFullscreen: model.fullscreen, + label: "Page View", + onClickMsg: A2($author$project$Utilities$disabledIf, controlsDisabled, $author$project$Msg$UserClickedOpenPageView) + } ), - { - icon: model.fullscreen ? $author$project$View$Icons$fromFullscreen : $author$project$View$Icons$toFullscreen, - isFullscreen: model.fullscreen, - label: model.fullscreen ? "Exit Full" : "Fullscreen", - onClickMsg: $elm$core$Maybe$Just($author$project$Msg$UserToggledFullscreen) - } - ) - ] + $author$project$View$Helpers$viewButton( + { + icon: $author$project$View$Icons$info, + isFullscreen: model.fullscreen, + label: "Manifest Info", + onClickMsg: A2($author$project$Utilities$disabledIf, controlsDisabled, $author$project$Msg$UserClickedOpenManifestInfo) + } + ), + $author$project$View$Helpers$viewButton( + { + icon: _Utils_eq(model.viewMode, $author$project$Model$OneUp) ? $author$project$View$Icons$openingPageView : $author$project$View$Icons$scrollingPageView, + isFullscreen: model.fullscreen, + label: _Utils_eq(model.viewMode, $author$project$Model$OneUp) ? "Two Page" : "One Page", + onClickMsg: A2($author$project$Utilities$disabledIf, controlsDisabled, $author$project$Msg$UserToggledTwoUp) + } + ), + $author$project$View$Helpers$viewButton( + { + icon: model.shiftByOne ? $author$project$View$Icons$shiftLeft : $author$project$View$Icons$shiftRight, + isFullscreen: model.fullscreen, + label: "Shift Pages", + onClickMsg: A2( + $author$project$Utilities$disabledIf, + controlsDisabled || _Utils_eq(model.viewMode, $author$project$Model$OneUp), + $author$project$Msg$UserToggledShiftByOne + ) + } + ), + $author$project$View$Helpers$viewButton( + (function() { + var sidebarVisible = model.isMobile ? model.mobileSidebarOpen : !_Utils_eq(model.sidebarState, $author$project$Model$SidebarHidden); + return { + icon: sidebarVisible ? $author$project$View$Icons$hideSidebar : $author$project$View$Icons$showSidebar, + isFullscreen: model.fullscreen, + label: sidebarVisible ? "Hide Sidebar" : "Show Sidebar", + onClickMsg: A2($author$project$Utilities$disabledIf, controlsDisabled, $author$project$Msg$UserToggledSidebar) + }; + })() + ), + A2( + $author$project$View$Helpers$viewButtonWithAttributes, + _List_fromArray( + [ + A2($elm$html$Html$Attributes$attribute, "data-diva-action", "fullscreen") + ] + ), + { + icon: model.fullscreen ? $author$project$View$Icons$fromFullscreen : $author$project$View$Icons$toFullscreen, + isFullscreen: model.fullscreen, + label: model.fullscreen ? "Exit Full" : "Fullscreen", + onClickMsg: $elm$core$Maybe$Just($author$project$Msg$UserToggledFullscreen) + } + ) + ] + ) ) ) ) @@ -32228,16 +31208,45 @@ function(initialPage) { return A2( $elm$json$Json$Decode$andThen, - function(acceptHeaders) { - return $elm$json$Json$Decode$succeed( - { acceptHeaders, initialPage, objectData, rootElementId, showSidebar, showTitle, sidebarPanel, sidebarWidth, userLanguage } + function(enableAnnotations) { + return A2( + $elm$json$Json$Decode$andThen, + function(enableAnnotationSelection) { + return A2( + $elm$json$Json$Decode$andThen, + function(annotationServer) { + return A2( + $elm$json$Json$Decode$andThen, + function(acceptHeaders) { + return $elm$json$Json$Decode$succeed( + { acceptHeaders, annotationServer, enableAnnotationSelection, enableAnnotations, initialPage, objectData, rootElementId, showSidebar, showTitle, sidebarPanel, sidebarWidth, userLanguage } + ); + }, + A2( + $elm$json$Json$Decode$field, + "acceptHeaders", + $elm$json$Json$Decode$list($elm$json$Json$Decode$string) + ) + ); + }, + A2( + $elm$json$Json$Decode$field, + "annotationServer", + $elm$json$Json$Decode$oneOf( + _List_fromArray( + [ + $elm$json$Json$Decode$null($elm$core$Maybe$Nothing), + A2($elm$json$Json$Decode$map, $elm$core$Maybe$Just, $elm$json$Json$Decode$string) + ] + ) + ) + ) + ); + }, + A2($elm$json$Json$Decode$field, "enableAnnotationSelection", $elm$json$Json$Decode$bool) ); }, - A2( - $elm$json$Json$Decode$field, - "acceptHeaders", - $elm$json$Json$Decode$list($elm$json$Json$Decode$string) - ) + A2($elm$json$Json$Decode$field, "enableAnnotations", $elm$json$Json$Decode$bool) ); }, A2($elm$json$Json$Decode$field, "initialPage", $elm$json$Json$Decode$value) @@ -32263,7 +31272,7 @@ }, A2($elm$json$Json$Decode$field, "userLanguage", $elm$json$Json$Decode$string) ) - )({ "versions": { "elm": "0.19.1" }, "types": { "message": "Msg.Msg", "aliases": { "IIIF.Presentation.Canvas": { "args": [], "type": "{ id : String.String, label : Maybe.Maybe IIIF.Language.LanguageMap, width : Maybe.Maybe Basics.Int, height : Maybe.Maybe Basics.Int, images : List.List IIIF.Presentation.Image, thumbnail : Maybe.Maybe IIIF.Presentation.Image, viewingLayout : Maybe.Maybe IIIF.Presentation.ViewingLayout }" }, "IIIF.Presentation.HomePage": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, format : IIIF.Presentation.MediaFormats, type_ : IIIF.Presentation.ResourceTypes }" }, "IIIF.Presentation.Image": { "args": [], "type": "{ id : IIIF.Image.ImageUri, label : Maybe.Maybe IIIF.Language.LanguageMap, imageType : IIIF.Presentation.ImageType, service : List.List IIIF.Presentation.ServiceTypes, serviceObjects : List.List Json.Decode.Value }" }, "IIIF.Language.LabelValue": { "args": [], "type": "{ label : IIIF.Language.LanguageMap, value : IIIF.Language.LanguageMap }" }, "IIIF.Language.LanguageMap": { "args": [], "type": "List.List IIIF.Language.LanguageValues" }, "IIIF.Presentation.Logo": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, format : IIIF.Presentation.MediaFormats, type_ : IIIF.Presentation.ResourceTypes, width : Basics.Int, height : Basics.Int, service : Maybe.Maybe (List.List IIIF.Presentation.ServiceObject) }" }, "IIIF.Presentation.Manifest": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, metadata : List.List IIIF.Language.LabelValue, viewingDirection : IIIF.Presentation.ViewingDirection, summary : Maybe.Maybe IIIF.Language.LanguageMap, viewingLayout : IIIF.Presentation.ViewingLayout, canvases : List.List IIIF.Presentation.Canvas, ranges : Maybe.Maybe (List.List IIIF.Presentation.Range), homepage : Maybe.Maybe (List.List IIIF.Presentation.HomePage), logo : Maybe.Maybe IIIF.Presentation.Image, provider : Maybe.Maybe (List.List IIIF.Presentation.Provider), thumbnail : Maybe.Maybe IIIF.Presentation.Image, requiredStatement : Maybe.Maybe IIIF.Presentation.RequiredStatement }" }, "IIIF.Presentation.Provider": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, type_ : IIIF.Presentation.ResourceTypes, homepage : Maybe.Maybe (List.List IIIF.Presentation.HomePage), logo : Maybe.Maybe (List.List IIIF.Presentation.Logo), seeAlso : Maybe.Maybe (List.List IIIF.Presentation.SeeAlso) }" }, "IIIF.Presentation.Range": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, items : List.List IIIF.Presentation.RangeItem, metadata : List.List IIIF.Language.LabelValue }" }, "IIIF.Presentation.RequiredStatement": { "args": [], "type": "{ label : IIIF.Language.LanguageMap, value : IIIF.Language.LanguageMap }" }, "IIIF.Presentation.SeeAlso": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, format : IIIF.Presentation.MediaFormats, type_ : IIIF.Presentation.ResourceTypes }" }, "IIIF.Presentation.ServiceObject": { "args": [], "type": "{ id : String.String, serviceType : IIIF.Presentation.ServiceTypes }" }, "Json.Decode.Value": { "args": [], "type": "Json.Encode.Value" }, "IIIF.Presentation.Collection": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, summary : Maybe.Maybe IIIF.Language.LanguageMap, items : List.List IIIF.Presentation.CollectionItem }" }, "IIIF.Image.ImageRequestParameters": { "args": [], "type": "{ host : String.String, prefix : String.String, region : IIIF.Image.ImageRegion, size : IIIF.Image.ImageSize, rotation : IIIF.Image.ImageRotation, quality : IIIF.Image.ImageQuality, format : IIIF.Image.ImageFormat }" }, "IIIF.Image.ImageServerParameters": { "args": [], "type": "{ host : String.String, prefix : String.String }" } }, "unions": { "Msg.Msg": { "args": [], "tags": { "AuthEvent": ["Auth.Event"], "ClientRequestedLayoutMode": ["String.String"], "ClientRequestedResource": ["String.String", "String.String"], "ClientNotifiedFullscreenChanged": ["Basics.Bool"], "ClientNotifiedPageChanged": ["Basics.Int"], "ClientNotifiedPageChangedInstant": ["Basics.Int"], "ClientNotifiedScrollThumbs": [], "ServerRespondedWithCollectionItem": ["String.String", "Result.Result Http.Error IIIF.Presentation.IIIFResource"], "ServerRespondedWithManifestFromCollection": ["String.String", "Result.Result Http.Error IIIF.Presentation.IIIFManifest"], "ServerRespondedWithResource": ["Result.Result Http.Error IIIF.Presentation.IIIFResource"], "ServerRespondedWithRequestedResource": ["String.String", "String.String", "Result.Result Http.Error IIIF.Presentation.IIIFResource"], "UserAppliedFilterJson": [], "UserChangedZoomLevel": ["Basics.Float"], "UserClickedCloseManifestInfo": [], "UserClickedClosePageView": [], "UserClickedCollectionItem": ["String.String"], "UserClickedManifestItem": ["String.String", "String.String"], "UserClickedOpenManifestInfo": [], "UserClickedOpenPageView": [], "UserClickedPageViewImageChoice": ["Basics.Int"], "UserClickedPageViewNext": [], "UserClickedPageViewPrev": [], "UserClickedRange": ["Maybe.Maybe Basics.Int"], "UserClickedSaveFilteredImage": [], "UserClickedThumbnail": ["Basics.Int"], "UserClickedZoomIn": [], "UserClickedZoomOut": [], "UserCopiedFilterJson": [], "UserDraggedCollectionSidebarResize": ["Basics.Int"], "UserDraggedSidebarResize": ["Basics.Int"], "UserEndedCollectionSidebarResize": [], "UserEndedSidebarResize": [], "UserResetAllFilters": [], "UserResetAltColourAdjust": [], "UserSelectedContentsIndex": [], "UserSelectedContentsPages": [], "UserStartedCollectionSidebarResize": ["Basics.Int"], "UserStartedSidebarResize": ["Basics.Int"], "UserToggledContents": [], "UserToggledCollectionSidebar": [], "UserToggledFilter": ["Filters.FilterToggle", "Basics.Bool"], "UserToggledFilterGroup": ["String.String"], "UserToggledFullscreen": [], "UserToggledMetadata": [], "UserToggledPageViewFullscreen": [], "UserToggledPageViewSidebar": [], "UserToggledRangeMetadata": ["String.String"], "UserToggledShiftByOne": [], "UserToggledSidebar": [], "UserToggledThumbnails": [], "UserToggledTwoUp": [], "UserUpdatedFilterFloat": ["Filters.FilterFloatValue", "String.String"], "UserUpdatedFilterInt": ["Filters.FilterIntValue", "String.String"], "UserUpdatedFilterJsonInput": ["String.String"], "UserUpdatedFilterString": ["Filters.FilterStringValue", "String.String"], "ViewerLoadingChanged": ["Basics.Bool"], "ViewportChanged": ["Basics.Int", "Basics.Int"] } }, "Basics.Bool": { "args": [], "tags": { "True": [], "False": [] } }, "Http.Error": { "args": [], "tags": { "BadUrl": ["String.String"], "Timeout": [], "NetworkError": [], "BadStatus": ["Basics.Int"], "BadBody": ["String.String"] } }, "Auth.Event": { "args": [], "tags": { "Resolve": ["String.String", "String.String"], "Cancel": ["String.String"], "HttpSucceeded": ["String.String", "Basics.Int", "String.String"], "HttpFailed": ["String.String", "String.String"], "StorageRead": ["String.String", "Basics.Float", "Maybe.Maybe Json.Decode.Value"], "PopupOpened": ["String.String"], "PopupBlocked": ["String.String"], "PopupClosed": ["String.String"], "TokenMessage": ["String.String", "Basics.Float", "Json.Decode.Value"], "TokenFailed": ["String.String", "String.String"], "LogoutOpened": ["String.String"], "LogoutBlocked": ["String.String"], "LogoutClosed": [], "UserCancelled": [], "Destroyed": [] } }, "Filters.FilterFloatValue": { "args": [], "tags": { "FloatColourReplaceBlend": [], "FloatContrast": [], "FloatGamma": [], "FloatNormalizeStrength": [], "FloatPseudoColourBlue": [], "FloatPseudoColourGreen": [], "FloatPseudoColourRed": [], "FloatUnsharpAmount": [] } }, "Filters.FilterIntValue": { "args": [], "tags": { "IntAdaptiveOffset": [], "IntAdaptiveWindow": [], "IntAltRedGamma": [], "IntAltRedSigmoid": [], "IntAltRedVibrance": [], "IntAltRedHue": [], "IntAltRedHueWindow": [], "IntAltGreenGamma": [], "IntAltGreenSigmoid": [], "IntAltGreenHue": [], "IntAltGreenHueWindow": [], "IntAltGreenVibrance": [], "IntAltBlueGamma": [], "IntAltBlueSigmoid": [], "IntAltBlueHue": [], "IntAltBlueHueWindow": [], "IntAltBlueVibrance": [], "IntBrightness": [], "IntCcBlue": [], "IntCcGreen": [], "IntCcRed": [], "IntColourmapCenter": [], "IntColourReplaceTolerance": [], "IntPcaHue": [], "IntHue": [], "IntMorphKernel": [], "IntRotation": [], "IntSaturation": [], "IntThreshold": [], "IntVibrance": [] } }, "Filters.FilterStringValue": { "args": [], "tags": { "StringColourmapPreset": [], "StringColourReplaceSource": [], "StringColourReplaceTarget": [], "StringConvolutionPreset": [], "StringPcaMode": [], "StringMorphOperation": [], "StringPseudoColourMode": [] } }, "Filters.FilterToggle": { "args": [], "tags": { "ToggleAdaptive": [], "ToggleAltBlueGamma": [], "ToggleAltBlueHue": [], "ToggleAltBlueSigmoid": [], "ToggleAltBlueVibrance": [], "ToggleAltGreenGamma": [], "ToggleAltGreenHue": [], "ToggleAltGreenSigmoid": [], "ToggleAltGreenVibrance": [], "ToggleAltRedGamma": [], "ToggleAltRedHue": [], "ToggleAltRedSigmoid": [], "ToggleAltRedVibrance": [], "ToggleBrightness": [], "ToggleCcBlue": [], "ToggleCcGreen": [], "ToggleCcRed": [], "ToggleColourmap": [], "ToggleColourReplace": [], "ToggleColourReplacePreserveLum": [], "ToggleContrast": [], "ToggleConvolution": [], "ToggleFlip": [], "ToggleGamma": [], "ToggleGlobalPca": [], "ToggleGrayscale": [], "ToggleHue": [], "ToggleInvert": [], "ToggleMorph": [], "ToggleNormalize": [], "TogglePseudoColour": [], "ToggleSaturation": [], "ToggleThreshold": [], "ToggleUnsharp": [], "ToggleVibrance": [] } }, "Basics.Float": { "args": [], "tags": { "Float": [] } }, "IIIF.Presentation.IIIFManifest": { "args": [], "tags": { "IIIFManifest": ["IIIF.Version.IIIFVersion", "IIIF.Presentation.Manifest"] } }, "IIIF.Presentation.IIIFResource": { "args": [], "tags": { "ResourceManifest": ["IIIF.Presentation.IIIFManifest"], "ResourceCollection": ["IIIF.Presentation.IIIFCollection"], "ResourceCanvas": ["IIIF.Presentation.IIIFCanvas"], "ResourceRange": ["IIIF.Presentation.IIIFRange"] } }, "Basics.Int": { "args": [], "tags": { "Int": [] } }, "Maybe.Maybe": { "args": ["a"], "tags": { "Just": ["a"], "Nothing": [] } }, "Result.Result": { "args": ["error", "value"], "tags": { "Ok": ["value"], "Err": ["error"] } }, "String.String": { "args": [], "tags": { "String": [] } }, "IIIF.Presentation.IIIFCanvas": { "args": [], "tags": { "IIIFCanvas": ["IIIF.Version.IIIFVersion", "IIIF.Presentation.Canvas"] } }, "IIIF.Presentation.IIIFCollection": { "args": [], "tags": { "IIIFCollection": ["IIIF.Version.IIIFVersion", "IIIF.Presentation.Collection"] } }, "IIIF.Presentation.IIIFRange": { "args": [], "tags": { "IIIFRange": ["IIIF.Version.IIIFVersion", "IIIF.Presentation.Range"] } }, "IIIF.Version.IIIFVersion": { "args": [], "tags": { "IIIFV1": [], "IIIFV2": [], "IIIFV3": [] } }, "IIIF.Presentation.ImageType": { "args": [], "tags": { "PrimaryImage": [], "ChoiceImage": [] } }, "IIIF.Image.ImageUri": { "args": [], "tags": { "InfoUri": ["IIIF.Image.ImageServerParameters"], "ImageUri": ["IIIF.Image.ImageRequestParameters"], "StaticImageUri": ["IIIF.Image.ImageServerParameters"] } }, "IIIF.Language.LanguageValues": { "args": [], "tags": { "LanguageValues": ["IIIF.Language.Language", "List.List String.String"] } }, "List.List": { "args": ["a"], "tags": {} }, "IIIF.Presentation.MediaFormats": { "args": [], "tags": { "ImageJpeg": [], "OtherFormat": ["String.String"] } }, "IIIF.Presentation.RangeItem": { "args": [], "tags": { "RangeCanvas": ["String.String"], "RangeRange": ["IIIF.Presentation.Range"] } }, "IIIF.Presentation.ResourceTypes": { "args": [], "tags": { "Video": [], "OtherResource": ["String.String"] } }, "IIIF.Presentation.ServiceTypes": { "args": [], "tags": { "ImageService1": [], "ImageService2": [], "ImageService3": [], "SearchService1": [], "AutoCompleteService1": [], "AuthTokenService1": [], "AuthLogoutService1": [], "UnknownService": [] } }, "Json.Encode.Value": { "args": [], "tags": { "Value": [] } }, "IIIF.Presentation.ViewingDirection": { "args": [], "tags": { "LeftToRight": [], "RightToLeft": [], "TopToBottom": [], "BottomToTop": [] } }, "IIIF.Presentation.ViewingLayout": { "args": [], "tags": { "LayoutV2": ["IIIF.Presentation.ViewingHint"], "LayoutV3": ["List.List IIIF.Presentation.Behavior"] } }, "IIIF.Presentation.Behavior": { "args": [], "tags": { "AutoAdvanceBehavior": [], "NoAutoAdvanceBehavior": [], "RepeatBehavior": [], "NoRepeatBehavior": [], "UnorderedBehavior": [], "IndividualsBehavior": [], "ContinuousBehavior": [], "PagedBehavior": [], "FacingPagesBehavior": [], "NonPagedBehavior": [], "MultiPartBehavior": [], "TogetherBehavior": [], "SequenceBehavior": [], "ThumbnailNavBehavior": [], "NoNavBehavior": [], "HiddenBehavior": [] } }, "IIIF.Presentation.CollectionItem": { "args": [], "tags": { "NestedCollection": ["IIIF.Presentation.Collection"], "ManifestItem": ["IIIF.Presentation.Manifest"] } }, "IIIF.Image.ImageFormat": { "args": [], "tags": { "JpegFormat": [], "TiffFormat": [], "PngFormat": [], "Jp2Format": [], "GifFormat": [], "PdfFormat": [], "WebpFormat": [] } }, "IIIF.Image.ImageQuality": { "args": [], "tags": { "ColorQuality": [], "GrayQuality": [], "BiTonalQuality": [], "DefaultQuality": [], "NativeQuality": [] } }, "IIIF.Image.ImageRegion": { "args": [], "tags": { "FullRegion": [], "SquareRegion": [], "SizeRegion": ["{ x : Basics.Int, y : Basics.Int, w : Basics.Int, h : Basics.Int }"], "PctSizeRegion": ["{ x : Basics.Float, y : Basics.Float, w : Basics.Float, h : Basics.Float }"] } }, "IIIF.Image.ImageRotation": { "args": [], "tags": { "NormalRotation": ["Basics.Float"], "MirroredRotation": ["Basics.Float"] } }, "IIIF.Image.ImageSize": { "args": [], "tags": { "MaxSize": [], "ExactMaxSize": [], "WidthOnlySize": ["Basics.Int"], "ExactWidthOnlySize": ["Basics.Int"], "HeightOnlySize": ["Basics.Int"], "ExactHeightOnlySize": ["Basics.Int"], "PercentSize": ["Basics.Float"], "ExactPercentSize": ["Basics.Float"], "WidthAndHeightSize": ["( Basics.Int, Basics.Int )"], "ExactWidthAndHeightSize": ["( Basics.Int, Basics.Int )"], "ScaledWidthAndHeightSize": ["( Basics.Int, Basics.Int )"], "ExactScaledWidthAndHeightSize": ["( Basics.Int, Basics.Int )"] } }, "IIIF.Language.Language": { "args": [], "tags": { "LanguageCode": ["String.String"], "None": [], "Default": [] } }, "IIIF.Presentation.ViewingHint": { "args": [], "tags": { "PagedHint": [], "IndividualsHint": [], "ContinuousHint": [], "MultiPartHint": [], "NonPagedHint": [], "TopHint": [], "FacingPagesHint": [] } } } } }) } }; + )({ "versions": { "elm": "0.19.1" }, "types": { "message": "Msg.Msg", "aliases": { "IIIF.Annotation.Annotation": { "args": [], "type": "{ id : String.String, target : IIIF.Annotation.AnnotationTarget, body : IIIF.Annotation.AnnotationBody, motivation : Maybe.Maybe String.String }" }, "IIIF.Annotation.AnnotationBody": { "args": [], "type": "{ value : String.String, format : Maybe.Maybe String.String, language : Maybe.Maybe String.String }" }, "IIIF.Annotation.AnnotationTarget": { "args": [], "type": "{ source : Maybe.Maybe String.String, selector : IIIF.Annotation.AnnotationSelector }" }, "IIIF.Presentation.Canvas": { "args": [], "type": "{ id : String.String, label : Maybe.Maybe IIIF.Language.LanguageMap, width : Maybe.Maybe Basics.Int, height : Maybe.Maybe Basics.Int, images : List.List IIIF.Presentation.Image, thumbnail : Maybe.Maybe IIIF.Presentation.Image, viewingLayout : Maybe.Maybe IIIF.Presentation.ViewingLayout, annotationSources : List.List IIIF.Presentation.AnnotationSource }" }, "IIIF.Presentation.HomePage": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, format : IIIF.Presentation.MediaFormats, type_ : IIIF.Presentation.ResourceTypes }" }, "IIIF.Presentation.Image": { "args": [], "type": "{ id : IIIF.Image.ImageUri, label : Maybe.Maybe IIIF.Language.LanguageMap, imageType : IIIF.Presentation.ImageType, service : List.List IIIF.Presentation.ServiceTypes, serviceObjects : List.List Json.Decode.Value }" }, "IIIF.Language.LabelValue": { "args": [], "type": "{ label : IIIF.Language.LanguageMap, value : IIIF.Language.LanguageMap }" }, "IIIF.Language.LanguageMap": { "args": [], "type": "List.List IIIF.Language.LanguageValues" }, "IIIF.Presentation.Logo": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, format : IIIF.Presentation.MediaFormats, type_ : IIIF.Presentation.ResourceTypes, width : Basics.Int, height : Basics.Int, service : Maybe.Maybe (List.List IIIF.Presentation.ServiceObject) }" }, "IIIF.Presentation.Manifest": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, metadata : List.List IIIF.Language.LabelValue, viewingDirection : IIIF.Presentation.ViewingDirection, summary : Maybe.Maybe IIIF.Language.LanguageMap, viewingLayout : IIIF.Presentation.ViewingLayout, canvases : List.List IIIF.Presentation.Canvas, ranges : Maybe.Maybe (List.List IIIF.Presentation.Range), homepage : Maybe.Maybe (List.List IIIF.Presentation.HomePage), logo : Maybe.Maybe IIIF.Presentation.Image, provider : Maybe.Maybe (List.List IIIF.Presentation.Provider), thumbnail : Maybe.Maybe IIIF.Presentation.Image, requiredStatement : Maybe.Maybe IIIF.Presentation.RequiredStatement }" }, "IIIF.Presentation.Provider": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, type_ : IIIF.Presentation.ResourceTypes, homepage : Maybe.Maybe (List.List IIIF.Presentation.HomePage), logo : Maybe.Maybe (List.List IIIF.Presentation.Logo), seeAlso : Maybe.Maybe (List.List IIIF.Presentation.SeeAlso) }" }, "IIIF.Presentation.Range": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, items : List.List IIIF.Presentation.RangeItem, metadata : List.List IIIF.Language.LabelValue }" }, "IIIF.Presentation.RequiredStatement": { "args": [], "type": "{ label : IIIF.Language.LanguageMap, value : IIIF.Language.LanguageMap }" }, "IIIF.Presentation.SeeAlso": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, format : IIIF.Presentation.MediaFormats, type_ : IIIF.Presentation.ResourceTypes }" }, "IIIF.Presentation.ServiceObject": { "args": [], "type": "{ id : String.String, serviceType : IIIF.Presentation.ServiceTypes }" }, "Json.Decode.Value": { "args": [], "type": "Json.Encode.Value" }, "IIIF.Presentation.Collection": { "args": [], "type": "{ id : String.String, label : IIIF.Language.LanguageMap, summary : Maybe.Maybe IIIF.Language.LanguageMap, items : List.List IIIF.Presentation.CollectionItem }" }, "IIIF.Image.ImageRequestParameters": { "args": [], "type": "{ host : String.String, prefix : String.String, region : IIIF.Image.ImageRegion, size : IIIF.Image.ImageSize, rotation : IIIF.Image.ImageRotation, quality : IIIF.Image.ImageQuality, format : IIIF.Image.ImageFormat }" }, "IIIF.Image.ImageServerParameters": { "args": [], "type": "{ host : String.String, prefix : String.String }" } }, "unions": { "Msg.Msg": { "args": [], "tags": { "AuthEvent": ["Auth.Event"], "ClientRequestedLayoutMode": ["String.String"], "ClientRequestedResource": ["String.String", "String.String"], "ClientNotifiedFullscreenChanged": ["Basics.Bool"], "ClientNotifiedPageChanged": ["Basics.Int"], "ClientNotifiedPageChangedInstant": ["Basics.Int"], "ClientNotifiedScrollThumbs": [], "ServerRespondedWithCollectionItem": ["String.String", "Result.Result Http.Error IIIF.Presentation.IIIFResource"], "ServerRespondedWithManifestFromCollection": ["String.String", "Result.Result Http.Error IIIF.Presentation.IIIFManifest"], "ServerRespondedWithResource": ["Result.Result Http.Error IIIF.Presentation.IIIFResource"], "ServerRespondedWithRequestedResource": ["String.String", "String.String", "Result.Result Http.Error IIIF.Presentation.IIIFResource"], "UserAppliedFilterJson": [], "UserChangedZoomLevel": ["Basics.Float"], "UserClickedCloseManifestInfo": [], "UserClickedClosePageView": [], "UserClickedCollectionItem": ["String.String"], "UserClickedManifestItem": ["String.String", "String.String"], "UserClickedOpenManifestInfo": [], "UserClickedOpenPageView": [], "UserClickedPageViewImageChoice": ["Basics.Int"], "UserClickedPageViewNext": [], "UserClickedPageViewPrev": [], "UserClickedRange": ["Maybe.Maybe Basics.Int"], "UserClickedSaveFilteredImage": [], "UserClickedThumbnail": ["Basics.Int"], "UserClickedZoomIn": [], "UserClickedZoomOut": [], "UserCopiedFilterJson": [], "UserDraggedCollectionSidebarResize": ["Basics.Int"], "UserDraggedSidebarResize": ["Basics.Int"], "UserEndedCollectionSidebarResize": [], "UserEndedSidebarResize": [], "UserResetAllFilters": [], "UserResetAltColourAdjust": [], "UserSelectedContentsIndex": [], "UserSelectedContentsPages": [], "UserStartedCollectionSidebarResize": ["Basics.Int"], "UserStartedSidebarResize": ["Basics.Int"], "UserToggledContents": [], "UserToggledCollectionSidebar": [], "UserToggledFilter": ["Filters.FilterToggle", "Basics.Bool"], "UserToggledFilterGroup": ["String.String"], "UserToggledFullscreen": [], "UserToggledMetadata": [], "UserToggledPageViewFullscreen": [], "UserToggledPageViewSidebar": [], "UserToggledRangeMetadata": ["String.String"], "UserToggledShiftByOne": [], "UserToggledSidebar": [], "UserToggledThumbnails": [], "UserToggledTwoUp": [], "UserUpdatedFilterFloat": ["Filters.FilterFloatValue", "String.String"], "UserUpdatedFilterInt": ["Filters.FilterIntValue", "String.String"], "UserUpdatedFilterJsonInput": ["String.String"], "UserUpdatedFilterString": ["Filters.FilterStringValue", "String.String"], "ViewerLoadingChanged": ["Basics.Bool"], "ViewportChanged": ["Basics.Int"], "ViewerLoadedPage": ["Basics.Int"], "ServerRespondedWithAnnotations": ["String.String", "Result.Result Http.Error (List.List IIIF.Annotation.Annotation)"], "UserToggledAnnotations": [] } }, "IIIF.Annotation.AnnotationSelector": { "args": [], "tags": { "Rectangle": ["Basics.Float", "Basics.Float", "Basics.Float", "Basics.Float"], "Svg": ["String.String"] } }, "Basics.Bool": { "args": [], "tags": { "True": [], "False": [] } }, "Http.Error": { "args": [], "tags": { "BadUrl": ["String.String"], "Timeout": [], "NetworkError": [], "BadStatus": ["Basics.Int"], "BadBody": ["String.String"] } }, "Auth.Event": { "args": [], "tags": { "Resolve": ["String.String", "String.String"], "Cancel": ["String.String"], "HttpSucceeded": ["String.String", "Basics.Int", "String.String"], "HttpFailed": ["String.String", "String.String"], "StorageRead": ["String.String", "Basics.Float", "Maybe.Maybe Json.Decode.Value"], "PopupOpened": ["String.String"], "PopupBlocked": ["String.String"], "PopupClosed": ["String.String"], "TokenMessage": ["String.String", "Basics.Float", "Json.Decode.Value"], "TokenFailed": ["String.String", "String.String"], "LogoutOpened": ["String.String"], "LogoutBlocked": ["String.String"], "LogoutClosed": [], "UserCancelled": [], "Destroyed": [] } }, "Filters.FilterFloatValue": { "args": [], "tags": { "FloatColourReplaceBlend": [], "FloatContrast": [], "FloatGamma": [], "FloatNormalizeStrength": [], "FloatPseudoColourBlue": [], "FloatPseudoColourGreen": [], "FloatPseudoColourRed": [], "FloatUnsharpAmount": [] } }, "Filters.FilterIntValue": { "args": [], "tags": { "IntAdaptiveOffset": [], "IntAdaptiveWindow": [], "IntAltRedGamma": [], "IntAltRedSigmoid": [], "IntAltRedVibrance": [], "IntAltRedHue": [], "IntAltRedHueWindow": [], "IntAltGreenGamma": [], "IntAltGreenSigmoid": [], "IntAltGreenHue": [], "IntAltGreenHueWindow": [], "IntAltGreenVibrance": [], "IntAltBlueGamma": [], "IntAltBlueSigmoid": [], "IntAltBlueHue": [], "IntAltBlueHueWindow": [], "IntAltBlueVibrance": [], "IntBrightness": [], "IntCcBlue": [], "IntCcGreen": [], "IntCcRed": [], "IntColourmapCenter": [], "IntColourReplaceTolerance": [], "IntPcaHue": [], "IntHue": [], "IntMorphKernel": [], "IntRotation": [], "IntSaturation": [], "IntThreshold": [], "IntVibrance": [] } }, "Filters.FilterStringValue": { "args": [], "tags": { "StringColourmapPreset": [], "StringColourReplaceSource": [], "StringColourReplaceTarget": [], "StringConvolutionPreset": [], "StringPcaMode": [], "StringMorphOperation": [], "StringPseudoColourMode": [] } }, "Filters.FilterToggle": { "args": [], "tags": { "ToggleAdaptive": [], "ToggleAltBlueGamma": [], "ToggleAltBlueHue": [], "ToggleAltBlueSigmoid": [], "ToggleAltBlueVibrance": [], "ToggleAltGreenGamma": [], "ToggleAltGreenHue": [], "ToggleAltGreenSigmoid": [], "ToggleAltGreenVibrance": [], "ToggleAltRedGamma": [], "ToggleAltRedHue": [], "ToggleAltRedSigmoid": [], "ToggleAltRedVibrance": [], "ToggleBrightness": [], "ToggleCcBlue": [], "ToggleCcGreen": [], "ToggleCcRed": [], "ToggleColourmap": [], "ToggleColourReplace": [], "ToggleColourReplacePreserveLum": [], "ToggleContrast": [], "ToggleConvolution": [], "ToggleFlip": [], "ToggleGamma": [], "ToggleGlobalPca": [], "ToggleGrayscale": [], "ToggleHue": [], "ToggleInvert": [], "ToggleMorph": [], "ToggleNormalize": [], "TogglePseudoColour": [], "ToggleSaturation": [], "ToggleThreshold": [], "ToggleUnsharp": [], "ToggleVibrance": [] } }, "Basics.Float": { "args": [], "tags": { "Float": [] } }, "IIIF.Presentation.IIIFManifest": { "args": [], "tags": { "IIIFManifest": ["IIIF.Version.IIIFVersion", "IIIF.Presentation.Manifest"] } }, "IIIF.Presentation.IIIFResource": { "args": [], "tags": { "ResourceManifest": ["IIIF.Presentation.IIIFManifest"], "ResourceCollection": ["IIIF.Presentation.IIIFCollection"], "ResourceCanvas": ["IIIF.Presentation.IIIFCanvas"], "ResourceRange": ["IIIF.Presentation.IIIFRange"] } }, "Basics.Int": { "args": [], "tags": { "Int": [] } }, "List.List": { "args": ["a"], "tags": {} }, "Maybe.Maybe": { "args": ["a"], "tags": { "Just": ["a"], "Nothing": [] } }, "Result.Result": { "args": ["error", "value"], "tags": { "Ok": ["value"], "Err": ["error"] } }, "String.String": { "args": [], "tags": { "String": [] } }, "IIIF.Presentation.AnnotationSource": { "args": [], "tags": { "AnnotationSourceUrl": ["String.String"], "InlineAnnotationPage": ["Json.Decode.Value"] } }, "IIIF.Presentation.IIIFCanvas": { "args": [], "tags": { "IIIFCanvas": ["IIIF.Version.IIIFVersion", "IIIF.Presentation.Canvas"] } }, "IIIF.Presentation.IIIFCollection": { "args": [], "tags": { "IIIFCollection": ["IIIF.Version.IIIFVersion", "IIIF.Presentation.Collection"] } }, "IIIF.Presentation.IIIFRange": { "args": [], "tags": { "IIIFRange": ["IIIF.Version.IIIFVersion", "IIIF.Presentation.Range"] } }, "IIIF.Version.IIIFVersion": { "args": [], "tags": { "IIIFV1": [], "IIIFV2": [], "IIIFV3": [] } }, "IIIF.Presentation.ImageType": { "args": [], "tags": { "PrimaryImage": [], "ChoiceImage": [] } }, "IIIF.Image.ImageUri": { "args": [], "tags": { "InfoUri": ["IIIF.Image.ImageServerParameters"], "ImageUri": ["IIIF.Image.ImageRequestParameters"], "StaticImageUri": ["IIIF.Image.ImageServerParameters"] } }, "IIIF.Language.LanguageValues": { "args": [], "tags": { "LanguageValues": ["IIIF.Language.Language", "List.List String.String"] } }, "IIIF.Presentation.MediaFormats": { "args": [], "tags": { "ImageJpeg": [], "OtherFormat": ["String.String"] } }, "IIIF.Presentation.RangeItem": { "args": [], "tags": { "RangeCanvas": ["String.String"], "RangeRange": ["IIIF.Presentation.Range"] } }, "IIIF.Presentation.ResourceTypes": { "args": [], "tags": { "Video": [], "OtherResource": ["String.String"] } }, "IIIF.Presentation.ServiceTypes": { "args": [], "tags": { "ImageService1": [], "ImageService2": [], "ImageService3": [], "SearchService1": [], "AutoCompleteService1": [], "AuthTokenService1": [], "AuthLogoutService1": [], "UnknownService": [] } }, "Json.Encode.Value": { "args": [], "tags": { "Value": [] } }, "IIIF.Presentation.ViewingDirection": { "args": [], "tags": { "LeftToRight": [], "RightToLeft": [], "TopToBottom": [], "BottomToTop": [] } }, "IIIF.Presentation.ViewingLayout": { "args": [], "tags": { "LayoutV2": ["IIIF.Presentation.ViewingHint"], "LayoutV3": ["List.List IIIF.Presentation.Behavior"] } }, "IIIF.Presentation.Behavior": { "args": [], "tags": { "AutoAdvanceBehavior": [], "NoAutoAdvanceBehavior": [], "RepeatBehavior": [], "NoRepeatBehavior": [], "UnorderedBehavior": [], "IndividualsBehavior": [], "ContinuousBehavior": [], "PagedBehavior": [], "FacingPagesBehavior": [], "NonPagedBehavior": [], "MultiPartBehavior": [], "TogetherBehavior": [], "SequenceBehavior": [], "ThumbnailNavBehavior": [], "NoNavBehavior": [], "HiddenBehavior": [] } }, "IIIF.Presentation.CollectionItem": { "args": [], "tags": { "NestedCollection": ["IIIF.Presentation.Collection"], "ManifestItem": ["IIIF.Presentation.Manifest"] } }, "IIIF.Image.ImageFormat": { "args": [], "tags": { "JpegFormat": [], "TiffFormat": [], "PngFormat": [], "Jp2Format": [], "GifFormat": [], "PdfFormat": [], "WebpFormat": [] } }, "IIIF.Image.ImageQuality": { "args": [], "tags": { "ColorQuality": [], "GrayQuality": [], "BiTonalQuality": [], "DefaultQuality": [], "NativeQuality": [] } }, "IIIF.Image.ImageRegion": { "args": [], "tags": { "FullRegion": [], "SquareRegion": [], "SizeRegion": ["{ x : Basics.Int, y : Basics.Int, w : Basics.Int, h : Basics.Int }"], "PctSizeRegion": ["{ x : Basics.Float, y : Basics.Float, w : Basics.Float, h : Basics.Float }"] } }, "IIIF.Image.ImageRotation": { "args": [], "tags": { "NormalRotation": ["Basics.Float"], "MirroredRotation": ["Basics.Float"] } }, "IIIF.Image.ImageSize": { "args": [], "tags": { "MaxSize": [], "ExactMaxSize": [], "WidthOnlySize": ["Basics.Int"], "ExactWidthOnlySize": ["Basics.Int"], "HeightOnlySize": ["Basics.Int"], "ExactHeightOnlySize": ["Basics.Int"], "PercentSize": ["Basics.Float"], "ExactPercentSize": ["Basics.Float"], "WidthAndHeightSize": ["( Basics.Int, Basics.Int )"], "ExactWidthAndHeightSize": ["( Basics.Int, Basics.Int )"], "ScaledWidthAndHeightSize": ["( Basics.Int, Basics.Int )"], "ExactScaledWidthAndHeightSize": ["( Basics.Int, Basics.Int )"] } }, "IIIF.Language.Language": { "args": [], "tags": { "LanguageCode": ["String.String"], "None": [], "Default": [] } }, "IIIF.Presentation.ViewingHint": { "args": [], "tags": { "PagedHint": [], "IndividualsHint": [], "ContinuousHint": [], "MultiPartHint": [], "NonPagedHint": [], "TopHint": [], "FacingPagesHint": [] } } } } }) } }; // src/auth.ts var STORAGE_PREFIX = "diva:iiif-auth2:"; @@ -32283,7 +31292,7 @@ return normalized; }; var AuthBrowser = class { - constructor(ports, root) { + constructor(ports, root, staticImageCorsPolicy = "required") { this.pending = /* @__PURE__ */ new Map(); this.inflight = /* @__PURE__ */ new Map(); this.resolutionCache = /* @__PURE__ */ new Map(); @@ -32296,6 +31305,7 @@ this.destroyed = false; this.ports = ports; this.root = root; + this.staticImageCorsPolicy = staticImageCorsPolicy; this.clickHandler = this.handleClick.bind(this); root.addEventListener("click", this.clickHandler, true); ports.tileSourceResolutionSucceeded.subscribe((result) => this.succeed(result)); @@ -32333,23 +31343,20 @@ registerSources(_sources) { Array.from(this.inflight.values()).forEach((active) => this.cancelResolution(active)); this.resolutionCache.clear(); - this.requests.forEach((controller) => controller.abort()); - this.requests.clear(); - Array.from(this.frames.keys()).forEach((flowId) => this.cancelFrame(flowId)); - this.popups.forEach((popup) => { - clearInterval(popup.timer); - popup.window.close(); - }); - this.popups.clear(); - this.logoutPopups.forEach((popup) => { - clearInterval(popup.timer); - popup.window.close(); - }); - this.logoutPopups.clear(); + this.cancelBrowserWork(); } invalidateSources(sourceIds) { sourceIds.forEach((sourceId) => this.invalidateSource(sourceId)); } + useNonCorsStaticSource(sourceId) { + const cached = this.resolutionCache.get(sourceId); + const source = cached == null ? void 0 : cached.resolutions.get("anonymous"); + if (!cached || !source || typeof source !== "object" || source.type !== "image") { + return; + } + cached.resolutions.set("anonymous", nonCorsStaticTileSource(source)); + cached.activeState = "anonymous"; + } destroy() { if (this.destroyed) { return; @@ -32357,23 +31364,25 @@ this.destroyed = true; this.root.removeEventListener("click", this.clickHandler, true); this.ports.authDestroyed.send(null); + this.cancelBrowserWork(); + this.pending.forEach((pending) => pending.reject(new DOMException("The viewer was destroyed.", "AbortError"))); + this.pending.clear(); + this.inflight.clear(); + this.resolutionCache.clear(); + } + cancelBrowserWork() { this.requests.forEach((controller) => controller.abort()); this.requests.clear(); - this.frames.forEach((_frame, flowId) => this.cancelFrame(flowId)); - this.popups.forEach((popup) => { - clearInterval(popup.timer); - popup.window.close(); - }); - this.popups.clear(); - this.logoutPopups.forEach((popup) => { + Array.from(this.frames.keys()).forEach((flowId) => this.cancelFrame(flowId)); + this.closePopups(this.popups); + this.closePopups(this.logoutPopups); + } + closePopups(popups) { + popups.forEach((popup) => { clearInterval(popup.timer); popup.window.close(); }); - this.logoutPopups.clear(); - this.pending.forEach((pending) => pending.reject(new DOMException("The viewer was destroyed.", "AbortError"))); - this.pending.clear(); - this.inflight.clear(); - this.resolutionCache.clear(); + popups.clear(); } succeed(result) { const pending = this.pending.get(result.requestId); @@ -32394,7 +31403,8 @@ ajaxWithCredentials: result.credentialed }; } else if (result.isStatic) { - tileSource = { type: "image", url: result.url, crossOriginPolicy: credentials, ajaxWithCredentials: result.credentialed }; + const useNonCors = !result.credentialed && this.staticImageCorsPolicy === "none"; + tileSource = staticImageTileSource(result.url, result.credentialed, useNonCors); } else if (result.credentialed) { tileSource = { url: result.url, crossOriginPolicy: credentials, ajaxWithCredentials: true }; } else { @@ -32404,7 +31414,11 @@ const cached = this.resolutionCache.get(pending.sourceId); const resolutions = (cached == null ? void 0 : cached.descriptorKey) === pending.descriptorKey ? cached.resolutions : /* @__PURE__ */ new Map(); resolutions.set(state, tileSource); - this.resolutionCache.set(pending.sourceId, { descriptorKey: pending.descriptorKey, activeState: state, resolutions }); + this.resolutionCache.set(pending.sourceId, { + descriptorKey: pending.descriptorKey, + activeState: state, + resolutions + }); pending.resolve(tileSource); } fail(requestId, message) { @@ -32428,7 +31442,12 @@ rejectShared = reject; }); const active = { requestId, descriptorKey: key, promise, consumers: /* @__PURE__ */ new Set() }; - this.pending.set(requestId, { sourceId: source.sourceId, descriptorKey: key, resolve: resolveShared, reject: rejectShared }); + this.pending.set(requestId, { + sourceId: source.sourceId, + descriptorKey: key, + resolve: resolveShared, + reject: rejectShared + }); this.inflight.set(source.sourceId, active); this.ports.resolveTileSourceRequested.send({ requestId, sourceId: source.sourceId }); return active; @@ -32523,7 +31542,10 @@ const key = STORAGE_PREFIX + encodeURIComponent(request.key); try { if (request.action === "write") { - sessionStorage.setItem(key, JSON.stringify({ accessToken: request.accessToken, expiresAt: request.expiresAt })); + sessionStorage.setItem( + key, + JSON.stringify({ accessToken: request.accessToken, expiresAt: request.expiresAt }) + ); return; } if (request.action === "remove") { @@ -32531,7 +31553,11 @@ return; } const raw = sessionStorage.getItem(key); - this.ports.authStorageResponded.send({ flowId: request.flowId, now: Date.now(), value: raw ? JSON.parse(raw) : null }); + this.ports.authStorageResponded.send({ + flowId: request.flowId, + now: Date.now(), + value: raw ? JSON.parse(raw) : null + }); } catch (_) { if (request.action === "read") { this.ports.authStorageResponded.send({ flowId: request.flowId, now: Date.now(), value: null }); @@ -33259,18 +32285,24 @@ const c1 = r * v1[0] + g * v1[1] + b * v1[2]; const c2 = r * v2[0] + g * v2[1] + b * v2[2]; const c3 = r * v3[0] + g * v3[1] + b * v3[2]; - if (c1 < min1) + if (c1 < min1) { min1 = c1; - if (c1 > max1) + } + if (c1 > max1) { max1 = c1; - if (c2 < min2) + } + if (c2 < min2) { min2 = c2; - if (c2 > max2) + } + if (c2 > max2) { max2 = c2; - if (c3 < min3) + } + if (c3 < min3) { min3 = c3; - if (c3 > max3) + } + if (c3 > max3) { max3 = c3; + } } const range1 = max1 - min1 || 1; const range2 = max2 - min2 || 1; @@ -33637,7 +32669,9 @@ this._scratchCanvas = window.document.createElement("canvas"); } if (!this._scratchContext) { - this._scratchContext = this._scratchCanvas.getContext("2d", { willReadFrequently: true }); + this._scratchContext = this._scratchCanvas.getContext("2d", { + willReadFrequently: true + }); } if (this._scratchCanvas.width !== width) { this._scratchCanvas.width = width; @@ -34148,6 +33182,88 @@ target.appendChild(styleEl); }; injectStyles(diva_default); + var copyAnnotation = (annotation) => JSON.parse(JSON.stringify(annotation)); + var annotationBodyText = (body) => { + if (typeof body === "string") { + return body; + } + if (Array.isArray(body)) { + return body.length > 0 ? annotationBodyText(body[0]) : ""; + } + if (body && typeof body === "object") { + const value = body; + return typeof value.value === "string" ? value.value : typeof value.chars === "string" ? value.chars : ""; + } + return ""; + }; + var plainAnnotationText = (html) => html.replace(/<[^>]*>/g, ""); + var selectorShape = (selector) => { + var _a; + if (!selector || typeof selector !== "object") { + return void 0; + } + const value = selector; + const type = typeof value.type === "string" ? value.type.toLowerCase() : typeof value["@type"] === "string" ? value["@type"].toLowerCase() : ""; + if (type.includes("svgselector") && typeof value.value === "string") { + return { kind: "svg", value: value.value }; + } + if (typeof value.value === "string") { + return xywhShape(value.value); + } + return (_a = selectorShape(value.default)) != null ? _a : selectorShape(value.item); + }; + var xywhShape = (value) => { + const coordinates = value.startsWith("xywh=") ? value.slice(5) : value; + const parts = coordinates.split(",").map(Number); + return parts.length === 4 && parts.every(Number.isFinite) && parts[2] > 0 && parts[3] > 0 ? { kind: "rect", x: parts[0], y: parts[1], width: parts[2], height: parts[3] } : void 0; + }; + var normalizePublicAnnotation = (annotation, imageService = null) => { + var _a, _b; + if (!annotation || typeof annotation !== "object" || typeof annotation.id !== "string" || annotation.id.length === 0) { + throw new TypeError("An annotation must be an object with a non-empty string id."); + } + const target = (_a = annotation.target) != null ? _a : annotation.on; + let canvasId; + let shape; + if (typeof target === "string") { + const match = target.match(/^(.*)#xywh=(.+)$/); + canvasId = match == null ? void 0 : match[1]; + shape = match ? xywhShape(match[2]) : void 0; + } else if (target && typeof target === "object") { + const targetObject = target; + canvasId = typeof targetObject.source === "string" ? targetObject.source : void 0; + shape = selectorShape(targetObject.selector); + } + if (!canvasId || !shape) { + throw new TypeError("An annotation target must identify a Canvas and use a supported xywh or SVG selector."); + } + const body = annotationBodyText((_b = annotation.body) != null ? _b : annotation.resource); + return { + canvasId, + publicAnnotation: copyAnnotation(annotation), + viewerAnnotation: { id: annotation.id, text: plainAnnotationText(body), html: body, imageService, shape } + }; + }; + var publicAnnotationFromViewer = (canvasId, annotation) => { + var _a, _b; + return { + id: annotation.id, + type: "Annotation", + body: { type: "TextualBody", value: (_a = annotation.html) != null ? _a : annotation.text }, + target: annotation.shape.kind === "rect" ? { + type: "SpecificResource", + source: canvasId, + selector: { + type: "FragmentSelector", + value: `xywh=${annotation.shape.x},${annotation.shape.y},${annotation.shape.width},${annotation.shape.height}` + } + } : { + type: "SpecificResource", + source: canvasId, + selector: { type: "SvgSelector", value: (_b = annotation.shape.value) != null ? _b : "" } + } + }; + }; var DEFAULT_SIDEBAR_WIDTH = 320; var MIN_SIDEBAR_WIDTH = 220; var MAX_SIDEBAR_WIDTH = 520; @@ -34175,6 +33291,7 @@ this.filterViewerElement = null; this.filterOptions = null; this.filterViewerFlipped = false; + this.filterAccessBlocked = false; this.currentFilterSourceKey = null; this.pendingFilterPreview = null; this.filterPreviewVersion = 0; @@ -34185,6 +33302,12 @@ this.pages = []; this.pagesByCanvasId = /* @__PURE__ */ new Map(); this.pagesByLabel = /* @__PURE__ */ new Map(); + this.manifestAnnotationsByCanvas = /* @__PURE__ */ new Map(); + this.apiAnnotationsByCanvas = /* @__PURE__ */ new Map(); + this.clearedAnnotationCanvases = /* @__PURE__ */ new Set(); + this.annotationImageServicesByCanvas = /* @__PURE__ */ new Map(); + this.annotationSelectionEnabled = true; + this.annotationResourceId = ""; this.readySettled = false; this.activeResourceRequestId = "initial"; this.resourceSequence = 0; @@ -34207,6 +33330,8 @@ this.rootId = rootId; this.root = root; this.isDestroyed = false; + this.staticImageCorsPolicy = flags.staticImageCorsPolicy === "fallback" || flags.staticImageCorsPolicy === "none" ? flags.staticImageCorsPolicy : "required"; + this.annotationSelectionEnabled = flags.enableAnnotationSelection !== false; this.state = { resourceUrl: flags.objectData, ready: false, @@ -34227,9 +33352,11 @@ void this.ready.catch(() => { }); this.handlePageChangeBound = this.handlePageChange.bind(this); + this.handleAnnotationSelectBound = this.handleAnnotationSelect.bind(this); this.handlePageLoadedBound = this.handlePageLoaded.bind(this); this.handleZoomChangeBound = this.handleZoomChange.bind(this); this.handleLoadingChangeBound = this.handleLoadingChange.bind(this); + this.handleStaticImageCorsFallbackBound = this.handleStaticImageCorsFallback.bind(this); this.handlePageLoadErrorBound = this.handlePageLoadError.bind(this); this.handleFullscreenChangeBound = this.handleFullscreenChange.bind(this); this.handleRootClickBound = this.handleRootClick.bind(this); @@ -34248,22 +33375,32 @@ sidebarWidth, sidebarPanel, showTitle: flags.showTitle !== false, - userLanguage: flags.setLanguage || langCode + userLanguage: flags.setLanguage || langCode, + enableAnnotations: flags.enableAnnotations === true, + enableAnnotationSelection: flags.enableAnnotationSelection !== false, + annotationServer: flags.annotationServer || null } }); this.root = this.getConnectedRoot(); - this.auth = new AuthBrowser(this.app.ports, this.root); + this.auth = new AuthBrowser(this.app.ports, this.root, this.staticImageCorsPolicy); this.tileSourceResolver = (source, signal) => this.auth.resolve(source, signal); const connectedRootAny = this.root; connectedRootAny.__divaInstance = this; this.bindPorts(); this.callViewerMethodWhenReady("setTileSourceResolver", this.tileSourceResolver); + this.callViewerMethodWhenReady("setStaticImageCorsPolicy", this.staticImageCorsPolicy); + this.callViewerMethodWhenReady("setAnnotationSelectionEnabled", flags.enableAnnotationSelection !== false); this.bindRootClick(); this.bindPageChange(); + this.bindViewerEvent("diva-annotation-select", this.handleAnnotationSelectBound); this.bindViewerEvent("diva-page-loaded", this.handlePageLoadedBound); this.bindFullscreenChange(); this.bindZoomChange(); this.bindLoadingChange(); + this.bindViewerEvent( + "diva-static-image-cors-fallback", + this.handleStaticImageCorsFallbackBound + ); this.bindViewerEvent("diva-page-load-error", this.handlePageLoadErrorBound); } /** @@ -34293,9 +33430,43 @@ } bindPorts() { this.getPort("tileSourcesUpdated").subscribe((update) => { + if (this.annotationResourceId !== update.resourceId) { + this.annotationResourceId = update.resourceId; + this.manifestAnnotationsByCanvas.clear(); + this.apiAnnotationsByCanvas.clear(); + this.clearedAnnotationCanvases.clear(); + this.annotationImageServicesByCanvas.clear(); + } + update.tileSources.forEach((source) => { + if (source.canvasId) { + this.annotationImageServicesByCanvas.set(source.canvasId, source.isStatic ? null : source.url); + } + }); this.auth.registerSources(update.tileSources); this.callViewerMethodWhenReady("setTileSourceResolver", this.tileSourceResolver); - this.callViewerMethodWhenReady("setTileSources", update.tileSources, update.initialPageIndex, update.resourceId); + this.callViewerMethodWhenReady( + "setTileSources", + update.tileSources, + update.initialPageIndex, + update.resourceId + ); + }); + this.getPort("annotationsUpdated").subscribe((value) => { + this.manifestAnnotationsByCanvas.set( + value.canvasId, + value.annotations.map((annotation) => { + var _a; + return { + canvasId: value.canvasId, + publicAnnotation: publicAnnotationFromViewer(value.canvasId, annotation), + viewerAnnotation: { ...annotation, imageService: (_a = annotation.imageService) != null ? _a : null } + }; + }) + ); + this.applyAnnotationsForCanvas(value.canvasId); + }); + this.getPort("annotationsVisibilityUpdated").subscribe((visible) => { + this.callViewerMethodWhenReady("setAnnotationsVisible", visible); }); this.getPort("pageAspectsUpdated").subscribe((aspects) => { this.callViewerMethodWhenReady("setPageAspects", aspects); @@ -34347,9 +33518,11 @@ this.callViewerMethod("setLayoutMode", mode); this.updateLayoutState(mode, this.state.viewingDirection); }); - this.getPort("resourceLoadSucceeded").subscribe((value) => { - this.handleResourceSucceeded(value.requestId, value.url, value.hasPages, value.pageIndex); - }); + this.getPort("resourceLoadSucceeded").subscribe( + (value) => { + this.handleResourceSucceeded(value.requestId, value.url, value.hasPages, value.pageIndex); + } + ); this.getPort("resourceLoadFailed").subscribe((value) => { this.handleResourceFailed(value.requestId, value.message); }); @@ -34382,6 +33555,41 @@ images }; } + effectiveAnnotationsForCanvas(canvasId) { + var _a, _b; + if (this.clearedAnnotationCanvases.has(canvasId)) { + return []; + } + const merged = /* @__PURE__ */ new Map(); + ((_a = this.manifestAnnotationsByCanvas.get(canvasId)) != null ? _a : []).forEach( + (annotation) => merged.set(annotation.viewerAnnotation.id, annotation) + ); + ((_b = this.apiAnnotationsByCanvas.get(canvasId)) != null ? _b : []).forEach( + (annotation) => merged.set(annotation.viewerAnnotation.id, annotation) + ); + return Array.from(merged.values()); + } + applyAnnotationsForCanvas(canvasId) { + this.callViewerMethodWhenReady( + "setAnnotations", + canvasId, + this.effectiveAnnotationsForCanvas(canvasId).map((annotation) => annotation.viewerAnnotation) + ); + } + findStoredAnnotation(annotationId) { + for (const canvasId of /* @__PURE__ */ new Set([ + ...this.manifestAnnotationsByCanvas.keys(), + ...this.apiAnnotationsByCanvas.keys() + ])) { + const annotation = this.effectiveAnnotationsForCanvas(canvasId).find( + (candidate) => candidate.viewerAnnotation.id === annotationId + ); + if (annotation) { + return annotation; + } + } + return void 0; + } rebuildPageIndexes() { this.pagesByCanvasId.clear(); this.pagesByLabel.clear(); @@ -34432,7 +33640,12 @@ this.emit("resourcechange", { resourceUrl: url, state: this.copyState() }); } if (hasPages) { - this.awaitingViewerResource = { id: requestId, url, pageIndex, resourceChangeEmitted: replacementCommitted }; + this.awaitingViewerResource = { + id: requestId, + url, + pageIndex, + resourceChangeEmitted: replacementCommitted + }; const viewer = this.ensureMainViewer(); const sourceId = (_a = this.pages[pageIndex]) == null ? void 0 : _a.primaryImage.id; if (sourceId && viewer && typeof viewer.isPageLoaded === "function" && viewer.isPageLoaded(pageIndex, sourceId)) { @@ -34545,7 +33758,11 @@ const controller = new AbortController(); this.filterPreviewController = controller; try { - tileSource = await this.auth.resolve({ sourceId: payload.sourceId, url: payload.tileSource, isStatic: payload.isStatic }, controller.signal); + tileSource = await this.auth.resolve({ + sourceId: payload.sourceId, + url: payload.tileSource, + isStatic: payload.isStatic + }, controller.signal); } catch (error) { if (!controller.signal.aborted && !this.isDestroyed && version === this.filterPreviewVersion) { console.error("Unable to authorize filter preview source", error); @@ -34559,6 +33776,7 @@ if (this.isDestroyed || version !== this.filterPreviewVersion) { return; } + this.setFilterAccessBlocked(this.isNonCorsStaticSource(tileSource)); this.currentFilterSourceKey = sourceKey; this.filterViewer.open(tileSource); } else { @@ -34610,6 +33828,167 @@ getPages() { return this.pages.map((page) => this.copyPage(page)); } + /** + * Add or replace one API-supplied Web Annotation on a loaded Canvas. + */ + setAnnotation(annotation) { + var _a, _b; + this.assertAlive(); + const stored = normalizePublicAnnotation(annotation); + if (!this.pagesByCanvasId.has(stored.canvasId)) { + throw new RangeError(`Annotation Canvas ${stored.canvasId} is not part of the loaded manifest.`); + } + stored.viewerAnnotation.imageService = (_a = this.annotationImageServicesByCanvas.get(stored.canvasId)) != null ? _a : null; + this.apiAnnotationsByCanvas.forEach((annotations2, canvasId) => { + const retained = annotations2.filter( + (candidate) => candidate.viewerAnnotation.id !== stored.viewerAnnotation.id + ); + if (retained.length !== annotations2.length) { + this.apiAnnotationsByCanvas.set(canvasId, retained); + this.applyAnnotationsForCanvas(canvasId); + } + }); + const annotations = (_b = this.apiAnnotationsByCanvas.get(stored.canvasId)) != null ? _b : []; + this.apiAnnotationsByCanvas.set(stored.canvasId, [...annotations, stored]); + this.clearedAnnotationCanvases.delete(stored.canvasId); + this.applyAnnotationsForCanvas(stored.canvasId); + } + /** + * Replace the API-supplied annotation set for the loaded manifest. + */ + setAnnotations(annotations) { + this.assertAlive(); + if (!Array.isArray(annotations)) { + throw new TypeError("Annotations must be an array."); + } + const next = /* @__PURE__ */ new Map(); + annotations.forEach((annotation) => { + var _a, _b; + const stored = normalizePublicAnnotation(annotation); + if (!this.pagesByCanvasId.has(stored.canvasId)) { + throw new RangeError(`Annotation Canvas ${stored.canvasId} is not part of the loaded manifest.`); + } + stored.viewerAnnotation.imageService = (_a = this.annotationImageServicesByCanvas.get(stored.canvasId)) != null ? _a : null; + const canvasAnnotations = (_b = next.get(stored.canvasId)) != null ? _b : []; + next.set(stored.canvasId, [ + ...canvasAnnotations.filter( + (candidate) => candidate.viewerAnnotation.id !== stored.viewerAnnotation.id + ), + stored + ]); + }); + const affected = /* @__PURE__ */ new Set([...this.apiAnnotationsByCanvas.keys(), ...next.keys()]); + this.apiAnnotationsByCanvas.clear(); + next.forEach((canvasAnnotations, canvasId) => { + this.apiAnnotationsByCanvas.set(canvasId, canvasAnnotations); + this.clearedAnnotationCanvases.delete(canvasId); + }); + affected.forEach((canvasId) => this.applyAnnotationsForCanvas(canvasId)); + } + /** + * Return defensive Web Annotation snapshots for one Canvas. + */ + getAnnotationsForCanvas(uri) { + this.assertAlive(); + return this.effectiveAnnotationsForCanvas(uri).map((annotation) => copyAnnotation(annotation.publicAnnotation)); + } + /** + * Return defensive Web Annotation snapshots for the loaded manifest. + */ + getAllAnnotations() { + this.assertAlive(); + return this.pages.flatMap((page) => this.getAnnotationsForCanvas(page.canvasId)); + } + /** + * Clear both manifest and API-supplied annotations for one Canvas. + */ + clearAnnotationsForCanvas(uri) { + this.assertAlive(); + this.clearedAnnotationCanvases.add(uri); + this.apiAnnotationsByCanvas.delete(uri); + this.applyAnnotationsForCanvas(uri); + } + /** + * Clear both manifest and API-supplied annotations for every Canvas. + */ + clearAllAnnotations() { + this.assertAlive(); + this.apiAnnotationsByCanvas.clear(); + this.pages.forEach((page) => { + this.clearedAnnotationCanvases.add(page.canvasId); + this.applyAnnotationsForCanvas(page.canvasId); + }); + } + /** + * Select an annotation and open its details panel. + */ + selectAnnotation(annotationId) { + this.assertAlive(); + if (typeof annotationId !== "string") { + throw new TypeError("Annotation id must be a string."); + } + if (!this.findStoredAnnotation(annotationId)) { + throw new RangeError(`Unknown annotation: ${annotationId}`); + } + this.callViewerMethodWhenReady("selectAnnotation", annotationId); + } + /** + * Return whether user annotation selection is enabled. + */ + getAnnotationSelectionEnabled() { + this.assertAlive(); + const viewer = this.ensureMainViewer(); + return viewer && typeof viewer.getAnnotationSelectionEnabled === "function" ? viewer.getAnnotationSelectionEnabled() : this.annotationSelectionEnabled; + } + /** + * Enable or disable user annotation selection. + */ + setAnnotationSelectionEnabled(enabled) { + this.assertAlive(); + this.annotationSelectionEnabled = enabled; + this.callViewerMethodWhenReady("setAnnotationSelectionEnabled", enabled); + } + /** + * Toggle user annotation selection and return the new state. + */ + toggleAnnotationSelectionEnabled() { + this.setAnnotationSelectionEnabled(!this.getAnnotationSelectionEnabled()); + return this.annotationSelectionEnabled; + } + /** + * Return the IIIF Image API extract URL for an annotation, when available. + * + * @returns The extract URL, or `null` when the annotation is unknown or has no usable image region. + */ + getImageRegionForAnnotation(annotationId) { + var _a, _b; + this.assertAlive(); + if (typeof annotationId !== "string") { + throw new TypeError("Annotation id must be a string."); + } + const annotation = this.findStoredAnnotation(annotationId); + const renderedUrl = (_b = (_a = this.mainViewer) == null ? void 0 : _a.getImageRegionForAnnotation) == null ? void 0 : _b.call(_a, annotationId); + if (typeof renderedUrl === "string") { + return renderedUrl; + } + if (!annotation || annotation.viewerAnnotation.shape.kind === "svg") { + return null; + } + const { x, y, width, height } = annotation.viewerAnnotation.shape; + return typeof x === "number" && typeof y === "number" && typeof width === "number" && typeof height === "number" ? iiifImageRegionUrl(annotation.viewerAnnotation.imageService, { x, y, width, height }) : null; + } + /** + * Return an annotation body's textual or HTML value, if present. + */ + getAnnotationBody(annotationId) { + var _a; + this.assertAlive(); + if (typeof annotationId !== "string") { + throw new TypeError("Annotation id must be a string."); + } + const annotation = this.findStoredAnnotation(annotationId); + return annotation ? annotationBodyText((_a = annotation.publicAnnotation.body) != null ? _a : annotation.publicAnnotation.resource) : void 0; + } /** * Find a displayed page by Canvas identifier or localized display label. * @@ -34643,7 +34022,9 @@ * @returns One page in `single` mode, or the pages belonging to the current logical opening in a spread mode. */ getVisiblePages() { - return this.state.visiblePageIndexes.map((index) => this.pages[index]).filter(Boolean).map((page) => this.copyPage(page)); + return this.state.visiblePageIndexes.map((index) => this.pages[index]).filter(Boolean).map( + (page) => this.copyPage(page) + ); } /** * Return the current single-page or spread layout mode. @@ -34934,6 +34315,10 @@ this.removeViewerEvent("diva-page-loaded", this.handlePageLoadedBound); this.removeViewerEvent("diva-zoom-change", this.handleZoomChangeBound); this.removeViewerEvent("diva-loading-change", this.handleLoadingChangeBound); + this.removeViewerEvent( + "diva-static-image-cors-fallback", + this.handleStaticImageCorsFallbackBound + ); this.removeViewerEvent("diva-page-load-error", this.handlePageLoadErrorBound); root.removeEventListener("click", this.handleRootClickBound, true); document.removeEventListener("fullscreenchange", this.handleFullscreenChangeBound); @@ -34965,6 +34350,7 @@ this.currentFilterSourceKey = null; this.pendingFilterPreview = null; this.filterOptions = null; + this.setFilterAccessBlocked(false); this.filterPreviewRetries = 0; } setFullscreen(enabled) { @@ -35031,11 +34417,19 @@ }); } } + handleAnnotationSelect(event) { + var _a; + const annotationId = (_a = event.detail) == null ? void 0 : _a.annotationId; + if (typeof annotationId === "string") { + this.emit("annotationselect", { annotationId }); + } + } handlePageLoaded(event) { const detail = event.detail; if (!detail || typeof detail.index !== "number") { return; } + this.getPort("viewerPageLoaded").send(detail.index); const awaiting = this.awaitingViewerResource; if (awaiting && detail.resourceId === awaiting.id && detail.index === awaiting.pageIndex) { this.completeResource(awaiting.id, awaiting.url, !awaiting.resourceChangeEmitted); @@ -35059,6 +34453,13 @@ this.viewerLoading = detail.loading; this.refreshLoadingState(); } + handleStaticImageCorsFallback(event) { + var _a; + const sourceId = (_a = event.detail) == null ? void 0 : _a.sourceId; + if (typeof sourceId === "string") { + this.auth.useNonCorsStaticSource(sourceId); + } + } handlePageLoadError(event) { var _a; const detail = event.detail; @@ -35140,6 +34541,10 @@ if (!this.filterViewer) { return; } + if (this.filterAccessBlocked) { + setFilterOptions(this.filterViewer, { filters: [] }); + return; + } const options = buildFilterOptions(this.filterOptions); setFilterOptions(this.filterViewer, options); if (this.filterViewer.viewport) { @@ -35160,7 +34565,7 @@ } } saveFilteredImage() { - if (!this.filterViewer) { + if (!this.filterViewer || this.filterAccessBlocked) { return; } const drawer = this.filterViewer.drawer; @@ -35180,6 +34585,50 @@ console.error("Failed to save filtered image", error); } } + isNonCorsStaticSource(tileSource) { + return typeof tileSource === "object" && tileSource !== null && tileSource.type === "image" && tileSource.crossOriginPolicy === false; + } + setFilterAccessBlocked(blocked) { + this.filterAccessBlocked = blocked; + const sidebar = this.root.querySelector(".diva-modal-sidebar"); + if (!sidebar) { + return; + } + const controls = Array.from( + sidebar.querySelectorAll( + "button, input, select, textarea" + ) + ); + controls.forEach((control) => { + if (blocked) { + control.dataset.divaFilterWasDisabled = control.disabled ? "true" : "false"; + control.disabled = true; + } else if (control.dataset.divaFilterWasDisabled !== void 0) { + control.disabled = control.dataset.divaFilterWasDisabled === "true"; + delete control.dataset.divaFilterWasDisabled; + } + }); + const saveButton = this.root.querySelector('button[aria-label="Save view"]'); + if (saveButton) { + if (blocked) { + saveButton.dataset.divaFilterWasDisabled = saveButton.disabled ? "true" : "false"; + saveButton.disabled = true; + } else if (saveButton.dataset.divaFilterWasDisabled !== void 0) { + saveButton.disabled = saveButton.dataset.divaFilterWasDisabled === "true"; + delete saveButton.dataset.divaFilterWasDisabled; + } + } + let warning = sidebar.querySelector(".diva-filter-access-warning"); + if (blocked && !warning) { + warning = document.createElement("p"); + warning.className = "diva-filter-access-warning"; + warning.textContent = "Image filters and Save view require CORS-enabled image access."; + sidebar.prepend(warning); + } + if (!blocked) { + warning == null ? void 0 : warning.remove(); + } + } getPort(name) { const ports = this.app.ports; const port = ports ? ports[name] : void 0; @@ -35386,24 +34835,28 @@ } } if (filters.pseudoColourEnabled) { - processors.push(Filters.PSEUDOCOLOR( - filters.pseudoColourMode || "", - (_c = filters.pseudoColourRed) != null ? _c : 1, - (_d = filters.pseudoColourGreen) != null ? _d : 1, - (_e = filters.pseudoColourBlue) != null ? _e : 1 - )); + processors.push( + Filters.PSEUDOCOLOR( + filters.pseudoColourMode || "", + (_c = filters.pseudoColourRed) != null ? _c : 1, + (_d = filters.pseudoColourGreen) != null ? _d : 1, + (_e = filters.pseudoColourBlue) != null ? _e : 1 + ) + ); } if (filters.globalPcaEnabled) { processors.push(Filters.GLOBAL_PCA_COLOR(filters.pcaMode || "", (_f = filters.pcaHue) != null ? _f : 0)); } if (filters.colourReplaceEnabled) { - processors.push(Filters.COLOR_REPLACE( - filters.colourReplaceSource || "#ffffff", - filters.colourReplaceTarget || "#ffffff", - (_g = filters.colourReplaceTolerance) != null ? _g : 24, - (_h = filters.colourReplaceBlend) != null ? _h : 1, - (_i = filters.colourReplacePreserveLum) != null ? _i : false - )); + processors.push( + Filters.COLOR_REPLACE( + filters.colourReplaceSource || "#ffffff", + filters.colourReplaceTarget || "#ffffff", + (_g = filters.colourReplaceTolerance) != null ? _g : 24, + (_h = filters.colourReplaceBlend) != null ? _h : 1, + (_i = filters.colourReplacePreserveLum) != null ? _i : false + ) + ); } appendMappedProcessors(processors, filters, altFilterMappings); if (processors.length === 0) { diff --git a/nginx/app/dependencies/diva.js/build/diva.esm.js b/nginx/app/dependencies/diva.js/build/diva.esm.js index 4642f2aa..90235870 100644 --- a/nginx/app/dependencies/diva.js/build/diva.esm.js +++ b/nginx/app/dependencies/diva.js/build/diva.esm.js @@ -1 +1 @@ -var e,t,a,r,n,i,o,u,s,c,l,b,d,f=null,h=class extends HTMLElement{static get observedAttributes(){return["data-src","data-fallback-src","data-alt","data-crossorigin"]}connectedCallback(){this.observe()}disconnectedCallback(){null==f||f.unobserve(this)}attributeChangedCallback(){this.reset(),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==f||f.unobserve(this);let a=document.createElement("img");a.className="diva-thumbs-image",a.alt=null!=(e=this.dataset.alt)?e:"";let r=this.dataset.crossorigin,n="anonymous"===r;this.image=a,this.appendChild(a),this.loadImage(a,t,n?void 0:r,n,!1)}loadImage(e,t,a,r,n){e.removeAttribute("crossorigin"),a&&(e.crossOrigin=a),e.onerror=()=>{let a=this.dataset.fallbackSrc;r&&!n&&a&&a!==t?this.loadImage(e,a,void 0,!0,!0):this.showUnavailable()},e.removeAttribute("src"),e.src=t}reset(){var e,t;null==(e=this.image)||e.remove(),this.image=null,null==(t=this.unavailable)||t.remove(),this.unavailable=null}showUnavailable(){var e;null==(e=this.image)||e.remove(),this.image=null;let t=document.createElement("div");t.className="diva-thumbs-image diva-thumbs-image--unavailable",t.setAttribute("aria-label","Thumbnail unavailable"),this.unavailable=t,this.appendChild(t)}observe(){"IntersectionObserver"in window?(f||(f=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:"300px 0px"})),f.observe(this)):this.load()}constructor(){super(...arguments),this.image=null,this.unavailable=null}},v=class extends HTMLElement{connectedCallback(){this.style.display="block",this.container||(this.container=document.createElement("div"),this.container.className="osd-container",this.container.style.width="100%",this.container.style.height="100%",this.container.addEventListener("wheel",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener("dblclick",this.handleDoubleClickBound),this.appendChild(this.container),this.createScrollbar());let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener("wheel",this.handleWheelBound),this.container.removeEventListener("dblclick",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener("mousemove",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener("mouseup",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.viewer.destroy(),this.viewer=null),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler("pan",this.handleViewportChangeBound),t.addHandler("zoom",this.handleViewportChangeBound),t.addHandler("pan",()=>this.updateScrollbar()),t.addHandler("zoom",()=>this.updateScrollbar()),t.addHandler("animation-finish",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single"})}setViewingDirection(e){this.applyLayoutChange({direction:"rtl"===e?"rtl":"ltr"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single",direction:"rtl"===t?"rtl":"ltr"})}setTileSources(e,t=0,a="internal"){if(Array.isArray(e)){if(this.tileSources=e.slice(),this.resourceId=a,this.initialPageIndex=Number.isInteger(t)&&t>=0&&ta.has(e.sourceId))&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)}setPageLabels(e){Array.isArray(e)&&(this.pageLabels=e,this.pageOverlayElements.forEach((e,t)=>{this.addOrUpdatePageOverlay(t)}))}resetTileSources(e,t=0){this.viewer&&("function"==typeof this.viewer.close?this.viewer.close():this.viewer.world.removeAll(),this.cancelLoads(),this.tileSources=e,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t0?this.initialPageIndex:null,this.lastReportedIndex=this.targetIndex,this.clearScrollPlane(),this.buildOffsets(),this.ensureScrollPlane(),null!==this.targetIndex&&this.positionInitialViewport(this.targetIndex),this.resetLoadingState(),this.suppressPageChange=!0,this.suppressZoomChange=!0,this.maybeLoadMore())}handleViewportChange(){var e;if(this.isClamping)return;let t=null==(e=this.viewer)?void 0:e.viewport;t&&(this.maybeLoadMore(t),this.maybeEmitPageChange(t),this.clampTop(t),this.clampBottom(t))}handleAnimationFinish(){this.updateScrollbar(),this.maybeEmitZoomChange()}maybeLoadMore(e){var t;if(0===this.tileSources.length)return;if(!this.isViewportInitialized){if(null!==this.targetIndex){this.ensurePageLoaded(this.targetIndex);let e=this.pageOffsets[this.targetIndex]||0,t=this.pageRowHeights[this.targetIndex]||this.pageHeights[this.targetIndex]||1,a=this.indicesForRange(Math.max(0,e-1.5*t),e+2.5*t);if(a)for(let e=a[0];e<=a[1];e+=1)this.ensurePageLoaded(e)}return}let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=1.5*r.height,i=Math.max(0,r.y-n),o=r.y+r.height+n,u=this.indicesForRange(i,o);if(!u)return;let s=u[0],c=u[1],l=s;for(;l<=c;)this.ensurePageLoaded(l),l+=1;null!==this.targetIndex&&this.ensurePageLoaded(this.targetIndex)}ensurePageLoaded(e){e<0||e>=this.tileSources.length||e>=this.pageOffsets.length||this.loadedIndexes.has(e)||this.loadingIndexes.has(e)||this.unavailableIndexes.has(e)||this.loadTile(e)}async loadTile(e){let t;if(!this.viewer)return;let a=this.loadToken,r=this.tileSources[e],n=new AbortController;this.loadControllers.set(e,n),this.loadingIndexes.add(e),this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.updateLoadingState();try{t=await this.tileSourceResolver(r,n.signal)}catch(t){a!==this.loadToken||n.signal.aborted||this.markUnavailable(e,t instanceof Error?t.message:"This image is unavailable."),this.finishLoad(e,n);return}if(a!==this.loadToken||n.signal.aborted||!this.viewer)return void this.finishLoad(e,n);let i=this.pageOffsets[e]||0,o=this.pageXOffsets[e]||0;this.viewer.addTiledImage({tileSource:t,...this.tileRequestOptions(t),x:o,y:i,width:1,success:t=>{if(a!==this.loadToken)return;let r=t.item,n=this.pageXOffsets[e]||0,i=this.pageOffsets[e]||0,o=this.pageHeights[e]||1;if(r.setPosition(new OpenSeadragon.Point(n,i),!0),r.setWidth(1,!0),r.setHeight(o,!0),this.loadedIndexes.add(e),this.loadedItems.set(e,r),this.resolvePageWaiters(e,r),this.addOrUpdatePageOverlay(e),this.loadingIndexes.delete(e),this.loadControllers.delete(e),this.updateLoadingState(),!this.hasFitFirstPage&&e===this.initialPageIndex){this.hasFitFirstPage=!0;let t=this.viewer;if(!t||!t.viewport)return;let a=this.isSingleCanvasLayout(),n=a?r.getBounds():this.isSpreadMode()?this.getRowBounds(e):r.getBounds();t.viewport.fitBounds(n,!0),a||t.viewport.zoomBy(.95,t.viewport.getCenter(!0),!0),this.alignTopAfterFit(e),t.viewport.applyConstraints(),this.isViewportInitialized=!0,this.lockHorizontalPan(),this.recenterAfterFit(),this.flushInitialPageChange(),this.flushInitialZoomChange()}this.emitCustomEvent("diva-page-loaded",{index:e,resourceId:this.resourceId}),this.targetIndex===e&&(this.targetIndex=null),this.maybeLoadMore()},error:t=>{a===this.loadToken&&(this.markUnavailable(e,(null==t?void 0:t.message)||"This image could not be loaded. Static images must allow CORS."),this.finishLoad(e,n),this.maybeLoadMore())}})}tileRequestOptions(e){if(!e||"object"!=typeof e)return{};let t={};return"boolean"==typeof e.ajaxWithCredentials&&(t.ajaxWithCredentials=e.ajaxWithCredentials),("string"==typeof e.crossOriginPolicy||"boolean"==typeof e.crossOriginPolicy)&&(t.crossOriginPolicy=e.crossOriginPolicy),t}finishLoad(e,t){this.loadControllers.get(e)===t&&(this.loadControllers.delete(e),this.loadingIndexes.delete(e),this.updateLoadingState())}cancelLoads(){this.loadToken+=1,this.loadControllers.forEach(e=>e.abort()),this.loadControllers.clear(),this.loadingIndexes.clear(),this.rejectPageWaiters(new DOMException("The image load was cancelled.","AbortError")),this.resetLoadingState()}markUnavailable(e,t){this.unavailableIndexes.set(e,t),this.rejectPageWaiters(Error(t),e),this.emitCustomEvent("diva-page-load-error",{index:e,message:t,resourceId:this.resourceId}),this.addUnavailableOverlay(e,t)}waitForPage(e){let t=this.loadedItems.get(e);if(t)return Promise.resolve(t);let a=this.unavailableIndexes.get(e);return a?Promise.reject(Error(a)):new Promise((t,a)=>{var r;let n=null!=(r=this.pageWaiters.get(e))?r:[];n.push({resolve:t,reject:a}),this.pageWaiters.set(e,n),this.ensurePageLoaded(e)})}resolvePageWaiters(e,t){var a;let r=null!=(a=this.pageWaiters.get(e))?a:[];this.pageWaiters.delete(e),r.forEach(e=>e.resolve(t))}rejectPageWaiters(e,t){(void 0===t?Array.from(this.pageWaiters.keys()):[t]).forEach(t=>{var a;let r=null!=(a=this.pageWaiters.get(t))?a:[];this.pageWaiters.delete(t),r.forEach(t=>t.reject(e))})}addUnavailableOverlay(e,t){if(!this.viewer)return;this.removeUnavailableOverlay(e);let a=document.createElement("div");a.className="diva-image-unavailable",a.dataset.index=String(e);let r=document.createElement("p");r.textContent=t;let n=document.createElement("button");n.type="button",n.textContent="Retry image",n.addEventListener("click",()=>{this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.ensurePageLoaded(e)}),a.append(r,n),this.viewer.addOverlay({element:a,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}removeUnavailableOverlay(e){let t=this.querySelector(`.diva-image-unavailable[data-index="${e}"]`);t&&this.viewer&&this.viewer.removeOverlay(t),null==t||t.remove()}setPageAspects(e){Array.isArray(e)&&(this.pageAspects=e.filter(e=>e>0),this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),this.isViewportInitialized||null===this.targetIndex||this.positionInitialViewport(this.targetIndex),this.maybeLoadMore())}buildOffsets(){let e=this.tileSources.length>0?this.tileSources.length:this.pageAspects.length;this.pageOffsets=Array(e),this.pageHeights=Array(e),this.pageRowHeights=Array(e),this.pageXOffsets=Array(e),this.isSpreadMode()?this.buildSpreadOffsets(e):this.buildSingleOffsets(e)}buildSingleOffsets(e){let t=0,a=this.pageAspects[0]||1;for(let r=0;r0){let e=this.pageAspects[0]||n;n=e,this.pageOffsets[0]=a,this.pageHeights[0]=e,this.pageRowHeights[0]=e,this.pageXOffsets[0]=+!t,a+=e+.06,r=1}for(;r{let a=this.pageOffsets[t],r=this.pageHeights[t],n=this.pageXOffsets[t];e.setPosition(new OpenSeadragon.Point(n,a),!0),e.setWidth(1,!0),e.setHeight(r,!0),this.addOrUpdatePageOverlay(t)})}addOrUpdatePageOverlay(e){if(!this.viewer)return;let t=this.pageOverlayElements.get(e),a=e%2==0;t||((t=document.createElement("div")).className="diva-page-overlay-label",t.style.pointerEvents="none",t.style.color="#ffffff",t.style.background="transparent",t.style.padding="0",t.style.borderRadius="0",t.style.fontSize="12px",t.style.fontWeight="600",t.style.lineHeight="1.2",t.style.whiteSpace="nowrap",t.style.paddingBottom="6px",t.style.paddingLeft=a?"0":"12px",t.style.paddingRight=a?"12px":"0",this.pageOverlayElements.set(e,t)),t.textContent=this.pageLabels[e]||`Page ${e+1}`;let r=(this.pageXOffsets[e]||0)+ +!!a,n=this.pageOffsets[e]||0;try{this.viewer.removeOverlay(t)}catch(e){}this.viewer.addOverlay({element:t,location:new OpenSeadragon.Point(r,n),placement:a?OpenSeadragon.Placement.BOTTOM_RIGHT:OpenSeadragon.Placement.BOTTOM_LEFT})}clearPageOverlays(){this.viewer&&this.pageOverlayElements.forEach(e=>{var t;try{null==(t=this.viewer)||t.removeOverlay(e)}catch(e){}e.remove()}),this.pageOverlayElements.clear()}ensureScrollPlane(){if(!this.viewer||0===this.pageOffsets.length)return;let e=this.getTotalHeight(),t=this.isSpreadMode()?2:1;if(this.scrollPlaneItem){this.scrollPlaneItem.setPosition(new OpenSeadragon.Point(0,0),!0),this.scrollPlaneItem.setWidth(t,!0),this.scrollPlaneItem.setHeight(e,!0);return}let a=`data:image/svg+xml;charset=utf-8,${encodeURIComponent('')}`;this.viewer.addTiledImage({tileSource:{type:"image",url:a},x:0,y:0,width:t,success:a=>{let r=a.item;r.setOpacity(0),r.setPosition(new OpenSeadragon.Point(0,0),!0),r.setWidth(t,!0),r.setHeight(e,!0),this.scrollPlaneItem=r}})}clearScrollPlane(){this.viewer&&this.scrollPlaneItem&&(this.viewer.world.removeItem(this.scrollPlaneItem),this.scrollPlaneItem=null)}indicesForRange(e,t){return 0===this.pageOffsets.length?null:[this.findIndexForOffset(e),this.getRowEndIndex(this.findIndexForOffset(t))]}findIndexForOffset(e){let t=0,a=this.pageOffsets.length-1;for(;t<=a;){let r=Math.floor((t+a)/2),n=this.pageOffsets[r],i=this.pageRowHeights[r]||this.pageHeights[r]||1;if(en+i))return this.getRowStartIndex(r);t=r+1}}if(t>=this.pageOffsets.length)return this.pageOffsets.length-1;let r=Math.max(0,t);return this.getRowStartIndex(r)}scrollToOffset(e){var t;let a=null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=this.isSpreadMode()?2:1,i=new OpenSeadragon.Rect(0,e,n,r.height);a.fitBounds(i,!0)}positionInitialViewport(e){var t;let a=null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=this.pageOffsets[e]||0,n=this.pageRowHeights[e]||this.pageHeights[e]||1,i=Math.max(0,r-1.5*n),o=this.isSpreadMode()?2:1;a.fitBounds(new OpenSeadragon.Rect(0,i,o,r+2.5*n-i),!0)}scrollToIndex(e){if(e<0||e>=this.tileSources.length||e>=this.pageOffsets.length)return;let t=this.pageOffsets[e];this.scrollToOffset(t),this.targetIndex=e,this.ensurePageLoaded(e),this.lastReportedIndex=e,this.emitCustomEvent("diva-page-change",{index:e})}getVisiblePageIndexes(){var e;if(0===this.pageOffsets.length)return[];let t=null!=(e=this.lastReportedIndex)?e:0,a=this.getRowStartIndex(t);return Array.from({length:this.getRowEndIndex(a)-a+1},(e,t)=>a+t)}isPageLoaded(e,t){var a;return(null==(a=this.tileSources[e])?void 0:a.sourceId)===t&&this.loadedIndexes.has(e)}next(){let e=this.getVisiblePageIndexes();if(0===e.length)return;let t=this.getRowEndIndex(e[0])+1;t0?n/r.height*.75:0,o=a.getCenter(!0),u=new OpenSeadragon.Point(this.getCenterX(),o.y+i);a.panTo(u,!0),this.recenterBoundsX(),this.clampTop(),this.clampBottom(),this.maybeEmitPageChange()}lockHorizontalPan(){var e;if(!this.isViewportInitialized)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(this.getCenterX(),a.y),!0),t.applyConstraints()}recenterAfterFit(){if(!this.viewer)return;let e=()=>{this.viewer&&this.viewer.removeHandler("animation-finish",e),this.recenterBoundsX()};"function"==typeof this.viewer.addOnceHandler?this.viewer.addOnceHandler("animation-finish",e):this.viewer.addHandler("animation-finish",e)}recenterBoundsX(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0),r=this.getCenterX();5e-4>Math.abs(a.x-r)||(t.panTo(new OpenSeadragon.Point(r,a.y),!0),t.applyConstraints())}clampTop(e){var t;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=-this.getTopPaddingViewport(r.height);if(r.y>=n)return;let i=r.height/2+n;this.isClamping=!0,a.panTo(new OpenSeadragon.Point(this.getCenterX(),i),!0),a.applyConstraints(),this.isClamping=!1}clampBottom(e){var t,a;let r=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!r||0===this.pageOffsets.length)return;let n=this.getTotalHeight(),i=r.getBounds(!0),o=n+20/((null==(a=this.container)?void 0:a.getBoundingClientRect().height)||1)*i.height;if(i.y+i.height<=o)return;let u=o-i.height/2;this.isClamping=!0,r.panTo(new OpenSeadragon.Point(this.getCenterX(),u),!0),r.applyConstraints(),this.isClamping=!1}maybeEmitPageChange(e){var t;if(this.suppressPageChange||this.isScrollbarDragging||0===this.pageOffsets.length)return;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getCenter(!0),n=this.findIndexForOffset(r.y);this.lastReportedIndex!==n&&(this.lastReportedIndex=n,this.emitCustomEvent("diva-page-change",{index:n}))}emitPageChangeInstant(){var e;if(0===this.pageOffsets.length)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0),r=this.findIndexForOffset(a.y);this.lastReportedIndex=r,this.emitCustomEvent("diva-page-change",{index:r,instant:!0})}flushInitialPageChange(){if(0===this.pageOffsets.length){this.suppressPageChange=!1;return}if(!this.viewer||!this.viewer.viewport)return;let e=this.viewer.viewport.getCenter(!0),t=this.findIndexForOffset(e.y);this.lastReportedIndex=t,this.suppressPageChange=!1,this.emitCustomEvent("diva-page-change",{index:t})}maybeEmitZoomChange(e){var t;if(this.suppressZoomChange)return;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getZoom(!0);null!==this.lastReportedZoom&&1e-4>Math.abs(this.lastReportedZoom-r)||(this.lastReportedZoom=r,this.emitCustomEvent("diva-zoom-change",{zoom:r}))}flushInitialZoomChange(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getZoom(!0);this.lastReportedZoom=a,this.suppressZoomChange=!1,this.emitCustomEvent("diva-zoom-change",{zoom:a})}alignTopAfterFit(e){if(!this.viewer)return;let t=this.viewer.viewport;if(!t)return;let a=t.getBounds(!0),r=this.getTopPaddingViewport(a.height),n=(this.pageOffsets[e]||0)-r;if(5e-4>Math.abs(a.y-n))return;let i=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(i.x,a.height/2+n),!0),t.applyConstraints()}getTopPaddingViewport(e){var t;return 28/((null==(t=this.container)?void 0:t.getBoundingClientRect().height)||1)*e}resetLoadingState(){null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1})}updateLoadingState(){if(this.loadingIndexes.size>0){if(this.isLoading||null!==this.loadingTimer)return;this.loadingTimer=window.setTimeout(()=>{this.loadingTimer=null,this.loadingIndexes.size>0&&!this.isLoading&&(this.isLoading=!0,this.emitCustomEvent("diva-loading-change",{loading:!0}))},300);return}null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading&&(this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1}))}applyLayoutChange(e){var t,a,r;let n=null!=(t=e.mode)?t:this.layoutMode,i=null!=(a=e.direction)?a:this.viewingDirection;if(this.layoutMode===n&&this.viewingDirection===i)return;let o=null,u=null==(r=this.viewer)?void 0:r.viewport;if(u&&this.pageOffsets.length>0){let e=u.getBounds(!0),t=e.y+.5*e.height;o=this.findIndexForOffset(t)}else null!==this.lastReportedIndex&&(o=this.lastReportedIndex);if(this.layoutMode=n,this.viewingDirection=i,this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),null!==o){let e=Math.max(0,Math.min(o,this.pageOffsets.length-1));this.scrollToIndex(e)}else this.lockHorizontalPan(),this.recenterAfterFit();this.maybeLoadMore()}emitCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}getCenterX(){return this.isSpreadMode()?1:.5}isSingleCanvasLayout(){return 1===this.tileSources.length&&1===this.pageOffsets.length}getTotalHeight(){let e=this.pageOffsets.length-1;return this.pageOffsets[e]+(this.pageRowHeights[e]||1)}getRowBounds(e){let t=this.pageOffsets[e]||0,a=this.pageRowHeights[e]||this.pageHeights[e]||1,r=this.isSpreadMode()?2:1;return new OpenSeadragon.Rect(0,t,r,a)}isSpreadMode(){return"single"!==this.layoutMode}getRowStartIndex(e){return this.isSpreadMode()?"spread-shift"===this.layoutMode?0===e?0:e%2==1?e:e-1:e-e%2:e}getRowEndIndex(e){let t=this.pageOffsets.length-1;return this.isSpreadMode()?"spread-shift"===this.layoutMode&&0===e?0:Math.min(e+1,t):e}createScrollbar(){this.container&&(this.scrollbarTrack=document.createElement("div"),this.scrollbarTrack.className="diva-scrollbar-track",this.scrollbarThumb=document.createElement("div"),this.scrollbarThumb.className="diva-scrollbar-thumb",this.scrollbarTrack.appendChild(this.scrollbarThumb),this.container.appendChild(this.scrollbarTrack),this.setupScrollbarDrag(),this.setupScrollbarTrackClick())}updateScrollbar(){if(!this.viewer||!this.scrollbarThumb||!this.scrollbarTrack||0===this.pageOffsets.length)return;let e=this.viewer.viewport.getBounds(!0),t=this.scrollbarTrack.clientHeight,a=this.getTotalHeight(),r=e.height,n=e.y,i=Math.max(30,r/a*t),o=a-r,u=o>0?Math.max(0,Math.min(1,n/o)):0;this.scrollbarThumb.style.height=`${i}px`,this.scrollbarThumb.style.top=`${Math.max(0,u*(t-i))}px`}setupScrollbarDrag(){if(!this.scrollbarThumb||!this.scrollbarTrack)return;let e=!1,t=0,a=0,r=r=>{var n;e=!0,this.isScrollbarDragging=!0,t=r.clientY,a=(null==(n=this.scrollbarThumb)?void 0:n.offsetTop)||0,r.preventDefault(),r.stopPropagation()},n=r=>{if(!e||!this.scrollbarTrack||!this.scrollbarThumb||!this.viewer)return;let n=r.clientY-t,i=a+n,o=this.scrollbarTrack.clientHeight,u=this.scrollbarThumb.clientHeight,s=Math.max(0,Math.min(i,o-u)),c=this.getTotalHeight(),l=this.viewer.viewport.getBounds(!0).height;this.scrollToOffset((o-u>0?s/(o-u):0)*(c-l))},i=()=>{e&&(e=!1,this.isScrollbarDragging=!1,this.emitPageChangeInstant())};this.scrollbarMouseMove=n,this.scrollbarMouseUp=i,this.scrollbarThumb.addEventListener("mousedown",r),document.addEventListener("mousemove",n),document.addEventListener("mouseup",i)}setupScrollbarTrackClick(){this.scrollbarTrack&&this.scrollbarTrack.addEventListener("click",e=>{var t;if(e.target===this.scrollbarThumb||!this.viewer)return;let a=null==(t=this.scrollbarTrack)?void 0:t.getBoundingClientRect();if(!a)return;let r=Math.max(0,Math.min(1,(e.clientY-a.top)/a.height)),n=this.getTotalHeight(),i=this.viewer.viewport.getBounds(!0).height;this.scrollToOffset(r*(n-i))})}constructor(){super(),this.container=null,this.viewer=null,this.loadToken=0,this.tileSources=[],this.pageLabels=[],this.pageAspects=[],this.pageOffsets=[],this.pageHeights=[],this.pageRowHeights=[],this.pageXOffsets=[],this.layoutMode="single",this.viewingDirection="ltr",this.hasFitFirstPage=!1,this.loadedIndexes=new Set,this.loadingIndexes=new Set,this.unavailableIndexes=new Map,this.loadControllers=new Map,this.tileSourceResolver=async e=>e.isStatic?{type:"image",url:e.url,crossOriginPolicy:"Anonymous"}:e.url,this.loadedItems=new Map,this.pageWaiters=new Map,this.pageOverlayElements=new Map,this.targetIndex=null,this.initialPageIndex=0,this.resourceId="initial",this.scrollPlaneItem=null,this.isViewportInitialized=!1,this.lastReportedIndex=null,this.lastReportedZoom=null,this.loadingTimer=null,this.isLoading=!1,this.isClamping=!1,this.suppressPageChange=!0,this.suppressZoomChange=!0,this.scrollbarTrack=null,this.scrollbarThumb=null,this.isScrollbarDragging=!1,this.scrollbarMouseMove=null,this.scrollbarMouseUp=null,this.handleWheelBound=this.handleWheel.bind(this),this.handleDoubleClickBound=this.handleDoubleClick.bind(this),this.handleViewportChangeBound=this.handleViewportChange.bind(this),this.handleAnimationFinishBound=this.handleAnimationFinish.bind(this)}};function g(e,t,a){return a.a=e,a.f=t,a}function p(e){return g(2,e,function(t){return function(a){return e(t,a)}})}function m(e){return g(3,e,function(t){return function(a){return function(r){return e(t,a,r)}}})}function w(e){return g(4,e,function(t){return function(a){return function(r){return function(n){return e(t,a,r,n)}}}})}function x(e){return g(5,e,function(t){return function(a){return function(r){return function(n){return function(i){return e(t,a,r,n,i)}}}}})}function y(e){return g(6,e,function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return e(t,a,r,n,i,o)}}}}}})}function E(e){return g(7,e,function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return e(t,a,r,n,i,o,u)}}}}}}})}function I(e,t,a){return 2===e.a?e.f(t,a):e(t)(a)}function C(e,t,a,r){return 3===e.a?e.f(t,a,r):e(t)(a)(r)}function R(e,t,a,r,n){return 4===e.a?e.f(t,a,r,n):e(t)(a)(r)(n)}function $(e,t,a,r,n,i){return 5===e.a?e.f(t,a,r,n,i):e(t)(a)(r)(n)(i)}function L(e,t,a,r,n,i,o){return 6===e.a?e.f(t,a,r,n,i,o):e(t)(a)(r)(n)(i)(o)}function A(e,t,a,r,n,i,o,u){return 7===e.a?e.f(t,a,r,n,i,o,u):e(t)(a)(r)(n)(i)(o)(u)}customElements.define("diva-lazy-image",h),customElements.define("osd-viewer",v);var S=m(function(e,t,a){for(var r=Array(e),n=0;n100){var n;return r.push((n=e,{a:n,b:t})),!0}if(e.$<0&&(e=ai(e),t=ai(t)),"function"==typeof DataView&&e instanceof DataView){var i=e.byteLength;if(t.byteLength!==i)return!1;for(var o=0;o0&&e<0||a<0&&e>0?a+e:a}),Z=Math.ceil,K=Math.floor,X=Math.round,Y=Math.log,J=p(function(e,t){return e+t}),Q=m(function(e,t,a){for(var r=a.length;r-- >0;){var n=a[r],i=a.charCodeAt(r);56320<=i&&i<=57343&&(n=a[--r]+n),t=I(e,n,t)}return t}),ee=p(function(e,t){return t.split(e)}),et=p(function(e,t){return t.join(e)}),ea=m(function(e,t,a){return a.slice(e,t)}),er=p(function(e,t){for(var a=t.length;a-- >0;){var r=t[a],n=t.charCodeAt(a);if(56320<=n&&n<=57343&&(r=t[--a]+r),!e(r))return!1}return!0}),en=p(function(e,t){return t.indexOf(e)>-1}),ei=p(function(e,t){return 0===t.indexOf(e)}),eo=p(function(e,t){return t.length>=e.length&&t.lastIndexOf(e)===t.length-e.length}),eu=p(function(e,t){var a=e.length;if(a<1)return B;for(var r=0,n=[];(r=t.indexOf(e,r))>-1;)n.push(r),r+=a;return U(n)});function es(e){return e+""}function ec(e){return{$:2,b:e}}var el=ec(function(e){return"number"!=typeof e?eA("an INT",e):-0x7fffffff=t.length)return eA("a LONGER array. Need index "+n+" but only see "+t.length+" entries",t);var r=eC(e.b,t[n]);return a1(r)?r:ab(I(ah,n,r.a));case 8:if("object"!=typeof t||null===t||e$(t))return eA("an OBJECT",t);var i=B;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var r=eC(e.b,t[o]);if(!a1(r))return ab(I(af,o,r.a));i=D({a:o,b:r.a},i)}return av(az(i));case 9:for(var u=e.f,s=e.g,c=0;ctypeof FileList&&e instanceof FileList}function eL(e){return I(a0,e.length,function(t){return e[t]})}function eA(e,t){return ab(I(ad,"Expecting "+e,t))}var eS=p(function(e,t){return JSON.stringify(t,null,e)+""});function eT(e){return e}var ek=m(function(e,t,a){return("toJSON"!==e||"function"!=typeof t)&&(a[e]=t),a});function eM(e){return{$:0,a:e}}function eP(e){return{$:2,b:e,c:null}}var eN=p(function(e,t){return{$:3,b:e,d:t}}),ez=p(function(e,t){return{$:4,b:e,d:t}}),eO=0;function eV(e){var t={$:0,e:eO++,f:e,g:null,h:[]};return eU(t),t}function eq(e){return eP(function(t){t(eM(eV(e)))})}function eH(e,t){e.h.push(t),eU(e)}var eB=p(function(e,t){return eP(function(a){eH(e,t),a(eM(0))})}),eD=!1,e_=[];function eU(e){if(e_.push(e),!eD){for(eD=!0;e=e_.shift();)!function(e){for(;e.f;){var t=e.f.$;if(0===t||1===t){for(;e.g&&e.g.$!==t;)e.g=e.g.i;if(!e.g)return;e.f=e.g.b(e.f.a),e.g=e.g.i}else if(2===t){e.f.c=e.f.b(function(t){e.f=t,eU(e)});return}else if(5===t){if(0===e.h.length)return;e.f=e.f.b(e.h.shift())}else e.g={$:+(3!==t),b:e.f.b,i:e.g},e.f=e.f.d}}(e);eD=!1}}function eF(e){return eP(function(t){var a=setTimeout(function(){t(eM(0))},e);return function(){clearTimeout(a)}})}var eG={};function ej(e,t,a,r,n){return{b:e,c:t,d:a,e:r,f:n}}var eW=p(function(e,t){return eP(function(a){e.g(t),a(eM(0))})}),eZ=p(function(e,t){return I(eB,e.h,{$:0,a:t})});function eK(e){return function(t){return{$:1,k:e,l:t}}}function eX(e){return{$:2,m:e}}var eY=[],eJ=!1;function eQ(e,t,a){if(eY.push({p:e,q:t,r:a}),!eJ){eJ=!0;for(var r;r=eY.shift();)!function(e,t,a){var r={};for(var n in e0(!0,t,r,null),e0(!1,a,r,null),e)eH(e[n],{$:"fx",a:r[n]||{i:B,j:B}})}(r.p,r.q,r.r);eJ=!1}}function e0(e,t,a,r){switch(t.$){case 1:var n,i,o,u,s,c,l,b=t.k,d=(n=e,i=b,o=r,u=t.l,I(n?eG[i].e:eG[i].f,function(e){for(var t=o;t;t=t.t)e=t.s(e);return e},u));a[b]=(s=e,c=d,l=(l=a[b])||{i:B,j:B},s?l.i=D(c,l.i):l.j=D(c,l.j),l);return;case 2:for(var f=t.m;f.b;f=f.b)e0(e,f.a,a,r);return;case 3:e0(e,t.o,a,{s:t.n,t:r});return}}function e1(e,t){return eG[e]&&k(3),eG[e]={e:e2,u:t,a:e4},eK(e)}var e2=p(function(e,t){return t});function e4(e){var t=[],a=eG[e].u,r=eF(0);return eG[e].b=r,eG[e].c=m(function(e,n,i){for(;n.b;n=n.b){for(var o=t,u=a(n.a),s=0;s=0&&t.splice(a,1)}}}function e3(e,t){return eG[e]&&k(3),eG[e]={f:e6,u:t,a:e5},eK(e)}var e6=p(function(e,t){return function(a){return e(t(a))}});function e5(e,t){var a=B,r=eG[e].u,n=eM(null);return eG[e].b=n,eG[e].c=m(function(e,t,r){return a=t,n}),{send:function(e){var n=I(eI,r,e);a1(n)||k(4,n.a);for(var i=n.a,o=a;o.b;o=o.b)t(o.a(i))}}}var e8=!1,e7="u">typeof document?document:{};function e9(e,t){e.appendChild(t)}function te(e,t,a){(t.parentNode!==e||t.nextSibling!==a)&&e.insertBefore(t,a)}function tt(e,t,a){(t.parentNode!==e||t.previousSibling!==a)&&e.insertBefore(t,null===a?e.firstChild:a.nextSibling)}var ta="u">typeof Element&&"function"==typeof Element.prototype.moveBefore,tr=ta?function(e,t,a){(t.parentNode!==e||t.nextSibling!==a)&&e.moveBefore(t,a)}:te,tn=ta?function(e,t,a){(t.parentNode!==e||t.previousSibling!==a)&&e.moveBefore(t,null===a?e.firstChild:a.nextSibling)}:tt;function ti(e){var t=e.parentNode;t&&t.removeChild(e)}function to(e){return{r:e,s:Object.create(null)}}function tu(e){return{$:0,a:e}}var ts=p(function(e,t){return p(function(a,r){for(var n=[];r.b;r=r.b)n.push(r.a);return{$:1,c:t,d:tA(a),e:n,f:e,b:0}})}),tc=ts(void 0);function tl(e,t){return{$:5,l:e,m:t,k:void 0}}p(function(e,t){return p(function(a,r){for(var n=[],i=Object.create(null);r.b;r=r.b){for(var o=r.a,u=o.a;u in i;)u+=tH,o={a:u,b:o.b};n.push(o),i[u]=o.b}return{$:2,c:t,d:tA(a),e:n,t:i,f:e,b:0}})})(void 0);var tb=p(function(e,t){return tl([e,t],function(){return e(t)})}),td=m(function(e,t,a){return tl([e,t,a],function(){return I(e,t,a)})}),tf=w(function(e,t,a,r){return tl([e,t,a,r],function(){return C(e,t,a,r)})}),th=x(function(e,t,a,r,n){return tl([e,t,a,r,n],function(){return R(e,t,a,r,n)})}),tv=y(function(e,t,a,r,n,i){return tl([e,t,a,r,n,i],function(){return $(e,t,a,r,n,i)})}),tg=E(function(e,t,a,r,n,i,o){return tl([e,t,a,r,n,i,o],function(){return L(e,t,a,r,n,i,o)})}),tp=p(function(e,t){return{$:"a0",n:e,o:t}}),tm=p(function(e,t){return{$:"a1",n:e,o:t}}),tw=p(function(e,t){return{$:"a2",n:e,o:t}}),tx=p(function(e,t){return{$:"a3",n:e,o:t}}),ty=m(function(e,t,a){return{$:"a4",n:t,o:{f:e,o:a}}}),tE=/^script$/i,tI=/^(on|formAction$)/i,tC=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,tR=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function t$(e){return tR.test(e)?"":e}var tL="function"==typeof _Test_runThunk;function tA(e){var t={};for(t[t_]=!0;e.b;e=e.b){var a=e.a,r=a.$,n=a.n,i=a.o;if("a2"===r){"className"===n?tS(t,n,i):t[n]=i;continue}var o=t[r]||(t[r]={});"a3"===r&&"class"===n?tL?tS(t,"className",i):tS(o,n,i):o[n]=i}return t}function tS(e,t,a){var r=e[t];e[t]=r?r+" "+a:a}function tT(e,t,a){var n=e.$;if(5===n)return tT(e.k||(e.k=e.m()),t,a);if(4===n)return tT(e.k,function(a,r){return t(e.j(a),r)},a);if(0===n){var i=e7.createTextNode(e.a);return a.r=i,i}if(3===n){var i=e.h(e.g);return tk(i,t,{},e.d),a.r=i,i}var i=e.f?e7.createElementNS(e.f,e.c):e7.createElement(e.c);if(r&&"a"==e.c&&i.addEventListener("click",r(i)),tk(i,t,{},e.d),1===n)for(var o=e.e,u=0;ua4(o)}),r[i]=u}for(i in r)i in a||(e.removeEventListener(i,r[i]),delete r[i])}(e,t,r.a0||{})}function tM(e,t){for(var a in t)if("a0"!==a&&"a1"!==a&&"a3"!==a&&"a4"!==a&&a!==t_){var r=t[a];r!==e[a]&&(e[a]=r)}}function tP(e,t){var a=e.elmFs;if(a)for(var r in a)a[r].q=t}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){n=!0}}))}catch(e){}function tN(e,t,a,r){if(e===t)return{r:tz(e,t,a,r),u:!1,v:!1};for(;4===e.$;)e=e.k;if(4===t.$)return tN(e,t.k,function(e,r){return a(t.j(e),r)},r);if(5===e.$)if(5!==t.$)return tN(e.k,t,a,r);else{for(var n=e.l,i=t.l,o=n.length,u=o===i.length;u&&o--;)u=n[o]===i[o];return u?(t.k=e.k,{r:tz(e,t,a,r),u:!1,v:!1}):(t.k=t.m(),tN(e.k,t.k,a,r))}if(5===t.$)return tN(e,t.k||(t.k=t.m()),a,r);var s=r.r,c=e.$,l=t.$;if(c!==l)if(1===c&&2===l)e=function(e,t,a){for(var r=e.e,n=t.e,i=r.length,o=n.length,u=Array(i),s=Object.create(null),c=Object.create(null),l=0;l=0;s--){var l=u[s],b=function e(t,a,r){var n=t.$;if(5===n)return e(t.k,a,r);if(4===n)return e(t.k,function(e,r){return a(t.j(e),r)},r);if(0===n){var i=e7.createTextNode(t.a);return r.r=i,i}return r.r}(2===a.$?l.b:l,r,n.s[2===a.$?l.a:s]);if(b.parentNode===e)for(;c>=0;c--){if((o=e.childNodes[c])===b){c--;break}(3===o.nodeType||"font"===o.localName)&&e.removeChild(o)}else te(e,b,o),o=b}for(;c>=0;c--)(3===(o=e.childNodes[c]).nodeType||"font"===o.localName)&&e.removeChild(o)}return{r:e,u:!1,v:!1}}function tV(e,t,a,r,n){for(var i=t.e,o=a.e,u=i.length,s=o.length,c=!1,l=null,b=us)for(var d=s;dc&&d>l;){var p=i[b],m=o[d],w=p.a,x=m.a,y=p.b,E=m.b;if(w===x){var I=tN(y,E,r,n.s[x]);b--,d--,g(I,!0);continue}var C=!1;if(w in s?C=!0:(ti(n.s[w].r),delete n.s[w],b--),x in u){if(C)break}else{var R=to(void 0),$=tT(E,r,R);n.s[x]=R,te(e,$,h),d--,h=$}}var L=!1;if(c=e)break;var a=tF[t];delete tF[t],a()}tG=!1})),t}var tK="u">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tX={addEventListener:function(){},removeEventListener:function(){}},tY="u">typeof document?document:tX,tJ="u">typeof window?window:tX,tQ=m(function(e,t,a){return eq(eP(function(r){function i(e){eV(a(e))}return e.addEventListener(t,i,n&&{passive:!0}),function(){e.removeEventListener(t,i)}}))}),t0=p(function(e,t){var a=eC(e,t);return a1(a)?ap(a.a):am});function t1(e,t){return eP(function(a){tZ(function(){var r=document.getElementById(e);a(r?eM(t(r)):{$:1,a:a6(e)})})})}function t2(){var e=tY.body,t=tY.documentElement;return{dz:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dd:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t4=m(function(e,t,a){return t1(e,function(e){return e.scrollLeft=t,e.scrollTop=a,0})}),t3=m(function(e,t,a){return eP(function(r){function n(e){r(t(a.dH.a(e)))}var i,o,u,s=new XMLHttpRequest;s.addEventListener("error",function(){n(rT)}),s.addEventListener("timeout",function(){n(rP)}),s.addEventListener("load",function(){var e,t,r;n((e=a.dH.b,I(200<=(t=s).status&&t.status<300?rS:rL,{aK:(r=t).responseURL,gD:r.status,gE:r.statusText,eF:function(e){if(!e)return rC;for(var t=rC,a=e.split("\r\n"),r=a.length;r--;){var n=a[r],i=n.indexOf(": ");if(i>0){var o=n.substring(0,i),u=n.substring(i+2);t=C(rK,o,function(e){return ap(rN(e)?u+", "+e.a:u)},t)}}return t}(r.getAllResponseHeaders())},e(t.response))))}),rN(a.fw)&&(i=e,o=s,u=a.fw.a,o.upload.addEventListener("progress",function(e){!o.c&&eV(I(rz,i,{a:u,b:rM({gz:e.loaded,fo:e.total})}))}),o.addEventListener("progress",function(e){!o.c&&eV(I(rz,i,{a:u,b:rk({gr:e.loaded,fo:e.lengthComputable?ap(e.total):am})}))}));try{s.open(a.f9,a.aK,!0)}catch(e){return n(rA(a.aK))}return function(e,t){for(var a=t.eF;a.b;a=a.b)e.setRequestHeader(a.a.a,a.a.b);e.timeout=t.gN.a||0,e.responseType=t.dH.d,e.withCredentials=t.fC}(s,a),a.ef.a&&s.setRequestHeader("Content-Type",a.ef.a),s.send(a.ef.b),function(){s.c=!0,s.abort()}})}),t6=m(function(e,t,a){return{$:0,d:e,b:t,a:a}}),t5=p(function(e,t){return{$:0,d:t.d,b:t.b,a:function(a){return e(t.a(a))}}}),t8=x(function(e,t,a,r,n){for(var i,o=e.length,u=t+o<=n.length,s=0;u&&sO(e,t)))return a;else{var r=e,n=t-1,i=I(_,t,a);e=r,t=n,a=i;continue}}),aR=p(function(e,t){return C(aC,e,t,B)}),a$=p(function(e,t){return C(G,e,I(aR,0,aI(t)-1),t)}),aL=function(e){return e.toLowerCase()},aA=function(e){return e.toUpperCase()},aS=function(e){return M(e,aL(e))&&!M(e,aA(e))},aT=function(e){return M(e,aA(e))&&!M(e,aL(e))},ak=function(e){return aS(e)||aT(e)},aM=function(e){var t=e.charCodeAt(0);return 55296<=t&&t<=56319?(t-55296)*1024+e.charCodeAt(1)-56320+65536:t},aP=function(e){var t=aM(e);return t<=57&&48<=t},aN=function(e){return aS(e)||aT(e)||aP(e)},az=function(e){return C(aE,_,B,e)},aO=function(e){var t=e.charCodeAt(0);return isNaN(t)?am:ap(55296<=t&&t<=56319?{a:e[0]+e[1],b:e.slice(2)}:{a:e[0],b:e.slice(1)})},aV=p(function(e,t){return"\n\n("+es(e+1)+") "+ay(aq(t))}),aq=function(e){return I(aH,e,B)},aH=p(function(e,t){for(;;)switch(e.$){case 0:var a=e.a,r=e.b,n=!function(){var e=aO(a);if(1===e.$)return!1;var t=e.a,r=t.a,n=t.b;return ak(r)&&I(er,aN,n)}()?"['"+a+"']":"."+a,i=r,o=I(_,n,t);e=i,t=o;continue;case 1:var u=e.a,r=e.b,s="["+es(u)+"]",i=r,o=I(_,s,t);e=i,t=o;continue;case 2:var c=e.a;if(!c.b)return"Ran into a Json.Decode.oneOf with no possibilities"+(t.b?" at json"+I(aw,"",az(t)):"!");if(c.b.b){var l=(t.b?"The Json.Decode.oneOf at json"+I(aw,"",az(t)):"Json.Decode.oneOf")+" failed in the following "+es(aI(c))+" ways:";return I(aw,"\n\n",I(_,l,I(a$,aV,c)))}var r=c.a,i=r,o=t;e=i,t=o;continue;default:var b=e.a,d=e.b,l=t.b?"Problem with the value at json"+I(aw,"",az(t))+":\n\n ":"Problem with the given value:\n\n";return l+(ay(I(eS,4,d))+"\n\n")+b}}),aB=w(function(e,t,a,r){return{$:0,a:e,b:t,c:a,d:r}}),aD=[],a_=p(function(e,t){return Y(t)/Y(e)}),aU=function(e){return e},aF=Z(I(a_,2,32)),aG=R(aB,0,aF,aD,aD),aj=p(function(e,t){return e(t)}),aW=function(e){return e.length},aZ=p(function(e,t){return O(e,t)>0?e:t}),aK=p(function(e,t){for(;;){var a=I(T,32,e),r=a.a,n=a.b,i=I(_,{$:0,a:r},t);if(!n.b)return az(i);e=n,t=i}}),aX=function(e){return e.a},aY=p(function(e,t){for(;;){var a=Z(t/32);if(1===a)return I(T,32,e).a;e=I(aK,e,B),t=a}}),aJ=p(function(e,t){if(!t.y)return R(aB,aW(t.F),aF,aD,t.F);var a=32*t.y,r=K(I(a_,32,a-1)),n=I(aY,e?az(t.G):t.G,t.y);return R(aB,aW(t.F)+a,I(aZ,5,r*aF),n,t.F)}),aQ=x(function(e,t,a,r,n){for(;;)if(t<0)return I(aJ,!1,{G:r,y:a/32|0,F:n});else{var i={$:1,a:C(S,32,t,e)},o=e,u=t-32,s=a,c=I(_,i,r),l=n;e=o,t=u,a=s,r=c,n=l;continue}}),a0=p(function(e,t){if(e<=0)return aG;var a=e%32,r=C(S,a,e-a,t);return $(aQ,t,e-a-32,e,B,r)}),a1=function(e){return!e.$},a2=function(e){return{$:0,a:e}},a4=function(e){switch(e.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},a3=function(e){return e},a6=a3,a5=y(function(e,t,a,r,n,i){return{fX:i,eH:t,A:r,e$:a,e6:e,gq:n}}),a8=function(e){return e.length},a7=p(function(e,t){return e<1?t:C(ea,e,a8(t),t)}),a9=function(e){return""===e},re=p(function(e,t){return e<1?"":C(ea,0,e,t)}),rt=function(e){for(var t=0,a=e.charCodeAt(0),r=+(43==a||45==a),n=r;n500?C(aE,e,t,az(b)):R(rs,e,t,a+1,b);return I(e,n,I(e,o,I(e,s,I(e,l,d))))}),rc=m(function(e,t,a){return R(rs,e,t,0,a)}),rl=p(function(e,t){return C(rc,p(function(t,a){return I(_,e(t),a)}),B,t)}),rb=p(function(e,t){return I(eN,function(t){return eM(e(t))},t)}),rd=m(function(e,t,a){return I(eN,function(t){return I(eN,function(a){return eM(I(e,t,a))},a)},t)}),rf=function(e){return C(rc,rd(_),eM(B),e)},rh=p(function(e,t){return eq(I(eN,eW(e),t))});eG.Task=ej(ru,m(function(e,t,a){return I(rb,function(e){return 0},rf(I(rl,rh(e),t)))}),m(function(e,t,a){return eM(0)}),p(function(e,t){return I(rb,e,t)}));var rv=eK("Task"),rg=p(function(e,t){return rv(I(rb,e,t))}),rp=function(e){return{$:0,a:e}},rm={$:1},rw={$:0},rx=function(e){return{$:9,a:e}},ry=p(function(e,t){return{$:56,a:e,b:t}}),rE=m(function(e,t,a){return 0>O(a,e)?e:O(a,t)>0?t:a}),rI={$:-2},rC=rI,rR=(o=function(){return{fi:t2(),d8:{fz:tJ.pageXOffset,d9:tJ.pageYOffset,dz:tY.documentElement.clientWidth,dd:tY.documentElement.clientHeight}}},eP(function(e){tZ(function(){e(eM(o()))})})),r$={aa:am,ag:am,c8:!1,au:rC,e:rC,cD:0,u:rC,E:rC,Z:B,af:rC,ap:rC},rL=p(function(e,t){return{$:3,a:e,b:t}}),rA=function(e){return{$:0,a:e}},rS=p(function(e,t){return{$:4,a:e,b:t}}),rT={$:2},rk=function(e){return{$:1,a:e}},rM=function(e){return{$:0,a:e}},rP={$:1},rN=function(e){return!e.$},rz=eZ,rO=p(function(e,t){for(;;)if(-2===t.$)return am;else{var a=t.b,r=t.c,n=t.d,i=t.e;switch(I(V,e,a)){case 0:var o=e,u=n;e=o,t=u;continue;case 1:return ap(r);default:var o=e,u=i;e=o,t=u;continue}}}),rV=x(function(e,t,a,r,n){return{$:-1,a:e,b:t,c:a,d:r,e:n}}),rq=x(function(e,t,a,r,n){if(-1!==n.$||n.a)if(-1!==r.$||r.a||-1!==r.d.$||r.d.a)return $(rV,e,t,a,r,n);else{r.a;var i=r.b,o=r.c,u=r.d;u.a;var s=u.b,c=u.c,l=u.d,b=u.e,d=r.e;return $(rV,0,i,o,$(rV,1,s,c,l,b),$(rV,1,t,a,d,n))}n.a;var f=n.b,h=n.c,v=n.d,g=n.e;if(-1!==r.$||r.a)return $(rV,e,f,h,$(rV,0,t,a,r,v),g);r.a;var i=r.b,o=r.c,p=r.d,d=r.e;return $(rV,0,t,a,$(rV,1,i,o,p,d),$(rV,1,f,h,v,g))}),rH=m(function(e,t,a){if(-2===a.$)return $(rV,0,e,t,rI,rI);var r=a.a,n=a.b,i=a.c,o=a.d,u=a.e;switch(I(V,e,n)){case 0:return $(rq,r,n,i,C(rH,e,t,o),u);case 1:return $(rV,r,n,t,o,u);default:return $(rq,r,n,i,o,C(rH,e,t,u))}}),rB=m(function(e,t,a){var r=C(rH,e,t,a);return -1!==r.$||r.a?r:(r.a,$(rV,1,r.b,r.c,r.d,r.e))}),rD=function(e){for(;;)if(-1!==e.$||-1!==e.d.$)return e;else{e=e.d;continue}},r_=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.e.d.$||e.e.d.a){var t=e.a,a=e.b,r=e.c,n=e.d;n.a;var i=n.b,o=n.c,u=n.d,s=n.e,c=e.e;c.a;var l=c.b,b=c.c,d=c.d,f=c.e;return $(rV,1,a,r,$(rV,0,i,o,u,s),$(rV,0,l,b,d,f))}var t=e.a,a=e.b,r=e.c,h=e.d;h.a;var i=h.b,o=h.c,u=h.d,s=h.e,v=e.e;v.a;var l=v.b,b=v.c,d=v.d;d.a;var g=d.b,p=d.c,m=d.d,w=d.e,f=v.e;return $(rV,0,g,p,$(rV,1,a,r,$(rV,0,i,o,u,s),m),$(rV,1,l,b,w,f))},rU=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.d.d.$||e.d.d.a){var t=e.a,a=e.b,r=e.c,n=e.d;n.a;var i=n.b,o=n.c,u=n.d,s=n.e,c=e.e;c.a;var l=c.b,b=c.c,d=c.d,f=c.e;return $(rV,1,a,r,$(rV,0,i,o,u,s),$(rV,0,l,b,d,f))}var t=e.a,a=e.b,r=e.c,h=e.d;h.a;var i=h.b,o=h.c,v=h.d;v.a;var g=v.b,p=v.c,m=v.d,w=v.e,s=h.e,x=e.e;x.a;var l=x.b,b=x.c,d=x.d,f=x.e;return $(rV,0,i,o,$(rV,1,g,p,m,w),$(rV,1,a,r,s,$(rV,0,l,b,d,f)))},rF=E(function(e,t,a,r,n,i,o){if(-1===i.$&&!i.a)return i.a,$(rV,a,i.b,i.c,i.d,$(rV,0,r,n,i.e,o));for(;;)if(-1===o.$&&1===o.a)if(-1!==o.d.$)return o.a,o.d,rU(t);else if(1===o.d.a)return o.a,o.d.a,rU(t);else break;else break;return t}),rG=function(e){if(-1!==e.$||-1!==e.d.$)return rI;var t=e.a,a=e.b,r=e.c,n=e.d,i=n.a,o=n.d,u=e.e;if(1!==i)return $(rV,t,a,r,rG(n),u);if(-1===o.$&&!o.a)return o.a,$(rV,t,a,r,rG(n),u);var s=r_(e);if(-1!==s.$)return rI;var c=s.a,l=s.b,b=s.c,d=s.d,f=s.e;return $(rq,c,l,b,rG(d),f)},rj=p(function(e,t){if(-2===t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;if(!(0>O(e,r)))return I(rW,e,A(rF,e,t,a,r,n,i,o));if(-1!==i.$||1!==i.a)return $(rV,a,r,n,I(rj,e,i),o);i.a;var u=i.d;if(-1===u.$&&!u.a)return u.a,$(rV,a,r,n,I(rj,e,i),o);var s=r_(t);if(-1!==s.$)return rI;var c=s.a,l=s.b,b=s.c,d=s.d,f=s.e;return $(rq,c,l,b,I(rj,e,d),f)}),rW=p(function(e,t){if(-1!==t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;if(!M(e,r))return $(rq,a,r,n,i,I(rj,e,o));var u=rD(o);return -1===u.$?$(rq,a,u.b,u.c,i,rG(o)):rI}),rZ=p(function(e,t){var a=I(rj,e,t);return -1!==a.$||a.a?a:(a.a,$(rV,1,a.b,a.c,a.d,a.e))}),rK=m(function(e,t,a){var r=t(I(rO,e,a));return r.$?I(rZ,e,a):C(rB,e,r.a,a)}),rX=m(function(e,t,a){return t(e(a))}),rY=p(function(e,t){return C(t6,"",a3,I(rX,t,e))}),rJ=p(function(e,t){return t.$?ab(e(t.a)):av(t.a)}),rQ=function(e){return{$:4,a:e}},r0={$:2},r1={$:1},r2=p(function(e,t){switch(t.$){case 0:return ab({$:0,a:t.a});case 1:return ab(r1);case 2:return ab(r0);case 3:return ab({$:3,a:t.a.gD});default:return I(rJ,rQ,e(t.b))}}),r4=p(function(e,t){return I(rY,e,r2(function(e){return I(rJ,aq,I(eE,t,e))}))}),r3={$:0},r6=p(function(e,t){return{$:0,a:e,b:t}}),r5=function(e){return{$:1,a:e}},r8=p(function(e,t){return{fb:e,ft:t}}),r7=eM(I(r8,rC,B)),r9=function(e){return eP(function(t){var a=e.f;2===a.$&&a.c&&a.c(),e.f=null,t(eM(0))})},ne=m(function(e,t,a){for(;;)if(!t.b)return eM(a);else{var r=t.a,n=t.b;if(r.$){var i=r.a;return I(eN,function(t){var r=i.fw;return 1===r.$?C(ne,e,n,a):C(ne,e,n,C(rB,r.a,t,a))},eq(C(t3,e,eW(e),i)))}var o=r.a,u=I(rO,o,a);if(1!==u.$)return I(eN,function(t){return C(ne,e,n,I(rZ,o,a))},r9(u.a));var s=a;t=n,a=s;continue}}),nt=w(function(e,t,a,r){return I(eN,function(e){return eM(I(r8,e,a))},C(ne,e,t,r.fb))}),na=m(function(e,t,a){var r=e(t);return r.$?a:I(_,r.a,a)}),nr=p(function(e,t){return C(rc,na(e),B,t)}),nn=w(function(e,t,a,r){var n=r.a,i=r.b;return M(t,n)?ap(I(eW,e,i(a))):am}),ni=m(function(e,t,a){return I(eN,function(e){return eM(a)},rf(I(nr,C(nn,e,t.a,t.b),a.ft)))}),no=p(function(e,t){if(t.$){var a=t.a;return r5({fC:a.fC,ef:a.ef,dH:I(t5,e,a.dH),eF:a.eF,f9:a.f9,gN:a.gN,fw:a.fw,aK:a.aK})}return{$:0,a:t.a}}),nu=p(function(e,t){return{$:0,a:e,b:t}});eG.Http=ej(r7,nt,ni,no,p(function(e,t){return I(nu,t.a,I(rX,t.b,e))}));var ns=eK("Http");eK("Http");var nc=m(function(e,t,a){var r;return ns(r5({fC:!1,ef:(r={ef:r3,dH:t,eF:I(rl,r6("Accept"),e),f9:"GET",gN:am,fw:am,aK:a}).ef,dH:r.dH,eF:r.eF,f9:r.f9,gN:r.gN,fw:r.fw,aK:r.aK}))}),nl=function(e){return{$:3,b:e}},nb=function(e){return{$:11,g:e}},nd=p(function(e,t){for(;;)if(!t.b)return!1;else{var a=t.a,r=t.b;if(e(a))return!0;t=r;continue}}),nf=m(function(e,t,a){return I(aw,t,I(ax,e,a))}),nh=p(function(e,t){return M(t,e)||M(t,C(nf,"http://","https://",e))}),nv=function(e){return{$:1,a:e}},ng="http://iiif.io/api/presentation/2/context.json",np="http://iiif.io/api/presentation/3/context.json",nm=p(function(e,t){return{$:0,a:e,b:t}}),nw=p(function(e,t){return{$:0,a:e,b:t}}),nx=p(function(e,t){return{$:0,a:e,b:t}}),ny=p(function(e,t){return{$:0,a:e,b:t}}),nE=function(e){return{$:2,a:e}},nI=function(e){return{$:1,a:e}},nC=function(e){return{$:0,a:e}},nR=function(e){return{$:3,a:e}},n$=m(function(e,t,a){return e(t(a))}),nL=E(function(e,t,a,r,n,i,o){return{dd:r,s:e,cy:n,dN:t,gL:i,gT:o,dz:a}}),nA=function(e){return nb(U([I(ew,ap,e),a2(am)]))},nS=p(function(e,t){return C(ex,p(function(e,t){return t(e)}),e,t)}),nT=w(function(e,t,a,r){var n=nb(U([I(ev,e,t),a2(a)]));return I(nS,n,r)}),nk=m(function(e,t,a){return I(nS,I(ev,e,t),a)}),nM=function(e){if(!e.b)return am;var t=e.a;return e.b,ap(t)},nP=function(e){return nb(U([I(ew,nM,nl(e)),I(ew,ap,e)]))},nN=p(function(e,t){return C(rc,ev,t,e)}),nz=p(function(e,t){return t.b?C(rc,_,t,e):e}),nO=function(e){return C(rc,nz,B,e)},nV=x(function(e,t,a,r,n){return{s:e,eJ:a,dN:t,fl:r,gA:n}}),nq=p(function(e,t){return I(nS,e,t)}),nH=p(function(e,t){return I(nS,a2(e),t)}),nB=function(e){return{$:2,a:e}},nD=p(function(e,t){return t.$?am:e(t.a)}),n_=p(function(e,t){return t.$?am:ap(e(t.a))}),nU=p(function(e,t){return t.$?e:t.a}),nF=function(e){var t=e.e6,a=e.eH,r=e.e$,n=e.A,i=e.gq,o=t?"https://":"http://",u=i.$?n:n+"?"+i.a;return{c4:I(nU,H(o,a),I(n_,function(e){return o+(a+":")+es(e)},r)),A:n,dV:I(ax,"/",n),dk:u}},nG=E(function(e,t,a,r,n,i,o){return{dI:o,eH:e,Y:t,dY:i,cM:a,bd:n,fo:r}}),nj=function(e){return{$:1,a:e}},nW=m(function(e,t,a){if(1===t.$)return am;var r=t.a;return 1===a.$?am:ap(I(e,r,a.a))}),nZ=p(function(e,t){return C(nW,aj,t,e)}),nK=function(e){var t=I(ax,".",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.b.a;return"jpg"===a?ap(0):"tif"===a?ap(1):"png"===a?ap(2):"gif"===a?ap(4):"jp2"===a?ap(3):"pdf"===a?ap(5):"webp"===a?ap(6):am},nX={$:0},nY={$:1},nJ=function(e){return"full"===e?ap(nX):"square"===e?ap(nY):am},nQ=p(function(e,t){for(;;)if(!e.b)return am;else{var a=e.a,r=e.b,n=a(t);if(!n.$)return ap(n.a);var i=t;e=r,t=i;continue}}),n0=function(e){if(0===e.length||/[\sxbo]/.test(e))return am;var t=+e;return t==t?ap(t):am},n1=function(e){var t=I(nr,n0,I(ax,",",I(a7,4,e)));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return am;var a=t.a,r=t.b,n=r.a,i=r.b,o=i.a;return ap({$:3,a:{dc:i.b.a,dy:o,fz:a,d9:n}})},n2=function(e){var t=I(nr,rt,I(ax,",",e));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return am;var a=t.a,r=t.b,n=r.a,i=r.b,o=i.a;return ap({$:2,a:{dc:i.b.a,dy:o,fz:a,d9:n}})},n4=function(e){return{$:5,a:e}},n3=function(e){return I(ei,"^,",e)?I(n_,n4,rt(I(a7,2,e))):am},n6=function(e){return{$:7,a:e}},n5=function(e){return I(ei,"^pct:",e)?I(n_,n6,n0(I(a7,5,e))):am},n8=function(e){return{$:11,a:e}},n7=p(function(e,t){return{a:e,b:t}}),n9=function(e){var t=I(ax,",",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.a,r=t.b.a;return C(nW,n7,rt(a),rt(r))},ie=function(e){return I(ei,"^!",e)?I(n_,n8,n9(I(a7,2,e))):am},it=function(e){return{$:9,a:e}},ia=function(e){return I(ei,"^",e)?I(n_,it,n9(I(a7,1,e))):am},ir=function(e){return{$:3,a:e}},ii=function(e){return-e},io=p(function(e,t){return e<1?t:C(ea,0,-e,t)}),iu=function(e){return I(eo,",",e)&&I(ei,"^",e)?I(n_,ir,rt(I(a7,1,I(io,1,e)))):am},is=function(e){return{$:4,a:e}},ic=function(e){return I(ei,",",e)?I(n_,is,rt(I(a7,1,e))):am},il={$:1},ib={$:0},id=function(e){return"max"===e||"full"===e?ap(ib):"^max"===e?ap(il):am},ih=function(e){return{$:6,a:e}},iv=function(e){return I(ei,"pct:",e)?I(n_,ih,n0(I(a7,4,e))):am},ig=function(e){return{$:10,a:e}},ip=function(e){return I(ei,"!",e)?I(n_,ig,n9(I(a7,1,e))):am},im=function(e){return{$:8,a:e}},iw=function(e){var t=I(ax,",",e);return t.b&&t.b.b&&!t.b.b.b?(t.b,I(n_,im,n9(e))):am},ix=function(e){return{$:2,a:e}},iy=function(e){return I(eo,",",e)?I(n_,ix,rt(I(io,1,e))):am},iE=function(e){var t=I(ax,".",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.a;return t.b,"default"===a?ap(3):"native"===a?ap(4):"color"===a?ap(0):"gray"===a?ap(1):"bitonal"===a?ap(2):am},iI=function(e){return{$:1,a:e}},iC=function(e){return I(ei,"!",e)?I(n_,iI,n0(I(a7,1,e))):am},iR=function(e){return{$:0,a:e}},i$=function(e){return I(n_,iR,n0(e))},iL=p(function(e,t){var a=az(t);if(!a.b||!a.b.b||!a.b.b.b||!a.b.b.b.b)return am;var r=a.a,n=a.b,i=n.a,o=n.b,u=o.a,s=o.b,c=s.a,l=I(aw,"/",az(s.b));return I(n_,nj,I(nZ,nK(r),I(nZ,iE(r),I(nZ,I(nQ,U([i$,iC]),i),I(nZ,I(nQ,U([id,iy,iu,ic,n3,iv,n5,iw,ia,ip,ie]),u),I(nZ,I(nQ,U([nJ,n2,n1]),c),ap(I(nG,e,l))))))))}),iA=function(e){return{$:0,a:e}},iS=p(function(e,t){return C(rc,p(function(t,a){return e(t)?I(_,t,a):a}),B,t)}),iT=p(function(e,t){return I(iS,z(e),t)}),ik=p(function(e,t){return ap(iA({eH:e,Y:I(aw,"/",I(iT,"info.json",t))}))}),iM=p(function(e,t){return nO(I(rl,e,t))}),iP=(u=U(["color","gray","bitonal","default","native"]),s=U(["jpg","tif","png","gif","jp2","pdf","webp"]),I(rl,aw("."),(c=U([u,s]),C(rc,p(function(e,t){return I(iM,function(e){return I(rl,_(e),t)},e)}),U([B]),c)))),iN=p(function(e,t){return ap(nB({eH:e,Y:t}))}),iz=function(e){var t=nF(e),a=t.c4,r=t.A,n=t.dV,i=t.dk;return I(nd,function(e){return I(eo,e,r)},iP)?I(iL,a,n):I(eo,"info.json",r)?I(ik,a,n):I(iN,a,i)},iO=function(e){return I(nD,iz,ro(e))},iV=function(e){var t=iO(e);return t.$||2!==t.a.$?nv("Could not decode static image Url"):a2(nB(t.a.a))},iq=function(e){switch(e.$){case 0:default:return e;case 1:var t=e.a;return iA({eH:t.eH,Y:t.Y})}},iH=function(e){var t=iO(e);return t.$?nv("Could not decode image Url"):2===t.a.$?a2(iA(t.a.a)):a2(iq(t.a))},iB=p(function(e,t){return I(nd,function(t){return M(t,e)},t)}),iD="http://iiif.io/api/image/2/context.json",i_=function(e){if(I(nh,iD,e))return 1;if(I(nh,"http://iiif.io/api/image/3/context.json",e))return 2;switch(e){case"AuthLogoutService1":return 6;case"AuthTokenService1":return 5;case"AutoCompleteService1":return 4;case"ImageService1":return 0;case"ImageService2":return 1;case"ImageService3":return 2;case"SearchService1":return 3;default:return 7}},iU=nb(U([I(ew,i_,I(ev,"@type",eh)),I(ew,i_,I(ev,"type",eh)),I(ew,function(e){return I(nh,"http://library.stanford.edu/iiif/image-api/1.1/context.json",e)||I(nh,"http://iiif.io/api/image/1/context.json",e)?0:I(nh,iD,e)?1:i_(e)},I(ev,"@context",eh))])),iF=I(em,function(e){return I(iB,e,U([0,1,2]))?I(ev,"@id",eh):nv("Not an Image API service")},iU),iG=I(em,function(e){return e.$?nv("No Image API service ID found"):iH(e.a)},I(ev,"service",nb(U([I(ew,function(e){return nM(I(nr,a3,e))},nl(nA(iF))),I(ew,ap,iF)])))),ij=nb(U([iG,I(em,iV,I(ev,"@id",eh))])),iW=function(e){return U([e])},iZ=nb(U([I(ev,"service",nl(ef)),I(ev,"service",I(ew,iW,ef)),a2(B)])),iK=nb(U([I(ev,"service",nb(U([I(ew,nr(a3),nl(nA(iU))),I(ew,iW,iU)]))),a2(B)])),iX=function(e){return{$:8,b:e}},iY=p(function(e,t){return{$:0,a:e,b:t}}),iJ={$:1},iQ=function(e){return"none"===e?iJ:rp(e)},i0=function(e){var t=e.a,a=e.b;return I(iY,iQ(t),a)},i1=I(ew,function(e){return C(aE,p(function(e,t){return I(_,i0(e),t)}),B,e)},iX(nl(eh))),i2={$:2},i4=I(ew,function(e){return U([I(iY,i2,U([e]))])},eh),i3=C(ex,p(function(e,t){return U([I(iY,iQ(t),U([e]))])}),I(ev,"@value",eh),nb(U([I(ev,"@language",eh),a2("none")]))),i6=I(ew,nO,nl(i3)),i5=nb(U([i3,i6,i4,i1])),i8=I(nq,iZ,I(nq,iK,I(nH,0,R(nT,"label",nA(i5),am,I(nq,ij,a2(nV)))))),i7=C(ex,_,I(nN,U(["default"]),i8),I(nN,U(["item"]),nl(I(nq,iZ,I(nq,iK,I(nH,1,R(nT,"label",nA(i5),am,I(nq,ij,a2(nV))))))))),i9=nb(U([nl(I(nN,U(["resource"]),i8)),I(ew,nO,nl(I(nN,U(["resource"]),i7)))])),oe=function(e){var t=nF(e);return nB({eH:t.c4,Y:t.dk})},ot=function(e){var t=ro(e);return t.$?nv("Could not decode static image Url"):a2(oe(t.a))},oa=nb(U([iG,I(em,ot,I(ev,"@id",eh))])),or=I(nq,iZ,I(nq,iK,I(nH,0,R(nT,"label",nA(i5),am,I(nq,oa,a2(nV)))))),on=function(e){return{$:0,a:e}},oi=function(e){switch(e){case"continuous":return 2;case"facing-pages":return 6;case"individuals":return 1;case"multi-part":return 3;case"non-paged":return 4;case"paged":default:return 0;case"top":return 5}},oo=I(ew,function(e){return on(oi(e))},eh),ou=R(nT,"viewingHint",nA(oo),am,R(nT,"thumbnail",nP(or),am,R(nT,"images",i9,B,R(nT,"height",nA(el),am,R(nT,"width",nA(el),am,R(nT,"label",nA(i5),am,C(nk,"@id",eh,a2(nL)))))))),os=w(function(e,t,a,r){return{s:e,aE:a,dN:t,dP:r}}),oc=function(e){return{$:0,a:e}},ol=function(e){return{$:1,a:e}},ob=U([I(iY,i2,U(["Homepage"]))]),od=function(e){return I(em,e,a2(0))},of=p(function(e,t){return{dN:e,dx:t}}),oh=C(nk,"value",i5,C(nk,"label",i5,a2(of)));function ov(){return R(nT,"metadata",nl(oh),B,I(nq,og(),R(nT,"label",i5,ob,C(nk,"@id",eh,a2(os)))))}function og(){return C(ex,p(function(e,t){return H(I(rl,ol,e),I(rl,oc,t))}),nb(U([I(ev,"ranges",nl(op())),a2(B)])),nb(U([I(ev,"canvases",nl(eh)),a2(B)])))}function op(){return od(function(e){return ov()})}var om=ov();ov=function(){return om};var ow=og();og=function(){return ow};var ox=op();op=function(){return ox};var oy=w(function(e,t,a,r){return{s:e,aE:r,dN:t,gH:a}}),oE=function(e){return{$:1,a:e}},oI=function(e){return{$:0,a:e}},oC=function(e){return function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return function(s){return function(c){return function(l){return function(b){return function(d){return{eh:o,fZ:s,s:e,dN:t,f4:c,dP:a,e7:l,e9:u,fe:d,gH:n,gL:b,gS:r,gT:i}}}}}}}}}}}}}},oR=w(function(e,t,a,r){return{dI:a,s:e,dN:t,gP:r}}),o$=function(e){return{$:1,a:e}},oL=function(e){return{$:1,a:e}},oA={$:0},oS=I(ew,function(e){return"image/jpeg"===e?oA:o$(e)},eh),oT={$:0},ok=I(ew,function(e){return"Video"===e?oT:oL(e)},eh),oM=R(nT,"@type",ok,oL("Text"),R(nT,"format",oS,o$("text/html"),R(nT,"label",i5,ob,C(nk,"@id",eh,a2(oR))))),oP=nb(U([nl(oM),I(ew,iW,oM)])),oN=I(nH,am,R(nT,"thumbnail",nP(or),am,I(nH,am,I(nH,am,R(nT,"rendering",nA(oP),am,I(nH,am,I(nH,B,I(nH,on(1),R(nT,"description",nA(i5),am,I(nH,0,I(nH,B,C(nk,"label",i5,C(nk,"@id",eh,a2(oC)))))))))))))),oz=function(e){switch(e){case"sc:Collection":return I(ew,oI,od(function(e){return oO()}));case"sc:Manifest":return I(ew,oE,oN);default:return nv("Unknown collection item type: "+e)}};function oO(){return I(nq,oV(),R(nT,"description",nA(i5),am,C(nk,"label",i5,C(nk,"@id",eh,a2(oy)))))}function oV(){return nb(U([I(ev,"members",nl(oq())),C(ex,p(function(e,t){return H(e,t)}),nb(U([I(ev,"collections",nl(I(ew,oI,od(function(e){return oO()})))),a2(B)])),nb(U([I(ev,"manifests",nl(I(ew,oE,oN))),a2(B)])))]))}function oq(){return I(em,oz,I(ev,"@type",eh))}var oH=oO();oO=function(){return oH};var oB=oV();oV=function(){return oB};var oD=oq();oq=function(){return oD};var o_=C(nk,"value",i1,C(nk,"label",i1,a2(of))),oU=nb(U([I(ew,function(e){return{dN:U([I(iY,i2,U(["Attribution"]))]),dx:U([I(iY,i2,U([e]))])}},eh),o_,oh])),oF=I(eg,0,I(nN,U(["canvases"]),nl(ou))),oG=I(ew,function(e){switch(e){case"bottom-to-top":return 3;case"left-to-right":default:return 0;case"right-to-left":return 1;case"top-to-bottom":return 2}},eh),oj=R(nT,"attribution",nA(oU),am,R(nT,"thumbnail",nP(or),am,I(nH,am,R(nT,"logo",nA(i8),am,R(nT,"rendering",nA(oP),am,R(nT,"structures",nA(nl(ox)),am,C(nk,"sequences",oF,R(nT,"viewingHint",oo,on(1),R(nT,"description",nA(i5),am,R(nT,"viewingDirection",oG,0,R(nT,"metadata",nl(oh),B,C(nk,"label",i5,C(nk,"@id",eh,a2(oC)))))))))))))),oW=I(em,function(e){switch(e){case"sc:Canvas":return I(ew,I(n$,nE,nm(1)),ou);case"sc:Collection":return I(ew,I(n$,nI,nw(1)),oH);case"sc:Manifest":return I(ew,I(n$,nC,nx(1)),oj);case"sc:Range":return I(ew,I(n$,nR,ny(1)),ox);default:return nv("Unknown IIIF v2 resource type: "+e)}},I(ev,"@type",eh)),oZ=function(e){return{$:1,a:e}},oK=I(ew,oZ,nl(I(ew,function(e){switch(e){case"auto-advance":return 0;case"continuous":return 6;case"facing-pages":return 8;case"hidden":return 15;case"individuals":return 5;case"multi-part":return 10;case"no-auto-advance":return 1;case"no-nav":return 14;case"no-repeat":return 3;case"non-paged":return 9;case"paged":default:return 7;case"repeat":return 2;case"sequence":return 12;case"thumbnail-nav":return 13;case"together":return 11;case"unordered":return 4}},eh))),oX=p(function(e,t){for(;;)if(!t.b)return am;else{var a=t.a,r=t.b;if(e(a))return ap(a);t=r;continue}}),oY=p(function(e,t){return{s:e,gB:t}}),oJ=I(ew,i_,nb(U([I(ev,"@type",eh),I(ev,"type",eh)]))),oQ=I(nq,oJ,I(nq,nb(U([I(ev,"id",eh),I(ev,"@id",eh)])),a2(oY))),o0=nb(U([nl(oQ),I(ew,iW,oQ)])),o1=I(em,function(e){var t=I(n_,function(e){return e.s},I(oX,function(e){return I(iB,e.gB,U([0,1,2]))},e));return t.$?nv("No valid service ID found in service array"):I(ew,iq,iH(t.a))},I(ev,"service",o0)),o2=nb(U([o1,I(em,iV,I(ev,"id",eh))])),o4=nb(U([i1,i4])),o3=nb(U([nl(ef),I(ew,iW,ef)])),o6=nb(U([nl(oJ),I(ew,iW,oJ)])),o5=function(e){return R(nT,"service",o3,B,R(nT,"service",o6,B,I(nH,e,R(nT,"label",nA(o4),am,I(nq,o2,a2(nV))))))},o8=I(nN,U(["body","items"]),nl(o5(1))),o7=I(ew,iW,I(ev,"body",o5(0))),o9=I(em,function(e){return"Choice"===e?o8:o7},I(nN,U(["body","type"]),eh)),ue=I(nN,U(["items"]),I(eg,0,o9)),ut=nb(U([o1,I(em,ot,I(ev,"id",eh))])),ua=R(nT,"service",o3,B,R(nT,"service",o6,B,I(nH,0,R(nT,"label",nA(o4),am,I(nq,ut,a2(nV)))))),ur=R(nT,"behavior",nA(oK),am,R(nT,"thumbnail",nP(ua),am,C(nk,"items",I(eg,0,ue),C(nk,"height",nA(el),C(nk,"width",nA(el),R(nT,"label",nA(i1),am,C(nk,"id",eh,a2(nL)))))))),un=U([I(iY,i2,U(["Homepage"]))]),ui=function(e){switch(e){case"Canvas":return I(ew,oc,I(ev,"id",eh));case"Range":return I(ew,ol,uo());default:return nv("Unsupported range item type")}};function uo(){return R(nT,"metadata",nl(o_),B,R(nT,"items",nl(uu()),B,R(nT,"label",i1,un,C(nk,"id",eh,a2(os)))))}function uu(){return I(em,ui,I(ev,"type",eh))}var us=uo();uo=function(){return us};var uc=uu();uu=function(){return uc};var ul=function(e){return!e.b},ub=R(nT,"type",ok,oL("Text"),R(nT,"format",oS,o$("text/html"),R(nT,"label",i1,un,C(nk,"id",eh,a2(oR))))),ud=I(nH,am,R(nT,"thumbnail",nP(ua),am,I(nH,am,I(nH,am,R(nT,"homepage",nA(nl(ub)),am,I(nH,am,I(nH,B,I(nH,oZ(U([5])),R(nT,"summary",nA(i1),am,I(nH,0,I(nH,B,C(nk,"label",o4,C(nk,"id",eh,a2(oC)))))))))))))),uf=function(e){switch(e){case"Collection":return I(ew,oI,od(function(e){return uh()}));case"Manifest":return I(ew,oE,ud);default:return nv("Unknown collection item type: "+e)}};function uh(){return I(nq,uv(),R(nT,"summary",nA(i1),am,C(nk,"label",o4,C(nk,"id",eh,a2(oy)))))}function uv(){return R(ey,m(function(e,t,a){return ul(e)?H(t,a):H(e,H(t,a))}),nb(U([I(ev,"items",nl(ug())),a2(B)])),nb(U([I(ev,"collections",nl(I(ew,oI,od(function(e){return uh()})))),a2(B)])),nb(U([I(ev,"manifests",nl(I(ew,oE,ud))),a2(B)])))}function ug(){return I(em,uf,I(ev,"type",eh))}var up=uh();uh=function(){return up};var um=uv();uv=function(){return um};var uw=ug();ug=function(){return uw};var ux=y(function(e,t,a,r,n,i){return{fZ:r,s:e,dN:t,f4:n,gy:i,gP:a}}),uy=E(function(e,t,a,r,n,i,o){return{dI:a,dd:i,s:e,dN:t,fl:o,gP:r,dz:n}}),uE=U([I(iY,i2,U(["Logo"]))]),uI=R(nT,"service",nA(o0),am,R(nT,"height",el,0,R(nT,"width",el,0,R(nT,"type",ok,oL("Image"),R(nT,"format",oS,o$("image/png"),R(nT,"label",i1,uE,C(nk,"id",eh,a2(uy)))))))),uC=R(nT,"seeAlso",nA(nl(C(nk,"type_",ok,C(nk,"format",oS,C(nk,"label",o4,C(nk,"id",eh,a2(w(function(e,t,a,r){return{dI:a,s:e,dN:t,gP:r}})))))))),am,R(nT,"logo",nA(nl(uI)),am,R(nT,"homepage",nA(nl(ub)),am,C(nk,"type",ok,C(nk,"label",i1,C(nk,"id",eh,a2(ux))))))),uR=R(nT,"requiredStatement",nA(o_),am,R(nT,"thumbnail",nP(ua),am,R(nT,"provider",nA(nl(uC)),am,R(nT,"logo",nA(o5(0)),am,R(nT,"homepage",nA(nl(ub)),am,R(nT,"structures",nA(nl(us)),am,C(nk,"items",nl(ur),R(nT,"behavior",oK,oZ(U([5])),R(nT,"summary",nA(i1),am,R(nT,"viewingDirection",oG,0,R(nT,"metadata",nl(o_),B,C(nk,"label",o4,C(nk,"id",eh,a2(oC)))))))))))))),u$=I(em,function(e){switch(e){case"Canvas":return I(ew,I(n$,nE,nm(2)),ur);case"Collection":return I(ew,I(n$,nI,nw(2)),up);case"Manifest":return I(ew,I(n$,nC,nx(2)),uR);case"Range":return I(ew,I(n$,nR,ny(2)),us);default:return nv("Unknown IIIF v3 resource type: "+e)}},I(ev,"type",eh)),uL=nb(U([I(em,function(e){return I(nh,np,e)?u$:I(nh,ng,e)?oW:nv("Unknown resource context value: "+e)},I(ev,"@context",eh)),I(em,function(e){return I(nd,nh(np),e)?u$:I(nd,nh(ng),e)?oW:nv("Context values contain an unknown IIIF version: "+I(aw,", ",e))},I(ev,"@context",nl(eh)))])),uA=m(function(e,t,a){return C(nc,t,I(r4,e,uL),a)}),uS={aL:!1,bj:10,bk:15,aM:0,bl:!1,aN:0,ax:!1,aO:8,aP:0,bm:!1,aQ:0,bn:!1,aR:0,bo:!1,aS:0,ay:!1,aT:8,aU:0,bp:!1,aV:0,bq:!1,aW:0,br:!1,aX:0,az:!1,aY:8,aZ:0,bs:!1,a_:0,bt:!1,bu:0,cd:!1,bv:0,ce:!1,bw:0,cf:!1,bx:0,cg:!1,by:1,N:!1,ci:!1,bz:"#ffffff",bA:"#ffffff",bB:24,bC:128,a1:!1,bD:"gray",bE:1,cj:!1,ck:!1,bF:"sharpen",co:!1,bK:1,cp:!1,a4:!1,cs:!1,bL:0,cu:!1,cA:!1,a8:!1,bP:3,bQ:"erode",cF:!1,bR:1,bS:0,bT:"pca-rgb",bU:1,ad:!1,bV:1,bW:"rg",bX:1,bd:0,bZ:0,cN:!1,b4:128,cU:!1,b5:1,c_:!1,b7:0,c0:!1},uT=function(e){switch(e){case"contents":return 3;case"metadata":return 2;default:return 1}},uk=function(e){return{$:0,a:e}},uM=function(e){return{$:1,a:e}},uP=function(e){return{$:3,a:e}},uN=function(e){return{$:4,a:e}},uz=function(e){return{$:5,a:e}},uO=function(e){return{$:1,a:e}},uV=p(function(e,t){return{$:2,a:e,b:t}}),uq={$:14},uH=p(function(e,t){return{$:3,a:e,b:t}}),uB=m(function(e,t,a){return{$:2,a:e,b:t,c:a}}),uD=p(function(e,t){return{$:0,a:e,b:t}}),u_=m(function(e,t,a){return{$:4,a:e,b:t,c:a}}),uU=p(function(e,t){return{$:9,a:e,b:t}}),uF=m(function(e,t,a){return{$:8,a:e,b:t,c:a}}),uG=function(e){return{$:12,a:e}},uj=function(e){return{$:28,a:e}},uW=function(e){return{$:29,a:e}},uZ={$:30},uK={$:31},uX=function(e){return{$:55,a:e}},uY=function(e){return{$:5,c:e}},uJ=e3("authDestroyed",uY(0)),uQ=e3("authHttpFailed",I(em,function(e){return I(em,function(t){return a2({s:t,ac:e})},I(ev,"id",eh))},I(ev,"message",eh))),u0=e3("authHttpResponded",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({ef:a,s:t,du:e})},I(ev,"body",eh))},I(ev,"id",eh))},I(ev,"status",el))),u1=e3("authLogoutChanged",I(em,function(e){return I(em,function(t){return a2({fm:t,du:e})},I(ev,"sessionId",eh))},I(ev,"status",eh))),u2=e3("authPopupChanged",I(em,function(e){return I(em,function(t){return a2({da:t,du:e})},I(ev,"flowId",eh))},I(ev,"status",eh))),u4=e3("authStorageResponded",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({da:a,dh:t,dx:e})},I(ev,"flowId",eh))},I(ev,"now",ed))},I(ev,"value",nb(U([uY(am),I(ew,ap,ef)]))))),u3=e3("authTokenFailed",I(em,function(e){return I(em,function(t){return a2({da:t,ac:e})},I(ev,"flowId",eh))},I(ev,"message",eh))),u6=e3("authTokenMessage",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({da:a,dh:t,dx:e})},I(ev,"flowId",eh))},I(ev,"now",ed))},I(ev,"value",ef))),u5=e3("fullscreenChanged",eb),u8=e3("layoutModeRequested",eh),u7={$:12},u9=function(e){return uk(function(){switch(e.du){case"closed":return u7;case"opened":return{$:10,a:e.fm};default:return{$:11,a:e.fm}}}())},se=eX(B),st=m(function(e,t,a){return{$:0,a:e,b:t,c:a}}),sa=p(function(e,t){return{e_:t,ft:e}}),sr=eM(I(sa,B,rC)),sn=function(e){return{a:H(e.a?"w_":"d_",e.b),b:e}},si=function(e){return C(aE,p(function(e,t){return C(rB,e.a,e.b,t)}),rC,e)},so=m(function(e,t,a){for(;;)if(-2===a.$)return t;else{var r=a.b,n=a.c,i=a.d,o=a.e,u=e,s=C(e,r,n,C(so,e,t,i));e=u,t=s,a=o;continue}}),su=y(function(e,t,a,r,n,i){var o=m(function(r,n,i){for(;;){var o=i.a,u=i.b;if(o.b){var s=o.a,c=s.a,l=s.b,b=o.b;if(0>O(c,r)){var d=r,f=n,h={a:b,b:C(e,c,l,u)};r=d,n=f,i=h;continue}if(O(c,r)>0)return{a:o,b:C(a,r,n,u)};return{a:b,b:R(t,c,l,n,u)}}return{a:o,b:C(a,r,n,u)}}}),u=C(so,o,{a:ai(r),b:i},n),s=u.a,c=u.b;return C(aE,p(function(t,a){return C(e,t.a,t.b,a)}),c,s)}),ss=p(function(e,t){return{ev:t,aj:e}}),sc=m(function(e,t,a){return I(rb,function(e){return{a:t,b:e}},C(tQ,a.a?tJ:tY,a.b,function(a){return I(rz,e,I(ss,t,a))}))}),sl=p(function(e,t){return C(so,rB,t,e)}),sb=m(function(e,t,a){var r=m(function(t,a,r){var n=r.a,i=r.b,o=r.c;return{a:n,b:i,c:I(_,C(sc,e,t,a),o)}}),n=m(function(e,t,a){var r,n=a.a,i=a.b,o=a.c;return r=I(_,t,n),{a:r,b:i,c:o}}),i=w(function(e,t,a,r){var n=r.a,i=r.b,o=r.c;return{a:n,b:C(rB,e,t,i),c:o}}),o=I(rl,sn,t),u=L(su,n,i,r,a.e_,si(o),{a:B,b:rC,c:B}),s=u.a,c=u.b,l=u.c;return I(eN,function(e){return eM(I(sa,o,I(sl,c,si(e))))},I(eN,function(e){return rf(l)},rf(I(rl,r9,s))))}),sd=m(function(e,t,a){var r=t.aj,n=t.ev,i=I(nr,function(e){var t=e.a,a=e.b;a.a,a.b;var i=a.c;return M(t,r)?I(t0,i,n):am},a.ft);return I(eN,function(e){return eM(a)},rf(I(rl,eW(e),i)))}),sf=p(function(e,t){return C(st,t.a,t.b,I(ew,e,t.c))});eG["Browser.Events"]=ej(sr,sb,sd,0,sf);var sh=eK("Browser.Events"),sv=m(function(e,t,a){return sh(C(st,e,t,a))}),sg=I(sv,0,"mousemove"),sp=I(sv,0,"mouseup"),sm=e3("pageIndexChanged",el),sw=e3("pageIndexChangedInstant",el),sx=function(e){return uk(function(){switch(e.du){case"closed":return{$:7,a:e.da};case"opened":return{$:5,a:e.da};default:return{$:6,a:e.da}}}())},sy=e3("resolveTileSourceCancelled",eh),sE=e3("resolveTileSourceRequested",I(em,function(e){return I(em,function(t){return a2({fd:t,b3:e})},I(ev,"requestId",eh))},I(ev,"sourceId",eh))),sI=e3("resourceRequested",I(em,function(e){return I(em,function(t){return a2({fd:t,aK:e})},I(ev,"requestId",eh))},I(ev,"url",eh))),sC=e3("viewerLoadingChanged",eb),sR=e3("zoomChanged",ed),s$={$:0},sL=function(e){return{$:2,a:e}},sA=function(e){return{$:1,a:e}},sS=p(function(e,t){return{$:7,a:e,b:t}}),sT=p(function(e,t){return{$:8,a:e,b:t}}),sk=m(function(e,t,a){return{$:10,a:e,b:t,c:a}}),sM=m(function(e,t,a){switch(e){case 0:return q(a,{aL:t});case 1:return q(a,{bl:t});case 2:return q(a,{ax:t});case 3:return q(a,{bm:t});case 4:return q(a,{bn:t});case 5:return q(a,{bo:t});case 6:return q(a,{ay:t});case 7:return q(a,{bp:t});case 8:return q(a,{bq:t});case 9:return q(a,{br:t});case 10:return q(a,{az:t});case 11:return q(a,{bs:t});case 12:return q(a,{bt:t});case 13:return q(a,{cd:t});case 14:return q(a,{ce:t});case 15:return q(a,{cf:t});case 16:return q(a,{cg:t});case 17:return q(a,{a1:t});case 18:return q(a,{N:t});case 19:return q(a,{ci:t});case 20:return q(a,{cj:t});case 21:return q(a,{ck:t});case 22:return q(a,{co:t});case 23:return q(a,{cp:t});case 24:return q(a,{a4:t});case 25:return q(a,{cs:t});case 26:return q(a,{cu:t});case 27:return q(a,{cA:t});case 28:return q(a,{a8:t});case 29:return q(a,{cF:t});case 30:return q(a,{ad:t});case 31:return q(a,{cN:t});case 32:return q(a,{cU:t});case 33:return q(a,{c_:t});default:return q(a,{c0:t})}}),sP=function(e){switch(e){case 0:return{b:function(e){return e.by},f:1,g:0,c:p(function(e,t){return q(t,{by:e})})};case 1:return{b:function(e){return e.bE},f:4,g:0,c:p(function(e,t){return q(t,{bE:e})})};case 2:return{b:function(e){return e.bK},f:4,g:.1,c:p(function(e,t){return q(t,{bK:e})})};case 3:return{b:function(e){return e.bR},f:2,g:0,c:p(function(e,t){return q(t,{bR:e})})};case 4:return{b:function(e){return e.bU},f:2,g:0,c:p(function(e,t){return q(t,{bU:e})})};case 5:return{b:function(e){return e.bV},f:2,g:0,c:p(function(e,t){return q(t,{bV:e})})};case 6:return{b:function(e){return e.bX},f:2,g:0,c:p(function(e,t){return q(t,{bX:e})})};default:return{b:function(e){return e.b5},f:3,g:0,c:p(function(e,t){return q(t,{b5:e})})}}},sN=m(function(e,t,a){var r=n0(t),n=sP(e),i=I(nU,n.b(a),I(n_,I(rE,n.g,n.f),r));return I(n.c,i,a)}),sz=function(e){return I(W,2,e)?e:e+1},sO=function(e){return 3===e||5===e||7===e?e:3},sV=function(e){switch(e){case 0:return{b:function(e){return e.bj},f:50,g:-50,c:p(function(e,t){return q(t,{bj:e})}),i:am};case 1:return{b:function(e){return e.bk},f:51,g:3,c:p(function(e,t){return q(t,{bk:e})}),i:ap(sz)};case 2:return{b:function(e){return e.aW},f:100,g:0,c:p(function(e,t){return q(t,{aW:e})}),i:am};case 3:return{b:function(e){return e.aZ},f:100,g:0,c:p(function(e,t){return q(t,{aZ:e})}),i:am};case 4:return{b:function(e){return e.a_},f:100,g:0,c:p(function(e,t){return q(t,{a_:e})}),i:am};case 5:return{b:function(e){return e.aX},f:100,g:-100,c:p(function(e,t){return q(t,{aX:e})}),i:am};case 6:return{b:function(e){return e.aY},f:30,g:2,c:p(function(e,t){return q(t,{aY:e})}),i:am};case 7:return{b:function(e){return e.aR},f:100,g:0,c:p(function(e,t){return q(t,{aR:e})}),i:am};case 8:return{b:function(e){return e.aU},f:100,g:0,c:p(function(e,t){return q(t,{aU:e})}),i:am};case 9:return{b:function(e){return e.aS},f:100,g:-100,c:p(function(e,t){return q(t,{aS:e})}),i:am};case 10:return{b:function(e){return e.aT},f:30,g:2,c:p(function(e,t){return q(t,{aT:e})}),i:am};case 11:return{b:function(e){return e.aV},f:100,g:0,c:p(function(e,t){return q(t,{aV:e})}),i:am};case 12:return{b:function(e){return e.aM},f:100,g:0,c:p(function(e,t){return q(t,{aM:e})}),i:am};case 13:return{b:function(e){return e.aP},f:100,g:0,c:p(function(e,t){return q(t,{aP:e})}),i:am};case 14:return{b:function(e){return e.aN},f:100,g:-100,c:p(function(e,t){return q(t,{aN:e})}),i:am};case 15:return{b:function(e){return e.aO},f:30,g:2,c:p(function(e,t){return q(t,{aO:e})}),i:am};case 16:return{b:function(e){return e.aQ},f:100,g:0,c:p(function(e,t){return q(t,{aQ:e})}),i:am};case 17:return{b:function(e){return e.bu},f:255,g:-255,c:p(function(e,t){return q(t,{bu:e})}),i:am};case 18:return{b:function(e){return e.bv},f:100,g:-100,c:p(function(e,t){return q(t,{bv:e})}),i:am};case 19:return{b:function(e){return e.bw},f:100,g:-100,c:p(function(e,t){return q(t,{bw:e})}),i:am};case 20:return{b:function(e){return e.bx},f:100,g:-100,c:p(function(e,t){return q(t,{bx:e})}),i:am};case 21:return{b:function(e){return e.bC},f:255,g:0,c:p(function(e,t){return q(t,{bC:e})}),i:am};case 22:return{b:function(e){return e.bB},f:255,g:0,c:p(function(e,t){return q(t,{bB:e})}),i:am};case 23:return{b:function(e){return e.bS},f:180,g:-180,c:p(function(e,t){return q(t,{bS:e})}),i:am};case 24:return{b:function(e){return e.bL},f:100,g:-100,c:p(function(e,t){return q(t,{bL:e})}),i:am};case 25:return{b:function(e){return e.bP},f:7,g:3,c:p(function(e,t){return q(t,{bP:e})}),i:ap(sO)};case 26:return{b:function(e){return e.bd},f:180,g:-180,c:p(function(e,t){return q(t,{bd:e})}),i:am};case 27:return{b:function(e){return e.bZ},f:100,g:-100,c:p(function(e,t){return q(t,{bZ:e})}),i:am};case 28:return{b:function(e){return e.b4},f:255,g:0,c:p(function(e,t){return q(t,{b4:e})}),i:am};default:return{b:function(e){return e.b7},f:100,g:-100,c:p(function(e,t){return q(t,{b7:e})}),i:am}}},sq=m(function(e,t,a){var r=rt(t),n=sV(e),i=function(){if(r.$)return n.b(a);var e=r.a,t=C(rE,n.g,n.f,e),i=n.i;return i.$?t:(0,i.a)(t)}();return I(n.c,i,a)}),sH=p(function(e,t){return e}),sB=function(e){switch(e){case 0:return{b:function(e){return e.bD},c:p(function(e,t){return q(t,{bD:e})}),i:function(e){return I(iB,e,U(["gray","hot","cool"]))}};case 1:return{b:function(e){return e.bz},c:p(function(e,t){return q(t,{bz:e})}),i:sH(!0)};case 2:return{b:function(e){return e.bA},c:p(function(e,t){return q(t,{bA:e})}),i:sH(!0)};case 3:return{b:function(e){return e.bF},c:p(function(e,t){return q(t,{bF:e})}),i:function(e){return I(iB,e,U(["sharpen","blur","edge","emboss"]))}};case 4:return{b:function(e){return e.bT},c:p(function(e,t){return q(t,{bT:e})}),i:function(e){return I(iB,e,U(["pca-rgb","pca1","pca2","pca3"]))}};case 5:return{b:function(e){return e.bQ},c:p(function(e,t){return q(t,{bQ:e})}),i:function(e){return"erode"===e||"dilate"===e}};default:return{b:function(e){return e.bW},c:p(function(e,t){return q(t,{bW:e})}),i:function(e){return I(iB,e,U(["rg","gb","rb","luma","cmy","heat"]))}}}},sD=m(function(e,t,a){var r=sB(e),n=r.i(t)?t:r.b(a);return I(r.c,n,a)}),s_=m(function(e,t,a){return a.$?e:t(a.a)}),sU=function(e){return C(aE,p(function(e,t){return C(ek,e.a,e.b,t)}),{},e)},sF=e1("filterPreviewUpdated",function(e){return C(s_,null,function(e){var t;return sU(U([{a:"aspect",b:eT(e.c5)},{a:"filters",b:sU(U([{a:"adaptiveEnabled",b:eT((t=e.ez).aL)},{a:"adaptiveOffset",b:eT(t.bj)},{a:"adaptiveWindow",b:eT(t.bk)},{a:"altBlueGamma",b:eT(t.aM)},{a:"altBlueGammaEnabled",b:eT(t.bl)},{a:"altBlueHue",b:eT(t.aN)},{a:"altBlueHueEnabled",b:eT(t.ax)},{a:"altBlueHueWindow",b:eT(t.aO)},{a:"altBlueSigmoid",b:eT(t.aP)},{a:"altBlueSigmoidEnabled",b:eT(t.bm)},{a:"altBlueVibrance",b:eT(t.aQ)},{a:"altBlueVibranceEnabled",b:eT(t.bn)},{a:"altGreenGamma",b:eT(t.aR)},{a:"altGreenGammaEnabled",b:eT(t.bo)},{a:"altGreenHue",b:eT(t.aS)},{a:"altGreenHueEnabled",b:eT(t.ay)},{a:"altGreenHueWindow",b:eT(t.aT)},{a:"altGreenSigmoid",b:eT(t.aU)},{a:"altGreenSigmoidEnabled",b:eT(t.bp)},{a:"altGreenVibrance",b:eT(t.aV)},{a:"altGreenVibranceEnabled",b:eT(t.bq)},{a:"altRedGamma",b:eT(t.aW)},{a:"altRedGammaEnabled",b:eT(t.br)},{a:"altRedHue",b:eT(t.aX)},{a:"altRedHueEnabled",b:eT(t.az)},{a:"altRedHueWindow",b:eT(t.aY)},{a:"altRedSigmoid",b:eT(t.aZ)},{a:"altRedSigmoidEnabled",b:eT(t.bs)},{a:"altRedVibrance",b:eT(t.a_)},{a:"altRedVibranceEnabled",b:eT(t.bt)},{a:"brightness",b:eT(t.bu)},{a:"brightnessEnabled",b:eT(t.cd)},{a:"ccBlue",b:eT(t.bv)},{a:"ccBlueEnabled",b:eT(t.ce)},{a:"ccGreen",b:eT(t.bw)},{a:"ccGreenEnabled",b:eT(t.cf)},{a:"ccRed",b:eT(t.bx)},{a:"ccRedEnabled",b:eT(t.cg)},{a:"colourReplaceBlend",b:eT(t.by)},{a:"colourReplaceEnabled",b:eT(t.N)},{a:"colourReplacePreserveLum",b:eT(t.ci)},{a:"colourReplaceSource",b:eT(t.bz)},{a:"colourReplaceTarget",b:eT(t.bA)},{a:"colourReplaceTolerance",b:eT(t.bB)},{a:"colourmapCenter",b:eT(t.bC)},{a:"colourmapEnabled",b:eT(t.a1)},{a:"colourmapPreset",b:eT(t.bD)},{a:"contrast",b:eT(t.bE)},{a:"contrastEnabled",b:eT(t.cj)},{a:"convolutionEnabled",b:eT(t.ck)},{a:"convolutionPreset",b:eT(t.bF)},{a:"flip",b:eT(t.co)},{a:"gamma",b:eT(t.bK)},{a:"gammaEnabled",b:eT(t.cp)},{a:"globalPcaEnabled",b:eT(t.a4)},{a:"grayscale",b:eT(t.cs)},{a:"hue",b:eT(t.bL)},{a:"hueEnabled",b:eT(t.cu)},{a:"invert",b:eT(t.cA)},{a:"morphEnabled",b:eT(t.a8)},{a:"morphKernel",b:eT(t.bP)},{a:"morphOperation",b:eT(t.bQ)},{a:"normalizeEnabled",b:eT(t.cF)},{a:"normalizeStrength",b:eT(t.bR)},{a:"pcaHue",b:eT(t.bS)},{a:"pcaMode",b:eT(t.bT)},{a:"pseudoColourBlue",b:eT(t.bU)},{a:"pseudoColourEnabled",b:eT(t.ad)},{a:"pseudoColourGreen",b:eT(t.bV)},{a:"pseudoColourMode",b:eT(t.bW)},{a:"pseudoColourRed",b:eT(t.bX)},{a:"rotation",b:eT(t.bd)},{a:"saturation",b:eT(t.bZ)},{a:"saturationEnabled",b:eT(t.cN)},{a:"threshold",b:eT(t.b4)},{a:"thresholdEnabled",b:eT(t.cU)},{a:"unsharpAmount",b:eT(t.b5)},{a:"unsharpEnabled",b:eT(t.c_)},{a:"vibrance",b:eT(t.b7)},{a:"vibranceEnabled",b:eT(t.c0)}]))},{a:"isStatic",b:eT(e.aD)},{a:"sourceId",b:eT(e.b3)},{a:"tileSource",b:eT(e.cV)}]))},e)}),sG=p(function(e,t){return C(aE,p(function(t,a){return a.push(e(t)),a}),[],t)}),sj=e1("pageAspectsUpdated",sG(eT)),sW=e1("pageLabelsUpdated",sG(eT)),sZ=e1("pagesUpdated",sG(function(e){var t;return sU(U([{a:"canvasId",b:eT(e.c7)},{a:"height",b:C(s_,null,eT,e.dd)},{a:"images",b:sG(function(e){return sU(U([{a:"id",b:eT(e.s)},{a:"isPrimary",b:eT(e.bN)},{a:"label",b:eT(e.dN)}]))})(e.cy)},{a:"index",b:eT(e.eK)},{a:"label",b:eT(e.dN)},{a:"primaryImage",b:sU(U([{a:"id",b:eT((t=e.e3).s)},{a:"isPrimary",b:eT(t.bN)},{a:"label",b:eT(t.dN)}]))},{a:"width",b:C(s_,null,eT,e.dz)}]))})),sK=e1("tileSourcesUpdated",function(e){return sU(U([{a:"initialPageIndex",b:eT(e.dL)},{a:"resourceId",b:eT(e.dZ)},{a:"tileSources",b:sG(function(e){return sU(U([{a:"isStatic",b:eT(e.aD)},{a:"sourceId",b:eT(e.b3)},{a:"url",b:eT(e.aK)}]))})(e.d6)}]))}),sX=function(e){return eX(U([sK({dL:0,dZ:e,d6:B}),sZ(B),sj(B),sW(B),sF(am)]))},sY=e1("copyToClipboard",eT),sJ=m(function(e,t,a){return e.$?a:I(t,e.a,a)}),sQ=function(e){return e.$?am:ap(e.a)},s0=m(function(e,t,a){return I(nD,function(t){return sQ(I(eI,e,t))},I(rO,t,a))}),s1=p(function(e,t){return C(s0,eb,e,t)}),s2=p(function(e,t){return C(s0,nb(U([ed,I(ew,aU,el)])),e,t)}),s4=p(function(e,t){return C(s0,el,e,t)}),s3=p(function(e,t){return C(s0,eh,e,t)}),s6=function(e){var t=I(s4,"vibrance",e),a=I(s2,"unsharpAmount",e),r=I(s4,"threshold",e),n=I(s4,"saturation",e),i=I(s4,"rotation",e),o=I(s2,"pseudoColourRed",e),u=I(s3,"pseudoColourMode",e),s=I(s2,"pseudoColourGreen",e),c=I(s2,"pseudoColourBlue",e),l=I(s3,"pcaMode",e),b=I(s4,"pcaHue",e),d=I(s2,"normalizeStrength",e),f=I(s3,"morphOperation",e),h=I(s4,"morphKernel",e),v=I(s1,"invert",e),g=I(s4,"hue",e),m=I(s1,"grayscale",e),w=I(s2,"gamma",e),x=I(s1,"flip",e),y=I(s3,"convolutionPreset",e),E=I(s2,"contrast",e),R=I(s3,"colourmapPreset",e),$=I(s4,"colourmapCenter",e),L=I(s4,"colourReplaceTolerance",e),A=I(s3,"colourReplaceTarget",e),S=I(s3,"colourReplaceSource",e),T=I(s1,"colourReplacePreserveLum",e),k=I(s2,"colourReplaceBlend",e),M=I(s4,"ccRed",e),P=I(s4,"ccGreen",e),N=I(s4,"ccBlue",e),z=I(s4,"brightness",e),O=I(s4,"altRedVibrance",e),V=I(s4,"altRedSigmoid",e),H=I(s4,"altRedHueWindow",e),B=I(s4,"altRedHue",e),D=I(s4,"altRedGamma",e),_=I(s4,"altGreenVibrance",e),U=I(s4,"altGreenSigmoid",e),F=I(s4,"altGreenHueWindow",e),G=I(s4,"altGreenHue",e),j=I(s4,"altGreenGamma",e),W=I(s4,"altBlueVibrance",e),Z=I(s4,"altBlueSigmoid",e),K=I(s4,"altBlueHueWindow",e),X=I(s4,"altBlueHue",e),Y=I(s4,"altBlueGamma",e),J=I(s4,"adaptiveWindow",e),Q=I(s4,"adaptiveOffset",e);return C(sJ,W,p(function(e,t){return q(t,{aQ:e,bn:!0})}),C(sJ,K,p(function(e,t){return q(t,{ax:!0,aO:e})}),C(sJ,X,p(function(e,t){return q(t,{aN:e,ax:!0})}),C(sJ,Z,p(function(e,t){return q(t,{aP:e,bm:!0})}),C(sJ,Y,p(function(e,t){return q(t,{aM:e,bl:!0})}),C(sJ,_,p(function(e,t){return q(t,{aV:e,bq:!0})}),C(sJ,F,p(function(e,t){return q(t,{ay:!0,aT:e})}),C(sJ,G,p(function(e,t){return q(t,{aS:e,ay:!0})}),C(sJ,U,p(function(e,t){return q(t,{aU:e,bp:!0})}),C(sJ,j,p(function(e,t){return q(t,{aR:e,bo:!0})}),C(sJ,O,p(function(e,t){return q(t,{a_:e,bt:!0})}),C(sJ,H,p(function(e,t){return q(t,{az:!0,aY:e})}),C(sJ,B,p(function(e,t){return q(t,{aX:e,az:!0})}),C(sJ,V,p(function(e,t){return q(t,{aZ:e,bs:!0})}),C(sJ,D,p(function(e,t){return q(t,{aW:e,br:!0})}),C(sJ,Q,p(function(e,t){return q(t,{aL:!0,bj:e})}),C(sJ,J,p(function(e,t){return q(t,{aL:!0,bk:e})}),C(sJ,d,p(function(e,t){return q(t,{cF:!0,bR:e})}),C(sJ,a,p(function(e,t){return q(t,{b5:e,c_:!0})}),C(sJ,T,p(function(e,t){return q(t,{N:!0,ci:e})}),C(sJ,k,p(function(e,t){return q(t,{by:e,N:!0})}),C(sJ,L,p(function(e,t){return q(t,{N:!0,bB:e})}),C(sJ,A,p(function(e,t){return q(t,{N:!0,bA:e})}),C(sJ,S,p(function(e,t){return q(t,{N:!0,bz:e})}),C(sJ,b,p(function(e,t){return q(t,{a4:!0,bS:e})}),C(sJ,l,p(function(e,t){return q(t,{a4:!0,bT:e})}),C(sJ,c,p(function(e,t){return q(t,{bU:e,ad:!0})}),C(sJ,s,p(function(e,t){return q(t,{ad:!0,bV:e})}),C(sJ,o,p(function(e,t){return q(t,{ad:!0,bX:e})}),C(sJ,u,p(function(e,t){return q(t,{ad:!0,bW:e})}),C(sJ,$,p(function(e,t){return q(t,{bC:e,a1:!0})}),C(sJ,R,p(function(e,t){return q(t,{a1:!0,bD:e})}),C(sJ,y,p(function(e,t){return q(t,{ck:!0,bF:e})}),C(sJ,h,p(function(e,t){return q(t,{a8:!0,bP:e})}),C(sJ,f,p(function(e,t){return q(t,{a8:!0,bQ:e})}),C(sJ,N,p(function(e,t){return q(t,{bv:e,ce:!0})}),C(sJ,P,p(function(e,t){return q(t,{bw:e,cf:!0})}),C(sJ,M,p(function(e,t){return q(t,{bx:e,cg:!0})}),C(sJ,g,p(function(e,t){return q(t,{bL:e,cu:!0})}),C(sJ,t,p(function(e,t){return q(t,{b7:e,c0:!0})}),C(sJ,n,p(function(e,t){return q(t,{bZ:e,cN:!0})}),C(sJ,w,p(function(e,t){return q(t,{bK:e,cp:!0})}),C(sJ,E,p(function(e,t){return q(t,{bE:e,cj:!0})}),C(sJ,z,p(function(e,t){return q(t,{bu:e,cd:!0})}),C(sJ,r,p(function(e,t){return q(t,{b4:e,cU:!0})}),C(sJ,v,p(function(e,t){return q(t,{cA:e})}),C(sJ,m,p(function(e,t){return q(t,{cs:e})}),C(sJ,x,p(function(e,t){return q(t,{co:e})}),C(sJ,i,p(function(e,t){return q(t,{bd:e})}),uS)))))))))))))))))))))))))))))))))))))))))))))))))},s5=function(e){var t=I(eE,I(ew,si,iX(ef)),e);return t.$?ab(aq(t.a)):av(s6(t.a))},s8=w(function(e,t,a,r){return e?I(_,{a:t,b:a},r):r}),s7=function(e){return I(eS,2,sU(R(s8,e.bn,"altBlueVibrance",eT(e.aQ),R(s8,e.ax,"altBlueHueWindow",eT(e.aO),R(s8,e.ax,"altBlueHue",eT(e.aN),R(s8,e.bm,"altBlueSigmoid",eT(e.aP),R(s8,e.bl,"altBlueGamma",eT(e.aM),R(s8,e.bq,"altGreenVibrance",eT(e.aV),R(s8,e.ay,"altGreenHueWindow",eT(e.aT),R(s8,e.ay,"altGreenHue",eT(e.aS),R(s8,e.bp,"altGreenSigmoid",eT(e.aU),R(s8,e.bo,"altGreenGamma",eT(e.aR),R(s8,e.bt,"altRedVibrance",eT(e.a_),R(s8,e.az,"altRedHueWindow",eT(e.aY),R(s8,e.az,"altRedHue",eT(e.aX),R(s8,e.bs,"altRedSigmoid",eT(e.aZ),R(s8,e.br,"altRedGamma",eT(e.aW),R(s8,e.aL,"adaptiveOffset",eT(e.bj),R(s8,e.aL,"adaptiveWindow",eT(e.bk),R(s8,e.cF,"normalizeStrength",eT(e.bR),R(s8,e.c_,"unsharpAmount",eT(e.b5),R(s8,e.N,"colourReplacePreserveLum",eT(e.ci),R(s8,e.N,"colourReplaceBlend",eT(e.by),R(s8,e.N,"colourReplaceTolerance",eT(e.bB),R(s8,e.N,"colourReplaceTarget",eT(e.bA),R(s8,e.N,"colourReplaceSource",eT(e.bz),R(s8,e.a4,"pcaHue",eT(e.bS),R(s8,e.a4,"pcaMode",eT(e.bT),R(s8,e.ad,"pseudoColourBlue",eT(e.bU),R(s8,e.ad,"pseudoColourGreen",eT(e.bV),R(s8,e.ad,"pseudoColourRed",eT(e.bX),R(s8,e.ad,"pseudoColourMode",eT(e.bW),R(s8,e.a1,"colourmapCenter",eT(e.bC),R(s8,e.a1,"colourmapPreset",eT(e.bD),R(s8,e.ck,"convolutionPreset",eT(e.bF),R(s8,e.a8,"morphKernel",eT(e.bP),R(s8,e.a8,"morphOperation",eT(e.bQ),R(s8,e.ce,"ccBlue",eT(e.bv),R(s8,e.cf,"ccGreen",eT(e.bw),R(s8,e.cg,"ccRed",eT(e.bx),R(s8,e.cu,"hue",eT(e.bL),R(s8,e.c0,"vibrance",eT(e.b7),R(s8,e.cN,"saturation",eT(e.bZ),R(s8,e.cp,"gamma",eT(e.bK),R(s8,e.cj,"contrast",eT(e.bE),R(s8,e.cd,"brightness",eT(e.bu),R(s8,e.cU,"threshold",eT(e.b4),R(s8,e.cA,"invert",eT(!0),R(s8,e.cs,"grayscale",eT(!0),R(s8,e.co,"flip",eT(!0),R(s8,!!e.bd,"rotation",eT(e.bd),B)))))))))))))))))))))))))))))))))))))))))))))))))))},s9=p(function(e,t){var a=p(function(t,a){for(;;)if(M(t.t.s,e))return ap(t.t);else{var r=t.Q;if(r.b){var n=r.a,i=r.b;if(n.$){var o=q(t,{Q:i}),u=a;t=o,a=u;continue}var s=n.a,o={t:s,Q:s.aE},u=I(_,{t:t.t,Q:i},a);t=o,a=u;continue}if(!a.b)return am;var c=a.a,i=a.b,o=c,u=i;t=o,a=u;continue}});return I(a,{t:t,Q:t.aE},B)}),ce=p(function(e,t){var a=I(ct,e,t.aE),r=a.a,n=a.b;return C(rB,t.s,r,n)}),ct=p(function(e,t){return C(aE,p(function(t,a){var r=a.a,n=a.b;if(t.$){var i=t.a,o=I(ce,e,i),u=r.$?I(nU,am,I(rO,i.s,o)):r;return{a:u,b:I(sl,o,n)}}var s=t.a,u=r.$?I(rO,s,e):r;return{a:u,b:n}}),{a:am,b:rC},t)}),ca=p(function(e,t){return C(aE,p(function(t,a){return I(sl,I(ce,e,t),a)}),rC,t)}),cr=e1("layoutConfigUpdated",function(e){return sU(U([{a:"direction",b:eT(e.eo)},{a:"mode",b:eT(e.eT)}]))}),cn=p(function(e,t){return e?t?"spread-shift":"spread":"single"}),ci=function(e){var t={a:e.dz,b:e.dd};if(t.a.$||t.b.$)return 1;var a=t.a.a,r=t.b.a;return a>0?r/a:1},co=p(function(e,t){return I(nU,U(["[No language value found]"]),I(n_,function(e){return e.b},I(nQ,U([function(a){if(e.$)return am;var r=e.a;return I(oX,function(e){return!e.a.$&&M(e.a.a,r)},t)},function(e){return I(oX,function(e){return M(e.a,iJ)},t)},function(e){return I(oX,function(e){return M(e.a,i2)},t)},function(e){return nM(t)}]),t)))}),cu=p(function(e,t){return I(aw,"; ",I(co,e,t))}),cs=function(e){var t=e.dN;return t.$?"Untitled":I(cu,i2,t.a)},cc=function(e){switch(e){case 0:return"jpg";case 1:return"tif";case 2:return"png";case 3:return"jp2";case 4:return"gif";case 5:return"pdf";default:return"webp"}},cl=function(e){switch(e){case 0:return"color";case 1:return"gray";case 2:return"bitonal";case 3:return"default";default:return"native"}},cb=function(e){switch(e.$){case 0:return"full";case 1:return"square";default:return I(aw,",",I(rl,es,U([e.a.fz,e.a.d9,e.a.dy,e.a.dc])))}},cd=function(e){if(e.$){var t=e.a;return"!"+es(t)}var t=e.a;return es(t)},cf=function(e){switch(e.$){case 0:return"max";case 1:return"^max";case 2:var t=e.a;return es(t)+",";case 3:var t=e.a;return"^"+es(t)+",";case 4:var a=e.a;return","+es(a);case 5:var a=e.a;return"^,"+es(a);case 6:var r=e.a;return"pct:"+es(r);case 7:var r=e.a;return"^pct:"+es(r);case 8:var n=e.a,t=n.a,a=n.b;return es(t)+","+es(a);case 9:var i=e.a,t=i.a,a=i.b;return"^"+es(t)+","+es(a);case 10:var o=e.a,t=o.a,a=o.b;return"!"+es(t)+","+es(a);default:var u=e.a,t=u.a,a=u.b;return"^!"+es(t)+","+es(a)}},ch=function(e){for(;;)if(!e.b||"/"!==e.a)return e;else{e=e.b;continue}},cv=function(e){return F(e).join("")},cg=function(e){return C(Q,_,B,e)},cp=function(e){return cv(az(ch(az(cg(e)))))},cm=aE(p(function(e,t){var a=cv(ch(cg(e)));return a9(a)?cp(t):cp(t)+"/"+a})),cw=function(e){switch(e.$){case 0:var t,a=e.a;return I(cm,(t=a).eH,U([t.Y,"info.json"]));case 1:var r,a=e.a;return I(cm,(r=a).eH,U([r.Y,cb(r.cM),cf(r.fo),cd(r.bd),cl(r.dY)+"."+cc(r.dI)]));default:var a=e.a;return I(cm,a.eH,U([a.Y]))}},cx=p(function(e,t){switch(t.$){case 0:var a,r=t.a;return nj(q({dI:0,eH:(a=r).eH,Y:a.Y,dY:3,cM:nX,bd:iR(0),fo:ib},{fo:e}));case 1:var r=t.a;return nj(q(r,{fo:e}));default:return t}}),cy=function(e){var t=iO(e);if(t.$)return e;var a=t.a;return cw(I(cx,ix(180),a))},cE=function(e){var t=cw(e.s);return ul(e.fl)?t:cy(t)},cI=p(function(e,t){var a=t.gL;if(!a.$)return cE(a.a);var r=nM(I(iS,function(e){return e.bN},e));if(r.$){var n=nM(e);if(n.$)return"";var i=n.a;return i.be}var i=r.a;return i.be}),cC=function(e){return nb(U([nl(e),I(ew,iW,e)]))},cR=x(function(e,t,a,r,n){return{et:r,eu:n,s:e,b_:a,gP:t}}),c$=I(em,function(e){switch(e){case"active":return a2(0);case"external":return a2(2);case"kiosk":return a2(1);default:return nv("Unsupported Auth 2 access profile: "+e)}},eh),cL=g(8,l=function(e,t,a,r,n,i,o,u){return{dC:u,dK:i,s:e,dN:n,dR:o,bb:a,b_:r,gP:t}},function(e){return function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return l(e,t,a,r,n,i,o,u)}}}}}}}}),cA=p(function(e,t){return I(em,function(t){return M(t,e)?a2(t):nv("Expected "+e+" but got "+t)},t)}),cS=nb(U([I(ev,"type",eh),I(ev,"@type",eh)])),cT=function(e){return I(cA,e,cS)},ck=nb(U([I(ev,"id",eh),I(ev,"@id",eh)])),cM=I(em,function(e){return I(ei,"https://",e)?a2(e):nv("Expected an HTTPS service identifier")},ck),cP=p(function(e,t){return I(em,function(a){var r=I(eI,I(ev,e,ef),a);if(r.$)return a2(am);var n=I(eI,t,r.a);return n.$?nv(aq(n.a)):a2(ap(n.a))},ef)}),cN=function(e){return{$:1,a:e}},cz=function(e){return{$:0,a:e}},cO=w(function(e,t,a,r){return{et:a,eu:r,s:e,gP:t}}),cV=I(nq,I(cP,"errorNote",i1),I(nq,I(cP,"errorHeading",i1),I(nq,cT("AuthAccessTokenService2"),I(nq,cM,a2(cO))))),cq=m(function(e,t,a){return{s:e,dN:a,gP:t}}),cH=I(nq,I(cP,"label",i1),I(nq,cT("AuthLogoutService2"),I(nq,cM,a2(cq)))),cB=I(em,function(e){switch(e){case"AuthAccessTokenService2":return I(ew,cz,cV);case"AuthLogoutService2":return I(ew,cN,cH);default:return nv("Unsupported Auth 2 related service: "+e)}},cS),cD=I(em,function(e){var t=aI(I(iS,function(e){return!e.$},e)),a=aI(e)-t;return 1===t&&a<=1?a2(e):nv("Auth access services require exactly one token service and at most one logout service")},cC(cB)),c_=I(em,function(e){return I(nq,I(cP,"confirmLabel",i1),I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),I(nq,e?I(cP,"label",i1):I(ew,ap,I(ev,"label",i1)),C(nk,"service",cD,I(nq,a2(e),I(nq,cT("AuthAccessService2"),I(nq,2===e?a2(am):I(ew,ap,cM),a2(cL)))))))))},I(ev,"profile",c$)),cU=I(nq,I(cP,"errorNote",i1),I(nq,I(cP,"errorHeading",i1),C(nk,"service",cC(c_),I(nq,cT("AuthProbeService2"),I(nq,cM,a2(cR)))))),cF=I(em,function(e){var t=C(m(function(e,t,a){for(;;)if(!e.b)return av({cK:az(t),c$:az(a)});else{var r=e.a,n=e.b,i=I(eI,nl(ef),r);if(i.$){var o=I(eI,cS,r);if(o.$){var u=I(eI,I(ev,"service",cC(ef)),r);if(u.$){var s=n,c=t,l=a;e=s,t=c,a=l;continue}var b=u.a,s=H(b,n),c=t,l=a;e=s,t=c,a=l;continue}if("AuthProbeService2"===o.a){var d=I(eI,cU,r);if(d.$)return ab(d.a);var f=d.a,s=n,c=I(_,f,t),l=a;e=s,t=c,a=l;continue}var h=o.a,v=I(ei,"Auth",h)?I(_,h,a):a,g=I(eI,I(ev,"service",cC(ef)),r);if(g.$){var s=n,c=t,l=v;e=s,t=c,a=l;continue}var b=g.a,s=H(b,n),c=t,l=v;e=s,t=c,a=l;continue}var s=H(i.a,n),c=t,l=a;e=s,t=c,a=l;continue}}),U([e]),B,B);return t.$?nv(aq(t.a)):a2(t.a)},ef),cG=p(function(e,t){for(;;)if(!t.b)return am;else{var a=t.a,r=t.b;if(e(a))return ap(a);t=r;continue}}),cj=function(e){return!e},cW=function(e){return!!e.$},cZ=m(function(e,t,a){var r,n=cw(a.s),i=cE(a),o=I(nU,"Image",I(n_,cu(e),a.dN)),u=ul(a.fl),s=cW(I(cG,function(e){return!e.eJ},t)),c=M(ap(a),nM(t)),l=!a.eJ||s&&c;return{c6:(r=I(eI,cF,I(sG,a3,a.gA))).$?{$:2,a:aq(r.a)}:{$:1,a:r.a},s:n,bN:l,aD:u,dN:o,b3:n,be:i,cV:n}}),cK=p(function(e,t){var a=I(rl,I(cZ,e,t.cy),t.cy);if(ul(a))return am;var r=I(cI,a,t),n=I(nU,"",I(n_,function(e){return e.be},nM(I(iS,function(e){return e.bN},a))));return ap({c5:ci(t),c7:t.s,ey:n,dd:t.dd,cy:a,dN:cs(t),be:r,dz:t.dz})}),cX=p(function(e,t){return e(t.b)}),cY=cX(function(e){return e.eh}),cJ=p(function(e,t){return I(nr,cK(e),cY(t))}),cQ=cX(function(e){return e.gT}),c0=function(e){var t=I(cG,function(e){return e.bN},e.cy);return t.$?nM(e.cy):ap(t.a)},c1=p(function(e,t){return q(t,{aa:am,ag:am,e:rC,u:rC,E:rC,Z:B,ap:si(I(rl,function(e){return{a:e.s,b:e}},e))})}),c2=function(e){return e.b},c4=p(function(e,t){return I(n_,aX,nM(I(iS,I(rX,c2,e),I(a$,n7,t))))}),c3=function(e){return{$:1,a:e}},c6=function(e){return{$:2,a:e}},c5=nb(U([I(ew,function(e){return{$:0,a:e}},el),I(em,function(e){switch(e){case"canvasId":return I(ew,c3,I(ev,"value",eh));case"label":return I(ew,c6,I(ev,"value",eh));default:return nv("Unsupported initial page selector")}},I(ev,"by",eh))])),c8=function(e){return e.toLowerCase()},c7=p(function(e,t){var a=I(nD,I(rX,eI(c5),sQ),e);if(a.$)return 0;switch(a.a.$){case 0:var r=a.a.a;return r>=0&&0>O(r,aI(t))?r:0;case 1:var n=a.a.a;return I(nU,0,I(c4,function(e){return M(e.c7,n)},t));default:var i=a.a.a;return I(nU,0,I(c4,function(e){return M(c8(e.dN),c8(i))},t))}}),c9=cX(function(e){return e.fZ}),le=cX(function(e){return e.dP}),lt=cX(function(e){return e.e9}),la=p(function(e,t){switch(t){case 2:var a=!ul(le(e)),r=I(nU,!1,I(n_,I(rX,ul,cj),c9(e)));return a||r?2:1;case 3:return I(nU,!1,I(n_,I(rX,ul,cj),lt(e)))?3:1;default:return 1}}),lr=cX(function(e){return e.gS}),ln=function(e){switch(e){case 0:case 2:default:return"ltr";case 1:return"rtl"}},li=e1("zoomLevelUpdated",eT),lo=w(function(e,t,a,r){var n,i=lr(r),o=I(cJ,a.en,r),u=I(nr,I(rX,c0,n_(function(e){return{aD:e.aD,b3:e.b3,aK:e.cV}})),o),s=(n=cQ(r)).$?I(iB,7,n.a):!n.a,c=I(rl,function(e){return e.c5},o),l=1===aI(o),b=!l&&(s||1===i),d=l?0:+!!s,f=I(cn,d,b),h=I(c7,t,o),v=ln(i),g=si(I(a$,p(function(e,t){return{a:t.s,b:e}}),cY(r))),m=I(nU,rC,I(n_,ca(g),lt(r))),w=I(la,r,a._),x=a.B?w:0,y=I(rl,function(e){return{c6:e.c6,s:e.b3,aD:e.aD,aK:e.cV}},I(iM,function(e){return e.cy},o));return{a:q(a,{c6:I(c1,y,r$),dE:am,ez:uS,eE:!ul(u),de:am,X:!1,cH:!1,aH:o,e8:m,bY:{$:2,a:r},R:ul(o)?am:ap(h),b$:b,_:w,B:x,b8:d}),b:eX(U([sK({dL:h,dZ:e,d6:u}),sZ(I(nr,a3,I(a$,p(function(e,t){return I(n_,function(a){return{c7:t.c7,dd:t.dd,cy:I(rl,function(e){return{s:e.s,bN:e.bN,dN:e.dN}},t.cy),eK:e,dN:t.dN,e3:{s:a.s,bN:a.bN,dN:a.dN},dz:t.dz}},c0(t))}),o))),sF(am),sj(c),sW(I(rl,function(e){return e.dN},o)),li(1),cr({eo:v,eT:f})]))}}),lu={$:6},ls=p(function(e,t){return rv(I(ez,I(n$,I(n$,eM,e),ab),I(eN,I(n$,I(n$,eM,e),av),t)))}),lc=function(e){return t1(e,function(e){var t=e.getBoundingClientRect(),a=tJ.pageXOffset,r=tJ.pageYOffset;return{fi:t2(),d8:{fz:a,d9:r,dz:tY.documentElement.clientWidth,dd:tY.documentElement.clientHeight},er:{fz:a+t.left,d9:r+t.top,dz:t.width,dd:t.height}}})},ll=w(function(e,t,a,r){return I(eN,function(t){return I(eN,function(a){return I(eN,function(r){return eM(C(e,t,a,r))},r)},a)},t)}),lb=eX(B),ld=p(function(e,t){if(!e)return lb;var a=I(eN,function(e){var a="thumb-"+es(t);return I(eN,a3,R(ll,m(function(e,t,a){return C(t4,"thumbs",0,I(aZ,0,e.er.d9-t.er.d9+a.d8.d9))}),lc(a),lc("thumbs"),t1("thumbs",function(e){return{fi:{dz:e.scrollWidth,dd:e.scrollHeight},d8:{fz:e.scrollLeft,d9:e.scrollTop,dz:e.clientWidth,dd:e.clientHeight}}})))},eF(0));return I(ls,function(e){return lu},a)}),lf=p(function(e,t){for(;;)if(e<=0)return t;else{if(!t.b)return t;t.a,e-=1,t=t.b;continue}}),lh=p(function(e,t){return nM(I(lf,e,t))}),lv=function(e){return e.cH?I(nU,lb,I(nD,function(t){return I(n_,function(a){return sF(ap({c5:t.c5,ez:e.ez,aD:a.aD,b3:a.b3,cV:a.cV}))},nM(I(lf,e.aG,t.cy)))},I(nD,function(t){return I(lh,t,e.aH)},e.R))):lb},lg=m(function(e,t,a){var r=q(a,{aG:0,R:ap(t),bf:e});return{a:r,b:eX(U([I(ld,1===r.B,t),lv(r)]))}}),lp=e1("scrollToIndex",eT),lm=p(function(e,t){var a=t.R;if(a.$)return{a:t,b:lb};var r=a.a+e;if(r>=0&&0>O(r,aI(t.aH))){var n=q(t,{aG:0,R:ap(r),bf:!1});return{a:n,b:eX(U([lp(r),I(ld,1===n.B,r),lv(n)]))}}return{a:t,b:lb}}),lw=function(e){switch(e.$){case 0:return"Bad URL: "+e.a;case 1:return"Request timed out.";case 2:return"Network error. The resource may be unreachable or blocked by CORS.";case 3:return"HTTP error: "+es(e.a);default:return"Invalid IIIF response body. URL did not return a valid IIIF Manifest or Collection JSON."}},lx=p(function(e,t){return C(rB,e,0,t)}),ly=e1("layoutModeUpdated",eT),lE=p(function(e,t){return!I(rO,e,t).$}),lI=p(function(e,t){return I(lE,e,t)}),lC=p(function(e,t){return I(rZ,e,t)}),lR=m(function(e,t,a){var r=p(function(e,t){for(;;)if(!t.b)return e;else{var a=t.a,r=t.b;e=q(a.t,{aE:H(az(I(_,oI(e),a.ah)),a.Q)}),t=r;continue}}),n=p(function(e,t){if(!t.b)return e;var a=t.a,r=t.b;return I(i,{ah:I(_,oI(e),a.ah),t:a.t,Q:a.Q},r)}),i=p(function(a,o){if(M(a.t.s,e))return I(r,t,o);var u=a.Q;if(!u.b)return I(n,q(a.t,{aE:az(a.ah)}),o);var s=u.a,c=u.b;if(s.$)return I(i,q(a,{ah:I(_,s,a.ah),Q:c}),o);var l=s.a;return I(i,{ah:B,t:l,Q:l.aE},I(_,{ah:a.ah,t:a.t,Q:c},o))});return I(i,{ah:B,t:a,Q:a.aE},B)}),l$=nb(U([I(em,function(e){return I(nh,np,e)?I(ew,nx(2),uR):I(nh,ng,e)?I(ew,nx(1),oj):nv("Unknown IIIF Version: "+e)},I(ev,"@context",eh)),I(em,function(e){return I(nd,nh(np),e)?I(ew,nx(2),uR):I(nd,nh(ng),e)?I(ew,nx(1),oj):nv("Unknown IIIF Version in context values: "+I(aw,", ",e))},I(ev,"@context",nl(eh)))])),lL=m(function(e,t,a){return C(nc,t,I(r4,e,l$),a)}),lA=function(e){return q(e,{aM:0,bl:!1,aN:0,ax:!1,aO:8,aP:0,bm:!1,aQ:0,bn:!1,aR:0,bo:!1,aS:0,ay:!1,aT:8,aU:0,bp:!1,aV:0,bq:!1,aW:0,br:!1,aX:0,az:!1,aY:8,aZ:0,bs:!1,a_:0,bt:!1})},lS=e1("resourceLoadFailed",function(e){return sU(U([{a:"message",b:eT(e.ac)},{a:"requestId",b:eT(e.fd)},{a:"url",b:eT(e.aK)}]))}),lT=e1("resourceLoadSucceeded",function(e){return sU(U([{a:"hasPages",b:eT(e.ct)},{a:"pageIndex",b:eT(e.cG)},{a:"requestId",b:eT(e.fd)},{a:"url",b:eT(e.aK)}]))}),lk=e1("authHttpCancelled",eT),lM=e1("authHttpRequested",a3),lP=e1("authSourcesInvalidated",sG(eT)),lN=e1("authStorageRequested",a3),lz=e1("authTokenFrameCancelled",eT),lO=e1("authTokenFrameRequested",a3),lV=e1("tileSourceResolutionFailed",function(e){return sU(U([{a:"message",b:eT(e.ac)},{a:"requestId",b:eT(e.fd)}]))}),lq=e1("tileSourceResolutionSucceeded",a3),lH=function(e){switch(e.$){case 0:var t=e.a,a=e.b,r=e.c,n=e.d;return lM(sU(U([{a:"id",b:eT(t)},{a:"url",b:eT(a)},{a:"bearer",b:I(nU,null,I(n_,eT,r))},{a:"withCredentials",b:eT(n)}])));case 1:var t=e.a;return lk(t);case 2:var i=e.a,o=e.b;return lN(sU(U([{a:"action",b:eT("read")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)}])));case 3:var i=e.a,o=e.b,u=e.c,s=e.d;return lN(sU(U([{a:"action",b:eT("write")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)},{a:"accessToken",b:eT(u)},{a:"expiresAt",b:eT(s)}])));case 4:var i=e.a,o=e.b;return lN(sU(U([{a:"action",b:eT("remove")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)}])));case 5:var i=e.a,a=e.b,c=e.c;return lO(sU(U([{a:"flowId",b:eT(i)},{a:"url",b:eT(a)},{a:"messageId",b:eT(c)}])));case 6:var i=e.a;return lz(i);case 7:return lP(e.a);case 8:var l=e.a;return lq(sU(U([{a:"requestId",b:eT(l.fd)},{a:"url",b:eT(l.aK)},{a:"isStatic",b:eT(l.aD)},{a:"credentialed",b:eT(l.ek)},{a:"infoJson",b:I(nU,null,l.aC)}])));default:var b=e.a;return lV({ac:e.b,fd:b})}},lB=e1("saveFilteredImage",function(e){return null}),lD=e1("setFullscreen",eT),l_=function(e){return{$:1,a:e}},lU=function(e){return{$:6,a:e}},lF=p(function(e,t){return{$:4,a:e,b:t}}),lG=m(function(e,t,a){return{$:5,a:e,b:t,c:a}}),lj=p(function(e,t){var a=t.a;return{a:a,b:H(t.b,e)}}),lW=p(function(e,t){return C(so,m(function(e,t,a){return I(rZ,e,a)}),e,t)}),lZ=p(function(e,t){return C(so,m(function(t,a,r){return I(e,t,a)?C(rB,t,a,r):r}),rC,t)}),lK=p(function(e,t){if(-2===t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;return $(rV,a,r,I(e,r,n),I(lK,e,i),I(lK,e,o))}),lX=m(function(e,t,a){var r=t.o.T.s;if(r.$)return a;var n=r.a;return q(a,{aa:ap(e),ag:ap({ea:n,dC:t.o.T.dC,at:t.cL,da:e,dK:t.o.T.dK,dR:t.o.T.dR}),Z:I(iS,z(e),a.Z)})}),lY=function(e){for(;;){var t=e.Z;if(!t.b)return e;var a=t.a,r=q(e,{Z:t.b}),n=I(rO,a,e.e);if(n.$){var i=r;e=i;continue}var o=n.a;if(!o.o.T.s.$)return C(lX,a,o,r);var i=r;e=i}},lJ=p(function(e,t){var a,r=q(t,{Z:I(iS,z(e),t.Z)}),n=(a=r.ag).$?r:M(a.a.da,e)?q(r,{ag:am}):r;return M(n.aa,ap(e))?lY(q(n,{aa:am})):n}),lQ=p(function(e,t){var a=I(lZ,p(function(e,t){return!ul(t.as)}),I(lK,p(function(t,a){return q(a,{as:I(iS,z(e),a.as)})}),t.e)),r=I(iS,function(e){return!I(lE,e,a)},ao(t.e)),n=I(lZ,p(function(t,a){return a.$?I(iB,a.a,r):M(a.a,e)}),t.u);return{a:C(aE,lJ,q(t,{e:a,u:I(lW,t.u,n),E:I(rZ,e,t.E)}),r),b:H(I(rl,l_,ao(n)),I(rl,lU,r))}}),l0=p(function(e,t){return{$:9,a:e,b:t}}),l1=m(function(e,t,a){return{a:q(a,{E:I(rZ,e,a.E)}),b:U([I(l0,e,t)])}}),l2=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=p(function(e,a){var r=a.a,n=a.b,i=C(l1,e,t,r),o=i.a;return{a:o,b:H(n,i.b)}});return C(aE,i,{a:I(lJ,e,q(a,{e:I(rZ,e,a.e)})),b:U([lU(e)])},n.as)}),l4=p(function(e,t){return I(iB,e,t)?t:H(t,U([e]))}),l3=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;if(n.o.T.s.$)return C(l2,e,"The active access service has no URL.",a);var i=q(n,{ao:3,cL:t}),o=q(a,{e:C(rB,e,i,a.e)}),u=a.aa;return u.$?{a:C(lX,e,i,o),b:B}:M(u.a,e)?{a:C(lX,e,i,o),b:B}:{a:q(o,{Z:I(l4,e,o.Z)}),b:B}}),l6=w(function(e,t,a,r){return{a:q(a,{e:C(rK,e,n_(t),a.e)}),b:r}}),l5=m(function(e,t,a){var r=e+"-"+es(t.aB+1);return R(l6,e,function(e){return q(e,{ao:5})},a,U([C(lG,e,t.o.cX.s,r)]))}),l8=m(function(e,t,a){for(;;){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=n.dl;if(!i.b)return C(l2,e,t,a);var o=i.a,u=q(n,{o:o,aB:0,cL:am,dl:i.b}),s=I(lJ,e,q(a,{e:C(rB,e,u,a.e)}));switch(o.T.bb){case 0:return I(lj,U([lU(e)]),C(l3,e,am,s));case 1:a=s;continue;default:return I(lj,U([lU(e)]),C(l5,e,u,s))}}}),l7=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;if(n.aB+1>=2)return C(l2,e,t,a);var i=q(a,{e:C(rB,e,q(n,{aB:n.aB+1}),a.e)});return I(lj,U([lU(e)]),C(l3,e,ap(t),i))}),l9=m(function(e,t,a){var r=I(rO,e,a.e);return r.$?{a:a,b:B}:0===r.a.o.T.bb?C(l7,e,t,a):C(l8,e,t,a)}),be=w(function(e,t,a,r){return{$:0,a:e,b:t,c:a,d:r}}),bt=p(function(e,t){return{$:1,a:e,b:t}}),ba=p(function(e,t){var a="auth-http-"+es(t.cD);return{a:a,b:q(t,{cD:t.cD+1,u:C(rB,a,e,t.u)})}}),br=w(function(e,t,a,r){var n=I(rO,e,r.E);if(n.$)return{a:r,b:B};var i=n.a,o=I(rO,i.b3,r.ap);if(o.$)return{a:r,b:B};var u=o.a;return{a:q(r,{E:I(rZ,e,r.E)}),b:U([{$:8,a:{ek:t,aC:a.$?i.aC:ap(a.a),aD:u.aD,fd:e,aK:u.aK}}])}}),bn=p(function(e,t){return{$:0,a:e,b:t}}),bi=w(function(e,t,a,r){var n=I(ba,I(bn,e,{$:1,a:t}),r),i=n.a;return{a:n.b,b:U([R(be,i,a.aK,am,t)])}}),bo=m(function(e,t,a){var r=I(rO,e,a.E);if(r.$)return{a:a,b:B};var n=r.a,i=I(rO,n.b3,a.ap);if(i.$)return{a:a,b:B};var o=i.a,u={a:o.aD,b:n.aC};return u.a||1!==u.b.$?R(br,e,t,am,a):(u.b,R(bi,e,t,o,a))}),bu=p(function(e,t){return 1===e.$?t:t+":"+es(e.a)}),bs=m(function(e,t,a){return 1===t.$?a:H(a,H(e,t.a))}),bc=function(e){var t=e.e6?"https://":"http://";return C(bs,"#",e.fX,C(bs,"?",e.gq,H(I(bu,e.e$,H(t,e.eH)),e.A)))},bl=function(e){var t,a=H(I(iS,function(e){return 2===e.bb},e.b_),I(iS,function(e){return!e.bb},e.b_)),r=I(nU,t=e.s,I(n_,function(e){return bc(q(e,{fX:am,gq:am}))},ro(t)))+"|"+I(aw,"|",I(nr,function(e){return nM(I(nr,function(t){if(t.$)return am;var a=t.a;return ap(I(nU,"",e.s)+"|"+a.s)},e.b_))},a));return I(nr,function(t){return I(n_,function(a){return{T:t,aj:r,a6:nM(I(nr,function(e){return e.$?ap(e.a):am},t.b_)),cJ:e,cX:a}},nM(I(nr,function(e){return e.$?am:ap(e.a)},t.b_)))},a)},bb=function(e){return"Unsupported authorization service: "+I(aw,", ",e)+"."},bd=function(e){var t=I(iM,function(e){return e.b_},e),a=nM(I(iS,function(e){return 1===e.bb},t));if(a.$)return am;var r=a.a;return ap("IIIF Auth 2 '"+function(){switch(r.bb){case 0:return"active";case 1:return"kiosk";default:return"external"}}()+"' access is not supported; supported profiles are 'external' and 'active'.")},bf=function(e){if(!ul(e.c$))return ab(bb(e.c$));var t=I(nU,B,nM(I(iS,I(n$,cj,ul),I(rl,bl,e.cK))));if(!ul(t))return av(t);var a=bd(e.cK);return a.$?ab("No supported Auth 2 external or active access service was provided."):ab(a.a)},bh=w(function(e,t,a,r){var n=q(r,{E:C(rK,e,n_(function(e){return q(e,{aC:a})}),r.E)}),i=bf(t);if(i.$)return C(l1,e,i.a,n);if(!i.a.b)return C(l1,e,"No supported Auth 2 external or active access service was provided.",n);var o=i.a,u=o.a,s=o.b,c=I(rO,u.aj,n.au);if(c.$){var l=I(rO,u.aj,n.e);if(l.$){var b={o:u,aB:0,ao:0,cL:am,dl:s,as:U([e])},d=q(n,{e:C(rB,u.aj,b,n.e)}),f=I(ba,I(bt,u.aj,am),d),h=f.a;return{a:f.b,b:U([R(be,h,u.cJ.s,am,!1)])}}var b=l.a;return{a:q(n,{e:C(rB,u.aj,q(b,{as:I(_,e,b.as)}),n.e)}),b:B}}return c.a?(c.a,C(bo,e,!0,n)):(c.a,C(bo,e,!1,n))}),bv=w(function(e,t,a,r){var n=I(eE,ef,a);if(n.$){var i=n.a;return C(l1,e,aq(i),r)}var o=n.a,u=I(eI,cF,o);if(u.$){var i=u.a;return C(l1,e,aq(i),r)}var s=u.a;return ul(s.cK)&&ul(s.c$)?t>=200&&t<300?R(br,e,!1,ap(o),r):C(l1,e,"Image information request failed ("+es(t)+").",r):R(bh,e,s,ap(o),r)}),bg=p(function(e,t){return{$:2,a:e,b:t}}),bp=function(e){return C(aE,lx,rC,e)},bm=p(function(e,t){return $(rV,1,e,t,rI,rI)}),bw=function(e){return e.aj},bx=p(function(e,t){return I(sl,e,t)}),by=p(function(e,t){var a=e.o.a6;if(a.$)return t;var r=a.a,n=bp(I(nr,function(e){return I(n_,function(e){return e.b3},I(rO,e,t.E))},e.as)),i=I(nU,"",e.o.T.s)+("|"+e.o.cX.s)+"|"+r.s,o=bw(e.o);return q(t,{af:C(rK,i,function(e){if(e.$)return ap({at:am,a2:I(bm,o,0),s:i,a6:r,cS:n});var t=e.a;return ap(q(t,{at:am,a2:I(lx,o,t.a2),cS:I(bx,n,t.cS)}))},t.af)})}),bE=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=q(a,{au:C(rB,n.o.aj,+!!t,a.au)}),o=t?I(by,n,i):i;return C(aE,p(function(e,a){var r=a.a,n=a.b,i=I(rO,e,r.E);if(i.$)return{a:r,b:n};var o=i.a,u=I(rO,o.b3,r.ap);if(u.$)return{a:r,b:n};var s=u.a,c={a:s.aD,b:o.aC};if(c.a||1!==c.b.$){var l=R(br,e,t,am,r),b=l.a,d=l.b;return{a:b,b:H(n,d)}}c.b;var f=R(bi,e,t,s,r),b=f.a,d=f.b;return{a:b,b:H(n,d)}}),{a:I(lJ,e,q(o,{e:I(rZ,e,o.e)})),b:U([lU(e)])},n.as)}),bI=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;switch(n.o.T.bb){case 0:return C(l3,e,am,a);case 1:return C(l8,e,t,a);default:return C(l5,e,n,a)}}),bC=function(e){return"Access was not granted ("+es(e)+")."},bR=I(em,function(e){return e>=100&&e<=599?a2(e):nv("Expected an HTTP status code between 100 and 599")},el),b$=E(function(e,t,a,r,n,i,o){return{k:e,dK:n,f3:o,dR:i,du:a,gG:r,gP:t}}),bL="http://iiif.io/api/auth/2/context.json",bA=nb(U([I(ev,"@context",eh),I(ev,"context",eh)])),bS=I(em,function(e){return I(nh,bL,e)?a2(e):nv("Expected "+bL+" but got "+e)},bA),bT=C(ex,p(function(e,t){return{s:e,gP:t}}),ck,cS),bk=m(function(e,t,a){return I(em,function(r){var n=I(eI,I(ev,e,ef),r);if(n.$)return a2(am);var i=n.a;if(!t)return nv(e+" is not permitted for this probe status");var o=I(eI,a,i);return o.$?nv(aq(o.a)):a2(ap(o.a))},ef)}),bM=I(em,function(e){return I(nq,C(bk,"location",e>=300&&e<=399,bT),I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),I(nq,I(ew,nU(B),C(bk,"substitute",401===e||403===e,cC(ef))),I(nq,a2(e),I(nq,cT("AuthProbeResult2"),I(nq,bS,a2(b$))))))))},I(ev,"status",bR)),bP=w(function(e,t,a,r){var n=I(eE,bM,a);if(n.$)return C(l9,e,aq(n.a),r);var i=n.a;if(!M(i.f3,am)||!ul(i.gG))return C(l2,e,"IIIF Auth redirect, substitute, and tiered access flows are not supported.",r);if(200===i.du)return C(bE,e,!M(t,am),r);var o=I(rO,e,r.e);if(o.$)return{a:r,b:B};var u=o.a;switch(u.ao){case 0:return{a:q(r,{e:C(rB,e,q(u,{ao:1}),r.e)}),b:U([I(bg,e,bw(u.o))])};case 2:return I(lj,U([I(lF,e,bw(u.o))]),C(bI,e,bC(i.du),r));case 6:return I(lj,U([I(lF,e,bw(u.o))]),C(l9,e,bC(i.du),r));default:return C(l7,e,bC(i.du),r)}}),bN=x(function(e,t,a,r,n){if(!(a>=200)||!(a<300))return C(l1,e,"Image information request failed ("+es(a)+").",n);var i=I(eE,ef,r);return i.$?C(l1,e,aq(i.a),n):R(br,e,t,ap(i.a),n)}),bz=w(function(e,t,a,r){var n=I(rO,e,r.u);if(n.$)return{a:r,b:B};if(n.a.$){var i=n.a,o=i.a,u=i.b,s=q(r,{u:I(rZ,e,r.u)});return R(bP,o,u,a,s)}var c=n.a,l=c.a,b=c.b,s=q(r,{u:I(rZ,e,r.u)});return b.$?$(bN,l,b.a,t,a,s):R(bv,l,t,a,s)}),bO=m(function(e,t,a){return C(so,m(function(t,a,r){return I(e,t,r)}),t,a)}),bV=function(e){var t=e.c6;return 1===t.$?I(n_,function(e){return e.aj},I(nD,nM,sQ(bf(t.a)))):am},bq=function(e){return C(an,m(function(e,t,a){return I(_,t,a)}),B,e)},bH=p(function(e,t){return bp(I(nr,function(t){return I(nD,function(a){return I(lI,a,e)?ap(t.s):am},bV(t))},bq(t)))}),bB=p(function(e,t){var a=I(rO,e,t.af);if(a.$)return{a:t,b:B};var r=a.a,n=I(bH,r.a2,t.ap),i=au(I(bx,r.cS,n));return{a:q(t,{au:C(bO,rZ,t.au,r.a2),af:I(rZ,e,t.af)}),b:H(I(rl,lF(e),au(r.a2)),U([{$:7,a:i}]))}}),bD=m(function(e,t,a){var r=I(rO,e,a.u);return r.$?{a:a,b:B}:r.a.$?C(l9,r.a.a,t,q(a,{u:I(rZ,e,a.u)})):C(l1,r.a.a,t,q(a,{u:I(rZ,e,a.u)}))}),b_={$:0},bU=m(function(e,t,a){var r=I(ba,I(bn,e,b_),a),n=r.a;return{a:r.b,b:U([R(be,n,t.aK,am,!1)])}}),bF=m(function(e,t,a){var r=I(rO,t,a.ap);if(r.$)return{a:a,b:U([I(l0,e,"Unknown image source.")])};var n=r.a,i=q(a,{E:C(rB,e,{aC:am,b3:t},a.E)}),o=n.c6;switch(o.$){case 0:return n.aD?R(br,e,!1,am,i):C(bU,e,n,i);case 1:var u=o.a;return ul(u.cK)?ul(u.c$)?n.aD?R(br,e,!1,am,i):C(bU,e,n,i):C(l1,e,bb(u.c$),i):R(bh,e,u,am,i);default:return C(l1,e,o.a,i)}}),bG=C(ex,p(function(e,t){return{bi:e,ex:t}}),I(ev,"accessToken",eh),nb(U([I(ew,ap,I(ev,"expiresAt",ed)),a2(am)]))),bj=w(function(e,t,a,r){var n={a:I(rO,e,r.e),b:a};if(n.a.$)return{a:r,b:B};if(n.b.$)return n.b,C(bI,e,"No cached token was found.",r);var i=n.a.a,o=I(eI,bG,n.b.a);if(o.$)return I(lj,U([I(lF,e,bw(i.o))]),C(bI,e,"The cached token is invalid.",r));var u=o.a;if(!I(nU,!0,I(n_,function(e){return 0>O(t,e)},u.ex)))return I(lj,U([I(lF,e,bw(i.o))]),C(bI,e,"The cached token has expired.",r));var s=I(ba,I(bt,e,ap(u.bi)),r),c=s.a,l=s.b;return{a:q(l,{e:C(rB,e,q(i,{ao:2}),l.e)}),b:U([R(be,c,i.o.cJ.s,ap(u.bi),!1)])}}),bW=w(function(e,t,a,r){return{$:3,a:e,b:t,c:a,d:r}}),bZ=x(function(e,t,a,r,n){return{bi:a,k:e,fS:r,eS:n,gP:t}}),bK=I(em,function(e){return e>0?a2(e):nv("Expected a positive integer")},el),bX=C(nk,"messageId",eh,I(nq,I(cP,"expiresIn",bK),C(nk,"accessToken",eh,I(nq,cT("AuthAccessToken2"),I(nq,bS,a2(bZ)))))),bY=y(function(e,t,a,r,n,i){return{k:e,dK:r,eS:i,dR:n,bb:a,gP:t}}),bJ=I(em,function(e){switch(e){case"expiredAspect":return a2(4);case"invalidAspect":return a2(3);case"invalidOrigin":return a2(1);case"invalidRequest":return a2(0);case"missingAspect":return a2(2);case"unavailable":return a2(5);default:return nv("Unsupported Auth 2 token error profile: "+e)}},eh),bQ=C(nk,"messageId",eh,I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),C(nk,"profile",bJ,I(nq,cT("AuthAccessTokenError2"),I(nq,bS,a2(bY))))))),b0=w(function(e,t,a,r){var n=I(rO,e,r.e);if(n.$)return{a:r,b:B};var i=n.a,o=I(eI,bX,a);if(o.$){var u=o.a;return I(eI,bQ,a).$?I(lj,U([I(lF,e,bw(i.o))]),C(l9,e,aq(u),r)):I(lj,U([I(lF,e,bw(i.o))]),C(l9,e,"The token service refused access.",r))}var s=o.a,c=t+1e3*I(nU,300,s.fS),l=I(ba,I(bt,e,ap(s.bi)),r),b=l.a,d=l.b;return{a:q(d,{e:C(rB,e,q(i,{ao:6}),d.e)}),b:U([R(bW,e,bw(i.o),s.bi,c),R(be,b,i.o.cJ.s,ap(s.bi),!1),lU(e)])}}),b1=p(function(e,t){if(t.c8)return{a:t,b:B};switch(e.$){case 0:var a=e.a;return C(bF,a,e.b,t);case 1:var a=e.a;return I(lQ,a,t);case 2:var r=e.a;return R(bz,r,e.b,e.c,t);case 3:var r=e.a,n=e.b;return C(bD,r,n,t);case 4:var i=e.a,o=e.b,u=e.c;return R(bj,i,o,u,t);case 5:var i=e.a;return M(t.aa,ap(i))?R(l6,i,function(e){return q(e,{ao:4})},q(t,{ag:am}),B):{a:t,b:B};case 6:var i=e.a;return M(t.aa,ap(i))?C(l7,i,"The sign-in window was blocked. Allow popups and retry.",t):{a:t,b:B};case 7:var i=e.a,s={a:t.aa,b:I(rO,i,t.e)};if(s.a.$||s.b.$)return{a:t,b:B};var c=s.a.a,l=s.b.a;if(M(c,i)){var b=i+"-"+es(l.aB+1);return R(l6,i,function(e){return q(e,{ao:5})},t,U([C(lG,i,l.o.cX.s,b)]))}return{a:t,b:B};case 8:var i=e.a,o=e.b,u=e.c;return R(b0,i,o,u,t);case 9:var i=e.a,n=e.b;return I(lj,function(){var e=I(rO,i,t.e);if(e.$)return B;var a=e.a;return U([I(lF,i,bw(a.o))])}(),C(l9,i,n,t));case 10:var d=e.a;return I(bB,d,t);case 11:var d=e.a;return{a:q(t,{af:C(rK,d,n_(function(e){return q(e,{at:ap("The logout window was blocked. Allow popups and try again.")})}),t.af)}),b:B};case 12:return{a:t,b:B};case 13:var f=t.ag;if(!f.$)return C(l2,f.a.da,"Authorization was cancelled.",t);return{a:t,b:B};default:var h=H(I(rl,l_,ao(t.u)),I(rl,lU,ao(t.e)));return{a:q(t,{aa:am,ag:am,c8:!0,e:rC,u:rC,E:rC,Z:B,af:rC}),b:h}}}),b2=p(function(e,t){return q(t,{ez:e(t.ez)})}),b4=e1("zoomBy",eT),b3=p(function(e,t){return{a:e,b:b4(t)}}),b6=function(e){var t=e.B;return t||e._},b5=p(function(e,t){switch(e.$){case 0:var a=I(b1,e.a,t.c6),r=a.a,n=a.b;return{a:q(t,{c6:r}),b:eX(I(rl,lH,n))};case 1:var i=e.a,o=function(){switch(i){case"spread":return{a:1,b:!1};case"spread-shift":return{a:1,b:!0};default:return{a:0,b:!1}}}(),u=o.a,s=o.b;return{a:q(t,{b$:s,b8:u}),b:ly(I(cn,u,s))};case 2:var c=e.a,l=e.b;return{a:q(t,{dM:!0,X:!0,ba:ap(c)}),b:C(uA,I(sk,c,l),t.aw,l)};case 3:var b=e.a;return{a:q(t,{db:b}),b:lb};case 4:var d=e.a;return C(lg,!1,d,t);case 5:var d=e.a;return C(lg,!0,d,t);case 6:return{a:q(t,{bf:!1}),b:lb};case 7:var f=e.a,h=e.b,v=t.I;if(2===v.$){var g=v.a,p=I(lC,f,g.ak);if(h.$)return{a:q(t,{I:sL(q(g,{ak:p}))}),b:lb};var m=h.a;if(1===m.$){var w=m.a.b,x=g.t,y=x.a,E=x.b,$=q(g,{t:I(nw,y,C(lR,f,w,E)),cC:I(lx,f,g.cC),ak:p});return{a:q(t,{I:sL($)}),b:lb}}return{a:q(t,{I:sL(q(g,{ak:p}))}),b:lb}}return{a:t,b:lb};case 8:var L=e.a,h=e.b,A=t.I;if(2===A.$){var g=A.a;if(M(g.dq,ap(L)))if(h.$){var S=h.a;return{a:q(t,{X:!1,bY:{$:3,a:lw(S)}}),b:lb}}else{var T=h.a;return R(lo,"collection-"+L,am,t,T)};}return{a:t,b:lb};case 9:var h=e.a;if(t.dM)return{a:t,b:lb};if(h.$){var S=h.a;return{a:q(t,{X:!1,I:{$:3,a:lw(S)}}),b:lS({ac:lw(S),fd:"initial",aK:t.a7})}}var m=h.a;switch(m.$){case 0:var T=m.a,k=R(lo,"initial",ap(t.cz),t,T),P=k.a,N=k.b;return{a:q(P,{a0:!1,I:sA(T)}),b:eX(U([N,lT({ct:!ul(P.aH),cG:I(nU,0,P.R),fd:"initial",aK:t.a7})]))};case 1:var z=m.a,V=z.a,H=z.b;return{a:q(t,{c6:r$,a0:!0,X:!1,aH:B,I:sL({t:I(nw,V,H),bH:rC,cC:rC,ak:rC,dq:am}),bY:s$,R:am}),b:eX(U([sX("initial"),lT({ct:!1,cG:0,fd:"initial",aK:t.a7})]))};default:return{a:q(t,{X:!1}),b:lS({ac:"URL did not return a supported IIIF resource.",fd:"initial",aK:t.a7})}}case 10:var c=e.a,l=e.b,h=e.c;if(M(t.ba,ap(c)))if(h.$){var S=h.a;return{a:q(t,{X:!1,ba:am}),b:lS({ac:lw(S),fd:c,aK:l})}}else{var m=h.a;switch(m.$){case 0:var T=m.a,D=R(lo,c,am,t,T),P=D.a,N=D.b;return{a:q(P,{a0:!1,a7:l,ba:am,I:sA(T)}),b:eX(U([N,lT({ct:!ul(P.aH),cG:0,fd:c,aK:l})]))};case 1:var _=m.a,V=_.a,H=_.b;return{a:q(t,{c6:r$,a0:!0,X:!1,a7:l,aH:B,ba:am,I:sL({t:I(nw,V,H),bH:rC,cC:rC,ak:rC,dq:am}),bY:s$,R:am}),b:eX(U([sX(c),lT({ct:!1,cG:0,fd:c,aK:l})]))};default:return{a:q(t,{X:!1,ba:am}),b:lS({ac:"URL did not return a supported IIIF resource.",fd:c,aK:l})}}}return{a:t,b:lb};case 11:var F=s5(t.cn);if(F.$){var S=F.a;return{a:q(t,{bJ:ap(S)}),b:lb}}var G=F.a,j=s7(G),P=q(t,{ez:G,bJ:am,cn:j});return{a:P,b:lv(P)};case 12:var W,Z=e.a,K=(W=t.de).$?ap(Z):ap(W.a);return{a:q(t,{dE:ap(Z),de:K}),b:lb};case 13:return{a:q(t,{dO:!1}),b:lb};case 14:var P=q(t,{ez:uS,di:!1,aG:0,cH:!1});return{a:P,b:sF(am)};case 15:var f=e.a,X=t.I;if(2===X.$){var g=X.a,Y=I(lI,f,g.bH)?I(lC,f,g.bH):I(lx,f,g.bH),E=g.t.b,J=I(nU,!0,I(n_,I(rX,function(e){return e.aE},ul),I(s9,f,E)))&&!I(lI,f,g.cC)&&!I(lI,f,g.ak),p=J?I(lx,f,g.ak):g.ak,$=q(g,{bH:Y,ak:p});return{a:q(t,{I:sL($)}),b:J?C(uA,sS(f),t.aw,f):lb}}return{a:t,b:lb};case 16:var L=e.a,Q=e.b,ee=t.I;if(2===ee.$){var g=ee.a;return{a:q(t,{X:!0,I:sL(q(g,{dq:ap(L)})),bY:rm}),b:C(lL,sT(L),t.aw,Q)}}return{a:t,b:lb};case 17:return{a:q(t,{dO:!0}),b:lb};case 18:var P=q(t,{aG:0,cH:!0,dj:!0,B:b6(t)});return{a:P,b:lv(P)};case 19:var d=e.a,P=q(t,{aG:d});return{a:P,b:lv(P)};case 20:return I(lm,1,t);case 21:return I(lm,-1,t);case 22:var et=e.a,ea=et.$?lb:lp(et.a),P=q(t,{cI:et,R:et.$?t.R:ap(et.a),B:b6(t),bf:!0});return{a:P,b:eX(U([ea,lv(P)]))};case 23:return{a:t,b:lB(0)};case 24:var d=e.a,P=q(t,{aG:0,R:ap(d),B:b6(t),bf:!1});return{a:P,b:eX(U([lp(d),I(ld,1===P.B,d),lv(P)]))};case 25:return I(b3,t,1.6);case 26:return I(b3,t,.625);case 27:var j=s7(t.ez);return{a:q(t,{bJ:am,cn:j}),b:sY(j)};case 28:var er=e.a,en=t.ch;if(en.$)return{a:t,b:lb};var ei=en.a,eo=C(rE,240,480,ei.ds+(er-ei.dt));return{a:q(t,{dB:eo}),b:lb};case 29:var er=e.a,eu=t.cO;if(eu.$)return{a:t,b:lb};var ei=eu.a,es=ei.dt-er,eo=C(rE,220,520,ei.ds+es);return{a:q(t,{b0:eo}),b:lb};case 30:return{a:q(t,{ch:am}),b:lb};case 31:return{a:q(t,{cO:am}),b:lb};case 32:var P=q(t,{ez:uS,bJ:am});return{a:P,b:lv(P)};case 33:var P=I(b2,lA,t);return{a:P,b:lv(P)};case 34:return{a:q(t,{dD:0}),b:lb};case 35:return{a:q(t,{dD:1}),b:lb};case 36:var er=e.a;return{a:q(t,{ch:ap({ds:t.dB,dt:er})}),b:lb};case 37:var er=e.a;return{a:q(t,{cO:ap({ds:t.b0,dt:er})}),b:lb};case 38:return{a:q(t,{_:3,B:3}),b:lb};case 39:if(2===t.I.$)return{a:q(t,{a0:!t.a0}),b:lb};return{a:t,b:lb};case 40:var ec=e.a,b=e.b,P=I(b2,I(sM,ec,b),t);return{a:P,b:lv(P)};case 41:var el=e.a,eb=I(lI,el,t.cm)?I(lC,el,t.cm):I(lx,el,t.cm);return{a:q(t,{cm:eb}),b:lb};case 42:var ed=!t.db;return{a:q(t,{db:ed}),b:lD(ed)};case 43:return{a:q(t,{_:2,B:2}),b:lb};case 44:return{a:q(t,{di:!t.di}),b:lb};case 45:return{a:q(t,{dj:!t.dj}),b:lb};case 46:var ef=e.a;return{a:q(t,{d$:M(t.d$,ap(ef))?am:ap(ef)}),b:lb};case 47:if(t.b8){var s=!t.b$;return{a:q(t,{b$:s}),b:ly(I(cn,1,s))}}return{a:t,b:lb};case 48:return t.df?t.bO?{a:q(t,{bO:!1,B:0}),b:lb}:{a:q(t,{bO:!0,B:t._}),b:lb}:t.B?{a:q(t,{B:0}),b:lb}:{a:q(t,{B:t._}),b:lb};case 49:var eh=function(){var e={a:t.cI,b:t.R};if(e.a.$)if(e.b.$)return lb;else{e.a;var a=e.b.a;return I(ld,!0,a)}var a=e.a.a;return I(ld,!0,a)}(),P=q(t,{_:1,B:1});return{a:q(P,{cI:am,bf:!t.cI.$}),b:eh};case 50:var ev=+!t.b8;return{a:q(t,{b8:ev}),b:ly(I(cn,ev,t.b$))};case 51:var eg=e.a,ep=e.b,P=I(b2,I(sN,eg,ep),t);return{a:P,b:lv(P)};case 52:var em=e.a,ep=e.b,P=I(b2,I(sq,em,ep),t);return{a:P,b:lv(P)};case 53:var ep=e.a;return{a:q(t,{bJ:am,cn:ep}),b:lb};case 54:var ew=e.a,ep=e.b,P=I(b2,I(sD,ew,ep),t);return{a:P,b:lv(P)};case 55:return{a:q(t,{X:e.a}),b:lb};default:var P=1>O(e.a,720)?q(t,{df:!0,bO:!1,B:0}):q(t,{df:!1,bO:!1});return{a:P,b:lb}}}),b8=p(function(e,t){return I(tw,e,eT(t))}),b7=b8("className"),b9=function(e){return b7(I(aw," ",I(rl,aX,I(iS,c2,e))))},de=tc("div"),dt=b8("id"),da=function(e){var t=e.I;switch(t.$){case 1:var a=t.a;return ap(a);case 2:var r=e.bY;if(2!==r.$)return am;var a=r.a;return ap(a);default:return am}},dr=cX(function(e){return e.dN}),dn=cX(function(e){return e.fe}),di={$:13},du=p(function(e,t){return I(tx,tI.test(e)?"data-"+e:e,t$(t))}),ds=tc("button"),dc=tc("h2"),dl=p(function(e,t){return I(tp,e,{$:0,a:t})}),db=function(e){return I(dl,"click",a2(e))},dd=tc("p"),df=b8("type"),dh=p(function(e,t){var a=p(function(t,a){return I(nU,a,I(n_,cu(e.en),t))}),r=I(nU,I(a,t.dR,"Sign in to view this image."),t.at);return I(de,U([b7("diva-auth-overlay"),I(du,"role","dialog"),I(du,"aria-modal","true")]),U([I(de,U([b7("diva-auth-dialog")]),U([I(dc,B,U([tu(I(a,t.dK,"Sign in required"))])),I(dd,B,U([tu(r)])),I(ds,U([df("button"),I(du,"data-diva-auth-flow",t.da),I(du,"data-diva-auth-url",t.ea)]),U([tu(M(t.at,am)?I(a,t.dC,"Sign in"):"Retry")])),I(ds,U([df("button"),db(uk(di))]),U([tu("Cancel")]))]))]))}),dv=function(e){return tc(tE.test(e)?"p":e)},dg=tu(""),dp=p(function(e,t){return t?e:dg}),dm=p(function(e,t){return t.$?dg:e(t.a)});var dw=(b=U([.2,.3,.4,.1,.2,.3,0,.1,.2]),I(de,U([b7("diva-throbber-overlay")]),U([I(de,U([b7("diva-throbber")]),I(rl,function(e){return I(de,U([b7("diva-throbber-cube"),I(tm,"animation-delay",es(e)+"s")]),B)},b))]))),dx=function(e){var t=e.a,a=e.b,r=e.c;return I(de,U([b7("diva-viewer-status-overlay")]),U([I(de,U([b7("diva-modal is-narrow")]),U([I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title")]),U([tu(t)]))])),I(de,U([b7("diva-modal-body is-no-sidebar")]),U([I(de,U([b9(U([{a:"diva-status",b:!0},{a:"is-error",b:r}]))]),U([tu(a)]))]))]))]))},dy=function(e){return I(de,U([b7("diva-viewer-zoom-indicator")]),U([tu(e)]))},dE=x(function(e,t,a,r,n){return I(de,U([b7("diva-canvas-wrapper")]),U([C(dv,"osd-viewer",U([b9(U([{a:"diva-canvas",b:!0},{a:"is-fullscreen",b:e},{a:"has-collection",b:a}])),dt("main-viewer")]),B),I(dp,dw,t),I(dm,dx,r),I(dm,dy,n)]))}),dI=function(e){return{$:36,a:e}},dC=tc("li"),dR=tc("ul"),d$=p(function(e,t){return{$:16,a:e,b:t}}),dL=m(function(e,t,a){var r=I(cu,e,a.dN);return I(dC,B,U([I(ds,U([b9(U([{a:"diva-manifest-tree-item",b:!0},{a:"diva-ui-button",b:!0},{a:"is-active",b:M(t.dq,ap(a.s))}])),df("button"),db(I(d$,a.s,a.s))]),U([tu(r)]))]))}),dA=m(function(e,t,a){return a.$?C(dL,e,t,a.a):C(dT,e,t,a.a)}),dS=m(function(e,t,a){return I(dR,U([b7("diva-collection-list diva-list-reset")]),I(rl,C(tf,dA,e,t),a))}),dT=m(function(e,t,a){var r=I(cu,e,a.dN),n=I(lI,a.s,t.bH),i=function(){if(!n)return B;var r=I(lI,a.s,t.ak)?U([I(de,U([b7("diva-contents-empty")]),U([tu("Loading…")]))]):B;return I(_,C(dS,e,t,a.aE),r)}();return I(dC,U([b7("diva-collection-tree-item")]),I(_,I(ds,U([b7("diva-collection-node-button diva-ui-button"),df("button"),db({$:15,a:a.s})]),U([I(de,U([b7("diva-collection-expand-icon")]),U([tu(n?"▼":"▶")])),tu(r)])),i))}),dk=p(function(e,t){var a=t.t.b,r=I(cu,e.en,a.dN);return I(de,U([b9(U([{a:"diva-collection-panel",b:!0},{a:"is-fullscreen",b:e.db},{a:"is-hidden",b:!e.a0}])),I(tm,"width",e.a0?es(e.dB)+"px":"0px")]),U([I(de,U([b7("diva-collection-header")]),U([I(de,U([b7("diva-collection-title")]),U([tu(r)])),I(dm,function(t){return I(de,U([b7("diva-collection-summary")]),U([tu(I(cu,e.en,t))]))},a.gH)])),I(de,U([b7("diva-sidebar-content")]),U([I(de,U([b7("diva-sidebar-pane is-scroll")]),U([C(dS,e.en,t,a.aE)]))]))]))}),dM=function(e){var t=e.I;return 2===t.$?I(dk,e,t.a):dg},dP=tc("a"),dN=function(e){return I(b8,"href",tC.test(e)?"":e)},dz=function(e){switch(e.$){case 0:return e.a;case 1:return"none";default:return"default"}},dO=tx("rel"),dV=m(function(e,t,a){return{$:1,a:e,b:t,c:a}}),dq=p(function(e,t){return{$:1,a:e,b:t}}),dH=m(function(e,t,a){return{$:0,a:e,b:t,c:a}}),dB=p(function(e,t){return function(a){var r=t(a);if(1===r.$){var n=r.a,i=r.b;return I(dq,n,i)}var o=r.a,u=r.b,s=r.c,c=e(u)(s);if(1===c.$){var l=c.a,i=c.b;return I(dq,o||l,i)}var l=c.a;return C(dH,o||l,c.b,c.c)}}),dD=function(e){return function(t){var a=e(t);return 1===a.$?I(dq,!1,a.b):C(dH,!1,a.b,a.c)}},d_={$:11},dU=p(function(e,t){return{$:1,a:e,b:t}}),dF=w(function(e,t,a,r){return{dA:t,fL:r,dX:a,d_:e}}),dG={$:0},dj=p(function(e,t){return I(dU,dG,R(dF,e.d_,e.dA,t,e.k))}),dW=p(function(e,t){return function(a){var r=C(t7,e,a.h,a.d);return M(r,-1)?I(dq,!1,I(dj,a,t)):M(r,-2)?C(dH,!0,0,{dA:1,k:a.k,p:a.p,h:a.h+1,d_:a.d_+1,d:a.d}):C(dH,!0,0,{dA:a.dA+1,k:a.k,p:a.p,h:r,d_:a.d_,d:a.d})}}),dZ=function(e){return I(dW,e,d_)},dK=x(function(e,t,a,r,n){for(;;){var i=C(t7,e,t,n.d);if(M(i,-1))return C(dH,0>O(n.h,t),0,{dA:r,k:n.k,p:n.p,h:t,d_:a,d:n.d});if(M(i,-2)){var o=e,u=t+1,s=a+1,c=1,l=n;e=o,t=u,a=s,r=c,n=l;continue}var o=e,u=i,s=a,c=r+1,l=n;e=o,t=u,a=s,r=c,n=l}}),dX=function(e){return function(t){return $(dK,e,t.h,t.d_,t.dA,t)}},dY=m(function(e,t,a){return function(r){var n=t(r);if(1===n.$){var i=n.a,o=n.b;return I(dq,i,o)}var u=n.a,s=n.b,c=a(n.c);if(1===c.$){var l=c.a,o=c.b;return I(dq,u||l,o)}var l=c.a,b=c.b,d=c.c;return C(dH,u||l,I(e,s,b),d)}}),dJ=p(function(e,t){return C(dY,sH,e,t)}),dQ=function(e){return I(dJ,dZ(e),dX(e))},d0=p(function(e,t){return function(a){var r=t(a);if(1===r.$){var n=r.a;return I(dq,n,r.b)}var n=r.a,i=r.b,o=r.c;return C(dH,n,I(e,C(ea,a.h,o.h,a.d),i),o)}}),d1=function(e){return I(d0,sH,e)},d2=function(e){return" "===e||" "===e||"\n"===e||"\r"===e||"\f"===e||" "===e},d4=function(e){var t;return t={$:12,a:e},function(e){return I(dq,!1,I(dj,e,t))}},d3=function(e){return function(t){return C(dH,!1,e,t)}},d6=function(e){var t=I(dB,function(t){return M(c8(t),e)?d3(0):d4("closing tag does not match opening tag: "+e)},d1(dQ(function(e){return!d2(e)&&">"!==e})));return I(dJ,I(dJ,I(dJ,I(dJ,dZ(N("<")),dZ(N("/"))),t),dX(d2)),dZ(N(">")))},d5=w(function(e,t,a,r){return I(dU,dG,R(dF,e,t,a,r))}),d8=p(function(e,t){return{$:0,a:e,b:t}}),d7=function(e){return I(d8,e,{$:0,a:e})},d9=p(function(e,t){return C(dY,aj,e,t)}),fe=function(e){var t=e.a,a=e.b,r=!a9(t);return function(e){var n=$(t8,t,e.h,e.d_,e.dA,e.d),i=n.a,o=n.b,u=n.c;return M(i,-1)?I(dq,!1,I(dj,e,a)):C(dH,r,0,{dA:u,k:e.k,p:e.p,h:i,d_:o,d:e.d})}},ft=function(e){return fe(d7(e))},fa=I(d9,I(dJ,I(dJ,d3(a3),ft("O(e.h,n),0,{dA:o,k:e.k,p:e.p,h:n,d_:i,d:e.d})})),ft("--\x3e"))),fr=p(function(e,t){return function(a){var r=t(a);if(r.$){var n=r.a;return I(dq,n,r.b)}var n=r.a,i=r.b,o=r.c;return C(dH,n,e(i),o)}}),fn=I(fr,function(e){return{$:2,a:e}},fa),fi=U(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),fo=function(e){return{$:1,a:e}},fu=function(e){return{$:0,a:e}},fs=w(function(e,t,a,r){for(;;){var n=a(t)(r);if(n.$){var i=n.a;return I(dq,e||i,n.b)}var i=n.a,o=n.b,u=n.c;if(o.$)return C(dH,e||i,o.a,u);var s=o.a,c=a;e=e||i,t=s,a=c,r=u}}),fc=p(function(e,t){return function(a){return R(fs,!1,e,t,a)}}),fl=function(e){return e.$?{$:1,a:e.a}:{$:0,a:e.a}},fb=p(function(e,t){return I(fc,e,function(e){return I(fr,fl,t(e))})}),fd=p(function(e,t){return{$:2,a:e,b:t}}),ff=m(function(e,t,a){for(;;)if(!a.b)return I(dq,!1,t);else{var r=a.a,n=a.b,i=r(e);if(i.$){var o=i,u=o.a,s=o.b;if(u)return o;var c=e,l=I(fd,t,s);e=c,t=l,a=n;continue}var o=i;return o}}),fh=function(e){return function(t){return C(ff,t,dG,e)}},fv=function(e){return I(fb,B,function(t){return fh(U([I(fr,function(e){return fu(I(_,e,t))},e),d3(fo(az(t)))]))})},fg=I(fr,c8,d1(dQ(function(e){return!d2(e)&&'"'!==e&&"'"!==e&&">"!==e&&"/"!==e&&"="!==e}))),fp=dZ(N(";")),fm=si(U([{a:"Aacute",b:"Á"},{a:"aacute",b:"á"},{a:"Abreve",b:"Ă"},{a:"abreve",b:"ă"},{a:"ac",b:"∾"},{a:"acd",b:"∿"},{a:"acE",b:"∾̳"},{a:"Acirc",b:"Â"},{a:"acirc",b:"â"},{a:"acute",b:"´"},{a:"Acy",b:"А"},{a:"acy",b:"а"},{a:"AElig",b:"Æ"},{a:"aelig",b:"æ"},{a:"af",b:"⁡"},{a:"Afr",b:"𝔄"},{a:"afr",b:"𝔞"},{a:"Agrave",b:"À"},{a:"agrave",b:"à"},{a:"alefsym",b:"ℵ"},{a:"aleph",b:"ℵ"},{a:"Alpha",b:"Α"},{a:"alpha",b:"α"},{a:"Amacr",b:"Ā"},{a:"amacr",b:"ā"},{a:"amalg",b:"⨿"},{a:"amp",b:"&"},{a:"AMP",b:"&"},{a:"andand",b:"⩕"},{a:"And",b:"⩓"},{a:"and",b:"∧"},{a:"andd",b:"⩜"},{a:"andslope",b:"⩘"},{a:"andv",b:"⩚"},{a:"ang",b:"∠"},{a:"ange",b:"⦤"},{a:"angle",b:"∠"},{a:"angmsdaa",b:"⦨"},{a:"angmsdab",b:"⦩"},{a:"angmsdac",b:"⦪"},{a:"angmsdad",b:"⦫"},{a:"angmsdae",b:"⦬"},{a:"angmsdaf",b:"⦭"},{a:"angmsdag",b:"⦮"},{a:"angmsdah",b:"⦯"},{a:"angmsd",b:"∡"},{a:"angrt",b:"∟"},{a:"angrtvb",b:"⊾"},{a:"angrtvbd",b:"⦝"},{a:"angsph",b:"∢"},{a:"angst",b:"Å"},{a:"angzarr",b:"⍼"},{a:"Aogon",b:"Ą"},{a:"aogon",b:"ą"},{a:"Aopf",b:"𝔸"},{a:"aopf",b:"𝕒"},{a:"apacir",b:"⩯"},{a:"ap",b:"≈"},{a:"apE",b:"⩰"},{a:"ape",b:"≊"},{a:"apid",b:"≋"},{a:"apos",b:"'"},{a:"ApplyFunction",b:"⁡"},{a:"approx",b:"≈"},{a:"approxeq",b:"≊"},{a:"Aring",b:"Å"},{a:"aring",b:"å"},{a:"Ascr",b:"𝒜"},{a:"ascr",b:"𝒶"},{a:"Assign",b:"≔"},{a:"ast",b:"*"},{a:"asymp",b:"≈"},{a:"asympeq",b:"≍"},{a:"Atilde",b:"Ã"},{a:"atilde",b:"ã"},{a:"Auml",b:"Ä"},{a:"auml",b:"ä"},{a:"awconint",b:"∳"},{a:"awint",b:"⨑"},{a:"backcong",b:"≌"},{a:"backepsilon",b:"϶"},{a:"backprime",b:"‵"},{a:"backsim",b:"∽"},{a:"backsimeq",b:"⋍"},{a:"Backslash",b:"∖"},{a:"Barv",b:"⫧"},{a:"barvee",b:"⊽"},{a:"barwed",b:"⌅"},{a:"Barwed",b:"⌆"},{a:"barwedge",b:"⌅"},{a:"bbrk",b:"⎵"},{a:"bbrktbrk",b:"⎶"},{a:"bcong",b:"≌"},{a:"Bcy",b:"Б"},{a:"bcy",b:"б"},{a:"bdquo",b:"„"},{a:"becaus",b:"∵"},{a:"because",b:"∵"},{a:"Because",b:"∵"},{a:"bemptyv",b:"⦰"},{a:"bepsi",b:"϶"},{a:"bernou",b:"ℬ"},{a:"Bernoullis",b:"ℬ"},{a:"Beta",b:"Β"},{a:"beta",b:"β"},{a:"beth",b:"ℶ"},{a:"between",b:"≬"},{a:"Bfr",b:"𝔅"},{a:"bfr",b:"𝔟"},{a:"bigcap",b:"⋂"},{a:"bigcirc",b:"◯"},{a:"bigcup",b:"⋃"},{a:"bigodot",b:"⨀"},{a:"bigoplus",b:"⨁"},{a:"bigotimes",b:"⨂"},{a:"bigsqcup",b:"⨆"},{a:"bigstar",b:"★"},{a:"bigtriangledown",b:"▽"},{a:"bigtriangleup",b:"△"},{a:"biguplus",b:"⨄"},{a:"bigvee",b:"⋁"},{a:"bigwedge",b:"⋀"},{a:"bkarow",b:"⤍"},{a:"blacklozenge",b:"⧫"},{a:"blacksquare",b:"▪"},{a:"blacktriangle",b:"▴"},{a:"blacktriangledown",b:"▾"},{a:"blacktriangleleft",b:"◂"},{a:"blacktriangleright",b:"▸"},{a:"blank",b:"␣"},{a:"blk12",b:"▒"},{a:"blk14",b:"░"},{a:"blk34",b:"▓"},{a:"block",b:"█"},{a:"bne",b:"=⃥"},{a:"bnequiv",b:"≡⃥"},{a:"bNot",b:"⫭"},{a:"bnot",b:"⌐"},{a:"Bopf",b:"𝔹"},{a:"bopf",b:"𝕓"},{a:"bot",b:"⊥"},{a:"bottom",b:"⊥"},{a:"bowtie",b:"⋈"},{a:"boxbox",b:"⧉"},{a:"boxdl",b:"┐"},{a:"boxdL",b:"╕"},{a:"boxDl",b:"╖"},{a:"boxDL",b:"╗"},{a:"boxdr",b:"┌"},{a:"boxdR",b:"╒"},{a:"boxDr",b:"╓"},{a:"boxDR",b:"╔"},{a:"boxh",b:"─"},{a:"boxH",b:"═"},{a:"boxhd",b:"┬"},{a:"boxHd",b:"╤"},{a:"boxhD",b:"╥"},{a:"boxHD",b:"╦"},{a:"boxhu",b:"┴"},{a:"boxHu",b:"╧"},{a:"boxhU",b:"╨"},{a:"boxHU",b:"╩"},{a:"boxminus",b:"⊟"},{a:"boxplus",b:"⊞"},{a:"boxtimes",b:"⊠"},{a:"boxul",b:"┘"},{a:"boxuL",b:"╛"},{a:"boxUl",b:"╜"},{a:"boxUL",b:"╝"},{a:"boxur",b:"└"},{a:"boxuR",b:"╘"},{a:"boxUr",b:"╙"},{a:"boxUR",b:"╚"},{a:"boxv",b:"│"},{a:"boxV",b:"║"},{a:"boxvh",b:"┼"},{a:"boxvH",b:"╪"},{a:"boxVh",b:"╫"},{a:"boxVH",b:"╬"},{a:"boxvl",b:"┤"},{a:"boxvL",b:"╡"},{a:"boxVl",b:"╢"},{a:"boxVL",b:"╣"},{a:"boxvr",b:"├"},{a:"boxvR",b:"╞"},{a:"boxVr",b:"╟"},{a:"boxVR",b:"╠"},{a:"bprime",b:"‵"},{a:"breve",b:"˘"},{a:"Breve",b:"˘"},{a:"brvbar",b:"¦"},{a:"bscr",b:"𝒷"},{a:"Bscr",b:"ℬ"},{a:"bsemi",b:"⁏"},{a:"bsim",b:"∽"},{a:"bsime",b:"⋍"},{a:"bsolb",b:"⧅"},{a:"bsol",b:"\\"},{a:"bsolhsub",b:"⟈"},{a:"bull",b:"•"},{a:"bullet",b:"•"},{a:"bump",b:"≎"},{a:"bumpE",b:"⪮"},{a:"bumpe",b:"≏"},{a:"Bumpeq",b:"≎"},{a:"bumpeq",b:"≏"},{a:"Cacute",b:"Ć"},{a:"cacute",b:"ć"},{a:"capand",b:"⩄"},{a:"capbrcup",b:"⩉"},{a:"capcap",b:"⩋"},{a:"cap",b:"∩"},{a:"Cap",b:"⋒"},{a:"capcup",b:"⩇"},{a:"capdot",b:"⩀"},{a:"CapitalDifferentialD",b:"ⅅ"},{a:"caps",b:"∩︀"},{a:"caret",b:"⁁"},{a:"caron",b:"ˇ"},{a:"Cayleys",b:"ℭ"},{a:"ccaps",b:"⩍"},{a:"Ccaron",b:"Č"},{a:"ccaron",b:"č"},{a:"Ccedil",b:"Ç"},{a:"ccedil",b:"ç"},{a:"Ccirc",b:"Ĉ"},{a:"ccirc",b:"ĉ"},{a:"Cconint",b:"∰"},{a:"ccups",b:"⩌"},{a:"ccupssm",b:"⩐"},{a:"Cdot",b:"Ċ"},{a:"cdot",b:"ċ"},{a:"cedil",b:"¸"},{a:"Cedilla",b:"¸"},{a:"cemptyv",b:"⦲"},{a:"cent",b:"¢"},{a:"centerdot",b:"·"},{a:"CenterDot",b:"·"},{a:"cfr",b:"𝔠"},{a:"Cfr",b:"ℭ"},{a:"CHcy",b:"Ч"},{a:"chcy",b:"ч"},{a:"check",b:"✓"},{a:"checkmark",b:"✓"},{a:"Chi",b:"Χ"},{a:"chi",b:"χ"},{a:"circ",b:"ˆ"},{a:"circeq",b:"≗"},{a:"circlearrowleft",b:"↺"},{a:"circlearrowright",b:"↻"},{a:"circledast",b:"⊛"},{a:"circledcirc",b:"⊚"},{a:"circleddash",b:"⊝"},{a:"CircleDot",b:"⊙"},{a:"circledR",b:"®"},{a:"circledS",b:"Ⓢ"},{a:"CircleMinus",b:"⊖"},{a:"CirclePlus",b:"⊕"},{a:"CircleTimes",b:"⊗"},{a:"cir",b:"○"},{a:"cirE",b:"⧃"},{a:"cire",b:"≗"},{a:"cirfnint",b:"⨐"},{a:"cirmid",b:"⫯"},{a:"cirscir",b:"⧂"},{a:"ClockwiseContourIntegral",b:"∲"},{a:"CloseCurlyDoubleQuote",b:"”"},{a:"CloseCurlyQuote",b:"’"},{a:"clubs",b:"♣"},{a:"clubsuit",b:"♣"},{a:"colon",b:":"},{a:"Colon",b:"∷"},{a:"Colone",b:"⩴"},{a:"colone",b:"≔"},{a:"coloneq",b:"≔"},{a:"comma",b:","},{a:"commat",b:"@"},{a:"comp",b:"∁"},{a:"compfn",b:"∘"},{a:"complement",b:"∁"},{a:"complexes",b:"ℂ"},{a:"cong",b:"≅"},{a:"congdot",b:"⩭"},{a:"Congruent",b:"≡"},{a:"conint",b:"∮"},{a:"Conint",b:"∯"},{a:"ContourIntegral",b:"∮"},{a:"copf",b:"𝕔"},{a:"Copf",b:"ℂ"},{a:"coprod",b:"∐"},{a:"Coproduct",b:"∐"},{a:"copy",b:"©"},{a:"COPY",b:"©"},{a:"copysr",b:"℗"},{a:"CounterClockwiseContourIntegral",b:"∳"},{a:"crarr",b:"↵"},{a:"cross",b:"✗"},{a:"Cross",b:"⨯"},{a:"Cscr",b:"𝒞"},{a:"cscr",b:"𝒸"},{a:"csub",b:"⫏"},{a:"csube",b:"⫑"},{a:"csup",b:"⫐"},{a:"csupe",b:"⫒"},{a:"ctdot",b:"⋯"},{a:"cudarrl",b:"⤸"},{a:"cudarrr",b:"⤵"},{a:"cuepr",b:"⋞"},{a:"cuesc",b:"⋟"},{a:"cularr",b:"↶"},{a:"cularrp",b:"⤽"},{a:"cupbrcap",b:"⩈"},{a:"cupcap",b:"⩆"},{a:"CupCap",b:"≍"},{a:"cup",b:"∪"},{a:"Cup",b:"⋓"},{a:"cupcup",b:"⩊"},{a:"cupdot",b:"⊍"},{a:"cupor",b:"⩅"},{a:"cups",b:"∪︀"},{a:"curarr",b:"↷"},{a:"curarrm",b:"⤼"},{a:"curlyeqprec",b:"⋞"},{a:"curlyeqsucc",b:"⋟"},{a:"curlyvee",b:"⋎"},{a:"curlywedge",b:"⋏"},{a:"curren",b:"¤"},{a:"curvearrowleft",b:"↶"},{a:"curvearrowright",b:"↷"},{a:"cuvee",b:"⋎"},{a:"cuwed",b:"⋏"},{a:"cwconint",b:"∲"},{a:"cwint",b:"∱"},{a:"cylcty",b:"⌭"},{a:"dagger",b:"†"},{a:"Dagger",b:"‡"},{a:"daleth",b:"ℸ"},{a:"darr",b:"↓"},{a:"Darr",b:"↡"},{a:"dArr",b:"⇓"},{a:"dash",b:"‐"},{a:"Dashv",b:"⫤"},{a:"dashv",b:"⊣"},{a:"dbkarow",b:"⤏"},{a:"dblac",b:"˝"},{a:"Dcaron",b:"Ď"},{a:"dcaron",b:"ď"},{a:"Dcy",b:"Д"},{a:"dcy",b:"д"},{a:"ddagger",b:"‡"},{a:"ddarr",b:"⇊"},{a:"DD",b:"ⅅ"},{a:"dd",b:"ⅆ"},{a:"DDotrahd",b:"⤑"},{a:"ddotseq",b:"⩷"},{a:"deg",b:"°"},{a:"Del",b:"∇"},{a:"Delta",b:"Δ"},{a:"delta",b:"δ"},{a:"demptyv",b:"⦱"},{a:"dfisht",b:"⥿"},{a:"Dfr",b:"𝔇"},{a:"dfr",b:"𝔡"},{a:"dHar",b:"⥥"},{a:"dharl",b:"⇃"},{a:"dharr",b:"⇂"},{a:"DiacriticalAcute",b:"´"},{a:"DiacriticalDot",b:"˙"},{a:"DiacriticalDoubleAcute",b:"˝"},{a:"DiacriticalGrave",b:"`"},{a:"DiacriticalTilde",b:"˜"},{a:"diam",b:"⋄"},{a:"diamond",b:"⋄"},{a:"Diamond",b:"⋄"},{a:"diamondsuit",b:"♦"},{a:"diams",b:"♦"},{a:"die",b:"¨"},{a:"DifferentialD",b:"ⅆ"},{a:"digamma",b:"ϝ"},{a:"disin",b:"⋲"},{a:"div",b:"÷"},{a:"divide",b:"÷"},{a:"divideontimes",b:"⋇"},{a:"divonx",b:"⋇"},{a:"DJcy",b:"Ђ"},{a:"djcy",b:"ђ"},{a:"dlcorn",b:"⌞"},{a:"dlcrop",b:"⌍"},{a:"dollar",b:"$"},{a:"Dopf",b:"𝔻"},{a:"dopf",b:"𝕕"},{a:"Dot",b:"¨"},{a:"dot",b:"˙"},{a:"DotDot",b:"⃜"},{a:"doteq",b:"≐"},{a:"doteqdot",b:"≑"},{a:"DotEqual",b:"≐"},{a:"dotminus",b:"∸"},{a:"dotplus",b:"∔"},{a:"dotsquare",b:"⊡"},{a:"doublebarwedge",b:"⌆"},{a:"DoubleContourIntegral",b:"∯"},{a:"DoubleDot",b:"¨"},{a:"DoubleDownArrow",b:"⇓"},{a:"DoubleLeftArrow",b:"⇐"},{a:"DoubleLeftRightArrow",b:"⇔"},{a:"DoubleLeftTee",b:"⫤"},{a:"DoubleLongLeftArrow",b:"⟸"},{a:"DoubleLongLeftRightArrow",b:"⟺"},{a:"DoubleLongRightArrow",b:"⟹"},{a:"DoubleRightArrow",b:"⇒"},{a:"DoubleRightTee",b:"⊨"},{a:"DoubleUpArrow",b:"⇑"},{a:"DoubleUpDownArrow",b:"⇕"},{a:"DoubleVerticalBar",b:"∥"},{a:"DownArrowBar",b:"⤓"},{a:"downarrow",b:"↓"},{a:"DownArrow",b:"↓"},{a:"Downarrow",b:"⇓"},{a:"DownArrowUpArrow",b:"⇵"},{a:"DownBreve",b:"̑"},{a:"downdownarrows",b:"⇊"},{a:"downharpoonleft",b:"⇃"},{a:"downharpoonright",b:"⇂"},{a:"DownLeftRightVector",b:"⥐"},{a:"DownLeftTeeVector",b:"⥞"},{a:"DownLeftVectorBar",b:"⥖"},{a:"DownLeftVector",b:"↽"},{a:"DownRightTeeVector",b:"⥟"},{a:"DownRightVectorBar",b:"⥗"},{a:"DownRightVector",b:"⇁"},{a:"DownTeeArrow",b:"↧"},{a:"DownTee",b:"⊤"},{a:"drbkarow",b:"⤐"},{a:"drcorn",b:"⌟"},{a:"drcrop",b:"⌌"},{a:"Dscr",b:"𝒟"},{a:"dscr",b:"𝒹"},{a:"DScy",b:"Ѕ"},{a:"dscy",b:"ѕ"},{a:"dsol",b:"⧶"},{a:"Dstrok",b:"Đ"},{a:"dstrok",b:"đ"},{a:"dtdot",b:"⋱"},{a:"dtri",b:"▿"},{a:"dtrif",b:"▾"},{a:"duarr",b:"⇵"},{a:"duhar",b:"⥯"},{a:"dwangle",b:"⦦"},{a:"DZcy",b:"Џ"},{a:"dzcy",b:"џ"},{a:"dzigrarr",b:"⟿"},{a:"Eacute",b:"É"},{a:"eacute",b:"é"},{a:"easter",b:"⩮"},{a:"Ecaron",b:"Ě"},{a:"ecaron",b:"ě"},{a:"Ecirc",b:"Ê"},{a:"ecirc",b:"ê"},{a:"ecir",b:"≖"},{a:"ecolon",b:"≕"},{a:"Ecy",b:"Э"},{a:"ecy",b:"э"},{a:"eDDot",b:"⩷"},{a:"Edot",b:"Ė"},{a:"edot",b:"ė"},{a:"eDot",b:"≑"},{a:"ee",b:"ⅇ"},{a:"efDot",b:"≒"},{a:"Efr",b:"𝔈"},{a:"efr",b:"𝔢"},{a:"eg",b:"⪚"},{a:"Egrave",b:"È"},{a:"egrave",b:"è"},{a:"egs",b:"⪖"},{a:"egsdot",b:"⪘"},{a:"el",b:"⪙"},{a:"Element",b:"∈"},{a:"elinters",b:"⏧"},{a:"ell",b:"ℓ"},{a:"els",b:"⪕"},{a:"elsdot",b:"⪗"},{a:"Emacr",b:"Ē"},{a:"emacr",b:"ē"},{a:"empty",b:"∅"},{a:"emptyset",b:"∅"},{a:"EmptySmallSquare",b:"◻"},{a:"emptyv",b:"∅"},{a:"EmptyVerySmallSquare",b:"▫"},{a:"emsp13",b:" "},{a:"emsp14",b:" "},{a:"emsp",b:" "},{a:"ENG",b:"Ŋ"},{a:"eng",b:"ŋ"},{a:"ensp",b:" "},{a:"Eogon",b:"Ę"},{a:"eogon",b:"ę"},{a:"Eopf",b:"𝔼"},{a:"eopf",b:"𝕖"},{a:"epar",b:"⋕"},{a:"eparsl",b:"⧣"},{a:"eplus",b:"⩱"},{a:"epsi",b:"ε"},{a:"Epsilon",b:"Ε"},{a:"epsilon",b:"ε"},{a:"epsiv",b:"ϵ"},{a:"eqcirc",b:"≖"},{a:"eqcolon",b:"≕"},{a:"eqsim",b:"≂"},{a:"eqslantgtr",b:"⪖"},{a:"eqslantless",b:"⪕"},{a:"Equal",b:"⩵"},{a:"equals",b:"="},{a:"EqualTilde",b:"≂"},{a:"equest",b:"≟"},{a:"Equilibrium",b:"⇌"},{a:"equiv",b:"≡"},{a:"equivDD",b:"⩸"},{a:"eqvparsl",b:"⧥"},{a:"erarr",b:"⥱"},{a:"erDot",b:"≓"},{a:"escr",b:"ℯ"},{a:"Escr",b:"ℰ"},{a:"esdot",b:"≐"},{a:"Esim",b:"⩳"},{a:"esim",b:"≂"},{a:"Eta",b:"Η"},{a:"eta",b:"η"},{a:"ETH",b:"Ð"},{a:"eth",b:"ð"},{a:"Euml",b:"Ë"},{a:"euml",b:"ë"},{a:"euro",b:"€"},{a:"excl",b:"!"},{a:"exist",b:"∃"},{a:"Exists",b:"∃"},{a:"expectation",b:"ℰ"},{a:"exponentiale",b:"ⅇ"},{a:"ExponentialE",b:"ⅇ"},{a:"fallingdotseq",b:"≒"},{a:"Fcy",b:"Ф"},{a:"fcy",b:"ф"},{a:"female",b:"♀"},{a:"ffilig",b:"ffi"},{a:"fflig",b:"ff"},{a:"ffllig",b:"ffl"},{a:"Ffr",b:"𝔉"},{a:"ffr",b:"𝔣"},{a:"filig",b:"fi"},{a:"FilledSmallSquare",b:"◼"},{a:"FilledVerySmallSquare",b:"▪"},{a:"fjlig",b:"fj"},{a:"flat",b:"♭"},{a:"fllig",b:"fl"},{a:"fltns",b:"▱"},{a:"fnof",b:"ƒ"},{a:"Fopf",b:"𝔽"},{a:"fopf",b:"𝕗"},{a:"forall",b:"∀"},{a:"ForAll",b:"∀"},{a:"fork",b:"⋔"},{a:"forkv",b:"⫙"},{a:"Fouriertrf",b:"ℱ"},{a:"fpartint",b:"⨍"},{a:"frac12",b:"½"},{a:"frac13",b:"⅓"},{a:"frac14",b:"¼"},{a:"frac15",b:"⅕"},{a:"frac16",b:"⅙"},{a:"frac18",b:"⅛"},{a:"frac23",b:"⅔"},{a:"frac25",b:"⅖"},{a:"frac34",b:"¾"},{a:"frac35",b:"⅗"},{a:"frac38",b:"⅜"},{a:"frac45",b:"⅘"},{a:"frac56",b:"⅚"},{a:"frac58",b:"⅝"},{a:"frac78",b:"⅞"},{a:"frasl",b:"⁄"},{a:"frown",b:"⌢"},{a:"fscr",b:"𝒻"},{a:"Fscr",b:"ℱ"},{a:"gacute",b:"ǵ"},{a:"Gamma",b:"Γ"},{a:"gamma",b:"γ"},{a:"Gammad",b:"Ϝ"},{a:"gammad",b:"ϝ"},{a:"gap",b:"⪆"},{a:"Gbreve",b:"Ğ"},{a:"gbreve",b:"ğ"},{a:"Gcedil",b:"Ģ"},{a:"Gcirc",b:"Ĝ"},{a:"gcirc",b:"ĝ"},{a:"Gcy",b:"Г"},{a:"gcy",b:"г"},{a:"Gdot",b:"Ġ"},{a:"gdot",b:"ġ"},{a:"ge",b:"≥"},{a:"gE",b:"≧"},{a:"gEl",b:"⪌"},{a:"gel",b:"⋛"},{a:"geq",b:"≥"},{a:"geqq",b:"≧"},{a:"geqslant",b:"⩾"},{a:"gescc",b:"⪩"},{a:"ges",b:"⩾"},{a:"gesdot",b:"⪀"},{a:"gesdoto",b:"⪂"},{a:"gesdotol",b:"⪄"},{a:"gesl",b:"⋛︀"},{a:"gesles",b:"⪔"},{a:"Gfr",b:"𝔊"},{a:"gfr",b:"𝔤"},{a:"gg",b:"≫"},{a:"Gg",b:"⋙"},{a:"ggg",b:"⋙"},{a:"gimel",b:"ℷ"},{a:"GJcy",b:"Ѓ"},{a:"gjcy",b:"ѓ"},{a:"gla",b:"⪥"},{a:"gl",b:"≷"},{a:"glE",b:"⪒"},{a:"glj",b:"⪤"},{a:"gnap",b:"⪊"},{a:"gnapprox",b:"⪊"},{a:"gne",b:"⪈"},{a:"gnE",b:"≩"},{a:"gneq",b:"⪈"},{a:"gneqq",b:"≩"},{a:"gnsim",b:"⋧"},{a:"Gopf",b:"𝔾"},{a:"gopf",b:"𝕘"},{a:"grave",b:"`"},{a:"GreaterEqual",b:"≥"},{a:"GreaterEqualLess",b:"⋛"},{a:"GreaterFullEqual",b:"≧"},{a:"GreaterGreater",b:"⪢"},{a:"GreaterLess",b:"≷"},{a:"GreaterSlantEqual",b:"⩾"},{a:"GreaterTilde",b:"≳"},{a:"Gscr",b:"𝒢"},{a:"gscr",b:"ℊ"},{a:"gsim",b:"≳"},{a:"gsime",b:"⪎"},{a:"gsiml",b:"⪐"},{a:"gtcc",b:"⪧"},{a:"gtcir",b:"⩺"},{a:"gt",b:">"},{a:"GT",b:">"},{a:"Gt",b:"≫"},{a:"gtdot",b:"⋗"},{a:"gtlPar",b:"⦕"},{a:"gtquest",b:"⩼"},{a:"gtrapprox",b:"⪆"},{a:"gtrarr",b:"⥸"},{a:"gtrdot",b:"⋗"},{a:"gtreqless",b:"⋛"},{a:"gtreqqless",b:"⪌"},{a:"gtrless",b:"≷"},{a:"gtrsim",b:"≳"},{a:"gvertneqq",b:"≩︀"},{a:"gvnE",b:"≩︀"},{a:"Hacek",b:"ˇ"},{a:"hairsp",b:" "},{a:"half",b:"½"},{a:"hamilt",b:"ℋ"},{a:"HARDcy",b:"Ъ"},{a:"hardcy",b:"ъ"},{a:"harrcir",b:"⥈"},{a:"harr",b:"↔"},{a:"hArr",b:"⇔"},{a:"harrw",b:"↭"},{a:"Hat",b:"^"},{a:"hbar",b:"ℏ"},{a:"Hcirc",b:"Ĥ"},{a:"hcirc",b:"ĥ"},{a:"hearts",b:"♥"},{a:"heartsuit",b:"♥"},{a:"hellip",b:"…"},{a:"hercon",b:"⊹"},{a:"hfr",b:"𝔥"},{a:"Hfr",b:"ℌ"},{a:"HilbertSpace",b:"ℋ"},{a:"hksearow",b:"⤥"},{a:"hkswarow",b:"⤦"},{a:"hoarr",b:"⇿"},{a:"homtht",b:"∻"},{a:"hookleftarrow",b:"↩"},{a:"hookrightarrow",b:"↪"},{a:"hopf",b:"𝕙"},{a:"Hopf",b:"ℍ"},{a:"horbar",b:"―"},{a:"HorizontalLine",b:"─"},{a:"hscr",b:"𝒽"},{a:"Hscr",b:"ℋ"},{a:"hslash",b:"ℏ"},{a:"Hstrok",b:"Ħ"},{a:"hstrok",b:"ħ"},{a:"HumpDownHump",b:"≎"},{a:"HumpEqual",b:"≏"},{a:"hybull",b:"⁃"},{a:"hyphen",b:"‐"},{a:"Iacute",b:"Í"},{a:"iacute",b:"í"},{a:"ic",b:"⁣"},{a:"Icirc",b:"Î"},{a:"icirc",b:"î"},{a:"Icy",b:"И"},{a:"icy",b:"и"},{a:"Idot",b:"İ"},{a:"IEcy",b:"Е"},{a:"iecy",b:"е"},{a:"iexcl",b:"¡"},{a:"iff",b:"⇔"},{a:"ifr",b:"𝔦"},{a:"Ifr",b:"ℑ"},{a:"Igrave",b:"Ì"},{a:"igrave",b:"ì"},{a:"ii",b:"ⅈ"},{a:"iiiint",b:"⨌"},{a:"iiint",b:"∭"},{a:"iinfin",b:"⧜"},{a:"iiota",b:"℩"},{a:"IJlig",b:"IJ"},{a:"ijlig",b:"ij"},{a:"Imacr",b:"Ī"},{a:"imacr",b:"ī"},{a:"image",b:"ℑ"},{a:"ImaginaryI",b:"ⅈ"},{a:"imagline",b:"ℐ"},{a:"imagpart",b:"ℑ"},{a:"imath",b:"ı"},{a:"Im",b:"ℑ"},{a:"imof",b:"⊷"},{a:"imped",b:"Ƶ"},{a:"Implies",b:"⇒"},{a:"incare",b:"℅"},{a:"in",b:"∈"},{a:"infin",b:"∞"},{a:"infintie",b:"⧝"},{a:"inodot",b:"ı"},{a:"intcal",b:"⊺"},{a:"int",b:"∫"},{a:"Int",b:"∬"},{a:"integers",b:"ℤ"},{a:"Integral",b:"∫"},{a:"intercal",b:"⊺"},{a:"Intersection",b:"⋂"},{a:"intlarhk",b:"⨗"},{a:"intprod",b:"⨼"},{a:"InvisibleComma",b:"⁣"},{a:"InvisibleTimes",b:"⁢"},{a:"IOcy",b:"Ё"},{a:"iocy",b:"ё"},{a:"Iogon",b:"Į"},{a:"iogon",b:"į"},{a:"Iopf",b:"𝕀"},{a:"iopf",b:"𝕚"},{a:"Iota",b:"Ι"},{a:"iota",b:"ι"},{a:"iprod",b:"⨼"},{a:"iquest",b:"¿"},{a:"iscr",b:"𝒾"},{a:"Iscr",b:"ℐ"},{a:"isin",b:"∈"},{a:"isindot",b:"⋵"},{a:"isinE",b:"⋹"},{a:"isins",b:"⋴"},{a:"isinsv",b:"⋳"},{a:"isinv",b:"∈"},{a:"it",b:"⁢"},{a:"Itilde",b:"Ĩ"},{a:"itilde",b:"ĩ"},{a:"Iukcy",b:"І"},{a:"iukcy",b:"і"},{a:"Iuml",b:"Ï"},{a:"iuml",b:"ï"},{a:"Jcirc",b:"Ĵ"},{a:"jcirc",b:"ĵ"},{a:"Jcy",b:"Й"},{a:"jcy",b:"й"},{a:"Jfr",b:"𝔍"},{a:"jfr",b:"𝔧"},{a:"jmath",b:"ȷ"},{a:"Jopf",b:"𝕁"},{a:"jopf",b:"𝕛"},{a:"Jscr",b:"𝒥"},{a:"jscr",b:"𝒿"},{a:"Jsercy",b:"Ј"},{a:"jsercy",b:"ј"},{a:"Jukcy",b:"Є"},{a:"jukcy",b:"є"},{a:"Kappa",b:"Κ"},{a:"kappa",b:"κ"},{a:"kappav",b:"ϰ"},{a:"Kcedil",b:"Ķ"},{a:"kcedil",b:"ķ"},{a:"Kcy",b:"К"},{a:"kcy",b:"к"},{a:"Kfr",b:"𝔎"},{a:"kfr",b:"𝔨"},{a:"kgreen",b:"ĸ"},{a:"KHcy",b:"Х"},{a:"khcy",b:"х"},{a:"KJcy",b:"Ќ"},{a:"kjcy",b:"ќ"},{a:"Kopf",b:"𝕂"},{a:"kopf",b:"𝕜"},{a:"Kscr",b:"𝒦"},{a:"kscr",b:"𝓀"},{a:"lAarr",b:"⇚"},{a:"Lacute",b:"Ĺ"},{a:"lacute",b:"ĺ"},{a:"laemptyv",b:"⦴"},{a:"lagran",b:"ℒ"},{a:"Lambda",b:"Λ"},{a:"lambda",b:"λ"},{a:"lang",b:"⟨"},{a:"Lang",b:"⟪"},{a:"langd",b:"⦑"},{a:"langle",b:"⟨"},{a:"lap",b:"⪅"},{a:"Laplacetrf",b:"ℒ"},{a:"laquo",b:"«"},{a:"larrb",b:"⇤"},{a:"larrbfs",b:"⤟"},{a:"larr",b:"←"},{a:"Larr",b:"↞"},{a:"lArr",b:"⇐"},{a:"larrfs",b:"⤝"},{a:"larrhk",b:"↩"},{a:"larrlp",b:"↫"},{a:"larrpl",b:"⤹"},{a:"larrsim",b:"⥳"},{a:"larrtl",b:"↢"},{a:"latail",b:"⤙"},{a:"lAtail",b:"⤛"},{a:"lat",b:"⪫"},{a:"late",b:"⪭"},{a:"lates",b:"⪭︀"},{a:"lbarr",b:"⤌"},{a:"lBarr",b:"⤎"},{a:"lbbrk",b:"❲"},{a:"lbrace",b:"{"},{a:"lbrack",b:"["},{a:"lbrke",b:"⦋"},{a:"lbrksld",b:"⦏"},{a:"lbrkslu",b:"⦍"},{a:"Lcaron",b:"Ľ"},{a:"lcaron",b:"ľ"},{a:"Lcedil",b:"Ļ"},{a:"lcedil",b:"ļ"},{a:"lceil",b:"⌈"},{a:"lcub",b:"{"},{a:"Lcy",b:"Л"},{a:"lcy",b:"л"},{a:"ldca",b:"⤶"},{a:"ldquo",b:"“"},{a:"ldquor",b:"„"},{a:"ldrdhar",b:"⥧"},{a:"ldrushar",b:"⥋"},{a:"ldsh",b:"↲"},{a:"le",b:"≤"},{a:"lE",b:"≦"},{a:"LeftAngleBracket",b:"⟨"},{a:"LeftArrowBar",b:"⇤"},{a:"leftarrow",b:"←"},{a:"LeftArrow",b:"←"},{a:"Leftarrow",b:"⇐"},{a:"LeftArrowRightArrow",b:"⇆"},{a:"leftarrowtail",b:"↢"},{a:"LeftCeiling",b:"⌈"},{a:"LeftDoubleBracket",b:"⟦"},{a:"LeftDownTeeVector",b:"⥡"},{a:"LeftDownVectorBar",b:"⥙"},{a:"LeftDownVector",b:"⇃"},{a:"LeftFloor",b:"⌊"},{a:"leftharpoondown",b:"↽"},{a:"leftharpoonup",b:"↼"},{a:"leftleftarrows",b:"⇇"},{a:"leftrightarrow",b:"↔"},{a:"LeftRightArrow",b:"↔"},{a:"Leftrightarrow",b:"⇔"},{a:"leftrightarrows",b:"⇆"},{a:"leftrightharpoons",b:"⇋"},{a:"leftrightsquigarrow",b:"↭"},{a:"LeftRightVector",b:"⥎"},{a:"LeftTeeArrow",b:"↤"},{a:"LeftTee",b:"⊣"},{a:"LeftTeeVector",b:"⥚"},{a:"leftthreetimes",b:"⋋"},{a:"LeftTriangleBar",b:"⧏"},{a:"LeftTriangle",b:"⊲"},{a:"LeftTriangleEqual",b:"⊴"},{a:"LeftUpDownVector",b:"⥑"},{a:"LeftUpTeeVector",b:"⥠"},{a:"LeftUpVectorBar",b:"⥘"},{a:"LeftUpVector",b:"↿"},{a:"LeftVectorBar",b:"⥒"},{a:"LeftVector",b:"↼"},{a:"lEg",b:"⪋"},{a:"leg",b:"⋚"},{a:"leq",b:"≤"},{a:"leqq",b:"≦"},{a:"leqslant",b:"⩽"},{a:"lescc",b:"⪨"},{a:"les",b:"⩽"},{a:"lesdot",b:"⩿"},{a:"lesdoto",b:"⪁"},{a:"lesdotor",b:"⪃"},{a:"lesg",b:"⋚︀"},{a:"lesges",b:"⪓"},{a:"lessapprox",b:"⪅"},{a:"lessdot",b:"⋖"},{a:"lesseqgtr",b:"⋚"},{a:"lesseqqgtr",b:"⪋"},{a:"LessEqualGreater",b:"⋚"},{a:"LessFullEqual",b:"≦"},{a:"LessGreater",b:"≶"},{a:"lessgtr",b:"≶"},{a:"LessLess",b:"⪡"},{a:"lesssim",b:"≲"},{a:"LessSlantEqual",b:"⩽"},{a:"LessTilde",b:"≲"},{a:"lfisht",b:"⥼"},{a:"lfloor",b:"⌊"},{a:"Lfr",b:"𝔏"},{a:"lfr",b:"𝔩"},{a:"lg",b:"≶"},{a:"lgE",b:"⪑"},{a:"lHar",b:"⥢"},{a:"lhard",b:"↽"},{a:"lharu",b:"↼"},{a:"lharul",b:"⥪"},{a:"lhblk",b:"▄"},{a:"LJcy",b:"Љ"},{a:"ljcy",b:"љ"},{a:"llarr",b:"⇇"},{a:"ll",b:"≪"},{a:"Ll",b:"⋘"},{a:"llcorner",b:"⌞"},{a:"Lleftarrow",b:"⇚"},{a:"llhard",b:"⥫"},{a:"lltri",b:"◺"},{a:"Lmidot",b:"Ŀ"},{a:"lmidot",b:"ŀ"},{a:"lmoustache",b:"⎰"},{a:"lmoust",b:"⎰"},{a:"lnap",b:"⪉"},{a:"lnapprox",b:"⪉"},{a:"lne",b:"⪇"},{a:"lnE",b:"≨"},{a:"lneq",b:"⪇"},{a:"lneqq",b:"≨"},{a:"lnsim",b:"⋦"},{a:"loang",b:"⟬"},{a:"loarr",b:"⇽"},{a:"lobrk",b:"⟦"},{a:"longleftarrow",b:"⟵"},{a:"LongLeftArrow",b:"⟵"},{a:"Longleftarrow",b:"⟸"},{a:"longleftrightarrow",b:"⟷"},{a:"LongLeftRightArrow",b:"⟷"},{a:"Longleftrightarrow",b:"⟺"},{a:"longmapsto",b:"⟼"},{a:"longrightarrow",b:"⟶"},{a:"LongRightArrow",b:"⟶"},{a:"Longrightarrow",b:"⟹"},{a:"looparrowleft",b:"↫"},{a:"looparrowright",b:"↬"},{a:"lopar",b:"⦅"},{a:"Lopf",b:"𝕃"},{a:"lopf",b:"𝕝"},{a:"loplus",b:"⨭"},{a:"lotimes",b:"⨴"},{a:"lowast",b:"∗"},{a:"lowbar",b:"_"},{a:"LowerLeftArrow",b:"↙"},{a:"LowerRightArrow",b:"↘"},{a:"loz",b:"◊"},{a:"lozenge",b:"◊"},{a:"lozf",b:"⧫"},{a:"lpar",b:"("},{a:"lparlt",b:"⦓"},{a:"lrarr",b:"⇆"},{a:"lrcorner",b:"⌟"},{a:"lrhar",b:"⇋"},{a:"lrhard",b:"⥭"},{a:"lrm",b:"‎"},{a:"lrtri",b:"⊿"},{a:"lsaquo",b:"‹"},{a:"lscr",b:"𝓁"},{a:"Lscr",b:"ℒ"},{a:"lsh",b:"↰"},{a:"Lsh",b:"↰"},{a:"lsim",b:"≲"},{a:"lsime",b:"⪍"},{a:"lsimg",b:"⪏"},{a:"lsqb",b:"["},{a:"lsquo",b:"‘"},{a:"lsquor",b:"‚"},{a:"Lstrok",b:"Ł"},{a:"lstrok",b:"ł"},{a:"ltcc",b:"⪦"},{a:"ltcir",b:"⩹"},{a:"lt",b:"<"},{a:"LT",b:"<"},{a:"Lt",b:"≪"},{a:"ltdot",b:"⋖"},{a:"lthree",b:"⋋"},{a:"ltimes",b:"⋉"},{a:"ltlarr",b:"⥶"},{a:"ltquest",b:"⩻"},{a:"ltri",b:"◃"},{a:"ltrie",b:"⊴"},{a:"ltrif",b:"◂"},{a:"ltrPar",b:"⦖"},{a:"lurdshar",b:"⥊"},{a:"luruhar",b:"⥦"},{a:"lvertneqq",b:"≨︀"},{a:"lvnE",b:"≨︀"},{a:"macr",b:"¯"},{a:"male",b:"♂"},{a:"malt",b:"✠"},{a:"maltese",b:"✠"},{a:"Map",b:"⤅"},{a:"map",b:"↦"},{a:"mapsto",b:"↦"},{a:"mapstodown",b:"↧"},{a:"mapstoleft",b:"↤"},{a:"mapstoup",b:"↥"},{a:"marker",b:"▮"},{a:"mcomma",b:"⨩"},{a:"Mcy",b:"М"},{a:"mcy",b:"м"},{a:"mdash",b:"—"},{a:"mDDot",b:"∺"},{a:"measuredangle",b:"∡"},{a:"MediumSpace",b:" "},{a:"Mellintrf",b:"ℳ"},{a:"Mfr",b:"𝔐"},{a:"mfr",b:"𝔪"},{a:"mho",b:"℧"},{a:"micro",b:"µ"},{a:"midast",b:"*"},{a:"midcir",b:"⫰"},{a:"mid",b:"∣"},{a:"middot",b:"·"},{a:"minusb",b:"⊟"},{a:"minus",b:"−"},{a:"minusd",b:"∸"},{a:"minusdu",b:"⨪"},{a:"MinusPlus",b:"∓"},{a:"mlcp",b:"⫛"},{a:"mldr",b:"…"},{a:"mnplus",b:"∓"},{a:"models",b:"⊧"},{a:"Mopf",b:"𝕄"},{a:"mopf",b:"𝕞"},{a:"mp",b:"∓"},{a:"mscr",b:"𝓂"},{a:"Mscr",b:"ℳ"},{a:"mstpos",b:"∾"},{a:"Mu",b:"Μ"},{a:"mu",b:"μ"},{a:"multimap",b:"⊸"},{a:"mumap",b:"⊸"},{a:"nabla",b:"∇"},{a:"Nacute",b:"Ń"},{a:"nacute",b:"ń"},{a:"nang",b:"∠⃒"},{a:"nap",b:"≉"},{a:"napE",b:"⩰̸"},{a:"napid",b:"≋̸"},{a:"napos",b:"ʼn"},{a:"napprox",b:"≉"},{a:"natural",b:"♮"},{a:"naturals",b:"ℕ"},{a:"natur",b:"♮"},{a:"nbsp",b:" "},{a:"nbump",b:"≎̸"},{a:"nbumpe",b:"≏̸"},{a:"ncap",b:"⩃"},{a:"Ncaron",b:"Ň"},{a:"ncaron",b:"ň"},{a:"Ncedil",b:"Ņ"},{a:"ncedil",b:"ņ"},{a:"ncong",b:"≇"},{a:"ncongdot",b:"⩭̸"},{a:"ncup",b:"⩂"},{a:"Ncy",b:"Н"},{a:"ncy",b:"н"},{a:"ndash",b:"–"},{a:"nearhk",b:"⤤"},{a:"nearr",b:"↗"},{a:"neArr",b:"⇗"},{a:"nearrow",b:"↗"},{a:"ne",b:"≠"},{a:"nedot",b:"≐̸"},{a:"NegativeMediumSpace",b:"​"},{a:"NegativeThickSpace",b:"​"},{a:"NegativeThinSpace",b:"​"},{a:"NegativeVeryThinSpace",b:"​"},{a:"nequiv",b:"≢"},{a:"nesear",b:"⤨"},{a:"nesim",b:"≂̸"},{a:"NestedGreaterGreater",b:"≫"},{a:"NestedLessLess",b:"≪"},{a:"NewLine",b:"\n"},{a:"nexist",b:"∄"},{a:"nexists",b:"∄"},{a:"Nfr",b:"𝔑"},{a:"nfr",b:"𝔫"},{a:"ngE",b:"≧̸"},{a:"nge",b:"≱"},{a:"ngeq",b:"≱"},{a:"ngeqq",b:"≧̸"},{a:"ngeqslant",b:"⩾̸"},{a:"nges",b:"⩾̸"},{a:"nGg",b:"⋙̸"},{a:"ngsim",b:"≵"},{a:"nGt",b:"≫⃒"},{a:"ngt",b:"≯"},{a:"ngtr",b:"≯"},{a:"nGtv",b:"≫̸"},{a:"nharr",b:"↮"},{a:"nhArr",b:"⇎"},{a:"nhpar",b:"⫲"},{a:"ni",b:"∋"},{a:"nis",b:"⋼"},{a:"nisd",b:"⋺"},{a:"niv",b:"∋"},{a:"NJcy",b:"Њ"},{a:"njcy",b:"њ"},{a:"nlarr",b:"↚"},{a:"nlArr",b:"⇍"},{a:"nldr",b:"‥"},{a:"nlE",b:"≦̸"},{a:"nle",b:"≰"},{a:"nleftarrow",b:"↚"},{a:"nLeftarrow",b:"⇍"},{a:"nleftrightarrow",b:"↮"},{a:"nLeftrightarrow",b:"⇎"},{a:"nleq",b:"≰"},{a:"nleqq",b:"≦̸"},{a:"nleqslant",b:"⩽̸"},{a:"nles",b:"⩽̸"},{a:"nless",b:"≮"},{a:"nLl",b:"⋘̸"},{a:"nlsim",b:"≴"},{a:"nLt",b:"≪⃒"},{a:"nlt",b:"≮"},{a:"nltri",b:"⋪"},{a:"nltrie",b:"⋬"},{a:"nLtv",b:"≪̸"},{a:"nmid",b:"∤"},{a:"NoBreak",b:"⁠"},{a:"NonBreakingSpace",b:" "},{a:"nopf",b:"𝕟"},{a:"Nopf",b:"ℕ"},{a:"Not",b:"⫬"},{a:"not",b:"¬"},{a:"NotCongruent",b:"≢"},{a:"NotCupCap",b:"≭"},{a:"NotDoubleVerticalBar",b:"∦"},{a:"NotElement",b:"∉"},{a:"NotEqual",b:"≠"},{a:"NotEqualTilde",b:"≂̸"},{a:"NotExists",b:"∄"},{a:"NotGreater",b:"≯"},{a:"NotGreaterEqual",b:"≱"},{a:"NotGreaterFullEqual",b:"≧̸"},{a:"NotGreaterGreater",b:"≫̸"},{a:"NotGreaterLess",b:"≹"},{a:"NotGreaterSlantEqual",b:"⩾̸"},{a:"NotGreaterTilde",b:"≵"},{a:"NotHumpDownHump",b:"≎̸"},{a:"NotHumpEqual",b:"≏̸"},{a:"notin",b:"∉"},{a:"notindot",b:"⋵̸"},{a:"notinE",b:"⋹̸"},{a:"notinva",b:"∉"},{a:"notinvb",b:"⋷"},{a:"notinvc",b:"⋶"},{a:"NotLeftTriangleBar",b:"⧏̸"},{a:"NotLeftTriangle",b:"⋪"},{a:"NotLeftTriangleEqual",b:"⋬"},{a:"NotLess",b:"≮"},{a:"NotLessEqual",b:"≰"},{a:"NotLessGreater",b:"≸"},{a:"NotLessLess",b:"≪̸"},{a:"NotLessSlantEqual",b:"⩽̸"},{a:"NotLessTilde",b:"≴"},{a:"NotNestedGreaterGreater",b:"⪢̸"},{a:"NotNestedLessLess",b:"⪡̸"},{a:"notni",b:"∌"},{a:"notniva",b:"∌"},{a:"notnivb",b:"⋾"},{a:"notnivc",b:"⋽"},{a:"NotPrecedes",b:"⊀"},{a:"NotPrecedesEqual",b:"⪯̸"},{a:"NotPrecedesSlantEqual",b:"⋠"},{a:"NotReverseElement",b:"∌"},{a:"NotRightTriangleBar",b:"⧐̸"},{a:"NotRightTriangle",b:"⋫"},{a:"NotRightTriangleEqual",b:"⋭"},{a:"NotSquareSubset",b:"⊏̸"},{a:"NotSquareSubsetEqual",b:"⋢"},{a:"NotSquareSuperset",b:"⊐̸"},{a:"NotSquareSupersetEqual",b:"⋣"},{a:"NotSubset",b:"⊂⃒"},{a:"NotSubsetEqual",b:"⊈"},{a:"NotSucceeds",b:"⊁"},{a:"NotSucceedsEqual",b:"⪰̸"},{a:"NotSucceedsSlantEqual",b:"⋡"},{a:"NotSucceedsTilde",b:"≿̸"},{a:"NotSuperset",b:"⊃⃒"},{a:"NotSupersetEqual",b:"⊉"},{a:"NotTilde",b:"≁"},{a:"NotTildeEqual",b:"≄"},{a:"NotTildeFullEqual",b:"≇"},{a:"NotTildeTilde",b:"≉"},{a:"NotVerticalBar",b:"∤"},{a:"nparallel",b:"∦"},{a:"npar",b:"∦"},{a:"nparsl",b:"⫽⃥"},{a:"npart",b:"∂̸"},{a:"npolint",b:"⨔"},{a:"npr",b:"⊀"},{a:"nprcue",b:"⋠"},{a:"nprec",b:"⊀"},{a:"npreceq",b:"⪯̸"},{a:"npre",b:"⪯̸"},{a:"nrarrc",b:"⤳̸"},{a:"nrarr",b:"↛"},{a:"nrArr",b:"⇏"},{a:"nrarrw",b:"↝̸"},{a:"nrightarrow",b:"↛"},{a:"nRightarrow",b:"⇏"},{a:"nrtri",b:"⋫"},{a:"nrtrie",b:"⋭"},{a:"nsc",b:"⊁"},{a:"nsccue",b:"⋡"},{a:"nsce",b:"⪰̸"},{a:"Nscr",b:"𝒩"},{a:"nscr",b:"𝓃"},{a:"nshortmid",b:"∤"},{a:"nshortparallel",b:"∦"},{a:"nsim",b:"≁"},{a:"nsime",b:"≄"},{a:"nsimeq",b:"≄"},{a:"nsmid",b:"∤"},{a:"nspar",b:"∦"},{a:"nsqsube",b:"⋢"},{a:"nsqsupe",b:"⋣"},{a:"nsub",b:"⊄"},{a:"nsubE",b:"⫅̸"},{a:"nsube",b:"⊈"},{a:"nsubset",b:"⊂⃒"},{a:"nsubseteq",b:"⊈"},{a:"nsubseteqq",b:"⫅̸"},{a:"nsucc",b:"⊁"},{a:"nsucceq",b:"⪰̸"},{a:"nsup",b:"⊅"},{a:"nsupE",b:"⫆̸"},{a:"nsupe",b:"⊉"},{a:"nsupset",b:"⊃⃒"},{a:"nsupseteq",b:"⊉"},{a:"nsupseteqq",b:"⫆̸"},{a:"ntgl",b:"≹"},{a:"Ntilde",b:"Ñ"},{a:"ntilde",b:"ñ"},{a:"ntlg",b:"≸"},{a:"ntriangleleft",b:"⋪"},{a:"ntrianglelefteq",b:"⋬"},{a:"ntriangleright",b:"⋫"},{a:"ntrianglerighteq",b:"⋭"},{a:"Nu",b:"Ν"},{a:"nu",b:"ν"},{a:"num",b:"#"},{a:"numero",b:"№"},{a:"numsp",b:" "},{a:"nvap",b:"≍⃒"},{a:"nvdash",b:"⊬"},{a:"nvDash",b:"⊭"},{a:"nVdash",b:"⊮"},{a:"nVDash",b:"⊯"},{a:"nvge",b:"≥⃒"},{a:"nvgt",b:">⃒"},{a:"nvHarr",b:"⤄"},{a:"nvinfin",b:"⧞"},{a:"nvlArr",b:"⤂"},{a:"nvle",b:"≤⃒"},{a:"nvlt",b:"<⃒"},{a:"nvltrie",b:"⊴⃒"},{a:"nvrArr",b:"⤃"},{a:"nvrtrie",b:"⊵⃒"},{a:"nvsim",b:"∼⃒"},{a:"nwarhk",b:"⤣"},{a:"nwarr",b:"↖"},{a:"nwArr",b:"⇖"},{a:"nwarrow",b:"↖"},{a:"nwnear",b:"⤧"},{a:"Oacute",b:"Ó"},{a:"oacute",b:"ó"},{a:"oast",b:"⊛"},{a:"Ocirc",b:"Ô"},{a:"ocirc",b:"ô"},{a:"ocir",b:"⊚"},{a:"Ocy",b:"О"},{a:"ocy",b:"о"},{a:"odash",b:"⊝"},{a:"Odblac",b:"Ő"},{a:"odblac",b:"ő"},{a:"odiv",b:"⨸"},{a:"odot",b:"⊙"},{a:"odsold",b:"⦼"},{a:"OElig",b:"Œ"},{a:"oelig",b:"œ"},{a:"ofcir",b:"⦿"},{a:"Ofr",b:"𝔒"},{a:"ofr",b:"𝔬"},{a:"ogon",b:"˛"},{a:"Ograve",b:"Ò"},{a:"ograve",b:"ò"},{a:"ogt",b:"⧁"},{a:"ohbar",b:"⦵"},{a:"ohm",b:"Ω"},{a:"oint",b:"∮"},{a:"olarr",b:"↺"},{a:"olcir",b:"⦾"},{a:"olcross",b:"⦻"},{a:"oline",b:"‾"},{a:"olt",b:"⧀"},{a:"Omacr",b:"Ō"},{a:"omacr",b:"ō"},{a:"Omega",b:"Ω"},{a:"omega",b:"ω"},{a:"Omicron",b:"Ο"},{a:"omicron",b:"ο"},{a:"omid",b:"⦶"},{a:"ominus",b:"⊖"},{a:"Oopf",b:"𝕆"},{a:"oopf",b:"𝕠"},{a:"opar",b:"⦷"},{a:"OpenCurlyDoubleQuote",b:"“"},{a:"OpenCurlyQuote",b:"‘"},{a:"operp",b:"⦹"},{a:"oplus",b:"⊕"},{a:"orarr",b:"↻"},{a:"Or",b:"⩔"},{a:"or",b:"∨"},{a:"ord",b:"⩝"},{a:"order",b:"ℴ"},{a:"orderof",b:"ℴ"},{a:"ordf",b:"ª"},{a:"ordm",b:"º"},{a:"origof",b:"⊶"},{a:"oror",b:"⩖"},{a:"orslope",b:"⩗"},{a:"orv",b:"⩛"},{a:"oS",b:"Ⓢ"},{a:"Oscr",b:"𝒪"},{a:"oscr",b:"ℴ"},{a:"Oslash",b:"Ø"},{a:"oslash",b:"ø"},{a:"osol",b:"⊘"},{a:"Otilde",b:"Õ"},{a:"otilde",b:"õ"},{a:"otimesas",b:"⨶"},{a:"Otimes",b:"⨷"},{a:"otimes",b:"⊗"},{a:"Ouml",b:"Ö"},{a:"ouml",b:"ö"},{a:"ovbar",b:"⌽"},{a:"OverBar",b:"‾"},{a:"OverBrace",b:"⏞"},{a:"OverBracket",b:"⎴"},{a:"OverParenthesis",b:"⏜"},{a:"para",b:"¶"},{a:"parallel",b:"∥"},{a:"par",b:"∥"},{a:"parsim",b:"⫳"},{a:"parsl",b:"⫽"},{a:"part",b:"∂"},{a:"PartialD",b:"∂"},{a:"Pcy",b:"П"},{a:"pcy",b:"п"},{a:"percnt",b:"%"},{a:"period",b:"."},{a:"permil",b:"‰"},{a:"perp",b:"⊥"},{a:"pertenk",b:"‱"},{a:"Pfr",b:"𝔓"},{a:"pfr",b:"𝔭"},{a:"Phi",b:"Φ"},{a:"phi",b:"φ"},{a:"phiv",b:"ϕ"},{a:"phmmat",b:"ℳ"},{a:"phone",b:"☎"},{a:"Pi",b:"Π"},{a:"pi",b:"π"},{a:"pitchfork",b:"⋔"},{a:"piv",b:"ϖ"},{a:"planck",b:"ℏ"},{a:"planckh",b:"ℎ"},{a:"plankv",b:"ℏ"},{a:"plusacir",b:"⨣"},{a:"plusb",b:"⊞"},{a:"pluscir",b:"⨢"},{a:"plus",b:"+"},{a:"plusdo",b:"∔"},{a:"plusdu",b:"⨥"},{a:"pluse",b:"⩲"},{a:"PlusMinus",b:"±"},{a:"plusmn",b:"±"},{a:"plussim",b:"⨦"},{a:"plustwo",b:"⨧"},{a:"pm",b:"±"},{a:"Poincareplane",b:"ℌ"},{a:"pointint",b:"⨕"},{a:"popf",b:"𝕡"},{a:"Popf",b:"ℙ"},{a:"pound",b:"£"},{a:"prap",b:"⪷"},{a:"Pr",b:"⪻"},{a:"pr",b:"≺"},{a:"prcue",b:"≼"},{a:"precapprox",b:"⪷"},{a:"prec",b:"≺"},{a:"preccurlyeq",b:"≼"},{a:"Precedes",b:"≺"},{a:"PrecedesEqual",b:"⪯"},{a:"PrecedesSlantEqual",b:"≼"},{a:"PrecedesTilde",b:"≾"},{a:"preceq",b:"⪯"},{a:"precnapprox",b:"⪹"},{a:"precneqq",b:"⪵"},{a:"precnsim",b:"⋨"},{a:"pre",b:"⪯"},{a:"prE",b:"⪳"},{a:"precsim",b:"≾"},{a:"prime",b:"′"},{a:"Prime",b:"″"},{a:"primes",b:"ℙ"},{a:"prnap",b:"⪹"},{a:"prnE",b:"⪵"},{a:"prnsim",b:"⋨"},{a:"prod",b:"∏"},{a:"Product",b:"∏"},{a:"profalar",b:"⌮"},{a:"profline",b:"⌒"},{a:"profsurf",b:"⌓"},{a:"prop",b:"∝"},{a:"Proportional",b:"∝"},{a:"Proportion",b:"∷"},{a:"propto",b:"∝"},{a:"prsim",b:"≾"},{a:"prurel",b:"⊰"},{a:"Pscr",b:"𝒫"},{a:"pscr",b:"𝓅"},{a:"Psi",b:"Ψ"},{a:"psi",b:"ψ"},{a:"puncsp",b:" "},{a:"Qfr",b:"𝔔"},{a:"qfr",b:"𝔮"},{a:"qint",b:"⨌"},{a:"qopf",b:"𝕢"},{a:"Qopf",b:"ℚ"},{a:"qprime",b:"⁗"},{a:"Qscr",b:"𝒬"},{a:"qscr",b:"𝓆"},{a:"quaternions",b:"ℍ"},{a:"quatint",b:"⨖"},{a:"quest",b:"?"},{a:"questeq",b:"≟"},{a:"quot",b:'"'},{a:"QUOT",b:'"'},{a:"rAarr",b:"⇛"},{a:"race",b:"∽̱"},{a:"Racute",b:"Ŕ"},{a:"racute",b:"ŕ"},{a:"radic",b:"√"},{a:"raemptyv",b:"⦳"},{a:"rang",b:"⟩"},{a:"Rang",b:"⟫"},{a:"rangd",b:"⦒"},{a:"range",b:"⦥"},{a:"rangle",b:"⟩"},{a:"raquo",b:"»"},{a:"rarrap",b:"⥵"},{a:"rarrb",b:"⇥"},{a:"rarrbfs",b:"⤠"},{a:"rarrc",b:"⤳"},{a:"rarr",b:"→"},{a:"Rarr",b:"↠"},{a:"rArr",b:"⇒"},{a:"rarrfs",b:"⤞"},{a:"rarrhk",b:"↪"},{a:"rarrlp",b:"↬"},{a:"rarrpl",b:"⥅"},{a:"rarrsim",b:"⥴"},{a:"Rarrtl",b:"⤖"},{a:"rarrtl",b:"↣"},{a:"rarrw",b:"↝"},{a:"ratail",b:"⤚"},{a:"rAtail",b:"⤜"},{a:"ratio",b:"∶"},{a:"rationals",b:"ℚ"},{a:"rbarr",b:"⤍"},{a:"rBarr",b:"⤏"},{a:"RBarr",b:"⤐"},{a:"rbbrk",b:"❳"},{a:"rbrace",b:"}"},{a:"rbrack",b:"]"},{a:"rbrke",b:"⦌"},{a:"rbrksld",b:"⦎"},{a:"rbrkslu",b:"⦐"},{a:"Rcaron",b:"Ř"},{a:"rcaron",b:"ř"},{a:"Rcedil",b:"Ŗ"},{a:"rcedil",b:"ŗ"},{a:"rceil",b:"⌉"},{a:"rcub",b:"}"},{a:"Rcy",b:"Р"},{a:"rcy",b:"р"},{a:"rdca",b:"⤷"},{a:"rdldhar",b:"⥩"},{a:"rdquo",b:"”"},{a:"rdquor",b:"”"},{a:"rdsh",b:"↳"},{a:"real",b:"ℜ"},{a:"realine",b:"ℛ"},{a:"realpart",b:"ℜ"},{a:"reals",b:"ℝ"},{a:"Re",b:"ℜ"},{a:"rect",b:"▭"},{a:"reg",b:"®"},{a:"REG",b:"®"},{a:"ReverseElement",b:"∋"},{a:"ReverseEquilibrium",b:"⇋"},{a:"ReverseUpEquilibrium",b:"⥯"},{a:"rfisht",b:"⥽"},{a:"rfloor",b:"⌋"},{a:"rfr",b:"𝔯"},{a:"Rfr",b:"ℜ"},{a:"rHar",b:"⥤"},{a:"rhard",b:"⇁"},{a:"rharu",b:"⇀"},{a:"rharul",b:"⥬"},{a:"Rho",b:"Ρ"},{a:"rho",b:"ρ"},{a:"rhov",b:"ϱ"},{a:"RightAngleBracket",b:"⟩"},{a:"RightArrowBar",b:"⇥"},{a:"rightarrow",b:"→"},{a:"RightArrow",b:"→"},{a:"Rightarrow",b:"⇒"},{a:"RightArrowLeftArrow",b:"⇄"},{a:"rightarrowtail",b:"↣"},{a:"RightCeiling",b:"⌉"},{a:"RightDoubleBracket",b:"⟧"},{a:"RightDownTeeVector",b:"⥝"},{a:"RightDownVectorBar",b:"⥕"},{a:"RightDownVector",b:"⇂"},{a:"RightFloor",b:"⌋"},{a:"rightharpoondown",b:"⇁"},{a:"rightharpoonup",b:"⇀"},{a:"rightleftarrows",b:"⇄"},{a:"rightleftharpoons",b:"⇌"},{a:"rightrightarrows",b:"⇉"},{a:"rightsquigarrow",b:"↝"},{a:"RightTeeArrow",b:"↦"},{a:"RightTee",b:"⊢"},{a:"RightTeeVector",b:"⥛"},{a:"rightthreetimes",b:"⋌"},{a:"RightTriangleBar",b:"⧐"},{a:"RightTriangle",b:"⊳"},{a:"RightTriangleEqual",b:"⊵"},{a:"RightUpDownVector",b:"⥏"},{a:"RightUpTeeVector",b:"⥜"},{a:"RightUpVectorBar",b:"⥔"},{a:"RightUpVector",b:"↾"},{a:"RightVectorBar",b:"⥓"},{a:"RightVector",b:"⇀"},{a:"ring",b:"˚"},{a:"risingdotseq",b:"≓"},{a:"rlarr",b:"⇄"},{a:"rlhar",b:"⇌"},{a:"rlm",b:"‏"},{a:"rmoustache",b:"⎱"},{a:"rmoust",b:"⎱"},{a:"rnmid",b:"⫮"},{a:"roang",b:"⟭"},{a:"roarr",b:"⇾"},{a:"robrk",b:"⟧"},{a:"ropar",b:"⦆"},{a:"ropf",b:"𝕣"},{a:"Ropf",b:"ℝ"},{a:"roplus",b:"⨮"},{a:"rotimes",b:"⨵"},{a:"RoundImplies",b:"⥰"},{a:"rpar",b:")"},{a:"rpargt",b:"⦔"},{a:"rppolint",b:"⨒"},{a:"rrarr",b:"⇉"},{a:"Rrightarrow",b:"⇛"},{a:"rsaquo",b:"›"},{a:"rscr",b:"𝓇"},{a:"Rscr",b:"ℛ"},{a:"rsh",b:"↱"},{a:"Rsh",b:"↱"},{a:"rsqb",b:"]"},{a:"rsquo",b:"’"},{a:"rsquor",b:"’"},{a:"rthree",b:"⋌"},{a:"rtimes",b:"⋊"},{a:"rtri",b:"▹"},{a:"rtrie",b:"⊵"},{a:"rtrif",b:"▸"},{a:"rtriltri",b:"⧎"},{a:"RuleDelayed",b:"⧴"},{a:"ruluhar",b:"⥨"},{a:"rx",b:"℞"},{a:"Sacute",b:"Ś"},{a:"sacute",b:"ś"},{a:"sbquo",b:"‚"},{a:"scap",b:"⪸"},{a:"Scaron",b:"Š"},{a:"scaron",b:"š"},{a:"Sc",b:"⪼"},{a:"sc",b:"≻"},{a:"sccue",b:"≽"},{a:"sce",b:"⪰"},{a:"scE",b:"⪴"},{a:"Scedil",b:"Ş"},{a:"scedil",b:"ş"},{a:"Scirc",b:"Ŝ"},{a:"scirc",b:"ŝ"},{a:"scnap",b:"⪺"},{a:"scnE",b:"⪶"},{a:"scnsim",b:"⋩"},{a:"scpolint",b:"⨓"},{a:"scsim",b:"≿"},{a:"Scy",b:"С"},{a:"scy",b:"с"},{a:"sdotb",b:"⊡"},{a:"sdot",b:"⋅"},{a:"sdote",b:"⩦"},{a:"searhk",b:"⤥"},{a:"searr",b:"↘"},{a:"seArr",b:"⇘"},{a:"searrow",b:"↘"},{a:"sect",b:"§"},{a:"semi",b:";"},{a:"seswar",b:"⤩"},{a:"setminus",b:"∖"},{a:"setmn",b:"∖"},{a:"sext",b:"✶"},{a:"Sfr",b:"𝔖"},{a:"sfr",b:"𝔰"},{a:"sfrown",b:"⌢"},{a:"sharp",b:"♯"},{a:"SHCHcy",b:"Щ"},{a:"shchcy",b:"щ"},{a:"SHcy",b:"Ш"},{a:"shcy",b:"ш"},{a:"ShortDownArrow",b:"↓"},{a:"ShortLeftArrow",b:"←"},{a:"shortmid",b:"∣"},{a:"shortparallel",b:"∥"},{a:"ShortRightArrow",b:"→"},{a:"ShortUpArrow",b:"↑"},{a:"shy",b:"­"},{a:"Sigma",b:"Σ"},{a:"sigma",b:"σ"},{a:"sigmaf",b:"ς"},{a:"sigmav",b:"ς"},{a:"sim",b:"∼"},{a:"simdot",b:"⩪"},{a:"sime",b:"≃"},{a:"simeq",b:"≃"},{a:"simg",b:"⪞"},{a:"simgE",b:"⪠"},{a:"siml",b:"⪝"},{a:"simlE",b:"⪟"},{a:"simne",b:"≆"},{a:"simplus",b:"⨤"},{a:"simrarr",b:"⥲"},{a:"slarr",b:"←"},{a:"SmallCircle",b:"∘"},{a:"smallsetminus",b:"∖"},{a:"smashp",b:"⨳"},{a:"smeparsl",b:"⧤"},{a:"smid",b:"∣"},{a:"smile",b:"⌣"},{a:"smt",b:"⪪"},{a:"smte",b:"⪬"},{a:"smtes",b:"⪬︀"},{a:"SOFTcy",b:"Ь"},{a:"softcy",b:"ь"},{a:"solbar",b:"⌿"},{a:"solb",b:"⧄"},{a:"sol",b:"/"},{a:"Sopf",b:"𝕊"},{a:"sopf",b:"𝕤"},{a:"spades",b:"♠"},{a:"spadesuit",b:"♠"},{a:"spar",b:"∥"},{a:"sqcap",b:"⊓"},{a:"sqcaps",b:"⊓︀"},{a:"sqcup",b:"⊔"},{a:"sqcups",b:"⊔︀"},{a:"Sqrt",b:"√"},{a:"sqsub",b:"⊏"},{a:"sqsube",b:"⊑"},{a:"sqsubset",b:"⊏"},{a:"sqsubseteq",b:"⊑"},{a:"sqsup",b:"⊐"},{a:"sqsupe",b:"⊒"},{a:"sqsupset",b:"⊐"},{a:"sqsupseteq",b:"⊒"},{a:"square",b:"□"},{a:"Square",b:"□"},{a:"SquareIntersection",b:"⊓"},{a:"SquareSubset",b:"⊏"},{a:"SquareSubsetEqual",b:"⊑"},{a:"SquareSuperset",b:"⊐"},{a:"SquareSupersetEqual",b:"⊒"},{a:"SquareUnion",b:"⊔"},{a:"squarf",b:"▪"},{a:"squ",b:"□"},{a:"squf",b:"▪"},{a:"srarr",b:"→"},{a:"Sscr",b:"𝒮"},{a:"sscr",b:"𝓈"},{a:"ssetmn",b:"∖"},{a:"ssmile",b:"⌣"},{a:"sstarf",b:"⋆"},{a:"Star",b:"⋆"},{a:"star",b:"☆"},{a:"starf",b:"★"},{a:"straightepsilon",b:"ϵ"},{a:"straightphi",b:"ϕ"},{a:"strns",b:"¯"},{a:"sub",b:"⊂"},{a:"Sub",b:"⋐"},{a:"subdot",b:"⪽"},{a:"subE",b:"⫅"},{a:"sube",b:"⊆"},{a:"subedot",b:"⫃"},{a:"submult",b:"⫁"},{a:"subnE",b:"⫋"},{a:"subne",b:"⊊"},{a:"subplus",b:"⪿"},{a:"subrarr",b:"⥹"},{a:"subset",b:"⊂"},{a:"Subset",b:"⋐"},{a:"subseteq",b:"⊆"},{a:"subseteqq",b:"⫅"},{a:"SubsetEqual",b:"⊆"},{a:"subsetneq",b:"⊊"},{a:"subsetneqq",b:"⫋"},{a:"subsim",b:"⫇"},{a:"subsub",b:"⫕"},{a:"subsup",b:"⫓"},{a:"succapprox",b:"⪸"},{a:"succ",b:"≻"},{a:"succcurlyeq",b:"≽"},{a:"Succeeds",b:"≻"},{a:"SucceedsEqual",b:"⪰"},{a:"SucceedsSlantEqual",b:"≽"},{a:"SucceedsTilde",b:"≿"},{a:"succeq",b:"⪰"},{a:"succnapprox",b:"⪺"},{a:"succneqq",b:"⪶"},{a:"succnsim",b:"⋩"},{a:"succsim",b:"≿"},{a:"SuchThat",b:"∋"},{a:"sum",b:"∑"},{a:"Sum",b:"∑"},{a:"sung",b:"♪"},{a:"sup1",b:"¹"},{a:"sup2",b:"²"},{a:"sup3",b:"³"},{a:"sup",b:"⊃"},{a:"Sup",b:"⋑"},{a:"supdot",b:"⪾"},{a:"supdsub",b:"⫘"},{a:"supE",b:"⫆"},{a:"supe",b:"⊇"},{a:"supedot",b:"⫄"},{a:"Superset",b:"⊃"},{a:"SupersetEqual",b:"⊇"},{a:"suphsol",b:"⟉"},{a:"suphsub",b:"⫗"},{a:"suplarr",b:"⥻"},{a:"supmult",b:"⫂"},{a:"supnE",b:"⫌"},{a:"supne",b:"⊋"},{a:"supplus",b:"⫀"},{a:"supset",b:"⊃"},{a:"Supset",b:"⋑"},{a:"supseteq",b:"⊇"},{a:"supseteqq",b:"⫆"},{a:"supsetneq",b:"⊋"},{a:"supsetneqq",b:"⫌"},{a:"supsim",b:"⫈"},{a:"supsub",b:"⫔"},{a:"supsup",b:"⫖"},{a:"swarhk",b:"⤦"},{a:"swarr",b:"↙"},{a:"swArr",b:"⇙"},{a:"swarrow",b:"↙"},{a:"swnwar",b:"⤪"},{a:"szlig",b:"ß"},{a:"Tab",b:" "},{a:"target",b:"⌖"},{a:"Tau",b:"Τ"},{a:"tau",b:"τ"},{a:"tbrk",b:"⎴"},{a:"Tcaron",b:"Ť"},{a:"tcaron",b:"ť"},{a:"Tcedil",b:"Ţ"},{a:"tcedil",b:"ţ"},{a:"Tcy",b:"Т"},{a:"tcy",b:"т"},{a:"tdot",b:"⃛"},{a:"telrec",b:"⌕"},{a:"Tfr",b:"𝔗"},{a:"tfr",b:"𝔱"},{a:"there4",b:"∴"},{a:"therefore",b:"∴"},{a:"Therefore",b:"∴"},{a:"Theta",b:"Θ"},{a:"theta",b:"θ"},{a:"thetasym",b:"ϑ"},{a:"thetav",b:"ϑ"},{a:"thickapprox",b:"≈"},{a:"thicksim",b:"∼"},{a:"ThickSpace",b:"  "},{a:"ThinSpace",b:" "},{a:"thinsp",b:" "},{a:"thkap",b:"≈"},{a:"thksim",b:"∼"},{a:"THORN",b:"Þ"},{a:"thorn",b:"þ"},{a:"tilde",b:"˜"},{a:"Tilde",b:"∼"},{a:"TildeEqual",b:"≃"},{a:"TildeFullEqual",b:"≅"},{a:"TildeTilde",b:"≈"},{a:"timesbar",b:"⨱"},{a:"timesb",b:"⊠"},{a:"times",b:"×"},{a:"timesd",b:"⨰"},{a:"tint",b:"∭"},{a:"toea",b:"⤨"},{a:"topbot",b:"⌶"},{a:"topcir",b:"⫱"},{a:"top",b:"⊤"},{a:"Topf",b:"𝕋"},{a:"topf",b:"𝕥"},{a:"topfork",b:"⫚"},{a:"tosa",b:"⤩"},{a:"tprime",b:"‴"},{a:"trade",b:"™"},{a:"TRADE",b:"™"},{a:"triangle",b:"▵"},{a:"triangledown",b:"▿"},{a:"triangleleft",b:"◃"},{a:"trianglelefteq",b:"⊴"},{a:"triangleq",b:"≜"},{a:"triangleright",b:"▹"},{a:"trianglerighteq",b:"⊵"},{a:"tridot",b:"◬"},{a:"trie",b:"≜"},{a:"triminus",b:"⨺"},{a:"TripleDot",b:"⃛"},{a:"triplus",b:"⨹"},{a:"trisb",b:"⧍"},{a:"tritime",b:"⨻"},{a:"trpezium",b:"⏢"},{a:"Tscr",b:"𝒯"},{a:"tscr",b:"𝓉"},{a:"TScy",b:"Ц"},{a:"tscy",b:"ц"},{a:"TSHcy",b:"Ћ"},{a:"tshcy",b:"ћ"},{a:"Tstrok",b:"Ŧ"},{a:"tstrok",b:"ŧ"},{a:"twixt",b:"≬"},{a:"twoheadleftarrow",b:"↞"},{a:"twoheadrightarrow",b:"↠"},{a:"Uacute",b:"Ú"},{a:"uacute",b:"ú"},{a:"uarr",b:"↑"},{a:"Uarr",b:"↟"},{a:"uArr",b:"⇑"},{a:"Uarrocir",b:"⥉"},{a:"Ubrcy",b:"Ў"},{a:"ubrcy",b:"ў"},{a:"Ubreve",b:"Ŭ"},{a:"ubreve",b:"ŭ"},{a:"Ucirc",b:"Û"},{a:"ucirc",b:"û"},{a:"Ucy",b:"У"},{a:"ucy",b:"у"},{a:"udarr",b:"⇅"},{a:"Udblac",b:"Ű"},{a:"udblac",b:"ű"},{a:"udhar",b:"⥮"},{a:"ufisht",b:"⥾"},{a:"Ufr",b:"𝔘"},{a:"ufr",b:"𝔲"},{a:"Ugrave",b:"Ù"},{a:"ugrave",b:"ù"},{a:"uHar",b:"⥣"},{a:"uharl",b:"↿"},{a:"uharr",b:"↾"},{a:"uhblk",b:"▀"},{a:"ulcorn",b:"⌜"},{a:"ulcorner",b:"⌜"},{a:"ulcrop",b:"⌏"},{a:"ultri",b:"◸"},{a:"Umacr",b:"Ū"},{a:"umacr",b:"ū"},{a:"uml",b:"¨"},{a:"UnderBar",b:"_"},{a:"UnderBrace",b:"⏟"},{a:"UnderBracket",b:"⎵"},{a:"UnderParenthesis",b:"⏝"},{a:"Union",b:"⋃"},{a:"UnionPlus",b:"⊎"},{a:"Uogon",b:"Ų"},{a:"uogon",b:"ų"},{a:"Uopf",b:"𝕌"},{a:"uopf",b:"𝕦"},{a:"UpArrowBar",b:"⤒"},{a:"uparrow",b:"↑"},{a:"UpArrow",b:"↑"},{a:"Uparrow",b:"⇑"},{a:"UpArrowDownArrow",b:"⇅"},{a:"updownarrow",b:"↕"},{a:"UpDownArrow",b:"↕"},{a:"Updownarrow",b:"⇕"},{a:"UpEquilibrium",b:"⥮"},{a:"upharpoonleft",b:"↿"},{a:"upharpoonright",b:"↾"},{a:"uplus",b:"⊎"},{a:"UpperLeftArrow",b:"↖"},{a:"UpperRightArrow",b:"↗"},{a:"upsi",b:"υ"},{a:"Upsi",b:"ϒ"},{a:"upsih",b:"ϒ"},{a:"Upsilon",b:"Υ"},{a:"upsilon",b:"υ"},{a:"UpTeeArrow",b:"↥"},{a:"UpTee",b:"⊥"},{a:"upuparrows",b:"⇈"},{a:"urcorn",b:"⌝"},{a:"urcorner",b:"⌝"},{a:"urcrop",b:"⌎"},{a:"Uring",b:"Ů"},{a:"uring",b:"ů"},{a:"urtri",b:"◹"},{a:"Uscr",b:"𝒰"},{a:"uscr",b:"𝓊"},{a:"utdot",b:"⋰"},{a:"Utilde",b:"Ũ"},{a:"utilde",b:"ũ"},{a:"utri",b:"▵"},{a:"utrif",b:"▴"},{a:"uuarr",b:"⇈"},{a:"Uuml",b:"Ü"},{a:"uuml",b:"ü"},{a:"uwangle",b:"⦧"},{a:"vangrt",b:"⦜"},{a:"varepsilon",b:"ϵ"},{a:"varkappa",b:"ϰ"},{a:"varnothing",b:"∅"},{a:"varphi",b:"ϕ"},{a:"varpi",b:"ϖ"},{a:"varpropto",b:"∝"},{a:"varr",b:"↕"},{a:"vArr",b:"⇕"},{a:"varrho",b:"ϱ"},{a:"varsigma",b:"ς"},{a:"varsubsetneq",b:"⊊︀"},{a:"varsubsetneqq",b:"⫋︀"},{a:"varsupsetneq",b:"⊋︀"},{a:"varsupsetneqq",b:"⫌︀"},{a:"vartheta",b:"ϑ"},{a:"vartriangleleft",b:"⊲"},{a:"vartriangleright",b:"⊳"},{a:"vBar",b:"⫨"},{a:"Vbar",b:"⫫"},{a:"vBarv",b:"⫩"},{a:"Vcy",b:"В"},{a:"vcy",b:"в"},{a:"vdash",b:"⊢"},{a:"vDash",b:"⊨"},{a:"Vdash",b:"⊩"},{a:"VDash",b:"⊫"},{a:"Vdashl",b:"⫦"},{a:"veebar",b:"⊻"},{a:"vee",b:"∨"},{a:"Vee",b:"⋁"},{a:"veeeq",b:"≚"},{a:"vellip",b:"⋮"},{a:"verbar",b:"|"},{a:"Verbar",b:"‖"},{a:"vert",b:"|"},{a:"Vert",b:"‖"},{a:"VerticalBar",b:"∣"},{a:"VerticalLine",b:"|"},{a:"VerticalSeparator",b:"❘"},{a:"VerticalTilde",b:"≀"},{a:"VeryThinSpace",b:" "},{a:"Vfr",b:"𝔙"},{a:"vfr",b:"𝔳"},{a:"vltri",b:"⊲"},{a:"vnsub",b:"⊂⃒"},{a:"vnsup",b:"⊃⃒"},{a:"Vopf",b:"𝕍"},{a:"vopf",b:"𝕧"},{a:"vprop",b:"∝"},{a:"vrtri",b:"⊳"},{a:"Vscr",b:"𝒱"},{a:"vscr",b:"𝓋"},{a:"vsubnE",b:"⫋︀"},{a:"vsubne",b:"⊊︀"},{a:"vsupnE",b:"⫌︀"},{a:"vsupne",b:"⊋︀"},{a:"Vvdash",b:"⊪"},{a:"vzigzag",b:"⦚"},{a:"Wcirc",b:"Ŵ"},{a:"wcirc",b:"ŵ"},{a:"wedbar",b:"⩟"},{a:"wedge",b:"∧"},{a:"Wedge",b:"⋀"},{a:"wedgeq",b:"≙"},{a:"weierp",b:"℘"},{a:"Wfr",b:"𝔚"},{a:"wfr",b:"𝔴"},{a:"Wopf",b:"𝕎"},{a:"wopf",b:"𝕨"},{a:"wp",b:"℘"},{a:"wr",b:"≀"},{a:"wreath",b:"≀"},{a:"Wscr",b:"𝒲"},{a:"wscr",b:"𝓌"},{a:"xcap",b:"⋂"},{a:"xcirc",b:"◯"},{a:"xcup",b:"⋃"},{a:"xdtri",b:"▽"},{a:"Xfr",b:"𝔛"},{a:"xfr",b:"𝔵"},{a:"xharr",b:"⟷"},{a:"xhArr",b:"⟺"},{a:"Xi",b:"Ξ"},{a:"xi",b:"ξ"},{a:"xlarr",b:"⟵"},{a:"xlArr",b:"⟸"},{a:"xmap",b:"⟼"},{a:"xnis",b:"⋻"},{a:"xodot",b:"⨀"},{a:"Xopf",b:"𝕏"},{a:"xopf",b:"𝕩"},{a:"xoplus",b:"⨁"},{a:"xotime",b:"⨂"},{a:"xrarr",b:"⟶"},{a:"xrArr",b:"⟹"},{a:"Xscr",b:"𝒳"},{a:"xscr",b:"𝓍"},{a:"xsqcup",b:"⨆"},{a:"xuplus",b:"⨄"},{a:"xutri",b:"△"},{a:"xvee",b:"⋁"},{a:"xwedge",b:"⋀"},{a:"Yacute",b:"Ý"},{a:"yacute",b:"ý"},{a:"YAcy",b:"Я"},{a:"yacy",b:"я"},{a:"Ycirc",b:"Ŷ"},{a:"ycirc",b:"ŷ"},{a:"Ycy",b:"Ы"},{a:"ycy",b:"ы"},{a:"yen",b:"¥"},{a:"Yfr",b:"𝔜"},{a:"yfr",b:"𝔶"},{a:"YIcy",b:"Ї"},{a:"yicy",b:"ї"},{a:"Yopf",b:"𝕐"},{a:"yopf",b:"𝕪"},{a:"Yscr",b:"𝒴"},{a:"yscr",b:"𝓎"},{a:"YUcy",b:"Ю"},{a:"yucy",b:"ю"},{a:"yuml",b:"ÿ"},{a:"Yuml",b:"Ÿ"},{a:"Zacute",b:"Ź"},{a:"zacute",b:"ź"},{a:"Zcaron",b:"Ž"},{a:"zcaron",b:"ž"},{a:"Zcy",b:"З"},{a:"zcy",b:"з"},{a:"Zdot",b:"Ż"},{a:"zdot",b:"ż"},{a:"zeetrf",b:"ℨ"},{a:"ZeroWidthSpace",b:"​"},{a:"Zeta",b:"Ζ"},{a:"zeta",b:"ζ"},{a:"zfr",b:"𝔷"},{a:"Zfr",b:"ℨ"},{a:"ZHcy",b:"Ж"},{a:"zhcy",b:"ж"},{a:"zigrarr",b:"⇝"},{a:"zopf",b:"𝕫"},{a:"Zopf",b:"ℤ"},{a:"Zscr",b:"𝒵"},{a:"zscr",b:"𝓏"},{a:"zwj",b:"‍"},{a:"zwnj",b:"‌"}])),fw=I(fr,function(e){return I(nU,"&"+e+";",I(rO,e,fm))},d1(dQ(ak))),fx=function(e){return I(J,e,"")},fy=m(function(e,t,a){for(;;)if(!t.b)return av(a);else{var r=t.a,n=t.b;switch(r){case"0":var i=e-1,o=n,u=a;e=i,t=o,a=u;continue;case"1":var i=e-1,o=n,u=a+I(j,16,e);e=i,t=o,a=u;continue;case"2":var i=e-1,o=n,u=a+2*I(j,16,e);e=i,t=o,a=u;continue;case"3":var i=e-1,o=n,u=a+3*I(j,16,e);e=i,t=o,a=u;continue;case"4":var i=e-1,o=n,u=a+4*I(j,16,e);e=i,t=o,a=u;continue;case"5":var i=e-1,o=n,u=a+5*I(j,16,e);e=i,t=o,a=u;continue;case"6":var i=e-1,o=n,u=a+6*I(j,16,e);e=i,t=o,a=u;continue;case"7":var i=e-1,o=n,u=a+7*I(j,16,e);e=i,t=o,a=u;continue;case"8":var i=e-1,o=n,u=a+8*I(j,16,e);e=i,t=o,a=u;continue;case"9":var i=e-1,o=n,u=a+9*I(j,16,e);e=i,t=o,a=u;continue;case"a":var i=e-1,o=n,u=a+10*I(j,16,e);e=i,t=o,a=u;continue;case"b":var i=e-1,o=n,u=a+11*I(j,16,e);e=i,t=o,a=u;continue;case"c":var i=e-1,o=n,u=a+12*I(j,16,e);e=i,t=o,a=u;continue;case"d":var i=e-1,o=n,u=a+13*I(j,16,e);e=i,t=o,a=u;continue;case"e":var i=e-1,o=n,u=a+14*I(j,16,e);e=i,t=o,a=u;continue;case"f":var i=e-1,o=n,u=a+15*I(j,16,e);e=i,t=o,a=u;continue;default:return ab(fx(r)+" is not a valid hexadecimal character.")}}}),fE=p(function(e,t){return t.$?ab(t.a):av(e(t.a))}),fI=function(e){if(a9(e))return ab("Empty strings are not valid hexadecimal strings.");var t=function(){if(!I(ei,"-",e))return C(fy,a8(e)-1,cg(e),0);var t,a=I(nU,B,(t=cg(e)).b?(t.a,ap(t.b)):am);return I(fE,ii,C(fy,aI(a)-1,a,0))}();return I(rJ,function(t){return I(aw," ",U(['"'+e+'"',"is not a valid hexadecimal string because",t]))},t)},fC=I(dB,function(e){var t=fI(c8(e));return t.$?d4(t.a):d3(t.a)},d1(dQ(function(e){var t=aM(e);return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}))),fR={$:1},f$=p(function(e,t){return{dA:t.dA+(e-t.h),k:t.k,p:t.p,h:e,d_:t.d_,d:t.d}}),fL=p(function(e,t){if(!(C(t9,101,e,t)||C(t9,69,e,t)))return e;var a=e+1,r=C(t9,43,a,t)||C(t9,45,a,t)?a+1:a,n=I(ae,r,t);return M(r,n)?-n:n}),fA=p(function(e,t){return C(t9,46,e,t)?I(fL,I(ae,e+1,t),t):I(fL,e,t)}),fS=x(function(e,t,a,r,n){var i=r.a,o=r.b;if(1===t.$)return I(dq,!0,I(dj,n,t.a));var u=t.a;return M(a,i)?I(dq,0>O(n.h,a),I(dj,n,e)):C(dH,!0,u(o),I(f$,i,n))}),fT=y(function(e,t,a,r,n,i){var o=n.a,u=I(fA,o,i.d);if(u<0)return I(dq,!0,R(d5,i.d_,i.dA-(u+i.h),e,i.k));if(M(i.h,u))return I(dq,!1,I(dj,i,t));if(M(o,u))return $(fS,e,a,i.h,n,i);if(1===r.$)return r.a,I(dq,!0,I(dj,i,e));var s=r.a,c=n0(C(ea,i.h,u,i.d));return 1===c.$?I(dq,!0,I(dj,i,e)):C(dH,!0,s(c.a),I(f$,u,i))}),fk=p(function(e,t){var a;return a={ee:ab(t),ew:e,eA:ab(t),eG:ab(t),eN:av(a3),f0:t,eZ:ab(t)},function(e){if(!C(t9,48,e.h,e.d))return L(fT,a.f0,a.ew,a.eN,a.eA,C(at,10,e.h,e.d),e);var t=e.h+1,r=t+1;return C(t9,120,t,e.d)?$(fS,a.f0,a.eG,r,I(aa,r,e.d),e):C(t9,111,t,e.d)?$(fS,a.f0,a.eZ,r,C(at,8,r,e.d),e):C(t9,98,t,e.d)?$(fS,a.f0,a.ee,r,C(at,2,r,e.d),e):L(fT,a.f0,a.ew,a.eN,a.eA,{a:t,b:0},e)}}),fM=I(fk,fR,fR),fP=(d=fh(U([I(d9,I(dJ,d3(a3),dZ(function(e){return"x"===e||"X"===e})),fC),I(d9,I(dJ,d3(a3),dX(N("0"))),fM)])),I(d9,I(dJ,d3(a3),dZ(N("#"))),I(fr,I(rX,function(e){return e<0||1114111"!==e&&"`"!==e&&"&"!==e})),fN])))),fq=fh(U([I(d9,I(dJ,I(dJ,d3(a3),dZ(N("="))),dX(d2)),fh(U([fV,fz('"'),fz("'")]))),d3("")])),fH=fv(I(d9,I(d9,d3(n7),I(dJ,fg,dX(d2))),I(dJ,fq,dX(d2)))),fB=I(fr,c8,d1(I(dJ,dZ(aN),dX(function(e){return aN(e)||"-"===e})))),fD=function(e){return{$:0,a:e}},f_=I(fr,I(rX,aw(""),fD),I(fO,"text element",fh(U([d1(dQ(function(e){return"<"!==e&&"&"!==e})),fN]))));function fU(){return fh(U([f_,fn,fF()]))}function fF(){return I(dB,function(e){var t=e.a,a=e.b;return I(iB,t,fi)?I(dJ,I(dJ,d3(C(dV,t,a,B)),fh(U([dZ(N("/")),d3(0)]))),dZ(N(">"))):I(d9,I(dJ,d3(I(dV,t,a)),dZ(N(">"))),I(dJ,fv(dD(fU())),d6(t)))},I(d9,I(d9,I(dJ,d3(n7),dZ(N("<"))),I(dJ,fB,dX(d2))),fH))}var fG=fU();fU=function(){return fG};var fj=fF();fF=function(){return fj};var fW=m(function(e,t,a){return{dA:t,dX:a,d_:e}}),fZ=function(e){return C(fW,e.d_,e.dA,e.dX)},fK=p(function(e,t){for(;;)switch(e.$){case 0:return t;case 1:var a=e.a,r=e.b,n=a,i=I(_,r,t);e=n,t=i;continue;default:var a=e.a,o=e.b,n=a,i=I(fK,o,t);e=n,t=i;continue}}),fX=p(function(e,t){var a=e({dA:1,k:B,p:1,h:0,d_:1,d:t});return a.$?ab(I(fK,a.b,B)):av(a.b)}),fY=p(function(e,t){var a=I(fX,e,t);return a.$?ab(I(rl,fZ,a.a)):av(a.a)}),fJ=function(e){return a9(e)?av(B):I(fY,I(fO,"node",fG),e)},fQ=function(e){var t,a=I(nd,function(e){return"target"===e.a},e),r=I(nd,function(e){return"rel"===e.a},e);return t=a?e:I(_,{a:"target",b:"_blank"},e),r?t:I(_,{a:"rel",b:"noopener noreferrer"},t)},f0=function(e){return"href"===e.a?ap(e):am},f1=function(e){switch(e.a){case"alt":case"src":return ap(e);default:return am}},f2=p(function(e,t){switch(e){case"a":return fQ(I(nr,f0,t));case"img":return I(nr,f1,t);default:return B}}),f4=function(e){switch(e.$){case 0:return U([fD(e.a)]);case 1:var t=e.a,a=e.b,r=e.c;return I(iB,t,U(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]))?U([C(dV,t,I(f2,t,a),f3(r))]):f3(r);default:return B}},f3=function(e){return I(iM,f4,e)},f6=function(e){return I(du,e.a,e.b)},f5=function(e){return I(rl,f8,e)},f8=function(e){switch(e.$){case 1:var t=e.a,a=e.b,r=e.c;return C(dv,t,I(rl,f6,a),f5(r));case 0:return tu(e.a);default:return tu("")}},f7=function(e){var t=function(e){return f5(f3(e))},a=C(nf,"

","

",C(nf,"
","
",C(nf,"
","
",e))),r=fJ(a);if(r.$){var n=fJ("
"+a+"
");if(n.$)return U([tu(e)]);var i,o=n.a;return t((i=o).b&&1===i.a.$&&"div"===i.a.a&&!i.b.b?i.a.c:i)}var o=r.a;return t(o)},f9=b8("target"),he=function(e){switch(e){case 0:return"Left to Right";case 1:return"Right to Left";case 2:return"Top to Bottom";default:return"Bottom to Top"}},ht=function(e){switch(e){case 0:return"Auto-advance";case 1:return"No auto-advance";case 2:return"Repeat";case 3:return"No repeat";case 4:return"Unordered";case 5:return"Individuals";case 6:return"Continuous";case 7:return"Paged";case 8:return"Facing pages";case 9:return"Non-paged";case 10:return"Multi-part";case 11:return"Together";case 12:return"Sequence";case 13:return"Thumbnail nav";case 14:return"No nav";default:return"Hidden"}},ha=function(e){switch(e){case 0:return"Paged";case 1:return"Individuals";case 2:return"Continuous";case 3:return"Multi-part";case 4:return"Non-paged";case 5:return"Top";default:return"Facing pages"}},hr=function(e){if(!e.$)return"Hint: "+ha(e.a);var t=e.a;return ul(t)?"Behavior: None":"Behavior: "+I(aw,", ",I(rl,ht,t))},hn=p(function(e,t){var a=es(I(nU,0,I(n_,aI,lt(t)))),r=function(){var t=e.I;switch(t.$){case 1:default:return e.a7;case 2:var a=t.a;return I(nU,e.a7,a.dq)}}(),n=es(aI(cY(t))),i=t.a,o=t.b,u=I(nU,"None",I(n_,cu(e.en),o.gH)),s=he(o.gS),c=hr(o.gT),l=function(){switch(i){case 0:return"IIIF v1";case 1:return"IIIF v2";default:return"IIIF v3"}}();return I(_,{a:"Manifest URL",b:I(dP,U([dN(r),f9("_blank"),dO("noopener noreferrer")]),U([tu(r)]))},H(ul(e.aw)?B:U([{a:"Accept Headers",b:tu(I(aw,", ",e.aw))}]),U([{a:"Detected User Language",b:tu(dz(e.en))},{a:"IIIF Version",b:tu(l)},{a:"Viewing Hint / Behavior",b:tu(c)},{a:"Viewing Direction",b:tu(s)},{a:"Summary",b:"None"===u?tu(u):I(de,B,f7(u))},{a:"Canvases",b:tu(n)},{a:"Ranges",b:tu(a)}])))}),hi=b8("alt"),ho=tc("img"),hu=function(e){var t=I(nD,nM,e.fl);if(t.$)return ap(e.s);var a=t.a;return I(n_,I(rX,cx(ix(256)),cw),iO(a.s))},hs=function(e){return I(b8,"src",t$(e))},hc=cX(function(e){return e.f4}),hl=cX(function(e){return e.e7}),hb=p(function(e,t){var a=function(){var e=I(nD,nM,hl(t));if(e.$)return{a:am,b:I(nD,nM,c9(t))};var a=e.a;return{a:I(nD,nM,a.f4),b:I(nD,nM,a.fZ)}}(),r=a.a,n=a.b,i=r.$?I(n_,I(rX,function(e){return e.s},I(rX,cx(ix(256)),cw)),hc(t)):hu(r.a);return M(i,am)&&M(n,am)?dg:I(de,B,U([I(dm,function(e){return I(ho,U([b7("diva-manifest-info-logo"),hs(e),hi("Manifest logo")]),B)},i),I(dm,function(t){var a=I(cu,e,t.dN);return I(dP,U([dN(t.s),f9("_blank"),dO("noopener noreferrer")]),U([tu(a)]))},n)]))}),hd=function(e){var t=e.a,a=e.b;return I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu(t)])),I(de,U([b7("diva-metadata-value")]),U([a]))]))},hf=p(function(e,t){var a=I(nU,U([{a:"Manifest",b:tu("Not loaded")}]),I(n_,hn(e),t)),r=I(dm,hb(e.en),t);return I(de,U([b7("diva-modal-body is-two-column")]),U([I(de,U([b7("diva-metadata-body")]),I(rl,hd,a)),I(de,U([b7("diva-manifest-info-logo-wrap")]),U([r]))]))}),hh={$:13},hv=tx("d"),hg=tx("fill"),hp=tx("height"),hm=ts("http://www.w3.org/2000/svg"),hw=hm("path"),hx=hm("svg"),hy=tx("viewBox"),hE=tx("width"),hI=function(e){return I(hx,U([hy(e.C),hE("100%"),hp("100%"),hg("currentColor")]),U([I(hw,U([hv(e.A)]),B)]))},hC=hI({A:"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z",C:"0 0 512 512"}),hR=p(function(e,t){return I(tw,e,eT(t))}),h$=hR("disabled"),hL=p(function(e,t){var a,r,n=(a=U([b9(U([{a:"diva-canvas-toolbar-button",b:!0},{a:"is-disabled",b:M(t.dU,am)},{a:"is-fullscreen",b:t.eO}])),df("button"),I(du,"aria-label",t.dN)]),(r=t.dU).$?I(_,h$(!0),H(e,a)):I(_,db(r.a),H(e,a)));return I(de,U([b7("diva-canvas-toolbar-item"),I(du,"data-tooltip",t.dN)]),U([I(ds,n,U([t.eI]))]))}),hA=function(e){return I(hL,B,e)},hS=function(e){var t=e.db;return I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title")]),U([tu("Manifest Info")])),I(de,U([b7("diva-modal-actions")]),U([I(de,U([b7("diva-modal-close-action")]),U([hA({eI:hC,eO:t,dN:"Close",dU:ap(hh)})]))]))]))},hT=tc("h1"),hk=m(function(e,t,a){return e&&!a9(a)?I(hT,U([b9(U([{a:"diva-app-title",b:!0},{a:"is-fullscreen",b:t}]))]),U([tu(a)])):dg}),hM=tc("span"),hP=p(function(e,t){var a=I(rO,e,t.ap);if(a.$)return am;var r,n=a.a;return 1!==(r=n.c6).$||ul(r.a.cK)?ap("anonymous"):I(n_,function(e){return e?"use-credentials":"anonymous"},I(nD,function(e){return I(rO,e,t.au)},bV(n)))}),hN=w(function(e,t,a,r){return I(ds,U([b9(U([{a:"diva-page-view-choice",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:M(a,t)}])),df("button"),db({$:19,a:a})]),U([function(){var t=I(hP,r.b3,e);if(t.$)return I(de,U([b7("diva-page-view-choice-thumb diva-page-view-choice-thumb--protected"),I(du,"aria-label","Protected image")]),B);var a=t.a;return I(ho,U([b7("diva-page-view-choice-thumb"),hs(r.be),hi(r.dN),I(du,"loading","lazy"),I(du,"crossorigin",a)]),B)}(),I(hM,U([b7("diva-page-view-choice-label")]),U([tu(r.dN)]))]))}),hz=m(function(e,t,a){return I(de,U([b7("diva-page-view-choices")]),I(a$,p(function(t,r){return $(th,hN,e,a,t,r)}),t))}),hO={$:33},hV=p(function(e,t){return{$:52,a:e,b:t}}),hq=tc("input"),hH=b8("max"),hB=b8("min"),hD=function(e){return{a:e,b:!0}},h_=p(function(e,t){return I(tp,e,{$:1,a:t})}),hU=I(nN,U(["target","value"]),eh),hF=function(e){return I(h_,"input",I(ew,hD,I(ew,e,hU)))},hG=b8("value"),hj=x(function(e,t,a,r,n){var i=U([df("range"),hB(e),hH(t),hG(r),hF(n)]),o=a.$?i:I(_,I(b8,"step",a.a),i);return I(hq,I(_,b7("diva-filter-range-input"),o),B)}),hW=function(e){return I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hM,U([b7("diva-filter-label")]),U([tu(e.dN)])),I(hM,U([b7("diva-filter-value")]),U([tu(e.l)]))])),$(hj,e.g,e.f,e.n,e.dx,e.m)]))},hZ=p(function(e,t){return{$:40,a:e,b:t}}),hK=hR("checked"),hX=tc("label"),hY=I(nN,U(["target","checked"]),eb),hJ=function(e){return I(dl,"change",I(ew,e,hY))},hQ=function(e){return I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hX,U([b7("diva-filter-toggle is-inline")]),U([I(hq,U([df("checkbox"),hK(e.w),hJ(hZ(e.z))]),B),tu(e.dN)])),I(hM,U([b7("diva-filter-value")]),U([tu(e.l)]))])),$(hj,e.g,e.f,e.n,e.dx,e.m)]))},h0=p(function(e,t){return U([hQ({w:t.cp,l:es(t.bK),dN:e+" Gamma",f:"100",g:"0",m:hV(t.cq),z:t.cr,n:ap("1"),dx:es(t.bK)}),hQ({w:t.cP,l:es(t.b1),dN:e+" Sigmoid",f:"100",g:"0",m:hV(t.cQ),z:t.cR,n:ap("1"),dx:es(t.b1)}),hQ({w:t.cu,l:es(t.bL),dN:e+" Hue Boost",f:"100",g:"-100",m:hV(t.cv),z:t.cw,n:ap("1"),dx:es(t.bL)}),hW({l:es(t.bM),dN:e+" Hue Window",f:"30",g:"2",m:hV(t.cx),n:ap("1"),dx:es(t.bM)}),hQ({w:t.c0,l:es(t.b7),dN:e+" Vibrance",f:"100",g:"0",m:hV(t.c1),z:t.c2,n:ap("1"),dx:es(t.b7)})])}),h1=w(function(e,t,a,r){var n=I(lI,t,e.cm);return I(de,U([b7("diva-filter-group")]),I(_,I(ds,U([b9(U([{a:"diva-filter-title-button",b:!0},{a:"is-collapsed",b:!n}])),db({$:41,a:t})]),U([I(hM,U([b9(U([{a:"diva-filter-title-icon",b:!0},{a:"is-expanded",b:n}]))]),B),I(hM,B,U([tu(a)]))])),n?r:B))}),h2=function(e){return I(de,U([b7("diva-filter-row")]),e)},h4=function(e){return R(h1,e,"advanced-colour-adjust","Advanced colour adjust",I(_,h2(U([I(ds,U([b7("diva-filter-reset"),df("button"),db(hO)]),U([tu("Reset sliders")]))])),H(I(h0,"Red",{bK:e.ez.aW,cp:e.ez.br,cq:2,cr:9,bL:e.ez.aX,cu:e.ez.az,cv:5,cw:10,bM:e.ez.aY,cx:6,b1:e.ez.aZ,cP:e.ez.bs,cQ:3,cR:11,b7:e.ez.a_,c0:e.ez.bt,c1:4,c2:12}),H(I(h0,"Green",{bK:e.ez.aR,cp:e.ez.bo,cq:7,cr:5,bL:e.ez.aS,cu:e.ez.ay,cv:9,cw:6,bM:e.ez.aT,cx:10,b1:e.ez.aU,cP:e.ez.bp,cQ:8,cR:7,b7:e.ez.aV,c0:e.ez.bq,c1:11,c2:8}),I(h0,"Blue",{bK:e.ez.aM,cp:e.ez.bl,cq:12,cr:1,bL:e.ez.aN,cu:e.ez.ax,cv:14,cw:2,bM:e.ez.aO,cx:15,b1:e.ez.aP,cP:e.ez.bm,cQ:13,cR:3,b7:e.ez.aQ,c0:e.ez.bn,c1:16,c2:4})))))},h3=p(function(e,t){return{$:51,a:e,b:t}}),h6=function(e){return R(h1,e,"colour-adjust","Colour Adjust",I(rl,hQ,U([{w:e.ez.cd,l:es(e.ez.bu),dN:"Brightness",f:"255",g:"-255",m:hV(17),z:13,n:am,dx:es(e.ez.bu)},{w:e.ez.cj,l:es(e.ez.bE),dN:"Contrast",f:"4",g:"0",m:h3(1),z:20,n:ap("0.1"),dx:es(e.ez.bE)},{w:e.ez.cp,l:es(e.ez.bK),dN:"Gamma",f:"4",g:"0.1",m:h3(2),z:23,n:ap("0.1"),dx:es(e.ez.bK)},{w:e.ez.cN,l:es(e.ez.bZ),dN:"Saturation",f:"100",g:"-100",m:hV(27),z:31,n:am,dx:es(e.ez.bZ)},{w:e.ez.c0,l:es(e.ez.b7),dN:"Vibrance",f:"100",g:"-100",m:hV(29),z:34,n:am,dx:es(e.ez.b7)},{w:e.ez.cu,l:es(e.ez.bL),dN:"Hue",f:"100",g:"-100",m:hV(24),z:26,n:am,dx:es(e.ez.bL)},{w:e.ez.cg,l:es(e.ez.bx),dN:"Red",f:"100",g:"-100",m:hV(20),z:16,n:am,dx:es(e.ez.bx)},{w:e.ez.cf,l:es(e.ez.bw),dN:"Green",f:"100",g:"-100",m:hV(19),z:15,n:am,dx:es(e.ez.bw)},{w:e.ez.ce,l:es(e.ez.bv),dN:"Blue",f:"100",g:"-100",m:hV(18),z:14,n:am,dx:es(e.ez.bv)}])))},h5=p(function(e,t){return{$:54,a:e,b:t}}),h8=tc("option"),h7=U([I(h8,U([hG("gray")]),U([tu("Gray")])),I(h8,U([hG("hot")]),U([tu("Hot")])),I(h8,U([hG("cool")]),U([tu("Cool")]))]),h9=tc("select"),ve=m(function(e,t,a){return I(h9,U([b7("diva-filter-select"),hF(t),hG(e)]),a)}),vt=m(function(e,t,a){return I(hX,U([b7("diva-filter-toggle")]),U([I(hq,U([df("checkbox"),hK(t),hJ(hZ(a))]),B),tu(e)]))}),va=function(e){return R(h1,e,"colourmap","Colourmap",U([h2(U([C(vt,"Colourmap",e.ez.a1,17),C(ve,e.ez.bD,h5(0),h7)])),hW({l:es(e.ez.bC),dN:"Center",f:"255",g:"0",m:hV(21),n:am,dx:es(e.ez.bC)})]))},vr=U([I(h8,U([hG("sharpen")]),U([tu("Sharpen")])),I(h8,U([hG("blur")]),U([tu("Blur")])),I(h8,U([hG("edge")]),U([tu("Edge")])),I(h8,U([hG("emboss")]),U([tu("Emboss")]))]),vn=function(e){return R(h1,e,"convolution","Convolution",U([h2(U([C(vt,"Kernel",e.ez.ck,21),C(ve,e.ez.bF,h5(3),vr)]))]))},vi=function(e){return R(h1,e,"enhancement","Enhancement",H(I(rl,hQ,U([{w:e.ez.cF,l:es(e.ez.bR),dN:"Normalize",f:"2",g:"0",m:h3(3),z:29,n:ap("0.1"),dx:es(e.ez.bR)},{w:e.ez.c_,l:es(e.ez.b5),dN:"Unsharp",f:"3",g:"0",m:h3(7),z:33,n:ap("0.1"),dx:es(e.ez.b5)},{w:e.ez.aL,l:es(e.ez.bk),dN:"Adaptive Threshold",f:"51",g:"3",m:hV(1),z:0,n:ap("2"),dx:es(e.ez.bk)}])),U([hW({l:es(e.ez.bj),dN:"Offset",f:"50",g:"-50",m:hV(0),n:ap("1"),dx:es(e.ez.bj)})])))},vo={$:11},vu={$:27},vs=function(e){return{$:53,a:e}},vc=tc("textarea"),vl=function(e){return R(h1,e,"diva-filter-json","Import / Export Filter Settings",U([h2(U([I(ds,U([b7("diva-filter-reset"),df("button"),db(vu)]),U([tu("Show JSON")])),I(ds,U([b7("diva-filter-reset"),df("button"),db(vo)]),U([tu("Apply")]))])),I(vc,U([b7("diva-filter-json"),hG(e.cn),hF(vs),I(tx,"rows",es(6))]),B),function(){var t=e.bJ;if(t.$)return dg;var a=t.a;return I(de,U([b7("diva-filter-json-error")]),U([tu(a)]))}()]))},vb=U([I(h8,U([hG("3")]),U([tu("3x3")])),I(h8,U([hG("5")]),U([tu("5x5")])),I(h8,U([hG("7")]),U([tu("7x7")]))]),vd=U([I(h8,U([hG("erode")]),U([tu("Erode")])),I(h8,U([hG("dilate")]),U([tu("Dilate")]))]),vf=function(e){return R(h1,e,"morphology","Morphology",U([h2(U([C(vt,"Morph",e.ez.a8,28),C(ve,e.ez.bQ,h5(5),vd),C(ve,es(e.ez.bP),hV(25),vb)]))]))},vh=U([I(h8,U([hG("pca-rgb")]),U([tu("PCA (RGB)")])),I(h8,U([hG("pca1")]),U([tu("PCA Component 1")])),I(h8,U([hG("pca2")]),U([tu("PCA Component 2")])),I(h8,U([hG("pca3")]),U([tu("PCA Component 3")]))]),vv=function(e){return R(h1,e,"pca","Visible area PCA",U([h2(U([C(vt,"Visible area PCA",e.ez.a4,24),C(ve,e.ez.bT,h5(4),vh)])),hW({l:es(e.ez.bS)+"deg",dN:"Hue Rotation",f:"180",g:"-180",m:hV(23),n:ap("1"),dx:es(e.ez.bS)})]))},vg=U([I(h8,U([hG("rg")]),U([tu("Red–Green Diff")])),I(h8,U([hG("gb")]),U([tu("Green–Blue Diff")])),I(h8,U([hG("rb")]),U([tu("Red–Blue Diff")])),I(h8,U([hG("luma")]),U([tu("Luma False Colour")])),I(h8,U([hG("cmy")]),U([tu("CMY False Colour")])),I(h8,U([hG("heat")]),U([tu("Heat Map")]))]),vp=p(function(e,t){return I(hq,U([b7("diva-filter-color-input"),df("color"),hG(e),hF(t)]),B)}),vm=function(e){return R(h1,e,"pseudo-colour","Pseudo Colour",U([h2(U([C(vt,"Pseudo-colour",e.ez.ad,30),C(ve,e.ez.bW,h5(6),vg)])),hW({l:es(e.ez.bX),dN:"Red Weight",f:"2",g:"0",m:h3(6),n:ap("0.01"),dx:es(e.ez.bX)}),hW({l:es(e.ez.bV),dN:"Green Weight",f:"2",g:"0",m:h3(5),n:ap("0.01"),dx:es(e.ez.bV)}),hW({l:es(e.ez.bU),dN:"Blue Weight",f:"2",g:"0",m:h3(4),n:ap("0.01"),dx:es(e.ez.bU)}),h2(U([C(vt,"Replace Colour",e.ez.N,18)])),h2(U([I(hM,U([b7("diva-filter-label")]),U([tu("Source")])),I(vp,e.ez.bz,h5(1)),I(hM,U([b7("diva-filter-label")]),U([tu("Target")])),I(vp,e.ez.bA,h5(2))])),hW({l:es(e.ez.bB),dN:"Tolerance",f:"255",g:"0",m:hV(22),n:ap("1"),dx:es(e.ez.bB)}),hW({l:es(e.ez.by),dN:"Strength",f:"1",g:"0",m:h3(0),n:ap("0.01"),dx:es(e.ez.by)}),h2(U([C(vt,"Preserve Luminance",e.ez.ci,19)]))]))},vw=function(e){return R(h1,e,"tone","Tone",H(I(rl,function(e){return C(vt,e.a,e.b,e.c)},U([{a:"Grayscale",b:e.ez.cs,c:25},{a:"Invert",b:e.ez.cA,c:27}])),I(rl,hQ,U([{w:e.ez.cU,l:es(e.ez.b4),dN:"Threshold",f:"255",g:"0",m:hV(28),z:32,n:am,dx:es(e.ez.b4)}]))))},vx=function(e){return R(h1,e,"transform","Transform",U([I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hM,U([b7("diva-filter-label")]),U([tu("Rotation")])),I(hM,U([b7("diva-filter-range-header-right")]),U([I(hM,U([b7("diva-filter-value")]),U([tu(es(e.ez.bd)+"°")])),I(ds,U([b7("diva-filter-reset"),df("button"),db(I(hV,26,"0"))]),U([tu("Reset")]))]))])),$(hj,"-180","180",ap("1"),es(e.ez.bd),hV(26))])),h2(U([C(vt,"Mirror",e.ez.co,22)]))]))},vy=function(e){return I(de,U([b7("diva-modal-sidebar")]),U([I(tb,vx,e),I(tb,vw,e),I(tb,h6,e),I(tb,vf,e),I(tb,vn,e),I(tb,va,e),I(tb,vm,e),I(tb,vv,e),I(tb,h4,e),I(tb,vi,e),I(tb,vl,e)]))},vE=p(function(e,t){return I(de,U([b9(U([{a:"diva-modal-viewer",b:!0},{a:"is-fullscreen",b:e},{a:"is-outer-left",b:t}]))]),U([I(de,U([b7("diva-modal-canvas"),dt("filter-viewer")]),B)]))}),vI=function(e){var t=I(nD,function(t){return I(lh,t,e.aH)},e.R),a=I(nU,!1,I(n_,function(e){return aI(e.cy)>1},t));return I(de,U([b9(U([{a:"diva-modal-body",b:!0},{a:"is-no-gap",b:!0},{a:"is-fullscreen",b:e.di},{a:"is-with-choices",b:a},{a:"is-no-sidebar",b:!e.dj},{a:"is-with-choices-no-sidebar",b:a&&!e.dj}]))]),function(){var r={a:a,b:t,c:e.dj};if(r.c)if(!r.a||r.b.$)return U([I(vE,e.di,!0),vy(e)]);else{var n=r.b.a;return U([C(hz,e.c6,n.cy,e.aG),I(vE,e.di,!1),vy(e)])}if(!r.a||r.b.$)return U([I(vE,e.di,!0)]);var n=r.b.a;return U([C(hz,e.c6,n.cy,e.aG),I(vE,e.di,!1)])}())},vC={$:14},vR={$:20},v$={$:21},vL={$:23},vA={$:32},vS={$:44},vT={$:45},vk=p(function(e,t){return e?am:ap(t)}),vM=hI({A:"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",C:"0 0 448 512"}),vP=hI({A:"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z",C:"0 0 512 512"}),vN=hI({A:"M24 64c13.3 0 24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64zm217 71c9.4 9.4 9.4 24.6 0 33.9l-63 63 284.1 0-63-63c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L537 239c9.4 9.4 9.4 24.6 0 33.9L433 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l63-63-284.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L207 135c9.4-9.4 24.6-9.4 33.9 0zM640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z",C:"0 0 640 512"}),vz=hI({A:"M8.59 16.59L10 18L16 12L10 6L8.59 7.41L13.17 12L8.59 16.59z",C:"0 0 24 24"}),vO=hI({A:"M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41z",C:"0 0 24 24"}),vV=hI({A:"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",C:"0 0 512 512"}),vq=hI({A:"M295 401L167 273c-9.4-9.4-9.4-24.6 0-33.9L295 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87L488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-246.1 0 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM168 80L88 80c-22.1 0-40 17.9-40 40l0 272c0 22.1 17.9 40 40 40l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-48.6 0-88-39.4-88-88L0 120C0 71.4 39.4 32 88 32l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z",C:"0 0 512 512"}),vH=hI({A:"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z",C:"0 0 512 512"}),vB=function(e){var t,a,r=I(nU,"",I(n_,function(e){return e.dN},I(nD,function(e){return I(lh,e,t.aH)},(t=e).R))),n=I(nU,"",I(n_,function(e){return I(cu,a.en,dr(e))},da(a=e))),i=e.dj?{a:vN,b:"Hide filters"}:{a:vq,b:"Show filters"},o=i.a,u=i.b,s=function(){var t=e.R;if(t.$)return{a:!0,b:!0};var a=t.a;return{a:a<=0,b:O(a,aI(e.aH)-1)>-1}}(),c=s.a,l=s.b,b=e.di?{a:vP,b:"Exit fullscreen"}:{a:vH,b:"Fullscreen"},d=b.a,f=b.b;return I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title-stack")]),I(_,I(de,U([b7("diva-modal-title")]),U([tu("Page View")])),H(a9(n)?B:U([I(de,U([b7("diva-modal-subtitle")]),U([tu(n)]))]),a9(r)?B:U([I(de,U([b7("diva-modal-subtitle is-muted")]),U([tu(r)]))])))),I(de,U([b7("diva-modal-actions")]),U([hA({eI:vO,eO:e.db,dN:"Previous Page",dU:I(vk,c,v$)}),hA({eI:vz,eO:e.db,dN:"Next Page",dU:I(vk,l,vR)}),hA({eI:vM,eO:e.db,dN:"Save view",dU:ap(vL)}),hA({eI:vV,eO:e.db,dN:"Reset Filters",dU:ap(vA)}),hA({eI:o,eO:e.db,dN:u,dU:ap(vT)}),hA({eI:d,eO:e.db,dN:f,dU:ap(vS)}),I(de,U([b7("diva-modal-close-action")]),U([hA({eI:hC,eO:e.db,dN:"Close",dU:ap(vC)})]))]))]))},vD=function(e){return a9(e)?dg:I(de,U([b7("diva-required-statement")]),f7(e))},v_={$:38},vU={$:43},vF={$:49},vG=function(e){var t,a=!ul(le(e)),r=!(t=c9(e)).$&&!ul(t.a);return a||r},vj=function(e){return!!e},vW=function(e){return I(de,U([b7("diva-contents-empty")]),U([tu(e)]))},vZ=vW("No contents available."),vK=p(function(e,t){return I(nU,am,I(rO,t,e))}),vX=p(function(e,t){return I(nd,vY(e),t.aE)}),vY=p(function(e,t){return t.$?I(vX,e,t.a):M(t.a,e)}),vJ=m(function(e,t,a){return I(ds,H(U([b9(U([{a:"diva-contents-button",b:!0},{a:"diva-ui-button",b:!0},{a:"is-current",b:e}])),df("button"),db({$:22,a:t})]),e?U([I(du,"aria-current","location")]):B),U([tu(a)]))}),vQ=m(function(e,t,a){return I(ds,U([b7("diva-contents-disclosure diva-ui-button"),df("button"),I(du,"aria-expanded",e?"true":"false"),I(du,"aria-label",H(e?"Hide information for ":"Show information for ",a)),db({$:46,a:t})]),U([tu(e?"▾":"▸")]))}),v0=p(function(e,t){return I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu(I(cu,e,t.dN))])),I(de,U([b7("diva-metadata-value")]),f7(I(cu,e,t.dx)))]))}),v1=p(function(e,t){return ul(t)?B:U([I(de,U([b7("diva-contents-meta")]),I(rl,v0(e),t))])}),v2=m(function(e,t,a){return e?t?a?1===I(W,2,a)?a:a-1:0:a-I(W,2,a):a}),v4=m(function(e,t,a){if(a.$)return B;var r=a.a;if(!e)return U([r]);if(t&&!r)return U([0]);var n=C(v2,1,t,r);return U([n,n+1])}),v3=m(function(e,t,a){var r=I(nr,function(a){return a.$?ap(R(tf,v6,e,t,a.a)):am},a);return ul(r)?B:U([I(dR,U([b7("diva-contents-list-nested diva-list-reset")]),r)])}),v6=m(function(e,t,a){var r,n=I(vK,t,a.s),i=I(cu,e.en,a.dN),o=a9(i)?"[Untitled range]":i,u=M(e.d$,ap(a.s)),s=u?I(v1,e.en,a.dP):B,c=I(nd,function(e){return I(vX,e,a)},I(rl,function(e){return e.c7},I(nr,function(e){return I(lh,e,r.aH)},C(v4,(r=e).b8,r.b$,r.R)))),l=C(vJ,c,n,o),b=I(de,U([b7("diva-contents-heading")]),H(ul(a.dP)?B:U([C(vQ,u,a.s,o)]),U([l]))),d=C(v3,e,t,a.aE);return I(dC,U([b7("diva-contents-item")]),I(_,b,H(s,d)))}),v5=m(function(e,t,a){return I(dR,U([b7("diva-contents-list diva-list-reset")]),I(rl,C(tf,v6,e,t),a))}),v8=p(function(e,t){var a=lt(t);if(a.$)return vZ;var r=a.a;return ul(r)?vZ:C(v5,e,e.e8,r)}),v7={$:34},v9={$:35},ge=p(function(e,t){return I(de,U([b7("diva-contents-view-tabs")]),U([I(ds,U([b9(U([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:!t}])),df("button"),db(v7)]),U([tu("Index")])),I(ds,U([b9(U([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:1===t}])),df("button"),db(v9)]),U([tu(e?"On these pages":"On this page")]))]))}),gt=p(function(e,t){var a=I(iM,function(t){return t.$?I(gt,e,t.a):B},t.aE);return I(vX,e,t)?I(_,t,a):a}),ga=p(function(e,t){return I(iM,gt(e),t)}),gr=vW("No ranges for this page."),gn=function(e){var t=p(function(e,t){for(;;)if(!e.b)return az(t);else if(e.a.b){var a=e.a,r=a.a,n=a.b,i=e.b;if(r.$){var o=I(_,r.a.aE,I(_,n,i)),u=t;e=o,t=u;continue}var s=r.a,o=I(_,n,i),u=I(_,s,t);e=o,t=u;continue}else{var i=e.b,o=i,u=t;e=o,t=u;continue}});return I(t,U([e]),B)},gi=p(function(e,t){return I(nr,function(t){return I(rO,t,e)},gn(t.aE))}),go=m(function(e,t,a){var r=I(v1,e.en,a.dP),n=I(vK,e.e8,a.s),i=I(cu,e.en,a.dN),o=I(gi,t,a),u=nM(o),s=nM(az(o)),c=function(){var e={a:u,b:s};if(e.a.$)if(e.b.$)return"";else{e.a;var t=e.b.a;return"["+t+"] "}if(e.b.$){var a=e.a.a;return e.b,"["+a+"] "}var a=e.a.a,t=e.b.a;return M(a,t)?"["+a+"] ":"["+(a+"-")+t+"] "}(),l=C(vJ,!1,n,a9(i)?c+"[Untitled range]":H(c,i));return I(dC,U([b7("diva-contents-item")]),I(_,l,r))}),gu=p(function(e,t){var a,r=I(n_,function(e){return e.c7},I(nD,function(e){return I(lh,e,a.aH)},(a=e).R));if(r.$)return gr;var n=r.a,i=lt(t);if(i.$)return gr;var o=I(ga,n,i.a);if(ul(o))return gr;var u=si(I(rl,function(e){return{a:e.s,b:cs(e)}},cY(t)));return I(dR,U([b7("diva-contents-list diva-list-reset")]),I(rl,I(go,e,u),o))}),gs=function(e){var t=da(e),a=function(){var a={a:e.dD,b:t};if(a.a)if(a.b.$)return a.a,a.b,gr;else{a.a;var r=a.b.a;return I(gu,e,r)}if(a.b.$)return a.a,a.b,vZ;a.a;var r=a.b.a;return I(v8,e,r)}();return I(de,U([b7("diva-contents-panel")]),U([I(de,U([b7("diva-contents-title")]),U([tu("Contents")])),I(ge,e.b8,e.dD),a]))},gc=p(function(e,t){return I(de,B,U([I(dP,U([dN(t.s),f9("_blank"),dO("noopener noreferrer")]),U([tu(I(cu,e,t.dN))]))]))}),gl=p(function(e,t){var a=c9(t);if(a.$)return B;var r=a.a;return ul(r)?B:U([I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu("Homepage")])),I(de,U([b7("diva-metadata-value")]),I(rl,gc(e),r))]))])}),gb=p(function(e,t){return I(rl,v0(e),le(t))}),gd=m(function(e,t,a){return I(de,U([b9(U([{a:"diva-sidebar-pane",b:!0},{a:"is-hidden",b:!M(e,t)}]))]),U([a]))}),gf=w(function(e,t,a,r){return I(ds,U([b9(U([{a:"diva-sidebar-tab-button",b:!0},{a:"is-active",b:M(e,t)}])),df("button"),db(r)]),U([tu(a)]))}),gh=m(function(e,t,a){for(;;)if(e<=0)return a;else{if(!t.b)return a;var r=t.a,n=t.b,i=e-1,o=I(_,r,a);e=i,t=n,a=o;continue}}),gv=p(function(e,t){return az(C(gh,e,t,B))}),gg=m(function(e,t,a){if(t<=0)return B;var r={a:t,b:a};e:for(;;){t:for(;;)if(!r.b.b)return a;else if(r.b.b.b)switch(r.a){case 1:break e;case 2:var n=r.b,i=n.a,o=n.b.a;return U([i,o]);case 3:if(r.b.b.b.b){var u=r.b,i=u.a,s=u.b,o=s.a,c=s.b.a;return U([i,o,c])}break t;default:if(r.b.b.b.b&&r.b.b.b.b.b){var l=r.b,i=l.a,b=l.b,o=b.a,d=b.b,c=d.a,f=d.b,h=f.a,v=f.b;return e>1e3?I(_,i,I(_,o,I(_,c,I(_,h,I(gv,t-4,v))))):I(_,i,I(_,o,I(_,c,I(_,h,C(gg,e+1,t-4,v)))))}break t}else if(1===r.a)break e;else break;return a}var i=r.b.a;return U([i])}),gp=p(function(e,t){return C(gg,0,e,t)}),gm=m(function(e,t,a){for(;;)if(!t.b)return az(a);else{var r=I(lf,e,t),n=I(gp,e,t),i=e,o=I(_,n,a);e=i,t=r,a=o;continue}}),gw=p(function(e,t){return e<=0?B:C(gm,e,t,B)}),gx=p(function(e,t){return e<=1?t:I(iM,az,I(gw,e,t))}),gy={$:0},gE=w(function(e,t,a,r){return I(iB,r,C(v4,e,t,a))}),gI=y(function(e,t,a,r,n,i){var o=R(gE,t,a,r,n),u=aI(i.cy)>1,s=I(nU,I(nU,{c6:gy,s:"",bN:!1,aD:!0,dN:"",b3:"",be:"",cV:""},nM(i.cy)),nM(I(iS,function(e){return e.bN},i.cy))),c=function(){var t=I(hP,s.b3,e);if(t.$)return I(de,U([b7("diva-thumbs-image diva-thumbs-image--protected"),I(du,"aria-label","Protected image")]),B);var a=t.a;return C(dv,"diva-lazy-image",U([b7("diva-thumbs-lazy-image"),I(du,"data-src",i.be),I(du,"data-fallback-src",i.ey),I(du,"data-alt","Page "+es(n+1)),I(du,"data-crossorigin",a)]),B)}(),l=U([b9(U([{a:"diva-thumbs-item",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:o}])),df("button"),dt("thumb-"+es(n)),I(du,"data-thumb-index",es(n)),db({$:24,a:n})]);return I(ds,l,U([c,I(de,U([b9(U([{a:"diva-thumbs-label",b:!0},{a:"is-active",b:o}]))]),U([tu(u?i.dN+" *":i.dN)]))]))}),gC=p(function(e,t){var a=e.db,r=e.c6,n=e.R,i=e.b$,o=e.bf,u=e.b8,s=e.gS,c=I(a$,n7,t),l=1===s?I(gx,3,c):c;return I(de,U([b9(U([{a:"diva-thumbs",b:!0},{a:"is-fullscreen",b:a}])),dt("thumbs"),I(tm,"scroll-behavior",o?"auto":"smooth")]),I(rl,function(e){return A(tg,gI,r,u,i,n,e.a,e.b)},l))}),gR=p(function(e,t){var a=I(nU,0,I(n_,lr,t)),r=M(e.I,rw)||M(e.bY,rm)?B:e.aH,n=U([{a:"diva-sidebar-panel",b:!0},{a:"is-fullscreen",b:e.db},{a:"is-hidden",b:!vj(e.B)},{a:"is-overlay",b:e.bO},{a:"is-mobile-hidden",b:!e.bO}]),i=I(nU,!1,I(n_,vG,t)),o=i?U([C(gd,e.B,2,I(de,U([b7("diva-metadata-panel")]),function(){var t=da(e);if(t.$)return U([I(de,U([b7("diva-metadata-body")]),U([tu("No metadata available.")]))]);var a=t.a;return U([I(de,U([b7("diva-metadata-body")]),H(I(gb,e.en,a),I(gl,e.en,a)))])}()))]):B,u=i?U([R(gf,e.B,2,"Metadata",vU)]):B,s=I(nU,!1,I(n_,I(rX,ul,cj),I(nD,lt,t))),c=s?U([R(gf,e.B,3,"Contents",v_)]):B,l=s?U([C(gd,e.B,3,gs(e))]):B;return I(de,U([b9(n),I(tm,"width",vj(e.B)?es(e.b0)+"px":"0px")]),U([I(de,U([b7("diva-sidebar-tabs")]),I(_,R(gf,e.B,1,"Thumbnails",vF),H(u,c))),I(de,U([b7("diva-sidebar-content")]),I(_,C(gd,e.B,1,I(gC,{c6:e.c6,db:e.db,R:e.R,b$:e.b$,bf:e.bf,b8:e.b8,gS:a},r)),H(o,l)))]))}),g$=p(function(e,t){return I(gR,e,ap(t))}),gL=function(e){return{$:37,a:e}},gA=function(e){return 2!==e.I.$&&M(da(e),am)?dg:I(de,U([b9(U([{a:"diva-sidebar-resizer",b:!0},{a:"is-hidden",b:!vj(e.B)}])),I(dl,"mousedown",I(ew,gL,I(ev,"clientX",el)))]),U([tu("⋮")]))},gS={$:17},gT={$:18},gk={$:25},gM={$:26},gP={$:42},gN={$:47},gz={$:48},gO={$:50},gV=p(function(e,t){return O(a8(t),e)>0?I(re,e-3,t)+"...":t}),gq=function(e){var t=function(){var t=e.R;if(t.$)return"";var a=t.a;if(!e.b8)return I(nU,"",I(n_,function(e){return e.dN},I(lh,a,e.aH)));var r=C(v2,e.b8,e.b$,a),n=I(n_,function(e){return e.dN},I(lh,r+1,e.aH)),i={a:I(n_,function(e){return e.dN},I(lh,r,e.aH)),b:n};if(i.a.$)return"";var o=i.a.a;return e.b$&&!r||n.$?o:o+" / "+n.a}();return I(gV,140,t)},gH=hI({A:"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z",C:"0 0 512 512"}),gB=hI({A:"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z",C:"0 0 576 512"}),gD=hI({A:"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z",C:"0 0 384 512"}),g_=hI({A:"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z",C:"0 0 384 512"}),gU=hI({A:"M 283.05 111 C 292.45 101.6 307.65 101.6 316.95 111 C 326.25 120.4 326.35 135.6 316.95 144.9 L 277.95 183.9 L 556.05 183.9 C 569.35 183.9 580.05 194.6 580.05 207.9 C 580.05 221.2 569.35 231.9 556.05 231.9 L 277.95 231.9 L 316.95 270.9 C 326.35 280.3 326.35 295.5 316.95 304.8 C 307.55 314.1 292.35 314.2 283.05 304.8 L 203.05 224.8 C 193.65 215.4 193.65 200.2 203.05 190.9 L 283.05 110.9 L 283.05 111 Z M 392 0 C 422.9 0 448 25.1 448 56 L 448 128 L 400 128 L 400 56 C 400 51.6 396.4 48 392 48 L 88 48 C 65.9 48 48 65.9 48 88 L 48 358.7 C 57.8 354.4 68.6 352 80 352 L 392 352 C 396.4 352 400 348.4 400 344 L 400 288 L 448 288 L 448 344 C 448 366.3 434.9 385.6 416 394.6 L 416 464 L 424 464 C 437.3 464 448 474.7 448 488 C 448 501.3 437.3 512 424 512 L 80 512 C 35.8 512 0 476.2 0 432 C 0 429.3 0.1 426.6 0.4 424 L 0 424 L 0 88 C 0 39.4 39.4 0 88 0 L 392 0 Z M 80 400 C 62.3 400 48 414.3 48 432 C 48 449.7 62.3 464 80 464 L 368 464 L 368 400 L 80 400 Z",C:"0 0 640 512"}),gF=hI({A:"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z",C:"0 0 640 512"}),gG={$:39},gj=hI({A:"M217 401L345 273c9.4-9.4 9.4-24.6 0-33.9L217 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zM344 80l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24z",C:"0 0 512 512"}),gW=p(function(e,t){return I(de,U([b9(U([{a:"diva-canvas-label",b:!0},{a:"is-fullscreen",b:e}]))]),U([tu(t)]))}),gZ=hI({A:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z",C:"0 0 512 512"}),gK=hI({A:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z",C:"0 0 512 512"}),gX=function(e){var t,a,r=gq(e),n=cW(da(e));return I(de,U([b7("diva-canvas-toolbar-stack")]),U([I(de,U([b7("diva-canvas-toolbar")]),U([I(de,U([b7("diva-canvas-toolbar-section")]),U([2===e.I.$?hA({eI:e.a0?vN:gj,eO:e.db,dN:e.a0?"Hide Collection":"Show Collection",dU:ap(gG)}):dg,hA({eI:gK,eO:e.db,dN:"Zoom Out",dU:I(vk,n,gM)}),hA({eI:gZ,eO:e.db,dN:"Zoom In",dU:I(vk,n,gk)})])),I(de,U([b7("diva-canvas-toolbar-end")]),U([C(td,gW,e.db,r),I(de,U([b7("diva-canvas-toolbar-section is-right")]),H(I(rl,function(e){var a=I(nU,"Log out",I(n_,cu(t.en),e.dN)),r=e.at.$?a:a+" (popup blocked)";return I(de,U([b7("diva-canvas-toolbar-item"),I(du,"data-tooltip",r)]),U([I(ds,U([b7("diva-canvas-toolbar-button"),df("button"),I(du,"aria-label",r),I(du,"data-diva-auth-logout",e.fm),I(du,"data-diva-auth-url",e.aK)]),U([gF]))]))},I(rl,function(e){return{at:e.at,dN:e.a6.dN,fm:e.s,aK:e.a6.s}},bq((t=e).c6.af))),U([hA({eI:gD,eO:e.db,dN:"Page View",dU:I(vk,n,gT)}),hA({eI:gH,eO:e.db,dN:"Manifest Info",dU:I(vk,n,gS)}),hA({eI:e.b8?g_:gB,eO:e.db,dN:e.b8?"One Page":"Two Page",dU:I(vk,n,gO)}),hA({eI:e.b$?gU:gF,eO:e.db,dN:"Shift Pages",dU:I(vk,n||!e.b8,gN)}),hA({eI:(a=e.df?e.bO:!!e.B)?vN:vq,eO:e.db,dN:a?"Hide Sidebar":"Show Sidebar",dU:I(vk,n,gz)}),I(hL,U([I(du,"data-diva-action","fullscreen")]),{eI:e.db?vP:vH,eO:e.db,dN:e.db?"Exit Full":"Fullscreen",dU:ap(gP)})])))]))]))]))},gY=function(e){var t=e.I;switch(t.$){case 1:return e.eE?am:ap({a:"Unable to display manifest",b:"No canvases found in this manifest.",c:!1});case 2:var a=e.bY;if(3===a.$){var r=a.a;return ap({a:"Unable to load manifest",b:r,c:!0})}return e.eE?am:ap({a:"No Manifest Selected",b:"Select a manifest from the collection to view.",c:!1});case 3:var r=t.a;return ap({a:"Unable to load manifest",b:r,c:!0});default:return am}},gJ=function(e){var t={a:e.de,b:e.dE};if(t.a.$||t.b.$)return am;var a=t.a.a,r=t.b.a;return a>0?ap(es(X(r/a*100))+"%"):am},gQ={Main:{init:tU({f$:function(e){var t=rp(e.d7),a=uT(e._),r=e.d1?a:0,n=e.dS;return{a:{aw:e.aw,c6:r$,ch:am,a0:!0,dB:400,dD:0,dE:am,en:t,cm:rC,ez:uS,bJ:am,cn:"",db:!1,eE:!1,cz:e.cz,dM:!1,de:am,df:!1,X:!1,dO:!1,a7:n,bO:!1,di:!1,aG:0,cH:!1,dj:!0,aH:B,ba:am,cI:am,e8:rC,I:rw,bY:rm,dm:e.dm,R:am,d$:am,b$:!1,dr:e.dr,cO:am,_:a,B:r,b0:C(rE,220,520,e.b0),bf:!1,b8:0},b:eX(U([C(uA,rx,e.aw,n),I(rg,function(e){return I(ry,X(e.d8.dz),X(e.d8.dd))},rR)]))}},gF:function(e){return eX(U([sE(function(e){return uk(I(uD,e.fd,e.b3))}),sI(function(e){return I(uV,e.fd,e.aK)}),u8(uO),sy(I(rX,uM,uk)),u0(function(e){return uk(C(uB,e.s,e.du,e.ef))}),uQ(function(e){return uk(I(uH,e.s,e.ac))}),u4(function(e){return uk(C(u_,e.da,e.dh,e.dx))}),u6(function(e){return uk(C(uF,e.da,e.dh,e.dx))}),u3(function(e){return uk(I(uU,e.da,e.ac))}),u2(sx),u1(u9),uJ(function(e){return uk(uq)}),sm(uN),sw(uz),u5(uP),sR(uG),sC(uX),C(sv,1,"resize",I(ev,"target",C(ex,ry,I(ev,"innerWidth",el),I(ev,"innerHeight",el)))),e.cO.$?se:eX(U([sg(I(ew,uW,I(ev,"clientX",el))),sp(a2(uK))])),e.ch.$?se:eX(U([sg(I(ew,uj,I(ev,"clientX",el))),sp(a2(uZ))]))]))},gQ:b5,gR:function(e){var t,a,r,n,i=gY(e);return I(de,U([dt(e.dm)]),U([I(de,U([b9(U([{a:"diva-app",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([R(tf,hk,e.dr,e.db,I(nU,"",I(n_,function(e){return I(cu,r.en,dr(e))},da(r=e)))),I(de,U([b7("diva-app-header")]),U([gX(e)])),I(de,U([b9(U([{a:"diva-app-body",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([dM(e),2!==(t=e).I.$?dg:I(de,U([b9(U([{a:"diva-collection-resizer",b:!0},{a:"is-hidden",b:!t.a0}])),I(dl,"mousedown",I(ew,dI,I(ev,"clientX",el)))]),U([tu("⋮")])),I(de,U([b9(U([{a:"diva-canvas-column",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([L(tv,dE,e.db,e.X||M(e.I,rw)||M(e.bY,rm),2===e.I.$&&e.a0,i,gJ(e))])),gA(e),2===e.I.$?I(gR,e,da(e)):I(dm,g$(e),da(e))])),I(de,U([b7("diva-required-statement-dock")]),U([I(dm,tb(vD),I(n_,function(e){return I(cu,n.en,e.dx)},I(nD,dn,da(n=e))))])),(a=e).cH?I(de,U([b9(U([{a:"diva-modal-overlay",b:!0},{a:"is-fullscreen",b:a.di}]))]),U([I(de,U([b9(U([{a:"diva-modal",b:!0},{a:"is-fullscreen",b:a.di},{a:"is-page-view",b:!a.di}]))]),U([vB(a),vI(a)]))])):dg,e.dO?I(de,U([b7("diva-modal-overlay")]),U([I(de,U([b7("diva-modal is-narrow")]),U([hS(e),I(hf,e,da(e))]))])):dg,I(dm,dh(e),e.c6.ag)]))]))}})(I(em,function(e){return I(em,function(t){return I(em,function(a){return I(em,function(r){return I(em,function(n){return I(em,function(i){return I(em,function(o){return I(em,function(u){return I(em,function(s){return a2({aw:s,cz:u,dS:o,dm:i,d1:n,dr:r,_:a,b0:t,d7:e})},I(ev,"acceptHeaders",nl(eh)))},I(ev,"initialPage",ef))},I(ev,"objectData",eh))},I(ev,"rootElementId",eh))},I(ev,"showSidebar",eb))},I(ev,"showTitle",eb))},I(ev,"sidebarPanel",eh))},I(ev,"sidebarWidth",el))},I(ev,"userLanguage",eh)))(0)}},g0=/\/info\.json(?:[?#].*)?$/,g1=()=>new DOMException("The operation was cancelled.","AbortError"),g2=e=>"string"==typeof e?e:{...e},g4=class{resolve(e,t){if(this.destroyed||t.aborted)return Promise.reject(g1());let a=JSON.stringify([e.url,e.isStatic]),r=this.resolutionCache.get(e.sourceId);if(r&&r.descriptorKey!==a)this.invalidateSource(e.sourceId);else if(r){let e=r.resolutions.get(r.activeState);if(void 0!==e)return Promise.resolve(g2(e))}let n=this.inflight.get(e.sourceId);return n&&n.descriptorKey!==a&&(this.invalidateSource(e.sourceId),n=void 0),n||(n=this.startResolution(e,a)),this.consume(n,t)}registerSources(e){Array.from(this.inflight.values()).forEach(e=>this.cancelResolution(e)),this.resolutionCache.clear(),this.requests.forEach(e=>e.abort()),this.requests.clear(),Array.from(this.frames.keys()).forEach(e=>this.cancelFrame(e)),this.popups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.popups.clear(),this.logoutPopups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.logoutPopups.clear()}invalidateSources(e){e.forEach(e=>this.invalidateSource(e))}destroy(){this.destroyed||(this.destroyed=!0,this.root.removeEventListener("click",this.clickHandler,!0),this.ports.authDestroyed.send(null),this.requests.forEach(e=>e.abort()),this.requests.clear(),this.frames.forEach((e,t)=>this.cancelFrame(t)),this.popups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.popups.clear(),this.logoutPopups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.logoutPopups.clear(),this.pending.forEach(e=>e.reject(new DOMException("The viewer was destroyed.","AbortError"))),this.pending.clear(),this.inflight.clear(),this.resolutionCache.clear())}succeed(e){let t,a=this.pending.get(e.requestId);if(!a||this.destroyed)return;this.pending.delete(e.requestId);let r=this.inflight.get(a.sourceId);(null==r?void 0:r.requestId)===e.requestId&&this.inflight.delete(a.sourceId);let n=e.credentialed?"use-credentials":"Anonymous";t=e.infoJson&&"object"==typeof e.infoJson&&!e.isStatic?{...(e=>{let t={...e};for(let e of["id","@id"]){let a=t[e];"string"==typeof a&&g0.test(a)&&(t[e]=a.replace(g0,""))}return t})(e.infoJson),crossOriginPolicy:n,ajaxWithCredentials:e.credentialed}:e.isStatic?{type:"image",url:e.url,crossOriginPolicy:n,ajaxWithCredentials:e.credentialed}:e.credentialed?{url:e.url,crossOriginPolicy:n,ajaxWithCredentials:!0}:e.url;let i=e.credentialed?"credentialed":"anonymous",o=this.resolutionCache.get(a.sourceId),u=(null==o?void 0:o.descriptorKey)===a.descriptorKey?o.resolutions:new Map;u.set(i,t),this.resolutionCache.set(a.sourceId,{descriptorKey:a.descriptorKey,activeState:i,resolutions:u}),a.resolve(t)}fail(e,t){let a=this.pending.get(e);if(!a)return;this.pending.delete(e);let r=this.inflight.get(a.sourceId);(null==r?void 0:r.requestId)===e&&this.inflight.delete(a.sourceId),a.reject(Error(t))}startResolution(e,t){let a,r,n=`tile-source-${this.nextRequest+=1}`,i={requestId:n,descriptorKey:t,promise:new Promise((e,t)=>{a=e,r=t}),consumers:new Set};return this.pending.set(n,{sourceId:e.sourceId,descriptorKey:t,resolve:a,reject:r}),this.inflight.set(e.sourceId,i),this.ports.resolveTileSourceRequested.send({requestId:n,sourceId:e.sourceId}),i}consume(e,t){let a=this.nextConsumer+=1;return e.consumers.add(a),new Promise((r,n)=>{let i=!1,o=()=>{t.removeEventListener("abort",u),e.consumers.delete(a)},u=()=>{i||(i=!0,o(),n(g1()),0===e.consumers.size&&this.cancelResolution(e))};t.addEventListener("abort",u,{once:!0}),e.promise.then(e=>{i||(i=!0,o(),r(g2(e)))},e=>{i||(i=!0,o(),n(e))})})}cancelResolution(e){var t;let a=this.pending.get(e.requestId);a&&(this.pending.delete(e.requestId),(null==(t=this.inflight.get(a.sourceId))?void 0:t.requestId)===e.requestId&&this.inflight.delete(a.sourceId),this.ports.resolveTileSourceCancelled.send(e.requestId),a.reject(g1()))}invalidateSource(e){this.resolutionCache.delete(e);let t=this.inflight.get(e);t&&this.cancelResolution(t)}async fetch(e){let t=new AbortController;this.requests.set(e.id,t);try{let a=await fetch(e.url,{mode:"cors",credentials:e.withCredentials?"include":"omit",signal:t.signal,headers:e.bearer?{Authorization:`Bearer ${e.bearer}`}:void 0}),r=await a.text();this.destroyed||this.ports.authHttpResponded.send({id:e.id,status:a.status,body:r})}catch(a){t.signal.aborted||this.destroyed||this.ports.authHttpFailed.send({id:e.id,message:a instanceof Error?a.message:"Authorization request failed."})}finally{this.requests.delete(e.id)}}cancelFetch(e){var t;null==(t=this.requests.get(e))||t.abort(),this.requests.delete(e)}storage(e){let t="diva:iiif-auth2:"+encodeURIComponent(e.key);try{if("write"===e.action)return void sessionStorage.setItem(t,JSON.stringify({accessToken:e.accessToken,expiresAt:e.expiresAt}));if("remove"===e.action)return void sessionStorage.removeItem(t);let a=sessionStorage.getItem(t);this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:a?JSON.parse(a):null})}catch(t){"read"===e.action&&this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:null})}}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let a=t.closest("button[data-diva-auth-logout][data-diva-auth-url]");if(a&&this.root.contains(a)){e.preventDefault(),e.stopPropagation(),this.startLogout(a);return}let r=t.closest("button[data-diva-auth-flow][data-diva-auth-url]");if(!r||!this.root.contains(r))return;e.preventDefault(),e.stopPropagation();let n=r.dataset.divaAuthFlow,i=new URL(r.dataset.divaAuthUrl,location.href);i.searchParams.set("origin",location.origin);let o=window.open(i.href,"_blank");if(!o)return void this.ports.authPopupChanged.send({flowId:n,status:"blocked"});this.ports.authPopupChanged.send({flowId:n,status:"opened"});let u=Date.now(),s=window.setInterval(()=>{o.closed?(clearInterval(s),this.popups.delete(n),this.ports.authPopupChanged.send({flowId:n,status:"closed"})):Date.now()-u>6e5&&(o.close(),clearInterval(s),this.popups.delete(n),this.ports.authTokenFailed.send({flowId:n,message:"Sign-in timed out."}))},250);this.popups.set(n,{window:o,timer:s})}startLogout(e){let t=e.dataset.divaAuthLogout,a=new URL(e.dataset.divaAuthUrl,location.href),r=window.open(a.href,"_blank");if(!r)return void this.ports.authLogoutChanged.send({sessionId:t,status:"blocked"});this.ports.authLogoutChanged.send({sessionId:t,status:"opened"});let n=window.setInterval(()=>{r.closed&&(clearInterval(n),this.logoutPopups.delete(t),this.ports.authLogoutChanged.send({sessionId:t,status:"closed"}))},250);this.logoutPopups.set(t,{window:r,timer:n})}startFrame(e){this.cancelFrame(e.flowId);let t=new URL(e.url,location.href);t.searchParams.set("messageId",e.messageId),t.searchParams.set("origin",location.origin);let a=document.createElement("iframe");a.hidden=!0,a.src=t.href;let r=r=>{r.source===a.contentWindow&&r.origin===t.origin&&r.data&&"object"==typeof r.data&&r.data.messageId===e.messageId&&this.ports.authTokenMessage.send({flowId:e.flowId,now:Date.now(),value:r.data})};window.addEventListener("message",r);let n=window.setTimeout(()=>{this.cancelFrame(e.flowId),this.ports.authTokenFailed.send({flowId:e.flowId,message:"The token service did not respond."})},3e4);this.frames.set(e.flowId,{element:a,timeout:n,receive:r}),document.body.append(a)}cancelFrame(e){let t=this.frames.get(e);t&&(clearTimeout(t.timeout),window.removeEventListener("message",t.receive),t.element.remove(),this.frames.delete(e))}constructor(e,t){this.pending=new Map,this.inflight=new Map,this.resolutionCache=new Map,this.requests=new Map,this.frames=new Map,this.popups=new Map,this.logoutPopups=new Map,this.nextRequest=0,this.nextConsumer=0,this.destroyed=!1,this.ports=e,this.root=t,this.clickHandler=this.handleClick.bind(this),t.addEventListener("click",this.clickHandler,!0),e.tileSourceResolutionSucceeded.subscribe(e=>this.succeed(e)),e.tileSourceResolutionFailed.subscribe(e=>this.fail(e.requestId,e.message)),e.authHttpRequested.subscribe(e=>void this.fetch(e)),e.authHttpCancelled.subscribe(e=>this.cancelFetch(e)),e.authStorageRequested.subscribe(e=>this.storage(e)),e.authTokenFrameRequested.subscribe(e=>this.startFrame(e)),e.authTokenFrameCancelled.subscribe(e=>this.cancelFrame(e))}};function g3(e){let t=e.canvas.width,a=e.canvas.height,r=pC._ensureScratchContext(t,a);return r.clearRect(0,0,t,a),r.drawImage(e.canvas,0,0),r.getImageData(0,0,t,a)}function g6(e,t){let a=t.filters;e.filters=a?Array.isArray(a)?a:[a]:[];for(let t=0;t=0)throw Error("An item can not have filters assigned multiple times.");t.push(e)}function g8(e,t){if(0===e.filters.length)return[];let a=null;for(let r=0;r=0)return n.processors}else a=n.processors}return a||[]}var g7=(e,t)=>{let a=e[0],r=e[e.length-1];for(let n=0;n=t){r=e[n],a=e[Math.max(0,n-1)];break}if(r.stop===a.stop)return r.color.slice();let n=(t-a.stop)/(r.stop-a.stop);return[Math.round(a.color[0]+(r.color[0]-a.color[0])*n),Math.round(a.color[1]+(r.color[1]-a.color[1])*n),Math.round(a.color[2]+(r.color[2]-a.color[2])*n)]},g9=e=>{let t=[];for(let a=0;a<256;a+=1){let r=a/255;t[a]=g7(e,r)}return t},pe=new Map,pt=e=>e<0?0:e>255?255:e,pa=e=>e<0?0:e>1?1:e,pr=e=>{if(!e)return null;let t=e.trim();if(t.startsWith("#")&&(t=t.slice(1)),3===t.length&&(t=t.split("").map(e=>e+e).join("")),6!==t.length)return null;let a=parseInt(t,16);return Number.isNaN(a)?null:[a>>16&255,a>>8&255,255&a]},pn=(e,t,a,r,n)=>{let i=new Uint8ClampedArray(e.length);if(!r)return i.set(e),i;let o=1/(2*r+1);if(n){let n=new Uint8ClampedArray(t*a);for(let i=0;i>8;return n}function pu(e,t){let a=e.canvas.width,r=e.canvas.height,n=pC._ensureScratchContext(a,r);n.clearRect(0,0,a,r),n.drawImage(e.canvas,0,0);let i=n.getImageData(0,0,a,r);t(i)&&(n.putImageData(i,0,0),e.clearRect(0,0,a,r),e.drawImage(pC._scratchCanvas,0,0))}function ps(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function pc(e){let t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function pl(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function pb(e,t){let a=pc([1,1,1]);for(let r=0;r{t()};function pg(e,t,a){let r=e/255,n=t/255,i=a/255,o=Math.max(r,n,i),u=Math.min(r,n,i),s=o-u,c=0;if(o!==u){switch(o){case r:c=(n-i)/s+6*(n{i[0]=t[e],i[1]=a,i[2]=r,i[3]=n}):1===e?pi((e,a,r,n,i)=>{i[0]=e,i[1]=t[a],i[2]=r,i[3]=n}):pi((e,a,r,n,i)=>{i[0]=e,i[1]=a,i[2]=t[r],i[3]=n})}function pw(e,t){let a=t/100,r=Math.abs(a),n=e=>a>0?e+(255-e)*a:e-e*r;return 0===e?pi((e,t,a,r,i)=>{i[0]=n(e),i[1]=t,i[2]=a,i[3]=r}):1===e?pi((e,t,a,r,i)=>{i[0]=e,i[1]=n(t),i[2]=a,i[3]=r}):pi((e,t,a,r,i)=>{i[0]=e,i[1]=t,i[2]=n(a),i[3]=r})}function px(e,t){let a=Math.max(0,Math.min(100,t||0));if(0===a)return pv;let r=1-a/100*.8,n=[];for(let e=0;e<256;e+=1)n[e]=pt(255*Math.pow(e/255,r));return pm(e,n)}function py(e,t){let a=Math.max(0,Math.min(100,t||0))/100;if(0===a)return pv;let r=[];for(let e=0;e<256;e+=1){let t=255*(1/(1+Math.exp(-8*(e/255-.5))));r[e]=pt(e+(t-e)*a)}return pm(e,r)}function pE(e,t,a){let r=Math.max(-100,Math.min(100,t||0))/100;if(0===r)return pv;let n=Math.max(.02,Math.min(.3,(void 0===a?8:a)/100));return pi((t,a,i,o,u)=>{let s=pg(t,a,i),c=pa(1-(0===e?Math.min(Math.abs(s.h),Math.abs(1-s.h)):Math.abs(s.h-e))/n)*Math.abs(r);if(c<=0){u[0]=t,u[1]=a,u[2]=i,u[3]=o;return}let l=r>=0?1:-1,b=pa(s.s+l*(1-s.s)*c),d=pa(s.v+l*s.v*c*.2),f=pp(s.h,b,d);u[0]=f.r,u[1]=f.g,u[2]=f.b,u[3]=o})}function pI(e,t){let a=Math.max(0,Math.min(100,t||0))/100;if(0===a)return pv;let r=[];for(let e=0;e<256;e+=1){let t=e/255*(e/255)*a;r[e]=pt(e+(255-e)*t)}return pm(e,r)}var pC={_scratch:null,_scratchCanvas:null,_scratchContext:null,_ensureScratch:function(e){return(!this._scratch||this._scratch.length255)throw Error("Threshold must be between 0 and 255.");return pi((t,a,r,n,i)=>{let o=255*(54*t+183*a+19*r>>8>=e);i[0]=o,i[1]=o,i[2]=o,i[3]=255})},SATURATION:function(e){let t=-.01*e;return pi((e,a,r,n,i)=>{let o=Math.max(e,a,r);i[0]=e!==o?e+(o-e)*t:e,i[1]=a!==o?a+(o-a)*t:a,i[2]=r!==o?r+(o-r)*t:r,i[3]=n})},VIBRANCE:function(e){let t=-1*e;return pi((e,a,r,n,i)=>{let o=Math.max(e,a,r),u=2*Math.abs(o-(e+a+r)/3)/255*t/100;i[0]=e!==o?e+(o-e)*u:e,i[1]=a!==o?a+(o-a)*u:a,i[2]=r!==o?r+(o-r)*u:r,i[3]=n})},HUE:function(e){let t=pf(Math.abs(e)/100*360);return pi((e,a,r,n,i)=>{i[0]=pt(t.m00*e+t.m01*a+t.m02*r),i[1]=pt(t.m10*e+t.m11*a+t.m12*r),i[2]=pt(t.m20*e+t.m21*a+t.m22*r),i[3]=n})},BRIGHTNESS:function(e){if(e<-255||e>255)throw Error("Brightness adjustment must be between -255 and 255.");let t=[];for(let a=0;a<256;a+=1)t[a]=a+e;return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},CC_RED:function(e){return pw(0,e)},CC_GREEN:function(e){return pw(1,e)},CC_BLUE:function(e){return pw(2,e)},CONTRAST:function(e){if(e<0)throw Error("Contrast adjustment must be positive.");let t=[];for(let a=0;a<256;a+=1)t[a]=a*e;return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},GAMMA:function(e){if(e<0)throw Error("Gamma adjustment must be positive.");let t=[];for(let a=0;a<256;a+=1)t[a]=255*Math.pow(a/255,e);return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},GREYSCALE:function(){return pi((e,t,a,r,n)=>{let i=77*e+150*t+29*a>>8;n[0]=i,n[1]=i,n[2]=i,n[3]=255})},INVERT:function(){let e=[];for(let t=0;t<256;t+=1)e[t]=255-t;return pi((t,a,r,n,i)=>{i[0]=e[t],i[1]=e[a],i[2]=e[r],i[3]=n})},MORPHOLOGICAL_OPERATION:function(e,t){if(e%2==0)throw Error("The kernel size must be an odd number.");let a=Math.floor(e/2);if(!t)throw Error("A comparator must be defined.");return function(r,n){pu(r,r=>{let n=r.width,i=r.height,o=pC._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,a,r,n,i,o){let u=4*a,s=r-i,c=a-i;for(let a=i;a=i&&l=i&&s=r)continue;let b=c*u;for(let t=0;t=0&&r{let n=r.width,i=r.height,o=pC._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,a,r,n,i,o){let u=4*a,s=r-o,c=a-o;for(let a=o;a=o&&l=o&&s=r)continue;let b=c*u;for(let r=0;r=0&&ut?0|Math.min((n-t)/r*128+128,255):0|Math.max(0,n/(t/128)),a[n]=e[i]}return pi((e,t,r,n,i)=>{let o=a[(e+t+r)/3|0];i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=255})},COLORMAP_PRESET:function(e){var t=e||"";let a=pe.get(t);if(a)return a;let r=null;switch(t){case"hot":r=g9([{stop:0,color:[0,0,0]},{stop:.4,color:[255,0,0]},{stop:.7,color:[255,255,0]},{stop:1,color:[255,255,255]}]);break;case"cool":r=g9([{stop:0,color:[0,0,0]},{stop:.5,color:[0,128,255]},{stop:1,color:[255,255,255]}]);break;case"gray":case"":r=g9([{stop:0,color:[0,0,0]},{stop:1,color:[255,255,255]}]);break;default:return null}return pe.set(t,r),r},CONVOLUTION_PRESET:function(e){switch((e||"").toLowerCase()){case"sharpen":return[0,-1,0,-1,5,-1,0,-1,0];case"blur":return[1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9];case"edge":return[-1,-1,-1,-1,8,-1,-1,-1,-1];case"emboss":return[-2,-1,0,-1,1,1,0,1,2];default:return null}},PSEUDOCOLOR:function(e,t,a,r){let n=(e||"").toLowerCase(),i=void 0===t?1:t,o=void 0===a?1:a,u=void 0===r?1:r,s=(e,t,a,r)=>{r[0]=pt(e*i),r[1]=pt(t*o),r[2]=pt(a*u)};return pi((e,t,a,r,i)=>{let o=.2126*e+.7152*t+.0722*a;switch(n){case"rg":{let a=pt(128+(e-t));s(a,255-a,(e+t)/2,i),i[3]=r;return}case"gb":{let e=pt(128+(t-a));s((t+a)/2,e,255-e,i),i[3]=r;return}case"rb":{let t=pt(128+(e-a));s(t,(e+a)/2,255-t,i),i[3]=r;return}case"luma":{let e=pt(o);s(e,255-e,e,i),i[3]=r;return}case"cmy":s(255-e,255-t,255-a,i),i[3]=r;return;case"heat":{let e=pt(o)/255;s(pt(255*Math.min(1,3*e)),pt(255*Math.min(1,Math.max(0,(e-.33)*3))),pt(255*Math.min(1,Math.max(0,(e-.66)*3))),i),i[3]=r;return}case"pca1":{let n=pt(.6*e+.3*t+.1*a);s(n,255-n,n,i),i[3]=r;return}case"pca2":{let n=pt(.5*e-.2*t-.3*a+128);s(n,255-n,255-n,i),i[3]=r;return}case"pca3":{let n=pt(.2*e+.6*t-.8*a+128);s(255-n,n,255-n,i),i[3]=r;return}default:s(e,t,a,i),i[3]=r}})},COLOR_REPLACE:function(e,t,a,r,n){let i=pr(e),o=pr(t);if(!i||!o)return pv;let u=Math.max(0,Math.min(255,void 0===a?0:a)),s=Math.max(0,Math.min(1,void 0===r?1:r)),c=pg(o[0],o[1],o[2]);return pi((e,t,a,r,l)=>{let b,d=e-i[0],f=t-i[1],h=a-i[2],v=Math.sqrt(d*d+f*f+h*h);if((b=(u<=0?+(0===v):1-Math.min(1,v/u))*s)<=0){l[0]=e,l[1]=t,l[2]=a,l[3]=r;return}let g=o[0],p=o[1],m=o[2];if(n){let r=(.2126*e+.7152*t+.0722*a)/255,n=pp(c.h,c.s,r);g=n.r,p=n.g,m=n.b}l[0]=pt(e+(g-e)*b),l[1]=pt(t+(p-t)*b),l[2]=pt(a+(m-a)*b),l[3]=r})},ALT_RED_GAMMA:function(e){return px(0,e)},ALT_GREEN_GAMMA:function(e){return px(1,e)},ALT_BLUE_GAMMA:function(e){return px(2,e)},ALT_RED_SIGMOID:function(e){return py(0,e)},ALT_GREEN_SIGMOID:function(e){return py(1,e)},ALT_BLUE_SIGMOID:function(e){return py(2,e)},ALT_RED_HUE:function(e,t){return pE(0,e,t)},ALT_GREEN_HUE:function(e,t){return pE(1/3,e,t)},ALT_BLUE_HUE:function(e,t){return pE(2/3,e,t)},ALT_RED_VIBRANCE:function(e){return pI(0,e)},ALT_GREEN_VIBRANCE:function(e){return pI(1,e)},ALT_BLUE_VIBRANCE:function(e){return pI(2,e)},GLOBAL_PCA_COLOR:function(e,t){let a=(e||"").toLowerCase(),r=Math.max(-180,Math.min(180,null!=t?t:0)),n={count:0,mean:[0,0,0],m2:[[0,0,0],[0,0,0],[0,0,0]]},i=null;return function(e,t){pu(e,e=>{let t=e.data;return!i&&(!function(e,t){for(let a=0;a=2e3&&(i=function(e){if(e.count<2)return null;let t=1/(e.count-1),a=[[e.m2[0][0]*t,e.m2[0][1]*t,e.m2[0][2]*t],[e.m2[1][0]*t,e.m2[1][1]*t,e.m2[1][2]*t],[e.m2[2][0]*t,e.m2[2][1]*t,e.m2[2][2]*t]];return pd(e.mean,a)}(n))),i?!function(e,t,a,r){let n=e.data,i=a.mean,o=a.vectors[0],u=a.vectors[1],s=a.vectors[2],c=Math.sqrt(Math.max(1e-6,a.values[0])),l=Math.sqrt(Math.max(1e-6,a.values[1])),b=Math.sqrt(Math.max(1e-6,a.values[2])),d=(e,t)=>pt(128+e/(3*t)*127);for(let e=0;el&&(l=v),gd&&(d=g),ph&&(h=p)}let v=l-c||1,g=d-b||1,p=h-f||1,m=(e,t,a)=>pt((e-t)/a*255);for(let e=0;e{let a=e.width,r=e.height;if(!a||!r)return!1;let n=e.data,i=po(n,a,r),o=pn(i,a,r,6,!0);for(let e=0,a=0;e{let a=e.width,r=e.height;if(!a||!r)return!1;let n=pn(e.data,a,r,2),i=e.data;for(let e=0;e{let t=e.width,n=e.height;if(!t||!n)return!1;let i=e.data,o=po(i,t,n),u=pn(o,t,n,Math.floor(a/2),!0);for(let e=0,t=0;eu[t]+r);i[e]=a,i[e+1]=a,i[e+2]=a}return!0}),t()}}},pR="diva-inline-styles";(e=>{if("u":first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-fullscreen,.diva-collection-panel.is-fullscreen{border-radius:0;height:100%}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs.is-fullscreen{height:100%}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-image{border-radius:0;width:100%;height:auto;display:block}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-panel{height:100%;padding:12px;overflow:auto}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{border-radius:0;height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-fullscreen{flex:1;min-height:0}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-viewer.is-fullscreen{border-radius:0;height:100%}.diva-modal-viewer.is-outer-left{border-radius:0}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb{border-radius:0;width:100%;height:auto;display:block}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{border-radius:0;width:100%;height:auto}}");var p$=class extends EventTarget{detectLanguage(){return navigator.language.split("-")[0]}initialPageFlag(e){return"number"==typeof e?Number.isInteger(e)&&e>=0?e:null:e&&"object"==typeof e&&("canvasId"===e.by||"label"===e.by)&&"string"==typeof e.value?{by:e.by,value:e.value}:null}getConnectedRoot(){let e=document.getElementById(this.rootId);return e||this.root}bindPorts(){this.getPort("tileSourcesUpdated").subscribe(e=>{this.auth.registerSources(e.tileSources),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setTileSources",e.tileSources,e.initialPageIndex,e.resourceId)}),this.getPort("pageAspectsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageAspects",e)}),this.getPort("pageLabelsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageLabels",e)}),this.getPort("pagesUpdated").subscribe(e=>{this.pages=e.map(e=>this.copyPage(e)),this.rebuildPageIndexes(),this.updateState({pageCount:this.pages.length,currentPageIndex:null,visiblePageIndexes:[]})}),this.getPort("zoomLevelUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setZoomLevel",e)}),this.getPort("zoomBy").subscribe(e=>{this.callViewerMethod("zoomBy",e)}),this.getPort("scrollToIndex").subscribe(e=>{this.callViewerMethod("scrollToIndex",e)}),this.getPort("filterPreviewUpdated").subscribe(e=>{var t;e?(this.filterPreviewVersion+=1,null==(t=this.filterPreviewController)||t.abort(),this.filterPreviewController=null,this.pendingFilterPreview=e,this.applyFilterPreview()):this.closeFilterPreview()}),this.getPort("setFullscreen").subscribe(e=>{this.setFullscreen(e)}),this.getPort("saveFilteredImage").subscribe(()=>{this.saveFilteredImage()}),this.getPort("layoutConfigUpdated").subscribe(e=>{this.callViewerMethod("setLayoutConfig",e.mode,e.direction)||this.callViewerMethodWhenReady("setLayoutConfig",e.mode,e.direction),this.updateLayoutState(e.mode,e.direction)}),this.getPort("layoutModeUpdated").subscribe(e=>{this.callViewerMethod("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection)}),this.getPort("resourceLoadSucceeded").subscribe(e=>{this.handleResourceSucceeded(e.requestId,e.url,e.hasPages,e.pageIndex)}),this.getPort("resourceLoadFailed").subscribe(e=>{this.handleResourceFailed(e.requestId,e.message)}),this.getPort("copyToClipboard").subscribe(e=>{this.copyToClipboard(e)}),this.getPort("authSourcesInvalidated").subscribe(e=>{this.auth.invalidateSources(e),this.callViewerMethodWhenReady("invalidateTileSources",e)})}ensureMainViewer(){let e=document.getElementById("main-viewer");return e&&e!==this.mainViewer&&(this.mainViewer=e),this.mainViewer}copyPage(e){var t;let a=e.images.map(e=>({...e})),r=null!=(t=a.find(t=>t.id===e.primaryImage.id&&t.isPrimary))?t:{...e.primaryImage};return{index:e.index,canvasId:e.canvasId,label:e.label,...null===e.width||void 0===e.width?{}:{width:e.width},...null===e.height||void 0===e.height?{}:{height:e.height},primaryImage:{...r},images:a}}rebuildPageIndexes(){this.pagesByCanvasId.clear(),this.pagesByLabel.clear(),this.pages.forEach(e=>{this.pagesByCanvasId.has(e.canvasId)||this.pagesByCanvasId.set(e.canvasId,e);let t=e.label.toLowerCase();this.pagesByLabel.has(t)||this.pagesByLabel.set(t,e)})}pageForSelector(e){if(!e||"object"!=typeof e||"canvasId"!==e.by&&"label"!==e.by||"string"!=typeof e.value)throw TypeError("A page selector must contain a supported 'by' value and a string 'value'.");return"canvasId"===e.by?this.pagesByCanvasId.get(e.value):this.pagesByLabel.get(e.value.toLowerCase())}copyState(){return{...this.state,visiblePageIndexes:this.state.visiblePageIndexes.slice()}}updateState(e){this.state={...this.state,...e}}emit(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}updateLayoutState(e,t){let a="spread"===e||"spread-shift"===e?e:"single",r="rtl"===t?"rtl":"ltr",n=this.ensureMainViewer(),i=n&&"function"==typeof n.getVisiblePageIndexes?n.getVisiblePageIndexes():this.state.visiblePageIndexes,o=a!==this.state.layoutMode||r!==this.state.viewingDirection;this.updateState({layoutMode:a,viewingDirection:r,visiblePageIndexes:i}),o&&this.emit("layoutchange",{layoutMode:a,viewingDirection:r})}handleResourceSucceeded(e,t,a,r){var n;if(e!==this.activeResourceRequestId)return;let i="initial"!==e;if(i&&(this.updateState({resourceUrl:t}),this.emit("resourcechange",{resourceUrl:t,state:this.copyState()})),a){this.awaitingViewerResource={id:e,url:t,pageIndex:r,resourceChangeEmitted:i};let a=this.ensureMainViewer(),o=null==(n=this.pages[r])?void 0:n.primaryImage.id;o&&a&&"function"==typeof a.isPageLoaded&&a.isPageLoaded(r,o)&&this.completeResource(e,t,!i);return}this.completeResource(e,t,!i)}completeResource(e,t,a){e===this.activeResourceRequestId&&(this.awaitingViewerResource=null,this.updateState({resourceUrl:t,ready:!0}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyResolve(),this.emit("ready",this.copyState())),"initial"!==e&&this.pendingResource&&(this.pendingResource.resolve(),this.pendingResource=null),a&&this.emit("resourcechange",{resourceUrl:t,state:this.copyState()}))}handleResourceFailed(e,t){var a,r;if(e!==this.activeResourceRequestId)return;let n=Error(t),i=(null==(a=this.pendingResource)?void 0:a.id)===e&&this.pendingResource.previousReady;this.awaitingViewerResource=null,this.updateState({ready:i}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(n)),"initial"!==e&&(null==(r=this.pendingResource)?void 0:r.id)===e&&(this.pendingResource.reject(n),this.pendingResource=null),this.emit("error",{error:n,operation:"setResource",recoverable:"initial"!==e})}assertAlive(){if(this.isDestroyed)throw new DOMException("The Diva instance was destroyed.","InvalidStateError")}assertPageIndex(e){if(!Number.isInteger(e)||e<0||e>=this.pages.length)throw RangeError(`Page index ${e} is outside the available page range.`)}refreshLoadingState(){let e=this.resourceLoading||this.viewerLoading;e!==this.state.loading&&(this.updateState({loading:e}),this.emit("loadingchange",{loading:e}))}async waitForResource(){this.assertAlive(),this.pendingResource?await this.pendingResource.promise:await this.ready,this.assertAlive()}async applyFilterPreview(){if(this.isDestroyed||!this.pendingFilterPreview)return;if(!this.ensureFilterViewerElement()){this.filterPreviewRetries<10&&(this.filterPreviewRetries+=1,null===this.filterPreviewRafId&&(this.filterPreviewRafId=requestAnimationFrame(()=>{this.filterPreviewRafId=null,this.applyFilterPreview()})));return}let e=this.pendingFilterPreview;this.pendingFilterPreview=null,this.filterPreviewRetries=0;let t=this.filterPreviewVersion;if(this.filterOptions=e.filters||null,this.ensureFilterViewer(),this.filterViewer){let a=JSON.stringify([e.sourceId,e.tileSource,e.isStatic]);if(this.currentFilterSourceKey!==a){let r,n=new AbortController;this.filterPreviewController=n;try{r=await this.auth.resolve({sourceId:e.sourceId,url:e.tileSource,isStatic:e.isStatic},n.signal)}catch(e){n.signal.aborted||this.isDestroyed||this.filterPreviewVersion;return}finally{this.filterPreviewController===n&&(this.filterPreviewController=null)}if(this.isDestroyed||t!==this.filterPreviewVersion)return;this.currentFilterSourceKey=a,this.filterViewer.open(r)}else this.applyFilterOptions()}}copyToClipboard(e){if(navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)return void navigator.clipboard.writeText(e).catch(()=>{})}bindPageChange(){this.bindViewerEvent("diva-page-change",this.handlePageChangeBound)}bindFullscreenChange(){document.addEventListener("fullscreenchange",this.handleFullscreenChangeBound)}bindZoomChange(){this.bindViewerEvent("diva-zoom-change",this.handleZoomChangeBound)}bindLoadingChange(){this.bindViewerEvent("diva-loading-change",this.handleLoadingChangeBound)}bindRootClick(){this.getConnectedRoot().addEventListener("click",this.handleRootClickBound,!0)}addEventListener(e,t,a){super.addEventListener(e,t,a)}removeEventListener(e,t,a){super.removeEventListener(e,t,a)}getState(){return this.copyState()}getPages(){return this.pages.map(e=>this.copyPage(e))}findPage(e){let t=this.pageForSelector(e);return t?this.copyPage(t):void 0}getCurrentPage(){let e=this.state.currentPageIndex;return null!==e&&this.pages[e]?this.copyPage(this.pages[e]):void 0}getVisiblePages(){return this.state.visiblePageIndexes.map(e=>this.pages[e]).filter(Boolean).map(e=>this.copyPage(e))}getLayoutMode(){return this.state.layoutMode}setResource(e){let t,a;if(this.assertAlive(),!e||"string"!=typeof e)return Promise.reject(TypeError("A resource URL is required."));this.pendingResource&&(this.pendingResource.reject(new DOMException("The resource load was superseded.","AbortError")),this.pendingResource=null),this.awaitingViewerResource=null;let r=this.state.ready,n=`public-${++this.resourceSequence}`,i=new Promise((e,r)=>{t=e,a=r});return i.catch(()=>{}),this.pendingResource={id:n,promise:i,resolve:t,reject:a,previousReady:r},this.activeResourceRequestId=n,this.updateState({ready:!1}),this.resourceLoading=!0,this.refreshLoadingState(),this.getPort("resourceRequested").send({requestId:n,url:e}),i}async goToPage(e){if(await this.waitForResource(),"number"!=typeof e){let t=this.pageForSelector(e);return!!t&&(await this.callViewerMethodAsync("scrollToIndex",t.index),!0)}this.assertPageIndex(e),await this.callViewerMethodAsync("scrollToIndex",e)}async next(){await this.waitForResource(),await this.callViewerMethodAsync("next")}async previous(){await this.waitForResource(),await this.callViewerMethodAsync("previous")}async setZoom(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom must be a positive finite number.");await this.callViewerMethodAsync("setZoomLevel",e)}async zoomBy(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom factor must be a positive finite number.");await this.callViewerMethodAsync("zoomBy",e)}zoomIn(){return this.zoomBy(1.6)}zoomOut(){return this.zoomBy(.625)}async fitToPage(e){await this.waitForResource();let t=null!=e?e:this.state.currentPageIndex;if(null===t)throw RangeError("There is no current page.");this.assertPageIndex(t),await this.callViewerMethodAsync("fitToPage",t)}async zoomToRegion(e,t,a={}){var r;if(await this.waitForResource(),this.assertPageIndex(e),![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.x<0||t.y<0||t.width<=0||t.height<=0)throw RangeError("Region coordinates must be finite, non-negative, and have positive dimensions.");let n=null!=(r=a.padding)?r:.05;if(!Number.isFinite(n)||n<0)throw RangeError("Region padding must be a non-negative finite number.");await this.callViewerMethodAsync("zoomToRegion",e,t,a)}async setLayoutMode(e){if(await this.waitForResource(),!["single","spread","spread-shift"].includes(e))throw RangeError(`Unsupported layout mode: ${e}`);await this.callViewerMethodAsync("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection),this.getPort("layoutModeRequested").send(e)}async enterFullscreen(){this.assertAlive(),document.fullscreenElement||await this.getConnectedRoot().requestFullscreen()}async exitFullscreen(){this.assertAlive(),document.fullscreenElement&&await document.exitFullscreen()}toggleFullscreen(){return document.fullscreenElement?this.exitFullscreen():this.enterFullscreen()}destroy(){var e;if(this.isDestroyed)return;this.isDestroyed=!0;let t=new DOMException("The Diva instance was destroyed.","InvalidStateError");this.readySettled||(this.readySettled=!0,this.readyReject(t)),null==(e=this.pendingResource)||e.reject(t),this.pendingResource=null,this.awaitingViewerResource=null,this.updateState({destroyed:!0,loading:!1}),this.closeFilterPreview(),this.auth.destroy(),null!==this.viewerMethodRafId&&(cancelAnimationFrame(this.viewerMethodRafId),this.viewerMethodRafId=null),this.pendingViewerMethods.clear();let a=this.getConnectedRoot();this.removeViewerEvent("diva-page-change",this.handlePageChangeBound),this.removeViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.removeViewerEvent("diva-zoom-change",this.handleZoomChangeBound),this.removeViewerEvent("diva-loading-change",this.handleLoadingChangeBound),this.removeViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound),a.removeEventListener("click",this.handleRootClickBound,!0),document.removeEventListener("fullscreenchange",this.handleFullscreenChangeBound),a&&(a.__divaInstance===this&&delete a.__divaInstance,a.elmTree&&delete a.elmTree,a.innerHTML="")}closeFilterPreview(){var e;this.filterPreviewVersion+=1,null==(e=this.filterPreviewController)||e.abort(),this.filterPreviewController=null,null!==this.filterPreviewRafId&&(cancelAnimationFrame(this.filterPreviewRafId),this.filterPreviewRafId=null),this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.filterViewerElement=null,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterOptions=null,this.filterPreviewRetries=0}setFullscreen(e){let t=this.getConnectedRoot();if(e){if(document.fullscreenElement||!document.fullscreenEnabled)return;t.requestFullscreen().catch(()=>{});return}document.fullscreenElement&&document.exitFullscreen().catch(()=>{})}handleRootClick(e){let t=e.target;if(!(t instanceof Element))return;let a=this.getConnectedRoot(),r=t.closest("button[data-diva-action='fullscreen']");r&&a.contains(r)&&(e.preventDefault(),e.stopPropagation(),this.toggleFullscreenFromUserActivation())}toggleFullscreenFromUserActivation(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.fullscreenEnabled&&this.getConnectedRoot().requestFullscreen().catch(()=>{})}handlePageChange(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;t.instant?this.getPort("pageIndexChangedInstant").send(t.index):this.getPort("pageIndexChanged").send(t.index);let a=this.ensureMainViewer(),r=a&&"function"==typeof a.getVisiblePageIndexes?a.getVisiblePageIndexes():[t.index];this.updateState({currentPageIndex:t.index,visiblePageIndexes:r});let n=this.pages[t.index];n&&this.emit("pagechange",{pageIndex:t.index,page:this.copyPage(n),visiblePages:this.getVisiblePages()})}handlePageLoaded(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;let a=this.awaitingViewerResource;a&&t.resourceId===a.id&&t.index===a.pageIndex&&this.completeResource(a.id,a.url,!a.resourceChangeEmitted)}handleZoomChange(e){let t=e.detail;t&&"number"==typeof t.zoom&&(this.getPort("zoomChanged").send(t.zoom),this.updateState({zoom:t.zoom}),this.emit("zoomchange",{zoom:t.zoom}))}handleLoadingChange(e){let t=e.detail;t&&"boolean"==typeof t.loading&&(this.getPort("viewerLoadingChanged").send(t.loading),this.viewerLoading=t.loading,this.refreshLoadingState())}handlePageLoadError(e){var t;let a=e.detail,r=Error((null==a?void 0:a.message)||"The image could not be loaded."),n=this.awaitingViewerResource;if(n&&(null==a?void 0:a.resourceId)===n.id&&(null==a?void 0:a.index)===n.pageIndex){this.updateState({ready:!1}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(r)),"initial"!==n.id&&(null==(t=this.pendingResource)?void 0:t.id)===n.id&&(this.pendingResource.reject(r),this.pendingResource=null),this.emit("error",{error:r,operation:"loadPage",recoverable:!0});return}this.emit("error",{error:r,operation:"loadPage",recoverable:!0})}handleFullscreenChange(){let e=!!document.fullscreenElement;this.getPort("fullscreenChanged").send(e),this.updateState({fullscreen:e}),this.emit("fullscreenchange",{fullscreen:e})}ensureFilterViewer(){!this.filterViewer&&this.filterViewerElement&&(this.filterViewer=OpenSeadragon({element:this.filterViewerElement,showNavigationControl:!1,preserveViewport:!0,visibilityRatio:0,drawer:"canvas",crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1}),this.filterViewer.addHandler("open",()=>{var e;let t=null==(e=this.filterViewer)?void 0:e.drawer,a=t&&t.canvas?t.canvas:null;if(a&&"function"==typeof a.getContext){let e=a.getContext("2d",{willReadFrequently:!0});e&&(t.context=e)}this.filterViewer&&this.filterViewer.viewport&&this.filterViewer.viewport.fitBounds(this.filterViewer.world.getHomeBounds(),!0),this.filterViewerFlipped=!1,this.applyFilterOptions()}))}ensureFilterViewerElement(){let e=document.getElementById("filter-viewer");return e?(this.filterViewerElement!==e&&(this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.currentFilterSourceKey=null,this.filterViewerFlipped=!1,this.filterViewerElement=e),this.filterViewerElement):(this.filterViewerElement=null,null)}applyFilterOptions(){if(!this.filterViewer)return;let e=pk(this.filterOptions);var t,a,r=this.filterViewer;if(!r)throw Error("A viewer must be specified.");if(r.filterPluginInstance?g6(r.filterPluginInstance,e||{}):r.filterPluginInstance=function(e,t){let a={viewer:e,filters:[],filterIncrement:0};function r(e,t,r){if(r){let n=a.filterIncrement,i=[];for(let r=0;r{a.filterIncrement===n&&t[r+1](e,i[r+1])};i[t.length-1]=()=>{a.filterIncrement===n&&r()},t[0](e,i[0])}else for(let a=0;a{})}return a.viewer.addHandler("tile-loaded",function(e){let t=g8(a,e.tiledImage);if(0===t.length)return;let n=e.tile,i=e.data||e.image;if(null!=i){let o=window.document.createElement("canvas");o.width=i.width,o.height=i.height;let u=o.getContext("2d",{willReadFrequently:!0});u.drawImage(i,0,0),n._renderedContext=u,r(u,t,e.getCompletionCallback()),n._filterIncrement=a.filterIncrement}}),a.viewer.addHandler("tile-drawing",function(e){let t=e.tile,n=e.rendered;if(n._filterIncrement===a.filterIncrement)return;let i=g8(a,e.tiledImage);if(0===i.length){n._originalImageData&&(n.putImageData(n._originalImageData,0,0),delete n._originalImageData),n._filterIncrement=a.filterIncrement;return}if(n._originalImageData?n.putImageData(n._originalImageData,0,0):n._originalImageData=g3(n),t._renderedContext){if(t._filterIncrement===a.filterIncrement){let e=g3(t._renderedContext);n.putImageData(e,0,0),delete t._renderedContext,delete t._filterIncrement,n._filterIncrement=a.filterIncrement;return}delete t._renderedContext,delete t._filterIncrement}r(n,i),n._filterIncrement=a.filterIncrement}),g6(a,t),a}(r,e||{}),this.filterViewer.viewport){let e=(null==(t=this.filterOptions)?void 0:t.rotation)||0;this.filterViewer.viewport.setRotation(e);let r=!!(null==(a=this.filterOptions)?void 0:a.flip),n=this.filterViewer.viewport;if("function"==typeof n.toggleFlip){let e=this.filterViewerFlipped;"function"==typeof n.getFlip&&(e=!!n.getFlip()),r!=e&&(n.toggleFlip(),this.filterViewerFlipped=r)}}}saveFilteredImage(){if(!this.filterViewer)return;let e=this.filterViewer.drawer,t=e&&e.canvas?e.canvas:null;if(t)try{let e=t.toDataURL("image/png"),a=document.createElement("a");a.href=e,a.download=`diva-filtered-${Date.now()}.png`,document.body.appendChild(a),a.click(),a.remove()}catch(e){}}getPort(e){let t=this.app.ports,a=t?t[e]:void 0;if(!a)throw Error(`Missing Elm port: ${String(e)}`);return a}callViewerMethod(e,...t){let a=this.ensureMainViewer();if(!a)return!1;let r=a[e];return"function"==typeof r&&(r.apply(a,t),!0)}async callViewerMethodAsync(e,...t){let a=0;for(;a<120;){this.assertAlive();let r=this.ensureMainViewer(),n=null==r?void 0:r[e];if("function"==typeof n)return await n.apply(r,t);a+=1,await new Promise(e=>requestAnimationFrame(()=>e()))}throw new DOMException(`The viewer method ${e} is not available.`,"InvalidStateError")}callViewerMethodWhenReady(e,...t){if(this.callViewerMethod(e,...t)){this.viewerMethodAttempts=0;return}this.pendingViewerMethods.set(e,t),this.viewerMethodAttempts=0,this.scheduleViewerMethodFlush()}scheduleViewerMethodFlush(){this.isDestroyed||null!==this.viewerMethodRafId||(this.viewerMethodRafId=requestAnimationFrame(()=>{this.viewerMethodRafId=null,this.flushPendingViewerMethods()}))}flushPendingViewerMethods(){if(this.isDestroyed||0===this.pendingViewerMethods.size)return;let e=Array.from(this.pendingViewerMethods.entries());if(this.pendingViewerMethods.clear(),e.forEach(([e,t])=>{this.callViewerMethod(e,...t)||this.pendingViewerMethods.set(e,t)}),0===this.pendingViewerMethods.size){this.viewerMethodAttempts=0;return}this.viewerMethodAttempts<120&&(this.viewerMethodAttempts+=1,this.scheduleViewerMethodFlush())}bindViewerEvent(e,t){let a=this.ensureMainViewer();a&&(a.removeEventListener(e,t),a.addEventListener(e,t))}removeViewerEvent(e,t){let a=this.ensureMainViewer();a&&a.removeEventListener(e,t)}constructor(e,t){super(),this.mainViewer=null,this.pendingViewerMethods=new Map,this.viewerMethodRafId=null,this.viewerMethodAttempts=0,this.filterViewer=null,this.filterViewerElement=null,this.filterOptions=null,this.filterViewerFlipped=!1,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterPreviewVersion=0,this.filterPreviewRetries=0,this.filterPreviewRafId=null,this.filterPreviewController=null,this.isDestroyed=!1,this.pages=[],this.pagesByCanvasId=new Map,this.pagesByLabel=new Map,this.readySettled=!1,this.activeResourceRequestId="initial",this.resourceSequence=0,this.pendingResource=null,this.awaitingViewerResource=null,this.resourceLoading=!0,this.viewerLoading=!1;let a=document.getElementById(e);if(!a)throw Error(`Missing root element: ${e}`);a.__divaInstance&&a.__divaInstance.destroy(),a.elmTree&&(delete a.elmTree,a.innerHTML=""),this.rootId=e,this.root=a,this.isDestroyed=!1,this.state={resourceUrl:t.objectData,ready:!1,loading:!0,pageCount:0,currentPageIndex:null,visiblePageIndexes:[],layoutMode:"single",viewingDirection:"ltr",zoom:null,fullscreen:!1,destroyed:!1},this.ready=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t}),this.ready.catch(()=>{}),this.handlePageChangeBound=this.handlePageChange.bind(this),this.handlePageLoadedBound=this.handlePageLoaded.bind(this),this.handleZoomChangeBound=this.handleZoomChange.bind(this),this.handleLoadingChangeBound=this.handleLoadingChange.bind(this),this.handlePageLoadErrorBound=this.handlePageLoadError.bind(this),this.handleFullscreenChangeBound=this.handleFullscreenChange.bind(this),this.handleRootClickBound=this.handleRootClick.bind(this);let r=this.detectLanguage(),n=t.sidebarWidth,i="number"==typeof n&&Number.isFinite(n)?Math.min(520,Math.max(220,Math.round(n))):320,o="contents"===t.sidebarPanel||"metadata"===t.sidebarPanel?t.sidebarPanel:"thumbnails";this.app=gQ.Main.init({node:a,flags:{rootElementId:e,objectData:t.objectData,initialPage:this.initialPageFlag(t.initialPage),acceptHeaders:t.acceptHeaders||[],showSidebar:!1!==t.showSidebar,sidebarWidth:i,sidebarPanel:o,showTitle:!1!==t.showTitle,userLanguage:t.setLanguage||r}}),this.root=this.getConnectedRoot(),this.auth=new g4(this.app.ports,this.root),this.tileSourceResolver=(e,t)=>this.auth.resolve(e,t),this.root.__divaInstance=this,this.bindPorts(),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.bindRootClick(),this.bindPageChange(),this.bindViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.bindFullscreenChange(),this.bindZoomChange(),this.bindLoadingChange(),this.bindViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound)}},pL={THRESHOLDING:pC.THRESHOLDING,BRIGHTNESS:pC.BRIGHTNESS,SATURATION:pC.SATURATION,VIBRANCE:pC.VIBRANCE,HUE:pC.HUE,CC_RED:pC.CC_RED,CC_GREEN:pC.CC_GREEN,CC_BLUE:pC.CC_BLUE,CONTRAST:pC.CONTRAST,GAMMA:pC.GAMMA,GREYSCALE:pC.GREYSCALE,INVERT:pC.INVERT,BACKGROUND_NORMALIZE:pC.BACKGROUND_NORMALIZE,UNSHARP_MASK:pC.UNSHARP_MASK,ALT_RED_GAMMA:pC.ALT_RED_GAMMA,ALT_GREEN_GAMMA:pC.ALT_GREEN_GAMMA,ALT_BLUE_GAMMA:pC.ALT_BLUE_GAMMA,ALT_RED_SIGMOID:pC.ALT_RED_SIGMOID,ALT_GREEN_SIGMOID:pC.ALT_GREEN_SIGMOID,ALT_BLUE_SIGMOID:pC.ALT_BLUE_SIGMOID,ALT_RED_HUE:pC.ALT_RED_HUE,ALT_GREEN_HUE:pC.ALT_GREEN_HUE,ALT_BLUE_HUE:pC.ALT_BLUE_HUE,ALT_RED_VIBRANCE:pC.ALT_RED_VIBRANCE,ALT_GREEN_VIBRANCE:pC.ALT_GREEN_VIBRANCE,ALT_BLUE_VIBRANCE:pC.ALT_BLUE_VIBRANCE,GLOBAL_PCA_COLOR:pC.GLOBAL_PCA_COLOR,ADAPTIVE_THRESHOLD:pC.ADAPTIVE_THRESHOLD},pA=[{enabled:"thresholdEnabled",filter:"THRESHOLDING",args:["threshold"]},{enabled:"brightnessEnabled",filter:"BRIGHTNESS",args:["brightness"]},{enabled:"saturationEnabled",filter:"SATURATION",args:["saturation"]},{enabled:"vibranceEnabled",filter:"VIBRANCE",args:["vibrance"]},{enabled:"hueEnabled",filter:"HUE",args:["hue"]},{enabled:"ccRedEnabled",filter:"CC_RED",args:["ccRed"]},{enabled:"ccGreenEnabled",filter:"CC_GREEN",args:["ccGreen"]},{enabled:"ccBlueEnabled",filter:"CC_BLUE",args:["ccBlue"]},{enabled:"contrastEnabled",filter:"CONTRAST",args:["contrast"]},{enabled:"gammaEnabled",filter:"GAMMA",args:["gamma"]},{enabled:"grayscale",filter:"GREYSCALE"},{enabled:"invert",filter:"INVERT"},{enabled:"normalizeEnabled",filter:"BACKGROUND_NORMALIZE",args:["normalizeStrength"]},{enabled:"unsharpEnabled",filter:"UNSHARP_MASK",args:["unsharpAmount"]}],pS=[{enabled:"altRedGammaEnabled",filter:"ALT_RED_GAMMA",args:["altRedGamma"]},{enabled:"altGreenGammaEnabled",filter:"ALT_GREEN_GAMMA",args:["altGreenGamma"]},{enabled:"altBlueGammaEnabled",filter:"ALT_BLUE_GAMMA",args:["altBlueGamma"]},{enabled:"altRedSigmoidEnabled",filter:"ALT_RED_SIGMOID",args:["altRedSigmoid"]},{enabled:"altGreenSigmoidEnabled",filter:"ALT_GREEN_SIGMOID",args:["altGreenSigmoid"]},{enabled:"altBlueSigmoidEnabled",filter:"ALT_BLUE_SIGMOID",args:["altBlueSigmoid"]},{enabled:"altRedHueEnabled",filter:"ALT_RED_HUE",args:["altRedHue","altRedHueWindow"],defaults:[0,8]},{enabled:"altGreenHueEnabled",filter:"ALT_GREEN_HUE",args:["altGreenHue","altGreenHueWindow"],defaults:[0,8]},{enabled:"altBlueHueEnabled",filter:"ALT_BLUE_HUE",args:["altBlueHue","altBlueHueWindow"],defaults:[0,8]},{enabled:"altRedVibranceEnabled",filter:"ALT_RED_VIBRANCE",args:["altRedVibrance"]},{enabled:"altGreenVibranceEnabled",filter:"ALT_GREEN_VIBRANCE",args:["altGreenVibrance"]},{enabled:"altBlueVibranceEnabled",filter:"ALT_BLUE_VIBRANCE",args:["altBlueVibrance"]},{enabled:"adaptiveEnabled",filter:"ADAPTIVE_THRESHOLD",args:["adaptiveWindow","adaptiveOffset"],defaults:[15,10]}],pT=(e,t,a)=>{var r,n;for(let i of a)if(t[i.enabled]){let a=null!=(n=null==(r=i.args)?void 0:r.map((e,a)=>{var r,n,o;return null!=(o=t[e])?o:null!=(n=null==(r=i.defaults)?void 0:r[a])?n:0}))?n:[],o=pL[i.filter];e.push(o(...a))}},pk=e=>{var t,a,r,n,i,o,u,s,c;if(!e)return{filters:[],loadMode:"sync"};let l=[];if(pT(l,e,pA),e.morphEnabled){let a="dilate"===e.morphOperation?Math.max:Math.min;l.push(pC.MORPHOLOGICAL_OPERATION(null!=(t=e.morphKernel)?t:3,a))}if(e.convolutionEnabled){let t=pC.CONVOLUTION_PRESET(e.convolutionPreset||"");t&&l.push(pC.CONVOLUTION(t))}if(e.colourmapEnabled){let t=pC.COLORMAP_PRESET(e.colourmapPreset||"");t&&l.push(pC.COLORMAP(t,null!=(a=e.colourmapCenter)?a:128))}return(e.pseudoColourEnabled&&l.push(pC.PSEUDOCOLOR(e.pseudoColourMode||"",null!=(r=e.pseudoColourRed)?r:1,null!=(n=e.pseudoColourGreen)?n:1,null!=(i=e.pseudoColourBlue)?i:1)),e.globalPcaEnabled&&l.push(pC.GLOBAL_PCA_COLOR(e.pcaMode||"",null!=(o=e.pcaHue)?o:0)),e.colourReplaceEnabled&&l.push(pC.COLOR_REPLACE(e.colourReplaceSource||"#ffffff",e.colourReplaceTarget||"#ffffff",null!=(u=e.colourReplaceTolerance)?u:24,null!=(s=e.colourReplaceBlend)?s:1,null!=(c=e.colourReplacePreserveLum)&&c)),pT(l,e,pS),0===l.length)?{filters:[],loadMode:"sync"}:{filters:{processors:l},loadMode:"sync"}};window.Diva=p$;export{p$ as Diva,p$ as default}; +var e,t,n,r,a,i,o,s,u,c,l,d,f=(e,t)=>{let{x:n,y:r,width:a,height:i}=t;if(!e||![n,r,a,i].every(Number.isFinite))return null;let o=Math.floor(n),s=Math.floor(r),u=Math.ceil(n+a),c=Math.ceil(r+i);if(o<0||s<0||u<=o||c<=s)return null;try{let t=new URL(e);if(!t.pathname.endsWith("/info.json"))return null;return t.search="",t.hash="",t.pathname=t.pathname.slice(0,-10),`${t.toString().replace(/\/$/,"")}/${o},${s},${u-o},${c-s}/!320,320/0/default.jpg`}catch(e){return null}},h=(e,t=!1,n=!1)=>({type:"image",url:e,crossOriginPolicy:!n&&(t?"use-credentials":"Anonymous"),ajaxWithCredentials:t,loadTilesWithAjax:!n,buildPyramid:!n,useCanvas:!n}),v=e=>({..."object"==typeof e&&null!==e?e:{type:"image",url:e},type:"image",crossOriginPolicy:!1,ajaxWithCredentials:!1,loadTilesWithAjax:!1,buildPyramid:!1,useCanvas:!1}),b=null,g=class extends HTMLElement{static get observedAttributes(){return["data-src","data-fallback-src","data-alt","data-crossorigin"]}connectedCallback(){this.observe()}disconnectedCallback(){null==b||b.unobserve(this)}attributeChangedCallback(){this.reset(),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==b||b.unobserve(this);let n=document.createElement("img");n.className="diva-thumbs-image",n.alt=null!=(e=this.dataset.alt)?e:"";let r=this.dataset.crossorigin,a="anonymous"===r;this.image=n,this.appendChild(n),this.loadImage(n,t,a?void 0:r,a,!1)}loadImage(e,t,n,r,a){e.removeAttribute("crossorigin"),n&&(e.crossOrigin=n),e.onerror=()=>{let n=this.dataset.fallbackSrc;r&&!a&&n&&n!==t?this.loadImage(e,n,void 0,!0,!0):this.showUnavailable()},e.removeAttribute("src"),e.src=t}reset(){var e,t;null==(e=this.image)||e.remove(),this.image=null,null==(t=this.unavailable)||t.remove(),this.unavailable=null}showUnavailable(){var e;null==(e=this.image)||e.remove(),this.image=null;let t=document.createElement("div");t.className="diva-thumbs-image diva-thumbs-image--unavailable",t.setAttribute("aria-label","Thumbnail unavailable"),this.unavailable=t,this.appendChild(t)}observe(){"IntersectionObserver"in window?(b||(b=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:"300px 0px"})),b.observe(this)):this.load()}constructor(){super(...arguments),this.image=null,this.unavailable=null}},p=class extends HTMLElement{connectedCallback(){this.style.display="block",this.style.position="relative",this.container||(this.container=document.createElement("div"),this.container.className="osd-container",this.container.style.width="100%",this.container.style.height="100%",this.container.addEventListener("wheel",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener("dblclick",this.handleDoubleClickBound),this.container.addEventListener("click",e=>{performance.now(){"Escape"===e.key&&this.closeAnnotationPanel()}),this.appendChild(this.container)),this.scrollbarTrack||this.createScrollbar();let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){var e;this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener("wheel",this.handleWheelBound),this.container.removeEventListener("dblclick",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener("mousemove",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener("mouseup",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.clearAnnotationOverlays(),this.viewer.destroy(),this.viewer=null),null==(e=this.scrollbarTrack)||e.remove(),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,..."required"===this.staticImageCorsPolicy?{}:{drawer:["canvas","html"]},crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler("pan",this.handleViewportChangeBound),t.addHandler("zoom",this.handleViewportChangeBound),t.addHandler("canvas-click",e=>this.handleAnnotationCanvasClick(e)),t.addHandler("pan",()=>this.updateScrollbar()),t.addHandler("zoom",()=>this.updateScrollbar()),t.addHandler("animation-finish",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single"})}setViewingDirection(e){this.applyLayoutChange({direction:"rtl"===e?"rtl":"ltr"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single",direction:"rtl"===t?"rtl":"ltr"})}setTileSources(e,t=0,n="internal"){if(Array.isArray(e)){if(this.annotationData.clear(),this.tileSources=e.slice(),this.resourceId=n,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t{t.canvasId===e&&this.addOrUpdateAnnotationOverlay(n)}))}setAnnotationsVisible(e){this.annotationsVisible=e,this.annotationOverlayElements.forEach(t=>{t.classList.toggle("is-hidden",!e)}),e||(this.closeAnnotationPanel(),this.annotationOverlayElements.forEach(e=>{e.querySelectorAll(".diva-annotation-tooltip").forEach(e=>{e.hidden=!0})}))}getAnnotationSelectionEnabled(){return this.annotationSelectionEnabled}setAnnotationSelectionEnabled(e){this.annotationSelectionEnabled=e,e||this.annotationOverlayElements.forEach(e=>{e.querySelectorAll(".diva-annotation-tooltip").forEach(e=>{e.hidden=!0})})}selectAnnotation(e){for(let t of(this.selectedAnnotationId=e,this.annotationOverlayElements.forEach(t=>{t.querySelectorAll("g[data-annotation-id]").forEach(t=>{t.classList.toggle("is-selected",t.dataset.annotationId===e)})}),this.annotationData.values())){let n=t.find(t=>t.id===e);if(n){let t=Array.from(this.annotationOverlayElements.values()).map(t=>t.querySelector(`g[data-annotation-id="${CSS.escape(e)}"]`)).find(e=>null!==e);this.openAnnotationPanel(n,t);return}}}getImageRegionForAnnotation(e){var t,n;for(let[r,a]of this.annotationData){let i=a.find(t=>t.id===e);if(!i)continue;let o=this.tileSources.findIndex(e=>e.canvasId===r),s=o>=0&&null!=(n=null==(t=this.annotationOverlayElements.get(o))?void 0:t.querySelector(`g[data-annotation-id="${CSS.escape(e)}"]`))?n:void 0;return this.annotationExtractUrl(i,s)}return null}setTileSourceResolver(e){this.tileSourceResolver=e}setStaticImageCorsPolicy(e){var t;let n="fallback"===e||"none"===e?e:"required";n===this.staticImageCorsPolicy||(this.staticImageCorsPolicy=n,this.viewer&&(this.clearPageOverlays(),this.clearAnnotationOverlays(),this.closeAnnotationPanel(),this.viewer.destroy(),this.viewer=null,this.scrollPlaneItem=null,this.syncViewer(),this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)))}invalidateTileSources(e){var t;let n=new Set(e);0!==n.size&&this.tileSources.some(e=>n.has(e.sourceId))&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)}setPageLabels(e){Array.isArray(e)&&(this.pageLabels=e,this.pageOverlayElements.forEach((e,t)=>{this.addOrUpdatePageOverlay(t)}))}resetTileSources(e,t=0){this.viewer&&("function"==typeof this.viewer.close?this.viewer.close():this.viewer.world.removeAll(),this.cancelLoads(),this.tileSources=e,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t0?this.initialPageIndex:null,this.lastReportedIndex=this.targetIndex,this.clearScrollPlane(),this.buildOffsets(),this.ensureScrollPlane(),null!==this.targetIndex&&this.positionInitialViewport(this.targetIndex),this.resetLoadingState(),this.suppressPageChange=!0,this.suppressZoomChange=!0,this.maybeLoadMore())}handleViewportChange(){var e;if(this.isClamping)return;let t=null==(e=this.viewer)?void 0:e.viewport;t&&(this.maybeLoadMore(t),this.maybeEmitPageChange(t),this.clampTop(t),this.clampBottom(t))}handleAnimationFinish(){this.updateScrollbar(),this.maybeEmitZoomChange()}maybeLoadMore(e){var t;if(0===this.tileSources.length)return;if(!this.isViewportInitialized){if(null!==this.targetIndex){this.ensurePageLoaded(this.targetIndex);let e=this.pageOffsets[this.targetIndex]||0,t=this.pageRowHeights[this.targetIndex]||this.pageHeights[this.targetIndex]||1,n=this.indicesForRange(Math.max(0,e-1.5*t),e+2.5*t);if(n)for(let e=n[0];e<=n[1];e+=1)this.ensurePageLoaded(e)}return}let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=1.5*r.height,i=Math.max(0,r.y-a),o=r.y+r.height+a,s=this.indicesForRange(i,o);if(!s)return;let u=s[0],c=s[1],l=u;for(;l<=c;)this.ensurePageLoaded(l),l+=1;null!==this.targetIndex&&this.ensurePageLoaded(this.targetIndex)}ensurePageLoaded(e){e<0||e>=this.tileSources.length||e>=this.pageOffsets.length||this.loadedIndexes.has(e)||this.loadingIndexes.has(e)||this.unavailableIndexes.has(e)||this.loadTile(e)}async loadTile(e,t=!1,n){let r;if(!this.viewer)return;let a=this.loadToken,i=this.tileSources[e],o=new AbortController;this.loadControllers.set(e,o),this.loadingIndexes.add(e),this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.updateLoadingState();try{r=null!=n?n:await this.tileSourceResolver(i,o.signal)}catch(t){a!==this.loadToken||o.signal.aborted||this.markUnavailable(e,t instanceof Error?t.message:"This image is unavailable."),this.finishLoad(e,o);return}if(a!==this.loadToken||o.signal.aborted||!this.viewer)return void this.finishLoad(e,o);t&&(r=v(r));let s=this.pageOffsets[e]||0,u=this.pageXOffsets[e]||0;this.viewer.addTiledImage({tileSource:r,...this.tileRequestOptions(r),x:u,y:s,width:1,success:n=>{if(a!==this.loadToken)return;let r=n.item,i=this.pageXOffsets[e]||0,o=this.pageOffsets[e]||0,s=this.pageHeights[e]||1;if(r.setPosition(new OpenSeadragon.Point(i,o),!0),r.setWidth(1,!0),r.setHeight(s,!0),this.loadedIndexes.add(e),this.loadedItems.set(e,r),this.resolvePageWaiters(e,r),this.addOrUpdatePageOverlay(e),this.addOrUpdateAnnotationOverlay(e),this.loadingIndexes.delete(e),this.loadControllers.delete(e),this.updateLoadingState(),!this.hasFitFirstPage&&e===this.initialPageIndex){this.hasFitFirstPage=!0;let t=this.viewer;if(!t||!t.viewport)return;let n=this.isSingleCanvasLayout(),a=n?r.getBounds():this.isSpreadMode()?this.getRowBounds(e):r.getBounds();t.viewport.fitBounds(a,!0),n||t.viewport.zoomBy(.95,t.viewport.getCenter(!0),!0),this.alignTopAfterFit(e),t.viewport.applyConstraints(),this.isViewportInitialized=!0,this.lockHorizontalPan(),this.recenterAfterFit(),this.flushInitialPageChange(),this.flushInitialZoomChange()}this.emitCustomEvent("diva-page-loaded",{index:e,resourceId:this.resourceId}),t&&requestAnimationFrame(()=>{var e;return null==(e=this.viewer)?void 0:e.forceRedraw()}),this.targetIndex===e&&(this.targetIndex=null),this.maybeLoadMore()},error:n=>{if(a===this.loadToken){if(this.shouldRetryWithoutCors(i,r,t)){this.finishLoad(e,o),this.emitCustomEvent("diva-static-image-cors-fallback",{sourceId:i.sourceId}),this.loadTile(e,!0,r);return}this.markUnavailable(e,(null==n?void 0:n.message)||"This image could not be loaded."),this.finishLoad(e,o),this.maybeLoadMore()}}})}tileRequestOptions(e){if(!e||"object"!=typeof e)return{};let t={};return"boolean"==typeof e.ajaxWithCredentials&&(t.ajaxWithCredentials=e.ajaxWithCredentials),("string"==typeof e.crossOriginPolicy||"boolean"==typeof e.crossOriginPolicy)&&(t.crossOriginPolicy=e.crossOriginPolicy),"boolean"==typeof e.loadTilesWithAjax&&(t.loadTilesWithAjax=e.loadTilesWithAjax),t}shouldRetryWithoutCors(e,t,n){return"fallback"===this.staticImageCorsPolicy&&!!e.isStatic&&!n&&("object"!=typeof t||null===t||"string"!=typeof t.crossOriginPolicy||"use-credentials"!==t.crossOriginPolicy.toLowerCase())}finishLoad(e,t){this.loadControllers.get(e)===t&&(this.loadControllers.delete(e),this.loadingIndexes.delete(e),this.updateLoadingState())}cancelLoads(){this.loadToken+=1,this.loadControllers.forEach(e=>e.abort()),this.loadControllers.clear(),this.loadingIndexes.clear(),this.rejectPageWaiters(new DOMException("The image load was cancelled.","AbortError")),this.resetLoadingState()}markUnavailable(e,t){this.unavailableIndexes.set(e,t),this.rejectPageWaiters(Error(t),e),this.emitCustomEvent("diva-page-load-error",{index:e,message:t,resourceId:this.resourceId}),this.addUnavailableOverlay(e,t)}waitForPage(e){let t=this.loadedItems.get(e);if(t)return Promise.resolve(t);let n=this.unavailableIndexes.get(e);return n?Promise.reject(Error(n)):new Promise((t,n)=>{var r;let a=null!=(r=this.pageWaiters.get(e))?r:[];a.push({resolve:t,reject:n}),this.pageWaiters.set(e,a),this.ensurePageLoaded(e)})}resolvePageWaiters(e,t){var n;let r=null!=(n=this.pageWaiters.get(e))?n:[];this.pageWaiters.delete(e),r.forEach(e=>e.resolve(t))}rejectPageWaiters(e,t){(void 0===t?Array.from(this.pageWaiters.keys()):[t]).forEach(t=>{var n;let r=null!=(n=this.pageWaiters.get(t))?n:[];this.pageWaiters.delete(t),r.forEach(t=>t.reject(e))})}addUnavailableOverlay(e,t){if(!this.viewer)return;this.removeUnavailableOverlay(e);let n=document.createElement("div");n.className="diva-image-unavailable",n.dataset.index=String(e);let r=document.createElement("p");r.textContent=t;let a=document.createElement("button");a.type="button",a.textContent="Retry image",a.addEventListener("click",()=>{this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.ensurePageLoaded(e)}),n.append(r,a),this.viewer.addOverlay({element:n,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}removeUnavailableOverlay(e){let t=this.querySelector(`.diva-image-unavailable[data-index="${e}"]`);t&&this.removeOverlay(t),null==t||t.remove()}setPageAspects(e){Array.isArray(e)&&(this.pageAspects=e.filter(e=>e>0),this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),this.isViewportInitialized||null===this.targetIndex||this.positionInitialViewport(this.targetIndex),this.maybeLoadMore())}buildOffsets(){let e=this.tileSources.length>0?this.tileSources.length:this.pageAspects.length;this.pageOffsets=Array(e),this.pageHeights=Array(e),this.pageRowHeights=Array(e),this.pageXOffsets=Array(e),this.isSpreadMode()?this.buildSpreadOffsets(e):this.buildSingleOffsets(e)}buildSingleOffsets(e){let t=0,n=this.pageAspects[0]||1;for(let r=0;r0){let e=this.pageAspects[0]||a;a=e,this.pageOffsets[0]=n,this.pageHeights[0]=e,this.pageRowHeights[0]=e,this.pageXOffsets[0]=+!t,n+=e+.06,r=1}for(;r{let n=this.pageOffsets[t],r=this.pageHeights[t],a=this.pageXOffsets[t];e.setPosition(new OpenSeadragon.Point(a,n),!0),e.setWidth(1,!0),e.setHeight(r,!0),this.addOrUpdatePageOverlay(t),this.addOrUpdateAnnotationOverlay(t)})}addOrUpdatePageOverlay(e){if(!this.viewer)return;let t=this.pageOverlayElements.get(e),n=e%2==0;t||((t=document.createElement("div")).className="diva-page-overlay-label",t.style.pointerEvents="none",t.style.color="#ffffff",t.style.background="transparent",t.style.padding="0",t.style.borderRadius="0",t.style.fontSize="12px",t.style.fontWeight="600",t.style.lineHeight="1.2",t.style.whiteSpace="nowrap",t.style.paddingBottom="6px",t.style.paddingLeft=n?"0":"12px",t.style.paddingRight=n?"12px":"0",this.pageOverlayElements.set(e,t)),t.textContent=this.pageLabels[e]||`Page ${e+1}`;let r=(this.pageXOffsets[e]||0)+ +!!n,a=this.pageOffsets[e]||0;this.removeOverlay(t),this.viewer.addOverlay({element:t,location:new OpenSeadragon.Point(r,a),placement:n?OpenSeadragon.Placement.BOTTOM_RIGHT:OpenSeadragon.Placement.BOTTOM_LEFT})}clearPageOverlays(){this.clearOverlays(this.pageOverlayElements)}addOrUpdateAnnotationOverlay(e){var t;if(!this.viewer||!this.loadedItems.has(e))return;let n=null==(t=this.tileSources[e])?void 0:t.canvasId,r="string"==typeof n?this.annotationData.get(n):void 0,a=this.annotationOverlayElements.get(e);if(!r||0===r.length){a&&(this.removeOverlay(a),a.remove(),this.annotationOverlayElements.delete(e));return}a||((a=document.createElement("div")).className="diva-annotation-overlay",this.annotationOverlayElements.set(e,a)),a.classList.toggle("is-hidden",!this.annotationsVisible);let i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("viewBox",`0 0 ${this.pageWidth(e)} ${this.pageHeightPixels(e)}`),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("width","100%"),i.setAttribute("height","100%");let o=document.createElement("div");o.className="diva-annotation-tooltip",o.setAttribute("role","tooltip"),r.forEach(e=>{let t=document.createElementNS("http://www.w3.org/2000/svg","g");if(t.setAttribute("data-annotation-id",e.id),t.setAttribute("tabindex","0"),t.classList.toggle("is-selected",e.id===this.selectedAnnotationId),e.text){t.setAttribute("aria-label",e.text);let n=t=>{let n=a.getBoundingClientRect();if(!this.annotationsVisible||!this.annotationSelectionEnabled){o.hidden=!0;return}let r=t?t.clientX-n.left:n.width/2,i=t?t.clientY-n.top:n.height/2;o.textContent=e.text,o.style.left=`${r}px`,o.style.top=`${i}px`,o.hidden=!1};t.addEventListener("mouseenter",n),t.addEventListener("mousemove",n),t.addEventListener("mouseleave",()=>{o.hidden=!0}),t.addEventListener("focus",()=>n()),t.addEventListener("blur",()=>{o.hidden=!0})}if(t.addEventListener("click",n=>{this.annotationSelectionEnabled&&(n.stopPropagation(),this.openAnnotationPanel(e,t))}),t.addEventListener("pointerup",n=>{this.annotationSelectionEnabled&&(n.stopPropagation(),this.openAnnotationPanel(e,t))}),t.addEventListener("keydown",n=>{this.annotationSelectionEnabled&&("Enter"===n.key||" "===n.key)&&(n.preventDefault(),this.openAnnotationPanel(e,t))}),"rect"===e.shape.kind){let n=document.createElementNS("http://www.w3.org/2000/svg","rect");n.setAttribute("x",String(e.shape.x)),n.setAttribute("y",String(e.shape.y)),n.setAttribute("width",String(e.shape.width)),n.setAttribute("height",String(e.shape.height)),n.setAttribute("class","diva-annotation-rect"),t.appendChild(n)}else"svg"===e.shape.kind&&e.shape.value&&this.appendSanitizedSvg(t,e.shape.value);i.appendChild(t)}),o.hidden=!0,a.replaceChildren(i,o),this.removeOverlay(a),this.viewer.addOverlay({element:a,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}pageWidth(e){var t,n;let r=this.loadedItems.get(e);return(null==(n=null==(t=null==r?void 0:r.source)?void 0:t.dimensions)?void 0:n.x)||1}pageHeightPixels(e){var t,n;let r=this.loadedItems.get(e);return(null==(n=null==(t=null==r?void 0:r.source)?void 0:t.dimensions)?void 0:n.y)||1}appendSanitizedSvg(e,t){let n=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,r=new Set(["svg","g","path","rect","circle","ellipse","polygon","polyline","line"]),a=new Set(["d","points","x","y","x1","x2","y1","y2","cx","cy","rx","ry","r","width","height","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-dasharray","transform","viewBox"]),i=(e,t)=>{let n=e.localName.toLowerCase();if(!r.has(n))return;let o=document.createElementNS("http://www.w3.org/2000/svg",n);"svg"!==n&&"g"!==n&&o.classList.add("diva-annotation-svg-shape"),Array.from(e.attributes).forEach(e=>{a.has(e.name)&&o.setAttribute(e.name,e.value)}),t.appendChild(o),Array.from(e.children).forEach(e=>i(e,o))};"svg"===n.localName.toLowerCase()&&Array.from(n.children).forEach(t=>i(t,e))}clearAnnotationOverlays(){this.clearOverlays(this.annotationOverlayElements)}removeOverlay(e){var t;try{null==(t=this.viewer)||t.removeOverlay(e)}catch(e){}}clearOverlays(e){e.forEach(e=>{this.removeOverlay(e),e.remove()}),e.clear()}handleAnnotationCanvasClick(e){var t;if(!this.annotationSelectionEnabled||!this.annotationsVisible||!e.quick||!e.position||!this.container)return;let n=this.container.getBoundingClientRect(),r=n.left+e.position.x,a=n.top+e.position.y;for(let[e,n]of Array.from(this.annotationOverlayElements.entries()).reverse()){let i=null==(t=this.tileSources[e])?void 0:t.canvasId,o="string"==typeof i?this.annotationData.get(i):void 0;if(o)for(let e of Array.from(n.querySelectorAll("g[data-annotation-id]")).reverse()){let t=e.getBoundingClientRect();if(rt.right||at.bottom)continue;let n=o.find(t=>t.id===e.dataset.annotationId);if(n)return void this.openAnnotationPanel(n,e)}}}openAnnotationPanel(e,t){if(!this.container)return;if(this.selectedAnnotationId=e.id,this.annotationOverlayElements.forEach(t=>{t.querySelectorAll("g[data-annotation-id]").forEach(t=>{t.classList.toggle("is-selected",t.dataset.annotationId===e.id)})}),this.emitCustomEvent("diva-annotation-select",{annotationId:e.id}),!this.annotationPanel){let e=document.createElement("aside");e.className="diva-annotation-panel",e.setAttribute("aria-label","Annotation details"),e.addEventListener("click",e=>e.stopPropagation()),this.appendChild(e),this.annotationPanel=e}this.annotationPanelIgnoreCloseUntil=performance.now()+500;let n=document.createElement("button");n.type="button",n.className="diva-annotation-panel-close",n.setAttribute("aria-label","Close annotation details"),n.title="Close";let r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("viewBox","0 0 512 512"),r.setAttribute("aria-hidden","true");let a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d","M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"),r.appendChild(a),n.appendChild(r),n.addEventListener("click",e=>{e.stopPropagation(),this.closeAnnotationPanel()});let i=document.createElement("div");i.className="diva-annotation-panel-content";let o=this.annotationExtractUrl(e,t),s=null;if(o){let t=document.createElement("div");t.className="diva-annotation-panel-preview-controls",Object.assign(t.style,{display:"flex",justifyContent:"flex-end",gap:"4px",margin:"0 0 4px"});let n=document.createElement("div");Object.assign(n.style,{position:"relative",maxWidth:"100%",margin:"0 auto 10px",border:"1px solid rgba(255, 255, 255, 0.2)"});let r=document.createElement("img");Object.assign(r.style,{position:"absolute",top:"50%",left:"50%",maxWidth:"none",transition:"transform 120ms ease-out"}),r.src=o,r.alt=e.text?`Image extract: ${e.text}`:"Annotation image extract",r.addEventListener("error",()=>{t.remove(),n.remove()});let a=0,u=()=>{if(r.naturalWidth<=0||r.naturalHeight<=0)return;let e=Math.min(i.clientWidth||320,320),t=r.naturalWidth/r.naturalHeight,o=t>=1?e:e*t,s=t>=1?e/t:e,u=Math.abs(Math.round(a/90))%2==1;n.style.width=`${u?s:o}px`,n.style.height=`${u?o:s}px`,r.style.width=`${o}px`,r.style.height=`${s}px`,r.style.transform=`translate(-50%, -50%) rotate(${a}deg)`};r.addEventListener("load",u);let c=document.createElement("button");c.type="button",c.className="diva-annotation-panel-rotate",c.textContent="↺",c.setAttribute("aria-label","Rotate image counter-clockwise 90 degrees"),c.addEventListener("click",()=>void(a+=-90,u())),t.appendChild(c),n.appendChild(r),(s=document.createElement("a")).className="diva-annotation-panel-image-link",s.href=o,s.target="_blank",s.rel="noopener noreferrer",s.textContent=o,s.setAttribute("aria-label","Open the IIIF Image API extract"),i.append(t,n),window.requestAnimationFrame(u)}i.appendChild(this.sanitizeAnnotationHtml(e.html||e.text)),s&&i.appendChild(s);let u=this.annotationPanel;u.replaceChildren(n,i),u.hidden=!1,n.focus()}annotationExtractUrl(e,t){if(!e.imageService)return null;let n=null;if("rect"===e.shape.kind){let{x:t,y:r,width:a,height:i}=e.shape;[t,r,a,i].every(e=>"number"==typeof e&&Number.isFinite(e))&&a>0&&i>0&&(n={x:t,y:r,width:a,height:i})}else if("svg"===e.shape.kind&&t){let e=t.closest(".diva-annotation-overlay"),r=null==e?void 0:e.querySelector("svg");if(r){let e=t.getBoundingClientRect(),a=r.getBoundingClientRect(),i=r.viewBox.baseVal;e.width>0&&e.height>0&&a.width>0&&a.height>0&&i.width>0&&i.height>0&&(n={x:i.x+(e.left-a.left)/a.width*i.width,y:i.y+(e.top-a.top)/a.height*i.height,width:e.width/a.width*i.width,height:e.height/a.height*i.height})}}else"svg"===e.shape.kind&&e.shape.value&&(n=this.svgBoundingRegion(e.shape.value));return(!n&&"svg"===e.shape.kind&&e.shape.value&&(n=this.svgBoundingRegion(e.shape.value)),n)?f(e.imageService,n):null}svgBoundingRegion(e){if(!document.body)return null;let t=document.createElementNS("http://www.w3.org/2000/svg","svg"),n=document.createElementNS("http://www.w3.org/2000/svg","g");t.style.cssText="position:absolute;visibility:hidden;pointer-events:none;left:-10000px;top:-10000px;",t.appendChild(n),this.appendSanitizedSvg(n,e),document.body.appendChild(t);try{let e=n.getBBox();return e.width>0&&e.height>0?{x:e.x,y:e.y,width:e.width,height:e.height}:null}catch(e){return null}finally{t.remove()}}closeAnnotationPanel(){this.annotationPanel&&(this.annotationPanel.hidden=!0)}sanitizeAnnotationHtml(e){let t=document.createElement("template");t.innerHTML=e;let n=new Set(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]),r=e=>{let t=e.trim().toLowerCase();return/^(https?:|mailto:|tel:|\/|\.\/|\.\.\/|#|\?)/.test(t)||!t.includes(":")},a=(e,t)=>{if(e.nodeType===Node.TEXT_NODE)return void t.appendChild(document.createTextNode(e.textContent||""));if(!(e instanceof Element))return;let i=e.localName.toLowerCase();if(!n.has(i))return void Array.from(e.childNodes).forEach(e=>a(e,t));let o=document.createElement(i);if("a"===i){let t=e.getAttribute("href");t&&r(t)&&o.setAttribute("href",t),o.setAttribute("target","_blank"),o.setAttribute("rel","noopener noreferrer")}if("img"===i){let t=e.getAttribute("src");t&&r(t)&&o.setAttribute("src",t);let n=e.getAttribute("alt");n&&o.setAttribute("alt",n)}t.appendChild(o),Array.from(e.childNodes).forEach(e=>a(e,o))},i=document.createDocumentFragment();return Array.from(t.content.childNodes).forEach(e=>a(e,i)),i}ensureScrollPlane(){if(!this.viewer||0===this.pageOffsets.length)return;let e=this.getTotalHeight(),t=this.isSpreadMode()?2:1;if(this.scrollPlaneItem){this.scrollPlaneItem.setPosition(new OpenSeadragon.Point(0,0),!0),this.scrollPlaneItem.setWidth(t,!0),this.scrollPlaneItem.setHeight(e,!0);return}let n=`data:image/svg+xml;charset=utf-8,${encodeURIComponent('')}`;this.viewer.addTiledImage({tileSource:{type:"image",url:n},x:0,y:0,width:t,success:n=>{let r=n.item;r.setOpacity(0),r.setPosition(new OpenSeadragon.Point(0,0),!0),r.setWidth(t,!0),r.setHeight(e,!0),this.scrollPlaneItem=r}})}clearScrollPlane(){this.viewer&&this.scrollPlaneItem&&(this.viewer.world.removeItem(this.scrollPlaneItem),this.scrollPlaneItem=null)}indicesForRange(e,t){return 0===this.pageOffsets.length?null:[this.findIndexForOffset(e),this.getRowEndIndex(this.findIndexForOffset(t))]}findIndexForOffset(e){let t=0,n=this.pageOffsets.length-1;for(;t<=n;){let r=Math.floor((t+n)/2),a=this.pageOffsets[r],i=this.pageRowHeights[r]||this.pageHeights[r]||1;if(ea+i))return this.getRowStartIndex(r);t=r+1}}if(t>=this.pageOffsets.length)return this.pageOffsets.length-1;let r=Math.max(0,t);return this.getRowStartIndex(r)}scrollToOffset(e){var t;let n=null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=this.isSpreadMode()?2:1,i=new OpenSeadragon.Rect(0,e,a,r.height);n.fitBounds(i,!0)}positionInitialViewport(e){var t;let n=null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=this.pageOffsets[e]||0,a=this.pageRowHeights[e]||this.pageHeights[e]||1,i=Math.max(0,r-1.5*a),o=this.isSpreadMode()?2:1;n.fitBounds(new OpenSeadragon.Rect(0,i,o,r+2.5*a-i),!0)}scrollToIndex(e){if(e<0||e>=this.tileSources.length||e>=this.pageOffsets.length)return;let t=this.pageOffsets[e];this.scrollToOffset(t),this.targetIndex=e,this.ensurePageLoaded(e),this.lastReportedIndex=e,this.emitCustomEvent("diva-page-change",{index:e})}getVisiblePageIndexes(){var e;if(0===this.pageOffsets.length)return[];let t=null!=(e=this.lastReportedIndex)?e:0,n=this.getRowStartIndex(t);return Array.from({length:this.getRowEndIndex(n)-n+1},(e,t)=>n+t)}isPageLoaded(e,t){var n;return(null==(n=this.tileSources[e])?void 0:n.sourceId)===t&&this.loadedIndexes.has(e)}next(){let e=this.getVisiblePageIndexes();if(0===e.length)return;let t=this.getRowEndIndex(e[0])+1;t0?a/r.height*.75:0,o=n.getCenter(!0),s=new OpenSeadragon.Point(o.x,o.y+i);n.panTo(s,!0),this.clampTop(),this.clampBottom(),this.maybeEmitPageChange()}lockHorizontalPan(){var e;if(!this.isViewportInitialized)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(this.getCenterX(),n.y),!0),t.applyConstraints()}recenterAfterFit(){if(!this.viewer)return;let e=()=>{this.viewer&&this.viewer.removeHandler("animation-finish",e),this.recenterBoundsX()};"function"==typeof this.viewer.addOnceHandler?this.viewer.addOnceHandler("animation-finish",e):this.viewer.addHandler("animation-finish",e)}recenterBoundsX(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0),r=this.getCenterX();5e-4>Math.abs(n.x-r)||(t.panTo(new OpenSeadragon.Point(r,n.y),!0),t.applyConstraints())}clampTop(e){var t;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=-this.getTopPaddingViewport(r.height);if(r.y>=a)return;let i=r.height/2+a;this.isClamping=!0,n.panTo(new OpenSeadragon.Point(n.getCenter(!1).x,i),!0),n.applyConstraints(),this.isClamping=!1}clampBottom(e){var t,n;let r=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!r||0===this.pageOffsets.length)return;let a=this.getTotalHeight(),i=r.getBounds(!0),o=a+20/((null==(n=this.container)?void 0:n.getBoundingClientRect().height)||1)*i.height;if(i.y+i.height<=o)return;let s=o-i.height/2;this.isClamping=!0,r.panTo(new OpenSeadragon.Point(r.getCenter(!1).x,s),!0),r.applyConstraints(),this.isClamping=!1}maybeEmitPageChange(e){var t;if(this.suppressPageChange||this.isScrollbarDragging||0===this.pageOffsets.length)return;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getCenter(!0),a=this.findIndexForOffset(r.y);this.lastReportedIndex!==a&&(this.lastReportedIndex=a,this.emitCustomEvent("diva-page-change",{index:a}))}emitPageChangeInstant(){var e;if(0===this.pageOffsets.length)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0),r=this.findIndexForOffset(n.y);this.lastReportedIndex=r,this.emitCustomEvent("diva-page-change",{index:r,instant:!0})}flushInitialPageChange(){if(0===this.pageOffsets.length){this.suppressPageChange=!1;return}if(!this.viewer||!this.viewer.viewport)return;let e=this.viewer.viewport.getCenter(!0),t=this.findIndexForOffset(e.y);this.lastReportedIndex=t,this.suppressPageChange=!1,this.emitCustomEvent("diva-page-change",{index:t})}maybeEmitZoomChange(e){var t;if(this.suppressZoomChange)return;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getZoom(!0);null!==this.lastReportedZoom&&1e-4>Math.abs(this.lastReportedZoom-r)||(this.lastReportedZoom=r,this.emitCustomEvent("diva-zoom-change",{zoom:r}))}flushInitialZoomChange(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getZoom(!0);this.lastReportedZoom=n,this.suppressZoomChange=!1,this.emitCustomEvent("diva-zoom-change",{zoom:n})}alignTopAfterFit(e){if(!this.viewer)return;let t=this.viewer.viewport;if(!t)return;let n=t.getBounds(!0),r=this.getTopPaddingViewport(n.height),a=(this.pageOffsets[e]||0)-r;if(5e-4>Math.abs(n.y-a))return;let i=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(i.x,n.height/2+a),!0),t.applyConstraints()}getTopPaddingViewport(e){var t;return 28/((null==(t=this.container)?void 0:t.getBoundingClientRect().height)||1)*e}resetLoadingState(){null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1})}updateLoadingState(){if(this.loadingIndexes.size>0){if(this.isLoading||null!==this.loadingTimer)return;this.loadingTimer=window.setTimeout(()=>{this.loadingTimer=null,this.loadingIndexes.size>0&&!this.isLoading&&(this.isLoading=!0,this.emitCustomEvent("diva-loading-change",{loading:!0}))},300);return}null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading&&(this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1}))}applyLayoutChange(e){var t,n,r;let a=null!=(t=e.mode)?t:this.layoutMode,i=null!=(n=e.direction)?n:this.viewingDirection;if(this.layoutMode===a&&this.viewingDirection===i)return;let o=null,s=null==(r=this.viewer)?void 0:r.viewport;if(s&&this.pageOffsets.length>0){let e=s.getBounds(!0),t=e.y+.5*e.height;o=this.findIndexForOffset(t)}else null!==this.lastReportedIndex&&(o=this.lastReportedIndex);if(this.layoutMode=a,this.viewingDirection=i,this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),null!==o){let e=Math.max(0,Math.min(o,this.pageOffsets.length-1));this.scrollToIndex(e)}else this.lockHorizontalPan(),this.recenterAfterFit();this.maybeLoadMore()}emitCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}getCenterX(){return this.isSpreadMode()?1:.5}isSingleCanvasLayout(){return 1===this.tileSources.length&&1===this.pageOffsets.length}getTotalHeight(){let e=this.pageOffsets.length-1;return this.pageOffsets[e]+(this.pageRowHeights[e]||1)}getRowBounds(e){let t=this.pageOffsets[e]||0,n=this.pageRowHeights[e]||this.pageHeights[e]||1,r=this.isSpreadMode()?2:1;return new OpenSeadragon.Rect(0,t,r,n)}isSpreadMode(){return"single"!==this.layoutMode}getRowStartIndex(e){return this.isSpreadMode()?"spread-shift"===this.layoutMode?0===e?0:e%2==1?e:e-1:e-e%2:e}getRowEndIndex(e){let t=this.pageOffsets.length-1;return this.isSpreadMode()?"spread-shift"===this.layoutMode&&0===e?0:Math.min(e+1,t):e}createScrollbar(){this.container&&(this.scrollbarTrack=document.createElement("div"),this.scrollbarTrack.className="diva-scrollbar-track",this.scrollbarThumb=document.createElement("div"),this.scrollbarThumb.className="diva-scrollbar-thumb",this.scrollbarTrack.appendChild(this.scrollbarThumb),this.container.appendChild(this.scrollbarTrack),this.setupScrollbarDrag(),this.setupScrollbarTrackClick())}updateScrollbar(){if(!this.viewer||!this.scrollbarThumb||!this.scrollbarTrack||0===this.pageOffsets.length)return;let e=this.viewer.viewport.getBounds(!0),t=this.scrollbarTrack.clientHeight,n=this.getTotalHeight(),r=e.height,a=e.y,i=Math.max(30,r/n*t),o=n-r,s=o>0?Math.max(0,Math.min(1,a/o)):0;this.scrollbarThumb.style.height=`${i}px`,this.scrollbarThumb.style.top=`${Math.max(0,s*(t-i))}px`}setupScrollbarDrag(){if(!this.scrollbarThumb||!this.scrollbarTrack)return;let e=!1,t=0,n=0,r=r=>{var a;e=!0,this.isScrollbarDragging=!0,t=r.clientY,n=(null==(a=this.scrollbarThumb)?void 0:a.offsetTop)||0,r.preventDefault(),r.stopPropagation()},a=r=>{if(!e||!this.scrollbarTrack||!this.scrollbarThumb||!this.viewer)return;let a=r.clientY-t,i=n+a,o=this.scrollbarTrack.clientHeight,s=this.scrollbarThumb.clientHeight,u=Math.max(0,Math.min(i,o-s)),c=this.getTotalHeight(),l=this.viewer.viewport.getBounds(!0).height,d=this.viewer.viewport.getCenter(!0);this.viewer.viewport.panTo(new OpenSeadragon.Point(d.x,(o-s>0?u/(o-s):0)*(c-l)+l/2),!0)},i=()=>{e&&(e=!1,this.isScrollbarDragging=!1,this.emitPageChangeInstant())};this.scrollbarMouseMove=a,this.scrollbarMouseUp=i,this.scrollbarThumb.addEventListener("mousedown",r),document.addEventListener("mousemove",a),document.addEventListener("mouseup",i)}setupScrollbarTrackClick(){this.scrollbarTrack&&this.scrollbarTrack.addEventListener("click",e=>{var t;if(e.target===this.scrollbarThumb||!this.viewer)return;let n=null==(t=this.scrollbarTrack)?void 0:t.getBoundingClientRect();if(!n)return;let r=Math.max(0,Math.min(1,(e.clientY-n.top)/n.height)),a=this.getTotalHeight(),i=this.viewer.viewport.getBounds(!0).height,o=this.viewer.viewport.getCenter(!0);this.viewer.viewport.panTo(new OpenSeadragon.Point(o.x,r*(a-i)+i/2),!0)})}constructor(){super(),this.container=null,this.viewer=null,this.loadToken=0,this.tileSources=[],this.pageLabels=[],this.pageAspects=[],this.pageOffsets=[],this.pageHeights=[],this.pageRowHeights=[],this.pageXOffsets=[],this.layoutMode="single",this.viewingDirection="ltr",this.hasFitFirstPage=!1,this.loadedIndexes=new Set,this.loadingIndexes=new Set,this.unavailableIndexes=new Map,this.loadControllers=new Map,this.staticImageCorsPolicy="required",this.tileSourceResolver=async e=>e.isStatic?h(e.url,!1,"none"===this.staticImageCorsPolicy):e.url,this.loadedItems=new Map,this.pageWaiters=new Map,this.pageOverlayElements=new Map,this.annotationData=new Map,this.annotationOverlayElements=new Map,this.annotationsVisible=!0,this.annotationSelectionEnabled=!0,this.selectedAnnotationId=null,this.annotationPanel=null,this.annotationPanelIgnoreCloseUntil=0,this.targetIndex=null,this.initialPageIndex=0,this.resourceId="initial",this.scrollPlaneItem=null,this.isViewportInitialized=!1,this.lastReportedIndex=null,this.lastReportedZoom=null,this.loadingTimer=null,this.isLoading=!1,this.isClamping=!1,this.suppressPageChange=!0,this.suppressZoomChange=!0,this.scrollbarTrack=null,this.scrollbarThumb=null,this.isScrollbarDragging=!1,this.scrollbarMouseMove=null,this.scrollbarMouseUp=null,this.handleWheelBound=this.handleWheel.bind(this),this.handleDoubleClickBound=this.handleDoubleClick.bind(this),this.handleViewportChangeBound=this.handleViewportChange.bind(this),this.handleAnimationFinishBound=this.handleAnimationFinish.bind(this)}};function m(e,t,n){return n.a=e,n.f=t,n}function w(e){return m(2,e,function(t){return function(n){return e(t,n)}})}function y(e){return m(3,e,function(t){return function(n){return function(r){return e(t,n,r)}}})}function x(e){return m(4,e,function(t){return function(n){return function(r){return function(a){return e(t,n,r,a)}}}})}function C(e){return m(5,e,function(t){return function(n){return function(r){return function(a){return function(i){return e(t,n,r,a,i)}}}}})}function I(e){return m(6,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return e(t,n,r,a,i,o)}}}}}})}function A(e){return m(7,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return e(t,n,r,a,i,o,s)}}}}}}})}function E(e){return m(8,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return function(u){return e(t,n,r,a,i,o,s,u)}}}}}}}})}function $(e,t,n){return 2===e.a?e.f(t,n):e(t)(n)}function R(e,t,n,r){return 3===e.a?e.f(t,n,r):e(t)(n)(r)}function S(e,t,n,r,a){return 4===e.a?e.f(t,n,r,a):e(t)(n)(r)(a)}function M(e,t,n,r,a,i){return 5===e.a?e.f(t,n,r,a,i):e(t)(n)(r)(a)(i)}function P(e,t,n,r,a,i,o){return 6===e.a?e.f(t,n,r,a,i,o):e(t)(n)(r)(a)(i)(o)}function L(e,t,n,r,a,i,o,s){return 7===e.a?e.f(t,n,r,a,i,o,s):e(t)(n)(r)(a)(i)(o)(s)}customElements.define("diva-lazy-image",g),customElements.define("osd-viewer",p);var T=y(function(e,t,n){for(var r=Array(e),a=0;a100){var a;return r.push((a=e,{a,b:t})),!0}if(e.$<0&&(e=no(e),t=no(t)),"function"==typeof DataView&&e instanceof DataView){var i=e.byteLength;if(t.byteLength!==i)return!1;for(var o=0;o0&&e<0||n<0&&e>0?n+e:n}),Z=Math.ceil,Y=Math.floor,K=Math.round,Q=Math.log,ee=w(function(e,t){return e+t}),et=y(function(e,t,n){for(var r=n.length;r-- >0;){var a=n[r],i=n.charCodeAt(r);56320<=i&&i<=57343&&(a=n[--r]+a),t=$(e,a,t)}return t}),en=w(function(e,t){return t.split(e)}),er=w(function(e,t){return t.join(e)}),ea=y(function(e,t,n){return n.slice(e,t)}),ei=w(function(e,t){for(var n=t.length;n-- >0;){var r=t[n],a=t.charCodeAt(n);if(56320<=a&&a<=57343&&(r=t[--n]+r),!e(r))return!1}return!0}),eo=w(function(e,t){return t.indexOf(e)>-1}),es=w(function(e,t){return 0===t.indexOf(e)}),eu=w(function(e,t){return t.length>=e.length&&t.lastIndexOf(e)===t.length-e.length}),ec=w(function(e,t){var n=e.length;if(n<1)return U;for(var r=0,a=[];(r=t.indexOf(e,r))>-1;)a.push(r),r+=n;return q(a)});function el(e){return e+""}function ed(e){return{$:2,b:e}}var ef=ed(function(e){return"number"!=typeof e?eL("an INT",e):-0x7fffffff=t.length)return eL("a LONGER array. Need index "+a+" but only see "+t.length+" entries",t);var r=eR(e.b,t[a]);return n0(r)?r:nf($(nb,a,r.a));case 8:if("object"!=typeof t||null===t||eM(t))return eL("an OBJECT",t);var i=U;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var r=eR(e.b,t[o]);if(!n0(r))return nf($(nv,o,r.a));i=D({a:o,b:r.a},i)}return ng(nO(i));case 9:for(var s=e.f,u=e.g,c=0;ctypeof FileList&&e instanceof FileList}function eP(e){return $(nQ,e.length,function(t){return e[t]})}function eL(e,t){return nf($(nh,"Expecting "+e,t))}var eT=w(function(e,t){return JSON.stringify(t,null,e)+""});function ek(e){return e}var eO=y(function(e,t,n){return("toJSON"!==e||"function"!=typeof t)&&(n[e]=t),n});function eH(e){return{$:0,a:e}}function eV(e){return{$:2,b:e,c:null}}var eB=w(function(e,t){return{$:3,b:e,d:t}}),eF=w(function(e,t){return{$:4,b:e,d:t}}),e_=0;function eN(e){var t={$:0,e:e_++,f:e,g:null,h:[]};return eq(t),t}function ez(e){return eV(function(t){t(eH(eN(e)))})}function eG(e,t){e.h.push(t),eq(e)}var eU=w(function(e,t){return eV(function(n){eG(e,t),n(eH(0))})}),eD=!1,eJ=[];function eq(e){if(eJ.push(e),!eD){for(eD=!0;e=eJ.shift();)!function(e){for(;e.f;){var t=e.f.$;if(0===t||1===t){for(;e.g&&e.g.$!==t;)e.g=e.g.i;if(!e.g)return;e.f=e.g.b(e.f.a),e.g=e.g.i}else if(2===t){e.f.c=e.f.b(function(t){e.f=t,eq(e)});return}else if(5===t){if(0===e.h.length)return;e.f=e.f.b(e.h.shift())}else e.g={$:+(3!==t),b:e.f.b,i:e.g},e.f=e.f.d}}(e);eD=!1}}function eX(e){return eV(function(t){var n=setTimeout(function(){t(eH(0))},e);return function(){clearTimeout(n)}})}var ej={};function eW(e,t,n,r,a){return{b:e,c:t,d:n,e:r,f:a}}var eZ=w(function(e,t){return eV(function(n){e.g(t),n(eH(0))})}),eY=w(function(e,t){return $(eU,e.h,{$:0,a:t})});function eK(e){return function(t){return{$:1,k:e,l:t}}}function eQ(e){return{$:2,m:e}}var e0=[],e1=!1;function e2(e,t,n){if(e0.push({p:e,q:t,r:n}),!e1){e1=!0;for(var r;r=e0.shift();)!function(e,t,n){var r={};for(var a in e4(!0,t,r,null),e4(!1,n,r,null),e)eG(e[a],{$:"fx",a:r[a]||{i:U,j:U}})}(r.p,r.q,r.r);e1=!1}}function e4(e,t,n,r){switch(t.$){case 1:var a,i,o,s,u,c,l,d=t.k,f=(a=e,i=d,o=r,s=t.l,$(a?ej[i].e:ej[i].f,function(e){for(var t=o;t;t=t.t)e=t.s(e);return e},s));n[d]=(u=e,c=f,l=(l=n[d])||{i:U,j:U},u?l.i=D(c,l.i):l.j=D(c,l.j),l);return;case 2:for(var h=t.m;h.b;h=h.b)e4(e,h.a,n,r);return;case 3:e4(e,t.o,n,{s:t.n,t:r});return}}function e3(e,t){return ej[e]&&O(3),ej[e]={e:e6,u:t,a:e5},eK(e)}var e6=w(function(e,t){return t});function e5(e){var t=[],n=ej[e].u,r=eX(0);return ej[e].b=r,ej[e].c=y(function(e,a,i){for(;a.b;a=a.b){for(var o=t,s=n(a.a),u=0;u=0&&t.splice(n,1)}}}function e8(e,t){return ej[e]&&O(3),ej[e]={f:e7,u:t,a:e9},eK(e)}var e7=w(function(e,t){return function(n){return e(t(n))}});function e9(e,t){var n=U,r=ej[e].u,a=eH(null);return ej[e].b=a,ej[e].c=y(function(e,t,r){return n=t,a}),{send:function(e){var a=$(e$,r,e);n0(a)||O(4,a.a);for(var i=a.a,o=n;o.b;o=o.b)t(o.a(i))}}}var te=!1,tt="u">typeof document?document:{};function tn(e,t){e.appendChild(t)}function tr(e,t,n){(t.parentNode!==e||t.nextSibling!==n)&&e.insertBefore(t,n)}function ta(e,t,n){(t.parentNode!==e||t.previousSibling!==n)&&e.insertBefore(t,null===n?e.firstChild:n.nextSibling)}var ti="u">typeof Element&&"function"==typeof Element.prototype.moveBefore,to=ti?function(e,t,n){(t.parentNode!==e||t.nextSibling!==n)&&e.moveBefore(t,n)}:tr,ts=ti?function(e,t,n){(t.parentNode!==e||t.previousSibling!==n)&&e.moveBefore(t,null===n?e.firstChild:n.nextSibling)}:ta;function tu(e){var t=e.parentNode;t&&t.removeChild(e)}function tc(e){return{r:e,s:Object.create(null)}}function tl(e){return{$:0,a:e}}var td=w(function(e,t){return w(function(n,r){for(var a=[];r.b;r=r.b)a.push(r.a);return{$:1,c:t,d:tL(n),e:a,f:e,b:0}})}),tf=td(void 0);function th(e,t){return{$:5,l:e,m:t,k:void 0}}w(function(e,t){return w(function(n,r){for(var a=[],i=Object.create(null);r.b;r=r.b){for(var o=r.a,s=o.a;s in i;)s+=tG,o={a:s,b:o.b};a.push(o),i[s]=o.b}return{$:2,c:t,d:tL(n),e:a,t:i,f:e,b:0}})})(void 0);var tv=w(function(e,t){return th([e,t],function(){return e(t)})}),tb=y(function(e,t,n){return th([e,t,n],function(){return $(e,t,n)})}),tg=x(function(e,t,n,r){return th([e,t,n,r],function(){return R(e,t,n,r)})}),tp=C(function(e,t,n,r,a){return th([e,t,n,r,a],function(){return S(e,t,n,r,a)})}),tm=I(function(e,t,n,r,a,i){return th([e,t,n,r,a,i],function(){return M(e,t,n,r,a,i)})}),tw=A(function(e,t,n,r,a,i,o){return th([e,t,n,r,a,i,o],function(){return P(e,t,n,r,a,i,o)})}),ty=w(function(e,t){return{$:"a0",n:e,o:t}}),tx=w(function(e,t){return{$:"a1",n:e,o:t}}),tC=w(function(e,t){return{$:"a2",n:e,o:t}}),tI=w(function(e,t){return{$:"a3",n:e,o:t}}),tA=y(function(e,t,n){return{$:"a4",n:t,o:{f:e,o:n}}}),tE=/^script$/i,t$=/^(on|formAction$)/i,tR=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,tS=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function tM(e){return tS.test(e)?"":e}var tP="function"==typeof _Test_runThunk;function tL(e){var t={};for(t[tJ]=!0;e.b;e=e.b){var n=e.a,r=n.$,a=n.n,i=n.o;if("a2"===r){"className"===a?tT(t,a,i):t[a]=i;continue}var o=t[r]||(t[r]={});"a3"===r&&"class"===a?tP?tT(t,"className",i):tT(o,a,i):o[a]=i}return t}function tT(e,t,n){var r=e[t];e[t]=r?r+" "+n:n}function tk(e,t,n){var r=e.$;if(5===r)return tk(e.k||(e.k=e.m()),t,n);if(4===r)return tk(e.k,function(n,r){return t(e.j(n),r)},n);if(0===r){var a=tt.createTextNode(e.a);return n.r=a,a}if(3===r){var a=e.h(e.g);return tO(a,t,{},e.d),n.r=a,a}var a=e.f?tt.createElementNS(e.f,e.c):tt.createElement(e.c);if(c&&"a"==e.c&&a.addEventListener("click",c(a)),tO(a,t,{},e.d),1===r)for(var i=e.e,o=0;on2(i)}),r[a]=o}for(a in r)a in n||(e.removeEventListener(a,r[a]),delete r[a])}(e,t,r.a0||{})}function tH(e,t){for(var n in t)if("a0"!==n&&"a1"!==n&&"a3"!==n&&"a4"!==n&&n!==tJ){var r=t[n];r!==e[n]&&(e[n]=r)}}function tV(e,t){var n=e.elmFs;if(n)for(var r in n)n[r].q=t}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){l=!0}}))}catch(e){}function tB(e,t,n,r){if(e===t)return{r:tF(e,t,n,r),u:!1,v:!1};for(;4===e.$;)e=e.k;if(4===t.$)return tB(e,t.k,function(e,r){return n(t.j(e),r)},r);if(5===e.$)if(5!==t.$)return tB(e.k,t,n,r);else{for(var a=e.l,i=t.l,o=a.length,s=o===i.length;s&&o--;)s=a[o]===i[o];return s?(t.k=e.k,{r:tF(e,t,n,r),u:!1,v:!1}):(t.k=t.m(),tB(e.k,t.k,n,r))}if(5===t.$)return tB(e,t.k||(t.k=t.m()),n,r);var u=r.r,c=e.$,l=t.$;if(c!==l)if(1===c&&2===l)e=function(e,t,n){for(var r=e.e,a=t.e,i=r.length,o=a.length,s=Array(i),u=Object.create(null),c=Object.create(null),l=0;l=0;u--){var l=s[u],d=function e(t,n,r){var a=t.$;if(5===a)return e(t.k,n,r);if(4===a)return e(t.k,function(e,r){return n(t.j(e),r)},r);if(0===a){var i=tt.createTextNode(t.a);return r.r=i,i}return r.r}(2===n.$?l.b:l,r,a.s[2===n.$?l.a:u]);if(d.parentNode===e)for(;c>=0;c--){if((o=e.childNodes[c])===d){c--;break}(3===o.nodeType||"font"===o.localName)&&e.removeChild(o)}else tr(e,d,o),o=d}for(;c>=0;c--)(3===(o=e.childNodes[c]).nodeType||"font"===o.localName)&&e.removeChild(o)}return{r:e,u:!1,v:!1}}function tN(e,t,n,r,a){for(var i=t.e,o=n.e,s=i.length,u=o.length,c=!1,l=null,d=su)for(var f=u;fc&&f>l;){var p=i[d],m=o[f],w=p.a,y=m.a,x=p.b,C=m.b;if(w===y){var I=tB(x,C,r,a.s[y]);d--,f--,g(I,!0);continue}var A=!1;if(w in u?A=!0:(tu(a.s[w].r),delete a.s[w],d--),y in s){if(A)break}else{var E=tc(void 0),$=tk(C,r,E);a.s[y]=E,tr(e,$,v),f--,v=$}}var R=!1;if(c=e)break;var n=tX[t];delete tX[t],n()}tj=!1})),t}var tK="u">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tQ={addEventListener:function(){},removeEventListener:function(){}},t0="u">typeof document?document:tQ,t1="u">typeof window?window:tQ,t2=y(function(e,t,n){return ez(eV(function(r){function a(e){eN(n(e))}return e.addEventListener(t,a,l&&{passive:!0}),function(){e.removeEventListener(t,a)}}))}),t4=w(function(e,t){var n=eR(e,t);return n0(n)?nr(n.a):na});function t3(e,t){return eV(function(n){tY(function(){var r=document.getElementById(e);n(r?eH(t(r)):{$:1,a:n3(e)})})})}function t6(){var e=t0.body,t=t0.documentElement;return{dI:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dU:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t5=y(function(e,t,n){return t3(e,function(e){return e.scrollLeft=t,e.scrollTop=n,0})}),t8=y(function(e,t,n){return eV(function(r){function a(e){r(t(n.dQ.a(e)))}var i,o,s,u=new XMLHttpRequest;u.addEventListener("error",function(){a(rM)}),u.addEventListener("timeout",function(){a(rT)}),u.addEventListener("load",function(){var e,t,r;a((e=n.dQ.b,$(200<=(t=u).status&&t.status<300?rS:r$,{aM:(r=t).responseURL,gN:r.status,gO:r.statusText,eP:function(e){if(!e)return rI;for(var t=rI,n=e.split("\r\n"),r=n.length;r--;){var a=n[r],i=a.indexOf(": ");if(i>0){var o=a.substring(0,i),s=a.substring(i+2);t=R(rj,o,function(e){return nr(rk(e)?s+", "+e.a:s)},t)}}return t}(r.getAllResponseHeaders())},e(t.response))))}),rk(n.fE)&&(i=e,o=u,s=n.fE.a,o.upload.addEventListener("progress",function(e){!o.c&&eN($(rO,i,{a:s,b:rL({gJ:e.loaded,fw:e.total})}))}),o.addEventListener("progress",function(e){!o.c&&eN($(rO,i,{a:s,b:rP({gA:e.loaded,fw:e.lengthComputable?nr(e.total):na})}))}));try{u.open(n.gj,n.aM,!0)}catch(e){return a(rR(n.aM))}return function(e,t){for(var n=t.eP;n.b;n=n.b)e.setRequestHeader(n.a.a,n.a.b);e.timeout=t.gY.a||0,e.responseType=t.dQ.d,e.withCredentials=t.fM}(u,n),n.eq.a&&u.setRequestHeader("Content-Type",n.eq.a),u.send(n.eq.b),function(){u.c=!0,u.abort()}})}),t7=y(function(e,t,n){return{$:0,d:e,b:t,a:n}}),t9=w(function(e,t){return{$:0,d:t.d,b:t.b,a:function(n){return e(t.a(n))}}}),ne=C(function(e,t,n,r,a){for(var i,o=e.length,s=t+o<=a.length,u=0;s&&u_(e,t)))return n;else{var r=e,a=t-1,i=$(J,t,n);e=r,t=a,n=i;continue}}),nA=w(function(e,t){return R(nI,e,t,U)}),nE=w(function(e,t){return R(j,e,$(nA,0,nC(t)-1),t)}),n$=function(e){return e.toLowerCase()},nR=function(e){return e.toUpperCase()},nS=function(e){return H(e,n$(e))&&!H(e,nR(e))},nM=function(e){return H(e,nR(e))&&!H(e,n$(e))},nP=function(e){return nS(e)||nM(e)},nL=function(e){var t=e.charCodeAt(0);return 55296<=t&&t<=56319?(t-55296)*1024+e.charCodeAt(1)-56320+65536:t},nT=function(e){var t=nL(e);return t<=57&&48<=t},nk=function(e){return nS(e)||nM(e)||nT(e)},nO=function(e){return R(nx,J,U,e)},nH=function(e){var t=e.charCodeAt(0);return isNaN(t)?na:nr(55296<=t&&t<=56319?{a:e[0]+e[1],b:e.slice(2)}:{a:e[0],b:e.slice(1)})},nV=w(function(e,t){return"\n\n("+el(e+1)+") "+ny(nB(t))}),nB=function(e){return $(nF,e,U)},nF=w(function(e,t){for(;;)switch(e.$){case 0:var n=e.a,r=e.b,a=!function(){var e=nH(n);if(1===e.$)return!1;var t=e.a,r=t.a,a=t.b;return nP(r)&&$(ei,nk,a)}()?"['"+n+"']":"."+n,i=r,o=$(J,a,t);e=i,t=o;continue;case 1:var s=e.a,r=e.b,u="["+el(s)+"]",i=r,o=$(J,u,t);e=i,t=o;continue;case 2:var c=e.a;if(!c.b)return"Ran into a Json.Decode.oneOf with no possibilities"+(t.b?" at json"+$(nm,"",nO(t)):"!");if(c.b.b){var l=(t.b?"The Json.Decode.oneOf at json"+$(nm,"",nO(t)):"Json.Decode.oneOf")+" failed in the following "+el(nC(c))+" ways:";return $(nm,"\n\n",$(J,l,$(nE,nV,c)))}var r=c.a,i=r,o=t;e=i,t=o;continue;default:var d=e.a,f=e.b,l=t.b?"Problem with the value at json"+$(nm,"",nO(t))+":\n\n ":"Problem with the given value:\n\n";return l+(ny($(eT,4,f))+"\n\n")+d}}),n_=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),nN=[],nz=w(function(e,t){return Q(t)/Q(e)}),nG=function(e){return e},nU=Z($(nz,2,32)),nD=S(n_,0,nU,nN,nN),nJ=w(function(e,t){return e(t)}),nq=function(e){return e.length},nX=w(function(e,t){return _(e,t)>0?e:t}),nj=w(function(e,t){for(;;){var n=$(k,32,e),r=n.a,a=n.b,i=$(J,{$:0,a:r},t);if(!a.b)return nO(i);e=a,t=i}}),nW=function(e){return e.a},nZ=w(function(e,t){for(;;){var n=Z(t/32);if(1===n)return $(k,32,e).a;e=$(nj,e,U),t=n}}),nY=w(function(e,t){if(!t.z)return S(n_,nq(t.E),nU,nN,t.E);var n=32*t.z,r=Y($(nz,32,n-1)),a=$(nZ,e?nO(t.F):t.F,t.z);return S(n_,nq(t.E)+n,$(nX,5,r*nU),a,t.E)}),nK=C(function(e,t,n,r,a){for(;;)if(t<0)return $(nY,!1,{F:r,z:n/32|0,E:a});else{var i={$:1,a:R(T,32,t,e)},o=e,s=t-32,u=n,c=$(J,i,r),l=a;e=o,t=s,n=u,r=c,a=l;continue}}),nQ=w(function(e,t){if(e<=0)return nD;var n=e%32,r=R(T,n,e-n,t);return M(nK,t,e-n-32,e,U,r)}),n0=function(e){return!e.$},n1=function(e){return{$:0,a:e}},n2=function(e){switch(e.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},n4=function(e){return e},n3=n4,n6=I(function(e,t,n,r,a,i){return{f4:i,eR:t,s:r,fa:n,fe:e,gz:a}}),n5=function(e){return e.length},n8=w(function(e,t){return e<1?t:R(ea,e,n5(t),t)}),n7=function(e){return""===e},n9=w(function(e,t){return e<1?"":R(ea,0,e,t)}),re=function(e){for(var t=0,n=e.charCodeAt(0),r=+(43==n||45==n),a=r;a500?R(nx,e,t,nO(d)):S(rs,e,t,n+1,d);return $(e,a,$(e,o,$(e,u,$(e,l,f))))}),ru=y(function(e,t,n){return S(rs,e,t,0,n)}),rc=w(function(e,t){return R(ru,w(function(t,n){return $(J,e(t),n)}),U,t)}),rl=w(function(e,t){return $(eB,function(t){return eH(e(t))},t)}),rd=y(function(e,t,n){return $(eB,function(t){return $(eB,function(n){return eH($(e,t,n))},n)},t)}),rf=function(e){return R(ru,rd(J),eH(U),e)},rh=w(function(e,t){return ez($(eB,eZ(e),t))});ej.Task=eW(ro,y(function(e,t,n){return $(rl,function(e){return 0},rf($(rc,rh(e),t)))}),y(function(e,t,n){return eH(0)}),w(function(e,t){return $(rl,e,t)}));var rv=eK("Task"),rb=w(function(e,t){return rv($(rl,e,t))}),rg=function(e){return{$:0,a:e}},rp={$:1},rm={$:0},rw=function(e){return{$:9,a:e}},ry=function(e){return{$:56,a:e}},rx=y(function(e,t,n){return 0>_(n,e)?e:_(n,t)>0?t:n}),rC={$:-2},rI=rC,rA=(r=function(){return{fq:t6(),fH:{fJ:t1.pageXOffset,ek:t1.pageYOffset,dI:t0.documentElement.clientWidth,dU:t0.documentElement.clientHeight}}},eV(function(e){tY(function(){e(eH(r()))})})),rE={aa:na,ah:na,di:!1,ax:rI,e:rI,cL:0,v:rI,D:rI,Z:U,ag:rI,ar:rI},r$=w(function(e,t){return{$:3,a:e,b:t}}),rR=function(e){return{$:0,a:e}},rS=w(function(e,t){return{$:4,a:e,b:t}}),rM={$:2},rP=function(e){return{$:1,a:e}},rL=function(e){return{$:0,a:e}},rT={$:1},rk=function(e){return!e.$},rO=eY,rH=w(function(e,t){for(;;)if(-2===t.$)return na;else{var n=t.b,r=t.c,a=t.d,i=t.e;switch($(N,e,n)){case 0:var o=e,s=a;e=o,t=s;continue;case 1:return nr(r);default:var o=e,s=i;e=o,t=s;continue}}}),rV=C(function(e,t,n,r,a){return{$:-1,a:e,b:t,c:n,d:r,e:a}}),rB=C(function(e,t,n,r,a){if(-1!==a.$||a.a)if(-1!==r.$||r.a||-1!==r.d.$||r.d.a)return M(rV,e,t,n,r,a);else{r.a;var i=r.b,o=r.c,s=r.d;s.a;var u=s.b,c=s.c,l=s.d,d=s.e,f=r.e;return M(rV,0,i,o,M(rV,1,u,c,l,d),M(rV,1,t,n,f,a))}a.a;var h=a.b,v=a.c,b=a.d,g=a.e;if(-1!==r.$||r.a)return M(rV,e,h,v,M(rV,0,t,n,r,b),g);r.a;var i=r.b,o=r.c,p=r.d,f=r.e;return M(rV,0,t,n,M(rV,1,i,o,p,f),M(rV,1,h,v,b,g))}),rF=y(function(e,t,n){if(-2===n.$)return M(rV,0,e,t,rC,rC);var r=n.a,a=n.b,i=n.c,o=n.d,s=n.e;switch($(N,e,a)){case 0:return M(rB,r,a,i,R(rF,e,t,o),s);case 1:return M(rV,r,a,t,o,s);default:return M(rB,r,a,i,o,R(rF,e,t,s))}}),r_=y(function(e,t,n){var r=R(rF,e,t,n);return -1!==r.$||r.a?r:(r.a,M(rV,1,r.b,r.c,r.d,r.e))}),rN=function(e){for(;;)if(-1!==e.$||-1!==e.d.$)return e;else{e=e.d;continue}},rz=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.e.d.$||e.e.d.a){var t=e.a,n=e.b,r=e.c,a=e.d;a.a;var i=a.b,o=a.c,s=a.d,u=a.e,c=e.e;c.a;var l=c.b,d=c.c,f=c.d,h=c.e;return M(rV,1,n,r,M(rV,0,i,o,s,u),M(rV,0,l,d,f,h))}var t=e.a,n=e.b,r=e.c,v=e.d;v.a;var i=v.b,o=v.c,s=v.d,u=v.e,b=e.e;b.a;var l=b.b,d=b.c,f=b.d;f.a;var g=f.b,p=f.c,m=f.d,w=f.e,h=b.e;return M(rV,0,g,p,M(rV,1,n,r,M(rV,0,i,o,s,u),m),M(rV,1,l,d,w,h))},rG=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.d.d.$||e.d.d.a){var t=e.a,n=e.b,r=e.c,a=e.d;a.a;var i=a.b,o=a.c,s=a.d,u=a.e,c=e.e;c.a;var l=c.b,d=c.c,f=c.d,h=c.e;return M(rV,1,n,r,M(rV,0,i,o,s,u),M(rV,0,l,d,f,h))}var t=e.a,n=e.b,r=e.c,v=e.d;v.a;var i=v.b,o=v.c,b=v.d;b.a;var g=b.b,p=b.c,m=b.d,w=b.e,u=v.e,y=e.e;y.a;var l=y.b,d=y.c,f=y.d,h=y.e;return M(rV,0,i,o,M(rV,1,g,p,m,w),M(rV,1,n,r,u,M(rV,0,l,d,f,h)))},rU=A(function(e,t,n,r,a,i,o){if(-1===i.$&&!i.a)return i.a,M(rV,n,i.b,i.c,i.d,M(rV,0,r,a,i.e,o));for(;;)if(-1===o.$&&1===o.a)if(-1!==o.d.$)return o.a,o.d,rG(t);else if(1===o.d.a)return o.a,o.d.a,rG(t);else break;else break;return t}),rD=function(e){if(-1!==e.$||-1!==e.d.$)return rC;var t=e.a,n=e.b,r=e.c,a=e.d,i=a.a,o=a.d,s=e.e;if(1!==i)return M(rV,t,n,r,rD(a),s);if(-1===o.$&&!o.a)return o.a,M(rV,t,n,r,rD(a),s);var u=rz(e);if(-1!==u.$)return rC;var c=u.a,l=u.b,d=u.c,f=u.d,h=u.e;return M(rB,c,l,d,rD(f),h)},rJ=w(function(e,t){if(-2===t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;if(!(0>_(e,r)))return $(rq,e,L(rU,e,t,n,r,a,i,o));if(-1!==i.$||1!==i.a)return M(rV,n,r,a,$(rJ,e,i),o);i.a;var s=i.d;if(-1===s.$&&!s.a)return s.a,M(rV,n,r,a,$(rJ,e,i),o);var u=rz(t);if(-1!==u.$)return rC;var c=u.a,l=u.b,d=u.c,f=u.d,h=u.e;return M(rB,c,l,d,$(rJ,e,f),h)}),rq=w(function(e,t){if(-1!==t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;if(!H(e,r))return M(rB,n,r,a,i,$(rJ,e,o));var s=rN(o);return -1===s.$?M(rB,n,s.b,s.c,i,rD(o)):rC}),rX=w(function(e,t){var n=$(rJ,e,t);return -1!==n.$||n.a?n:(n.a,M(rV,1,n.b,n.c,n.d,n.e))}),rj=y(function(e,t,n){var r=t($(rH,e,n));return r.$?$(rX,e,n):R(r_,e,r.a,n)}),rW=y(function(e,t,n){return t(e(n))}),rZ=w(function(e,t){return R(t7,"",n4,$(rW,t,e))}),rY=w(function(e,t){return t.$?nf(e(t.a)):ng(t.a)}),rK=function(e){return{$:4,a:e}},rQ={$:2},r0={$:1},r1=w(function(e,t){switch(t.$){case 0:return nf({$:0,a:t.a});case 1:return nf(r0);case 2:return nf(rQ);case 3:return nf({$:3,a:t.a.gN});default:return $(rY,rK,e(t.b))}}),r2=w(function(e,t){return $(rZ,e,r1(function(e){return $(rY,nB,$(eE,t,e))}))}),r4={$:0},r3=w(function(e,t){return{$:0,a:e,b:t}}),r6=function(e){return{$:1,a:e}},r5=w(function(e,t){return{fj:e,fB:t}}),r8=eH($(r5,rI,U)),r7=function(e){return eV(function(t){var n=e.f;2===n.$&&n.c&&n.c(),e.f=null,t(eH(0))})},r9=y(function(e,t,n){for(;;)if(!t.b)return eH(n);else{var r=t.a,a=t.b;if(r.$){var i=r.a;return $(eB,function(t){var r=i.fE;return 1===r.$?R(r9,e,a,n):R(r9,e,a,R(r_,r.a,t,n))},ez(R(t8,e,eZ(e),i)))}var o=r.a,s=$(rH,o,n);if(1!==s.$)return $(eB,function(t){return R(r9,e,a,$(rX,o,n))},r7(s.a));var u=n;t=a,n=u;continue}}),ae=x(function(e,t,n,r){return $(eB,function(e){return eH($(r5,e,n))},R(r9,e,t,r.fj))}),at=y(function(e,t,n){var r=e(t);return r.$?n:$(J,r.a,n)}),an=w(function(e,t){return R(ru,at(e),U,t)}),ar=x(function(e,t,n,r){var a=r.a,i=r.b;return H(t,a)?nr($(eZ,e,i(n))):na}),aa=y(function(e,t,n){return $(eB,function(e){return eH(n)},rf($(an,R(ar,e,t.a,t.b),n.fB)))}),ai=w(function(e,t){if(t.$){var n=t.a;return r6({fM:n.fM,eq:n.eq,dQ:$(t9,e,n.dQ),eP:n.eP,gj:n.gj,gY:n.gY,fE:n.fE,aM:n.aM})}return{$:0,a:t.a}}),ao=w(function(e,t){return{$:0,a:e,b:t}});ej.Http=eW(r8,ae,aa,ai,w(function(e,t){return $(ao,t.a,$(rW,t.b,e))}));var as=eK("Http");eK("Http");var au=y(function(e,t,n){var r;return as(r6({fM:!1,eq:(r={eq:r4,dQ:t,eP:$(rc,r3("Accept"),e),gj:"GET",gY:na,fE:na,aM:n}).eq,dQ:r.dQ,eP:r.eP,gj:r.gj,gY:r.gY,fE:r.fE,aM:r.aM}))}),ac=function(e){return{$:3,b:e}},al=function(e){return{$:11,g:e}},ad=w(function(e,t){for(;;)if(!t.b)return!1;else{var n=t.a,r=t.b;if(e(n))return!0;t=r;continue}}),af=y(function(e,t,n){return $(nm,t,$(nw,e,n))}),ah=w(function(e,t){return H(t,e)||H(t,R(af,"http://","https://",e))}),av=function(e){return{$:1,a:e}},ab="http://iiif.io/api/presentation/2/context.json",ag="http://iiif.io/api/presentation/3/context.json",ap=w(function(e,t){return{$:0,a:e,b:t}}),am=w(function(e,t){return{$:0,a:e,b:t}}),aw=w(function(e,t){return{$:0,a:e,b:t}}),ay=w(function(e,t){return{$:0,a:e,b:t}}),ax=function(e){return{$:2,a:e}},aC=function(e){return{$:1,a:e}},aI=function(e){return{$:0,a:e}},aA=function(e){return{$:3,a:e}},aE=y(function(e,t,n){return e(t(n))}),a$=E(function(e,t,n,r,a,i,o,s){return{dd:s,dU:r,f7:e,cF:a,dX:t,gW:i,g2:o,dI:n}}),aR=function(e){return al(q([$(ex,nr,e),n1(na)]))},aS=w(function(e,t){return R(eC,w(function(e,t){return t(e)}),e,t)}),aM=x(function(e,t,n,r){var a=al(q([$(ep,e,t),n1(n)]));return $(aS,a,r)}),aP=y(function(e,t,n){return $(aS,$(ep,e,t),n)}),aL=function(e){if(!e.b)return na;var t=e.a;return e.b,nr(t)},aT=function(e){return al(q([$(ex,aL,ac(e)),$(ex,nr,e)]))},ak=w(function(e,t){return R(ru,ep,t,e)}),aO=w(function(e,t){return t.b?R(ru,J,t,e):e}),aH=function(e){return R(ru,aO,U,e)},aV=C(function(e,t,n,r,a){return{f7:e,eT:n,dX:t,ft:r,gK:a}}),aB=w(function(e,t){return $(aS,e,t)}),aF=w(function(e,t){return $(aS,n1(e),t)}),a_=function(e){return{$:2,a:e}},aN=w(function(e,t){return t.$?na:e(t.a)}),az=w(function(e,t){return t.$?na:nr(e(t.a))}),aG=w(function(e,t){return t.$?e:t.a}),aU=function(e){var t=e.fe,n=e.eR,r=e.fa,a=e.s,i=e.gz,o=t?"https://":"http://",s=i.$?a:a+"?"+i.a;return{dc:$(aG,G(o,n),$(az,function(e){return o+(n+":")+el(e)},r)),s:a,d4:$(nw,"/",a),du:s}},aD=A(function(e,t,n,r,a,i,o){return{dR:o,eR:e,Y:t,d7:i,cU:n,bg:a,fw:r}}),aJ=function(e){return{$:1,a:e}},aq=y(function(e,t,n){if(1===t.$)return na;var r=t.a;return 1===n.$?na:nr($(e,r,n.a))}),aX=w(function(e,t){return R(aq,nJ,t,e)}),aj=function(e){var t=$(nw,".",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.b.a;return"jpg"===n?nr(0):"tif"===n?nr(1):"png"===n?nr(2):"gif"===n?nr(4):"jp2"===n?nr(3):"pdf"===n?nr(5):"webp"===n?nr(6):na},aW={$:0},aZ={$:1},aY=function(e){return"full"===e?nr(aW):"square"===e?nr(aZ):na},aK=w(function(e,t){for(;;)if(!e.b)return na;else{var n=e.a,r=e.b,a=n(t);if(!a.$)return nr(a.a);var i=t;e=r,t=i;continue}}),aQ=function(e){if(0===e.length||/[\sxbo]/.test(e))return na;var t=+e;return t==t?nr(t):na},a0=function(e){var t=$(an,aQ,$(nw,",",$(n8,4,e)));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return na;var n=t.a,r=t.b,a=r.a,i=r.b,o=i.a;return nr({$:3,a:{dn:i.b.a,dH:o,fJ:n,ek:a}})},a1=function(e){var t=$(an,re,$(nw,",",e));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return na;var n=t.a,r=t.b,a=r.a,i=r.b,o=i.a;return nr({$:2,a:{dn:i.b.a,dH:o,fJ:n,ek:a}})},a2=function(e){return{$:5,a:e}},a4=function(e){return $(es,"^,",e)?$(az,a2,re($(n8,2,e))):na},a3=function(e){return{$:7,a:e}},a6=function(e){return $(es,"^pct:",e)?$(az,a3,aQ($(n8,5,e))):na},a5=function(e){return{$:11,a:e}},a8=w(function(e,t){return{a:e,b:t}}),a7=function(e){var t=$(nw,",",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.a,r=t.b.a;return R(aq,a8,re(n),re(r))},a9=function(e){return $(es,"^!",e)?$(az,a5,a7($(n8,2,e))):na},ie=function(e){return{$:9,a:e}},it=function(e){return $(es,"^",e)?$(az,ie,a7($(n8,1,e))):na},ir=function(e){return{$:3,a:e}},ia=w(function(e,t){return e<1?t:R(ea,0,-e,t)}),ii=function(e){return $(eu,",",e)&&$(es,"^",e)?$(az,ir,re($(n8,1,$(ia,1,e)))):na},io=function(e){return{$:4,a:e}},is=function(e){return $(es,",",e)?$(az,io,re($(n8,1,e))):na},iu={$:1},ic={$:0},il=function(e){return"max"===e||"full"===e?nr(ic):"^max"===e?nr(iu):na},id=function(e){return{$:6,a:e}},ih=function(e){return $(es,"pct:",e)?$(az,id,aQ($(n8,4,e))):na},iv=function(e){return{$:10,a:e}},ib=function(e){return $(es,"!",e)?$(az,iv,a7($(n8,1,e))):na},ig=function(e){return{$:8,a:e}},ip=function(e){var t=$(nw,",",e);return t.b&&t.b.b&&!t.b.b.b?(t.b,$(az,ig,a7(e))):na},im=function(e){return{$:2,a:e}},iw=function(e){return $(eu,",",e)?$(az,im,re($(ia,1,e))):na},iy=function(e){var t=$(nw,".",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.a;return t.b,"default"===n?nr(3):"native"===n?nr(4):"color"===n?nr(0):"gray"===n?nr(1):"bitonal"===n?nr(2):na},ix=function(e){return{$:1,a:e}},iC=function(e){return $(es,"!",e)?$(az,ix,aQ($(n8,1,e))):na},iI=function(e){return{$:0,a:e}},iA=function(e){return $(az,iI,aQ(e))},iE=w(function(e,t){var n=nO(t);if(!n.b||!n.b.b||!n.b.b.b||!n.b.b.b.b)return na;var r=n.a,a=n.b,i=a.a,o=a.b,s=o.a,u=o.b,c=u.a,l=$(nm,"/",nO(u.b));return $(az,aJ,$(aX,aj(r),$(aX,iy(r),$(aX,$(aK,q([iA,iC]),i),$(aX,$(aK,q([il,iw,ii,is,a4,ih,a6,ip,it,ib,a9]),s),$(aX,$(aK,q([aY,a1,a0]),c),nr($(aD,e,l))))))))}),i$=function(e){return{$:0,a:e}},iR=w(function(e,t){return R(ru,w(function(t,n){return e(t)?$(J,t,n):n}),U,t)}),iS=w(function(e,t){return $(iR,F(e),t)}),iM=w(function(e,t){return nr(i$({eR:e,Y:$(nm,"/",$(iS,"info.json",t))}))}),iP=w(function(e,t){return aH($(rc,e,t))}),iL=(a=q(["color","gray","bitonal","default","native"]),i=q(["jpg","tif","png","gif","jp2","pdf","webp"]),$(rc,nm("."),(o=q([a,i]),R(ru,w(function(e,t){return $(iP,function(e){return $(rc,J(e),t)},e)}),q([U]),o)))),iT=w(function(e,t){return nr(a_({eR:e,Y:t}))}),ik=function(e){var t=aU(e),n=t.dc,r=t.s,a=t.d4,i=t.du;return $(ad,function(e){return $(eu,e,r)},iL)?$(iE,n,a):$(eu,"info.json",r)?$(iM,n,a):$(iT,n,i)},iO=function(e){return $(aN,ik,ri(e))},iH=function(e){var t=iO(e);return t.$||2!==t.a.$?av("Could not decode static image Url"):n1(a_(t.a.a))},iV=function(e){switch(e.$){case 0:default:return e;case 1:var t=e.a;return i$({eR:t.eR,Y:t.Y})}},iB=function(e){var t=iO(e);return t.$?av("Could not decode image Url"):2===t.a.$?n1(i$(t.a.a)):n1(iV(t.a))},iF=w(function(e,t){return $(ad,function(t){return H(t,e)},t)}),i_="http://iiif.io/api/image/2/context.json",iN=function(e){if($(ah,i_,e))return 1;if($(ah,"http://iiif.io/api/image/3/context.json",e))return 2;switch(e){case"AuthLogoutService1":return 6;case"AuthTokenService1":return 5;case"AutoCompleteService1":return 4;case"ImageService1":return 0;case"ImageService2":return 1;case"ImageService3":return 2;case"SearchService1":return 3;default:return 7}},iz=al(q([$(ex,iN,$(ep,"@type",eg)),$(ex,iN,$(ep,"type",eg)),$(ex,function(e){return $(ah,"http://library.stanford.edu/iiif/image-api/1.1/context.json",e)||$(ah,"http://iiif.io/api/image/1/context.json",e)?0:$(ah,i_,e)?1:iN(e)},$(ep,"@context",eg))])),iG=$(ey,function(e){return $(iF,e,q([0,1,2]))?$(ep,"@id",eg):av("Not an Image API service")},iz),iU=$(ey,function(e){return e.$?av("No Image API service ID found"):iB(e.a)},$(ep,"service",al(q([$(ex,function(e){return aL($(an,n4,e))},ac(aR(iG))),$(ex,nr,iG)])))),iD=al(q([iU,$(ey,iH,$(ep,"@id",eg))])),iJ=function(e){return q([e])},iq=al(q([$(ep,"service",ac(eb)),$(ep,"service",$(ex,iJ,eb)),n1(U)])),iX=al(q([$(ep,"service",al(q([$(ex,an(n4),ac(aR(iz))),$(ex,iJ,iz)]))),n1(U)])),ij=function(e){return{$:8,b:e}},iW=w(function(e,t){return{$:0,a:e,b:t}}),iZ={$:1},iY=function(e){return"none"===e?iZ:rg(e)},iK=function(e){var t=e.a,n=e.b;return $(iW,iY(t),n)},iQ=$(ex,function(e){return R(nx,w(function(e,t){return $(J,iK(e),t)}),U,e)},ij(ac(eg))),i0={$:2},i1=$(ex,function(e){return q([$(iW,i0,q([e]))])},eg),i2=R(eC,w(function(e,t){return q([$(iW,iY(t),q([e]))])}),$(ep,"@value",eg),al(q([$(ep,"@language",eg),n1("none")]))),i4=$(ex,aH,ac(i2)),i3=al(q([i2,i4,i1,iQ])),i6=$(aB,iq,$(aB,iX,$(aF,0,S(aM,"label",aR(i3),na,$(aB,iD,n1(aV)))))),i5=R(eC,J,$(ak,q(["default"]),i6),$(ak,q(["item"]),ac($(aB,iq,$(aB,iX,$(aF,1,S(aM,"label",aR(i3),na,$(aB,iD,n1(aV))))))))),i8=al(q([ac($(ak,q(["resource"]),i6)),$(ex,aH,ac($(ak,q(["resource"]),i5)))])),i7=function(e){return{$:0,a:e}},i9=al(q([$(ex,i7,$(ep,"@id",eg)),$(ex,i7,$(ep,"id",eg)),$(ex,i7,eg)])),oe=function(e){var t=aU(e);return a_({eR:t.dc,Y:t.du})},ot=function(e){var t=ri(e);return t.$?av("Could not decode static image Url"):n1(oe(t.a))},on=al(q([iU,$(ey,ot,$(ep,"@id",eg))])),or=$(aB,iq,$(aB,iX,$(aF,0,S(aM,"label",aR(i3),na,$(aB,on,n1(aV)))))),oa=function(e){return{$:0,a:e}},oi=function(e){switch(e){case"continuous":return 2;case"facing-pages":return 6;case"individuals":return 1;case"multi-part":return 3;case"non-paged":return 4;case"paged":default:return 0;case"top":return 5}},oo=$(ex,function(e){return oa(oi(e))},eg),os=S(aM,"otherContent",ac(i9),U,S(aM,"viewingHint",aR(oo),na,S(aM,"thumbnail",aT(or),na,S(aM,"images",i8,U,S(aM,"height",aR(ef),na,S(aM,"width",aR(ef),na,S(aM,"label",aR(i3),na,R(aP,"@id",eg,n1(a$))))))))),ou=x(function(e,t,n,r){return{f7:e,aH:n,dX:t,d_:r}}),oc=function(e){return{$:0,a:e}},ol=function(e){return{$:1,a:e}},od=q([$(iW,i0,q(["Homepage"]))]),of=function(e){return $(ey,e,n1(0))},oh=w(function(e,t){return{dX:e,fG:t}}),ov=R(aP,"value",i3,R(aP,"label",i3,n1(oh)));function ob(){return S(aM,"metadata",ac(ov),U,$(aB,og(),S(aM,"label",i3,od,R(aP,"@id",eg,n1(ou)))))}function og(){return R(eC,w(function(e,t){return G($(rc,ol,e),$(rc,oc,t))}),al(q([$(ep,"ranges",ac(op())),n1(U)])),al(q([$(ep,"canvases",ac(eg)),n1(U)])))}function op(){return of(function(e){return ob()})}var om=ob();ob=function(){return om};var ow=og();og=function(){return ow};var oy=op();op=function(){return oy};var ox=x(function(e,t,n,r){return{f7:e,aH:r,dX:t,gR:n}}),oC=function(e){return{$:1,a:e}},oI=function(e){return{$:0,a:e}},oA=function(e){return function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return function(u){return function(c){return function(l){return function(d){return function(f){return{es:o,f6:u,f7:e,dX:t,ge:c,d_:n,ff:l,fh:s,fm:f,gR:a,gW:d,g1:r,g2:i}}}}}}}}}}}}}},oE=x(function(e,t,n,r){return{dR:n,f7:e,dX:t,g_:r}}),o$=function(e){return{$:1,a:e}},oR=function(e){return{$:1,a:e}},oS={$:0},oM=$(ex,function(e){return"image/jpeg"===e?oS:o$(e)},eg),oP={$:0},oL=$(ex,function(e){return"Video"===e?oP:oR(e)},eg),oT=S(aM,"@type",oL,oR("Text"),S(aM,"format",oM,o$("text/html"),S(aM,"label",i3,od,R(aP,"@id",eg,n1(oE))))),ok=al(q([ac(oT),$(ex,iJ,oT)])),oO=$(aF,na,S(aM,"thumbnail",aT(or),na,$(aF,na,$(aF,na,S(aM,"rendering",aR(ok),na,$(aF,na,$(aF,U,$(aF,oa(1),S(aM,"description",aR(i3),na,$(aF,0,$(aF,U,R(aP,"label",i3,R(aP,"@id",eg,n1(oA)))))))))))))),oH=function(e){switch(e){case"sc:Collection":return $(ex,oI,of(function(e){return oV()}));case"sc:Manifest":return $(ex,oC,oO);default:return av("Unknown collection item type: "+e)}};function oV(){return $(aB,oB(),S(aM,"description",aR(i3),na,R(aP,"label",i3,R(aP,"@id",eg,n1(ox)))))}function oB(){return al(q([$(ep,"members",ac(oF())),R(eC,w(function(e,t){return G(e,t)}),al(q([$(ep,"collections",ac($(ex,oI,of(function(e){return oV()})))),n1(U)])),al(q([$(ep,"manifests",ac($(ex,oC,oO))),n1(U)])))]))}function oF(){return $(ey,oH,$(ep,"@type",eg))}var o_=oV();oV=function(){return o_};var oN=oB();oB=function(){return oN};var oz=oF();oF=function(){return oz};var oG=R(aP,"value",iQ,R(aP,"label",iQ,n1(oh))),oU=al(q([$(ex,function(e){return{dX:q([$(iW,i0,q(["Attribution"]))]),fG:q([$(iW,i0,q([e]))])}},eg),oG,ov])),oD=$(em,0,$(ak,q(["canvases"]),ac(os))),oJ=$(ex,function(e){switch(e){case"bottom-to-top":return 3;case"left-to-right":default:return 0;case"right-to-left":return 1;case"top-to-bottom":return 2}},eg),oq=S(aM,"attribution",aR(oU),na,S(aM,"thumbnail",aT(or),na,$(aF,na,S(aM,"logo",aR(i6),na,S(aM,"rendering",aR(ok),na,S(aM,"structures",aR(ac(oy)),na,R(aP,"sequences",oD,S(aM,"viewingHint",oo,oa(1),S(aM,"description",aR(i3),na,S(aM,"viewingDirection",oJ,0,S(aM,"metadata",ac(ov),U,R(aP,"label",i3,R(aP,"@id",eg,n1(oA)))))))))))))),oX=$(ey,function(e){switch(e){case"sc:Canvas":return $(ex,$(aE,ax,ap(1)),os);case"sc:Collection":return $(ex,$(aE,aC,am(1)),o_);case"sc:Manifest":return $(ex,$(aE,aI,aw(1)),oq);case"sc:Range":return $(ex,$(aE,aA,ay(1)),oy);default:return av("Unknown IIIF v2 resource type: "+e)}},$(ep,"@type",eg)),oj=function(e){return{$:1,a:e}},oW=$(ex,oj,ac($(ex,function(e){switch(e){case"auto-advance":return 0;case"continuous":return 6;case"facing-pages":return 8;case"hidden":return 15;case"individuals":return 5;case"multi-part":return 10;case"no-auto-advance":return 1;case"no-nav":return 14;case"no-repeat":return 3;case"non-paged":return 9;case"paged":default:return 7;case"repeat":return 2;case"sequence":return 12;case"thumbnail-nav":return 13;case"together":return 11;case"unordered":return 4}},eg))),oZ=w(function(e,t){for(;;)if(!t.b)return na;else{var n=t.a,r=t.b;if(e(n))return nr(n);t=r;continue}}),oY=w(function(e,t){return{f7:e,gL:t}}),oK=$(ex,iN,al(q([$(ep,"@type",eg),$(ep,"type",eg)]))),oQ=$(aB,oK,$(aB,al(q([$(ep,"id",eg),$(ep,"@id",eg)])),n1(oY))),o0=al(q([ac(oQ),$(ex,iJ,oQ)])),o1=$(ey,function(e){var t=$(az,function(e){return e.f7},$(oZ,function(e){return $(iF,e.gL,q([0,1,2]))},e));return t.$?av("No valid service ID found in service array"):$(ex,iV,iB(t.a))},$(ep,"service",o0)),o2=al(q([o1,$(ey,iH,$(ep,"id",eg))])),o4=al(q([iQ,i1])),o3=al(q([ac(eb),$(ex,iJ,eb)])),o6=al(q([ac(oK),$(ex,iJ,oK)])),o5=function(e){return S(aM,"service",o3,U,S(aM,"service",o6,U,$(aF,e,S(aM,"label",aR(o4),na,$(aB,o2,n1(aV))))))},o8=$(ak,q(["body","items"]),ac(o5(1))),o7=$(ex,iJ,$(ep,"body",o5(0))),o9=$(ey,function(e){return"Choice"===e?o8:o7},$(ak,q(["body","type"]),eg)),se=$(ak,q(["items"]),$(em,0,o9)),st=al(q([$(ex,function(e){return{$:1,a:e}},$(ep,"items",eb)),$(ex,i7,$(ep,"id",eg))])),sn=al(q([o1,$(ey,ot,$(ep,"id",eg))])),sr=S(aM,"service",o3,U,S(aM,"service",o6,U,$(aF,0,S(aM,"label",aR(o4),na,$(aB,sn,n1(aV)))))),sa=S(aM,"annotations",ac(st),U,S(aM,"behavior",aR(oW),na,S(aM,"thumbnail",aT(sr),na,R(aP,"items",$(em,0,se),R(aP,"height",aR(ef),R(aP,"width",aR(ef),S(aM,"label",aR(iQ),na,R(aP,"id",eg,n1(a$))))))))),si=q([$(iW,i0,q(["Homepage"]))]),so=function(e){switch(e){case"Canvas":return $(ex,oc,$(ep,"id",eg));case"Range":return $(ex,ol,ss());default:return av("Unsupported range item type")}};function ss(){return S(aM,"metadata",ac(oG),U,S(aM,"items",ac(su()),U,S(aM,"label",iQ,si,R(aP,"id",eg,n1(ou)))))}function su(){return $(ey,so,$(ep,"type",eg))}var sc=ss();ss=function(){return sc};var sl=su();su=function(){return sl};var sd=function(e){return!e.b},sf=S(aM,"type",oL,oR("Text"),S(aM,"format",oM,o$("text/html"),S(aM,"label",iQ,si,R(aP,"id",eg,n1(oE))))),sh=$(aF,na,S(aM,"thumbnail",aT(sr),na,$(aF,na,$(aF,na,S(aM,"homepage",aR(ac(sf)),na,$(aF,na,$(aF,U,$(aF,oj(q([5])),S(aM,"summary",aR(iQ),na,$(aF,0,$(aF,U,R(aP,"label",o4,R(aP,"id",eg,n1(oA)))))))))))))),sv=function(e){switch(e){case"Collection":return $(ex,oI,of(function(e){return sb()}));case"Manifest":return $(ex,oC,sh);default:return av("Unknown collection item type: "+e)}};function sb(){return $(aB,sg(),S(aM,"summary",aR(iQ),na,R(aP,"label",o4,R(aP,"id",eg,n1(ox)))))}function sg(){return S(eI,y(function(e,t,n){return sd(e)?G(t,n):G(e,G(t,n))}),al(q([$(ep,"items",ac(sp())),n1(U)])),al(q([$(ep,"collections",ac($(ex,oI,of(function(e){return sb()})))),n1(U)])),al(q([$(ep,"manifests",ac($(ex,oC,sh))),n1(U)])))}function sp(){return $(ey,sv,$(ep,"type",eg))}var sm=sb();sb=function(){return sm};var sw=sg();sg=function(){return sw};var sy=sp();sp=function(){return sy};var sx=I(function(e,t,n,r,a,i){return{f6:r,f7:e,dX:t,ge:a,gH:i,g_:n}}),sC=A(function(e,t,n,r,a,i,o){return{dR:n,dU:i,f7:e,dX:t,ft:o,g_:r,dI:a}}),sI=q([$(iW,i0,q(["Logo"]))]),sA=S(aM,"service",aR(o0),na,S(aM,"height",ef,0,S(aM,"width",ef,0,S(aM,"type",oL,oR("Image"),S(aM,"format",oM,o$("image/png"),S(aM,"label",iQ,sI,R(aP,"id",eg,n1(sC)))))))),sE=S(aM,"seeAlso",aR(ac(R(aP,"type_",oL,R(aP,"format",oM,R(aP,"label",o4,R(aP,"id",eg,n1(x(function(e,t,n,r){return{dR:n,f7:e,dX:t,g_:r}})))))))),na,S(aM,"logo",aR(ac(sA)),na,S(aM,"homepage",aR(ac(sf)),na,R(aP,"type",oL,R(aP,"label",iQ,R(aP,"id",eg,n1(sx))))))),s$=S(aM,"requiredStatement",aR(oG),na,S(aM,"thumbnail",aT(sr),na,S(aM,"provider",aR(ac(sE)),na,S(aM,"logo",aR(o5(0)),na,S(aM,"homepage",aR(ac(sf)),na,S(aM,"structures",aR(ac(sc)),na,R(aP,"items",ac(sa),S(aM,"behavior",oW,oj(q([5])),S(aM,"summary",aR(iQ),na,S(aM,"viewingDirection",oJ,0,S(aM,"metadata",ac(oG),U,R(aP,"label",o4,R(aP,"id",eg,n1(oA)))))))))))))),sR=$(ey,function(e){switch(e){case"Canvas":return $(ex,$(aE,ax,ap(2)),sa);case"Collection":return $(ex,$(aE,aC,am(2)),sm);case"Manifest":return $(ex,$(aE,aI,aw(2)),s$);case"Range":return $(ex,$(aE,aA,ay(2)),sc);default:return av("Unknown IIIF v3 resource type: "+e)}},$(ep,"type",eg)),sS=al(q([$(ey,function(e){return $(ah,ag,e)?sR:$(ah,ab,e)?oX:av("Unknown resource context value: "+e)},$(ep,"@context",eg)),$(ey,function(e){return $(ad,ah(ag),e)?sR:$(ad,ah(ab),e)?oX:av("Context values contain an unknown IIIF version: "+$(nm,", ",e))},$(ep,"@context",ac(eg)))])),sM=y(function(e,t,n){return R(au,t,$(r2,e,sS),n)}),sP={aN:!1,bm:10,bn:15,aO:0,bo:!1,aP:0,az:!1,aQ:8,aR:0,bp:!1,aS:0,bq:!1,aT:0,br:!1,aU:0,aA:!1,aV:8,aW:0,bs:!1,aX:0,bt:!1,aY:0,bu:!1,aZ:0,aB:!1,a_:8,a$:0,bv:!1,a0:0,bw:!1,bx:0,cj:!1,by:0,ck:!1,bz:0,cl:!1,bA:0,cm:!1,bB:1,N:!1,cp:!1,bC:"#ffffff",bD:"#ffffff",bE:24,bF:128,a4:!1,bG:"gray",bH:1,cq:!1,cr:!1,bI:"sharpen",cv:!1,bO:1,cw:!1,a7:!1,cz:!1,bP:0,cB:!1,cH:!1,bb:!1,bT:3,bU:"erode",cN:!1,bV:1,bW:0,bX:"pca-rgb",bY:1,ae:!1,bZ:1,b_:"rg",b$:1,bg:0,b1:0,cW:!1,b8:128,c1:!1,ca:1,c6:!1,cc:0,c8:!1},sL=function(e){switch(e){case"contents":return 3;case"metadata":return 2;default:return 1}},sT=function(e){return{$:5,c:e}},sk=function(e){return{$:0,a:e}},sO=function(e){return{$:1,a:e}},sH=function(e){return{$:3,a:e}},sV=function(e){return{$:4,a:e}},sB=function(e){return{$:5,a:e}},sF=function(e){return{$:1,a:e}},s_=w(function(e,t){return{$:2,a:e,b:t}}),sN={$:14},sz=w(function(e,t){return{$:3,a:e,b:t}}),sG=y(function(e,t,n){return{$:2,a:e,b:t,c:n}}),sU=w(function(e,t){return{$:0,a:e,b:t}}),sD=y(function(e,t,n){return{$:4,a:e,b:t,c:n}}),sJ=w(function(e,t){return{$:9,a:e,b:t}}),sq=y(function(e,t,n){return{$:8,a:e,b:t,c:n}}),sX=function(e){return{$:12,a:e}},sj=function(e){return{$:28,a:e}},sW=function(e){return{$:29,a:e}},sZ={$:30},sY={$:31},sK=function(e){return{$:57,a:e}},sQ=function(e){return{$:55,a:e}},s0=e8("authDestroyed",sT(0)),s1=e8("authHttpFailed",$(ey,function(e){return $(ey,function(t){return n1({f7:t,ac:e})},$(ep,"id",eg))},$(ep,"message",eg))),s2=e8("authHttpResponded",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({eq:n,f7:t,dE:e})},$(ep,"body",eg))},$(ep,"id",eg))},$(ep,"status",ef))),s4=e8("authLogoutChanged",$(ey,function(e){return $(ey,function(t){return n1({fu:t,dE:e})},$(ep,"sessionId",eg))},$(ep,"status",eg))),s3=e8("authPopupChanged",$(ey,function(e){return $(ey,function(t){return n1({dl:t,dE:e})},$(ep,"flowId",eg))},$(ep,"status",eg))),s6=e8("authStorageResponded",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({dl:n,dr:t,fG:e})},$(ep,"flowId",eg))},$(ep,"now",ev))},$(ep,"value",al(q([sT(na),$(ex,nr,eb)]))))),s5=e8("authTokenFailed",$(ey,function(e){return $(ey,function(t){return n1({dl:t,ac:e})},$(ep,"flowId",eg))},$(ep,"message",eg))),s8=e8("authTokenMessage",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({dl:n,dr:t,fG:e})},$(ep,"flowId",eg))},$(ep,"now",ev))},$(ep,"value",eb))),s7=e8("fullscreenChanged",eh),s9=e8("layoutModeRequested",eg),ue={$:12},ut=function(e){return sk(function(){switch(e.dE){case"closed":return ue;case"opened":return{$:10,a:e.fu};default:return{$:11,a:e.fu}}}())},un=eQ(U),ur=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),ua=w(function(e,t){return{e9:t,fB:e}}),ui=eH($(ua,U,rI)),uo=function(e){return{a:G(e.a?"w_":"d_",e.b),b:e}},us=function(e){return R(nx,w(function(e,t){return R(r_,e.a,e.b,t)}),rI,e)},uu=y(function(e,t,n){for(;;)if(-2===n.$)return t;else{var r=n.b,a=n.c,i=n.d,o=n.e,s=e,u=R(e,r,a,R(uu,e,t,i));e=s,t=u,n=o;continue}}),uc=I(function(e,t,n,r,a,i){var o=y(function(r,a,i){for(;;){var o=i.a,s=i.b;if(o.b){var u=o.a,c=u.a,l=u.b,d=o.b;if(0>_(c,r)){var f=r,h=a,v={a:d,b:R(e,c,l,s)};r=f,a=h,i=v;continue}if(_(c,r)>0)return{a:o,b:R(n,r,a,s)};return{a:d,b:S(t,c,l,a,s)}}return{a:o,b:R(n,r,a,s)}}}),s=R(uu,o,{a:no(r),b:i},a),u=s.a,c=s.b;return R(nx,w(function(t,n){return R(e,t.a,t.b,n)}),c,u)}),ul=w(function(e,t){return{eF:t,ak:e}}),ud=y(function(e,t,n){return $(rl,function(e){return{a:t,b:e}},R(t2,n.a?t1:t0,n.b,function(n){return $(rO,e,$(ul,t,n))}))}),uf=w(function(e,t){return R(uu,r_,t,e)}),uh=y(function(e,t,n){var r=y(function(t,n,r){var a=r.a,i=r.b,o=r.c;return{a:a,b:i,c:$(J,R(ud,e,t,n),o)}}),a=y(function(e,t,n){var r,a=n.a,i=n.b,o=n.c;return r=$(J,t,a),{a:r,b:i,c:o}}),i=x(function(e,t,n,r){var a=r.a,i=r.b,o=r.c;return{a:a,b:R(r_,e,t,i),c:o}}),o=$(rc,uo,t),s=P(uc,a,i,r,n.e9,us(o),{a:U,b:rI,c:U}),u=s.a,c=s.b,l=s.c;return $(eB,function(e){return eH($(ua,o,$(uf,c,us(e))))},$(eB,function(e){return rf(l)},rf($(rc,r7,u))))}),uv=y(function(e,t,n){var r=t.ak,a=t.eF,i=$(an,function(e){var t=e.a,n=e.b;n.a,n.b;var i=n.c;return H(t,r)?$(t4,i,a):na},n.fB);return $(eB,function(e){return eH(n)},rf($(rc,eZ(e),i)))}),ub=w(function(e,t){return R(ur,t.a,t.b,$(ex,e,t.c))});ej["Browser.Events"]=eW(ui,uh,uv,0,ub);var ug=eK("Browser.Events"),up=y(function(e,t,n){return ug(R(ur,e,t,n))}),um=$(up,0,"mousemove"),uw=$(up,0,"mouseup"),uy=e8("pageIndexChanged",ef),ux=e8("pageIndexChangedInstant",ef),uC=function(e){return sk(function(){switch(e.dE){case"closed":return{$:7,a:e.dl};case"opened":return{$:5,a:e.dl};default:return{$:6,a:e.dl}}}())},uI=e8("resolveTileSourceCancelled",eg),uA=e8("resolveTileSourceRequested",$(ey,function(e){return $(ey,function(t){return n1({fl:t,b7:e})},$(ep,"requestId",eg))},$(ep,"sourceId",eg))),uE=e8("resourceRequested",$(ey,function(e){return $(ey,function(t){return n1({fl:t,aM:e})},$(ep,"requestId",eg))},$(ep,"url",eg))),u$=e8("viewerLoadingChanged",eh),uR=e8("viewerPageLoaded",ef),uS=e8("zoomChanged",ev),uM={$:0},uP=function(e){return{$:2,a:e}},uL=function(e){return{$:1,a:e}},uT=w(function(e,t){return{$:7,a:e,b:t}}),uk=w(function(e,t){return{$:8,a:e,b:t}}),uO=y(function(e,t,n){return{$:10,a:e,b:t,c:n}}),uH=w(function(e,t){for(;;)if(!t.b)return na;else{var n=t.a,r=t.b;if(e(n))return nr(n);t=r;continue}}),uV=function(e){var t=$(uH,function(e){return e.bR},e.cF);return t.$?aL(e.cF):nr(t.a)},uB=function(e){return!e},uF=function(e){return 1===e.$&&!sd(e.a.cS)},u_=w(function(e,t){return $(aN,function(e){return e.aG||uF(e.dh)?na:nr(e.b9)},$(aN,uV,aL($(iR,function(t){return H(t.M,e)},t.ap))))}),uN=w(function(e,t){return R(nx,w(function(t,n){return n.push(e(t)),n}),[],t)}),uz=function(e){return R(nx,w(function(e,t){return R(eO,e.a,e.b,t)}),{},e)},uG=e3("annotationsUpdated",function(e){return uz(q([{a:"annotations",b:uN(n4)(e.de)},{a:"canvasId",b:ek(e.M)}]))}),uU=e3("annotationsVisibilityUpdated",ek),uD=y(function(e,t,n){switch(e){case 0:return z(n,{aN:t});case 1:return z(n,{bo:t});case 2:return z(n,{az:t});case 3:return z(n,{bp:t});case 4:return z(n,{bq:t});case 5:return z(n,{br:t});case 6:return z(n,{aA:t});case 7:return z(n,{bs:t});case 8:return z(n,{bt:t});case 9:return z(n,{bu:t});case 10:return z(n,{aB:t});case 11:return z(n,{bv:t});case 12:return z(n,{bw:t});case 13:return z(n,{cj:t});case 14:return z(n,{ck:t});case 15:return z(n,{cl:t});case 16:return z(n,{cm:t});case 17:return z(n,{a4:t});case 18:return z(n,{N:t});case 19:return z(n,{cp:t});case 20:return z(n,{cq:t});case 21:return z(n,{cr:t});case 22:return z(n,{cv:t});case 23:return z(n,{cw:t});case 24:return z(n,{a7:t});case 25:return z(n,{cz:t});case 26:return z(n,{cB:t});case 27:return z(n,{cH:t});case 28:return z(n,{bb:t});case 29:return z(n,{cN:t});case 30:return z(n,{ae:t});case 31:return z(n,{cW:t});case 32:return z(n,{c1:t});case 33:return z(n,{c6:t});default:return z(n,{c8:t})}}),uJ=function(e){switch(e){case 0:return{b:function(e){return e.bB},f:1,g:0,c:w(function(e,t){return z(t,{bB:e})})};case 1:return{b:function(e){return e.bH},f:4,g:0,c:w(function(e,t){return z(t,{bH:e})})};case 2:return{b:function(e){return e.bO},f:4,g:.1,c:w(function(e,t){return z(t,{bO:e})})};case 3:return{b:function(e){return e.bV},f:2,g:0,c:w(function(e,t){return z(t,{bV:e})})};case 4:return{b:function(e){return e.bY},f:2,g:0,c:w(function(e,t){return z(t,{bY:e})})};case 5:return{b:function(e){return e.bZ},f:2,g:0,c:w(function(e,t){return z(t,{bZ:e})})};case 6:return{b:function(e){return e.b$},f:2,g:0,c:w(function(e,t){return z(t,{b$:e})})};default:return{b:function(e){return e.ca},f:3,g:0,c:w(function(e,t){return z(t,{ca:e})})}}},uq=y(function(e,t,n){var r=aQ(t),a=uJ(e),i=$(aG,a.b(n),$(az,$(rx,a.g,a.f),r));return $(a.c,i,n)}),uX=function(e){return $(W,2,e)?e:e+1},uj=function(e){return 3===e||5===e||7===e?e:3},uW=function(e){switch(e){case 0:return{b:function(e){return e.bm},f:50,g:-50,c:w(function(e,t){return z(t,{bm:e})}),i:na};case 1:return{b:function(e){return e.bn},f:51,g:3,c:w(function(e,t){return z(t,{bn:e})}),i:nr(uX)};case 2:return{b:function(e){return e.aY},f:100,g:0,c:w(function(e,t){return z(t,{aY:e})}),i:na};case 3:return{b:function(e){return e.a$},f:100,g:0,c:w(function(e,t){return z(t,{a$:e})}),i:na};case 4:return{b:function(e){return e.a0},f:100,g:0,c:w(function(e,t){return z(t,{a0:e})}),i:na};case 5:return{b:function(e){return e.aZ},f:100,g:-100,c:w(function(e,t){return z(t,{aZ:e})}),i:na};case 6:return{b:function(e){return e.a_},f:30,g:2,c:w(function(e,t){return z(t,{a_:e})}),i:na};case 7:return{b:function(e){return e.aT},f:100,g:0,c:w(function(e,t){return z(t,{aT:e})}),i:na};case 8:return{b:function(e){return e.aW},f:100,g:0,c:w(function(e,t){return z(t,{aW:e})}),i:na};case 9:return{b:function(e){return e.aU},f:100,g:-100,c:w(function(e,t){return z(t,{aU:e})}),i:na};case 10:return{b:function(e){return e.aV},f:30,g:2,c:w(function(e,t){return z(t,{aV:e})}),i:na};case 11:return{b:function(e){return e.aX},f:100,g:0,c:w(function(e,t){return z(t,{aX:e})}),i:na};case 12:return{b:function(e){return e.aO},f:100,g:0,c:w(function(e,t){return z(t,{aO:e})}),i:na};case 13:return{b:function(e){return e.aR},f:100,g:0,c:w(function(e,t){return z(t,{aR:e})}),i:na};case 14:return{b:function(e){return e.aP},f:100,g:-100,c:w(function(e,t){return z(t,{aP:e})}),i:na};case 15:return{b:function(e){return e.aQ},f:30,g:2,c:w(function(e,t){return z(t,{aQ:e})}),i:na};case 16:return{b:function(e){return e.aS},f:100,g:0,c:w(function(e,t){return z(t,{aS:e})}),i:na};case 17:return{b:function(e){return e.bx},f:255,g:-255,c:w(function(e,t){return z(t,{bx:e})}),i:na};case 18:return{b:function(e){return e.by},f:100,g:-100,c:w(function(e,t){return z(t,{by:e})}),i:na};case 19:return{b:function(e){return e.bz},f:100,g:-100,c:w(function(e,t){return z(t,{bz:e})}),i:na};case 20:return{b:function(e){return e.bA},f:100,g:-100,c:w(function(e,t){return z(t,{bA:e})}),i:na};case 21:return{b:function(e){return e.bF},f:255,g:0,c:w(function(e,t){return z(t,{bF:e})}),i:na};case 22:return{b:function(e){return e.bE},f:255,g:0,c:w(function(e,t){return z(t,{bE:e})}),i:na};case 23:return{b:function(e){return e.bW},f:180,g:-180,c:w(function(e,t){return z(t,{bW:e})}),i:na};case 24:return{b:function(e){return e.bP},f:100,g:-100,c:w(function(e,t){return z(t,{bP:e})}),i:na};case 25:return{b:function(e){return e.bT},f:7,g:3,c:w(function(e,t){return z(t,{bT:e})}),i:nr(uj)};case 26:return{b:function(e){return e.bg},f:180,g:-180,c:w(function(e,t){return z(t,{bg:e})}),i:na};case 27:return{b:function(e){return e.b1},f:100,g:-100,c:w(function(e,t){return z(t,{b1:e})}),i:na};case 28:return{b:function(e){return e.b8},f:255,g:0,c:w(function(e,t){return z(t,{b8:e})}),i:na};default:return{b:function(e){return e.cc},f:100,g:-100,c:w(function(e,t){return z(t,{cc:e})}),i:na}}},uZ=y(function(e,t,n){var r=re(t),a=uW(e),i=function(){if(r.$)return a.b(n);var e=r.a,t=R(rx,a.g,a.f,e),i=a.i;return i.$?t:(0,i.a)(t)}();return $(a.c,i,n)}),uY=w(function(e,t){return e}),uK=function(e){switch(e){case 0:return{b:function(e){return e.bG},c:w(function(e,t){return z(t,{bG:e})}),i:function(e){return $(iF,e,q(["gray","hot","cool"]))}};case 1:return{b:function(e){return e.bC},c:w(function(e,t){return z(t,{bC:e})}),i:uY(!0)};case 2:return{b:function(e){return e.bD},c:w(function(e,t){return z(t,{bD:e})}),i:uY(!0)};case 3:return{b:function(e){return e.bI},c:w(function(e,t){return z(t,{bI:e})}),i:function(e){return $(iF,e,q(["sharpen","blur","edge","emboss"]))}};case 4:return{b:function(e){return e.bX},c:w(function(e,t){return z(t,{bX:e})}),i:function(e){return $(iF,e,q(["pca-rgb","pca1","pca2","pca3"]))}};case 5:return{b:function(e){return e.bU},c:w(function(e,t){return z(t,{bU:e})}),i:function(e){return"erode"===e||"dilate"===e}};default:return{b:function(e){return e.b_},c:w(function(e,t){return z(t,{b_:e})}),i:function(e){return $(iF,e,q(["rg","gb","rb","luma","cmy","heat"]))}}}},uQ=y(function(e,t,n){var r=uK(e),a=r.i(t)?t:r.b(n);return $(r.c,a,n)}),u0=y(function(e,t,n){return n.$?e:t(n.a)}),u1=e3("filterPreviewUpdated",function(e){return R(u0,null,function(e){var t;return uz(q([{a:"aspect",b:ek(e.dg)},{a:"filters",b:uz(q([{a:"adaptiveEnabled",b:ek((t=e.eJ).aN)},{a:"adaptiveOffset",b:ek(t.bm)},{a:"adaptiveWindow",b:ek(t.bn)},{a:"altBlueGamma",b:ek(t.aO)},{a:"altBlueGammaEnabled",b:ek(t.bo)},{a:"altBlueHue",b:ek(t.aP)},{a:"altBlueHueEnabled",b:ek(t.az)},{a:"altBlueHueWindow",b:ek(t.aQ)},{a:"altBlueSigmoid",b:ek(t.aR)},{a:"altBlueSigmoidEnabled",b:ek(t.bp)},{a:"altBlueVibrance",b:ek(t.aS)},{a:"altBlueVibranceEnabled",b:ek(t.bq)},{a:"altGreenGamma",b:ek(t.aT)},{a:"altGreenGammaEnabled",b:ek(t.br)},{a:"altGreenHue",b:ek(t.aU)},{a:"altGreenHueEnabled",b:ek(t.aA)},{a:"altGreenHueWindow",b:ek(t.aV)},{a:"altGreenSigmoid",b:ek(t.aW)},{a:"altGreenSigmoidEnabled",b:ek(t.bs)},{a:"altGreenVibrance",b:ek(t.aX)},{a:"altGreenVibranceEnabled",b:ek(t.bt)},{a:"altRedGamma",b:ek(t.aY)},{a:"altRedGammaEnabled",b:ek(t.bu)},{a:"altRedHue",b:ek(t.aZ)},{a:"altRedHueEnabled",b:ek(t.aB)},{a:"altRedHueWindow",b:ek(t.a_)},{a:"altRedSigmoid",b:ek(t.a$)},{a:"altRedSigmoidEnabled",b:ek(t.bv)},{a:"altRedVibrance",b:ek(t.a0)},{a:"altRedVibranceEnabled",b:ek(t.bw)},{a:"brightness",b:ek(t.bx)},{a:"brightnessEnabled",b:ek(t.cj)},{a:"ccBlue",b:ek(t.by)},{a:"ccBlueEnabled",b:ek(t.ck)},{a:"ccGreen",b:ek(t.bz)},{a:"ccGreenEnabled",b:ek(t.cl)},{a:"ccRed",b:ek(t.bA)},{a:"ccRedEnabled",b:ek(t.cm)},{a:"colourReplaceBlend",b:ek(t.bB)},{a:"colourReplaceEnabled",b:ek(t.N)},{a:"colourReplacePreserveLum",b:ek(t.cp)},{a:"colourReplaceSource",b:ek(t.bC)},{a:"colourReplaceTarget",b:ek(t.bD)},{a:"colourReplaceTolerance",b:ek(t.bE)},{a:"colourmapCenter",b:ek(t.bF)},{a:"colourmapEnabled",b:ek(t.a4)},{a:"colourmapPreset",b:ek(t.bG)},{a:"contrast",b:ek(t.bH)},{a:"contrastEnabled",b:ek(t.cq)},{a:"convolutionEnabled",b:ek(t.cr)},{a:"convolutionPreset",b:ek(t.bI)},{a:"flip",b:ek(t.cv)},{a:"gamma",b:ek(t.bO)},{a:"gammaEnabled",b:ek(t.cw)},{a:"globalPcaEnabled",b:ek(t.a7)},{a:"grayscale",b:ek(t.cz)},{a:"hue",b:ek(t.bP)},{a:"hueEnabled",b:ek(t.cB)},{a:"invert",b:ek(t.cH)},{a:"morphEnabled",b:ek(t.bb)},{a:"morphKernel",b:ek(t.bT)},{a:"morphOperation",b:ek(t.bU)},{a:"normalizeEnabled",b:ek(t.cN)},{a:"normalizeStrength",b:ek(t.bV)},{a:"pcaHue",b:ek(t.bW)},{a:"pcaMode",b:ek(t.bX)},{a:"pseudoColourBlue",b:ek(t.bY)},{a:"pseudoColourEnabled",b:ek(t.ae)},{a:"pseudoColourGreen",b:ek(t.bZ)},{a:"pseudoColourMode",b:ek(t.b_)},{a:"pseudoColourRed",b:ek(t.b$)},{a:"rotation",b:ek(t.bg)},{a:"saturation",b:ek(t.b1)},{a:"saturationEnabled",b:ek(t.cW)},{a:"threshold",b:ek(t.b8)},{a:"thresholdEnabled",b:ek(t.c1)},{a:"unsharpAmount",b:ek(t.ca)},{a:"unsharpEnabled",b:ek(t.c6)},{a:"vibrance",b:ek(t.cc)},{a:"vibranceEnabled",b:ek(t.c8)}]))},{a:"isStatic",b:ek(e.aG)},{a:"sourceId",b:ek(e.b7)},{a:"tileSource",b:ek(e.b9)}]))},e)}),u2=e3("pageAspectsUpdated",uN(ek)),u4=e3("pageLabelsUpdated",uN(ek)),u3=e3("pagesUpdated",uN(function(e){var t;return uz(q([{a:"canvasId",b:ek(e.M)},{a:"height",b:R(u0,null,ek,e.dU)},{a:"images",b:uN(function(e){return uz(q([{a:"id",b:ek(e.f7)},{a:"isPrimary",b:ek(e.bR)},{a:"label",b:ek(e.dX)}]))})(e.cF)},{a:"index",b:ek(e.eU)},{a:"label",b:ek(e.dX)},{a:"primaryImage",b:uz(q([{a:"id",b:ek((t=e.fb).f7)},{a:"isPrimary",b:ek(t.bR)},{a:"label",b:ek(t.dX)}]))},{a:"width",b:R(u0,null,ek,e.dI)}]))})),u6=e3("tileSourcesUpdated",function(e){return uz(q([{a:"initialPageIndex",b:ek(e.dV)},{a:"resourceId",b:ek(e.d8)},{a:"tileSources",b:uN(function(e){return uz(q([{a:"canvasId",b:ek(e.M)},{a:"isStatic",b:ek(e.aG)},{a:"sourceId",b:ek(e.b7)},{a:"url",b:ek(e.aM)}]))})(e.ei)}]))}),u5=function(e){return eQ(q([u6({dV:0,d8:e,ei:U}),u3(U),u2(U),u4(U),u1(na),uG({de:U,M:""})]))},u8=e3("copyToClipboard",ek),u7=y(function(e,t,n){return e.$?n:$(t,e.a,n)}),u9=function(e){return e.$?na:nr(e.a)},ce=y(function(e,t,n){return $(aN,function(t){return u9($(e$,e,t))},$(rH,t,n))}),ct=w(function(e,t){return R(ce,eh,e,t)}),cn=w(function(e,t){return R(ce,al(q([ev,$(ex,nG,ef)])),e,t)}),cr=w(function(e,t){return R(ce,ef,e,t)}),ca=w(function(e,t){return R(ce,eg,e,t)}),ci=function(e){var t=$(cr,"vibrance",e),n=$(cn,"unsharpAmount",e),r=$(cr,"threshold",e),a=$(cr,"saturation",e),i=$(cr,"rotation",e),o=$(cn,"pseudoColourRed",e),s=$(ca,"pseudoColourMode",e),u=$(cn,"pseudoColourGreen",e),c=$(cn,"pseudoColourBlue",e),l=$(ca,"pcaMode",e),d=$(cr,"pcaHue",e),f=$(cn,"normalizeStrength",e),h=$(ca,"morphOperation",e),v=$(cr,"morphKernel",e),b=$(ct,"invert",e),g=$(cr,"hue",e),p=$(ct,"grayscale",e),m=$(cn,"gamma",e),y=$(ct,"flip",e),x=$(ca,"convolutionPreset",e),C=$(cn,"contrast",e),I=$(ca,"colourmapPreset",e),A=$(cr,"colourmapCenter",e),E=$(cr,"colourReplaceTolerance",e),S=$(ca,"colourReplaceTarget",e),M=$(ca,"colourReplaceSource",e),P=$(ct,"colourReplacePreserveLum",e),L=$(cn,"colourReplaceBlend",e),T=$(cr,"ccRed",e),k=$(cr,"ccGreen",e),O=$(cr,"ccBlue",e),H=$(cr,"brightness",e),V=$(cr,"altRedVibrance",e),B=$(cr,"altRedSigmoid",e),F=$(cr,"altRedHueWindow",e),_=$(cr,"altRedHue",e),N=$(cr,"altRedGamma",e),G=$(cr,"altGreenVibrance",e),U=$(cr,"altGreenSigmoid",e),D=$(cr,"altGreenHueWindow",e),J=$(cr,"altGreenHue",e),q=$(cr,"altGreenGamma",e),X=$(cr,"altBlueVibrance",e),j=$(cr,"altBlueSigmoid",e),W=$(cr,"altBlueHueWindow",e),Z=$(cr,"altBlueHue",e),Y=$(cr,"altBlueGamma",e),K=$(cr,"adaptiveWindow",e),Q=$(cr,"adaptiveOffset",e);return R(u7,X,w(function(e,t){return z(t,{aS:e,bq:!0})}),R(u7,W,w(function(e,t){return z(t,{az:!0,aQ:e})}),R(u7,Z,w(function(e,t){return z(t,{aP:e,az:!0})}),R(u7,j,w(function(e,t){return z(t,{aR:e,bp:!0})}),R(u7,Y,w(function(e,t){return z(t,{aO:e,bo:!0})}),R(u7,G,w(function(e,t){return z(t,{aX:e,bt:!0})}),R(u7,D,w(function(e,t){return z(t,{aA:!0,aV:e})}),R(u7,J,w(function(e,t){return z(t,{aU:e,aA:!0})}),R(u7,U,w(function(e,t){return z(t,{aW:e,bs:!0})}),R(u7,q,w(function(e,t){return z(t,{aT:e,br:!0})}),R(u7,V,w(function(e,t){return z(t,{a0:e,bw:!0})}),R(u7,F,w(function(e,t){return z(t,{aB:!0,a_:e})}),R(u7,_,w(function(e,t){return z(t,{aZ:e,aB:!0})}),R(u7,B,w(function(e,t){return z(t,{a$:e,bv:!0})}),R(u7,N,w(function(e,t){return z(t,{aY:e,bu:!0})}),R(u7,Q,w(function(e,t){return z(t,{aN:!0,bm:e})}),R(u7,K,w(function(e,t){return z(t,{aN:!0,bn:e})}),R(u7,f,w(function(e,t){return z(t,{cN:!0,bV:e})}),R(u7,n,w(function(e,t){return z(t,{ca:e,c6:!0})}),R(u7,P,w(function(e,t){return z(t,{N:!0,cp:e})}),R(u7,L,w(function(e,t){return z(t,{bB:e,N:!0})}),R(u7,E,w(function(e,t){return z(t,{N:!0,bE:e})}),R(u7,S,w(function(e,t){return z(t,{N:!0,bD:e})}),R(u7,M,w(function(e,t){return z(t,{N:!0,bC:e})}),R(u7,d,w(function(e,t){return z(t,{a7:!0,bW:e})}),R(u7,l,w(function(e,t){return z(t,{a7:!0,bX:e})}),R(u7,c,w(function(e,t){return z(t,{bY:e,ae:!0})}),R(u7,u,w(function(e,t){return z(t,{ae:!0,bZ:e})}),R(u7,o,w(function(e,t){return z(t,{ae:!0,b$:e})}),R(u7,s,w(function(e,t){return z(t,{ae:!0,b_:e})}),R(u7,A,w(function(e,t){return z(t,{bF:e,a4:!0})}),R(u7,I,w(function(e,t){return z(t,{a4:!0,bG:e})}),R(u7,x,w(function(e,t){return z(t,{cr:!0,bI:e})}),R(u7,v,w(function(e,t){return z(t,{bb:!0,bT:e})}),R(u7,h,w(function(e,t){return z(t,{bb:!0,bU:e})}),R(u7,O,w(function(e,t){return z(t,{by:e,ck:!0})}),R(u7,k,w(function(e,t){return z(t,{bz:e,cl:!0})}),R(u7,T,w(function(e,t){return z(t,{bA:e,cm:!0})}),R(u7,g,w(function(e,t){return z(t,{bP:e,cB:!0})}),R(u7,t,w(function(e,t){return z(t,{cc:e,c8:!0})}),R(u7,a,w(function(e,t){return z(t,{b1:e,cW:!0})}),R(u7,m,w(function(e,t){return z(t,{bO:e,cw:!0})}),R(u7,C,w(function(e,t){return z(t,{bH:e,cq:!0})}),R(u7,H,w(function(e,t){return z(t,{bx:e,cj:!0})}),R(u7,r,w(function(e,t){return z(t,{b8:e,c1:!0})}),R(u7,b,w(function(e,t){return z(t,{cH:e})}),R(u7,p,w(function(e,t){return z(t,{cz:e})}),R(u7,y,w(function(e,t){return z(t,{cv:e})}),R(u7,i,w(function(e,t){return z(t,{bg:e})}),sP)))))))))))))))))))))))))))))))))))))))))))))))))},co=function(e){var t=$(eE,$(ex,us,ij(eb)),e);return t.$?nf(nB(t.a)):ng(ci(t.a))},cs=function(e){return $(ee,e,"")},cu=y(function(e,t,n){for(;;){var r=nH(t);if(r.$)return n;var a=r.a,i=a.a,o=a.b;if("<"===i){var s=!0,u=o,c=n;e=!0,t=u,n=c;continue}if(">"===i){var s=!1,u=o,c=n;e=!1,t=u,n=c;continue}if(e){var s=!0,u=o,c=n;e=!0,t=u,n=c;continue}else{var s=!1,u=o,c=G(n,cs(i));e=s,t=u,n=c;continue}}}),cc=w(function(e,t){var n=function(){var e=t.gV.gI;if(e.$){var n=e.a;return uz(q([{a:"kind",b:ek("svg")},{a:"value",b:ek(n)}]))}var r=e.a,a=e.b,i=e.c,o=e.d;return uz(q([{a:"kind",b:ek("rect")},{a:"x",b:ek(r)},{a:"y",b:ek(a)},{a:"width",b:ek(i)},{a:"height",b:ek(o)}]))}();return uz(q([{a:"id",b:ek(t.f7)},{a:"shape",b:n},{a:"text",b:ek(R(cu,!1,t.eq.fG,""))},{a:"html",b:ek(t.eq.fG)},{a:"imageService",b:ek($(aG,"",e))}]))}),cl=x(function(e,t,n,r){return e?$(J,{a:t,b:n},r):r}),cd=function(e){return $(eT,2,uz(S(cl,e.bq,"altBlueVibrance",ek(e.aS),S(cl,e.az,"altBlueHueWindow",ek(e.aQ),S(cl,e.az,"altBlueHue",ek(e.aP),S(cl,e.bp,"altBlueSigmoid",ek(e.aR),S(cl,e.bo,"altBlueGamma",ek(e.aO),S(cl,e.bt,"altGreenVibrance",ek(e.aX),S(cl,e.aA,"altGreenHueWindow",ek(e.aV),S(cl,e.aA,"altGreenHue",ek(e.aU),S(cl,e.bs,"altGreenSigmoid",ek(e.aW),S(cl,e.br,"altGreenGamma",ek(e.aT),S(cl,e.bw,"altRedVibrance",ek(e.a0),S(cl,e.aB,"altRedHueWindow",ek(e.a_),S(cl,e.aB,"altRedHue",ek(e.aZ),S(cl,e.bv,"altRedSigmoid",ek(e.a$),S(cl,e.bu,"altRedGamma",ek(e.aY),S(cl,e.aN,"adaptiveOffset",ek(e.bm),S(cl,e.aN,"adaptiveWindow",ek(e.bn),S(cl,e.cN,"normalizeStrength",ek(e.bV),S(cl,e.c6,"unsharpAmount",ek(e.ca),S(cl,e.N,"colourReplacePreserveLum",ek(e.cp),S(cl,e.N,"colourReplaceBlend",ek(e.bB),S(cl,e.N,"colourReplaceTolerance",ek(e.bE),S(cl,e.N,"colourReplaceTarget",ek(e.bD),S(cl,e.N,"colourReplaceSource",ek(e.bC),S(cl,e.a7,"pcaHue",ek(e.bW),S(cl,e.a7,"pcaMode",ek(e.bX),S(cl,e.ae,"pseudoColourBlue",ek(e.bY),S(cl,e.ae,"pseudoColourGreen",ek(e.bZ),S(cl,e.ae,"pseudoColourRed",ek(e.b$),S(cl,e.ae,"pseudoColourMode",ek(e.b_),S(cl,e.a4,"colourmapCenter",ek(e.bF),S(cl,e.a4,"colourmapPreset",ek(e.bG),S(cl,e.cr,"convolutionPreset",ek(e.bI),S(cl,e.bb,"morphKernel",ek(e.bT),S(cl,e.bb,"morphOperation",ek(e.bU),S(cl,e.ck,"ccBlue",ek(e.by),S(cl,e.cl,"ccGreen",ek(e.bz),S(cl,e.cm,"ccRed",ek(e.bA),S(cl,e.cB,"hue",ek(e.bP),S(cl,e.c8,"vibrance",ek(e.cc),S(cl,e.cW,"saturation",ek(e.b1),S(cl,e.cw,"gamma",ek(e.bO),S(cl,e.cq,"contrast",ek(e.bH),S(cl,e.cj,"brightness",ek(e.bx),S(cl,e.c1,"threshold",ek(e.b8),S(cl,e.cH,"invert",ek(!0),S(cl,e.cz,"grayscale",ek(!0),S(cl,e.cv,"flip",ek(!0),S(cl,!!e.bg,"rotation",ek(e.bg),U)))))))))))))))))))))))))))))))))))))))))))))))))))},cf=w(function(e,t){var n=w(function(t,n){for(;;)if(H(t.u.f7,e))return nr(t.u);else{var r=t.Q;if(r.b){var a=r.a,i=r.b;if(a.$){var o=z(t,{Q:i}),s=n;t=o,n=s;continue}var u=a.a,o={u:u,Q:u.aH},s=$(J,{u:t.u,Q:i},n);t=o,n=s;continue}if(!n.b)return na;var c=n.a,i=n.b,o=c,s=i;t=o,n=s;continue}});return $(n,{u:t,Q:t.aH},U)}),ch=w(function(e,t){for(;;)if(e<=0)return t;else{if(!t.b)return t;t.a,e-=1,t=t.b;continue}}),cv=w(function(e,t){return aL($(ch,e,t))}),cb=w(function(e,t){return e(t.b)}),cg=cb(function(e){return e.es}),cp=w(function(e,t){var n=$(cm,e,t.aH),r=n.a,a=n.b;return R(r_,t.f7,r,a)}),cm=w(function(e,t){return R(nx,w(function(t,n){var r=n.a,a=n.b;if(t.$){var i=t.a,o=$(cp,e,i),s=r.$?$(aG,na,$(rH,i.f7,o)):r;return{a:s,b:$(uf,o,a)}}var u=t.a,s=r.$?$(rH,u,e):r;return{a:s,b:a}}),{a:na,b:rI},t)}),cw=w(function(e,t){return R(nx,w(function(t,n){return $(uf,$(cp,e,t),n)}),rI,t)}),cy=e3("layoutConfigUpdated",function(e){return uz(q([{a:"direction",b:ek(e.ez)},{a:"mode",b:ek(e.e1)}]))}),cx=w(function(e,t){return e?t?"spread-shift":"spread":"single"}),cC=function(e){var t={a:e.dI,b:e.dU};if(t.a.$||t.b.$)return 1;var n=t.a.a,r=t.b.a;return n>0?r/n:1},cI=w(function(e,t){return $(aG,q(["[No language value found]"]),$(az,function(e){return e.b},$(aK,q([function(n){if(e.$)return na;var r=e.a;return $(oZ,function(e){return!e.a.$&&H(e.a.a,r)},t)},function(e){return $(oZ,function(e){return H(e.a,iZ)},t)},function(e){return $(oZ,function(e){return H(e.a,i0)},t)},function(e){return aL(t)}]),t)))}),cA=w(function(e,t){return $(nm,"; ",$(cI,e,t))}),cE=function(e){var t=e.dX;return t.$?"Untitled":$(cA,i0,t.a)},c$=function(e){switch(e){case 0:return"jpg";case 1:return"tif";case 2:return"png";case 3:return"jp2";case 4:return"gif";case 5:return"pdf";default:return"webp"}},cR=function(e){switch(e){case 0:return"color";case 1:return"gray";case 2:return"bitonal";case 3:return"default";default:return"native"}},cS=function(e){switch(e.$){case 0:return"full";case 1:return"square";default:return $(nm,",",$(rc,el,q([e.a.fJ,e.a.ek,e.a.dH,e.a.dn])))}},cM=function(e){if(e.$){var t=e.a;return"!"+el(t)}var t=e.a;return el(t)},cP=function(e){switch(e.$){case 0:return"max";case 1:return"^max";case 2:var t=e.a;return el(t)+",";case 3:var t=e.a;return"^"+el(t)+",";case 4:var n=e.a;return","+el(n);case 5:var n=e.a;return"^,"+el(n);case 6:var r=e.a;return"pct:"+el(r);case 7:var r=e.a;return"^pct:"+el(r);case 8:var a=e.a,t=a.a,n=a.b;return el(t)+","+el(n);case 9:var i=e.a,t=i.a,n=i.b;return"^"+el(t)+","+el(n);case 10:var o=e.a,t=o.a,n=o.b;return"!"+el(t)+","+el(n);default:var s=e.a,t=s.a,n=s.b;return"^!"+el(t)+","+el(n)}},cL=function(e){for(;;)if(!e.b||"/"!==e.a)return e;else{e=e.b;continue}},cT=function(e){return X(e).join("")},ck=function(e){return R(et,J,U,e)},cO=function(e){return cT(nO(cL(nO(ck(e)))))},cH=nx(w(function(e,t){var n=cT(cL(ck(e)));return n7(n)?cO(t):cO(t)+"/"+n})),cV=function(e){switch(e.$){case 0:var t,n=e.a;return $(cH,(t=n).eR,q([t.Y,"info.json"]));case 1:var r,n=e.a;return $(cH,(r=n).eR,q([r.Y,cS(r.cU),cP(r.fw),cM(r.bg),cR(r.d7)+"."+c$(r.dR)]));default:var n=e.a;return $(cH,n.eR,q([n.Y]))}},cB=w(function(e,t){switch(t.$){case 0:var n,r=t.a;return aJ(z({dR:0,eR:(n=r).eR,Y:n.Y,d7:3,cU:aW,bg:iI(0),fw:ic},{fw:e}));case 1:var r=t.a;return aJ(z(r,{fw:e}));default:return t}}),cF=function(e){var t=iO(e);if(t.$)return e;var n=t.a;return cV($(cB,im(180),n))},c_=function(e){var t=cV(e.f7);return sd(e.ft)?t:cF(t)},cN=w(function(e,t){var n=t.gW;if(!n.$)return c_(n.a);var r=aL($(iR,function(e){return e.bR},e));if(r.$){var a=aL(e);if(a.$)return"";var i=a.a;return i.bh}var i=r.a;return i.bh}),cz=function(e){return al(q([ac(e),$(ex,iJ,e)]))},cG=C(function(e,t,n,r,a){return{eD:r,eE:a,f7:e,b2:n,g_:t}}),cU=$(ey,function(e){switch(e){case"active":return n1(0);case"external":return n1(2);case"kiosk":return n1(1);default:return av("Unsupported Auth 2 access profile: "+e)}},eg),cD=E(function(e,t,n,r,a,i,o,s){return{dM:s,dT:i,f7:e,dX:a,d0:o,be:n,b2:r,g_:t}}),cJ=w(function(e,t){return $(ey,function(t){return H(t,e)?n1(t):av("Expected "+e+" but got "+t)},t)}),cq=al(q([$(ep,"type",eg),$(ep,"@type",eg)])),cX=function(e){return $(cJ,e,cq)},cj=al(q([$(ep,"id",eg),$(ep,"@id",eg)])),cW=$(ey,function(e){return $(es,"https://",e)?n1(e):av("Expected an HTTPS service identifier")},cj),cZ=w(function(e,t){return $(ey,function(n){var r=$(e$,$(ep,e,eb),n);if(r.$)return n1(na);var a=$(e$,t,r.a);return a.$?av(nB(a.a)):n1(nr(a.a))},eb)}),cY=function(e){return{$:1,a:e}},cK=function(e){return{$:0,a:e}},cQ=x(function(e,t,n,r){return{eD:n,eE:r,f7:e,g_:t}}),c0=$(aB,$(cZ,"errorNote",iQ),$(aB,$(cZ,"errorHeading",iQ),$(aB,cX("AuthAccessTokenService2"),$(aB,cW,n1(cQ))))),c1=y(function(e,t,n){return{f7:e,dX:n,g_:t}}),c2=$(aB,$(cZ,"label",iQ),$(aB,cX("AuthLogoutService2"),$(aB,cW,n1(c1)))),c4=$(ey,function(e){switch(e){case"AuthAccessTokenService2":return $(ex,cK,c0);case"AuthLogoutService2":return $(ex,cY,c2);default:return av("Unsupported Auth 2 related service: "+e)}},cq),c3=$(ey,function(e){var t=nC($(iR,function(e){return!e.$},e)),n=nC(e)-t;return 1===t&&n<=1?n1(e):av("Auth access services require exactly one token service and at most one logout service")},cz(c4)),c6=$(ey,function(e){return $(aB,$(cZ,"confirmLabel",iQ),$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),$(aB,e?$(cZ,"label",iQ):$(ex,nr,$(ep,"label",iQ)),R(aP,"service",c3,$(aB,n1(e),$(aB,cX("AuthAccessService2"),$(aB,2===e?n1(na):$(ex,nr,cW),n1(cD)))))))))},$(ep,"profile",cU)),c5=$(aB,$(cZ,"errorNote",iQ),$(aB,$(cZ,"errorHeading",iQ),R(aP,"service",cz(c6),$(aB,cX("AuthProbeService2"),$(aB,cW,n1(cG)))))),c8=$(ey,function(e){var t=R(y(function(e,t,n){for(;;)if(!e.b)return ng({cS:nO(t),c7:nO(n)});else{var r=e.a,a=e.b,i=$(e$,ac(eb),r);if(i.$){var o=$(e$,cq,r);if(o.$){var s=$(e$,$(ep,"service",cz(eb)),r);if(s.$){var u=a,c=t,l=n;e=u,t=c,n=l;continue}var d=s.a,u=G(d,a),c=t,l=n;e=u,t=c,n=l;continue}if("AuthProbeService2"===o.a){var f=$(e$,c5,r);if(f.$)return nf(f.a);var h=f.a,u=a,c=$(J,h,t),l=n;e=u,t=c,n=l;continue}var v=o.a,b=$(es,"Auth",v)?$(J,v,n):n,g=$(e$,$(ep,"service",cz(eb)),r);if(g.$){var u=a,c=t,l=b;e=u,t=c,n=l;continue}var d=g.a,u=G(d,a),c=t,l=b;e=u,t=c,n=l;continue}var u=G(i.a,a),c=t,l=n;e=u,t=c,n=l;continue}}),q([e]),U,U);return t.$?av(nB(t.a)):n1(t.a)},eb),c7=function(e){return!!e.$},c9=y(function(e,t,n){var r,a=cV(n.f7),i=c_(n),o=$(aG,"Image",$(az,cA(e),n.dX)),s=sd(n.ft),u=c7($(uH,function(e){return!e.eT},t)),c=H(nr(n),aL(t)),l=!n.eT||u&&c;return{dh:(r=$(e$,c8,$(uN,n4,n.gK))).$?{$:2,a:nB(r.a)}:{$:1,a:r.a},f7:a,bR:l,aG:s,dX:o,b7:a,bh:i,b9:a}}),le=w(function(e,t){var n=$(rc,$(c9,e,t.cF),t.cF);if(sd(n))return na;var r=$(cN,n,t),a=$(aG,"",$(az,function(e){return e.bh},aL($(iR,function(e){return e.bR},n))));return nr({dg:cC(t),M:t.f7,eI:a,dU:t.dU,cF:n,dX:cE(t),bh:r,dI:t.dI})}),lt=w(function(e,t){return $(an,le(e),cg(t))}),ln=cb(function(e){return e.g2}),lr=w(function(e,t){return z(t,{aa:na,ah:na,e:rI,v:rI,D:rI,Z:U,ar:us($(rc,function(e){return{a:e.f7,b:e}},e))})}),la=function(e){return e.b},li=w(function(e,t){return $(az,nW,aL($(iR,$(rW,la,e),$(nE,a8,t))))}),lo=function(e){return{$:1,a:e}},ls=function(e){return{$:2,a:e}},lu=al(q([$(ex,function(e){return{$:0,a:e}},ef),$(ey,function(e){switch(e){case"canvasId":return $(ex,lo,$(ep,"value",eg));case"label":return $(ex,ls,$(ep,"value",eg));default:return av("Unsupported initial page selector")}},$(ep,"by",eg))])),lc=function(e){return e.toLowerCase()},ll=w(function(e,t){var n=$(aN,$(rW,e$(lu),u9),e);if(n.$)return 0;switch(n.a.$){case 0:var r=n.a.a;return r>=0&&0>_(r,nC(t))?r:0;case 1:var a=n.a.a;return $(aG,0,$(li,function(e){return H(e.M,a)},t));default:var i=n.a.a;return $(aG,0,$(li,function(e){return H(lc(e.dX),lc(i))},t))}}),ld=cb(function(e){return e.f6}),lf=cb(function(e){return e.d_}),lh=cb(function(e){return e.fh}),lv=w(function(e,t){switch(t){case 2:var n=!sd(lf(e)),r=$(aG,!1,$(az,$(rW,sd,uB),ld(e)));return n||r?2:1;case 3:return $(aG,!1,$(az,$(rW,sd,uB),lh(e)))?3:1;default:return 1}}),lb=cb(function(e){return e.g1}),lg=function(e){switch(e){case 0:case 2:default:return"ltr";case 1:return"rtl"}},lp=e3("zoomLevelUpdated",ek),lm=x(function(e,t,n,r){var a,i=lb(r),o=$(lt,n.ey,r),s=$(an,function(e){return $(az,function(t){return{M:e.M,aG:t.aG,b7:t.b7,aM:t.b9}},uV(e))},o),u=(a=ln(r)).$?$(iF,7,a.a):!a.a,c=$(rc,function(e){return e.dg},o),l=1===nC(o),d=!l&&(u||1===i),f=l?0:+!!u,h=$(cx,f,d),v=$(ll,t,o),b=lg(i),g=us($(nE,w(function(e,t){return{a:t.f7,b:e}}),cg(r))),p=$(aG,rI,$(az,cw(g),lh(r))),m=$(lv,r,n._),y=n.B?m:0,x=$(rc,function(e){return{dh:e.dh,f7:e.b7,aG:e.aG,aM:e.b9}},$(iP,function(e){return e.cF},o));return{a:z(n,{a1:rI,dd:us($(rc,function(e){return{a:e.f7,b:e.dd}},cg(r))),aC:rI,dh:$(lr,x,rE),dO:na,eJ:sP,eO:!sd(s),$7:na,X:!1,cP:!1,ap:o,fg:p,b0:{$:2,a:r},R:sd(o)?na:nr(v),b3:d,_:m,B:y,cd:f}),b:eQ(q([u6({dV:v,d8:e,ei:s}),u3($(an,n4,$(nE,w(function(e,t){return $(az,function(n){return{M:t.M,dU:t.dU,cF:$(rc,function(e){return{f7:e.f7,bR:e.bR,dX:e.dX}},t.cF),eU:e,dX:t.dX,fb:{f7:n.f7,bR:n.bR,dX:n.dX},dI:t.dI}},uV(t))}),o))),u1(na),u2(c),u4($(rc,function(e){return e.dX},o)),lp(1),cy({ez:b,e1:h})]))}}),lw={$:6},ly=w(function(e,t){return rv($(eF,$(aE,$(aE,eH,e),nf),$(eB,$(aE,$(aE,eH,e),ng),t)))}),lx=function(e){return t3(e,function(e){var t=e.getBoundingClientRect(),n=t1.pageXOffset,r=t1.pageYOffset;return{fq:t6(),fH:{fJ:n,ek:r,dI:t0.documentElement.clientWidth,dU:t0.documentElement.clientHeight},eB:{fJ:n+t.left,ek:r+t.top,dI:t.width,dU:t.height}}})},lC=x(function(e,t,n,r){return $(eB,function(t){return $(eB,function(n){return $(eB,function(r){return eH(R(e,t,n,r))},r)},n)},t)}),lI=eQ(U),lA=w(function(e,t){if(!e)return lI;var n=$(eB,function(e){var n="thumb-"+el(t);return $(eB,n4,S(lC,y(function(e,t,n){return R(t5,"thumbs",0,$(nX,0,e.eB.ek-t.eB.ek+n.fH.ek))}),lx(n),lx("thumbs"),t3("thumbs",function(e){return{fq:{dI:e.scrollWidth,dU:e.scrollHeight},fH:{fJ:e.scrollLeft,ek:e.scrollTop,dI:e.clientWidth,dU:e.clientHeight}}})))},eX(0));return $(ly,function(e){return lw},n)}),lE=function(e){return e.cP?$(aG,lI,$(aN,function(t){return $(az,function(n){return u1(nr({dg:t.dg,eJ:e.eJ,aG:n.aG,b7:n.b7,b9:n.b9}))},aL($(ch,e.aJ,t.cF)))},$(aN,function(t){return $(cv,t,e.ap)},e.R))):lI},l$=y(function(e,t,n){var r=z(n,{aJ:0,R:nr(t),bi:e});return{a:r,b:eQ(q([$(lA,1===r.B,t),lE(r)]))}}),lR=e3("scrollToIndex",ek),lS=w(function(e,t){var n=t.R;if(n.$)return{a:t,b:lI};var r=n.a+e;if(r>=0&&0>_(r,nC(t.ap))){var a=z(t,{aJ:0,R:nr(r),bi:!1});return{a:a,b:eQ(q([lR(r),$(lA,1===a.B,r),lE(a)]))}}return{a:t,b:lI}}),lM=function(e){switch(e.$){case 0:return"Bad URL: "+e.a;case 1:return"Request timed out.";case 2:return"Network error. The resource may be unreachable or blocked by CORS.";case 3:return"HTTP error: "+el(e.a);default:return"Invalid IIIF response body. URL did not return a valid IIIF Manifest or Collection JSON."}},lP=w(function(e,t){return R(r_,e,0,t)}),lL=e3("layoutModeUpdated",ek),lT=w(function(e,t){return!$(rH,e,t).$}),lk=w(function(e,t){return $(lT,e,t)}),lO=w(function(e,t){return $(rX,e,t)}),lH=y(function(e,t,n){var r=w(function(e,t){for(;;)if(!t.b)return e;else{var n=t.a,r=t.b;e=z(n.u,{aH:G(nO($(J,oI(e),n.ai)),n.Q)}),t=r;continue}}),a=w(function(e,t){if(!t.b)return e;var n=t.a,r=t.b;return $(i,{ai:$(J,oI(e),n.ai),u:n.u,Q:n.Q},r)}),i=w(function(n,o){if(H(n.u.f7,e))return $(r,t,o);var s=n.Q;if(!s.b)return $(a,z(n.u,{aH:nO(n.ai)}),o);var u=s.a,c=s.b;if(u.$)return $(i,z(n,{ai:$(J,u,n.ai),Q:c}),o);var l=u.a;return $(i,{ai:U,u:l,Q:l.aH},$(J,{ai:n.ai,u:n.u,Q:c},o))});return $(i,{ai:U,u:n,Q:n.aH},U)}),lV=w(function(e,t){return{$:58,a:e,b:t}}),lB=w(function(e,t){return{$:0,a:e,b:t}}),lF=function(e){return encodeURIComponent(e)},l_=w(function(e,t){return $(lB,lF(e),lF(t))}),lN=function(e){return e.a+"="+e.b},lz=y(function(e,t,n){var r,a=(r=q([$(l_,"canvasURI",t),$(l_,"iiifVersion",n)])).b?"?"+$(nm,"&",$(rc,lN,r)):"";return $(eo,"?",e)?e+"&"+$(n8,1,a):G(e,a)}),lG=function(e){var t=e.H;switch(t.$){case 1:var n=t.a;return nr(n);case 2:var r=e.b0;if(2!==r.$)return na;var n=r.a;return nr(n);default:return na}},lU=function(e){return{dR:na,dY:na,fG:e}},lD=lU("");function lJ(){return al(q([S(eI,y(function(e,t,n){return{dR:t,dY:n,fG:e}}),al(q([$(ep,"value",eg),$(ep,"chars",eg)])),aR($(ep,"format",eg)),aR($(ep,"language",eg))),$(ex,$(rW,aL,aG(lD)),ac(of(function(e){return lJ()}))),$(ex,lU,eg)]))}var lq=lJ();lJ=function(){return lq};var lX=al(q([$(ep,"body",lq),$(ep,"resource",lq),n1(lD)])),lj=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),lW=function(e){var t=$(es,"xywh=",e)?$(n8,5,e):e,n=$(rc,aQ,$(nw,",",t));if(!n.b||n.a.$||!n.b.b||n.b.a.$||!n.b.b.b||n.b.b.a.$||!n.b.b.b.b||n.b.b.b.a.$||n.b.b.b.b.b)return av("Invalid xywh selector");var r=n.a.a,a=n.b,i=a.a.a,o=a.b,s=o.a.a,u=o.b.a.a;return s>0&&u>0?n1(S(lj,r,i,s,u)):av("Annotation rectangle must have a positive size")},lZ=al(q([$(ep,"type",eg),$(ep,"@type",eg)])),lY=$(ey,function(e){var t=e.a,n=e.b;return"svgselector"===lc(t)||"oa:svgselector"===lc(t)?n1({$:1,a:n}):av("Not an SVG selector")},R(eC,a8,lZ,$(ep,"value",eg)));function lK(){return al(q([lY,$(ey,lW,$(ep,"value",eg)),$(ep,"item",of(function(e){return lK()})),$(ep,"default",of(function(e){return lK()}))]))}var lQ=lK();lK=function(){return lQ};var l0=al(q([$(ep,"id",eg),$(ep,"@id",eg)])),l1=al(q([$(ex,nr,$(ep,"source",al(q([eg,l0])))),$(ex,nr,$(ep,"full",al(q([eg,l0])))),n1(na)])),l2=function(e){var t=$(nw,"#xywh=",e);if(!t.b||!t.b.b||t.b.b.b)return av("Annotation target has no xywh selector");var n=t.a;return $(ex,function(e){return{gI:e,ed:nr(n)}},lW(t.b.a))};function l4(){return al(q([$(ey,function(e){var t=aL(e);return t.$?av("Annotation target list is empty"):n1(t.a)},ac(of(function(e){return l4()}))),$(ey,l2,eg),R(eC,w(function(e,t){return{gI:t,ed:e}}),l1,$(ep,"selector",lQ))]))}var l3=l4();l4=function(){return l3};var l6=al(q([$(ep,"id",eg),$(ep,"@id",eg),n1("")])),l5=M(eA,x(function(e,t,n,r){return{eq:n,f7:e,e3:r,gV:t}}),l6,al(q([$(ep,"target",l3),$(ep,"on",l3)])),lX,aR($(ep,"motivation",eg))),l8=al(q([$(ep,"resources",ac(l5)),$(ep,"items",ac(l5)),ac(l5)])),l7=y(function(e,t,n){return R(au,t,$(r2,e,l8),n)}),l9=w(function(e,t){if(!t.bK||$(lk,e,t.a1)||$(lT,e,t.aC))return{a:t,b:lI};var n,r,a=$(aG,U,$(rH,e,t.dd)),i=$(an,function(e){return e.$?na:nr(e.a)},a),o=aH($(an,function(e){return e.$?u9($(e$,l8,e.a)):na},a)),s=sd(o)?t:z(t,{aC:R(r_,e,o,t.aC)}),u=!(n=sd(a),r={a:n,b:t.ci,c:lG(t)}).a||r.b.$||r.c.$?U:q([R(lz,r.b.a,e,1===r.c.a.a?"2":"3")]);return{a:z(s,{a1:$(lP,e,s.a1)}),b:eQ(G($(rc,function(n){return R(l7,lV(e),t.av,n)},G(i,u)),q([uG({de:$(rc,cc($(u_,e,t)),o),M:e})])))}}),de=al(q([$(ey,function(e){return $(ah,ag,e)?$(ex,aw(2),s$):$(ah,ab,e)?$(ex,aw(1),oq):av("Unknown IIIF Version: "+e)},$(ep,"@context",eg)),$(ey,function(e){return $(ad,ah(ag),e)?$(ex,aw(2),s$):$(ad,ah(ab),e)?$(ex,aw(1),oq):av("Unknown IIIF Version in context values: "+$(nm,", ",e))},$(ep,"@context",ac(eg)))])),dt=y(function(e,t,n){return R(au,t,$(r2,e,de),n)}),dn=function(e){return z(e,{aO:0,bo:!1,aP:0,az:!1,aQ:8,aR:0,bp:!1,aS:0,bq:!1,aT:0,br:!1,aU:0,aA:!1,aV:8,aW:0,bs:!1,aX:0,bt:!1,aY:0,bu:!1,aZ:0,aB:!1,a_:8,a$:0,bv:!1,a0:0,bw:!1})},dr=e3("resourceLoadFailed",function(e){return uz(q([{a:"message",b:ek(e.ac)},{a:"requestId",b:ek(e.fl)},{a:"url",b:ek(e.aM)}]))}),da=e3("resourceLoadSucceeded",function(e){return uz(q([{a:"hasPages",b:ek(e.cA)},{a:"pageIndex",b:ek(e.cO)},{a:"requestId",b:ek(e.fl)},{a:"url",b:ek(e.aM)}]))}),di=e3("authHttpCancelled",ek),ds=e3("authHttpRequested",n4),du=e3("authSourcesInvalidated",uN(ek)),dc=e3("authStorageRequested",n4),dl=e3("authTokenFrameCancelled",ek),dd=e3("authTokenFrameRequested",n4),df=e3("tileSourceResolutionFailed",function(e){return uz(q([{a:"message",b:ek(e.ac)},{a:"requestId",b:ek(e.fl)}]))}),dh=e3("tileSourceResolutionSucceeded",n4),dv=function(e){switch(e.$){case 0:var t=e.a,n=e.b,r=e.c,a=e.d;return ds(uz(q([{a:"id",b:ek(t)},{a:"url",b:ek(n)},{a:"bearer",b:$(aG,null,$(az,ek,r))},{a:"withCredentials",b:ek(a)}])));case 1:var t=e.a;return di(t);case 2:var i=e.a,o=e.b;return dc(uz(q([{a:"action",b:ek("read")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)}])));case 3:var i=e.a,o=e.b,s=e.c,u=e.d;return dc(uz(q([{a:"action",b:ek("write")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)},{a:"accessToken",b:ek(s)},{a:"expiresAt",b:ek(u)}])));case 4:var i=e.a,o=e.b;return dc(uz(q([{a:"action",b:ek("remove")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)}])));case 5:var i=e.a,n=e.b,c=e.c;return dd(uz(q([{a:"flowId",b:ek(i)},{a:"url",b:ek(n)},{a:"messageId",b:ek(c)}])));case 6:var i=e.a;return dl(i);case 7:return du(e.a);case 8:var l=e.a;return dh(uz(q([{a:"requestId",b:ek(l.fl)},{a:"url",b:ek(l.aM)},{a:"isStatic",b:ek(l.aG)},{a:"credentialed",b:ek(l.ev)},{a:"infoJson",b:$(aG,null,l.aF)}])));default:var d=e.a;return df({ac:e.b,fl:d})}},db=e3("saveFilteredImage",function(e){return null}),dg=e3("setFullscreen",ek),dp=function(e){return{$:1,a:e}},dm=function(e){return{$:6,a:e}},dw=w(function(e,t){return{$:4,a:e,b:t}}),dy=y(function(e,t,n){return{$:5,a:e,b:t,c:n}}),dx=w(function(e,t){var n=t.a;return{a:n,b:G(t.b,e)}}),dC=w(function(e,t){return R(uu,y(function(e,t,n){return $(rX,e,n)}),e,t)}),dI=w(function(e,t){return R(uu,y(function(t,n,r){return $(e,t,n)?R(r_,t,n,r):r}),rI,t)}),dA=w(function(e,t){if(-2===t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;return M(rV,n,r,$(e,r,a),$(dA,e,i),$(dA,e,o))}),dE=y(function(e,t,n){var r=t.o.T.f7;if(r.$)return n;var a=r.a;return z(n,{aa:nr(e),ah:nr({el:a,dM:t.o.T.dM,aw:t.cT,dl:e,dT:t.o.T.dT,d0:t.o.T.d0}),Z:$(iR,F(e),n.Z)})}),d$=function(e){for(;;){var t=e.Z;if(!t.b)return e;var n=t.a,r=z(e,{Z:t.b}),a=$(rH,n,e.e);if(a.$){var i=r;e=i;continue}var o=a.a;if(!o.o.T.f7.$)return R(dE,n,o,r);var i=r;e=i}},dR=w(function(e,t){var n,r=z(t,{Z:$(iR,F(e),t.Z)}),a=(n=r.ah).$?r:H(n.a.dl,e)?z(r,{ah:na}):r;return H(a.aa,nr(e))?d$(z(a,{aa:na})):a}),dS=w(function(e,t){var n=$(dI,w(function(e,t){return!sd(t.au)}),$(dA,w(function(t,n){return z(n,{au:$(iR,F(e),n.au)})}),t.e)),r=$(iR,function(e){return!$(lT,e,n)},ns(t.e)),a=$(dI,w(function(t,n){return n.$?$(iF,n.a,r):H(n.a,e)}),t.v);return{a:R(nx,dR,z(t,{e:n,v:$(dC,t.v,a),D:$(rX,e,t.D)}),r),b:G($(rc,dp,ns(a)),$(rc,dm,r))}}),dM=w(function(e,t){return{$:9,a:e,b:t}}),dP=y(function(e,t,n){return{a:z(n,{D:$(rX,e,n.D)}),b:q([$(dM,e,t)])}}),dL=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=w(function(e,n){var r=n.a,a=n.b,i=R(dP,e,t,r),o=i.a;return{a:o,b:G(a,i.b)}});return R(nx,i,{a:$(dR,e,z(n,{e:$(rX,e,n.e)})),b:q([dm(e)])},a.au)}),dT=w(function(e,t){return $(iF,e,t)?t:G(t,q([e]))}),dk=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;if(a.o.T.f7.$)return R(dL,e,"The active access service has no URL.",n);var i=z(a,{aq:3,cT:t}),o=z(n,{e:R(r_,e,i,n.e)}),s=n.aa;return s.$?{a:R(dE,e,i,o),b:U}:H(s.a,e)?{a:R(dE,e,i,o),b:U}:{a:z(o,{Z:$(dT,e,o.Z)}),b:U}}),dO=x(function(e,t,n,r){return{a:z(n,{e:R(rj,e,az(t),n.e)}),b:r}}),dH=y(function(e,t,n){var r=e+"-"+el(t.aE+1);return S(dO,e,function(e){return z(e,{aq:5})},n,q([R(dy,e,t.o.c3.f7,r)]))}),dV=y(function(e,t,n){for(;;){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=a.dv;if(!i.b)return R(dL,e,t,n);var o=i.a,s=z(a,{o:o,aE:0,cT:na,dv:i.b}),u=$(dR,e,z(n,{e:R(r_,e,s,n.e)}));switch(o.T.be){case 0:return $(dx,q([dm(e)]),R(dk,e,na,u));case 1:n=u;continue;default:return $(dx,q([dm(e)]),R(dH,e,s,u))}}}),dB=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;if(a.aE+1>=2)return R(dL,e,t,n);var i=z(n,{e:R(r_,e,z(a,{aE:a.aE+1}),n.e)});return $(dx,q([dm(e)]),R(dk,e,nr(t),i))}),dF=y(function(e,t,n){var r=$(rH,e,n.e);return r.$?{a:n,b:U}:0===r.a.o.T.be?R(dB,e,t,n):R(dV,e,t,n)}),d_=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),dN=w(function(e,t){return{$:1,a:e,b:t}}),dz=w(function(e,t){var n="auth-http-"+el(t.cL);return{a:n,b:z(t,{cL:t.cL+1,v:R(r_,n,e,t.v)})}}),dG=x(function(e,t,n,r){var a=$(rH,e,r.D);if(a.$)return{a:r,b:U};var i=a.a,o=$(rH,i.b7,r.ar);if(o.$)return{a:r,b:U};var s=o.a;return{a:z(r,{D:$(rX,e,r.D)}),b:q([{$:8,a:{ev:t,aF:n.$?i.aF:nr(n.a),aG:s.aG,fl:e,aM:s.aM}}])}}),dU=w(function(e,t){return{$:0,a:e,b:t}}),dD=x(function(e,t,n,r){var a=$(dz,$(dU,e,{$:1,a:t}),r),i=a.a;return{a:a.b,b:q([S(d_,i,n.aM,na,t)])}}),dJ=y(function(e,t,n){var r=$(rH,e,n.D);if(r.$)return{a:n,b:U};var a=r.a,i=$(rH,a.b7,n.ar);if(i.$)return{a:n,b:U};var o=i.a,s={a:o.aG,b:a.aF};return s.a||1!==s.b.$?S(dG,e,t,na,n):(s.b,S(dD,e,t,o,n))}),dq=w(function(e,t){return 1===e.$?t:t+":"+el(e.a)}),dX=y(function(e,t,n){return 1===t.$?n:G(n,G(e,t.a))}),dj=function(e){var t=e.fe?"https://":"http://";return R(dX,"#",e.f4,R(dX,"?",e.gz,G($(dq,e.fa,G(t,e.eR)),e.s)))},dW=function(e){var t,n=G($(iR,function(e){return 2===e.be},e.b2),$(iR,function(e){return!e.be},e.b2)),r=$(aG,t=e.f7,$(az,function(e){return dj(z(e,{f4:na,gz:na}))},ri(t)))+"|"+$(nm,"|",$(an,function(e){return aL($(an,function(t){if(t.$)return na;var n=t.a;return nr($(aG,"",e.f7)+"|"+n.f7)},e.b2))},n));return $(an,function(t){return $(az,function(n){return{T:t,ak:r,a9:aL($(an,function(e){return e.$?nr(e.a):na},t.b2)),cR:e,c3:n}},aL($(an,function(e){return e.$?na:nr(e.a)},t.b2)))},n)},dZ=function(e){return"Unsupported authorization service: "+$(nm,", ",e)+"."},dY=function(e){var t=$(iP,function(e){return e.b2},e),n=aL($(iR,function(e){return 1===e.be},t));if(n.$)return na;var r=n.a;return nr("IIIF Auth 2 '"+function(){switch(r.be){case 0:return"active";case 1:return"kiosk";default:return"external"}}()+"' access is not supported; supported profiles are 'external' and 'active'.")},dK=function(e){if(!sd(e.c7))return nf(dZ(e.c7));var t=$(aG,U,aL($(iR,$(aE,uB,sd),$(rc,dW,e.cS))));if(!sd(t))return ng(t);var n=dY(e.cS);return n.$?nf("No supported Auth 2 external or active access service was provided."):nf(n.a)},dQ=x(function(e,t,n,r){var a=z(r,{D:R(rj,e,az(function(e){return z(e,{aF:n})}),r.D)}),i=dK(t);if(i.$)return R(dP,e,i.a,a);if(!i.a.b)return R(dP,e,"No supported Auth 2 external or active access service was provided.",a);var o=i.a,s=o.a,u=o.b,c=$(rH,s.ak,a.ax);if(c.$){var l=$(rH,s.ak,a.e);if(l.$){var d={o:s,aE:0,aq:0,cT:na,dv:u,au:q([e])},f=z(a,{e:R(r_,s.ak,d,a.e)}),h=$(dz,$(dN,s.ak,na),f),v=h.a;return{a:h.b,b:q([S(d_,v,s.cR.f7,na,!1)])}}var d=l.a;return{a:z(a,{e:R(r_,s.ak,z(d,{au:$(J,e,d.au)}),a.e)}),b:U}}return c.a?(c.a,R(dJ,e,!0,a)):(c.a,R(dJ,e,!1,a))}),d0=x(function(e,t,n,r){var a=$(eE,eb,n);if(a.$){var i=a.a;return R(dP,e,nB(i),r)}var o=a.a,s=$(e$,c8,o);if(s.$){var i=s.a;return R(dP,e,nB(i),r)}var u=s.a;return sd(u.cS)&&sd(u.c7)?t>=200&&t<300?S(dG,e,!1,nr(o),r):R(dP,e,"Image information request failed ("+el(t)+").",r):S(dQ,e,u,nr(o),r)}),d1=w(function(e,t){return{$:2,a:e,b:t}}),d2=function(e){return R(nx,lP,rI,e)},d4=w(function(e,t){return M(rV,1,e,t,rC,rC)}),d3=function(e){return e.ak},d6=w(function(e,t){return $(uf,e,t)}),d5=w(function(e,t){var n=e.o.a9;if(n.$)return t;var r=n.a,a=d2($(an,function(e){return $(az,function(e){return e.b7},$(rH,e,t.D))},e.au)),i=$(aG,"",e.o.T.f7)+("|"+e.o.c3.f7)+"|"+r.f7,o=d3(e.o);return z(t,{ag:R(rj,i,function(e){if(e.$)return nr({aw:na,a5:$(d4,o,0),f7:i,a9:r,c$:a});var t=e.a;return nr(z(t,{aw:na,a5:$(lP,o,t.a5),c$:$(d6,a,t.c$)}))},t.ag)})}),d8=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=z(n,{ax:R(r_,a.o.ak,+!!t,n.ax)}),o=t?$(d5,a,i):i;return R(nx,w(function(e,n){var r=n.a,a=n.b,i=$(rH,e,r.D);if(i.$)return{a:r,b:a};var o=i.a,s=$(rH,o.b7,r.ar);if(s.$)return{a:r,b:a};var u=s.a,c={a:u.aG,b:o.aF};if(c.a||1!==c.b.$){var l=S(dG,e,t,na,r),d=l.a,f=l.b;return{a:d,b:G(a,f)}}c.b;var h=S(dD,e,t,u,r),d=h.a,f=h.b;return{a:d,b:G(a,f)}}),{a:$(dR,e,z(o,{e:$(rX,e,o.e)})),b:q([dm(e)])},a.au)}),d7=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;switch(a.o.T.be){case 0:return R(dk,e,na,n);case 1:return R(dV,e,t,n);default:return R(dH,e,a,n)}}),d9=function(e){return"Access was not granted ("+el(e)+")."},fe=$(ey,function(e){return e>=100&&e<=599?n1(e):av("Expected an HTTP status code between 100 and 599")},ef),ft=A(function(e,t,n,r,a,i,o){return{k:e,dT:a,gd:o,d0:i,dE:n,gQ:r,g_:t}}),fn="http://iiif.io/api/auth/2/context.json",fr=al(q([$(ep,"@context",eg),$(ep,"context",eg)])),fa=$(ey,function(e){return $(ah,fn,e)?n1(e):av("Expected "+fn+" but got "+e)},fr),fi=R(eC,w(function(e,t){return{f7:e,g_:t}}),cj,cq),fo=y(function(e,t,n){return $(ey,function(r){var a=$(e$,$(ep,e,eb),r);if(a.$)return n1(na);var i=a.a;if(!t)return av(e+" is not permitted for this probe status");var o=$(e$,n,i);return o.$?av(nB(o.a)):n1(nr(o.a))},eb)}),fs=$(ey,function(e){return $(aB,R(fo,"location",e>=300&&e<=399,fi),$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),$(aB,$(ex,aG(U),R(fo,"substitute",401===e||403===e,cz(eb))),$(aB,n1(e),$(aB,cX("AuthProbeResult2"),$(aB,fa,n1(ft))))))))},$(ep,"status",fe)),fu=x(function(e,t,n,r){var a=$(eE,fs,n);if(a.$)return R(dF,e,nB(a.a),r);var i=a.a;if(!H(i.gd,na)||!sd(i.gQ))return R(dL,e,"IIIF Auth redirect, substitute, and tiered access flows are not supported.",r);if(200===i.dE)return R(d8,e,!H(t,na),r);var o=$(rH,e,r.e);if(o.$)return{a:r,b:U};var s=o.a;switch(s.aq){case 0:return{a:z(r,{e:R(r_,e,z(s,{aq:1}),r.e)}),b:q([$(d1,e,d3(s.o))])};case 2:return $(dx,q([$(dw,e,d3(s.o))]),R(d7,e,d9(i.dE),r));case 6:return $(dx,q([$(dw,e,d3(s.o))]),R(dF,e,d9(i.dE),r));default:return R(dB,e,d9(i.dE),r)}}),fc=C(function(e,t,n,r,a){if(!(n>=200)||!(n<300))return R(dP,e,"Image information request failed ("+el(n)+").",a);var i=$(eE,eb,r);return i.$?R(dP,e,nB(i.a),a):S(dG,e,t,nr(i.a),a)}),fl=x(function(e,t,n,r){var a=$(rH,e,r.v);if(a.$)return{a:r,b:U};if(a.a.$){var i=a.a,o=i.a,s=i.b,u=z(r,{v:$(rX,e,r.v)});return S(fu,o,s,n,u)}var c=a.a,l=c.a,d=c.b,u=z(r,{v:$(rX,e,r.v)});return d.$?M(fc,l,d.a,t,n,u):S(d0,l,t,n,u)}),fd=y(function(e,t,n){return R(uu,y(function(t,n,r){return $(e,t,r)}),t,n)}),ff=function(e){var t=e.dh;return 1===t.$?$(az,function(e){return e.ak},$(aN,aL,u9(dK(t.a)))):na},fh=function(e){return R(ni,y(function(e,t,n){return $(J,t,n)}),U,e)},fv=w(function(e,t){return d2($(an,function(t){return $(aN,function(n){return $(lk,n,e)?nr(t.f7):na},ff(t))},fh(t)))}),fb=w(function(e,t){var n=$(rH,e,t.ag);if(n.$)return{a:t,b:U};var r=n.a,a=$(fv,r.a5,t.ar),i=nu($(d6,r.c$,a));return{a:z(t,{ax:R(fd,rX,t.ax,r.a5),ag:$(rX,e,t.ag)}),b:G($(rc,dw(e),nu(r.a5)),q([{$:7,a:i}]))}}),fg=y(function(e,t,n){var r=$(rH,e,n.v);return r.$?{a:n,b:U}:r.a.$?R(dF,r.a.a,t,z(n,{v:$(rX,e,n.v)})):R(dP,r.a.a,t,z(n,{v:$(rX,e,n.v)}))}),fp={$:0},fm=y(function(e,t,n){var r=$(dz,$(dU,e,fp),n),a=r.a;return{a:r.b,b:q([S(d_,a,t.aM,na,!1)])}}),fw=y(function(e,t,n){var r=$(rH,t,n.ar);if(r.$)return{a:n,b:q([$(dM,e,"Unknown image source.")])};var a=r.a,i=z(n,{D:R(r_,e,{aF:na,b7:t},n.D)}),o=a.dh;switch(o.$){case 0:return a.aG?S(dG,e,!1,na,i):R(fm,e,a,i);case 1:var s=o.a;return sd(s.cS)?sd(s.c7)?a.aG?S(dG,e,!1,na,i):R(fm,e,a,i):R(dP,e,dZ(s.c7),i):S(dQ,e,s,na,i);default:return R(dP,e,o.a,i)}}),fy=R(eC,w(function(e,t){return{bl:e,eH:t}}),$(ep,"accessToken",eg),al(q([$(ex,nr,$(ep,"expiresAt",ev)),n1(na)]))),fx=x(function(e,t,n,r){var a={a:$(rH,e,r.e),b:n};if(a.a.$)return{a:r,b:U};if(a.b.$)return a.b,R(d7,e,"No cached token was found.",r);var i=a.a.a,o=$(e$,fy,a.b.a);if(o.$)return $(dx,q([$(dw,e,d3(i.o))]),R(d7,e,"The cached token is invalid.",r));var s=o.a;if(!$(aG,!0,$(az,function(e){return 0>_(t,e)},s.eH)))return $(dx,q([$(dw,e,d3(i.o))]),R(d7,e,"The cached token has expired.",r));var u=$(dz,$(dN,e,nr(s.bl)),r),c=u.a,l=u.b;return{a:z(l,{e:R(r_,e,z(i,{aq:2}),l.e)}),b:q([S(d_,c,i.o.cR.f7,nr(s.bl),!1)])}}),fC=x(function(e,t,n,r){return{$:3,a:e,b:t,c:n,d:r}}),fI=C(function(e,t,n,r,a){return{bl:n,k:e,f$:r,e0:a,g_:t}}),fA=$(ey,function(e){return e>0?n1(e):av("Expected a positive integer")},ef),fE=R(aP,"messageId",eg,$(aB,$(cZ,"expiresIn",fA),R(aP,"accessToken",eg,$(aB,cX("AuthAccessToken2"),$(aB,fa,n1(fI)))))),f$=I(function(e,t,n,r,a,i){return{k:e,dT:r,e0:i,d0:a,be:n,g_:t}}),fR=$(ey,function(e){switch(e){case"expiredAspect":return n1(4);case"invalidAspect":return n1(3);case"invalidOrigin":return n1(1);case"invalidRequest":return n1(0);case"missingAspect":return n1(2);case"unavailable":return n1(5);default:return av("Unsupported Auth 2 token error profile: "+e)}},eg),fS=R(aP,"messageId",eg,$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),R(aP,"profile",fR,$(aB,cX("AuthAccessTokenError2"),$(aB,fa,n1(f$))))))),fM=x(function(e,t,n,r){var a=$(rH,e,r.e);if(a.$)return{a:r,b:U};var i=a.a,o=$(e$,fE,n);if(o.$){var s=o.a;return $(e$,fS,n).$?$(dx,q([$(dw,e,d3(i.o))]),R(dF,e,nB(s),r)):$(dx,q([$(dw,e,d3(i.o))]),R(dF,e,"The token service refused access.",r))}var u=o.a,c=t+1e3*$(aG,300,u.f$),l=$(dz,$(dN,e,nr(u.bl)),r),d=l.a,f=l.b;return{a:z(f,{e:R(r_,e,z(i,{aq:6}),f.e)}),b:q([S(fC,e,d3(i.o),u.bl,c),S(d_,d,i.o.cR.f7,nr(u.bl),!1),dm(e)])}}),fP=w(function(e,t){if(t.di)return{a:t,b:U};switch(e.$){case 0:var n=e.a;return R(fw,n,e.b,t);case 1:var n=e.a;return $(dS,n,t);case 2:var r=e.a;return S(fl,r,e.b,e.c,t);case 3:var r=e.a,a=e.b;return R(fg,r,a,t);case 4:var i=e.a,o=e.b,s=e.c;return S(fx,i,o,s,t);case 5:var i=e.a;return H(t.aa,nr(i))?S(dO,i,function(e){return z(e,{aq:4})},z(t,{ah:na}),U):{a:t,b:U};case 6:var i=e.a;return H(t.aa,nr(i))?R(dB,i,"The sign-in window was blocked. Allow popups and retry.",t):{a:t,b:U};case 7:var i=e.a,u={a:t.aa,b:$(rH,i,t.e)};if(u.a.$||u.b.$)return{a:t,b:U};var c=u.a.a,l=u.b.a;if(H(c,i)){var d=i+"-"+el(l.aE+1);return S(dO,i,function(e){return z(e,{aq:5})},t,q([R(dy,i,l.o.c3.f7,d)]))}return{a:t,b:U};case 8:var i=e.a,o=e.b,s=e.c;return S(fM,i,o,s,t);case 9:var i=e.a,a=e.b;return $(dx,function(){var e=$(rH,i,t.e);if(e.$)return U;var n=e.a;return q([$(dw,i,d3(n.o))])}(),R(dF,i,a,t));case 10:var f=e.a;return $(fb,f,t);case 11:var f=e.a;return{a:z(t,{ag:R(rj,f,az(function(e){return z(e,{aw:nr("The logout window was blocked. Allow popups and try again.")})}),t.ag)}),b:U};case 12:return{a:t,b:U};case 13:var h=t.ah;if(!h.$)return R(dL,h.a.dl,"Authorization was cancelled.",t);return{a:t,b:U};default:var v=G($(rc,dp,ns(t.v)),$(rc,dm,ns(t.e)));return{a:z(t,{aa:na,ah:na,di:!0,e:rI,v:rI,D:rI,Z:U,ag:rI}),b:v}}}),fL=w(function(e,t){return z(t,{eJ:e(t.eJ)})}),fT=e3("zoomBy",ek),fk=w(function(e,t){return{a:e,b:fT(t)}}),fO=function(e){var t=e.B;return t||e._},fH=w(function(e,t){switch(e.$){case 0:var n=$(fP,e.a,t.dh),r=n.a,a=n.b;return{a:z(t,{dh:r}),b:eQ($(rc,dv,a))};case 1:var i=e.a,o=function(){switch(i){case"spread":return{a:1,b:!1};case"spread-shift":return{a:1,b:!0};default:return{a:0,b:!1}}}(),s=o.a,u=o.b;return{a:z(t,{b3:u,cd:s}),b:lL($(cx,s,u))};case 2:var c=e.a,l=e.b;return{a:z(t,{dW:!0,X:!0,bd:nr(c)}),b:R(sM,$(uO,c,l),t.av,l)};case 3:var d=e.a;return{a:z(t,{dm:d}),b:lI};case 4:var f=e.a;return R(l$,!1,f,t);case 5:var f=e.a;return R(l$,!0,f,t);case 6:return{a:z(t,{bi:!1}),b:lI};case 7:var h=e.a,v=e.b,b=t.H;if(2===b.$){var g=b.a,p=$(lO,h,g.al);if(v.$)return{a:z(t,{H:uP(z(g,{al:p}))}),b:lI};var m=v.a;if(1===m.$){var w=m.a.b,y=g.u,x=y.a,C=y.b,I=z(g,{u:$(am,x,R(lH,h,w,C)),cJ:$(lP,h,g.cJ),al:p});return{a:z(t,{H:uP(I)}),b:lI}}return{a:z(t,{H:uP(z(g,{al:p}))}),b:lI}}return{a:t,b:lI};case 8:var A=e.a,v=e.b,E=t.H;if(2===E.$){var g=E.a;if(H(g.dA,nr(A)))if(v.$){var M=v.a;return{a:z(t,{X:!1,b0:{$:3,a:lM(M)}}),b:lI}}else{var P=v.a;return S(lm,"collection-"+A,na,t,P)};}return{a:t,b:lI};case 9:var v=e.a;if(t.dW)return{a:t,b:lI};if(v.$){var M=v.a;return{a:z(t,{X:!1,H:{$:3,a:lM(M)}}),b:dr({ac:lM(M),fl:"initial",aM:t.ba})}}var m=v.a;switch(m.$){case 0:var P=m.a,L=S(lm,"initial",nr(t.cG),t,P),T=L.a,k=L.b;return{a:z(T,{a3:!1,H:uL(P)}),b:eQ(q([k,da({cA:!sd(T.ap),cO:$(aG,0,T.R),fl:"initial",aM:t.ba})]))};case 1:var O=m.a,V=O.a,B=O.b;return{a:z(t,{dh:rE,a3:!0,X:!1,ap:U,H:uP({u:$(am,V,B),bL:rI,cJ:rI,al:rI,dA:na}),b0:uM,R:na}),b:eQ(q([u5("initial"),da({cA:!1,cO:0,fl:"initial",aM:t.ba})]))};default:return{a:z(t,{X:!1}),b:dr({ac:"URL did not return a supported IIIF resource.",fl:"initial",aM:t.ba})}}case 10:var c=e.a,l=e.b,v=e.c;if(H(t.bd,nr(c)))if(v.$){var M=v.a;return{a:z(t,{X:!1,bd:na}),b:dr({ac:lM(M),fl:c,aM:l})}}else{var m=v.a;switch(m.$){case 0:var P=m.a,F=S(lm,c,na,t,P),T=F.a,k=F.b;return{a:z(T,{a3:!1,ba:l,bd:na,H:uL(P)}),b:eQ(q([k,da({cA:!sd(T.ap),cO:0,fl:c,aM:l})]))};case 1:var N=m.a,V=N.a,B=N.b;return{a:z(t,{dh:rE,a3:!0,X:!1,ba:l,ap:U,bd:na,H:uP({u:$(am,V,B),bL:rI,cJ:rI,al:rI,dA:na}),b0:uM,R:na}),b:eQ(q([u5(c),da({cA:!1,cO:0,fl:c,aM:l})]))};default:return{a:z(t,{X:!1,bd:na}),b:dr({ac:"URL did not return a supported IIIF resource.",fl:c,aM:l})}}}return{a:t,b:lI};case 11:var D=co(t.cu);if(D.$){var M=D.a;return{a:z(t,{bN:nr(M)}),b:lI}}var J=D.a,X=cd(J),T=z(t,{eJ:J,bN:na,cu:X});return{a:T,b:lE(T)};case 12:var j,W=e.a,Z=(j=t.$7).$?nr(W):nr(j.a);return{a:z(t,{dO:nr(W),$7:Z}),b:lI};case 13:return{a:z(t,{dZ:!1}),b:lI};case 14:var T=z(t,{eJ:sP,ds:!1,aJ:0,cP:!1});return{a:T,b:u1(na)};case 15:var h=e.a,Y=t.H;if(2===Y.$){var g=Y.a,K=$(lk,h,g.bL)?$(lO,h,g.bL):$(lP,h,g.bL),C=g.u.b,Q=$(aG,!0,$(az,$(rW,function(e){return e.aH},sd),$(cf,h,C)))&&!$(lk,h,g.cJ)&&!$(lk,h,g.al),p=Q?$(lP,h,g.al):g.al,I=z(g,{bL:K,al:p});return{a:z(t,{H:uP(I)}),b:Q?R(sM,uT(h),t.av,h):lI}}return{a:t,b:lI};case 16:var A=e.a,ee=e.b,et=t.H;if(2===et.$){var g=et.a;return{a:z(t,{X:!0,H:uP(z(g,{dA:nr(A)})),b0:rp}),b:R(dt,uk(A),t.av,ee)}}return{a:t,b:lI};case 17:return{a:z(t,{dZ:!0}),b:lI};case 18:var T=z(t,{aJ:0,cP:!0,dt:!0,B:fO(t)});return{a:T,b:lE(T)};case 19:var f=e.a,T=z(t,{aJ:f});return{a:T,b:lE(T)};case 20:return $(lS,1,t);case 21:return $(lS,-1,t);case 22:var en=e.a,er=en.$?lI:lR(en.a),T=z(t,{cQ:en,R:en.$?t.R:nr(en.a),B:fO(t),bi:!0});return{a:T,b:eQ(q([er,lE(T)]))};case 23:return{a:t,b:db(0)};case 24:var f=e.a,T=z(t,{aJ:0,R:nr(f),B:fO(t),bi:!1});return{a:T,b:eQ(q([lR(f),$(lA,1===T.B,f),lE(T)]))};case 25:return $(fk,t,1.6);case 26:return $(fk,t,.625);case 27:var X=cd(t.eJ);return{a:z(t,{bN:na,cu:X}),b:u8(X)};case 28:var ea=e.a,ei=t.co;if(ei.$)return{a:t,b:lI};var eo=ei.a,es=R(rx,240,480,eo.dC+(ea-eo.dD));return{a:z(t,{dL:es}),b:lI};case 29:var ea=e.a,eu=t.cX;if(eu.$)return{a:t,b:lI};var eo=eu.a,ec=eo.dD-ea,es=R(rx,220,520,eo.dC+ec);return{a:z(t,{b4:es}),b:lI};case 30:return{a:z(t,{co:na}),b:lI};case 31:return{a:z(t,{cX:na}),b:lI};case 32:var T=z(t,{eJ:sP,bN:na});return{a:T,b:lE(T)};case 33:var T=$(fL,dn,t);return{a:T,b:lE(T)};case 34:return{a:z(t,{dN:0}),b:lI};case 35:return{a:z(t,{dN:1}),b:lI};case 36:var ea=e.a;return{a:z(t,{co:nr({dC:t.dL,dD:ea})}),b:lI};case 37:var ea=e.a;return{a:z(t,{cX:nr({dC:t.b4,dD:ea})}),b:lI};case 38:return{a:z(t,{_:3,B:3}),b:lI};case 39:if(2===t.H.$)return{a:z(t,{a3:!t.a3}),b:lI};return{a:t,b:lI};case 40:var el=e.a,d=e.b,T=$(fL,$(uD,el,d),t);return{a:T,b:lE(T)};case 41:var ed=e.a,ef=$(lk,ed,t.ct)?$(lO,ed,t.ct):$(lP,ed,t.ct);return{a:z(t,{ct:ef}),b:lI};case 42:var eh=!t.dm;return{a:z(t,{dm:eh}),b:dg(eh)};case 43:return{a:z(t,{_:2,B:2}),b:lI};case 44:return{a:z(t,{ds:!t.ds}),b:lI};case 45:return{a:z(t,{dt:!t.dt}),b:lI};case 46:var ev=e.a;return{a:z(t,{ea:H(t.ea,nr(ev))?na:nr(ev)}),b:lI};case 47:if(t.cd){var u=!t.b3;return{a:z(t,{b3:u}),b:lL($(cx,1,u))}}return{a:t,b:lI};case 48:return t.dp?t.bS?{a:z(t,{bS:!1,B:0}),b:lI}:{a:z(t,{bS:!0,B:t._}),b:lI}:t.B?{a:z(t,{B:0}),b:lI}:{a:z(t,{B:t._}),b:lI};case 49:var eb=function(){var e={a:t.cQ,b:t.R};if(e.a.$)if(e.b.$)return lI;else{e.a;var n=e.b.a;return $(lA,!0,n)}var n=e.a.a;return $(lA,!0,n)}(),T=z(t,{_:1,B:1});return{a:z(T,{cQ:na,bi:!t.cQ.$}),b:eb};case 50:var eg=+!t.cd;return{a:z(t,{cd:eg}),b:lL($(cx,eg,t.b3))};case 51:var ep=e.a,em=e.b,T=$(fL,$(uq,ep,em),t);return{a:T,b:lE(T)};case 52:var ew=e.a,em=e.b,T=$(fL,$(uZ,ew,em),t);return{a:T,b:lE(T)};case 53:var em=e.a;return{a:z(t,{bN:na,cu:em}),b:lI};case 54:var ey=e.a,em=e.b,T=$(fL,$(uQ,ey,em),t);return{a:T,b:lE(T)};case 55:return{a:z(t,{X:e.a}),b:lI};case 56:var T=1>_(e.a,720)?z(t,{dp:!0,bS:!1,B:0}):z(t,{dp:!1,bS:!1});return{a:T,b:lI};case 57:var f=e.a,ex=$(cv,f,t.ap);if(!ex.$)return $(l9,ex.a.M,t);return{a:t,b:lI};case 58:var eC=e.a,v=e.b,T=z(t,{a1:$(lO,eC,t.a1)});if(v.$)return{a:T,b:lI};var eI=G(v.a,$(aG,U,$(rH,eC,T.aC)));return{a:z(T,{aC:R(r_,eC,eI,T.aC)}),b:uG({de:$(rc,cc($(u_,eC,T)),eI),M:eC})};default:return{a:z(t,{df:!t.df}),b:uU(!t.df)}}}),fV=w(function(e,t){return $(tC,e,ek(t))}),fB=fV("className"),fF=function(e){return fB($(nm," ",$(rc,nW,$(iR,la,e))))},f_=tf("div"),fN=fV("id"),fz=cb(function(e){return e.dX}),fG=cb(function(e){return e.fm}),fU={$:13},fD=w(function(e,t){return $(tI,t$.test(e)?"data-"+e:e,tM(t))}),fJ=tf("button"),fq=tf("h2"),fX=w(function(e,t){return $(ty,e,{$:0,a:t})}),fj=function(e){return $(fX,"click",n1(e))},fW=tf("p"),fZ=fV("type"),fY=w(function(e,t){var n=w(function(t,n){return $(aG,n,$(az,cA(e.ey),t))}),r=$(aG,$(n,t.d0,"Sign in to view this image."),t.aw);return $(f_,q([fB("diva-auth-overlay"),$(fD,"role","dialog"),$(fD,"aria-modal","true")]),q([$(f_,q([fB("diva-auth-dialog")]),q([$(fq,U,q([tl($(n,t.dT,"Sign in required"))])),$(fW,U,q([tl(r)])),$(fJ,q([fZ("button"),$(fD,"data-diva-auth-flow",t.dl),$(fD,"data-diva-auth-url",t.el)]),q([tl(H(t.aw,na)?$(n,t.dM,"Sign in"):"Retry")])),$(fJ,q([fZ("button"),fj(sk(fU))]),q([tl("Cancel")]))]))]))}),fK=function(e){return tf(tE.test(e)?"p":e)},fQ=tl(""),f0=w(function(e,t){return t?e:fQ}),f1=w(function(e,t){return t.$?fQ:e(t.a)}),f2=(s=q([.2,.3,.4,.1,.2,.3,0,.1,.2]),$(f_,q([fB("diva-throbber-overlay")]),q([$(f_,q([fB("diva-throbber")]),$(rc,function(e){return $(f_,q([fB("diva-throbber-cube"),$(tx,"animation-delay",el(e)+"s")]),U)},s))]))),f4=function(e){var t=e.a,n=e.b,r=e.c;return $(f_,q([fB("diva-viewer-status-overlay")]),q([$(f_,q([fB("diva-modal is-narrow")]),q([$(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title")]),q([tl(t)]))])),$(f_,q([fB("diva-modal-body is-no-sidebar")]),q([$(f_,q([fF(q([{a:"diva-status",b:!0},{a:"is-error",b:r}]))]),q([tl(n)]))]))]))]))},f3=function(e){return $(f_,q([fB("diva-viewer-zoom-indicator")]),q([tl(e)]))},f6=C(function(e,t,n,r,a){return $(f_,q([fB("diva-canvas-wrapper")]),q([R(fK,"osd-viewer",q([fF(q([{a:"diva-canvas",b:!0},{a:"is-fullscreen",b:e},{a:"has-collection",b:n}])),fN("main-viewer")]),U),$(f0,f2,t),$(f1,f4,r),$(f1,f3,a)]))}),f5=function(e){return{$:36,a:e}},f8=tf("li"),f7=tf("ul"),f9=w(function(e,t){return{$:16,a:e,b:t}}),he=y(function(e,t,n){var r=$(cA,e,n.dX);return $(f8,U,q([$(fJ,q([fF(q([{a:"diva-manifest-tree-item",b:!0},{a:"diva-ui-button",b:!0},{a:"is-active",b:H(t.dA,nr(n.f7))}])),fZ("button"),fj($(f9,n.f7,n.f7))]),q([tl(r)]))]))}),ht=y(function(e,t,n){return n.$?R(he,e,t,n.a):R(hr,e,t,n.a)}),hn=y(function(e,t,n){return $(f7,q([fB("diva-collection-list diva-list-reset")]),$(rc,R(tg,ht,e,t),n))}),hr=y(function(e,t,n){var r=$(cA,e,n.dX),a=$(lk,n.f7,t.bL),i=function(){if(!a)return U;var r=$(lk,n.f7,t.al)?q([$(f_,q([fB("diva-contents-empty")]),q([tl("Loading…")]))]):U;return $(J,R(hn,e,t,n.aH),r)}();return $(f8,q([fB("diva-collection-tree-item")]),$(J,$(fJ,q([fB("diva-collection-node-button diva-ui-button"),fZ("button"),fj({$:15,a:n.f7})]),q([$(f_,q([fB("diva-collection-expand-icon")]),q([tl(a?"▼":"▶")])),tl(r)])),i))}),ha=w(function(e,t){var n=t.u.b,r=$(cA,e.ey,n.dX);return $(f_,q([fF(q([{a:"diva-collection-panel",b:!0},{a:"is-fullscreen",b:e.dm},{a:"is-hidden",b:!e.a3}])),$(tx,"width",e.a3?el(e.dL)+"px":"0px")]),q([$(f_,q([fB("diva-collection-header")]),q([$(f_,q([fB("diva-collection-title")]),q([tl(r)])),$(f1,function(t){return $(f_,q([fB("diva-collection-summary")]),q([tl($(cA,e.ey,t))]))},n.gR)])),$(f_,q([fB("diva-sidebar-content")]),q([$(f_,q([fB("diva-sidebar-pane is-scroll")]),q([R(hn,e.ey,t,n.aH)]))]))]))}),hi=function(e){var t=e.H;return 2===t.$?$(ha,e,t.a):fQ},ho=tf("a"),hs=function(e){return $(fV,"href",tR.test(e)?"":e)},hu=function(e){switch(e.$){case 0:return e.a;case 1:return"none";default:return"default"}},hc=tI("rel"),hl=function(e){return{$:0,a:e}},hd=y(function(e,t,n){return{$:1,a:e,b:t,c:n}}),hf=w(function(e,t){var n=t.ad;if(!n.b)return z(t,{cV:$(J,e,t.cV)});var r=n.a,a=n.b;return z(t,{ad:$(J,z(r,{cn:$(J,e,r.cn)}),a)})}),hh=function(e){var t=e.ad;if(!t.b)return e;var n=t.a,r=t.b;return $(hf,R(hd,n.cK,n.dJ,nO(n.cn)),z(e,{ad:r}))},hv=w(function(e,t){for(;;){var n=t.ad;if(!n.b)return t;var r=n.a,a=hh(t);if(H(r.cK,e))return a;t=a}}),hb=w(function(e,t){switch(e.$){case 0:var n,r=e.a,a=e.b;return e.c||"br"===(n=r)||"img"===n?$(hf,R(hd,r,a,U),t):z(t,{ad:$(J,{dJ:a,cn:U,cK:r},t.ad)});case 1:var r=e.a;return $(ad,function(e){return H(e.cK,r)},t.ad)?$(hv,r,t):t;default:var i=e.a;return n7(i)?t:$(hf,hl(i),t)}}),hg=function(e){for(;;){if(!e.ad.b)return e;e=hh(e)}},hp=function(e){return{$:1,a:e}},hm=function(e){return{$:0,a:e}},hw=w(function(e,t){return{$:1,a:e,b:t}}),hy=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),hx=w(function(e,t){return{$:1,a:e,b:t}}),hC=x(function(e,t,n,r){return{dK:t,fU:r,d6:n,d9:e}}),hI={$:0},hA=w(function(e,t){return $(hx,hI,S(hC,e.d9,e.dK,t,e.k))});var hE=(u={$:10},function(e){return H(n5(e.d),e.h)?R(hy,!1,0,e):$(hw,!1,$(hA,e,u))}),h$=w(function(e,t){return function(n){var r=t(n);if(r.$){var a=r.a;return $(hw,a,r.b)}var a=r.a,i=r.b,o=r.c;return R(hy,a,e(i),o)}}),hR=w(function(e,t){return{$:2,a:e,b:t}}),hS=y(function(e,t,n){for(;;)if(!n.b)return $(hw,!1,t);else{var r=n.a,a=n.b,i=r(e);if(i.$){var o=i,s=o.a,u=o.b;if(s)return o;var c=e,l=$(hR,t,u);e=c,t=l,n=a;continue}var o=i;return o}}),hM=function(e){return function(t){return R(hS,t,hI,e)}},hP=function(e){return{$:2,a:e}},hL=function(e){return function(t){var n=e(t);return 1===n.$?$(hw,!1,n.b):R(hy,!1,n.b,n.c)}},hT=x(function(e,t,n,r){return $(hx,hI,S(hC,e,t,n,r))}),hk=w(function(e,t){return{$:0,a:e,b:t}}),hO=y(function(e,t,n){return function(r){var a=t(r);if(1===a.$){var i=a.a,o=a.b;return $(hw,i,o)}var s=a.a,u=a.b,c=n(a.c);if(1===c.$){var l=c.a,o=c.b;return $(hw,s||l,o)}var l=c.a,d=c.b,f=c.c;return R(hy,s||l,$(e,u,d),f)}}),hH=w(function(e,t){return R(hO,uY,e,t)}),hV=function(e){return function(t){return R(hy,!1,e,t)}},hB=function(e){var t=e.a,n=e.b,r=!n7(t);return function(e){var a=M(ne,t,e.h,e.d9,e.dK,e.d),i=a.a,o=a.b,s=a.c;return H(i,-1)?$(hw,!1,$(hA,e,n)):R(hy,r,0,{dK:s,k:e.k,p:e.p,h:i,d9:o,d:e.d})}},hF=function(e){return hB($(hk,e,{$:8,a:e}))},h_=$(hH,$(hH,hV(hP("")),hF("\x3c!--")),(t=(e=$(hk,"--\x3e",{$:0,a:"--\x3e"})).a,n=e.b,function(e){var r=M(nn,t,e.h,e.d9,e.dK,e.d),a=r.a,i=r.b,o=r.c;return H(a,-1)?$(hw,!1,S(hT,i,o,n,e.k)):R(hy,0>_(e.h,a),0,{dK:o,k:e.k,p:e.p,h:a,d9:i,d:e.d})})),hN=w(function(e,t){return R(hO,nJ,e,t)}),hz={$:11},hG=w(function(e,t){return function(n){var r=R(nt,e,n.h,n.d);return H(r,-1)?$(hw,!1,$(hA,n,t)):H(r,-2)?R(hy,!0,0,{dK:1,k:n.k,p:n.p,h:n.h+1,d9:n.d9+1,d:n.d}):R(hy,!0,0,{dK:n.dK+1,k:n.k,p:n.p,h:r,d9:n.d9,d:n.d})}}),hU=function(e){return $(hG,e,hz)},hD=C(function(e,t,n,r,a){for(;;){var i=R(nt,e,t,a.d);if(H(i,-1))return R(hy,0>_(a.h,t),0,{dK:r,k:a.k,p:a.p,h:t,d9:n,d:a.d});if(H(i,-2)){var o=e,s=t+1,u=n+1,c=1,l=a;e=o,t=s,n=u,r=c,a=l;continue}var o=e,s=i,u=n,c=r+1,l=a;e=o,t=s,n=u,r=c,a=l}}),hJ=function(e){return function(t){return M(hD,e,t.h,t.d9,t.dK,t)}},hq=function(e){return $(hH,$(hH,hV(0),hU(e)),hJ(e))},hX=w(function(e,t){return function(n){var r=t(n);if(1===r.$){var a=r.a;return $(hw,a,r.b)}var a=r.a,i=r.b,o=r.c;return R(hy,a,$(e,R(ea,n.h,o.h,n.d),i),o)}}),hj=function(e){return $(hX,uY,e)},hW=$(h$,lc,hj(hq(function(e){return nP(e)||nT(e)||"-"===e}))),hZ=function(e){return $(iF,e,q([" "," ","\n","\r","\f"]))},hY=hJ(hZ),hK=$(hN,$(hH,hV(function(e){return{$:1,a:e}}),hF(""))),hQ=w(function(e,t){return function(n){var r=t(n);if(1===r.$){var a=r.a,i=r.b;return $(hw,a,i)}var o=r.a,s=r.b,u=r.c,c=e(s)(u);if(1===c.$){var l=c.a,i=c.b;return $(hw,o||l,i)}var l=c.a;return R(hy,o||l,c.b,c.c)}}),h0=x(function(e,t,n,r){for(;;){var a=n(t)(r);if(a.$){var i=a.a;return $(hw,e||i,a.b)}var i=a.a,o=a.b,s=a.c;if(o.$)return R(hy,e||i,o.a,s);var u=o.a,c=n;e=e||i,t=u,n=c,r=s}}),h1=w(function(e,t){return function(n){return S(h0,!1,e,t,n)}}),h2=function(e){return e.$?{$:1,a:e.a}:{$:0,a:e.a}},h4=w(function(e,t){return $(h1,e,function(e){return $(h$,h2,t(e))})}),h3=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),h6=function(e){return $(hN,$(hH,hV(n4),hU(B(e))),$(hH,hj(hJ(F(e))),hU(B(e))))},h5=hM(q([h6('"'),h6("'"),hj(hq(function(e){return!(hZ(e)||">"===e||"/"===e)}))])),h8=function(e){var t;return e>=0&&e<=1114111?nr(cs((t=e)<0||1114111="0"&&e<="9"?nr(nL(e)-nL("0")):e>="a"&&e<="f"?nr(10+nL(e)-nL("a")):e>="A"&&e<="F"?nr(10+nL(e)-nL("A")):na};return n.a.$||n.b.$?na:nr(16*n.a.a+n.b.a)}),h9=function(e){var t;return $(es,"#x",e)||$(es,"#X",e)?$(aN,h8,n7(t=$(n8,2,e))?na:R(nx,h7,nr(0),ck(t))):$(es,"#",e)?$(aN,h8,re($(n8,1,e))):na},ve=function(e){switch(e){case"amp":return nr("&");case"apos":return nr("'");case"copy":return nr("©");case"gt":return nr(">");case"hellip":return nr("…");case"lt":return nr("<");case"mdash":return nr("—");case"nbsp":return nr(" ");case"ndash":return nr("–");case"quot":return nr('"');case"reg":return nr("®");default:return h9(e)}},vt=function(e){var t=$(nw,";",e);if(!t.b||!t.b.b)return"&"+e;var n=t.a,r=t.b,a=r.a,i=r.b;return $(aG,"&"+e,$(az,function(e){return G(e,$(nm,";",$(J,a,i)))},ve(n)))},vn=function(e){var t=$(nw,"&",e);if(!t.b)return e;var n=t.a,r=t.b;return R(nx,w(function(e,t){return G(t,vt(e))}),n,r)},vr=$(hQ,function(e){return $(hN,$(hH,hV(function(t){return{a:e,b:vn(t)}}),hY),hM(q([$(hN,$(hH,$(hH,hV(n4),hF("=")),hY),h5),hV("")])))},$(h$,lc,hj(hq(function(e){return!(hZ(e)||"="===e||">"===e||"/"===e)})))),va=$(hH,$(hH,hV(0),hU(hZ)),hJ(hZ)),vi=w(function(e,t){return hM(q([$(h$,function(n){return hp(R(h3,e,nO(t),!0))},hF("/>")),$(h$,function(n){return hp(R(h3,e,nO(t),!1))},hF(">")),$(h$,function(e){return hm(t)},va),$(h$,function(e){return hm($(J,e,t))},vr)]))}),vo=hM(q([hK,$(hQ,function(e){return $(h4,U,vi(e))},$(hN,$(hH,hV(n4),hF("<")),hW))])),vs=$(h$,$(rW,vn,hP),hj(hq(F("<")))),vu=hM(q([hL(h_),$(h$,function(e){return hP("")},hF("--\x3e")),hL(vo),vs,$(h$,function(e){return hP("<")},hF("<"))])),vc=$(h4,U,function(e){return hM(q([$(h$,function(t){return hp(nO(e))},hE),$(h$,function(t){return hm($(J,t,e))},vu)]))}),vl={ad:U,cV:U},vd=y(function(e,t,n){return{dK:t,d6:n,d9:e}}),vf=function(e){return R(vd,e.d9,e.dK,e.d6)},vh=w(function(e,t){for(;;)switch(e.$){case 0:return t;case 1:var n=e.a,r=e.b,a=n,i=$(J,r,t);e=a,t=i;continue;default:var n=e.a,o=e.b,a=n,i=$(vh,o,t);e=a,t=i;continue}}),vv=w(function(e,t){var n=e({dK:1,k:U,p:1,h:0,d9:1,d:t});return n.$?nf($(vh,n.b,U)):ng(n.b)}),vb=w(function(e,t){var n=$(vv,e,t);return n.$?nf($(rc,vf,n.a)):ng(n.a)}),vg=function(e){var t=lc(e.trim());return $(es,"https://",t)||$(es,"http://",t)||$(es,"mailto:",t)||$(es,"tel:",t)||$(es,"/",t)||$(es,"./",t)||$(es,"../",t)||$(es,"#",t)||$(es,"?",t)||!$(eo,":",t)},vp=function(e){var t=e.a,n=e.b;return"href"===t&&vg(n)?nr({a:t,b:n}):na},vm=w(function(e,t){switch(e){case"a":return G($(an,vp,t),q([{a:"target",b:"_blank"},{a:"rel",b:"noopener noreferrer"}]));case"img":return $(iR,function(e){var t=e.a;return"src"===t||"alt"===t},t);default:return U}}),vw=function(e){if(!e.$)return q([hl(e.a)]);var t=e.a,n=e.b,r=vy(e.c);return $(iF,t,q(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]))?q([R(hd,t,$(vm,t,n),r)]):r},vy=function(e){return $(iP,vw,e)},vx=function(e){var t=$(vb,vc,e);return t.$?q([hl(e)]):vy(nO(hg(R(nx,hb,vl,t.a)).cV))},vC=function(e){return $(fD,e.a,e.b)},vI=function(e){if(!e.$)return tl(e.a);var t=e.a,n=e.b,r=e.c;return R(fK,t,$(rc,vC,n),$(rc,vI,r))},vA=function(e){return $(rc,vI,vx(e))},vE=fV("target"),v$=function(e){switch(e){case 0:return"Left to Right";case 1:return"Right to Left";case 2:return"Top to Bottom";default:return"Bottom to Top"}},vR=function(e){switch(e){case 0:return"Auto-advance";case 1:return"No auto-advance";case 2:return"Repeat";case 3:return"No repeat";case 4:return"Unordered";case 5:return"Individuals";case 6:return"Continuous";case 7:return"Paged";case 8:return"Facing pages";case 9:return"Non-paged";case 10:return"Multi-part";case 11:return"Together";case 12:return"Sequence";case 13:return"Thumbnail nav";case 14:return"No nav";default:return"Hidden"}},vS=function(e){switch(e){case 0:return"Paged";case 1:return"Individuals";case 2:return"Continuous";case 3:return"Multi-part";case 4:return"Non-paged";case 5:return"Top";default:return"Facing pages"}},vM=function(e){if(!e.$)return"Hint: "+vS(e.a);var t=e.a;return sd(t)?"Behavior: None":"Behavior: "+$(nm,", ",$(rc,vR,t))},vP=w(function(e,t){var n=el($(aG,0,$(az,nC,lh(t)))),r=function(){var t=e.H;switch(t.$){case 1:default:return e.ba;case 2:var n=t.a;return $(aG,e.ba,n.dA)}}(),a=el(nC(cg(t))),i=t.a,o=t.b,s=$(aG,"None",$(az,cA(e.ey),o.gR)),u=v$(o.g1),c=vM(o.g2),l=function(){switch(i){case 0:return"IIIF v1";case 1:return"IIIF v2";default:return"IIIF v3"}}();return $(J,{a:"Manifest URL",b:$(ho,q([hs(r),vE("_blank"),hc("noopener noreferrer")]),q([tl(r)]))},G(sd(e.av)?U:q([{a:"Accept Headers",b:tl($(nm,", ",e.av))}]),q([{a:"Detected User Language",b:tl(hu(e.ey))},{a:"IIIF Version",b:tl(l)},{a:"Viewing Hint / Behavior",b:tl(c)},{a:"Viewing Direction",b:tl(u)},{a:"Summary",b:"None"===s?tl(s):$(f_,U,vA(s))},{a:"Canvases",b:tl(a)},{a:"Ranges",b:tl(n)}])))}),vL=fV("alt"),vT=tf("img"),vk=function(e){var t=$(aN,aL,e.ft);if(t.$)return nr(e.f7);var n=t.a;return $(az,$(rW,cB(im(256)),cV),iO(n.f7))},vO=function(e){return $(fV,"src",tM(e))},vH=cb(function(e){return e.ge}),vV=cb(function(e){return e.ff}),vB=w(function(e,t){var n=function(){var e=$(aN,aL,vV(t));if(e.$)return{a:na,b:$(aN,aL,ld(t))};var n=e.a;return{a:$(aN,aL,n.ge),b:$(aN,aL,n.f6)}}(),r=n.a,a=n.b,i=r.$?$(az,$(rW,function(e){return e.f7},$(rW,cB(im(256)),cV)),vH(t)):vk(r.a);return H(i,na)&&H(a,na)?fQ:$(f_,U,q([$(f1,function(e){return $(vT,q([fB("diva-manifest-info-logo"),vO(e),vL("Manifest logo")]),U)},i),$(f1,function(t){var n=$(cA,e,t.dX);return $(ho,q([hs(t.f7),vE("_blank"),hc("noopener noreferrer")]),q([tl(n)]))},a)]))}),vF=function(e){var t=e.a,n=e.b;return $(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl(t)])),$(f_,q([fB("diva-metadata-value")]),q([n]))]))},v_=w(function(e,t){var n=$(aG,q([{a:"Manifest",b:tl("Not loaded")}]),$(az,vP(e),t)),r=$(f1,vB(e.ey),t);return $(f_,q([fB("diva-modal-body is-two-column")]),q([$(f_,q([fB("diva-metadata-body")]),$(rc,vF,n)),$(f_,q([fB("diva-manifest-info-logo-wrap")]),q([r]))]))}),vN={$:13},vz=tI("d"),vG=tI("fill"),vU=tI("height"),vD=td("http://www.w3.org/2000/svg"),vJ=vD("path"),vq=vD("svg"),vX=tI("viewBox"),vj=tI("width"),vW=function(e){return $(vq,q([vX(e.t),vj("100%"),vU("100%"),vG("currentColor")]),q([$(vJ,q([vz(e.s)]),U)]))},vZ=vW({s:"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z",t:"0 0 512 512"}),vY=w(function(e,t){return $(tC,e,ek(t))}),vK=vY("disabled"),vQ=w(function(e,t){var n,r,a=(n=q([fF(q([{a:"diva-canvas-toolbar-button",b:!0},{a:"is-disabled",b:H(t.d3,na)},{a:"is-fullscreen",b:t.eY}])),fZ("button"),$(fD,"aria-label",t.dX)]),(r=t.d3).$?$(J,vK(!0),G(e,n)):$(J,fj(r.a),G(e,n)));return $(f_,q([fB("diva-canvas-toolbar-item"),$(fD,"data-tooltip",t.dX)]),q([$(fJ,a,q([t.eS]))]))}),v0=function(e){return $(vQ,U,e)},v1=function(e){var t=e.dm;return $(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title")]),q([tl("Manifest Info")])),$(f_,q([fB("diva-modal-actions")]),q([$(f_,q([fB("diva-modal-close-action")]),q([v0({eS:vZ,eY:t,dX:"Close",d3:nr(vN)})]))]))]))},v2=tf("h1"),v4=y(function(e,t,n){return e&&!n7(n)?$(v2,q([fF(q([{a:"diva-app-title",b:!0},{a:"is-fullscreen",b:t}]))]),q([tl(n)])):fQ}),v3=tf("span"),v6=w(function(e,t){var n=$(rH,e,t.ar);if(n.$)return na;var r=n.a;return uF(r.dh)?$(az,function(e){return e?"use-credentials":"anonymous"},$(aN,function(e){return $(rH,e,t.ax)},ff(r))):nr("anonymous")}),v5=x(function(e,t,n,r){return $(fJ,q([fF(q([{a:"diva-page-view-choice",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:H(n,t)}])),fZ("button"),fj({$:19,a:n})]),q([function(){var t=$(v6,r.b7,e);if(t.$)return $(f_,q([fB("diva-page-view-choice-thumb diva-page-view-choice-thumb--protected"),$(fD,"aria-label","Protected image")]),U);var n=t.a;return $(vT,q([fB("diva-page-view-choice-thumb"),vO(r.bh),vL(r.dX),$(fD,"loading","lazy"),$(fD,"crossorigin",n)]),U)}(),$(v3,q([fB("diva-page-view-choice-label")]),q([tl(r.dX)]))]))}),v8=y(function(e,t,n){return $(f_,q([fB("diva-page-view-choices")]),$(nE,w(function(t,r){return M(tp,v5,e,n,t,r)}),t))}),v7={$:33},v9=w(function(e,t){return{$:52,a:e,b:t}}),be=tf("input"),bt=fV("max"),bn=fV("min"),br=function(e){return{a:e,b:!0}},ba=w(function(e,t){return $(ty,e,{$:1,a:t})}),bi=$(ak,q(["target","value"]),eg),bo=function(e){return $(ba,"input",$(ex,br,$(ex,e,bi)))},bs=fV("value"),bu=C(function(e,t,n,r,a){var i=q([fZ("range"),bn(e),bt(t),bs(r),bo(a)]),o=n.$?i:$(J,$(fV,"step",n.a),i);return $(be,$(J,fB("diva-filter-range-input"),o),U)}),bc=function(e){return $(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(v3,q([fB("diva-filter-label")]),q([tl(e.dX)])),$(v3,q([fB("diva-filter-value")]),q([tl(e.l)]))])),M(bu,e.g,e.f,e.n,e.fG,e.m)]))},bl=w(function(e,t){return{$:40,a:e,b:t}}),bd=vY("checked"),bf=tf("label"),bh=$(ak,q(["target","checked"]),eh),bv=function(e){return $(fX,"change",$(ex,e,bh))},bb=function(e){return $(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(bf,q([fB("diva-filter-toggle is-inline")]),q([$(be,q([fZ("checkbox"),bd(e.x),bv(bl(e.A))]),U),tl(e.dX)])),$(v3,q([fB("diva-filter-value")]),q([tl(e.l)]))])),M(bu,e.g,e.f,e.n,e.fG,e.m)]))},bg=w(function(e,t){return q([bb({x:t.cw,l:el(t.bO),dX:e+" Gamma",f:"100",g:"0",m:v9(t.cx),A:t.cy,n:nr("1"),fG:el(t.bO)}),bb({x:t.cY,l:el(t.b5),dX:e+" Sigmoid",f:"100",g:"0",m:v9(t.cZ),A:t.c_,n:nr("1"),fG:el(t.b5)}),bb({x:t.cB,l:el(t.bP),dX:e+" Hue Boost",f:"100",g:"-100",m:v9(t.cC),A:t.cD,n:nr("1"),fG:el(t.bP)}),bc({l:el(t.bQ),dX:e+" Hue Window",f:"30",g:"2",m:v9(t.cE),n:nr("1"),fG:el(t.bQ)}),bb({x:t.c8,l:el(t.cc),dX:e+" Vibrance",f:"100",g:"0",m:v9(t.c9),A:t.da,n:nr("1"),fG:el(t.cc)})])}),bp=x(function(e,t,n,r){var a=$(lk,t,e.ct);return $(f_,q([fB("diva-filter-group")]),$(J,$(fJ,q([fF(q([{a:"diva-filter-title-button",b:!0},{a:"is-collapsed",b:!a}])),fj({$:41,a:t})]),q([$(v3,q([fF(q([{a:"diva-filter-title-icon",b:!0},{a:"is-expanded",b:a}]))]),U),$(v3,U,q([tl(n)]))])),a?r:U))}),bm=function(e){return $(f_,q([fB("diva-filter-row")]),e)},bw=function(e){return S(bp,e,"advanced-colour-adjust","Advanced colour adjust",$(J,bm(q([$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(v7)]),q([tl("Reset sliders")]))])),G($(bg,"Red",{bO:e.eJ.aY,cw:e.eJ.bu,cx:2,cy:9,bP:e.eJ.aZ,cB:e.eJ.aB,cC:5,cD:10,bQ:e.eJ.a_,cE:6,b5:e.eJ.a$,cY:e.eJ.bv,cZ:3,c_:11,cc:e.eJ.a0,c8:e.eJ.bw,c9:4,da:12}),G($(bg,"Green",{bO:e.eJ.aT,cw:e.eJ.br,cx:7,cy:5,bP:e.eJ.aU,cB:e.eJ.aA,cC:9,cD:6,bQ:e.eJ.aV,cE:10,b5:e.eJ.aW,cY:e.eJ.bs,cZ:8,c_:7,cc:e.eJ.aX,c8:e.eJ.bt,c9:11,da:8}),$(bg,"Blue",{bO:e.eJ.aO,cw:e.eJ.bo,cx:12,cy:1,bP:e.eJ.aP,cB:e.eJ.az,cC:14,cD:2,bQ:e.eJ.aQ,cE:15,b5:e.eJ.aR,cY:e.eJ.bp,cZ:13,c_:3,cc:e.eJ.aS,c8:e.eJ.bq,c9:16,da:4})))))},by=w(function(e,t){return{$:51,a:e,b:t}}),bx=function(e){return S(bp,e,"colour-adjust","Colour Adjust",$(rc,bb,q([{x:e.eJ.cj,l:el(e.eJ.bx),dX:"Brightness",f:"255",g:"-255",m:v9(17),A:13,n:na,fG:el(e.eJ.bx)},{x:e.eJ.cq,l:el(e.eJ.bH),dX:"Contrast",f:"4",g:"0",m:by(1),A:20,n:nr("0.1"),fG:el(e.eJ.bH)},{x:e.eJ.cw,l:el(e.eJ.bO),dX:"Gamma",f:"4",g:"0.1",m:by(2),A:23,n:nr("0.1"),fG:el(e.eJ.bO)},{x:e.eJ.cW,l:el(e.eJ.b1),dX:"Saturation",f:"100",g:"-100",m:v9(27),A:31,n:na,fG:el(e.eJ.b1)},{x:e.eJ.c8,l:el(e.eJ.cc),dX:"Vibrance",f:"100",g:"-100",m:v9(29),A:34,n:na,fG:el(e.eJ.cc)},{x:e.eJ.cB,l:el(e.eJ.bP),dX:"Hue",f:"100",g:"-100",m:v9(24),A:26,n:na,fG:el(e.eJ.bP)},{x:e.eJ.cm,l:el(e.eJ.bA),dX:"Red",f:"100",g:"-100",m:v9(20),A:16,n:na,fG:el(e.eJ.bA)},{x:e.eJ.cl,l:el(e.eJ.bz),dX:"Green",f:"100",g:"-100",m:v9(19),A:15,n:na,fG:el(e.eJ.bz)},{x:e.eJ.ck,l:el(e.eJ.by),dX:"Blue",f:"100",g:"-100",m:v9(18),A:14,n:na,fG:el(e.eJ.by)}])))},bC=w(function(e,t){return{$:54,a:e,b:t}}),bI=tf("option"),bA=q([$(bI,q([bs("gray")]),q([tl("Gray")])),$(bI,q([bs("hot")]),q([tl("Hot")])),$(bI,q([bs("cool")]),q([tl("Cool")]))]),bE=tf("select"),b$=y(function(e,t,n){return $(bE,q([fB("diva-filter-select"),bo(t),bs(e)]),n)}),bR=y(function(e,t,n){return $(bf,q([fB("diva-filter-toggle")]),q([$(be,q([fZ("checkbox"),bd(t),bv(bl(n))]),U),tl(e)]))}),bS=function(e){return S(bp,e,"colourmap","Colourmap",q([bm(q([R(bR,"Colourmap",e.eJ.a4,17),R(b$,e.eJ.bG,bC(0),bA)])),bc({l:el(e.eJ.bF),dX:"Center",f:"255",g:"0",m:v9(21),n:na,fG:el(e.eJ.bF)})]))},bM=q([$(bI,q([bs("sharpen")]),q([tl("Sharpen")])),$(bI,q([bs("blur")]),q([tl("Blur")])),$(bI,q([bs("edge")]),q([tl("Edge")])),$(bI,q([bs("emboss")]),q([tl("Emboss")]))]),bP=function(e){return S(bp,e,"convolution","Convolution",q([bm(q([R(bR,"Kernel",e.eJ.cr,21),R(b$,e.eJ.bI,bC(3),bM)]))]))},bL=function(e){return S(bp,e,"enhancement","Enhancement",G($(rc,bb,q([{x:e.eJ.cN,l:el(e.eJ.bV),dX:"Normalize",f:"2",g:"0",m:by(3),A:29,n:nr("0.1"),fG:el(e.eJ.bV)},{x:e.eJ.c6,l:el(e.eJ.ca),dX:"Unsharp",f:"3",g:"0",m:by(7),A:33,n:nr("0.1"),fG:el(e.eJ.ca)},{x:e.eJ.aN,l:el(e.eJ.bn),dX:"Adaptive Threshold",f:"51",g:"3",m:v9(1),A:0,n:nr("2"),fG:el(e.eJ.bn)}])),q([bc({l:el(e.eJ.bm),dX:"Offset",f:"50",g:"-50",m:v9(0),n:nr("1"),fG:el(e.eJ.bm)})])))},bT={$:11},bk={$:27},bO=function(e){return{$:53,a:e}},bH=tf("textarea"),bV=function(e){return S(bp,e,"diva-filter-json","Import / Export Filter Settings",q([bm(q([$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(bk)]),q([tl("Show JSON")])),$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(bT)]),q([tl("Apply")]))])),$(bH,q([fB("diva-filter-json"),bs(e.cu),bo(bO),$(tI,"rows",el(6))]),U),function(){var t=e.bN;if(t.$)return fQ;var n=t.a;return $(f_,q([fB("diva-filter-json-error")]),q([tl(n)]))}()]))},bB=q([$(bI,q([bs("3")]),q([tl("3x3")])),$(bI,q([bs("5")]),q([tl("5x5")])),$(bI,q([bs("7")]),q([tl("7x7")]))]),bF=q([$(bI,q([bs("erode")]),q([tl("Erode")])),$(bI,q([bs("dilate")]),q([tl("Dilate")]))]),b_=function(e){return S(bp,e,"morphology","Morphology",q([bm(q([R(bR,"Morph",e.eJ.bb,28),R(b$,e.eJ.bU,bC(5),bF),R(b$,el(e.eJ.bT),v9(25),bB)]))]))},bN=q([$(bI,q([bs("pca-rgb")]),q([tl("PCA (RGB)")])),$(bI,q([bs("pca1")]),q([tl("PCA Component 1")])),$(bI,q([bs("pca2")]),q([tl("PCA Component 2")])),$(bI,q([bs("pca3")]),q([tl("PCA Component 3")]))]),bz=function(e){return S(bp,e,"pca","Visible area PCA",q([bm(q([R(bR,"Visible area PCA",e.eJ.a7,24),R(b$,e.eJ.bX,bC(4),bN)])),bc({l:el(e.eJ.bW)+"deg",dX:"Hue Rotation",f:"180",g:"-180",m:v9(23),n:nr("1"),fG:el(e.eJ.bW)})]))},bG=q([$(bI,q([bs("rg")]),q([tl("Red–Green Diff")])),$(bI,q([bs("gb")]),q([tl("Green–Blue Diff")])),$(bI,q([bs("rb")]),q([tl("Red–Blue Diff")])),$(bI,q([bs("luma")]),q([tl("Luma False Colour")])),$(bI,q([bs("cmy")]),q([tl("CMY False Colour")])),$(bI,q([bs("heat")]),q([tl("Heat Map")]))]),bU=w(function(e,t){return $(be,q([fB("diva-filter-color-input"),fZ("color"),bs(e),bo(t)]),U)}),bD=function(e){return S(bp,e,"pseudo-colour","Pseudo Colour",q([bm(q([R(bR,"Pseudo-colour",e.eJ.ae,30),R(b$,e.eJ.b_,bC(6),bG)])),bc({l:el(e.eJ.b$),dX:"Red Weight",f:"2",g:"0",m:by(6),n:nr("0.01"),fG:el(e.eJ.b$)}),bc({l:el(e.eJ.bZ),dX:"Green Weight",f:"2",g:"0",m:by(5),n:nr("0.01"),fG:el(e.eJ.bZ)}),bc({l:el(e.eJ.bY),dX:"Blue Weight",f:"2",g:"0",m:by(4),n:nr("0.01"),fG:el(e.eJ.bY)}),bm(q([R(bR,"Replace Colour",e.eJ.N,18)])),bm(q([$(v3,q([fB("diva-filter-label")]),q([tl("Source")])),$(bU,e.eJ.bC,bC(1)),$(v3,q([fB("diva-filter-label")]),q([tl("Target")])),$(bU,e.eJ.bD,bC(2))])),bc({l:el(e.eJ.bE),dX:"Tolerance",f:"255",g:"0",m:v9(22),n:nr("1"),fG:el(e.eJ.bE)}),bc({l:el(e.eJ.bB),dX:"Strength",f:"1",g:"0",m:by(0),n:nr("0.01"),fG:el(e.eJ.bB)}),bm(q([R(bR,"Preserve Luminance",e.eJ.cp,19)]))]))},bJ=function(e){return S(bp,e,"tone","Tone",G($(rc,function(e){return R(bR,e.a,e.b,e.c)},q([{a:"Grayscale",b:e.eJ.cz,c:25},{a:"Invert",b:e.eJ.cH,c:27}])),$(rc,bb,q([{x:e.eJ.c1,l:el(e.eJ.b8),dX:"Threshold",f:"255",g:"0",m:v9(28),A:32,n:na,fG:el(e.eJ.b8)}]))))},bq=function(e){return S(bp,e,"transform","Transform",q([$(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(v3,q([fB("diva-filter-label")]),q([tl("Rotation")])),$(v3,q([fB("diva-filter-range-header-right")]),q([$(v3,q([fB("diva-filter-value")]),q([tl(el(e.eJ.bg)+"°")])),$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj($(v9,26,"0"))]),q([tl("Reset")]))]))])),M(bu,"-180","180",nr("1"),el(e.eJ.bg),v9(26))])),bm(q([R(bR,"Mirror",e.eJ.cv,22)]))]))},bX=function(e){return $(f_,q([fB("diva-modal-sidebar")]),q([$(tv,bq,e),$(tv,bJ,e),$(tv,bx,e),$(tv,b_,e),$(tv,bP,e),$(tv,bS,e),$(tv,bD,e),$(tv,bz,e),$(tv,bw,e),$(tv,bL,e),$(tv,bV,e)]))},bj=w(function(e,t){return $(f_,q([fF(q([{a:"diva-modal-viewer",b:!0},{a:"is-fullscreen",b:e},{a:"is-outer-left",b:t}]))]),q([$(f_,q([fB("diva-modal-canvas"),fN("filter-viewer")]),U)]))}),bW=function(e){var t=$(aN,function(t){return $(cv,t,e.ap)},e.R),n=$(aG,!1,$(az,function(e){return nC(e.cF)>1},t));return $(f_,q([fF(q([{a:"diva-modal-body",b:!0},{a:"is-no-gap",b:!0},{a:"is-fullscreen",b:e.ds},{a:"is-with-choices",b:n},{a:"is-no-sidebar",b:!e.dt},{a:"is-with-choices-no-sidebar",b:n&&!e.dt}]))]),function(){var r={a:n,b:t,c:e.dt};if(r.c)if(!r.a||r.b.$)return q([$(bj,e.ds,!0),bX(e)]);else{var a=r.b.a;return q([R(v8,e.dh,a.cF,e.aJ),$(bj,e.ds,!1),bX(e)])}if(!r.a||r.b.$)return q([$(bj,e.ds,!0)]);var a=r.b.a;return q([R(v8,e.dh,a.cF,e.aJ),$(bj,e.ds,!1)])}())},bZ={$:14},bY={$:20},bK={$:21},bQ={$:23},b0={$:32},b1={$:44},b2={$:45},b4=w(function(e,t){return e?na:nr(t)}),b3=vW({s:"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",t:"0 0 448 512"}),b6=vW({s:"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z",t:"0 0 512 512"}),b5=vW({s:"M168 80l24 0 0-48-24 0L24 32 0 32 0 56 0 456l0 24 24 0 144 0 24 0 0-48-24 0L48 432 48 80l120 0zM493.8 273l17-17-17-17-128-128-17-17L314.9 128l17 17 87 87L184 232l-24 0 0 48 24 0 234.9 0-87 87-17 17 33.9 33.9 17-17 128-128z",t:"0 0 512 512"}),b8=vW({s:"M8.59 16.59L10 18L16 12L10 6L8.59 7.41L13.17 12L8.59 16.59z",t:"0 0 24 24"}),b7=vW({s:"M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41z",t:"0 0 24 24"}),b9=vW({s:"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",t:"0 0 512 512"}),ge=vW({s:"M288 80V432H48V80H288zM512 32H464 48 0V80 432v48H48 464h48V432 80 32zM448 96v48H352V96h96zm-96 96h96v48H352V192zm96 96v48H352V288h96z",t:"0 0 512 512"}),gt=vW({s:"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z",t:"0 0 512 512"}),gn=function(e){var t,n,r=$(aG,"",$(az,function(e){return e.dX},$(aN,function(e){return $(cv,e,t.ap)},(t=e).R))),a=$(aG,"",$(az,function(e){return $(cA,n.ey,fz(e))},lG(n=e))),i=e.dt?{a:b5,b:"Hide filters"}:{a:ge,b:"Show filters"},o=i.a,s=i.b,u=function(){var t=e.R;if(t.$)return{a:!0,b:!0};var n=t.a;return{a:n<=0,b:_(n,nC(e.ap)-1)>-1}}(),c=u.a,l=u.b,d=e.ds?{a:b6,b:"Exit fullscreen"}:{a:gt,b:"Fullscreen"},f=d.a,h=d.b;return $(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title-stack")]),$(J,$(f_,q([fB("diva-modal-title")]),q([tl("Page View")])),G(n7(a)?U:q([$(f_,q([fB("diva-modal-subtitle")]),q([tl(a)]))]),n7(r)?U:q([$(f_,q([fB("diva-modal-subtitle is-muted")]),q([tl(r)]))])))),$(f_,q([fB("diva-modal-actions")]),q([v0({eS:b7,eY:e.dm,dX:"Previous Page",d3:$(b4,c,bK)}),v0({eS:b8,eY:e.dm,dX:"Next Page",d3:$(b4,l,bY)}),v0({eS:b3,eY:e.dm,dX:"Save view",d3:nr(bQ)}),v0({eS:b9,eY:e.dm,dX:"Reset Filters",d3:nr(b0)}),v0({eS:o,eY:e.dm,dX:s,d3:nr(b2)}),v0({eS:f,eY:e.dm,dX:h,d3:nr(b1)}),$(f_,q([fB("diva-modal-close-action")]),q([v0({eS:vZ,eY:e.dm,dX:"Close",d3:nr(bZ)})]))]))]))},gr=function(e){return n7(e)?fQ:$(f_,q([fB("diva-required-statement")]),vA(e))},ga={$:38},gi={$:43},go={$:49},gs=function(e){var t,n=!sd(lf(e)),r=!(t=ld(e)).$&&!sd(t.a);return n||r},gu=function(e){return!!e},gc=function(e){return $(f_,q([fB("diva-contents-empty")]),q([tl(e)]))},gl=gc("No contents available."),gd=w(function(e,t){return $(aG,na,$(rH,t,e))}),gf=w(function(e,t){return $(ad,gh(e),t.aH)}),gh=w(function(e,t){return t.$?$(gf,e,t.a):H(t.a,e)}),gv=y(function(e,t,n){return $(fJ,G(q([fF(q([{a:"diva-contents-button",b:!0},{a:"diva-ui-button",b:!0},{a:"is-current",b:e}])),fZ("button"),fj({$:22,a:t})]),e?q([$(fD,"aria-current","location")]):U),q([tl(n)]))}),gb=y(function(e,t,n){return $(fJ,q([fB("diva-contents-disclosure diva-ui-button"),fZ("button"),$(fD,"aria-expanded",e?"true":"false"),$(fD,"aria-label",G(e?"Hide information for ":"Show information for ",n)),fj({$:46,a:t})]),q([tl(e?"▾":"▸")]))}),gg=w(function(e,t){return $(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl($(cA,e,t.dX))])),$(f_,q([fB("diva-metadata-value")]),vA($(cA,e,t.fG)))]))}),gp=w(function(e,t){return sd(t)?U:q([$(f_,q([fB("diva-contents-meta")]),$(rc,gg(e),t))])}),gm=y(function(e,t,n){return e?t?n?1===$(W,2,n)?n:n-1:0:n-$(W,2,n):n}),gw=y(function(e,t,n){if(n.$)return U;var r=n.a;if(!e)return q([r]);if(t&&!r)return q([0]);var a=R(gm,1,t,r);return q([a,a+1])}),gy=y(function(e,t,n){var r=$(an,function(n){return n.$?nr(S(tg,gx,e,t,n.a)):na},n);return sd(r)?U:q([$(f7,q([fB("diva-contents-list-nested diva-list-reset")]),r)])}),gx=y(function(e,t,n){var r,a=$(gd,t,n.f7),i=$(cA,e.ey,n.dX),o=n7(i)?"[Untitled range]":i,s=H(e.ea,nr(n.f7)),u=s?$(gp,e.ey,n.d_):U,c=$(ad,function(e){return $(gf,e,n)},$(rc,function(e){return e.M},$(an,function(e){return $(cv,e,r.ap)},R(gw,(r=e).cd,r.b3,r.R)))),l=R(gv,c,a,o),d=$(f_,q([fB("diva-contents-heading")]),G(sd(n.d_)?U:q([R(gb,s,n.f7,o)]),q([l]))),f=R(gy,e,t,n.aH);return $(f8,q([fB("diva-contents-item")]),$(J,d,G(u,f)))}),gC=y(function(e,t,n){return $(f7,q([fB("diva-contents-list diva-list-reset")]),$(rc,R(tg,gx,e,t),n))}),gI=w(function(e,t){var n=lh(t);if(n.$)return gl;var r=n.a;return sd(r)?gl:R(gC,e,e.fg,r)}),gA={$:34},gE={$:35},g$=w(function(e,t){return $(f_,q([fB("diva-contents-view-tabs")]),q([$(fJ,q([fF(q([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:!t}])),fZ("button"),fj(gA)]),q([tl("Index")])),$(fJ,q([fF(q([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:1===t}])),fZ("button"),fj(gE)]),q([tl(e?"On these pages":"On this page")]))]))}),gR=w(function(e,t){var n=$(iP,function(t){return t.$?$(gR,e,t.a):U},t.aH);return $(gf,e,t)?$(J,t,n):n}),gS=w(function(e,t){return $(iP,gR(e),t)}),gM=gc("No ranges for this page."),gP=function(e){var t=w(function(e,t){for(;;)if(!e.b)return nO(t);else if(e.a.b){var n=e.a,r=n.a,a=n.b,i=e.b;if(r.$){var o=$(J,r.a.aH,$(J,a,i)),s=t;e=o,t=s;continue}var u=r.a,o=$(J,a,i),s=$(J,u,t);e=o,t=s;continue}else{var i=e.b,o=i,s=t;e=o,t=s;continue}});return $(t,q([e]),U)},gL=w(function(e,t){return $(an,function(t){return $(rH,t,e)},gP(t.aH))}),gT=y(function(e,t,n){var r=$(gp,e.ey,n.d_),a=$(gd,e.fg,n.f7),i=$(cA,e.ey,n.dX),o=$(gL,t,n),s=aL(o),u=aL(nO(o)),c=function(){var e={a:s,b:u};if(e.a.$)if(e.b.$)return"";else{e.a;var t=e.b.a;return"["+t+"] "}if(e.b.$){var n=e.a.a;return e.b,"["+n+"] "}var n=e.a.a,t=e.b.a;return H(n,t)?"["+n+"] ":"["+(n+"-")+t+"] "}(),l=R(gv,!1,a,n7(i)?c+"[Untitled range]":G(c,i));return $(f8,q([fB("diva-contents-item")]),$(J,l,r))}),gk=w(function(e,t){var n,r=$(az,function(e){return e.M},$(aN,function(e){return $(cv,e,n.ap)},(n=e).R));if(r.$)return gM;var a=r.a,i=lh(t);if(i.$)return gM;var o=$(gS,a,i.a);if(sd(o))return gM;var s=us($(rc,function(e){return{a:e.f7,b:cE(e)}},cg(t)));return $(f7,q([fB("diva-contents-list diva-list-reset")]),$(rc,$(gT,e,s),o))}),gO=function(e){var t=lG(e),n=function(){var n={a:e.dN,b:t};if(n.a)if(n.b.$)return n.a,n.b,gM;else{n.a;var r=n.b.a;return $(gk,e,r)}if(n.b.$)return n.a,n.b,gl;n.a;var r=n.b.a;return $(gI,e,r)}();return $(f_,q([fB("diva-contents-panel")]),q([$(f_,q([fB("diva-contents-title")]),q([tl("Contents")])),$(g$,e.cd,e.dN),n]))},gH=w(function(e,t){return $(f_,U,q([$(ho,q([hs(t.f7),vE("_blank"),hc("noopener noreferrer")]),q([tl($(cA,e,t.dX))]))]))}),gV=w(function(e,t){var n=ld(t);if(n.$)return U;var r=n.a;return sd(r)?U:q([$(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl("Homepage")])),$(f_,q([fB("diva-metadata-value")]),$(rc,gH(e),r))]))])}),gB=w(function(e,t){return $(rc,gg(e),lf(t))}),gF=y(function(e,t,n){return $(f_,q([fF(q([{a:"diva-sidebar-pane",b:!0},{a:"is-hidden",b:!H(e,t)}]))]),q([n]))}),g_=x(function(e,t,n,r){return $(fJ,q([fF(q([{a:"diva-sidebar-tab-button",b:!0},{a:"is-active",b:H(e,t)}])),fZ("button"),fj(r)]),q([tl(n)]))}),gN=y(function(e,t,n){for(;;)if(e<=0)return n;else{if(!t.b)return n;var r=t.a,a=t.b,i=e-1,o=$(J,r,n);e=i,t=a,n=o;continue}}),gz=w(function(e,t){return nO(R(gN,e,t,U))}),gG=y(function(e,t,n){if(t<=0)return U;var r={a:t,b:n};e:for(;;){t:for(;;)if(!r.b.b)return n;else if(r.b.b.b)switch(r.a){case 1:break e;case 2:var a=r.b,i=a.a,o=a.b.a;return q([i,o]);case 3:if(r.b.b.b.b){var s=r.b,i=s.a,u=s.b,o=u.a,c=u.b.a;return q([i,o,c])}break t;default:if(r.b.b.b.b&&r.b.b.b.b.b){var l=r.b,i=l.a,d=l.b,o=d.a,f=d.b,c=f.a,h=f.b,v=h.a,b=h.b;return e>1e3?$(J,i,$(J,o,$(J,c,$(J,v,$(gz,t-4,b))))):$(J,i,$(J,o,$(J,c,$(J,v,R(gG,e+1,t-4,b)))))}break t}else if(1===r.a)break e;else break;return n}var i=r.b.a;return q([i])}),gU=w(function(e,t){return R(gG,0,e,t)}),gD=y(function(e,t,n){for(;;)if(!t.b)return nO(n);else{var r=$(ch,e,t),a=$(gU,e,t),i=e,o=$(J,a,n);e=i,t=r,n=o;continue}}),gJ=w(function(e,t){return e<=0?U:R(gD,e,t,U)}),gq=w(function(e,t){return e<=1?t:$(iP,nO,$(gJ,e,t))}),gX={$:0},gj=x(function(e,t,n,r){return $(iF,r,R(gw,e,t,n))}),gW=I(function(e,t,n,r,a,i){var o=S(gj,t,n,r,a),s=nC(i.cF)>1,u=$(aG,$(aG,{dh:gX,f7:"",bR:!1,aG:!0,dX:"",b7:"",bh:"",b9:""},aL(i.cF)),aL($(iR,function(e){return e.bR},i.cF))),c=function(){var t=$(v6,u.b7,e);if(t.$)return $(f_,q([fB("diva-thumbs-image diva-thumbs-image--protected"),$(fD,"aria-label","Protected image")]),U);var n=t.a;return R(fK,"diva-lazy-image",q([fB("diva-thumbs-lazy-image"),$(fD,"data-src",i.bh),$(fD,"data-fallback-src",i.eI),$(fD,"data-alt","Page "+el(a+1)),$(fD,"data-crossorigin",n)]),U)}(),l=q([fF(q([{a:"diva-thumbs-item",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:o}])),fZ("button"),fN("thumb-"+el(a)),$(fD,"data-thumb-index",el(a)),fj({$:24,a:a})]);return $(fJ,l,q([c,$(f_,q([fF(q([{a:"diva-thumbs-label",b:!0},{a:"is-active",b:o}]))]),q([tl(s?i.dX+" *":i.dX)]))]))}),gZ=w(function(e,t){var n=e.dm,r=e.dh,a=e.R,i=e.b3,o=e.bi,s=e.cd,u=e.g1,c=$(nE,a8,t),l=1===u?$(gq,3,c):c;return $(f_,q([fF(q([{a:"diva-thumbs",b:!0},{a:"is-fullscreen",b:n}])),fN("thumbs"),$(tx,"scroll-behavior",o?"auto":"smooth")]),$(rc,function(e){return L(tw,gW,r,s,i,a,e.a,e.b)},l))}),gY=w(function(e,t){var n=$(aG,0,$(az,lb,t)),r=H(e.H,rm)||H(e.b0,rp)?U:e.ap,a=q([{a:"diva-sidebar-panel",b:!0},{a:"is-fullscreen",b:e.dm},{a:"is-hidden",b:!gu(e.B)},{a:"is-overlay",b:e.bS},{a:"is-mobile-hidden",b:!e.bS}]),i=$(aG,!1,$(az,gs,t)),o=i?q([R(gF,e.B,2,$(f_,q([fB("diva-metadata-panel")]),function(){var t=lG(e);if(t.$)return q([$(f_,q([fB("diva-metadata-body")]),q([tl("No metadata available.")]))]);var n=t.a;return q([$(f_,q([fB("diva-metadata-body")]),G($(gB,e.ey,n),$(gV,e.ey,n)))])}()))]):U,s=i?q([S(g_,e.B,2,"Metadata",gi)]):U,u=$(aG,!1,$(az,$(rW,sd,uB),$(aN,lh,t))),c=u?q([S(g_,e.B,3,"Contents",ga)]):U,l=u?q([R(gF,e.B,3,gO(e))]):U;return $(f_,q([fF(a),$(tx,"width",gu(e.B)?el(e.b4)+"px":"0px")]),q([$(f_,q([fB("diva-sidebar-tabs")]),$(J,S(g_,e.B,1,"Thumbnails",go),G(s,c))),$(f_,q([fB("diva-sidebar-content")]),$(J,R(gF,e.B,1,$(gZ,{dh:e.dh,dm:e.dm,R:e.R,b3:e.b3,bi:e.bi,cd:e.cd,g1:n},r)),G(o,l)))]))}),gK=w(function(e,t){return $(gY,e,nr(t))}),gQ=function(e){return{$:37,a:e}},g0=function(e){return 2!==e.H.$&&H(lG(e),na)?fQ:$(f_,q([fF(q([{a:"diva-sidebar-resizer",b:!0},{a:"is-hidden",b:!gu(e.B)}])),$(fX,"mousedown",$(ex,gQ,$(ep,"clientX",ef)))]),q([tl("⋮")]))},g1={$:17},g2={$:18},g4={$:25},g3={$:26},g6={$:59},g5={$:42},g8={$:47},g7={$:48},g9={$:50},pe=w(function(e,t){return _(n5(t),e)>0?$(n9,e-3,t)+"...":t}),pt=function(e){var t=function(){var t=e.R;if(t.$)return"";var n=t.a;if(!e.cd)return $(aG,"",$(az,function(e){return e.dX},$(cv,n,e.ap)));var r=R(gm,e.cd,e.b3,n),a=$(az,function(e){return e.dX},$(cv,r+1,e.ap)),i={a:$(az,function(e){return e.dX},$(cv,r,e.ap)),b:a};if(i.a.$)return"";var o=i.a.a;return e.b3&&!r||a.$?o:o+" / "+a.a}();return $(pe,140,t)},pn=vW({s:"M48.4 14.8L29.4 .1 0 38 19 52.7 591.5 497.2l19 14.7L639.9 474l-19-14.7L513.7 376c38.8-36.5 62.3-84 62.3-136C576 125.1 461.4 32 320 32c-68.2 0-130.2 21.7-176 57L48.4 14.8zm135 104.8C218.6 95.5 265.3 80 320 80c124.7 0 208 80.5 208 160c0 38.1-19.2 76.5-52.9 106.1L183.4 119.6zM424.1 430.1l-46-36.3c-18.1 4-37.5 6.2-58 6.2c-26.8 0-52.3-3.9-75.7-11l-13.9-4.2-13.9 4.2-57.6 17.3 7-18.5 10.8-28.9-21.8-21.9c-28-28-42.9-61.8-42.9-96.9c0-16.2 3.4-32.4 10-47.9l-39-30.8C70.7 185.6 64 212.2 64 240c0 49.6 21.3 95.1 56.9 130.8l-19.8 52.7L80 480l57.8-17.3 92.6-27.8c27.9 8.5 58.1 13.1 89.6 13.1c37 0 72.3-6.4 104.1-17.9z",t:"0 0 640 512"}),pr=vW({s:"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z",t:"0 0 512 512"}),pa=vW({s:"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z",t:"0 0 576 512"}),pi=vW({s:"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z",t:"0 0 384 512"}),po=vW({s:"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z",t:"0 0 384 512"}),ps=vW({s:"M 283.05 111 C 292.45 101.6 307.65 101.6 316.95 111 C 326.25 120.4 326.35 135.6 316.95 144.9 L 277.95 183.9 L 556.05 183.9 C 569.35 183.9 580.05 194.6 580.05 207.9 C 580.05 221.2 569.35 231.9 556.05 231.9 L 277.95 231.9 L 316.95 270.9 C 326.35 280.3 326.35 295.5 316.95 304.8 C 307.55 314.1 292.35 314.2 283.05 304.8 L 203.05 224.8 C 193.65 215.4 193.65 200.2 203.05 190.9 L 283.05 110.9 L 283.05 111 Z M 392 0 C 422.9 0 448 25.1 448 56 L 448 128 L 400 128 L 400 56 C 400 51.6 396.4 48 392 48 L 88 48 C 65.9 48 48 65.9 48 88 L 48 358.7 C 57.8 354.4 68.6 352 80 352 L 392 352 C 396.4 352 400 348.4 400 344 L 400 288 L 448 288 L 448 344 C 448 366.3 434.9 385.6 416 394.6 L 416 464 L 424 464 C 437.3 464 448 474.7 448 488 C 448 501.3 437.3 512 424 512 L 80 512 C 35.8 512 0 476.2 0 432 C 0 429.3 0.1 426.6 0.4 424 L 0 424 L 0 88 C 0 39.4 39.4 0 88 0 L 392 0 Z M 80 400 C 62.3 400 48 414.3 48 432 C 48 449.7 62.3 464 80 464 L 368 464 L 368 400 L 80 400 Z",t:"0 0 640 512"}),pu=vW({s:"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z",t:"0 0 640 512"}),pc=vW({s:"M112.7 358.8l-10.8 28.9-7 18.5 57.6-17.3 13.9-4.2 13.9 4.2c23.3 7.1 48.8 11 75.7 11c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 35.1 15 68.9 42.9 96.9l21.8 21.9zm-39 103.9L16 480l21.2-56.5 19.8-52.7C21.3 335.1 0 289.6 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-31.5 0-61.7-4.6-89.6-13.1L73.8 462.7zM144 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM400 304v16H272 192 144V304l64-80 22 27.4L296 160 400 304z",t:"0 0 512 512"}),pl={$:39},pd=vW({s:"M224 80V432H464V80H224zM0 32H48 464h48V80 432v48H464 48 0V432 80 32zM64 96v48h96V96H64zm96 96H64v48h96V192zM64 288v48h96V288H64z",t:"0 0 512 512"}),pf=w(function(e,t){return $(f_,q([fF(q([{a:"diva-canvas-label",b:!0},{a:"is-fullscreen",b:e}]))]),q([tl(t)]))}),ph=vW({s:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z",t:"0 0 512 512"}),pv=vW({s:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z",t:"0 0 512 512"}),pb=function(e){var t,n,r=pt(e),a=c7(lG(e));return $(f_,q([fB("diva-canvas-toolbar-stack")]),q([$(f_,q([fB("diva-canvas-toolbar")]),q([$(f_,q([fB("diva-canvas-toolbar-section")]),q([2===e.H.$?v0({eS:e.a3?b5:pd,eY:e.dm,dX:e.a3?"Hide Collection":"Show Collection",d3:nr(pl)}):fQ,v0({eS:pv,eY:e.dm,dX:"Zoom Out",d3:$(b4,a,g3)}),v0({eS:ph,eY:e.dm,dX:"Zoom In",d3:$(b4,a,g4)})])),$(f_,q([fB("diva-canvas-toolbar-end")]),q([R(tb,pf,e.dm,r),$(f_,q([fB("diva-canvas-toolbar-section is-right")]),G($(rc,function(e){var n=$(aG,"Log out",$(az,cA(t.ey),e.dX)),r=e.aw.$?n:n+" (popup blocked)";return $(f_,q([fB("diva-canvas-toolbar-item"),$(fD,"data-tooltip",r)]),q([$(fJ,q([fB("diva-canvas-toolbar-button"),fZ("button"),$(fD,"aria-label",r),$(fD,"data-diva-auth-logout",e.fu),$(fD,"data-diva-auth-url",e.aM)]),q([pu]))]))},$(rc,function(e){return{aw:e.aw,dX:e.a9.dX,fu:e.f7,aM:e.a9.f7}},fh((t=e).dh.ag))),G(e.bK?q([v0({eS:e.df?pn:pc,eY:e.dm,dX:e.df?"Hide Annotations":"Show Annotations",d3:nr(g6)})]):U,q([v0({eS:pi,eY:e.dm,dX:"Page View",d3:$(b4,a,g2)}),v0({eS:pr,eY:e.dm,dX:"Manifest Info",d3:$(b4,a,g1)}),v0({eS:e.cd?po:pa,eY:e.dm,dX:e.cd?"One Page":"Two Page",d3:$(b4,a,g9)}),v0({eS:e.b3?ps:pu,eY:e.dm,dX:"Shift Pages",d3:$(b4,a||!e.cd,g8)}),v0({eS:(n=e.dp?e.bS:!!e.B)?b5:ge,eY:e.dm,dX:n?"Hide Sidebar":"Show Sidebar",d3:$(b4,a,g7)}),$(vQ,q([$(fD,"data-diva-action","fullscreen")]),{eS:e.dm?b6:gt,eY:e.dm,dX:e.dm?"Exit Full":"Fullscreen",d3:nr(g5)})]))))]))]))]))},pg=function(e){var t=e.H;switch(t.$){case 1:return e.eO?na:nr({a:"Unable to display manifest",b:"No canvases found in this manifest.",c:!1});case 2:var n=e.b0;if(3===n.$){var r=n.a;return nr({a:"Unable to load manifest",b:r,c:!0})}return e.eO?na:nr({a:"No Manifest Selected",b:"Select a manifest from the collection to view.",c:!1});case 3:var r=t.a;return nr({a:"Unable to load manifest",b:r,c:!0});default:return na}},pp=function(e){var t={a:e.$7,b:e.dO};if(t.a.$||t.b.$)return na;var n=t.a.a,r=t.b.a;return n>0?nr(el(K(r/n*100))+"%"):na},pm={Main:{init:tq({f9:function(e){var t=rg(e.ej),n=sL(e._),r=e.ec?n:0,a=e.d1;return{a:{av:e.av,a1:rI,ci:e.ci,dd:rI,aC:rI,df:e.bK,dh:rE,co:na,a3:!0,dL:400,dN:0,dO:na,ey:t,dj:e.dj,bK:e.bK,ct:rI,eJ:sP,bN:na,cu:"",dm:!1,eO:!1,cG:e.cG,dW:!1,$7:na,dp:!1,X:!1,dZ:!1,ba:a,bS:!1,ds:!1,aJ:0,cP:!1,dt:!0,ap:U,bd:na,cQ:na,fg:rI,H:rm,b0:rp,dw:e.dw,R:na,ea:na,b3:!1,dB:e.dB,cX:na,_:n,B:r,b4:R(rx,220,520,e.b4),bi:!1,cd:0},b:eQ(q([R(sM,rw,e.av,a),$(rb,function(e){return ry(K(e.fH.dI))},rA)]))}},gP:function(e){return eQ(q([uA(function(e){return sk($(sU,e.fl,e.b7))}),uE(function(e){return $(s_,e.fl,e.aM)}),s9(sF),uI($(rW,sO,sk)),s2(function(e){return sk(R(sG,e.f7,e.dE,e.eq))}),s1(function(e){return sk($(sz,e.f7,e.ac))}),s6(function(e){return sk(R(sD,e.dl,e.dr,e.fG))}),s8(function(e){return sk(R(sq,e.dl,e.dr,e.fG))}),s5(function(e){return sk($(sJ,e.dl,e.ac))}),s3(uC),s4(ut),s0(function(e){return sk(sN)}),uy(sV),ux(sB),s7(sH),uS(sX),u$(sQ),uR(sK),R(up,1,"resize",$(ep,"target",R(eC,w(function(e,t){return ry(e)}),$(ep,"innerWidth",ef),$(ep,"innerHeight",ef)))),e.cX.$?un:eQ(q([um($(ex,sW,$(ep,"clientX",ef))),uw(n1(sY))])),e.co.$?un:eQ(q([um($(ex,sj,$(ep,"clientX",ef))),uw(n1(sZ))]))]))},g$:fH,g0:function(e){var t,n,r,a,i=pg(e);return $(f_,q([fN(e.dw)]),q([$(f_,q([fF(q([{a:"diva-app",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([S(tg,v4,e.dB,e.dm,$(aG,"",$(az,function(e){return $(cA,r.ey,fz(e))},lG(r=e)))),$(f_,q([fB("diva-app-header")]),q([pb(e)])),$(f_,q([fF(q([{a:"diva-app-body",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([hi(e),2!==(t=e).H.$?fQ:$(f_,q([fF(q([{a:"diva-collection-resizer",b:!0},{a:"is-hidden",b:!t.a3}])),$(fX,"mousedown",$(ex,f5,$(ep,"clientX",ef)))]),q([tl("⋮")])),$(f_,q([fF(q([{a:"diva-canvas-column",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([P(tm,f6,e.dm,e.X||H(e.H,rm)||H(e.b0,rp),2===e.H.$&&e.a3,i,pp(e))])),g0(e),2===e.H.$?$(gY,e,lG(e)):$(f1,gK(e),lG(e))])),$(f_,q([fB("diva-required-statement-dock")]),q([$(f1,tv(gr),$(az,function(e){return $(cA,a.ey,e.fG)},$(aN,fG,lG(a=e))))])),(n=e).cP?$(f_,q([fF(q([{a:"diva-modal-overlay",b:!0},{a:"is-fullscreen",b:n.ds}]))]),q([$(f_,q([fF(q([{a:"diva-modal",b:!0},{a:"is-fullscreen",b:n.ds},{a:"is-page-view",b:!n.ds}]))]),q([gn(n),bW(n)]))])):fQ,e.dZ?$(f_,q([fB("diva-modal-overlay")]),q([$(f_,q([fB("diva-modal is-narrow")]),q([v1(e),$(v_,e,lG(e))]))])):fQ,$(f1,fY(e),e.dh.ah)]))]))}})($(ey,function(e){return $(ey,function(t){return $(ey,function(n){return $(ey,function(r){return $(ey,function(a){return $(ey,function(i){return $(ey,function(o){return $(ey,function(s){return $(ey,function(u){return $(ey,function(c){return $(ey,function(l){return $(ey,function(d){return n1({av:d,ci:l,dj:c,bK:u,cG:s,d1:o,dw:i,ec:a,dB:r,_:n,b4:t,ej:e})},$(ep,"acceptHeaders",ac(eg)))},$(ep,"annotationServer",al(q([sT(na),$(ex,nr,eg)]))))},$(ep,"enableAnnotationSelection",eh))},$(ep,"enableAnnotations",eh))},$(ep,"initialPage",eb))},$(ep,"objectData",eg))},$(ep,"rootElementId",eg))},$(ep,"showSidebar",eh))},$(ep,"showTitle",eh))},$(ep,"sidebarPanel",eg))},$(ep,"sidebarWidth",ef))},$(ep,"userLanguage",eg)))(0)}},pw=/\/info\.json(?:[?#].*)?$/,py=()=>new DOMException("The operation was cancelled.","AbortError"),px=e=>"string"==typeof e?e:{...e},pC=class{resolve(e,t){if(this.destroyed||t.aborted)return Promise.reject(py());let n=JSON.stringify([e.url,e.isStatic]),r=this.resolutionCache.get(e.sourceId);if(r&&r.descriptorKey!==n)this.invalidateSource(e.sourceId);else if(r){let e=r.resolutions.get(r.activeState);if(void 0!==e)return Promise.resolve(px(e))}let a=this.inflight.get(e.sourceId);return a&&a.descriptorKey!==n&&(this.invalidateSource(e.sourceId),a=void 0),a||(a=this.startResolution(e,n)),this.consume(a,t)}registerSources(e){Array.from(this.inflight.values()).forEach(e=>this.cancelResolution(e)),this.resolutionCache.clear(),this.cancelBrowserWork()}invalidateSources(e){e.forEach(e=>this.invalidateSource(e))}useNonCorsStaticSource(e){let t=this.resolutionCache.get(e),n=null==t?void 0:t.resolutions.get("anonymous");t&&n&&"object"==typeof n&&"image"===n.type&&(t.resolutions.set("anonymous",v(n)),t.activeState="anonymous")}destroy(){this.destroyed||(this.destroyed=!0,this.root.removeEventListener("click",this.clickHandler,!0),this.ports.authDestroyed.send(null),this.cancelBrowserWork(),this.pending.forEach(e=>e.reject(new DOMException("The viewer was destroyed.","AbortError"))),this.pending.clear(),this.inflight.clear(),this.resolutionCache.clear())}cancelBrowserWork(){this.requests.forEach(e=>e.abort()),this.requests.clear(),Array.from(this.frames.keys()).forEach(e=>this.cancelFrame(e)),this.closePopups(this.popups),this.closePopups(this.logoutPopups)}closePopups(e){e.forEach(e=>{clearInterval(e.timer),e.window.close()}),e.clear()}succeed(e){let t,n=this.pending.get(e.requestId);if(!n||this.destroyed)return;this.pending.delete(e.requestId);let r=this.inflight.get(n.sourceId);(null==r?void 0:r.requestId)===e.requestId&&this.inflight.delete(n.sourceId);let a=e.credentialed?"use-credentials":"Anonymous";if(e.infoJson&&"object"==typeof e.infoJson&&!e.isStatic)t={...(e=>{let t={...e};for(let e of["id","@id"]){let n=t[e];"string"==typeof n&&pw.test(n)&&(t[e]=n.replace(pw,""))}return t})(e.infoJson),crossOriginPolicy:a,ajaxWithCredentials:e.credentialed};else if(e.isStatic){let n=!e.credentialed&&"none"===this.staticImageCorsPolicy;t=h(e.url,e.credentialed,n)}else t=e.credentialed?{url:e.url,crossOriginPolicy:a,ajaxWithCredentials:!0}:e.url;let i=e.credentialed?"credentialed":"anonymous",o=this.resolutionCache.get(n.sourceId),s=(null==o?void 0:o.descriptorKey)===n.descriptorKey?o.resolutions:new Map;s.set(i,t),this.resolutionCache.set(n.sourceId,{descriptorKey:n.descriptorKey,activeState:i,resolutions:s}),n.resolve(t)}fail(e,t){let n=this.pending.get(e);if(!n)return;this.pending.delete(e);let r=this.inflight.get(n.sourceId);(null==r?void 0:r.requestId)===e&&this.inflight.delete(n.sourceId),n.reject(Error(t))}startResolution(e,t){let n,r,a=`tile-source-${this.nextRequest+=1}`,i={requestId:a,descriptorKey:t,promise:new Promise((e,t)=>{n=e,r=t}),consumers:new Set};return this.pending.set(a,{sourceId:e.sourceId,descriptorKey:t,resolve:n,reject:r}),this.inflight.set(e.sourceId,i),this.ports.resolveTileSourceRequested.send({requestId:a,sourceId:e.sourceId}),i}consume(e,t){let n=this.nextConsumer+=1;return e.consumers.add(n),new Promise((r,a)=>{let i=!1,o=()=>{t.removeEventListener("abort",s),e.consumers.delete(n)},s=()=>{i||(i=!0,o(),a(py()),0===e.consumers.size&&this.cancelResolution(e))};t.addEventListener("abort",s,{once:!0}),e.promise.then(e=>{i||(i=!0,o(),r(px(e)))},e=>{i||(i=!0,o(),a(e))})})}cancelResolution(e){var t;let n=this.pending.get(e.requestId);n&&(this.pending.delete(e.requestId),(null==(t=this.inflight.get(n.sourceId))?void 0:t.requestId)===e.requestId&&this.inflight.delete(n.sourceId),this.ports.resolveTileSourceCancelled.send(e.requestId),n.reject(py()))}invalidateSource(e){this.resolutionCache.delete(e);let t=this.inflight.get(e);t&&this.cancelResolution(t)}async fetch(e){let t=new AbortController;this.requests.set(e.id,t);try{let n=await fetch(e.url,{mode:"cors",credentials:e.withCredentials?"include":"omit",signal:t.signal,headers:e.bearer?{Authorization:`Bearer ${e.bearer}`}:void 0}),r=await n.text();this.destroyed||this.ports.authHttpResponded.send({id:e.id,status:n.status,body:r})}catch(n){t.signal.aborted||this.destroyed||this.ports.authHttpFailed.send({id:e.id,message:n instanceof Error?n.message:"Authorization request failed."})}finally{this.requests.delete(e.id)}}cancelFetch(e){var t;null==(t=this.requests.get(e))||t.abort(),this.requests.delete(e)}storage(e){let t="diva:iiif-auth2:"+encodeURIComponent(e.key);try{if("write"===e.action)return void sessionStorage.setItem(t,JSON.stringify({accessToken:e.accessToken,expiresAt:e.expiresAt}));if("remove"===e.action)return void sessionStorage.removeItem(t);let n=sessionStorage.getItem(t);this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:n?JSON.parse(n):null})}catch(t){"read"===e.action&&this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:null})}}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest("button[data-diva-auth-logout][data-diva-auth-url]");if(n&&this.root.contains(n)){e.preventDefault(),e.stopPropagation(),this.startLogout(n);return}let r=t.closest("button[data-diva-auth-flow][data-diva-auth-url]");if(!r||!this.root.contains(r))return;e.preventDefault(),e.stopPropagation();let a=r.dataset.divaAuthFlow,i=new URL(r.dataset.divaAuthUrl,location.href);i.searchParams.set("origin",location.origin);let o=window.open(i.href,"_blank");if(!o)return void this.ports.authPopupChanged.send({flowId:a,status:"blocked"});this.ports.authPopupChanged.send({flowId:a,status:"opened"});let s=Date.now(),u=window.setInterval(()=>{o.closed?(clearInterval(u),this.popups.delete(a),this.ports.authPopupChanged.send({flowId:a,status:"closed"})):Date.now()-s>6e5&&(o.close(),clearInterval(u),this.popups.delete(a),this.ports.authTokenFailed.send({flowId:a,message:"Sign-in timed out."}))},250);this.popups.set(a,{window:o,timer:u})}startLogout(e){let t=e.dataset.divaAuthLogout,n=new URL(e.dataset.divaAuthUrl,location.href),r=window.open(n.href,"_blank");if(!r)return void this.ports.authLogoutChanged.send({sessionId:t,status:"blocked"});this.ports.authLogoutChanged.send({sessionId:t,status:"opened"});let a=window.setInterval(()=>{r.closed&&(clearInterval(a),this.logoutPopups.delete(t),this.ports.authLogoutChanged.send({sessionId:t,status:"closed"}))},250);this.logoutPopups.set(t,{window:r,timer:a})}startFrame(e){this.cancelFrame(e.flowId);let t=new URL(e.url,location.href);t.searchParams.set("messageId",e.messageId),t.searchParams.set("origin",location.origin);let n=document.createElement("iframe");n.hidden=!0,n.src=t.href;let r=r=>{r.source===n.contentWindow&&r.origin===t.origin&&r.data&&"object"==typeof r.data&&r.data.messageId===e.messageId&&this.ports.authTokenMessage.send({flowId:e.flowId,now:Date.now(),value:r.data})};window.addEventListener("message",r);let a=window.setTimeout(()=>{this.cancelFrame(e.flowId),this.ports.authTokenFailed.send({flowId:e.flowId,message:"The token service did not respond."})},3e4);this.frames.set(e.flowId,{element:n,timeout:a,receive:r}),document.body.append(n)}cancelFrame(e){let t=this.frames.get(e);t&&(clearTimeout(t.timeout),window.removeEventListener("message",t.receive),t.element.remove(),this.frames.delete(e))}constructor(e,t,n="required"){this.pending=new Map,this.inflight=new Map,this.resolutionCache=new Map,this.requests=new Map,this.frames=new Map,this.popups=new Map,this.logoutPopups=new Map,this.nextRequest=0,this.nextConsumer=0,this.destroyed=!1,this.ports=e,this.root=t,this.staticImageCorsPolicy=n,this.clickHandler=this.handleClick.bind(this),t.addEventListener("click",this.clickHandler,!0),e.tileSourceResolutionSucceeded.subscribe(e=>this.succeed(e)),e.tileSourceResolutionFailed.subscribe(e=>this.fail(e.requestId,e.message)),e.authHttpRequested.subscribe(e=>void this.fetch(e)),e.authHttpCancelled.subscribe(e=>this.cancelFetch(e)),e.authStorageRequested.subscribe(e=>this.storage(e)),e.authTokenFrameRequested.subscribe(e=>this.startFrame(e)),e.authTokenFrameCancelled.subscribe(e=>this.cancelFrame(e))}};function pI(e,t){if(!e)throw Error("A viewer must be specified.");e.filterPluginInstance?pE(e.filterPluginInstance,t||{}):e.filterPluginInstance=function(e,t){let n={viewer:e,filters:[],filterIncrement:0};function r(e,t,r){if(r){let a=n.filterIncrement,i=[];for(let r=0;r{n.filterIncrement===a&&t[r+1](e,i[r+1])};i[t.length-1]=()=>{n.filterIncrement===a&&r()},t[0](e,i[0])}else for(let n=0;n{})}return n.viewer.addHandler("tile-loaded",function(e){let t=pR(n,e.tiledImage);if(0===t.length)return;let a=e.tile,i=e.data||e.image;if(null!=i){let o=window.document.createElement("canvas");o.width=i.width,o.height=i.height;let s=o.getContext("2d",{willReadFrequently:!0});s.drawImage(i,0,0),a._renderedContext=s,r(s,t,e.getCompletionCallback()),a._filterIncrement=n.filterIncrement}}),n.viewer.addHandler("tile-drawing",function(e){let t=e.tile,a=e.rendered;if(a._filterIncrement===n.filterIncrement)return;let i=pR(n,e.tiledImage);if(0===i.length){a._originalImageData&&(a.putImageData(a._originalImageData,0,0),delete a._originalImageData),a._filterIncrement=n.filterIncrement;return}if(a._originalImageData?a.putImageData(a._originalImageData,0,0):a._originalImageData=pA(a),t._renderedContext){if(t._filterIncrement===n.filterIncrement){let e=pA(t._renderedContext);a.putImageData(e,0,0),delete t._renderedContext,delete t._filterIncrement,a._filterIncrement=n.filterIncrement;return}delete t._renderedContext,delete t._filterIncrement}r(a,i),a._filterIncrement=n.filterIncrement}),pE(n,t),n}(e,t||{})}function pA(e){let t=e.canvas.width,n=e.canvas.height,r=p0._ensureScratchContext(t,n);return r.clearRect(0,0,t,n),r.drawImage(e.canvas,0,0),r.getImageData(0,0,t,n)}function pE(e,t){let n=t.filters;e.filters=n?Array.isArray(n)?n:[n]:[];for(let t=0;t=0)throw Error("An item can not have filters assigned multiple times.");t.push(e)}function pR(e,t){if(0===e.filters.length)return[];let n=null;for(let r=0;r=0)return a.processors}else n=a.processors}return n||[]}var pS=(e,t)=>{let n=e[0],r=e[e.length-1];for(let a=0;a=t){r=e[a],n=e[Math.max(0,a-1)];break}if(r.stop===n.stop)return r.color.slice();let a=(t-n.stop)/(r.stop-n.stop);return[Math.round(n.color[0]+(r.color[0]-n.color[0])*a),Math.round(n.color[1]+(r.color[1]-n.color[1])*a),Math.round(n.color[2]+(r.color[2]-n.color[2])*a)]},pM=e=>{let t=[];for(let n=0;n<256;n+=1){let r=n/255;t[n]=pS(e,r)}return t},pP=new Map,pL=e=>e<0?0:e>255?255:e,pT=e=>e<0?0:e>1?1:e,pk=e=>{if(!e)return null;let t=e.trim();if(t.startsWith("#")&&(t=t.slice(1)),3===t.length&&(t=t.split("").map(e=>e+e).join("")),6!==t.length)return null;let n=parseInt(t,16);return Number.isNaN(n)?null:[n>>16&255,n>>8&255,255&n]},pO=(e,t,n,r,a)=>{let i=new Uint8ClampedArray(e.length);if(!r)return i.set(e),i;let o=1/(2*r+1);if(a){let a=new Uint8ClampedArray(t*n);for(let i=0;i>8;return a}function pB(e,t){let n=e.canvas.width,r=e.canvas.height,a=p0._ensureScratchContext(n,r);a.clearRect(0,0,n,r),a.drawImage(e.canvas,0,0);let i=a.getImageData(0,0,n,r);t(i)&&(a.putImageData(i,0,0),e.clearRect(0,0,n,r),e.drawImage(p0._scratchCanvas,0,0))}function pF(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function p_(e){let t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function pN(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function pz(e,t){let n=p_([1,1,1]);for(let r=0;r{t()};function pq(e,t,n){let r=e/255,a=t/255,i=n/255,o=Math.max(r,a,i),s=Math.min(r,a,i),u=o-s,c=0;if(o!==s){switch(o){case r:c=(a-i)/u+6*(a{i[0]=t[e],i[1]=n,i[2]=r,i[3]=a}):1===e?pH((e,n,r,a,i)=>{i[0]=e,i[1]=t[n],i[2]=r,i[3]=a}):pH((e,n,r,a,i)=>{i[0]=e,i[1]=n,i[2]=t[r],i[3]=a})}function pW(e,t){let n=t/100,r=Math.abs(n),a=e=>n>0?e+(255-e)*n:e-e*r;return 0===e?pH((e,t,n,r,i)=>{i[0]=a(e),i[1]=t,i[2]=n,i[3]=r}):1===e?pH((e,t,n,r,i)=>{i[0]=e,i[1]=a(t),i[2]=n,i[3]=r}):pH((e,t,n,r,i)=>{i[0]=e,i[1]=t,i[2]=a(n),i[3]=r})}function pZ(e,t){let n=Math.max(0,Math.min(100,t||0));if(0===n)return pJ;let r=1-n/100*.8,a=[];for(let e=0;e<256;e+=1)a[e]=pL(255*Math.pow(e/255,r));return pj(e,a)}function pY(e,t){let n=Math.max(0,Math.min(100,t||0))/100;if(0===n)return pJ;let r=[];for(let e=0;e<256;e+=1){let t=255*(1/(1+Math.exp(-8*(e/255-.5))));r[e]=pL(e+(t-e)*n)}return pj(e,r)}function pK(e,t,n){let r=Math.max(-100,Math.min(100,t||0))/100;if(0===r)return pJ;let a=Math.max(.02,Math.min(.3,(void 0===n?8:n)/100));return pH((t,n,i,o,s)=>{let u=pq(t,n,i),c=pT(1-(0===e?Math.min(Math.abs(u.h),Math.abs(1-u.h)):Math.abs(u.h-e))/a)*Math.abs(r);if(c<=0){s[0]=t,s[1]=n,s[2]=i,s[3]=o;return}let l=r>=0?1:-1,d=pT(u.s+l*(1-u.s)*c),f=pT(u.v+l*u.v*c*.2),h=pX(u.h,d,f);s[0]=h.r,s[1]=h.g,s[2]=h.b,s[3]=o})}function pQ(e,t){let n=Math.max(0,Math.min(100,t||0))/100;if(0===n)return pJ;let r=[];for(let e=0;e<256;e+=1){let t=e/255*(e/255)*n;r[e]=pL(e+(255-e)*t)}return pj(e,r)}var p0={_scratch:null,_scratchCanvas:null,_scratchContext:null,_ensureScratch:function(e){return(!this._scratch||this._scratch.length255)throw Error("Threshold must be between 0 and 255.");return pH((t,n,r,a,i)=>{let o=255*(54*t+183*n+19*r>>8>=e);i[0]=o,i[1]=o,i[2]=o,i[3]=255})},SATURATION:function(e){let t=-.01*e;return pH((e,n,r,a,i)=>{let o=Math.max(e,n,r);i[0]=e!==o?e+(o-e)*t:e,i[1]=n!==o?n+(o-n)*t:n,i[2]=r!==o?r+(o-r)*t:r,i[3]=a})},VIBRANCE:function(e){let t=-1*e;return pH((e,n,r,a,i)=>{let o=Math.max(e,n,r),s=2*Math.abs(o-(e+n+r)/3)/255*t/100;i[0]=e!==o?e+(o-e)*s:e,i[1]=n!==o?n+(o-n)*s:n,i[2]=r!==o?r+(o-r)*s:r,i[3]=a})},HUE:function(e){let t=pU(Math.abs(e)/100*360);return pH((e,n,r,a,i)=>{i[0]=pL(t.m00*e+t.m01*n+t.m02*r),i[1]=pL(t.m10*e+t.m11*n+t.m12*r),i[2]=pL(t.m20*e+t.m21*n+t.m22*r),i[3]=a})},BRIGHTNESS:function(e){if(e<-255||e>255)throw Error("Brightness adjustment must be between -255 and 255.");let t=[];for(let n=0;n<256;n+=1)t[n]=n+e;return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},CC_RED:function(e){return pW(0,e)},CC_GREEN:function(e){return pW(1,e)},CC_BLUE:function(e){return pW(2,e)},CONTRAST:function(e){if(e<0)throw Error("Contrast adjustment must be positive.");let t=[];for(let n=0;n<256;n+=1)t[n]=n*e;return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},GAMMA:function(e){if(e<0)throw Error("Gamma adjustment must be positive.");let t=[];for(let n=0;n<256;n+=1)t[n]=255*Math.pow(n/255,e);return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},GREYSCALE:function(){return pH((e,t,n,r,a)=>{let i=77*e+150*t+29*n>>8;a[0]=i,a[1]=i,a[2]=i,a[3]=255})},INVERT:function(){let e=[];for(let t=0;t<256;t+=1)e[t]=255-t;return pH((t,n,r,a,i)=>{i[0]=e[t],i[1]=e[n],i[2]=e[r],i[3]=a})},MORPHOLOGICAL_OPERATION:function(e,t){if(e%2==0)throw Error("The kernel size must be an odd number.");let n=Math.floor(e/2);if(!t)throw Error("A comparator must be defined.");return function(r,a){pB(r,r=>{let a=r.width,i=r.height,o=p0._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,n,r,a,i,o){let s=4*n,u=r-i,c=n-i;for(let n=i;n=i&&l=i&&u=r)continue;let d=c*s;for(let t=0;t=0&&r{let a=r.width,i=r.height,o=p0._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,n,r,a,i,o){let s=4*n,u=r-o,c=n-o;for(let n=o;n=o&&l=o&&u=r)continue;let d=c*s;for(let r=0;r=0&&st?0|Math.min((a-t)/r*128+128,255):0|Math.max(0,a/(t/128)),n[a]=e[i]}return pH((e,t,r,a,i)=>{let o=n[(e+t+r)/3|0];i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=255})},COLORMAP_PRESET:function(e){var t=e||"";let n=pP.get(t);if(n)return n;let r=null;switch(t){case"hot":r=pM([{stop:0,color:[0,0,0]},{stop:.4,color:[255,0,0]},{stop:.7,color:[255,255,0]},{stop:1,color:[255,255,255]}]);break;case"cool":r=pM([{stop:0,color:[0,0,0]},{stop:.5,color:[0,128,255]},{stop:1,color:[255,255,255]}]);break;case"gray":case"":r=pM([{stop:0,color:[0,0,0]},{stop:1,color:[255,255,255]}]);break;default:return null}return pP.set(t,r),r},CONVOLUTION_PRESET:function(e){switch((e||"").toLowerCase()){case"sharpen":return[0,-1,0,-1,5,-1,0,-1,0];case"blur":return[1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9];case"edge":return[-1,-1,-1,-1,8,-1,-1,-1,-1];case"emboss":return[-2,-1,0,-1,1,1,0,1,2];default:return null}},PSEUDOCOLOR:function(e,t,n,r){let a=(e||"").toLowerCase(),i=void 0===t?1:t,o=void 0===n?1:n,s=void 0===r?1:r,u=(e,t,n,r)=>{r[0]=pL(e*i),r[1]=pL(t*o),r[2]=pL(n*s)};return pH((e,t,n,r,i)=>{let o=.2126*e+.7152*t+.0722*n;switch(a){case"rg":{let n=pL(128+(e-t));u(n,255-n,(e+t)/2,i),i[3]=r;return}case"gb":{let e=pL(128+(t-n));u((t+n)/2,e,255-e,i),i[3]=r;return}case"rb":{let t=pL(128+(e-n));u(t,(e+n)/2,255-t,i),i[3]=r;return}case"luma":{let e=pL(o);u(e,255-e,e,i),i[3]=r;return}case"cmy":u(255-e,255-t,255-n,i),i[3]=r;return;case"heat":{let e=pL(o)/255;u(pL(255*Math.min(1,3*e)),pL(255*Math.min(1,Math.max(0,(e-.33)*3))),pL(255*Math.min(1,Math.max(0,(e-.66)*3))),i),i[3]=r;return}case"pca1":{let a=pL(.6*e+.3*t+.1*n);u(a,255-a,a,i),i[3]=r;return}case"pca2":{let a=pL(.5*e-.2*t-.3*n+128);u(a,255-a,255-a,i),i[3]=r;return}case"pca3":{let a=pL(.2*e+.6*t-.8*n+128);u(255-a,a,255-a,i),i[3]=r;return}default:u(e,t,n,i),i[3]=r}})},COLOR_REPLACE:function(e,t,n,r,a){let i=pk(e),o=pk(t);if(!i||!o)return pJ;let s=Math.max(0,Math.min(255,void 0===n?0:n)),u=Math.max(0,Math.min(1,void 0===r?1:r)),c=pq(o[0],o[1],o[2]);return pH((e,t,n,r,l)=>{let d,f=e-i[0],h=t-i[1],v=n-i[2],b=Math.sqrt(f*f+h*h+v*v);if((d=(s<=0?+(0===b):1-Math.min(1,b/s))*u)<=0){l[0]=e,l[1]=t,l[2]=n,l[3]=r;return}let g=o[0],p=o[1],m=o[2];if(a){let r=(.2126*e+.7152*t+.0722*n)/255,a=pX(c.h,c.s,r);g=a.r,p=a.g,m=a.b}l[0]=pL(e+(g-e)*d),l[1]=pL(t+(p-t)*d),l[2]=pL(n+(m-n)*d),l[3]=r})},ALT_RED_GAMMA:function(e){return pZ(0,e)},ALT_GREEN_GAMMA:function(e){return pZ(1,e)},ALT_BLUE_GAMMA:function(e){return pZ(2,e)},ALT_RED_SIGMOID:function(e){return pY(0,e)},ALT_GREEN_SIGMOID:function(e){return pY(1,e)},ALT_BLUE_SIGMOID:function(e){return pY(2,e)},ALT_RED_HUE:function(e,t){return pK(0,e,t)},ALT_GREEN_HUE:function(e,t){return pK(1/3,e,t)},ALT_BLUE_HUE:function(e,t){return pK(2/3,e,t)},ALT_RED_VIBRANCE:function(e){return pQ(0,e)},ALT_GREEN_VIBRANCE:function(e){return pQ(1,e)},ALT_BLUE_VIBRANCE:function(e){return pQ(2,e)},GLOBAL_PCA_COLOR:function(e,t){let n=(e||"").toLowerCase(),r=Math.max(-180,Math.min(180,null!=t?t:0)),a={count:0,mean:[0,0,0],m2:[[0,0,0],[0,0,0],[0,0,0]]},i=null;return function(e,t){pB(e,e=>{let t=e.data;return!i&&(!function(e,t){for(let n=0;n=2e3&&(i=function(e){if(e.count<2)return null;let t=1/(e.count-1),n=[[e.m2[0][0]*t,e.m2[0][1]*t,e.m2[0][2]*t],[e.m2[1][0]*t,e.m2[1][1]*t,e.m2[1][2]*t],[e.m2[2][0]*t,e.m2[2][1]*t,e.m2[2][2]*t]];return pG(e.mean,n)}(a))),i?!function(e,t,n,r){let a=e.data,i=n.mean,o=n.vectors[0],s=n.vectors[1],u=n.vectors[2],c=Math.sqrt(Math.max(1e-6,n.values[0])),l=Math.sqrt(Math.max(1e-6,n.values[1])),d=Math.sqrt(Math.max(1e-6,n.values[2])),f=(e,t)=>pL(128+e/(3*t)*127);for(let e=0;el&&(l=b),gf&&(f=g),pv&&(v=p)}let b=l-c||1,g=f-d||1,p=v-h||1,m=(e,t,n)=>pL((e-t)/n*255);for(let e=0;e{let n=e.width,r=e.height;if(!n||!r)return!1;let a=e.data,i=pV(a,n,r),o=pO(i,n,r,6,!0);for(let e=0,n=0;e{let n=e.width,r=e.height;if(!n||!r)return!1;let a=pO(e.data,n,r,2),i=e.data;for(let e=0;e{let t=e.width,a=e.height;if(!t||!a)return!1;let i=e.data,o=pV(i,t,a),s=pO(o,t,a,Math.floor(n/2),!0);for(let e=0,t=0;es[t]+r);i[e]=n,i[e+1]=n,i[e+2]=n}return!0}),t()}}},p1="diva-inline-styles";(e=>{if("u":first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-filter-access-warning{color:var(--diva-danger);background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);margin:0 0 12px;padding:8px;line-height:1.4}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background-color,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{width:100%;height:auto}}");var p2=e=>JSON.parse(JSON.stringify(e)),p4=e=>"string"==typeof e?e:Array.isArray(e)?e.length>0?p4(e[0]):"":e&&"object"==typeof e?"string"==typeof e.value?e.value:"string"==typeof e.chars?e.chars:"":"",p3=e=>{var t;return e&&"object"==typeof e?("string"==typeof e.type?e.type.toLowerCase():"string"==typeof e["@type"]?e["@type"].toLowerCase():"").includes("svgselector")&&"string"==typeof e.value?{kind:"svg",value:e.value}:"string"==typeof e.value?p6(e.value):null!=(t=p3(e.default))?t:p3(e.item):void 0},p6=e=>{let t=(e.startsWith("xywh=")?e.slice(5):e).split(",").map(Number);return 4===t.length&&t.every(Number.isFinite)&&t[2]>0&&t[3]>0?{kind:"rect",x:t[0],y:t[1],width:t[2],height:t[3]}:void 0},p5=(e,t=null)=>{var n,r;let a,i;if(!e||"object"!=typeof e||"string"!=typeof e.id||0===e.id.length)throw TypeError("An annotation must be an object with a non-empty string id.");let o=null!=(n=e.target)?n:e.on;if("string"==typeof o){let e=o.match(/^(.*)#xywh=(.+)$/);a=null==e?void 0:e[1],i=e?p6(e[2]):void 0}else o&&"object"==typeof o&&(a="string"==typeof o.source?o.source:void 0,i=p3(o.selector));if(!a||!i)throw TypeError("An annotation target must identify a Canvas and use a supported xywh or SVG selector.");let s=p4(null!=(r=e.body)?r:e.resource);return{canvasId:a,publicAnnotation:p2(e),viewerAnnotation:{id:e.id,text:s.replace(/<[^>]*>/g,""),html:s,imageService:t,shape:i}}},p8=class extends EventTarget{detectLanguage(){return navigator.language.split("-")[0]}initialPageFlag(e){return"number"==typeof e?Number.isInteger(e)&&e>=0?e:null:e&&"object"==typeof e&&("canvasId"===e.by||"label"===e.by)&&"string"==typeof e.value?{by:e.by,value:e.value}:null}getConnectedRoot(){let e=document.getElementById(this.rootId);return e||this.root}bindPorts(){this.getPort("tileSourcesUpdated").subscribe(e=>{this.annotationResourceId!==e.resourceId&&(this.annotationResourceId=e.resourceId,this.manifestAnnotationsByCanvas.clear(),this.apiAnnotationsByCanvas.clear(),this.clearedAnnotationCanvases.clear(),this.annotationImageServicesByCanvas.clear()),e.tileSources.forEach(e=>{e.canvasId&&this.annotationImageServicesByCanvas.set(e.canvasId,e.isStatic?null:e.url)}),this.auth.registerSources(e.tileSources),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setTileSources",e.tileSources,e.initialPageIndex,e.resourceId)}),this.getPort("annotationsUpdated").subscribe(e=>{this.manifestAnnotationsByCanvas.set(e.canvasId,e.annotations.map(t=>{var n,r,a,i;return{canvasId:e.canvasId,publicAnnotation:(r=e.canvasId,{id:t.id,type:"Annotation",body:{type:"TextualBody",value:null!=(a=t.html)?a:t.text},target:"rect"===t.shape.kind?{type:"SpecificResource",source:r,selector:{type:"FragmentSelector",value:`xywh=${t.shape.x},${t.shape.y},${t.shape.width},${t.shape.height}`}}:{type:"SpecificResource",source:r,selector:{type:"SvgSelector",value:null!=(i=t.shape.value)?i:""}}}),viewerAnnotation:{...t,imageService:null!=(n=t.imageService)?n:null}}})),this.applyAnnotationsForCanvas(e.canvasId)}),this.getPort("annotationsVisibilityUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setAnnotationsVisible",e)}),this.getPort("pageAspectsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageAspects",e)}),this.getPort("pageLabelsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageLabels",e)}),this.getPort("pagesUpdated").subscribe(e=>{this.pages=e.map(e=>this.copyPage(e)),this.rebuildPageIndexes(),this.updateState({pageCount:this.pages.length,currentPageIndex:null,visiblePageIndexes:[]})}),this.getPort("zoomLevelUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setZoomLevel",e)}),this.getPort("zoomBy").subscribe(e=>{this.callViewerMethod("zoomBy",e)}),this.getPort("scrollToIndex").subscribe(e=>{this.callViewerMethod("scrollToIndex",e)}),this.getPort("filterPreviewUpdated").subscribe(e=>{var t;e?(this.filterPreviewVersion+=1,null==(t=this.filterPreviewController)||t.abort(),this.filterPreviewController=null,this.pendingFilterPreview=e,this.applyFilterPreview()):this.closeFilterPreview()}),this.getPort("setFullscreen").subscribe(e=>{this.setFullscreen(e)}),this.getPort("saveFilteredImage").subscribe(()=>{this.saveFilteredImage()}),this.getPort("layoutConfigUpdated").subscribe(e=>{this.callViewerMethod("setLayoutConfig",e.mode,e.direction)||this.callViewerMethodWhenReady("setLayoutConfig",e.mode,e.direction),this.updateLayoutState(e.mode,e.direction)}),this.getPort("layoutModeUpdated").subscribe(e=>{this.callViewerMethod("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection)}),this.getPort("resourceLoadSucceeded").subscribe(e=>{this.handleResourceSucceeded(e.requestId,e.url,e.hasPages,e.pageIndex)}),this.getPort("resourceLoadFailed").subscribe(e=>{this.handleResourceFailed(e.requestId,e.message)}),this.getPort("copyToClipboard").subscribe(e=>{this.copyToClipboard(e)}),this.getPort("authSourcesInvalidated").subscribe(e=>{this.auth.invalidateSources(e),this.callViewerMethodWhenReady("invalidateTileSources",e)})}ensureMainViewer(){let e=document.getElementById("main-viewer");return e&&e!==this.mainViewer&&(this.mainViewer=e),this.mainViewer}copyPage(e){var t;let n=e.images.map(e=>({...e})),r=null!=(t=n.find(t=>t.id===e.primaryImage.id&&t.isPrimary))?t:{...e.primaryImage};return{index:e.index,canvasId:e.canvasId,label:e.label,...null===e.width||void 0===e.width?{}:{width:e.width},...null===e.height||void 0===e.height?{}:{height:e.height},primaryImage:{...r},images:n}}effectiveAnnotationsForCanvas(e){var t,n;if(this.clearedAnnotationCanvases.has(e))return[];let r=new Map;return(null!=(t=this.manifestAnnotationsByCanvas.get(e))?t:[]).forEach(e=>r.set(e.viewerAnnotation.id,e)),(null!=(n=this.apiAnnotationsByCanvas.get(e))?n:[]).forEach(e=>r.set(e.viewerAnnotation.id,e)),Array.from(r.values())}applyAnnotationsForCanvas(e){this.callViewerMethodWhenReady("setAnnotations",e,this.effectiveAnnotationsForCanvas(e).map(e=>e.viewerAnnotation))}findStoredAnnotation(e){for(let t of new Set([...this.manifestAnnotationsByCanvas.keys(),...this.apiAnnotationsByCanvas.keys()])){let n=this.effectiveAnnotationsForCanvas(t).find(t=>t.viewerAnnotation.id===e);if(n)return n}}rebuildPageIndexes(){this.pagesByCanvasId.clear(),this.pagesByLabel.clear(),this.pages.forEach(e=>{this.pagesByCanvasId.has(e.canvasId)||this.pagesByCanvasId.set(e.canvasId,e);let t=e.label.toLowerCase();this.pagesByLabel.has(t)||this.pagesByLabel.set(t,e)})}pageForSelector(e){if(!e||"object"!=typeof e||"canvasId"!==e.by&&"label"!==e.by||"string"!=typeof e.value)throw TypeError("A page selector must contain a supported 'by' value and a string 'value'.");return"canvasId"===e.by?this.pagesByCanvasId.get(e.value):this.pagesByLabel.get(e.value.toLowerCase())}copyState(){return{...this.state,visiblePageIndexes:this.state.visiblePageIndexes.slice()}}updateState(e){this.state={...this.state,...e}}emit(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}updateLayoutState(e,t){let n="spread"===e||"spread-shift"===e?e:"single",r="rtl"===t?"rtl":"ltr",a=this.ensureMainViewer(),i=a&&"function"==typeof a.getVisiblePageIndexes?a.getVisiblePageIndexes():this.state.visiblePageIndexes,o=n!==this.state.layoutMode||r!==this.state.viewingDirection;this.updateState({layoutMode:n,viewingDirection:r,visiblePageIndexes:i}),o&&this.emit("layoutchange",{layoutMode:n,viewingDirection:r})}handleResourceSucceeded(e,t,n,r){var a;if(e!==this.activeResourceRequestId)return;let i="initial"!==e;if(i&&(this.updateState({resourceUrl:t}),this.emit("resourcechange",{resourceUrl:t,state:this.copyState()})),n){this.awaitingViewerResource={id:e,url:t,pageIndex:r,resourceChangeEmitted:i};let n=this.ensureMainViewer(),o=null==(a=this.pages[r])?void 0:a.primaryImage.id;o&&n&&"function"==typeof n.isPageLoaded&&n.isPageLoaded(r,o)&&this.completeResource(e,t,!i);return}this.completeResource(e,t,!i)}completeResource(e,t,n){e===this.activeResourceRequestId&&(this.awaitingViewerResource=null,this.updateState({resourceUrl:t,ready:!0}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyResolve(),this.emit("ready",this.copyState())),"initial"!==e&&this.pendingResource&&(this.pendingResource.resolve(),this.pendingResource=null),n&&this.emit("resourcechange",{resourceUrl:t,state:this.copyState()}))}handleResourceFailed(e,t){var n,r;if(e!==this.activeResourceRequestId)return;let a=Error(t),i=(null==(n=this.pendingResource)?void 0:n.id)===e&&this.pendingResource.previousReady;this.awaitingViewerResource=null,this.updateState({ready:i}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(a)),"initial"!==e&&(null==(r=this.pendingResource)?void 0:r.id)===e&&(this.pendingResource.reject(a),this.pendingResource=null),this.emit("error",{error:a,operation:"setResource",recoverable:"initial"!==e})}assertAlive(){if(this.isDestroyed)throw new DOMException("The Diva instance was destroyed.","InvalidStateError")}assertPageIndex(e){if(!Number.isInteger(e)||e<0||e>=this.pages.length)throw RangeError(`Page index ${e} is outside the available page range.`)}refreshLoadingState(){let e=this.resourceLoading||this.viewerLoading;e!==this.state.loading&&(this.updateState({loading:e}),this.emit("loadingchange",{loading:e}))}async waitForResource(){this.assertAlive(),this.pendingResource?await this.pendingResource.promise:await this.ready,this.assertAlive()}async applyFilterPreview(){if(this.isDestroyed||!this.pendingFilterPreview)return;if(!this.ensureFilterViewerElement()){this.filterPreviewRetries<10&&(this.filterPreviewRetries+=1,null===this.filterPreviewRafId&&(this.filterPreviewRafId=requestAnimationFrame(()=>{this.filterPreviewRafId=null,this.applyFilterPreview()})));return}let e=this.pendingFilterPreview;this.pendingFilterPreview=null,this.filterPreviewRetries=0;let t=this.filterPreviewVersion;if(this.filterOptions=e.filters||null,this.ensureFilterViewer(),this.filterViewer){let n=JSON.stringify([e.sourceId,e.tileSource,e.isStatic]);if(this.currentFilterSourceKey!==n){let r,a=new AbortController;this.filterPreviewController=a;try{r=await this.auth.resolve({sourceId:e.sourceId,url:e.tileSource,isStatic:e.isStatic},a.signal)}catch(e){a.signal.aborted||this.isDestroyed||this.filterPreviewVersion;return}finally{this.filterPreviewController===a&&(this.filterPreviewController=null)}if(this.isDestroyed||t!==this.filterPreviewVersion)return;this.setFilterAccessBlocked(this.isNonCorsStaticSource(r)),this.currentFilterSourceKey=n,this.filterViewer.open(r)}else this.applyFilterOptions()}}copyToClipboard(e){if(navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)return void navigator.clipboard.writeText(e).catch(()=>{})}bindPageChange(){this.bindViewerEvent("diva-page-change",this.handlePageChangeBound)}bindFullscreenChange(){document.addEventListener("fullscreenchange",this.handleFullscreenChangeBound)}bindZoomChange(){this.bindViewerEvent("diva-zoom-change",this.handleZoomChangeBound)}bindLoadingChange(){this.bindViewerEvent("diva-loading-change",this.handleLoadingChangeBound)}bindRootClick(){this.getConnectedRoot().addEventListener("click",this.handleRootClickBound,!0)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}getState(){return this.copyState()}getPages(){return this.pages.map(e=>this.copyPage(e))}setAnnotation(e){var t,n;this.assertAlive();let r=p5(e);if(!this.pagesByCanvasId.has(r.canvasId))throw RangeError(`Annotation Canvas ${r.canvasId} is not part of the loaded manifest.`);r.viewerAnnotation.imageService=null!=(t=this.annotationImageServicesByCanvas.get(r.canvasId))?t:null,this.apiAnnotationsByCanvas.forEach((e,t)=>{let n=e.filter(e=>e.viewerAnnotation.id!==r.viewerAnnotation.id);n.length!==e.length&&(this.apiAnnotationsByCanvas.set(t,n),this.applyAnnotationsForCanvas(t))});let a=null!=(n=this.apiAnnotationsByCanvas.get(r.canvasId))?n:[];this.apiAnnotationsByCanvas.set(r.canvasId,[...a,r]),this.clearedAnnotationCanvases.delete(r.canvasId),this.applyAnnotationsForCanvas(r.canvasId)}setAnnotations(e){if(this.assertAlive(),!Array.isArray(e))throw TypeError("Annotations must be an array.");let t=new Map;e.forEach(e=>{var n,r;let a=p5(e);if(!this.pagesByCanvasId.has(a.canvasId))throw RangeError(`Annotation Canvas ${a.canvasId} is not part of the loaded manifest.`);a.viewerAnnotation.imageService=null!=(n=this.annotationImageServicesByCanvas.get(a.canvasId))?n:null;let i=null!=(r=t.get(a.canvasId))?r:[];t.set(a.canvasId,[...i.filter(e=>e.viewerAnnotation.id!==a.viewerAnnotation.id),a])});let n=new Set([...this.apiAnnotationsByCanvas.keys(),...t.keys()]);this.apiAnnotationsByCanvas.clear(),t.forEach((e,t)=>{this.apiAnnotationsByCanvas.set(t,e),this.clearedAnnotationCanvases.delete(t)}),n.forEach(e=>this.applyAnnotationsForCanvas(e))}getAnnotationsForCanvas(e){return this.assertAlive(),this.effectiveAnnotationsForCanvas(e).map(e=>p2(e.publicAnnotation))}getAllAnnotations(){return this.assertAlive(),this.pages.flatMap(e=>this.getAnnotationsForCanvas(e.canvasId))}clearAnnotationsForCanvas(e){this.assertAlive(),this.clearedAnnotationCanvases.add(e),this.apiAnnotationsByCanvas.delete(e),this.applyAnnotationsForCanvas(e)}clearAllAnnotations(){this.assertAlive(),this.apiAnnotationsByCanvas.clear(),this.pages.forEach(e=>{this.clearedAnnotationCanvases.add(e.canvasId),this.applyAnnotationsForCanvas(e.canvasId)})}selectAnnotation(e){if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");if(!this.findStoredAnnotation(e))throw RangeError(`Unknown annotation: ${e}`);this.callViewerMethodWhenReady("selectAnnotation",e)}getAnnotationSelectionEnabled(){this.assertAlive();let e=this.ensureMainViewer();return e&&"function"==typeof e.getAnnotationSelectionEnabled?e.getAnnotationSelectionEnabled():this.annotationSelectionEnabled}setAnnotationSelectionEnabled(e){this.assertAlive(),this.annotationSelectionEnabled=e,this.callViewerMethodWhenReady("setAnnotationSelectionEnabled",e)}toggleAnnotationSelectionEnabled(){return this.setAnnotationSelectionEnabled(!this.getAnnotationSelectionEnabled()),this.annotationSelectionEnabled}getImageRegionForAnnotation(e){var t,n;if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");let r=this.findStoredAnnotation(e),a=null==(n=null==(t=this.mainViewer)?void 0:t.getImageRegionForAnnotation)?void 0:n.call(t,e);if("string"==typeof a)return a;if(!r||"svg"===r.viewerAnnotation.shape.kind)return null;let{x:i,y:o,width:s,height:u}=r.viewerAnnotation.shape;return"number"==typeof i&&"number"==typeof o&&"number"==typeof s&&"number"==typeof u?f(r.viewerAnnotation.imageService,{x:i,y:o,width:s,height:u}):null}getAnnotationBody(e){var t;if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");let n=this.findStoredAnnotation(e);return n?p4(null!=(t=n.publicAnnotation.body)?t:n.publicAnnotation.resource):void 0}findPage(e){let t=this.pageForSelector(e);return t?this.copyPage(t):void 0}getCurrentPage(){let e=this.state.currentPageIndex;return null!==e&&this.pages[e]?this.copyPage(this.pages[e]):void 0}getVisiblePages(){return this.state.visiblePageIndexes.map(e=>this.pages[e]).filter(Boolean).map(e=>this.copyPage(e))}getLayoutMode(){return this.state.layoutMode}setResource(e){let t,n;if(this.assertAlive(),!e||"string"!=typeof e)return Promise.reject(TypeError("A resource URL is required."));this.pendingResource&&(this.pendingResource.reject(new DOMException("The resource load was superseded.","AbortError")),this.pendingResource=null),this.awaitingViewerResource=null;let r=this.state.ready,a=`public-${++this.resourceSequence}`,i=new Promise((e,r)=>{t=e,n=r});return i.catch(()=>{}),this.pendingResource={id:a,promise:i,resolve:t,reject:n,previousReady:r},this.activeResourceRequestId=a,this.updateState({ready:!1}),this.resourceLoading=!0,this.refreshLoadingState(),this.getPort("resourceRequested").send({requestId:a,url:e}),i}async goToPage(e){if(await this.waitForResource(),"number"!=typeof e){let t=this.pageForSelector(e);return!!t&&(await this.callViewerMethodAsync("scrollToIndex",t.index),!0)}this.assertPageIndex(e),await this.callViewerMethodAsync("scrollToIndex",e)}async next(){await this.waitForResource(),await this.callViewerMethodAsync("next")}async previous(){await this.waitForResource(),await this.callViewerMethodAsync("previous")}async setZoom(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom must be a positive finite number.");await this.callViewerMethodAsync("setZoomLevel",e)}async zoomBy(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom factor must be a positive finite number.");await this.callViewerMethodAsync("zoomBy",e)}zoomIn(){return this.zoomBy(1.6)}zoomOut(){return this.zoomBy(.625)}async fitToPage(e){await this.waitForResource();let t=null!=e?e:this.state.currentPageIndex;if(null===t)throw RangeError("There is no current page.");this.assertPageIndex(t),await this.callViewerMethodAsync("fitToPage",t)}async zoomToRegion(e,t,n={}){var r;if(await this.waitForResource(),this.assertPageIndex(e),![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.x<0||t.y<0||t.width<=0||t.height<=0)throw RangeError("Region coordinates must be finite, non-negative, and have positive dimensions.");let a=null!=(r=n.padding)?r:.05;if(!Number.isFinite(a)||a<0)throw RangeError("Region padding must be a non-negative finite number.");await this.callViewerMethodAsync("zoomToRegion",e,t,n)}async setLayoutMode(e){if(await this.waitForResource(),!["single","spread","spread-shift"].includes(e))throw RangeError(`Unsupported layout mode: ${e}`);await this.callViewerMethodAsync("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection),this.getPort("layoutModeRequested").send(e)}async enterFullscreen(){this.assertAlive(),document.fullscreenElement||await this.getConnectedRoot().requestFullscreen()}async exitFullscreen(){this.assertAlive(),document.fullscreenElement&&await document.exitFullscreen()}toggleFullscreen(){return document.fullscreenElement?this.exitFullscreen():this.enterFullscreen()}destroy(){var e;if(this.isDestroyed)return;this.isDestroyed=!0;let t=new DOMException("The Diva instance was destroyed.","InvalidStateError");this.readySettled||(this.readySettled=!0,this.readyReject(t)),null==(e=this.pendingResource)||e.reject(t),this.pendingResource=null,this.awaitingViewerResource=null,this.updateState({destroyed:!0,loading:!1}),this.closeFilterPreview(),this.auth.destroy(),null!==this.viewerMethodRafId&&(cancelAnimationFrame(this.viewerMethodRafId),this.viewerMethodRafId=null),this.pendingViewerMethods.clear();let n=this.getConnectedRoot();this.removeViewerEvent("diva-page-change",this.handlePageChangeBound),this.removeViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.removeViewerEvent("diva-zoom-change",this.handleZoomChangeBound),this.removeViewerEvent("diva-loading-change",this.handleLoadingChangeBound),this.removeViewerEvent("diva-static-image-cors-fallback",this.handleStaticImageCorsFallbackBound),this.removeViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound),n.removeEventListener("click",this.handleRootClickBound,!0),document.removeEventListener("fullscreenchange",this.handleFullscreenChangeBound),n&&(n.__divaInstance===this&&delete n.__divaInstance,n.elmTree&&delete n.elmTree,n.innerHTML="")}closeFilterPreview(){var e;this.filterPreviewVersion+=1,null==(e=this.filterPreviewController)||e.abort(),this.filterPreviewController=null,null!==this.filterPreviewRafId&&(cancelAnimationFrame(this.filterPreviewRafId),this.filterPreviewRafId=null),this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.filterViewerElement=null,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterOptions=null,this.setFilterAccessBlocked(!1),this.filterPreviewRetries=0}setFullscreen(e){let t=this.getConnectedRoot();if(e){if(document.fullscreenElement||!document.fullscreenEnabled)return;t.requestFullscreen().catch(()=>{});return}document.fullscreenElement&&document.exitFullscreen().catch(()=>{})}handleRootClick(e){let t=e.target;if(!(t instanceof Element))return;let n=this.getConnectedRoot(),r=t.closest("button[data-diva-action='fullscreen']");r&&n.contains(r)&&(e.preventDefault(),e.stopPropagation(),this.toggleFullscreenFromUserActivation())}toggleFullscreenFromUserActivation(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.fullscreenEnabled&&this.getConnectedRoot().requestFullscreen().catch(()=>{})}handlePageChange(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;t.instant?this.getPort("pageIndexChangedInstant").send(t.index):this.getPort("pageIndexChanged").send(t.index);let n=this.ensureMainViewer(),r=n&&"function"==typeof n.getVisiblePageIndexes?n.getVisiblePageIndexes():[t.index];this.updateState({currentPageIndex:t.index,visiblePageIndexes:r});let a=this.pages[t.index];a&&this.emit("pagechange",{pageIndex:t.index,page:this.copyPage(a),visiblePages:this.getVisiblePages()})}handleAnnotationSelect(e){var t;let n=null==(t=e.detail)?void 0:t.annotationId;"string"==typeof n&&this.emit("annotationselect",{annotationId:n})}handlePageLoaded(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;this.getPort("viewerPageLoaded").send(t.index);let n=this.awaitingViewerResource;n&&t.resourceId===n.id&&t.index===n.pageIndex&&this.completeResource(n.id,n.url,!n.resourceChangeEmitted)}handleZoomChange(e){let t=e.detail;t&&"number"==typeof t.zoom&&(this.getPort("zoomChanged").send(t.zoom),this.updateState({zoom:t.zoom}),this.emit("zoomchange",{zoom:t.zoom}))}handleLoadingChange(e){let t=e.detail;t&&"boolean"==typeof t.loading&&(this.getPort("viewerLoadingChanged").send(t.loading),this.viewerLoading=t.loading,this.refreshLoadingState())}handleStaticImageCorsFallback(e){var t;let n=null==(t=e.detail)?void 0:t.sourceId;"string"==typeof n&&this.auth.useNonCorsStaticSource(n)}handlePageLoadError(e){var t;let n=e.detail,r=Error((null==n?void 0:n.message)||"The image could not be loaded."),a=this.awaitingViewerResource;if(a&&(null==n?void 0:n.resourceId)===a.id&&(null==n?void 0:n.index)===a.pageIndex){this.updateState({ready:!1}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(r)),"initial"!==a.id&&(null==(t=this.pendingResource)?void 0:t.id)===a.id&&(this.pendingResource.reject(r),this.pendingResource=null),this.emit("error",{error:r,operation:"loadPage",recoverable:!0});return}this.emit("error",{error:r,operation:"loadPage",recoverable:!0})}handleFullscreenChange(){let e=!!document.fullscreenElement;this.getPort("fullscreenChanged").send(e),this.updateState({fullscreen:e}),this.emit("fullscreenchange",{fullscreen:e})}ensureFilterViewer(){!this.filterViewer&&this.filterViewerElement&&(this.filterViewer=OpenSeadragon({element:this.filterViewerElement,showNavigationControl:!1,preserveViewport:!0,visibilityRatio:0,drawer:"canvas",crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1}),this.filterViewer.addHandler("open",()=>{var e;let t=null==(e=this.filterViewer)?void 0:e.drawer,n=t&&t.canvas?t.canvas:null;if(n&&"function"==typeof n.getContext){let e=n.getContext("2d",{willReadFrequently:!0});e&&(t.context=e)}this.filterViewer&&this.filterViewer.viewport&&this.filterViewer.viewport.fitBounds(this.filterViewer.world.getHomeBounds(),!0),this.filterViewerFlipped=!1,this.applyFilterOptions()}))}ensureFilterViewerElement(){let e=document.getElementById("filter-viewer");return e?(this.filterViewerElement!==e&&(this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.currentFilterSourceKey=null,this.filterViewerFlipped=!1,this.filterViewerElement=e),this.filterViewerElement):(this.filterViewerElement=null,null)}applyFilterOptions(){var e,t;if(!this.filterViewer)return;if(this.filterAccessBlocked)return void pI(this.filterViewer,{filters:[]});let n=mn(this.filterOptions);if(pI(this.filterViewer,n),this.filterViewer.viewport){let n=(null==(e=this.filterOptions)?void 0:e.rotation)||0;this.filterViewer.viewport.setRotation(n);let r=!!(null==(t=this.filterOptions)?void 0:t.flip),a=this.filterViewer.viewport;if("function"==typeof a.toggleFlip){let e=this.filterViewerFlipped;"function"==typeof a.getFlip&&(e=!!a.getFlip()),r!=e&&(a.toggleFlip(),this.filterViewerFlipped=r)}}}saveFilteredImage(){if(!this.filterViewer||this.filterAccessBlocked)return;let e=this.filterViewer.drawer,t=e&&e.canvas?e.canvas:null;if(t)try{let e=t.toDataURL("image/png"),n=document.createElement("a");n.href=e,n.download=`diva-filtered-${Date.now()}.png`,document.body.appendChild(n),n.click(),n.remove()}catch(e){}}isNonCorsStaticSource(e){return"object"==typeof e&&null!==e&&"image"===e.type&&!1===e.crossOriginPolicy}setFilterAccessBlocked(e){this.filterAccessBlocked=e;let t=this.root.querySelector(".diva-modal-sidebar");if(!t)return;Array.from(t.querySelectorAll("button, input, select, textarea")).forEach(t=>{e?(t.dataset.divaFilterWasDisabled=t.disabled?"true":"false",t.disabled=!0):void 0!==t.dataset.divaFilterWasDisabled&&(t.disabled="true"===t.dataset.divaFilterWasDisabled,delete t.dataset.divaFilterWasDisabled)});let n=this.root.querySelector('button[aria-label="Save view"]');n&&(e?(n.dataset.divaFilterWasDisabled=n.disabled?"true":"false",n.disabled=!0):void 0!==n.dataset.divaFilterWasDisabled&&(n.disabled="true"===n.dataset.divaFilterWasDisabled,delete n.dataset.divaFilterWasDisabled));let r=t.querySelector(".diva-filter-access-warning");e&&!r&&((r=document.createElement("p")).className="diva-filter-access-warning",r.textContent="Image filters and Save view require CORS-enabled image access.",t.prepend(r)),e||null==r||r.remove()}getPort(e){let t=this.app.ports,n=t?t[e]:void 0;if(!n)throw Error(`Missing Elm port: ${String(e)}`);return n}callViewerMethod(e,...t){let n=this.ensureMainViewer();if(!n)return!1;let r=n[e];return"function"==typeof r&&(r.apply(n,t),!0)}async callViewerMethodAsync(e,...t){let n=0;for(;n<120;){this.assertAlive();let r=this.ensureMainViewer(),a=null==r?void 0:r[e];if("function"==typeof a)return await a.apply(r,t);n+=1,await new Promise(e=>requestAnimationFrame(()=>e()))}throw new DOMException(`The viewer method ${e} is not available.`,"InvalidStateError")}callViewerMethodWhenReady(e,...t){if(this.callViewerMethod(e,...t)){this.viewerMethodAttempts=0;return}this.pendingViewerMethods.set(e,t),this.viewerMethodAttempts=0,this.scheduleViewerMethodFlush()}scheduleViewerMethodFlush(){this.isDestroyed||null!==this.viewerMethodRafId||(this.viewerMethodRafId=requestAnimationFrame(()=>{this.viewerMethodRafId=null,this.flushPendingViewerMethods()}))}flushPendingViewerMethods(){if(this.isDestroyed||0===this.pendingViewerMethods.size)return;let e=Array.from(this.pendingViewerMethods.entries());if(this.pendingViewerMethods.clear(),e.forEach(([e,t])=>{this.callViewerMethod(e,...t)||this.pendingViewerMethods.set(e,t)}),0===this.pendingViewerMethods.size){this.viewerMethodAttempts=0;return}this.viewerMethodAttempts<120&&(this.viewerMethodAttempts+=1,this.scheduleViewerMethodFlush())}bindViewerEvent(e,t){let n=this.ensureMainViewer();n&&(n.removeEventListener(e,t),n.addEventListener(e,t))}removeViewerEvent(e,t){let n=this.ensureMainViewer();n&&n.removeEventListener(e,t)}constructor(e,t){super(),this.mainViewer=null,this.pendingViewerMethods=new Map,this.viewerMethodRafId=null,this.viewerMethodAttempts=0,this.filterViewer=null,this.filterViewerElement=null,this.filterOptions=null,this.filterViewerFlipped=!1,this.filterAccessBlocked=!1,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterPreviewVersion=0,this.filterPreviewRetries=0,this.filterPreviewRafId=null,this.filterPreviewController=null,this.isDestroyed=!1,this.pages=[],this.pagesByCanvasId=new Map,this.pagesByLabel=new Map,this.manifestAnnotationsByCanvas=new Map,this.apiAnnotationsByCanvas=new Map,this.clearedAnnotationCanvases=new Set,this.annotationImageServicesByCanvas=new Map,this.annotationSelectionEnabled=!0,this.annotationResourceId="",this.readySettled=!1,this.activeResourceRequestId="initial",this.resourceSequence=0,this.pendingResource=null,this.awaitingViewerResource=null,this.resourceLoading=!0,this.viewerLoading=!1;let n=document.getElementById(e);if(!n)throw Error(`Missing root element: ${e}`);n.__divaInstance&&n.__divaInstance.destroy(),n.elmTree&&(delete n.elmTree,n.innerHTML=""),this.rootId=e,this.root=n,this.isDestroyed=!1,this.staticImageCorsPolicy="fallback"===t.staticImageCorsPolicy||"none"===t.staticImageCorsPolicy?t.staticImageCorsPolicy:"required",this.annotationSelectionEnabled=!1!==t.enableAnnotationSelection,this.state={resourceUrl:t.objectData,ready:!1,loading:!0,pageCount:0,currentPageIndex:null,visiblePageIndexes:[],layoutMode:"single",viewingDirection:"ltr",zoom:null,fullscreen:!1,destroyed:!1},this.ready=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t}),this.ready.catch(()=>{}),this.handlePageChangeBound=this.handlePageChange.bind(this),this.handleAnnotationSelectBound=this.handleAnnotationSelect.bind(this),this.handlePageLoadedBound=this.handlePageLoaded.bind(this),this.handleZoomChangeBound=this.handleZoomChange.bind(this),this.handleLoadingChangeBound=this.handleLoadingChange.bind(this),this.handleStaticImageCorsFallbackBound=this.handleStaticImageCorsFallback.bind(this),this.handlePageLoadErrorBound=this.handlePageLoadError.bind(this),this.handleFullscreenChangeBound=this.handleFullscreenChange.bind(this),this.handleRootClickBound=this.handleRootClick.bind(this);let r=this.detectLanguage(),a=t.sidebarWidth,i="number"==typeof a&&Number.isFinite(a)?Math.min(520,Math.max(220,Math.round(a))):320,o="contents"===t.sidebarPanel||"metadata"===t.sidebarPanel?t.sidebarPanel:"thumbnails";this.app=pm.Main.init({node:n,flags:{rootElementId:e,objectData:t.objectData,initialPage:this.initialPageFlag(t.initialPage),acceptHeaders:t.acceptHeaders||[],showSidebar:!1!==t.showSidebar,sidebarWidth:i,sidebarPanel:o,showTitle:!1!==t.showTitle,userLanguage:t.setLanguage||r,enableAnnotations:!0===t.enableAnnotations,enableAnnotationSelection:!1!==t.enableAnnotationSelection,annotationServer:t.annotationServer||null}}),this.root=this.getConnectedRoot(),this.auth=new pC(this.app.ports,this.root,this.staticImageCorsPolicy),this.tileSourceResolver=(e,t)=>this.auth.resolve(e,t),this.root.__divaInstance=this,this.bindPorts(),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setStaticImageCorsPolicy",this.staticImageCorsPolicy),this.callViewerMethodWhenReady("setAnnotationSelectionEnabled",!1!==t.enableAnnotationSelection),this.bindRootClick(),this.bindPageChange(),this.bindViewerEvent("diva-annotation-select",this.handleAnnotationSelectBound),this.bindViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.bindFullscreenChange(),this.bindZoomChange(),this.bindLoadingChange(),this.bindViewerEvent("diva-static-image-cors-fallback",this.handleStaticImageCorsFallbackBound),this.bindViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound)}},p7={THRESHOLDING:p0.THRESHOLDING,BRIGHTNESS:p0.BRIGHTNESS,SATURATION:p0.SATURATION,VIBRANCE:p0.VIBRANCE,HUE:p0.HUE,CC_RED:p0.CC_RED,CC_GREEN:p0.CC_GREEN,CC_BLUE:p0.CC_BLUE,CONTRAST:p0.CONTRAST,GAMMA:p0.GAMMA,GREYSCALE:p0.GREYSCALE,INVERT:p0.INVERT,BACKGROUND_NORMALIZE:p0.BACKGROUND_NORMALIZE,UNSHARP_MASK:p0.UNSHARP_MASK,ALT_RED_GAMMA:p0.ALT_RED_GAMMA,ALT_GREEN_GAMMA:p0.ALT_GREEN_GAMMA,ALT_BLUE_GAMMA:p0.ALT_BLUE_GAMMA,ALT_RED_SIGMOID:p0.ALT_RED_SIGMOID,ALT_GREEN_SIGMOID:p0.ALT_GREEN_SIGMOID,ALT_BLUE_SIGMOID:p0.ALT_BLUE_SIGMOID,ALT_RED_HUE:p0.ALT_RED_HUE,ALT_GREEN_HUE:p0.ALT_GREEN_HUE,ALT_BLUE_HUE:p0.ALT_BLUE_HUE,ALT_RED_VIBRANCE:p0.ALT_RED_VIBRANCE,ALT_GREEN_VIBRANCE:p0.ALT_GREEN_VIBRANCE,ALT_BLUE_VIBRANCE:p0.ALT_BLUE_VIBRANCE,GLOBAL_PCA_COLOR:p0.GLOBAL_PCA_COLOR,ADAPTIVE_THRESHOLD:p0.ADAPTIVE_THRESHOLD},p9=[{enabled:"thresholdEnabled",filter:"THRESHOLDING",args:["threshold"]},{enabled:"brightnessEnabled",filter:"BRIGHTNESS",args:["brightness"]},{enabled:"saturationEnabled",filter:"SATURATION",args:["saturation"]},{enabled:"vibranceEnabled",filter:"VIBRANCE",args:["vibrance"]},{enabled:"hueEnabled",filter:"HUE",args:["hue"]},{enabled:"ccRedEnabled",filter:"CC_RED",args:["ccRed"]},{enabled:"ccGreenEnabled",filter:"CC_GREEN",args:["ccGreen"]},{enabled:"ccBlueEnabled",filter:"CC_BLUE",args:["ccBlue"]},{enabled:"contrastEnabled",filter:"CONTRAST",args:["contrast"]},{enabled:"gammaEnabled",filter:"GAMMA",args:["gamma"]},{enabled:"grayscale",filter:"GREYSCALE"},{enabled:"invert",filter:"INVERT"},{enabled:"normalizeEnabled",filter:"BACKGROUND_NORMALIZE",args:["normalizeStrength"]},{enabled:"unsharpEnabled",filter:"UNSHARP_MASK",args:["unsharpAmount"]}],me=[{enabled:"altRedGammaEnabled",filter:"ALT_RED_GAMMA",args:["altRedGamma"]},{enabled:"altGreenGammaEnabled",filter:"ALT_GREEN_GAMMA",args:["altGreenGamma"]},{enabled:"altBlueGammaEnabled",filter:"ALT_BLUE_GAMMA",args:["altBlueGamma"]},{enabled:"altRedSigmoidEnabled",filter:"ALT_RED_SIGMOID",args:["altRedSigmoid"]},{enabled:"altGreenSigmoidEnabled",filter:"ALT_GREEN_SIGMOID",args:["altGreenSigmoid"]},{enabled:"altBlueSigmoidEnabled",filter:"ALT_BLUE_SIGMOID",args:["altBlueSigmoid"]},{enabled:"altRedHueEnabled",filter:"ALT_RED_HUE",args:["altRedHue","altRedHueWindow"],defaults:[0,8]},{enabled:"altGreenHueEnabled",filter:"ALT_GREEN_HUE",args:["altGreenHue","altGreenHueWindow"],defaults:[0,8]},{enabled:"altBlueHueEnabled",filter:"ALT_BLUE_HUE",args:["altBlueHue","altBlueHueWindow"],defaults:[0,8]},{enabled:"altRedVibranceEnabled",filter:"ALT_RED_VIBRANCE",args:["altRedVibrance"]},{enabled:"altGreenVibranceEnabled",filter:"ALT_GREEN_VIBRANCE",args:["altGreenVibrance"]},{enabled:"altBlueVibranceEnabled",filter:"ALT_BLUE_VIBRANCE",args:["altBlueVibrance"]},{enabled:"adaptiveEnabled",filter:"ADAPTIVE_THRESHOLD",args:["adaptiveWindow","adaptiveOffset"],defaults:[15,10]}],mt=(e,t,n)=>{var r,a;for(let i of n)if(t[i.enabled]){let n=null!=(a=null==(r=i.args)?void 0:r.map((e,n)=>{var r,a,o;return null!=(o=t[e])?o:null!=(a=null==(r=i.defaults)?void 0:r[n])?a:0}))?a:[],o=p7[i.filter];e.push(o(...n))}},mn=e=>{var t,n,r,a,i,o,s,u,c;if(!e)return{filters:[],loadMode:"sync"};let l=[];if(mt(l,e,p9),e.morphEnabled){let n="dilate"===e.morphOperation?Math.max:Math.min;l.push(p0.MORPHOLOGICAL_OPERATION(null!=(t=e.morphKernel)?t:3,n))}if(e.convolutionEnabled){let t=p0.CONVOLUTION_PRESET(e.convolutionPreset||"");t&&l.push(p0.CONVOLUTION(t))}if(e.colourmapEnabled){let t=p0.COLORMAP_PRESET(e.colourmapPreset||"");t&&l.push(p0.COLORMAP(t,null!=(n=e.colourmapCenter)?n:128))}return(e.pseudoColourEnabled&&l.push(p0.PSEUDOCOLOR(e.pseudoColourMode||"",null!=(r=e.pseudoColourRed)?r:1,null!=(a=e.pseudoColourGreen)?a:1,null!=(i=e.pseudoColourBlue)?i:1)),e.globalPcaEnabled&&l.push(p0.GLOBAL_PCA_COLOR(e.pcaMode||"",null!=(o=e.pcaHue)?o:0)),e.colourReplaceEnabled&&l.push(p0.COLOR_REPLACE(e.colourReplaceSource||"#ffffff",e.colourReplaceTarget||"#ffffff",null!=(s=e.colourReplaceTolerance)?s:24,null!=(u=e.colourReplaceBlend)?u:1,null!=(c=e.colourReplacePreserveLum)&&c)),mt(l,e,me),0===l.length)?{filters:[],loadMode:"sync"}:{filters:{processors:l},loadMode:"sync"}};window.Diva=p8;export{p8 as Diva,p8 as default}; diff --git a/nginx/app/dependencies/diva.js/build/diva.js b/nginx/app/dependencies/diva.js/build/diva.js index 7915dcfd..cd234859 100644 --- a/nginx/app/dependencies/diva.js/build/diva.js +++ b/nginx/app/dependencies/diva.js/build/diva.js @@ -1 +1 @@ -(()=>{var e,t,a,r,n,i,o,u,s,c,l,b,d,f=null,h=class extends HTMLElement{static get observedAttributes(){return["data-src","data-fallback-src","data-alt","data-crossorigin"]}connectedCallback(){this.observe()}disconnectedCallback(){null==f||f.unobserve(this)}attributeChangedCallback(){this.reset(),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==f||f.unobserve(this);let a=document.createElement("img");a.className="diva-thumbs-image",a.alt=null!=(e=this.dataset.alt)?e:"";let r=this.dataset.crossorigin,n="anonymous"===r;this.image=a,this.appendChild(a),this.loadImage(a,t,n?void 0:r,n,!1)}loadImage(e,t,a,r,n){e.removeAttribute("crossorigin"),a&&(e.crossOrigin=a),e.onerror=()=>{let a=this.dataset.fallbackSrc;r&&!n&&a&&a!==t?this.loadImage(e,a,void 0,!0,!0):this.showUnavailable()},e.removeAttribute("src"),e.src=t}reset(){var e,t;null==(e=this.image)||e.remove(),this.image=null,null==(t=this.unavailable)||t.remove(),this.unavailable=null}showUnavailable(){var e;null==(e=this.image)||e.remove(),this.image=null;let t=document.createElement("div");t.className="diva-thumbs-image diva-thumbs-image--unavailable",t.setAttribute("aria-label","Thumbnail unavailable"),this.unavailable=t,this.appendChild(t)}observe(){"IntersectionObserver"in window?(f||(f=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:"300px 0px"})),f.observe(this)):this.load()}constructor(){super(...arguments),this.image=null,this.unavailable=null}},v=class extends HTMLElement{connectedCallback(){this.style.display="block",this.container||(this.container=document.createElement("div"),this.container.className="osd-container",this.container.style.width="100%",this.container.style.height="100%",this.container.addEventListener("wheel",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener("dblclick",this.handleDoubleClickBound),this.appendChild(this.container),this.createScrollbar());let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener("wheel",this.handleWheelBound),this.container.removeEventListener("dblclick",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener("mousemove",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener("mouseup",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.viewer.destroy(),this.viewer=null),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler("pan",this.handleViewportChangeBound),t.addHandler("zoom",this.handleViewportChangeBound),t.addHandler("pan",()=>this.updateScrollbar()),t.addHandler("zoom",()=>this.updateScrollbar()),t.addHandler("animation-finish",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single"})}setViewingDirection(e){this.applyLayoutChange({direction:"rtl"===e?"rtl":"ltr"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single",direction:"rtl"===t?"rtl":"ltr"})}setTileSources(e,t=0,a="internal"){if(Array.isArray(e)){if(this.tileSources=e.slice(),this.resourceId=a,this.initialPageIndex=Number.isInteger(t)&&t>=0&&ta.has(e.sourceId))&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)}setPageLabels(e){Array.isArray(e)&&(this.pageLabels=e,this.pageOverlayElements.forEach((e,t)=>{this.addOrUpdatePageOverlay(t)}))}resetTileSources(e,t=0){this.viewer&&("function"==typeof this.viewer.close?this.viewer.close():this.viewer.world.removeAll(),this.cancelLoads(),this.tileSources=e,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t0?this.initialPageIndex:null,this.lastReportedIndex=this.targetIndex,this.clearScrollPlane(),this.buildOffsets(),this.ensureScrollPlane(),null!==this.targetIndex&&this.positionInitialViewport(this.targetIndex),this.resetLoadingState(),this.suppressPageChange=!0,this.suppressZoomChange=!0,this.maybeLoadMore())}handleViewportChange(){var e;if(this.isClamping)return;let t=null==(e=this.viewer)?void 0:e.viewport;t&&(this.maybeLoadMore(t),this.maybeEmitPageChange(t),this.clampTop(t),this.clampBottom(t))}handleAnimationFinish(){this.updateScrollbar(),this.maybeEmitZoomChange()}maybeLoadMore(e){var t;if(0===this.tileSources.length)return;if(!this.isViewportInitialized){if(null!==this.targetIndex){this.ensurePageLoaded(this.targetIndex);let e=this.pageOffsets[this.targetIndex]||0,t=this.pageRowHeights[this.targetIndex]||this.pageHeights[this.targetIndex]||1,a=this.indicesForRange(Math.max(0,e-1.5*t),e+2.5*t);if(a)for(let e=a[0];e<=a[1];e+=1)this.ensurePageLoaded(e)}return}let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=1.5*r.height,i=Math.max(0,r.y-n),o=r.y+r.height+n,u=this.indicesForRange(i,o);if(!u)return;let s=u[0],c=u[1],l=s;for(;l<=c;)this.ensurePageLoaded(l),l+=1;null!==this.targetIndex&&this.ensurePageLoaded(this.targetIndex)}ensurePageLoaded(e){e<0||e>=this.tileSources.length||e>=this.pageOffsets.length||this.loadedIndexes.has(e)||this.loadingIndexes.has(e)||this.unavailableIndexes.has(e)||this.loadTile(e)}async loadTile(e){let t;if(!this.viewer)return;let a=this.loadToken,r=this.tileSources[e],n=new AbortController;this.loadControllers.set(e,n),this.loadingIndexes.add(e),this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.updateLoadingState();try{t=await this.tileSourceResolver(r,n.signal)}catch(t){a!==this.loadToken||n.signal.aborted||this.markUnavailable(e,t instanceof Error?t.message:"This image is unavailable."),this.finishLoad(e,n);return}if(a!==this.loadToken||n.signal.aborted||!this.viewer)return void this.finishLoad(e,n);let i=this.pageOffsets[e]||0,o=this.pageXOffsets[e]||0;this.viewer.addTiledImage({tileSource:t,...this.tileRequestOptions(t),x:o,y:i,width:1,success:t=>{if(a!==this.loadToken)return;let r=t.item,n=this.pageXOffsets[e]||0,i=this.pageOffsets[e]||0,o=this.pageHeights[e]||1;if(r.setPosition(new OpenSeadragon.Point(n,i),!0),r.setWidth(1,!0),r.setHeight(o,!0),this.loadedIndexes.add(e),this.loadedItems.set(e,r),this.resolvePageWaiters(e,r),this.addOrUpdatePageOverlay(e),this.loadingIndexes.delete(e),this.loadControllers.delete(e),this.updateLoadingState(),!this.hasFitFirstPage&&e===this.initialPageIndex){this.hasFitFirstPage=!0;let t=this.viewer;if(!t||!t.viewport)return;let a=this.isSingleCanvasLayout(),n=a?r.getBounds():this.isSpreadMode()?this.getRowBounds(e):r.getBounds();t.viewport.fitBounds(n,!0),a||t.viewport.zoomBy(.95,t.viewport.getCenter(!0),!0),this.alignTopAfterFit(e),t.viewport.applyConstraints(),this.isViewportInitialized=!0,this.lockHorizontalPan(),this.recenterAfterFit(),this.flushInitialPageChange(),this.flushInitialZoomChange()}this.emitCustomEvent("diva-page-loaded",{index:e,resourceId:this.resourceId}),this.targetIndex===e&&(this.targetIndex=null),this.maybeLoadMore()},error:t=>{a===this.loadToken&&(this.markUnavailable(e,(null==t?void 0:t.message)||"This image could not be loaded. Static images must allow CORS."),this.finishLoad(e,n),this.maybeLoadMore())}})}tileRequestOptions(e){if(!e||"object"!=typeof e)return{};let t={};return"boolean"==typeof e.ajaxWithCredentials&&(t.ajaxWithCredentials=e.ajaxWithCredentials),("string"==typeof e.crossOriginPolicy||"boolean"==typeof e.crossOriginPolicy)&&(t.crossOriginPolicy=e.crossOriginPolicy),t}finishLoad(e,t){this.loadControllers.get(e)===t&&(this.loadControllers.delete(e),this.loadingIndexes.delete(e),this.updateLoadingState())}cancelLoads(){this.loadToken+=1,this.loadControllers.forEach(e=>e.abort()),this.loadControllers.clear(),this.loadingIndexes.clear(),this.rejectPageWaiters(new DOMException("The image load was cancelled.","AbortError")),this.resetLoadingState()}markUnavailable(e,t){this.unavailableIndexes.set(e,t),this.rejectPageWaiters(Error(t),e),this.emitCustomEvent("diva-page-load-error",{index:e,message:t,resourceId:this.resourceId}),this.addUnavailableOverlay(e,t)}waitForPage(e){let t=this.loadedItems.get(e);if(t)return Promise.resolve(t);let a=this.unavailableIndexes.get(e);return a?Promise.reject(Error(a)):new Promise((t,a)=>{var r;let n=null!=(r=this.pageWaiters.get(e))?r:[];n.push({resolve:t,reject:a}),this.pageWaiters.set(e,n),this.ensurePageLoaded(e)})}resolvePageWaiters(e,t){var a;let r=null!=(a=this.pageWaiters.get(e))?a:[];this.pageWaiters.delete(e),r.forEach(e=>e.resolve(t))}rejectPageWaiters(e,t){(void 0===t?Array.from(this.pageWaiters.keys()):[t]).forEach(t=>{var a;let r=null!=(a=this.pageWaiters.get(t))?a:[];this.pageWaiters.delete(t),r.forEach(t=>t.reject(e))})}addUnavailableOverlay(e,t){if(!this.viewer)return;this.removeUnavailableOverlay(e);let a=document.createElement("div");a.className="diva-image-unavailable",a.dataset.index=String(e);let r=document.createElement("p");r.textContent=t;let n=document.createElement("button");n.type="button",n.textContent="Retry image",n.addEventListener("click",()=>{this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.ensurePageLoaded(e)}),a.append(r,n),this.viewer.addOverlay({element:a,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}removeUnavailableOverlay(e){let t=this.querySelector(`.diva-image-unavailable[data-index="${e}"]`);t&&this.viewer&&this.viewer.removeOverlay(t),null==t||t.remove()}setPageAspects(e){Array.isArray(e)&&(this.pageAspects=e.filter(e=>e>0),this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),this.isViewportInitialized||null===this.targetIndex||this.positionInitialViewport(this.targetIndex),this.maybeLoadMore())}buildOffsets(){let e=this.tileSources.length>0?this.tileSources.length:this.pageAspects.length;this.pageOffsets=Array(e),this.pageHeights=Array(e),this.pageRowHeights=Array(e),this.pageXOffsets=Array(e),this.isSpreadMode()?this.buildSpreadOffsets(e):this.buildSingleOffsets(e)}buildSingleOffsets(e){let t=0,a=this.pageAspects[0]||1;for(let r=0;r0){let e=this.pageAspects[0]||n;n=e,this.pageOffsets[0]=a,this.pageHeights[0]=e,this.pageRowHeights[0]=e,this.pageXOffsets[0]=+!t,a+=e+.06,r=1}for(;r{let a=this.pageOffsets[t],r=this.pageHeights[t],n=this.pageXOffsets[t];e.setPosition(new OpenSeadragon.Point(n,a),!0),e.setWidth(1,!0),e.setHeight(r,!0),this.addOrUpdatePageOverlay(t)})}addOrUpdatePageOverlay(e){if(!this.viewer)return;let t=this.pageOverlayElements.get(e),a=e%2==0;t||((t=document.createElement("div")).className="diva-page-overlay-label",t.style.pointerEvents="none",t.style.color="#ffffff",t.style.background="transparent",t.style.padding="0",t.style.borderRadius="0",t.style.fontSize="12px",t.style.fontWeight="600",t.style.lineHeight="1.2",t.style.whiteSpace="nowrap",t.style.paddingBottom="6px",t.style.paddingLeft=a?"0":"12px",t.style.paddingRight=a?"12px":"0",this.pageOverlayElements.set(e,t)),t.textContent=this.pageLabels[e]||`Page ${e+1}`;let r=(this.pageXOffsets[e]||0)+ +!!a,n=this.pageOffsets[e]||0;try{this.viewer.removeOverlay(t)}catch(e){}this.viewer.addOverlay({element:t,location:new OpenSeadragon.Point(r,n),placement:a?OpenSeadragon.Placement.BOTTOM_RIGHT:OpenSeadragon.Placement.BOTTOM_LEFT})}clearPageOverlays(){this.viewer&&this.pageOverlayElements.forEach(e=>{var t;try{null==(t=this.viewer)||t.removeOverlay(e)}catch(e){}e.remove()}),this.pageOverlayElements.clear()}ensureScrollPlane(){if(!this.viewer||0===this.pageOffsets.length)return;let e=this.getTotalHeight(),t=this.isSpreadMode()?2:1;if(this.scrollPlaneItem){this.scrollPlaneItem.setPosition(new OpenSeadragon.Point(0,0),!0),this.scrollPlaneItem.setWidth(t,!0),this.scrollPlaneItem.setHeight(e,!0);return}let a=`data:image/svg+xml;charset=utf-8,${encodeURIComponent('')}`;this.viewer.addTiledImage({tileSource:{type:"image",url:a},x:0,y:0,width:t,success:a=>{let r=a.item;r.setOpacity(0),r.setPosition(new OpenSeadragon.Point(0,0),!0),r.setWidth(t,!0),r.setHeight(e,!0),this.scrollPlaneItem=r}})}clearScrollPlane(){this.viewer&&this.scrollPlaneItem&&(this.viewer.world.removeItem(this.scrollPlaneItem),this.scrollPlaneItem=null)}indicesForRange(e,t){return 0===this.pageOffsets.length?null:[this.findIndexForOffset(e),this.getRowEndIndex(this.findIndexForOffset(t))]}findIndexForOffset(e){let t=0,a=this.pageOffsets.length-1;for(;t<=a;){let r=Math.floor((t+a)/2),n=this.pageOffsets[r],i=this.pageRowHeights[r]||this.pageHeights[r]||1;if(en+i))return this.getRowStartIndex(r);t=r+1}}if(t>=this.pageOffsets.length)return this.pageOffsets.length-1;let r=Math.max(0,t);return this.getRowStartIndex(r)}scrollToOffset(e){var t;let a=null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=this.isSpreadMode()?2:1,i=new OpenSeadragon.Rect(0,e,n,r.height);a.fitBounds(i,!0)}positionInitialViewport(e){var t;let a=null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=this.pageOffsets[e]||0,n=this.pageRowHeights[e]||this.pageHeights[e]||1,i=Math.max(0,r-1.5*n),o=this.isSpreadMode()?2:1;a.fitBounds(new OpenSeadragon.Rect(0,i,o,r+2.5*n-i),!0)}scrollToIndex(e){if(e<0||e>=this.tileSources.length||e>=this.pageOffsets.length)return;let t=this.pageOffsets[e];this.scrollToOffset(t),this.targetIndex=e,this.ensurePageLoaded(e),this.lastReportedIndex=e,this.emitCustomEvent("diva-page-change",{index:e})}getVisiblePageIndexes(){var e;if(0===this.pageOffsets.length)return[];let t=null!=(e=this.lastReportedIndex)?e:0,a=this.getRowStartIndex(t);return Array.from({length:this.getRowEndIndex(a)-a+1},(e,t)=>a+t)}isPageLoaded(e,t){var a;return(null==(a=this.tileSources[e])?void 0:a.sourceId)===t&&this.loadedIndexes.has(e)}next(){let e=this.getVisiblePageIndexes();if(0===e.length)return;let t=this.getRowEndIndex(e[0])+1;t0?n/r.height*.75:0,o=a.getCenter(!0),u=new OpenSeadragon.Point(this.getCenterX(),o.y+i);a.panTo(u,!0),this.recenterBoundsX(),this.clampTop(),this.clampBottom(),this.maybeEmitPageChange()}lockHorizontalPan(){var e;if(!this.isViewportInitialized)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(this.getCenterX(),a.y),!0),t.applyConstraints()}recenterAfterFit(){if(!this.viewer)return;let e=()=>{this.viewer&&this.viewer.removeHandler("animation-finish",e),this.recenterBoundsX()};"function"==typeof this.viewer.addOnceHandler?this.viewer.addOnceHandler("animation-finish",e):this.viewer.addHandler("animation-finish",e)}recenterBoundsX(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0),r=this.getCenterX();5e-4>Math.abs(a.x-r)||(t.panTo(new OpenSeadragon.Point(r,a.y),!0),t.applyConstraints())}clampTop(e){var t;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=-this.getTopPaddingViewport(r.height);if(r.y>=n)return;let i=r.height/2+n;this.isClamping=!0,a.panTo(new OpenSeadragon.Point(this.getCenterX(),i),!0),a.applyConstraints(),this.isClamping=!1}clampBottom(e){var t,a;let r=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!r||0===this.pageOffsets.length)return;let n=this.getTotalHeight(),i=r.getBounds(!0),o=n+20/((null==(a=this.container)?void 0:a.getBoundingClientRect().height)||1)*i.height;if(i.y+i.height<=o)return;let u=o-i.height/2;this.isClamping=!0,r.panTo(new OpenSeadragon.Point(this.getCenterX(),u),!0),r.applyConstraints(),this.isClamping=!1}maybeEmitPageChange(e){var t;if(this.suppressPageChange||this.isScrollbarDragging||0===this.pageOffsets.length)return;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getCenter(!0),n=this.findIndexForOffset(r.y);this.lastReportedIndex!==n&&(this.lastReportedIndex=n,this.emitCustomEvent("diva-page-change",{index:n}))}emitPageChangeInstant(){var e;if(0===this.pageOffsets.length)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0),r=this.findIndexForOffset(a.y);this.lastReportedIndex=r,this.emitCustomEvent("diva-page-change",{index:r,instant:!0})}flushInitialPageChange(){if(0===this.pageOffsets.length){this.suppressPageChange=!1;return}if(!this.viewer||!this.viewer.viewport)return;let e=this.viewer.viewport.getCenter(!0),t=this.findIndexForOffset(e.y);this.lastReportedIndex=t,this.suppressPageChange=!1,this.emitCustomEvent("diva-page-change",{index:t})}maybeEmitZoomChange(e){var t;if(this.suppressZoomChange)return;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getZoom(!0);null!==this.lastReportedZoom&&1e-4>Math.abs(this.lastReportedZoom-r)||(this.lastReportedZoom=r,this.emitCustomEvent("diva-zoom-change",{zoom:r}))}flushInitialZoomChange(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getZoom(!0);this.lastReportedZoom=a,this.suppressZoomChange=!1,this.emitCustomEvent("diva-zoom-change",{zoom:a})}alignTopAfterFit(e){if(!this.viewer)return;let t=this.viewer.viewport;if(!t)return;let a=t.getBounds(!0),r=this.getTopPaddingViewport(a.height),n=(this.pageOffsets[e]||0)-r;if(5e-4>Math.abs(a.y-n))return;let i=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(i.x,a.height/2+n),!0),t.applyConstraints()}getTopPaddingViewport(e){var t;return 28/((null==(t=this.container)?void 0:t.getBoundingClientRect().height)||1)*e}resetLoadingState(){null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1})}updateLoadingState(){if(this.loadingIndexes.size>0){if(this.isLoading||null!==this.loadingTimer)return;this.loadingTimer=window.setTimeout(()=>{this.loadingTimer=null,this.loadingIndexes.size>0&&!this.isLoading&&(this.isLoading=!0,this.emitCustomEvent("diva-loading-change",{loading:!0}))},300);return}null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading&&(this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1}))}applyLayoutChange(e){var t,a,r;let n=null!=(t=e.mode)?t:this.layoutMode,i=null!=(a=e.direction)?a:this.viewingDirection;if(this.layoutMode===n&&this.viewingDirection===i)return;let o=null,u=null==(r=this.viewer)?void 0:r.viewport;if(u&&this.pageOffsets.length>0){let e=u.getBounds(!0),t=e.y+.5*e.height;o=this.findIndexForOffset(t)}else null!==this.lastReportedIndex&&(o=this.lastReportedIndex);if(this.layoutMode=n,this.viewingDirection=i,this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),null!==o){let e=Math.max(0,Math.min(o,this.pageOffsets.length-1));this.scrollToIndex(e)}else this.lockHorizontalPan(),this.recenterAfterFit();this.maybeLoadMore()}emitCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}getCenterX(){return this.isSpreadMode()?1:.5}isSingleCanvasLayout(){return 1===this.tileSources.length&&1===this.pageOffsets.length}getTotalHeight(){let e=this.pageOffsets.length-1;return this.pageOffsets[e]+(this.pageRowHeights[e]||1)}getRowBounds(e){let t=this.pageOffsets[e]||0,a=this.pageRowHeights[e]||this.pageHeights[e]||1,r=this.isSpreadMode()?2:1;return new OpenSeadragon.Rect(0,t,r,a)}isSpreadMode(){return"single"!==this.layoutMode}getRowStartIndex(e){return this.isSpreadMode()?"spread-shift"===this.layoutMode?0===e?0:e%2==1?e:e-1:e-e%2:e}getRowEndIndex(e){let t=this.pageOffsets.length-1;return this.isSpreadMode()?"spread-shift"===this.layoutMode&&0===e?0:Math.min(e+1,t):e}createScrollbar(){this.container&&(this.scrollbarTrack=document.createElement("div"),this.scrollbarTrack.className="diva-scrollbar-track",this.scrollbarThumb=document.createElement("div"),this.scrollbarThumb.className="diva-scrollbar-thumb",this.scrollbarTrack.appendChild(this.scrollbarThumb),this.container.appendChild(this.scrollbarTrack),this.setupScrollbarDrag(),this.setupScrollbarTrackClick())}updateScrollbar(){if(!this.viewer||!this.scrollbarThumb||!this.scrollbarTrack||0===this.pageOffsets.length)return;let e=this.viewer.viewport.getBounds(!0),t=this.scrollbarTrack.clientHeight,a=this.getTotalHeight(),r=e.height,n=e.y,i=Math.max(30,r/a*t),o=a-r,u=o>0?Math.max(0,Math.min(1,n/o)):0;this.scrollbarThumb.style.height=`${i}px`,this.scrollbarThumb.style.top=`${Math.max(0,u*(t-i))}px`}setupScrollbarDrag(){if(!this.scrollbarThumb||!this.scrollbarTrack)return;let e=!1,t=0,a=0,r=r=>{var n;e=!0,this.isScrollbarDragging=!0,t=r.clientY,a=(null==(n=this.scrollbarThumb)?void 0:n.offsetTop)||0,r.preventDefault(),r.stopPropagation()},n=r=>{if(!e||!this.scrollbarTrack||!this.scrollbarThumb||!this.viewer)return;let n=r.clientY-t,i=a+n,o=this.scrollbarTrack.clientHeight,u=this.scrollbarThumb.clientHeight,s=Math.max(0,Math.min(i,o-u)),c=this.getTotalHeight(),l=this.viewer.viewport.getBounds(!0).height;this.scrollToOffset((o-u>0?s/(o-u):0)*(c-l))},i=()=>{e&&(e=!1,this.isScrollbarDragging=!1,this.emitPageChangeInstant())};this.scrollbarMouseMove=n,this.scrollbarMouseUp=i,this.scrollbarThumb.addEventListener("mousedown",r),document.addEventListener("mousemove",n),document.addEventListener("mouseup",i)}setupScrollbarTrackClick(){this.scrollbarTrack&&this.scrollbarTrack.addEventListener("click",e=>{var t;if(e.target===this.scrollbarThumb||!this.viewer)return;let a=null==(t=this.scrollbarTrack)?void 0:t.getBoundingClientRect();if(!a)return;let r=Math.max(0,Math.min(1,(e.clientY-a.top)/a.height)),n=this.getTotalHeight(),i=this.viewer.viewport.getBounds(!0).height;this.scrollToOffset(r*(n-i))})}constructor(){super(),this.container=null,this.viewer=null,this.loadToken=0,this.tileSources=[],this.pageLabels=[],this.pageAspects=[],this.pageOffsets=[],this.pageHeights=[],this.pageRowHeights=[],this.pageXOffsets=[],this.layoutMode="single",this.viewingDirection="ltr",this.hasFitFirstPage=!1,this.loadedIndexes=new Set,this.loadingIndexes=new Set,this.unavailableIndexes=new Map,this.loadControllers=new Map,this.tileSourceResolver=async e=>e.isStatic?{type:"image",url:e.url,crossOriginPolicy:"Anonymous"}:e.url,this.loadedItems=new Map,this.pageWaiters=new Map,this.pageOverlayElements=new Map,this.targetIndex=null,this.initialPageIndex=0,this.resourceId="initial",this.scrollPlaneItem=null,this.isViewportInitialized=!1,this.lastReportedIndex=null,this.lastReportedZoom=null,this.loadingTimer=null,this.isLoading=!1,this.isClamping=!1,this.suppressPageChange=!0,this.suppressZoomChange=!0,this.scrollbarTrack=null,this.scrollbarThumb=null,this.isScrollbarDragging=!1,this.scrollbarMouseMove=null,this.scrollbarMouseUp=null,this.handleWheelBound=this.handleWheel.bind(this),this.handleDoubleClickBound=this.handleDoubleClick.bind(this),this.handleViewportChangeBound=this.handleViewportChange.bind(this),this.handleAnimationFinishBound=this.handleAnimationFinish.bind(this)}};function g(e,t,a){return a.a=e,a.f=t,a}function p(e){return g(2,e,function(t){return function(a){return e(t,a)}})}function m(e){return g(3,e,function(t){return function(a){return function(r){return e(t,a,r)}}})}function w(e){return g(4,e,function(t){return function(a){return function(r){return function(n){return e(t,a,r,n)}}}})}function x(e){return g(5,e,function(t){return function(a){return function(r){return function(n){return function(i){return e(t,a,r,n,i)}}}}})}function y(e){return g(6,e,function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return e(t,a,r,n,i,o)}}}}}})}function E(e){return g(7,e,function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return e(t,a,r,n,i,o,u)}}}}}}})}function I(e,t,a){return 2===e.a?e.f(t,a):e(t)(a)}function C(e,t,a,r){return 3===e.a?e.f(t,a,r):e(t)(a)(r)}function R(e,t,a,r,n){return 4===e.a?e.f(t,a,r,n):e(t)(a)(r)(n)}function $(e,t,a,r,n,i){return 5===e.a?e.f(t,a,r,n,i):e(t)(a)(r)(n)(i)}function L(e,t,a,r,n,i,o){return 6===e.a?e.f(t,a,r,n,i,o):e(t)(a)(r)(n)(i)(o)}function A(e,t,a,r,n,i,o,u){return 7===e.a?e.f(t,a,r,n,i,o,u):e(t)(a)(r)(n)(i)(o)(u)}customElements.define("diva-lazy-image",h),customElements.define("osd-viewer",v);var S=m(function(e,t,a){for(var r=Array(e),n=0;n100){var n;return r.push((n=e,{a:n,b:t})),!0}if(e.$<0&&(e=ai(e),t=ai(t)),"function"==typeof DataView&&e instanceof DataView){var i=e.byteLength;if(t.byteLength!==i)return!1;for(var o=0;o0&&e<0||a<0&&e>0?a+e:a}),Z=Math.ceil,K=Math.floor,X=Math.round,Y=Math.log,J=p(function(e,t){return e+t}),Q=m(function(e,t,a){for(var r=a.length;r-- >0;){var n=a[r],i=a.charCodeAt(r);56320<=i&&i<=57343&&(n=a[--r]+n),t=I(e,n,t)}return t}),ee=p(function(e,t){return t.split(e)}),et=p(function(e,t){return t.join(e)}),ea=m(function(e,t,a){return a.slice(e,t)}),er=p(function(e,t){for(var a=t.length;a-- >0;){var r=t[a],n=t.charCodeAt(a);if(56320<=n&&n<=57343&&(r=t[--a]+r),!e(r))return!1}return!0}),en=p(function(e,t){return t.indexOf(e)>-1}),ei=p(function(e,t){return 0===t.indexOf(e)}),eo=p(function(e,t){return t.length>=e.length&&t.lastIndexOf(e)===t.length-e.length}),eu=p(function(e,t){var a=e.length;if(a<1)return B;for(var r=0,n=[];(r=t.indexOf(e,r))>-1;)n.push(r),r+=a;return U(n)});function es(e){return e+""}function ec(e){return{$:2,b:e}}var el=ec(function(e){return"number"!=typeof e?eA("an INT",e):-0x7fffffff=t.length)return eA("a LONGER array. Need index "+n+" but only see "+t.length+" entries",t);var r=eC(e.b,t[n]);return a1(r)?r:ab(I(ah,n,r.a));case 8:if("object"!=typeof t||null===t||e$(t))return eA("an OBJECT",t);var i=B;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var r=eC(e.b,t[o]);if(!a1(r))return ab(I(af,o,r.a));i=D({a:o,b:r.a},i)}return av(az(i));case 9:for(var u=e.f,s=e.g,c=0;ctypeof FileList&&e instanceof FileList}function eL(e){return I(a0,e.length,function(t){return e[t]})}function eA(e,t){return ab(I(ad,"Expecting "+e,t))}var eS=p(function(e,t){return JSON.stringify(t,null,e)+""});function eT(e){return e}var ek=m(function(e,t,a){return("toJSON"!==e||"function"!=typeof t)&&(a[e]=t),a});function eM(e){return{$:0,a:e}}function eP(e){return{$:2,b:e,c:null}}var eN=p(function(e,t){return{$:3,b:e,d:t}}),ez=p(function(e,t){return{$:4,b:e,d:t}}),eO=0;function eV(e){var t={$:0,e:eO++,f:e,g:null,h:[]};return eU(t),t}function eq(e){return eP(function(t){t(eM(eV(e)))})}function eH(e,t){e.h.push(t),eU(e)}var eB=p(function(e,t){return eP(function(a){eH(e,t),a(eM(0))})}),eD=!1,e_=[];function eU(e){if(e_.push(e),!eD){for(eD=!0;e=e_.shift();)!function(e){for(;e.f;){var t=e.f.$;if(0===t||1===t){for(;e.g&&e.g.$!==t;)e.g=e.g.i;if(!e.g)return;e.f=e.g.b(e.f.a),e.g=e.g.i}else if(2===t){e.f.c=e.f.b(function(t){e.f=t,eU(e)});return}else if(5===t){if(0===e.h.length)return;e.f=e.f.b(e.h.shift())}else e.g={$:+(3!==t),b:e.f.b,i:e.g},e.f=e.f.d}}(e);eD=!1}}function eF(e){return eP(function(t){var a=setTimeout(function(){t(eM(0))},e);return function(){clearTimeout(a)}})}var eG={};function ej(e,t,a,r,n){return{b:e,c:t,d:a,e:r,f:n}}var eW=p(function(e,t){return eP(function(a){e.g(t),a(eM(0))})}),eZ=p(function(e,t){return I(eB,e.h,{$:0,a:t})});function eK(e){return function(t){return{$:1,k:e,l:t}}}function eX(e){return{$:2,m:e}}var eY=[],eJ=!1;function eQ(e,t,a){if(eY.push({p:e,q:t,r:a}),!eJ){eJ=!0;for(var r;r=eY.shift();)!function(e,t,a){var r={};for(var n in e0(!0,t,r,null),e0(!1,a,r,null),e)eH(e[n],{$:"fx",a:r[n]||{i:B,j:B}})}(r.p,r.q,r.r);eJ=!1}}function e0(e,t,a,r){switch(t.$){case 1:var n,i,o,u,s,c,l,b=t.k,d=(n=e,i=b,o=r,u=t.l,I(n?eG[i].e:eG[i].f,function(e){for(var t=o;t;t=t.t)e=t.s(e);return e},u));a[b]=(s=e,c=d,l=(l=a[b])||{i:B,j:B},s?l.i=D(c,l.i):l.j=D(c,l.j),l);return;case 2:for(var f=t.m;f.b;f=f.b)e0(e,f.a,a,r);return;case 3:e0(e,t.o,a,{s:t.n,t:r});return}}function e1(e,t){return eG[e]&&k(3),eG[e]={e:e2,u:t,a:e4},eK(e)}var e2=p(function(e,t){return t});function e4(e){var t=[],a=eG[e].u,r=eF(0);return eG[e].b=r,eG[e].c=m(function(e,n,i){for(;n.b;n=n.b){for(var o=t,u=a(n.a),s=0;s=0&&t.splice(a,1)}}}function e3(e,t){return eG[e]&&k(3),eG[e]={f:e6,u:t,a:e5},eK(e)}var e6=p(function(e,t){return function(a){return e(t(a))}});function e5(e,t){var a=B,r=eG[e].u,n=eM(null);return eG[e].b=n,eG[e].c=m(function(e,t,r){return a=t,n}),{send:function(e){var n=I(eI,r,e);a1(n)||k(4,n.a);for(var i=n.a,o=a;o.b;o=o.b)t(o.a(i))}}}var e8=!1,e7="u">typeof document?document:{};function e9(e,t){e.appendChild(t)}function te(e,t,a){(t.parentNode!==e||t.nextSibling!==a)&&e.insertBefore(t,a)}function tt(e,t,a){(t.parentNode!==e||t.previousSibling!==a)&&e.insertBefore(t,null===a?e.firstChild:a.nextSibling)}var ta="u">typeof Element&&"function"==typeof Element.prototype.moveBefore,tr=ta?function(e,t,a){(t.parentNode!==e||t.nextSibling!==a)&&e.moveBefore(t,a)}:te,tn=ta?function(e,t,a){(t.parentNode!==e||t.previousSibling!==a)&&e.moveBefore(t,null===a?e.firstChild:a.nextSibling)}:tt;function ti(e){var t=e.parentNode;t&&t.removeChild(e)}function to(e){return{r:e,s:Object.create(null)}}function tu(e){return{$:0,a:e}}var ts=p(function(e,t){return p(function(a,r){for(var n=[];r.b;r=r.b)n.push(r.a);return{$:1,c:t,d:tA(a),e:n,f:e,b:0}})}),tc=ts(void 0);function tl(e,t){return{$:5,l:e,m:t,k:void 0}}p(function(e,t){return p(function(a,r){for(var n=[],i=Object.create(null);r.b;r=r.b){for(var o=r.a,u=o.a;u in i;)u+=tH,o={a:u,b:o.b};n.push(o),i[u]=o.b}return{$:2,c:t,d:tA(a),e:n,t:i,f:e,b:0}})})(void 0);var tb=p(function(e,t){return tl([e,t],function(){return e(t)})}),td=m(function(e,t,a){return tl([e,t,a],function(){return I(e,t,a)})}),tf=w(function(e,t,a,r){return tl([e,t,a,r],function(){return C(e,t,a,r)})}),th=x(function(e,t,a,r,n){return tl([e,t,a,r,n],function(){return R(e,t,a,r,n)})}),tv=y(function(e,t,a,r,n,i){return tl([e,t,a,r,n,i],function(){return $(e,t,a,r,n,i)})}),tg=E(function(e,t,a,r,n,i,o){return tl([e,t,a,r,n,i,o],function(){return L(e,t,a,r,n,i,o)})}),tp=p(function(e,t){return{$:"a0",n:e,o:t}}),tm=p(function(e,t){return{$:"a1",n:e,o:t}}),tw=p(function(e,t){return{$:"a2",n:e,o:t}}),tx=p(function(e,t){return{$:"a3",n:e,o:t}}),ty=m(function(e,t,a){return{$:"a4",n:t,o:{f:e,o:a}}}),tE=/^script$/i,tI=/^(on|formAction$)/i,tC=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,tR=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function t$(e){return tR.test(e)?"":e}var tL="function"==typeof _Test_runThunk;function tA(e){var t={};for(t[t_]=!0;e.b;e=e.b){var a=e.a,r=a.$,n=a.n,i=a.o;if("a2"===r){"className"===n?tS(t,n,i):t[n]=i;continue}var o=t[r]||(t[r]={});"a3"===r&&"class"===n?tL?tS(t,"className",i):tS(o,n,i):o[n]=i}return t}function tS(e,t,a){var r=e[t];e[t]=r?r+" "+a:a}function tT(e,t,a){var n=e.$;if(5===n)return tT(e.k||(e.k=e.m()),t,a);if(4===n)return tT(e.k,function(a,r){return t(e.j(a),r)},a);if(0===n){var i=e7.createTextNode(e.a);return a.r=i,i}if(3===n){var i=e.h(e.g);return tk(i,t,{},e.d),a.r=i,i}var i=e.f?e7.createElementNS(e.f,e.c):e7.createElement(e.c);if(r&&"a"==e.c&&i.addEventListener("click",r(i)),tk(i,t,{},e.d),1===n)for(var o=e.e,u=0;ua4(o)}),r[i]=u}for(i in r)i in a||(e.removeEventListener(i,r[i]),delete r[i])}(e,t,r.a0||{})}function tM(e,t){for(var a in t)if("a0"!==a&&"a1"!==a&&"a3"!==a&&"a4"!==a&&a!==t_){var r=t[a];r!==e[a]&&(e[a]=r)}}function tP(e,t){var a=e.elmFs;if(a)for(var r in a)a[r].q=t}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){n=!0}}))}catch(e){}function tN(e,t,a,r){if(e===t)return{r:tz(e,t,a,r),u:!1,v:!1};for(;4===e.$;)e=e.k;if(4===t.$)return tN(e,t.k,function(e,r){return a(t.j(e),r)},r);if(5===e.$)if(5!==t.$)return tN(e.k,t,a,r);else{for(var n=e.l,i=t.l,o=n.length,u=o===i.length;u&&o--;)u=n[o]===i[o];return u?(t.k=e.k,{r:tz(e,t,a,r),u:!1,v:!1}):(t.k=t.m(),tN(e.k,t.k,a,r))}if(5===t.$)return tN(e,t.k||(t.k=t.m()),a,r);var s=r.r,c=e.$,l=t.$;if(c!==l)if(1===c&&2===l)e=function(e,t,a){for(var r=e.e,n=t.e,i=r.length,o=n.length,u=Array(i),s=Object.create(null),c=Object.create(null),l=0;l=0;s--){var l=u[s],b=function e(t,a,r){var n=t.$;if(5===n)return e(t.k,a,r);if(4===n)return e(t.k,function(e,r){return a(t.j(e),r)},r);if(0===n){var i=e7.createTextNode(t.a);return r.r=i,i}return r.r}(2===a.$?l.b:l,r,n.s[2===a.$?l.a:s]);if(b.parentNode===e)for(;c>=0;c--){if((o=e.childNodes[c])===b){c--;break}(3===o.nodeType||"font"===o.localName)&&e.removeChild(o)}else te(e,b,o),o=b}for(;c>=0;c--)(3===(o=e.childNodes[c]).nodeType||"font"===o.localName)&&e.removeChild(o)}return{r:e,u:!1,v:!1}}function tV(e,t,a,r,n){for(var i=t.e,o=a.e,u=i.length,s=o.length,c=!1,l=null,b=us)for(var d=s;dc&&d>l;){var p=i[b],m=o[d],w=p.a,x=m.a,y=p.b,E=m.b;if(w===x){var I=tN(y,E,r,n.s[x]);b--,d--,g(I,!0);continue}var C=!1;if(w in s?C=!0:(ti(n.s[w].r),delete n.s[w],b--),x in u){if(C)break}else{var R=to(void 0),$=tT(E,r,R);n.s[x]=R,te(e,$,h),d--,h=$}}var L=!1;if(c=e)break;var a=tF[t];delete tF[t],a()}tG=!1})),t}var tK="u">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tX={addEventListener:function(){},removeEventListener:function(){}},tY="u">typeof document?document:tX,tJ="u">typeof window?window:tX,tQ=m(function(e,t,a){return eq(eP(function(r){function i(e){eV(a(e))}return e.addEventListener(t,i,n&&{passive:!0}),function(){e.removeEventListener(t,i)}}))}),t0=p(function(e,t){var a=eC(e,t);return a1(a)?ap(a.a):am});function t1(e,t){return eP(function(a){tZ(function(){var r=document.getElementById(e);a(r?eM(t(r)):{$:1,a:a6(e)})})})}function t2(){var e=tY.body,t=tY.documentElement;return{dz:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dd:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t4=m(function(e,t,a){return t1(e,function(e){return e.scrollLeft=t,e.scrollTop=a,0})}),t3=m(function(e,t,a){return eP(function(r){function n(e){r(t(a.dH.a(e)))}var i,o,u,s=new XMLHttpRequest;s.addEventListener("error",function(){n(rT)}),s.addEventListener("timeout",function(){n(rP)}),s.addEventListener("load",function(){var e,t,r;n((e=a.dH.b,I(200<=(t=s).status&&t.status<300?rS:rL,{aK:(r=t).responseURL,gD:r.status,gE:r.statusText,eF:function(e){if(!e)return rC;for(var t=rC,a=e.split("\r\n"),r=a.length;r--;){var n=a[r],i=n.indexOf(": ");if(i>0){var o=n.substring(0,i),u=n.substring(i+2);t=C(rK,o,function(e){return ap(rN(e)?u+", "+e.a:u)},t)}}return t}(r.getAllResponseHeaders())},e(t.response))))}),rN(a.fw)&&(i=e,o=s,u=a.fw.a,o.upload.addEventListener("progress",function(e){!o.c&&eV(I(rz,i,{a:u,b:rM({gz:e.loaded,fo:e.total})}))}),o.addEventListener("progress",function(e){!o.c&&eV(I(rz,i,{a:u,b:rk({gr:e.loaded,fo:e.lengthComputable?ap(e.total):am})}))}));try{s.open(a.f9,a.aK,!0)}catch(e){return n(rA(a.aK))}return function(e,t){for(var a=t.eF;a.b;a=a.b)e.setRequestHeader(a.a.a,a.a.b);e.timeout=t.gN.a||0,e.responseType=t.dH.d,e.withCredentials=t.fC}(s,a),a.ef.a&&s.setRequestHeader("Content-Type",a.ef.a),s.send(a.ef.b),function(){s.c=!0,s.abort()}})}),t6=m(function(e,t,a){return{$:0,d:e,b:t,a:a}}),t5=p(function(e,t){return{$:0,d:t.d,b:t.b,a:function(a){return e(t.a(a))}}}),t8=x(function(e,t,a,r,n){for(var i,o=e.length,u=t+o<=n.length,s=0;u&&sO(e,t)))return a;else{var r=e,n=t-1,i=I(_,t,a);e=r,t=n,a=i;continue}}),aR=p(function(e,t){return C(aC,e,t,B)}),a$=p(function(e,t){return C(G,e,I(aR,0,aI(t)-1),t)}),aL=function(e){return e.toLowerCase()},aA=function(e){return e.toUpperCase()},aS=function(e){return M(e,aL(e))&&!M(e,aA(e))},aT=function(e){return M(e,aA(e))&&!M(e,aL(e))},ak=function(e){return aS(e)||aT(e)},aM=function(e){var t=e.charCodeAt(0);return 55296<=t&&t<=56319?(t-55296)*1024+e.charCodeAt(1)-56320+65536:t},aP=function(e){var t=aM(e);return t<=57&&48<=t},aN=function(e){return aS(e)||aT(e)||aP(e)},az=function(e){return C(aE,_,B,e)},aO=function(e){var t=e.charCodeAt(0);return isNaN(t)?am:ap(55296<=t&&t<=56319?{a:e[0]+e[1],b:e.slice(2)}:{a:e[0],b:e.slice(1)})},aV=p(function(e,t){return"\n\n("+es(e+1)+") "+ay(aq(t))}),aq=function(e){return I(aH,e,B)},aH=p(function(e,t){for(;;)switch(e.$){case 0:var a=e.a,r=e.b,n=!function(){var e=aO(a);if(1===e.$)return!1;var t=e.a,r=t.a,n=t.b;return ak(r)&&I(er,aN,n)}()?"['"+a+"']":"."+a,i=r,o=I(_,n,t);e=i,t=o;continue;case 1:var u=e.a,r=e.b,s="["+es(u)+"]",i=r,o=I(_,s,t);e=i,t=o;continue;case 2:var c=e.a;if(!c.b)return"Ran into a Json.Decode.oneOf with no possibilities"+(t.b?" at json"+I(aw,"",az(t)):"!");if(c.b.b){var l=(t.b?"The Json.Decode.oneOf at json"+I(aw,"",az(t)):"Json.Decode.oneOf")+" failed in the following "+es(aI(c))+" ways:";return I(aw,"\n\n",I(_,l,I(a$,aV,c)))}var r=c.a,i=r,o=t;e=i,t=o;continue;default:var b=e.a,d=e.b,l=t.b?"Problem with the value at json"+I(aw,"",az(t))+":\n\n ":"Problem with the given value:\n\n";return l+(ay(I(eS,4,d))+"\n\n")+b}}),aB=w(function(e,t,a,r){return{$:0,a:e,b:t,c:a,d:r}}),aD=[],a_=p(function(e,t){return Y(t)/Y(e)}),aU=function(e){return e},aF=Z(I(a_,2,32)),aG=R(aB,0,aF,aD,aD),aj=p(function(e,t){return e(t)}),aW=function(e){return e.length},aZ=p(function(e,t){return O(e,t)>0?e:t}),aK=p(function(e,t){for(;;){var a=I(T,32,e),r=a.a,n=a.b,i=I(_,{$:0,a:r},t);if(!n.b)return az(i);e=n,t=i}}),aX=function(e){return e.a},aY=p(function(e,t){for(;;){var a=Z(t/32);if(1===a)return I(T,32,e).a;e=I(aK,e,B),t=a}}),aJ=p(function(e,t){if(!t.y)return R(aB,aW(t.F),aF,aD,t.F);var a=32*t.y,r=K(I(a_,32,a-1)),n=I(aY,e?az(t.G):t.G,t.y);return R(aB,aW(t.F)+a,I(aZ,5,r*aF),n,t.F)}),aQ=x(function(e,t,a,r,n){for(;;)if(t<0)return I(aJ,!1,{G:r,y:a/32|0,F:n});else{var i={$:1,a:C(S,32,t,e)},o=e,u=t-32,s=a,c=I(_,i,r),l=n;e=o,t=u,a=s,r=c,n=l;continue}}),a0=p(function(e,t){if(e<=0)return aG;var a=e%32,r=C(S,a,e-a,t);return $(aQ,t,e-a-32,e,B,r)}),a1=function(e){return!e.$},a2=function(e){return{$:0,a:e}},a4=function(e){switch(e.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},a3=function(e){return e},a6=a3,a5=y(function(e,t,a,r,n,i){return{fX:i,eH:t,A:r,e$:a,e6:e,gq:n}}),a8=function(e){return e.length},a7=p(function(e,t){return e<1?t:C(ea,e,a8(t),t)}),a9=function(e){return""===e},re=p(function(e,t){return e<1?"":C(ea,0,e,t)}),rt=function(e){for(var t=0,a=e.charCodeAt(0),r=+(43==a||45==a),n=r;n500?C(aE,e,t,az(b)):R(rs,e,t,a+1,b);return I(e,n,I(e,o,I(e,s,I(e,l,d))))}),rc=m(function(e,t,a){return R(rs,e,t,0,a)}),rl=p(function(e,t){return C(rc,p(function(t,a){return I(_,e(t),a)}),B,t)}),rb=p(function(e,t){return I(eN,function(t){return eM(e(t))},t)}),rd=m(function(e,t,a){return I(eN,function(t){return I(eN,function(a){return eM(I(e,t,a))},a)},t)}),rf=function(e){return C(rc,rd(_),eM(B),e)},rh=p(function(e,t){return eq(I(eN,eW(e),t))});eG.Task=ej(ru,m(function(e,t,a){return I(rb,function(e){return 0},rf(I(rl,rh(e),t)))}),m(function(e,t,a){return eM(0)}),p(function(e,t){return I(rb,e,t)}));var rv=eK("Task"),rg=p(function(e,t){return rv(I(rb,e,t))}),rp=function(e){return{$:0,a:e}},rm={$:1},rw={$:0},rx=function(e){return{$:9,a:e}},ry=p(function(e,t){return{$:56,a:e,b:t}}),rE=m(function(e,t,a){return 0>O(a,e)?e:O(a,t)>0?t:a}),rI={$:-2},rC=rI,rR=(o=function(){return{fi:t2(),d8:{fz:tJ.pageXOffset,d9:tJ.pageYOffset,dz:tY.documentElement.clientWidth,dd:tY.documentElement.clientHeight}}},eP(function(e){tZ(function(){e(eM(o()))})})),r$={aa:am,ag:am,c8:!1,au:rC,e:rC,cD:0,u:rC,E:rC,Z:B,af:rC,ap:rC},rL=p(function(e,t){return{$:3,a:e,b:t}}),rA=function(e){return{$:0,a:e}},rS=p(function(e,t){return{$:4,a:e,b:t}}),rT={$:2},rk=function(e){return{$:1,a:e}},rM=function(e){return{$:0,a:e}},rP={$:1},rN=function(e){return!e.$},rz=eZ,rO=p(function(e,t){for(;;)if(-2===t.$)return am;else{var a=t.b,r=t.c,n=t.d,i=t.e;switch(I(V,e,a)){case 0:var o=e,u=n;e=o,t=u;continue;case 1:return ap(r);default:var o=e,u=i;e=o,t=u;continue}}}),rV=x(function(e,t,a,r,n){return{$:-1,a:e,b:t,c:a,d:r,e:n}}),rq=x(function(e,t,a,r,n){if(-1!==n.$||n.a)if(-1!==r.$||r.a||-1!==r.d.$||r.d.a)return $(rV,e,t,a,r,n);else{r.a;var i=r.b,o=r.c,u=r.d;u.a;var s=u.b,c=u.c,l=u.d,b=u.e,d=r.e;return $(rV,0,i,o,$(rV,1,s,c,l,b),$(rV,1,t,a,d,n))}n.a;var f=n.b,h=n.c,v=n.d,g=n.e;if(-1!==r.$||r.a)return $(rV,e,f,h,$(rV,0,t,a,r,v),g);r.a;var i=r.b,o=r.c,p=r.d,d=r.e;return $(rV,0,t,a,$(rV,1,i,o,p,d),$(rV,1,f,h,v,g))}),rH=m(function(e,t,a){if(-2===a.$)return $(rV,0,e,t,rI,rI);var r=a.a,n=a.b,i=a.c,o=a.d,u=a.e;switch(I(V,e,n)){case 0:return $(rq,r,n,i,C(rH,e,t,o),u);case 1:return $(rV,r,n,t,o,u);default:return $(rq,r,n,i,o,C(rH,e,t,u))}}),rB=m(function(e,t,a){var r=C(rH,e,t,a);return -1!==r.$||r.a?r:(r.a,$(rV,1,r.b,r.c,r.d,r.e))}),rD=function(e){for(;;)if(-1!==e.$||-1!==e.d.$)return e;else{e=e.d;continue}},r_=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.e.d.$||e.e.d.a){var t=e.a,a=e.b,r=e.c,n=e.d;n.a;var i=n.b,o=n.c,u=n.d,s=n.e,c=e.e;c.a;var l=c.b,b=c.c,d=c.d,f=c.e;return $(rV,1,a,r,$(rV,0,i,o,u,s),$(rV,0,l,b,d,f))}var t=e.a,a=e.b,r=e.c,h=e.d;h.a;var i=h.b,o=h.c,u=h.d,s=h.e,v=e.e;v.a;var l=v.b,b=v.c,d=v.d;d.a;var g=d.b,p=d.c,m=d.d,w=d.e,f=v.e;return $(rV,0,g,p,$(rV,1,a,r,$(rV,0,i,o,u,s),m),$(rV,1,l,b,w,f))},rU=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.d.d.$||e.d.d.a){var t=e.a,a=e.b,r=e.c,n=e.d;n.a;var i=n.b,o=n.c,u=n.d,s=n.e,c=e.e;c.a;var l=c.b,b=c.c,d=c.d,f=c.e;return $(rV,1,a,r,$(rV,0,i,o,u,s),$(rV,0,l,b,d,f))}var t=e.a,a=e.b,r=e.c,h=e.d;h.a;var i=h.b,o=h.c,v=h.d;v.a;var g=v.b,p=v.c,m=v.d,w=v.e,s=h.e,x=e.e;x.a;var l=x.b,b=x.c,d=x.d,f=x.e;return $(rV,0,i,o,$(rV,1,g,p,m,w),$(rV,1,a,r,s,$(rV,0,l,b,d,f)))},rF=E(function(e,t,a,r,n,i,o){if(-1===i.$&&!i.a)return i.a,$(rV,a,i.b,i.c,i.d,$(rV,0,r,n,i.e,o));for(;;)if(-1===o.$&&1===o.a)if(-1!==o.d.$)return o.a,o.d,rU(t);else if(1===o.d.a)return o.a,o.d.a,rU(t);else break;else break;return t}),rG=function(e){if(-1!==e.$||-1!==e.d.$)return rI;var t=e.a,a=e.b,r=e.c,n=e.d,i=n.a,o=n.d,u=e.e;if(1!==i)return $(rV,t,a,r,rG(n),u);if(-1===o.$&&!o.a)return o.a,$(rV,t,a,r,rG(n),u);var s=r_(e);if(-1!==s.$)return rI;var c=s.a,l=s.b,b=s.c,d=s.d,f=s.e;return $(rq,c,l,b,rG(d),f)},rj=p(function(e,t){if(-2===t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;if(!(0>O(e,r)))return I(rW,e,A(rF,e,t,a,r,n,i,o));if(-1!==i.$||1!==i.a)return $(rV,a,r,n,I(rj,e,i),o);i.a;var u=i.d;if(-1===u.$&&!u.a)return u.a,$(rV,a,r,n,I(rj,e,i),o);var s=r_(t);if(-1!==s.$)return rI;var c=s.a,l=s.b,b=s.c,d=s.d,f=s.e;return $(rq,c,l,b,I(rj,e,d),f)}),rW=p(function(e,t){if(-1!==t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;if(!M(e,r))return $(rq,a,r,n,i,I(rj,e,o));var u=rD(o);return -1===u.$?$(rq,a,u.b,u.c,i,rG(o)):rI}),rZ=p(function(e,t){var a=I(rj,e,t);return -1!==a.$||a.a?a:(a.a,$(rV,1,a.b,a.c,a.d,a.e))}),rK=m(function(e,t,a){var r=t(I(rO,e,a));return r.$?I(rZ,e,a):C(rB,e,r.a,a)}),rX=m(function(e,t,a){return t(e(a))}),rY=p(function(e,t){return C(t6,"",a3,I(rX,t,e))}),rJ=p(function(e,t){return t.$?ab(e(t.a)):av(t.a)}),rQ=function(e){return{$:4,a:e}},r0={$:2},r1={$:1},r2=p(function(e,t){switch(t.$){case 0:return ab({$:0,a:t.a});case 1:return ab(r1);case 2:return ab(r0);case 3:return ab({$:3,a:t.a.gD});default:return I(rJ,rQ,e(t.b))}}),r4=p(function(e,t){return I(rY,e,r2(function(e){return I(rJ,aq,I(eE,t,e))}))}),r3={$:0},r6=p(function(e,t){return{$:0,a:e,b:t}}),r5=function(e){return{$:1,a:e}},r8=p(function(e,t){return{fb:e,ft:t}}),r7=eM(I(r8,rC,B)),r9=function(e){return eP(function(t){var a=e.f;2===a.$&&a.c&&a.c(),e.f=null,t(eM(0))})},ne=m(function(e,t,a){for(;;)if(!t.b)return eM(a);else{var r=t.a,n=t.b;if(r.$){var i=r.a;return I(eN,function(t){var r=i.fw;return 1===r.$?C(ne,e,n,a):C(ne,e,n,C(rB,r.a,t,a))},eq(C(t3,e,eW(e),i)))}var o=r.a,u=I(rO,o,a);if(1!==u.$)return I(eN,function(t){return C(ne,e,n,I(rZ,o,a))},r9(u.a));var s=a;t=n,a=s;continue}}),nt=w(function(e,t,a,r){return I(eN,function(e){return eM(I(r8,e,a))},C(ne,e,t,r.fb))}),na=m(function(e,t,a){var r=e(t);return r.$?a:I(_,r.a,a)}),nr=p(function(e,t){return C(rc,na(e),B,t)}),nn=w(function(e,t,a,r){var n=r.a,i=r.b;return M(t,n)?ap(I(eW,e,i(a))):am}),ni=m(function(e,t,a){return I(eN,function(e){return eM(a)},rf(I(nr,C(nn,e,t.a,t.b),a.ft)))}),no=p(function(e,t){if(t.$){var a=t.a;return r5({fC:a.fC,ef:a.ef,dH:I(t5,e,a.dH),eF:a.eF,f9:a.f9,gN:a.gN,fw:a.fw,aK:a.aK})}return{$:0,a:t.a}}),nu=p(function(e,t){return{$:0,a:e,b:t}});eG.Http=ej(r7,nt,ni,no,p(function(e,t){return I(nu,t.a,I(rX,t.b,e))}));var ns=eK("Http");eK("Http");var nc=m(function(e,t,a){var r;return ns(r5({fC:!1,ef:(r={ef:r3,dH:t,eF:I(rl,r6("Accept"),e),f9:"GET",gN:am,fw:am,aK:a}).ef,dH:r.dH,eF:r.eF,f9:r.f9,gN:r.gN,fw:r.fw,aK:r.aK}))}),nl=function(e){return{$:3,b:e}},nb=function(e){return{$:11,g:e}},nd=p(function(e,t){for(;;)if(!t.b)return!1;else{var a=t.a,r=t.b;if(e(a))return!0;t=r;continue}}),nf=m(function(e,t,a){return I(aw,t,I(ax,e,a))}),nh=p(function(e,t){return M(t,e)||M(t,C(nf,"http://","https://",e))}),nv=function(e){return{$:1,a:e}},ng="http://iiif.io/api/presentation/2/context.json",np="http://iiif.io/api/presentation/3/context.json",nm=p(function(e,t){return{$:0,a:e,b:t}}),nw=p(function(e,t){return{$:0,a:e,b:t}}),nx=p(function(e,t){return{$:0,a:e,b:t}}),ny=p(function(e,t){return{$:0,a:e,b:t}}),nE=function(e){return{$:2,a:e}},nI=function(e){return{$:1,a:e}},nC=function(e){return{$:0,a:e}},nR=function(e){return{$:3,a:e}},n$=m(function(e,t,a){return e(t(a))}),nL=E(function(e,t,a,r,n,i,o){return{dd:r,s:e,cy:n,dN:t,gL:i,gT:o,dz:a}}),nA=function(e){return nb(U([I(ew,ap,e),a2(am)]))},nS=p(function(e,t){return C(ex,p(function(e,t){return t(e)}),e,t)}),nT=w(function(e,t,a,r){var n=nb(U([I(ev,e,t),a2(a)]));return I(nS,n,r)}),nk=m(function(e,t,a){return I(nS,I(ev,e,t),a)}),nM=function(e){if(!e.b)return am;var t=e.a;return e.b,ap(t)},nP=function(e){return nb(U([I(ew,nM,nl(e)),I(ew,ap,e)]))},nN=p(function(e,t){return C(rc,ev,t,e)}),nz=p(function(e,t){return t.b?C(rc,_,t,e):e}),nO=function(e){return C(rc,nz,B,e)},nV=x(function(e,t,a,r,n){return{s:e,eJ:a,dN:t,fl:r,gA:n}}),nq=p(function(e,t){return I(nS,e,t)}),nH=p(function(e,t){return I(nS,a2(e),t)}),nB=function(e){return{$:2,a:e}},nD=p(function(e,t){return t.$?am:e(t.a)}),n_=p(function(e,t){return t.$?am:ap(e(t.a))}),nU=p(function(e,t){return t.$?e:t.a}),nF=function(e){var t=e.e6,a=e.eH,r=e.e$,n=e.A,i=e.gq,o=t?"https://":"http://",u=i.$?n:n+"?"+i.a;return{c4:I(nU,H(o,a),I(n_,function(e){return o+(a+":")+es(e)},r)),A:n,dV:I(ax,"/",n),dk:u}},nG=E(function(e,t,a,r,n,i,o){return{dI:o,eH:e,Y:t,dY:i,cM:a,bd:n,fo:r}}),nj=function(e){return{$:1,a:e}},nW=m(function(e,t,a){if(1===t.$)return am;var r=t.a;return 1===a.$?am:ap(I(e,r,a.a))}),nZ=p(function(e,t){return C(nW,aj,t,e)}),nK=function(e){var t=I(ax,".",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.b.a;return"jpg"===a?ap(0):"tif"===a?ap(1):"png"===a?ap(2):"gif"===a?ap(4):"jp2"===a?ap(3):"pdf"===a?ap(5):"webp"===a?ap(6):am},nX={$:0},nY={$:1},nJ=function(e){return"full"===e?ap(nX):"square"===e?ap(nY):am},nQ=p(function(e,t){for(;;)if(!e.b)return am;else{var a=e.a,r=e.b,n=a(t);if(!n.$)return ap(n.a);var i=t;e=r,t=i;continue}}),n0=function(e){if(0===e.length||/[\sxbo]/.test(e))return am;var t=+e;return t==t?ap(t):am},n1=function(e){var t=I(nr,n0,I(ax,",",I(a7,4,e)));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return am;var a=t.a,r=t.b,n=r.a,i=r.b,o=i.a;return ap({$:3,a:{dc:i.b.a,dy:o,fz:a,d9:n}})},n2=function(e){var t=I(nr,rt,I(ax,",",e));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return am;var a=t.a,r=t.b,n=r.a,i=r.b,o=i.a;return ap({$:2,a:{dc:i.b.a,dy:o,fz:a,d9:n}})},n4=function(e){return{$:5,a:e}},n3=function(e){return I(ei,"^,",e)?I(n_,n4,rt(I(a7,2,e))):am},n6=function(e){return{$:7,a:e}},n5=function(e){return I(ei,"^pct:",e)?I(n_,n6,n0(I(a7,5,e))):am},n8=function(e){return{$:11,a:e}},n7=p(function(e,t){return{a:e,b:t}}),n9=function(e){var t=I(ax,",",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.a,r=t.b.a;return C(nW,n7,rt(a),rt(r))},ie=function(e){return I(ei,"^!",e)?I(n_,n8,n9(I(a7,2,e))):am},it=function(e){return{$:9,a:e}},ia=function(e){return I(ei,"^",e)?I(n_,it,n9(I(a7,1,e))):am},ir=function(e){return{$:3,a:e}},ii=function(e){return-e},io=p(function(e,t){return e<1?t:C(ea,0,-e,t)}),iu=function(e){return I(eo,",",e)&&I(ei,"^",e)?I(n_,ir,rt(I(a7,1,I(io,1,e)))):am},is=function(e){return{$:4,a:e}},ic=function(e){return I(ei,",",e)?I(n_,is,rt(I(a7,1,e))):am},il={$:1},ib={$:0},id=function(e){return"max"===e||"full"===e?ap(ib):"^max"===e?ap(il):am},ih=function(e){return{$:6,a:e}},iv=function(e){return I(ei,"pct:",e)?I(n_,ih,n0(I(a7,4,e))):am},ig=function(e){return{$:10,a:e}},ip=function(e){return I(ei,"!",e)?I(n_,ig,n9(I(a7,1,e))):am},im=function(e){return{$:8,a:e}},iw=function(e){var t=I(ax,",",e);return t.b&&t.b.b&&!t.b.b.b?(t.b,I(n_,im,n9(e))):am},ix=function(e){return{$:2,a:e}},iy=function(e){return I(eo,",",e)?I(n_,ix,rt(I(io,1,e))):am},iE=function(e){var t=I(ax,".",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.a;return t.b,"default"===a?ap(3):"native"===a?ap(4):"color"===a?ap(0):"gray"===a?ap(1):"bitonal"===a?ap(2):am},iI=function(e){return{$:1,a:e}},iC=function(e){return I(ei,"!",e)?I(n_,iI,n0(I(a7,1,e))):am},iR=function(e){return{$:0,a:e}},i$=function(e){return I(n_,iR,n0(e))},iL=p(function(e,t){var a=az(t);if(!a.b||!a.b.b||!a.b.b.b||!a.b.b.b.b)return am;var r=a.a,n=a.b,i=n.a,o=n.b,u=o.a,s=o.b,c=s.a,l=I(aw,"/",az(s.b));return I(n_,nj,I(nZ,nK(r),I(nZ,iE(r),I(nZ,I(nQ,U([i$,iC]),i),I(nZ,I(nQ,U([id,iy,iu,ic,n3,iv,n5,iw,ia,ip,ie]),u),I(nZ,I(nQ,U([nJ,n2,n1]),c),ap(I(nG,e,l))))))))}),iA=function(e){return{$:0,a:e}},iS=p(function(e,t){return C(rc,p(function(t,a){return e(t)?I(_,t,a):a}),B,t)}),iT=p(function(e,t){return I(iS,z(e),t)}),ik=p(function(e,t){return ap(iA({eH:e,Y:I(aw,"/",I(iT,"info.json",t))}))}),iM=p(function(e,t){return nO(I(rl,e,t))}),iP=(u=U(["color","gray","bitonal","default","native"]),s=U(["jpg","tif","png","gif","jp2","pdf","webp"]),I(rl,aw("."),(c=U([u,s]),C(rc,p(function(e,t){return I(iM,function(e){return I(rl,_(e),t)},e)}),U([B]),c)))),iN=p(function(e,t){return ap(nB({eH:e,Y:t}))}),iz=function(e){var t=nF(e),a=t.c4,r=t.A,n=t.dV,i=t.dk;return I(nd,function(e){return I(eo,e,r)},iP)?I(iL,a,n):I(eo,"info.json",r)?I(ik,a,n):I(iN,a,i)},iO=function(e){return I(nD,iz,ro(e))},iV=function(e){var t=iO(e);return t.$||2!==t.a.$?nv("Could not decode static image Url"):a2(nB(t.a.a))},iq=function(e){switch(e.$){case 0:default:return e;case 1:var t=e.a;return iA({eH:t.eH,Y:t.Y})}},iH=function(e){var t=iO(e);return t.$?nv("Could not decode image Url"):2===t.a.$?a2(iA(t.a.a)):a2(iq(t.a))},iB=p(function(e,t){return I(nd,function(t){return M(t,e)},t)}),iD="http://iiif.io/api/image/2/context.json",i_=function(e){if(I(nh,iD,e))return 1;if(I(nh,"http://iiif.io/api/image/3/context.json",e))return 2;switch(e){case"AuthLogoutService1":return 6;case"AuthTokenService1":return 5;case"AutoCompleteService1":return 4;case"ImageService1":return 0;case"ImageService2":return 1;case"ImageService3":return 2;case"SearchService1":return 3;default:return 7}},iU=nb(U([I(ew,i_,I(ev,"@type",eh)),I(ew,i_,I(ev,"type",eh)),I(ew,function(e){return I(nh,"http://library.stanford.edu/iiif/image-api/1.1/context.json",e)||I(nh,"http://iiif.io/api/image/1/context.json",e)?0:I(nh,iD,e)?1:i_(e)},I(ev,"@context",eh))])),iF=I(em,function(e){return I(iB,e,U([0,1,2]))?I(ev,"@id",eh):nv("Not an Image API service")},iU),iG=I(em,function(e){return e.$?nv("No Image API service ID found"):iH(e.a)},I(ev,"service",nb(U([I(ew,function(e){return nM(I(nr,a3,e))},nl(nA(iF))),I(ew,ap,iF)])))),ij=nb(U([iG,I(em,iV,I(ev,"@id",eh))])),iW=function(e){return U([e])},iZ=nb(U([I(ev,"service",nl(ef)),I(ev,"service",I(ew,iW,ef)),a2(B)])),iK=nb(U([I(ev,"service",nb(U([I(ew,nr(a3),nl(nA(iU))),I(ew,iW,iU)]))),a2(B)])),iX=function(e){return{$:8,b:e}},iY=p(function(e,t){return{$:0,a:e,b:t}}),iJ={$:1},iQ=function(e){return"none"===e?iJ:rp(e)},i0=function(e){var t=e.a,a=e.b;return I(iY,iQ(t),a)},i1=I(ew,function(e){return C(aE,p(function(e,t){return I(_,i0(e),t)}),B,e)},iX(nl(eh))),i2={$:2},i4=I(ew,function(e){return U([I(iY,i2,U([e]))])},eh),i3=C(ex,p(function(e,t){return U([I(iY,iQ(t),U([e]))])}),I(ev,"@value",eh),nb(U([I(ev,"@language",eh),a2("none")]))),i6=I(ew,nO,nl(i3)),i5=nb(U([i3,i6,i4,i1])),i8=I(nq,iZ,I(nq,iK,I(nH,0,R(nT,"label",nA(i5),am,I(nq,ij,a2(nV)))))),i7=C(ex,_,I(nN,U(["default"]),i8),I(nN,U(["item"]),nl(I(nq,iZ,I(nq,iK,I(nH,1,R(nT,"label",nA(i5),am,I(nq,ij,a2(nV))))))))),i9=nb(U([nl(I(nN,U(["resource"]),i8)),I(ew,nO,nl(I(nN,U(["resource"]),i7)))])),oe=function(e){var t=nF(e);return nB({eH:t.c4,Y:t.dk})},ot=function(e){var t=ro(e);return t.$?nv("Could not decode static image Url"):a2(oe(t.a))},oa=nb(U([iG,I(em,ot,I(ev,"@id",eh))])),or=I(nq,iZ,I(nq,iK,I(nH,0,R(nT,"label",nA(i5),am,I(nq,oa,a2(nV)))))),on=function(e){return{$:0,a:e}},oi=function(e){switch(e){case"continuous":return 2;case"facing-pages":return 6;case"individuals":return 1;case"multi-part":return 3;case"non-paged":return 4;case"paged":default:return 0;case"top":return 5}},oo=I(ew,function(e){return on(oi(e))},eh),ou=R(nT,"viewingHint",nA(oo),am,R(nT,"thumbnail",nP(or),am,R(nT,"images",i9,B,R(nT,"height",nA(el),am,R(nT,"width",nA(el),am,R(nT,"label",nA(i5),am,C(nk,"@id",eh,a2(nL)))))))),os=w(function(e,t,a,r){return{s:e,aE:a,dN:t,dP:r}}),oc=function(e){return{$:0,a:e}},ol=function(e){return{$:1,a:e}},ob=U([I(iY,i2,U(["Homepage"]))]),od=function(e){return I(em,e,a2(0))},of=p(function(e,t){return{dN:e,dx:t}}),oh=C(nk,"value",i5,C(nk,"label",i5,a2(of)));function ov(){return R(nT,"metadata",nl(oh),B,I(nq,og(),R(nT,"label",i5,ob,C(nk,"@id",eh,a2(os)))))}function og(){return C(ex,p(function(e,t){return H(I(rl,ol,e),I(rl,oc,t))}),nb(U([I(ev,"ranges",nl(op())),a2(B)])),nb(U([I(ev,"canvases",nl(eh)),a2(B)])))}function op(){return od(function(e){return ov()})}var om=ov();ov=function(){return om};var ow=og();og=function(){return ow};var ox=op();op=function(){return ox};var oy=w(function(e,t,a,r){return{s:e,aE:r,dN:t,gH:a}}),oE=function(e){return{$:1,a:e}},oI=function(e){return{$:0,a:e}},oC=function(e){return function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return function(s){return function(c){return function(l){return function(b){return function(d){return{eh:o,fZ:s,s:e,dN:t,f4:c,dP:a,e7:l,e9:u,fe:d,gH:n,gL:b,gS:r,gT:i}}}}}}}}}}}}}},oR=w(function(e,t,a,r){return{dI:a,s:e,dN:t,gP:r}}),o$=function(e){return{$:1,a:e}},oL=function(e){return{$:1,a:e}},oA={$:0},oS=I(ew,function(e){return"image/jpeg"===e?oA:o$(e)},eh),oT={$:0},ok=I(ew,function(e){return"Video"===e?oT:oL(e)},eh),oM=R(nT,"@type",ok,oL("Text"),R(nT,"format",oS,o$("text/html"),R(nT,"label",i5,ob,C(nk,"@id",eh,a2(oR))))),oP=nb(U([nl(oM),I(ew,iW,oM)])),oN=I(nH,am,R(nT,"thumbnail",nP(or),am,I(nH,am,I(nH,am,R(nT,"rendering",nA(oP),am,I(nH,am,I(nH,B,I(nH,on(1),R(nT,"description",nA(i5),am,I(nH,0,I(nH,B,C(nk,"label",i5,C(nk,"@id",eh,a2(oC)))))))))))))),oz=function(e){switch(e){case"sc:Collection":return I(ew,oI,od(function(e){return oO()}));case"sc:Manifest":return I(ew,oE,oN);default:return nv("Unknown collection item type: "+e)}};function oO(){return I(nq,oV(),R(nT,"description",nA(i5),am,C(nk,"label",i5,C(nk,"@id",eh,a2(oy)))))}function oV(){return nb(U([I(ev,"members",nl(oq())),C(ex,p(function(e,t){return H(e,t)}),nb(U([I(ev,"collections",nl(I(ew,oI,od(function(e){return oO()})))),a2(B)])),nb(U([I(ev,"manifests",nl(I(ew,oE,oN))),a2(B)])))]))}function oq(){return I(em,oz,I(ev,"@type",eh))}var oH=oO();oO=function(){return oH};var oB=oV();oV=function(){return oB};var oD=oq();oq=function(){return oD};var o_=C(nk,"value",i1,C(nk,"label",i1,a2(of))),oU=nb(U([I(ew,function(e){return{dN:U([I(iY,i2,U(["Attribution"]))]),dx:U([I(iY,i2,U([e]))])}},eh),o_,oh])),oF=I(eg,0,I(nN,U(["canvases"]),nl(ou))),oG=I(ew,function(e){switch(e){case"bottom-to-top":return 3;case"left-to-right":default:return 0;case"right-to-left":return 1;case"top-to-bottom":return 2}},eh),oj=R(nT,"attribution",nA(oU),am,R(nT,"thumbnail",nP(or),am,I(nH,am,R(nT,"logo",nA(i8),am,R(nT,"rendering",nA(oP),am,R(nT,"structures",nA(nl(ox)),am,C(nk,"sequences",oF,R(nT,"viewingHint",oo,on(1),R(nT,"description",nA(i5),am,R(nT,"viewingDirection",oG,0,R(nT,"metadata",nl(oh),B,C(nk,"label",i5,C(nk,"@id",eh,a2(oC)))))))))))))),oW=I(em,function(e){switch(e){case"sc:Canvas":return I(ew,I(n$,nE,nm(1)),ou);case"sc:Collection":return I(ew,I(n$,nI,nw(1)),oH);case"sc:Manifest":return I(ew,I(n$,nC,nx(1)),oj);case"sc:Range":return I(ew,I(n$,nR,ny(1)),ox);default:return nv("Unknown IIIF v2 resource type: "+e)}},I(ev,"@type",eh)),oZ=function(e){return{$:1,a:e}},oK=I(ew,oZ,nl(I(ew,function(e){switch(e){case"auto-advance":return 0;case"continuous":return 6;case"facing-pages":return 8;case"hidden":return 15;case"individuals":return 5;case"multi-part":return 10;case"no-auto-advance":return 1;case"no-nav":return 14;case"no-repeat":return 3;case"non-paged":return 9;case"paged":default:return 7;case"repeat":return 2;case"sequence":return 12;case"thumbnail-nav":return 13;case"together":return 11;case"unordered":return 4}},eh))),oX=p(function(e,t){for(;;)if(!t.b)return am;else{var a=t.a,r=t.b;if(e(a))return ap(a);t=r;continue}}),oY=p(function(e,t){return{s:e,gB:t}}),oJ=I(ew,i_,nb(U([I(ev,"@type",eh),I(ev,"type",eh)]))),oQ=I(nq,oJ,I(nq,nb(U([I(ev,"id",eh),I(ev,"@id",eh)])),a2(oY))),o0=nb(U([nl(oQ),I(ew,iW,oQ)])),o1=I(em,function(e){var t=I(n_,function(e){return e.s},I(oX,function(e){return I(iB,e.gB,U([0,1,2]))},e));return t.$?nv("No valid service ID found in service array"):I(ew,iq,iH(t.a))},I(ev,"service",o0)),o2=nb(U([o1,I(em,iV,I(ev,"id",eh))])),o4=nb(U([i1,i4])),o3=nb(U([nl(ef),I(ew,iW,ef)])),o6=nb(U([nl(oJ),I(ew,iW,oJ)])),o5=function(e){return R(nT,"service",o3,B,R(nT,"service",o6,B,I(nH,e,R(nT,"label",nA(o4),am,I(nq,o2,a2(nV))))))},o8=I(nN,U(["body","items"]),nl(o5(1))),o7=I(ew,iW,I(ev,"body",o5(0))),o9=I(em,function(e){return"Choice"===e?o8:o7},I(nN,U(["body","type"]),eh)),ue=I(nN,U(["items"]),I(eg,0,o9)),ut=nb(U([o1,I(em,ot,I(ev,"id",eh))])),ua=R(nT,"service",o3,B,R(nT,"service",o6,B,I(nH,0,R(nT,"label",nA(o4),am,I(nq,ut,a2(nV)))))),ur=R(nT,"behavior",nA(oK),am,R(nT,"thumbnail",nP(ua),am,C(nk,"items",I(eg,0,ue),C(nk,"height",nA(el),C(nk,"width",nA(el),R(nT,"label",nA(i1),am,C(nk,"id",eh,a2(nL)))))))),un=U([I(iY,i2,U(["Homepage"]))]),ui=function(e){switch(e){case"Canvas":return I(ew,oc,I(ev,"id",eh));case"Range":return I(ew,ol,uo());default:return nv("Unsupported range item type")}};function uo(){return R(nT,"metadata",nl(o_),B,R(nT,"items",nl(uu()),B,R(nT,"label",i1,un,C(nk,"id",eh,a2(os)))))}function uu(){return I(em,ui,I(ev,"type",eh))}var us=uo();uo=function(){return us};var uc=uu();uu=function(){return uc};var ul=function(e){return!e.b},ub=R(nT,"type",ok,oL("Text"),R(nT,"format",oS,o$("text/html"),R(nT,"label",i1,un,C(nk,"id",eh,a2(oR))))),ud=I(nH,am,R(nT,"thumbnail",nP(ua),am,I(nH,am,I(nH,am,R(nT,"homepage",nA(nl(ub)),am,I(nH,am,I(nH,B,I(nH,oZ(U([5])),R(nT,"summary",nA(i1),am,I(nH,0,I(nH,B,C(nk,"label",o4,C(nk,"id",eh,a2(oC)))))))))))))),uf=function(e){switch(e){case"Collection":return I(ew,oI,od(function(e){return uh()}));case"Manifest":return I(ew,oE,ud);default:return nv("Unknown collection item type: "+e)}};function uh(){return I(nq,uv(),R(nT,"summary",nA(i1),am,C(nk,"label",o4,C(nk,"id",eh,a2(oy)))))}function uv(){return R(ey,m(function(e,t,a){return ul(e)?H(t,a):H(e,H(t,a))}),nb(U([I(ev,"items",nl(ug())),a2(B)])),nb(U([I(ev,"collections",nl(I(ew,oI,od(function(e){return uh()})))),a2(B)])),nb(U([I(ev,"manifests",nl(I(ew,oE,ud))),a2(B)])))}function ug(){return I(em,uf,I(ev,"type",eh))}var up=uh();uh=function(){return up};var um=uv();uv=function(){return um};var uw=ug();ug=function(){return uw};var ux=y(function(e,t,a,r,n,i){return{fZ:r,s:e,dN:t,f4:n,gy:i,gP:a}}),uy=E(function(e,t,a,r,n,i,o){return{dI:a,dd:i,s:e,dN:t,fl:o,gP:r,dz:n}}),uE=U([I(iY,i2,U(["Logo"]))]),uI=R(nT,"service",nA(o0),am,R(nT,"height",el,0,R(nT,"width",el,0,R(nT,"type",ok,oL("Image"),R(nT,"format",oS,o$("image/png"),R(nT,"label",i1,uE,C(nk,"id",eh,a2(uy)))))))),uC=R(nT,"seeAlso",nA(nl(C(nk,"type_",ok,C(nk,"format",oS,C(nk,"label",o4,C(nk,"id",eh,a2(w(function(e,t,a,r){return{dI:a,s:e,dN:t,gP:r}})))))))),am,R(nT,"logo",nA(nl(uI)),am,R(nT,"homepage",nA(nl(ub)),am,C(nk,"type",ok,C(nk,"label",i1,C(nk,"id",eh,a2(ux))))))),uR=R(nT,"requiredStatement",nA(o_),am,R(nT,"thumbnail",nP(ua),am,R(nT,"provider",nA(nl(uC)),am,R(nT,"logo",nA(o5(0)),am,R(nT,"homepage",nA(nl(ub)),am,R(nT,"structures",nA(nl(us)),am,C(nk,"items",nl(ur),R(nT,"behavior",oK,oZ(U([5])),R(nT,"summary",nA(i1),am,R(nT,"viewingDirection",oG,0,R(nT,"metadata",nl(o_),B,C(nk,"label",o4,C(nk,"id",eh,a2(oC)))))))))))))),u$=I(em,function(e){switch(e){case"Canvas":return I(ew,I(n$,nE,nm(2)),ur);case"Collection":return I(ew,I(n$,nI,nw(2)),up);case"Manifest":return I(ew,I(n$,nC,nx(2)),uR);case"Range":return I(ew,I(n$,nR,ny(2)),us);default:return nv("Unknown IIIF v3 resource type: "+e)}},I(ev,"type",eh)),uL=nb(U([I(em,function(e){return I(nh,np,e)?u$:I(nh,ng,e)?oW:nv("Unknown resource context value: "+e)},I(ev,"@context",eh)),I(em,function(e){return I(nd,nh(np),e)?u$:I(nd,nh(ng),e)?oW:nv("Context values contain an unknown IIIF version: "+I(aw,", ",e))},I(ev,"@context",nl(eh)))])),uA=m(function(e,t,a){return C(nc,t,I(r4,e,uL),a)}),uS={aL:!1,bj:10,bk:15,aM:0,bl:!1,aN:0,ax:!1,aO:8,aP:0,bm:!1,aQ:0,bn:!1,aR:0,bo:!1,aS:0,ay:!1,aT:8,aU:0,bp:!1,aV:0,bq:!1,aW:0,br:!1,aX:0,az:!1,aY:8,aZ:0,bs:!1,a_:0,bt:!1,bu:0,cd:!1,bv:0,ce:!1,bw:0,cf:!1,bx:0,cg:!1,by:1,N:!1,ci:!1,bz:"#ffffff",bA:"#ffffff",bB:24,bC:128,a1:!1,bD:"gray",bE:1,cj:!1,ck:!1,bF:"sharpen",co:!1,bK:1,cp:!1,a4:!1,cs:!1,bL:0,cu:!1,cA:!1,a8:!1,bP:3,bQ:"erode",cF:!1,bR:1,bS:0,bT:"pca-rgb",bU:1,ad:!1,bV:1,bW:"rg",bX:1,bd:0,bZ:0,cN:!1,b4:128,cU:!1,b5:1,c_:!1,b7:0,c0:!1},uT=function(e){switch(e){case"contents":return 3;case"metadata":return 2;default:return 1}},uk=function(e){return{$:0,a:e}},uM=function(e){return{$:1,a:e}},uP=function(e){return{$:3,a:e}},uN=function(e){return{$:4,a:e}},uz=function(e){return{$:5,a:e}},uO=function(e){return{$:1,a:e}},uV=p(function(e,t){return{$:2,a:e,b:t}}),uq={$:14},uH=p(function(e,t){return{$:3,a:e,b:t}}),uB=m(function(e,t,a){return{$:2,a:e,b:t,c:a}}),uD=p(function(e,t){return{$:0,a:e,b:t}}),u_=m(function(e,t,a){return{$:4,a:e,b:t,c:a}}),uU=p(function(e,t){return{$:9,a:e,b:t}}),uF=m(function(e,t,a){return{$:8,a:e,b:t,c:a}}),uG=function(e){return{$:12,a:e}},uj=function(e){return{$:28,a:e}},uW=function(e){return{$:29,a:e}},uZ={$:30},uK={$:31},uX=function(e){return{$:55,a:e}},uY=function(e){return{$:5,c:e}},uJ=e3("authDestroyed",uY(0)),uQ=e3("authHttpFailed",I(em,function(e){return I(em,function(t){return a2({s:t,ac:e})},I(ev,"id",eh))},I(ev,"message",eh))),u0=e3("authHttpResponded",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({ef:a,s:t,du:e})},I(ev,"body",eh))},I(ev,"id",eh))},I(ev,"status",el))),u1=e3("authLogoutChanged",I(em,function(e){return I(em,function(t){return a2({fm:t,du:e})},I(ev,"sessionId",eh))},I(ev,"status",eh))),u2=e3("authPopupChanged",I(em,function(e){return I(em,function(t){return a2({da:t,du:e})},I(ev,"flowId",eh))},I(ev,"status",eh))),u4=e3("authStorageResponded",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({da:a,dh:t,dx:e})},I(ev,"flowId",eh))},I(ev,"now",ed))},I(ev,"value",nb(U([uY(am),I(ew,ap,ef)]))))),u3=e3("authTokenFailed",I(em,function(e){return I(em,function(t){return a2({da:t,ac:e})},I(ev,"flowId",eh))},I(ev,"message",eh))),u6=e3("authTokenMessage",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({da:a,dh:t,dx:e})},I(ev,"flowId",eh))},I(ev,"now",ed))},I(ev,"value",ef))),u5=e3("fullscreenChanged",eb),u8=e3("layoutModeRequested",eh),u7={$:12},u9=function(e){return uk(function(){switch(e.du){case"closed":return u7;case"opened":return{$:10,a:e.fm};default:return{$:11,a:e.fm}}}())},se=eX(B),st=m(function(e,t,a){return{$:0,a:e,b:t,c:a}}),sa=p(function(e,t){return{e_:t,ft:e}}),sr=eM(I(sa,B,rC)),sn=function(e){return{a:H(e.a?"w_":"d_",e.b),b:e}},si=function(e){return C(aE,p(function(e,t){return C(rB,e.a,e.b,t)}),rC,e)},so=m(function(e,t,a){for(;;)if(-2===a.$)return t;else{var r=a.b,n=a.c,i=a.d,o=a.e,u=e,s=C(e,r,n,C(so,e,t,i));e=u,t=s,a=o;continue}}),su=y(function(e,t,a,r,n,i){var o=m(function(r,n,i){for(;;){var o=i.a,u=i.b;if(o.b){var s=o.a,c=s.a,l=s.b,b=o.b;if(0>O(c,r)){var d=r,f=n,h={a:b,b:C(e,c,l,u)};r=d,n=f,i=h;continue}if(O(c,r)>0)return{a:o,b:C(a,r,n,u)};return{a:b,b:R(t,c,l,n,u)}}return{a:o,b:C(a,r,n,u)}}}),u=C(so,o,{a:ai(r),b:i},n),s=u.a,c=u.b;return C(aE,p(function(t,a){return C(e,t.a,t.b,a)}),c,s)}),ss=p(function(e,t){return{ev:t,aj:e}}),sc=m(function(e,t,a){return I(rb,function(e){return{a:t,b:e}},C(tQ,a.a?tJ:tY,a.b,function(a){return I(rz,e,I(ss,t,a))}))}),sl=p(function(e,t){return C(so,rB,t,e)}),sb=m(function(e,t,a){var r=m(function(t,a,r){var n=r.a,i=r.b,o=r.c;return{a:n,b:i,c:I(_,C(sc,e,t,a),o)}}),n=m(function(e,t,a){var r,n=a.a,i=a.b,o=a.c;return r=I(_,t,n),{a:r,b:i,c:o}}),i=w(function(e,t,a,r){var n=r.a,i=r.b,o=r.c;return{a:n,b:C(rB,e,t,i),c:o}}),o=I(rl,sn,t),u=L(su,n,i,r,a.e_,si(o),{a:B,b:rC,c:B}),s=u.a,c=u.b,l=u.c;return I(eN,function(e){return eM(I(sa,o,I(sl,c,si(e))))},I(eN,function(e){return rf(l)},rf(I(rl,r9,s))))}),sd=m(function(e,t,a){var r=t.aj,n=t.ev,i=I(nr,function(e){var t=e.a,a=e.b;a.a,a.b;var i=a.c;return M(t,r)?I(t0,i,n):am},a.ft);return I(eN,function(e){return eM(a)},rf(I(rl,eW(e),i)))}),sf=p(function(e,t){return C(st,t.a,t.b,I(ew,e,t.c))});eG["Browser.Events"]=ej(sr,sb,sd,0,sf);var sh=eK("Browser.Events"),sv=m(function(e,t,a){return sh(C(st,e,t,a))}),sg=I(sv,0,"mousemove"),sp=I(sv,0,"mouseup"),sm=e3("pageIndexChanged",el),sw=e3("pageIndexChangedInstant",el),sx=function(e){return uk(function(){switch(e.du){case"closed":return{$:7,a:e.da};case"opened":return{$:5,a:e.da};default:return{$:6,a:e.da}}}())},sy=e3("resolveTileSourceCancelled",eh),sE=e3("resolveTileSourceRequested",I(em,function(e){return I(em,function(t){return a2({fd:t,b3:e})},I(ev,"requestId",eh))},I(ev,"sourceId",eh))),sI=e3("resourceRequested",I(em,function(e){return I(em,function(t){return a2({fd:t,aK:e})},I(ev,"requestId",eh))},I(ev,"url",eh))),sC=e3("viewerLoadingChanged",eb),sR=e3("zoomChanged",ed),s$={$:0},sL=function(e){return{$:2,a:e}},sA=function(e){return{$:1,a:e}},sS=p(function(e,t){return{$:7,a:e,b:t}}),sT=p(function(e,t){return{$:8,a:e,b:t}}),sk=m(function(e,t,a){return{$:10,a:e,b:t,c:a}}),sM=m(function(e,t,a){switch(e){case 0:return q(a,{aL:t});case 1:return q(a,{bl:t});case 2:return q(a,{ax:t});case 3:return q(a,{bm:t});case 4:return q(a,{bn:t});case 5:return q(a,{bo:t});case 6:return q(a,{ay:t});case 7:return q(a,{bp:t});case 8:return q(a,{bq:t});case 9:return q(a,{br:t});case 10:return q(a,{az:t});case 11:return q(a,{bs:t});case 12:return q(a,{bt:t});case 13:return q(a,{cd:t});case 14:return q(a,{ce:t});case 15:return q(a,{cf:t});case 16:return q(a,{cg:t});case 17:return q(a,{a1:t});case 18:return q(a,{N:t});case 19:return q(a,{ci:t});case 20:return q(a,{cj:t});case 21:return q(a,{ck:t});case 22:return q(a,{co:t});case 23:return q(a,{cp:t});case 24:return q(a,{a4:t});case 25:return q(a,{cs:t});case 26:return q(a,{cu:t});case 27:return q(a,{cA:t});case 28:return q(a,{a8:t});case 29:return q(a,{cF:t});case 30:return q(a,{ad:t});case 31:return q(a,{cN:t});case 32:return q(a,{cU:t});case 33:return q(a,{c_:t});default:return q(a,{c0:t})}}),sP=function(e){switch(e){case 0:return{b:function(e){return e.by},f:1,g:0,c:p(function(e,t){return q(t,{by:e})})};case 1:return{b:function(e){return e.bE},f:4,g:0,c:p(function(e,t){return q(t,{bE:e})})};case 2:return{b:function(e){return e.bK},f:4,g:.1,c:p(function(e,t){return q(t,{bK:e})})};case 3:return{b:function(e){return e.bR},f:2,g:0,c:p(function(e,t){return q(t,{bR:e})})};case 4:return{b:function(e){return e.bU},f:2,g:0,c:p(function(e,t){return q(t,{bU:e})})};case 5:return{b:function(e){return e.bV},f:2,g:0,c:p(function(e,t){return q(t,{bV:e})})};case 6:return{b:function(e){return e.bX},f:2,g:0,c:p(function(e,t){return q(t,{bX:e})})};default:return{b:function(e){return e.b5},f:3,g:0,c:p(function(e,t){return q(t,{b5:e})})}}},sN=m(function(e,t,a){var r=n0(t),n=sP(e),i=I(nU,n.b(a),I(n_,I(rE,n.g,n.f),r));return I(n.c,i,a)}),sz=function(e){return I(W,2,e)?e:e+1},sO=function(e){return 3===e||5===e||7===e?e:3},sV=function(e){switch(e){case 0:return{b:function(e){return e.bj},f:50,g:-50,c:p(function(e,t){return q(t,{bj:e})}),i:am};case 1:return{b:function(e){return e.bk},f:51,g:3,c:p(function(e,t){return q(t,{bk:e})}),i:ap(sz)};case 2:return{b:function(e){return e.aW},f:100,g:0,c:p(function(e,t){return q(t,{aW:e})}),i:am};case 3:return{b:function(e){return e.aZ},f:100,g:0,c:p(function(e,t){return q(t,{aZ:e})}),i:am};case 4:return{b:function(e){return e.a_},f:100,g:0,c:p(function(e,t){return q(t,{a_:e})}),i:am};case 5:return{b:function(e){return e.aX},f:100,g:-100,c:p(function(e,t){return q(t,{aX:e})}),i:am};case 6:return{b:function(e){return e.aY},f:30,g:2,c:p(function(e,t){return q(t,{aY:e})}),i:am};case 7:return{b:function(e){return e.aR},f:100,g:0,c:p(function(e,t){return q(t,{aR:e})}),i:am};case 8:return{b:function(e){return e.aU},f:100,g:0,c:p(function(e,t){return q(t,{aU:e})}),i:am};case 9:return{b:function(e){return e.aS},f:100,g:-100,c:p(function(e,t){return q(t,{aS:e})}),i:am};case 10:return{b:function(e){return e.aT},f:30,g:2,c:p(function(e,t){return q(t,{aT:e})}),i:am};case 11:return{b:function(e){return e.aV},f:100,g:0,c:p(function(e,t){return q(t,{aV:e})}),i:am};case 12:return{b:function(e){return e.aM},f:100,g:0,c:p(function(e,t){return q(t,{aM:e})}),i:am};case 13:return{b:function(e){return e.aP},f:100,g:0,c:p(function(e,t){return q(t,{aP:e})}),i:am};case 14:return{b:function(e){return e.aN},f:100,g:-100,c:p(function(e,t){return q(t,{aN:e})}),i:am};case 15:return{b:function(e){return e.aO},f:30,g:2,c:p(function(e,t){return q(t,{aO:e})}),i:am};case 16:return{b:function(e){return e.aQ},f:100,g:0,c:p(function(e,t){return q(t,{aQ:e})}),i:am};case 17:return{b:function(e){return e.bu},f:255,g:-255,c:p(function(e,t){return q(t,{bu:e})}),i:am};case 18:return{b:function(e){return e.bv},f:100,g:-100,c:p(function(e,t){return q(t,{bv:e})}),i:am};case 19:return{b:function(e){return e.bw},f:100,g:-100,c:p(function(e,t){return q(t,{bw:e})}),i:am};case 20:return{b:function(e){return e.bx},f:100,g:-100,c:p(function(e,t){return q(t,{bx:e})}),i:am};case 21:return{b:function(e){return e.bC},f:255,g:0,c:p(function(e,t){return q(t,{bC:e})}),i:am};case 22:return{b:function(e){return e.bB},f:255,g:0,c:p(function(e,t){return q(t,{bB:e})}),i:am};case 23:return{b:function(e){return e.bS},f:180,g:-180,c:p(function(e,t){return q(t,{bS:e})}),i:am};case 24:return{b:function(e){return e.bL},f:100,g:-100,c:p(function(e,t){return q(t,{bL:e})}),i:am};case 25:return{b:function(e){return e.bP},f:7,g:3,c:p(function(e,t){return q(t,{bP:e})}),i:ap(sO)};case 26:return{b:function(e){return e.bd},f:180,g:-180,c:p(function(e,t){return q(t,{bd:e})}),i:am};case 27:return{b:function(e){return e.bZ},f:100,g:-100,c:p(function(e,t){return q(t,{bZ:e})}),i:am};case 28:return{b:function(e){return e.b4},f:255,g:0,c:p(function(e,t){return q(t,{b4:e})}),i:am};default:return{b:function(e){return e.b7},f:100,g:-100,c:p(function(e,t){return q(t,{b7:e})}),i:am}}},sq=m(function(e,t,a){var r=rt(t),n=sV(e),i=function(){if(r.$)return n.b(a);var e=r.a,t=C(rE,n.g,n.f,e),i=n.i;return i.$?t:(0,i.a)(t)}();return I(n.c,i,a)}),sH=p(function(e,t){return e}),sB=function(e){switch(e){case 0:return{b:function(e){return e.bD},c:p(function(e,t){return q(t,{bD:e})}),i:function(e){return I(iB,e,U(["gray","hot","cool"]))}};case 1:return{b:function(e){return e.bz},c:p(function(e,t){return q(t,{bz:e})}),i:sH(!0)};case 2:return{b:function(e){return e.bA},c:p(function(e,t){return q(t,{bA:e})}),i:sH(!0)};case 3:return{b:function(e){return e.bF},c:p(function(e,t){return q(t,{bF:e})}),i:function(e){return I(iB,e,U(["sharpen","blur","edge","emboss"]))}};case 4:return{b:function(e){return e.bT},c:p(function(e,t){return q(t,{bT:e})}),i:function(e){return I(iB,e,U(["pca-rgb","pca1","pca2","pca3"]))}};case 5:return{b:function(e){return e.bQ},c:p(function(e,t){return q(t,{bQ:e})}),i:function(e){return"erode"===e||"dilate"===e}};default:return{b:function(e){return e.bW},c:p(function(e,t){return q(t,{bW:e})}),i:function(e){return I(iB,e,U(["rg","gb","rb","luma","cmy","heat"]))}}}},sD=m(function(e,t,a){var r=sB(e),n=r.i(t)?t:r.b(a);return I(r.c,n,a)}),s_=m(function(e,t,a){return a.$?e:t(a.a)}),sU=function(e){return C(aE,p(function(e,t){return C(ek,e.a,e.b,t)}),{},e)},sF=e1("filterPreviewUpdated",function(e){return C(s_,null,function(e){var t;return sU(U([{a:"aspect",b:eT(e.c5)},{a:"filters",b:sU(U([{a:"adaptiveEnabled",b:eT((t=e.ez).aL)},{a:"adaptiveOffset",b:eT(t.bj)},{a:"adaptiveWindow",b:eT(t.bk)},{a:"altBlueGamma",b:eT(t.aM)},{a:"altBlueGammaEnabled",b:eT(t.bl)},{a:"altBlueHue",b:eT(t.aN)},{a:"altBlueHueEnabled",b:eT(t.ax)},{a:"altBlueHueWindow",b:eT(t.aO)},{a:"altBlueSigmoid",b:eT(t.aP)},{a:"altBlueSigmoidEnabled",b:eT(t.bm)},{a:"altBlueVibrance",b:eT(t.aQ)},{a:"altBlueVibranceEnabled",b:eT(t.bn)},{a:"altGreenGamma",b:eT(t.aR)},{a:"altGreenGammaEnabled",b:eT(t.bo)},{a:"altGreenHue",b:eT(t.aS)},{a:"altGreenHueEnabled",b:eT(t.ay)},{a:"altGreenHueWindow",b:eT(t.aT)},{a:"altGreenSigmoid",b:eT(t.aU)},{a:"altGreenSigmoidEnabled",b:eT(t.bp)},{a:"altGreenVibrance",b:eT(t.aV)},{a:"altGreenVibranceEnabled",b:eT(t.bq)},{a:"altRedGamma",b:eT(t.aW)},{a:"altRedGammaEnabled",b:eT(t.br)},{a:"altRedHue",b:eT(t.aX)},{a:"altRedHueEnabled",b:eT(t.az)},{a:"altRedHueWindow",b:eT(t.aY)},{a:"altRedSigmoid",b:eT(t.aZ)},{a:"altRedSigmoidEnabled",b:eT(t.bs)},{a:"altRedVibrance",b:eT(t.a_)},{a:"altRedVibranceEnabled",b:eT(t.bt)},{a:"brightness",b:eT(t.bu)},{a:"brightnessEnabled",b:eT(t.cd)},{a:"ccBlue",b:eT(t.bv)},{a:"ccBlueEnabled",b:eT(t.ce)},{a:"ccGreen",b:eT(t.bw)},{a:"ccGreenEnabled",b:eT(t.cf)},{a:"ccRed",b:eT(t.bx)},{a:"ccRedEnabled",b:eT(t.cg)},{a:"colourReplaceBlend",b:eT(t.by)},{a:"colourReplaceEnabled",b:eT(t.N)},{a:"colourReplacePreserveLum",b:eT(t.ci)},{a:"colourReplaceSource",b:eT(t.bz)},{a:"colourReplaceTarget",b:eT(t.bA)},{a:"colourReplaceTolerance",b:eT(t.bB)},{a:"colourmapCenter",b:eT(t.bC)},{a:"colourmapEnabled",b:eT(t.a1)},{a:"colourmapPreset",b:eT(t.bD)},{a:"contrast",b:eT(t.bE)},{a:"contrastEnabled",b:eT(t.cj)},{a:"convolutionEnabled",b:eT(t.ck)},{a:"convolutionPreset",b:eT(t.bF)},{a:"flip",b:eT(t.co)},{a:"gamma",b:eT(t.bK)},{a:"gammaEnabled",b:eT(t.cp)},{a:"globalPcaEnabled",b:eT(t.a4)},{a:"grayscale",b:eT(t.cs)},{a:"hue",b:eT(t.bL)},{a:"hueEnabled",b:eT(t.cu)},{a:"invert",b:eT(t.cA)},{a:"morphEnabled",b:eT(t.a8)},{a:"morphKernel",b:eT(t.bP)},{a:"morphOperation",b:eT(t.bQ)},{a:"normalizeEnabled",b:eT(t.cF)},{a:"normalizeStrength",b:eT(t.bR)},{a:"pcaHue",b:eT(t.bS)},{a:"pcaMode",b:eT(t.bT)},{a:"pseudoColourBlue",b:eT(t.bU)},{a:"pseudoColourEnabled",b:eT(t.ad)},{a:"pseudoColourGreen",b:eT(t.bV)},{a:"pseudoColourMode",b:eT(t.bW)},{a:"pseudoColourRed",b:eT(t.bX)},{a:"rotation",b:eT(t.bd)},{a:"saturation",b:eT(t.bZ)},{a:"saturationEnabled",b:eT(t.cN)},{a:"threshold",b:eT(t.b4)},{a:"thresholdEnabled",b:eT(t.cU)},{a:"unsharpAmount",b:eT(t.b5)},{a:"unsharpEnabled",b:eT(t.c_)},{a:"vibrance",b:eT(t.b7)},{a:"vibranceEnabled",b:eT(t.c0)}]))},{a:"isStatic",b:eT(e.aD)},{a:"sourceId",b:eT(e.b3)},{a:"tileSource",b:eT(e.cV)}]))},e)}),sG=p(function(e,t){return C(aE,p(function(t,a){return a.push(e(t)),a}),[],t)}),sj=e1("pageAspectsUpdated",sG(eT)),sW=e1("pageLabelsUpdated",sG(eT)),sZ=e1("pagesUpdated",sG(function(e){var t;return sU(U([{a:"canvasId",b:eT(e.c7)},{a:"height",b:C(s_,null,eT,e.dd)},{a:"images",b:sG(function(e){return sU(U([{a:"id",b:eT(e.s)},{a:"isPrimary",b:eT(e.bN)},{a:"label",b:eT(e.dN)}]))})(e.cy)},{a:"index",b:eT(e.eK)},{a:"label",b:eT(e.dN)},{a:"primaryImage",b:sU(U([{a:"id",b:eT((t=e.e3).s)},{a:"isPrimary",b:eT(t.bN)},{a:"label",b:eT(t.dN)}]))},{a:"width",b:C(s_,null,eT,e.dz)}]))})),sK=e1("tileSourcesUpdated",function(e){return sU(U([{a:"initialPageIndex",b:eT(e.dL)},{a:"resourceId",b:eT(e.dZ)},{a:"tileSources",b:sG(function(e){return sU(U([{a:"isStatic",b:eT(e.aD)},{a:"sourceId",b:eT(e.b3)},{a:"url",b:eT(e.aK)}]))})(e.d6)}]))}),sX=function(e){return eX(U([sK({dL:0,dZ:e,d6:B}),sZ(B),sj(B),sW(B),sF(am)]))},sY=e1("copyToClipboard",eT),sJ=m(function(e,t,a){return e.$?a:I(t,e.a,a)}),sQ=function(e){return e.$?am:ap(e.a)},s0=m(function(e,t,a){return I(nD,function(t){return sQ(I(eI,e,t))},I(rO,t,a))}),s1=p(function(e,t){return C(s0,eb,e,t)}),s2=p(function(e,t){return C(s0,nb(U([ed,I(ew,aU,el)])),e,t)}),s4=p(function(e,t){return C(s0,el,e,t)}),s3=p(function(e,t){return C(s0,eh,e,t)}),s6=function(e){var t=I(s4,"vibrance",e),a=I(s2,"unsharpAmount",e),r=I(s4,"threshold",e),n=I(s4,"saturation",e),i=I(s4,"rotation",e),o=I(s2,"pseudoColourRed",e),u=I(s3,"pseudoColourMode",e),s=I(s2,"pseudoColourGreen",e),c=I(s2,"pseudoColourBlue",e),l=I(s3,"pcaMode",e),b=I(s4,"pcaHue",e),d=I(s2,"normalizeStrength",e),f=I(s3,"morphOperation",e),h=I(s4,"morphKernel",e),v=I(s1,"invert",e),g=I(s4,"hue",e),m=I(s1,"grayscale",e),w=I(s2,"gamma",e),x=I(s1,"flip",e),y=I(s3,"convolutionPreset",e),E=I(s2,"contrast",e),R=I(s3,"colourmapPreset",e),$=I(s4,"colourmapCenter",e),L=I(s4,"colourReplaceTolerance",e),A=I(s3,"colourReplaceTarget",e),S=I(s3,"colourReplaceSource",e),T=I(s1,"colourReplacePreserveLum",e),k=I(s2,"colourReplaceBlend",e),M=I(s4,"ccRed",e),P=I(s4,"ccGreen",e),N=I(s4,"ccBlue",e),z=I(s4,"brightness",e),O=I(s4,"altRedVibrance",e),V=I(s4,"altRedSigmoid",e),H=I(s4,"altRedHueWindow",e),B=I(s4,"altRedHue",e),D=I(s4,"altRedGamma",e),_=I(s4,"altGreenVibrance",e),U=I(s4,"altGreenSigmoid",e),F=I(s4,"altGreenHueWindow",e),G=I(s4,"altGreenHue",e),j=I(s4,"altGreenGamma",e),W=I(s4,"altBlueVibrance",e),Z=I(s4,"altBlueSigmoid",e),K=I(s4,"altBlueHueWindow",e),X=I(s4,"altBlueHue",e),Y=I(s4,"altBlueGamma",e),J=I(s4,"adaptiveWindow",e),Q=I(s4,"adaptiveOffset",e);return C(sJ,W,p(function(e,t){return q(t,{aQ:e,bn:!0})}),C(sJ,K,p(function(e,t){return q(t,{ax:!0,aO:e})}),C(sJ,X,p(function(e,t){return q(t,{aN:e,ax:!0})}),C(sJ,Z,p(function(e,t){return q(t,{aP:e,bm:!0})}),C(sJ,Y,p(function(e,t){return q(t,{aM:e,bl:!0})}),C(sJ,_,p(function(e,t){return q(t,{aV:e,bq:!0})}),C(sJ,F,p(function(e,t){return q(t,{ay:!0,aT:e})}),C(sJ,G,p(function(e,t){return q(t,{aS:e,ay:!0})}),C(sJ,U,p(function(e,t){return q(t,{aU:e,bp:!0})}),C(sJ,j,p(function(e,t){return q(t,{aR:e,bo:!0})}),C(sJ,O,p(function(e,t){return q(t,{a_:e,bt:!0})}),C(sJ,H,p(function(e,t){return q(t,{az:!0,aY:e})}),C(sJ,B,p(function(e,t){return q(t,{aX:e,az:!0})}),C(sJ,V,p(function(e,t){return q(t,{aZ:e,bs:!0})}),C(sJ,D,p(function(e,t){return q(t,{aW:e,br:!0})}),C(sJ,Q,p(function(e,t){return q(t,{aL:!0,bj:e})}),C(sJ,J,p(function(e,t){return q(t,{aL:!0,bk:e})}),C(sJ,d,p(function(e,t){return q(t,{cF:!0,bR:e})}),C(sJ,a,p(function(e,t){return q(t,{b5:e,c_:!0})}),C(sJ,T,p(function(e,t){return q(t,{N:!0,ci:e})}),C(sJ,k,p(function(e,t){return q(t,{by:e,N:!0})}),C(sJ,L,p(function(e,t){return q(t,{N:!0,bB:e})}),C(sJ,A,p(function(e,t){return q(t,{N:!0,bA:e})}),C(sJ,S,p(function(e,t){return q(t,{N:!0,bz:e})}),C(sJ,b,p(function(e,t){return q(t,{a4:!0,bS:e})}),C(sJ,l,p(function(e,t){return q(t,{a4:!0,bT:e})}),C(sJ,c,p(function(e,t){return q(t,{bU:e,ad:!0})}),C(sJ,s,p(function(e,t){return q(t,{ad:!0,bV:e})}),C(sJ,o,p(function(e,t){return q(t,{ad:!0,bX:e})}),C(sJ,u,p(function(e,t){return q(t,{ad:!0,bW:e})}),C(sJ,$,p(function(e,t){return q(t,{bC:e,a1:!0})}),C(sJ,R,p(function(e,t){return q(t,{a1:!0,bD:e})}),C(sJ,y,p(function(e,t){return q(t,{ck:!0,bF:e})}),C(sJ,h,p(function(e,t){return q(t,{a8:!0,bP:e})}),C(sJ,f,p(function(e,t){return q(t,{a8:!0,bQ:e})}),C(sJ,N,p(function(e,t){return q(t,{bv:e,ce:!0})}),C(sJ,P,p(function(e,t){return q(t,{bw:e,cf:!0})}),C(sJ,M,p(function(e,t){return q(t,{bx:e,cg:!0})}),C(sJ,g,p(function(e,t){return q(t,{bL:e,cu:!0})}),C(sJ,t,p(function(e,t){return q(t,{b7:e,c0:!0})}),C(sJ,n,p(function(e,t){return q(t,{bZ:e,cN:!0})}),C(sJ,w,p(function(e,t){return q(t,{bK:e,cp:!0})}),C(sJ,E,p(function(e,t){return q(t,{bE:e,cj:!0})}),C(sJ,z,p(function(e,t){return q(t,{bu:e,cd:!0})}),C(sJ,r,p(function(e,t){return q(t,{b4:e,cU:!0})}),C(sJ,v,p(function(e,t){return q(t,{cA:e})}),C(sJ,m,p(function(e,t){return q(t,{cs:e})}),C(sJ,x,p(function(e,t){return q(t,{co:e})}),C(sJ,i,p(function(e,t){return q(t,{bd:e})}),uS)))))))))))))))))))))))))))))))))))))))))))))))))},s5=function(e){var t=I(eE,I(ew,si,iX(ef)),e);return t.$?ab(aq(t.a)):av(s6(t.a))},s8=w(function(e,t,a,r){return e?I(_,{a:t,b:a},r):r}),s7=function(e){return I(eS,2,sU(R(s8,e.bn,"altBlueVibrance",eT(e.aQ),R(s8,e.ax,"altBlueHueWindow",eT(e.aO),R(s8,e.ax,"altBlueHue",eT(e.aN),R(s8,e.bm,"altBlueSigmoid",eT(e.aP),R(s8,e.bl,"altBlueGamma",eT(e.aM),R(s8,e.bq,"altGreenVibrance",eT(e.aV),R(s8,e.ay,"altGreenHueWindow",eT(e.aT),R(s8,e.ay,"altGreenHue",eT(e.aS),R(s8,e.bp,"altGreenSigmoid",eT(e.aU),R(s8,e.bo,"altGreenGamma",eT(e.aR),R(s8,e.bt,"altRedVibrance",eT(e.a_),R(s8,e.az,"altRedHueWindow",eT(e.aY),R(s8,e.az,"altRedHue",eT(e.aX),R(s8,e.bs,"altRedSigmoid",eT(e.aZ),R(s8,e.br,"altRedGamma",eT(e.aW),R(s8,e.aL,"adaptiveOffset",eT(e.bj),R(s8,e.aL,"adaptiveWindow",eT(e.bk),R(s8,e.cF,"normalizeStrength",eT(e.bR),R(s8,e.c_,"unsharpAmount",eT(e.b5),R(s8,e.N,"colourReplacePreserveLum",eT(e.ci),R(s8,e.N,"colourReplaceBlend",eT(e.by),R(s8,e.N,"colourReplaceTolerance",eT(e.bB),R(s8,e.N,"colourReplaceTarget",eT(e.bA),R(s8,e.N,"colourReplaceSource",eT(e.bz),R(s8,e.a4,"pcaHue",eT(e.bS),R(s8,e.a4,"pcaMode",eT(e.bT),R(s8,e.ad,"pseudoColourBlue",eT(e.bU),R(s8,e.ad,"pseudoColourGreen",eT(e.bV),R(s8,e.ad,"pseudoColourRed",eT(e.bX),R(s8,e.ad,"pseudoColourMode",eT(e.bW),R(s8,e.a1,"colourmapCenter",eT(e.bC),R(s8,e.a1,"colourmapPreset",eT(e.bD),R(s8,e.ck,"convolutionPreset",eT(e.bF),R(s8,e.a8,"morphKernel",eT(e.bP),R(s8,e.a8,"morphOperation",eT(e.bQ),R(s8,e.ce,"ccBlue",eT(e.bv),R(s8,e.cf,"ccGreen",eT(e.bw),R(s8,e.cg,"ccRed",eT(e.bx),R(s8,e.cu,"hue",eT(e.bL),R(s8,e.c0,"vibrance",eT(e.b7),R(s8,e.cN,"saturation",eT(e.bZ),R(s8,e.cp,"gamma",eT(e.bK),R(s8,e.cj,"contrast",eT(e.bE),R(s8,e.cd,"brightness",eT(e.bu),R(s8,e.cU,"threshold",eT(e.b4),R(s8,e.cA,"invert",eT(!0),R(s8,e.cs,"grayscale",eT(!0),R(s8,e.co,"flip",eT(!0),R(s8,!!e.bd,"rotation",eT(e.bd),B)))))))))))))))))))))))))))))))))))))))))))))))))))},s9=p(function(e,t){var a=p(function(t,a){for(;;)if(M(t.t.s,e))return ap(t.t);else{var r=t.Q;if(r.b){var n=r.a,i=r.b;if(n.$){var o=q(t,{Q:i}),u=a;t=o,a=u;continue}var s=n.a,o={t:s,Q:s.aE},u=I(_,{t:t.t,Q:i},a);t=o,a=u;continue}if(!a.b)return am;var c=a.a,i=a.b,o=c,u=i;t=o,a=u;continue}});return I(a,{t:t,Q:t.aE},B)}),ce=p(function(e,t){var a=I(ct,e,t.aE),r=a.a,n=a.b;return C(rB,t.s,r,n)}),ct=p(function(e,t){return C(aE,p(function(t,a){var r=a.a,n=a.b;if(t.$){var i=t.a,o=I(ce,e,i),u=r.$?I(nU,am,I(rO,i.s,o)):r;return{a:u,b:I(sl,o,n)}}var s=t.a,u=r.$?I(rO,s,e):r;return{a:u,b:n}}),{a:am,b:rC},t)}),ca=p(function(e,t){return C(aE,p(function(t,a){return I(sl,I(ce,e,t),a)}),rC,t)}),cr=e1("layoutConfigUpdated",function(e){return sU(U([{a:"direction",b:eT(e.eo)},{a:"mode",b:eT(e.eT)}]))}),cn=p(function(e,t){return e?t?"spread-shift":"spread":"single"}),ci=function(e){var t={a:e.dz,b:e.dd};if(t.a.$||t.b.$)return 1;var a=t.a.a,r=t.b.a;return a>0?r/a:1},co=p(function(e,t){return I(nU,U(["[No language value found]"]),I(n_,function(e){return e.b},I(nQ,U([function(a){if(e.$)return am;var r=e.a;return I(oX,function(e){return!e.a.$&&M(e.a.a,r)},t)},function(e){return I(oX,function(e){return M(e.a,iJ)},t)},function(e){return I(oX,function(e){return M(e.a,i2)},t)},function(e){return nM(t)}]),t)))}),cu=p(function(e,t){return I(aw,"; ",I(co,e,t))}),cs=function(e){var t=e.dN;return t.$?"Untitled":I(cu,i2,t.a)},cc=function(e){switch(e){case 0:return"jpg";case 1:return"tif";case 2:return"png";case 3:return"jp2";case 4:return"gif";case 5:return"pdf";default:return"webp"}},cl=function(e){switch(e){case 0:return"color";case 1:return"gray";case 2:return"bitonal";case 3:return"default";default:return"native"}},cb=function(e){switch(e.$){case 0:return"full";case 1:return"square";default:return I(aw,",",I(rl,es,U([e.a.fz,e.a.d9,e.a.dy,e.a.dc])))}},cd=function(e){if(e.$){var t=e.a;return"!"+es(t)}var t=e.a;return es(t)},cf=function(e){switch(e.$){case 0:return"max";case 1:return"^max";case 2:var t=e.a;return es(t)+",";case 3:var t=e.a;return"^"+es(t)+",";case 4:var a=e.a;return","+es(a);case 5:var a=e.a;return"^,"+es(a);case 6:var r=e.a;return"pct:"+es(r);case 7:var r=e.a;return"^pct:"+es(r);case 8:var n=e.a,t=n.a,a=n.b;return es(t)+","+es(a);case 9:var i=e.a,t=i.a,a=i.b;return"^"+es(t)+","+es(a);case 10:var o=e.a,t=o.a,a=o.b;return"!"+es(t)+","+es(a);default:var u=e.a,t=u.a,a=u.b;return"^!"+es(t)+","+es(a)}},ch=function(e){for(;;)if(!e.b||"/"!==e.a)return e;else{e=e.b;continue}},cv=function(e){return F(e).join("")},cg=function(e){return C(Q,_,B,e)},cp=function(e){return cv(az(ch(az(cg(e)))))},cm=aE(p(function(e,t){var a=cv(ch(cg(e)));return a9(a)?cp(t):cp(t)+"/"+a})),cw=function(e){switch(e.$){case 0:var t,a=e.a;return I(cm,(t=a).eH,U([t.Y,"info.json"]));case 1:var r,a=e.a;return I(cm,(r=a).eH,U([r.Y,cb(r.cM),cf(r.fo),cd(r.bd),cl(r.dY)+"."+cc(r.dI)]));default:var a=e.a;return I(cm,a.eH,U([a.Y]))}},cx=p(function(e,t){switch(t.$){case 0:var a,r=t.a;return nj(q({dI:0,eH:(a=r).eH,Y:a.Y,dY:3,cM:nX,bd:iR(0),fo:ib},{fo:e}));case 1:var r=t.a;return nj(q(r,{fo:e}));default:return t}}),cy=function(e){var t=iO(e);if(t.$)return e;var a=t.a;return cw(I(cx,ix(180),a))},cE=function(e){var t=cw(e.s);return ul(e.fl)?t:cy(t)},cI=p(function(e,t){var a=t.gL;if(!a.$)return cE(a.a);var r=nM(I(iS,function(e){return e.bN},e));if(r.$){var n=nM(e);if(n.$)return"";var i=n.a;return i.be}var i=r.a;return i.be}),cC=function(e){return nb(U([nl(e),I(ew,iW,e)]))},cR=x(function(e,t,a,r,n){return{et:r,eu:n,s:e,b_:a,gP:t}}),c$=I(em,function(e){switch(e){case"active":return a2(0);case"external":return a2(2);case"kiosk":return a2(1);default:return nv("Unsupported Auth 2 access profile: "+e)}},eh),cL=g(8,l=function(e,t,a,r,n,i,o,u){return{dC:u,dK:i,s:e,dN:n,dR:o,bb:a,b_:r,gP:t}},function(e){return function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return l(e,t,a,r,n,i,o,u)}}}}}}}}),cA=p(function(e,t){return I(em,function(t){return M(t,e)?a2(t):nv("Expected "+e+" but got "+t)},t)}),cS=nb(U([I(ev,"type",eh),I(ev,"@type",eh)])),cT=function(e){return I(cA,e,cS)},ck=nb(U([I(ev,"id",eh),I(ev,"@id",eh)])),cM=I(em,function(e){return I(ei,"https://",e)?a2(e):nv("Expected an HTTPS service identifier")},ck),cP=p(function(e,t){return I(em,function(a){var r=I(eI,I(ev,e,ef),a);if(r.$)return a2(am);var n=I(eI,t,r.a);return n.$?nv(aq(n.a)):a2(ap(n.a))},ef)}),cN=function(e){return{$:1,a:e}},cz=function(e){return{$:0,a:e}},cO=w(function(e,t,a,r){return{et:a,eu:r,s:e,gP:t}}),cV=I(nq,I(cP,"errorNote",i1),I(nq,I(cP,"errorHeading",i1),I(nq,cT("AuthAccessTokenService2"),I(nq,cM,a2(cO))))),cq=m(function(e,t,a){return{s:e,dN:a,gP:t}}),cH=I(nq,I(cP,"label",i1),I(nq,cT("AuthLogoutService2"),I(nq,cM,a2(cq)))),cB=I(em,function(e){switch(e){case"AuthAccessTokenService2":return I(ew,cz,cV);case"AuthLogoutService2":return I(ew,cN,cH);default:return nv("Unsupported Auth 2 related service: "+e)}},cS),cD=I(em,function(e){var t=aI(I(iS,function(e){return!e.$},e)),a=aI(e)-t;return 1===t&&a<=1?a2(e):nv("Auth access services require exactly one token service and at most one logout service")},cC(cB)),c_=I(em,function(e){return I(nq,I(cP,"confirmLabel",i1),I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),I(nq,e?I(cP,"label",i1):I(ew,ap,I(ev,"label",i1)),C(nk,"service",cD,I(nq,a2(e),I(nq,cT("AuthAccessService2"),I(nq,2===e?a2(am):I(ew,ap,cM),a2(cL)))))))))},I(ev,"profile",c$)),cU=I(nq,I(cP,"errorNote",i1),I(nq,I(cP,"errorHeading",i1),C(nk,"service",cC(c_),I(nq,cT("AuthProbeService2"),I(nq,cM,a2(cR)))))),cF=I(em,function(e){var t=C(m(function(e,t,a){for(;;)if(!e.b)return av({cK:az(t),c$:az(a)});else{var r=e.a,n=e.b,i=I(eI,nl(ef),r);if(i.$){var o=I(eI,cS,r);if(o.$){var u=I(eI,I(ev,"service",cC(ef)),r);if(u.$){var s=n,c=t,l=a;e=s,t=c,a=l;continue}var b=u.a,s=H(b,n),c=t,l=a;e=s,t=c,a=l;continue}if("AuthProbeService2"===o.a){var d=I(eI,cU,r);if(d.$)return ab(d.a);var f=d.a,s=n,c=I(_,f,t),l=a;e=s,t=c,a=l;continue}var h=o.a,v=I(ei,"Auth",h)?I(_,h,a):a,g=I(eI,I(ev,"service",cC(ef)),r);if(g.$){var s=n,c=t,l=v;e=s,t=c,a=l;continue}var b=g.a,s=H(b,n),c=t,l=v;e=s,t=c,a=l;continue}var s=H(i.a,n),c=t,l=a;e=s,t=c,a=l;continue}}),U([e]),B,B);return t.$?nv(aq(t.a)):a2(t.a)},ef),cG=p(function(e,t){for(;;)if(!t.b)return am;else{var a=t.a,r=t.b;if(e(a))return ap(a);t=r;continue}}),cj=function(e){return!e},cW=function(e){return!!e.$},cZ=m(function(e,t,a){var r,n=cw(a.s),i=cE(a),o=I(nU,"Image",I(n_,cu(e),a.dN)),u=ul(a.fl),s=cW(I(cG,function(e){return!e.eJ},t)),c=M(ap(a),nM(t)),l=!a.eJ||s&&c;return{c6:(r=I(eI,cF,I(sG,a3,a.gA))).$?{$:2,a:aq(r.a)}:{$:1,a:r.a},s:n,bN:l,aD:u,dN:o,b3:n,be:i,cV:n}}),cK=p(function(e,t){var a=I(rl,I(cZ,e,t.cy),t.cy);if(ul(a))return am;var r=I(cI,a,t),n=I(nU,"",I(n_,function(e){return e.be},nM(I(iS,function(e){return e.bN},a))));return ap({c5:ci(t),c7:t.s,ey:n,dd:t.dd,cy:a,dN:cs(t),be:r,dz:t.dz})}),cX=p(function(e,t){return e(t.b)}),cY=cX(function(e){return e.eh}),cJ=p(function(e,t){return I(nr,cK(e),cY(t))}),cQ=cX(function(e){return e.gT}),c0=function(e){var t=I(cG,function(e){return e.bN},e.cy);return t.$?nM(e.cy):ap(t.a)},c1=p(function(e,t){return q(t,{aa:am,ag:am,e:rC,u:rC,E:rC,Z:B,ap:si(I(rl,function(e){return{a:e.s,b:e}},e))})}),c2=function(e){return e.b},c4=p(function(e,t){return I(n_,aX,nM(I(iS,I(rX,c2,e),I(a$,n7,t))))}),c3=function(e){return{$:1,a:e}},c6=function(e){return{$:2,a:e}},c5=nb(U([I(ew,function(e){return{$:0,a:e}},el),I(em,function(e){switch(e){case"canvasId":return I(ew,c3,I(ev,"value",eh));case"label":return I(ew,c6,I(ev,"value",eh));default:return nv("Unsupported initial page selector")}},I(ev,"by",eh))])),c8=function(e){return e.toLowerCase()},c7=p(function(e,t){var a=I(nD,I(rX,eI(c5),sQ),e);if(a.$)return 0;switch(a.a.$){case 0:var r=a.a.a;return r>=0&&0>O(r,aI(t))?r:0;case 1:var n=a.a.a;return I(nU,0,I(c4,function(e){return M(e.c7,n)},t));default:var i=a.a.a;return I(nU,0,I(c4,function(e){return M(c8(e.dN),c8(i))},t))}}),c9=cX(function(e){return e.fZ}),le=cX(function(e){return e.dP}),lt=cX(function(e){return e.e9}),la=p(function(e,t){switch(t){case 2:var a=!ul(le(e)),r=I(nU,!1,I(n_,I(rX,ul,cj),c9(e)));return a||r?2:1;case 3:return I(nU,!1,I(n_,I(rX,ul,cj),lt(e)))?3:1;default:return 1}}),lr=cX(function(e){return e.gS}),ln=function(e){switch(e){case 0:case 2:default:return"ltr";case 1:return"rtl"}},li=e1("zoomLevelUpdated",eT),lo=w(function(e,t,a,r){var n,i=lr(r),o=I(cJ,a.en,r),u=I(nr,I(rX,c0,n_(function(e){return{aD:e.aD,b3:e.b3,aK:e.cV}})),o),s=(n=cQ(r)).$?I(iB,7,n.a):!n.a,c=I(rl,function(e){return e.c5},o),l=1===aI(o),b=!l&&(s||1===i),d=l?0:+!!s,f=I(cn,d,b),h=I(c7,t,o),v=ln(i),g=si(I(a$,p(function(e,t){return{a:t.s,b:e}}),cY(r))),m=I(nU,rC,I(n_,ca(g),lt(r))),w=I(la,r,a._),x=a.B?w:0,y=I(rl,function(e){return{c6:e.c6,s:e.b3,aD:e.aD,aK:e.cV}},I(iM,function(e){return e.cy},o));return{a:q(a,{c6:I(c1,y,r$),dE:am,ez:uS,eE:!ul(u),de:am,X:!1,cH:!1,aH:o,e8:m,bY:{$:2,a:r},R:ul(o)?am:ap(h),b$:b,_:w,B:x,b8:d}),b:eX(U([sK({dL:h,dZ:e,d6:u}),sZ(I(nr,a3,I(a$,p(function(e,t){return I(n_,function(a){return{c7:t.c7,dd:t.dd,cy:I(rl,function(e){return{s:e.s,bN:e.bN,dN:e.dN}},t.cy),eK:e,dN:t.dN,e3:{s:a.s,bN:a.bN,dN:a.dN},dz:t.dz}},c0(t))}),o))),sF(am),sj(c),sW(I(rl,function(e){return e.dN},o)),li(1),cr({eo:v,eT:f})]))}}),lu={$:6},ls=p(function(e,t){return rv(I(ez,I(n$,I(n$,eM,e),ab),I(eN,I(n$,I(n$,eM,e),av),t)))}),lc=function(e){return t1(e,function(e){var t=e.getBoundingClientRect(),a=tJ.pageXOffset,r=tJ.pageYOffset;return{fi:t2(),d8:{fz:a,d9:r,dz:tY.documentElement.clientWidth,dd:tY.documentElement.clientHeight},er:{fz:a+t.left,d9:r+t.top,dz:t.width,dd:t.height}}})},ll=w(function(e,t,a,r){return I(eN,function(t){return I(eN,function(a){return I(eN,function(r){return eM(C(e,t,a,r))},r)},a)},t)}),lb=eX(B),ld=p(function(e,t){if(!e)return lb;var a=I(eN,function(e){var a="thumb-"+es(t);return I(eN,a3,R(ll,m(function(e,t,a){return C(t4,"thumbs",0,I(aZ,0,e.er.d9-t.er.d9+a.d8.d9))}),lc(a),lc("thumbs"),t1("thumbs",function(e){return{fi:{dz:e.scrollWidth,dd:e.scrollHeight},d8:{fz:e.scrollLeft,d9:e.scrollTop,dz:e.clientWidth,dd:e.clientHeight}}})))},eF(0));return I(ls,function(e){return lu},a)}),lf=p(function(e,t){for(;;)if(e<=0)return t;else{if(!t.b)return t;t.a,e-=1,t=t.b;continue}}),lh=p(function(e,t){return nM(I(lf,e,t))}),lv=function(e){return e.cH?I(nU,lb,I(nD,function(t){return I(n_,function(a){return sF(ap({c5:t.c5,ez:e.ez,aD:a.aD,b3:a.b3,cV:a.cV}))},nM(I(lf,e.aG,t.cy)))},I(nD,function(t){return I(lh,t,e.aH)},e.R))):lb},lg=m(function(e,t,a){var r=q(a,{aG:0,R:ap(t),bf:e});return{a:r,b:eX(U([I(ld,1===r.B,t),lv(r)]))}}),lp=e1("scrollToIndex",eT),lm=p(function(e,t){var a=t.R;if(a.$)return{a:t,b:lb};var r=a.a+e;if(r>=0&&0>O(r,aI(t.aH))){var n=q(t,{aG:0,R:ap(r),bf:!1});return{a:n,b:eX(U([lp(r),I(ld,1===n.B,r),lv(n)]))}}return{a:t,b:lb}}),lw=function(e){switch(e.$){case 0:return"Bad URL: "+e.a;case 1:return"Request timed out.";case 2:return"Network error. The resource may be unreachable or blocked by CORS.";case 3:return"HTTP error: "+es(e.a);default:return"Invalid IIIF response body. URL did not return a valid IIIF Manifest or Collection JSON."}},lx=p(function(e,t){return C(rB,e,0,t)}),ly=e1("layoutModeUpdated",eT),lE=p(function(e,t){return!I(rO,e,t).$}),lI=p(function(e,t){return I(lE,e,t)}),lC=p(function(e,t){return I(rZ,e,t)}),lR=m(function(e,t,a){var r=p(function(e,t){for(;;)if(!t.b)return e;else{var a=t.a,r=t.b;e=q(a.t,{aE:H(az(I(_,oI(e),a.ah)),a.Q)}),t=r;continue}}),n=p(function(e,t){if(!t.b)return e;var a=t.a,r=t.b;return I(i,{ah:I(_,oI(e),a.ah),t:a.t,Q:a.Q},r)}),i=p(function(a,o){if(M(a.t.s,e))return I(r,t,o);var u=a.Q;if(!u.b)return I(n,q(a.t,{aE:az(a.ah)}),o);var s=u.a,c=u.b;if(s.$)return I(i,q(a,{ah:I(_,s,a.ah),Q:c}),o);var l=s.a;return I(i,{ah:B,t:l,Q:l.aE},I(_,{ah:a.ah,t:a.t,Q:c},o))});return I(i,{ah:B,t:a,Q:a.aE},B)}),l$=nb(U([I(em,function(e){return I(nh,np,e)?I(ew,nx(2),uR):I(nh,ng,e)?I(ew,nx(1),oj):nv("Unknown IIIF Version: "+e)},I(ev,"@context",eh)),I(em,function(e){return I(nd,nh(np),e)?I(ew,nx(2),uR):I(nd,nh(ng),e)?I(ew,nx(1),oj):nv("Unknown IIIF Version in context values: "+I(aw,", ",e))},I(ev,"@context",nl(eh)))])),lL=m(function(e,t,a){return C(nc,t,I(r4,e,l$),a)}),lA=function(e){return q(e,{aM:0,bl:!1,aN:0,ax:!1,aO:8,aP:0,bm:!1,aQ:0,bn:!1,aR:0,bo:!1,aS:0,ay:!1,aT:8,aU:0,bp:!1,aV:0,bq:!1,aW:0,br:!1,aX:0,az:!1,aY:8,aZ:0,bs:!1,a_:0,bt:!1})},lS=e1("resourceLoadFailed",function(e){return sU(U([{a:"message",b:eT(e.ac)},{a:"requestId",b:eT(e.fd)},{a:"url",b:eT(e.aK)}]))}),lT=e1("resourceLoadSucceeded",function(e){return sU(U([{a:"hasPages",b:eT(e.ct)},{a:"pageIndex",b:eT(e.cG)},{a:"requestId",b:eT(e.fd)},{a:"url",b:eT(e.aK)}]))}),lk=e1("authHttpCancelled",eT),lM=e1("authHttpRequested",a3),lP=e1("authSourcesInvalidated",sG(eT)),lN=e1("authStorageRequested",a3),lz=e1("authTokenFrameCancelled",eT),lO=e1("authTokenFrameRequested",a3),lV=e1("tileSourceResolutionFailed",function(e){return sU(U([{a:"message",b:eT(e.ac)},{a:"requestId",b:eT(e.fd)}]))}),lq=e1("tileSourceResolutionSucceeded",a3),lH=function(e){switch(e.$){case 0:var t=e.a,a=e.b,r=e.c,n=e.d;return lM(sU(U([{a:"id",b:eT(t)},{a:"url",b:eT(a)},{a:"bearer",b:I(nU,null,I(n_,eT,r))},{a:"withCredentials",b:eT(n)}])));case 1:var t=e.a;return lk(t);case 2:var i=e.a,o=e.b;return lN(sU(U([{a:"action",b:eT("read")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)}])));case 3:var i=e.a,o=e.b,u=e.c,s=e.d;return lN(sU(U([{a:"action",b:eT("write")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)},{a:"accessToken",b:eT(u)},{a:"expiresAt",b:eT(s)}])));case 4:var i=e.a,o=e.b;return lN(sU(U([{a:"action",b:eT("remove")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)}])));case 5:var i=e.a,a=e.b,c=e.c;return lO(sU(U([{a:"flowId",b:eT(i)},{a:"url",b:eT(a)},{a:"messageId",b:eT(c)}])));case 6:var i=e.a;return lz(i);case 7:return lP(e.a);case 8:var l=e.a;return lq(sU(U([{a:"requestId",b:eT(l.fd)},{a:"url",b:eT(l.aK)},{a:"isStatic",b:eT(l.aD)},{a:"credentialed",b:eT(l.ek)},{a:"infoJson",b:I(nU,null,l.aC)}])));default:var b=e.a;return lV({ac:e.b,fd:b})}},lB=e1("saveFilteredImage",function(e){return null}),lD=e1("setFullscreen",eT),l_=function(e){return{$:1,a:e}},lU=function(e){return{$:6,a:e}},lF=p(function(e,t){return{$:4,a:e,b:t}}),lG=m(function(e,t,a){return{$:5,a:e,b:t,c:a}}),lj=p(function(e,t){var a=t.a;return{a:a,b:H(t.b,e)}}),lW=p(function(e,t){return C(so,m(function(e,t,a){return I(rZ,e,a)}),e,t)}),lZ=p(function(e,t){return C(so,m(function(t,a,r){return I(e,t,a)?C(rB,t,a,r):r}),rC,t)}),lK=p(function(e,t){if(-2===t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;return $(rV,a,r,I(e,r,n),I(lK,e,i),I(lK,e,o))}),lX=m(function(e,t,a){var r=t.o.T.s;if(r.$)return a;var n=r.a;return q(a,{aa:ap(e),ag:ap({ea:n,dC:t.o.T.dC,at:t.cL,da:e,dK:t.o.T.dK,dR:t.o.T.dR}),Z:I(iS,z(e),a.Z)})}),lY=function(e){for(;;){var t=e.Z;if(!t.b)return e;var a=t.a,r=q(e,{Z:t.b}),n=I(rO,a,e.e);if(n.$){var i=r;e=i;continue}var o=n.a;if(!o.o.T.s.$)return C(lX,a,o,r);var i=r;e=i}},lJ=p(function(e,t){var a,r=q(t,{Z:I(iS,z(e),t.Z)}),n=(a=r.ag).$?r:M(a.a.da,e)?q(r,{ag:am}):r;return M(n.aa,ap(e))?lY(q(n,{aa:am})):n}),lQ=p(function(e,t){var a=I(lZ,p(function(e,t){return!ul(t.as)}),I(lK,p(function(t,a){return q(a,{as:I(iS,z(e),a.as)})}),t.e)),r=I(iS,function(e){return!I(lE,e,a)},ao(t.e)),n=I(lZ,p(function(t,a){return a.$?I(iB,a.a,r):M(a.a,e)}),t.u);return{a:C(aE,lJ,q(t,{e:a,u:I(lW,t.u,n),E:I(rZ,e,t.E)}),r),b:H(I(rl,l_,ao(n)),I(rl,lU,r))}}),l0=p(function(e,t){return{$:9,a:e,b:t}}),l1=m(function(e,t,a){return{a:q(a,{E:I(rZ,e,a.E)}),b:U([I(l0,e,t)])}}),l2=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=p(function(e,a){var r=a.a,n=a.b,i=C(l1,e,t,r),o=i.a;return{a:o,b:H(n,i.b)}});return C(aE,i,{a:I(lJ,e,q(a,{e:I(rZ,e,a.e)})),b:U([lU(e)])},n.as)}),l4=p(function(e,t){return I(iB,e,t)?t:H(t,U([e]))}),l3=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;if(n.o.T.s.$)return C(l2,e,"The active access service has no URL.",a);var i=q(n,{ao:3,cL:t}),o=q(a,{e:C(rB,e,i,a.e)}),u=a.aa;return u.$?{a:C(lX,e,i,o),b:B}:M(u.a,e)?{a:C(lX,e,i,o),b:B}:{a:q(o,{Z:I(l4,e,o.Z)}),b:B}}),l6=w(function(e,t,a,r){return{a:q(a,{e:C(rK,e,n_(t),a.e)}),b:r}}),l5=m(function(e,t,a){var r=e+"-"+es(t.aB+1);return R(l6,e,function(e){return q(e,{ao:5})},a,U([C(lG,e,t.o.cX.s,r)]))}),l8=m(function(e,t,a){for(;;){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=n.dl;if(!i.b)return C(l2,e,t,a);var o=i.a,u=q(n,{o:o,aB:0,cL:am,dl:i.b}),s=I(lJ,e,q(a,{e:C(rB,e,u,a.e)}));switch(o.T.bb){case 0:return I(lj,U([lU(e)]),C(l3,e,am,s));case 1:a=s;continue;default:return I(lj,U([lU(e)]),C(l5,e,u,s))}}}),l7=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;if(n.aB+1>=2)return C(l2,e,t,a);var i=q(a,{e:C(rB,e,q(n,{aB:n.aB+1}),a.e)});return I(lj,U([lU(e)]),C(l3,e,ap(t),i))}),l9=m(function(e,t,a){var r=I(rO,e,a.e);return r.$?{a:a,b:B}:0===r.a.o.T.bb?C(l7,e,t,a):C(l8,e,t,a)}),be=w(function(e,t,a,r){return{$:0,a:e,b:t,c:a,d:r}}),bt=p(function(e,t){return{$:1,a:e,b:t}}),ba=p(function(e,t){var a="auth-http-"+es(t.cD);return{a:a,b:q(t,{cD:t.cD+1,u:C(rB,a,e,t.u)})}}),br=w(function(e,t,a,r){var n=I(rO,e,r.E);if(n.$)return{a:r,b:B};var i=n.a,o=I(rO,i.b3,r.ap);if(o.$)return{a:r,b:B};var u=o.a;return{a:q(r,{E:I(rZ,e,r.E)}),b:U([{$:8,a:{ek:t,aC:a.$?i.aC:ap(a.a),aD:u.aD,fd:e,aK:u.aK}}])}}),bn=p(function(e,t){return{$:0,a:e,b:t}}),bi=w(function(e,t,a,r){var n=I(ba,I(bn,e,{$:1,a:t}),r),i=n.a;return{a:n.b,b:U([R(be,i,a.aK,am,t)])}}),bo=m(function(e,t,a){var r=I(rO,e,a.E);if(r.$)return{a:a,b:B};var n=r.a,i=I(rO,n.b3,a.ap);if(i.$)return{a:a,b:B};var o=i.a,u={a:o.aD,b:n.aC};return u.a||1!==u.b.$?R(br,e,t,am,a):(u.b,R(bi,e,t,o,a))}),bu=p(function(e,t){return 1===e.$?t:t+":"+es(e.a)}),bs=m(function(e,t,a){return 1===t.$?a:H(a,H(e,t.a))}),bc=function(e){var t=e.e6?"https://":"http://";return C(bs,"#",e.fX,C(bs,"?",e.gq,H(I(bu,e.e$,H(t,e.eH)),e.A)))},bl=function(e){var t,a=H(I(iS,function(e){return 2===e.bb},e.b_),I(iS,function(e){return!e.bb},e.b_)),r=I(nU,t=e.s,I(n_,function(e){return bc(q(e,{fX:am,gq:am}))},ro(t)))+"|"+I(aw,"|",I(nr,function(e){return nM(I(nr,function(t){if(t.$)return am;var a=t.a;return ap(I(nU,"",e.s)+"|"+a.s)},e.b_))},a));return I(nr,function(t){return I(n_,function(a){return{T:t,aj:r,a6:nM(I(nr,function(e){return e.$?ap(e.a):am},t.b_)),cJ:e,cX:a}},nM(I(nr,function(e){return e.$?am:ap(e.a)},t.b_)))},a)},bb=function(e){return"Unsupported authorization service: "+I(aw,", ",e)+"."},bd=function(e){var t=I(iM,function(e){return e.b_},e),a=nM(I(iS,function(e){return 1===e.bb},t));if(a.$)return am;var r=a.a;return ap("IIIF Auth 2 '"+function(){switch(r.bb){case 0:return"active";case 1:return"kiosk";default:return"external"}}()+"' access is not supported; supported profiles are 'external' and 'active'.")},bf=function(e){if(!ul(e.c$))return ab(bb(e.c$));var t=I(nU,B,nM(I(iS,I(n$,cj,ul),I(rl,bl,e.cK))));if(!ul(t))return av(t);var a=bd(e.cK);return a.$?ab("No supported Auth 2 external or active access service was provided."):ab(a.a)},bh=w(function(e,t,a,r){var n=q(r,{E:C(rK,e,n_(function(e){return q(e,{aC:a})}),r.E)}),i=bf(t);if(i.$)return C(l1,e,i.a,n);if(!i.a.b)return C(l1,e,"No supported Auth 2 external or active access service was provided.",n);var o=i.a,u=o.a,s=o.b,c=I(rO,u.aj,n.au);if(c.$){var l=I(rO,u.aj,n.e);if(l.$){var b={o:u,aB:0,ao:0,cL:am,dl:s,as:U([e])},d=q(n,{e:C(rB,u.aj,b,n.e)}),f=I(ba,I(bt,u.aj,am),d),h=f.a;return{a:f.b,b:U([R(be,h,u.cJ.s,am,!1)])}}var b=l.a;return{a:q(n,{e:C(rB,u.aj,q(b,{as:I(_,e,b.as)}),n.e)}),b:B}}return c.a?(c.a,C(bo,e,!0,n)):(c.a,C(bo,e,!1,n))}),bv=w(function(e,t,a,r){var n=I(eE,ef,a);if(n.$){var i=n.a;return C(l1,e,aq(i),r)}var o=n.a,u=I(eI,cF,o);if(u.$){var i=u.a;return C(l1,e,aq(i),r)}var s=u.a;return ul(s.cK)&&ul(s.c$)?t>=200&&t<300?R(br,e,!1,ap(o),r):C(l1,e,"Image information request failed ("+es(t)+").",r):R(bh,e,s,ap(o),r)}),bg=p(function(e,t){return{$:2,a:e,b:t}}),bp=function(e){return C(aE,lx,rC,e)},bm=p(function(e,t){return $(rV,1,e,t,rI,rI)}),bw=function(e){return e.aj},bx=p(function(e,t){return I(sl,e,t)}),by=p(function(e,t){var a=e.o.a6;if(a.$)return t;var r=a.a,n=bp(I(nr,function(e){return I(n_,function(e){return e.b3},I(rO,e,t.E))},e.as)),i=I(nU,"",e.o.T.s)+("|"+e.o.cX.s)+"|"+r.s,o=bw(e.o);return q(t,{af:C(rK,i,function(e){if(e.$)return ap({at:am,a2:I(bm,o,0),s:i,a6:r,cS:n});var t=e.a;return ap(q(t,{at:am,a2:I(lx,o,t.a2),cS:I(bx,n,t.cS)}))},t.af)})}),bE=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=q(a,{au:C(rB,n.o.aj,+!!t,a.au)}),o=t?I(by,n,i):i;return C(aE,p(function(e,a){var r=a.a,n=a.b,i=I(rO,e,r.E);if(i.$)return{a:r,b:n};var o=i.a,u=I(rO,o.b3,r.ap);if(u.$)return{a:r,b:n};var s=u.a,c={a:s.aD,b:o.aC};if(c.a||1!==c.b.$){var l=R(br,e,t,am,r),b=l.a,d=l.b;return{a:b,b:H(n,d)}}c.b;var f=R(bi,e,t,s,r),b=f.a,d=f.b;return{a:b,b:H(n,d)}}),{a:I(lJ,e,q(o,{e:I(rZ,e,o.e)})),b:U([lU(e)])},n.as)}),bI=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;switch(n.o.T.bb){case 0:return C(l3,e,am,a);case 1:return C(l8,e,t,a);default:return C(l5,e,n,a)}}),bC=function(e){return"Access was not granted ("+es(e)+")."},bR=I(em,function(e){return e>=100&&e<=599?a2(e):nv("Expected an HTTP status code between 100 and 599")},el),b$=E(function(e,t,a,r,n,i,o){return{k:e,dK:n,f3:o,dR:i,du:a,gG:r,gP:t}}),bL="http://iiif.io/api/auth/2/context.json",bA=nb(U([I(ev,"@context",eh),I(ev,"context",eh)])),bS=I(em,function(e){return I(nh,bL,e)?a2(e):nv("Expected "+bL+" but got "+e)},bA),bT=C(ex,p(function(e,t){return{s:e,gP:t}}),ck,cS),bk=m(function(e,t,a){return I(em,function(r){var n=I(eI,I(ev,e,ef),r);if(n.$)return a2(am);var i=n.a;if(!t)return nv(e+" is not permitted for this probe status");var o=I(eI,a,i);return o.$?nv(aq(o.a)):a2(ap(o.a))},ef)}),bM=I(em,function(e){return I(nq,C(bk,"location",e>=300&&e<=399,bT),I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),I(nq,I(ew,nU(B),C(bk,"substitute",401===e||403===e,cC(ef))),I(nq,a2(e),I(nq,cT("AuthProbeResult2"),I(nq,bS,a2(b$))))))))},I(ev,"status",bR)),bP=w(function(e,t,a,r){var n=I(eE,bM,a);if(n.$)return C(l9,e,aq(n.a),r);var i=n.a;if(!M(i.f3,am)||!ul(i.gG))return C(l2,e,"IIIF Auth redirect, substitute, and tiered access flows are not supported.",r);if(200===i.du)return C(bE,e,!M(t,am),r);var o=I(rO,e,r.e);if(o.$)return{a:r,b:B};var u=o.a;switch(u.ao){case 0:return{a:q(r,{e:C(rB,e,q(u,{ao:1}),r.e)}),b:U([I(bg,e,bw(u.o))])};case 2:return I(lj,U([I(lF,e,bw(u.o))]),C(bI,e,bC(i.du),r));case 6:return I(lj,U([I(lF,e,bw(u.o))]),C(l9,e,bC(i.du),r));default:return C(l7,e,bC(i.du),r)}}),bN=x(function(e,t,a,r,n){if(!(a>=200)||!(a<300))return C(l1,e,"Image information request failed ("+es(a)+").",n);var i=I(eE,ef,r);return i.$?C(l1,e,aq(i.a),n):R(br,e,t,ap(i.a),n)}),bz=w(function(e,t,a,r){var n=I(rO,e,r.u);if(n.$)return{a:r,b:B};if(n.a.$){var i=n.a,o=i.a,u=i.b,s=q(r,{u:I(rZ,e,r.u)});return R(bP,o,u,a,s)}var c=n.a,l=c.a,b=c.b,s=q(r,{u:I(rZ,e,r.u)});return b.$?$(bN,l,b.a,t,a,s):R(bv,l,t,a,s)}),bO=m(function(e,t,a){return C(so,m(function(t,a,r){return I(e,t,r)}),t,a)}),bV=function(e){var t=e.c6;return 1===t.$?I(n_,function(e){return e.aj},I(nD,nM,sQ(bf(t.a)))):am},bq=function(e){return C(an,m(function(e,t,a){return I(_,t,a)}),B,e)},bH=p(function(e,t){return bp(I(nr,function(t){return I(nD,function(a){return I(lI,a,e)?ap(t.s):am},bV(t))},bq(t)))}),bB=p(function(e,t){var a=I(rO,e,t.af);if(a.$)return{a:t,b:B};var r=a.a,n=I(bH,r.a2,t.ap),i=au(I(bx,r.cS,n));return{a:q(t,{au:C(bO,rZ,t.au,r.a2),af:I(rZ,e,t.af)}),b:H(I(rl,lF(e),au(r.a2)),U([{$:7,a:i}]))}}),bD=m(function(e,t,a){var r=I(rO,e,a.u);return r.$?{a:a,b:B}:r.a.$?C(l9,r.a.a,t,q(a,{u:I(rZ,e,a.u)})):C(l1,r.a.a,t,q(a,{u:I(rZ,e,a.u)}))}),b_={$:0},bU=m(function(e,t,a){var r=I(ba,I(bn,e,b_),a),n=r.a;return{a:r.b,b:U([R(be,n,t.aK,am,!1)])}}),bF=m(function(e,t,a){var r=I(rO,t,a.ap);if(r.$)return{a:a,b:U([I(l0,e,"Unknown image source.")])};var n=r.a,i=q(a,{E:C(rB,e,{aC:am,b3:t},a.E)}),o=n.c6;switch(o.$){case 0:return n.aD?R(br,e,!1,am,i):C(bU,e,n,i);case 1:var u=o.a;return ul(u.cK)?ul(u.c$)?n.aD?R(br,e,!1,am,i):C(bU,e,n,i):C(l1,e,bb(u.c$),i):R(bh,e,u,am,i);default:return C(l1,e,o.a,i)}}),bG=C(ex,p(function(e,t){return{bi:e,ex:t}}),I(ev,"accessToken",eh),nb(U([I(ew,ap,I(ev,"expiresAt",ed)),a2(am)]))),bj=w(function(e,t,a,r){var n={a:I(rO,e,r.e),b:a};if(n.a.$)return{a:r,b:B};if(n.b.$)return n.b,C(bI,e,"No cached token was found.",r);var i=n.a.a,o=I(eI,bG,n.b.a);if(o.$)return I(lj,U([I(lF,e,bw(i.o))]),C(bI,e,"The cached token is invalid.",r));var u=o.a;if(!I(nU,!0,I(n_,function(e){return 0>O(t,e)},u.ex)))return I(lj,U([I(lF,e,bw(i.o))]),C(bI,e,"The cached token has expired.",r));var s=I(ba,I(bt,e,ap(u.bi)),r),c=s.a,l=s.b;return{a:q(l,{e:C(rB,e,q(i,{ao:2}),l.e)}),b:U([R(be,c,i.o.cJ.s,ap(u.bi),!1)])}}),bW=w(function(e,t,a,r){return{$:3,a:e,b:t,c:a,d:r}}),bZ=x(function(e,t,a,r,n){return{bi:a,k:e,fS:r,eS:n,gP:t}}),bK=I(em,function(e){return e>0?a2(e):nv("Expected a positive integer")},el),bX=C(nk,"messageId",eh,I(nq,I(cP,"expiresIn",bK),C(nk,"accessToken",eh,I(nq,cT("AuthAccessToken2"),I(nq,bS,a2(bZ)))))),bY=y(function(e,t,a,r,n,i){return{k:e,dK:r,eS:i,dR:n,bb:a,gP:t}}),bJ=I(em,function(e){switch(e){case"expiredAspect":return a2(4);case"invalidAspect":return a2(3);case"invalidOrigin":return a2(1);case"invalidRequest":return a2(0);case"missingAspect":return a2(2);case"unavailable":return a2(5);default:return nv("Unsupported Auth 2 token error profile: "+e)}},eh),bQ=C(nk,"messageId",eh,I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),C(nk,"profile",bJ,I(nq,cT("AuthAccessTokenError2"),I(nq,bS,a2(bY))))))),b0=w(function(e,t,a,r){var n=I(rO,e,r.e);if(n.$)return{a:r,b:B};var i=n.a,o=I(eI,bX,a);if(o.$){var u=o.a;return I(eI,bQ,a).$?I(lj,U([I(lF,e,bw(i.o))]),C(l9,e,aq(u),r)):I(lj,U([I(lF,e,bw(i.o))]),C(l9,e,"The token service refused access.",r))}var s=o.a,c=t+1e3*I(nU,300,s.fS),l=I(ba,I(bt,e,ap(s.bi)),r),b=l.a,d=l.b;return{a:q(d,{e:C(rB,e,q(i,{ao:6}),d.e)}),b:U([R(bW,e,bw(i.o),s.bi,c),R(be,b,i.o.cJ.s,ap(s.bi),!1),lU(e)])}}),b1=p(function(e,t){if(t.c8)return{a:t,b:B};switch(e.$){case 0:var a=e.a;return C(bF,a,e.b,t);case 1:var a=e.a;return I(lQ,a,t);case 2:var r=e.a;return R(bz,r,e.b,e.c,t);case 3:var r=e.a,n=e.b;return C(bD,r,n,t);case 4:var i=e.a,o=e.b,u=e.c;return R(bj,i,o,u,t);case 5:var i=e.a;return M(t.aa,ap(i))?R(l6,i,function(e){return q(e,{ao:4})},q(t,{ag:am}),B):{a:t,b:B};case 6:var i=e.a;return M(t.aa,ap(i))?C(l7,i,"The sign-in window was blocked. Allow popups and retry.",t):{a:t,b:B};case 7:var i=e.a,s={a:t.aa,b:I(rO,i,t.e)};if(s.a.$||s.b.$)return{a:t,b:B};var c=s.a.a,l=s.b.a;if(M(c,i)){var b=i+"-"+es(l.aB+1);return R(l6,i,function(e){return q(e,{ao:5})},t,U([C(lG,i,l.o.cX.s,b)]))}return{a:t,b:B};case 8:var i=e.a,o=e.b,u=e.c;return R(b0,i,o,u,t);case 9:var i=e.a,n=e.b;return I(lj,function(){var e=I(rO,i,t.e);if(e.$)return B;var a=e.a;return U([I(lF,i,bw(a.o))])}(),C(l9,i,n,t));case 10:var d=e.a;return I(bB,d,t);case 11:var d=e.a;return{a:q(t,{af:C(rK,d,n_(function(e){return q(e,{at:ap("The logout window was blocked. Allow popups and try again.")})}),t.af)}),b:B};case 12:return{a:t,b:B};case 13:var f=t.ag;if(!f.$)return C(l2,f.a.da,"Authorization was cancelled.",t);return{a:t,b:B};default:var h=H(I(rl,l_,ao(t.u)),I(rl,lU,ao(t.e)));return{a:q(t,{aa:am,ag:am,c8:!0,e:rC,u:rC,E:rC,Z:B,af:rC}),b:h}}}),b2=p(function(e,t){return q(t,{ez:e(t.ez)})}),b4=e1("zoomBy",eT),b3=p(function(e,t){return{a:e,b:b4(t)}}),b6=function(e){var t=e.B;return t||e._},b5=p(function(e,t){switch(e.$){case 0:var a=I(b1,e.a,t.c6),r=a.a,n=a.b;return{a:q(t,{c6:r}),b:eX(I(rl,lH,n))};case 1:var i=e.a,o=function(){switch(i){case"spread":return{a:1,b:!1};case"spread-shift":return{a:1,b:!0};default:return{a:0,b:!1}}}(),u=o.a,s=o.b;return{a:q(t,{b$:s,b8:u}),b:ly(I(cn,u,s))};case 2:var c=e.a,l=e.b;return{a:q(t,{dM:!0,X:!0,ba:ap(c)}),b:C(uA,I(sk,c,l),t.aw,l)};case 3:var b=e.a;return{a:q(t,{db:b}),b:lb};case 4:var d=e.a;return C(lg,!1,d,t);case 5:var d=e.a;return C(lg,!0,d,t);case 6:return{a:q(t,{bf:!1}),b:lb};case 7:var f=e.a,h=e.b,v=t.I;if(2===v.$){var g=v.a,p=I(lC,f,g.ak);if(h.$)return{a:q(t,{I:sL(q(g,{ak:p}))}),b:lb};var m=h.a;if(1===m.$){var w=m.a.b,x=g.t,y=x.a,E=x.b,$=q(g,{t:I(nw,y,C(lR,f,w,E)),cC:I(lx,f,g.cC),ak:p});return{a:q(t,{I:sL($)}),b:lb}}return{a:q(t,{I:sL(q(g,{ak:p}))}),b:lb}}return{a:t,b:lb};case 8:var L=e.a,h=e.b,A=t.I;if(2===A.$){var g=A.a;if(M(g.dq,ap(L)))if(h.$){var S=h.a;return{a:q(t,{X:!1,bY:{$:3,a:lw(S)}}),b:lb}}else{var T=h.a;return R(lo,"collection-"+L,am,t,T)};}return{a:t,b:lb};case 9:var h=e.a;if(t.dM)return{a:t,b:lb};if(h.$){var S=h.a;return{a:q(t,{X:!1,I:{$:3,a:lw(S)}}),b:lS({ac:lw(S),fd:"initial",aK:t.a7})}}var m=h.a;switch(m.$){case 0:var T=m.a,k=R(lo,"initial",ap(t.cz),t,T),P=k.a,N=k.b;return{a:q(P,{a0:!1,I:sA(T)}),b:eX(U([N,lT({ct:!ul(P.aH),cG:I(nU,0,P.R),fd:"initial",aK:t.a7})]))};case 1:var z=m.a,V=z.a,H=z.b;return{a:q(t,{c6:r$,a0:!0,X:!1,aH:B,I:sL({t:I(nw,V,H),bH:rC,cC:rC,ak:rC,dq:am}),bY:s$,R:am}),b:eX(U([sX("initial"),lT({ct:!1,cG:0,fd:"initial",aK:t.a7})]))};default:return{a:q(t,{X:!1}),b:lS({ac:"URL did not return a supported IIIF resource.",fd:"initial",aK:t.a7})}}case 10:var c=e.a,l=e.b,h=e.c;if(M(t.ba,ap(c)))if(h.$){var S=h.a;return{a:q(t,{X:!1,ba:am}),b:lS({ac:lw(S),fd:c,aK:l})}}else{var m=h.a;switch(m.$){case 0:var T=m.a,D=R(lo,c,am,t,T),P=D.a,N=D.b;return{a:q(P,{a0:!1,a7:l,ba:am,I:sA(T)}),b:eX(U([N,lT({ct:!ul(P.aH),cG:0,fd:c,aK:l})]))};case 1:var _=m.a,V=_.a,H=_.b;return{a:q(t,{c6:r$,a0:!0,X:!1,a7:l,aH:B,ba:am,I:sL({t:I(nw,V,H),bH:rC,cC:rC,ak:rC,dq:am}),bY:s$,R:am}),b:eX(U([sX(c),lT({ct:!1,cG:0,fd:c,aK:l})]))};default:return{a:q(t,{X:!1,ba:am}),b:lS({ac:"URL did not return a supported IIIF resource.",fd:c,aK:l})}}}return{a:t,b:lb};case 11:var F=s5(t.cn);if(F.$){var S=F.a;return{a:q(t,{bJ:ap(S)}),b:lb}}var G=F.a,j=s7(G),P=q(t,{ez:G,bJ:am,cn:j});return{a:P,b:lv(P)};case 12:var W,Z=e.a,K=(W=t.de).$?ap(Z):ap(W.a);return{a:q(t,{dE:ap(Z),de:K}),b:lb};case 13:return{a:q(t,{dO:!1}),b:lb};case 14:var P=q(t,{ez:uS,di:!1,aG:0,cH:!1});return{a:P,b:sF(am)};case 15:var f=e.a,X=t.I;if(2===X.$){var g=X.a,Y=I(lI,f,g.bH)?I(lC,f,g.bH):I(lx,f,g.bH),E=g.t.b,J=I(nU,!0,I(n_,I(rX,function(e){return e.aE},ul),I(s9,f,E)))&&!I(lI,f,g.cC)&&!I(lI,f,g.ak),p=J?I(lx,f,g.ak):g.ak,$=q(g,{bH:Y,ak:p});return{a:q(t,{I:sL($)}),b:J?C(uA,sS(f),t.aw,f):lb}}return{a:t,b:lb};case 16:var L=e.a,Q=e.b,ee=t.I;if(2===ee.$){var g=ee.a;return{a:q(t,{X:!0,I:sL(q(g,{dq:ap(L)})),bY:rm}),b:C(lL,sT(L),t.aw,Q)}}return{a:t,b:lb};case 17:return{a:q(t,{dO:!0}),b:lb};case 18:var P=q(t,{aG:0,cH:!0,dj:!0,B:b6(t)});return{a:P,b:lv(P)};case 19:var d=e.a,P=q(t,{aG:d});return{a:P,b:lv(P)};case 20:return I(lm,1,t);case 21:return I(lm,-1,t);case 22:var et=e.a,ea=et.$?lb:lp(et.a),P=q(t,{cI:et,R:et.$?t.R:ap(et.a),B:b6(t),bf:!0});return{a:P,b:eX(U([ea,lv(P)]))};case 23:return{a:t,b:lB(0)};case 24:var d=e.a,P=q(t,{aG:0,R:ap(d),B:b6(t),bf:!1});return{a:P,b:eX(U([lp(d),I(ld,1===P.B,d),lv(P)]))};case 25:return I(b3,t,1.6);case 26:return I(b3,t,.625);case 27:var j=s7(t.ez);return{a:q(t,{bJ:am,cn:j}),b:sY(j)};case 28:var er=e.a,en=t.ch;if(en.$)return{a:t,b:lb};var ei=en.a,eo=C(rE,240,480,ei.ds+(er-ei.dt));return{a:q(t,{dB:eo}),b:lb};case 29:var er=e.a,eu=t.cO;if(eu.$)return{a:t,b:lb};var ei=eu.a,es=ei.dt-er,eo=C(rE,220,520,ei.ds+es);return{a:q(t,{b0:eo}),b:lb};case 30:return{a:q(t,{ch:am}),b:lb};case 31:return{a:q(t,{cO:am}),b:lb};case 32:var P=q(t,{ez:uS,bJ:am});return{a:P,b:lv(P)};case 33:var P=I(b2,lA,t);return{a:P,b:lv(P)};case 34:return{a:q(t,{dD:0}),b:lb};case 35:return{a:q(t,{dD:1}),b:lb};case 36:var er=e.a;return{a:q(t,{ch:ap({ds:t.dB,dt:er})}),b:lb};case 37:var er=e.a;return{a:q(t,{cO:ap({ds:t.b0,dt:er})}),b:lb};case 38:return{a:q(t,{_:3,B:3}),b:lb};case 39:if(2===t.I.$)return{a:q(t,{a0:!t.a0}),b:lb};return{a:t,b:lb};case 40:var ec=e.a,b=e.b,P=I(b2,I(sM,ec,b),t);return{a:P,b:lv(P)};case 41:var el=e.a,eb=I(lI,el,t.cm)?I(lC,el,t.cm):I(lx,el,t.cm);return{a:q(t,{cm:eb}),b:lb};case 42:var ed=!t.db;return{a:q(t,{db:ed}),b:lD(ed)};case 43:return{a:q(t,{_:2,B:2}),b:lb};case 44:return{a:q(t,{di:!t.di}),b:lb};case 45:return{a:q(t,{dj:!t.dj}),b:lb};case 46:var ef=e.a;return{a:q(t,{d$:M(t.d$,ap(ef))?am:ap(ef)}),b:lb};case 47:if(t.b8){var s=!t.b$;return{a:q(t,{b$:s}),b:ly(I(cn,1,s))}}return{a:t,b:lb};case 48:return t.df?t.bO?{a:q(t,{bO:!1,B:0}),b:lb}:{a:q(t,{bO:!0,B:t._}),b:lb}:t.B?{a:q(t,{B:0}),b:lb}:{a:q(t,{B:t._}),b:lb};case 49:var eh=function(){var e={a:t.cI,b:t.R};if(e.a.$)if(e.b.$)return lb;else{e.a;var a=e.b.a;return I(ld,!0,a)}var a=e.a.a;return I(ld,!0,a)}(),P=q(t,{_:1,B:1});return{a:q(P,{cI:am,bf:!t.cI.$}),b:eh};case 50:var ev=+!t.b8;return{a:q(t,{b8:ev}),b:ly(I(cn,ev,t.b$))};case 51:var eg=e.a,ep=e.b,P=I(b2,I(sN,eg,ep),t);return{a:P,b:lv(P)};case 52:var em=e.a,ep=e.b,P=I(b2,I(sq,em,ep),t);return{a:P,b:lv(P)};case 53:var ep=e.a;return{a:q(t,{bJ:am,cn:ep}),b:lb};case 54:var ew=e.a,ep=e.b,P=I(b2,I(sD,ew,ep),t);return{a:P,b:lv(P)};case 55:return{a:q(t,{X:e.a}),b:lb};default:var P=1>O(e.a,720)?q(t,{df:!0,bO:!1,B:0}):q(t,{df:!1,bO:!1});return{a:P,b:lb}}}),b8=p(function(e,t){return I(tw,e,eT(t))}),b7=b8("className"),b9=function(e){return b7(I(aw," ",I(rl,aX,I(iS,c2,e))))},de=tc("div"),dt=b8("id"),da=function(e){var t=e.I;switch(t.$){case 1:var a=t.a;return ap(a);case 2:var r=e.bY;if(2!==r.$)return am;var a=r.a;return ap(a);default:return am}},dr=cX(function(e){return e.dN}),dn=cX(function(e){return e.fe}),di={$:13},du=p(function(e,t){return I(tx,tI.test(e)?"data-"+e:e,t$(t))}),ds=tc("button"),dc=tc("h2"),dl=p(function(e,t){return I(tp,e,{$:0,a:t})}),db=function(e){return I(dl,"click",a2(e))},dd=tc("p"),df=b8("type"),dh=p(function(e,t){var a=p(function(t,a){return I(nU,a,I(n_,cu(e.en),t))}),r=I(nU,I(a,t.dR,"Sign in to view this image."),t.at);return I(de,U([b7("diva-auth-overlay"),I(du,"role","dialog"),I(du,"aria-modal","true")]),U([I(de,U([b7("diva-auth-dialog")]),U([I(dc,B,U([tu(I(a,t.dK,"Sign in required"))])),I(dd,B,U([tu(r)])),I(ds,U([df("button"),I(du,"data-diva-auth-flow",t.da),I(du,"data-diva-auth-url",t.ea)]),U([tu(M(t.at,am)?I(a,t.dC,"Sign in"):"Retry")])),I(ds,U([df("button"),db(uk(di))]),U([tu("Cancel")]))]))]))}),dv=function(e){return tc(tE.test(e)?"p":e)},dg=tu(""),dp=p(function(e,t){return t?e:dg}),dm=p(function(e,t){return t.$?dg:e(t.a)}),dw=(b=U([.2,.3,.4,.1,.2,.3,0,.1,.2]),I(de,U([b7("diva-throbber-overlay")]),U([I(de,U([b7("diva-throbber")]),I(rl,function(e){return I(de,U([b7("diva-throbber-cube"),I(tm,"animation-delay",es(e)+"s")]),B)},b))]))),dx=function(e){var t=e.a,a=e.b,r=e.c;return I(de,U([b7("diva-viewer-status-overlay")]),U([I(de,U([b7("diva-modal is-narrow")]),U([I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title")]),U([tu(t)]))])),I(de,U([b7("diva-modal-body is-no-sidebar")]),U([I(de,U([b9(U([{a:"diva-status",b:!0},{a:"is-error",b:r}]))]),U([tu(a)]))]))]))]))},dy=function(e){return I(de,U([b7("diva-viewer-zoom-indicator")]),U([tu(e)]))},dE=x(function(e,t,a,r,n){return I(de,U([b7("diva-canvas-wrapper")]),U([C(dv,"osd-viewer",U([b9(U([{a:"diva-canvas",b:!0},{a:"is-fullscreen",b:e},{a:"has-collection",b:a}])),dt("main-viewer")]),B),I(dp,dw,t),I(dm,dx,r),I(dm,dy,n)]))}),dI=function(e){return{$:36,a:e}},dC=tc("li"),dR=tc("ul"),d$=p(function(e,t){return{$:16,a:e,b:t}}),dL=m(function(e,t,a){var r=I(cu,e,a.dN);return I(dC,B,U([I(ds,U([b9(U([{a:"diva-manifest-tree-item",b:!0},{a:"diva-ui-button",b:!0},{a:"is-active",b:M(t.dq,ap(a.s))}])),df("button"),db(I(d$,a.s,a.s))]),U([tu(r)]))]))}),dA=m(function(e,t,a){return a.$?C(dL,e,t,a.a):C(dT,e,t,a.a)}),dS=m(function(e,t,a){return I(dR,U([b7("diva-collection-list diva-list-reset")]),I(rl,C(tf,dA,e,t),a))}),dT=m(function(e,t,a){var r=I(cu,e,a.dN),n=I(lI,a.s,t.bH),i=function(){if(!n)return B;var r=I(lI,a.s,t.ak)?U([I(de,U([b7("diva-contents-empty")]),U([tu("Loading…")]))]):B;return I(_,C(dS,e,t,a.aE),r)}();return I(dC,U([b7("diva-collection-tree-item")]),I(_,I(ds,U([b7("diva-collection-node-button diva-ui-button"),df("button"),db({$:15,a:a.s})]),U([I(de,U([b7("diva-collection-expand-icon")]),U([tu(n?"▼":"▶")])),tu(r)])),i))}),dk=p(function(e,t){var a=t.t.b,r=I(cu,e.en,a.dN);return I(de,U([b9(U([{a:"diva-collection-panel",b:!0},{a:"is-fullscreen",b:e.db},{a:"is-hidden",b:!e.a0}])),I(tm,"width",e.a0?es(e.dB)+"px":"0px")]),U([I(de,U([b7("diva-collection-header")]),U([I(de,U([b7("diva-collection-title")]),U([tu(r)])),I(dm,function(t){return I(de,U([b7("diva-collection-summary")]),U([tu(I(cu,e.en,t))]))},a.gH)])),I(de,U([b7("diva-sidebar-content")]),U([I(de,U([b7("diva-sidebar-pane is-scroll")]),U([C(dS,e.en,t,a.aE)]))]))]))}),dM=function(e){var t=e.I;return 2===t.$?I(dk,e,t.a):dg},dP=tc("a"),dN=function(e){return I(b8,"href",tC.test(e)?"":e)},dz=function(e){switch(e.$){case 0:return e.a;case 1:return"none";default:return"default"}},dO=tx("rel"),dV=m(function(e,t,a){return{$:1,a:e,b:t,c:a}}),dq=p(function(e,t){return{$:1,a:e,b:t}}),dH=m(function(e,t,a){return{$:0,a:e,b:t,c:a}}),dB=p(function(e,t){return function(a){var r=t(a);if(1===r.$){var n=r.a,i=r.b;return I(dq,n,i)}var o=r.a,u=r.b,s=r.c,c=e(u)(s);if(1===c.$){var l=c.a,i=c.b;return I(dq,o||l,i)}var l=c.a;return C(dH,o||l,c.b,c.c)}}),dD=function(e){return function(t){var a=e(t);return 1===a.$?I(dq,!1,a.b):C(dH,!1,a.b,a.c)}},d_={$:11},dU=p(function(e,t){return{$:1,a:e,b:t}}),dF=w(function(e,t,a,r){return{dA:t,fL:r,dX:a,d_:e}}),dG={$:0},dj=p(function(e,t){return I(dU,dG,R(dF,e.d_,e.dA,t,e.k))}),dW=p(function(e,t){return function(a){var r=C(t7,e,a.h,a.d);return M(r,-1)?I(dq,!1,I(dj,a,t)):M(r,-2)?C(dH,!0,0,{dA:1,k:a.k,p:a.p,h:a.h+1,d_:a.d_+1,d:a.d}):C(dH,!0,0,{dA:a.dA+1,k:a.k,p:a.p,h:r,d_:a.d_,d:a.d})}}),dZ=function(e){return I(dW,e,d_)},dK=x(function(e,t,a,r,n){for(;;){var i=C(t7,e,t,n.d);if(M(i,-1))return C(dH,0>O(n.h,t),0,{dA:r,k:n.k,p:n.p,h:t,d_:a,d:n.d});if(M(i,-2)){var o=e,u=t+1,s=a+1,c=1,l=n;e=o,t=u,a=s,r=c,n=l;continue}var o=e,u=i,s=a,c=r+1,l=n;e=o,t=u,a=s,r=c,n=l}}),dX=function(e){return function(t){return $(dK,e,t.h,t.d_,t.dA,t)}},dY=m(function(e,t,a){return function(r){var n=t(r);if(1===n.$){var i=n.a,o=n.b;return I(dq,i,o)}var u=n.a,s=n.b,c=a(n.c);if(1===c.$){var l=c.a,o=c.b;return I(dq,u||l,o)}var l=c.a,b=c.b,d=c.c;return C(dH,u||l,I(e,s,b),d)}}),dJ=p(function(e,t){return C(dY,sH,e,t)}),dQ=function(e){return I(dJ,dZ(e),dX(e))},d0=p(function(e,t){return function(a){var r=t(a);if(1===r.$){var n=r.a;return I(dq,n,r.b)}var n=r.a,i=r.b,o=r.c;return C(dH,n,I(e,C(ea,a.h,o.h,a.d),i),o)}}),d1=function(e){return I(d0,sH,e)},d2=function(e){return" "===e||" "===e||"\n"===e||"\r"===e||"\f"===e||" "===e},d4=function(e){var t;return t={$:12,a:e},function(e){return I(dq,!1,I(dj,e,t))}},d3=function(e){return function(t){return C(dH,!1,e,t)}},d6=function(e){var t=I(dB,function(t){return M(c8(t),e)?d3(0):d4("closing tag does not match opening tag: "+e)},d1(dQ(function(e){return!d2(e)&&">"!==e})));return I(dJ,I(dJ,I(dJ,I(dJ,dZ(N("<")),dZ(N("/"))),t),dX(d2)),dZ(N(">")))},d5=w(function(e,t,a,r){return I(dU,dG,R(dF,e,t,a,r))}),d8=p(function(e,t){return{$:0,a:e,b:t}}),d7=function(e){return I(d8,e,{$:0,a:e})},d9=p(function(e,t){return C(dY,aj,e,t)}),fe=function(e){var t=e.a,a=e.b,r=!a9(t);return function(e){var n=$(t8,t,e.h,e.d_,e.dA,e.d),i=n.a,o=n.b,u=n.c;return M(i,-1)?I(dq,!1,I(dj,e,a)):C(dH,r,0,{dA:u,k:e.k,p:e.p,h:i,d_:o,d:e.d})}},ft=function(e){return fe(d7(e))},fa=I(d9,I(dJ,I(dJ,d3(a3),ft("O(e.h,n),0,{dA:o,k:e.k,p:e.p,h:n,d_:i,d:e.d})})),ft("--\x3e"))),fr=p(function(e,t){return function(a){var r=t(a);if(r.$){var n=r.a;return I(dq,n,r.b)}var n=r.a,i=r.b,o=r.c;return C(dH,n,e(i),o)}}),fn=I(fr,function(e){return{$:2,a:e}},fa),fi=U(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),fo=function(e){return{$:1,a:e}},fu=function(e){return{$:0,a:e}},fs=w(function(e,t,a,r){for(;;){var n=a(t)(r);if(n.$){var i=n.a;return I(dq,e||i,n.b)}var i=n.a,o=n.b,u=n.c;if(o.$)return C(dH,e||i,o.a,u);var s=o.a,c=a;e=e||i,t=s,a=c,r=u}}),fc=p(function(e,t){return function(a){return R(fs,!1,e,t,a)}}),fl=function(e){return e.$?{$:1,a:e.a}:{$:0,a:e.a}},fb=p(function(e,t){return I(fc,e,function(e){return I(fr,fl,t(e))})}),fd=p(function(e,t){return{$:2,a:e,b:t}}),ff=m(function(e,t,a){for(;;)if(!a.b)return I(dq,!1,t);else{var r=a.a,n=a.b,i=r(e);if(i.$){var o=i,u=o.a,s=o.b;if(u)return o;var c=e,l=I(fd,t,s);e=c,t=l,a=n;continue}var o=i;return o}}),fh=function(e){return function(t){return C(ff,t,dG,e)}},fv=function(e){return I(fb,B,function(t){return fh(U([I(fr,function(e){return fu(I(_,e,t))},e),d3(fo(az(t)))]))})},fg=I(fr,c8,d1(dQ(function(e){return!d2(e)&&'"'!==e&&"'"!==e&&">"!==e&&"/"!==e&&"="!==e}))),fp=dZ(N(";")),fm=si(U([{a:"Aacute",b:"Á"},{a:"aacute",b:"á"},{a:"Abreve",b:"Ă"},{a:"abreve",b:"ă"},{a:"ac",b:"∾"},{a:"acd",b:"∿"},{a:"acE",b:"∾̳"},{a:"Acirc",b:"Â"},{a:"acirc",b:"â"},{a:"acute",b:"´"},{a:"Acy",b:"А"},{a:"acy",b:"а"},{a:"AElig",b:"Æ"},{a:"aelig",b:"æ"},{a:"af",b:"⁡"},{a:"Afr",b:"𝔄"},{a:"afr",b:"𝔞"},{a:"Agrave",b:"À"},{a:"agrave",b:"à"},{a:"alefsym",b:"ℵ"},{a:"aleph",b:"ℵ"},{a:"Alpha",b:"Α"},{a:"alpha",b:"α"},{a:"Amacr",b:"Ā"},{a:"amacr",b:"ā"},{a:"amalg",b:"⨿"},{a:"amp",b:"&"},{a:"AMP",b:"&"},{a:"andand",b:"⩕"},{a:"And",b:"⩓"},{a:"and",b:"∧"},{a:"andd",b:"⩜"},{a:"andslope",b:"⩘"},{a:"andv",b:"⩚"},{a:"ang",b:"∠"},{a:"ange",b:"⦤"},{a:"angle",b:"∠"},{a:"angmsdaa",b:"⦨"},{a:"angmsdab",b:"⦩"},{a:"angmsdac",b:"⦪"},{a:"angmsdad",b:"⦫"},{a:"angmsdae",b:"⦬"},{a:"angmsdaf",b:"⦭"},{a:"angmsdag",b:"⦮"},{a:"angmsdah",b:"⦯"},{a:"angmsd",b:"∡"},{a:"angrt",b:"∟"},{a:"angrtvb",b:"⊾"},{a:"angrtvbd",b:"⦝"},{a:"angsph",b:"∢"},{a:"angst",b:"Å"},{a:"angzarr",b:"⍼"},{a:"Aogon",b:"Ą"},{a:"aogon",b:"ą"},{a:"Aopf",b:"𝔸"},{a:"aopf",b:"𝕒"},{a:"apacir",b:"⩯"},{a:"ap",b:"≈"},{a:"apE",b:"⩰"},{a:"ape",b:"≊"},{a:"apid",b:"≋"},{a:"apos",b:"'"},{a:"ApplyFunction",b:"⁡"},{a:"approx",b:"≈"},{a:"approxeq",b:"≊"},{a:"Aring",b:"Å"},{a:"aring",b:"å"},{a:"Ascr",b:"𝒜"},{a:"ascr",b:"𝒶"},{a:"Assign",b:"≔"},{a:"ast",b:"*"},{a:"asymp",b:"≈"},{a:"asympeq",b:"≍"},{a:"Atilde",b:"Ã"},{a:"atilde",b:"ã"},{a:"Auml",b:"Ä"},{a:"auml",b:"ä"},{a:"awconint",b:"∳"},{a:"awint",b:"⨑"},{a:"backcong",b:"≌"},{a:"backepsilon",b:"϶"},{a:"backprime",b:"‵"},{a:"backsim",b:"∽"},{a:"backsimeq",b:"⋍"},{a:"Backslash",b:"∖"},{a:"Barv",b:"⫧"},{a:"barvee",b:"⊽"},{a:"barwed",b:"⌅"},{a:"Barwed",b:"⌆"},{a:"barwedge",b:"⌅"},{a:"bbrk",b:"⎵"},{a:"bbrktbrk",b:"⎶"},{a:"bcong",b:"≌"},{a:"Bcy",b:"Б"},{a:"bcy",b:"б"},{a:"bdquo",b:"„"},{a:"becaus",b:"∵"},{a:"because",b:"∵"},{a:"Because",b:"∵"},{a:"bemptyv",b:"⦰"},{a:"bepsi",b:"϶"},{a:"bernou",b:"ℬ"},{a:"Bernoullis",b:"ℬ"},{a:"Beta",b:"Β"},{a:"beta",b:"β"},{a:"beth",b:"ℶ"},{a:"between",b:"≬"},{a:"Bfr",b:"𝔅"},{a:"bfr",b:"𝔟"},{a:"bigcap",b:"⋂"},{a:"bigcirc",b:"◯"},{a:"bigcup",b:"⋃"},{a:"bigodot",b:"⨀"},{a:"bigoplus",b:"⨁"},{a:"bigotimes",b:"⨂"},{a:"bigsqcup",b:"⨆"},{a:"bigstar",b:"★"},{a:"bigtriangledown",b:"▽"},{a:"bigtriangleup",b:"△"},{a:"biguplus",b:"⨄"},{a:"bigvee",b:"⋁"},{a:"bigwedge",b:"⋀"},{a:"bkarow",b:"⤍"},{a:"blacklozenge",b:"⧫"},{a:"blacksquare",b:"▪"},{a:"blacktriangle",b:"▴"},{a:"blacktriangledown",b:"▾"},{a:"blacktriangleleft",b:"◂"},{a:"blacktriangleright",b:"▸"},{a:"blank",b:"␣"},{a:"blk12",b:"▒"},{a:"blk14",b:"░"},{a:"blk34",b:"▓"},{a:"block",b:"█"},{a:"bne",b:"=⃥"},{a:"bnequiv",b:"≡⃥"},{a:"bNot",b:"⫭"},{a:"bnot",b:"⌐"},{a:"Bopf",b:"𝔹"},{a:"bopf",b:"𝕓"},{a:"bot",b:"⊥"},{a:"bottom",b:"⊥"},{a:"bowtie",b:"⋈"},{a:"boxbox",b:"⧉"},{a:"boxdl",b:"┐"},{a:"boxdL",b:"╕"},{a:"boxDl",b:"╖"},{a:"boxDL",b:"╗"},{a:"boxdr",b:"┌"},{a:"boxdR",b:"╒"},{a:"boxDr",b:"╓"},{a:"boxDR",b:"╔"},{a:"boxh",b:"─"},{a:"boxH",b:"═"},{a:"boxhd",b:"┬"},{a:"boxHd",b:"╤"},{a:"boxhD",b:"╥"},{a:"boxHD",b:"╦"},{a:"boxhu",b:"┴"},{a:"boxHu",b:"╧"},{a:"boxhU",b:"╨"},{a:"boxHU",b:"╩"},{a:"boxminus",b:"⊟"},{a:"boxplus",b:"⊞"},{a:"boxtimes",b:"⊠"},{a:"boxul",b:"┘"},{a:"boxuL",b:"╛"},{a:"boxUl",b:"╜"},{a:"boxUL",b:"╝"},{a:"boxur",b:"└"},{a:"boxuR",b:"╘"},{a:"boxUr",b:"╙"},{a:"boxUR",b:"╚"},{a:"boxv",b:"│"},{a:"boxV",b:"║"},{a:"boxvh",b:"┼"},{a:"boxvH",b:"╪"},{a:"boxVh",b:"╫"},{a:"boxVH",b:"╬"},{a:"boxvl",b:"┤"},{a:"boxvL",b:"╡"},{a:"boxVl",b:"╢"},{a:"boxVL",b:"╣"},{a:"boxvr",b:"├"},{a:"boxvR",b:"╞"},{a:"boxVr",b:"╟"},{a:"boxVR",b:"╠"},{a:"bprime",b:"‵"},{a:"breve",b:"˘"},{a:"Breve",b:"˘"},{a:"brvbar",b:"¦"},{a:"bscr",b:"𝒷"},{a:"Bscr",b:"ℬ"},{a:"bsemi",b:"⁏"},{a:"bsim",b:"∽"},{a:"bsime",b:"⋍"},{a:"bsolb",b:"⧅"},{a:"bsol",b:"\\"},{a:"bsolhsub",b:"⟈"},{a:"bull",b:"•"},{a:"bullet",b:"•"},{a:"bump",b:"≎"},{a:"bumpE",b:"⪮"},{a:"bumpe",b:"≏"},{a:"Bumpeq",b:"≎"},{a:"bumpeq",b:"≏"},{a:"Cacute",b:"Ć"},{a:"cacute",b:"ć"},{a:"capand",b:"⩄"},{a:"capbrcup",b:"⩉"},{a:"capcap",b:"⩋"},{a:"cap",b:"∩"},{a:"Cap",b:"⋒"},{a:"capcup",b:"⩇"},{a:"capdot",b:"⩀"},{a:"CapitalDifferentialD",b:"ⅅ"},{a:"caps",b:"∩︀"},{a:"caret",b:"⁁"},{a:"caron",b:"ˇ"},{a:"Cayleys",b:"ℭ"},{a:"ccaps",b:"⩍"},{a:"Ccaron",b:"Č"},{a:"ccaron",b:"č"},{a:"Ccedil",b:"Ç"},{a:"ccedil",b:"ç"},{a:"Ccirc",b:"Ĉ"},{a:"ccirc",b:"ĉ"},{a:"Cconint",b:"∰"},{a:"ccups",b:"⩌"},{a:"ccupssm",b:"⩐"},{a:"Cdot",b:"Ċ"},{a:"cdot",b:"ċ"},{a:"cedil",b:"¸"},{a:"Cedilla",b:"¸"},{a:"cemptyv",b:"⦲"},{a:"cent",b:"¢"},{a:"centerdot",b:"·"},{a:"CenterDot",b:"·"},{a:"cfr",b:"𝔠"},{a:"Cfr",b:"ℭ"},{a:"CHcy",b:"Ч"},{a:"chcy",b:"ч"},{a:"check",b:"✓"},{a:"checkmark",b:"✓"},{a:"Chi",b:"Χ"},{a:"chi",b:"χ"},{a:"circ",b:"ˆ"},{a:"circeq",b:"≗"},{a:"circlearrowleft",b:"↺"},{a:"circlearrowright",b:"↻"},{a:"circledast",b:"⊛"},{a:"circledcirc",b:"⊚"},{a:"circleddash",b:"⊝"},{a:"CircleDot",b:"⊙"},{a:"circledR",b:"®"},{a:"circledS",b:"Ⓢ"},{a:"CircleMinus",b:"⊖"},{a:"CirclePlus",b:"⊕"},{a:"CircleTimes",b:"⊗"},{a:"cir",b:"○"},{a:"cirE",b:"⧃"},{a:"cire",b:"≗"},{a:"cirfnint",b:"⨐"},{a:"cirmid",b:"⫯"},{a:"cirscir",b:"⧂"},{a:"ClockwiseContourIntegral",b:"∲"},{a:"CloseCurlyDoubleQuote",b:"”"},{a:"CloseCurlyQuote",b:"’"},{a:"clubs",b:"♣"},{a:"clubsuit",b:"♣"},{a:"colon",b:":"},{a:"Colon",b:"∷"},{a:"Colone",b:"⩴"},{a:"colone",b:"≔"},{a:"coloneq",b:"≔"},{a:"comma",b:","},{a:"commat",b:"@"},{a:"comp",b:"∁"},{a:"compfn",b:"∘"},{a:"complement",b:"∁"},{a:"complexes",b:"ℂ"},{a:"cong",b:"≅"},{a:"congdot",b:"⩭"},{a:"Congruent",b:"≡"},{a:"conint",b:"∮"},{a:"Conint",b:"∯"},{a:"ContourIntegral",b:"∮"},{a:"copf",b:"𝕔"},{a:"Copf",b:"ℂ"},{a:"coprod",b:"∐"},{a:"Coproduct",b:"∐"},{a:"copy",b:"©"},{a:"COPY",b:"©"},{a:"copysr",b:"℗"},{a:"CounterClockwiseContourIntegral",b:"∳"},{a:"crarr",b:"↵"},{a:"cross",b:"✗"},{a:"Cross",b:"⨯"},{a:"Cscr",b:"𝒞"},{a:"cscr",b:"𝒸"},{a:"csub",b:"⫏"},{a:"csube",b:"⫑"},{a:"csup",b:"⫐"},{a:"csupe",b:"⫒"},{a:"ctdot",b:"⋯"},{a:"cudarrl",b:"⤸"},{a:"cudarrr",b:"⤵"},{a:"cuepr",b:"⋞"},{a:"cuesc",b:"⋟"},{a:"cularr",b:"↶"},{a:"cularrp",b:"⤽"},{a:"cupbrcap",b:"⩈"},{a:"cupcap",b:"⩆"},{a:"CupCap",b:"≍"},{a:"cup",b:"∪"},{a:"Cup",b:"⋓"},{a:"cupcup",b:"⩊"},{a:"cupdot",b:"⊍"},{a:"cupor",b:"⩅"},{a:"cups",b:"∪︀"},{a:"curarr",b:"↷"},{a:"curarrm",b:"⤼"},{a:"curlyeqprec",b:"⋞"},{a:"curlyeqsucc",b:"⋟"},{a:"curlyvee",b:"⋎"},{a:"curlywedge",b:"⋏"},{a:"curren",b:"¤"},{a:"curvearrowleft",b:"↶"},{a:"curvearrowright",b:"↷"},{a:"cuvee",b:"⋎"},{a:"cuwed",b:"⋏"},{a:"cwconint",b:"∲"},{a:"cwint",b:"∱"},{a:"cylcty",b:"⌭"},{a:"dagger",b:"†"},{a:"Dagger",b:"‡"},{a:"daleth",b:"ℸ"},{a:"darr",b:"↓"},{a:"Darr",b:"↡"},{a:"dArr",b:"⇓"},{a:"dash",b:"‐"},{a:"Dashv",b:"⫤"},{a:"dashv",b:"⊣"},{a:"dbkarow",b:"⤏"},{a:"dblac",b:"˝"},{a:"Dcaron",b:"Ď"},{a:"dcaron",b:"ď"},{a:"Dcy",b:"Д"},{a:"dcy",b:"д"},{a:"ddagger",b:"‡"},{a:"ddarr",b:"⇊"},{a:"DD",b:"ⅅ"},{a:"dd",b:"ⅆ"},{a:"DDotrahd",b:"⤑"},{a:"ddotseq",b:"⩷"},{a:"deg",b:"°"},{a:"Del",b:"∇"},{a:"Delta",b:"Δ"},{a:"delta",b:"δ"},{a:"demptyv",b:"⦱"},{a:"dfisht",b:"⥿"},{a:"Dfr",b:"𝔇"},{a:"dfr",b:"𝔡"},{a:"dHar",b:"⥥"},{a:"dharl",b:"⇃"},{a:"dharr",b:"⇂"},{a:"DiacriticalAcute",b:"´"},{a:"DiacriticalDot",b:"˙"},{a:"DiacriticalDoubleAcute",b:"˝"},{a:"DiacriticalGrave",b:"`"},{a:"DiacriticalTilde",b:"˜"},{a:"diam",b:"⋄"},{a:"diamond",b:"⋄"},{a:"Diamond",b:"⋄"},{a:"diamondsuit",b:"♦"},{a:"diams",b:"♦"},{a:"die",b:"¨"},{a:"DifferentialD",b:"ⅆ"},{a:"digamma",b:"ϝ"},{a:"disin",b:"⋲"},{a:"div",b:"÷"},{a:"divide",b:"÷"},{a:"divideontimes",b:"⋇"},{a:"divonx",b:"⋇"},{a:"DJcy",b:"Ђ"},{a:"djcy",b:"ђ"},{a:"dlcorn",b:"⌞"},{a:"dlcrop",b:"⌍"},{a:"dollar",b:"$"},{a:"Dopf",b:"𝔻"},{a:"dopf",b:"𝕕"},{a:"Dot",b:"¨"},{a:"dot",b:"˙"},{a:"DotDot",b:"⃜"},{a:"doteq",b:"≐"},{a:"doteqdot",b:"≑"},{a:"DotEqual",b:"≐"},{a:"dotminus",b:"∸"},{a:"dotplus",b:"∔"},{a:"dotsquare",b:"⊡"},{a:"doublebarwedge",b:"⌆"},{a:"DoubleContourIntegral",b:"∯"},{a:"DoubleDot",b:"¨"},{a:"DoubleDownArrow",b:"⇓"},{a:"DoubleLeftArrow",b:"⇐"},{a:"DoubleLeftRightArrow",b:"⇔"},{a:"DoubleLeftTee",b:"⫤"},{a:"DoubleLongLeftArrow",b:"⟸"},{a:"DoubleLongLeftRightArrow",b:"⟺"},{a:"DoubleLongRightArrow",b:"⟹"},{a:"DoubleRightArrow",b:"⇒"},{a:"DoubleRightTee",b:"⊨"},{a:"DoubleUpArrow",b:"⇑"},{a:"DoubleUpDownArrow",b:"⇕"},{a:"DoubleVerticalBar",b:"∥"},{a:"DownArrowBar",b:"⤓"},{a:"downarrow",b:"↓"},{a:"DownArrow",b:"↓"},{a:"Downarrow",b:"⇓"},{a:"DownArrowUpArrow",b:"⇵"},{a:"DownBreve",b:"̑"},{a:"downdownarrows",b:"⇊"},{a:"downharpoonleft",b:"⇃"},{a:"downharpoonright",b:"⇂"},{a:"DownLeftRightVector",b:"⥐"},{a:"DownLeftTeeVector",b:"⥞"},{a:"DownLeftVectorBar",b:"⥖"},{a:"DownLeftVector",b:"↽"},{a:"DownRightTeeVector",b:"⥟"},{a:"DownRightVectorBar",b:"⥗"},{a:"DownRightVector",b:"⇁"},{a:"DownTeeArrow",b:"↧"},{a:"DownTee",b:"⊤"},{a:"drbkarow",b:"⤐"},{a:"drcorn",b:"⌟"},{a:"drcrop",b:"⌌"},{a:"Dscr",b:"𝒟"},{a:"dscr",b:"𝒹"},{a:"DScy",b:"Ѕ"},{a:"dscy",b:"ѕ"},{a:"dsol",b:"⧶"},{a:"Dstrok",b:"Đ"},{a:"dstrok",b:"đ"},{a:"dtdot",b:"⋱"},{a:"dtri",b:"▿"},{a:"dtrif",b:"▾"},{a:"duarr",b:"⇵"},{a:"duhar",b:"⥯"},{a:"dwangle",b:"⦦"},{a:"DZcy",b:"Џ"},{a:"dzcy",b:"џ"},{a:"dzigrarr",b:"⟿"},{a:"Eacute",b:"É"},{a:"eacute",b:"é"},{a:"easter",b:"⩮"},{a:"Ecaron",b:"Ě"},{a:"ecaron",b:"ě"},{a:"Ecirc",b:"Ê"},{a:"ecirc",b:"ê"},{a:"ecir",b:"≖"},{a:"ecolon",b:"≕"},{a:"Ecy",b:"Э"},{a:"ecy",b:"э"},{a:"eDDot",b:"⩷"},{a:"Edot",b:"Ė"},{a:"edot",b:"ė"},{a:"eDot",b:"≑"},{a:"ee",b:"ⅇ"},{a:"efDot",b:"≒"},{a:"Efr",b:"𝔈"},{a:"efr",b:"𝔢"},{a:"eg",b:"⪚"},{a:"Egrave",b:"È"},{a:"egrave",b:"è"},{a:"egs",b:"⪖"},{a:"egsdot",b:"⪘"},{a:"el",b:"⪙"},{a:"Element",b:"∈"},{a:"elinters",b:"⏧"},{a:"ell",b:"ℓ"},{a:"els",b:"⪕"},{a:"elsdot",b:"⪗"},{a:"Emacr",b:"Ē"},{a:"emacr",b:"ē"},{a:"empty",b:"∅"},{a:"emptyset",b:"∅"},{a:"EmptySmallSquare",b:"◻"},{a:"emptyv",b:"∅"},{a:"EmptyVerySmallSquare",b:"▫"},{a:"emsp13",b:" "},{a:"emsp14",b:" "},{a:"emsp",b:" "},{a:"ENG",b:"Ŋ"},{a:"eng",b:"ŋ"},{a:"ensp",b:" "},{a:"Eogon",b:"Ę"},{a:"eogon",b:"ę"},{a:"Eopf",b:"𝔼"},{a:"eopf",b:"𝕖"},{a:"epar",b:"⋕"},{a:"eparsl",b:"⧣"},{a:"eplus",b:"⩱"},{a:"epsi",b:"ε"},{a:"Epsilon",b:"Ε"},{a:"epsilon",b:"ε"},{a:"epsiv",b:"ϵ"},{a:"eqcirc",b:"≖"},{a:"eqcolon",b:"≕"},{a:"eqsim",b:"≂"},{a:"eqslantgtr",b:"⪖"},{a:"eqslantless",b:"⪕"},{a:"Equal",b:"⩵"},{a:"equals",b:"="},{a:"EqualTilde",b:"≂"},{a:"equest",b:"≟"},{a:"Equilibrium",b:"⇌"},{a:"equiv",b:"≡"},{a:"equivDD",b:"⩸"},{a:"eqvparsl",b:"⧥"},{a:"erarr",b:"⥱"},{a:"erDot",b:"≓"},{a:"escr",b:"ℯ"},{a:"Escr",b:"ℰ"},{a:"esdot",b:"≐"},{a:"Esim",b:"⩳"},{a:"esim",b:"≂"},{a:"Eta",b:"Η"},{a:"eta",b:"η"},{a:"ETH",b:"Ð"},{a:"eth",b:"ð"},{a:"Euml",b:"Ë"},{a:"euml",b:"ë"},{a:"euro",b:"€"},{a:"excl",b:"!"},{a:"exist",b:"∃"},{a:"Exists",b:"∃"},{a:"expectation",b:"ℰ"},{a:"exponentiale",b:"ⅇ"},{a:"ExponentialE",b:"ⅇ"},{a:"fallingdotseq",b:"≒"},{a:"Fcy",b:"Ф"},{a:"fcy",b:"ф"},{a:"female",b:"♀"},{a:"ffilig",b:"ffi"},{a:"fflig",b:"ff"},{a:"ffllig",b:"ffl"},{a:"Ffr",b:"𝔉"},{a:"ffr",b:"𝔣"},{a:"filig",b:"fi"},{a:"FilledSmallSquare",b:"◼"},{a:"FilledVerySmallSquare",b:"▪"},{a:"fjlig",b:"fj"},{a:"flat",b:"♭"},{a:"fllig",b:"fl"},{a:"fltns",b:"▱"},{a:"fnof",b:"ƒ"},{a:"Fopf",b:"𝔽"},{a:"fopf",b:"𝕗"},{a:"forall",b:"∀"},{a:"ForAll",b:"∀"},{a:"fork",b:"⋔"},{a:"forkv",b:"⫙"},{a:"Fouriertrf",b:"ℱ"},{a:"fpartint",b:"⨍"},{a:"frac12",b:"½"},{a:"frac13",b:"⅓"},{a:"frac14",b:"¼"},{a:"frac15",b:"⅕"},{a:"frac16",b:"⅙"},{a:"frac18",b:"⅛"},{a:"frac23",b:"⅔"},{a:"frac25",b:"⅖"},{a:"frac34",b:"¾"},{a:"frac35",b:"⅗"},{a:"frac38",b:"⅜"},{a:"frac45",b:"⅘"},{a:"frac56",b:"⅚"},{a:"frac58",b:"⅝"},{a:"frac78",b:"⅞"},{a:"frasl",b:"⁄"},{a:"frown",b:"⌢"},{a:"fscr",b:"𝒻"},{a:"Fscr",b:"ℱ"},{a:"gacute",b:"ǵ"},{a:"Gamma",b:"Γ"},{a:"gamma",b:"γ"},{a:"Gammad",b:"Ϝ"},{a:"gammad",b:"ϝ"},{a:"gap",b:"⪆"},{a:"Gbreve",b:"Ğ"},{a:"gbreve",b:"ğ"},{a:"Gcedil",b:"Ģ"},{a:"Gcirc",b:"Ĝ"},{a:"gcirc",b:"ĝ"},{a:"Gcy",b:"Г"},{a:"gcy",b:"г"},{a:"Gdot",b:"Ġ"},{a:"gdot",b:"ġ"},{a:"ge",b:"≥"},{a:"gE",b:"≧"},{a:"gEl",b:"⪌"},{a:"gel",b:"⋛"},{a:"geq",b:"≥"},{a:"geqq",b:"≧"},{a:"geqslant",b:"⩾"},{a:"gescc",b:"⪩"},{a:"ges",b:"⩾"},{a:"gesdot",b:"⪀"},{a:"gesdoto",b:"⪂"},{a:"gesdotol",b:"⪄"},{a:"gesl",b:"⋛︀"},{a:"gesles",b:"⪔"},{a:"Gfr",b:"𝔊"},{a:"gfr",b:"𝔤"},{a:"gg",b:"≫"},{a:"Gg",b:"⋙"},{a:"ggg",b:"⋙"},{a:"gimel",b:"ℷ"},{a:"GJcy",b:"Ѓ"},{a:"gjcy",b:"ѓ"},{a:"gla",b:"⪥"},{a:"gl",b:"≷"},{a:"glE",b:"⪒"},{a:"glj",b:"⪤"},{a:"gnap",b:"⪊"},{a:"gnapprox",b:"⪊"},{a:"gne",b:"⪈"},{a:"gnE",b:"≩"},{a:"gneq",b:"⪈"},{a:"gneqq",b:"≩"},{a:"gnsim",b:"⋧"},{a:"Gopf",b:"𝔾"},{a:"gopf",b:"𝕘"},{a:"grave",b:"`"},{a:"GreaterEqual",b:"≥"},{a:"GreaterEqualLess",b:"⋛"},{a:"GreaterFullEqual",b:"≧"},{a:"GreaterGreater",b:"⪢"},{a:"GreaterLess",b:"≷"},{a:"GreaterSlantEqual",b:"⩾"},{a:"GreaterTilde",b:"≳"},{a:"Gscr",b:"𝒢"},{a:"gscr",b:"ℊ"},{a:"gsim",b:"≳"},{a:"gsime",b:"⪎"},{a:"gsiml",b:"⪐"},{a:"gtcc",b:"⪧"},{a:"gtcir",b:"⩺"},{a:"gt",b:">"},{a:"GT",b:">"},{a:"Gt",b:"≫"},{a:"gtdot",b:"⋗"},{a:"gtlPar",b:"⦕"},{a:"gtquest",b:"⩼"},{a:"gtrapprox",b:"⪆"},{a:"gtrarr",b:"⥸"},{a:"gtrdot",b:"⋗"},{a:"gtreqless",b:"⋛"},{a:"gtreqqless",b:"⪌"},{a:"gtrless",b:"≷"},{a:"gtrsim",b:"≳"},{a:"gvertneqq",b:"≩︀"},{a:"gvnE",b:"≩︀"},{a:"Hacek",b:"ˇ"},{a:"hairsp",b:" "},{a:"half",b:"½"},{a:"hamilt",b:"ℋ"},{a:"HARDcy",b:"Ъ"},{a:"hardcy",b:"ъ"},{a:"harrcir",b:"⥈"},{a:"harr",b:"↔"},{a:"hArr",b:"⇔"},{a:"harrw",b:"↭"},{a:"Hat",b:"^"},{a:"hbar",b:"ℏ"},{a:"Hcirc",b:"Ĥ"},{a:"hcirc",b:"ĥ"},{a:"hearts",b:"♥"},{a:"heartsuit",b:"♥"},{a:"hellip",b:"…"},{a:"hercon",b:"⊹"},{a:"hfr",b:"𝔥"},{a:"Hfr",b:"ℌ"},{a:"HilbertSpace",b:"ℋ"},{a:"hksearow",b:"⤥"},{a:"hkswarow",b:"⤦"},{a:"hoarr",b:"⇿"},{a:"homtht",b:"∻"},{a:"hookleftarrow",b:"↩"},{a:"hookrightarrow",b:"↪"},{a:"hopf",b:"𝕙"},{a:"Hopf",b:"ℍ"},{a:"horbar",b:"―"},{a:"HorizontalLine",b:"─"},{a:"hscr",b:"𝒽"},{a:"Hscr",b:"ℋ"},{a:"hslash",b:"ℏ"},{a:"Hstrok",b:"Ħ"},{a:"hstrok",b:"ħ"},{a:"HumpDownHump",b:"≎"},{a:"HumpEqual",b:"≏"},{a:"hybull",b:"⁃"},{a:"hyphen",b:"‐"},{a:"Iacute",b:"Í"},{a:"iacute",b:"í"},{a:"ic",b:"⁣"},{a:"Icirc",b:"Î"},{a:"icirc",b:"î"},{a:"Icy",b:"И"},{a:"icy",b:"и"},{a:"Idot",b:"İ"},{a:"IEcy",b:"Е"},{a:"iecy",b:"е"},{a:"iexcl",b:"¡"},{a:"iff",b:"⇔"},{a:"ifr",b:"𝔦"},{a:"Ifr",b:"ℑ"},{a:"Igrave",b:"Ì"},{a:"igrave",b:"ì"},{a:"ii",b:"ⅈ"},{a:"iiiint",b:"⨌"},{a:"iiint",b:"∭"},{a:"iinfin",b:"⧜"},{a:"iiota",b:"℩"},{a:"IJlig",b:"IJ"},{a:"ijlig",b:"ij"},{a:"Imacr",b:"Ī"},{a:"imacr",b:"ī"},{a:"image",b:"ℑ"},{a:"ImaginaryI",b:"ⅈ"},{a:"imagline",b:"ℐ"},{a:"imagpart",b:"ℑ"},{a:"imath",b:"ı"},{a:"Im",b:"ℑ"},{a:"imof",b:"⊷"},{a:"imped",b:"Ƶ"},{a:"Implies",b:"⇒"},{a:"incare",b:"℅"},{a:"in",b:"∈"},{a:"infin",b:"∞"},{a:"infintie",b:"⧝"},{a:"inodot",b:"ı"},{a:"intcal",b:"⊺"},{a:"int",b:"∫"},{a:"Int",b:"∬"},{a:"integers",b:"ℤ"},{a:"Integral",b:"∫"},{a:"intercal",b:"⊺"},{a:"Intersection",b:"⋂"},{a:"intlarhk",b:"⨗"},{a:"intprod",b:"⨼"},{a:"InvisibleComma",b:"⁣"},{a:"InvisibleTimes",b:"⁢"},{a:"IOcy",b:"Ё"},{a:"iocy",b:"ё"},{a:"Iogon",b:"Į"},{a:"iogon",b:"į"},{a:"Iopf",b:"𝕀"},{a:"iopf",b:"𝕚"},{a:"Iota",b:"Ι"},{a:"iota",b:"ι"},{a:"iprod",b:"⨼"},{a:"iquest",b:"¿"},{a:"iscr",b:"𝒾"},{a:"Iscr",b:"ℐ"},{a:"isin",b:"∈"},{a:"isindot",b:"⋵"},{a:"isinE",b:"⋹"},{a:"isins",b:"⋴"},{a:"isinsv",b:"⋳"},{a:"isinv",b:"∈"},{a:"it",b:"⁢"},{a:"Itilde",b:"Ĩ"},{a:"itilde",b:"ĩ"},{a:"Iukcy",b:"І"},{a:"iukcy",b:"і"},{a:"Iuml",b:"Ï"},{a:"iuml",b:"ï"},{a:"Jcirc",b:"Ĵ"},{a:"jcirc",b:"ĵ"},{a:"Jcy",b:"Й"},{a:"jcy",b:"й"},{a:"Jfr",b:"𝔍"},{a:"jfr",b:"𝔧"},{a:"jmath",b:"ȷ"},{a:"Jopf",b:"𝕁"},{a:"jopf",b:"𝕛"},{a:"Jscr",b:"𝒥"},{a:"jscr",b:"𝒿"},{a:"Jsercy",b:"Ј"},{a:"jsercy",b:"ј"},{a:"Jukcy",b:"Є"},{a:"jukcy",b:"є"},{a:"Kappa",b:"Κ"},{a:"kappa",b:"κ"},{a:"kappav",b:"ϰ"},{a:"Kcedil",b:"Ķ"},{a:"kcedil",b:"ķ"},{a:"Kcy",b:"К"},{a:"kcy",b:"к"},{a:"Kfr",b:"𝔎"},{a:"kfr",b:"𝔨"},{a:"kgreen",b:"ĸ"},{a:"KHcy",b:"Х"},{a:"khcy",b:"х"},{a:"KJcy",b:"Ќ"},{a:"kjcy",b:"ќ"},{a:"Kopf",b:"𝕂"},{a:"kopf",b:"𝕜"},{a:"Kscr",b:"𝒦"},{a:"kscr",b:"𝓀"},{a:"lAarr",b:"⇚"},{a:"Lacute",b:"Ĺ"},{a:"lacute",b:"ĺ"},{a:"laemptyv",b:"⦴"},{a:"lagran",b:"ℒ"},{a:"Lambda",b:"Λ"},{a:"lambda",b:"λ"},{a:"lang",b:"⟨"},{a:"Lang",b:"⟪"},{a:"langd",b:"⦑"},{a:"langle",b:"⟨"},{a:"lap",b:"⪅"},{a:"Laplacetrf",b:"ℒ"},{a:"laquo",b:"«"},{a:"larrb",b:"⇤"},{a:"larrbfs",b:"⤟"},{a:"larr",b:"←"},{a:"Larr",b:"↞"},{a:"lArr",b:"⇐"},{a:"larrfs",b:"⤝"},{a:"larrhk",b:"↩"},{a:"larrlp",b:"↫"},{a:"larrpl",b:"⤹"},{a:"larrsim",b:"⥳"},{a:"larrtl",b:"↢"},{a:"latail",b:"⤙"},{a:"lAtail",b:"⤛"},{a:"lat",b:"⪫"},{a:"late",b:"⪭"},{a:"lates",b:"⪭︀"},{a:"lbarr",b:"⤌"},{a:"lBarr",b:"⤎"},{a:"lbbrk",b:"❲"},{a:"lbrace",b:"{"},{a:"lbrack",b:"["},{a:"lbrke",b:"⦋"},{a:"lbrksld",b:"⦏"},{a:"lbrkslu",b:"⦍"},{a:"Lcaron",b:"Ľ"},{a:"lcaron",b:"ľ"},{a:"Lcedil",b:"Ļ"},{a:"lcedil",b:"ļ"},{a:"lceil",b:"⌈"},{a:"lcub",b:"{"},{a:"Lcy",b:"Л"},{a:"lcy",b:"л"},{a:"ldca",b:"⤶"},{a:"ldquo",b:"“"},{a:"ldquor",b:"„"},{a:"ldrdhar",b:"⥧"},{a:"ldrushar",b:"⥋"},{a:"ldsh",b:"↲"},{a:"le",b:"≤"},{a:"lE",b:"≦"},{a:"LeftAngleBracket",b:"⟨"},{a:"LeftArrowBar",b:"⇤"},{a:"leftarrow",b:"←"},{a:"LeftArrow",b:"←"},{a:"Leftarrow",b:"⇐"},{a:"LeftArrowRightArrow",b:"⇆"},{a:"leftarrowtail",b:"↢"},{a:"LeftCeiling",b:"⌈"},{a:"LeftDoubleBracket",b:"⟦"},{a:"LeftDownTeeVector",b:"⥡"},{a:"LeftDownVectorBar",b:"⥙"},{a:"LeftDownVector",b:"⇃"},{a:"LeftFloor",b:"⌊"},{a:"leftharpoondown",b:"↽"},{a:"leftharpoonup",b:"↼"},{a:"leftleftarrows",b:"⇇"},{a:"leftrightarrow",b:"↔"},{a:"LeftRightArrow",b:"↔"},{a:"Leftrightarrow",b:"⇔"},{a:"leftrightarrows",b:"⇆"},{a:"leftrightharpoons",b:"⇋"},{a:"leftrightsquigarrow",b:"↭"},{a:"LeftRightVector",b:"⥎"},{a:"LeftTeeArrow",b:"↤"},{a:"LeftTee",b:"⊣"},{a:"LeftTeeVector",b:"⥚"},{a:"leftthreetimes",b:"⋋"},{a:"LeftTriangleBar",b:"⧏"},{a:"LeftTriangle",b:"⊲"},{a:"LeftTriangleEqual",b:"⊴"},{a:"LeftUpDownVector",b:"⥑"},{a:"LeftUpTeeVector",b:"⥠"},{a:"LeftUpVectorBar",b:"⥘"},{a:"LeftUpVector",b:"↿"},{a:"LeftVectorBar",b:"⥒"},{a:"LeftVector",b:"↼"},{a:"lEg",b:"⪋"},{a:"leg",b:"⋚"},{a:"leq",b:"≤"},{a:"leqq",b:"≦"},{a:"leqslant",b:"⩽"},{a:"lescc",b:"⪨"},{a:"les",b:"⩽"},{a:"lesdot",b:"⩿"},{a:"lesdoto",b:"⪁"},{a:"lesdotor",b:"⪃"},{a:"lesg",b:"⋚︀"},{a:"lesges",b:"⪓"},{a:"lessapprox",b:"⪅"},{a:"lessdot",b:"⋖"},{a:"lesseqgtr",b:"⋚"},{a:"lesseqqgtr",b:"⪋"},{a:"LessEqualGreater",b:"⋚"},{a:"LessFullEqual",b:"≦"},{a:"LessGreater",b:"≶"},{a:"lessgtr",b:"≶"},{a:"LessLess",b:"⪡"},{a:"lesssim",b:"≲"},{a:"LessSlantEqual",b:"⩽"},{a:"LessTilde",b:"≲"},{a:"lfisht",b:"⥼"},{a:"lfloor",b:"⌊"},{a:"Lfr",b:"𝔏"},{a:"lfr",b:"𝔩"},{a:"lg",b:"≶"},{a:"lgE",b:"⪑"},{a:"lHar",b:"⥢"},{a:"lhard",b:"↽"},{a:"lharu",b:"↼"},{a:"lharul",b:"⥪"},{a:"lhblk",b:"▄"},{a:"LJcy",b:"Љ"},{a:"ljcy",b:"љ"},{a:"llarr",b:"⇇"},{a:"ll",b:"≪"},{a:"Ll",b:"⋘"},{a:"llcorner",b:"⌞"},{a:"Lleftarrow",b:"⇚"},{a:"llhard",b:"⥫"},{a:"lltri",b:"◺"},{a:"Lmidot",b:"Ŀ"},{a:"lmidot",b:"ŀ"},{a:"lmoustache",b:"⎰"},{a:"lmoust",b:"⎰"},{a:"lnap",b:"⪉"},{a:"lnapprox",b:"⪉"},{a:"lne",b:"⪇"},{a:"lnE",b:"≨"},{a:"lneq",b:"⪇"},{a:"lneqq",b:"≨"},{a:"lnsim",b:"⋦"},{a:"loang",b:"⟬"},{a:"loarr",b:"⇽"},{a:"lobrk",b:"⟦"},{a:"longleftarrow",b:"⟵"},{a:"LongLeftArrow",b:"⟵"},{a:"Longleftarrow",b:"⟸"},{a:"longleftrightarrow",b:"⟷"},{a:"LongLeftRightArrow",b:"⟷"},{a:"Longleftrightarrow",b:"⟺"},{a:"longmapsto",b:"⟼"},{a:"longrightarrow",b:"⟶"},{a:"LongRightArrow",b:"⟶"},{a:"Longrightarrow",b:"⟹"},{a:"looparrowleft",b:"↫"},{a:"looparrowright",b:"↬"},{a:"lopar",b:"⦅"},{a:"Lopf",b:"𝕃"},{a:"lopf",b:"𝕝"},{a:"loplus",b:"⨭"},{a:"lotimes",b:"⨴"},{a:"lowast",b:"∗"},{a:"lowbar",b:"_"},{a:"LowerLeftArrow",b:"↙"},{a:"LowerRightArrow",b:"↘"},{a:"loz",b:"◊"},{a:"lozenge",b:"◊"},{a:"lozf",b:"⧫"},{a:"lpar",b:"("},{a:"lparlt",b:"⦓"},{a:"lrarr",b:"⇆"},{a:"lrcorner",b:"⌟"},{a:"lrhar",b:"⇋"},{a:"lrhard",b:"⥭"},{a:"lrm",b:"‎"},{a:"lrtri",b:"⊿"},{a:"lsaquo",b:"‹"},{a:"lscr",b:"𝓁"},{a:"Lscr",b:"ℒ"},{a:"lsh",b:"↰"},{a:"Lsh",b:"↰"},{a:"lsim",b:"≲"},{a:"lsime",b:"⪍"},{a:"lsimg",b:"⪏"},{a:"lsqb",b:"["},{a:"lsquo",b:"‘"},{a:"lsquor",b:"‚"},{a:"Lstrok",b:"Ł"},{a:"lstrok",b:"ł"},{a:"ltcc",b:"⪦"},{a:"ltcir",b:"⩹"},{a:"lt",b:"<"},{a:"LT",b:"<"},{a:"Lt",b:"≪"},{a:"ltdot",b:"⋖"},{a:"lthree",b:"⋋"},{a:"ltimes",b:"⋉"},{a:"ltlarr",b:"⥶"},{a:"ltquest",b:"⩻"},{a:"ltri",b:"◃"},{a:"ltrie",b:"⊴"},{a:"ltrif",b:"◂"},{a:"ltrPar",b:"⦖"},{a:"lurdshar",b:"⥊"},{a:"luruhar",b:"⥦"},{a:"lvertneqq",b:"≨︀"},{a:"lvnE",b:"≨︀"},{a:"macr",b:"¯"},{a:"male",b:"♂"},{a:"malt",b:"✠"},{a:"maltese",b:"✠"},{a:"Map",b:"⤅"},{a:"map",b:"↦"},{a:"mapsto",b:"↦"},{a:"mapstodown",b:"↧"},{a:"mapstoleft",b:"↤"},{a:"mapstoup",b:"↥"},{a:"marker",b:"▮"},{a:"mcomma",b:"⨩"},{a:"Mcy",b:"М"},{a:"mcy",b:"м"},{a:"mdash",b:"—"},{a:"mDDot",b:"∺"},{a:"measuredangle",b:"∡"},{a:"MediumSpace",b:" "},{a:"Mellintrf",b:"ℳ"},{a:"Mfr",b:"𝔐"},{a:"mfr",b:"𝔪"},{a:"mho",b:"℧"},{a:"micro",b:"µ"},{a:"midast",b:"*"},{a:"midcir",b:"⫰"},{a:"mid",b:"∣"},{a:"middot",b:"·"},{a:"minusb",b:"⊟"},{a:"minus",b:"−"},{a:"minusd",b:"∸"},{a:"minusdu",b:"⨪"},{a:"MinusPlus",b:"∓"},{a:"mlcp",b:"⫛"},{a:"mldr",b:"…"},{a:"mnplus",b:"∓"},{a:"models",b:"⊧"},{a:"Mopf",b:"𝕄"},{a:"mopf",b:"𝕞"},{a:"mp",b:"∓"},{a:"mscr",b:"𝓂"},{a:"Mscr",b:"ℳ"},{a:"mstpos",b:"∾"},{a:"Mu",b:"Μ"},{a:"mu",b:"μ"},{a:"multimap",b:"⊸"},{a:"mumap",b:"⊸"},{a:"nabla",b:"∇"},{a:"Nacute",b:"Ń"},{a:"nacute",b:"ń"},{a:"nang",b:"∠⃒"},{a:"nap",b:"≉"},{a:"napE",b:"⩰̸"},{a:"napid",b:"≋̸"},{a:"napos",b:"ʼn"},{a:"napprox",b:"≉"},{a:"natural",b:"♮"},{a:"naturals",b:"ℕ"},{a:"natur",b:"♮"},{a:"nbsp",b:" "},{a:"nbump",b:"≎̸"},{a:"nbumpe",b:"≏̸"},{a:"ncap",b:"⩃"},{a:"Ncaron",b:"Ň"},{a:"ncaron",b:"ň"},{a:"Ncedil",b:"Ņ"},{a:"ncedil",b:"ņ"},{a:"ncong",b:"≇"},{a:"ncongdot",b:"⩭̸"},{a:"ncup",b:"⩂"},{a:"Ncy",b:"Н"},{a:"ncy",b:"н"},{a:"ndash",b:"–"},{a:"nearhk",b:"⤤"},{a:"nearr",b:"↗"},{a:"neArr",b:"⇗"},{a:"nearrow",b:"↗"},{a:"ne",b:"≠"},{a:"nedot",b:"≐̸"},{a:"NegativeMediumSpace",b:"​"},{a:"NegativeThickSpace",b:"​"},{a:"NegativeThinSpace",b:"​"},{a:"NegativeVeryThinSpace",b:"​"},{a:"nequiv",b:"≢"},{a:"nesear",b:"⤨"},{a:"nesim",b:"≂̸"},{a:"NestedGreaterGreater",b:"≫"},{a:"NestedLessLess",b:"≪"},{a:"NewLine",b:"\n"},{a:"nexist",b:"∄"},{a:"nexists",b:"∄"},{a:"Nfr",b:"𝔑"},{a:"nfr",b:"𝔫"},{a:"ngE",b:"≧̸"},{a:"nge",b:"≱"},{a:"ngeq",b:"≱"},{a:"ngeqq",b:"≧̸"},{a:"ngeqslant",b:"⩾̸"},{a:"nges",b:"⩾̸"},{a:"nGg",b:"⋙̸"},{a:"ngsim",b:"≵"},{a:"nGt",b:"≫⃒"},{a:"ngt",b:"≯"},{a:"ngtr",b:"≯"},{a:"nGtv",b:"≫̸"},{a:"nharr",b:"↮"},{a:"nhArr",b:"⇎"},{a:"nhpar",b:"⫲"},{a:"ni",b:"∋"},{a:"nis",b:"⋼"},{a:"nisd",b:"⋺"},{a:"niv",b:"∋"},{a:"NJcy",b:"Њ"},{a:"njcy",b:"њ"},{a:"nlarr",b:"↚"},{a:"nlArr",b:"⇍"},{a:"nldr",b:"‥"},{a:"nlE",b:"≦̸"},{a:"nle",b:"≰"},{a:"nleftarrow",b:"↚"},{a:"nLeftarrow",b:"⇍"},{a:"nleftrightarrow",b:"↮"},{a:"nLeftrightarrow",b:"⇎"},{a:"nleq",b:"≰"},{a:"nleqq",b:"≦̸"},{a:"nleqslant",b:"⩽̸"},{a:"nles",b:"⩽̸"},{a:"nless",b:"≮"},{a:"nLl",b:"⋘̸"},{a:"nlsim",b:"≴"},{a:"nLt",b:"≪⃒"},{a:"nlt",b:"≮"},{a:"nltri",b:"⋪"},{a:"nltrie",b:"⋬"},{a:"nLtv",b:"≪̸"},{a:"nmid",b:"∤"},{a:"NoBreak",b:"⁠"},{a:"NonBreakingSpace",b:" "},{a:"nopf",b:"𝕟"},{a:"Nopf",b:"ℕ"},{a:"Not",b:"⫬"},{a:"not",b:"¬"},{a:"NotCongruent",b:"≢"},{a:"NotCupCap",b:"≭"},{a:"NotDoubleVerticalBar",b:"∦"},{a:"NotElement",b:"∉"},{a:"NotEqual",b:"≠"},{a:"NotEqualTilde",b:"≂̸"},{a:"NotExists",b:"∄"},{a:"NotGreater",b:"≯"},{a:"NotGreaterEqual",b:"≱"},{a:"NotGreaterFullEqual",b:"≧̸"},{a:"NotGreaterGreater",b:"≫̸"},{a:"NotGreaterLess",b:"≹"},{a:"NotGreaterSlantEqual",b:"⩾̸"},{a:"NotGreaterTilde",b:"≵"},{a:"NotHumpDownHump",b:"≎̸"},{a:"NotHumpEqual",b:"≏̸"},{a:"notin",b:"∉"},{a:"notindot",b:"⋵̸"},{a:"notinE",b:"⋹̸"},{a:"notinva",b:"∉"},{a:"notinvb",b:"⋷"},{a:"notinvc",b:"⋶"},{a:"NotLeftTriangleBar",b:"⧏̸"},{a:"NotLeftTriangle",b:"⋪"},{a:"NotLeftTriangleEqual",b:"⋬"},{a:"NotLess",b:"≮"},{a:"NotLessEqual",b:"≰"},{a:"NotLessGreater",b:"≸"},{a:"NotLessLess",b:"≪̸"},{a:"NotLessSlantEqual",b:"⩽̸"},{a:"NotLessTilde",b:"≴"},{a:"NotNestedGreaterGreater",b:"⪢̸"},{a:"NotNestedLessLess",b:"⪡̸"},{a:"notni",b:"∌"},{a:"notniva",b:"∌"},{a:"notnivb",b:"⋾"},{a:"notnivc",b:"⋽"},{a:"NotPrecedes",b:"⊀"},{a:"NotPrecedesEqual",b:"⪯̸"},{a:"NotPrecedesSlantEqual",b:"⋠"},{a:"NotReverseElement",b:"∌"},{a:"NotRightTriangleBar",b:"⧐̸"},{a:"NotRightTriangle",b:"⋫"},{a:"NotRightTriangleEqual",b:"⋭"},{a:"NotSquareSubset",b:"⊏̸"},{a:"NotSquareSubsetEqual",b:"⋢"},{a:"NotSquareSuperset",b:"⊐̸"},{a:"NotSquareSupersetEqual",b:"⋣"},{a:"NotSubset",b:"⊂⃒"},{a:"NotSubsetEqual",b:"⊈"},{a:"NotSucceeds",b:"⊁"},{a:"NotSucceedsEqual",b:"⪰̸"},{a:"NotSucceedsSlantEqual",b:"⋡"},{a:"NotSucceedsTilde",b:"≿̸"},{a:"NotSuperset",b:"⊃⃒"},{a:"NotSupersetEqual",b:"⊉"},{a:"NotTilde",b:"≁"},{a:"NotTildeEqual",b:"≄"},{a:"NotTildeFullEqual",b:"≇"},{a:"NotTildeTilde",b:"≉"},{a:"NotVerticalBar",b:"∤"},{a:"nparallel",b:"∦"},{a:"npar",b:"∦"},{a:"nparsl",b:"⫽⃥"},{a:"npart",b:"∂̸"},{a:"npolint",b:"⨔"},{a:"npr",b:"⊀"},{a:"nprcue",b:"⋠"},{a:"nprec",b:"⊀"},{a:"npreceq",b:"⪯̸"},{a:"npre",b:"⪯̸"},{a:"nrarrc",b:"⤳̸"},{a:"nrarr",b:"↛"},{a:"nrArr",b:"⇏"},{a:"nrarrw",b:"↝̸"},{a:"nrightarrow",b:"↛"},{a:"nRightarrow",b:"⇏"},{a:"nrtri",b:"⋫"},{a:"nrtrie",b:"⋭"},{a:"nsc",b:"⊁"},{a:"nsccue",b:"⋡"},{a:"nsce",b:"⪰̸"},{a:"Nscr",b:"𝒩"},{a:"nscr",b:"𝓃"},{a:"nshortmid",b:"∤"},{a:"nshortparallel",b:"∦"},{a:"nsim",b:"≁"},{a:"nsime",b:"≄"},{a:"nsimeq",b:"≄"},{a:"nsmid",b:"∤"},{a:"nspar",b:"∦"},{a:"nsqsube",b:"⋢"},{a:"nsqsupe",b:"⋣"},{a:"nsub",b:"⊄"},{a:"nsubE",b:"⫅̸"},{a:"nsube",b:"⊈"},{a:"nsubset",b:"⊂⃒"},{a:"nsubseteq",b:"⊈"},{a:"nsubseteqq",b:"⫅̸"},{a:"nsucc",b:"⊁"},{a:"nsucceq",b:"⪰̸"},{a:"nsup",b:"⊅"},{a:"nsupE",b:"⫆̸"},{a:"nsupe",b:"⊉"},{a:"nsupset",b:"⊃⃒"},{a:"nsupseteq",b:"⊉"},{a:"nsupseteqq",b:"⫆̸"},{a:"ntgl",b:"≹"},{a:"Ntilde",b:"Ñ"},{a:"ntilde",b:"ñ"},{a:"ntlg",b:"≸"},{a:"ntriangleleft",b:"⋪"},{a:"ntrianglelefteq",b:"⋬"},{a:"ntriangleright",b:"⋫"},{a:"ntrianglerighteq",b:"⋭"},{a:"Nu",b:"Ν"},{a:"nu",b:"ν"},{a:"num",b:"#"},{a:"numero",b:"№"},{a:"numsp",b:" "},{a:"nvap",b:"≍⃒"},{a:"nvdash",b:"⊬"},{a:"nvDash",b:"⊭"},{a:"nVdash",b:"⊮"},{a:"nVDash",b:"⊯"},{a:"nvge",b:"≥⃒"},{a:"nvgt",b:">⃒"},{a:"nvHarr",b:"⤄"},{a:"nvinfin",b:"⧞"},{a:"nvlArr",b:"⤂"},{a:"nvle",b:"≤⃒"},{a:"nvlt",b:"<⃒"},{a:"nvltrie",b:"⊴⃒"},{a:"nvrArr",b:"⤃"},{a:"nvrtrie",b:"⊵⃒"},{a:"nvsim",b:"∼⃒"},{a:"nwarhk",b:"⤣"},{a:"nwarr",b:"↖"},{a:"nwArr",b:"⇖"},{a:"nwarrow",b:"↖"},{a:"nwnear",b:"⤧"},{a:"Oacute",b:"Ó"},{a:"oacute",b:"ó"},{a:"oast",b:"⊛"},{a:"Ocirc",b:"Ô"},{a:"ocirc",b:"ô"},{a:"ocir",b:"⊚"},{a:"Ocy",b:"О"},{a:"ocy",b:"о"},{a:"odash",b:"⊝"},{a:"Odblac",b:"Ő"},{a:"odblac",b:"ő"},{a:"odiv",b:"⨸"},{a:"odot",b:"⊙"},{a:"odsold",b:"⦼"},{a:"OElig",b:"Œ"},{a:"oelig",b:"œ"},{a:"ofcir",b:"⦿"},{a:"Ofr",b:"𝔒"},{a:"ofr",b:"𝔬"},{a:"ogon",b:"˛"},{a:"Ograve",b:"Ò"},{a:"ograve",b:"ò"},{a:"ogt",b:"⧁"},{a:"ohbar",b:"⦵"},{a:"ohm",b:"Ω"},{a:"oint",b:"∮"},{a:"olarr",b:"↺"},{a:"olcir",b:"⦾"},{a:"olcross",b:"⦻"},{a:"oline",b:"‾"},{a:"olt",b:"⧀"},{a:"Omacr",b:"Ō"},{a:"omacr",b:"ō"},{a:"Omega",b:"Ω"},{a:"omega",b:"ω"},{a:"Omicron",b:"Ο"},{a:"omicron",b:"ο"},{a:"omid",b:"⦶"},{a:"ominus",b:"⊖"},{a:"Oopf",b:"𝕆"},{a:"oopf",b:"𝕠"},{a:"opar",b:"⦷"},{a:"OpenCurlyDoubleQuote",b:"“"},{a:"OpenCurlyQuote",b:"‘"},{a:"operp",b:"⦹"},{a:"oplus",b:"⊕"},{a:"orarr",b:"↻"},{a:"Or",b:"⩔"},{a:"or",b:"∨"},{a:"ord",b:"⩝"},{a:"order",b:"ℴ"},{a:"orderof",b:"ℴ"},{a:"ordf",b:"ª"},{a:"ordm",b:"º"},{a:"origof",b:"⊶"},{a:"oror",b:"⩖"},{a:"orslope",b:"⩗"},{a:"orv",b:"⩛"},{a:"oS",b:"Ⓢ"},{a:"Oscr",b:"𝒪"},{a:"oscr",b:"ℴ"},{a:"Oslash",b:"Ø"},{a:"oslash",b:"ø"},{a:"osol",b:"⊘"},{a:"Otilde",b:"Õ"},{a:"otilde",b:"õ"},{a:"otimesas",b:"⨶"},{a:"Otimes",b:"⨷"},{a:"otimes",b:"⊗"},{a:"Ouml",b:"Ö"},{a:"ouml",b:"ö"},{a:"ovbar",b:"⌽"},{a:"OverBar",b:"‾"},{a:"OverBrace",b:"⏞"},{a:"OverBracket",b:"⎴"},{a:"OverParenthesis",b:"⏜"},{a:"para",b:"¶"},{a:"parallel",b:"∥"},{a:"par",b:"∥"},{a:"parsim",b:"⫳"},{a:"parsl",b:"⫽"},{a:"part",b:"∂"},{a:"PartialD",b:"∂"},{a:"Pcy",b:"П"},{a:"pcy",b:"п"},{a:"percnt",b:"%"},{a:"period",b:"."},{a:"permil",b:"‰"},{a:"perp",b:"⊥"},{a:"pertenk",b:"‱"},{a:"Pfr",b:"𝔓"},{a:"pfr",b:"𝔭"},{a:"Phi",b:"Φ"},{a:"phi",b:"φ"},{a:"phiv",b:"ϕ"},{a:"phmmat",b:"ℳ"},{a:"phone",b:"☎"},{a:"Pi",b:"Π"},{a:"pi",b:"π"},{a:"pitchfork",b:"⋔"},{a:"piv",b:"ϖ"},{a:"planck",b:"ℏ"},{a:"planckh",b:"ℎ"},{a:"plankv",b:"ℏ"},{a:"plusacir",b:"⨣"},{a:"plusb",b:"⊞"},{a:"pluscir",b:"⨢"},{a:"plus",b:"+"},{a:"plusdo",b:"∔"},{a:"plusdu",b:"⨥"},{a:"pluse",b:"⩲"},{a:"PlusMinus",b:"±"},{a:"plusmn",b:"±"},{a:"plussim",b:"⨦"},{a:"plustwo",b:"⨧"},{a:"pm",b:"±"},{a:"Poincareplane",b:"ℌ"},{a:"pointint",b:"⨕"},{a:"popf",b:"𝕡"},{a:"Popf",b:"ℙ"},{a:"pound",b:"£"},{a:"prap",b:"⪷"},{a:"Pr",b:"⪻"},{a:"pr",b:"≺"},{a:"prcue",b:"≼"},{a:"precapprox",b:"⪷"},{a:"prec",b:"≺"},{a:"preccurlyeq",b:"≼"},{a:"Precedes",b:"≺"},{a:"PrecedesEqual",b:"⪯"},{a:"PrecedesSlantEqual",b:"≼"},{a:"PrecedesTilde",b:"≾"},{a:"preceq",b:"⪯"},{a:"precnapprox",b:"⪹"},{a:"precneqq",b:"⪵"},{a:"precnsim",b:"⋨"},{a:"pre",b:"⪯"},{a:"prE",b:"⪳"},{a:"precsim",b:"≾"},{a:"prime",b:"′"},{a:"Prime",b:"″"},{a:"primes",b:"ℙ"},{a:"prnap",b:"⪹"},{a:"prnE",b:"⪵"},{a:"prnsim",b:"⋨"},{a:"prod",b:"∏"},{a:"Product",b:"∏"},{a:"profalar",b:"⌮"},{a:"profline",b:"⌒"},{a:"profsurf",b:"⌓"},{a:"prop",b:"∝"},{a:"Proportional",b:"∝"},{a:"Proportion",b:"∷"},{a:"propto",b:"∝"},{a:"prsim",b:"≾"},{a:"prurel",b:"⊰"},{a:"Pscr",b:"𝒫"},{a:"pscr",b:"𝓅"},{a:"Psi",b:"Ψ"},{a:"psi",b:"ψ"},{a:"puncsp",b:" "},{a:"Qfr",b:"𝔔"},{a:"qfr",b:"𝔮"},{a:"qint",b:"⨌"},{a:"qopf",b:"𝕢"},{a:"Qopf",b:"ℚ"},{a:"qprime",b:"⁗"},{a:"Qscr",b:"𝒬"},{a:"qscr",b:"𝓆"},{a:"quaternions",b:"ℍ"},{a:"quatint",b:"⨖"},{a:"quest",b:"?"},{a:"questeq",b:"≟"},{a:"quot",b:'"'},{a:"QUOT",b:'"'},{a:"rAarr",b:"⇛"},{a:"race",b:"∽̱"},{a:"Racute",b:"Ŕ"},{a:"racute",b:"ŕ"},{a:"radic",b:"√"},{a:"raemptyv",b:"⦳"},{a:"rang",b:"⟩"},{a:"Rang",b:"⟫"},{a:"rangd",b:"⦒"},{a:"range",b:"⦥"},{a:"rangle",b:"⟩"},{a:"raquo",b:"»"},{a:"rarrap",b:"⥵"},{a:"rarrb",b:"⇥"},{a:"rarrbfs",b:"⤠"},{a:"rarrc",b:"⤳"},{a:"rarr",b:"→"},{a:"Rarr",b:"↠"},{a:"rArr",b:"⇒"},{a:"rarrfs",b:"⤞"},{a:"rarrhk",b:"↪"},{a:"rarrlp",b:"↬"},{a:"rarrpl",b:"⥅"},{a:"rarrsim",b:"⥴"},{a:"Rarrtl",b:"⤖"},{a:"rarrtl",b:"↣"},{a:"rarrw",b:"↝"},{a:"ratail",b:"⤚"},{a:"rAtail",b:"⤜"},{a:"ratio",b:"∶"},{a:"rationals",b:"ℚ"},{a:"rbarr",b:"⤍"},{a:"rBarr",b:"⤏"},{a:"RBarr",b:"⤐"},{a:"rbbrk",b:"❳"},{a:"rbrace",b:"}"},{a:"rbrack",b:"]"},{a:"rbrke",b:"⦌"},{a:"rbrksld",b:"⦎"},{a:"rbrkslu",b:"⦐"},{a:"Rcaron",b:"Ř"},{a:"rcaron",b:"ř"},{a:"Rcedil",b:"Ŗ"},{a:"rcedil",b:"ŗ"},{a:"rceil",b:"⌉"},{a:"rcub",b:"}"},{a:"Rcy",b:"Р"},{a:"rcy",b:"р"},{a:"rdca",b:"⤷"},{a:"rdldhar",b:"⥩"},{a:"rdquo",b:"”"},{a:"rdquor",b:"”"},{a:"rdsh",b:"↳"},{a:"real",b:"ℜ"},{a:"realine",b:"ℛ"},{a:"realpart",b:"ℜ"},{a:"reals",b:"ℝ"},{a:"Re",b:"ℜ"},{a:"rect",b:"▭"},{a:"reg",b:"®"},{a:"REG",b:"®"},{a:"ReverseElement",b:"∋"},{a:"ReverseEquilibrium",b:"⇋"},{a:"ReverseUpEquilibrium",b:"⥯"},{a:"rfisht",b:"⥽"},{a:"rfloor",b:"⌋"},{a:"rfr",b:"𝔯"},{a:"Rfr",b:"ℜ"},{a:"rHar",b:"⥤"},{a:"rhard",b:"⇁"},{a:"rharu",b:"⇀"},{a:"rharul",b:"⥬"},{a:"Rho",b:"Ρ"},{a:"rho",b:"ρ"},{a:"rhov",b:"ϱ"},{a:"RightAngleBracket",b:"⟩"},{a:"RightArrowBar",b:"⇥"},{a:"rightarrow",b:"→"},{a:"RightArrow",b:"→"},{a:"Rightarrow",b:"⇒"},{a:"RightArrowLeftArrow",b:"⇄"},{a:"rightarrowtail",b:"↣"},{a:"RightCeiling",b:"⌉"},{a:"RightDoubleBracket",b:"⟧"},{a:"RightDownTeeVector",b:"⥝"},{a:"RightDownVectorBar",b:"⥕"},{a:"RightDownVector",b:"⇂"},{a:"RightFloor",b:"⌋"},{a:"rightharpoondown",b:"⇁"},{a:"rightharpoonup",b:"⇀"},{a:"rightleftarrows",b:"⇄"},{a:"rightleftharpoons",b:"⇌"},{a:"rightrightarrows",b:"⇉"},{a:"rightsquigarrow",b:"↝"},{a:"RightTeeArrow",b:"↦"},{a:"RightTee",b:"⊢"},{a:"RightTeeVector",b:"⥛"},{a:"rightthreetimes",b:"⋌"},{a:"RightTriangleBar",b:"⧐"},{a:"RightTriangle",b:"⊳"},{a:"RightTriangleEqual",b:"⊵"},{a:"RightUpDownVector",b:"⥏"},{a:"RightUpTeeVector",b:"⥜"},{a:"RightUpVectorBar",b:"⥔"},{a:"RightUpVector",b:"↾"},{a:"RightVectorBar",b:"⥓"},{a:"RightVector",b:"⇀"},{a:"ring",b:"˚"},{a:"risingdotseq",b:"≓"},{a:"rlarr",b:"⇄"},{a:"rlhar",b:"⇌"},{a:"rlm",b:"‏"},{a:"rmoustache",b:"⎱"},{a:"rmoust",b:"⎱"},{a:"rnmid",b:"⫮"},{a:"roang",b:"⟭"},{a:"roarr",b:"⇾"},{a:"robrk",b:"⟧"},{a:"ropar",b:"⦆"},{a:"ropf",b:"𝕣"},{a:"Ropf",b:"ℝ"},{a:"roplus",b:"⨮"},{a:"rotimes",b:"⨵"},{a:"RoundImplies",b:"⥰"},{a:"rpar",b:")"},{a:"rpargt",b:"⦔"},{a:"rppolint",b:"⨒"},{a:"rrarr",b:"⇉"},{a:"Rrightarrow",b:"⇛"},{a:"rsaquo",b:"›"},{a:"rscr",b:"𝓇"},{a:"Rscr",b:"ℛ"},{a:"rsh",b:"↱"},{a:"Rsh",b:"↱"},{a:"rsqb",b:"]"},{a:"rsquo",b:"’"},{a:"rsquor",b:"’"},{a:"rthree",b:"⋌"},{a:"rtimes",b:"⋊"},{a:"rtri",b:"▹"},{a:"rtrie",b:"⊵"},{a:"rtrif",b:"▸"},{a:"rtriltri",b:"⧎"},{a:"RuleDelayed",b:"⧴"},{a:"ruluhar",b:"⥨"},{a:"rx",b:"℞"},{a:"Sacute",b:"Ś"},{a:"sacute",b:"ś"},{a:"sbquo",b:"‚"},{a:"scap",b:"⪸"},{a:"Scaron",b:"Š"},{a:"scaron",b:"š"},{a:"Sc",b:"⪼"},{a:"sc",b:"≻"},{a:"sccue",b:"≽"},{a:"sce",b:"⪰"},{a:"scE",b:"⪴"},{a:"Scedil",b:"Ş"},{a:"scedil",b:"ş"},{a:"Scirc",b:"Ŝ"},{a:"scirc",b:"ŝ"},{a:"scnap",b:"⪺"},{a:"scnE",b:"⪶"},{a:"scnsim",b:"⋩"},{a:"scpolint",b:"⨓"},{a:"scsim",b:"≿"},{a:"Scy",b:"С"},{a:"scy",b:"с"},{a:"sdotb",b:"⊡"},{a:"sdot",b:"⋅"},{a:"sdote",b:"⩦"},{a:"searhk",b:"⤥"},{a:"searr",b:"↘"},{a:"seArr",b:"⇘"},{a:"searrow",b:"↘"},{a:"sect",b:"§"},{a:"semi",b:";"},{a:"seswar",b:"⤩"},{a:"setminus",b:"∖"},{a:"setmn",b:"∖"},{a:"sext",b:"✶"},{a:"Sfr",b:"𝔖"},{a:"sfr",b:"𝔰"},{a:"sfrown",b:"⌢"},{a:"sharp",b:"♯"},{a:"SHCHcy",b:"Щ"},{a:"shchcy",b:"щ"},{a:"SHcy",b:"Ш"},{a:"shcy",b:"ш"},{a:"ShortDownArrow",b:"↓"},{a:"ShortLeftArrow",b:"←"},{a:"shortmid",b:"∣"},{a:"shortparallel",b:"∥"},{a:"ShortRightArrow",b:"→"},{a:"ShortUpArrow",b:"↑"},{a:"shy",b:"­"},{a:"Sigma",b:"Σ"},{a:"sigma",b:"σ"},{a:"sigmaf",b:"ς"},{a:"sigmav",b:"ς"},{a:"sim",b:"∼"},{a:"simdot",b:"⩪"},{a:"sime",b:"≃"},{a:"simeq",b:"≃"},{a:"simg",b:"⪞"},{a:"simgE",b:"⪠"},{a:"siml",b:"⪝"},{a:"simlE",b:"⪟"},{a:"simne",b:"≆"},{a:"simplus",b:"⨤"},{a:"simrarr",b:"⥲"},{a:"slarr",b:"←"},{a:"SmallCircle",b:"∘"},{a:"smallsetminus",b:"∖"},{a:"smashp",b:"⨳"},{a:"smeparsl",b:"⧤"},{a:"smid",b:"∣"},{a:"smile",b:"⌣"},{a:"smt",b:"⪪"},{a:"smte",b:"⪬"},{a:"smtes",b:"⪬︀"},{a:"SOFTcy",b:"Ь"},{a:"softcy",b:"ь"},{a:"solbar",b:"⌿"},{a:"solb",b:"⧄"},{a:"sol",b:"/"},{a:"Sopf",b:"𝕊"},{a:"sopf",b:"𝕤"},{a:"spades",b:"♠"},{a:"spadesuit",b:"♠"},{a:"spar",b:"∥"},{a:"sqcap",b:"⊓"},{a:"sqcaps",b:"⊓︀"},{a:"sqcup",b:"⊔"},{a:"sqcups",b:"⊔︀"},{a:"Sqrt",b:"√"},{a:"sqsub",b:"⊏"},{a:"sqsube",b:"⊑"},{a:"sqsubset",b:"⊏"},{a:"sqsubseteq",b:"⊑"},{a:"sqsup",b:"⊐"},{a:"sqsupe",b:"⊒"},{a:"sqsupset",b:"⊐"},{a:"sqsupseteq",b:"⊒"},{a:"square",b:"□"},{a:"Square",b:"□"},{a:"SquareIntersection",b:"⊓"},{a:"SquareSubset",b:"⊏"},{a:"SquareSubsetEqual",b:"⊑"},{a:"SquareSuperset",b:"⊐"},{a:"SquareSupersetEqual",b:"⊒"},{a:"SquareUnion",b:"⊔"},{a:"squarf",b:"▪"},{a:"squ",b:"□"},{a:"squf",b:"▪"},{a:"srarr",b:"→"},{a:"Sscr",b:"𝒮"},{a:"sscr",b:"𝓈"},{a:"ssetmn",b:"∖"},{a:"ssmile",b:"⌣"},{a:"sstarf",b:"⋆"},{a:"Star",b:"⋆"},{a:"star",b:"☆"},{a:"starf",b:"★"},{a:"straightepsilon",b:"ϵ"},{a:"straightphi",b:"ϕ"},{a:"strns",b:"¯"},{a:"sub",b:"⊂"},{a:"Sub",b:"⋐"},{a:"subdot",b:"⪽"},{a:"subE",b:"⫅"},{a:"sube",b:"⊆"},{a:"subedot",b:"⫃"},{a:"submult",b:"⫁"},{a:"subnE",b:"⫋"},{a:"subne",b:"⊊"},{a:"subplus",b:"⪿"},{a:"subrarr",b:"⥹"},{a:"subset",b:"⊂"},{a:"Subset",b:"⋐"},{a:"subseteq",b:"⊆"},{a:"subseteqq",b:"⫅"},{a:"SubsetEqual",b:"⊆"},{a:"subsetneq",b:"⊊"},{a:"subsetneqq",b:"⫋"},{a:"subsim",b:"⫇"},{a:"subsub",b:"⫕"},{a:"subsup",b:"⫓"},{a:"succapprox",b:"⪸"},{a:"succ",b:"≻"},{a:"succcurlyeq",b:"≽"},{a:"Succeeds",b:"≻"},{a:"SucceedsEqual",b:"⪰"},{a:"SucceedsSlantEqual",b:"≽"},{a:"SucceedsTilde",b:"≿"},{a:"succeq",b:"⪰"},{a:"succnapprox",b:"⪺"},{a:"succneqq",b:"⪶"},{a:"succnsim",b:"⋩"},{a:"succsim",b:"≿"},{a:"SuchThat",b:"∋"},{a:"sum",b:"∑"},{a:"Sum",b:"∑"},{a:"sung",b:"♪"},{a:"sup1",b:"¹"},{a:"sup2",b:"²"},{a:"sup3",b:"³"},{a:"sup",b:"⊃"},{a:"Sup",b:"⋑"},{a:"supdot",b:"⪾"},{a:"supdsub",b:"⫘"},{a:"supE",b:"⫆"},{a:"supe",b:"⊇"},{a:"supedot",b:"⫄"},{a:"Superset",b:"⊃"},{a:"SupersetEqual",b:"⊇"},{a:"suphsol",b:"⟉"},{a:"suphsub",b:"⫗"},{a:"suplarr",b:"⥻"},{a:"supmult",b:"⫂"},{a:"supnE",b:"⫌"},{a:"supne",b:"⊋"},{a:"supplus",b:"⫀"},{a:"supset",b:"⊃"},{a:"Supset",b:"⋑"},{a:"supseteq",b:"⊇"},{a:"supseteqq",b:"⫆"},{a:"supsetneq",b:"⊋"},{a:"supsetneqq",b:"⫌"},{a:"supsim",b:"⫈"},{a:"supsub",b:"⫔"},{a:"supsup",b:"⫖"},{a:"swarhk",b:"⤦"},{a:"swarr",b:"↙"},{a:"swArr",b:"⇙"},{a:"swarrow",b:"↙"},{a:"swnwar",b:"⤪"},{a:"szlig",b:"ß"},{a:"Tab",b:" "},{a:"target",b:"⌖"},{a:"Tau",b:"Τ"},{a:"tau",b:"τ"},{a:"tbrk",b:"⎴"},{a:"Tcaron",b:"Ť"},{a:"tcaron",b:"ť"},{a:"Tcedil",b:"Ţ"},{a:"tcedil",b:"ţ"},{a:"Tcy",b:"Т"},{a:"tcy",b:"т"},{a:"tdot",b:"⃛"},{a:"telrec",b:"⌕"},{a:"Tfr",b:"𝔗"},{a:"tfr",b:"𝔱"},{a:"there4",b:"∴"},{a:"therefore",b:"∴"},{a:"Therefore",b:"∴"},{a:"Theta",b:"Θ"},{a:"theta",b:"θ"},{a:"thetasym",b:"ϑ"},{a:"thetav",b:"ϑ"},{a:"thickapprox",b:"≈"},{a:"thicksim",b:"∼"},{a:"ThickSpace",b:"  "},{a:"ThinSpace",b:" "},{a:"thinsp",b:" "},{a:"thkap",b:"≈"},{a:"thksim",b:"∼"},{a:"THORN",b:"Þ"},{a:"thorn",b:"þ"},{a:"tilde",b:"˜"},{a:"Tilde",b:"∼"},{a:"TildeEqual",b:"≃"},{a:"TildeFullEqual",b:"≅"},{a:"TildeTilde",b:"≈"},{a:"timesbar",b:"⨱"},{a:"timesb",b:"⊠"},{a:"times",b:"×"},{a:"timesd",b:"⨰"},{a:"tint",b:"∭"},{a:"toea",b:"⤨"},{a:"topbot",b:"⌶"},{a:"topcir",b:"⫱"},{a:"top",b:"⊤"},{a:"Topf",b:"𝕋"},{a:"topf",b:"𝕥"},{a:"topfork",b:"⫚"},{a:"tosa",b:"⤩"},{a:"tprime",b:"‴"},{a:"trade",b:"™"},{a:"TRADE",b:"™"},{a:"triangle",b:"▵"},{a:"triangledown",b:"▿"},{a:"triangleleft",b:"◃"},{a:"trianglelefteq",b:"⊴"},{a:"triangleq",b:"≜"},{a:"triangleright",b:"▹"},{a:"trianglerighteq",b:"⊵"},{a:"tridot",b:"◬"},{a:"trie",b:"≜"},{a:"triminus",b:"⨺"},{a:"TripleDot",b:"⃛"},{a:"triplus",b:"⨹"},{a:"trisb",b:"⧍"},{a:"tritime",b:"⨻"},{a:"trpezium",b:"⏢"},{a:"Tscr",b:"𝒯"},{a:"tscr",b:"𝓉"},{a:"TScy",b:"Ц"},{a:"tscy",b:"ц"},{a:"TSHcy",b:"Ћ"},{a:"tshcy",b:"ћ"},{a:"Tstrok",b:"Ŧ"},{a:"tstrok",b:"ŧ"},{a:"twixt",b:"≬"},{a:"twoheadleftarrow",b:"↞"},{a:"twoheadrightarrow",b:"↠"},{a:"Uacute",b:"Ú"},{a:"uacute",b:"ú"},{a:"uarr",b:"↑"},{a:"Uarr",b:"↟"},{a:"uArr",b:"⇑"},{a:"Uarrocir",b:"⥉"},{a:"Ubrcy",b:"Ў"},{a:"ubrcy",b:"ў"},{a:"Ubreve",b:"Ŭ"},{a:"ubreve",b:"ŭ"},{a:"Ucirc",b:"Û"},{a:"ucirc",b:"û"},{a:"Ucy",b:"У"},{a:"ucy",b:"у"},{a:"udarr",b:"⇅"},{a:"Udblac",b:"Ű"},{a:"udblac",b:"ű"},{a:"udhar",b:"⥮"},{a:"ufisht",b:"⥾"},{a:"Ufr",b:"𝔘"},{a:"ufr",b:"𝔲"},{a:"Ugrave",b:"Ù"},{a:"ugrave",b:"ù"},{a:"uHar",b:"⥣"},{a:"uharl",b:"↿"},{a:"uharr",b:"↾"},{a:"uhblk",b:"▀"},{a:"ulcorn",b:"⌜"},{a:"ulcorner",b:"⌜"},{a:"ulcrop",b:"⌏"},{a:"ultri",b:"◸"},{a:"Umacr",b:"Ū"},{a:"umacr",b:"ū"},{a:"uml",b:"¨"},{a:"UnderBar",b:"_"},{a:"UnderBrace",b:"⏟"},{a:"UnderBracket",b:"⎵"},{a:"UnderParenthesis",b:"⏝"},{a:"Union",b:"⋃"},{a:"UnionPlus",b:"⊎"},{a:"Uogon",b:"Ų"},{a:"uogon",b:"ų"},{a:"Uopf",b:"𝕌"},{a:"uopf",b:"𝕦"},{a:"UpArrowBar",b:"⤒"},{a:"uparrow",b:"↑"},{a:"UpArrow",b:"↑"},{a:"Uparrow",b:"⇑"},{a:"UpArrowDownArrow",b:"⇅"},{a:"updownarrow",b:"↕"},{a:"UpDownArrow",b:"↕"},{a:"Updownarrow",b:"⇕"},{a:"UpEquilibrium",b:"⥮"},{a:"upharpoonleft",b:"↿"},{a:"upharpoonright",b:"↾"},{a:"uplus",b:"⊎"},{a:"UpperLeftArrow",b:"↖"},{a:"UpperRightArrow",b:"↗"},{a:"upsi",b:"υ"},{a:"Upsi",b:"ϒ"},{a:"upsih",b:"ϒ"},{a:"Upsilon",b:"Υ"},{a:"upsilon",b:"υ"},{a:"UpTeeArrow",b:"↥"},{a:"UpTee",b:"⊥"},{a:"upuparrows",b:"⇈"},{a:"urcorn",b:"⌝"},{a:"urcorner",b:"⌝"},{a:"urcrop",b:"⌎"},{a:"Uring",b:"Ů"},{a:"uring",b:"ů"},{a:"urtri",b:"◹"},{a:"Uscr",b:"𝒰"},{a:"uscr",b:"𝓊"},{a:"utdot",b:"⋰"},{a:"Utilde",b:"Ũ"},{a:"utilde",b:"ũ"},{a:"utri",b:"▵"},{a:"utrif",b:"▴"},{a:"uuarr",b:"⇈"},{a:"Uuml",b:"Ü"},{a:"uuml",b:"ü"},{a:"uwangle",b:"⦧"},{a:"vangrt",b:"⦜"},{a:"varepsilon",b:"ϵ"},{a:"varkappa",b:"ϰ"},{a:"varnothing",b:"∅"},{a:"varphi",b:"ϕ"},{a:"varpi",b:"ϖ"},{a:"varpropto",b:"∝"},{a:"varr",b:"↕"},{a:"vArr",b:"⇕"},{a:"varrho",b:"ϱ"},{a:"varsigma",b:"ς"},{a:"varsubsetneq",b:"⊊︀"},{a:"varsubsetneqq",b:"⫋︀"},{a:"varsupsetneq",b:"⊋︀"},{a:"varsupsetneqq",b:"⫌︀"},{a:"vartheta",b:"ϑ"},{a:"vartriangleleft",b:"⊲"},{a:"vartriangleright",b:"⊳"},{a:"vBar",b:"⫨"},{a:"Vbar",b:"⫫"},{a:"vBarv",b:"⫩"},{a:"Vcy",b:"В"},{a:"vcy",b:"в"},{a:"vdash",b:"⊢"},{a:"vDash",b:"⊨"},{a:"Vdash",b:"⊩"},{a:"VDash",b:"⊫"},{a:"Vdashl",b:"⫦"},{a:"veebar",b:"⊻"},{a:"vee",b:"∨"},{a:"Vee",b:"⋁"},{a:"veeeq",b:"≚"},{a:"vellip",b:"⋮"},{a:"verbar",b:"|"},{a:"Verbar",b:"‖"},{a:"vert",b:"|"},{a:"Vert",b:"‖"},{a:"VerticalBar",b:"∣"},{a:"VerticalLine",b:"|"},{a:"VerticalSeparator",b:"❘"},{a:"VerticalTilde",b:"≀"},{a:"VeryThinSpace",b:" "},{a:"Vfr",b:"𝔙"},{a:"vfr",b:"𝔳"},{a:"vltri",b:"⊲"},{a:"vnsub",b:"⊂⃒"},{a:"vnsup",b:"⊃⃒"},{a:"Vopf",b:"𝕍"},{a:"vopf",b:"𝕧"},{a:"vprop",b:"∝"},{a:"vrtri",b:"⊳"},{a:"Vscr",b:"𝒱"},{a:"vscr",b:"𝓋"},{a:"vsubnE",b:"⫋︀"},{a:"vsubne",b:"⊊︀"},{a:"vsupnE",b:"⫌︀"},{a:"vsupne",b:"⊋︀"},{a:"Vvdash",b:"⊪"},{a:"vzigzag",b:"⦚"},{a:"Wcirc",b:"Ŵ"},{a:"wcirc",b:"ŵ"},{a:"wedbar",b:"⩟"},{a:"wedge",b:"∧"},{a:"Wedge",b:"⋀"},{a:"wedgeq",b:"≙"},{a:"weierp",b:"℘"},{a:"Wfr",b:"𝔚"},{a:"wfr",b:"𝔴"},{a:"Wopf",b:"𝕎"},{a:"wopf",b:"𝕨"},{a:"wp",b:"℘"},{a:"wr",b:"≀"},{a:"wreath",b:"≀"},{a:"Wscr",b:"𝒲"},{a:"wscr",b:"𝓌"},{a:"xcap",b:"⋂"},{a:"xcirc",b:"◯"},{a:"xcup",b:"⋃"},{a:"xdtri",b:"▽"},{a:"Xfr",b:"𝔛"},{a:"xfr",b:"𝔵"},{a:"xharr",b:"⟷"},{a:"xhArr",b:"⟺"},{a:"Xi",b:"Ξ"},{a:"xi",b:"ξ"},{a:"xlarr",b:"⟵"},{a:"xlArr",b:"⟸"},{a:"xmap",b:"⟼"},{a:"xnis",b:"⋻"},{a:"xodot",b:"⨀"},{a:"Xopf",b:"𝕏"},{a:"xopf",b:"𝕩"},{a:"xoplus",b:"⨁"},{a:"xotime",b:"⨂"},{a:"xrarr",b:"⟶"},{a:"xrArr",b:"⟹"},{a:"Xscr",b:"𝒳"},{a:"xscr",b:"𝓍"},{a:"xsqcup",b:"⨆"},{a:"xuplus",b:"⨄"},{a:"xutri",b:"△"},{a:"xvee",b:"⋁"},{a:"xwedge",b:"⋀"},{a:"Yacute",b:"Ý"},{a:"yacute",b:"ý"},{a:"YAcy",b:"Я"},{a:"yacy",b:"я"},{a:"Ycirc",b:"Ŷ"},{a:"ycirc",b:"ŷ"},{a:"Ycy",b:"Ы"},{a:"ycy",b:"ы"},{a:"yen",b:"¥"},{a:"Yfr",b:"𝔜"},{a:"yfr",b:"𝔶"},{a:"YIcy",b:"Ї"},{a:"yicy",b:"ї"},{a:"Yopf",b:"𝕐"},{a:"yopf",b:"𝕪"},{a:"Yscr",b:"𝒴"},{a:"yscr",b:"𝓎"},{a:"YUcy",b:"Ю"},{a:"yucy",b:"ю"},{a:"yuml",b:"ÿ"},{a:"Yuml",b:"Ÿ"},{a:"Zacute",b:"Ź"},{a:"zacute",b:"ź"},{a:"Zcaron",b:"Ž"},{a:"zcaron",b:"ž"},{a:"Zcy",b:"З"},{a:"zcy",b:"з"},{a:"Zdot",b:"Ż"},{a:"zdot",b:"ż"},{a:"zeetrf",b:"ℨ"},{a:"ZeroWidthSpace",b:"​"},{a:"Zeta",b:"Ζ"},{a:"zeta",b:"ζ"},{a:"zfr",b:"𝔷"},{a:"Zfr",b:"ℨ"},{a:"ZHcy",b:"Ж"},{a:"zhcy",b:"ж"},{a:"zigrarr",b:"⇝"},{a:"zopf",b:"𝕫"},{a:"Zopf",b:"ℤ"},{a:"Zscr",b:"𝒵"},{a:"zscr",b:"𝓏"},{a:"zwj",b:"‍"},{a:"zwnj",b:"‌"}])),fw=I(fr,function(e){return I(nU,"&"+e+";",I(rO,e,fm))},d1(dQ(ak))),fx=function(e){return I(J,e,"")},fy=m(function(e,t,a){for(;;)if(!t.b)return av(a);else{var r=t.a,n=t.b;switch(r){case"0":var i=e-1,o=n,u=a;e=i,t=o,a=u;continue;case"1":var i=e-1,o=n,u=a+I(j,16,e);e=i,t=o,a=u;continue;case"2":var i=e-1,o=n,u=a+2*I(j,16,e);e=i,t=o,a=u;continue;case"3":var i=e-1,o=n,u=a+3*I(j,16,e);e=i,t=o,a=u;continue;case"4":var i=e-1,o=n,u=a+4*I(j,16,e);e=i,t=o,a=u;continue;case"5":var i=e-1,o=n,u=a+5*I(j,16,e);e=i,t=o,a=u;continue;case"6":var i=e-1,o=n,u=a+6*I(j,16,e);e=i,t=o,a=u;continue;case"7":var i=e-1,o=n,u=a+7*I(j,16,e);e=i,t=o,a=u;continue;case"8":var i=e-1,o=n,u=a+8*I(j,16,e);e=i,t=o,a=u;continue;case"9":var i=e-1,o=n,u=a+9*I(j,16,e);e=i,t=o,a=u;continue;case"a":var i=e-1,o=n,u=a+10*I(j,16,e);e=i,t=o,a=u;continue;case"b":var i=e-1,o=n,u=a+11*I(j,16,e);e=i,t=o,a=u;continue;case"c":var i=e-1,o=n,u=a+12*I(j,16,e);e=i,t=o,a=u;continue;case"d":var i=e-1,o=n,u=a+13*I(j,16,e);e=i,t=o,a=u;continue;case"e":var i=e-1,o=n,u=a+14*I(j,16,e);e=i,t=o,a=u;continue;case"f":var i=e-1,o=n,u=a+15*I(j,16,e);e=i,t=o,a=u;continue;default:return ab(fx(r)+" is not a valid hexadecimal character.")}}}),fE=p(function(e,t){return t.$?ab(t.a):av(e(t.a))}),fI=function(e){if(a9(e))return ab("Empty strings are not valid hexadecimal strings.");var t=function(){if(!I(ei,"-",e))return C(fy,a8(e)-1,cg(e),0);var t,a=I(nU,B,(t=cg(e)).b?(t.a,ap(t.b)):am);return I(fE,ii,C(fy,aI(a)-1,a,0))}();return I(rJ,function(t){return I(aw," ",U(['"'+e+'"',"is not a valid hexadecimal string because",t]))},t)},fC=I(dB,function(e){var t=fI(c8(e));return t.$?d4(t.a):d3(t.a)},d1(dQ(function(e){var t=aM(e);return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}))),fR={$:1},f$=p(function(e,t){return{dA:t.dA+(e-t.h),k:t.k,p:t.p,h:e,d_:t.d_,d:t.d}}),fL=p(function(e,t){if(!(C(t9,101,e,t)||C(t9,69,e,t)))return e;var a=e+1,r=C(t9,43,a,t)||C(t9,45,a,t)?a+1:a,n=I(ae,r,t);return M(r,n)?-n:n}),fA=p(function(e,t){return C(t9,46,e,t)?I(fL,I(ae,e+1,t),t):I(fL,e,t)}),fS=x(function(e,t,a,r,n){var i=r.a,o=r.b;if(1===t.$)return I(dq,!0,I(dj,n,t.a));var u=t.a;return M(a,i)?I(dq,0>O(n.h,a),I(dj,n,e)):C(dH,!0,u(o),I(f$,i,n))}),fT=y(function(e,t,a,r,n,i){var o=n.a,u=I(fA,o,i.d);if(u<0)return I(dq,!0,R(d5,i.d_,i.dA-(u+i.h),e,i.k));if(M(i.h,u))return I(dq,!1,I(dj,i,t));if(M(o,u))return $(fS,e,a,i.h,n,i);if(1===r.$)return r.a,I(dq,!0,I(dj,i,e));var s=r.a,c=n0(C(ea,i.h,u,i.d));return 1===c.$?I(dq,!0,I(dj,i,e)):C(dH,!0,s(c.a),I(f$,u,i))}),fk=p(function(e,t){var a;return a={ee:ab(t),ew:e,eA:ab(t),eG:ab(t),eN:av(a3),f0:t,eZ:ab(t)},function(e){if(!C(t9,48,e.h,e.d))return L(fT,a.f0,a.ew,a.eN,a.eA,C(at,10,e.h,e.d),e);var t=e.h+1,r=t+1;return C(t9,120,t,e.d)?$(fS,a.f0,a.eG,r,I(aa,r,e.d),e):C(t9,111,t,e.d)?$(fS,a.f0,a.eZ,r,C(at,8,r,e.d),e):C(t9,98,t,e.d)?$(fS,a.f0,a.ee,r,C(at,2,r,e.d),e):L(fT,a.f0,a.ew,a.eN,a.eA,{a:t,b:0},e)}}),fM=I(fk,fR,fR),fP=(d=fh(U([I(d9,I(dJ,d3(a3),dZ(function(e){return"x"===e||"X"===e})),fC),I(d9,I(dJ,d3(a3),dX(N("0"))),fM)])),I(d9,I(dJ,d3(a3),dZ(N("#"))),I(fr,I(rX,function(e){return e<0||1114111"!==e&&"`"!==e&&"&"!==e})),fN])))),fq=fh(U([I(d9,I(dJ,I(dJ,d3(a3),dZ(N("="))),dX(d2)),fh(U([fV,fz('"'),fz("'")]))),d3("")])),fH=fv(I(d9,I(d9,d3(n7),I(dJ,fg,dX(d2))),I(dJ,fq,dX(d2)))),fB=I(fr,c8,d1(I(dJ,dZ(aN),dX(function(e){return aN(e)||"-"===e})))),fD=function(e){return{$:0,a:e}},f_=I(fr,I(rX,aw(""),fD),I(fO,"text element",fh(U([d1(dQ(function(e){return"<"!==e&&"&"!==e})),fN]))));function fU(){return fh(U([f_,fn,fF()]))}function fF(){return I(dB,function(e){var t=e.a,a=e.b;return I(iB,t,fi)?I(dJ,I(dJ,d3(C(dV,t,a,B)),fh(U([dZ(N("/")),d3(0)]))),dZ(N(">"))):I(d9,I(dJ,d3(I(dV,t,a)),dZ(N(">"))),I(dJ,fv(dD(fU())),d6(t)))},I(d9,I(d9,I(dJ,d3(n7),dZ(N("<"))),I(dJ,fB,dX(d2))),fH))}var fG=fU();fU=function(){return fG};var fj=fF();fF=function(){return fj};var fW=m(function(e,t,a){return{dA:t,dX:a,d_:e}}),fZ=function(e){return C(fW,e.d_,e.dA,e.dX)},fK=p(function(e,t){for(;;)switch(e.$){case 0:return t;case 1:var a=e.a,r=e.b,n=a,i=I(_,r,t);e=n,t=i;continue;default:var a=e.a,o=e.b,n=a,i=I(fK,o,t);e=n,t=i;continue}}),fX=p(function(e,t){var a=e({dA:1,k:B,p:1,h:0,d_:1,d:t});return a.$?ab(I(fK,a.b,B)):av(a.b)}),fY=p(function(e,t){var a=I(fX,e,t);return a.$?ab(I(rl,fZ,a.a)):av(a.a)}),fJ=function(e){return a9(e)?av(B):I(fY,I(fO,"node",fG),e)},fQ=function(e){var t,a=I(nd,function(e){return"target"===e.a},e),r=I(nd,function(e){return"rel"===e.a},e);return t=a?e:I(_,{a:"target",b:"_blank"},e),r?t:I(_,{a:"rel",b:"noopener noreferrer"},t)},f0=function(e){return"href"===e.a?ap(e):am},f1=function(e){switch(e.a){case"alt":case"src":return ap(e);default:return am}},f2=p(function(e,t){switch(e){case"a":return fQ(I(nr,f0,t));case"img":return I(nr,f1,t);default:return B}}),f4=function(e){switch(e.$){case 0:return U([fD(e.a)]);case 1:var t=e.a,a=e.b,r=e.c;return I(iB,t,U(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]))?U([C(dV,t,I(f2,t,a),f3(r))]):f3(r);default:return B}},f3=function(e){return I(iM,f4,e)},f6=function(e){return I(du,e.a,e.b)},f5=function(e){return I(rl,f8,e)},f8=function(e){switch(e.$){case 1:var t=e.a,a=e.b,r=e.c;return C(dv,t,I(rl,f6,a),f5(r));case 0:return tu(e.a);default:return tu("")}},f7=function(e){var t=function(e){return f5(f3(e))},a=C(nf,"

","

",C(nf,"
","
",C(nf,"
","
",e))),r=fJ(a);if(r.$){var n=fJ("
"+a+"
");if(n.$)return U([tu(e)]);var i,o=n.a;return t((i=o).b&&1===i.a.$&&"div"===i.a.a&&!i.b.b?i.a.c:i)}var o=r.a;return t(o)},f9=b8("target"),he=function(e){switch(e){case 0:return"Left to Right";case 1:return"Right to Left";case 2:return"Top to Bottom";default:return"Bottom to Top"}},ht=function(e){switch(e){case 0:return"Auto-advance";case 1:return"No auto-advance";case 2:return"Repeat";case 3:return"No repeat";case 4:return"Unordered";case 5:return"Individuals";case 6:return"Continuous";case 7:return"Paged";case 8:return"Facing pages";case 9:return"Non-paged";case 10:return"Multi-part";case 11:return"Together";case 12:return"Sequence";case 13:return"Thumbnail nav";case 14:return"No nav";default:return"Hidden"}},ha=function(e){switch(e){case 0:return"Paged";case 1:return"Individuals";case 2:return"Continuous";case 3:return"Multi-part";case 4:return"Non-paged";case 5:return"Top";default:return"Facing pages"}},hr=function(e){if(!e.$)return"Hint: "+ha(e.a);var t=e.a;return ul(t)?"Behavior: None":"Behavior: "+I(aw,", ",I(rl,ht,t))},hn=p(function(e,t){var a=es(I(nU,0,I(n_,aI,lt(t)))),r=function(){var t=e.I;switch(t.$){case 1:default:return e.a7;case 2:var a=t.a;return I(nU,e.a7,a.dq)}}(),n=es(aI(cY(t))),i=t.a,o=t.b,u=I(nU,"None",I(n_,cu(e.en),o.gH)),s=he(o.gS),c=hr(o.gT),l=function(){switch(i){case 0:return"IIIF v1";case 1:return"IIIF v2";default:return"IIIF v3"}}();return I(_,{a:"Manifest URL",b:I(dP,U([dN(r),f9("_blank"),dO("noopener noreferrer")]),U([tu(r)]))},H(ul(e.aw)?B:U([{a:"Accept Headers",b:tu(I(aw,", ",e.aw))}]),U([{a:"Detected User Language",b:tu(dz(e.en))},{a:"IIIF Version",b:tu(l)},{a:"Viewing Hint / Behavior",b:tu(c)},{a:"Viewing Direction",b:tu(s)},{a:"Summary",b:"None"===u?tu(u):I(de,B,f7(u))},{a:"Canvases",b:tu(n)},{a:"Ranges",b:tu(a)}])))}),hi=b8("alt"),ho=tc("img"),hu=function(e){var t=I(nD,nM,e.fl);if(t.$)return ap(e.s);var a=t.a;return I(n_,I(rX,cx(ix(256)),cw),iO(a.s))},hs=function(e){return I(b8,"src",t$(e))},hc=cX(function(e){return e.f4}),hl=cX(function(e){return e.e7}),hb=p(function(e,t){var a=function(){var e=I(nD,nM,hl(t));if(e.$)return{a:am,b:I(nD,nM,c9(t))};var a=e.a;return{a:I(nD,nM,a.f4),b:I(nD,nM,a.fZ)}}(),r=a.a,n=a.b,i=r.$?I(n_,I(rX,function(e){return e.s},I(rX,cx(ix(256)),cw)),hc(t)):hu(r.a);return M(i,am)&&M(n,am)?dg:I(de,B,U([I(dm,function(e){return I(ho,U([b7("diva-manifest-info-logo"),hs(e),hi("Manifest logo")]),B)},i),I(dm,function(t){var a=I(cu,e,t.dN);return I(dP,U([dN(t.s),f9("_blank"),dO("noopener noreferrer")]),U([tu(a)]))},n)]))}),hd=function(e){var t=e.a,a=e.b;return I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu(t)])),I(de,U([b7("diva-metadata-value")]),U([a]))]))},hf=p(function(e,t){var a=I(nU,U([{a:"Manifest",b:tu("Not loaded")}]),I(n_,hn(e),t)),r=I(dm,hb(e.en),t);return I(de,U([b7("diva-modal-body is-two-column")]),U([I(de,U([b7("diva-metadata-body")]),I(rl,hd,a)),I(de,U([b7("diva-manifest-info-logo-wrap")]),U([r]))]))}),hh={$:13},hv=tx("d"),hg=tx("fill"),hp=tx("height"),hm=ts("http://www.w3.org/2000/svg"),hw=hm("path"),hx=hm("svg"),hy=tx("viewBox"),hE=tx("width"),hI=function(e){return I(hx,U([hy(e.C),hE("100%"),hp("100%"),hg("currentColor")]),U([I(hw,U([hv(e.A)]),B)]))},hC=hI({A:"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z",C:"0 0 512 512"}),hR=p(function(e,t){return I(tw,e,eT(t))}),h$=hR("disabled"),hL=p(function(e,t){var a,r,n=(a=U([b9(U([{a:"diva-canvas-toolbar-button",b:!0},{a:"is-disabled",b:M(t.dU,am)},{a:"is-fullscreen",b:t.eO}])),df("button"),I(du,"aria-label",t.dN)]),(r=t.dU).$?I(_,h$(!0),H(e,a)):I(_,db(r.a),H(e,a)));return I(de,U([b7("diva-canvas-toolbar-item"),I(du,"data-tooltip",t.dN)]),U([I(ds,n,U([t.eI]))]))}),hA=function(e){return I(hL,B,e)},hS=function(e){var t=e.db;return I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title")]),U([tu("Manifest Info")])),I(de,U([b7("diva-modal-actions")]),U([I(de,U([b7("diva-modal-close-action")]),U([hA({eI:hC,eO:t,dN:"Close",dU:ap(hh)})]))]))]))},hT=tc("h1"),hk=m(function(e,t,a){return e&&!a9(a)?I(hT,U([b9(U([{a:"diva-app-title",b:!0},{a:"is-fullscreen",b:t}]))]),U([tu(a)])):dg}),hM=tc("span"),hP=p(function(e,t){var a=I(rO,e,t.ap);if(a.$)return am;var r,n=a.a;return 1!==(r=n.c6).$||ul(r.a.cK)?ap("anonymous"):I(n_,function(e){return e?"use-credentials":"anonymous"},I(nD,function(e){return I(rO,e,t.au)},bV(n)))}),hN=w(function(e,t,a,r){return I(ds,U([b9(U([{a:"diva-page-view-choice",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:M(a,t)}])),df("button"),db({$:19,a:a})]),U([function(){var t=I(hP,r.b3,e);if(t.$)return I(de,U([b7("diva-page-view-choice-thumb diva-page-view-choice-thumb--protected"),I(du,"aria-label","Protected image")]),B);var a=t.a;return I(ho,U([b7("diva-page-view-choice-thumb"),hs(r.be),hi(r.dN),I(du,"loading","lazy"),I(du,"crossorigin",a)]),B)}(),I(hM,U([b7("diva-page-view-choice-label")]),U([tu(r.dN)]))]))}),hz=m(function(e,t,a){return I(de,U([b7("diva-page-view-choices")]),I(a$,p(function(t,r){return $(th,hN,e,a,t,r)}),t))}),hO={$:33},hV=p(function(e,t){return{$:52,a:e,b:t}}),hq=tc("input"),hH=b8("max"),hB=b8("min"),hD=function(e){return{a:e,b:!0}},h_=p(function(e,t){return I(tp,e,{$:1,a:t})}),hU=I(nN,U(["target","value"]),eh),hF=function(e){return I(h_,"input",I(ew,hD,I(ew,e,hU)))},hG=b8("value"),hj=x(function(e,t,a,r,n){var i=U([df("range"),hB(e),hH(t),hG(r),hF(n)]),o=a.$?i:I(_,I(b8,"step",a.a),i);return I(hq,I(_,b7("diva-filter-range-input"),o),B)}),hW=function(e){return I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hM,U([b7("diva-filter-label")]),U([tu(e.dN)])),I(hM,U([b7("diva-filter-value")]),U([tu(e.l)]))])),$(hj,e.g,e.f,e.n,e.dx,e.m)]))},hZ=p(function(e,t){return{$:40,a:e,b:t}}),hK=hR("checked"),hX=tc("label"),hY=I(nN,U(["target","checked"]),eb),hJ=function(e){return I(dl,"change",I(ew,e,hY))},hQ=function(e){return I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hX,U([b7("diva-filter-toggle is-inline")]),U([I(hq,U([df("checkbox"),hK(e.w),hJ(hZ(e.z))]),B),tu(e.dN)])),I(hM,U([b7("diva-filter-value")]),U([tu(e.l)]))])),$(hj,e.g,e.f,e.n,e.dx,e.m)]))},h0=p(function(e,t){return U([hQ({w:t.cp,l:es(t.bK),dN:e+" Gamma",f:"100",g:"0",m:hV(t.cq),z:t.cr,n:ap("1"),dx:es(t.bK)}),hQ({w:t.cP,l:es(t.b1),dN:e+" Sigmoid",f:"100",g:"0",m:hV(t.cQ),z:t.cR,n:ap("1"),dx:es(t.b1)}),hQ({w:t.cu,l:es(t.bL),dN:e+" Hue Boost",f:"100",g:"-100",m:hV(t.cv),z:t.cw,n:ap("1"),dx:es(t.bL)}),hW({l:es(t.bM),dN:e+" Hue Window",f:"30",g:"2",m:hV(t.cx),n:ap("1"),dx:es(t.bM)}),hQ({w:t.c0,l:es(t.b7),dN:e+" Vibrance",f:"100",g:"0",m:hV(t.c1),z:t.c2,n:ap("1"),dx:es(t.b7)})])}),h1=w(function(e,t,a,r){var n=I(lI,t,e.cm);return I(de,U([b7("diva-filter-group")]),I(_,I(ds,U([b9(U([{a:"diva-filter-title-button",b:!0},{a:"is-collapsed",b:!n}])),db({$:41,a:t})]),U([I(hM,U([b9(U([{a:"diva-filter-title-icon",b:!0},{a:"is-expanded",b:n}]))]),B),I(hM,B,U([tu(a)]))])),n?r:B))}),h2=function(e){return I(de,U([b7("diva-filter-row")]),e)},h4=function(e){return R(h1,e,"advanced-colour-adjust","Advanced colour adjust",I(_,h2(U([I(ds,U([b7("diva-filter-reset"),df("button"),db(hO)]),U([tu("Reset sliders")]))])),H(I(h0,"Red",{bK:e.ez.aW,cp:e.ez.br,cq:2,cr:9,bL:e.ez.aX,cu:e.ez.az,cv:5,cw:10,bM:e.ez.aY,cx:6,b1:e.ez.aZ,cP:e.ez.bs,cQ:3,cR:11,b7:e.ez.a_,c0:e.ez.bt,c1:4,c2:12}),H(I(h0,"Green",{bK:e.ez.aR,cp:e.ez.bo,cq:7,cr:5,bL:e.ez.aS,cu:e.ez.ay,cv:9,cw:6,bM:e.ez.aT,cx:10,b1:e.ez.aU,cP:e.ez.bp,cQ:8,cR:7,b7:e.ez.aV,c0:e.ez.bq,c1:11,c2:8}),I(h0,"Blue",{bK:e.ez.aM,cp:e.ez.bl,cq:12,cr:1,bL:e.ez.aN,cu:e.ez.ax,cv:14,cw:2,bM:e.ez.aO,cx:15,b1:e.ez.aP,cP:e.ez.bm,cQ:13,cR:3,b7:e.ez.aQ,c0:e.ez.bn,c1:16,c2:4})))))},h3=p(function(e,t){return{$:51,a:e,b:t}}),h6=function(e){return R(h1,e,"colour-adjust","Colour Adjust",I(rl,hQ,U([{w:e.ez.cd,l:es(e.ez.bu),dN:"Brightness",f:"255",g:"-255",m:hV(17),z:13,n:am,dx:es(e.ez.bu)},{w:e.ez.cj,l:es(e.ez.bE),dN:"Contrast",f:"4",g:"0",m:h3(1),z:20,n:ap("0.1"),dx:es(e.ez.bE)},{w:e.ez.cp,l:es(e.ez.bK),dN:"Gamma",f:"4",g:"0.1",m:h3(2),z:23,n:ap("0.1"),dx:es(e.ez.bK)},{w:e.ez.cN,l:es(e.ez.bZ),dN:"Saturation",f:"100",g:"-100",m:hV(27),z:31,n:am,dx:es(e.ez.bZ)},{w:e.ez.c0,l:es(e.ez.b7),dN:"Vibrance",f:"100",g:"-100",m:hV(29),z:34,n:am,dx:es(e.ez.b7)},{w:e.ez.cu,l:es(e.ez.bL),dN:"Hue",f:"100",g:"-100",m:hV(24),z:26,n:am,dx:es(e.ez.bL)},{w:e.ez.cg,l:es(e.ez.bx),dN:"Red",f:"100",g:"-100",m:hV(20),z:16,n:am,dx:es(e.ez.bx)},{w:e.ez.cf,l:es(e.ez.bw),dN:"Green",f:"100",g:"-100",m:hV(19),z:15,n:am,dx:es(e.ez.bw)},{w:e.ez.ce,l:es(e.ez.bv),dN:"Blue",f:"100",g:"-100",m:hV(18),z:14,n:am,dx:es(e.ez.bv)}])))},h5=p(function(e,t){return{$:54,a:e,b:t}}),h8=tc("option"),h7=U([I(h8,U([hG("gray")]),U([tu("Gray")])),I(h8,U([hG("hot")]),U([tu("Hot")])),I(h8,U([hG("cool")]),U([tu("Cool")]))]),h9=tc("select"),ve=m(function(e,t,a){return I(h9,U([b7("diva-filter-select"),hF(t),hG(e)]),a)}),vt=m(function(e,t,a){return I(hX,U([b7("diva-filter-toggle")]),U([I(hq,U([df("checkbox"),hK(t),hJ(hZ(a))]),B),tu(e)]))}),va=function(e){return R(h1,e,"colourmap","Colourmap",U([h2(U([C(vt,"Colourmap",e.ez.a1,17),C(ve,e.ez.bD,h5(0),h7)])),hW({l:es(e.ez.bC),dN:"Center",f:"255",g:"0",m:hV(21),n:am,dx:es(e.ez.bC)})]))},vr=U([I(h8,U([hG("sharpen")]),U([tu("Sharpen")])),I(h8,U([hG("blur")]),U([tu("Blur")])),I(h8,U([hG("edge")]),U([tu("Edge")])),I(h8,U([hG("emboss")]),U([tu("Emboss")]))]),vn=function(e){return R(h1,e,"convolution","Convolution",U([h2(U([C(vt,"Kernel",e.ez.ck,21),C(ve,e.ez.bF,h5(3),vr)]))]))},vi=function(e){return R(h1,e,"enhancement","Enhancement",H(I(rl,hQ,U([{w:e.ez.cF,l:es(e.ez.bR),dN:"Normalize",f:"2",g:"0",m:h3(3),z:29,n:ap("0.1"),dx:es(e.ez.bR)},{w:e.ez.c_,l:es(e.ez.b5),dN:"Unsharp",f:"3",g:"0",m:h3(7),z:33,n:ap("0.1"),dx:es(e.ez.b5)},{w:e.ez.aL,l:es(e.ez.bk),dN:"Adaptive Threshold",f:"51",g:"3",m:hV(1),z:0,n:ap("2"),dx:es(e.ez.bk)}])),U([hW({l:es(e.ez.bj),dN:"Offset",f:"50",g:"-50",m:hV(0),n:ap("1"),dx:es(e.ez.bj)})])))},vo={$:11},vu={$:27},vs=function(e){return{$:53,a:e}},vc=tc("textarea"),vl=function(e){return R(h1,e,"diva-filter-json","Import / Export Filter Settings",U([h2(U([I(ds,U([b7("diva-filter-reset"),df("button"),db(vu)]),U([tu("Show JSON")])),I(ds,U([b7("diva-filter-reset"),df("button"),db(vo)]),U([tu("Apply")]))])),I(vc,U([b7("diva-filter-json"),hG(e.cn),hF(vs),I(tx,"rows",es(6))]),B),function(){var t=e.bJ;if(t.$)return dg;var a=t.a;return I(de,U([b7("diva-filter-json-error")]),U([tu(a)]))}()]))},vb=U([I(h8,U([hG("3")]),U([tu("3x3")])),I(h8,U([hG("5")]),U([tu("5x5")])),I(h8,U([hG("7")]),U([tu("7x7")]))]),vd=U([I(h8,U([hG("erode")]),U([tu("Erode")])),I(h8,U([hG("dilate")]),U([tu("Dilate")]))]),vf=function(e){return R(h1,e,"morphology","Morphology",U([h2(U([C(vt,"Morph",e.ez.a8,28),C(ve,e.ez.bQ,h5(5),vd),C(ve,es(e.ez.bP),hV(25),vb)]))]))},vh=U([I(h8,U([hG("pca-rgb")]),U([tu("PCA (RGB)")])),I(h8,U([hG("pca1")]),U([tu("PCA Component 1")])),I(h8,U([hG("pca2")]),U([tu("PCA Component 2")])),I(h8,U([hG("pca3")]),U([tu("PCA Component 3")]))]),vv=function(e){return R(h1,e,"pca","Visible area PCA",U([h2(U([C(vt,"Visible area PCA",e.ez.a4,24),C(ve,e.ez.bT,h5(4),vh)])),hW({l:es(e.ez.bS)+"deg",dN:"Hue Rotation",f:"180",g:"-180",m:hV(23),n:ap("1"),dx:es(e.ez.bS)})]))},vg=U([I(h8,U([hG("rg")]),U([tu("Red–Green Diff")])),I(h8,U([hG("gb")]),U([tu("Green–Blue Diff")])),I(h8,U([hG("rb")]),U([tu("Red–Blue Diff")])),I(h8,U([hG("luma")]),U([tu("Luma False Colour")])),I(h8,U([hG("cmy")]),U([tu("CMY False Colour")])),I(h8,U([hG("heat")]),U([tu("Heat Map")]))]),vp=p(function(e,t){return I(hq,U([b7("diva-filter-color-input"),df("color"),hG(e),hF(t)]),B)}),vm=function(e){return R(h1,e,"pseudo-colour","Pseudo Colour",U([h2(U([C(vt,"Pseudo-colour",e.ez.ad,30),C(ve,e.ez.bW,h5(6),vg)])),hW({l:es(e.ez.bX),dN:"Red Weight",f:"2",g:"0",m:h3(6),n:ap("0.01"),dx:es(e.ez.bX)}),hW({l:es(e.ez.bV),dN:"Green Weight",f:"2",g:"0",m:h3(5),n:ap("0.01"),dx:es(e.ez.bV)}),hW({l:es(e.ez.bU),dN:"Blue Weight",f:"2",g:"0",m:h3(4),n:ap("0.01"),dx:es(e.ez.bU)}),h2(U([C(vt,"Replace Colour",e.ez.N,18)])),h2(U([I(hM,U([b7("diva-filter-label")]),U([tu("Source")])),I(vp,e.ez.bz,h5(1)),I(hM,U([b7("diva-filter-label")]),U([tu("Target")])),I(vp,e.ez.bA,h5(2))])),hW({l:es(e.ez.bB),dN:"Tolerance",f:"255",g:"0",m:hV(22),n:ap("1"),dx:es(e.ez.bB)}),hW({l:es(e.ez.by),dN:"Strength",f:"1",g:"0",m:h3(0),n:ap("0.01"),dx:es(e.ez.by)}),h2(U([C(vt,"Preserve Luminance",e.ez.ci,19)]))]))},vw=function(e){return R(h1,e,"tone","Tone",H(I(rl,function(e){return C(vt,e.a,e.b,e.c)},U([{a:"Grayscale",b:e.ez.cs,c:25},{a:"Invert",b:e.ez.cA,c:27}])),I(rl,hQ,U([{w:e.ez.cU,l:es(e.ez.b4),dN:"Threshold",f:"255",g:"0",m:hV(28),z:32,n:am,dx:es(e.ez.b4)}]))))},vx=function(e){return R(h1,e,"transform","Transform",U([I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hM,U([b7("diva-filter-label")]),U([tu("Rotation")])),I(hM,U([b7("diva-filter-range-header-right")]),U([I(hM,U([b7("diva-filter-value")]),U([tu(es(e.ez.bd)+"°")])),I(ds,U([b7("diva-filter-reset"),df("button"),db(I(hV,26,"0"))]),U([tu("Reset")]))]))])),$(hj,"-180","180",ap("1"),es(e.ez.bd),hV(26))])),h2(U([C(vt,"Mirror",e.ez.co,22)]))]))},vy=function(e){return I(de,U([b7("diva-modal-sidebar")]),U([I(tb,vx,e),I(tb,vw,e),I(tb,h6,e),I(tb,vf,e),I(tb,vn,e),I(tb,va,e),I(tb,vm,e),I(tb,vv,e),I(tb,h4,e),I(tb,vi,e),I(tb,vl,e)]))},vE=p(function(e,t){return I(de,U([b9(U([{a:"diva-modal-viewer",b:!0},{a:"is-fullscreen",b:e},{a:"is-outer-left",b:t}]))]),U([I(de,U([b7("diva-modal-canvas"),dt("filter-viewer")]),B)]))}),vI=function(e){var t=I(nD,function(t){return I(lh,t,e.aH)},e.R),a=I(nU,!1,I(n_,function(e){return aI(e.cy)>1},t));return I(de,U([b9(U([{a:"diva-modal-body",b:!0},{a:"is-no-gap",b:!0},{a:"is-fullscreen",b:e.di},{a:"is-with-choices",b:a},{a:"is-no-sidebar",b:!e.dj},{a:"is-with-choices-no-sidebar",b:a&&!e.dj}]))]),function(){var r={a:a,b:t,c:e.dj};if(r.c)if(!r.a||r.b.$)return U([I(vE,e.di,!0),vy(e)]);else{var n=r.b.a;return U([C(hz,e.c6,n.cy,e.aG),I(vE,e.di,!1),vy(e)])}if(!r.a||r.b.$)return U([I(vE,e.di,!0)]);var n=r.b.a;return U([C(hz,e.c6,n.cy,e.aG),I(vE,e.di,!1)])}())},vC={$:14},vR={$:20},v$={$:21},vL={$:23},vA={$:32},vS={$:44},vT={$:45},vk=p(function(e,t){return e?am:ap(t)}),vM=hI({A:"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",C:"0 0 448 512"}),vP=hI({A:"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z",C:"0 0 512 512"}),vN=hI({A:"M24 64c13.3 0 24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64zm217 71c9.4 9.4 9.4 24.6 0 33.9l-63 63 284.1 0-63-63c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L537 239c9.4 9.4 9.4 24.6 0 33.9L433 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l63-63-284.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L207 135c9.4-9.4 24.6-9.4 33.9 0zM640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z",C:"0 0 640 512"}),vz=hI({A:"M8.59 16.59L10 18L16 12L10 6L8.59 7.41L13.17 12L8.59 16.59z",C:"0 0 24 24"}),vO=hI({A:"M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41z",C:"0 0 24 24"}),vV=hI({A:"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",C:"0 0 512 512"}),vq=hI({A:"M295 401L167 273c-9.4-9.4-9.4-24.6 0-33.9L295 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87L488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-246.1 0 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM168 80L88 80c-22.1 0-40 17.9-40 40l0 272c0 22.1 17.9 40 40 40l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-48.6 0-88-39.4-88-88L0 120C0 71.4 39.4 32 88 32l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z",C:"0 0 512 512"}),vH=hI({A:"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z",C:"0 0 512 512"}),vB=function(e){var t,a,r=I(nU,"",I(n_,function(e){return e.dN},I(nD,function(e){return I(lh,e,t.aH)},(t=e).R))),n=I(nU,"",I(n_,function(e){return I(cu,a.en,dr(e))},da(a=e))),i=e.dj?{a:vN,b:"Hide filters"}:{a:vq,b:"Show filters"},o=i.a,u=i.b,s=function(){var t=e.R;if(t.$)return{a:!0,b:!0};var a=t.a;return{a:a<=0,b:O(a,aI(e.aH)-1)>-1}}(),c=s.a,l=s.b,b=e.di?{a:vP,b:"Exit fullscreen"}:{a:vH,b:"Fullscreen"},d=b.a,f=b.b;return I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title-stack")]),I(_,I(de,U([b7("diva-modal-title")]),U([tu("Page View")])),H(a9(n)?B:U([I(de,U([b7("diva-modal-subtitle")]),U([tu(n)]))]),a9(r)?B:U([I(de,U([b7("diva-modal-subtitle is-muted")]),U([tu(r)]))])))),I(de,U([b7("diva-modal-actions")]),U([hA({eI:vO,eO:e.db,dN:"Previous Page",dU:I(vk,c,v$)}),hA({eI:vz,eO:e.db,dN:"Next Page",dU:I(vk,l,vR)}),hA({eI:vM,eO:e.db,dN:"Save view",dU:ap(vL)}),hA({eI:vV,eO:e.db,dN:"Reset Filters",dU:ap(vA)}),hA({eI:o,eO:e.db,dN:u,dU:ap(vT)}),hA({eI:d,eO:e.db,dN:f,dU:ap(vS)}),I(de,U([b7("diva-modal-close-action")]),U([hA({eI:hC,eO:e.db,dN:"Close",dU:ap(vC)})]))]))]))},vD=function(e){return a9(e)?dg:I(de,U([b7("diva-required-statement")]),f7(e))},v_={$:38},vU={$:43},vF={$:49},vG=function(e){var t,a=!ul(le(e)),r=!(t=c9(e)).$&&!ul(t.a);return a||r},vj=function(e){return!!e},vW=function(e){return I(de,U([b7("diva-contents-empty")]),U([tu(e)]))},vZ=vW("No contents available."),vK=p(function(e,t){return I(nU,am,I(rO,t,e))}),vX=p(function(e,t){return I(nd,vY(e),t.aE)}),vY=p(function(e,t){return t.$?I(vX,e,t.a):M(t.a,e)}),vJ=m(function(e,t,a){return I(ds,H(U([b9(U([{a:"diva-contents-button",b:!0},{a:"diva-ui-button",b:!0},{a:"is-current",b:e}])),df("button"),db({$:22,a:t})]),e?U([I(du,"aria-current","location")]):B),U([tu(a)]))}),vQ=m(function(e,t,a){return I(ds,U([b7("diva-contents-disclosure diva-ui-button"),df("button"),I(du,"aria-expanded",e?"true":"false"),I(du,"aria-label",H(e?"Hide information for ":"Show information for ",a)),db({$:46,a:t})]),U([tu(e?"▾":"▸")]))}),v0=p(function(e,t){return I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu(I(cu,e,t.dN))])),I(de,U([b7("diva-metadata-value")]),f7(I(cu,e,t.dx)))]))}),v1=p(function(e,t){return ul(t)?B:U([I(de,U([b7("diva-contents-meta")]),I(rl,v0(e),t))])}),v2=m(function(e,t,a){return e?t?a?1===I(W,2,a)?a:a-1:0:a-I(W,2,a):a}),v4=m(function(e,t,a){if(a.$)return B;var r=a.a;if(!e)return U([r]);if(t&&!r)return U([0]);var n=C(v2,1,t,r);return U([n,n+1])}),v3=m(function(e,t,a){var r=I(nr,function(a){return a.$?ap(R(tf,v6,e,t,a.a)):am},a);return ul(r)?B:U([I(dR,U([b7("diva-contents-list-nested diva-list-reset")]),r)])}),v6=m(function(e,t,a){var r,n=I(vK,t,a.s),i=I(cu,e.en,a.dN),o=a9(i)?"[Untitled range]":i,u=M(e.d$,ap(a.s)),s=u?I(v1,e.en,a.dP):B,c=I(nd,function(e){return I(vX,e,a)},I(rl,function(e){return e.c7},I(nr,function(e){return I(lh,e,r.aH)},C(v4,(r=e).b8,r.b$,r.R)))),l=C(vJ,c,n,o),b=I(de,U([b7("diva-contents-heading")]),H(ul(a.dP)?B:U([C(vQ,u,a.s,o)]),U([l]))),d=C(v3,e,t,a.aE);return I(dC,U([b7("diva-contents-item")]),I(_,b,H(s,d)))}),v5=m(function(e,t,a){return I(dR,U([b7("diva-contents-list diva-list-reset")]),I(rl,C(tf,v6,e,t),a))}),v8=p(function(e,t){var a=lt(t);if(a.$)return vZ;var r=a.a;return ul(r)?vZ:C(v5,e,e.e8,r)}),v7={$:34},v9={$:35},ge=p(function(e,t){return I(de,U([b7("diva-contents-view-tabs")]),U([I(ds,U([b9(U([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:!t}])),df("button"),db(v7)]),U([tu("Index")])),I(ds,U([b9(U([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:1===t}])),df("button"),db(v9)]),U([tu(e?"On these pages":"On this page")]))]))}),gt=p(function(e,t){var a=I(iM,function(t){return t.$?I(gt,e,t.a):B},t.aE);return I(vX,e,t)?I(_,t,a):a}),ga=p(function(e,t){return I(iM,gt(e),t)}),gr=vW("No ranges for this page."),gn=function(e){var t=p(function(e,t){for(;;)if(!e.b)return az(t);else if(e.a.b){var a=e.a,r=a.a,n=a.b,i=e.b;if(r.$){var o=I(_,r.a.aE,I(_,n,i)),u=t;e=o,t=u;continue}var s=r.a,o=I(_,n,i),u=I(_,s,t);e=o,t=u;continue}else{var i=e.b,o=i,u=t;e=o,t=u;continue}});return I(t,U([e]),B)},gi=p(function(e,t){return I(nr,function(t){return I(rO,t,e)},gn(t.aE))}),go=m(function(e,t,a){var r=I(v1,e.en,a.dP),n=I(vK,e.e8,a.s),i=I(cu,e.en,a.dN),o=I(gi,t,a),u=nM(o),s=nM(az(o)),c=function(){var e={a:u,b:s};if(e.a.$)if(e.b.$)return"";else{e.a;var t=e.b.a;return"["+t+"] "}if(e.b.$){var a=e.a.a;return e.b,"["+a+"] "}var a=e.a.a,t=e.b.a;return M(a,t)?"["+a+"] ":"["+(a+"-")+t+"] "}(),l=C(vJ,!1,n,a9(i)?c+"[Untitled range]":H(c,i));return I(dC,U([b7("diva-contents-item")]),I(_,l,r))}),gu=p(function(e,t){var a,r=I(n_,function(e){return e.c7},I(nD,function(e){return I(lh,e,a.aH)},(a=e).R));if(r.$)return gr;var n=r.a,i=lt(t);if(i.$)return gr;var o=I(ga,n,i.a);if(ul(o))return gr;var u=si(I(rl,function(e){return{a:e.s,b:cs(e)}},cY(t)));return I(dR,U([b7("diva-contents-list diva-list-reset")]),I(rl,I(go,e,u),o))}),gs=function(e){var t=da(e),a=function(){var a={a:e.dD,b:t};if(a.a)if(a.b.$)return a.a,a.b,gr;else{a.a;var r=a.b.a;return I(gu,e,r)}if(a.b.$)return a.a,a.b,vZ;a.a;var r=a.b.a;return I(v8,e,r)}();return I(de,U([b7("diva-contents-panel")]),U([I(de,U([b7("diva-contents-title")]),U([tu("Contents")])),I(ge,e.b8,e.dD),a]))},gc=p(function(e,t){return I(de,B,U([I(dP,U([dN(t.s),f9("_blank"),dO("noopener noreferrer")]),U([tu(I(cu,e,t.dN))]))]))}),gl=p(function(e,t){var a=c9(t);if(a.$)return B;var r=a.a;return ul(r)?B:U([I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu("Homepage")])),I(de,U([b7("diva-metadata-value")]),I(rl,gc(e),r))]))])}),gb=p(function(e,t){return I(rl,v0(e),le(t))}),gd=m(function(e,t,a){return I(de,U([b9(U([{a:"diva-sidebar-pane",b:!0},{a:"is-hidden",b:!M(e,t)}]))]),U([a]))}),gf=w(function(e,t,a,r){return I(ds,U([b9(U([{a:"diva-sidebar-tab-button",b:!0},{a:"is-active",b:M(e,t)}])),df("button"),db(r)]),U([tu(a)]))}),gh=m(function(e,t,a){for(;;)if(e<=0)return a;else{if(!t.b)return a;var r=t.a,n=t.b,i=e-1,o=I(_,r,a);e=i,t=n,a=o;continue}}),gv=p(function(e,t){return az(C(gh,e,t,B))}),gg=m(function(e,t,a){if(t<=0)return B;var r={a:t,b:a};e:for(;;){t:for(;;)if(!r.b.b)return a;else if(r.b.b.b)switch(r.a){case 1:break e;case 2:var n=r.b,i=n.a,o=n.b.a;return U([i,o]);case 3:if(r.b.b.b.b){var u=r.b,i=u.a,s=u.b,o=s.a,c=s.b.a;return U([i,o,c])}break t;default:if(r.b.b.b.b&&r.b.b.b.b.b){var l=r.b,i=l.a,b=l.b,o=b.a,d=b.b,c=d.a,f=d.b,h=f.a,v=f.b;return e>1e3?I(_,i,I(_,o,I(_,c,I(_,h,I(gv,t-4,v))))):I(_,i,I(_,o,I(_,c,I(_,h,C(gg,e+1,t-4,v)))))}break t}else if(1===r.a)break e;else break;return a}var i=r.b.a;return U([i])}),gp=p(function(e,t){return C(gg,0,e,t)}),gm=m(function(e,t,a){for(;;)if(!t.b)return az(a);else{var r=I(lf,e,t),n=I(gp,e,t),i=e,o=I(_,n,a);e=i,t=r,a=o;continue}}),gw=p(function(e,t){return e<=0?B:C(gm,e,t,B)}),gx=p(function(e,t){return e<=1?t:I(iM,az,I(gw,e,t))}),gy={$:0},gE=w(function(e,t,a,r){return I(iB,r,C(v4,e,t,a))}),gI=y(function(e,t,a,r,n,i){var o=R(gE,t,a,r,n),u=aI(i.cy)>1,s=I(nU,I(nU,{c6:gy,s:"",bN:!1,aD:!0,dN:"",b3:"",be:"",cV:""},nM(i.cy)),nM(I(iS,function(e){return e.bN},i.cy))),c=function(){var t=I(hP,s.b3,e);if(t.$)return I(de,U([b7("diva-thumbs-image diva-thumbs-image--protected"),I(du,"aria-label","Protected image")]),B);var a=t.a;return C(dv,"diva-lazy-image",U([b7("diva-thumbs-lazy-image"),I(du,"data-src",i.be),I(du,"data-fallback-src",i.ey),I(du,"data-alt","Page "+es(n+1)),I(du,"data-crossorigin",a)]),B)}(),l=U([b9(U([{a:"diva-thumbs-item",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:o}])),df("button"),dt("thumb-"+es(n)),I(du,"data-thumb-index",es(n)),db({$:24,a:n})]);return I(ds,l,U([c,I(de,U([b9(U([{a:"diva-thumbs-label",b:!0},{a:"is-active",b:o}]))]),U([tu(u?i.dN+" *":i.dN)]))]))}),gC=p(function(e,t){var a=e.db,r=e.c6,n=e.R,i=e.b$,o=e.bf,u=e.b8,s=e.gS,c=I(a$,n7,t),l=1===s?I(gx,3,c):c;return I(de,U([b9(U([{a:"diva-thumbs",b:!0},{a:"is-fullscreen",b:a}])),dt("thumbs"),I(tm,"scroll-behavior",o?"auto":"smooth")]),I(rl,function(e){return A(tg,gI,r,u,i,n,e.a,e.b)},l))}),gR=p(function(e,t){var a=I(nU,0,I(n_,lr,t)),r=M(e.I,rw)||M(e.bY,rm)?B:e.aH,n=U([{a:"diva-sidebar-panel",b:!0},{a:"is-fullscreen",b:e.db},{a:"is-hidden",b:!vj(e.B)},{a:"is-overlay",b:e.bO},{a:"is-mobile-hidden",b:!e.bO}]),i=I(nU,!1,I(n_,vG,t)),o=i?U([C(gd,e.B,2,I(de,U([b7("diva-metadata-panel")]),function(){var t=da(e);if(t.$)return U([I(de,U([b7("diva-metadata-body")]),U([tu("No metadata available.")]))]);var a=t.a;return U([I(de,U([b7("diva-metadata-body")]),H(I(gb,e.en,a),I(gl,e.en,a)))])}()))]):B,u=i?U([R(gf,e.B,2,"Metadata",vU)]):B,s=I(nU,!1,I(n_,I(rX,ul,cj),I(nD,lt,t))),c=s?U([R(gf,e.B,3,"Contents",v_)]):B,l=s?U([C(gd,e.B,3,gs(e))]):B;return I(de,U([b9(n),I(tm,"width",vj(e.B)?es(e.b0)+"px":"0px")]),U([I(de,U([b7("diva-sidebar-tabs")]),I(_,R(gf,e.B,1,"Thumbnails",vF),H(u,c))),I(de,U([b7("diva-sidebar-content")]),I(_,C(gd,e.B,1,I(gC,{c6:e.c6,db:e.db,R:e.R,b$:e.b$,bf:e.bf,b8:e.b8,gS:a},r)),H(o,l)))]))}),g$=p(function(e,t){return I(gR,e,ap(t))}),gL=function(e){return{$:37,a:e}},gA=function(e){return 2!==e.I.$&&M(da(e),am)?dg:I(de,U([b9(U([{a:"diva-sidebar-resizer",b:!0},{a:"is-hidden",b:!vj(e.B)}])),I(dl,"mousedown",I(ew,gL,I(ev,"clientX",el)))]),U([tu("⋮")]))},gS={$:17},gT={$:18},gk={$:25},gM={$:26},gP={$:42},gN={$:47},gz={$:48},gO={$:50},gV=p(function(e,t){return O(a8(t),e)>0?I(re,e-3,t)+"...":t}),gq=function(e){var t=function(){var t=e.R;if(t.$)return"";var a=t.a;if(!e.b8)return I(nU,"",I(n_,function(e){return e.dN},I(lh,a,e.aH)));var r=C(v2,e.b8,e.b$,a),n=I(n_,function(e){return e.dN},I(lh,r+1,e.aH)),i={a:I(n_,function(e){return e.dN},I(lh,r,e.aH)),b:n};if(i.a.$)return"";var o=i.a.a;return e.b$&&!r||n.$?o:o+" / "+n.a}();return I(gV,140,t)},gH=hI({A:"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z",C:"0 0 512 512"}),gB=hI({A:"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z",C:"0 0 576 512"}),gD=hI({A:"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z",C:"0 0 384 512"}),g_=hI({A:"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z",C:"0 0 384 512"}),gU=hI({A:"M 283.05 111 C 292.45 101.6 307.65 101.6 316.95 111 C 326.25 120.4 326.35 135.6 316.95 144.9 L 277.95 183.9 L 556.05 183.9 C 569.35 183.9 580.05 194.6 580.05 207.9 C 580.05 221.2 569.35 231.9 556.05 231.9 L 277.95 231.9 L 316.95 270.9 C 326.35 280.3 326.35 295.5 316.95 304.8 C 307.55 314.1 292.35 314.2 283.05 304.8 L 203.05 224.8 C 193.65 215.4 193.65 200.2 203.05 190.9 L 283.05 110.9 L 283.05 111 Z M 392 0 C 422.9 0 448 25.1 448 56 L 448 128 L 400 128 L 400 56 C 400 51.6 396.4 48 392 48 L 88 48 C 65.9 48 48 65.9 48 88 L 48 358.7 C 57.8 354.4 68.6 352 80 352 L 392 352 C 396.4 352 400 348.4 400 344 L 400 288 L 448 288 L 448 344 C 448 366.3 434.9 385.6 416 394.6 L 416 464 L 424 464 C 437.3 464 448 474.7 448 488 C 448 501.3 437.3 512 424 512 L 80 512 C 35.8 512 0 476.2 0 432 C 0 429.3 0.1 426.6 0.4 424 L 0 424 L 0 88 C 0 39.4 39.4 0 88 0 L 392 0 Z M 80 400 C 62.3 400 48 414.3 48 432 C 48 449.7 62.3 464 80 464 L 368 464 L 368 400 L 80 400 Z",C:"0 0 640 512"}),gF=hI({A:"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z",C:"0 0 640 512"}),gG={$:39},gj=hI({A:"M217 401L345 273c9.4-9.4 9.4-24.6 0-33.9L217 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zM344 80l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24z",C:"0 0 512 512"}),gW=p(function(e,t){return I(de,U([b9(U([{a:"diva-canvas-label",b:!0},{a:"is-fullscreen",b:e}]))]),U([tu(t)]))}),gZ=hI({A:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z",C:"0 0 512 512"}),gK=hI({A:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z",C:"0 0 512 512"}),gX=function(e){var t,a,r=gq(e),n=cW(da(e));return I(de,U([b7("diva-canvas-toolbar-stack")]),U([I(de,U([b7("diva-canvas-toolbar")]),U([I(de,U([b7("diva-canvas-toolbar-section")]),U([2===e.I.$?hA({eI:e.a0?vN:gj,eO:e.db,dN:e.a0?"Hide Collection":"Show Collection",dU:ap(gG)}):dg,hA({eI:gK,eO:e.db,dN:"Zoom Out",dU:I(vk,n,gM)}),hA({eI:gZ,eO:e.db,dN:"Zoom In",dU:I(vk,n,gk)})])),I(de,U([b7("diva-canvas-toolbar-end")]),U([C(td,gW,e.db,r),I(de,U([b7("diva-canvas-toolbar-section is-right")]),H(I(rl,function(e){var a=I(nU,"Log out",I(n_,cu(t.en),e.dN)),r=e.at.$?a:a+" (popup blocked)";return I(de,U([b7("diva-canvas-toolbar-item"),I(du,"data-tooltip",r)]),U([I(ds,U([b7("diva-canvas-toolbar-button"),df("button"),I(du,"aria-label",r),I(du,"data-diva-auth-logout",e.fm),I(du,"data-diva-auth-url",e.aK)]),U([gF]))]))},I(rl,function(e){return{at:e.at,dN:e.a6.dN,fm:e.s,aK:e.a6.s}},bq((t=e).c6.af))),U([hA({eI:gD,eO:e.db,dN:"Page View",dU:I(vk,n,gT)}),hA({eI:gH,eO:e.db,dN:"Manifest Info",dU:I(vk,n,gS)}),hA({eI:e.b8?g_:gB,eO:e.db,dN:e.b8?"One Page":"Two Page",dU:I(vk,n,gO)}),hA({eI:e.b$?gU:gF,eO:e.db,dN:"Shift Pages",dU:I(vk,n||!e.b8,gN)}),hA({eI:(a=e.df?e.bO:!!e.B)?vN:vq,eO:e.db,dN:a?"Hide Sidebar":"Show Sidebar",dU:I(vk,n,gz)}),I(hL,U([I(du,"data-diva-action","fullscreen")]),{eI:e.db?vP:vH,eO:e.db,dN:e.db?"Exit Full":"Fullscreen",dU:ap(gP)})])))]))]))]))},gY=function(e){var t=e.I;switch(t.$){case 1:return e.eE?am:ap({a:"Unable to display manifest",b:"No canvases found in this manifest.",c:!1});case 2:var a=e.bY;if(3===a.$){var r=a.a;return ap({a:"Unable to load manifest",b:r,c:!0})}return e.eE?am:ap({a:"No Manifest Selected",b:"Select a manifest from the collection to view.",c:!1});case 3:var r=t.a;return ap({a:"Unable to load manifest",b:r,c:!0});default:return am}},gJ=function(e){var t={a:e.de,b:e.dE};if(t.a.$||t.b.$)return am;var a=t.a.a,r=t.b.a;return a>0?ap(es(X(r/a*100))+"%"):am},gQ={Main:{init:tU({f$:function(e){var t=rp(e.d7),a=uT(e._),r=e.d1?a:0,n=e.dS;return{a:{aw:e.aw,c6:r$,ch:am,a0:!0,dB:400,dD:0,dE:am,en:t,cm:rC,ez:uS,bJ:am,cn:"",db:!1,eE:!1,cz:e.cz,dM:!1,de:am,df:!1,X:!1,dO:!1,a7:n,bO:!1,di:!1,aG:0,cH:!1,dj:!0,aH:B,ba:am,cI:am,e8:rC,I:rw,bY:rm,dm:e.dm,R:am,d$:am,b$:!1,dr:e.dr,cO:am,_:a,B:r,b0:C(rE,220,520,e.b0),bf:!1,b8:0},b:eX(U([C(uA,rx,e.aw,n),I(rg,function(e){return I(ry,X(e.d8.dz),X(e.d8.dd))},rR)]))}},gF:function(e){return eX(U([sE(function(e){return uk(I(uD,e.fd,e.b3))}),sI(function(e){return I(uV,e.fd,e.aK)}),u8(uO),sy(I(rX,uM,uk)),u0(function(e){return uk(C(uB,e.s,e.du,e.ef))}),uQ(function(e){return uk(I(uH,e.s,e.ac))}),u4(function(e){return uk(C(u_,e.da,e.dh,e.dx))}),u6(function(e){return uk(C(uF,e.da,e.dh,e.dx))}),u3(function(e){return uk(I(uU,e.da,e.ac))}),u2(sx),u1(u9),uJ(function(e){return uk(uq)}),sm(uN),sw(uz),u5(uP),sR(uG),sC(uX),C(sv,1,"resize",I(ev,"target",C(ex,ry,I(ev,"innerWidth",el),I(ev,"innerHeight",el)))),e.cO.$?se:eX(U([sg(I(ew,uW,I(ev,"clientX",el))),sp(a2(uK))])),e.ch.$?se:eX(U([sg(I(ew,uj,I(ev,"clientX",el))),sp(a2(uZ))]))]))},gQ:b5,gR:function(e){var t,a,r,n,i=gY(e);return I(de,U([dt(e.dm)]),U([I(de,U([b9(U([{a:"diva-app",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([R(tf,hk,e.dr,e.db,I(nU,"",I(n_,function(e){return I(cu,r.en,dr(e))},da(r=e)))),I(de,U([b7("diva-app-header")]),U([gX(e)])),I(de,U([b9(U([{a:"diva-app-body",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([dM(e),2!==(t=e).I.$?dg:I(de,U([b9(U([{a:"diva-collection-resizer",b:!0},{a:"is-hidden",b:!t.a0}])),I(dl,"mousedown",I(ew,dI,I(ev,"clientX",el)))]),U([tu("⋮")])),I(de,U([b9(U([{a:"diva-canvas-column",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([L(tv,dE,e.db,e.X||M(e.I,rw)||M(e.bY,rm),2===e.I.$&&e.a0,i,gJ(e))])),gA(e),2===e.I.$?I(gR,e,da(e)):I(dm,g$(e),da(e))])),I(de,U([b7("diva-required-statement-dock")]),U([I(dm,tb(vD),I(n_,function(e){return I(cu,n.en,e.dx)},I(nD,dn,da(n=e))))])),(a=e).cH?I(de,U([b9(U([{a:"diva-modal-overlay",b:!0},{a:"is-fullscreen",b:a.di}]))]),U([I(de,U([b9(U([{a:"diva-modal",b:!0},{a:"is-fullscreen",b:a.di},{a:"is-page-view",b:!a.di}]))]),U([vB(a),vI(a)]))])):dg,e.dO?I(de,U([b7("diva-modal-overlay")]),U([I(de,U([b7("diva-modal is-narrow")]),U([hS(e),I(hf,e,da(e))]))])):dg,I(dm,dh(e),e.c6.ag)]))]))}})(I(em,function(e){return I(em,function(t){return I(em,function(a){return I(em,function(r){return I(em,function(n){return I(em,function(i){return I(em,function(o){return I(em,function(u){return I(em,function(s){return a2({aw:s,cz:u,dS:o,dm:i,d1:n,dr:r,_:a,b0:t,d7:e})},I(ev,"acceptHeaders",nl(eh)))},I(ev,"initialPage",ef))},I(ev,"objectData",eh))},I(ev,"rootElementId",eh))},I(ev,"showSidebar",eb))},I(ev,"showTitle",eb))},I(ev,"sidebarPanel",eh))},I(ev,"sidebarWidth",el))},I(ev,"userLanguage",eh)))(0)}},g0=/\/info\.json(?:[?#].*)?$/,g1=()=>new DOMException("The operation was cancelled.","AbortError"),g2=e=>"string"==typeof e?e:{...e},g4=class{resolve(e,t){if(this.destroyed||t.aborted)return Promise.reject(g1());let a=JSON.stringify([e.url,e.isStatic]),r=this.resolutionCache.get(e.sourceId);if(r&&r.descriptorKey!==a)this.invalidateSource(e.sourceId);else if(r){let e=r.resolutions.get(r.activeState);if(void 0!==e)return Promise.resolve(g2(e))}let n=this.inflight.get(e.sourceId);return n&&n.descriptorKey!==a&&(this.invalidateSource(e.sourceId),n=void 0),n||(n=this.startResolution(e,a)),this.consume(n,t)}registerSources(e){Array.from(this.inflight.values()).forEach(e=>this.cancelResolution(e)),this.resolutionCache.clear(),this.requests.forEach(e=>e.abort()),this.requests.clear(),Array.from(this.frames.keys()).forEach(e=>this.cancelFrame(e)),this.popups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.popups.clear(),this.logoutPopups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.logoutPopups.clear()}invalidateSources(e){e.forEach(e=>this.invalidateSource(e))}destroy(){this.destroyed||(this.destroyed=!0,this.root.removeEventListener("click",this.clickHandler,!0),this.ports.authDestroyed.send(null),this.requests.forEach(e=>e.abort()),this.requests.clear(),this.frames.forEach((e,t)=>this.cancelFrame(t)),this.popups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.popups.clear(),this.logoutPopups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.logoutPopups.clear(),this.pending.forEach(e=>e.reject(new DOMException("The viewer was destroyed.","AbortError"))),this.pending.clear(),this.inflight.clear(),this.resolutionCache.clear())}succeed(e){let t,a=this.pending.get(e.requestId);if(!a||this.destroyed)return;this.pending.delete(e.requestId);let r=this.inflight.get(a.sourceId);(null==r?void 0:r.requestId)===e.requestId&&this.inflight.delete(a.sourceId);let n=e.credentialed?"use-credentials":"Anonymous";t=e.infoJson&&"object"==typeof e.infoJson&&!e.isStatic?{...(e=>{let t={...e};for(let e of["id","@id"]){let a=t[e];"string"==typeof a&&g0.test(a)&&(t[e]=a.replace(g0,""))}return t})(e.infoJson),crossOriginPolicy:n,ajaxWithCredentials:e.credentialed}:e.isStatic?{type:"image",url:e.url,crossOriginPolicy:n,ajaxWithCredentials:e.credentialed}:e.credentialed?{url:e.url,crossOriginPolicy:n,ajaxWithCredentials:!0}:e.url;let i=e.credentialed?"credentialed":"anonymous",o=this.resolutionCache.get(a.sourceId),u=(null==o?void 0:o.descriptorKey)===a.descriptorKey?o.resolutions:new Map;u.set(i,t),this.resolutionCache.set(a.sourceId,{descriptorKey:a.descriptorKey,activeState:i,resolutions:u}),a.resolve(t)}fail(e,t){let a=this.pending.get(e);if(!a)return;this.pending.delete(e);let r=this.inflight.get(a.sourceId);(null==r?void 0:r.requestId)===e&&this.inflight.delete(a.sourceId),a.reject(Error(t))}startResolution(e,t){let a,r,n=`tile-source-${this.nextRequest+=1}`,i={requestId:n,descriptorKey:t,promise:new Promise((e,t)=>{a=e,r=t}),consumers:new Set};return this.pending.set(n,{sourceId:e.sourceId,descriptorKey:t,resolve:a,reject:r}),this.inflight.set(e.sourceId,i),this.ports.resolveTileSourceRequested.send({requestId:n,sourceId:e.sourceId}),i}consume(e,t){let a=this.nextConsumer+=1;return e.consumers.add(a),new Promise((r,n)=>{let i=!1,o=()=>{t.removeEventListener("abort",u),e.consumers.delete(a)},u=()=>{i||(i=!0,o(),n(g1()),0===e.consumers.size&&this.cancelResolution(e))};t.addEventListener("abort",u,{once:!0}),e.promise.then(e=>{i||(i=!0,o(),r(g2(e)))},e=>{i||(i=!0,o(),n(e))})})}cancelResolution(e){var t;let a=this.pending.get(e.requestId);a&&(this.pending.delete(e.requestId),(null==(t=this.inflight.get(a.sourceId))?void 0:t.requestId)===e.requestId&&this.inflight.delete(a.sourceId),this.ports.resolveTileSourceCancelled.send(e.requestId),a.reject(g1()))}invalidateSource(e){this.resolutionCache.delete(e);let t=this.inflight.get(e);t&&this.cancelResolution(t)}async fetch(e){let t=new AbortController;this.requests.set(e.id,t);try{let a=await fetch(e.url,{mode:"cors",credentials:e.withCredentials?"include":"omit",signal:t.signal,headers:e.bearer?{Authorization:`Bearer ${e.bearer}`}:void 0}),r=await a.text();this.destroyed||this.ports.authHttpResponded.send({id:e.id,status:a.status,body:r})}catch(a){t.signal.aborted||this.destroyed||this.ports.authHttpFailed.send({id:e.id,message:a instanceof Error?a.message:"Authorization request failed."})}finally{this.requests.delete(e.id)}}cancelFetch(e){var t;null==(t=this.requests.get(e))||t.abort(),this.requests.delete(e)}storage(e){let t="diva:iiif-auth2:"+encodeURIComponent(e.key);try{if("write"===e.action)return void sessionStorage.setItem(t,JSON.stringify({accessToken:e.accessToken,expiresAt:e.expiresAt}));if("remove"===e.action)return void sessionStorage.removeItem(t);let a=sessionStorage.getItem(t);this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:a?JSON.parse(a):null})}catch(t){"read"===e.action&&this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:null})}}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let a=t.closest("button[data-diva-auth-logout][data-diva-auth-url]");if(a&&this.root.contains(a)){e.preventDefault(),e.stopPropagation(),this.startLogout(a);return}let r=t.closest("button[data-diva-auth-flow][data-diva-auth-url]");if(!r||!this.root.contains(r))return;e.preventDefault(),e.stopPropagation();let n=r.dataset.divaAuthFlow,i=new URL(r.dataset.divaAuthUrl,location.href);i.searchParams.set("origin",location.origin);let o=window.open(i.href,"_blank");if(!o)return void this.ports.authPopupChanged.send({flowId:n,status:"blocked"});this.ports.authPopupChanged.send({flowId:n,status:"opened"});let u=Date.now(),s=window.setInterval(()=>{o.closed?(clearInterval(s),this.popups.delete(n),this.ports.authPopupChanged.send({flowId:n,status:"closed"})):Date.now()-u>6e5&&(o.close(),clearInterval(s),this.popups.delete(n),this.ports.authTokenFailed.send({flowId:n,message:"Sign-in timed out."}))},250);this.popups.set(n,{window:o,timer:s})}startLogout(e){let t=e.dataset.divaAuthLogout,a=new URL(e.dataset.divaAuthUrl,location.href),r=window.open(a.href,"_blank");if(!r)return void this.ports.authLogoutChanged.send({sessionId:t,status:"blocked"});this.ports.authLogoutChanged.send({sessionId:t,status:"opened"});let n=window.setInterval(()=>{r.closed&&(clearInterval(n),this.logoutPopups.delete(t),this.ports.authLogoutChanged.send({sessionId:t,status:"closed"}))},250);this.logoutPopups.set(t,{window:r,timer:n})}startFrame(e){this.cancelFrame(e.flowId);let t=new URL(e.url,location.href);t.searchParams.set("messageId",e.messageId),t.searchParams.set("origin",location.origin);let a=document.createElement("iframe");a.hidden=!0,a.src=t.href;let r=r=>{r.source===a.contentWindow&&r.origin===t.origin&&r.data&&"object"==typeof r.data&&r.data.messageId===e.messageId&&this.ports.authTokenMessage.send({flowId:e.flowId,now:Date.now(),value:r.data})};window.addEventListener("message",r);let n=window.setTimeout(()=>{this.cancelFrame(e.flowId),this.ports.authTokenFailed.send({flowId:e.flowId,message:"The token service did not respond."})},3e4);this.frames.set(e.flowId,{element:a,timeout:n,receive:r}),document.body.append(a)}cancelFrame(e){let t=this.frames.get(e);t&&(clearTimeout(t.timeout),window.removeEventListener("message",t.receive),t.element.remove(),this.frames.delete(e))}constructor(e,t){this.pending=new Map,this.inflight=new Map,this.resolutionCache=new Map,this.requests=new Map,this.frames=new Map,this.popups=new Map,this.logoutPopups=new Map,this.nextRequest=0,this.nextConsumer=0,this.destroyed=!1,this.ports=e,this.root=t,this.clickHandler=this.handleClick.bind(this),t.addEventListener("click",this.clickHandler,!0),e.tileSourceResolutionSucceeded.subscribe(e=>this.succeed(e)),e.tileSourceResolutionFailed.subscribe(e=>this.fail(e.requestId,e.message)),e.authHttpRequested.subscribe(e=>void this.fetch(e)),e.authHttpCancelled.subscribe(e=>this.cancelFetch(e)),e.authStorageRequested.subscribe(e=>this.storage(e)),e.authTokenFrameRequested.subscribe(e=>this.startFrame(e)),e.authTokenFrameCancelled.subscribe(e=>this.cancelFrame(e))}};function g3(e){let t=e.canvas.width,a=e.canvas.height,r=pC._ensureScratchContext(t,a);return r.clearRect(0,0,t,a),r.drawImage(e.canvas,0,0),r.getImageData(0,0,t,a)}function g6(e,t){let a=t.filters;e.filters=a?Array.isArray(a)?a:[a]:[];for(let t=0;t=0)throw Error("An item can not have filters assigned multiple times.");t.push(e)}function g8(e,t){if(0===e.filters.length)return[];let a=null;for(let r=0;r=0)return n.processors}else a=n.processors}return a||[]}var g7=(e,t)=>{let a=e[0],r=e[e.length-1];for(let n=0;n=t){r=e[n],a=e[Math.max(0,n-1)];break}if(r.stop===a.stop)return r.color.slice();let n=(t-a.stop)/(r.stop-a.stop);return[Math.round(a.color[0]+(r.color[0]-a.color[0])*n),Math.round(a.color[1]+(r.color[1]-a.color[1])*n),Math.round(a.color[2]+(r.color[2]-a.color[2])*n)]},g9=e=>{let t=[];for(let a=0;a<256;a+=1){let r=a/255;t[a]=g7(e,r)}return t},pe=new Map,pt=e=>e<0?0:e>255?255:e,pa=e=>e<0?0:e>1?1:e,pr=e=>{if(!e)return null;let t=e.trim();if(t.startsWith("#")&&(t=t.slice(1)),3===t.length&&(t=t.split("").map(e=>e+e).join("")),6!==t.length)return null;let a=parseInt(t,16);return Number.isNaN(a)?null:[a>>16&255,a>>8&255,255&a]},pn=(e,t,a,r,n)=>{let i=new Uint8ClampedArray(e.length);if(!r)return i.set(e),i;let o=1/(2*r+1);if(n){let n=new Uint8ClampedArray(t*a);for(let i=0;i>8;return n}function pu(e,t){let a=e.canvas.width,r=e.canvas.height,n=pC._ensureScratchContext(a,r);n.clearRect(0,0,a,r),n.drawImage(e.canvas,0,0);let i=n.getImageData(0,0,a,r);t(i)&&(n.putImageData(i,0,0),e.clearRect(0,0,a,r),e.drawImage(pC._scratchCanvas,0,0))}function ps(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function pc(e){let t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function pl(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function pb(e,t){let a=pc([1,1,1]);for(let r=0;r{t()};function pg(e,t,a){let r=e/255,n=t/255,i=a/255,o=Math.max(r,n,i),u=Math.min(r,n,i),s=o-u,c=0;if(o!==u){switch(o){case r:c=(n-i)/s+6*(n{i[0]=t[e],i[1]=a,i[2]=r,i[3]=n}):1===e?pi((e,a,r,n,i)=>{i[0]=e,i[1]=t[a],i[2]=r,i[3]=n}):pi((e,a,r,n,i)=>{i[0]=e,i[1]=a,i[2]=t[r],i[3]=n})}function pw(e,t){let a=t/100,r=Math.abs(a),n=e=>a>0?e+(255-e)*a:e-e*r;return 0===e?pi((e,t,a,r,i)=>{i[0]=n(e),i[1]=t,i[2]=a,i[3]=r}):1===e?pi((e,t,a,r,i)=>{i[0]=e,i[1]=n(t),i[2]=a,i[3]=r}):pi((e,t,a,r,i)=>{i[0]=e,i[1]=t,i[2]=n(a),i[3]=r})}function px(e,t){let a=Math.max(0,Math.min(100,t||0));if(0===a)return pv;let r=1-a/100*.8,n=[];for(let e=0;e<256;e+=1)n[e]=pt(255*Math.pow(e/255,r));return pm(e,n)}function py(e,t){let a=Math.max(0,Math.min(100,t||0))/100;if(0===a)return pv;let r=[];for(let e=0;e<256;e+=1){let t=255*(1/(1+Math.exp(-8*(e/255-.5))));r[e]=pt(e+(t-e)*a)}return pm(e,r)}function pE(e,t,a){let r=Math.max(-100,Math.min(100,t||0))/100;if(0===r)return pv;let n=Math.max(.02,Math.min(.3,(void 0===a?8:a)/100));return pi((t,a,i,o,u)=>{let s=pg(t,a,i),c=pa(1-(0===e?Math.min(Math.abs(s.h),Math.abs(1-s.h)):Math.abs(s.h-e))/n)*Math.abs(r);if(c<=0){u[0]=t,u[1]=a,u[2]=i,u[3]=o;return}let l=r>=0?1:-1,b=pa(s.s+l*(1-s.s)*c),d=pa(s.v+l*s.v*c*.2),f=pp(s.h,b,d);u[0]=f.r,u[1]=f.g,u[2]=f.b,u[3]=o})}function pI(e,t){let a=Math.max(0,Math.min(100,t||0))/100;if(0===a)return pv;let r=[];for(let e=0;e<256;e+=1){let t=e/255*(e/255)*a;r[e]=pt(e+(255-e)*t)}return pm(e,r)}var pC={_scratch:null,_scratchCanvas:null,_scratchContext:null,_ensureScratch:function(e){return(!this._scratch||this._scratch.length255)throw Error("Threshold must be between 0 and 255.");return pi((t,a,r,n,i)=>{let o=255*(54*t+183*a+19*r>>8>=e);i[0]=o,i[1]=o,i[2]=o,i[3]=255})},SATURATION:function(e){let t=-.01*e;return pi((e,a,r,n,i)=>{let o=Math.max(e,a,r);i[0]=e!==o?e+(o-e)*t:e,i[1]=a!==o?a+(o-a)*t:a,i[2]=r!==o?r+(o-r)*t:r,i[3]=n})},VIBRANCE:function(e){let t=-1*e;return pi((e,a,r,n,i)=>{let o=Math.max(e,a,r),u=2*Math.abs(o-(e+a+r)/3)/255*t/100;i[0]=e!==o?e+(o-e)*u:e,i[1]=a!==o?a+(o-a)*u:a,i[2]=r!==o?r+(o-r)*u:r,i[3]=n})},HUE:function(e){let t=pf(Math.abs(e)/100*360);return pi((e,a,r,n,i)=>{i[0]=pt(t.m00*e+t.m01*a+t.m02*r),i[1]=pt(t.m10*e+t.m11*a+t.m12*r),i[2]=pt(t.m20*e+t.m21*a+t.m22*r),i[3]=n})},BRIGHTNESS:function(e){if(e<-255||e>255)throw Error("Brightness adjustment must be between -255 and 255.");let t=[];for(let a=0;a<256;a+=1)t[a]=a+e;return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},CC_RED:function(e){return pw(0,e)},CC_GREEN:function(e){return pw(1,e)},CC_BLUE:function(e){return pw(2,e)},CONTRAST:function(e){if(e<0)throw Error("Contrast adjustment must be positive.");let t=[];for(let a=0;a<256;a+=1)t[a]=a*e;return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},GAMMA:function(e){if(e<0)throw Error("Gamma adjustment must be positive.");let t=[];for(let a=0;a<256;a+=1)t[a]=255*Math.pow(a/255,e);return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},GREYSCALE:function(){return pi((e,t,a,r,n)=>{let i=77*e+150*t+29*a>>8;n[0]=i,n[1]=i,n[2]=i,n[3]=255})},INVERT:function(){let e=[];for(let t=0;t<256;t+=1)e[t]=255-t;return pi((t,a,r,n,i)=>{i[0]=e[t],i[1]=e[a],i[2]=e[r],i[3]=n})},MORPHOLOGICAL_OPERATION:function(e,t){if(e%2==0)throw Error("The kernel size must be an odd number.");let a=Math.floor(e/2);if(!t)throw Error("A comparator must be defined.");return function(r,n){pu(r,r=>{let n=r.width,i=r.height,o=pC._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,a,r,n,i,o){let u=4*a,s=r-i,c=a-i;for(let a=i;a=i&&l=i&&s=r)continue;let b=c*u;for(let t=0;t=0&&r{let n=r.width,i=r.height,o=pC._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,a,r,n,i,o){let u=4*a,s=r-o,c=a-o;for(let a=o;a=o&&l=o&&s=r)continue;let b=c*u;for(let r=0;r=0&&ut?0|Math.min((n-t)/r*128+128,255):0|Math.max(0,n/(t/128)),a[n]=e[i]}return pi((e,t,r,n,i)=>{let o=a[(e+t+r)/3|0];i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=255})},COLORMAP_PRESET:function(e){var t=e||"";let a=pe.get(t);if(a)return a;let r=null;switch(t){case"hot":r=g9([{stop:0,color:[0,0,0]},{stop:.4,color:[255,0,0]},{stop:.7,color:[255,255,0]},{stop:1,color:[255,255,255]}]);break;case"cool":r=g9([{stop:0,color:[0,0,0]},{stop:.5,color:[0,128,255]},{stop:1,color:[255,255,255]}]);break;case"gray":case"":r=g9([{stop:0,color:[0,0,0]},{stop:1,color:[255,255,255]}]);break;default:return null}return pe.set(t,r),r},CONVOLUTION_PRESET:function(e){switch((e||"").toLowerCase()){case"sharpen":return[0,-1,0,-1,5,-1,0,-1,0];case"blur":return[1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9];case"edge":return[-1,-1,-1,-1,8,-1,-1,-1,-1];case"emboss":return[-2,-1,0,-1,1,1,0,1,2];default:return null}},PSEUDOCOLOR:function(e,t,a,r){let n=(e||"").toLowerCase(),i=void 0===t?1:t,o=void 0===a?1:a,u=void 0===r?1:r,s=(e,t,a,r)=>{r[0]=pt(e*i),r[1]=pt(t*o),r[2]=pt(a*u)};return pi((e,t,a,r,i)=>{let o=.2126*e+.7152*t+.0722*a;switch(n){case"rg":{let a=pt(128+(e-t));s(a,255-a,(e+t)/2,i),i[3]=r;return}case"gb":{let e=pt(128+(t-a));s((t+a)/2,e,255-e,i),i[3]=r;return}case"rb":{let t=pt(128+(e-a));s(t,(e+a)/2,255-t,i),i[3]=r;return}case"luma":{let e=pt(o);s(e,255-e,e,i),i[3]=r;return}case"cmy":s(255-e,255-t,255-a,i),i[3]=r;return;case"heat":{let e=pt(o)/255;s(pt(255*Math.min(1,3*e)),pt(255*Math.min(1,Math.max(0,(e-.33)*3))),pt(255*Math.min(1,Math.max(0,(e-.66)*3))),i),i[3]=r;return}case"pca1":{let n=pt(.6*e+.3*t+.1*a);s(n,255-n,n,i),i[3]=r;return}case"pca2":{let n=pt(.5*e-.2*t-.3*a+128);s(n,255-n,255-n,i),i[3]=r;return}case"pca3":{let n=pt(.2*e+.6*t-.8*a+128);s(255-n,n,255-n,i),i[3]=r;return}default:s(e,t,a,i),i[3]=r}})},COLOR_REPLACE:function(e,t,a,r,n){let i=pr(e),o=pr(t);if(!i||!o)return pv;let u=Math.max(0,Math.min(255,void 0===a?0:a)),s=Math.max(0,Math.min(1,void 0===r?1:r)),c=pg(o[0],o[1],o[2]);return pi((e,t,a,r,l)=>{let b,d=e-i[0],f=t-i[1],h=a-i[2],v=Math.sqrt(d*d+f*f+h*h);if((b=(u<=0?+(0===v):1-Math.min(1,v/u))*s)<=0){l[0]=e,l[1]=t,l[2]=a,l[3]=r;return}let g=o[0],p=o[1],m=o[2];if(n){let r=(.2126*e+.7152*t+.0722*a)/255,n=pp(c.h,c.s,r);g=n.r,p=n.g,m=n.b}l[0]=pt(e+(g-e)*b),l[1]=pt(t+(p-t)*b),l[2]=pt(a+(m-a)*b),l[3]=r})},ALT_RED_GAMMA:function(e){return px(0,e)},ALT_GREEN_GAMMA:function(e){return px(1,e)},ALT_BLUE_GAMMA:function(e){return px(2,e)},ALT_RED_SIGMOID:function(e){return py(0,e)},ALT_GREEN_SIGMOID:function(e){return py(1,e)},ALT_BLUE_SIGMOID:function(e){return py(2,e)},ALT_RED_HUE:function(e,t){return pE(0,e,t)},ALT_GREEN_HUE:function(e,t){return pE(1/3,e,t)},ALT_BLUE_HUE:function(e,t){return pE(2/3,e,t)},ALT_RED_VIBRANCE:function(e){return pI(0,e)},ALT_GREEN_VIBRANCE:function(e){return pI(1,e)},ALT_BLUE_VIBRANCE:function(e){return pI(2,e)},GLOBAL_PCA_COLOR:function(e,t){let a=(e||"").toLowerCase(),r=Math.max(-180,Math.min(180,null!=t?t:0)),n={count:0,mean:[0,0,0],m2:[[0,0,0],[0,0,0],[0,0,0]]},i=null;return function(e,t){pu(e,e=>{let t=e.data;return!i&&(!function(e,t){for(let a=0;a=2e3&&(i=function(e){if(e.count<2)return null;let t=1/(e.count-1),a=[[e.m2[0][0]*t,e.m2[0][1]*t,e.m2[0][2]*t],[e.m2[1][0]*t,e.m2[1][1]*t,e.m2[1][2]*t],[e.m2[2][0]*t,e.m2[2][1]*t,e.m2[2][2]*t]];return pd(e.mean,a)}(n))),i?!function(e,t,a,r){let n=e.data,i=a.mean,o=a.vectors[0],u=a.vectors[1],s=a.vectors[2],c=Math.sqrt(Math.max(1e-6,a.values[0])),l=Math.sqrt(Math.max(1e-6,a.values[1])),b=Math.sqrt(Math.max(1e-6,a.values[2])),d=(e,t)=>pt(128+e/(3*t)*127);for(let e=0;el&&(l=v),gd&&(d=g),ph&&(h=p)}let v=l-c||1,g=d-b||1,p=h-f||1,m=(e,t,a)=>pt((e-t)/a*255);for(let e=0;e{let a=e.width,r=e.height;if(!a||!r)return!1;let n=e.data,i=po(n,a,r),o=pn(i,a,r,6,!0);for(let e=0,a=0;e{let a=e.width,r=e.height;if(!a||!r)return!1;let n=pn(e.data,a,r,2),i=e.data;for(let e=0;e{let t=e.width,n=e.height;if(!t||!n)return!1;let i=e.data,o=po(i,t,n),u=pn(o,t,n,Math.floor(a/2),!0);for(let e=0,t=0;eu[t]+r);i[e]=a,i[e+1]=a,i[e+2]=a}return!0}),t()}}},pR="diva-inline-styles";(e=>{if("u":first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-fullscreen,.diva-collection-panel.is-fullscreen{border-radius:0;height:100%}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs.is-fullscreen{height:100%}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-image{border-radius:0;width:100%;height:auto;display:block}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-panel{height:100%;padding:12px;overflow:auto}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{border-radius:0;height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-fullscreen{flex:1;min-height:0}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-viewer.is-fullscreen{border-radius:0;height:100%}.diva-modal-viewer.is-outer-left{border-radius:0}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb{border-radius:0;width:100%;height:auto;display:block}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{border-radius:0;width:100%;height:auto}}");var p$=class extends EventTarget{detectLanguage(){return navigator.language.split("-")[0]}initialPageFlag(e){return"number"==typeof e?Number.isInteger(e)&&e>=0?e:null:e&&"object"==typeof e&&("canvasId"===e.by||"label"===e.by)&&"string"==typeof e.value?{by:e.by,value:e.value}:null}getConnectedRoot(){let e=document.getElementById(this.rootId);return e||this.root}bindPorts(){this.getPort("tileSourcesUpdated").subscribe(e=>{this.auth.registerSources(e.tileSources),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setTileSources",e.tileSources,e.initialPageIndex,e.resourceId)}),this.getPort("pageAspectsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageAspects",e)}),this.getPort("pageLabelsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageLabels",e)}),this.getPort("pagesUpdated").subscribe(e=>{this.pages=e.map(e=>this.copyPage(e)),this.rebuildPageIndexes(),this.updateState({pageCount:this.pages.length,currentPageIndex:null,visiblePageIndexes:[]})}),this.getPort("zoomLevelUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setZoomLevel",e)}),this.getPort("zoomBy").subscribe(e=>{this.callViewerMethod("zoomBy",e)}),this.getPort("scrollToIndex").subscribe(e=>{this.callViewerMethod("scrollToIndex",e)}),this.getPort("filterPreviewUpdated").subscribe(e=>{var t;e?(this.filterPreviewVersion+=1,null==(t=this.filterPreviewController)||t.abort(),this.filterPreviewController=null,this.pendingFilterPreview=e,this.applyFilterPreview()):this.closeFilterPreview()}),this.getPort("setFullscreen").subscribe(e=>{this.setFullscreen(e)}),this.getPort("saveFilteredImage").subscribe(()=>{this.saveFilteredImage()}),this.getPort("layoutConfigUpdated").subscribe(e=>{this.callViewerMethod("setLayoutConfig",e.mode,e.direction)||this.callViewerMethodWhenReady("setLayoutConfig",e.mode,e.direction),this.updateLayoutState(e.mode,e.direction)}),this.getPort("layoutModeUpdated").subscribe(e=>{this.callViewerMethod("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection)}),this.getPort("resourceLoadSucceeded").subscribe(e=>{this.handleResourceSucceeded(e.requestId,e.url,e.hasPages,e.pageIndex)}),this.getPort("resourceLoadFailed").subscribe(e=>{this.handleResourceFailed(e.requestId,e.message)}),this.getPort("copyToClipboard").subscribe(e=>{this.copyToClipboard(e)}),this.getPort("authSourcesInvalidated").subscribe(e=>{this.auth.invalidateSources(e),this.callViewerMethodWhenReady("invalidateTileSources",e)})}ensureMainViewer(){let e=document.getElementById("main-viewer");return e&&e!==this.mainViewer&&(this.mainViewer=e),this.mainViewer}copyPage(e){var t;let a=e.images.map(e=>({...e})),r=null!=(t=a.find(t=>t.id===e.primaryImage.id&&t.isPrimary))?t:{...e.primaryImage};return{index:e.index,canvasId:e.canvasId,label:e.label,...null===e.width||void 0===e.width?{}:{width:e.width},...null===e.height||void 0===e.height?{}:{height:e.height},primaryImage:{...r},images:a}}rebuildPageIndexes(){this.pagesByCanvasId.clear(),this.pagesByLabel.clear(),this.pages.forEach(e=>{this.pagesByCanvasId.has(e.canvasId)||this.pagesByCanvasId.set(e.canvasId,e);let t=e.label.toLowerCase();this.pagesByLabel.has(t)||this.pagesByLabel.set(t,e)})}pageForSelector(e){if(!e||"object"!=typeof e||"canvasId"!==e.by&&"label"!==e.by||"string"!=typeof e.value)throw TypeError("A page selector must contain a supported 'by' value and a string 'value'.");return"canvasId"===e.by?this.pagesByCanvasId.get(e.value):this.pagesByLabel.get(e.value.toLowerCase())}copyState(){return{...this.state,visiblePageIndexes:this.state.visiblePageIndexes.slice()}}updateState(e){this.state={...this.state,...e}}emit(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}updateLayoutState(e,t){let a="spread"===e||"spread-shift"===e?e:"single",r="rtl"===t?"rtl":"ltr",n=this.ensureMainViewer(),i=n&&"function"==typeof n.getVisiblePageIndexes?n.getVisiblePageIndexes():this.state.visiblePageIndexes,o=a!==this.state.layoutMode||r!==this.state.viewingDirection;this.updateState({layoutMode:a,viewingDirection:r,visiblePageIndexes:i}),o&&this.emit("layoutchange",{layoutMode:a,viewingDirection:r})}handleResourceSucceeded(e,t,a,r){var n;if(e!==this.activeResourceRequestId)return;let i="initial"!==e;if(i&&(this.updateState({resourceUrl:t}),this.emit("resourcechange",{resourceUrl:t,state:this.copyState()})),a){this.awaitingViewerResource={id:e,url:t,pageIndex:r,resourceChangeEmitted:i};let a=this.ensureMainViewer(),o=null==(n=this.pages[r])?void 0:n.primaryImage.id;o&&a&&"function"==typeof a.isPageLoaded&&a.isPageLoaded(r,o)&&this.completeResource(e,t,!i);return}this.completeResource(e,t,!i)}completeResource(e,t,a){e===this.activeResourceRequestId&&(this.awaitingViewerResource=null,this.updateState({resourceUrl:t,ready:!0}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyResolve(),this.emit("ready",this.copyState())),"initial"!==e&&this.pendingResource&&(this.pendingResource.resolve(),this.pendingResource=null),a&&this.emit("resourcechange",{resourceUrl:t,state:this.copyState()}))}handleResourceFailed(e,t){var a,r;if(e!==this.activeResourceRequestId)return;let n=Error(t),i=(null==(a=this.pendingResource)?void 0:a.id)===e&&this.pendingResource.previousReady;this.awaitingViewerResource=null,this.updateState({ready:i}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(n)),"initial"!==e&&(null==(r=this.pendingResource)?void 0:r.id)===e&&(this.pendingResource.reject(n),this.pendingResource=null),this.emit("error",{error:n,operation:"setResource",recoverable:"initial"!==e})}assertAlive(){if(this.isDestroyed)throw new DOMException("The Diva instance was destroyed.","InvalidStateError")}assertPageIndex(e){if(!Number.isInteger(e)||e<0||e>=this.pages.length)throw RangeError(`Page index ${e} is outside the available page range.`)}refreshLoadingState(){let e=this.resourceLoading||this.viewerLoading;e!==this.state.loading&&(this.updateState({loading:e}),this.emit("loadingchange",{loading:e}))}async waitForResource(){this.assertAlive(),this.pendingResource?await this.pendingResource.promise:await this.ready,this.assertAlive()}async applyFilterPreview(){if(this.isDestroyed||!this.pendingFilterPreview)return;if(!this.ensureFilterViewerElement()){this.filterPreviewRetries<10&&(this.filterPreviewRetries+=1,null===this.filterPreviewRafId&&(this.filterPreviewRafId=requestAnimationFrame(()=>{this.filterPreviewRafId=null,this.applyFilterPreview()})));return}let e=this.pendingFilterPreview;this.pendingFilterPreview=null,this.filterPreviewRetries=0;let t=this.filterPreviewVersion;if(this.filterOptions=e.filters||null,this.ensureFilterViewer(),this.filterViewer){let a=JSON.stringify([e.sourceId,e.tileSource,e.isStatic]);if(this.currentFilterSourceKey!==a){let r,n=new AbortController;this.filterPreviewController=n;try{r=await this.auth.resolve({sourceId:e.sourceId,url:e.tileSource,isStatic:e.isStatic},n.signal)}catch(e){n.signal.aborted||this.isDestroyed||this.filterPreviewVersion;return}finally{this.filterPreviewController===n&&(this.filterPreviewController=null)}if(this.isDestroyed||t!==this.filterPreviewVersion)return;this.currentFilterSourceKey=a,this.filterViewer.open(r)}else this.applyFilterOptions()}}copyToClipboard(e){if(navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)return void navigator.clipboard.writeText(e).catch(()=>{})}bindPageChange(){this.bindViewerEvent("diva-page-change",this.handlePageChangeBound)}bindFullscreenChange(){document.addEventListener("fullscreenchange",this.handleFullscreenChangeBound)}bindZoomChange(){this.bindViewerEvent("diva-zoom-change",this.handleZoomChangeBound)}bindLoadingChange(){this.bindViewerEvent("diva-loading-change",this.handleLoadingChangeBound)}bindRootClick(){this.getConnectedRoot().addEventListener("click",this.handleRootClickBound,!0)}addEventListener(e,t,a){super.addEventListener(e,t,a)}removeEventListener(e,t,a){super.removeEventListener(e,t,a)}getState(){return this.copyState()}getPages(){return this.pages.map(e=>this.copyPage(e))}findPage(e){let t=this.pageForSelector(e);return t?this.copyPage(t):void 0}getCurrentPage(){let e=this.state.currentPageIndex;return null!==e&&this.pages[e]?this.copyPage(this.pages[e]):void 0}getVisiblePages(){return this.state.visiblePageIndexes.map(e=>this.pages[e]).filter(Boolean).map(e=>this.copyPage(e))}getLayoutMode(){return this.state.layoutMode}setResource(e){let t,a;if(this.assertAlive(),!e||"string"!=typeof e)return Promise.reject(TypeError("A resource URL is required."));this.pendingResource&&(this.pendingResource.reject(new DOMException("The resource load was superseded.","AbortError")),this.pendingResource=null),this.awaitingViewerResource=null;let r=this.state.ready,n=`public-${++this.resourceSequence}`,i=new Promise((e,r)=>{t=e,a=r});return i.catch(()=>{}),this.pendingResource={id:n,promise:i,resolve:t,reject:a,previousReady:r},this.activeResourceRequestId=n,this.updateState({ready:!1}),this.resourceLoading=!0,this.refreshLoadingState(),this.getPort("resourceRequested").send({requestId:n,url:e}),i}async goToPage(e){if(await this.waitForResource(),"number"!=typeof e){let t=this.pageForSelector(e);return!!t&&(await this.callViewerMethodAsync("scrollToIndex",t.index),!0)}this.assertPageIndex(e),await this.callViewerMethodAsync("scrollToIndex",e)}async next(){await this.waitForResource(),await this.callViewerMethodAsync("next")}async previous(){await this.waitForResource(),await this.callViewerMethodAsync("previous")}async setZoom(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom must be a positive finite number.");await this.callViewerMethodAsync("setZoomLevel",e)}async zoomBy(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom factor must be a positive finite number.");await this.callViewerMethodAsync("zoomBy",e)}zoomIn(){return this.zoomBy(1.6)}zoomOut(){return this.zoomBy(.625)}async fitToPage(e){await this.waitForResource();let t=null!=e?e:this.state.currentPageIndex;if(null===t)throw RangeError("There is no current page.");this.assertPageIndex(t),await this.callViewerMethodAsync("fitToPage",t)}async zoomToRegion(e,t,a={}){var r;if(await this.waitForResource(),this.assertPageIndex(e),![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.x<0||t.y<0||t.width<=0||t.height<=0)throw RangeError("Region coordinates must be finite, non-negative, and have positive dimensions.");let n=null!=(r=a.padding)?r:.05;if(!Number.isFinite(n)||n<0)throw RangeError("Region padding must be a non-negative finite number.");await this.callViewerMethodAsync("zoomToRegion",e,t,a)}async setLayoutMode(e){if(await this.waitForResource(),!["single","spread","spread-shift"].includes(e))throw RangeError(`Unsupported layout mode: ${e}`);await this.callViewerMethodAsync("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection),this.getPort("layoutModeRequested").send(e)}async enterFullscreen(){this.assertAlive(),document.fullscreenElement||await this.getConnectedRoot().requestFullscreen()}async exitFullscreen(){this.assertAlive(),document.fullscreenElement&&await document.exitFullscreen()}toggleFullscreen(){return document.fullscreenElement?this.exitFullscreen():this.enterFullscreen()}destroy(){var e;if(this.isDestroyed)return;this.isDestroyed=!0;let t=new DOMException("The Diva instance was destroyed.","InvalidStateError");this.readySettled||(this.readySettled=!0,this.readyReject(t)),null==(e=this.pendingResource)||e.reject(t),this.pendingResource=null,this.awaitingViewerResource=null,this.updateState({destroyed:!0,loading:!1}),this.closeFilterPreview(),this.auth.destroy(),null!==this.viewerMethodRafId&&(cancelAnimationFrame(this.viewerMethodRafId),this.viewerMethodRafId=null),this.pendingViewerMethods.clear();let a=this.getConnectedRoot();this.removeViewerEvent("diva-page-change",this.handlePageChangeBound),this.removeViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.removeViewerEvent("diva-zoom-change",this.handleZoomChangeBound),this.removeViewerEvent("diva-loading-change",this.handleLoadingChangeBound),this.removeViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound),a.removeEventListener("click",this.handleRootClickBound,!0),document.removeEventListener("fullscreenchange",this.handleFullscreenChangeBound),a&&(a.__divaInstance===this&&delete a.__divaInstance,a.elmTree&&delete a.elmTree,a.innerHTML="")}closeFilterPreview(){var e;this.filterPreviewVersion+=1,null==(e=this.filterPreviewController)||e.abort(),this.filterPreviewController=null,null!==this.filterPreviewRafId&&(cancelAnimationFrame(this.filterPreviewRafId),this.filterPreviewRafId=null),this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.filterViewerElement=null,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterOptions=null,this.filterPreviewRetries=0}setFullscreen(e){let t=this.getConnectedRoot();if(e){if(document.fullscreenElement||!document.fullscreenEnabled)return;t.requestFullscreen().catch(()=>{});return}document.fullscreenElement&&document.exitFullscreen().catch(()=>{})}handleRootClick(e){let t=e.target;if(!(t instanceof Element))return;let a=this.getConnectedRoot(),r=t.closest("button[data-diva-action='fullscreen']");r&&a.contains(r)&&(e.preventDefault(),e.stopPropagation(),this.toggleFullscreenFromUserActivation())}toggleFullscreenFromUserActivation(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.fullscreenEnabled&&this.getConnectedRoot().requestFullscreen().catch(()=>{})}handlePageChange(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;t.instant?this.getPort("pageIndexChangedInstant").send(t.index):this.getPort("pageIndexChanged").send(t.index);let a=this.ensureMainViewer(),r=a&&"function"==typeof a.getVisiblePageIndexes?a.getVisiblePageIndexes():[t.index];this.updateState({currentPageIndex:t.index,visiblePageIndexes:r});let n=this.pages[t.index];n&&this.emit("pagechange",{pageIndex:t.index,page:this.copyPage(n),visiblePages:this.getVisiblePages()})}handlePageLoaded(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;let a=this.awaitingViewerResource;a&&t.resourceId===a.id&&t.index===a.pageIndex&&this.completeResource(a.id,a.url,!a.resourceChangeEmitted)}handleZoomChange(e){let t=e.detail;t&&"number"==typeof t.zoom&&(this.getPort("zoomChanged").send(t.zoom),this.updateState({zoom:t.zoom}),this.emit("zoomchange",{zoom:t.zoom}))}handleLoadingChange(e){let t=e.detail;t&&"boolean"==typeof t.loading&&(this.getPort("viewerLoadingChanged").send(t.loading),this.viewerLoading=t.loading,this.refreshLoadingState())}handlePageLoadError(e){var t;let a=e.detail,r=Error((null==a?void 0:a.message)||"The image could not be loaded."),n=this.awaitingViewerResource;if(n&&(null==a?void 0:a.resourceId)===n.id&&(null==a?void 0:a.index)===n.pageIndex){this.updateState({ready:!1}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(r)),"initial"!==n.id&&(null==(t=this.pendingResource)?void 0:t.id)===n.id&&(this.pendingResource.reject(r),this.pendingResource=null),this.emit("error",{error:r,operation:"loadPage",recoverable:!0});return}this.emit("error",{error:r,operation:"loadPage",recoverable:!0})}handleFullscreenChange(){let e=!!document.fullscreenElement;this.getPort("fullscreenChanged").send(e),this.updateState({fullscreen:e}),this.emit("fullscreenchange",{fullscreen:e})}ensureFilterViewer(){!this.filterViewer&&this.filterViewerElement&&(this.filterViewer=OpenSeadragon({element:this.filterViewerElement,showNavigationControl:!1,preserveViewport:!0,visibilityRatio:0,drawer:"canvas",crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1}),this.filterViewer.addHandler("open",()=>{var e;let t=null==(e=this.filterViewer)?void 0:e.drawer,a=t&&t.canvas?t.canvas:null;if(a&&"function"==typeof a.getContext){let e=a.getContext("2d",{willReadFrequently:!0});e&&(t.context=e)}this.filterViewer&&this.filterViewer.viewport&&this.filterViewer.viewport.fitBounds(this.filterViewer.world.getHomeBounds(),!0),this.filterViewerFlipped=!1,this.applyFilterOptions()}))}ensureFilterViewerElement(){let e=document.getElementById("filter-viewer");return e?(this.filterViewerElement!==e&&(this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.currentFilterSourceKey=null,this.filterViewerFlipped=!1,this.filterViewerElement=e),this.filterViewerElement):(this.filterViewerElement=null,null)}applyFilterOptions(){if(!this.filterViewer)return;let e=pk(this.filterOptions);var t,a,r=this.filterViewer;if(!r)throw Error("A viewer must be specified.");if(r.filterPluginInstance?g6(r.filterPluginInstance,e||{}):r.filterPluginInstance=function(e,t){let a={viewer:e,filters:[],filterIncrement:0};function r(e,t,r){if(r){let n=a.filterIncrement,i=[];for(let r=0;r{a.filterIncrement===n&&t[r+1](e,i[r+1])};i[t.length-1]=()=>{a.filterIncrement===n&&r()},t[0](e,i[0])}else for(let a=0;a{})}return a.viewer.addHandler("tile-loaded",function(e){let t=g8(a,e.tiledImage);if(0===t.length)return;let n=e.tile,i=e.data||e.image;if(null!=i){let o=window.document.createElement("canvas");o.width=i.width,o.height=i.height;let u=o.getContext("2d",{willReadFrequently:!0});u.drawImage(i,0,0),n._renderedContext=u,r(u,t,e.getCompletionCallback()),n._filterIncrement=a.filterIncrement}}),a.viewer.addHandler("tile-drawing",function(e){let t=e.tile,n=e.rendered;if(n._filterIncrement===a.filterIncrement)return;let i=g8(a,e.tiledImage);if(0===i.length){n._originalImageData&&(n.putImageData(n._originalImageData,0,0),delete n._originalImageData),n._filterIncrement=a.filterIncrement;return}if(n._originalImageData?n.putImageData(n._originalImageData,0,0):n._originalImageData=g3(n),t._renderedContext){if(t._filterIncrement===a.filterIncrement){let e=g3(t._renderedContext);n.putImageData(e,0,0),delete t._renderedContext,delete t._filterIncrement,n._filterIncrement=a.filterIncrement;return}delete t._renderedContext,delete t._filterIncrement}r(n,i),n._filterIncrement=a.filterIncrement}),g6(a,t),a}(r,e||{}),this.filterViewer.viewport){let e=(null==(t=this.filterOptions)?void 0:t.rotation)||0;this.filterViewer.viewport.setRotation(e);let r=!!(null==(a=this.filterOptions)?void 0:a.flip),n=this.filterViewer.viewport;if("function"==typeof n.toggleFlip){let e=this.filterViewerFlipped;"function"==typeof n.getFlip&&(e=!!n.getFlip()),r!=e&&(n.toggleFlip(),this.filterViewerFlipped=r)}}}saveFilteredImage(){if(!this.filterViewer)return;let e=this.filterViewer.drawer,t=e&&e.canvas?e.canvas:null;if(t)try{let e=t.toDataURL("image/png"),a=document.createElement("a");a.href=e,a.download=`diva-filtered-${Date.now()}.png`,document.body.appendChild(a),a.click(),a.remove()}catch(e){}}getPort(e){let t=this.app.ports,a=t?t[e]:void 0;if(!a)throw Error(`Missing Elm port: ${String(e)}`);return a}callViewerMethod(e,...t){let a=this.ensureMainViewer();if(!a)return!1;let r=a[e];return"function"==typeof r&&(r.apply(a,t),!0)}async callViewerMethodAsync(e,...t){let a=0;for(;a<120;){this.assertAlive();let r=this.ensureMainViewer(),n=null==r?void 0:r[e];if("function"==typeof n)return await n.apply(r,t);a+=1,await new Promise(e=>requestAnimationFrame(()=>e()))}throw new DOMException(`The viewer method ${e} is not available.`,"InvalidStateError")}callViewerMethodWhenReady(e,...t){if(this.callViewerMethod(e,...t)){this.viewerMethodAttempts=0;return}this.pendingViewerMethods.set(e,t),this.viewerMethodAttempts=0,this.scheduleViewerMethodFlush()}scheduleViewerMethodFlush(){this.isDestroyed||null!==this.viewerMethodRafId||(this.viewerMethodRafId=requestAnimationFrame(()=>{this.viewerMethodRafId=null,this.flushPendingViewerMethods()}))}flushPendingViewerMethods(){if(this.isDestroyed||0===this.pendingViewerMethods.size)return;let e=Array.from(this.pendingViewerMethods.entries());if(this.pendingViewerMethods.clear(),e.forEach(([e,t])=>{this.callViewerMethod(e,...t)||this.pendingViewerMethods.set(e,t)}),0===this.pendingViewerMethods.size){this.viewerMethodAttempts=0;return}this.viewerMethodAttempts<120&&(this.viewerMethodAttempts+=1,this.scheduleViewerMethodFlush())}bindViewerEvent(e,t){let a=this.ensureMainViewer();a&&(a.removeEventListener(e,t),a.addEventListener(e,t))}removeViewerEvent(e,t){let a=this.ensureMainViewer();a&&a.removeEventListener(e,t)}constructor(e,t){super(),this.mainViewer=null,this.pendingViewerMethods=new Map,this.viewerMethodRafId=null,this.viewerMethodAttempts=0,this.filterViewer=null,this.filterViewerElement=null,this.filterOptions=null,this.filterViewerFlipped=!1,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterPreviewVersion=0,this.filterPreviewRetries=0,this.filterPreviewRafId=null,this.filterPreviewController=null,this.isDestroyed=!1,this.pages=[],this.pagesByCanvasId=new Map,this.pagesByLabel=new Map,this.readySettled=!1,this.activeResourceRequestId="initial",this.resourceSequence=0,this.pendingResource=null,this.awaitingViewerResource=null,this.resourceLoading=!0,this.viewerLoading=!1;let a=document.getElementById(e);if(!a)throw Error(`Missing root element: ${e}`);a.__divaInstance&&a.__divaInstance.destroy(),a.elmTree&&(delete a.elmTree,a.innerHTML=""),this.rootId=e,this.root=a,this.isDestroyed=!1,this.state={resourceUrl:t.objectData,ready:!1,loading:!0,pageCount:0,currentPageIndex:null,visiblePageIndexes:[],layoutMode:"single",viewingDirection:"ltr",zoom:null,fullscreen:!1,destroyed:!1},this.ready=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t}),this.ready.catch(()=>{}),this.handlePageChangeBound=this.handlePageChange.bind(this),this.handlePageLoadedBound=this.handlePageLoaded.bind(this),this.handleZoomChangeBound=this.handleZoomChange.bind(this),this.handleLoadingChangeBound=this.handleLoadingChange.bind(this),this.handlePageLoadErrorBound=this.handlePageLoadError.bind(this),this.handleFullscreenChangeBound=this.handleFullscreenChange.bind(this),this.handleRootClickBound=this.handleRootClick.bind(this);let r=this.detectLanguage(),n=t.sidebarWidth,i="number"==typeof n&&Number.isFinite(n)?Math.min(520,Math.max(220,Math.round(n))):320,o="contents"===t.sidebarPanel||"metadata"===t.sidebarPanel?t.sidebarPanel:"thumbnails";this.app=gQ.Main.init({node:a,flags:{rootElementId:e,objectData:t.objectData,initialPage:this.initialPageFlag(t.initialPage),acceptHeaders:t.acceptHeaders||[],showSidebar:!1!==t.showSidebar,sidebarWidth:i,sidebarPanel:o,showTitle:!1!==t.showTitle,userLanguage:t.setLanguage||r}}),this.root=this.getConnectedRoot(),this.auth=new g4(this.app.ports,this.root),this.tileSourceResolver=(e,t)=>this.auth.resolve(e,t),this.root.__divaInstance=this,this.bindPorts(),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.bindRootClick(),this.bindPageChange(),this.bindViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.bindFullscreenChange(),this.bindZoomChange(),this.bindLoadingChange(),this.bindViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound)}},pL={THRESHOLDING:pC.THRESHOLDING,BRIGHTNESS:pC.BRIGHTNESS,SATURATION:pC.SATURATION,VIBRANCE:pC.VIBRANCE,HUE:pC.HUE,CC_RED:pC.CC_RED,CC_GREEN:pC.CC_GREEN,CC_BLUE:pC.CC_BLUE,CONTRAST:pC.CONTRAST,GAMMA:pC.GAMMA,GREYSCALE:pC.GREYSCALE,INVERT:pC.INVERT,BACKGROUND_NORMALIZE:pC.BACKGROUND_NORMALIZE,UNSHARP_MASK:pC.UNSHARP_MASK,ALT_RED_GAMMA:pC.ALT_RED_GAMMA,ALT_GREEN_GAMMA:pC.ALT_GREEN_GAMMA,ALT_BLUE_GAMMA:pC.ALT_BLUE_GAMMA,ALT_RED_SIGMOID:pC.ALT_RED_SIGMOID,ALT_GREEN_SIGMOID:pC.ALT_GREEN_SIGMOID,ALT_BLUE_SIGMOID:pC.ALT_BLUE_SIGMOID,ALT_RED_HUE:pC.ALT_RED_HUE,ALT_GREEN_HUE:pC.ALT_GREEN_HUE,ALT_BLUE_HUE:pC.ALT_BLUE_HUE,ALT_RED_VIBRANCE:pC.ALT_RED_VIBRANCE,ALT_GREEN_VIBRANCE:pC.ALT_GREEN_VIBRANCE,ALT_BLUE_VIBRANCE:pC.ALT_BLUE_VIBRANCE,GLOBAL_PCA_COLOR:pC.GLOBAL_PCA_COLOR,ADAPTIVE_THRESHOLD:pC.ADAPTIVE_THRESHOLD},pA=[{enabled:"thresholdEnabled",filter:"THRESHOLDING",args:["threshold"]},{enabled:"brightnessEnabled",filter:"BRIGHTNESS",args:["brightness"]},{enabled:"saturationEnabled",filter:"SATURATION",args:["saturation"]},{enabled:"vibranceEnabled",filter:"VIBRANCE",args:["vibrance"]},{enabled:"hueEnabled",filter:"HUE",args:["hue"]},{enabled:"ccRedEnabled",filter:"CC_RED",args:["ccRed"]},{enabled:"ccGreenEnabled",filter:"CC_GREEN",args:["ccGreen"]},{enabled:"ccBlueEnabled",filter:"CC_BLUE",args:["ccBlue"]},{enabled:"contrastEnabled",filter:"CONTRAST",args:["contrast"]},{enabled:"gammaEnabled",filter:"GAMMA",args:["gamma"]},{enabled:"grayscale",filter:"GREYSCALE"},{enabled:"invert",filter:"INVERT"},{enabled:"normalizeEnabled",filter:"BACKGROUND_NORMALIZE",args:["normalizeStrength"]},{enabled:"unsharpEnabled",filter:"UNSHARP_MASK",args:["unsharpAmount"]}],pS=[{enabled:"altRedGammaEnabled",filter:"ALT_RED_GAMMA",args:["altRedGamma"]},{enabled:"altGreenGammaEnabled",filter:"ALT_GREEN_GAMMA",args:["altGreenGamma"]},{enabled:"altBlueGammaEnabled",filter:"ALT_BLUE_GAMMA",args:["altBlueGamma"]},{enabled:"altRedSigmoidEnabled",filter:"ALT_RED_SIGMOID",args:["altRedSigmoid"]},{enabled:"altGreenSigmoidEnabled",filter:"ALT_GREEN_SIGMOID",args:["altGreenSigmoid"]},{enabled:"altBlueSigmoidEnabled",filter:"ALT_BLUE_SIGMOID",args:["altBlueSigmoid"]},{enabled:"altRedHueEnabled",filter:"ALT_RED_HUE",args:["altRedHue","altRedHueWindow"],defaults:[0,8]},{enabled:"altGreenHueEnabled",filter:"ALT_GREEN_HUE",args:["altGreenHue","altGreenHueWindow"],defaults:[0,8]},{enabled:"altBlueHueEnabled",filter:"ALT_BLUE_HUE",args:["altBlueHue","altBlueHueWindow"],defaults:[0,8]},{enabled:"altRedVibranceEnabled",filter:"ALT_RED_VIBRANCE",args:["altRedVibrance"]},{enabled:"altGreenVibranceEnabled",filter:"ALT_GREEN_VIBRANCE",args:["altGreenVibrance"]},{enabled:"altBlueVibranceEnabled",filter:"ALT_BLUE_VIBRANCE",args:["altBlueVibrance"]},{enabled:"adaptiveEnabled",filter:"ADAPTIVE_THRESHOLD",args:["adaptiveWindow","adaptiveOffset"],defaults:[15,10]}],pT=(e,t,a)=>{var r,n;for(let i of a)if(t[i.enabled]){let a=null!=(n=null==(r=i.args)?void 0:r.map((e,a)=>{var r,n,o;return null!=(o=t[e])?o:null!=(n=null==(r=i.defaults)?void 0:r[a])?n:0}))?n:[],o=pL[i.filter];e.push(o(...a))}},pk=e=>{var t,a,r,n,i,o,u,s,c;if(!e)return{filters:[],loadMode:"sync"};let l=[];if(pT(l,e,pA),e.morphEnabled){let a="dilate"===e.morphOperation?Math.max:Math.min;l.push(pC.MORPHOLOGICAL_OPERATION(null!=(t=e.morphKernel)?t:3,a))}if(e.convolutionEnabled){let t=pC.CONVOLUTION_PRESET(e.convolutionPreset||"");t&&l.push(pC.CONVOLUTION(t))}if(e.colourmapEnabled){let t=pC.COLORMAP_PRESET(e.colourmapPreset||"");t&&l.push(pC.COLORMAP(t,null!=(a=e.colourmapCenter)?a:128))}return(e.pseudoColourEnabled&&l.push(pC.PSEUDOCOLOR(e.pseudoColourMode||"",null!=(r=e.pseudoColourRed)?r:1,null!=(n=e.pseudoColourGreen)?n:1,null!=(i=e.pseudoColourBlue)?i:1)),e.globalPcaEnabled&&l.push(pC.GLOBAL_PCA_COLOR(e.pcaMode||"",null!=(o=e.pcaHue)?o:0)),e.colourReplaceEnabled&&l.push(pC.COLOR_REPLACE(e.colourReplaceSource||"#ffffff",e.colourReplaceTarget||"#ffffff",null!=(u=e.colourReplaceTolerance)?u:24,null!=(s=e.colourReplaceBlend)?s:1,null!=(c=e.colourReplacePreserveLum)&&c)),pT(l,e,pS),0===l.length)?{filters:[],loadMode:"sync"}:{filters:{processors:l},loadMode:"sync"}};window.Diva=p$})(); +(()=>{var e,t,n,r,a,i,o,s,u,c,l,d,f=(e,t)=>{let{x:n,y:r,width:a,height:i}=t;if(!e||![n,r,a,i].every(Number.isFinite))return null;let o=Math.floor(n),s=Math.floor(r),u=Math.ceil(n+a),c=Math.ceil(r+i);if(o<0||s<0||u<=o||c<=s)return null;try{let t=new URL(e);if(!t.pathname.endsWith("/info.json"))return null;return t.search="",t.hash="",t.pathname=t.pathname.slice(0,-10),`${t.toString().replace(/\/$/,"")}/${o},${s},${u-o},${c-s}/!320,320/0/default.jpg`}catch(e){return null}},h=(e,t=!1,n=!1)=>({type:"image",url:e,crossOriginPolicy:!n&&(t?"use-credentials":"Anonymous"),ajaxWithCredentials:t,loadTilesWithAjax:!n,buildPyramid:!n,useCanvas:!n}),v=e=>({..."object"==typeof e&&null!==e?e:{type:"image",url:e},type:"image",crossOriginPolicy:!1,ajaxWithCredentials:!1,loadTilesWithAjax:!1,buildPyramid:!1,useCanvas:!1}),b=null,g=class extends HTMLElement{static get observedAttributes(){return["data-src","data-fallback-src","data-alt","data-crossorigin"]}connectedCallback(){this.observe()}disconnectedCallback(){null==b||b.unobserve(this)}attributeChangedCallback(){this.reset(),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==b||b.unobserve(this);let n=document.createElement("img");n.className="diva-thumbs-image",n.alt=null!=(e=this.dataset.alt)?e:"";let r=this.dataset.crossorigin,a="anonymous"===r;this.image=n,this.appendChild(n),this.loadImage(n,t,a?void 0:r,a,!1)}loadImage(e,t,n,r,a){e.removeAttribute("crossorigin"),n&&(e.crossOrigin=n),e.onerror=()=>{let n=this.dataset.fallbackSrc;r&&!a&&n&&n!==t?this.loadImage(e,n,void 0,!0,!0):this.showUnavailable()},e.removeAttribute("src"),e.src=t}reset(){var e,t;null==(e=this.image)||e.remove(),this.image=null,null==(t=this.unavailable)||t.remove(),this.unavailable=null}showUnavailable(){var e;null==(e=this.image)||e.remove(),this.image=null;let t=document.createElement("div");t.className="diva-thumbs-image diva-thumbs-image--unavailable",t.setAttribute("aria-label","Thumbnail unavailable"),this.unavailable=t,this.appendChild(t)}observe(){"IntersectionObserver"in window?(b||(b=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:"300px 0px"})),b.observe(this)):this.load()}constructor(){super(...arguments),this.image=null,this.unavailable=null}},p=class extends HTMLElement{connectedCallback(){this.style.display="block",this.style.position="relative",this.container||(this.container=document.createElement("div"),this.container.className="osd-container",this.container.style.width="100%",this.container.style.height="100%",this.container.addEventListener("wheel",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener("dblclick",this.handleDoubleClickBound),this.container.addEventListener("click",e=>{performance.now(){"Escape"===e.key&&this.closeAnnotationPanel()}),this.appendChild(this.container)),this.scrollbarTrack||this.createScrollbar();let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){var e;this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener("wheel",this.handleWheelBound),this.container.removeEventListener("dblclick",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener("mousemove",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener("mouseup",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.clearAnnotationOverlays(),this.viewer.destroy(),this.viewer=null),null==(e=this.scrollbarTrack)||e.remove(),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,..."required"===this.staticImageCorsPolicy?{}:{drawer:["canvas","html"]},crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler("pan",this.handleViewportChangeBound),t.addHandler("zoom",this.handleViewportChangeBound),t.addHandler("canvas-click",e=>this.handleAnnotationCanvasClick(e)),t.addHandler("pan",()=>this.updateScrollbar()),t.addHandler("zoom",()=>this.updateScrollbar()),t.addHandler("animation-finish",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single"})}setViewingDirection(e){this.applyLayoutChange({direction:"rtl"===e?"rtl":"ltr"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single",direction:"rtl"===t?"rtl":"ltr"})}setTileSources(e,t=0,n="internal"){if(Array.isArray(e)){if(this.annotationData.clear(),this.tileSources=e.slice(),this.resourceId=n,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t{t.canvasId===e&&this.addOrUpdateAnnotationOverlay(n)}))}setAnnotationsVisible(e){this.annotationsVisible=e,this.annotationOverlayElements.forEach(t=>{t.classList.toggle("is-hidden",!e)}),e||(this.closeAnnotationPanel(),this.annotationOverlayElements.forEach(e=>{e.querySelectorAll(".diva-annotation-tooltip").forEach(e=>{e.hidden=!0})}))}getAnnotationSelectionEnabled(){return this.annotationSelectionEnabled}setAnnotationSelectionEnabled(e){this.annotationSelectionEnabled=e,e||this.annotationOverlayElements.forEach(e=>{e.querySelectorAll(".diva-annotation-tooltip").forEach(e=>{e.hidden=!0})})}selectAnnotation(e){for(let t of(this.selectedAnnotationId=e,this.annotationOverlayElements.forEach(t=>{t.querySelectorAll("g[data-annotation-id]").forEach(t=>{t.classList.toggle("is-selected",t.dataset.annotationId===e)})}),this.annotationData.values())){let n=t.find(t=>t.id===e);if(n){let t=Array.from(this.annotationOverlayElements.values()).map(t=>t.querySelector(`g[data-annotation-id="${CSS.escape(e)}"]`)).find(e=>null!==e);this.openAnnotationPanel(n,t);return}}}getImageRegionForAnnotation(e){var t,n;for(let[r,a]of this.annotationData){let i=a.find(t=>t.id===e);if(!i)continue;let o=this.tileSources.findIndex(e=>e.canvasId===r),s=o>=0&&null!=(n=null==(t=this.annotationOverlayElements.get(o))?void 0:t.querySelector(`g[data-annotation-id="${CSS.escape(e)}"]`))?n:void 0;return this.annotationExtractUrl(i,s)}return null}setTileSourceResolver(e){this.tileSourceResolver=e}setStaticImageCorsPolicy(e){var t;let n="fallback"===e||"none"===e?e:"required";n===this.staticImageCorsPolicy||(this.staticImageCorsPolicy=n,this.viewer&&(this.clearPageOverlays(),this.clearAnnotationOverlays(),this.closeAnnotationPanel(),this.viewer.destroy(),this.viewer=null,this.scrollPlaneItem=null,this.syncViewer(),this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)))}invalidateTileSources(e){var t;let n=new Set(e);0!==n.size&&this.tileSources.some(e=>n.has(e.sourceId))&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)}setPageLabels(e){Array.isArray(e)&&(this.pageLabels=e,this.pageOverlayElements.forEach((e,t)=>{this.addOrUpdatePageOverlay(t)}))}resetTileSources(e,t=0){this.viewer&&("function"==typeof this.viewer.close?this.viewer.close():this.viewer.world.removeAll(),this.cancelLoads(),this.tileSources=e,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t0?this.initialPageIndex:null,this.lastReportedIndex=this.targetIndex,this.clearScrollPlane(),this.buildOffsets(),this.ensureScrollPlane(),null!==this.targetIndex&&this.positionInitialViewport(this.targetIndex),this.resetLoadingState(),this.suppressPageChange=!0,this.suppressZoomChange=!0,this.maybeLoadMore())}handleViewportChange(){var e;if(this.isClamping)return;let t=null==(e=this.viewer)?void 0:e.viewport;t&&(this.maybeLoadMore(t),this.maybeEmitPageChange(t),this.clampTop(t),this.clampBottom(t))}handleAnimationFinish(){this.updateScrollbar(),this.maybeEmitZoomChange()}maybeLoadMore(e){var t;if(0===this.tileSources.length)return;if(!this.isViewportInitialized){if(null!==this.targetIndex){this.ensurePageLoaded(this.targetIndex);let e=this.pageOffsets[this.targetIndex]||0,t=this.pageRowHeights[this.targetIndex]||this.pageHeights[this.targetIndex]||1,n=this.indicesForRange(Math.max(0,e-1.5*t),e+2.5*t);if(n)for(let e=n[0];e<=n[1];e+=1)this.ensurePageLoaded(e)}return}let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=1.5*r.height,i=Math.max(0,r.y-a),o=r.y+r.height+a,s=this.indicesForRange(i,o);if(!s)return;let u=s[0],c=s[1],l=u;for(;l<=c;)this.ensurePageLoaded(l),l+=1;null!==this.targetIndex&&this.ensurePageLoaded(this.targetIndex)}ensurePageLoaded(e){e<0||e>=this.tileSources.length||e>=this.pageOffsets.length||this.loadedIndexes.has(e)||this.loadingIndexes.has(e)||this.unavailableIndexes.has(e)||this.loadTile(e)}async loadTile(e,t=!1,n){let r;if(!this.viewer)return;let a=this.loadToken,i=this.tileSources[e],o=new AbortController;this.loadControllers.set(e,o),this.loadingIndexes.add(e),this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.updateLoadingState();try{r=null!=n?n:await this.tileSourceResolver(i,o.signal)}catch(t){a!==this.loadToken||o.signal.aborted||this.markUnavailable(e,t instanceof Error?t.message:"This image is unavailable."),this.finishLoad(e,o);return}if(a!==this.loadToken||o.signal.aborted||!this.viewer)return void this.finishLoad(e,o);t&&(r=v(r));let s=this.pageOffsets[e]||0,u=this.pageXOffsets[e]||0;this.viewer.addTiledImage({tileSource:r,...this.tileRequestOptions(r),x:u,y:s,width:1,success:n=>{if(a!==this.loadToken)return;let r=n.item,i=this.pageXOffsets[e]||0,o=this.pageOffsets[e]||0,s=this.pageHeights[e]||1;if(r.setPosition(new OpenSeadragon.Point(i,o),!0),r.setWidth(1,!0),r.setHeight(s,!0),this.loadedIndexes.add(e),this.loadedItems.set(e,r),this.resolvePageWaiters(e,r),this.addOrUpdatePageOverlay(e),this.addOrUpdateAnnotationOverlay(e),this.loadingIndexes.delete(e),this.loadControllers.delete(e),this.updateLoadingState(),!this.hasFitFirstPage&&e===this.initialPageIndex){this.hasFitFirstPage=!0;let t=this.viewer;if(!t||!t.viewport)return;let n=this.isSingleCanvasLayout(),a=n?r.getBounds():this.isSpreadMode()?this.getRowBounds(e):r.getBounds();t.viewport.fitBounds(a,!0),n||t.viewport.zoomBy(.95,t.viewport.getCenter(!0),!0),this.alignTopAfterFit(e),t.viewport.applyConstraints(),this.isViewportInitialized=!0,this.lockHorizontalPan(),this.recenterAfterFit(),this.flushInitialPageChange(),this.flushInitialZoomChange()}this.emitCustomEvent("diva-page-loaded",{index:e,resourceId:this.resourceId}),t&&requestAnimationFrame(()=>{var e;return null==(e=this.viewer)?void 0:e.forceRedraw()}),this.targetIndex===e&&(this.targetIndex=null),this.maybeLoadMore()},error:n=>{if(a===this.loadToken){if(this.shouldRetryWithoutCors(i,r,t)){this.finishLoad(e,o),this.emitCustomEvent("diva-static-image-cors-fallback",{sourceId:i.sourceId}),this.loadTile(e,!0,r);return}this.markUnavailable(e,(null==n?void 0:n.message)||"This image could not be loaded."),this.finishLoad(e,o),this.maybeLoadMore()}}})}tileRequestOptions(e){if(!e||"object"!=typeof e)return{};let t={};return"boolean"==typeof e.ajaxWithCredentials&&(t.ajaxWithCredentials=e.ajaxWithCredentials),("string"==typeof e.crossOriginPolicy||"boolean"==typeof e.crossOriginPolicy)&&(t.crossOriginPolicy=e.crossOriginPolicy),"boolean"==typeof e.loadTilesWithAjax&&(t.loadTilesWithAjax=e.loadTilesWithAjax),t}shouldRetryWithoutCors(e,t,n){return"fallback"===this.staticImageCorsPolicy&&!!e.isStatic&&!n&&("object"!=typeof t||null===t||"string"!=typeof t.crossOriginPolicy||"use-credentials"!==t.crossOriginPolicy.toLowerCase())}finishLoad(e,t){this.loadControllers.get(e)===t&&(this.loadControllers.delete(e),this.loadingIndexes.delete(e),this.updateLoadingState())}cancelLoads(){this.loadToken+=1,this.loadControllers.forEach(e=>e.abort()),this.loadControllers.clear(),this.loadingIndexes.clear(),this.rejectPageWaiters(new DOMException("The image load was cancelled.","AbortError")),this.resetLoadingState()}markUnavailable(e,t){this.unavailableIndexes.set(e,t),this.rejectPageWaiters(Error(t),e),this.emitCustomEvent("diva-page-load-error",{index:e,message:t,resourceId:this.resourceId}),this.addUnavailableOverlay(e,t)}waitForPage(e){let t=this.loadedItems.get(e);if(t)return Promise.resolve(t);let n=this.unavailableIndexes.get(e);return n?Promise.reject(Error(n)):new Promise((t,n)=>{var r;let a=null!=(r=this.pageWaiters.get(e))?r:[];a.push({resolve:t,reject:n}),this.pageWaiters.set(e,a),this.ensurePageLoaded(e)})}resolvePageWaiters(e,t){var n;let r=null!=(n=this.pageWaiters.get(e))?n:[];this.pageWaiters.delete(e),r.forEach(e=>e.resolve(t))}rejectPageWaiters(e,t){(void 0===t?Array.from(this.pageWaiters.keys()):[t]).forEach(t=>{var n;let r=null!=(n=this.pageWaiters.get(t))?n:[];this.pageWaiters.delete(t),r.forEach(t=>t.reject(e))})}addUnavailableOverlay(e,t){if(!this.viewer)return;this.removeUnavailableOverlay(e);let n=document.createElement("div");n.className="diva-image-unavailable",n.dataset.index=String(e);let r=document.createElement("p");r.textContent=t;let a=document.createElement("button");a.type="button",a.textContent="Retry image",a.addEventListener("click",()=>{this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.ensurePageLoaded(e)}),n.append(r,a),this.viewer.addOverlay({element:n,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}removeUnavailableOverlay(e){let t=this.querySelector(`.diva-image-unavailable[data-index="${e}"]`);t&&this.removeOverlay(t),null==t||t.remove()}setPageAspects(e){Array.isArray(e)&&(this.pageAspects=e.filter(e=>e>0),this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),this.isViewportInitialized||null===this.targetIndex||this.positionInitialViewport(this.targetIndex),this.maybeLoadMore())}buildOffsets(){let e=this.tileSources.length>0?this.tileSources.length:this.pageAspects.length;this.pageOffsets=Array(e),this.pageHeights=Array(e),this.pageRowHeights=Array(e),this.pageXOffsets=Array(e),this.isSpreadMode()?this.buildSpreadOffsets(e):this.buildSingleOffsets(e)}buildSingleOffsets(e){let t=0,n=this.pageAspects[0]||1;for(let r=0;r0){let e=this.pageAspects[0]||a;a=e,this.pageOffsets[0]=n,this.pageHeights[0]=e,this.pageRowHeights[0]=e,this.pageXOffsets[0]=+!t,n+=e+.06,r=1}for(;r{let n=this.pageOffsets[t],r=this.pageHeights[t],a=this.pageXOffsets[t];e.setPosition(new OpenSeadragon.Point(a,n),!0),e.setWidth(1,!0),e.setHeight(r,!0),this.addOrUpdatePageOverlay(t),this.addOrUpdateAnnotationOverlay(t)})}addOrUpdatePageOverlay(e){if(!this.viewer)return;let t=this.pageOverlayElements.get(e),n=e%2==0;t||((t=document.createElement("div")).className="diva-page-overlay-label",t.style.pointerEvents="none",t.style.color="#ffffff",t.style.background="transparent",t.style.padding="0",t.style.borderRadius="0",t.style.fontSize="12px",t.style.fontWeight="600",t.style.lineHeight="1.2",t.style.whiteSpace="nowrap",t.style.paddingBottom="6px",t.style.paddingLeft=n?"0":"12px",t.style.paddingRight=n?"12px":"0",this.pageOverlayElements.set(e,t)),t.textContent=this.pageLabels[e]||`Page ${e+1}`;let r=(this.pageXOffsets[e]||0)+ +!!n,a=this.pageOffsets[e]||0;this.removeOverlay(t),this.viewer.addOverlay({element:t,location:new OpenSeadragon.Point(r,a),placement:n?OpenSeadragon.Placement.BOTTOM_RIGHT:OpenSeadragon.Placement.BOTTOM_LEFT})}clearPageOverlays(){this.clearOverlays(this.pageOverlayElements)}addOrUpdateAnnotationOverlay(e){var t;if(!this.viewer||!this.loadedItems.has(e))return;let n=null==(t=this.tileSources[e])?void 0:t.canvasId,r="string"==typeof n?this.annotationData.get(n):void 0,a=this.annotationOverlayElements.get(e);if(!r||0===r.length){a&&(this.removeOverlay(a),a.remove(),this.annotationOverlayElements.delete(e));return}a||((a=document.createElement("div")).className="diva-annotation-overlay",this.annotationOverlayElements.set(e,a)),a.classList.toggle("is-hidden",!this.annotationsVisible);let i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("viewBox",`0 0 ${this.pageWidth(e)} ${this.pageHeightPixels(e)}`),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("width","100%"),i.setAttribute("height","100%");let o=document.createElement("div");o.className="diva-annotation-tooltip",o.setAttribute("role","tooltip"),r.forEach(e=>{let t=document.createElementNS("http://www.w3.org/2000/svg","g");if(t.setAttribute("data-annotation-id",e.id),t.setAttribute("tabindex","0"),t.classList.toggle("is-selected",e.id===this.selectedAnnotationId),e.text){t.setAttribute("aria-label",e.text);let n=t=>{let n=a.getBoundingClientRect();if(!this.annotationsVisible||!this.annotationSelectionEnabled){o.hidden=!0;return}let r=t?t.clientX-n.left:n.width/2,i=t?t.clientY-n.top:n.height/2;o.textContent=e.text,o.style.left=`${r}px`,o.style.top=`${i}px`,o.hidden=!1};t.addEventListener("mouseenter",n),t.addEventListener("mousemove",n),t.addEventListener("mouseleave",()=>{o.hidden=!0}),t.addEventListener("focus",()=>n()),t.addEventListener("blur",()=>{o.hidden=!0})}if(t.addEventListener("click",n=>{this.annotationSelectionEnabled&&(n.stopPropagation(),this.openAnnotationPanel(e,t))}),t.addEventListener("pointerup",n=>{this.annotationSelectionEnabled&&(n.stopPropagation(),this.openAnnotationPanel(e,t))}),t.addEventListener("keydown",n=>{this.annotationSelectionEnabled&&("Enter"===n.key||" "===n.key)&&(n.preventDefault(),this.openAnnotationPanel(e,t))}),"rect"===e.shape.kind){let n=document.createElementNS("http://www.w3.org/2000/svg","rect");n.setAttribute("x",String(e.shape.x)),n.setAttribute("y",String(e.shape.y)),n.setAttribute("width",String(e.shape.width)),n.setAttribute("height",String(e.shape.height)),n.setAttribute("class","diva-annotation-rect"),t.appendChild(n)}else"svg"===e.shape.kind&&e.shape.value&&this.appendSanitizedSvg(t,e.shape.value);i.appendChild(t)}),o.hidden=!0,a.replaceChildren(i,o),this.removeOverlay(a),this.viewer.addOverlay({element:a,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}pageWidth(e){var t,n;let r=this.loadedItems.get(e);return(null==(n=null==(t=null==r?void 0:r.source)?void 0:t.dimensions)?void 0:n.x)||1}pageHeightPixels(e){var t,n;let r=this.loadedItems.get(e);return(null==(n=null==(t=null==r?void 0:r.source)?void 0:t.dimensions)?void 0:n.y)||1}appendSanitizedSvg(e,t){let n=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,r=new Set(["svg","g","path","rect","circle","ellipse","polygon","polyline","line"]),a=new Set(["d","points","x","y","x1","x2","y1","y2","cx","cy","rx","ry","r","width","height","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-dasharray","transform","viewBox"]),i=(e,t)=>{let n=e.localName.toLowerCase();if(!r.has(n))return;let o=document.createElementNS("http://www.w3.org/2000/svg",n);"svg"!==n&&"g"!==n&&o.classList.add("diva-annotation-svg-shape"),Array.from(e.attributes).forEach(e=>{a.has(e.name)&&o.setAttribute(e.name,e.value)}),t.appendChild(o),Array.from(e.children).forEach(e=>i(e,o))};"svg"===n.localName.toLowerCase()&&Array.from(n.children).forEach(t=>i(t,e))}clearAnnotationOverlays(){this.clearOverlays(this.annotationOverlayElements)}removeOverlay(e){var t;try{null==(t=this.viewer)||t.removeOverlay(e)}catch(e){}}clearOverlays(e){e.forEach(e=>{this.removeOverlay(e),e.remove()}),e.clear()}handleAnnotationCanvasClick(e){var t;if(!this.annotationSelectionEnabled||!this.annotationsVisible||!e.quick||!e.position||!this.container)return;let n=this.container.getBoundingClientRect(),r=n.left+e.position.x,a=n.top+e.position.y;for(let[e,n]of Array.from(this.annotationOverlayElements.entries()).reverse()){let i=null==(t=this.tileSources[e])?void 0:t.canvasId,o="string"==typeof i?this.annotationData.get(i):void 0;if(o)for(let e of Array.from(n.querySelectorAll("g[data-annotation-id]")).reverse()){let t=e.getBoundingClientRect();if(rt.right||at.bottom)continue;let n=o.find(t=>t.id===e.dataset.annotationId);if(n)return void this.openAnnotationPanel(n,e)}}}openAnnotationPanel(e,t){if(!this.container)return;if(this.selectedAnnotationId=e.id,this.annotationOverlayElements.forEach(t=>{t.querySelectorAll("g[data-annotation-id]").forEach(t=>{t.classList.toggle("is-selected",t.dataset.annotationId===e.id)})}),this.emitCustomEvent("diva-annotation-select",{annotationId:e.id}),!this.annotationPanel){let e=document.createElement("aside");e.className="diva-annotation-panel",e.setAttribute("aria-label","Annotation details"),e.addEventListener("click",e=>e.stopPropagation()),this.appendChild(e),this.annotationPanel=e}this.annotationPanelIgnoreCloseUntil=performance.now()+500;let n=document.createElement("button");n.type="button",n.className="diva-annotation-panel-close",n.setAttribute("aria-label","Close annotation details"),n.title="Close";let r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("viewBox","0 0 512 512"),r.setAttribute("aria-hidden","true");let a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d","M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"),r.appendChild(a),n.appendChild(r),n.addEventListener("click",e=>{e.stopPropagation(),this.closeAnnotationPanel()});let i=document.createElement("div");i.className="diva-annotation-panel-content";let o=this.annotationExtractUrl(e,t),s=null;if(o){let t=document.createElement("div");t.className="diva-annotation-panel-preview-controls",Object.assign(t.style,{display:"flex",justifyContent:"flex-end",gap:"4px",margin:"0 0 4px"});let n=document.createElement("div");Object.assign(n.style,{position:"relative",maxWidth:"100%",margin:"0 auto 10px",border:"1px solid rgba(255, 255, 255, 0.2)"});let r=document.createElement("img");Object.assign(r.style,{position:"absolute",top:"50%",left:"50%",maxWidth:"none",transition:"transform 120ms ease-out"}),r.src=o,r.alt=e.text?`Image extract: ${e.text}`:"Annotation image extract",r.addEventListener("error",()=>{t.remove(),n.remove()});let a=0,u=()=>{if(r.naturalWidth<=0||r.naturalHeight<=0)return;let e=Math.min(i.clientWidth||320,320),t=r.naturalWidth/r.naturalHeight,o=t>=1?e:e*t,s=t>=1?e/t:e,u=Math.abs(Math.round(a/90))%2==1;n.style.width=`${u?s:o}px`,n.style.height=`${u?o:s}px`,r.style.width=`${o}px`,r.style.height=`${s}px`,r.style.transform=`translate(-50%, -50%) rotate(${a}deg)`};r.addEventListener("load",u);let c=document.createElement("button");c.type="button",c.className="diva-annotation-panel-rotate",c.textContent="↺",c.setAttribute("aria-label","Rotate image counter-clockwise 90 degrees"),c.addEventListener("click",()=>void(a+=-90,u())),t.appendChild(c),n.appendChild(r),(s=document.createElement("a")).className="diva-annotation-panel-image-link",s.href=o,s.target="_blank",s.rel="noopener noreferrer",s.textContent=o,s.setAttribute("aria-label","Open the IIIF Image API extract"),i.append(t,n),window.requestAnimationFrame(u)}i.appendChild(this.sanitizeAnnotationHtml(e.html||e.text)),s&&i.appendChild(s);let u=this.annotationPanel;u.replaceChildren(n,i),u.hidden=!1,n.focus()}annotationExtractUrl(e,t){if(!e.imageService)return null;let n=null;if("rect"===e.shape.kind){let{x:t,y:r,width:a,height:i}=e.shape;[t,r,a,i].every(e=>"number"==typeof e&&Number.isFinite(e))&&a>0&&i>0&&(n={x:t,y:r,width:a,height:i})}else if("svg"===e.shape.kind&&t){let e=t.closest(".diva-annotation-overlay"),r=null==e?void 0:e.querySelector("svg");if(r){let e=t.getBoundingClientRect(),a=r.getBoundingClientRect(),i=r.viewBox.baseVal;e.width>0&&e.height>0&&a.width>0&&a.height>0&&i.width>0&&i.height>0&&(n={x:i.x+(e.left-a.left)/a.width*i.width,y:i.y+(e.top-a.top)/a.height*i.height,width:e.width/a.width*i.width,height:e.height/a.height*i.height})}}else"svg"===e.shape.kind&&e.shape.value&&(n=this.svgBoundingRegion(e.shape.value));return(!n&&"svg"===e.shape.kind&&e.shape.value&&(n=this.svgBoundingRegion(e.shape.value)),n)?f(e.imageService,n):null}svgBoundingRegion(e){if(!document.body)return null;let t=document.createElementNS("http://www.w3.org/2000/svg","svg"),n=document.createElementNS("http://www.w3.org/2000/svg","g");t.style.cssText="position:absolute;visibility:hidden;pointer-events:none;left:-10000px;top:-10000px;",t.appendChild(n),this.appendSanitizedSvg(n,e),document.body.appendChild(t);try{let e=n.getBBox();return e.width>0&&e.height>0?{x:e.x,y:e.y,width:e.width,height:e.height}:null}catch(e){return null}finally{t.remove()}}closeAnnotationPanel(){this.annotationPanel&&(this.annotationPanel.hidden=!0)}sanitizeAnnotationHtml(e){let t=document.createElement("template");t.innerHTML=e;let n=new Set(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]),r=e=>{let t=e.trim().toLowerCase();return/^(https?:|mailto:|tel:|\/|\.\/|\.\.\/|#|\?)/.test(t)||!t.includes(":")},a=(e,t)=>{if(e.nodeType===Node.TEXT_NODE)return void t.appendChild(document.createTextNode(e.textContent||""));if(!(e instanceof Element))return;let i=e.localName.toLowerCase();if(!n.has(i))return void Array.from(e.childNodes).forEach(e=>a(e,t));let o=document.createElement(i);if("a"===i){let t=e.getAttribute("href");t&&r(t)&&o.setAttribute("href",t),o.setAttribute("target","_blank"),o.setAttribute("rel","noopener noreferrer")}if("img"===i){let t=e.getAttribute("src");t&&r(t)&&o.setAttribute("src",t);let n=e.getAttribute("alt");n&&o.setAttribute("alt",n)}t.appendChild(o),Array.from(e.childNodes).forEach(e=>a(e,o))},i=document.createDocumentFragment();return Array.from(t.content.childNodes).forEach(e=>a(e,i)),i}ensureScrollPlane(){if(!this.viewer||0===this.pageOffsets.length)return;let e=this.getTotalHeight(),t=this.isSpreadMode()?2:1;if(this.scrollPlaneItem){this.scrollPlaneItem.setPosition(new OpenSeadragon.Point(0,0),!0),this.scrollPlaneItem.setWidth(t,!0),this.scrollPlaneItem.setHeight(e,!0);return}let n=`data:image/svg+xml;charset=utf-8,${encodeURIComponent('')}`;this.viewer.addTiledImage({tileSource:{type:"image",url:n},x:0,y:0,width:t,success:n=>{let r=n.item;r.setOpacity(0),r.setPosition(new OpenSeadragon.Point(0,0),!0),r.setWidth(t,!0),r.setHeight(e,!0),this.scrollPlaneItem=r}})}clearScrollPlane(){this.viewer&&this.scrollPlaneItem&&(this.viewer.world.removeItem(this.scrollPlaneItem),this.scrollPlaneItem=null)}indicesForRange(e,t){return 0===this.pageOffsets.length?null:[this.findIndexForOffset(e),this.getRowEndIndex(this.findIndexForOffset(t))]}findIndexForOffset(e){let t=0,n=this.pageOffsets.length-1;for(;t<=n;){let r=Math.floor((t+n)/2),a=this.pageOffsets[r],i=this.pageRowHeights[r]||this.pageHeights[r]||1;if(ea+i))return this.getRowStartIndex(r);t=r+1}}if(t>=this.pageOffsets.length)return this.pageOffsets.length-1;let r=Math.max(0,t);return this.getRowStartIndex(r)}scrollToOffset(e){var t;let n=null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=this.isSpreadMode()?2:1,i=new OpenSeadragon.Rect(0,e,a,r.height);n.fitBounds(i,!0)}positionInitialViewport(e){var t;let n=null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=this.pageOffsets[e]||0,a=this.pageRowHeights[e]||this.pageHeights[e]||1,i=Math.max(0,r-1.5*a),o=this.isSpreadMode()?2:1;n.fitBounds(new OpenSeadragon.Rect(0,i,o,r+2.5*a-i),!0)}scrollToIndex(e){if(e<0||e>=this.tileSources.length||e>=this.pageOffsets.length)return;let t=this.pageOffsets[e];this.scrollToOffset(t),this.targetIndex=e,this.ensurePageLoaded(e),this.lastReportedIndex=e,this.emitCustomEvent("diva-page-change",{index:e})}getVisiblePageIndexes(){var e;if(0===this.pageOffsets.length)return[];let t=null!=(e=this.lastReportedIndex)?e:0,n=this.getRowStartIndex(t);return Array.from({length:this.getRowEndIndex(n)-n+1},(e,t)=>n+t)}isPageLoaded(e,t){var n;return(null==(n=this.tileSources[e])?void 0:n.sourceId)===t&&this.loadedIndexes.has(e)}next(){let e=this.getVisiblePageIndexes();if(0===e.length)return;let t=this.getRowEndIndex(e[0])+1;t0?a/r.height*.75:0,o=n.getCenter(!0),s=new OpenSeadragon.Point(o.x,o.y+i);n.panTo(s,!0),this.clampTop(),this.clampBottom(),this.maybeEmitPageChange()}lockHorizontalPan(){var e;if(!this.isViewportInitialized)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(this.getCenterX(),n.y),!0),t.applyConstraints()}recenterAfterFit(){if(!this.viewer)return;let e=()=>{this.viewer&&this.viewer.removeHandler("animation-finish",e),this.recenterBoundsX()};"function"==typeof this.viewer.addOnceHandler?this.viewer.addOnceHandler("animation-finish",e):this.viewer.addHandler("animation-finish",e)}recenterBoundsX(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0),r=this.getCenterX();5e-4>Math.abs(n.x-r)||(t.panTo(new OpenSeadragon.Point(r,n.y),!0),t.applyConstraints())}clampTop(e){var t;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=-this.getTopPaddingViewport(r.height);if(r.y>=a)return;let i=r.height/2+a;this.isClamping=!0,n.panTo(new OpenSeadragon.Point(n.getCenter(!1).x,i),!0),n.applyConstraints(),this.isClamping=!1}clampBottom(e){var t,n;let r=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!r||0===this.pageOffsets.length)return;let a=this.getTotalHeight(),i=r.getBounds(!0),o=a+20/((null==(n=this.container)?void 0:n.getBoundingClientRect().height)||1)*i.height;if(i.y+i.height<=o)return;let s=o-i.height/2;this.isClamping=!0,r.panTo(new OpenSeadragon.Point(r.getCenter(!1).x,s),!0),r.applyConstraints(),this.isClamping=!1}maybeEmitPageChange(e){var t;if(this.suppressPageChange||this.isScrollbarDragging||0===this.pageOffsets.length)return;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getCenter(!0),a=this.findIndexForOffset(r.y);this.lastReportedIndex!==a&&(this.lastReportedIndex=a,this.emitCustomEvent("diva-page-change",{index:a}))}emitPageChangeInstant(){var e;if(0===this.pageOffsets.length)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0),r=this.findIndexForOffset(n.y);this.lastReportedIndex=r,this.emitCustomEvent("diva-page-change",{index:r,instant:!0})}flushInitialPageChange(){if(0===this.pageOffsets.length){this.suppressPageChange=!1;return}if(!this.viewer||!this.viewer.viewport)return;let e=this.viewer.viewport.getCenter(!0),t=this.findIndexForOffset(e.y);this.lastReportedIndex=t,this.suppressPageChange=!1,this.emitCustomEvent("diva-page-change",{index:t})}maybeEmitZoomChange(e){var t;if(this.suppressZoomChange)return;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getZoom(!0);null!==this.lastReportedZoom&&1e-4>Math.abs(this.lastReportedZoom-r)||(this.lastReportedZoom=r,this.emitCustomEvent("diva-zoom-change",{zoom:r}))}flushInitialZoomChange(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getZoom(!0);this.lastReportedZoom=n,this.suppressZoomChange=!1,this.emitCustomEvent("diva-zoom-change",{zoom:n})}alignTopAfterFit(e){if(!this.viewer)return;let t=this.viewer.viewport;if(!t)return;let n=t.getBounds(!0),r=this.getTopPaddingViewport(n.height),a=(this.pageOffsets[e]||0)-r;if(5e-4>Math.abs(n.y-a))return;let i=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(i.x,n.height/2+a),!0),t.applyConstraints()}getTopPaddingViewport(e){var t;return 28/((null==(t=this.container)?void 0:t.getBoundingClientRect().height)||1)*e}resetLoadingState(){null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1})}updateLoadingState(){if(this.loadingIndexes.size>0){if(this.isLoading||null!==this.loadingTimer)return;this.loadingTimer=window.setTimeout(()=>{this.loadingTimer=null,this.loadingIndexes.size>0&&!this.isLoading&&(this.isLoading=!0,this.emitCustomEvent("diva-loading-change",{loading:!0}))},300);return}null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading&&(this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1}))}applyLayoutChange(e){var t,n,r;let a=null!=(t=e.mode)?t:this.layoutMode,i=null!=(n=e.direction)?n:this.viewingDirection;if(this.layoutMode===a&&this.viewingDirection===i)return;let o=null,s=null==(r=this.viewer)?void 0:r.viewport;if(s&&this.pageOffsets.length>0){let e=s.getBounds(!0),t=e.y+.5*e.height;o=this.findIndexForOffset(t)}else null!==this.lastReportedIndex&&(o=this.lastReportedIndex);if(this.layoutMode=a,this.viewingDirection=i,this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),null!==o){let e=Math.max(0,Math.min(o,this.pageOffsets.length-1));this.scrollToIndex(e)}else this.lockHorizontalPan(),this.recenterAfterFit();this.maybeLoadMore()}emitCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}getCenterX(){return this.isSpreadMode()?1:.5}isSingleCanvasLayout(){return 1===this.tileSources.length&&1===this.pageOffsets.length}getTotalHeight(){let e=this.pageOffsets.length-1;return this.pageOffsets[e]+(this.pageRowHeights[e]||1)}getRowBounds(e){let t=this.pageOffsets[e]||0,n=this.pageRowHeights[e]||this.pageHeights[e]||1,r=this.isSpreadMode()?2:1;return new OpenSeadragon.Rect(0,t,r,n)}isSpreadMode(){return"single"!==this.layoutMode}getRowStartIndex(e){return this.isSpreadMode()?"spread-shift"===this.layoutMode?0===e?0:e%2==1?e:e-1:e-e%2:e}getRowEndIndex(e){let t=this.pageOffsets.length-1;return this.isSpreadMode()?"spread-shift"===this.layoutMode&&0===e?0:Math.min(e+1,t):e}createScrollbar(){this.container&&(this.scrollbarTrack=document.createElement("div"),this.scrollbarTrack.className="diva-scrollbar-track",this.scrollbarThumb=document.createElement("div"),this.scrollbarThumb.className="diva-scrollbar-thumb",this.scrollbarTrack.appendChild(this.scrollbarThumb),this.container.appendChild(this.scrollbarTrack),this.setupScrollbarDrag(),this.setupScrollbarTrackClick())}updateScrollbar(){if(!this.viewer||!this.scrollbarThumb||!this.scrollbarTrack||0===this.pageOffsets.length)return;let e=this.viewer.viewport.getBounds(!0),t=this.scrollbarTrack.clientHeight,n=this.getTotalHeight(),r=e.height,a=e.y,i=Math.max(30,r/n*t),o=n-r,s=o>0?Math.max(0,Math.min(1,a/o)):0;this.scrollbarThumb.style.height=`${i}px`,this.scrollbarThumb.style.top=`${Math.max(0,s*(t-i))}px`}setupScrollbarDrag(){if(!this.scrollbarThumb||!this.scrollbarTrack)return;let e=!1,t=0,n=0,r=r=>{var a;e=!0,this.isScrollbarDragging=!0,t=r.clientY,n=(null==(a=this.scrollbarThumb)?void 0:a.offsetTop)||0,r.preventDefault(),r.stopPropagation()},a=r=>{if(!e||!this.scrollbarTrack||!this.scrollbarThumb||!this.viewer)return;let a=r.clientY-t,i=n+a,o=this.scrollbarTrack.clientHeight,s=this.scrollbarThumb.clientHeight,u=Math.max(0,Math.min(i,o-s)),c=this.getTotalHeight(),l=this.viewer.viewport.getBounds(!0).height,d=this.viewer.viewport.getCenter(!0);this.viewer.viewport.panTo(new OpenSeadragon.Point(d.x,(o-s>0?u/(o-s):0)*(c-l)+l/2),!0)},i=()=>{e&&(e=!1,this.isScrollbarDragging=!1,this.emitPageChangeInstant())};this.scrollbarMouseMove=a,this.scrollbarMouseUp=i,this.scrollbarThumb.addEventListener("mousedown",r),document.addEventListener("mousemove",a),document.addEventListener("mouseup",i)}setupScrollbarTrackClick(){this.scrollbarTrack&&this.scrollbarTrack.addEventListener("click",e=>{var t;if(e.target===this.scrollbarThumb||!this.viewer)return;let n=null==(t=this.scrollbarTrack)?void 0:t.getBoundingClientRect();if(!n)return;let r=Math.max(0,Math.min(1,(e.clientY-n.top)/n.height)),a=this.getTotalHeight(),i=this.viewer.viewport.getBounds(!0).height,o=this.viewer.viewport.getCenter(!0);this.viewer.viewport.panTo(new OpenSeadragon.Point(o.x,r*(a-i)+i/2),!0)})}constructor(){super(),this.container=null,this.viewer=null,this.loadToken=0,this.tileSources=[],this.pageLabels=[],this.pageAspects=[],this.pageOffsets=[],this.pageHeights=[],this.pageRowHeights=[],this.pageXOffsets=[],this.layoutMode="single",this.viewingDirection="ltr",this.hasFitFirstPage=!1,this.loadedIndexes=new Set,this.loadingIndexes=new Set,this.unavailableIndexes=new Map,this.loadControllers=new Map,this.staticImageCorsPolicy="required",this.tileSourceResolver=async e=>e.isStatic?h(e.url,!1,"none"===this.staticImageCorsPolicy):e.url,this.loadedItems=new Map,this.pageWaiters=new Map,this.pageOverlayElements=new Map,this.annotationData=new Map,this.annotationOverlayElements=new Map,this.annotationsVisible=!0,this.annotationSelectionEnabled=!0,this.selectedAnnotationId=null,this.annotationPanel=null,this.annotationPanelIgnoreCloseUntil=0,this.targetIndex=null,this.initialPageIndex=0,this.resourceId="initial",this.scrollPlaneItem=null,this.isViewportInitialized=!1,this.lastReportedIndex=null,this.lastReportedZoom=null,this.loadingTimer=null,this.isLoading=!1,this.isClamping=!1,this.suppressPageChange=!0,this.suppressZoomChange=!0,this.scrollbarTrack=null,this.scrollbarThumb=null,this.isScrollbarDragging=!1,this.scrollbarMouseMove=null,this.scrollbarMouseUp=null,this.handleWheelBound=this.handleWheel.bind(this),this.handleDoubleClickBound=this.handleDoubleClick.bind(this),this.handleViewportChangeBound=this.handleViewportChange.bind(this),this.handleAnimationFinishBound=this.handleAnimationFinish.bind(this)}};function m(e,t,n){return n.a=e,n.f=t,n}function w(e){return m(2,e,function(t){return function(n){return e(t,n)}})}function y(e){return m(3,e,function(t){return function(n){return function(r){return e(t,n,r)}}})}function x(e){return m(4,e,function(t){return function(n){return function(r){return function(a){return e(t,n,r,a)}}}})}function C(e){return m(5,e,function(t){return function(n){return function(r){return function(a){return function(i){return e(t,n,r,a,i)}}}}})}function I(e){return m(6,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return e(t,n,r,a,i,o)}}}}}})}function A(e){return m(7,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return e(t,n,r,a,i,o,s)}}}}}}})}function E(e){return m(8,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return function(u){return e(t,n,r,a,i,o,s,u)}}}}}}}})}function $(e,t,n){return 2===e.a?e.f(t,n):e(t)(n)}function R(e,t,n,r){return 3===e.a?e.f(t,n,r):e(t)(n)(r)}function S(e,t,n,r,a){return 4===e.a?e.f(t,n,r,a):e(t)(n)(r)(a)}function M(e,t,n,r,a,i){return 5===e.a?e.f(t,n,r,a,i):e(t)(n)(r)(a)(i)}function P(e,t,n,r,a,i,o){return 6===e.a?e.f(t,n,r,a,i,o):e(t)(n)(r)(a)(i)(o)}function L(e,t,n,r,a,i,o,s){return 7===e.a?e.f(t,n,r,a,i,o,s):e(t)(n)(r)(a)(i)(o)(s)}customElements.define("diva-lazy-image",g),customElements.define("osd-viewer",p);var T=y(function(e,t,n){for(var r=Array(e),a=0;a100){var a;return r.push((a=e,{a,b:t})),!0}if(e.$<0&&(e=no(e),t=no(t)),"function"==typeof DataView&&e instanceof DataView){var i=e.byteLength;if(t.byteLength!==i)return!1;for(var o=0;o0&&e<0||n<0&&e>0?n+e:n}),Z=Math.ceil,Y=Math.floor,K=Math.round,Q=Math.log,ee=w(function(e,t){return e+t}),et=y(function(e,t,n){for(var r=n.length;r-- >0;){var a=n[r],i=n.charCodeAt(r);56320<=i&&i<=57343&&(a=n[--r]+a),t=$(e,a,t)}return t}),en=w(function(e,t){return t.split(e)}),er=w(function(e,t){return t.join(e)}),ea=y(function(e,t,n){return n.slice(e,t)}),ei=w(function(e,t){for(var n=t.length;n-- >0;){var r=t[n],a=t.charCodeAt(n);if(56320<=a&&a<=57343&&(r=t[--n]+r),!e(r))return!1}return!0}),eo=w(function(e,t){return t.indexOf(e)>-1}),es=w(function(e,t){return 0===t.indexOf(e)}),eu=w(function(e,t){return t.length>=e.length&&t.lastIndexOf(e)===t.length-e.length}),ec=w(function(e,t){var n=e.length;if(n<1)return U;for(var r=0,a=[];(r=t.indexOf(e,r))>-1;)a.push(r),r+=n;return q(a)});function el(e){return e+""}function ed(e){return{$:2,b:e}}var ef=ed(function(e){return"number"!=typeof e?eL("an INT",e):-0x7fffffff=t.length)return eL("a LONGER array. Need index "+a+" but only see "+t.length+" entries",t);var r=eR(e.b,t[a]);return n0(r)?r:nf($(nb,a,r.a));case 8:if("object"!=typeof t||null===t||eM(t))return eL("an OBJECT",t);var i=U;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var r=eR(e.b,t[o]);if(!n0(r))return nf($(nv,o,r.a));i=D({a:o,b:r.a},i)}return ng(nO(i));case 9:for(var s=e.f,u=e.g,c=0;ctypeof FileList&&e instanceof FileList}function eP(e){return $(nQ,e.length,function(t){return e[t]})}function eL(e,t){return nf($(nh,"Expecting "+e,t))}var eT=w(function(e,t){return JSON.stringify(t,null,e)+""});function ek(e){return e}var eO=y(function(e,t,n){return("toJSON"!==e||"function"!=typeof t)&&(n[e]=t),n});function eH(e){return{$:0,a:e}}function eV(e){return{$:2,b:e,c:null}}var eB=w(function(e,t){return{$:3,b:e,d:t}}),eF=w(function(e,t){return{$:4,b:e,d:t}}),e_=0;function eN(e){var t={$:0,e:e_++,f:e,g:null,h:[]};return eq(t),t}function ez(e){return eV(function(t){t(eH(eN(e)))})}function eG(e,t){e.h.push(t),eq(e)}var eU=w(function(e,t){return eV(function(n){eG(e,t),n(eH(0))})}),eD=!1,eJ=[];function eq(e){if(eJ.push(e),!eD){for(eD=!0;e=eJ.shift();)!function(e){for(;e.f;){var t=e.f.$;if(0===t||1===t){for(;e.g&&e.g.$!==t;)e.g=e.g.i;if(!e.g)return;e.f=e.g.b(e.f.a),e.g=e.g.i}else if(2===t){e.f.c=e.f.b(function(t){e.f=t,eq(e)});return}else if(5===t){if(0===e.h.length)return;e.f=e.f.b(e.h.shift())}else e.g={$:+(3!==t),b:e.f.b,i:e.g},e.f=e.f.d}}(e);eD=!1}}function eX(e){return eV(function(t){var n=setTimeout(function(){t(eH(0))},e);return function(){clearTimeout(n)}})}var ej={};function eW(e,t,n,r,a){return{b:e,c:t,d:n,e:r,f:a}}var eZ=w(function(e,t){return eV(function(n){e.g(t),n(eH(0))})}),eY=w(function(e,t){return $(eU,e.h,{$:0,a:t})});function eK(e){return function(t){return{$:1,k:e,l:t}}}function eQ(e){return{$:2,m:e}}var e0=[],e1=!1;function e2(e,t,n){if(e0.push({p:e,q:t,r:n}),!e1){e1=!0;for(var r;r=e0.shift();)!function(e,t,n){var r={};for(var a in e4(!0,t,r,null),e4(!1,n,r,null),e)eG(e[a],{$:"fx",a:r[a]||{i:U,j:U}})}(r.p,r.q,r.r);e1=!1}}function e4(e,t,n,r){switch(t.$){case 1:var a,i,o,s,u,c,l,d=t.k,f=(a=e,i=d,o=r,s=t.l,$(a?ej[i].e:ej[i].f,function(e){for(var t=o;t;t=t.t)e=t.s(e);return e},s));n[d]=(u=e,c=f,l=(l=n[d])||{i:U,j:U},u?l.i=D(c,l.i):l.j=D(c,l.j),l);return;case 2:for(var h=t.m;h.b;h=h.b)e4(e,h.a,n,r);return;case 3:e4(e,t.o,n,{s:t.n,t:r});return}}function e3(e,t){return ej[e]&&O(3),ej[e]={e:e6,u:t,a:e5},eK(e)}var e6=w(function(e,t){return t});function e5(e){var t=[],n=ej[e].u,r=eX(0);return ej[e].b=r,ej[e].c=y(function(e,a,i){for(;a.b;a=a.b){for(var o=t,s=n(a.a),u=0;u=0&&t.splice(n,1)}}}function e8(e,t){return ej[e]&&O(3),ej[e]={f:e7,u:t,a:e9},eK(e)}var e7=w(function(e,t){return function(n){return e(t(n))}});function e9(e,t){var n=U,r=ej[e].u,a=eH(null);return ej[e].b=a,ej[e].c=y(function(e,t,r){return n=t,a}),{send:function(e){var a=$(e$,r,e);n0(a)||O(4,a.a);for(var i=a.a,o=n;o.b;o=o.b)t(o.a(i))}}}var te=!1,tt="u">typeof document?document:{};function tn(e,t){e.appendChild(t)}function tr(e,t,n){(t.parentNode!==e||t.nextSibling!==n)&&e.insertBefore(t,n)}function ta(e,t,n){(t.parentNode!==e||t.previousSibling!==n)&&e.insertBefore(t,null===n?e.firstChild:n.nextSibling)}var ti="u">typeof Element&&"function"==typeof Element.prototype.moveBefore,to=ti?function(e,t,n){(t.parentNode!==e||t.nextSibling!==n)&&e.moveBefore(t,n)}:tr,ts=ti?function(e,t,n){(t.parentNode!==e||t.previousSibling!==n)&&e.moveBefore(t,null===n?e.firstChild:n.nextSibling)}:ta;function tu(e){var t=e.parentNode;t&&t.removeChild(e)}function tc(e){return{r:e,s:Object.create(null)}}function tl(e){return{$:0,a:e}}var td=w(function(e,t){return w(function(n,r){for(var a=[];r.b;r=r.b)a.push(r.a);return{$:1,c:t,d:tL(n),e:a,f:e,b:0}})}),tf=td(void 0);function th(e,t){return{$:5,l:e,m:t,k:void 0}}w(function(e,t){return w(function(n,r){for(var a=[],i=Object.create(null);r.b;r=r.b){for(var o=r.a,s=o.a;s in i;)s+=tG,o={a:s,b:o.b};a.push(o),i[s]=o.b}return{$:2,c:t,d:tL(n),e:a,t:i,f:e,b:0}})})(void 0);var tv=w(function(e,t){return th([e,t],function(){return e(t)})}),tb=y(function(e,t,n){return th([e,t,n],function(){return $(e,t,n)})}),tg=x(function(e,t,n,r){return th([e,t,n,r],function(){return R(e,t,n,r)})}),tp=C(function(e,t,n,r,a){return th([e,t,n,r,a],function(){return S(e,t,n,r,a)})}),tm=I(function(e,t,n,r,a,i){return th([e,t,n,r,a,i],function(){return M(e,t,n,r,a,i)})}),tw=A(function(e,t,n,r,a,i,o){return th([e,t,n,r,a,i,o],function(){return P(e,t,n,r,a,i,o)})}),ty=w(function(e,t){return{$:"a0",n:e,o:t}}),tx=w(function(e,t){return{$:"a1",n:e,o:t}}),tC=w(function(e,t){return{$:"a2",n:e,o:t}}),tI=w(function(e,t){return{$:"a3",n:e,o:t}}),tA=y(function(e,t,n){return{$:"a4",n:t,o:{f:e,o:n}}}),tE=/^script$/i,t$=/^(on|formAction$)/i,tR=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,tS=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function tM(e){return tS.test(e)?"":e}var tP="function"==typeof _Test_runThunk;function tL(e){var t={};for(t[tJ]=!0;e.b;e=e.b){var n=e.a,r=n.$,a=n.n,i=n.o;if("a2"===r){"className"===a?tT(t,a,i):t[a]=i;continue}var o=t[r]||(t[r]={});"a3"===r&&"class"===a?tP?tT(t,"className",i):tT(o,a,i):o[a]=i}return t}function tT(e,t,n){var r=e[t];e[t]=r?r+" "+n:n}function tk(e,t,n){var r=e.$;if(5===r)return tk(e.k||(e.k=e.m()),t,n);if(4===r)return tk(e.k,function(n,r){return t(e.j(n),r)},n);if(0===r){var a=tt.createTextNode(e.a);return n.r=a,a}if(3===r){var a=e.h(e.g);return tO(a,t,{},e.d),n.r=a,a}var a=e.f?tt.createElementNS(e.f,e.c):tt.createElement(e.c);if(c&&"a"==e.c&&a.addEventListener("click",c(a)),tO(a,t,{},e.d),1===r)for(var i=e.e,o=0;on2(i)}),r[a]=o}for(a in r)a in n||(e.removeEventListener(a,r[a]),delete r[a])}(e,t,r.a0||{})}function tH(e,t){for(var n in t)if("a0"!==n&&"a1"!==n&&"a3"!==n&&"a4"!==n&&n!==tJ){var r=t[n];r!==e[n]&&(e[n]=r)}}function tV(e,t){var n=e.elmFs;if(n)for(var r in n)n[r].q=t}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){l=!0}}))}catch(e){}function tB(e,t,n,r){if(e===t)return{r:tF(e,t,n,r),u:!1,v:!1};for(;4===e.$;)e=e.k;if(4===t.$)return tB(e,t.k,function(e,r){return n(t.j(e),r)},r);if(5===e.$)if(5!==t.$)return tB(e.k,t,n,r);else{for(var a=e.l,i=t.l,o=a.length,s=o===i.length;s&&o--;)s=a[o]===i[o];return s?(t.k=e.k,{r:tF(e,t,n,r),u:!1,v:!1}):(t.k=t.m(),tB(e.k,t.k,n,r))}if(5===t.$)return tB(e,t.k||(t.k=t.m()),n,r);var u=r.r,c=e.$,l=t.$;if(c!==l)if(1===c&&2===l)e=function(e,t,n){for(var r=e.e,a=t.e,i=r.length,o=a.length,s=Array(i),u=Object.create(null),c=Object.create(null),l=0;l=0;u--){var l=s[u],d=function e(t,n,r){var a=t.$;if(5===a)return e(t.k,n,r);if(4===a)return e(t.k,function(e,r){return n(t.j(e),r)},r);if(0===a){var i=tt.createTextNode(t.a);return r.r=i,i}return r.r}(2===n.$?l.b:l,r,a.s[2===n.$?l.a:u]);if(d.parentNode===e)for(;c>=0;c--){if((o=e.childNodes[c])===d){c--;break}(3===o.nodeType||"font"===o.localName)&&e.removeChild(o)}else tr(e,d,o),o=d}for(;c>=0;c--)(3===(o=e.childNodes[c]).nodeType||"font"===o.localName)&&e.removeChild(o)}return{r:e,u:!1,v:!1}}function tN(e,t,n,r,a){for(var i=t.e,o=n.e,s=i.length,u=o.length,c=!1,l=null,d=su)for(var f=u;fc&&f>l;){var p=i[d],m=o[f],w=p.a,y=m.a,x=p.b,C=m.b;if(w===y){var I=tB(x,C,r,a.s[y]);d--,f--,g(I,!0);continue}var A=!1;if(w in u?A=!0:(tu(a.s[w].r),delete a.s[w],d--),y in s){if(A)break}else{var E=tc(void 0),$=tk(C,r,E);a.s[y]=E,tr(e,$,v),f--,v=$}}var R=!1;if(c=e)break;var n=tX[t];delete tX[t],n()}tj=!1})),t}var tK="u">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tQ={addEventListener:function(){},removeEventListener:function(){}},t0="u">typeof document?document:tQ,t1="u">typeof window?window:tQ,t2=y(function(e,t,n){return ez(eV(function(r){function a(e){eN(n(e))}return e.addEventListener(t,a,l&&{passive:!0}),function(){e.removeEventListener(t,a)}}))}),t4=w(function(e,t){var n=eR(e,t);return n0(n)?nr(n.a):na});function t3(e,t){return eV(function(n){tY(function(){var r=document.getElementById(e);n(r?eH(t(r)):{$:1,a:n3(e)})})})}function t6(){var e=t0.body,t=t0.documentElement;return{dI:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dU:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t5=y(function(e,t,n){return t3(e,function(e){return e.scrollLeft=t,e.scrollTop=n,0})}),t8=y(function(e,t,n){return eV(function(r){function a(e){r(t(n.dQ.a(e)))}var i,o,s,u=new XMLHttpRequest;u.addEventListener("error",function(){a(rM)}),u.addEventListener("timeout",function(){a(rT)}),u.addEventListener("load",function(){var e,t,r;a((e=n.dQ.b,$(200<=(t=u).status&&t.status<300?rS:r$,{aM:(r=t).responseURL,gN:r.status,gO:r.statusText,eP:function(e){if(!e)return rI;for(var t=rI,n=e.split("\r\n"),r=n.length;r--;){var a=n[r],i=a.indexOf(": ");if(i>0){var o=a.substring(0,i),s=a.substring(i+2);t=R(rj,o,function(e){return nr(rk(e)?s+", "+e.a:s)},t)}}return t}(r.getAllResponseHeaders())},e(t.response))))}),rk(n.fE)&&(i=e,o=u,s=n.fE.a,o.upload.addEventListener("progress",function(e){!o.c&&eN($(rO,i,{a:s,b:rL({gJ:e.loaded,fw:e.total})}))}),o.addEventListener("progress",function(e){!o.c&&eN($(rO,i,{a:s,b:rP({gA:e.loaded,fw:e.lengthComputable?nr(e.total):na})}))}));try{u.open(n.gj,n.aM,!0)}catch(e){return a(rR(n.aM))}return function(e,t){for(var n=t.eP;n.b;n=n.b)e.setRequestHeader(n.a.a,n.a.b);e.timeout=t.gY.a||0,e.responseType=t.dQ.d,e.withCredentials=t.fM}(u,n),n.eq.a&&u.setRequestHeader("Content-Type",n.eq.a),u.send(n.eq.b),function(){u.c=!0,u.abort()}})}),t7=y(function(e,t,n){return{$:0,d:e,b:t,a:n}}),t9=w(function(e,t){return{$:0,d:t.d,b:t.b,a:function(n){return e(t.a(n))}}}),ne=C(function(e,t,n,r,a){for(var i,o=e.length,s=t+o<=a.length,u=0;s&&u_(e,t)))return n;else{var r=e,a=t-1,i=$(J,t,n);e=r,t=a,n=i;continue}}),nA=w(function(e,t){return R(nI,e,t,U)}),nE=w(function(e,t){return R(j,e,$(nA,0,nC(t)-1),t)}),n$=function(e){return e.toLowerCase()},nR=function(e){return e.toUpperCase()},nS=function(e){return H(e,n$(e))&&!H(e,nR(e))},nM=function(e){return H(e,nR(e))&&!H(e,n$(e))},nP=function(e){return nS(e)||nM(e)},nL=function(e){var t=e.charCodeAt(0);return 55296<=t&&t<=56319?(t-55296)*1024+e.charCodeAt(1)-56320+65536:t},nT=function(e){var t=nL(e);return t<=57&&48<=t},nk=function(e){return nS(e)||nM(e)||nT(e)},nO=function(e){return R(nx,J,U,e)},nH=function(e){var t=e.charCodeAt(0);return isNaN(t)?na:nr(55296<=t&&t<=56319?{a:e[0]+e[1],b:e.slice(2)}:{a:e[0],b:e.slice(1)})},nV=w(function(e,t){return"\n\n("+el(e+1)+") "+ny(nB(t))}),nB=function(e){return $(nF,e,U)},nF=w(function(e,t){for(;;)switch(e.$){case 0:var n=e.a,r=e.b,a=!function(){var e=nH(n);if(1===e.$)return!1;var t=e.a,r=t.a,a=t.b;return nP(r)&&$(ei,nk,a)}()?"['"+n+"']":"."+n,i=r,o=$(J,a,t);e=i,t=o;continue;case 1:var s=e.a,r=e.b,u="["+el(s)+"]",i=r,o=$(J,u,t);e=i,t=o;continue;case 2:var c=e.a;if(!c.b)return"Ran into a Json.Decode.oneOf with no possibilities"+(t.b?" at json"+$(nm,"",nO(t)):"!");if(c.b.b){var l=(t.b?"The Json.Decode.oneOf at json"+$(nm,"",nO(t)):"Json.Decode.oneOf")+" failed in the following "+el(nC(c))+" ways:";return $(nm,"\n\n",$(J,l,$(nE,nV,c)))}var r=c.a,i=r,o=t;e=i,t=o;continue;default:var d=e.a,f=e.b,l=t.b?"Problem with the value at json"+$(nm,"",nO(t))+":\n\n ":"Problem with the given value:\n\n";return l+(ny($(eT,4,f))+"\n\n")+d}}),n_=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),nN=[],nz=w(function(e,t){return Q(t)/Q(e)}),nG=function(e){return e},nU=Z($(nz,2,32)),nD=S(n_,0,nU,nN,nN),nJ=w(function(e,t){return e(t)}),nq=function(e){return e.length},nX=w(function(e,t){return _(e,t)>0?e:t}),nj=w(function(e,t){for(;;){var n=$(k,32,e),r=n.a,a=n.b,i=$(J,{$:0,a:r},t);if(!a.b)return nO(i);e=a,t=i}}),nW=function(e){return e.a},nZ=w(function(e,t){for(;;){var n=Z(t/32);if(1===n)return $(k,32,e).a;e=$(nj,e,U),t=n}}),nY=w(function(e,t){if(!t.z)return S(n_,nq(t.E),nU,nN,t.E);var n=32*t.z,r=Y($(nz,32,n-1)),a=$(nZ,e?nO(t.F):t.F,t.z);return S(n_,nq(t.E)+n,$(nX,5,r*nU),a,t.E)}),nK=C(function(e,t,n,r,a){for(;;)if(t<0)return $(nY,!1,{F:r,z:n/32|0,E:a});else{var i={$:1,a:R(T,32,t,e)},o=e,s=t-32,u=n,c=$(J,i,r),l=a;e=o,t=s,n=u,r=c,a=l;continue}}),nQ=w(function(e,t){if(e<=0)return nD;var n=e%32,r=R(T,n,e-n,t);return M(nK,t,e-n-32,e,U,r)}),n0=function(e){return!e.$},n1=function(e){return{$:0,a:e}},n2=function(e){switch(e.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},n4=function(e){return e},n3=n4,n6=I(function(e,t,n,r,a,i){return{f4:i,eR:t,s:r,fa:n,fe:e,gz:a}}),n5=function(e){return e.length},n8=w(function(e,t){return e<1?t:R(ea,e,n5(t),t)}),n7=function(e){return""===e},n9=w(function(e,t){return e<1?"":R(ea,0,e,t)}),re=function(e){for(var t=0,n=e.charCodeAt(0),r=+(43==n||45==n),a=r;a500?R(nx,e,t,nO(d)):S(rs,e,t,n+1,d);return $(e,a,$(e,o,$(e,u,$(e,l,f))))}),ru=y(function(e,t,n){return S(rs,e,t,0,n)}),rc=w(function(e,t){return R(ru,w(function(t,n){return $(J,e(t),n)}),U,t)}),rl=w(function(e,t){return $(eB,function(t){return eH(e(t))},t)}),rd=y(function(e,t,n){return $(eB,function(t){return $(eB,function(n){return eH($(e,t,n))},n)},t)}),rf=function(e){return R(ru,rd(J),eH(U),e)},rh=w(function(e,t){return ez($(eB,eZ(e),t))});ej.Task=eW(ro,y(function(e,t,n){return $(rl,function(e){return 0},rf($(rc,rh(e),t)))}),y(function(e,t,n){return eH(0)}),w(function(e,t){return $(rl,e,t)}));var rv=eK("Task"),rb=w(function(e,t){return rv($(rl,e,t))}),rg=function(e){return{$:0,a:e}},rp={$:1},rm={$:0},rw=function(e){return{$:9,a:e}},ry=function(e){return{$:56,a:e}},rx=y(function(e,t,n){return 0>_(n,e)?e:_(n,t)>0?t:n}),rC={$:-2},rI=rC,rA=(r=function(){return{fq:t6(),fH:{fJ:t1.pageXOffset,ek:t1.pageYOffset,dI:t0.documentElement.clientWidth,dU:t0.documentElement.clientHeight}}},eV(function(e){tY(function(){e(eH(r()))})})),rE={aa:na,ah:na,di:!1,ax:rI,e:rI,cL:0,v:rI,D:rI,Z:U,ag:rI,ar:rI},r$=w(function(e,t){return{$:3,a:e,b:t}}),rR=function(e){return{$:0,a:e}},rS=w(function(e,t){return{$:4,a:e,b:t}}),rM={$:2},rP=function(e){return{$:1,a:e}},rL=function(e){return{$:0,a:e}},rT={$:1},rk=function(e){return!e.$},rO=eY,rH=w(function(e,t){for(;;)if(-2===t.$)return na;else{var n=t.b,r=t.c,a=t.d,i=t.e;switch($(N,e,n)){case 0:var o=e,s=a;e=o,t=s;continue;case 1:return nr(r);default:var o=e,s=i;e=o,t=s;continue}}}),rV=C(function(e,t,n,r,a){return{$:-1,a:e,b:t,c:n,d:r,e:a}}),rB=C(function(e,t,n,r,a){if(-1!==a.$||a.a)if(-1!==r.$||r.a||-1!==r.d.$||r.d.a)return M(rV,e,t,n,r,a);else{r.a;var i=r.b,o=r.c,s=r.d;s.a;var u=s.b,c=s.c,l=s.d,d=s.e,f=r.e;return M(rV,0,i,o,M(rV,1,u,c,l,d),M(rV,1,t,n,f,a))}a.a;var h=a.b,v=a.c,b=a.d,g=a.e;if(-1!==r.$||r.a)return M(rV,e,h,v,M(rV,0,t,n,r,b),g);r.a;var i=r.b,o=r.c,p=r.d,f=r.e;return M(rV,0,t,n,M(rV,1,i,o,p,f),M(rV,1,h,v,b,g))}),rF=y(function(e,t,n){if(-2===n.$)return M(rV,0,e,t,rC,rC);var r=n.a,a=n.b,i=n.c,o=n.d,s=n.e;switch($(N,e,a)){case 0:return M(rB,r,a,i,R(rF,e,t,o),s);case 1:return M(rV,r,a,t,o,s);default:return M(rB,r,a,i,o,R(rF,e,t,s))}}),r_=y(function(e,t,n){var r=R(rF,e,t,n);return -1!==r.$||r.a?r:(r.a,M(rV,1,r.b,r.c,r.d,r.e))}),rN=function(e){for(;;)if(-1!==e.$||-1!==e.d.$)return e;else{e=e.d;continue}},rz=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.e.d.$||e.e.d.a){var t=e.a,n=e.b,r=e.c,a=e.d;a.a;var i=a.b,o=a.c,s=a.d,u=a.e,c=e.e;c.a;var l=c.b,d=c.c,f=c.d,h=c.e;return M(rV,1,n,r,M(rV,0,i,o,s,u),M(rV,0,l,d,f,h))}var t=e.a,n=e.b,r=e.c,v=e.d;v.a;var i=v.b,o=v.c,s=v.d,u=v.e,b=e.e;b.a;var l=b.b,d=b.c,f=b.d;f.a;var g=f.b,p=f.c,m=f.d,w=f.e,h=b.e;return M(rV,0,g,p,M(rV,1,n,r,M(rV,0,i,o,s,u),m),M(rV,1,l,d,w,h))},rG=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.d.d.$||e.d.d.a){var t=e.a,n=e.b,r=e.c,a=e.d;a.a;var i=a.b,o=a.c,s=a.d,u=a.e,c=e.e;c.a;var l=c.b,d=c.c,f=c.d,h=c.e;return M(rV,1,n,r,M(rV,0,i,o,s,u),M(rV,0,l,d,f,h))}var t=e.a,n=e.b,r=e.c,v=e.d;v.a;var i=v.b,o=v.c,b=v.d;b.a;var g=b.b,p=b.c,m=b.d,w=b.e,u=v.e,y=e.e;y.a;var l=y.b,d=y.c,f=y.d,h=y.e;return M(rV,0,i,o,M(rV,1,g,p,m,w),M(rV,1,n,r,u,M(rV,0,l,d,f,h)))},rU=A(function(e,t,n,r,a,i,o){if(-1===i.$&&!i.a)return i.a,M(rV,n,i.b,i.c,i.d,M(rV,0,r,a,i.e,o));for(;;)if(-1===o.$&&1===o.a)if(-1!==o.d.$)return o.a,o.d,rG(t);else if(1===o.d.a)return o.a,o.d.a,rG(t);else break;else break;return t}),rD=function(e){if(-1!==e.$||-1!==e.d.$)return rC;var t=e.a,n=e.b,r=e.c,a=e.d,i=a.a,o=a.d,s=e.e;if(1!==i)return M(rV,t,n,r,rD(a),s);if(-1===o.$&&!o.a)return o.a,M(rV,t,n,r,rD(a),s);var u=rz(e);if(-1!==u.$)return rC;var c=u.a,l=u.b,d=u.c,f=u.d,h=u.e;return M(rB,c,l,d,rD(f),h)},rJ=w(function(e,t){if(-2===t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;if(!(0>_(e,r)))return $(rq,e,L(rU,e,t,n,r,a,i,o));if(-1!==i.$||1!==i.a)return M(rV,n,r,a,$(rJ,e,i),o);i.a;var s=i.d;if(-1===s.$&&!s.a)return s.a,M(rV,n,r,a,$(rJ,e,i),o);var u=rz(t);if(-1!==u.$)return rC;var c=u.a,l=u.b,d=u.c,f=u.d,h=u.e;return M(rB,c,l,d,$(rJ,e,f),h)}),rq=w(function(e,t){if(-1!==t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;if(!H(e,r))return M(rB,n,r,a,i,$(rJ,e,o));var s=rN(o);return -1===s.$?M(rB,n,s.b,s.c,i,rD(o)):rC}),rX=w(function(e,t){var n=$(rJ,e,t);return -1!==n.$||n.a?n:(n.a,M(rV,1,n.b,n.c,n.d,n.e))}),rj=y(function(e,t,n){var r=t($(rH,e,n));return r.$?$(rX,e,n):R(r_,e,r.a,n)}),rW=y(function(e,t,n){return t(e(n))}),rZ=w(function(e,t){return R(t7,"",n4,$(rW,t,e))}),rY=w(function(e,t){return t.$?nf(e(t.a)):ng(t.a)}),rK=function(e){return{$:4,a:e}},rQ={$:2},r0={$:1},r1=w(function(e,t){switch(t.$){case 0:return nf({$:0,a:t.a});case 1:return nf(r0);case 2:return nf(rQ);case 3:return nf({$:3,a:t.a.gN});default:return $(rY,rK,e(t.b))}}),r2=w(function(e,t){return $(rZ,e,r1(function(e){return $(rY,nB,$(eE,t,e))}))}),r4={$:0},r3=w(function(e,t){return{$:0,a:e,b:t}}),r6=function(e){return{$:1,a:e}},r5=w(function(e,t){return{fj:e,fB:t}}),r8=eH($(r5,rI,U)),r7=function(e){return eV(function(t){var n=e.f;2===n.$&&n.c&&n.c(),e.f=null,t(eH(0))})},r9=y(function(e,t,n){for(;;)if(!t.b)return eH(n);else{var r=t.a,a=t.b;if(r.$){var i=r.a;return $(eB,function(t){var r=i.fE;return 1===r.$?R(r9,e,a,n):R(r9,e,a,R(r_,r.a,t,n))},ez(R(t8,e,eZ(e),i)))}var o=r.a,s=$(rH,o,n);if(1!==s.$)return $(eB,function(t){return R(r9,e,a,$(rX,o,n))},r7(s.a));var u=n;t=a,n=u;continue}}),ae=x(function(e,t,n,r){return $(eB,function(e){return eH($(r5,e,n))},R(r9,e,t,r.fj))}),at=y(function(e,t,n){var r=e(t);return r.$?n:$(J,r.a,n)}),an=w(function(e,t){return R(ru,at(e),U,t)}),ar=x(function(e,t,n,r){var a=r.a,i=r.b;return H(t,a)?nr($(eZ,e,i(n))):na}),aa=y(function(e,t,n){return $(eB,function(e){return eH(n)},rf($(an,R(ar,e,t.a,t.b),n.fB)))}),ai=w(function(e,t){if(t.$){var n=t.a;return r6({fM:n.fM,eq:n.eq,dQ:$(t9,e,n.dQ),eP:n.eP,gj:n.gj,gY:n.gY,fE:n.fE,aM:n.aM})}return{$:0,a:t.a}}),ao=w(function(e,t){return{$:0,a:e,b:t}});ej.Http=eW(r8,ae,aa,ai,w(function(e,t){return $(ao,t.a,$(rW,t.b,e))}));var as=eK("Http");eK("Http");var au=y(function(e,t,n){var r;return as(r6({fM:!1,eq:(r={eq:r4,dQ:t,eP:$(rc,r3("Accept"),e),gj:"GET",gY:na,fE:na,aM:n}).eq,dQ:r.dQ,eP:r.eP,gj:r.gj,gY:r.gY,fE:r.fE,aM:r.aM}))}),ac=function(e){return{$:3,b:e}},al=function(e){return{$:11,g:e}},ad=w(function(e,t){for(;;)if(!t.b)return!1;else{var n=t.a,r=t.b;if(e(n))return!0;t=r;continue}}),af=y(function(e,t,n){return $(nm,t,$(nw,e,n))}),ah=w(function(e,t){return H(t,e)||H(t,R(af,"http://","https://",e))}),av=function(e){return{$:1,a:e}},ab="http://iiif.io/api/presentation/2/context.json",ag="http://iiif.io/api/presentation/3/context.json",ap=w(function(e,t){return{$:0,a:e,b:t}}),am=w(function(e,t){return{$:0,a:e,b:t}}),aw=w(function(e,t){return{$:0,a:e,b:t}}),ay=w(function(e,t){return{$:0,a:e,b:t}}),ax=function(e){return{$:2,a:e}},aC=function(e){return{$:1,a:e}},aI=function(e){return{$:0,a:e}},aA=function(e){return{$:3,a:e}},aE=y(function(e,t,n){return e(t(n))}),a$=E(function(e,t,n,r,a,i,o,s){return{dd:s,dU:r,f7:e,cF:a,dX:t,gW:i,g2:o,dI:n}}),aR=function(e){return al(q([$(ex,nr,e),n1(na)]))},aS=w(function(e,t){return R(eC,w(function(e,t){return t(e)}),e,t)}),aM=x(function(e,t,n,r){var a=al(q([$(ep,e,t),n1(n)]));return $(aS,a,r)}),aP=y(function(e,t,n){return $(aS,$(ep,e,t),n)}),aL=function(e){if(!e.b)return na;var t=e.a;return e.b,nr(t)},aT=function(e){return al(q([$(ex,aL,ac(e)),$(ex,nr,e)]))},ak=w(function(e,t){return R(ru,ep,t,e)}),aO=w(function(e,t){return t.b?R(ru,J,t,e):e}),aH=function(e){return R(ru,aO,U,e)},aV=C(function(e,t,n,r,a){return{f7:e,eT:n,dX:t,ft:r,gK:a}}),aB=w(function(e,t){return $(aS,e,t)}),aF=w(function(e,t){return $(aS,n1(e),t)}),a_=function(e){return{$:2,a:e}},aN=w(function(e,t){return t.$?na:e(t.a)}),az=w(function(e,t){return t.$?na:nr(e(t.a))}),aG=w(function(e,t){return t.$?e:t.a}),aU=function(e){var t=e.fe,n=e.eR,r=e.fa,a=e.s,i=e.gz,o=t?"https://":"http://",s=i.$?a:a+"?"+i.a;return{dc:$(aG,G(o,n),$(az,function(e){return o+(n+":")+el(e)},r)),s:a,d4:$(nw,"/",a),du:s}},aD=A(function(e,t,n,r,a,i,o){return{dR:o,eR:e,Y:t,d7:i,cU:n,bg:a,fw:r}}),aJ=function(e){return{$:1,a:e}},aq=y(function(e,t,n){if(1===t.$)return na;var r=t.a;return 1===n.$?na:nr($(e,r,n.a))}),aX=w(function(e,t){return R(aq,nJ,t,e)}),aj=function(e){var t=$(nw,".",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.b.a;return"jpg"===n?nr(0):"tif"===n?nr(1):"png"===n?nr(2):"gif"===n?nr(4):"jp2"===n?nr(3):"pdf"===n?nr(5):"webp"===n?nr(6):na},aW={$:0},aZ={$:1},aY=function(e){return"full"===e?nr(aW):"square"===e?nr(aZ):na},aK=w(function(e,t){for(;;)if(!e.b)return na;else{var n=e.a,r=e.b,a=n(t);if(!a.$)return nr(a.a);var i=t;e=r,t=i;continue}}),aQ=function(e){if(0===e.length||/[\sxbo]/.test(e))return na;var t=+e;return t==t?nr(t):na},a0=function(e){var t=$(an,aQ,$(nw,",",$(n8,4,e)));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return na;var n=t.a,r=t.b,a=r.a,i=r.b,o=i.a;return nr({$:3,a:{dn:i.b.a,dH:o,fJ:n,ek:a}})},a1=function(e){var t=$(an,re,$(nw,",",e));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return na;var n=t.a,r=t.b,a=r.a,i=r.b,o=i.a;return nr({$:2,a:{dn:i.b.a,dH:o,fJ:n,ek:a}})},a2=function(e){return{$:5,a:e}},a4=function(e){return $(es,"^,",e)?$(az,a2,re($(n8,2,e))):na},a3=function(e){return{$:7,a:e}},a6=function(e){return $(es,"^pct:",e)?$(az,a3,aQ($(n8,5,e))):na},a5=function(e){return{$:11,a:e}},a8=w(function(e,t){return{a:e,b:t}}),a7=function(e){var t=$(nw,",",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.a,r=t.b.a;return R(aq,a8,re(n),re(r))},a9=function(e){return $(es,"^!",e)?$(az,a5,a7($(n8,2,e))):na},ie=function(e){return{$:9,a:e}},it=function(e){return $(es,"^",e)?$(az,ie,a7($(n8,1,e))):na},ir=function(e){return{$:3,a:e}},ia=w(function(e,t){return e<1?t:R(ea,0,-e,t)}),ii=function(e){return $(eu,",",e)&&$(es,"^",e)?$(az,ir,re($(n8,1,$(ia,1,e)))):na},io=function(e){return{$:4,a:e}},is=function(e){return $(es,",",e)?$(az,io,re($(n8,1,e))):na},iu={$:1},ic={$:0},il=function(e){return"max"===e||"full"===e?nr(ic):"^max"===e?nr(iu):na},id=function(e){return{$:6,a:e}},ih=function(e){return $(es,"pct:",e)?$(az,id,aQ($(n8,4,e))):na},iv=function(e){return{$:10,a:e}},ib=function(e){return $(es,"!",e)?$(az,iv,a7($(n8,1,e))):na},ig=function(e){return{$:8,a:e}},ip=function(e){var t=$(nw,",",e);return t.b&&t.b.b&&!t.b.b.b?(t.b,$(az,ig,a7(e))):na},im=function(e){return{$:2,a:e}},iw=function(e){return $(eu,",",e)?$(az,im,re($(ia,1,e))):na},iy=function(e){var t=$(nw,".",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.a;return t.b,"default"===n?nr(3):"native"===n?nr(4):"color"===n?nr(0):"gray"===n?nr(1):"bitonal"===n?nr(2):na},ix=function(e){return{$:1,a:e}},iC=function(e){return $(es,"!",e)?$(az,ix,aQ($(n8,1,e))):na},iI=function(e){return{$:0,a:e}},iA=function(e){return $(az,iI,aQ(e))},iE=w(function(e,t){var n=nO(t);if(!n.b||!n.b.b||!n.b.b.b||!n.b.b.b.b)return na;var r=n.a,a=n.b,i=a.a,o=a.b,s=o.a,u=o.b,c=u.a,l=$(nm,"/",nO(u.b));return $(az,aJ,$(aX,aj(r),$(aX,iy(r),$(aX,$(aK,q([iA,iC]),i),$(aX,$(aK,q([il,iw,ii,is,a4,ih,a6,ip,it,ib,a9]),s),$(aX,$(aK,q([aY,a1,a0]),c),nr($(aD,e,l))))))))}),i$=function(e){return{$:0,a:e}},iR=w(function(e,t){return R(ru,w(function(t,n){return e(t)?$(J,t,n):n}),U,t)}),iS=w(function(e,t){return $(iR,F(e),t)}),iM=w(function(e,t){return nr(i$({eR:e,Y:$(nm,"/",$(iS,"info.json",t))}))}),iP=w(function(e,t){return aH($(rc,e,t))}),iL=(a=q(["color","gray","bitonal","default","native"]),i=q(["jpg","tif","png","gif","jp2","pdf","webp"]),$(rc,nm("."),(o=q([a,i]),R(ru,w(function(e,t){return $(iP,function(e){return $(rc,J(e),t)},e)}),q([U]),o)))),iT=w(function(e,t){return nr(a_({eR:e,Y:t}))}),ik=function(e){var t=aU(e),n=t.dc,r=t.s,a=t.d4,i=t.du;return $(ad,function(e){return $(eu,e,r)},iL)?$(iE,n,a):$(eu,"info.json",r)?$(iM,n,a):$(iT,n,i)},iO=function(e){return $(aN,ik,ri(e))},iH=function(e){var t=iO(e);return t.$||2!==t.a.$?av("Could not decode static image Url"):n1(a_(t.a.a))},iV=function(e){switch(e.$){case 0:default:return e;case 1:var t=e.a;return i$({eR:t.eR,Y:t.Y})}},iB=function(e){var t=iO(e);return t.$?av("Could not decode image Url"):2===t.a.$?n1(i$(t.a.a)):n1(iV(t.a))},iF=w(function(e,t){return $(ad,function(t){return H(t,e)},t)}),i_="http://iiif.io/api/image/2/context.json",iN=function(e){if($(ah,i_,e))return 1;if($(ah,"http://iiif.io/api/image/3/context.json",e))return 2;switch(e){case"AuthLogoutService1":return 6;case"AuthTokenService1":return 5;case"AutoCompleteService1":return 4;case"ImageService1":return 0;case"ImageService2":return 1;case"ImageService3":return 2;case"SearchService1":return 3;default:return 7}},iz=al(q([$(ex,iN,$(ep,"@type",eg)),$(ex,iN,$(ep,"type",eg)),$(ex,function(e){return $(ah,"http://library.stanford.edu/iiif/image-api/1.1/context.json",e)||$(ah,"http://iiif.io/api/image/1/context.json",e)?0:$(ah,i_,e)?1:iN(e)},$(ep,"@context",eg))])),iG=$(ey,function(e){return $(iF,e,q([0,1,2]))?$(ep,"@id",eg):av("Not an Image API service")},iz),iU=$(ey,function(e){return e.$?av("No Image API service ID found"):iB(e.a)},$(ep,"service",al(q([$(ex,function(e){return aL($(an,n4,e))},ac(aR(iG))),$(ex,nr,iG)])))),iD=al(q([iU,$(ey,iH,$(ep,"@id",eg))])),iJ=function(e){return q([e])},iq=al(q([$(ep,"service",ac(eb)),$(ep,"service",$(ex,iJ,eb)),n1(U)])),iX=al(q([$(ep,"service",al(q([$(ex,an(n4),ac(aR(iz))),$(ex,iJ,iz)]))),n1(U)])),ij=function(e){return{$:8,b:e}},iW=w(function(e,t){return{$:0,a:e,b:t}}),iZ={$:1},iY=function(e){return"none"===e?iZ:rg(e)},iK=function(e){var t=e.a,n=e.b;return $(iW,iY(t),n)},iQ=$(ex,function(e){return R(nx,w(function(e,t){return $(J,iK(e),t)}),U,e)},ij(ac(eg))),i0={$:2},i1=$(ex,function(e){return q([$(iW,i0,q([e]))])},eg),i2=R(eC,w(function(e,t){return q([$(iW,iY(t),q([e]))])}),$(ep,"@value",eg),al(q([$(ep,"@language",eg),n1("none")]))),i4=$(ex,aH,ac(i2)),i3=al(q([i2,i4,i1,iQ])),i6=$(aB,iq,$(aB,iX,$(aF,0,S(aM,"label",aR(i3),na,$(aB,iD,n1(aV)))))),i5=R(eC,J,$(ak,q(["default"]),i6),$(ak,q(["item"]),ac($(aB,iq,$(aB,iX,$(aF,1,S(aM,"label",aR(i3),na,$(aB,iD,n1(aV))))))))),i8=al(q([ac($(ak,q(["resource"]),i6)),$(ex,aH,ac($(ak,q(["resource"]),i5)))])),i7=function(e){return{$:0,a:e}},i9=al(q([$(ex,i7,$(ep,"@id",eg)),$(ex,i7,$(ep,"id",eg)),$(ex,i7,eg)])),oe=function(e){var t=aU(e);return a_({eR:t.dc,Y:t.du})},ot=function(e){var t=ri(e);return t.$?av("Could not decode static image Url"):n1(oe(t.a))},on=al(q([iU,$(ey,ot,$(ep,"@id",eg))])),or=$(aB,iq,$(aB,iX,$(aF,0,S(aM,"label",aR(i3),na,$(aB,on,n1(aV)))))),oa=function(e){return{$:0,a:e}},oi=function(e){switch(e){case"continuous":return 2;case"facing-pages":return 6;case"individuals":return 1;case"multi-part":return 3;case"non-paged":return 4;case"paged":default:return 0;case"top":return 5}},oo=$(ex,function(e){return oa(oi(e))},eg),os=S(aM,"otherContent",ac(i9),U,S(aM,"viewingHint",aR(oo),na,S(aM,"thumbnail",aT(or),na,S(aM,"images",i8,U,S(aM,"height",aR(ef),na,S(aM,"width",aR(ef),na,S(aM,"label",aR(i3),na,R(aP,"@id",eg,n1(a$))))))))),ou=x(function(e,t,n,r){return{f7:e,aH:n,dX:t,d_:r}}),oc=function(e){return{$:0,a:e}},ol=function(e){return{$:1,a:e}},od=q([$(iW,i0,q(["Homepage"]))]),of=function(e){return $(ey,e,n1(0))},oh=w(function(e,t){return{dX:e,fG:t}}),ov=R(aP,"value",i3,R(aP,"label",i3,n1(oh)));function ob(){return S(aM,"metadata",ac(ov),U,$(aB,og(),S(aM,"label",i3,od,R(aP,"@id",eg,n1(ou)))))}function og(){return R(eC,w(function(e,t){return G($(rc,ol,e),$(rc,oc,t))}),al(q([$(ep,"ranges",ac(op())),n1(U)])),al(q([$(ep,"canvases",ac(eg)),n1(U)])))}function op(){return of(function(e){return ob()})}var om=ob();ob=function(){return om};var ow=og();og=function(){return ow};var oy=op();op=function(){return oy};var ox=x(function(e,t,n,r){return{f7:e,aH:r,dX:t,gR:n}}),oC=function(e){return{$:1,a:e}},oI=function(e){return{$:0,a:e}},oA=function(e){return function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return function(u){return function(c){return function(l){return function(d){return function(f){return{es:o,f6:u,f7:e,dX:t,ge:c,d_:n,ff:l,fh:s,fm:f,gR:a,gW:d,g1:r,g2:i}}}}}}}}}}}}}},oE=x(function(e,t,n,r){return{dR:n,f7:e,dX:t,g_:r}}),o$=function(e){return{$:1,a:e}},oR=function(e){return{$:1,a:e}},oS={$:0},oM=$(ex,function(e){return"image/jpeg"===e?oS:o$(e)},eg),oP={$:0},oL=$(ex,function(e){return"Video"===e?oP:oR(e)},eg),oT=S(aM,"@type",oL,oR("Text"),S(aM,"format",oM,o$("text/html"),S(aM,"label",i3,od,R(aP,"@id",eg,n1(oE))))),ok=al(q([ac(oT),$(ex,iJ,oT)])),oO=$(aF,na,S(aM,"thumbnail",aT(or),na,$(aF,na,$(aF,na,S(aM,"rendering",aR(ok),na,$(aF,na,$(aF,U,$(aF,oa(1),S(aM,"description",aR(i3),na,$(aF,0,$(aF,U,R(aP,"label",i3,R(aP,"@id",eg,n1(oA)))))))))))))),oH=function(e){switch(e){case"sc:Collection":return $(ex,oI,of(function(e){return oV()}));case"sc:Manifest":return $(ex,oC,oO);default:return av("Unknown collection item type: "+e)}};function oV(){return $(aB,oB(),S(aM,"description",aR(i3),na,R(aP,"label",i3,R(aP,"@id",eg,n1(ox)))))}function oB(){return al(q([$(ep,"members",ac(oF())),R(eC,w(function(e,t){return G(e,t)}),al(q([$(ep,"collections",ac($(ex,oI,of(function(e){return oV()})))),n1(U)])),al(q([$(ep,"manifests",ac($(ex,oC,oO))),n1(U)])))]))}function oF(){return $(ey,oH,$(ep,"@type",eg))}var o_=oV();oV=function(){return o_};var oN=oB();oB=function(){return oN};var oz=oF();oF=function(){return oz};var oG=R(aP,"value",iQ,R(aP,"label",iQ,n1(oh))),oU=al(q([$(ex,function(e){return{dX:q([$(iW,i0,q(["Attribution"]))]),fG:q([$(iW,i0,q([e]))])}},eg),oG,ov])),oD=$(em,0,$(ak,q(["canvases"]),ac(os))),oJ=$(ex,function(e){switch(e){case"bottom-to-top":return 3;case"left-to-right":default:return 0;case"right-to-left":return 1;case"top-to-bottom":return 2}},eg),oq=S(aM,"attribution",aR(oU),na,S(aM,"thumbnail",aT(or),na,$(aF,na,S(aM,"logo",aR(i6),na,S(aM,"rendering",aR(ok),na,S(aM,"structures",aR(ac(oy)),na,R(aP,"sequences",oD,S(aM,"viewingHint",oo,oa(1),S(aM,"description",aR(i3),na,S(aM,"viewingDirection",oJ,0,S(aM,"metadata",ac(ov),U,R(aP,"label",i3,R(aP,"@id",eg,n1(oA)))))))))))))),oX=$(ey,function(e){switch(e){case"sc:Canvas":return $(ex,$(aE,ax,ap(1)),os);case"sc:Collection":return $(ex,$(aE,aC,am(1)),o_);case"sc:Manifest":return $(ex,$(aE,aI,aw(1)),oq);case"sc:Range":return $(ex,$(aE,aA,ay(1)),oy);default:return av("Unknown IIIF v2 resource type: "+e)}},$(ep,"@type",eg)),oj=function(e){return{$:1,a:e}},oW=$(ex,oj,ac($(ex,function(e){switch(e){case"auto-advance":return 0;case"continuous":return 6;case"facing-pages":return 8;case"hidden":return 15;case"individuals":return 5;case"multi-part":return 10;case"no-auto-advance":return 1;case"no-nav":return 14;case"no-repeat":return 3;case"non-paged":return 9;case"paged":default:return 7;case"repeat":return 2;case"sequence":return 12;case"thumbnail-nav":return 13;case"together":return 11;case"unordered":return 4}},eg))),oZ=w(function(e,t){for(;;)if(!t.b)return na;else{var n=t.a,r=t.b;if(e(n))return nr(n);t=r;continue}}),oY=w(function(e,t){return{f7:e,gL:t}}),oK=$(ex,iN,al(q([$(ep,"@type",eg),$(ep,"type",eg)]))),oQ=$(aB,oK,$(aB,al(q([$(ep,"id",eg),$(ep,"@id",eg)])),n1(oY))),o0=al(q([ac(oQ),$(ex,iJ,oQ)])),o1=$(ey,function(e){var t=$(az,function(e){return e.f7},$(oZ,function(e){return $(iF,e.gL,q([0,1,2]))},e));return t.$?av("No valid service ID found in service array"):$(ex,iV,iB(t.a))},$(ep,"service",o0)),o2=al(q([o1,$(ey,iH,$(ep,"id",eg))])),o4=al(q([iQ,i1])),o3=al(q([ac(eb),$(ex,iJ,eb)])),o6=al(q([ac(oK),$(ex,iJ,oK)])),o5=function(e){return S(aM,"service",o3,U,S(aM,"service",o6,U,$(aF,e,S(aM,"label",aR(o4),na,$(aB,o2,n1(aV))))))},o8=$(ak,q(["body","items"]),ac(o5(1))),o7=$(ex,iJ,$(ep,"body",o5(0))),o9=$(ey,function(e){return"Choice"===e?o8:o7},$(ak,q(["body","type"]),eg)),se=$(ak,q(["items"]),$(em,0,o9)),st=al(q([$(ex,function(e){return{$:1,a:e}},$(ep,"items",eb)),$(ex,i7,$(ep,"id",eg))])),sn=al(q([o1,$(ey,ot,$(ep,"id",eg))])),sr=S(aM,"service",o3,U,S(aM,"service",o6,U,$(aF,0,S(aM,"label",aR(o4),na,$(aB,sn,n1(aV)))))),sa=S(aM,"annotations",ac(st),U,S(aM,"behavior",aR(oW),na,S(aM,"thumbnail",aT(sr),na,R(aP,"items",$(em,0,se),R(aP,"height",aR(ef),R(aP,"width",aR(ef),S(aM,"label",aR(iQ),na,R(aP,"id",eg,n1(a$))))))))),si=q([$(iW,i0,q(["Homepage"]))]),so=function(e){switch(e){case"Canvas":return $(ex,oc,$(ep,"id",eg));case"Range":return $(ex,ol,ss());default:return av("Unsupported range item type")}};function ss(){return S(aM,"metadata",ac(oG),U,S(aM,"items",ac(su()),U,S(aM,"label",iQ,si,R(aP,"id",eg,n1(ou)))))}function su(){return $(ey,so,$(ep,"type",eg))}var sc=ss();ss=function(){return sc};var sl=su();su=function(){return sl};var sd=function(e){return!e.b},sf=S(aM,"type",oL,oR("Text"),S(aM,"format",oM,o$("text/html"),S(aM,"label",iQ,si,R(aP,"id",eg,n1(oE))))),sh=$(aF,na,S(aM,"thumbnail",aT(sr),na,$(aF,na,$(aF,na,S(aM,"homepage",aR(ac(sf)),na,$(aF,na,$(aF,U,$(aF,oj(q([5])),S(aM,"summary",aR(iQ),na,$(aF,0,$(aF,U,R(aP,"label",o4,R(aP,"id",eg,n1(oA)))))))))))))),sv=function(e){switch(e){case"Collection":return $(ex,oI,of(function(e){return sb()}));case"Manifest":return $(ex,oC,sh);default:return av("Unknown collection item type: "+e)}};function sb(){return $(aB,sg(),S(aM,"summary",aR(iQ),na,R(aP,"label",o4,R(aP,"id",eg,n1(ox)))))}function sg(){return S(eI,y(function(e,t,n){return sd(e)?G(t,n):G(e,G(t,n))}),al(q([$(ep,"items",ac(sp())),n1(U)])),al(q([$(ep,"collections",ac($(ex,oI,of(function(e){return sb()})))),n1(U)])),al(q([$(ep,"manifests",ac($(ex,oC,sh))),n1(U)])))}function sp(){return $(ey,sv,$(ep,"type",eg))}var sm=sb();sb=function(){return sm};var sw=sg();sg=function(){return sw};var sy=sp();sp=function(){return sy};var sx=I(function(e,t,n,r,a,i){return{f6:r,f7:e,dX:t,ge:a,gH:i,g_:n}}),sC=A(function(e,t,n,r,a,i,o){return{dR:n,dU:i,f7:e,dX:t,ft:o,g_:r,dI:a}}),sI=q([$(iW,i0,q(["Logo"]))]),sA=S(aM,"service",aR(o0),na,S(aM,"height",ef,0,S(aM,"width",ef,0,S(aM,"type",oL,oR("Image"),S(aM,"format",oM,o$("image/png"),S(aM,"label",iQ,sI,R(aP,"id",eg,n1(sC)))))))),sE=S(aM,"seeAlso",aR(ac(R(aP,"type_",oL,R(aP,"format",oM,R(aP,"label",o4,R(aP,"id",eg,n1(x(function(e,t,n,r){return{dR:n,f7:e,dX:t,g_:r}})))))))),na,S(aM,"logo",aR(ac(sA)),na,S(aM,"homepage",aR(ac(sf)),na,R(aP,"type",oL,R(aP,"label",iQ,R(aP,"id",eg,n1(sx))))))),s$=S(aM,"requiredStatement",aR(oG),na,S(aM,"thumbnail",aT(sr),na,S(aM,"provider",aR(ac(sE)),na,S(aM,"logo",aR(o5(0)),na,S(aM,"homepage",aR(ac(sf)),na,S(aM,"structures",aR(ac(sc)),na,R(aP,"items",ac(sa),S(aM,"behavior",oW,oj(q([5])),S(aM,"summary",aR(iQ),na,S(aM,"viewingDirection",oJ,0,S(aM,"metadata",ac(oG),U,R(aP,"label",o4,R(aP,"id",eg,n1(oA)))))))))))))),sR=$(ey,function(e){switch(e){case"Canvas":return $(ex,$(aE,ax,ap(2)),sa);case"Collection":return $(ex,$(aE,aC,am(2)),sm);case"Manifest":return $(ex,$(aE,aI,aw(2)),s$);case"Range":return $(ex,$(aE,aA,ay(2)),sc);default:return av("Unknown IIIF v3 resource type: "+e)}},$(ep,"type",eg)),sS=al(q([$(ey,function(e){return $(ah,ag,e)?sR:$(ah,ab,e)?oX:av("Unknown resource context value: "+e)},$(ep,"@context",eg)),$(ey,function(e){return $(ad,ah(ag),e)?sR:$(ad,ah(ab),e)?oX:av("Context values contain an unknown IIIF version: "+$(nm,", ",e))},$(ep,"@context",ac(eg)))])),sM=y(function(e,t,n){return R(au,t,$(r2,e,sS),n)}),sP={aN:!1,bm:10,bn:15,aO:0,bo:!1,aP:0,az:!1,aQ:8,aR:0,bp:!1,aS:0,bq:!1,aT:0,br:!1,aU:0,aA:!1,aV:8,aW:0,bs:!1,aX:0,bt:!1,aY:0,bu:!1,aZ:0,aB:!1,a_:8,a$:0,bv:!1,a0:0,bw:!1,bx:0,cj:!1,by:0,ck:!1,bz:0,cl:!1,bA:0,cm:!1,bB:1,N:!1,cp:!1,bC:"#ffffff",bD:"#ffffff",bE:24,bF:128,a4:!1,bG:"gray",bH:1,cq:!1,cr:!1,bI:"sharpen",cv:!1,bO:1,cw:!1,a7:!1,cz:!1,bP:0,cB:!1,cH:!1,bb:!1,bT:3,bU:"erode",cN:!1,bV:1,bW:0,bX:"pca-rgb",bY:1,ae:!1,bZ:1,b_:"rg",b$:1,bg:0,b1:0,cW:!1,b8:128,c1:!1,ca:1,c6:!1,cc:0,c8:!1},sL=function(e){switch(e){case"contents":return 3;case"metadata":return 2;default:return 1}},sT=function(e){return{$:5,c:e}},sk=function(e){return{$:0,a:e}},sO=function(e){return{$:1,a:e}},sH=function(e){return{$:3,a:e}},sV=function(e){return{$:4,a:e}},sB=function(e){return{$:5,a:e}},sF=function(e){return{$:1,a:e}},s_=w(function(e,t){return{$:2,a:e,b:t}}),sN={$:14},sz=w(function(e,t){return{$:3,a:e,b:t}}),sG=y(function(e,t,n){return{$:2,a:e,b:t,c:n}}),sU=w(function(e,t){return{$:0,a:e,b:t}}),sD=y(function(e,t,n){return{$:4,a:e,b:t,c:n}}),sJ=w(function(e,t){return{$:9,a:e,b:t}}),sq=y(function(e,t,n){return{$:8,a:e,b:t,c:n}}),sX=function(e){return{$:12,a:e}},sj=function(e){return{$:28,a:e}},sW=function(e){return{$:29,a:e}},sZ={$:30},sY={$:31},sK=function(e){return{$:57,a:e}},sQ=function(e){return{$:55,a:e}},s0=e8("authDestroyed",sT(0)),s1=e8("authHttpFailed",$(ey,function(e){return $(ey,function(t){return n1({f7:t,ac:e})},$(ep,"id",eg))},$(ep,"message",eg))),s2=e8("authHttpResponded",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({eq:n,f7:t,dE:e})},$(ep,"body",eg))},$(ep,"id",eg))},$(ep,"status",ef))),s4=e8("authLogoutChanged",$(ey,function(e){return $(ey,function(t){return n1({fu:t,dE:e})},$(ep,"sessionId",eg))},$(ep,"status",eg))),s3=e8("authPopupChanged",$(ey,function(e){return $(ey,function(t){return n1({dl:t,dE:e})},$(ep,"flowId",eg))},$(ep,"status",eg))),s6=e8("authStorageResponded",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({dl:n,dr:t,fG:e})},$(ep,"flowId",eg))},$(ep,"now",ev))},$(ep,"value",al(q([sT(na),$(ex,nr,eb)]))))),s5=e8("authTokenFailed",$(ey,function(e){return $(ey,function(t){return n1({dl:t,ac:e})},$(ep,"flowId",eg))},$(ep,"message",eg))),s8=e8("authTokenMessage",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({dl:n,dr:t,fG:e})},$(ep,"flowId",eg))},$(ep,"now",ev))},$(ep,"value",eb))),s7=e8("fullscreenChanged",eh),s9=e8("layoutModeRequested",eg),ue={$:12},ut=function(e){return sk(function(){switch(e.dE){case"closed":return ue;case"opened":return{$:10,a:e.fu};default:return{$:11,a:e.fu}}}())},un=eQ(U),ur=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),ua=w(function(e,t){return{e9:t,fB:e}}),ui=eH($(ua,U,rI)),uo=function(e){return{a:G(e.a?"w_":"d_",e.b),b:e}},us=function(e){return R(nx,w(function(e,t){return R(r_,e.a,e.b,t)}),rI,e)},uu=y(function(e,t,n){for(;;)if(-2===n.$)return t;else{var r=n.b,a=n.c,i=n.d,o=n.e,s=e,u=R(e,r,a,R(uu,e,t,i));e=s,t=u,n=o;continue}}),uc=I(function(e,t,n,r,a,i){var o=y(function(r,a,i){for(;;){var o=i.a,s=i.b;if(o.b){var u=o.a,c=u.a,l=u.b,d=o.b;if(0>_(c,r)){var f=r,h=a,v={a:d,b:R(e,c,l,s)};r=f,a=h,i=v;continue}if(_(c,r)>0)return{a:o,b:R(n,r,a,s)};return{a:d,b:S(t,c,l,a,s)}}return{a:o,b:R(n,r,a,s)}}}),s=R(uu,o,{a:no(r),b:i},a),u=s.a,c=s.b;return R(nx,w(function(t,n){return R(e,t.a,t.b,n)}),c,u)}),ul=w(function(e,t){return{eF:t,ak:e}}),ud=y(function(e,t,n){return $(rl,function(e){return{a:t,b:e}},R(t2,n.a?t1:t0,n.b,function(n){return $(rO,e,$(ul,t,n))}))}),uf=w(function(e,t){return R(uu,r_,t,e)}),uh=y(function(e,t,n){var r=y(function(t,n,r){var a=r.a,i=r.b,o=r.c;return{a:a,b:i,c:$(J,R(ud,e,t,n),o)}}),a=y(function(e,t,n){var r,a=n.a,i=n.b,o=n.c;return r=$(J,t,a),{a:r,b:i,c:o}}),i=x(function(e,t,n,r){var a=r.a,i=r.b,o=r.c;return{a:a,b:R(r_,e,t,i),c:o}}),o=$(rc,uo,t),s=P(uc,a,i,r,n.e9,us(o),{a:U,b:rI,c:U}),u=s.a,c=s.b,l=s.c;return $(eB,function(e){return eH($(ua,o,$(uf,c,us(e))))},$(eB,function(e){return rf(l)},rf($(rc,r7,u))))}),uv=y(function(e,t,n){var r=t.ak,a=t.eF,i=$(an,function(e){var t=e.a,n=e.b;n.a,n.b;var i=n.c;return H(t,r)?$(t4,i,a):na},n.fB);return $(eB,function(e){return eH(n)},rf($(rc,eZ(e),i)))}),ub=w(function(e,t){return R(ur,t.a,t.b,$(ex,e,t.c))});ej["Browser.Events"]=eW(ui,uh,uv,0,ub);var ug=eK("Browser.Events"),up=y(function(e,t,n){return ug(R(ur,e,t,n))}),um=$(up,0,"mousemove"),uw=$(up,0,"mouseup"),uy=e8("pageIndexChanged",ef),ux=e8("pageIndexChangedInstant",ef),uC=function(e){return sk(function(){switch(e.dE){case"closed":return{$:7,a:e.dl};case"opened":return{$:5,a:e.dl};default:return{$:6,a:e.dl}}}())},uI=e8("resolveTileSourceCancelled",eg),uA=e8("resolveTileSourceRequested",$(ey,function(e){return $(ey,function(t){return n1({fl:t,b7:e})},$(ep,"requestId",eg))},$(ep,"sourceId",eg))),uE=e8("resourceRequested",$(ey,function(e){return $(ey,function(t){return n1({fl:t,aM:e})},$(ep,"requestId",eg))},$(ep,"url",eg))),u$=e8("viewerLoadingChanged",eh),uR=e8("viewerPageLoaded",ef),uS=e8("zoomChanged",ev),uM={$:0},uP=function(e){return{$:2,a:e}},uL=function(e){return{$:1,a:e}},uT=w(function(e,t){return{$:7,a:e,b:t}}),uk=w(function(e,t){return{$:8,a:e,b:t}}),uO=y(function(e,t,n){return{$:10,a:e,b:t,c:n}}),uH=w(function(e,t){for(;;)if(!t.b)return na;else{var n=t.a,r=t.b;if(e(n))return nr(n);t=r;continue}}),uV=function(e){var t=$(uH,function(e){return e.bR},e.cF);return t.$?aL(e.cF):nr(t.a)},uB=function(e){return!e},uF=function(e){return 1===e.$&&!sd(e.a.cS)},u_=w(function(e,t){return $(aN,function(e){return e.aG||uF(e.dh)?na:nr(e.b9)},$(aN,uV,aL($(iR,function(t){return H(t.M,e)},t.ap))))}),uN=w(function(e,t){return R(nx,w(function(t,n){return n.push(e(t)),n}),[],t)}),uz=function(e){return R(nx,w(function(e,t){return R(eO,e.a,e.b,t)}),{},e)},uG=e3("annotationsUpdated",function(e){return uz(q([{a:"annotations",b:uN(n4)(e.de)},{a:"canvasId",b:ek(e.M)}]))}),uU=e3("annotationsVisibilityUpdated",ek),uD=y(function(e,t,n){switch(e){case 0:return z(n,{aN:t});case 1:return z(n,{bo:t});case 2:return z(n,{az:t});case 3:return z(n,{bp:t});case 4:return z(n,{bq:t});case 5:return z(n,{br:t});case 6:return z(n,{aA:t});case 7:return z(n,{bs:t});case 8:return z(n,{bt:t});case 9:return z(n,{bu:t});case 10:return z(n,{aB:t});case 11:return z(n,{bv:t});case 12:return z(n,{bw:t});case 13:return z(n,{cj:t});case 14:return z(n,{ck:t});case 15:return z(n,{cl:t});case 16:return z(n,{cm:t});case 17:return z(n,{a4:t});case 18:return z(n,{N:t});case 19:return z(n,{cp:t});case 20:return z(n,{cq:t});case 21:return z(n,{cr:t});case 22:return z(n,{cv:t});case 23:return z(n,{cw:t});case 24:return z(n,{a7:t});case 25:return z(n,{cz:t});case 26:return z(n,{cB:t});case 27:return z(n,{cH:t});case 28:return z(n,{bb:t});case 29:return z(n,{cN:t});case 30:return z(n,{ae:t});case 31:return z(n,{cW:t});case 32:return z(n,{c1:t});case 33:return z(n,{c6:t});default:return z(n,{c8:t})}}),uJ=function(e){switch(e){case 0:return{b:function(e){return e.bB},f:1,g:0,c:w(function(e,t){return z(t,{bB:e})})};case 1:return{b:function(e){return e.bH},f:4,g:0,c:w(function(e,t){return z(t,{bH:e})})};case 2:return{b:function(e){return e.bO},f:4,g:.1,c:w(function(e,t){return z(t,{bO:e})})};case 3:return{b:function(e){return e.bV},f:2,g:0,c:w(function(e,t){return z(t,{bV:e})})};case 4:return{b:function(e){return e.bY},f:2,g:0,c:w(function(e,t){return z(t,{bY:e})})};case 5:return{b:function(e){return e.bZ},f:2,g:0,c:w(function(e,t){return z(t,{bZ:e})})};case 6:return{b:function(e){return e.b$},f:2,g:0,c:w(function(e,t){return z(t,{b$:e})})};default:return{b:function(e){return e.ca},f:3,g:0,c:w(function(e,t){return z(t,{ca:e})})}}},uq=y(function(e,t,n){var r=aQ(t),a=uJ(e),i=$(aG,a.b(n),$(az,$(rx,a.g,a.f),r));return $(a.c,i,n)}),uX=function(e){return $(W,2,e)?e:e+1},uj=function(e){return 3===e||5===e||7===e?e:3},uW=function(e){switch(e){case 0:return{b:function(e){return e.bm},f:50,g:-50,c:w(function(e,t){return z(t,{bm:e})}),i:na};case 1:return{b:function(e){return e.bn},f:51,g:3,c:w(function(e,t){return z(t,{bn:e})}),i:nr(uX)};case 2:return{b:function(e){return e.aY},f:100,g:0,c:w(function(e,t){return z(t,{aY:e})}),i:na};case 3:return{b:function(e){return e.a$},f:100,g:0,c:w(function(e,t){return z(t,{a$:e})}),i:na};case 4:return{b:function(e){return e.a0},f:100,g:0,c:w(function(e,t){return z(t,{a0:e})}),i:na};case 5:return{b:function(e){return e.aZ},f:100,g:-100,c:w(function(e,t){return z(t,{aZ:e})}),i:na};case 6:return{b:function(e){return e.a_},f:30,g:2,c:w(function(e,t){return z(t,{a_:e})}),i:na};case 7:return{b:function(e){return e.aT},f:100,g:0,c:w(function(e,t){return z(t,{aT:e})}),i:na};case 8:return{b:function(e){return e.aW},f:100,g:0,c:w(function(e,t){return z(t,{aW:e})}),i:na};case 9:return{b:function(e){return e.aU},f:100,g:-100,c:w(function(e,t){return z(t,{aU:e})}),i:na};case 10:return{b:function(e){return e.aV},f:30,g:2,c:w(function(e,t){return z(t,{aV:e})}),i:na};case 11:return{b:function(e){return e.aX},f:100,g:0,c:w(function(e,t){return z(t,{aX:e})}),i:na};case 12:return{b:function(e){return e.aO},f:100,g:0,c:w(function(e,t){return z(t,{aO:e})}),i:na};case 13:return{b:function(e){return e.aR},f:100,g:0,c:w(function(e,t){return z(t,{aR:e})}),i:na};case 14:return{b:function(e){return e.aP},f:100,g:-100,c:w(function(e,t){return z(t,{aP:e})}),i:na};case 15:return{b:function(e){return e.aQ},f:30,g:2,c:w(function(e,t){return z(t,{aQ:e})}),i:na};case 16:return{b:function(e){return e.aS},f:100,g:0,c:w(function(e,t){return z(t,{aS:e})}),i:na};case 17:return{b:function(e){return e.bx},f:255,g:-255,c:w(function(e,t){return z(t,{bx:e})}),i:na};case 18:return{b:function(e){return e.by},f:100,g:-100,c:w(function(e,t){return z(t,{by:e})}),i:na};case 19:return{b:function(e){return e.bz},f:100,g:-100,c:w(function(e,t){return z(t,{bz:e})}),i:na};case 20:return{b:function(e){return e.bA},f:100,g:-100,c:w(function(e,t){return z(t,{bA:e})}),i:na};case 21:return{b:function(e){return e.bF},f:255,g:0,c:w(function(e,t){return z(t,{bF:e})}),i:na};case 22:return{b:function(e){return e.bE},f:255,g:0,c:w(function(e,t){return z(t,{bE:e})}),i:na};case 23:return{b:function(e){return e.bW},f:180,g:-180,c:w(function(e,t){return z(t,{bW:e})}),i:na};case 24:return{b:function(e){return e.bP},f:100,g:-100,c:w(function(e,t){return z(t,{bP:e})}),i:na};case 25:return{b:function(e){return e.bT},f:7,g:3,c:w(function(e,t){return z(t,{bT:e})}),i:nr(uj)};case 26:return{b:function(e){return e.bg},f:180,g:-180,c:w(function(e,t){return z(t,{bg:e})}),i:na};case 27:return{b:function(e){return e.b1},f:100,g:-100,c:w(function(e,t){return z(t,{b1:e})}),i:na};case 28:return{b:function(e){return e.b8},f:255,g:0,c:w(function(e,t){return z(t,{b8:e})}),i:na};default:return{b:function(e){return e.cc},f:100,g:-100,c:w(function(e,t){return z(t,{cc:e})}),i:na}}},uZ=y(function(e,t,n){var r=re(t),a=uW(e),i=function(){if(r.$)return a.b(n);var e=r.a,t=R(rx,a.g,a.f,e),i=a.i;return i.$?t:(0,i.a)(t)}();return $(a.c,i,n)}),uY=w(function(e,t){return e}),uK=function(e){switch(e){case 0:return{b:function(e){return e.bG},c:w(function(e,t){return z(t,{bG:e})}),i:function(e){return $(iF,e,q(["gray","hot","cool"]))}};case 1:return{b:function(e){return e.bC},c:w(function(e,t){return z(t,{bC:e})}),i:uY(!0)};case 2:return{b:function(e){return e.bD},c:w(function(e,t){return z(t,{bD:e})}),i:uY(!0)};case 3:return{b:function(e){return e.bI},c:w(function(e,t){return z(t,{bI:e})}),i:function(e){return $(iF,e,q(["sharpen","blur","edge","emboss"]))}};case 4:return{b:function(e){return e.bX},c:w(function(e,t){return z(t,{bX:e})}),i:function(e){return $(iF,e,q(["pca-rgb","pca1","pca2","pca3"]))}};case 5:return{b:function(e){return e.bU},c:w(function(e,t){return z(t,{bU:e})}),i:function(e){return"erode"===e||"dilate"===e}};default:return{b:function(e){return e.b_},c:w(function(e,t){return z(t,{b_:e})}),i:function(e){return $(iF,e,q(["rg","gb","rb","luma","cmy","heat"]))}}}},uQ=y(function(e,t,n){var r=uK(e),a=r.i(t)?t:r.b(n);return $(r.c,a,n)}),u0=y(function(e,t,n){return n.$?e:t(n.a)}),u1=e3("filterPreviewUpdated",function(e){return R(u0,null,function(e){var t;return uz(q([{a:"aspect",b:ek(e.dg)},{a:"filters",b:uz(q([{a:"adaptiveEnabled",b:ek((t=e.eJ).aN)},{a:"adaptiveOffset",b:ek(t.bm)},{a:"adaptiveWindow",b:ek(t.bn)},{a:"altBlueGamma",b:ek(t.aO)},{a:"altBlueGammaEnabled",b:ek(t.bo)},{a:"altBlueHue",b:ek(t.aP)},{a:"altBlueHueEnabled",b:ek(t.az)},{a:"altBlueHueWindow",b:ek(t.aQ)},{a:"altBlueSigmoid",b:ek(t.aR)},{a:"altBlueSigmoidEnabled",b:ek(t.bp)},{a:"altBlueVibrance",b:ek(t.aS)},{a:"altBlueVibranceEnabled",b:ek(t.bq)},{a:"altGreenGamma",b:ek(t.aT)},{a:"altGreenGammaEnabled",b:ek(t.br)},{a:"altGreenHue",b:ek(t.aU)},{a:"altGreenHueEnabled",b:ek(t.aA)},{a:"altGreenHueWindow",b:ek(t.aV)},{a:"altGreenSigmoid",b:ek(t.aW)},{a:"altGreenSigmoidEnabled",b:ek(t.bs)},{a:"altGreenVibrance",b:ek(t.aX)},{a:"altGreenVibranceEnabled",b:ek(t.bt)},{a:"altRedGamma",b:ek(t.aY)},{a:"altRedGammaEnabled",b:ek(t.bu)},{a:"altRedHue",b:ek(t.aZ)},{a:"altRedHueEnabled",b:ek(t.aB)},{a:"altRedHueWindow",b:ek(t.a_)},{a:"altRedSigmoid",b:ek(t.a$)},{a:"altRedSigmoidEnabled",b:ek(t.bv)},{a:"altRedVibrance",b:ek(t.a0)},{a:"altRedVibranceEnabled",b:ek(t.bw)},{a:"brightness",b:ek(t.bx)},{a:"brightnessEnabled",b:ek(t.cj)},{a:"ccBlue",b:ek(t.by)},{a:"ccBlueEnabled",b:ek(t.ck)},{a:"ccGreen",b:ek(t.bz)},{a:"ccGreenEnabled",b:ek(t.cl)},{a:"ccRed",b:ek(t.bA)},{a:"ccRedEnabled",b:ek(t.cm)},{a:"colourReplaceBlend",b:ek(t.bB)},{a:"colourReplaceEnabled",b:ek(t.N)},{a:"colourReplacePreserveLum",b:ek(t.cp)},{a:"colourReplaceSource",b:ek(t.bC)},{a:"colourReplaceTarget",b:ek(t.bD)},{a:"colourReplaceTolerance",b:ek(t.bE)},{a:"colourmapCenter",b:ek(t.bF)},{a:"colourmapEnabled",b:ek(t.a4)},{a:"colourmapPreset",b:ek(t.bG)},{a:"contrast",b:ek(t.bH)},{a:"contrastEnabled",b:ek(t.cq)},{a:"convolutionEnabled",b:ek(t.cr)},{a:"convolutionPreset",b:ek(t.bI)},{a:"flip",b:ek(t.cv)},{a:"gamma",b:ek(t.bO)},{a:"gammaEnabled",b:ek(t.cw)},{a:"globalPcaEnabled",b:ek(t.a7)},{a:"grayscale",b:ek(t.cz)},{a:"hue",b:ek(t.bP)},{a:"hueEnabled",b:ek(t.cB)},{a:"invert",b:ek(t.cH)},{a:"morphEnabled",b:ek(t.bb)},{a:"morphKernel",b:ek(t.bT)},{a:"morphOperation",b:ek(t.bU)},{a:"normalizeEnabled",b:ek(t.cN)},{a:"normalizeStrength",b:ek(t.bV)},{a:"pcaHue",b:ek(t.bW)},{a:"pcaMode",b:ek(t.bX)},{a:"pseudoColourBlue",b:ek(t.bY)},{a:"pseudoColourEnabled",b:ek(t.ae)},{a:"pseudoColourGreen",b:ek(t.bZ)},{a:"pseudoColourMode",b:ek(t.b_)},{a:"pseudoColourRed",b:ek(t.b$)},{a:"rotation",b:ek(t.bg)},{a:"saturation",b:ek(t.b1)},{a:"saturationEnabled",b:ek(t.cW)},{a:"threshold",b:ek(t.b8)},{a:"thresholdEnabled",b:ek(t.c1)},{a:"unsharpAmount",b:ek(t.ca)},{a:"unsharpEnabled",b:ek(t.c6)},{a:"vibrance",b:ek(t.cc)},{a:"vibranceEnabled",b:ek(t.c8)}]))},{a:"isStatic",b:ek(e.aG)},{a:"sourceId",b:ek(e.b7)},{a:"tileSource",b:ek(e.b9)}]))},e)}),u2=e3("pageAspectsUpdated",uN(ek)),u4=e3("pageLabelsUpdated",uN(ek)),u3=e3("pagesUpdated",uN(function(e){var t;return uz(q([{a:"canvasId",b:ek(e.M)},{a:"height",b:R(u0,null,ek,e.dU)},{a:"images",b:uN(function(e){return uz(q([{a:"id",b:ek(e.f7)},{a:"isPrimary",b:ek(e.bR)},{a:"label",b:ek(e.dX)}]))})(e.cF)},{a:"index",b:ek(e.eU)},{a:"label",b:ek(e.dX)},{a:"primaryImage",b:uz(q([{a:"id",b:ek((t=e.fb).f7)},{a:"isPrimary",b:ek(t.bR)},{a:"label",b:ek(t.dX)}]))},{a:"width",b:R(u0,null,ek,e.dI)}]))})),u6=e3("tileSourcesUpdated",function(e){return uz(q([{a:"initialPageIndex",b:ek(e.dV)},{a:"resourceId",b:ek(e.d8)},{a:"tileSources",b:uN(function(e){return uz(q([{a:"canvasId",b:ek(e.M)},{a:"isStatic",b:ek(e.aG)},{a:"sourceId",b:ek(e.b7)},{a:"url",b:ek(e.aM)}]))})(e.ei)}]))}),u5=function(e){return eQ(q([u6({dV:0,d8:e,ei:U}),u3(U),u2(U),u4(U),u1(na),uG({de:U,M:""})]))},u8=e3("copyToClipboard",ek),u7=y(function(e,t,n){return e.$?n:$(t,e.a,n)}),u9=function(e){return e.$?na:nr(e.a)},ce=y(function(e,t,n){return $(aN,function(t){return u9($(e$,e,t))},$(rH,t,n))}),ct=w(function(e,t){return R(ce,eh,e,t)}),cn=w(function(e,t){return R(ce,al(q([ev,$(ex,nG,ef)])),e,t)}),cr=w(function(e,t){return R(ce,ef,e,t)}),ca=w(function(e,t){return R(ce,eg,e,t)}),ci=function(e){var t=$(cr,"vibrance",e),n=$(cn,"unsharpAmount",e),r=$(cr,"threshold",e),a=$(cr,"saturation",e),i=$(cr,"rotation",e),o=$(cn,"pseudoColourRed",e),s=$(ca,"pseudoColourMode",e),u=$(cn,"pseudoColourGreen",e),c=$(cn,"pseudoColourBlue",e),l=$(ca,"pcaMode",e),d=$(cr,"pcaHue",e),f=$(cn,"normalizeStrength",e),h=$(ca,"morphOperation",e),v=$(cr,"morphKernel",e),b=$(ct,"invert",e),g=$(cr,"hue",e),p=$(ct,"grayscale",e),m=$(cn,"gamma",e),y=$(ct,"flip",e),x=$(ca,"convolutionPreset",e),C=$(cn,"contrast",e),I=$(ca,"colourmapPreset",e),A=$(cr,"colourmapCenter",e),E=$(cr,"colourReplaceTolerance",e),S=$(ca,"colourReplaceTarget",e),M=$(ca,"colourReplaceSource",e),P=$(ct,"colourReplacePreserveLum",e),L=$(cn,"colourReplaceBlend",e),T=$(cr,"ccRed",e),k=$(cr,"ccGreen",e),O=$(cr,"ccBlue",e),H=$(cr,"brightness",e),V=$(cr,"altRedVibrance",e),B=$(cr,"altRedSigmoid",e),F=$(cr,"altRedHueWindow",e),_=$(cr,"altRedHue",e),N=$(cr,"altRedGamma",e),G=$(cr,"altGreenVibrance",e),U=$(cr,"altGreenSigmoid",e),D=$(cr,"altGreenHueWindow",e),J=$(cr,"altGreenHue",e),q=$(cr,"altGreenGamma",e),X=$(cr,"altBlueVibrance",e),j=$(cr,"altBlueSigmoid",e),W=$(cr,"altBlueHueWindow",e),Z=$(cr,"altBlueHue",e),Y=$(cr,"altBlueGamma",e),K=$(cr,"adaptiveWindow",e),Q=$(cr,"adaptiveOffset",e);return R(u7,X,w(function(e,t){return z(t,{aS:e,bq:!0})}),R(u7,W,w(function(e,t){return z(t,{az:!0,aQ:e})}),R(u7,Z,w(function(e,t){return z(t,{aP:e,az:!0})}),R(u7,j,w(function(e,t){return z(t,{aR:e,bp:!0})}),R(u7,Y,w(function(e,t){return z(t,{aO:e,bo:!0})}),R(u7,G,w(function(e,t){return z(t,{aX:e,bt:!0})}),R(u7,D,w(function(e,t){return z(t,{aA:!0,aV:e})}),R(u7,J,w(function(e,t){return z(t,{aU:e,aA:!0})}),R(u7,U,w(function(e,t){return z(t,{aW:e,bs:!0})}),R(u7,q,w(function(e,t){return z(t,{aT:e,br:!0})}),R(u7,V,w(function(e,t){return z(t,{a0:e,bw:!0})}),R(u7,F,w(function(e,t){return z(t,{aB:!0,a_:e})}),R(u7,_,w(function(e,t){return z(t,{aZ:e,aB:!0})}),R(u7,B,w(function(e,t){return z(t,{a$:e,bv:!0})}),R(u7,N,w(function(e,t){return z(t,{aY:e,bu:!0})}),R(u7,Q,w(function(e,t){return z(t,{aN:!0,bm:e})}),R(u7,K,w(function(e,t){return z(t,{aN:!0,bn:e})}),R(u7,f,w(function(e,t){return z(t,{cN:!0,bV:e})}),R(u7,n,w(function(e,t){return z(t,{ca:e,c6:!0})}),R(u7,P,w(function(e,t){return z(t,{N:!0,cp:e})}),R(u7,L,w(function(e,t){return z(t,{bB:e,N:!0})}),R(u7,E,w(function(e,t){return z(t,{N:!0,bE:e})}),R(u7,S,w(function(e,t){return z(t,{N:!0,bD:e})}),R(u7,M,w(function(e,t){return z(t,{N:!0,bC:e})}),R(u7,d,w(function(e,t){return z(t,{a7:!0,bW:e})}),R(u7,l,w(function(e,t){return z(t,{a7:!0,bX:e})}),R(u7,c,w(function(e,t){return z(t,{bY:e,ae:!0})}),R(u7,u,w(function(e,t){return z(t,{ae:!0,bZ:e})}),R(u7,o,w(function(e,t){return z(t,{ae:!0,b$:e})}),R(u7,s,w(function(e,t){return z(t,{ae:!0,b_:e})}),R(u7,A,w(function(e,t){return z(t,{bF:e,a4:!0})}),R(u7,I,w(function(e,t){return z(t,{a4:!0,bG:e})}),R(u7,x,w(function(e,t){return z(t,{cr:!0,bI:e})}),R(u7,v,w(function(e,t){return z(t,{bb:!0,bT:e})}),R(u7,h,w(function(e,t){return z(t,{bb:!0,bU:e})}),R(u7,O,w(function(e,t){return z(t,{by:e,ck:!0})}),R(u7,k,w(function(e,t){return z(t,{bz:e,cl:!0})}),R(u7,T,w(function(e,t){return z(t,{bA:e,cm:!0})}),R(u7,g,w(function(e,t){return z(t,{bP:e,cB:!0})}),R(u7,t,w(function(e,t){return z(t,{cc:e,c8:!0})}),R(u7,a,w(function(e,t){return z(t,{b1:e,cW:!0})}),R(u7,m,w(function(e,t){return z(t,{bO:e,cw:!0})}),R(u7,C,w(function(e,t){return z(t,{bH:e,cq:!0})}),R(u7,H,w(function(e,t){return z(t,{bx:e,cj:!0})}),R(u7,r,w(function(e,t){return z(t,{b8:e,c1:!0})}),R(u7,b,w(function(e,t){return z(t,{cH:e})}),R(u7,p,w(function(e,t){return z(t,{cz:e})}),R(u7,y,w(function(e,t){return z(t,{cv:e})}),R(u7,i,w(function(e,t){return z(t,{bg:e})}),sP)))))))))))))))))))))))))))))))))))))))))))))))))},co=function(e){var t=$(eE,$(ex,us,ij(eb)),e);return t.$?nf(nB(t.a)):ng(ci(t.a))},cs=function(e){return $(ee,e,"")},cu=y(function(e,t,n){for(;;){var r=nH(t);if(r.$)return n;var a=r.a,i=a.a,o=a.b;if("<"===i){var s=!0,u=o,c=n;e=!0,t=u,n=c;continue}if(">"===i){var s=!1,u=o,c=n;e=!1,t=u,n=c;continue}if(e){var s=!0,u=o,c=n;e=!0,t=u,n=c;continue}else{var s=!1,u=o,c=G(n,cs(i));e=s,t=u,n=c;continue}}}),cc=w(function(e,t){var n=function(){var e=t.gV.gI;if(e.$){var n=e.a;return uz(q([{a:"kind",b:ek("svg")},{a:"value",b:ek(n)}]))}var r=e.a,a=e.b,i=e.c,o=e.d;return uz(q([{a:"kind",b:ek("rect")},{a:"x",b:ek(r)},{a:"y",b:ek(a)},{a:"width",b:ek(i)},{a:"height",b:ek(o)}]))}();return uz(q([{a:"id",b:ek(t.f7)},{a:"shape",b:n},{a:"text",b:ek(R(cu,!1,t.eq.fG,""))},{a:"html",b:ek(t.eq.fG)},{a:"imageService",b:ek($(aG,"",e))}]))}),cl=x(function(e,t,n,r){return e?$(J,{a:t,b:n},r):r}),cd=function(e){return $(eT,2,uz(S(cl,e.bq,"altBlueVibrance",ek(e.aS),S(cl,e.az,"altBlueHueWindow",ek(e.aQ),S(cl,e.az,"altBlueHue",ek(e.aP),S(cl,e.bp,"altBlueSigmoid",ek(e.aR),S(cl,e.bo,"altBlueGamma",ek(e.aO),S(cl,e.bt,"altGreenVibrance",ek(e.aX),S(cl,e.aA,"altGreenHueWindow",ek(e.aV),S(cl,e.aA,"altGreenHue",ek(e.aU),S(cl,e.bs,"altGreenSigmoid",ek(e.aW),S(cl,e.br,"altGreenGamma",ek(e.aT),S(cl,e.bw,"altRedVibrance",ek(e.a0),S(cl,e.aB,"altRedHueWindow",ek(e.a_),S(cl,e.aB,"altRedHue",ek(e.aZ),S(cl,e.bv,"altRedSigmoid",ek(e.a$),S(cl,e.bu,"altRedGamma",ek(e.aY),S(cl,e.aN,"adaptiveOffset",ek(e.bm),S(cl,e.aN,"adaptiveWindow",ek(e.bn),S(cl,e.cN,"normalizeStrength",ek(e.bV),S(cl,e.c6,"unsharpAmount",ek(e.ca),S(cl,e.N,"colourReplacePreserveLum",ek(e.cp),S(cl,e.N,"colourReplaceBlend",ek(e.bB),S(cl,e.N,"colourReplaceTolerance",ek(e.bE),S(cl,e.N,"colourReplaceTarget",ek(e.bD),S(cl,e.N,"colourReplaceSource",ek(e.bC),S(cl,e.a7,"pcaHue",ek(e.bW),S(cl,e.a7,"pcaMode",ek(e.bX),S(cl,e.ae,"pseudoColourBlue",ek(e.bY),S(cl,e.ae,"pseudoColourGreen",ek(e.bZ),S(cl,e.ae,"pseudoColourRed",ek(e.b$),S(cl,e.ae,"pseudoColourMode",ek(e.b_),S(cl,e.a4,"colourmapCenter",ek(e.bF),S(cl,e.a4,"colourmapPreset",ek(e.bG),S(cl,e.cr,"convolutionPreset",ek(e.bI),S(cl,e.bb,"morphKernel",ek(e.bT),S(cl,e.bb,"morphOperation",ek(e.bU),S(cl,e.ck,"ccBlue",ek(e.by),S(cl,e.cl,"ccGreen",ek(e.bz),S(cl,e.cm,"ccRed",ek(e.bA),S(cl,e.cB,"hue",ek(e.bP),S(cl,e.c8,"vibrance",ek(e.cc),S(cl,e.cW,"saturation",ek(e.b1),S(cl,e.cw,"gamma",ek(e.bO),S(cl,e.cq,"contrast",ek(e.bH),S(cl,e.cj,"brightness",ek(e.bx),S(cl,e.c1,"threshold",ek(e.b8),S(cl,e.cH,"invert",ek(!0),S(cl,e.cz,"grayscale",ek(!0),S(cl,e.cv,"flip",ek(!0),S(cl,!!e.bg,"rotation",ek(e.bg),U)))))))))))))))))))))))))))))))))))))))))))))))))))},cf=w(function(e,t){var n=w(function(t,n){for(;;)if(H(t.u.f7,e))return nr(t.u);else{var r=t.Q;if(r.b){var a=r.a,i=r.b;if(a.$){var o=z(t,{Q:i}),s=n;t=o,n=s;continue}var u=a.a,o={u:u,Q:u.aH},s=$(J,{u:t.u,Q:i},n);t=o,n=s;continue}if(!n.b)return na;var c=n.a,i=n.b,o=c,s=i;t=o,n=s;continue}});return $(n,{u:t,Q:t.aH},U)}),ch=w(function(e,t){for(;;)if(e<=0)return t;else{if(!t.b)return t;t.a,e-=1,t=t.b;continue}}),cv=w(function(e,t){return aL($(ch,e,t))}),cb=w(function(e,t){return e(t.b)}),cg=cb(function(e){return e.es}),cp=w(function(e,t){var n=$(cm,e,t.aH),r=n.a,a=n.b;return R(r_,t.f7,r,a)}),cm=w(function(e,t){return R(nx,w(function(t,n){var r=n.a,a=n.b;if(t.$){var i=t.a,o=$(cp,e,i),s=r.$?$(aG,na,$(rH,i.f7,o)):r;return{a:s,b:$(uf,o,a)}}var u=t.a,s=r.$?$(rH,u,e):r;return{a:s,b:a}}),{a:na,b:rI},t)}),cw=w(function(e,t){return R(nx,w(function(t,n){return $(uf,$(cp,e,t),n)}),rI,t)}),cy=e3("layoutConfigUpdated",function(e){return uz(q([{a:"direction",b:ek(e.ez)},{a:"mode",b:ek(e.e1)}]))}),cx=w(function(e,t){return e?t?"spread-shift":"spread":"single"}),cC=function(e){var t={a:e.dI,b:e.dU};if(t.a.$||t.b.$)return 1;var n=t.a.a,r=t.b.a;return n>0?r/n:1},cI=w(function(e,t){return $(aG,q(["[No language value found]"]),$(az,function(e){return e.b},$(aK,q([function(n){if(e.$)return na;var r=e.a;return $(oZ,function(e){return!e.a.$&&H(e.a.a,r)},t)},function(e){return $(oZ,function(e){return H(e.a,iZ)},t)},function(e){return $(oZ,function(e){return H(e.a,i0)},t)},function(e){return aL(t)}]),t)))}),cA=w(function(e,t){return $(nm,"; ",$(cI,e,t))}),cE=function(e){var t=e.dX;return t.$?"Untitled":$(cA,i0,t.a)},c$=function(e){switch(e){case 0:return"jpg";case 1:return"tif";case 2:return"png";case 3:return"jp2";case 4:return"gif";case 5:return"pdf";default:return"webp"}},cR=function(e){switch(e){case 0:return"color";case 1:return"gray";case 2:return"bitonal";case 3:return"default";default:return"native"}},cS=function(e){switch(e.$){case 0:return"full";case 1:return"square";default:return $(nm,",",$(rc,el,q([e.a.fJ,e.a.ek,e.a.dH,e.a.dn])))}},cM=function(e){if(e.$){var t=e.a;return"!"+el(t)}var t=e.a;return el(t)},cP=function(e){switch(e.$){case 0:return"max";case 1:return"^max";case 2:var t=e.a;return el(t)+",";case 3:var t=e.a;return"^"+el(t)+",";case 4:var n=e.a;return","+el(n);case 5:var n=e.a;return"^,"+el(n);case 6:var r=e.a;return"pct:"+el(r);case 7:var r=e.a;return"^pct:"+el(r);case 8:var a=e.a,t=a.a,n=a.b;return el(t)+","+el(n);case 9:var i=e.a,t=i.a,n=i.b;return"^"+el(t)+","+el(n);case 10:var o=e.a,t=o.a,n=o.b;return"!"+el(t)+","+el(n);default:var s=e.a,t=s.a,n=s.b;return"^!"+el(t)+","+el(n)}},cL=function(e){for(;;)if(!e.b||"/"!==e.a)return e;else{e=e.b;continue}},cT=function(e){return X(e).join("")},ck=function(e){return R(et,J,U,e)},cO=function(e){return cT(nO(cL(nO(ck(e)))))},cH=nx(w(function(e,t){var n=cT(cL(ck(e)));return n7(n)?cO(t):cO(t)+"/"+n})),cV=function(e){switch(e.$){case 0:var t,n=e.a;return $(cH,(t=n).eR,q([t.Y,"info.json"]));case 1:var r,n=e.a;return $(cH,(r=n).eR,q([r.Y,cS(r.cU),cP(r.fw),cM(r.bg),cR(r.d7)+"."+c$(r.dR)]));default:var n=e.a;return $(cH,n.eR,q([n.Y]))}},cB=w(function(e,t){switch(t.$){case 0:var n,r=t.a;return aJ(z({dR:0,eR:(n=r).eR,Y:n.Y,d7:3,cU:aW,bg:iI(0),fw:ic},{fw:e}));case 1:var r=t.a;return aJ(z(r,{fw:e}));default:return t}}),cF=function(e){var t=iO(e);if(t.$)return e;var n=t.a;return cV($(cB,im(180),n))},c_=function(e){var t=cV(e.f7);return sd(e.ft)?t:cF(t)},cN=w(function(e,t){var n=t.gW;if(!n.$)return c_(n.a);var r=aL($(iR,function(e){return e.bR},e));if(r.$){var a=aL(e);if(a.$)return"";var i=a.a;return i.bh}var i=r.a;return i.bh}),cz=function(e){return al(q([ac(e),$(ex,iJ,e)]))},cG=C(function(e,t,n,r,a){return{eD:r,eE:a,f7:e,b2:n,g_:t}}),cU=$(ey,function(e){switch(e){case"active":return n1(0);case"external":return n1(2);case"kiosk":return n1(1);default:return av("Unsupported Auth 2 access profile: "+e)}},eg),cD=E(function(e,t,n,r,a,i,o,s){return{dM:s,dT:i,f7:e,dX:a,d0:o,be:n,b2:r,g_:t}}),cJ=w(function(e,t){return $(ey,function(t){return H(t,e)?n1(t):av("Expected "+e+" but got "+t)},t)}),cq=al(q([$(ep,"type",eg),$(ep,"@type",eg)])),cX=function(e){return $(cJ,e,cq)},cj=al(q([$(ep,"id",eg),$(ep,"@id",eg)])),cW=$(ey,function(e){return $(es,"https://",e)?n1(e):av("Expected an HTTPS service identifier")},cj),cZ=w(function(e,t){return $(ey,function(n){var r=$(e$,$(ep,e,eb),n);if(r.$)return n1(na);var a=$(e$,t,r.a);return a.$?av(nB(a.a)):n1(nr(a.a))},eb)}),cY=function(e){return{$:1,a:e}},cK=function(e){return{$:0,a:e}},cQ=x(function(e,t,n,r){return{eD:n,eE:r,f7:e,g_:t}}),c0=$(aB,$(cZ,"errorNote",iQ),$(aB,$(cZ,"errorHeading",iQ),$(aB,cX("AuthAccessTokenService2"),$(aB,cW,n1(cQ))))),c1=y(function(e,t,n){return{f7:e,dX:n,g_:t}}),c2=$(aB,$(cZ,"label",iQ),$(aB,cX("AuthLogoutService2"),$(aB,cW,n1(c1)))),c4=$(ey,function(e){switch(e){case"AuthAccessTokenService2":return $(ex,cK,c0);case"AuthLogoutService2":return $(ex,cY,c2);default:return av("Unsupported Auth 2 related service: "+e)}},cq),c3=$(ey,function(e){var t=nC($(iR,function(e){return!e.$},e)),n=nC(e)-t;return 1===t&&n<=1?n1(e):av("Auth access services require exactly one token service and at most one logout service")},cz(c4)),c6=$(ey,function(e){return $(aB,$(cZ,"confirmLabel",iQ),$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),$(aB,e?$(cZ,"label",iQ):$(ex,nr,$(ep,"label",iQ)),R(aP,"service",c3,$(aB,n1(e),$(aB,cX("AuthAccessService2"),$(aB,2===e?n1(na):$(ex,nr,cW),n1(cD)))))))))},$(ep,"profile",cU)),c5=$(aB,$(cZ,"errorNote",iQ),$(aB,$(cZ,"errorHeading",iQ),R(aP,"service",cz(c6),$(aB,cX("AuthProbeService2"),$(aB,cW,n1(cG)))))),c8=$(ey,function(e){var t=R(y(function(e,t,n){for(;;)if(!e.b)return ng({cS:nO(t),c7:nO(n)});else{var r=e.a,a=e.b,i=$(e$,ac(eb),r);if(i.$){var o=$(e$,cq,r);if(o.$){var s=$(e$,$(ep,"service",cz(eb)),r);if(s.$){var u=a,c=t,l=n;e=u,t=c,n=l;continue}var d=s.a,u=G(d,a),c=t,l=n;e=u,t=c,n=l;continue}if("AuthProbeService2"===o.a){var f=$(e$,c5,r);if(f.$)return nf(f.a);var h=f.a,u=a,c=$(J,h,t),l=n;e=u,t=c,n=l;continue}var v=o.a,b=$(es,"Auth",v)?$(J,v,n):n,g=$(e$,$(ep,"service",cz(eb)),r);if(g.$){var u=a,c=t,l=b;e=u,t=c,n=l;continue}var d=g.a,u=G(d,a),c=t,l=b;e=u,t=c,n=l;continue}var u=G(i.a,a),c=t,l=n;e=u,t=c,n=l;continue}}),q([e]),U,U);return t.$?av(nB(t.a)):n1(t.a)},eb),c7=function(e){return!!e.$},c9=y(function(e,t,n){var r,a=cV(n.f7),i=c_(n),o=$(aG,"Image",$(az,cA(e),n.dX)),s=sd(n.ft),u=c7($(uH,function(e){return!e.eT},t)),c=H(nr(n),aL(t)),l=!n.eT||u&&c;return{dh:(r=$(e$,c8,$(uN,n4,n.gK))).$?{$:2,a:nB(r.a)}:{$:1,a:r.a},f7:a,bR:l,aG:s,dX:o,b7:a,bh:i,b9:a}}),le=w(function(e,t){var n=$(rc,$(c9,e,t.cF),t.cF);if(sd(n))return na;var r=$(cN,n,t),a=$(aG,"",$(az,function(e){return e.bh},aL($(iR,function(e){return e.bR},n))));return nr({dg:cC(t),M:t.f7,eI:a,dU:t.dU,cF:n,dX:cE(t),bh:r,dI:t.dI})}),lt=w(function(e,t){return $(an,le(e),cg(t))}),ln=cb(function(e){return e.g2}),lr=w(function(e,t){return z(t,{aa:na,ah:na,e:rI,v:rI,D:rI,Z:U,ar:us($(rc,function(e){return{a:e.f7,b:e}},e))})}),la=function(e){return e.b},li=w(function(e,t){return $(az,nW,aL($(iR,$(rW,la,e),$(nE,a8,t))))}),lo=function(e){return{$:1,a:e}},ls=function(e){return{$:2,a:e}},lu=al(q([$(ex,function(e){return{$:0,a:e}},ef),$(ey,function(e){switch(e){case"canvasId":return $(ex,lo,$(ep,"value",eg));case"label":return $(ex,ls,$(ep,"value",eg));default:return av("Unsupported initial page selector")}},$(ep,"by",eg))])),lc=function(e){return e.toLowerCase()},ll=w(function(e,t){var n=$(aN,$(rW,e$(lu),u9),e);if(n.$)return 0;switch(n.a.$){case 0:var r=n.a.a;return r>=0&&0>_(r,nC(t))?r:0;case 1:var a=n.a.a;return $(aG,0,$(li,function(e){return H(e.M,a)},t));default:var i=n.a.a;return $(aG,0,$(li,function(e){return H(lc(e.dX),lc(i))},t))}}),ld=cb(function(e){return e.f6}),lf=cb(function(e){return e.d_}),lh=cb(function(e){return e.fh}),lv=w(function(e,t){switch(t){case 2:var n=!sd(lf(e)),r=$(aG,!1,$(az,$(rW,sd,uB),ld(e)));return n||r?2:1;case 3:return $(aG,!1,$(az,$(rW,sd,uB),lh(e)))?3:1;default:return 1}}),lb=cb(function(e){return e.g1}),lg=function(e){switch(e){case 0:case 2:default:return"ltr";case 1:return"rtl"}},lp=e3("zoomLevelUpdated",ek),lm=x(function(e,t,n,r){var a,i=lb(r),o=$(lt,n.ey,r),s=$(an,function(e){return $(az,function(t){return{M:e.M,aG:t.aG,b7:t.b7,aM:t.b9}},uV(e))},o),u=(a=ln(r)).$?$(iF,7,a.a):!a.a,c=$(rc,function(e){return e.dg},o),l=1===nC(o),d=!l&&(u||1===i),f=l?0:+!!u,h=$(cx,f,d),v=$(ll,t,o),b=lg(i),g=us($(nE,w(function(e,t){return{a:t.f7,b:e}}),cg(r))),p=$(aG,rI,$(az,cw(g),lh(r))),m=$(lv,r,n._),y=n.B?m:0,x=$(rc,function(e){return{dh:e.dh,f7:e.b7,aG:e.aG,aM:e.b9}},$(iP,function(e){return e.cF},o));return{a:z(n,{a1:rI,dd:us($(rc,function(e){return{a:e.f7,b:e.dd}},cg(r))),aC:rI,dh:$(lr,x,rE),dO:na,eJ:sP,eO:!sd(s),$7:na,X:!1,cP:!1,ap:o,fg:p,b0:{$:2,a:r},R:sd(o)?na:nr(v),b3:d,_:m,B:y,cd:f}),b:eQ(q([u6({dV:v,d8:e,ei:s}),u3($(an,n4,$(nE,w(function(e,t){return $(az,function(n){return{M:t.M,dU:t.dU,cF:$(rc,function(e){return{f7:e.f7,bR:e.bR,dX:e.dX}},t.cF),eU:e,dX:t.dX,fb:{f7:n.f7,bR:n.bR,dX:n.dX},dI:t.dI}},uV(t))}),o))),u1(na),u2(c),u4($(rc,function(e){return e.dX},o)),lp(1),cy({ez:b,e1:h})]))}}),lw={$:6},ly=w(function(e,t){return rv($(eF,$(aE,$(aE,eH,e),nf),$(eB,$(aE,$(aE,eH,e),ng),t)))}),lx=function(e){return t3(e,function(e){var t=e.getBoundingClientRect(),n=t1.pageXOffset,r=t1.pageYOffset;return{fq:t6(),fH:{fJ:n,ek:r,dI:t0.documentElement.clientWidth,dU:t0.documentElement.clientHeight},eB:{fJ:n+t.left,ek:r+t.top,dI:t.width,dU:t.height}}})},lC=x(function(e,t,n,r){return $(eB,function(t){return $(eB,function(n){return $(eB,function(r){return eH(R(e,t,n,r))},r)},n)},t)}),lI=eQ(U),lA=w(function(e,t){if(!e)return lI;var n=$(eB,function(e){var n="thumb-"+el(t);return $(eB,n4,S(lC,y(function(e,t,n){return R(t5,"thumbs",0,$(nX,0,e.eB.ek-t.eB.ek+n.fH.ek))}),lx(n),lx("thumbs"),t3("thumbs",function(e){return{fq:{dI:e.scrollWidth,dU:e.scrollHeight},fH:{fJ:e.scrollLeft,ek:e.scrollTop,dI:e.clientWidth,dU:e.clientHeight}}})))},eX(0));return $(ly,function(e){return lw},n)}),lE=function(e){return e.cP?$(aG,lI,$(aN,function(t){return $(az,function(n){return u1(nr({dg:t.dg,eJ:e.eJ,aG:n.aG,b7:n.b7,b9:n.b9}))},aL($(ch,e.aJ,t.cF)))},$(aN,function(t){return $(cv,t,e.ap)},e.R))):lI},l$=y(function(e,t,n){var r=z(n,{aJ:0,R:nr(t),bi:e});return{a:r,b:eQ(q([$(lA,1===r.B,t),lE(r)]))}}),lR=e3("scrollToIndex",ek),lS=w(function(e,t){var n=t.R;if(n.$)return{a:t,b:lI};var r=n.a+e;if(r>=0&&0>_(r,nC(t.ap))){var a=z(t,{aJ:0,R:nr(r),bi:!1});return{a:a,b:eQ(q([lR(r),$(lA,1===a.B,r),lE(a)]))}}return{a:t,b:lI}}),lM=function(e){switch(e.$){case 0:return"Bad URL: "+e.a;case 1:return"Request timed out.";case 2:return"Network error. The resource may be unreachable or blocked by CORS.";case 3:return"HTTP error: "+el(e.a);default:return"Invalid IIIF response body. URL did not return a valid IIIF Manifest or Collection JSON."}},lP=w(function(e,t){return R(r_,e,0,t)}),lL=e3("layoutModeUpdated",ek),lT=w(function(e,t){return!$(rH,e,t).$}),lk=w(function(e,t){return $(lT,e,t)}),lO=w(function(e,t){return $(rX,e,t)}),lH=y(function(e,t,n){var r=w(function(e,t){for(;;)if(!t.b)return e;else{var n=t.a,r=t.b;e=z(n.u,{aH:G(nO($(J,oI(e),n.ai)),n.Q)}),t=r;continue}}),a=w(function(e,t){if(!t.b)return e;var n=t.a,r=t.b;return $(i,{ai:$(J,oI(e),n.ai),u:n.u,Q:n.Q},r)}),i=w(function(n,o){if(H(n.u.f7,e))return $(r,t,o);var s=n.Q;if(!s.b)return $(a,z(n.u,{aH:nO(n.ai)}),o);var u=s.a,c=s.b;if(u.$)return $(i,z(n,{ai:$(J,u,n.ai),Q:c}),o);var l=u.a;return $(i,{ai:U,u:l,Q:l.aH},$(J,{ai:n.ai,u:n.u,Q:c},o))});return $(i,{ai:U,u:n,Q:n.aH},U)}),lV=w(function(e,t){return{$:58,a:e,b:t}}),lB=w(function(e,t){return{$:0,a:e,b:t}}),lF=function(e){return encodeURIComponent(e)},l_=w(function(e,t){return $(lB,lF(e),lF(t))}),lN=function(e){return e.a+"="+e.b},lz=y(function(e,t,n){var r,a=(r=q([$(l_,"canvasURI",t),$(l_,"iiifVersion",n)])).b?"?"+$(nm,"&",$(rc,lN,r)):"";return $(eo,"?",e)?e+"&"+$(n8,1,a):G(e,a)}),lG=function(e){var t=e.H;switch(t.$){case 1:var n=t.a;return nr(n);case 2:var r=e.b0;if(2!==r.$)return na;var n=r.a;return nr(n);default:return na}},lU=function(e){return{dR:na,dY:na,fG:e}},lD=lU("");function lJ(){return al(q([S(eI,y(function(e,t,n){return{dR:t,dY:n,fG:e}}),al(q([$(ep,"value",eg),$(ep,"chars",eg)])),aR($(ep,"format",eg)),aR($(ep,"language",eg))),$(ex,$(rW,aL,aG(lD)),ac(of(function(e){return lJ()}))),$(ex,lU,eg)]))}var lq=lJ();lJ=function(){return lq};var lX=al(q([$(ep,"body",lq),$(ep,"resource",lq),n1(lD)])),lj=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),lW=function(e){var t=$(es,"xywh=",e)?$(n8,5,e):e,n=$(rc,aQ,$(nw,",",t));if(!n.b||n.a.$||!n.b.b||n.b.a.$||!n.b.b.b||n.b.b.a.$||!n.b.b.b.b||n.b.b.b.a.$||n.b.b.b.b.b)return av("Invalid xywh selector");var r=n.a.a,a=n.b,i=a.a.a,o=a.b,s=o.a.a,u=o.b.a.a;return s>0&&u>0?n1(S(lj,r,i,s,u)):av("Annotation rectangle must have a positive size")},lZ=al(q([$(ep,"type",eg),$(ep,"@type",eg)])),lY=$(ey,function(e){var t=e.a,n=e.b;return"svgselector"===lc(t)||"oa:svgselector"===lc(t)?n1({$:1,a:n}):av("Not an SVG selector")},R(eC,a8,lZ,$(ep,"value",eg)));function lK(){return al(q([lY,$(ey,lW,$(ep,"value",eg)),$(ep,"item",of(function(e){return lK()})),$(ep,"default",of(function(e){return lK()}))]))}var lQ=lK();lK=function(){return lQ};var l0=al(q([$(ep,"id",eg),$(ep,"@id",eg)])),l1=al(q([$(ex,nr,$(ep,"source",al(q([eg,l0])))),$(ex,nr,$(ep,"full",al(q([eg,l0])))),n1(na)])),l2=function(e){var t=$(nw,"#xywh=",e);if(!t.b||!t.b.b||t.b.b.b)return av("Annotation target has no xywh selector");var n=t.a;return $(ex,function(e){return{gI:e,ed:nr(n)}},lW(t.b.a))};function l4(){return al(q([$(ey,function(e){var t=aL(e);return t.$?av("Annotation target list is empty"):n1(t.a)},ac(of(function(e){return l4()}))),$(ey,l2,eg),R(eC,w(function(e,t){return{gI:t,ed:e}}),l1,$(ep,"selector",lQ))]))}var l3=l4();l4=function(){return l3};var l6=al(q([$(ep,"id",eg),$(ep,"@id",eg),n1("")])),l5=M(eA,x(function(e,t,n,r){return{eq:n,f7:e,e3:r,gV:t}}),l6,al(q([$(ep,"target",l3),$(ep,"on",l3)])),lX,aR($(ep,"motivation",eg))),l8=al(q([$(ep,"resources",ac(l5)),$(ep,"items",ac(l5)),ac(l5)])),l7=y(function(e,t,n){return R(au,t,$(r2,e,l8),n)}),l9=w(function(e,t){if(!t.bK||$(lk,e,t.a1)||$(lT,e,t.aC))return{a:t,b:lI};var n,r,a=$(aG,U,$(rH,e,t.dd)),i=$(an,function(e){return e.$?na:nr(e.a)},a),o=aH($(an,function(e){return e.$?u9($(e$,l8,e.a)):na},a)),s=sd(o)?t:z(t,{aC:R(r_,e,o,t.aC)}),u=!(n=sd(a),r={a:n,b:t.ci,c:lG(t)}).a||r.b.$||r.c.$?U:q([R(lz,r.b.a,e,1===r.c.a.a?"2":"3")]);return{a:z(s,{a1:$(lP,e,s.a1)}),b:eQ(G($(rc,function(n){return R(l7,lV(e),t.av,n)},G(i,u)),q([uG({de:$(rc,cc($(u_,e,t)),o),M:e})])))}}),de=al(q([$(ey,function(e){return $(ah,ag,e)?$(ex,aw(2),s$):$(ah,ab,e)?$(ex,aw(1),oq):av("Unknown IIIF Version: "+e)},$(ep,"@context",eg)),$(ey,function(e){return $(ad,ah(ag),e)?$(ex,aw(2),s$):$(ad,ah(ab),e)?$(ex,aw(1),oq):av("Unknown IIIF Version in context values: "+$(nm,", ",e))},$(ep,"@context",ac(eg)))])),dt=y(function(e,t,n){return R(au,t,$(r2,e,de),n)}),dn=function(e){return z(e,{aO:0,bo:!1,aP:0,az:!1,aQ:8,aR:0,bp:!1,aS:0,bq:!1,aT:0,br:!1,aU:0,aA:!1,aV:8,aW:0,bs:!1,aX:0,bt:!1,aY:0,bu:!1,aZ:0,aB:!1,a_:8,a$:0,bv:!1,a0:0,bw:!1})},dr=e3("resourceLoadFailed",function(e){return uz(q([{a:"message",b:ek(e.ac)},{a:"requestId",b:ek(e.fl)},{a:"url",b:ek(e.aM)}]))}),da=e3("resourceLoadSucceeded",function(e){return uz(q([{a:"hasPages",b:ek(e.cA)},{a:"pageIndex",b:ek(e.cO)},{a:"requestId",b:ek(e.fl)},{a:"url",b:ek(e.aM)}]))}),di=e3("authHttpCancelled",ek),ds=e3("authHttpRequested",n4),du=e3("authSourcesInvalidated",uN(ek)),dc=e3("authStorageRequested",n4),dl=e3("authTokenFrameCancelled",ek),dd=e3("authTokenFrameRequested",n4),df=e3("tileSourceResolutionFailed",function(e){return uz(q([{a:"message",b:ek(e.ac)},{a:"requestId",b:ek(e.fl)}]))}),dh=e3("tileSourceResolutionSucceeded",n4),dv=function(e){switch(e.$){case 0:var t=e.a,n=e.b,r=e.c,a=e.d;return ds(uz(q([{a:"id",b:ek(t)},{a:"url",b:ek(n)},{a:"bearer",b:$(aG,null,$(az,ek,r))},{a:"withCredentials",b:ek(a)}])));case 1:var t=e.a;return di(t);case 2:var i=e.a,o=e.b;return dc(uz(q([{a:"action",b:ek("read")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)}])));case 3:var i=e.a,o=e.b,s=e.c,u=e.d;return dc(uz(q([{a:"action",b:ek("write")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)},{a:"accessToken",b:ek(s)},{a:"expiresAt",b:ek(u)}])));case 4:var i=e.a,o=e.b;return dc(uz(q([{a:"action",b:ek("remove")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)}])));case 5:var i=e.a,n=e.b,c=e.c;return dd(uz(q([{a:"flowId",b:ek(i)},{a:"url",b:ek(n)},{a:"messageId",b:ek(c)}])));case 6:var i=e.a;return dl(i);case 7:return du(e.a);case 8:var l=e.a;return dh(uz(q([{a:"requestId",b:ek(l.fl)},{a:"url",b:ek(l.aM)},{a:"isStatic",b:ek(l.aG)},{a:"credentialed",b:ek(l.ev)},{a:"infoJson",b:$(aG,null,l.aF)}])));default:var d=e.a;return df({ac:e.b,fl:d})}},db=e3("saveFilteredImage",function(e){return null}),dg=e3("setFullscreen",ek),dp=function(e){return{$:1,a:e}},dm=function(e){return{$:6,a:e}},dw=w(function(e,t){return{$:4,a:e,b:t}}),dy=y(function(e,t,n){return{$:5,a:e,b:t,c:n}}),dx=w(function(e,t){var n=t.a;return{a:n,b:G(t.b,e)}}),dC=w(function(e,t){return R(uu,y(function(e,t,n){return $(rX,e,n)}),e,t)}),dI=w(function(e,t){return R(uu,y(function(t,n,r){return $(e,t,n)?R(r_,t,n,r):r}),rI,t)}),dA=w(function(e,t){if(-2===t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;return M(rV,n,r,$(e,r,a),$(dA,e,i),$(dA,e,o))}),dE=y(function(e,t,n){var r=t.o.T.f7;if(r.$)return n;var a=r.a;return z(n,{aa:nr(e),ah:nr({el:a,dM:t.o.T.dM,aw:t.cT,dl:e,dT:t.o.T.dT,d0:t.o.T.d0}),Z:$(iR,F(e),n.Z)})}),d$=function(e){for(;;){var t=e.Z;if(!t.b)return e;var n=t.a,r=z(e,{Z:t.b}),a=$(rH,n,e.e);if(a.$){var i=r;e=i;continue}var o=a.a;if(!o.o.T.f7.$)return R(dE,n,o,r);var i=r;e=i}},dR=w(function(e,t){var n,r=z(t,{Z:$(iR,F(e),t.Z)}),a=(n=r.ah).$?r:H(n.a.dl,e)?z(r,{ah:na}):r;return H(a.aa,nr(e))?d$(z(a,{aa:na})):a}),dS=w(function(e,t){var n=$(dI,w(function(e,t){return!sd(t.au)}),$(dA,w(function(t,n){return z(n,{au:$(iR,F(e),n.au)})}),t.e)),r=$(iR,function(e){return!$(lT,e,n)},ns(t.e)),a=$(dI,w(function(t,n){return n.$?$(iF,n.a,r):H(n.a,e)}),t.v);return{a:R(nx,dR,z(t,{e:n,v:$(dC,t.v,a),D:$(rX,e,t.D)}),r),b:G($(rc,dp,ns(a)),$(rc,dm,r))}}),dM=w(function(e,t){return{$:9,a:e,b:t}}),dP=y(function(e,t,n){return{a:z(n,{D:$(rX,e,n.D)}),b:q([$(dM,e,t)])}}),dL=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=w(function(e,n){var r=n.a,a=n.b,i=R(dP,e,t,r),o=i.a;return{a:o,b:G(a,i.b)}});return R(nx,i,{a:$(dR,e,z(n,{e:$(rX,e,n.e)})),b:q([dm(e)])},a.au)}),dT=w(function(e,t){return $(iF,e,t)?t:G(t,q([e]))}),dk=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;if(a.o.T.f7.$)return R(dL,e,"The active access service has no URL.",n);var i=z(a,{aq:3,cT:t}),o=z(n,{e:R(r_,e,i,n.e)}),s=n.aa;return s.$?{a:R(dE,e,i,o),b:U}:H(s.a,e)?{a:R(dE,e,i,o),b:U}:{a:z(o,{Z:$(dT,e,o.Z)}),b:U}}),dO=x(function(e,t,n,r){return{a:z(n,{e:R(rj,e,az(t),n.e)}),b:r}}),dH=y(function(e,t,n){var r=e+"-"+el(t.aE+1);return S(dO,e,function(e){return z(e,{aq:5})},n,q([R(dy,e,t.o.c3.f7,r)]))}),dV=y(function(e,t,n){for(;;){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=a.dv;if(!i.b)return R(dL,e,t,n);var o=i.a,s=z(a,{o:o,aE:0,cT:na,dv:i.b}),u=$(dR,e,z(n,{e:R(r_,e,s,n.e)}));switch(o.T.be){case 0:return $(dx,q([dm(e)]),R(dk,e,na,u));case 1:n=u;continue;default:return $(dx,q([dm(e)]),R(dH,e,s,u))}}}),dB=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;if(a.aE+1>=2)return R(dL,e,t,n);var i=z(n,{e:R(r_,e,z(a,{aE:a.aE+1}),n.e)});return $(dx,q([dm(e)]),R(dk,e,nr(t),i))}),dF=y(function(e,t,n){var r=$(rH,e,n.e);return r.$?{a:n,b:U}:0===r.a.o.T.be?R(dB,e,t,n):R(dV,e,t,n)}),d_=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),dN=w(function(e,t){return{$:1,a:e,b:t}}),dz=w(function(e,t){var n="auth-http-"+el(t.cL);return{a:n,b:z(t,{cL:t.cL+1,v:R(r_,n,e,t.v)})}}),dG=x(function(e,t,n,r){var a=$(rH,e,r.D);if(a.$)return{a:r,b:U};var i=a.a,o=$(rH,i.b7,r.ar);if(o.$)return{a:r,b:U};var s=o.a;return{a:z(r,{D:$(rX,e,r.D)}),b:q([{$:8,a:{ev:t,aF:n.$?i.aF:nr(n.a),aG:s.aG,fl:e,aM:s.aM}}])}}),dU=w(function(e,t){return{$:0,a:e,b:t}}),dD=x(function(e,t,n,r){var a=$(dz,$(dU,e,{$:1,a:t}),r),i=a.a;return{a:a.b,b:q([S(d_,i,n.aM,na,t)])}}),dJ=y(function(e,t,n){var r=$(rH,e,n.D);if(r.$)return{a:n,b:U};var a=r.a,i=$(rH,a.b7,n.ar);if(i.$)return{a:n,b:U};var o=i.a,s={a:o.aG,b:a.aF};return s.a||1!==s.b.$?S(dG,e,t,na,n):(s.b,S(dD,e,t,o,n))}),dq=w(function(e,t){return 1===e.$?t:t+":"+el(e.a)}),dX=y(function(e,t,n){return 1===t.$?n:G(n,G(e,t.a))}),dj=function(e){var t=e.fe?"https://":"http://";return R(dX,"#",e.f4,R(dX,"?",e.gz,G($(dq,e.fa,G(t,e.eR)),e.s)))},dW=function(e){var t,n=G($(iR,function(e){return 2===e.be},e.b2),$(iR,function(e){return!e.be},e.b2)),r=$(aG,t=e.f7,$(az,function(e){return dj(z(e,{f4:na,gz:na}))},ri(t)))+"|"+$(nm,"|",$(an,function(e){return aL($(an,function(t){if(t.$)return na;var n=t.a;return nr($(aG,"",e.f7)+"|"+n.f7)},e.b2))},n));return $(an,function(t){return $(az,function(n){return{T:t,ak:r,a9:aL($(an,function(e){return e.$?nr(e.a):na},t.b2)),cR:e,c3:n}},aL($(an,function(e){return e.$?na:nr(e.a)},t.b2)))},n)},dZ=function(e){return"Unsupported authorization service: "+$(nm,", ",e)+"."},dY=function(e){var t=$(iP,function(e){return e.b2},e),n=aL($(iR,function(e){return 1===e.be},t));if(n.$)return na;var r=n.a;return nr("IIIF Auth 2 '"+function(){switch(r.be){case 0:return"active";case 1:return"kiosk";default:return"external"}}()+"' access is not supported; supported profiles are 'external' and 'active'.")},dK=function(e){if(!sd(e.c7))return nf(dZ(e.c7));var t=$(aG,U,aL($(iR,$(aE,uB,sd),$(rc,dW,e.cS))));if(!sd(t))return ng(t);var n=dY(e.cS);return n.$?nf("No supported Auth 2 external or active access service was provided."):nf(n.a)},dQ=x(function(e,t,n,r){var a=z(r,{D:R(rj,e,az(function(e){return z(e,{aF:n})}),r.D)}),i=dK(t);if(i.$)return R(dP,e,i.a,a);if(!i.a.b)return R(dP,e,"No supported Auth 2 external or active access service was provided.",a);var o=i.a,s=o.a,u=o.b,c=$(rH,s.ak,a.ax);if(c.$){var l=$(rH,s.ak,a.e);if(l.$){var d={o:s,aE:0,aq:0,cT:na,dv:u,au:q([e])},f=z(a,{e:R(r_,s.ak,d,a.e)}),h=$(dz,$(dN,s.ak,na),f),v=h.a;return{a:h.b,b:q([S(d_,v,s.cR.f7,na,!1)])}}var d=l.a;return{a:z(a,{e:R(r_,s.ak,z(d,{au:$(J,e,d.au)}),a.e)}),b:U}}return c.a?(c.a,R(dJ,e,!0,a)):(c.a,R(dJ,e,!1,a))}),d0=x(function(e,t,n,r){var a=$(eE,eb,n);if(a.$){var i=a.a;return R(dP,e,nB(i),r)}var o=a.a,s=$(e$,c8,o);if(s.$){var i=s.a;return R(dP,e,nB(i),r)}var u=s.a;return sd(u.cS)&&sd(u.c7)?t>=200&&t<300?S(dG,e,!1,nr(o),r):R(dP,e,"Image information request failed ("+el(t)+").",r):S(dQ,e,u,nr(o),r)}),d1=w(function(e,t){return{$:2,a:e,b:t}}),d2=function(e){return R(nx,lP,rI,e)},d4=w(function(e,t){return M(rV,1,e,t,rC,rC)}),d3=function(e){return e.ak},d6=w(function(e,t){return $(uf,e,t)}),d5=w(function(e,t){var n=e.o.a9;if(n.$)return t;var r=n.a,a=d2($(an,function(e){return $(az,function(e){return e.b7},$(rH,e,t.D))},e.au)),i=$(aG,"",e.o.T.f7)+("|"+e.o.c3.f7)+"|"+r.f7,o=d3(e.o);return z(t,{ag:R(rj,i,function(e){if(e.$)return nr({aw:na,a5:$(d4,o,0),f7:i,a9:r,c$:a});var t=e.a;return nr(z(t,{aw:na,a5:$(lP,o,t.a5),c$:$(d6,a,t.c$)}))},t.ag)})}),d8=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=z(n,{ax:R(r_,a.o.ak,+!!t,n.ax)}),o=t?$(d5,a,i):i;return R(nx,w(function(e,n){var r=n.a,a=n.b,i=$(rH,e,r.D);if(i.$)return{a:r,b:a};var o=i.a,s=$(rH,o.b7,r.ar);if(s.$)return{a:r,b:a};var u=s.a,c={a:u.aG,b:o.aF};if(c.a||1!==c.b.$){var l=S(dG,e,t,na,r),d=l.a,f=l.b;return{a:d,b:G(a,f)}}c.b;var h=S(dD,e,t,u,r),d=h.a,f=h.b;return{a:d,b:G(a,f)}}),{a:$(dR,e,z(o,{e:$(rX,e,o.e)})),b:q([dm(e)])},a.au)}),d7=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;switch(a.o.T.be){case 0:return R(dk,e,na,n);case 1:return R(dV,e,t,n);default:return R(dH,e,a,n)}}),d9=function(e){return"Access was not granted ("+el(e)+")."},fe=$(ey,function(e){return e>=100&&e<=599?n1(e):av("Expected an HTTP status code between 100 and 599")},ef),ft=A(function(e,t,n,r,a,i,o){return{k:e,dT:a,gd:o,d0:i,dE:n,gQ:r,g_:t}}),fn="http://iiif.io/api/auth/2/context.json",fr=al(q([$(ep,"@context",eg),$(ep,"context",eg)])),fa=$(ey,function(e){return $(ah,fn,e)?n1(e):av("Expected "+fn+" but got "+e)},fr),fi=R(eC,w(function(e,t){return{f7:e,g_:t}}),cj,cq),fo=y(function(e,t,n){return $(ey,function(r){var a=$(e$,$(ep,e,eb),r);if(a.$)return n1(na);var i=a.a;if(!t)return av(e+" is not permitted for this probe status");var o=$(e$,n,i);return o.$?av(nB(o.a)):n1(nr(o.a))},eb)}),fs=$(ey,function(e){return $(aB,R(fo,"location",e>=300&&e<=399,fi),$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),$(aB,$(ex,aG(U),R(fo,"substitute",401===e||403===e,cz(eb))),$(aB,n1(e),$(aB,cX("AuthProbeResult2"),$(aB,fa,n1(ft))))))))},$(ep,"status",fe)),fu=x(function(e,t,n,r){var a=$(eE,fs,n);if(a.$)return R(dF,e,nB(a.a),r);var i=a.a;if(!H(i.gd,na)||!sd(i.gQ))return R(dL,e,"IIIF Auth redirect, substitute, and tiered access flows are not supported.",r);if(200===i.dE)return R(d8,e,!H(t,na),r);var o=$(rH,e,r.e);if(o.$)return{a:r,b:U};var s=o.a;switch(s.aq){case 0:return{a:z(r,{e:R(r_,e,z(s,{aq:1}),r.e)}),b:q([$(d1,e,d3(s.o))])};case 2:return $(dx,q([$(dw,e,d3(s.o))]),R(d7,e,d9(i.dE),r));case 6:return $(dx,q([$(dw,e,d3(s.o))]),R(dF,e,d9(i.dE),r));default:return R(dB,e,d9(i.dE),r)}}),fc=C(function(e,t,n,r,a){if(!(n>=200)||!(n<300))return R(dP,e,"Image information request failed ("+el(n)+").",a);var i=$(eE,eb,r);return i.$?R(dP,e,nB(i.a),a):S(dG,e,t,nr(i.a),a)}),fl=x(function(e,t,n,r){var a=$(rH,e,r.v);if(a.$)return{a:r,b:U};if(a.a.$){var i=a.a,o=i.a,s=i.b,u=z(r,{v:$(rX,e,r.v)});return S(fu,o,s,n,u)}var c=a.a,l=c.a,d=c.b,u=z(r,{v:$(rX,e,r.v)});return d.$?M(fc,l,d.a,t,n,u):S(d0,l,t,n,u)}),fd=y(function(e,t,n){return R(uu,y(function(t,n,r){return $(e,t,r)}),t,n)}),ff=function(e){var t=e.dh;return 1===t.$?$(az,function(e){return e.ak},$(aN,aL,u9(dK(t.a)))):na},fh=function(e){return R(ni,y(function(e,t,n){return $(J,t,n)}),U,e)},fv=w(function(e,t){return d2($(an,function(t){return $(aN,function(n){return $(lk,n,e)?nr(t.f7):na},ff(t))},fh(t)))}),fb=w(function(e,t){var n=$(rH,e,t.ag);if(n.$)return{a:t,b:U};var r=n.a,a=$(fv,r.a5,t.ar),i=nu($(d6,r.c$,a));return{a:z(t,{ax:R(fd,rX,t.ax,r.a5),ag:$(rX,e,t.ag)}),b:G($(rc,dw(e),nu(r.a5)),q([{$:7,a:i}]))}}),fg=y(function(e,t,n){var r=$(rH,e,n.v);return r.$?{a:n,b:U}:r.a.$?R(dF,r.a.a,t,z(n,{v:$(rX,e,n.v)})):R(dP,r.a.a,t,z(n,{v:$(rX,e,n.v)}))}),fp={$:0},fm=y(function(e,t,n){var r=$(dz,$(dU,e,fp),n),a=r.a;return{a:r.b,b:q([S(d_,a,t.aM,na,!1)])}}),fw=y(function(e,t,n){var r=$(rH,t,n.ar);if(r.$)return{a:n,b:q([$(dM,e,"Unknown image source.")])};var a=r.a,i=z(n,{D:R(r_,e,{aF:na,b7:t},n.D)}),o=a.dh;switch(o.$){case 0:return a.aG?S(dG,e,!1,na,i):R(fm,e,a,i);case 1:var s=o.a;return sd(s.cS)?sd(s.c7)?a.aG?S(dG,e,!1,na,i):R(fm,e,a,i):R(dP,e,dZ(s.c7),i):S(dQ,e,s,na,i);default:return R(dP,e,o.a,i)}}),fy=R(eC,w(function(e,t){return{bl:e,eH:t}}),$(ep,"accessToken",eg),al(q([$(ex,nr,$(ep,"expiresAt",ev)),n1(na)]))),fx=x(function(e,t,n,r){var a={a:$(rH,e,r.e),b:n};if(a.a.$)return{a:r,b:U};if(a.b.$)return a.b,R(d7,e,"No cached token was found.",r);var i=a.a.a,o=$(e$,fy,a.b.a);if(o.$)return $(dx,q([$(dw,e,d3(i.o))]),R(d7,e,"The cached token is invalid.",r));var s=o.a;if(!$(aG,!0,$(az,function(e){return 0>_(t,e)},s.eH)))return $(dx,q([$(dw,e,d3(i.o))]),R(d7,e,"The cached token has expired.",r));var u=$(dz,$(dN,e,nr(s.bl)),r),c=u.a,l=u.b;return{a:z(l,{e:R(r_,e,z(i,{aq:2}),l.e)}),b:q([S(d_,c,i.o.cR.f7,nr(s.bl),!1)])}}),fC=x(function(e,t,n,r){return{$:3,a:e,b:t,c:n,d:r}}),fI=C(function(e,t,n,r,a){return{bl:n,k:e,f$:r,e0:a,g_:t}}),fA=$(ey,function(e){return e>0?n1(e):av("Expected a positive integer")},ef),fE=R(aP,"messageId",eg,$(aB,$(cZ,"expiresIn",fA),R(aP,"accessToken",eg,$(aB,cX("AuthAccessToken2"),$(aB,fa,n1(fI)))))),f$=I(function(e,t,n,r,a,i){return{k:e,dT:r,e0:i,d0:a,be:n,g_:t}}),fR=$(ey,function(e){switch(e){case"expiredAspect":return n1(4);case"invalidAspect":return n1(3);case"invalidOrigin":return n1(1);case"invalidRequest":return n1(0);case"missingAspect":return n1(2);case"unavailable":return n1(5);default:return av("Unsupported Auth 2 token error profile: "+e)}},eg),fS=R(aP,"messageId",eg,$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),R(aP,"profile",fR,$(aB,cX("AuthAccessTokenError2"),$(aB,fa,n1(f$))))))),fM=x(function(e,t,n,r){var a=$(rH,e,r.e);if(a.$)return{a:r,b:U};var i=a.a,o=$(e$,fE,n);if(o.$){var s=o.a;return $(e$,fS,n).$?$(dx,q([$(dw,e,d3(i.o))]),R(dF,e,nB(s),r)):$(dx,q([$(dw,e,d3(i.o))]),R(dF,e,"The token service refused access.",r))}var u=o.a,c=t+1e3*$(aG,300,u.f$),l=$(dz,$(dN,e,nr(u.bl)),r),d=l.a,f=l.b;return{a:z(f,{e:R(r_,e,z(i,{aq:6}),f.e)}),b:q([S(fC,e,d3(i.o),u.bl,c),S(d_,d,i.o.cR.f7,nr(u.bl),!1),dm(e)])}}),fP=w(function(e,t){if(t.di)return{a:t,b:U};switch(e.$){case 0:var n=e.a;return R(fw,n,e.b,t);case 1:var n=e.a;return $(dS,n,t);case 2:var r=e.a;return S(fl,r,e.b,e.c,t);case 3:var r=e.a,a=e.b;return R(fg,r,a,t);case 4:var i=e.a,o=e.b,s=e.c;return S(fx,i,o,s,t);case 5:var i=e.a;return H(t.aa,nr(i))?S(dO,i,function(e){return z(e,{aq:4})},z(t,{ah:na}),U):{a:t,b:U};case 6:var i=e.a;return H(t.aa,nr(i))?R(dB,i,"The sign-in window was blocked. Allow popups and retry.",t):{a:t,b:U};case 7:var i=e.a,u={a:t.aa,b:$(rH,i,t.e)};if(u.a.$||u.b.$)return{a:t,b:U};var c=u.a.a,l=u.b.a;if(H(c,i)){var d=i+"-"+el(l.aE+1);return S(dO,i,function(e){return z(e,{aq:5})},t,q([R(dy,i,l.o.c3.f7,d)]))}return{a:t,b:U};case 8:var i=e.a,o=e.b,s=e.c;return S(fM,i,o,s,t);case 9:var i=e.a,a=e.b;return $(dx,function(){var e=$(rH,i,t.e);if(e.$)return U;var n=e.a;return q([$(dw,i,d3(n.o))])}(),R(dF,i,a,t));case 10:var f=e.a;return $(fb,f,t);case 11:var f=e.a;return{a:z(t,{ag:R(rj,f,az(function(e){return z(e,{aw:nr("The logout window was blocked. Allow popups and try again.")})}),t.ag)}),b:U};case 12:return{a:t,b:U};case 13:var h=t.ah;if(!h.$)return R(dL,h.a.dl,"Authorization was cancelled.",t);return{a:t,b:U};default:var v=G($(rc,dp,ns(t.v)),$(rc,dm,ns(t.e)));return{a:z(t,{aa:na,ah:na,di:!0,e:rI,v:rI,D:rI,Z:U,ag:rI}),b:v}}}),fL=w(function(e,t){return z(t,{eJ:e(t.eJ)})}),fT=e3("zoomBy",ek),fk=w(function(e,t){return{a:e,b:fT(t)}}),fO=function(e){var t=e.B;return t||e._},fH=w(function(e,t){switch(e.$){case 0:var n=$(fP,e.a,t.dh),r=n.a,a=n.b;return{a:z(t,{dh:r}),b:eQ($(rc,dv,a))};case 1:var i=e.a,o=function(){switch(i){case"spread":return{a:1,b:!1};case"spread-shift":return{a:1,b:!0};default:return{a:0,b:!1}}}(),s=o.a,u=o.b;return{a:z(t,{b3:u,cd:s}),b:lL($(cx,s,u))};case 2:var c=e.a,l=e.b;return{a:z(t,{dW:!0,X:!0,bd:nr(c)}),b:R(sM,$(uO,c,l),t.av,l)};case 3:var d=e.a;return{a:z(t,{dm:d}),b:lI};case 4:var f=e.a;return R(l$,!1,f,t);case 5:var f=e.a;return R(l$,!0,f,t);case 6:return{a:z(t,{bi:!1}),b:lI};case 7:var h=e.a,v=e.b,b=t.H;if(2===b.$){var g=b.a,p=$(lO,h,g.al);if(v.$)return{a:z(t,{H:uP(z(g,{al:p}))}),b:lI};var m=v.a;if(1===m.$){var w=m.a.b,y=g.u,x=y.a,C=y.b,I=z(g,{u:$(am,x,R(lH,h,w,C)),cJ:$(lP,h,g.cJ),al:p});return{a:z(t,{H:uP(I)}),b:lI}}return{a:z(t,{H:uP(z(g,{al:p}))}),b:lI}}return{a:t,b:lI};case 8:var A=e.a,v=e.b,E=t.H;if(2===E.$){var g=E.a;if(H(g.dA,nr(A)))if(v.$){var M=v.a;return{a:z(t,{X:!1,b0:{$:3,a:lM(M)}}),b:lI}}else{var P=v.a;return S(lm,"collection-"+A,na,t,P)};}return{a:t,b:lI};case 9:var v=e.a;if(t.dW)return{a:t,b:lI};if(v.$){var M=v.a;return{a:z(t,{X:!1,H:{$:3,a:lM(M)}}),b:dr({ac:lM(M),fl:"initial",aM:t.ba})}}var m=v.a;switch(m.$){case 0:var P=m.a,L=S(lm,"initial",nr(t.cG),t,P),T=L.a,k=L.b;return{a:z(T,{a3:!1,H:uL(P)}),b:eQ(q([k,da({cA:!sd(T.ap),cO:$(aG,0,T.R),fl:"initial",aM:t.ba})]))};case 1:var O=m.a,V=O.a,B=O.b;return{a:z(t,{dh:rE,a3:!0,X:!1,ap:U,H:uP({u:$(am,V,B),bL:rI,cJ:rI,al:rI,dA:na}),b0:uM,R:na}),b:eQ(q([u5("initial"),da({cA:!1,cO:0,fl:"initial",aM:t.ba})]))};default:return{a:z(t,{X:!1}),b:dr({ac:"URL did not return a supported IIIF resource.",fl:"initial",aM:t.ba})}}case 10:var c=e.a,l=e.b,v=e.c;if(H(t.bd,nr(c)))if(v.$){var M=v.a;return{a:z(t,{X:!1,bd:na}),b:dr({ac:lM(M),fl:c,aM:l})}}else{var m=v.a;switch(m.$){case 0:var P=m.a,F=S(lm,c,na,t,P),T=F.a,k=F.b;return{a:z(T,{a3:!1,ba:l,bd:na,H:uL(P)}),b:eQ(q([k,da({cA:!sd(T.ap),cO:0,fl:c,aM:l})]))};case 1:var N=m.a,V=N.a,B=N.b;return{a:z(t,{dh:rE,a3:!0,X:!1,ba:l,ap:U,bd:na,H:uP({u:$(am,V,B),bL:rI,cJ:rI,al:rI,dA:na}),b0:uM,R:na}),b:eQ(q([u5(c),da({cA:!1,cO:0,fl:c,aM:l})]))};default:return{a:z(t,{X:!1,bd:na}),b:dr({ac:"URL did not return a supported IIIF resource.",fl:c,aM:l})}}}return{a:t,b:lI};case 11:var D=co(t.cu);if(D.$){var M=D.a;return{a:z(t,{bN:nr(M)}),b:lI}}var J=D.a,X=cd(J),T=z(t,{eJ:J,bN:na,cu:X});return{a:T,b:lE(T)};case 12:var j,W=e.a,Z=(j=t.$7).$?nr(W):nr(j.a);return{a:z(t,{dO:nr(W),$7:Z}),b:lI};case 13:return{a:z(t,{dZ:!1}),b:lI};case 14:var T=z(t,{eJ:sP,ds:!1,aJ:0,cP:!1});return{a:T,b:u1(na)};case 15:var h=e.a,Y=t.H;if(2===Y.$){var g=Y.a,K=$(lk,h,g.bL)?$(lO,h,g.bL):$(lP,h,g.bL),C=g.u.b,Q=$(aG,!0,$(az,$(rW,function(e){return e.aH},sd),$(cf,h,C)))&&!$(lk,h,g.cJ)&&!$(lk,h,g.al),p=Q?$(lP,h,g.al):g.al,I=z(g,{bL:K,al:p});return{a:z(t,{H:uP(I)}),b:Q?R(sM,uT(h),t.av,h):lI}}return{a:t,b:lI};case 16:var A=e.a,ee=e.b,et=t.H;if(2===et.$){var g=et.a;return{a:z(t,{X:!0,H:uP(z(g,{dA:nr(A)})),b0:rp}),b:R(dt,uk(A),t.av,ee)}}return{a:t,b:lI};case 17:return{a:z(t,{dZ:!0}),b:lI};case 18:var T=z(t,{aJ:0,cP:!0,dt:!0,B:fO(t)});return{a:T,b:lE(T)};case 19:var f=e.a,T=z(t,{aJ:f});return{a:T,b:lE(T)};case 20:return $(lS,1,t);case 21:return $(lS,-1,t);case 22:var en=e.a,er=en.$?lI:lR(en.a),T=z(t,{cQ:en,R:en.$?t.R:nr(en.a),B:fO(t),bi:!0});return{a:T,b:eQ(q([er,lE(T)]))};case 23:return{a:t,b:db(0)};case 24:var f=e.a,T=z(t,{aJ:0,R:nr(f),B:fO(t),bi:!1});return{a:T,b:eQ(q([lR(f),$(lA,1===T.B,f),lE(T)]))};case 25:return $(fk,t,1.6);case 26:return $(fk,t,.625);case 27:var X=cd(t.eJ);return{a:z(t,{bN:na,cu:X}),b:u8(X)};case 28:var ea=e.a,ei=t.co;if(ei.$)return{a:t,b:lI};var eo=ei.a,es=R(rx,240,480,eo.dC+(ea-eo.dD));return{a:z(t,{dL:es}),b:lI};case 29:var ea=e.a,eu=t.cX;if(eu.$)return{a:t,b:lI};var eo=eu.a,ec=eo.dD-ea,es=R(rx,220,520,eo.dC+ec);return{a:z(t,{b4:es}),b:lI};case 30:return{a:z(t,{co:na}),b:lI};case 31:return{a:z(t,{cX:na}),b:lI};case 32:var T=z(t,{eJ:sP,bN:na});return{a:T,b:lE(T)};case 33:var T=$(fL,dn,t);return{a:T,b:lE(T)};case 34:return{a:z(t,{dN:0}),b:lI};case 35:return{a:z(t,{dN:1}),b:lI};case 36:var ea=e.a;return{a:z(t,{co:nr({dC:t.dL,dD:ea})}),b:lI};case 37:var ea=e.a;return{a:z(t,{cX:nr({dC:t.b4,dD:ea})}),b:lI};case 38:return{a:z(t,{_:3,B:3}),b:lI};case 39:if(2===t.H.$)return{a:z(t,{a3:!t.a3}),b:lI};return{a:t,b:lI};case 40:var el=e.a,d=e.b,T=$(fL,$(uD,el,d),t);return{a:T,b:lE(T)};case 41:var ed=e.a,ef=$(lk,ed,t.ct)?$(lO,ed,t.ct):$(lP,ed,t.ct);return{a:z(t,{ct:ef}),b:lI};case 42:var eh=!t.dm;return{a:z(t,{dm:eh}),b:dg(eh)};case 43:return{a:z(t,{_:2,B:2}),b:lI};case 44:return{a:z(t,{ds:!t.ds}),b:lI};case 45:return{a:z(t,{dt:!t.dt}),b:lI};case 46:var ev=e.a;return{a:z(t,{ea:H(t.ea,nr(ev))?na:nr(ev)}),b:lI};case 47:if(t.cd){var u=!t.b3;return{a:z(t,{b3:u}),b:lL($(cx,1,u))}}return{a:t,b:lI};case 48:return t.dp?t.bS?{a:z(t,{bS:!1,B:0}),b:lI}:{a:z(t,{bS:!0,B:t._}),b:lI}:t.B?{a:z(t,{B:0}),b:lI}:{a:z(t,{B:t._}),b:lI};case 49:var eb=function(){var e={a:t.cQ,b:t.R};if(e.a.$)if(e.b.$)return lI;else{e.a;var n=e.b.a;return $(lA,!0,n)}var n=e.a.a;return $(lA,!0,n)}(),T=z(t,{_:1,B:1});return{a:z(T,{cQ:na,bi:!t.cQ.$}),b:eb};case 50:var eg=+!t.cd;return{a:z(t,{cd:eg}),b:lL($(cx,eg,t.b3))};case 51:var ep=e.a,em=e.b,T=$(fL,$(uq,ep,em),t);return{a:T,b:lE(T)};case 52:var ew=e.a,em=e.b,T=$(fL,$(uZ,ew,em),t);return{a:T,b:lE(T)};case 53:var em=e.a;return{a:z(t,{bN:na,cu:em}),b:lI};case 54:var ey=e.a,em=e.b,T=$(fL,$(uQ,ey,em),t);return{a:T,b:lE(T)};case 55:return{a:z(t,{X:e.a}),b:lI};case 56:var T=1>_(e.a,720)?z(t,{dp:!0,bS:!1,B:0}):z(t,{dp:!1,bS:!1});return{a:T,b:lI};case 57:var f=e.a,ex=$(cv,f,t.ap);if(!ex.$)return $(l9,ex.a.M,t);return{a:t,b:lI};case 58:var eC=e.a,v=e.b,T=z(t,{a1:$(lO,eC,t.a1)});if(v.$)return{a:T,b:lI};var eI=G(v.a,$(aG,U,$(rH,eC,T.aC)));return{a:z(T,{aC:R(r_,eC,eI,T.aC)}),b:uG({de:$(rc,cc($(u_,eC,T)),eI),M:eC})};default:return{a:z(t,{df:!t.df}),b:uU(!t.df)}}}),fV=w(function(e,t){return $(tC,e,ek(t))}),fB=fV("className"),fF=function(e){return fB($(nm," ",$(rc,nW,$(iR,la,e))))},f_=tf("div"),fN=fV("id"),fz=cb(function(e){return e.dX}),fG=cb(function(e){return e.fm}),fU={$:13},fD=w(function(e,t){return $(tI,t$.test(e)?"data-"+e:e,tM(t))}),fJ=tf("button"),fq=tf("h2"),fX=w(function(e,t){return $(ty,e,{$:0,a:t})}),fj=function(e){return $(fX,"click",n1(e))},fW=tf("p"),fZ=fV("type"),fY=w(function(e,t){var n=w(function(t,n){return $(aG,n,$(az,cA(e.ey),t))}),r=$(aG,$(n,t.d0,"Sign in to view this image."),t.aw);return $(f_,q([fB("diva-auth-overlay"),$(fD,"role","dialog"),$(fD,"aria-modal","true")]),q([$(f_,q([fB("diva-auth-dialog")]),q([$(fq,U,q([tl($(n,t.dT,"Sign in required"))])),$(fW,U,q([tl(r)])),$(fJ,q([fZ("button"),$(fD,"data-diva-auth-flow",t.dl),$(fD,"data-diva-auth-url",t.el)]),q([tl(H(t.aw,na)?$(n,t.dM,"Sign in"):"Retry")])),$(fJ,q([fZ("button"),fj(sk(fU))]),q([tl("Cancel")]))]))]))}),fK=function(e){return tf(tE.test(e)?"p":e)},fQ=tl(""),f0=w(function(e,t){return t?e:fQ}),f1=w(function(e,t){return t.$?fQ:e(t.a)}),f2=(s=q([.2,.3,.4,.1,.2,.3,0,.1,.2]),$(f_,q([fB("diva-throbber-overlay")]),q([$(f_,q([fB("diva-throbber")]),$(rc,function(e){return $(f_,q([fB("diva-throbber-cube"),$(tx,"animation-delay",el(e)+"s")]),U)},s))]))),f4=function(e){var t=e.a,n=e.b,r=e.c;return $(f_,q([fB("diva-viewer-status-overlay")]),q([$(f_,q([fB("diva-modal is-narrow")]),q([$(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title")]),q([tl(t)]))])),$(f_,q([fB("diva-modal-body is-no-sidebar")]),q([$(f_,q([fF(q([{a:"diva-status",b:!0},{a:"is-error",b:r}]))]),q([tl(n)]))]))]))]))},f3=function(e){return $(f_,q([fB("diva-viewer-zoom-indicator")]),q([tl(e)]))},f6=C(function(e,t,n,r,a){return $(f_,q([fB("diva-canvas-wrapper")]),q([R(fK,"osd-viewer",q([fF(q([{a:"diva-canvas",b:!0},{a:"is-fullscreen",b:e},{a:"has-collection",b:n}])),fN("main-viewer")]),U),$(f0,f2,t),$(f1,f4,r),$(f1,f3,a)]))}),f5=function(e){return{$:36,a:e}},f8=tf("li"),f7=tf("ul"),f9=w(function(e,t){return{$:16,a:e,b:t}}),he=y(function(e,t,n){var r=$(cA,e,n.dX);return $(f8,U,q([$(fJ,q([fF(q([{a:"diva-manifest-tree-item",b:!0},{a:"diva-ui-button",b:!0},{a:"is-active",b:H(t.dA,nr(n.f7))}])),fZ("button"),fj($(f9,n.f7,n.f7))]),q([tl(r)]))]))}),ht=y(function(e,t,n){return n.$?R(he,e,t,n.a):R(hr,e,t,n.a)}),hn=y(function(e,t,n){return $(f7,q([fB("diva-collection-list diva-list-reset")]),$(rc,R(tg,ht,e,t),n))}),hr=y(function(e,t,n){var r=$(cA,e,n.dX),a=$(lk,n.f7,t.bL),i=function(){if(!a)return U;var r=$(lk,n.f7,t.al)?q([$(f_,q([fB("diva-contents-empty")]),q([tl("Loading…")]))]):U;return $(J,R(hn,e,t,n.aH),r)}();return $(f8,q([fB("diva-collection-tree-item")]),$(J,$(fJ,q([fB("diva-collection-node-button diva-ui-button"),fZ("button"),fj({$:15,a:n.f7})]),q([$(f_,q([fB("diva-collection-expand-icon")]),q([tl(a?"▼":"▶")])),tl(r)])),i))}),ha=w(function(e,t){var n=t.u.b,r=$(cA,e.ey,n.dX);return $(f_,q([fF(q([{a:"diva-collection-panel",b:!0},{a:"is-fullscreen",b:e.dm},{a:"is-hidden",b:!e.a3}])),$(tx,"width",e.a3?el(e.dL)+"px":"0px")]),q([$(f_,q([fB("diva-collection-header")]),q([$(f_,q([fB("diva-collection-title")]),q([tl(r)])),$(f1,function(t){return $(f_,q([fB("diva-collection-summary")]),q([tl($(cA,e.ey,t))]))},n.gR)])),$(f_,q([fB("diva-sidebar-content")]),q([$(f_,q([fB("diva-sidebar-pane is-scroll")]),q([R(hn,e.ey,t,n.aH)]))]))]))}),hi=function(e){var t=e.H;return 2===t.$?$(ha,e,t.a):fQ},ho=tf("a"),hs=function(e){return $(fV,"href",tR.test(e)?"":e)},hu=function(e){switch(e.$){case 0:return e.a;case 1:return"none";default:return"default"}},hc=tI("rel"),hl=function(e){return{$:0,a:e}},hd=y(function(e,t,n){return{$:1,a:e,b:t,c:n}}),hf=w(function(e,t){var n=t.ad;if(!n.b)return z(t,{cV:$(J,e,t.cV)});var r=n.a,a=n.b;return z(t,{ad:$(J,z(r,{cn:$(J,e,r.cn)}),a)})}),hh=function(e){var t=e.ad;if(!t.b)return e;var n=t.a,r=t.b;return $(hf,R(hd,n.cK,n.dJ,nO(n.cn)),z(e,{ad:r}))},hv=w(function(e,t){for(;;){var n=t.ad;if(!n.b)return t;var r=n.a,a=hh(t);if(H(r.cK,e))return a;t=a}}),hb=w(function(e,t){switch(e.$){case 0:var n,r=e.a,a=e.b;return e.c||"br"===(n=r)||"img"===n?$(hf,R(hd,r,a,U),t):z(t,{ad:$(J,{dJ:a,cn:U,cK:r},t.ad)});case 1:var r=e.a;return $(ad,function(e){return H(e.cK,r)},t.ad)?$(hv,r,t):t;default:var i=e.a;return n7(i)?t:$(hf,hl(i),t)}}),hg=function(e){for(;;){if(!e.ad.b)return e;e=hh(e)}},hp=function(e){return{$:1,a:e}},hm=function(e){return{$:0,a:e}},hw=w(function(e,t){return{$:1,a:e,b:t}}),hy=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),hx=w(function(e,t){return{$:1,a:e,b:t}}),hC=x(function(e,t,n,r){return{dK:t,fU:r,d6:n,d9:e}}),hI={$:0},hA=w(function(e,t){return $(hx,hI,S(hC,e.d9,e.dK,t,e.k))}),hE=(u={$:10},function(e){return H(n5(e.d),e.h)?R(hy,!1,0,e):$(hw,!1,$(hA,e,u))}),h$=w(function(e,t){return function(n){var r=t(n);if(r.$){var a=r.a;return $(hw,a,r.b)}var a=r.a,i=r.b,o=r.c;return R(hy,a,e(i),o)}}),hR=w(function(e,t){return{$:2,a:e,b:t}}),hS=y(function(e,t,n){for(;;)if(!n.b)return $(hw,!1,t);else{var r=n.a,a=n.b,i=r(e);if(i.$){var o=i,s=o.a,u=o.b;if(s)return o;var c=e,l=$(hR,t,u);e=c,t=l,n=a;continue}var o=i;return o}}),hM=function(e){return function(t){return R(hS,t,hI,e)}},hP=function(e){return{$:2,a:e}},hL=function(e){return function(t){var n=e(t);return 1===n.$?$(hw,!1,n.b):R(hy,!1,n.b,n.c)}},hT=x(function(e,t,n,r){return $(hx,hI,S(hC,e,t,n,r))}),hk=w(function(e,t){return{$:0,a:e,b:t}}),hO=y(function(e,t,n){return function(r){var a=t(r);if(1===a.$){var i=a.a,o=a.b;return $(hw,i,o)}var s=a.a,u=a.b,c=n(a.c);if(1===c.$){var l=c.a,o=c.b;return $(hw,s||l,o)}var l=c.a,d=c.b,f=c.c;return R(hy,s||l,$(e,u,d),f)}}),hH=w(function(e,t){return R(hO,uY,e,t)}),hV=function(e){return function(t){return R(hy,!1,e,t)}},hB=function(e){var t=e.a,n=e.b,r=!n7(t);return function(e){var a=M(ne,t,e.h,e.d9,e.dK,e.d),i=a.a,o=a.b,s=a.c;return H(i,-1)?$(hw,!1,$(hA,e,n)):R(hy,r,0,{dK:s,k:e.k,p:e.p,h:i,d9:o,d:e.d})}},hF=function(e){return hB($(hk,e,{$:8,a:e}))},h_=$(hH,$(hH,hV(hP("")),hF("\x3c!--")),(t=(e=$(hk,"--\x3e",{$:0,a:"--\x3e"})).a,n=e.b,function(e){var r=M(nn,t,e.h,e.d9,e.dK,e.d),a=r.a,i=r.b,o=r.c;return H(a,-1)?$(hw,!1,S(hT,i,o,n,e.k)):R(hy,0>_(e.h,a),0,{dK:o,k:e.k,p:e.p,h:a,d9:i,d:e.d})})),hN=w(function(e,t){return R(hO,nJ,e,t)}),hz={$:11},hG=w(function(e,t){return function(n){var r=R(nt,e,n.h,n.d);return H(r,-1)?$(hw,!1,$(hA,n,t)):H(r,-2)?R(hy,!0,0,{dK:1,k:n.k,p:n.p,h:n.h+1,d9:n.d9+1,d:n.d}):R(hy,!0,0,{dK:n.dK+1,k:n.k,p:n.p,h:r,d9:n.d9,d:n.d})}}),hU=function(e){return $(hG,e,hz)},hD=C(function(e,t,n,r,a){for(;;){var i=R(nt,e,t,a.d);if(H(i,-1))return R(hy,0>_(a.h,t),0,{dK:r,k:a.k,p:a.p,h:t,d9:n,d:a.d});if(H(i,-2)){var o=e,s=t+1,u=n+1,c=1,l=a;e=o,t=s,n=u,r=c,a=l;continue}var o=e,s=i,u=n,c=r+1,l=a;e=o,t=s,n=u,r=c,a=l}}),hJ=function(e){return function(t){return M(hD,e,t.h,t.d9,t.dK,t)}},hq=function(e){return $(hH,$(hH,hV(0),hU(e)),hJ(e))},hX=w(function(e,t){return function(n){var r=t(n);if(1===r.$){var a=r.a;return $(hw,a,r.b)}var a=r.a,i=r.b,o=r.c;return R(hy,a,$(e,R(ea,n.h,o.h,n.d),i),o)}}),hj=function(e){return $(hX,uY,e)},hW=$(h$,lc,hj(hq(function(e){return nP(e)||nT(e)||"-"===e}))),hZ=function(e){return $(iF,e,q([" "," ","\n","\r","\f"]))},hY=hJ(hZ),hK=$(hN,$(hH,hV(function(e){return{$:1,a:e}}),hF(""))),hQ=w(function(e,t){return function(n){var r=t(n);if(1===r.$){var a=r.a,i=r.b;return $(hw,a,i)}var o=r.a,s=r.b,u=r.c,c=e(s)(u);if(1===c.$){var l=c.a,i=c.b;return $(hw,o||l,i)}var l=c.a;return R(hy,o||l,c.b,c.c)}}),h0=x(function(e,t,n,r){for(;;){var a=n(t)(r);if(a.$){var i=a.a;return $(hw,e||i,a.b)}var i=a.a,o=a.b,s=a.c;if(o.$)return R(hy,e||i,o.a,s);var u=o.a,c=n;e=e||i,t=u,n=c,r=s}}),h1=w(function(e,t){return function(n){return S(h0,!1,e,t,n)}}),h2=function(e){return e.$?{$:1,a:e.a}:{$:0,a:e.a}},h4=w(function(e,t){return $(h1,e,function(e){return $(h$,h2,t(e))})}),h3=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),h6=function(e){return $(hN,$(hH,hV(n4),hU(B(e))),$(hH,hj(hJ(F(e))),hU(B(e))))},h5=hM(q([h6('"'),h6("'"),hj(hq(function(e){return!(hZ(e)||">"===e||"/"===e)}))])),h8=function(e){var t;return e>=0&&e<=1114111?nr(cs((t=e)<0||1114111="0"&&e<="9"?nr(nL(e)-nL("0")):e>="a"&&e<="f"?nr(10+nL(e)-nL("a")):e>="A"&&e<="F"?nr(10+nL(e)-nL("A")):na};return n.a.$||n.b.$?na:nr(16*n.a.a+n.b.a)}),h9=function(e){var t;return $(es,"#x",e)||$(es,"#X",e)?$(aN,h8,n7(t=$(n8,2,e))?na:R(nx,h7,nr(0),ck(t))):$(es,"#",e)?$(aN,h8,re($(n8,1,e))):na},ve=function(e){switch(e){case"amp":return nr("&");case"apos":return nr("'");case"copy":return nr("©");case"gt":return nr(">");case"hellip":return nr("…");case"lt":return nr("<");case"mdash":return nr("—");case"nbsp":return nr(" ");case"ndash":return nr("–");case"quot":return nr('"');case"reg":return nr("®");default:return h9(e)}},vt=function(e){var t=$(nw,";",e);if(!t.b||!t.b.b)return"&"+e;var n=t.a,r=t.b,a=r.a,i=r.b;return $(aG,"&"+e,$(az,function(e){return G(e,$(nm,";",$(J,a,i)))},ve(n)))},vn=function(e){var t=$(nw,"&",e);if(!t.b)return e;var n=t.a,r=t.b;return R(nx,w(function(e,t){return G(t,vt(e))}),n,r)},vr=$(hQ,function(e){return $(hN,$(hH,hV(function(t){return{a:e,b:vn(t)}}),hY),hM(q([$(hN,$(hH,$(hH,hV(n4),hF("=")),hY),h5),hV("")])))},$(h$,lc,hj(hq(function(e){return!(hZ(e)||"="===e||">"===e||"/"===e)})))),va=$(hH,$(hH,hV(0),hU(hZ)),hJ(hZ)),vi=w(function(e,t){return hM(q([$(h$,function(n){return hp(R(h3,e,nO(t),!0))},hF("/>")),$(h$,function(n){return hp(R(h3,e,nO(t),!1))},hF(">")),$(h$,function(e){return hm(t)},va),$(h$,function(e){return hm($(J,e,t))},vr)]))}),vo=hM(q([hK,$(hQ,function(e){return $(h4,U,vi(e))},$(hN,$(hH,hV(n4),hF("<")),hW))])),vs=$(h$,$(rW,vn,hP),hj(hq(F("<")))),vu=hM(q([hL(h_),$(h$,function(e){return hP("")},hF("--\x3e")),hL(vo),vs,$(h$,function(e){return hP("<")},hF("<"))])),vc=$(h4,U,function(e){return hM(q([$(h$,function(t){return hp(nO(e))},hE),$(h$,function(t){return hm($(J,t,e))},vu)]))}),vl={ad:U,cV:U},vd=y(function(e,t,n){return{dK:t,d6:n,d9:e}}),vf=function(e){return R(vd,e.d9,e.dK,e.d6)},vh=w(function(e,t){for(;;)switch(e.$){case 0:return t;case 1:var n=e.a,r=e.b,a=n,i=$(J,r,t);e=a,t=i;continue;default:var n=e.a,o=e.b,a=n,i=$(vh,o,t);e=a,t=i;continue}}),vv=w(function(e,t){var n=e({dK:1,k:U,p:1,h:0,d9:1,d:t});return n.$?nf($(vh,n.b,U)):ng(n.b)}),vb=w(function(e,t){var n=$(vv,e,t);return n.$?nf($(rc,vf,n.a)):ng(n.a)}),vg=function(e){var t=lc(e.trim());return $(es,"https://",t)||$(es,"http://",t)||$(es,"mailto:",t)||$(es,"tel:",t)||$(es,"/",t)||$(es,"./",t)||$(es,"../",t)||$(es,"#",t)||$(es,"?",t)||!$(eo,":",t)},vp=function(e){var t=e.a,n=e.b;return"href"===t&&vg(n)?nr({a:t,b:n}):na},vm=w(function(e,t){switch(e){case"a":return G($(an,vp,t),q([{a:"target",b:"_blank"},{a:"rel",b:"noopener noreferrer"}]));case"img":return $(iR,function(e){var t=e.a;return"src"===t||"alt"===t},t);default:return U}}),vw=function(e){if(!e.$)return q([hl(e.a)]);var t=e.a,n=e.b,r=vy(e.c);return $(iF,t,q(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]))?q([R(hd,t,$(vm,t,n),r)]):r},vy=function(e){return $(iP,vw,e)},vx=function(e){var t=$(vb,vc,e);return t.$?q([hl(e)]):vy(nO(hg(R(nx,hb,vl,t.a)).cV))},vC=function(e){return $(fD,e.a,e.b)},vI=function(e){if(!e.$)return tl(e.a);var t=e.a,n=e.b,r=e.c;return R(fK,t,$(rc,vC,n),$(rc,vI,r))},vA=function(e){return $(rc,vI,vx(e))},vE=fV("target"),v$=function(e){switch(e){case 0:return"Left to Right";case 1:return"Right to Left";case 2:return"Top to Bottom";default:return"Bottom to Top"}},vR=function(e){switch(e){case 0:return"Auto-advance";case 1:return"No auto-advance";case 2:return"Repeat";case 3:return"No repeat";case 4:return"Unordered";case 5:return"Individuals";case 6:return"Continuous";case 7:return"Paged";case 8:return"Facing pages";case 9:return"Non-paged";case 10:return"Multi-part";case 11:return"Together";case 12:return"Sequence";case 13:return"Thumbnail nav";case 14:return"No nav";default:return"Hidden"}},vS=function(e){switch(e){case 0:return"Paged";case 1:return"Individuals";case 2:return"Continuous";case 3:return"Multi-part";case 4:return"Non-paged";case 5:return"Top";default:return"Facing pages"}},vM=function(e){if(!e.$)return"Hint: "+vS(e.a);var t=e.a;return sd(t)?"Behavior: None":"Behavior: "+$(nm,", ",$(rc,vR,t))},vP=w(function(e,t){var n=el($(aG,0,$(az,nC,lh(t)))),r=function(){var t=e.H;switch(t.$){case 1:default:return e.ba;case 2:var n=t.a;return $(aG,e.ba,n.dA)}}(),a=el(nC(cg(t))),i=t.a,o=t.b,s=$(aG,"None",$(az,cA(e.ey),o.gR)),u=v$(o.g1),c=vM(o.g2),l=function(){switch(i){case 0:return"IIIF v1";case 1:return"IIIF v2";default:return"IIIF v3"}}();return $(J,{a:"Manifest URL",b:$(ho,q([hs(r),vE("_blank"),hc("noopener noreferrer")]),q([tl(r)]))},G(sd(e.av)?U:q([{a:"Accept Headers",b:tl($(nm,", ",e.av))}]),q([{a:"Detected User Language",b:tl(hu(e.ey))},{a:"IIIF Version",b:tl(l)},{a:"Viewing Hint / Behavior",b:tl(c)},{a:"Viewing Direction",b:tl(u)},{a:"Summary",b:"None"===s?tl(s):$(f_,U,vA(s))},{a:"Canvases",b:tl(a)},{a:"Ranges",b:tl(n)}])))}),vL=fV("alt"),vT=tf("img"),vk=function(e){var t=$(aN,aL,e.ft);if(t.$)return nr(e.f7);var n=t.a;return $(az,$(rW,cB(im(256)),cV),iO(n.f7))},vO=function(e){return $(fV,"src",tM(e))},vH=cb(function(e){return e.ge}),vV=cb(function(e){return e.ff}),vB=w(function(e,t){var n=function(){var e=$(aN,aL,vV(t));if(e.$)return{a:na,b:$(aN,aL,ld(t))};var n=e.a;return{a:$(aN,aL,n.ge),b:$(aN,aL,n.f6)}}(),r=n.a,a=n.b,i=r.$?$(az,$(rW,function(e){return e.f7},$(rW,cB(im(256)),cV)),vH(t)):vk(r.a);return H(i,na)&&H(a,na)?fQ:$(f_,U,q([$(f1,function(e){return $(vT,q([fB("diva-manifest-info-logo"),vO(e),vL("Manifest logo")]),U)},i),$(f1,function(t){var n=$(cA,e,t.dX);return $(ho,q([hs(t.f7),vE("_blank"),hc("noopener noreferrer")]),q([tl(n)]))},a)]))}),vF=function(e){var t=e.a,n=e.b;return $(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl(t)])),$(f_,q([fB("diva-metadata-value")]),q([n]))]))},v_=w(function(e,t){var n=$(aG,q([{a:"Manifest",b:tl("Not loaded")}]),$(az,vP(e),t)),r=$(f1,vB(e.ey),t);return $(f_,q([fB("diva-modal-body is-two-column")]),q([$(f_,q([fB("diva-metadata-body")]),$(rc,vF,n)),$(f_,q([fB("diva-manifest-info-logo-wrap")]),q([r]))]))}),vN={$:13},vz=tI("d"),vG=tI("fill"),vU=tI("height"),vD=td("http://www.w3.org/2000/svg"),vJ=vD("path"),vq=vD("svg"),vX=tI("viewBox"),vj=tI("width"),vW=function(e){return $(vq,q([vX(e.t),vj("100%"),vU("100%"),vG("currentColor")]),q([$(vJ,q([vz(e.s)]),U)]))},vZ=vW({s:"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z",t:"0 0 512 512"}),vY=w(function(e,t){return $(tC,e,ek(t))}),vK=vY("disabled"),vQ=w(function(e,t){var n,r,a=(n=q([fF(q([{a:"diva-canvas-toolbar-button",b:!0},{a:"is-disabled",b:H(t.d3,na)},{a:"is-fullscreen",b:t.eY}])),fZ("button"),$(fD,"aria-label",t.dX)]),(r=t.d3).$?$(J,vK(!0),G(e,n)):$(J,fj(r.a),G(e,n)));return $(f_,q([fB("diva-canvas-toolbar-item"),$(fD,"data-tooltip",t.dX)]),q([$(fJ,a,q([t.eS]))]))}),v0=function(e){return $(vQ,U,e)},v1=function(e){var t=e.dm;return $(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title")]),q([tl("Manifest Info")])),$(f_,q([fB("diva-modal-actions")]),q([$(f_,q([fB("diva-modal-close-action")]),q([v0({eS:vZ,eY:t,dX:"Close",d3:nr(vN)})]))]))]))},v2=tf("h1"),v4=y(function(e,t,n){return e&&!n7(n)?$(v2,q([fF(q([{a:"diva-app-title",b:!0},{a:"is-fullscreen",b:t}]))]),q([tl(n)])):fQ}),v3=tf("span"),v6=w(function(e,t){var n=$(rH,e,t.ar);if(n.$)return na;var r=n.a;return uF(r.dh)?$(az,function(e){return e?"use-credentials":"anonymous"},$(aN,function(e){return $(rH,e,t.ax)},ff(r))):nr("anonymous")}),v5=x(function(e,t,n,r){return $(fJ,q([fF(q([{a:"diva-page-view-choice",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:H(n,t)}])),fZ("button"),fj({$:19,a:n})]),q([function(){var t=$(v6,r.b7,e);if(t.$)return $(f_,q([fB("diva-page-view-choice-thumb diva-page-view-choice-thumb--protected"),$(fD,"aria-label","Protected image")]),U);var n=t.a;return $(vT,q([fB("diva-page-view-choice-thumb"),vO(r.bh),vL(r.dX),$(fD,"loading","lazy"),$(fD,"crossorigin",n)]),U)}(),$(v3,q([fB("diva-page-view-choice-label")]),q([tl(r.dX)]))]))}),v8=y(function(e,t,n){return $(f_,q([fB("diva-page-view-choices")]),$(nE,w(function(t,r){return M(tp,v5,e,n,t,r)}),t))}),v7={$:33},v9=w(function(e,t){return{$:52,a:e,b:t}}),be=tf("input"),bt=fV("max"),bn=fV("min"),br=function(e){return{a:e,b:!0}},ba=w(function(e,t){return $(ty,e,{$:1,a:t})}),bi=$(ak,q(["target","value"]),eg),bo=function(e){return $(ba,"input",$(ex,br,$(ex,e,bi)))},bs=fV("value"),bu=C(function(e,t,n,r,a){var i=q([fZ("range"),bn(e),bt(t),bs(r),bo(a)]),o=n.$?i:$(J,$(fV,"step",n.a),i);return $(be,$(J,fB("diva-filter-range-input"),o),U)}),bc=function(e){return $(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(v3,q([fB("diva-filter-label")]),q([tl(e.dX)])),$(v3,q([fB("diva-filter-value")]),q([tl(e.l)]))])),M(bu,e.g,e.f,e.n,e.fG,e.m)]))},bl=w(function(e,t){return{$:40,a:e,b:t}}),bd=vY("checked"),bf=tf("label"),bh=$(ak,q(["target","checked"]),eh),bv=function(e){return $(fX,"change",$(ex,e,bh))},bb=function(e){return $(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(bf,q([fB("diva-filter-toggle is-inline")]),q([$(be,q([fZ("checkbox"),bd(e.x),bv(bl(e.A))]),U),tl(e.dX)])),$(v3,q([fB("diva-filter-value")]),q([tl(e.l)]))])),M(bu,e.g,e.f,e.n,e.fG,e.m)]))},bg=w(function(e,t){return q([bb({x:t.cw,l:el(t.bO),dX:e+" Gamma",f:"100",g:"0",m:v9(t.cx),A:t.cy,n:nr("1"),fG:el(t.bO)}),bb({x:t.cY,l:el(t.b5),dX:e+" Sigmoid",f:"100",g:"0",m:v9(t.cZ),A:t.c_,n:nr("1"),fG:el(t.b5)}),bb({x:t.cB,l:el(t.bP),dX:e+" Hue Boost",f:"100",g:"-100",m:v9(t.cC),A:t.cD,n:nr("1"),fG:el(t.bP)}),bc({l:el(t.bQ),dX:e+" Hue Window",f:"30",g:"2",m:v9(t.cE),n:nr("1"),fG:el(t.bQ)}),bb({x:t.c8,l:el(t.cc),dX:e+" Vibrance",f:"100",g:"0",m:v9(t.c9),A:t.da,n:nr("1"),fG:el(t.cc)})])}),bp=x(function(e,t,n,r){var a=$(lk,t,e.ct);return $(f_,q([fB("diva-filter-group")]),$(J,$(fJ,q([fF(q([{a:"diva-filter-title-button",b:!0},{a:"is-collapsed",b:!a}])),fj({$:41,a:t})]),q([$(v3,q([fF(q([{a:"diva-filter-title-icon",b:!0},{a:"is-expanded",b:a}]))]),U),$(v3,U,q([tl(n)]))])),a?r:U))}),bm=function(e){return $(f_,q([fB("diva-filter-row")]),e)},bw=function(e){return S(bp,e,"advanced-colour-adjust","Advanced colour adjust",$(J,bm(q([$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(v7)]),q([tl("Reset sliders")]))])),G($(bg,"Red",{bO:e.eJ.aY,cw:e.eJ.bu,cx:2,cy:9,bP:e.eJ.aZ,cB:e.eJ.aB,cC:5,cD:10,bQ:e.eJ.a_,cE:6,b5:e.eJ.a$,cY:e.eJ.bv,cZ:3,c_:11,cc:e.eJ.a0,c8:e.eJ.bw,c9:4,da:12}),G($(bg,"Green",{bO:e.eJ.aT,cw:e.eJ.br,cx:7,cy:5,bP:e.eJ.aU,cB:e.eJ.aA,cC:9,cD:6,bQ:e.eJ.aV,cE:10,b5:e.eJ.aW,cY:e.eJ.bs,cZ:8,c_:7,cc:e.eJ.aX,c8:e.eJ.bt,c9:11,da:8}),$(bg,"Blue",{bO:e.eJ.aO,cw:e.eJ.bo,cx:12,cy:1,bP:e.eJ.aP,cB:e.eJ.az,cC:14,cD:2,bQ:e.eJ.aQ,cE:15,b5:e.eJ.aR,cY:e.eJ.bp,cZ:13,c_:3,cc:e.eJ.aS,c8:e.eJ.bq,c9:16,da:4})))))},by=w(function(e,t){return{$:51,a:e,b:t}}),bx=function(e){return S(bp,e,"colour-adjust","Colour Adjust",$(rc,bb,q([{x:e.eJ.cj,l:el(e.eJ.bx),dX:"Brightness",f:"255",g:"-255",m:v9(17),A:13,n:na,fG:el(e.eJ.bx)},{x:e.eJ.cq,l:el(e.eJ.bH),dX:"Contrast",f:"4",g:"0",m:by(1),A:20,n:nr("0.1"),fG:el(e.eJ.bH)},{x:e.eJ.cw,l:el(e.eJ.bO),dX:"Gamma",f:"4",g:"0.1",m:by(2),A:23,n:nr("0.1"),fG:el(e.eJ.bO)},{x:e.eJ.cW,l:el(e.eJ.b1),dX:"Saturation",f:"100",g:"-100",m:v9(27),A:31,n:na,fG:el(e.eJ.b1)},{x:e.eJ.c8,l:el(e.eJ.cc),dX:"Vibrance",f:"100",g:"-100",m:v9(29),A:34,n:na,fG:el(e.eJ.cc)},{x:e.eJ.cB,l:el(e.eJ.bP),dX:"Hue",f:"100",g:"-100",m:v9(24),A:26,n:na,fG:el(e.eJ.bP)},{x:e.eJ.cm,l:el(e.eJ.bA),dX:"Red",f:"100",g:"-100",m:v9(20),A:16,n:na,fG:el(e.eJ.bA)},{x:e.eJ.cl,l:el(e.eJ.bz),dX:"Green",f:"100",g:"-100",m:v9(19),A:15,n:na,fG:el(e.eJ.bz)},{x:e.eJ.ck,l:el(e.eJ.by),dX:"Blue",f:"100",g:"-100",m:v9(18),A:14,n:na,fG:el(e.eJ.by)}])))},bC=w(function(e,t){return{$:54,a:e,b:t}}),bI=tf("option"),bA=q([$(bI,q([bs("gray")]),q([tl("Gray")])),$(bI,q([bs("hot")]),q([tl("Hot")])),$(bI,q([bs("cool")]),q([tl("Cool")]))]),bE=tf("select"),b$=y(function(e,t,n){return $(bE,q([fB("diva-filter-select"),bo(t),bs(e)]),n)}),bR=y(function(e,t,n){return $(bf,q([fB("diva-filter-toggle")]),q([$(be,q([fZ("checkbox"),bd(t),bv(bl(n))]),U),tl(e)]))}),bS=function(e){return S(bp,e,"colourmap","Colourmap",q([bm(q([R(bR,"Colourmap",e.eJ.a4,17),R(b$,e.eJ.bG,bC(0),bA)])),bc({l:el(e.eJ.bF),dX:"Center",f:"255",g:"0",m:v9(21),n:na,fG:el(e.eJ.bF)})]))},bM=q([$(bI,q([bs("sharpen")]),q([tl("Sharpen")])),$(bI,q([bs("blur")]),q([tl("Blur")])),$(bI,q([bs("edge")]),q([tl("Edge")])),$(bI,q([bs("emboss")]),q([tl("Emboss")]))]),bP=function(e){return S(bp,e,"convolution","Convolution",q([bm(q([R(bR,"Kernel",e.eJ.cr,21),R(b$,e.eJ.bI,bC(3),bM)]))]))},bL=function(e){return S(bp,e,"enhancement","Enhancement",G($(rc,bb,q([{x:e.eJ.cN,l:el(e.eJ.bV),dX:"Normalize",f:"2",g:"0",m:by(3),A:29,n:nr("0.1"),fG:el(e.eJ.bV)},{x:e.eJ.c6,l:el(e.eJ.ca),dX:"Unsharp",f:"3",g:"0",m:by(7),A:33,n:nr("0.1"),fG:el(e.eJ.ca)},{x:e.eJ.aN,l:el(e.eJ.bn),dX:"Adaptive Threshold",f:"51",g:"3",m:v9(1),A:0,n:nr("2"),fG:el(e.eJ.bn)}])),q([bc({l:el(e.eJ.bm),dX:"Offset",f:"50",g:"-50",m:v9(0),n:nr("1"),fG:el(e.eJ.bm)})])))},bT={$:11},bk={$:27},bO=function(e){return{$:53,a:e}},bH=tf("textarea"),bV=function(e){return S(bp,e,"diva-filter-json","Import / Export Filter Settings",q([bm(q([$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(bk)]),q([tl("Show JSON")])),$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(bT)]),q([tl("Apply")]))])),$(bH,q([fB("diva-filter-json"),bs(e.cu),bo(bO),$(tI,"rows",el(6))]),U),function(){var t=e.bN;if(t.$)return fQ;var n=t.a;return $(f_,q([fB("diva-filter-json-error")]),q([tl(n)]))}()]))},bB=q([$(bI,q([bs("3")]),q([tl("3x3")])),$(bI,q([bs("5")]),q([tl("5x5")])),$(bI,q([bs("7")]),q([tl("7x7")]))]),bF=q([$(bI,q([bs("erode")]),q([tl("Erode")])),$(bI,q([bs("dilate")]),q([tl("Dilate")]))]),b_=function(e){return S(bp,e,"morphology","Morphology",q([bm(q([R(bR,"Morph",e.eJ.bb,28),R(b$,e.eJ.bU,bC(5),bF),R(b$,el(e.eJ.bT),v9(25),bB)]))]))},bN=q([$(bI,q([bs("pca-rgb")]),q([tl("PCA (RGB)")])),$(bI,q([bs("pca1")]),q([tl("PCA Component 1")])),$(bI,q([bs("pca2")]),q([tl("PCA Component 2")])),$(bI,q([bs("pca3")]),q([tl("PCA Component 3")]))]),bz=function(e){return S(bp,e,"pca","Visible area PCA",q([bm(q([R(bR,"Visible area PCA",e.eJ.a7,24),R(b$,e.eJ.bX,bC(4),bN)])),bc({l:el(e.eJ.bW)+"deg",dX:"Hue Rotation",f:"180",g:"-180",m:v9(23),n:nr("1"),fG:el(e.eJ.bW)})]))},bG=q([$(bI,q([bs("rg")]),q([tl("Red–Green Diff")])),$(bI,q([bs("gb")]),q([tl("Green–Blue Diff")])),$(bI,q([bs("rb")]),q([tl("Red–Blue Diff")])),$(bI,q([bs("luma")]),q([tl("Luma False Colour")])),$(bI,q([bs("cmy")]),q([tl("CMY False Colour")])),$(bI,q([bs("heat")]),q([tl("Heat Map")]))]),bU=w(function(e,t){return $(be,q([fB("diva-filter-color-input"),fZ("color"),bs(e),bo(t)]),U)}),bD=function(e){return S(bp,e,"pseudo-colour","Pseudo Colour",q([bm(q([R(bR,"Pseudo-colour",e.eJ.ae,30),R(b$,e.eJ.b_,bC(6),bG)])),bc({l:el(e.eJ.b$),dX:"Red Weight",f:"2",g:"0",m:by(6),n:nr("0.01"),fG:el(e.eJ.b$)}),bc({l:el(e.eJ.bZ),dX:"Green Weight",f:"2",g:"0",m:by(5),n:nr("0.01"),fG:el(e.eJ.bZ)}),bc({l:el(e.eJ.bY),dX:"Blue Weight",f:"2",g:"0",m:by(4),n:nr("0.01"),fG:el(e.eJ.bY)}),bm(q([R(bR,"Replace Colour",e.eJ.N,18)])),bm(q([$(v3,q([fB("diva-filter-label")]),q([tl("Source")])),$(bU,e.eJ.bC,bC(1)),$(v3,q([fB("diva-filter-label")]),q([tl("Target")])),$(bU,e.eJ.bD,bC(2))])),bc({l:el(e.eJ.bE),dX:"Tolerance",f:"255",g:"0",m:v9(22),n:nr("1"),fG:el(e.eJ.bE)}),bc({l:el(e.eJ.bB),dX:"Strength",f:"1",g:"0",m:by(0),n:nr("0.01"),fG:el(e.eJ.bB)}),bm(q([R(bR,"Preserve Luminance",e.eJ.cp,19)]))]))},bJ=function(e){return S(bp,e,"tone","Tone",G($(rc,function(e){return R(bR,e.a,e.b,e.c)},q([{a:"Grayscale",b:e.eJ.cz,c:25},{a:"Invert",b:e.eJ.cH,c:27}])),$(rc,bb,q([{x:e.eJ.c1,l:el(e.eJ.b8),dX:"Threshold",f:"255",g:"0",m:v9(28),A:32,n:na,fG:el(e.eJ.b8)}]))))},bq=function(e){return S(bp,e,"transform","Transform",q([$(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(v3,q([fB("diva-filter-label")]),q([tl("Rotation")])),$(v3,q([fB("diva-filter-range-header-right")]),q([$(v3,q([fB("diva-filter-value")]),q([tl(el(e.eJ.bg)+"°")])),$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj($(v9,26,"0"))]),q([tl("Reset")]))]))])),M(bu,"-180","180",nr("1"),el(e.eJ.bg),v9(26))])),bm(q([R(bR,"Mirror",e.eJ.cv,22)]))]))},bX=function(e){return $(f_,q([fB("diva-modal-sidebar")]),q([$(tv,bq,e),$(tv,bJ,e),$(tv,bx,e),$(tv,b_,e),$(tv,bP,e),$(tv,bS,e),$(tv,bD,e),$(tv,bz,e),$(tv,bw,e),$(tv,bL,e),$(tv,bV,e)]))},bj=w(function(e,t){return $(f_,q([fF(q([{a:"diva-modal-viewer",b:!0},{a:"is-fullscreen",b:e},{a:"is-outer-left",b:t}]))]),q([$(f_,q([fB("diva-modal-canvas"),fN("filter-viewer")]),U)]))}),bW=function(e){var t=$(aN,function(t){return $(cv,t,e.ap)},e.R),n=$(aG,!1,$(az,function(e){return nC(e.cF)>1},t));return $(f_,q([fF(q([{a:"diva-modal-body",b:!0},{a:"is-no-gap",b:!0},{a:"is-fullscreen",b:e.ds},{a:"is-with-choices",b:n},{a:"is-no-sidebar",b:!e.dt},{a:"is-with-choices-no-sidebar",b:n&&!e.dt}]))]),function(){var r={a:n,b:t,c:e.dt};if(r.c)if(!r.a||r.b.$)return q([$(bj,e.ds,!0),bX(e)]);else{var a=r.b.a;return q([R(v8,e.dh,a.cF,e.aJ),$(bj,e.ds,!1),bX(e)])}if(!r.a||r.b.$)return q([$(bj,e.ds,!0)]);var a=r.b.a;return q([R(v8,e.dh,a.cF,e.aJ),$(bj,e.ds,!1)])}())},bZ={$:14},bY={$:20},bK={$:21},bQ={$:23},b0={$:32},b1={$:44},b2={$:45},b4=w(function(e,t){return e?na:nr(t)}),b3=vW({s:"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",t:"0 0 448 512"}),b6=vW({s:"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z",t:"0 0 512 512"}),b5=vW({s:"M168 80l24 0 0-48-24 0L24 32 0 32 0 56 0 456l0 24 24 0 144 0 24 0 0-48-24 0L48 432 48 80l120 0zM493.8 273l17-17-17-17-128-128-17-17L314.9 128l17 17 87 87L184 232l-24 0 0 48 24 0 234.9 0-87 87-17 17 33.9 33.9 17-17 128-128z",t:"0 0 512 512"}),b8=vW({s:"M8.59 16.59L10 18L16 12L10 6L8.59 7.41L13.17 12L8.59 16.59z",t:"0 0 24 24"}),b7=vW({s:"M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41z",t:"0 0 24 24"}),b9=vW({s:"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",t:"0 0 512 512"}),ge=vW({s:"M288 80V432H48V80H288zM512 32H464 48 0V80 432v48H48 464h48V432 80 32zM448 96v48H352V96h96zm-96 96h96v48H352V192zm96 96v48H352V288h96z",t:"0 0 512 512"}),gt=vW({s:"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z",t:"0 0 512 512"}),gn=function(e){var t,n,r=$(aG,"",$(az,function(e){return e.dX},$(aN,function(e){return $(cv,e,t.ap)},(t=e).R))),a=$(aG,"",$(az,function(e){return $(cA,n.ey,fz(e))},lG(n=e))),i=e.dt?{a:b5,b:"Hide filters"}:{a:ge,b:"Show filters"},o=i.a,s=i.b,u=function(){var t=e.R;if(t.$)return{a:!0,b:!0};var n=t.a;return{a:n<=0,b:_(n,nC(e.ap)-1)>-1}}(),c=u.a,l=u.b,d=e.ds?{a:b6,b:"Exit fullscreen"}:{a:gt,b:"Fullscreen"},f=d.a,h=d.b;return $(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title-stack")]),$(J,$(f_,q([fB("diva-modal-title")]),q([tl("Page View")])),G(n7(a)?U:q([$(f_,q([fB("diva-modal-subtitle")]),q([tl(a)]))]),n7(r)?U:q([$(f_,q([fB("diva-modal-subtitle is-muted")]),q([tl(r)]))])))),$(f_,q([fB("diva-modal-actions")]),q([v0({eS:b7,eY:e.dm,dX:"Previous Page",d3:$(b4,c,bK)}),v0({eS:b8,eY:e.dm,dX:"Next Page",d3:$(b4,l,bY)}),v0({eS:b3,eY:e.dm,dX:"Save view",d3:nr(bQ)}),v0({eS:b9,eY:e.dm,dX:"Reset Filters",d3:nr(b0)}),v0({eS:o,eY:e.dm,dX:s,d3:nr(b2)}),v0({eS:f,eY:e.dm,dX:h,d3:nr(b1)}),$(f_,q([fB("diva-modal-close-action")]),q([v0({eS:vZ,eY:e.dm,dX:"Close",d3:nr(bZ)})]))]))]))},gr=function(e){return n7(e)?fQ:$(f_,q([fB("diva-required-statement")]),vA(e))},ga={$:38},gi={$:43},go={$:49},gs=function(e){var t,n=!sd(lf(e)),r=!(t=ld(e)).$&&!sd(t.a);return n||r},gu=function(e){return!!e},gc=function(e){return $(f_,q([fB("diva-contents-empty")]),q([tl(e)]))},gl=gc("No contents available."),gd=w(function(e,t){return $(aG,na,$(rH,t,e))}),gf=w(function(e,t){return $(ad,gh(e),t.aH)}),gh=w(function(e,t){return t.$?$(gf,e,t.a):H(t.a,e)}),gv=y(function(e,t,n){return $(fJ,G(q([fF(q([{a:"diva-contents-button",b:!0},{a:"diva-ui-button",b:!0},{a:"is-current",b:e}])),fZ("button"),fj({$:22,a:t})]),e?q([$(fD,"aria-current","location")]):U),q([tl(n)]))}),gb=y(function(e,t,n){return $(fJ,q([fB("diva-contents-disclosure diva-ui-button"),fZ("button"),$(fD,"aria-expanded",e?"true":"false"),$(fD,"aria-label",G(e?"Hide information for ":"Show information for ",n)),fj({$:46,a:t})]),q([tl(e?"▾":"▸")]))}),gg=w(function(e,t){return $(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl($(cA,e,t.dX))])),$(f_,q([fB("diva-metadata-value")]),vA($(cA,e,t.fG)))]))}),gp=w(function(e,t){return sd(t)?U:q([$(f_,q([fB("diva-contents-meta")]),$(rc,gg(e),t))])}),gm=y(function(e,t,n){return e?t?n?1===$(W,2,n)?n:n-1:0:n-$(W,2,n):n}),gw=y(function(e,t,n){if(n.$)return U;var r=n.a;if(!e)return q([r]);if(t&&!r)return q([0]);var a=R(gm,1,t,r);return q([a,a+1])}),gy=y(function(e,t,n){var r=$(an,function(n){return n.$?nr(S(tg,gx,e,t,n.a)):na},n);return sd(r)?U:q([$(f7,q([fB("diva-contents-list-nested diva-list-reset")]),r)])}),gx=y(function(e,t,n){var r,a=$(gd,t,n.f7),i=$(cA,e.ey,n.dX),o=n7(i)?"[Untitled range]":i,s=H(e.ea,nr(n.f7)),u=s?$(gp,e.ey,n.d_):U,c=$(ad,function(e){return $(gf,e,n)},$(rc,function(e){return e.M},$(an,function(e){return $(cv,e,r.ap)},R(gw,(r=e).cd,r.b3,r.R)))),l=R(gv,c,a,o),d=$(f_,q([fB("diva-contents-heading")]),G(sd(n.d_)?U:q([R(gb,s,n.f7,o)]),q([l]))),f=R(gy,e,t,n.aH);return $(f8,q([fB("diva-contents-item")]),$(J,d,G(u,f)))}),gC=y(function(e,t,n){return $(f7,q([fB("diva-contents-list diva-list-reset")]),$(rc,R(tg,gx,e,t),n))}),gI=w(function(e,t){var n=lh(t);if(n.$)return gl;var r=n.a;return sd(r)?gl:R(gC,e,e.fg,r)}),gA={$:34},gE={$:35},g$=w(function(e,t){return $(f_,q([fB("diva-contents-view-tabs")]),q([$(fJ,q([fF(q([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:!t}])),fZ("button"),fj(gA)]),q([tl("Index")])),$(fJ,q([fF(q([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:1===t}])),fZ("button"),fj(gE)]),q([tl(e?"On these pages":"On this page")]))]))}),gR=w(function(e,t){var n=$(iP,function(t){return t.$?$(gR,e,t.a):U},t.aH);return $(gf,e,t)?$(J,t,n):n}),gS=w(function(e,t){return $(iP,gR(e),t)}),gM=gc("No ranges for this page."),gP=function(e){var t=w(function(e,t){for(;;)if(!e.b)return nO(t);else if(e.a.b){var n=e.a,r=n.a,a=n.b,i=e.b;if(r.$){var o=$(J,r.a.aH,$(J,a,i)),s=t;e=o,t=s;continue}var u=r.a,o=$(J,a,i),s=$(J,u,t);e=o,t=s;continue}else{var i=e.b,o=i,s=t;e=o,t=s;continue}});return $(t,q([e]),U)},gL=w(function(e,t){return $(an,function(t){return $(rH,t,e)},gP(t.aH))}),gT=y(function(e,t,n){var r=$(gp,e.ey,n.d_),a=$(gd,e.fg,n.f7),i=$(cA,e.ey,n.dX),o=$(gL,t,n),s=aL(o),u=aL(nO(o)),c=function(){var e={a:s,b:u};if(e.a.$)if(e.b.$)return"";else{e.a;var t=e.b.a;return"["+t+"] "}if(e.b.$){var n=e.a.a;return e.b,"["+n+"] "}var n=e.a.a,t=e.b.a;return H(n,t)?"["+n+"] ":"["+(n+"-")+t+"] "}(),l=R(gv,!1,a,n7(i)?c+"[Untitled range]":G(c,i));return $(f8,q([fB("diva-contents-item")]),$(J,l,r))}),gk=w(function(e,t){var n,r=$(az,function(e){return e.M},$(aN,function(e){return $(cv,e,n.ap)},(n=e).R));if(r.$)return gM;var a=r.a,i=lh(t);if(i.$)return gM;var o=$(gS,a,i.a);if(sd(o))return gM;var s=us($(rc,function(e){return{a:e.f7,b:cE(e)}},cg(t)));return $(f7,q([fB("diva-contents-list diva-list-reset")]),$(rc,$(gT,e,s),o))}),gO=function(e){var t=lG(e),n=function(){var n={a:e.dN,b:t};if(n.a)if(n.b.$)return n.a,n.b,gM;else{n.a;var r=n.b.a;return $(gk,e,r)}if(n.b.$)return n.a,n.b,gl;n.a;var r=n.b.a;return $(gI,e,r)}();return $(f_,q([fB("diva-contents-panel")]),q([$(f_,q([fB("diva-contents-title")]),q([tl("Contents")])),$(g$,e.cd,e.dN),n]))},gH=w(function(e,t){return $(f_,U,q([$(ho,q([hs(t.f7),vE("_blank"),hc("noopener noreferrer")]),q([tl($(cA,e,t.dX))]))]))}),gV=w(function(e,t){var n=ld(t);if(n.$)return U;var r=n.a;return sd(r)?U:q([$(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl("Homepage")])),$(f_,q([fB("diva-metadata-value")]),$(rc,gH(e),r))]))])}),gB=w(function(e,t){return $(rc,gg(e),lf(t))}),gF=y(function(e,t,n){return $(f_,q([fF(q([{a:"diva-sidebar-pane",b:!0},{a:"is-hidden",b:!H(e,t)}]))]),q([n]))}),g_=x(function(e,t,n,r){return $(fJ,q([fF(q([{a:"diva-sidebar-tab-button",b:!0},{a:"is-active",b:H(e,t)}])),fZ("button"),fj(r)]),q([tl(n)]))}),gN=y(function(e,t,n){for(;;)if(e<=0)return n;else{if(!t.b)return n;var r=t.a,a=t.b,i=e-1,o=$(J,r,n);e=i,t=a,n=o;continue}}),gz=w(function(e,t){return nO(R(gN,e,t,U))}),gG=y(function(e,t,n){if(t<=0)return U;var r={a:t,b:n};e:for(;;){t:for(;;)if(!r.b.b)return n;else if(r.b.b.b)switch(r.a){case 1:break e;case 2:var a=r.b,i=a.a,o=a.b.a;return q([i,o]);case 3:if(r.b.b.b.b){var s=r.b,i=s.a,u=s.b,o=u.a,c=u.b.a;return q([i,o,c])}break t;default:if(r.b.b.b.b&&r.b.b.b.b.b){var l=r.b,i=l.a,d=l.b,o=d.a,f=d.b,c=f.a,h=f.b,v=h.a,b=h.b;return e>1e3?$(J,i,$(J,o,$(J,c,$(J,v,$(gz,t-4,b))))):$(J,i,$(J,o,$(J,c,$(J,v,R(gG,e+1,t-4,b)))))}break t}else if(1===r.a)break e;else break;return n}var i=r.b.a;return q([i])}),gU=w(function(e,t){return R(gG,0,e,t)}),gD=y(function(e,t,n){for(;;)if(!t.b)return nO(n);else{var r=$(ch,e,t),a=$(gU,e,t),i=e,o=$(J,a,n);e=i,t=r,n=o;continue}}),gJ=w(function(e,t){return e<=0?U:R(gD,e,t,U)}),gq=w(function(e,t){return e<=1?t:$(iP,nO,$(gJ,e,t))}),gX={$:0},gj=x(function(e,t,n,r){return $(iF,r,R(gw,e,t,n))}),gW=I(function(e,t,n,r,a,i){var o=S(gj,t,n,r,a),s=nC(i.cF)>1,u=$(aG,$(aG,{dh:gX,f7:"",bR:!1,aG:!0,dX:"",b7:"",bh:"",b9:""},aL(i.cF)),aL($(iR,function(e){return e.bR},i.cF))),c=function(){var t=$(v6,u.b7,e);if(t.$)return $(f_,q([fB("diva-thumbs-image diva-thumbs-image--protected"),$(fD,"aria-label","Protected image")]),U);var n=t.a;return R(fK,"diva-lazy-image",q([fB("diva-thumbs-lazy-image"),$(fD,"data-src",i.bh),$(fD,"data-fallback-src",i.eI),$(fD,"data-alt","Page "+el(a+1)),$(fD,"data-crossorigin",n)]),U)}(),l=q([fF(q([{a:"diva-thumbs-item",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:o}])),fZ("button"),fN("thumb-"+el(a)),$(fD,"data-thumb-index",el(a)),fj({$:24,a:a})]);return $(fJ,l,q([c,$(f_,q([fF(q([{a:"diva-thumbs-label",b:!0},{a:"is-active",b:o}]))]),q([tl(s?i.dX+" *":i.dX)]))]))}),gZ=w(function(e,t){var n=e.dm,r=e.dh,a=e.R,i=e.b3,o=e.bi,s=e.cd,u=e.g1,c=$(nE,a8,t),l=1===u?$(gq,3,c):c;return $(f_,q([fF(q([{a:"diva-thumbs",b:!0},{a:"is-fullscreen",b:n}])),fN("thumbs"),$(tx,"scroll-behavior",o?"auto":"smooth")]),$(rc,function(e){return L(tw,gW,r,s,i,a,e.a,e.b)},l))}),gY=w(function(e,t){var n=$(aG,0,$(az,lb,t)),r=H(e.H,rm)||H(e.b0,rp)?U:e.ap,a=q([{a:"diva-sidebar-panel",b:!0},{a:"is-fullscreen",b:e.dm},{a:"is-hidden",b:!gu(e.B)},{a:"is-overlay",b:e.bS},{a:"is-mobile-hidden",b:!e.bS}]),i=$(aG,!1,$(az,gs,t)),o=i?q([R(gF,e.B,2,$(f_,q([fB("diva-metadata-panel")]),function(){var t=lG(e);if(t.$)return q([$(f_,q([fB("diva-metadata-body")]),q([tl("No metadata available.")]))]);var n=t.a;return q([$(f_,q([fB("diva-metadata-body")]),G($(gB,e.ey,n),$(gV,e.ey,n)))])}()))]):U,s=i?q([S(g_,e.B,2,"Metadata",gi)]):U,u=$(aG,!1,$(az,$(rW,sd,uB),$(aN,lh,t))),c=u?q([S(g_,e.B,3,"Contents",ga)]):U,l=u?q([R(gF,e.B,3,gO(e))]):U;return $(f_,q([fF(a),$(tx,"width",gu(e.B)?el(e.b4)+"px":"0px")]),q([$(f_,q([fB("diva-sidebar-tabs")]),$(J,S(g_,e.B,1,"Thumbnails",go),G(s,c))),$(f_,q([fB("diva-sidebar-content")]),$(J,R(gF,e.B,1,$(gZ,{dh:e.dh,dm:e.dm,R:e.R,b3:e.b3,bi:e.bi,cd:e.cd,g1:n},r)),G(o,l)))]))}),gK=w(function(e,t){return $(gY,e,nr(t))}),gQ=function(e){return{$:37,a:e}},g0=function(e){return 2!==e.H.$&&H(lG(e),na)?fQ:$(f_,q([fF(q([{a:"diva-sidebar-resizer",b:!0},{a:"is-hidden",b:!gu(e.B)}])),$(fX,"mousedown",$(ex,gQ,$(ep,"clientX",ef)))]),q([tl("⋮")]))},g1={$:17},g2={$:18},g4={$:25},g3={$:26},g6={$:59},g5={$:42},g8={$:47},g7={$:48},g9={$:50},pe=w(function(e,t){return _(n5(t),e)>0?$(n9,e-3,t)+"...":t}),pt=function(e){var t=function(){var t=e.R;if(t.$)return"";var n=t.a;if(!e.cd)return $(aG,"",$(az,function(e){return e.dX},$(cv,n,e.ap)));var r=R(gm,e.cd,e.b3,n),a=$(az,function(e){return e.dX},$(cv,r+1,e.ap)),i={a:$(az,function(e){return e.dX},$(cv,r,e.ap)),b:a};if(i.a.$)return"";var o=i.a.a;return e.b3&&!r||a.$?o:o+" / "+a.a}();return $(pe,140,t)},pn=vW({s:"M48.4 14.8L29.4 .1 0 38 19 52.7 591.5 497.2l19 14.7L639.9 474l-19-14.7L513.7 376c38.8-36.5 62.3-84 62.3-136C576 125.1 461.4 32 320 32c-68.2 0-130.2 21.7-176 57L48.4 14.8zm135 104.8C218.6 95.5 265.3 80 320 80c124.7 0 208 80.5 208 160c0 38.1-19.2 76.5-52.9 106.1L183.4 119.6zM424.1 430.1l-46-36.3c-18.1 4-37.5 6.2-58 6.2c-26.8 0-52.3-3.9-75.7-11l-13.9-4.2-13.9 4.2-57.6 17.3 7-18.5 10.8-28.9-21.8-21.9c-28-28-42.9-61.8-42.9-96.9c0-16.2 3.4-32.4 10-47.9l-39-30.8C70.7 185.6 64 212.2 64 240c0 49.6 21.3 95.1 56.9 130.8l-19.8 52.7L80 480l57.8-17.3 92.6-27.8c27.9 8.5 58.1 13.1 89.6 13.1c37 0 72.3-6.4 104.1-17.9z",t:"0 0 640 512"}),pr=vW({s:"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z",t:"0 0 512 512"}),pa=vW({s:"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z",t:"0 0 576 512"}),pi=vW({s:"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z",t:"0 0 384 512"}),po=vW({s:"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z",t:"0 0 384 512"}),ps=vW({s:"M 283.05 111 C 292.45 101.6 307.65 101.6 316.95 111 C 326.25 120.4 326.35 135.6 316.95 144.9 L 277.95 183.9 L 556.05 183.9 C 569.35 183.9 580.05 194.6 580.05 207.9 C 580.05 221.2 569.35 231.9 556.05 231.9 L 277.95 231.9 L 316.95 270.9 C 326.35 280.3 326.35 295.5 316.95 304.8 C 307.55 314.1 292.35 314.2 283.05 304.8 L 203.05 224.8 C 193.65 215.4 193.65 200.2 203.05 190.9 L 283.05 110.9 L 283.05 111 Z M 392 0 C 422.9 0 448 25.1 448 56 L 448 128 L 400 128 L 400 56 C 400 51.6 396.4 48 392 48 L 88 48 C 65.9 48 48 65.9 48 88 L 48 358.7 C 57.8 354.4 68.6 352 80 352 L 392 352 C 396.4 352 400 348.4 400 344 L 400 288 L 448 288 L 448 344 C 448 366.3 434.9 385.6 416 394.6 L 416 464 L 424 464 C 437.3 464 448 474.7 448 488 C 448 501.3 437.3 512 424 512 L 80 512 C 35.8 512 0 476.2 0 432 C 0 429.3 0.1 426.6 0.4 424 L 0 424 L 0 88 C 0 39.4 39.4 0 88 0 L 392 0 Z M 80 400 C 62.3 400 48 414.3 48 432 C 48 449.7 62.3 464 80 464 L 368 464 L 368 400 L 80 400 Z",t:"0 0 640 512"}),pu=vW({s:"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z",t:"0 0 640 512"}),pc=vW({s:"M112.7 358.8l-10.8 28.9-7 18.5 57.6-17.3 13.9-4.2 13.9 4.2c23.3 7.1 48.8 11 75.7 11c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 35.1 15 68.9 42.9 96.9l21.8 21.9zm-39 103.9L16 480l21.2-56.5 19.8-52.7C21.3 335.1 0 289.6 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-31.5 0-61.7-4.6-89.6-13.1L73.8 462.7zM144 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM400 304v16H272 192 144V304l64-80 22 27.4L296 160 400 304z",t:"0 0 512 512"}),pl={$:39},pd=vW({s:"M224 80V432H464V80H224zM0 32H48 464h48V80 432v48H464 48 0V432 80 32zM64 96v48h96V96H64zm96 96H64v48h96V192zM64 288v48h96V288H64z",t:"0 0 512 512"}),pf=w(function(e,t){return $(f_,q([fF(q([{a:"diva-canvas-label",b:!0},{a:"is-fullscreen",b:e}]))]),q([tl(t)]))}),ph=vW({s:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z",t:"0 0 512 512"}),pv=vW({s:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z",t:"0 0 512 512"}),pb=function(e){var t,n,r=pt(e),a=c7(lG(e));return $(f_,q([fB("diva-canvas-toolbar-stack")]),q([$(f_,q([fB("diva-canvas-toolbar")]),q([$(f_,q([fB("diva-canvas-toolbar-section")]),q([2===e.H.$?v0({eS:e.a3?b5:pd,eY:e.dm,dX:e.a3?"Hide Collection":"Show Collection",d3:nr(pl)}):fQ,v0({eS:pv,eY:e.dm,dX:"Zoom Out",d3:$(b4,a,g3)}),v0({eS:ph,eY:e.dm,dX:"Zoom In",d3:$(b4,a,g4)})])),$(f_,q([fB("diva-canvas-toolbar-end")]),q([R(tb,pf,e.dm,r),$(f_,q([fB("diva-canvas-toolbar-section is-right")]),G($(rc,function(e){var n=$(aG,"Log out",$(az,cA(t.ey),e.dX)),r=e.aw.$?n:n+" (popup blocked)";return $(f_,q([fB("diva-canvas-toolbar-item"),$(fD,"data-tooltip",r)]),q([$(fJ,q([fB("diva-canvas-toolbar-button"),fZ("button"),$(fD,"aria-label",r),$(fD,"data-diva-auth-logout",e.fu),$(fD,"data-diva-auth-url",e.aM)]),q([pu]))]))},$(rc,function(e){return{aw:e.aw,dX:e.a9.dX,fu:e.f7,aM:e.a9.f7}},fh((t=e).dh.ag))),G(e.bK?q([v0({eS:e.df?pn:pc,eY:e.dm,dX:e.df?"Hide Annotations":"Show Annotations",d3:nr(g6)})]):U,q([v0({eS:pi,eY:e.dm,dX:"Page View",d3:$(b4,a,g2)}),v0({eS:pr,eY:e.dm,dX:"Manifest Info",d3:$(b4,a,g1)}),v0({eS:e.cd?po:pa,eY:e.dm,dX:e.cd?"One Page":"Two Page",d3:$(b4,a,g9)}),v0({eS:e.b3?ps:pu,eY:e.dm,dX:"Shift Pages",d3:$(b4,a||!e.cd,g8)}),v0({eS:(n=e.dp?e.bS:!!e.B)?b5:ge,eY:e.dm,dX:n?"Hide Sidebar":"Show Sidebar",d3:$(b4,a,g7)}),$(vQ,q([$(fD,"data-diva-action","fullscreen")]),{eS:e.dm?b6:gt,eY:e.dm,dX:e.dm?"Exit Full":"Fullscreen",d3:nr(g5)})]))))]))]))]))},pg=function(e){var t=e.H;switch(t.$){case 1:return e.eO?na:nr({a:"Unable to display manifest",b:"No canvases found in this manifest.",c:!1});case 2:var n=e.b0;if(3===n.$){var r=n.a;return nr({a:"Unable to load manifest",b:r,c:!0})}return e.eO?na:nr({a:"No Manifest Selected",b:"Select a manifest from the collection to view.",c:!1});case 3:var r=t.a;return nr({a:"Unable to load manifest",b:r,c:!0});default:return na}},pp=function(e){var t={a:e.$7,b:e.dO};if(t.a.$||t.b.$)return na;var n=t.a.a,r=t.b.a;return n>0?nr(el(K(r/n*100))+"%"):na},pm={Main:{init:tq({f9:function(e){var t=rg(e.ej),n=sL(e._),r=e.ec?n:0,a=e.d1;return{a:{av:e.av,a1:rI,ci:e.ci,dd:rI,aC:rI,df:e.bK,dh:rE,co:na,a3:!0,dL:400,dN:0,dO:na,ey:t,dj:e.dj,bK:e.bK,ct:rI,eJ:sP,bN:na,cu:"",dm:!1,eO:!1,cG:e.cG,dW:!1,$7:na,dp:!1,X:!1,dZ:!1,ba:a,bS:!1,ds:!1,aJ:0,cP:!1,dt:!0,ap:U,bd:na,cQ:na,fg:rI,H:rm,b0:rp,dw:e.dw,R:na,ea:na,b3:!1,dB:e.dB,cX:na,_:n,B:r,b4:R(rx,220,520,e.b4),bi:!1,cd:0},b:eQ(q([R(sM,rw,e.av,a),$(rb,function(e){return ry(K(e.fH.dI))},rA)]))}},gP:function(e){return eQ(q([uA(function(e){return sk($(sU,e.fl,e.b7))}),uE(function(e){return $(s_,e.fl,e.aM)}),s9(sF),uI($(rW,sO,sk)),s2(function(e){return sk(R(sG,e.f7,e.dE,e.eq))}),s1(function(e){return sk($(sz,e.f7,e.ac))}),s6(function(e){return sk(R(sD,e.dl,e.dr,e.fG))}),s8(function(e){return sk(R(sq,e.dl,e.dr,e.fG))}),s5(function(e){return sk($(sJ,e.dl,e.ac))}),s3(uC),s4(ut),s0(function(e){return sk(sN)}),uy(sV),ux(sB),s7(sH),uS(sX),u$(sQ),uR(sK),R(up,1,"resize",$(ep,"target",R(eC,w(function(e,t){return ry(e)}),$(ep,"innerWidth",ef),$(ep,"innerHeight",ef)))),e.cX.$?un:eQ(q([um($(ex,sW,$(ep,"clientX",ef))),uw(n1(sY))])),e.co.$?un:eQ(q([um($(ex,sj,$(ep,"clientX",ef))),uw(n1(sZ))]))]))},g$:fH,g0:function(e){var t,n,r,a,i=pg(e);return $(f_,q([fN(e.dw)]),q([$(f_,q([fF(q([{a:"diva-app",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([S(tg,v4,e.dB,e.dm,$(aG,"",$(az,function(e){return $(cA,r.ey,fz(e))},lG(r=e)))),$(f_,q([fB("diva-app-header")]),q([pb(e)])),$(f_,q([fF(q([{a:"diva-app-body",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([hi(e),2!==(t=e).H.$?fQ:$(f_,q([fF(q([{a:"diva-collection-resizer",b:!0},{a:"is-hidden",b:!t.a3}])),$(fX,"mousedown",$(ex,f5,$(ep,"clientX",ef)))]),q([tl("⋮")])),$(f_,q([fF(q([{a:"diva-canvas-column",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([P(tm,f6,e.dm,e.X||H(e.H,rm)||H(e.b0,rp),2===e.H.$&&e.a3,i,pp(e))])),g0(e),2===e.H.$?$(gY,e,lG(e)):$(f1,gK(e),lG(e))])),$(f_,q([fB("diva-required-statement-dock")]),q([$(f1,tv(gr),$(az,function(e){return $(cA,a.ey,e.fG)},$(aN,fG,lG(a=e))))])),(n=e).cP?$(f_,q([fF(q([{a:"diva-modal-overlay",b:!0},{a:"is-fullscreen",b:n.ds}]))]),q([$(f_,q([fF(q([{a:"diva-modal",b:!0},{a:"is-fullscreen",b:n.ds},{a:"is-page-view",b:!n.ds}]))]),q([gn(n),bW(n)]))])):fQ,e.dZ?$(f_,q([fB("diva-modal-overlay")]),q([$(f_,q([fB("diva-modal is-narrow")]),q([v1(e),$(v_,e,lG(e))]))])):fQ,$(f1,fY(e),e.dh.ah)]))]))}})($(ey,function(e){return $(ey,function(t){return $(ey,function(n){return $(ey,function(r){return $(ey,function(a){return $(ey,function(i){return $(ey,function(o){return $(ey,function(s){return $(ey,function(u){return $(ey,function(c){return $(ey,function(l){return $(ey,function(d){return n1({av:d,ci:l,dj:c,bK:u,cG:s,d1:o,dw:i,ec:a,dB:r,_:n,b4:t,ej:e})},$(ep,"acceptHeaders",ac(eg)))},$(ep,"annotationServer",al(q([sT(na),$(ex,nr,eg)]))))},$(ep,"enableAnnotationSelection",eh))},$(ep,"enableAnnotations",eh))},$(ep,"initialPage",eb))},$(ep,"objectData",eg))},$(ep,"rootElementId",eg))},$(ep,"showSidebar",eh))},$(ep,"showTitle",eh))},$(ep,"sidebarPanel",eg))},$(ep,"sidebarWidth",ef))},$(ep,"userLanguage",eg)))(0)}},pw=/\/info\.json(?:[?#].*)?$/,py=()=>new DOMException("The operation was cancelled.","AbortError"),px=e=>"string"==typeof e?e:{...e},pC=class{resolve(e,t){if(this.destroyed||t.aborted)return Promise.reject(py());let n=JSON.stringify([e.url,e.isStatic]),r=this.resolutionCache.get(e.sourceId);if(r&&r.descriptorKey!==n)this.invalidateSource(e.sourceId);else if(r){let e=r.resolutions.get(r.activeState);if(void 0!==e)return Promise.resolve(px(e))}let a=this.inflight.get(e.sourceId);return a&&a.descriptorKey!==n&&(this.invalidateSource(e.sourceId),a=void 0),a||(a=this.startResolution(e,n)),this.consume(a,t)}registerSources(e){Array.from(this.inflight.values()).forEach(e=>this.cancelResolution(e)),this.resolutionCache.clear(),this.cancelBrowserWork()}invalidateSources(e){e.forEach(e=>this.invalidateSource(e))}useNonCorsStaticSource(e){let t=this.resolutionCache.get(e),n=null==t?void 0:t.resolutions.get("anonymous");t&&n&&"object"==typeof n&&"image"===n.type&&(t.resolutions.set("anonymous",v(n)),t.activeState="anonymous")}destroy(){this.destroyed||(this.destroyed=!0,this.root.removeEventListener("click",this.clickHandler,!0),this.ports.authDestroyed.send(null),this.cancelBrowserWork(),this.pending.forEach(e=>e.reject(new DOMException("The viewer was destroyed.","AbortError"))),this.pending.clear(),this.inflight.clear(),this.resolutionCache.clear())}cancelBrowserWork(){this.requests.forEach(e=>e.abort()),this.requests.clear(),Array.from(this.frames.keys()).forEach(e=>this.cancelFrame(e)),this.closePopups(this.popups),this.closePopups(this.logoutPopups)}closePopups(e){e.forEach(e=>{clearInterval(e.timer),e.window.close()}),e.clear()}succeed(e){let t,n=this.pending.get(e.requestId);if(!n||this.destroyed)return;this.pending.delete(e.requestId);let r=this.inflight.get(n.sourceId);(null==r?void 0:r.requestId)===e.requestId&&this.inflight.delete(n.sourceId);let a=e.credentialed?"use-credentials":"Anonymous";if(e.infoJson&&"object"==typeof e.infoJson&&!e.isStatic)t={...(e=>{let t={...e};for(let e of["id","@id"]){let n=t[e];"string"==typeof n&&pw.test(n)&&(t[e]=n.replace(pw,""))}return t})(e.infoJson),crossOriginPolicy:a,ajaxWithCredentials:e.credentialed};else if(e.isStatic){let n=!e.credentialed&&"none"===this.staticImageCorsPolicy;t=h(e.url,e.credentialed,n)}else t=e.credentialed?{url:e.url,crossOriginPolicy:a,ajaxWithCredentials:!0}:e.url;let i=e.credentialed?"credentialed":"anonymous",o=this.resolutionCache.get(n.sourceId),s=(null==o?void 0:o.descriptorKey)===n.descriptorKey?o.resolutions:new Map;s.set(i,t),this.resolutionCache.set(n.sourceId,{descriptorKey:n.descriptorKey,activeState:i,resolutions:s}),n.resolve(t)}fail(e,t){let n=this.pending.get(e);if(!n)return;this.pending.delete(e);let r=this.inflight.get(n.sourceId);(null==r?void 0:r.requestId)===e&&this.inflight.delete(n.sourceId),n.reject(Error(t))}startResolution(e,t){let n,r,a=`tile-source-${this.nextRequest+=1}`,i={requestId:a,descriptorKey:t,promise:new Promise((e,t)=>{n=e,r=t}),consumers:new Set};return this.pending.set(a,{sourceId:e.sourceId,descriptorKey:t,resolve:n,reject:r}),this.inflight.set(e.sourceId,i),this.ports.resolveTileSourceRequested.send({requestId:a,sourceId:e.sourceId}),i}consume(e,t){let n=this.nextConsumer+=1;return e.consumers.add(n),new Promise((r,a)=>{let i=!1,o=()=>{t.removeEventListener("abort",s),e.consumers.delete(n)},s=()=>{i||(i=!0,o(),a(py()),0===e.consumers.size&&this.cancelResolution(e))};t.addEventListener("abort",s,{once:!0}),e.promise.then(e=>{i||(i=!0,o(),r(px(e)))},e=>{i||(i=!0,o(),a(e))})})}cancelResolution(e){var t;let n=this.pending.get(e.requestId);n&&(this.pending.delete(e.requestId),(null==(t=this.inflight.get(n.sourceId))?void 0:t.requestId)===e.requestId&&this.inflight.delete(n.sourceId),this.ports.resolveTileSourceCancelled.send(e.requestId),n.reject(py()))}invalidateSource(e){this.resolutionCache.delete(e);let t=this.inflight.get(e);t&&this.cancelResolution(t)}async fetch(e){let t=new AbortController;this.requests.set(e.id,t);try{let n=await fetch(e.url,{mode:"cors",credentials:e.withCredentials?"include":"omit",signal:t.signal,headers:e.bearer?{Authorization:`Bearer ${e.bearer}`}:void 0}),r=await n.text();this.destroyed||this.ports.authHttpResponded.send({id:e.id,status:n.status,body:r})}catch(n){t.signal.aborted||this.destroyed||this.ports.authHttpFailed.send({id:e.id,message:n instanceof Error?n.message:"Authorization request failed."})}finally{this.requests.delete(e.id)}}cancelFetch(e){var t;null==(t=this.requests.get(e))||t.abort(),this.requests.delete(e)}storage(e){let t="diva:iiif-auth2:"+encodeURIComponent(e.key);try{if("write"===e.action)return void sessionStorage.setItem(t,JSON.stringify({accessToken:e.accessToken,expiresAt:e.expiresAt}));if("remove"===e.action)return void sessionStorage.removeItem(t);let n=sessionStorage.getItem(t);this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:n?JSON.parse(n):null})}catch(t){"read"===e.action&&this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:null})}}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest("button[data-diva-auth-logout][data-diva-auth-url]");if(n&&this.root.contains(n)){e.preventDefault(),e.stopPropagation(),this.startLogout(n);return}let r=t.closest("button[data-diva-auth-flow][data-diva-auth-url]");if(!r||!this.root.contains(r))return;e.preventDefault(),e.stopPropagation();let a=r.dataset.divaAuthFlow,i=new URL(r.dataset.divaAuthUrl,location.href);i.searchParams.set("origin",location.origin);let o=window.open(i.href,"_blank");if(!o)return void this.ports.authPopupChanged.send({flowId:a,status:"blocked"});this.ports.authPopupChanged.send({flowId:a,status:"opened"});let s=Date.now(),u=window.setInterval(()=>{o.closed?(clearInterval(u),this.popups.delete(a),this.ports.authPopupChanged.send({flowId:a,status:"closed"})):Date.now()-s>6e5&&(o.close(),clearInterval(u),this.popups.delete(a),this.ports.authTokenFailed.send({flowId:a,message:"Sign-in timed out."}))},250);this.popups.set(a,{window:o,timer:u})}startLogout(e){let t=e.dataset.divaAuthLogout,n=new URL(e.dataset.divaAuthUrl,location.href),r=window.open(n.href,"_blank");if(!r)return void this.ports.authLogoutChanged.send({sessionId:t,status:"blocked"});this.ports.authLogoutChanged.send({sessionId:t,status:"opened"});let a=window.setInterval(()=>{r.closed&&(clearInterval(a),this.logoutPopups.delete(t),this.ports.authLogoutChanged.send({sessionId:t,status:"closed"}))},250);this.logoutPopups.set(t,{window:r,timer:a})}startFrame(e){this.cancelFrame(e.flowId);let t=new URL(e.url,location.href);t.searchParams.set("messageId",e.messageId),t.searchParams.set("origin",location.origin);let n=document.createElement("iframe");n.hidden=!0,n.src=t.href;let r=r=>{r.source===n.contentWindow&&r.origin===t.origin&&r.data&&"object"==typeof r.data&&r.data.messageId===e.messageId&&this.ports.authTokenMessage.send({flowId:e.flowId,now:Date.now(),value:r.data})};window.addEventListener("message",r);let a=window.setTimeout(()=>{this.cancelFrame(e.flowId),this.ports.authTokenFailed.send({flowId:e.flowId,message:"The token service did not respond."})},3e4);this.frames.set(e.flowId,{element:n,timeout:a,receive:r}),document.body.append(n)}cancelFrame(e){let t=this.frames.get(e);t&&(clearTimeout(t.timeout),window.removeEventListener("message",t.receive),t.element.remove(),this.frames.delete(e))}constructor(e,t,n="required"){this.pending=new Map,this.inflight=new Map,this.resolutionCache=new Map,this.requests=new Map,this.frames=new Map,this.popups=new Map,this.logoutPopups=new Map,this.nextRequest=0,this.nextConsumer=0,this.destroyed=!1,this.ports=e,this.root=t,this.staticImageCorsPolicy=n,this.clickHandler=this.handleClick.bind(this),t.addEventListener("click",this.clickHandler,!0),e.tileSourceResolutionSucceeded.subscribe(e=>this.succeed(e)),e.tileSourceResolutionFailed.subscribe(e=>this.fail(e.requestId,e.message)),e.authHttpRequested.subscribe(e=>void this.fetch(e)),e.authHttpCancelled.subscribe(e=>this.cancelFetch(e)),e.authStorageRequested.subscribe(e=>this.storage(e)),e.authTokenFrameRequested.subscribe(e=>this.startFrame(e)),e.authTokenFrameCancelled.subscribe(e=>this.cancelFrame(e))}};function pI(e,t){if(!e)throw Error("A viewer must be specified.");e.filterPluginInstance?pE(e.filterPluginInstance,t||{}):e.filterPluginInstance=function(e,t){let n={viewer:e,filters:[],filterIncrement:0};function r(e,t,r){if(r){let a=n.filterIncrement,i=[];for(let r=0;r{n.filterIncrement===a&&t[r+1](e,i[r+1])};i[t.length-1]=()=>{n.filterIncrement===a&&r()},t[0](e,i[0])}else for(let n=0;n{})}return n.viewer.addHandler("tile-loaded",function(e){let t=pR(n,e.tiledImage);if(0===t.length)return;let a=e.tile,i=e.data||e.image;if(null!=i){let o=window.document.createElement("canvas");o.width=i.width,o.height=i.height;let s=o.getContext("2d",{willReadFrequently:!0});s.drawImage(i,0,0),a._renderedContext=s,r(s,t,e.getCompletionCallback()),a._filterIncrement=n.filterIncrement}}),n.viewer.addHandler("tile-drawing",function(e){let t=e.tile,a=e.rendered;if(a._filterIncrement===n.filterIncrement)return;let i=pR(n,e.tiledImage);if(0===i.length){a._originalImageData&&(a.putImageData(a._originalImageData,0,0),delete a._originalImageData),a._filterIncrement=n.filterIncrement;return}if(a._originalImageData?a.putImageData(a._originalImageData,0,0):a._originalImageData=pA(a),t._renderedContext){if(t._filterIncrement===n.filterIncrement){let e=pA(t._renderedContext);a.putImageData(e,0,0),delete t._renderedContext,delete t._filterIncrement,a._filterIncrement=n.filterIncrement;return}delete t._renderedContext,delete t._filterIncrement}r(a,i),a._filterIncrement=n.filterIncrement}),pE(n,t),n}(e,t||{})}function pA(e){let t=e.canvas.width,n=e.canvas.height,r=p0._ensureScratchContext(t,n);return r.clearRect(0,0,t,n),r.drawImage(e.canvas,0,0),r.getImageData(0,0,t,n)}function pE(e,t){let n=t.filters;e.filters=n?Array.isArray(n)?n:[n]:[];for(let t=0;t=0)throw Error("An item can not have filters assigned multiple times.");t.push(e)}function pR(e,t){if(0===e.filters.length)return[];let n=null;for(let r=0;r=0)return a.processors}else n=a.processors}return n||[]}var pS=(e,t)=>{let n=e[0],r=e[e.length-1];for(let a=0;a=t){r=e[a],n=e[Math.max(0,a-1)];break}if(r.stop===n.stop)return r.color.slice();let a=(t-n.stop)/(r.stop-n.stop);return[Math.round(n.color[0]+(r.color[0]-n.color[0])*a),Math.round(n.color[1]+(r.color[1]-n.color[1])*a),Math.round(n.color[2]+(r.color[2]-n.color[2])*a)]},pM=e=>{let t=[];for(let n=0;n<256;n+=1){let r=n/255;t[n]=pS(e,r)}return t},pP=new Map,pL=e=>e<0?0:e>255?255:e,pT=e=>e<0?0:e>1?1:e,pk=e=>{if(!e)return null;let t=e.trim();if(t.startsWith("#")&&(t=t.slice(1)),3===t.length&&(t=t.split("").map(e=>e+e).join("")),6!==t.length)return null;let n=parseInt(t,16);return Number.isNaN(n)?null:[n>>16&255,n>>8&255,255&n]},pO=(e,t,n,r,a)=>{let i=new Uint8ClampedArray(e.length);if(!r)return i.set(e),i;let o=1/(2*r+1);if(a){let a=new Uint8ClampedArray(t*n);for(let i=0;i>8;return a}function pB(e,t){let n=e.canvas.width,r=e.canvas.height,a=p0._ensureScratchContext(n,r);a.clearRect(0,0,n,r),a.drawImage(e.canvas,0,0);let i=a.getImageData(0,0,n,r);t(i)&&(a.putImageData(i,0,0),e.clearRect(0,0,n,r),e.drawImage(p0._scratchCanvas,0,0))}function pF(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function p_(e){let t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function pN(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function pz(e,t){let n=p_([1,1,1]);for(let r=0;r{t()};function pq(e,t,n){let r=e/255,a=t/255,i=n/255,o=Math.max(r,a,i),s=Math.min(r,a,i),u=o-s,c=0;if(o!==s){switch(o){case r:c=(a-i)/u+6*(a{i[0]=t[e],i[1]=n,i[2]=r,i[3]=a}):1===e?pH((e,n,r,a,i)=>{i[0]=e,i[1]=t[n],i[2]=r,i[3]=a}):pH((e,n,r,a,i)=>{i[0]=e,i[1]=n,i[2]=t[r],i[3]=a})}function pW(e,t){let n=t/100,r=Math.abs(n),a=e=>n>0?e+(255-e)*n:e-e*r;return 0===e?pH((e,t,n,r,i)=>{i[0]=a(e),i[1]=t,i[2]=n,i[3]=r}):1===e?pH((e,t,n,r,i)=>{i[0]=e,i[1]=a(t),i[2]=n,i[3]=r}):pH((e,t,n,r,i)=>{i[0]=e,i[1]=t,i[2]=a(n),i[3]=r})}function pZ(e,t){let n=Math.max(0,Math.min(100,t||0));if(0===n)return pJ;let r=1-n/100*.8,a=[];for(let e=0;e<256;e+=1)a[e]=pL(255*Math.pow(e/255,r));return pj(e,a)}function pY(e,t){let n=Math.max(0,Math.min(100,t||0))/100;if(0===n)return pJ;let r=[];for(let e=0;e<256;e+=1){let t=255*(1/(1+Math.exp(-8*(e/255-.5))));r[e]=pL(e+(t-e)*n)}return pj(e,r)}function pK(e,t,n){let r=Math.max(-100,Math.min(100,t||0))/100;if(0===r)return pJ;let a=Math.max(.02,Math.min(.3,(void 0===n?8:n)/100));return pH((t,n,i,o,s)=>{let u=pq(t,n,i),c=pT(1-(0===e?Math.min(Math.abs(u.h),Math.abs(1-u.h)):Math.abs(u.h-e))/a)*Math.abs(r);if(c<=0){s[0]=t,s[1]=n,s[2]=i,s[3]=o;return}let l=r>=0?1:-1,d=pT(u.s+l*(1-u.s)*c),f=pT(u.v+l*u.v*c*.2),h=pX(u.h,d,f);s[0]=h.r,s[1]=h.g,s[2]=h.b,s[3]=o})}function pQ(e,t){let n=Math.max(0,Math.min(100,t||0))/100;if(0===n)return pJ;let r=[];for(let e=0;e<256;e+=1){let t=e/255*(e/255)*n;r[e]=pL(e+(255-e)*t)}return pj(e,r)}var p0={_scratch:null,_scratchCanvas:null,_scratchContext:null,_ensureScratch:function(e){return(!this._scratch||this._scratch.length255)throw Error("Threshold must be between 0 and 255.");return pH((t,n,r,a,i)=>{let o=255*(54*t+183*n+19*r>>8>=e);i[0]=o,i[1]=o,i[2]=o,i[3]=255})},SATURATION:function(e){let t=-.01*e;return pH((e,n,r,a,i)=>{let o=Math.max(e,n,r);i[0]=e!==o?e+(o-e)*t:e,i[1]=n!==o?n+(o-n)*t:n,i[2]=r!==o?r+(o-r)*t:r,i[3]=a})},VIBRANCE:function(e){let t=-1*e;return pH((e,n,r,a,i)=>{let o=Math.max(e,n,r),s=2*Math.abs(o-(e+n+r)/3)/255*t/100;i[0]=e!==o?e+(o-e)*s:e,i[1]=n!==o?n+(o-n)*s:n,i[2]=r!==o?r+(o-r)*s:r,i[3]=a})},HUE:function(e){let t=pU(Math.abs(e)/100*360);return pH((e,n,r,a,i)=>{i[0]=pL(t.m00*e+t.m01*n+t.m02*r),i[1]=pL(t.m10*e+t.m11*n+t.m12*r),i[2]=pL(t.m20*e+t.m21*n+t.m22*r),i[3]=a})},BRIGHTNESS:function(e){if(e<-255||e>255)throw Error("Brightness adjustment must be between -255 and 255.");let t=[];for(let n=0;n<256;n+=1)t[n]=n+e;return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},CC_RED:function(e){return pW(0,e)},CC_GREEN:function(e){return pW(1,e)},CC_BLUE:function(e){return pW(2,e)},CONTRAST:function(e){if(e<0)throw Error("Contrast adjustment must be positive.");let t=[];for(let n=0;n<256;n+=1)t[n]=n*e;return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},GAMMA:function(e){if(e<0)throw Error("Gamma adjustment must be positive.");let t=[];for(let n=0;n<256;n+=1)t[n]=255*Math.pow(n/255,e);return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},GREYSCALE:function(){return pH((e,t,n,r,a)=>{let i=77*e+150*t+29*n>>8;a[0]=i,a[1]=i,a[2]=i,a[3]=255})},INVERT:function(){let e=[];for(let t=0;t<256;t+=1)e[t]=255-t;return pH((t,n,r,a,i)=>{i[0]=e[t],i[1]=e[n],i[2]=e[r],i[3]=a})},MORPHOLOGICAL_OPERATION:function(e,t){if(e%2==0)throw Error("The kernel size must be an odd number.");let n=Math.floor(e/2);if(!t)throw Error("A comparator must be defined.");return function(r,a){pB(r,r=>{let a=r.width,i=r.height,o=p0._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,n,r,a,i,o){let s=4*n,u=r-i,c=n-i;for(let n=i;n=i&&l=i&&u=r)continue;let d=c*s;for(let t=0;t=0&&r{let a=r.width,i=r.height,o=p0._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,n,r,a,i,o){let s=4*n,u=r-o,c=n-o;for(let n=o;n=o&&l=o&&u=r)continue;let d=c*s;for(let r=0;r=0&&st?0|Math.min((a-t)/r*128+128,255):0|Math.max(0,a/(t/128)),n[a]=e[i]}return pH((e,t,r,a,i)=>{let o=n[(e+t+r)/3|0];i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=255})},COLORMAP_PRESET:function(e){var t=e||"";let n=pP.get(t);if(n)return n;let r=null;switch(t){case"hot":r=pM([{stop:0,color:[0,0,0]},{stop:.4,color:[255,0,0]},{stop:.7,color:[255,255,0]},{stop:1,color:[255,255,255]}]);break;case"cool":r=pM([{stop:0,color:[0,0,0]},{stop:.5,color:[0,128,255]},{stop:1,color:[255,255,255]}]);break;case"gray":case"":r=pM([{stop:0,color:[0,0,0]},{stop:1,color:[255,255,255]}]);break;default:return null}return pP.set(t,r),r},CONVOLUTION_PRESET:function(e){switch((e||"").toLowerCase()){case"sharpen":return[0,-1,0,-1,5,-1,0,-1,0];case"blur":return[1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9];case"edge":return[-1,-1,-1,-1,8,-1,-1,-1,-1];case"emboss":return[-2,-1,0,-1,1,1,0,1,2];default:return null}},PSEUDOCOLOR:function(e,t,n,r){let a=(e||"").toLowerCase(),i=void 0===t?1:t,o=void 0===n?1:n,s=void 0===r?1:r,u=(e,t,n,r)=>{r[0]=pL(e*i),r[1]=pL(t*o),r[2]=pL(n*s)};return pH((e,t,n,r,i)=>{let o=.2126*e+.7152*t+.0722*n;switch(a){case"rg":{let n=pL(128+(e-t));u(n,255-n,(e+t)/2,i),i[3]=r;return}case"gb":{let e=pL(128+(t-n));u((t+n)/2,e,255-e,i),i[3]=r;return}case"rb":{let t=pL(128+(e-n));u(t,(e+n)/2,255-t,i),i[3]=r;return}case"luma":{let e=pL(o);u(e,255-e,e,i),i[3]=r;return}case"cmy":u(255-e,255-t,255-n,i),i[3]=r;return;case"heat":{let e=pL(o)/255;u(pL(255*Math.min(1,3*e)),pL(255*Math.min(1,Math.max(0,(e-.33)*3))),pL(255*Math.min(1,Math.max(0,(e-.66)*3))),i),i[3]=r;return}case"pca1":{let a=pL(.6*e+.3*t+.1*n);u(a,255-a,a,i),i[3]=r;return}case"pca2":{let a=pL(.5*e-.2*t-.3*n+128);u(a,255-a,255-a,i),i[3]=r;return}case"pca3":{let a=pL(.2*e+.6*t-.8*n+128);u(255-a,a,255-a,i),i[3]=r;return}default:u(e,t,n,i),i[3]=r}})},COLOR_REPLACE:function(e,t,n,r,a){let i=pk(e),o=pk(t);if(!i||!o)return pJ;let s=Math.max(0,Math.min(255,void 0===n?0:n)),u=Math.max(0,Math.min(1,void 0===r?1:r)),c=pq(o[0],o[1],o[2]);return pH((e,t,n,r,l)=>{let d,f=e-i[0],h=t-i[1],v=n-i[2],b=Math.sqrt(f*f+h*h+v*v);if((d=(s<=0?+(0===b):1-Math.min(1,b/s))*u)<=0){l[0]=e,l[1]=t,l[2]=n,l[3]=r;return}let g=o[0],p=o[1],m=o[2];if(a){let r=(.2126*e+.7152*t+.0722*n)/255,a=pX(c.h,c.s,r);g=a.r,p=a.g,m=a.b}l[0]=pL(e+(g-e)*d),l[1]=pL(t+(p-t)*d),l[2]=pL(n+(m-n)*d),l[3]=r})},ALT_RED_GAMMA:function(e){return pZ(0,e)},ALT_GREEN_GAMMA:function(e){return pZ(1,e)},ALT_BLUE_GAMMA:function(e){return pZ(2,e)},ALT_RED_SIGMOID:function(e){return pY(0,e)},ALT_GREEN_SIGMOID:function(e){return pY(1,e)},ALT_BLUE_SIGMOID:function(e){return pY(2,e)},ALT_RED_HUE:function(e,t){return pK(0,e,t)},ALT_GREEN_HUE:function(e,t){return pK(1/3,e,t)},ALT_BLUE_HUE:function(e,t){return pK(2/3,e,t)},ALT_RED_VIBRANCE:function(e){return pQ(0,e)},ALT_GREEN_VIBRANCE:function(e){return pQ(1,e)},ALT_BLUE_VIBRANCE:function(e){return pQ(2,e)},GLOBAL_PCA_COLOR:function(e,t){let n=(e||"").toLowerCase(),r=Math.max(-180,Math.min(180,null!=t?t:0)),a={count:0,mean:[0,0,0],m2:[[0,0,0],[0,0,0],[0,0,0]]},i=null;return function(e,t){pB(e,e=>{let t=e.data;return!i&&(!function(e,t){for(let n=0;n=2e3&&(i=function(e){if(e.count<2)return null;let t=1/(e.count-1),n=[[e.m2[0][0]*t,e.m2[0][1]*t,e.m2[0][2]*t],[e.m2[1][0]*t,e.m2[1][1]*t,e.m2[1][2]*t],[e.m2[2][0]*t,e.m2[2][1]*t,e.m2[2][2]*t]];return pG(e.mean,n)}(a))),i?!function(e,t,n,r){let a=e.data,i=n.mean,o=n.vectors[0],s=n.vectors[1],u=n.vectors[2],c=Math.sqrt(Math.max(1e-6,n.values[0])),l=Math.sqrt(Math.max(1e-6,n.values[1])),d=Math.sqrt(Math.max(1e-6,n.values[2])),f=(e,t)=>pL(128+e/(3*t)*127);for(let e=0;el&&(l=b),gf&&(f=g),pv&&(v=p)}let b=l-c||1,g=f-d||1,p=v-h||1,m=(e,t,n)=>pL((e-t)/n*255);for(let e=0;e{let n=e.width,r=e.height;if(!n||!r)return!1;let a=e.data,i=pV(a,n,r),o=pO(i,n,r,6,!0);for(let e=0,n=0;e{let n=e.width,r=e.height;if(!n||!r)return!1;let a=pO(e.data,n,r,2),i=e.data;for(let e=0;e{let t=e.width,a=e.height;if(!t||!a)return!1;let i=e.data,o=pV(i,t,a),s=pO(o,t,a,Math.floor(n/2),!0);for(let e=0,t=0;es[t]+r);i[e]=n,i[e+1]=n,i[e+2]=n}return!0}),t()}}},p1="diva-inline-styles";(e=>{if("u":first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-filter-access-warning{color:var(--diva-danger);background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);margin:0 0 12px;padding:8px;line-height:1.4}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background-color,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{width:100%;height:auto}}");var p2=e=>JSON.parse(JSON.stringify(e)),p4=e=>"string"==typeof e?e:Array.isArray(e)?e.length>0?p4(e[0]):"":e&&"object"==typeof e?"string"==typeof e.value?e.value:"string"==typeof e.chars?e.chars:"":"",p3=e=>{var t;return e&&"object"==typeof e?("string"==typeof e.type?e.type.toLowerCase():"string"==typeof e["@type"]?e["@type"].toLowerCase():"").includes("svgselector")&&"string"==typeof e.value?{kind:"svg",value:e.value}:"string"==typeof e.value?p6(e.value):null!=(t=p3(e.default))?t:p3(e.item):void 0},p6=e=>{let t=(e.startsWith("xywh=")?e.slice(5):e).split(",").map(Number);return 4===t.length&&t.every(Number.isFinite)&&t[2]>0&&t[3]>0?{kind:"rect",x:t[0],y:t[1],width:t[2],height:t[3]}:void 0},p5=(e,t=null)=>{var n,r;let a,i;if(!e||"object"!=typeof e||"string"!=typeof e.id||0===e.id.length)throw TypeError("An annotation must be an object with a non-empty string id.");let o=null!=(n=e.target)?n:e.on;if("string"==typeof o){let e=o.match(/^(.*)#xywh=(.+)$/);a=null==e?void 0:e[1],i=e?p6(e[2]):void 0}else o&&"object"==typeof o&&(a="string"==typeof o.source?o.source:void 0,i=p3(o.selector));if(!a||!i)throw TypeError("An annotation target must identify a Canvas and use a supported xywh or SVG selector.");let s=p4(null!=(r=e.body)?r:e.resource);return{canvasId:a,publicAnnotation:p2(e),viewerAnnotation:{id:e.id,text:s.replace(/<[^>]*>/g,""),html:s,imageService:t,shape:i}}},p8=class extends EventTarget{detectLanguage(){return navigator.language.split("-")[0]}initialPageFlag(e){return"number"==typeof e?Number.isInteger(e)&&e>=0?e:null:e&&"object"==typeof e&&("canvasId"===e.by||"label"===e.by)&&"string"==typeof e.value?{by:e.by,value:e.value}:null}getConnectedRoot(){let e=document.getElementById(this.rootId);return e||this.root}bindPorts(){this.getPort("tileSourcesUpdated").subscribe(e=>{this.annotationResourceId!==e.resourceId&&(this.annotationResourceId=e.resourceId,this.manifestAnnotationsByCanvas.clear(),this.apiAnnotationsByCanvas.clear(),this.clearedAnnotationCanvases.clear(),this.annotationImageServicesByCanvas.clear()),e.tileSources.forEach(e=>{e.canvasId&&this.annotationImageServicesByCanvas.set(e.canvasId,e.isStatic?null:e.url)}),this.auth.registerSources(e.tileSources),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setTileSources",e.tileSources,e.initialPageIndex,e.resourceId)}),this.getPort("annotationsUpdated").subscribe(e=>{this.manifestAnnotationsByCanvas.set(e.canvasId,e.annotations.map(t=>{var n,r,a,i;return{canvasId:e.canvasId,publicAnnotation:(r=e.canvasId,{id:t.id,type:"Annotation",body:{type:"TextualBody",value:null!=(a=t.html)?a:t.text},target:"rect"===t.shape.kind?{type:"SpecificResource",source:r,selector:{type:"FragmentSelector",value:`xywh=${t.shape.x},${t.shape.y},${t.shape.width},${t.shape.height}`}}:{type:"SpecificResource",source:r,selector:{type:"SvgSelector",value:null!=(i=t.shape.value)?i:""}}}),viewerAnnotation:{...t,imageService:null!=(n=t.imageService)?n:null}}})),this.applyAnnotationsForCanvas(e.canvasId)}),this.getPort("annotationsVisibilityUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setAnnotationsVisible",e)}),this.getPort("pageAspectsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageAspects",e)}),this.getPort("pageLabelsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageLabels",e)}),this.getPort("pagesUpdated").subscribe(e=>{this.pages=e.map(e=>this.copyPage(e)),this.rebuildPageIndexes(),this.updateState({pageCount:this.pages.length,currentPageIndex:null,visiblePageIndexes:[]})}),this.getPort("zoomLevelUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setZoomLevel",e)}),this.getPort("zoomBy").subscribe(e=>{this.callViewerMethod("zoomBy",e)}),this.getPort("scrollToIndex").subscribe(e=>{this.callViewerMethod("scrollToIndex",e)}),this.getPort("filterPreviewUpdated").subscribe(e=>{var t;e?(this.filterPreviewVersion+=1,null==(t=this.filterPreviewController)||t.abort(),this.filterPreviewController=null,this.pendingFilterPreview=e,this.applyFilterPreview()):this.closeFilterPreview()}),this.getPort("setFullscreen").subscribe(e=>{this.setFullscreen(e)}),this.getPort("saveFilteredImage").subscribe(()=>{this.saveFilteredImage()}),this.getPort("layoutConfigUpdated").subscribe(e=>{this.callViewerMethod("setLayoutConfig",e.mode,e.direction)||this.callViewerMethodWhenReady("setLayoutConfig",e.mode,e.direction),this.updateLayoutState(e.mode,e.direction)}),this.getPort("layoutModeUpdated").subscribe(e=>{this.callViewerMethod("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection)}),this.getPort("resourceLoadSucceeded").subscribe(e=>{this.handleResourceSucceeded(e.requestId,e.url,e.hasPages,e.pageIndex)}),this.getPort("resourceLoadFailed").subscribe(e=>{this.handleResourceFailed(e.requestId,e.message)}),this.getPort("copyToClipboard").subscribe(e=>{this.copyToClipboard(e)}),this.getPort("authSourcesInvalidated").subscribe(e=>{this.auth.invalidateSources(e),this.callViewerMethodWhenReady("invalidateTileSources",e)})}ensureMainViewer(){let e=document.getElementById("main-viewer");return e&&e!==this.mainViewer&&(this.mainViewer=e),this.mainViewer}copyPage(e){var t;let n=e.images.map(e=>({...e})),r=null!=(t=n.find(t=>t.id===e.primaryImage.id&&t.isPrimary))?t:{...e.primaryImage};return{index:e.index,canvasId:e.canvasId,label:e.label,...null===e.width||void 0===e.width?{}:{width:e.width},...null===e.height||void 0===e.height?{}:{height:e.height},primaryImage:{...r},images:n}}effectiveAnnotationsForCanvas(e){var t,n;if(this.clearedAnnotationCanvases.has(e))return[];let r=new Map;return(null!=(t=this.manifestAnnotationsByCanvas.get(e))?t:[]).forEach(e=>r.set(e.viewerAnnotation.id,e)),(null!=(n=this.apiAnnotationsByCanvas.get(e))?n:[]).forEach(e=>r.set(e.viewerAnnotation.id,e)),Array.from(r.values())}applyAnnotationsForCanvas(e){this.callViewerMethodWhenReady("setAnnotations",e,this.effectiveAnnotationsForCanvas(e).map(e=>e.viewerAnnotation))}findStoredAnnotation(e){for(let t of new Set([...this.manifestAnnotationsByCanvas.keys(),...this.apiAnnotationsByCanvas.keys()])){let n=this.effectiveAnnotationsForCanvas(t).find(t=>t.viewerAnnotation.id===e);if(n)return n}}rebuildPageIndexes(){this.pagesByCanvasId.clear(),this.pagesByLabel.clear(),this.pages.forEach(e=>{this.pagesByCanvasId.has(e.canvasId)||this.pagesByCanvasId.set(e.canvasId,e);let t=e.label.toLowerCase();this.pagesByLabel.has(t)||this.pagesByLabel.set(t,e)})}pageForSelector(e){if(!e||"object"!=typeof e||"canvasId"!==e.by&&"label"!==e.by||"string"!=typeof e.value)throw TypeError("A page selector must contain a supported 'by' value and a string 'value'.");return"canvasId"===e.by?this.pagesByCanvasId.get(e.value):this.pagesByLabel.get(e.value.toLowerCase())}copyState(){return{...this.state,visiblePageIndexes:this.state.visiblePageIndexes.slice()}}updateState(e){this.state={...this.state,...e}}emit(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}updateLayoutState(e,t){let n="spread"===e||"spread-shift"===e?e:"single",r="rtl"===t?"rtl":"ltr",a=this.ensureMainViewer(),i=a&&"function"==typeof a.getVisiblePageIndexes?a.getVisiblePageIndexes():this.state.visiblePageIndexes,o=n!==this.state.layoutMode||r!==this.state.viewingDirection;this.updateState({layoutMode:n,viewingDirection:r,visiblePageIndexes:i}),o&&this.emit("layoutchange",{layoutMode:n,viewingDirection:r})}handleResourceSucceeded(e,t,n,r){var a;if(e!==this.activeResourceRequestId)return;let i="initial"!==e;if(i&&(this.updateState({resourceUrl:t}),this.emit("resourcechange",{resourceUrl:t,state:this.copyState()})),n){this.awaitingViewerResource={id:e,url:t,pageIndex:r,resourceChangeEmitted:i};let n=this.ensureMainViewer(),o=null==(a=this.pages[r])?void 0:a.primaryImage.id;o&&n&&"function"==typeof n.isPageLoaded&&n.isPageLoaded(r,o)&&this.completeResource(e,t,!i);return}this.completeResource(e,t,!i)}completeResource(e,t,n){e===this.activeResourceRequestId&&(this.awaitingViewerResource=null,this.updateState({resourceUrl:t,ready:!0}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyResolve(),this.emit("ready",this.copyState())),"initial"!==e&&this.pendingResource&&(this.pendingResource.resolve(),this.pendingResource=null),n&&this.emit("resourcechange",{resourceUrl:t,state:this.copyState()}))}handleResourceFailed(e,t){var n,r;if(e!==this.activeResourceRequestId)return;let a=Error(t),i=(null==(n=this.pendingResource)?void 0:n.id)===e&&this.pendingResource.previousReady;this.awaitingViewerResource=null,this.updateState({ready:i}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(a)),"initial"!==e&&(null==(r=this.pendingResource)?void 0:r.id)===e&&(this.pendingResource.reject(a),this.pendingResource=null),this.emit("error",{error:a,operation:"setResource",recoverable:"initial"!==e})}assertAlive(){if(this.isDestroyed)throw new DOMException("The Diva instance was destroyed.","InvalidStateError")}assertPageIndex(e){if(!Number.isInteger(e)||e<0||e>=this.pages.length)throw RangeError(`Page index ${e} is outside the available page range.`)}refreshLoadingState(){let e=this.resourceLoading||this.viewerLoading;e!==this.state.loading&&(this.updateState({loading:e}),this.emit("loadingchange",{loading:e}))}async waitForResource(){this.assertAlive(),this.pendingResource?await this.pendingResource.promise:await this.ready,this.assertAlive()}async applyFilterPreview(){if(this.isDestroyed||!this.pendingFilterPreview)return;if(!this.ensureFilterViewerElement()){this.filterPreviewRetries<10&&(this.filterPreviewRetries+=1,null===this.filterPreviewRafId&&(this.filterPreviewRafId=requestAnimationFrame(()=>{this.filterPreviewRafId=null,this.applyFilterPreview()})));return}let e=this.pendingFilterPreview;this.pendingFilterPreview=null,this.filterPreviewRetries=0;let t=this.filterPreviewVersion;if(this.filterOptions=e.filters||null,this.ensureFilterViewer(),this.filterViewer){let n=JSON.stringify([e.sourceId,e.tileSource,e.isStatic]);if(this.currentFilterSourceKey!==n){let r,a=new AbortController;this.filterPreviewController=a;try{r=await this.auth.resolve({sourceId:e.sourceId,url:e.tileSource,isStatic:e.isStatic},a.signal)}catch(e){a.signal.aborted||this.isDestroyed||this.filterPreviewVersion;return}finally{this.filterPreviewController===a&&(this.filterPreviewController=null)}if(this.isDestroyed||t!==this.filterPreviewVersion)return;this.setFilterAccessBlocked(this.isNonCorsStaticSource(r)),this.currentFilterSourceKey=n,this.filterViewer.open(r)}else this.applyFilterOptions()}}copyToClipboard(e){if(navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)return void navigator.clipboard.writeText(e).catch(()=>{})}bindPageChange(){this.bindViewerEvent("diva-page-change",this.handlePageChangeBound)}bindFullscreenChange(){document.addEventListener("fullscreenchange",this.handleFullscreenChangeBound)}bindZoomChange(){this.bindViewerEvent("diva-zoom-change",this.handleZoomChangeBound)}bindLoadingChange(){this.bindViewerEvent("diva-loading-change",this.handleLoadingChangeBound)}bindRootClick(){this.getConnectedRoot().addEventListener("click",this.handleRootClickBound,!0)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}getState(){return this.copyState()}getPages(){return this.pages.map(e=>this.copyPage(e))}setAnnotation(e){var t,n;this.assertAlive();let r=p5(e);if(!this.pagesByCanvasId.has(r.canvasId))throw RangeError(`Annotation Canvas ${r.canvasId} is not part of the loaded manifest.`);r.viewerAnnotation.imageService=null!=(t=this.annotationImageServicesByCanvas.get(r.canvasId))?t:null,this.apiAnnotationsByCanvas.forEach((e,t)=>{let n=e.filter(e=>e.viewerAnnotation.id!==r.viewerAnnotation.id);n.length!==e.length&&(this.apiAnnotationsByCanvas.set(t,n),this.applyAnnotationsForCanvas(t))});let a=null!=(n=this.apiAnnotationsByCanvas.get(r.canvasId))?n:[];this.apiAnnotationsByCanvas.set(r.canvasId,[...a,r]),this.clearedAnnotationCanvases.delete(r.canvasId),this.applyAnnotationsForCanvas(r.canvasId)}setAnnotations(e){if(this.assertAlive(),!Array.isArray(e))throw TypeError("Annotations must be an array.");let t=new Map;e.forEach(e=>{var n,r;let a=p5(e);if(!this.pagesByCanvasId.has(a.canvasId))throw RangeError(`Annotation Canvas ${a.canvasId} is not part of the loaded manifest.`);a.viewerAnnotation.imageService=null!=(n=this.annotationImageServicesByCanvas.get(a.canvasId))?n:null;let i=null!=(r=t.get(a.canvasId))?r:[];t.set(a.canvasId,[...i.filter(e=>e.viewerAnnotation.id!==a.viewerAnnotation.id),a])});let n=new Set([...this.apiAnnotationsByCanvas.keys(),...t.keys()]);this.apiAnnotationsByCanvas.clear(),t.forEach((e,t)=>{this.apiAnnotationsByCanvas.set(t,e),this.clearedAnnotationCanvases.delete(t)}),n.forEach(e=>this.applyAnnotationsForCanvas(e))}getAnnotationsForCanvas(e){return this.assertAlive(),this.effectiveAnnotationsForCanvas(e).map(e=>p2(e.publicAnnotation))}getAllAnnotations(){return this.assertAlive(),this.pages.flatMap(e=>this.getAnnotationsForCanvas(e.canvasId))}clearAnnotationsForCanvas(e){this.assertAlive(),this.clearedAnnotationCanvases.add(e),this.apiAnnotationsByCanvas.delete(e),this.applyAnnotationsForCanvas(e)}clearAllAnnotations(){this.assertAlive(),this.apiAnnotationsByCanvas.clear(),this.pages.forEach(e=>{this.clearedAnnotationCanvases.add(e.canvasId),this.applyAnnotationsForCanvas(e.canvasId)})}selectAnnotation(e){if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");if(!this.findStoredAnnotation(e))throw RangeError(`Unknown annotation: ${e}`);this.callViewerMethodWhenReady("selectAnnotation",e)}getAnnotationSelectionEnabled(){this.assertAlive();let e=this.ensureMainViewer();return e&&"function"==typeof e.getAnnotationSelectionEnabled?e.getAnnotationSelectionEnabled():this.annotationSelectionEnabled}setAnnotationSelectionEnabled(e){this.assertAlive(),this.annotationSelectionEnabled=e,this.callViewerMethodWhenReady("setAnnotationSelectionEnabled",e)}toggleAnnotationSelectionEnabled(){return this.setAnnotationSelectionEnabled(!this.getAnnotationSelectionEnabled()),this.annotationSelectionEnabled}getImageRegionForAnnotation(e){var t,n;if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");let r=this.findStoredAnnotation(e),a=null==(n=null==(t=this.mainViewer)?void 0:t.getImageRegionForAnnotation)?void 0:n.call(t,e);if("string"==typeof a)return a;if(!r||"svg"===r.viewerAnnotation.shape.kind)return null;let{x:i,y:o,width:s,height:u}=r.viewerAnnotation.shape;return"number"==typeof i&&"number"==typeof o&&"number"==typeof s&&"number"==typeof u?f(r.viewerAnnotation.imageService,{x:i,y:o,width:s,height:u}):null}getAnnotationBody(e){var t;if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");let n=this.findStoredAnnotation(e);return n?p4(null!=(t=n.publicAnnotation.body)?t:n.publicAnnotation.resource):void 0}findPage(e){let t=this.pageForSelector(e);return t?this.copyPage(t):void 0}getCurrentPage(){let e=this.state.currentPageIndex;return null!==e&&this.pages[e]?this.copyPage(this.pages[e]):void 0}getVisiblePages(){return this.state.visiblePageIndexes.map(e=>this.pages[e]).filter(Boolean).map(e=>this.copyPage(e))}getLayoutMode(){return this.state.layoutMode}setResource(e){let t,n;if(this.assertAlive(),!e||"string"!=typeof e)return Promise.reject(TypeError("A resource URL is required."));this.pendingResource&&(this.pendingResource.reject(new DOMException("The resource load was superseded.","AbortError")),this.pendingResource=null),this.awaitingViewerResource=null;let r=this.state.ready,a=`public-${++this.resourceSequence}`,i=new Promise((e,r)=>{t=e,n=r});return i.catch(()=>{}),this.pendingResource={id:a,promise:i,resolve:t,reject:n,previousReady:r},this.activeResourceRequestId=a,this.updateState({ready:!1}),this.resourceLoading=!0,this.refreshLoadingState(),this.getPort("resourceRequested").send({requestId:a,url:e}),i}async goToPage(e){if(await this.waitForResource(),"number"!=typeof e){let t=this.pageForSelector(e);return!!t&&(await this.callViewerMethodAsync("scrollToIndex",t.index),!0)}this.assertPageIndex(e),await this.callViewerMethodAsync("scrollToIndex",e)}async next(){await this.waitForResource(),await this.callViewerMethodAsync("next")}async previous(){await this.waitForResource(),await this.callViewerMethodAsync("previous")}async setZoom(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom must be a positive finite number.");await this.callViewerMethodAsync("setZoomLevel",e)}async zoomBy(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom factor must be a positive finite number.");await this.callViewerMethodAsync("zoomBy",e)}zoomIn(){return this.zoomBy(1.6)}zoomOut(){return this.zoomBy(.625)}async fitToPage(e){await this.waitForResource();let t=null!=e?e:this.state.currentPageIndex;if(null===t)throw RangeError("There is no current page.");this.assertPageIndex(t),await this.callViewerMethodAsync("fitToPage",t)}async zoomToRegion(e,t,n={}){var r;if(await this.waitForResource(),this.assertPageIndex(e),![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.x<0||t.y<0||t.width<=0||t.height<=0)throw RangeError("Region coordinates must be finite, non-negative, and have positive dimensions.");let a=null!=(r=n.padding)?r:.05;if(!Number.isFinite(a)||a<0)throw RangeError("Region padding must be a non-negative finite number.");await this.callViewerMethodAsync("zoomToRegion",e,t,n)}async setLayoutMode(e){if(await this.waitForResource(),!["single","spread","spread-shift"].includes(e))throw RangeError(`Unsupported layout mode: ${e}`);await this.callViewerMethodAsync("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection),this.getPort("layoutModeRequested").send(e)}async enterFullscreen(){this.assertAlive(),document.fullscreenElement||await this.getConnectedRoot().requestFullscreen()}async exitFullscreen(){this.assertAlive(),document.fullscreenElement&&await document.exitFullscreen()}toggleFullscreen(){return document.fullscreenElement?this.exitFullscreen():this.enterFullscreen()}destroy(){var e;if(this.isDestroyed)return;this.isDestroyed=!0;let t=new DOMException("The Diva instance was destroyed.","InvalidStateError");this.readySettled||(this.readySettled=!0,this.readyReject(t)),null==(e=this.pendingResource)||e.reject(t),this.pendingResource=null,this.awaitingViewerResource=null,this.updateState({destroyed:!0,loading:!1}),this.closeFilterPreview(),this.auth.destroy(),null!==this.viewerMethodRafId&&(cancelAnimationFrame(this.viewerMethodRafId),this.viewerMethodRafId=null),this.pendingViewerMethods.clear();let n=this.getConnectedRoot();this.removeViewerEvent("diva-page-change",this.handlePageChangeBound),this.removeViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.removeViewerEvent("diva-zoom-change",this.handleZoomChangeBound),this.removeViewerEvent("diva-loading-change",this.handleLoadingChangeBound),this.removeViewerEvent("diva-static-image-cors-fallback",this.handleStaticImageCorsFallbackBound),this.removeViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound),n.removeEventListener("click",this.handleRootClickBound,!0),document.removeEventListener("fullscreenchange",this.handleFullscreenChangeBound),n&&(n.__divaInstance===this&&delete n.__divaInstance,n.elmTree&&delete n.elmTree,n.innerHTML="")}closeFilterPreview(){var e;this.filterPreviewVersion+=1,null==(e=this.filterPreviewController)||e.abort(),this.filterPreviewController=null,null!==this.filterPreviewRafId&&(cancelAnimationFrame(this.filterPreviewRafId),this.filterPreviewRafId=null),this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.filterViewerElement=null,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterOptions=null,this.setFilterAccessBlocked(!1),this.filterPreviewRetries=0}setFullscreen(e){let t=this.getConnectedRoot();if(e){if(document.fullscreenElement||!document.fullscreenEnabled)return;t.requestFullscreen().catch(()=>{});return}document.fullscreenElement&&document.exitFullscreen().catch(()=>{})}handleRootClick(e){let t=e.target;if(!(t instanceof Element))return;let n=this.getConnectedRoot(),r=t.closest("button[data-diva-action='fullscreen']");r&&n.contains(r)&&(e.preventDefault(),e.stopPropagation(),this.toggleFullscreenFromUserActivation())}toggleFullscreenFromUserActivation(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.fullscreenEnabled&&this.getConnectedRoot().requestFullscreen().catch(()=>{})}handlePageChange(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;t.instant?this.getPort("pageIndexChangedInstant").send(t.index):this.getPort("pageIndexChanged").send(t.index);let n=this.ensureMainViewer(),r=n&&"function"==typeof n.getVisiblePageIndexes?n.getVisiblePageIndexes():[t.index];this.updateState({currentPageIndex:t.index,visiblePageIndexes:r});let a=this.pages[t.index];a&&this.emit("pagechange",{pageIndex:t.index,page:this.copyPage(a),visiblePages:this.getVisiblePages()})}handleAnnotationSelect(e){var t;let n=null==(t=e.detail)?void 0:t.annotationId;"string"==typeof n&&this.emit("annotationselect",{annotationId:n})}handlePageLoaded(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;this.getPort("viewerPageLoaded").send(t.index);let n=this.awaitingViewerResource;n&&t.resourceId===n.id&&t.index===n.pageIndex&&this.completeResource(n.id,n.url,!n.resourceChangeEmitted)}handleZoomChange(e){let t=e.detail;t&&"number"==typeof t.zoom&&(this.getPort("zoomChanged").send(t.zoom),this.updateState({zoom:t.zoom}),this.emit("zoomchange",{zoom:t.zoom}))}handleLoadingChange(e){let t=e.detail;t&&"boolean"==typeof t.loading&&(this.getPort("viewerLoadingChanged").send(t.loading),this.viewerLoading=t.loading,this.refreshLoadingState())}handleStaticImageCorsFallback(e){var t;let n=null==(t=e.detail)?void 0:t.sourceId;"string"==typeof n&&this.auth.useNonCorsStaticSource(n)}handlePageLoadError(e){var t;let n=e.detail,r=Error((null==n?void 0:n.message)||"The image could not be loaded."),a=this.awaitingViewerResource;if(a&&(null==n?void 0:n.resourceId)===a.id&&(null==n?void 0:n.index)===a.pageIndex){this.updateState({ready:!1}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(r)),"initial"!==a.id&&(null==(t=this.pendingResource)?void 0:t.id)===a.id&&(this.pendingResource.reject(r),this.pendingResource=null),this.emit("error",{error:r,operation:"loadPage",recoverable:!0});return}this.emit("error",{error:r,operation:"loadPage",recoverable:!0})}handleFullscreenChange(){let e=!!document.fullscreenElement;this.getPort("fullscreenChanged").send(e),this.updateState({fullscreen:e}),this.emit("fullscreenchange",{fullscreen:e})}ensureFilterViewer(){!this.filterViewer&&this.filterViewerElement&&(this.filterViewer=OpenSeadragon({element:this.filterViewerElement,showNavigationControl:!1,preserveViewport:!0,visibilityRatio:0,drawer:"canvas",crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1}),this.filterViewer.addHandler("open",()=>{var e;let t=null==(e=this.filterViewer)?void 0:e.drawer,n=t&&t.canvas?t.canvas:null;if(n&&"function"==typeof n.getContext){let e=n.getContext("2d",{willReadFrequently:!0});e&&(t.context=e)}this.filterViewer&&this.filterViewer.viewport&&this.filterViewer.viewport.fitBounds(this.filterViewer.world.getHomeBounds(),!0),this.filterViewerFlipped=!1,this.applyFilterOptions()}))}ensureFilterViewerElement(){let e=document.getElementById("filter-viewer");return e?(this.filterViewerElement!==e&&(this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.currentFilterSourceKey=null,this.filterViewerFlipped=!1,this.filterViewerElement=e),this.filterViewerElement):(this.filterViewerElement=null,null)}applyFilterOptions(){var e,t;if(!this.filterViewer)return;if(this.filterAccessBlocked)return void pI(this.filterViewer,{filters:[]});let n=mn(this.filterOptions);if(pI(this.filterViewer,n),this.filterViewer.viewport){let n=(null==(e=this.filterOptions)?void 0:e.rotation)||0;this.filterViewer.viewport.setRotation(n);let r=!!(null==(t=this.filterOptions)?void 0:t.flip),a=this.filterViewer.viewport;if("function"==typeof a.toggleFlip){let e=this.filterViewerFlipped;"function"==typeof a.getFlip&&(e=!!a.getFlip()),r!=e&&(a.toggleFlip(),this.filterViewerFlipped=r)}}}saveFilteredImage(){if(!this.filterViewer||this.filterAccessBlocked)return;let e=this.filterViewer.drawer,t=e&&e.canvas?e.canvas:null;if(t)try{let e=t.toDataURL("image/png"),n=document.createElement("a");n.href=e,n.download=`diva-filtered-${Date.now()}.png`,document.body.appendChild(n),n.click(),n.remove()}catch(e){}}isNonCorsStaticSource(e){return"object"==typeof e&&null!==e&&"image"===e.type&&!1===e.crossOriginPolicy}setFilterAccessBlocked(e){this.filterAccessBlocked=e;let t=this.root.querySelector(".diva-modal-sidebar");if(!t)return;Array.from(t.querySelectorAll("button, input, select, textarea")).forEach(t=>{e?(t.dataset.divaFilterWasDisabled=t.disabled?"true":"false",t.disabled=!0):void 0!==t.dataset.divaFilterWasDisabled&&(t.disabled="true"===t.dataset.divaFilterWasDisabled,delete t.dataset.divaFilterWasDisabled)});let n=this.root.querySelector('button[aria-label="Save view"]');n&&(e?(n.dataset.divaFilterWasDisabled=n.disabled?"true":"false",n.disabled=!0):void 0!==n.dataset.divaFilterWasDisabled&&(n.disabled="true"===n.dataset.divaFilterWasDisabled,delete n.dataset.divaFilterWasDisabled));let r=t.querySelector(".diva-filter-access-warning");e&&!r&&((r=document.createElement("p")).className="diva-filter-access-warning",r.textContent="Image filters and Save view require CORS-enabled image access.",t.prepend(r)),e||null==r||r.remove()}getPort(e){let t=this.app.ports,n=t?t[e]:void 0;if(!n)throw Error(`Missing Elm port: ${String(e)}`);return n}callViewerMethod(e,...t){let n=this.ensureMainViewer();if(!n)return!1;let r=n[e];return"function"==typeof r&&(r.apply(n,t),!0)}async callViewerMethodAsync(e,...t){let n=0;for(;n<120;){this.assertAlive();let r=this.ensureMainViewer(),a=null==r?void 0:r[e];if("function"==typeof a)return await a.apply(r,t);n+=1,await new Promise(e=>requestAnimationFrame(()=>e()))}throw new DOMException(`The viewer method ${e} is not available.`,"InvalidStateError")}callViewerMethodWhenReady(e,...t){if(this.callViewerMethod(e,...t)){this.viewerMethodAttempts=0;return}this.pendingViewerMethods.set(e,t),this.viewerMethodAttempts=0,this.scheduleViewerMethodFlush()}scheduleViewerMethodFlush(){this.isDestroyed||null!==this.viewerMethodRafId||(this.viewerMethodRafId=requestAnimationFrame(()=>{this.viewerMethodRafId=null,this.flushPendingViewerMethods()}))}flushPendingViewerMethods(){if(this.isDestroyed||0===this.pendingViewerMethods.size)return;let e=Array.from(this.pendingViewerMethods.entries());if(this.pendingViewerMethods.clear(),e.forEach(([e,t])=>{this.callViewerMethod(e,...t)||this.pendingViewerMethods.set(e,t)}),0===this.pendingViewerMethods.size){this.viewerMethodAttempts=0;return}this.viewerMethodAttempts<120&&(this.viewerMethodAttempts+=1,this.scheduleViewerMethodFlush())}bindViewerEvent(e,t){let n=this.ensureMainViewer();n&&(n.removeEventListener(e,t),n.addEventListener(e,t))}removeViewerEvent(e,t){let n=this.ensureMainViewer();n&&n.removeEventListener(e,t)}constructor(e,t){super(),this.mainViewer=null,this.pendingViewerMethods=new Map,this.viewerMethodRafId=null,this.viewerMethodAttempts=0,this.filterViewer=null,this.filterViewerElement=null,this.filterOptions=null,this.filterViewerFlipped=!1,this.filterAccessBlocked=!1,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterPreviewVersion=0,this.filterPreviewRetries=0,this.filterPreviewRafId=null,this.filterPreviewController=null,this.isDestroyed=!1,this.pages=[],this.pagesByCanvasId=new Map,this.pagesByLabel=new Map,this.manifestAnnotationsByCanvas=new Map,this.apiAnnotationsByCanvas=new Map,this.clearedAnnotationCanvases=new Set,this.annotationImageServicesByCanvas=new Map,this.annotationSelectionEnabled=!0,this.annotationResourceId="",this.readySettled=!1,this.activeResourceRequestId="initial",this.resourceSequence=0,this.pendingResource=null,this.awaitingViewerResource=null,this.resourceLoading=!0,this.viewerLoading=!1;let n=document.getElementById(e);if(!n)throw Error(`Missing root element: ${e}`);n.__divaInstance&&n.__divaInstance.destroy(),n.elmTree&&(delete n.elmTree,n.innerHTML=""),this.rootId=e,this.root=n,this.isDestroyed=!1,this.staticImageCorsPolicy="fallback"===t.staticImageCorsPolicy||"none"===t.staticImageCorsPolicy?t.staticImageCorsPolicy:"required",this.annotationSelectionEnabled=!1!==t.enableAnnotationSelection,this.state={resourceUrl:t.objectData,ready:!1,loading:!0,pageCount:0,currentPageIndex:null,visiblePageIndexes:[],layoutMode:"single",viewingDirection:"ltr",zoom:null,fullscreen:!1,destroyed:!1},this.ready=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t}),this.ready.catch(()=>{}),this.handlePageChangeBound=this.handlePageChange.bind(this),this.handleAnnotationSelectBound=this.handleAnnotationSelect.bind(this),this.handlePageLoadedBound=this.handlePageLoaded.bind(this),this.handleZoomChangeBound=this.handleZoomChange.bind(this),this.handleLoadingChangeBound=this.handleLoadingChange.bind(this),this.handleStaticImageCorsFallbackBound=this.handleStaticImageCorsFallback.bind(this),this.handlePageLoadErrorBound=this.handlePageLoadError.bind(this),this.handleFullscreenChangeBound=this.handleFullscreenChange.bind(this),this.handleRootClickBound=this.handleRootClick.bind(this);let r=this.detectLanguage(),a=t.sidebarWidth,i="number"==typeof a&&Number.isFinite(a)?Math.min(520,Math.max(220,Math.round(a))):320,o="contents"===t.sidebarPanel||"metadata"===t.sidebarPanel?t.sidebarPanel:"thumbnails";this.app=pm.Main.init({node:n,flags:{rootElementId:e,objectData:t.objectData,initialPage:this.initialPageFlag(t.initialPage),acceptHeaders:t.acceptHeaders||[],showSidebar:!1!==t.showSidebar,sidebarWidth:i,sidebarPanel:o,showTitle:!1!==t.showTitle,userLanguage:t.setLanguage||r,enableAnnotations:!0===t.enableAnnotations,enableAnnotationSelection:!1!==t.enableAnnotationSelection,annotationServer:t.annotationServer||null}}),this.root=this.getConnectedRoot(),this.auth=new pC(this.app.ports,this.root,this.staticImageCorsPolicy),this.tileSourceResolver=(e,t)=>this.auth.resolve(e,t),this.root.__divaInstance=this,this.bindPorts(),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setStaticImageCorsPolicy",this.staticImageCorsPolicy),this.callViewerMethodWhenReady("setAnnotationSelectionEnabled",!1!==t.enableAnnotationSelection),this.bindRootClick(),this.bindPageChange(),this.bindViewerEvent("diva-annotation-select",this.handleAnnotationSelectBound),this.bindViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.bindFullscreenChange(),this.bindZoomChange(),this.bindLoadingChange(),this.bindViewerEvent("diva-static-image-cors-fallback",this.handleStaticImageCorsFallbackBound),this.bindViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound)}},p7={THRESHOLDING:p0.THRESHOLDING,BRIGHTNESS:p0.BRIGHTNESS,SATURATION:p0.SATURATION,VIBRANCE:p0.VIBRANCE,HUE:p0.HUE,CC_RED:p0.CC_RED,CC_GREEN:p0.CC_GREEN,CC_BLUE:p0.CC_BLUE,CONTRAST:p0.CONTRAST,GAMMA:p0.GAMMA,GREYSCALE:p0.GREYSCALE,INVERT:p0.INVERT,BACKGROUND_NORMALIZE:p0.BACKGROUND_NORMALIZE,UNSHARP_MASK:p0.UNSHARP_MASK,ALT_RED_GAMMA:p0.ALT_RED_GAMMA,ALT_GREEN_GAMMA:p0.ALT_GREEN_GAMMA,ALT_BLUE_GAMMA:p0.ALT_BLUE_GAMMA,ALT_RED_SIGMOID:p0.ALT_RED_SIGMOID,ALT_GREEN_SIGMOID:p0.ALT_GREEN_SIGMOID,ALT_BLUE_SIGMOID:p0.ALT_BLUE_SIGMOID,ALT_RED_HUE:p0.ALT_RED_HUE,ALT_GREEN_HUE:p0.ALT_GREEN_HUE,ALT_BLUE_HUE:p0.ALT_BLUE_HUE,ALT_RED_VIBRANCE:p0.ALT_RED_VIBRANCE,ALT_GREEN_VIBRANCE:p0.ALT_GREEN_VIBRANCE,ALT_BLUE_VIBRANCE:p0.ALT_BLUE_VIBRANCE,GLOBAL_PCA_COLOR:p0.GLOBAL_PCA_COLOR,ADAPTIVE_THRESHOLD:p0.ADAPTIVE_THRESHOLD},p9=[{enabled:"thresholdEnabled",filter:"THRESHOLDING",args:["threshold"]},{enabled:"brightnessEnabled",filter:"BRIGHTNESS",args:["brightness"]},{enabled:"saturationEnabled",filter:"SATURATION",args:["saturation"]},{enabled:"vibranceEnabled",filter:"VIBRANCE",args:["vibrance"]},{enabled:"hueEnabled",filter:"HUE",args:["hue"]},{enabled:"ccRedEnabled",filter:"CC_RED",args:["ccRed"]},{enabled:"ccGreenEnabled",filter:"CC_GREEN",args:["ccGreen"]},{enabled:"ccBlueEnabled",filter:"CC_BLUE",args:["ccBlue"]},{enabled:"contrastEnabled",filter:"CONTRAST",args:["contrast"]},{enabled:"gammaEnabled",filter:"GAMMA",args:["gamma"]},{enabled:"grayscale",filter:"GREYSCALE"},{enabled:"invert",filter:"INVERT"},{enabled:"normalizeEnabled",filter:"BACKGROUND_NORMALIZE",args:["normalizeStrength"]},{enabled:"unsharpEnabled",filter:"UNSHARP_MASK",args:["unsharpAmount"]}],me=[{enabled:"altRedGammaEnabled",filter:"ALT_RED_GAMMA",args:["altRedGamma"]},{enabled:"altGreenGammaEnabled",filter:"ALT_GREEN_GAMMA",args:["altGreenGamma"]},{enabled:"altBlueGammaEnabled",filter:"ALT_BLUE_GAMMA",args:["altBlueGamma"]},{enabled:"altRedSigmoidEnabled",filter:"ALT_RED_SIGMOID",args:["altRedSigmoid"]},{enabled:"altGreenSigmoidEnabled",filter:"ALT_GREEN_SIGMOID",args:["altGreenSigmoid"]},{enabled:"altBlueSigmoidEnabled",filter:"ALT_BLUE_SIGMOID",args:["altBlueSigmoid"]},{enabled:"altRedHueEnabled",filter:"ALT_RED_HUE",args:["altRedHue","altRedHueWindow"],defaults:[0,8]},{enabled:"altGreenHueEnabled",filter:"ALT_GREEN_HUE",args:["altGreenHue","altGreenHueWindow"],defaults:[0,8]},{enabled:"altBlueHueEnabled",filter:"ALT_BLUE_HUE",args:["altBlueHue","altBlueHueWindow"],defaults:[0,8]},{enabled:"altRedVibranceEnabled",filter:"ALT_RED_VIBRANCE",args:["altRedVibrance"]},{enabled:"altGreenVibranceEnabled",filter:"ALT_GREEN_VIBRANCE",args:["altGreenVibrance"]},{enabled:"altBlueVibranceEnabled",filter:"ALT_BLUE_VIBRANCE",args:["altBlueVibrance"]},{enabled:"adaptiveEnabled",filter:"ADAPTIVE_THRESHOLD",args:["adaptiveWindow","adaptiveOffset"],defaults:[15,10]}],mt=(e,t,n)=>{var r,a;for(let i of n)if(t[i.enabled]){let n=null!=(a=null==(r=i.args)?void 0:r.map((e,n)=>{var r,a,o;return null!=(o=t[e])?o:null!=(a=null==(r=i.defaults)?void 0:r[n])?a:0}))?a:[],o=p7[i.filter];e.push(o(...n))}},mn=e=>{var t,n,r,a,i,o,s,u,c;if(!e)return{filters:[],loadMode:"sync"};let l=[];if(mt(l,e,p9),e.morphEnabled){let n="dilate"===e.morphOperation?Math.max:Math.min;l.push(p0.MORPHOLOGICAL_OPERATION(null!=(t=e.morphKernel)?t:3,n))}if(e.convolutionEnabled){let t=p0.CONVOLUTION_PRESET(e.convolutionPreset||"");t&&l.push(p0.CONVOLUTION(t))}if(e.colourmapEnabled){let t=p0.COLORMAP_PRESET(e.colourmapPreset||"");t&&l.push(p0.COLORMAP(t,null!=(n=e.colourmapCenter)?n:128))}return(e.pseudoColourEnabled&&l.push(p0.PSEUDOCOLOR(e.pseudoColourMode||"",null!=(r=e.pseudoColourRed)?r:1,null!=(a=e.pseudoColourGreen)?a:1,null!=(i=e.pseudoColourBlue)?i:1)),e.globalPcaEnabled&&l.push(p0.GLOBAL_PCA_COLOR(e.pcaMode||"",null!=(o=e.pcaHue)?o:0)),e.colourReplaceEnabled&&l.push(p0.COLOR_REPLACE(e.colourReplaceSource||"#ffffff",e.colourReplaceTarget||"#ffffff",null!=(s=e.colourReplaceTolerance)?s:24,null!=(u=e.colourReplaceBlend)?u:1,null!=(c=e.colourReplacePreserveLum)&&c)),mt(l,e,me),0===l.length)?{filters:[],loadMode:"sync"}:{filters:{processors:l},loadMode:"sync"}};window.Diva=p8})(); diff --git a/nginx/app/dependencies/diva.js/build/filters.d.ts b/nginx/app/dependencies/diva.js/build/filters.d.ts index 22f89d2a..92d49d5d 100644 --- a/nginx/app/dependencies/diva.js/build/filters.d.ts +++ b/nginx/app/dependencies/diva.js/build/filters.d.ts @@ -7,8 +7,6 @@ * Additional filters and modifications to the processing methods are from * CamanJS: * https://github.com/meltingice/CamanJS/blob/master/src/lib/filters.coffee - * - * */ export type FilterProcessor = (context: CanvasRenderingContext2D, callback: () => void) => void; type PixelTransformInPlace = (r: number, g: number, b: number, a: number, out: number[]) => void; diff --git a/nginx/app/dependencies/diva.js/build/image-utils.d.ts b/nginx/app/dependencies/diva.js/build/image-utils.d.ts new file mode 100644 index 00000000..3163a41c --- /dev/null +++ b/nginx/app/dependencies/diva.js/build/image-utils.d.ts @@ -0,0 +1,15 @@ +export type ImageRegion = { + x: number; + y: number; + width: number; + height: number; +}; +export type ResolvedTileSource = string | Record; +export type TileSourceDescriptor = { + sourceId: string; + url: string; + isStatic: boolean; +}; +export declare const iiifImageRegionUrl: (imageService: string | null, region: ImageRegion) => string | null; +export declare const staticImageTileSource: (url: string, credentialed?: boolean, useNonCors?: boolean) => ResolvedTileSource; +export declare const nonCorsStaticTileSource: (tileSource: ResolvedTileSource) => ResolvedTileSource; diff --git a/nginx/app/dependencies/diva.js/build/public-api.d.ts b/nginx/app/dependencies/diva.js/build/public-api.d.ts index baa343b0..174cdc82 100644 --- a/nginx/app/dependencies/diva.js/build/public-api.d.ts +++ b/nginx/app/dependencies/diva.js/build/public-api.d.ts @@ -53,6 +53,16 @@ export type DivaPageTarget = number | DivaPageSelector; * The panel selected when the navigation sidebar is first opened. */ export type DivaSidebarPanel = "thumbnails" | "contents" | "metadata"; +/** + * Controls how Diva loads static image bodies that do not use the IIIF Image API. + * + * @remarks + * `required` preserves Diva's canvas-safe CORS behavior. `fallback` retries a + * failed anonymous-CORS static image once without CORS, while `none` uses that + * non-CORS path immediately. Images loaded without CORS can be viewed but cannot + * use Page View pixel filters or be saved from the filter view. + */ +export type DivaStaticImageCorsPolicy = "required" | "fallback" | "none"; /** * A painted image described by a IIIF canvas. */ @@ -124,6 +134,35 @@ export interface DivaRegion { */ height: number; } +/** + * A JSON Web Annotation accepted and returned by Diva's annotation API. + * + * `target` (or the IIIF Presentation 2 `on` alias) must identify a loaded + * Canvas and use either an `xywh` fragment/selector or an inline SVG selector. + */ +export interface DivaAnnotation { + /** + * Stable Web Annotation identifier. Required when setting annotations. + */ + id: string; + /** + * Usually `"Annotation"`; retained without interpretation. + */ + type?: string; + /** + * Web Annotation body, commonly a TextualBody or string. + */ + body?: unknown; + /** + * Web Annotation target. + */ + target?: unknown; + /** + * IIIF Presentation 2 alias for `target`. + */ + on?: unknown; + [key: string]: unknown; +} /** * Options controlling how an image region is framed. */ @@ -194,6 +233,13 @@ export interface DivaState { * Typed details for events dispatched by a Diva instance. */ export interface DivaEventMap { + /** + * Fired when an annotation is activated in the viewer. + */ + annotationselect: CustomEvent<{ + /** Stable identifier of the selected annotation. */ + annotationId: string; + }>; /** * Fired once after the initial resource and selected initial page are ready. */ @@ -308,6 +354,30 @@ export interface DivaOptions { * Preferred HTTP Accept values for IIIF resource requests. */ acceptHeaders?: string[]; + /** + * Enable manifest-driven IIIF annotation overlays. @defaultValue `false` + */ + enableAnnotations?: boolean; + /** + * Enable selecting annotations by clicking or keyboard activation. @defaultValue `true` + */ + enableAnnotationSelection?: boolean; + /** + * Optional GET endpoint used when a canvas declares no annotation resources. + */ + annotationServer?: string; + /** + * CORS policy for static image bodies without an IIIF Image API service. + * + * @remarks + * `fallback` attempts anonymous CORS first and makes one non-CORS retry when + * that load fails. `none` loads static images without CORS immediately. + * Non-CORS images remain viewable, but Page View pixel filters and saving are + * unavailable because the browser taints their canvas. + * + * @defaultValue `"required"` + */ + staticImageCorsPolicy?: DivaStaticImageCorsPolicy; /** * Show the navigation sidebar. * diff --git a/nginx/app/dependencies/diva.js/elm.json b/nginx/app/dependencies/diva.js/elm.json index 7de141e0..df3a9a44 100644 --- a/nginx/app/dependencies/diva.js/elm.json +++ b/nginx/app/dependencies/diva.js/elm.json @@ -11,18 +11,16 @@ "elm/html": "1.0.1", "elm/http": "2.0.0", "elm/json": "1.1.4", + "elm/parser": "1.1.0", "elm/svg": "1.0.1", "elm/url": "1.0.0", - "hecrj/html-parser": "2.4.0", - "rism-digital/elm-iiif": "5.0.0" + "rism-digital/elm-iiif": "6.1.1" }, "indirect": { "elm/bytes": "1.0.8", "elm/file": "1.0.5", - "elm/parser": "1.1.0", "elm/time": "1.0.0", - "elm/virtual-dom": "1.0.5", - "rtfeldman/elm-hex": "1.0.0" + "elm/virtual-dom": "1.0.5" } }, "test-dependencies": { diff --git a/nginx/app/dependencies/diva.js/package.json b/nginx/app/dependencies/diva.js/package.json index 088b8863..1627ae11 100644 --- a/nginx/app/dependencies/diva.js/package.json +++ b/nginx/app/dependencies/diva.js/package.json @@ -1,6 +1,6 @@ { "name": "diva.js", - "version": "7.4.2", + "version": "7.5.2", "license": "MIT", "repository": { "type": "git", @@ -28,18 +28,20 @@ "scripts": { "docs": "typedoc --options config/typedoc.json", "docs:check": "typedoc --options config/typedoc.json --emit none", - "format": "find src -name \"*.ts\" -print0 | xargs -0 clang-format -i", + "format": "dprint fmt src", "develop": "chokidar \"src/**/*\" \"scripts/elm-esm.sh\" \"Makefile\" -c \"make build-dev\"", "test": "elm-test-rs && yarn docs:check", "test:browser": "playwright test", "test:types": "tsc -p type-tests/tsconfig.json" }, "devDependencies": { + "@dprint/typescript": "^0.96.1", "@playwright/test": "^1.61.1", "@swc/cli": "^0.7.8", "@swc/core": "^1.15.8", "@types/openseadragon": "^5.0.2", "chokidar-cli": "^3.0.0", + "dprint": "^0.57.0", "elm-test-rs": "^3.0.2-0", "esbuild": "^0.28.1", "lightningcss": "^1.31.1", diff --git a/nginx/app/dependencies/diva.js/src/Annotation.elm b/nginx/app/dependencies/diva.js/src/Annotation.elm new file mode 100644 index 00000000..0c49f815 --- /dev/null +++ b/nginx/app/dependencies/diva.js/src/Annotation.elm @@ -0,0 +1,55 @@ +module Annotation exposing (encode) + +import IIIF.Annotation as IIIFAnnotation +import Json.Encode as Encode + + +encode : Maybe String -> IIIFAnnotation.Annotation -> Encode.Value +encode imageService annotation = + let + shapeValue = + case annotation.target.selector of + IIIFAnnotation.Rectangle x y width height -> + Encode.object + [ ( "kind", Encode.string "rect" ) + , ( "x", Encode.float x ) + , ( "y", Encode.float y ) + , ( "width", Encode.float width ) + , ( "height", Encode.float height ) + ] + + IIIFAnnotation.Svg value -> + Encode.object [ ( "kind", Encode.string "svg" ), ( "value", Encode.string value ) ] + in + Encode.object + [ ( "id", Encode.string annotation.id ) + , ( "shape", shapeValue ) + , ( "text", Encode.string (stripTags annotation.body.value) ) + , ( "html", Encode.string annotation.body.value ) + , ( "imageService", Encode.string (Maybe.withDefault "" imageService) ) + ] + + +stripTags : String -> String +stripTags value = + stripTagsHelp False value "" + + +stripTagsHelp : Bool -> String -> String -> String +stripTagsHelp inTag remaining result = + case String.uncons remaining of + Just ( character, rest ) -> + if character == '<' then + stripTagsHelp True rest result + + else if character == '>' then + stripTagsHelp False rest result + + else if inTag then + stripTagsHelp True rest result + + else + stripTagsHelp False rest (result ++ String.fromChar character) + + Nothing -> + result diff --git a/nginx/app/dependencies/diva.js/src/Auth.elm b/nginx/app/dependencies/diva.js/src/Auth.elm index 23754563..76fa5e9e 100644 --- a/nginx/app/dependencies/diva.js/src/Auth.elm +++ b/nginx/app/dependencies/diva.js/src/Auth.elm @@ -18,6 +18,7 @@ module Auth exposing , logoutActions , prompt , registerSources + , requiresAuthorization , sourceIsAuthorized , thumbnailCrossOrigin , update @@ -220,6 +221,16 @@ registerSources sources model = } +requiresAuthorization : SourceAuth -> Bool +requiresAuthorization sourceAuth = + case sourceAuth of + Discovered discovery -> + not (List.isEmpty discovery.probes) + + _ -> + False + + sourceIsAuthorized : String -> Model -> Bool sourceIsAuthorized sourceId model = Dict.get sourceId model.sources @@ -1045,16 +1056,6 @@ releaseInteractive flowId model = withoutPrompt -requiresAuthorization : SourceAuth -> Bool -requiresAuthorization sourceAuth = - case sourceAuth of - Discovered discovery -> - not (List.isEmpty discovery.probes) - - _ -> - False - - resolve : String -> String -> Model -> ( Model, List Effect ) resolve requestId sourceId model = case Dict.get sourceId model.sources of diff --git a/nginx/app/dependencies/diva.js/src/Main.elm b/nginx/app/dependencies/diva.js/src/Main.elm index 2581f77b..976aa703 100644 --- a/nginx/app/dependencies/diva.js/src/Main.elm +++ b/nginx/app/dependencies/diva.js/src/Main.elm @@ -1,5 +1,6 @@ port module Main exposing (Flags, main) +import Annotation import Auth import Browser import Browser.Dom as Dom @@ -8,18 +9,27 @@ import Dict exposing (Dict) import Filters exposing (Filters, applyFilterToggle, applyFloatFilter, applyIntFilter, applyStringFilter, decodeFilterJson, encodeActiveFilters, resetAltColourAdjust, resetFilters, updateFilters) import Http import IIIF +import IIIF.Annotation as IIIFAnnotation import IIIF.Language exposing (Language(..)) -import IIIF.Presentation exposing (Collection, CollectionItem(..), IIIFCollection(..), IIIFManifest, IIIFResource(..), Range, RangeItem(..), ViewingDirection(..), isPagedLayout, manifestViewingLayout, toCanvases, toHomepage, toMetadata, toRanges, toViewingDirection) +import IIIF.Presentation exposing (AnnotationSource(..), Collection, CollectionItem(..), IIIFCollection(..), IIIFManifest(..), IIIFResource(..), Range, RangeItem(..), ViewingDirection(..), isPagedLayout, manifestViewingLayout, toCanvases, toHomepage, toMetadata, toRanges, toViewingDirection) +import IIIF.Version import Json.Decode as Decode import Json.Encode as Encode -import Model exposing (ContentsView(..), Model, ResourceResponse(..), Response(..), SidebarState(..), ViewMode(..), getPageAt, manifestToPages, primaryImage) +import Model exposing (ContentsView(..), Model, ResourceResponse(..), Response(..), SidebarState(..), ViewMode(..), currentManifest, getPageAt, manifestToPages, primaryImage) import Msg exposing (Msg(..)) import Process import Set import Task +import Url.Builder import View +port annotationsUpdated : { canvasId : String, annotations : List Encode.Value } -> Cmd msg + + +port annotationsVisibilityUpdated : Bool -> Cmd msg + + port authDestroyed : (() -> msg) -> Sub msg @@ -143,12 +153,15 @@ port tileSourceResolutionFailed : { requestId : String, message : String } -> Cm port tileSourceResolutionSucceeded : Encode.Value -> Cmd msg -port tileSourcesUpdated : { resourceId : String, tileSources : List { sourceId : String, url : String, isStatic : Bool }, initialPageIndex : Int } -> Cmd msg +port tileSourcesUpdated : { resourceId : String, tileSources : List { sourceId : String, url : String, isStatic : Bool, canvasId : String }, initialPageIndex : Int } -> Cmd msg port viewerLoadingChanged : (Bool -> msg) -> Sub msg +port viewerPageLoaded : (Int -> msg) -> Sub msg + + port zoomBy : Float -> Cmd msg @@ -168,6 +181,9 @@ type alias Flags = , sidebarPanel : String , showTitle : Bool , userLanguage : String + , enableAnnotations : Bool + , enableAnnotationSelection : Bool + , annotationServer : Maybe String } @@ -181,6 +197,45 @@ main = } +annotationImageServiceForCanvas : String -> Model -> Maybe String +annotationImageServiceForCanvas canvasId model = + model.pages + |> List.filter (\page -> page.canvasId == canvasId) + |> List.head + |> Maybe.andThen primaryImage + |> Maybe.andThen + (\image -> + if image.isStatic || Auth.requiresAuthorization image.auth then + Nothing + + else + Just image.tileSource + ) + + +annotationServerUrl : String -> String -> String -> String +annotationServerUrl server canvasId version = + let + query = + Url.Builder.toQuery + [ Url.Builder.string "canvasURI" canvasId + , Url.Builder.string "iiifVersion" version + ] + in + if String.contains "?" server then + server ++ "&" ++ String.dropLeft 1 query + + else + server ++ query + + +annotationSourcesForManifest : IIIFManifest -> Dict String (List AnnotationSource) +annotationSourcesForManifest manifest = + toCanvases manifest + |> List.map (\canvas -> ( canvas.id, canvas.annotationSources )) + |> Dict.fromList + + buildRangeIndexMap : Dict String Int -> List Range -> Dict String (Maybe Int) buildRangeIndexMap canvasIndex ranges = List.foldl @@ -199,6 +254,7 @@ clearViewer resourceId = , pageAspectsUpdated [] , pageLabelsUpdated [] , filterPreviewUpdated Nothing + , annotationsUpdated { canvasId = "", annotations = [] } ] @@ -274,7 +330,17 @@ handleManifestLoaded resourceId initialPage model manifest = tileSources = List.filterMap - (primaryImage >> Maybe.map (\image -> { sourceId = image.sourceId, url = image.tileSource, isStatic = image.isStatic })) + (\page -> + primaryImage page + |> Maybe.map + (\image -> + { sourceId = image.sourceId + , url = image.tileSource + , isStatic = image.isStatic + , canvasId = page.canvasId + } + ) + ) pages authSources = @@ -327,6 +393,9 @@ handleManifestLoaded resourceId initialPage model manifest = in ( { model | currentZoom = Nothing + , annotationSources = annotationSourcesForManifest manifest + , annotationLoading = Set.empty + , annotationsByCanvas = Dict.empty , auth = Auth.registerSources authSources Auth.init , filters = resetFilters , hasTileSources = not (List.isEmpty tileSources) @@ -455,6 +524,13 @@ init flags = , contentsView = ContentsIndex , currentZoom = Nothing , detectedLanguage = userLanguage + , enableAnnotations = flags.enableAnnotations + , enableAnnotationSelection = flags.enableAnnotationSelection + , annotationServer = flags.annotationServer + , annotationsVisible = flags.enableAnnotations + , annotationSources = Dict.empty + , annotationLoading = Set.empty + , annotationsByCanvas = Dict.empty , filterGroupExpanded = Set.empty , filters = resetFilters , filtersJsonError = Nothing @@ -493,7 +569,7 @@ init flags = } , Cmd.batch [ IIIF.requestResource ServerRespondedWithResource flags.acceptHeaders manifestUrl - , Task.perform (\viewport -> ViewportChanged (round viewport.viewport.width) (round viewport.viewport.height)) Dom.getViewport + , Task.perform (\viewport -> ViewportChanged (round viewport.viewport.width)) Dom.getViewport ] ) @@ -734,6 +810,79 @@ replaceCollectionById collectionId replacement collection = [] +requestAnnotations : String -> Model -> ( Model, Cmd Msg ) +requestAnnotations canvasId model = + if not model.enableAnnotations || Set.member canvasId model.annotationLoading || Dict.member canvasId model.annotationsByCanvas then + ( model, Cmd.none ) + + else + let + sources = + Dict.get canvasId model.annotationSources + |> Maybe.withDefault [] + + request url = + IIIF.requestAnnotationPage + (ServerRespondedWithAnnotations canvasId) + model.acceptHeaders + url + + inlineAnnotations = + sources + |> List.filterMap + (\source -> + case source of + AnnotationSourceUrl _ -> + Nothing + + InlineAnnotationPage value -> + Decode.decodeValue IIIFAnnotation.decodePage value |> Result.toMaybe + ) + |> List.concat + + urls = + sources + |> List.filterMap + (\source -> + case source of + AnnotationSourceUrl url -> + Just url + + InlineAnnotationPage _ -> + Nothing + ) + + fallback = + case ( List.isEmpty sources, model.annotationServer, currentManifest model ) of + ( True, Just server, Just (IIIFManifest version _) ) -> + [ annotationServerUrl server + canvasId + (if version == IIIF.Version.IIIFV2 then + "2" + + else + "3" + ) + ] + + _ -> + [] + + nextModel = + if List.isEmpty inlineAnnotations then + model + + else + { model | annotationsByCanvas = Dict.insert canvasId inlineAnnotations model.annotationsByCanvas } + in + ( { nextModel | annotationLoading = Set.insert canvasId nextModel.annotationLoading } + , Cmd.batch + (List.map request (urls ++ fallback) + ++ [ annotationsUpdated { canvasId = canvasId, annotations = List.map (Annotation.encode (annotationImageServiceForCanvas canvasId model)) inlineAnnotations } ] + ) + ) + + resolveInitialPageIndex : Maybe Decode.Value -> List Model.Page -> Int resolveInitialPageIndex encoded pages = let @@ -966,7 +1115,8 @@ subscriptions model = , fullscreenChanged ClientNotifiedFullscreenChanged , zoomChanged UserChangedZoomLevel , viewerLoadingChanged ViewerLoadingChanged - , Browser.Events.onResize ViewportChanged + , viewerPageLoaded ViewerLoadedPage + , Browser.Events.onResize (\width _ -> ViewportChanged width) , case model.sidebarDrag of Just _ -> Sub.batch @@ -1715,7 +1865,7 @@ update msg model = ViewerLoadingChanged isLoading -> ( { model | isViewerLoading = isLoading }, Cmd.none ) - ViewportChanged width _ -> + ViewportChanged width -> let nextIsMobile = width <= mobileWidthBreakpoint @@ -1736,6 +1886,39 @@ update msg model = in ( nextModel, Cmd.none ) + ViewerLoadedPage index -> + case getPageAt index model.pages of + Just page -> + requestAnnotations page.canvasId model + + Nothing -> + ( model, Cmd.none ) + + ServerRespondedWithAnnotations canvasId result -> + let + nextModel = + { model | annotationLoading = Set.remove canvasId model.annotationLoading } + in + case result of + Ok annotations -> + let + merged = + Dict.get canvasId nextModel.annotationsByCanvas + |> Maybe.withDefault [] + |> (\existing -> annotations ++ existing) + in + ( { nextModel | annotationsByCanvas = Dict.insert canvasId merged nextModel.annotationsByCanvas } + , annotationsUpdated { canvasId = canvasId, annotations = List.map (Annotation.encode (annotationImageServiceForCanvas canvasId nextModel)) merged } + ) + + Err _ -> + ( nextModel, Cmd.none ) + + UserToggledAnnotations -> + ( { model | annotationsVisible = not model.annotationsVisible } + , annotationsVisibilityUpdated (not model.annotationsVisible) + ) + updateZoom : Model -> Float -> ( Model, Cmd Msg ) updateZoom model factor = diff --git a/nginx/app/dependencies/diva.js/src/Model.elm b/nginx/app/dependencies/diva.js/src/Model.elm index 8aef6271..9268740e 100644 --- a/nginx/app/dependencies/diva.js/src/Model.elm +++ b/nginx/app/dependencies/diva.js/src/Model.elm @@ -3,10 +3,11 @@ module Model exposing (CollectionState, ContentsView(..), Model, Page, PageImage import Auth import Dict exposing (Dict) import Filters exposing (Filters) +import IIIF.Annotation as IIIFAnnotation import IIIF.Auth as IIIFAuth import IIIF.Image exposing (createImageAddress, thumbnailUrlFromInfo) import IIIF.Language exposing (Language, extractLabelFromLanguageMap) -import IIIF.Presentation exposing (Canvas, IIIFCollection, IIIFManifest, Image, ImageType(..), canvasAspect, canvasLabel, toCanvases) +import IIIF.Presentation exposing (AnnotationSource, Canvas, IIIFCollection, IIIFManifest, Image, ImageType(..), canvasAspect, canvasLabel, toCanvases) import Json.Decode as Decode import Json.Encode as Encode import Set exposing (Set) @@ -71,6 +72,13 @@ type alias Model = , filterGroupExpanded : Set String , contentsView : ContentsView , detectedLanguage : Language + , enableAnnotations : Bool + , enableAnnotationSelection : Bool + , annotationServer : Maybe String + , annotationsVisible : Bool + , annotationSources : Dict String (List AnnotationSource) + , annotationLoading : Set String + , annotationsByCanvas : Dict String (List IIIFAnnotation.Annotation) } diff --git a/nginx/app/dependencies/diva.js/src/Msg.elm b/nginx/app/dependencies/diva.js/src/Msg.elm index b72624e2..b3508fbb 100644 --- a/nginx/app/dependencies/diva.js/src/Msg.elm +++ b/nginx/app/dependencies/diva.js/src/Msg.elm @@ -3,6 +3,7 @@ module Msg exposing (Msg(..)) import Auth import Filters exposing (FilterFloatValue, FilterIntValue, FilterStringValue, FilterToggle) import Http +import IIIF.Annotation exposing (Annotation) import IIIF.Presentation exposing (IIIFManifest, IIIFResource) @@ -63,4 +64,7 @@ type Msg | UserUpdatedFilterJsonInput String | UserUpdatedFilterString FilterStringValue String | ViewerLoadingChanged Bool - | ViewportChanged Int Int + | ViewportChanged Int + | ViewerLoadedPage Int + | ServerRespondedWithAnnotations String (Result Http.Error (List Annotation)) + | UserToggledAnnotations diff --git a/nginx/app/dependencies/diva.js/src/View/HtmlRenderer.elm b/nginx/app/dependencies/diva.js/src/View/HtmlRenderer.elm index eb877a26..ec170f6c 100644 --- a/nginx/app/dependencies/diva.js/src/View/HtmlRenderer.elm +++ b/nginx/app/dependencies/diva.js/src/View/HtmlRenderer.elm @@ -1,136 +1,496 @@ -module View.HtmlRenderer exposing (renderHtml) +module View.HtmlRenderer exposing (Node(..), parse, renderHtml) -import Html exposing (Html, text) -import Html.Parser as HtmlParser -import Html.Parser.Util as HtmlParserUtil +{-| A deliberately small, safe HTML parser for the subset of markup permitted +in IIIF manifest text. It uses `elm/parser`, rather than trying to implement +the complete HTML5 parsing algorithm. +-} + +import Html exposing (Html, node, text) +import Html.Attributes as HA +import Parser exposing ((|.), (|=), Parser) + + +type Node + = Text String + | Element String (List ( String, String )) (List Node) + + +parse : String -> List Node +parse rawHtml = + case Parser.run documentParser rawHtml of + Ok tokens -> + tokens + |> List.foldl applyToken emptyTree + |> closeAll + |> .roots + |> List.reverse + |> sanitizeNodes + + Err _ -> + [ Text rawHtml ] renderHtml : String -> List (Html msg) renderHtml rawHtml = - let - normalized = - normalizeHtml rawHtml + parse rawHtml |> List.map renderNode - renderNodes nodes = - sanitizeNodes nodes - |> HtmlParserUtil.toVirtualDom - in - case HtmlParser.run normalized of - Ok nodes -> - renderNodes nodes - Err _ -> - case HtmlParser.run ("
" ++ normalized ++ "
") of - Ok nodes -> - unwrapRootDiv nodes - |> renderNodes +appendNode : Node -> TreeState -> TreeState +appendNode child state = + case state.openElements of + [] -> + { state | roots = child :: state.roots } - Err _ -> - [ text rawHtml ] + openElement :: remaining -> + { state | openElements = { openElement | children = child :: openElement.children } :: remaining } -ensureAnchorDefaults : List HtmlParser.Attribute -> List HtmlParser.Attribute -ensureAnchorDefaults attrs = - let - hasTarget = - List.any (\attr -> Tuple.first attr == "target") attrs +applyToken : Token -> TreeState -> TreeState +applyToken token state = + case token of + StartTag name attributes selfClosing -> + if selfClosing || isVoidElement name then + appendNode (Element name attributes []) state - hasRel = - List.any (\attr -> Tuple.first attr == "rel") attrs - in - attrs - |> (\current -> - if hasTarget then - current + else + { state | openElements = { name = name, attributes = attributes, children = [] } :: state.openElements } - else - ( "target", "_blank" ) :: current - ) - |> (\current -> - if hasRel then - current + EndTag name -> + if List.any (\openElement -> openElement.name == name) state.openElements then + closeThrough name state - else - ( "rel", "noopener noreferrer" ) :: current - ) + else + state + TextToken value -> + if String.isEmpty value then + state + + else + appendNode (Text value) state -isAllowedTag : String -> Bool -isAllowedTag tag = - List.member tag [ "div", "p", "br", "em", "i", "strong", "b", "a", "ul", "ol", "li", "dl", "dt", "dd", "span", "img" ] +attributeParser : Parser ( String, String ) +attributeParser = + Parser.getChompedString (chompOneOrMore isAttributeNameCharacter) + |> Parser.map String.toLower + |> Parser.andThen attributeValueParser -normalizeHtml : String -> String -normalizeHtml rawHtml = - String.replace "
" "
" rawHtml - |> String.replace "
" "
" - |> String.replace "

" "

" +attributeStringParser : Parser String +attributeStringParser = + Parser.oneOf + [ quotedAttributeParser '"' + , quotedAttributeParser '\'' + , Parser.getChompedString (chompOneOrMore isUnquotedAttributeCharacter) + ] -sanitizeAnchorAttr : HtmlParser.Attribute -> Maybe HtmlParser.Attribute -sanitizeAnchorAttr attr = - case Tuple.first attr of - "href" -> - Just attr + +attributeValueParser : String -> Parser ( String, String ) +attributeValueParser name = + Parser.succeed (\value -> ( name, decodeEntities value )) + |. whitespace + |= Parser.oneOf + [ Parser.succeed identity + |. Parser.symbol "=" + |. whitespace + |= attributeStringParser + , Parser.succeed "" + ] + + +chompOneOrMore : (Char -> Bool) -> Parser () +chompOneOrMore predicate = + Parser.succeed () + |. Parser.chompIf predicate + |. Parser.chompWhile predicate + + +closeAll : TreeState -> TreeState +closeAll state = + case state.openElements of + [] -> + state _ -> - Nothing + closeAll (closeTop state) -sanitizeAttrs : String -> List HtmlParser.Attribute -> List HtmlParser.Attribute -sanitizeAttrs tag attrs = - case tag of - "a" -> - List.filterMap sanitizeAnchorAttr attrs - |> ensureAnchorDefaults +closeThrough : String -> TreeState -> TreeState +closeThrough name state = + case state.openElements of + [] -> + state - "img" -> - List.filterMap sanitizeImageAttr attrs + openElement :: _ -> + let + closedState = + closeTop state + in + if openElement.name == name then + closedState + + else + closeThrough name closedState + + +closeTop : TreeState -> TreeState +closeTop state = + case state.openElements of + [] -> + state + + openElement :: remaining -> + appendNode + (Element openElement.name openElement.attributes (List.reverse openElement.children)) + { state | openElements = remaining } + + +codePointToString : Int -> Maybe String +codePointToString codePoint = + if codePoint >= 0 && codePoint <= 1114111 then + Just (String.fromChar (Char.fromCode codePoint)) + + else + Nothing + + +commentParser : Parser Token +commentParser = + Parser.succeed (TextToken "") + |. Parser.symbol "" + + +decodeEntities : String -> String +decodeEntities value = + case String.split "&" value of + [] -> + value + + first :: remaining -> + List.foldl (\part result -> result ++ decodeEntityPart part) first remaining + + +decodeEntityPart : String -> String +decodeEntityPart part = + case String.split ";" part of + reference :: remainder :: rest -> + entityValue reference + |> Maybe.map (\decoded -> decoded ++ String.join ";" (remainder :: rest)) + |> Maybe.withDefault ("&" ++ part) _ -> - [] + "&" ++ part + + +documentParser : Parser (List Token) +documentParser = + Parser.loop [] documentStep + + +documentStep : List Token -> Parser (Parser.Step (List Token) (List Token)) +documentStep reversedTokens = + Parser.oneOf + [ Parser.end |> Parser.map (\_ -> Parser.Done (List.reverse reversedTokens)) + , tokenParser |> Parser.map (\token -> Parser.Loop (token :: reversedTokens)) + ] + + +emptyTree : TreeState +emptyTree = + { openElements = [], roots = [] } + + +endTagParser : Parser Token +endTagParser = + Parser.succeed EndTag + |. Parser.symbol "" + + +entityValue : String -> Maybe String +entityValue reference = + case reference of + "amp" -> + Just "&" + + "apos" -> + Just "'" + + "copy" -> + Just "©" + + "gt" -> + Just ">" + + "hellip" -> + Just "…" + + "lt" -> + Just "<" + + "mdash" -> + Just "—" + + "nbsp" -> + Just "\u{00A0}" + + "ndash" -> + Just "–" + + "quot" -> + Just "\"" + + "reg" -> + Just "®" + + _ -> + numericEntityValue reference + + +hexadecimalDigit : Char -> Maybe Int +hexadecimalDigit character = + if character >= '0' && character <= '9' then + Just (Char.toCode character - Char.toCode '0') + + else if character >= 'a' && character <= 'f' then + Just (10 + Char.toCode character - Char.toCode 'a') + + else if character >= 'A' && character <= 'F' then + Just (10 + Char.toCode character - Char.toCode 'A') + else + Nothing -sanitizeImageAttr : HtmlParser.Attribute -> Maybe HtmlParser.Attribute -sanitizeImageAttr attr = - case Tuple.first attr of - "alt" -> - Just attr - "src" -> - Just attr +hexadecimalStep : Char -> Maybe Int -> Maybe Int +hexadecimalStep character maybeValue = + case ( maybeValue, hexadecimalDigit character ) of + ( Just value, Just digit ) -> + Just (value * 16 + digit) _ -> Nothing -sanitizeNode : HtmlParser.Node -> List HtmlParser.Node -sanitizeNode node = - case node of - HtmlParser.Text textValue -> - [ HtmlParser.Text textValue ] +hexadecimalToInt : String -> Maybe Int +hexadecimalToInt value = + if String.isEmpty value then + Nothing - HtmlParser.Element tag attrs children -> - if isAllowedTag tag then - [ HtmlParser.Element tag (sanitizeAttrs tag attrs) (sanitizeNodes children) ] + else + String.toList value |> List.foldl hexadecimalStep (Just 0) + + +isAllowedTag : String -> Bool +isAllowedTag name = + List.member name + [ "div", "p", "br", "em", "i", "strong", "b", "a", "ul", "ol", "li", "dl", "dt", "dd", "span", "img" ] + + +isAttributeNameCharacter : Char -> Bool +isAttributeNameCharacter character = + not (isWhitespace character || character == '=' || character == '>' || character == '/') + + +isSafeUrl : String -> Bool +isSafeUrl value = + let + normalized = + String.toLower (String.trim value) + in + String.startsWith "https://" normalized || String.startsWith "http://" normalized || String.startsWith "mailto:" normalized || String.startsWith "tel:" normalized || String.startsWith "/" normalized || String.startsWith "./" normalized || String.startsWith "../" normalized || String.startsWith "#" normalized || String.startsWith "?" normalized || not (String.contains ":" normalized) + + +isTagNameCharacter : Char -> Bool +isTagNameCharacter character = + Char.isAlpha character || Char.isDigit character || character == '-' + + +isUnquotedAttributeCharacter : Char -> Bool +isUnquotedAttributeCharacter character = + not (isWhitespace character || character == '>' || character == '/') + + +isVoidElement : String -> Bool +isVoidElement name = + name == "br" || name == "img" + + +isWhitespace : Char -> Bool +isWhitespace character = + List.member character [ ' ', '\t', '\n', '\u{000D}', '\u{000C}' ] + + +numericEntityValue : String -> Maybe String +numericEntityValue reference = + if String.startsWith "#x" reference || String.startsWith "#X" reference then + String.dropLeft 2 reference |> hexadecimalToInt |> Maybe.andThen codePointToString + + else if String.startsWith "#" reference then + String.dropLeft 1 reference |> String.toInt |> Maybe.andThen codePointToString + + else + Nothing + + +type alias OpenElement = + { name : String + , attributes : List ( String, String ) + , children : List Node + } + + +quotedAttributeParser : Char -> Parser String +quotedAttributeParser quote = + Parser.succeed identity + |. Parser.chompIf ((==) quote) + |= Parser.getChompedString (Parser.chompWhile ((/=) quote)) + |. Parser.chompIf ((==) quote) + + +renderAttribute : ( String, String ) -> Html.Attribute msg +renderAttribute ( name, value ) = + HA.attribute name value + + +renderChildren : List Node -> List (Html msg) +renderChildren children = + List.map renderNode children + + +renderNode : Node -> Html msg +renderNode nodeValue = + case nodeValue of + Text value -> + text value + + Element name attributes children -> + node name (List.map renderAttribute attributes) (renderChildren children) - else - sanitizeNodes children - HtmlParser.Comment _ -> +sanitizeAnchorAttribute : ( String, String ) -> Maybe ( String, String ) +sanitizeAnchorAttribute ( name, value ) = + if name == "href" && isSafeUrl value then + Just ( name, value ) + + else + Nothing + + +sanitizeAttributes : String -> List ( String, String ) -> List ( String, String ) +sanitizeAttributes tag attributes = + case tag of + "a" -> + List.filterMap sanitizeAnchorAttribute attributes + ++ [ ( "target", "_blank" ), ( "rel", "noopener noreferrer" ) ] + + "img" -> + List.filter (\( name, _ ) -> name == "src" || name == "alt") attributes + + _ -> [] -sanitizeNodes : List HtmlParser.Node -> List HtmlParser.Node +sanitizeNode : Node -> List Node +sanitizeNode nodeValue = + case nodeValue of + Text value -> + [ Text value ] + + Element name attributes children -> + let + sanitizedChildren = + sanitizeNodes children + in + if isAllowedTag name then + [ Element name (sanitizeAttributes name attributes) sanitizedChildren ] + + else + sanitizedChildren + + +sanitizeNodes : List Node -> List Node sanitizeNodes nodes = List.concatMap sanitizeNode nodes -unwrapRootDiv : List HtmlParser.Node -> List HtmlParser.Node -unwrapRootDiv nodes = - case nodes of - [ HtmlParser.Element "div" _ children ] -> - children +startTagParser : Parser Token +startTagParser = + Parser.succeed identity + |. Parser.symbol "<" + |= tagNameParser + |> Parser.andThen startTagTail - _ -> - nodes + +startTagStep : String -> List ( String, String ) -> Parser (Parser.Step (List ( String, String )) Token) +startTagStep name reversedAttributes = + Parser.oneOf + [ Parser.symbol "/>" |> Parser.map (\_ -> Parser.Done (StartTag name (List.reverse reversedAttributes) True)) + , Parser.symbol ">" |> Parser.map (\_ -> Parser.Done (StartTag name (List.reverse reversedAttributes) False)) + , whitespace1 |> Parser.map (\_ -> Parser.Loop reversedAttributes) + , attributeParser |> Parser.map (\attribute -> Parser.Loop (attribute :: reversedAttributes)) + ] + + +startTagTail : String -> Parser Token +startTagTail name = + Parser.loop [] (startTagStep name) + + +tagNameParser : Parser String +tagNameParser = + Parser.getChompedString (chompOneOrMore isTagNameCharacter) + |> Parser.map String.toLower + + +tagParser : Parser Token +tagParser = + Parser.oneOf + [ endTagParser + , startTagParser + ] + + +textParser : Parser Token +textParser = + Parser.getChompedString (chompOneOrMore ((/=) '<')) + |> Parser.map (decodeEntities >> TextToken) + + +type Token + = StartTag String (List ( String, String )) Bool + | EndTag String + | TextToken String + + +tokenParser : Parser Token +tokenParser = + Parser.oneOf + [ Parser.backtrackable commentParser + , Parser.symbol "-->" |> Parser.map (\_ -> TextToken "") + , Parser.backtrackable tagParser + , textParser + , Parser.symbol "<" |> Parser.map (\_ -> TextToken "<") + ] + + +type alias TreeState = + { openElements : List OpenElement + , roots : List Node + } + + +whitespace : Parser () +whitespace = + Parser.chompWhile isWhitespace + + +whitespace1 : Parser () +whitespace1 = + Parser.succeed () + |. Parser.chompIf isWhitespace + |. Parser.chompWhile isWhitespace diff --git a/nginx/app/dependencies/diva.js/src/View/Icons.elm b/nginx/app/dependencies/diva.js/src/View/Icons.elm index a7ed01ed..cb47ceef 100644 --- a/nginx/app/dependencies/diva.js/src/View/Icons.elm +++ b/nginx/app/dependencies/diva.js/src/View/Icons.elm @@ -1,4 +1,4 @@ -module View.Icons exposing (close, downloadSelection, fromFullscreen, hideSidebar, info, nextPage, openingPageView, pageViewOpen, prevPage, reset, scrollingPageView, shiftLeft, shiftRight, showCollection, showSidebar, toFullscreen, zoomIn, zoomOut) +module View.Icons exposing (close, downloadSelection, fromFullscreen, hideAnnotations, hideSidebar, info, nextPage, openingPageView, pageViewOpen, prevPage, reset, scrollingPageView, shiftLeft, shiftRight, showAnnotations, showCollection, showSidebar, toFullscreen, zoomIn, zoomOut) import Html exposing (Html) import Svg exposing (svg) @@ -29,11 +29,19 @@ fromFullscreen = } +hideAnnotations : Html msg +hideAnnotations = + makeSvgIcon + { viewBox = "0 0 640 512" + , path = "M48.4 14.8L29.4 .1 0 38 19 52.7 591.5 497.2l19 14.7L639.9 474l-19-14.7L513.7 376c38.8-36.5 62.3-84 62.3-136C576 125.1 461.4 32 320 32c-68.2 0-130.2 21.7-176 57L48.4 14.8zm135 104.8C218.6 95.5 265.3 80 320 80c124.7 0 208 80.5 208 160c0 38.1-19.2 76.5-52.9 106.1L183.4 119.6zM424.1 430.1l-46-36.3c-18.1 4-37.5 6.2-58 6.2c-26.8 0-52.3-3.9-75.7-11l-13.9-4.2-13.9 4.2-57.6 17.3 7-18.5 10.8-28.9-21.8-21.9c-28-28-42.9-61.8-42.9-96.9c0-16.2 3.4-32.4 10-47.9l-39-30.8C70.7 185.6 64 212.2 64 240c0 49.6 21.3 95.1 56.9 130.8l-19.8 52.7L80 480l57.8-17.3 92.6-27.8c27.9 8.5 58.1 13.1 89.6 13.1c37 0 72.3-6.4 104.1-17.9z" + } + + hideSidebar : Html msg hideSidebar = makeSvgIcon - { viewBox = "0 0 640 512" - , path = "M24 64c13.3 0 24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64zm217 71c9.4 9.4 9.4 24.6 0 33.9l-63 63 284.1 0-63-63c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L537 239c9.4 9.4 9.4 24.6 0 33.9L433 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l63-63-284.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L207 135c9.4-9.4 24.6-9.4 33.9 0zM640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z" + { viewBox = "0 0 512 512" + , path = "M168 80l24 0 0-48-24 0L24 32 0 32 0 56 0 456l0 24 24 0 144 0 24 0 0-48-24 0L48 432 48 80l120 0zM493.8 273l17-17-17-17-128-128-17-17L314.9 128l17 17 87 87L184 232l-24 0 0 48 24 0 234.9 0-87 87-17 17 33.9 33.9 17-17 128-128z" } @@ -109,11 +117,19 @@ shiftRight = } +showAnnotations : Html msg +showAnnotations = + makeSvgIcon + { viewBox = "0 0 512 512" + , path = "M112.7 358.8l-10.8 28.9-7 18.5 57.6-17.3 13.9-4.2 13.9 4.2c23.3 7.1 48.8 11 75.7 11c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 35.1 15 68.9 42.9 96.9l21.8 21.9zm-39 103.9L16 480l21.2-56.5 19.8-52.7C21.3 335.1 0 289.6 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-31.5 0-61.7-4.6-89.6-13.1L73.8 462.7zM144 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM400 304v16H272 192 144V304l64-80 22 27.4L296 160 400 304z" + } + + showCollection : Html msg showCollection = makeSvgIcon { viewBox = "0 0 512 512" - , path = "M217 401L345 273c9.4-9.4 9.4-24.6 0-33.9L217 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zM344 80l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24z" + , path = "M224 80V432H464V80H224zM0 32H48 464h48V80 432v48H464 48 0V432 80 32zM64 96v48h96V96H64zm96 96H64v48h96V192zM64 288v48h96V288H64z" } @@ -121,7 +137,7 @@ showSidebar : Html msg showSidebar = makeSvgIcon { viewBox = "0 0 512 512" - , path = "M295 401L167 273c-9.4-9.4-9.4-24.6 0-33.9L295 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87L488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-246.1 0 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM168 80L88 80c-22.1 0-40 17.9-40 40l0 272c0 22.1 17.9 40 40 40l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-48.6 0-88-39.4-88-88L0 120C0 71.4 39.4 32 88 32l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z" + , path = "M288 80V432H48V80H288zM512 32H464 48 0V80 432v48H48 464h48V432 80 32zM448 96v48H352V96h96zm-96 96h96v48H352V192zm96 96v48H352V288h96z" } diff --git a/nginx/app/dependencies/diva.js/src/View/Toolbar.elm b/nginx/app/dependencies/diva.js/src/View/Toolbar.elm index 52adc4bd..5b84af7f 100644 --- a/nginx/app/dependencies/diva.js/src/View/Toolbar.elm +++ b/nginx/app/dependencies/diva.js/src/View/Toolbar.elm @@ -42,6 +42,28 @@ viewToolbar model = [ Lazy.lazy2 viewCurrentLabel model.fullscreen currentLabelText , div [ HA.class "diva-canvas-toolbar-section is-right" ] (viewLogoutActions model + ++ (if model.enableAnnotations then + [ viewButton + { label = + if model.annotationsVisible then + "Hide Annotations" + + else + "Show Annotations" + , icon = + if model.annotationsVisible then + Icons.hideAnnotations + + else + Icons.showAnnotations + , onClickMsg = Just UserToggledAnnotations + , isFullscreen = model.fullscreen + } + ] + + else + [] + ) ++ [ viewButton { label = "Page View" , icon = Icons.pageViewOpen diff --git a/nginx/app/dependencies/diva.js/src/auth.ts b/nginx/app/dependencies/diva.js/src/auth.ts index 1bf50684..6113fb04 100644 --- a/nginx/app/dependencies/diva.js/src/auth.ts +++ b/nginx/app/dependencies/diva.js/src/auth.ts @@ -1,81 +1,102 @@ -export type TileSourceDescriptor = { - sourceId: string; url : string; isStatic : boolean -}; -export type ResolvedTileSource = string|Record; +import { + nonCorsStaticTileSource, + type ResolvedTileSource, + staticImageTileSource, + type TileSourceDescriptor, +} from "./image-utils"; +import type { DivaStaticImageCorsPolicy } from "./public-api"; + +export type { ResolvedTileSource, TileSourceDescriptor } from "./image-utils"; type SendPort = { - send: (value: T) => void + send: (value: T) => void; }; type SubscribePort = { - subscribe: (callback: (value: T) => void) => void + subscribe: (callback: (value: T) => void) => void; }; type BrowserPorts = { - resolveTileSourceRequested: SendPort<{requestId : string; sourceId : string}>; - resolveTileSourceCancelled : SendPort; - tileSourceResolutionSucceeded : SubscribePort; - tileSourceResolutionFailed : SubscribePort<{requestId : string; message : string}>; - authHttpRequested : SubscribePort; - authHttpCancelled : SubscribePort; - authHttpResponded : SendPort<{id : string; status : number; body : string}>; - authHttpFailed : SendPort<{id : string; message : string}>; - authStorageRequested : SubscribePort; - authStorageResponded : SendPort<{flowId : string; now : number; value : unknown}>; - authTokenFrameRequested : SubscribePort; - authTokenFrameCancelled : SubscribePort; - authTokenMessage : SendPort<{flowId : string; now : number; value : unknown}>; - authTokenFailed : SendPort<{flowId : string; message : string}>; - authPopupChanged : SendPort<{flowId : string; status : string}>; - authLogoutChanged : SendPort<{sessionId : string; status : string}>; - authDestroyed : SendPort; + resolveTileSourceRequested: SendPort<{ requestId: string; sourceId: string }>; + resolveTileSourceCancelled: SendPort; + tileSourceResolutionSucceeded: SubscribePort; + tileSourceResolutionFailed: SubscribePort<{ requestId: string; message: string }>; + authHttpRequested: SubscribePort; + authHttpCancelled: SubscribePort; + authHttpResponded: SendPort<{ id: string; status: number; body: string }>; + authHttpFailed: SendPort<{ id: string; message: string }>; + authStorageRequested: SubscribePort; + authStorageResponded: SendPort<{ flowId: string; now: number; value: unknown }>; + authTokenFrameRequested: SubscribePort; + authTokenFrameCancelled: SubscribePort; + authTokenMessage: SendPort<{ flowId: string; now: number; value: unknown }>; + authTokenFailed: SendPort<{ flowId: string; message: string }>; + authPopupChanged: SendPort<{ flowId: string; status: string }>; + authLogoutChanged: SendPort<{ sessionId: string; status: string }>; + authDestroyed: SendPort; }; type Resolution = { - requestId: string; url : string; isStatic : boolean; credentialed : boolean; + requestId: string; + url: string; + isStatic: boolean; + credentialed: boolean; infoJson?: unknown; }; type HttpRequest = { - id: string; url : string; + id: string; + url: string; bearer?: string | null; withCredentials?: boolean; }; type StorageRequest = { - action: "read"|"write"|"remove"; flowId : string; key : string; + action: "read" | "write" | "remove"; + flowId: string; + key: string; accessToken?: string; expiresAt?: number; }; type TokenFrameRequest = { - flowId: string; url : string; messageId : string + flowId: string; + url: string; + messageId: string; }; type Pending = { - sourceId: string; descriptorKey : string; - resolve : (source: ResolvedTileSource) => void; - reject : (error: Error) => void; + sourceId: string; + descriptorKey: string; + resolve: (source: ResolvedTileSource) => void; + reject: (error: Error) => void; }; type Inflight = { - requestId: string; descriptorKey : string; promise : Promise; - consumers : Set; + requestId: string; + descriptorKey: string; + promise: Promise; + consumers: Set; }; type SourceResolutionCache = { - descriptorKey: string; activeState : "anonymous" | "credentialed"; - resolutions : Map<"anonymous"|"credentialed", ResolvedTileSource>; + descriptorKey: string; + activeState: "anonymous" | "credentialed"; + resolutions: Map<"anonymous" | "credentialed", ResolvedTileSource>; }; type Frame = { - element: HTMLIFrameElement; timeout : number; receive : (event: MessageEvent) => void + element: HTMLIFrameElement; + timeout: number; + receive: (event: MessageEvent) => void; }; type Popup = { - window: Window; timer : number + window: Window; + timer: number; }; const STORAGE_PREFIX = "diva:iiif-auth2:"; -const errorMessage = (error: unknown): string => error instanceof Error ? error.message : "Authorization request failed."; +const errorMessage = (error: unknown): string => + error instanceof Error ? error.message : "Authorization request failed."; const infoJsonSuffix = /\/info\.json(?:[?#].*)?$/; -const descriptorKey = (source: TileSourceDescriptor): string => JSON.stringify([ source.url, source.isStatic ]); +const descriptorKey = (source: TileSourceDescriptor): string => JSON.stringify([source.url, source.isStatic]); const cancelled = (): DOMException => new DOMException("The operation was cancelled.", "AbortError"); const cloneResolvedTileSource = (source: ResolvedTileSource): ResolvedTileSource => - typeof source === "string" ? source : {...source}; + typeof source === "string" ? source : { ...source }; const normalizeInfoJsonServiceIds = (infoJson: Record): Record => { - const normalized = {...infoJson}; + const normalized = { ...infoJson }; for (const key of ["id", "@id"]) { const value = normalized[key]; @@ -102,11 +123,13 @@ export class AuthBrowser private nextConsumer = 0; private destroyed = false; private readonly clickHandler: (event: Event) => void; + private readonly staticImageCorsPolicy: DivaStaticImageCorsPolicy; - constructor(ports: BrowserPorts, root: HTMLElement) + constructor(ports: BrowserPorts, root: HTMLElement, staticImageCorsPolicy: DivaStaticImageCorsPolicy = "required") { this.ports = ports; this.root = root; + this.staticImageCorsPolicy = staticImageCorsPolicy; this.clickHandler = this.handleClick.bind(this); root.addEventListener("click", this.clickHandler, true); @@ -159,19 +182,7 @@ export class AuthBrowser { Array.from(this.inflight.values()).forEach((active) => this.cancelResolution(active)); this.resolutionCache.clear(); - this.requests.forEach((controller) => controller.abort()); - this.requests.clear(); - Array.from(this.frames.keys()).forEach((flowId) => this.cancelFrame(flowId)); - this.popups.forEach((popup) => { - clearInterval(popup.timer); - popup.window.close(); - }); - this.popups.clear(); - this.logoutPopups.forEach((popup) => { - clearInterval(popup.timer); - popup.window.close(); - }); - this.logoutPopups.clear(); + this.cancelBrowserWork(); } invalidateSources(sourceIds: string[]): void @@ -179,6 +190,18 @@ export class AuthBrowser sourceIds.forEach((sourceId) => this.invalidateSource(sourceId)); } + useNonCorsStaticSource(sourceId: string): void + { + const cached = this.resolutionCache.get(sourceId); + const source = cached?.resolutions.get("anonymous"); + if (!cached || !source || typeof source !== "object" || source.type !== "image") + { + return; + } + cached.resolutions.set("anonymous", nonCorsStaticTileSource(source)); + cached.activeState = "anonymous"; + } + destroy(): void { if (this.destroyed) @@ -188,23 +211,29 @@ export class AuthBrowser this.destroyed = true; this.root.removeEventListener("click", this.clickHandler, true); this.ports.authDestroyed.send(null); + this.cancelBrowserWork(); + this.pending.forEach((pending) => pending.reject(new DOMException("The viewer was destroyed.", "AbortError"))); + this.pending.clear(); + this.inflight.clear(); + this.resolutionCache.clear(); + } + + private cancelBrowserWork(): void + { this.requests.forEach((controller) => controller.abort()); this.requests.clear(); - this.frames.forEach((_frame, flowId) => this.cancelFrame(flowId)); - this.popups.forEach((popup) => { - clearInterval(popup.timer); - popup.window.close(); - }); - this.popups.clear(); - this.logoutPopups.forEach((popup) => { + Array.from(this.frames.keys()).forEach((flowId) => this.cancelFrame(flowId)); + this.closePopups(this.popups); + this.closePopups(this.logoutPopups); + } + + private closePopups(popups: Map): void + { + popups.forEach((popup) => { clearInterval(popup.timer); popup.window.close(); }); - this.logoutPopups.clear(); - this.pending.forEach((pending) => pending.reject(new DOMException("The viewer was destroyed.", "AbortError"))); - this.pending.clear(); - this.inflight.clear(); - this.resolutionCache.clear(); + popups.clear(); } private succeed(result: Resolution): void @@ -226,17 +255,18 @@ export class AuthBrowser { tileSource = { ...normalizeInfoJsonServiceIds(result.infoJson as Record), - crossOriginPolicy : credentials, - ajaxWithCredentials : result.credentialed + crossOriginPolicy: credentials, + ajaxWithCredentials: result.credentialed, }; } else if (result.isStatic) { - tileSource = {type : "image", url : result.url, crossOriginPolicy : credentials, ajaxWithCredentials : result.credentialed}; + const useNonCors = !result.credentialed && this.staticImageCorsPolicy === "none"; + tileSource = staticImageTileSource(result.url, result.credentialed, useNonCors); } else if (result.credentialed) { - tileSource = {url : result.url, crossOriginPolicy : credentials, ajaxWithCredentials : true}; + tileSource = { url: result.url, crossOriginPolicy: credentials, ajaxWithCredentials: true }; } else { @@ -246,7 +276,11 @@ export class AuthBrowser const cached = this.resolutionCache.get(pending.sourceId); const resolutions = cached?.descriptorKey === pending.descriptorKey ? cached.resolutions : new Map(); resolutions.set(state, tileSource); - this.resolutionCache.set(pending.sourceId, {descriptorKey : pending.descriptorKey, activeState : state, resolutions}); + this.resolutionCache.set(pending.sourceId, { + descriptorKey: pending.descriptorKey, + activeState: state, + resolutions, + }); pending.resolve(tileSource); } @@ -275,10 +309,15 @@ export class AuthBrowser resolveShared = resolve; rejectShared = reject; }); - const active = {requestId, descriptorKey : key, promise, consumers : new Set()}; - this.pending.set(requestId, {sourceId : source.sourceId, descriptorKey : key, resolve : resolveShared, reject : rejectShared}); + const active = { requestId, descriptorKey: key, promise, consumers: new Set() }; + this.pending.set(requestId, { + sourceId: source.sourceId, + descriptorKey: key, + resolve: resolveShared, + reject: rejectShared, + }); this.inflight.set(source.sourceId, active); - this.ports.resolveTileSourceRequested.send({requestId, sourceId : source.sourceId}); + this.ports.resolveTileSourceRequested.send({ requestId, sourceId: source.sourceId }); return active; } @@ -305,7 +344,7 @@ export class AuthBrowser this.cancelResolution(active); } }; - signal.addEventListener("abort", abort, {once : true}); + signal.addEventListener("abort", abort, { once: true }); active.promise.then( (source) => { if (!settled) @@ -322,7 +361,8 @@ export class AuthBrowser finish(); reject(error); } - }); + }, + ); }); } @@ -359,22 +399,22 @@ export class AuthBrowser try { const response = await fetch(request.url, { - mode : "cors", - credentials : request.withCredentials ? "include" : "omit", - signal : controller.signal, - headers : request.bearer ? {Authorization : `Bearer ${request.bearer}`} : undefined + mode: "cors", + credentials: request.withCredentials ? "include" : "omit", + signal: controller.signal, + headers: request.bearer ? { Authorization: `Bearer ${request.bearer}` } : undefined, }); const body = await response.text(); if (!this.destroyed) { - this.ports.authHttpResponded.send({id : request.id, status : response.status, body}); + this.ports.authHttpResponded.send({ id: request.id, status: response.status, body }); } } catch (error) { if (!controller.signal.aborted && !this.destroyed) { - this.ports.authHttpFailed.send({id : request.id, message : errorMessage(error)}); + this.ports.authHttpFailed.send({ id: request.id, message: errorMessage(error) }); } } finally @@ -396,7 +436,10 @@ export class AuthBrowser { if (request.action === "write") { - sessionStorage.setItem(key, JSON.stringify({accessToken : request.accessToken, expiresAt : request.expiresAt})); + sessionStorage.setItem( + key, + JSON.stringify({ accessToken: request.accessToken, expiresAt: request.expiresAt }), + ); return; } if (request.action === "remove") @@ -405,13 +448,17 @@ export class AuthBrowser return; } const raw = sessionStorage.getItem(key); - this.ports.authStorageResponded.send({flowId : request.flowId, now : Date.now(), value : raw ? JSON.parse(raw) : null}); + this.ports.authStorageResponded.send({ + flowId: request.flowId, + now: Date.now(), + value: raw ? JSON.parse(raw) : null, + }); } catch (_) { if (request.action === "read") { - this.ports.authStorageResponded.send({flowId : request.flowId, now : Date.now(), value : null}); + this.ports.authStorageResponded.send({ flowId: request.flowId, now: Date.now(), value: null }); } } } @@ -444,27 +491,27 @@ export class AuthBrowser const popup = window.open(url.href, "_blank"); if (!popup) { - this.ports.authPopupChanged.send({flowId, status : "blocked"}); + this.ports.authPopupChanged.send({ flowId, status: "blocked" }); return; } - this.ports.authPopupChanged.send({flowId, status : "opened"}); + this.ports.authPopupChanged.send({ flowId, status: "opened" }); const started = Date.now(); const timer = window.setInterval(() => { if (popup.closed) { clearInterval(timer); this.popups.delete(flowId); - this.ports.authPopupChanged.send({flowId, status : "closed"}); + this.ports.authPopupChanged.send({ flowId, status: "closed" }); } else if (Date.now() - started > 10 * 60 * 1000) { popup.close(); clearInterval(timer); this.popups.delete(flowId); - this.ports.authTokenFailed.send({flowId, message : "Sign-in timed out."}); + this.ports.authTokenFailed.send({ flowId, message: "Sign-in timed out." }); } }, 250); - this.popups.set(flowId, {window : popup, timer}); + this.popups.set(flowId, { window: popup, timer }); } private startLogout(button: HTMLElement): void @@ -474,10 +521,10 @@ export class AuthBrowser const popup = window.open(url.href, "_blank"); if (!popup) { - this.ports.authLogoutChanged.send({sessionId, status : "blocked"}); + this.ports.authLogoutChanged.send({ sessionId, status: "blocked" }); return; } - this.ports.authLogoutChanged.send({sessionId, status : "opened"}); + this.ports.authLogoutChanged.send({ sessionId, status: "opened" }); const timer = window.setInterval(() => { if (!popup.closed) { @@ -485,9 +532,9 @@ export class AuthBrowser } clearInterval(timer); this.logoutPopups.delete(sessionId); - this.ports.authLogoutChanged.send({sessionId, status : "closed"}); + this.ports.authLogoutChanged.send({ sessionId, status: "closed" }); }, 250); - this.logoutPopups.set(sessionId, {window : popup, timer}); + this.logoutPopups.set(sessionId, { window: popup, timer }); } private startFrame(request: TokenFrameRequest): void @@ -500,7 +547,10 @@ export class AuthBrowser iframe.hidden = true; iframe.src = url.href; const receive = (event: MessageEvent) => { - if (event.source !== iframe.contentWindow || event.origin !== url.origin || !event.data || typeof event.data !== "object") + if ( + event.source !== iframe.contentWindow || event.origin !== url.origin || !event.data + || typeof event.data !== "object" + ) { return; } @@ -508,14 +558,14 @@ export class AuthBrowser { return; } - this.ports.authTokenMessage.send({flowId : request.flowId, now : Date.now(), value : event.data}); + this.ports.authTokenMessage.send({ flowId: request.flowId, now: Date.now(), value: event.data }); }; window.addEventListener("message", receive); const timeout = window.setTimeout(() => { this.cancelFrame(request.flowId); - this.ports.authTokenFailed.send({flowId : request.flowId, message : "The token service did not respond."}); + this.ports.authTokenFailed.send({ flowId: request.flowId, message: "The token service did not respond." }); }, 30000); - this.frames.set(request.flowId, {element : iframe, timeout, receive}); + this.frames.set(request.flowId, { element: iframe, timeout, receive }); document.body.append(iframe); } diff --git a/nginx/app/dependencies/diva.js/src/diva-esm.ts b/nginx/app/dependencies/diva.js/src/diva-esm.ts index 72bc1144..f0dca2f9 100644 --- a/nginx/app/dependencies/diva.js/src/diva-esm.ts +++ b/nginx/app/dependencies/diva.js/src/diva-esm.ts @@ -1,3 +1,2 @@ -export {Diva, - Diva as default} from "./diva"; +export { Diva, Diva as default } from "./diva"; export type * from "./public-api"; diff --git a/nginx/app/dependencies/diva.js/src/diva.ts b/nginx/app/dependencies/diva.js/src/diva.ts index 4e67a6f2..e393d7f2 100644 --- a/nginx/app/dependencies/diva.js/src/diva.ts +++ b/nginx/app/dependencies/diva.js/src/diva.ts @@ -3,38 +3,44 @@ import "./viewer-element"; // @ts-ignore import divaCss from "../cache/diva.css"; // @ts-ignore -import {Elm} from "../cache/elm-esm.js"; - -import {AuthBrowser, - type ResolvedTileSource, - type TileSourceDescriptor} from "./auth"; -import {Filters, - setFilterOptions} from "./filters"; -import type {DivaEventMap, - DivaImage, - DivaLayoutMode, - DivaOptions, - DivaPage, - DivaPageSelector, - DivaPageTarget, - DivaRegion, - DivaSidebarPanel, - DivaState, - DivaViewingDirection, - ZoomToRegionOptions} from "./public-api"; - -export type {DivaEventMap, - DivaImage, - DivaLayoutMode, - DivaOptions, - DivaPage, - DivaPageSelector, - DivaPageTarget, - DivaRegion, - DivaSidebarPanel, - DivaState, - DivaViewingDirection, - ZoomToRegionOptions} from "./public-api"; +import { Elm } from "../cache/elm-esm.js"; + +import { AuthBrowser, type ResolvedTileSource, type TileSourceDescriptor } from "./auth"; +import { Filters, setFilterOptions } from "./filters"; +import { iiifImageRegionUrl } from "./image-utils"; +import type { + DivaAnnotation, + DivaEventMap, + DivaImage, + DivaLayoutMode, + DivaOptions, + DivaPage, + DivaPageSelector, + DivaPageTarget, + DivaRegion, + DivaSidebarPanel, + DivaState, + DivaStaticImageCorsPolicy, + DivaViewingDirection, + ZoomToRegionOptions, +} from "./public-api"; + +export type { + DivaAnnotation, + DivaEventMap, + DivaImage, + DivaLayoutMode, + DivaOptions, + DivaPage, + DivaPageSelector, + DivaPageTarget, + DivaRegion, + DivaSidebarPanel, + DivaState, + DivaStaticImageCorsPolicy, + DivaViewingDirection, + ZoomToRegionOptions, +} from "./public-api"; declare const OpenSeadragon: any; @@ -145,79 +151,227 @@ type FilterSettings = { }; type FilterPreviewPayload = { - sourceId: string; tileSource : string; isStatic : boolean; - aspect : number; + sourceId: string; + tileSource: string; + isStatic: boolean; + aspect: number; filters?: FilterSettings; }; type TileSourceEntry = { - sourceId: string; url : string; isStatic : boolean + sourceId: string; + url: string; + isStatic: boolean; + canvasId?: string; +}; + +type ViewerAnnotation = { + id: string; + text: string; + html?: string; + imageService: string | null; + shape: { kind: "rect" | "svg"; x?: number; y?: number; width?: number; height?: number; value?: string }; +}; +type AnnotationPayload = { + canvasId: string; + annotations: ViewerAnnotation[]; +}; +type StoredAnnotation = { + canvasId: string; + publicAnnotation: DivaAnnotation; + viewerAnnotation: ViewerAnnotation; }; type PublicPageEntry = { index: number; - canvasId : string; - label : string; - width : number | null; - height : number | null; - primaryImage : DivaImage; - images : DivaImage[]; + canvasId: string; + label: string; + width: number | null; + height: number | null; + primaryImage: DivaImage; + images: DivaImage[]; +}; + +const copyAnnotation = (annotation: DivaAnnotation): DivaAnnotation => + JSON.parse(JSON.stringify(annotation)) as DivaAnnotation; + +const annotationBodyText = (body: unknown): string => { + if (typeof body === "string") + { + return body; + } + if (Array.isArray(body)) + { + return body.length > 0 ? annotationBodyText(body[0]) : ""; + } + if (body && typeof body === "object") + { + const value = body as Record; + return typeof value.value === "string" ? value.value : typeof value.chars === "string" + ? value.chars + : ""; + } + return ""; +}; + +const plainAnnotationText = (html: string): string => html.replace(/<[^>]*>/g, ""); + +const selectorShape = (selector: unknown): ViewerAnnotation["shape"] | undefined => { + if (!selector || typeof selector !== "object") + { + return undefined; + } + const value = selector as Record; + const type = typeof value.type === "string" ? value.type.toLowerCase() : typeof value["@type"] === "string" + ? value["@type"].toLowerCase() + : ""; + if (type.includes("svgselector") && typeof value.value === "string") + { + return { kind: "svg", value: value.value }; + } + if (typeof value.value === "string") + { + return xywhShape(value.value); + } + return selectorShape(value.default) ?? selectorShape(value.item); +}; + +const xywhShape = (value: string): ViewerAnnotation["shape"] | undefined => { + const coordinates = value.startsWith("xywh=") ? value.slice(5) : value; + const parts = coordinates.split(",").map(Number); + return parts.length === 4 && parts.every(Number.isFinite) && parts[2] > 0 && parts[3] > 0 + ? { kind: "rect", x: parts[0], y: parts[1], width: parts[2], height: parts[3] } + : undefined; }; +const normalizePublicAnnotation = ( + annotation: DivaAnnotation, + imageService: string | null = null, +): StoredAnnotation => { + if ( + !annotation || typeof annotation !== "object" || typeof annotation.id !== "string" || annotation.id.length === 0 + ) + { + throw new TypeError("An annotation must be an object with a non-empty string id."); + } + const target = annotation.target ?? annotation.on; + let canvasId: string | undefined; + let shape: ViewerAnnotation["shape"] | undefined; + if (typeof target === "string") + { + const match = target.match(/^(.*)#xywh=(.+)$/); + canvasId = match?.[1]; + shape = match ? xywhShape(match[2]) : undefined; + } + else if (target && typeof target === "object") + { + const targetObject = target as Record; + canvasId = typeof targetObject.source === "string" ? targetObject.source : undefined; + shape = selectorShape(targetObject.selector); + } + if (!canvasId || !shape) + { + throw new TypeError("An annotation target must identify a Canvas and use a supported xywh or SVG selector."); + } + const body = annotationBodyText(annotation.body ?? (annotation as Record).resource); + return { + canvasId, + publicAnnotation: copyAnnotation(annotation), + viewerAnnotation: { id: annotation.id, text: plainAnnotationText(body), html: body, imageService, shape }, + }; +}; + +const publicAnnotationFromViewer = (canvasId: string, annotation: ViewerAnnotation): DivaAnnotation => ({ + id: annotation.id, + type: "Annotation", + body: { type: "TextualBody", value: annotation.html ?? annotation.text }, + target: annotation.shape.kind === "rect" + ? { + type: "SpecificResource", + source: canvasId, + selector: { + type: "FragmentSelector", + value: + `xywh=${annotation.shape.x},${annotation.shape.y},${annotation.shape.width},${annotation.shape.height}`, + }, + } + : { + type: "SpecificResource", + source: canvasId, + selector: { type: "SvgSelector", value: annotation.shape.value ?? "" }, + }, +}); + type TileSourceResolver = (source: TileSourceDescriptor, signal: AbortSignal) => Promise; type ElmPorts = { - tileSourcesUpdated: {subscribe: (callback: (update: {resourceId: string; tileSources : TileSourceEntry[]; initialPageIndex : number}) => void) => void}; - pageAspectsUpdated : {subscribe : (callback: (aspects: number[]) => void) => void}; - pageLabelsUpdated : {subscribe : (callback: (labels: string[]) => void) => void}; - pagesUpdated : {subscribe : (callback: (pages: PublicPageEntry[]) => void) => void}; - zoomLevelUpdated : {subscribe : (callback: (zoom: number) => void) => void}; - zoomBy : {subscribe : (callback: (factor: number) => void) => void}; - scrollToIndex : {subscribe : (callback: (index: number) => void) => void}; - filterPreviewUpdated : {subscribe : (callback: (payload: FilterPreviewPayload|null) => void) => void}; - setFullscreen : {subscribe : (callback: (enabled: boolean) => void) => void}; - saveFilteredImage : {subscribe : (callback: () => void) => void}; - layoutModeUpdated : {subscribe : (callback: (mode: string) => void) => void}; - layoutModeRequested : {send : (mode: string) => void}; - layoutConfigUpdated : {subscribe : (callback: (config: {mode: string; direction : string}) => void) => void}; - pageIndexChanged : {send : (index: number) => void}; - pageIndexChangedInstant : {send : (index: number) => void}; - fullscreenChanged : {send : (enabled: boolean) => void}; - zoomChanged : {send : (zoom: number) => void}; - viewerLoadingChanged : {send : (loading: boolean) => void}; - copyToClipboard : {subscribe : (callback: (text: string) => void) => void}; - resolveTileSourceRequested : {send : (value: {requestId: string; sourceId : string}) => void}; - resolveTileSourceCancelled : {send : (requestId: string) => void}; - tileSourceResolutionSucceeded : {subscribe : (callback: (value: any) => void) => void}; - tileSourceResolutionFailed : {subscribe : (callback: (value: any) => void) => void}; - authHttpRequested : {subscribe : (callback: (value: any) => void) => void}; - authHttpCancelled : {subscribe : (callback: (value: string) => void) => void}; - authHttpResponded : {send : (value: any) => void}; - authHttpFailed : {send : (value: any) => void}; - authStorageRequested : {subscribe : (callback: (value: any) => void) => void}; - authStorageResponded : {send : (value: any) => void}; - authTokenFrameRequested : {subscribe : (callback: (value: any) => void) => void}; - authTokenFrameCancelled : {subscribe : (callback: (value: string) => void) => void}; - authTokenMessage : {send : (value: any) => void}; - authTokenFailed : {send : (value: any) => void}; - authPopupChanged : {send : (value: any) => void}; - authLogoutChanged : {send : (value: any) => void}; - authSourcesInvalidated : {subscribe : (callback: (value: string[]) => void) => void}; - authDestroyed : {send : (value: null) => void}; - resourceRequested : {send : (value: {requestId: string; url : string}) => void}; - resourceLoadSucceeded : {subscribe : (callback: (value: {requestId: string; url : string; hasPages : boolean; pageIndex : number}) => void) => void}; - resourceLoadFailed : {subscribe : (callback: (value: {requestId: string; url : string; message : string}) => void) => void}; + tileSourcesUpdated: { + subscribe: ( + callback: ( + update: { resourceId: string; tileSources: TileSourceEntry[]; initialPageIndex: number }, + ) => void, + ) => void; + }; + annotationsUpdated: { subscribe: (callback: (value: AnnotationPayload) => void) => void }; + annotationsVisibilityUpdated: { subscribe: (callback: (visible: boolean) => void) => void }; + viewerPageLoaded: { send: (index: number) => void }; + pageAspectsUpdated: { subscribe: (callback: (aspects: number[]) => void) => void }; + pageLabelsUpdated: { subscribe: (callback: (labels: string[]) => void) => void }; + pagesUpdated: { subscribe: (callback: (pages: PublicPageEntry[]) => void) => void }; + zoomLevelUpdated: { subscribe: (callback: (zoom: number) => void) => void }; + zoomBy: { subscribe: (callback: (factor: number) => void) => void }; + scrollToIndex: { subscribe: (callback: (index: number) => void) => void }; + filterPreviewUpdated: { subscribe: (callback: (payload: FilterPreviewPayload | null) => void) => void }; + setFullscreen: { subscribe: (callback: (enabled: boolean) => void) => void }; + saveFilteredImage: { subscribe: (callback: () => void) => void }; + layoutModeUpdated: { subscribe: (callback: (mode: string) => void) => void }; + layoutModeRequested: { send: (mode: string) => void }; + layoutConfigUpdated: { subscribe: (callback: (config: { mode: string; direction: string }) => void) => void }; + pageIndexChanged: { send: (index: number) => void }; + pageIndexChangedInstant: { send: (index: number) => void }; + fullscreenChanged: { send: (enabled: boolean) => void }; + zoomChanged: { send: (zoom: number) => void }; + viewerLoadingChanged: { send: (loading: boolean) => void }; + copyToClipboard: { subscribe: (callback: (text: string) => void) => void }; + resolveTileSourceRequested: { send: (value: { requestId: string; sourceId: string }) => void }; + resolveTileSourceCancelled: { send: (requestId: string) => void }; + tileSourceResolutionSucceeded: { subscribe: (callback: (value: any) => void) => void }; + tileSourceResolutionFailed: { subscribe: (callback: (value: any) => void) => void }; + authHttpRequested: { subscribe: (callback: (value: any) => void) => void }; + authHttpCancelled: { subscribe: (callback: (value: string) => void) => void }; + authHttpResponded: { send: (value: any) => void }; + authHttpFailed: { send: (value: any) => void }; + authStorageRequested: { subscribe: (callback: (value: any) => void) => void }; + authStorageResponded: { send: (value: any) => void }; + authTokenFrameRequested: { subscribe: (callback: (value: any) => void) => void }; + authTokenFrameCancelled: { subscribe: (callback: (value: string) => void) => void }; + authTokenMessage: { send: (value: any) => void }; + authTokenFailed: { send: (value: any) => void }; + authPopupChanged: { send: (value: any) => void }; + authLogoutChanged: { send: (value: any) => void }; + authSourcesInvalidated: { subscribe: (callback: (value: string[]) => void) => void }; + authDestroyed: { send: (value: null) => void }; + resourceRequested: { send: (value: { requestId: string; url: string }) => void }; + resourceLoadSucceeded: { + subscribe: ( + callback: (value: { requestId: string; url: string; hasPages: boolean; pageIndex: number }) => void, + ) => void; + }; + resourceLoadFailed: { + subscribe: (callback: (value: { requestId: string; url: string; message: string }) => void) => void; + }; }; type ElmApp = { ports: ElmPorts; }; -type DivaRoot = HTMLElement& -{ - elmTree?: unknown; - __divaInstance?: Diva; -}; +type DivaRoot = + & HTMLElement + & { + elmTree?: unknown; + __divaInstance?: Diva; + }; const DEFAULT_SIDEBAR_WIDTH = 320; const MIN_SIDEBAR_WIDTH = 220; @@ -257,33 +411,43 @@ export class Diva extends EventTarget private readonly rootId: string; private readonly root: HTMLElement; private readonly auth: AuthBrowser; + private readonly staticImageCorsPolicy: DivaStaticImageCorsPolicy; private app: ElmApp; private mainViewer: any = null; private readonly tileSourceResolver!: TileSourceResolver; private readonly pendingViewerMethods: Map = new Map(); - private viewerMethodRafId: number|null = null; + private viewerMethodRafId: number | null = null; private viewerMethodAttempts = 0; private filterViewer: any = null; - private filterViewerElement: HTMLElement|null = null; - private filterOptions: FilterSettings|null = null; + private filterViewerElement: HTMLElement | null = null; + private filterOptions: FilterSettings | null = null; private filterViewerFlipped = false; - private currentFilterSourceKey: string|null = null; - private pendingFilterPreview: FilterPreviewPayload|null = null; + private filterAccessBlocked = false; + private currentFilterSourceKey: string | null = null; + private pendingFilterPreview: FilterPreviewPayload | null = null; private filterPreviewVersion = 0; private filterPreviewRetries = 0; - private filterPreviewRafId: number|null = null; - private filterPreviewController: AbortController|null = null; + private filterPreviewRafId: number | null = null; + private filterPreviewController: AbortController | null = null; private isDestroyed = false; private readonly handlePageChangeBound: (event: Event) => void; + private readonly handleAnnotationSelectBound: (event: Event) => void; private readonly handlePageLoadedBound: (event: Event) => void; private readonly handleZoomChangeBound: (event: Event) => void; private readonly handleLoadingChangeBound: (event: Event) => void; + private readonly handleStaticImageCorsFallbackBound: (event: Event) => void; private readonly handlePageLoadErrorBound: (event: Event) => void; private readonly handleFullscreenChangeBound: () => void; private readonly handleRootClickBound: (event: Event) => void; private pages: DivaPage[] = []; private readonly pagesByCanvasId: Map = new Map(); private readonly pagesByLabel: Map = new Map(); + private readonly manifestAnnotationsByCanvas: Map = new Map(); + private readonly apiAnnotationsByCanvas: Map = new Map(); + private readonly clearedAnnotationCanvases: Set = new Set(); + private readonly annotationImageServicesByCanvas: Map = new Map(); + private annotationSelectionEnabled = true; + private annotationResourceId = ""; private state: DivaState; private readyResolve!: () => void; private readyReject!: (error: Error) => void; @@ -292,12 +456,14 @@ export class Diva extends EventTarget private resourceSequence = 0; private pendingResource: { id: string; - promise : Promise; - resolve : () => void; - reject : (error: Error) => void; - previousReady : boolean; - }|null = null; - private awaitingViewerResource: {id: string; url : string; pageIndex : number; resourceChangeEmitted : boolean}|null = null; + promise: Promise; + resolve: () => void; + reject: (error: Error) => void; + previousReady: boolean; + } | null = null; + private awaitingViewerResource: + | { id: string; url: string; pageIndex: number; resourceChangeEmitted: boolean } + | null = null; private resourceLoading = true; private viewerLoading = false; /** @@ -350,18 +516,23 @@ export class Diva extends EventTarget this.rootId = rootId; this.root = root; this.isDestroyed = false; + this.staticImageCorsPolicy = + flags.staticImageCorsPolicy === "fallback" || flags.staticImageCorsPolicy === "none" + ? flags.staticImageCorsPolicy + : "required"; + this.annotationSelectionEnabled = flags.enableAnnotationSelection !== false; this.state = { - resourceUrl : flags.objectData, - ready : false, - loading : true, - pageCount : 0, - currentPageIndex : null, - visiblePageIndexes : [], - layoutMode : "single", - viewingDirection : "ltr", - zoom : null, - fullscreen : false, - destroyed : false + resourceUrl: flags.objectData, + ready: false, + loading: true, + pageCount: 0, + currentPageIndex: null, + visiblePageIndexes: [], + layoutMode: "single", + viewingDirection: "ltr", + zoom: null, + fullscreen: false, + destroyed: false, }; this.ready = new Promise((resolve, reject) => { this.readyResolve = resolve; @@ -370,9 +541,11 @@ export class Diva extends EventTarget void this.ready.catch(() => {}); this.handlePageChangeBound = this.handlePageChange.bind(this); + this.handleAnnotationSelectBound = this.handleAnnotationSelect.bind(this); this.handlePageLoadedBound = this.handlePageLoaded.bind(this); this.handleZoomChangeBound = this.handleZoomChange.bind(this); this.handleLoadingChangeBound = this.handleLoadingChange.bind(this); + this.handleStaticImageCorsFallbackBound = this.handleStaticImageCorsFallback.bind(this); this.handlePageLoadErrorBound = this.handlePageLoadError.bind(this); this.handleFullscreenChangeBound = this.handleFullscreenChange.bind(this); this.handleRootClickBound = this.handleRootClick.bind(this); @@ -380,40 +553,51 @@ export class Diva extends EventTarget let langCode = this.detectLanguage(); const requestedSidebarWidth = flags.sidebarWidth; const sidebarWidth = typeof requestedSidebarWidth === "number" && Number.isFinite(requestedSidebarWidth) - ? Math.min(MAX_SIDEBAR_WIDTH, Math.max(MIN_SIDEBAR_WIDTH, Math.round(requestedSidebarWidth))) - : DEFAULT_SIDEBAR_WIDTH; + ? Math.min(MAX_SIDEBAR_WIDTH, Math.max(MIN_SIDEBAR_WIDTH, Math.round(requestedSidebarWidth))) + : DEFAULT_SIDEBAR_WIDTH; const sidebarPanel: DivaSidebarPanel = flags.sidebarPanel === "contents" || flags.sidebarPanel === "metadata" - ? flags.sidebarPanel - : "thumbnails"; + ? flags.sidebarPanel + : "thumbnails"; this.app = Elm.Main.init({ - node : root, - flags : { - rootElementId : rootId, - objectData : flags.objectData, - initialPage : this.initialPageFlag(flags.initialPage), - acceptHeaders : flags.acceptHeaders || [], - showSidebar : flags.showSidebar !== false, + node: root, + flags: { + rootElementId: rootId, + objectData: flags.objectData, + initialPage: this.initialPageFlag(flags.initialPage), + acceptHeaders: flags.acceptHeaders || [], + showSidebar: flags.showSidebar !== false, sidebarWidth, sidebarPanel, - showTitle : flags.showTitle !== false, - userLanguage : flags.setLanguage || langCode - } + showTitle: flags.showTitle !== false, + userLanguage: flags.setLanguage || langCode, + enableAnnotations: flags.enableAnnotations === true, + enableAnnotationSelection: flags.enableAnnotationSelection !== false, + annotationServer: flags.annotationServer || null, + }, }); this.root = this.getConnectedRoot(); - this.auth = new AuthBrowser(this.app.ports, this.root); - this.tileSourceResolver = (source: TileSourceDescriptor, signal: AbortSignal) => this.auth.resolve(source, signal); + this.auth = new AuthBrowser(this.app.ports, this.root, this.staticImageCorsPolicy); + this.tileSourceResolver = (source: TileSourceDescriptor, signal: AbortSignal) => + this.auth.resolve(source, signal); const connectedRootAny = this.root as DivaRoot; connectedRootAny.__divaInstance = this; this.bindPorts(); this.callViewerMethodWhenReady("setTileSourceResolver", this.tileSourceResolver); + this.callViewerMethodWhenReady("setStaticImageCorsPolicy", this.staticImageCorsPolicy); + this.callViewerMethodWhenReady("setAnnotationSelectionEnabled", flags.enableAnnotationSelection !== false); this.bindRootClick(); this.bindPageChange(); + this.bindViewerEvent("diva-annotation-select", this.handleAnnotationSelectBound as EventListener); this.bindViewerEvent("diva-page-loaded", this.handlePageLoadedBound as EventListener); this.bindFullscreenChange(); this.bindZoomChange(); this.bindLoadingChange(); + this.bindViewerEvent( + "diva-static-image-cors-fallback", + this.handleStaticImageCorsFallbackBound as EventListener, + ); this.bindViewerEvent("diva-page-load-error", this.handlePageLoadErrorBound as EventListener); } @@ -423,18 +607,23 @@ export class Diva extends EventTarget * * @returns {string} */ - private detectLanguage(): string { return navigator.language.split("-")[0]; } + private detectLanguage(): string + { + return navigator.language.split("-")[0]; + } - private initialPageFlag(target: DivaPageTarget|undefined): unknown + private initialPageFlag(target: DivaPageTarget | undefined): unknown { if (typeof target === "number") { return Number.isInteger(target) && target >= 0 ? target : null; } - if (target && typeof target === "object" && - (target.by === "canvasId" || target.by === "label") && typeof target.value === "string") + if ( + target && typeof target === "object" + && (target.by === "canvasId" || target.by === "label") && typeof target.value === "string" + ) { - return {by : target.by, value : target.value}; + return { by: target.by, value: target.value }; } return null; } @@ -453,31 +642,76 @@ export class Diva extends EventTarget private bindPorts(): void { this.getPort("tileSourcesUpdated") - .subscribe((update: {resourceId: string; tileSources : TileSourceEntry[]; initialPageIndex : number}) => { + .subscribe((update: { resourceId: string; tileSources: TileSourceEntry[]; initialPageIndex: number }) => { + if (this.annotationResourceId !== update.resourceId) + { + this.annotationResourceId = update.resourceId; + this.manifestAnnotationsByCanvas.clear(); + this.apiAnnotationsByCanvas.clear(); + this.clearedAnnotationCanvases.clear(); + this.annotationImageServicesByCanvas.clear(); + } + update.tileSources.forEach((source) => { + if (source.canvasId) + { + this.annotationImageServicesByCanvas.set(source.canvasId, source.isStatic ? null : source.url); + } + }); this.auth.registerSources(update.tileSources); this.callViewerMethodWhenReady("setTileSourceResolver", this.tileSourceResolver); - this.callViewerMethodWhenReady("setTileSources", update.tileSources, update.initialPageIndex, update.resourceId); + this.callViewerMethodWhenReady( + "setTileSources", + update.tileSources, + update.initialPageIndex, + update.resourceId, + ); }); + this.getPort("annotationsUpdated").subscribe((value: AnnotationPayload) => { + this.manifestAnnotationsByCanvas.set( + value.canvasId, + value.annotations.map((annotation) => ({ + canvasId: value.canvasId, + publicAnnotation: publicAnnotationFromViewer(value.canvasId, annotation), + viewerAnnotation: { ...annotation, imageService: annotation.imageService ?? null }, + })), + ); + this.applyAnnotationsForCanvas(value.canvasId); + }); + + this.getPort("annotationsVisibilityUpdated").subscribe((visible: boolean) => { + this.callViewerMethodWhenReady("setAnnotationsVisible", visible); + }); + this.getPort("pageAspectsUpdated") - .subscribe((aspects: number[]) => { this.callViewerMethodWhenReady("setPageAspects", aspects); }); + .subscribe((aspects: number[]) => { + this.callViewerMethodWhenReady("setPageAspects", aspects); + }); this.getPort("pageLabelsUpdated") - .subscribe((labels: string[]) => { this.callViewerMethodWhenReady("setPageLabels", labels); }); + .subscribe((labels: string[]) => { + this.callViewerMethodWhenReady("setPageLabels", labels); + }); this.getPort("pagesUpdated").subscribe((pages: PublicPageEntry[]) => { this.pages = pages.map((page) => this.copyPage(page)); this.rebuildPageIndexes(); - this.updateState({pageCount : this.pages.length, currentPageIndex : null, visiblePageIndexes : []}); + this.updateState({ pageCount: this.pages.length, currentPageIndex: null, visiblePageIndexes: [] }); }); - this.getPort("zoomLevelUpdated").subscribe((zoom: number) => { this.callViewerMethodWhenReady("setZoomLevel", zoom); }); + this.getPort("zoomLevelUpdated").subscribe((zoom: number) => { + this.callViewerMethodWhenReady("setZoomLevel", zoom); + }); - this.getPort("zoomBy").subscribe((factor: number) => { this.callViewerMethod("zoomBy", factor); }); + this.getPort("zoomBy").subscribe((factor: number) => { + this.callViewerMethod("zoomBy", factor); + }); - this.getPort("scrollToIndex").subscribe((index: number) => { this.callViewerMethod("scrollToIndex", index); }); + this.getPort("scrollToIndex").subscribe((index: number) => { + this.callViewerMethod("scrollToIndex", index); + }); - this.getPort("filterPreviewUpdated").subscribe((payload: FilterPreviewPayload|null) => { + this.getPort("filterPreviewUpdated").subscribe((payload: FilterPreviewPayload | null) => { if (!payload) { this.closeFilterPreview(); @@ -490,11 +724,15 @@ export class Diva extends EventTarget void this.applyFilterPreview(); }); - this.getPort("setFullscreen").subscribe((enabled: boolean) => { this.setFullscreen(enabled); }); + this.getPort("setFullscreen").subscribe((enabled: boolean) => { + this.setFullscreen(enabled); + }); - this.getPort("saveFilteredImage").subscribe(() => { this.saveFilteredImage(); }); + this.getPort("saveFilteredImage").subscribe(() => { + this.saveFilteredImage(); + }); - this.getPort("layoutConfigUpdated").subscribe((config: {mode: string; direction : string}) => { + this.getPort("layoutConfigUpdated").subscribe((config: { mode: string; direction: string }) => { if (this.callViewerMethod("setLayoutConfig", config.mode, config.direction)) { this.updateLayoutState(config.mode, config.direction); @@ -510,15 +748,19 @@ export class Diva extends EventTarget this.updateLayoutState(mode, this.state.viewingDirection); }); - this.getPort("resourceLoadSucceeded").subscribe((value: {requestId: string; url : string; hasPages : boolean; pageIndex : number}) => { - this.handleResourceSucceeded(value.requestId, value.url, value.hasPages, value.pageIndex); - }); + this.getPort("resourceLoadSucceeded").subscribe( + (value: { requestId: string; url: string; hasPages: boolean; pageIndex: number }) => { + this.handleResourceSucceeded(value.requestId, value.url, value.hasPages, value.pageIndex); + }, + ); - this.getPort("resourceLoadFailed").subscribe((value: {requestId: string; url : string; message : string}) => { + this.getPort("resourceLoadFailed").subscribe((value: { requestId: string; url: string; message: string }) => { this.handleResourceFailed(value.requestId, value.message); }); - this.getPort("copyToClipboard").subscribe((text: string) => { this.copyToClipboard(text); }); + this.getPort("copyToClipboard").subscribe((text: string) => { + this.copyToClipboard(text); + }); this.getPort("authSourcesInvalidated") .subscribe((sourceIds: string[]) => { @@ -537,21 +779,67 @@ export class Diva extends EventTarget return this.mainViewer; } - private copyPage(page: DivaPage|PublicPageEntry): DivaPage + private copyPage(page: DivaPage | PublicPageEntry): DivaPage { - const images = page.images.map((image) => ({...image})); - const primary = images.find((image) => image.id === page.primaryImage.id && image.isPrimary) ?? {...page.primaryImage}; + const images = page.images.map((image) => ({ ...image })); + const primary = images.find((image) => image.id === page.primaryImage.id && image.isPrimary) + ?? { ...page.primaryImage }; return { - index : page.index, - canvasId : page.canvasId, - label : page.label, - ...(page.width === null || page.width === undefined ? {} : {width : page.width}), - ...(page.height === null || page.height === undefined ? {} : {height : page.height}), - primaryImage : {...primary}, - images + index: page.index, + canvasId: page.canvasId, + label: page.label, + ...(page.width === null || page.width === undefined ? {} : { width: page.width }), + ...(page.height === null || page.height === undefined ? {} : { height: page.height }), + primaryImage: { ...primary }, + images, }; } + private effectiveAnnotationsForCanvas(canvasId: string): StoredAnnotation[] + { + if (this.clearedAnnotationCanvases.has(canvasId)) + { + return []; + } + const merged = new Map(); + (this.manifestAnnotationsByCanvas.get(canvasId) ?? []).forEach((annotation) => + merged.set(annotation.viewerAnnotation.id, annotation) + ); + (this.apiAnnotationsByCanvas.get(canvasId) ?? []).forEach((annotation) => + merged.set(annotation.viewerAnnotation.id, annotation) + ); + return Array.from(merged.values()); + } + + private applyAnnotationsForCanvas(canvasId: string): void + { + this.callViewerMethodWhenReady( + "setAnnotations", + canvasId, + this.effectiveAnnotationsForCanvas(canvasId).map((annotation) => annotation.viewerAnnotation), + ); + } + + private findStoredAnnotation(annotationId: string): StoredAnnotation | undefined + { + for ( + const canvasId of new Set([ + ...this.manifestAnnotationsByCanvas.keys(), + ...this.apiAnnotationsByCanvas.keys(), + ]) + ) + { + const annotation = this.effectiveAnnotationsForCanvas(canvasId).find((candidate) => + candidate.viewerAnnotation.id === annotationId + ); + if (annotation) + { + return annotation; + } + } + return undefined; + } + private rebuildPageIndexes(): void { this.pagesByCanvasId.clear(); @@ -569,31 +857,33 @@ export class Diva extends EventTarget }); } - private pageForSelector(selector: DivaPageSelector): DivaPage|undefined + private pageForSelector(selector: DivaPageSelector): DivaPage | undefined { - if (!selector || typeof selector !== "object" || - (selector.by !== "canvasId" && selector.by !== "label") || typeof selector.value !== "string") + if ( + !selector || typeof selector !== "object" + || (selector.by !== "canvasId" && selector.by !== "label") || typeof selector.value !== "string" + ) { throw new TypeError("A page selector must contain a supported 'by' value and a string 'value'."); } return selector.by === "canvasId" - ? this.pagesByCanvasId.get(selector.value) - : this.pagesByLabel.get(selector.value.toLowerCase()); + ? this.pagesByCanvasId.get(selector.value) + : this.pagesByLabel.get(selector.value.toLowerCase()); } private copyState(): Readonly { - return {...this.state, visiblePageIndexes : this.state.visiblePageIndexes.slice()}; + return { ...this.state, visiblePageIndexes: this.state.visiblePageIndexes.slice() }; } private updateState(next: Partial): void { - this.state = {...this.state, ...next}; + this.state = { ...this.state, ...next }; } private emit(type: keyof DivaEventMap, detail: any): void { - this.dispatchEvent(new CustomEvent(type, {detail})); + this.dispatchEvent(new CustomEvent(type, { detail })); } private updateLayoutState(mode: string, direction: string): void @@ -602,13 +892,13 @@ export class Diva extends EventTarget const viewingDirection: DivaViewingDirection = direction === "rtl" ? "rtl" : "ltr"; const viewer = this.ensureMainViewer(); const visible = viewer && typeof viewer.getVisiblePageIndexes === "function" - ? viewer.getVisiblePageIndexes() - : this.state.visiblePageIndexes; + ? viewer.getVisiblePageIndexes() + : this.state.visiblePageIndexes; const changed = layoutMode !== this.state.layoutMode || viewingDirection !== this.state.viewingDirection; - this.updateState({layoutMode, viewingDirection, visiblePageIndexes : visible}); + this.updateState({ layoutMode, viewingDirection, visiblePageIndexes: visible }); if (changed) { - this.emit("layoutchange", {layoutMode, viewingDirection}); + this.emit("layoutchange", { layoutMode, viewingDirection }); } } @@ -621,15 +911,23 @@ export class Diva extends EventTarget const replacementCommitted = requestId !== "initial"; if (replacementCommitted) { - this.updateState({resourceUrl : url}); - this.emit("resourcechange", {resourceUrl : url, state : this.copyState()}); + this.updateState({ resourceUrl: url }); + this.emit("resourcechange", { resourceUrl: url, state: this.copyState() }); } if (hasPages) { - this.awaitingViewerResource = {id : requestId, url, pageIndex, resourceChangeEmitted : replacementCommitted}; + this.awaitingViewerResource = { + id: requestId, + url, + pageIndex, + resourceChangeEmitted: replacementCommitted, + }; const viewer = this.ensureMainViewer(); const sourceId = this.pages[pageIndex]?.primaryImage.id; - if (sourceId && viewer && typeof viewer.isPageLoaded === "function" && viewer.isPageLoaded(pageIndex, sourceId)) + if ( + sourceId && viewer && typeof viewer.isPageLoaded === "function" + && viewer.isPageLoaded(pageIndex, sourceId) + ) { this.completeResource(requestId, url, !replacementCommitted); } @@ -645,7 +943,7 @@ export class Diva extends EventTarget return; } this.awaitingViewerResource = null; - this.updateState({resourceUrl : url, ready : true}); + this.updateState({ resourceUrl: url, ready: true }); this.resourceLoading = false; this.refreshLoadingState(); if (!this.readySettled) @@ -661,7 +959,7 @@ export class Diva extends EventTarget } if (emitResourceChange) { - this.emit("resourcechange", {resourceUrl : url, state : this.copyState()}); + this.emit("resourcechange", { resourceUrl: url, state: this.copyState() }); } } @@ -674,7 +972,7 @@ export class Diva extends EventTarget const error = new Error(message); const previousReady = this.pendingResource?.id === requestId ? this.pendingResource.previousReady : false; this.awaitingViewerResource = null; - this.updateState({ready : previousReady}); + this.updateState({ ready: previousReady }); this.resourceLoading = false; this.refreshLoadingState(); if (!this.readySettled) @@ -687,7 +985,7 @@ export class Diva extends EventTarget this.pendingResource.reject(error); this.pendingResource = null; } - this.emit("error", {error, operation : "setResource", recoverable : requestId !== "initial"}); + this.emit("error", { error, operation: "setResource", recoverable: requestId !== "initial" }); } private assertAlive(): void @@ -713,8 +1011,8 @@ export class Diva extends EventTarget { return; } - this.updateState({loading}); - this.emit("loadingchange", {loading}); + this.updateState({ loading }); + this.emit("loadingchange", { loading }); } private async waitForResource(): Promise @@ -766,7 +1064,7 @@ export class Diva extends EventTarget this.ensureFilterViewer(); if (this.filterViewer) { - const sourceKey = JSON.stringify([ payload.sourceId, payload.tileSource, payload.isStatic ]); + const sourceKey = JSON.stringify([payload.sourceId, payload.tileSource, payload.isStatic]); const tileSourceChanged = this.currentFilterSourceKey !== sourceKey; if (tileSourceChanged) { @@ -775,7 +1073,11 @@ export class Diva extends EventTarget this.filterPreviewController = controller; try { - tileSource = await this.auth.resolve({sourceId : payload.sourceId, url : payload.tileSource, isStatic : payload.isStatic}, controller.signal); + tileSource = await this.auth.resolve({ + sourceId: payload.sourceId, + url: payload.tileSource, + isStatic: payload.isStatic, + }, controller.signal); } catch (error) { @@ -796,6 +1098,7 @@ export class Diva extends EventTarget { return; } + this.setFilterAccessBlocked(this.isNonCorsStaticSource(tileSource)); this.currentFilterSourceKey = sourceKey; this.filterViewer.open(tileSource); } @@ -848,11 +1151,20 @@ export class Diva extends EventTarget * @param options - Standard DOM listener options. */ public addEventListener( - type: K, listener: (this: Diva, event: DivaEventMap[K]) => any, options?: boolean|AddEventListenerOptions): void; - public addEventListener(type: string, listener: EventListenerOrEventListenerObject|null, - options?: boolean|AddEventListenerOptions): void; - public addEventListener(type: string, listener: EventListenerOrEventListenerObject|null, - options?: boolean|AddEventListenerOptions): void + type: K, + listener: (this: Diva, event: DivaEventMap[K]) => any, + options?: boolean | AddEventListenerOptions, + ): void; + public addEventListener( + type: string, + listener: EventListenerOrEventListenerObject | null, + options?: boolean | AddEventListenerOptions, + ): void; + public addEventListener( + type: string, + listener: EventListenerOrEventListenerObject | null, + options?: boolean | AddEventListenerOptions, + ): void { super.addEventListener(type, listener, options); } @@ -865,11 +1177,20 @@ export class Diva extends EventTarget * @param options - Standard DOM listener options used for matching. */ public removeEventListener( - type: K, listener: (this: Diva, event: DivaEventMap[K]) => any, options?: boolean|EventListenerOptions): void; - public removeEventListener(type: string, listener: EventListenerOrEventListenerObject|null, - options?: boolean|EventListenerOptions): void; - public removeEventListener(type: string, listener: EventListenerOrEventListenerObject|null, - options?: boolean|EventListenerOptions): void + type: K, + listener: (this: Diva, event: DivaEventMap[K]) => any, + options?: boolean | EventListenerOptions, + ): void; + public removeEventListener( + type: string, + listener: EventListenerOrEventListenerObject | null, + options?: boolean | EventListenerOptions, + ): void; + public removeEventListener( + type: string, + listener: EventListenerOrEventListenerObject | null, + options?: boolean | EventListenerOptions, + ): void { super.removeEventListener(type, listener, options); } @@ -879,14 +1200,217 @@ export class Diva extends EventTarget * * @returns State that callers may retain without observing later mutations. */ - public getState(): Readonly { return this.copyState(); } + public getState(): Readonly + { + return this.copyState(); + } /** * Return defensive metadata snapshots for every displayed page. * * @returns Pages in zero-based display order. Auth tokens and resolved loading URLs are never included. */ - public getPages(): readonly DivaPage[] { return this.pages.map((page) => this.copyPage(page)); } + public getPages(): readonly DivaPage[] + { + return this.pages.map((page) => this.copyPage(page)); + } + + /** + * Add or replace one API-supplied Web Annotation on a loaded Canvas. + */ + public setAnnotation(annotation: DivaAnnotation): void + { + this.assertAlive(); + const stored = normalizePublicAnnotation(annotation); + if (!this.pagesByCanvasId.has(stored.canvasId)) + { + throw new RangeError(`Annotation Canvas ${stored.canvasId} is not part of the loaded manifest.`); + } + stored.viewerAnnotation.imageService = this.annotationImageServicesByCanvas.get(stored.canvasId) ?? null; + this.apiAnnotationsByCanvas.forEach((annotations, canvasId) => { + const retained = annotations.filter((candidate) => + candidate.viewerAnnotation.id !== stored.viewerAnnotation.id + ); + if (retained.length !== annotations.length) + { + this.apiAnnotationsByCanvas.set(canvasId, retained); + this.applyAnnotationsForCanvas(canvasId); + } + }); + const annotations = this.apiAnnotationsByCanvas.get(stored.canvasId) ?? []; + this.apiAnnotationsByCanvas.set(stored.canvasId, [...annotations, stored]); + this.clearedAnnotationCanvases.delete(stored.canvasId); + this.applyAnnotationsForCanvas(stored.canvasId); + } + + /** + * Replace the API-supplied annotation set for the loaded manifest. + */ + public setAnnotations(annotations: readonly DivaAnnotation[]): void + { + this.assertAlive(); + if (!Array.isArray(annotations)) + { + throw new TypeError("Annotations must be an array."); + } + const next = new Map(); + annotations.forEach((annotation) => { + const stored = normalizePublicAnnotation(annotation); + if (!this.pagesByCanvasId.has(stored.canvasId)) + { + throw new RangeError(`Annotation Canvas ${stored.canvasId} is not part of the loaded manifest.`); + } + stored.viewerAnnotation.imageService = this.annotationImageServicesByCanvas.get(stored.canvasId) ?? null; + const canvasAnnotations = next.get(stored.canvasId) ?? []; + next.set(stored.canvasId, [ + ...canvasAnnotations.filter((candidate) => + candidate.viewerAnnotation.id !== stored.viewerAnnotation.id + ), + stored, + ]); + }); + const affected = new Set([...this.apiAnnotationsByCanvas.keys(), ...next.keys()]); + this.apiAnnotationsByCanvas.clear(); + next.forEach((canvasAnnotations, canvasId) => { + this.apiAnnotationsByCanvas.set(canvasId, canvasAnnotations); + this.clearedAnnotationCanvases.delete(canvasId); + }); + affected.forEach((canvasId) => this.applyAnnotationsForCanvas(canvasId)); + } + + /** + * Return defensive Web Annotation snapshots for one Canvas. + */ + public getAnnotationsForCanvas(uri: string): readonly DivaAnnotation[] + { + this.assertAlive(); + return this.effectiveAnnotationsForCanvas(uri).map((annotation) => copyAnnotation(annotation.publicAnnotation)); + } + + /** + * Return defensive Web Annotation snapshots for the loaded manifest. + */ + public getAllAnnotations(): readonly DivaAnnotation[] + { + this.assertAlive(); + return this.pages.flatMap((page) => this.getAnnotationsForCanvas(page.canvasId)); + } + + /** + * Clear both manifest and API-supplied annotations for one Canvas. + */ + public clearAnnotationsForCanvas(uri: string): void + { + this.assertAlive(); + this.clearedAnnotationCanvases.add(uri); + this.apiAnnotationsByCanvas.delete(uri); + this.applyAnnotationsForCanvas(uri); + } + + /** + * Clear both manifest and API-supplied annotations for every Canvas. + */ + public clearAllAnnotations(): void + { + this.assertAlive(); + this.apiAnnotationsByCanvas.clear(); + this.pages.forEach((page) => { + this.clearedAnnotationCanvases.add(page.canvasId); + this.applyAnnotationsForCanvas(page.canvasId); + }); + } + + /** + * Select an annotation and open its details panel. + */ + public selectAnnotation(annotationId: string): void + { + this.assertAlive(); + if (typeof annotationId !== "string") + { + throw new TypeError("Annotation id must be a string."); + } + if (!this.findStoredAnnotation(annotationId)) + { + throw new RangeError(`Unknown annotation: ${annotationId}`); + } + this.callViewerMethodWhenReady("selectAnnotation", annotationId); + } + + /** + * Return whether user annotation selection is enabled. + */ + public getAnnotationSelectionEnabled(): boolean + { + this.assertAlive(); + const viewer = this.ensureMainViewer(); + return viewer && typeof viewer.getAnnotationSelectionEnabled === "function" + ? viewer.getAnnotationSelectionEnabled() + : this.annotationSelectionEnabled; + } + + /** + * Enable or disable user annotation selection. + */ + public setAnnotationSelectionEnabled(enabled: boolean): void + { + this.assertAlive(); + this.annotationSelectionEnabled = enabled; + this.callViewerMethodWhenReady("setAnnotationSelectionEnabled", enabled); + } + + /** + * Toggle user annotation selection and return the new state. + */ + public toggleAnnotationSelectionEnabled(): boolean + { + this.setAnnotationSelectionEnabled(!this.getAnnotationSelectionEnabled()); + return this.annotationSelectionEnabled; + } + + /** + * Return the IIIF Image API extract URL for an annotation, when available. + * + * @returns The extract URL, or `null` when the annotation is unknown or has no usable image region. + */ + public getImageRegionForAnnotation(annotationId: string): string | null + { + this.assertAlive(); + if (typeof annotationId !== "string") + { + throw new TypeError("Annotation id must be a string."); + } + const annotation = this.findStoredAnnotation(annotationId); + const renderedUrl = this.mainViewer?.getImageRegionForAnnotation?.(annotationId); + if (typeof renderedUrl === "string") + { + return renderedUrl; + } + if (!annotation || annotation.viewerAnnotation.shape.kind === "svg") + { + return null; + } + const { x, y, width, height } = annotation.viewerAnnotation.shape; + return typeof x === "number" && typeof y === "number" && typeof width === "number" && typeof height === "number" + ? iiifImageRegionUrl(annotation.viewerAnnotation.imageService, { x, y, width, height }) + : null; + } + + /** + * Return an annotation body's textual or HTML value, if present. + */ + public getAnnotationBody(annotationId: string): string | undefined + { + this.assertAlive(); + if (typeof annotationId !== "string") + { + throw new TypeError("Annotation id must be a string."); + } + const annotation = this.findStoredAnnotation(annotationId); + return annotation + ? annotationBodyText(annotation.publicAnnotation.body ?? annotation.publicAnnotation.resource) + : undefined; + } /** * Find a displayed page by Canvas identifier or localized display label. @@ -902,7 +1426,7 @@ export class Diva extends EventTarget * trimmed, whitespace-normalized, or substring-matched. Duplicate labels * return the first page in manifest order. */ - public findPage(selector: DivaPageSelector): DivaPage|undefined + public findPage(selector: DivaPageSelector): DivaPage | undefined { const page = this.pageForSelector(selector); return page ? this.copyPage(page) : undefined; @@ -913,7 +1437,7 @@ export class Diva extends EventTarget * * @returns The active page, or `undefined` before page initialization and for collections without an active manifest. */ - public getCurrentPage(): DivaPage|undefined + public getCurrentPage(): DivaPage | undefined { const index = this.state.currentPageIndex; return index === null || !this.pages[index] ? undefined : this.copyPage(this.pages[index]); @@ -926,7 +1450,9 @@ export class Diva extends EventTarget */ public getVisiblePages(): readonly DivaPage[] { - return this.state.visiblePageIndexes.map((index) => this.pages[index]).filter(Boolean).map((page) => this.copyPage(page)); + return this.state.visiblePageIndexes.map((index) => this.pages[index]).filter(Boolean).map((page) => + this.copyPage(page) + ); } /** @@ -934,7 +1460,10 @@ export class Diva extends EventTarget * * @returns The active {@link DivaLayoutMode}. */ - public getLayoutMode(): DivaLayoutMode { return this.state.layoutMode; } + public getLayoutMode(): DivaLayoutMode + { + return this.state.layoutMode; + } /** * Replace the current IIIF manifest or collection without replacing this instance. @@ -984,12 +1513,12 @@ export class Diva extends EventTarget reject = rej; }); void promise.catch(() => {}); - this.pendingResource = {id, promise, resolve, reject, previousReady}; + this.pendingResource = { id, promise, resolve, reject, previousReady }; this.activeResourceRequestId = id; - this.updateState({ready : false}); + this.updateState({ ready: false }); this.resourceLoading = true; this.refreshLoadingState(); - this.getPort("resourceRequested").send({requestId : id, url}); + this.getPort("resourceRequested").send({ requestId: id, url }); return promise; } @@ -1016,7 +1545,7 @@ export class Diva extends EventTarget * Rejected when a runtime selector object is malformed. */ public goToPage(selector: DivaPageSelector): Promise; - public async goToPage(target: number|DivaPageSelector): Promise + public async goToPage(target: number | DivaPageSelector): Promise { await this.waitForResource(); if (typeof target !== "number") @@ -1102,13 +1631,19 @@ export class Diva extends EventTarget * * @returns A promise that resolves after multiplying the zoom by 1.6. */ - public zoomIn(): Promise { return this.zoomBy(1.6); } + public zoomIn(): Promise + { + return this.zoomBy(1.6); + } /** * Zoom out by Diva's standard zoom factor. * * @returns A promise that resolves after dividing the zoom by 1.6. */ - public zoomOut(): Promise { return this.zoomBy(1 / 1.6); } + public zoomOut(): Promise + { + return this.zoomBy(1 / 1.6); + } /** * Fit a page, or the current page when omitted, into the viewport. @@ -1159,7 +1694,10 @@ export class Diva extends EventTarget { await this.waitForResource(); this.assertPageIndex(pageIndex); - if (![region.x, region.y, region.width, region.height].every(Number.isFinite) || region.x < 0 || region.y < 0 || region.width <= 0 || region.height <= 0) + if ( + ![region.x, region.y, region.width, region.height].every(Number.isFinite) || region.x < 0 || region.y < 0 + || region.width <= 0 || region.height <= 0 + ) { throw new RangeError("Region coordinates must be finite, non-negative, and have positive dimensions."); } @@ -1260,7 +1798,7 @@ export class Diva extends EventTarget this.pendingResource?.reject(destroyed); this.pendingResource = null; this.awaitingViewerResource = null; - this.updateState({destroyed : true, loading : false}); + this.updateState({ destroyed: true, loading: false }); this.closeFilterPreview(); this.auth.destroy(); if (this.viewerMethodRafId !== null) @@ -1274,6 +1812,10 @@ export class Diva extends EventTarget this.removeViewerEvent("diva-page-loaded", this.handlePageLoadedBound as EventListener); this.removeViewerEvent("diva-zoom-change", this.handleZoomChangeBound as EventListener); this.removeViewerEvent("diva-loading-change", this.handleLoadingChangeBound as EventListener); + this.removeViewerEvent( + "diva-static-image-cors-fallback", + this.handleStaticImageCorsFallbackBound as EventListener, + ); this.removeViewerEvent("diva-page-load-error", this.handlePageLoadErrorBound as EventListener); root.removeEventListener("click", this.handleRootClickBound, true); document.removeEventListener("fullscreenchange", this.handleFullscreenChangeBound); @@ -1311,6 +1853,7 @@ export class Diva extends EventTarget this.currentFilterSourceKey = null; this.pendingFilterPreview = null; this.filterOptions = null; + this.setFilterAccessBlocked(false); this.filterPreviewRetries = 0; } @@ -1388,20 +1931,29 @@ export class Diva extends EventTarget } const viewer = this.ensureMainViewer(); const visible = viewer && typeof viewer.getVisiblePageIndexes === "function" - ? viewer.getVisiblePageIndexes() - : [ detail.index ]; - this.updateState({currentPageIndex : detail.index, visiblePageIndexes : visible}); + ? viewer.getVisiblePageIndexes() + : [detail.index]; + this.updateState({ currentPageIndex: detail.index, visiblePageIndexes: visible }); const page = this.pages[detail.index]; if (page) { this.emit("pagechange", { - pageIndex : detail.index, - page : this.copyPage(page), - visiblePages : this.getVisiblePages() + pageIndex: detail.index, + page: this.copyPage(page), + visiblePages: this.getVisiblePages(), }); } } + private handleAnnotationSelect(event: Event): void + { + const annotationId = (event as CustomEvent).detail?.annotationId; + if (typeof annotationId === "string") + { + this.emit("annotationselect", { annotationId }); + } + } + private handlePageLoaded(event: Event): void { const detail = (event as CustomEvent).detail; @@ -1409,6 +1961,7 @@ export class Diva extends EventTarget { return; } + this.getPort("viewerPageLoaded").send(detail.index); const awaiting = this.awaitingViewerResource; if (awaiting && detail.resourceId === awaiting.id && detail.index === awaiting.pageIndex) { @@ -1424,8 +1977,8 @@ export class Diva extends EventTarget return; } this.getPort("zoomChanged").send(detail.zoom); - this.updateState({zoom : detail.zoom}); - this.emit("zoomchange", {zoom : detail.zoom}); + this.updateState({ zoom: detail.zoom }); + this.emit("zoomchange", { zoom: detail.zoom }); } private handleLoadingChange(event: Event): void @@ -1440,6 +1993,15 @@ export class Diva extends EventTarget this.refreshLoadingState(); } + private handleStaticImageCorsFallback(event: Event): void + { + const sourceId = (event as CustomEvent).detail?.sourceId; + if (typeof sourceId === "string") + { + this.auth.useNonCorsStaticSource(sourceId); + } + } + private handlePageLoadError(event: Event): void { const detail = (event as CustomEvent).detail; @@ -1447,7 +2009,7 @@ export class Diva extends EventTarget const awaiting = this.awaitingViewerResource; if (awaiting && detail?.resourceId === awaiting.id && detail?.index === awaiting.pageIndex) { - this.updateState({ready : false}); + this.updateState({ ready: false }); this.resourceLoading = false; this.refreshLoadingState(); if (!this.readySettled) @@ -1460,18 +2022,18 @@ export class Diva extends EventTarget this.pendingResource.reject(error); this.pendingResource = null; } - this.emit("error", {error, operation : "loadPage", recoverable : true}); + this.emit("error", { error, operation: "loadPage", recoverable: true }); return; } - this.emit("error", {error, operation : "loadPage", recoverable : true}); + this.emit("error", { error, operation: "loadPage", recoverable: true }); } private handleFullscreenChange(): void { const isFullscreen = Boolean(document.fullscreenElement); this.getPort("fullscreenChanged").send(isFullscreen); - this.updateState({fullscreen : isFullscreen}); - this.emit("fullscreenchange", {fullscreen : isFullscreen}); + this.updateState({ fullscreen: isFullscreen }); + this.emit("fullscreenchange", { fullscreen: isFullscreen }); } private ensureFilterViewer(): void @@ -1482,14 +2044,14 @@ export class Diva extends EventTarget } this.filterViewer = OpenSeadragon({ - element : this.filterViewerElement, - showNavigationControl : false, - preserveViewport : true, - visibilityRatio : 0, - drawer : "canvas", - crossOriginPolicy : "Anonymous", - loadTilesWithAjax : true, - ajaxWithCredentials : false + element: this.filterViewerElement, + showNavigationControl: false, + preserveViewport: true, + visibilityRatio: 0, + drawer: "canvas", + crossOriginPolicy: "Anonymous", + loadTilesWithAjax: true, + ajaxWithCredentials: false, }); this.filterViewer.addHandler("open", () => { @@ -1497,7 +2059,7 @@ export class Diva extends EventTarget const canvas = drawer && drawer.canvas ? drawer.canvas : null; if (canvas && typeof canvas.getContext === "function") { - const context = canvas.getContext("2d", {willReadFrequently : true}); + const context = canvas.getContext("2d", { willReadFrequently: true }); if (context) { drawer.context = context; @@ -1512,7 +2074,7 @@ export class Diva extends EventTarget }); } - private ensureFilterViewerElement(): HTMLElement|null + private ensureFilterViewerElement(): HTMLElement | null { const element = document.getElementById("filter-viewer"); if (!element) @@ -1542,6 +2104,11 @@ export class Diva extends EventTarget { return; } + if (this.filterAccessBlocked) + { + setFilterOptions(this.filterViewer, { filters: [] }); + return; + } const options = buildFilterOptions(this.filterOptions); setFilterOptions(this.filterViewer, options); @@ -1570,7 +2137,7 @@ export class Diva extends EventTarget private saveFilteredImage(): void { - if (!this.filterViewer) + if (!this.filterViewer || this.filterAccessBlocked) { return; } @@ -1596,9 +2163,68 @@ export class Diva extends EventTarget } } + private isNonCorsStaticSource(tileSource: ResolvedTileSource): boolean + { + return typeof tileSource === "object" && tileSource !== null + && tileSource.type === "image" && tileSource.crossOriginPolicy === false; + } + + private setFilterAccessBlocked(blocked: boolean): void + { + this.filterAccessBlocked = blocked; + const sidebar = this.root.querySelector(".diva-modal-sidebar"); + if (!sidebar) + { + return; + } + const controls = Array.from( + sidebar.querySelectorAll( + "button, input, select, textarea", + ), + ); + controls.forEach((control) => { + if (blocked) + { + control.dataset.divaFilterWasDisabled = control.disabled ? "true" : "false"; + control.disabled = true; + } + else if (control.dataset.divaFilterWasDisabled !== undefined) + { + control.disabled = control.dataset.divaFilterWasDisabled === "true"; + delete control.dataset.divaFilterWasDisabled; + } + }); + const saveButton = this.root.querySelector("button[aria-label=\"Save view\"]"); + if (saveButton) + { + if (blocked) + { + saveButton.dataset.divaFilterWasDisabled = saveButton.disabled ? "true" : "false"; + saveButton.disabled = true; + } + else if (saveButton.dataset.divaFilterWasDisabled !== undefined) + { + saveButton.disabled = saveButton.dataset.divaFilterWasDisabled === "true"; + delete saveButton.dataset.divaFilterWasDisabled; + } + } + let warning = sidebar.querySelector(".diva-filter-access-warning"); + if (blocked && !warning) + { + warning = document.createElement("p"); + warning.className = "diva-filter-access-warning"; + warning.textContent = "Image filters and Save view require CORS-enabled image access."; + sidebar.prepend(warning); + } + if (!blocked) + { + warning?.remove(); + } + } + private getPort(name: Name): ElmPorts[Name] { - const ports = this.app.ports as Partial| undefined; + const ports = this.app.ports as Partial | undefined; const port = ports ? ports[name] : undefined; if (!port) { @@ -1675,7 +2301,7 @@ export class Diva extends EventTarget const pending = Array.from(this.pendingViewerMethods.entries()); this.pendingViewerMethods.clear(); - pending.forEach(([ name, args ]) => { + pending.forEach(([name, args]) => { if (!this.callViewerMethod(name, ...args)) { this.pendingViewerMethods.set(name, args); @@ -1717,92 +2343,93 @@ export class Diva extends EventTarget } type FilterMapping = { - enabled: keyof FilterSettings; filter : keyof typeof filterFunctions; + enabled: keyof FilterSettings; + filter: keyof typeof filterFunctions; args?: (keyof FilterSettings)[]; defaults?: number[]; }; const filterFunctions = { - THRESHOLDING : Filters.THRESHOLDING, - BRIGHTNESS : Filters.BRIGHTNESS, - SATURATION : Filters.SATURATION, - VIBRANCE : Filters.VIBRANCE, - HUE : Filters.HUE, - CC_RED : Filters.CC_RED, - CC_GREEN : Filters.CC_GREEN, - CC_BLUE : Filters.CC_BLUE, - CONTRAST : Filters.CONTRAST, - GAMMA : Filters.GAMMA, - GREYSCALE : Filters.GREYSCALE, - INVERT : Filters.INVERT, - BACKGROUND_NORMALIZE : Filters.BACKGROUND_NORMALIZE, - UNSHARP_MASK : Filters.UNSHARP_MASK, - ALT_RED_GAMMA : Filters.ALT_RED_GAMMA, - ALT_GREEN_GAMMA : Filters.ALT_GREEN_GAMMA, - ALT_BLUE_GAMMA : Filters.ALT_BLUE_GAMMA, - ALT_RED_SIGMOID : Filters.ALT_RED_SIGMOID, - ALT_GREEN_SIGMOID : Filters.ALT_GREEN_SIGMOID, - ALT_BLUE_SIGMOID : Filters.ALT_BLUE_SIGMOID, - ALT_RED_HUE : Filters.ALT_RED_HUE, - ALT_GREEN_HUE : Filters.ALT_GREEN_HUE, - ALT_BLUE_HUE : Filters.ALT_BLUE_HUE, - ALT_RED_VIBRANCE : Filters.ALT_RED_VIBRANCE, - ALT_GREEN_VIBRANCE : Filters.ALT_GREEN_VIBRANCE, - ALT_BLUE_VIBRANCE : Filters.ALT_BLUE_VIBRANCE, - GLOBAL_PCA_COLOR : Filters.GLOBAL_PCA_COLOR, - ADAPTIVE_THRESHOLD : Filters.ADAPTIVE_THRESHOLD + THRESHOLDING: Filters.THRESHOLDING, + BRIGHTNESS: Filters.BRIGHTNESS, + SATURATION: Filters.SATURATION, + VIBRANCE: Filters.VIBRANCE, + HUE: Filters.HUE, + CC_RED: Filters.CC_RED, + CC_GREEN: Filters.CC_GREEN, + CC_BLUE: Filters.CC_BLUE, + CONTRAST: Filters.CONTRAST, + GAMMA: Filters.GAMMA, + GREYSCALE: Filters.GREYSCALE, + INVERT: Filters.INVERT, + BACKGROUND_NORMALIZE: Filters.BACKGROUND_NORMALIZE, + UNSHARP_MASK: Filters.UNSHARP_MASK, + ALT_RED_GAMMA: Filters.ALT_RED_GAMMA, + ALT_GREEN_GAMMA: Filters.ALT_GREEN_GAMMA, + ALT_BLUE_GAMMA: Filters.ALT_BLUE_GAMMA, + ALT_RED_SIGMOID: Filters.ALT_RED_SIGMOID, + ALT_GREEN_SIGMOID: Filters.ALT_GREEN_SIGMOID, + ALT_BLUE_SIGMOID: Filters.ALT_BLUE_SIGMOID, + ALT_RED_HUE: Filters.ALT_RED_HUE, + ALT_GREEN_HUE: Filters.ALT_GREEN_HUE, + ALT_BLUE_HUE: Filters.ALT_BLUE_HUE, + ALT_RED_VIBRANCE: Filters.ALT_RED_VIBRANCE, + ALT_GREEN_VIBRANCE: Filters.ALT_GREEN_VIBRANCE, + ALT_BLUE_VIBRANCE: Filters.ALT_BLUE_VIBRANCE, + GLOBAL_PCA_COLOR: Filters.GLOBAL_PCA_COLOR, + ADAPTIVE_THRESHOLD: Filters.ADAPTIVE_THRESHOLD, }; const simpleFilterMappings: FilterMapping[] = [ - {enabled : "thresholdEnabled", filter : "THRESHOLDING", args : [ "threshold" ]}, - {enabled : "brightnessEnabled", filter : "BRIGHTNESS", args : [ "brightness" ]}, - {enabled : "saturationEnabled", filter : "SATURATION", args : [ "saturation" ]}, - {enabled : "vibranceEnabled", filter : "VIBRANCE", args : [ "vibrance" ]}, - {enabled : "hueEnabled", filter : "HUE", args : [ "hue" ]}, - {enabled : "ccRedEnabled", filter : "CC_RED", args : [ "ccRed" ]}, - {enabled : "ccGreenEnabled", filter : "CC_GREEN", args : [ "ccGreen" ]}, - {enabled : "ccBlueEnabled", filter : "CC_BLUE", args : [ "ccBlue" ]}, - {enabled : "contrastEnabled", filter : "CONTRAST", args : [ "contrast" ]}, - {enabled : "gammaEnabled", filter : "GAMMA", args : [ "gamma" ]}, - {enabled : "grayscale", filter : "GREYSCALE"}, - {enabled : "invert", filter : "INVERT"}, - {enabled : "normalizeEnabled", filter : "BACKGROUND_NORMALIZE", args : [ "normalizeStrength" ]}, - {enabled : "unsharpEnabled", filter : "UNSHARP_MASK", args : [ "unsharpAmount" ]}, + { enabled: "thresholdEnabled", filter: "THRESHOLDING", args: ["threshold"] }, + { enabled: "brightnessEnabled", filter: "BRIGHTNESS", args: ["brightness"] }, + { enabled: "saturationEnabled", filter: "SATURATION", args: ["saturation"] }, + { enabled: "vibranceEnabled", filter: "VIBRANCE", args: ["vibrance"] }, + { enabled: "hueEnabled", filter: "HUE", args: ["hue"] }, + { enabled: "ccRedEnabled", filter: "CC_RED", args: ["ccRed"] }, + { enabled: "ccGreenEnabled", filter: "CC_GREEN", args: ["ccGreen"] }, + { enabled: "ccBlueEnabled", filter: "CC_BLUE", args: ["ccBlue"] }, + { enabled: "contrastEnabled", filter: "CONTRAST", args: ["contrast"] }, + { enabled: "gammaEnabled", filter: "GAMMA", args: ["gamma"] }, + { enabled: "grayscale", filter: "GREYSCALE" }, + { enabled: "invert", filter: "INVERT" }, + { enabled: "normalizeEnabled", filter: "BACKGROUND_NORMALIZE", args: ["normalizeStrength"] }, + { enabled: "unsharpEnabled", filter: "UNSHARP_MASK", args: ["unsharpAmount"] }, ]; const altFilterMappings: FilterMapping[] = [ - {enabled : "altRedGammaEnabled", filter : "ALT_RED_GAMMA", args : [ "altRedGamma" ]}, - {enabled : "altGreenGammaEnabled", filter : "ALT_GREEN_GAMMA", args : [ "altGreenGamma" ]}, - {enabled : "altBlueGammaEnabled", filter : "ALT_BLUE_GAMMA", args : [ "altBlueGamma" ]}, - {enabled : "altRedSigmoidEnabled", filter : "ALT_RED_SIGMOID", args : [ "altRedSigmoid" ]}, - {enabled : "altGreenSigmoidEnabled", filter : "ALT_GREEN_SIGMOID", args : [ "altGreenSigmoid" ]}, - {enabled : "altBlueSigmoidEnabled", filter : "ALT_BLUE_SIGMOID", args : [ "altBlueSigmoid" ]}, - { - enabled : "altRedHueEnabled", - filter : "ALT_RED_HUE", - args : [ "altRedHue", "altRedHueWindow" ], - defaults : [ 0, 8 ] + { enabled: "altRedGammaEnabled", filter: "ALT_RED_GAMMA", args: ["altRedGamma"] }, + { enabled: "altGreenGammaEnabled", filter: "ALT_GREEN_GAMMA", args: ["altGreenGamma"] }, + { enabled: "altBlueGammaEnabled", filter: "ALT_BLUE_GAMMA", args: ["altBlueGamma"] }, + { enabled: "altRedSigmoidEnabled", filter: "ALT_RED_SIGMOID", args: ["altRedSigmoid"] }, + { enabled: "altGreenSigmoidEnabled", filter: "ALT_GREEN_SIGMOID", args: ["altGreenSigmoid"] }, + { enabled: "altBlueSigmoidEnabled", filter: "ALT_BLUE_SIGMOID", args: ["altBlueSigmoid"] }, + { + enabled: "altRedHueEnabled", + filter: "ALT_RED_HUE", + args: ["altRedHue", "altRedHueWindow"], + defaults: [0, 8], }, { - enabled : "altGreenHueEnabled", - filter : "ALT_GREEN_HUE", - args : [ "altGreenHue", "altGreenHueWindow" ], - defaults : [ 0, 8 ] + enabled: "altGreenHueEnabled", + filter: "ALT_GREEN_HUE", + args: ["altGreenHue", "altGreenHueWindow"], + defaults: [0, 8], }, { - enabled : "altBlueHueEnabled", - filter : "ALT_BLUE_HUE", - args : [ "altBlueHue", "altBlueHueWindow" ], - defaults : [ 0, 8 ] + enabled: "altBlueHueEnabled", + filter: "ALT_BLUE_HUE", + args: ["altBlueHue", "altBlueHueWindow"], + defaults: [0, 8], }, - {enabled : "altRedVibranceEnabled", filter : "ALT_RED_VIBRANCE", args : [ "altRedVibrance" ]}, - {enabled : "altGreenVibranceEnabled", filter : "ALT_GREEN_VIBRANCE", args : [ "altGreenVibrance" ]}, - {enabled : "altBlueVibranceEnabled", filter : "ALT_BLUE_VIBRANCE", args : [ "altBlueVibrance" ]}, - { - enabled : "adaptiveEnabled", - filter : "ADAPTIVE_THRESHOLD", - args : [ "adaptiveWindow", "adaptiveOffset" ], - defaults : [ 15, 10 ] + { enabled: "altRedVibranceEnabled", filter: "ALT_RED_VIBRANCE", args: ["altRedVibrance"] }, + { enabled: "altGreenVibranceEnabled", filter: "ALT_GREEN_VIBRANCE", args: ["altGreenVibrance"] }, + { enabled: "altBlueVibranceEnabled", filter: "ALT_BLUE_VIBRANCE", args: ["altBlueVibrance"] }, + { + enabled: "adaptiveEnabled", + filter: "ADAPTIVE_THRESHOLD", + args: ["adaptiveWindow", "adaptiveOffset"], + defaults: [15, 10], }, ]; @@ -1818,10 +2445,10 @@ const appendMappedProcessors = (processors: any[], filters: FilterSettings, mapp } }; -const buildFilterOptions = (filters: FilterSettings|null): any => { +const buildFilterOptions = (filters: FilterSettings | null): any => { if (!filters) { - return {filters : [], loadMode : "sync"}; + return { filters: [], loadMode: "sync" }; } const processors: any[] = []; @@ -1855,8 +2482,14 @@ const buildFilterOptions = (filters: FilterSettings|null): any => { if (filters.pseudoColourEnabled) { - processors.push(Filters.PSEUDOCOLOR(filters.pseudoColourMode || "", filters.pseudoColourRed ?? 1, - filters.pseudoColourGreen ?? 1, filters.pseudoColourBlue ?? 1)); + processors.push( + Filters.PSEUDOCOLOR( + filters.pseudoColourMode || "", + filters.pseudoColourRed ?? 1, + filters.pseudoColourGreen ?? 1, + filters.pseudoColourBlue ?? 1, + ), + ); } if (filters.globalPcaEnabled) @@ -1866,20 +2499,25 @@ const buildFilterOptions = (filters: FilterSettings|null): any => { if (filters.colourReplaceEnabled) { - processors.push(Filters.COLOR_REPLACE(filters.colourReplaceSource || "#ffffff", - filters.colourReplaceTarget || "#ffffff", - filters.colourReplaceTolerance ?? 24, filters.colourReplaceBlend ?? 1, - filters.colourReplacePreserveLum ?? false)); + processors.push( + Filters.COLOR_REPLACE( + filters.colourReplaceSource || "#ffffff", + filters.colourReplaceTarget || "#ffffff", + filters.colourReplaceTolerance ?? 24, + filters.colourReplaceBlend ?? 1, + filters.colourReplacePreserveLum ?? false, + ), + ); } appendMappedProcessors(processors, filters, altFilterMappings); if (processors.length === 0) { - return {filters : [], loadMode : "sync"}; + return { filters: [], loadMode: "sync" }; } - return {filters : {processors}, loadMode : "sync"}; + return { filters: { processors }, loadMode: "sync" }; }; declare global diff --git a/nginx/app/dependencies/diva.js/src/filters.ts b/nginx/app/dependencies/diva.js/src/filters.ts index 71184fea..a642989f 100644 --- a/nginx/app/dependencies/diva.js/src/filters.ts +++ b/nginx/app/dependencies/diva.js/src/filters.ts @@ -19,18 +19,17 @@ * Additional filters and modifications to the processing methods are from * CamanJS: * https://github.com/meltingice/CamanJS/blob/master/src/lib/filters.coffee - * - * */ export type FilterProcessor = (context: CanvasRenderingContext2D, callback: () => void) => void; type PixelTransformInPlace = (r: number, g: number, b: number, a: number, out: number[]) => void; type ResettableItem = { - reset: () => void + reset: () => void; }; export type FilterDefinition = { - items?: ResettableItem|ResettableItem[]; processors : FilterProcessor | FilterProcessor[]; + items?: ResettableItem | ResettableItem[]; + processors: FilterProcessor | FilterProcessor[]; }; export type FilterOptions = { @@ -39,7 +38,9 @@ export type FilterOptions = { }; type FilterPluginInstance = { - viewer: any; filters : FilterDefinition[]; filterIncrement : number; + viewer: any; + filters: FilterDefinition[]; + filterIncrement: number; }; export function setFilterOptions(viewer: any, options: FilterOptions): void @@ -70,7 +71,7 @@ function readImageDataFromContext(context: CanvasRenderingContext2D): ImageData function createFilterPlugin(viewer: any, options: FilterOptions): FilterPluginInstance { - const instance: FilterPluginInstance = {viewer, filters : [], filterIncrement : 0}; + const instance: FilterPluginInstance = { viewer, filters: [], filterIncrement: 0 }; const self = instance; self.viewer.addHandler("tile-loaded", tileLoadedHandler); @@ -92,7 +93,7 @@ function createFilterPlugin(viewer: any, options: FilterOptions): FilterPluginIn const canvas = window.document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; - const context = canvas.getContext("2d", {willReadFrequently : true}) as CanvasRenderingContext2D; + const context = canvas.getContext("2d", { willReadFrequently: true }) as CanvasRenderingContext2D; context.drawImage(image, 0, 0); tile._renderedContext = context; const callback = event.getCompletionCallback(); @@ -101,8 +102,11 @@ function createFilterPlugin(viewer: any, options: FilterOptions): FilterPluginIn } } - function applyFilters(context: CanvasRenderingContext2D, filtersProcessors: FilterProcessor[], - callback?: () => void): void + function applyFilters( + context: CanvasRenderingContext2D, + filtersProcessors: FilterProcessor[], + callback?: () => void, + ): void { if (callback) { @@ -189,8 +193,9 @@ function createFilterPlugin(viewer: any, options: FilterOptions): FilterPluginIn function setOptions(instance: FilterPluginInstance, options: FilterOptions): void { const filters = options.filters; - instance.filters = !filters ? [] : Array.isArray(filters) ? filters - : [ filters ]; + instance.filters = !filters ? [] : Array.isArray(filters) + ? filters + : [filters]; for (let i = 0; i < instance.filters.length; i += 1) { const filter = instance.filters[i]; @@ -198,7 +203,7 @@ function setOptions(instance: FilterPluginInstance, options: FilterOptions): voi { throw new Error("Filter processors must be specified."); } - filter.processors = Array.isArray(filter.processors) ? filter.processors : [ filter.processors ]; + filter.processors = Array.isArray(filter.processors) ? filter.processors : [filter.processors]; } instance.filterIncrement += 1; @@ -262,7 +267,7 @@ function getFiltersProcessors(instance: any, item: any): FilterProcessor[] return []; } - let globalProcessors: FilterProcessor[]|null = null; + let globalProcessors: FilterProcessor[] | null = null; for (let i = 0; i < instance.filters.length; i += 1) { const filter = instance.filters[i]; @@ -278,7 +283,7 @@ function getFiltersProcessors(instance: any, item: any): FilterProcessor[] return globalProcessors ? globalProcessors : []; } -const sampleStops = (stops: Array<{stop : number; color : number[]}>, t: number): number[] => { +const sampleStops = (stops: Array<{ stop: number; color: number[] }>, t: number): number[] => { let lower = stops[0]; let upper = stops[stops.length - 1]; for (let i = 0; i < stops.length; i += 1) @@ -298,10 +303,10 @@ const sampleStops = (stops: Array<{stop : number; color : number[]}>, t: number) const r = Math.round(lower.color[0] + (upper.color[0] - lower.color[0]) * localT); const g = Math.round(lower.color[1] + (upper.color[1] - lower.color[1]) * localT); const b = Math.round(lower.color[2] + (upper.color[2] - lower.color[2]) * localT); - return [ r, g, b ]; + return [r, g, b]; }; -const buildColormap = (stops: Array<{stop : number; color : number[]}>): number[][] => { +const buildColormap = (stops: Array<{ stop: number; color: number[] }>): number[][] => { const map: number[][] = []; for (let i = 0; i < 256; i += 1) { @@ -313,33 +318,36 @@ const buildColormap = (stops: Array<{stop : number; color : number[]}>): number[ const colormapCache = new Map(); -const getColormap = (preset: string): number[][]|null => { +const getColormap = (preset: string): number[][] | null => { const cached = colormapCache.get(preset); if (cached) { return cached; } - let result: number[][]|null = null; + let result: number[][] | null = null; switch (preset) { - case "hot": - result = buildColormap([ - {stop : 0, color : [ 0, 0, 0 ]}, {stop : 0.4, color : [ 255, 0, 0 ]}, {stop : 0.7, color : [ 255, 255, 0 ]}, - {stop : 1, color : [ 255, 255, 255 ]} - ]); - break; - case "cool": - result = buildColormap([ - {stop : 0, color : [ 0, 0, 0 ]}, {stop : 0.5, color : [ 0, 128, 255 ]}, - {stop : 1, color : [ 255, 255, 255 ]} - ]); - break; - case "gray": - case "": - result = buildColormap([ {stop : 0, color : [ 0, 0, 0 ]}, {stop : 1, color : [ 255, 255, 255 ]} ]); - break; - default: - return null; + case "hot": + result = buildColormap([ + { stop: 0, color: [0, 0, 0] }, + { stop: 0.4, color: [255, 0, 0] }, + { stop: 0.7, color: [255, 255, 0] }, + { stop: 1, color: [255, 255, 255] }, + ]); + break; + case "cool": + result = buildColormap([ + { stop: 0, color: [0, 0, 0] }, + { stop: 0.5, color: [0, 128, 255] }, + { stop: 1, color: [255, 255, 255] }, + ]); + break; + case "gray": + case "": + result = buildColormap([{ stop: 0, color: [0, 0, 0] }, { stop: 1, color: [255, 255, 255] }]); + break; + default: + return null; } colormapCache.set(preset, result); return result; @@ -369,7 +377,7 @@ const clamp01 = (value: number): number => { return value; }; -const hexToRgb = (hex: string): [ number, number, number ]|null => { +const hexToRgb = (hex: string): [number, number, number] | null => { if (!hex) { return null; @@ -392,11 +400,16 @@ const hexToRgb = (hex: string): [ number, number, number ]|null => { { return null; } - return [ (value >> 16) & 0xff, (value >> 8) & 0xff, value & 0xff ]; + return [(value >> 16) & 0xff, (value >> 8) & 0xff, value & 0xff]; }; -const boxBlur = (input: Uint8ClampedArray, width: number, height: number, radius: number, - grayscale?: boolean): Uint8ClampedArray => { +const boxBlur = ( + input: Uint8ClampedArray, + width: number, + height: number, + radius: number, + grayscale?: boolean, +): Uint8ClampedArray => { const size = width * height; const output = new Uint8ClampedArray(input.length); if (!radius) @@ -507,7 +520,8 @@ const boxBlur = (input: Uint8ClampedArray, width: number, height: number, radius function applyPixelTransformInPlace(transform: PixelTransformInPlace): FilterProcessor { - return function(context: CanvasRenderingContext2D, callback: () => void): void { + return function(context: CanvasRenderingContext2D, callback: () => void): void + { Filters._applyPixelTransformInPlace(context, transform); callback(); }; @@ -541,8 +555,15 @@ function withImageData(context: CanvasRenderingContext2D, handler: (imgData: Ima } } -function convolvePixels(originalPixels: Uint8ClampedArray, outputPixels: Uint8ClampedArray, width: number, - height: number, kernel: number[], kernelSize: number, kernelHalfSize: number): void +function convolvePixels( + originalPixels: Uint8ClampedArray, + outputPixels: Uint8ClampedArray, + width: number, + height: number, + kernel: number[], + kernelSize: number, + kernelHalfSize: number, +): void { const rowStride = width * 4; @@ -623,8 +644,15 @@ function convolvePixels(originalPixels: Uint8ClampedArray, outputPixels: Uint8Cl } } -function morphPixels(originalPixels: Uint8ClampedArray, outputPixels: Uint8ClampedArray, width: number, height: number, - kernelSize: number, kernelHalfSize: number, comparator: (a: number, b: number) => number): void +function morphPixels( + originalPixels: Uint8ClampedArray, + outputPixels: Uint8ClampedArray, + width: number, + height: number, + kernelSize: number, + kernelHalfSize: number, + comparator: (a: number, b: number) => number, +): void { const rowStride = width * 4; @@ -703,69 +731,75 @@ function morphPixels(originalPixels: Uint8ClampedArray, outputPixels: Uint8Clamp } } -function dot3(a: number[], b: number[]): number { return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; } +function dot3(a: number[], b: number[]): number +{ + return a[0] * b[0] + a[1] * b[1] + a[2] * b[2]; +} function normalize3(v: number[]): number[] { const len = Math.sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]) || 1; - return [ v[0] / len, v[1] / len, v[2] / len ]; + return [v[0] / len, v[1] / len, v[2] / len]; } function scaleMat3(m: number[][], s: number): number[][] { return [ - [ m[0][0] * s, m[0][1] * s, m[0][2] * s ], [ m[1][0] * s, m[1][1] * s, m[1][2] * s ], - [ m[2][0] * s, m[2][1] * s, m[2][2] * s ] + [m[0][0] * s, m[0][1] * s, m[0][2] * s], + [m[1][0] * s, m[1][1] * s, m[1][2] * s], + [m[2][0] * s, m[2][1] * s, m[2][2] * s], ]; } function outer3(v: number[]): number[][] { return [ - [ v[0] * v[0], v[0] * v[1], v[0] * v[2] ], [ v[1] * v[0], v[1] * v[1], v[1] * v[2] ], - [ v[2] * v[0], v[2] * v[1], v[2] * v[2] ] + [v[0] * v[0], v[0] * v[1], v[0] * v[2]], + [v[1] * v[0], v[1] * v[1], v[1] * v[2]], + [v[2] * v[0], v[2] * v[1], v[2] * v[2]], ]; } function matVec3(m: number[][], v: number[]): number[] { return [ - m[0][0] * v[0] + m[0][1] * v[1] + m[0][2] * v[2], m[1][0] * v[0] + m[1][1] * v[1] + m[1][2] * v[2], - m[2][0] * v[0] + m[2][1] * v[1] + m[2][2] * v[2] + m[0][0] * v[0] + m[0][1] * v[1] + m[0][2] * v[2], + m[1][0] * v[0] + m[1][1] * v[1] + m[1][2] * v[2], + m[2][0] * v[0] + m[2][1] * v[1] + m[2][2] * v[2], ]; } function matSub(a: number[][], b: number[][]): number[][] { return [ - [ a[0][0] - b[0][0], a[0][1] - b[0][1], a[0][2] - b[0][2] ], - [ a[1][0] - b[1][0], a[1][1] - b[1][1], a[1][2] - b[1][2] ], - [ a[2][0] - b[2][0], a[2][1] - b[2][1], a[2][2] - b[2][2] ] + [a[0][0] - b[0][0], a[0][1] - b[0][1], a[0][2] - b[0][2]], + [a[1][0] - b[1][0], a[1][1] - b[1][1], a[1][2] - b[1][2]], + [a[2][0] - b[2][0], a[2][1] - b[2][1], a[2][2] - b[2][2]], ]; } -function powerIterEigen(m: number[][], iterations: number): {vector: number[]; value : number} +function powerIterEigen(m: number[][], iterations: number): { vector: number[]; value: number } { - let v = normalize3([ 1, 1, 1 ]); + let v = normalize3([1, 1, 1]); for (let i = 0; i < iterations; i += 1) { v = normalize3(matVec3(m, v)); } const mv = matVec3(m, v); const value = dot3(v, mv); - return {vector : v, value}; + return { vector: v, value }; } type PcaBasis = { mean: number[]; - vectors : number[][]; - values : number[]; + vectors: number[][]; + values: number[]; }; type RunningPcaStats = { count: number; - mean : number[]; - m2 : number[][]; + mean: number[]; + m2: number[][]; }; function computePcaBasisFromCov(mean: number[], cov: number[][]): PcaBasis @@ -776,14 +810,14 @@ function computePcaBasisFromCov(mean: number[], cov: number[][]): PcaBasis const eig3 = normalize3([ eig1.vector[1] * eig2.vector[2] - eig1.vector[2] * eig2.vector[1], eig1.vector[2] * eig2.vector[0] - eig1.vector[0] * eig2.vector[2], - eig1.vector[0] * eig2.vector[1] - eig1.vector[1] * eig2.vector[0] + eig1.vector[0] * eig2.vector[1] - eig1.vector[1] * eig2.vector[0], ]); const eig3Value = dot3(eig3, matVec3(cov, eig3)); return { mean, - vectors : [ eig1.vector, eig2.vector, eig3 ], - values : [ Math.max(0, eig1.value), Math.max(0, eig2.value), Math.max(0, eig3Value) ] + vectors: [eig1.vector, eig2.vector, eig3], + values: [Math.max(0, eig1.value), Math.max(0, eig2.value), Math.max(0, eig3Value)], }; } @@ -820,10 +854,12 @@ function computePcaVectors(data: Uint8ClampedArray): PcaBasis } const inv = 1 / Math.max(1, count - 1); const cov = [ - [ c00 * inv, c01 * inv, c02 * inv ], [ c01 * inv, c11 * inv, c12 * inv ], [ c02 * inv, c12 * inv, c22 * inv ] + [c00 * inv, c01 * inv, c02 * inv], + [c01 * inv, c11 * inv, c12 * inv], + [c02 * inv, c12 * inv, c22 * inv], ]; - return computePcaBasisFromCov([ meanR, meanG, meanB ], cov); + return computePcaBasisFromCov([meanR, meanG, meanB], cov); } function applyPcaColor(imgData: ImageData, mode: string, hueDegrees: number = 0): void @@ -848,17 +884,29 @@ function applyPcaColor(imgData: ImageData, mode: string, hueDegrees: number = 0) const c2 = r * v2[0] + g * v2[1] + b * v2[2]; const c3 = r * v3[0] + g * v3[1] + b * v3[2]; if (c1 < min1) + { min1 = c1; + } if (c1 > max1) + { max1 = c1; + } if (c2 < min2) + { min2 = c2; + } if (c2 > max2) + { max2 = c2; + } if (c3 < min3) + { min3 = c3; + } if (c3 > max3) + { max3 = c3; + } } const range1 = max1 - min1 || 1; @@ -909,13 +957,15 @@ function applyPcaColor(imgData: ImageData, mode: string, hueDegrees: number = 0) } type HueRotationMatrix = { - m00: number; m01 : number; m02 : number; - m10 : number; - m11 : number; - m12 : number; - m20 : number; - m21 : number; - m22 : number; + m00: number; + m01: number; + m02: number; + m10: number; + m11: number; + m12: number; + m20: number; + m21: number; + m22: number; }; function buildHueRotationMatrix(degrees: number): HueRotationMatrix @@ -927,15 +977,15 @@ function buildHueRotationMatrix(degrees: number): HueRotationMatrix const sqrt1_3 = Math.sqrt(oneThird); return { - m00 : cosA + (1 - cosA) * oneThird, - m01 : oneThird * (1 - cosA) - sqrt1_3 * sinA, - m02 : oneThird * (1 - cosA) + sqrt1_3 * sinA, - m10 : oneThird * (1 - cosA) + sqrt1_3 * sinA, - m11 : cosA + (1 - cosA) * oneThird, - m12 : oneThird * (1 - cosA) - sqrt1_3 * sinA, - m20 : oneThird * (1 - cosA) - sqrt1_3 * sinA, - m21 : oneThird * (1 - cosA) + sqrt1_3 * sinA, - m22 : cosA + (1 - cosA) * oneThird + m00: cosA + (1 - cosA) * oneThird, + m01: oneThird * (1 - cosA) - sqrt1_3 * sinA, + m02: oneThird * (1 - cosA) + sqrt1_3 * sinA, + m10: oneThird * (1 - cosA) + sqrt1_3 * sinA, + m11: cosA + (1 - cosA) * oneThird, + m12: oneThird * (1 - cosA) - sqrt1_3 * sinA, + m20: oneThird * (1 - cosA) - sqrt1_3 * sinA, + m21: oneThird * (1 - cosA) + sqrt1_3 * sinA, + m22: cosA + (1 - cosA) * oneThird, }; } @@ -961,13 +1011,13 @@ function applyHueRotationInPlace(data: Uint8ClampedArray, degrees: number): void function createRunningPcaStats(): RunningPcaStats { return { - count : 0, - mean : [ 0, 0, 0 ], - m2 : [ - [ 0, 0, 0 ], - [ 0, 0, 0 ], - [ 0, 0, 0 ] - ] + count: 0, + mean: [0, 0, 0], + m2: [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0], + ], }; } @@ -976,22 +1026,22 @@ function updateRunningPcaStats(stats: RunningPcaStats, data: Uint8ClampedArray): const sampleStride = 16; for (let i = 0; i < data.length; i += 4 * sampleStride) { - const sample = [ data[i], data[i + 1], data[i + 2] ]; + const sample = [data[i], data[i + 1], data[i + 2]]; const nextCount = stats.count + 1; const delta = [ sample[0] - stats.mean[0], sample[1] - stats.mean[1], - sample[2] - stats.mean[2] + sample[2] - stats.mean[2], ]; const nextMean = [ stats.mean[0] + delta[0] / nextCount, stats.mean[1] + delta[1] / nextCount, - stats.mean[2] + delta[2] / nextCount + stats.mean[2] + delta[2] / nextCount, ]; const delta2 = [ sample[0] - nextMean[0], sample[1] - nextMean[1], - sample[2] - nextMean[2] + sample[2] - nextMean[2], ]; stats.m2[0][0] += delta[0] * delta2[0]; @@ -1009,7 +1059,7 @@ function updateRunningPcaStats(stats: RunningPcaStats, data: Uint8ClampedArray): } } -function basisFromRunningStats(stats: RunningPcaStats): PcaBasis|null +function basisFromRunningStats(stats: RunningPcaStats): PcaBasis | null { if (stats.count < 2) { @@ -1017,9 +1067,9 @@ function basisFromRunningStats(stats: RunningPcaStats): PcaBasis|null } const inv = 1 / (stats.count - 1); const cov = [ - [ stats.m2[0][0] * inv, stats.m2[0][1] * inv, stats.m2[0][2] * inv ], - [ stats.m2[1][0] * inv, stats.m2[1][1] * inv, stats.m2[1][2] * inv ], - [ stats.m2[2][0] * inv, stats.m2[2][1] * inv, stats.m2[2][2] * inv ] + [stats.m2[0][0] * inv, stats.m2[0][1] * inv, stats.m2[0][2] * inv], + [stats.m2[1][0] * inv, stats.m2[1][1] * inv, stats.m2[1][2] * inv], + [stats.m2[2][0] * inv, stats.m2[2][1] * inv, stats.m2[2][2] * inv], ]; return computePcaBasisFromCov(stats.mean, cov); } @@ -1079,9 +1129,11 @@ function applyPcaColorWithBasis(imgData: ImageData, mode: string, basis: PcaBasi applyHueRotationInPlace(data, hueDegrees); } -const noopFilter: FilterProcessor = (_context, callback) => { callback(); }; +const noopFilter: FilterProcessor = (_context, callback) => { + callback(); +}; -function rgbToHSV(r: number, g: number, b: number): {h: number; s : number; v : number} +function rgbToHSV(r: number, g: number, b: number): { h: number; s: number; v: number } { const rr = r / 255; const gg = g / 255; @@ -1097,21 +1149,21 @@ function rgbToHSV(r: number, g: number, b: number): {h: number; s : number; v : { switch (maxValue) { - case rr: - h = (gg - bb) / d + (gg < bb ? 6 : 0); - break; - case gg: - h = (bb - rr) / d + 2; - break; - default: - h = (rr - gg) / d + 4; + case rr: + h = (gg - bb) / d + (gg < bb ? 6 : 0); + break; + case gg: + h = (bb - rr) / d + 2; + break; + default: + h = (rr - gg) / d + 4; } h /= 6; } - return {h, s, v}; + return { h, s, v }; } -function hsvToRGB(h: number, s: number, v: number): {r: number; g : number; b : number} +function hsvToRGB(h: number, s: number, v: number): { r: number; g: number; b: number } { let r: number; let g: number; @@ -1124,38 +1176,38 @@ function hsvToRGB(h: number, s: number, v: number): {r: number; g : number; b : switch (i % 6) { - case 0: - r = v; - g = t; - b = p; - break; - case 1: - r = q; - g = v; - b = p; - break; - case 2: - r = p; - g = v; - b = t; - break; - case 3: - r = p; - g = q; - b = v; - break; - case 4: - r = t; - g = p; - b = v; - break; - default: - r = v; - g = p; - b = q; + case 0: + r = v; + g = t; + b = p; + break; + case 1: + r = q; + g = v; + b = p; + break; + case 2: + r = p; + g = v; + b = t; + break; + case 3: + r = p; + g = q; + b = v; + break; + case 4: + r = t; + g = p; + b = v; + break; + default: + r = v; + g = p; + b = q; } - return {r : Math.floor(r * 255), g : Math.floor(g * 255), b : Math.floor(b * 255)}; + return { r: Math.floor(r * 255), g: Math.floor(g * 255), b: Math.floor(b * 255) }; } function applyChannelLUT(channel: number, lut: number[]): FilterProcessor @@ -1300,10 +1352,11 @@ function altChannelVibrance(channel: number, amount: number): FilterProcessor } export const Filters = { - _scratch : null as Uint8ClampedArray | null, - _scratchCanvas : null as HTMLCanvasElement | null, - _scratchContext : null as CanvasRenderingContext2D | null, - _ensureScratch : function(length: number) : Uint8ClampedArray { + _scratch: null as Uint8ClampedArray | null, + _scratchCanvas: null as HTMLCanvasElement | null, + _scratchContext: null as CanvasRenderingContext2D | null, + _ensureScratch: function(length: number): Uint8ClampedArray + { // Returns a shared mutable buffer. Callers should consume/copy the // contents before the next _ensureScratch call, which may overwrite it. if (!this._scratch || this._scratch.length < length) @@ -1312,15 +1365,17 @@ export const Filters = { } return this._scratch; }, - _ensureScratchContext : function(width: number, height: number) : CanvasRenderingContext2D { + _ensureScratchContext: function(width: number, height: number): CanvasRenderingContext2D + { if (!this._scratchCanvas) { this._scratchCanvas = window.document.createElement("canvas"); } if (!this._scratchContext) { - this._scratchContext = - this._scratchCanvas.getContext("2d", {willReadFrequently : true}) as CanvasRenderingContext2D; + this._scratchContext = this._scratchCanvas.getContext("2d", { + willReadFrequently: true, + }) as CanvasRenderingContext2D; } if (this._scratchCanvas.width !== width) { @@ -1332,7 +1387,8 @@ export const Filters = { } return this._scratchContext; }, - _applyPixelTransformInPlace : function(context: CanvasRenderingContext2D, transform: PixelTransformInPlace) : void { + _applyPixelTransformInPlace: function(context: CanvasRenderingContext2D, transform: PixelTransformInPlace): void + { const width = context.canvas.width; const height = context.canvas.height; const scratchContext = this._ensureScratchContext(width, height); @@ -1340,7 +1396,7 @@ export const Filters = { scratchContext.drawImage(context.canvas, 0, 0); const imgData = scratchContext.getImageData(0, 0, width, height); const pixels = imgData.data; - const out = [ 0, 0, 0, 0 ]; + const out = [0, 0, 0, 0]; for (let i = 0, pxl = pixels.length; i < pxl; i += 4) { transform(pixels[i], pixels[i + 1], pixels[i + 2], pixels[i + 3], out); @@ -1353,7 +1409,8 @@ export const Filters = { context.clearRect(0, 0, width, height); context.drawImage(this._scratchCanvas as HTMLCanvasElement, 0, 0); }, - THRESHOLDING : function(threshold: number) : FilterProcessor { + THRESHOLDING: function(threshold: number): FilterProcessor + { if (threshold < 0 || threshold > 255) { throw new Error("Threshold must be between 0 and 255."); @@ -1366,7 +1423,8 @@ export const Filters = { out[3] = 255; }); }, - SATURATION : function(adjustment: number) : FilterProcessor { + SATURATION: function(adjustment: number): FilterProcessor + { const adj = adjustment * -0.01; return applyPixelTransformInPlace((r: number, g: number, b: number, a: number, out: number[]) => { const maxValue = Math.max(r, g, b); @@ -1376,7 +1434,8 @@ export const Filters = { out[3] = a; }); }, - VIBRANCE : function(adjustment: number) : FilterProcessor { + VIBRANCE: function(adjustment: number): FilterProcessor + { const adj = adjustment * -1; return applyPixelTransformInPlace((r: number, g: number, b: number, a: number, out: number[]) => { const maxValue = Math.max(r, g, b); @@ -1388,7 +1447,8 @@ export const Filters = { out[3] = a; }); }, - HUE : function(adjustment: number) : FilterProcessor { + HUE: function(adjustment: number): FilterProcessor + { // Use direct hue rotation matrix instead of RGB→HSV→RGB conversion // Hue rotation is a rotation around the (1,1,1) axis in RGB space const degrees = (Math.abs(adjustment) / 100) * 360; @@ -1401,7 +1461,8 @@ export const Filters = { out[3] = a; }); }, - BRIGHTNESS : function(adjustment: number) : FilterProcessor { + BRIGHTNESS: function(adjustment: number): FilterProcessor + { if (adjustment < -255 || adjustment > 255) { throw new Error("Brightness adjustment must be between -255 and 255."); @@ -1418,10 +1479,20 @@ export const Filters = { out[3] = a; }); }, - CC_RED : function(adjustment: number) : FilterProcessor { return ccChannel(0, adjustment);}, - CC_GREEN : function(adjustment: number) : FilterProcessor { return ccChannel(1, adjustment);}, - CC_BLUE : function(adjustment: number) : FilterProcessor { return ccChannel(2, adjustment);}, - CONTRAST : function(adjustment: number) : FilterProcessor { + CC_RED: function(adjustment: number): FilterProcessor + { + return ccChannel(0, adjustment); + }, + CC_GREEN: function(adjustment: number): FilterProcessor + { + return ccChannel(1, adjustment); + }, + CC_BLUE: function(adjustment: number): FilterProcessor + { + return ccChannel(2, adjustment); + }, + CONTRAST: function(adjustment: number): FilterProcessor + { if (adjustment < 0) { throw new Error("Contrast adjustment must be positive."); @@ -1438,7 +1509,8 @@ export const Filters = { out[3] = a; }); }, - GAMMA : function(adjustment: number) : FilterProcessor { + GAMMA: function(adjustment: number): FilterProcessor + { if (adjustment < 0) { throw new Error("Gamma adjustment must be positive."); @@ -1455,7 +1527,8 @@ export const Filters = { out[3] = a; }); }, - GREYSCALE : function() : FilterProcessor { + GREYSCALE: function(): FilterProcessor + { return applyPixelTransformInPlace((r: number, g: number, b: number, _a: number, out: number[]) => { const val = (77 * r + 150 * g + 29 * b) >> 8; out[0] = val; @@ -1464,7 +1537,8 @@ export const Filters = { out[3] = 255; }); }, - INVERT : function() : FilterProcessor { + INVERT: function(): FilterProcessor + { const precomputedInvert: number[] = []; for (let i = 0; i < 256; i += 1) { @@ -1477,32 +1551,34 @@ export const Filters = { out[3] = a; }); }, - MORPHOLOGICAL_OPERATION : function(kernelSize: number, comparator: (a: number, b: number) => number) : - FilterProcessor { - if (kernelSize % 2 === 0) - { - throw new Error("The kernel size must be an odd number."); - } - const kernelHalfSize = Math.floor(kernelSize / 2); + MORPHOLOGICAL_OPERATION: function(kernelSize: number, comparator: (a: number, b: number) => number): FilterProcessor + { + if (kernelSize % 2 === 0) + { + throw new Error("The kernel size must be an odd number."); + } + const kernelHalfSize = Math.floor(kernelSize / 2); - if (!comparator) - { - throw new Error("A comparator must be defined."); - } + if (!comparator) + { + throw new Error("A comparator must be defined."); + } - return function(context: CanvasRenderingContext2D, callback: () => void): void { - withImageData(context, (imgData) => { - const width = imgData.width; - const height = imgData.height; - const originalPixels = Filters._ensureScratch(imgData.data.length); - originalPixels.set(imgData.data); - morphPixels(originalPixels, imgData.data, width, height, kernelSize, kernelHalfSize, comparator); - return true; - }); - callback(); - }; - }, - CONVOLUTION : function(kernel: number[]) : FilterProcessor { + return function(context: CanvasRenderingContext2D, callback: () => void): void + { + withImageData(context, (imgData) => { + const width = imgData.width; + const height = imgData.height; + const originalPixels = Filters._ensureScratch(imgData.data.length); + originalPixels.set(imgData.data); + morphPixels(originalPixels, imgData.data, width, height, kernelSize, kernelHalfSize, comparator); + return true; + }); + callback(); + }; + }, + CONVOLUTION: function(kernel: number[]): FilterProcessor + { if (!Array.isArray(kernel)) { throw new Error("The kernel must be an array."); @@ -1514,7 +1590,8 @@ export const Filters = { } const kernelHalfSize = (kernelSize - 1) / 2; - return function(context: CanvasRenderingContext2D, callback: () => void): void { + return function(context: CanvasRenderingContext2D, callback: () => void): void + { withImageData(context, (imgData) => { const width = imgData.width; const height = imgData.height; @@ -1526,7 +1603,8 @@ export const Filters = { callback(); }; }, - COLORMAP : function(cmap: number[][], ctr: number) : FilterProcessor { + COLORMAP: function(cmap: number[][], ctr: number): FilterProcessor + { const resampledCmap = cmap.slice(0); const diff = 255 - ctr; for (let i = 0; i < 256; i += 1) @@ -1551,25 +1629,31 @@ export const Filters = { out[3] = 255; }); }, - COLORMAP_PRESET : function(preset: string) : number[][] | null { return getColormap(preset || "");}, - CONVOLUTION_PRESET : function(preset: string) : number[] | - null { - const normalized = (preset || "").toLowerCase(); - switch (normalized) - { - case "sharpen": - return [ 0, -1, 0, -1, 5, -1, 0, -1, 0 ]; - case "blur": - return [ 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9 ]; - case "edge": - return [ -1, -1, -1, -1, 8, -1, -1, -1, -1 ]; - case "emboss": - return [ -2, -1, 0, -1, 1, 1, 0, 1, 2 ]; - default: - return null; - } - }, - PSEUDOCOLOR : function(mode: string, red?: number, green?: number, blue?: number) : FilterProcessor { + COLORMAP_PRESET: function(preset: string): number[][] | null + { + return getColormap(preset || ""); + }, + CONVOLUTION_PRESET: function(preset: string): + | number[] + | null + { + const normalized = (preset || "").toLowerCase(); + switch (normalized) + { + case "sharpen": + return [0, -1, 0, -1, 5, -1, 0, -1, 0]; + case "blur": + return [1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9, 1 / 9]; + case "edge": + return [-1, -1, -1, -1, 8, -1, -1, -1, -1]; + case "emboss": + return [-2, -1, 0, -1, 1, 1, 0, 1, 2]; + default: + return null; + } + }, + PSEUDOCOLOR: function(mode: string, red?: number, green?: number, blue?: number): FilterProcessor + { const normalized = (mode || "").toLowerCase(); const rWeight = red === undefined ? 1 : red; const gWeight = green === undefined ? 1 : green; @@ -1583,81 +1667,90 @@ export const Filters = { const luma = 0.2126 * r + 0.7152 * g + 0.0722 * b; switch (normalized) { - case "rg": - { - const v = clampByte(128 + (r - g)); - applyWeightsInPlace(v, 255 - v, (r + g) / 2, out); - out[3] = a; - return; - } - case "gb": - { - const v = clampByte(128 + (g - b)); - applyWeightsInPlace((g + b) / 2, v, 255 - v, out); - out[3] = a; - return; - } - case "rb": - { - const v = clampByte(128 + (r - b)); - applyWeightsInPlace(v, (r + b) / 2, 255 - v, out); - out[3] = a; - return; - } - case "luma": - { - const v = clampByte(luma); - applyWeightsInPlace(v, 255 - v, v, out); - out[3] = a; - return; - } - case "cmy": - { - applyWeightsInPlace(255 - r, 255 - g, 255 - b, out); - out[3] = a; - return; - } - case "heat": - { - const v = clampByte(luma); - const t = v / 255; - applyWeightsInPlace(clampByte(255 * Math.min(1, t * 3)), - clampByte(255 * Math.min(1, Math.max(0, (t - 0.33) * 3))), - clampByte(255 * Math.min(1, Math.max(0, (t - 0.66) * 3))), out); - out[3] = a; - return; - } - case "pca1": - { - const v = clampByte(0.6 * r + 0.3 * g + 0.1 * b); - applyWeightsInPlace(v, 255 - v, v, out); - out[3] = a; - return; - } - case "pca2": - { - const v = clampByte(0.5 * r - 0.2 * g - 0.3 * b + 128); - applyWeightsInPlace(v, 255 - v, 255 - v, out); - out[3] = a; - return; - } - case "pca3": - { - const v = clampByte(0.2 * r + 0.6 * g - 0.8 * b + 128); - applyWeightsInPlace(255 - v, v, 255 - v, out); - out[3] = a; - return; - } - default: - { - applyWeightsInPlace(r, g, b, out); - out[3] = a; - } + case "rg": + { + const v = clampByte(128 + (r - g)); + applyWeightsInPlace(v, 255 - v, (r + g) / 2, out); + out[3] = a; + return; + } + case "gb": + { + const v = clampByte(128 + (g - b)); + applyWeightsInPlace((g + b) / 2, v, 255 - v, out); + out[3] = a; + return; + } + case "rb": + { + const v = clampByte(128 + (r - b)); + applyWeightsInPlace(v, (r + b) / 2, 255 - v, out); + out[3] = a; + return; + } + case "luma": + { + const v = clampByte(luma); + applyWeightsInPlace(v, 255 - v, v, out); + out[3] = a; + return; + } + case "cmy": + { + applyWeightsInPlace(255 - r, 255 - g, 255 - b, out); + out[3] = a; + return; + } + case "heat": + { + const v = clampByte(luma); + const t = v / 255; + applyWeightsInPlace( + clampByte(255 * Math.min(1, t * 3)), + clampByte(255 * Math.min(1, Math.max(0, (t - 0.33) * 3))), + clampByte(255 * Math.min(1, Math.max(0, (t - 0.66) * 3))), + out, + ); + out[3] = a; + return; + } + case "pca1": + { + const v = clampByte(0.6 * r + 0.3 * g + 0.1 * b); + applyWeightsInPlace(v, 255 - v, v, out); + out[3] = a; + return; + } + case "pca2": + { + const v = clampByte(0.5 * r - 0.2 * g - 0.3 * b + 128); + applyWeightsInPlace(v, 255 - v, 255 - v, out); + out[3] = a; + return; + } + case "pca3": + { + const v = clampByte(0.2 * r + 0.6 * g - 0.8 * b + 128); + applyWeightsInPlace(255 - v, v, 255 - v, out); + out[3] = a; + return; + } + default: + { + applyWeightsInPlace(r, g, b, out); + out[3] = a; + } } }); }, - COLOR_REPLACE : function(source: string, target: string, tolerance?: number, blend?: number, - preserveLum?: boolean) : FilterProcessor { + COLOR_REPLACE: function( + source: string, + target: string, + tolerance?: number, + blend?: number, + preserveLum?: boolean, + ): FilterProcessor + { const src = hexToRgb(source); const dst = hexToRgb(target); if (!src || !dst) @@ -1707,22 +1800,56 @@ export const Filters = { out[3] = a; }); }, - ALT_RED_GAMMA : function(amount: number) : FilterProcessor { return altChannelGamma(0, amount);}, - ALT_GREEN_GAMMA : function(amount: number) : FilterProcessor { return altChannelGamma(1, amount);}, - ALT_BLUE_GAMMA : function(amount: number) : FilterProcessor { return altChannelGamma(2, amount);}, - ALT_RED_SIGMOID : function(amount: number) : FilterProcessor { return altChannelSigmoid(0, amount);}, - ALT_GREEN_SIGMOID : function(amount: number) : FilterProcessor { return altChannelSigmoid(1, amount);}, - ALT_BLUE_SIGMOID : function(amount: number) : FilterProcessor { return altChannelSigmoid(2, amount);}, - ALT_RED_HUE : function(amount: number, window?: number) : - FilterProcessor { return altChannelHue(0, amount, window);}, - ALT_GREEN_HUE : function(amount: number, window?: number) : - FilterProcessor { return altChannelHue(1 / 3, amount, window);}, - ALT_BLUE_HUE : function(amount: number, window?: number) : - FilterProcessor { return altChannelHue(2 / 3, amount, window);}, - ALT_RED_VIBRANCE : function(amount: number) : FilterProcessor { return altChannelVibrance(0, amount);}, - ALT_GREEN_VIBRANCE : function(amount: number) : FilterProcessor { return altChannelVibrance(1, amount);}, - ALT_BLUE_VIBRANCE : function(amount: number) : FilterProcessor { return altChannelVibrance(2, amount);}, - GLOBAL_PCA_COLOR : function(mode: string, hueDegrees?: number) : FilterProcessor { + ALT_RED_GAMMA: function(amount: number): FilterProcessor + { + return altChannelGamma(0, amount); + }, + ALT_GREEN_GAMMA: function(amount: number): FilterProcessor + { + return altChannelGamma(1, amount); + }, + ALT_BLUE_GAMMA: function(amount: number): FilterProcessor + { + return altChannelGamma(2, amount); + }, + ALT_RED_SIGMOID: function(amount: number): FilterProcessor + { + return altChannelSigmoid(0, amount); + }, + ALT_GREEN_SIGMOID: function(amount: number): FilterProcessor + { + return altChannelSigmoid(1, amount); + }, + ALT_BLUE_SIGMOID: function(amount: number): FilterProcessor + { + return altChannelSigmoid(2, amount); + }, + ALT_RED_HUE: function(amount: number, window?: number): FilterProcessor + { + return altChannelHue(0, amount, window); + }, + ALT_GREEN_HUE: function(amount: number, window?: number): FilterProcessor + { + return altChannelHue(1 / 3, amount, window); + }, + ALT_BLUE_HUE: function(amount: number, window?: number): FilterProcessor + { + return altChannelHue(2 / 3, amount, window); + }, + ALT_RED_VIBRANCE: function(amount: number): FilterProcessor + { + return altChannelVibrance(0, amount); + }, + ALT_GREEN_VIBRANCE: function(amount: number): FilterProcessor + { + return altChannelVibrance(1, amount); + }, + ALT_BLUE_VIBRANCE: function(amount: number): FilterProcessor + { + return altChannelVibrance(2, amount); + }, + GLOBAL_PCA_COLOR: function(mode: string, hueDegrees?: number): FilterProcessor + { const normalized = (mode || "").toLowerCase(); const hue = Math.max(-180, Math.min(180, hueDegrees ?? 0)); const runningStats = createRunningPcaStats(); @@ -1730,10 +1857,11 @@ export const Filters = { // Caller assumption: filter rebuilds (new processor instance) occur // when switching images/tile sources or changing filter settings. // If that lifecycle changes, this basis should be explicitly reset. - let globalBasis: PcaBasis|null = null; + let globalBasis: PcaBasis | null = null; const minSamples = 2000; - return function(context: CanvasRenderingContext2D, callback: () => void): void { + return function(context: CanvasRenderingContext2D, callback: () => void): void + { withImageData(context, (imgData) => { const data = imgData.data; if (!globalBasis) @@ -1758,9 +1886,11 @@ export const Filters = { callback(); }; }, - BACKGROUND_NORMALIZE : function(strength?: number) : FilterProcessor { + BACKGROUND_NORMALIZE: function(strength?: number): FilterProcessor + { const amount = Math.max(0, Math.min(2, strength || 0)); - return function(context: CanvasRenderingContext2D, callback: () => void): void { + return function(context: CanvasRenderingContext2D, callback: () => void): void + { if (amount === 0) { callback(); @@ -1788,9 +1918,11 @@ export const Filters = { callback(); }; }, - UNSHARP_MASK : function(amount?: number) : FilterProcessor { + UNSHARP_MASK: function(amount?: number): FilterProcessor + { const strength = Math.max(0, Math.min(3, amount || 0)); - return function(context: CanvasRenderingContext2D, callback: () => void): void { + return function(context: CanvasRenderingContext2D, callback: () => void): void + { if (strength === 0) { callback(); @@ -1816,7 +1948,8 @@ export const Filters = { callback(); }; }, - ADAPTIVE_THRESHOLD : function(windowSize?: number, offset?: number) : FilterProcessor { + ADAPTIVE_THRESHOLD: function(windowSize?: number, offset?: number): FilterProcessor + { let size = windowSize || 15; if (size % 2 === 0) { @@ -1824,7 +1957,8 @@ export const Filters = { } size = Math.max(3, Math.min(51, size)); const bias = Math.max(-50, Math.min(50, offset || 0)); - return function(context: CanvasRenderingContext2D, callback: () => void): void { + return function(context: CanvasRenderingContext2D, callback: () => void): void + { withImageData(context, (imgData) => { const width = imgData.width; const height = imgData.height; @@ -1846,5 +1980,5 @@ export const Filters = { }); callback(); }; - } + }, }; diff --git a/nginx/app/dependencies/diva.js/src/image-utils.ts b/nginx/app/dependencies/diva.js/src/image-utils.ts new file mode 100644 index 00000000..389e8d9f --- /dev/null +++ b/nginx/app/dependencies/diva.js/src/image-utils.ts @@ -0,0 +1,75 @@ +export type ImageRegion = { + x: number; + y: number; + width: number; + height: number; +}; + +export type ResolvedTileSource = string | Record; + +export type TileSourceDescriptor = { + sourceId: string; + url: string; + isStatic: boolean; +}; + +export const iiifImageRegionUrl = (imageService: string | null, region: ImageRegion): string | null => { + const { x, y, width, height } = region; + if (!imageService || ![x, y, width, height].every(Number.isFinite)) + { + return null; + } + + const left = Math.floor(x); + const top = Math.floor(y); + const right = Math.ceil(x + width); + const bottom = Math.ceil(y + height); + if (left < 0 || top < 0 || right <= left || bottom <= top) + { + return null; + } + + try + { + const service = new URL(imageService); + if (!service.pathname.endsWith("/info.json")) + { + return null; + } + service.search = ""; + service.hash = ""; + service.pathname = service.pathname.slice(0, -"/info.json".length); + return `${service.toString().replace(/\/$/, "")}/${left},${top},${right - left},${ + bottom - top + }/!320,320/0/default.jpg`; + } + catch (_error) + { + return null; + } +}; + +export const staticImageTileSource = (url: string, credentialed = false, useNonCors = false): ResolvedTileSource => ({ + type: "image", + url, + crossOriginPolicy: useNonCors ? false : (credentialed ? "use-credentials" : "Anonymous"), + ajaxWithCredentials: credentialed, + loadTilesWithAjax: !useNonCors, + buildPyramid: !useNonCors, + useCanvas: !useNonCors, +}); + +export const nonCorsStaticTileSource = (tileSource: ResolvedTileSource): ResolvedTileSource => { + const source = typeof tileSource === "object" && tileSource !== null + ? tileSource + : { type: "image", url: tileSource }; + return { + ...source, + type: "image", + crossOriginPolicy: false, + ajaxWithCredentials: false, + loadTilesWithAjax: false, + buildPyramid: false, + useCanvas: false, + }; +}; diff --git a/nginx/app/dependencies/diva.js/src/public-api.ts b/nginx/app/dependencies/diva.js/src/public-api.ts index 9e1737bf..0591f544 100644 --- a/nginx/app/dependencies/diva.js/src/public-api.ts +++ b/nginx/app/dependencies/diva.js/src/public-api.ts @@ -5,14 +5,14 @@ * `single` displays one page per row. `spread` pairs pages starting at index 0. * `spread-shift` displays index 0 alone and pairs the remaining pages as openings. */ -export type DivaLayoutMode = "single"|"spread"|"spread-shift"; +export type DivaLayoutMode = "single" | "spread" | "spread-shift"; /** * The direction in which pages are arranged within a spread. * * @remarks * This controls visual placement, not the zero-based order returned by {@link DivaPage.index}. */ -export type DivaViewingDirection = "ltr"|"rtl"; +export type DivaViewingDirection = "ltr" | "rtl"; /** * A manifest-derived page lookup selector. @@ -24,28 +24,26 @@ export type DivaViewingDirection = "ltr"|"rtl"; * in manifest order. */ export type DivaPageSelector = - | -{ - /** - * Select by exact IIIF Canvas identifier. - */ - by: "canvasId"; - /** - * Canvas identifier to match. - */ - value: string; -} -| -{ - /** - * Select by complete, case-insensitive localized display label. - */ - by: "label"; - /** - * Display label to match. - */ - value: string; -}; + | { + /** + * Select by exact IIIF Canvas identifier. + */ + by: "canvasId"; + /** + * Canvas identifier to match. + */ + value: string; + } + | { + /** + * Select by complete, case-insensitive localized display label. + */ + by: "label"; + /** + * Display label to match. + */ + value: string; + }; /** * A page target accepted during initial viewer construction. @@ -54,17 +52,29 @@ export type DivaPageSelector = * Numeric targets are zero-based, like all numeric Diva page APIs. This differs * from one-based page numbers an application may choose to expose in its URLs. */ -export type DivaPageTarget = number|DivaPageSelector; +export type DivaPageTarget = number | DivaPageSelector; /** * The panel selected when the navigation sidebar is first opened. */ -export type DivaSidebarPanel = "thumbnails"|"contents"|"metadata"; +export type DivaSidebarPanel = "thumbnails" | "contents" | "metadata"; + +/** + * Controls how Diva loads static image bodies that do not use the IIIF Image API. + * + * @remarks + * `required` preserves Diva's canvas-safe CORS behavior. `fallback` retries a + * failed anonymous-CORS static image once without CORS, while `none` uses that + * non-CORS path immediately. Images loaded without CORS can be viewed but cannot + * use Page View pixel filters or be saved from the filter view. + */ +export type DivaStaticImageCorsPolicy = "required" | "fallback" | "none"; /** * A painted image described by a IIIF canvas. */ -export interface DivaImage { +export interface DivaImage +{ /** * Manifest-derived identifier for the painted image. */ @@ -82,7 +92,8 @@ export interface DivaImage { /** * Stable, manifest-derived metadata for one displayed canvas. */ -export interface DivaPage { +export interface DivaPage +{ /** * Zero-based index in Diva's displayed page sequence. */ @@ -116,7 +127,8 @@ export interface DivaPage { /** * A rectangle in full-resolution image pixels, measured from the upper-left corner. */ -export interface DivaRegion { +export interface DivaRegion +{ /** * Horizontal offset from the image's left edge, in full-resolution pixels. */ @@ -135,10 +147,42 @@ export interface DivaRegion { height: number; } +/** + * A JSON Web Annotation accepted and returned by Diva's annotation API. + * + * `target` (or the IIIF Presentation 2 `on` alias) must identify a loaded + * Canvas and use either an `xywh` fragment/selector or an inline SVG selector. + */ +export interface DivaAnnotation +{ + /** + * Stable Web Annotation identifier. Required when setting annotations. + */ + id: string; + /** + * Usually `"Annotation"`; retained without interpretation. + */ + type?: string; + /** + * Web Annotation body, commonly a TextualBody or string. + */ + body?: unknown; + /** + * Web Annotation target. + */ + target?: unknown; + /** + * IIIF Presentation 2 alias for `target`. + */ + on?: unknown; + [key: string]: unknown; +} + /** * Options controlling how an image region is framed. */ -export interface ZoomToRegionOptions { +export interface ZoomToRegionOptions +{ /** * Fractional padding added to every side of the region. * @@ -156,7 +200,8 @@ export interface ZoomToRegionOptions { /** * A point-in-time snapshot of public viewer state. */ -export interface DivaState { +export interface DivaState +{ /** * URL of the successfully loaded IIIF manifest or collection. */ @@ -176,7 +221,7 @@ export interface DivaState { /** * Zero-based active page index, or `null` when no page is active. */ - currentPageIndex: number|null; + currentPageIndex: number | null; /** * Zero-based indexes in the active row or opening. */ @@ -192,7 +237,7 @@ export interface DivaState { /** * Current OpenSeadragon viewport zoom, or `null` before initialization. */ - zoom: number|null; + zoom: number | null; /** * Whether a document element is currently fullscreen. */ @@ -206,7 +251,15 @@ export interface DivaState { /** * Typed details for events dispatched by a Diva instance. */ -export interface DivaEventMap { +export interface DivaEventMap +{ + /** + * Fired when an annotation is activated in the viewer. + */ + annotationselect: CustomEvent<{ + /** Stable identifier of the selected annotation. */ + annotationId: string; + }>; /** * Fired once after the initial resource and selected initial page are ready. */ @@ -218,11 +271,11 @@ export interface DivaEventMap { /** URL of the newly active resource. */ - resourceUrl : string; + resourceUrl: string; /** State snapshot taken before the event is dispatched. */ - state : Readonly; + state: Readonly; }>; /** * Fired when the active page changes. @@ -231,15 +284,15 @@ export interface DivaEventMap { /** Zero-based active page index. */ - pageIndex : number; + pageIndex: number; /** Metadata for the active page. */ - page : DivaPage; + page: DivaPage; /** Pages in the active row or opening. */ - visiblePages : readonly DivaPage[]; + visiblePages: readonly DivaPage[]; }>; /** * Fired when the single-page or spread arrangement changes. @@ -248,11 +301,11 @@ export interface DivaEventMap { /** New layout mode. */ - layoutMode : DivaLayoutMode; + layoutMode: DivaLayoutMode; /** Direction used to place pages within an opening. */ - viewingDirection : DivaViewingDirection; + viewingDirection: DivaViewingDirection; }>; /** * Fired when the OpenSeadragon viewport zoom changes. @@ -261,7 +314,7 @@ export interface DivaEventMap { /** New viewport zoom value. */ - zoom : number; + zoom: number; }>; /** * Fired when combined resource/image loading state changes. @@ -270,7 +323,7 @@ export interface DivaEventMap { /** New loading state. */ - loading : boolean; + loading: boolean; }>; /** * Fired when browser fullscreen state changes. @@ -279,7 +332,7 @@ export interface DivaEventMap { /** New fullscreen state. */ - fullscreen : boolean; + fullscreen: boolean; }>; /** * Fired for resource or image failures that clients may want to report. @@ -288,22 +341,23 @@ export interface DivaEventMap { /** Error associated with the failed operation. */ - error : Error; + error: Error; /** Stable operation name, such as `setResource` or `loadPage`. */ - operation : string; + operation: string; /** Whether the Diva instance remains usable after the failure. */ - recoverable : boolean; + recoverable: boolean; }>; } /** * Constructor options for a Diva viewer. */ -export interface DivaOptions { +export interface DivaOptions +{ /** * URL of the initial IIIF manifest or collection. */ @@ -322,6 +376,30 @@ export interface DivaOptions { * Preferred HTTP Accept values for IIIF resource requests. */ acceptHeaders?: string[]; + /** + * Enable manifest-driven IIIF annotation overlays. @defaultValue `false` + */ + enableAnnotations?: boolean; + /** + * Enable selecting annotations by clicking or keyboard activation. @defaultValue `true` + */ + enableAnnotationSelection?: boolean; + /** + * Optional GET endpoint used when a canvas declares no annotation resources. + */ + annotationServer?: string; + /** + * CORS policy for static image bodies without an IIIF Image API service. + * + * @remarks + * `fallback` attempts anonymous CORS first and makes one non-CORS retry when + * that load fails. `none` loads static images without CORS immediately. + * Non-CORS images remain viewable, but Page View pixel filters and saving are + * unavailable because the browser taints their canvas. + * + * @defaultValue `"required"` + */ + staticImageCorsPolicy?: DivaStaticImageCorsPolicy; /** * Show the navigation sidebar. * diff --git a/nginx/app/dependencies/diva.js/src/styles/app.css b/nginx/app/dependencies/diva.js/src/styles/app.css index 43b58e6e..794521e4 100644 --- a/nginx/app/dependencies/diva.js/src/styles/app.css +++ b/nginx/app/dependencies/diva.js/src/styles/app.css @@ -1,8 +1,4 @@ /* App layout, canvas, and throbber styles. */ -.diva-app { - color-scheme: light; -} - .diva-app, .diva-app * { box-sizing: border-box; @@ -39,6 +35,182 @@ background-color: var(--diva-dark-bg); } +.diva-thumbs-item:focus-visible, +.diva-page-view-choice:focus-visible, +.diva-canvas-toolbar-button:focus-visible { + outline: 2px solid var(--diva-accent); + outline-offset: 2px; +} + +.diva-annotation-overlay { + width: 100%; + height: 100%; + pointer-events: none; + position: relative; +} + +.diva-annotation-overlay.is-hidden { + visibility: hidden !important; +} + +.diva-annotation-overlay svg { + width: 100%; + height: 100%; + overflow: visible; +} + +.diva-annotation-overlay g { + pointer-events: all; + cursor: help; +} + +.diva-annotation-tooltip { + position: absolute; + z-index: 101; + max-width: min(18rem, 75%); + padding: 6px 8px; + border: 1px solid rgba(255, 255, 255, 0.18); + background: rgba(28, 29, 34, 0.94); + color: #fff; + font-size: var(--diva-font-sm); + line-height: 1.35; + pointer-events: none; + transform: translate(10px, calc(-100% - 10px)); + box-shadow: 0 4px 10px rgba(0, 0, 0, 0.28); +} + +.diva-annotation-panel { + position: absolute; + z-index: 1000; + left: 14px; + bottom: 14px; + width: min(24rem, calc(100% - 28px)); + max-height: min(50%, 24rem); + overflow: auto; + padding: 12px; + border: 1px solid rgba(255, 255, 255, 0.2); + background: rgba(28, 29, 34, 0.97); + color: #fff; + box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35); +} + +.osd-container { + position: relative; +} + +.diva-annotation-panel-close { + display: inline-flex; + align-items: center; + justify-content: center; + position: absolute; + top: 12px; + right: 12px; + width: 30px !important; + height: 30px; + padding: 6px; + border: 1px solid #fff; + border-radius: 0; + background-color: #000; + color: #fff; + margin: 0; + cursor: pointer; +} + +.diva-annotation-panel-close svg { + width: 16px; + height: 16px; + flex: 0 0 auto; + fill: currentColor; +} + +.diva-annotation-panel-close:hover, +.diva-annotation-panel-close:focus-visible { + background-color: #222; +} + +.diva-annotation-panel-content { + padding-top: 36px; +} + +.diva-annotation-panel-preview-controls { + position: absolute; + top: 12px; + right: 50px; +} + +.diva-annotation-panel-content a { color: #9aa4ff; } +.diva-annotation-panel-content img { max-width: 100%; height: auto; } + +.diva-annotation-panel-rotate { + display: inline-flex; + align-items: center; + justify-content: center; + width: 30px !important; + height: 30px; + padding: 6px; + border: 1px solid #fff; + border-radius: 0; + background-color: #000; + color: #fff; + font-size: 18px; + line-height: 1; + margin: 0 !important; + cursor: pointer; +} + +.diva-annotation-panel-rotate:hover, +.diva-annotation-panel-rotate:focus-visible { + background-color: #222; +} + +.diva-annotation-panel-image-link { + display: block; + margin: 0 0 10px; + color: #9aa4ff; + font-size: var(--diva-font-sm); + line-height: 1.3; + overflow-wrap: anywhere; +} + +.diva-annotation-rect, +.diva-annotation-svg-shape { + fill: var(--diva-annotation-fill, rgba(0, 191, 255, 0.12)); + fill-opacity: 1; + stroke: var(--diva-annotation-stroke, #00bfff); + stroke-width: var(--diva-annotation-stroke-width, 2); + vector-effect: non-scaling-stroke; + transition: fill 120ms ease-out, stroke 120ms ease-out; +} + +.diva-annotation-overlay g[data-annotation-id]:hover .diva-annotation-rect, +.diva-annotation-overlay g[data-annotation-id]:hover .diva-annotation-svg-shape, +.diva-annotation-overlay g[data-annotation-id]:focus .diva-annotation-rect, +.diva-annotation-overlay g[data-annotation-id]:focus .diva-annotation-svg-shape { + fill: var(--diva-annotation-fill-hover, rgba(48, 48, 48, 0.48)); + stroke: var(--diva-annotation-stroke-hover, #d83a3a); +} + +.diva-annotation-overlay g[data-annotation-id].is-selected .diva-annotation-rect, +.diva-annotation-overlay g[data-annotation-id].is-selected .diva-annotation-svg-shape { + fill: var(--diva-annotation-fill-hover, rgba(48, 48, 48, 0.48)); + stroke: var(--diva-annotation-stroke-hover, #d83a3a); +} + +.diva-thumbs-image, +.diva-page-view-choice-thumb { + display: block; + width: 100%; + height: auto; + border-radius: 0; +} + +.diva-metadata-panel, +.diva-contents-panel { + padding: 12px; + height: 100%; + overflow: auto; +} + .diva-app { color-scheme: light; padding: 12px 24px; @@ -86,11 +258,6 @@ position: relative; } -.diva-app-body.is-fullscreen { - flex: 1; - min-height: 0; -} - .diva-canvas-column { display: flex; flex-direction: column; @@ -101,8 +268,6 @@ } .diva-canvas-column.is-fullscreen { - flex: 1; - min-height: 0; height: 100%; } @@ -123,18 +288,6 @@ .diva-canvas.is-fullscreen { flex: 1; - height: 100%; - border-radius: 0; -} - -.diva-canvas.has-collection { - border-radius: 0; -} - -.diva-metadata-panel { - padding: 12px; - height: 100%; - overflow: auto; } .diva-metadata-body { @@ -207,12 +360,6 @@ display: none; } -.diva-sidebar-panel.is-fullscreen, -.diva-collection-panel.is-fullscreen { - height: 100%; - border-radius: 0; -} - .diva-sidebar-panel.is-hidden, .diva-collection-panel.is-hidden { border-width: 0; diff --git a/nginx/app/dependencies/diva.js/src/styles/collection.css b/nginx/app/dependencies/diva.js/src/styles/collection.css index e79845dc..203b311e 100644 --- a/nginx/app/dependencies/diva.js/src/styles/collection.css +++ b/nginx/app/dependencies/diva.js/src/styles/collection.css @@ -69,7 +69,6 @@ .diva-collection-panel { width: 100%; height: auto; - border-radius: 0; } } diff --git a/nginx/app/dependencies/diva.js/src/styles/modal.css b/nginx/app/dependencies/diva.js/src/styles/modal.css index 9e2ad5f7..32cace2a 100644 --- a/nginx/app/dependencies/diva.js/src/styles/modal.css +++ b/nginx/app/dependencies/diva.js/src/styles/modal.css @@ -128,11 +128,6 @@ grid-template-columns: minmax(0, 1fr); } -.diva-modal-body.is-fullscreen { - flex: 1; - min-height: 0; -} - .diva-modal-body.is-with-choices { grid-template-columns: 120px minmax(0, 1fr) 240px; } @@ -148,15 +143,6 @@ height: 100%; } -.diva-modal-viewer.is-fullscreen { - height: 100%; - border-radius: 0; -} - -.diva-modal-viewer.is-outer-left { - border-radius: 0; -} - .diva-modal-canvas { display: block; width: 100%; @@ -173,6 +159,16 @@ overflow: auto; } +.diva-filter-access-warning { + margin: 0 0 12px; + padding: 8px; + color: var(--diva-danger); + background-color: var(--diva-surface); + border: 1px solid var(--diva-border); + font-size: var(--diva-font-sm); + line-height: 1.4; +} + .diva-manifest-info-logo-wrap { display: flex; flex-direction: column; @@ -204,11 +200,6 @@ gap: 4px; } -.diva-page-view-choice:focus-visible { - outline: 2px solid var(--diva-accent); - outline-offset: 2px; -} - .diva-page-view-choice:hover { background-color: var(--diva-dark-bg); } @@ -218,13 +209,6 @@ background-color: var(--diva-dark-bg); } -.diva-page-view-choice-thumb { - display: block; - width: 100%; - height: auto; - border-radius: 0; -} - .diva-page-view-choice-thumb--protected { min-height: 72px; background: var(--diva-dark-bg); @@ -400,7 +384,7 @@ padding: 1.25rem; border: 1px solid var(--diva-border, #aaa); border-radius: 0; - background: var(--diva-background, #fff); + background: var(--diva-background-color, #fff); color: var(--diva-text-primary, #222); } diff --git a/nginx/app/dependencies/diva.js/src/styles/sidebar.css b/nginx/app/dependencies/diva.js/src/styles/sidebar.css index 90317ff2..2cdd480b 100644 --- a/nginx/app/dependencies/diva.js/src/styles/sidebar.css +++ b/nginx/app/dependencies/diva.js/src/styles/sidebar.css @@ -13,14 +13,6 @@ overflow: hidden; } -.diva-sidebar-panel.is-overlay { - /* mobile-only overlay styles are applied in the media query below */ -} - -.diva-sidebar-panel.is-mobile-hidden { - /* mobile-only hidden styles are applied in the media query below */ -} - .diva-sidebar-tabs { display: flex; border: 1px solid var(--diva-surface); @@ -79,10 +71,6 @@ padding: 12px; } -.diva-thumbs.is-fullscreen { - height: 100%; -} - .diva-thumbs-item { display: flex; flex-direction: column; @@ -93,11 +81,6 @@ max-width: none; } -.diva-thumbs-item:focus-visible { - outline: 2px solid var(--diva-accent); - outline-offset: 2px; -} - .diva-thumbs-item.is-active { border-color: var(--diva-accent-light); box-shadow: 0 0 0 var(--diva-shadow-focus); @@ -106,13 +89,6 @@ outline-offset: 2px; } -.diva-thumbs-image { - display: block; - width: 100%; - height: auto; - border-radius: 0; -} - .diva-thumbs-lazy-image { display: block; width: 100%; @@ -137,12 +113,6 @@ color: var(--diva-white); } -.diva-contents-panel { - height: 100%; - overflow: auto; - padding: 12px; -} - .diva-contents-title { font-size: var(--diva-font-lg); font-weight: 600; @@ -238,7 +208,6 @@ .diva-sidebar-panel { width: 100% !important; height: auto; - border-radius: 0; } .diva-sidebar-panel.is-overlay { @@ -259,9 +228,7 @@ } .diva-thumbs { - width: 100%; height: auto; - grid-template-columns: repeat(3, minmax(0, 1fr)); overflow-x: auto; overflow-y: hidden; } diff --git a/nginx/app/dependencies/diva.js/src/styles/theme.css b/nginx/app/dependencies/diva.js/src/styles/theme.css index b6925059..edeeeaa4 100644 --- a/nginx/app/dependencies/diva.js/src/styles/theme.css +++ b/nginx/app/dependencies/diva.js/src/styles/theme.css @@ -3,6 +3,12 @@ :root { --diva-accent: rgba(90, 107, 255, 1); --diva-accent-light: rgba(154, 164, 255, 1); + --diva-annotation-fill: rgba(0, 191, 255, 0.12); + --diva-annotation-fill-hover: rgba(48, 48, 48, 0.48); + --diva-annotation-stroke: #00bfff; + --diva-annotation-stroke-hover: #d83a3a; + --diva-annotation-stroke-width: 2; + --diva-background-color: rgba(255, 255, 255, 1); --diva-border: rgba(217, 212, 206, 1); --diva-danger: rgba(211, 47, 47, 1); --diva-dark-bg: rgba(28, 29, 34, 1); @@ -16,20 +22,7 @@ --diva-text-muted: rgba(92, 90, 85, 1); --diva-text-muted-on-dark: rgba(255, 255, 255, 0.7); --diva-text-primary: rgba(27, 27, 27, 1); - --diva-toolbar-button-bg: rgb(82 88 98 / 42%); - --diva-toolbar-button-bg-hover: rgb(92 99 110 / 52%); - --diva-toolbar-button-bg-fullscreen: rgb(82 88 98 / 52%); - --diva-toolbar-button-bg-fullscreen-hover: rgb(96 104 116 / 62%); - --diva-toolbar-button-border: rgb(255 255 255 / 35%); - --diva-toolbar-button-border-hover: rgb(255 255 255 / 45%); - --diva-toolbar-button-border-fullscreen-hover: rgb(255 255 255 / 60%); --diva-toolbar-button-icon: rgba(44, 45, 51, 1); - --diva-toolbar-button-shadow: - inset 0 1px 0 rgb(255 255 255 / 55%), - inset 0 -1px 0 rgb(255 255 255 / 18%); - --diva-toolbar-button-shadow-hover: - inset 0 1px 0 rgb(255 255 255 / 70%), - inset 0 -1px 0 rgb(255 255 255 / 24%); --diva-white: rgba(255, 255, 255, 1); --diva-font-lg: 16px; --diva-font-md: 13px; diff --git a/nginx/app/dependencies/diva.js/src/viewer-element.ts b/nginx/app/dependencies/diva.js/src/viewer-element.ts index ec0bef1f..fbc34920 100644 --- a/nginx/app/dependencies/diva.js/src/viewer-element.ts +++ b/nginx/app/dependencies/diva.js/src/viewer-element.ts @@ -1,28 +1,40 @@ import type * as OpenSeadragonType from "openseadragon"; -import type {ResolvedTileSource, TileSourceDescriptor} from "./auth"; -import type {DivaRegion, ZoomToRegionOptions} from "./public-api"; +import { + iiifImageRegionUrl, + nonCorsStaticTileSource, + type ResolvedTileSource, + staticImageTileSource, + type TileSourceDescriptor, +} from "./image-utils"; +import type { DivaRegion, DivaStaticImageCorsPolicy, ZoomToRegionOptions } from "./public-api"; declare const OpenSeadragon: typeof OpenSeadragonType; -type ViewerTileSource = TileSourceDescriptor; +type ViewerAnnotation = { + id: string; + text: string; + html?: string; + imageService: string | null; + shape: { kind: "rect" | "svg"; x?: number; y?: number; width?: number; height?: number; value?: string }; +}; type TileSourceResolver = (source: TileSourceDescriptor, signal: AbortSignal) => Promise; -const ZOOM_IN_FACTOR = 1.6 -const ZOOM_OUT_FACTOR = 1 / ZOOM_IN_FACTOR +const ZOOM_IN_FACTOR = 1.6; +const ZOOM_OUT_FACTOR = 1 / ZOOM_IN_FACTOR; const PAGE_LABEL_TOP_PADDING_PX = 28; const PAGE_GAP_VIEWPORT_UNITS = 0.06; -let lazyImageObserver: IntersectionObserver|null = null; +let lazyImageObserver: IntersectionObserver | null = null; class DivaLazyImage extends HTMLElement { - private image: HTMLImageElement|null = null; - private unavailable: HTMLDivElement|null = null; + private image: HTMLImageElement | null = null; + private unavailable: HTMLDivElement | null = null; static get observedAttributes(): string[] { - return [ "data-src", "data-fallback-src", "data-alt", "data-crossorigin" ]; + return ["data-src", "data-fallback-src", "data-alt", "data-crossorigin"]; } connectedCallback(): void @@ -66,7 +78,13 @@ class DivaLazyImage extends HTMLElement this.loadImage(image, url, isAnonymous ? undefined : crossOrigin, isAnonymous, false); } - private loadImage(image: HTMLImageElement, url: string, crossOrigin: string|undefined, canUseFallback: boolean, usedFallback: boolean): void + private loadImage( + image: HTMLImageElement, + url: string, + crossOrigin: string | undefined, + canUseFallback: boolean, + usedFallback: boolean, + ): void { image.removeAttribute("crossorigin"); if (crossOrigin) @@ -122,7 +140,7 @@ class DivaLazyImage extends HTMLElement (entry.target as DivaLazyImage).load(); } }); - }, {rootMargin : "300px 0px"}); + }, { rootMargin: "300px 0px" }); } lazyImageObserver.observe(this); } @@ -130,36 +148,45 @@ class DivaLazyImage extends HTMLElement class OsdViewer extends HTMLElement { - private container: HTMLDivElement|null = null; - private viewer: OpenSeadragonType.Viewer|null = null; + private container: HTMLDivElement | null = null; + private viewer: OpenSeadragonType.Viewer | null = null; private loadToken = 0; - private tileSources: ViewerTileSource[] = []; + private tileSources: TileSourceDescriptor[] = []; private pageLabels: string[] = []; private pageAspects: number[] = []; private pageOffsets: number[] = []; private pageHeights: number[] = []; private pageRowHeights: number[] = []; private pageXOffsets: number[] = []; - private layoutMode: "single"|"spread"|"spread-shift" = "single"; - private viewingDirection: "ltr"|"rtl" = "ltr"; + private layoutMode: "single" | "spread" | "spread-shift" = "single"; + private viewingDirection: "ltr" | "rtl" = "ltr"; private hasFitFirstPage = false; private loadedIndexes: Set = new Set(); private loadingIndexes: Set = new Set(); private unavailableIndexes: Map = new Map(); private loadControllers: Map = new Map(); + private staticImageCorsPolicy: DivaStaticImageCorsPolicy = "required"; private tileSourceResolver: TileSourceResolver = async (source) => - source.isStatic ? {type : "image", url: source.url, crossOriginPolicy: "Anonymous"} : source.url; + source.isStatic ? staticImageTileSource(source.url, false, this.staticImageCorsPolicy === "none") : source.url; private loadedItems: Map = new Map(); - private pageWaiters: Map void; reject : (error: Error) => void}>> = new Map(); + private pageWaiters: Map void; reject: (error: Error) => void }>> = + new Map(); private pageOverlayElements: Map = new Map(); - private targetIndex: number|null = null; + private annotationData: Map = new Map(); + private annotationOverlayElements: Map = new Map(); + private annotationsVisible = true; + private annotationSelectionEnabled = true; + private selectedAnnotationId: string | null = null; + private annotationPanel: HTMLElement | null = null; + private annotationPanelIgnoreCloseUntil = 0; + private targetIndex: number | null = null; private initialPageIndex = 0; private resourceId = "initial"; private scrollPlaneItem: any = null; private isViewportInitialized = false; - private lastReportedIndex: number|null = null; - private lastReportedZoom: number|null = null; - private loadingTimer: number|null = null; + private lastReportedIndex: number | null = null; + private lastReportedZoom: number | null = null; + private loadingTimer: number | null = null; private isLoading = false; private isClamping = false; private suppressPageChange = true; @@ -168,11 +195,11 @@ class OsdViewer extends HTMLElement private readonly handleDoubleClickBound: (event: MouseEvent) => void; private readonly handleViewportChangeBound: () => void; private readonly handleAnimationFinishBound: () => void; - private scrollbarTrack: HTMLDivElement|null = null; - private scrollbarThumb: HTMLDivElement|null = null; + private scrollbarTrack: HTMLDivElement | null = null; + private scrollbarThumb: HTMLDivElement | null = null; private isScrollbarDragging = false; - private scrollbarMouseMove: ((e: MouseEvent) => void)|null = null; - private scrollbarMouseUp: (() => void)|null = null; + private scrollbarMouseMove: ((e: MouseEvent) => void) | null = null; + private scrollbarMouseUp: (() => void) | null = null; constructor() { @@ -186,16 +213,38 @@ class OsdViewer extends HTMLElement connectedCallback(): void { this.style.display = "block"; + this.style.position = "relative"; if (!this.container) { this.container = document.createElement("div"); this.container.className = "osd-container"; this.container.style.width = "100%"; this.container.style.height = "100%"; - this.container.addEventListener("wheel", this.handleWheelBound, {passive : false, capture : true}); + this.container.addEventListener("wheel", this.handleWheelBound, { passive: false, capture: true }); this.container.addEventListener("dblclick", this.handleDoubleClickBound); + this.container.addEventListener("click", (event) => { + // OpenSeadragon may dispatch a click from its event catcher after + // the annotation's pointer handler has opened the panel. + if (performance.now() < this.annotationPanelIgnoreCloseUntil) + { + return; + } + if (event.target instanceof Element && event.target.closest(".diva-annotation-overlay")) + { + return; + } + this.closeAnnotationPanel(); + }); + this.container.addEventListener("keydown", (event) => { + if (event.key === "Escape") + { + this.closeAnnotationPanel(); + } + }); this.appendChild(this.container); - + } + if (!this.scrollbarTrack) + { this.createScrollbar(); } const hadViewer = Boolean(this.viewer); @@ -232,9 +281,11 @@ class OsdViewer extends HTMLElement if (this.viewer) { this.clearPageOverlays(); + this.clearAnnotationOverlays(); this.viewer.destroy(); this.viewer = null; } + this.scrollbarTrack?.remove(); this.scrollbarTrack = null; this.scrollbarThumb = null; } @@ -250,34 +301,44 @@ class OsdViewer extends HTMLElement if (!this.viewer) { const options = { - element : this.container, - animationTime : 0.8, - showNavigationControl : false, - preserveViewport : true, - maxImageCacheCount : 512, - tileRetryMax : 2, - tileRetryDelay : 500, - visibilityRatio : 0, - constrainDuringPan : false, - minZoomLevel : 0.1, - minZoomImageRatio : 0.1, - maxZoomPixelRatio : 2, - defaultZoomLevel : 0, - sequenceMode : false, - zoomPerScroll : 1, - crossOriginPolicy : "Anonymous", - loadTilesWithAjax : true, - ajaxWithCredentials : false, - gestureSettingsTrackpad : - {pinchToZoom : true, scrollToZoom : false, flickEnabled : true, dragToPan : true}, - gestureSettingsMouse : - {scrollToZoom : false, clickToZoom : false, dblClickToZoom : false, dragToPan : true}, - gestureSettingsTouch : {pinchToZoom : false, dragToPan : true} + element: this.container, + animationTime: 0.8, + showNavigationControl: false, + preserveViewport: true, + maxImageCacheCount: 512, + tileRetryMax: 2, + tileRetryDelay: 500, + visibilityRatio: 0, + constrainDuringPan: false, + minZoomLevel: 0.1, + minZoomImageRatio: 0.1, + maxZoomPixelRatio: 2, + defaultZoomLevel: 0, + sequenceMode: false, + zoomPerScroll: 1, + ...(this.staticImageCorsPolicy === "required" ? {} : { drawer: ["canvas", "html"] }), + crossOriginPolicy: "Anonymous", + loadTilesWithAjax: true, + ajaxWithCredentials: false, + gestureSettingsTrackpad: { + pinchToZoom: true, + scrollToZoom: false, + flickEnabled: true, + dragToPan: true, + }, + gestureSettingsMouse: { + scrollToZoom: false, + clickToZoom: false, + dblClickToZoom: false, + dragToPan: true, + }, + gestureSettingsTouch: { pinchToZoom: false, dragToPan: true }, } as any; this.viewer = OpenSeadragon(options); const viewer = this.viewer; viewer.addHandler("pan", this.handleViewportChangeBound); viewer.addHandler("zoom", this.handleViewportChangeBound); + viewer.addHandler("canvas-click", (event: any) => this.handleAnnotationCanvasClick(event)); viewer.addHandler("pan", () => this.updateScrollbar()); viewer.addHandler("zoom", () => this.updateScrollbar()); viewer.addHandler("animation-finish", this.handleAnimationFinishBound); @@ -287,34 +348,36 @@ class OsdViewer extends HTMLElement public setLayoutMode(mode: string): void { const nextMode = mode === "spread" || mode === "spread-shift" ? mode : "single"; - this.applyLayoutChange({mode : nextMode}); + this.applyLayoutChange({ mode: nextMode }); } public setViewingDirection(direction: string): void { const nextDirection = direction === "rtl" ? "rtl" : "ltr"; - this.applyLayoutChange({direction : nextDirection}); + this.applyLayoutChange({ direction: nextDirection }); } public setLayoutConfig(mode: string, direction: string): void { const nextMode = mode === "spread" || mode === "spread-shift" ? mode : "single"; const nextDirection = direction === "rtl" ? "rtl" : "ltr"; - this.applyLayoutChange({mode : nextMode, direction : nextDirection}); + this.applyLayoutChange({ mode: nextMode, direction: nextDirection }); } - public setTileSources(tileSources: ViewerTileSource[], initialPageIndex = 0, resourceId = "internal"): void + public setTileSources(tileSources: TileSourceDescriptor[], initialPageIndex = 0, resourceId = "internal"): void { if (!Array.isArray(tileSources)) { return; } + this.annotationData.clear(); this.tileSources = tileSources.slice(); this.resourceId = resourceId; - this.initialPageIndex = Number.isInteger(initialPageIndex) && initialPageIndex >= 0 && initialPageIndex < tileSources.length - ? initialPageIndex - : 0; + this.initialPageIndex = + Number.isInteger(initialPageIndex) && initialPageIndex >= 0 && initialPageIndex < tileSources.length + ? initialPageIndex + : 0; this.syncViewer(); if (!this.viewer) { @@ -324,11 +387,137 @@ class OsdViewer extends HTMLElement this.resetTileSources(this.tileSources.slice(), this.initialPageIndex); } + public setAnnotations(canvasId: string, annotations: ViewerAnnotation[]): void + { + if (!canvasId || !Array.isArray(annotations)) + { + return; + } + this.annotationData.set(canvasId, annotations); + this.tileSources.forEach((source, index) => { + if ((source as any).canvasId === canvasId) + { + this.addOrUpdateAnnotationOverlay(index); + } + }); + } + + public setAnnotationsVisible(visible: boolean): void + { + this.annotationsVisible = visible; + this.annotationOverlayElements.forEach((element) => { + // OpenSeadragon owns the overlay wrapper's layout and can rewrite + // inline display styles while redrawing. A class is stable across + // those redraws, and hides both rectangle and SVG descendants. + element.classList.toggle("is-hidden", !visible); + }); + if (!visible) + { + this.closeAnnotationPanel(); + this.annotationOverlayElements.forEach((element) => { + element.querySelectorAll(".diva-annotation-tooltip").forEach((tooltip) => { + tooltip.hidden = true; + }); + }); + } + } + + public getAnnotationSelectionEnabled(): boolean + { + return this.annotationSelectionEnabled; + } + + public setAnnotationSelectionEnabled(enabled: boolean): void + { + this.annotationSelectionEnabled = enabled; + if (!enabled) + { + this.annotationOverlayElements.forEach((element) => { + element.querySelectorAll(".diva-annotation-tooltip").forEach((tooltip) => { + tooltip.hidden = true; + }); + }); + } + } + + public selectAnnotation(annotationId: string): void + { + this.selectedAnnotationId = annotationId; + this.annotationOverlayElements.forEach((element) => { + element.querySelectorAll("g[data-annotation-id]").forEach((group) => { + group.classList.toggle("is-selected", group.dataset.annotationId === annotationId); + }); + }); + for (const annotations of this.annotationData.values()) + { + const annotation = annotations.find((candidate) => candidate.id === annotationId); + if (annotation) + { + const group = Array.from(this.annotationOverlayElements.values()) + .map((element) => + element.querySelector(`g[data-annotation-id="${CSS.escape(annotationId)}"]`) + ) + .find((candidate): candidate is SVGGElement => candidate !== null); + this.openAnnotationPanel(annotation, group); + return; + } + } + } + + public getImageRegionForAnnotation(annotationId: string): string | null + { + for (const [canvasId, annotations] of this.annotationData) + { + const annotation = annotations.find((candidate) => candidate.id === annotationId); + if (!annotation) + { + continue; + } + const index = this.tileSources.findIndex((source) => (source as any).canvasId === canvasId); + const group = index >= 0 + ? this.annotationOverlayElements.get(index)?.querySelector( + `g[data-annotation-id="${CSS.escape(annotationId)}"]`, + ) ?? undefined + : undefined; + return this.annotationExtractUrl(annotation, group); + } + return null; + } + public setTileSourceResolver(resolver: TileSourceResolver): void { this.tileSourceResolver = resolver; } + public setStaticImageCorsPolicy(policy: DivaStaticImageCorsPolicy): void + { + const nextPolicy = policy === "fallback" || policy === "none" ? policy : "required"; + if (nextPolicy === this.staticImageCorsPolicy) + { + return; + } + this.staticImageCorsPolicy = nextPolicy; + if (!this.viewer) + { + return; + } + + // WebGL cannot upload images loaded without CORS. The custom element is + // connected before Diva applies its options, so recreate it with the + // Canvas/HTML drawer path when a non-CORS policy is selected. + this.clearPageOverlays(); + this.clearAnnotationOverlays(); + this.closeAnnotationPanel(); + this.viewer.destroy(); + this.viewer = null; + this.scrollPlaneItem = null; + this.syncViewer(); + if (this.viewer && this.tileSources.length > 0) + { + this.resetTileSources(this.tileSources.slice(), this.lastReportedIndex ?? this.initialPageIndex); + } + } + public invalidateTileSources(sourceIds: string[]): void { const affected = new Set(sourceIds); @@ -352,7 +541,7 @@ class OsdViewer extends HTMLElement }); } - private resetTileSources(tileSources: ViewerTileSource[], initialPageIndex = 0): void + private resetTileSources(tileSources: TileSourceDescriptor[], initialPageIndex = 0): void { if (!this.viewer) { @@ -370,9 +559,10 @@ class OsdViewer extends HTMLElement } this.cancelLoads(); this.tileSources = tileSources; - this.initialPageIndex = Number.isInteger(initialPageIndex) && initialPageIndex >= 0 && initialPageIndex < tileSources.length - ? initialPageIndex - : 0; + this.initialPageIndex = + Number.isInteger(initialPageIndex) && initialPageIndex >= 0 && initialPageIndex < tileSources.length + ? initialPageIndex + : 0; this.hasFitFirstPage = false; this.isViewportInitialized = false; this.loadedIndexes.clear(); @@ -380,6 +570,7 @@ class OsdViewer extends HTMLElement this.unavailableIndexes.clear(); this.loadedItems.clear(); this.clearPageOverlays(); + this.clearAnnotationOverlays(); this.targetIndex = tileSources.length > 0 ? this.initialPageIndex : null; this.lastReportedIndex = this.targetIndex; this.clearScrollPlane(); @@ -433,7 +624,10 @@ class OsdViewer extends HTMLElement this.ensurePageLoaded(this.targetIndex); const targetTop = this.pageOffsets[this.targetIndex] || 0; const targetHeight = this.pageRowHeights[this.targetIndex] || this.pageHeights[this.targetIndex] || 1; - const range = this.indicesForRange(Math.max(0, targetTop - (targetHeight * 1.5)), targetTop + (targetHeight * 2.5)); + const range = this.indicesForRange( + Math.max(0, targetTop - (targetHeight * 1.5)), + targetTop + (targetHeight * 2.5), + ); if (range) { for (let index = range[0]; index <= range[1]; index += 1) @@ -492,7 +686,11 @@ class OsdViewer extends HTMLElement void this.loadTile(index); } - private async loadTile(index: number): Promise + private async loadTile( + index: number, + nonCorsFallback = false, + resolvedTileSource?: ResolvedTileSource, + ): Promise { if (!this.viewer) { @@ -511,12 +709,14 @@ class OsdViewer extends HTMLElement let tileSource: ResolvedTileSource; try { - tileSource = await this.tileSourceResolver(descriptor, controller.signal); + tileSource = resolvedTileSource ?? await this.tileSourceResolver(descriptor, controller.signal); } catch (error) { if (token === this.loadToken && !controller.signal.aborted) + { this.markUnavailable(index, error instanceof Error ? error.message : "This image is unavailable."); + } this.finishLoad(index, controller); return; } @@ -525,6 +725,10 @@ class OsdViewer extends HTMLElement this.finishLoad(index, controller); return; } + if (nonCorsFallback) + { + tileSource = nonCorsStaticTileSource(tileSource); + } const yOffset = this.pageOffsets[index] || 0; const xOffset = this.pageXOffsets[index] || 0; @@ -532,10 +736,10 @@ class OsdViewer extends HTMLElement this.viewer.addTiledImage({ tileSource, ...this.tileRequestOptions(tileSource), - x : xOffset, - y : yOffset, - width : 1, - success : (event: any) => { + x: xOffset, + y: yOffset, + width: 1, + success: (event: any) => { if (token !== this.loadToken) { return; @@ -551,6 +755,7 @@ class OsdViewer extends HTMLElement this.loadedItems.set(index, item); this.resolvePageWaiters(index, item); this.addOrUpdatePageOverlay(index); + this.addOrUpdateAnnotationOverlay(index); this.loadingIndexes.delete(index); this.loadControllers.delete(index); this.updateLoadingState(); @@ -564,8 +769,8 @@ class OsdViewer extends HTMLElement } const isSingleCanvas = this.isSingleCanvasLayout(); const bounds = isSingleCanvas - ? item.getBounds() - : (this.isSpreadMode() ? this.getRowBounds(index) : item.getBounds()); + ? item.getBounds() + : (this.isSpreadMode() ? this.getRowBounds(index) : item.getBounds()); viewer.viewport.fitBounds(bounds, true); if (!isSingleCanvas) { @@ -579,26 +784,42 @@ class OsdViewer extends HTMLElement this.flushInitialPageChange(); this.flushInitialZoomChange(); } - this.emitCustomEvent("diva-page-loaded", {index, resourceId : this.resourceId}); + this.emitCustomEvent("diva-page-loaded", { index, resourceId: this.resourceId }); + // A failed ImageTileSource can leave OSD 6's initial WebGL frame + // blank even after its non-CORS replacement has loaded. Request a + // new frame so the fallback becomes visible without interaction. + if (nonCorsFallback) + { + requestAnimationFrame(() => this.viewer?.forceRedraw()); + } if (this.targetIndex === index) { this.targetIndex = null; } this.maybeLoadMore(); }, - error : (event: any) => { + error: (event: any) => { if (token !== this.loadToken) { return; } - this.markUnavailable(index, event?.message || "This image could not be loaded. Static images must allow CORS."); + if (this.shouldRetryWithoutCors(descriptor, tileSource, nonCorsFallback)) + { + this.finishLoad(index, controller); + this.emitCustomEvent("diva-static-image-cors-fallback", { sourceId: descriptor.sourceId }); + void this.loadTile(index, true, tileSource); + return; + } + this.markUnavailable(index, event?.message || "This image could not be loaded."); this.finishLoad(index, controller); this.maybeLoadMore(); - } + }, } as any); } - private tileRequestOptions(tileSource: ResolvedTileSource): {ajaxWithCredentials?: boolean; crossOriginPolicy?: string | boolean} + private tileRequestOptions( + tileSource: ResolvedTileSource, + ): { ajaxWithCredentials?: boolean; crossOriginPolicy?: string | boolean; loadTilesWithAjax?: boolean } { if (!tileSource || typeof tileSource !== "object") { @@ -606,7 +827,11 @@ class OsdViewer extends HTMLElement } const source = tileSource as Record; - const options: {ajaxWithCredentials?: boolean; crossOriginPolicy?: string | boolean} = {}; + const options: { + ajaxWithCredentials?: boolean; + crossOriginPolicy?: string | boolean; + loadTilesWithAjax?: boolean; + } = {}; if (typeof source.ajaxWithCredentials === "boolean") { options.ajaxWithCredentials = source.ajaxWithCredentials; @@ -615,9 +840,31 @@ class OsdViewer extends HTMLElement { options.crossOriginPolicy = source.crossOriginPolicy; } + if (typeof source.loadTilesWithAjax === "boolean") + { + options.loadTilesWithAjax = source.loadTilesWithAjax; + } return options; } + private shouldRetryWithoutCors( + descriptor: TileSourceDescriptor, + tileSource: ResolvedTileSource, + alreadyRetried: boolean, + ): boolean + { + if (this.staticImageCorsPolicy !== "fallback" || !descriptor.isStatic || alreadyRetried) + { + return false; + } + + // Static sources authenticated through IIIF use OSD's credentialed + // policy and must never be retried as an unauthenticated request. + return !(typeof tileSource === "object" && tileSource !== null + && typeof tileSource.crossOriginPolicy === "string" + && tileSource.crossOriginPolicy.toLowerCase() === "use-credentials"); + } + private finishLoad(index: number, controller: AbortController): void { if (this.loadControllers.get(index) !== controller) @@ -643,7 +890,7 @@ class OsdViewer extends HTMLElement { this.unavailableIndexes.set(index, message); this.rejectPageWaiters(new Error(message), index); - this.emitCustomEvent("diva-page-load-error", {index, message, resourceId : this.resourceId}); + this.emitCustomEvent("diva-page-load-error", { index, message, resourceId: this.resourceId }); this.addUnavailableOverlay(index, message); } @@ -661,7 +908,7 @@ class OsdViewer extends HTMLElement } return new Promise((resolve, reject) => { const waiters = this.pageWaiters.get(index) ?? []; - waiters.push({resolve, reject}); + waiters.push({ resolve, reject }); this.pageWaiters.set(index, waiters); this.ensurePageLoaded(index); }); @@ -676,7 +923,7 @@ class OsdViewer extends HTMLElement private rejectPageWaiters(error: Error, index?: number): void { - const indexes = index === undefined ? Array.from(this.pageWaiters.keys()) : [ index ]; + const indexes = index === undefined ? Array.from(this.pageWaiters.keys()) : [index]; indexes.forEach((waiterIndex) => { const waiters = this.pageWaiters.get(waiterIndex) ?? []; this.pageWaiters.delete(waiterIndex); @@ -687,7 +934,9 @@ class OsdViewer extends HTMLElement private addUnavailableOverlay(index: number, message: string): void { if (!this.viewer) + { return; + } this.removeUnavailableOverlay(index); const element = document.createElement("div"); element.className = "diva-image-unavailable"; @@ -705,15 +954,22 @@ class OsdViewer extends HTMLElement element.append(text, retry); this.viewer.addOverlay({ element, - location : new OpenSeadragon.Rect(this.pageXOffsets[index] || 0, this.pageOffsets[index] || 0, 1, this.pageHeights[index] || 1) + location: new OpenSeadragon.Rect( + this.pageXOffsets[index] || 0, + this.pageOffsets[index] || 0, + 1, + this.pageHeights[index] || 1, + ), }); } private removeUnavailableOverlay(index: number): void { const element = this.querySelector(`.diva-image-unavailable[data-index="${index}"]`); - if (element && this.viewer) - this.viewer.removeOverlay(element as HTMLElement); + if (element) + { + this.removeOverlay(element as HTMLElement); + } element?.remove(); } @@ -833,6 +1089,7 @@ class OsdViewer extends HTMLElement item.setWidth(1, true); item.setHeight(height, true); this.addOrUpdatePageOverlay(index); + this.addOrUpdateAnnotationOverlay(index); }); } @@ -867,38 +1124,579 @@ class OsdViewer extends HTMLElement const xOffset = (this.pageXOffsets[index] || 0) + (isRightAligned ? 1 : 0); const yOffset = this.pageOffsets[index] || 0; - try + this.removeOverlay(element); + this.viewer.addOverlay({ + element, + location: new OpenSeadragon.Point(xOffset, yOffset), + placement: isRightAligned ? OpenSeadragon.Placement.BOTTOM_RIGHT : OpenSeadragon.Placement.BOTTOM_LEFT, + }); + } + + private clearPageOverlays(): void + { + this.clearOverlays(this.pageOverlayElements); + } + + private addOrUpdateAnnotationOverlay(index: number): void + { + if (!this.viewer || !this.loadedItems.has(index)) { - this.viewer.removeOverlay(element); + return; } - catch (_error) + const canvasId = (this.tileSources[index] as any)?.canvasId; + const annotations = typeof canvasId === "string" ? this.annotationData.get(canvasId) : undefined; + let element = this.annotationOverlayElements.get(index); + if (!annotations || annotations.length === 0) { - // overlay may not yet exist in viewer; safe to ignore. + if (element) + { + this.removeOverlay(element); + element.remove(); + this.annotationOverlayElements.delete(index); + } + return; } + if (!element) + { + element = document.createElement("div"); + element.className = "diva-annotation-overlay"; + this.annotationOverlayElements.set(index, element); + } + element.classList.toggle("is-hidden", !this.annotationsVisible); + const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + svg.setAttribute("viewBox", `0 0 ${this.pageWidth(index)} ${this.pageHeightPixels(index)}`); + svg.setAttribute("preserveAspectRatio", "none"); + svg.setAttribute("width", "100%"); + svg.setAttribute("height", "100%"); + const tooltip = document.createElement("div"); + tooltip.className = "diva-annotation-tooltip"; + tooltip.setAttribute("role", "tooltip"); + annotations.forEach((annotation) => { + const group = document.createElementNS("http://www.w3.org/2000/svg", "g"); + group.setAttribute("data-annotation-id", annotation.id); + group.setAttribute("tabindex", "0"); + group.classList.toggle("is-selected", annotation.id === this.selectedAnnotationId); + if (annotation.text) + { + group.setAttribute("aria-label", annotation.text); + const showTooltip = (event?: MouseEvent): void => { + const bounds = element!.getBoundingClientRect(); + if (!this.annotationsVisible || !this.annotationSelectionEnabled) + { + tooltip.hidden = true; + return; + } + const x = event ? event.clientX - bounds.left : bounds.width / 2; + const y = event ? event.clientY - bounds.top : bounds.height / 2; + tooltip.textContent = annotation.text; + tooltip.style.left = `${x}px`; + tooltip.style.top = `${y}px`; + tooltip.hidden = false; + }; + group.addEventListener("mouseenter", showTooltip); + group.addEventListener("mousemove", showTooltip); + group.addEventListener("mouseleave", () => { + tooltip.hidden = true; + }); + group.addEventListener("focus", () => showTooltip()); + group.addEventListener("blur", () => { + tooltip.hidden = true; + }); + } + group.addEventListener("click", (event) => { + if (!this.annotationSelectionEnabled) + { + return; + } + event.stopPropagation(); + this.openAnnotationPanel(annotation, group); + }); + group.addEventListener("pointerup", (event) => { + if (!this.annotationSelectionEnabled) + { + return; + } + event.stopPropagation(); + this.openAnnotationPanel(annotation, group); + }); + group.addEventListener("keydown", (event: KeyboardEvent) => { + if (!this.annotationSelectionEnabled) + { + return; + } + if (event.key === "Enter" || event.key === " ") + { + event.preventDefault(); + this.openAnnotationPanel(annotation, group); + } + }); + if (annotation.shape.kind === "rect") + { + const rect = document.createElementNS("http://www.w3.org/2000/svg", "rect"); + rect.setAttribute("x", String(annotation.shape.x)); + rect.setAttribute("y", String(annotation.shape.y)); + rect.setAttribute("width", String(annotation.shape.width)); + rect.setAttribute("height", String(annotation.shape.height)); + rect.setAttribute("class", "diva-annotation-rect"); + group.appendChild(rect); + } + else if (annotation.shape.kind === "svg" && annotation.shape.value) + { + this.appendSanitizedSvg(group, annotation.shape.value); + } + svg.appendChild(group); + }); + tooltip.hidden = true; + element.replaceChildren(svg, tooltip); + this.removeOverlay(element); this.viewer.addOverlay({ element, - location : new OpenSeadragon.Point(xOffset, yOffset), - placement : isRightAligned ? OpenSeadragon.Placement.BOTTOM_RIGHT : OpenSeadragon.Placement.BOTTOM_LEFT + location: new OpenSeadragon.Rect( + this.pageXOffsets[index] || 0, + this.pageOffsets[index] || 0, + 1, + this.pageHeights[index] || 1, + ), }); } - private clearPageOverlays(): void + private pageWidth(index: number): number + { + const item = this.loadedItems.get(index); + return item?.source?.dimensions?.x || 1; + } + + private pageHeightPixels(index: number): number + { + const item = this.loadedItems.get(index); + return item?.source?.dimensions?.y || 1; + } + + private appendSanitizedSvg(target: SVGElement, markup: string): void + { + const parsed = new DOMParser().parseFromString(markup, "image/svg+xml"); + const source = parsed.documentElement; + const allowed = new Set(["svg", "g", "path", "rect", "circle", "ellipse", "polygon", "polyline", "line"]); + const attributes = new Set([ + "d", + "points", + "x", + "y", + "x1", + "x2", + "y1", + "y2", + "cx", + "cy", + "rx", + "ry", + "r", + "width", + "height", + "fill", + "fill-opacity", + "fill-rule", + "stroke", + "stroke-width", + "stroke-opacity", + "stroke-linecap", + "stroke-linejoin", + "stroke-dasharray", + "transform", + "viewBox", + ]); + const copy = (node: Element, parent: Element): void => { + const name = node.localName.toLowerCase(); + if (!allowed.has(name)) + { + return; + } + const child = document.createElementNS("http://www.w3.org/2000/svg", name); + if (name !== "svg" && name !== "g") + { + child.classList.add("diva-annotation-svg-shape"); + } + Array.from(node.attributes).forEach((attribute) => { + if (attributes.has(attribute.name)) + { + child.setAttribute(attribute.name, attribute.value); + } + }); + parent.appendChild(child); + Array.from(node.children).forEach((next) => copy(next, child)); + }; + if (source.localName.toLowerCase() === "svg") + { + Array.from(source.children).forEach((child) => copy(child, target)); + } + } + + private clearAnnotationOverlays(): void { - if (this.viewer) + this.clearOverlays(this.annotationOverlayElements); + } + + private removeOverlay(element: HTMLElement): void + { + try + { + this.viewer?.removeOverlay(element); + } + catch (_error) + { + /* already removed */ + } + } + + private clearOverlays(overlays: Map): void + { + overlays.forEach((element) => { + this.removeOverlay(element); + element.remove(); + }); + overlays.clear(); + } + + private handleAnnotationCanvasClick(event: { position?: { x: number; y: number }; quick?: boolean }): void + { + if ( + !this.annotationSelectionEnabled || !this.annotationsVisible || !event.quick || !event.position + || !this.container + ) + { + return; + } + const viewerBounds = this.container.getBoundingClientRect(); + const clientX = viewerBounds.left + event.position.x; + const clientY = viewerBounds.top + event.position.y; + + // OpenSeadragon's event-catcher is above HTML overlays, so SVG element + // click listeners are not reliable. Its canvas-click event is the + // authoritative interaction point; hit-test the rendered annotation + // groups at that point instead. + for (const [index, element] of Array.from(this.annotationOverlayElements.entries()).reverse()) { - this.pageOverlayElements.forEach((element) => { - try + const canvasId = (this.tileSources[index] as any)?.canvasId; + const annotations = typeof canvasId === "string" ? this.annotationData.get(canvasId) : undefined; + if (!annotations) + { + continue; + } + const groups = Array.from(element.querySelectorAll("g[data-annotation-id]")).reverse(); + for (const group of groups) + { + const bounds = group.getBoundingClientRect(); + if (clientX < bounds.left || clientX > bounds.right || clientY < bounds.top || clientY > bounds.bottom) { - this.viewer?.removeOverlay(element); + continue; } - catch (_error) + const annotation = annotations.find((candidate) => candidate.id === group.dataset.annotationId); + if (annotation) { - // ignore missing overlay errors during teardown/reset. + this.openAnnotationPanel(annotation, group); + return; } - element.remove(); + } + } + } + + private openAnnotationPanel(annotation: ViewerAnnotation, annotationGroup?: SVGGElement): void + { + if (!this.container) + { + return; + } + this.selectedAnnotationId = annotation.id; + this.annotationOverlayElements.forEach((element) => { + element.querySelectorAll("g[data-annotation-id]").forEach((group) => { + group.classList.toggle("is-selected", group.dataset.annotationId === annotation.id); + }); + }); + this.emitCustomEvent("diva-annotation-select", { annotationId: annotation.id }); + if (!this.annotationPanel) + { + const panel = document.createElement("aside"); + panel.className = "diva-annotation-panel"; + panel.setAttribute("aria-label", "Annotation details"); + panel.addEventListener("click", (event) => event.stopPropagation()); + this.appendChild(panel); + this.annotationPanel = panel; + } + this.annotationPanelIgnoreCloseUntil = performance.now() + 500; + const close = document.createElement("button"); + close.type = "button"; + close.className = "diva-annotation-panel-close"; + close.setAttribute("aria-label", "Close annotation details"); + close.title = "Close"; + const closeIcon = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + closeIcon.setAttribute("viewBox", "0 0 512 512"); + closeIcon.setAttribute("aria-hidden", "true"); + const closePath = document.createElementNS("http://www.w3.org/2000/svg", "path"); + closePath.setAttribute( + "d", + "M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z", + ); + closeIcon.appendChild(closePath); + close.appendChild(closeIcon); + close.addEventListener("click", (event) => { + event.stopPropagation(); + this.closeAnnotationPanel(); + }); + const content = document.createElement("div"); + content.className = "diva-annotation-panel-content"; + const extractUrl = this.annotationExtractUrl(annotation, annotationGroup); + let imageLink: HTMLAnchorElement | null = null; + if (extractUrl) + { + const previewControls = document.createElement("div"); + previewControls.className = "diva-annotation-panel-preview-controls"; + Object.assign(previewControls.style, { + display: "flex", + justifyContent: "flex-end", + gap: "4px", + margin: "0 0 4px", }); + const previewFrame = document.createElement("div"); + Object.assign(previewFrame.style, { + position: "relative", + maxWidth: "100%", + margin: "0 auto 10px", + border: "1px solid rgba(255, 255, 255, 0.2)", + }); + const preview = document.createElement("img"); + Object.assign(preview.style, { + position: "absolute", + top: "50%", + left: "50%", + maxWidth: "none", + transition: "transform 120ms ease-out", + }); + preview.src = extractUrl; + preview.alt = annotation.text ? `Image extract: ${annotation.text}` : "Annotation image extract"; + // A service can be temporarily unavailable or reject a browser image + // request. In either case retain the annotation panel without an error. + preview.addEventListener("error", () => { + previewControls.remove(); + previewFrame.remove(); + }); + let rotation = 0; + const updatePreviewLayout = (): void => { + if (preview.naturalWidth <= 0 || preview.naturalHeight <= 0) + { + return; + } + const largestSide = Math.min(content.clientWidth || 320, 320); + const aspect = preview.naturalWidth / preview.naturalHeight; + const baseWidth = aspect >= 1 ? largestSide : largestSide * aspect; + const baseHeight = aspect >= 1 ? largestSide / aspect : largestSide; + const isQuarterTurn = Math.abs(Math.round(rotation / 90)) % 2 === 1; + previewFrame.style.width = `${isQuarterTurn ? baseHeight : baseWidth}px`; + previewFrame.style.height = `${isQuarterTurn ? baseWidth : baseHeight}px`; + preview.style.width = `${baseWidth}px`; + preview.style.height = `${baseHeight}px`; + preview.style.transform = `translate(-50%, -50%) rotate(${rotation}deg)`; + }; + const rotate = (degrees: number): void => { + // Keep the signed angle rather than normalizing it into + // 0–359: 270deg would animate clockwise from 0deg. + rotation += degrees; + updatePreviewLayout(); + }; + preview.addEventListener("load", updatePreviewLayout); + const rotateCounterClockwise = document.createElement("button"); + rotateCounterClockwise.type = "button"; + rotateCounterClockwise.className = "diva-annotation-panel-rotate"; + rotateCounterClockwise.textContent = "↺"; + rotateCounterClockwise.setAttribute("aria-label", "Rotate image counter-clockwise 90 degrees"); + rotateCounterClockwise.addEventListener("click", () => rotate(-90)); + previewControls.appendChild(rotateCounterClockwise); + previewFrame.appendChild(preview); + imageLink = document.createElement("a"); + imageLink.className = "diva-annotation-panel-image-link"; + imageLink.href = extractUrl; + imageLink.target = "_blank"; + imageLink.rel = "noopener noreferrer"; + imageLink.textContent = extractUrl; + imageLink.setAttribute("aria-label", "Open the IIIF Image API extract"); + content.append(previewControls, previewFrame); + window.requestAnimationFrame(updatePreviewLayout); + } + content.appendChild(this.sanitizeAnnotationHtml(annotation.html || annotation.text)); + if (imageLink) + { + content.appendChild(imageLink); + } + const panel = this.annotationPanel; + panel.replaceChildren(close, content); + panel.hidden = false; + close.focus(); + } + + private annotationExtractUrl(annotation: ViewerAnnotation, annotationGroup?: SVGGElement): string | null + { + if (!annotation.imageService) + { + return null; } - this.pageOverlayElements.clear(); + let region: { x: number; y: number; width: number; height: number } | null = null; + if (annotation.shape.kind === "rect") + { + const { x, y, width, height } = annotation.shape; + if ( + [x, y, width, height].every((value) => typeof value === "number" && Number.isFinite(value)) + && width! > 0 && height! > 0 + ) + { + region = { x: x!, y: y!, width: width!, height: height! }; + } + } + else if (annotation.shape.kind === "svg" && annotationGroup) + { + const overlay = annotationGroup.closest(".diva-annotation-overlay"); + const svg = overlay?.querySelector("svg"); + if (svg) + { + const shapeBounds = annotationGroup.getBoundingClientRect(); + const svgBounds = svg.getBoundingClientRect(); + const viewBox = svg.viewBox.baseVal; + if ( + shapeBounds.width > 0 && shapeBounds.height > 0 && svgBounds.width > 0 && svgBounds.height > 0 + && viewBox.width > 0 && viewBox.height > 0 + ) + { + region = { + x: viewBox.x + ((shapeBounds.left - svgBounds.left) / svgBounds.width) * viewBox.width, + y: viewBox.y + ((shapeBounds.top - svgBounds.top) / svgBounds.height) * viewBox.height, + width: (shapeBounds.width / svgBounds.width) * viewBox.width, + height: (shapeBounds.height / svgBounds.height) * viewBox.height, + }; + } + } + } + else if (annotation.shape.kind === "svg" && annotation.shape.value) + { + region = this.svgBoundingRegion(annotation.shape.value); + } + if (!region && annotation.shape.kind === "svg" && annotation.shape.value) + { + region = this.svgBoundingRegion(annotation.shape.value); + } + if (!region) + { + return null; + } + return iiifImageRegionUrl(annotation.imageService, region); + } + + private svgBoundingRegion(markup: string): { x: number; y: number; width: number; height: number } | null + { + if (!document.body) + { + return null; + } + const svg = document.createElementNS("http://www.w3.org/2000/svg", "svg"); + const group = document.createElementNS("http://www.w3.org/2000/svg", "g"); + svg.style.cssText = "position:absolute;visibility:hidden;pointer-events:none;left:-10000px;top:-10000px;"; + svg.appendChild(group); + this.appendSanitizedSvg(group, markup); + document.body.appendChild(svg); + try + { + const bounds = group.getBBox(); + return bounds.width > 0 && bounds.height > 0 + ? { x: bounds.x, y: bounds.y, width: bounds.width, height: bounds.height } + : null; + } + catch (_error) + { + return null; + } + finally + { + svg.remove(); + } + } + + private closeAnnotationPanel(): void + { + if (this.annotationPanel) + { + this.annotationPanel.hidden = true; + } + } + + private sanitizeAnnotationHtml(markup: string): DocumentFragment + { + const template = document.createElement("template"); + template.innerHTML = markup; + const allowedTags = new Set([ + "div", + "p", + "br", + "em", + "i", + "strong", + "b", + "a", + "ul", + "ol", + "li", + "dl", + "dt", + "dd", + "span", + "img", + ]); + const safeUrl = (value: string): boolean => { + const normalized = value.trim().toLowerCase(); + return /^(https?:|mailto:|tel:|\/|\.\/|\.\.\/|#|\?)/.test(normalized) || !normalized.includes(":"); + }; + const copy = (node: Node, parent: Node): void => { + if (node.nodeType === Node.TEXT_NODE) + { + parent.appendChild(document.createTextNode(node.textContent || "")); + return; + } + if (!(node instanceof Element)) + { + return; + } + const tag = node.localName.toLowerCase(); + if (!allowedTags.has(tag)) + { + Array.from(node.childNodes).forEach((child) => copy(child, parent)); + return; + } + const element = document.createElement(tag); + if (tag === "a") + { + const href = node.getAttribute("href"); + if (href && safeUrl(href)) + { + element.setAttribute("href", href); + } + element.setAttribute("target", "_blank"); + element.setAttribute("rel", "noopener noreferrer"); + } + if (tag === "img") + { + const src = node.getAttribute("src"); + if (src && safeUrl(src)) + { + element.setAttribute("src", src); + } + const alt = node.getAttribute("alt"); + if (alt) + { + element.setAttribute("alt", alt); + } + } + parent.appendChild(element); + Array.from(node.childNodes).forEach((child) => copy(child, element)); + }; + const result = document.createDocumentFragment(); + Array.from(template.content.childNodes).forEach((node) => copy(node, result)); + return result; } private ensureScrollPlane(): void @@ -922,18 +1720,18 @@ class OsdViewer extends HTMLElement ``; const url = `data:image/svg+xml;charset=utf-8,${encodeURIComponent(svg)}`; this.viewer.addTiledImage({ - tileSource : {type : "image", url}, - x : 0, - y : 0, - width : layoutWidth, - success : (event: any) => { + tileSource: { type: "image", url }, + x: 0, + y: 0, + width: layoutWidth, + success: (event: any) => { const item = event.item; item.setOpacity(0); item.setPosition(new OpenSeadragon.Point(0, 0), true); item.setWidth(layoutWidth, true); item.setHeight(totalHeight, true); this.scrollPlaneItem = item; - } + }, }); } @@ -948,7 +1746,7 @@ class OsdViewer extends HTMLElement this.scrollPlaneItem = null; } - private indicesForRange(start: number, end: number): [ number, number ]|null + private indicesForRange(start: number, end: number): [number, number] | null { if (this.pageOffsets.length === 0) { @@ -957,7 +1755,7 @@ class OsdViewer extends HTMLElement const startIndex = this.findIndexForOffset(start); const endIndex = this.getRowEndIndex(this.findIndexForOffset(end)); - return [ startIndex, endIndex ]; + return [startIndex, endIndex]; } private findIndexForOffset(offset: number): number @@ -1035,7 +1833,7 @@ class OsdViewer extends HTMLElement this.targetIndex = index; this.ensurePageLoaded(index); this.lastReportedIndex = index; - this.emitCustomEvent("diva-page-change", {index}); + this.emitCustomEvent("diva-page-change", { index }); } public getVisiblePageIndexes(): number[] @@ -1047,7 +1845,7 @@ class OsdViewer extends HTMLElement const index = this.lastReportedIndex ?? 0; const start = this.getRowStartIndex(index); const end = this.getRowEndIndex(start); - return Array.from({length : end - start + 1}, (_value, offset) => start + offset); + return Array.from({ length: end - start + 1 }, (_value, offset) => start + offset); } public isPageLoaded(index: number, sourceId: string): boolean @@ -1093,10 +1891,10 @@ class OsdViewer extends HTMLElement const item = await this.waitForPage(index); const padding = options.padding ?? 0.05; const padded = { - x : region.x - (region.width * padding), - y : region.y - (region.height * padding), - width : region.width * (1 + (padding * 2)), - height : region.height * (1 + (padding * 2)) + x: region.x - (region.width * padding), + y: region.y - (region.height * padding), + width: region.width * (1 + (padding * 2)), + height: region.height * (1 + (padding * 2)), }; const bounds = item.imageToViewportRectangle(padded.x, padded.y, padded.width, padded.height); this.viewer?.viewport.fitBounds(bounds, options.immediately === true); @@ -1171,10 +1969,9 @@ class OsdViewer extends HTMLElement const panY = rect.height > 0 ? (deltaY / rect.height) * speed : 0; const center = viewport.getCenter(true); - const nextCenter = new OpenSeadragon.Point(this.getCenterX(), center.y + panY); + const nextCenter = new OpenSeadragon.Point(center.x, center.y + panY); viewport.panTo(nextCenter, true); - this.recenterBoundsX(); this.clampTop(); this.clampBottom(); this.maybeEmitPageChange(); @@ -1260,7 +2057,7 @@ class OsdViewer extends HTMLElement const clampedCenterY = (bounds.height / 2) + minTop; this.isClamping = true; - vp.panTo(new OpenSeadragon.Point(this.getCenterX(), clampedCenterY), true); + vp.panTo(new OpenSeadragon.Point(vp.getCenter(false).x, clampedCenterY), true); vp.applyConstraints(); this.isClamping = false; } @@ -1294,7 +2091,7 @@ class OsdViewer extends HTMLElement const clampedCenterY = maxBottom - bounds.height / 2; this.isClamping = true; - vp.panTo(new OpenSeadragon.Point(this.getCenterX(), clampedCenterY), true); + vp.panTo(new OpenSeadragon.Point(vp.getCenter(false).x, clampedCenterY), true); vp.applyConstraints(); this.isClamping = false; } @@ -1324,7 +2121,7 @@ class OsdViewer extends HTMLElement } this.lastReportedIndex = index; - this.emitCustomEvent("diva-page-change", {index}); + this.emitCustomEvent("diva-page-change", { index }); } private emitPageChangeInstant(): void @@ -1343,7 +2140,7 @@ class OsdViewer extends HTMLElement const center = viewport.getCenter(true); const index = this.findIndexForOffset(center.y); this.lastReportedIndex = index; - this.emitCustomEvent("diva-page-change", {index, instant : true}); + this.emitCustomEvent("diva-page-change", { index, instant: true }); } private flushInitialPageChange(): void @@ -1363,7 +2160,7 @@ class OsdViewer extends HTMLElement const index = this.findIndexForOffset(center.y); this.lastReportedIndex = index; this.suppressPageChange = false; - this.emitCustomEvent("diva-page-change", {index}); + this.emitCustomEvent("diva-page-change", { index }); } private maybeEmitZoomChange(viewport?: OpenSeadragonType.Viewport): void @@ -1385,7 +2182,7 @@ class OsdViewer extends HTMLElement } this.lastReportedZoom = zoom; - this.emitCustomEvent("diva-zoom-change", {zoom}); + this.emitCustomEvent("diva-zoom-change", { zoom }); } private flushInitialZoomChange(): void @@ -1399,7 +2196,7 @@ class OsdViewer extends HTMLElement const zoom = viewport.getZoom(true); this.lastReportedZoom = zoom; this.suppressZoomChange = false; - this.emitCustomEvent("diva-zoom-change", {zoom}); + this.emitCustomEvent("diva-zoom-change", { zoom }); } private alignTopAfterFit(index: number): void @@ -1442,7 +2239,7 @@ class OsdViewer extends HTMLElement this.loadingTimer = null; } this.isLoading = false; - this.emitCustomEvent("diva-loading-change", {loading : false}); + this.emitCustomEvent("diva-loading-change", { loading: false }); } private updateLoadingState(): void @@ -1460,7 +2257,7 @@ class OsdViewer extends HTMLElement if (this.loadingIndexes.size > 0 && !this.isLoading) { this.isLoading = true; - this.emitCustomEvent("diva-loading-change", {loading : true}); + this.emitCustomEvent("diva-loading-change", { loading: true }); } }, 300); return; @@ -1475,11 +2272,11 @@ class OsdViewer extends HTMLElement if (this.isLoading) { this.isLoading = false; - this.emitCustomEvent("diva-loading-change", {loading : false}); + this.emitCustomEvent("diva-loading-change", { loading: false }); } } - private applyLayoutChange(next: {mode?: "single"|"spread"|"spread-shift"; direction?: "ltr" | "rtl"}): void + private applyLayoutChange(next: { mode?: "single" | "spread" | "spread-shift"; direction?: "ltr" | "rtl" }): void { const nextMode = next.mode ?? this.layoutMode; const nextDirection = next.direction ?? this.viewingDirection; @@ -1488,7 +2285,7 @@ class OsdViewer extends HTMLElement return; } - let anchorIndex: number|null = null; + let anchorIndex: number | null = null; const viewport = this.viewer?.viewport; if (viewport && this.pageOffsets.length > 0) { @@ -1523,10 +2320,13 @@ class OsdViewer extends HTMLElement private emitCustomEvent(name: string, detail: Record): void { - this.dispatchEvent(new CustomEvent(name, {detail})); + this.dispatchEvent(new CustomEvent(name, { detail })); } - private getCenterX(): number { return this.isSpreadMode() ? 1 : 0.5; } + private getCenterX(): number + { + return this.isSpreadMode() ? 1 : 0.5; + } private isSingleCanvasLayout(): boolean { @@ -1547,7 +2347,10 @@ class OsdViewer extends HTMLElement return new OpenSeadragon.Rect(0, yOffset, width, rowHeight); } - private isSpreadMode(): boolean { return this.layoutMode !== "single"; } + private isSpreadMode(): boolean + { + return this.layoutMode !== "single"; + } private getRowStartIndex(index: number): number { @@ -1672,7 +2475,8 @@ class OsdViewer extends HTMLElement const maxScroll = totalHeight - viewportHeight; const newScrollY = scrollProgress * maxScroll; - this.scrollToOffset(newScrollY); + const center = this.viewer.viewport.getCenter(true); + this.viewer.viewport.panTo(new OpenSeadragon.Point(center.x, newScrollY + (viewportHeight / 2)), true); }; const onMouseUp = (): void => { @@ -1720,7 +2524,8 @@ class OsdViewer extends HTMLElement const maxScroll = totalHeight - viewportHeight; const newScrollY = scrollProgress * maxScroll; - this.scrollToOffset(newScrollY); + const center = this.viewer.viewport.getCenter(true); + this.viewer.viewport.panTo(new OpenSeadragon.Point(center.x, newScrollY + (viewportHeight / 2)), true); }); } } diff --git a/nginx/app/dependencies/diva.js/testing/annotations.html b/nginx/app/dependencies/diva.js/testing/annotations.html new file mode 100644 index 00000000..db94a0fa --- /dev/null +++ b/nginx/app/dependencies/diva.js/testing/annotations.html @@ -0,0 +1,232 @@ + + + + + + Diva.js Annotation API Test + + + +
+ + + + + + diff --git a/nginx/app/dependencies/diva.js/testing/auth-harness.html b/nginx/app/dependencies/diva.js/testing/auth-harness.html index df9527b1..8cd22c85 100644 --- a/nginx/app/dependencies/diva.js/testing/auth-harness.html +++ b/nginx/app/dependencies/diva.js/testing/auth-harness.html @@ -25,7 +25,9 @@ const initialPageParam = harnessParams.get("initialPage"); window.diva = new Diva("diva-wrapper", { objectData: harnessParams.get("manifest"), - initialPage: initialPageParam === null ? undefined : Number(initialPageParam) + initialPage: initialPageParam === null ? undefined : Number(initialPageParam), + showSidebar: false, + staticImageCorsPolicy: harnessParams.get("staticImageCorsPolicy") || undefined }); diff --git a/nginx/app/dependencies/diva.js/testing/index.html b/nginx/app/dependencies/diva.js/testing/index.html index d7cefc25..e6392421 100644 --- a/nginx/app/dependencies/diva.js/testing/index.html +++ b/nginx/app/dependencies/diva.js/testing/index.html @@ -102,12 +102,21 @@ // objectData: "https://iiif.bodleian.ox.ac.uk/iiif/collection/top", // objectData: "https://iiif.bodleian.ox.ac.uk/iiif/collection/all-souls", // objectData: "https://iiif.io/api/cookbook/recipe/0033-choice/manifest.json", - objectData: "https://gallica.bnf.fr/iiif/ark:/12148/btv1b550082258/manifest.json", + // objectData: "https://gallica.bnf.fr/iiif/ark:/12148/btv1b550082258/manifest.json", + // objectData: "/testing/non-cors-static-image-manifest.json", + // objectData: "https://iiif.bodleian.ox.ac.uk/iiif/manifest/4a05d671-78cc-45a3-8289-0d2c6512d025.json", + // objectData: "https://iiif.bodleian.ox.ac.uk/iiif/manifest/748a9d50-5a3a-440e-ab9d-567dd68b6abb.json", + //objectData: "https://digi.ub.uni-heidelberg.de/diglit/iiif3/cpg389/manifest", + objectData: "https://iiif.bodleian.ox.ac.uk/iiif/manifest/748a9d50-5a3a-440e-ab9d-567dd68b6abb.json", + // objectData: "https://iiif.io/api/cookbook/recipe/0306-linking-annotations-to-manifests/manifest.json", // objectData: "./diamm-manifest.json", - // acceptHeaders: ["application/ld+json;profile=http://iiif.io/api/presentation/3/context.json"], + acceptHeaders: ["application/ld+json;profile=http://iiif.io/api/presentation/3/context.json"], initialPage, sidebarPanel: "contents", - sidebarWidth: 520 + sidebarWidth: 520, + staticImageCorsPolicy: "fallback", + enableAnnotations: true, + enableAnnotationSelection: false }); diff --git a/nginx/app/dependencies/diva.js/testing/testing.html b/nginx/app/dependencies/diva.js/testing/testing.html index dbbe814d..c933a18d 100644 --- a/nginx/app/dependencies/diva.js/testing/testing.html +++ b/nginx/app/dependencies/diva.js/testing/testing.html @@ -87,6 +87,12 @@ + +
@@ -141,12 +147,14 @@ { label: "U of T Manifest", url: "https://iiif.library.utoronto.ca/presentation/v2/fisherbooks:F10083/manifest" }, { label: "BSB Manifest", url: "https://api.digitale-sammlungen.de/iiif/presentation/v2/bsb00087481/manifest" }, { label: "Static Image Manifest Test", url: "/testing/local/static-canvas.json" }, + { label: "Non-Cors Static Image Test", url: "/testing/non-cors-static-image-manifest.json" }, ]; const selectEl = document.getElementById("manifest-select"); const urlInput = document.getElementById("manifest-url"); const versionSelect = document.getElementById("version-select"); const languageSelect = document.getElementById("language-select"); + const corsPolicySelect = document.getElementById("cors-policy-select"); const listRow = document.getElementById("list-row"); const urlRow = document.getElementById("url-row"); const goButton = document.getElementById("manifest-go"); @@ -208,6 +216,7 @@ const config = { objectData: url, acceptHeaders: buildAcceptHeaders(), + staticImageCorsPolicy: corsPolicySelect.value, }; if (languageSelect.value !== "auto") { config.setLanguage = languageSelect.value; diff --git a/nginx/static/js/app/cantus.chunk.diva.min.js b/nginx/static/js/app/cantus.chunk.diva.min.js index bac9bc5e..7033b3e5 100644 --- a/nginx/static/js/app/cantus.chunk.diva.min.js +++ b/nginx/static/js/app/cantus.chunk.diva.min.js @@ -6,7 +6,7 @@ \************************************************/ () { -(()=>{var e,t,a,r,n,i,o,u,s,c,l,b,d,f=null,h=class extends HTMLElement{static get observedAttributes(){return["data-src","data-fallback-src","data-alt","data-crossorigin"]}connectedCallback(){this.observe()}disconnectedCallback(){null==f||f.unobserve(this)}attributeChangedCallback(){this.reset(),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==f||f.unobserve(this);let a=document.createElement("img");a.className="diva-thumbs-image",a.alt=null!=(e=this.dataset.alt)?e:"";let r=this.dataset.crossorigin,n="anonymous"===r;this.image=a,this.appendChild(a),this.loadImage(a,t,n?void 0:r,n,!1)}loadImage(e,t,a,r,n){e.removeAttribute("crossorigin"),a&&(e.crossOrigin=a),e.onerror=()=>{let a=this.dataset.fallbackSrc;r&&!n&&a&&a!==t?this.loadImage(e,a,void 0,!0,!0):this.showUnavailable()},e.removeAttribute("src"),e.src=t}reset(){var e,t;null==(e=this.image)||e.remove(),this.image=null,null==(t=this.unavailable)||t.remove(),this.unavailable=null}showUnavailable(){var e;null==(e=this.image)||e.remove(),this.image=null;let t=document.createElement("div");t.className="diva-thumbs-image diva-thumbs-image--unavailable",t.setAttribute("aria-label","Thumbnail unavailable"),this.unavailable=t,this.appendChild(t)}observe(){"IntersectionObserver"in window?(f||(f=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:"300px 0px"})),f.observe(this)):this.load()}constructor(){super(...arguments),this.image=null,this.unavailable=null}},v=class extends HTMLElement{connectedCallback(){this.style.display="block",this.container||(this.container=document.createElement("div"),this.container.className="osd-container",this.container.style.width="100%",this.container.style.height="100%",this.container.addEventListener("wheel",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener("dblclick",this.handleDoubleClickBound),this.appendChild(this.container),this.createScrollbar());let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener("wheel",this.handleWheelBound),this.container.removeEventListener("dblclick",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener("mousemove",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener("mouseup",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.viewer.destroy(),this.viewer=null),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler("pan",this.handleViewportChangeBound),t.addHandler("zoom",this.handleViewportChangeBound),t.addHandler("pan",()=>this.updateScrollbar()),t.addHandler("zoom",()=>this.updateScrollbar()),t.addHandler("animation-finish",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single"})}setViewingDirection(e){this.applyLayoutChange({direction:"rtl"===e?"rtl":"ltr"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single",direction:"rtl"===t?"rtl":"ltr"})}setTileSources(e,t=0,a="internal"){if(Array.isArray(e)){if(this.tileSources=e.slice(),this.resourceId=a,this.initialPageIndex=Number.isInteger(t)&&t>=0&&ta.has(e.sourceId))&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)}setPageLabels(e){Array.isArray(e)&&(this.pageLabels=e,this.pageOverlayElements.forEach((e,t)=>{this.addOrUpdatePageOverlay(t)}))}resetTileSources(e,t=0){this.viewer&&("function"==typeof this.viewer.close?this.viewer.close():this.viewer.world.removeAll(),this.cancelLoads(),this.tileSources=e,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t0?this.initialPageIndex:null,this.lastReportedIndex=this.targetIndex,this.clearScrollPlane(),this.buildOffsets(),this.ensureScrollPlane(),null!==this.targetIndex&&this.positionInitialViewport(this.targetIndex),this.resetLoadingState(),this.suppressPageChange=!0,this.suppressZoomChange=!0,this.maybeLoadMore())}handleViewportChange(){var e;if(this.isClamping)return;let t=null==(e=this.viewer)?void 0:e.viewport;t&&(this.maybeLoadMore(t),this.maybeEmitPageChange(t),this.clampTop(t),this.clampBottom(t))}handleAnimationFinish(){this.updateScrollbar(),this.maybeEmitZoomChange()}maybeLoadMore(e){var t;if(0===this.tileSources.length)return;if(!this.isViewportInitialized){if(null!==this.targetIndex){this.ensurePageLoaded(this.targetIndex);let e=this.pageOffsets[this.targetIndex]||0,t=this.pageRowHeights[this.targetIndex]||this.pageHeights[this.targetIndex]||1,a=this.indicesForRange(Math.max(0,e-1.5*t),e+2.5*t);if(a)for(let e=a[0];e<=a[1];e+=1)this.ensurePageLoaded(e)}return}let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=1.5*r.height,i=Math.max(0,r.y-n),o=r.y+r.height+n,u=this.indicesForRange(i,o);if(!u)return;let s=u[0],c=u[1],l=s;for(;l<=c;)this.ensurePageLoaded(l),l+=1;null!==this.targetIndex&&this.ensurePageLoaded(this.targetIndex)}ensurePageLoaded(e){e<0||e>=this.tileSources.length||e>=this.pageOffsets.length||this.loadedIndexes.has(e)||this.loadingIndexes.has(e)||this.unavailableIndexes.has(e)||this.loadTile(e)}async loadTile(e){let t;if(!this.viewer)return;let a=this.loadToken,r=this.tileSources[e],n=new AbortController;this.loadControllers.set(e,n),this.loadingIndexes.add(e),this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.updateLoadingState();try{t=await this.tileSourceResolver(r,n.signal)}catch(t){a!==this.loadToken||n.signal.aborted||this.markUnavailable(e,t instanceof Error?t.message:"This image is unavailable."),this.finishLoad(e,n);return}if(a!==this.loadToken||n.signal.aborted||!this.viewer)return void this.finishLoad(e,n);let i=this.pageOffsets[e]||0,o=this.pageXOffsets[e]||0;this.viewer.addTiledImage({tileSource:t,...this.tileRequestOptions(t),x:o,y:i,width:1,success:t=>{if(a!==this.loadToken)return;let r=t.item,n=this.pageXOffsets[e]||0,i=this.pageOffsets[e]||0,o=this.pageHeights[e]||1;if(r.setPosition(new OpenSeadragon.Point(n,i),!0),r.setWidth(1,!0),r.setHeight(o,!0),this.loadedIndexes.add(e),this.loadedItems.set(e,r),this.resolvePageWaiters(e,r),this.addOrUpdatePageOverlay(e),this.loadingIndexes.delete(e),this.loadControllers.delete(e),this.updateLoadingState(),!this.hasFitFirstPage&&e===this.initialPageIndex){this.hasFitFirstPage=!0;let t=this.viewer;if(!t||!t.viewport)return;let a=this.isSingleCanvasLayout(),n=a?r.getBounds():this.isSpreadMode()?this.getRowBounds(e):r.getBounds();t.viewport.fitBounds(n,!0),a||t.viewport.zoomBy(.95,t.viewport.getCenter(!0),!0),this.alignTopAfterFit(e),t.viewport.applyConstraints(),this.isViewportInitialized=!0,this.lockHorizontalPan(),this.recenterAfterFit(),this.flushInitialPageChange(),this.flushInitialZoomChange()}this.emitCustomEvent("diva-page-loaded",{index:e,resourceId:this.resourceId}),this.targetIndex===e&&(this.targetIndex=null),this.maybeLoadMore()},error:t=>{a===this.loadToken&&(this.markUnavailable(e,(null==t?void 0:t.message)||"This image could not be loaded. Static images must allow CORS."),this.finishLoad(e,n),this.maybeLoadMore())}})}tileRequestOptions(e){if(!e||"object"!=typeof e)return{};let t={};return"boolean"==typeof e.ajaxWithCredentials&&(t.ajaxWithCredentials=e.ajaxWithCredentials),("string"==typeof e.crossOriginPolicy||"boolean"==typeof e.crossOriginPolicy)&&(t.crossOriginPolicy=e.crossOriginPolicy),t}finishLoad(e,t){this.loadControllers.get(e)===t&&(this.loadControllers.delete(e),this.loadingIndexes.delete(e),this.updateLoadingState())}cancelLoads(){this.loadToken+=1,this.loadControllers.forEach(e=>e.abort()),this.loadControllers.clear(),this.loadingIndexes.clear(),this.rejectPageWaiters(new DOMException("The image load was cancelled.","AbortError")),this.resetLoadingState()}markUnavailable(e,t){this.unavailableIndexes.set(e,t),this.rejectPageWaiters(Error(t),e),this.emitCustomEvent("diva-page-load-error",{index:e,message:t,resourceId:this.resourceId}),this.addUnavailableOverlay(e,t)}waitForPage(e){let t=this.loadedItems.get(e);if(t)return Promise.resolve(t);let a=this.unavailableIndexes.get(e);return a?Promise.reject(Error(a)):new Promise((t,a)=>{var r;let n=null!=(r=this.pageWaiters.get(e))?r:[];n.push({resolve:t,reject:a}),this.pageWaiters.set(e,n),this.ensurePageLoaded(e)})}resolvePageWaiters(e,t){var a;let r=null!=(a=this.pageWaiters.get(e))?a:[];this.pageWaiters.delete(e),r.forEach(e=>e.resolve(t))}rejectPageWaiters(e,t){(void 0===t?Array.from(this.pageWaiters.keys()):[t]).forEach(t=>{var a;let r=null!=(a=this.pageWaiters.get(t))?a:[];this.pageWaiters.delete(t),r.forEach(t=>t.reject(e))})}addUnavailableOverlay(e,t){if(!this.viewer)return;this.removeUnavailableOverlay(e);let a=document.createElement("div");a.className="diva-image-unavailable",a.dataset.index=String(e);let r=document.createElement("p");r.textContent=t;let n=document.createElement("button");n.type="button",n.textContent="Retry image",n.addEventListener("click",()=>{this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.ensurePageLoaded(e)}),a.append(r,n),this.viewer.addOverlay({element:a,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}removeUnavailableOverlay(e){let t=this.querySelector(`.diva-image-unavailable[data-index="${e}"]`);t&&this.viewer&&this.viewer.removeOverlay(t),null==t||t.remove()}setPageAspects(e){Array.isArray(e)&&(this.pageAspects=e.filter(e=>e>0),this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),this.isViewportInitialized||null===this.targetIndex||this.positionInitialViewport(this.targetIndex),this.maybeLoadMore())}buildOffsets(){let e=this.tileSources.length>0?this.tileSources.length:this.pageAspects.length;this.pageOffsets=Array(e),this.pageHeights=Array(e),this.pageRowHeights=Array(e),this.pageXOffsets=Array(e),this.isSpreadMode()?this.buildSpreadOffsets(e):this.buildSingleOffsets(e)}buildSingleOffsets(e){let t=0,a=this.pageAspects[0]||1;for(let r=0;r0){let e=this.pageAspects[0]||n;n=e,this.pageOffsets[0]=a,this.pageHeights[0]=e,this.pageRowHeights[0]=e,this.pageXOffsets[0]=+!t,a+=e+.06,r=1}for(;r{let a=this.pageOffsets[t],r=this.pageHeights[t],n=this.pageXOffsets[t];e.setPosition(new OpenSeadragon.Point(n,a),!0),e.setWidth(1,!0),e.setHeight(r,!0),this.addOrUpdatePageOverlay(t)})}addOrUpdatePageOverlay(e){if(!this.viewer)return;let t=this.pageOverlayElements.get(e),a=e%2==0;t||((t=document.createElement("div")).className="diva-page-overlay-label",t.style.pointerEvents="none",t.style.color="#ffffff",t.style.background="transparent",t.style.padding="0",t.style.borderRadius="0",t.style.fontSize="12px",t.style.fontWeight="600",t.style.lineHeight="1.2",t.style.whiteSpace="nowrap",t.style.paddingBottom="6px",t.style.paddingLeft=a?"0":"12px",t.style.paddingRight=a?"12px":"0",this.pageOverlayElements.set(e,t)),t.textContent=this.pageLabels[e]||`Page ${e+1}`;let r=(this.pageXOffsets[e]||0)+ +!!a,n=this.pageOffsets[e]||0;try{this.viewer.removeOverlay(t)}catch(e){}this.viewer.addOverlay({element:t,location:new OpenSeadragon.Point(r,n),placement:a?OpenSeadragon.Placement.BOTTOM_RIGHT:OpenSeadragon.Placement.BOTTOM_LEFT})}clearPageOverlays(){this.viewer&&this.pageOverlayElements.forEach(e=>{var t;try{null==(t=this.viewer)||t.removeOverlay(e)}catch(e){}e.remove()}),this.pageOverlayElements.clear()}ensureScrollPlane(){if(!this.viewer||0===this.pageOffsets.length)return;let e=this.getTotalHeight(),t=this.isSpreadMode()?2:1;if(this.scrollPlaneItem){this.scrollPlaneItem.setPosition(new OpenSeadragon.Point(0,0),!0),this.scrollPlaneItem.setWidth(t,!0),this.scrollPlaneItem.setHeight(e,!0);return}let a=`data:image/svg+xml;charset=utf-8,${encodeURIComponent('')}`;this.viewer.addTiledImage({tileSource:{type:"image",url:a},x:0,y:0,width:t,success:a=>{let r=a.item;r.setOpacity(0),r.setPosition(new OpenSeadragon.Point(0,0),!0),r.setWidth(t,!0),r.setHeight(e,!0),this.scrollPlaneItem=r}})}clearScrollPlane(){this.viewer&&this.scrollPlaneItem&&(this.viewer.world.removeItem(this.scrollPlaneItem),this.scrollPlaneItem=null)}indicesForRange(e,t){return 0===this.pageOffsets.length?null:[this.findIndexForOffset(e),this.getRowEndIndex(this.findIndexForOffset(t))]}findIndexForOffset(e){let t=0,a=this.pageOffsets.length-1;for(;t<=a;){let r=Math.floor((t+a)/2),n=this.pageOffsets[r],i=this.pageRowHeights[r]||this.pageHeights[r]||1;if(en+i))return this.getRowStartIndex(r);t=r+1}}if(t>=this.pageOffsets.length)return this.pageOffsets.length-1;let r=Math.max(0,t);return this.getRowStartIndex(r)}scrollToOffset(e){var t;let a=null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=this.isSpreadMode()?2:1,i=new OpenSeadragon.Rect(0,e,n,r.height);a.fitBounds(i,!0)}positionInitialViewport(e){var t;let a=null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=this.pageOffsets[e]||0,n=this.pageRowHeights[e]||this.pageHeights[e]||1,i=Math.max(0,r-1.5*n),o=this.isSpreadMode()?2:1;a.fitBounds(new OpenSeadragon.Rect(0,i,o,r+2.5*n-i),!0)}scrollToIndex(e){if(e<0||e>=this.tileSources.length||e>=this.pageOffsets.length)return;let t=this.pageOffsets[e];this.scrollToOffset(t),this.targetIndex=e,this.ensurePageLoaded(e),this.lastReportedIndex=e,this.emitCustomEvent("diva-page-change",{index:e})}getVisiblePageIndexes(){var e;if(0===this.pageOffsets.length)return[];let t=null!=(e=this.lastReportedIndex)?e:0,a=this.getRowStartIndex(t);return Array.from({length:this.getRowEndIndex(a)-a+1},(e,t)=>a+t)}isPageLoaded(e,t){var a;return(null==(a=this.tileSources[e])?void 0:a.sourceId)===t&&this.loadedIndexes.has(e)}next(){let e=this.getVisiblePageIndexes();if(0===e.length)return;let t=this.getRowEndIndex(e[0])+1;t0?n/r.height*.75:0,o=a.getCenter(!0),u=new OpenSeadragon.Point(this.getCenterX(),o.y+i);a.panTo(u,!0),this.recenterBoundsX(),this.clampTop(),this.clampBottom(),this.maybeEmitPageChange()}lockHorizontalPan(){var e;if(!this.isViewportInitialized)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(this.getCenterX(),a.y),!0),t.applyConstraints()}recenterAfterFit(){if(!this.viewer)return;let e=()=>{this.viewer&&this.viewer.removeHandler("animation-finish",e),this.recenterBoundsX()};"function"==typeof this.viewer.addOnceHandler?this.viewer.addOnceHandler("animation-finish",e):this.viewer.addHandler("animation-finish",e)}recenterBoundsX(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0),r=this.getCenterX();5e-4>Math.abs(a.x-r)||(t.panTo(new OpenSeadragon.Point(r,a.y),!0),t.applyConstraints())}clampTop(e){var t;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=-this.getTopPaddingViewport(r.height);if(r.y>=n)return;let i=r.height/2+n;this.isClamping=!0,a.panTo(new OpenSeadragon.Point(this.getCenterX(),i),!0),a.applyConstraints(),this.isClamping=!1}clampBottom(e){var t,a;let r=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!r||0===this.pageOffsets.length)return;let n=this.getTotalHeight(),i=r.getBounds(!0),o=n+20/((null==(a=this.container)?void 0:a.getBoundingClientRect().height)||1)*i.height;if(i.y+i.height<=o)return;let u=o-i.height/2;this.isClamping=!0,r.panTo(new OpenSeadragon.Point(this.getCenterX(),u),!0),r.applyConstraints(),this.isClamping=!1}maybeEmitPageChange(e){var t;if(this.suppressPageChange||this.isScrollbarDragging||0===this.pageOffsets.length)return;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getCenter(!0),n=this.findIndexForOffset(r.y);this.lastReportedIndex!==n&&(this.lastReportedIndex=n,this.emitCustomEvent("diva-page-change",{index:n}))}emitPageChangeInstant(){var e;if(0===this.pageOffsets.length)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0),r=this.findIndexForOffset(a.y);this.lastReportedIndex=r,this.emitCustomEvent("diva-page-change",{index:r,instant:!0})}flushInitialPageChange(){if(0===this.pageOffsets.length){this.suppressPageChange=!1;return}if(!this.viewer||!this.viewer.viewport)return;let e=this.viewer.viewport.getCenter(!0),t=this.findIndexForOffset(e.y);this.lastReportedIndex=t,this.suppressPageChange=!1,this.emitCustomEvent("diva-page-change",{index:t})}maybeEmitZoomChange(e){var t;if(this.suppressZoomChange)return;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getZoom(!0);null!==this.lastReportedZoom&&1e-4>Math.abs(this.lastReportedZoom-r)||(this.lastReportedZoom=r,this.emitCustomEvent("diva-zoom-change",{zoom:r}))}flushInitialZoomChange(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getZoom(!0);this.lastReportedZoom=a,this.suppressZoomChange=!1,this.emitCustomEvent("diva-zoom-change",{zoom:a})}alignTopAfterFit(e){if(!this.viewer)return;let t=this.viewer.viewport;if(!t)return;let a=t.getBounds(!0),r=this.getTopPaddingViewport(a.height),n=(this.pageOffsets[e]||0)-r;if(5e-4>Math.abs(a.y-n))return;let i=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(i.x,a.height/2+n),!0),t.applyConstraints()}getTopPaddingViewport(e){var t;return 28/((null==(t=this.container)?void 0:t.getBoundingClientRect().height)||1)*e}resetLoadingState(){null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1})}updateLoadingState(){if(this.loadingIndexes.size>0){if(this.isLoading||null!==this.loadingTimer)return;this.loadingTimer=window.setTimeout(()=>{this.loadingTimer=null,this.loadingIndexes.size>0&&!this.isLoading&&(this.isLoading=!0,this.emitCustomEvent("diva-loading-change",{loading:!0}))},300);return}null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading&&(this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1}))}applyLayoutChange(e){var t,a,r;let n=null!=(t=e.mode)?t:this.layoutMode,i=null!=(a=e.direction)?a:this.viewingDirection;if(this.layoutMode===n&&this.viewingDirection===i)return;let o=null,u=null==(r=this.viewer)?void 0:r.viewport;if(u&&this.pageOffsets.length>0){let e=u.getBounds(!0),t=e.y+.5*e.height;o=this.findIndexForOffset(t)}else null!==this.lastReportedIndex&&(o=this.lastReportedIndex);if(this.layoutMode=n,this.viewingDirection=i,this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),null!==o){let e=Math.max(0,Math.min(o,this.pageOffsets.length-1));this.scrollToIndex(e)}else this.lockHorizontalPan(),this.recenterAfterFit();this.maybeLoadMore()}emitCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}getCenterX(){return this.isSpreadMode()?1:.5}isSingleCanvasLayout(){return 1===this.tileSources.length&&1===this.pageOffsets.length}getTotalHeight(){let e=this.pageOffsets.length-1;return this.pageOffsets[e]+(this.pageRowHeights[e]||1)}getRowBounds(e){let t=this.pageOffsets[e]||0,a=this.pageRowHeights[e]||this.pageHeights[e]||1,r=this.isSpreadMode()?2:1;return new OpenSeadragon.Rect(0,t,r,a)}isSpreadMode(){return"single"!==this.layoutMode}getRowStartIndex(e){return this.isSpreadMode()?"spread-shift"===this.layoutMode?0===e?0:e%2==1?e:e-1:e-e%2:e}getRowEndIndex(e){let t=this.pageOffsets.length-1;return this.isSpreadMode()?"spread-shift"===this.layoutMode&&0===e?0:Math.min(e+1,t):e}createScrollbar(){this.container&&(this.scrollbarTrack=document.createElement("div"),this.scrollbarTrack.className="diva-scrollbar-track",this.scrollbarThumb=document.createElement("div"),this.scrollbarThumb.className="diva-scrollbar-thumb",this.scrollbarTrack.appendChild(this.scrollbarThumb),this.container.appendChild(this.scrollbarTrack),this.setupScrollbarDrag(),this.setupScrollbarTrackClick())}updateScrollbar(){if(!this.viewer||!this.scrollbarThumb||!this.scrollbarTrack||0===this.pageOffsets.length)return;let e=this.viewer.viewport.getBounds(!0),t=this.scrollbarTrack.clientHeight,a=this.getTotalHeight(),r=e.height,n=e.y,i=Math.max(30,r/a*t),o=a-r,u=o>0?Math.max(0,Math.min(1,n/o)):0;this.scrollbarThumb.style.height=`${i}px`,this.scrollbarThumb.style.top=`${Math.max(0,u*(t-i))}px`}setupScrollbarDrag(){if(!this.scrollbarThumb||!this.scrollbarTrack)return;let e=!1,t=0,a=0,r=r=>{var n;e=!0,this.isScrollbarDragging=!0,t=r.clientY,a=(null==(n=this.scrollbarThumb)?void 0:n.offsetTop)||0,r.preventDefault(),r.stopPropagation()},n=r=>{if(!e||!this.scrollbarTrack||!this.scrollbarThumb||!this.viewer)return;let n=r.clientY-t,i=a+n,o=this.scrollbarTrack.clientHeight,u=this.scrollbarThumb.clientHeight,s=Math.max(0,Math.min(i,o-u)),c=this.getTotalHeight(),l=this.viewer.viewport.getBounds(!0).height;this.scrollToOffset((o-u>0?s/(o-u):0)*(c-l))},i=()=>{e&&(e=!1,this.isScrollbarDragging=!1,this.emitPageChangeInstant())};this.scrollbarMouseMove=n,this.scrollbarMouseUp=i,this.scrollbarThumb.addEventListener("mousedown",r),document.addEventListener("mousemove",n),document.addEventListener("mouseup",i)}setupScrollbarTrackClick(){this.scrollbarTrack&&this.scrollbarTrack.addEventListener("click",e=>{var t;if(e.target===this.scrollbarThumb||!this.viewer)return;let a=null==(t=this.scrollbarTrack)?void 0:t.getBoundingClientRect();if(!a)return;let r=Math.max(0,Math.min(1,(e.clientY-a.top)/a.height)),n=this.getTotalHeight(),i=this.viewer.viewport.getBounds(!0).height;this.scrollToOffset(r*(n-i))})}constructor(){super(),this.container=null,this.viewer=null,this.loadToken=0,this.tileSources=[],this.pageLabels=[],this.pageAspects=[],this.pageOffsets=[],this.pageHeights=[],this.pageRowHeights=[],this.pageXOffsets=[],this.layoutMode="single",this.viewingDirection="ltr",this.hasFitFirstPage=!1,this.loadedIndexes=new Set,this.loadingIndexes=new Set,this.unavailableIndexes=new Map,this.loadControllers=new Map,this.tileSourceResolver=async e=>e.isStatic?{type:"image",url:e.url,crossOriginPolicy:"Anonymous"}:e.url,this.loadedItems=new Map,this.pageWaiters=new Map,this.pageOverlayElements=new Map,this.targetIndex=null,this.initialPageIndex=0,this.resourceId="initial",this.scrollPlaneItem=null,this.isViewportInitialized=!1,this.lastReportedIndex=null,this.lastReportedZoom=null,this.loadingTimer=null,this.isLoading=!1,this.isClamping=!1,this.suppressPageChange=!0,this.suppressZoomChange=!0,this.scrollbarTrack=null,this.scrollbarThumb=null,this.isScrollbarDragging=!1,this.scrollbarMouseMove=null,this.scrollbarMouseUp=null,this.handleWheelBound=this.handleWheel.bind(this),this.handleDoubleClickBound=this.handleDoubleClick.bind(this),this.handleViewportChangeBound=this.handleViewportChange.bind(this),this.handleAnimationFinishBound=this.handleAnimationFinish.bind(this)}};function g(e,t,a){return a.a=e,a.f=t,a}function p(e){return g(2,e,function(t){return function(a){return e(t,a)}})}function m(e){return g(3,e,function(t){return function(a){return function(r){return e(t,a,r)}}})}function w(e){return g(4,e,function(t){return function(a){return function(r){return function(n){return e(t,a,r,n)}}}})}function x(e){return g(5,e,function(t){return function(a){return function(r){return function(n){return function(i){return e(t,a,r,n,i)}}}}})}function y(e){return g(6,e,function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return e(t,a,r,n,i,o)}}}}}})}function E(e){return g(7,e,function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return e(t,a,r,n,i,o,u)}}}}}}})}function I(e,t,a){return 2===e.a?e.f(t,a):e(t)(a)}function C(e,t,a,r){return 3===e.a?e.f(t,a,r):e(t)(a)(r)}function R(e,t,a,r,n){return 4===e.a?e.f(t,a,r,n):e(t)(a)(r)(n)}function $(e,t,a,r,n,i){return 5===e.a?e.f(t,a,r,n,i):e(t)(a)(r)(n)(i)}function L(e,t,a,r,n,i,o){return 6===e.a?e.f(t,a,r,n,i,o):e(t)(a)(r)(n)(i)(o)}function A(e,t,a,r,n,i,o,u){return 7===e.a?e.f(t,a,r,n,i,o,u):e(t)(a)(r)(n)(i)(o)(u)}customElements.define("diva-lazy-image",h),customElements.define("osd-viewer",v);var S=m(function(e,t,a){for(var r=Array(e),n=0;n100){var n;return r.push((n=e,{a:n,b:t})),!0}if(e.$<0&&(e=ai(e),t=ai(t)),"function"==typeof DataView&&e instanceof DataView){var i=e.byteLength;if(t.byteLength!==i)return!1;for(var o=0;o0&&e<0||a<0&&e>0?a+e:a}),Z=Math.ceil,K=Math.floor,X=Math.round,Y=Math.log,J=p(function(e,t){return e+t}),Q=m(function(e,t,a){for(var r=a.length;r-- >0;){var n=a[r],i=a.charCodeAt(r);56320<=i&&i<=57343&&(n=a[--r]+n),t=I(e,n,t)}return t}),ee=p(function(e,t){return t.split(e)}),et=p(function(e,t){return t.join(e)}),ea=m(function(e,t,a){return a.slice(e,t)}),er=p(function(e,t){for(var a=t.length;a-- >0;){var r=t[a],n=t.charCodeAt(a);if(56320<=n&&n<=57343&&(r=t[--a]+r),!e(r))return!1}return!0}),en=p(function(e,t){return t.indexOf(e)>-1}),ei=p(function(e,t){return 0===t.indexOf(e)}),eo=p(function(e,t){return t.length>=e.length&&t.lastIndexOf(e)===t.length-e.length}),eu=p(function(e,t){var a=e.length;if(a<1)return B;for(var r=0,n=[];(r=t.indexOf(e,r))>-1;)n.push(r),r+=a;return U(n)});function es(e){return e+""}function ec(e){return{$:2,b:e}}var el=ec(function(e){return"number"!=typeof e?eA("an INT",e):-0x7fffffff=t.length)return eA("a LONGER array. Need index "+n+" but only see "+t.length+" entries",t);var r=eC(e.b,t[n]);return a1(r)?r:ab(I(ah,n,r.a));case 8:if("object"!=typeof t||null===t||e$(t))return eA("an OBJECT",t);var i=B;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var r=eC(e.b,t[o]);if(!a1(r))return ab(I(af,o,r.a));i=D({a:o,b:r.a},i)}return av(az(i));case 9:for(var u=e.f,s=e.g,c=0;ctypeof FileList&&e instanceof FileList}function eL(e){return I(a0,e.length,function(t){return e[t]})}function eA(e,t){return ab(I(ad,"Expecting "+e,t))}var eS=p(function(e,t){return JSON.stringify(t,null,e)+""});function eT(e){return e}var ek=m(function(e,t,a){return("toJSON"!==e||"function"!=typeof t)&&(a[e]=t),a});function eM(e){return{$:0,a:e}}function eP(e){return{$:2,b:e,c:null}}var eN=p(function(e,t){return{$:3,b:e,d:t}}),ez=p(function(e,t){return{$:4,b:e,d:t}}),eO=0;function eV(e){var t={$:0,e:eO++,f:e,g:null,h:[]};return eU(t),t}function eq(e){return eP(function(t){t(eM(eV(e)))})}function eH(e,t){e.h.push(t),eU(e)}var eB=p(function(e,t){return eP(function(a){eH(e,t),a(eM(0))})}),eD=!1,e_=[];function eU(e){if(e_.push(e),!eD){for(eD=!0;e=e_.shift();)!function(e){for(;e.f;){var t=e.f.$;if(0===t||1===t){for(;e.g&&e.g.$!==t;)e.g=e.g.i;if(!e.g)return;e.f=e.g.b(e.f.a),e.g=e.g.i}else if(2===t){e.f.c=e.f.b(function(t){e.f=t,eU(e)});return}else if(5===t){if(0===e.h.length)return;e.f=e.f.b(e.h.shift())}else e.g={$:+(3!==t),b:e.f.b,i:e.g},e.f=e.f.d}}(e);eD=!1}}function eF(e){return eP(function(t){var a=setTimeout(function(){t(eM(0))},e);return function(){clearTimeout(a)}})}var eG={};function ej(e,t,a,r,n){return{b:e,c:t,d:a,e:r,f:n}}var eW=p(function(e,t){return eP(function(a){e.g(t),a(eM(0))})}),eZ=p(function(e,t){return I(eB,e.h,{$:0,a:t})});function eK(e){return function(t){return{$:1,k:e,l:t}}}function eX(e){return{$:2,m:e}}var eY=[],eJ=!1;function eQ(e,t,a){if(eY.push({p:e,q:t,r:a}),!eJ){eJ=!0;for(var r;r=eY.shift();)!function(e,t,a){var r={};for(var n in e0(!0,t,r,null),e0(!1,a,r,null),e)eH(e[n],{$:"fx",a:r[n]||{i:B,j:B}})}(r.p,r.q,r.r);eJ=!1}}function e0(e,t,a,r){switch(t.$){case 1:var n,i,o,u,s,c,l,b=t.k,d=(n=e,i=b,o=r,u=t.l,I(n?eG[i].e:eG[i].f,function(e){for(var t=o;t;t=t.t)e=t.s(e);return e},u));a[b]=(s=e,c=d,l=(l=a[b])||{i:B,j:B},s?l.i=D(c,l.i):l.j=D(c,l.j),l);return;case 2:for(var f=t.m;f.b;f=f.b)e0(e,f.a,a,r);return;case 3:e0(e,t.o,a,{s:t.n,t:r});return}}function e1(e,t){return eG[e]&&k(3),eG[e]={e:e2,u:t,a:e4},eK(e)}var e2=p(function(e,t){return t});function e4(e){var t=[],a=eG[e].u,r=eF(0);return eG[e].b=r,eG[e].c=m(function(e,n,i){for(;n.b;n=n.b){for(var o=t,u=a(n.a),s=0;s=0&&t.splice(a,1)}}}function e3(e,t){return eG[e]&&k(3),eG[e]={f:e6,u:t,a:e5},eK(e)}var e6=p(function(e,t){return function(a){return e(t(a))}});function e5(e,t){var a=B,r=eG[e].u,n=eM(null);return eG[e].b=n,eG[e].c=m(function(e,t,r){return a=t,n}),{send:function(e){var n=I(eI,r,e);a1(n)||k(4,n.a);for(var i=n.a,o=a;o.b;o=o.b)t(o.a(i))}}}var e8=!1,e7="u">typeof document?document:{};function e9(e,t){e.appendChild(t)}function te(e,t,a){(t.parentNode!==e||t.nextSibling!==a)&&e.insertBefore(t,a)}function tt(e,t,a){(t.parentNode!==e||t.previousSibling!==a)&&e.insertBefore(t,null===a?e.firstChild:a.nextSibling)}var ta="u">typeof Element&&"function"==typeof Element.prototype.moveBefore,tr=ta?function(e,t,a){(t.parentNode!==e||t.nextSibling!==a)&&e.moveBefore(t,a)}:te,tn=ta?function(e,t,a){(t.parentNode!==e||t.previousSibling!==a)&&e.moveBefore(t,null===a?e.firstChild:a.nextSibling)}:tt;function ti(e){var t=e.parentNode;t&&t.removeChild(e)}function to(e){return{r:e,s:Object.create(null)}}function tu(e){return{$:0,a:e}}var ts=p(function(e,t){return p(function(a,r){for(var n=[];r.b;r=r.b)n.push(r.a);return{$:1,c:t,d:tA(a),e:n,f:e,b:0}})}),tc=ts(void 0);function tl(e,t){return{$:5,l:e,m:t,k:void 0}}p(function(e,t){return p(function(a,r){for(var n=[],i=Object.create(null);r.b;r=r.b){for(var o=r.a,u=o.a;u in i;)u+=tH,o={a:u,b:o.b};n.push(o),i[u]=o.b}return{$:2,c:t,d:tA(a),e:n,t:i,f:e,b:0}})})(void 0);var tb=p(function(e,t){return tl([e,t],function(){return e(t)})}),td=m(function(e,t,a){return tl([e,t,a],function(){return I(e,t,a)})}),tf=w(function(e,t,a,r){return tl([e,t,a,r],function(){return C(e,t,a,r)})}),th=x(function(e,t,a,r,n){return tl([e,t,a,r,n],function(){return R(e,t,a,r,n)})}),tv=y(function(e,t,a,r,n,i){return tl([e,t,a,r,n,i],function(){return $(e,t,a,r,n,i)})}),tg=E(function(e,t,a,r,n,i,o){return tl([e,t,a,r,n,i,o],function(){return L(e,t,a,r,n,i,o)})}),tp=p(function(e,t){return{$:"a0",n:e,o:t}}),tm=p(function(e,t){return{$:"a1",n:e,o:t}}),tw=p(function(e,t){return{$:"a2",n:e,o:t}}),tx=p(function(e,t){return{$:"a3",n:e,o:t}}),ty=m(function(e,t,a){return{$:"a4",n:t,o:{f:e,o:a}}}),tE=/^script$/i,tI=/^(on|formAction$)/i,tC=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,tR=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function t$(e){return tR.test(e)?"":e}var tL="function"==typeof _Test_runThunk;function tA(e){var t={};for(t[t_]=!0;e.b;e=e.b){var a=e.a,r=a.$,n=a.n,i=a.o;if("a2"===r){"className"===n?tS(t,n,i):t[n]=i;continue}var o=t[r]||(t[r]={});"a3"===r&&"class"===n?tL?tS(t,"className",i):tS(o,n,i):o[n]=i}return t}function tS(e,t,a){var r=e[t];e[t]=r?r+" "+a:a}function tT(e,t,a){var n=e.$;if(5===n)return tT(e.k||(e.k=e.m()),t,a);if(4===n)return tT(e.k,function(a,r){return t(e.j(a),r)},a);if(0===n){var i=e7.createTextNode(e.a);return a.r=i,i}if(3===n){var i=e.h(e.g);return tk(i,t,{},e.d),a.r=i,i}var i=e.f?e7.createElementNS(e.f,e.c):e7.createElement(e.c);if(r&&"a"==e.c&&i.addEventListener("click",r(i)),tk(i,t,{},e.d),1===n)for(var o=e.e,u=0;ua4(o)}),r[i]=u}for(i in r)i in a||(e.removeEventListener(i,r[i]),delete r[i])}(e,t,r.a0||{})}function tM(e,t){for(var a in t)if("a0"!==a&&"a1"!==a&&"a3"!==a&&"a4"!==a&&a!==t_){var r=t[a];r!==e[a]&&(e[a]=r)}}function tP(e,t){var a=e.elmFs;if(a)for(var r in a)a[r].q=t}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){n=!0}}))}catch(e){}function tN(e,t,a,r){if(e===t)return{r:tz(e,t,a,r),u:!1,v:!1};for(;4===e.$;)e=e.k;if(4===t.$)return tN(e,t.k,function(e,r){return a(t.j(e),r)},r);if(5===e.$)if(5!==t.$)return tN(e.k,t,a,r);else{for(var n=e.l,i=t.l,o=n.length,u=o===i.length;u&&o--;)u=n[o]===i[o];return u?(t.k=e.k,{r:tz(e,t,a,r),u:!1,v:!1}):(t.k=t.m(),tN(e.k,t.k,a,r))}if(5===t.$)return tN(e,t.k||(t.k=t.m()),a,r);var s=r.r,c=e.$,l=t.$;if(c!==l)if(1===c&&2===l)e=function(e,t,a){for(var r=e.e,n=t.e,i=r.length,o=n.length,u=Array(i),s=Object.create(null),c=Object.create(null),l=0;l=0;s--){var l=u[s],b=function e(t,a,r){var n=t.$;if(5===n)return e(t.k,a,r);if(4===n)return e(t.k,function(e,r){return a(t.j(e),r)},r);if(0===n){var i=e7.createTextNode(t.a);return r.r=i,i}return r.r}(2===a.$?l.b:l,r,n.s[2===a.$?l.a:s]);if(b.parentNode===e)for(;c>=0;c--){if((o=e.childNodes[c])===b){c--;break}(3===o.nodeType||"font"===o.localName)&&e.removeChild(o)}else te(e,b,o),o=b}for(;c>=0;c--)(3===(o=e.childNodes[c]).nodeType||"font"===o.localName)&&e.removeChild(o)}return{r:e,u:!1,v:!1}}function tV(e,t,a,r,n){for(var i=t.e,o=a.e,u=i.length,s=o.length,c=!1,l=null,b=us)for(var d=s;dc&&d>l;){var p=i[b],m=o[d],w=p.a,x=m.a,y=p.b,E=m.b;if(w===x){var I=tN(y,E,r,n.s[x]);b--,d--,g(I,!0);continue}var C=!1;if(w in s?C=!0:(ti(n.s[w].r),delete n.s[w],b--),x in u){if(C)break}else{var R=to(void 0),$=tT(E,r,R);n.s[x]=R,te(e,$,h),d--,h=$}}var L=!1;if(c=e)break;var a=tF[t];delete tF[t],a()}tG=!1})),t}var tK="u">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tX={addEventListener:function(){},removeEventListener:function(){}},tY="u">typeof document?document:tX,tJ="u">typeof window?window:tX,tQ=m(function(e,t,a){return eq(eP(function(r){function i(e){eV(a(e))}return e.addEventListener(t,i,n&&{passive:!0}),function(){e.removeEventListener(t,i)}}))}),t0=p(function(e,t){var a=eC(e,t);return a1(a)?ap(a.a):am});function t1(e,t){return eP(function(a){tZ(function(){var r=document.getElementById(e);a(r?eM(t(r)):{$:1,a:a6(e)})})})}function t2(){var e=tY.body,t=tY.documentElement;return{dz:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dd:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t4=m(function(e,t,a){return t1(e,function(e){return e.scrollLeft=t,e.scrollTop=a,0})}),t3=m(function(e,t,a){return eP(function(r){function n(e){r(t(a.dH.a(e)))}var i,o,u,s=new XMLHttpRequest;s.addEventListener("error",function(){n(rT)}),s.addEventListener("timeout",function(){n(rP)}),s.addEventListener("load",function(){var e,t,r;n((e=a.dH.b,I(200<=(t=s).status&&t.status<300?rS:rL,{aK:(r=t).responseURL,gD:r.status,gE:r.statusText,eF:function(e){if(!e)return rC;for(var t=rC,a=e.split("\r\n"),r=a.length;r--;){var n=a[r],i=n.indexOf(": ");if(i>0){var o=n.substring(0,i),u=n.substring(i+2);t=C(rK,o,function(e){return ap(rN(e)?u+", "+e.a:u)},t)}}return t}(r.getAllResponseHeaders())},e(t.response))))}),rN(a.fw)&&(i=e,o=s,u=a.fw.a,o.upload.addEventListener("progress",function(e){!o.c&&eV(I(rz,i,{a:u,b:rM({gz:e.loaded,fo:e.total})}))}),o.addEventListener("progress",function(e){!o.c&&eV(I(rz,i,{a:u,b:rk({gr:e.loaded,fo:e.lengthComputable?ap(e.total):am})}))}));try{s.open(a.f9,a.aK,!0)}catch(e){return n(rA(a.aK))}return function(e,t){for(var a=t.eF;a.b;a=a.b)e.setRequestHeader(a.a.a,a.a.b);e.timeout=t.gN.a||0,e.responseType=t.dH.d,e.withCredentials=t.fC}(s,a),a.ef.a&&s.setRequestHeader("Content-Type",a.ef.a),s.send(a.ef.b),function(){s.c=!0,s.abort()}})}),t6=m(function(e,t,a){return{$:0,d:e,b:t,a:a}}),t5=p(function(e,t){return{$:0,d:t.d,b:t.b,a:function(a){return e(t.a(a))}}}),t8=x(function(e,t,a,r,n){for(var i,o=e.length,u=t+o<=n.length,s=0;u&&sO(e,t)))return a;else{var r=e,n=t-1,i=I(_,t,a);e=r,t=n,a=i;continue}}),aR=p(function(e,t){return C(aC,e,t,B)}),a$=p(function(e,t){return C(G,e,I(aR,0,aI(t)-1),t)}),aL=function(e){return e.toLowerCase()},aA=function(e){return e.toUpperCase()},aS=function(e){return M(e,aL(e))&&!M(e,aA(e))},aT=function(e){return M(e,aA(e))&&!M(e,aL(e))},ak=function(e){return aS(e)||aT(e)},aM=function(e){var t=e.charCodeAt(0);return 55296<=t&&t<=56319?(t-55296)*1024+e.charCodeAt(1)-56320+65536:t},aP=function(e){var t=aM(e);return t<=57&&48<=t},aN=function(e){return aS(e)||aT(e)||aP(e)},az=function(e){return C(aE,_,B,e)},aO=function(e){var t=e.charCodeAt(0);return isNaN(t)?am:ap(55296<=t&&t<=56319?{a:e[0]+e[1],b:e.slice(2)}:{a:e[0],b:e.slice(1)})},aV=p(function(e,t){return"\n\n("+es(e+1)+") "+ay(aq(t))}),aq=function(e){return I(aH,e,B)},aH=p(function(e,t){for(;;)switch(e.$){case 0:var a=e.a,r=e.b,n=!function(){var e=aO(a);if(1===e.$)return!1;var t=e.a,r=t.a,n=t.b;return ak(r)&&I(er,aN,n)}()?"['"+a+"']":"."+a,i=r,o=I(_,n,t);e=i,t=o;continue;case 1:var u=e.a,r=e.b,s="["+es(u)+"]",i=r,o=I(_,s,t);e=i,t=o;continue;case 2:var c=e.a;if(!c.b)return"Ran into a Json.Decode.oneOf with no possibilities"+(t.b?" at json"+I(aw,"",az(t)):"!");if(c.b.b){var l=(t.b?"The Json.Decode.oneOf at json"+I(aw,"",az(t)):"Json.Decode.oneOf")+" failed in the following "+es(aI(c))+" ways:";return I(aw,"\n\n",I(_,l,I(a$,aV,c)))}var r=c.a,i=r,o=t;e=i,t=o;continue;default:var b=e.a,d=e.b,l=t.b?"Problem with the value at json"+I(aw,"",az(t))+":\n\n ":"Problem with the given value:\n\n";return l+(ay(I(eS,4,d))+"\n\n")+b}}),aB=w(function(e,t,a,r){return{$:0,a:e,b:t,c:a,d:r}}),aD=[],a_=p(function(e,t){return Y(t)/Y(e)}),aU=function(e){return e},aF=Z(I(a_,2,32)),aG=R(aB,0,aF,aD,aD),aj=p(function(e,t){return e(t)}),aW=function(e){return e.length},aZ=p(function(e,t){return O(e,t)>0?e:t}),aK=p(function(e,t){for(;;){var a=I(T,32,e),r=a.a,n=a.b,i=I(_,{$:0,a:r},t);if(!n.b)return az(i);e=n,t=i}}),aX=function(e){return e.a},aY=p(function(e,t){for(;;){var a=Z(t/32);if(1===a)return I(T,32,e).a;e=I(aK,e,B),t=a}}),aJ=p(function(e,t){if(!t.y)return R(aB,aW(t.F),aF,aD,t.F);var a=32*t.y,r=K(I(a_,32,a-1)),n=I(aY,e?az(t.G):t.G,t.y);return R(aB,aW(t.F)+a,I(aZ,5,r*aF),n,t.F)}),aQ=x(function(e,t,a,r,n){for(;;)if(t<0)return I(aJ,!1,{G:r,y:a/32|0,F:n});else{var i={$:1,a:C(S,32,t,e)},o=e,u=t-32,s=a,c=I(_,i,r),l=n;e=o,t=u,a=s,r=c,n=l;continue}}),a0=p(function(e,t){if(e<=0)return aG;var a=e%32,r=C(S,a,e-a,t);return $(aQ,t,e-a-32,e,B,r)}),a1=function(e){return!e.$},a2=function(e){return{$:0,a:e}},a4=function(e){switch(e.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},a3=function(e){return e},a6=a3,a5=y(function(e,t,a,r,n,i){return{fX:i,eH:t,A:r,e$:a,e6:e,gq:n}}),a8=function(e){return e.length},a7=p(function(e,t){return e<1?t:C(ea,e,a8(t),t)}),a9=function(e){return""===e},re=p(function(e,t){return e<1?"":C(ea,0,e,t)}),rt=function(e){for(var t=0,a=e.charCodeAt(0),r=+(43==a||45==a),n=r;n500?C(aE,e,t,az(b)):R(rs,e,t,a+1,b);return I(e,n,I(e,o,I(e,s,I(e,l,d))))}),rc=m(function(e,t,a){return R(rs,e,t,0,a)}),rl=p(function(e,t){return C(rc,p(function(t,a){return I(_,e(t),a)}),B,t)}),rb=p(function(e,t){return I(eN,function(t){return eM(e(t))},t)}),rd=m(function(e,t,a){return I(eN,function(t){return I(eN,function(a){return eM(I(e,t,a))},a)},t)}),rf=function(e){return C(rc,rd(_),eM(B),e)},rh=p(function(e,t){return eq(I(eN,eW(e),t))});eG.Task=ej(ru,m(function(e,t,a){return I(rb,function(e){return 0},rf(I(rl,rh(e),t)))}),m(function(e,t,a){return eM(0)}),p(function(e,t){return I(rb,e,t)}));var rv=eK("Task"),rg=p(function(e,t){return rv(I(rb,e,t))}),rp=function(e){return{$:0,a:e}},rm={$:1},rw={$:0},rx=function(e){return{$:9,a:e}},ry=p(function(e,t){return{$:56,a:e,b:t}}),rE=m(function(e,t,a){return 0>O(a,e)?e:O(a,t)>0?t:a}),rI={$:-2},rC=rI,rR=(o=function(){return{fi:t2(),d8:{fz:tJ.pageXOffset,d9:tJ.pageYOffset,dz:tY.documentElement.clientWidth,dd:tY.documentElement.clientHeight}}},eP(function(e){tZ(function(){e(eM(o()))})})),r$={aa:am,ag:am,c8:!1,au:rC,e:rC,cD:0,u:rC,E:rC,Z:B,af:rC,ap:rC},rL=p(function(e,t){return{$:3,a:e,b:t}}),rA=function(e){return{$:0,a:e}},rS=p(function(e,t){return{$:4,a:e,b:t}}),rT={$:2},rk=function(e){return{$:1,a:e}},rM=function(e){return{$:0,a:e}},rP={$:1},rN=function(e){return!e.$},rz=eZ,rO=p(function(e,t){for(;;)if(-2===t.$)return am;else{var a=t.b,r=t.c,n=t.d,i=t.e;switch(I(V,e,a)){case 0:var o=e,u=n;e=o,t=u;continue;case 1:return ap(r);default:var o=e,u=i;e=o,t=u;continue}}}),rV=x(function(e,t,a,r,n){return{$:-1,a:e,b:t,c:a,d:r,e:n}}),rq=x(function(e,t,a,r,n){if(-1!==n.$||n.a)if(-1!==r.$||r.a||-1!==r.d.$||r.d.a)return $(rV,e,t,a,r,n);else{r.a;var i=r.b,o=r.c,u=r.d;u.a;var s=u.b,c=u.c,l=u.d,b=u.e,d=r.e;return $(rV,0,i,o,$(rV,1,s,c,l,b),$(rV,1,t,a,d,n))}n.a;var f=n.b,h=n.c,v=n.d,g=n.e;if(-1!==r.$||r.a)return $(rV,e,f,h,$(rV,0,t,a,r,v),g);r.a;var i=r.b,o=r.c,p=r.d,d=r.e;return $(rV,0,t,a,$(rV,1,i,o,p,d),$(rV,1,f,h,v,g))}),rH=m(function(e,t,a){if(-2===a.$)return $(rV,0,e,t,rI,rI);var r=a.a,n=a.b,i=a.c,o=a.d,u=a.e;switch(I(V,e,n)){case 0:return $(rq,r,n,i,C(rH,e,t,o),u);case 1:return $(rV,r,n,t,o,u);default:return $(rq,r,n,i,o,C(rH,e,t,u))}}),rB=m(function(e,t,a){var r=C(rH,e,t,a);return -1!==r.$||r.a?r:(r.a,$(rV,1,r.b,r.c,r.d,r.e))}),rD=function(e){for(;;)if(-1!==e.$||-1!==e.d.$)return e;else{e=e.d;continue}},r_=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.e.d.$||e.e.d.a){var t=e.a,a=e.b,r=e.c,n=e.d;n.a;var i=n.b,o=n.c,u=n.d,s=n.e,c=e.e;c.a;var l=c.b,b=c.c,d=c.d,f=c.e;return $(rV,1,a,r,$(rV,0,i,o,u,s),$(rV,0,l,b,d,f))}var t=e.a,a=e.b,r=e.c,h=e.d;h.a;var i=h.b,o=h.c,u=h.d,s=h.e,v=e.e;v.a;var l=v.b,b=v.c,d=v.d;d.a;var g=d.b,p=d.c,m=d.d,w=d.e,f=v.e;return $(rV,0,g,p,$(rV,1,a,r,$(rV,0,i,o,u,s),m),$(rV,1,l,b,w,f))},rU=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.d.d.$||e.d.d.a){var t=e.a,a=e.b,r=e.c,n=e.d;n.a;var i=n.b,o=n.c,u=n.d,s=n.e,c=e.e;c.a;var l=c.b,b=c.c,d=c.d,f=c.e;return $(rV,1,a,r,$(rV,0,i,o,u,s),$(rV,0,l,b,d,f))}var t=e.a,a=e.b,r=e.c,h=e.d;h.a;var i=h.b,o=h.c,v=h.d;v.a;var g=v.b,p=v.c,m=v.d,w=v.e,s=h.e,x=e.e;x.a;var l=x.b,b=x.c,d=x.d,f=x.e;return $(rV,0,i,o,$(rV,1,g,p,m,w),$(rV,1,a,r,s,$(rV,0,l,b,d,f)))},rF=E(function(e,t,a,r,n,i,o){if(-1===i.$&&!i.a)return i.a,$(rV,a,i.b,i.c,i.d,$(rV,0,r,n,i.e,o));for(;;)if(-1===o.$&&1===o.a)if(-1!==o.d.$)return o.a,o.d,rU(t);else if(1===o.d.a)return o.a,o.d.a,rU(t);else break;else break;return t}),rG=function(e){if(-1!==e.$||-1!==e.d.$)return rI;var t=e.a,a=e.b,r=e.c,n=e.d,i=n.a,o=n.d,u=e.e;if(1!==i)return $(rV,t,a,r,rG(n),u);if(-1===o.$&&!o.a)return o.a,$(rV,t,a,r,rG(n),u);var s=r_(e);if(-1!==s.$)return rI;var c=s.a,l=s.b,b=s.c,d=s.d,f=s.e;return $(rq,c,l,b,rG(d),f)},rj=p(function(e,t){if(-2===t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;if(!(0>O(e,r)))return I(rW,e,A(rF,e,t,a,r,n,i,o));if(-1!==i.$||1!==i.a)return $(rV,a,r,n,I(rj,e,i),o);i.a;var u=i.d;if(-1===u.$&&!u.a)return u.a,$(rV,a,r,n,I(rj,e,i),o);var s=r_(t);if(-1!==s.$)return rI;var c=s.a,l=s.b,b=s.c,d=s.d,f=s.e;return $(rq,c,l,b,I(rj,e,d),f)}),rW=p(function(e,t){if(-1!==t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;if(!M(e,r))return $(rq,a,r,n,i,I(rj,e,o));var u=rD(o);return -1===u.$?$(rq,a,u.b,u.c,i,rG(o)):rI}),rZ=p(function(e,t){var a=I(rj,e,t);return -1!==a.$||a.a?a:(a.a,$(rV,1,a.b,a.c,a.d,a.e))}),rK=m(function(e,t,a){var r=t(I(rO,e,a));return r.$?I(rZ,e,a):C(rB,e,r.a,a)}),rX=m(function(e,t,a){return t(e(a))}),rY=p(function(e,t){return C(t6,"",a3,I(rX,t,e))}),rJ=p(function(e,t){return t.$?ab(e(t.a)):av(t.a)}),rQ=function(e){return{$:4,a:e}},r0={$:2},r1={$:1},r2=p(function(e,t){switch(t.$){case 0:return ab({$:0,a:t.a});case 1:return ab(r1);case 2:return ab(r0);case 3:return ab({$:3,a:t.a.gD});default:return I(rJ,rQ,e(t.b))}}),r4=p(function(e,t){return I(rY,e,r2(function(e){return I(rJ,aq,I(eE,t,e))}))}),r3={$:0},r6=p(function(e,t){return{$:0,a:e,b:t}}),r5=function(e){return{$:1,a:e}},r8=p(function(e,t){return{fb:e,ft:t}}),r7=eM(I(r8,rC,B)),r9=function(e){return eP(function(t){var a=e.f;2===a.$&&a.c&&a.c(),e.f=null,t(eM(0))})},ne=m(function(e,t,a){for(;;)if(!t.b)return eM(a);else{var r=t.a,n=t.b;if(r.$){var i=r.a;return I(eN,function(t){var r=i.fw;return 1===r.$?C(ne,e,n,a):C(ne,e,n,C(rB,r.a,t,a))},eq(C(t3,e,eW(e),i)))}var o=r.a,u=I(rO,o,a);if(1!==u.$)return I(eN,function(t){return C(ne,e,n,I(rZ,o,a))},r9(u.a));var s=a;t=n,a=s;continue}}),nt=w(function(e,t,a,r){return I(eN,function(e){return eM(I(r8,e,a))},C(ne,e,t,r.fb))}),na=m(function(e,t,a){var r=e(t);return r.$?a:I(_,r.a,a)}),nr=p(function(e,t){return C(rc,na(e),B,t)}),nn=w(function(e,t,a,r){var n=r.a,i=r.b;return M(t,n)?ap(I(eW,e,i(a))):am}),ni=m(function(e,t,a){return I(eN,function(e){return eM(a)},rf(I(nr,C(nn,e,t.a,t.b),a.ft)))}),no=p(function(e,t){if(t.$){var a=t.a;return r5({fC:a.fC,ef:a.ef,dH:I(t5,e,a.dH),eF:a.eF,f9:a.f9,gN:a.gN,fw:a.fw,aK:a.aK})}return{$:0,a:t.a}}),nu=p(function(e,t){return{$:0,a:e,b:t}});eG.Http=ej(r7,nt,ni,no,p(function(e,t){return I(nu,t.a,I(rX,t.b,e))}));var ns=eK("Http");eK("Http");var nc=m(function(e,t,a){var r;return ns(r5({fC:!1,ef:(r={ef:r3,dH:t,eF:I(rl,r6("Accept"),e),f9:"GET",gN:am,fw:am,aK:a}).ef,dH:r.dH,eF:r.eF,f9:r.f9,gN:r.gN,fw:r.fw,aK:r.aK}))}),nl=function(e){return{$:3,b:e}},nb=function(e){return{$:11,g:e}},nd=p(function(e,t){for(;;)if(!t.b)return!1;else{var a=t.a,r=t.b;if(e(a))return!0;t=r;continue}}),nf=m(function(e,t,a){return I(aw,t,I(ax,e,a))}),nh=p(function(e,t){return M(t,e)||M(t,C(nf,"http://","https://",e))}),nv=function(e){return{$:1,a:e}},ng="http://iiif.io/api/presentation/2/context.json",np="http://iiif.io/api/presentation/3/context.json",nm=p(function(e,t){return{$:0,a:e,b:t}}),nw=p(function(e,t){return{$:0,a:e,b:t}}),nx=p(function(e,t){return{$:0,a:e,b:t}}),ny=p(function(e,t){return{$:0,a:e,b:t}}),nE=function(e){return{$:2,a:e}},nI=function(e){return{$:1,a:e}},nC=function(e){return{$:0,a:e}},nR=function(e){return{$:3,a:e}},n$=m(function(e,t,a){return e(t(a))}),nL=E(function(e,t,a,r,n,i,o){return{dd:r,s:e,cy:n,dN:t,gL:i,gT:o,dz:a}}),nA=function(e){return nb(U([I(ew,ap,e),a2(am)]))},nS=p(function(e,t){return C(ex,p(function(e,t){return t(e)}),e,t)}),nT=w(function(e,t,a,r){var n=nb(U([I(ev,e,t),a2(a)]));return I(nS,n,r)}),nk=m(function(e,t,a){return I(nS,I(ev,e,t),a)}),nM=function(e){if(!e.b)return am;var t=e.a;return e.b,ap(t)},nP=function(e){return nb(U([I(ew,nM,nl(e)),I(ew,ap,e)]))},nN=p(function(e,t){return C(rc,ev,t,e)}),nz=p(function(e,t){return t.b?C(rc,_,t,e):e}),nO=function(e){return C(rc,nz,B,e)},nV=x(function(e,t,a,r,n){return{s:e,eJ:a,dN:t,fl:r,gA:n}}),nq=p(function(e,t){return I(nS,e,t)}),nH=p(function(e,t){return I(nS,a2(e),t)}),nB=function(e){return{$:2,a:e}},nD=p(function(e,t){return t.$?am:e(t.a)}),n_=p(function(e,t){return t.$?am:ap(e(t.a))}),nU=p(function(e,t){return t.$?e:t.a}),nF=function(e){var t=e.e6,a=e.eH,r=e.e$,n=e.A,i=e.gq,o=t?"https://":"http://",u=i.$?n:n+"?"+i.a;return{c4:I(nU,H(o,a),I(n_,function(e){return o+(a+":")+es(e)},r)),A:n,dV:I(ax,"/",n),dk:u}},nG=E(function(e,t,a,r,n,i,o){return{dI:o,eH:e,Y:t,dY:i,cM:a,bd:n,fo:r}}),nj=function(e){return{$:1,a:e}},nW=m(function(e,t,a){if(1===t.$)return am;var r=t.a;return 1===a.$?am:ap(I(e,r,a.a))}),nZ=p(function(e,t){return C(nW,aj,t,e)}),nK=function(e){var t=I(ax,".",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.b.a;return"jpg"===a?ap(0):"tif"===a?ap(1):"png"===a?ap(2):"gif"===a?ap(4):"jp2"===a?ap(3):"pdf"===a?ap(5):"webp"===a?ap(6):am},nX={$:0},nY={$:1},nJ=function(e){return"full"===e?ap(nX):"square"===e?ap(nY):am},nQ=p(function(e,t){for(;;)if(!e.b)return am;else{var a=e.a,r=e.b,n=a(t);if(!n.$)return ap(n.a);var i=t;e=r,t=i;continue}}),n0=function(e){if(0===e.length||/[\sxbo]/.test(e))return am;var t=+e;return t==t?ap(t):am},n1=function(e){var t=I(nr,n0,I(ax,",",I(a7,4,e)));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return am;var a=t.a,r=t.b,n=r.a,i=r.b,o=i.a;return ap({$:3,a:{dc:i.b.a,dy:o,fz:a,d9:n}})},n2=function(e){var t=I(nr,rt,I(ax,",",e));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return am;var a=t.a,r=t.b,n=r.a,i=r.b,o=i.a;return ap({$:2,a:{dc:i.b.a,dy:o,fz:a,d9:n}})},n4=function(e){return{$:5,a:e}},n3=function(e){return I(ei,"^,",e)?I(n_,n4,rt(I(a7,2,e))):am},n6=function(e){return{$:7,a:e}},n5=function(e){return I(ei,"^pct:",e)?I(n_,n6,n0(I(a7,5,e))):am},n8=function(e){return{$:11,a:e}},n7=p(function(e,t){return{a:e,b:t}}),n9=function(e){var t=I(ax,",",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.a,r=t.b.a;return C(nW,n7,rt(a),rt(r))},ie=function(e){return I(ei,"^!",e)?I(n_,n8,n9(I(a7,2,e))):am},it=function(e){return{$:9,a:e}},ia=function(e){return I(ei,"^",e)?I(n_,it,n9(I(a7,1,e))):am},ir=function(e){return{$:3,a:e}},ii=function(e){return-e},io=p(function(e,t){return e<1?t:C(ea,0,-e,t)}),iu=function(e){return I(eo,",",e)&&I(ei,"^",e)?I(n_,ir,rt(I(a7,1,I(io,1,e)))):am},is=function(e){return{$:4,a:e}},ic=function(e){return I(ei,",",e)?I(n_,is,rt(I(a7,1,e))):am},il={$:1},ib={$:0},id=function(e){return"max"===e||"full"===e?ap(ib):"^max"===e?ap(il):am},ih=function(e){return{$:6,a:e}},iv=function(e){return I(ei,"pct:",e)?I(n_,ih,n0(I(a7,4,e))):am},ig=function(e){return{$:10,a:e}},ip=function(e){return I(ei,"!",e)?I(n_,ig,n9(I(a7,1,e))):am},im=function(e){return{$:8,a:e}},iw=function(e){var t=I(ax,",",e);return t.b&&t.b.b&&!t.b.b.b?(t.b,I(n_,im,n9(e))):am},ix=function(e){return{$:2,a:e}},iy=function(e){return I(eo,",",e)?I(n_,ix,rt(I(io,1,e))):am},iE=function(e){var t=I(ax,".",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.a;return t.b,"default"===a?ap(3):"native"===a?ap(4):"color"===a?ap(0):"gray"===a?ap(1):"bitonal"===a?ap(2):am},iI=function(e){return{$:1,a:e}},iC=function(e){return I(ei,"!",e)?I(n_,iI,n0(I(a7,1,e))):am},iR=function(e){return{$:0,a:e}},i$=function(e){return I(n_,iR,n0(e))},iL=p(function(e,t){var a=az(t);if(!a.b||!a.b.b||!a.b.b.b||!a.b.b.b.b)return am;var r=a.a,n=a.b,i=n.a,o=n.b,u=o.a,s=o.b,c=s.a,l=I(aw,"/",az(s.b));return I(n_,nj,I(nZ,nK(r),I(nZ,iE(r),I(nZ,I(nQ,U([i$,iC]),i),I(nZ,I(nQ,U([id,iy,iu,ic,n3,iv,n5,iw,ia,ip,ie]),u),I(nZ,I(nQ,U([nJ,n2,n1]),c),ap(I(nG,e,l))))))))}),iA=function(e){return{$:0,a:e}},iS=p(function(e,t){return C(rc,p(function(t,a){return e(t)?I(_,t,a):a}),B,t)}),iT=p(function(e,t){return I(iS,z(e),t)}),ik=p(function(e,t){return ap(iA({eH:e,Y:I(aw,"/",I(iT,"info.json",t))}))}),iM=p(function(e,t){return nO(I(rl,e,t))}),iP=(u=U(["color","gray","bitonal","default","native"]),s=U(["jpg","tif","png","gif","jp2","pdf","webp"]),I(rl,aw("."),(c=U([u,s]),C(rc,p(function(e,t){return I(iM,function(e){return I(rl,_(e),t)},e)}),U([B]),c)))),iN=p(function(e,t){return ap(nB({eH:e,Y:t}))}),iz=function(e){var t=nF(e),a=t.c4,r=t.A,n=t.dV,i=t.dk;return I(nd,function(e){return I(eo,e,r)},iP)?I(iL,a,n):I(eo,"info.json",r)?I(ik,a,n):I(iN,a,i)},iO=function(e){return I(nD,iz,ro(e))},iV=function(e){var t=iO(e);return t.$||2!==t.a.$?nv("Could not decode static image Url"):a2(nB(t.a.a))},iq=function(e){switch(e.$){case 0:default:return e;case 1:var t=e.a;return iA({eH:t.eH,Y:t.Y})}},iH=function(e){var t=iO(e);return t.$?nv("Could not decode image Url"):2===t.a.$?a2(iA(t.a.a)):a2(iq(t.a))},iB=p(function(e,t){return I(nd,function(t){return M(t,e)},t)}),iD="http://iiif.io/api/image/2/context.json",i_=function(e){if(I(nh,iD,e))return 1;if(I(nh,"http://iiif.io/api/image/3/context.json",e))return 2;switch(e){case"AuthLogoutService1":return 6;case"AuthTokenService1":return 5;case"AutoCompleteService1":return 4;case"ImageService1":return 0;case"ImageService2":return 1;case"ImageService3":return 2;case"SearchService1":return 3;default:return 7}},iU=nb(U([I(ew,i_,I(ev,"@type",eh)),I(ew,i_,I(ev,"type",eh)),I(ew,function(e){return I(nh,"http://library.stanford.edu/iiif/image-api/1.1/context.json",e)||I(nh,"http://iiif.io/api/image/1/context.json",e)?0:I(nh,iD,e)?1:i_(e)},I(ev,"@context",eh))])),iF=I(em,function(e){return I(iB,e,U([0,1,2]))?I(ev,"@id",eh):nv("Not an Image API service")},iU),iG=I(em,function(e){return e.$?nv("No Image API service ID found"):iH(e.a)},I(ev,"service",nb(U([I(ew,function(e){return nM(I(nr,a3,e))},nl(nA(iF))),I(ew,ap,iF)])))),ij=nb(U([iG,I(em,iV,I(ev,"@id",eh))])),iW=function(e){return U([e])},iZ=nb(U([I(ev,"service",nl(ef)),I(ev,"service",I(ew,iW,ef)),a2(B)])),iK=nb(U([I(ev,"service",nb(U([I(ew,nr(a3),nl(nA(iU))),I(ew,iW,iU)]))),a2(B)])),iX=function(e){return{$:8,b:e}},iY=p(function(e,t){return{$:0,a:e,b:t}}),iJ={$:1},iQ=function(e){return"none"===e?iJ:rp(e)},i0=function(e){var t=e.a,a=e.b;return I(iY,iQ(t),a)},i1=I(ew,function(e){return C(aE,p(function(e,t){return I(_,i0(e),t)}),B,e)},iX(nl(eh))),i2={$:2},i4=I(ew,function(e){return U([I(iY,i2,U([e]))])},eh),i3=C(ex,p(function(e,t){return U([I(iY,iQ(t),U([e]))])}),I(ev,"@value",eh),nb(U([I(ev,"@language",eh),a2("none")]))),i6=I(ew,nO,nl(i3)),i5=nb(U([i3,i6,i4,i1])),i8=I(nq,iZ,I(nq,iK,I(nH,0,R(nT,"label",nA(i5),am,I(nq,ij,a2(nV)))))),i7=C(ex,_,I(nN,U(["default"]),i8),I(nN,U(["item"]),nl(I(nq,iZ,I(nq,iK,I(nH,1,R(nT,"label",nA(i5),am,I(nq,ij,a2(nV))))))))),i9=nb(U([nl(I(nN,U(["resource"]),i8)),I(ew,nO,nl(I(nN,U(["resource"]),i7)))])),oe=function(e){var t=nF(e);return nB({eH:t.c4,Y:t.dk})},ot=function(e){var t=ro(e);return t.$?nv("Could not decode static image Url"):a2(oe(t.a))},oa=nb(U([iG,I(em,ot,I(ev,"@id",eh))])),or=I(nq,iZ,I(nq,iK,I(nH,0,R(nT,"label",nA(i5),am,I(nq,oa,a2(nV)))))),on=function(e){return{$:0,a:e}},oi=function(e){switch(e){case"continuous":return 2;case"facing-pages":return 6;case"individuals":return 1;case"multi-part":return 3;case"non-paged":return 4;case"paged":default:return 0;case"top":return 5}},oo=I(ew,function(e){return on(oi(e))},eh),ou=R(nT,"viewingHint",nA(oo),am,R(nT,"thumbnail",nP(or),am,R(nT,"images",i9,B,R(nT,"height",nA(el),am,R(nT,"width",nA(el),am,R(nT,"label",nA(i5),am,C(nk,"@id",eh,a2(nL)))))))),os=w(function(e,t,a,r){return{s:e,aE:a,dN:t,dP:r}}),oc=function(e){return{$:0,a:e}},ol=function(e){return{$:1,a:e}},ob=U([I(iY,i2,U(["Homepage"]))]),od=function(e){return I(em,e,a2(0))},of=p(function(e,t){return{dN:e,dx:t}}),oh=C(nk,"value",i5,C(nk,"label",i5,a2(of)));function ov(){return R(nT,"metadata",nl(oh),B,I(nq,og(),R(nT,"label",i5,ob,C(nk,"@id",eh,a2(os)))))}function og(){return C(ex,p(function(e,t){return H(I(rl,ol,e),I(rl,oc,t))}),nb(U([I(ev,"ranges",nl(op())),a2(B)])),nb(U([I(ev,"canvases",nl(eh)),a2(B)])))}function op(){return od(function(e){return ov()})}var om=ov();ov=function(){return om};var ow=og();og=function(){return ow};var ox=op();op=function(){return ox};var oy=w(function(e,t,a,r){return{s:e,aE:r,dN:t,gH:a}}),oE=function(e){return{$:1,a:e}},oI=function(e){return{$:0,a:e}},oC=function(e){return function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return function(s){return function(c){return function(l){return function(b){return function(d){return{eh:o,fZ:s,s:e,dN:t,f4:c,dP:a,e7:l,e9:u,fe:d,gH:n,gL:b,gS:r,gT:i}}}}}}}}}}}}}},oR=w(function(e,t,a,r){return{dI:a,s:e,dN:t,gP:r}}),o$=function(e){return{$:1,a:e}},oL=function(e){return{$:1,a:e}},oA={$:0},oS=I(ew,function(e){return"image/jpeg"===e?oA:o$(e)},eh),oT={$:0},ok=I(ew,function(e){return"Video"===e?oT:oL(e)},eh),oM=R(nT,"@type",ok,oL("Text"),R(nT,"format",oS,o$("text/html"),R(nT,"label",i5,ob,C(nk,"@id",eh,a2(oR))))),oP=nb(U([nl(oM),I(ew,iW,oM)])),oN=I(nH,am,R(nT,"thumbnail",nP(or),am,I(nH,am,I(nH,am,R(nT,"rendering",nA(oP),am,I(nH,am,I(nH,B,I(nH,on(1),R(nT,"description",nA(i5),am,I(nH,0,I(nH,B,C(nk,"label",i5,C(nk,"@id",eh,a2(oC)))))))))))))),oz=function(e){switch(e){case"sc:Collection":return I(ew,oI,od(function(e){return oO()}));case"sc:Manifest":return I(ew,oE,oN);default:return nv("Unknown collection item type: "+e)}};function oO(){return I(nq,oV(),R(nT,"description",nA(i5),am,C(nk,"label",i5,C(nk,"@id",eh,a2(oy)))))}function oV(){return nb(U([I(ev,"members",nl(oq())),C(ex,p(function(e,t){return H(e,t)}),nb(U([I(ev,"collections",nl(I(ew,oI,od(function(e){return oO()})))),a2(B)])),nb(U([I(ev,"manifests",nl(I(ew,oE,oN))),a2(B)])))]))}function oq(){return I(em,oz,I(ev,"@type",eh))}var oH=oO();oO=function(){return oH};var oB=oV();oV=function(){return oB};var oD=oq();oq=function(){return oD};var o_=C(nk,"value",i1,C(nk,"label",i1,a2(of))),oU=nb(U([I(ew,function(e){return{dN:U([I(iY,i2,U(["Attribution"]))]),dx:U([I(iY,i2,U([e]))])}},eh),o_,oh])),oF=I(eg,0,I(nN,U(["canvases"]),nl(ou))),oG=I(ew,function(e){switch(e){case"bottom-to-top":return 3;case"left-to-right":default:return 0;case"right-to-left":return 1;case"top-to-bottom":return 2}},eh),oj=R(nT,"attribution",nA(oU),am,R(nT,"thumbnail",nP(or),am,I(nH,am,R(nT,"logo",nA(i8),am,R(nT,"rendering",nA(oP),am,R(nT,"structures",nA(nl(ox)),am,C(nk,"sequences",oF,R(nT,"viewingHint",oo,on(1),R(nT,"description",nA(i5),am,R(nT,"viewingDirection",oG,0,R(nT,"metadata",nl(oh),B,C(nk,"label",i5,C(nk,"@id",eh,a2(oC)))))))))))))),oW=I(em,function(e){switch(e){case"sc:Canvas":return I(ew,I(n$,nE,nm(1)),ou);case"sc:Collection":return I(ew,I(n$,nI,nw(1)),oH);case"sc:Manifest":return I(ew,I(n$,nC,nx(1)),oj);case"sc:Range":return I(ew,I(n$,nR,ny(1)),ox);default:return nv("Unknown IIIF v2 resource type: "+e)}},I(ev,"@type",eh)),oZ=function(e){return{$:1,a:e}},oK=I(ew,oZ,nl(I(ew,function(e){switch(e){case"auto-advance":return 0;case"continuous":return 6;case"facing-pages":return 8;case"hidden":return 15;case"individuals":return 5;case"multi-part":return 10;case"no-auto-advance":return 1;case"no-nav":return 14;case"no-repeat":return 3;case"non-paged":return 9;case"paged":default:return 7;case"repeat":return 2;case"sequence":return 12;case"thumbnail-nav":return 13;case"together":return 11;case"unordered":return 4}},eh))),oX=p(function(e,t){for(;;)if(!t.b)return am;else{var a=t.a,r=t.b;if(e(a))return ap(a);t=r;continue}}),oY=p(function(e,t){return{s:e,gB:t}}),oJ=I(ew,i_,nb(U([I(ev,"@type",eh),I(ev,"type",eh)]))),oQ=I(nq,oJ,I(nq,nb(U([I(ev,"id",eh),I(ev,"@id",eh)])),a2(oY))),o0=nb(U([nl(oQ),I(ew,iW,oQ)])),o1=I(em,function(e){var t=I(n_,function(e){return e.s},I(oX,function(e){return I(iB,e.gB,U([0,1,2]))},e));return t.$?nv("No valid service ID found in service array"):I(ew,iq,iH(t.a))},I(ev,"service",o0)),o2=nb(U([o1,I(em,iV,I(ev,"id",eh))])),o4=nb(U([i1,i4])),o3=nb(U([nl(ef),I(ew,iW,ef)])),o6=nb(U([nl(oJ),I(ew,iW,oJ)])),o5=function(e){return R(nT,"service",o3,B,R(nT,"service",o6,B,I(nH,e,R(nT,"label",nA(o4),am,I(nq,o2,a2(nV))))))},o8=I(nN,U(["body","items"]),nl(o5(1))),o7=I(ew,iW,I(ev,"body",o5(0))),o9=I(em,function(e){return"Choice"===e?o8:o7},I(nN,U(["body","type"]),eh)),ue=I(nN,U(["items"]),I(eg,0,o9)),ut=nb(U([o1,I(em,ot,I(ev,"id",eh))])),ua=R(nT,"service",o3,B,R(nT,"service",o6,B,I(nH,0,R(nT,"label",nA(o4),am,I(nq,ut,a2(nV)))))),ur=R(nT,"behavior",nA(oK),am,R(nT,"thumbnail",nP(ua),am,C(nk,"items",I(eg,0,ue),C(nk,"height",nA(el),C(nk,"width",nA(el),R(nT,"label",nA(i1),am,C(nk,"id",eh,a2(nL)))))))),un=U([I(iY,i2,U(["Homepage"]))]),ui=function(e){switch(e){case"Canvas":return I(ew,oc,I(ev,"id",eh));case"Range":return I(ew,ol,uo());default:return nv("Unsupported range item type")}};function uo(){return R(nT,"metadata",nl(o_),B,R(nT,"items",nl(uu()),B,R(nT,"label",i1,un,C(nk,"id",eh,a2(os)))))}function uu(){return I(em,ui,I(ev,"type",eh))}var us=uo();uo=function(){return us};var uc=uu();uu=function(){return uc};var ul=function(e){return!e.b},ub=R(nT,"type",ok,oL("Text"),R(nT,"format",oS,o$("text/html"),R(nT,"label",i1,un,C(nk,"id",eh,a2(oR))))),ud=I(nH,am,R(nT,"thumbnail",nP(ua),am,I(nH,am,I(nH,am,R(nT,"homepage",nA(nl(ub)),am,I(nH,am,I(nH,B,I(nH,oZ(U([5])),R(nT,"summary",nA(i1),am,I(nH,0,I(nH,B,C(nk,"label",o4,C(nk,"id",eh,a2(oC)))))))))))))),uf=function(e){switch(e){case"Collection":return I(ew,oI,od(function(e){return uh()}));case"Manifest":return I(ew,oE,ud);default:return nv("Unknown collection item type: "+e)}};function uh(){return I(nq,uv(),R(nT,"summary",nA(i1),am,C(nk,"label",o4,C(nk,"id",eh,a2(oy)))))}function uv(){return R(ey,m(function(e,t,a){return ul(e)?H(t,a):H(e,H(t,a))}),nb(U([I(ev,"items",nl(ug())),a2(B)])),nb(U([I(ev,"collections",nl(I(ew,oI,od(function(e){return uh()})))),a2(B)])),nb(U([I(ev,"manifests",nl(I(ew,oE,ud))),a2(B)])))}function ug(){return I(em,uf,I(ev,"type",eh))}var up=uh();uh=function(){return up};var um=uv();uv=function(){return um};var uw=ug();ug=function(){return uw};var ux=y(function(e,t,a,r,n,i){return{fZ:r,s:e,dN:t,f4:n,gy:i,gP:a}}),uy=E(function(e,t,a,r,n,i,o){return{dI:a,dd:i,s:e,dN:t,fl:o,gP:r,dz:n}}),uE=U([I(iY,i2,U(["Logo"]))]),uI=R(nT,"service",nA(o0),am,R(nT,"height",el,0,R(nT,"width",el,0,R(nT,"type",ok,oL("Image"),R(nT,"format",oS,o$("image/png"),R(nT,"label",i1,uE,C(nk,"id",eh,a2(uy)))))))),uC=R(nT,"seeAlso",nA(nl(C(nk,"type_",ok,C(nk,"format",oS,C(nk,"label",o4,C(nk,"id",eh,a2(w(function(e,t,a,r){return{dI:a,s:e,dN:t,gP:r}})))))))),am,R(nT,"logo",nA(nl(uI)),am,R(nT,"homepage",nA(nl(ub)),am,C(nk,"type",ok,C(nk,"label",i1,C(nk,"id",eh,a2(ux))))))),uR=R(nT,"requiredStatement",nA(o_),am,R(nT,"thumbnail",nP(ua),am,R(nT,"provider",nA(nl(uC)),am,R(nT,"logo",nA(o5(0)),am,R(nT,"homepage",nA(nl(ub)),am,R(nT,"structures",nA(nl(us)),am,C(nk,"items",nl(ur),R(nT,"behavior",oK,oZ(U([5])),R(nT,"summary",nA(i1),am,R(nT,"viewingDirection",oG,0,R(nT,"metadata",nl(o_),B,C(nk,"label",o4,C(nk,"id",eh,a2(oC)))))))))))))),u$=I(em,function(e){switch(e){case"Canvas":return I(ew,I(n$,nE,nm(2)),ur);case"Collection":return I(ew,I(n$,nI,nw(2)),up);case"Manifest":return I(ew,I(n$,nC,nx(2)),uR);case"Range":return I(ew,I(n$,nR,ny(2)),us);default:return nv("Unknown IIIF v3 resource type: "+e)}},I(ev,"type",eh)),uL=nb(U([I(em,function(e){return I(nh,np,e)?u$:I(nh,ng,e)?oW:nv("Unknown resource context value: "+e)},I(ev,"@context",eh)),I(em,function(e){return I(nd,nh(np),e)?u$:I(nd,nh(ng),e)?oW:nv("Context values contain an unknown IIIF version: "+I(aw,", ",e))},I(ev,"@context",nl(eh)))])),uA=m(function(e,t,a){return C(nc,t,I(r4,e,uL),a)}),uS={aL:!1,bj:10,bk:15,aM:0,bl:!1,aN:0,ax:!1,aO:8,aP:0,bm:!1,aQ:0,bn:!1,aR:0,bo:!1,aS:0,ay:!1,aT:8,aU:0,bp:!1,aV:0,bq:!1,aW:0,br:!1,aX:0,az:!1,aY:8,aZ:0,bs:!1,a_:0,bt:!1,bu:0,cd:!1,bv:0,ce:!1,bw:0,cf:!1,bx:0,cg:!1,by:1,N:!1,ci:!1,bz:"#ffffff",bA:"#ffffff",bB:24,bC:128,a1:!1,bD:"gray",bE:1,cj:!1,ck:!1,bF:"sharpen",co:!1,bK:1,cp:!1,a4:!1,cs:!1,bL:0,cu:!1,cA:!1,a8:!1,bP:3,bQ:"erode",cF:!1,bR:1,bS:0,bT:"pca-rgb",bU:1,ad:!1,bV:1,bW:"rg",bX:1,bd:0,bZ:0,cN:!1,b4:128,cU:!1,b5:1,c_:!1,b7:0,c0:!1},uT=function(e){switch(e){case"contents":return 3;case"metadata":return 2;default:return 1}},uk=function(e){return{$:0,a:e}},uM=function(e){return{$:1,a:e}},uP=function(e){return{$:3,a:e}},uN=function(e){return{$:4,a:e}},uz=function(e){return{$:5,a:e}},uO=function(e){return{$:1,a:e}},uV=p(function(e,t){return{$:2,a:e,b:t}}),uq={$:14},uH=p(function(e,t){return{$:3,a:e,b:t}}),uB=m(function(e,t,a){return{$:2,a:e,b:t,c:a}}),uD=p(function(e,t){return{$:0,a:e,b:t}}),u_=m(function(e,t,a){return{$:4,a:e,b:t,c:a}}),uU=p(function(e,t){return{$:9,a:e,b:t}}),uF=m(function(e,t,a){return{$:8,a:e,b:t,c:a}}),uG=function(e){return{$:12,a:e}},uj=function(e){return{$:28,a:e}},uW=function(e){return{$:29,a:e}},uZ={$:30},uK={$:31},uX=function(e){return{$:55,a:e}},uY=function(e){return{$:5,c:e}},uJ=e3("authDestroyed",uY(0)),uQ=e3("authHttpFailed",I(em,function(e){return I(em,function(t){return a2({s:t,ac:e})},I(ev,"id",eh))},I(ev,"message",eh))),u0=e3("authHttpResponded",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({ef:a,s:t,du:e})},I(ev,"body",eh))},I(ev,"id",eh))},I(ev,"status",el))),u1=e3("authLogoutChanged",I(em,function(e){return I(em,function(t){return a2({fm:t,du:e})},I(ev,"sessionId",eh))},I(ev,"status",eh))),u2=e3("authPopupChanged",I(em,function(e){return I(em,function(t){return a2({da:t,du:e})},I(ev,"flowId",eh))},I(ev,"status",eh))),u4=e3("authStorageResponded",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({da:a,dh:t,dx:e})},I(ev,"flowId",eh))},I(ev,"now",ed))},I(ev,"value",nb(U([uY(am),I(ew,ap,ef)]))))),u3=e3("authTokenFailed",I(em,function(e){return I(em,function(t){return a2({da:t,ac:e})},I(ev,"flowId",eh))},I(ev,"message",eh))),u6=e3("authTokenMessage",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({da:a,dh:t,dx:e})},I(ev,"flowId",eh))},I(ev,"now",ed))},I(ev,"value",ef))),u5=e3("fullscreenChanged",eb),u8=e3("layoutModeRequested",eh),u7={$:12},u9=function(e){return uk(function(){switch(e.du){case"closed":return u7;case"opened":return{$:10,a:e.fm};default:return{$:11,a:e.fm}}}())},se=eX(B),st=m(function(e,t,a){return{$:0,a:e,b:t,c:a}}),sa=p(function(e,t){return{e_:t,ft:e}}),sr=eM(I(sa,B,rC)),sn=function(e){return{a:H(e.a?"w_":"d_",e.b),b:e}},si=function(e){return C(aE,p(function(e,t){return C(rB,e.a,e.b,t)}),rC,e)},so=m(function(e,t,a){for(;;)if(-2===a.$)return t;else{var r=a.b,n=a.c,i=a.d,o=a.e,u=e,s=C(e,r,n,C(so,e,t,i));e=u,t=s,a=o;continue}}),su=y(function(e,t,a,r,n,i){var o=m(function(r,n,i){for(;;){var o=i.a,u=i.b;if(o.b){var s=o.a,c=s.a,l=s.b,b=o.b;if(0>O(c,r)){var d=r,f=n,h={a:b,b:C(e,c,l,u)};r=d,n=f,i=h;continue}if(O(c,r)>0)return{a:o,b:C(a,r,n,u)};return{a:b,b:R(t,c,l,n,u)}}return{a:o,b:C(a,r,n,u)}}}),u=C(so,o,{a:ai(r),b:i},n),s=u.a,c=u.b;return C(aE,p(function(t,a){return C(e,t.a,t.b,a)}),c,s)}),ss=p(function(e,t){return{ev:t,aj:e}}),sc=m(function(e,t,a){return I(rb,function(e){return{a:t,b:e}},C(tQ,a.a?tJ:tY,a.b,function(a){return I(rz,e,I(ss,t,a))}))}),sl=p(function(e,t){return C(so,rB,t,e)}),sb=m(function(e,t,a){var r=m(function(t,a,r){var n=r.a,i=r.b,o=r.c;return{a:n,b:i,c:I(_,C(sc,e,t,a),o)}}),n=m(function(e,t,a){var r,n=a.a,i=a.b,o=a.c;return r=I(_,t,n),{a:r,b:i,c:o}}),i=w(function(e,t,a,r){var n=r.a,i=r.b,o=r.c;return{a:n,b:C(rB,e,t,i),c:o}}),o=I(rl,sn,t),u=L(su,n,i,r,a.e_,si(o),{a:B,b:rC,c:B}),s=u.a,c=u.b,l=u.c;return I(eN,function(e){return eM(I(sa,o,I(sl,c,si(e))))},I(eN,function(e){return rf(l)},rf(I(rl,r9,s))))}),sd=m(function(e,t,a){var r=t.aj,n=t.ev,i=I(nr,function(e){var t=e.a,a=e.b;a.a,a.b;var i=a.c;return M(t,r)?I(t0,i,n):am},a.ft);return I(eN,function(e){return eM(a)},rf(I(rl,eW(e),i)))}),sf=p(function(e,t){return C(st,t.a,t.b,I(ew,e,t.c))});eG["Browser.Events"]=ej(sr,sb,sd,0,sf);var sh=eK("Browser.Events"),sv=m(function(e,t,a){return sh(C(st,e,t,a))}),sg=I(sv,0,"mousemove"),sp=I(sv,0,"mouseup"),sm=e3("pageIndexChanged",el),sw=e3("pageIndexChangedInstant",el),sx=function(e){return uk(function(){switch(e.du){case"closed":return{$:7,a:e.da};case"opened":return{$:5,a:e.da};default:return{$:6,a:e.da}}}())},sy=e3("resolveTileSourceCancelled",eh),sE=e3("resolveTileSourceRequested",I(em,function(e){return I(em,function(t){return a2({fd:t,b3:e})},I(ev,"requestId",eh))},I(ev,"sourceId",eh))),sI=e3("resourceRequested",I(em,function(e){return I(em,function(t){return a2({fd:t,aK:e})},I(ev,"requestId",eh))},I(ev,"url",eh))),sC=e3("viewerLoadingChanged",eb),sR=e3("zoomChanged",ed),s$={$:0},sL=function(e){return{$:2,a:e}},sA=function(e){return{$:1,a:e}},sS=p(function(e,t){return{$:7,a:e,b:t}}),sT=p(function(e,t){return{$:8,a:e,b:t}}),sk=m(function(e,t,a){return{$:10,a:e,b:t,c:a}}),sM=m(function(e,t,a){switch(e){case 0:return q(a,{aL:t});case 1:return q(a,{bl:t});case 2:return q(a,{ax:t});case 3:return q(a,{bm:t});case 4:return q(a,{bn:t});case 5:return q(a,{bo:t});case 6:return q(a,{ay:t});case 7:return q(a,{bp:t});case 8:return q(a,{bq:t});case 9:return q(a,{br:t});case 10:return q(a,{az:t});case 11:return q(a,{bs:t});case 12:return q(a,{bt:t});case 13:return q(a,{cd:t});case 14:return q(a,{ce:t});case 15:return q(a,{cf:t});case 16:return q(a,{cg:t});case 17:return q(a,{a1:t});case 18:return q(a,{N:t});case 19:return q(a,{ci:t});case 20:return q(a,{cj:t});case 21:return q(a,{ck:t});case 22:return q(a,{co:t});case 23:return q(a,{cp:t});case 24:return q(a,{a4:t});case 25:return q(a,{cs:t});case 26:return q(a,{cu:t});case 27:return q(a,{cA:t});case 28:return q(a,{a8:t});case 29:return q(a,{cF:t});case 30:return q(a,{ad:t});case 31:return q(a,{cN:t});case 32:return q(a,{cU:t});case 33:return q(a,{c_:t});default:return q(a,{c0:t})}}),sP=function(e){switch(e){case 0:return{b:function(e){return e.by},f:1,g:0,c:p(function(e,t){return q(t,{by:e})})};case 1:return{b:function(e){return e.bE},f:4,g:0,c:p(function(e,t){return q(t,{bE:e})})};case 2:return{b:function(e){return e.bK},f:4,g:.1,c:p(function(e,t){return q(t,{bK:e})})};case 3:return{b:function(e){return e.bR},f:2,g:0,c:p(function(e,t){return q(t,{bR:e})})};case 4:return{b:function(e){return e.bU},f:2,g:0,c:p(function(e,t){return q(t,{bU:e})})};case 5:return{b:function(e){return e.bV},f:2,g:0,c:p(function(e,t){return q(t,{bV:e})})};case 6:return{b:function(e){return e.bX},f:2,g:0,c:p(function(e,t){return q(t,{bX:e})})};default:return{b:function(e){return e.b5},f:3,g:0,c:p(function(e,t){return q(t,{b5:e})})}}},sN=m(function(e,t,a){var r=n0(t),n=sP(e),i=I(nU,n.b(a),I(n_,I(rE,n.g,n.f),r));return I(n.c,i,a)}),sz=function(e){return I(W,2,e)?e:e+1},sO=function(e){return 3===e||5===e||7===e?e:3},sV=function(e){switch(e){case 0:return{b:function(e){return e.bj},f:50,g:-50,c:p(function(e,t){return q(t,{bj:e})}),i:am};case 1:return{b:function(e){return e.bk},f:51,g:3,c:p(function(e,t){return q(t,{bk:e})}),i:ap(sz)};case 2:return{b:function(e){return e.aW},f:100,g:0,c:p(function(e,t){return q(t,{aW:e})}),i:am};case 3:return{b:function(e){return e.aZ},f:100,g:0,c:p(function(e,t){return q(t,{aZ:e})}),i:am};case 4:return{b:function(e){return e.a_},f:100,g:0,c:p(function(e,t){return q(t,{a_:e})}),i:am};case 5:return{b:function(e){return e.aX},f:100,g:-100,c:p(function(e,t){return q(t,{aX:e})}),i:am};case 6:return{b:function(e){return e.aY},f:30,g:2,c:p(function(e,t){return q(t,{aY:e})}),i:am};case 7:return{b:function(e){return e.aR},f:100,g:0,c:p(function(e,t){return q(t,{aR:e})}),i:am};case 8:return{b:function(e){return e.aU},f:100,g:0,c:p(function(e,t){return q(t,{aU:e})}),i:am};case 9:return{b:function(e){return e.aS},f:100,g:-100,c:p(function(e,t){return q(t,{aS:e})}),i:am};case 10:return{b:function(e){return e.aT},f:30,g:2,c:p(function(e,t){return q(t,{aT:e})}),i:am};case 11:return{b:function(e){return e.aV},f:100,g:0,c:p(function(e,t){return q(t,{aV:e})}),i:am};case 12:return{b:function(e){return e.aM},f:100,g:0,c:p(function(e,t){return q(t,{aM:e})}),i:am};case 13:return{b:function(e){return e.aP},f:100,g:0,c:p(function(e,t){return q(t,{aP:e})}),i:am};case 14:return{b:function(e){return e.aN},f:100,g:-100,c:p(function(e,t){return q(t,{aN:e})}),i:am};case 15:return{b:function(e){return e.aO},f:30,g:2,c:p(function(e,t){return q(t,{aO:e})}),i:am};case 16:return{b:function(e){return e.aQ},f:100,g:0,c:p(function(e,t){return q(t,{aQ:e})}),i:am};case 17:return{b:function(e){return e.bu},f:255,g:-255,c:p(function(e,t){return q(t,{bu:e})}),i:am};case 18:return{b:function(e){return e.bv},f:100,g:-100,c:p(function(e,t){return q(t,{bv:e})}),i:am};case 19:return{b:function(e){return e.bw},f:100,g:-100,c:p(function(e,t){return q(t,{bw:e})}),i:am};case 20:return{b:function(e){return e.bx},f:100,g:-100,c:p(function(e,t){return q(t,{bx:e})}),i:am};case 21:return{b:function(e){return e.bC},f:255,g:0,c:p(function(e,t){return q(t,{bC:e})}),i:am};case 22:return{b:function(e){return e.bB},f:255,g:0,c:p(function(e,t){return q(t,{bB:e})}),i:am};case 23:return{b:function(e){return e.bS},f:180,g:-180,c:p(function(e,t){return q(t,{bS:e})}),i:am};case 24:return{b:function(e){return e.bL},f:100,g:-100,c:p(function(e,t){return q(t,{bL:e})}),i:am};case 25:return{b:function(e){return e.bP},f:7,g:3,c:p(function(e,t){return q(t,{bP:e})}),i:ap(sO)};case 26:return{b:function(e){return e.bd},f:180,g:-180,c:p(function(e,t){return q(t,{bd:e})}),i:am};case 27:return{b:function(e){return e.bZ},f:100,g:-100,c:p(function(e,t){return q(t,{bZ:e})}),i:am};case 28:return{b:function(e){return e.b4},f:255,g:0,c:p(function(e,t){return q(t,{b4:e})}),i:am};default:return{b:function(e){return e.b7},f:100,g:-100,c:p(function(e,t){return q(t,{b7:e})}),i:am}}},sq=m(function(e,t,a){var r=rt(t),n=sV(e),i=function(){if(r.$)return n.b(a);var e=r.a,t=C(rE,n.g,n.f,e),i=n.i;return i.$?t:(0,i.a)(t)}();return I(n.c,i,a)}),sH=p(function(e,t){return e}),sB=function(e){switch(e){case 0:return{b:function(e){return e.bD},c:p(function(e,t){return q(t,{bD:e})}),i:function(e){return I(iB,e,U(["gray","hot","cool"]))}};case 1:return{b:function(e){return e.bz},c:p(function(e,t){return q(t,{bz:e})}),i:sH(!0)};case 2:return{b:function(e){return e.bA},c:p(function(e,t){return q(t,{bA:e})}),i:sH(!0)};case 3:return{b:function(e){return e.bF},c:p(function(e,t){return q(t,{bF:e})}),i:function(e){return I(iB,e,U(["sharpen","blur","edge","emboss"]))}};case 4:return{b:function(e){return e.bT},c:p(function(e,t){return q(t,{bT:e})}),i:function(e){return I(iB,e,U(["pca-rgb","pca1","pca2","pca3"]))}};case 5:return{b:function(e){return e.bQ},c:p(function(e,t){return q(t,{bQ:e})}),i:function(e){return"erode"===e||"dilate"===e}};default:return{b:function(e){return e.bW},c:p(function(e,t){return q(t,{bW:e})}),i:function(e){return I(iB,e,U(["rg","gb","rb","luma","cmy","heat"]))}}}},sD=m(function(e,t,a){var r=sB(e),n=r.i(t)?t:r.b(a);return I(r.c,n,a)}),s_=m(function(e,t,a){return a.$?e:t(a.a)}),sU=function(e){return C(aE,p(function(e,t){return C(ek,e.a,e.b,t)}),{},e)},sF=e1("filterPreviewUpdated",function(e){return C(s_,null,function(e){var t;return sU(U([{a:"aspect",b:eT(e.c5)},{a:"filters",b:sU(U([{a:"adaptiveEnabled",b:eT((t=e.ez).aL)},{a:"adaptiveOffset",b:eT(t.bj)},{a:"adaptiveWindow",b:eT(t.bk)},{a:"altBlueGamma",b:eT(t.aM)},{a:"altBlueGammaEnabled",b:eT(t.bl)},{a:"altBlueHue",b:eT(t.aN)},{a:"altBlueHueEnabled",b:eT(t.ax)},{a:"altBlueHueWindow",b:eT(t.aO)},{a:"altBlueSigmoid",b:eT(t.aP)},{a:"altBlueSigmoidEnabled",b:eT(t.bm)},{a:"altBlueVibrance",b:eT(t.aQ)},{a:"altBlueVibranceEnabled",b:eT(t.bn)},{a:"altGreenGamma",b:eT(t.aR)},{a:"altGreenGammaEnabled",b:eT(t.bo)},{a:"altGreenHue",b:eT(t.aS)},{a:"altGreenHueEnabled",b:eT(t.ay)},{a:"altGreenHueWindow",b:eT(t.aT)},{a:"altGreenSigmoid",b:eT(t.aU)},{a:"altGreenSigmoidEnabled",b:eT(t.bp)},{a:"altGreenVibrance",b:eT(t.aV)},{a:"altGreenVibranceEnabled",b:eT(t.bq)},{a:"altRedGamma",b:eT(t.aW)},{a:"altRedGammaEnabled",b:eT(t.br)},{a:"altRedHue",b:eT(t.aX)},{a:"altRedHueEnabled",b:eT(t.az)},{a:"altRedHueWindow",b:eT(t.aY)},{a:"altRedSigmoid",b:eT(t.aZ)},{a:"altRedSigmoidEnabled",b:eT(t.bs)},{a:"altRedVibrance",b:eT(t.a_)},{a:"altRedVibranceEnabled",b:eT(t.bt)},{a:"brightness",b:eT(t.bu)},{a:"brightnessEnabled",b:eT(t.cd)},{a:"ccBlue",b:eT(t.bv)},{a:"ccBlueEnabled",b:eT(t.ce)},{a:"ccGreen",b:eT(t.bw)},{a:"ccGreenEnabled",b:eT(t.cf)},{a:"ccRed",b:eT(t.bx)},{a:"ccRedEnabled",b:eT(t.cg)},{a:"colourReplaceBlend",b:eT(t.by)},{a:"colourReplaceEnabled",b:eT(t.N)},{a:"colourReplacePreserveLum",b:eT(t.ci)},{a:"colourReplaceSource",b:eT(t.bz)},{a:"colourReplaceTarget",b:eT(t.bA)},{a:"colourReplaceTolerance",b:eT(t.bB)},{a:"colourmapCenter",b:eT(t.bC)},{a:"colourmapEnabled",b:eT(t.a1)},{a:"colourmapPreset",b:eT(t.bD)},{a:"contrast",b:eT(t.bE)},{a:"contrastEnabled",b:eT(t.cj)},{a:"convolutionEnabled",b:eT(t.ck)},{a:"convolutionPreset",b:eT(t.bF)},{a:"flip",b:eT(t.co)},{a:"gamma",b:eT(t.bK)},{a:"gammaEnabled",b:eT(t.cp)},{a:"globalPcaEnabled",b:eT(t.a4)},{a:"grayscale",b:eT(t.cs)},{a:"hue",b:eT(t.bL)},{a:"hueEnabled",b:eT(t.cu)},{a:"invert",b:eT(t.cA)},{a:"morphEnabled",b:eT(t.a8)},{a:"morphKernel",b:eT(t.bP)},{a:"morphOperation",b:eT(t.bQ)},{a:"normalizeEnabled",b:eT(t.cF)},{a:"normalizeStrength",b:eT(t.bR)},{a:"pcaHue",b:eT(t.bS)},{a:"pcaMode",b:eT(t.bT)},{a:"pseudoColourBlue",b:eT(t.bU)},{a:"pseudoColourEnabled",b:eT(t.ad)},{a:"pseudoColourGreen",b:eT(t.bV)},{a:"pseudoColourMode",b:eT(t.bW)},{a:"pseudoColourRed",b:eT(t.bX)},{a:"rotation",b:eT(t.bd)},{a:"saturation",b:eT(t.bZ)},{a:"saturationEnabled",b:eT(t.cN)},{a:"threshold",b:eT(t.b4)},{a:"thresholdEnabled",b:eT(t.cU)},{a:"unsharpAmount",b:eT(t.b5)},{a:"unsharpEnabled",b:eT(t.c_)},{a:"vibrance",b:eT(t.b7)},{a:"vibranceEnabled",b:eT(t.c0)}]))},{a:"isStatic",b:eT(e.aD)},{a:"sourceId",b:eT(e.b3)},{a:"tileSource",b:eT(e.cV)}]))},e)}),sG=p(function(e,t){return C(aE,p(function(t,a){return a.push(e(t)),a}),[],t)}),sj=e1("pageAspectsUpdated",sG(eT)),sW=e1("pageLabelsUpdated",sG(eT)),sZ=e1("pagesUpdated",sG(function(e){var t;return sU(U([{a:"canvasId",b:eT(e.c7)},{a:"height",b:C(s_,null,eT,e.dd)},{a:"images",b:sG(function(e){return sU(U([{a:"id",b:eT(e.s)},{a:"isPrimary",b:eT(e.bN)},{a:"label",b:eT(e.dN)}]))})(e.cy)},{a:"index",b:eT(e.eK)},{a:"label",b:eT(e.dN)},{a:"primaryImage",b:sU(U([{a:"id",b:eT((t=e.e3).s)},{a:"isPrimary",b:eT(t.bN)},{a:"label",b:eT(t.dN)}]))},{a:"width",b:C(s_,null,eT,e.dz)}]))})),sK=e1("tileSourcesUpdated",function(e){return sU(U([{a:"initialPageIndex",b:eT(e.dL)},{a:"resourceId",b:eT(e.dZ)},{a:"tileSources",b:sG(function(e){return sU(U([{a:"isStatic",b:eT(e.aD)},{a:"sourceId",b:eT(e.b3)},{a:"url",b:eT(e.aK)}]))})(e.d6)}]))}),sX=function(e){return eX(U([sK({dL:0,dZ:e,d6:B}),sZ(B),sj(B),sW(B),sF(am)]))},sY=e1("copyToClipboard",eT),sJ=m(function(e,t,a){return e.$?a:I(t,e.a,a)}),sQ=function(e){return e.$?am:ap(e.a)},s0=m(function(e,t,a){return I(nD,function(t){return sQ(I(eI,e,t))},I(rO,t,a))}),s1=p(function(e,t){return C(s0,eb,e,t)}),s2=p(function(e,t){return C(s0,nb(U([ed,I(ew,aU,el)])),e,t)}),s4=p(function(e,t){return C(s0,el,e,t)}),s3=p(function(e,t){return C(s0,eh,e,t)}),s6=function(e){var t=I(s4,"vibrance",e),a=I(s2,"unsharpAmount",e),r=I(s4,"threshold",e),n=I(s4,"saturation",e),i=I(s4,"rotation",e),o=I(s2,"pseudoColourRed",e),u=I(s3,"pseudoColourMode",e),s=I(s2,"pseudoColourGreen",e),c=I(s2,"pseudoColourBlue",e),l=I(s3,"pcaMode",e),b=I(s4,"pcaHue",e),d=I(s2,"normalizeStrength",e),f=I(s3,"morphOperation",e),h=I(s4,"morphKernel",e),v=I(s1,"invert",e),g=I(s4,"hue",e),m=I(s1,"grayscale",e),w=I(s2,"gamma",e),x=I(s1,"flip",e),y=I(s3,"convolutionPreset",e),E=I(s2,"contrast",e),R=I(s3,"colourmapPreset",e),$=I(s4,"colourmapCenter",e),L=I(s4,"colourReplaceTolerance",e),A=I(s3,"colourReplaceTarget",e),S=I(s3,"colourReplaceSource",e),T=I(s1,"colourReplacePreserveLum",e),k=I(s2,"colourReplaceBlend",e),M=I(s4,"ccRed",e),P=I(s4,"ccGreen",e),N=I(s4,"ccBlue",e),z=I(s4,"brightness",e),O=I(s4,"altRedVibrance",e),V=I(s4,"altRedSigmoid",e),H=I(s4,"altRedHueWindow",e),B=I(s4,"altRedHue",e),D=I(s4,"altRedGamma",e),_=I(s4,"altGreenVibrance",e),U=I(s4,"altGreenSigmoid",e),F=I(s4,"altGreenHueWindow",e),G=I(s4,"altGreenHue",e),j=I(s4,"altGreenGamma",e),W=I(s4,"altBlueVibrance",e),Z=I(s4,"altBlueSigmoid",e),K=I(s4,"altBlueHueWindow",e),X=I(s4,"altBlueHue",e),Y=I(s4,"altBlueGamma",e),J=I(s4,"adaptiveWindow",e),Q=I(s4,"adaptiveOffset",e);return C(sJ,W,p(function(e,t){return q(t,{aQ:e,bn:!0})}),C(sJ,K,p(function(e,t){return q(t,{ax:!0,aO:e})}),C(sJ,X,p(function(e,t){return q(t,{aN:e,ax:!0})}),C(sJ,Z,p(function(e,t){return q(t,{aP:e,bm:!0})}),C(sJ,Y,p(function(e,t){return q(t,{aM:e,bl:!0})}),C(sJ,_,p(function(e,t){return q(t,{aV:e,bq:!0})}),C(sJ,F,p(function(e,t){return q(t,{ay:!0,aT:e})}),C(sJ,G,p(function(e,t){return q(t,{aS:e,ay:!0})}),C(sJ,U,p(function(e,t){return q(t,{aU:e,bp:!0})}),C(sJ,j,p(function(e,t){return q(t,{aR:e,bo:!0})}),C(sJ,O,p(function(e,t){return q(t,{a_:e,bt:!0})}),C(sJ,H,p(function(e,t){return q(t,{az:!0,aY:e})}),C(sJ,B,p(function(e,t){return q(t,{aX:e,az:!0})}),C(sJ,V,p(function(e,t){return q(t,{aZ:e,bs:!0})}),C(sJ,D,p(function(e,t){return q(t,{aW:e,br:!0})}),C(sJ,Q,p(function(e,t){return q(t,{aL:!0,bj:e})}),C(sJ,J,p(function(e,t){return q(t,{aL:!0,bk:e})}),C(sJ,d,p(function(e,t){return q(t,{cF:!0,bR:e})}),C(sJ,a,p(function(e,t){return q(t,{b5:e,c_:!0})}),C(sJ,T,p(function(e,t){return q(t,{N:!0,ci:e})}),C(sJ,k,p(function(e,t){return q(t,{by:e,N:!0})}),C(sJ,L,p(function(e,t){return q(t,{N:!0,bB:e})}),C(sJ,A,p(function(e,t){return q(t,{N:!0,bA:e})}),C(sJ,S,p(function(e,t){return q(t,{N:!0,bz:e})}),C(sJ,b,p(function(e,t){return q(t,{a4:!0,bS:e})}),C(sJ,l,p(function(e,t){return q(t,{a4:!0,bT:e})}),C(sJ,c,p(function(e,t){return q(t,{bU:e,ad:!0})}),C(sJ,s,p(function(e,t){return q(t,{ad:!0,bV:e})}),C(sJ,o,p(function(e,t){return q(t,{ad:!0,bX:e})}),C(sJ,u,p(function(e,t){return q(t,{ad:!0,bW:e})}),C(sJ,$,p(function(e,t){return q(t,{bC:e,a1:!0})}),C(sJ,R,p(function(e,t){return q(t,{a1:!0,bD:e})}),C(sJ,y,p(function(e,t){return q(t,{ck:!0,bF:e})}),C(sJ,h,p(function(e,t){return q(t,{a8:!0,bP:e})}),C(sJ,f,p(function(e,t){return q(t,{a8:!0,bQ:e})}),C(sJ,N,p(function(e,t){return q(t,{bv:e,ce:!0})}),C(sJ,P,p(function(e,t){return q(t,{bw:e,cf:!0})}),C(sJ,M,p(function(e,t){return q(t,{bx:e,cg:!0})}),C(sJ,g,p(function(e,t){return q(t,{bL:e,cu:!0})}),C(sJ,t,p(function(e,t){return q(t,{b7:e,c0:!0})}),C(sJ,n,p(function(e,t){return q(t,{bZ:e,cN:!0})}),C(sJ,w,p(function(e,t){return q(t,{bK:e,cp:!0})}),C(sJ,E,p(function(e,t){return q(t,{bE:e,cj:!0})}),C(sJ,z,p(function(e,t){return q(t,{bu:e,cd:!0})}),C(sJ,r,p(function(e,t){return q(t,{b4:e,cU:!0})}),C(sJ,v,p(function(e,t){return q(t,{cA:e})}),C(sJ,m,p(function(e,t){return q(t,{cs:e})}),C(sJ,x,p(function(e,t){return q(t,{co:e})}),C(sJ,i,p(function(e,t){return q(t,{bd:e})}),uS)))))))))))))))))))))))))))))))))))))))))))))))))},s5=function(e){var t=I(eE,I(ew,si,iX(ef)),e);return t.$?ab(aq(t.a)):av(s6(t.a))},s8=w(function(e,t,a,r){return e?I(_,{a:t,b:a},r):r}),s7=function(e){return I(eS,2,sU(R(s8,e.bn,"altBlueVibrance",eT(e.aQ),R(s8,e.ax,"altBlueHueWindow",eT(e.aO),R(s8,e.ax,"altBlueHue",eT(e.aN),R(s8,e.bm,"altBlueSigmoid",eT(e.aP),R(s8,e.bl,"altBlueGamma",eT(e.aM),R(s8,e.bq,"altGreenVibrance",eT(e.aV),R(s8,e.ay,"altGreenHueWindow",eT(e.aT),R(s8,e.ay,"altGreenHue",eT(e.aS),R(s8,e.bp,"altGreenSigmoid",eT(e.aU),R(s8,e.bo,"altGreenGamma",eT(e.aR),R(s8,e.bt,"altRedVibrance",eT(e.a_),R(s8,e.az,"altRedHueWindow",eT(e.aY),R(s8,e.az,"altRedHue",eT(e.aX),R(s8,e.bs,"altRedSigmoid",eT(e.aZ),R(s8,e.br,"altRedGamma",eT(e.aW),R(s8,e.aL,"adaptiveOffset",eT(e.bj),R(s8,e.aL,"adaptiveWindow",eT(e.bk),R(s8,e.cF,"normalizeStrength",eT(e.bR),R(s8,e.c_,"unsharpAmount",eT(e.b5),R(s8,e.N,"colourReplacePreserveLum",eT(e.ci),R(s8,e.N,"colourReplaceBlend",eT(e.by),R(s8,e.N,"colourReplaceTolerance",eT(e.bB),R(s8,e.N,"colourReplaceTarget",eT(e.bA),R(s8,e.N,"colourReplaceSource",eT(e.bz),R(s8,e.a4,"pcaHue",eT(e.bS),R(s8,e.a4,"pcaMode",eT(e.bT),R(s8,e.ad,"pseudoColourBlue",eT(e.bU),R(s8,e.ad,"pseudoColourGreen",eT(e.bV),R(s8,e.ad,"pseudoColourRed",eT(e.bX),R(s8,e.ad,"pseudoColourMode",eT(e.bW),R(s8,e.a1,"colourmapCenter",eT(e.bC),R(s8,e.a1,"colourmapPreset",eT(e.bD),R(s8,e.ck,"convolutionPreset",eT(e.bF),R(s8,e.a8,"morphKernel",eT(e.bP),R(s8,e.a8,"morphOperation",eT(e.bQ),R(s8,e.ce,"ccBlue",eT(e.bv),R(s8,e.cf,"ccGreen",eT(e.bw),R(s8,e.cg,"ccRed",eT(e.bx),R(s8,e.cu,"hue",eT(e.bL),R(s8,e.c0,"vibrance",eT(e.b7),R(s8,e.cN,"saturation",eT(e.bZ),R(s8,e.cp,"gamma",eT(e.bK),R(s8,e.cj,"contrast",eT(e.bE),R(s8,e.cd,"brightness",eT(e.bu),R(s8,e.cU,"threshold",eT(e.b4),R(s8,e.cA,"invert",eT(!0),R(s8,e.cs,"grayscale",eT(!0),R(s8,e.co,"flip",eT(!0),R(s8,!!e.bd,"rotation",eT(e.bd),B)))))))))))))))))))))))))))))))))))))))))))))))))))},s9=p(function(e,t){var a=p(function(t,a){for(;;)if(M(t.t.s,e))return ap(t.t);else{var r=t.Q;if(r.b){var n=r.a,i=r.b;if(n.$){var o=q(t,{Q:i}),u=a;t=o,a=u;continue}var s=n.a,o={t:s,Q:s.aE},u=I(_,{t:t.t,Q:i},a);t=o,a=u;continue}if(!a.b)return am;var c=a.a,i=a.b,o=c,u=i;t=o,a=u;continue}});return I(a,{t:t,Q:t.aE},B)}),ce=p(function(e,t){var a=I(ct,e,t.aE),r=a.a,n=a.b;return C(rB,t.s,r,n)}),ct=p(function(e,t){return C(aE,p(function(t,a){var r=a.a,n=a.b;if(t.$){var i=t.a,o=I(ce,e,i),u=r.$?I(nU,am,I(rO,i.s,o)):r;return{a:u,b:I(sl,o,n)}}var s=t.a,u=r.$?I(rO,s,e):r;return{a:u,b:n}}),{a:am,b:rC},t)}),ca=p(function(e,t){return C(aE,p(function(t,a){return I(sl,I(ce,e,t),a)}),rC,t)}),cr=e1("layoutConfigUpdated",function(e){return sU(U([{a:"direction",b:eT(e.eo)},{a:"mode",b:eT(e.eT)}]))}),cn=p(function(e,t){return e?t?"spread-shift":"spread":"single"}),ci=function(e){var t={a:e.dz,b:e.dd};if(t.a.$||t.b.$)return 1;var a=t.a.a,r=t.b.a;return a>0?r/a:1},co=p(function(e,t){return I(nU,U(["[No language value found]"]),I(n_,function(e){return e.b},I(nQ,U([function(a){if(e.$)return am;var r=e.a;return I(oX,function(e){return!e.a.$&&M(e.a.a,r)},t)},function(e){return I(oX,function(e){return M(e.a,iJ)},t)},function(e){return I(oX,function(e){return M(e.a,i2)},t)},function(e){return nM(t)}]),t)))}),cu=p(function(e,t){return I(aw,"; ",I(co,e,t))}),cs=function(e){var t=e.dN;return t.$?"Untitled":I(cu,i2,t.a)},cc=function(e){switch(e){case 0:return"jpg";case 1:return"tif";case 2:return"png";case 3:return"jp2";case 4:return"gif";case 5:return"pdf";default:return"webp"}},cl=function(e){switch(e){case 0:return"color";case 1:return"gray";case 2:return"bitonal";case 3:return"default";default:return"native"}},cb=function(e){switch(e.$){case 0:return"full";case 1:return"square";default:return I(aw,",",I(rl,es,U([e.a.fz,e.a.d9,e.a.dy,e.a.dc])))}},cd=function(e){if(e.$){var t=e.a;return"!"+es(t)}var t=e.a;return es(t)},cf=function(e){switch(e.$){case 0:return"max";case 1:return"^max";case 2:var t=e.a;return es(t)+",";case 3:var t=e.a;return"^"+es(t)+",";case 4:var a=e.a;return","+es(a);case 5:var a=e.a;return"^,"+es(a);case 6:var r=e.a;return"pct:"+es(r);case 7:var r=e.a;return"^pct:"+es(r);case 8:var n=e.a,t=n.a,a=n.b;return es(t)+","+es(a);case 9:var i=e.a,t=i.a,a=i.b;return"^"+es(t)+","+es(a);case 10:var o=e.a,t=o.a,a=o.b;return"!"+es(t)+","+es(a);default:var u=e.a,t=u.a,a=u.b;return"^!"+es(t)+","+es(a)}},ch=function(e){for(;;)if(!e.b||"/"!==e.a)return e;else{e=e.b;continue}},cv=function(e){return F(e).join("")},cg=function(e){return C(Q,_,B,e)},cp=function(e){return cv(az(ch(az(cg(e)))))},cm=aE(p(function(e,t){var a=cv(ch(cg(e)));return a9(a)?cp(t):cp(t)+"/"+a})),cw=function(e){switch(e.$){case 0:var t,a=e.a;return I(cm,(t=a).eH,U([t.Y,"info.json"]));case 1:var r,a=e.a;return I(cm,(r=a).eH,U([r.Y,cb(r.cM),cf(r.fo),cd(r.bd),cl(r.dY)+"."+cc(r.dI)]));default:var a=e.a;return I(cm,a.eH,U([a.Y]))}},cx=p(function(e,t){switch(t.$){case 0:var a,r=t.a;return nj(q({dI:0,eH:(a=r).eH,Y:a.Y,dY:3,cM:nX,bd:iR(0),fo:ib},{fo:e}));case 1:var r=t.a;return nj(q(r,{fo:e}));default:return t}}),cy=function(e){var t=iO(e);if(t.$)return e;var a=t.a;return cw(I(cx,ix(180),a))},cE=function(e){var t=cw(e.s);return ul(e.fl)?t:cy(t)},cI=p(function(e,t){var a=t.gL;if(!a.$)return cE(a.a);var r=nM(I(iS,function(e){return e.bN},e));if(r.$){var n=nM(e);if(n.$)return"";var i=n.a;return i.be}var i=r.a;return i.be}),cC=function(e){return nb(U([nl(e),I(ew,iW,e)]))},cR=x(function(e,t,a,r,n){return{et:r,eu:n,s:e,b_:a,gP:t}}),c$=I(em,function(e){switch(e){case"active":return a2(0);case"external":return a2(2);case"kiosk":return a2(1);default:return nv("Unsupported Auth 2 access profile: "+e)}},eh),cL=g(8,l=function(e,t,a,r,n,i,o,u){return{dC:u,dK:i,s:e,dN:n,dR:o,bb:a,b_:r,gP:t}},function(e){return function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return l(e,t,a,r,n,i,o,u)}}}}}}}}),cA=p(function(e,t){return I(em,function(t){return M(t,e)?a2(t):nv("Expected "+e+" but got "+t)},t)}),cS=nb(U([I(ev,"type",eh),I(ev,"@type",eh)])),cT=function(e){return I(cA,e,cS)},ck=nb(U([I(ev,"id",eh),I(ev,"@id",eh)])),cM=I(em,function(e){return I(ei,"https://",e)?a2(e):nv("Expected an HTTPS service identifier")},ck),cP=p(function(e,t){return I(em,function(a){var r=I(eI,I(ev,e,ef),a);if(r.$)return a2(am);var n=I(eI,t,r.a);return n.$?nv(aq(n.a)):a2(ap(n.a))},ef)}),cN=function(e){return{$:1,a:e}},cz=function(e){return{$:0,a:e}},cO=w(function(e,t,a,r){return{et:a,eu:r,s:e,gP:t}}),cV=I(nq,I(cP,"errorNote",i1),I(nq,I(cP,"errorHeading",i1),I(nq,cT("AuthAccessTokenService2"),I(nq,cM,a2(cO))))),cq=m(function(e,t,a){return{s:e,dN:a,gP:t}}),cH=I(nq,I(cP,"label",i1),I(nq,cT("AuthLogoutService2"),I(nq,cM,a2(cq)))),cB=I(em,function(e){switch(e){case"AuthAccessTokenService2":return I(ew,cz,cV);case"AuthLogoutService2":return I(ew,cN,cH);default:return nv("Unsupported Auth 2 related service: "+e)}},cS),cD=I(em,function(e){var t=aI(I(iS,function(e){return!e.$},e)),a=aI(e)-t;return 1===t&&a<=1?a2(e):nv("Auth access services require exactly one token service and at most one logout service")},cC(cB)),c_=I(em,function(e){return I(nq,I(cP,"confirmLabel",i1),I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),I(nq,e?I(cP,"label",i1):I(ew,ap,I(ev,"label",i1)),C(nk,"service",cD,I(nq,a2(e),I(nq,cT("AuthAccessService2"),I(nq,2===e?a2(am):I(ew,ap,cM),a2(cL)))))))))},I(ev,"profile",c$)),cU=I(nq,I(cP,"errorNote",i1),I(nq,I(cP,"errorHeading",i1),C(nk,"service",cC(c_),I(nq,cT("AuthProbeService2"),I(nq,cM,a2(cR)))))),cF=I(em,function(e){var t=C(m(function(e,t,a){for(;;)if(!e.b)return av({cK:az(t),c$:az(a)});else{var r=e.a,n=e.b,i=I(eI,nl(ef),r);if(i.$){var o=I(eI,cS,r);if(o.$){var u=I(eI,I(ev,"service",cC(ef)),r);if(u.$){var s=n,c=t,l=a;e=s,t=c,a=l;continue}var b=u.a,s=H(b,n),c=t,l=a;e=s,t=c,a=l;continue}if("AuthProbeService2"===o.a){var d=I(eI,cU,r);if(d.$)return ab(d.a);var f=d.a,s=n,c=I(_,f,t),l=a;e=s,t=c,a=l;continue}var h=o.a,v=I(ei,"Auth",h)?I(_,h,a):a,g=I(eI,I(ev,"service",cC(ef)),r);if(g.$){var s=n,c=t,l=v;e=s,t=c,a=l;continue}var b=g.a,s=H(b,n),c=t,l=v;e=s,t=c,a=l;continue}var s=H(i.a,n),c=t,l=a;e=s,t=c,a=l;continue}}),U([e]),B,B);return t.$?nv(aq(t.a)):a2(t.a)},ef),cG=p(function(e,t){for(;;)if(!t.b)return am;else{var a=t.a,r=t.b;if(e(a))return ap(a);t=r;continue}}),cj=function(e){return!e},cW=function(e){return!!e.$},cZ=m(function(e,t,a){var r,n=cw(a.s),i=cE(a),o=I(nU,"Image",I(n_,cu(e),a.dN)),u=ul(a.fl),s=cW(I(cG,function(e){return!e.eJ},t)),c=M(ap(a),nM(t)),l=!a.eJ||s&&c;return{c6:(r=I(eI,cF,I(sG,a3,a.gA))).$?{$:2,a:aq(r.a)}:{$:1,a:r.a},s:n,bN:l,aD:u,dN:o,b3:n,be:i,cV:n}}),cK=p(function(e,t){var a=I(rl,I(cZ,e,t.cy),t.cy);if(ul(a))return am;var r=I(cI,a,t),n=I(nU,"",I(n_,function(e){return e.be},nM(I(iS,function(e){return e.bN},a))));return ap({c5:ci(t),c7:t.s,ey:n,dd:t.dd,cy:a,dN:cs(t),be:r,dz:t.dz})}),cX=p(function(e,t){return e(t.b)}),cY=cX(function(e){return e.eh}),cJ=p(function(e,t){return I(nr,cK(e),cY(t))}),cQ=cX(function(e){return e.gT}),c0=function(e){var t=I(cG,function(e){return e.bN},e.cy);return t.$?nM(e.cy):ap(t.a)},c1=p(function(e,t){return q(t,{aa:am,ag:am,e:rC,u:rC,E:rC,Z:B,ap:si(I(rl,function(e){return{a:e.s,b:e}},e))})}),c2=function(e){return e.b},c4=p(function(e,t){return I(n_,aX,nM(I(iS,I(rX,c2,e),I(a$,n7,t))))}),c3=function(e){return{$:1,a:e}},c6=function(e){return{$:2,a:e}},c5=nb(U([I(ew,function(e){return{$:0,a:e}},el),I(em,function(e){switch(e){case"canvasId":return I(ew,c3,I(ev,"value",eh));case"label":return I(ew,c6,I(ev,"value",eh));default:return nv("Unsupported initial page selector")}},I(ev,"by",eh))])),c8=function(e){return e.toLowerCase()},c7=p(function(e,t){var a=I(nD,I(rX,eI(c5),sQ),e);if(a.$)return 0;switch(a.a.$){case 0:var r=a.a.a;return r>=0&&0>O(r,aI(t))?r:0;case 1:var n=a.a.a;return I(nU,0,I(c4,function(e){return M(e.c7,n)},t));default:var i=a.a.a;return I(nU,0,I(c4,function(e){return M(c8(e.dN),c8(i))},t))}}),c9=cX(function(e){return e.fZ}),le=cX(function(e){return e.dP}),lt=cX(function(e){return e.e9}),la=p(function(e,t){switch(t){case 2:var a=!ul(le(e)),r=I(nU,!1,I(n_,I(rX,ul,cj),c9(e)));return a||r?2:1;case 3:return I(nU,!1,I(n_,I(rX,ul,cj),lt(e)))?3:1;default:return 1}}),lr=cX(function(e){return e.gS}),ln=function(e){switch(e){case 0:case 2:default:return"ltr";case 1:return"rtl"}},li=e1("zoomLevelUpdated",eT),lo=w(function(e,t,a,r){var n,i=lr(r),o=I(cJ,a.en,r),u=I(nr,I(rX,c0,n_(function(e){return{aD:e.aD,b3:e.b3,aK:e.cV}})),o),s=(n=cQ(r)).$?I(iB,7,n.a):!n.a,c=I(rl,function(e){return e.c5},o),l=1===aI(o),b=!l&&(s||1===i),d=l?0:+!!s,f=I(cn,d,b),h=I(c7,t,o),v=ln(i),g=si(I(a$,p(function(e,t){return{a:t.s,b:e}}),cY(r))),m=I(nU,rC,I(n_,ca(g),lt(r))),w=I(la,r,a._),x=a.B?w:0,y=I(rl,function(e){return{c6:e.c6,s:e.b3,aD:e.aD,aK:e.cV}},I(iM,function(e){return e.cy},o));return{a:q(a,{c6:I(c1,y,r$),dE:am,ez:uS,eE:!ul(u),de:am,X:!1,cH:!1,aH:o,e8:m,bY:{$:2,a:r},R:ul(o)?am:ap(h),b$:b,_:w,B:x,b8:d}),b:eX(U([sK({dL:h,dZ:e,d6:u}),sZ(I(nr,a3,I(a$,p(function(e,t){return I(n_,function(a){return{c7:t.c7,dd:t.dd,cy:I(rl,function(e){return{s:e.s,bN:e.bN,dN:e.dN}},t.cy),eK:e,dN:t.dN,e3:{s:a.s,bN:a.bN,dN:a.dN},dz:t.dz}},c0(t))}),o))),sF(am),sj(c),sW(I(rl,function(e){return e.dN},o)),li(1),cr({eo:v,eT:f})]))}}),lu={$:6},ls=p(function(e,t){return rv(I(ez,I(n$,I(n$,eM,e),ab),I(eN,I(n$,I(n$,eM,e),av),t)))}),lc=function(e){return t1(e,function(e){var t=e.getBoundingClientRect(),a=tJ.pageXOffset,r=tJ.pageYOffset;return{fi:t2(),d8:{fz:a,d9:r,dz:tY.documentElement.clientWidth,dd:tY.documentElement.clientHeight},er:{fz:a+t.left,d9:r+t.top,dz:t.width,dd:t.height}}})},ll=w(function(e,t,a,r){return I(eN,function(t){return I(eN,function(a){return I(eN,function(r){return eM(C(e,t,a,r))},r)},a)},t)}),lb=eX(B),ld=p(function(e,t){if(!e)return lb;var a=I(eN,function(e){var a="thumb-"+es(t);return I(eN,a3,R(ll,m(function(e,t,a){return C(t4,"thumbs",0,I(aZ,0,e.er.d9-t.er.d9+a.d8.d9))}),lc(a),lc("thumbs"),t1("thumbs",function(e){return{fi:{dz:e.scrollWidth,dd:e.scrollHeight},d8:{fz:e.scrollLeft,d9:e.scrollTop,dz:e.clientWidth,dd:e.clientHeight}}})))},eF(0));return I(ls,function(e){return lu},a)}),lf=p(function(e,t){for(;;)if(e<=0)return t;else{if(!t.b)return t;t.a,e-=1,t=t.b;continue}}),lh=p(function(e,t){return nM(I(lf,e,t))}),lv=function(e){return e.cH?I(nU,lb,I(nD,function(t){return I(n_,function(a){return sF(ap({c5:t.c5,ez:e.ez,aD:a.aD,b3:a.b3,cV:a.cV}))},nM(I(lf,e.aG,t.cy)))},I(nD,function(t){return I(lh,t,e.aH)},e.R))):lb},lg=m(function(e,t,a){var r=q(a,{aG:0,R:ap(t),bf:e});return{a:r,b:eX(U([I(ld,1===r.B,t),lv(r)]))}}),lp=e1("scrollToIndex",eT),lm=p(function(e,t){var a=t.R;if(a.$)return{a:t,b:lb};var r=a.a+e;if(r>=0&&0>O(r,aI(t.aH))){var n=q(t,{aG:0,R:ap(r),bf:!1});return{a:n,b:eX(U([lp(r),I(ld,1===n.B,r),lv(n)]))}}return{a:t,b:lb}}),lw=function(e){switch(e.$){case 0:return"Bad URL: "+e.a;case 1:return"Request timed out.";case 2:return"Network error. The resource may be unreachable or blocked by CORS.";case 3:return"HTTP error: "+es(e.a);default:return"Invalid IIIF response body. URL did not return a valid IIIF Manifest or Collection JSON."}},lx=p(function(e,t){return C(rB,e,0,t)}),ly=e1("layoutModeUpdated",eT),lE=p(function(e,t){return!I(rO,e,t).$}),lI=p(function(e,t){return I(lE,e,t)}),lC=p(function(e,t){return I(rZ,e,t)}),lR=m(function(e,t,a){var r=p(function(e,t){for(;;)if(!t.b)return e;else{var a=t.a,r=t.b;e=q(a.t,{aE:H(az(I(_,oI(e),a.ah)),a.Q)}),t=r;continue}}),n=p(function(e,t){if(!t.b)return e;var a=t.a,r=t.b;return I(i,{ah:I(_,oI(e),a.ah),t:a.t,Q:a.Q},r)}),i=p(function(a,o){if(M(a.t.s,e))return I(r,t,o);var u=a.Q;if(!u.b)return I(n,q(a.t,{aE:az(a.ah)}),o);var s=u.a,c=u.b;if(s.$)return I(i,q(a,{ah:I(_,s,a.ah),Q:c}),o);var l=s.a;return I(i,{ah:B,t:l,Q:l.aE},I(_,{ah:a.ah,t:a.t,Q:c},o))});return I(i,{ah:B,t:a,Q:a.aE},B)}),l$=nb(U([I(em,function(e){return I(nh,np,e)?I(ew,nx(2),uR):I(nh,ng,e)?I(ew,nx(1),oj):nv("Unknown IIIF Version: "+e)},I(ev,"@context",eh)),I(em,function(e){return I(nd,nh(np),e)?I(ew,nx(2),uR):I(nd,nh(ng),e)?I(ew,nx(1),oj):nv("Unknown IIIF Version in context values: "+I(aw,", ",e))},I(ev,"@context",nl(eh)))])),lL=m(function(e,t,a){return C(nc,t,I(r4,e,l$),a)}),lA=function(e){return q(e,{aM:0,bl:!1,aN:0,ax:!1,aO:8,aP:0,bm:!1,aQ:0,bn:!1,aR:0,bo:!1,aS:0,ay:!1,aT:8,aU:0,bp:!1,aV:0,bq:!1,aW:0,br:!1,aX:0,az:!1,aY:8,aZ:0,bs:!1,a_:0,bt:!1})},lS=e1("resourceLoadFailed",function(e){return sU(U([{a:"message",b:eT(e.ac)},{a:"requestId",b:eT(e.fd)},{a:"url",b:eT(e.aK)}]))}),lT=e1("resourceLoadSucceeded",function(e){return sU(U([{a:"hasPages",b:eT(e.ct)},{a:"pageIndex",b:eT(e.cG)},{a:"requestId",b:eT(e.fd)},{a:"url",b:eT(e.aK)}]))}),lk=e1("authHttpCancelled",eT),lM=e1("authHttpRequested",a3),lP=e1("authSourcesInvalidated",sG(eT)),lN=e1("authStorageRequested",a3),lz=e1("authTokenFrameCancelled",eT),lO=e1("authTokenFrameRequested",a3),lV=e1("tileSourceResolutionFailed",function(e){return sU(U([{a:"message",b:eT(e.ac)},{a:"requestId",b:eT(e.fd)}]))}),lq=e1("tileSourceResolutionSucceeded",a3),lH=function(e){switch(e.$){case 0:var t=e.a,a=e.b,r=e.c,n=e.d;return lM(sU(U([{a:"id",b:eT(t)},{a:"url",b:eT(a)},{a:"bearer",b:I(nU,null,I(n_,eT,r))},{a:"withCredentials",b:eT(n)}])));case 1:var t=e.a;return lk(t);case 2:var i=e.a,o=e.b;return lN(sU(U([{a:"action",b:eT("read")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)}])));case 3:var i=e.a,o=e.b,u=e.c,s=e.d;return lN(sU(U([{a:"action",b:eT("write")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)},{a:"accessToken",b:eT(u)},{a:"expiresAt",b:eT(s)}])));case 4:var i=e.a,o=e.b;return lN(sU(U([{a:"action",b:eT("remove")},{a:"flowId",b:eT(i)},{a:"key",b:eT(o)}])));case 5:var i=e.a,a=e.b,c=e.c;return lO(sU(U([{a:"flowId",b:eT(i)},{a:"url",b:eT(a)},{a:"messageId",b:eT(c)}])));case 6:var i=e.a;return lz(i);case 7:return lP(e.a);case 8:var l=e.a;return lq(sU(U([{a:"requestId",b:eT(l.fd)},{a:"url",b:eT(l.aK)},{a:"isStatic",b:eT(l.aD)},{a:"credentialed",b:eT(l.ek)},{a:"infoJson",b:I(nU,null,l.aC)}])));default:var b=e.a;return lV({ac:e.b,fd:b})}},lB=e1("saveFilteredImage",function(e){return null}),lD=e1("setFullscreen",eT),l_=function(e){return{$:1,a:e}},lU=function(e){return{$:6,a:e}},lF=p(function(e,t){return{$:4,a:e,b:t}}),lG=m(function(e,t,a){return{$:5,a:e,b:t,c:a}}),lj=p(function(e,t){var a=t.a;return{a:a,b:H(t.b,e)}}),lW=p(function(e,t){return C(so,m(function(e,t,a){return I(rZ,e,a)}),e,t)}),lZ=p(function(e,t){return C(so,m(function(t,a,r){return I(e,t,a)?C(rB,t,a,r):r}),rC,t)}),lK=p(function(e,t){if(-2===t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;return $(rV,a,r,I(e,r,n),I(lK,e,i),I(lK,e,o))}),lX=m(function(e,t,a){var r=t.o.T.s;if(r.$)return a;var n=r.a;return q(a,{aa:ap(e),ag:ap({ea:n,dC:t.o.T.dC,at:t.cL,da:e,dK:t.o.T.dK,dR:t.o.T.dR}),Z:I(iS,z(e),a.Z)})}),lY=function(e){for(;;){var t=e.Z;if(!t.b)return e;var a=t.a,r=q(e,{Z:t.b}),n=I(rO,a,e.e);if(n.$){var i=r;e=i;continue}var o=n.a;if(!o.o.T.s.$)return C(lX,a,o,r);var i=r;e=i}},lJ=p(function(e,t){var a,r=q(t,{Z:I(iS,z(e),t.Z)}),n=(a=r.ag).$?r:M(a.a.da,e)?q(r,{ag:am}):r;return M(n.aa,ap(e))?lY(q(n,{aa:am})):n}),lQ=p(function(e,t){var a=I(lZ,p(function(e,t){return!ul(t.as)}),I(lK,p(function(t,a){return q(a,{as:I(iS,z(e),a.as)})}),t.e)),r=I(iS,function(e){return!I(lE,e,a)},ao(t.e)),n=I(lZ,p(function(t,a){return a.$?I(iB,a.a,r):M(a.a,e)}),t.u);return{a:C(aE,lJ,q(t,{e:a,u:I(lW,t.u,n),E:I(rZ,e,t.E)}),r),b:H(I(rl,l_,ao(n)),I(rl,lU,r))}}),l0=p(function(e,t){return{$:9,a:e,b:t}}),l1=m(function(e,t,a){return{a:q(a,{E:I(rZ,e,a.E)}),b:U([I(l0,e,t)])}}),l2=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=p(function(e,a){var r=a.a,n=a.b,i=C(l1,e,t,r),o=i.a;return{a:o,b:H(n,i.b)}});return C(aE,i,{a:I(lJ,e,q(a,{e:I(rZ,e,a.e)})),b:U([lU(e)])},n.as)}),l4=p(function(e,t){return I(iB,e,t)?t:H(t,U([e]))}),l3=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;if(n.o.T.s.$)return C(l2,e,"The active access service has no URL.",a);var i=q(n,{ao:3,cL:t}),o=q(a,{e:C(rB,e,i,a.e)}),u=a.aa;return u.$?{a:C(lX,e,i,o),b:B}:M(u.a,e)?{a:C(lX,e,i,o),b:B}:{a:q(o,{Z:I(l4,e,o.Z)}),b:B}}),l6=w(function(e,t,a,r){return{a:q(a,{e:C(rK,e,n_(t),a.e)}),b:r}}),l5=m(function(e,t,a){var r=e+"-"+es(t.aB+1);return R(l6,e,function(e){return q(e,{ao:5})},a,U([C(lG,e,t.o.cX.s,r)]))}),l8=m(function(e,t,a){for(;;){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=n.dl;if(!i.b)return C(l2,e,t,a);var o=i.a,u=q(n,{o:o,aB:0,cL:am,dl:i.b}),s=I(lJ,e,q(a,{e:C(rB,e,u,a.e)}));switch(o.T.bb){case 0:return I(lj,U([lU(e)]),C(l3,e,am,s));case 1:a=s;continue;default:return I(lj,U([lU(e)]),C(l5,e,u,s))}}}),l7=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;if(n.aB+1>=2)return C(l2,e,t,a);var i=q(a,{e:C(rB,e,q(n,{aB:n.aB+1}),a.e)});return I(lj,U([lU(e)]),C(l3,e,ap(t),i))}),l9=m(function(e,t,a){var r=I(rO,e,a.e);return r.$?{a:a,b:B}:0===r.a.o.T.bb?C(l7,e,t,a):C(l8,e,t,a)}),be=w(function(e,t,a,r){return{$:0,a:e,b:t,c:a,d:r}}),bt=p(function(e,t){return{$:1,a:e,b:t}}),ba=p(function(e,t){var a="auth-http-"+es(t.cD);return{a:a,b:q(t,{cD:t.cD+1,u:C(rB,a,e,t.u)})}}),br=w(function(e,t,a,r){var n=I(rO,e,r.E);if(n.$)return{a:r,b:B};var i=n.a,o=I(rO,i.b3,r.ap);if(o.$)return{a:r,b:B};var u=o.a;return{a:q(r,{E:I(rZ,e,r.E)}),b:U([{$:8,a:{ek:t,aC:a.$?i.aC:ap(a.a),aD:u.aD,fd:e,aK:u.aK}}])}}),bn=p(function(e,t){return{$:0,a:e,b:t}}),bi=w(function(e,t,a,r){var n=I(ba,I(bn,e,{$:1,a:t}),r),i=n.a;return{a:n.b,b:U([R(be,i,a.aK,am,t)])}}),bo=m(function(e,t,a){var r=I(rO,e,a.E);if(r.$)return{a:a,b:B};var n=r.a,i=I(rO,n.b3,a.ap);if(i.$)return{a:a,b:B};var o=i.a,u={a:o.aD,b:n.aC};return u.a||1!==u.b.$?R(br,e,t,am,a):(u.b,R(bi,e,t,o,a))}),bu=p(function(e,t){return 1===e.$?t:t+":"+es(e.a)}),bs=m(function(e,t,a){return 1===t.$?a:H(a,H(e,t.a))}),bc=function(e){var t=e.e6?"https://":"http://";return C(bs,"#",e.fX,C(bs,"?",e.gq,H(I(bu,e.e$,H(t,e.eH)),e.A)))},bl=function(e){var t,a=H(I(iS,function(e){return 2===e.bb},e.b_),I(iS,function(e){return!e.bb},e.b_)),r=I(nU,t=e.s,I(n_,function(e){return bc(q(e,{fX:am,gq:am}))},ro(t)))+"|"+I(aw,"|",I(nr,function(e){return nM(I(nr,function(t){if(t.$)return am;var a=t.a;return ap(I(nU,"",e.s)+"|"+a.s)},e.b_))},a));return I(nr,function(t){return I(n_,function(a){return{T:t,aj:r,a6:nM(I(nr,function(e){return e.$?ap(e.a):am},t.b_)),cJ:e,cX:a}},nM(I(nr,function(e){return e.$?am:ap(e.a)},t.b_)))},a)},bb=function(e){return"Unsupported authorization service: "+I(aw,", ",e)+"."},bd=function(e){var t=I(iM,function(e){return e.b_},e),a=nM(I(iS,function(e){return 1===e.bb},t));if(a.$)return am;var r=a.a;return ap("IIIF Auth 2 '"+function(){switch(r.bb){case 0:return"active";case 1:return"kiosk";default:return"external"}}()+"' access is not supported; supported profiles are 'external' and 'active'.")},bf=function(e){if(!ul(e.c$))return ab(bb(e.c$));var t=I(nU,B,nM(I(iS,I(n$,cj,ul),I(rl,bl,e.cK))));if(!ul(t))return av(t);var a=bd(e.cK);return a.$?ab("No supported Auth 2 external or active access service was provided."):ab(a.a)},bh=w(function(e,t,a,r){var n=q(r,{E:C(rK,e,n_(function(e){return q(e,{aC:a})}),r.E)}),i=bf(t);if(i.$)return C(l1,e,i.a,n);if(!i.a.b)return C(l1,e,"No supported Auth 2 external or active access service was provided.",n);var o=i.a,u=o.a,s=o.b,c=I(rO,u.aj,n.au);if(c.$){var l=I(rO,u.aj,n.e);if(l.$){var b={o:u,aB:0,ao:0,cL:am,dl:s,as:U([e])},d=q(n,{e:C(rB,u.aj,b,n.e)}),f=I(ba,I(bt,u.aj,am),d),h=f.a;return{a:f.b,b:U([R(be,h,u.cJ.s,am,!1)])}}var b=l.a;return{a:q(n,{e:C(rB,u.aj,q(b,{as:I(_,e,b.as)}),n.e)}),b:B}}return c.a?(c.a,C(bo,e,!0,n)):(c.a,C(bo,e,!1,n))}),bv=w(function(e,t,a,r){var n=I(eE,ef,a);if(n.$){var i=n.a;return C(l1,e,aq(i),r)}var o=n.a,u=I(eI,cF,o);if(u.$){var i=u.a;return C(l1,e,aq(i),r)}var s=u.a;return ul(s.cK)&&ul(s.c$)?t>=200&&t<300?R(br,e,!1,ap(o),r):C(l1,e,"Image information request failed ("+es(t)+").",r):R(bh,e,s,ap(o),r)}),bg=p(function(e,t){return{$:2,a:e,b:t}}),bp=function(e){return C(aE,lx,rC,e)},bm=p(function(e,t){return $(rV,1,e,t,rI,rI)}),bw=function(e){return e.aj},bx=p(function(e,t){return I(sl,e,t)}),by=p(function(e,t){var a=e.o.a6;if(a.$)return t;var r=a.a,n=bp(I(nr,function(e){return I(n_,function(e){return e.b3},I(rO,e,t.E))},e.as)),i=I(nU,"",e.o.T.s)+("|"+e.o.cX.s)+"|"+r.s,o=bw(e.o);return q(t,{af:C(rK,i,function(e){if(e.$)return ap({at:am,a2:I(bm,o,0),s:i,a6:r,cS:n});var t=e.a;return ap(q(t,{at:am,a2:I(lx,o,t.a2),cS:I(bx,n,t.cS)}))},t.af)})}),bE=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=q(a,{au:C(rB,n.o.aj,+!!t,a.au)}),o=t?I(by,n,i):i;return C(aE,p(function(e,a){var r=a.a,n=a.b,i=I(rO,e,r.E);if(i.$)return{a:r,b:n};var o=i.a,u=I(rO,o.b3,r.ap);if(u.$)return{a:r,b:n};var s=u.a,c={a:s.aD,b:o.aC};if(c.a||1!==c.b.$){var l=R(br,e,t,am,r),b=l.a,d=l.b;return{a:b,b:H(n,d)}}c.b;var f=R(bi,e,t,s,r),b=f.a,d=f.b;return{a:b,b:H(n,d)}}),{a:I(lJ,e,q(o,{e:I(rZ,e,o.e)})),b:U([lU(e)])},n.as)}),bI=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;switch(n.o.T.bb){case 0:return C(l3,e,am,a);case 1:return C(l8,e,t,a);default:return C(l5,e,n,a)}}),bC=function(e){return"Access was not granted ("+es(e)+")."},bR=I(em,function(e){return e>=100&&e<=599?a2(e):nv("Expected an HTTP status code between 100 and 599")},el),b$=E(function(e,t,a,r,n,i,o){return{k:e,dK:n,f3:o,dR:i,du:a,gG:r,gP:t}}),bL="http://iiif.io/api/auth/2/context.json",bA=nb(U([I(ev,"@context",eh),I(ev,"context",eh)])),bS=I(em,function(e){return I(nh,bL,e)?a2(e):nv("Expected "+bL+" but got "+e)},bA),bT=C(ex,p(function(e,t){return{s:e,gP:t}}),ck,cS),bk=m(function(e,t,a){return I(em,function(r){var n=I(eI,I(ev,e,ef),r);if(n.$)return a2(am);var i=n.a;if(!t)return nv(e+" is not permitted for this probe status");var o=I(eI,a,i);return o.$?nv(aq(o.a)):a2(ap(o.a))},ef)}),bM=I(em,function(e){return I(nq,C(bk,"location",e>=300&&e<=399,bT),I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),I(nq,I(ew,nU(B),C(bk,"substitute",401===e||403===e,cC(ef))),I(nq,a2(e),I(nq,cT("AuthProbeResult2"),I(nq,bS,a2(b$))))))))},I(ev,"status",bR)),bP=w(function(e,t,a,r){var n=I(eE,bM,a);if(n.$)return C(l9,e,aq(n.a),r);var i=n.a;if(!M(i.f3,am)||!ul(i.gG))return C(l2,e,"IIIF Auth redirect, substitute, and tiered access flows are not supported.",r);if(200===i.du)return C(bE,e,!M(t,am),r);var o=I(rO,e,r.e);if(o.$)return{a:r,b:B};var u=o.a;switch(u.ao){case 0:return{a:q(r,{e:C(rB,e,q(u,{ao:1}),r.e)}),b:U([I(bg,e,bw(u.o))])};case 2:return I(lj,U([I(lF,e,bw(u.o))]),C(bI,e,bC(i.du),r));case 6:return I(lj,U([I(lF,e,bw(u.o))]),C(l9,e,bC(i.du),r));default:return C(l7,e,bC(i.du),r)}}),bN=x(function(e,t,a,r,n){if(!(a>=200)||!(a<300))return C(l1,e,"Image information request failed ("+es(a)+").",n);var i=I(eE,ef,r);return i.$?C(l1,e,aq(i.a),n):R(br,e,t,ap(i.a),n)}),bz=w(function(e,t,a,r){var n=I(rO,e,r.u);if(n.$)return{a:r,b:B};if(n.a.$){var i=n.a,o=i.a,u=i.b,s=q(r,{u:I(rZ,e,r.u)});return R(bP,o,u,a,s)}var c=n.a,l=c.a,b=c.b,s=q(r,{u:I(rZ,e,r.u)});return b.$?$(bN,l,b.a,t,a,s):R(bv,l,t,a,s)}),bO=m(function(e,t,a){return C(so,m(function(t,a,r){return I(e,t,r)}),t,a)}),bV=function(e){var t=e.c6;return 1===t.$?I(n_,function(e){return e.aj},I(nD,nM,sQ(bf(t.a)))):am},bq=function(e){return C(an,m(function(e,t,a){return I(_,t,a)}),B,e)},bH=p(function(e,t){return bp(I(nr,function(t){return I(nD,function(a){return I(lI,a,e)?ap(t.s):am},bV(t))},bq(t)))}),bB=p(function(e,t){var a=I(rO,e,t.af);if(a.$)return{a:t,b:B};var r=a.a,n=I(bH,r.a2,t.ap),i=au(I(bx,r.cS,n));return{a:q(t,{au:C(bO,rZ,t.au,r.a2),af:I(rZ,e,t.af)}),b:H(I(rl,lF(e),au(r.a2)),U([{$:7,a:i}]))}}),bD=m(function(e,t,a){var r=I(rO,e,a.u);return r.$?{a:a,b:B}:r.a.$?C(l9,r.a.a,t,q(a,{u:I(rZ,e,a.u)})):C(l1,r.a.a,t,q(a,{u:I(rZ,e,a.u)}))}),b_={$:0},bU=m(function(e,t,a){var r=I(ba,I(bn,e,b_),a),n=r.a;return{a:r.b,b:U([R(be,n,t.aK,am,!1)])}}),bF=m(function(e,t,a){var r=I(rO,t,a.ap);if(r.$)return{a:a,b:U([I(l0,e,"Unknown image source.")])};var n=r.a,i=q(a,{E:C(rB,e,{aC:am,b3:t},a.E)}),o=n.c6;switch(o.$){case 0:return n.aD?R(br,e,!1,am,i):C(bU,e,n,i);case 1:var u=o.a;return ul(u.cK)?ul(u.c$)?n.aD?R(br,e,!1,am,i):C(bU,e,n,i):C(l1,e,bb(u.c$),i):R(bh,e,u,am,i);default:return C(l1,e,o.a,i)}}),bG=C(ex,p(function(e,t){return{bi:e,ex:t}}),I(ev,"accessToken",eh),nb(U([I(ew,ap,I(ev,"expiresAt",ed)),a2(am)]))),bj=w(function(e,t,a,r){var n={a:I(rO,e,r.e),b:a};if(n.a.$)return{a:r,b:B};if(n.b.$)return n.b,C(bI,e,"No cached token was found.",r);var i=n.a.a,o=I(eI,bG,n.b.a);if(o.$)return I(lj,U([I(lF,e,bw(i.o))]),C(bI,e,"The cached token is invalid.",r));var u=o.a;if(!I(nU,!0,I(n_,function(e){return 0>O(t,e)},u.ex)))return I(lj,U([I(lF,e,bw(i.o))]),C(bI,e,"The cached token has expired.",r));var s=I(ba,I(bt,e,ap(u.bi)),r),c=s.a,l=s.b;return{a:q(l,{e:C(rB,e,q(i,{ao:2}),l.e)}),b:U([R(be,c,i.o.cJ.s,ap(u.bi),!1)])}}),bW=w(function(e,t,a,r){return{$:3,a:e,b:t,c:a,d:r}}),bZ=x(function(e,t,a,r,n){return{bi:a,k:e,fS:r,eS:n,gP:t}}),bK=I(em,function(e){return e>0?a2(e):nv("Expected a positive integer")},el),bX=C(nk,"messageId",eh,I(nq,I(cP,"expiresIn",bK),C(nk,"accessToken",eh,I(nq,cT("AuthAccessToken2"),I(nq,bS,a2(bZ)))))),bY=y(function(e,t,a,r,n,i){return{k:e,dK:r,eS:i,dR:n,bb:a,gP:t}}),bJ=I(em,function(e){switch(e){case"expiredAspect":return a2(4);case"invalidAspect":return a2(3);case"invalidOrigin":return a2(1);case"invalidRequest":return a2(0);case"missingAspect":return a2(2);case"unavailable":return a2(5);default:return nv("Unsupported Auth 2 token error profile: "+e)}},eh),bQ=C(nk,"messageId",eh,I(nq,I(cP,"note",i1),I(nq,I(cP,"heading",i1),C(nk,"profile",bJ,I(nq,cT("AuthAccessTokenError2"),I(nq,bS,a2(bY))))))),b0=w(function(e,t,a,r){var n=I(rO,e,r.e);if(n.$)return{a:r,b:B};var i=n.a,o=I(eI,bX,a);if(o.$){var u=o.a;return I(eI,bQ,a).$?I(lj,U([I(lF,e,bw(i.o))]),C(l9,e,aq(u),r)):I(lj,U([I(lF,e,bw(i.o))]),C(l9,e,"The token service refused access.",r))}var s=o.a,c=t+1e3*I(nU,300,s.fS),l=I(ba,I(bt,e,ap(s.bi)),r),b=l.a,d=l.b;return{a:q(d,{e:C(rB,e,q(i,{ao:6}),d.e)}),b:U([R(bW,e,bw(i.o),s.bi,c),R(be,b,i.o.cJ.s,ap(s.bi),!1),lU(e)])}}),b1=p(function(e,t){if(t.c8)return{a:t,b:B};switch(e.$){case 0:var a=e.a;return C(bF,a,e.b,t);case 1:var a=e.a;return I(lQ,a,t);case 2:var r=e.a;return R(bz,r,e.b,e.c,t);case 3:var r=e.a,n=e.b;return C(bD,r,n,t);case 4:var i=e.a,o=e.b,u=e.c;return R(bj,i,o,u,t);case 5:var i=e.a;return M(t.aa,ap(i))?R(l6,i,function(e){return q(e,{ao:4})},q(t,{ag:am}),B):{a:t,b:B};case 6:var i=e.a;return M(t.aa,ap(i))?C(l7,i,"The sign-in window was blocked. Allow popups and retry.",t):{a:t,b:B};case 7:var i=e.a,s={a:t.aa,b:I(rO,i,t.e)};if(s.a.$||s.b.$)return{a:t,b:B};var c=s.a.a,l=s.b.a;if(M(c,i)){var b=i+"-"+es(l.aB+1);return R(l6,i,function(e){return q(e,{ao:5})},t,U([C(lG,i,l.o.cX.s,b)]))}return{a:t,b:B};case 8:var i=e.a,o=e.b,u=e.c;return R(b0,i,o,u,t);case 9:var i=e.a,n=e.b;return I(lj,function(){var e=I(rO,i,t.e);if(e.$)return B;var a=e.a;return U([I(lF,i,bw(a.o))])}(),C(l9,i,n,t));case 10:var d=e.a;return I(bB,d,t);case 11:var d=e.a;return{a:q(t,{af:C(rK,d,n_(function(e){return q(e,{at:ap("The logout window was blocked. Allow popups and try again.")})}),t.af)}),b:B};case 12:return{a:t,b:B};case 13:var f=t.ag;if(!f.$)return C(l2,f.a.da,"Authorization was cancelled.",t);return{a:t,b:B};default:var h=H(I(rl,l_,ao(t.u)),I(rl,lU,ao(t.e)));return{a:q(t,{aa:am,ag:am,c8:!0,e:rC,u:rC,E:rC,Z:B,af:rC}),b:h}}}),b2=p(function(e,t){return q(t,{ez:e(t.ez)})}),b4=e1("zoomBy",eT),b3=p(function(e,t){return{a:e,b:b4(t)}}),b6=function(e){var t=e.B;return t||e._},b5=p(function(e,t){switch(e.$){case 0:var a=I(b1,e.a,t.c6),r=a.a,n=a.b;return{a:q(t,{c6:r}),b:eX(I(rl,lH,n))};case 1:var i=e.a,o=function(){switch(i){case"spread":return{a:1,b:!1};case"spread-shift":return{a:1,b:!0};default:return{a:0,b:!1}}}(),u=o.a,s=o.b;return{a:q(t,{b$:s,b8:u}),b:ly(I(cn,u,s))};case 2:var c=e.a,l=e.b;return{a:q(t,{dM:!0,X:!0,ba:ap(c)}),b:C(uA,I(sk,c,l),t.aw,l)};case 3:var b=e.a;return{a:q(t,{db:b}),b:lb};case 4:var d=e.a;return C(lg,!1,d,t);case 5:var d=e.a;return C(lg,!0,d,t);case 6:return{a:q(t,{bf:!1}),b:lb};case 7:var f=e.a,h=e.b,v=t.I;if(2===v.$){var g=v.a,p=I(lC,f,g.ak);if(h.$)return{a:q(t,{I:sL(q(g,{ak:p}))}),b:lb};var m=h.a;if(1===m.$){var w=m.a.b,x=g.t,y=x.a,E=x.b,$=q(g,{t:I(nw,y,C(lR,f,w,E)),cC:I(lx,f,g.cC),ak:p});return{a:q(t,{I:sL($)}),b:lb}}return{a:q(t,{I:sL(q(g,{ak:p}))}),b:lb}}return{a:t,b:lb};case 8:var L=e.a,h=e.b,A=t.I;if(2===A.$){var g=A.a;if(M(g.dq,ap(L)))if(h.$){var S=h.a;return{a:q(t,{X:!1,bY:{$:3,a:lw(S)}}),b:lb}}else{var T=h.a;return R(lo,"collection-"+L,am,t,T)};}return{a:t,b:lb};case 9:var h=e.a;if(t.dM)return{a:t,b:lb};if(h.$){var S=h.a;return{a:q(t,{X:!1,I:{$:3,a:lw(S)}}),b:lS({ac:lw(S),fd:"initial",aK:t.a7})}}var m=h.a;switch(m.$){case 0:var T=m.a,k=R(lo,"initial",ap(t.cz),t,T),P=k.a,N=k.b;return{a:q(P,{a0:!1,I:sA(T)}),b:eX(U([N,lT({ct:!ul(P.aH),cG:I(nU,0,P.R),fd:"initial",aK:t.a7})]))};case 1:var z=m.a,V=z.a,H=z.b;return{a:q(t,{c6:r$,a0:!0,X:!1,aH:B,I:sL({t:I(nw,V,H),bH:rC,cC:rC,ak:rC,dq:am}),bY:s$,R:am}),b:eX(U([sX("initial"),lT({ct:!1,cG:0,fd:"initial",aK:t.a7})]))};default:return{a:q(t,{X:!1}),b:lS({ac:"URL did not return a supported IIIF resource.",fd:"initial",aK:t.a7})}}case 10:var c=e.a,l=e.b,h=e.c;if(M(t.ba,ap(c)))if(h.$){var S=h.a;return{a:q(t,{X:!1,ba:am}),b:lS({ac:lw(S),fd:c,aK:l})}}else{var m=h.a;switch(m.$){case 0:var T=m.a,D=R(lo,c,am,t,T),P=D.a,N=D.b;return{a:q(P,{a0:!1,a7:l,ba:am,I:sA(T)}),b:eX(U([N,lT({ct:!ul(P.aH),cG:0,fd:c,aK:l})]))};case 1:var _=m.a,V=_.a,H=_.b;return{a:q(t,{c6:r$,a0:!0,X:!1,a7:l,aH:B,ba:am,I:sL({t:I(nw,V,H),bH:rC,cC:rC,ak:rC,dq:am}),bY:s$,R:am}),b:eX(U([sX(c),lT({ct:!1,cG:0,fd:c,aK:l})]))};default:return{a:q(t,{X:!1,ba:am}),b:lS({ac:"URL did not return a supported IIIF resource.",fd:c,aK:l})}}}return{a:t,b:lb};case 11:var F=s5(t.cn);if(F.$){var S=F.a;return{a:q(t,{bJ:ap(S)}),b:lb}}var G=F.a,j=s7(G),P=q(t,{ez:G,bJ:am,cn:j});return{a:P,b:lv(P)};case 12:var W,Z=e.a,K=(W=t.de).$?ap(Z):ap(W.a);return{a:q(t,{dE:ap(Z),de:K}),b:lb};case 13:return{a:q(t,{dO:!1}),b:lb};case 14:var P=q(t,{ez:uS,di:!1,aG:0,cH:!1});return{a:P,b:sF(am)};case 15:var f=e.a,X=t.I;if(2===X.$){var g=X.a,Y=I(lI,f,g.bH)?I(lC,f,g.bH):I(lx,f,g.bH),E=g.t.b,J=I(nU,!0,I(n_,I(rX,function(e){return e.aE},ul),I(s9,f,E)))&&!I(lI,f,g.cC)&&!I(lI,f,g.ak),p=J?I(lx,f,g.ak):g.ak,$=q(g,{bH:Y,ak:p});return{a:q(t,{I:sL($)}),b:J?C(uA,sS(f),t.aw,f):lb}}return{a:t,b:lb};case 16:var L=e.a,Q=e.b,ee=t.I;if(2===ee.$){var g=ee.a;return{a:q(t,{X:!0,I:sL(q(g,{dq:ap(L)})),bY:rm}),b:C(lL,sT(L),t.aw,Q)}}return{a:t,b:lb};case 17:return{a:q(t,{dO:!0}),b:lb};case 18:var P=q(t,{aG:0,cH:!0,dj:!0,B:b6(t)});return{a:P,b:lv(P)};case 19:var d=e.a,P=q(t,{aG:d});return{a:P,b:lv(P)};case 20:return I(lm,1,t);case 21:return I(lm,-1,t);case 22:var et=e.a,ea=et.$?lb:lp(et.a),P=q(t,{cI:et,R:et.$?t.R:ap(et.a),B:b6(t),bf:!0});return{a:P,b:eX(U([ea,lv(P)]))};case 23:return{a:t,b:lB(0)};case 24:var d=e.a,P=q(t,{aG:0,R:ap(d),B:b6(t),bf:!1});return{a:P,b:eX(U([lp(d),I(ld,1===P.B,d),lv(P)]))};case 25:return I(b3,t,1.6);case 26:return I(b3,t,.625);case 27:var j=s7(t.ez);return{a:q(t,{bJ:am,cn:j}),b:sY(j)};case 28:var er=e.a,en=t.ch;if(en.$)return{a:t,b:lb};var ei=en.a,eo=C(rE,240,480,ei.ds+(er-ei.dt));return{a:q(t,{dB:eo}),b:lb};case 29:var er=e.a,eu=t.cO;if(eu.$)return{a:t,b:lb};var ei=eu.a,es=ei.dt-er,eo=C(rE,220,520,ei.ds+es);return{a:q(t,{b0:eo}),b:lb};case 30:return{a:q(t,{ch:am}),b:lb};case 31:return{a:q(t,{cO:am}),b:lb};case 32:var P=q(t,{ez:uS,bJ:am});return{a:P,b:lv(P)};case 33:var P=I(b2,lA,t);return{a:P,b:lv(P)};case 34:return{a:q(t,{dD:0}),b:lb};case 35:return{a:q(t,{dD:1}),b:lb};case 36:var er=e.a;return{a:q(t,{ch:ap({ds:t.dB,dt:er})}),b:lb};case 37:var er=e.a;return{a:q(t,{cO:ap({ds:t.b0,dt:er})}),b:lb};case 38:return{a:q(t,{_:3,B:3}),b:lb};case 39:if(2===t.I.$)return{a:q(t,{a0:!t.a0}),b:lb};return{a:t,b:lb};case 40:var ec=e.a,b=e.b,P=I(b2,I(sM,ec,b),t);return{a:P,b:lv(P)};case 41:var el=e.a,eb=I(lI,el,t.cm)?I(lC,el,t.cm):I(lx,el,t.cm);return{a:q(t,{cm:eb}),b:lb};case 42:var ed=!t.db;return{a:q(t,{db:ed}),b:lD(ed)};case 43:return{a:q(t,{_:2,B:2}),b:lb};case 44:return{a:q(t,{di:!t.di}),b:lb};case 45:return{a:q(t,{dj:!t.dj}),b:lb};case 46:var ef=e.a;return{a:q(t,{d$:M(t.d$,ap(ef))?am:ap(ef)}),b:lb};case 47:if(t.b8){var s=!t.b$;return{a:q(t,{b$:s}),b:ly(I(cn,1,s))}}return{a:t,b:lb};case 48:return t.df?t.bO?{a:q(t,{bO:!1,B:0}),b:lb}:{a:q(t,{bO:!0,B:t._}),b:lb}:t.B?{a:q(t,{B:0}),b:lb}:{a:q(t,{B:t._}),b:lb};case 49:var eh=function(){var e={a:t.cI,b:t.R};if(e.a.$)if(e.b.$)return lb;else{e.a;var a=e.b.a;return I(ld,!0,a)}var a=e.a.a;return I(ld,!0,a)}(),P=q(t,{_:1,B:1});return{a:q(P,{cI:am,bf:!t.cI.$}),b:eh};case 50:var ev=+!t.b8;return{a:q(t,{b8:ev}),b:ly(I(cn,ev,t.b$))};case 51:var eg=e.a,ep=e.b,P=I(b2,I(sN,eg,ep),t);return{a:P,b:lv(P)};case 52:var em=e.a,ep=e.b,P=I(b2,I(sq,em,ep),t);return{a:P,b:lv(P)};case 53:var ep=e.a;return{a:q(t,{bJ:am,cn:ep}),b:lb};case 54:var ew=e.a,ep=e.b,P=I(b2,I(sD,ew,ep),t);return{a:P,b:lv(P)};case 55:return{a:q(t,{X:e.a}),b:lb};default:var P=1>O(e.a,720)?q(t,{df:!0,bO:!1,B:0}):q(t,{df:!1,bO:!1});return{a:P,b:lb}}}),b8=p(function(e,t){return I(tw,e,eT(t))}),b7=b8("className"),b9=function(e){return b7(I(aw," ",I(rl,aX,I(iS,c2,e))))},de=tc("div"),dt=b8("id"),da=function(e){var t=e.I;switch(t.$){case 1:var a=t.a;return ap(a);case 2:var r=e.bY;if(2!==r.$)return am;var a=r.a;return ap(a);default:return am}},dr=cX(function(e){return e.dN}),dn=cX(function(e){return e.fe}),di={$:13},du=p(function(e,t){return I(tx,tI.test(e)?"data-"+e:e,t$(t))}),ds=tc("button"),dc=tc("h2"),dl=p(function(e,t){return I(tp,e,{$:0,a:t})}),db=function(e){return I(dl,"click",a2(e))},dd=tc("p"),df=b8("type"),dh=p(function(e,t){var a=p(function(t,a){return I(nU,a,I(n_,cu(e.en),t))}),r=I(nU,I(a,t.dR,"Sign in to view this image."),t.at);return I(de,U([b7("diva-auth-overlay"),I(du,"role","dialog"),I(du,"aria-modal","true")]),U([I(de,U([b7("diva-auth-dialog")]),U([I(dc,B,U([tu(I(a,t.dK,"Sign in required"))])),I(dd,B,U([tu(r)])),I(ds,U([df("button"),I(du,"data-diva-auth-flow",t.da),I(du,"data-diva-auth-url",t.ea)]),U([tu(M(t.at,am)?I(a,t.dC,"Sign in"):"Retry")])),I(ds,U([df("button"),db(uk(di))]),U([tu("Cancel")]))]))]))}),dv=function(e){return tc(tE.test(e)?"p":e)},dg=tu(""),dp=p(function(e,t){return t?e:dg}),dm=p(function(e,t){return t.$?dg:e(t.a)}),dw=(b=U([.2,.3,.4,.1,.2,.3,0,.1,.2]),I(de,U([b7("diva-throbber-overlay")]),U([I(de,U([b7("diva-throbber")]),I(rl,function(e){return I(de,U([b7("diva-throbber-cube"),I(tm,"animation-delay",es(e)+"s")]),B)},b))]))),dx=function(e){var t=e.a,a=e.b,r=e.c;return I(de,U([b7("diva-viewer-status-overlay")]),U([I(de,U([b7("diva-modal is-narrow")]),U([I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title")]),U([tu(t)]))])),I(de,U([b7("diva-modal-body is-no-sidebar")]),U([I(de,U([b9(U([{a:"diva-status",b:!0},{a:"is-error",b:r}]))]),U([tu(a)]))]))]))]))},dy=function(e){return I(de,U([b7("diva-viewer-zoom-indicator")]),U([tu(e)]))},dE=x(function(e,t,a,r,n){return I(de,U([b7("diva-canvas-wrapper")]),U([C(dv,"osd-viewer",U([b9(U([{a:"diva-canvas",b:!0},{a:"is-fullscreen",b:e},{a:"has-collection",b:a}])),dt("main-viewer")]),B),I(dp,dw,t),I(dm,dx,r),I(dm,dy,n)]))}),dI=function(e){return{$:36,a:e}},dC=tc("li"),dR=tc("ul"),d$=p(function(e,t){return{$:16,a:e,b:t}}),dL=m(function(e,t,a){var r=I(cu,e,a.dN);return I(dC,B,U([I(ds,U([b9(U([{a:"diva-manifest-tree-item",b:!0},{a:"diva-ui-button",b:!0},{a:"is-active",b:M(t.dq,ap(a.s))}])),df("button"),db(I(d$,a.s,a.s))]),U([tu(r)]))]))}),dA=m(function(e,t,a){return a.$?C(dL,e,t,a.a):C(dT,e,t,a.a)}),dS=m(function(e,t,a){return I(dR,U([b7("diva-collection-list diva-list-reset")]),I(rl,C(tf,dA,e,t),a))}),dT=m(function(e,t,a){var r=I(cu,e,a.dN),n=I(lI,a.s,t.bH),i=function(){if(!n)return B;var r=I(lI,a.s,t.ak)?U([I(de,U([b7("diva-contents-empty")]),U([tu("Loading…")]))]):B;return I(_,C(dS,e,t,a.aE),r)}();return I(dC,U([b7("diva-collection-tree-item")]),I(_,I(ds,U([b7("diva-collection-node-button diva-ui-button"),df("button"),db({$:15,a:a.s})]),U([I(de,U([b7("diva-collection-expand-icon")]),U([tu(n?"▼":"▶")])),tu(r)])),i))}),dk=p(function(e,t){var a=t.t.b,r=I(cu,e.en,a.dN);return I(de,U([b9(U([{a:"diva-collection-panel",b:!0},{a:"is-fullscreen",b:e.db},{a:"is-hidden",b:!e.a0}])),I(tm,"width",e.a0?es(e.dB)+"px":"0px")]),U([I(de,U([b7("diva-collection-header")]),U([I(de,U([b7("diva-collection-title")]),U([tu(r)])),I(dm,function(t){return I(de,U([b7("diva-collection-summary")]),U([tu(I(cu,e.en,t))]))},a.gH)])),I(de,U([b7("diva-sidebar-content")]),U([I(de,U([b7("diva-sidebar-pane is-scroll")]),U([C(dS,e.en,t,a.aE)]))]))]))}),dM=function(e){var t=e.I;return 2===t.$?I(dk,e,t.a):dg},dP=tc("a"),dN=function(e){return I(b8,"href",tC.test(e)?"":e)},dz=function(e){switch(e.$){case 0:return e.a;case 1:return"none";default:return"default"}},dO=tx("rel"),dV=m(function(e,t,a){return{$:1,a:e,b:t,c:a}}),dq=p(function(e,t){return{$:1,a:e,b:t}}),dH=m(function(e,t,a){return{$:0,a:e,b:t,c:a}}),dB=p(function(e,t){return function(a){var r=t(a);if(1===r.$){var n=r.a,i=r.b;return I(dq,n,i)}var o=r.a,u=r.b,s=r.c,c=e(u)(s);if(1===c.$){var l=c.a,i=c.b;return I(dq,o||l,i)}var l=c.a;return C(dH,o||l,c.b,c.c)}}),dD=function(e){return function(t){var a=e(t);return 1===a.$?I(dq,!1,a.b):C(dH,!1,a.b,a.c)}},d_={$:11},dU=p(function(e,t){return{$:1,a:e,b:t}}),dF=w(function(e,t,a,r){return{dA:t,fL:r,dX:a,d_:e}}),dG={$:0},dj=p(function(e,t){return I(dU,dG,R(dF,e.d_,e.dA,t,e.k))}),dW=p(function(e,t){return function(a){var r=C(t7,e,a.h,a.d);return M(r,-1)?I(dq,!1,I(dj,a,t)):M(r,-2)?C(dH,!0,0,{dA:1,k:a.k,p:a.p,h:a.h+1,d_:a.d_+1,d:a.d}):C(dH,!0,0,{dA:a.dA+1,k:a.k,p:a.p,h:r,d_:a.d_,d:a.d})}}),dZ=function(e){return I(dW,e,d_)},dK=x(function(e,t,a,r,n){for(;;){var i=C(t7,e,t,n.d);if(M(i,-1))return C(dH,0>O(n.h,t),0,{dA:r,k:n.k,p:n.p,h:t,d_:a,d:n.d});if(M(i,-2)){var o=e,u=t+1,s=a+1,c=1,l=n;e=o,t=u,a=s,r=c,n=l;continue}var o=e,u=i,s=a,c=r+1,l=n;e=o,t=u,a=s,r=c,n=l}}),dX=function(e){return function(t){return $(dK,e,t.h,t.d_,t.dA,t)}},dY=m(function(e,t,a){return function(r){var n=t(r);if(1===n.$){var i=n.a,o=n.b;return I(dq,i,o)}var u=n.a,s=n.b,c=a(n.c);if(1===c.$){var l=c.a,o=c.b;return I(dq,u||l,o)}var l=c.a,b=c.b,d=c.c;return C(dH,u||l,I(e,s,b),d)}}),dJ=p(function(e,t){return C(dY,sH,e,t)}),dQ=function(e){return I(dJ,dZ(e),dX(e))},d0=p(function(e,t){return function(a){var r=t(a);if(1===r.$){var n=r.a;return I(dq,n,r.b)}var n=r.a,i=r.b,o=r.c;return C(dH,n,I(e,C(ea,a.h,o.h,a.d),i),o)}}),d1=function(e){return I(d0,sH,e)},d2=function(e){return" "===e||" "===e||"\n"===e||"\r"===e||"\f"===e||" "===e},d4=function(e){var t;return t={$:12,a:e},function(e){return I(dq,!1,I(dj,e,t))}},d3=function(e){return function(t){return C(dH,!1,e,t)}},d6=function(e){var t=I(dB,function(t){return M(c8(t),e)?d3(0):d4("closing tag does not match opening tag: "+e)},d1(dQ(function(e){return!d2(e)&&">"!==e})));return I(dJ,I(dJ,I(dJ,I(dJ,dZ(N("<")),dZ(N("/"))),t),dX(d2)),dZ(N(">")))},d5=w(function(e,t,a,r){return I(dU,dG,R(dF,e,t,a,r))}),d8=p(function(e,t){return{$:0,a:e,b:t}}),d7=function(e){return I(d8,e,{$:0,a:e})},d9=p(function(e,t){return C(dY,aj,e,t)}),fe=function(e){var t=e.a,a=e.b,r=!a9(t);return function(e){var n=$(t8,t,e.h,e.d_,e.dA,e.d),i=n.a,o=n.b,u=n.c;return M(i,-1)?I(dq,!1,I(dj,e,a)):C(dH,r,0,{dA:u,k:e.k,p:e.p,h:i,d_:o,d:e.d})}},ft=function(e){return fe(d7(e))},fa=I(d9,I(dJ,I(dJ,d3(a3),ft("O(e.h,n),0,{dA:o,k:e.k,p:e.p,h:n,d_:i,d:e.d})})),ft("--\x3e"))),fr=p(function(e,t){return function(a){var r=t(a);if(r.$){var n=r.a;return I(dq,n,r.b)}var n=r.a,i=r.b,o=r.c;return C(dH,n,e(i),o)}}),fn=I(fr,function(e){return{$:2,a:e}},fa),fi=U(["area","base","br","col","embed","hr","img","input","link","meta","param","source","track","wbr"]),fo=function(e){return{$:1,a:e}},fu=function(e){return{$:0,a:e}},fs=w(function(e,t,a,r){for(;;){var n=a(t)(r);if(n.$){var i=n.a;return I(dq,e||i,n.b)}var i=n.a,o=n.b,u=n.c;if(o.$)return C(dH,e||i,o.a,u);var s=o.a,c=a;e=e||i,t=s,a=c,r=u}}),fc=p(function(e,t){return function(a){return R(fs,!1,e,t,a)}}),fl=function(e){return e.$?{$:1,a:e.a}:{$:0,a:e.a}},fb=p(function(e,t){return I(fc,e,function(e){return I(fr,fl,t(e))})}),fd=p(function(e,t){return{$:2,a:e,b:t}}),ff=m(function(e,t,a){for(;;)if(!a.b)return I(dq,!1,t);else{var r=a.a,n=a.b,i=r(e);if(i.$){var o=i,u=o.a,s=o.b;if(u)return o;var c=e,l=I(fd,t,s);e=c,t=l,a=n;continue}var o=i;return o}}),fh=function(e){return function(t){return C(ff,t,dG,e)}},fv=function(e){return I(fb,B,function(t){return fh(U([I(fr,function(e){return fu(I(_,e,t))},e),d3(fo(az(t)))]))})},fg=I(fr,c8,d1(dQ(function(e){return!d2(e)&&'"'!==e&&"'"!==e&&">"!==e&&"/"!==e&&"="!==e}))),fp=dZ(N(";")),fm=si(U([{a:"Aacute",b:"Á"},{a:"aacute",b:"á"},{a:"Abreve",b:"Ă"},{a:"abreve",b:"ă"},{a:"ac",b:"∾"},{a:"acd",b:"∿"},{a:"acE",b:"∾̳"},{a:"Acirc",b:"Â"},{a:"acirc",b:"â"},{a:"acute",b:"´"},{a:"Acy",b:"А"},{a:"acy",b:"а"},{a:"AElig",b:"Æ"},{a:"aelig",b:"æ"},{a:"af",b:"⁡"},{a:"Afr",b:"𝔄"},{a:"afr",b:"𝔞"},{a:"Agrave",b:"À"},{a:"agrave",b:"à"},{a:"alefsym",b:"ℵ"},{a:"aleph",b:"ℵ"},{a:"Alpha",b:"Α"},{a:"alpha",b:"α"},{a:"Amacr",b:"Ā"},{a:"amacr",b:"ā"},{a:"amalg",b:"⨿"},{a:"amp",b:"&"},{a:"AMP",b:"&"},{a:"andand",b:"⩕"},{a:"And",b:"⩓"},{a:"and",b:"∧"},{a:"andd",b:"⩜"},{a:"andslope",b:"⩘"},{a:"andv",b:"⩚"},{a:"ang",b:"∠"},{a:"ange",b:"⦤"},{a:"angle",b:"∠"},{a:"angmsdaa",b:"⦨"},{a:"angmsdab",b:"⦩"},{a:"angmsdac",b:"⦪"},{a:"angmsdad",b:"⦫"},{a:"angmsdae",b:"⦬"},{a:"angmsdaf",b:"⦭"},{a:"angmsdag",b:"⦮"},{a:"angmsdah",b:"⦯"},{a:"angmsd",b:"∡"},{a:"angrt",b:"∟"},{a:"angrtvb",b:"⊾"},{a:"angrtvbd",b:"⦝"},{a:"angsph",b:"∢"},{a:"angst",b:"Å"},{a:"angzarr",b:"⍼"},{a:"Aogon",b:"Ą"},{a:"aogon",b:"ą"},{a:"Aopf",b:"𝔸"},{a:"aopf",b:"𝕒"},{a:"apacir",b:"⩯"},{a:"ap",b:"≈"},{a:"apE",b:"⩰"},{a:"ape",b:"≊"},{a:"apid",b:"≋"},{a:"apos",b:"'"},{a:"ApplyFunction",b:"⁡"},{a:"approx",b:"≈"},{a:"approxeq",b:"≊"},{a:"Aring",b:"Å"},{a:"aring",b:"å"},{a:"Ascr",b:"𝒜"},{a:"ascr",b:"𝒶"},{a:"Assign",b:"≔"},{a:"ast",b:"*"},{a:"asymp",b:"≈"},{a:"asympeq",b:"≍"},{a:"Atilde",b:"Ã"},{a:"atilde",b:"ã"},{a:"Auml",b:"Ä"},{a:"auml",b:"ä"},{a:"awconint",b:"∳"},{a:"awint",b:"⨑"},{a:"backcong",b:"≌"},{a:"backepsilon",b:"϶"},{a:"backprime",b:"‵"},{a:"backsim",b:"∽"},{a:"backsimeq",b:"⋍"},{a:"Backslash",b:"∖"},{a:"Barv",b:"⫧"},{a:"barvee",b:"⊽"},{a:"barwed",b:"⌅"},{a:"Barwed",b:"⌆"},{a:"barwedge",b:"⌅"},{a:"bbrk",b:"⎵"},{a:"bbrktbrk",b:"⎶"},{a:"bcong",b:"≌"},{a:"Bcy",b:"Б"},{a:"bcy",b:"б"},{a:"bdquo",b:"„"},{a:"becaus",b:"∵"},{a:"because",b:"∵"},{a:"Because",b:"∵"},{a:"bemptyv",b:"⦰"},{a:"bepsi",b:"϶"},{a:"bernou",b:"ℬ"},{a:"Bernoullis",b:"ℬ"},{a:"Beta",b:"Β"},{a:"beta",b:"β"},{a:"beth",b:"ℶ"},{a:"between",b:"≬"},{a:"Bfr",b:"𝔅"},{a:"bfr",b:"𝔟"},{a:"bigcap",b:"⋂"},{a:"bigcirc",b:"◯"},{a:"bigcup",b:"⋃"},{a:"bigodot",b:"⨀"},{a:"bigoplus",b:"⨁"},{a:"bigotimes",b:"⨂"},{a:"bigsqcup",b:"⨆"},{a:"bigstar",b:"★"},{a:"bigtriangledown",b:"▽"},{a:"bigtriangleup",b:"△"},{a:"biguplus",b:"⨄"},{a:"bigvee",b:"⋁"},{a:"bigwedge",b:"⋀"},{a:"bkarow",b:"⤍"},{a:"blacklozenge",b:"⧫"},{a:"blacksquare",b:"▪"},{a:"blacktriangle",b:"▴"},{a:"blacktriangledown",b:"▾"},{a:"blacktriangleleft",b:"◂"},{a:"blacktriangleright",b:"▸"},{a:"blank",b:"␣"},{a:"blk12",b:"▒"},{a:"blk14",b:"░"},{a:"blk34",b:"▓"},{a:"block",b:"█"},{a:"bne",b:"=⃥"},{a:"bnequiv",b:"≡⃥"},{a:"bNot",b:"⫭"},{a:"bnot",b:"⌐"},{a:"Bopf",b:"𝔹"},{a:"bopf",b:"𝕓"},{a:"bot",b:"⊥"},{a:"bottom",b:"⊥"},{a:"bowtie",b:"⋈"},{a:"boxbox",b:"⧉"},{a:"boxdl",b:"┐"},{a:"boxdL",b:"╕"},{a:"boxDl",b:"╖"},{a:"boxDL",b:"╗"},{a:"boxdr",b:"┌"},{a:"boxdR",b:"╒"},{a:"boxDr",b:"╓"},{a:"boxDR",b:"╔"},{a:"boxh",b:"─"},{a:"boxH",b:"═"},{a:"boxhd",b:"┬"},{a:"boxHd",b:"╤"},{a:"boxhD",b:"╥"},{a:"boxHD",b:"╦"},{a:"boxhu",b:"┴"},{a:"boxHu",b:"╧"},{a:"boxhU",b:"╨"},{a:"boxHU",b:"╩"},{a:"boxminus",b:"⊟"},{a:"boxplus",b:"⊞"},{a:"boxtimes",b:"⊠"},{a:"boxul",b:"┘"},{a:"boxuL",b:"╛"},{a:"boxUl",b:"╜"},{a:"boxUL",b:"╝"},{a:"boxur",b:"└"},{a:"boxuR",b:"╘"},{a:"boxUr",b:"╙"},{a:"boxUR",b:"╚"},{a:"boxv",b:"│"},{a:"boxV",b:"║"},{a:"boxvh",b:"┼"},{a:"boxvH",b:"╪"},{a:"boxVh",b:"╫"},{a:"boxVH",b:"╬"},{a:"boxvl",b:"┤"},{a:"boxvL",b:"╡"},{a:"boxVl",b:"╢"},{a:"boxVL",b:"╣"},{a:"boxvr",b:"├"},{a:"boxvR",b:"╞"},{a:"boxVr",b:"╟"},{a:"boxVR",b:"╠"},{a:"bprime",b:"‵"},{a:"breve",b:"˘"},{a:"Breve",b:"˘"},{a:"brvbar",b:"¦"},{a:"bscr",b:"𝒷"},{a:"Bscr",b:"ℬ"},{a:"bsemi",b:"⁏"},{a:"bsim",b:"∽"},{a:"bsime",b:"⋍"},{a:"bsolb",b:"⧅"},{a:"bsol",b:"\\"},{a:"bsolhsub",b:"⟈"},{a:"bull",b:"•"},{a:"bullet",b:"•"},{a:"bump",b:"≎"},{a:"bumpE",b:"⪮"},{a:"bumpe",b:"≏"},{a:"Bumpeq",b:"≎"},{a:"bumpeq",b:"≏"},{a:"Cacute",b:"Ć"},{a:"cacute",b:"ć"},{a:"capand",b:"⩄"},{a:"capbrcup",b:"⩉"},{a:"capcap",b:"⩋"},{a:"cap",b:"∩"},{a:"Cap",b:"⋒"},{a:"capcup",b:"⩇"},{a:"capdot",b:"⩀"},{a:"CapitalDifferentialD",b:"ⅅ"},{a:"caps",b:"∩︀"},{a:"caret",b:"⁁"},{a:"caron",b:"ˇ"},{a:"Cayleys",b:"ℭ"},{a:"ccaps",b:"⩍"},{a:"Ccaron",b:"Č"},{a:"ccaron",b:"č"},{a:"Ccedil",b:"Ç"},{a:"ccedil",b:"ç"},{a:"Ccirc",b:"Ĉ"},{a:"ccirc",b:"ĉ"},{a:"Cconint",b:"∰"},{a:"ccups",b:"⩌"},{a:"ccupssm",b:"⩐"},{a:"Cdot",b:"Ċ"},{a:"cdot",b:"ċ"},{a:"cedil",b:"¸"},{a:"Cedilla",b:"¸"},{a:"cemptyv",b:"⦲"},{a:"cent",b:"¢"},{a:"centerdot",b:"·"},{a:"CenterDot",b:"·"},{a:"cfr",b:"𝔠"},{a:"Cfr",b:"ℭ"},{a:"CHcy",b:"Ч"},{a:"chcy",b:"ч"},{a:"check",b:"✓"},{a:"checkmark",b:"✓"},{a:"Chi",b:"Χ"},{a:"chi",b:"χ"},{a:"circ",b:"ˆ"},{a:"circeq",b:"≗"},{a:"circlearrowleft",b:"↺"},{a:"circlearrowright",b:"↻"},{a:"circledast",b:"⊛"},{a:"circledcirc",b:"⊚"},{a:"circleddash",b:"⊝"},{a:"CircleDot",b:"⊙"},{a:"circledR",b:"®"},{a:"circledS",b:"Ⓢ"},{a:"CircleMinus",b:"⊖"},{a:"CirclePlus",b:"⊕"},{a:"CircleTimes",b:"⊗"},{a:"cir",b:"○"},{a:"cirE",b:"⧃"},{a:"cire",b:"≗"},{a:"cirfnint",b:"⨐"},{a:"cirmid",b:"⫯"},{a:"cirscir",b:"⧂"},{a:"ClockwiseContourIntegral",b:"∲"},{a:"CloseCurlyDoubleQuote",b:"”"},{a:"CloseCurlyQuote",b:"’"},{a:"clubs",b:"♣"},{a:"clubsuit",b:"♣"},{a:"colon",b:":"},{a:"Colon",b:"∷"},{a:"Colone",b:"⩴"},{a:"colone",b:"≔"},{a:"coloneq",b:"≔"},{a:"comma",b:","},{a:"commat",b:"@"},{a:"comp",b:"∁"},{a:"compfn",b:"∘"},{a:"complement",b:"∁"},{a:"complexes",b:"ℂ"},{a:"cong",b:"≅"},{a:"congdot",b:"⩭"},{a:"Congruent",b:"≡"},{a:"conint",b:"∮"},{a:"Conint",b:"∯"},{a:"ContourIntegral",b:"∮"},{a:"copf",b:"𝕔"},{a:"Copf",b:"ℂ"},{a:"coprod",b:"∐"},{a:"Coproduct",b:"∐"},{a:"copy",b:"©"},{a:"COPY",b:"©"},{a:"copysr",b:"℗"},{a:"CounterClockwiseContourIntegral",b:"∳"},{a:"crarr",b:"↵"},{a:"cross",b:"✗"},{a:"Cross",b:"⨯"},{a:"Cscr",b:"𝒞"},{a:"cscr",b:"𝒸"},{a:"csub",b:"⫏"},{a:"csube",b:"⫑"},{a:"csup",b:"⫐"},{a:"csupe",b:"⫒"},{a:"ctdot",b:"⋯"},{a:"cudarrl",b:"⤸"},{a:"cudarrr",b:"⤵"},{a:"cuepr",b:"⋞"},{a:"cuesc",b:"⋟"},{a:"cularr",b:"↶"},{a:"cularrp",b:"⤽"},{a:"cupbrcap",b:"⩈"},{a:"cupcap",b:"⩆"},{a:"CupCap",b:"≍"},{a:"cup",b:"∪"},{a:"Cup",b:"⋓"},{a:"cupcup",b:"⩊"},{a:"cupdot",b:"⊍"},{a:"cupor",b:"⩅"},{a:"cups",b:"∪︀"},{a:"curarr",b:"↷"},{a:"curarrm",b:"⤼"},{a:"curlyeqprec",b:"⋞"},{a:"curlyeqsucc",b:"⋟"},{a:"curlyvee",b:"⋎"},{a:"curlywedge",b:"⋏"},{a:"curren",b:"¤"},{a:"curvearrowleft",b:"↶"},{a:"curvearrowright",b:"↷"},{a:"cuvee",b:"⋎"},{a:"cuwed",b:"⋏"},{a:"cwconint",b:"∲"},{a:"cwint",b:"∱"},{a:"cylcty",b:"⌭"},{a:"dagger",b:"†"},{a:"Dagger",b:"‡"},{a:"daleth",b:"ℸ"},{a:"darr",b:"↓"},{a:"Darr",b:"↡"},{a:"dArr",b:"⇓"},{a:"dash",b:"‐"},{a:"Dashv",b:"⫤"},{a:"dashv",b:"⊣"},{a:"dbkarow",b:"⤏"},{a:"dblac",b:"˝"},{a:"Dcaron",b:"Ď"},{a:"dcaron",b:"ď"},{a:"Dcy",b:"Д"},{a:"dcy",b:"д"},{a:"ddagger",b:"‡"},{a:"ddarr",b:"⇊"},{a:"DD",b:"ⅅ"},{a:"dd",b:"ⅆ"},{a:"DDotrahd",b:"⤑"},{a:"ddotseq",b:"⩷"},{a:"deg",b:"°"},{a:"Del",b:"∇"},{a:"Delta",b:"Δ"},{a:"delta",b:"δ"},{a:"demptyv",b:"⦱"},{a:"dfisht",b:"⥿"},{a:"Dfr",b:"𝔇"},{a:"dfr",b:"𝔡"},{a:"dHar",b:"⥥"},{a:"dharl",b:"⇃"},{a:"dharr",b:"⇂"},{a:"DiacriticalAcute",b:"´"},{a:"DiacriticalDot",b:"˙"},{a:"DiacriticalDoubleAcute",b:"˝"},{a:"DiacriticalGrave",b:"`"},{a:"DiacriticalTilde",b:"˜"},{a:"diam",b:"⋄"},{a:"diamond",b:"⋄"},{a:"Diamond",b:"⋄"},{a:"diamondsuit",b:"♦"},{a:"diams",b:"♦"},{a:"die",b:"¨"},{a:"DifferentialD",b:"ⅆ"},{a:"digamma",b:"ϝ"},{a:"disin",b:"⋲"},{a:"div",b:"÷"},{a:"divide",b:"÷"},{a:"divideontimes",b:"⋇"},{a:"divonx",b:"⋇"},{a:"DJcy",b:"Ђ"},{a:"djcy",b:"ђ"},{a:"dlcorn",b:"⌞"},{a:"dlcrop",b:"⌍"},{a:"dollar",b:"$"},{a:"Dopf",b:"𝔻"},{a:"dopf",b:"𝕕"},{a:"Dot",b:"¨"},{a:"dot",b:"˙"},{a:"DotDot",b:"⃜"},{a:"doteq",b:"≐"},{a:"doteqdot",b:"≑"},{a:"DotEqual",b:"≐"},{a:"dotminus",b:"∸"},{a:"dotplus",b:"∔"},{a:"dotsquare",b:"⊡"},{a:"doublebarwedge",b:"⌆"},{a:"DoubleContourIntegral",b:"∯"},{a:"DoubleDot",b:"¨"},{a:"DoubleDownArrow",b:"⇓"},{a:"DoubleLeftArrow",b:"⇐"},{a:"DoubleLeftRightArrow",b:"⇔"},{a:"DoubleLeftTee",b:"⫤"},{a:"DoubleLongLeftArrow",b:"⟸"},{a:"DoubleLongLeftRightArrow",b:"⟺"},{a:"DoubleLongRightArrow",b:"⟹"},{a:"DoubleRightArrow",b:"⇒"},{a:"DoubleRightTee",b:"⊨"},{a:"DoubleUpArrow",b:"⇑"},{a:"DoubleUpDownArrow",b:"⇕"},{a:"DoubleVerticalBar",b:"∥"},{a:"DownArrowBar",b:"⤓"},{a:"downarrow",b:"↓"},{a:"DownArrow",b:"↓"},{a:"Downarrow",b:"⇓"},{a:"DownArrowUpArrow",b:"⇵"},{a:"DownBreve",b:"̑"},{a:"downdownarrows",b:"⇊"},{a:"downharpoonleft",b:"⇃"},{a:"downharpoonright",b:"⇂"},{a:"DownLeftRightVector",b:"⥐"},{a:"DownLeftTeeVector",b:"⥞"},{a:"DownLeftVectorBar",b:"⥖"},{a:"DownLeftVector",b:"↽"},{a:"DownRightTeeVector",b:"⥟"},{a:"DownRightVectorBar",b:"⥗"},{a:"DownRightVector",b:"⇁"},{a:"DownTeeArrow",b:"↧"},{a:"DownTee",b:"⊤"},{a:"drbkarow",b:"⤐"},{a:"drcorn",b:"⌟"},{a:"drcrop",b:"⌌"},{a:"Dscr",b:"𝒟"},{a:"dscr",b:"𝒹"},{a:"DScy",b:"Ѕ"},{a:"dscy",b:"ѕ"},{a:"dsol",b:"⧶"},{a:"Dstrok",b:"Đ"},{a:"dstrok",b:"đ"},{a:"dtdot",b:"⋱"},{a:"dtri",b:"▿"},{a:"dtrif",b:"▾"},{a:"duarr",b:"⇵"},{a:"duhar",b:"⥯"},{a:"dwangle",b:"⦦"},{a:"DZcy",b:"Џ"},{a:"dzcy",b:"џ"},{a:"dzigrarr",b:"⟿"},{a:"Eacute",b:"É"},{a:"eacute",b:"é"},{a:"easter",b:"⩮"},{a:"Ecaron",b:"Ě"},{a:"ecaron",b:"ě"},{a:"Ecirc",b:"Ê"},{a:"ecirc",b:"ê"},{a:"ecir",b:"≖"},{a:"ecolon",b:"≕"},{a:"Ecy",b:"Э"},{a:"ecy",b:"э"},{a:"eDDot",b:"⩷"},{a:"Edot",b:"Ė"},{a:"edot",b:"ė"},{a:"eDot",b:"≑"},{a:"ee",b:"ⅇ"},{a:"efDot",b:"≒"},{a:"Efr",b:"𝔈"},{a:"efr",b:"𝔢"},{a:"eg",b:"⪚"},{a:"Egrave",b:"È"},{a:"egrave",b:"è"},{a:"egs",b:"⪖"},{a:"egsdot",b:"⪘"},{a:"el",b:"⪙"},{a:"Element",b:"∈"},{a:"elinters",b:"⏧"},{a:"ell",b:"ℓ"},{a:"els",b:"⪕"},{a:"elsdot",b:"⪗"},{a:"Emacr",b:"Ē"},{a:"emacr",b:"ē"},{a:"empty",b:"∅"},{a:"emptyset",b:"∅"},{a:"EmptySmallSquare",b:"◻"},{a:"emptyv",b:"∅"},{a:"EmptyVerySmallSquare",b:"▫"},{a:"emsp13",b:" "},{a:"emsp14",b:" "},{a:"emsp",b:" "},{a:"ENG",b:"Ŋ"},{a:"eng",b:"ŋ"},{a:"ensp",b:" "},{a:"Eogon",b:"Ę"},{a:"eogon",b:"ę"},{a:"Eopf",b:"𝔼"},{a:"eopf",b:"𝕖"},{a:"epar",b:"⋕"},{a:"eparsl",b:"⧣"},{a:"eplus",b:"⩱"},{a:"epsi",b:"ε"},{a:"Epsilon",b:"Ε"},{a:"epsilon",b:"ε"},{a:"epsiv",b:"ϵ"},{a:"eqcirc",b:"≖"},{a:"eqcolon",b:"≕"},{a:"eqsim",b:"≂"},{a:"eqslantgtr",b:"⪖"},{a:"eqslantless",b:"⪕"},{a:"Equal",b:"⩵"},{a:"equals",b:"="},{a:"EqualTilde",b:"≂"},{a:"equest",b:"≟"},{a:"Equilibrium",b:"⇌"},{a:"equiv",b:"≡"},{a:"equivDD",b:"⩸"},{a:"eqvparsl",b:"⧥"},{a:"erarr",b:"⥱"},{a:"erDot",b:"≓"},{a:"escr",b:"ℯ"},{a:"Escr",b:"ℰ"},{a:"esdot",b:"≐"},{a:"Esim",b:"⩳"},{a:"esim",b:"≂"},{a:"Eta",b:"Η"},{a:"eta",b:"η"},{a:"ETH",b:"Ð"},{a:"eth",b:"ð"},{a:"Euml",b:"Ë"},{a:"euml",b:"ë"},{a:"euro",b:"€"},{a:"excl",b:"!"},{a:"exist",b:"∃"},{a:"Exists",b:"∃"},{a:"expectation",b:"ℰ"},{a:"exponentiale",b:"ⅇ"},{a:"ExponentialE",b:"ⅇ"},{a:"fallingdotseq",b:"≒"},{a:"Fcy",b:"Ф"},{a:"fcy",b:"ф"},{a:"female",b:"♀"},{a:"ffilig",b:"ffi"},{a:"fflig",b:"ff"},{a:"ffllig",b:"ffl"},{a:"Ffr",b:"𝔉"},{a:"ffr",b:"𝔣"},{a:"filig",b:"fi"},{a:"FilledSmallSquare",b:"◼"},{a:"FilledVerySmallSquare",b:"▪"},{a:"fjlig",b:"fj"},{a:"flat",b:"♭"},{a:"fllig",b:"fl"},{a:"fltns",b:"▱"},{a:"fnof",b:"ƒ"},{a:"Fopf",b:"𝔽"},{a:"fopf",b:"𝕗"},{a:"forall",b:"∀"},{a:"ForAll",b:"∀"},{a:"fork",b:"⋔"},{a:"forkv",b:"⫙"},{a:"Fouriertrf",b:"ℱ"},{a:"fpartint",b:"⨍"},{a:"frac12",b:"½"},{a:"frac13",b:"⅓"},{a:"frac14",b:"¼"},{a:"frac15",b:"⅕"},{a:"frac16",b:"⅙"},{a:"frac18",b:"⅛"},{a:"frac23",b:"⅔"},{a:"frac25",b:"⅖"},{a:"frac34",b:"¾"},{a:"frac35",b:"⅗"},{a:"frac38",b:"⅜"},{a:"frac45",b:"⅘"},{a:"frac56",b:"⅚"},{a:"frac58",b:"⅝"},{a:"frac78",b:"⅞"},{a:"frasl",b:"⁄"},{a:"frown",b:"⌢"},{a:"fscr",b:"𝒻"},{a:"Fscr",b:"ℱ"},{a:"gacute",b:"ǵ"},{a:"Gamma",b:"Γ"},{a:"gamma",b:"γ"},{a:"Gammad",b:"Ϝ"},{a:"gammad",b:"ϝ"},{a:"gap",b:"⪆"},{a:"Gbreve",b:"Ğ"},{a:"gbreve",b:"ğ"},{a:"Gcedil",b:"Ģ"},{a:"Gcirc",b:"Ĝ"},{a:"gcirc",b:"ĝ"},{a:"Gcy",b:"Г"},{a:"gcy",b:"г"},{a:"Gdot",b:"Ġ"},{a:"gdot",b:"ġ"},{a:"ge",b:"≥"},{a:"gE",b:"≧"},{a:"gEl",b:"⪌"},{a:"gel",b:"⋛"},{a:"geq",b:"≥"},{a:"geqq",b:"≧"},{a:"geqslant",b:"⩾"},{a:"gescc",b:"⪩"},{a:"ges",b:"⩾"},{a:"gesdot",b:"⪀"},{a:"gesdoto",b:"⪂"},{a:"gesdotol",b:"⪄"},{a:"gesl",b:"⋛︀"},{a:"gesles",b:"⪔"},{a:"Gfr",b:"𝔊"},{a:"gfr",b:"𝔤"},{a:"gg",b:"≫"},{a:"Gg",b:"⋙"},{a:"ggg",b:"⋙"},{a:"gimel",b:"ℷ"},{a:"GJcy",b:"Ѓ"},{a:"gjcy",b:"ѓ"},{a:"gla",b:"⪥"},{a:"gl",b:"≷"},{a:"glE",b:"⪒"},{a:"glj",b:"⪤"},{a:"gnap",b:"⪊"},{a:"gnapprox",b:"⪊"},{a:"gne",b:"⪈"},{a:"gnE",b:"≩"},{a:"gneq",b:"⪈"},{a:"gneqq",b:"≩"},{a:"gnsim",b:"⋧"},{a:"Gopf",b:"𝔾"},{a:"gopf",b:"𝕘"},{a:"grave",b:"`"},{a:"GreaterEqual",b:"≥"},{a:"GreaterEqualLess",b:"⋛"},{a:"GreaterFullEqual",b:"≧"},{a:"GreaterGreater",b:"⪢"},{a:"GreaterLess",b:"≷"},{a:"GreaterSlantEqual",b:"⩾"},{a:"GreaterTilde",b:"≳"},{a:"Gscr",b:"𝒢"},{a:"gscr",b:"ℊ"},{a:"gsim",b:"≳"},{a:"gsime",b:"⪎"},{a:"gsiml",b:"⪐"},{a:"gtcc",b:"⪧"},{a:"gtcir",b:"⩺"},{a:"gt",b:">"},{a:"GT",b:">"},{a:"Gt",b:"≫"},{a:"gtdot",b:"⋗"},{a:"gtlPar",b:"⦕"},{a:"gtquest",b:"⩼"},{a:"gtrapprox",b:"⪆"},{a:"gtrarr",b:"⥸"},{a:"gtrdot",b:"⋗"},{a:"gtreqless",b:"⋛"},{a:"gtreqqless",b:"⪌"},{a:"gtrless",b:"≷"},{a:"gtrsim",b:"≳"},{a:"gvertneqq",b:"≩︀"},{a:"gvnE",b:"≩︀"},{a:"Hacek",b:"ˇ"},{a:"hairsp",b:" "},{a:"half",b:"½"},{a:"hamilt",b:"ℋ"},{a:"HARDcy",b:"Ъ"},{a:"hardcy",b:"ъ"},{a:"harrcir",b:"⥈"},{a:"harr",b:"↔"},{a:"hArr",b:"⇔"},{a:"harrw",b:"↭"},{a:"Hat",b:"^"},{a:"hbar",b:"ℏ"},{a:"Hcirc",b:"Ĥ"},{a:"hcirc",b:"ĥ"},{a:"hearts",b:"♥"},{a:"heartsuit",b:"♥"},{a:"hellip",b:"…"},{a:"hercon",b:"⊹"},{a:"hfr",b:"𝔥"},{a:"Hfr",b:"ℌ"},{a:"HilbertSpace",b:"ℋ"},{a:"hksearow",b:"⤥"},{a:"hkswarow",b:"⤦"},{a:"hoarr",b:"⇿"},{a:"homtht",b:"∻"},{a:"hookleftarrow",b:"↩"},{a:"hookrightarrow",b:"↪"},{a:"hopf",b:"𝕙"},{a:"Hopf",b:"ℍ"},{a:"horbar",b:"―"},{a:"HorizontalLine",b:"─"},{a:"hscr",b:"𝒽"},{a:"Hscr",b:"ℋ"},{a:"hslash",b:"ℏ"},{a:"Hstrok",b:"Ħ"},{a:"hstrok",b:"ħ"},{a:"HumpDownHump",b:"≎"},{a:"HumpEqual",b:"≏"},{a:"hybull",b:"⁃"},{a:"hyphen",b:"‐"},{a:"Iacute",b:"Í"},{a:"iacute",b:"í"},{a:"ic",b:"⁣"},{a:"Icirc",b:"Î"},{a:"icirc",b:"î"},{a:"Icy",b:"И"},{a:"icy",b:"и"},{a:"Idot",b:"İ"},{a:"IEcy",b:"Е"},{a:"iecy",b:"е"},{a:"iexcl",b:"¡"},{a:"iff",b:"⇔"},{a:"ifr",b:"𝔦"},{a:"Ifr",b:"ℑ"},{a:"Igrave",b:"Ì"},{a:"igrave",b:"ì"},{a:"ii",b:"ⅈ"},{a:"iiiint",b:"⨌"},{a:"iiint",b:"∭"},{a:"iinfin",b:"⧜"},{a:"iiota",b:"℩"},{a:"IJlig",b:"IJ"},{a:"ijlig",b:"ij"},{a:"Imacr",b:"Ī"},{a:"imacr",b:"ī"},{a:"image",b:"ℑ"},{a:"ImaginaryI",b:"ⅈ"},{a:"imagline",b:"ℐ"},{a:"imagpart",b:"ℑ"},{a:"imath",b:"ı"},{a:"Im",b:"ℑ"},{a:"imof",b:"⊷"},{a:"imped",b:"Ƶ"},{a:"Implies",b:"⇒"},{a:"incare",b:"℅"},{a:"in",b:"∈"},{a:"infin",b:"∞"},{a:"infintie",b:"⧝"},{a:"inodot",b:"ı"},{a:"intcal",b:"⊺"},{a:"int",b:"∫"},{a:"Int",b:"∬"},{a:"integers",b:"ℤ"},{a:"Integral",b:"∫"},{a:"intercal",b:"⊺"},{a:"Intersection",b:"⋂"},{a:"intlarhk",b:"⨗"},{a:"intprod",b:"⨼"},{a:"InvisibleComma",b:"⁣"},{a:"InvisibleTimes",b:"⁢"},{a:"IOcy",b:"Ё"},{a:"iocy",b:"ё"},{a:"Iogon",b:"Į"},{a:"iogon",b:"į"},{a:"Iopf",b:"𝕀"},{a:"iopf",b:"𝕚"},{a:"Iota",b:"Ι"},{a:"iota",b:"ι"},{a:"iprod",b:"⨼"},{a:"iquest",b:"¿"},{a:"iscr",b:"𝒾"},{a:"Iscr",b:"ℐ"},{a:"isin",b:"∈"},{a:"isindot",b:"⋵"},{a:"isinE",b:"⋹"},{a:"isins",b:"⋴"},{a:"isinsv",b:"⋳"},{a:"isinv",b:"∈"},{a:"it",b:"⁢"},{a:"Itilde",b:"Ĩ"},{a:"itilde",b:"ĩ"},{a:"Iukcy",b:"І"},{a:"iukcy",b:"і"},{a:"Iuml",b:"Ï"},{a:"iuml",b:"ï"},{a:"Jcirc",b:"Ĵ"},{a:"jcirc",b:"ĵ"},{a:"Jcy",b:"Й"},{a:"jcy",b:"й"},{a:"Jfr",b:"𝔍"},{a:"jfr",b:"𝔧"},{a:"jmath",b:"ȷ"},{a:"Jopf",b:"𝕁"},{a:"jopf",b:"𝕛"},{a:"Jscr",b:"𝒥"},{a:"jscr",b:"𝒿"},{a:"Jsercy",b:"Ј"},{a:"jsercy",b:"ј"},{a:"Jukcy",b:"Є"},{a:"jukcy",b:"є"},{a:"Kappa",b:"Κ"},{a:"kappa",b:"κ"},{a:"kappav",b:"ϰ"},{a:"Kcedil",b:"Ķ"},{a:"kcedil",b:"ķ"},{a:"Kcy",b:"К"},{a:"kcy",b:"к"},{a:"Kfr",b:"𝔎"},{a:"kfr",b:"𝔨"},{a:"kgreen",b:"ĸ"},{a:"KHcy",b:"Х"},{a:"khcy",b:"х"},{a:"KJcy",b:"Ќ"},{a:"kjcy",b:"ќ"},{a:"Kopf",b:"𝕂"},{a:"kopf",b:"𝕜"},{a:"Kscr",b:"𝒦"},{a:"kscr",b:"𝓀"},{a:"lAarr",b:"⇚"},{a:"Lacute",b:"Ĺ"},{a:"lacute",b:"ĺ"},{a:"laemptyv",b:"⦴"},{a:"lagran",b:"ℒ"},{a:"Lambda",b:"Λ"},{a:"lambda",b:"λ"},{a:"lang",b:"⟨"},{a:"Lang",b:"⟪"},{a:"langd",b:"⦑"},{a:"langle",b:"⟨"},{a:"lap",b:"⪅"},{a:"Laplacetrf",b:"ℒ"},{a:"laquo",b:"«"},{a:"larrb",b:"⇤"},{a:"larrbfs",b:"⤟"},{a:"larr",b:"←"},{a:"Larr",b:"↞"},{a:"lArr",b:"⇐"},{a:"larrfs",b:"⤝"},{a:"larrhk",b:"↩"},{a:"larrlp",b:"↫"},{a:"larrpl",b:"⤹"},{a:"larrsim",b:"⥳"},{a:"larrtl",b:"↢"},{a:"latail",b:"⤙"},{a:"lAtail",b:"⤛"},{a:"lat",b:"⪫"},{a:"late",b:"⪭"},{a:"lates",b:"⪭︀"},{a:"lbarr",b:"⤌"},{a:"lBarr",b:"⤎"},{a:"lbbrk",b:"❲"},{a:"lbrace",b:"{"},{a:"lbrack",b:"["},{a:"lbrke",b:"⦋"},{a:"lbrksld",b:"⦏"},{a:"lbrkslu",b:"⦍"},{a:"Lcaron",b:"Ľ"},{a:"lcaron",b:"ľ"},{a:"Lcedil",b:"Ļ"},{a:"lcedil",b:"ļ"},{a:"lceil",b:"⌈"},{a:"lcub",b:"{"},{a:"Lcy",b:"Л"},{a:"lcy",b:"л"},{a:"ldca",b:"⤶"},{a:"ldquo",b:"“"},{a:"ldquor",b:"„"},{a:"ldrdhar",b:"⥧"},{a:"ldrushar",b:"⥋"},{a:"ldsh",b:"↲"},{a:"le",b:"≤"},{a:"lE",b:"≦"},{a:"LeftAngleBracket",b:"⟨"},{a:"LeftArrowBar",b:"⇤"},{a:"leftarrow",b:"←"},{a:"LeftArrow",b:"←"},{a:"Leftarrow",b:"⇐"},{a:"LeftArrowRightArrow",b:"⇆"},{a:"leftarrowtail",b:"↢"},{a:"LeftCeiling",b:"⌈"},{a:"LeftDoubleBracket",b:"⟦"},{a:"LeftDownTeeVector",b:"⥡"},{a:"LeftDownVectorBar",b:"⥙"},{a:"LeftDownVector",b:"⇃"},{a:"LeftFloor",b:"⌊"},{a:"leftharpoondown",b:"↽"},{a:"leftharpoonup",b:"↼"},{a:"leftleftarrows",b:"⇇"},{a:"leftrightarrow",b:"↔"},{a:"LeftRightArrow",b:"↔"},{a:"Leftrightarrow",b:"⇔"},{a:"leftrightarrows",b:"⇆"},{a:"leftrightharpoons",b:"⇋"},{a:"leftrightsquigarrow",b:"↭"},{a:"LeftRightVector",b:"⥎"},{a:"LeftTeeArrow",b:"↤"},{a:"LeftTee",b:"⊣"},{a:"LeftTeeVector",b:"⥚"},{a:"leftthreetimes",b:"⋋"},{a:"LeftTriangleBar",b:"⧏"},{a:"LeftTriangle",b:"⊲"},{a:"LeftTriangleEqual",b:"⊴"},{a:"LeftUpDownVector",b:"⥑"},{a:"LeftUpTeeVector",b:"⥠"},{a:"LeftUpVectorBar",b:"⥘"},{a:"LeftUpVector",b:"↿"},{a:"LeftVectorBar",b:"⥒"},{a:"LeftVector",b:"↼"},{a:"lEg",b:"⪋"},{a:"leg",b:"⋚"},{a:"leq",b:"≤"},{a:"leqq",b:"≦"},{a:"leqslant",b:"⩽"},{a:"lescc",b:"⪨"},{a:"les",b:"⩽"},{a:"lesdot",b:"⩿"},{a:"lesdoto",b:"⪁"},{a:"lesdotor",b:"⪃"},{a:"lesg",b:"⋚︀"},{a:"lesges",b:"⪓"},{a:"lessapprox",b:"⪅"},{a:"lessdot",b:"⋖"},{a:"lesseqgtr",b:"⋚"},{a:"lesseqqgtr",b:"⪋"},{a:"LessEqualGreater",b:"⋚"},{a:"LessFullEqual",b:"≦"},{a:"LessGreater",b:"≶"},{a:"lessgtr",b:"≶"},{a:"LessLess",b:"⪡"},{a:"lesssim",b:"≲"},{a:"LessSlantEqual",b:"⩽"},{a:"LessTilde",b:"≲"},{a:"lfisht",b:"⥼"},{a:"lfloor",b:"⌊"},{a:"Lfr",b:"𝔏"},{a:"lfr",b:"𝔩"},{a:"lg",b:"≶"},{a:"lgE",b:"⪑"},{a:"lHar",b:"⥢"},{a:"lhard",b:"↽"},{a:"lharu",b:"↼"},{a:"lharul",b:"⥪"},{a:"lhblk",b:"▄"},{a:"LJcy",b:"Љ"},{a:"ljcy",b:"љ"},{a:"llarr",b:"⇇"},{a:"ll",b:"≪"},{a:"Ll",b:"⋘"},{a:"llcorner",b:"⌞"},{a:"Lleftarrow",b:"⇚"},{a:"llhard",b:"⥫"},{a:"lltri",b:"◺"},{a:"Lmidot",b:"Ŀ"},{a:"lmidot",b:"ŀ"},{a:"lmoustache",b:"⎰"},{a:"lmoust",b:"⎰"},{a:"lnap",b:"⪉"},{a:"lnapprox",b:"⪉"},{a:"lne",b:"⪇"},{a:"lnE",b:"≨"},{a:"lneq",b:"⪇"},{a:"lneqq",b:"≨"},{a:"lnsim",b:"⋦"},{a:"loang",b:"⟬"},{a:"loarr",b:"⇽"},{a:"lobrk",b:"⟦"},{a:"longleftarrow",b:"⟵"},{a:"LongLeftArrow",b:"⟵"},{a:"Longleftarrow",b:"⟸"},{a:"longleftrightarrow",b:"⟷"},{a:"LongLeftRightArrow",b:"⟷"},{a:"Longleftrightarrow",b:"⟺"},{a:"longmapsto",b:"⟼"},{a:"longrightarrow",b:"⟶"},{a:"LongRightArrow",b:"⟶"},{a:"Longrightarrow",b:"⟹"},{a:"looparrowleft",b:"↫"},{a:"looparrowright",b:"↬"},{a:"lopar",b:"⦅"},{a:"Lopf",b:"𝕃"},{a:"lopf",b:"𝕝"},{a:"loplus",b:"⨭"},{a:"lotimes",b:"⨴"},{a:"lowast",b:"∗"},{a:"lowbar",b:"_"},{a:"LowerLeftArrow",b:"↙"},{a:"LowerRightArrow",b:"↘"},{a:"loz",b:"◊"},{a:"lozenge",b:"◊"},{a:"lozf",b:"⧫"},{a:"lpar",b:"("},{a:"lparlt",b:"⦓"},{a:"lrarr",b:"⇆"},{a:"lrcorner",b:"⌟"},{a:"lrhar",b:"⇋"},{a:"lrhard",b:"⥭"},{a:"lrm",b:"‎"},{a:"lrtri",b:"⊿"},{a:"lsaquo",b:"‹"},{a:"lscr",b:"𝓁"},{a:"Lscr",b:"ℒ"},{a:"lsh",b:"↰"},{a:"Lsh",b:"↰"},{a:"lsim",b:"≲"},{a:"lsime",b:"⪍"},{a:"lsimg",b:"⪏"},{a:"lsqb",b:"["},{a:"lsquo",b:"‘"},{a:"lsquor",b:"‚"},{a:"Lstrok",b:"Ł"},{a:"lstrok",b:"ł"},{a:"ltcc",b:"⪦"},{a:"ltcir",b:"⩹"},{a:"lt",b:"<"},{a:"LT",b:"<"},{a:"Lt",b:"≪"},{a:"ltdot",b:"⋖"},{a:"lthree",b:"⋋"},{a:"ltimes",b:"⋉"},{a:"ltlarr",b:"⥶"},{a:"ltquest",b:"⩻"},{a:"ltri",b:"◃"},{a:"ltrie",b:"⊴"},{a:"ltrif",b:"◂"},{a:"ltrPar",b:"⦖"},{a:"lurdshar",b:"⥊"},{a:"luruhar",b:"⥦"},{a:"lvertneqq",b:"≨︀"},{a:"lvnE",b:"≨︀"},{a:"macr",b:"¯"},{a:"male",b:"♂"},{a:"malt",b:"✠"},{a:"maltese",b:"✠"},{a:"Map",b:"⤅"},{a:"map",b:"↦"},{a:"mapsto",b:"↦"},{a:"mapstodown",b:"↧"},{a:"mapstoleft",b:"↤"},{a:"mapstoup",b:"↥"},{a:"marker",b:"▮"},{a:"mcomma",b:"⨩"},{a:"Mcy",b:"М"},{a:"mcy",b:"м"},{a:"mdash",b:"—"},{a:"mDDot",b:"∺"},{a:"measuredangle",b:"∡"},{a:"MediumSpace",b:" "},{a:"Mellintrf",b:"ℳ"},{a:"Mfr",b:"𝔐"},{a:"mfr",b:"𝔪"},{a:"mho",b:"℧"},{a:"micro",b:"µ"},{a:"midast",b:"*"},{a:"midcir",b:"⫰"},{a:"mid",b:"∣"},{a:"middot",b:"·"},{a:"minusb",b:"⊟"},{a:"minus",b:"−"},{a:"minusd",b:"∸"},{a:"minusdu",b:"⨪"},{a:"MinusPlus",b:"∓"},{a:"mlcp",b:"⫛"},{a:"mldr",b:"…"},{a:"mnplus",b:"∓"},{a:"models",b:"⊧"},{a:"Mopf",b:"𝕄"},{a:"mopf",b:"𝕞"},{a:"mp",b:"∓"},{a:"mscr",b:"𝓂"},{a:"Mscr",b:"ℳ"},{a:"mstpos",b:"∾"},{a:"Mu",b:"Μ"},{a:"mu",b:"μ"},{a:"multimap",b:"⊸"},{a:"mumap",b:"⊸"},{a:"nabla",b:"∇"},{a:"Nacute",b:"Ń"},{a:"nacute",b:"ń"},{a:"nang",b:"∠⃒"},{a:"nap",b:"≉"},{a:"napE",b:"⩰̸"},{a:"napid",b:"≋̸"},{a:"napos",b:"ʼn"},{a:"napprox",b:"≉"},{a:"natural",b:"♮"},{a:"naturals",b:"ℕ"},{a:"natur",b:"♮"},{a:"nbsp",b:" "},{a:"nbump",b:"≎̸"},{a:"nbumpe",b:"≏̸"},{a:"ncap",b:"⩃"},{a:"Ncaron",b:"Ň"},{a:"ncaron",b:"ň"},{a:"Ncedil",b:"Ņ"},{a:"ncedil",b:"ņ"},{a:"ncong",b:"≇"},{a:"ncongdot",b:"⩭̸"},{a:"ncup",b:"⩂"},{a:"Ncy",b:"Н"},{a:"ncy",b:"н"},{a:"ndash",b:"–"},{a:"nearhk",b:"⤤"},{a:"nearr",b:"↗"},{a:"neArr",b:"⇗"},{a:"nearrow",b:"↗"},{a:"ne",b:"≠"},{a:"nedot",b:"≐̸"},{a:"NegativeMediumSpace",b:"​"},{a:"NegativeThickSpace",b:"​"},{a:"NegativeThinSpace",b:"​"},{a:"NegativeVeryThinSpace",b:"​"},{a:"nequiv",b:"≢"},{a:"nesear",b:"⤨"},{a:"nesim",b:"≂̸"},{a:"NestedGreaterGreater",b:"≫"},{a:"NestedLessLess",b:"≪"},{a:"NewLine",b:"\n"},{a:"nexist",b:"∄"},{a:"nexists",b:"∄"},{a:"Nfr",b:"𝔑"},{a:"nfr",b:"𝔫"},{a:"ngE",b:"≧̸"},{a:"nge",b:"≱"},{a:"ngeq",b:"≱"},{a:"ngeqq",b:"≧̸"},{a:"ngeqslant",b:"⩾̸"},{a:"nges",b:"⩾̸"},{a:"nGg",b:"⋙̸"},{a:"ngsim",b:"≵"},{a:"nGt",b:"≫⃒"},{a:"ngt",b:"≯"},{a:"ngtr",b:"≯"},{a:"nGtv",b:"≫̸"},{a:"nharr",b:"↮"},{a:"nhArr",b:"⇎"},{a:"nhpar",b:"⫲"},{a:"ni",b:"∋"},{a:"nis",b:"⋼"},{a:"nisd",b:"⋺"},{a:"niv",b:"∋"},{a:"NJcy",b:"Њ"},{a:"njcy",b:"њ"},{a:"nlarr",b:"↚"},{a:"nlArr",b:"⇍"},{a:"nldr",b:"‥"},{a:"nlE",b:"≦̸"},{a:"nle",b:"≰"},{a:"nleftarrow",b:"↚"},{a:"nLeftarrow",b:"⇍"},{a:"nleftrightarrow",b:"↮"},{a:"nLeftrightarrow",b:"⇎"},{a:"nleq",b:"≰"},{a:"nleqq",b:"≦̸"},{a:"nleqslant",b:"⩽̸"},{a:"nles",b:"⩽̸"},{a:"nless",b:"≮"},{a:"nLl",b:"⋘̸"},{a:"nlsim",b:"≴"},{a:"nLt",b:"≪⃒"},{a:"nlt",b:"≮"},{a:"nltri",b:"⋪"},{a:"nltrie",b:"⋬"},{a:"nLtv",b:"≪̸"},{a:"nmid",b:"∤"},{a:"NoBreak",b:"⁠"},{a:"NonBreakingSpace",b:" "},{a:"nopf",b:"𝕟"},{a:"Nopf",b:"ℕ"},{a:"Not",b:"⫬"},{a:"not",b:"¬"},{a:"NotCongruent",b:"≢"},{a:"NotCupCap",b:"≭"},{a:"NotDoubleVerticalBar",b:"∦"},{a:"NotElement",b:"∉"},{a:"NotEqual",b:"≠"},{a:"NotEqualTilde",b:"≂̸"},{a:"NotExists",b:"∄"},{a:"NotGreater",b:"≯"},{a:"NotGreaterEqual",b:"≱"},{a:"NotGreaterFullEqual",b:"≧̸"},{a:"NotGreaterGreater",b:"≫̸"},{a:"NotGreaterLess",b:"≹"},{a:"NotGreaterSlantEqual",b:"⩾̸"},{a:"NotGreaterTilde",b:"≵"},{a:"NotHumpDownHump",b:"≎̸"},{a:"NotHumpEqual",b:"≏̸"},{a:"notin",b:"∉"},{a:"notindot",b:"⋵̸"},{a:"notinE",b:"⋹̸"},{a:"notinva",b:"∉"},{a:"notinvb",b:"⋷"},{a:"notinvc",b:"⋶"},{a:"NotLeftTriangleBar",b:"⧏̸"},{a:"NotLeftTriangle",b:"⋪"},{a:"NotLeftTriangleEqual",b:"⋬"},{a:"NotLess",b:"≮"},{a:"NotLessEqual",b:"≰"},{a:"NotLessGreater",b:"≸"},{a:"NotLessLess",b:"≪̸"},{a:"NotLessSlantEqual",b:"⩽̸"},{a:"NotLessTilde",b:"≴"},{a:"NotNestedGreaterGreater",b:"⪢̸"},{a:"NotNestedLessLess",b:"⪡̸"},{a:"notni",b:"∌"},{a:"notniva",b:"∌"},{a:"notnivb",b:"⋾"},{a:"notnivc",b:"⋽"},{a:"NotPrecedes",b:"⊀"},{a:"NotPrecedesEqual",b:"⪯̸"},{a:"NotPrecedesSlantEqual",b:"⋠"},{a:"NotReverseElement",b:"∌"},{a:"NotRightTriangleBar",b:"⧐̸"},{a:"NotRightTriangle",b:"⋫"},{a:"NotRightTriangleEqual",b:"⋭"},{a:"NotSquareSubset",b:"⊏̸"},{a:"NotSquareSubsetEqual",b:"⋢"},{a:"NotSquareSuperset",b:"⊐̸"},{a:"NotSquareSupersetEqual",b:"⋣"},{a:"NotSubset",b:"⊂⃒"},{a:"NotSubsetEqual",b:"⊈"},{a:"NotSucceeds",b:"⊁"},{a:"NotSucceedsEqual",b:"⪰̸"},{a:"NotSucceedsSlantEqual",b:"⋡"},{a:"NotSucceedsTilde",b:"≿̸"},{a:"NotSuperset",b:"⊃⃒"},{a:"NotSupersetEqual",b:"⊉"},{a:"NotTilde",b:"≁"},{a:"NotTildeEqual",b:"≄"},{a:"NotTildeFullEqual",b:"≇"},{a:"NotTildeTilde",b:"≉"},{a:"NotVerticalBar",b:"∤"},{a:"nparallel",b:"∦"},{a:"npar",b:"∦"},{a:"nparsl",b:"⫽⃥"},{a:"npart",b:"∂̸"},{a:"npolint",b:"⨔"},{a:"npr",b:"⊀"},{a:"nprcue",b:"⋠"},{a:"nprec",b:"⊀"},{a:"npreceq",b:"⪯̸"},{a:"npre",b:"⪯̸"},{a:"nrarrc",b:"⤳̸"},{a:"nrarr",b:"↛"},{a:"nrArr",b:"⇏"},{a:"nrarrw",b:"↝̸"},{a:"nrightarrow",b:"↛"},{a:"nRightarrow",b:"⇏"},{a:"nrtri",b:"⋫"},{a:"nrtrie",b:"⋭"},{a:"nsc",b:"⊁"},{a:"nsccue",b:"⋡"},{a:"nsce",b:"⪰̸"},{a:"Nscr",b:"𝒩"},{a:"nscr",b:"𝓃"},{a:"nshortmid",b:"∤"},{a:"nshortparallel",b:"∦"},{a:"nsim",b:"≁"},{a:"nsime",b:"≄"},{a:"nsimeq",b:"≄"},{a:"nsmid",b:"∤"},{a:"nspar",b:"∦"},{a:"nsqsube",b:"⋢"},{a:"nsqsupe",b:"⋣"},{a:"nsub",b:"⊄"},{a:"nsubE",b:"⫅̸"},{a:"nsube",b:"⊈"},{a:"nsubset",b:"⊂⃒"},{a:"nsubseteq",b:"⊈"},{a:"nsubseteqq",b:"⫅̸"},{a:"nsucc",b:"⊁"},{a:"nsucceq",b:"⪰̸"},{a:"nsup",b:"⊅"},{a:"nsupE",b:"⫆̸"},{a:"nsupe",b:"⊉"},{a:"nsupset",b:"⊃⃒"},{a:"nsupseteq",b:"⊉"},{a:"nsupseteqq",b:"⫆̸"},{a:"ntgl",b:"≹"},{a:"Ntilde",b:"Ñ"},{a:"ntilde",b:"ñ"},{a:"ntlg",b:"≸"},{a:"ntriangleleft",b:"⋪"},{a:"ntrianglelefteq",b:"⋬"},{a:"ntriangleright",b:"⋫"},{a:"ntrianglerighteq",b:"⋭"},{a:"Nu",b:"Ν"},{a:"nu",b:"ν"},{a:"num",b:"#"},{a:"numero",b:"№"},{a:"numsp",b:" "},{a:"nvap",b:"≍⃒"},{a:"nvdash",b:"⊬"},{a:"nvDash",b:"⊭"},{a:"nVdash",b:"⊮"},{a:"nVDash",b:"⊯"},{a:"nvge",b:"≥⃒"},{a:"nvgt",b:">⃒"},{a:"nvHarr",b:"⤄"},{a:"nvinfin",b:"⧞"},{a:"nvlArr",b:"⤂"},{a:"nvle",b:"≤⃒"},{a:"nvlt",b:"<⃒"},{a:"nvltrie",b:"⊴⃒"},{a:"nvrArr",b:"⤃"},{a:"nvrtrie",b:"⊵⃒"},{a:"nvsim",b:"∼⃒"},{a:"nwarhk",b:"⤣"},{a:"nwarr",b:"↖"},{a:"nwArr",b:"⇖"},{a:"nwarrow",b:"↖"},{a:"nwnear",b:"⤧"},{a:"Oacute",b:"Ó"},{a:"oacute",b:"ó"},{a:"oast",b:"⊛"},{a:"Ocirc",b:"Ô"},{a:"ocirc",b:"ô"},{a:"ocir",b:"⊚"},{a:"Ocy",b:"О"},{a:"ocy",b:"о"},{a:"odash",b:"⊝"},{a:"Odblac",b:"Ő"},{a:"odblac",b:"ő"},{a:"odiv",b:"⨸"},{a:"odot",b:"⊙"},{a:"odsold",b:"⦼"},{a:"OElig",b:"Œ"},{a:"oelig",b:"œ"},{a:"ofcir",b:"⦿"},{a:"Ofr",b:"𝔒"},{a:"ofr",b:"𝔬"},{a:"ogon",b:"˛"},{a:"Ograve",b:"Ò"},{a:"ograve",b:"ò"},{a:"ogt",b:"⧁"},{a:"ohbar",b:"⦵"},{a:"ohm",b:"Ω"},{a:"oint",b:"∮"},{a:"olarr",b:"↺"},{a:"olcir",b:"⦾"},{a:"olcross",b:"⦻"},{a:"oline",b:"‾"},{a:"olt",b:"⧀"},{a:"Omacr",b:"Ō"},{a:"omacr",b:"ō"},{a:"Omega",b:"Ω"},{a:"omega",b:"ω"},{a:"Omicron",b:"Ο"},{a:"omicron",b:"ο"},{a:"omid",b:"⦶"},{a:"ominus",b:"⊖"},{a:"Oopf",b:"𝕆"},{a:"oopf",b:"𝕠"},{a:"opar",b:"⦷"},{a:"OpenCurlyDoubleQuote",b:"“"},{a:"OpenCurlyQuote",b:"‘"},{a:"operp",b:"⦹"},{a:"oplus",b:"⊕"},{a:"orarr",b:"↻"},{a:"Or",b:"⩔"},{a:"or",b:"∨"},{a:"ord",b:"⩝"},{a:"order",b:"ℴ"},{a:"orderof",b:"ℴ"},{a:"ordf",b:"ª"},{a:"ordm",b:"º"},{a:"origof",b:"⊶"},{a:"oror",b:"⩖"},{a:"orslope",b:"⩗"},{a:"orv",b:"⩛"},{a:"oS",b:"Ⓢ"},{a:"Oscr",b:"𝒪"},{a:"oscr",b:"ℴ"},{a:"Oslash",b:"Ø"},{a:"oslash",b:"ø"},{a:"osol",b:"⊘"},{a:"Otilde",b:"Õ"},{a:"otilde",b:"õ"},{a:"otimesas",b:"⨶"},{a:"Otimes",b:"⨷"},{a:"otimes",b:"⊗"},{a:"Ouml",b:"Ö"},{a:"ouml",b:"ö"},{a:"ovbar",b:"⌽"},{a:"OverBar",b:"‾"},{a:"OverBrace",b:"⏞"},{a:"OverBracket",b:"⎴"},{a:"OverParenthesis",b:"⏜"},{a:"para",b:"¶"},{a:"parallel",b:"∥"},{a:"par",b:"∥"},{a:"parsim",b:"⫳"},{a:"parsl",b:"⫽"},{a:"part",b:"∂"},{a:"PartialD",b:"∂"},{a:"Pcy",b:"П"},{a:"pcy",b:"п"},{a:"percnt",b:"%"},{a:"period",b:"."},{a:"permil",b:"‰"},{a:"perp",b:"⊥"},{a:"pertenk",b:"‱"},{a:"Pfr",b:"𝔓"},{a:"pfr",b:"𝔭"},{a:"Phi",b:"Φ"},{a:"phi",b:"φ"},{a:"phiv",b:"ϕ"},{a:"phmmat",b:"ℳ"},{a:"phone",b:"☎"},{a:"Pi",b:"Π"},{a:"pi",b:"π"},{a:"pitchfork",b:"⋔"},{a:"piv",b:"ϖ"},{a:"planck",b:"ℏ"},{a:"planckh",b:"ℎ"},{a:"plankv",b:"ℏ"},{a:"plusacir",b:"⨣"},{a:"plusb",b:"⊞"},{a:"pluscir",b:"⨢"},{a:"plus",b:"+"},{a:"plusdo",b:"∔"},{a:"plusdu",b:"⨥"},{a:"pluse",b:"⩲"},{a:"PlusMinus",b:"±"},{a:"plusmn",b:"±"},{a:"plussim",b:"⨦"},{a:"plustwo",b:"⨧"},{a:"pm",b:"±"},{a:"Poincareplane",b:"ℌ"},{a:"pointint",b:"⨕"},{a:"popf",b:"𝕡"},{a:"Popf",b:"ℙ"},{a:"pound",b:"£"},{a:"prap",b:"⪷"},{a:"Pr",b:"⪻"},{a:"pr",b:"≺"},{a:"prcue",b:"≼"},{a:"precapprox",b:"⪷"},{a:"prec",b:"≺"},{a:"preccurlyeq",b:"≼"},{a:"Precedes",b:"≺"},{a:"PrecedesEqual",b:"⪯"},{a:"PrecedesSlantEqual",b:"≼"},{a:"PrecedesTilde",b:"≾"},{a:"preceq",b:"⪯"},{a:"precnapprox",b:"⪹"},{a:"precneqq",b:"⪵"},{a:"precnsim",b:"⋨"},{a:"pre",b:"⪯"},{a:"prE",b:"⪳"},{a:"precsim",b:"≾"},{a:"prime",b:"′"},{a:"Prime",b:"″"},{a:"primes",b:"ℙ"},{a:"prnap",b:"⪹"},{a:"prnE",b:"⪵"},{a:"prnsim",b:"⋨"},{a:"prod",b:"∏"},{a:"Product",b:"∏"},{a:"profalar",b:"⌮"},{a:"profline",b:"⌒"},{a:"profsurf",b:"⌓"},{a:"prop",b:"∝"},{a:"Proportional",b:"∝"},{a:"Proportion",b:"∷"},{a:"propto",b:"∝"},{a:"prsim",b:"≾"},{a:"prurel",b:"⊰"},{a:"Pscr",b:"𝒫"},{a:"pscr",b:"𝓅"},{a:"Psi",b:"Ψ"},{a:"psi",b:"ψ"},{a:"puncsp",b:" "},{a:"Qfr",b:"𝔔"},{a:"qfr",b:"𝔮"},{a:"qint",b:"⨌"},{a:"qopf",b:"𝕢"},{a:"Qopf",b:"ℚ"},{a:"qprime",b:"⁗"},{a:"Qscr",b:"𝒬"},{a:"qscr",b:"𝓆"},{a:"quaternions",b:"ℍ"},{a:"quatint",b:"⨖"},{a:"quest",b:"?"},{a:"questeq",b:"≟"},{a:"quot",b:'"'},{a:"QUOT",b:'"'},{a:"rAarr",b:"⇛"},{a:"race",b:"∽̱"},{a:"Racute",b:"Ŕ"},{a:"racute",b:"ŕ"},{a:"radic",b:"√"},{a:"raemptyv",b:"⦳"},{a:"rang",b:"⟩"},{a:"Rang",b:"⟫"},{a:"rangd",b:"⦒"},{a:"range",b:"⦥"},{a:"rangle",b:"⟩"},{a:"raquo",b:"»"},{a:"rarrap",b:"⥵"},{a:"rarrb",b:"⇥"},{a:"rarrbfs",b:"⤠"},{a:"rarrc",b:"⤳"},{a:"rarr",b:"→"},{a:"Rarr",b:"↠"},{a:"rArr",b:"⇒"},{a:"rarrfs",b:"⤞"},{a:"rarrhk",b:"↪"},{a:"rarrlp",b:"↬"},{a:"rarrpl",b:"⥅"},{a:"rarrsim",b:"⥴"},{a:"Rarrtl",b:"⤖"},{a:"rarrtl",b:"↣"},{a:"rarrw",b:"↝"},{a:"ratail",b:"⤚"},{a:"rAtail",b:"⤜"},{a:"ratio",b:"∶"},{a:"rationals",b:"ℚ"},{a:"rbarr",b:"⤍"},{a:"rBarr",b:"⤏"},{a:"RBarr",b:"⤐"},{a:"rbbrk",b:"❳"},{a:"rbrace",b:"}"},{a:"rbrack",b:"]"},{a:"rbrke",b:"⦌"},{a:"rbrksld",b:"⦎"},{a:"rbrkslu",b:"⦐"},{a:"Rcaron",b:"Ř"},{a:"rcaron",b:"ř"},{a:"Rcedil",b:"Ŗ"},{a:"rcedil",b:"ŗ"},{a:"rceil",b:"⌉"},{a:"rcub",b:"}"},{a:"Rcy",b:"Р"},{a:"rcy",b:"р"},{a:"rdca",b:"⤷"},{a:"rdldhar",b:"⥩"},{a:"rdquo",b:"”"},{a:"rdquor",b:"”"},{a:"rdsh",b:"↳"},{a:"real",b:"ℜ"},{a:"realine",b:"ℛ"},{a:"realpart",b:"ℜ"},{a:"reals",b:"ℝ"},{a:"Re",b:"ℜ"},{a:"rect",b:"▭"},{a:"reg",b:"®"},{a:"REG",b:"®"},{a:"ReverseElement",b:"∋"},{a:"ReverseEquilibrium",b:"⇋"},{a:"ReverseUpEquilibrium",b:"⥯"},{a:"rfisht",b:"⥽"},{a:"rfloor",b:"⌋"},{a:"rfr",b:"𝔯"},{a:"Rfr",b:"ℜ"},{a:"rHar",b:"⥤"},{a:"rhard",b:"⇁"},{a:"rharu",b:"⇀"},{a:"rharul",b:"⥬"},{a:"Rho",b:"Ρ"},{a:"rho",b:"ρ"},{a:"rhov",b:"ϱ"},{a:"RightAngleBracket",b:"⟩"},{a:"RightArrowBar",b:"⇥"},{a:"rightarrow",b:"→"},{a:"RightArrow",b:"→"},{a:"Rightarrow",b:"⇒"},{a:"RightArrowLeftArrow",b:"⇄"},{a:"rightarrowtail",b:"↣"},{a:"RightCeiling",b:"⌉"},{a:"RightDoubleBracket",b:"⟧"},{a:"RightDownTeeVector",b:"⥝"},{a:"RightDownVectorBar",b:"⥕"},{a:"RightDownVector",b:"⇂"},{a:"RightFloor",b:"⌋"},{a:"rightharpoondown",b:"⇁"},{a:"rightharpoonup",b:"⇀"},{a:"rightleftarrows",b:"⇄"},{a:"rightleftharpoons",b:"⇌"},{a:"rightrightarrows",b:"⇉"},{a:"rightsquigarrow",b:"↝"},{a:"RightTeeArrow",b:"↦"},{a:"RightTee",b:"⊢"},{a:"RightTeeVector",b:"⥛"},{a:"rightthreetimes",b:"⋌"},{a:"RightTriangleBar",b:"⧐"},{a:"RightTriangle",b:"⊳"},{a:"RightTriangleEqual",b:"⊵"},{a:"RightUpDownVector",b:"⥏"},{a:"RightUpTeeVector",b:"⥜"},{a:"RightUpVectorBar",b:"⥔"},{a:"RightUpVector",b:"↾"},{a:"RightVectorBar",b:"⥓"},{a:"RightVector",b:"⇀"},{a:"ring",b:"˚"},{a:"risingdotseq",b:"≓"},{a:"rlarr",b:"⇄"},{a:"rlhar",b:"⇌"},{a:"rlm",b:"‏"},{a:"rmoustache",b:"⎱"},{a:"rmoust",b:"⎱"},{a:"rnmid",b:"⫮"},{a:"roang",b:"⟭"},{a:"roarr",b:"⇾"},{a:"robrk",b:"⟧"},{a:"ropar",b:"⦆"},{a:"ropf",b:"𝕣"},{a:"Ropf",b:"ℝ"},{a:"roplus",b:"⨮"},{a:"rotimes",b:"⨵"},{a:"RoundImplies",b:"⥰"},{a:"rpar",b:")"},{a:"rpargt",b:"⦔"},{a:"rppolint",b:"⨒"},{a:"rrarr",b:"⇉"},{a:"Rrightarrow",b:"⇛"},{a:"rsaquo",b:"›"},{a:"rscr",b:"𝓇"},{a:"Rscr",b:"ℛ"},{a:"rsh",b:"↱"},{a:"Rsh",b:"↱"},{a:"rsqb",b:"]"},{a:"rsquo",b:"’"},{a:"rsquor",b:"’"},{a:"rthree",b:"⋌"},{a:"rtimes",b:"⋊"},{a:"rtri",b:"▹"},{a:"rtrie",b:"⊵"},{a:"rtrif",b:"▸"},{a:"rtriltri",b:"⧎"},{a:"RuleDelayed",b:"⧴"},{a:"ruluhar",b:"⥨"},{a:"rx",b:"℞"},{a:"Sacute",b:"Ś"},{a:"sacute",b:"ś"},{a:"sbquo",b:"‚"},{a:"scap",b:"⪸"},{a:"Scaron",b:"Š"},{a:"scaron",b:"š"},{a:"Sc",b:"⪼"},{a:"sc",b:"≻"},{a:"sccue",b:"≽"},{a:"sce",b:"⪰"},{a:"scE",b:"⪴"},{a:"Scedil",b:"Ş"},{a:"scedil",b:"ş"},{a:"Scirc",b:"Ŝ"},{a:"scirc",b:"ŝ"},{a:"scnap",b:"⪺"},{a:"scnE",b:"⪶"},{a:"scnsim",b:"⋩"},{a:"scpolint",b:"⨓"},{a:"scsim",b:"≿"},{a:"Scy",b:"С"},{a:"scy",b:"с"},{a:"sdotb",b:"⊡"},{a:"sdot",b:"⋅"},{a:"sdote",b:"⩦"},{a:"searhk",b:"⤥"},{a:"searr",b:"↘"},{a:"seArr",b:"⇘"},{a:"searrow",b:"↘"},{a:"sect",b:"§"},{a:"semi",b:";"},{a:"seswar",b:"⤩"},{a:"setminus",b:"∖"},{a:"setmn",b:"∖"},{a:"sext",b:"✶"},{a:"Sfr",b:"𝔖"},{a:"sfr",b:"𝔰"},{a:"sfrown",b:"⌢"},{a:"sharp",b:"♯"},{a:"SHCHcy",b:"Щ"},{a:"shchcy",b:"щ"},{a:"SHcy",b:"Ш"},{a:"shcy",b:"ш"},{a:"ShortDownArrow",b:"↓"},{a:"ShortLeftArrow",b:"←"},{a:"shortmid",b:"∣"},{a:"shortparallel",b:"∥"},{a:"ShortRightArrow",b:"→"},{a:"ShortUpArrow",b:"↑"},{a:"shy",b:"­"},{a:"Sigma",b:"Σ"},{a:"sigma",b:"σ"},{a:"sigmaf",b:"ς"},{a:"sigmav",b:"ς"},{a:"sim",b:"∼"},{a:"simdot",b:"⩪"},{a:"sime",b:"≃"},{a:"simeq",b:"≃"},{a:"simg",b:"⪞"},{a:"simgE",b:"⪠"},{a:"siml",b:"⪝"},{a:"simlE",b:"⪟"},{a:"simne",b:"≆"},{a:"simplus",b:"⨤"},{a:"simrarr",b:"⥲"},{a:"slarr",b:"←"},{a:"SmallCircle",b:"∘"},{a:"smallsetminus",b:"∖"},{a:"smashp",b:"⨳"},{a:"smeparsl",b:"⧤"},{a:"smid",b:"∣"},{a:"smile",b:"⌣"},{a:"smt",b:"⪪"},{a:"smte",b:"⪬"},{a:"smtes",b:"⪬︀"},{a:"SOFTcy",b:"Ь"},{a:"softcy",b:"ь"},{a:"solbar",b:"⌿"},{a:"solb",b:"⧄"},{a:"sol",b:"/"},{a:"Sopf",b:"𝕊"},{a:"sopf",b:"𝕤"},{a:"spades",b:"♠"},{a:"spadesuit",b:"♠"},{a:"spar",b:"∥"},{a:"sqcap",b:"⊓"},{a:"sqcaps",b:"⊓︀"},{a:"sqcup",b:"⊔"},{a:"sqcups",b:"⊔︀"},{a:"Sqrt",b:"√"},{a:"sqsub",b:"⊏"},{a:"sqsube",b:"⊑"},{a:"sqsubset",b:"⊏"},{a:"sqsubseteq",b:"⊑"},{a:"sqsup",b:"⊐"},{a:"sqsupe",b:"⊒"},{a:"sqsupset",b:"⊐"},{a:"sqsupseteq",b:"⊒"},{a:"square",b:"□"},{a:"Square",b:"□"},{a:"SquareIntersection",b:"⊓"},{a:"SquareSubset",b:"⊏"},{a:"SquareSubsetEqual",b:"⊑"},{a:"SquareSuperset",b:"⊐"},{a:"SquareSupersetEqual",b:"⊒"},{a:"SquareUnion",b:"⊔"},{a:"squarf",b:"▪"},{a:"squ",b:"□"},{a:"squf",b:"▪"},{a:"srarr",b:"→"},{a:"Sscr",b:"𝒮"},{a:"sscr",b:"𝓈"},{a:"ssetmn",b:"∖"},{a:"ssmile",b:"⌣"},{a:"sstarf",b:"⋆"},{a:"Star",b:"⋆"},{a:"star",b:"☆"},{a:"starf",b:"★"},{a:"straightepsilon",b:"ϵ"},{a:"straightphi",b:"ϕ"},{a:"strns",b:"¯"},{a:"sub",b:"⊂"},{a:"Sub",b:"⋐"},{a:"subdot",b:"⪽"},{a:"subE",b:"⫅"},{a:"sube",b:"⊆"},{a:"subedot",b:"⫃"},{a:"submult",b:"⫁"},{a:"subnE",b:"⫋"},{a:"subne",b:"⊊"},{a:"subplus",b:"⪿"},{a:"subrarr",b:"⥹"},{a:"subset",b:"⊂"},{a:"Subset",b:"⋐"},{a:"subseteq",b:"⊆"},{a:"subseteqq",b:"⫅"},{a:"SubsetEqual",b:"⊆"},{a:"subsetneq",b:"⊊"},{a:"subsetneqq",b:"⫋"},{a:"subsim",b:"⫇"},{a:"subsub",b:"⫕"},{a:"subsup",b:"⫓"},{a:"succapprox",b:"⪸"},{a:"succ",b:"≻"},{a:"succcurlyeq",b:"≽"},{a:"Succeeds",b:"≻"},{a:"SucceedsEqual",b:"⪰"},{a:"SucceedsSlantEqual",b:"≽"},{a:"SucceedsTilde",b:"≿"},{a:"succeq",b:"⪰"},{a:"succnapprox",b:"⪺"},{a:"succneqq",b:"⪶"},{a:"succnsim",b:"⋩"},{a:"succsim",b:"≿"},{a:"SuchThat",b:"∋"},{a:"sum",b:"∑"},{a:"Sum",b:"∑"},{a:"sung",b:"♪"},{a:"sup1",b:"¹"},{a:"sup2",b:"²"},{a:"sup3",b:"³"},{a:"sup",b:"⊃"},{a:"Sup",b:"⋑"},{a:"supdot",b:"⪾"},{a:"supdsub",b:"⫘"},{a:"supE",b:"⫆"},{a:"supe",b:"⊇"},{a:"supedot",b:"⫄"},{a:"Superset",b:"⊃"},{a:"SupersetEqual",b:"⊇"},{a:"suphsol",b:"⟉"},{a:"suphsub",b:"⫗"},{a:"suplarr",b:"⥻"},{a:"supmult",b:"⫂"},{a:"supnE",b:"⫌"},{a:"supne",b:"⊋"},{a:"supplus",b:"⫀"},{a:"supset",b:"⊃"},{a:"Supset",b:"⋑"},{a:"supseteq",b:"⊇"},{a:"supseteqq",b:"⫆"},{a:"supsetneq",b:"⊋"},{a:"supsetneqq",b:"⫌"},{a:"supsim",b:"⫈"},{a:"supsub",b:"⫔"},{a:"supsup",b:"⫖"},{a:"swarhk",b:"⤦"},{a:"swarr",b:"↙"},{a:"swArr",b:"⇙"},{a:"swarrow",b:"↙"},{a:"swnwar",b:"⤪"},{a:"szlig",b:"ß"},{a:"Tab",b:" "},{a:"target",b:"⌖"},{a:"Tau",b:"Τ"},{a:"tau",b:"τ"},{a:"tbrk",b:"⎴"},{a:"Tcaron",b:"Ť"},{a:"tcaron",b:"ť"},{a:"Tcedil",b:"Ţ"},{a:"tcedil",b:"ţ"},{a:"Tcy",b:"Т"},{a:"tcy",b:"т"},{a:"tdot",b:"⃛"},{a:"telrec",b:"⌕"},{a:"Tfr",b:"𝔗"},{a:"tfr",b:"𝔱"},{a:"there4",b:"∴"},{a:"therefore",b:"∴"},{a:"Therefore",b:"∴"},{a:"Theta",b:"Θ"},{a:"theta",b:"θ"},{a:"thetasym",b:"ϑ"},{a:"thetav",b:"ϑ"},{a:"thickapprox",b:"≈"},{a:"thicksim",b:"∼"},{a:"ThickSpace",b:"  "},{a:"ThinSpace",b:" "},{a:"thinsp",b:" "},{a:"thkap",b:"≈"},{a:"thksim",b:"∼"},{a:"THORN",b:"Þ"},{a:"thorn",b:"þ"},{a:"tilde",b:"˜"},{a:"Tilde",b:"∼"},{a:"TildeEqual",b:"≃"},{a:"TildeFullEqual",b:"≅"},{a:"TildeTilde",b:"≈"},{a:"timesbar",b:"⨱"},{a:"timesb",b:"⊠"},{a:"times",b:"×"},{a:"timesd",b:"⨰"},{a:"tint",b:"∭"},{a:"toea",b:"⤨"},{a:"topbot",b:"⌶"},{a:"topcir",b:"⫱"},{a:"top",b:"⊤"},{a:"Topf",b:"𝕋"},{a:"topf",b:"𝕥"},{a:"topfork",b:"⫚"},{a:"tosa",b:"⤩"},{a:"tprime",b:"‴"},{a:"trade",b:"™"},{a:"TRADE",b:"™"},{a:"triangle",b:"▵"},{a:"triangledown",b:"▿"},{a:"triangleleft",b:"◃"},{a:"trianglelefteq",b:"⊴"},{a:"triangleq",b:"≜"},{a:"triangleright",b:"▹"},{a:"trianglerighteq",b:"⊵"},{a:"tridot",b:"◬"},{a:"trie",b:"≜"},{a:"triminus",b:"⨺"},{a:"TripleDot",b:"⃛"},{a:"triplus",b:"⨹"},{a:"trisb",b:"⧍"},{a:"tritime",b:"⨻"},{a:"trpezium",b:"⏢"},{a:"Tscr",b:"𝒯"},{a:"tscr",b:"𝓉"},{a:"TScy",b:"Ц"},{a:"tscy",b:"ц"},{a:"TSHcy",b:"Ћ"},{a:"tshcy",b:"ћ"},{a:"Tstrok",b:"Ŧ"},{a:"tstrok",b:"ŧ"},{a:"twixt",b:"≬"},{a:"twoheadleftarrow",b:"↞"},{a:"twoheadrightarrow",b:"↠"},{a:"Uacute",b:"Ú"},{a:"uacute",b:"ú"},{a:"uarr",b:"↑"},{a:"Uarr",b:"↟"},{a:"uArr",b:"⇑"},{a:"Uarrocir",b:"⥉"},{a:"Ubrcy",b:"Ў"},{a:"ubrcy",b:"ў"},{a:"Ubreve",b:"Ŭ"},{a:"ubreve",b:"ŭ"},{a:"Ucirc",b:"Û"},{a:"ucirc",b:"û"},{a:"Ucy",b:"У"},{a:"ucy",b:"у"},{a:"udarr",b:"⇅"},{a:"Udblac",b:"Ű"},{a:"udblac",b:"ű"},{a:"udhar",b:"⥮"},{a:"ufisht",b:"⥾"},{a:"Ufr",b:"𝔘"},{a:"ufr",b:"𝔲"},{a:"Ugrave",b:"Ù"},{a:"ugrave",b:"ù"},{a:"uHar",b:"⥣"},{a:"uharl",b:"↿"},{a:"uharr",b:"↾"},{a:"uhblk",b:"▀"},{a:"ulcorn",b:"⌜"},{a:"ulcorner",b:"⌜"},{a:"ulcrop",b:"⌏"},{a:"ultri",b:"◸"},{a:"Umacr",b:"Ū"},{a:"umacr",b:"ū"},{a:"uml",b:"¨"},{a:"UnderBar",b:"_"},{a:"UnderBrace",b:"⏟"},{a:"UnderBracket",b:"⎵"},{a:"UnderParenthesis",b:"⏝"},{a:"Union",b:"⋃"},{a:"UnionPlus",b:"⊎"},{a:"Uogon",b:"Ų"},{a:"uogon",b:"ų"},{a:"Uopf",b:"𝕌"},{a:"uopf",b:"𝕦"},{a:"UpArrowBar",b:"⤒"},{a:"uparrow",b:"↑"},{a:"UpArrow",b:"↑"},{a:"Uparrow",b:"⇑"},{a:"UpArrowDownArrow",b:"⇅"},{a:"updownarrow",b:"↕"},{a:"UpDownArrow",b:"↕"},{a:"Updownarrow",b:"⇕"},{a:"UpEquilibrium",b:"⥮"},{a:"upharpoonleft",b:"↿"},{a:"upharpoonright",b:"↾"},{a:"uplus",b:"⊎"},{a:"UpperLeftArrow",b:"↖"},{a:"UpperRightArrow",b:"↗"},{a:"upsi",b:"υ"},{a:"Upsi",b:"ϒ"},{a:"upsih",b:"ϒ"},{a:"Upsilon",b:"Υ"},{a:"upsilon",b:"υ"},{a:"UpTeeArrow",b:"↥"},{a:"UpTee",b:"⊥"},{a:"upuparrows",b:"⇈"},{a:"urcorn",b:"⌝"},{a:"urcorner",b:"⌝"},{a:"urcrop",b:"⌎"},{a:"Uring",b:"Ů"},{a:"uring",b:"ů"},{a:"urtri",b:"◹"},{a:"Uscr",b:"𝒰"},{a:"uscr",b:"𝓊"},{a:"utdot",b:"⋰"},{a:"Utilde",b:"Ũ"},{a:"utilde",b:"ũ"},{a:"utri",b:"▵"},{a:"utrif",b:"▴"},{a:"uuarr",b:"⇈"},{a:"Uuml",b:"Ü"},{a:"uuml",b:"ü"},{a:"uwangle",b:"⦧"},{a:"vangrt",b:"⦜"},{a:"varepsilon",b:"ϵ"},{a:"varkappa",b:"ϰ"},{a:"varnothing",b:"∅"},{a:"varphi",b:"ϕ"},{a:"varpi",b:"ϖ"},{a:"varpropto",b:"∝"},{a:"varr",b:"↕"},{a:"vArr",b:"⇕"},{a:"varrho",b:"ϱ"},{a:"varsigma",b:"ς"},{a:"varsubsetneq",b:"⊊︀"},{a:"varsubsetneqq",b:"⫋︀"},{a:"varsupsetneq",b:"⊋︀"},{a:"varsupsetneqq",b:"⫌︀"},{a:"vartheta",b:"ϑ"},{a:"vartriangleleft",b:"⊲"},{a:"vartriangleright",b:"⊳"},{a:"vBar",b:"⫨"},{a:"Vbar",b:"⫫"},{a:"vBarv",b:"⫩"},{a:"Vcy",b:"В"},{a:"vcy",b:"в"},{a:"vdash",b:"⊢"},{a:"vDash",b:"⊨"},{a:"Vdash",b:"⊩"},{a:"VDash",b:"⊫"},{a:"Vdashl",b:"⫦"},{a:"veebar",b:"⊻"},{a:"vee",b:"∨"},{a:"Vee",b:"⋁"},{a:"veeeq",b:"≚"},{a:"vellip",b:"⋮"},{a:"verbar",b:"|"},{a:"Verbar",b:"‖"},{a:"vert",b:"|"},{a:"Vert",b:"‖"},{a:"VerticalBar",b:"∣"},{a:"VerticalLine",b:"|"},{a:"VerticalSeparator",b:"❘"},{a:"VerticalTilde",b:"≀"},{a:"VeryThinSpace",b:" "},{a:"Vfr",b:"𝔙"},{a:"vfr",b:"𝔳"},{a:"vltri",b:"⊲"},{a:"vnsub",b:"⊂⃒"},{a:"vnsup",b:"⊃⃒"},{a:"Vopf",b:"𝕍"},{a:"vopf",b:"𝕧"},{a:"vprop",b:"∝"},{a:"vrtri",b:"⊳"},{a:"Vscr",b:"𝒱"},{a:"vscr",b:"𝓋"},{a:"vsubnE",b:"⫋︀"},{a:"vsubne",b:"⊊︀"},{a:"vsupnE",b:"⫌︀"},{a:"vsupne",b:"⊋︀"},{a:"Vvdash",b:"⊪"},{a:"vzigzag",b:"⦚"},{a:"Wcirc",b:"Ŵ"},{a:"wcirc",b:"ŵ"},{a:"wedbar",b:"⩟"},{a:"wedge",b:"∧"},{a:"Wedge",b:"⋀"},{a:"wedgeq",b:"≙"},{a:"weierp",b:"℘"},{a:"Wfr",b:"𝔚"},{a:"wfr",b:"𝔴"},{a:"Wopf",b:"𝕎"},{a:"wopf",b:"𝕨"},{a:"wp",b:"℘"},{a:"wr",b:"≀"},{a:"wreath",b:"≀"},{a:"Wscr",b:"𝒲"},{a:"wscr",b:"𝓌"},{a:"xcap",b:"⋂"},{a:"xcirc",b:"◯"},{a:"xcup",b:"⋃"},{a:"xdtri",b:"▽"},{a:"Xfr",b:"𝔛"},{a:"xfr",b:"𝔵"},{a:"xharr",b:"⟷"},{a:"xhArr",b:"⟺"},{a:"Xi",b:"Ξ"},{a:"xi",b:"ξ"},{a:"xlarr",b:"⟵"},{a:"xlArr",b:"⟸"},{a:"xmap",b:"⟼"},{a:"xnis",b:"⋻"},{a:"xodot",b:"⨀"},{a:"Xopf",b:"𝕏"},{a:"xopf",b:"𝕩"},{a:"xoplus",b:"⨁"},{a:"xotime",b:"⨂"},{a:"xrarr",b:"⟶"},{a:"xrArr",b:"⟹"},{a:"Xscr",b:"𝒳"},{a:"xscr",b:"𝓍"},{a:"xsqcup",b:"⨆"},{a:"xuplus",b:"⨄"},{a:"xutri",b:"△"},{a:"xvee",b:"⋁"},{a:"xwedge",b:"⋀"},{a:"Yacute",b:"Ý"},{a:"yacute",b:"ý"},{a:"YAcy",b:"Я"},{a:"yacy",b:"я"},{a:"Ycirc",b:"Ŷ"},{a:"ycirc",b:"ŷ"},{a:"Ycy",b:"Ы"},{a:"ycy",b:"ы"},{a:"yen",b:"¥"},{a:"Yfr",b:"𝔜"},{a:"yfr",b:"𝔶"},{a:"YIcy",b:"Ї"},{a:"yicy",b:"ї"},{a:"Yopf",b:"𝕐"},{a:"yopf",b:"𝕪"},{a:"Yscr",b:"𝒴"},{a:"yscr",b:"𝓎"},{a:"YUcy",b:"Ю"},{a:"yucy",b:"ю"},{a:"yuml",b:"ÿ"},{a:"Yuml",b:"Ÿ"},{a:"Zacute",b:"Ź"},{a:"zacute",b:"ź"},{a:"Zcaron",b:"Ž"},{a:"zcaron",b:"ž"},{a:"Zcy",b:"З"},{a:"zcy",b:"з"},{a:"Zdot",b:"Ż"},{a:"zdot",b:"ż"},{a:"zeetrf",b:"ℨ"},{a:"ZeroWidthSpace",b:"​"},{a:"Zeta",b:"Ζ"},{a:"zeta",b:"ζ"},{a:"zfr",b:"𝔷"},{a:"Zfr",b:"ℨ"},{a:"ZHcy",b:"Ж"},{a:"zhcy",b:"ж"},{a:"zigrarr",b:"⇝"},{a:"zopf",b:"𝕫"},{a:"Zopf",b:"ℤ"},{a:"Zscr",b:"𝒵"},{a:"zscr",b:"𝓏"},{a:"zwj",b:"‍"},{a:"zwnj",b:"‌"}])),fw=I(fr,function(e){return I(nU,"&"+e+";",I(rO,e,fm))},d1(dQ(ak))),fx=function(e){return I(J,e,"")},fy=m(function(e,t,a){for(;;)if(!t.b)return av(a);else{var r=t.a,n=t.b;switch(r){case"0":var i=e-1,o=n,u=a;e=i,t=o,a=u;continue;case"1":var i=e-1,o=n,u=a+I(j,16,e);e=i,t=o,a=u;continue;case"2":var i=e-1,o=n,u=a+2*I(j,16,e);e=i,t=o,a=u;continue;case"3":var i=e-1,o=n,u=a+3*I(j,16,e);e=i,t=o,a=u;continue;case"4":var i=e-1,o=n,u=a+4*I(j,16,e);e=i,t=o,a=u;continue;case"5":var i=e-1,o=n,u=a+5*I(j,16,e);e=i,t=o,a=u;continue;case"6":var i=e-1,o=n,u=a+6*I(j,16,e);e=i,t=o,a=u;continue;case"7":var i=e-1,o=n,u=a+7*I(j,16,e);e=i,t=o,a=u;continue;case"8":var i=e-1,o=n,u=a+8*I(j,16,e);e=i,t=o,a=u;continue;case"9":var i=e-1,o=n,u=a+9*I(j,16,e);e=i,t=o,a=u;continue;case"a":var i=e-1,o=n,u=a+10*I(j,16,e);e=i,t=o,a=u;continue;case"b":var i=e-1,o=n,u=a+11*I(j,16,e);e=i,t=o,a=u;continue;case"c":var i=e-1,o=n,u=a+12*I(j,16,e);e=i,t=o,a=u;continue;case"d":var i=e-1,o=n,u=a+13*I(j,16,e);e=i,t=o,a=u;continue;case"e":var i=e-1,o=n,u=a+14*I(j,16,e);e=i,t=o,a=u;continue;case"f":var i=e-1,o=n,u=a+15*I(j,16,e);e=i,t=o,a=u;continue;default:return ab(fx(r)+" is not a valid hexadecimal character.")}}}),fE=p(function(e,t){return t.$?ab(t.a):av(e(t.a))}),fI=function(e){if(a9(e))return ab("Empty strings are not valid hexadecimal strings.");var t=function(){if(!I(ei,"-",e))return C(fy,a8(e)-1,cg(e),0);var t,a=I(nU,B,(t=cg(e)).b?(t.a,ap(t.b)):am);return I(fE,ii,C(fy,aI(a)-1,a,0))}();return I(rJ,function(t){return I(aw," ",U(['"'+e+'"',"is not a valid hexadecimal string because",t]))},t)},fC=I(dB,function(e){var t=fI(c8(e));return t.$?d4(t.a):d3(t.a)},d1(dQ(function(e){var t=aM(e);return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}))),fR={$:1},f$=p(function(e,t){return{dA:t.dA+(e-t.h),k:t.k,p:t.p,h:e,d_:t.d_,d:t.d}}),fL=p(function(e,t){if(!(C(t9,101,e,t)||C(t9,69,e,t)))return e;var a=e+1,r=C(t9,43,a,t)||C(t9,45,a,t)?a+1:a,n=I(ae,r,t);return M(r,n)?-n:n}),fA=p(function(e,t){return C(t9,46,e,t)?I(fL,I(ae,e+1,t),t):I(fL,e,t)}),fS=x(function(e,t,a,r,n){var i=r.a,o=r.b;if(1===t.$)return I(dq,!0,I(dj,n,t.a));var u=t.a;return M(a,i)?I(dq,0>O(n.h,a),I(dj,n,e)):C(dH,!0,u(o),I(f$,i,n))}),fT=y(function(e,t,a,r,n,i){var o=n.a,u=I(fA,o,i.d);if(u<0)return I(dq,!0,R(d5,i.d_,i.dA-(u+i.h),e,i.k));if(M(i.h,u))return I(dq,!1,I(dj,i,t));if(M(o,u))return $(fS,e,a,i.h,n,i);if(1===r.$)return r.a,I(dq,!0,I(dj,i,e));var s=r.a,c=n0(C(ea,i.h,u,i.d));return 1===c.$?I(dq,!0,I(dj,i,e)):C(dH,!0,s(c.a),I(f$,u,i))}),fk=p(function(e,t){var a;return a={ee:ab(t),ew:e,eA:ab(t),eG:ab(t),eN:av(a3),f0:t,eZ:ab(t)},function(e){if(!C(t9,48,e.h,e.d))return L(fT,a.f0,a.ew,a.eN,a.eA,C(at,10,e.h,e.d),e);var t=e.h+1,r=t+1;return C(t9,120,t,e.d)?$(fS,a.f0,a.eG,r,I(aa,r,e.d),e):C(t9,111,t,e.d)?$(fS,a.f0,a.eZ,r,C(at,8,r,e.d),e):C(t9,98,t,e.d)?$(fS,a.f0,a.ee,r,C(at,2,r,e.d),e):L(fT,a.f0,a.ew,a.eN,a.eA,{a:t,b:0},e)}}),fM=I(fk,fR,fR),fP=(d=fh(U([I(d9,I(dJ,d3(a3),dZ(function(e){return"x"===e||"X"===e})),fC),I(d9,I(dJ,d3(a3),dX(N("0"))),fM)])),I(d9,I(dJ,d3(a3),dZ(N("#"))),I(fr,I(rX,function(e){return e<0||1114111"!==e&&"`"!==e&&"&"!==e})),fN])))),fq=fh(U([I(d9,I(dJ,I(dJ,d3(a3),dZ(N("="))),dX(d2)),fh(U([fV,fz('"'),fz("'")]))),d3("")])),fH=fv(I(d9,I(d9,d3(n7),I(dJ,fg,dX(d2))),I(dJ,fq,dX(d2)))),fB=I(fr,c8,d1(I(dJ,dZ(aN),dX(function(e){return aN(e)||"-"===e})))),fD=function(e){return{$:0,a:e}},f_=I(fr,I(rX,aw(""),fD),I(fO,"text element",fh(U([d1(dQ(function(e){return"<"!==e&&"&"!==e})),fN]))));function fU(){return fh(U([f_,fn,fF()]))}function fF(){return I(dB,function(e){var t=e.a,a=e.b;return I(iB,t,fi)?I(dJ,I(dJ,d3(C(dV,t,a,B)),fh(U([dZ(N("/")),d3(0)]))),dZ(N(">"))):I(d9,I(dJ,d3(I(dV,t,a)),dZ(N(">"))),I(dJ,fv(dD(fU())),d6(t)))},I(d9,I(d9,I(dJ,d3(n7),dZ(N("<"))),I(dJ,fB,dX(d2))),fH))}var fG=fU();fU=function(){return fG};var fj=fF();fF=function(){return fj};var fW=m(function(e,t,a){return{dA:t,dX:a,d_:e}}),fZ=function(e){return C(fW,e.d_,e.dA,e.dX)},fK=p(function(e,t){for(;;)switch(e.$){case 0:return t;case 1:var a=e.a,r=e.b,n=a,i=I(_,r,t);e=n,t=i;continue;default:var a=e.a,o=e.b,n=a,i=I(fK,o,t);e=n,t=i;continue}}),fX=p(function(e,t){var a=e({dA:1,k:B,p:1,h:0,d_:1,d:t});return a.$?ab(I(fK,a.b,B)):av(a.b)}),fY=p(function(e,t){var a=I(fX,e,t);return a.$?ab(I(rl,fZ,a.a)):av(a.a)}),fJ=function(e){return a9(e)?av(B):I(fY,I(fO,"node",fG),e)},fQ=function(e){var t,a=I(nd,function(e){return"target"===e.a},e),r=I(nd,function(e){return"rel"===e.a},e);return t=a?e:I(_,{a:"target",b:"_blank"},e),r?t:I(_,{a:"rel",b:"noopener noreferrer"},t)},f0=function(e){return"href"===e.a?ap(e):am},f1=function(e){switch(e.a){case"alt":case"src":return ap(e);default:return am}},f2=p(function(e,t){switch(e){case"a":return fQ(I(nr,f0,t));case"img":return I(nr,f1,t);default:return B}}),f4=function(e){switch(e.$){case 0:return U([fD(e.a)]);case 1:var t=e.a,a=e.b,r=e.c;return I(iB,t,U(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]))?U([C(dV,t,I(f2,t,a),f3(r))]):f3(r);default:return B}},f3=function(e){return I(iM,f4,e)},f6=function(e){return I(du,e.a,e.b)},f5=function(e){return I(rl,f8,e)},f8=function(e){switch(e.$){case 1:var t=e.a,a=e.b,r=e.c;return C(dv,t,I(rl,f6,a),f5(r));case 0:return tu(e.a);default:return tu("")}},f7=function(e){var t=function(e){return f5(f3(e))},a=C(nf,"

","

",C(nf,"
","
",C(nf,"
","
",e))),r=fJ(a);if(r.$){var n=fJ("
"+a+"
");if(n.$)return U([tu(e)]);var i,o=n.a;return t((i=o).b&&1===i.a.$&&"div"===i.a.a&&!i.b.b?i.a.c:i)}var o=r.a;return t(o)},f9=b8("target"),he=function(e){switch(e){case 0:return"Left to Right";case 1:return"Right to Left";case 2:return"Top to Bottom";default:return"Bottom to Top"}},ht=function(e){switch(e){case 0:return"Auto-advance";case 1:return"No auto-advance";case 2:return"Repeat";case 3:return"No repeat";case 4:return"Unordered";case 5:return"Individuals";case 6:return"Continuous";case 7:return"Paged";case 8:return"Facing pages";case 9:return"Non-paged";case 10:return"Multi-part";case 11:return"Together";case 12:return"Sequence";case 13:return"Thumbnail nav";case 14:return"No nav";default:return"Hidden"}},ha=function(e){switch(e){case 0:return"Paged";case 1:return"Individuals";case 2:return"Continuous";case 3:return"Multi-part";case 4:return"Non-paged";case 5:return"Top";default:return"Facing pages"}},hr=function(e){if(!e.$)return"Hint: "+ha(e.a);var t=e.a;return ul(t)?"Behavior: None":"Behavior: "+I(aw,", ",I(rl,ht,t))},hn=p(function(e,t){var a=es(I(nU,0,I(n_,aI,lt(t)))),r=function(){var t=e.I;switch(t.$){case 1:default:return e.a7;case 2:var a=t.a;return I(nU,e.a7,a.dq)}}(),n=es(aI(cY(t))),i=t.a,o=t.b,u=I(nU,"None",I(n_,cu(e.en),o.gH)),s=he(o.gS),c=hr(o.gT),l=function(){switch(i){case 0:return"IIIF v1";case 1:return"IIIF v2";default:return"IIIF v3"}}();return I(_,{a:"Manifest URL",b:I(dP,U([dN(r),f9("_blank"),dO("noopener noreferrer")]),U([tu(r)]))},H(ul(e.aw)?B:U([{a:"Accept Headers",b:tu(I(aw,", ",e.aw))}]),U([{a:"Detected User Language",b:tu(dz(e.en))},{a:"IIIF Version",b:tu(l)},{a:"Viewing Hint / Behavior",b:tu(c)},{a:"Viewing Direction",b:tu(s)},{a:"Summary",b:"None"===u?tu(u):I(de,B,f7(u))},{a:"Canvases",b:tu(n)},{a:"Ranges",b:tu(a)}])))}),hi=b8("alt"),ho=tc("img"),hu=function(e){var t=I(nD,nM,e.fl);if(t.$)return ap(e.s);var a=t.a;return I(n_,I(rX,cx(ix(256)),cw),iO(a.s))},hs=function(e){return I(b8,"src",t$(e))},hc=cX(function(e){return e.f4}),hl=cX(function(e){return e.e7}),hb=p(function(e,t){var a=function(){var e=I(nD,nM,hl(t));if(e.$)return{a:am,b:I(nD,nM,c9(t))};var a=e.a;return{a:I(nD,nM,a.f4),b:I(nD,nM,a.fZ)}}(),r=a.a,n=a.b,i=r.$?I(n_,I(rX,function(e){return e.s},I(rX,cx(ix(256)),cw)),hc(t)):hu(r.a);return M(i,am)&&M(n,am)?dg:I(de,B,U([I(dm,function(e){return I(ho,U([b7("diva-manifest-info-logo"),hs(e),hi("Manifest logo")]),B)},i),I(dm,function(t){var a=I(cu,e,t.dN);return I(dP,U([dN(t.s),f9("_blank"),dO("noopener noreferrer")]),U([tu(a)]))},n)]))}),hd=function(e){var t=e.a,a=e.b;return I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu(t)])),I(de,U([b7("diva-metadata-value")]),U([a]))]))},hf=p(function(e,t){var a=I(nU,U([{a:"Manifest",b:tu("Not loaded")}]),I(n_,hn(e),t)),r=I(dm,hb(e.en),t);return I(de,U([b7("diva-modal-body is-two-column")]),U([I(de,U([b7("diva-metadata-body")]),I(rl,hd,a)),I(de,U([b7("diva-manifest-info-logo-wrap")]),U([r]))]))}),hh={$:13},hv=tx("d"),hg=tx("fill"),hp=tx("height"),hm=ts("http://www.w3.org/2000/svg"),hw=hm("path"),hx=hm("svg"),hy=tx("viewBox"),hE=tx("width"),hI=function(e){return I(hx,U([hy(e.C),hE("100%"),hp("100%"),hg("currentColor")]),U([I(hw,U([hv(e.A)]),B)]))},hC=hI({A:"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z",C:"0 0 512 512"}),hR=p(function(e,t){return I(tw,e,eT(t))}),h$=hR("disabled"),hL=p(function(e,t){var a,r,n=(a=U([b9(U([{a:"diva-canvas-toolbar-button",b:!0},{a:"is-disabled",b:M(t.dU,am)},{a:"is-fullscreen",b:t.eO}])),df("button"),I(du,"aria-label",t.dN)]),(r=t.dU).$?I(_,h$(!0),H(e,a)):I(_,db(r.a),H(e,a)));return I(de,U([b7("diva-canvas-toolbar-item"),I(du,"data-tooltip",t.dN)]),U([I(ds,n,U([t.eI]))]))}),hA=function(e){return I(hL,B,e)},hS=function(e){var t=e.db;return I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title")]),U([tu("Manifest Info")])),I(de,U([b7("diva-modal-actions")]),U([I(de,U([b7("diva-modal-close-action")]),U([hA({eI:hC,eO:t,dN:"Close",dU:ap(hh)})]))]))]))},hT=tc("h1"),hk=m(function(e,t,a){return e&&!a9(a)?I(hT,U([b9(U([{a:"diva-app-title",b:!0},{a:"is-fullscreen",b:t}]))]),U([tu(a)])):dg}),hM=tc("span"),hP=p(function(e,t){var a=I(rO,e,t.ap);if(a.$)return am;var r,n=a.a;return 1!==(r=n.c6).$||ul(r.a.cK)?ap("anonymous"):I(n_,function(e){return e?"use-credentials":"anonymous"},I(nD,function(e){return I(rO,e,t.au)},bV(n)))}),hN=w(function(e,t,a,r){return I(ds,U([b9(U([{a:"diva-page-view-choice",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:M(a,t)}])),df("button"),db({$:19,a:a})]),U([function(){var t=I(hP,r.b3,e);if(t.$)return I(de,U([b7("diva-page-view-choice-thumb diva-page-view-choice-thumb--protected"),I(du,"aria-label","Protected image")]),B);var a=t.a;return I(ho,U([b7("diva-page-view-choice-thumb"),hs(r.be),hi(r.dN),I(du,"loading","lazy"),I(du,"crossorigin",a)]),B)}(),I(hM,U([b7("diva-page-view-choice-label")]),U([tu(r.dN)]))]))}),hz=m(function(e,t,a){return I(de,U([b7("diva-page-view-choices")]),I(a$,p(function(t,r){return $(th,hN,e,a,t,r)}),t))}),hO={$:33},hV=p(function(e,t){return{$:52,a:e,b:t}}),hq=tc("input"),hH=b8("max"),hB=b8("min"),hD=function(e){return{a:e,b:!0}},h_=p(function(e,t){return I(tp,e,{$:1,a:t})}),hU=I(nN,U(["target","value"]),eh),hF=function(e){return I(h_,"input",I(ew,hD,I(ew,e,hU)))},hG=b8("value"),hj=x(function(e,t,a,r,n){var i=U([df("range"),hB(e),hH(t),hG(r),hF(n)]),o=a.$?i:I(_,I(b8,"step",a.a),i);return I(hq,I(_,b7("diva-filter-range-input"),o),B)}),hW=function(e){return I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hM,U([b7("diva-filter-label")]),U([tu(e.dN)])),I(hM,U([b7("diva-filter-value")]),U([tu(e.l)]))])),$(hj,e.g,e.f,e.n,e.dx,e.m)]))},hZ=p(function(e,t){return{$:40,a:e,b:t}}),hK=hR("checked"),hX=tc("label"),hY=I(nN,U(["target","checked"]),eb),hJ=function(e){return I(dl,"change",I(ew,e,hY))},hQ=function(e){return I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hX,U([b7("diva-filter-toggle is-inline")]),U([I(hq,U([df("checkbox"),hK(e.w),hJ(hZ(e.z))]),B),tu(e.dN)])),I(hM,U([b7("diva-filter-value")]),U([tu(e.l)]))])),$(hj,e.g,e.f,e.n,e.dx,e.m)]))},h0=p(function(e,t){return U([hQ({w:t.cp,l:es(t.bK),dN:e+" Gamma",f:"100",g:"0",m:hV(t.cq),z:t.cr,n:ap("1"),dx:es(t.bK)}),hQ({w:t.cP,l:es(t.b1),dN:e+" Sigmoid",f:"100",g:"0",m:hV(t.cQ),z:t.cR,n:ap("1"),dx:es(t.b1)}),hQ({w:t.cu,l:es(t.bL),dN:e+" Hue Boost",f:"100",g:"-100",m:hV(t.cv),z:t.cw,n:ap("1"),dx:es(t.bL)}),hW({l:es(t.bM),dN:e+" Hue Window",f:"30",g:"2",m:hV(t.cx),n:ap("1"),dx:es(t.bM)}),hQ({w:t.c0,l:es(t.b7),dN:e+" Vibrance",f:"100",g:"0",m:hV(t.c1),z:t.c2,n:ap("1"),dx:es(t.b7)})])}),h1=w(function(e,t,a,r){var n=I(lI,t,e.cm);return I(de,U([b7("diva-filter-group")]),I(_,I(ds,U([b9(U([{a:"diva-filter-title-button",b:!0},{a:"is-collapsed",b:!n}])),db({$:41,a:t})]),U([I(hM,U([b9(U([{a:"diva-filter-title-icon",b:!0},{a:"is-expanded",b:n}]))]),B),I(hM,B,U([tu(a)]))])),n?r:B))}),h2=function(e){return I(de,U([b7("diva-filter-row")]),e)},h4=function(e){return R(h1,e,"advanced-colour-adjust","Advanced colour adjust",I(_,h2(U([I(ds,U([b7("diva-filter-reset"),df("button"),db(hO)]),U([tu("Reset sliders")]))])),H(I(h0,"Red",{bK:e.ez.aW,cp:e.ez.br,cq:2,cr:9,bL:e.ez.aX,cu:e.ez.az,cv:5,cw:10,bM:e.ez.aY,cx:6,b1:e.ez.aZ,cP:e.ez.bs,cQ:3,cR:11,b7:e.ez.a_,c0:e.ez.bt,c1:4,c2:12}),H(I(h0,"Green",{bK:e.ez.aR,cp:e.ez.bo,cq:7,cr:5,bL:e.ez.aS,cu:e.ez.ay,cv:9,cw:6,bM:e.ez.aT,cx:10,b1:e.ez.aU,cP:e.ez.bp,cQ:8,cR:7,b7:e.ez.aV,c0:e.ez.bq,c1:11,c2:8}),I(h0,"Blue",{bK:e.ez.aM,cp:e.ez.bl,cq:12,cr:1,bL:e.ez.aN,cu:e.ez.ax,cv:14,cw:2,bM:e.ez.aO,cx:15,b1:e.ez.aP,cP:e.ez.bm,cQ:13,cR:3,b7:e.ez.aQ,c0:e.ez.bn,c1:16,c2:4})))))},h3=p(function(e,t){return{$:51,a:e,b:t}}),h6=function(e){return R(h1,e,"colour-adjust","Colour Adjust",I(rl,hQ,U([{w:e.ez.cd,l:es(e.ez.bu),dN:"Brightness",f:"255",g:"-255",m:hV(17),z:13,n:am,dx:es(e.ez.bu)},{w:e.ez.cj,l:es(e.ez.bE),dN:"Contrast",f:"4",g:"0",m:h3(1),z:20,n:ap("0.1"),dx:es(e.ez.bE)},{w:e.ez.cp,l:es(e.ez.bK),dN:"Gamma",f:"4",g:"0.1",m:h3(2),z:23,n:ap("0.1"),dx:es(e.ez.bK)},{w:e.ez.cN,l:es(e.ez.bZ),dN:"Saturation",f:"100",g:"-100",m:hV(27),z:31,n:am,dx:es(e.ez.bZ)},{w:e.ez.c0,l:es(e.ez.b7),dN:"Vibrance",f:"100",g:"-100",m:hV(29),z:34,n:am,dx:es(e.ez.b7)},{w:e.ez.cu,l:es(e.ez.bL),dN:"Hue",f:"100",g:"-100",m:hV(24),z:26,n:am,dx:es(e.ez.bL)},{w:e.ez.cg,l:es(e.ez.bx),dN:"Red",f:"100",g:"-100",m:hV(20),z:16,n:am,dx:es(e.ez.bx)},{w:e.ez.cf,l:es(e.ez.bw),dN:"Green",f:"100",g:"-100",m:hV(19),z:15,n:am,dx:es(e.ez.bw)},{w:e.ez.ce,l:es(e.ez.bv),dN:"Blue",f:"100",g:"-100",m:hV(18),z:14,n:am,dx:es(e.ez.bv)}])))},h5=p(function(e,t){return{$:54,a:e,b:t}}),h8=tc("option"),h7=U([I(h8,U([hG("gray")]),U([tu("Gray")])),I(h8,U([hG("hot")]),U([tu("Hot")])),I(h8,U([hG("cool")]),U([tu("Cool")]))]),h9=tc("select"),ve=m(function(e,t,a){return I(h9,U([b7("diva-filter-select"),hF(t),hG(e)]),a)}),vt=m(function(e,t,a){return I(hX,U([b7("diva-filter-toggle")]),U([I(hq,U([df("checkbox"),hK(t),hJ(hZ(a))]),B),tu(e)]))}),va=function(e){return R(h1,e,"colourmap","Colourmap",U([h2(U([C(vt,"Colourmap",e.ez.a1,17),C(ve,e.ez.bD,h5(0),h7)])),hW({l:es(e.ez.bC),dN:"Center",f:"255",g:"0",m:hV(21),n:am,dx:es(e.ez.bC)})]))},vr=U([I(h8,U([hG("sharpen")]),U([tu("Sharpen")])),I(h8,U([hG("blur")]),U([tu("Blur")])),I(h8,U([hG("edge")]),U([tu("Edge")])),I(h8,U([hG("emboss")]),U([tu("Emboss")]))]),vn=function(e){return R(h1,e,"convolution","Convolution",U([h2(U([C(vt,"Kernel",e.ez.ck,21),C(ve,e.ez.bF,h5(3),vr)]))]))},vi=function(e){return R(h1,e,"enhancement","Enhancement",H(I(rl,hQ,U([{w:e.ez.cF,l:es(e.ez.bR),dN:"Normalize",f:"2",g:"0",m:h3(3),z:29,n:ap("0.1"),dx:es(e.ez.bR)},{w:e.ez.c_,l:es(e.ez.b5),dN:"Unsharp",f:"3",g:"0",m:h3(7),z:33,n:ap("0.1"),dx:es(e.ez.b5)},{w:e.ez.aL,l:es(e.ez.bk),dN:"Adaptive Threshold",f:"51",g:"3",m:hV(1),z:0,n:ap("2"),dx:es(e.ez.bk)}])),U([hW({l:es(e.ez.bj),dN:"Offset",f:"50",g:"-50",m:hV(0),n:ap("1"),dx:es(e.ez.bj)})])))},vo={$:11},vu={$:27},vs=function(e){return{$:53,a:e}},vc=tc("textarea"),vl=function(e){return R(h1,e,"diva-filter-json","Import / Export Filter Settings",U([h2(U([I(ds,U([b7("diva-filter-reset"),df("button"),db(vu)]),U([tu("Show JSON")])),I(ds,U([b7("diva-filter-reset"),df("button"),db(vo)]),U([tu("Apply")]))])),I(vc,U([b7("diva-filter-json"),hG(e.cn),hF(vs),I(tx,"rows",es(6))]),B),function(){var t=e.bJ;if(t.$)return dg;var a=t.a;return I(de,U([b7("diva-filter-json-error")]),U([tu(a)]))}()]))},vb=U([I(h8,U([hG("3")]),U([tu("3x3")])),I(h8,U([hG("5")]),U([tu("5x5")])),I(h8,U([hG("7")]),U([tu("7x7")]))]),vd=U([I(h8,U([hG("erode")]),U([tu("Erode")])),I(h8,U([hG("dilate")]),U([tu("Dilate")]))]),vf=function(e){return R(h1,e,"morphology","Morphology",U([h2(U([C(vt,"Morph",e.ez.a8,28),C(ve,e.ez.bQ,h5(5),vd),C(ve,es(e.ez.bP),hV(25),vb)]))]))},vh=U([I(h8,U([hG("pca-rgb")]),U([tu("PCA (RGB)")])),I(h8,U([hG("pca1")]),U([tu("PCA Component 1")])),I(h8,U([hG("pca2")]),U([tu("PCA Component 2")])),I(h8,U([hG("pca3")]),U([tu("PCA Component 3")]))]),vv=function(e){return R(h1,e,"pca","Visible area PCA",U([h2(U([C(vt,"Visible area PCA",e.ez.a4,24),C(ve,e.ez.bT,h5(4),vh)])),hW({l:es(e.ez.bS)+"deg",dN:"Hue Rotation",f:"180",g:"-180",m:hV(23),n:ap("1"),dx:es(e.ez.bS)})]))},vg=U([I(h8,U([hG("rg")]),U([tu("Red–Green Diff")])),I(h8,U([hG("gb")]),U([tu("Green–Blue Diff")])),I(h8,U([hG("rb")]),U([tu("Red–Blue Diff")])),I(h8,U([hG("luma")]),U([tu("Luma False Colour")])),I(h8,U([hG("cmy")]),U([tu("CMY False Colour")])),I(h8,U([hG("heat")]),U([tu("Heat Map")]))]),vp=p(function(e,t){return I(hq,U([b7("diva-filter-color-input"),df("color"),hG(e),hF(t)]),B)}),vm=function(e){return R(h1,e,"pseudo-colour","Pseudo Colour",U([h2(U([C(vt,"Pseudo-colour",e.ez.ad,30),C(ve,e.ez.bW,h5(6),vg)])),hW({l:es(e.ez.bX),dN:"Red Weight",f:"2",g:"0",m:h3(6),n:ap("0.01"),dx:es(e.ez.bX)}),hW({l:es(e.ez.bV),dN:"Green Weight",f:"2",g:"0",m:h3(5),n:ap("0.01"),dx:es(e.ez.bV)}),hW({l:es(e.ez.bU),dN:"Blue Weight",f:"2",g:"0",m:h3(4),n:ap("0.01"),dx:es(e.ez.bU)}),h2(U([C(vt,"Replace Colour",e.ez.N,18)])),h2(U([I(hM,U([b7("diva-filter-label")]),U([tu("Source")])),I(vp,e.ez.bz,h5(1)),I(hM,U([b7("diva-filter-label")]),U([tu("Target")])),I(vp,e.ez.bA,h5(2))])),hW({l:es(e.ez.bB),dN:"Tolerance",f:"255",g:"0",m:hV(22),n:ap("1"),dx:es(e.ez.bB)}),hW({l:es(e.ez.by),dN:"Strength",f:"1",g:"0",m:h3(0),n:ap("0.01"),dx:es(e.ez.by)}),h2(U([C(vt,"Preserve Luminance",e.ez.ci,19)]))]))},vw=function(e){return R(h1,e,"tone","Tone",H(I(rl,function(e){return C(vt,e.a,e.b,e.c)},U([{a:"Grayscale",b:e.ez.cs,c:25},{a:"Invert",b:e.ez.cA,c:27}])),I(rl,hQ,U([{w:e.ez.cU,l:es(e.ez.b4),dN:"Threshold",f:"255",g:"0",m:hV(28),z:32,n:am,dx:es(e.ez.b4)}]))))},vx=function(e){return R(h1,e,"transform","Transform",U([I(de,U([b7("diva-filter-range-group")]),U([I(de,U([b7("diva-filter-range-header")]),U([I(hM,U([b7("diva-filter-label")]),U([tu("Rotation")])),I(hM,U([b7("diva-filter-range-header-right")]),U([I(hM,U([b7("diva-filter-value")]),U([tu(es(e.ez.bd)+"°")])),I(ds,U([b7("diva-filter-reset"),df("button"),db(I(hV,26,"0"))]),U([tu("Reset")]))]))])),$(hj,"-180","180",ap("1"),es(e.ez.bd),hV(26))])),h2(U([C(vt,"Mirror",e.ez.co,22)]))]))},vy=function(e){return I(de,U([b7("diva-modal-sidebar")]),U([I(tb,vx,e),I(tb,vw,e),I(tb,h6,e),I(tb,vf,e),I(tb,vn,e),I(tb,va,e),I(tb,vm,e),I(tb,vv,e),I(tb,h4,e),I(tb,vi,e),I(tb,vl,e)]))},vE=p(function(e,t){return I(de,U([b9(U([{a:"diva-modal-viewer",b:!0},{a:"is-fullscreen",b:e},{a:"is-outer-left",b:t}]))]),U([I(de,U([b7("diva-modal-canvas"),dt("filter-viewer")]),B)]))}),vI=function(e){var t=I(nD,function(t){return I(lh,t,e.aH)},e.R),a=I(nU,!1,I(n_,function(e){return aI(e.cy)>1},t));return I(de,U([b9(U([{a:"diva-modal-body",b:!0},{a:"is-no-gap",b:!0},{a:"is-fullscreen",b:e.di},{a:"is-with-choices",b:a},{a:"is-no-sidebar",b:!e.dj},{a:"is-with-choices-no-sidebar",b:a&&!e.dj}]))]),function(){var r={a:a,b:t,c:e.dj};if(r.c)if(!r.a||r.b.$)return U([I(vE,e.di,!0),vy(e)]);else{var n=r.b.a;return U([C(hz,e.c6,n.cy,e.aG),I(vE,e.di,!1),vy(e)])}if(!r.a||r.b.$)return U([I(vE,e.di,!0)]);var n=r.b.a;return U([C(hz,e.c6,n.cy,e.aG),I(vE,e.di,!1)])}())},vC={$:14},vR={$:20},v$={$:21},vL={$:23},vA={$:32},vS={$:44},vT={$:45},vk=p(function(e,t){return e?am:ap(t)}),vM=hI({A:"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",C:"0 0 448 512"}),vP=hI({A:"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z",C:"0 0 512 512"}),vN=hI({A:"M24 64c13.3 0 24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64zm217 71c9.4 9.4 9.4 24.6 0 33.9l-63 63 284.1 0-63-63c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L537 239c9.4 9.4 9.4 24.6 0 33.9L433 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l63-63-284.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L207 135c9.4-9.4 24.6-9.4 33.9 0zM640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z",C:"0 0 640 512"}),vz=hI({A:"M8.59 16.59L10 18L16 12L10 6L8.59 7.41L13.17 12L8.59 16.59z",C:"0 0 24 24"}),vO=hI({A:"M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41z",C:"0 0 24 24"}),vV=hI({A:"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",C:"0 0 512 512"}),vq=hI({A:"M295 401L167 273c-9.4-9.4-9.4-24.6 0-33.9L295 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87L488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-246.1 0 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM168 80L88 80c-22.1 0-40 17.9-40 40l0 272c0 22.1 17.9 40 40 40l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-48.6 0-88-39.4-88-88L0 120C0 71.4 39.4 32 88 32l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z",C:"0 0 512 512"}),vH=hI({A:"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z",C:"0 0 512 512"}),vB=function(e){var t,a,r=I(nU,"",I(n_,function(e){return e.dN},I(nD,function(e){return I(lh,e,t.aH)},(t=e).R))),n=I(nU,"",I(n_,function(e){return I(cu,a.en,dr(e))},da(a=e))),i=e.dj?{a:vN,b:"Hide filters"}:{a:vq,b:"Show filters"},o=i.a,u=i.b,s=function(){var t=e.R;if(t.$)return{a:!0,b:!0};var a=t.a;return{a:a<=0,b:O(a,aI(e.aH)-1)>-1}}(),c=s.a,l=s.b,b=e.di?{a:vP,b:"Exit fullscreen"}:{a:vH,b:"Fullscreen"},d=b.a,f=b.b;return I(de,U([b7("diva-modal-header")]),U([I(de,U([b7("diva-modal-title-stack")]),I(_,I(de,U([b7("diva-modal-title")]),U([tu("Page View")])),H(a9(n)?B:U([I(de,U([b7("diva-modal-subtitle")]),U([tu(n)]))]),a9(r)?B:U([I(de,U([b7("diva-modal-subtitle is-muted")]),U([tu(r)]))])))),I(de,U([b7("diva-modal-actions")]),U([hA({eI:vO,eO:e.db,dN:"Previous Page",dU:I(vk,c,v$)}),hA({eI:vz,eO:e.db,dN:"Next Page",dU:I(vk,l,vR)}),hA({eI:vM,eO:e.db,dN:"Save view",dU:ap(vL)}),hA({eI:vV,eO:e.db,dN:"Reset Filters",dU:ap(vA)}),hA({eI:o,eO:e.db,dN:u,dU:ap(vT)}),hA({eI:d,eO:e.db,dN:f,dU:ap(vS)}),I(de,U([b7("diva-modal-close-action")]),U([hA({eI:hC,eO:e.db,dN:"Close",dU:ap(vC)})]))]))]))},vD=function(e){return a9(e)?dg:I(de,U([b7("diva-required-statement")]),f7(e))},v_={$:38},vU={$:43},vF={$:49},vG=function(e){var t,a=!ul(le(e)),r=!(t=c9(e)).$&&!ul(t.a);return a||r},vj=function(e){return!!e},vW=function(e){return I(de,U([b7("diva-contents-empty")]),U([tu(e)]))},vZ=vW("No contents available."),vK=p(function(e,t){return I(nU,am,I(rO,t,e))}),vX=p(function(e,t){return I(nd,vY(e),t.aE)}),vY=p(function(e,t){return t.$?I(vX,e,t.a):M(t.a,e)}),vJ=m(function(e,t,a){return I(ds,H(U([b9(U([{a:"diva-contents-button",b:!0},{a:"diva-ui-button",b:!0},{a:"is-current",b:e}])),df("button"),db({$:22,a:t})]),e?U([I(du,"aria-current","location")]):B),U([tu(a)]))}),vQ=m(function(e,t,a){return I(ds,U([b7("diva-contents-disclosure diva-ui-button"),df("button"),I(du,"aria-expanded",e?"true":"false"),I(du,"aria-label",H(e?"Hide information for ":"Show information for ",a)),db({$:46,a:t})]),U([tu(e?"▾":"▸")]))}),v0=p(function(e,t){return I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu(I(cu,e,t.dN))])),I(de,U([b7("diva-metadata-value")]),f7(I(cu,e,t.dx)))]))}),v1=p(function(e,t){return ul(t)?B:U([I(de,U([b7("diva-contents-meta")]),I(rl,v0(e),t))])}),v2=m(function(e,t,a){return e?t?a?1===I(W,2,a)?a:a-1:0:a-I(W,2,a):a}),v4=m(function(e,t,a){if(a.$)return B;var r=a.a;if(!e)return U([r]);if(t&&!r)return U([0]);var n=C(v2,1,t,r);return U([n,n+1])}),v3=m(function(e,t,a){var r=I(nr,function(a){return a.$?ap(R(tf,v6,e,t,a.a)):am},a);return ul(r)?B:U([I(dR,U([b7("diva-contents-list-nested diva-list-reset")]),r)])}),v6=m(function(e,t,a){var r,n=I(vK,t,a.s),i=I(cu,e.en,a.dN),o=a9(i)?"[Untitled range]":i,u=M(e.d$,ap(a.s)),s=u?I(v1,e.en,a.dP):B,c=I(nd,function(e){return I(vX,e,a)},I(rl,function(e){return e.c7},I(nr,function(e){return I(lh,e,r.aH)},C(v4,(r=e).b8,r.b$,r.R)))),l=C(vJ,c,n,o),b=I(de,U([b7("diva-contents-heading")]),H(ul(a.dP)?B:U([C(vQ,u,a.s,o)]),U([l]))),d=C(v3,e,t,a.aE);return I(dC,U([b7("diva-contents-item")]),I(_,b,H(s,d)))}),v5=m(function(e,t,a){return I(dR,U([b7("diva-contents-list diva-list-reset")]),I(rl,C(tf,v6,e,t),a))}),v8=p(function(e,t){var a=lt(t);if(a.$)return vZ;var r=a.a;return ul(r)?vZ:C(v5,e,e.e8,r)}),v7={$:34},v9={$:35},ge=p(function(e,t){return I(de,U([b7("diva-contents-view-tabs")]),U([I(ds,U([b9(U([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:!t}])),df("button"),db(v7)]),U([tu("Index")])),I(ds,U([b9(U([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:1===t}])),df("button"),db(v9)]),U([tu(e?"On these pages":"On this page")]))]))}),gt=p(function(e,t){var a=I(iM,function(t){return t.$?I(gt,e,t.a):B},t.aE);return I(vX,e,t)?I(_,t,a):a}),ga=p(function(e,t){return I(iM,gt(e),t)}),gr=vW("No ranges for this page."),gn=function(e){var t=p(function(e,t){for(;;)if(!e.b)return az(t);else if(e.a.b){var a=e.a,r=a.a,n=a.b,i=e.b;if(r.$){var o=I(_,r.a.aE,I(_,n,i)),u=t;e=o,t=u;continue}var s=r.a,o=I(_,n,i),u=I(_,s,t);e=o,t=u;continue}else{var i=e.b,o=i,u=t;e=o,t=u;continue}});return I(t,U([e]),B)},gi=p(function(e,t){return I(nr,function(t){return I(rO,t,e)},gn(t.aE))}),go=m(function(e,t,a){var r=I(v1,e.en,a.dP),n=I(vK,e.e8,a.s),i=I(cu,e.en,a.dN),o=I(gi,t,a),u=nM(o),s=nM(az(o)),c=function(){var e={a:u,b:s};if(e.a.$)if(e.b.$)return"";else{e.a;var t=e.b.a;return"["+t+"] "}if(e.b.$){var a=e.a.a;return e.b,"["+a+"] "}var a=e.a.a,t=e.b.a;return M(a,t)?"["+a+"] ":"["+(a+"-")+t+"] "}(),l=C(vJ,!1,n,a9(i)?c+"[Untitled range]":H(c,i));return I(dC,U([b7("diva-contents-item")]),I(_,l,r))}),gu=p(function(e,t){var a,r=I(n_,function(e){return e.c7},I(nD,function(e){return I(lh,e,a.aH)},(a=e).R));if(r.$)return gr;var n=r.a,i=lt(t);if(i.$)return gr;var o=I(ga,n,i.a);if(ul(o))return gr;var u=si(I(rl,function(e){return{a:e.s,b:cs(e)}},cY(t)));return I(dR,U([b7("diva-contents-list diva-list-reset")]),I(rl,I(go,e,u),o))}),gs=function(e){var t=da(e),a=function(){var a={a:e.dD,b:t};if(a.a)if(a.b.$)return a.a,a.b,gr;else{a.a;var r=a.b.a;return I(gu,e,r)}if(a.b.$)return a.a,a.b,vZ;a.a;var r=a.b.a;return I(v8,e,r)}();return I(de,U([b7("diva-contents-panel")]),U([I(de,U([b7("diva-contents-title")]),U([tu("Contents")])),I(ge,e.b8,e.dD),a]))},gc=p(function(e,t){return I(de,B,U([I(dP,U([dN(t.s),f9("_blank"),dO("noopener noreferrer")]),U([tu(I(cu,e,t.dN))]))]))}),gl=p(function(e,t){var a=c9(t);if(a.$)return B;var r=a.a;return ul(r)?B:U([I(de,U([b7("diva-metadata-item")]),U([I(de,U([b7("diva-metadata-label")]),U([tu("Homepage")])),I(de,U([b7("diva-metadata-value")]),I(rl,gc(e),r))]))])}),gb=p(function(e,t){return I(rl,v0(e),le(t))}),gd=m(function(e,t,a){return I(de,U([b9(U([{a:"diva-sidebar-pane",b:!0},{a:"is-hidden",b:!M(e,t)}]))]),U([a]))}),gf=w(function(e,t,a,r){return I(ds,U([b9(U([{a:"diva-sidebar-tab-button",b:!0},{a:"is-active",b:M(e,t)}])),df("button"),db(r)]),U([tu(a)]))}),gh=m(function(e,t,a){for(;;)if(e<=0)return a;else{if(!t.b)return a;var r=t.a,n=t.b,i=e-1,o=I(_,r,a);e=i,t=n,a=o;continue}}),gv=p(function(e,t){return az(C(gh,e,t,B))}),gg=m(function(e,t,a){if(t<=0)return B;var r={a:t,b:a};e:for(;;){t:for(;;)if(!r.b.b)return a;else if(r.b.b.b)switch(r.a){case 1:break e;case 2:var n=r.b,i=n.a,o=n.b.a;return U([i,o]);case 3:if(r.b.b.b.b){var u=r.b,i=u.a,s=u.b,o=s.a,c=s.b.a;return U([i,o,c])}break t;default:if(r.b.b.b.b&&r.b.b.b.b.b){var l=r.b,i=l.a,b=l.b,o=b.a,d=b.b,c=d.a,f=d.b,h=f.a,v=f.b;return e>1e3?I(_,i,I(_,o,I(_,c,I(_,h,I(gv,t-4,v))))):I(_,i,I(_,o,I(_,c,I(_,h,C(gg,e+1,t-4,v)))))}break t}else if(1===r.a)break e;else break;return a}var i=r.b.a;return U([i])}),gp=p(function(e,t){return C(gg,0,e,t)}),gm=m(function(e,t,a){for(;;)if(!t.b)return az(a);else{var r=I(lf,e,t),n=I(gp,e,t),i=e,o=I(_,n,a);e=i,t=r,a=o;continue}}),gw=p(function(e,t){return e<=0?B:C(gm,e,t,B)}),gx=p(function(e,t){return e<=1?t:I(iM,az,I(gw,e,t))}),gy={$:0},gE=w(function(e,t,a,r){return I(iB,r,C(v4,e,t,a))}),gI=y(function(e,t,a,r,n,i){var o=R(gE,t,a,r,n),u=aI(i.cy)>1,s=I(nU,I(nU,{c6:gy,s:"",bN:!1,aD:!0,dN:"",b3:"",be:"",cV:""},nM(i.cy)),nM(I(iS,function(e){return e.bN},i.cy))),c=function(){var t=I(hP,s.b3,e);if(t.$)return I(de,U([b7("diva-thumbs-image diva-thumbs-image--protected"),I(du,"aria-label","Protected image")]),B);var a=t.a;return C(dv,"diva-lazy-image",U([b7("diva-thumbs-lazy-image"),I(du,"data-src",i.be),I(du,"data-fallback-src",i.ey),I(du,"data-alt","Page "+es(n+1)),I(du,"data-crossorigin",a)]),B)}(),l=U([b9(U([{a:"diva-thumbs-item",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:o}])),df("button"),dt("thumb-"+es(n)),I(du,"data-thumb-index",es(n)),db({$:24,a:n})]);return I(ds,l,U([c,I(de,U([b9(U([{a:"diva-thumbs-label",b:!0},{a:"is-active",b:o}]))]),U([tu(u?i.dN+" *":i.dN)]))]))}),gC=p(function(e,t){var a=e.db,r=e.c6,n=e.R,i=e.b$,o=e.bf,u=e.b8,s=e.gS,c=I(a$,n7,t),l=1===s?I(gx,3,c):c;return I(de,U([b9(U([{a:"diva-thumbs",b:!0},{a:"is-fullscreen",b:a}])),dt("thumbs"),I(tm,"scroll-behavior",o?"auto":"smooth")]),I(rl,function(e){return A(tg,gI,r,u,i,n,e.a,e.b)},l))}),gR=p(function(e,t){var a=I(nU,0,I(n_,lr,t)),r=M(e.I,rw)||M(e.bY,rm)?B:e.aH,n=U([{a:"diva-sidebar-panel",b:!0},{a:"is-fullscreen",b:e.db},{a:"is-hidden",b:!vj(e.B)},{a:"is-overlay",b:e.bO},{a:"is-mobile-hidden",b:!e.bO}]),i=I(nU,!1,I(n_,vG,t)),o=i?U([C(gd,e.B,2,I(de,U([b7("diva-metadata-panel")]),function(){var t=da(e);if(t.$)return U([I(de,U([b7("diva-metadata-body")]),U([tu("No metadata available.")]))]);var a=t.a;return U([I(de,U([b7("diva-metadata-body")]),H(I(gb,e.en,a),I(gl,e.en,a)))])}()))]):B,u=i?U([R(gf,e.B,2,"Metadata",vU)]):B,s=I(nU,!1,I(n_,I(rX,ul,cj),I(nD,lt,t))),c=s?U([R(gf,e.B,3,"Contents",v_)]):B,l=s?U([C(gd,e.B,3,gs(e))]):B;return I(de,U([b9(n),I(tm,"width",vj(e.B)?es(e.b0)+"px":"0px")]),U([I(de,U([b7("diva-sidebar-tabs")]),I(_,R(gf,e.B,1,"Thumbnails",vF),H(u,c))),I(de,U([b7("diva-sidebar-content")]),I(_,C(gd,e.B,1,I(gC,{c6:e.c6,db:e.db,R:e.R,b$:e.b$,bf:e.bf,b8:e.b8,gS:a},r)),H(o,l)))]))}),g$=p(function(e,t){return I(gR,e,ap(t))}),gL=function(e){return{$:37,a:e}},gA=function(e){return 2!==e.I.$&&M(da(e),am)?dg:I(de,U([b9(U([{a:"diva-sidebar-resizer",b:!0},{a:"is-hidden",b:!vj(e.B)}])),I(dl,"mousedown",I(ew,gL,I(ev,"clientX",el)))]),U([tu("⋮")]))},gS={$:17},gT={$:18},gk={$:25},gM={$:26},gP={$:42},gN={$:47},gz={$:48},gO={$:50},gV=p(function(e,t){return O(a8(t),e)>0?I(re,e-3,t)+"...":t}),gq=function(e){var t=function(){var t=e.R;if(t.$)return"";var a=t.a;if(!e.b8)return I(nU,"",I(n_,function(e){return e.dN},I(lh,a,e.aH)));var r=C(v2,e.b8,e.b$,a),n=I(n_,function(e){return e.dN},I(lh,r+1,e.aH)),i={a:I(n_,function(e){return e.dN},I(lh,r,e.aH)),b:n};if(i.a.$)return"";var o=i.a.a;return e.b$&&!r||n.$?o:o+" / "+n.a}();return I(gV,140,t)},gH=hI({A:"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z",C:"0 0 512 512"}),gB=hI({A:"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z",C:"0 0 576 512"}),gD=hI({A:"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z",C:"0 0 384 512"}),g_=hI({A:"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z",C:"0 0 384 512"}),gU=hI({A:"M 283.05 111 C 292.45 101.6 307.65 101.6 316.95 111 C 326.25 120.4 326.35 135.6 316.95 144.9 L 277.95 183.9 L 556.05 183.9 C 569.35 183.9 580.05 194.6 580.05 207.9 C 580.05 221.2 569.35 231.9 556.05 231.9 L 277.95 231.9 L 316.95 270.9 C 326.35 280.3 326.35 295.5 316.95 304.8 C 307.55 314.1 292.35 314.2 283.05 304.8 L 203.05 224.8 C 193.65 215.4 193.65 200.2 203.05 190.9 L 283.05 110.9 L 283.05 111 Z M 392 0 C 422.9 0 448 25.1 448 56 L 448 128 L 400 128 L 400 56 C 400 51.6 396.4 48 392 48 L 88 48 C 65.9 48 48 65.9 48 88 L 48 358.7 C 57.8 354.4 68.6 352 80 352 L 392 352 C 396.4 352 400 348.4 400 344 L 400 288 L 448 288 L 448 344 C 448 366.3 434.9 385.6 416 394.6 L 416 464 L 424 464 C 437.3 464 448 474.7 448 488 C 448 501.3 437.3 512 424 512 L 80 512 C 35.8 512 0 476.2 0 432 C 0 429.3 0.1 426.6 0.4 424 L 0 424 L 0 88 C 0 39.4 39.4 0 88 0 L 392 0 Z M 80 400 C 62.3 400 48 414.3 48 432 C 48 449.7 62.3 464 80 464 L 368 464 L 368 400 L 80 400 Z",C:"0 0 640 512"}),gF=hI({A:"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z",C:"0 0 640 512"}),gG={$:39},gj=hI({A:"M217 401L345 273c9.4-9.4 9.4-24.6 0-33.9L217 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zM344 80l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24z",C:"0 0 512 512"}),gW=p(function(e,t){return I(de,U([b9(U([{a:"diva-canvas-label",b:!0},{a:"is-fullscreen",b:e}]))]),U([tu(t)]))}),gZ=hI({A:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z",C:"0 0 512 512"}),gK=hI({A:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z",C:"0 0 512 512"}),gX=function(e){var t,a,r=gq(e),n=cW(da(e));return I(de,U([b7("diva-canvas-toolbar-stack")]),U([I(de,U([b7("diva-canvas-toolbar")]),U([I(de,U([b7("diva-canvas-toolbar-section")]),U([2===e.I.$?hA({eI:e.a0?vN:gj,eO:e.db,dN:e.a0?"Hide Collection":"Show Collection",dU:ap(gG)}):dg,hA({eI:gK,eO:e.db,dN:"Zoom Out",dU:I(vk,n,gM)}),hA({eI:gZ,eO:e.db,dN:"Zoom In",dU:I(vk,n,gk)})])),I(de,U([b7("diva-canvas-toolbar-end")]),U([C(td,gW,e.db,r),I(de,U([b7("diva-canvas-toolbar-section is-right")]),H(I(rl,function(e){var a=I(nU,"Log out",I(n_,cu(t.en),e.dN)),r=e.at.$?a:a+" (popup blocked)";return I(de,U([b7("diva-canvas-toolbar-item"),I(du,"data-tooltip",r)]),U([I(ds,U([b7("diva-canvas-toolbar-button"),df("button"),I(du,"aria-label",r),I(du,"data-diva-auth-logout",e.fm),I(du,"data-diva-auth-url",e.aK)]),U([gF]))]))},I(rl,function(e){return{at:e.at,dN:e.a6.dN,fm:e.s,aK:e.a6.s}},bq((t=e).c6.af))),U([hA({eI:gD,eO:e.db,dN:"Page View",dU:I(vk,n,gT)}),hA({eI:gH,eO:e.db,dN:"Manifest Info",dU:I(vk,n,gS)}),hA({eI:e.b8?g_:gB,eO:e.db,dN:e.b8?"One Page":"Two Page",dU:I(vk,n,gO)}),hA({eI:e.b$?gU:gF,eO:e.db,dN:"Shift Pages",dU:I(vk,n||!e.b8,gN)}),hA({eI:(a=e.df?e.bO:!!e.B)?vN:vq,eO:e.db,dN:a?"Hide Sidebar":"Show Sidebar",dU:I(vk,n,gz)}),I(hL,U([I(du,"data-diva-action","fullscreen")]),{eI:e.db?vP:vH,eO:e.db,dN:e.db?"Exit Full":"Fullscreen",dU:ap(gP)})])))]))]))]))},gY=function(e){var t=e.I;switch(t.$){case 1:return e.eE?am:ap({a:"Unable to display manifest",b:"No canvases found in this manifest.",c:!1});case 2:var a=e.bY;if(3===a.$){var r=a.a;return ap({a:"Unable to load manifest",b:r,c:!0})}return e.eE?am:ap({a:"No Manifest Selected",b:"Select a manifest from the collection to view.",c:!1});case 3:var r=t.a;return ap({a:"Unable to load manifest",b:r,c:!0});default:return am}},gJ=function(e){var t={a:e.de,b:e.dE};if(t.a.$||t.b.$)return am;var a=t.a.a,r=t.b.a;return a>0?ap(es(X(r/a*100))+"%"):am},gQ={Main:{init:tU({f$:function(e){var t=rp(e.d7),a=uT(e._),r=e.d1?a:0,n=e.dS;return{a:{aw:e.aw,c6:r$,ch:am,a0:!0,dB:400,dD:0,dE:am,en:t,cm:rC,ez:uS,bJ:am,cn:"",db:!1,eE:!1,cz:e.cz,dM:!1,de:am,df:!1,X:!1,dO:!1,a7:n,bO:!1,di:!1,aG:0,cH:!1,dj:!0,aH:B,ba:am,cI:am,e8:rC,I:rw,bY:rm,dm:e.dm,R:am,d$:am,b$:!1,dr:e.dr,cO:am,_:a,B:r,b0:C(rE,220,520,e.b0),bf:!1,b8:0},b:eX(U([C(uA,rx,e.aw,n),I(rg,function(e){return I(ry,X(e.d8.dz),X(e.d8.dd))},rR)]))}},gF:function(e){return eX(U([sE(function(e){return uk(I(uD,e.fd,e.b3))}),sI(function(e){return I(uV,e.fd,e.aK)}),u8(uO),sy(I(rX,uM,uk)),u0(function(e){return uk(C(uB,e.s,e.du,e.ef))}),uQ(function(e){return uk(I(uH,e.s,e.ac))}),u4(function(e){return uk(C(u_,e.da,e.dh,e.dx))}),u6(function(e){return uk(C(uF,e.da,e.dh,e.dx))}),u3(function(e){return uk(I(uU,e.da,e.ac))}),u2(sx),u1(u9),uJ(function(e){return uk(uq)}),sm(uN),sw(uz),u5(uP),sR(uG),sC(uX),C(sv,1,"resize",I(ev,"target",C(ex,ry,I(ev,"innerWidth",el),I(ev,"innerHeight",el)))),e.cO.$?se:eX(U([sg(I(ew,uW,I(ev,"clientX",el))),sp(a2(uK))])),e.ch.$?se:eX(U([sg(I(ew,uj,I(ev,"clientX",el))),sp(a2(uZ))]))]))},gQ:b5,gR:function(e){var t,a,r,n,i=gY(e);return I(de,U([dt(e.dm)]),U([I(de,U([b9(U([{a:"diva-app",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([R(tf,hk,e.dr,e.db,I(nU,"",I(n_,function(e){return I(cu,r.en,dr(e))},da(r=e)))),I(de,U([b7("diva-app-header")]),U([gX(e)])),I(de,U([b9(U([{a:"diva-app-body",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([dM(e),2!==(t=e).I.$?dg:I(de,U([b9(U([{a:"diva-collection-resizer",b:!0},{a:"is-hidden",b:!t.a0}])),I(dl,"mousedown",I(ew,dI,I(ev,"clientX",el)))]),U([tu("⋮")])),I(de,U([b9(U([{a:"diva-canvas-column",b:!0},{a:"is-fullscreen",b:e.db}]))]),U([L(tv,dE,e.db,e.X||M(e.I,rw)||M(e.bY,rm),2===e.I.$&&e.a0,i,gJ(e))])),gA(e),2===e.I.$?I(gR,e,da(e)):I(dm,g$(e),da(e))])),I(de,U([b7("diva-required-statement-dock")]),U([I(dm,tb(vD),I(n_,function(e){return I(cu,n.en,e.dx)},I(nD,dn,da(n=e))))])),(a=e).cH?I(de,U([b9(U([{a:"diva-modal-overlay",b:!0},{a:"is-fullscreen",b:a.di}]))]),U([I(de,U([b9(U([{a:"diva-modal",b:!0},{a:"is-fullscreen",b:a.di},{a:"is-page-view",b:!a.di}]))]),U([vB(a),vI(a)]))])):dg,e.dO?I(de,U([b7("diva-modal-overlay")]),U([I(de,U([b7("diva-modal is-narrow")]),U([hS(e),I(hf,e,da(e))]))])):dg,I(dm,dh(e),e.c6.ag)]))]))}})(I(em,function(e){return I(em,function(t){return I(em,function(a){return I(em,function(r){return I(em,function(n){return I(em,function(i){return I(em,function(o){return I(em,function(u){return I(em,function(s){return a2({aw:s,cz:u,dS:o,dm:i,d1:n,dr:r,_:a,b0:t,d7:e})},I(ev,"acceptHeaders",nl(eh)))},I(ev,"initialPage",ef))},I(ev,"objectData",eh))},I(ev,"rootElementId",eh))},I(ev,"showSidebar",eb))},I(ev,"showTitle",eb))},I(ev,"sidebarPanel",eh))},I(ev,"sidebarWidth",el))},I(ev,"userLanguage",eh)))(0)}},g0=/\/info\.json(?:[?#].*)?$/,g1=()=>new DOMException("The operation was cancelled.","AbortError"),g2=e=>"string"==typeof e?e:{...e},g4=class{resolve(e,t){if(this.destroyed||t.aborted)return Promise.reject(g1());let a=JSON.stringify([e.url,e.isStatic]),r=this.resolutionCache.get(e.sourceId);if(r&&r.descriptorKey!==a)this.invalidateSource(e.sourceId);else if(r){let e=r.resolutions.get(r.activeState);if(void 0!==e)return Promise.resolve(g2(e))}let n=this.inflight.get(e.sourceId);return n&&n.descriptorKey!==a&&(this.invalidateSource(e.sourceId),n=void 0),n||(n=this.startResolution(e,a)),this.consume(n,t)}registerSources(e){Array.from(this.inflight.values()).forEach(e=>this.cancelResolution(e)),this.resolutionCache.clear(),this.requests.forEach(e=>e.abort()),this.requests.clear(),Array.from(this.frames.keys()).forEach(e=>this.cancelFrame(e)),this.popups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.popups.clear(),this.logoutPopups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.logoutPopups.clear()}invalidateSources(e){e.forEach(e=>this.invalidateSource(e))}destroy(){this.destroyed||(this.destroyed=!0,this.root.removeEventListener("click",this.clickHandler,!0),this.ports.authDestroyed.send(null),this.requests.forEach(e=>e.abort()),this.requests.clear(),this.frames.forEach((e,t)=>this.cancelFrame(t)),this.popups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.popups.clear(),this.logoutPopups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.logoutPopups.clear(),this.pending.forEach(e=>e.reject(new DOMException("The viewer was destroyed.","AbortError"))),this.pending.clear(),this.inflight.clear(),this.resolutionCache.clear())}succeed(e){let t,a=this.pending.get(e.requestId);if(!a||this.destroyed)return;this.pending.delete(e.requestId);let r=this.inflight.get(a.sourceId);(null==r?void 0:r.requestId)===e.requestId&&this.inflight.delete(a.sourceId);let n=e.credentialed?"use-credentials":"Anonymous";t=e.infoJson&&"object"==typeof e.infoJson&&!e.isStatic?{...(e=>{let t={...e};for(let e of["id","@id"]){let a=t[e];"string"==typeof a&&g0.test(a)&&(t[e]=a.replace(g0,""))}return t})(e.infoJson),crossOriginPolicy:n,ajaxWithCredentials:e.credentialed}:e.isStatic?{type:"image",url:e.url,crossOriginPolicy:n,ajaxWithCredentials:e.credentialed}:e.credentialed?{url:e.url,crossOriginPolicy:n,ajaxWithCredentials:!0}:e.url;let i=e.credentialed?"credentialed":"anonymous",o=this.resolutionCache.get(a.sourceId),u=(null==o?void 0:o.descriptorKey)===a.descriptorKey?o.resolutions:new Map;u.set(i,t),this.resolutionCache.set(a.sourceId,{descriptorKey:a.descriptorKey,activeState:i,resolutions:u}),a.resolve(t)}fail(e,t){let a=this.pending.get(e);if(!a)return;this.pending.delete(e);let r=this.inflight.get(a.sourceId);(null==r?void 0:r.requestId)===e&&this.inflight.delete(a.sourceId),a.reject(Error(t))}startResolution(e,t){let a,r,n=`tile-source-${this.nextRequest+=1}`,i={requestId:n,descriptorKey:t,promise:new Promise((e,t)=>{a=e,r=t}),consumers:new Set};return this.pending.set(n,{sourceId:e.sourceId,descriptorKey:t,resolve:a,reject:r}),this.inflight.set(e.sourceId,i),this.ports.resolveTileSourceRequested.send({requestId:n,sourceId:e.sourceId}),i}consume(e,t){let a=this.nextConsumer+=1;return e.consumers.add(a),new Promise((r,n)=>{let i=!1,o=()=>{t.removeEventListener("abort",u),e.consumers.delete(a)},u=()=>{i||(i=!0,o(),n(g1()),0===e.consumers.size&&this.cancelResolution(e))};t.addEventListener("abort",u,{once:!0}),e.promise.then(e=>{i||(i=!0,o(),r(g2(e)))},e=>{i||(i=!0,o(),n(e))})})}cancelResolution(e){var t;let a=this.pending.get(e.requestId);a&&(this.pending.delete(e.requestId),(null==(t=this.inflight.get(a.sourceId))?void 0:t.requestId)===e.requestId&&this.inflight.delete(a.sourceId),this.ports.resolveTileSourceCancelled.send(e.requestId),a.reject(g1()))}invalidateSource(e){this.resolutionCache.delete(e);let t=this.inflight.get(e);t&&this.cancelResolution(t)}async fetch(e){let t=new AbortController;this.requests.set(e.id,t);try{let a=await fetch(e.url,{mode:"cors",credentials:e.withCredentials?"include":"omit",signal:t.signal,headers:e.bearer?{Authorization:`Bearer ${e.bearer}`}:void 0}),r=await a.text();this.destroyed||this.ports.authHttpResponded.send({id:e.id,status:a.status,body:r})}catch(a){t.signal.aborted||this.destroyed||this.ports.authHttpFailed.send({id:e.id,message:a instanceof Error?a.message:"Authorization request failed."})}finally{this.requests.delete(e.id)}}cancelFetch(e){var t;null==(t=this.requests.get(e))||t.abort(),this.requests.delete(e)}storage(e){let t="diva:iiif-auth2:"+encodeURIComponent(e.key);try{if("write"===e.action)return void sessionStorage.setItem(t,JSON.stringify({accessToken:e.accessToken,expiresAt:e.expiresAt}));if("remove"===e.action)return void sessionStorage.removeItem(t);let a=sessionStorage.getItem(t);this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:a?JSON.parse(a):null})}catch(t){"read"===e.action&&this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:null})}}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let a=t.closest("button[data-diva-auth-logout][data-diva-auth-url]");if(a&&this.root.contains(a)){e.preventDefault(),e.stopPropagation(),this.startLogout(a);return}let r=t.closest("button[data-diva-auth-flow][data-diva-auth-url]");if(!r||!this.root.contains(r))return;e.preventDefault(),e.stopPropagation();let n=r.dataset.divaAuthFlow,i=new URL(r.dataset.divaAuthUrl,location.href);i.searchParams.set("origin",location.origin);let o=window.open(i.href,"_blank");if(!o)return void this.ports.authPopupChanged.send({flowId:n,status:"blocked"});this.ports.authPopupChanged.send({flowId:n,status:"opened"});let u=Date.now(),s=window.setInterval(()=>{o.closed?(clearInterval(s),this.popups.delete(n),this.ports.authPopupChanged.send({flowId:n,status:"closed"})):Date.now()-u>6e5&&(o.close(),clearInterval(s),this.popups.delete(n),this.ports.authTokenFailed.send({flowId:n,message:"Sign-in timed out."}))},250);this.popups.set(n,{window:o,timer:s})}startLogout(e){let t=e.dataset.divaAuthLogout,a=new URL(e.dataset.divaAuthUrl,location.href),r=window.open(a.href,"_blank");if(!r)return void this.ports.authLogoutChanged.send({sessionId:t,status:"blocked"});this.ports.authLogoutChanged.send({sessionId:t,status:"opened"});let n=window.setInterval(()=>{r.closed&&(clearInterval(n),this.logoutPopups.delete(t),this.ports.authLogoutChanged.send({sessionId:t,status:"closed"}))},250);this.logoutPopups.set(t,{window:r,timer:n})}startFrame(e){this.cancelFrame(e.flowId);let t=new URL(e.url,location.href);t.searchParams.set("messageId",e.messageId),t.searchParams.set("origin",location.origin);let a=document.createElement("iframe");a.hidden=!0,a.src=t.href;let r=r=>{r.source===a.contentWindow&&r.origin===t.origin&&r.data&&"object"==typeof r.data&&r.data.messageId===e.messageId&&this.ports.authTokenMessage.send({flowId:e.flowId,now:Date.now(),value:r.data})};window.addEventListener("message",r);let n=window.setTimeout(()=>{this.cancelFrame(e.flowId),this.ports.authTokenFailed.send({flowId:e.flowId,message:"The token service did not respond."})},3e4);this.frames.set(e.flowId,{element:a,timeout:n,receive:r}),document.body.append(a)}cancelFrame(e){let t=this.frames.get(e);t&&(clearTimeout(t.timeout),window.removeEventListener("message",t.receive),t.element.remove(),this.frames.delete(e))}constructor(e,t){this.pending=new Map,this.inflight=new Map,this.resolutionCache=new Map,this.requests=new Map,this.frames=new Map,this.popups=new Map,this.logoutPopups=new Map,this.nextRequest=0,this.nextConsumer=0,this.destroyed=!1,this.ports=e,this.root=t,this.clickHandler=this.handleClick.bind(this),t.addEventListener("click",this.clickHandler,!0),e.tileSourceResolutionSucceeded.subscribe(e=>this.succeed(e)),e.tileSourceResolutionFailed.subscribe(e=>this.fail(e.requestId,e.message)),e.authHttpRequested.subscribe(e=>void this.fetch(e)),e.authHttpCancelled.subscribe(e=>this.cancelFetch(e)),e.authStorageRequested.subscribe(e=>this.storage(e)),e.authTokenFrameRequested.subscribe(e=>this.startFrame(e)),e.authTokenFrameCancelled.subscribe(e=>this.cancelFrame(e))}};function g3(e){let t=e.canvas.width,a=e.canvas.height,r=pC._ensureScratchContext(t,a);return r.clearRect(0,0,t,a),r.drawImage(e.canvas,0,0),r.getImageData(0,0,t,a)}function g6(e,t){let a=t.filters;e.filters=a?Array.isArray(a)?a:[a]:[];for(let t=0;t=0)throw Error("An item can not have filters assigned multiple times.");t.push(e)}function g8(e,t){if(0===e.filters.length)return[];let a=null;for(let r=0;r=0)return n.processors}else a=n.processors}return a||[]}var g7=(e,t)=>{let a=e[0],r=e[e.length-1];for(let n=0;n=t){r=e[n],a=e[Math.max(0,n-1)];break}if(r.stop===a.stop)return r.color.slice();let n=(t-a.stop)/(r.stop-a.stop);return[Math.round(a.color[0]+(r.color[0]-a.color[0])*n),Math.round(a.color[1]+(r.color[1]-a.color[1])*n),Math.round(a.color[2]+(r.color[2]-a.color[2])*n)]},g9=e=>{let t=[];for(let a=0;a<256;a+=1){let r=a/255;t[a]=g7(e,r)}return t},pe=new Map,pt=e=>e<0?0:e>255?255:e,pa=e=>e<0?0:e>1?1:e,pr=e=>{if(!e)return null;let t=e.trim();if(t.startsWith("#")&&(t=t.slice(1)),3===t.length&&(t=t.split("").map(e=>e+e).join("")),6!==t.length)return null;let a=parseInt(t,16);return Number.isNaN(a)?null:[a>>16&255,a>>8&255,255&a]},pn=(e,t,a,r,n)=>{let i=new Uint8ClampedArray(e.length);if(!r)return i.set(e),i;let o=1/(2*r+1);if(n){let n=new Uint8ClampedArray(t*a);for(let i=0;i>8;return n}function pu(e,t){let a=e.canvas.width,r=e.canvas.height,n=pC._ensureScratchContext(a,r);n.clearRect(0,0,a,r),n.drawImage(e.canvas,0,0);let i=n.getImageData(0,0,a,r);t(i)&&(n.putImageData(i,0,0),e.clearRect(0,0,a,r),e.drawImage(pC._scratchCanvas,0,0))}function ps(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function pc(e){let t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function pl(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function pb(e,t){let a=pc([1,1,1]);for(let r=0;r{t()};function pg(e,t,a){let r=e/255,n=t/255,i=a/255,o=Math.max(r,n,i),u=Math.min(r,n,i),s=o-u,c=0;if(o!==u){switch(o){case r:c=(n-i)/s+6*(n{i[0]=t[e],i[1]=a,i[2]=r,i[3]=n}):1===e?pi((e,a,r,n,i)=>{i[0]=e,i[1]=t[a],i[2]=r,i[3]=n}):pi((e,a,r,n,i)=>{i[0]=e,i[1]=a,i[2]=t[r],i[3]=n})}function pw(e,t){let a=t/100,r=Math.abs(a),n=e=>a>0?e+(255-e)*a:e-e*r;return 0===e?pi((e,t,a,r,i)=>{i[0]=n(e),i[1]=t,i[2]=a,i[3]=r}):1===e?pi((e,t,a,r,i)=>{i[0]=e,i[1]=n(t),i[2]=a,i[3]=r}):pi((e,t,a,r,i)=>{i[0]=e,i[1]=t,i[2]=n(a),i[3]=r})}function px(e,t){let a=Math.max(0,Math.min(100,t||0));if(0===a)return pv;let r=1-a/100*.8,n=[];for(let e=0;e<256;e+=1)n[e]=pt(255*Math.pow(e/255,r));return pm(e,n)}function py(e,t){let a=Math.max(0,Math.min(100,t||0))/100;if(0===a)return pv;let r=[];for(let e=0;e<256;e+=1){let t=255*(1/(1+Math.exp(-8*(e/255-.5))));r[e]=pt(e+(t-e)*a)}return pm(e,r)}function pE(e,t,a){let r=Math.max(-100,Math.min(100,t||0))/100;if(0===r)return pv;let n=Math.max(.02,Math.min(.3,(void 0===a?8:a)/100));return pi((t,a,i,o,u)=>{let s=pg(t,a,i),c=pa(1-(0===e?Math.min(Math.abs(s.h),Math.abs(1-s.h)):Math.abs(s.h-e))/n)*Math.abs(r);if(c<=0){u[0]=t,u[1]=a,u[2]=i,u[3]=o;return}let l=r>=0?1:-1,b=pa(s.s+l*(1-s.s)*c),d=pa(s.v+l*s.v*c*.2),f=pp(s.h,b,d);u[0]=f.r,u[1]=f.g,u[2]=f.b,u[3]=o})}function pI(e,t){let a=Math.max(0,Math.min(100,t||0))/100;if(0===a)return pv;let r=[];for(let e=0;e<256;e+=1){let t=e/255*(e/255)*a;r[e]=pt(e+(255-e)*t)}return pm(e,r)}var pC={_scratch:null,_scratchCanvas:null,_scratchContext:null,_ensureScratch:function(e){return(!this._scratch||this._scratch.length255)throw Error("Threshold must be between 0 and 255.");return pi((t,a,r,n,i)=>{let o=255*(54*t+183*a+19*r>>8>=e);i[0]=o,i[1]=o,i[2]=o,i[3]=255})},SATURATION:function(e){let t=-.01*e;return pi((e,a,r,n,i)=>{let o=Math.max(e,a,r);i[0]=e!==o?e+(o-e)*t:e,i[1]=a!==o?a+(o-a)*t:a,i[2]=r!==o?r+(o-r)*t:r,i[3]=n})},VIBRANCE:function(e){let t=-1*e;return pi((e,a,r,n,i)=>{let o=Math.max(e,a,r),u=2*Math.abs(o-(e+a+r)/3)/255*t/100;i[0]=e!==o?e+(o-e)*u:e,i[1]=a!==o?a+(o-a)*u:a,i[2]=r!==o?r+(o-r)*u:r,i[3]=n})},HUE:function(e){let t=pf(Math.abs(e)/100*360);return pi((e,a,r,n,i)=>{i[0]=pt(t.m00*e+t.m01*a+t.m02*r),i[1]=pt(t.m10*e+t.m11*a+t.m12*r),i[2]=pt(t.m20*e+t.m21*a+t.m22*r),i[3]=n})},BRIGHTNESS:function(e){if(e<-255||e>255)throw Error("Brightness adjustment must be between -255 and 255.");let t=[];for(let a=0;a<256;a+=1)t[a]=a+e;return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},CC_RED:function(e){return pw(0,e)},CC_GREEN:function(e){return pw(1,e)},CC_BLUE:function(e){return pw(2,e)},CONTRAST:function(e){if(e<0)throw Error("Contrast adjustment must be positive.");let t=[];for(let a=0;a<256;a+=1)t[a]=a*e;return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},GAMMA:function(e){if(e<0)throw Error("Gamma adjustment must be positive.");let t=[];for(let a=0;a<256;a+=1)t[a]=255*Math.pow(a/255,e);return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},GREYSCALE:function(){return pi((e,t,a,r,n)=>{let i=77*e+150*t+29*a>>8;n[0]=i,n[1]=i,n[2]=i,n[3]=255})},INVERT:function(){let e=[];for(let t=0;t<256;t+=1)e[t]=255-t;return pi((t,a,r,n,i)=>{i[0]=e[t],i[1]=e[a],i[2]=e[r],i[3]=n})},MORPHOLOGICAL_OPERATION:function(e,t){if(e%2==0)throw Error("The kernel size must be an odd number.");let a=Math.floor(e/2);if(!t)throw Error("A comparator must be defined.");return function(r,n){pu(r,r=>{let n=r.width,i=r.height,o=pC._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,a,r,n,i,o){let u=4*a,s=r-i,c=a-i;for(let a=i;a=i&&l=i&&s=r)continue;let b=c*u;for(let t=0;t=0&&r{let n=r.width,i=r.height,o=pC._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,a,r,n,i,o){let u=4*a,s=r-o,c=a-o;for(let a=o;a=o&&l=o&&s=r)continue;let b=c*u;for(let r=0;r=0&&ut?0|Math.min((n-t)/r*128+128,255):0|Math.max(0,n/(t/128)),a[n]=e[i]}return pi((e,t,r,n,i)=>{let o=a[(e+t+r)/3|0];i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=255})},COLORMAP_PRESET:function(e){var t=e||"";let a=pe.get(t);if(a)return a;let r=null;switch(t){case"hot":r=g9([{stop:0,color:[0,0,0]},{stop:.4,color:[255,0,0]},{stop:.7,color:[255,255,0]},{stop:1,color:[255,255,255]}]);break;case"cool":r=g9([{stop:0,color:[0,0,0]},{stop:.5,color:[0,128,255]},{stop:1,color:[255,255,255]}]);break;case"gray":case"":r=g9([{stop:0,color:[0,0,0]},{stop:1,color:[255,255,255]}]);break;default:return null}return pe.set(t,r),r},CONVOLUTION_PRESET:function(e){switch((e||"").toLowerCase()){case"sharpen":return[0,-1,0,-1,5,-1,0,-1,0];case"blur":return[1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9];case"edge":return[-1,-1,-1,-1,8,-1,-1,-1,-1];case"emboss":return[-2,-1,0,-1,1,1,0,1,2];default:return null}},PSEUDOCOLOR:function(e,t,a,r){let n=(e||"").toLowerCase(),i=void 0===t?1:t,o=void 0===a?1:a,u=void 0===r?1:r,s=(e,t,a,r)=>{r[0]=pt(e*i),r[1]=pt(t*o),r[2]=pt(a*u)};return pi((e,t,a,r,i)=>{let o=.2126*e+.7152*t+.0722*a;switch(n){case"rg":{let a=pt(128+(e-t));s(a,255-a,(e+t)/2,i),i[3]=r;return}case"gb":{let e=pt(128+(t-a));s((t+a)/2,e,255-e,i),i[3]=r;return}case"rb":{let t=pt(128+(e-a));s(t,(e+a)/2,255-t,i),i[3]=r;return}case"luma":{let e=pt(o);s(e,255-e,e,i),i[3]=r;return}case"cmy":s(255-e,255-t,255-a,i),i[3]=r;return;case"heat":{let e=pt(o)/255;s(pt(255*Math.min(1,3*e)),pt(255*Math.min(1,Math.max(0,(e-.33)*3))),pt(255*Math.min(1,Math.max(0,(e-.66)*3))),i),i[3]=r;return}case"pca1":{let n=pt(.6*e+.3*t+.1*a);s(n,255-n,n,i),i[3]=r;return}case"pca2":{let n=pt(.5*e-.2*t-.3*a+128);s(n,255-n,255-n,i),i[3]=r;return}case"pca3":{let n=pt(.2*e+.6*t-.8*a+128);s(255-n,n,255-n,i),i[3]=r;return}default:s(e,t,a,i),i[3]=r}})},COLOR_REPLACE:function(e,t,a,r,n){let i=pr(e),o=pr(t);if(!i||!o)return pv;let u=Math.max(0,Math.min(255,void 0===a?0:a)),s=Math.max(0,Math.min(1,void 0===r?1:r)),c=pg(o[0],o[1],o[2]);return pi((e,t,a,r,l)=>{let b,d=e-i[0],f=t-i[1],h=a-i[2],v=Math.sqrt(d*d+f*f+h*h);if((b=(u<=0?+(0===v):1-Math.min(1,v/u))*s)<=0){l[0]=e,l[1]=t,l[2]=a,l[3]=r;return}let g=o[0],p=o[1],m=o[2];if(n){let r=(.2126*e+.7152*t+.0722*a)/255,n=pp(c.h,c.s,r);g=n.r,p=n.g,m=n.b}l[0]=pt(e+(g-e)*b),l[1]=pt(t+(p-t)*b),l[2]=pt(a+(m-a)*b),l[3]=r})},ALT_RED_GAMMA:function(e){return px(0,e)},ALT_GREEN_GAMMA:function(e){return px(1,e)},ALT_BLUE_GAMMA:function(e){return px(2,e)},ALT_RED_SIGMOID:function(e){return py(0,e)},ALT_GREEN_SIGMOID:function(e){return py(1,e)},ALT_BLUE_SIGMOID:function(e){return py(2,e)},ALT_RED_HUE:function(e,t){return pE(0,e,t)},ALT_GREEN_HUE:function(e,t){return pE(1/3,e,t)},ALT_BLUE_HUE:function(e,t){return pE(2/3,e,t)},ALT_RED_VIBRANCE:function(e){return pI(0,e)},ALT_GREEN_VIBRANCE:function(e){return pI(1,e)},ALT_BLUE_VIBRANCE:function(e){return pI(2,e)},GLOBAL_PCA_COLOR:function(e,t){let a=(e||"").toLowerCase(),r=Math.max(-180,Math.min(180,null!=t?t:0)),n={count:0,mean:[0,0,0],m2:[[0,0,0],[0,0,0],[0,0,0]]},i=null;return function(e,t){pu(e,e=>{let t=e.data;return!i&&(!function(e,t){for(let a=0;a=2e3&&(i=function(e){if(e.count<2)return null;let t=1/(e.count-1),a=[[e.m2[0][0]*t,e.m2[0][1]*t,e.m2[0][2]*t],[e.m2[1][0]*t,e.m2[1][1]*t,e.m2[1][2]*t],[e.m2[2][0]*t,e.m2[2][1]*t,e.m2[2][2]*t]];return pd(e.mean,a)}(n))),i?!function(e,t,a,r){let n=e.data,i=a.mean,o=a.vectors[0],u=a.vectors[1],s=a.vectors[2],c=Math.sqrt(Math.max(1e-6,a.values[0])),l=Math.sqrt(Math.max(1e-6,a.values[1])),b=Math.sqrt(Math.max(1e-6,a.values[2])),d=(e,t)=>pt(128+e/(3*t)*127);for(let e=0;el&&(l=v),gd&&(d=g),ph&&(h=p)}let v=l-c||1,g=d-b||1,p=h-f||1,m=(e,t,a)=>pt((e-t)/a*255);for(let e=0;e{let a=e.width,r=e.height;if(!a||!r)return!1;let n=e.data,i=po(n,a,r),o=pn(i,a,r,6,!0);for(let e=0,a=0;e{let a=e.width,r=e.height;if(!a||!r)return!1;let n=pn(e.data,a,r,2),i=e.data;for(let e=0;e{let t=e.width,n=e.height;if(!t||!n)return!1;let i=e.data,o=po(i,t,n),u=pn(o,t,n,Math.floor(a/2),!0);for(let e=0,t=0;eu[t]+r);i[e]=a,i[e+1]=a,i[e+2]=a}return!0}),t()}}},pR="diva-inline-styles";(e=>{if("u":first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-fullscreen,.diva-collection-panel.is-fullscreen{border-radius:0;height:100%}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs.is-fullscreen{height:100%}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-image{border-radius:0;width:100%;height:auto;display:block}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-panel{height:100%;padding:12px;overflow:auto}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{border-radius:0;height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-fullscreen{flex:1;min-height:0}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-viewer.is-fullscreen{border-radius:0;height:100%}.diva-modal-viewer.is-outer-left{border-radius:0}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb{border-radius:0;width:100%;height:auto;display:block}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{border-radius:0;width:100%;height:auto}}");var p$=class extends EventTarget{detectLanguage(){return navigator.language.split("-")[0]}initialPageFlag(e){return"number"==typeof e?Number.isInteger(e)&&e>=0?e:null:e&&"object"==typeof e&&("canvasId"===e.by||"label"===e.by)&&"string"==typeof e.value?{by:e.by,value:e.value}:null}getConnectedRoot(){let e=document.getElementById(this.rootId);return e||this.root}bindPorts(){this.getPort("tileSourcesUpdated").subscribe(e=>{this.auth.registerSources(e.tileSources),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setTileSources",e.tileSources,e.initialPageIndex,e.resourceId)}),this.getPort("pageAspectsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageAspects",e)}),this.getPort("pageLabelsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageLabels",e)}),this.getPort("pagesUpdated").subscribe(e=>{this.pages=e.map(e=>this.copyPage(e)),this.rebuildPageIndexes(),this.updateState({pageCount:this.pages.length,currentPageIndex:null,visiblePageIndexes:[]})}),this.getPort("zoomLevelUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setZoomLevel",e)}),this.getPort("zoomBy").subscribe(e=>{this.callViewerMethod("zoomBy",e)}),this.getPort("scrollToIndex").subscribe(e=>{this.callViewerMethod("scrollToIndex",e)}),this.getPort("filterPreviewUpdated").subscribe(e=>{var t;e?(this.filterPreviewVersion+=1,null==(t=this.filterPreviewController)||t.abort(),this.filterPreviewController=null,this.pendingFilterPreview=e,this.applyFilterPreview()):this.closeFilterPreview()}),this.getPort("setFullscreen").subscribe(e=>{this.setFullscreen(e)}),this.getPort("saveFilteredImage").subscribe(()=>{this.saveFilteredImage()}),this.getPort("layoutConfigUpdated").subscribe(e=>{this.callViewerMethod("setLayoutConfig",e.mode,e.direction)||this.callViewerMethodWhenReady("setLayoutConfig",e.mode,e.direction),this.updateLayoutState(e.mode,e.direction)}),this.getPort("layoutModeUpdated").subscribe(e=>{this.callViewerMethod("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection)}),this.getPort("resourceLoadSucceeded").subscribe(e=>{this.handleResourceSucceeded(e.requestId,e.url,e.hasPages,e.pageIndex)}),this.getPort("resourceLoadFailed").subscribe(e=>{this.handleResourceFailed(e.requestId,e.message)}),this.getPort("copyToClipboard").subscribe(e=>{this.copyToClipboard(e)}),this.getPort("authSourcesInvalidated").subscribe(e=>{this.auth.invalidateSources(e),this.callViewerMethodWhenReady("invalidateTileSources",e)})}ensureMainViewer(){let e=document.getElementById("main-viewer");return e&&e!==this.mainViewer&&(this.mainViewer=e),this.mainViewer}copyPage(e){var t;let a=e.images.map(e=>({...e})),r=null!=(t=a.find(t=>t.id===e.primaryImage.id&&t.isPrimary))?t:{...e.primaryImage};return{index:e.index,canvasId:e.canvasId,label:e.label,...null===e.width||void 0===e.width?{}:{width:e.width},...null===e.height||void 0===e.height?{}:{height:e.height},primaryImage:{...r},images:a}}rebuildPageIndexes(){this.pagesByCanvasId.clear(),this.pagesByLabel.clear(),this.pages.forEach(e=>{this.pagesByCanvasId.has(e.canvasId)||this.pagesByCanvasId.set(e.canvasId,e);let t=e.label.toLowerCase();this.pagesByLabel.has(t)||this.pagesByLabel.set(t,e)})}pageForSelector(e){if(!e||"object"!=typeof e||"canvasId"!==e.by&&"label"!==e.by||"string"!=typeof e.value)throw TypeError("A page selector must contain a supported 'by' value and a string 'value'.");return"canvasId"===e.by?this.pagesByCanvasId.get(e.value):this.pagesByLabel.get(e.value.toLowerCase())}copyState(){return{...this.state,visiblePageIndexes:this.state.visiblePageIndexes.slice()}}updateState(e){this.state={...this.state,...e}}emit(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}updateLayoutState(e,t){let a="spread"===e||"spread-shift"===e?e:"single",r="rtl"===t?"rtl":"ltr",n=this.ensureMainViewer(),i=n&&"function"==typeof n.getVisiblePageIndexes?n.getVisiblePageIndexes():this.state.visiblePageIndexes,o=a!==this.state.layoutMode||r!==this.state.viewingDirection;this.updateState({layoutMode:a,viewingDirection:r,visiblePageIndexes:i}),o&&this.emit("layoutchange",{layoutMode:a,viewingDirection:r})}handleResourceSucceeded(e,t,a,r){var n;if(e!==this.activeResourceRequestId)return;let i="initial"!==e;if(i&&(this.updateState({resourceUrl:t}),this.emit("resourcechange",{resourceUrl:t,state:this.copyState()})),a){this.awaitingViewerResource={id:e,url:t,pageIndex:r,resourceChangeEmitted:i};let a=this.ensureMainViewer(),o=null==(n=this.pages[r])?void 0:n.primaryImage.id;o&&a&&"function"==typeof a.isPageLoaded&&a.isPageLoaded(r,o)&&this.completeResource(e,t,!i);return}this.completeResource(e,t,!i)}completeResource(e,t,a){e===this.activeResourceRequestId&&(this.awaitingViewerResource=null,this.updateState({resourceUrl:t,ready:!0}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyResolve(),this.emit("ready",this.copyState())),"initial"!==e&&this.pendingResource&&(this.pendingResource.resolve(),this.pendingResource=null),a&&this.emit("resourcechange",{resourceUrl:t,state:this.copyState()}))}handleResourceFailed(e,t){var a,r;if(e!==this.activeResourceRequestId)return;let n=Error(t),i=(null==(a=this.pendingResource)?void 0:a.id)===e&&this.pendingResource.previousReady;this.awaitingViewerResource=null,this.updateState({ready:i}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(n)),"initial"!==e&&(null==(r=this.pendingResource)?void 0:r.id)===e&&(this.pendingResource.reject(n),this.pendingResource=null),this.emit("error",{error:n,operation:"setResource",recoverable:"initial"!==e})}assertAlive(){if(this.isDestroyed)throw new DOMException("The Diva instance was destroyed.","InvalidStateError")}assertPageIndex(e){if(!Number.isInteger(e)||e<0||e>=this.pages.length)throw RangeError(`Page index ${e} is outside the available page range.`)}refreshLoadingState(){let e=this.resourceLoading||this.viewerLoading;e!==this.state.loading&&(this.updateState({loading:e}),this.emit("loadingchange",{loading:e}))}async waitForResource(){this.assertAlive(),this.pendingResource?await this.pendingResource.promise:await this.ready,this.assertAlive()}async applyFilterPreview(){if(this.isDestroyed||!this.pendingFilterPreview)return;if(!this.ensureFilterViewerElement()){this.filterPreviewRetries<10&&(this.filterPreviewRetries+=1,null===this.filterPreviewRafId&&(this.filterPreviewRafId=requestAnimationFrame(()=>{this.filterPreviewRafId=null,this.applyFilterPreview()})));return}let e=this.pendingFilterPreview;this.pendingFilterPreview=null,this.filterPreviewRetries=0;let t=this.filterPreviewVersion;if(this.filterOptions=e.filters||null,this.ensureFilterViewer(),this.filterViewer){let a=JSON.stringify([e.sourceId,e.tileSource,e.isStatic]);if(this.currentFilterSourceKey!==a){let r,n=new AbortController;this.filterPreviewController=n;try{r=await this.auth.resolve({sourceId:e.sourceId,url:e.tileSource,isStatic:e.isStatic},n.signal)}catch(e){n.signal.aborted||this.isDestroyed||this.filterPreviewVersion;return}finally{this.filterPreviewController===n&&(this.filterPreviewController=null)}if(this.isDestroyed||t!==this.filterPreviewVersion)return;this.currentFilterSourceKey=a,this.filterViewer.open(r)}else this.applyFilterOptions()}}copyToClipboard(e){if(navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)return void navigator.clipboard.writeText(e).catch(()=>{})}bindPageChange(){this.bindViewerEvent("diva-page-change",this.handlePageChangeBound)}bindFullscreenChange(){document.addEventListener("fullscreenchange",this.handleFullscreenChangeBound)}bindZoomChange(){this.bindViewerEvent("diva-zoom-change",this.handleZoomChangeBound)}bindLoadingChange(){this.bindViewerEvent("diva-loading-change",this.handleLoadingChangeBound)}bindRootClick(){this.getConnectedRoot().addEventListener("click",this.handleRootClickBound,!0)}addEventListener(e,t,a){super.addEventListener(e,t,a)}removeEventListener(e,t,a){super.removeEventListener(e,t,a)}getState(){return this.copyState()}getPages(){return this.pages.map(e=>this.copyPage(e))}findPage(e){let t=this.pageForSelector(e);return t?this.copyPage(t):void 0}getCurrentPage(){let e=this.state.currentPageIndex;return null!==e&&this.pages[e]?this.copyPage(this.pages[e]):void 0}getVisiblePages(){return this.state.visiblePageIndexes.map(e=>this.pages[e]).filter(Boolean).map(e=>this.copyPage(e))}getLayoutMode(){return this.state.layoutMode}setResource(e){let t,a;if(this.assertAlive(),!e||"string"!=typeof e)return Promise.reject(TypeError("A resource URL is required."));this.pendingResource&&(this.pendingResource.reject(new DOMException("The resource load was superseded.","AbortError")),this.pendingResource=null),this.awaitingViewerResource=null;let r=this.state.ready,n=`public-${++this.resourceSequence}`,i=new Promise((e,r)=>{t=e,a=r});return i.catch(()=>{}),this.pendingResource={id:n,promise:i,resolve:t,reject:a,previousReady:r},this.activeResourceRequestId=n,this.updateState({ready:!1}),this.resourceLoading=!0,this.refreshLoadingState(),this.getPort("resourceRequested").send({requestId:n,url:e}),i}async goToPage(e){if(await this.waitForResource(),"number"!=typeof e){let t=this.pageForSelector(e);return!!t&&(await this.callViewerMethodAsync("scrollToIndex",t.index),!0)}this.assertPageIndex(e),await this.callViewerMethodAsync("scrollToIndex",e)}async next(){await this.waitForResource(),await this.callViewerMethodAsync("next")}async previous(){await this.waitForResource(),await this.callViewerMethodAsync("previous")}async setZoom(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom must be a positive finite number.");await this.callViewerMethodAsync("setZoomLevel",e)}async zoomBy(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom factor must be a positive finite number.");await this.callViewerMethodAsync("zoomBy",e)}zoomIn(){return this.zoomBy(1.6)}zoomOut(){return this.zoomBy(.625)}async fitToPage(e){await this.waitForResource();let t=null!=e?e:this.state.currentPageIndex;if(null===t)throw RangeError("There is no current page.");this.assertPageIndex(t),await this.callViewerMethodAsync("fitToPage",t)}async zoomToRegion(e,t,a={}){var r;if(await this.waitForResource(),this.assertPageIndex(e),![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.x<0||t.y<0||t.width<=0||t.height<=0)throw RangeError("Region coordinates must be finite, non-negative, and have positive dimensions.");let n=null!=(r=a.padding)?r:.05;if(!Number.isFinite(n)||n<0)throw RangeError("Region padding must be a non-negative finite number.");await this.callViewerMethodAsync("zoomToRegion",e,t,a)}async setLayoutMode(e){if(await this.waitForResource(),!["single","spread","spread-shift"].includes(e))throw RangeError(`Unsupported layout mode: ${e}`);await this.callViewerMethodAsync("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection),this.getPort("layoutModeRequested").send(e)}async enterFullscreen(){this.assertAlive(),document.fullscreenElement||await this.getConnectedRoot().requestFullscreen()}async exitFullscreen(){this.assertAlive(),document.fullscreenElement&&await document.exitFullscreen()}toggleFullscreen(){return document.fullscreenElement?this.exitFullscreen():this.enterFullscreen()}destroy(){var e;if(this.isDestroyed)return;this.isDestroyed=!0;let t=new DOMException("The Diva instance was destroyed.","InvalidStateError");this.readySettled||(this.readySettled=!0,this.readyReject(t)),null==(e=this.pendingResource)||e.reject(t),this.pendingResource=null,this.awaitingViewerResource=null,this.updateState({destroyed:!0,loading:!1}),this.closeFilterPreview(),this.auth.destroy(),null!==this.viewerMethodRafId&&(cancelAnimationFrame(this.viewerMethodRafId),this.viewerMethodRafId=null),this.pendingViewerMethods.clear();let a=this.getConnectedRoot();this.removeViewerEvent("diva-page-change",this.handlePageChangeBound),this.removeViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.removeViewerEvent("diva-zoom-change",this.handleZoomChangeBound),this.removeViewerEvent("diva-loading-change",this.handleLoadingChangeBound),this.removeViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound),a.removeEventListener("click",this.handleRootClickBound,!0),document.removeEventListener("fullscreenchange",this.handleFullscreenChangeBound),a&&(a.__divaInstance===this&&delete a.__divaInstance,a.elmTree&&delete a.elmTree,a.innerHTML="")}closeFilterPreview(){var e;this.filterPreviewVersion+=1,null==(e=this.filterPreviewController)||e.abort(),this.filterPreviewController=null,null!==this.filterPreviewRafId&&(cancelAnimationFrame(this.filterPreviewRafId),this.filterPreviewRafId=null),this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.filterViewerElement=null,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterOptions=null,this.filterPreviewRetries=0}setFullscreen(e){let t=this.getConnectedRoot();if(e){if(document.fullscreenElement||!document.fullscreenEnabled)return;t.requestFullscreen().catch(()=>{});return}document.fullscreenElement&&document.exitFullscreen().catch(()=>{})}handleRootClick(e){let t=e.target;if(!(t instanceof Element))return;let a=this.getConnectedRoot(),r=t.closest("button[data-diva-action='fullscreen']");r&&a.contains(r)&&(e.preventDefault(),e.stopPropagation(),this.toggleFullscreenFromUserActivation())}toggleFullscreenFromUserActivation(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.fullscreenEnabled&&this.getConnectedRoot().requestFullscreen().catch(()=>{})}handlePageChange(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;t.instant?this.getPort("pageIndexChangedInstant").send(t.index):this.getPort("pageIndexChanged").send(t.index);let a=this.ensureMainViewer(),r=a&&"function"==typeof a.getVisiblePageIndexes?a.getVisiblePageIndexes():[t.index];this.updateState({currentPageIndex:t.index,visiblePageIndexes:r});let n=this.pages[t.index];n&&this.emit("pagechange",{pageIndex:t.index,page:this.copyPage(n),visiblePages:this.getVisiblePages()})}handlePageLoaded(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;let a=this.awaitingViewerResource;a&&t.resourceId===a.id&&t.index===a.pageIndex&&this.completeResource(a.id,a.url,!a.resourceChangeEmitted)}handleZoomChange(e){let t=e.detail;t&&"number"==typeof t.zoom&&(this.getPort("zoomChanged").send(t.zoom),this.updateState({zoom:t.zoom}),this.emit("zoomchange",{zoom:t.zoom}))}handleLoadingChange(e){let t=e.detail;t&&"boolean"==typeof t.loading&&(this.getPort("viewerLoadingChanged").send(t.loading),this.viewerLoading=t.loading,this.refreshLoadingState())}handlePageLoadError(e){var t;let a=e.detail,r=Error((null==a?void 0:a.message)||"The image could not be loaded."),n=this.awaitingViewerResource;if(n&&(null==a?void 0:a.resourceId)===n.id&&(null==a?void 0:a.index)===n.pageIndex){this.updateState({ready:!1}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(r)),"initial"!==n.id&&(null==(t=this.pendingResource)?void 0:t.id)===n.id&&(this.pendingResource.reject(r),this.pendingResource=null),this.emit("error",{error:r,operation:"loadPage",recoverable:!0});return}this.emit("error",{error:r,operation:"loadPage",recoverable:!0})}handleFullscreenChange(){let e=!!document.fullscreenElement;this.getPort("fullscreenChanged").send(e),this.updateState({fullscreen:e}),this.emit("fullscreenchange",{fullscreen:e})}ensureFilterViewer(){!this.filterViewer&&this.filterViewerElement&&(this.filterViewer=OpenSeadragon({element:this.filterViewerElement,showNavigationControl:!1,preserveViewport:!0,visibilityRatio:0,drawer:"canvas",crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1}),this.filterViewer.addHandler("open",()=>{var e;let t=null==(e=this.filterViewer)?void 0:e.drawer,a=t&&t.canvas?t.canvas:null;if(a&&"function"==typeof a.getContext){let e=a.getContext("2d",{willReadFrequently:!0});e&&(t.context=e)}this.filterViewer&&this.filterViewer.viewport&&this.filterViewer.viewport.fitBounds(this.filterViewer.world.getHomeBounds(),!0),this.filterViewerFlipped=!1,this.applyFilterOptions()}))}ensureFilterViewerElement(){let e=document.getElementById("filter-viewer");return e?(this.filterViewerElement!==e&&(this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.currentFilterSourceKey=null,this.filterViewerFlipped=!1,this.filterViewerElement=e),this.filterViewerElement):(this.filterViewerElement=null,null)}applyFilterOptions(){if(!this.filterViewer)return;let e=pk(this.filterOptions);var t,a,r=this.filterViewer;if(!r)throw Error("A viewer must be specified.");if(r.filterPluginInstance?g6(r.filterPluginInstance,e||{}):r.filterPluginInstance=function(e,t){let a={viewer:e,filters:[],filterIncrement:0};function r(e,t,r){if(r){let n=a.filterIncrement,i=[];for(let r=0;r{a.filterIncrement===n&&t[r+1](e,i[r+1])};i[t.length-1]=()=>{a.filterIncrement===n&&r()},t[0](e,i[0])}else for(let a=0;a{})}return a.viewer.addHandler("tile-loaded",function(e){let t=g8(a,e.tiledImage);if(0===t.length)return;let n=e.tile,i=e.data||e.image;if(null!=i){let o=window.document.createElement("canvas");o.width=i.width,o.height=i.height;let u=o.getContext("2d",{willReadFrequently:!0});u.drawImage(i,0,0),n._renderedContext=u,r(u,t,e.getCompletionCallback()),n._filterIncrement=a.filterIncrement}}),a.viewer.addHandler("tile-drawing",function(e){let t=e.tile,n=e.rendered;if(n._filterIncrement===a.filterIncrement)return;let i=g8(a,e.tiledImage);if(0===i.length){n._originalImageData&&(n.putImageData(n._originalImageData,0,0),delete n._originalImageData),n._filterIncrement=a.filterIncrement;return}if(n._originalImageData?n.putImageData(n._originalImageData,0,0):n._originalImageData=g3(n),t._renderedContext){if(t._filterIncrement===a.filterIncrement){let e=g3(t._renderedContext);n.putImageData(e,0,0),delete t._renderedContext,delete t._filterIncrement,n._filterIncrement=a.filterIncrement;return}delete t._renderedContext,delete t._filterIncrement}r(n,i),n._filterIncrement=a.filterIncrement}),g6(a,t),a}(r,e||{}),this.filterViewer.viewport){let e=(null==(t=this.filterOptions)?void 0:t.rotation)||0;this.filterViewer.viewport.setRotation(e);let r=!!(null==(a=this.filterOptions)?void 0:a.flip),n=this.filterViewer.viewport;if("function"==typeof n.toggleFlip){let e=this.filterViewerFlipped;"function"==typeof n.getFlip&&(e=!!n.getFlip()),r!=e&&(n.toggleFlip(),this.filterViewerFlipped=r)}}}saveFilteredImage(){if(!this.filterViewer)return;let e=this.filterViewer.drawer,t=e&&e.canvas?e.canvas:null;if(t)try{let e=t.toDataURL("image/png"),a=document.createElement("a");a.href=e,a.download=`diva-filtered-${Date.now()}.png`,document.body.appendChild(a),a.click(),a.remove()}catch(e){}}getPort(e){let t=this.app.ports,a=t?t[e]:void 0;if(!a)throw Error(`Missing Elm port: ${String(e)}`);return a}callViewerMethod(e,...t){let a=this.ensureMainViewer();if(!a)return!1;let r=a[e];return"function"==typeof r&&(r.apply(a,t),!0)}async callViewerMethodAsync(e,...t){let a=0;for(;a<120;){this.assertAlive();let r=this.ensureMainViewer(),n=null==r?void 0:r[e];if("function"==typeof n)return await n.apply(r,t);a+=1,await new Promise(e=>requestAnimationFrame(()=>e()))}throw new DOMException(`The viewer method ${e} is not available.`,"InvalidStateError")}callViewerMethodWhenReady(e,...t){if(this.callViewerMethod(e,...t)){this.viewerMethodAttempts=0;return}this.pendingViewerMethods.set(e,t),this.viewerMethodAttempts=0,this.scheduleViewerMethodFlush()}scheduleViewerMethodFlush(){this.isDestroyed||null!==this.viewerMethodRafId||(this.viewerMethodRafId=requestAnimationFrame(()=>{this.viewerMethodRafId=null,this.flushPendingViewerMethods()}))}flushPendingViewerMethods(){if(this.isDestroyed||0===this.pendingViewerMethods.size)return;let e=Array.from(this.pendingViewerMethods.entries());if(this.pendingViewerMethods.clear(),e.forEach(([e,t])=>{this.callViewerMethod(e,...t)||this.pendingViewerMethods.set(e,t)}),0===this.pendingViewerMethods.size){this.viewerMethodAttempts=0;return}this.viewerMethodAttempts<120&&(this.viewerMethodAttempts+=1,this.scheduleViewerMethodFlush())}bindViewerEvent(e,t){let a=this.ensureMainViewer();a&&(a.removeEventListener(e,t),a.addEventListener(e,t))}removeViewerEvent(e,t){let a=this.ensureMainViewer();a&&a.removeEventListener(e,t)}constructor(e,t){super(),this.mainViewer=null,this.pendingViewerMethods=new Map,this.viewerMethodRafId=null,this.viewerMethodAttempts=0,this.filterViewer=null,this.filterViewerElement=null,this.filterOptions=null,this.filterViewerFlipped=!1,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterPreviewVersion=0,this.filterPreviewRetries=0,this.filterPreviewRafId=null,this.filterPreviewController=null,this.isDestroyed=!1,this.pages=[],this.pagesByCanvasId=new Map,this.pagesByLabel=new Map,this.readySettled=!1,this.activeResourceRequestId="initial",this.resourceSequence=0,this.pendingResource=null,this.awaitingViewerResource=null,this.resourceLoading=!0,this.viewerLoading=!1;let a=document.getElementById(e);if(!a)throw Error(`Missing root element: ${e}`);a.__divaInstance&&a.__divaInstance.destroy(),a.elmTree&&(delete a.elmTree,a.innerHTML=""),this.rootId=e,this.root=a,this.isDestroyed=!1,this.state={resourceUrl:t.objectData,ready:!1,loading:!0,pageCount:0,currentPageIndex:null,visiblePageIndexes:[],layoutMode:"single",viewingDirection:"ltr",zoom:null,fullscreen:!1,destroyed:!1},this.ready=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t}),this.ready.catch(()=>{}),this.handlePageChangeBound=this.handlePageChange.bind(this),this.handlePageLoadedBound=this.handlePageLoaded.bind(this),this.handleZoomChangeBound=this.handleZoomChange.bind(this),this.handleLoadingChangeBound=this.handleLoadingChange.bind(this),this.handlePageLoadErrorBound=this.handlePageLoadError.bind(this),this.handleFullscreenChangeBound=this.handleFullscreenChange.bind(this),this.handleRootClickBound=this.handleRootClick.bind(this);let r=this.detectLanguage(),n=t.sidebarWidth,i="number"==typeof n&&Number.isFinite(n)?Math.min(520,Math.max(220,Math.round(n))):320,o="contents"===t.sidebarPanel||"metadata"===t.sidebarPanel?t.sidebarPanel:"thumbnails";this.app=gQ.Main.init({node:a,flags:{rootElementId:e,objectData:t.objectData,initialPage:this.initialPageFlag(t.initialPage),acceptHeaders:t.acceptHeaders||[],showSidebar:!1!==t.showSidebar,sidebarWidth:i,sidebarPanel:o,showTitle:!1!==t.showTitle,userLanguage:t.setLanguage||r}}),this.root=this.getConnectedRoot(),this.auth=new g4(this.app.ports,this.root),this.tileSourceResolver=(e,t)=>this.auth.resolve(e,t),this.root.__divaInstance=this,this.bindPorts(),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.bindRootClick(),this.bindPageChange(),this.bindViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.bindFullscreenChange(),this.bindZoomChange(),this.bindLoadingChange(),this.bindViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound)}},pL={THRESHOLDING:pC.THRESHOLDING,BRIGHTNESS:pC.BRIGHTNESS,SATURATION:pC.SATURATION,VIBRANCE:pC.VIBRANCE,HUE:pC.HUE,CC_RED:pC.CC_RED,CC_GREEN:pC.CC_GREEN,CC_BLUE:pC.CC_BLUE,CONTRAST:pC.CONTRAST,GAMMA:pC.GAMMA,GREYSCALE:pC.GREYSCALE,INVERT:pC.INVERT,BACKGROUND_NORMALIZE:pC.BACKGROUND_NORMALIZE,UNSHARP_MASK:pC.UNSHARP_MASK,ALT_RED_GAMMA:pC.ALT_RED_GAMMA,ALT_GREEN_GAMMA:pC.ALT_GREEN_GAMMA,ALT_BLUE_GAMMA:pC.ALT_BLUE_GAMMA,ALT_RED_SIGMOID:pC.ALT_RED_SIGMOID,ALT_GREEN_SIGMOID:pC.ALT_GREEN_SIGMOID,ALT_BLUE_SIGMOID:pC.ALT_BLUE_SIGMOID,ALT_RED_HUE:pC.ALT_RED_HUE,ALT_GREEN_HUE:pC.ALT_GREEN_HUE,ALT_BLUE_HUE:pC.ALT_BLUE_HUE,ALT_RED_VIBRANCE:pC.ALT_RED_VIBRANCE,ALT_GREEN_VIBRANCE:pC.ALT_GREEN_VIBRANCE,ALT_BLUE_VIBRANCE:pC.ALT_BLUE_VIBRANCE,GLOBAL_PCA_COLOR:pC.GLOBAL_PCA_COLOR,ADAPTIVE_THRESHOLD:pC.ADAPTIVE_THRESHOLD},pA=[{enabled:"thresholdEnabled",filter:"THRESHOLDING",args:["threshold"]},{enabled:"brightnessEnabled",filter:"BRIGHTNESS",args:["brightness"]},{enabled:"saturationEnabled",filter:"SATURATION",args:["saturation"]},{enabled:"vibranceEnabled",filter:"VIBRANCE",args:["vibrance"]},{enabled:"hueEnabled",filter:"HUE",args:["hue"]},{enabled:"ccRedEnabled",filter:"CC_RED",args:["ccRed"]},{enabled:"ccGreenEnabled",filter:"CC_GREEN",args:["ccGreen"]},{enabled:"ccBlueEnabled",filter:"CC_BLUE",args:["ccBlue"]},{enabled:"contrastEnabled",filter:"CONTRAST",args:["contrast"]},{enabled:"gammaEnabled",filter:"GAMMA",args:["gamma"]},{enabled:"grayscale",filter:"GREYSCALE"},{enabled:"invert",filter:"INVERT"},{enabled:"normalizeEnabled",filter:"BACKGROUND_NORMALIZE",args:["normalizeStrength"]},{enabled:"unsharpEnabled",filter:"UNSHARP_MASK",args:["unsharpAmount"]}],pS=[{enabled:"altRedGammaEnabled",filter:"ALT_RED_GAMMA",args:["altRedGamma"]},{enabled:"altGreenGammaEnabled",filter:"ALT_GREEN_GAMMA",args:["altGreenGamma"]},{enabled:"altBlueGammaEnabled",filter:"ALT_BLUE_GAMMA",args:["altBlueGamma"]},{enabled:"altRedSigmoidEnabled",filter:"ALT_RED_SIGMOID",args:["altRedSigmoid"]},{enabled:"altGreenSigmoidEnabled",filter:"ALT_GREEN_SIGMOID",args:["altGreenSigmoid"]},{enabled:"altBlueSigmoidEnabled",filter:"ALT_BLUE_SIGMOID",args:["altBlueSigmoid"]},{enabled:"altRedHueEnabled",filter:"ALT_RED_HUE",args:["altRedHue","altRedHueWindow"],defaults:[0,8]},{enabled:"altGreenHueEnabled",filter:"ALT_GREEN_HUE",args:["altGreenHue","altGreenHueWindow"],defaults:[0,8]},{enabled:"altBlueHueEnabled",filter:"ALT_BLUE_HUE",args:["altBlueHue","altBlueHueWindow"],defaults:[0,8]},{enabled:"altRedVibranceEnabled",filter:"ALT_RED_VIBRANCE",args:["altRedVibrance"]},{enabled:"altGreenVibranceEnabled",filter:"ALT_GREEN_VIBRANCE",args:["altGreenVibrance"]},{enabled:"altBlueVibranceEnabled",filter:"ALT_BLUE_VIBRANCE",args:["altBlueVibrance"]},{enabled:"adaptiveEnabled",filter:"ADAPTIVE_THRESHOLD",args:["adaptiveWindow","adaptiveOffset"],defaults:[15,10]}],pT=(e,t,a)=>{var r,n;for(let i of a)if(t[i.enabled]){let a=null!=(n=null==(r=i.args)?void 0:r.map((e,a)=>{var r,n,o;return null!=(o=t[e])?o:null!=(n=null==(r=i.defaults)?void 0:r[a])?n:0}))?n:[],o=pL[i.filter];e.push(o(...a))}},pk=e=>{var t,a,r,n,i,o,u,s,c;if(!e)return{filters:[],loadMode:"sync"};let l=[];if(pT(l,e,pA),e.morphEnabled){let a="dilate"===e.morphOperation?Math.max:Math.min;l.push(pC.MORPHOLOGICAL_OPERATION(null!=(t=e.morphKernel)?t:3,a))}if(e.convolutionEnabled){let t=pC.CONVOLUTION_PRESET(e.convolutionPreset||"");t&&l.push(pC.CONVOLUTION(t))}if(e.colourmapEnabled){let t=pC.COLORMAP_PRESET(e.colourmapPreset||"");t&&l.push(pC.COLORMAP(t,null!=(a=e.colourmapCenter)?a:128))}return(e.pseudoColourEnabled&&l.push(pC.PSEUDOCOLOR(e.pseudoColourMode||"",null!=(r=e.pseudoColourRed)?r:1,null!=(n=e.pseudoColourGreen)?n:1,null!=(i=e.pseudoColourBlue)?i:1)),e.globalPcaEnabled&&l.push(pC.GLOBAL_PCA_COLOR(e.pcaMode||"",null!=(o=e.pcaHue)?o:0)),e.colourReplaceEnabled&&l.push(pC.COLOR_REPLACE(e.colourReplaceSource||"#ffffff",e.colourReplaceTarget||"#ffffff",null!=(u=e.colourReplaceTolerance)?u:24,null!=(s=e.colourReplaceBlend)?s:1,null!=(c=e.colourReplacePreserveLum)&&c)),pT(l,e,pS),0===l.length)?{filters:[],loadMode:"sync"}:{filters:{processors:l},loadMode:"sync"}};window.Diva=p$})(); +(()=>{var e,t,n,r,a,i,o,s,u,c,l,d,f=(e,t)=>{let{x:n,y:r,width:a,height:i}=t;if(!e||![n,r,a,i].every(Number.isFinite))return null;let o=Math.floor(n),s=Math.floor(r),u=Math.ceil(n+a),c=Math.ceil(r+i);if(o<0||s<0||u<=o||c<=s)return null;try{let t=new URL(e);if(!t.pathname.endsWith("/info.json"))return null;return t.search="",t.hash="",t.pathname=t.pathname.slice(0,-10),`${t.toString().replace(/\/$/,"")}/${o},${s},${u-o},${c-s}/!320,320/0/default.jpg`}catch(e){return null}},h=(e,t=!1,n=!1)=>({type:"image",url:e,crossOriginPolicy:!n&&(t?"use-credentials":"Anonymous"),ajaxWithCredentials:t,loadTilesWithAjax:!n,buildPyramid:!n,useCanvas:!n}),v=e=>({..."object"==typeof e&&null!==e?e:{type:"image",url:e},type:"image",crossOriginPolicy:!1,ajaxWithCredentials:!1,loadTilesWithAjax:!1,buildPyramid:!1,useCanvas:!1}),b=null,g=class extends HTMLElement{static get observedAttributes(){return["data-src","data-fallback-src","data-alt","data-crossorigin"]}connectedCallback(){this.observe()}disconnectedCallback(){null==b||b.unobserve(this)}attributeChangedCallback(){this.reset(),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==b||b.unobserve(this);let n=document.createElement("img");n.className="diva-thumbs-image",n.alt=null!=(e=this.dataset.alt)?e:"";let r=this.dataset.crossorigin,a="anonymous"===r;this.image=n,this.appendChild(n),this.loadImage(n,t,a?void 0:r,a,!1)}loadImage(e,t,n,r,a){e.removeAttribute("crossorigin"),n&&(e.crossOrigin=n),e.onerror=()=>{let n=this.dataset.fallbackSrc;r&&!a&&n&&n!==t?this.loadImage(e,n,void 0,!0,!0):this.showUnavailable()},e.removeAttribute("src"),e.src=t}reset(){var e,t;null==(e=this.image)||e.remove(),this.image=null,null==(t=this.unavailable)||t.remove(),this.unavailable=null}showUnavailable(){var e;null==(e=this.image)||e.remove(),this.image=null;let t=document.createElement("div");t.className="diva-thumbs-image diva-thumbs-image--unavailable",t.setAttribute("aria-label","Thumbnail unavailable"),this.unavailable=t,this.appendChild(t)}observe(){"IntersectionObserver"in window?(b||(b=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:"300px 0px"})),b.observe(this)):this.load()}constructor(){super(...arguments),this.image=null,this.unavailable=null}},p=class extends HTMLElement{connectedCallback(){this.style.display="block",this.style.position="relative",this.container||(this.container=document.createElement("div"),this.container.className="osd-container",this.container.style.width="100%",this.container.style.height="100%",this.container.addEventListener("wheel",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener("dblclick",this.handleDoubleClickBound),this.container.addEventListener("click",e=>{performance.now(){"Escape"===e.key&&this.closeAnnotationPanel()}),this.appendChild(this.container)),this.scrollbarTrack||this.createScrollbar();let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){var e;this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener("wheel",this.handleWheelBound),this.container.removeEventListener("dblclick",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener("mousemove",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener("mouseup",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.clearAnnotationOverlays(),this.viewer.destroy(),this.viewer=null),null==(e=this.scrollbarTrack)||e.remove(),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,..."required"===this.staticImageCorsPolicy?{}:{drawer:["canvas","html"]},crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler("pan",this.handleViewportChangeBound),t.addHandler("zoom",this.handleViewportChangeBound),t.addHandler("canvas-click",e=>this.handleAnnotationCanvasClick(e)),t.addHandler("pan",()=>this.updateScrollbar()),t.addHandler("zoom",()=>this.updateScrollbar()),t.addHandler("animation-finish",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single"})}setViewingDirection(e){this.applyLayoutChange({direction:"rtl"===e?"rtl":"ltr"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:"spread"===e||"spread-shift"===e?e:"single",direction:"rtl"===t?"rtl":"ltr"})}setTileSources(e,t=0,n="internal"){if(Array.isArray(e)){if(this.annotationData.clear(),this.tileSources=e.slice(),this.resourceId=n,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t{t.canvasId===e&&this.addOrUpdateAnnotationOverlay(n)}))}setAnnotationsVisible(e){this.annotationsVisible=e,this.annotationOverlayElements.forEach(t=>{t.classList.toggle("is-hidden",!e)}),e||(this.closeAnnotationPanel(),this.annotationOverlayElements.forEach(e=>{e.querySelectorAll(".diva-annotation-tooltip").forEach(e=>{e.hidden=!0})}))}getAnnotationSelectionEnabled(){return this.annotationSelectionEnabled}setAnnotationSelectionEnabled(e){this.annotationSelectionEnabled=e,e||this.annotationOverlayElements.forEach(e=>{e.querySelectorAll(".diva-annotation-tooltip").forEach(e=>{e.hidden=!0})})}selectAnnotation(e){for(let t of(this.selectedAnnotationId=e,this.annotationOverlayElements.forEach(t=>{t.querySelectorAll("g[data-annotation-id]").forEach(t=>{t.classList.toggle("is-selected",t.dataset.annotationId===e)})}),this.annotationData.values())){let n=t.find(t=>t.id===e);if(n){let t=Array.from(this.annotationOverlayElements.values()).map(t=>t.querySelector(`g[data-annotation-id="${CSS.escape(e)}"]`)).find(e=>null!==e);this.openAnnotationPanel(n,t);return}}}getImageRegionForAnnotation(e){var t,n;for(let[r,a]of this.annotationData){let i=a.find(t=>t.id===e);if(!i)continue;let o=this.tileSources.findIndex(e=>e.canvasId===r),s=o>=0&&null!=(n=null==(t=this.annotationOverlayElements.get(o))?void 0:t.querySelector(`g[data-annotation-id="${CSS.escape(e)}"]`))?n:void 0;return this.annotationExtractUrl(i,s)}return null}setTileSourceResolver(e){this.tileSourceResolver=e}setStaticImageCorsPolicy(e){var t;let n="fallback"===e||"none"===e?e:"required";n===this.staticImageCorsPolicy||(this.staticImageCorsPolicy=n,this.viewer&&(this.clearPageOverlays(),this.clearAnnotationOverlays(),this.closeAnnotationPanel(),this.viewer.destroy(),this.viewer=null,this.scrollPlaneItem=null,this.syncViewer(),this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)))}invalidateTileSources(e){var t;let n=new Set(e);0!==n.size&&this.tileSources.some(e=>n.has(e.sourceId))&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)}setPageLabels(e){Array.isArray(e)&&(this.pageLabels=e,this.pageOverlayElements.forEach((e,t)=>{this.addOrUpdatePageOverlay(t)}))}resetTileSources(e,t=0){this.viewer&&("function"==typeof this.viewer.close?this.viewer.close():this.viewer.world.removeAll(),this.cancelLoads(),this.tileSources=e,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t0?this.initialPageIndex:null,this.lastReportedIndex=this.targetIndex,this.clearScrollPlane(),this.buildOffsets(),this.ensureScrollPlane(),null!==this.targetIndex&&this.positionInitialViewport(this.targetIndex),this.resetLoadingState(),this.suppressPageChange=!0,this.suppressZoomChange=!0,this.maybeLoadMore())}handleViewportChange(){var e;if(this.isClamping)return;let t=null==(e=this.viewer)?void 0:e.viewport;t&&(this.maybeLoadMore(t),this.maybeEmitPageChange(t),this.clampTop(t),this.clampBottom(t))}handleAnimationFinish(){this.updateScrollbar(),this.maybeEmitZoomChange()}maybeLoadMore(e){var t;if(0===this.tileSources.length)return;if(!this.isViewportInitialized){if(null!==this.targetIndex){this.ensurePageLoaded(this.targetIndex);let e=this.pageOffsets[this.targetIndex]||0,t=this.pageRowHeights[this.targetIndex]||this.pageHeights[this.targetIndex]||1,n=this.indicesForRange(Math.max(0,e-1.5*t),e+2.5*t);if(n)for(let e=n[0];e<=n[1];e+=1)this.ensurePageLoaded(e)}return}let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=1.5*r.height,i=Math.max(0,r.y-a),o=r.y+r.height+a,s=this.indicesForRange(i,o);if(!s)return;let u=s[0],c=s[1],l=u;for(;l<=c;)this.ensurePageLoaded(l),l+=1;null!==this.targetIndex&&this.ensurePageLoaded(this.targetIndex)}ensurePageLoaded(e){e<0||e>=this.tileSources.length||e>=this.pageOffsets.length||this.loadedIndexes.has(e)||this.loadingIndexes.has(e)||this.unavailableIndexes.has(e)||this.loadTile(e)}async loadTile(e,t=!1,n){let r;if(!this.viewer)return;let a=this.loadToken,i=this.tileSources[e],o=new AbortController;this.loadControllers.set(e,o),this.loadingIndexes.add(e),this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.updateLoadingState();try{r=null!=n?n:await this.tileSourceResolver(i,o.signal)}catch(t){a!==this.loadToken||o.signal.aborted||this.markUnavailable(e,t instanceof Error?t.message:"This image is unavailable."),this.finishLoad(e,o);return}if(a!==this.loadToken||o.signal.aborted||!this.viewer)return void this.finishLoad(e,o);t&&(r=v(r));let s=this.pageOffsets[e]||0,u=this.pageXOffsets[e]||0;this.viewer.addTiledImage({tileSource:r,...this.tileRequestOptions(r),x:u,y:s,width:1,success:n=>{if(a!==this.loadToken)return;let r=n.item,i=this.pageXOffsets[e]||0,o=this.pageOffsets[e]||0,s=this.pageHeights[e]||1;if(r.setPosition(new OpenSeadragon.Point(i,o),!0),r.setWidth(1,!0),r.setHeight(s,!0),this.loadedIndexes.add(e),this.loadedItems.set(e,r),this.resolvePageWaiters(e,r),this.addOrUpdatePageOverlay(e),this.addOrUpdateAnnotationOverlay(e),this.loadingIndexes.delete(e),this.loadControllers.delete(e),this.updateLoadingState(),!this.hasFitFirstPage&&e===this.initialPageIndex){this.hasFitFirstPage=!0;let t=this.viewer;if(!t||!t.viewport)return;let n=this.isSingleCanvasLayout(),a=n?r.getBounds():this.isSpreadMode()?this.getRowBounds(e):r.getBounds();t.viewport.fitBounds(a,!0),n||t.viewport.zoomBy(.95,t.viewport.getCenter(!0),!0),this.alignTopAfterFit(e),t.viewport.applyConstraints(),this.isViewportInitialized=!0,this.lockHorizontalPan(),this.recenterAfterFit(),this.flushInitialPageChange(),this.flushInitialZoomChange()}this.emitCustomEvent("diva-page-loaded",{index:e,resourceId:this.resourceId}),t&&requestAnimationFrame(()=>{var e;return null==(e=this.viewer)?void 0:e.forceRedraw()}),this.targetIndex===e&&(this.targetIndex=null),this.maybeLoadMore()},error:n=>{if(a===this.loadToken){if(this.shouldRetryWithoutCors(i,r,t)){this.finishLoad(e,o),this.emitCustomEvent("diva-static-image-cors-fallback",{sourceId:i.sourceId}),this.loadTile(e,!0,r);return}this.markUnavailable(e,(null==n?void 0:n.message)||"This image could not be loaded."),this.finishLoad(e,o),this.maybeLoadMore()}}})}tileRequestOptions(e){if(!e||"object"!=typeof e)return{};let t={};return"boolean"==typeof e.ajaxWithCredentials&&(t.ajaxWithCredentials=e.ajaxWithCredentials),("string"==typeof e.crossOriginPolicy||"boolean"==typeof e.crossOriginPolicy)&&(t.crossOriginPolicy=e.crossOriginPolicy),"boolean"==typeof e.loadTilesWithAjax&&(t.loadTilesWithAjax=e.loadTilesWithAjax),t}shouldRetryWithoutCors(e,t,n){return"fallback"===this.staticImageCorsPolicy&&!!e.isStatic&&!n&&("object"!=typeof t||null===t||"string"!=typeof t.crossOriginPolicy||"use-credentials"!==t.crossOriginPolicy.toLowerCase())}finishLoad(e,t){this.loadControllers.get(e)===t&&(this.loadControllers.delete(e),this.loadingIndexes.delete(e),this.updateLoadingState())}cancelLoads(){this.loadToken+=1,this.loadControllers.forEach(e=>e.abort()),this.loadControllers.clear(),this.loadingIndexes.clear(),this.rejectPageWaiters(new DOMException("The image load was cancelled.","AbortError")),this.resetLoadingState()}markUnavailable(e,t){this.unavailableIndexes.set(e,t),this.rejectPageWaiters(Error(t),e),this.emitCustomEvent("diva-page-load-error",{index:e,message:t,resourceId:this.resourceId}),this.addUnavailableOverlay(e,t)}waitForPage(e){let t=this.loadedItems.get(e);if(t)return Promise.resolve(t);let n=this.unavailableIndexes.get(e);return n?Promise.reject(Error(n)):new Promise((t,n)=>{var r;let a=null!=(r=this.pageWaiters.get(e))?r:[];a.push({resolve:t,reject:n}),this.pageWaiters.set(e,a),this.ensurePageLoaded(e)})}resolvePageWaiters(e,t){var n;let r=null!=(n=this.pageWaiters.get(e))?n:[];this.pageWaiters.delete(e),r.forEach(e=>e.resolve(t))}rejectPageWaiters(e,t){(void 0===t?Array.from(this.pageWaiters.keys()):[t]).forEach(t=>{var n;let r=null!=(n=this.pageWaiters.get(t))?n:[];this.pageWaiters.delete(t),r.forEach(t=>t.reject(e))})}addUnavailableOverlay(e,t){if(!this.viewer)return;this.removeUnavailableOverlay(e);let n=document.createElement("div");n.className="diva-image-unavailable",n.dataset.index=String(e);let r=document.createElement("p");r.textContent=t;let a=document.createElement("button");a.type="button",a.textContent="Retry image",a.addEventListener("click",()=>{this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.ensurePageLoaded(e)}),n.append(r,a),this.viewer.addOverlay({element:n,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}removeUnavailableOverlay(e){let t=this.querySelector(`.diva-image-unavailable[data-index="${e}"]`);t&&this.removeOverlay(t),null==t||t.remove()}setPageAspects(e){Array.isArray(e)&&(this.pageAspects=e.filter(e=>e>0),this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),this.isViewportInitialized||null===this.targetIndex||this.positionInitialViewport(this.targetIndex),this.maybeLoadMore())}buildOffsets(){let e=this.tileSources.length>0?this.tileSources.length:this.pageAspects.length;this.pageOffsets=Array(e),this.pageHeights=Array(e),this.pageRowHeights=Array(e),this.pageXOffsets=Array(e),this.isSpreadMode()?this.buildSpreadOffsets(e):this.buildSingleOffsets(e)}buildSingleOffsets(e){let t=0,n=this.pageAspects[0]||1;for(let r=0;r0){let e=this.pageAspects[0]||a;a=e,this.pageOffsets[0]=n,this.pageHeights[0]=e,this.pageRowHeights[0]=e,this.pageXOffsets[0]=+!t,n+=e+.06,r=1}for(;r{let n=this.pageOffsets[t],r=this.pageHeights[t],a=this.pageXOffsets[t];e.setPosition(new OpenSeadragon.Point(a,n),!0),e.setWidth(1,!0),e.setHeight(r,!0),this.addOrUpdatePageOverlay(t),this.addOrUpdateAnnotationOverlay(t)})}addOrUpdatePageOverlay(e){if(!this.viewer)return;let t=this.pageOverlayElements.get(e),n=e%2==0;t||((t=document.createElement("div")).className="diva-page-overlay-label",t.style.pointerEvents="none",t.style.color="#ffffff",t.style.background="transparent",t.style.padding="0",t.style.borderRadius="0",t.style.fontSize="12px",t.style.fontWeight="600",t.style.lineHeight="1.2",t.style.whiteSpace="nowrap",t.style.paddingBottom="6px",t.style.paddingLeft=n?"0":"12px",t.style.paddingRight=n?"12px":"0",this.pageOverlayElements.set(e,t)),t.textContent=this.pageLabels[e]||`Page ${e+1}`;let r=(this.pageXOffsets[e]||0)+ +!!n,a=this.pageOffsets[e]||0;this.removeOverlay(t),this.viewer.addOverlay({element:t,location:new OpenSeadragon.Point(r,a),placement:n?OpenSeadragon.Placement.BOTTOM_RIGHT:OpenSeadragon.Placement.BOTTOM_LEFT})}clearPageOverlays(){this.clearOverlays(this.pageOverlayElements)}addOrUpdateAnnotationOverlay(e){var t;if(!this.viewer||!this.loadedItems.has(e))return;let n=null==(t=this.tileSources[e])?void 0:t.canvasId,r="string"==typeof n?this.annotationData.get(n):void 0,a=this.annotationOverlayElements.get(e);if(!r||0===r.length){a&&(this.removeOverlay(a),a.remove(),this.annotationOverlayElements.delete(e));return}a||((a=document.createElement("div")).className="diva-annotation-overlay",this.annotationOverlayElements.set(e,a)),a.classList.toggle("is-hidden",!this.annotationsVisible);let i=document.createElementNS("http://www.w3.org/2000/svg","svg");i.setAttribute("viewBox",`0 0 ${this.pageWidth(e)} ${this.pageHeightPixels(e)}`),i.setAttribute("preserveAspectRatio","none"),i.setAttribute("width","100%"),i.setAttribute("height","100%");let o=document.createElement("div");o.className="diva-annotation-tooltip",o.setAttribute("role","tooltip"),r.forEach(e=>{let t=document.createElementNS("http://www.w3.org/2000/svg","g");if(t.setAttribute("data-annotation-id",e.id),t.setAttribute("tabindex","0"),t.classList.toggle("is-selected",e.id===this.selectedAnnotationId),e.text){t.setAttribute("aria-label",e.text);let n=t=>{let n=a.getBoundingClientRect();if(!this.annotationsVisible||!this.annotationSelectionEnabled){o.hidden=!0;return}let r=t?t.clientX-n.left:n.width/2,i=t?t.clientY-n.top:n.height/2;o.textContent=e.text,o.style.left=`${r}px`,o.style.top=`${i}px`,o.hidden=!1};t.addEventListener("mouseenter",n),t.addEventListener("mousemove",n),t.addEventListener("mouseleave",()=>{o.hidden=!0}),t.addEventListener("focus",()=>n()),t.addEventListener("blur",()=>{o.hidden=!0})}if(t.addEventListener("click",n=>{this.annotationSelectionEnabled&&(n.stopPropagation(),this.openAnnotationPanel(e,t))}),t.addEventListener("pointerup",n=>{this.annotationSelectionEnabled&&(n.stopPropagation(),this.openAnnotationPanel(e,t))}),t.addEventListener("keydown",n=>{this.annotationSelectionEnabled&&("Enter"===n.key||" "===n.key)&&(n.preventDefault(),this.openAnnotationPanel(e,t))}),"rect"===e.shape.kind){let n=document.createElementNS("http://www.w3.org/2000/svg","rect");n.setAttribute("x",String(e.shape.x)),n.setAttribute("y",String(e.shape.y)),n.setAttribute("width",String(e.shape.width)),n.setAttribute("height",String(e.shape.height)),n.setAttribute("class","diva-annotation-rect"),t.appendChild(n)}else"svg"===e.shape.kind&&e.shape.value&&this.appendSanitizedSvg(t,e.shape.value);i.appendChild(t)}),o.hidden=!0,a.replaceChildren(i,o),this.removeOverlay(a),this.viewer.addOverlay({element:a,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}pageWidth(e){var t,n;let r=this.loadedItems.get(e);return(null==(n=null==(t=null==r?void 0:r.source)?void 0:t.dimensions)?void 0:n.x)||1}pageHeightPixels(e){var t,n;let r=this.loadedItems.get(e);return(null==(n=null==(t=null==r?void 0:r.source)?void 0:t.dimensions)?void 0:n.y)||1}appendSanitizedSvg(e,t){let n=new DOMParser().parseFromString(t,"image/svg+xml").documentElement,r=new Set(["svg","g","path","rect","circle","ellipse","polygon","polyline","line"]),a=new Set(["d","points","x","y","x1","x2","y1","y2","cx","cy","rx","ry","r","width","height","fill","fill-opacity","fill-rule","stroke","stroke-width","stroke-opacity","stroke-linecap","stroke-linejoin","stroke-dasharray","transform","viewBox"]),i=(e,t)=>{let n=e.localName.toLowerCase();if(!r.has(n))return;let o=document.createElementNS("http://www.w3.org/2000/svg",n);"svg"!==n&&"g"!==n&&o.classList.add("diva-annotation-svg-shape"),Array.from(e.attributes).forEach(e=>{a.has(e.name)&&o.setAttribute(e.name,e.value)}),t.appendChild(o),Array.from(e.children).forEach(e=>i(e,o))};"svg"===n.localName.toLowerCase()&&Array.from(n.children).forEach(t=>i(t,e))}clearAnnotationOverlays(){this.clearOverlays(this.annotationOverlayElements)}removeOverlay(e){var t;try{null==(t=this.viewer)||t.removeOverlay(e)}catch(e){}}clearOverlays(e){e.forEach(e=>{this.removeOverlay(e),e.remove()}),e.clear()}handleAnnotationCanvasClick(e){var t;if(!this.annotationSelectionEnabled||!this.annotationsVisible||!e.quick||!e.position||!this.container)return;let n=this.container.getBoundingClientRect(),r=n.left+e.position.x,a=n.top+e.position.y;for(let[e,n]of Array.from(this.annotationOverlayElements.entries()).reverse()){let i=null==(t=this.tileSources[e])?void 0:t.canvasId,o="string"==typeof i?this.annotationData.get(i):void 0;if(o)for(let e of Array.from(n.querySelectorAll("g[data-annotation-id]")).reverse()){let t=e.getBoundingClientRect();if(rt.right||at.bottom)continue;let n=o.find(t=>t.id===e.dataset.annotationId);if(n)return void this.openAnnotationPanel(n,e)}}}openAnnotationPanel(e,t){if(!this.container)return;if(this.selectedAnnotationId=e.id,this.annotationOverlayElements.forEach(t=>{t.querySelectorAll("g[data-annotation-id]").forEach(t=>{t.classList.toggle("is-selected",t.dataset.annotationId===e.id)})}),this.emitCustomEvent("diva-annotation-select",{annotationId:e.id}),!this.annotationPanel){let e=document.createElement("aside");e.className="diva-annotation-panel",e.setAttribute("aria-label","Annotation details"),e.addEventListener("click",e=>e.stopPropagation()),this.appendChild(e),this.annotationPanel=e}this.annotationPanelIgnoreCloseUntil=performance.now()+500;let n=document.createElement("button");n.type="button",n.className="diva-annotation-panel-close",n.setAttribute("aria-label","Close annotation details"),n.title="Close";let r=document.createElementNS("http://www.w3.org/2000/svg","svg");r.setAttribute("viewBox","0 0 512 512"),r.setAttribute("aria-hidden","true");let a=document.createElementNS("http://www.w3.org/2000/svg","path");a.setAttribute("d","M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z"),r.appendChild(a),n.appendChild(r),n.addEventListener("click",e=>{e.stopPropagation(),this.closeAnnotationPanel()});let i=document.createElement("div");i.className="diva-annotation-panel-content";let o=this.annotationExtractUrl(e,t),s=null;if(o){let t=document.createElement("div");t.className="diva-annotation-panel-preview-controls",Object.assign(t.style,{display:"flex",justifyContent:"flex-end",gap:"4px",margin:"0 0 4px"});let n=document.createElement("div");Object.assign(n.style,{position:"relative",maxWidth:"100%",margin:"0 auto 10px",border:"1px solid rgba(255, 255, 255, 0.2)"});let r=document.createElement("img");Object.assign(r.style,{position:"absolute",top:"50%",left:"50%",maxWidth:"none",transition:"transform 120ms ease-out"}),r.src=o,r.alt=e.text?`Image extract: ${e.text}`:"Annotation image extract",r.addEventListener("error",()=>{t.remove(),n.remove()});let a=0,u=()=>{if(r.naturalWidth<=0||r.naturalHeight<=0)return;let e=Math.min(i.clientWidth||320,320),t=r.naturalWidth/r.naturalHeight,o=t>=1?e:e*t,s=t>=1?e/t:e,u=Math.abs(Math.round(a/90))%2==1;n.style.width=`${u?s:o}px`,n.style.height=`${u?o:s}px`,r.style.width=`${o}px`,r.style.height=`${s}px`,r.style.transform=`translate(-50%, -50%) rotate(${a}deg)`};r.addEventListener("load",u);let c=document.createElement("button");c.type="button",c.className="diva-annotation-panel-rotate",c.textContent="↺",c.setAttribute("aria-label","Rotate image counter-clockwise 90 degrees"),c.addEventListener("click",()=>void(a+=-90,u())),t.appendChild(c),n.appendChild(r),(s=document.createElement("a")).className="diva-annotation-panel-image-link",s.href=o,s.target="_blank",s.rel="noopener noreferrer",s.textContent=o,s.setAttribute("aria-label","Open the IIIF Image API extract"),i.append(t,n),window.requestAnimationFrame(u)}i.appendChild(this.sanitizeAnnotationHtml(e.html||e.text)),s&&i.appendChild(s);let u=this.annotationPanel;u.replaceChildren(n,i),u.hidden=!1,n.focus()}annotationExtractUrl(e,t){if(!e.imageService)return null;let n=null;if("rect"===e.shape.kind){let{x:t,y:r,width:a,height:i}=e.shape;[t,r,a,i].every(e=>"number"==typeof e&&Number.isFinite(e))&&a>0&&i>0&&(n={x:t,y:r,width:a,height:i})}else if("svg"===e.shape.kind&&t){let e=t.closest(".diva-annotation-overlay"),r=null==e?void 0:e.querySelector("svg");if(r){let e=t.getBoundingClientRect(),a=r.getBoundingClientRect(),i=r.viewBox.baseVal;e.width>0&&e.height>0&&a.width>0&&a.height>0&&i.width>0&&i.height>0&&(n={x:i.x+(e.left-a.left)/a.width*i.width,y:i.y+(e.top-a.top)/a.height*i.height,width:e.width/a.width*i.width,height:e.height/a.height*i.height})}}else"svg"===e.shape.kind&&e.shape.value&&(n=this.svgBoundingRegion(e.shape.value));return(!n&&"svg"===e.shape.kind&&e.shape.value&&(n=this.svgBoundingRegion(e.shape.value)),n)?f(e.imageService,n):null}svgBoundingRegion(e){if(!document.body)return null;let t=document.createElementNS("http://www.w3.org/2000/svg","svg"),n=document.createElementNS("http://www.w3.org/2000/svg","g");t.style.cssText="position:absolute;visibility:hidden;pointer-events:none;left:-10000px;top:-10000px;",t.appendChild(n),this.appendSanitizedSvg(n,e),document.body.appendChild(t);try{let e=n.getBBox();return e.width>0&&e.height>0?{x:e.x,y:e.y,width:e.width,height:e.height}:null}catch(e){return null}finally{t.remove()}}closeAnnotationPanel(){this.annotationPanel&&(this.annotationPanel.hidden=!0)}sanitizeAnnotationHtml(e){let t=document.createElement("template");t.innerHTML=e;let n=new Set(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]),r=e=>{let t=e.trim().toLowerCase();return/^(https?:|mailto:|tel:|\/|\.\/|\.\.\/|#|\?)/.test(t)||!t.includes(":")},a=(e,t)=>{if(e.nodeType===Node.TEXT_NODE)return void t.appendChild(document.createTextNode(e.textContent||""));if(!(e instanceof Element))return;let i=e.localName.toLowerCase();if(!n.has(i))return void Array.from(e.childNodes).forEach(e=>a(e,t));let o=document.createElement(i);if("a"===i){let t=e.getAttribute("href");t&&r(t)&&o.setAttribute("href",t),o.setAttribute("target","_blank"),o.setAttribute("rel","noopener noreferrer")}if("img"===i){let t=e.getAttribute("src");t&&r(t)&&o.setAttribute("src",t);let n=e.getAttribute("alt");n&&o.setAttribute("alt",n)}t.appendChild(o),Array.from(e.childNodes).forEach(e=>a(e,o))},i=document.createDocumentFragment();return Array.from(t.content.childNodes).forEach(e=>a(e,i)),i}ensureScrollPlane(){if(!this.viewer||0===this.pageOffsets.length)return;let e=this.getTotalHeight(),t=this.isSpreadMode()?2:1;if(this.scrollPlaneItem){this.scrollPlaneItem.setPosition(new OpenSeadragon.Point(0,0),!0),this.scrollPlaneItem.setWidth(t,!0),this.scrollPlaneItem.setHeight(e,!0);return}let n=`data:image/svg+xml;charset=utf-8,${encodeURIComponent('')}`;this.viewer.addTiledImage({tileSource:{type:"image",url:n},x:0,y:0,width:t,success:n=>{let r=n.item;r.setOpacity(0),r.setPosition(new OpenSeadragon.Point(0,0),!0),r.setWidth(t,!0),r.setHeight(e,!0),this.scrollPlaneItem=r}})}clearScrollPlane(){this.viewer&&this.scrollPlaneItem&&(this.viewer.world.removeItem(this.scrollPlaneItem),this.scrollPlaneItem=null)}indicesForRange(e,t){return 0===this.pageOffsets.length?null:[this.findIndexForOffset(e),this.getRowEndIndex(this.findIndexForOffset(t))]}findIndexForOffset(e){let t=0,n=this.pageOffsets.length-1;for(;t<=n;){let r=Math.floor((t+n)/2),a=this.pageOffsets[r],i=this.pageRowHeights[r]||this.pageHeights[r]||1;if(ea+i))return this.getRowStartIndex(r);t=r+1}}if(t>=this.pageOffsets.length)return this.pageOffsets.length-1;let r=Math.max(0,t);return this.getRowStartIndex(r)}scrollToOffset(e){var t;let n=null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=this.isSpreadMode()?2:1,i=new OpenSeadragon.Rect(0,e,a,r.height);n.fitBounds(i,!0)}positionInitialViewport(e){var t;let n=null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=this.pageOffsets[e]||0,a=this.pageRowHeights[e]||this.pageHeights[e]||1,i=Math.max(0,r-1.5*a),o=this.isSpreadMode()?2:1;n.fitBounds(new OpenSeadragon.Rect(0,i,o,r+2.5*a-i),!0)}scrollToIndex(e){if(e<0||e>=this.tileSources.length||e>=this.pageOffsets.length)return;let t=this.pageOffsets[e];this.scrollToOffset(t),this.targetIndex=e,this.ensurePageLoaded(e),this.lastReportedIndex=e,this.emitCustomEvent("diva-page-change",{index:e})}getVisiblePageIndexes(){var e;if(0===this.pageOffsets.length)return[];let t=null!=(e=this.lastReportedIndex)?e:0,n=this.getRowStartIndex(t);return Array.from({length:this.getRowEndIndex(n)-n+1},(e,t)=>n+t)}isPageLoaded(e,t){var n;return(null==(n=this.tileSources[e])?void 0:n.sourceId)===t&&this.loadedIndexes.has(e)}next(){let e=this.getVisiblePageIndexes();if(0===e.length)return;let t=this.getRowEndIndex(e[0])+1;t0?a/r.height*.75:0,o=n.getCenter(!0),s=new OpenSeadragon.Point(o.x,o.y+i);n.panTo(s,!0),this.clampTop(),this.clampBottom(),this.maybeEmitPageChange()}lockHorizontalPan(){var e;if(!this.isViewportInitialized)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(this.getCenterX(),n.y),!0),t.applyConstraints()}recenterAfterFit(){if(!this.viewer)return;let e=()=>{this.viewer&&this.viewer.removeHandler("animation-finish",e),this.recenterBoundsX()};"function"==typeof this.viewer.addOnceHandler?this.viewer.addOnceHandler("animation-finish",e):this.viewer.addHandler("animation-finish",e)}recenterBoundsX(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0),r=this.getCenterX();5e-4>Math.abs(n.x-r)||(t.panTo(new OpenSeadragon.Point(r,n.y),!0),t.applyConstraints())}clampTop(e){var t;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=-this.getTopPaddingViewport(r.height);if(r.y>=a)return;let i=r.height/2+a;this.isClamping=!0,n.panTo(new OpenSeadragon.Point(n.getCenter(!1).x,i),!0),n.applyConstraints(),this.isClamping=!1}clampBottom(e){var t,n;let r=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!r||0===this.pageOffsets.length)return;let a=this.getTotalHeight(),i=r.getBounds(!0),o=a+20/((null==(n=this.container)?void 0:n.getBoundingClientRect().height)||1)*i.height;if(i.y+i.height<=o)return;let s=o-i.height/2;this.isClamping=!0,r.panTo(new OpenSeadragon.Point(r.getCenter(!1).x,s),!0),r.applyConstraints(),this.isClamping=!1}maybeEmitPageChange(e){var t;if(this.suppressPageChange||this.isScrollbarDragging||0===this.pageOffsets.length)return;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getCenter(!0),a=this.findIndexForOffset(r.y);this.lastReportedIndex!==a&&(this.lastReportedIndex=a,this.emitCustomEvent("diva-page-change",{index:a}))}emitPageChangeInstant(){var e;if(0===this.pageOffsets.length)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0),r=this.findIndexForOffset(n.y);this.lastReportedIndex=r,this.emitCustomEvent("diva-page-change",{index:r,instant:!0})}flushInitialPageChange(){if(0===this.pageOffsets.length){this.suppressPageChange=!1;return}if(!this.viewer||!this.viewer.viewport)return;let e=this.viewer.viewport.getCenter(!0),t=this.findIndexForOffset(e.y);this.lastReportedIndex=t,this.suppressPageChange=!1,this.emitCustomEvent("diva-page-change",{index:t})}maybeEmitZoomChange(e){var t;if(this.suppressZoomChange)return;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getZoom(!0);null!==this.lastReportedZoom&&1e-4>Math.abs(this.lastReportedZoom-r)||(this.lastReportedZoom=r,this.emitCustomEvent("diva-zoom-change",{zoom:r}))}flushInitialZoomChange(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getZoom(!0);this.lastReportedZoom=n,this.suppressZoomChange=!1,this.emitCustomEvent("diva-zoom-change",{zoom:n})}alignTopAfterFit(e){if(!this.viewer)return;let t=this.viewer.viewport;if(!t)return;let n=t.getBounds(!0),r=this.getTopPaddingViewport(n.height),a=(this.pageOffsets[e]||0)-r;if(5e-4>Math.abs(n.y-a))return;let i=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(i.x,n.height/2+a),!0),t.applyConstraints()}getTopPaddingViewport(e){var t;return 28/((null==(t=this.container)?void 0:t.getBoundingClientRect().height)||1)*e}resetLoadingState(){null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1})}updateLoadingState(){if(this.loadingIndexes.size>0){if(this.isLoading||null!==this.loadingTimer)return;this.loadingTimer=window.setTimeout(()=>{this.loadingTimer=null,this.loadingIndexes.size>0&&!this.isLoading&&(this.isLoading=!0,this.emitCustomEvent("diva-loading-change",{loading:!0}))},300);return}null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading&&(this.isLoading=!1,this.emitCustomEvent("diva-loading-change",{loading:!1}))}applyLayoutChange(e){var t,n,r;let a=null!=(t=e.mode)?t:this.layoutMode,i=null!=(n=e.direction)?n:this.viewingDirection;if(this.layoutMode===a&&this.viewingDirection===i)return;let o=null,s=null==(r=this.viewer)?void 0:r.viewport;if(s&&this.pageOffsets.length>0){let e=s.getBounds(!0),t=e.y+.5*e.height;o=this.findIndexForOffset(t)}else null!==this.lastReportedIndex&&(o=this.lastReportedIndex);if(this.layoutMode=a,this.viewingDirection=i,this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),null!==o){let e=Math.max(0,Math.min(o,this.pageOffsets.length-1));this.scrollToIndex(e)}else this.lockHorizontalPan(),this.recenterAfterFit();this.maybeLoadMore()}emitCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}getCenterX(){return this.isSpreadMode()?1:.5}isSingleCanvasLayout(){return 1===this.tileSources.length&&1===this.pageOffsets.length}getTotalHeight(){let e=this.pageOffsets.length-1;return this.pageOffsets[e]+(this.pageRowHeights[e]||1)}getRowBounds(e){let t=this.pageOffsets[e]||0,n=this.pageRowHeights[e]||this.pageHeights[e]||1,r=this.isSpreadMode()?2:1;return new OpenSeadragon.Rect(0,t,r,n)}isSpreadMode(){return"single"!==this.layoutMode}getRowStartIndex(e){return this.isSpreadMode()?"spread-shift"===this.layoutMode?0===e?0:e%2==1?e:e-1:e-e%2:e}getRowEndIndex(e){let t=this.pageOffsets.length-1;return this.isSpreadMode()?"spread-shift"===this.layoutMode&&0===e?0:Math.min(e+1,t):e}createScrollbar(){this.container&&(this.scrollbarTrack=document.createElement("div"),this.scrollbarTrack.className="diva-scrollbar-track",this.scrollbarThumb=document.createElement("div"),this.scrollbarThumb.className="diva-scrollbar-thumb",this.scrollbarTrack.appendChild(this.scrollbarThumb),this.container.appendChild(this.scrollbarTrack),this.setupScrollbarDrag(),this.setupScrollbarTrackClick())}updateScrollbar(){if(!this.viewer||!this.scrollbarThumb||!this.scrollbarTrack||0===this.pageOffsets.length)return;let e=this.viewer.viewport.getBounds(!0),t=this.scrollbarTrack.clientHeight,n=this.getTotalHeight(),r=e.height,a=e.y,i=Math.max(30,r/n*t),o=n-r,s=o>0?Math.max(0,Math.min(1,a/o)):0;this.scrollbarThumb.style.height=`${i}px`,this.scrollbarThumb.style.top=`${Math.max(0,s*(t-i))}px`}setupScrollbarDrag(){if(!this.scrollbarThumb||!this.scrollbarTrack)return;let e=!1,t=0,n=0,r=r=>{var a;e=!0,this.isScrollbarDragging=!0,t=r.clientY,n=(null==(a=this.scrollbarThumb)?void 0:a.offsetTop)||0,r.preventDefault(),r.stopPropagation()},a=r=>{if(!e||!this.scrollbarTrack||!this.scrollbarThumb||!this.viewer)return;let a=r.clientY-t,i=n+a,o=this.scrollbarTrack.clientHeight,s=this.scrollbarThumb.clientHeight,u=Math.max(0,Math.min(i,o-s)),c=this.getTotalHeight(),l=this.viewer.viewport.getBounds(!0).height,d=this.viewer.viewport.getCenter(!0);this.viewer.viewport.panTo(new OpenSeadragon.Point(d.x,(o-s>0?u/(o-s):0)*(c-l)+l/2),!0)},i=()=>{e&&(e=!1,this.isScrollbarDragging=!1,this.emitPageChangeInstant())};this.scrollbarMouseMove=a,this.scrollbarMouseUp=i,this.scrollbarThumb.addEventListener("mousedown",r),document.addEventListener("mousemove",a),document.addEventListener("mouseup",i)}setupScrollbarTrackClick(){this.scrollbarTrack&&this.scrollbarTrack.addEventListener("click",e=>{var t;if(e.target===this.scrollbarThumb||!this.viewer)return;let n=null==(t=this.scrollbarTrack)?void 0:t.getBoundingClientRect();if(!n)return;let r=Math.max(0,Math.min(1,(e.clientY-n.top)/n.height)),a=this.getTotalHeight(),i=this.viewer.viewport.getBounds(!0).height,o=this.viewer.viewport.getCenter(!0);this.viewer.viewport.panTo(new OpenSeadragon.Point(o.x,r*(a-i)+i/2),!0)})}constructor(){super(),this.container=null,this.viewer=null,this.loadToken=0,this.tileSources=[],this.pageLabels=[],this.pageAspects=[],this.pageOffsets=[],this.pageHeights=[],this.pageRowHeights=[],this.pageXOffsets=[],this.layoutMode="single",this.viewingDirection="ltr",this.hasFitFirstPage=!1,this.loadedIndexes=new Set,this.loadingIndexes=new Set,this.unavailableIndexes=new Map,this.loadControllers=new Map,this.staticImageCorsPolicy="required",this.tileSourceResolver=async e=>e.isStatic?h(e.url,!1,"none"===this.staticImageCorsPolicy):e.url,this.loadedItems=new Map,this.pageWaiters=new Map,this.pageOverlayElements=new Map,this.annotationData=new Map,this.annotationOverlayElements=new Map,this.annotationsVisible=!0,this.annotationSelectionEnabled=!0,this.selectedAnnotationId=null,this.annotationPanel=null,this.annotationPanelIgnoreCloseUntil=0,this.targetIndex=null,this.initialPageIndex=0,this.resourceId="initial",this.scrollPlaneItem=null,this.isViewportInitialized=!1,this.lastReportedIndex=null,this.lastReportedZoom=null,this.loadingTimer=null,this.isLoading=!1,this.isClamping=!1,this.suppressPageChange=!0,this.suppressZoomChange=!0,this.scrollbarTrack=null,this.scrollbarThumb=null,this.isScrollbarDragging=!1,this.scrollbarMouseMove=null,this.scrollbarMouseUp=null,this.handleWheelBound=this.handleWheel.bind(this),this.handleDoubleClickBound=this.handleDoubleClick.bind(this),this.handleViewportChangeBound=this.handleViewportChange.bind(this),this.handleAnimationFinishBound=this.handleAnimationFinish.bind(this)}};function m(e,t,n){return n.a=e,n.f=t,n}function w(e){return m(2,e,function(t){return function(n){return e(t,n)}})}function y(e){return m(3,e,function(t){return function(n){return function(r){return e(t,n,r)}}})}function x(e){return m(4,e,function(t){return function(n){return function(r){return function(a){return e(t,n,r,a)}}}})}function C(e){return m(5,e,function(t){return function(n){return function(r){return function(a){return function(i){return e(t,n,r,a,i)}}}}})}function I(e){return m(6,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return e(t,n,r,a,i,o)}}}}}})}function A(e){return m(7,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return e(t,n,r,a,i,o,s)}}}}}}})}function E(e){return m(8,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return function(u){return e(t,n,r,a,i,o,s,u)}}}}}}}})}function $(e,t,n){return 2===e.a?e.f(t,n):e(t)(n)}function R(e,t,n,r){return 3===e.a?e.f(t,n,r):e(t)(n)(r)}function S(e,t,n,r,a){return 4===e.a?e.f(t,n,r,a):e(t)(n)(r)(a)}function M(e,t,n,r,a,i){return 5===e.a?e.f(t,n,r,a,i):e(t)(n)(r)(a)(i)}function P(e,t,n,r,a,i,o){return 6===e.a?e.f(t,n,r,a,i,o):e(t)(n)(r)(a)(i)(o)}function L(e,t,n,r,a,i,o,s){return 7===e.a?e.f(t,n,r,a,i,o,s):e(t)(n)(r)(a)(i)(o)(s)}customElements.define("diva-lazy-image",g),customElements.define("osd-viewer",p);var T=y(function(e,t,n){for(var r=Array(e),a=0;a100){var a;return r.push((a=e,{a,b:t})),!0}if(e.$<0&&(e=no(e),t=no(t)),"function"==typeof DataView&&e instanceof DataView){var i=e.byteLength;if(t.byteLength!==i)return!1;for(var o=0;o0&&e<0||n<0&&e>0?n+e:n}),Z=Math.ceil,Y=Math.floor,K=Math.round,Q=Math.log,ee=w(function(e,t){return e+t}),et=y(function(e,t,n){for(var r=n.length;r-- >0;){var a=n[r],i=n.charCodeAt(r);56320<=i&&i<=57343&&(a=n[--r]+a),t=$(e,a,t)}return t}),en=w(function(e,t){return t.split(e)}),er=w(function(e,t){return t.join(e)}),ea=y(function(e,t,n){return n.slice(e,t)}),ei=w(function(e,t){for(var n=t.length;n-- >0;){var r=t[n],a=t.charCodeAt(n);if(56320<=a&&a<=57343&&(r=t[--n]+r),!e(r))return!1}return!0}),eo=w(function(e,t){return t.indexOf(e)>-1}),es=w(function(e,t){return 0===t.indexOf(e)}),eu=w(function(e,t){return t.length>=e.length&&t.lastIndexOf(e)===t.length-e.length}),ec=w(function(e,t){var n=e.length;if(n<1)return U;for(var r=0,a=[];(r=t.indexOf(e,r))>-1;)a.push(r),r+=n;return q(a)});function el(e){return e+""}function ed(e){return{$:2,b:e}}var ef=ed(function(e){return"number"!=typeof e?eL("an INT",e):-0x7fffffff=t.length)return eL("a LONGER array. Need index "+a+" but only see "+t.length+" entries",t);var r=eR(e.b,t[a]);return n0(r)?r:nf($(nb,a,r.a));case 8:if("object"!=typeof t||null===t||eM(t))return eL("an OBJECT",t);var i=U;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var r=eR(e.b,t[o]);if(!n0(r))return nf($(nv,o,r.a));i=D({a:o,b:r.a},i)}return ng(nO(i));case 9:for(var s=e.f,u=e.g,c=0;ctypeof FileList&&e instanceof FileList}function eP(e){return $(nQ,e.length,function(t){return e[t]})}function eL(e,t){return nf($(nh,"Expecting "+e,t))}var eT=w(function(e,t){return JSON.stringify(t,null,e)+""});function ek(e){return e}var eO=y(function(e,t,n){return("toJSON"!==e||"function"!=typeof t)&&(n[e]=t),n});function eH(e){return{$:0,a:e}}function eV(e){return{$:2,b:e,c:null}}var eB=w(function(e,t){return{$:3,b:e,d:t}}),eF=w(function(e,t){return{$:4,b:e,d:t}}),e_=0;function eN(e){var t={$:0,e:e_++,f:e,g:null,h:[]};return eq(t),t}function ez(e){return eV(function(t){t(eH(eN(e)))})}function eG(e,t){e.h.push(t),eq(e)}var eU=w(function(e,t){return eV(function(n){eG(e,t),n(eH(0))})}),eD=!1,eJ=[];function eq(e){if(eJ.push(e),!eD){for(eD=!0;e=eJ.shift();)!function(e){for(;e.f;){var t=e.f.$;if(0===t||1===t){for(;e.g&&e.g.$!==t;)e.g=e.g.i;if(!e.g)return;e.f=e.g.b(e.f.a),e.g=e.g.i}else if(2===t){e.f.c=e.f.b(function(t){e.f=t,eq(e)});return}else if(5===t){if(0===e.h.length)return;e.f=e.f.b(e.h.shift())}else e.g={$:+(3!==t),b:e.f.b,i:e.g},e.f=e.f.d}}(e);eD=!1}}function eX(e){return eV(function(t){var n=setTimeout(function(){t(eH(0))},e);return function(){clearTimeout(n)}})}var ej={};function eW(e,t,n,r,a){return{b:e,c:t,d:n,e:r,f:a}}var eZ=w(function(e,t){return eV(function(n){e.g(t),n(eH(0))})}),eY=w(function(e,t){return $(eU,e.h,{$:0,a:t})});function eK(e){return function(t){return{$:1,k:e,l:t}}}function eQ(e){return{$:2,m:e}}var e0=[],e1=!1;function e2(e,t,n){if(e0.push({p:e,q:t,r:n}),!e1){e1=!0;for(var r;r=e0.shift();)!function(e,t,n){var r={};for(var a in e4(!0,t,r,null),e4(!1,n,r,null),e)eG(e[a],{$:"fx",a:r[a]||{i:U,j:U}})}(r.p,r.q,r.r);e1=!1}}function e4(e,t,n,r){switch(t.$){case 1:var a,i,o,s,u,c,l,d=t.k,f=(a=e,i=d,o=r,s=t.l,$(a?ej[i].e:ej[i].f,function(e){for(var t=o;t;t=t.t)e=t.s(e);return e},s));n[d]=(u=e,c=f,l=(l=n[d])||{i:U,j:U},u?l.i=D(c,l.i):l.j=D(c,l.j),l);return;case 2:for(var h=t.m;h.b;h=h.b)e4(e,h.a,n,r);return;case 3:e4(e,t.o,n,{s:t.n,t:r});return}}function e3(e,t){return ej[e]&&O(3),ej[e]={e:e6,u:t,a:e5},eK(e)}var e6=w(function(e,t){return t});function e5(e){var t=[],n=ej[e].u,r=eX(0);return ej[e].b=r,ej[e].c=y(function(e,a,i){for(;a.b;a=a.b){for(var o=t,s=n(a.a),u=0;u=0&&t.splice(n,1)}}}function e8(e,t){return ej[e]&&O(3),ej[e]={f:e7,u:t,a:e9},eK(e)}var e7=w(function(e,t){return function(n){return e(t(n))}});function e9(e,t){var n=U,r=ej[e].u,a=eH(null);return ej[e].b=a,ej[e].c=y(function(e,t,r){return n=t,a}),{send:function(e){var a=$(e$,r,e);n0(a)||O(4,a.a);for(var i=a.a,o=n;o.b;o=o.b)t(o.a(i))}}}var te=!1,tt="u">typeof document?document:{};function tn(e,t){e.appendChild(t)}function tr(e,t,n){(t.parentNode!==e||t.nextSibling!==n)&&e.insertBefore(t,n)}function ta(e,t,n){(t.parentNode!==e||t.previousSibling!==n)&&e.insertBefore(t,null===n?e.firstChild:n.nextSibling)}var ti="u">typeof Element&&"function"==typeof Element.prototype.moveBefore,to=ti?function(e,t,n){(t.parentNode!==e||t.nextSibling!==n)&&e.moveBefore(t,n)}:tr,ts=ti?function(e,t,n){(t.parentNode!==e||t.previousSibling!==n)&&e.moveBefore(t,null===n?e.firstChild:n.nextSibling)}:ta;function tu(e){var t=e.parentNode;t&&t.removeChild(e)}function tc(e){return{r:e,s:Object.create(null)}}function tl(e){return{$:0,a:e}}var td=w(function(e,t){return w(function(n,r){for(var a=[];r.b;r=r.b)a.push(r.a);return{$:1,c:t,d:tL(n),e:a,f:e,b:0}})}),tf=td(void 0);function th(e,t){return{$:5,l:e,m:t,k:void 0}}w(function(e,t){return w(function(n,r){for(var a=[],i=Object.create(null);r.b;r=r.b){for(var o=r.a,s=o.a;s in i;)s+=tG,o={a:s,b:o.b};a.push(o),i[s]=o.b}return{$:2,c:t,d:tL(n),e:a,t:i,f:e,b:0}})})(void 0);var tv=w(function(e,t){return th([e,t],function(){return e(t)})}),tb=y(function(e,t,n){return th([e,t,n],function(){return $(e,t,n)})}),tg=x(function(e,t,n,r){return th([e,t,n,r],function(){return R(e,t,n,r)})}),tp=C(function(e,t,n,r,a){return th([e,t,n,r,a],function(){return S(e,t,n,r,a)})}),tm=I(function(e,t,n,r,a,i){return th([e,t,n,r,a,i],function(){return M(e,t,n,r,a,i)})}),tw=A(function(e,t,n,r,a,i,o){return th([e,t,n,r,a,i,o],function(){return P(e,t,n,r,a,i,o)})}),ty=w(function(e,t){return{$:"a0",n:e,o:t}}),tx=w(function(e,t){return{$:"a1",n:e,o:t}}),tC=w(function(e,t){return{$:"a2",n:e,o:t}}),tI=w(function(e,t){return{$:"a3",n:e,o:t}}),tA=y(function(e,t,n){return{$:"a4",n:t,o:{f:e,o:n}}}),tE=/^script$/i,t$=/^(on|formAction$)/i,tR=/^\s*j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:/i,tS=/^\s*(j\s*a\s*v\s*a\s*s\s*c\s*r\s*i\s*p\s*t\s*:|d\s*a\s*t\s*a\s*:\s*t\s*e\s*x\s*t\s*\/\s*h\s*t\s*m\s*l\s*(,|;))/i;function tM(e){return tS.test(e)?"":e}var tP="function"==typeof _Test_runThunk;function tL(e){var t={};for(t[tJ]=!0;e.b;e=e.b){var n=e.a,r=n.$,a=n.n,i=n.o;if("a2"===r){"className"===a?tT(t,a,i):t[a]=i;continue}var o=t[r]||(t[r]={});"a3"===r&&"class"===a?tP?tT(t,"className",i):tT(o,a,i):o[a]=i}return t}function tT(e,t,n){var r=e[t];e[t]=r?r+" "+n:n}function tk(e,t,n){var r=e.$;if(5===r)return tk(e.k||(e.k=e.m()),t,n);if(4===r)return tk(e.k,function(n,r){return t(e.j(n),r)},n);if(0===r){var a=tt.createTextNode(e.a);return n.r=a,a}if(3===r){var a=e.h(e.g);return tO(a,t,{},e.d),n.r=a,a}var a=e.f?tt.createElementNS(e.f,e.c):tt.createElement(e.c);if(c&&"a"==e.c&&a.addEventListener("click",c(a)),tO(a,t,{},e.d),1===r)for(var i=e.e,o=0;on2(i)}),r[a]=o}for(a in r)a in n||(e.removeEventListener(a,r[a]),delete r[a])}(e,t,r.a0||{})}function tH(e,t){for(var n in t)if("a0"!==n&&"a1"!==n&&"a3"!==n&&"a4"!==n&&n!==tJ){var r=t[n];r!==e[n]&&(e[n]=r)}}function tV(e,t){var n=e.elmFs;if(n)for(var r in n)n[r].q=t}try{window.addEventListener("t",null,Object.defineProperty({},"passive",{get:function(){l=!0}}))}catch(e){}function tB(e,t,n,r){if(e===t)return{r:tF(e,t,n,r),u:!1,v:!1};for(;4===e.$;)e=e.k;if(4===t.$)return tB(e,t.k,function(e,r){return n(t.j(e),r)},r);if(5===e.$)if(5!==t.$)return tB(e.k,t,n,r);else{for(var a=e.l,i=t.l,o=a.length,s=o===i.length;s&&o--;)s=a[o]===i[o];return s?(t.k=e.k,{r:tF(e,t,n,r),u:!1,v:!1}):(t.k=t.m(),tB(e.k,t.k,n,r))}if(5===t.$)return tB(e,t.k||(t.k=t.m()),n,r);var u=r.r,c=e.$,l=t.$;if(c!==l)if(1===c&&2===l)e=function(e,t,n){for(var r=e.e,a=t.e,i=r.length,o=a.length,s=Array(i),u=Object.create(null),c=Object.create(null),l=0;l=0;u--){var l=s[u],d=function e(t,n,r){var a=t.$;if(5===a)return e(t.k,n,r);if(4===a)return e(t.k,function(e,r){return n(t.j(e),r)},r);if(0===a){var i=tt.createTextNode(t.a);return r.r=i,i}return r.r}(2===n.$?l.b:l,r,a.s[2===n.$?l.a:u]);if(d.parentNode===e)for(;c>=0;c--){if((o=e.childNodes[c])===d){c--;break}(3===o.nodeType||"font"===o.localName)&&e.removeChild(o)}else tr(e,d,o),o=d}for(;c>=0;c--)(3===(o=e.childNodes[c]).nodeType||"font"===o.localName)&&e.removeChild(o)}return{r:e,u:!1,v:!1}}function tN(e,t,n,r,a){for(var i=t.e,o=n.e,s=i.length,u=o.length,c=!1,l=null,d=su)for(var f=u;fc&&f>l;){var p=i[d],m=o[f],w=p.a,y=m.a,x=p.b,C=m.b;if(w===y){var I=tB(x,C,r,a.s[y]);d--,f--,g(I,!0);continue}var A=!1;if(w in u?A=!0:(tu(a.s[w].r),delete a.s[w],d--),y in s){if(A)break}else{var E=tc(void 0),$=tk(C,r,E);a.s[y]=E,tr(e,$,v),f--,v=$}}var R=!1;if(c=e)break;var n=tX[t];delete tX[t],n()}tj=!1})),t}var tK="u">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tQ={addEventListener:function(){},removeEventListener:function(){}},t0="u">typeof document?document:tQ,t1="u">typeof window?window:tQ,t2=y(function(e,t,n){return ez(eV(function(r){function a(e){eN(n(e))}return e.addEventListener(t,a,l&&{passive:!0}),function(){e.removeEventListener(t,a)}}))}),t4=w(function(e,t){var n=eR(e,t);return n0(n)?nr(n.a):na});function t3(e,t){return eV(function(n){tY(function(){var r=document.getElementById(e);n(r?eH(t(r)):{$:1,a:n3(e)})})})}function t6(){var e=t0.body,t=t0.documentElement;return{dI:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dU:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t5=y(function(e,t,n){return t3(e,function(e){return e.scrollLeft=t,e.scrollTop=n,0})}),t8=y(function(e,t,n){return eV(function(r){function a(e){r(t(n.dQ.a(e)))}var i,o,s,u=new XMLHttpRequest;u.addEventListener("error",function(){a(rM)}),u.addEventListener("timeout",function(){a(rT)}),u.addEventListener("load",function(){var e,t,r;a((e=n.dQ.b,$(200<=(t=u).status&&t.status<300?rS:r$,{aM:(r=t).responseURL,gN:r.status,gO:r.statusText,eP:function(e){if(!e)return rI;for(var t=rI,n=e.split("\r\n"),r=n.length;r--;){var a=n[r],i=a.indexOf(": ");if(i>0){var o=a.substring(0,i),s=a.substring(i+2);t=R(rj,o,function(e){return nr(rk(e)?s+", "+e.a:s)},t)}}return t}(r.getAllResponseHeaders())},e(t.response))))}),rk(n.fE)&&(i=e,o=u,s=n.fE.a,o.upload.addEventListener("progress",function(e){!o.c&&eN($(rO,i,{a:s,b:rL({gJ:e.loaded,fw:e.total})}))}),o.addEventListener("progress",function(e){!o.c&&eN($(rO,i,{a:s,b:rP({gA:e.loaded,fw:e.lengthComputable?nr(e.total):na})}))}));try{u.open(n.gj,n.aM,!0)}catch(e){return a(rR(n.aM))}return function(e,t){for(var n=t.eP;n.b;n=n.b)e.setRequestHeader(n.a.a,n.a.b);e.timeout=t.gY.a||0,e.responseType=t.dQ.d,e.withCredentials=t.fM}(u,n),n.eq.a&&u.setRequestHeader("Content-Type",n.eq.a),u.send(n.eq.b),function(){u.c=!0,u.abort()}})}),t7=y(function(e,t,n){return{$:0,d:e,b:t,a:n}}),t9=w(function(e,t){return{$:0,d:t.d,b:t.b,a:function(n){return e(t.a(n))}}}),ne=C(function(e,t,n,r,a){for(var i,o=e.length,s=t+o<=a.length,u=0;s&&u_(e,t)))return n;else{var r=e,a=t-1,i=$(J,t,n);e=r,t=a,n=i;continue}}),nA=w(function(e,t){return R(nI,e,t,U)}),nE=w(function(e,t){return R(j,e,$(nA,0,nC(t)-1),t)}),n$=function(e){return e.toLowerCase()},nR=function(e){return e.toUpperCase()},nS=function(e){return H(e,n$(e))&&!H(e,nR(e))},nM=function(e){return H(e,nR(e))&&!H(e,n$(e))},nP=function(e){return nS(e)||nM(e)},nL=function(e){var t=e.charCodeAt(0);return 55296<=t&&t<=56319?(t-55296)*1024+e.charCodeAt(1)-56320+65536:t},nT=function(e){var t=nL(e);return t<=57&&48<=t},nk=function(e){return nS(e)||nM(e)||nT(e)},nO=function(e){return R(nx,J,U,e)},nH=function(e){var t=e.charCodeAt(0);return isNaN(t)?na:nr(55296<=t&&t<=56319?{a:e[0]+e[1],b:e.slice(2)}:{a:e[0],b:e.slice(1)})},nV=w(function(e,t){return"\n\n("+el(e+1)+") "+ny(nB(t))}),nB=function(e){return $(nF,e,U)},nF=w(function(e,t){for(;;)switch(e.$){case 0:var n=e.a,r=e.b,a=!function(){var e=nH(n);if(1===e.$)return!1;var t=e.a,r=t.a,a=t.b;return nP(r)&&$(ei,nk,a)}()?"['"+n+"']":"."+n,i=r,o=$(J,a,t);e=i,t=o;continue;case 1:var s=e.a,r=e.b,u="["+el(s)+"]",i=r,o=$(J,u,t);e=i,t=o;continue;case 2:var c=e.a;if(!c.b)return"Ran into a Json.Decode.oneOf with no possibilities"+(t.b?" at json"+$(nm,"",nO(t)):"!");if(c.b.b){var l=(t.b?"The Json.Decode.oneOf at json"+$(nm,"",nO(t)):"Json.Decode.oneOf")+" failed in the following "+el(nC(c))+" ways:";return $(nm,"\n\n",$(J,l,$(nE,nV,c)))}var r=c.a,i=r,o=t;e=i,t=o;continue;default:var d=e.a,f=e.b,l=t.b?"Problem with the value at json"+$(nm,"",nO(t))+":\n\n ":"Problem with the given value:\n\n";return l+(ny($(eT,4,f))+"\n\n")+d}}),n_=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),nN=[],nz=w(function(e,t){return Q(t)/Q(e)}),nG=function(e){return e},nU=Z($(nz,2,32)),nD=S(n_,0,nU,nN,nN),nJ=w(function(e,t){return e(t)}),nq=function(e){return e.length},nX=w(function(e,t){return _(e,t)>0?e:t}),nj=w(function(e,t){for(;;){var n=$(k,32,e),r=n.a,a=n.b,i=$(J,{$:0,a:r},t);if(!a.b)return nO(i);e=a,t=i}}),nW=function(e){return e.a},nZ=w(function(e,t){for(;;){var n=Z(t/32);if(1===n)return $(k,32,e).a;e=$(nj,e,U),t=n}}),nY=w(function(e,t){if(!t.z)return S(n_,nq(t.E),nU,nN,t.E);var n=32*t.z,r=Y($(nz,32,n-1)),a=$(nZ,e?nO(t.F):t.F,t.z);return S(n_,nq(t.E)+n,$(nX,5,r*nU),a,t.E)}),nK=C(function(e,t,n,r,a){for(;;)if(t<0)return $(nY,!1,{F:r,z:n/32|0,E:a});else{var i={$:1,a:R(T,32,t,e)},o=e,s=t-32,u=n,c=$(J,i,r),l=a;e=o,t=s,n=u,r=c,a=l;continue}}),nQ=w(function(e,t){if(e<=0)return nD;var n=e%32,r=R(T,n,e-n,t);return M(nK,t,e-n-32,e,U,r)}),n0=function(e){return!e.$},n1=function(e){return{$:0,a:e}},n2=function(e){switch(e.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},n4=function(e){return e},n3=n4,n6=I(function(e,t,n,r,a,i){return{f4:i,eR:t,s:r,fa:n,fe:e,gz:a}}),n5=function(e){return e.length},n8=w(function(e,t){return e<1?t:R(ea,e,n5(t),t)}),n7=function(e){return""===e},n9=w(function(e,t){return e<1?"":R(ea,0,e,t)}),re=function(e){for(var t=0,n=e.charCodeAt(0),r=+(43==n||45==n),a=r;a500?R(nx,e,t,nO(d)):S(rs,e,t,n+1,d);return $(e,a,$(e,o,$(e,u,$(e,l,f))))}),ru=y(function(e,t,n){return S(rs,e,t,0,n)}),rc=w(function(e,t){return R(ru,w(function(t,n){return $(J,e(t),n)}),U,t)}),rl=w(function(e,t){return $(eB,function(t){return eH(e(t))},t)}),rd=y(function(e,t,n){return $(eB,function(t){return $(eB,function(n){return eH($(e,t,n))},n)},t)}),rf=function(e){return R(ru,rd(J),eH(U),e)},rh=w(function(e,t){return ez($(eB,eZ(e),t))});ej.Task=eW(ro,y(function(e,t,n){return $(rl,function(e){return 0},rf($(rc,rh(e),t)))}),y(function(e,t,n){return eH(0)}),w(function(e,t){return $(rl,e,t)}));var rv=eK("Task"),rb=w(function(e,t){return rv($(rl,e,t))}),rg=function(e){return{$:0,a:e}},rp={$:1},rm={$:0},rw=function(e){return{$:9,a:e}},ry=function(e){return{$:56,a:e}},rx=y(function(e,t,n){return 0>_(n,e)?e:_(n,t)>0?t:n}),rC={$:-2},rI=rC,rA=(r=function(){return{fq:t6(),fH:{fJ:t1.pageXOffset,ek:t1.pageYOffset,dI:t0.documentElement.clientWidth,dU:t0.documentElement.clientHeight}}},eV(function(e){tY(function(){e(eH(r()))})})),rE={aa:na,ah:na,di:!1,ax:rI,e:rI,cL:0,v:rI,D:rI,Z:U,ag:rI,ar:rI},r$=w(function(e,t){return{$:3,a:e,b:t}}),rR=function(e){return{$:0,a:e}},rS=w(function(e,t){return{$:4,a:e,b:t}}),rM={$:2},rP=function(e){return{$:1,a:e}},rL=function(e){return{$:0,a:e}},rT={$:1},rk=function(e){return!e.$},rO=eY,rH=w(function(e,t){for(;;)if(-2===t.$)return na;else{var n=t.b,r=t.c,a=t.d,i=t.e;switch($(N,e,n)){case 0:var o=e,s=a;e=o,t=s;continue;case 1:return nr(r);default:var o=e,s=i;e=o,t=s;continue}}}),rV=C(function(e,t,n,r,a){return{$:-1,a:e,b:t,c:n,d:r,e:a}}),rB=C(function(e,t,n,r,a){if(-1!==a.$||a.a)if(-1!==r.$||r.a||-1!==r.d.$||r.d.a)return M(rV,e,t,n,r,a);else{r.a;var i=r.b,o=r.c,s=r.d;s.a;var u=s.b,c=s.c,l=s.d,d=s.e,f=r.e;return M(rV,0,i,o,M(rV,1,u,c,l,d),M(rV,1,t,n,f,a))}a.a;var h=a.b,v=a.c,b=a.d,g=a.e;if(-1!==r.$||r.a)return M(rV,e,h,v,M(rV,0,t,n,r,b),g);r.a;var i=r.b,o=r.c,p=r.d,f=r.e;return M(rV,0,t,n,M(rV,1,i,o,p,f),M(rV,1,h,v,b,g))}),rF=y(function(e,t,n){if(-2===n.$)return M(rV,0,e,t,rC,rC);var r=n.a,a=n.b,i=n.c,o=n.d,s=n.e;switch($(N,e,a)){case 0:return M(rB,r,a,i,R(rF,e,t,o),s);case 1:return M(rV,r,a,t,o,s);default:return M(rB,r,a,i,o,R(rF,e,t,s))}}),r_=y(function(e,t,n){var r=R(rF,e,t,n);return -1!==r.$||r.a?r:(r.a,M(rV,1,r.b,r.c,r.d,r.e))}),rN=function(e){for(;;)if(-1!==e.$||-1!==e.d.$)return e;else{e=e.d;continue}},rz=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.e.d.$||e.e.d.a){var t=e.a,n=e.b,r=e.c,a=e.d;a.a;var i=a.b,o=a.c,s=a.d,u=a.e,c=e.e;c.a;var l=c.b,d=c.c,f=c.d,h=c.e;return M(rV,1,n,r,M(rV,0,i,o,s,u),M(rV,0,l,d,f,h))}var t=e.a,n=e.b,r=e.c,v=e.d;v.a;var i=v.b,o=v.c,s=v.d,u=v.e,b=e.e;b.a;var l=b.b,d=b.c,f=b.d;f.a;var g=f.b,p=f.c,m=f.d,w=f.e,h=b.e;return M(rV,0,g,p,M(rV,1,n,r,M(rV,0,i,o,s,u),m),M(rV,1,l,d,w,h))},rG=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.d.d.$||e.d.d.a){var t=e.a,n=e.b,r=e.c,a=e.d;a.a;var i=a.b,o=a.c,s=a.d,u=a.e,c=e.e;c.a;var l=c.b,d=c.c,f=c.d,h=c.e;return M(rV,1,n,r,M(rV,0,i,o,s,u),M(rV,0,l,d,f,h))}var t=e.a,n=e.b,r=e.c,v=e.d;v.a;var i=v.b,o=v.c,b=v.d;b.a;var g=b.b,p=b.c,m=b.d,w=b.e,u=v.e,y=e.e;y.a;var l=y.b,d=y.c,f=y.d,h=y.e;return M(rV,0,i,o,M(rV,1,g,p,m,w),M(rV,1,n,r,u,M(rV,0,l,d,f,h)))},rU=A(function(e,t,n,r,a,i,o){if(-1===i.$&&!i.a)return i.a,M(rV,n,i.b,i.c,i.d,M(rV,0,r,a,i.e,o));for(;;)if(-1===o.$&&1===o.a)if(-1!==o.d.$)return o.a,o.d,rG(t);else if(1===o.d.a)return o.a,o.d.a,rG(t);else break;else break;return t}),rD=function(e){if(-1!==e.$||-1!==e.d.$)return rC;var t=e.a,n=e.b,r=e.c,a=e.d,i=a.a,o=a.d,s=e.e;if(1!==i)return M(rV,t,n,r,rD(a),s);if(-1===o.$&&!o.a)return o.a,M(rV,t,n,r,rD(a),s);var u=rz(e);if(-1!==u.$)return rC;var c=u.a,l=u.b,d=u.c,f=u.d,h=u.e;return M(rB,c,l,d,rD(f),h)},rJ=w(function(e,t){if(-2===t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;if(!(0>_(e,r)))return $(rq,e,L(rU,e,t,n,r,a,i,o));if(-1!==i.$||1!==i.a)return M(rV,n,r,a,$(rJ,e,i),o);i.a;var s=i.d;if(-1===s.$&&!s.a)return s.a,M(rV,n,r,a,$(rJ,e,i),o);var u=rz(t);if(-1!==u.$)return rC;var c=u.a,l=u.b,d=u.c,f=u.d,h=u.e;return M(rB,c,l,d,$(rJ,e,f),h)}),rq=w(function(e,t){if(-1!==t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;if(!H(e,r))return M(rB,n,r,a,i,$(rJ,e,o));var s=rN(o);return -1===s.$?M(rB,n,s.b,s.c,i,rD(o)):rC}),rX=w(function(e,t){var n=$(rJ,e,t);return -1!==n.$||n.a?n:(n.a,M(rV,1,n.b,n.c,n.d,n.e))}),rj=y(function(e,t,n){var r=t($(rH,e,n));return r.$?$(rX,e,n):R(r_,e,r.a,n)}),rW=y(function(e,t,n){return t(e(n))}),rZ=w(function(e,t){return R(t7,"",n4,$(rW,t,e))}),rY=w(function(e,t){return t.$?nf(e(t.a)):ng(t.a)}),rK=function(e){return{$:4,a:e}},rQ={$:2},r0={$:1},r1=w(function(e,t){switch(t.$){case 0:return nf({$:0,a:t.a});case 1:return nf(r0);case 2:return nf(rQ);case 3:return nf({$:3,a:t.a.gN});default:return $(rY,rK,e(t.b))}}),r2=w(function(e,t){return $(rZ,e,r1(function(e){return $(rY,nB,$(eE,t,e))}))}),r4={$:0},r3=w(function(e,t){return{$:0,a:e,b:t}}),r6=function(e){return{$:1,a:e}},r5=w(function(e,t){return{fj:e,fB:t}}),r8=eH($(r5,rI,U)),r7=function(e){return eV(function(t){var n=e.f;2===n.$&&n.c&&n.c(),e.f=null,t(eH(0))})},r9=y(function(e,t,n){for(;;)if(!t.b)return eH(n);else{var r=t.a,a=t.b;if(r.$){var i=r.a;return $(eB,function(t){var r=i.fE;return 1===r.$?R(r9,e,a,n):R(r9,e,a,R(r_,r.a,t,n))},ez(R(t8,e,eZ(e),i)))}var o=r.a,s=$(rH,o,n);if(1!==s.$)return $(eB,function(t){return R(r9,e,a,$(rX,o,n))},r7(s.a));var u=n;t=a,n=u;continue}}),ae=x(function(e,t,n,r){return $(eB,function(e){return eH($(r5,e,n))},R(r9,e,t,r.fj))}),at=y(function(e,t,n){var r=e(t);return r.$?n:$(J,r.a,n)}),an=w(function(e,t){return R(ru,at(e),U,t)}),ar=x(function(e,t,n,r){var a=r.a,i=r.b;return H(t,a)?nr($(eZ,e,i(n))):na}),aa=y(function(e,t,n){return $(eB,function(e){return eH(n)},rf($(an,R(ar,e,t.a,t.b),n.fB)))}),ai=w(function(e,t){if(t.$){var n=t.a;return r6({fM:n.fM,eq:n.eq,dQ:$(t9,e,n.dQ),eP:n.eP,gj:n.gj,gY:n.gY,fE:n.fE,aM:n.aM})}return{$:0,a:t.a}}),ao=w(function(e,t){return{$:0,a:e,b:t}});ej.Http=eW(r8,ae,aa,ai,w(function(e,t){return $(ao,t.a,$(rW,t.b,e))}));var as=eK("Http");eK("Http");var au=y(function(e,t,n){var r;return as(r6({fM:!1,eq:(r={eq:r4,dQ:t,eP:$(rc,r3("Accept"),e),gj:"GET",gY:na,fE:na,aM:n}).eq,dQ:r.dQ,eP:r.eP,gj:r.gj,gY:r.gY,fE:r.fE,aM:r.aM}))}),ac=function(e){return{$:3,b:e}},al=function(e){return{$:11,g:e}},ad=w(function(e,t){for(;;)if(!t.b)return!1;else{var n=t.a,r=t.b;if(e(n))return!0;t=r;continue}}),af=y(function(e,t,n){return $(nm,t,$(nw,e,n))}),ah=w(function(e,t){return H(t,e)||H(t,R(af,"http://","https://",e))}),av=function(e){return{$:1,a:e}},ab="http://iiif.io/api/presentation/2/context.json",ag="http://iiif.io/api/presentation/3/context.json",ap=w(function(e,t){return{$:0,a:e,b:t}}),am=w(function(e,t){return{$:0,a:e,b:t}}),aw=w(function(e,t){return{$:0,a:e,b:t}}),ay=w(function(e,t){return{$:0,a:e,b:t}}),ax=function(e){return{$:2,a:e}},aC=function(e){return{$:1,a:e}},aI=function(e){return{$:0,a:e}},aA=function(e){return{$:3,a:e}},aE=y(function(e,t,n){return e(t(n))}),a$=E(function(e,t,n,r,a,i,o,s){return{dd:s,dU:r,f7:e,cF:a,dX:t,gW:i,g2:o,dI:n}}),aR=function(e){return al(q([$(ex,nr,e),n1(na)]))},aS=w(function(e,t){return R(eC,w(function(e,t){return t(e)}),e,t)}),aM=x(function(e,t,n,r){var a=al(q([$(ep,e,t),n1(n)]));return $(aS,a,r)}),aP=y(function(e,t,n){return $(aS,$(ep,e,t),n)}),aL=function(e){if(!e.b)return na;var t=e.a;return e.b,nr(t)},aT=function(e){return al(q([$(ex,aL,ac(e)),$(ex,nr,e)]))},ak=w(function(e,t){return R(ru,ep,t,e)}),aO=w(function(e,t){return t.b?R(ru,J,t,e):e}),aH=function(e){return R(ru,aO,U,e)},aV=C(function(e,t,n,r,a){return{f7:e,eT:n,dX:t,ft:r,gK:a}}),aB=w(function(e,t){return $(aS,e,t)}),aF=w(function(e,t){return $(aS,n1(e),t)}),a_=function(e){return{$:2,a:e}},aN=w(function(e,t){return t.$?na:e(t.a)}),az=w(function(e,t){return t.$?na:nr(e(t.a))}),aG=w(function(e,t){return t.$?e:t.a}),aU=function(e){var t=e.fe,n=e.eR,r=e.fa,a=e.s,i=e.gz,o=t?"https://":"http://",s=i.$?a:a+"?"+i.a;return{dc:$(aG,G(o,n),$(az,function(e){return o+(n+":")+el(e)},r)),s:a,d4:$(nw,"/",a),du:s}},aD=A(function(e,t,n,r,a,i,o){return{dR:o,eR:e,Y:t,d7:i,cU:n,bg:a,fw:r}}),aJ=function(e){return{$:1,a:e}},aq=y(function(e,t,n){if(1===t.$)return na;var r=t.a;return 1===n.$?na:nr($(e,r,n.a))}),aX=w(function(e,t){return R(aq,nJ,t,e)}),aj=function(e){var t=$(nw,".",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.b.a;return"jpg"===n?nr(0):"tif"===n?nr(1):"png"===n?nr(2):"gif"===n?nr(4):"jp2"===n?nr(3):"pdf"===n?nr(5):"webp"===n?nr(6):na},aW={$:0},aZ={$:1},aY=function(e){return"full"===e?nr(aW):"square"===e?nr(aZ):na},aK=w(function(e,t){for(;;)if(!e.b)return na;else{var n=e.a,r=e.b,a=n(t);if(!a.$)return nr(a.a);var i=t;e=r,t=i;continue}}),aQ=function(e){if(0===e.length||/[\sxbo]/.test(e))return na;var t=+e;return t==t?nr(t):na},a0=function(e){var t=$(an,aQ,$(nw,",",$(n8,4,e)));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return na;var n=t.a,r=t.b,a=r.a,i=r.b,o=i.a;return nr({$:3,a:{dn:i.b.a,dH:o,fJ:n,ek:a}})},a1=function(e){var t=$(an,re,$(nw,",",e));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return na;var n=t.a,r=t.b,a=r.a,i=r.b,o=i.a;return nr({$:2,a:{dn:i.b.a,dH:o,fJ:n,ek:a}})},a2=function(e){return{$:5,a:e}},a4=function(e){return $(es,"^,",e)?$(az,a2,re($(n8,2,e))):na},a3=function(e){return{$:7,a:e}},a6=function(e){return $(es,"^pct:",e)?$(az,a3,aQ($(n8,5,e))):na},a5=function(e){return{$:11,a:e}},a8=w(function(e,t){return{a:e,b:t}}),a7=function(e){var t=$(nw,",",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.a,r=t.b.a;return R(aq,a8,re(n),re(r))},a9=function(e){return $(es,"^!",e)?$(az,a5,a7($(n8,2,e))):na},ie=function(e){return{$:9,a:e}},it=function(e){return $(es,"^",e)?$(az,ie,a7($(n8,1,e))):na},ir=function(e){return{$:3,a:e}},ia=w(function(e,t){return e<1?t:R(ea,0,-e,t)}),ii=function(e){return $(eu,",",e)&&$(es,"^",e)?$(az,ir,re($(n8,1,$(ia,1,e)))):na},io=function(e){return{$:4,a:e}},is=function(e){return $(es,",",e)?$(az,io,re($(n8,1,e))):na},iu={$:1},ic={$:0},il=function(e){return"max"===e||"full"===e?nr(ic):"^max"===e?nr(iu):na},id=function(e){return{$:6,a:e}},ih=function(e){return $(es,"pct:",e)?$(az,id,aQ($(n8,4,e))):na},iv=function(e){return{$:10,a:e}},ib=function(e){return $(es,"!",e)?$(az,iv,a7($(n8,1,e))):na},ig=function(e){return{$:8,a:e}},ip=function(e){var t=$(nw,",",e);return t.b&&t.b.b&&!t.b.b.b?(t.b,$(az,ig,a7(e))):na},im=function(e){return{$:2,a:e}},iw=function(e){return $(eu,",",e)?$(az,im,re($(ia,1,e))):na},iy=function(e){var t=$(nw,".",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.a;return t.b,"default"===n?nr(3):"native"===n?nr(4):"color"===n?nr(0):"gray"===n?nr(1):"bitonal"===n?nr(2):na},ix=function(e){return{$:1,a:e}},iC=function(e){return $(es,"!",e)?$(az,ix,aQ($(n8,1,e))):na},iI=function(e){return{$:0,a:e}},iA=function(e){return $(az,iI,aQ(e))},iE=w(function(e,t){var n=nO(t);if(!n.b||!n.b.b||!n.b.b.b||!n.b.b.b.b)return na;var r=n.a,a=n.b,i=a.a,o=a.b,s=o.a,u=o.b,c=u.a,l=$(nm,"/",nO(u.b));return $(az,aJ,$(aX,aj(r),$(aX,iy(r),$(aX,$(aK,q([iA,iC]),i),$(aX,$(aK,q([il,iw,ii,is,a4,ih,a6,ip,it,ib,a9]),s),$(aX,$(aK,q([aY,a1,a0]),c),nr($(aD,e,l))))))))}),i$=function(e){return{$:0,a:e}},iR=w(function(e,t){return R(ru,w(function(t,n){return e(t)?$(J,t,n):n}),U,t)}),iS=w(function(e,t){return $(iR,F(e),t)}),iM=w(function(e,t){return nr(i$({eR:e,Y:$(nm,"/",$(iS,"info.json",t))}))}),iP=w(function(e,t){return aH($(rc,e,t))}),iL=(a=q(["color","gray","bitonal","default","native"]),i=q(["jpg","tif","png","gif","jp2","pdf","webp"]),$(rc,nm("."),(o=q([a,i]),R(ru,w(function(e,t){return $(iP,function(e){return $(rc,J(e),t)},e)}),q([U]),o)))),iT=w(function(e,t){return nr(a_({eR:e,Y:t}))}),ik=function(e){var t=aU(e),n=t.dc,r=t.s,a=t.d4,i=t.du;return $(ad,function(e){return $(eu,e,r)},iL)?$(iE,n,a):$(eu,"info.json",r)?$(iM,n,a):$(iT,n,i)},iO=function(e){return $(aN,ik,ri(e))},iH=function(e){var t=iO(e);return t.$||2!==t.a.$?av("Could not decode static image Url"):n1(a_(t.a.a))},iV=function(e){switch(e.$){case 0:default:return e;case 1:var t=e.a;return i$({eR:t.eR,Y:t.Y})}},iB=function(e){var t=iO(e);return t.$?av("Could not decode image Url"):2===t.a.$?n1(i$(t.a.a)):n1(iV(t.a))},iF=w(function(e,t){return $(ad,function(t){return H(t,e)},t)}),i_="http://iiif.io/api/image/2/context.json",iN=function(e){if($(ah,i_,e))return 1;if($(ah,"http://iiif.io/api/image/3/context.json",e))return 2;switch(e){case"AuthLogoutService1":return 6;case"AuthTokenService1":return 5;case"AutoCompleteService1":return 4;case"ImageService1":return 0;case"ImageService2":return 1;case"ImageService3":return 2;case"SearchService1":return 3;default:return 7}},iz=al(q([$(ex,iN,$(ep,"@type",eg)),$(ex,iN,$(ep,"type",eg)),$(ex,function(e){return $(ah,"http://library.stanford.edu/iiif/image-api/1.1/context.json",e)||$(ah,"http://iiif.io/api/image/1/context.json",e)?0:$(ah,i_,e)?1:iN(e)},$(ep,"@context",eg))])),iG=$(ey,function(e){return $(iF,e,q([0,1,2]))?$(ep,"@id",eg):av("Not an Image API service")},iz),iU=$(ey,function(e){return e.$?av("No Image API service ID found"):iB(e.a)},$(ep,"service",al(q([$(ex,function(e){return aL($(an,n4,e))},ac(aR(iG))),$(ex,nr,iG)])))),iD=al(q([iU,$(ey,iH,$(ep,"@id",eg))])),iJ=function(e){return q([e])},iq=al(q([$(ep,"service",ac(eb)),$(ep,"service",$(ex,iJ,eb)),n1(U)])),iX=al(q([$(ep,"service",al(q([$(ex,an(n4),ac(aR(iz))),$(ex,iJ,iz)]))),n1(U)])),ij=function(e){return{$:8,b:e}},iW=w(function(e,t){return{$:0,a:e,b:t}}),iZ={$:1},iY=function(e){return"none"===e?iZ:rg(e)},iK=function(e){var t=e.a,n=e.b;return $(iW,iY(t),n)},iQ=$(ex,function(e){return R(nx,w(function(e,t){return $(J,iK(e),t)}),U,e)},ij(ac(eg))),i0={$:2},i1=$(ex,function(e){return q([$(iW,i0,q([e]))])},eg),i2=R(eC,w(function(e,t){return q([$(iW,iY(t),q([e]))])}),$(ep,"@value",eg),al(q([$(ep,"@language",eg),n1("none")]))),i4=$(ex,aH,ac(i2)),i3=al(q([i2,i4,i1,iQ])),i6=$(aB,iq,$(aB,iX,$(aF,0,S(aM,"label",aR(i3),na,$(aB,iD,n1(aV)))))),i5=R(eC,J,$(ak,q(["default"]),i6),$(ak,q(["item"]),ac($(aB,iq,$(aB,iX,$(aF,1,S(aM,"label",aR(i3),na,$(aB,iD,n1(aV))))))))),i8=al(q([ac($(ak,q(["resource"]),i6)),$(ex,aH,ac($(ak,q(["resource"]),i5)))])),i7=function(e){return{$:0,a:e}},i9=al(q([$(ex,i7,$(ep,"@id",eg)),$(ex,i7,$(ep,"id",eg)),$(ex,i7,eg)])),oe=function(e){var t=aU(e);return a_({eR:t.dc,Y:t.du})},ot=function(e){var t=ri(e);return t.$?av("Could not decode static image Url"):n1(oe(t.a))},on=al(q([iU,$(ey,ot,$(ep,"@id",eg))])),or=$(aB,iq,$(aB,iX,$(aF,0,S(aM,"label",aR(i3),na,$(aB,on,n1(aV)))))),oa=function(e){return{$:0,a:e}},oi=function(e){switch(e){case"continuous":return 2;case"facing-pages":return 6;case"individuals":return 1;case"multi-part":return 3;case"non-paged":return 4;case"paged":default:return 0;case"top":return 5}},oo=$(ex,function(e){return oa(oi(e))},eg),os=S(aM,"otherContent",ac(i9),U,S(aM,"viewingHint",aR(oo),na,S(aM,"thumbnail",aT(or),na,S(aM,"images",i8,U,S(aM,"height",aR(ef),na,S(aM,"width",aR(ef),na,S(aM,"label",aR(i3),na,R(aP,"@id",eg,n1(a$))))))))),ou=x(function(e,t,n,r){return{f7:e,aH:n,dX:t,d_:r}}),oc=function(e){return{$:0,a:e}},ol=function(e){return{$:1,a:e}},od=q([$(iW,i0,q(["Homepage"]))]),of=function(e){return $(ey,e,n1(0))},oh=w(function(e,t){return{dX:e,fG:t}}),ov=R(aP,"value",i3,R(aP,"label",i3,n1(oh)));function ob(){return S(aM,"metadata",ac(ov),U,$(aB,og(),S(aM,"label",i3,od,R(aP,"@id",eg,n1(ou)))))}function og(){return R(eC,w(function(e,t){return G($(rc,ol,e),$(rc,oc,t))}),al(q([$(ep,"ranges",ac(op())),n1(U)])),al(q([$(ep,"canvases",ac(eg)),n1(U)])))}function op(){return of(function(e){return ob()})}var om=ob();ob=function(){return om};var ow=og();og=function(){return ow};var oy=op();op=function(){return oy};var ox=x(function(e,t,n,r){return{f7:e,aH:r,dX:t,gR:n}}),oC=function(e){return{$:1,a:e}},oI=function(e){return{$:0,a:e}},oA=function(e){return function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return function(u){return function(c){return function(l){return function(d){return function(f){return{es:o,f6:u,f7:e,dX:t,ge:c,d_:n,ff:l,fh:s,fm:f,gR:a,gW:d,g1:r,g2:i}}}}}}}}}}}}}},oE=x(function(e,t,n,r){return{dR:n,f7:e,dX:t,g_:r}}),o$=function(e){return{$:1,a:e}},oR=function(e){return{$:1,a:e}},oS={$:0},oM=$(ex,function(e){return"image/jpeg"===e?oS:o$(e)},eg),oP={$:0},oL=$(ex,function(e){return"Video"===e?oP:oR(e)},eg),oT=S(aM,"@type",oL,oR("Text"),S(aM,"format",oM,o$("text/html"),S(aM,"label",i3,od,R(aP,"@id",eg,n1(oE))))),ok=al(q([ac(oT),$(ex,iJ,oT)])),oO=$(aF,na,S(aM,"thumbnail",aT(or),na,$(aF,na,$(aF,na,S(aM,"rendering",aR(ok),na,$(aF,na,$(aF,U,$(aF,oa(1),S(aM,"description",aR(i3),na,$(aF,0,$(aF,U,R(aP,"label",i3,R(aP,"@id",eg,n1(oA)))))))))))))),oH=function(e){switch(e){case"sc:Collection":return $(ex,oI,of(function(e){return oV()}));case"sc:Manifest":return $(ex,oC,oO);default:return av("Unknown collection item type: "+e)}};function oV(){return $(aB,oB(),S(aM,"description",aR(i3),na,R(aP,"label",i3,R(aP,"@id",eg,n1(ox)))))}function oB(){return al(q([$(ep,"members",ac(oF())),R(eC,w(function(e,t){return G(e,t)}),al(q([$(ep,"collections",ac($(ex,oI,of(function(e){return oV()})))),n1(U)])),al(q([$(ep,"manifests",ac($(ex,oC,oO))),n1(U)])))]))}function oF(){return $(ey,oH,$(ep,"@type",eg))}var o_=oV();oV=function(){return o_};var oN=oB();oB=function(){return oN};var oz=oF();oF=function(){return oz};var oG=R(aP,"value",iQ,R(aP,"label",iQ,n1(oh))),oU=al(q([$(ex,function(e){return{dX:q([$(iW,i0,q(["Attribution"]))]),fG:q([$(iW,i0,q([e]))])}},eg),oG,ov])),oD=$(em,0,$(ak,q(["canvases"]),ac(os))),oJ=$(ex,function(e){switch(e){case"bottom-to-top":return 3;case"left-to-right":default:return 0;case"right-to-left":return 1;case"top-to-bottom":return 2}},eg),oq=S(aM,"attribution",aR(oU),na,S(aM,"thumbnail",aT(or),na,$(aF,na,S(aM,"logo",aR(i6),na,S(aM,"rendering",aR(ok),na,S(aM,"structures",aR(ac(oy)),na,R(aP,"sequences",oD,S(aM,"viewingHint",oo,oa(1),S(aM,"description",aR(i3),na,S(aM,"viewingDirection",oJ,0,S(aM,"metadata",ac(ov),U,R(aP,"label",i3,R(aP,"@id",eg,n1(oA)))))))))))))),oX=$(ey,function(e){switch(e){case"sc:Canvas":return $(ex,$(aE,ax,ap(1)),os);case"sc:Collection":return $(ex,$(aE,aC,am(1)),o_);case"sc:Manifest":return $(ex,$(aE,aI,aw(1)),oq);case"sc:Range":return $(ex,$(aE,aA,ay(1)),oy);default:return av("Unknown IIIF v2 resource type: "+e)}},$(ep,"@type",eg)),oj=function(e){return{$:1,a:e}},oW=$(ex,oj,ac($(ex,function(e){switch(e){case"auto-advance":return 0;case"continuous":return 6;case"facing-pages":return 8;case"hidden":return 15;case"individuals":return 5;case"multi-part":return 10;case"no-auto-advance":return 1;case"no-nav":return 14;case"no-repeat":return 3;case"non-paged":return 9;case"paged":default:return 7;case"repeat":return 2;case"sequence":return 12;case"thumbnail-nav":return 13;case"together":return 11;case"unordered":return 4}},eg))),oZ=w(function(e,t){for(;;)if(!t.b)return na;else{var n=t.a,r=t.b;if(e(n))return nr(n);t=r;continue}}),oY=w(function(e,t){return{f7:e,gL:t}}),oK=$(ex,iN,al(q([$(ep,"@type",eg),$(ep,"type",eg)]))),oQ=$(aB,oK,$(aB,al(q([$(ep,"id",eg),$(ep,"@id",eg)])),n1(oY))),o0=al(q([ac(oQ),$(ex,iJ,oQ)])),o1=$(ey,function(e){var t=$(az,function(e){return e.f7},$(oZ,function(e){return $(iF,e.gL,q([0,1,2]))},e));return t.$?av("No valid service ID found in service array"):$(ex,iV,iB(t.a))},$(ep,"service",o0)),o2=al(q([o1,$(ey,iH,$(ep,"id",eg))])),o4=al(q([iQ,i1])),o3=al(q([ac(eb),$(ex,iJ,eb)])),o6=al(q([ac(oK),$(ex,iJ,oK)])),o5=function(e){return S(aM,"service",o3,U,S(aM,"service",o6,U,$(aF,e,S(aM,"label",aR(o4),na,$(aB,o2,n1(aV))))))},o8=$(ak,q(["body","items"]),ac(o5(1))),o7=$(ex,iJ,$(ep,"body",o5(0))),o9=$(ey,function(e){return"Choice"===e?o8:o7},$(ak,q(["body","type"]),eg)),se=$(ak,q(["items"]),$(em,0,o9)),st=al(q([$(ex,function(e){return{$:1,a:e}},$(ep,"items",eb)),$(ex,i7,$(ep,"id",eg))])),sn=al(q([o1,$(ey,ot,$(ep,"id",eg))])),sr=S(aM,"service",o3,U,S(aM,"service",o6,U,$(aF,0,S(aM,"label",aR(o4),na,$(aB,sn,n1(aV)))))),sa=S(aM,"annotations",ac(st),U,S(aM,"behavior",aR(oW),na,S(aM,"thumbnail",aT(sr),na,R(aP,"items",$(em,0,se),R(aP,"height",aR(ef),R(aP,"width",aR(ef),S(aM,"label",aR(iQ),na,R(aP,"id",eg,n1(a$))))))))),si=q([$(iW,i0,q(["Homepage"]))]),so=function(e){switch(e){case"Canvas":return $(ex,oc,$(ep,"id",eg));case"Range":return $(ex,ol,ss());default:return av("Unsupported range item type")}};function ss(){return S(aM,"metadata",ac(oG),U,S(aM,"items",ac(su()),U,S(aM,"label",iQ,si,R(aP,"id",eg,n1(ou)))))}function su(){return $(ey,so,$(ep,"type",eg))}var sc=ss();ss=function(){return sc};var sl=su();su=function(){return sl};var sd=function(e){return!e.b},sf=S(aM,"type",oL,oR("Text"),S(aM,"format",oM,o$("text/html"),S(aM,"label",iQ,si,R(aP,"id",eg,n1(oE))))),sh=$(aF,na,S(aM,"thumbnail",aT(sr),na,$(aF,na,$(aF,na,S(aM,"homepage",aR(ac(sf)),na,$(aF,na,$(aF,U,$(aF,oj(q([5])),S(aM,"summary",aR(iQ),na,$(aF,0,$(aF,U,R(aP,"label",o4,R(aP,"id",eg,n1(oA)))))))))))))),sv=function(e){switch(e){case"Collection":return $(ex,oI,of(function(e){return sb()}));case"Manifest":return $(ex,oC,sh);default:return av("Unknown collection item type: "+e)}};function sb(){return $(aB,sg(),S(aM,"summary",aR(iQ),na,R(aP,"label",o4,R(aP,"id",eg,n1(ox)))))}function sg(){return S(eI,y(function(e,t,n){return sd(e)?G(t,n):G(e,G(t,n))}),al(q([$(ep,"items",ac(sp())),n1(U)])),al(q([$(ep,"collections",ac($(ex,oI,of(function(e){return sb()})))),n1(U)])),al(q([$(ep,"manifests",ac($(ex,oC,sh))),n1(U)])))}function sp(){return $(ey,sv,$(ep,"type",eg))}var sm=sb();sb=function(){return sm};var sw=sg();sg=function(){return sw};var sy=sp();sp=function(){return sy};var sx=I(function(e,t,n,r,a,i){return{f6:r,f7:e,dX:t,ge:a,gH:i,g_:n}}),sC=A(function(e,t,n,r,a,i,o){return{dR:n,dU:i,f7:e,dX:t,ft:o,g_:r,dI:a}}),sI=q([$(iW,i0,q(["Logo"]))]),sA=S(aM,"service",aR(o0),na,S(aM,"height",ef,0,S(aM,"width",ef,0,S(aM,"type",oL,oR("Image"),S(aM,"format",oM,o$("image/png"),S(aM,"label",iQ,sI,R(aP,"id",eg,n1(sC)))))))),sE=S(aM,"seeAlso",aR(ac(R(aP,"type_",oL,R(aP,"format",oM,R(aP,"label",o4,R(aP,"id",eg,n1(x(function(e,t,n,r){return{dR:n,f7:e,dX:t,g_:r}})))))))),na,S(aM,"logo",aR(ac(sA)),na,S(aM,"homepage",aR(ac(sf)),na,R(aP,"type",oL,R(aP,"label",iQ,R(aP,"id",eg,n1(sx))))))),s$=S(aM,"requiredStatement",aR(oG),na,S(aM,"thumbnail",aT(sr),na,S(aM,"provider",aR(ac(sE)),na,S(aM,"logo",aR(o5(0)),na,S(aM,"homepage",aR(ac(sf)),na,S(aM,"structures",aR(ac(sc)),na,R(aP,"items",ac(sa),S(aM,"behavior",oW,oj(q([5])),S(aM,"summary",aR(iQ),na,S(aM,"viewingDirection",oJ,0,S(aM,"metadata",ac(oG),U,R(aP,"label",o4,R(aP,"id",eg,n1(oA)))))))))))))),sR=$(ey,function(e){switch(e){case"Canvas":return $(ex,$(aE,ax,ap(2)),sa);case"Collection":return $(ex,$(aE,aC,am(2)),sm);case"Manifest":return $(ex,$(aE,aI,aw(2)),s$);case"Range":return $(ex,$(aE,aA,ay(2)),sc);default:return av("Unknown IIIF v3 resource type: "+e)}},$(ep,"type",eg)),sS=al(q([$(ey,function(e){return $(ah,ag,e)?sR:$(ah,ab,e)?oX:av("Unknown resource context value: "+e)},$(ep,"@context",eg)),$(ey,function(e){return $(ad,ah(ag),e)?sR:$(ad,ah(ab),e)?oX:av("Context values contain an unknown IIIF version: "+$(nm,", ",e))},$(ep,"@context",ac(eg)))])),sM=y(function(e,t,n){return R(au,t,$(r2,e,sS),n)}),sP={aN:!1,bm:10,bn:15,aO:0,bo:!1,aP:0,az:!1,aQ:8,aR:0,bp:!1,aS:0,bq:!1,aT:0,br:!1,aU:0,aA:!1,aV:8,aW:0,bs:!1,aX:0,bt:!1,aY:0,bu:!1,aZ:0,aB:!1,a_:8,a$:0,bv:!1,a0:0,bw:!1,bx:0,cj:!1,by:0,ck:!1,bz:0,cl:!1,bA:0,cm:!1,bB:1,N:!1,cp:!1,bC:"#ffffff",bD:"#ffffff",bE:24,bF:128,a4:!1,bG:"gray",bH:1,cq:!1,cr:!1,bI:"sharpen",cv:!1,bO:1,cw:!1,a7:!1,cz:!1,bP:0,cB:!1,cH:!1,bb:!1,bT:3,bU:"erode",cN:!1,bV:1,bW:0,bX:"pca-rgb",bY:1,ae:!1,bZ:1,b_:"rg",b$:1,bg:0,b1:0,cW:!1,b8:128,c1:!1,ca:1,c6:!1,cc:0,c8:!1},sL=function(e){switch(e){case"contents":return 3;case"metadata":return 2;default:return 1}},sT=function(e){return{$:5,c:e}},sk=function(e){return{$:0,a:e}},sO=function(e){return{$:1,a:e}},sH=function(e){return{$:3,a:e}},sV=function(e){return{$:4,a:e}},sB=function(e){return{$:5,a:e}},sF=function(e){return{$:1,a:e}},s_=w(function(e,t){return{$:2,a:e,b:t}}),sN={$:14},sz=w(function(e,t){return{$:3,a:e,b:t}}),sG=y(function(e,t,n){return{$:2,a:e,b:t,c:n}}),sU=w(function(e,t){return{$:0,a:e,b:t}}),sD=y(function(e,t,n){return{$:4,a:e,b:t,c:n}}),sJ=w(function(e,t){return{$:9,a:e,b:t}}),sq=y(function(e,t,n){return{$:8,a:e,b:t,c:n}}),sX=function(e){return{$:12,a:e}},sj=function(e){return{$:28,a:e}},sW=function(e){return{$:29,a:e}},sZ={$:30},sY={$:31},sK=function(e){return{$:57,a:e}},sQ=function(e){return{$:55,a:e}},s0=e8("authDestroyed",sT(0)),s1=e8("authHttpFailed",$(ey,function(e){return $(ey,function(t){return n1({f7:t,ac:e})},$(ep,"id",eg))},$(ep,"message",eg))),s2=e8("authHttpResponded",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({eq:n,f7:t,dE:e})},$(ep,"body",eg))},$(ep,"id",eg))},$(ep,"status",ef))),s4=e8("authLogoutChanged",$(ey,function(e){return $(ey,function(t){return n1({fu:t,dE:e})},$(ep,"sessionId",eg))},$(ep,"status",eg))),s3=e8("authPopupChanged",$(ey,function(e){return $(ey,function(t){return n1({dl:t,dE:e})},$(ep,"flowId",eg))},$(ep,"status",eg))),s6=e8("authStorageResponded",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({dl:n,dr:t,fG:e})},$(ep,"flowId",eg))},$(ep,"now",ev))},$(ep,"value",al(q([sT(na),$(ex,nr,eb)]))))),s5=e8("authTokenFailed",$(ey,function(e){return $(ey,function(t){return n1({dl:t,ac:e})},$(ep,"flowId",eg))},$(ep,"message",eg))),s8=e8("authTokenMessage",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({dl:n,dr:t,fG:e})},$(ep,"flowId",eg))},$(ep,"now",ev))},$(ep,"value",eb))),s7=e8("fullscreenChanged",eh),s9=e8("layoutModeRequested",eg),ue={$:12},ut=function(e){return sk(function(){switch(e.dE){case"closed":return ue;case"opened":return{$:10,a:e.fu};default:return{$:11,a:e.fu}}}())},un=eQ(U),ur=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),ua=w(function(e,t){return{e9:t,fB:e}}),ui=eH($(ua,U,rI)),uo=function(e){return{a:G(e.a?"w_":"d_",e.b),b:e}},us=function(e){return R(nx,w(function(e,t){return R(r_,e.a,e.b,t)}),rI,e)},uu=y(function(e,t,n){for(;;)if(-2===n.$)return t;else{var r=n.b,a=n.c,i=n.d,o=n.e,s=e,u=R(e,r,a,R(uu,e,t,i));e=s,t=u,n=o;continue}}),uc=I(function(e,t,n,r,a,i){var o=y(function(r,a,i){for(;;){var o=i.a,s=i.b;if(o.b){var u=o.a,c=u.a,l=u.b,d=o.b;if(0>_(c,r)){var f=r,h=a,v={a:d,b:R(e,c,l,s)};r=f,a=h,i=v;continue}if(_(c,r)>0)return{a:o,b:R(n,r,a,s)};return{a:d,b:S(t,c,l,a,s)}}return{a:o,b:R(n,r,a,s)}}}),s=R(uu,o,{a:no(r),b:i},a),u=s.a,c=s.b;return R(nx,w(function(t,n){return R(e,t.a,t.b,n)}),c,u)}),ul=w(function(e,t){return{eF:t,ak:e}}),ud=y(function(e,t,n){return $(rl,function(e){return{a:t,b:e}},R(t2,n.a?t1:t0,n.b,function(n){return $(rO,e,$(ul,t,n))}))}),uf=w(function(e,t){return R(uu,r_,t,e)}),uh=y(function(e,t,n){var r=y(function(t,n,r){var a=r.a,i=r.b,o=r.c;return{a:a,b:i,c:$(J,R(ud,e,t,n),o)}}),a=y(function(e,t,n){var r,a=n.a,i=n.b,o=n.c;return r=$(J,t,a),{a:r,b:i,c:o}}),i=x(function(e,t,n,r){var a=r.a,i=r.b,o=r.c;return{a:a,b:R(r_,e,t,i),c:o}}),o=$(rc,uo,t),s=P(uc,a,i,r,n.e9,us(o),{a:U,b:rI,c:U}),u=s.a,c=s.b,l=s.c;return $(eB,function(e){return eH($(ua,o,$(uf,c,us(e))))},$(eB,function(e){return rf(l)},rf($(rc,r7,u))))}),uv=y(function(e,t,n){var r=t.ak,a=t.eF,i=$(an,function(e){var t=e.a,n=e.b;n.a,n.b;var i=n.c;return H(t,r)?$(t4,i,a):na},n.fB);return $(eB,function(e){return eH(n)},rf($(rc,eZ(e),i)))}),ub=w(function(e,t){return R(ur,t.a,t.b,$(ex,e,t.c))});ej["Browser.Events"]=eW(ui,uh,uv,0,ub);var ug=eK("Browser.Events"),up=y(function(e,t,n){return ug(R(ur,e,t,n))}),um=$(up,0,"mousemove"),uw=$(up,0,"mouseup"),uy=e8("pageIndexChanged",ef),ux=e8("pageIndexChangedInstant",ef),uC=function(e){return sk(function(){switch(e.dE){case"closed":return{$:7,a:e.dl};case"opened":return{$:5,a:e.dl};default:return{$:6,a:e.dl}}}())},uI=e8("resolveTileSourceCancelled",eg),uA=e8("resolveTileSourceRequested",$(ey,function(e){return $(ey,function(t){return n1({fl:t,b7:e})},$(ep,"requestId",eg))},$(ep,"sourceId",eg))),uE=e8("resourceRequested",$(ey,function(e){return $(ey,function(t){return n1({fl:t,aM:e})},$(ep,"requestId",eg))},$(ep,"url",eg))),u$=e8("viewerLoadingChanged",eh),uR=e8("viewerPageLoaded",ef),uS=e8("zoomChanged",ev),uM={$:0},uP=function(e){return{$:2,a:e}},uL=function(e){return{$:1,a:e}},uT=w(function(e,t){return{$:7,a:e,b:t}}),uk=w(function(e,t){return{$:8,a:e,b:t}}),uO=y(function(e,t,n){return{$:10,a:e,b:t,c:n}}),uH=w(function(e,t){for(;;)if(!t.b)return na;else{var n=t.a,r=t.b;if(e(n))return nr(n);t=r;continue}}),uV=function(e){var t=$(uH,function(e){return e.bR},e.cF);return t.$?aL(e.cF):nr(t.a)},uB=function(e){return!e},uF=function(e){return 1===e.$&&!sd(e.a.cS)},u_=w(function(e,t){return $(aN,function(e){return e.aG||uF(e.dh)?na:nr(e.b9)},$(aN,uV,aL($(iR,function(t){return H(t.M,e)},t.ap))))}),uN=w(function(e,t){return R(nx,w(function(t,n){return n.push(e(t)),n}),[],t)}),uz=function(e){return R(nx,w(function(e,t){return R(eO,e.a,e.b,t)}),{},e)},uG=e3("annotationsUpdated",function(e){return uz(q([{a:"annotations",b:uN(n4)(e.de)},{a:"canvasId",b:ek(e.M)}]))}),uU=e3("annotationsVisibilityUpdated",ek),uD=y(function(e,t,n){switch(e){case 0:return z(n,{aN:t});case 1:return z(n,{bo:t});case 2:return z(n,{az:t});case 3:return z(n,{bp:t});case 4:return z(n,{bq:t});case 5:return z(n,{br:t});case 6:return z(n,{aA:t});case 7:return z(n,{bs:t});case 8:return z(n,{bt:t});case 9:return z(n,{bu:t});case 10:return z(n,{aB:t});case 11:return z(n,{bv:t});case 12:return z(n,{bw:t});case 13:return z(n,{cj:t});case 14:return z(n,{ck:t});case 15:return z(n,{cl:t});case 16:return z(n,{cm:t});case 17:return z(n,{a4:t});case 18:return z(n,{N:t});case 19:return z(n,{cp:t});case 20:return z(n,{cq:t});case 21:return z(n,{cr:t});case 22:return z(n,{cv:t});case 23:return z(n,{cw:t});case 24:return z(n,{a7:t});case 25:return z(n,{cz:t});case 26:return z(n,{cB:t});case 27:return z(n,{cH:t});case 28:return z(n,{bb:t});case 29:return z(n,{cN:t});case 30:return z(n,{ae:t});case 31:return z(n,{cW:t});case 32:return z(n,{c1:t});case 33:return z(n,{c6:t});default:return z(n,{c8:t})}}),uJ=function(e){switch(e){case 0:return{b:function(e){return e.bB},f:1,g:0,c:w(function(e,t){return z(t,{bB:e})})};case 1:return{b:function(e){return e.bH},f:4,g:0,c:w(function(e,t){return z(t,{bH:e})})};case 2:return{b:function(e){return e.bO},f:4,g:.1,c:w(function(e,t){return z(t,{bO:e})})};case 3:return{b:function(e){return e.bV},f:2,g:0,c:w(function(e,t){return z(t,{bV:e})})};case 4:return{b:function(e){return e.bY},f:2,g:0,c:w(function(e,t){return z(t,{bY:e})})};case 5:return{b:function(e){return e.bZ},f:2,g:0,c:w(function(e,t){return z(t,{bZ:e})})};case 6:return{b:function(e){return e.b$},f:2,g:0,c:w(function(e,t){return z(t,{b$:e})})};default:return{b:function(e){return e.ca},f:3,g:0,c:w(function(e,t){return z(t,{ca:e})})}}},uq=y(function(e,t,n){var r=aQ(t),a=uJ(e),i=$(aG,a.b(n),$(az,$(rx,a.g,a.f),r));return $(a.c,i,n)}),uX=function(e){return $(W,2,e)?e:e+1},uj=function(e){return 3===e||5===e||7===e?e:3},uW=function(e){switch(e){case 0:return{b:function(e){return e.bm},f:50,g:-50,c:w(function(e,t){return z(t,{bm:e})}),i:na};case 1:return{b:function(e){return e.bn},f:51,g:3,c:w(function(e,t){return z(t,{bn:e})}),i:nr(uX)};case 2:return{b:function(e){return e.aY},f:100,g:0,c:w(function(e,t){return z(t,{aY:e})}),i:na};case 3:return{b:function(e){return e.a$},f:100,g:0,c:w(function(e,t){return z(t,{a$:e})}),i:na};case 4:return{b:function(e){return e.a0},f:100,g:0,c:w(function(e,t){return z(t,{a0:e})}),i:na};case 5:return{b:function(e){return e.aZ},f:100,g:-100,c:w(function(e,t){return z(t,{aZ:e})}),i:na};case 6:return{b:function(e){return e.a_},f:30,g:2,c:w(function(e,t){return z(t,{a_:e})}),i:na};case 7:return{b:function(e){return e.aT},f:100,g:0,c:w(function(e,t){return z(t,{aT:e})}),i:na};case 8:return{b:function(e){return e.aW},f:100,g:0,c:w(function(e,t){return z(t,{aW:e})}),i:na};case 9:return{b:function(e){return e.aU},f:100,g:-100,c:w(function(e,t){return z(t,{aU:e})}),i:na};case 10:return{b:function(e){return e.aV},f:30,g:2,c:w(function(e,t){return z(t,{aV:e})}),i:na};case 11:return{b:function(e){return e.aX},f:100,g:0,c:w(function(e,t){return z(t,{aX:e})}),i:na};case 12:return{b:function(e){return e.aO},f:100,g:0,c:w(function(e,t){return z(t,{aO:e})}),i:na};case 13:return{b:function(e){return e.aR},f:100,g:0,c:w(function(e,t){return z(t,{aR:e})}),i:na};case 14:return{b:function(e){return e.aP},f:100,g:-100,c:w(function(e,t){return z(t,{aP:e})}),i:na};case 15:return{b:function(e){return e.aQ},f:30,g:2,c:w(function(e,t){return z(t,{aQ:e})}),i:na};case 16:return{b:function(e){return e.aS},f:100,g:0,c:w(function(e,t){return z(t,{aS:e})}),i:na};case 17:return{b:function(e){return e.bx},f:255,g:-255,c:w(function(e,t){return z(t,{bx:e})}),i:na};case 18:return{b:function(e){return e.by},f:100,g:-100,c:w(function(e,t){return z(t,{by:e})}),i:na};case 19:return{b:function(e){return e.bz},f:100,g:-100,c:w(function(e,t){return z(t,{bz:e})}),i:na};case 20:return{b:function(e){return e.bA},f:100,g:-100,c:w(function(e,t){return z(t,{bA:e})}),i:na};case 21:return{b:function(e){return e.bF},f:255,g:0,c:w(function(e,t){return z(t,{bF:e})}),i:na};case 22:return{b:function(e){return e.bE},f:255,g:0,c:w(function(e,t){return z(t,{bE:e})}),i:na};case 23:return{b:function(e){return e.bW},f:180,g:-180,c:w(function(e,t){return z(t,{bW:e})}),i:na};case 24:return{b:function(e){return e.bP},f:100,g:-100,c:w(function(e,t){return z(t,{bP:e})}),i:na};case 25:return{b:function(e){return e.bT},f:7,g:3,c:w(function(e,t){return z(t,{bT:e})}),i:nr(uj)};case 26:return{b:function(e){return e.bg},f:180,g:-180,c:w(function(e,t){return z(t,{bg:e})}),i:na};case 27:return{b:function(e){return e.b1},f:100,g:-100,c:w(function(e,t){return z(t,{b1:e})}),i:na};case 28:return{b:function(e){return e.b8},f:255,g:0,c:w(function(e,t){return z(t,{b8:e})}),i:na};default:return{b:function(e){return e.cc},f:100,g:-100,c:w(function(e,t){return z(t,{cc:e})}),i:na}}},uZ=y(function(e,t,n){var r=re(t),a=uW(e),i=function(){if(r.$)return a.b(n);var e=r.a,t=R(rx,a.g,a.f,e),i=a.i;return i.$?t:(0,i.a)(t)}();return $(a.c,i,n)}),uY=w(function(e,t){return e}),uK=function(e){switch(e){case 0:return{b:function(e){return e.bG},c:w(function(e,t){return z(t,{bG:e})}),i:function(e){return $(iF,e,q(["gray","hot","cool"]))}};case 1:return{b:function(e){return e.bC},c:w(function(e,t){return z(t,{bC:e})}),i:uY(!0)};case 2:return{b:function(e){return e.bD},c:w(function(e,t){return z(t,{bD:e})}),i:uY(!0)};case 3:return{b:function(e){return e.bI},c:w(function(e,t){return z(t,{bI:e})}),i:function(e){return $(iF,e,q(["sharpen","blur","edge","emboss"]))}};case 4:return{b:function(e){return e.bX},c:w(function(e,t){return z(t,{bX:e})}),i:function(e){return $(iF,e,q(["pca-rgb","pca1","pca2","pca3"]))}};case 5:return{b:function(e){return e.bU},c:w(function(e,t){return z(t,{bU:e})}),i:function(e){return"erode"===e||"dilate"===e}};default:return{b:function(e){return e.b_},c:w(function(e,t){return z(t,{b_:e})}),i:function(e){return $(iF,e,q(["rg","gb","rb","luma","cmy","heat"]))}}}},uQ=y(function(e,t,n){var r=uK(e),a=r.i(t)?t:r.b(n);return $(r.c,a,n)}),u0=y(function(e,t,n){return n.$?e:t(n.a)}),u1=e3("filterPreviewUpdated",function(e){return R(u0,null,function(e){var t;return uz(q([{a:"aspect",b:ek(e.dg)},{a:"filters",b:uz(q([{a:"adaptiveEnabled",b:ek((t=e.eJ).aN)},{a:"adaptiveOffset",b:ek(t.bm)},{a:"adaptiveWindow",b:ek(t.bn)},{a:"altBlueGamma",b:ek(t.aO)},{a:"altBlueGammaEnabled",b:ek(t.bo)},{a:"altBlueHue",b:ek(t.aP)},{a:"altBlueHueEnabled",b:ek(t.az)},{a:"altBlueHueWindow",b:ek(t.aQ)},{a:"altBlueSigmoid",b:ek(t.aR)},{a:"altBlueSigmoidEnabled",b:ek(t.bp)},{a:"altBlueVibrance",b:ek(t.aS)},{a:"altBlueVibranceEnabled",b:ek(t.bq)},{a:"altGreenGamma",b:ek(t.aT)},{a:"altGreenGammaEnabled",b:ek(t.br)},{a:"altGreenHue",b:ek(t.aU)},{a:"altGreenHueEnabled",b:ek(t.aA)},{a:"altGreenHueWindow",b:ek(t.aV)},{a:"altGreenSigmoid",b:ek(t.aW)},{a:"altGreenSigmoidEnabled",b:ek(t.bs)},{a:"altGreenVibrance",b:ek(t.aX)},{a:"altGreenVibranceEnabled",b:ek(t.bt)},{a:"altRedGamma",b:ek(t.aY)},{a:"altRedGammaEnabled",b:ek(t.bu)},{a:"altRedHue",b:ek(t.aZ)},{a:"altRedHueEnabled",b:ek(t.aB)},{a:"altRedHueWindow",b:ek(t.a_)},{a:"altRedSigmoid",b:ek(t.a$)},{a:"altRedSigmoidEnabled",b:ek(t.bv)},{a:"altRedVibrance",b:ek(t.a0)},{a:"altRedVibranceEnabled",b:ek(t.bw)},{a:"brightness",b:ek(t.bx)},{a:"brightnessEnabled",b:ek(t.cj)},{a:"ccBlue",b:ek(t.by)},{a:"ccBlueEnabled",b:ek(t.ck)},{a:"ccGreen",b:ek(t.bz)},{a:"ccGreenEnabled",b:ek(t.cl)},{a:"ccRed",b:ek(t.bA)},{a:"ccRedEnabled",b:ek(t.cm)},{a:"colourReplaceBlend",b:ek(t.bB)},{a:"colourReplaceEnabled",b:ek(t.N)},{a:"colourReplacePreserveLum",b:ek(t.cp)},{a:"colourReplaceSource",b:ek(t.bC)},{a:"colourReplaceTarget",b:ek(t.bD)},{a:"colourReplaceTolerance",b:ek(t.bE)},{a:"colourmapCenter",b:ek(t.bF)},{a:"colourmapEnabled",b:ek(t.a4)},{a:"colourmapPreset",b:ek(t.bG)},{a:"contrast",b:ek(t.bH)},{a:"contrastEnabled",b:ek(t.cq)},{a:"convolutionEnabled",b:ek(t.cr)},{a:"convolutionPreset",b:ek(t.bI)},{a:"flip",b:ek(t.cv)},{a:"gamma",b:ek(t.bO)},{a:"gammaEnabled",b:ek(t.cw)},{a:"globalPcaEnabled",b:ek(t.a7)},{a:"grayscale",b:ek(t.cz)},{a:"hue",b:ek(t.bP)},{a:"hueEnabled",b:ek(t.cB)},{a:"invert",b:ek(t.cH)},{a:"morphEnabled",b:ek(t.bb)},{a:"morphKernel",b:ek(t.bT)},{a:"morphOperation",b:ek(t.bU)},{a:"normalizeEnabled",b:ek(t.cN)},{a:"normalizeStrength",b:ek(t.bV)},{a:"pcaHue",b:ek(t.bW)},{a:"pcaMode",b:ek(t.bX)},{a:"pseudoColourBlue",b:ek(t.bY)},{a:"pseudoColourEnabled",b:ek(t.ae)},{a:"pseudoColourGreen",b:ek(t.bZ)},{a:"pseudoColourMode",b:ek(t.b_)},{a:"pseudoColourRed",b:ek(t.b$)},{a:"rotation",b:ek(t.bg)},{a:"saturation",b:ek(t.b1)},{a:"saturationEnabled",b:ek(t.cW)},{a:"threshold",b:ek(t.b8)},{a:"thresholdEnabled",b:ek(t.c1)},{a:"unsharpAmount",b:ek(t.ca)},{a:"unsharpEnabled",b:ek(t.c6)},{a:"vibrance",b:ek(t.cc)},{a:"vibranceEnabled",b:ek(t.c8)}]))},{a:"isStatic",b:ek(e.aG)},{a:"sourceId",b:ek(e.b7)},{a:"tileSource",b:ek(e.b9)}]))},e)}),u2=e3("pageAspectsUpdated",uN(ek)),u4=e3("pageLabelsUpdated",uN(ek)),u3=e3("pagesUpdated",uN(function(e){var t;return uz(q([{a:"canvasId",b:ek(e.M)},{a:"height",b:R(u0,null,ek,e.dU)},{a:"images",b:uN(function(e){return uz(q([{a:"id",b:ek(e.f7)},{a:"isPrimary",b:ek(e.bR)},{a:"label",b:ek(e.dX)}]))})(e.cF)},{a:"index",b:ek(e.eU)},{a:"label",b:ek(e.dX)},{a:"primaryImage",b:uz(q([{a:"id",b:ek((t=e.fb).f7)},{a:"isPrimary",b:ek(t.bR)},{a:"label",b:ek(t.dX)}]))},{a:"width",b:R(u0,null,ek,e.dI)}]))})),u6=e3("tileSourcesUpdated",function(e){return uz(q([{a:"initialPageIndex",b:ek(e.dV)},{a:"resourceId",b:ek(e.d8)},{a:"tileSources",b:uN(function(e){return uz(q([{a:"canvasId",b:ek(e.M)},{a:"isStatic",b:ek(e.aG)},{a:"sourceId",b:ek(e.b7)},{a:"url",b:ek(e.aM)}]))})(e.ei)}]))}),u5=function(e){return eQ(q([u6({dV:0,d8:e,ei:U}),u3(U),u2(U),u4(U),u1(na),uG({de:U,M:""})]))},u8=e3("copyToClipboard",ek),u7=y(function(e,t,n){return e.$?n:$(t,e.a,n)}),u9=function(e){return e.$?na:nr(e.a)},ce=y(function(e,t,n){return $(aN,function(t){return u9($(e$,e,t))},$(rH,t,n))}),ct=w(function(e,t){return R(ce,eh,e,t)}),cn=w(function(e,t){return R(ce,al(q([ev,$(ex,nG,ef)])),e,t)}),cr=w(function(e,t){return R(ce,ef,e,t)}),ca=w(function(e,t){return R(ce,eg,e,t)}),ci=function(e){var t=$(cr,"vibrance",e),n=$(cn,"unsharpAmount",e),r=$(cr,"threshold",e),a=$(cr,"saturation",e),i=$(cr,"rotation",e),o=$(cn,"pseudoColourRed",e),s=$(ca,"pseudoColourMode",e),u=$(cn,"pseudoColourGreen",e),c=$(cn,"pseudoColourBlue",e),l=$(ca,"pcaMode",e),d=$(cr,"pcaHue",e),f=$(cn,"normalizeStrength",e),h=$(ca,"morphOperation",e),v=$(cr,"morphKernel",e),b=$(ct,"invert",e),g=$(cr,"hue",e),p=$(ct,"grayscale",e),m=$(cn,"gamma",e),y=$(ct,"flip",e),x=$(ca,"convolutionPreset",e),C=$(cn,"contrast",e),I=$(ca,"colourmapPreset",e),A=$(cr,"colourmapCenter",e),E=$(cr,"colourReplaceTolerance",e),S=$(ca,"colourReplaceTarget",e),M=$(ca,"colourReplaceSource",e),P=$(ct,"colourReplacePreserveLum",e),L=$(cn,"colourReplaceBlend",e),T=$(cr,"ccRed",e),k=$(cr,"ccGreen",e),O=$(cr,"ccBlue",e),H=$(cr,"brightness",e),V=$(cr,"altRedVibrance",e),B=$(cr,"altRedSigmoid",e),F=$(cr,"altRedHueWindow",e),_=$(cr,"altRedHue",e),N=$(cr,"altRedGamma",e),G=$(cr,"altGreenVibrance",e),U=$(cr,"altGreenSigmoid",e),D=$(cr,"altGreenHueWindow",e),J=$(cr,"altGreenHue",e),q=$(cr,"altGreenGamma",e),X=$(cr,"altBlueVibrance",e),j=$(cr,"altBlueSigmoid",e),W=$(cr,"altBlueHueWindow",e),Z=$(cr,"altBlueHue",e),Y=$(cr,"altBlueGamma",e),K=$(cr,"adaptiveWindow",e),Q=$(cr,"adaptiveOffset",e);return R(u7,X,w(function(e,t){return z(t,{aS:e,bq:!0})}),R(u7,W,w(function(e,t){return z(t,{az:!0,aQ:e})}),R(u7,Z,w(function(e,t){return z(t,{aP:e,az:!0})}),R(u7,j,w(function(e,t){return z(t,{aR:e,bp:!0})}),R(u7,Y,w(function(e,t){return z(t,{aO:e,bo:!0})}),R(u7,G,w(function(e,t){return z(t,{aX:e,bt:!0})}),R(u7,D,w(function(e,t){return z(t,{aA:!0,aV:e})}),R(u7,J,w(function(e,t){return z(t,{aU:e,aA:!0})}),R(u7,U,w(function(e,t){return z(t,{aW:e,bs:!0})}),R(u7,q,w(function(e,t){return z(t,{aT:e,br:!0})}),R(u7,V,w(function(e,t){return z(t,{a0:e,bw:!0})}),R(u7,F,w(function(e,t){return z(t,{aB:!0,a_:e})}),R(u7,_,w(function(e,t){return z(t,{aZ:e,aB:!0})}),R(u7,B,w(function(e,t){return z(t,{a$:e,bv:!0})}),R(u7,N,w(function(e,t){return z(t,{aY:e,bu:!0})}),R(u7,Q,w(function(e,t){return z(t,{aN:!0,bm:e})}),R(u7,K,w(function(e,t){return z(t,{aN:!0,bn:e})}),R(u7,f,w(function(e,t){return z(t,{cN:!0,bV:e})}),R(u7,n,w(function(e,t){return z(t,{ca:e,c6:!0})}),R(u7,P,w(function(e,t){return z(t,{N:!0,cp:e})}),R(u7,L,w(function(e,t){return z(t,{bB:e,N:!0})}),R(u7,E,w(function(e,t){return z(t,{N:!0,bE:e})}),R(u7,S,w(function(e,t){return z(t,{N:!0,bD:e})}),R(u7,M,w(function(e,t){return z(t,{N:!0,bC:e})}),R(u7,d,w(function(e,t){return z(t,{a7:!0,bW:e})}),R(u7,l,w(function(e,t){return z(t,{a7:!0,bX:e})}),R(u7,c,w(function(e,t){return z(t,{bY:e,ae:!0})}),R(u7,u,w(function(e,t){return z(t,{ae:!0,bZ:e})}),R(u7,o,w(function(e,t){return z(t,{ae:!0,b$:e})}),R(u7,s,w(function(e,t){return z(t,{ae:!0,b_:e})}),R(u7,A,w(function(e,t){return z(t,{bF:e,a4:!0})}),R(u7,I,w(function(e,t){return z(t,{a4:!0,bG:e})}),R(u7,x,w(function(e,t){return z(t,{cr:!0,bI:e})}),R(u7,v,w(function(e,t){return z(t,{bb:!0,bT:e})}),R(u7,h,w(function(e,t){return z(t,{bb:!0,bU:e})}),R(u7,O,w(function(e,t){return z(t,{by:e,ck:!0})}),R(u7,k,w(function(e,t){return z(t,{bz:e,cl:!0})}),R(u7,T,w(function(e,t){return z(t,{bA:e,cm:!0})}),R(u7,g,w(function(e,t){return z(t,{bP:e,cB:!0})}),R(u7,t,w(function(e,t){return z(t,{cc:e,c8:!0})}),R(u7,a,w(function(e,t){return z(t,{b1:e,cW:!0})}),R(u7,m,w(function(e,t){return z(t,{bO:e,cw:!0})}),R(u7,C,w(function(e,t){return z(t,{bH:e,cq:!0})}),R(u7,H,w(function(e,t){return z(t,{bx:e,cj:!0})}),R(u7,r,w(function(e,t){return z(t,{b8:e,c1:!0})}),R(u7,b,w(function(e,t){return z(t,{cH:e})}),R(u7,p,w(function(e,t){return z(t,{cz:e})}),R(u7,y,w(function(e,t){return z(t,{cv:e})}),R(u7,i,w(function(e,t){return z(t,{bg:e})}),sP)))))))))))))))))))))))))))))))))))))))))))))))))},co=function(e){var t=$(eE,$(ex,us,ij(eb)),e);return t.$?nf(nB(t.a)):ng(ci(t.a))},cs=function(e){return $(ee,e,"")},cu=y(function(e,t,n){for(;;){var r=nH(t);if(r.$)return n;var a=r.a,i=a.a,o=a.b;if("<"===i){var s=!0,u=o,c=n;e=!0,t=u,n=c;continue}if(">"===i){var s=!1,u=o,c=n;e=!1,t=u,n=c;continue}if(e){var s=!0,u=o,c=n;e=!0,t=u,n=c;continue}else{var s=!1,u=o,c=G(n,cs(i));e=s,t=u,n=c;continue}}}),cc=w(function(e,t){var n=function(){var e=t.gV.gI;if(e.$){var n=e.a;return uz(q([{a:"kind",b:ek("svg")},{a:"value",b:ek(n)}]))}var r=e.a,a=e.b,i=e.c,o=e.d;return uz(q([{a:"kind",b:ek("rect")},{a:"x",b:ek(r)},{a:"y",b:ek(a)},{a:"width",b:ek(i)},{a:"height",b:ek(o)}]))}();return uz(q([{a:"id",b:ek(t.f7)},{a:"shape",b:n},{a:"text",b:ek(R(cu,!1,t.eq.fG,""))},{a:"html",b:ek(t.eq.fG)},{a:"imageService",b:ek($(aG,"",e))}]))}),cl=x(function(e,t,n,r){return e?$(J,{a:t,b:n},r):r}),cd=function(e){return $(eT,2,uz(S(cl,e.bq,"altBlueVibrance",ek(e.aS),S(cl,e.az,"altBlueHueWindow",ek(e.aQ),S(cl,e.az,"altBlueHue",ek(e.aP),S(cl,e.bp,"altBlueSigmoid",ek(e.aR),S(cl,e.bo,"altBlueGamma",ek(e.aO),S(cl,e.bt,"altGreenVibrance",ek(e.aX),S(cl,e.aA,"altGreenHueWindow",ek(e.aV),S(cl,e.aA,"altGreenHue",ek(e.aU),S(cl,e.bs,"altGreenSigmoid",ek(e.aW),S(cl,e.br,"altGreenGamma",ek(e.aT),S(cl,e.bw,"altRedVibrance",ek(e.a0),S(cl,e.aB,"altRedHueWindow",ek(e.a_),S(cl,e.aB,"altRedHue",ek(e.aZ),S(cl,e.bv,"altRedSigmoid",ek(e.a$),S(cl,e.bu,"altRedGamma",ek(e.aY),S(cl,e.aN,"adaptiveOffset",ek(e.bm),S(cl,e.aN,"adaptiveWindow",ek(e.bn),S(cl,e.cN,"normalizeStrength",ek(e.bV),S(cl,e.c6,"unsharpAmount",ek(e.ca),S(cl,e.N,"colourReplacePreserveLum",ek(e.cp),S(cl,e.N,"colourReplaceBlend",ek(e.bB),S(cl,e.N,"colourReplaceTolerance",ek(e.bE),S(cl,e.N,"colourReplaceTarget",ek(e.bD),S(cl,e.N,"colourReplaceSource",ek(e.bC),S(cl,e.a7,"pcaHue",ek(e.bW),S(cl,e.a7,"pcaMode",ek(e.bX),S(cl,e.ae,"pseudoColourBlue",ek(e.bY),S(cl,e.ae,"pseudoColourGreen",ek(e.bZ),S(cl,e.ae,"pseudoColourRed",ek(e.b$),S(cl,e.ae,"pseudoColourMode",ek(e.b_),S(cl,e.a4,"colourmapCenter",ek(e.bF),S(cl,e.a4,"colourmapPreset",ek(e.bG),S(cl,e.cr,"convolutionPreset",ek(e.bI),S(cl,e.bb,"morphKernel",ek(e.bT),S(cl,e.bb,"morphOperation",ek(e.bU),S(cl,e.ck,"ccBlue",ek(e.by),S(cl,e.cl,"ccGreen",ek(e.bz),S(cl,e.cm,"ccRed",ek(e.bA),S(cl,e.cB,"hue",ek(e.bP),S(cl,e.c8,"vibrance",ek(e.cc),S(cl,e.cW,"saturation",ek(e.b1),S(cl,e.cw,"gamma",ek(e.bO),S(cl,e.cq,"contrast",ek(e.bH),S(cl,e.cj,"brightness",ek(e.bx),S(cl,e.c1,"threshold",ek(e.b8),S(cl,e.cH,"invert",ek(!0),S(cl,e.cz,"grayscale",ek(!0),S(cl,e.cv,"flip",ek(!0),S(cl,!!e.bg,"rotation",ek(e.bg),U)))))))))))))))))))))))))))))))))))))))))))))))))))},cf=w(function(e,t){var n=w(function(t,n){for(;;)if(H(t.u.f7,e))return nr(t.u);else{var r=t.Q;if(r.b){var a=r.a,i=r.b;if(a.$){var o=z(t,{Q:i}),s=n;t=o,n=s;continue}var u=a.a,o={u:u,Q:u.aH},s=$(J,{u:t.u,Q:i},n);t=o,n=s;continue}if(!n.b)return na;var c=n.a,i=n.b,o=c,s=i;t=o,n=s;continue}});return $(n,{u:t,Q:t.aH},U)}),ch=w(function(e,t){for(;;)if(e<=0)return t;else{if(!t.b)return t;t.a,e-=1,t=t.b;continue}}),cv=w(function(e,t){return aL($(ch,e,t))}),cb=w(function(e,t){return e(t.b)}),cg=cb(function(e){return e.es}),cp=w(function(e,t){var n=$(cm,e,t.aH),r=n.a,a=n.b;return R(r_,t.f7,r,a)}),cm=w(function(e,t){return R(nx,w(function(t,n){var r=n.a,a=n.b;if(t.$){var i=t.a,o=$(cp,e,i),s=r.$?$(aG,na,$(rH,i.f7,o)):r;return{a:s,b:$(uf,o,a)}}var u=t.a,s=r.$?$(rH,u,e):r;return{a:s,b:a}}),{a:na,b:rI},t)}),cw=w(function(e,t){return R(nx,w(function(t,n){return $(uf,$(cp,e,t),n)}),rI,t)}),cy=e3("layoutConfigUpdated",function(e){return uz(q([{a:"direction",b:ek(e.ez)},{a:"mode",b:ek(e.e1)}]))}),cx=w(function(e,t){return e?t?"spread-shift":"spread":"single"}),cC=function(e){var t={a:e.dI,b:e.dU};if(t.a.$||t.b.$)return 1;var n=t.a.a,r=t.b.a;return n>0?r/n:1},cI=w(function(e,t){return $(aG,q(["[No language value found]"]),$(az,function(e){return e.b},$(aK,q([function(n){if(e.$)return na;var r=e.a;return $(oZ,function(e){return!e.a.$&&H(e.a.a,r)},t)},function(e){return $(oZ,function(e){return H(e.a,iZ)},t)},function(e){return $(oZ,function(e){return H(e.a,i0)},t)},function(e){return aL(t)}]),t)))}),cA=w(function(e,t){return $(nm,"; ",$(cI,e,t))}),cE=function(e){var t=e.dX;return t.$?"Untitled":$(cA,i0,t.a)},c$=function(e){switch(e){case 0:return"jpg";case 1:return"tif";case 2:return"png";case 3:return"jp2";case 4:return"gif";case 5:return"pdf";default:return"webp"}},cR=function(e){switch(e){case 0:return"color";case 1:return"gray";case 2:return"bitonal";case 3:return"default";default:return"native"}},cS=function(e){switch(e.$){case 0:return"full";case 1:return"square";default:return $(nm,",",$(rc,el,q([e.a.fJ,e.a.ek,e.a.dH,e.a.dn])))}},cM=function(e){if(e.$){var t=e.a;return"!"+el(t)}var t=e.a;return el(t)},cP=function(e){switch(e.$){case 0:return"max";case 1:return"^max";case 2:var t=e.a;return el(t)+",";case 3:var t=e.a;return"^"+el(t)+",";case 4:var n=e.a;return","+el(n);case 5:var n=e.a;return"^,"+el(n);case 6:var r=e.a;return"pct:"+el(r);case 7:var r=e.a;return"^pct:"+el(r);case 8:var a=e.a,t=a.a,n=a.b;return el(t)+","+el(n);case 9:var i=e.a,t=i.a,n=i.b;return"^"+el(t)+","+el(n);case 10:var o=e.a,t=o.a,n=o.b;return"!"+el(t)+","+el(n);default:var s=e.a,t=s.a,n=s.b;return"^!"+el(t)+","+el(n)}},cL=function(e){for(;;)if(!e.b||"/"!==e.a)return e;else{e=e.b;continue}},cT=function(e){return X(e).join("")},ck=function(e){return R(et,J,U,e)},cO=function(e){return cT(nO(cL(nO(ck(e)))))},cH=nx(w(function(e,t){var n=cT(cL(ck(e)));return n7(n)?cO(t):cO(t)+"/"+n})),cV=function(e){switch(e.$){case 0:var t,n=e.a;return $(cH,(t=n).eR,q([t.Y,"info.json"]));case 1:var r,n=e.a;return $(cH,(r=n).eR,q([r.Y,cS(r.cU),cP(r.fw),cM(r.bg),cR(r.d7)+"."+c$(r.dR)]));default:var n=e.a;return $(cH,n.eR,q([n.Y]))}},cB=w(function(e,t){switch(t.$){case 0:var n,r=t.a;return aJ(z({dR:0,eR:(n=r).eR,Y:n.Y,d7:3,cU:aW,bg:iI(0),fw:ic},{fw:e}));case 1:var r=t.a;return aJ(z(r,{fw:e}));default:return t}}),cF=function(e){var t=iO(e);if(t.$)return e;var n=t.a;return cV($(cB,im(180),n))},c_=function(e){var t=cV(e.f7);return sd(e.ft)?t:cF(t)},cN=w(function(e,t){var n=t.gW;if(!n.$)return c_(n.a);var r=aL($(iR,function(e){return e.bR},e));if(r.$){var a=aL(e);if(a.$)return"";var i=a.a;return i.bh}var i=r.a;return i.bh}),cz=function(e){return al(q([ac(e),$(ex,iJ,e)]))},cG=C(function(e,t,n,r,a){return{eD:r,eE:a,f7:e,b2:n,g_:t}}),cU=$(ey,function(e){switch(e){case"active":return n1(0);case"external":return n1(2);case"kiosk":return n1(1);default:return av("Unsupported Auth 2 access profile: "+e)}},eg),cD=E(function(e,t,n,r,a,i,o,s){return{dM:s,dT:i,f7:e,dX:a,d0:o,be:n,b2:r,g_:t}}),cJ=w(function(e,t){return $(ey,function(t){return H(t,e)?n1(t):av("Expected "+e+" but got "+t)},t)}),cq=al(q([$(ep,"type",eg),$(ep,"@type",eg)])),cX=function(e){return $(cJ,e,cq)},cj=al(q([$(ep,"id",eg),$(ep,"@id",eg)])),cW=$(ey,function(e){return $(es,"https://",e)?n1(e):av("Expected an HTTPS service identifier")},cj),cZ=w(function(e,t){return $(ey,function(n){var r=$(e$,$(ep,e,eb),n);if(r.$)return n1(na);var a=$(e$,t,r.a);return a.$?av(nB(a.a)):n1(nr(a.a))},eb)}),cY=function(e){return{$:1,a:e}},cK=function(e){return{$:0,a:e}},cQ=x(function(e,t,n,r){return{eD:n,eE:r,f7:e,g_:t}}),c0=$(aB,$(cZ,"errorNote",iQ),$(aB,$(cZ,"errorHeading",iQ),$(aB,cX("AuthAccessTokenService2"),$(aB,cW,n1(cQ))))),c1=y(function(e,t,n){return{f7:e,dX:n,g_:t}}),c2=$(aB,$(cZ,"label",iQ),$(aB,cX("AuthLogoutService2"),$(aB,cW,n1(c1)))),c4=$(ey,function(e){switch(e){case"AuthAccessTokenService2":return $(ex,cK,c0);case"AuthLogoutService2":return $(ex,cY,c2);default:return av("Unsupported Auth 2 related service: "+e)}},cq),c3=$(ey,function(e){var t=nC($(iR,function(e){return!e.$},e)),n=nC(e)-t;return 1===t&&n<=1?n1(e):av("Auth access services require exactly one token service and at most one logout service")},cz(c4)),c6=$(ey,function(e){return $(aB,$(cZ,"confirmLabel",iQ),$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),$(aB,e?$(cZ,"label",iQ):$(ex,nr,$(ep,"label",iQ)),R(aP,"service",c3,$(aB,n1(e),$(aB,cX("AuthAccessService2"),$(aB,2===e?n1(na):$(ex,nr,cW),n1(cD)))))))))},$(ep,"profile",cU)),c5=$(aB,$(cZ,"errorNote",iQ),$(aB,$(cZ,"errorHeading",iQ),R(aP,"service",cz(c6),$(aB,cX("AuthProbeService2"),$(aB,cW,n1(cG)))))),c8=$(ey,function(e){var t=R(y(function(e,t,n){for(;;)if(!e.b)return ng({cS:nO(t),c7:nO(n)});else{var r=e.a,a=e.b,i=$(e$,ac(eb),r);if(i.$){var o=$(e$,cq,r);if(o.$){var s=$(e$,$(ep,"service",cz(eb)),r);if(s.$){var u=a,c=t,l=n;e=u,t=c,n=l;continue}var d=s.a,u=G(d,a),c=t,l=n;e=u,t=c,n=l;continue}if("AuthProbeService2"===o.a){var f=$(e$,c5,r);if(f.$)return nf(f.a);var h=f.a,u=a,c=$(J,h,t),l=n;e=u,t=c,n=l;continue}var v=o.a,b=$(es,"Auth",v)?$(J,v,n):n,g=$(e$,$(ep,"service",cz(eb)),r);if(g.$){var u=a,c=t,l=b;e=u,t=c,n=l;continue}var d=g.a,u=G(d,a),c=t,l=b;e=u,t=c,n=l;continue}var u=G(i.a,a),c=t,l=n;e=u,t=c,n=l;continue}}),q([e]),U,U);return t.$?av(nB(t.a)):n1(t.a)},eb),c7=function(e){return!!e.$},c9=y(function(e,t,n){var r,a=cV(n.f7),i=c_(n),o=$(aG,"Image",$(az,cA(e),n.dX)),s=sd(n.ft),u=c7($(uH,function(e){return!e.eT},t)),c=H(nr(n),aL(t)),l=!n.eT||u&&c;return{dh:(r=$(e$,c8,$(uN,n4,n.gK))).$?{$:2,a:nB(r.a)}:{$:1,a:r.a},f7:a,bR:l,aG:s,dX:o,b7:a,bh:i,b9:a}}),le=w(function(e,t){var n=$(rc,$(c9,e,t.cF),t.cF);if(sd(n))return na;var r=$(cN,n,t),a=$(aG,"",$(az,function(e){return e.bh},aL($(iR,function(e){return e.bR},n))));return nr({dg:cC(t),M:t.f7,eI:a,dU:t.dU,cF:n,dX:cE(t),bh:r,dI:t.dI})}),lt=w(function(e,t){return $(an,le(e),cg(t))}),ln=cb(function(e){return e.g2}),lr=w(function(e,t){return z(t,{aa:na,ah:na,e:rI,v:rI,D:rI,Z:U,ar:us($(rc,function(e){return{a:e.f7,b:e}},e))})}),la=function(e){return e.b},li=w(function(e,t){return $(az,nW,aL($(iR,$(rW,la,e),$(nE,a8,t))))}),lo=function(e){return{$:1,a:e}},ls=function(e){return{$:2,a:e}},lu=al(q([$(ex,function(e){return{$:0,a:e}},ef),$(ey,function(e){switch(e){case"canvasId":return $(ex,lo,$(ep,"value",eg));case"label":return $(ex,ls,$(ep,"value",eg));default:return av("Unsupported initial page selector")}},$(ep,"by",eg))])),lc=function(e){return e.toLowerCase()},ll=w(function(e,t){var n=$(aN,$(rW,e$(lu),u9),e);if(n.$)return 0;switch(n.a.$){case 0:var r=n.a.a;return r>=0&&0>_(r,nC(t))?r:0;case 1:var a=n.a.a;return $(aG,0,$(li,function(e){return H(e.M,a)},t));default:var i=n.a.a;return $(aG,0,$(li,function(e){return H(lc(e.dX),lc(i))},t))}}),ld=cb(function(e){return e.f6}),lf=cb(function(e){return e.d_}),lh=cb(function(e){return e.fh}),lv=w(function(e,t){switch(t){case 2:var n=!sd(lf(e)),r=$(aG,!1,$(az,$(rW,sd,uB),ld(e)));return n||r?2:1;case 3:return $(aG,!1,$(az,$(rW,sd,uB),lh(e)))?3:1;default:return 1}}),lb=cb(function(e){return e.g1}),lg=function(e){switch(e){case 0:case 2:default:return"ltr";case 1:return"rtl"}},lp=e3("zoomLevelUpdated",ek),lm=x(function(e,t,n,r){var a,i=lb(r),o=$(lt,n.ey,r),s=$(an,function(e){return $(az,function(t){return{M:e.M,aG:t.aG,b7:t.b7,aM:t.b9}},uV(e))},o),u=(a=ln(r)).$?$(iF,7,a.a):!a.a,c=$(rc,function(e){return e.dg},o),l=1===nC(o),d=!l&&(u||1===i),f=l?0:+!!u,h=$(cx,f,d),v=$(ll,t,o),b=lg(i),g=us($(nE,w(function(e,t){return{a:t.f7,b:e}}),cg(r))),p=$(aG,rI,$(az,cw(g),lh(r))),m=$(lv,r,n._),y=n.B?m:0,x=$(rc,function(e){return{dh:e.dh,f7:e.b7,aG:e.aG,aM:e.b9}},$(iP,function(e){return e.cF},o));return{a:z(n,{a1:rI,dd:us($(rc,function(e){return{a:e.f7,b:e.dd}},cg(r))),aC:rI,dh:$(lr,x,rE),dO:na,eJ:sP,eO:!sd(s),$7:na,X:!1,cP:!1,ap:o,fg:p,b0:{$:2,a:r},R:sd(o)?na:nr(v),b3:d,_:m,B:y,cd:f}),b:eQ(q([u6({dV:v,d8:e,ei:s}),u3($(an,n4,$(nE,w(function(e,t){return $(az,function(n){return{M:t.M,dU:t.dU,cF:$(rc,function(e){return{f7:e.f7,bR:e.bR,dX:e.dX}},t.cF),eU:e,dX:t.dX,fb:{f7:n.f7,bR:n.bR,dX:n.dX},dI:t.dI}},uV(t))}),o))),u1(na),u2(c),u4($(rc,function(e){return e.dX},o)),lp(1),cy({ez:b,e1:h})]))}}),lw={$:6},ly=w(function(e,t){return rv($(eF,$(aE,$(aE,eH,e),nf),$(eB,$(aE,$(aE,eH,e),ng),t)))}),lx=function(e){return t3(e,function(e){var t=e.getBoundingClientRect(),n=t1.pageXOffset,r=t1.pageYOffset;return{fq:t6(),fH:{fJ:n,ek:r,dI:t0.documentElement.clientWidth,dU:t0.documentElement.clientHeight},eB:{fJ:n+t.left,ek:r+t.top,dI:t.width,dU:t.height}}})},lC=x(function(e,t,n,r){return $(eB,function(t){return $(eB,function(n){return $(eB,function(r){return eH(R(e,t,n,r))},r)},n)},t)}),lI=eQ(U),lA=w(function(e,t){if(!e)return lI;var n=$(eB,function(e){var n="thumb-"+el(t);return $(eB,n4,S(lC,y(function(e,t,n){return R(t5,"thumbs",0,$(nX,0,e.eB.ek-t.eB.ek+n.fH.ek))}),lx(n),lx("thumbs"),t3("thumbs",function(e){return{fq:{dI:e.scrollWidth,dU:e.scrollHeight},fH:{fJ:e.scrollLeft,ek:e.scrollTop,dI:e.clientWidth,dU:e.clientHeight}}})))},eX(0));return $(ly,function(e){return lw},n)}),lE=function(e){return e.cP?$(aG,lI,$(aN,function(t){return $(az,function(n){return u1(nr({dg:t.dg,eJ:e.eJ,aG:n.aG,b7:n.b7,b9:n.b9}))},aL($(ch,e.aJ,t.cF)))},$(aN,function(t){return $(cv,t,e.ap)},e.R))):lI},l$=y(function(e,t,n){var r=z(n,{aJ:0,R:nr(t),bi:e});return{a:r,b:eQ(q([$(lA,1===r.B,t),lE(r)]))}}),lR=e3("scrollToIndex",ek),lS=w(function(e,t){var n=t.R;if(n.$)return{a:t,b:lI};var r=n.a+e;if(r>=0&&0>_(r,nC(t.ap))){var a=z(t,{aJ:0,R:nr(r),bi:!1});return{a:a,b:eQ(q([lR(r),$(lA,1===a.B,r),lE(a)]))}}return{a:t,b:lI}}),lM=function(e){switch(e.$){case 0:return"Bad URL: "+e.a;case 1:return"Request timed out.";case 2:return"Network error. The resource may be unreachable or blocked by CORS.";case 3:return"HTTP error: "+el(e.a);default:return"Invalid IIIF response body. URL did not return a valid IIIF Manifest or Collection JSON."}},lP=w(function(e,t){return R(r_,e,0,t)}),lL=e3("layoutModeUpdated",ek),lT=w(function(e,t){return!$(rH,e,t).$}),lk=w(function(e,t){return $(lT,e,t)}),lO=w(function(e,t){return $(rX,e,t)}),lH=y(function(e,t,n){var r=w(function(e,t){for(;;)if(!t.b)return e;else{var n=t.a,r=t.b;e=z(n.u,{aH:G(nO($(J,oI(e),n.ai)),n.Q)}),t=r;continue}}),a=w(function(e,t){if(!t.b)return e;var n=t.a,r=t.b;return $(i,{ai:$(J,oI(e),n.ai),u:n.u,Q:n.Q},r)}),i=w(function(n,o){if(H(n.u.f7,e))return $(r,t,o);var s=n.Q;if(!s.b)return $(a,z(n.u,{aH:nO(n.ai)}),o);var u=s.a,c=s.b;if(u.$)return $(i,z(n,{ai:$(J,u,n.ai),Q:c}),o);var l=u.a;return $(i,{ai:U,u:l,Q:l.aH},$(J,{ai:n.ai,u:n.u,Q:c},o))});return $(i,{ai:U,u:n,Q:n.aH},U)}),lV=w(function(e,t){return{$:58,a:e,b:t}}),lB=w(function(e,t){return{$:0,a:e,b:t}}),lF=function(e){return encodeURIComponent(e)},l_=w(function(e,t){return $(lB,lF(e),lF(t))}),lN=function(e){return e.a+"="+e.b},lz=y(function(e,t,n){var r,a=(r=q([$(l_,"canvasURI",t),$(l_,"iiifVersion",n)])).b?"?"+$(nm,"&",$(rc,lN,r)):"";return $(eo,"?",e)?e+"&"+$(n8,1,a):G(e,a)}),lG=function(e){var t=e.H;switch(t.$){case 1:var n=t.a;return nr(n);case 2:var r=e.b0;if(2!==r.$)return na;var n=r.a;return nr(n);default:return na}},lU=function(e){return{dR:na,dY:na,fG:e}},lD=lU("");function lJ(){return al(q([S(eI,y(function(e,t,n){return{dR:t,dY:n,fG:e}}),al(q([$(ep,"value",eg),$(ep,"chars",eg)])),aR($(ep,"format",eg)),aR($(ep,"language",eg))),$(ex,$(rW,aL,aG(lD)),ac(of(function(e){return lJ()}))),$(ex,lU,eg)]))}var lq=lJ();lJ=function(){return lq};var lX=al(q([$(ep,"body",lq),$(ep,"resource",lq),n1(lD)])),lj=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),lW=function(e){var t=$(es,"xywh=",e)?$(n8,5,e):e,n=$(rc,aQ,$(nw,",",t));if(!n.b||n.a.$||!n.b.b||n.b.a.$||!n.b.b.b||n.b.b.a.$||!n.b.b.b.b||n.b.b.b.a.$||n.b.b.b.b.b)return av("Invalid xywh selector");var r=n.a.a,a=n.b,i=a.a.a,o=a.b,s=o.a.a,u=o.b.a.a;return s>0&&u>0?n1(S(lj,r,i,s,u)):av("Annotation rectangle must have a positive size")},lZ=al(q([$(ep,"type",eg),$(ep,"@type",eg)])),lY=$(ey,function(e){var t=e.a,n=e.b;return"svgselector"===lc(t)||"oa:svgselector"===lc(t)?n1({$:1,a:n}):av("Not an SVG selector")},R(eC,a8,lZ,$(ep,"value",eg)));function lK(){return al(q([lY,$(ey,lW,$(ep,"value",eg)),$(ep,"item",of(function(e){return lK()})),$(ep,"default",of(function(e){return lK()}))]))}var lQ=lK();lK=function(){return lQ};var l0=al(q([$(ep,"id",eg),$(ep,"@id",eg)])),l1=al(q([$(ex,nr,$(ep,"source",al(q([eg,l0])))),$(ex,nr,$(ep,"full",al(q([eg,l0])))),n1(na)])),l2=function(e){var t=$(nw,"#xywh=",e);if(!t.b||!t.b.b||t.b.b.b)return av("Annotation target has no xywh selector");var n=t.a;return $(ex,function(e){return{gI:e,ed:nr(n)}},lW(t.b.a))};function l4(){return al(q([$(ey,function(e){var t=aL(e);return t.$?av("Annotation target list is empty"):n1(t.a)},ac(of(function(e){return l4()}))),$(ey,l2,eg),R(eC,w(function(e,t){return{gI:t,ed:e}}),l1,$(ep,"selector",lQ))]))}var l3=l4();l4=function(){return l3};var l6=al(q([$(ep,"id",eg),$(ep,"@id",eg),n1("")])),l5=M(eA,x(function(e,t,n,r){return{eq:n,f7:e,e3:r,gV:t}}),l6,al(q([$(ep,"target",l3),$(ep,"on",l3)])),lX,aR($(ep,"motivation",eg))),l8=al(q([$(ep,"resources",ac(l5)),$(ep,"items",ac(l5)),ac(l5)])),l7=y(function(e,t,n){return R(au,t,$(r2,e,l8),n)}),l9=w(function(e,t){if(!t.bK||$(lk,e,t.a1)||$(lT,e,t.aC))return{a:t,b:lI};var n,r,a=$(aG,U,$(rH,e,t.dd)),i=$(an,function(e){return e.$?na:nr(e.a)},a),o=aH($(an,function(e){return e.$?u9($(e$,l8,e.a)):na},a)),s=sd(o)?t:z(t,{aC:R(r_,e,o,t.aC)}),u=!(n=sd(a),r={a:n,b:t.ci,c:lG(t)}).a||r.b.$||r.c.$?U:q([R(lz,r.b.a,e,1===r.c.a.a?"2":"3")]);return{a:z(s,{a1:$(lP,e,s.a1)}),b:eQ(G($(rc,function(n){return R(l7,lV(e),t.av,n)},G(i,u)),q([uG({de:$(rc,cc($(u_,e,t)),o),M:e})])))}}),de=al(q([$(ey,function(e){return $(ah,ag,e)?$(ex,aw(2),s$):$(ah,ab,e)?$(ex,aw(1),oq):av("Unknown IIIF Version: "+e)},$(ep,"@context",eg)),$(ey,function(e){return $(ad,ah(ag),e)?$(ex,aw(2),s$):$(ad,ah(ab),e)?$(ex,aw(1),oq):av("Unknown IIIF Version in context values: "+$(nm,", ",e))},$(ep,"@context",ac(eg)))])),dt=y(function(e,t,n){return R(au,t,$(r2,e,de),n)}),dn=function(e){return z(e,{aO:0,bo:!1,aP:0,az:!1,aQ:8,aR:0,bp:!1,aS:0,bq:!1,aT:0,br:!1,aU:0,aA:!1,aV:8,aW:0,bs:!1,aX:0,bt:!1,aY:0,bu:!1,aZ:0,aB:!1,a_:8,a$:0,bv:!1,a0:0,bw:!1})},dr=e3("resourceLoadFailed",function(e){return uz(q([{a:"message",b:ek(e.ac)},{a:"requestId",b:ek(e.fl)},{a:"url",b:ek(e.aM)}]))}),da=e3("resourceLoadSucceeded",function(e){return uz(q([{a:"hasPages",b:ek(e.cA)},{a:"pageIndex",b:ek(e.cO)},{a:"requestId",b:ek(e.fl)},{a:"url",b:ek(e.aM)}]))}),di=e3("authHttpCancelled",ek),ds=e3("authHttpRequested",n4),du=e3("authSourcesInvalidated",uN(ek)),dc=e3("authStorageRequested",n4),dl=e3("authTokenFrameCancelled",ek),dd=e3("authTokenFrameRequested",n4),df=e3("tileSourceResolutionFailed",function(e){return uz(q([{a:"message",b:ek(e.ac)},{a:"requestId",b:ek(e.fl)}]))}),dh=e3("tileSourceResolutionSucceeded",n4),dv=function(e){switch(e.$){case 0:var t=e.a,n=e.b,r=e.c,a=e.d;return ds(uz(q([{a:"id",b:ek(t)},{a:"url",b:ek(n)},{a:"bearer",b:$(aG,null,$(az,ek,r))},{a:"withCredentials",b:ek(a)}])));case 1:var t=e.a;return di(t);case 2:var i=e.a,o=e.b;return dc(uz(q([{a:"action",b:ek("read")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)}])));case 3:var i=e.a,o=e.b,s=e.c,u=e.d;return dc(uz(q([{a:"action",b:ek("write")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)},{a:"accessToken",b:ek(s)},{a:"expiresAt",b:ek(u)}])));case 4:var i=e.a,o=e.b;return dc(uz(q([{a:"action",b:ek("remove")},{a:"flowId",b:ek(i)},{a:"key",b:ek(o)}])));case 5:var i=e.a,n=e.b,c=e.c;return dd(uz(q([{a:"flowId",b:ek(i)},{a:"url",b:ek(n)},{a:"messageId",b:ek(c)}])));case 6:var i=e.a;return dl(i);case 7:return du(e.a);case 8:var l=e.a;return dh(uz(q([{a:"requestId",b:ek(l.fl)},{a:"url",b:ek(l.aM)},{a:"isStatic",b:ek(l.aG)},{a:"credentialed",b:ek(l.ev)},{a:"infoJson",b:$(aG,null,l.aF)}])));default:var d=e.a;return df({ac:e.b,fl:d})}},db=e3("saveFilteredImage",function(e){return null}),dg=e3("setFullscreen",ek),dp=function(e){return{$:1,a:e}},dm=function(e){return{$:6,a:e}},dw=w(function(e,t){return{$:4,a:e,b:t}}),dy=y(function(e,t,n){return{$:5,a:e,b:t,c:n}}),dx=w(function(e,t){var n=t.a;return{a:n,b:G(t.b,e)}}),dC=w(function(e,t){return R(uu,y(function(e,t,n){return $(rX,e,n)}),e,t)}),dI=w(function(e,t){return R(uu,y(function(t,n,r){return $(e,t,n)?R(r_,t,n,r):r}),rI,t)}),dA=w(function(e,t){if(-2===t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;return M(rV,n,r,$(e,r,a),$(dA,e,i),$(dA,e,o))}),dE=y(function(e,t,n){var r=t.o.T.f7;if(r.$)return n;var a=r.a;return z(n,{aa:nr(e),ah:nr({el:a,dM:t.o.T.dM,aw:t.cT,dl:e,dT:t.o.T.dT,d0:t.o.T.d0}),Z:$(iR,F(e),n.Z)})}),d$=function(e){for(;;){var t=e.Z;if(!t.b)return e;var n=t.a,r=z(e,{Z:t.b}),a=$(rH,n,e.e);if(a.$){var i=r;e=i;continue}var o=a.a;if(!o.o.T.f7.$)return R(dE,n,o,r);var i=r;e=i}},dR=w(function(e,t){var n,r=z(t,{Z:$(iR,F(e),t.Z)}),a=(n=r.ah).$?r:H(n.a.dl,e)?z(r,{ah:na}):r;return H(a.aa,nr(e))?d$(z(a,{aa:na})):a}),dS=w(function(e,t){var n=$(dI,w(function(e,t){return!sd(t.au)}),$(dA,w(function(t,n){return z(n,{au:$(iR,F(e),n.au)})}),t.e)),r=$(iR,function(e){return!$(lT,e,n)},ns(t.e)),a=$(dI,w(function(t,n){return n.$?$(iF,n.a,r):H(n.a,e)}),t.v);return{a:R(nx,dR,z(t,{e:n,v:$(dC,t.v,a),D:$(rX,e,t.D)}),r),b:G($(rc,dp,ns(a)),$(rc,dm,r))}}),dM=w(function(e,t){return{$:9,a:e,b:t}}),dP=y(function(e,t,n){return{a:z(n,{D:$(rX,e,n.D)}),b:q([$(dM,e,t)])}}),dL=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=w(function(e,n){var r=n.a,a=n.b,i=R(dP,e,t,r),o=i.a;return{a:o,b:G(a,i.b)}});return R(nx,i,{a:$(dR,e,z(n,{e:$(rX,e,n.e)})),b:q([dm(e)])},a.au)}),dT=w(function(e,t){return $(iF,e,t)?t:G(t,q([e]))}),dk=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;if(a.o.T.f7.$)return R(dL,e,"The active access service has no URL.",n);var i=z(a,{aq:3,cT:t}),o=z(n,{e:R(r_,e,i,n.e)}),s=n.aa;return s.$?{a:R(dE,e,i,o),b:U}:H(s.a,e)?{a:R(dE,e,i,o),b:U}:{a:z(o,{Z:$(dT,e,o.Z)}),b:U}}),dO=x(function(e,t,n,r){return{a:z(n,{e:R(rj,e,az(t),n.e)}),b:r}}),dH=y(function(e,t,n){var r=e+"-"+el(t.aE+1);return S(dO,e,function(e){return z(e,{aq:5})},n,q([R(dy,e,t.o.c3.f7,r)]))}),dV=y(function(e,t,n){for(;;){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=a.dv;if(!i.b)return R(dL,e,t,n);var o=i.a,s=z(a,{o:o,aE:0,cT:na,dv:i.b}),u=$(dR,e,z(n,{e:R(r_,e,s,n.e)}));switch(o.T.be){case 0:return $(dx,q([dm(e)]),R(dk,e,na,u));case 1:n=u;continue;default:return $(dx,q([dm(e)]),R(dH,e,s,u))}}}),dB=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;if(a.aE+1>=2)return R(dL,e,t,n);var i=z(n,{e:R(r_,e,z(a,{aE:a.aE+1}),n.e)});return $(dx,q([dm(e)]),R(dk,e,nr(t),i))}),dF=y(function(e,t,n){var r=$(rH,e,n.e);return r.$?{a:n,b:U}:0===r.a.o.T.be?R(dB,e,t,n):R(dV,e,t,n)}),d_=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),dN=w(function(e,t){return{$:1,a:e,b:t}}),dz=w(function(e,t){var n="auth-http-"+el(t.cL);return{a:n,b:z(t,{cL:t.cL+1,v:R(r_,n,e,t.v)})}}),dG=x(function(e,t,n,r){var a=$(rH,e,r.D);if(a.$)return{a:r,b:U};var i=a.a,o=$(rH,i.b7,r.ar);if(o.$)return{a:r,b:U};var s=o.a;return{a:z(r,{D:$(rX,e,r.D)}),b:q([{$:8,a:{ev:t,aF:n.$?i.aF:nr(n.a),aG:s.aG,fl:e,aM:s.aM}}])}}),dU=w(function(e,t){return{$:0,a:e,b:t}}),dD=x(function(e,t,n,r){var a=$(dz,$(dU,e,{$:1,a:t}),r),i=a.a;return{a:a.b,b:q([S(d_,i,n.aM,na,t)])}}),dJ=y(function(e,t,n){var r=$(rH,e,n.D);if(r.$)return{a:n,b:U};var a=r.a,i=$(rH,a.b7,n.ar);if(i.$)return{a:n,b:U};var o=i.a,s={a:o.aG,b:a.aF};return s.a||1!==s.b.$?S(dG,e,t,na,n):(s.b,S(dD,e,t,o,n))}),dq=w(function(e,t){return 1===e.$?t:t+":"+el(e.a)}),dX=y(function(e,t,n){return 1===t.$?n:G(n,G(e,t.a))}),dj=function(e){var t=e.fe?"https://":"http://";return R(dX,"#",e.f4,R(dX,"?",e.gz,G($(dq,e.fa,G(t,e.eR)),e.s)))},dW=function(e){var t,n=G($(iR,function(e){return 2===e.be},e.b2),$(iR,function(e){return!e.be},e.b2)),r=$(aG,t=e.f7,$(az,function(e){return dj(z(e,{f4:na,gz:na}))},ri(t)))+"|"+$(nm,"|",$(an,function(e){return aL($(an,function(t){if(t.$)return na;var n=t.a;return nr($(aG,"",e.f7)+"|"+n.f7)},e.b2))},n));return $(an,function(t){return $(az,function(n){return{T:t,ak:r,a9:aL($(an,function(e){return e.$?nr(e.a):na},t.b2)),cR:e,c3:n}},aL($(an,function(e){return e.$?na:nr(e.a)},t.b2)))},n)},dZ=function(e){return"Unsupported authorization service: "+$(nm,", ",e)+"."},dY=function(e){var t=$(iP,function(e){return e.b2},e),n=aL($(iR,function(e){return 1===e.be},t));if(n.$)return na;var r=n.a;return nr("IIIF Auth 2 '"+function(){switch(r.be){case 0:return"active";case 1:return"kiosk";default:return"external"}}()+"' access is not supported; supported profiles are 'external' and 'active'.")},dK=function(e){if(!sd(e.c7))return nf(dZ(e.c7));var t=$(aG,U,aL($(iR,$(aE,uB,sd),$(rc,dW,e.cS))));if(!sd(t))return ng(t);var n=dY(e.cS);return n.$?nf("No supported Auth 2 external or active access service was provided."):nf(n.a)},dQ=x(function(e,t,n,r){var a=z(r,{D:R(rj,e,az(function(e){return z(e,{aF:n})}),r.D)}),i=dK(t);if(i.$)return R(dP,e,i.a,a);if(!i.a.b)return R(dP,e,"No supported Auth 2 external or active access service was provided.",a);var o=i.a,s=o.a,u=o.b,c=$(rH,s.ak,a.ax);if(c.$){var l=$(rH,s.ak,a.e);if(l.$){var d={o:s,aE:0,aq:0,cT:na,dv:u,au:q([e])},f=z(a,{e:R(r_,s.ak,d,a.e)}),h=$(dz,$(dN,s.ak,na),f),v=h.a;return{a:h.b,b:q([S(d_,v,s.cR.f7,na,!1)])}}var d=l.a;return{a:z(a,{e:R(r_,s.ak,z(d,{au:$(J,e,d.au)}),a.e)}),b:U}}return c.a?(c.a,R(dJ,e,!0,a)):(c.a,R(dJ,e,!1,a))}),d0=x(function(e,t,n,r){var a=$(eE,eb,n);if(a.$){var i=a.a;return R(dP,e,nB(i),r)}var o=a.a,s=$(e$,c8,o);if(s.$){var i=s.a;return R(dP,e,nB(i),r)}var u=s.a;return sd(u.cS)&&sd(u.c7)?t>=200&&t<300?S(dG,e,!1,nr(o),r):R(dP,e,"Image information request failed ("+el(t)+").",r):S(dQ,e,u,nr(o),r)}),d1=w(function(e,t){return{$:2,a:e,b:t}}),d2=function(e){return R(nx,lP,rI,e)},d4=w(function(e,t){return M(rV,1,e,t,rC,rC)}),d3=function(e){return e.ak},d6=w(function(e,t){return $(uf,e,t)}),d5=w(function(e,t){var n=e.o.a9;if(n.$)return t;var r=n.a,a=d2($(an,function(e){return $(az,function(e){return e.b7},$(rH,e,t.D))},e.au)),i=$(aG,"",e.o.T.f7)+("|"+e.o.c3.f7)+"|"+r.f7,o=d3(e.o);return z(t,{ag:R(rj,i,function(e){if(e.$)return nr({aw:na,a5:$(d4,o,0),f7:i,a9:r,c$:a});var t=e.a;return nr(z(t,{aw:na,a5:$(lP,o,t.a5),c$:$(d6,a,t.c$)}))},t.ag)})}),d8=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=z(n,{ax:R(r_,a.o.ak,+!!t,n.ax)}),o=t?$(d5,a,i):i;return R(nx,w(function(e,n){var r=n.a,a=n.b,i=$(rH,e,r.D);if(i.$)return{a:r,b:a};var o=i.a,s=$(rH,o.b7,r.ar);if(s.$)return{a:r,b:a};var u=s.a,c={a:u.aG,b:o.aF};if(c.a||1!==c.b.$){var l=S(dG,e,t,na,r),d=l.a,f=l.b;return{a:d,b:G(a,f)}}c.b;var h=S(dD,e,t,u,r),d=h.a,f=h.b;return{a:d,b:G(a,f)}}),{a:$(dR,e,z(o,{e:$(rX,e,o.e)})),b:q([dm(e)])},a.au)}),d7=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;switch(a.o.T.be){case 0:return R(dk,e,na,n);case 1:return R(dV,e,t,n);default:return R(dH,e,a,n)}}),d9=function(e){return"Access was not granted ("+el(e)+")."},fe=$(ey,function(e){return e>=100&&e<=599?n1(e):av("Expected an HTTP status code between 100 and 599")},ef),ft=A(function(e,t,n,r,a,i,o){return{k:e,dT:a,gd:o,d0:i,dE:n,gQ:r,g_:t}}),fn="http://iiif.io/api/auth/2/context.json",fr=al(q([$(ep,"@context",eg),$(ep,"context",eg)])),fa=$(ey,function(e){return $(ah,fn,e)?n1(e):av("Expected "+fn+" but got "+e)},fr),fi=R(eC,w(function(e,t){return{f7:e,g_:t}}),cj,cq),fo=y(function(e,t,n){return $(ey,function(r){var a=$(e$,$(ep,e,eb),r);if(a.$)return n1(na);var i=a.a;if(!t)return av(e+" is not permitted for this probe status");var o=$(e$,n,i);return o.$?av(nB(o.a)):n1(nr(o.a))},eb)}),fs=$(ey,function(e){return $(aB,R(fo,"location",e>=300&&e<=399,fi),$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),$(aB,$(ex,aG(U),R(fo,"substitute",401===e||403===e,cz(eb))),$(aB,n1(e),$(aB,cX("AuthProbeResult2"),$(aB,fa,n1(ft))))))))},$(ep,"status",fe)),fu=x(function(e,t,n,r){var a=$(eE,fs,n);if(a.$)return R(dF,e,nB(a.a),r);var i=a.a;if(!H(i.gd,na)||!sd(i.gQ))return R(dL,e,"IIIF Auth redirect, substitute, and tiered access flows are not supported.",r);if(200===i.dE)return R(d8,e,!H(t,na),r);var o=$(rH,e,r.e);if(o.$)return{a:r,b:U};var s=o.a;switch(s.aq){case 0:return{a:z(r,{e:R(r_,e,z(s,{aq:1}),r.e)}),b:q([$(d1,e,d3(s.o))])};case 2:return $(dx,q([$(dw,e,d3(s.o))]),R(d7,e,d9(i.dE),r));case 6:return $(dx,q([$(dw,e,d3(s.o))]),R(dF,e,d9(i.dE),r));default:return R(dB,e,d9(i.dE),r)}}),fc=C(function(e,t,n,r,a){if(!(n>=200)||!(n<300))return R(dP,e,"Image information request failed ("+el(n)+").",a);var i=$(eE,eb,r);return i.$?R(dP,e,nB(i.a),a):S(dG,e,t,nr(i.a),a)}),fl=x(function(e,t,n,r){var a=$(rH,e,r.v);if(a.$)return{a:r,b:U};if(a.a.$){var i=a.a,o=i.a,s=i.b,u=z(r,{v:$(rX,e,r.v)});return S(fu,o,s,n,u)}var c=a.a,l=c.a,d=c.b,u=z(r,{v:$(rX,e,r.v)});return d.$?M(fc,l,d.a,t,n,u):S(d0,l,t,n,u)}),fd=y(function(e,t,n){return R(uu,y(function(t,n,r){return $(e,t,r)}),t,n)}),ff=function(e){var t=e.dh;return 1===t.$?$(az,function(e){return e.ak},$(aN,aL,u9(dK(t.a)))):na},fh=function(e){return R(ni,y(function(e,t,n){return $(J,t,n)}),U,e)},fv=w(function(e,t){return d2($(an,function(t){return $(aN,function(n){return $(lk,n,e)?nr(t.f7):na},ff(t))},fh(t)))}),fb=w(function(e,t){var n=$(rH,e,t.ag);if(n.$)return{a:t,b:U};var r=n.a,a=$(fv,r.a5,t.ar),i=nu($(d6,r.c$,a));return{a:z(t,{ax:R(fd,rX,t.ax,r.a5),ag:$(rX,e,t.ag)}),b:G($(rc,dw(e),nu(r.a5)),q([{$:7,a:i}]))}}),fg=y(function(e,t,n){var r=$(rH,e,n.v);return r.$?{a:n,b:U}:r.a.$?R(dF,r.a.a,t,z(n,{v:$(rX,e,n.v)})):R(dP,r.a.a,t,z(n,{v:$(rX,e,n.v)}))}),fp={$:0},fm=y(function(e,t,n){var r=$(dz,$(dU,e,fp),n),a=r.a;return{a:r.b,b:q([S(d_,a,t.aM,na,!1)])}}),fw=y(function(e,t,n){var r=$(rH,t,n.ar);if(r.$)return{a:n,b:q([$(dM,e,"Unknown image source.")])};var a=r.a,i=z(n,{D:R(r_,e,{aF:na,b7:t},n.D)}),o=a.dh;switch(o.$){case 0:return a.aG?S(dG,e,!1,na,i):R(fm,e,a,i);case 1:var s=o.a;return sd(s.cS)?sd(s.c7)?a.aG?S(dG,e,!1,na,i):R(fm,e,a,i):R(dP,e,dZ(s.c7),i):S(dQ,e,s,na,i);default:return R(dP,e,o.a,i)}}),fy=R(eC,w(function(e,t){return{bl:e,eH:t}}),$(ep,"accessToken",eg),al(q([$(ex,nr,$(ep,"expiresAt",ev)),n1(na)]))),fx=x(function(e,t,n,r){var a={a:$(rH,e,r.e),b:n};if(a.a.$)return{a:r,b:U};if(a.b.$)return a.b,R(d7,e,"No cached token was found.",r);var i=a.a.a,o=$(e$,fy,a.b.a);if(o.$)return $(dx,q([$(dw,e,d3(i.o))]),R(d7,e,"The cached token is invalid.",r));var s=o.a;if(!$(aG,!0,$(az,function(e){return 0>_(t,e)},s.eH)))return $(dx,q([$(dw,e,d3(i.o))]),R(d7,e,"The cached token has expired.",r));var u=$(dz,$(dN,e,nr(s.bl)),r),c=u.a,l=u.b;return{a:z(l,{e:R(r_,e,z(i,{aq:2}),l.e)}),b:q([S(d_,c,i.o.cR.f7,nr(s.bl),!1)])}}),fC=x(function(e,t,n,r){return{$:3,a:e,b:t,c:n,d:r}}),fI=C(function(e,t,n,r,a){return{bl:n,k:e,f$:r,e0:a,g_:t}}),fA=$(ey,function(e){return e>0?n1(e):av("Expected a positive integer")},ef),fE=R(aP,"messageId",eg,$(aB,$(cZ,"expiresIn",fA),R(aP,"accessToken",eg,$(aB,cX("AuthAccessToken2"),$(aB,fa,n1(fI)))))),f$=I(function(e,t,n,r,a,i){return{k:e,dT:r,e0:i,d0:a,be:n,g_:t}}),fR=$(ey,function(e){switch(e){case"expiredAspect":return n1(4);case"invalidAspect":return n1(3);case"invalidOrigin":return n1(1);case"invalidRequest":return n1(0);case"missingAspect":return n1(2);case"unavailable":return n1(5);default:return av("Unsupported Auth 2 token error profile: "+e)}},eg),fS=R(aP,"messageId",eg,$(aB,$(cZ,"note",iQ),$(aB,$(cZ,"heading",iQ),R(aP,"profile",fR,$(aB,cX("AuthAccessTokenError2"),$(aB,fa,n1(f$))))))),fM=x(function(e,t,n,r){var a=$(rH,e,r.e);if(a.$)return{a:r,b:U};var i=a.a,o=$(e$,fE,n);if(o.$){var s=o.a;return $(e$,fS,n).$?$(dx,q([$(dw,e,d3(i.o))]),R(dF,e,nB(s),r)):$(dx,q([$(dw,e,d3(i.o))]),R(dF,e,"The token service refused access.",r))}var u=o.a,c=t+1e3*$(aG,300,u.f$),l=$(dz,$(dN,e,nr(u.bl)),r),d=l.a,f=l.b;return{a:z(f,{e:R(r_,e,z(i,{aq:6}),f.e)}),b:q([S(fC,e,d3(i.o),u.bl,c),S(d_,d,i.o.cR.f7,nr(u.bl),!1),dm(e)])}}),fP=w(function(e,t){if(t.di)return{a:t,b:U};switch(e.$){case 0:var n=e.a;return R(fw,n,e.b,t);case 1:var n=e.a;return $(dS,n,t);case 2:var r=e.a;return S(fl,r,e.b,e.c,t);case 3:var r=e.a,a=e.b;return R(fg,r,a,t);case 4:var i=e.a,o=e.b,s=e.c;return S(fx,i,o,s,t);case 5:var i=e.a;return H(t.aa,nr(i))?S(dO,i,function(e){return z(e,{aq:4})},z(t,{ah:na}),U):{a:t,b:U};case 6:var i=e.a;return H(t.aa,nr(i))?R(dB,i,"The sign-in window was blocked. Allow popups and retry.",t):{a:t,b:U};case 7:var i=e.a,u={a:t.aa,b:$(rH,i,t.e)};if(u.a.$||u.b.$)return{a:t,b:U};var c=u.a.a,l=u.b.a;if(H(c,i)){var d=i+"-"+el(l.aE+1);return S(dO,i,function(e){return z(e,{aq:5})},t,q([R(dy,i,l.o.c3.f7,d)]))}return{a:t,b:U};case 8:var i=e.a,o=e.b,s=e.c;return S(fM,i,o,s,t);case 9:var i=e.a,a=e.b;return $(dx,function(){var e=$(rH,i,t.e);if(e.$)return U;var n=e.a;return q([$(dw,i,d3(n.o))])}(),R(dF,i,a,t));case 10:var f=e.a;return $(fb,f,t);case 11:var f=e.a;return{a:z(t,{ag:R(rj,f,az(function(e){return z(e,{aw:nr("The logout window was blocked. Allow popups and try again.")})}),t.ag)}),b:U};case 12:return{a:t,b:U};case 13:var h=t.ah;if(!h.$)return R(dL,h.a.dl,"Authorization was cancelled.",t);return{a:t,b:U};default:var v=G($(rc,dp,ns(t.v)),$(rc,dm,ns(t.e)));return{a:z(t,{aa:na,ah:na,di:!0,e:rI,v:rI,D:rI,Z:U,ag:rI}),b:v}}}),fL=w(function(e,t){return z(t,{eJ:e(t.eJ)})}),fT=e3("zoomBy",ek),fk=w(function(e,t){return{a:e,b:fT(t)}}),fO=function(e){var t=e.B;return t||e._},fH=w(function(e,t){switch(e.$){case 0:var n=$(fP,e.a,t.dh),r=n.a,a=n.b;return{a:z(t,{dh:r}),b:eQ($(rc,dv,a))};case 1:var i=e.a,o=function(){switch(i){case"spread":return{a:1,b:!1};case"spread-shift":return{a:1,b:!0};default:return{a:0,b:!1}}}(),s=o.a,u=o.b;return{a:z(t,{b3:u,cd:s}),b:lL($(cx,s,u))};case 2:var c=e.a,l=e.b;return{a:z(t,{dW:!0,X:!0,bd:nr(c)}),b:R(sM,$(uO,c,l),t.av,l)};case 3:var d=e.a;return{a:z(t,{dm:d}),b:lI};case 4:var f=e.a;return R(l$,!1,f,t);case 5:var f=e.a;return R(l$,!0,f,t);case 6:return{a:z(t,{bi:!1}),b:lI};case 7:var h=e.a,v=e.b,b=t.H;if(2===b.$){var g=b.a,p=$(lO,h,g.al);if(v.$)return{a:z(t,{H:uP(z(g,{al:p}))}),b:lI};var m=v.a;if(1===m.$){var w=m.a.b,y=g.u,x=y.a,C=y.b,I=z(g,{u:$(am,x,R(lH,h,w,C)),cJ:$(lP,h,g.cJ),al:p});return{a:z(t,{H:uP(I)}),b:lI}}return{a:z(t,{H:uP(z(g,{al:p}))}),b:lI}}return{a:t,b:lI};case 8:var A=e.a,v=e.b,E=t.H;if(2===E.$){var g=E.a;if(H(g.dA,nr(A)))if(v.$){var M=v.a;return{a:z(t,{X:!1,b0:{$:3,a:lM(M)}}),b:lI}}else{var P=v.a;return S(lm,"collection-"+A,na,t,P)};}return{a:t,b:lI};case 9:var v=e.a;if(t.dW)return{a:t,b:lI};if(v.$){var M=v.a;return{a:z(t,{X:!1,H:{$:3,a:lM(M)}}),b:dr({ac:lM(M),fl:"initial",aM:t.ba})}}var m=v.a;switch(m.$){case 0:var P=m.a,L=S(lm,"initial",nr(t.cG),t,P),T=L.a,k=L.b;return{a:z(T,{a3:!1,H:uL(P)}),b:eQ(q([k,da({cA:!sd(T.ap),cO:$(aG,0,T.R),fl:"initial",aM:t.ba})]))};case 1:var O=m.a,V=O.a,B=O.b;return{a:z(t,{dh:rE,a3:!0,X:!1,ap:U,H:uP({u:$(am,V,B),bL:rI,cJ:rI,al:rI,dA:na}),b0:uM,R:na}),b:eQ(q([u5("initial"),da({cA:!1,cO:0,fl:"initial",aM:t.ba})]))};default:return{a:z(t,{X:!1}),b:dr({ac:"URL did not return a supported IIIF resource.",fl:"initial",aM:t.ba})}}case 10:var c=e.a,l=e.b,v=e.c;if(H(t.bd,nr(c)))if(v.$){var M=v.a;return{a:z(t,{X:!1,bd:na}),b:dr({ac:lM(M),fl:c,aM:l})}}else{var m=v.a;switch(m.$){case 0:var P=m.a,F=S(lm,c,na,t,P),T=F.a,k=F.b;return{a:z(T,{a3:!1,ba:l,bd:na,H:uL(P)}),b:eQ(q([k,da({cA:!sd(T.ap),cO:0,fl:c,aM:l})]))};case 1:var N=m.a,V=N.a,B=N.b;return{a:z(t,{dh:rE,a3:!0,X:!1,ba:l,ap:U,bd:na,H:uP({u:$(am,V,B),bL:rI,cJ:rI,al:rI,dA:na}),b0:uM,R:na}),b:eQ(q([u5(c),da({cA:!1,cO:0,fl:c,aM:l})]))};default:return{a:z(t,{X:!1,bd:na}),b:dr({ac:"URL did not return a supported IIIF resource.",fl:c,aM:l})}}}return{a:t,b:lI};case 11:var D=co(t.cu);if(D.$){var M=D.a;return{a:z(t,{bN:nr(M)}),b:lI}}var J=D.a,X=cd(J),T=z(t,{eJ:J,bN:na,cu:X});return{a:T,b:lE(T)};case 12:var j,W=e.a,Z=(j=t.$7).$?nr(W):nr(j.a);return{a:z(t,{dO:nr(W),$7:Z}),b:lI};case 13:return{a:z(t,{dZ:!1}),b:lI};case 14:var T=z(t,{eJ:sP,ds:!1,aJ:0,cP:!1});return{a:T,b:u1(na)};case 15:var h=e.a,Y=t.H;if(2===Y.$){var g=Y.a,K=$(lk,h,g.bL)?$(lO,h,g.bL):$(lP,h,g.bL),C=g.u.b,Q=$(aG,!0,$(az,$(rW,function(e){return e.aH},sd),$(cf,h,C)))&&!$(lk,h,g.cJ)&&!$(lk,h,g.al),p=Q?$(lP,h,g.al):g.al,I=z(g,{bL:K,al:p});return{a:z(t,{H:uP(I)}),b:Q?R(sM,uT(h),t.av,h):lI}}return{a:t,b:lI};case 16:var A=e.a,ee=e.b,et=t.H;if(2===et.$){var g=et.a;return{a:z(t,{X:!0,H:uP(z(g,{dA:nr(A)})),b0:rp}),b:R(dt,uk(A),t.av,ee)}}return{a:t,b:lI};case 17:return{a:z(t,{dZ:!0}),b:lI};case 18:var T=z(t,{aJ:0,cP:!0,dt:!0,B:fO(t)});return{a:T,b:lE(T)};case 19:var f=e.a,T=z(t,{aJ:f});return{a:T,b:lE(T)};case 20:return $(lS,1,t);case 21:return $(lS,-1,t);case 22:var en=e.a,er=en.$?lI:lR(en.a),T=z(t,{cQ:en,R:en.$?t.R:nr(en.a),B:fO(t),bi:!0});return{a:T,b:eQ(q([er,lE(T)]))};case 23:return{a:t,b:db(0)};case 24:var f=e.a,T=z(t,{aJ:0,R:nr(f),B:fO(t),bi:!1});return{a:T,b:eQ(q([lR(f),$(lA,1===T.B,f),lE(T)]))};case 25:return $(fk,t,1.6);case 26:return $(fk,t,.625);case 27:var X=cd(t.eJ);return{a:z(t,{bN:na,cu:X}),b:u8(X)};case 28:var ea=e.a,ei=t.co;if(ei.$)return{a:t,b:lI};var eo=ei.a,es=R(rx,240,480,eo.dC+(ea-eo.dD));return{a:z(t,{dL:es}),b:lI};case 29:var ea=e.a,eu=t.cX;if(eu.$)return{a:t,b:lI};var eo=eu.a,ec=eo.dD-ea,es=R(rx,220,520,eo.dC+ec);return{a:z(t,{b4:es}),b:lI};case 30:return{a:z(t,{co:na}),b:lI};case 31:return{a:z(t,{cX:na}),b:lI};case 32:var T=z(t,{eJ:sP,bN:na});return{a:T,b:lE(T)};case 33:var T=$(fL,dn,t);return{a:T,b:lE(T)};case 34:return{a:z(t,{dN:0}),b:lI};case 35:return{a:z(t,{dN:1}),b:lI};case 36:var ea=e.a;return{a:z(t,{co:nr({dC:t.dL,dD:ea})}),b:lI};case 37:var ea=e.a;return{a:z(t,{cX:nr({dC:t.b4,dD:ea})}),b:lI};case 38:return{a:z(t,{_:3,B:3}),b:lI};case 39:if(2===t.H.$)return{a:z(t,{a3:!t.a3}),b:lI};return{a:t,b:lI};case 40:var el=e.a,d=e.b,T=$(fL,$(uD,el,d),t);return{a:T,b:lE(T)};case 41:var ed=e.a,ef=$(lk,ed,t.ct)?$(lO,ed,t.ct):$(lP,ed,t.ct);return{a:z(t,{ct:ef}),b:lI};case 42:var eh=!t.dm;return{a:z(t,{dm:eh}),b:dg(eh)};case 43:return{a:z(t,{_:2,B:2}),b:lI};case 44:return{a:z(t,{ds:!t.ds}),b:lI};case 45:return{a:z(t,{dt:!t.dt}),b:lI};case 46:var ev=e.a;return{a:z(t,{ea:H(t.ea,nr(ev))?na:nr(ev)}),b:lI};case 47:if(t.cd){var u=!t.b3;return{a:z(t,{b3:u}),b:lL($(cx,1,u))}}return{a:t,b:lI};case 48:return t.dp?t.bS?{a:z(t,{bS:!1,B:0}),b:lI}:{a:z(t,{bS:!0,B:t._}),b:lI}:t.B?{a:z(t,{B:0}),b:lI}:{a:z(t,{B:t._}),b:lI};case 49:var eb=function(){var e={a:t.cQ,b:t.R};if(e.a.$)if(e.b.$)return lI;else{e.a;var n=e.b.a;return $(lA,!0,n)}var n=e.a.a;return $(lA,!0,n)}(),T=z(t,{_:1,B:1});return{a:z(T,{cQ:na,bi:!t.cQ.$}),b:eb};case 50:var eg=+!t.cd;return{a:z(t,{cd:eg}),b:lL($(cx,eg,t.b3))};case 51:var ep=e.a,em=e.b,T=$(fL,$(uq,ep,em),t);return{a:T,b:lE(T)};case 52:var ew=e.a,em=e.b,T=$(fL,$(uZ,ew,em),t);return{a:T,b:lE(T)};case 53:var em=e.a;return{a:z(t,{bN:na,cu:em}),b:lI};case 54:var ey=e.a,em=e.b,T=$(fL,$(uQ,ey,em),t);return{a:T,b:lE(T)};case 55:return{a:z(t,{X:e.a}),b:lI};case 56:var T=1>_(e.a,720)?z(t,{dp:!0,bS:!1,B:0}):z(t,{dp:!1,bS:!1});return{a:T,b:lI};case 57:var f=e.a,ex=$(cv,f,t.ap);if(!ex.$)return $(l9,ex.a.M,t);return{a:t,b:lI};case 58:var eC=e.a,v=e.b,T=z(t,{a1:$(lO,eC,t.a1)});if(v.$)return{a:T,b:lI};var eI=G(v.a,$(aG,U,$(rH,eC,T.aC)));return{a:z(T,{aC:R(r_,eC,eI,T.aC)}),b:uG({de:$(rc,cc($(u_,eC,T)),eI),M:eC})};default:return{a:z(t,{df:!t.df}),b:uU(!t.df)}}}),fV=w(function(e,t){return $(tC,e,ek(t))}),fB=fV("className"),fF=function(e){return fB($(nm," ",$(rc,nW,$(iR,la,e))))},f_=tf("div"),fN=fV("id"),fz=cb(function(e){return e.dX}),fG=cb(function(e){return e.fm}),fU={$:13},fD=w(function(e,t){return $(tI,t$.test(e)?"data-"+e:e,tM(t))}),fJ=tf("button"),fq=tf("h2"),fX=w(function(e,t){return $(ty,e,{$:0,a:t})}),fj=function(e){return $(fX,"click",n1(e))},fW=tf("p"),fZ=fV("type"),fY=w(function(e,t){var n=w(function(t,n){return $(aG,n,$(az,cA(e.ey),t))}),r=$(aG,$(n,t.d0,"Sign in to view this image."),t.aw);return $(f_,q([fB("diva-auth-overlay"),$(fD,"role","dialog"),$(fD,"aria-modal","true")]),q([$(f_,q([fB("diva-auth-dialog")]),q([$(fq,U,q([tl($(n,t.dT,"Sign in required"))])),$(fW,U,q([tl(r)])),$(fJ,q([fZ("button"),$(fD,"data-diva-auth-flow",t.dl),$(fD,"data-diva-auth-url",t.el)]),q([tl(H(t.aw,na)?$(n,t.dM,"Sign in"):"Retry")])),$(fJ,q([fZ("button"),fj(sk(fU))]),q([tl("Cancel")]))]))]))}),fK=function(e){return tf(tE.test(e)?"p":e)},fQ=tl(""),f0=w(function(e,t){return t?e:fQ}),f1=w(function(e,t){return t.$?fQ:e(t.a)}),f2=(s=q([.2,.3,.4,.1,.2,.3,0,.1,.2]),$(f_,q([fB("diva-throbber-overlay")]),q([$(f_,q([fB("diva-throbber")]),$(rc,function(e){return $(f_,q([fB("diva-throbber-cube"),$(tx,"animation-delay",el(e)+"s")]),U)},s))]))),f4=function(e){var t=e.a,n=e.b,r=e.c;return $(f_,q([fB("diva-viewer-status-overlay")]),q([$(f_,q([fB("diva-modal is-narrow")]),q([$(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title")]),q([tl(t)]))])),$(f_,q([fB("diva-modal-body is-no-sidebar")]),q([$(f_,q([fF(q([{a:"diva-status",b:!0},{a:"is-error",b:r}]))]),q([tl(n)]))]))]))]))},f3=function(e){return $(f_,q([fB("diva-viewer-zoom-indicator")]),q([tl(e)]))},f6=C(function(e,t,n,r,a){return $(f_,q([fB("diva-canvas-wrapper")]),q([R(fK,"osd-viewer",q([fF(q([{a:"diva-canvas",b:!0},{a:"is-fullscreen",b:e},{a:"has-collection",b:n}])),fN("main-viewer")]),U),$(f0,f2,t),$(f1,f4,r),$(f1,f3,a)]))}),f5=function(e){return{$:36,a:e}},f8=tf("li"),f7=tf("ul"),f9=w(function(e,t){return{$:16,a:e,b:t}}),he=y(function(e,t,n){var r=$(cA,e,n.dX);return $(f8,U,q([$(fJ,q([fF(q([{a:"diva-manifest-tree-item",b:!0},{a:"diva-ui-button",b:!0},{a:"is-active",b:H(t.dA,nr(n.f7))}])),fZ("button"),fj($(f9,n.f7,n.f7))]),q([tl(r)]))]))}),ht=y(function(e,t,n){return n.$?R(he,e,t,n.a):R(hr,e,t,n.a)}),hn=y(function(e,t,n){return $(f7,q([fB("diva-collection-list diva-list-reset")]),$(rc,R(tg,ht,e,t),n))}),hr=y(function(e,t,n){var r=$(cA,e,n.dX),a=$(lk,n.f7,t.bL),i=function(){if(!a)return U;var r=$(lk,n.f7,t.al)?q([$(f_,q([fB("diva-contents-empty")]),q([tl("Loading…")]))]):U;return $(J,R(hn,e,t,n.aH),r)}();return $(f8,q([fB("diva-collection-tree-item")]),$(J,$(fJ,q([fB("diva-collection-node-button diva-ui-button"),fZ("button"),fj({$:15,a:n.f7})]),q([$(f_,q([fB("diva-collection-expand-icon")]),q([tl(a?"▼":"▶")])),tl(r)])),i))}),ha=w(function(e,t){var n=t.u.b,r=$(cA,e.ey,n.dX);return $(f_,q([fF(q([{a:"diva-collection-panel",b:!0},{a:"is-fullscreen",b:e.dm},{a:"is-hidden",b:!e.a3}])),$(tx,"width",e.a3?el(e.dL)+"px":"0px")]),q([$(f_,q([fB("diva-collection-header")]),q([$(f_,q([fB("diva-collection-title")]),q([tl(r)])),$(f1,function(t){return $(f_,q([fB("diva-collection-summary")]),q([tl($(cA,e.ey,t))]))},n.gR)])),$(f_,q([fB("diva-sidebar-content")]),q([$(f_,q([fB("diva-sidebar-pane is-scroll")]),q([R(hn,e.ey,t,n.aH)]))]))]))}),hi=function(e){var t=e.H;return 2===t.$?$(ha,e,t.a):fQ},ho=tf("a"),hs=function(e){return $(fV,"href",tR.test(e)?"":e)},hu=function(e){switch(e.$){case 0:return e.a;case 1:return"none";default:return"default"}},hc=tI("rel"),hl=function(e){return{$:0,a:e}},hd=y(function(e,t,n){return{$:1,a:e,b:t,c:n}}),hf=w(function(e,t){var n=t.ad;if(!n.b)return z(t,{cV:$(J,e,t.cV)});var r=n.a,a=n.b;return z(t,{ad:$(J,z(r,{cn:$(J,e,r.cn)}),a)})}),hh=function(e){var t=e.ad;if(!t.b)return e;var n=t.a,r=t.b;return $(hf,R(hd,n.cK,n.dJ,nO(n.cn)),z(e,{ad:r}))},hv=w(function(e,t){for(;;){var n=t.ad;if(!n.b)return t;var r=n.a,a=hh(t);if(H(r.cK,e))return a;t=a}}),hb=w(function(e,t){switch(e.$){case 0:var n,r=e.a,a=e.b;return e.c||"br"===(n=r)||"img"===n?$(hf,R(hd,r,a,U),t):z(t,{ad:$(J,{dJ:a,cn:U,cK:r},t.ad)});case 1:var r=e.a;return $(ad,function(e){return H(e.cK,r)},t.ad)?$(hv,r,t):t;default:var i=e.a;return n7(i)?t:$(hf,hl(i),t)}}),hg=function(e){for(;;){if(!e.ad.b)return e;e=hh(e)}},hp=function(e){return{$:1,a:e}},hm=function(e){return{$:0,a:e}},hw=w(function(e,t){return{$:1,a:e,b:t}}),hy=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),hx=w(function(e,t){return{$:1,a:e,b:t}}),hC=x(function(e,t,n,r){return{dK:t,fU:r,d6:n,d9:e}}),hI={$:0},hA=w(function(e,t){return $(hx,hI,S(hC,e.d9,e.dK,t,e.k))}),hE=(u={$:10},function(e){return H(n5(e.d),e.h)?R(hy,!1,0,e):$(hw,!1,$(hA,e,u))}),h$=w(function(e,t){return function(n){var r=t(n);if(r.$){var a=r.a;return $(hw,a,r.b)}var a=r.a,i=r.b,o=r.c;return R(hy,a,e(i),o)}}),hR=w(function(e,t){return{$:2,a:e,b:t}}),hS=y(function(e,t,n){for(;;)if(!n.b)return $(hw,!1,t);else{var r=n.a,a=n.b,i=r(e);if(i.$){var o=i,s=o.a,u=o.b;if(s)return o;var c=e,l=$(hR,t,u);e=c,t=l,n=a;continue}var o=i;return o}}),hM=function(e){return function(t){return R(hS,t,hI,e)}},hP=function(e){return{$:2,a:e}},hL=function(e){return function(t){var n=e(t);return 1===n.$?$(hw,!1,n.b):R(hy,!1,n.b,n.c)}},hT=x(function(e,t,n,r){return $(hx,hI,S(hC,e,t,n,r))}),hk=w(function(e,t){return{$:0,a:e,b:t}}),hO=y(function(e,t,n){return function(r){var a=t(r);if(1===a.$){var i=a.a,o=a.b;return $(hw,i,o)}var s=a.a,u=a.b,c=n(a.c);if(1===c.$){var l=c.a,o=c.b;return $(hw,s||l,o)}var l=c.a,d=c.b,f=c.c;return R(hy,s||l,$(e,u,d),f)}}),hH=w(function(e,t){return R(hO,uY,e,t)}),hV=function(e){return function(t){return R(hy,!1,e,t)}},hB=function(e){var t=e.a,n=e.b,r=!n7(t);return function(e){var a=M(ne,t,e.h,e.d9,e.dK,e.d),i=a.a,o=a.b,s=a.c;return H(i,-1)?$(hw,!1,$(hA,e,n)):R(hy,r,0,{dK:s,k:e.k,p:e.p,h:i,d9:o,d:e.d})}},hF=function(e){return hB($(hk,e,{$:8,a:e}))},h_=$(hH,$(hH,hV(hP("")),hF("\x3c!--")),(t=(e=$(hk,"--\x3e",{$:0,a:"--\x3e"})).a,n=e.b,function(e){var r=M(nn,t,e.h,e.d9,e.dK,e.d),a=r.a,i=r.b,o=r.c;return H(a,-1)?$(hw,!1,S(hT,i,o,n,e.k)):R(hy,0>_(e.h,a),0,{dK:o,k:e.k,p:e.p,h:a,d9:i,d:e.d})})),hN=w(function(e,t){return R(hO,nJ,e,t)}),hz={$:11},hG=w(function(e,t){return function(n){var r=R(nt,e,n.h,n.d);return H(r,-1)?$(hw,!1,$(hA,n,t)):H(r,-2)?R(hy,!0,0,{dK:1,k:n.k,p:n.p,h:n.h+1,d9:n.d9+1,d:n.d}):R(hy,!0,0,{dK:n.dK+1,k:n.k,p:n.p,h:r,d9:n.d9,d:n.d})}}),hU=function(e){return $(hG,e,hz)},hD=C(function(e,t,n,r,a){for(;;){var i=R(nt,e,t,a.d);if(H(i,-1))return R(hy,0>_(a.h,t),0,{dK:r,k:a.k,p:a.p,h:t,d9:n,d:a.d});if(H(i,-2)){var o=e,s=t+1,u=n+1,c=1,l=a;e=o,t=s,n=u,r=c,a=l;continue}var o=e,s=i,u=n,c=r+1,l=a;e=o,t=s,n=u,r=c,a=l}}),hJ=function(e){return function(t){return M(hD,e,t.h,t.d9,t.dK,t)}},hq=function(e){return $(hH,$(hH,hV(0),hU(e)),hJ(e))},hX=w(function(e,t){return function(n){var r=t(n);if(1===r.$){var a=r.a;return $(hw,a,r.b)}var a=r.a,i=r.b,o=r.c;return R(hy,a,$(e,R(ea,n.h,o.h,n.d),i),o)}}),hj=function(e){return $(hX,uY,e)},hW=$(h$,lc,hj(hq(function(e){return nP(e)||nT(e)||"-"===e}))),hZ=function(e){return $(iF,e,q([" "," ","\n","\r","\f"]))},hY=hJ(hZ),hK=$(hN,$(hH,hV(function(e){return{$:1,a:e}}),hF(""))),hQ=w(function(e,t){return function(n){var r=t(n);if(1===r.$){var a=r.a,i=r.b;return $(hw,a,i)}var o=r.a,s=r.b,u=r.c,c=e(s)(u);if(1===c.$){var l=c.a,i=c.b;return $(hw,o||l,i)}var l=c.a;return R(hy,o||l,c.b,c.c)}}),h0=x(function(e,t,n,r){for(;;){var a=n(t)(r);if(a.$){var i=a.a;return $(hw,e||i,a.b)}var i=a.a,o=a.b,s=a.c;if(o.$)return R(hy,e||i,o.a,s);var u=o.a,c=n;e=e||i,t=u,n=c,r=s}}),h1=w(function(e,t){return function(n){return S(h0,!1,e,t,n)}}),h2=function(e){return e.$?{$:1,a:e.a}:{$:0,a:e.a}},h4=w(function(e,t){return $(h1,e,function(e){return $(h$,h2,t(e))})}),h3=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),h6=function(e){return $(hN,$(hH,hV(n4),hU(B(e))),$(hH,hj(hJ(F(e))),hU(B(e))))},h5=hM(q([h6('"'),h6("'"),hj(hq(function(e){return!(hZ(e)||">"===e||"/"===e)}))])),h8=function(e){var t;return e>=0&&e<=1114111?nr(cs((t=e)<0||1114111="0"&&e<="9"?nr(nL(e)-nL("0")):e>="a"&&e<="f"?nr(10+nL(e)-nL("a")):e>="A"&&e<="F"?nr(10+nL(e)-nL("A")):na};return n.a.$||n.b.$?na:nr(16*n.a.a+n.b.a)}),h9=function(e){var t;return $(es,"#x",e)||$(es,"#X",e)?$(aN,h8,n7(t=$(n8,2,e))?na:R(nx,h7,nr(0),ck(t))):$(es,"#",e)?$(aN,h8,re($(n8,1,e))):na},ve=function(e){switch(e){case"amp":return nr("&");case"apos":return nr("'");case"copy":return nr("©");case"gt":return nr(">");case"hellip":return nr("…");case"lt":return nr("<");case"mdash":return nr("—");case"nbsp":return nr(" ");case"ndash":return nr("–");case"quot":return nr('"');case"reg":return nr("®");default:return h9(e)}},vt=function(e){var t=$(nw,";",e);if(!t.b||!t.b.b)return"&"+e;var n=t.a,r=t.b,a=r.a,i=r.b;return $(aG,"&"+e,$(az,function(e){return G(e,$(nm,";",$(J,a,i)))},ve(n)))},vn=function(e){var t=$(nw,"&",e);if(!t.b)return e;var n=t.a,r=t.b;return R(nx,w(function(e,t){return G(t,vt(e))}),n,r)},vr=$(hQ,function(e){return $(hN,$(hH,hV(function(t){return{a:e,b:vn(t)}}),hY),hM(q([$(hN,$(hH,$(hH,hV(n4),hF("=")),hY),h5),hV("")])))},$(h$,lc,hj(hq(function(e){return!(hZ(e)||"="===e||">"===e||"/"===e)})))),va=$(hH,$(hH,hV(0),hU(hZ)),hJ(hZ)),vi=w(function(e,t){return hM(q([$(h$,function(n){return hp(R(h3,e,nO(t),!0))},hF("/>")),$(h$,function(n){return hp(R(h3,e,nO(t),!1))},hF(">")),$(h$,function(e){return hm(t)},va),$(h$,function(e){return hm($(J,e,t))},vr)]))}),vo=hM(q([hK,$(hQ,function(e){return $(h4,U,vi(e))},$(hN,$(hH,hV(n4),hF("<")),hW))])),vs=$(h$,$(rW,vn,hP),hj(hq(F("<")))),vu=hM(q([hL(h_),$(h$,function(e){return hP("")},hF("--\x3e")),hL(vo),vs,$(h$,function(e){return hP("<")},hF("<"))])),vc=$(h4,U,function(e){return hM(q([$(h$,function(t){return hp(nO(e))},hE),$(h$,function(t){return hm($(J,t,e))},vu)]))}),vl={ad:U,cV:U},vd=y(function(e,t,n){return{dK:t,d6:n,d9:e}}),vf=function(e){return R(vd,e.d9,e.dK,e.d6)},vh=w(function(e,t){for(;;)switch(e.$){case 0:return t;case 1:var n=e.a,r=e.b,a=n,i=$(J,r,t);e=a,t=i;continue;default:var n=e.a,o=e.b,a=n,i=$(vh,o,t);e=a,t=i;continue}}),vv=w(function(e,t){var n=e({dK:1,k:U,p:1,h:0,d9:1,d:t});return n.$?nf($(vh,n.b,U)):ng(n.b)}),vb=w(function(e,t){var n=$(vv,e,t);return n.$?nf($(rc,vf,n.a)):ng(n.a)}),vg=function(e){var t=lc(e.trim());return $(es,"https://",t)||$(es,"http://",t)||$(es,"mailto:",t)||$(es,"tel:",t)||$(es,"/",t)||$(es,"./",t)||$(es,"../",t)||$(es,"#",t)||$(es,"?",t)||!$(eo,":",t)},vp=function(e){var t=e.a,n=e.b;return"href"===t&&vg(n)?nr({a:t,b:n}):na},vm=w(function(e,t){switch(e){case"a":return G($(an,vp,t),q([{a:"target",b:"_blank"},{a:"rel",b:"noopener noreferrer"}]));case"img":return $(iR,function(e){var t=e.a;return"src"===t||"alt"===t},t);default:return U}}),vw=function(e){if(!e.$)return q([hl(e.a)]);var t=e.a,n=e.b,r=vy(e.c);return $(iF,t,q(["div","p","br","em","i","strong","b","a","ul","ol","li","dl","dt","dd","span","img"]))?q([R(hd,t,$(vm,t,n),r)]):r},vy=function(e){return $(iP,vw,e)},vx=function(e){var t=$(vb,vc,e);return t.$?q([hl(e)]):vy(nO(hg(R(nx,hb,vl,t.a)).cV))},vC=function(e){return $(fD,e.a,e.b)},vI=function(e){if(!e.$)return tl(e.a);var t=e.a,n=e.b,r=e.c;return R(fK,t,$(rc,vC,n),$(rc,vI,r))},vA=function(e){return $(rc,vI,vx(e))},vE=fV("target"),v$=function(e){switch(e){case 0:return"Left to Right";case 1:return"Right to Left";case 2:return"Top to Bottom";default:return"Bottom to Top"}},vR=function(e){switch(e){case 0:return"Auto-advance";case 1:return"No auto-advance";case 2:return"Repeat";case 3:return"No repeat";case 4:return"Unordered";case 5:return"Individuals";case 6:return"Continuous";case 7:return"Paged";case 8:return"Facing pages";case 9:return"Non-paged";case 10:return"Multi-part";case 11:return"Together";case 12:return"Sequence";case 13:return"Thumbnail nav";case 14:return"No nav";default:return"Hidden"}},vS=function(e){switch(e){case 0:return"Paged";case 1:return"Individuals";case 2:return"Continuous";case 3:return"Multi-part";case 4:return"Non-paged";case 5:return"Top";default:return"Facing pages"}},vM=function(e){if(!e.$)return"Hint: "+vS(e.a);var t=e.a;return sd(t)?"Behavior: None":"Behavior: "+$(nm,", ",$(rc,vR,t))},vP=w(function(e,t){var n=el($(aG,0,$(az,nC,lh(t)))),r=function(){var t=e.H;switch(t.$){case 1:default:return e.ba;case 2:var n=t.a;return $(aG,e.ba,n.dA)}}(),a=el(nC(cg(t))),i=t.a,o=t.b,s=$(aG,"None",$(az,cA(e.ey),o.gR)),u=v$(o.g1),c=vM(o.g2),l=function(){switch(i){case 0:return"IIIF v1";case 1:return"IIIF v2";default:return"IIIF v3"}}();return $(J,{a:"Manifest URL",b:$(ho,q([hs(r),vE("_blank"),hc("noopener noreferrer")]),q([tl(r)]))},G(sd(e.av)?U:q([{a:"Accept Headers",b:tl($(nm,", ",e.av))}]),q([{a:"Detected User Language",b:tl(hu(e.ey))},{a:"IIIF Version",b:tl(l)},{a:"Viewing Hint / Behavior",b:tl(c)},{a:"Viewing Direction",b:tl(u)},{a:"Summary",b:"None"===s?tl(s):$(f_,U,vA(s))},{a:"Canvases",b:tl(a)},{a:"Ranges",b:tl(n)}])))}),vL=fV("alt"),vT=tf("img"),vk=function(e){var t=$(aN,aL,e.ft);if(t.$)return nr(e.f7);var n=t.a;return $(az,$(rW,cB(im(256)),cV),iO(n.f7))},vO=function(e){return $(fV,"src",tM(e))},vH=cb(function(e){return e.ge}),vV=cb(function(e){return e.ff}),vB=w(function(e,t){var n=function(){var e=$(aN,aL,vV(t));if(e.$)return{a:na,b:$(aN,aL,ld(t))};var n=e.a;return{a:$(aN,aL,n.ge),b:$(aN,aL,n.f6)}}(),r=n.a,a=n.b,i=r.$?$(az,$(rW,function(e){return e.f7},$(rW,cB(im(256)),cV)),vH(t)):vk(r.a);return H(i,na)&&H(a,na)?fQ:$(f_,U,q([$(f1,function(e){return $(vT,q([fB("diva-manifest-info-logo"),vO(e),vL("Manifest logo")]),U)},i),$(f1,function(t){var n=$(cA,e,t.dX);return $(ho,q([hs(t.f7),vE("_blank"),hc("noopener noreferrer")]),q([tl(n)]))},a)]))}),vF=function(e){var t=e.a,n=e.b;return $(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl(t)])),$(f_,q([fB("diva-metadata-value")]),q([n]))]))},v_=w(function(e,t){var n=$(aG,q([{a:"Manifest",b:tl("Not loaded")}]),$(az,vP(e),t)),r=$(f1,vB(e.ey),t);return $(f_,q([fB("diva-modal-body is-two-column")]),q([$(f_,q([fB("diva-metadata-body")]),$(rc,vF,n)),$(f_,q([fB("diva-manifest-info-logo-wrap")]),q([r]))]))}),vN={$:13},vz=tI("d"),vG=tI("fill"),vU=tI("height"),vD=td("http://www.w3.org/2000/svg"),vJ=vD("path"),vq=vD("svg"),vX=tI("viewBox"),vj=tI("width"),vW=function(e){return $(vq,q([vX(e.t),vj("100%"),vU("100%"),vG("currentColor")]),q([$(vJ,q([vz(e.s)]),U)]))},vZ=vW({s:"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z",t:"0 0 512 512"}),vY=w(function(e,t){return $(tC,e,ek(t))}),vK=vY("disabled"),vQ=w(function(e,t){var n,r,a=(n=q([fF(q([{a:"diva-canvas-toolbar-button",b:!0},{a:"is-disabled",b:H(t.d3,na)},{a:"is-fullscreen",b:t.eY}])),fZ("button"),$(fD,"aria-label",t.dX)]),(r=t.d3).$?$(J,vK(!0),G(e,n)):$(J,fj(r.a),G(e,n)));return $(f_,q([fB("diva-canvas-toolbar-item"),$(fD,"data-tooltip",t.dX)]),q([$(fJ,a,q([t.eS]))]))}),v0=function(e){return $(vQ,U,e)},v1=function(e){var t=e.dm;return $(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title")]),q([tl("Manifest Info")])),$(f_,q([fB("diva-modal-actions")]),q([$(f_,q([fB("diva-modal-close-action")]),q([v0({eS:vZ,eY:t,dX:"Close",d3:nr(vN)})]))]))]))},v2=tf("h1"),v4=y(function(e,t,n){return e&&!n7(n)?$(v2,q([fF(q([{a:"diva-app-title",b:!0},{a:"is-fullscreen",b:t}]))]),q([tl(n)])):fQ}),v3=tf("span"),v6=w(function(e,t){var n=$(rH,e,t.ar);if(n.$)return na;var r=n.a;return uF(r.dh)?$(az,function(e){return e?"use-credentials":"anonymous"},$(aN,function(e){return $(rH,e,t.ax)},ff(r))):nr("anonymous")}),v5=x(function(e,t,n,r){return $(fJ,q([fF(q([{a:"diva-page-view-choice",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:H(n,t)}])),fZ("button"),fj({$:19,a:n})]),q([function(){var t=$(v6,r.b7,e);if(t.$)return $(f_,q([fB("diva-page-view-choice-thumb diva-page-view-choice-thumb--protected"),$(fD,"aria-label","Protected image")]),U);var n=t.a;return $(vT,q([fB("diva-page-view-choice-thumb"),vO(r.bh),vL(r.dX),$(fD,"loading","lazy"),$(fD,"crossorigin",n)]),U)}(),$(v3,q([fB("diva-page-view-choice-label")]),q([tl(r.dX)]))]))}),v8=y(function(e,t,n){return $(f_,q([fB("diva-page-view-choices")]),$(nE,w(function(t,r){return M(tp,v5,e,n,t,r)}),t))}),v7={$:33},v9=w(function(e,t){return{$:52,a:e,b:t}}),be=tf("input"),bt=fV("max"),bn=fV("min"),br=function(e){return{a:e,b:!0}},ba=w(function(e,t){return $(ty,e,{$:1,a:t})}),bi=$(ak,q(["target","value"]),eg),bo=function(e){return $(ba,"input",$(ex,br,$(ex,e,bi)))},bs=fV("value"),bu=C(function(e,t,n,r,a){var i=q([fZ("range"),bn(e),bt(t),bs(r),bo(a)]),o=n.$?i:$(J,$(fV,"step",n.a),i);return $(be,$(J,fB("diva-filter-range-input"),o),U)}),bc=function(e){return $(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(v3,q([fB("diva-filter-label")]),q([tl(e.dX)])),$(v3,q([fB("diva-filter-value")]),q([tl(e.l)]))])),M(bu,e.g,e.f,e.n,e.fG,e.m)]))},bl=w(function(e,t){return{$:40,a:e,b:t}}),bd=vY("checked"),bf=tf("label"),bh=$(ak,q(["target","checked"]),eh),bv=function(e){return $(fX,"change",$(ex,e,bh))},bb=function(e){return $(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(bf,q([fB("diva-filter-toggle is-inline")]),q([$(be,q([fZ("checkbox"),bd(e.x),bv(bl(e.A))]),U),tl(e.dX)])),$(v3,q([fB("diva-filter-value")]),q([tl(e.l)]))])),M(bu,e.g,e.f,e.n,e.fG,e.m)]))},bg=w(function(e,t){return q([bb({x:t.cw,l:el(t.bO),dX:e+" Gamma",f:"100",g:"0",m:v9(t.cx),A:t.cy,n:nr("1"),fG:el(t.bO)}),bb({x:t.cY,l:el(t.b5),dX:e+" Sigmoid",f:"100",g:"0",m:v9(t.cZ),A:t.c_,n:nr("1"),fG:el(t.b5)}),bb({x:t.cB,l:el(t.bP),dX:e+" Hue Boost",f:"100",g:"-100",m:v9(t.cC),A:t.cD,n:nr("1"),fG:el(t.bP)}),bc({l:el(t.bQ),dX:e+" Hue Window",f:"30",g:"2",m:v9(t.cE),n:nr("1"),fG:el(t.bQ)}),bb({x:t.c8,l:el(t.cc),dX:e+" Vibrance",f:"100",g:"0",m:v9(t.c9),A:t.da,n:nr("1"),fG:el(t.cc)})])}),bp=x(function(e,t,n,r){var a=$(lk,t,e.ct);return $(f_,q([fB("diva-filter-group")]),$(J,$(fJ,q([fF(q([{a:"diva-filter-title-button",b:!0},{a:"is-collapsed",b:!a}])),fj({$:41,a:t})]),q([$(v3,q([fF(q([{a:"diva-filter-title-icon",b:!0},{a:"is-expanded",b:a}]))]),U),$(v3,U,q([tl(n)]))])),a?r:U))}),bm=function(e){return $(f_,q([fB("diva-filter-row")]),e)},bw=function(e){return S(bp,e,"advanced-colour-adjust","Advanced colour adjust",$(J,bm(q([$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(v7)]),q([tl("Reset sliders")]))])),G($(bg,"Red",{bO:e.eJ.aY,cw:e.eJ.bu,cx:2,cy:9,bP:e.eJ.aZ,cB:e.eJ.aB,cC:5,cD:10,bQ:e.eJ.a_,cE:6,b5:e.eJ.a$,cY:e.eJ.bv,cZ:3,c_:11,cc:e.eJ.a0,c8:e.eJ.bw,c9:4,da:12}),G($(bg,"Green",{bO:e.eJ.aT,cw:e.eJ.br,cx:7,cy:5,bP:e.eJ.aU,cB:e.eJ.aA,cC:9,cD:6,bQ:e.eJ.aV,cE:10,b5:e.eJ.aW,cY:e.eJ.bs,cZ:8,c_:7,cc:e.eJ.aX,c8:e.eJ.bt,c9:11,da:8}),$(bg,"Blue",{bO:e.eJ.aO,cw:e.eJ.bo,cx:12,cy:1,bP:e.eJ.aP,cB:e.eJ.az,cC:14,cD:2,bQ:e.eJ.aQ,cE:15,b5:e.eJ.aR,cY:e.eJ.bp,cZ:13,c_:3,cc:e.eJ.aS,c8:e.eJ.bq,c9:16,da:4})))))},by=w(function(e,t){return{$:51,a:e,b:t}}),bx=function(e){return S(bp,e,"colour-adjust","Colour Adjust",$(rc,bb,q([{x:e.eJ.cj,l:el(e.eJ.bx),dX:"Brightness",f:"255",g:"-255",m:v9(17),A:13,n:na,fG:el(e.eJ.bx)},{x:e.eJ.cq,l:el(e.eJ.bH),dX:"Contrast",f:"4",g:"0",m:by(1),A:20,n:nr("0.1"),fG:el(e.eJ.bH)},{x:e.eJ.cw,l:el(e.eJ.bO),dX:"Gamma",f:"4",g:"0.1",m:by(2),A:23,n:nr("0.1"),fG:el(e.eJ.bO)},{x:e.eJ.cW,l:el(e.eJ.b1),dX:"Saturation",f:"100",g:"-100",m:v9(27),A:31,n:na,fG:el(e.eJ.b1)},{x:e.eJ.c8,l:el(e.eJ.cc),dX:"Vibrance",f:"100",g:"-100",m:v9(29),A:34,n:na,fG:el(e.eJ.cc)},{x:e.eJ.cB,l:el(e.eJ.bP),dX:"Hue",f:"100",g:"-100",m:v9(24),A:26,n:na,fG:el(e.eJ.bP)},{x:e.eJ.cm,l:el(e.eJ.bA),dX:"Red",f:"100",g:"-100",m:v9(20),A:16,n:na,fG:el(e.eJ.bA)},{x:e.eJ.cl,l:el(e.eJ.bz),dX:"Green",f:"100",g:"-100",m:v9(19),A:15,n:na,fG:el(e.eJ.bz)},{x:e.eJ.ck,l:el(e.eJ.by),dX:"Blue",f:"100",g:"-100",m:v9(18),A:14,n:na,fG:el(e.eJ.by)}])))},bC=w(function(e,t){return{$:54,a:e,b:t}}),bI=tf("option"),bA=q([$(bI,q([bs("gray")]),q([tl("Gray")])),$(bI,q([bs("hot")]),q([tl("Hot")])),$(bI,q([bs("cool")]),q([tl("Cool")]))]),bE=tf("select"),b$=y(function(e,t,n){return $(bE,q([fB("diva-filter-select"),bo(t),bs(e)]),n)}),bR=y(function(e,t,n){return $(bf,q([fB("diva-filter-toggle")]),q([$(be,q([fZ("checkbox"),bd(t),bv(bl(n))]),U),tl(e)]))}),bS=function(e){return S(bp,e,"colourmap","Colourmap",q([bm(q([R(bR,"Colourmap",e.eJ.a4,17),R(b$,e.eJ.bG,bC(0),bA)])),bc({l:el(e.eJ.bF),dX:"Center",f:"255",g:"0",m:v9(21),n:na,fG:el(e.eJ.bF)})]))},bM=q([$(bI,q([bs("sharpen")]),q([tl("Sharpen")])),$(bI,q([bs("blur")]),q([tl("Blur")])),$(bI,q([bs("edge")]),q([tl("Edge")])),$(bI,q([bs("emboss")]),q([tl("Emboss")]))]),bP=function(e){return S(bp,e,"convolution","Convolution",q([bm(q([R(bR,"Kernel",e.eJ.cr,21),R(b$,e.eJ.bI,bC(3),bM)]))]))},bL=function(e){return S(bp,e,"enhancement","Enhancement",G($(rc,bb,q([{x:e.eJ.cN,l:el(e.eJ.bV),dX:"Normalize",f:"2",g:"0",m:by(3),A:29,n:nr("0.1"),fG:el(e.eJ.bV)},{x:e.eJ.c6,l:el(e.eJ.ca),dX:"Unsharp",f:"3",g:"0",m:by(7),A:33,n:nr("0.1"),fG:el(e.eJ.ca)},{x:e.eJ.aN,l:el(e.eJ.bn),dX:"Adaptive Threshold",f:"51",g:"3",m:v9(1),A:0,n:nr("2"),fG:el(e.eJ.bn)}])),q([bc({l:el(e.eJ.bm),dX:"Offset",f:"50",g:"-50",m:v9(0),n:nr("1"),fG:el(e.eJ.bm)})])))},bT={$:11},bk={$:27},bO=function(e){return{$:53,a:e}},bH=tf("textarea"),bV=function(e){return S(bp,e,"diva-filter-json","Import / Export Filter Settings",q([bm(q([$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(bk)]),q([tl("Show JSON")])),$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj(bT)]),q([tl("Apply")]))])),$(bH,q([fB("diva-filter-json"),bs(e.cu),bo(bO),$(tI,"rows",el(6))]),U),function(){var t=e.bN;if(t.$)return fQ;var n=t.a;return $(f_,q([fB("diva-filter-json-error")]),q([tl(n)]))}()]))},bB=q([$(bI,q([bs("3")]),q([tl("3x3")])),$(bI,q([bs("5")]),q([tl("5x5")])),$(bI,q([bs("7")]),q([tl("7x7")]))]),bF=q([$(bI,q([bs("erode")]),q([tl("Erode")])),$(bI,q([bs("dilate")]),q([tl("Dilate")]))]),b_=function(e){return S(bp,e,"morphology","Morphology",q([bm(q([R(bR,"Morph",e.eJ.bb,28),R(b$,e.eJ.bU,bC(5),bF),R(b$,el(e.eJ.bT),v9(25),bB)]))]))},bN=q([$(bI,q([bs("pca-rgb")]),q([tl("PCA (RGB)")])),$(bI,q([bs("pca1")]),q([tl("PCA Component 1")])),$(bI,q([bs("pca2")]),q([tl("PCA Component 2")])),$(bI,q([bs("pca3")]),q([tl("PCA Component 3")]))]),bz=function(e){return S(bp,e,"pca","Visible area PCA",q([bm(q([R(bR,"Visible area PCA",e.eJ.a7,24),R(b$,e.eJ.bX,bC(4),bN)])),bc({l:el(e.eJ.bW)+"deg",dX:"Hue Rotation",f:"180",g:"-180",m:v9(23),n:nr("1"),fG:el(e.eJ.bW)})]))},bG=q([$(bI,q([bs("rg")]),q([tl("Red–Green Diff")])),$(bI,q([bs("gb")]),q([tl("Green–Blue Diff")])),$(bI,q([bs("rb")]),q([tl("Red–Blue Diff")])),$(bI,q([bs("luma")]),q([tl("Luma False Colour")])),$(bI,q([bs("cmy")]),q([tl("CMY False Colour")])),$(bI,q([bs("heat")]),q([tl("Heat Map")]))]),bU=w(function(e,t){return $(be,q([fB("diva-filter-color-input"),fZ("color"),bs(e),bo(t)]),U)}),bD=function(e){return S(bp,e,"pseudo-colour","Pseudo Colour",q([bm(q([R(bR,"Pseudo-colour",e.eJ.ae,30),R(b$,e.eJ.b_,bC(6),bG)])),bc({l:el(e.eJ.b$),dX:"Red Weight",f:"2",g:"0",m:by(6),n:nr("0.01"),fG:el(e.eJ.b$)}),bc({l:el(e.eJ.bZ),dX:"Green Weight",f:"2",g:"0",m:by(5),n:nr("0.01"),fG:el(e.eJ.bZ)}),bc({l:el(e.eJ.bY),dX:"Blue Weight",f:"2",g:"0",m:by(4),n:nr("0.01"),fG:el(e.eJ.bY)}),bm(q([R(bR,"Replace Colour",e.eJ.N,18)])),bm(q([$(v3,q([fB("diva-filter-label")]),q([tl("Source")])),$(bU,e.eJ.bC,bC(1)),$(v3,q([fB("diva-filter-label")]),q([tl("Target")])),$(bU,e.eJ.bD,bC(2))])),bc({l:el(e.eJ.bE),dX:"Tolerance",f:"255",g:"0",m:v9(22),n:nr("1"),fG:el(e.eJ.bE)}),bc({l:el(e.eJ.bB),dX:"Strength",f:"1",g:"0",m:by(0),n:nr("0.01"),fG:el(e.eJ.bB)}),bm(q([R(bR,"Preserve Luminance",e.eJ.cp,19)]))]))},bJ=function(e){return S(bp,e,"tone","Tone",G($(rc,function(e){return R(bR,e.a,e.b,e.c)},q([{a:"Grayscale",b:e.eJ.cz,c:25},{a:"Invert",b:e.eJ.cH,c:27}])),$(rc,bb,q([{x:e.eJ.c1,l:el(e.eJ.b8),dX:"Threshold",f:"255",g:"0",m:v9(28),A:32,n:na,fG:el(e.eJ.b8)}]))))},bq=function(e){return S(bp,e,"transform","Transform",q([$(f_,q([fB("diva-filter-range-group")]),q([$(f_,q([fB("diva-filter-range-header")]),q([$(v3,q([fB("diva-filter-label")]),q([tl("Rotation")])),$(v3,q([fB("diva-filter-range-header-right")]),q([$(v3,q([fB("diva-filter-value")]),q([tl(el(e.eJ.bg)+"°")])),$(fJ,q([fB("diva-filter-reset"),fZ("button"),fj($(v9,26,"0"))]),q([tl("Reset")]))]))])),M(bu,"-180","180",nr("1"),el(e.eJ.bg),v9(26))])),bm(q([R(bR,"Mirror",e.eJ.cv,22)]))]))},bX=function(e){return $(f_,q([fB("diva-modal-sidebar")]),q([$(tv,bq,e),$(tv,bJ,e),$(tv,bx,e),$(tv,b_,e),$(tv,bP,e),$(tv,bS,e),$(tv,bD,e),$(tv,bz,e),$(tv,bw,e),$(tv,bL,e),$(tv,bV,e)]))},bj=w(function(e,t){return $(f_,q([fF(q([{a:"diva-modal-viewer",b:!0},{a:"is-fullscreen",b:e},{a:"is-outer-left",b:t}]))]),q([$(f_,q([fB("diva-modal-canvas"),fN("filter-viewer")]),U)]))}),bW=function(e){var t=$(aN,function(t){return $(cv,t,e.ap)},e.R),n=$(aG,!1,$(az,function(e){return nC(e.cF)>1},t));return $(f_,q([fF(q([{a:"diva-modal-body",b:!0},{a:"is-no-gap",b:!0},{a:"is-fullscreen",b:e.ds},{a:"is-with-choices",b:n},{a:"is-no-sidebar",b:!e.dt},{a:"is-with-choices-no-sidebar",b:n&&!e.dt}]))]),function(){var r={a:n,b:t,c:e.dt};if(r.c)if(!r.a||r.b.$)return q([$(bj,e.ds,!0),bX(e)]);else{var a=r.b.a;return q([R(v8,e.dh,a.cF,e.aJ),$(bj,e.ds,!1),bX(e)])}if(!r.a||r.b.$)return q([$(bj,e.ds,!0)]);var a=r.b.a;return q([R(v8,e.dh,a.cF,e.aJ),$(bj,e.ds,!1)])}())},bZ={$:14},bY={$:20},bK={$:21},bQ={$:23},b0={$:32},b1={$:44},b2={$:45},b4=w(function(e,t){return e?na:nr(t)}),b3=vW({s:"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",t:"0 0 448 512"}),b6=vW({s:"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z",t:"0 0 512 512"}),b5=vW({s:"M168 80l24 0 0-48-24 0L24 32 0 32 0 56 0 456l0 24 24 0 144 0 24 0 0-48-24 0L48 432 48 80l120 0zM493.8 273l17-17-17-17-128-128-17-17L314.9 128l17 17 87 87L184 232l-24 0 0 48 24 0 234.9 0-87 87-17 17 33.9 33.9 17-17 128-128z",t:"0 0 512 512"}),b8=vW({s:"M8.59 16.59L10 18L16 12L10 6L8.59 7.41L13.17 12L8.59 16.59z",t:"0 0 24 24"}),b7=vW({s:"M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41z",t:"0 0 24 24"}),b9=vW({s:"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z",t:"0 0 512 512"}),ge=vW({s:"M288 80V432H48V80H288zM512 32H464 48 0V80 432v48H48 464h48V432 80 32zM448 96v48H352V96h96zm-96 96h96v48H352V192zm96 96v48H352V288h96z",t:"0 0 512 512"}),gt=vW({s:"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z",t:"0 0 512 512"}),gn=function(e){var t,n,r=$(aG,"",$(az,function(e){return e.dX},$(aN,function(e){return $(cv,e,t.ap)},(t=e).R))),a=$(aG,"",$(az,function(e){return $(cA,n.ey,fz(e))},lG(n=e))),i=e.dt?{a:b5,b:"Hide filters"}:{a:ge,b:"Show filters"},o=i.a,s=i.b,u=function(){var t=e.R;if(t.$)return{a:!0,b:!0};var n=t.a;return{a:n<=0,b:_(n,nC(e.ap)-1)>-1}}(),c=u.a,l=u.b,d=e.ds?{a:b6,b:"Exit fullscreen"}:{a:gt,b:"Fullscreen"},f=d.a,h=d.b;return $(f_,q([fB("diva-modal-header")]),q([$(f_,q([fB("diva-modal-title-stack")]),$(J,$(f_,q([fB("diva-modal-title")]),q([tl("Page View")])),G(n7(a)?U:q([$(f_,q([fB("diva-modal-subtitle")]),q([tl(a)]))]),n7(r)?U:q([$(f_,q([fB("diva-modal-subtitle is-muted")]),q([tl(r)]))])))),$(f_,q([fB("diva-modal-actions")]),q([v0({eS:b7,eY:e.dm,dX:"Previous Page",d3:$(b4,c,bK)}),v0({eS:b8,eY:e.dm,dX:"Next Page",d3:$(b4,l,bY)}),v0({eS:b3,eY:e.dm,dX:"Save view",d3:nr(bQ)}),v0({eS:b9,eY:e.dm,dX:"Reset Filters",d3:nr(b0)}),v0({eS:o,eY:e.dm,dX:s,d3:nr(b2)}),v0({eS:f,eY:e.dm,dX:h,d3:nr(b1)}),$(f_,q([fB("diva-modal-close-action")]),q([v0({eS:vZ,eY:e.dm,dX:"Close",d3:nr(bZ)})]))]))]))},gr=function(e){return n7(e)?fQ:$(f_,q([fB("diva-required-statement")]),vA(e))},ga={$:38},gi={$:43},go={$:49},gs=function(e){var t,n=!sd(lf(e)),r=!(t=ld(e)).$&&!sd(t.a);return n||r},gu=function(e){return!!e},gc=function(e){return $(f_,q([fB("diva-contents-empty")]),q([tl(e)]))},gl=gc("No contents available."),gd=w(function(e,t){return $(aG,na,$(rH,t,e))}),gf=w(function(e,t){return $(ad,gh(e),t.aH)}),gh=w(function(e,t){return t.$?$(gf,e,t.a):H(t.a,e)}),gv=y(function(e,t,n){return $(fJ,G(q([fF(q([{a:"diva-contents-button",b:!0},{a:"diva-ui-button",b:!0},{a:"is-current",b:e}])),fZ("button"),fj({$:22,a:t})]),e?q([$(fD,"aria-current","location")]):U),q([tl(n)]))}),gb=y(function(e,t,n){return $(fJ,q([fB("diva-contents-disclosure diva-ui-button"),fZ("button"),$(fD,"aria-expanded",e?"true":"false"),$(fD,"aria-label",G(e?"Hide information for ":"Show information for ",n)),fj({$:46,a:t})]),q([tl(e?"▾":"▸")]))}),gg=w(function(e,t){return $(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl($(cA,e,t.dX))])),$(f_,q([fB("diva-metadata-value")]),vA($(cA,e,t.fG)))]))}),gp=w(function(e,t){return sd(t)?U:q([$(f_,q([fB("diva-contents-meta")]),$(rc,gg(e),t))])}),gm=y(function(e,t,n){return e?t?n?1===$(W,2,n)?n:n-1:0:n-$(W,2,n):n}),gw=y(function(e,t,n){if(n.$)return U;var r=n.a;if(!e)return q([r]);if(t&&!r)return q([0]);var a=R(gm,1,t,r);return q([a,a+1])}),gy=y(function(e,t,n){var r=$(an,function(n){return n.$?nr(S(tg,gx,e,t,n.a)):na},n);return sd(r)?U:q([$(f7,q([fB("diva-contents-list-nested diva-list-reset")]),r)])}),gx=y(function(e,t,n){var r,a=$(gd,t,n.f7),i=$(cA,e.ey,n.dX),o=n7(i)?"[Untitled range]":i,s=H(e.ea,nr(n.f7)),u=s?$(gp,e.ey,n.d_):U,c=$(ad,function(e){return $(gf,e,n)},$(rc,function(e){return e.M},$(an,function(e){return $(cv,e,r.ap)},R(gw,(r=e).cd,r.b3,r.R)))),l=R(gv,c,a,o),d=$(f_,q([fB("diva-contents-heading")]),G(sd(n.d_)?U:q([R(gb,s,n.f7,o)]),q([l]))),f=R(gy,e,t,n.aH);return $(f8,q([fB("diva-contents-item")]),$(J,d,G(u,f)))}),gC=y(function(e,t,n){return $(f7,q([fB("diva-contents-list diva-list-reset")]),$(rc,R(tg,gx,e,t),n))}),gI=w(function(e,t){var n=lh(t);if(n.$)return gl;var r=n.a;return sd(r)?gl:R(gC,e,e.fg,r)}),gA={$:34},gE={$:35},g$=w(function(e,t){return $(f_,q([fB("diva-contents-view-tabs")]),q([$(fJ,q([fF(q([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:!t}])),fZ("button"),fj(gA)]),q([tl("Index")])),$(fJ,q([fF(q([{a:"diva-contents-view-button",b:!0},{a:"is-active",b:1===t}])),fZ("button"),fj(gE)]),q([tl(e?"On these pages":"On this page")]))]))}),gR=w(function(e,t){var n=$(iP,function(t){return t.$?$(gR,e,t.a):U},t.aH);return $(gf,e,t)?$(J,t,n):n}),gS=w(function(e,t){return $(iP,gR(e),t)}),gM=gc("No ranges for this page."),gP=function(e){var t=w(function(e,t){for(;;)if(!e.b)return nO(t);else if(e.a.b){var n=e.a,r=n.a,a=n.b,i=e.b;if(r.$){var o=$(J,r.a.aH,$(J,a,i)),s=t;e=o,t=s;continue}var u=r.a,o=$(J,a,i),s=$(J,u,t);e=o,t=s;continue}else{var i=e.b,o=i,s=t;e=o,t=s;continue}});return $(t,q([e]),U)},gL=w(function(e,t){return $(an,function(t){return $(rH,t,e)},gP(t.aH))}),gT=y(function(e,t,n){var r=$(gp,e.ey,n.d_),a=$(gd,e.fg,n.f7),i=$(cA,e.ey,n.dX),o=$(gL,t,n),s=aL(o),u=aL(nO(o)),c=function(){var e={a:s,b:u};if(e.a.$)if(e.b.$)return"";else{e.a;var t=e.b.a;return"["+t+"] "}if(e.b.$){var n=e.a.a;return e.b,"["+n+"] "}var n=e.a.a,t=e.b.a;return H(n,t)?"["+n+"] ":"["+(n+"-")+t+"] "}(),l=R(gv,!1,a,n7(i)?c+"[Untitled range]":G(c,i));return $(f8,q([fB("diva-contents-item")]),$(J,l,r))}),gk=w(function(e,t){var n,r=$(az,function(e){return e.M},$(aN,function(e){return $(cv,e,n.ap)},(n=e).R));if(r.$)return gM;var a=r.a,i=lh(t);if(i.$)return gM;var o=$(gS,a,i.a);if(sd(o))return gM;var s=us($(rc,function(e){return{a:e.f7,b:cE(e)}},cg(t)));return $(f7,q([fB("diva-contents-list diva-list-reset")]),$(rc,$(gT,e,s),o))}),gO=function(e){var t=lG(e),n=function(){var n={a:e.dN,b:t};if(n.a)if(n.b.$)return n.a,n.b,gM;else{n.a;var r=n.b.a;return $(gk,e,r)}if(n.b.$)return n.a,n.b,gl;n.a;var r=n.b.a;return $(gI,e,r)}();return $(f_,q([fB("diva-contents-panel")]),q([$(f_,q([fB("diva-contents-title")]),q([tl("Contents")])),$(g$,e.cd,e.dN),n]))},gH=w(function(e,t){return $(f_,U,q([$(ho,q([hs(t.f7),vE("_blank"),hc("noopener noreferrer")]),q([tl($(cA,e,t.dX))]))]))}),gV=w(function(e,t){var n=ld(t);if(n.$)return U;var r=n.a;return sd(r)?U:q([$(f_,q([fB("diva-metadata-item")]),q([$(f_,q([fB("diva-metadata-label")]),q([tl("Homepage")])),$(f_,q([fB("diva-metadata-value")]),$(rc,gH(e),r))]))])}),gB=w(function(e,t){return $(rc,gg(e),lf(t))}),gF=y(function(e,t,n){return $(f_,q([fF(q([{a:"diva-sidebar-pane",b:!0},{a:"is-hidden",b:!H(e,t)}]))]),q([n]))}),g_=x(function(e,t,n,r){return $(fJ,q([fF(q([{a:"diva-sidebar-tab-button",b:!0},{a:"is-active",b:H(e,t)}])),fZ("button"),fj(r)]),q([tl(n)]))}),gN=y(function(e,t,n){for(;;)if(e<=0)return n;else{if(!t.b)return n;var r=t.a,a=t.b,i=e-1,o=$(J,r,n);e=i,t=a,n=o;continue}}),gz=w(function(e,t){return nO(R(gN,e,t,U))}),gG=y(function(e,t,n){if(t<=0)return U;var r={a:t,b:n};e:for(;;){t:for(;;)if(!r.b.b)return n;else if(r.b.b.b)switch(r.a){case 1:break e;case 2:var a=r.b,i=a.a,o=a.b.a;return q([i,o]);case 3:if(r.b.b.b.b){var s=r.b,i=s.a,u=s.b,o=u.a,c=u.b.a;return q([i,o,c])}break t;default:if(r.b.b.b.b&&r.b.b.b.b.b){var l=r.b,i=l.a,d=l.b,o=d.a,f=d.b,c=f.a,h=f.b,v=h.a,b=h.b;return e>1e3?$(J,i,$(J,o,$(J,c,$(J,v,$(gz,t-4,b))))):$(J,i,$(J,o,$(J,c,$(J,v,R(gG,e+1,t-4,b)))))}break t}else if(1===r.a)break e;else break;return n}var i=r.b.a;return q([i])}),gU=w(function(e,t){return R(gG,0,e,t)}),gD=y(function(e,t,n){for(;;)if(!t.b)return nO(n);else{var r=$(ch,e,t),a=$(gU,e,t),i=e,o=$(J,a,n);e=i,t=r,n=o;continue}}),gJ=w(function(e,t){return e<=0?U:R(gD,e,t,U)}),gq=w(function(e,t){return e<=1?t:$(iP,nO,$(gJ,e,t))}),gX={$:0},gj=x(function(e,t,n,r){return $(iF,r,R(gw,e,t,n))}),gW=I(function(e,t,n,r,a,i){var o=S(gj,t,n,r,a),s=nC(i.cF)>1,u=$(aG,$(aG,{dh:gX,f7:"",bR:!1,aG:!0,dX:"",b7:"",bh:"",b9:""},aL(i.cF)),aL($(iR,function(e){return e.bR},i.cF))),c=function(){var t=$(v6,u.b7,e);if(t.$)return $(f_,q([fB("diva-thumbs-image diva-thumbs-image--protected"),$(fD,"aria-label","Protected image")]),U);var n=t.a;return R(fK,"diva-lazy-image",q([fB("diva-thumbs-lazy-image"),$(fD,"data-src",i.bh),$(fD,"data-fallback-src",i.eI),$(fD,"data-alt","Page "+el(a+1)),$(fD,"data-crossorigin",n)]),U)}(),l=q([fF(q([{a:"diva-thumbs-item",b:!0},{a:"diva-ui-card",b:!0},{a:"diva-ui-card--dark",b:!0},{a:"is-active",b:o}])),fZ("button"),fN("thumb-"+el(a)),$(fD,"data-thumb-index",el(a)),fj({$:24,a:a})]);return $(fJ,l,q([c,$(f_,q([fF(q([{a:"diva-thumbs-label",b:!0},{a:"is-active",b:o}]))]),q([tl(s?i.dX+" *":i.dX)]))]))}),gZ=w(function(e,t){var n=e.dm,r=e.dh,a=e.R,i=e.b3,o=e.bi,s=e.cd,u=e.g1,c=$(nE,a8,t),l=1===u?$(gq,3,c):c;return $(f_,q([fF(q([{a:"diva-thumbs",b:!0},{a:"is-fullscreen",b:n}])),fN("thumbs"),$(tx,"scroll-behavior",o?"auto":"smooth")]),$(rc,function(e){return L(tw,gW,r,s,i,a,e.a,e.b)},l))}),gY=w(function(e,t){var n=$(aG,0,$(az,lb,t)),r=H(e.H,rm)||H(e.b0,rp)?U:e.ap,a=q([{a:"diva-sidebar-panel",b:!0},{a:"is-fullscreen",b:e.dm},{a:"is-hidden",b:!gu(e.B)},{a:"is-overlay",b:e.bS},{a:"is-mobile-hidden",b:!e.bS}]),i=$(aG,!1,$(az,gs,t)),o=i?q([R(gF,e.B,2,$(f_,q([fB("diva-metadata-panel")]),function(){var t=lG(e);if(t.$)return q([$(f_,q([fB("diva-metadata-body")]),q([tl("No metadata available.")]))]);var n=t.a;return q([$(f_,q([fB("diva-metadata-body")]),G($(gB,e.ey,n),$(gV,e.ey,n)))])}()))]):U,s=i?q([S(g_,e.B,2,"Metadata",gi)]):U,u=$(aG,!1,$(az,$(rW,sd,uB),$(aN,lh,t))),c=u?q([S(g_,e.B,3,"Contents",ga)]):U,l=u?q([R(gF,e.B,3,gO(e))]):U;return $(f_,q([fF(a),$(tx,"width",gu(e.B)?el(e.b4)+"px":"0px")]),q([$(f_,q([fB("diva-sidebar-tabs")]),$(J,S(g_,e.B,1,"Thumbnails",go),G(s,c))),$(f_,q([fB("diva-sidebar-content")]),$(J,R(gF,e.B,1,$(gZ,{dh:e.dh,dm:e.dm,R:e.R,b3:e.b3,bi:e.bi,cd:e.cd,g1:n},r)),G(o,l)))]))}),gK=w(function(e,t){return $(gY,e,nr(t))}),gQ=function(e){return{$:37,a:e}},g0=function(e){return 2!==e.H.$&&H(lG(e),na)?fQ:$(f_,q([fF(q([{a:"diva-sidebar-resizer",b:!0},{a:"is-hidden",b:!gu(e.B)}])),$(fX,"mousedown",$(ex,gQ,$(ep,"clientX",ef)))]),q([tl("⋮")]))},g1={$:17},g2={$:18},g4={$:25},g3={$:26},g6={$:59},g5={$:42},g8={$:47},g7={$:48},g9={$:50},pe=w(function(e,t){return _(n5(t),e)>0?$(n9,e-3,t)+"...":t}),pt=function(e){var t=function(){var t=e.R;if(t.$)return"";var n=t.a;if(!e.cd)return $(aG,"",$(az,function(e){return e.dX},$(cv,n,e.ap)));var r=R(gm,e.cd,e.b3,n),a=$(az,function(e){return e.dX},$(cv,r+1,e.ap)),i={a:$(az,function(e){return e.dX},$(cv,r,e.ap)),b:a};if(i.a.$)return"";var o=i.a.a;return e.b3&&!r||a.$?o:o+" / "+a.a}();return $(pe,140,t)},pn=vW({s:"M48.4 14.8L29.4 .1 0 38 19 52.7 591.5 497.2l19 14.7L639.9 474l-19-14.7L513.7 376c38.8-36.5 62.3-84 62.3-136C576 125.1 461.4 32 320 32c-68.2 0-130.2 21.7-176 57L48.4 14.8zm135 104.8C218.6 95.5 265.3 80 320 80c124.7 0 208 80.5 208 160c0 38.1-19.2 76.5-52.9 106.1L183.4 119.6zM424.1 430.1l-46-36.3c-18.1 4-37.5 6.2-58 6.2c-26.8 0-52.3-3.9-75.7-11l-13.9-4.2-13.9 4.2-57.6 17.3 7-18.5 10.8-28.9-21.8-21.9c-28-28-42.9-61.8-42.9-96.9c0-16.2 3.4-32.4 10-47.9l-39-30.8C70.7 185.6 64 212.2 64 240c0 49.6 21.3 95.1 56.9 130.8l-19.8 52.7L80 480l57.8-17.3 92.6-27.8c27.9 8.5 58.1 13.1 89.6 13.1c37 0 72.3-6.4 104.1-17.9z",t:"0 0 640 512"}),pr=vW({s:"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z",t:"0 0 512 512"}),pa=vW({s:"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z",t:"0 0 576 512"}),pi=vW({s:"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z",t:"0 0 384 512"}),po=vW({s:"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z",t:"0 0 384 512"}),ps=vW({s:"M 283.05 111 C 292.45 101.6 307.65 101.6 316.95 111 C 326.25 120.4 326.35 135.6 316.95 144.9 L 277.95 183.9 L 556.05 183.9 C 569.35 183.9 580.05 194.6 580.05 207.9 C 580.05 221.2 569.35 231.9 556.05 231.9 L 277.95 231.9 L 316.95 270.9 C 326.35 280.3 326.35 295.5 316.95 304.8 C 307.55 314.1 292.35 314.2 283.05 304.8 L 203.05 224.8 C 193.65 215.4 193.65 200.2 203.05 190.9 L 283.05 110.9 L 283.05 111 Z M 392 0 C 422.9 0 448 25.1 448 56 L 448 128 L 400 128 L 400 56 C 400 51.6 396.4 48 392 48 L 88 48 C 65.9 48 48 65.9 48 88 L 48 358.7 C 57.8 354.4 68.6 352 80 352 L 392 352 C 396.4 352 400 348.4 400 344 L 400 288 L 448 288 L 448 344 C 448 366.3 434.9 385.6 416 394.6 L 416 464 L 424 464 C 437.3 464 448 474.7 448 488 C 448 501.3 437.3 512 424 512 L 80 512 C 35.8 512 0 476.2 0 432 C 0 429.3 0.1 426.6 0.4 424 L 0 424 L 0 88 C 0 39.4 39.4 0 88 0 L 392 0 Z M 80 400 C 62.3 400 48 414.3 48 432 C 48 449.7 62.3 464 80 464 L 368 464 L 368 400 L 80 400 Z",t:"0 0 640 512"}),pu=vW({s:"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z",t:"0 0 640 512"}),pc=vW({s:"M112.7 358.8l-10.8 28.9-7 18.5 57.6-17.3 13.9-4.2 13.9 4.2c23.3 7.1 48.8 11 75.7 11c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 35.1 15 68.9 42.9 96.9l21.8 21.9zm-39 103.9L16 480l21.2-56.5 19.8-52.7C21.3 335.1 0 289.6 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-31.5 0-61.7-4.6-89.6-13.1L73.8 462.7zM144 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM400 304v16H272 192 144V304l64-80 22 27.4L296 160 400 304z",t:"0 0 512 512"}),pl={$:39},pd=vW({s:"M224 80V432H464V80H224zM0 32H48 464h48V80 432v48H464 48 0V432 80 32zM64 96v48h96V96H64zm96 96H64v48h96V192zM64 288v48h96V288H64z",t:"0 0 512 512"}),pf=w(function(e,t){return $(f_,q([fF(q([{a:"diva-canvas-label",b:!0},{a:"is-fullscreen",b:e}]))]),q([tl(t)]))}),ph=vW({s:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z",t:"0 0 512 512"}),pv=vW({s:"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z",t:"0 0 512 512"}),pb=function(e){var t,n,r=pt(e),a=c7(lG(e));return $(f_,q([fB("diva-canvas-toolbar-stack")]),q([$(f_,q([fB("diva-canvas-toolbar")]),q([$(f_,q([fB("diva-canvas-toolbar-section")]),q([2===e.H.$?v0({eS:e.a3?b5:pd,eY:e.dm,dX:e.a3?"Hide Collection":"Show Collection",d3:nr(pl)}):fQ,v0({eS:pv,eY:e.dm,dX:"Zoom Out",d3:$(b4,a,g3)}),v0({eS:ph,eY:e.dm,dX:"Zoom In",d3:$(b4,a,g4)})])),$(f_,q([fB("diva-canvas-toolbar-end")]),q([R(tb,pf,e.dm,r),$(f_,q([fB("diva-canvas-toolbar-section is-right")]),G($(rc,function(e){var n=$(aG,"Log out",$(az,cA(t.ey),e.dX)),r=e.aw.$?n:n+" (popup blocked)";return $(f_,q([fB("diva-canvas-toolbar-item"),$(fD,"data-tooltip",r)]),q([$(fJ,q([fB("diva-canvas-toolbar-button"),fZ("button"),$(fD,"aria-label",r),$(fD,"data-diva-auth-logout",e.fu),$(fD,"data-diva-auth-url",e.aM)]),q([pu]))]))},$(rc,function(e){return{aw:e.aw,dX:e.a9.dX,fu:e.f7,aM:e.a9.f7}},fh((t=e).dh.ag))),G(e.bK?q([v0({eS:e.df?pn:pc,eY:e.dm,dX:e.df?"Hide Annotations":"Show Annotations",d3:nr(g6)})]):U,q([v0({eS:pi,eY:e.dm,dX:"Page View",d3:$(b4,a,g2)}),v0({eS:pr,eY:e.dm,dX:"Manifest Info",d3:$(b4,a,g1)}),v0({eS:e.cd?po:pa,eY:e.dm,dX:e.cd?"One Page":"Two Page",d3:$(b4,a,g9)}),v0({eS:e.b3?ps:pu,eY:e.dm,dX:"Shift Pages",d3:$(b4,a||!e.cd,g8)}),v0({eS:(n=e.dp?e.bS:!!e.B)?b5:ge,eY:e.dm,dX:n?"Hide Sidebar":"Show Sidebar",d3:$(b4,a,g7)}),$(vQ,q([$(fD,"data-diva-action","fullscreen")]),{eS:e.dm?b6:gt,eY:e.dm,dX:e.dm?"Exit Full":"Fullscreen",d3:nr(g5)})]))))]))]))]))},pg=function(e){var t=e.H;switch(t.$){case 1:return e.eO?na:nr({a:"Unable to display manifest",b:"No canvases found in this manifest.",c:!1});case 2:var n=e.b0;if(3===n.$){var r=n.a;return nr({a:"Unable to load manifest",b:r,c:!0})}return e.eO?na:nr({a:"No Manifest Selected",b:"Select a manifest from the collection to view.",c:!1});case 3:var r=t.a;return nr({a:"Unable to load manifest",b:r,c:!0});default:return na}},pp=function(e){var t={a:e.$7,b:e.dO};if(t.a.$||t.b.$)return na;var n=t.a.a,r=t.b.a;return n>0?nr(el(K(r/n*100))+"%"):na},pm={Main:{init:tq({f9:function(e){var t=rg(e.ej),n=sL(e._),r=e.ec?n:0,a=e.d1;return{a:{av:e.av,a1:rI,ci:e.ci,dd:rI,aC:rI,df:e.bK,dh:rE,co:na,a3:!0,dL:400,dN:0,dO:na,ey:t,dj:e.dj,bK:e.bK,ct:rI,eJ:sP,bN:na,cu:"",dm:!1,eO:!1,cG:e.cG,dW:!1,$7:na,dp:!1,X:!1,dZ:!1,ba:a,bS:!1,ds:!1,aJ:0,cP:!1,dt:!0,ap:U,bd:na,cQ:na,fg:rI,H:rm,b0:rp,dw:e.dw,R:na,ea:na,b3:!1,dB:e.dB,cX:na,_:n,B:r,b4:R(rx,220,520,e.b4),bi:!1,cd:0},b:eQ(q([R(sM,rw,e.av,a),$(rb,function(e){return ry(K(e.fH.dI))},rA)]))}},gP:function(e){return eQ(q([uA(function(e){return sk($(sU,e.fl,e.b7))}),uE(function(e){return $(s_,e.fl,e.aM)}),s9(sF),uI($(rW,sO,sk)),s2(function(e){return sk(R(sG,e.f7,e.dE,e.eq))}),s1(function(e){return sk($(sz,e.f7,e.ac))}),s6(function(e){return sk(R(sD,e.dl,e.dr,e.fG))}),s8(function(e){return sk(R(sq,e.dl,e.dr,e.fG))}),s5(function(e){return sk($(sJ,e.dl,e.ac))}),s3(uC),s4(ut),s0(function(e){return sk(sN)}),uy(sV),ux(sB),s7(sH),uS(sX),u$(sQ),uR(sK),R(up,1,"resize",$(ep,"target",R(eC,w(function(e,t){return ry(e)}),$(ep,"innerWidth",ef),$(ep,"innerHeight",ef)))),e.cX.$?un:eQ(q([um($(ex,sW,$(ep,"clientX",ef))),uw(n1(sY))])),e.co.$?un:eQ(q([um($(ex,sj,$(ep,"clientX",ef))),uw(n1(sZ))]))]))},g$:fH,g0:function(e){var t,n,r,a,i=pg(e);return $(f_,q([fN(e.dw)]),q([$(f_,q([fF(q([{a:"diva-app",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([S(tg,v4,e.dB,e.dm,$(aG,"",$(az,function(e){return $(cA,r.ey,fz(e))},lG(r=e)))),$(f_,q([fB("diva-app-header")]),q([pb(e)])),$(f_,q([fF(q([{a:"diva-app-body",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([hi(e),2!==(t=e).H.$?fQ:$(f_,q([fF(q([{a:"diva-collection-resizer",b:!0},{a:"is-hidden",b:!t.a3}])),$(fX,"mousedown",$(ex,f5,$(ep,"clientX",ef)))]),q([tl("⋮")])),$(f_,q([fF(q([{a:"diva-canvas-column",b:!0},{a:"is-fullscreen",b:e.dm}]))]),q([P(tm,f6,e.dm,e.X||H(e.H,rm)||H(e.b0,rp),2===e.H.$&&e.a3,i,pp(e))])),g0(e),2===e.H.$?$(gY,e,lG(e)):$(f1,gK(e),lG(e))])),$(f_,q([fB("diva-required-statement-dock")]),q([$(f1,tv(gr),$(az,function(e){return $(cA,a.ey,e.fG)},$(aN,fG,lG(a=e))))])),(n=e).cP?$(f_,q([fF(q([{a:"diva-modal-overlay",b:!0},{a:"is-fullscreen",b:n.ds}]))]),q([$(f_,q([fF(q([{a:"diva-modal",b:!0},{a:"is-fullscreen",b:n.ds},{a:"is-page-view",b:!n.ds}]))]),q([gn(n),bW(n)]))])):fQ,e.dZ?$(f_,q([fB("diva-modal-overlay")]),q([$(f_,q([fB("diva-modal is-narrow")]),q([v1(e),$(v_,e,lG(e))]))])):fQ,$(f1,fY(e),e.dh.ah)]))]))}})($(ey,function(e){return $(ey,function(t){return $(ey,function(n){return $(ey,function(r){return $(ey,function(a){return $(ey,function(i){return $(ey,function(o){return $(ey,function(s){return $(ey,function(u){return $(ey,function(c){return $(ey,function(l){return $(ey,function(d){return n1({av:d,ci:l,dj:c,bK:u,cG:s,d1:o,dw:i,ec:a,dB:r,_:n,b4:t,ej:e})},$(ep,"acceptHeaders",ac(eg)))},$(ep,"annotationServer",al(q([sT(na),$(ex,nr,eg)]))))},$(ep,"enableAnnotationSelection",eh))},$(ep,"enableAnnotations",eh))},$(ep,"initialPage",eb))},$(ep,"objectData",eg))},$(ep,"rootElementId",eg))},$(ep,"showSidebar",eh))},$(ep,"showTitle",eh))},$(ep,"sidebarPanel",eg))},$(ep,"sidebarWidth",ef))},$(ep,"userLanguage",eg)))(0)}},pw=/\/info\.json(?:[?#].*)?$/,py=()=>new DOMException("The operation was cancelled.","AbortError"),px=e=>"string"==typeof e?e:{...e},pC=class{resolve(e,t){if(this.destroyed||t.aborted)return Promise.reject(py());let n=JSON.stringify([e.url,e.isStatic]),r=this.resolutionCache.get(e.sourceId);if(r&&r.descriptorKey!==n)this.invalidateSource(e.sourceId);else if(r){let e=r.resolutions.get(r.activeState);if(void 0!==e)return Promise.resolve(px(e))}let a=this.inflight.get(e.sourceId);return a&&a.descriptorKey!==n&&(this.invalidateSource(e.sourceId),a=void 0),a||(a=this.startResolution(e,n)),this.consume(a,t)}registerSources(e){Array.from(this.inflight.values()).forEach(e=>this.cancelResolution(e)),this.resolutionCache.clear(),this.cancelBrowserWork()}invalidateSources(e){e.forEach(e=>this.invalidateSource(e))}useNonCorsStaticSource(e){let t=this.resolutionCache.get(e),n=null==t?void 0:t.resolutions.get("anonymous");t&&n&&"object"==typeof n&&"image"===n.type&&(t.resolutions.set("anonymous",v(n)),t.activeState="anonymous")}destroy(){this.destroyed||(this.destroyed=!0,this.root.removeEventListener("click",this.clickHandler,!0),this.ports.authDestroyed.send(null),this.cancelBrowserWork(),this.pending.forEach(e=>e.reject(new DOMException("The viewer was destroyed.","AbortError"))),this.pending.clear(),this.inflight.clear(),this.resolutionCache.clear())}cancelBrowserWork(){this.requests.forEach(e=>e.abort()),this.requests.clear(),Array.from(this.frames.keys()).forEach(e=>this.cancelFrame(e)),this.closePopups(this.popups),this.closePopups(this.logoutPopups)}closePopups(e){e.forEach(e=>{clearInterval(e.timer),e.window.close()}),e.clear()}succeed(e){let t,n=this.pending.get(e.requestId);if(!n||this.destroyed)return;this.pending.delete(e.requestId);let r=this.inflight.get(n.sourceId);(null==r?void 0:r.requestId)===e.requestId&&this.inflight.delete(n.sourceId);let a=e.credentialed?"use-credentials":"Anonymous";if(e.infoJson&&"object"==typeof e.infoJson&&!e.isStatic)t={...(e=>{let t={...e};for(let e of["id","@id"]){let n=t[e];"string"==typeof n&&pw.test(n)&&(t[e]=n.replace(pw,""))}return t})(e.infoJson),crossOriginPolicy:a,ajaxWithCredentials:e.credentialed};else if(e.isStatic){let n=!e.credentialed&&"none"===this.staticImageCorsPolicy;t=h(e.url,e.credentialed,n)}else t=e.credentialed?{url:e.url,crossOriginPolicy:a,ajaxWithCredentials:!0}:e.url;let i=e.credentialed?"credentialed":"anonymous",o=this.resolutionCache.get(n.sourceId),s=(null==o?void 0:o.descriptorKey)===n.descriptorKey?o.resolutions:new Map;s.set(i,t),this.resolutionCache.set(n.sourceId,{descriptorKey:n.descriptorKey,activeState:i,resolutions:s}),n.resolve(t)}fail(e,t){let n=this.pending.get(e);if(!n)return;this.pending.delete(e);let r=this.inflight.get(n.sourceId);(null==r?void 0:r.requestId)===e&&this.inflight.delete(n.sourceId),n.reject(Error(t))}startResolution(e,t){let n,r,a=`tile-source-${this.nextRequest+=1}`,i={requestId:a,descriptorKey:t,promise:new Promise((e,t)=>{n=e,r=t}),consumers:new Set};return this.pending.set(a,{sourceId:e.sourceId,descriptorKey:t,resolve:n,reject:r}),this.inflight.set(e.sourceId,i),this.ports.resolveTileSourceRequested.send({requestId:a,sourceId:e.sourceId}),i}consume(e,t){let n=this.nextConsumer+=1;return e.consumers.add(n),new Promise((r,a)=>{let i=!1,o=()=>{t.removeEventListener("abort",s),e.consumers.delete(n)},s=()=>{i||(i=!0,o(),a(py()),0===e.consumers.size&&this.cancelResolution(e))};t.addEventListener("abort",s,{once:!0}),e.promise.then(e=>{i||(i=!0,o(),r(px(e)))},e=>{i||(i=!0,o(),a(e))})})}cancelResolution(e){var t;let n=this.pending.get(e.requestId);n&&(this.pending.delete(e.requestId),(null==(t=this.inflight.get(n.sourceId))?void 0:t.requestId)===e.requestId&&this.inflight.delete(n.sourceId),this.ports.resolveTileSourceCancelled.send(e.requestId),n.reject(py()))}invalidateSource(e){this.resolutionCache.delete(e);let t=this.inflight.get(e);t&&this.cancelResolution(t)}async fetch(e){let t=new AbortController;this.requests.set(e.id,t);try{let n=await fetch(e.url,{mode:"cors",credentials:e.withCredentials?"include":"omit",signal:t.signal,headers:e.bearer?{Authorization:`Bearer ${e.bearer}`}:void 0}),r=await n.text();this.destroyed||this.ports.authHttpResponded.send({id:e.id,status:n.status,body:r})}catch(n){t.signal.aborted||this.destroyed||this.ports.authHttpFailed.send({id:e.id,message:n instanceof Error?n.message:"Authorization request failed."})}finally{this.requests.delete(e.id)}}cancelFetch(e){var t;null==(t=this.requests.get(e))||t.abort(),this.requests.delete(e)}storage(e){let t="diva:iiif-auth2:"+encodeURIComponent(e.key);try{if("write"===e.action)return void sessionStorage.setItem(t,JSON.stringify({accessToken:e.accessToken,expiresAt:e.expiresAt}));if("remove"===e.action)return void sessionStorage.removeItem(t);let n=sessionStorage.getItem(t);this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:n?JSON.parse(n):null})}catch(t){"read"===e.action&&this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:null})}}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest("button[data-diva-auth-logout][data-diva-auth-url]");if(n&&this.root.contains(n)){e.preventDefault(),e.stopPropagation(),this.startLogout(n);return}let r=t.closest("button[data-diva-auth-flow][data-diva-auth-url]");if(!r||!this.root.contains(r))return;e.preventDefault(),e.stopPropagation();let a=r.dataset.divaAuthFlow,i=new URL(r.dataset.divaAuthUrl,location.href);i.searchParams.set("origin",location.origin);let o=window.open(i.href,"_blank");if(!o)return void this.ports.authPopupChanged.send({flowId:a,status:"blocked"});this.ports.authPopupChanged.send({flowId:a,status:"opened"});let s=Date.now(),u=window.setInterval(()=>{o.closed?(clearInterval(u),this.popups.delete(a),this.ports.authPopupChanged.send({flowId:a,status:"closed"})):Date.now()-s>6e5&&(o.close(),clearInterval(u),this.popups.delete(a),this.ports.authTokenFailed.send({flowId:a,message:"Sign-in timed out."}))},250);this.popups.set(a,{window:o,timer:u})}startLogout(e){let t=e.dataset.divaAuthLogout,n=new URL(e.dataset.divaAuthUrl,location.href),r=window.open(n.href,"_blank");if(!r)return void this.ports.authLogoutChanged.send({sessionId:t,status:"blocked"});this.ports.authLogoutChanged.send({sessionId:t,status:"opened"});let a=window.setInterval(()=>{r.closed&&(clearInterval(a),this.logoutPopups.delete(t),this.ports.authLogoutChanged.send({sessionId:t,status:"closed"}))},250);this.logoutPopups.set(t,{window:r,timer:a})}startFrame(e){this.cancelFrame(e.flowId);let t=new URL(e.url,location.href);t.searchParams.set("messageId",e.messageId),t.searchParams.set("origin",location.origin);let n=document.createElement("iframe");n.hidden=!0,n.src=t.href;let r=r=>{r.source===n.contentWindow&&r.origin===t.origin&&r.data&&"object"==typeof r.data&&r.data.messageId===e.messageId&&this.ports.authTokenMessage.send({flowId:e.flowId,now:Date.now(),value:r.data})};window.addEventListener("message",r);let a=window.setTimeout(()=>{this.cancelFrame(e.flowId),this.ports.authTokenFailed.send({flowId:e.flowId,message:"The token service did not respond."})},3e4);this.frames.set(e.flowId,{element:n,timeout:a,receive:r}),document.body.append(n)}cancelFrame(e){let t=this.frames.get(e);t&&(clearTimeout(t.timeout),window.removeEventListener("message",t.receive),t.element.remove(),this.frames.delete(e))}constructor(e,t,n="required"){this.pending=new Map,this.inflight=new Map,this.resolutionCache=new Map,this.requests=new Map,this.frames=new Map,this.popups=new Map,this.logoutPopups=new Map,this.nextRequest=0,this.nextConsumer=0,this.destroyed=!1,this.ports=e,this.root=t,this.staticImageCorsPolicy=n,this.clickHandler=this.handleClick.bind(this),t.addEventListener("click",this.clickHandler,!0),e.tileSourceResolutionSucceeded.subscribe(e=>this.succeed(e)),e.tileSourceResolutionFailed.subscribe(e=>this.fail(e.requestId,e.message)),e.authHttpRequested.subscribe(e=>void this.fetch(e)),e.authHttpCancelled.subscribe(e=>this.cancelFetch(e)),e.authStorageRequested.subscribe(e=>this.storage(e)),e.authTokenFrameRequested.subscribe(e=>this.startFrame(e)),e.authTokenFrameCancelled.subscribe(e=>this.cancelFrame(e))}};function pI(e,t){if(!e)throw Error("A viewer must be specified.");e.filterPluginInstance?pE(e.filterPluginInstance,t||{}):e.filterPluginInstance=function(e,t){let n={viewer:e,filters:[],filterIncrement:0};function r(e,t,r){if(r){let a=n.filterIncrement,i=[];for(let r=0;r{n.filterIncrement===a&&t[r+1](e,i[r+1])};i[t.length-1]=()=>{n.filterIncrement===a&&r()},t[0](e,i[0])}else for(let n=0;n{})}return n.viewer.addHandler("tile-loaded",function(e){let t=pR(n,e.tiledImage);if(0===t.length)return;let a=e.tile,i=e.data||e.image;if(null!=i){let o=window.document.createElement("canvas");o.width=i.width,o.height=i.height;let s=o.getContext("2d",{willReadFrequently:!0});s.drawImage(i,0,0),a._renderedContext=s,r(s,t,e.getCompletionCallback()),a._filterIncrement=n.filterIncrement}}),n.viewer.addHandler("tile-drawing",function(e){let t=e.tile,a=e.rendered;if(a._filterIncrement===n.filterIncrement)return;let i=pR(n,e.tiledImage);if(0===i.length){a._originalImageData&&(a.putImageData(a._originalImageData,0,0),delete a._originalImageData),a._filterIncrement=n.filterIncrement;return}if(a._originalImageData?a.putImageData(a._originalImageData,0,0):a._originalImageData=pA(a),t._renderedContext){if(t._filterIncrement===n.filterIncrement){let e=pA(t._renderedContext);a.putImageData(e,0,0),delete t._renderedContext,delete t._filterIncrement,a._filterIncrement=n.filterIncrement;return}delete t._renderedContext,delete t._filterIncrement}r(a,i),a._filterIncrement=n.filterIncrement}),pE(n,t),n}(e,t||{})}function pA(e){let t=e.canvas.width,n=e.canvas.height,r=p0._ensureScratchContext(t,n);return r.clearRect(0,0,t,n),r.drawImage(e.canvas,0,0),r.getImageData(0,0,t,n)}function pE(e,t){let n=t.filters;e.filters=n?Array.isArray(n)?n:[n]:[];for(let t=0;t=0)throw Error("An item can not have filters assigned multiple times.");t.push(e)}function pR(e,t){if(0===e.filters.length)return[];let n=null;for(let r=0;r=0)return a.processors}else n=a.processors}return n||[]}var pS=(e,t)=>{let n=e[0],r=e[e.length-1];for(let a=0;a=t){r=e[a],n=e[Math.max(0,a-1)];break}if(r.stop===n.stop)return r.color.slice();let a=(t-n.stop)/(r.stop-n.stop);return[Math.round(n.color[0]+(r.color[0]-n.color[0])*a),Math.round(n.color[1]+(r.color[1]-n.color[1])*a),Math.round(n.color[2]+(r.color[2]-n.color[2])*a)]},pM=e=>{let t=[];for(let n=0;n<256;n+=1){let r=n/255;t[n]=pS(e,r)}return t},pP=new Map,pL=e=>e<0?0:e>255?255:e,pT=e=>e<0?0:e>1?1:e,pk=e=>{if(!e)return null;let t=e.trim();if(t.startsWith("#")&&(t=t.slice(1)),3===t.length&&(t=t.split("").map(e=>e+e).join("")),6!==t.length)return null;let n=parseInt(t,16);return Number.isNaN(n)?null:[n>>16&255,n>>8&255,255&n]},pO=(e,t,n,r,a)=>{let i=new Uint8ClampedArray(e.length);if(!r)return i.set(e),i;let o=1/(2*r+1);if(a){let a=new Uint8ClampedArray(t*n);for(let i=0;i>8;return a}function pB(e,t){let n=e.canvas.width,r=e.canvas.height,a=p0._ensureScratchContext(n,r);a.clearRect(0,0,n,r),a.drawImage(e.canvas,0,0);let i=a.getImageData(0,0,n,r);t(i)&&(a.putImageData(i,0,0),e.clearRect(0,0,n,r),e.drawImage(p0._scratchCanvas,0,0))}function pF(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function p_(e){let t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function pN(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function pz(e,t){let n=p_([1,1,1]);for(let r=0;r{t()};function pq(e,t,n){let r=e/255,a=t/255,i=n/255,o=Math.max(r,a,i),s=Math.min(r,a,i),u=o-s,c=0;if(o!==s){switch(o){case r:c=(a-i)/u+6*(a{i[0]=t[e],i[1]=n,i[2]=r,i[3]=a}):1===e?pH((e,n,r,a,i)=>{i[0]=e,i[1]=t[n],i[2]=r,i[3]=a}):pH((e,n,r,a,i)=>{i[0]=e,i[1]=n,i[2]=t[r],i[3]=a})}function pW(e,t){let n=t/100,r=Math.abs(n),a=e=>n>0?e+(255-e)*n:e-e*r;return 0===e?pH((e,t,n,r,i)=>{i[0]=a(e),i[1]=t,i[2]=n,i[3]=r}):1===e?pH((e,t,n,r,i)=>{i[0]=e,i[1]=a(t),i[2]=n,i[3]=r}):pH((e,t,n,r,i)=>{i[0]=e,i[1]=t,i[2]=a(n),i[3]=r})}function pZ(e,t){let n=Math.max(0,Math.min(100,t||0));if(0===n)return pJ;let r=1-n/100*.8,a=[];for(let e=0;e<256;e+=1)a[e]=pL(255*Math.pow(e/255,r));return pj(e,a)}function pY(e,t){let n=Math.max(0,Math.min(100,t||0))/100;if(0===n)return pJ;let r=[];for(let e=0;e<256;e+=1){let t=255*(1/(1+Math.exp(-8*(e/255-.5))));r[e]=pL(e+(t-e)*n)}return pj(e,r)}function pK(e,t,n){let r=Math.max(-100,Math.min(100,t||0))/100;if(0===r)return pJ;let a=Math.max(.02,Math.min(.3,(void 0===n?8:n)/100));return pH((t,n,i,o,s)=>{let u=pq(t,n,i),c=pT(1-(0===e?Math.min(Math.abs(u.h),Math.abs(1-u.h)):Math.abs(u.h-e))/a)*Math.abs(r);if(c<=0){s[0]=t,s[1]=n,s[2]=i,s[3]=o;return}let l=r>=0?1:-1,d=pT(u.s+l*(1-u.s)*c),f=pT(u.v+l*u.v*c*.2),h=pX(u.h,d,f);s[0]=h.r,s[1]=h.g,s[2]=h.b,s[3]=o})}function pQ(e,t){let n=Math.max(0,Math.min(100,t||0))/100;if(0===n)return pJ;let r=[];for(let e=0;e<256;e+=1){let t=e/255*(e/255)*n;r[e]=pL(e+(255-e)*t)}return pj(e,r)}var p0={_scratch:null,_scratchCanvas:null,_scratchContext:null,_ensureScratch:function(e){return(!this._scratch||this._scratch.length255)throw Error("Threshold must be between 0 and 255.");return pH((t,n,r,a,i)=>{let o=255*(54*t+183*n+19*r>>8>=e);i[0]=o,i[1]=o,i[2]=o,i[3]=255})},SATURATION:function(e){let t=-.01*e;return pH((e,n,r,a,i)=>{let o=Math.max(e,n,r);i[0]=e!==o?e+(o-e)*t:e,i[1]=n!==o?n+(o-n)*t:n,i[2]=r!==o?r+(o-r)*t:r,i[3]=a})},VIBRANCE:function(e){let t=-1*e;return pH((e,n,r,a,i)=>{let o=Math.max(e,n,r),s=2*Math.abs(o-(e+n+r)/3)/255*t/100;i[0]=e!==o?e+(o-e)*s:e,i[1]=n!==o?n+(o-n)*s:n,i[2]=r!==o?r+(o-r)*s:r,i[3]=a})},HUE:function(e){let t=pU(Math.abs(e)/100*360);return pH((e,n,r,a,i)=>{i[0]=pL(t.m00*e+t.m01*n+t.m02*r),i[1]=pL(t.m10*e+t.m11*n+t.m12*r),i[2]=pL(t.m20*e+t.m21*n+t.m22*r),i[3]=a})},BRIGHTNESS:function(e){if(e<-255||e>255)throw Error("Brightness adjustment must be between -255 and 255.");let t=[];for(let n=0;n<256;n+=1)t[n]=n+e;return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},CC_RED:function(e){return pW(0,e)},CC_GREEN:function(e){return pW(1,e)},CC_BLUE:function(e){return pW(2,e)},CONTRAST:function(e){if(e<0)throw Error("Contrast adjustment must be positive.");let t=[];for(let n=0;n<256;n+=1)t[n]=n*e;return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},GAMMA:function(e){if(e<0)throw Error("Gamma adjustment must be positive.");let t=[];for(let n=0;n<256;n+=1)t[n]=255*Math.pow(n/255,e);return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},GREYSCALE:function(){return pH((e,t,n,r,a)=>{let i=77*e+150*t+29*n>>8;a[0]=i,a[1]=i,a[2]=i,a[3]=255})},INVERT:function(){let e=[];for(let t=0;t<256;t+=1)e[t]=255-t;return pH((t,n,r,a,i)=>{i[0]=e[t],i[1]=e[n],i[2]=e[r],i[3]=a})},MORPHOLOGICAL_OPERATION:function(e,t){if(e%2==0)throw Error("The kernel size must be an odd number.");let n=Math.floor(e/2);if(!t)throw Error("A comparator must be defined.");return function(r,a){pB(r,r=>{let a=r.width,i=r.height,o=p0._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,n,r,a,i,o){let s=4*n,u=r-i,c=n-i;for(let n=i;n=i&&l=i&&u=r)continue;let d=c*s;for(let t=0;t=0&&r{let a=r.width,i=r.height,o=p0._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,n,r,a,i,o){let s=4*n,u=r-o,c=n-o;for(let n=o;n=o&&l=o&&u=r)continue;let d=c*s;for(let r=0;r=0&&st?0|Math.min((a-t)/r*128+128,255):0|Math.max(0,a/(t/128)),n[a]=e[i]}return pH((e,t,r,a,i)=>{let o=n[(e+t+r)/3|0];i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=255})},COLORMAP_PRESET:function(e){var t=e||"";let n=pP.get(t);if(n)return n;let r=null;switch(t){case"hot":r=pM([{stop:0,color:[0,0,0]},{stop:.4,color:[255,0,0]},{stop:.7,color:[255,255,0]},{stop:1,color:[255,255,255]}]);break;case"cool":r=pM([{stop:0,color:[0,0,0]},{stop:.5,color:[0,128,255]},{stop:1,color:[255,255,255]}]);break;case"gray":case"":r=pM([{stop:0,color:[0,0,0]},{stop:1,color:[255,255,255]}]);break;default:return null}return pP.set(t,r),r},CONVOLUTION_PRESET:function(e){switch((e||"").toLowerCase()){case"sharpen":return[0,-1,0,-1,5,-1,0,-1,0];case"blur":return[1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9];case"edge":return[-1,-1,-1,-1,8,-1,-1,-1,-1];case"emboss":return[-2,-1,0,-1,1,1,0,1,2];default:return null}},PSEUDOCOLOR:function(e,t,n,r){let a=(e||"").toLowerCase(),i=void 0===t?1:t,o=void 0===n?1:n,s=void 0===r?1:r,u=(e,t,n,r)=>{r[0]=pL(e*i),r[1]=pL(t*o),r[2]=pL(n*s)};return pH((e,t,n,r,i)=>{let o=.2126*e+.7152*t+.0722*n;switch(a){case"rg":{let n=pL(128+(e-t));u(n,255-n,(e+t)/2,i),i[3]=r;return}case"gb":{let e=pL(128+(t-n));u((t+n)/2,e,255-e,i),i[3]=r;return}case"rb":{let t=pL(128+(e-n));u(t,(e+n)/2,255-t,i),i[3]=r;return}case"luma":{let e=pL(o);u(e,255-e,e,i),i[3]=r;return}case"cmy":u(255-e,255-t,255-n,i),i[3]=r;return;case"heat":{let e=pL(o)/255;u(pL(255*Math.min(1,3*e)),pL(255*Math.min(1,Math.max(0,(e-.33)*3))),pL(255*Math.min(1,Math.max(0,(e-.66)*3))),i),i[3]=r;return}case"pca1":{let a=pL(.6*e+.3*t+.1*n);u(a,255-a,a,i),i[3]=r;return}case"pca2":{let a=pL(.5*e-.2*t-.3*n+128);u(a,255-a,255-a,i),i[3]=r;return}case"pca3":{let a=pL(.2*e+.6*t-.8*n+128);u(255-a,a,255-a,i),i[3]=r;return}default:u(e,t,n,i),i[3]=r}})},COLOR_REPLACE:function(e,t,n,r,a){let i=pk(e),o=pk(t);if(!i||!o)return pJ;let s=Math.max(0,Math.min(255,void 0===n?0:n)),u=Math.max(0,Math.min(1,void 0===r?1:r)),c=pq(o[0],o[1],o[2]);return pH((e,t,n,r,l)=>{let d,f=e-i[0],h=t-i[1],v=n-i[2],b=Math.sqrt(f*f+h*h+v*v);if((d=(s<=0?+(0===b):1-Math.min(1,b/s))*u)<=0){l[0]=e,l[1]=t,l[2]=n,l[3]=r;return}let g=o[0],p=o[1],m=o[2];if(a){let r=(.2126*e+.7152*t+.0722*n)/255,a=pX(c.h,c.s,r);g=a.r,p=a.g,m=a.b}l[0]=pL(e+(g-e)*d),l[1]=pL(t+(p-t)*d),l[2]=pL(n+(m-n)*d),l[3]=r})},ALT_RED_GAMMA:function(e){return pZ(0,e)},ALT_GREEN_GAMMA:function(e){return pZ(1,e)},ALT_BLUE_GAMMA:function(e){return pZ(2,e)},ALT_RED_SIGMOID:function(e){return pY(0,e)},ALT_GREEN_SIGMOID:function(e){return pY(1,e)},ALT_BLUE_SIGMOID:function(e){return pY(2,e)},ALT_RED_HUE:function(e,t){return pK(0,e,t)},ALT_GREEN_HUE:function(e,t){return pK(1/3,e,t)},ALT_BLUE_HUE:function(e,t){return pK(2/3,e,t)},ALT_RED_VIBRANCE:function(e){return pQ(0,e)},ALT_GREEN_VIBRANCE:function(e){return pQ(1,e)},ALT_BLUE_VIBRANCE:function(e){return pQ(2,e)},GLOBAL_PCA_COLOR:function(e,t){let n=(e||"").toLowerCase(),r=Math.max(-180,Math.min(180,null!=t?t:0)),a={count:0,mean:[0,0,0],m2:[[0,0,0],[0,0,0],[0,0,0]]},i=null;return function(e,t){pB(e,e=>{let t=e.data;return!i&&(!function(e,t){for(let n=0;n=2e3&&(i=function(e){if(e.count<2)return null;let t=1/(e.count-1),n=[[e.m2[0][0]*t,e.m2[0][1]*t,e.m2[0][2]*t],[e.m2[1][0]*t,e.m2[1][1]*t,e.m2[1][2]*t],[e.m2[2][0]*t,e.m2[2][1]*t,e.m2[2][2]*t]];return pG(e.mean,n)}(a))),i?!function(e,t,n,r){let a=e.data,i=n.mean,o=n.vectors[0],s=n.vectors[1],u=n.vectors[2],c=Math.sqrt(Math.max(1e-6,n.values[0])),l=Math.sqrt(Math.max(1e-6,n.values[1])),d=Math.sqrt(Math.max(1e-6,n.values[2])),f=(e,t)=>pL(128+e/(3*t)*127);for(let e=0;el&&(l=b),gf&&(f=g),pv&&(v=p)}let b=l-c||1,g=f-d||1,p=v-h||1,m=(e,t,n)=>pL((e-t)/n*255);for(let e=0;e{let n=e.width,r=e.height;if(!n||!r)return!1;let a=e.data,i=pV(a,n,r),o=pO(i,n,r,6,!0);for(let e=0,n=0;e{let n=e.width,r=e.height;if(!n||!r)return!1;let a=pO(e.data,n,r,2),i=e.data;for(let e=0;e{let t=e.width,a=e.height;if(!t||!a)return!1;let i=e.data,o=pV(i,t,a),s=pO(o,t,a,Math.floor(n/2),!0);for(let e=0,t=0;es[t]+r);i[e]=n,i[e+1]=n,i[e+2]=n}return!0}),t()}}},p1="diva-inline-styles";(e=>{if("u":first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-filter-access-warning{color:var(--diva-danger);background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);margin:0 0 12px;padding:8px;line-height:1.4}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background-color,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{width:100%;height:auto}}");var p2=e=>JSON.parse(JSON.stringify(e)),p4=e=>"string"==typeof e?e:Array.isArray(e)?e.length>0?p4(e[0]):"":e&&"object"==typeof e?"string"==typeof e.value?e.value:"string"==typeof e.chars?e.chars:"":"",p3=e=>{var t;return e&&"object"==typeof e?("string"==typeof e.type?e.type.toLowerCase():"string"==typeof e["@type"]?e["@type"].toLowerCase():"").includes("svgselector")&&"string"==typeof e.value?{kind:"svg",value:e.value}:"string"==typeof e.value?p6(e.value):null!=(t=p3(e.default))?t:p3(e.item):void 0},p6=e=>{let t=(e.startsWith("xywh=")?e.slice(5):e).split(",").map(Number);return 4===t.length&&t.every(Number.isFinite)&&t[2]>0&&t[3]>0?{kind:"rect",x:t[0],y:t[1],width:t[2],height:t[3]}:void 0},p5=(e,t=null)=>{var n,r;let a,i;if(!e||"object"!=typeof e||"string"!=typeof e.id||0===e.id.length)throw TypeError("An annotation must be an object with a non-empty string id.");let o=null!=(n=e.target)?n:e.on;if("string"==typeof o){let e=o.match(/^(.*)#xywh=(.+)$/);a=null==e?void 0:e[1],i=e?p6(e[2]):void 0}else o&&"object"==typeof o&&(a="string"==typeof o.source?o.source:void 0,i=p3(o.selector));if(!a||!i)throw TypeError("An annotation target must identify a Canvas and use a supported xywh or SVG selector.");let s=p4(null!=(r=e.body)?r:e.resource);return{canvasId:a,publicAnnotation:p2(e),viewerAnnotation:{id:e.id,text:s.replace(/<[^>]*>/g,""),html:s,imageService:t,shape:i}}},p8=class extends EventTarget{detectLanguage(){return navigator.language.split("-")[0]}initialPageFlag(e){return"number"==typeof e?Number.isInteger(e)&&e>=0?e:null:e&&"object"==typeof e&&("canvasId"===e.by||"label"===e.by)&&"string"==typeof e.value?{by:e.by,value:e.value}:null}getConnectedRoot(){let e=document.getElementById(this.rootId);return e||this.root}bindPorts(){this.getPort("tileSourcesUpdated").subscribe(e=>{this.annotationResourceId!==e.resourceId&&(this.annotationResourceId=e.resourceId,this.manifestAnnotationsByCanvas.clear(),this.apiAnnotationsByCanvas.clear(),this.clearedAnnotationCanvases.clear(),this.annotationImageServicesByCanvas.clear()),e.tileSources.forEach(e=>{e.canvasId&&this.annotationImageServicesByCanvas.set(e.canvasId,e.isStatic?null:e.url)}),this.auth.registerSources(e.tileSources),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setTileSources",e.tileSources,e.initialPageIndex,e.resourceId)}),this.getPort("annotationsUpdated").subscribe(e=>{this.manifestAnnotationsByCanvas.set(e.canvasId,e.annotations.map(t=>{var n,r,a,i;return{canvasId:e.canvasId,publicAnnotation:(r=e.canvasId,{id:t.id,type:"Annotation",body:{type:"TextualBody",value:null!=(a=t.html)?a:t.text},target:"rect"===t.shape.kind?{type:"SpecificResource",source:r,selector:{type:"FragmentSelector",value:`xywh=${t.shape.x},${t.shape.y},${t.shape.width},${t.shape.height}`}}:{type:"SpecificResource",source:r,selector:{type:"SvgSelector",value:null!=(i=t.shape.value)?i:""}}}),viewerAnnotation:{...t,imageService:null!=(n=t.imageService)?n:null}}})),this.applyAnnotationsForCanvas(e.canvasId)}),this.getPort("annotationsVisibilityUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setAnnotationsVisible",e)}),this.getPort("pageAspectsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageAspects",e)}),this.getPort("pageLabelsUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setPageLabels",e)}),this.getPort("pagesUpdated").subscribe(e=>{this.pages=e.map(e=>this.copyPage(e)),this.rebuildPageIndexes(),this.updateState({pageCount:this.pages.length,currentPageIndex:null,visiblePageIndexes:[]})}),this.getPort("zoomLevelUpdated").subscribe(e=>{this.callViewerMethodWhenReady("setZoomLevel",e)}),this.getPort("zoomBy").subscribe(e=>{this.callViewerMethod("zoomBy",e)}),this.getPort("scrollToIndex").subscribe(e=>{this.callViewerMethod("scrollToIndex",e)}),this.getPort("filterPreviewUpdated").subscribe(e=>{var t;e?(this.filterPreviewVersion+=1,null==(t=this.filterPreviewController)||t.abort(),this.filterPreviewController=null,this.pendingFilterPreview=e,this.applyFilterPreview()):this.closeFilterPreview()}),this.getPort("setFullscreen").subscribe(e=>{this.setFullscreen(e)}),this.getPort("saveFilteredImage").subscribe(()=>{this.saveFilteredImage()}),this.getPort("layoutConfigUpdated").subscribe(e=>{this.callViewerMethod("setLayoutConfig",e.mode,e.direction)||this.callViewerMethodWhenReady("setLayoutConfig",e.mode,e.direction),this.updateLayoutState(e.mode,e.direction)}),this.getPort("layoutModeUpdated").subscribe(e=>{this.callViewerMethod("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection)}),this.getPort("resourceLoadSucceeded").subscribe(e=>{this.handleResourceSucceeded(e.requestId,e.url,e.hasPages,e.pageIndex)}),this.getPort("resourceLoadFailed").subscribe(e=>{this.handleResourceFailed(e.requestId,e.message)}),this.getPort("copyToClipboard").subscribe(e=>{this.copyToClipboard(e)}),this.getPort("authSourcesInvalidated").subscribe(e=>{this.auth.invalidateSources(e),this.callViewerMethodWhenReady("invalidateTileSources",e)})}ensureMainViewer(){let e=document.getElementById("main-viewer");return e&&e!==this.mainViewer&&(this.mainViewer=e),this.mainViewer}copyPage(e){var t;let n=e.images.map(e=>({...e})),r=null!=(t=n.find(t=>t.id===e.primaryImage.id&&t.isPrimary))?t:{...e.primaryImage};return{index:e.index,canvasId:e.canvasId,label:e.label,...null===e.width||void 0===e.width?{}:{width:e.width},...null===e.height||void 0===e.height?{}:{height:e.height},primaryImage:{...r},images:n}}effectiveAnnotationsForCanvas(e){var t,n;if(this.clearedAnnotationCanvases.has(e))return[];let r=new Map;return(null!=(t=this.manifestAnnotationsByCanvas.get(e))?t:[]).forEach(e=>r.set(e.viewerAnnotation.id,e)),(null!=(n=this.apiAnnotationsByCanvas.get(e))?n:[]).forEach(e=>r.set(e.viewerAnnotation.id,e)),Array.from(r.values())}applyAnnotationsForCanvas(e){this.callViewerMethodWhenReady("setAnnotations",e,this.effectiveAnnotationsForCanvas(e).map(e=>e.viewerAnnotation))}findStoredAnnotation(e){for(let t of new Set([...this.manifestAnnotationsByCanvas.keys(),...this.apiAnnotationsByCanvas.keys()])){let n=this.effectiveAnnotationsForCanvas(t).find(t=>t.viewerAnnotation.id===e);if(n)return n}}rebuildPageIndexes(){this.pagesByCanvasId.clear(),this.pagesByLabel.clear(),this.pages.forEach(e=>{this.pagesByCanvasId.has(e.canvasId)||this.pagesByCanvasId.set(e.canvasId,e);let t=e.label.toLowerCase();this.pagesByLabel.has(t)||this.pagesByLabel.set(t,e)})}pageForSelector(e){if(!e||"object"!=typeof e||"canvasId"!==e.by&&"label"!==e.by||"string"!=typeof e.value)throw TypeError("A page selector must contain a supported 'by' value and a string 'value'.");return"canvasId"===e.by?this.pagesByCanvasId.get(e.value):this.pagesByLabel.get(e.value.toLowerCase())}copyState(){return{...this.state,visiblePageIndexes:this.state.visiblePageIndexes.slice()}}updateState(e){this.state={...this.state,...e}}emit(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}updateLayoutState(e,t){let n="spread"===e||"spread-shift"===e?e:"single",r="rtl"===t?"rtl":"ltr",a=this.ensureMainViewer(),i=a&&"function"==typeof a.getVisiblePageIndexes?a.getVisiblePageIndexes():this.state.visiblePageIndexes,o=n!==this.state.layoutMode||r!==this.state.viewingDirection;this.updateState({layoutMode:n,viewingDirection:r,visiblePageIndexes:i}),o&&this.emit("layoutchange",{layoutMode:n,viewingDirection:r})}handleResourceSucceeded(e,t,n,r){var a;if(e!==this.activeResourceRequestId)return;let i="initial"!==e;if(i&&(this.updateState({resourceUrl:t}),this.emit("resourcechange",{resourceUrl:t,state:this.copyState()})),n){this.awaitingViewerResource={id:e,url:t,pageIndex:r,resourceChangeEmitted:i};let n=this.ensureMainViewer(),o=null==(a=this.pages[r])?void 0:a.primaryImage.id;o&&n&&"function"==typeof n.isPageLoaded&&n.isPageLoaded(r,o)&&this.completeResource(e,t,!i);return}this.completeResource(e,t,!i)}completeResource(e,t,n){e===this.activeResourceRequestId&&(this.awaitingViewerResource=null,this.updateState({resourceUrl:t,ready:!0}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyResolve(),this.emit("ready",this.copyState())),"initial"!==e&&this.pendingResource&&(this.pendingResource.resolve(),this.pendingResource=null),n&&this.emit("resourcechange",{resourceUrl:t,state:this.copyState()}))}handleResourceFailed(e,t){var n,r;if(e!==this.activeResourceRequestId)return;let a=Error(t),i=(null==(n=this.pendingResource)?void 0:n.id)===e&&this.pendingResource.previousReady;this.awaitingViewerResource=null,this.updateState({ready:i}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(a)),"initial"!==e&&(null==(r=this.pendingResource)?void 0:r.id)===e&&(this.pendingResource.reject(a),this.pendingResource=null),this.emit("error",{error:a,operation:"setResource",recoverable:"initial"!==e})}assertAlive(){if(this.isDestroyed)throw new DOMException("The Diva instance was destroyed.","InvalidStateError")}assertPageIndex(e){if(!Number.isInteger(e)||e<0||e>=this.pages.length)throw RangeError(`Page index ${e} is outside the available page range.`)}refreshLoadingState(){let e=this.resourceLoading||this.viewerLoading;e!==this.state.loading&&(this.updateState({loading:e}),this.emit("loadingchange",{loading:e}))}async waitForResource(){this.assertAlive(),this.pendingResource?await this.pendingResource.promise:await this.ready,this.assertAlive()}async applyFilterPreview(){if(this.isDestroyed||!this.pendingFilterPreview)return;if(!this.ensureFilterViewerElement()){this.filterPreviewRetries<10&&(this.filterPreviewRetries+=1,null===this.filterPreviewRafId&&(this.filterPreviewRafId=requestAnimationFrame(()=>{this.filterPreviewRafId=null,this.applyFilterPreview()})));return}let e=this.pendingFilterPreview;this.pendingFilterPreview=null,this.filterPreviewRetries=0;let t=this.filterPreviewVersion;if(this.filterOptions=e.filters||null,this.ensureFilterViewer(),this.filterViewer){let n=JSON.stringify([e.sourceId,e.tileSource,e.isStatic]);if(this.currentFilterSourceKey!==n){let r,a=new AbortController;this.filterPreviewController=a;try{r=await this.auth.resolve({sourceId:e.sourceId,url:e.tileSource,isStatic:e.isStatic},a.signal)}catch(e){a.signal.aborted||this.isDestroyed||this.filterPreviewVersion;return}finally{this.filterPreviewController===a&&(this.filterPreviewController=null)}if(this.isDestroyed||t!==this.filterPreviewVersion)return;this.setFilterAccessBlocked(this.isNonCorsStaticSource(r)),this.currentFilterSourceKey=n,this.filterViewer.open(r)}else this.applyFilterOptions()}}copyToClipboard(e){if(navigator.clipboard&&"function"==typeof navigator.clipboard.writeText)return void navigator.clipboard.writeText(e).catch(()=>{})}bindPageChange(){this.bindViewerEvent("diva-page-change",this.handlePageChangeBound)}bindFullscreenChange(){document.addEventListener("fullscreenchange",this.handleFullscreenChangeBound)}bindZoomChange(){this.bindViewerEvent("diva-zoom-change",this.handleZoomChangeBound)}bindLoadingChange(){this.bindViewerEvent("diva-loading-change",this.handleLoadingChangeBound)}bindRootClick(){this.getConnectedRoot().addEventListener("click",this.handleRootClickBound,!0)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}getState(){return this.copyState()}getPages(){return this.pages.map(e=>this.copyPage(e))}setAnnotation(e){var t,n;this.assertAlive();let r=p5(e);if(!this.pagesByCanvasId.has(r.canvasId))throw RangeError(`Annotation Canvas ${r.canvasId} is not part of the loaded manifest.`);r.viewerAnnotation.imageService=null!=(t=this.annotationImageServicesByCanvas.get(r.canvasId))?t:null,this.apiAnnotationsByCanvas.forEach((e,t)=>{let n=e.filter(e=>e.viewerAnnotation.id!==r.viewerAnnotation.id);n.length!==e.length&&(this.apiAnnotationsByCanvas.set(t,n),this.applyAnnotationsForCanvas(t))});let a=null!=(n=this.apiAnnotationsByCanvas.get(r.canvasId))?n:[];this.apiAnnotationsByCanvas.set(r.canvasId,[...a,r]),this.clearedAnnotationCanvases.delete(r.canvasId),this.applyAnnotationsForCanvas(r.canvasId)}setAnnotations(e){if(this.assertAlive(),!Array.isArray(e))throw TypeError("Annotations must be an array.");let t=new Map;e.forEach(e=>{var n,r;let a=p5(e);if(!this.pagesByCanvasId.has(a.canvasId))throw RangeError(`Annotation Canvas ${a.canvasId} is not part of the loaded manifest.`);a.viewerAnnotation.imageService=null!=(n=this.annotationImageServicesByCanvas.get(a.canvasId))?n:null;let i=null!=(r=t.get(a.canvasId))?r:[];t.set(a.canvasId,[...i.filter(e=>e.viewerAnnotation.id!==a.viewerAnnotation.id),a])});let n=new Set([...this.apiAnnotationsByCanvas.keys(),...t.keys()]);this.apiAnnotationsByCanvas.clear(),t.forEach((e,t)=>{this.apiAnnotationsByCanvas.set(t,e),this.clearedAnnotationCanvases.delete(t)}),n.forEach(e=>this.applyAnnotationsForCanvas(e))}getAnnotationsForCanvas(e){return this.assertAlive(),this.effectiveAnnotationsForCanvas(e).map(e=>p2(e.publicAnnotation))}getAllAnnotations(){return this.assertAlive(),this.pages.flatMap(e=>this.getAnnotationsForCanvas(e.canvasId))}clearAnnotationsForCanvas(e){this.assertAlive(),this.clearedAnnotationCanvases.add(e),this.apiAnnotationsByCanvas.delete(e),this.applyAnnotationsForCanvas(e)}clearAllAnnotations(){this.assertAlive(),this.apiAnnotationsByCanvas.clear(),this.pages.forEach(e=>{this.clearedAnnotationCanvases.add(e.canvasId),this.applyAnnotationsForCanvas(e.canvasId)})}selectAnnotation(e){if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");if(!this.findStoredAnnotation(e))throw RangeError(`Unknown annotation: ${e}`);this.callViewerMethodWhenReady("selectAnnotation",e)}getAnnotationSelectionEnabled(){this.assertAlive();let e=this.ensureMainViewer();return e&&"function"==typeof e.getAnnotationSelectionEnabled?e.getAnnotationSelectionEnabled():this.annotationSelectionEnabled}setAnnotationSelectionEnabled(e){this.assertAlive(),this.annotationSelectionEnabled=e,this.callViewerMethodWhenReady("setAnnotationSelectionEnabled",e)}toggleAnnotationSelectionEnabled(){return this.setAnnotationSelectionEnabled(!this.getAnnotationSelectionEnabled()),this.annotationSelectionEnabled}getImageRegionForAnnotation(e){var t,n;if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");let r=this.findStoredAnnotation(e),a=null==(n=null==(t=this.mainViewer)?void 0:t.getImageRegionForAnnotation)?void 0:n.call(t,e);if("string"==typeof a)return a;if(!r||"svg"===r.viewerAnnotation.shape.kind)return null;let{x:i,y:o,width:s,height:u}=r.viewerAnnotation.shape;return"number"==typeof i&&"number"==typeof o&&"number"==typeof s&&"number"==typeof u?f(r.viewerAnnotation.imageService,{x:i,y:o,width:s,height:u}):null}getAnnotationBody(e){var t;if(this.assertAlive(),"string"!=typeof e)throw TypeError("Annotation id must be a string.");let n=this.findStoredAnnotation(e);return n?p4(null!=(t=n.publicAnnotation.body)?t:n.publicAnnotation.resource):void 0}findPage(e){let t=this.pageForSelector(e);return t?this.copyPage(t):void 0}getCurrentPage(){let e=this.state.currentPageIndex;return null!==e&&this.pages[e]?this.copyPage(this.pages[e]):void 0}getVisiblePages(){return this.state.visiblePageIndexes.map(e=>this.pages[e]).filter(Boolean).map(e=>this.copyPage(e))}getLayoutMode(){return this.state.layoutMode}setResource(e){let t,n;if(this.assertAlive(),!e||"string"!=typeof e)return Promise.reject(TypeError("A resource URL is required."));this.pendingResource&&(this.pendingResource.reject(new DOMException("The resource load was superseded.","AbortError")),this.pendingResource=null),this.awaitingViewerResource=null;let r=this.state.ready,a=`public-${++this.resourceSequence}`,i=new Promise((e,r)=>{t=e,n=r});return i.catch(()=>{}),this.pendingResource={id:a,promise:i,resolve:t,reject:n,previousReady:r},this.activeResourceRequestId=a,this.updateState({ready:!1}),this.resourceLoading=!0,this.refreshLoadingState(),this.getPort("resourceRequested").send({requestId:a,url:e}),i}async goToPage(e){if(await this.waitForResource(),"number"!=typeof e){let t=this.pageForSelector(e);return!!t&&(await this.callViewerMethodAsync("scrollToIndex",t.index),!0)}this.assertPageIndex(e),await this.callViewerMethodAsync("scrollToIndex",e)}async next(){await this.waitForResource(),await this.callViewerMethodAsync("next")}async previous(){await this.waitForResource(),await this.callViewerMethodAsync("previous")}async setZoom(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom must be a positive finite number.");await this.callViewerMethodAsync("setZoomLevel",e)}async zoomBy(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError("Zoom factor must be a positive finite number.");await this.callViewerMethodAsync("zoomBy",e)}zoomIn(){return this.zoomBy(1.6)}zoomOut(){return this.zoomBy(.625)}async fitToPage(e){await this.waitForResource();let t=null!=e?e:this.state.currentPageIndex;if(null===t)throw RangeError("There is no current page.");this.assertPageIndex(t),await this.callViewerMethodAsync("fitToPage",t)}async zoomToRegion(e,t,n={}){var r;if(await this.waitForResource(),this.assertPageIndex(e),![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.x<0||t.y<0||t.width<=0||t.height<=0)throw RangeError("Region coordinates must be finite, non-negative, and have positive dimensions.");let a=null!=(r=n.padding)?r:.05;if(!Number.isFinite(a)||a<0)throw RangeError("Region padding must be a non-negative finite number.");await this.callViewerMethodAsync("zoomToRegion",e,t,n)}async setLayoutMode(e){if(await this.waitForResource(),!["single","spread","spread-shift"].includes(e))throw RangeError(`Unsupported layout mode: ${e}`);await this.callViewerMethodAsync("setLayoutMode",e),this.updateLayoutState(e,this.state.viewingDirection),this.getPort("layoutModeRequested").send(e)}async enterFullscreen(){this.assertAlive(),document.fullscreenElement||await this.getConnectedRoot().requestFullscreen()}async exitFullscreen(){this.assertAlive(),document.fullscreenElement&&await document.exitFullscreen()}toggleFullscreen(){return document.fullscreenElement?this.exitFullscreen():this.enterFullscreen()}destroy(){var e;if(this.isDestroyed)return;this.isDestroyed=!0;let t=new DOMException("The Diva instance was destroyed.","InvalidStateError");this.readySettled||(this.readySettled=!0,this.readyReject(t)),null==(e=this.pendingResource)||e.reject(t),this.pendingResource=null,this.awaitingViewerResource=null,this.updateState({destroyed:!0,loading:!1}),this.closeFilterPreview(),this.auth.destroy(),null!==this.viewerMethodRafId&&(cancelAnimationFrame(this.viewerMethodRafId),this.viewerMethodRafId=null),this.pendingViewerMethods.clear();let n=this.getConnectedRoot();this.removeViewerEvent("diva-page-change",this.handlePageChangeBound),this.removeViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.removeViewerEvent("diva-zoom-change",this.handleZoomChangeBound),this.removeViewerEvent("diva-loading-change",this.handleLoadingChangeBound),this.removeViewerEvent("diva-static-image-cors-fallback",this.handleStaticImageCorsFallbackBound),this.removeViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound),n.removeEventListener("click",this.handleRootClickBound,!0),document.removeEventListener("fullscreenchange",this.handleFullscreenChangeBound),n&&(n.__divaInstance===this&&delete n.__divaInstance,n.elmTree&&delete n.elmTree,n.innerHTML="")}closeFilterPreview(){var e;this.filterPreviewVersion+=1,null==(e=this.filterPreviewController)||e.abort(),this.filterPreviewController=null,null!==this.filterPreviewRafId&&(cancelAnimationFrame(this.filterPreviewRafId),this.filterPreviewRafId=null),this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.filterViewerElement=null,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterOptions=null,this.setFilterAccessBlocked(!1),this.filterPreviewRetries=0}setFullscreen(e){let t=this.getConnectedRoot();if(e){if(document.fullscreenElement||!document.fullscreenEnabled)return;t.requestFullscreen().catch(()=>{});return}document.fullscreenElement&&document.exitFullscreen().catch(()=>{})}handleRootClick(e){let t=e.target;if(!(t instanceof Element))return;let n=this.getConnectedRoot(),r=t.closest("button[data-diva-action='fullscreen']");r&&n.contains(r)&&(e.preventDefault(),e.stopPropagation(),this.toggleFullscreenFromUserActivation())}toggleFullscreenFromUserActivation(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.fullscreenEnabled&&this.getConnectedRoot().requestFullscreen().catch(()=>{})}handlePageChange(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;t.instant?this.getPort("pageIndexChangedInstant").send(t.index):this.getPort("pageIndexChanged").send(t.index);let n=this.ensureMainViewer(),r=n&&"function"==typeof n.getVisiblePageIndexes?n.getVisiblePageIndexes():[t.index];this.updateState({currentPageIndex:t.index,visiblePageIndexes:r});let a=this.pages[t.index];a&&this.emit("pagechange",{pageIndex:t.index,page:this.copyPage(a),visiblePages:this.getVisiblePages()})}handleAnnotationSelect(e){var t;let n=null==(t=e.detail)?void 0:t.annotationId;"string"==typeof n&&this.emit("annotationselect",{annotationId:n})}handlePageLoaded(e){let t=e.detail;if(!t||"number"!=typeof t.index)return;this.getPort("viewerPageLoaded").send(t.index);let n=this.awaitingViewerResource;n&&t.resourceId===n.id&&t.index===n.pageIndex&&this.completeResource(n.id,n.url,!n.resourceChangeEmitted)}handleZoomChange(e){let t=e.detail;t&&"number"==typeof t.zoom&&(this.getPort("zoomChanged").send(t.zoom),this.updateState({zoom:t.zoom}),this.emit("zoomchange",{zoom:t.zoom}))}handleLoadingChange(e){let t=e.detail;t&&"boolean"==typeof t.loading&&(this.getPort("viewerLoadingChanged").send(t.loading),this.viewerLoading=t.loading,this.refreshLoadingState())}handleStaticImageCorsFallback(e){var t;let n=null==(t=e.detail)?void 0:t.sourceId;"string"==typeof n&&this.auth.useNonCorsStaticSource(n)}handlePageLoadError(e){var t;let n=e.detail,r=Error((null==n?void 0:n.message)||"The image could not be loaded."),a=this.awaitingViewerResource;if(a&&(null==n?void 0:n.resourceId)===a.id&&(null==n?void 0:n.index)===a.pageIndex){this.updateState({ready:!1}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(r)),"initial"!==a.id&&(null==(t=this.pendingResource)?void 0:t.id)===a.id&&(this.pendingResource.reject(r),this.pendingResource=null),this.emit("error",{error:r,operation:"loadPage",recoverable:!0});return}this.emit("error",{error:r,operation:"loadPage",recoverable:!0})}handleFullscreenChange(){let e=!!document.fullscreenElement;this.getPort("fullscreenChanged").send(e),this.updateState({fullscreen:e}),this.emit("fullscreenchange",{fullscreen:e})}ensureFilterViewer(){!this.filterViewer&&this.filterViewerElement&&(this.filterViewer=OpenSeadragon({element:this.filterViewerElement,showNavigationControl:!1,preserveViewport:!0,visibilityRatio:0,drawer:"canvas",crossOriginPolicy:"Anonymous",loadTilesWithAjax:!0,ajaxWithCredentials:!1}),this.filterViewer.addHandler("open",()=>{var e;let t=null==(e=this.filterViewer)?void 0:e.drawer,n=t&&t.canvas?t.canvas:null;if(n&&"function"==typeof n.getContext){let e=n.getContext("2d",{willReadFrequently:!0});e&&(t.context=e)}this.filterViewer&&this.filterViewer.viewport&&this.filterViewer.viewport.fitBounds(this.filterViewer.world.getHomeBounds(),!0),this.filterViewerFlipped=!1,this.applyFilterOptions()}))}ensureFilterViewerElement(){let e=document.getElementById("filter-viewer");return e?(this.filterViewerElement!==e&&(this.filterViewer&&"function"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.currentFilterSourceKey=null,this.filterViewerFlipped=!1,this.filterViewerElement=e),this.filterViewerElement):(this.filterViewerElement=null,null)}applyFilterOptions(){var e,t;if(!this.filterViewer)return;if(this.filterAccessBlocked)return void pI(this.filterViewer,{filters:[]});let n=mn(this.filterOptions);if(pI(this.filterViewer,n),this.filterViewer.viewport){let n=(null==(e=this.filterOptions)?void 0:e.rotation)||0;this.filterViewer.viewport.setRotation(n);let r=!!(null==(t=this.filterOptions)?void 0:t.flip),a=this.filterViewer.viewport;if("function"==typeof a.toggleFlip){let e=this.filterViewerFlipped;"function"==typeof a.getFlip&&(e=!!a.getFlip()),r!=e&&(a.toggleFlip(),this.filterViewerFlipped=r)}}}saveFilteredImage(){if(!this.filterViewer||this.filterAccessBlocked)return;let e=this.filterViewer.drawer,t=e&&e.canvas?e.canvas:null;if(t)try{let e=t.toDataURL("image/png"),n=document.createElement("a");n.href=e,n.download=`diva-filtered-${Date.now()}.png`,document.body.appendChild(n),n.click(),n.remove()}catch(e){}}isNonCorsStaticSource(e){return"object"==typeof e&&null!==e&&"image"===e.type&&!1===e.crossOriginPolicy}setFilterAccessBlocked(e){this.filterAccessBlocked=e;let t=this.root.querySelector(".diva-modal-sidebar");if(!t)return;Array.from(t.querySelectorAll("button, input, select, textarea")).forEach(t=>{e?(t.dataset.divaFilterWasDisabled=t.disabled?"true":"false",t.disabled=!0):void 0!==t.dataset.divaFilterWasDisabled&&(t.disabled="true"===t.dataset.divaFilterWasDisabled,delete t.dataset.divaFilterWasDisabled)});let n=this.root.querySelector('button[aria-label="Save view"]');n&&(e?(n.dataset.divaFilterWasDisabled=n.disabled?"true":"false",n.disabled=!0):void 0!==n.dataset.divaFilterWasDisabled&&(n.disabled="true"===n.dataset.divaFilterWasDisabled,delete n.dataset.divaFilterWasDisabled));let r=t.querySelector(".diva-filter-access-warning");e&&!r&&((r=document.createElement("p")).className="diva-filter-access-warning",r.textContent="Image filters and Save view require CORS-enabled image access.",t.prepend(r)),e||null==r||r.remove()}getPort(e){let t=this.app.ports,n=t?t[e]:void 0;if(!n)throw Error(`Missing Elm port: ${String(e)}`);return n}callViewerMethod(e,...t){let n=this.ensureMainViewer();if(!n)return!1;let r=n[e];return"function"==typeof r&&(r.apply(n,t),!0)}async callViewerMethodAsync(e,...t){let n=0;for(;n<120;){this.assertAlive();let r=this.ensureMainViewer(),a=null==r?void 0:r[e];if("function"==typeof a)return await a.apply(r,t);n+=1,await new Promise(e=>requestAnimationFrame(()=>e()))}throw new DOMException(`The viewer method ${e} is not available.`,"InvalidStateError")}callViewerMethodWhenReady(e,...t){if(this.callViewerMethod(e,...t)){this.viewerMethodAttempts=0;return}this.pendingViewerMethods.set(e,t),this.viewerMethodAttempts=0,this.scheduleViewerMethodFlush()}scheduleViewerMethodFlush(){this.isDestroyed||null!==this.viewerMethodRafId||(this.viewerMethodRafId=requestAnimationFrame(()=>{this.viewerMethodRafId=null,this.flushPendingViewerMethods()}))}flushPendingViewerMethods(){if(this.isDestroyed||0===this.pendingViewerMethods.size)return;let e=Array.from(this.pendingViewerMethods.entries());if(this.pendingViewerMethods.clear(),e.forEach(([e,t])=>{this.callViewerMethod(e,...t)||this.pendingViewerMethods.set(e,t)}),0===this.pendingViewerMethods.size){this.viewerMethodAttempts=0;return}this.viewerMethodAttempts<120&&(this.viewerMethodAttempts+=1,this.scheduleViewerMethodFlush())}bindViewerEvent(e,t){let n=this.ensureMainViewer();n&&(n.removeEventListener(e,t),n.addEventListener(e,t))}removeViewerEvent(e,t){let n=this.ensureMainViewer();n&&n.removeEventListener(e,t)}constructor(e,t){super(),this.mainViewer=null,this.pendingViewerMethods=new Map,this.viewerMethodRafId=null,this.viewerMethodAttempts=0,this.filterViewer=null,this.filterViewerElement=null,this.filterOptions=null,this.filterViewerFlipped=!1,this.filterAccessBlocked=!1,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterPreviewVersion=0,this.filterPreviewRetries=0,this.filterPreviewRafId=null,this.filterPreviewController=null,this.isDestroyed=!1,this.pages=[],this.pagesByCanvasId=new Map,this.pagesByLabel=new Map,this.manifestAnnotationsByCanvas=new Map,this.apiAnnotationsByCanvas=new Map,this.clearedAnnotationCanvases=new Set,this.annotationImageServicesByCanvas=new Map,this.annotationSelectionEnabled=!0,this.annotationResourceId="",this.readySettled=!1,this.activeResourceRequestId="initial",this.resourceSequence=0,this.pendingResource=null,this.awaitingViewerResource=null,this.resourceLoading=!0,this.viewerLoading=!1;let n=document.getElementById(e);if(!n)throw Error(`Missing root element: ${e}`);n.__divaInstance&&n.__divaInstance.destroy(),n.elmTree&&(delete n.elmTree,n.innerHTML=""),this.rootId=e,this.root=n,this.isDestroyed=!1,this.staticImageCorsPolicy="fallback"===t.staticImageCorsPolicy||"none"===t.staticImageCorsPolicy?t.staticImageCorsPolicy:"required",this.annotationSelectionEnabled=!1!==t.enableAnnotationSelection,this.state={resourceUrl:t.objectData,ready:!1,loading:!0,pageCount:0,currentPageIndex:null,visiblePageIndexes:[],layoutMode:"single",viewingDirection:"ltr",zoom:null,fullscreen:!1,destroyed:!1},this.ready=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t}),this.ready.catch(()=>{}),this.handlePageChangeBound=this.handlePageChange.bind(this),this.handleAnnotationSelectBound=this.handleAnnotationSelect.bind(this),this.handlePageLoadedBound=this.handlePageLoaded.bind(this),this.handleZoomChangeBound=this.handleZoomChange.bind(this),this.handleLoadingChangeBound=this.handleLoadingChange.bind(this),this.handleStaticImageCorsFallbackBound=this.handleStaticImageCorsFallback.bind(this),this.handlePageLoadErrorBound=this.handlePageLoadError.bind(this),this.handleFullscreenChangeBound=this.handleFullscreenChange.bind(this),this.handleRootClickBound=this.handleRootClick.bind(this);let r=this.detectLanguage(),a=t.sidebarWidth,i="number"==typeof a&&Number.isFinite(a)?Math.min(520,Math.max(220,Math.round(a))):320,o="contents"===t.sidebarPanel||"metadata"===t.sidebarPanel?t.sidebarPanel:"thumbnails";this.app=pm.Main.init({node:n,flags:{rootElementId:e,objectData:t.objectData,initialPage:this.initialPageFlag(t.initialPage),acceptHeaders:t.acceptHeaders||[],showSidebar:!1!==t.showSidebar,sidebarWidth:i,sidebarPanel:o,showTitle:!1!==t.showTitle,userLanguage:t.setLanguage||r,enableAnnotations:!0===t.enableAnnotations,enableAnnotationSelection:!1!==t.enableAnnotationSelection,annotationServer:t.annotationServer||null}}),this.root=this.getConnectedRoot(),this.auth=new pC(this.app.ports,this.root,this.staticImageCorsPolicy),this.tileSourceResolver=(e,t)=>this.auth.resolve(e,t),this.root.__divaInstance=this,this.bindPorts(),this.callViewerMethodWhenReady("setTileSourceResolver",this.tileSourceResolver),this.callViewerMethodWhenReady("setStaticImageCorsPolicy",this.staticImageCorsPolicy),this.callViewerMethodWhenReady("setAnnotationSelectionEnabled",!1!==t.enableAnnotationSelection),this.bindRootClick(),this.bindPageChange(),this.bindViewerEvent("diva-annotation-select",this.handleAnnotationSelectBound),this.bindViewerEvent("diva-page-loaded",this.handlePageLoadedBound),this.bindFullscreenChange(),this.bindZoomChange(),this.bindLoadingChange(),this.bindViewerEvent("diva-static-image-cors-fallback",this.handleStaticImageCorsFallbackBound),this.bindViewerEvent("diva-page-load-error",this.handlePageLoadErrorBound)}},p7={THRESHOLDING:p0.THRESHOLDING,BRIGHTNESS:p0.BRIGHTNESS,SATURATION:p0.SATURATION,VIBRANCE:p0.VIBRANCE,HUE:p0.HUE,CC_RED:p0.CC_RED,CC_GREEN:p0.CC_GREEN,CC_BLUE:p0.CC_BLUE,CONTRAST:p0.CONTRAST,GAMMA:p0.GAMMA,GREYSCALE:p0.GREYSCALE,INVERT:p0.INVERT,BACKGROUND_NORMALIZE:p0.BACKGROUND_NORMALIZE,UNSHARP_MASK:p0.UNSHARP_MASK,ALT_RED_GAMMA:p0.ALT_RED_GAMMA,ALT_GREEN_GAMMA:p0.ALT_GREEN_GAMMA,ALT_BLUE_GAMMA:p0.ALT_BLUE_GAMMA,ALT_RED_SIGMOID:p0.ALT_RED_SIGMOID,ALT_GREEN_SIGMOID:p0.ALT_GREEN_SIGMOID,ALT_BLUE_SIGMOID:p0.ALT_BLUE_SIGMOID,ALT_RED_HUE:p0.ALT_RED_HUE,ALT_GREEN_HUE:p0.ALT_GREEN_HUE,ALT_BLUE_HUE:p0.ALT_BLUE_HUE,ALT_RED_VIBRANCE:p0.ALT_RED_VIBRANCE,ALT_GREEN_VIBRANCE:p0.ALT_GREEN_VIBRANCE,ALT_BLUE_VIBRANCE:p0.ALT_BLUE_VIBRANCE,GLOBAL_PCA_COLOR:p0.GLOBAL_PCA_COLOR,ADAPTIVE_THRESHOLD:p0.ADAPTIVE_THRESHOLD},p9=[{enabled:"thresholdEnabled",filter:"THRESHOLDING",args:["threshold"]},{enabled:"brightnessEnabled",filter:"BRIGHTNESS",args:["brightness"]},{enabled:"saturationEnabled",filter:"SATURATION",args:["saturation"]},{enabled:"vibranceEnabled",filter:"VIBRANCE",args:["vibrance"]},{enabled:"hueEnabled",filter:"HUE",args:["hue"]},{enabled:"ccRedEnabled",filter:"CC_RED",args:["ccRed"]},{enabled:"ccGreenEnabled",filter:"CC_GREEN",args:["ccGreen"]},{enabled:"ccBlueEnabled",filter:"CC_BLUE",args:["ccBlue"]},{enabled:"contrastEnabled",filter:"CONTRAST",args:["contrast"]},{enabled:"gammaEnabled",filter:"GAMMA",args:["gamma"]},{enabled:"grayscale",filter:"GREYSCALE"},{enabled:"invert",filter:"INVERT"},{enabled:"normalizeEnabled",filter:"BACKGROUND_NORMALIZE",args:["normalizeStrength"]},{enabled:"unsharpEnabled",filter:"UNSHARP_MASK",args:["unsharpAmount"]}],me=[{enabled:"altRedGammaEnabled",filter:"ALT_RED_GAMMA",args:["altRedGamma"]},{enabled:"altGreenGammaEnabled",filter:"ALT_GREEN_GAMMA",args:["altGreenGamma"]},{enabled:"altBlueGammaEnabled",filter:"ALT_BLUE_GAMMA",args:["altBlueGamma"]},{enabled:"altRedSigmoidEnabled",filter:"ALT_RED_SIGMOID",args:["altRedSigmoid"]},{enabled:"altGreenSigmoidEnabled",filter:"ALT_GREEN_SIGMOID",args:["altGreenSigmoid"]},{enabled:"altBlueSigmoidEnabled",filter:"ALT_BLUE_SIGMOID",args:["altBlueSigmoid"]},{enabled:"altRedHueEnabled",filter:"ALT_RED_HUE",args:["altRedHue","altRedHueWindow"],defaults:[0,8]},{enabled:"altGreenHueEnabled",filter:"ALT_GREEN_HUE",args:["altGreenHue","altGreenHueWindow"],defaults:[0,8]},{enabled:"altBlueHueEnabled",filter:"ALT_BLUE_HUE",args:["altBlueHue","altBlueHueWindow"],defaults:[0,8]},{enabled:"altRedVibranceEnabled",filter:"ALT_RED_VIBRANCE",args:["altRedVibrance"]},{enabled:"altGreenVibranceEnabled",filter:"ALT_GREEN_VIBRANCE",args:["altGreenVibrance"]},{enabled:"altBlueVibranceEnabled",filter:"ALT_BLUE_VIBRANCE",args:["altBlueVibrance"]},{enabled:"adaptiveEnabled",filter:"ADAPTIVE_THRESHOLD",args:["adaptiveWindow","adaptiveOffset"],defaults:[15,10]}],mt=(e,t,n)=>{var r,a;for(let i of n)if(t[i.enabled]){let n=null!=(a=null==(r=i.args)?void 0:r.map((e,n)=>{var r,a,o;return null!=(o=t[e])?o:null!=(a=null==(r=i.defaults)?void 0:r[n])?a:0}))?a:[],o=p7[i.filter];e.push(o(...n))}},mn=e=>{var t,n,r,a,i,o,s,u,c;if(!e)return{filters:[],loadMode:"sync"};let l=[];if(mt(l,e,p9),e.morphEnabled){let n="dilate"===e.morphOperation?Math.max:Math.min;l.push(p0.MORPHOLOGICAL_OPERATION(null!=(t=e.morphKernel)?t:3,n))}if(e.convolutionEnabled){let t=p0.CONVOLUTION_PRESET(e.convolutionPreset||"");t&&l.push(p0.CONVOLUTION(t))}if(e.colourmapEnabled){let t=p0.COLORMAP_PRESET(e.colourmapPreset||"");t&&l.push(p0.COLORMAP(t,null!=(n=e.colourmapCenter)?n:128))}return(e.pseudoColourEnabled&&l.push(p0.PSEUDOCOLOR(e.pseudoColourMode||"",null!=(r=e.pseudoColourRed)?r:1,null!=(a=e.pseudoColourGreen)?a:1,null!=(i=e.pseudoColourBlue)?i:1)),e.globalPcaEnabled&&l.push(p0.GLOBAL_PCA_COLOR(e.pcaMode||"",null!=(o=e.pcaHue)?o:0)),e.colourReplaceEnabled&&l.push(p0.COLOR_REPLACE(e.colourReplaceSource||"#ffffff",e.colourReplaceTarget||"#ffffff",null!=(s=e.colourReplaceTolerance)?s:24,null!=(u=e.colourReplaceBlend)?u:1,null!=(c=e.colourReplacePreserveLum)&&c)),mt(l,e,me),0===l.length)?{filters:[],loadMode:"sync"}:{filters:{processors:l},loadMode:"sync"}};window.Diva=p8})(); /***/ } diff --git a/nginx/static/js/app/cantus.chunk.diva.min.js.map b/nginx/static/js/app/cantus.chunk.diva.min.js.map index 7faaae0a..587d1e94 100644 --- a/nginx/static/js/app/cantus.chunk.diva.min.js.map +++ b/nginx/static/js/app/cantus.chunk.diva.min.js.map @@ -1 +1 @@ -{"version":3,"file":"cantus.chunk.diva.min.js","mappings":";;;;;;;;AAAA","sources":["webpack:///../../dependencies/diva.js/build/diva.js"],"sourcesContent":["(()=>{var e,t,a,r,n,i,o,u,s,c,l,b,d,f=null,h=class extends HTMLElement{static get observedAttributes(){return[\"data-src\",\"data-fallback-src\",\"data-alt\",\"data-crossorigin\"]}connectedCallback(){this.observe()}disconnectedCallback(){null==f||f.unobserve(this)}attributeChangedCallback(){this.reset(),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==f||f.unobserve(this);let a=document.createElement(\"img\");a.className=\"diva-thumbs-image\",a.alt=null!=(e=this.dataset.alt)?e:\"\";let r=this.dataset.crossorigin,n=\"anonymous\"===r;this.image=a,this.appendChild(a),this.loadImage(a,t,n?void 0:r,n,!1)}loadImage(e,t,a,r,n){e.removeAttribute(\"crossorigin\"),a&&(e.crossOrigin=a),e.onerror=()=>{let a=this.dataset.fallbackSrc;r&&!n&&a&&a!==t?this.loadImage(e,a,void 0,!0,!0):this.showUnavailable()},e.removeAttribute(\"src\"),e.src=t}reset(){var e,t;null==(e=this.image)||e.remove(),this.image=null,null==(t=this.unavailable)||t.remove(),this.unavailable=null}showUnavailable(){var e;null==(e=this.image)||e.remove(),this.image=null;let t=document.createElement(\"div\");t.className=\"diva-thumbs-image diva-thumbs-image--unavailable\",t.setAttribute(\"aria-label\",\"Thumbnail unavailable\"),this.unavailable=t,this.appendChild(t)}observe(){\"IntersectionObserver\"in window?(f||(f=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:\"300px 0px\"})),f.observe(this)):this.load()}constructor(){super(...arguments),this.image=null,this.unavailable=null}},v=class extends HTMLElement{connectedCallback(){this.style.display=\"block\",this.container||(this.container=document.createElement(\"div\"),this.container.className=\"osd-container\",this.container.style.width=\"100%\",this.container.style.height=\"100%\",this.container.addEventListener(\"wheel\",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener(\"dblclick\",this.handleDoubleClickBound),this.appendChild(this.container),this.createScrollbar());let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener(\"wheel\",this.handleWheelBound),this.container.removeEventListener(\"dblclick\",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener(\"mousemove\",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener(\"mouseup\",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.viewer.destroy(),this.viewer=null),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,crossOriginPolicy:\"Anonymous\",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler(\"pan\",this.handleViewportChangeBound),t.addHandler(\"zoom\",this.handleViewportChangeBound),t.addHandler(\"pan\",()=>this.updateScrollbar()),t.addHandler(\"zoom\",()=>this.updateScrollbar()),t.addHandler(\"animation-finish\",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:\"spread\"===e||\"spread-shift\"===e?e:\"single\"})}setViewingDirection(e){this.applyLayoutChange({direction:\"rtl\"===e?\"rtl\":\"ltr\"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:\"spread\"===e||\"spread-shift\"===e?e:\"single\",direction:\"rtl\"===t?\"rtl\":\"ltr\"})}setTileSources(e,t=0,a=\"internal\"){if(Array.isArray(e)){if(this.tileSources=e.slice(),this.resourceId=a,this.initialPageIndex=Number.isInteger(t)&&t>=0&&ta.has(e.sourceId))&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)}setPageLabels(e){Array.isArray(e)&&(this.pageLabels=e,this.pageOverlayElements.forEach((e,t)=>{this.addOrUpdatePageOverlay(t)}))}resetTileSources(e,t=0){this.viewer&&(\"function\"==typeof this.viewer.close?this.viewer.close():this.viewer.world.removeAll(),this.cancelLoads(),this.tileSources=e,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t0?this.initialPageIndex:null,this.lastReportedIndex=this.targetIndex,this.clearScrollPlane(),this.buildOffsets(),this.ensureScrollPlane(),null!==this.targetIndex&&this.positionInitialViewport(this.targetIndex),this.resetLoadingState(),this.suppressPageChange=!0,this.suppressZoomChange=!0,this.maybeLoadMore())}handleViewportChange(){var e;if(this.isClamping)return;let t=null==(e=this.viewer)?void 0:e.viewport;t&&(this.maybeLoadMore(t),this.maybeEmitPageChange(t),this.clampTop(t),this.clampBottom(t))}handleAnimationFinish(){this.updateScrollbar(),this.maybeEmitZoomChange()}maybeLoadMore(e){var t;if(0===this.tileSources.length)return;if(!this.isViewportInitialized){if(null!==this.targetIndex){this.ensurePageLoaded(this.targetIndex);let e=this.pageOffsets[this.targetIndex]||0,t=this.pageRowHeights[this.targetIndex]||this.pageHeights[this.targetIndex]||1,a=this.indicesForRange(Math.max(0,e-1.5*t),e+2.5*t);if(a)for(let e=a[0];e<=a[1];e+=1)this.ensurePageLoaded(e)}return}let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=1.5*r.height,i=Math.max(0,r.y-n),o=r.y+r.height+n,u=this.indicesForRange(i,o);if(!u)return;let s=u[0],c=u[1],l=s;for(;l<=c;)this.ensurePageLoaded(l),l+=1;null!==this.targetIndex&&this.ensurePageLoaded(this.targetIndex)}ensurePageLoaded(e){e<0||e>=this.tileSources.length||e>=this.pageOffsets.length||this.loadedIndexes.has(e)||this.loadingIndexes.has(e)||this.unavailableIndexes.has(e)||this.loadTile(e)}async loadTile(e){let t;if(!this.viewer)return;let a=this.loadToken,r=this.tileSources[e],n=new AbortController;this.loadControllers.set(e,n),this.loadingIndexes.add(e),this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.updateLoadingState();try{t=await this.tileSourceResolver(r,n.signal)}catch(t){a!==this.loadToken||n.signal.aborted||this.markUnavailable(e,t instanceof Error?t.message:\"This image is unavailable.\"),this.finishLoad(e,n);return}if(a!==this.loadToken||n.signal.aborted||!this.viewer)return void this.finishLoad(e,n);let i=this.pageOffsets[e]||0,o=this.pageXOffsets[e]||0;this.viewer.addTiledImage({tileSource:t,...this.tileRequestOptions(t),x:o,y:i,width:1,success:t=>{if(a!==this.loadToken)return;let r=t.item,n=this.pageXOffsets[e]||0,i=this.pageOffsets[e]||0,o=this.pageHeights[e]||1;if(r.setPosition(new OpenSeadragon.Point(n,i),!0),r.setWidth(1,!0),r.setHeight(o,!0),this.loadedIndexes.add(e),this.loadedItems.set(e,r),this.resolvePageWaiters(e,r),this.addOrUpdatePageOverlay(e),this.loadingIndexes.delete(e),this.loadControllers.delete(e),this.updateLoadingState(),!this.hasFitFirstPage&&e===this.initialPageIndex){this.hasFitFirstPage=!0;let t=this.viewer;if(!t||!t.viewport)return;let a=this.isSingleCanvasLayout(),n=a?r.getBounds():this.isSpreadMode()?this.getRowBounds(e):r.getBounds();t.viewport.fitBounds(n,!0),a||t.viewport.zoomBy(.95,t.viewport.getCenter(!0),!0),this.alignTopAfterFit(e),t.viewport.applyConstraints(),this.isViewportInitialized=!0,this.lockHorizontalPan(),this.recenterAfterFit(),this.flushInitialPageChange(),this.flushInitialZoomChange()}this.emitCustomEvent(\"diva-page-loaded\",{index:e,resourceId:this.resourceId}),this.targetIndex===e&&(this.targetIndex=null),this.maybeLoadMore()},error:t=>{a===this.loadToken&&(this.markUnavailable(e,(null==t?void 0:t.message)||\"This image could not be loaded. Static images must allow CORS.\"),this.finishLoad(e,n),this.maybeLoadMore())}})}tileRequestOptions(e){if(!e||\"object\"!=typeof e)return{};let t={};return\"boolean\"==typeof e.ajaxWithCredentials&&(t.ajaxWithCredentials=e.ajaxWithCredentials),(\"string\"==typeof e.crossOriginPolicy||\"boolean\"==typeof e.crossOriginPolicy)&&(t.crossOriginPolicy=e.crossOriginPolicy),t}finishLoad(e,t){this.loadControllers.get(e)===t&&(this.loadControllers.delete(e),this.loadingIndexes.delete(e),this.updateLoadingState())}cancelLoads(){this.loadToken+=1,this.loadControllers.forEach(e=>e.abort()),this.loadControllers.clear(),this.loadingIndexes.clear(),this.rejectPageWaiters(new DOMException(\"The image load was cancelled.\",\"AbortError\")),this.resetLoadingState()}markUnavailable(e,t){this.unavailableIndexes.set(e,t),this.rejectPageWaiters(Error(t),e),this.emitCustomEvent(\"diva-page-load-error\",{index:e,message:t,resourceId:this.resourceId}),this.addUnavailableOverlay(e,t)}waitForPage(e){let t=this.loadedItems.get(e);if(t)return Promise.resolve(t);let a=this.unavailableIndexes.get(e);return a?Promise.reject(Error(a)):new Promise((t,a)=>{var r;let n=null!=(r=this.pageWaiters.get(e))?r:[];n.push({resolve:t,reject:a}),this.pageWaiters.set(e,n),this.ensurePageLoaded(e)})}resolvePageWaiters(e,t){var a;let r=null!=(a=this.pageWaiters.get(e))?a:[];this.pageWaiters.delete(e),r.forEach(e=>e.resolve(t))}rejectPageWaiters(e,t){(void 0===t?Array.from(this.pageWaiters.keys()):[t]).forEach(t=>{var a;let r=null!=(a=this.pageWaiters.get(t))?a:[];this.pageWaiters.delete(t),r.forEach(t=>t.reject(e))})}addUnavailableOverlay(e,t){if(!this.viewer)return;this.removeUnavailableOverlay(e);let a=document.createElement(\"div\");a.className=\"diva-image-unavailable\",a.dataset.index=String(e);let r=document.createElement(\"p\");r.textContent=t;let n=document.createElement(\"button\");n.type=\"button\",n.textContent=\"Retry image\",n.addEventListener(\"click\",()=>{this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.ensurePageLoaded(e)}),a.append(r,n),this.viewer.addOverlay({element:a,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}removeUnavailableOverlay(e){let t=this.querySelector(`.diva-image-unavailable[data-index=\"${e}\"]`);t&&this.viewer&&this.viewer.removeOverlay(t),null==t||t.remove()}setPageAspects(e){Array.isArray(e)&&(this.pageAspects=e.filter(e=>e>0),this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),this.isViewportInitialized||null===this.targetIndex||this.positionInitialViewport(this.targetIndex),this.maybeLoadMore())}buildOffsets(){let e=this.tileSources.length>0?this.tileSources.length:this.pageAspects.length;this.pageOffsets=Array(e),this.pageHeights=Array(e),this.pageRowHeights=Array(e),this.pageXOffsets=Array(e),this.isSpreadMode()?this.buildSpreadOffsets(e):this.buildSingleOffsets(e)}buildSingleOffsets(e){let t=0,a=this.pageAspects[0]||1;for(let r=0;r0){let e=this.pageAspects[0]||n;n=e,this.pageOffsets[0]=a,this.pageHeights[0]=e,this.pageRowHeights[0]=e,this.pageXOffsets[0]=+!t,a+=e+.06,r=1}for(;r{let a=this.pageOffsets[t],r=this.pageHeights[t],n=this.pageXOffsets[t];e.setPosition(new OpenSeadragon.Point(n,a),!0),e.setWidth(1,!0),e.setHeight(r,!0),this.addOrUpdatePageOverlay(t)})}addOrUpdatePageOverlay(e){if(!this.viewer)return;let t=this.pageOverlayElements.get(e),a=e%2==0;t||((t=document.createElement(\"div\")).className=\"diva-page-overlay-label\",t.style.pointerEvents=\"none\",t.style.color=\"#ffffff\",t.style.background=\"transparent\",t.style.padding=\"0\",t.style.borderRadius=\"0\",t.style.fontSize=\"12px\",t.style.fontWeight=\"600\",t.style.lineHeight=\"1.2\",t.style.whiteSpace=\"nowrap\",t.style.paddingBottom=\"6px\",t.style.paddingLeft=a?\"0\":\"12px\",t.style.paddingRight=a?\"12px\":\"0\",this.pageOverlayElements.set(e,t)),t.textContent=this.pageLabels[e]||`Page ${e+1}`;let r=(this.pageXOffsets[e]||0)+ +!!a,n=this.pageOffsets[e]||0;try{this.viewer.removeOverlay(t)}catch(e){}this.viewer.addOverlay({element:t,location:new OpenSeadragon.Point(r,n),placement:a?OpenSeadragon.Placement.BOTTOM_RIGHT:OpenSeadragon.Placement.BOTTOM_LEFT})}clearPageOverlays(){this.viewer&&this.pageOverlayElements.forEach(e=>{var t;try{null==(t=this.viewer)||t.removeOverlay(e)}catch(e){}e.remove()}),this.pageOverlayElements.clear()}ensureScrollPlane(){if(!this.viewer||0===this.pageOffsets.length)return;let e=this.getTotalHeight(),t=this.isSpreadMode()?2:1;if(this.scrollPlaneItem){this.scrollPlaneItem.setPosition(new OpenSeadragon.Point(0,0),!0),this.scrollPlaneItem.setWidth(t,!0),this.scrollPlaneItem.setHeight(e,!0);return}let a=`data:image/svg+xml;charset=utf-8,${encodeURIComponent('')}`;this.viewer.addTiledImage({tileSource:{type:\"image\",url:a},x:0,y:0,width:t,success:a=>{let r=a.item;r.setOpacity(0),r.setPosition(new OpenSeadragon.Point(0,0),!0),r.setWidth(t,!0),r.setHeight(e,!0),this.scrollPlaneItem=r}})}clearScrollPlane(){this.viewer&&this.scrollPlaneItem&&(this.viewer.world.removeItem(this.scrollPlaneItem),this.scrollPlaneItem=null)}indicesForRange(e,t){return 0===this.pageOffsets.length?null:[this.findIndexForOffset(e),this.getRowEndIndex(this.findIndexForOffset(t))]}findIndexForOffset(e){let t=0,a=this.pageOffsets.length-1;for(;t<=a;){let r=Math.floor((t+a)/2),n=this.pageOffsets[r],i=this.pageRowHeights[r]||this.pageHeights[r]||1;if(en+i))return this.getRowStartIndex(r);t=r+1}}if(t>=this.pageOffsets.length)return this.pageOffsets.length-1;let r=Math.max(0,t);return this.getRowStartIndex(r)}scrollToOffset(e){var t;let a=null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=this.isSpreadMode()?2:1,i=new OpenSeadragon.Rect(0,e,n,r.height);a.fitBounds(i,!0)}positionInitialViewport(e){var t;let a=null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=this.pageOffsets[e]||0,n=this.pageRowHeights[e]||this.pageHeights[e]||1,i=Math.max(0,r-1.5*n),o=this.isSpreadMode()?2:1;a.fitBounds(new OpenSeadragon.Rect(0,i,o,r+2.5*n-i),!0)}scrollToIndex(e){if(e<0||e>=this.tileSources.length||e>=this.pageOffsets.length)return;let t=this.pageOffsets[e];this.scrollToOffset(t),this.targetIndex=e,this.ensurePageLoaded(e),this.lastReportedIndex=e,this.emitCustomEvent(\"diva-page-change\",{index:e})}getVisiblePageIndexes(){var e;if(0===this.pageOffsets.length)return[];let t=null!=(e=this.lastReportedIndex)?e:0,a=this.getRowStartIndex(t);return Array.from({length:this.getRowEndIndex(a)-a+1},(e,t)=>a+t)}isPageLoaded(e,t){var a;return(null==(a=this.tileSources[e])?void 0:a.sourceId)===t&&this.loadedIndexes.has(e)}next(){let e=this.getVisiblePageIndexes();if(0===e.length)return;let t=this.getRowEndIndex(e[0])+1;t0?n/r.height*.75:0,o=a.getCenter(!0),u=new OpenSeadragon.Point(this.getCenterX(),o.y+i);a.panTo(u,!0),this.recenterBoundsX(),this.clampTop(),this.clampBottom(),this.maybeEmitPageChange()}lockHorizontalPan(){var e;if(!this.isViewportInitialized)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(this.getCenterX(),a.y),!0),t.applyConstraints()}recenterAfterFit(){if(!this.viewer)return;let e=()=>{this.viewer&&this.viewer.removeHandler(\"animation-finish\",e),this.recenterBoundsX()};\"function\"==typeof this.viewer.addOnceHandler?this.viewer.addOnceHandler(\"animation-finish\",e):this.viewer.addHandler(\"animation-finish\",e)}recenterBoundsX(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0),r=this.getCenterX();5e-4>Math.abs(a.x-r)||(t.panTo(new OpenSeadragon.Point(r,a.y),!0),t.applyConstraints())}clampTop(e){var t;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getBounds(!0),n=-this.getTopPaddingViewport(r.height);if(r.y>=n)return;let i=r.height/2+n;this.isClamping=!0,a.panTo(new OpenSeadragon.Point(this.getCenterX(),i),!0),a.applyConstraints(),this.isClamping=!1}clampBottom(e){var t,a;let r=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!r||0===this.pageOffsets.length)return;let n=this.getTotalHeight(),i=r.getBounds(!0),o=n+20/((null==(a=this.container)?void 0:a.getBoundingClientRect().height)||1)*i.height;if(i.y+i.height<=o)return;let u=o-i.height/2;this.isClamping=!0,r.panTo(new OpenSeadragon.Point(this.getCenterX(),u),!0),r.applyConstraints(),this.isClamping=!1}maybeEmitPageChange(e){var t;if(this.suppressPageChange||this.isScrollbarDragging||0===this.pageOffsets.length)return;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getCenter(!0),n=this.findIndexForOffset(r.y);this.lastReportedIndex!==n&&(this.lastReportedIndex=n,this.emitCustomEvent(\"diva-page-change\",{index:n}))}emitPageChangeInstant(){var e;if(0===this.pageOffsets.length)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getCenter(!0),r=this.findIndexForOffset(a.y);this.lastReportedIndex=r,this.emitCustomEvent(\"diva-page-change\",{index:r,instant:!0})}flushInitialPageChange(){if(0===this.pageOffsets.length){this.suppressPageChange=!1;return}if(!this.viewer||!this.viewer.viewport)return;let e=this.viewer.viewport.getCenter(!0),t=this.findIndexForOffset(e.y);this.lastReportedIndex=t,this.suppressPageChange=!1,this.emitCustomEvent(\"diva-page-change\",{index:t})}maybeEmitZoomChange(e){var t;if(this.suppressZoomChange)return;let a=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!a)return;let r=a.getZoom(!0);null!==this.lastReportedZoom&&1e-4>Math.abs(this.lastReportedZoom-r)||(this.lastReportedZoom=r,this.emitCustomEvent(\"diva-zoom-change\",{zoom:r}))}flushInitialZoomChange(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let a=t.getZoom(!0);this.lastReportedZoom=a,this.suppressZoomChange=!1,this.emitCustomEvent(\"diva-zoom-change\",{zoom:a})}alignTopAfterFit(e){if(!this.viewer)return;let t=this.viewer.viewport;if(!t)return;let a=t.getBounds(!0),r=this.getTopPaddingViewport(a.height),n=(this.pageOffsets[e]||0)-r;if(5e-4>Math.abs(a.y-n))return;let i=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(i.x,a.height/2+n),!0),t.applyConstraints()}getTopPaddingViewport(e){var t;return 28/((null==(t=this.container)?void 0:t.getBoundingClientRect().height)||1)*e}resetLoadingState(){null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading=!1,this.emitCustomEvent(\"diva-loading-change\",{loading:!1})}updateLoadingState(){if(this.loadingIndexes.size>0){if(this.isLoading||null!==this.loadingTimer)return;this.loadingTimer=window.setTimeout(()=>{this.loadingTimer=null,this.loadingIndexes.size>0&&!this.isLoading&&(this.isLoading=!0,this.emitCustomEvent(\"diva-loading-change\",{loading:!0}))},300);return}null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading&&(this.isLoading=!1,this.emitCustomEvent(\"diva-loading-change\",{loading:!1}))}applyLayoutChange(e){var t,a,r;let n=null!=(t=e.mode)?t:this.layoutMode,i=null!=(a=e.direction)?a:this.viewingDirection;if(this.layoutMode===n&&this.viewingDirection===i)return;let o=null,u=null==(r=this.viewer)?void 0:r.viewport;if(u&&this.pageOffsets.length>0){let e=u.getBounds(!0),t=e.y+.5*e.height;o=this.findIndexForOffset(t)}else null!==this.lastReportedIndex&&(o=this.lastReportedIndex);if(this.layoutMode=n,this.viewingDirection=i,this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),null!==o){let e=Math.max(0,Math.min(o,this.pageOffsets.length-1));this.scrollToIndex(e)}else this.lockHorizontalPan(),this.recenterAfterFit();this.maybeLoadMore()}emitCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}getCenterX(){return this.isSpreadMode()?1:.5}isSingleCanvasLayout(){return 1===this.tileSources.length&&1===this.pageOffsets.length}getTotalHeight(){let e=this.pageOffsets.length-1;return this.pageOffsets[e]+(this.pageRowHeights[e]||1)}getRowBounds(e){let t=this.pageOffsets[e]||0,a=this.pageRowHeights[e]||this.pageHeights[e]||1,r=this.isSpreadMode()?2:1;return new OpenSeadragon.Rect(0,t,r,a)}isSpreadMode(){return\"single\"!==this.layoutMode}getRowStartIndex(e){return this.isSpreadMode()?\"spread-shift\"===this.layoutMode?0===e?0:e%2==1?e:e-1:e-e%2:e}getRowEndIndex(e){let t=this.pageOffsets.length-1;return this.isSpreadMode()?\"spread-shift\"===this.layoutMode&&0===e?0:Math.min(e+1,t):e}createScrollbar(){this.container&&(this.scrollbarTrack=document.createElement(\"div\"),this.scrollbarTrack.className=\"diva-scrollbar-track\",this.scrollbarThumb=document.createElement(\"div\"),this.scrollbarThumb.className=\"diva-scrollbar-thumb\",this.scrollbarTrack.appendChild(this.scrollbarThumb),this.container.appendChild(this.scrollbarTrack),this.setupScrollbarDrag(),this.setupScrollbarTrackClick())}updateScrollbar(){if(!this.viewer||!this.scrollbarThumb||!this.scrollbarTrack||0===this.pageOffsets.length)return;let e=this.viewer.viewport.getBounds(!0),t=this.scrollbarTrack.clientHeight,a=this.getTotalHeight(),r=e.height,n=e.y,i=Math.max(30,r/a*t),o=a-r,u=o>0?Math.max(0,Math.min(1,n/o)):0;this.scrollbarThumb.style.height=`${i}px`,this.scrollbarThumb.style.top=`${Math.max(0,u*(t-i))}px`}setupScrollbarDrag(){if(!this.scrollbarThumb||!this.scrollbarTrack)return;let e=!1,t=0,a=0,r=r=>{var n;e=!0,this.isScrollbarDragging=!0,t=r.clientY,a=(null==(n=this.scrollbarThumb)?void 0:n.offsetTop)||0,r.preventDefault(),r.stopPropagation()},n=r=>{if(!e||!this.scrollbarTrack||!this.scrollbarThumb||!this.viewer)return;let n=r.clientY-t,i=a+n,o=this.scrollbarTrack.clientHeight,u=this.scrollbarThumb.clientHeight,s=Math.max(0,Math.min(i,o-u)),c=this.getTotalHeight(),l=this.viewer.viewport.getBounds(!0).height;this.scrollToOffset((o-u>0?s/(o-u):0)*(c-l))},i=()=>{e&&(e=!1,this.isScrollbarDragging=!1,this.emitPageChangeInstant())};this.scrollbarMouseMove=n,this.scrollbarMouseUp=i,this.scrollbarThumb.addEventListener(\"mousedown\",r),document.addEventListener(\"mousemove\",n),document.addEventListener(\"mouseup\",i)}setupScrollbarTrackClick(){this.scrollbarTrack&&this.scrollbarTrack.addEventListener(\"click\",e=>{var t;if(e.target===this.scrollbarThumb||!this.viewer)return;let a=null==(t=this.scrollbarTrack)?void 0:t.getBoundingClientRect();if(!a)return;let r=Math.max(0,Math.min(1,(e.clientY-a.top)/a.height)),n=this.getTotalHeight(),i=this.viewer.viewport.getBounds(!0).height;this.scrollToOffset(r*(n-i))})}constructor(){super(),this.container=null,this.viewer=null,this.loadToken=0,this.tileSources=[],this.pageLabels=[],this.pageAspects=[],this.pageOffsets=[],this.pageHeights=[],this.pageRowHeights=[],this.pageXOffsets=[],this.layoutMode=\"single\",this.viewingDirection=\"ltr\",this.hasFitFirstPage=!1,this.loadedIndexes=new Set,this.loadingIndexes=new Set,this.unavailableIndexes=new Map,this.loadControllers=new Map,this.tileSourceResolver=async e=>e.isStatic?{type:\"image\",url:e.url,crossOriginPolicy:\"Anonymous\"}:e.url,this.loadedItems=new Map,this.pageWaiters=new Map,this.pageOverlayElements=new Map,this.targetIndex=null,this.initialPageIndex=0,this.resourceId=\"initial\",this.scrollPlaneItem=null,this.isViewportInitialized=!1,this.lastReportedIndex=null,this.lastReportedZoom=null,this.loadingTimer=null,this.isLoading=!1,this.isClamping=!1,this.suppressPageChange=!0,this.suppressZoomChange=!0,this.scrollbarTrack=null,this.scrollbarThumb=null,this.isScrollbarDragging=!1,this.scrollbarMouseMove=null,this.scrollbarMouseUp=null,this.handleWheelBound=this.handleWheel.bind(this),this.handleDoubleClickBound=this.handleDoubleClick.bind(this),this.handleViewportChangeBound=this.handleViewportChange.bind(this),this.handleAnimationFinishBound=this.handleAnimationFinish.bind(this)}};function g(e,t,a){return a.a=e,a.f=t,a}function p(e){return g(2,e,function(t){return function(a){return e(t,a)}})}function m(e){return g(3,e,function(t){return function(a){return function(r){return e(t,a,r)}}})}function w(e){return g(4,e,function(t){return function(a){return function(r){return function(n){return e(t,a,r,n)}}}})}function x(e){return g(5,e,function(t){return function(a){return function(r){return function(n){return function(i){return e(t,a,r,n,i)}}}}})}function y(e){return g(6,e,function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return e(t,a,r,n,i,o)}}}}}})}function E(e){return g(7,e,function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return e(t,a,r,n,i,o,u)}}}}}}})}function I(e,t,a){return 2===e.a?e.f(t,a):e(t)(a)}function C(e,t,a,r){return 3===e.a?e.f(t,a,r):e(t)(a)(r)}function R(e,t,a,r,n){return 4===e.a?e.f(t,a,r,n):e(t)(a)(r)(n)}function $(e,t,a,r,n,i){return 5===e.a?e.f(t,a,r,n,i):e(t)(a)(r)(n)(i)}function L(e,t,a,r,n,i,o){return 6===e.a?e.f(t,a,r,n,i,o):e(t)(a)(r)(n)(i)(o)}function A(e,t,a,r,n,i,o,u){return 7===e.a?e.f(t,a,r,n,i,o,u):e(t)(a)(r)(n)(i)(o)(u)}customElements.define(\"diva-lazy-image\",h),customElements.define(\"osd-viewer\",v);var S=m(function(e,t,a){for(var r=Array(e),n=0;n100){var n;return r.push((n=e,{a:n,b:t})),!0}if(e.$<0&&(e=ai(e),t=ai(t)),\"function\"==typeof DataView&&e instanceof DataView){var i=e.byteLength;if(t.byteLength!==i)return!1;for(var o=0;o0&&e<0||a<0&&e>0?a+e:a}),Z=Math.ceil,K=Math.floor,X=Math.round,Y=Math.log,J=p(function(e,t){return e+t}),Q=m(function(e,t,a){for(var r=a.length;r-- >0;){var n=a[r],i=a.charCodeAt(r);56320<=i&&i<=57343&&(n=a[--r]+n),t=I(e,n,t)}return t}),ee=p(function(e,t){return t.split(e)}),et=p(function(e,t){return t.join(e)}),ea=m(function(e,t,a){return a.slice(e,t)}),er=p(function(e,t){for(var a=t.length;a-- >0;){var r=t[a],n=t.charCodeAt(a);if(56320<=n&&n<=57343&&(r=t[--a]+r),!e(r))return!1}return!0}),en=p(function(e,t){return t.indexOf(e)>-1}),ei=p(function(e,t){return 0===t.indexOf(e)}),eo=p(function(e,t){return t.length>=e.length&&t.lastIndexOf(e)===t.length-e.length}),eu=p(function(e,t){var a=e.length;if(a<1)return B;for(var r=0,n=[];(r=t.indexOf(e,r))>-1;)n.push(r),r+=a;return U(n)});function es(e){return e+\"\"}function ec(e){return{$:2,b:e}}var el=ec(function(e){return\"number\"!=typeof e?eA(\"an INT\",e):-0x7fffffff=t.length)return eA(\"a LONGER array. Need index \"+n+\" but only see \"+t.length+\" entries\",t);var r=eC(e.b,t[n]);return a1(r)?r:ab(I(ah,n,r.a));case 8:if(\"object\"!=typeof t||null===t||e$(t))return eA(\"an OBJECT\",t);var i=B;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var r=eC(e.b,t[o]);if(!a1(r))return ab(I(af,o,r.a));i=D({a:o,b:r.a},i)}return av(az(i));case 9:for(var u=e.f,s=e.g,c=0;ctypeof FileList&&e instanceof FileList}function eL(e){return I(a0,e.length,function(t){return e[t]})}function eA(e,t){return ab(I(ad,\"Expecting \"+e,t))}var eS=p(function(e,t){return JSON.stringify(t,null,e)+\"\"});function eT(e){return e}var ek=m(function(e,t,a){return(\"toJSON\"!==e||\"function\"!=typeof t)&&(a[e]=t),a});function eM(e){return{$:0,a:e}}function eP(e){return{$:2,b:e,c:null}}var eN=p(function(e,t){return{$:3,b:e,d:t}}),ez=p(function(e,t){return{$:4,b:e,d:t}}),eO=0;function eV(e){var t={$:0,e:eO++,f:e,g:null,h:[]};return eU(t),t}function eq(e){return eP(function(t){t(eM(eV(e)))})}function eH(e,t){e.h.push(t),eU(e)}var eB=p(function(e,t){return eP(function(a){eH(e,t),a(eM(0))})}),eD=!1,e_=[];function eU(e){if(e_.push(e),!eD){for(eD=!0;e=e_.shift();)!function(e){for(;e.f;){var t=e.f.$;if(0===t||1===t){for(;e.g&&e.g.$!==t;)e.g=e.g.i;if(!e.g)return;e.f=e.g.b(e.f.a),e.g=e.g.i}else if(2===t){e.f.c=e.f.b(function(t){e.f=t,eU(e)});return}else if(5===t){if(0===e.h.length)return;e.f=e.f.b(e.h.shift())}else e.g={$:+(3!==t),b:e.f.b,i:e.g},e.f=e.f.d}}(e);eD=!1}}function eF(e){return eP(function(t){var a=setTimeout(function(){t(eM(0))},e);return function(){clearTimeout(a)}})}var eG={};function ej(e,t,a,r,n){return{b:e,c:t,d:a,e:r,f:n}}var eW=p(function(e,t){return eP(function(a){e.g(t),a(eM(0))})}),eZ=p(function(e,t){return I(eB,e.h,{$:0,a:t})});function eK(e){return function(t){return{$:1,k:e,l:t}}}function eX(e){return{$:2,m:e}}var eY=[],eJ=!1;function eQ(e,t,a){if(eY.push({p:e,q:t,r:a}),!eJ){eJ=!0;for(var r;r=eY.shift();)!function(e,t,a){var r={};for(var n in e0(!0,t,r,null),e0(!1,a,r,null),e)eH(e[n],{$:\"fx\",a:r[n]||{i:B,j:B}})}(r.p,r.q,r.r);eJ=!1}}function e0(e,t,a,r){switch(t.$){case 1:var n,i,o,u,s,c,l,b=t.k,d=(n=e,i=b,o=r,u=t.l,I(n?eG[i].e:eG[i].f,function(e){for(var t=o;t;t=t.t)e=t.s(e);return e},u));a[b]=(s=e,c=d,l=(l=a[b])||{i:B,j:B},s?l.i=D(c,l.i):l.j=D(c,l.j),l);return;case 2:for(var f=t.m;f.b;f=f.b)e0(e,f.a,a,r);return;case 3:e0(e,t.o,a,{s:t.n,t:r});return}}function e1(e,t){return eG[e]&&k(3),eG[e]={e:e2,u:t,a:e4},eK(e)}var e2=p(function(e,t){return t});function e4(e){var t=[],a=eG[e].u,r=eF(0);return eG[e].b=r,eG[e].c=m(function(e,n,i){for(;n.b;n=n.b){for(var o=t,u=a(n.a),s=0;s=0&&t.splice(a,1)}}}function e3(e,t){return eG[e]&&k(3),eG[e]={f:e6,u:t,a:e5},eK(e)}var e6=p(function(e,t){return function(a){return e(t(a))}});function e5(e,t){var a=B,r=eG[e].u,n=eM(null);return eG[e].b=n,eG[e].c=m(function(e,t,r){return a=t,n}),{send:function(e){var n=I(eI,r,e);a1(n)||k(4,n.a);for(var i=n.a,o=a;o.b;o=o.b)t(o.a(i))}}}var e8=!1,e7=\"u\">typeof document?document:{};function e9(e,t){e.appendChild(t)}function te(e,t,a){(t.parentNode!==e||t.nextSibling!==a)&&e.insertBefore(t,a)}function tt(e,t,a){(t.parentNode!==e||t.previousSibling!==a)&&e.insertBefore(t,null===a?e.firstChild:a.nextSibling)}var ta=\"u\">typeof Element&&\"function\"==typeof Element.prototype.moveBefore,tr=ta?function(e,t,a){(t.parentNode!==e||t.nextSibling!==a)&&e.moveBefore(t,a)}:te,tn=ta?function(e,t,a){(t.parentNode!==e||t.previousSibling!==a)&&e.moveBefore(t,null===a?e.firstChild:a.nextSibling)}:tt;function ti(e){var t=e.parentNode;t&&t.removeChild(e)}function to(e){return{r:e,s:Object.create(null)}}function tu(e){return{$:0,a:e}}var ts=p(function(e,t){return p(function(a,r){for(var n=[];r.b;r=r.b)n.push(r.a);return{$:1,c:t,d:tA(a),e:n,f:e,b:0}})}),tc=ts(void 0);function tl(e,t){return{$:5,l:e,m:t,k:void 0}}p(function(e,t){return p(function(a,r){for(var n=[],i=Object.create(null);r.b;r=r.b){for(var o=r.a,u=o.a;u in i;)u+=tH,o={a:u,b:o.b};n.push(o),i[u]=o.b}return{$:2,c:t,d:tA(a),e:n,t:i,f:e,b:0}})})(void 0);var tb=p(function(e,t){return tl([e,t],function(){return e(t)})}),td=m(function(e,t,a){return tl([e,t,a],function(){return I(e,t,a)})}),tf=w(function(e,t,a,r){return tl([e,t,a,r],function(){return C(e,t,a,r)})}),th=x(function(e,t,a,r,n){return tl([e,t,a,r,n],function(){return R(e,t,a,r,n)})}),tv=y(function(e,t,a,r,n,i){return tl([e,t,a,r,n,i],function(){return $(e,t,a,r,n,i)})}),tg=E(function(e,t,a,r,n,i,o){return tl([e,t,a,r,n,i,o],function(){return L(e,t,a,r,n,i,o)})}),tp=p(function(e,t){return{$:\"a0\",n:e,o:t}}),tm=p(function(e,t){return{$:\"a1\",n:e,o:t}}),tw=p(function(e,t){return{$:\"a2\",n:e,o:t}}),tx=p(function(e,t){return{$:\"a3\",n:e,o:t}}),ty=m(function(e,t,a){return{$:\"a4\",n:t,o:{f:e,o:a}}}),tE=/^script$/i,tI=/^(on|formAction$)/i,tC=/^\\s*j\\s*a\\s*v\\s*a\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*:/i,tR=/^\\s*(j\\s*a\\s*v\\s*a\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*:|d\\s*a\\s*t\\s*a\\s*:\\s*t\\s*e\\s*x\\s*t\\s*\\/\\s*h\\s*t\\s*m\\s*l\\s*(,|;))/i;function t$(e){return tR.test(e)?\"\":e}var tL=\"function\"==typeof _Test_runThunk;function tA(e){var t={};for(t[t_]=!0;e.b;e=e.b){var a=e.a,r=a.$,n=a.n,i=a.o;if(\"a2\"===r){\"className\"===n?tS(t,n,i):t[n]=i;continue}var o=t[r]||(t[r]={});\"a3\"===r&&\"class\"===n?tL?tS(t,\"className\",i):tS(o,n,i):o[n]=i}return t}function tS(e,t,a){var r=e[t];e[t]=r?r+\" \"+a:a}function tT(e,t,a){var n=e.$;if(5===n)return tT(e.k||(e.k=e.m()),t,a);if(4===n)return tT(e.k,function(a,r){return t(e.j(a),r)},a);if(0===n){var i=e7.createTextNode(e.a);return a.r=i,i}if(3===n){var i=e.h(e.g);return tk(i,t,{},e.d),a.r=i,i}var i=e.f?e7.createElementNS(e.f,e.c):e7.createElement(e.c);if(r&&\"a\"==e.c&&i.addEventListener(\"click\",r(i)),tk(i,t,{},e.d),1===n)for(var o=e.e,u=0;ua4(o)}),r[i]=u}for(i in r)i in a||(e.removeEventListener(i,r[i]),delete r[i])}(e,t,r.a0||{})}function tM(e,t){for(var a in t)if(\"a0\"!==a&&\"a1\"!==a&&\"a3\"!==a&&\"a4\"!==a&&a!==t_){var r=t[a];r!==e[a]&&(e[a]=r)}}function tP(e,t){var a=e.elmFs;if(a)for(var r in a)a[r].q=t}try{window.addEventListener(\"t\",null,Object.defineProperty({},\"passive\",{get:function(){n=!0}}))}catch(e){}function tN(e,t,a,r){if(e===t)return{r:tz(e,t,a,r),u:!1,v:!1};for(;4===e.$;)e=e.k;if(4===t.$)return tN(e,t.k,function(e,r){return a(t.j(e),r)},r);if(5===e.$)if(5!==t.$)return tN(e.k,t,a,r);else{for(var n=e.l,i=t.l,o=n.length,u=o===i.length;u&&o--;)u=n[o]===i[o];return u?(t.k=e.k,{r:tz(e,t,a,r),u:!1,v:!1}):(t.k=t.m(),tN(e.k,t.k,a,r))}if(5===t.$)return tN(e,t.k||(t.k=t.m()),a,r);var s=r.r,c=e.$,l=t.$;if(c!==l)if(1===c&&2===l)e=function(e,t,a){for(var r=e.e,n=t.e,i=r.length,o=n.length,u=Array(i),s=Object.create(null),c=Object.create(null),l=0;l=0;s--){var l=u[s],b=function e(t,a,r){var n=t.$;if(5===n)return e(t.k,a,r);if(4===n)return e(t.k,function(e,r){return a(t.j(e),r)},r);if(0===n){var i=e7.createTextNode(t.a);return r.r=i,i}return r.r}(2===a.$?l.b:l,r,n.s[2===a.$?l.a:s]);if(b.parentNode===e)for(;c>=0;c--){if((o=e.childNodes[c])===b){c--;break}(3===o.nodeType||\"font\"===o.localName)&&e.removeChild(o)}else te(e,b,o),o=b}for(;c>=0;c--)(3===(o=e.childNodes[c]).nodeType||\"font\"===o.localName)&&e.removeChild(o)}return{r:e,u:!1,v:!1}}function tV(e,t,a,r,n){for(var i=t.e,o=a.e,u=i.length,s=o.length,c=!1,l=null,b=us)for(var d=s;dc&&d>l;){var p=i[b],m=o[d],w=p.a,x=m.a,y=p.b,E=m.b;if(w===x){var I=tN(y,E,r,n.s[x]);b--,d--,g(I,!0);continue}var C=!1;if(w in s?C=!0:(ti(n.s[w].r),delete n.s[w],b--),x in u){if(C)break}else{var R=to(void 0),$=tT(E,r,R);n.s[x]=R,te(e,$,h),d--,h=$}}var L=!1;if(c=e)break;var a=tF[t];delete tF[t],a()}tG=!1})),t}var tK=\"u\">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tX={addEventListener:function(){},removeEventListener:function(){}},tY=\"u\">typeof document?document:tX,tJ=\"u\">typeof window?window:tX,tQ=m(function(e,t,a){return eq(eP(function(r){function i(e){eV(a(e))}return e.addEventListener(t,i,n&&{passive:!0}),function(){e.removeEventListener(t,i)}}))}),t0=p(function(e,t){var a=eC(e,t);return a1(a)?ap(a.a):am});function t1(e,t){return eP(function(a){tZ(function(){var r=document.getElementById(e);a(r?eM(t(r)):{$:1,a:a6(e)})})})}function t2(){var e=tY.body,t=tY.documentElement;return{dz:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dd:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t4=m(function(e,t,a){return t1(e,function(e){return e.scrollLeft=t,e.scrollTop=a,0})}),t3=m(function(e,t,a){return eP(function(r){function n(e){r(t(a.dH.a(e)))}var i,o,u,s=new XMLHttpRequest;s.addEventListener(\"error\",function(){n(rT)}),s.addEventListener(\"timeout\",function(){n(rP)}),s.addEventListener(\"load\",function(){var e,t,r;n((e=a.dH.b,I(200<=(t=s).status&&t.status<300?rS:rL,{aK:(r=t).responseURL,gD:r.status,gE:r.statusText,eF:function(e){if(!e)return rC;for(var t=rC,a=e.split(\"\\r\\n\"),r=a.length;r--;){var n=a[r],i=n.indexOf(\": \");if(i>0){var o=n.substring(0,i),u=n.substring(i+2);t=C(rK,o,function(e){return ap(rN(e)?u+\", \"+e.a:u)},t)}}return t}(r.getAllResponseHeaders())},e(t.response))))}),rN(a.fw)&&(i=e,o=s,u=a.fw.a,o.upload.addEventListener(\"progress\",function(e){!o.c&&eV(I(rz,i,{a:u,b:rM({gz:e.loaded,fo:e.total})}))}),o.addEventListener(\"progress\",function(e){!o.c&&eV(I(rz,i,{a:u,b:rk({gr:e.loaded,fo:e.lengthComputable?ap(e.total):am})}))}));try{s.open(a.f9,a.aK,!0)}catch(e){return n(rA(a.aK))}return function(e,t){for(var a=t.eF;a.b;a=a.b)e.setRequestHeader(a.a.a,a.a.b);e.timeout=t.gN.a||0,e.responseType=t.dH.d,e.withCredentials=t.fC}(s,a),a.ef.a&&s.setRequestHeader(\"Content-Type\",a.ef.a),s.send(a.ef.b),function(){s.c=!0,s.abort()}})}),t6=m(function(e,t,a){return{$:0,d:e,b:t,a:a}}),t5=p(function(e,t){return{$:0,d:t.d,b:t.b,a:function(a){return e(t.a(a))}}}),t8=x(function(e,t,a,r,n){for(var i,o=e.length,u=t+o<=n.length,s=0;u&&sO(e,t)))return a;else{var r=e,n=t-1,i=I(_,t,a);e=r,t=n,a=i;continue}}),aR=p(function(e,t){return C(aC,e,t,B)}),a$=p(function(e,t){return C(G,e,I(aR,0,aI(t)-1),t)}),aL=function(e){return e.toLowerCase()},aA=function(e){return e.toUpperCase()},aS=function(e){return M(e,aL(e))&&!M(e,aA(e))},aT=function(e){return M(e,aA(e))&&!M(e,aL(e))},ak=function(e){return aS(e)||aT(e)},aM=function(e){var t=e.charCodeAt(0);return 55296<=t&&t<=56319?(t-55296)*1024+e.charCodeAt(1)-56320+65536:t},aP=function(e){var t=aM(e);return t<=57&&48<=t},aN=function(e){return aS(e)||aT(e)||aP(e)},az=function(e){return C(aE,_,B,e)},aO=function(e){var t=e.charCodeAt(0);return isNaN(t)?am:ap(55296<=t&&t<=56319?{a:e[0]+e[1],b:e.slice(2)}:{a:e[0],b:e.slice(1)})},aV=p(function(e,t){return\"\\n\\n(\"+es(e+1)+\") \"+ay(aq(t))}),aq=function(e){return I(aH,e,B)},aH=p(function(e,t){for(;;)switch(e.$){case 0:var a=e.a,r=e.b,n=!function(){var e=aO(a);if(1===e.$)return!1;var t=e.a,r=t.a,n=t.b;return ak(r)&&I(er,aN,n)}()?\"['\"+a+\"']\":\".\"+a,i=r,o=I(_,n,t);e=i,t=o;continue;case 1:var u=e.a,r=e.b,s=\"[\"+es(u)+\"]\",i=r,o=I(_,s,t);e=i,t=o;continue;case 2:var c=e.a;if(!c.b)return\"Ran into a Json.Decode.oneOf with no possibilities\"+(t.b?\" at json\"+I(aw,\"\",az(t)):\"!\");if(c.b.b){var l=(t.b?\"The Json.Decode.oneOf at json\"+I(aw,\"\",az(t)):\"Json.Decode.oneOf\")+\" failed in the following \"+es(aI(c))+\" ways:\";return I(aw,\"\\n\\n\",I(_,l,I(a$,aV,c)))}var r=c.a,i=r,o=t;e=i,t=o;continue;default:var b=e.a,d=e.b,l=t.b?\"Problem with the value at json\"+I(aw,\"\",az(t))+\":\\n\\n \":\"Problem with the given value:\\n\\n\";return l+(ay(I(eS,4,d))+\"\\n\\n\")+b}}),aB=w(function(e,t,a,r){return{$:0,a:e,b:t,c:a,d:r}}),aD=[],a_=p(function(e,t){return Y(t)/Y(e)}),aU=function(e){return e},aF=Z(I(a_,2,32)),aG=R(aB,0,aF,aD,aD),aj=p(function(e,t){return e(t)}),aW=function(e){return e.length},aZ=p(function(e,t){return O(e,t)>0?e:t}),aK=p(function(e,t){for(;;){var a=I(T,32,e),r=a.a,n=a.b,i=I(_,{$:0,a:r},t);if(!n.b)return az(i);e=n,t=i}}),aX=function(e){return e.a},aY=p(function(e,t){for(;;){var a=Z(t/32);if(1===a)return I(T,32,e).a;e=I(aK,e,B),t=a}}),aJ=p(function(e,t){if(!t.y)return R(aB,aW(t.F),aF,aD,t.F);var a=32*t.y,r=K(I(a_,32,a-1)),n=I(aY,e?az(t.G):t.G,t.y);return R(aB,aW(t.F)+a,I(aZ,5,r*aF),n,t.F)}),aQ=x(function(e,t,a,r,n){for(;;)if(t<0)return I(aJ,!1,{G:r,y:a/32|0,F:n});else{var i={$:1,a:C(S,32,t,e)},o=e,u=t-32,s=a,c=I(_,i,r),l=n;e=o,t=u,a=s,r=c,n=l;continue}}),a0=p(function(e,t){if(e<=0)return aG;var a=e%32,r=C(S,a,e-a,t);return $(aQ,t,e-a-32,e,B,r)}),a1=function(e){return!e.$},a2=function(e){return{$:0,a:e}},a4=function(e){switch(e.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},a3=function(e){return e},a6=a3,a5=y(function(e,t,a,r,n,i){return{fX:i,eH:t,A:r,e$:a,e6:e,gq:n}}),a8=function(e){return e.length},a7=p(function(e,t){return e<1?t:C(ea,e,a8(t),t)}),a9=function(e){return\"\"===e},re=p(function(e,t){return e<1?\"\":C(ea,0,e,t)}),rt=function(e){for(var t=0,a=e.charCodeAt(0),r=+(43==a||45==a),n=r;n500?C(aE,e,t,az(b)):R(rs,e,t,a+1,b);return I(e,n,I(e,o,I(e,s,I(e,l,d))))}),rc=m(function(e,t,a){return R(rs,e,t,0,a)}),rl=p(function(e,t){return C(rc,p(function(t,a){return I(_,e(t),a)}),B,t)}),rb=p(function(e,t){return I(eN,function(t){return eM(e(t))},t)}),rd=m(function(e,t,a){return I(eN,function(t){return I(eN,function(a){return eM(I(e,t,a))},a)},t)}),rf=function(e){return C(rc,rd(_),eM(B),e)},rh=p(function(e,t){return eq(I(eN,eW(e),t))});eG.Task=ej(ru,m(function(e,t,a){return I(rb,function(e){return 0},rf(I(rl,rh(e),t)))}),m(function(e,t,a){return eM(0)}),p(function(e,t){return I(rb,e,t)}));var rv=eK(\"Task\"),rg=p(function(e,t){return rv(I(rb,e,t))}),rp=function(e){return{$:0,a:e}},rm={$:1},rw={$:0},rx=function(e){return{$:9,a:e}},ry=p(function(e,t){return{$:56,a:e,b:t}}),rE=m(function(e,t,a){return 0>O(a,e)?e:O(a,t)>0?t:a}),rI={$:-2},rC=rI,rR=(o=function(){return{fi:t2(),d8:{fz:tJ.pageXOffset,d9:tJ.pageYOffset,dz:tY.documentElement.clientWidth,dd:tY.documentElement.clientHeight}}},eP(function(e){tZ(function(){e(eM(o()))})})),r$={aa:am,ag:am,c8:!1,au:rC,e:rC,cD:0,u:rC,E:rC,Z:B,af:rC,ap:rC},rL=p(function(e,t){return{$:3,a:e,b:t}}),rA=function(e){return{$:0,a:e}},rS=p(function(e,t){return{$:4,a:e,b:t}}),rT={$:2},rk=function(e){return{$:1,a:e}},rM=function(e){return{$:0,a:e}},rP={$:1},rN=function(e){return!e.$},rz=eZ,rO=p(function(e,t){for(;;)if(-2===t.$)return am;else{var a=t.b,r=t.c,n=t.d,i=t.e;switch(I(V,e,a)){case 0:var o=e,u=n;e=o,t=u;continue;case 1:return ap(r);default:var o=e,u=i;e=o,t=u;continue}}}),rV=x(function(e,t,a,r,n){return{$:-1,a:e,b:t,c:a,d:r,e:n}}),rq=x(function(e,t,a,r,n){if(-1!==n.$||n.a)if(-1!==r.$||r.a||-1!==r.d.$||r.d.a)return $(rV,e,t,a,r,n);else{r.a;var i=r.b,o=r.c,u=r.d;u.a;var s=u.b,c=u.c,l=u.d,b=u.e,d=r.e;return $(rV,0,i,o,$(rV,1,s,c,l,b),$(rV,1,t,a,d,n))}n.a;var f=n.b,h=n.c,v=n.d,g=n.e;if(-1!==r.$||r.a)return $(rV,e,f,h,$(rV,0,t,a,r,v),g);r.a;var i=r.b,o=r.c,p=r.d,d=r.e;return $(rV,0,t,a,$(rV,1,i,o,p,d),$(rV,1,f,h,v,g))}),rH=m(function(e,t,a){if(-2===a.$)return $(rV,0,e,t,rI,rI);var r=a.a,n=a.b,i=a.c,o=a.d,u=a.e;switch(I(V,e,n)){case 0:return $(rq,r,n,i,C(rH,e,t,o),u);case 1:return $(rV,r,n,t,o,u);default:return $(rq,r,n,i,o,C(rH,e,t,u))}}),rB=m(function(e,t,a){var r=C(rH,e,t,a);return -1!==r.$||r.a?r:(r.a,$(rV,1,r.b,r.c,r.d,r.e))}),rD=function(e){for(;;)if(-1!==e.$||-1!==e.d.$)return e;else{e=e.d;continue}},r_=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.e.d.$||e.e.d.a){var t=e.a,a=e.b,r=e.c,n=e.d;n.a;var i=n.b,o=n.c,u=n.d,s=n.e,c=e.e;c.a;var l=c.b,b=c.c,d=c.d,f=c.e;return $(rV,1,a,r,$(rV,0,i,o,u,s),$(rV,0,l,b,d,f))}var t=e.a,a=e.b,r=e.c,h=e.d;h.a;var i=h.b,o=h.c,u=h.d,s=h.e,v=e.e;v.a;var l=v.b,b=v.c,d=v.d;d.a;var g=d.b,p=d.c,m=d.d,w=d.e,f=v.e;return $(rV,0,g,p,$(rV,1,a,r,$(rV,0,i,o,u,s),m),$(rV,1,l,b,w,f))},rU=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.d.d.$||e.d.d.a){var t=e.a,a=e.b,r=e.c,n=e.d;n.a;var i=n.b,o=n.c,u=n.d,s=n.e,c=e.e;c.a;var l=c.b,b=c.c,d=c.d,f=c.e;return $(rV,1,a,r,$(rV,0,i,o,u,s),$(rV,0,l,b,d,f))}var t=e.a,a=e.b,r=e.c,h=e.d;h.a;var i=h.b,o=h.c,v=h.d;v.a;var g=v.b,p=v.c,m=v.d,w=v.e,s=h.e,x=e.e;x.a;var l=x.b,b=x.c,d=x.d,f=x.e;return $(rV,0,i,o,$(rV,1,g,p,m,w),$(rV,1,a,r,s,$(rV,0,l,b,d,f)))},rF=E(function(e,t,a,r,n,i,o){if(-1===i.$&&!i.a)return i.a,$(rV,a,i.b,i.c,i.d,$(rV,0,r,n,i.e,o));for(;;)if(-1===o.$&&1===o.a)if(-1!==o.d.$)return o.a,o.d,rU(t);else if(1===o.d.a)return o.a,o.d.a,rU(t);else break;else break;return t}),rG=function(e){if(-1!==e.$||-1!==e.d.$)return rI;var t=e.a,a=e.b,r=e.c,n=e.d,i=n.a,o=n.d,u=e.e;if(1!==i)return $(rV,t,a,r,rG(n),u);if(-1===o.$&&!o.a)return o.a,$(rV,t,a,r,rG(n),u);var s=r_(e);if(-1!==s.$)return rI;var c=s.a,l=s.b,b=s.c,d=s.d,f=s.e;return $(rq,c,l,b,rG(d),f)},rj=p(function(e,t){if(-2===t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;if(!(0>O(e,r)))return I(rW,e,A(rF,e,t,a,r,n,i,o));if(-1!==i.$||1!==i.a)return $(rV,a,r,n,I(rj,e,i),o);i.a;var u=i.d;if(-1===u.$&&!u.a)return u.a,$(rV,a,r,n,I(rj,e,i),o);var s=r_(t);if(-1!==s.$)return rI;var c=s.a,l=s.b,b=s.c,d=s.d,f=s.e;return $(rq,c,l,b,I(rj,e,d),f)}),rW=p(function(e,t){if(-1!==t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;if(!M(e,r))return $(rq,a,r,n,i,I(rj,e,o));var u=rD(o);return -1===u.$?$(rq,a,u.b,u.c,i,rG(o)):rI}),rZ=p(function(e,t){var a=I(rj,e,t);return -1!==a.$||a.a?a:(a.a,$(rV,1,a.b,a.c,a.d,a.e))}),rK=m(function(e,t,a){var r=t(I(rO,e,a));return r.$?I(rZ,e,a):C(rB,e,r.a,a)}),rX=m(function(e,t,a){return t(e(a))}),rY=p(function(e,t){return C(t6,\"\",a3,I(rX,t,e))}),rJ=p(function(e,t){return t.$?ab(e(t.a)):av(t.a)}),rQ=function(e){return{$:4,a:e}},r0={$:2},r1={$:1},r2=p(function(e,t){switch(t.$){case 0:return ab({$:0,a:t.a});case 1:return ab(r1);case 2:return ab(r0);case 3:return ab({$:3,a:t.a.gD});default:return I(rJ,rQ,e(t.b))}}),r4=p(function(e,t){return I(rY,e,r2(function(e){return I(rJ,aq,I(eE,t,e))}))}),r3={$:0},r6=p(function(e,t){return{$:0,a:e,b:t}}),r5=function(e){return{$:1,a:e}},r8=p(function(e,t){return{fb:e,ft:t}}),r7=eM(I(r8,rC,B)),r9=function(e){return eP(function(t){var a=e.f;2===a.$&&a.c&&a.c(),e.f=null,t(eM(0))})},ne=m(function(e,t,a){for(;;)if(!t.b)return eM(a);else{var r=t.a,n=t.b;if(r.$){var i=r.a;return I(eN,function(t){var r=i.fw;return 1===r.$?C(ne,e,n,a):C(ne,e,n,C(rB,r.a,t,a))},eq(C(t3,e,eW(e),i)))}var o=r.a,u=I(rO,o,a);if(1!==u.$)return I(eN,function(t){return C(ne,e,n,I(rZ,o,a))},r9(u.a));var s=a;t=n,a=s;continue}}),nt=w(function(e,t,a,r){return I(eN,function(e){return eM(I(r8,e,a))},C(ne,e,t,r.fb))}),na=m(function(e,t,a){var r=e(t);return r.$?a:I(_,r.a,a)}),nr=p(function(e,t){return C(rc,na(e),B,t)}),nn=w(function(e,t,a,r){var n=r.a,i=r.b;return M(t,n)?ap(I(eW,e,i(a))):am}),ni=m(function(e,t,a){return I(eN,function(e){return eM(a)},rf(I(nr,C(nn,e,t.a,t.b),a.ft)))}),no=p(function(e,t){if(t.$){var a=t.a;return r5({fC:a.fC,ef:a.ef,dH:I(t5,e,a.dH),eF:a.eF,f9:a.f9,gN:a.gN,fw:a.fw,aK:a.aK})}return{$:0,a:t.a}}),nu=p(function(e,t){return{$:0,a:e,b:t}});eG.Http=ej(r7,nt,ni,no,p(function(e,t){return I(nu,t.a,I(rX,t.b,e))}));var ns=eK(\"Http\");eK(\"Http\");var nc=m(function(e,t,a){var r;return ns(r5({fC:!1,ef:(r={ef:r3,dH:t,eF:I(rl,r6(\"Accept\"),e),f9:\"GET\",gN:am,fw:am,aK:a}).ef,dH:r.dH,eF:r.eF,f9:r.f9,gN:r.gN,fw:r.fw,aK:r.aK}))}),nl=function(e){return{$:3,b:e}},nb=function(e){return{$:11,g:e}},nd=p(function(e,t){for(;;)if(!t.b)return!1;else{var a=t.a,r=t.b;if(e(a))return!0;t=r;continue}}),nf=m(function(e,t,a){return I(aw,t,I(ax,e,a))}),nh=p(function(e,t){return M(t,e)||M(t,C(nf,\"http://\",\"https://\",e))}),nv=function(e){return{$:1,a:e}},ng=\"http://iiif.io/api/presentation/2/context.json\",np=\"http://iiif.io/api/presentation/3/context.json\",nm=p(function(e,t){return{$:0,a:e,b:t}}),nw=p(function(e,t){return{$:0,a:e,b:t}}),nx=p(function(e,t){return{$:0,a:e,b:t}}),ny=p(function(e,t){return{$:0,a:e,b:t}}),nE=function(e){return{$:2,a:e}},nI=function(e){return{$:1,a:e}},nC=function(e){return{$:0,a:e}},nR=function(e){return{$:3,a:e}},n$=m(function(e,t,a){return e(t(a))}),nL=E(function(e,t,a,r,n,i,o){return{dd:r,s:e,cy:n,dN:t,gL:i,gT:o,dz:a}}),nA=function(e){return nb(U([I(ew,ap,e),a2(am)]))},nS=p(function(e,t){return C(ex,p(function(e,t){return t(e)}),e,t)}),nT=w(function(e,t,a,r){var n=nb(U([I(ev,e,t),a2(a)]));return I(nS,n,r)}),nk=m(function(e,t,a){return I(nS,I(ev,e,t),a)}),nM=function(e){if(!e.b)return am;var t=e.a;return e.b,ap(t)},nP=function(e){return nb(U([I(ew,nM,nl(e)),I(ew,ap,e)]))},nN=p(function(e,t){return C(rc,ev,t,e)}),nz=p(function(e,t){return t.b?C(rc,_,t,e):e}),nO=function(e){return C(rc,nz,B,e)},nV=x(function(e,t,a,r,n){return{s:e,eJ:a,dN:t,fl:r,gA:n}}),nq=p(function(e,t){return I(nS,e,t)}),nH=p(function(e,t){return I(nS,a2(e),t)}),nB=function(e){return{$:2,a:e}},nD=p(function(e,t){return t.$?am:e(t.a)}),n_=p(function(e,t){return t.$?am:ap(e(t.a))}),nU=p(function(e,t){return t.$?e:t.a}),nF=function(e){var t=e.e6,a=e.eH,r=e.e$,n=e.A,i=e.gq,o=t?\"https://\":\"http://\",u=i.$?n:n+\"?\"+i.a;return{c4:I(nU,H(o,a),I(n_,function(e){return o+(a+\":\")+es(e)},r)),A:n,dV:I(ax,\"/\",n),dk:u}},nG=E(function(e,t,a,r,n,i,o){return{dI:o,eH:e,Y:t,dY:i,cM:a,bd:n,fo:r}}),nj=function(e){return{$:1,a:e}},nW=m(function(e,t,a){if(1===t.$)return am;var r=t.a;return 1===a.$?am:ap(I(e,r,a.a))}),nZ=p(function(e,t){return C(nW,aj,t,e)}),nK=function(e){var t=I(ax,\".\",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.b.a;return\"jpg\"===a?ap(0):\"tif\"===a?ap(1):\"png\"===a?ap(2):\"gif\"===a?ap(4):\"jp2\"===a?ap(3):\"pdf\"===a?ap(5):\"webp\"===a?ap(6):am},nX={$:0},nY={$:1},nJ=function(e){return\"full\"===e?ap(nX):\"square\"===e?ap(nY):am},nQ=p(function(e,t){for(;;)if(!e.b)return am;else{var a=e.a,r=e.b,n=a(t);if(!n.$)return ap(n.a);var i=t;e=r,t=i;continue}}),n0=function(e){if(0===e.length||/[\\sxbo]/.test(e))return am;var t=+e;return t==t?ap(t):am},n1=function(e){var t=I(nr,n0,I(ax,\",\",I(a7,4,e)));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return am;var a=t.a,r=t.b,n=r.a,i=r.b,o=i.a;return ap({$:3,a:{dc:i.b.a,dy:o,fz:a,d9:n}})},n2=function(e){var t=I(nr,rt,I(ax,\",\",e));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return am;var a=t.a,r=t.b,n=r.a,i=r.b,o=i.a;return ap({$:2,a:{dc:i.b.a,dy:o,fz:a,d9:n}})},n4=function(e){return{$:5,a:e}},n3=function(e){return I(ei,\"^,\",e)?I(n_,n4,rt(I(a7,2,e))):am},n6=function(e){return{$:7,a:e}},n5=function(e){return I(ei,\"^pct:\",e)?I(n_,n6,n0(I(a7,5,e))):am},n8=function(e){return{$:11,a:e}},n7=p(function(e,t){return{a:e,b:t}}),n9=function(e){var t=I(ax,\",\",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.a,r=t.b.a;return C(nW,n7,rt(a),rt(r))},ie=function(e){return I(ei,\"^!\",e)?I(n_,n8,n9(I(a7,2,e))):am},it=function(e){return{$:9,a:e}},ia=function(e){return I(ei,\"^\",e)?I(n_,it,n9(I(a7,1,e))):am},ir=function(e){return{$:3,a:e}},ii=function(e){return-e},io=p(function(e,t){return e<1?t:C(ea,0,-e,t)}),iu=function(e){return I(eo,\",\",e)&&I(ei,\"^\",e)?I(n_,ir,rt(I(a7,1,I(io,1,e)))):am},is=function(e){return{$:4,a:e}},ic=function(e){return I(ei,\",\",e)?I(n_,is,rt(I(a7,1,e))):am},il={$:1},ib={$:0},id=function(e){return\"max\"===e||\"full\"===e?ap(ib):\"^max\"===e?ap(il):am},ih=function(e){return{$:6,a:e}},iv=function(e){return I(ei,\"pct:\",e)?I(n_,ih,n0(I(a7,4,e))):am},ig=function(e){return{$:10,a:e}},ip=function(e){return I(ei,\"!\",e)?I(n_,ig,n9(I(a7,1,e))):am},im=function(e){return{$:8,a:e}},iw=function(e){var t=I(ax,\",\",e);return t.b&&t.b.b&&!t.b.b.b?(t.b,I(n_,im,n9(e))):am},ix=function(e){return{$:2,a:e}},iy=function(e){return I(eo,\",\",e)?I(n_,ix,rt(I(io,1,e))):am},iE=function(e){var t=I(ax,\".\",e);if(!t.b||!t.b.b||t.b.b.b)return am;var a=t.a;return t.b,\"default\"===a?ap(3):\"native\"===a?ap(4):\"color\"===a?ap(0):\"gray\"===a?ap(1):\"bitonal\"===a?ap(2):am},iI=function(e){return{$:1,a:e}},iC=function(e){return I(ei,\"!\",e)?I(n_,iI,n0(I(a7,1,e))):am},iR=function(e){return{$:0,a:e}},i$=function(e){return I(n_,iR,n0(e))},iL=p(function(e,t){var a=az(t);if(!a.b||!a.b.b||!a.b.b.b||!a.b.b.b.b)return am;var r=a.a,n=a.b,i=n.a,o=n.b,u=o.a,s=o.b,c=s.a,l=I(aw,\"/\",az(s.b));return I(n_,nj,I(nZ,nK(r),I(nZ,iE(r),I(nZ,I(nQ,U([i$,iC]),i),I(nZ,I(nQ,U([id,iy,iu,ic,n3,iv,n5,iw,ia,ip,ie]),u),I(nZ,I(nQ,U([nJ,n2,n1]),c),ap(I(nG,e,l))))))))}),iA=function(e){return{$:0,a:e}},iS=p(function(e,t){return C(rc,p(function(t,a){return e(t)?I(_,t,a):a}),B,t)}),iT=p(function(e,t){return I(iS,z(e),t)}),ik=p(function(e,t){return ap(iA({eH:e,Y:I(aw,\"/\",I(iT,\"info.json\",t))}))}),iM=p(function(e,t){return nO(I(rl,e,t))}),iP=(u=U([\"color\",\"gray\",\"bitonal\",\"default\",\"native\"]),s=U([\"jpg\",\"tif\",\"png\",\"gif\",\"jp2\",\"pdf\",\"webp\"]),I(rl,aw(\".\"),(c=U([u,s]),C(rc,p(function(e,t){return I(iM,function(e){return I(rl,_(e),t)},e)}),U([B]),c)))),iN=p(function(e,t){return ap(nB({eH:e,Y:t}))}),iz=function(e){var t=nF(e),a=t.c4,r=t.A,n=t.dV,i=t.dk;return I(nd,function(e){return I(eo,e,r)},iP)?I(iL,a,n):I(eo,\"info.json\",r)?I(ik,a,n):I(iN,a,i)},iO=function(e){return I(nD,iz,ro(e))},iV=function(e){var t=iO(e);return t.$||2!==t.a.$?nv(\"Could not decode static image Url\"):a2(nB(t.a.a))},iq=function(e){switch(e.$){case 0:default:return e;case 1:var t=e.a;return iA({eH:t.eH,Y:t.Y})}},iH=function(e){var t=iO(e);return t.$?nv(\"Could not decode image Url\"):2===t.a.$?a2(iA(t.a.a)):a2(iq(t.a))},iB=p(function(e,t){return I(nd,function(t){return M(t,e)},t)}),iD=\"http://iiif.io/api/image/2/context.json\",i_=function(e){if(I(nh,iD,e))return 1;if(I(nh,\"http://iiif.io/api/image/3/context.json\",e))return 2;switch(e){case\"AuthLogoutService1\":return 6;case\"AuthTokenService1\":return 5;case\"AutoCompleteService1\":return 4;case\"ImageService1\":return 0;case\"ImageService2\":return 1;case\"ImageService3\":return 2;case\"SearchService1\":return 3;default:return 7}},iU=nb(U([I(ew,i_,I(ev,\"@type\",eh)),I(ew,i_,I(ev,\"type\",eh)),I(ew,function(e){return I(nh,\"http://library.stanford.edu/iiif/image-api/1.1/context.json\",e)||I(nh,\"http://iiif.io/api/image/1/context.json\",e)?0:I(nh,iD,e)?1:i_(e)},I(ev,\"@context\",eh))])),iF=I(em,function(e){return I(iB,e,U([0,1,2]))?I(ev,\"@id\",eh):nv(\"Not an Image API service\")},iU),iG=I(em,function(e){return e.$?nv(\"No Image API service ID found\"):iH(e.a)},I(ev,\"service\",nb(U([I(ew,function(e){return nM(I(nr,a3,e))},nl(nA(iF))),I(ew,ap,iF)])))),ij=nb(U([iG,I(em,iV,I(ev,\"@id\",eh))])),iW=function(e){return U([e])},iZ=nb(U([I(ev,\"service\",nl(ef)),I(ev,\"service\",I(ew,iW,ef)),a2(B)])),iK=nb(U([I(ev,\"service\",nb(U([I(ew,nr(a3),nl(nA(iU))),I(ew,iW,iU)]))),a2(B)])),iX=function(e){return{$:8,b:e}},iY=p(function(e,t){return{$:0,a:e,b:t}}),iJ={$:1},iQ=function(e){return\"none\"===e?iJ:rp(e)},i0=function(e){var t=e.a,a=e.b;return I(iY,iQ(t),a)},i1=I(ew,function(e){return C(aE,p(function(e,t){return I(_,i0(e),t)}),B,e)},iX(nl(eh))),i2={$:2},i4=I(ew,function(e){return U([I(iY,i2,U([e]))])},eh),i3=C(ex,p(function(e,t){return U([I(iY,iQ(t),U([e]))])}),I(ev,\"@value\",eh),nb(U([I(ev,\"@language\",eh),a2(\"none\")]))),i6=I(ew,nO,nl(i3)),i5=nb(U([i3,i6,i4,i1])),i8=I(nq,iZ,I(nq,iK,I(nH,0,R(nT,\"label\",nA(i5),am,I(nq,ij,a2(nV)))))),i7=C(ex,_,I(nN,U([\"default\"]),i8),I(nN,U([\"item\"]),nl(I(nq,iZ,I(nq,iK,I(nH,1,R(nT,\"label\",nA(i5),am,I(nq,ij,a2(nV))))))))),i9=nb(U([nl(I(nN,U([\"resource\"]),i8)),I(ew,nO,nl(I(nN,U([\"resource\"]),i7)))])),oe=function(e){var t=nF(e);return nB({eH:t.c4,Y:t.dk})},ot=function(e){var t=ro(e);return t.$?nv(\"Could not decode static image Url\"):a2(oe(t.a))},oa=nb(U([iG,I(em,ot,I(ev,\"@id\",eh))])),or=I(nq,iZ,I(nq,iK,I(nH,0,R(nT,\"label\",nA(i5),am,I(nq,oa,a2(nV)))))),on=function(e){return{$:0,a:e}},oi=function(e){switch(e){case\"continuous\":return 2;case\"facing-pages\":return 6;case\"individuals\":return 1;case\"multi-part\":return 3;case\"non-paged\":return 4;case\"paged\":default:return 0;case\"top\":return 5}},oo=I(ew,function(e){return on(oi(e))},eh),ou=R(nT,\"viewingHint\",nA(oo),am,R(nT,\"thumbnail\",nP(or),am,R(nT,\"images\",i9,B,R(nT,\"height\",nA(el),am,R(nT,\"width\",nA(el),am,R(nT,\"label\",nA(i5),am,C(nk,\"@id\",eh,a2(nL)))))))),os=w(function(e,t,a,r){return{s:e,aE:a,dN:t,dP:r}}),oc=function(e){return{$:0,a:e}},ol=function(e){return{$:1,a:e}},ob=U([I(iY,i2,U([\"Homepage\"]))]),od=function(e){return I(em,e,a2(0))},of=p(function(e,t){return{dN:e,dx:t}}),oh=C(nk,\"value\",i5,C(nk,\"label\",i5,a2(of)));function ov(){return R(nT,\"metadata\",nl(oh),B,I(nq,og(),R(nT,\"label\",i5,ob,C(nk,\"@id\",eh,a2(os)))))}function og(){return C(ex,p(function(e,t){return H(I(rl,ol,e),I(rl,oc,t))}),nb(U([I(ev,\"ranges\",nl(op())),a2(B)])),nb(U([I(ev,\"canvases\",nl(eh)),a2(B)])))}function op(){return od(function(e){return ov()})}var om=ov();ov=function(){return om};var ow=og();og=function(){return ow};var ox=op();op=function(){return ox};var oy=w(function(e,t,a,r){return{s:e,aE:r,dN:t,gH:a}}),oE=function(e){return{$:1,a:e}},oI=function(e){return{$:0,a:e}},oC=function(e){return function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return function(s){return function(c){return function(l){return function(b){return function(d){return{eh:o,fZ:s,s:e,dN:t,f4:c,dP:a,e7:l,e9:u,fe:d,gH:n,gL:b,gS:r,gT:i}}}}}}}}}}}}}},oR=w(function(e,t,a,r){return{dI:a,s:e,dN:t,gP:r}}),o$=function(e){return{$:1,a:e}},oL=function(e){return{$:1,a:e}},oA={$:0},oS=I(ew,function(e){return\"image/jpeg\"===e?oA:o$(e)},eh),oT={$:0},ok=I(ew,function(e){return\"Video\"===e?oT:oL(e)},eh),oM=R(nT,\"@type\",ok,oL(\"Text\"),R(nT,\"format\",oS,o$(\"text/html\"),R(nT,\"label\",i5,ob,C(nk,\"@id\",eh,a2(oR))))),oP=nb(U([nl(oM),I(ew,iW,oM)])),oN=I(nH,am,R(nT,\"thumbnail\",nP(or),am,I(nH,am,I(nH,am,R(nT,\"rendering\",nA(oP),am,I(nH,am,I(nH,B,I(nH,on(1),R(nT,\"description\",nA(i5),am,I(nH,0,I(nH,B,C(nk,\"label\",i5,C(nk,\"@id\",eh,a2(oC)))))))))))))),oz=function(e){switch(e){case\"sc:Collection\":return I(ew,oI,od(function(e){return oO()}));case\"sc:Manifest\":return I(ew,oE,oN);default:return nv(\"Unknown collection item type: \"+e)}};function oO(){return I(nq,oV(),R(nT,\"description\",nA(i5),am,C(nk,\"label\",i5,C(nk,\"@id\",eh,a2(oy)))))}function oV(){return nb(U([I(ev,\"members\",nl(oq())),C(ex,p(function(e,t){return H(e,t)}),nb(U([I(ev,\"collections\",nl(I(ew,oI,od(function(e){return oO()})))),a2(B)])),nb(U([I(ev,\"manifests\",nl(I(ew,oE,oN))),a2(B)])))]))}function oq(){return I(em,oz,I(ev,\"@type\",eh))}var oH=oO();oO=function(){return oH};var oB=oV();oV=function(){return oB};var oD=oq();oq=function(){return oD};var o_=C(nk,\"value\",i1,C(nk,\"label\",i1,a2(of))),oU=nb(U([I(ew,function(e){return{dN:U([I(iY,i2,U([\"Attribution\"]))]),dx:U([I(iY,i2,U([e]))])}},eh),o_,oh])),oF=I(eg,0,I(nN,U([\"canvases\"]),nl(ou))),oG=I(ew,function(e){switch(e){case\"bottom-to-top\":return 3;case\"left-to-right\":default:return 0;case\"right-to-left\":return 1;case\"top-to-bottom\":return 2}},eh),oj=R(nT,\"attribution\",nA(oU),am,R(nT,\"thumbnail\",nP(or),am,I(nH,am,R(nT,\"logo\",nA(i8),am,R(nT,\"rendering\",nA(oP),am,R(nT,\"structures\",nA(nl(ox)),am,C(nk,\"sequences\",oF,R(nT,\"viewingHint\",oo,on(1),R(nT,\"description\",nA(i5),am,R(nT,\"viewingDirection\",oG,0,R(nT,\"metadata\",nl(oh),B,C(nk,\"label\",i5,C(nk,\"@id\",eh,a2(oC)))))))))))))),oW=I(em,function(e){switch(e){case\"sc:Canvas\":return I(ew,I(n$,nE,nm(1)),ou);case\"sc:Collection\":return I(ew,I(n$,nI,nw(1)),oH);case\"sc:Manifest\":return I(ew,I(n$,nC,nx(1)),oj);case\"sc:Range\":return I(ew,I(n$,nR,ny(1)),ox);default:return nv(\"Unknown IIIF v2 resource type: \"+e)}},I(ev,\"@type\",eh)),oZ=function(e){return{$:1,a:e}},oK=I(ew,oZ,nl(I(ew,function(e){switch(e){case\"auto-advance\":return 0;case\"continuous\":return 6;case\"facing-pages\":return 8;case\"hidden\":return 15;case\"individuals\":return 5;case\"multi-part\":return 10;case\"no-auto-advance\":return 1;case\"no-nav\":return 14;case\"no-repeat\":return 3;case\"non-paged\":return 9;case\"paged\":default:return 7;case\"repeat\":return 2;case\"sequence\":return 12;case\"thumbnail-nav\":return 13;case\"together\":return 11;case\"unordered\":return 4}},eh))),oX=p(function(e,t){for(;;)if(!t.b)return am;else{var a=t.a,r=t.b;if(e(a))return ap(a);t=r;continue}}),oY=p(function(e,t){return{s:e,gB:t}}),oJ=I(ew,i_,nb(U([I(ev,\"@type\",eh),I(ev,\"type\",eh)]))),oQ=I(nq,oJ,I(nq,nb(U([I(ev,\"id\",eh),I(ev,\"@id\",eh)])),a2(oY))),o0=nb(U([nl(oQ),I(ew,iW,oQ)])),o1=I(em,function(e){var t=I(n_,function(e){return e.s},I(oX,function(e){return I(iB,e.gB,U([0,1,2]))},e));return t.$?nv(\"No valid service ID found in service array\"):I(ew,iq,iH(t.a))},I(ev,\"service\",o0)),o2=nb(U([o1,I(em,iV,I(ev,\"id\",eh))])),o4=nb(U([i1,i4])),o3=nb(U([nl(ef),I(ew,iW,ef)])),o6=nb(U([nl(oJ),I(ew,iW,oJ)])),o5=function(e){return R(nT,\"service\",o3,B,R(nT,\"service\",o6,B,I(nH,e,R(nT,\"label\",nA(o4),am,I(nq,o2,a2(nV))))))},o8=I(nN,U([\"body\",\"items\"]),nl(o5(1))),o7=I(ew,iW,I(ev,\"body\",o5(0))),o9=I(em,function(e){return\"Choice\"===e?o8:o7},I(nN,U([\"body\",\"type\"]),eh)),ue=I(nN,U([\"items\"]),I(eg,0,o9)),ut=nb(U([o1,I(em,ot,I(ev,\"id\",eh))])),ua=R(nT,\"service\",o3,B,R(nT,\"service\",o6,B,I(nH,0,R(nT,\"label\",nA(o4),am,I(nq,ut,a2(nV)))))),ur=R(nT,\"behavior\",nA(oK),am,R(nT,\"thumbnail\",nP(ua),am,C(nk,\"items\",I(eg,0,ue),C(nk,\"height\",nA(el),C(nk,\"width\",nA(el),R(nT,\"label\",nA(i1),am,C(nk,\"id\",eh,a2(nL)))))))),un=U([I(iY,i2,U([\"Homepage\"]))]),ui=function(e){switch(e){case\"Canvas\":return I(ew,oc,I(ev,\"id\",eh));case\"Range\":return I(ew,ol,uo());default:return nv(\"Unsupported range item type\")}};function uo(){return R(nT,\"metadata\",nl(o_),B,R(nT,\"items\",nl(uu()),B,R(nT,\"label\",i1,un,C(nk,\"id\",eh,a2(os)))))}function uu(){return I(em,ui,I(ev,\"type\",eh))}var us=uo();uo=function(){return us};var uc=uu();uu=function(){return uc};var ul=function(e){return!e.b},ub=R(nT,\"type\",ok,oL(\"Text\"),R(nT,\"format\",oS,o$(\"text/html\"),R(nT,\"label\",i1,un,C(nk,\"id\",eh,a2(oR))))),ud=I(nH,am,R(nT,\"thumbnail\",nP(ua),am,I(nH,am,I(nH,am,R(nT,\"homepage\",nA(nl(ub)),am,I(nH,am,I(nH,B,I(nH,oZ(U([5])),R(nT,\"summary\",nA(i1),am,I(nH,0,I(nH,B,C(nk,\"label\",o4,C(nk,\"id\",eh,a2(oC)))))))))))))),uf=function(e){switch(e){case\"Collection\":return I(ew,oI,od(function(e){return uh()}));case\"Manifest\":return I(ew,oE,ud);default:return nv(\"Unknown collection item type: \"+e)}};function uh(){return I(nq,uv(),R(nT,\"summary\",nA(i1),am,C(nk,\"label\",o4,C(nk,\"id\",eh,a2(oy)))))}function uv(){return R(ey,m(function(e,t,a){return ul(e)?H(t,a):H(e,H(t,a))}),nb(U([I(ev,\"items\",nl(ug())),a2(B)])),nb(U([I(ev,\"collections\",nl(I(ew,oI,od(function(e){return uh()})))),a2(B)])),nb(U([I(ev,\"manifests\",nl(I(ew,oE,ud))),a2(B)])))}function ug(){return I(em,uf,I(ev,\"type\",eh))}var up=uh();uh=function(){return up};var um=uv();uv=function(){return um};var uw=ug();ug=function(){return uw};var ux=y(function(e,t,a,r,n,i){return{fZ:r,s:e,dN:t,f4:n,gy:i,gP:a}}),uy=E(function(e,t,a,r,n,i,o){return{dI:a,dd:i,s:e,dN:t,fl:o,gP:r,dz:n}}),uE=U([I(iY,i2,U([\"Logo\"]))]),uI=R(nT,\"service\",nA(o0),am,R(nT,\"height\",el,0,R(nT,\"width\",el,0,R(nT,\"type\",ok,oL(\"Image\"),R(nT,\"format\",oS,o$(\"image/png\"),R(nT,\"label\",i1,uE,C(nk,\"id\",eh,a2(uy)))))))),uC=R(nT,\"seeAlso\",nA(nl(C(nk,\"type_\",ok,C(nk,\"format\",oS,C(nk,\"label\",o4,C(nk,\"id\",eh,a2(w(function(e,t,a,r){return{dI:a,s:e,dN:t,gP:r}})))))))),am,R(nT,\"logo\",nA(nl(uI)),am,R(nT,\"homepage\",nA(nl(ub)),am,C(nk,\"type\",ok,C(nk,\"label\",i1,C(nk,\"id\",eh,a2(ux))))))),uR=R(nT,\"requiredStatement\",nA(o_),am,R(nT,\"thumbnail\",nP(ua),am,R(nT,\"provider\",nA(nl(uC)),am,R(nT,\"logo\",nA(o5(0)),am,R(nT,\"homepage\",nA(nl(ub)),am,R(nT,\"structures\",nA(nl(us)),am,C(nk,\"items\",nl(ur),R(nT,\"behavior\",oK,oZ(U([5])),R(nT,\"summary\",nA(i1),am,R(nT,\"viewingDirection\",oG,0,R(nT,\"metadata\",nl(o_),B,C(nk,\"label\",o4,C(nk,\"id\",eh,a2(oC)))))))))))))),u$=I(em,function(e){switch(e){case\"Canvas\":return I(ew,I(n$,nE,nm(2)),ur);case\"Collection\":return I(ew,I(n$,nI,nw(2)),up);case\"Manifest\":return I(ew,I(n$,nC,nx(2)),uR);case\"Range\":return I(ew,I(n$,nR,ny(2)),us);default:return nv(\"Unknown IIIF v3 resource type: \"+e)}},I(ev,\"type\",eh)),uL=nb(U([I(em,function(e){return I(nh,np,e)?u$:I(nh,ng,e)?oW:nv(\"Unknown resource context value: \"+e)},I(ev,\"@context\",eh)),I(em,function(e){return I(nd,nh(np),e)?u$:I(nd,nh(ng),e)?oW:nv(\"Context values contain an unknown IIIF version: \"+I(aw,\", \",e))},I(ev,\"@context\",nl(eh)))])),uA=m(function(e,t,a){return C(nc,t,I(r4,e,uL),a)}),uS={aL:!1,bj:10,bk:15,aM:0,bl:!1,aN:0,ax:!1,aO:8,aP:0,bm:!1,aQ:0,bn:!1,aR:0,bo:!1,aS:0,ay:!1,aT:8,aU:0,bp:!1,aV:0,bq:!1,aW:0,br:!1,aX:0,az:!1,aY:8,aZ:0,bs:!1,a_:0,bt:!1,bu:0,cd:!1,bv:0,ce:!1,bw:0,cf:!1,bx:0,cg:!1,by:1,N:!1,ci:!1,bz:\"#ffffff\",bA:\"#ffffff\",bB:24,bC:128,a1:!1,bD:\"gray\",bE:1,cj:!1,ck:!1,bF:\"sharpen\",co:!1,bK:1,cp:!1,a4:!1,cs:!1,bL:0,cu:!1,cA:!1,a8:!1,bP:3,bQ:\"erode\",cF:!1,bR:1,bS:0,bT:\"pca-rgb\",bU:1,ad:!1,bV:1,bW:\"rg\",bX:1,bd:0,bZ:0,cN:!1,b4:128,cU:!1,b5:1,c_:!1,b7:0,c0:!1},uT=function(e){switch(e){case\"contents\":return 3;case\"metadata\":return 2;default:return 1}},uk=function(e){return{$:0,a:e}},uM=function(e){return{$:1,a:e}},uP=function(e){return{$:3,a:e}},uN=function(e){return{$:4,a:e}},uz=function(e){return{$:5,a:e}},uO=function(e){return{$:1,a:e}},uV=p(function(e,t){return{$:2,a:e,b:t}}),uq={$:14},uH=p(function(e,t){return{$:3,a:e,b:t}}),uB=m(function(e,t,a){return{$:2,a:e,b:t,c:a}}),uD=p(function(e,t){return{$:0,a:e,b:t}}),u_=m(function(e,t,a){return{$:4,a:e,b:t,c:a}}),uU=p(function(e,t){return{$:9,a:e,b:t}}),uF=m(function(e,t,a){return{$:8,a:e,b:t,c:a}}),uG=function(e){return{$:12,a:e}},uj=function(e){return{$:28,a:e}},uW=function(e){return{$:29,a:e}},uZ={$:30},uK={$:31},uX=function(e){return{$:55,a:e}},uY=function(e){return{$:5,c:e}},uJ=e3(\"authDestroyed\",uY(0)),uQ=e3(\"authHttpFailed\",I(em,function(e){return I(em,function(t){return a2({s:t,ac:e})},I(ev,\"id\",eh))},I(ev,\"message\",eh))),u0=e3(\"authHttpResponded\",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({ef:a,s:t,du:e})},I(ev,\"body\",eh))},I(ev,\"id\",eh))},I(ev,\"status\",el))),u1=e3(\"authLogoutChanged\",I(em,function(e){return I(em,function(t){return a2({fm:t,du:e})},I(ev,\"sessionId\",eh))},I(ev,\"status\",eh))),u2=e3(\"authPopupChanged\",I(em,function(e){return I(em,function(t){return a2({da:t,du:e})},I(ev,\"flowId\",eh))},I(ev,\"status\",eh))),u4=e3(\"authStorageResponded\",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({da:a,dh:t,dx:e})},I(ev,\"flowId\",eh))},I(ev,\"now\",ed))},I(ev,\"value\",nb(U([uY(am),I(ew,ap,ef)]))))),u3=e3(\"authTokenFailed\",I(em,function(e){return I(em,function(t){return a2({da:t,ac:e})},I(ev,\"flowId\",eh))},I(ev,\"message\",eh))),u6=e3(\"authTokenMessage\",I(em,function(e){return I(em,function(t){return I(em,function(a){return a2({da:a,dh:t,dx:e})},I(ev,\"flowId\",eh))},I(ev,\"now\",ed))},I(ev,\"value\",ef))),u5=e3(\"fullscreenChanged\",eb),u8=e3(\"layoutModeRequested\",eh),u7={$:12},u9=function(e){return uk(function(){switch(e.du){case\"closed\":return u7;case\"opened\":return{$:10,a:e.fm};default:return{$:11,a:e.fm}}}())},se=eX(B),st=m(function(e,t,a){return{$:0,a:e,b:t,c:a}}),sa=p(function(e,t){return{e_:t,ft:e}}),sr=eM(I(sa,B,rC)),sn=function(e){return{a:H(e.a?\"w_\":\"d_\",e.b),b:e}},si=function(e){return C(aE,p(function(e,t){return C(rB,e.a,e.b,t)}),rC,e)},so=m(function(e,t,a){for(;;)if(-2===a.$)return t;else{var r=a.b,n=a.c,i=a.d,o=a.e,u=e,s=C(e,r,n,C(so,e,t,i));e=u,t=s,a=o;continue}}),su=y(function(e,t,a,r,n,i){var o=m(function(r,n,i){for(;;){var o=i.a,u=i.b;if(o.b){var s=o.a,c=s.a,l=s.b,b=o.b;if(0>O(c,r)){var d=r,f=n,h={a:b,b:C(e,c,l,u)};r=d,n=f,i=h;continue}if(O(c,r)>0)return{a:o,b:C(a,r,n,u)};return{a:b,b:R(t,c,l,n,u)}}return{a:o,b:C(a,r,n,u)}}}),u=C(so,o,{a:ai(r),b:i},n),s=u.a,c=u.b;return C(aE,p(function(t,a){return C(e,t.a,t.b,a)}),c,s)}),ss=p(function(e,t){return{ev:t,aj:e}}),sc=m(function(e,t,a){return I(rb,function(e){return{a:t,b:e}},C(tQ,a.a?tJ:tY,a.b,function(a){return I(rz,e,I(ss,t,a))}))}),sl=p(function(e,t){return C(so,rB,t,e)}),sb=m(function(e,t,a){var r=m(function(t,a,r){var n=r.a,i=r.b,o=r.c;return{a:n,b:i,c:I(_,C(sc,e,t,a),o)}}),n=m(function(e,t,a){var r,n=a.a,i=a.b,o=a.c;return r=I(_,t,n),{a:r,b:i,c:o}}),i=w(function(e,t,a,r){var n=r.a,i=r.b,o=r.c;return{a:n,b:C(rB,e,t,i),c:o}}),o=I(rl,sn,t),u=L(su,n,i,r,a.e_,si(o),{a:B,b:rC,c:B}),s=u.a,c=u.b,l=u.c;return I(eN,function(e){return eM(I(sa,o,I(sl,c,si(e))))},I(eN,function(e){return rf(l)},rf(I(rl,r9,s))))}),sd=m(function(e,t,a){var r=t.aj,n=t.ev,i=I(nr,function(e){var t=e.a,a=e.b;a.a,a.b;var i=a.c;return M(t,r)?I(t0,i,n):am},a.ft);return I(eN,function(e){return eM(a)},rf(I(rl,eW(e),i)))}),sf=p(function(e,t){return C(st,t.a,t.b,I(ew,e,t.c))});eG[\"Browser.Events\"]=ej(sr,sb,sd,0,sf);var sh=eK(\"Browser.Events\"),sv=m(function(e,t,a){return sh(C(st,e,t,a))}),sg=I(sv,0,\"mousemove\"),sp=I(sv,0,\"mouseup\"),sm=e3(\"pageIndexChanged\",el),sw=e3(\"pageIndexChangedInstant\",el),sx=function(e){return uk(function(){switch(e.du){case\"closed\":return{$:7,a:e.da};case\"opened\":return{$:5,a:e.da};default:return{$:6,a:e.da}}}())},sy=e3(\"resolveTileSourceCancelled\",eh),sE=e3(\"resolveTileSourceRequested\",I(em,function(e){return I(em,function(t){return a2({fd:t,b3:e})},I(ev,\"requestId\",eh))},I(ev,\"sourceId\",eh))),sI=e3(\"resourceRequested\",I(em,function(e){return I(em,function(t){return a2({fd:t,aK:e})},I(ev,\"requestId\",eh))},I(ev,\"url\",eh))),sC=e3(\"viewerLoadingChanged\",eb),sR=e3(\"zoomChanged\",ed),s$={$:0},sL=function(e){return{$:2,a:e}},sA=function(e){return{$:1,a:e}},sS=p(function(e,t){return{$:7,a:e,b:t}}),sT=p(function(e,t){return{$:8,a:e,b:t}}),sk=m(function(e,t,a){return{$:10,a:e,b:t,c:a}}),sM=m(function(e,t,a){switch(e){case 0:return q(a,{aL:t});case 1:return q(a,{bl:t});case 2:return q(a,{ax:t});case 3:return q(a,{bm:t});case 4:return q(a,{bn:t});case 5:return q(a,{bo:t});case 6:return q(a,{ay:t});case 7:return q(a,{bp:t});case 8:return q(a,{bq:t});case 9:return q(a,{br:t});case 10:return q(a,{az:t});case 11:return q(a,{bs:t});case 12:return q(a,{bt:t});case 13:return q(a,{cd:t});case 14:return q(a,{ce:t});case 15:return q(a,{cf:t});case 16:return q(a,{cg:t});case 17:return q(a,{a1:t});case 18:return q(a,{N:t});case 19:return q(a,{ci:t});case 20:return q(a,{cj:t});case 21:return q(a,{ck:t});case 22:return q(a,{co:t});case 23:return q(a,{cp:t});case 24:return q(a,{a4:t});case 25:return q(a,{cs:t});case 26:return q(a,{cu:t});case 27:return q(a,{cA:t});case 28:return q(a,{a8:t});case 29:return q(a,{cF:t});case 30:return q(a,{ad:t});case 31:return q(a,{cN:t});case 32:return q(a,{cU:t});case 33:return q(a,{c_:t});default:return q(a,{c0:t})}}),sP=function(e){switch(e){case 0:return{b:function(e){return e.by},f:1,g:0,c:p(function(e,t){return q(t,{by:e})})};case 1:return{b:function(e){return e.bE},f:4,g:0,c:p(function(e,t){return q(t,{bE:e})})};case 2:return{b:function(e){return e.bK},f:4,g:.1,c:p(function(e,t){return q(t,{bK:e})})};case 3:return{b:function(e){return e.bR},f:2,g:0,c:p(function(e,t){return q(t,{bR:e})})};case 4:return{b:function(e){return e.bU},f:2,g:0,c:p(function(e,t){return q(t,{bU:e})})};case 5:return{b:function(e){return e.bV},f:2,g:0,c:p(function(e,t){return q(t,{bV:e})})};case 6:return{b:function(e){return e.bX},f:2,g:0,c:p(function(e,t){return q(t,{bX:e})})};default:return{b:function(e){return e.b5},f:3,g:0,c:p(function(e,t){return q(t,{b5:e})})}}},sN=m(function(e,t,a){var r=n0(t),n=sP(e),i=I(nU,n.b(a),I(n_,I(rE,n.g,n.f),r));return I(n.c,i,a)}),sz=function(e){return I(W,2,e)?e:e+1},sO=function(e){return 3===e||5===e||7===e?e:3},sV=function(e){switch(e){case 0:return{b:function(e){return e.bj},f:50,g:-50,c:p(function(e,t){return q(t,{bj:e})}),i:am};case 1:return{b:function(e){return e.bk},f:51,g:3,c:p(function(e,t){return q(t,{bk:e})}),i:ap(sz)};case 2:return{b:function(e){return e.aW},f:100,g:0,c:p(function(e,t){return q(t,{aW:e})}),i:am};case 3:return{b:function(e){return e.aZ},f:100,g:0,c:p(function(e,t){return q(t,{aZ:e})}),i:am};case 4:return{b:function(e){return e.a_},f:100,g:0,c:p(function(e,t){return q(t,{a_:e})}),i:am};case 5:return{b:function(e){return e.aX},f:100,g:-100,c:p(function(e,t){return q(t,{aX:e})}),i:am};case 6:return{b:function(e){return e.aY},f:30,g:2,c:p(function(e,t){return q(t,{aY:e})}),i:am};case 7:return{b:function(e){return e.aR},f:100,g:0,c:p(function(e,t){return q(t,{aR:e})}),i:am};case 8:return{b:function(e){return e.aU},f:100,g:0,c:p(function(e,t){return q(t,{aU:e})}),i:am};case 9:return{b:function(e){return e.aS},f:100,g:-100,c:p(function(e,t){return q(t,{aS:e})}),i:am};case 10:return{b:function(e){return e.aT},f:30,g:2,c:p(function(e,t){return q(t,{aT:e})}),i:am};case 11:return{b:function(e){return e.aV},f:100,g:0,c:p(function(e,t){return q(t,{aV:e})}),i:am};case 12:return{b:function(e){return e.aM},f:100,g:0,c:p(function(e,t){return q(t,{aM:e})}),i:am};case 13:return{b:function(e){return e.aP},f:100,g:0,c:p(function(e,t){return q(t,{aP:e})}),i:am};case 14:return{b:function(e){return e.aN},f:100,g:-100,c:p(function(e,t){return q(t,{aN:e})}),i:am};case 15:return{b:function(e){return e.aO},f:30,g:2,c:p(function(e,t){return q(t,{aO:e})}),i:am};case 16:return{b:function(e){return e.aQ},f:100,g:0,c:p(function(e,t){return q(t,{aQ:e})}),i:am};case 17:return{b:function(e){return e.bu},f:255,g:-255,c:p(function(e,t){return q(t,{bu:e})}),i:am};case 18:return{b:function(e){return e.bv},f:100,g:-100,c:p(function(e,t){return q(t,{bv:e})}),i:am};case 19:return{b:function(e){return e.bw},f:100,g:-100,c:p(function(e,t){return q(t,{bw:e})}),i:am};case 20:return{b:function(e){return e.bx},f:100,g:-100,c:p(function(e,t){return q(t,{bx:e})}),i:am};case 21:return{b:function(e){return e.bC},f:255,g:0,c:p(function(e,t){return q(t,{bC:e})}),i:am};case 22:return{b:function(e){return e.bB},f:255,g:0,c:p(function(e,t){return q(t,{bB:e})}),i:am};case 23:return{b:function(e){return e.bS},f:180,g:-180,c:p(function(e,t){return q(t,{bS:e})}),i:am};case 24:return{b:function(e){return e.bL},f:100,g:-100,c:p(function(e,t){return q(t,{bL:e})}),i:am};case 25:return{b:function(e){return e.bP},f:7,g:3,c:p(function(e,t){return q(t,{bP:e})}),i:ap(sO)};case 26:return{b:function(e){return e.bd},f:180,g:-180,c:p(function(e,t){return q(t,{bd:e})}),i:am};case 27:return{b:function(e){return e.bZ},f:100,g:-100,c:p(function(e,t){return q(t,{bZ:e})}),i:am};case 28:return{b:function(e){return e.b4},f:255,g:0,c:p(function(e,t){return q(t,{b4:e})}),i:am};default:return{b:function(e){return e.b7},f:100,g:-100,c:p(function(e,t){return q(t,{b7:e})}),i:am}}},sq=m(function(e,t,a){var r=rt(t),n=sV(e),i=function(){if(r.$)return n.b(a);var e=r.a,t=C(rE,n.g,n.f,e),i=n.i;return i.$?t:(0,i.a)(t)}();return I(n.c,i,a)}),sH=p(function(e,t){return e}),sB=function(e){switch(e){case 0:return{b:function(e){return e.bD},c:p(function(e,t){return q(t,{bD:e})}),i:function(e){return I(iB,e,U([\"gray\",\"hot\",\"cool\"]))}};case 1:return{b:function(e){return e.bz},c:p(function(e,t){return q(t,{bz:e})}),i:sH(!0)};case 2:return{b:function(e){return e.bA},c:p(function(e,t){return q(t,{bA:e})}),i:sH(!0)};case 3:return{b:function(e){return e.bF},c:p(function(e,t){return q(t,{bF:e})}),i:function(e){return I(iB,e,U([\"sharpen\",\"blur\",\"edge\",\"emboss\"]))}};case 4:return{b:function(e){return e.bT},c:p(function(e,t){return q(t,{bT:e})}),i:function(e){return I(iB,e,U([\"pca-rgb\",\"pca1\",\"pca2\",\"pca3\"]))}};case 5:return{b:function(e){return e.bQ},c:p(function(e,t){return q(t,{bQ:e})}),i:function(e){return\"erode\"===e||\"dilate\"===e}};default:return{b:function(e){return e.bW},c:p(function(e,t){return q(t,{bW:e})}),i:function(e){return I(iB,e,U([\"rg\",\"gb\",\"rb\",\"luma\",\"cmy\",\"heat\"]))}}}},sD=m(function(e,t,a){var r=sB(e),n=r.i(t)?t:r.b(a);return I(r.c,n,a)}),s_=m(function(e,t,a){return a.$?e:t(a.a)}),sU=function(e){return C(aE,p(function(e,t){return C(ek,e.a,e.b,t)}),{},e)},sF=e1(\"filterPreviewUpdated\",function(e){return C(s_,null,function(e){var t;return sU(U([{a:\"aspect\",b:eT(e.c5)},{a:\"filters\",b:sU(U([{a:\"adaptiveEnabled\",b:eT((t=e.ez).aL)},{a:\"adaptiveOffset\",b:eT(t.bj)},{a:\"adaptiveWindow\",b:eT(t.bk)},{a:\"altBlueGamma\",b:eT(t.aM)},{a:\"altBlueGammaEnabled\",b:eT(t.bl)},{a:\"altBlueHue\",b:eT(t.aN)},{a:\"altBlueHueEnabled\",b:eT(t.ax)},{a:\"altBlueHueWindow\",b:eT(t.aO)},{a:\"altBlueSigmoid\",b:eT(t.aP)},{a:\"altBlueSigmoidEnabled\",b:eT(t.bm)},{a:\"altBlueVibrance\",b:eT(t.aQ)},{a:\"altBlueVibranceEnabled\",b:eT(t.bn)},{a:\"altGreenGamma\",b:eT(t.aR)},{a:\"altGreenGammaEnabled\",b:eT(t.bo)},{a:\"altGreenHue\",b:eT(t.aS)},{a:\"altGreenHueEnabled\",b:eT(t.ay)},{a:\"altGreenHueWindow\",b:eT(t.aT)},{a:\"altGreenSigmoid\",b:eT(t.aU)},{a:\"altGreenSigmoidEnabled\",b:eT(t.bp)},{a:\"altGreenVibrance\",b:eT(t.aV)},{a:\"altGreenVibranceEnabled\",b:eT(t.bq)},{a:\"altRedGamma\",b:eT(t.aW)},{a:\"altRedGammaEnabled\",b:eT(t.br)},{a:\"altRedHue\",b:eT(t.aX)},{a:\"altRedHueEnabled\",b:eT(t.az)},{a:\"altRedHueWindow\",b:eT(t.aY)},{a:\"altRedSigmoid\",b:eT(t.aZ)},{a:\"altRedSigmoidEnabled\",b:eT(t.bs)},{a:\"altRedVibrance\",b:eT(t.a_)},{a:\"altRedVibranceEnabled\",b:eT(t.bt)},{a:\"brightness\",b:eT(t.bu)},{a:\"brightnessEnabled\",b:eT(t.cd)},{a:\"ccBlue\",b:eT(t.bv)},{a:\"ccBlueEnabled\",b:eT(t.ce)},{a:\"ccGreen\",b:eT(t.bw)},{a:\"ccGreenEnabled\",b:eT(t.cf)},{a:\"ccRed\",b:eT(t.bx)},{a:\"ccRedEnabled\",b:eT(t.cg)},{a:\"colourReplaceBlend\",b:eT(t.by)},{a:\"colourReplaceEnabled\",b:eT(t.N)},{a:\"colourReplacePreserveLum\",b:eT(t.ci)},{a:\"colourReplaceSource\",b:eT(t.bz)},{a:\"colourReplaceTarget\",b:eT(t.bA)},{a:\"colourReplaceTolerance\",b:eT(t.bB)},{a:\"colourmapCenter\",b:eT(t.bC)},{a:\"colourmapEnabled\",b:eT(t.a1)},{a:\"colourmapPreset\",b:eT(t.bD)},{a:\"contrast\",b:eT(t.bE)},{a:\"contrastEnabled\",b:eT(t.cj)},{a:\"convolutionEnabled\",b:eT(t.ck)},{a:\"convolutionPreset\",b:eT(t.bF)},{a:\"flip\",b:eT(t.co)},{a:\"gamma\",b:eT(t.bK)},{a:\"gammaEnabled\",b:eT(t.cp)},{a:\"globalPcaEnabled\",b:eT(t.a4)},{a:\"grayscale\",b:eT(t.cs)},{a:\"hue\",b:eT(t.bL)},{a:\"hueEnabled\",b:eT(t.cu)},{a:\"invert\",b:eT(t.cA)},{a:\"morphEnabled\",b:eT(t.a8)},{a:\"morphKernel\",b:eT(t.bP)},{a:\"morphOperation\",b:eT(t.bQ)},{a:\"normalizeEnabled\",b:eT(t.cF)},{a:\"normalizeStrength\",b:eT(t.bR)},{a:\"pcaHue\",b:eT(t.bS)},{a:\"pcaMode\",b:eT(t.bT)},{a:\"pseudoColourBlue\",b:eT(t.bU)},{a:\"pseudoColourEnabled\",b:eT(t.ad)},{a:\"pseudoColourGreen\",b:eT(t.bV)},{a:\"pseudoColourMode\",b:eT(t.bW)},{a:\"pseudoColourRed\",b:eT(t.bX)},{a:\"rotation\",b:eT(t.bd)},{a:\"saturation\",b:eT(t.bZ)},{a:\"saturationEnabled\",b:eT(t.cN)},{a:\"threshold\",b:eT(t.b4)},{a:\"thresholdEnabled\",b:eT(t.cU)},{a:\"unsharpAmount\",b:eT(t.b5)},{a:\"unsharpEnabled\",b:eT(t.c_)},{a:\"vibrance\",b:eT(t.b7)},{a:\"vibranceEnabled\",b:eT(t.c0)}]))},{a:\"isStatic\",b:eT(e.aD)},{a:\"sourceId\",b:eT(e.b3)},{a:\"tileSource\",b:eT(e.cV)}]))},e)}),sG=p(function(e,t){return C(aE,p(function(t,a){return a.push(e(t)),a}),[],t)}),sj=e1(\"pageAspectsUpdated\",sG(eT)),sW=e1(\"pageLabelsUpdated\",sG(eT)),sZ=e1(\"pagesUpdated\",sG(function(e){var t;return sU(U([{a:\"canvasId\",b:eT(e.c7)},{a:\"height\",b:C(s_,null,eT,e.dd)},{a:\"images\",b:sG(function(e){return sU(U([{a:\"id\",b:eT(e.s)},{a:\"isPrimary\",b:eT(e.bN)},{a:\"label\",b:eT(e.dN)}]))})(e.cy)},{a:\"index\",b:eT(e.eK)},{a:\"label\",b:eT(e.dN)},{a:\"primaryImage\",b:sU(U([{a:\"id\",b:eT((t=e.e3).s)},{a:\"isPrimary\",b:eT(t.bN)},{a:\"label\",b:eT(t.dN)}]))},{a:\"width\",b:C(s_,null,eT,e.dz)}]))})),sK=e1(\"tileSourcesUpdated\",function(e){return sU(U([{a:\"initialPageIndex\",b:eT(e.dL)},{a:\"resourceId\",b:eT(e.dZ)},{a:\"tileSources\",b:sG(function(e){return sU(U([{a:\"isStatic\",b:eT(e.aD)},{a:\"sourceId\",b:eT(e.b3)},{a:\"url\",b:eT(e.aK)}]))})(e.d6)}]))}),sX=function(e){return eX(U([sK({dL:0,dZ:e,d6:B}),sZ(B),sj(B),sW(B),sF(am)]))},sY=e1(\"copyToClipboard\",eT),sJ=m(function(e,t,a){return e.$?a:I(t,e.a,a)}),sQ=function(e){return e.$?am:ap(e.a)},s0=m(function(e,t,a){return I(nD,function(t){return sQ(I(eI,e,t))},I(rO,t,a))}),s1=p(function(e,t){return C(s0,eb,e,t)}),s2=p(function(e,t){return C(s0,nb(U([ed,I(ew,aU,el)])),e,t)}),s4=p(function(e,t){return C(s0,el,e,t)}),s3=p(function(e,t){return C(s0,eh,e,t)}),s6=function(e){var t=I(s4,\"vibrance\",e),a=I(s2,\"unsharpAmount\",e),r=I(s4,\"threshold\",e),n=I(s4,\"saturation\",e),i=I(s4,\"rotation\",e),o=I(s2,\"pseudoColourRed\",e),u=I(s3,\"pseudoColourMode\",e),s=I(s2,\"pseudoColourGreen\",e),c=I(s2,\"pseudoColourBlue\",e),l=I(s3,\"pcaMode\",e),b=I(s4,\"pcaHue\",e),d=I(s2,\"normalizeStrength\",e),f=I(s3,\"morphOperation\",e),h=I(s4,\"morphKernel\",e),v=I(s1,\"invert\",e),g=I(s4,\"hue\",e),m=I(s1,\"grayscale\",e),w=I(s2,\"gamma\",e),x=I(s1,\"flip\",e),y=I(s3,\"convolutionPreset\",e),E=I(s2,\"contrast\",e),R=I(s3,\"colourmapPreset\",e),$=I(s4,\"colourmapCenter\",e),L=I(s4,\"colourReplaceTolerance\",e),A=I(s3,\"colourReplaceTarget\",e),S=I(s3,\"colourReplaceSource\",e),T=I(s1,\"colourReplacePreserveLum\",e),k=I(s2,\"colourReplaceBlend\",e),M=I(s4,\"ccRed\",e),P=I(s4,\"ccGreen\",e),N=I(s4,\"ccBlue\",e),z=I(s4,\"brightness\",e),O=I(s4,\"altRedVibrance\",e),V=I(s4,\"altRedSigmoid\",e),H=I(s4,\"altRedHueWindow\",e),B=I(s4,\"altRedHue\",e),D=I(s4,\"altRedGamma\",e),_=I(s4,\"altGreenVibrance\",e),U=I(s4,\"altGreenSigmoid\",e),F=I(s4,\"altGreenHueWindow\",e),G=I(s4,\"altGreenHue\",e),j=I(s4,\"altGreenGamma\",e),W=I(s4,\"altBlueVibrance\",e),Z=I(s4,\"altBlueSigmoid\",e),K=I(s4,\"altBlueHueWindow\",e),X=I(s4,\"altBlueHue\",e),Y=I(s4,\"altBlueGamma\",e),J=I(s4,\"adaptiveWindow\",e),Q=I(s4,\"adaptiveOffset\",e);return C(sJ,W,p(function(e,t){return q(t,{aQ:e,bn:!0})}),C(sJ,K,p(function(e,t){return q(t,{ax:!0,aO:e})}),C(sJ,X,p(function(e,t){return q(t,{aN:e,ax:!0})}),C(sJ,Z,p(function(e,t){return q(t,{aP:e,bm:!0})}),C(sJ,Y,p(function(e,t){return q(t,{aM:e,bl:!0})}),C(sJ,_,p(function(e,t){return q(t,{aV:e,bq:!0})}),C(sJ,F,p(function(e,t){return q(t,{ay:!0,aT:e})}),C(sJ,G,p(function(e,t){return q(t,{aS:e,ay:!0})}),C(sJ,U,p(function(e,t){return q(t,{aU:e,bp:!0})}),C(sJ,j,p(function(e,t){return q(t,{aR:e,bo:!0})}),C(sJ,O,p(function(e,t){return q(t,{a_:e,bt:!0})}),C(sJ,H,p(function(e,t){return q(t,{az:!0,aY:e})}),C(sJ,B,p(function(e,t){return q(t,{aX:e,az:!0})}),C(sJ,V,p(function(e,t){return q(t,{aZ:e,bs:!0})}),C(sJ,D,p(function(e,t){return q(t,{aW:e,br:!0})}),C(sJ,Q,p(function(e,t){return q(t,{aL:!0,bj:e})}),C(sJ,J,p(function(e,t){return q(t,{aL:!0,bk:e})}),C(sJ,d,p(function(e,t){return q(t,{cF:!0,bR:e})}),C(sJ,a,p(function(e,t){return q(t,{b5:e,c_:!0})}),C(sJ,T,p(function(e,t){return q(t,{N:!0,ci:e})}),C(sJ,k,p(function(e,t){return q(t,{by:e,N:!0})}),C(sJ,L,p(function(e,t){return q(t,{N:!0,bB:e})}),C(sJ,A,p(function(e,t){return q(t,{N:!0,bA:e})}),C(sJ,S,p(function(e,t){return q(t,{N:!0,bz:e})}),C(sJ,b,p(function(e,t){return q(t,{a4:!0,bS:e})}),C(sJ,l,p(function(e,t){return q(t,{a4:!0,bT:e})}),C(sJ,c,p(function(e,t){return q(t,{bU:e,ad:!0})}),C(sJ,s,p(function(e,t){return q(t,{ad:!0,bV:e})}),C(sJ,o,p(function(e,t){return q(t,{ad:!0,bX:e})}),C(sJ,u,p(function(e,t){return q(t,{ad:!0,bW:e})}),C(sJ,$,p(function(e,t){return q(t,{bC:e,a1:!0})}),C(sJ,R,p(function(e,t){return q(t,{a1:!0,bD:e})}),C(sJ,y,p(function(e,t){return q(t,{ck:!0,bF:e})}),C(sJ,h,p(function(e,t){return q(t,{a8:!0,bP:e})}),C(sJ,f,p(function(e,t){return q(t,{a8:!0,bQ:e})}),C(sJ,N,p(function(e,t){return q(t,{bv:e,ce:!0})}),C(sJ,P,p(function(e,t){return q(t,{bw:e,cf:!0})}),C(sJ,M,p(function(e,t){return q(t,{bx:e,cg:!0})}),C(sJ,g,p(function(e,t){return q(t,{bL:e,cu:!0})}),C(sJ,t,p(function(e,t){return q(t,{b7:e,c0:!0})}),C(sJ,n,p(function(e,t){return q(t,{bZ:e,cN:!0})}),C(sJ,w,p(function(e,t){return q(t,{bK:e,cp:!0})}),C(sJ,E,p(function(e,t){return q(t,{bE:e,cj:!0})}),C(sJ,z,p(function(e,t){return q(t,{bu:e,cd:!0})}),C(sJ,r,p(function(e,t){return q(t,{b4:e,cU:!0})}),C(sJ,v,p(function(e,t){return q(t,{cA:e})}),C(sJ,m,p(function(e,t){return q(t,{cs:e})}),C(sJ,x,p(function(e,t){return q(t,{co:e})}),C(sJ,i,p(function(e,t){return q(t,{bd:e})}),uS)))))))))))))))))))))))))))))))))))))))))))))))))},s5=function(e){var t=I(eE,I(ew,si,iX(ef)),e);return t.$?ab(aq(t.a)):av(s6(t.a))},s8=w(function(e,t,a,r){return e?I(_,{a:t,b:a},r):r}),s7=function(e){return I(eS,2,sU(R(s8,e.bn,\"altBlueVibrance\",eT(e.aQ),R(s8,e.ax,\"altBlueHueWindow\",eT(e.aO),R(s8,e.ax,\"altBlueHue\",eT(e.aN),R(s8,e.bm,\"altBlueSigmoid\",eT(e.aP),R(s8,e.bl,\"altBlueGamma\",eT(e.aM),R(s8,e.bq,\"altGreenVibrance\",eT(e.aV),R(s8,e.ay,\"altGreenHueWindow\",eT(e.aT),R(s8,e.ay,\"altGreenHue\",eT(e.aS),R(s8,e.bp,\"altGreenSigmoid\",eT(e.aU),R(s8,e.bo,\"altGreenGamma\",eT(e.aR),R(s8,e.bt,\"altRedVibrance\",eT(e.a_),R(s8,e.az,\"altRedHueWindow\",eT(e.aY),R(s8,e.az,\"altRedHue\",eT(e.aX),R(s8,e.bs,\"altRedSigmoid\",eT(e.aZ),R(s8,e.br,\"altRedGamma\",eT(e.aW),R(s8,e.aL,\"adaptiveOffset\",eT(e.bj),R(s8,e.aL,\"adaptiveWindow\",eT(e.bk),R(s8,e.cF,\"normalizeStrength\",eT(e.bR),R(s8,e.c_,\"unsharpAmount\",eT(e.b5),R(s8,e.N,\"colourReplacePreserveLum\",eT(e.ci),R(s8,e.N,\"colourReplaceBlend\",eT(e.by),R(s8,e.N,\"colourReplaceTolerance\",eT(e.bB),R(s8,e.N,\"colourReplaceTarget\",eT(e.bA),R(s8,e.N,\"colourReplaceSource\",eT(e.bz),R(s8,e.a4,\"pcaHue\",eT(e.bS),R(s8,e.a4,\"pcaMode\",eT(e.bT),R(s8,e.ad,\"pseudoColourBlue\",eT(e.bU),R(s8,e.ad,\"pseudoColourGreen\",eT(e.bV),R(s8,e.ad,\"pseudoColourRed\",eT(e.bX),R(s8,e.ad,\"pseudoColourMode\",eT(e.bW),R(s8,e.a1,\"colourmapCenter\",eT(e.bC),R(s8,e.a1,\"colourmapPreset\",eT(e.bD),R(s8,e.ck,\"convolutionPreset\",eT(e.bF),R(s8,e.a8,\"morphKernel\",eT(e.bP),R(s8,e.a8,\"morphOperation\",eT(e.bQ),R(s8,e.ce,\"ccBlue\",eT(e.bv),R(s8,e.cf,\"ccGreen\",eT(e.bw),R(s8,e.cg,\"ccRed\",eT(e.bx),R(s8,e.cu,\"hue\",eT(e.bL),R(s8,e.c0,\"vibrance\",eT(e.b7),R(s8,e.cN,\"saturation\",eT(e.bZ),R(s8,e.cp,\"gamma\",eT(e.bK),R(s8,e.cj,\"contrast\",eT(e.bE),R(s8,e.cd,\"brightness\",eT(e.bu),R(s8,e.cU,\"threshold\",eT(e.b4),R(s8,e.cA,\"invert\",eT(!0),R(s8,e.cs,\"grayscale\",eT(!0),R(s8,e.co,\"flip\",eT(!0),R(s8,!!e.bd,\"rotation\",eT(e.bd),B)))))))))))))))))))))))))))))))))))))))))))))))))))},s9=p(function(e,t){var a=p(function(t,a){for(;;)if(M(t.t.s,e))return ap(t.t);else{var r=t.Q;if(r.b){var n=r.a,i=r.b;if(n.$){var o=q(t,{Q:i}),u=a;t=o,a=u;continue}var s=n.a,o={t:s,Q:s.aE},u=I(_,{t:t.t,Q:i},a);t=o,a=u;continue}if(!a.b)return am;var c=a.a,i=a.b,o=c,u=i;t=o,a=u;continue}});return I(a,{t:t,Q:t.aE},B)}),ce=p(function(e,t){var a=I(ct,e,t.aE),r=a.a,n=a.b;return C(rB,t.s,r,n)}),ct=p(function(e,t){return C(aE,p(function(t,a){var r=a.a,n=a.b;if(t.$){var i=t.a,o=I(ce,e,i),u=r.$?I(nU,am,I(rO,i.s,o)):r;return{a:u,b:I(sl,o,n)}}var s=t.a,u=r.$?I(rO,s,e):r;return{a:u,b:n}}),{a:am,b:rC},t)}),ca=p(function(e,t){return C(aE,p(function(t,a){return I(sl,I(ce,e,t),a)}),rC,t)}),cr=e1(\"layoutConfigUpdated\",function(e){return sU(U([{a:\"direction\",b:eT(e.eo)},{a:\"mode\",b:eT(e.eT)}]))}),cn=p(function(e,t){return e?t?\"spread-shift\":\"spread\":\"single\"}),ci=function(e){var t={a:e.dz,b:e.dd};if(t.a.$||t.b.$)return 1;var a=t.a.a,r=t.b.a;return a>0?r/a:1},co=p(function(e,t){return I(nU,U([\"[No language value found]\"]),I(n_,function(e){return e.b},I(nQ,U([function(a){if(e.$)return am;var r=e.a;return I(oX,function(e){return!e.a.$&&M(e.a.a,r)},t)},function(e){return I(oX,function(e){return M(e.a,iJ)},t)},function(e){return I(oX,function(e){return M(e.a,i2)},t)},function(e){return nM(t)}]),t)))}),cu=p(function(e,t){return I(aw,\"; \",I(co,e,t))}),cs=function(e){var t=e.dN;return t.$?\"Untitled\":I(cu,i2,t.a)},cc=function(e){switch(e){case 0:return\"jpg\";case 1:return\"tif\";case 2:return\"png\";case 3:return\"jp2\";case 4:return\"gif\";case 5:return\"pdf\";default:return\"webp\"}},cl=function(e){switch(e){case 0:return\"color\";case 1:return\"gray\";case 2:return\"bitonal\";case 3:return\"default\";default:return\"native\"}},cb=function(e){switch(e.$){case 0:return\"full\";case 1:return\"square\";default:return I(aw,\",\",I(rl,es,U([e.a.fz,e.a.d9,e.a.dy,e.a.dc])))}},cd=function(e){if(e.$){var t=e.a;return\"!\"+es(t)}var t=e.a;return es(t)},cf=function(e){switch(e.$){case 0:return\"max\";case 1:return\"^max\";case 2:var t=e.a;return es(t)+\",\";case 3:var t=e.a;return\"^\"+es(t)+\",\";case 4:var a=e.a;return\",\"+es(a);case 5:var a=e.a;return\"^,\"+es(a);case 6:var r=e.a;return\"pct:\"+es(r);case 7:var r=e.a;return\"^pct:\"+es(r);case 8:var n=e.a,t=n.a,a=n.b;return es(t)+\",\"+es(a);case 9:var i=e.a,t=i.a,a=i.b;return\"^\"+es(t)+\",\"+es(a);case 10:var o=e.a,t=o.a,a=o.b;return\"!\"+es(t)+\",\"+es(a);default:var u=e.a,t=u.a,a=u.b;return\"^!\"+es(t)+\",\"+es(a)}},ch=function(e){for(;;)if(!e.b||\"/\"!==e.a)return e;else{e=e.b;continue}},cv=function(e){return F(e).join(\"\")},cg=function(e){return C(Q,_,B,e)},cp=function(e){return cv(az(ch(az(cg(e)))))},cm=aE(p(function(e,t){var a=cv(ch(cg(e)));return a9(a)?cp(t):cp(t)+\"/\"+a})),cw=function(e){switch(e.$){case 0:var t,a=e.a;return I(cm,(t=a).eH,U([t.Y,\"info.json\"]));case 1:var r,a=e.a;return I(cm,(r=a).eH,U([r.Y,cb(r.cM),cf(r.fo),cd(r.bd),cl(r.dY)+\".\"+cc(r.dI)]));default:var a=e.a;return I(cm,a.eH,U([a.Y]))}},cx=p(function(e,t){switch(t.$){case 0:var a,r=t.a;return nj(q({dI:0,eH:(a=r).eH,Y:a.Y,dY:3,cM:nX,bd:iR(0),fo:ib},{fo:e}));case 1:var r=t.a;return nj(q(r,{fo:e}));default:return t}}),cy=function(e){var t=iO(e);if(t.$)return e;var a=t.a;return cw(I(cx,ix(180),a))},cE=function(e){var t=cw(e.s);return ul(e.fl)?t:cy(t)},cI=p(function(e,t){var a=t.gL;if(!a.$)return cE(a.a);var r=nM(I(iS,function(e){return e.bN},e));if(r.$){var n=nM(e);if(n.$)return\"\";var i=n.a;return i.be}var i=r.a;return i.be}),cC=function(e){return nb(U([nl(e),I(ew,iW,e)]))},cR=x(function(e,t,a,r,n){return{et:r,eu:n,s:e,b_:a,gP:t}}),c$=I(em,function(e){switch(e){case\"active\":return a2(0);case\"external\":return a2(2);case\"kiosk\":return a2(1);default:return nv(\"Unsupported Auth 2 access profile: \"+e)}},eh),cL=g(8,l=function(e,t,a,r,n,i,o,u){return{dC:u,dK:i,s:e,dN:n,dR:o,bb:a,b_:r,gP:t}},function(e){return function(t){return function(a){return function(r){return function(n){return function(i){return function(o){return function(u){return l(e,t,a,r,n,i,o,u)}}}}}}}}),cA=p(function(e,t){return I(em,function(t){return M(t,e)?a2(t):nv(\"Expected \"+e+\" but got \"+t)},t)}),cS=nb(U([I(ev,\"type\",eh),I(ev,\"@type\",eh)])),cT=function(e){return I(cA,e,cS)},ck=nb(U([I(ev,\"id\",eh),I(ev,\"@id\",eh)])),cM=I(em,function(e){return I(ei,\"https://\",e)?a2(e):nv(\"Expected an HTTPS service identifier\")},ck),cP=p(function(e,t){return I(em,function(a){var r=I(eI,I(ev,e,ef),a);if(r.$)return a2(am);var n=I(eI,t,r.a);return n.$?nv(aq(n.a)):a2(ap(n.a))},ef)}),cN=function(e){return{$:1,a:e}},cz=function(e){return{$:0,a:e}},cO=w(function(e,t,a,r){return{et:a,eu:r,s:e,gP:t}}),cV=I(nq,I(cP,\"errorNote\",i1),I(nq,I(cP,\"errorHeading\",i1),I(nq,cT(\"AuthAccessTokenService2\"),I(nq,cM,a2(cO))))),cq=m(function(e,t,a){return{s:e,dN:a,gP:t}}),cH=I(nq,I(cP,\"label\",i1),I(nq,cT(\"AuthLogoutService2\"),I(nq,cM,a2(cq)))),cB=I(em,function(e){switch(e){case\"AuthAccessTokenService2\":return I(ew,cz,cV);case\"AuthLogoutService2\":return I(ew,cN,cH);default:return nv(\"Unsupported Auth 2 related service: \"+e)}},cS),cD=I(em,function(e){var t=aI(I(iS,function(e){return!e.$},e)),a=aI(e)-t;return 1===t&&a<=1?a2(e):nv(\"Auth access services require exactly one token service and at most one logout service\")},cC(cB)),c_=I(em,function(e){return I(nq,I(cP,\"confirmLabel\",i1),I(nq,I(cP,\"note\",i1),I(nq,I(cP,\"heading\",i1),I(nq,e?I(cP,\"label\",i1):I(ew,ap,I(ev,\"label\",i1)),C(nk,\"service\",cD,I(nq,a2(e),I(nq,cT(\"AuthAccessService2\"),I(nq,2===e?a2(am):I(ew,ap,cM),a2(cL)))))))))},I(ev,\"profile\",c$)),cU=I(nq,I(cP,\"errorNote\",i1),I(nq,I(cP,\"errorHeading\",i1),C(nk,\"service\",cC(c_),I(nq,cT(\"AuthProbeService2\"),I(nq,cM,a2(cR)))))),cF=I(em,function(e){var t=C(m(function(e,t,a){for(;;)if(!e.b)return av({cK:az(t),c$:az(a)});else{var r=e.a,n=e.b,i=I(eI,nl(ef),r);if(i.$){var o=I(eI,cS,r);if(o.$){var u=I(eI,I(ev,\"service\",cC(ef)),r);if(u.$){var s=n,c=t,l=a;e=s,t=c,a=l;continue}var b=u.a,s=H(b,n),c=t,l=a;e=s,t=c,a=l;continue}if(\"AuthProbeService2\"===o.a){var d=I(eI,cU,r);if(d.$)return ab(d.a);var f=d.a,s=n,c=I(_,f,t),l=a;e=s,t=c,a=l;continue}var h=o.a,v=I(ei,\"Auth\",h)?I(_,h,a):a,g=I(eI,I(ev,\"service\",cC(ef)),r);if(g.$){var s=n,c=t,l=v;e=s,t=c,a=l;continue}var b=g.a,s=H(b,n),c=t,l=v;e=s,t=c,a=l;continue}var s=H(i.a,n),c=t,l=a;e=s,t=c,a=l;continue}}),U([e]),B,B);return t.$?nv(aq(t.a)):a2(t.a)},ef),cG=p(function(e,t){for(;;)if(!t.b)return am;else{var a=t.a,r=t.b;if(e(a))return ap(a);t=r;continue}}),cj=function(e){return!e},cW=function(e){return!!e.$},cZ=m(function(e,t,a){var r,n=cw(a.s),i=cE(a),o=I(nU,\"Image\",I(n_,cu(e),a.dN)),u=ul(a.fl),s=cW(I(cG,function(e){return!e.eJ},t)),c=M(ap(a),nM(t)),l=!a.eJ||s&&c;return{c6:(r=I(eI,cF,I(sG,a3,a.gA))).$?{$:2,a:aq(r.a)}:{$:1,a:r.a},s:n,bN:l,aD:u,dN:o,b3:n,be:i,cV:n}}),cK=p(function(e,t){var a=I(rl,I(cZ,e,t.cy),t.cy);if(ul(a))return am;var r=I(cI,a,t),n=I(nU,\"\",I(n_,function(e){return e.be},nM(I(iS,function(e){return e.bN},a))));return ap({c5:ci(t),c7:t.s,ey:n,dd:t.dd,cy:a,dN:cs(t),be:r,dz:t.dz})}),cX=p(function(e,t){return e(t.b)}),cY=cX(function(e){return e.eh}),cJ=p(function(e,t){return I(nr,cK(e),cY(t))}),cQ=cX(function(e){return e.gT}),c0=function(e){var t=I(cG,function(e){return e.bN},e.cy);return t.$?nM(e.cy):ap(t.a)},c1=p(function(e,t){return q(t,{aa:am,ag:am,e:rC,u:rC,E:rC,Z:B,ap:si(I(rl,function(e){return{a:e.s,b:e}},e))})}),c2=function(e){return e.b},c4=p(function(e,t){return I(n_,aX,nM(I(iS,I(rX,c2,e),I(a$,n7,t))))}),c3=function(e){return{$:1,a:e}},c6=function(e){return{$:2,a:e}},c5=nb(U([I(ew,function(e){return{$:0,a:e}},el),I(em,function(e){switch(e){case\"canvasId\":return I(ew,c3,I(ev,\"value\",eh));case\"label\":return I(ew,c6,I(ev,\"value\",eh));default:return nv(\"Unsupported initial page selector\")}},I(ev,\"by\",eh))])),c8=function(e){return e.toLowerCase()},c7=p(function(e,t){var a=I(nD,I(rX,eI(c5),sQ),e);if(a.$)return 0;switch(a.a.$){case 0:var r=a.a.a;return r>=0&&0>O(r,aI(t))?r:0;case 1:var n=a.a.a;return I(nU,0,I(c4,function(e){return M(e.c7,n)},t));default:var i=a.a.a;return I(nU,0,I(c4,function(e){return M(c8(e.dN),c8(i))},t))}}),c9=cX(function(e){return e.fZ}),le=cX(function(e){return e.dP}),lt=cX(function(e){return e.e9}),la=p(function(e,t){switch(t){case 2:var a=!ul(le(e)),r=I(nU,!1,I(n_,I(rX,ul,cj),c9(e)));return a||r?2:1;case 3:return I(nU,!1,I(n_,I(rX,ul,cj),lt(e)))?3:1;default:return 1}}),lr=cX(function(e){return e.gS}),ln=function(e){switch(e){case 0:case 2:default:return\"ltr\";case 1:return\"rtl\"}},li=e1(\"zoomLevelUpdated\",eT),lo=w(function(e,t,a,r){var n,i=lr(r),o=I(cJ,a.en,r),u=I(nr,I(rX,c0,n_(function(e){return{aD:e.aD,b3:e.b3,aK:e.cV}})),o),s=(n=cQ(r)).$?I(iB,7,n.a):!n.a,c=I(rl,function(e){return e.c5},o),l=1===aI(o),b=!l&&(s||1===i),d=l?0:+!!s,f=I(cn,d,b),h=I(c7,t,o),v=ln(i),g=si(I(a$,p(function(e,t){return{a:t.s,b:e}}),cY(r))),m=I(nU,rC,I(n_,ca(g),lt(r))),w=I(la,r,a._),x=a.B?w:0,y=I(rl,function(e){return{c6:e.c6,s:e.b3,aD:e.aD,aK:e.cV}},I(iM,function(e){return e.cy},o));return{a:q(a,{c6:I(c1,y,r$),dE:am,ez:uS,eE:!ul(u),de:am,X:!1,cH:!1,aH:o,e8:m,bY:{$:2,a:r},R:ul(o)?am:ap(h),b$:b,_:w,B:x,b8:d}),b:eX(U([sK({dL:h,dZ:e,d6:u}),sZ(I(nr,a3,I(a$,p(function(e,t){return I(n_,function(a){return{c7:t.c7,dd:t.dd,cy:I(rl,function(e){return{s:e.s,bN:e.bN,dN:e.dN}},t.cy),eK:e,dN:t.dN,e3:{s:a.s,bN:a.bN,dN:a.dN},dz:t.dz}},c0(t))}),o))),sF(am),sj(c),sW(I(rl,function(e){return e.dN},o)),li(1),cr({eo:v,eT:f})]))}}),lu={$:6},ls=p(function(e,t){return rv(I(ez,I(n$,I(n$,eM,e),ab),I(eN,I(n$,I(n$,eM,e),av),t)))}),lc=function(e){return t1(e,function(e){var t=e.getBoundingClientRect(),a=tJ.pageXOffset,r=tJ.pageYOffset;return{fi:t2(),d8:{fz:a,d9:r,dz:tY.documentElement.clientWidth,dd:tY.documentElement.clientHeight},er:{fz:a+t.left,d9:r+t.top,dz:t.width,dd:t.height}}})},ll=w(function(e,t,a,r){return I(eN,function(t){return I(eN,function(a){return I(eN,function(r){return eM(C(e,t,a,r))},r)},a)},t)}),lb=eX(B),ld=p(function(e,t){if(!e)return lb;var a=I(eN,function(e){var a=\"thumb-\"+es(t);return I(eN,a3,R(ll,m(function(e,t,a){return C(t4,\"thumbs\",0,I(aZ,0,e.er.d9-t.er.d9+a.d8.d9))}),lc(a),lc(\"thumbs\"),t1(\"thumbs\",function(e){return{fi:{dz:e.scrollWidth,dd:e.scrollHeight},d8:{fz:e.scrollLeft,d9:e.scrollTop,dz:e.clientWidth,dd:e.clientHeight}}})))},eF(0));return I(ls,function(e){return lu},a)}),lf=p(function(e,t){for(;;)if(e<=0)return t;else{if(!t.b)return t;t.a,e-=1,t=t.b;continue}}),lh=p(function(e,t){return nM(I(lf,e,t))}),lv=function(e){return e.cH?I(nU,lb,I(nD,function(t){return I(n_,function(a){return sF(ap({c5:t.c5,ez:e.ez,aD:a.aD,b3:a.b3,cV:a.cV}))},nM(I(lf,e.aG,t.cy)))},I(nD,function(t){return I(lh,t,e.aH)},e.R))):lb},lg=m(function(e,t,a){var r=q(a,{aG:0,R:ap(t),bf:e});return{a:r,b:eX(U([I(ld,1===r.B,t),lv(r)]))}}),lp=e1(\"scrollToIndex\",eT),lm=p(function(e,t){var a=t.R;if(a.$)return{a:t,b:lb};var r=a.a+e;if(r>=0&&0>O(r,aI(t.aH))){var n=q(t,{aG:0,R:ap(r),bf:!1});return{a:n,b:eX(U([lp(r),I(ld,1===n.B,r),lv(n)]))}}return{a:t,b:lb}}),lw=function(e){switch(e.$){case 0:return\"Bad URL: \"+e.a;case 1:return\"Request timed out.\";case 2:return\"Network error. The resource may be unreachable or blocked by CORS.\";case 3:return\"HTTP error: \"+es(e.a);default:return\"Invalid IIIF response body. URL did not return a valid IIIF Manifest or Collection JSON.\"}},lx=p(function(e,t){return C(rB,e,0,t)}),ly=e1(\"layoutModeUpdated\",eT),lE=p(function(e,t){return!I(rO,e,t).$}),lI=p(function(e,t){return I(lE,e,t)}),lC=p(function(e,t){return I(rZ,e,t)}),lR=m(function(e,t,a){var r=p(function(e,t){for(;;)if(!t.b)return e;else{var a=t.a,r=t.b;e=q(a.t,{aE:H(az(I(_,oI(e),a.ah)),a.Q)}),t=r;continue}}),n=p(function(e,t){if(!t.b)return e;var a=t.a,r=t.b;return I(i,{ah:I(_,oI(e),a.ah),t:a.t,Q:a.Q},r)}),i=p(function(a,o){if(M(a.t.s,e))return I(r,t,o);var u=a.Q;if(!u.b)return I(n,q(a.t,{aE:az(a.ah)}),o);var s=u.a,c=u.b;if(s.$)return I(i,q(a,{ah:I(_,s,a.ah),Q:c}),o);var l=s.a;return I(i,{ah:B,t:l,Q:l.aE},I(_,{ah:a.ah,t:a.t,Q:c},o))});return I(i,{ah:B,t:a,Q:a.aE},B)}),l$=nb(U([I(em,function(e){return I(nh,np,e)?I(ew,nx(2),uR):I(nh,ng,e)?I(ew,nx(1),oj):nv(\"Unknown IIIF Version: \"+e)},I(ev,\"@context\",eh)),I(em,function(e){return I(nd,nh(np),e)?I(ew,nx(2),uR):I(nd,nh(ng),e)?I(ew,nx(1),oj):nv(\"Unknown IIIF Version in context values: \"+I(aw,\", \",e))},I(ev,\"@context\",nl(eh)))])),lL=m(function(e,t,a){return C(nc,t,I(r4,e,l$),a)}),lA=function(e){return q(e,{aM:0,bl:!1,aN:0,ax:!1,aO:8,aP:0,bm:!1,aQ:0,bn:!1,aR:0,bo:!1,aS:0,ay:!1,aT:8,aU:0,bp:!1,aV:0,bq:!1,aW:0,br:!1,aX:0,az:!1,aY:8,aZ:0,bs:!1,a_:0,bt:!1})},lS=e1(\"resourceLoadFailed\",function(e){return sU(U([{a:\"message\",b:eT(e.ac)},{a:\"requestId\",b:eT(e.fd)},{a:\"url\",b:eT(e.aK)}]))}),lT=e1(\"resourceLoadSucceeded\",function(e){return sU(U([{a:\"hasPages\",b:eT(e.ct)},{a:\"pageIndex\",b:eT(e.cG)},{a:\"requestId\",b:eT(e.fd)},{a:\"url\",b:eT(e.aK)}]))}),lk=e1(\"authHttpCancelled\",eT),lM=e1(\"authHttpRequested\",a3),lP=e1(\"authSourcesInvalidated\",sG(eT)),lN=e1(\"authStorageRequested\",a3),lz=e1(\"authTokenFrameCancelled\",eT),lO=e1(\"authTokenFrameRequested\",a3),lV=e1(\"tileSourceResolutionFailed\",function(e){return sU(U([{a:\"message\",b:eT(e.ac)},{a:\"requestId\",b:eT(e.fd)}]))}),lq=e1(\"tileSourceResolutionSucceeded\",a3),lH=function(e){switch(e.$){case 0:var t=e.a,a=e.b,r=e.c,n=e.d;return lM(sU(U([{a:\"id\",b:eT(t)},{a:\"url\",b:eT(a)},{a:\"bearer\",b:I(nU,null,I(n_,eT,r))},{a:\"withCredentials\",b:eT(n)}])));case 1:var t=e.a;return lk(t);case 2:var i=e.a,o=e.b;return lN(sU(U([{a:\"action\",b:eT(\"read\")},{a:\"flowId\",b:eT(i)},{a:\"key\",b:eT(o)}])));case 3:var i=e.a,o=e.b,u=e.c,s=e.d;return lN(sU(U([{a:\"action\",b:eT(\"write\")},{a:\"flowId\",b:eT(i)},{a:\"key\",b:eT(o)},{a:\"accessToken\",b:eT(u)},{a:\"expiresAt\",b:eT(s)}])));case 4:var i=e.a,o=e.b;return lN(sU(U([{a:\"action\",b:eT(\"remove\")},{a:\"flowId\",b:eT(i)},{a:\"key\",b:eT(o)}])));case 5:var i=e.a,a=e.b,c=e.c;return lO(sU(U([{a:\"flowId\",b:eT(i)},{a:\"url\",b:eT(a)},{a:\"messageId\",b:eT(c)}])));case 6:var i=e.a;return lz(i);case 7:return lP(e.a);case 8:var l=e.a;return lq(sU(U([{a:\"requestId\",b:eT(l.fd)},{a:\"url\",b:eT(l.aK)},{a:\"isStatic\",b:eT(l.aD)},{a:\"credentialed\",b:eT(l.ek)},{a:\"infoJson\",b:I(nU,null,l.aC)}])));default:var b=e.a;return lV({ac:e.b,fd:b})}},lB=e1(\"saveFilteredImage\",function(e){return null}),lD=e1(\"setFullscreen\",eT),l_=function(e){return{$:1,a:e}},lU=function(e){return{$:6,a:e}},lF=p(function(e,t){return{$:4,a:e,b:t}}),lG=m(function(e,t,a){return{$:5,a:e,b:t,c:a}}),lj=p(function(e,t){var a=t.a;return{a:a,b:H(t.b,e)}}),lW=p(function(e,t){return C(so,m(function(e,t,a){return I(rZ,e,a)}),e,t)}),lZ=p(function(e,t){return C(so,m(function(t,a,r){return I(e,t,a)?C(rB,t,a,r):r}),rC,t)}),lK=p(function(e,t){if(-2===t.$)return rI;var a=t.a,r=t.b,n=t.c,i=t.d,o=t.e;return $(rV,a,r,I(e,r,n),I(lK,e,i),I(lK,e,o))}),lX=m(function(e,t,a){var r=t.o.T.s;if(r.$)return a;var n=r.a;return q(a,{aa:ap(e),ag:ap({ea:n,dC:t.o.T.dC,at:t.cL,da:e,dK:t.o.T.dK,dR:t.o.T.dR}),Z:I(iS,z(e),a.Z)})}),lY=function(e){for(;;){var t=e.Z;if(!t.b)return e;var a=t.a,r=q(e,{Z:t.b}),n=I(rO,a,e.e);if(n.$){var i=r;e=i;continue}var o=n.a;if(!o.o.T.s.$)return C(lX,a,o,r);var i=r;e=i}},lJ=p(function(e,t){var a,r=q(t,{Z:I(iS,z(e),t.Z)}),n=(a=r.ag).$?r:M(a.a.da,e)?q(r,{ag:am}):r;return M(n.aa,ap(e))?lY(q(n,{aa:am})):n}),lQ=p(function(e,t){var a=I(lZ,p(function(e,t){return!ul(t.as)}),I(lK,p(function(t,a){return q(a,{as:I(iS,z(e),a.as)})}),t.e)),r=I(iS,function(e){return!I(lE,e,a)},ao(t.e)),n=I(lZ,p(function(t,a){return a.$?I(iB,a.a,r):M(a.a,e)}),t.u);return{a:C(aE,lJ,q(t,{e:a,u:I(lW,t.u,n),E:I(rZ,e,t.E)}),r),b:H(I(rl,l_,ao(n)),I(rl,lU,r))}}),l0=p(function(e,t){return{$:9,a:e,b:t}}),l1=m(function(e,t,a){return{a:q(a,{E:I(rZ,e,a.E)}),b:U([I(l0,e,t)])}}),l2=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=p(function(e,a){var r=a.a,n=a.b,i=C(l1,e,t,r),o=i.a;return{a:o,b:H(n,i.b)}});return C(aE,i,{a:I(lJ,e,q(a,{e:I(rZ,e,a.e)})),b:U([lU(e)])},n.as)}),l4=p(function(e,t){return I(iB,e,t)?t:H(t,U([e]))}),l3=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;if(n.o.T.s.$)return C(l2,e,\"The active access service has no URL.\",a);var i=q(n,{ao:3,cL:t}),o=q(a,{e:C(rB,e,i,a.e)}),u=a.aa;return u.$?{a:C(lX,e,i,o),b:B}:M(u.a,e)?{a:C(lX,e,i,o),b:B}:{a:q(o,{Z:I(l4,e,o.Z)}),b:B}}),l6=w(function(e,t,a,r){return{a:q(a,{e:C(rK,e,n_(t),a.e)}),b:r}}),l5=m(function(e,t,a){var r=e+\"-\"+es(t.aB+1);return R(l6,e,function(e){return q(e,{ao:5})},a,U([C(lG,e,t.o.cX.s,r)]))}),l8=m(function(e,t,a){for(;;){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=n.dl;if(!i.b)return C(l2,e,t,a);var o=i.a,u=q(n,{o:o,aB:0,cL:am,dl:i.b}),s=I(lJ,e,q(a,{e:C(rB,e,u,a.e)}));switch(o.T.bb){case 0:return I(lj,U([lU(e)]),C(l3,e,am,s));case 1:a=s;continue;default:return I(lj,U([lU(e)]),C(l5,e,u,s))}}}),l7=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;if(n.aB+1>=2)return C(l2,e,t,a);var i=q(a,{e:C(rB,e,q(n,{aB:n.aB+1}),a.e)});return I(lj,U([lU(e)]),C(l3,e,ap(t),i))}),l9=m(function(e,t,a){var r=I(rO,e,a.e);return r.$?{a:a,b:B}:0===r.a.o.T.bb?C(l7,e,t,a):C(l8,e,t,a)}),be=w(function(e,t,a,r){return{$:0,a:e,b:t,c:a,d:r}}),bt=p(function(e,t){return{$:1,a:e,b:t}}),ba=p(function(e,t){var a=\"auth-http-\"+es(t.cD);return{a:a,b:q(t,{cD:t.cD+1,u:C(rB,a,e,t.u)})}}),br=w(function(e,t,a,r){var n=I(rO,e,r.E);if(n.$)return{a:r,b:B};var i=n.a,o=I(rO,i.b3,r.ap);if(o.$)return{a:r,b:B};var u=o.a;return{a:q(r,{E:I(rZ,e,r.E)}),b:U([{$:8,a:{ek:t,aC:a.$?i.aC:ap(a.a),aD:u.aD,fd:e,aK:u.aK}}])}}),bn=p(function(e,t){return{$:0,a:e,b:t}}),bi=w(function(e,t,a,r){var n=I(ba,I(bn,e,{$:1,a:t}),r),i=n.a;return{a:n.b,b:U([R(be,i,a.aK,am,t)])}}),bo=m(function(e,t,a){var r=I(rO,e,a.E);if(r.$)return{a:a,b:B};var n=r.a,i=I(rO,n.b3,a.ap);if(i.$)return{a:a,b:B};var o=i.a,u={a:o.aD,b:n.aC};return u.a||1!==u.b.$?R(br,e,t,am,a):(u.b,R(bi,e,t,o,a))}),bu=p(function(e,t){return 1===e.$?t:t+\":\"+es(e.a)}),bs=m(function(e,t,a){return 1===t.$?a:H(a,H(e,t.a))}),bc=function(e){var t=e.e6?\"https://\":\"http://\";return C(bs,\"#\",e.fX,C(bs,\"?\",e.gq,H(I(bu,e.e$,H(t,e.eH)),e.A)))},bl=function(e){var t,a=H(I(iS,function(e){return 2===e.bb},e.b_),I(iS,function(e){return!e.bb},e.b_)),r=I(nU,t=e.s,I(n_,function(e){return bc(q(e,{fX:am,gq:am}))},ro(t)))+\"|\"+I(aw,\"|\",I(nr,function(e){return nM(I(nr,function(t){if(t.$)return am;var a=t.a;return ap(I(nU,\"\",e.s)+\"|\"+a.s)},e.b_))},a));return I(nr,function(t){return I(n_,function(a){return{T:t,aj:r,a6:nM(I(nr,function(e){return e.$?ap(e.a):am},t.b_)),cJ:e,cX:a}},nM(I(nr,function(e){return e.$?am:ap(e.a)},t.b_)))},a)},bb=function(e){return\"Unsupported authorization service: \"+I(aw,\", \",e)+\".\"},bd=function(e){var t=I(iM,function(e){return e.b_},e),a=nM(I(iS,function(e){return 1===e.bb},t));if(a.$)return am;var r=a.a;return ap(\"IIIF Auth 2 '\"+function(){switch(r.bb){case 0:return\"active\";case 1:return\"kiosk\";default:return\"external\"}}()+\"' access is not supported; supported profiles are 'external' and 'active'.\")},bf=function(e){if(!ul(e.c$))return ab(bb(e.c$));var t=I(nU,B,nM(I(iS,I(n$,cj,ul),I(rl,bl,e.cK))));if(!ul(t))return av(t);var a=bd(e.cK);return a.$?ab(\"No supported Auth 2 external or active access service was provided.\"):ab(a.a)},bh=w(function(e,t,a,r){var n=q(r,{E:C(rK,e,n_(function(e){return q(e,{aC:a})}),r.E)}),i=bf(t);if(i.$)return C(l1,e,i.a,n);if(!i.a.b)return C(l1,e,\"No supported Auth 2 external or active access service was provided.\",n);var o=i.a,u=o.a,s=o.b,c=I(rO,u.aj,n.au);if(c.$){var l=I(rO,u.aj,n.e);if(l.$){var b={o:u,aB:0,ao:0,cL:am,dl:s,as:U([e])},d=q(n,{e:C(rB,u.aj,b,n.e)}),f=I(ba,I(bt,u.aj,am),d),h=f.a;return{a:f.b,b:U([R(be,h,u.cJ.s,am,!1)])}}var b=l.a;return{a:q(n,{e:C(rB,u.aj,q(b,{as:I(_,e,b.as)}),n.e)}),b:B}}return c.a?(c.a,C(bo,e,!0,n)):(c.a,C(bo,e,!1,n))}),bv=w(function(e,t,a,r){var n=I(eE,ef,a);if(n.$){var i=n.a;return C(l1,e,aq(i),r)}var o=n.a,u=I(eI,cF,o);if(u.$){var i=u.a;return C(l1,e,aq(i),r)}var s=u.a;return ul(s.cK)&&ul(s.c$)?t>=200&&t<300?R(br,e,!1,ap(o),r):C(l1,e,\"Image information request failed (\"+es(t)+\").\",r):R(bh,e,s,ap(o),r)}),bg=p(function(e,t){return{$:2,a:e,b:t}}),bp=function(e){return C(aE,lx,rC,e)},bm=p(function(e,t){return $(rV,1,e,t,rI,rI)}),bw=function(e){return e.aj},bx=p(function(e,t){return I(sl,e,t)}),by=p(function(e,t){var a=e.o.a6;if(a.$)return t;var r=a.a,n=bp(I(nr,function(e){return I(n_,function(e){return e.b3},I(rO,e,t.E))},e.as)),i=I(nU,\"\",e.o.T.s)+(\"|\"+e.o.cX.s)+\"|\"+r.s,o=bw(e.o);return q(t,{af:C(rK,i,function(e){if(e.$)return ap({at:am,a2:I(bm,o,0),s:i,a6:r,cS:n});var t=e.a;return ap(q(t,{at:am,a2:I(lx,o,t.a2),cS:I(bx,n,t.cS)}))},t.af)})}),bE=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a,i=q(a,{au:C(rB,n.o.aj,+!!t,a.au)}),o=t?I(by,n,i):i;return C(aE,p(function(e,a){var r=a.a,n=a.b,i=I(rO,e,r.E);if(i.$)return{a:r,b:n};var o=i.a,u=I(rO,o.b3,r.ap);if(u.$)return{a:r,b:n};var s=u.a,c={a:s.aD,b:o.aC};if(c.a||1!==c.b.$){var l=R(br,e,t,am,r),b=l.a,d=l.b;return{a:b,b:H(n,d)}}c.b;var f=R(bi,e,t,s,r),b=f.a,d=f.b;return{a:b,b:H(n,d)}}),{a:I(lJ,e,q(o,{e:I(rZ,e,o.e)})),b:U([lU(e)])},n.as)}),bI=m(function(e,t,a){var r=I(rO,e,a.e);if(r.$)return{a:a,b:B};var n=r.a;switch(n.o.T.bb){case 0:return C(l3,e,am,a);case 1:return C(l8,e,t,a);default:return C(l5,e,n,a)}}),bC=function(e){return\"Access was not granted (\"+es(e)+\").\"},bR=I(em,function(e){return e>=100&&e<=599?a2(e):nv(\"Expected an HTTP status code between 100 and 599\")},el),b$=E(function(e,t,a,r,n,i,o){return{k:e,dK:n,f3:o,dR:i,du:a,gG:r,gP:t}}),bL=\"http://iiif.io/api/auth/2/context.json\",bA=nb(U([I(ev,\"@context\",eh),I(ev,\"context\",eh)])),bS=I(em,function(e){return I(nh,bL,e)?a2(e):nv(\"Expected \"+bL+\" but got \"+e)},bA),bT=C(ex,p(function(e,t){return{s:e,gP:t}}),ck,cS),bk=m(function(e,t,a){return I(em,function(r){var n=I(eI,I(ev,e,ef),r);if(n.$)return a2(am);var i=n.a;if(!t)return nv(e+\" is not permitted for this probe status\");var o=I(eI,a,i);return o.$?nv(aq(o.a)):a2(ap(o.a))},ef)}),bM=I(em,function(e){return I(nq,C(bk,\"location\",e>=300&&e<=399,bT),I(nq,I(cP,\"note\",i1),I(nq,I(cP,\"heading\",i1),I(nq,I(ew,nU(B),C(bk,\"substitute\",401===e||403===e,cC(ef))),I(nq,a2(e),I(nq,cT(\"AuthProbeResult2\"),I(nq,bS,a2(b$))))))))},I(ev,\"status\",bR)),bP=w(function(e,t,a,r){var n=I(eE,bM,a);if(n.$)return C(l9,e,aq(n.a),r);var i=n.a;if(!M(i.f3,am)||!ul(i.gG))return C(l2,e,\"IIIF Auth redirect, substitute, and tiered access flows are not supported.\",r);if(200===i.du)return C(bE,e,!M(t,am),r);var o=I(rO,e,r.e);if(o.$)return{a:r,b:B};var u=o.a;switch(u.ao){case 0:return{a:q(r,{e:C(rB,e,q(u,{ao:1}),r.e)}),b:U([I(bg,e,bw(u.o))])};case 2:return I(lj,U([I(lF,e,bw(u.o))]),C(bI,e,bC(i.du),r));case 6:return I(lj,U([I(lF,e,bw(u.o))]),C(l9,e,bC(i.du),r));default:return C(l7,e,bC(i.du),r)}}),bN=x(function(e,t,a,r,n){if(!(a>=200)||!(a<300))return C(l1,e,\"Image information request failed (\"+es(a)+\").\",n);var i=I(eE,ef,r);return i.$?C(l1,e,aq(i.a),n):R(br,e,t,ap(i.a),n)}),bz=w(function(e,t,a,r){var n=I(rO,e,r.u);if(n.$)return{a:r,b:B};if(n.a.$){var i=n.a,o=i.a,u=i.b,s=q(r,{u:I(rZ,e,r.u)});return R(bP,o,u,a,s)}var c=n.a,l=c.a,b=c.b,s=q(r,{u:I(rZ,e,r.u)});return b.$?$(bN,l,b.a,t,a,s):R(bv,l,t,a,s)}),bO=m(function(e,t,a){return C(so,m(function(t,a,r){return I(e,t,r)}),t,a)}),bV=function(e){var t=e.c6;return 1===t.$?I(n_,function(e){return e.aj},I(nD,nM,sQ(bf(t.a)))):am},bq=function(e){return C(an,m(function(e,t,a){return I(_,t,a)}),B,e)},bH=p(function(e,t){return bp(I(nr,function(t){return I(nD,function(a){return I(lI,a,e)?ap(t.s):am},bV(t))},bq(t)))}),bB=p(function(e,t){var a=I(rO,e,t.af);if(a.$)return{a:t,b:B};var r=a.a,n=I(bH,r.a2,t.ap),i=au(I(bx,r.cS,n));return{a:q(t,{au:C(bO,rZ,t.au,r.a2),af:I(rZ,e,t.af)}),b:H(I(rl,lF(e),au(r.a2)),U([{$:7,a:i}]))}}),bD=m(function(e,t,a){var r=I(rO,e,a.u);return r.$?{a:a,b:B}:r.a.$?C(l9,r.a.a,t,q(a,{u:I(rZ,e,a.u)})):C(l1,r.a.a,t,q(a,{u:I(rZ,e,a.u)}))}),b_={$:0},bU=m(function(e,t,a){var r=I(ba,I(bn,e,b_),a),n=r.a;return{a:r.b,b:U([R(be,n,t.aK,am,!1)])}}),bF=m(function(e,t,a){var r=I(rO,t,a.ap);if(r.$)return{a:a,b:U([I(l0,e,\"Unknown image source.\")])};var n=r.a,i=q(a,{E:C(rB,e,{aC:am,b3:t},a.E)}),o=n.c6;switch(o.$){case 0:return n.aD?R(br,e,!1,am,i):C(bU,e,n,i);case 1:var u=o.a;return ul(u.cK)?ul(u.c$)?n.aD?R(br,e,!1,am,i):C(bU,e,n,i):C(l1,e,bb(u.c$),i):R(bh,e,u,am,i);default:return C(l1,e,o.a,i)}}),bG=C(ex,p(function(e,t){return{bi:e,ex:t}}),I(ev,\"accessToken\",eh),nb(U([I(ew,ap,I(ev,\"expiresAt\",ed)),a2(am)]))),bj=w(function(e,t,a,r){var n={a:I(rO,e,r.e),b:a};if(n.a.$)return{a:r,b:B};if(n.b.$)return n.b,C(bI,e,\"No cached token was found.\",r);var i=n.a.a,o=I(eI,bG,n.b.a);if(o.$)return I(lj,U([I(lF,e,bw(i.o))]),C(bI,e,\"The cached token is invalid.\",r));var u=o.a;if(!I(nU,!0,I(n_,function(e){return 0>O(t,e)},u.ex)))return I(lj,U([I(lF,e,bw(i.o))]),C(bI,e,\"The cached token has expired.\",r));var s=I(ba,I(bt,e,ap(u.bi)),r),c=s.a,l=s.b;return{a:q(l,{e:C(rB,e,q(i,{ao:2}),l.e)}),b:U([R(be,c,i.o.cJ.s,ap(u.bi),!1)])}}),bW=w(function(e,t,a,r){return{$:3,a:e,b:t,c:a,d:r}}),bZ=x(function(e,t,a,r,n){return{bi:a,k:e,fS:r,eS:n,gP:t}}),bK=I(em,function(e){return e>0?a2(e):nv(\"Expected a positive integer\")},el),bX=C(nk,\"messageId\",eh,I(nq,I(cP,\"expiresIn\",bK),C(nk,\"accessToken\",eh,I(nq,cT(\"AuthAccessToken2\"),I(nq,bS,a2(bZ)))))),bY=y(function(e,t,a,r,n,i){return{k:e,dK:r,eS:i,dR:n,bb:a,gP:t}}),bJ=I(em,function(e){switch(e){case\"expiredAspect\":return a2(4);case\"invalidAspect\":return a2(3);case\"invalidOrigin\":return a2(1);case\"invalidRequest\":return a2(0);case\"missingAspect\":return a2(2);case\"unavailable\":return a2(5);default:return nv(\"Unsupported Auth 2 token error profile: \"+e)}},eh),bQ=C(nk,\"messageId\",eh,I(nq,I(cP,\"note\",i1),I(nq,I(cP,\"heading\",i1),C(nk,\"profile\",bJ,I(nq,cT(\"AuthAccessTokenError2\"),I(nq,bS,a2(bY))))))),b0=w(function(e,t,a,r){var n=I(rO,e,r.e);if(n.$)return{a:r,b:B};var i=n.a,o=I(eI,bX,a);if(o.$){var u=o.a;return I(eI,bQ,a).$?I(lj,U([I(lF,e,bw(i.o))]),C(l9,e,aq(u),r)):I(lj,U([I(lF,e,bw(i.o))]),C(l9,e,\"The token service refused access.\",r))}var s=o.a,c=t+1e3*I(nU,300,s.fS),l=I(ba,I(bt,e,ap(s.bi)),r),b=l.a,d=l.b;return{a:q(d,{e:C(rB,e,q(i,{ao:6}),d.e)}),b:U([R(bW,e,bw(i.o),s.bi,c),R(be,b,i.o.cJ.s,ap(s.bi),!1),lU(e)])}}),b1=p(function(e,t){if(t.c8)return{a:t,b:B};switch(e.$){case 0:var a=e.a;return C(bF,a,e.b,t);case 1:var a=e.a;return I(lQ,a,t);case 2:var r=e.a;return R(bz,r,e.b,e.c,t);case 3:var r=e.a,n=e.b;return C(bD,r,n,t);case 4:var i=e.a,o=e.b,u=e.c;return R(bj,i,o,u,t);case 5:var i=e.a;return M(t.aa,ap(i))?R(l6,i,function(e){return q(e,{ao:4})},q(t,{ag:am}),B):{a:t,b:B};case 6:var i=e.a;return M(t.aa,ap(i))?C(l7,i,\"The sign-in window was blocked. Allow popups and retry.\",t):{a:t,b:B};case 7:var i=e.a,s={a:t.aa,b:I(rO,i,t.e)};if(s.a.$||s.b.$)return{a:t,b:B};var c=s.a.a,l=s.b.a;if(M(c,i)){var b=i+\"-\"+es(l.aB+1);return R(l6,i,function(e){return q(e,{ao:5})},t,U([C(lG,i,l.o.cX.s,b)]))}return{a:t,b:B};case 8:var i=e.a,o=e.b,u=e.c;return R(b0,i,o,u,t);case 9:var i=e.a,n=e.b;return I(lj,function(){var e=I(rO,i,t.e);if(e.$)return B;var a=e.a;return U([I(lF,i,bw(a.o))])}(),C(l9,i,n,t));case 10:var d=e.a;return I(bB,d,t);case 11:var d=e.a;return{a:q(t,{af:C(rK,d,n_(function(e){return q(e,{at:ap(\"The logout window was blocked. Allow popups and try again.\")})}),t.af)}),b:B};case 12:return{a:t,b:B};case 13:var f=t.ag;if(!f.$)return C(l2,f.a.da,\"Authorization was cancelled.\",t);return{a:t,b:B};default:var h=H(I(rl,l_,ao(t.u)),I(rl,lU,ao(t.e)));return{a:q(t,{aa:am,ag:am,c8:!0,e:rC,u:rC,E:rC,Z:B,af:rC}),b:h}}}),b2=p(function(e,t){return q(t,{ez:e(t.ez)})}),b4=e1(\"zoomBy\",eT),b3=p(function(e,t){return{a:e,b:b4(t)}}),b6=function(e){var t=e.B;return t||e._},b5=p(function(e,t){switch(e.$){case 0:var a=I(b1,e.a,t.c6),r=a.a,n=a.b;return{a:q(t,{c6:r}),b:eX(I(rl,lH,n))};case 1:var i=e.a,o=function(){switch(i){case\"spread\":return{a:1,b:!1};case\"spread-shift\":return{a:1,b:!0};default:return{a:0,b:!1}}}(),u=o.a,s=o.b;return{a:q(t,{b$:s,b8:u}),b:ly(I(cn,u,s))};case 2:var c=e.a,l=e.b;return{a:q(t,{dM:!0,X:!0,ba:ap(c)}),b:C(uA,I(sk,c,l),t.aw,l)};case 3:var b=e.a;return{a:q(t,{db:b}),b:lb};case 4:var d=e.a;return C(lg,!1,d,t);case 5:var d=e.a;return C(lg,!0,d,t);case 6:return{a:q(t,{bf:!1}),b:lb};case 7:var f=e.a,h=e.b,v=t.I;if(2===v.$){var g=v.a,p=I(lC,f,g.ak);if(h.$)return{a:q(t,{I:sL(q(g,{ak:p}))}),b:lb};var m=h.a;if(1===m.$){var w=m.a.b,x=g.t,y=x.a,E=x.b,$=q(g,{t:I(nw,y,C(lR,f,w,E)),cC:I(lx,f,g.cC),ak:p});return{a:q(t,{I:sL($)}),b:lb}}return{a:q(t,{I:sL(q(g,{ak:p}))}),b:lb}}return{a:t,b:lb};case 8:var L=e.a,h=e.b,A=t.I;if(2===A.$){var g=A.a;if(M(g.dq,ap(L)))if(h.$){var S=h.a;return{a:q(t,{X:!1,bY:{$:3,a:lw(S)}}),b:lb}}else{var T=h.a;return R(lo,\"collection-\"+L,am,t,T)};}return{a:t,b:lb};case 9:var h=e.a;if(t.dM)return{a:t,b:lb};if(h.$){var S=h.a;return{a:q(t,{X:!1,I:{$:3,a:lw(S)}}),b:lS({ac:lw(S),fd:\"initial\",aK:t.a7})}}var m=h.a;switch(m.$){case 0:var T=m.a,k=R(lo,\"initial\",ap(t.cz),t,T),P=k.a,N=k.b;return{a:q(P,{a0:!1,I:sA(T)}),b:eX(U([N,lT({ct:!ul(P.aH),cG:I(nU,0,P.R),fd:\"initial\",aK:t.a7})]))};case 1:var z=m.a,V=z.a,H=z.b;return{a:q(t,{c6:r$,a0:!0,X:!1,aH:B,I:sL({t:I(nw,V,H),bH:rC,cC:rC,ak:rC,dq:am}),bY:s$,R:am}),b:eX(U([sX(\"initial\"),lT({ct:!1,cG:0,fd:\"initial\",aK:t.a7})]))};default:return{a:q(t,{X:!1}),b:lS({ac:\"URL did not return a supported IIIF resource.\",fd:\"initial\",aK:t.a7})}}case 10:var c=e.a,l=e.b,h=e.c;if(M(t.ba,ap(c)))if(h.$){var S=h.a;return{a:q(t,{X:!1,ba:am}),b:lS({ac:lw(S),fd:c,aK:l})}}else{var m=h.a;switch(m.$){case 0:var T=m.a,D=R(lo,c,am,t,T),P=D.a,N=D.b;return{a:q(P,{a0:!1,a7:l,ba:am,I:sA(T)}),b:eX(U([N,lT({ct:!ul(P.aH),cG:0,fd:c,aK:l})]))};case 1:var _=m.a,V=_.a,H=_.b;return{a:q(t,{c6:r$,a0:!0,X:!1,a7:l,aH:B,ba:am,I:sL({t:I(nw,V,H),bH:rC,cC:rC,ak:rC,dq:am}),bY:s$,R:am}),b:eX(U([sX(c),lT({ct:!1,cG:0,fd:c,aK:l})]))};default:return{a:q(t,{X:!1,ba:am}),b:lS({ac:\"URL did not return a supported IIIF resource.\",fd:c,aK:l})}}}return{a:t,b:lb};case 11:var F=s5(t.cn);if(F.$){var S=F.a;return{a:q(t,{bJ:ap(S)}),b:lb}}var G=F.a,j=s7(G),P=q(t,{ez:G,bJ:am,cn:j});return{a:P,b:lv(P)};case 12:var W,Z=e.a,K=(W=t.de).$?ap(Z):ap(W.a);return{a:q(t,{dE:ap(Z),de:K}),b:lb};case 13:return{a:q(t,{dO:!1}),b:lb};case 14:var P=q(t,{ez:uS,di:!1,aG:0,cH:!1});return{a:P,b:sF(am)};case 15:var f=e.a,X=t.I;if(2===X.$){var g=X.a,Y=I(lI,f,g.bH)?I(lC,f,g.bH):I(lx,f,g.bH),E=g.t.b,J=I(nU,!0,I(n_,I(rX,function(e){return e.aE},ul),I(s9,f,E)))&&!I(lI,f,g.cC)&&!I(lI,f,g.ak),p=J?I(lx,f,g.ak):g.ak,$=q(g,{bH:Y,ak:p});return{a:q(t,{I:sL($)}),b:J?C(uA,sS(f),t.aw,f):lb}}return{a:t,b:lb};case 16:var L=e.a,Q=e.b,ee=t.I;if(2===ee.$){var g=ee.a;return{a:q(t,{X:!0,I:sL(q(g,{dq:ap(L)})),bY:rm}),b:C(lL,sT(L),t.aw,Q)}}return{a:t,b:lb};case 17:return{a:q(t,{dO:!0}),b:lb};case 18:var P=q(t,{aG:0,cH:!0,dj:!0,B:b6(t)});return{a:P,b:lv(P)};case 19:var d=e.a,P=q(t,{aG:d});return{a:P,b:lv(P)};case 20:return I(lm,1,t);case 21:return I(lm,-1,t);case 22:var et=e.a,ea=et.$?lb:lp(et.a),P=q(t,{cI:et,R:et.$?t.R:ap(et.a),B:b6(t),bf:!0});return{a:P,b:eX(U([ea,lv(P)]))};case 23:return{a:t,b:lB(0)};case 24:var d=e.a,P=q(t,{aG:0,R:ap(d),B:b6(t),bf:!1});return{a:P,b:eX(U([lp(d),I(ld,1===P.B,d),lv(P)]))};case 25:return I(b3,t,1.6);case 26:return I(b3,t,.625);case 27:var j=s7(t.ez);return{a:q(t,{bJ:am,cn:j}),b:sY(j)};case 28:var er=e.a,en=t.ch;if(en.$)return{a:t,b:lb};var ei=en.a,eo=C(rE,240,480,ei.ds+(er-ei.dt));return{a:q(t,{dB:eo}),b:lb};case 29:var er=e.a,eu=t.cO;if(eu.$)return{a:t,b:lb};var ei=eu.a,es=ei.dt-er,eo=C(rE,220,520,ei.ds+es);return{a:q(t,{b0:eo}),b:lb};case 30:return{a:q(t,{ch:am}),b:lb};case 31:return{a:q(t,{cO:am}),b:lb};case 32:var P=q(t,{ez:uS,bJ:am});return{a:P,b:lv(P)};case 33:var P=I(b2,lA,t);return{a:P,b:lv(P)};case 34:return{a:q(t,{dD:0}),b:lb};case 35:return{a:q(t,{dD:1}),b:lb};case 36:var er=e.a;return{a:q(t,{ch:ap({ds:t.dB,dt:er})}),b:lb};case 37:var er=e.a;return{a:q(t,{cO:ap({ds:t.b0,dt:er})}),b:lb};case 38:return{a:q(t,{_:3,B:3}),b:lb};case 39:if(2===t.I.$)return{a:q(t,{a0:!t.a0}),b:lb};return{a:t,b:lb};case 40:var ec=e.a,b=e.b,P=I(b2,I(sM,ec,b),t);return{a:P,b:lv(P)};case 41:var el=e.a,eb=I(lI,el,t.cm)?I(lC,el,t.cm):I(lx,el,t.cm);return{a:q(t,{cm:eb}),b:lb};case 42:var ed=!t.db;return{a:q(t,{db:ed}),b:lD(ed)};case 43:return{a:q(t,{_:2,B:2}),b:lb};case 44:return{a:q(t,{di:!t.di}),b:lb};case 45:return{a:q(t,{dj:!t.dj}),b:lb};case 46:var ef=e.a;return{a:q(t,{d$:M(t.d$,ap(ef))?am:ap(ef)}),b:lb};case 47:if(t.b8){var s=!t.b$;return{a:q(t,{b$:s}),b:ly(I(cn,1,s))}}return{a:t,b:lb};case 48:return t.df?t.bO?{a:q(t,{bO:!1,B:0}),b:lb}:{a:q(t,{bO:!0,B:t._}),b:lb}:t.B?{a:q(t,{B:0}),b:lb}:{a:q(t,{B:t._}),b:lb};case 49:var eh=function(){var e={a:t.cI,b:t.R};if(e.a.$)if(e.b.$)return lb;else{e.a;var a=e.b.a;return I(ld,!0,a)}var a=e.a.a;return I(ld,!0,a)}(),P=q(t,{_:1,B:1});return{a:q(P,{cI:am,bf:!t.cI.$}),b:eh};case 50:var ev=+!t.b8;return{a:q(t,{b8:ev}),b:ly(I(cn,ev,t.b$))};case 51:var eg=e.a,ep=e.b,P=I(b2,I(sN,eg,ep),t);return{a:P,b:lv(P)};case 52:var em=e.a,ep=e.b,P=I(b2,I(sq,em,ep),t);return{a:P,b:lv(P)};case 53:var ep=e.a;return{a:q(t,{bJ:am,cn:ep}),b:lb};case 54:var ew=e.a,ep=e.b,P=I(b2,I(sD,ew,ep),t);return{a:P,b:lv(P)};case 55:return{a:q(t,{X:e.a}),b:lb};default:var P=1>O(e.a,720)?q(t,{df:!0,bO:!1,B:0}):q(t,{df:!1,bO:!1});return{a:P,b:lb}}}),b8=p(function(e,t){return I(tw,e,eT(t))}),b7=b8(\"className\"),b9=function(e){return b7(I(aw,\" \",I(rl,aX,I(iS,c2,e))))},de=tc(\"div\"),dt=b8(\"id\"),da=function(e){var t=e.I;switch(t.$){case 1:var a=t.a;return ap(a);case 2:var r=e.bY;if(2!==r.$)return am;var a=r.a;return ap(a);default:return am}},dr=cX(function(e){return e.dN}),dn=cX(function(e){return e.fe}),di={$:13},du=p(function(e,t){return I(tx,tI.test(e)?\"data-\"+e:e,t$(t))}),ds=tc(\"button\"),dc=tc(\"h2\"),dl=p(function(e,t){return I(tp,e,{$:0,a:t})}),db=function(e){return I(dl,\"click\",a2(e))},dd=tc(\"p\"),df=b8(\"type\"),dh=p(function(e,t){var a=p(function(t,a){return I(nU,a,I(n_,cu(e.en),t))}),r=I(nU,I(a,t.dR,\"Sign in to view this image.\"),t.at);return I(de,U([b7(\"diva-auth-overlay\"),I(du,\"role\",\"dialog\"),I(du,\"aria-modal\",\"true\")]),U([I(de,U([b7(\"diva-auth-dialog\")]),U([I(dc,B,U([tu(I(a,t.dK,\"Sign in required\"))])),I(dd,B,U([tu(r)])),I(ds,U([df(\"button\"),I(du,\"data-diva-auth-flow\",t.da),I(du,\"data-diva-auth-url\",t.ea)]),U([tu(M(t.at,am)?I(a,t.dC,\"Sign in\"):\"Retry\")])),I(ds,U([df(\"button\"),db(uk(di))]),U([tu(\"Cancel\")]))]))]))}),dv=function(e){return tc(tE.test(e)?\"p\":e)},dg=tu(\"\"),dp=p(function(e,t){return t?e:dg}),dm=p(function(e,t){return t.$?dg:e(t.a)}),dw=(b=U([.2,.3,.4,.1,.2,.3,0,.1,.2]),I(de,U([b7(\"diva-throbber-overlay\")]),U([I(de,U([b7(\"diva-throbber\")]),I(rl,function(e){return I(de,U([b7(\"diva-throbber-cube\"),I(tm,\"animation-delay\",es(e)+\"s\")]),B)},b))]))),dx=function(e){var t=e.a,a=e.b,r=e.c;return I(de,U([b7(\"diva-viewer-status-overlay\")]),U([I(de,U([b7(\"diva-modal is-narrow\")]),U([I(de,U([b7(\"diva-modal-header\")]),U([I(de,U([b7(\"diva-modal-title\")]),U([tu(t)]))])),I(de,U([b7(\"diva-modal-body is-no-sidebar\")]),U([I(de,U([b9(U([{a:\"diva-status\",b:!0},{a:\"is-error\",b:r}]))]),U([tu(a)]))]))]))]))},dy=function(e){return I(de,U([b7(\"diva-viewer-zoom-indicator\")]),U([tu(e)]))},dE=x(function(e,t,a,r,n){return I(de,U([b7(\"diva-canvas-wrapper\")]),U([C(dv,\"osd-viewer\",U([b9(U([{a:\"diva-canvas\",b:!0},{a:\"is-fullscreen\",b:e},{a:\"has-collection\",b:a}])),dt(\"main-viewer\")]),B),I(dp,dw,t),I(dm,dx,r),I(dm,dy,n)]))}),dI=function(e){return{$:36,a:e}},dC=tc(\"li\"),dR=tc(\"ul\"),d$=p(function(e,t){return{$:16,a:e,b:t}}),dL=m(function(e,t,a){var r=I(cu,e,a.dN);return I(dC,B,U([I(ds,U([b9(U([{a:\"diva-manifest-tree-item\",b:!0},{a:\"diva-ui-button\",b:!0},{a:\"is-active\",b:M(t.dq,ap(a.s))}])),df(\"button\"),db(I(d$,a.s,a.s))]),U([tu(r)]))]))}),dA=m(function(e,t,a){return a.$?C(dL,e,t,a.a):C(dT,e,t,a.a)}),dS=m(function(e,t,a){return I(dR,U([b7(\"diva-collection-list diva-list-reset\")]),I(rl,C(tf,dA,e,t),a))}),dT=m(function(e,t,a){var r=I(cu,e,a.dN),n=I(lI,a.s,t.bH),i=function(){if(!n)return B;var r=I(lI,a.s,t.ak)?U([I(de,U([b7(\"diva-contents-empty\")]),U([tu(\"Loading…\")]))]):B;return I(_,C(dS,e,t,a.aE),r)}();return I(dC,U([b7(\"diva-collection-tree-item\")]),I(_,I(ds,U([b7(\"diva-collection-node-button diva-ui-button\"),df(\"button\"),db({$:15,a:a.s})]),U([I(de,U([b7(\"diva-collection-expand-icon\")]),U([tu(n?\"▼\":\"▶\")])),tu(r)])),i))}),dk=p(function(e,t){var a=t.t.b,r=I(cu,e.en,a.dN);return I(de,U([b9(U([{a:\"diva-collection-panel\",b:!0},{a:\"is-fullscreen\",b:e.db},{a:\"is-hidden\",b:!e.a0}])),I(tm,\"width\",e.a0?es(e.dB)+\"px\":\"0px\")]),U([I(de,U([b7(\"diva-collection-header\")]),U([I(de,U([b7(\"diva-collection-title\")]),U([tu(r)])),I(dm,function(t){return I(de,U([b7(\"diva-collection-summary\")]),U([tu(I(cu,e.en,t))]))},a.gH)])),I(de,U([b7(\"diva-sidebar-content\")]),U([I(de,U([b7(\"diva-sidebar-pane is-scroll\")]),U([C(dS,e.en,t,a.aE)]))]))]))}),dM=function(e){var t=e.I;return 2===t.$?I(dk,e,t.a):dg},dP=tc(\"a\"),dN=function(e){return I(b8,\"href\",tC.test(e)?\"\":e)},dz=function(e){switch(e.$){case 0:return e.a;case 1:return\"none\";default:return\"default\"}},dO=tx(\"rel\"),dV=m(function(e,t,a){return{$:1,a:e,b:t,c:a}}),dq=p(function(e,t){return{$:1,a:e,b:t}}),dH=m(function(e,t,a){return{$:0,a:e,b:t,c:a}}),dB=p(function(e,t){return function(a){var r=t(a);if(1===r.$){var n=r.a,i=r.b;return I(dq,n,i)}var o=r.a,u=r.b,s=r.c,c=e(u)(s);if(1===c.$){var l=c.a,i=c.b;return I(dq,o||l,i)}var l=c.a;return C(dH,o||l,c.b,c.c)}}),dD=function(e){return function(t){var a=e(t);return 1===a.$?I(dq,!1,a.b):C(dH,!1,a.b,a.c)}},d_={$:11},dU=p(function(e,t){return{$:1,a:e,b:t}}),dF=w(function(e,t,a,r){return{dA:t,fL:r,dX:a,d_:e}}),dG={$:0},dj=p(function(e,t){return I(dU,dG,R(dF,e.d_,e.dA,t,e.k))}),dW=p(function(e,t){return function(a){var r=C(t7,e,a.h,a.d);return M(r,-1)?I(dq,!1,I(dj,a,t)):M(r,-2)?C(dH,!0,0,{dA:1,k:a.k,p:a.p,h:a.h+1,d_:a.d_+1,d:a.d}):C(dH,!0,0,{dA:a.dA+1,k:a.k,p:a.p,h:r,d_:a.d_,d:a.d})}}),dZ=function(e){return I(dW,e,d_)},dK=x(function(e,t,a,r,n){for(;;){var i=C(t7,e,t,n.d);if(M(i,-1))return C(dH,0>O(n.h,t),0,{dA:r,k:n.k,p:n.p,h:t,d_:a,d:n.d});if(M(i,-2)){var o=e,u=t+1,s=a+1,c=1,l=n;e=o,t=u,a=s,r=c,n=l;continue}var o=e,u=i,s=a,c=r+1,l=n;e=o,t=u,a=s,r=c,n=l}}),dX=function(e){return function(t){return $(dK,e,t.h,t.d_,t.dA,t)}},dY=m(function(e,t,a){return function(r){var n=t(r);if(1===n.$){var i=n.a,o=n.b;return I(dq,i,o)}var u=n.a,s=n.b,c=a(n.c);if(1===c.$){var l=c.a,o=c.b;return I(dq,u||l,o)}var l=c.a,b=c.b,d=c.c;return C(dH,u||l,I(e,s,b),d)}}),dJ=p(function(e,t){return C(dY,sH,e,t)}),dQ=function(e){return I(dJ,dZ(e),dX(e))},d0=p(function(e,t){return function(a){var r=t(a);if(1===r.$){var n=r.a;return I(dq,n,r.b)}var n=r.a,i=r.b,o=r.c;return C(dH,n,I(e,C(ea,a.h,o.h,a.d),i),o)}}),d1=function(e){return I(d0,sH,e)},d2=function(e){return\" \"===e||\"\t\"===e||\"\\n\"===e||\"\\r\"===e||\"\\f\"===e||\" \"===e},d4=function(e){var t;return t={$:12,a:e},function(e){return I(dq,!1,I(dj,e,t))}},d3=function(e){return function(t){return C(dH,!1,e,t)}},d6=function(e){var t=I(dB,function(t){return M(c8(t),e)?d3(0):d4(\"closing tag does not match opening tag: \"+e)},d1(dQ(function(e){return!d2(e)&&\">\"!==e})));return I(dJ,I(dJ,I(dJ,I(dJ,dZ(N(\"<\")),dZ(N(\"/\"))),t),dX(d2)),dZ(N(\">\")))},d5=w(function(e,t,a,r){return I(dU,dG,R(dF,e,t,a,r))}),d8=p(function(e,t){return{$:0,a:e,b:t}}),d7=function(e){return I(d8,e,{$:0,a:e})},d9=p(function(e,t){return C(dY,aj,e,t)}),fe=function(e){var t=e.a,a=e.b,r=!a9(t);return function(e){var n=$(t8,t,e.h,e.d_,e.dA,e.d),i=n.a,o=n.b,u=n.c;return M(i,-1)?I(dq,!1,I(dj,e,a)):C(dH,r,0,{dA:u,k:e.k,p:e.p,h:i,d_:o,d:e.d})}},ft=function(e){return fe(d7(e))},fa=I(d9,I(dJ,I(dJ,d3(a3),ft(\"O(e.h,n),0,{dA:o,k:e.k,p:e.p,h:n,d_:i,d:e.d})})),ft(\"--\\x3e\"))),fr=p(function(e,t){return function(a){var r=t(a);if(r.$){var n=r.a;return I(dq,n,r.b)}var n=r.a,i=r.b,o=r.c;return C(dH,n,e(i),o)}}),fn=I(fr,function(e){return{$:2,a:e}},fa),fi=U([\"area\",\"base\",\"br\",\"col\",\"embed\",\"hr\",\"img\",\"input\",\"link\",\"meta\",\"param\",\"source\",\"track\",\"wbr\"]),fo=function(e){return{$:1,a:e}},fu=function(e){return{$:0,a:e}},fs=w(function(e,t,a,r){for(;;){var n=a(t)(r);if(n.$){var i=n.a;return I(dq,e||i,n.b)}var i=n.a,o=n.b,u=n.c;if(o.$)return C(dH,e||i,o.a,u);var s=o.a,c=a;e=e||i,t=s,a=c,r=u}}),fc=p(function(e,t){return function(a){return R(fs,!1,e,t,a)}}),fl=function(e){return e.$?{$:1,a:e.a}:{$:0,a:e.a}},fb=p(function(e,t){return I(fc,e,function(e){return I(fr,fl,t(e))})}),fd=p(function(e,t){return{$:2,a:e,b:t}}),ff=m(function(e,t,a){for(;;)if(!a.b)return I(dq,!1,t);else{var r=a.a,n=a.b,i=r(e);if(i.$){var o=i,u=o.a,s=o.b;if(u)return o;var c=e,l=I(fd,t,s);e=c,t=l,a=n;continue}var o=i;return o}}),fh=function(e){return function(t){return C(ff,t,dG,e)}},fv=function(e){return I(fb,B,function(t){return fh(U([I(fr,function(e){return fu(I(_,e,t))},e),d3(fo(az(t)))]))})},fg=I(fr,c8,d1(dQ(function(e){return!d2(e)&&'\"'!==e&&\"'\"!==e&&\">\"!==e&&\"/\"!==e&&\"=\"!==e}))),fp=dZ(N(\";\")),fm=si(U([{a:\"Aacute\",b:\"Á\"},{a:\"aacute\",b:\"á\"},{a:\"Abreve\",b:\"Ă\"},{a:\"abreve\",b:\"ă\"},{a:\"ac\",b:\"∾\"},{a:\"acd\",b:\"∿\"},{a:\"acE\",b:\"∾̳\"},{a:\"Acirc\",b:\"Â\"},{a:\"acirc\",b:\"â\"},{a:\"acute\",b:\"´\"},{a:\"Acy\",b:\"А\"},{a:\"acy\",b:\"а\"},{a:\"AElig\",b:\"Æ\"},{a:\"aelig\",b:\"æ\"},{a:\"af\",b:\"⁡\"},{a:\"Afr\",b:\"𝔄\"},{a:\"afr\",b:\"𝔞\"},{a:\"Agrave\",b:\"À\"},{a:\"agrave\",b:\"à\"},{a:\"alefsym\",b:\"ℵ\"},{a:\"aleph\",b:\"ℵ\"},{a:\"Alpha\",b:\"Α\"},{a:\"alpha\",b:\"α\"},{a:\"Amacr\",b:\"Ā\"},{a:\"amacr\",b:\"ā\"},{a:\"amalg\",b:\"⨿\"},{a:\"amp\",b:\"&\"},{a:\"AMP\",b:\"&\"},{a:\"andand\",b:\"⩕\"},{a:\"And\",b:\"⩓\"},{a:\"and\",b:\"∧\"},{a:\"andd\",b:\"⩜\"},{a:\"andslope\",b:\"⩘\"},{a:\"andv\",b:\"⩚\"},{a:\"ang\",b:\"∠\"},{a:\"ange\",b:\"⦤\"},{a:\"angle\",b:\"∠\"},{a:\"angmsdaa\",b:\"⦨\"},{a:\"angmsdab\",b:\"⦩\"},{a:\"angmsdac\",b:\"⦪\"},{a:\"angmsdad\",b:\"⦫\"},{a:\"angmsdae\",b:\"⦬\"},{a:\"angmsdaf\",b:\"⦭\"},{a:\"angmsdag\",b:\"⦮\"},{a:\"angmsdah\",b:\"⦯\"},{a:\"angmsd\",b:\"∡\"},{a:\"angrt\",b:\"∟\"},{a:\"angrtvb\",b:\"⊾\"},{a:\"angrtvbd\",b:\"⦝\"},{a:\"angsph\",b:\"∢\"},{a:\"angst\",b:\"Å\"},{a:\"angzarr\",b:\"⍼\"},{a:\"Aogon\",b:\"Ą\"},{a:\"aogon\",b:\"ą\"},{a:\"Aopf\",b:\"𝔸\"},{a:\"aopf\",b:\"𝕒\"},{a:\"apacir\",b:\"⩯\"},{a:\"ap\",b:\"≈\"},{a:\"apE\",b:\"⩰\"},{a:\"ape\",b:\"≊\"},{a:\"apid\",b:\"≋\"},{a:\"apos\",b:\"'\"},{a:\"ApplyFunction\",b:\"⁡\"},{a:\"approx\",b:\"≈\"},{a:\"approxeq\",b:\"≊\"},{a:\"Aring\",b:\"Å\"},{a:\"aring\",b:\"å\"},{a:\"Ascr\",b:\"𝒜\"},{a:\"ascr\",b:\"𝒶\"},{a:\"Assign\",b:\"≔\"},{a:\"ast\",b:\"*\"},{a:\"asymp\",b:\"≈\"},{a:\"asympeq\",b:\"≍\"},{a:\"Atilde\",b:\"Ã\"},{a:\"atilde\",b:\"ã\"},{a:\"Auml\",b:\"Ä\"},{a:\"auml\",b:\"ä\"},{a:\"awconint\",b:\"∳\"},{a:\"awint\",b:\"⨑\"},{a:\"backcong\",b:\"≌\"},{a:\"backepsilon\",b:\"϶\"},{a:\"backprime\",b:\"‵\"},{a:\"backsim\",b:\"∽\"},{a:\"backsimeq\",b:\"⋍\"},{a:\"Backslash\",b:\"∖\"},{a:\"Barv\",b:\"⫧\"},{a:\"barvee\",b:\"⊽\"},{a:\"barwed\",b:\"⌅\"},{a:\"Barwed\",b:\"⌆\"},{a:\"barwedge\",b:\"⌅\"},{a:\"bbrk\",b:\"⎵\"},{a:\"bbrktbrk\",b:\"⎶\"},{a:\"bcong\",b:\"≌\"},{a:\"Bcy\",b:\"Б\"},{a:\"bcy\",b:\"б\"},{a:\"bdquo\",b:\"„\"},{a:\"becaus\",b:\"∵\"},{a:\"because\",b:\"∵\"},{a:\"Because\",b:\"∵\"},{a:\"bemptyv\",b:\"⦰\"},{a:\"bepsi\",b:\"϶\"},{a:\"bernou\",b:\"ℬ\"},{a:\"Bernoullis\",b:\"ℬ\"},{a:\"Beta\",b:\"Β\"},{a:\"beta\",b:\"β\"},{a:\"beth\",b:\"ℶ\"},{a:\"between\",b:\"≬\"},{a:\"Bfr\",b:\"𝔅\"},{a:\"bfr\",b:\"𝔟\"},{a:\"bigcap\",b:\"⋂\"},{a:\"bigcirc\",b:\"◯\"},{a:\"bigcup\",b:\"⋃\"},{a:\"bigodot\",b:\"⨀\"},{a:\"bigoplus\",b:\"⨁\"},{a:\"bigotimes\",b:\"⨂\"},{a:\"bigsqcup\",b:\"⨆\"},{a:\"bigstar\",b:\"★\"},{a:\"bigtriangledown\",b:\"▽\"},{a:\"bigtriangleup\",b:\"△\"},{a:\"biguplus\",b:\"⨄\"},{a:\"bigvee\",b:\"⋁\"},{a:\"bigwedge\",b:\"⋀\"},{a:\"bkarow\",b:\"⤍\"},{a:\"blacklozenge\",b:\"⧫\"},{a:\"blacksquare\",b:\"▪\"},{a:\"blacktriangle\",b:\"▴\"},{a:\"blacktriangledown\",b:\"▾\"},{a:\"blacktriangleleft\",b:\"◂\"},{a:\"blacktriangleright\",b:\"▸\"},{a:\"blank\",b:\"␣\"},{a:\"blk12\",b:\"▒\"},{a:\"blk14\",b:\"░\"},{a:\"blk34\",b:\"▓\"},{a:\"block\",b:\"█\"},{a:\"bne\",b:\"=⃥\"},{a:\"bnequiv\",b:\"≡⃥\"},{a:\"bNot\",b:\"⫭\"},{a:\"bnot\",b:\"⌐\"},{a:\"Bopf\",b:\"𝔹\"},{a:\"bopf\",b:\"𝕓\"},{a:\"bot\",b:\"⊥\"},{a:\"bottom\",b:\"⊥\"},{a:\"bowtie\",b:\"⋈\"},{a:\"boxbox\",b:\"⧉\"},{a:\"boxdl\",b:\"┐\"},{a:\"boxdL\",b:\"╕\"},{a:\"boxDl\",b:\"╖\"},{a:\"boxDL\",b:\"╗\"},{a:\"boxdr\",b:\"┌\"},{a:\"boxdR\",b:\"╒\"},{a:\"boxDr\",b:\"╓\"},{a:\"boxDR\",b:\"╔\"},{a:\"boxh\",b:\"─\"},{a:\"boxH\",b:\"═\"},{a:\"boxhd\",b:\"┬\"},{a:\"boxHd\",b:\"╤\"},{a:\"boxhD\",b:\"╥\"},{a:\"boxHD\",b:\"╦\"},{a:\"boxhu\",b:\"┴\"},{a:\"boxHu\",b:\"╧\"},{a:\"boxhU\",b:\"╨\"},{a:\"boxHU\",b:\"╩\"},{a:\"boxminus\",b:\"⊟\"},{a:\"boxplus\",b:\"⊞\"},{a:\"boxtimes\",b:\"⊠\"},{a:\"boxul\",b:\"┘\"},{a:\"boxuL\",b:\"╛\"},{a:\"boxUl\",b:\"╜\"},{a:\"boxUL\",b:\"╝\"},{a:\"boxur\",b:\"└\"},{a:\"boxuR\",b:\"╘\"},{a:\"boxUr\",b:\"╙\"},{a:\"boxUR\",b:\"╚\"},{a:\"boxv\",b:\"│\"},{a:\"boxV\",b:\"║\"},{a:\"boxvh\",b:\"┼\"},{a:\"boxvH\",b:\"╪\"},{a:\"boxVh\",b:\"╫\"},{a:\"boxVH\",b:\"╬\"},{a:\"boxvl\",b:\"┤\"},{a:\"boxvL\",b:\"╡\"},{a:\"boxVl\",b:\"╢\"},{a:\"boxVL\",b:\"╣\"},{a:\"boxvr\",b:\"├\"},{a:\"boxvR\",b:\"╞\"},{a:\"boxVr\",b:\"╟\"},{a:\"boxVR\",b:\"╠\"},{a:\"bprime\",b:\"‵\"},{a:\"breve\",b:\"˘\"},{a:\"Breve\",b:\"˘\"},{a:\"brvbar\",b:\"¦\"},{a:\"bscr\",b:\"𝒷\"},{a:\"Bscr\",b:\"ℬ\"},{a:\"bsemi\",b:\"⁏\"},{a:\"bsim\",b:\"∽\"},{a:\"bsime\",b:\"⋍\"},{a:\"bsolb\",b:\"⧅\"},{a:\"bsol\",b:\"\\\\\"},{a:\"bsolhsub\",b:\"⟈\"},{a:\"bull\",b:\"•\"},{a:\"bullet\",b:\"•\"},{a:\"bump\",b:\"≎\"},{a:\"bumpE\",b:\"⪮\"},{a:\"bumpe\",b:\"≏\"},{a:\"Bumpeq\",b:\"≎\"},{a:\"bumpeq\",b:\"≏\"},{a:\"Cacute\",b:\"Ć\"},{a:\"cacute\",b:\"ć\"},{a:\"capand\",b:\"⩄\"},{a:\"capbrcup\",b:\"⩉\"},{a:\"capcap\",b:\"⩋\"},{a:\"cap\",b:\"∩\"},{a:\"Cap\",b:\"⋒\"},{a:\"capcup\",b:\"⩇\"},{a:\"capdot\",b:\"⩀\"},{a:\"CapitalDifferentialD\",b:\"ⅅ\"},{a:\"caps\",b:\"∩︀\"},{a:\"caret\",b:\"⁁\"},{a:\"caron\",b:\"ˇ\"},{a:\"Cayleys\",b:\"ℭ\"},{a:\"ccaps\",b:\"⩍\"},{a:\"Ccaron\",b:\"Č\"},{a:\"ccaron\",b:\"č\"},{a:\"Ccedil\",b:\"Ç\"},{a:\"ccedil\",b:\"ç\"},{a:\"Ccirc\",b:\"Ĉ\"},{a:\"ccirc\",b:\"ĉ\"},{a:\"Cconint\",b:\"∰\"},{a:\"ccups\",b:\"⩌\"},{a:\"ccupssm\",b:\"⩐\"},{a:\"Cdot\",b:\"Ċ\"},{a:\"cdot\",b:\"ċ\"},{a:\"cedil\",b:\"¸\"},{a:\"Cedilla\",b:\"¸\"},{a:\"cemptyv\",b:\"⦲\"},{a:\"cent\",b:\"¢\"},{a:\"centerdot\",b:\"·\"},{a:\"CenterDot\",b:\"·\"},{a:\"cfr\",b:\"𝔠\"},{a:\"Cfr\",b:\"ℭ\"},{a:\"CHcy\",b:\"Ч\"},{a:\"chcy\",b:\"ч\"},{a:\"check\",b:\"✓\"},{a:\"checkmark\",b:\"✓\"},{a:\"Chi\",b:\"Χ\"},{a:\"chi\",b:\"χ\"},{a:\"circ\",b:\"ˆ\"},{a:\"circeq\",b:\"≗\"},{a:\"circlearrowleft\",b:\"↺\"},{a:\"circlearrowright\",b:\"↻\"},{a:\"circledast\",b:\"⊛\"},{a:\"circledcirc\",b:\"⊚\"},{a:\"circleddash\",b:\"⊝\"},{a:\"CircleDot\",b:\"⊙\"},{a:\"circledR\",b:\"®\"},{a:\"circledS\",b:\"Ⓢ\"},{a:\"CircleMinus\",b:\"⊖\"},{a:\"CirclePlus\",b:\"⊕\"},{a:\"CircleTimes\",b:\"⊗\"},{a:\"cir\",b:\"○\"},{a:\"cirE\",b:\"⧃\"},{a:\"cire\",b:\"≗\"},{a:\"cirfnint\",b:\"⨐\"},{a:\"cirmid\",b:\"⫯\"},{a:\"cirscir\",b:\"⧂\"},{a:\"ClockwiseContourIntegral\",b:\"∲\"},{a:\"CloseCurlyDoubleQuote\",b:\"”\"},{a:\"CloseCurlyQuote\",b:\"’\"},{a:\"clubs\",b:\"♣\"},{a:\"clubsuit\",b:\"♣\"},{a:\"colon\",b:\":\"},{a:\"Colon\",b:\"∷\"},{a:\"Colone\",b:\"⩴\"},{a:\"colone\",b:\"≔\"},{a:\"coloneq\",b:\"≔\"},{a:\"comma\",b:\",\"},{a:\"commat\",b:\"@\"},{a:\"comp\",b:\"∁\"},{a:\"compfn\",b:\"∘\"},{a:\"complement\",b:\"∁\"},{a:\"complexes\",b:\"ℂ\"},{a:\"cong\",b:\"≅\"},{a:\"congdot\",b:\"⩭\"},{a:\"Congruent\",b:\"≡\"},{a:\"conint\",b:\"∮\"},{a:\"Conint\",b:\"∯\"},{a:\"ContourIntegral\",b:\"∮\"},{a:\"copf\",b:\"𝕔\"},{a:\"Copf\",b:\"ℂ\"},{a:\"coprod\",b:\"∐\"},{a:\"Coproduct\",b:\"∐\"},{a:\"copy\",b:\"©\"},{a:\"COPY\",b:\"©\"},{a:\"copysr\",b:\"℗\"},{a:\"CounterClockwiseContourIntegral\",b:\"∳\"},{a:\"crarr\",b:\"↵\"},{a:\"cross\",b:\"✗\"},{a:\"Cross\",b:\"⨯\"},{a:\"Cscr\",b:\"𝒞\"},{a:\"cscr\",b:\"𝒸\"},{a:\"csub\",b:\"⫏\"},{a:\"csube\",b:\"⫑\"},{a:\"csup\",b:\"⫐\"},{a:\"csupe\",b:\"⫒\"},{a:\"ctdot\",b:\"⋯\"},{a:\"cudarrl\",b:\"⤸\"},{a:\"cudarrr\",b:\"⤵\"},{a:\"cuepr\",b:\"⋞\"},{a:\"cuesc\",b:\"⋟\"},{a:\"cularr\",b:\"↶\"},{a:\"cularrp\",b:\"⤽\"},{a:\"cupbrcap\",b:\"⩈\"},{a:\"cupcap\",b:\"⩆\"},{a:\"CupCap\",b:\"≍\"},{a:\"cup\",b:\"∪\"},{a:\"Cup\",b:\"⋓\"},{a:\"cupcup\",b:\"⩊\"},{a:\"cupdot\",b:\"⊍\"},{a:\"cupor\",b:\"⩅\"},{a:\"cups\",b:\"∪︀\"},{a:\"curarr\",b:\"↷\"},{a:\"curarrm\",b:\"⤼\"},{a:\"curlyeqprec\",b:\"⋞\"},{a:\"curlyeqsucc\",b:\"⋟\"},{a:\"curlyvee\",b:\"⋎\"},{a:\"curlywedge\",b:\"⋏\"},{a:\"curren\",b:\"¤\"},{a:\"curvearrowleft\",b:\"↶\"},{a:\"curvearrowright\",b:\"↷\"},{a:\"cuvee\",b:\"⋎\"},{a:\"cuwed\",b:\"⋏\"},{a:\"cwconint\",b:\"∲\"},{a:\"cwint\",b:\"∱\"},{a:\"cylcty\",b:\"⌭\"},{a:\"dagger\",b:\"†\"},{a:\"Dagger\",b:\"‡\"},{a:\"daleth\",b:\"ℸ\"},{a:\"darr\",b:\"↓\"},{a:\"Darr\",b:\"↡\"},{a:\"dArr\",b:\"⇓\"},{a:\"dash\",b:\"‐\"},{a:\"Dashv\",b:\"⫤\"},{a:\"dashv\",b:\"⊣\"},{a:\"dbkarow\",b:\"⤏\"},{a:\"dblac\",b:\"˝\"},{a:\"Dcaron\",b:\"Ď\"},{a:\"dcaron\",b:\"ď\"},{a:\"Dcy\",b:\"Д\"},{a:\"dcy\",b:\"д\"},{a:\"ddagger\",b:\"‡\"},{a:\"ddarr\",b:\"⇊\"},{a:\"DD\",b:\"ⅅ\"},{a:\"dd\",b:\"ⅆ\"},{a:\"DDotrahd\",b:\"⤑\"},{a:\"ddotseq\",b:\"⩷\"},{a:\"deg\",b:\"°\"},{a:\"Del\",b:\"∇\"},{a:\"Delta\",b:\"Δ\"},{a:\"delta\",b:\"δ\"},{a:\"demptyv\",b:\"⦱\"},{a:\"dfisht\",b:\"⥿\"},{a:\"Dfr\",b:\"𝔇\"},{a:\"dfr\",b:\"𝔡\"},{a:\"dHar\",b:\"⥥\"},{a:\"dharl\",b:\"⇃\"},{a:\"dharr\",b:\"⇂\"},{a:\"DiacriticalAcute\",b:\"´\"},{a:\"DiacriticalDot\",b:\"˙\"},{a:\"DiacriticalDoubleAcute\",b:\"˝\"},{a:\"DiacriticalGrave\",b:\"`\"},{a:\"DiacriticalTilde\",b:\"˜\"},{a:\"diam\",b:\"⋄\"},{a:\"diamond\",b:\"⋄\"},{a:\"Diamond\",b:\"⋄\"},{a:\"diamondsuit\",b:\"♦\"},{a:\"diams\",b:\"♦\"},{a:\"die\",b:\"¨\"},{a:\"DifferentialD\",b:\"ⅆ\"},{a:\"digamma\",b:\"ϝ\"},{a:\"disin\",b:\"⋲\"},{a:\"div\",b:\"÷\"},{a:\"divide\",b:\"÷\"},{a:\"divideontimes\",b:\"⋇\"},{a:\"divonx\",b:\"⋇\"},{a:\"DJcy\",b:\"Ђ\"},{a:\"djcy\",b:\"ђ\"},{a:\"dlcorn\",b:\"⌞\"},{a:\"dlcrop\",b:\"⌍\"},{a:\"dollar\",b:\"$\"},{a:\"Dopf\",b:\"𝔻\"},{a:\"dopf\",b:\"𝕕\"},{a:\"Dot\",b:\"¨\"},{a:\"dot\",b:\"˙\"},{a:\"DotDot\",b:\"⃜\"},{a:\"doteq\",b:\"≐\"},{a:\"doteqdot\",b:\"≑\"},{a:\"DotEqual\",b:\"≐\"},{a:\"dotminus\",b:\"∸\"},{a:\"dotplus\",b:\"∔\"},{a:\"dotsquare\",b:\"⊡\"},{a:\"doublebarwedge\",b:\"⌆\"},{a:\"DoubleContourIntegral\",b:\"∯\"},{a:\"DoubleDot\",b:\"¨\"},{a:\"DoubleDownArrow\",b:\"⇓\"},{a:\"DoubleLeftArrow\",b:\"⇐\"},{a:\"DoubleLeftRightArrow\",b:\"⇔\"},{a:\"DoubleLeftTee\",b:\"⫤\"},{a:\"DoubleLongLeftArrow\",b:\"⟸\"},{a:\"DoubleLongLeftRightArrow\",b:\"⟺\"},{a:\"DoubleLongRightArrow\",b:\"⟹\"},{a:\"DoubleRightArrow\",b:\"⇒\"},{a:\"DoubleRightTee\",b:\"⊨\"},{a:\"DoubleUpArrow\",b:\"⇑\"},{a:\"DoubleUpDownArrow\",b:\"⇕\"},{a:\"DoubleVerticalBar\",b:\"∥\"},{a:\"DownArrowBar\",b:\"⤓\"},{a:\"downarrow\",b:\"↓\"},{a:\"DownArrow\",b:\"↓\"},{a:\"Downarrow\",b:\"⇓\"},{a:\"DownArrowUpArrow\",b:\"⇵\"},{a:\"DownBreve\",b:\"̑\"},{a:\"downdownarrows\",b:\"⇊\"},{a:\"downharpoonleft\",b:\"⇃\"},{a:\"downharpoonright\",b:\"⇂\"},{a:\"DownLeftRightVector\",b:\"⥐\"},{a:\"DownLeftTeeVector\",b:\"⥞\"},{a:\"DownLeftVectorBar\",b:\"⥖\"},{a:\"DownLeftVector\",b:\"↽\"},{a:\"DownRightTeeVector\",b:\"⥟\"},{a:\"DownRightVectorBar\",b:\"⥗\"},{a:\"DownRightVector\",b:\"⇁\"},{a:\"DownTeeArrow\",b:\"↧\"},{a:\"DownTee\",b:\"⊤\"},{a:\"drbkarow\",b:\"⤐\"},{a:\"drcorn\",b:\"⌟\"},{a:\"drcrop\",b:\"⌌\"},{a:\"Dscr\",b:\"𝒟\"},{a:\"dscr\",b:\"𝒹\"},{a:\"DScy\",b:\"Ѕ\"},{a:\"dscy\",b:\"ѕ\"},{a:\"dsol\",b:\"⧶\"},{a:\"Dstrok\",b:\"Đ\"},{a:\"dstrok\",b:\"đ\"},{a:\"dtdot\",b:\"⋱\"},{a:\"dtri\",b:\"▿\"},{a:\"dtrif\",b:\"▾\"},{a:\"duarr\",b:\"⇵\"},{a:\"duhar\",b:\"⥯\"},{a:\"dwangle\",b:\"⦦\"},{a:\"DZcy\",b:\"Џ\"},{a:\"dzcy\",b:\"џ\"},{a:\"dzigrarr\",b:\"⟿\"},{a:\"Eacute\",b:\"É\"},{a:\"eacute\",b:\"é\"},{a:\"easter\",b:\"⩮\"},{a:\"Ecaron\",b:\"Ě\"},{a:\"ecaron\",b:\"ě\"},{a:\"Ecirc\",b:\"Ê\"},{a:\"ecirc\",b:\"ê\"},{a:\"ecir\",b:\"≖\"},{a:\"ecolon\",b:\"≕\"},{a:\"Ecy\",b:\"Э\"},{a:\"ecy\",b:\"э\"},{a:\"eDDot\",b:\"⩷\"},{a:\"Edot\",b:\"Ė\"},{a:\"edot\",b:\"ė\"},{a:\"eDot\",b:\"≑\"},{a:\"ee\",b:\"ⅇ\"},{a:\"efDot\",b:\"≒\"},{a:\"Efr\",b:\"𝔈\"},{a:\"efr\",b:\"𝔢\"},{a:\"eg\",b:\"⪚\"},{a:\"Egrave\",b:\"È\"},{a:\"egrave\",b:\"è\"},{a:\"egs\",b:\"⪖\"},{a:\"egsdot\",b:\"⪘\"},{a:\"el\",b:\"⪙\"},{a:\"Element\",b:\"∈\"},{a:\"elinters\",b:\"⏧\"},{a:\"ell\",b:\"ℓ\"},{a:\"els\",b:\"⪕\"},{a:\"elsdot\",b:\"⪗\"},{a:\"Emacr\",b:\"Ē\"},{a:\"emacr\",b:\"ē\"},{a:\"empty\",b:\"∅\"},{a:\"emptyset\",b:\"∅\"},{a:\"EmptySmallSquare\",b:\"◻\"},{a:\"emptyv\",b:\"∅\"},{a:\"EmptyVerySmallSquare\",b:\"▫\"},{a:\"emsp13\",b:\" \"},{a:\"emsp14\",b:\" \"},{a:\"emsp\",b:\" \"},{a:\"ENG\",b:\"Ŋ\"},{a:\"eng\",b:\"ŋ\"},{a:\"ensp\",b:\" \"},{a:\"Eogon\",b:\"Ę\"},{a:\"eogon\",b:\"ę\"},{a:\"Eopf\",b:\"𝔼\"},{a:\"eopf\",b:\"𝕖\"},{a:\"epar\",b:\"⋕\"},{a:\"eparsl\",b:\"⧣\"},{a:\"eplus\",b:\"⩱\"},{a:\"epsi\",b:\"ε\"},{a:\"Epsilon\",b:\"Ε\"},{a:\"epsilon\",b:\"ε\"},{a:\"epsiv\",b:\"ϵ\"},{a:\"eqcirc\",b:\"≖\"},{a:\"eqcolon\",b:\"≕\"},{a:\"eqsim\",b:\"≂\"},{a:\"eqslantgtr\",b:\"⪖\"},{a:\"eqslantless\",b:\"⪕\"},{a:\"Equal\",b:\"⩵\"},{a:\"equals\",b:\"=\"},{a:\"EqualTilde\",b:\"≂\"},{a:\"equest\",b:\"≟\"},{a:\"Equilibrium\",b:\"⇌\"},{a:\"equiv\",b:\"≡\"},{a:\"equivDD\",b:\"⩸\"},{a:\"eqvparsl\",b:\"⧥\"},{a:\"erarr\",b:\"⥱\"},{a:\"erDot\",b:\"≓\"},{a:\"escr\",b:\"ℯ\"},{a:\"Escr\",b:\"ℰ\"},{a:\"esdot\",b:\"≐\"},{a:\"Esim\",b:\"⩳\"},{a:\"esim\",b:\"≂\"},{a:\"Eta\",b:\"Η\"},{a:\"eta\",b:\"η\"},{a:\"ETH\",b:\"Ð\"},{a:\"eth\",b:\"ð\"},{a:\"Euml\",b:\"Ë\"},{a:\"euml\",b:\"ë\"},{a:\"euro\",b:\"€\"},{a:\"excl\",b:\"!\"},{a:\"exist\",b:\"∃\"},{a:\"Exists\",b:\"∃\"},{a:\"expectation\",b:\"ℰ\"},{a:\"exponentiale\",b:\"ⅇ\"},{a:\"ExponentialE\",b:\"ⅇ\"},{a:\"fallingdotseq\",b:\"≒\"},{a:\"Fcy\",b:\"Ф\"},{a:\"fcy\",b:\"ф\"},{a:\"female\",b:\"♀\"},{a:\"ffilig\",b:\"ffi\"},{a:\"fflig\",b:\"ff\"},{a:\"ffllig\",b:\"ffl\"},{a:\"Ffr\",b:\"𝔉\"},{a:\"ffr\",b:\"𝔣\"},{a:\"filig\",b:\"fi\"},{a:\"FilledSmallSquare\",b:\"◼\"},{a:\"FilledVerySmallSquare\",b:\"▪\"},{a:\"fjlig\",b:\"fj\"},{a:\"flat\",b:\"♭\"},{a:\"fllig\",b:\"fl\"},{a:\"fltns\",b:\"▱\"},{a:\"fnof\",b:\"ƒ\"},{a:\"Fopf\",b:\"𝔽\"},{a:\"fopf\",b:\"𝕗\"},{a:\"forall\",b:\"∀\"},{a:\"ForAll\",b:\"∀\"},{a:\"fork\",b:\"⋔\"},{a:\"forkv\",b:\"⫙\"},{a:\"Fouriertrf\",b:\"ℱ\"},{a:\"fpartint\",b:\"⨍\"},{a:\"frac12\",b:\"½\"},{a:\"frac13\",b:\"⅓\"},{a:\"frac14\",b:\"¼\"},{a:\"frac15\",b:\"⅕\"},{a:\"frac16\",b:\"⅙\"},{a:\"frac18\",b:\"⅛\"},{a:\"frac23\",b:\"⅔\"},{a:\"frac25\",b:\"⅖\"},{a:\"frac34\",b:\"¾\"},{a:\"frac35\",b:\"⅗\"},{a:\"frac38\",b:\"⅜\"},{a:\"frac45\",b:\"⅘\"},{a:\"frac56\",b:\"⅚\"},{a:\"frac58\",b:\"⅝\"},{a:\"frac78\",b:\"⅞\"},{a:\"frasl\",b:\"⁄\"},{a:\"frown\",b:\"⌢\"},{a:\"fscr\",b:\"𝒻\"},{a:\"Fscr\",b:\"ℱ\"},{a:\"gacute\",b:\"ǵ\"},{a:\"Gamma\",b:\"Γ\"},{a:\"gamma\",b:\"γ\"},{a:\"Gammad\",b:\"Ϝ\"},{a:\"gammad\",b:\"ϝ\"},{a:\"gap\",b:\"⪆\"},{a:\"Gbreve\",b:\"Ğ\"},{a:\"gbreve\",b:\"ğ\"},{a:\"Gcedil\",b:\"Ģ\"},{a:\"Gcirc\",b:\"Ĝ\"},{a:\"gcirc\",b:\"ĝ\"},{a:\"Gcy\",b:\"Г\"},{a:\"gcy\",b:\"г\"},{a:\"Gdot\",b:\"Ġ\"},{a:\"gdot\",b:\"ġ\"},{a:\"ge\",b:\"≥\"},{a:\"gE\",b:\"≧\"},{a:\"gEl\",b:\"⪌\"},{a:\"gel\",b:\"⋛\"},{a:\"geq\",b:\"≥\"},{a:\"geqq\",b:\"≧\"},{a:\"geqslant\",b:\"⩾\"},{a:\"gescc\",b:\"⪩\"},{a:\"ges\",b:\"⩾\"},{a:\"gesdot\",b:\"⪀\"},{a:\"gesdoto\",b:\"⪂\"},{a:\"gesdotol\",b:\"⪄\"},{a:\"gesl\",b:\"⋛︀\"},{a:\"gesles\",b:\"⪔\"},{a:\"Gfr\",b:\"𝔊\"},{a:\"gfr\",b:\"𝔤\"},{a:\"gg\",b:\"≫\"},{a:\"Gg\",b:\"⋙\"},{a:\"ggg\",b:\"⋙\"},{a:\"gimel\",b:\"ℷ\"},{a:\"GJcy\",b:\"Ѓ\"},{a:\"gjcy\",b:\"ѓ\"},{a:\"gla\",b:\"⪥\"},{a:\"gl\",b:\"≷\"},{a:\"glE\",b:\"⪒\"},{a:\"glj\",b:\"⪤\"},{a:\"gnap\",b:\"⪊\"},{a:\"gnapprox\",b:\"⪊\"},{a:\"gne\",b:\"⪈\"},{a:\"gnE\",b:\"≩\"},{a:\"gneq\",b:\"⪈\"},{a:\"gneqq\",b:\"≩\"},{a:\"gnsim\",b:\"⋧\"},{a:\"Gopf\",b:\"𝔾\"},{a:\"gopf\",b:\"𝕘\"},{a:\"grave\",b:\"`\"},{a:\"GreaterEqual\",b:\"≥\"},{a:\"GreaterEqualLess\",b:\"⋛\"},{a:\"GreaterFullEqual\",b:\"≧\"},{a:\"GreaterGreater\",b:\"⪢\"},{a:\"GreaterLess\",b:\"≷\"},{a:\"GreaterSlantEqual\",b:\"⩾\"},{a:\"GreaterTilde\",b:\"≳\"},{a:\"Gscr\",b:\"𝒢\"},{a:\"gscr\",b:\"ℊ\"},{a:\"gsim\",b:\"≳\"},{a:\"gsime\",b:\"⪎\"},{a:\"gsiml\",b:\"⪐\"},{a:\"gtcc\",b:\"⪧\"},{a:\"gtcir\",b:\"⩺\"},{a:\"gt\",b:\">\"},{a:\"GT\",b:\">\"},{a:\"Gt\",b:\"≫\"},{a:\"gtdot\",b:\"⋗\"},{a:\"gtlPar\",b:\"⦕\"},{a:\"gtquest\",b:\"⩼\"},{a:\"gtrapprox\",b:\"⪆\"},{a:\"gtrarr\",b:\"⥸\"},{a:\"gtrdot\",b:\"⋗\"},{a:\"gtreqless\",b:\"⋛\"},{a:\"gtreqqless\",b:\"⪌\"},{a:\"gtrless\",b:\"≷\"},{a:\"gtrsim\",b:\"≳\"},{a:\"gvertneqq\",b:\"≩︀\"},{a:\"gvnE\",b:\"≩︀\"},{a:\"Hacek\",b:\"ˇ\"},{a:\"hairsp\",b:\" \"},{a:\"half\",b:\"½\"},{a:\"hamilt\",b:\"ℋ\"},{a:\"HARDcy\",b:\"Ъ\"},{a:\"hardcy\",b:\"ъ\"},{a:\"harrcir\",b:\"⥈\"},{a:\"harr\",b:\"↔\"},{a:\"hArr\",b:\"⇔\"},{a:\"harrw\",b:\"↭\"},{a:\"Hat\",b:\"^\"},{a:\"hbar\",b:\"ℏ\"},{a:\"Hcirc\",b:\"Ĥ\"},{a:\"hcirc\",b:\"ĥ\"},{a:\"hearts\",b:\"♥\"},{a:\"heartsuit\",b:\"♥\"},{a:\"hellip\",b:\"…\"},{a:\"hercon\",b:\"⊹\"},{a:\"hfr\",b:\"𝔥\"},{a:\"Hfr\",b:\"ℌ\"},{a:\"HilbertSpace\",b:\"ℋ\"},{a:\"hksearow\",b:\"⤥\"},{a:\"hkswarow\",b:\"⤦\"},{a:\"hoarr\",b:\"⇿\"},{a:\"homtht\",b:\"∻\"},{a:\"hookleftarrow\",b:\"↩\"},{a:\"hookrightarrow\",b:\"↪\"},{a:\"hopf\",b:\"𝕙\"},{a:\"Hopf\",b:\"ℍ\"},{a:\"horbar\",b:\"―\"},{a:\"HorizontalLine\",b:\"─\"},{a:\"hscr\",b:\"𝒽\"},{a:\"Hscr\",b:\"ℋ\"},{a:\"hslash\",b:\"ℏ\"},{a:\"Hstrok\",b:\"Ħ\"},{a:\"hstrok\",b:\"ħ\"},{a:\"HumpDownHump\",b:\"≎\"},{a:\"HumpEqual\",b:\"≏\"},{a:\"hybull\",b:\"⁃\"},{a:\"hyphen\",b:\"‐\"},{a:\"Iacute\",b:\"Í\"},{a:\"iacute\",b:\"í\"},{a:\"ic\",b:\"⁣\"},{a:\"Icirc\",b:\"Î\"},{a:\"icirc\",b:\"î\"},{a:\"Icy\",b:\"И\"},{a:\"icy\",b:\"и\"},{a:\"Idot\",b:\"İ\"},{a:\"IEcy\",b:\"Е\"},{a:\"iecy\",b:\"е\"},{a:\"iexcl\",b:\"¡\"},{a:\"iff\",b:\"⇔\"},{a:\"ifr\",b:\"𝔦\"},{a:\"Ifr\",b:\"ℑ\"},{a:\"Igrave\",b:\"Ì\"},{a:\"igrave\",b:\"ì\"},{a:\"ii\",b:\"ⅈ\"},{a:\"iiiint\",b:\"⨌\"},{a:\"iiint\",b:\"∭\"},{a:\"iinfin\",b:\"⧜\"},{a:\"iiota\",b:\"℩\"},{a:\"IJlig\",b:\"IJ\"},{a:\"ijlig\",b:\"ij\"},{a:\"Imacr\",b:\"Ī\"},{a:\"imacr\",b:\"ī\"},{a:\"image\",b:\"ℑ\"},{a:\"ImaginaryI\",b:\"ⅈ\"},{a:\"imagline\",b:\"ℐ\"},{a:\"imagpart\",b:\"ℑ\"},{a:\"imath\",b:\"ı\"},{a:\"Im\",b:\"ℑ\"},{a:\"imof\",b:\"⊷\"},{a:\"imped\",b:\"Ƶ\"},{a:\"Implies\",b:\"⇒\"},{a:\"incare\",b:\"℅\"},{a:\"in\",b:\"∈\"},{a:\"infin\",b:\"∞\"},{a:\"infintie\",b:\"⧝\"},{a:\"inodot\",b:\"ı\"},{a:\"intcal\",b:\"⊺\"},{a:\"int\",b:\"∫\"},{a:\"Int\",b:\"∬\"},{a:\"integers\",b:\"ℤ\"},{a:\"Integral\",b:\"∫\"},{a:\"intercal\",b:\"⊺\"},{a:\"Intersection\",b:\"⋂\"},{a:\"intlarhk\",b:\"⨗\"},{a:\"intprod\",b:\"⨼\"},{a:\"InvisibleComma\",b:\"⁣\"},{a:\"InvisibleTimes\",b:\"⁢\"},{a:\"IOcy\",b:\"Ё\"},{a:\"iocy\",b:\"ё\"},{a:\"Iogon\",b:\"Į\"},{a:\"iogon\",b:\"į\"},{a:\"Iopf\",b:\"𝕀\"},{a:\"iopf\",b:\"𝕚\"},{a:\"Iota\",b:\"Ι\"},{a:\"iota\",b:\"ι\"},{a:\"iprod\",b:\"⨼\"},{a:\"iquest\",b:\"¿\"},{a:\"iscr\",b:\"𝒾\"},{a:\"Iscr\",b:\"ℐ\"},{a:\"isin\",b:\"∈\"},{a:\"isindot\",b:\"⋵\"},{a:\"isinE\",b:\"⋹\"},{a:\"isins\",b:\"⋴\"},{a:\"isinsv\",b:\"⋳\"},{a:\"isinv\",b:\"∈\"},{a:\"it\",b:\"⁢\"},{a:\"Itilde\",b:\"Ĩ\"},{a:\"itilde\",b:\"ĩ\"},{a:\"Iukcy\",b:\"І\"},{a:\"iukcy\",b:\"і\"},{a:\"Iuml\",b:\"Ï\"},{a:\"iuml\",b:\"ï\"},{a:\"Jcirc\",b:\"Ĵ\"},{a:\"jcirc\",b:\"ĵ\"},{a:\"Jcy\",b:\"Й\"},{a:\"jcy\",b:\"й\"},{a:\"Jfr\",b:\"𝔍\"},{a:\"jfr\",b:\"𝔧\"},{a:\"jmath\",b:\"ȷ\"},{a:\"Jopf\",b:\"𝕁\"},{a:\"jopf\",b:\"𝕛\"},{a:\"Jscr\",b:\"𝒥\"},{a:\"jscr\",b:\"𝒿\"},{a:\"Jsercy\",b:\"Ј\"},{a:\"jsercy\",b:\"ј\"},{a:\"Jukcy\",b:\"Є\"},{a:\"jukcy\",b:\"є\"},{a:\"Kappa\",b:\"Κ\"},{a:\"kappa\",b:\"κ\"},{a:\"kappav\",b:\"ϰ\"},{a:\"Kcedil\",b:\"Ķ\"},{a:\"kcedil\",b:\"ķ\"},{a:\"Kcy\",b:\"К\"},{a:\"kcy\",b:\"к\"},{a:\"Kfr\",b:\"𝔎\"},{a:\"kfr\",b:\"𝔨\"},{a:\"kgreen\",b:\"ĸ\"},{a:\"KHcy\",b:\"Х\"},{a:\"khcy\",b:\"х\"},{a:\"KJcy\",b:\"Ќ\"},{a:\"kjcy\",b:\"ќ\"},{a:\"Kopf\",b:\"𝕂\"},{a:\"kopf\",b:\"𝕜\"},{a:\"Kscr\",b:\"𝒦\"},{a:\"kscr\",b:\"𝓀\"},{a:\"lAarr\",b:\"⇚\"},{a:\"Lacute\",b:\"Ĺ\"},{a:\"lacute\",b:\"ĺ\"},{a:\"laemptyv\",b:\"⦴\"},{a:\"lagran\",b:\"ℒ\"},{a:\"Lambda\",b:\"Λ\"},{a:\"lambda\",b:\"λ\"},{a:\"lang\",b:\"⟨\"},{a:\"Lang\",b:\"⟪\"},{a:\"langd\",b:\"⦑\"},{a:\"langle\",b:\"⟨\"},{a:\"lap\",b:\"⪅\"},{a:\"Laplacetrf\",b:\"ℒ\"},{a:\"laquo\",b:\"«\"},{a:\"larrb\",b:\"⇤\"},{a:\"larrbfs\",b:\"⤟\"},{a:\"larr\",b:\"←\"},{a:\"Larr\",b:\"↞\"},{a:\"lArr\",b:\"⇐\"},{a:\"larrfs\",b:\"⤝\"},{a:\"larrhk\",b:\"↩\"},{a:\"larrlp\",b:\"↫\"},{a:\"larrpl\",b:\"⤹\"},{a:\"larrsim\",b:\"⥳\"},{a:\"larrtl\",b:\"↢\"},{a:\"latail\",b:\"⤙\"},{a:\"lAtail\",b:\"⤛\"},{a:\"lat\",b:\"⪫\"},{a:\"late\",b:\"⪭\"},{a:\"lates\",b:\"⪭︀\"},{a:\"lbarr\",b:\"⤌\"},{a:\"lBarr\",b:\"⤎\"},{a:\"lbbrk\",b:\"❲\"},{a:\"lbrace\",b:\"{\"},{a:\"lbrack\",b:\"[\"},{a:\"lbrke\",b:\"⦋\"},{a:\"lbrksld\",b:\"⦏\"},{a:\"lbrkslu\",b:\"⦍\"},{a:\"Lcaron\",b:\"Ľ\"},{a:\"lcaron\",b:\"ľ\"},{a:\"Lcedil\",b:\"Ļ\"},{a:\"lcedil\",b:\"ļ\"},{a:\"lceil\",b:\"⌈\"},{a:\"lcub\",b:\"{\"},{a:\"Lcy\",b:\"Л\"},{a:\"lcy\",b:\"л\"},{a:\"ldca\",b:\"⤶\"},{a:\"ldquo\",b:\"“\"},{a:\"ldquor\",b:\"„\"},{a:\"ldrdhar\",b:\"⥧\"},{a:\"ldrushar\",b:\"⥋\"},{a:\"ldsh\",b:\"↲\"},{a:\"le\",b:\"≤\"},{a:\"lE\",b:\"≦\"},{a:\"LeftAngleBracket\",b:\"⟨\"},{a:\"LeftArrowBar\",b:\"⇤\"},{a:\"leftarrow\",b:\"←\"},{a:\"LeftArrow\",b:\"←\"},{a:\"Leftarrow\",b:\"⇐\"},{a:\"LeftArrowRightArrow\",b:\"⇆\"},{a:\"leftarrowtail\",b:\"↢\"},{a:\"LeftCeiling\",b:\"⌈\"},{a:\"LeftDoubleBracket\",b:\"⟦\"},{a:\"LeftDownTeeVector\",b:\"⥡\"},{a:\"LeftDownVectorBar\",b:\"⥙\"},{a:\"LeftDownVector\",b:\"⇃\"},{a:\"LeftFloor\",b:\"⌊\"},{a:\"leftharpoondown\",b:\"↽\"},{a:\"leftharpoonup\",b:\"↼\"},{a:\"leftleftarrows\",b:\"⇇\"},{a:\"leftrightarrow\",b:\"↔\"},{a:\"LeftRightArrow\",b:\"↔\"},{a:\"Leftrightarrow\",b:\"⇔\"},{a:\"leftrightarrows\",b:\"⇆\"},{a:\"leftrightharpoons\",b:\"⇋\"},{a:\"leftrightsquigarrow\",b:\"↭\"},{a:\"LeftRightVector\",b:\"⥎\"},{a:\"LeftTeeArrow\",b:\"↤\"},{a:\"LeftTee\",b:\"⊣\"},{a:\"LeftTeeVector\",b:\"⥚\"},{a:\"leftthreetimes\",b:\"⋋\"},{a:\"LeftTriangleBar\",b:\"⧏\"},{a:\"LeftTriangle\",b:\"⊲\"},{a:\"LeftTriangleEqual\",b:\"⊴\"},{a:\"LeftUpDownVector\",b:\"⥑\"},{a:\"LeftUpTeeVector\",b:\"⥠\"},{a:\"LeftUpVectorBar\",b:\"⥘\"},{a:\"LeftUpVector\",b:\"↿\"},{a:\"LeftVectorBar\",b:\"⥒\"},{a:\"LeftVector\",b:\"↼\"},{a:\"lEg\",b:\"⪋\"},{a:\"leg\",b:\"⋚\"},{a:\"leq\",b:\"≤\"},{a:\"leqq\",b:\"≦\"},{a:\"leqslant\",b:\"⩽\"},{a:\"lescc\",b:\"⪨\"},{a:\"les\",b:\"⩽\"},{a:\"lesdot\",b:\"⩿\"},{a:\"lesdoto\",b:\"⪁\"},{a:\"lesdotor\",b:\"⪃\"},{a:\"lesg\",b:\"⋚︀\"},{a:\"lesges\",b:\"⪓\"},{a:\"lessapprox\",b:\"⪅\"},{a:\"lessdot\",b:\"⋖\"},{a:\"lesseqgtr\",b:\"⋚\"},{a:\"lesseqqgtr\",b:\"⪋\"},{a:\"LessEqualGreater\",b:\"⋚\"},{a:\"LessFullEqual\",b:\"≦\"},{a:\"LessGreater\",b:\"≶\"},{a:\"lessgtr\",b:\"≶\"},{a:\"LessLess\",b:\"⪡\"},{a:\"lesssim\",b:\"≲\"},{a:\"LessSlantEqual\",b:\"⩽\"},{a:\"LessTilde\",b:\"≲\"},{a:\"lfisht\",b:\"⥼\"},{a:\"lfloor\",b:\"⌊\"},{a:\"Lfr\",b:\"𝔏\"},{a:\"lfr\",b:\"𝔩\"},{a:\"lg\",b:\"≶\"},{a:\"lgE\",b:\"⪑\"},{a:\"lHar\",b:\"⥢\"},{a:\"lhard\",b:\"↽\"},{a:\"lharu\",b:\"↼\"},{a:\"lharul\",b:\"⥪\"},{a:\"lhblk\",b:\"▄\"},{a:\"LJcy\",b:\"Љ\"},{a:\"ljcy\",b:\"љ\"},{a:\"llarr\",b:\"⇇\"},{a:\"ll\",b:\"≪\"},{a:\"Ll\",b:\"⋘\"},{a:\"llcorner\",b:\"⌞\"},{a:\"Lleftarrow\",b:\"⇚\"},{a:\"llhard\",b:\"⥫\"},{a:\"lltri\",b:\"◺\"},{a:\"Lmidot\",b:\"Ŀ\"},{a:\"lmidot\",b:\"ŀ\"},{a:\"lmoustache\",b:\"⎰\"},{a:\"lmoust\",b:\"⎰\"},{a:\"lnap\",b:\"⪉\"},{a:\"lnapprox\",b:\"⪉\"},{a:\"lne\",b:\"⪇\"},{a:\"lnE\",b:\"≨\"},{a:\"lneq\",b:\"⪇\"},{a:\"lneqq\",b:\"≨\"},{a:\"lnsim\",b:\"⋦\"},{a:\"loang\",b:\"⟬\"},{a:\"loarr\",b:\"⇽\"},{a:\"lobrk\",b:\"⟦\"},{a:\"longleftarrow\",b:\"⟵\"},{a:\"LongLeftArrow\",b:\"⟵\"},{a:\"Longleftarrow\",b:\"⟸\"},{a:\"longleftrightarrow\",b:\"⟷\"},{a:\"LongLeftRightArrow\",b:\"⟷\"},{a:\"Longleftrightarrow\",b:\"⟺\"},{a:\"longmapsto\",b:\"⟼\"},{a:\"longrightarrow\",b:\"⟶\"},{a:\"LongRightArrow\",b:\"⟶\"},{a:\"Longrightarrow\",b:\"⟹\"},{a:\"looparrowleft\",b:\"↫\"},{a:\"looparrowright\",b:\"↬\"},{a:\"lopar\",b:\"⦅\"},{a:\"Lopf\",b:\"𝕃\"},{a:\"lopf\",b:\"𝕝\"},{a:\"loplus\",b:\"⨭\"},{a:\"lotimes\",b:\"⨴\"},{a:\"lowast\",b:\"∗\"},{a:\"lowbar\",b:\"_\"},{a:\"LowerLeftArrow\",b:\"↙\"},{a:\"LowerRightArrow\",b:\"↘\"},{a:\"loz\",b:\"◊\"},{a:\"lozenge\",b:\"◊\"},{a:\"lozf\",b:\"⧫\"},{a:\"lpar\",b:\"(\"},{a:\"lparlt\",b:\"⦓\"},{a:\"lrarr\",b:\"⇆\"},{a:\"lrcorner\",b:\"⌟\"},{a:\"lrhar\",b:\"⇋\"},{a:\"lrhard\",b:\"⥭\"},{a:\"lrm\",b:\"‎\"},{a:\"lrtri\",b:\"⊿\"},{a:\"lsaquo\",b:\"‹\"},{a:\"lscr\",b:\"𝓁\"},{a:\"Lscr\",b:\"ℒ\"},{a:\"lsh\",b:\"↰\"},{a:\"Lsh\",b:\"↰\"},{a:\"lsim\",b:\"≲\"},{a:\"lsime\",b:\"⪍\"},{a:\"lsimg\",b:\"⪏\"},{a:\"lsqb\",b:\"[\"},{a:\"lsquo\",b:\"‘\"},{a:\"lsquor\",b:\"‚\"},{a:\"Lstrok\",b:\"Ł\"},{a:\"lstrok\",b:\"ł\"},{a:\"ltcc\",b:\"⪦\"},{a:\"ltcir\",b:\"⩹\"},{a:\"lt\",b:\"<\"},{a:\"LT\",b:\"<\"},{a:\"Lt\",b:\"≪\"},{a:\"ltdot\",b:\"⋖\"},{a:\"lthree\",b:\"⋋\"},{a:\"ltimes\",b:\"⋉\"},{a:\"ltlarr\",b:\"⥶\"},{a:\"ltquest\",b:\"⩻\"},{a:\"ltri\",b:\"◃\"},{a:\"ltrie\",b:\"⊴\"},{a:\"ltrif\",b:\"◂\"},{a:\"ltrPar\",b:\"⦖\"},{a:\"lurdshar\",b:\"⥊\"},{a:\"luruhar\",b:\"⥦\"},{a:\"lvertneqq\",b:\"≨︀\"},{a:\"lvnE\",b:\"≨︀\"},{a:\"macr\",b:\"¯\"},{a:\"male\",b:\"♂\"},{a:\"malt\",b:\"✠\"},{a:\"maltese\",b:\"✠\"},{a:\"Map\",b:\"⤅\"},{a:\"map\",b:\"↦\"},{a:\"mapsto\",b:\"↦\"},{a:\"mapstodown\",b:\"↧\"},{a:\"mapstoleft\",b:\"↤\"},{a:\"mapstoup\",b:\"↥\"},{a:\"marker\",b:\"▮\"},{a:\"mcomma\",b:\"⨩\"},{a:\"Mcy\",b:\"М\"},{a:\"mcy\",b:\"м\"},{a:\"mdash\",b:\"—\"},{a:\"mDDot\",b:\"∺\"},{a:\"measuredangle\",b:\"∡\"},{a:\"MediumSpace\",b:\" \"},{a:\"Mellintrf\",b:\"ℳ\"},{a:\"Mfr\",b:\"𝔐\"},{a:\"mfr\",b:\"𝔪\"},{a:\"mho\",b:\"℧\"},{a:\"micro\",b:\"µ\"},{a:\"midast\",b:\"*\"},{a:\"midcir\",b:\"⫰\"},{a:\"mid\",b:\"∣\"},{a:\"middot\",b:\"·\"},{a:\"minusb\",b:\"⊟\"},{a:\"minus\",b:\"−\"},{a:\"minusd\",b:\"∸\"},{a:\"minusdu\",b:\"⨪\"},{a:\"MinusPlus\",b:\"∓\"},{a:\"mlcp\",b:\"⫛\"},{a:\"mldr\",b:\"…\"},{a:\"mnplus\",b:\"∓\"},{a:\"models\",b:\"⊧\"},{a:\"Mopf\",b:\"𝕄\"},{a:\"mopf\",b:\"𝕞\"},{a:\"mp\",b:\"∓\"},{a:\"mscr\",b:\"𝓂\"},{a:\"Mscr\",b:\"ℳ\"},{a:\"mstpos\",b:\"∾\"},{a:\"Mu\",b:\"Μ\"},{a:\"mu\",b:\"μ\"},{a:\"multimap\",b:\"⊸\"},{a:\"mumap\",b:\"⊸\"},{a:\"nabla\",b:\"∇\"},{a:\"Nacute\",b:\"Ń\"},{a:\"nacute\",b:\"ń\"},{a:\"nang\",b:\"∠⃒\"},{a:\"nap\",b:\"≉\"},{a:\"napE\",b:\"⩰̸\"},{a:\"napid\",b:\"≋̸\"},{a:\"napos\",b:\"ʼn\"},{a:\"napprox\",b:\"≉\"},{a:\"natural\",b:\"♮\"},{a:\"naturals\",b:\"ℕ\"},{a:\"natur\",b:\"♮\"},{a:\"nbsp\",b:\" \"},{a:\"nbump\",b:\"≎̸\"},{a:\"nbumpe\",b:\"≏̸\"},{a:\"ncap\",b:\"⩃\"},{a:\"Ncaron\",b:\"Ň\"},{a:\"ncaron\",b:\"ň\"},{a:\"Ncedil\",b:\"Ņ\"},{a:\"ncedil\",b:\"ņ\"},{a:\"ncong\",b:\"≇\"},{a:\"ncongdot\",b:\"⩭̸\"},{a:\"ncup\",b:\"⩂\"},{a:\"Ncy\",b:\"Н\"},{a:\"ncy\",b:\"н\"},{a:\"ndash\",b:\"–\"},{a:\"nearhk\",b:\"⤤\"},{a:\"nearr\",b:\"↗\"},{a:\"neArr\",b:\"⇗\"},{a:\"nearrow\",b:\"↗\"},{a:\"ne\",b:\"≠\"},{a:\"nedot\",b:\"≐̸\"},{a:\"NegativeMediumSpace\",b:\"​\"},{a:\"NegativeThickSpace\",b:\"​\"},{a:\"NegativeThinSpace\",b:\"​\"},{a:\"NegativeVeryThinSpace\",b:\"​\"},{a:\"nequiv\",b:\"≢\"},{a:\"nesear\",b:\"⤨\"},{a:\"nesim\",b:\"≂̸\"},{a:\"NestedGreaterGreater\",b:\"≫\"},{a:\"NestedLessLess\",b:\"≪\"},{a:\"NewLine\",b:\"\\n\"},{a:\"nexist\",b:\"∄\"},{a:\"nexists\",b:\"∄\"},{a:\"Nfr\",b:\"𝔑\"},{a:\"nfr\",b:\"𝔫\"},{a:\"ngE\",b:\"≧̸\"},{a:\"nge\",b:\"≱\"},{a:\"ngeq\",b:\"≱\"},{a:\"ngeqq\",b:\"≧̸\"},{a:\"ngeqslant\",b:\"⩾̸\"},{a:\"nges\",b:\"⩾̸\"},{a:\"nGg\",b:\"⋙̸\"},{a:\"ngsim\",b:\"≵\"},{a:\"nGt\",b:\"≫⃒\"},{a:\"ngt\",b:\"≯\"},{a:\"ngtr\",b:\"≯\"},{a:\"nGtv\",b:\"≫̸\"},{a:\"nharr\",b:\"↮\"},{a:\"nhArr\",b:\"⇎\"},{a:\"nhpar\",b:\"⫲\"},{a:\"ni\",b:\"∋\"},{a:\"nis\",b:\"⋼\"},{a:\"nisd\",b:\"⋺\"},{a:\"niv\",b:\"∋\"},{a:\"NJcy\",b:\"Њ\"},{a:\"njcy\",b:\"њ\"},{a:\"nlarr\",b:\"↚\"},{a:\"nlArr\",b:\"⇍\"},{a:\"nldr\",b:\"‥\"},{a:\"nlE\",b:\"≦̸\"},{a:\"nle\",b:\"≰\"},{a:\"nleftarrow\",b:\"↚\"},{a:\"nLeftarrow\",b:\"⇍\"},{a:\"nleftrightarrow\",b:\"↮\"},{a:\"nLeftrightarrow\",b:\"⇎\"},{a:\"nleq\",b:\"≰\"},{a:\"nleqq\",b:\"≦̸\"},{a:\"nleqslant\",b:\"⩽̸\"},{a:\"nles\",b:\"⩽̸\"},{a:\"nless\",b:\"≮\"},{a:\"nLl\",b:\"⋘̸\"},{a:\"nlsim\",b:\"≴\"},{a:\"nLt\",b:\"≪⃒\"},{a:\"nlt\",b:\"≮\"},{a:\"nltri\",b:\"⋪\"},{a:\"nltrie\",b:\"⋬\"},{a:\"nLtv\",b:\"≪̸\"},{a:\"nmid\",b:\"∤\"},{a:\"NoBreak\",b:\"⁠\"},{a:\"NonBreakingSpace\",b:\" \"},{a:\"nopf\",b:\"𝕟\"},{a:\"Nopf\",b:\"ℕ\"},{a:\"Not\",b:\"⫬\"},{a:\"not\",b:\"¬\"},{a:\"NotCongruent\",b:\"≢\"},{a:\"NotCupCap\",b:\"≭\"},{a:\"NotDoubleVerticalBar\",b:\"∦\"},{a:\"NotElement\",b:\"∉\"},{a:\"NotEqual\",b:\"≠\"},{a:\"NotEqualTilde\",b:\"≂̸\"},{a:\"NotExists\",b:\"∄\"},{a:\"NotGreater\",b:\"≯\"},{a:\"NotGreaterEqual\",b:\"≱\"},{a:\"NotGreaterFullEqual\",b:\"≧̸\"},{a:\"NotGreaterGreater\",b:\"≫̸\"},{a:\"NotGreaterLess\",b:\"≹\"},{a:\"NotGreaterSlantEqual\",b:\"⩾̸\"},{a:\"NotGreaterTilde\",b:\"≵\"},{a:\"NotHumpDownHump\",b:\"≎̸\"},{a:\"NotHumpEqual\",b:\"≏̸\"},{a:\"notin\",b:\"∉\"},{a:\"notindot\",b:\"⋵̸\"},{a:\"notinE\",b:\"⋹̸\"},{a:\"notinva\",b:\"∉\"},{a:\"notinvb\",b:\"⋷\"},{a:\"notinvc\",b:\"⋶\"},{a:\"NotLeftTriangleBar\",b:\"⧏̸\"},{a:\"NotLeftTriangle\",b:\"⋪\"},{a:\"NotLeftTriangleEqual\",b:\"⋬\"},{a:\"NotLess\",b:\"≮\"},{a:\"NotLessEqual\",b:\"≰\"},{a:\"NotLessGreater\",b:\"≸\"},{a:\"NotLessLess\",b:\"≪̸\"},{a:\"NotLessSlantEqual\",b:\"⩽̸\"},{a:\"NotLessTilde\",b:\"≴\"},{a:\"NotNestedGreaterGreater\",b:\"⪢̸\"},{a:\"NotNestedLessLess\",b:\"⪡̸\"},{a:\"notni\",b:\"∌\"},{a:\"notniva\",b:\"∌\"},{a:\"notnivb\",b:\"⋾\"},{a:\"notnivc\",b:\"⋽\"},{a:\"NotPrecedes\",b:\"⊀\"},{a:\"NotPrecedesEqual\",b:\"⪯̸\"},{a:\"NotPrecedesSlantEqual\",b:\"⋠\"},{a:\"NotReverseElement\",b:\"∌\"},{a:\"NotRightTriangleBar\",b:\"⧐̸\"},{a:\"NotRightTriangle\",b:\"⋫\"},{a:\"NotRightTriangleEqual\",b:\"⋭\"},{a:\"NotSquareSubset\",b:\"⊏̸\"},{a:\"NotSquareSubsetEqual\",b:\"⋢\"},{a:\"NotSquareSuperset\",b:\"⊐̸\"},{a:\"NotSquareSupersetEqual\",b:\"⋣\"},{a:\"NotSubset\",b:\"⊂⃒\"},{a:\"NotSubsetEqual\",b:\"⊈\"},{a:\"NotSucceeds\",b:\"⊁\"},{a:\"NotSucceedsEqual\",b:\"⪰̸\"},{a:\"NotSucceedsSlantEqual\",b:\"⋡\"},{a:\"NotSucceedsTilde\",b:\"≿̸\"},{a:\"NotSuperset\",b:\"⊃⃒\"},{a:\"NotSupersetEqual\",b:\"⊉\"},{a:\"NotTilde\",b:\"≁\"},{a:\"NotTildeEqual\",b:\"≄\"},{a:\"NotTildeFullEqual\",b:\"≇\"},{a:\"NotTildeTilde\",b:\"≉\"},{a:\"NotVerticalBar\",b:\"∤\"},{a:\"nparallel\",b:\"∦\"},{a:\"npar\",b:\"∦\"},{a:\"nparsl\",b:\"⫽⃥\"},{a:\"npart\",b:\"∂̸\"},{a:\"npolint\",b:\"⨔\"},{a:\"npr\",b:\"⊀\"},{a:\"nprcue\",b:\"⋠\"},{a:\"nprec\",b:\"⊀\"},{a:\"npreceq\",b:\"⪯̸\"},{a:\"npre\",b:\"⪯̸\"},{a:\"nrarrc\",b:\"⤳̸\"},{a:\"nrarr\",b:\"↛\"},{a:\"nrArr\",b:\"⇏\"},{a:\"nrarrw\",b:\"↝̸\"},{a:\"nrightarrow\",b:\"↛\"},{a:\"nRightarrow\",b:\"⇏\"},{a:\"nrtri\",b:\"⋫\"},{a:\"nrtrie\",b:\"⋭\"},{a:\"nsc\",b:\"⊁\"},{a:\"nsccue\",b:\"⋡\"},{a:\"nsce\",b:\"⪰̸\"},{a:\"Nscr\",b:\"𝒩\"},{a:\"nscr\",b:\"𝓃\"},{a:\"nshortmid\",b:\"∤\"},{a:\"nshortparallel\",b:\"∦\"},{a:\"nsim\",b:\"≁\"},{a:\"nsime\",b:\"≄\"},{a:\"nsimeq\",b:\"≄\"},{a:\"nsmid\",b:\"∤\"},{a:\"nspar\",b:\"∦\"},{a:\"nsqsube\",b:\"⋢\"},{a:\"nsqsupe\",b:\"⋣\"},{a:\"nsub\",b:\"⊄\"},{a:\"nsubE\",b:\"⫅̸\"},{a:\"nsube\",b:\"⊈\"},{a:\"nsubset\",b:\"⊂⃒\"},{a:\"nsubseteq\",b:\"⊈\"},{a:\"nsubseteqq\",b:\"⫅̸\"},{a:\"nsucc\",b:\"⊁\"},{a:\"nsucceq\",b:\"⪰̸\"},{a:\"nsup\",b:\"⊅\"},{a:\"nsupE\",b:\"⫆̸\"},{a:\"nsupe\",b:\"⊉\"},{a:\"nsupset\",b:\"⊃⃒\"},{a:\"nsupseteq\",b:\"⊉\"},{a:\"nsupseteqq\",b:\"⫆̸\"},{a:\"ntgl\",b:\"≹\"},{a:\"Ntilde\",b:\"Ñ\"},{a:\"ntilde\",b:\"ñ\"},{a:\"ntlg\",b:\"≸\"},{a:\"ntriangleleft\",b:\"⋪\"},{a:\"ntrianglelefteq\",b:\"⋬\"},{a:\"ntriangleright\",b:\"⋫\"},{a:\"ntrianglerighteq\",b:\"⋭\"},{a:\"Nu\",b:\"Ν\"},{a:\"nu\",b:\"ν\"},{a:\"num\",b:\"#\"},{a:\"numero\",b:\"№\"},{a:\"numsp\",b:\" \"},{a:\"nvap\",b:\"≍⃒\"},{a:\"nvdash\",b:\"⊬\"},{a:\"nvDash\",b:\"⊭\"},{a:\"nVdash\",b:\"⊮\"},{a:\"nVDash\",b:\"⊯\"},{a:\"nvge\",b:\"≥⃒\"},{a:\"nvgt\",b:\">⃒\"},{a:\"nvHarr\",b:\"⤄\"},{a:\"nvinfin\",b:\"⧞\"},{a:\"nvlArr\",b:\"⤂\"},{a:\"nvle\",b:\"≤⃒\"},{a:\"nvlt\",b:\"<⃒\"},{a:\"nvltrie\",b:\"⊴⃒\"},{a:\"nvrArr\",b:\"⤃\"},{a:\"nvrtrie\",b:\"⊵⃒\"},{a:\"nvsim\",b:\"∼⃒\"},{a:\"nwarhk\",b:\"⤣\"},{a:\"nwarr\",b:\"↖\"},{a:\"nwArr\",b:\"⇖\"},{a:\"nwarrow\",b:\"↖\"},{a:\"nwnear\",b:\"⤧\"},{a:\"Oacute\",b:\"Ó\"},{a:\"oacute\",b:\"ó\"},{a:\"oast\",b:\"⊛\"},{a:\"Ocirc\",b:\"Ô\"},{a:\"ocirc\",b:\"ô\"},{a:\"ocir\",b:\"⊚\"},{a:\"Ocy\",b:\"О\"},{a:\"ocy\",b:\"о\"},{a:\"odash\",b:\"⊝\"},{a:\"Odblac\",b:\"Ő\"},{a:\"odblac\",b:\"ő\"},{a:\"odiv\",b:\"⨸\"},{a:\"odot\",b:\"⊙\"},{a:\"odsold\",b:\"⦼\"},{a:\"OElig\",b:\"Œ\"},{a:\"oelig\",b:\"œ\"},{a:\"ofcir\",b:\"⦿\"},{a:\"Ofr\",b:\"𝔒\"},{a:\"ofr\",b:\"𝔬\"},{a:\"ogon\",b:\"˛\"},{a:\"Ograve\",b:\"Ò\"},{a:\"ograve\",b:\"ò\"},{a:\"ogt\",b:\"⧁\"},{a:\"ohbar\",b:\"⦵\"},{a:\"ohm\",b:\"Ω\"},{a:\"oint\",b:\"∮\"},{a:\"olarr\",b:\"↺\"},{a:\"olcir\",b:\"⦾\"},{a:\"olcross\",b:\"⦻\"},{a:\"oline\",b:\"‾\"},{a:\"olt\",b:\"⧀\"},{a:\"Omacr\",b:\"Ō\"},{a:\"omacr\",b:\"ō\"},{a:\"Omega\",b:\"Ω\"},{a:\"omega\",b:\"ω\"},{a:\"Omicron\",b:\"Ο\"},{a:\"omicron\",b:\"ο\"},{a:\"omid\",b:\"⦶\"},{a:\"ominus\",b:\"⊖\"},{a:\"Oopf\",b:\"𝕆\"},{a:\"oopf\",b:\"𝕠\"},{a:\"opar\",b:\"⦷\"},{a:\"OpenCurlyDoubleQuote\",b:\"“\"},{a:\"OpenCurlyQuote\",b:\"‘\"},{a:\"operp\",b:\"⦹\"},{a:\"oplus\",b:\"⊕\"},{a:\"orarr\",b:\"↻\"},{a:\"Or\",b:\"⩔\"},{a:\"or\",b:\"∨\"},{a:\"ord\",b:\"⩝\"},{a:\"order\",b:\"ℴ\"},{a:\"orderof\",b:\"ℴ\"},{a:\"ordf\",b:\"ª\"},{a:\"ordm\",b:\"º\"},{a:\"origof\",b:\"⊶\"},{a:\"oror\",b:\"⩖\"},{a:\"orslope\",b:\"⩗\"},{a:\"orv\",b:\"⩛\"},{a:\"oS\",b:\"Ⓢ\"},{a:\"Oscr\",b:\"𝒪\"},{a:\"oscr\",b:\"ℴ\"},{a:\"Oslash\",b:\"Ø\"},{a:\"oslash\",b:\"ø\"},{a:\"osol\",b:\"⊘\"},{a:\"Otilde\",b:\"Õ\"},{a:\"otilde\",b:\"õ\"},{a:\"otimesas\",b:\"⨶\"},{a:\"Otimes\",b:\"⨷\"},{a:\"otimes\",b:\"⊗\"},{a:\"Ouml\",b:\"Ö\"},{a:\"ouml\",b:\"ö\"},{a:\"ovbar\",b:\"⌽\"},{a:\"OverBar\",b:\"‾\"},{a:\"OverBrace\",b:\"⏞\"},{a:\"OverBracket\",b:\"⎴\"},{a:\"OverParenthesis\",b:\"⏜\"},{a:\"para\",b:\"¶\"},{a:\"parallel\",b:\"∥\"},{a:\"par\",b:\"∥\"},{a:\"parsim\",b:\"⫳\"},{a:\"parsl\",b:\"⫽\"},{a:\"part\",b:\"∂\"},{a:\"PartialD\",b:\"∂\"},{a:\"Pcy\",b:\"П\"},{a:\"pcy\",b:\"п\"},{a:\"percnt\",b:\"%\"},{a:\"period\",b:\".\"},{a:\"permil\",b:\"‰\"},{a:\"perp\",b:\"⊥\"},{a:\"pertenk\",b:\"‱\"},{a:\"Pfr\",b:\"𝔓\"},{a:\"pfr\",b:\"𝔭\"},{a:\"Phi\",b:\"Φ\"},{a:\"phi\",b:\"φ\"},{a:\"phiv\",b:\"ϕ\"},{a:\"phmmat\",b:\"ℳ\"},{a:\"phone\",b:\"☎\"},{a:\"Pi\",b:\"Π\"},{a:\"pi\",b:\"π\"},{a:\"pitchfork\",b:\"⋔\"},{a:\"piv\",b:\"ϖ\"},{a:\"planck\",b:\"ℏ\"},{a:\"planckh\",b:\"ℎ\"},{a:\"plankv\",b:\"ℏ\"},{a:\"plusacir\",b:\"⨣\"},{a:\"plusb\",b:\"⊞\"},{a:\"pluscir\",b:\"⨢\"},{a:\"plus\",b:\"+\"},{a:\"plusdo\",b:\"∔\"},{a:\"plusdu\",b:\"⨥\"},{a:\"pluse\",b:\"⩲\"},{a:\"PlusMinus\",b:\"±\"},{a:\"plusmn\",b:\"±\"},{a:\"plussim\",b:\"⨦\"},{a:\"plustwo\",b:\"⨧\"},{a:\"pm\",b:\"±\"},{a:\"Poincareplane\",b:\"ℌ\"},{a:\"pointint\",b:\"⨕\"},{a:\"popf\",b:\"𝕡\"},{a:\"Popf\",b:\"ℙ\"},{a:\"pound\",b:\"£\"},{a:\"prap\",b:\"⪷\"},{a:\"Pr\",b:\"⪻\"},{a:\"pr\",b:\"≺\"},{a:\"prcue\",b:\"≼\"},{a:\"precapprox\",b:\"⪷\"},{a:\"prec\",b:\"≺\"},{a:\"preccurlyeq\",b:\"≼\"},{a:\"Precedes\",b:\"≺\"},{a:\"PrecedesEqual\",b:\"⪯\"},{a:\"PrecedesSlantEqual\",b:\"≼\"},{a:\"PrecedesTilde\",b:\"≾\"},{a:\"preceq\",b:\"⪯\"},{a:\"precnapprox\",b:\"⪹\"},{a:\"precneqq\",b:\"⪵\"},{a:\"precnsim\",b:\"⋨\"},{a:\"pre\",b:\"⪯\"},{a:\"prE\",b:\"⪳\"},{a:\"precsim\",b:\"≾\"},{a:\"prime\",b:\"′\"},{a:\"Prime\",b:\"″\"},{a:\"primes\",b:\"ℙ\"},{a:\"prnap\",b:\"⪹\"},{a:\"prnE\",b:\"⪵\"},{a:\"prnsim\",b:\"⋨\"},{a:\"prod\",b:\"∏\"},{a:\"Product\",b:\"∏\"},{a:\"profalar\",b:\"⌮\"},{a:\"profline\",b:\"⌒\"},{a:\"profsurf\",b:\"⌓\"},{a:\"prop\",b:\"∝\"},{a:\"Proportional\",b:\"∝\"},{a:\"Proportion\",b:\"∷\"},{a:\"propto\",b:\"∝\"},{a:\"prsim\",b:\"≾\"},{a:\"prurel\",b:\"⊰\"},{a:\"Pscr\",b:\"𝒫\"},{a:\"pscr\",b:\"𝓅\"},{a:\"Psi\",b:\"Ψ\"},{a:\"psi\",b:\"ψ\"},{a:\"puncsp\",b:\" \"},{a:\"Qfr\",b:\"𝔔\"},{a:\"qfr\",b:\"𝔮\"},{a:\"qint\",b:\"⨌\"},{a:\"qopf\",b:\"𝕢\"},{a:\"Qopf\",b:\"ℚ\"},{a:\"qprime\",b:\"⁗\"},{a:\"Qscr\",b:\"𝒬\"},{a:\"qscr\",b:\"𝓆\"},{a:\"quaternions\",b:\"ℍ\"},{a:\"quatint\",b:\"⨖\"},{a:\"quest\",b:\"?\"},{a:\"questeq\",b:\"≟\"},{a:\"quot\",b:'\"'},{a:\"QUOT\",b:'\"'},{a:\"rAarr\",b:\"⇛\"},{a:\"race\",b:\"∽̱\"},{a:\"Racute\",b:\"Ŕ\"},{a:\"racute\",b:\"ŕ\"},{a:\"radic\",b:\"√\"},{a:\"raemptyv\",b:\"⦳\"},{a:\"rang\",b:\"⟩\"},{a:\"Rang\",b:\"⟫\"},{a:\"rangd\",b:\"⦒\"},{a:\"range\",b:\"⦥\"},{a:\"rangle\",b:\"⟩\"},{a:\"raquo\",b:\"»\"},{a:\"rarrap\",b:\"⥵\"},{a:\"rarrb\",b:\"⇥\"},{a:\"rarrbfs\",b:\"⤠\"},{a:\"rarrc\",b:\"⤳\"},{a:\"rarr\",b:\"→\"},{a:\"Rarr\",b:\"↠\"},{a:\"rArr\",b:\"⇒\"},{a:\"rarrfs\",b:\"⤞\"},{a:\"rarrhk\",b:\"↪\"},{a:\"rarrlp\",b:\"↬\"},{a:\"rarrpl\",b:\"⥅\"},{a:\"rarrsim\",b:\"⥴\"},{a:\"Rarrtl\",b:\"⤖\"},{a:\"rarrtl\",b:\"↣\"},{a:\"rarrw\",b:\"↝\"},{a:\"ratail\",b:\"⤚\"},{a:\"rAtail\",b:\"⤜\"},{a:\"ratio\",b:\"∶\"},{a:\"rationals\",b:\"ℚ\"},{a:\"rbarr\",b:\"⤍\"},{a:\"rBarr\",b:\"⤏\"},{a:\"RBarr\",b:\"⤐\"},{a:\"rbbrk\",b:\"❳\"},{a:\"rbrace\",b:\"}\"},{a:\"rbrack\",b:\"]\"},{a:\"rbrke\",b:\"⦌\"},{a:\"rbrksld\",b:\"⦎\"},{a:\"rbrkslu\",b:\"⦐\"},{a:\"Rcaron\",b:\"Ř\"},{a:\"rcaron\",b:\"ř\"},{a:\"Rcedil\",b:\"Ŗ\"},{a:\"rcedil\",b:\"ŗ\"},{a:\"rceil\",b:\"⌉\"},{a:\"rcub\",b:\"}\"},{a:\"Rcy\",b:\"Р\"},{a:\"rcy\",b:\"р\"},{a:\"rdca\",b:\"⤷\"},{a:\"rdldhar\",b:\"⥩\"},{a:\"rdquo\",b:\"”\"},{a:\"rdquor\",b:\"”\"},{a:\"rdsh\",b:\"↳\"},{a:\"real\",b:\"ℜ\"},{a:\"realine\",b:\"ℛ\"},{a:\"realpart\",b:\"ℜ\"},{a:\"reals\",b:\"ℝ\"},{a:\"Re\",b:\"ℜ\"},{a:\"rect\",b:\"▭\"},{a:\"reg\",b:\"®\"},{a:\"REG\",b:\"®\"},{a:\"ReverseElement\",b:\"∋\"},{a:\"ReverseEquilibrium\",b:\"⇋\"},{a:\"ReverseUpEquilibrium\",b:\"⥯\"},{a:\"rfisht\",b:\"⥽\"},{a:\"rfloor\",b:\"⌋\"},{a:\"rfr\",b:\"𝔯\"},{a:\"Rfr\",b:\"ℜ\"},{a:\"rHar\",b:\"⥤\"},{a:\"rhard\",b:\"⇁\"},{a:\"rharu\",b:\"⇀\"},{a:\"rharul\",b:\"⥬\"},{a:\"Rho\",b:\"Ρ\"},{a:\"rho\",b:\"ρ\"},{a:\"rhov\",b:\"ϱ\"},{a:\"RightAngleBracket\",b:\"⟩\"},{a:\"RightArrowBar\",b:\"⇥\"},{a:\"rightarrow\",b:\"→\"},{a:\"RightArrow\",b:\"→\"},{a:\"Rightarrow\",b:\"⇒\"},{a:\"RightArrowLeftArrow\",b:\"⇄\"},{a:\"rightarrowtail\",b:\"↣\"},{a:\"RightCeiling\",b:\"⌉\"},{a:\"RightDoubleBracket\",b:\"⟧\"},{a:\"RightDownTeeVector\",b:\"⥝\"},{a:\"RightDownVectorBar\",b:\"⥕\"},{a:\"RightDownVector\",b:\"⇂\"},{a:\"RightFloor\",b:\"⌋\"},{a:\"rightharpoondown\",b:\"⇁\"},{a:\"rightharpoonup\",b:\"⇀\"},{a:\"rightleftarrows\",b:\"⇄\"},{a:\"rightleftharpoons\",b:\"⇌\"},{a:\"rightrightarrows\",b:\"⇉\"},{a:\"rightsquigarrow\",b:\"↝\"},{a:\"RightTeeArrow\",b:\"↦\"},{a:\"RightTee\",b:\"⊢\"},{a:\"RightTeeVector\",b:\"⥛\"},{a:\"rightthreetimes\",b:\"⋌\"},{a:\"RightTriangleBar\",b:\"⧐\"},{a:\"RightTriangle\",b:\"⊳\"},{a:\"RightTriangleEqual\",b:\"⊵\"},{a:\"RightUpDownVector\",b:\"⥏\"},{a:\"RightUpTeeVector\",b:\"⥜\"},{a:\"RightUpVectorBar\",b:\"⥔\"},{a:\"RightUpVector\",b:\"↾\"},{a:\"RightVectorBar\",b:\"⥓\"},{a:\"RightVector\",b:\"⇀\"},{a:\"ring\",b:\"˚\"},{a:\"risingdotseq\",b:\"≓\"},{a:\"rlarr\",b:\"⇄\"},{a:\"rlhar\",b:\"⇌\"},{a:\"rlm\",b:\"‏\"},{a:\"rmoustache\",b:\"⎱\"},{a:\"rmoust\",b:\"⎱\"},{a:\"rnmid\",b:\"⫮\"},{a:\"roang\",b:\"⟭\"},{a:\"roarr\",b:\"⇾\"},{a:\"robrk\",b:\"⟧\"},{a:\"ropar\",b:\"⦆\"},{a:\"ropf\",b:\"𝕣\"},{a:\"Ropf\",b:\"ℝ\"},{a:\"roplus\",b:\"⨮\"},{a:\"rotimes\",b:\"⨵\"},{a:\"RoundImplies\",b:\"⥰\"},{a:\"rpar\",b:\")\"},{a:\"rpargt\",b:\"⦔\"},{a:\"rppolint\",b:\"⨒\"},{a:\"rrarr\",b:\"⇉\"},{a:\"Rrightarrow\",b:\"⇛\"},{a:\"rsaquo\",b:\"›\"},{a:\"rscr\",b:\"𝓇\"},{a:\"Rscr\",b:\"ℛ\"},{a:\"rsh\",b:\"↱\"},{a:\"Rsh\",b:\"↱\"},{a:\"rsqb\",b:\"]\"},{a:\"rsquo\",b:\"’\"},{a:\"rsquor\",b:\"’\"},{a:\"rthree\",b:\"⋌\"},{a:\"rtimes\",b:\"⋊\"},{a:\"rtri\",b:\"▹\"},{a:\"rtrie\",b:\"⊵\"},{a:\"rtrif\",b:\"▸\"},{a:\"rtriltri\",b:\"⧎\"},{a:\"RuleDelayed\",b:\"⧴\"},{a:\"ruluhar\",b:\"⥨\"},{a:\"rx\",b:\"℞\"},{a:\"Sacute\",b:\"Ś\"},{a:\"sacute\",b:\"ś\"},{a:\"sbquo\",b:\"‚\"},{a:\"scap\",b:\"⪸\"},{a:\"Scaron\",b:\"Š\"},{a:\"scaron\",b:\"š\"},{a:\"Sc\",b:\"⪼\"},{a:\"sc\",b:\"≻\"},{a:\"sccue\",b:\"≽\"},{a:\"sce\",b:\"⪰\"},{a:\"scE\",b:\"⪴\"},{a:\"Scedil\",b:\"Ş\"},{a:\"scedil\",b:\"ş\"},{a:\"Scirc\",b:\"Ŝ\"},{a:\"scirc\",b:\"ŝ\"},{a:\"scnap\",b:\"⪺\"},{a:\"scnE\",b:\"⪶\"},{a:\"scnsim\",b:\"⋩\"},{a:\"scpolint\",b:\"⨓\"},{a:\"scsim\",b:\"≿\"},{a:\"Scy\",b:\"С\"},{a:\"scy\",b:\"с\"},{a:\"sdotb\",b:\"⊡\"},{a:\"sdot\",b:\"⋅\"},{a:\"sdote\",b:\"⩦\"},{a:\"searhk\",b:\"⤥\"},{a:\"searr\",b:\"↘\"},{a:\"seArr\",b:\"⇘\"},{a:\"searrow\",b:\"↘\"},{a:\"sect\",b:\"§\"},{a:\"semi\",b:\";\"},{a:\"seswar\",b:\"⤩\"},{a:\"setminus\",b:\"∖\"},{a:\"setmn\",b:\"∖\"},{a:\"sext\",b:\"✶\"},{a:\"Sfr\",b:\"𝔖\"},{a:\"sfr\",b:\"𝔰\"},{a:\"sfrown\",b:\"⌢\"},{a:\"sharp\",b:\"♯\"},{a:\"SHCHcy\",b:\"Щ\"},{a:\"shchcy\",b:\"щ\"},{a:\"SHcy\",b:\"Ш\"},{a:\"shcy\",b:\"ш\"},{a:\"ShortDownArrow\",b:\"↓\"},{a:\"ShortLeftArrow\",b:\"←\"},{a:\"shortmid\",b:\"∣\"},{a:\"shortparallel\",b:\"∥\"},{a:\"ShortRightArrow\",b:\"→\"},{a:\"ShortUpArrow\",b:\"↑\"},{a:\"shy\",b:\"­\"},{a:\"Sigma\",b:\"Σ\"},{a:\"sigma\",b:\"σ\"},{a:\"sigmaf\",b:\"ς\"},{a:\"sigmav\",b:\"ς\"},{a:\"sim\",b:\"∼\"},{a:\"simdot\",b:\"⩪\"},{a:\"sime\",b:\"≃\"},{a:\"simeq\",b:\"≃\"},{a:\"simg\",b:\"⪞\"},{a:\"simgE\",b:\"⪠\"},{a:\"siml\",b:\"⪝\"},{a:\"simlE\",b:\"⪟\"},{a:\"simne\",b:\"≆\"},{a:\"simplus\",b:\"⨤\"},{a:\"simrarr\",b:\"⥲\"},{a:\"slarr\",b:\"←\"},{a:\"SmallCircle\",b:\"∘\"},{a:\"smallsetminus\",b:\"∖\"},{a:\"smashp\",b:\"⨳\"},{a:\"smeparsl\",b:\"⧤\"},{a:\"smid\",b:\"∣\"},{a:\"smile\",b:\"⌣\"},{a:\"smt\",b:\"⪪\"},{a:\"smte\",b:\"⪬\"},{a:\"smtes\",b:\"⪬︀\"},{a:\"SOFTcy\",b:\"Ь\"},{a:\"softcy\",b:\"ь\"},{a:\"solbar\",b:\"⌿\"},{a:\"solb\",b:\"⧄\"},{a:\"sol\",b:\"/\"},{a:\"Sopf\",b:\"𝕊\"},{a:\"sopf\",b:\"𝕤\"},{a:\"spades\",b:\"♠\"},{a:\"spadesuit\",b:\"♠\"},{a:\"spar\",b:\"∥\"},{a:\"sqcap\",b:\"⊓\"},{a:\"sqcaps\",b:\"⊓︀\"},{a:\"sqcup\",b:\"⊔\"},{a:\"sqcups\",b:\"⊔︀\"},{a:\"Sqrt\",b:\"√\"},{a:\"sqsub\",b:\"⊏\"},{a:\"sqsube\",b:\"⊑\"},{a:\"sqsubset\",b:\"⊏\"},{a:\"sqsubseteq\",b:\"⊑\"},{a:\"sqsup\",b:\"⊐\"},{a:\"sqsupe\",b:\"⊒\"},{a:\"sqsupset\",b:\"⊐\"},{a:\"sqsupseteq\",b:\"⊒\"},{a:\"square\",b:\"□\"},{a:\"Square\",b:\"□\"},{a:\"SquareIntersection\",b:\"⊓\"},{a:\"SquareSubset\",b:\"⊏\"},{a:\"SquareSubsetEqual\",b:\"⊑\"},{a:\"SquareSuperset\",b:\"⊐\"},{a:\"SquareSupersetEqual\",b:\"⊒\"},{a:\"SquareUnion\",b:\"⊔\"},{a:\"squarf\",b:\"▪\"},{a:\"squ\",b:\"□\"},{a:\"squf\",b:\"▪\"},{a:\"srarr\",b:\"→\"},{a:\"Sscr\",b:\"𝒮\"},{a:\"sscr\",b:\"𝓈\"},{a:\"ssetmn\",b:\"∖\"},{a:\"ssmile\",b:\"⌣\"},{a:\"sstarf\",b:\"⋆\"},{a:\"Star\",b:\"⋆\"},{a:\"star\",b:\"☆\"},{a:\"starf\",b:\"★\"},{a:\"straightepsilon\",b:\"ϵ\"},{a:\"straightphi\",b:\"ϕ\"},{a:\"strns\",b:\"¯\"},{a:\"sub\",b:\"⊂\"},{a:\"Sub\",b:\"⋐\"},{a:\"subdot\",b:\"⪽\"},{a:\"subE\",b:\"⫅\"},{a:\"sube\",b:\"⊆\"},{a:\"subedot\",b:\"⫃\"},{a:\"submult\",b:\"⫁\"},{a:\"subnE\",b:\"⫋\"},{a:\"subne\",b:\"⊊\"},{a:\"subplus\",b:\"⪿\"},{a:\"subrarr\",b:\"⥹\"},{a:\"subset\",b:\"⊂\"},{a:\"Subset\",b:\"⋐\"},{a:\"subseteq\",b:\"⊆\"},{a:\"subseteqq\",b:\"⫅\"},{a:\"SubsetEqual\",b:\"⊆\"},{a:\"subsetneq\",b:\"⊊\"},{a:\"subsetneqq\",b:\"⫋\"},{a:\"subsim\",b:\"⫇\"},{a:\"subsub\",b:\"⫕\"},{a:\"subsup\",b:\"⫓\"},{a:\"succapprox\",b:\"⪸\"},{a:\"succ\",b:\"≻\"},{a:\"succcurlyeq\",b:\"≽\"},{a:\"Succeeds\",b:\"≻\"},{a:\"SucceedsEqual\",b:\"⪰\"},{a:\"SucceedsSlantEqual\",b:\"≽\"},{a:\"SucceedsTilde\",b:\"≿\"},{a:\"succeq\",b:\"⪰\"},{a:\"succnapprox\",b:\"⪺\"},{a:\"succneqq\",b:\"⪶\"},{a:\"succnsim\",b:\"⋩\"},{a:\"succsim\",b:\"≿\"},{a:\"SuchThat\",b:\"∋\"},{a:\"sum\",b:\"∑\"},{a:\"Sum\",b:\"∑\"},{a:\"sung\",b:\"♪\"},{a:\"sup1\",b:\"¹\"},{a:\"sup2\",b:\"²\"},{a:\"sup3\",b:\"³\"},{a:\"sup\",b:\"⊃\"},{a:\"Sup\",b:\"⋑\"},{a:\"supdot\",b:\"⪾\"},{a:\"supdsub\",b:\"⫘\"},{a:\"supE\",b:\"⫆\"},{a:\"supe\",b:\"⊇\"},{a:\"supedot\",b:\"⫄\"},{a:\"Superset\",b:\"⊃\"},{a:\"SupersetEqual\",b:\"⊇\"},{a:\"suphsol\",b:\"⟉\"},{a:\"suphsub\",b:\"⫗\"},{a:\"suplarr\",b:\"⥻\"},{a:\"supmult\",b:\"⫂\"},{a:\"supnE\",b:\"⫌\"},{a:\"supne\",b:\"⊋\"},{a:\"supplus\",b:\"⫀\"},{a:\"supset\",b:\"⊃\"},{a:\"Supset\",b:\"⋑\"},{a:\"supseteq\",b:\"⊇\"},{a:\"supseteqq\",b:\"⫆\"},{a:\"supsetneq\",b:\"⊋\"},{a:\"supsetneqq\",b:\"⫌\"},{a:\"supsim\",b:\"⫈\"},{a:\"supsub\",b:\"⫔\"},{a:\"supsup\",b:\"⫖\"},{a:\"swarhk\",b:\"⤦\"},{a:\"swarr\",b:\"↙\"},{a:\"swArr\",b:\"⇙\"},{a:\"swarrow\",b:\"↙\"},{a:\"swnwar\",b:\"⤪\"},{a:\"szlig\",b:\"ß\"},{a:\"Tab\",b:\"\t\"},{a:\"target\",b:\"⌖\"},{a:\"Tau\",b:\"Τ\"},{a:\"tau\",b:\"τ\"},{a:\"tbrk\",b:\"⎴\"},{a:\"Tcaron\",b:\"Ť\"},{a:\"tcaron\",b:\"ť\"},{a:\"Tcedil\",b:\"Ţ\"},{a:\"tcedil\",b:\"ţ\"},{a:\"Tcy\",b:\"Т\"},{a:\"tcy\",b:\"т\"},{a:\"tdot\",b:\"⃛\"},{a:\"telrec\",b:\"⌕\"},{a:\"Tfr\",b:\"𝔗\"},{a:\"tfr\",b:\"𝔱\"},{a:\"there4\",b:\"∴\"},{a:\"therefore\",b:\"∴\"},{a:\"Therefore\",b:\"∴\"},{a:\"Theta\",b:\"Θ\"},{a:\"theta\",b:\"θ\"},{a:\"thetasym\",b:\"ϑ\"},{a:\"thetav\",b:\"ϑ\"},{a:\"thickapprox\",b:\"≈\"},{a:\"thicksim\",b:\"∼\"},{a:\"ThickSpace\",b:\"  \"},{a:\"ThinSpace\",b:\" \"},{a:\"thinsp\",b:\" \"},{a:\"thkap\",b:\"≈\"},{a:\"thksim\",b:\"∼\"},{a:\"THORN\",b:\"Þ\"},{a:\"thorn\",b:\"þ\"},{a:\"tilde\",b:\"˜\"},{a:\"Tilde\",b:\"∼\"},{a:\"TildeEqual\",b:\"≃\"},{a:\"TildeFullEqual\",b:\"≅\"},{a:\"TildeTilde\",b:\"≈\"},{a:\"timesbar\",b:\"⨱\"},{a:\"timesb\",b:\"⊠\"},{a:\"times\",b:\"×\"},{a:\"timesd\",b:\"⨰\"},{a:\"tint\",b:\"∭\"},{a:\"toea\",b:\"⤨\"},{a:\"topbot\",b:\"⌶\"},{a:\"topcir\",b:\"⫱\"},{a:\"top\",b:\"⊤\"},{a:\"Topf\",b:\"𝕋\"},{a:\"topf\",b:\"𝕥\"},{a:\"topfork\",b:\"⫚\"},{a:\"tosa\",b:\"⤩\"},{a:\"tprime\",b:\"‴\"},{a:\"trade\",b:\"™\"},{a:\"TRADE\",b:\"™\"},{a:\"triangle\",b:\"▵\"},{a:\"triangledown\",b:\"▿\"},{a:\"triangleleft\",b:\"◃\"},{a:\"trianglelefteq\",b:\"⊴\"},{a:\"triangleq\",b:\"≜\"},{a:\"triangleright\",b:\"▹\"},{a:\"trianglerighteq\",b:\"⊵\"},{a:\"tridot\",b:\"◬\"},{a:\"trie\",b:\"≜\"},{a:\"triminus\",b:\"⨺\"},{a:\"TripleDot\",b:\"⃛\"},{a:\"triplus\",b:\"⨹\"},{a:\"trisb\",b:\"⧍\"},{a:\"tritime\",b:\"⨻\"},{a:\"trpezium\",b:\"⏢\"},{a:\"Tscr\",b:\"𝒯\"},{a:\"tscr\",b:\"𝓉\"},{a:\"TScy\",b:\"Ц\"},{a:\"tscy\",b:\"ц\"},{a:\"TSHcy\",b:\"Ћ\"},{a:\"tshcy\",b:\"ћ\"},{a:\"Tstrok\",b:\"Ŧ\"},{a:\"tstrok\",b:\"ŧ\"},{a:\"twixt\",b:\"≬\"},{a:\"twoheadleftarrow\",b:\"↞\"},{a:\"twoheadrightarrow\",b:\"↠\"},{a:\"Uacute\",b:\"Ú\"},{a:\"uacute\",b:\"ú\"},{a:\"uarr\",b:\"↑\"},{a:\"Uarr\",b:\"↟\"},{a:\"uArr\",b:\"⇑\"},{a:\"Uarrocir\",b:\"⥉\"},{a:\"Ubrcy\",b:\"Ў\"},{a:\"ubrcy\",b:\"ў\"},{a:\"Ubreve\",b:\"Ŭ\"},{a:\"ubreve\",b:\"ŭ\"},{a:\"Ucirc\",b:\"Û\"},{a:\"ucirc\",b:\"û\"},{a:\"Ucy\",b:\"У\"},{a:\"ucy\",b:\"у\"},{a:\"udarr\",b:\"⇅\"},{a:\"Udblac\",b:\"Ű\"},{a:\"udblac\",b:\"ű\"},{a:\"udhar\",b:\"⥮\"},{a:\"ufisht\",b:\"⥾\"},{a:\"Ufr\",b:\"𝔘\"},{a:\"ufr\",b:\"𝔲\"},{a:\"Ugrave\",b:\"Ù\"},{a:\"ugrave\",b:\"ù\"},{a:\"uHar\",b:\"⥣\"},{a:\"uharl\",b:\"↿\"},{a:\"uharr\",b:\"↾\"},{a:\"uhblk\",b:\"▀\"},{a:\"ulcorn\",b:\"⌜\"},{a:\"ulcorner\",b:\"⌜\"},{a:\"ulcrop\",b:\"⌏\"},{a:\"ultri\",b:\"◸\"},{a:\"Umacr\",b:\"Ū\"},{a:\"umacr\",b:\"ū\"},{a:\"uml\",b:\"¨\"},{a:\"UnderBar\",b:\"_\"},{a:\"UnderBrace\",b:\"⏟\"},{a:\"UnderBracket\",b:\"⎵\"},{a:\"UnderParenthesis\",b:\"⏝\"},{a:\"Union\",b:\"⋃\"},{a:\"UnionPlus\",b:\"⊎\"},{a:\"Uogon\",b:\"Ų\"},{a:\"uogon\",b:\"ų\"},{a:\"Uopf\",b:\"𝕌\"},{a:\"uopf\",b:\"𝕦\"},{a:\"UpArrowBar\",b:\"⤒\"},{a:\"uparrow\",b:\"↑\"},{a:\"UpArrow\",b:\"↑\"},{a:\"Uparrow\",b:\"⇑\"},{a:\"UpArrowDownArrow\",b:\"⇅\"},{a:\"updownarrow\",b:\"↕\"},{a:\"UpDownArrow\",b:\"↕\"},{a:\"Updownarrow\",b:\"⇕\"},{a:\"UpEquilibrium\",b:\"⥮\"},{a:\"upharpoonleft\",b:\"↿\"},{a:\"upharpoonright\",b:\"↾\"},{a:\"uplus\",b:\"⊎\"},{a:\"UpperLeftArrow\",b:\"↖\"},{a:\"UpperRightArrow\",b:\"↗\"},{a:\"upsi\",b:\"υ\"},{a:\"Upsi\",b:\"ϒ\"},{a:\"upsih\",b:\"ϒ\"},{a:\"Upsilon\",b:\"Υ\"},{a:\"upsilon\",b:\"υ\"},{a:\"UpTeeArrow\",b:\"↥\"},{a:\"UpTee\",b:\"⊥\"},{a:\"upuparrows\",b:\"⇈\"},{a:\"urcorn\",b:\"⌝\"},{a:\"urcorner\",b:\"⌝\"},{a:\"urcrop\",b:\"⌎\"},{a:\"Uring\",b:\"Ů\"},{a:\"uring\",b:\"ů\"},{a:\"urtri\",b:\"◹\"},{a:\"Uscr\",b:\"𝒰\"},{a:\"uscr\",b:\"𝓊\"},{a:\"utdot\",b:\"⋰\"},{a:\"Utilde\",b:\"Ũ\"},{a:\"utilde\",b:\"ũ\"},{a:\"utri\",b:\"▵\"},{a:\"utrif\",b:\"▴\"},{a:\"uuarr\",b:\"⇈\"},{a:\"Uuml\",b:\"Ü\"},{a:\"uuml\",b:\"ü\"},{a:\"uwangle\",b:\"⦧\"},{a:\"vangrt\",b:\"⦜\"},{a:\"varepsilon\",b:\"ϵ\"},{a:\"varkappa\",b:\"ϰ\"},{a:\"varnothing\",b:\"∅\"},{a:\"varphi\",b:\"ϕ\"},{a:\"varpi\",b:\"ϖ\"},{a:\"varpropto\",b:\"∝\"},{a:\"varr\",b:\"↕\"},{a:\"vArr\",b:\"⇕\"},{a:\"varrho\",b:\"ϱ\"},{a:\"varsigma\",b:\"ς\"},{a:\"varsubsetneq\",b:\"⊊︀\"},{a:\"varsubsetneqq\",b:\"⫋︀\"},{a:\"varsupsetneq\",b:\"⊋︀\"},{a:\"varsupsetneqq\",b:\"⫌︀\"},{a:\"vartheta\",b:\"ϑ\"},{a:\"vartriangleleft\",b:\"⊲\"},{a:\"vartriangleright\",b:\"⊳\"},{a:\"vBar\",b:\"⫨\"},{a:\"Vbar\",b:\"⫫\"},{a:\"vBarv\",b:\"⫩\"},{a:\"Vcy\",b:\"В\"},{a:\"vcy\",b:\"в\"},{a:\"vdash\",b:\"⊢\"},{a:\"vDash\",b:\"⊨\"},{a:\"Vdash\",b:\"⊩\"},{a:\"VDash\",b:\"⊫\"},{a:\"Vdashl\",b:\"⫦\"},{a:\"veebar\",b:\"⊻\"},{a:\"vee\",b:\"∨\"},{a:\"Vee\",b:\"⋁\"},{a:\"veeeq\",b:\"≚\"},{a:\"vellip\",b:\"⋮\"},{a:\"verbar\",b:\"|\"},{a:\"Verbar\",b:\"‖\"},{a:\"vert\",b:\"|\"},{a:\"Vert\",b:\"‖\"},{a:\"VerticalBar\",b:\"∣\"},{a:\"VerticalLine\",b:\"|\"},{a:\"VerticalSeparator\",b:\"❘\"},{a:\"VerticalTilde\",b:\"≀\"},{a:\"VeryThinSpace\",b:\" \"},{a:\"Vfr\",b:\"𝔙\"},{a:\"vfr\",b:\"𝔳\"},{a:\"vltri\",b:\"⊲\"},{a:\"vnsub\",b:\"⊂⃒\"},{a:\"vnsup\",b:\"⊃⃒\"},{a:\"Vopf\",b:\"𝕍\"},{a:\"vopf\",b:\"𝕧\"},{a:\"vprop\",b:\"∝\"},{a:\"vrtri\",b:\"⊳\"},{a:\"Vscr\",b:\"𝒱\"},{a:\"vscr\",b:\"𝓋\"},{a:\"vsubnE\",b:\"⫋︀\"},{a:\"vsubne\",b:\"⊊︀\"},{a:\"vsupnE\",b:\"⫌︀\"},{a:\"vsupne\",b:\"⊋︀\"},{a:\"Vvdash\",b:\"⊪\"},{a:\"vzigzag\",b:\"⦚\"},{a:\"Wcirc\",b:\"Ŵ\"},{a:\"wcirc\",b:\"ŵ\"},{a:\"wedbar\",b:\"⩟\"},{a:\"wedge\",b:\"∧\"},{a:\"Wedge\",b:\"⋀\"},{a:\"wedgeq\",b:\"≙\"},{a:\"weierp\",b:\"℘\"},{a:\"Wfr\",b:\"𝔚\"},{a:\"wfr\",b:\"𝔴\"},{a:\"Wopf\",b:\"𝕎\"},{a:\"wopf\",b:\"𝕨\"},{a:\"wp\",b:\"℘\"},{a:\"wr\",b:\"≀\"},{a:\"wreath\",b:\"≀\"},{a:\"Wscr\",b:\"𝒲\"},{a:\"wscr\",b:\"𝓌\"},{a:\"xcap\",b:\"⋂\"},{a:\"xcirc\",b:\"◯\"},{a:\"xcup\",b:\"⋃\"},{a:\"xdtri\",b:\"▽\"},{a:\"Xfr\",b:\"𝔛\"},{a:\"xfr\",b:\"𝔵\"},{a:\"xharr\",b:\"⟷\"},{a:\"xhArr\",b:\"⟺\"},{a:\"Xi\",b:\"Ξ\"},{a:\"xi\",b:\"ξ\"},{a:\"xlarr\",b:\"⟵\"},{a:\"xlArr\",b:\"⟸\"},{a:\"xmap\",b:\"⟼\"},{a:\"xnis\",b:\"⋻\"},{a:\"xodot\",b:\"⨀\"},{a:\"Xopf\",b:\"𝕏\"},{a:\"xopf\",b:\"𝕩\"},{a:\"xoplus\",b:\"⨁\"},{a:\"xotime\",b:\"⨂\"},{a:\"xrarr\",b:\"⟶\"},{a:\"xrArr\",b:\"⟹\"},{a:\"Xscr\",b:\"𝒳\"},{a:\"xscr\",b:\"𝓍\"},{a:\"xsqcup\",b:\"⨆\"},{a:\"xuplus\",b:\"⨄\"},{a:\"xutri\",b:\"△\"},{a:\"xvee\",b:\"⋁\"},{a:\"xwedge\",b:\"⋀\"},{a:\"Yacute\",b:\"Ý\"},{a:\"yacute\",b:\"ý\"},{a:\"YAcy\",b:\"Я\"},{a:\"yacy\",b:\"я\"},{a:\"Ycirc\",b:\"Ŷ\"},{a:\"ycirc\",b:\"ŷ\"},{a:\"Ycy\",b:\"Ы\"},{a:\"ycy\",b:\"ы\"},{a:\"yen\",b:\"¥\"},{a:\"Yfr\",b:\"𝔜\"},{a:\"yfr\",b:\"𝔶\"},{a:\"YIcy\",b:\"Ї\"},{a:\"yicy\",b:\"ї\"},{a:\"Yopf\",b:\"𝕐\"},{a:\"yopf\",b:\"𝕪\"},{a:\"Yscr\",b:\"𝒴\"},{a:\"yscr\",b:\"𝓎\"},{a:\"YUcy\",b:\"Ю\"},{a:\"yucy\",b:\"ю\"},{a:\"yuml\",b:\"ÿ\"},{a:\"Yuml\",b:\"Ÿ\"},{a:\"Zacute\",b:\"Ź\"},{a:\"zacute\",b:\"ź\"},{a:\"Zcaron\",b:\"Ž\"},{a:\"zcaron\",b:\"ž\"},{a:\"Zcy\",b:\"З\"},{a:\"zcy\",b:\"з\"},{a:\"Zdot\",b:\"Ż\"},{a:\"zdot\",b:\"ż\"},{a:\"zeetrf\",b:\"ℨ\"},{a:\"ZeroWidthSpace\",b:\"​\"},{a:\"Zeta\",b:\"Ζ\"},{a:\"zeta\",b:\"ζ\"},{a:\"zfr\",b:\"𝔷\"},{a:\"Zfr\",b:\"ℨ\"},{a:\"ZHcy\",b:\"Ж\"},{a:\"zhcy\",b:\"ж\"},{a:\"zigrarr\",b:\"⇝\"},{a:\"zopf\",b:\"𝕫\"},{a:\"Zopf\",b:\"ℤ\"},{a:\"Zscr\",b:\"𝒵\"},{a:\"zscr\",b:\"𝓏\"},{a:\"zwj\",b:\"‍\"},{a:\"zwnj\",b:\"‌\"}])),fw=I(fr,function(e){return I(nU,\"&\"+e+\";\",I(rO,e,fm))},d1(dQ(ak))),fx=function(e){return I(J,e,\"\")},fy=m(function(e,t,a){for(;;)if(!t.b)return av(a);else{var r=t.a,n=t.b;switch(r){case\"0\":var i=e-1,o=n,u=a;e=i,t=o,a=u;continue;case\"1\":var i=e-1,o=n,u=a+I(j,16,e);e=i,t=o,a=u;continue;case\"2\":var i=e-1,o=n,u=a+2*I(j,16,e);e=i,t=o,a=u;continue;case\"3\":var i=e-1,o=n,u=a+3*I(j,16,e);e=i,t=o,a=u;continue;case\"4\":var i=e-1,o=n,u=a+4*I(j,16,e);e=i,t=o,a=u;continue;case\"5\":var i=e-1,o=n,u=a+5*I(j,16,e);e=i,t=o,a=u;continue;case\"6\":var i=e-1,o=n,u=a+6*I(j,16,e);e=i,t=o,a=u;continue;case\"7\":var i=e-1,o=n,u=a+7*I(j,16,e);e=i,t=o,a=u;continue;case\"8\":var i=e-1,o=n,u=a+8*I(j,16,e);e=i,t=o,a=u;continue;case\"9\":var i=e-1,o=n,u=a+9*I(j,16,e);e=i,t=o,a=u;continue;case\"a\":var i=e-1,o=n,u=a+10*I(j,16,e);e=i,t=o,a=u;continue;case\"b\":var i=e-1,o=n,u=a+11*I(j,16,e);e=i,t=o,a=u;continue;case\"c\":var i=e-1,o=n,u=a+12*I(j,16,e);e=i,t=o,a=u;continue;case\"d\":var i=e-1,o=n,u=a+13*I(j,16,e);e=i,t=o,a=u;continue;case\"e\":var i=e-1,o=n,u=a+14*I(j,16,e);e=i,t=o,a=u;continue;case\"f\":var i=e-1,o=n,u=a+15*I(j,16,e);e=i,t=o,a=u;continue;default:return ab(fx(r)+\" is not a valid hexadecimal character.\")}}}),fE=p(function(e,t){return t.$?ab(t.a):av(e(t.a))}),fI=function(e){if(a9(e))return ab(\"Empty strings are not valid hexadecimal strings.\");var t=function(){if(!I(ei,\"-\",e))return C(fy,a8(e)-1,cg(e),0);var t,a=I(nU,B,(t=cg(e)).b?(t.a,ap(t.b)):am);return I(fE,ii,C(fy,aI(a)-1,a,0))}();return I(rJ,function(t){return I(aw,\" \",U(['\"'+e+'\"',\"is not a valid hexadecimal string because\",t]))},t)},fC=I(dB,function(e){var t=fI(c8(e));return t.$?d4(t.a):d3(t.a)},d1(dQ(function(e){var t=aM(e);return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}))),fR={$:1},f$=p(function(e,t){return{dA:t.dA+(e-t.h),k:t.k,p:t.p,h:e,d_:t.d_,d:t.d}}),fL=p(function(e,t){if(!(C(t9,101,e,t)||C(t9,69,e,t)))return e;var a=e+1,r=C(t9,43,a,t)||C(t9,45,a,t)?a+1:a,n=I(ae,r,t);return M(r,n)?-n:n}),fA=p(function(e,t){return C(t9,46,e,t)?I(fL,I(ae,e+1,t),t):I(fL,e,t)}),fS=x(function(e,t,a,r,n){var i=r.a,o=r.b;if(1===t.$)return I(dq,!0,I(dj,n,t.a));var u=t.a;return M(a,i)?I(dq,0>O(n.h,a),I(dj,n,e)):C(dH,!0,u(o),I(f$,i,n))}),fT=y(function(e,t,a,r,n,i){var o=n.a,u=I(fA,o,i.d);if(u<0)return I(dq,!0,R(d5,i.d_,i.dA-(u+i.h),e,i.k));if(M(i.h,u))return I(dq,!1,I(dj,i,t));if(M(o,u))return $(fS,e,a,i.h,n,i);if(1===r.$)return r.a,I(dq,!0,I(dj,i,e));var s=r.a,c=n0(C(ea,i.h,u,i.d));return 1===c.$?I(dq,!0,I(dj,i,e)):C(dH,!0,s(c.a),I(f$,u,i))}),fk=p(function(e,t){var a;return a={ee:ab(t),ew:e,eA:ab(t),eG:ab(t),eN:av(a3),f0:t,eZ:ab(t)},function(e){if(!C(t9,48,e.h,e.d))return L(fT,a.f0,a.ew,a.eN,a.eA,C(at,10,e.h,e.d),e);var t=e.h+1,r=t+1;return C(t9,120,t,e.d)?$(fS,a.f0,a.eG,r,I(aa,r,e.d),e):C(t9,111,t,e.d)?$(fS,a.f0,a.eZ,r,C(at,8,r,e.d),e):C(t9,98,t,e.d)?$(fS,a.f0,a.ee,r,C(at,2,r,e.d),e):L(fT,a.f0,a.ew,a.eN,a.eA,{a:t,b:0},e)}}),fM=I(fk,fR,fR),fP=(d=fh(U([I(d9,I(dJ,d3(a3),dZ(function(e){return\"x\"===e||\"X\"===e})),fC),I(d9,I(dJ,d3(a3),dX(N(\"0\"))),fM)])),I(d9,I(dJ,d3(a3),dZ(N(\"#\"))),I(fr,I(rX,function(e){return e<0||1114111\"!==e&&\"`\"!==e&&\"&\"!==e})),fN])))),fq=fh(U([I(d9,I(dJ,I(dJ,d3(a3),dZ(N(\"=\"))),dX(d2)),fh(U([fV,fz('\"'),fz(\"'\")]))),d3(\"\")])),fH=fv(I(d9,I(d9,d3(n7),I(dJ,fg,dX(d2))),I(dJ,fq,dX(d2)))),fB=I(fr,c8,d1(I(dJ,dZ(aN),dX(function(e){return aN(e)||\"-\"===e})))),fD=function(e){return{$:0,a:e}},f_=I(fr,I(rX,aw(\"\"),fD),I(fO,\"text element\",fh(U([d1(dQ(function(e){return\"<\"!==e&&\"&\"!==e})),fN]))));function fU(){return fh(U([f_,fn,fF()]))}function fF(){return I(dB,function(e){var t=e.a,a=e.b;return I(iB,t,fi)?I(dJ,I(dJ,d3(C(dV,t,a,B)),fh(U([dZ(N(\"/\")),d3(0)]))),dZ(N(\">\"))):I(d9,I(dJ,d3(I(dV,t,a)),dZ(N(\">\"))),I(dJ,fv(dD(fU())),d6(t)))},I(d9,I(d9,I(dJ,d3(n7),dZ(N(\"<\"))),I(dJ,fB,dX(d2))),fH))}var fG=fU();fU=function(){return fG};var fj=fF();fF=function(){return fj};var fW=m(function(e,t,a){return{dA:t,dX:a,d_:e}}),fZ=function(e){return C(fW,e.d_,e.dA,e.dX)},fK=p(function(e,t){for(;;)switch(e.$){case 0:return t;case 1:var a=e.a,r=e.b,n=a,i=I(_,r,t);e=n,t=i;continue;default:var a=e.a,o=e.b,n=a,i=I(fK,o,t);e=n,t=i;continue}}),fX=p(function(e,t){var a=e({dA:1,k:B,p:1,h:0,d_:1,d:t});return a.$?ab(I(fK,a.b,B)):av(a.b)}),fY=p(function(e,t){var a=I(fX,e,t);return a.$?ab(I(rl,fZ,a.a)):av(a.a)}),fJ=function(e){return a9(e)?av(B):I(fY,I(fO,\"node\",fG),e)},fQ=function(e){var t,a=I(nd,function(e){return\"target\"===e.a},e),r=I(nd,function(e){return\"rel\"===e.a},e);return t=a?e:I(_,{a:\"target\",b:\"_blank\"},e),r?t:I(_,{a:\"rel\",b:\"noopener noreferrer\"},t)},f0=function(e){return\"href\"===e.a?ap(e):am},f1=function(e){switch(e.a){case\"alt\":case\"src\":return ap(e);default:return am}},f2=p(function(e,t){switch(e){case\"a\":return fQ(I(nr,f0,t));case\"img\":return I(nr,f1,t);default:return B}}),f4=function(e){switch(e.$){case 0:return U([fD(e.a)]);case 1:var t=e.a,a=e.b,r=e.c;return I(iB,t,U([\"div\",\"p\",\"br\",\"em\",\"i\",\"strong\",\"b\",\"a\",\"ul\",\"ol\",\"li\",\"dl\",\"dt\",\"dd\",\"span\",\"img\"]))?U([C(dV,t,I(f2,t,a),f3(r))]):f3(r);default:return B}},f3=function(e){return I(iM,f4,e)},f6=function(e){return I(du,e.a,e.b)},f5=function(e){return I(rl,f8,e)},f8=function(e){switch(e.$){case 1:var t=e.a,a=e.b,r=e.c;return C(dv,t,I(rl,f6,a),f5(r));case 0:return tu(e.a);default:return tu(\"\")}},f7=function(e){var t=function(e){return f5(f3(e))},a=C(nf,\"

\",\"

\",C(nf,\"
\",\"
\",C(nf,\"
\",\"
\",e))),r=fJ(a);if(r.$){var n=fJ(\"
\"+a+\"
\");if(n.$)return U([tu(e)]);var i,o=n.a;return t((i=o).b&&1===i.a.$&&\"div\"===i.a.a&&!i.b.b?i.a.c:i)}var o=r.a;return t(o)},f9=b8(\"target\"),he=function(e){switch(e){case 0:return\"Left to Right\";case 1:return\"Right to Left\";case 2:return\"Top to Bottom\";default:return\"Bottom to Top\"}},ht=function(e){switch(e){case 0:return\"Auto-advance\";case 1:return\"No auto-advance\";case 2:return\"Repeat\";case 3:return\"No repeat\";case 4:return\"Unordered\";case 5:return\"Individuals\";case 6:return\"Continuous\";case 7:return\"Paged\";case 8:return\"Facing pages\";case 9:return\"Non-paged\";case 10:return\"Multi-part\";case 11:return\"Together\";case 12:return\"Sequence\";case 13:return\"Thumbnail nav\";case 14:return\"No nav\";default:return\"Hidden\"}},ha=function(e){switch(e){case 0:return\"Paged\";case 1:return\"Individuals\";case 2:return\"Continuous\";case 3:return\"Multi-part\";case 4:return\"Non-paged\";case 5:return\"Top\";default:return\"Facing pages\"}},hr=function(e){if(!e.$)return\"Hint: \"+ha(e.a);var t=e.a;return ul(t)?\"Behavior: None\":\"Behavior: \"+I(aw,\", \",I(rl,ht,t))},hn=p(function(e,t){var a=es(I(nU,0,I(n_,aI,lt(t)))),r=function(){var t=e.I;switch(t.$){case 1:default:return e.a7;case 2:var a=t.a;return I(nU,e.a7,a.dq)}}(),n=es(aI(cY(t))),i=t.a,o=t.b,u=I(nU,\"None\",I(n_,cu(e.en),o.gH)),s=he(o.gS),c=hr(o.gT),l=function(){switch(i){case 0:return\"IIIF v1\";case 1:return\"IIIF v2\";default:return\"IIIF v3\"}}();return I(_,{a:\"Manifest URL\",b:I(dP,U([dN(r),f9(\"_blank\"),dO(\"noopener noreferrer\")]),U([tu(r)]))},H(ul(e.aw)?B:U([{a:\"Accept Headers\",b:tu(I(aw,\", \",e.aw))}]),U([{a:\"Detected User Language\",b:tu(dz(e.en))},{a:\"IIIF Version\",b:tu(l)},{a:\"Viewing Hint / Behavior\",b:tu(c)},{a:\"Viewing Direction\",b:tu(s)},{a:\"Summary\",b:\"None\"===u?tu(u):I(de,B,f7(u))},{a:\"Canvases\",b:tu(n)},{a:\"Ranges\",b:tu(a)}])))}),hi=b8(\"alt\"),ho=tc(\"img\"),hu=function(e){var t=I(nD,nM,e.fl);if(t.$)return ap(e.s);var a=t.a;return I(n_,I(rX,cx(ix(256)),cw),iO(a.s))},hs=function(e){return I(b8,\"src\",t$(e))},hc=cX(function(e){return e.f4}),hl=cX(function(e){return e.e7}),hb=p(function(e,t){var a=function(){var e=I(nD,nM,hl(t));if(e.$)return{a:am,b:I(nD,nM,c9(t))};var a=e.a;return{a:I(nD,nM,a.f4),b:I(nD,nM,a.fZ)}}(),r=a.a,n=a.b,i=r.$?I(n_,I(rX,function(e){return e.s},I(rX,cx(ix(256)),cw)),hc(t)):hu(r.a);return M(i,am)&&M(n,am)?dg:I(de,B,U([I(dm,function(e){return I(ho,U([b7(\"diva-manifest-info-logo\"),hs(e),hi(\"Manifest logo\")]),B)},i),I(dm,function(t){var a=I(cu,e,t.dN);return I(dP,U([dN(t.s),f9(\"_blank\"),dO(\"noopener noreferrer\")]),U([tu(a)]))},n)]))}),hd=function(e){var t=e.a,a=e.b;return I(de,U([b7(\"diva-metadata-item\")]),U([I(de,U([b7(\"diva-metadata-label\")]),U([tu(t)])),I(de,U([b7(\"diva-metadata-value\")]),U([a]))]))},hf=p(function(e,t){var a=I(nU,U([{a:\"Manifest\",b:tu(\"Not loaded\")}]),I(n_,hn(e),t)),r=I(dm,hb(e.en),t);return I(de,U([b7(\"diva-modal-body is-two-column\")]),U([I(de,U([b7(\"diva-metadata-body\")]),I(rl,hd,a)),I(de,U([b7(\"diva-manifest-info-logo-wrap\")]),U([r]))]))}),hh={$:13},hv=tx(\"d\"),hg=tx(\"fill\"),hp=tx(\"height\"),hm=ts(\"http://www.w3.org/2000/svg\"),hw=hm(\"path\"),hx=hm(\"svg\"),hy=tx(\"viewBox\"),hE=tx(\"width\"),hI=function(e){return I(hx,U([hy(e.C),hE(\"100%\"),hp(\"100%\"),hg(\"currentColor\")]),U([I(hw,U([hv(e.A)]),B)]))},hC=hI({A:\"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\",C:\"0 0 512 512\"}),hR=p(function(e,t){return I(tw,e,eT(t))}),h$=hR(\"disabled\"),hL=p(function(e,t){var a,r,n=(a=U([b9(U([{a:\"diva-canvas-toolbar-button\",b:!0},{a:\"is-disabled\",b:M(t.dU,am)},{a:\"is-fullscreen\",b:t.eO}])),df(\"button\"),I(du,\"aria-label\",t.dN)]),(r=t.dU).$?I(_,h$(!0),H(e,a)):I(_,db(r.a),H(e,a)));return I(de,U([b7(\"diva-canvas-toolbar-item\"),I(du,\"data-tooltip\",t.dN)]),U([I(ds,n,U([t.eI]))]))}),hA=function(e){return I(hL,B,e)},hS=function(e){var t=e.db;return I(de,U([b7(\"diva-modal-header\")]),U([I(de,U([b7(\"diva-modal-title\")]),U([tu(\"Manifest Info\")])),I(de,U([b7(\"diva-modal-actions\")]),U([I(de,U([b7(\"diva-modal-close-action\")]),U([hA({eI:hC,eO:t,dN:\"Close\",dU:ap(hh)})]))]))]))},hT=tc(\"h1\"),hk=m(function(e,t,a){return e&&!a9(a)?I(hT,U([b9(U([{a:\"diva-app-title\",b:!0},{a:\"is-fullscreen\",b:t}]))]),U([tu(a)])):dg}),hM=tc(\"span\"),hP=p(function(e,t){var a=I(rO,e,t.ap);if(a.$)return am;var r,n=a.a;return 1!==(r=n.c6).$||ul(r.a.cK)?ap(\"anonymous\"):I(n_,function(e){return e?\"use-credentials\":\"anonymous\"},I(nD,function(e){return I(rO,e,t.au)},bV(n)))}),hN=w(function(e,t,a,r){return I(ds,U([b9(U([{a:\"diva-page-view-choice\",b:!0},{a:\"diva-ui-card\",b:!0},{a:\"diva-ui-card--dark\",b:!0},{a:\"is-active\",b:M(a,t)}])),df(\"button\"),db({$:19,a:a})]),U([function(){var t=I(hP,r.b3,e);if(t.$)return I(de,U([b7(\"diva-page-view-choice-thumb diva-page-view-choice-thumb--protected\"),I(du,\"aria-label\",\"Protected image\")]),B);var a=t.a;return I(ho,U([b7(\"diva-page-view-choice-thumb\"),hs(r.be),hi(r.dN),I(du,\"loading\",\"lazy\"),I(du,\"crossorigin\",a)]),B)}(),I(hM,U([b7(\"diva-page-view-choice-label\")]),U([tu(r.dN)]))]))}),hz=m(function(e,t,a){return I(de,U([b7(\"diva-page-view-choices\")]),I(a$,p(function(t,r){return $(th,hN,e,a,t,r)}),t))}),hO={$:33},hV=p(function(e,t){return{$:52,a:e,b:t}}),hq=tc(\"input\"),hH=b8(\"max\"),hB=b8(\"min\"),hD=function(e){return{a:e,b:!0}},h_=p(function(e,t){return I(tp,e,{$:1,a:t})}),hU=I(nN,U([\"target\",\"value\"]),eh),hF=function(e){return I(h_,\"input\",I(ew,hD,I(ew,e,hU)))},hG=b8(\"value\"),hj=x(function(e,t,a,r,n){var i=U([df(\"range\"),hB(e),hH(t),hG(r),hF(n)]),o=a.$?i:I(_,I(b8,\"step\",a.a),i);return I(hq,I(_,b7(\"diva-filter-range-input\"),o),B)}),hW=function(e){return I(de,U([b7(\"diva-filter-range-group\")]),U([I(de,U([b7(\"diva-filter-range-header\")]),U([I(hM,U([b7(\"diva-filter-label\")]),U([tu(e.dN)])),I(hM,U([b7(\"diva-filter-value\")]),U([tu(e.l)]))])),$(hj,e.g,e.f,e.n,e.dx,e.m)]))},hZ=p(function(e,t){return{$:40,a:e,b:t}}),hK=hR(\"checked\"),hX=tc(\"label\"),hY=I(nN,U([\"target\",\"checked\"]),eb),hJ=function(e){return I(dl,\"change\",I(ew,e,hY))},hQ=function(e){return I(de,U([b7(\"diva-filter-range-group\")]),U([I(de,U([b7(\"diva-filter-range-header\")]),U([I(hX,U([b7(\"diva-filter-toggle is-inline\")]),U([I(hq,U([df(\"checkbox\"),hK(e.w),hJ(hZ(e.z))]),B),tu(e.dN)])),I(hM,U([b7(\"diva-filter-value\")]),U([tu(e.l)]))])),$(hj,e.g,e.f,e.n,e.dx,e.m)]))},h0=p(function(e,t){return U([hQ({w:t.cp,l:es(t.bK),dN:e+\" Gamma\",f:\"100\",g:\"0\",m:hV(t.cq),z:t.cr,n:ap(\"1\"),dx:es(t.bK)}),hQ({w:t.cP,l:es(t.b1),dN:e+\" Sigmoid\",f:\"100\",g:\"0\",m:hV(t.cQ),z:t.cR,n:ap(\"1\"),dx:es(t.b1)}),hQ({w:t.cu,l:es(t.bL),dN:e+\" Hue Boost\",f:\"100\",g:\"-100\",m:hV(t.cv),z:t.cw,n:ap(\"1\"),dx:es(t.bL)}),hW({l:es(t.bM),dN:e+\" Hue Window\",f:\"30\",g:\"2\",m:hV(t.cx),n:ap(\"1\"),dx:es(t.bM)}),hQ({w:t.c0,l:es(t.b7),dN:e+\" Vibrance\",f:\"100\",g:\"0\",m:hV(t.c1),z:t.c2,n:ap(\"1\"),dx:es(t.b7)})])}),h1=w(function(e,t,a,r){var n=I(lI,t,e.cm);return I(de,U([b7(\"diva-filter-group\")]),I(_,I(ds,U([b9(U([{a:\"diva-filter-title-button\",b:!0},{a:\"is-collapsed\",b:!n}])),db({$:41,a:t})]),U([I(hM,U([b9(U([{a:\"diva-filter-title-icon\",b:!0},{a:\"is-expanded\",b:n}]))]),B),I(hM,B,U([tu(a)]))])),n?r:B))}),h2=function(e){return I(de,U([b7(\"diva-filter-row\")]),e)},h4=function(e){return R(h1,e,\"advanced-colour-adjust\",\"Advanced colour adjust\",I(_,h2(U([I(ds,U([b7(\"diva-filter-reset\"),df(\"button\"),db(hO)]),U([tu(\"Reset sliders\")]))])),H(I(h0,\"Red\",{bK:e.ez.aW,cp:e.ez.br,cq:2,cr:9,bL:e.ez.aX,cu:e.ez.az,cv:5,cw:10,bM:e.ez.aY,cx:6,b1:e.ez.aZ,cP:e.ez.bs,cQ:3,cR:11,b7:e.ez.a_,c0:e.ez.bt,c1:4,c2:12}),H(I(h0,\"Green\",{bK:e.ez.aR,cp:e.ez.bo,cq:7,cr:5,bL:e.ez.aS,cu:e.ez.ay,cv:9,cw:6,bM:e.ez.aT,cx:10,b1:e.ez.aU,cP:e.ez.bp,cQ:8,cR:7,b7:e.ez.aV,c0:e.ez.bq,c1:11,c2:8}),I(h0,\"Blue\",{bK:e.ez.aM,cp:e.ez.bl,cq:12,cr:1,bL:e.ez.aN,cu:e.ez.ax,cv:14,cw:2,bM:e.ez.aO,cx:15,b1:e.ez.aP,cP:e.ez.bm,cQ:13,cR:3,b7:e.ez.aQ,c0:e.ez.bn,c1:16,c2:4})))))},h3=p(function(e,t){return{$:51,a:e,b:t}}),h6=function(e){return R(h1,e,\"colour-adjust\",\"Colour Adjust\",I(rl,hQ,U([{w:e.ez.cd,l:es(e.ez.bu),dN:\"Brightness\",f:\"255\",g:\"-255\",m:hV(17),z:13,n:am,dx:es(e.ez.bu)},{w:e.ez.cj,l:es(e.ez.bE),dN:\"Contrast\",f:\"4\",g:\"0\",m:h3(1),z:20,n:ap(\"0.1\"),dx:es(e.ez.bE)},{w:e.ez.cp,l:es(e.ez.bK),dN:\"Gamma\",f:\"4\",g:\"0.1\",m:h3(2),z:23,n:ap(\"0.1\"),dx:es(e.ez.bK)},{w:e.ez.cN,l:es(e.ez.bZ),dN:\"Saturation\",f:\"100\",g:\"-100\",m:hV(27),z:31,n:am,dx:es(e.ez.bZ)},{w:e.ez.c0,l:es(e.ez.b7),dN:\"Vibrance\",f:\"100\",g:\"-100\",m:hV(29),z:34,n:am,dx:es(e.ez.b7)},{w:e.ez.cu,l:es(e.ez.bL),dN:\"Hue\",f:\"100\",g:\"-100\",m:hV(24),z:26,n:am,dx:es(e.ez.bL)},{w:e.ez.cg,l:es(e.ez.bx),dN:\"Red\",f:\"100\",g:\"-100\",m:hV(20),z:16,n:am,dx:es(e.ez.bx)},{w:e.ez.cf,l:es(e.ez.bw),dN:\"Green\",f:\"100\",g:\"-100\",m:hV(19),z:15,n:am,dx:es(e.ez.bw)},{w:e.ez.ce,l:es(e.ez.bv),dN:\"Blue\",f:\"100\",g:\"-100\",m:hV(18),z:14,n:am,dx:es(e.ez.bv)}])))},h5=p(function(e,t){return{$:54,a:e,b:t}}),h8=tc(\"option\"),h7=U([I(h8,U([hG(\"gray\")]),U([tu(\"Gray\")])),I(h8,U([hG(\"hot\")]),U([tu(\"Hot\")])),I(h8,U([hG(\"cool\")]),U([tu(\"Cool\")]))]),h9=tc(\"select\"),ve=m(function(e,t,a){return I(h9,U([b7(\"diva-filter-select\"),hF(t),hG(e)]),a)}),vt=m(function(e,t,a){return I(hX,U([b7(\"diva-filter-toggle\")]),U([I(hq,U([df(\"checkbox\"),hK(t),hJ(hZ(a))]),B),tu(e)]))}),va=function(e){return R(h1,e,\"colourmap\",\"Colourmap\",U([h2(U([C(vt,\"Colourmap\",e.ez.a1,17),C(ve,e.ez.bD,h5(0),h7)])),hW({l:es(e.ez.bC),dN:\"Center\",f:\"255\",g:\"0\",m:hV(21),n:am,dx:es(e.ez.bC)})]))},vr=U([I(h8,U([hG(\"sharpen\")]),U([tu(\"Sharpen\")])),I(h8,U([hG(\"blur\")]),U([tu(\"Blur\")])),I(h8,U([hG(\"edge\")]),U([tu(\"Edge\")])),I(h8,U([hG(\"emboss\")]),U([tu(\"Emboss\")]))]),vn=function(e){return R(h1,e,\"convolution\",\"Convolution\",U([h2(U([C(vt,\"Kernel\",e.ez.ck,21),C(ve,e.ez.bF,h5(3),vr)]))]))},vi=function(e){return R(h1,e,\"enhancement\",\"Enhancement\",H(I(rl,hQ,U([{w:e.ez.cF,l:es(e.ez.bR),dN:\"Normalize\",f:\"2\",g:\"0\",m:h3(3),z:29,n:ap(\"0.1\"),dx:es(e.ez.bR)},{w:e.ez.c_,l:es(e.ez.b5),dN:\"Unsharp\",f:\"3\",g:\"0\",m:h3(7),z:33,n:ap(\"0.1\"),dx:es(e.ez.b5)},{w:e.ez.aL,l:es(e.ez.bk),dN:\"Adaptive Threshold\",f:\"51\",g:\"3\",m:hV(1),z:0,n:ap(\"2\"),dx:es(e.ez.bk)}])),U([hW({l:es(e.ez.bj),dN:\"Offset\",f:\"50\",g:\"-50\",m:hV(0),n:ap(\"1\"),dx:es(e.ez.bj)})])))},vo={$:11},vu={$:27},vs=function(e){return{$:53,a:e}},vc=tc(\"textarea\"),vl=function(e){return R(h1,e,\"diva-filter-json\",\"Import / Export Filter Settings\",U([h2(U([I(ds,U([b7(\"diva-filter-reset\"),df(\"button\"),db(vu)]),U([tu(\"Show JSON\")])),I(ds,U([b7(\"diva-filter-reset\"),df(\"button\"),db(vo)]),U([tu(\"Apply\")]))])),I(vc,U([b7(\"diva-filter-json\"),hG(e.cn),hF(vs),I(tx,\"rows\",es(6))]),B),function(){var t=e.bJ;if(t.$)return dg;var a=t.a;return I(de,U([b7(\"diva-filter-json-error\")]),U([tu(a)]))}()]))},vb=U([I(h8,U([hG(\"3\")]),U([tu(\"3x3\")])),I(h8,U([hG(\"5\")]),U([tu(\"5x5\")])),I(h8,U([hG(\"7\")]),U([tu(\"7x7\")]))]),vd=U([I(h8,U([hG(\"erode\")]),U([tu(\"Erode\")])),I(h8,U([hG(\"dilate\")]),U([tu(\"Dilate\")]))]),vf=function(e){return R(h1,e,\"morphology\",\"Morphology\",U([h2(U([C(vt,\"Morph\",e.ez.a8,28),C(ve,e.ez.bQ,h5(5),vd),C(ve,es(e.ez.bP),hV(25),vb)]))]))},vh=U([I(h8,U([hG(\"pca-rgb\")]),U([tu(\"PCA (RGB)\")])),I(h8,U([hG(\"pca1\")]),U([tu(\"PCA Component 1\")])),I(h8,U([hG(\"pca2\")]),U([tu(\"PCA Component 2\")])),I(h8,U([hG(\"pca3\")]),U([tu(\"PCA Component 3\")]))]),vv=function(e){return R(h1,e,\"pca\",\"Visible area PCA\",U([h2(U([C(vt,\"Visible area PCA\",e.ez.a4,24),C(ve,e.ez.bT,h5(4),vh)])),hW({l:es(e.ez.bS)+\"deg\",dN:\"Hue Rotation\",f:\"180\",g:\"-180\",m:hV(23),n:ap(\"1\"),dx:es(e.ez.bS)})]))},vg=U([I(h8,U([hG(\"rg\")]),U([tu(\"Red–Green Diff\")])),I(h8,U([hG(\"gb\")]),U([tu(\"Green–Blue Diff\")])),I(h8,U([hG(\"rb\")]),U([tu(\"Red–Blue Diff\")])),I(h8,U([hG(\"luma\")]),U([tu(\"Luma False Colour\")])),I(h8,U([hG(\"cmy\")]),U([tu(\"CMY False Colour\")])),I(h8,U([hG(\"heat\")]),U([tu(\"Heat Map\")]))]),vp=p(function(e,t){return I(hq,U([b7(\"diva-filter-color-input\"),df(\"color\"),hG(e),hF(t)]),B)}),vm=function(e){return R(h1,e,\"pseudo-colour\",\"Pseudo Colour\",U([h2(U([C(vt,\"Pseudo-colour\",e.ez.ad,30),C(ve,e.ez.bW,h5(6),vg)])),hW({l:es(e.ez.bX),dN:\"Red Weight\",f:\"2\",g:\"0\",m:h3(6),n:ap(\"0.01\"),dx:es(e.ez.bX)}),hW({l:es(e.ez.bV),dN:\"Green Weight\",f:\"2\",g:\"0\",m:h3(5),n:ap(\"0.01\"),dx:es(e.ez.bV)}),hW({l:es(e.ez.bU),dN:\"Blue Weight\",f:\"2\",g:\"0\",m:h3(4),n:ap(\"0.01\"),dx:es(e.ez.bU)}),h2(U([C(vt,\"Replace Colour\",e.ez.N,18)])),h2(U([I(hM,U([b7(\"diva-filter-label\")]),U([tu(\"Source\")])),I(vp,e.ez.bz,h5(1)),I(hM,U([b7(\"diva-filter-label\")]),U([tu(\"Target\")])),I(vp,e.ez.bA,h5(2))])),hW({l:es(e.ez.bB),dN:\"Tolerance\",f:\"255\",g:\"0\",m:hV(22),n:ap(\"1\"),dx:es(e.ez.bB)}),hW({l:es(e.ez.by),dN:\"Strength\",f:\"1\",g:\"0\",m:h3(0),n:ap(\"0.01\"),dx:es(e.ez.by)}),h2(U([C(vt,\"Preserve Luminance\",e.ez.ci,19)]))]))},vw=function(e){return R(h1,e,\"tone\",\"Tone\",H(I(rl,function(e){return C(vt,e.a,e.b,e.c)},U([{a:\"Grayscale\",b:e.ez.cs,c:25},{a:\"Invert\",b:e.ez.cA,c:27}])),I(rl,hQ,U([{w:e.ez.cU,l:es(e.ez.b4),dN:\"Threshold\",f:\"255\",g:\"0\",m:hV(28),z:32,n:am,dx:es(e.ez.b4)}]))))},vx=function(e){return R(h1,e,\"transform\",\"Transform\",U([I(de,U([b7(\"diva-filter-range-group\")]),U([I(de,U([b7(\"diva-filter-range-header\")]),U([I(hM,U([b7(\"diva-filter-label\")]),U([tu(\"Rotation\")])),I(hM,U([b7(\"diva-filter-range-header-right\")]),U([I(hM,U([b7(\"diva-filter-value\")]),U([tu(es(e.ez.bd)+\"°\")])),I(ds,U([b7(\"diva-filter-reset\"),df(\"button\"),db(I(hV,26,\"0\"))]),U([tu(\"Reset\")]))]))])),$(hj,\"-180\",\"180\",ap(\"1\"),es(e.ez.bd),hV(26))])),h2(U([C(vt,\"Mirror\",e.ez.co,22)]))]))},vy=function(e){return I(de,U([b7(\"diva-modal-sidebar\")]),U([I(tb,vx,e),I(tb,vw,e),I(tb,h6,e),I(tb,vf,e),I(tb,vn,e),I(tb,va,e),I(tb,vm,e),I(tb,vv,e),I(tb,h4,e),I(tb,vi,e),I(tb,vl,e)]))},vE=p(function(e,t){return I(de,U([b9(U([{a:\"diva-modal-viewer\",b:!0},{a:\"is-fullscreen\",b:e},{a:\"is-outer-left\",b:t}]))]),U([I(de,U([b7(\"diva-modal-canvas\"),dt(\"filter-viewer\")]),B)]))}),vI=function(e){var t=I(nD,function(t){return I(lh,t,e.aH)},e.R),a=I(nU,!1,I(n_,function(e){return aI(e.cy)>1},t));return I(de,U([b9(U([{a:\"diva-modal-body\",b:!0},{a:\"is-no-gap\",b:!0},{a:\"is-fullscreen\",b:e.di},{a:\"is-with-choices\",b:a},{a:\"is-no-sidebar\",b:!e.dj},{a:\"is-with-choices-no-sidebar\",b:a&&!e.dj}]))]),function(){var r={a:a,b:t,c:e.dj};if(r.c)if(!r.a||r.b.$)return U([I(vE,e.di,!0),vy(e)]);else{var n=r.b.a;return U([C(hz,e.c6,n.cy,e.aG),I(vE,e.di,!1),vy(e)])}if(!r.a||r.b.$)return U([I(vE,e.di,!0)]);var n=r.b.a;return U([C(hz,e.c6,n.cy,e.aG),I(vE,e.di,!1)])}())},vC={$:14},vR={$:20},v$={$:21},vL={$:23},vA={$:32},vS={$:44},vT={$:45},vk=p(function(e,t){return e?am:ap(t)}),vM=hI({A:\"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\",C:\"0 0 448 512\"}),vP=hI({A:\"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z\",C:\"0 0 512 512\"}),vN=hI({A:\"M24 64c13.3 0 24 10.7 24 24l0 336c0 13.3-10.7 24-24 24s-24-10.7-24-24L0 88C0 74.7 10.7 64 24 64zm217 71c9.4 9.4 9.4 24.6 0 33.9l-63 63 284.1 0-63-63c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L537 239c9.4 9.4 9.4 24.6 0 33.9L433 377c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l63-63-284.1 0 63 63c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0L103 273c-9.4-9.4-9.4-24.6 0-33.9L207 135c9.4-9.4 24.6-9.4 33.9 0zM640 88V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V88c0-13.3 10.7-24 24-24s24 10.7 24 24z\",C:\"0 0 640 512\"}),vz=hI({A:\"M8.59 16.59L10 18L16 12L10 6L8.59 7.41L13.17 12L8.59 16.59z\",C:\"0 0 24 24\"}),vO=hI({A:\"M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41z\",C:\"0 0 24 24\"}),vV=hI({A:\"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\",C:\"0 0 512 512\"}),vq=hI({A:\"M295 401L167 273c-9.4-9.4-9.4-24.6 0-33.9L295 111c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-87 87L488 232c13.3 0 24 10.7 24 24s-10.7 24-24 24l-246.1 0 87 87c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0zM168 80L88 80c-22.1 0-40 17.9-40 40l0 272c0 22.1 17.9 40 40 40l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24l-80 0c-48.6 0-88-39.4-88-88L0 120C0 71.4 39.4 32 88 32l80 0c13.3 0 24 10.7 24 24s-10.7 24-24 24z\",C:\"0 0 512 512\"}),vH=hI({A:\"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z\",C:\"0 0 512 512\"}),vB=function(e){var t,a,r=I(nU,\"\",I(n_,function(e){return e.dN},I(nD,function(e){return I(lh,e,t.aH)},(t=e).R))),n=I(nU,\"\",I(n_,function(e){return I(cu,a.en,dr(e))},da(a=e))),i=e.dj?{a:vN,b:\"Hide filters\"}:{a:vq,b:\"Show filters\"},o=i.a,u=i.b,s=function(){var t=e.R;if(t.$)return{a:!0,b:!0};var a=t.a;return{a:a<=0,b:O(a,aI(e.aH)-1)>-1}}(),c=s.a,l=s.b,b=e.di?{a:vP,b:\"Exit fullscreen\"}:{a:vH,b:\"Fullscreen\"},d=b.a,f=b.b;return I(de,U([b7(\"diva-modal-header\")]),U([I(de,U([b7(\"diva-modal-title-stack\")]),I(_,I(de,U([b7(\"diva-modal-title\")]),U([tu(\"Page View\")])),H(a9(n)?B:U([I(de,U([b7(\"diva-modal-subtitle\")]),U([tu(n)]))]),a9(r)?B:U([I(de,U([b7(\"diva-modal-subtitle is-muted\")]),U([tu(r)]))])))),I(de,U([b7(\"diva-modal-actions\")]),U([hA({eI:vO,eO:e.db,dN:\"Previous Page\",dU:I(vk,c,v$)}),hA({eI:vz,eO:e.db,dN:\"Next Page\",dU:I(vk,l,vR)}),hA({eI:vM,eO:e.db,dN:\"Save view\",dU:ap(vL)}),hA({eI:vV,eO:e.db,dN:\"Reset Filters\",dU:ap(vA)}),hA({eI:o,eO:e.db,dN:u,dU:ap(vT)}),hA({eI:d,eO:e.db,dN:f,dU:ap(vS)}),I(de,U([b7(\"diva-modal-close-action\")]),U([hA({eI:hC,eO:e.db,dN:\"Close\",dU:ap(vC)})]))]))]))},vD=function(e){return a9(e)?dg:I(de,U([b7(\"diva-required-statement\")]),f7(e))},v_={$:38},vU={$:43},vF={$:49},vG=function(e){var t,a=!ul(le(e)),r=!(t=c9(e)).$&&!ul(t.a);return a||r},vj=function(e){return!!e},vW=function(e){return I(de,U([b7(\"diva-contents-empty\")]),U([tu(e)]))},vZ=vW(\"No contents available.\"),vK=p(function(e,t){return I(nU,am,I(rO,t,e))}),vX=p(function(e,t){return I(nd,vY(e),t.aE)}),vY=p(function(e,t){return t.$?I(vX,e,t.a):M(t.a,e)}),vJ=m(function(e,t,a){return I(ds,H(U([b9(U([{a:\"diva-contents-button\",b:!0},{a:\"diva-ui-button\",b:!0},{a:\"is-current\",b:e}])),df(\"button\"),db({$:22,a:t})]),e?U([I(du,\"aria-current\",\"location\")]):B),U([tu(a)]))}),vQ=m(function(e,t,a){return I(ds,U([b7(\"diva-contents-disclosure diva-ui-button\"),df(\"button\"),I(du,\"aria-expanded\",e?\"true\":\"false\"),I(du,\"aria-label\",H(e?\"Hide information for \":\"Show information for \",a)),db({$:46,a:t})]),U([tu(e?\"▾\":\"▸\")]))}),v0=p(function(e,t){return I(de,U([b7(\"diva-metadata-item\")]),U([I(de,U([b7(\"diva-metadata-label\")]),U([tu(I(cu,e,t.dN))])),I(de,U([b7(\"diva-metadata-value\")]),f7(I(cu,e,t.dx)))]))}),v1=p(function(e,t){return ul(t)?B:U([I(de,U([b7(\"diva-contents-meta\")]),I(rl,v0(e),t))])}),v2=m(function(e,t,a){return e?t?a?1===I(W,2,a)?a:a-1:0:a-I(W,2,a):a}),v4=m(function(e,t,a){if(a.$)return B;var r=a.a;if(!e)return U([r]);if(t&&!r)return U([0]);var n=C(v2,1,t,r);return U([n,n+1])}),v3=m(function(e,t,a){var r=I(nr,function(a){return a.$?ap(R(tf,v6,e,t,a.a)):am},a);return ul(r)?B:U([I(dR,U([b7(\"diva-contents-list-nested diva-list-reset\")]),r)])}),v6=m(function(e,t,a){var r,n=I(vK,t,a.s),i=I(cu,e.en,a.dN),o=a9(i)?\"[Untitled range]\":i,u=M(e.d$,ap(a.s)),s=u?I(v1,e.en,a.dP):B,c=I(nd,function(e){return I(vX,e,a)},I(rl,function(e){return e.c7},I(nr,function(e){return I(lh,e,r.aH)},C(v4,(r=e).b8,r.b$,r.R)))),l=C(vJ,c,n,o),b=I(de,U([b7(\"diva-contents-heading\")]),H(ul(a.dP)?B:U([C(vQ,u,a.s,o)]),U([l]))),d=C(v3,e,t,a.aE);return I(dC,U([b7(\"diva-contents-item\")]),I(_,b,H(s,d)))}),v5=m(function(e,t,a){return I(dR,U([b7(\"diva-contents-list diva-list-reset\")]),I(rl,C(tf,v6,e,t),a))}),v8=p(function(e,t){var a=lt(t);if(a.$)return vZ;var r=a.a;return ul(r)?vZ:C(v5,e,e.e8,r)}),v7={$:34},v9={$:35},ge=p(function(e,t){return I(de,U([b7(\"diva-contents-view-tabs\")]),U([I(ds,U([b9(U([{a:\"diva-contents-view-button\",b:!0},{a:\"is-active\",b:!t}])),df(\"button\"),db(v7)]),U([tu(\"Index\")])),I(ds,U([b9(U([{a:\"diva-contents-view-button\",b:!0},{a:\"is-active\",b:1===t}])),df(\"button\"),db(v9)]),U([tu(e?\"On these pages\":\"On this page\")]))]))}),gt=p(function(e,t){var a=I(iM,function(t){return t.$?I(gt,e,t.a):B},t.aE);return I(vX,e,t)?I(_,t,a):a}),ga=p(function(e,t){return I(iM,gt(e),t)}),gr=vW(\"No ranges for this page.\"),gn=function(e){var t=p(function(e,t){for(;;)if(!e.b)return az(t);else if(e.a.b){var a=e.a,r=a.a,n=a.b,i=e.b;if(r.$){var o=I(_,r.a.aE,I(_,n,i)),u=t;e=o,t=u;continue}var s=r.a,o=I(_,n,i),u=I(_,s,t);e=o,t=u;continue}else{var i=e.b,o=i,u=t;e=o,t=u;continue}});return I(t,U([e]),B)},gi=p(function(e,t){return I(nr,function(t){return I(rO,t,e)},gn(t.aE))}),go=m(function(e,t,a){var r=I(v1,e.en,a.dP),n=I(vK,e.e8,a.s),i=I(cu,e.en,a.dN),o=I(gi,t,a),u=nM(o),s=nM(az(o)),c=function(){var e={a:u,b:s};if(e.a.$)if(e.b.$)return\"\";else{e.a;var t=e.b.a;return\"[\"+t+\"] \"}if(e.b.$){var a=e.a.a;return e.b,\"[\"+a+\"] \"}var a=e.a.a,t=e.b.a;return M(a,t)?\"[\"+a+\"] \":\"[\"+(a+\"-\")+t+\"] \"}(),l=C(vJ,!1,n,a9(i)?c+\"[Untitled range]\":H(c,i));return I(dC,U([b7(\"diva-contents-item\")]),I(_,l,r))}),gu=p(function(e,t){var a,r=I(n_,function(e){return e.c7},I(nD,function(e){return I(lh,e,a.aH)},(a=e).R));if(r.$)return gr;var n=r.a,i=lt(t);if(i.$)return gr;var o=I(ga,n,i.a);if(ul(o))return gr;var u=si(I(rl,function(e){return{a:e.s,b:cs(e)}},cY(t)));return I(dR,U([b7(\"diva-contents-list diva-list-reset\")]),I(rl,I(go,e,u),o))}),gs=function(e){var t=da(e),a=function(){var a={a:e.dD,b:t};if(a.a)if(a.b.$)return a.a,a.b,gr;else{a.a;var r=a.b.a;return I(gu,e,r)}if(a.b.$)return a.a,a.b,vZ;a.a;var r=a.b.a;return I(v8,e,r)}();return I(de,U([b7(\"diva-contents-panel\")]),U([I(de,U([b7(\"diva-contents-title\")]),U([tu(\"Contents\")])),I(ge,e.b8,e.dD),a]))},gc=p(function(e,t){return I(de,B,U([I(dP,U([dN(t.s),f9(\"_blank\"),dO(\"noopener noreferrer\")]),U([tu(I(cu,e,t.dN))]))]))}),gl=p(function(e,t){var a=c9(t);if(a.$)return B;var r=a.a;return ul(r)?B:U([I(de,U([b7(\"diva-metadata-item\")]),U([I(de,U([b7(\"diva-metadata-label\")]),U([tu(\"Homepage\")])),I(de,U([b7(\"diva-metadata-value\")]),I(rl,gc(e),r))]))])}),gb=p(function(e,t){return I(rl,v0(e),le(t))}),gd=m(function(e,t,a){return I(de,U([b9(U([{a:\"diva-sidebar-pane\",b:!0},{a:\"is-hidden\",b:!M(e,t)}]))]),U([a]))}),gf=w(function(e,t,a,r){return I(ds,U([b9(U([{a:\"diva-sidebar-tab-button\",b:!0},{a:\"is-active\",b:M(e,t)}])),df(\"button\"),db(r)]),U([tu(a)]))}),gh=m(function(e,t,a){for(;;)if(e<=0)return a;else{if(!t.b)return a;var r=t.a,n=t.b,i=e-1,o=I(_,r,a);e=i,t=n,a=o;continue}}),gv=p(function(e,t){return az(C(gh,e,t,B))}),gg=m(function(e,t,a){if(t<=0)return B;var r={a:t,b:a};e:for(;;){t:for(;;)if(!r.b.b)return a;else if(r.b.b.b)switch(r.a){case 1:break e;case 2:var n=r.b,i=n.a,o=n.b.a;return U([i,o]);case 3:if(r.b.b.b.b){var u=r.b,i=u.a,s=u.b,o=s.a,c=s.b.a;return U([i,o,c])}break t;default:if(r.b.b.b.b&&r.b.b.b.b.b){var l=r.b,i=l.a,b=l.b,o=b.a,d=b.b,c=d.a,f=d.b,h=f.a,v=f.b;return e>1e3?I(_,i,I(_,o,I(_,c,I(_,h,I(gv,t-4,v))))):I(_,i,I(_,o,I(_,c,I(_,h,C(gg,e+1,t-4,v)))))}break t}else if(1===r.a)break e;else break;return a}var i=r.b.a;return U([i])}),gp=p(function(e,t){return C(gg,0,e,t)}),gm=m(function(e,t,a){for(;;)if(!t.b)return az(a);else{var r=I(lf,e,t),n=I(gp,e,t),i=e,o=I(_,n,a);e=i,t=r,a=o;continue}}),gw=p(function(e,t){return e<=0?B:C(gm,e,t,B)}),gx=p(function(e,t){return e<=1?t:I(iM,az,I(gw,e,t))}),gy={$:0},gE=w(function(e,t,a,r){return I(iB,r,C(v4,e,t,a))}),gI=y(function(e,t,a,r,n,i){var o=R(gE,t,a,r,n),u=aI(i.cy)>1,s=I(nU,I(nU,{c6:gy,s:\"\",bN:!1,aD:!0,dN:\"\",b3:\"\",be:\"\",cV:\"\"},nM(i.cy)),nM(I(iS,function(e){return e.bN},i.cy))),c=function(){var t=I(hP,s.b3,e);if(t.$)return I(de,U([b7(\"diva-thumbs-image diva-thumbs-image--protected\"),I(du,\"aria-label\",\"Protected image\")]),B);var a=t.a;return C(dv,\"diva-lazy-image\",U([b7(\"diva-thumbs-lazy-image\"),I(du,\"data-src\",i.be),I(du,\"data-fallback-src\",i.ey),I(du,\"data-alt\",\"Page \"+es(n+1)),I(du,\"data-crossorigin\",a)]),B)}(),l=U([b9(U([{a:\"diva-thumbs-item\",b:!0},{a:\"diva-ui-card\",b:!0},{a:\"diva-ui-card--dark\",b:!0},{a:\"is-active\",b:o}])),df(\"button\"),dt(\"thumb-\"+es(n)),I(du,\"data-thumb-index\",es(n)),db({$:24,a:n})]);return I(ds,l,U([c,I(de,U([b9(U([{a:\"diva-thumbs-label\",b:!0},{a:\"is-active\",b:o}]))]),U([tu(u?i.dN+\" *\":i.dN)]))]))}),gC=p(function(e,t){var a=e.db,r=e.c6,n=e.R,i=e.b$,o=e.bf,u=e.b8,s=e.gS,c=I(a$,n7,t),l=1===s?I(gx,3,c):c;return I(de,U([b9(U([{a:\"diva-thumbs\",b:!0},{a:\"is-fullscreen\",b:a}])),dt(\"thumbs\"),I(tm,\"scroll-behavior\",o?\"auto\":\"smooth\")]),I(rl,function(e){return A(tg,gI,r,u,i,n,e.a,e.b)},l))}),gR=p(function(e,t){var a=I(nU,0,I(n_,lr,t)),r=M(e.I,rw)||M(e.bY,rm)?B:e.aH,n=U([{a:\"diva-sidebar-panel\",b:!0},{a:\"is-fullscreen\",b:e.db},{a:\"is-hidden\",b:!vj(e.B)},{a:\"is-overlay\",b:e.bO},{a:\"is-mobile-hidden\",b:!e.bO}]),i=I(nU,!1,I(n_,vG,t)),o=i?U([C(gd,e.B,2,I(de,U([b7(\"diva-metadata-panel\")]),function(){var t=da(e);if(t.$)return U([I(de,U([b7(\"diva-metadata-body\")]),U([tu(\"No metadata available.\")]))]);var a=t.a;return U([I(de,U([b7(\"diva-metadata-body\")]),H(I(gb,e.en,a),I(gl,e.en,a)))])}()))]):B,u=i?U([R(gf,e.B,2,\"Metadata\",vU)]):B,s=I(nU,!1,I(n_,I(rX,ul,cj),I(nD,lt,t))),c=s?U([R(gf,e.B,3,\"Contents\",v_)]):B,l=s?U([C(gd,e.B,3,gs(e))]):B;return I(de,U([b9(n),I(tm,\"width\",vj(e.B)?es(e.b0)+\"px\":\"0px\")]),U([I(de,U([b7(\"diva-sidebar-tabs\")]),I(_,R(gf,e.B,1,\"Thumbnails\",vF),H(u,c))),I(de,U([b7(\"diva-sidebar-content\")]),I(_,C(gd,e.B,1,I(gC,{c6:e.c6,db:e.db,R:e.R,b$:e.b$,bf:e.bf,b8:e.b8,gS:a},r)),H(o,l)))]))}),g$=p(function(e,t){return I(gR,e,ap(t))}),gL=function(e){return{$:37,a:e}},gA=function(e){return 2!==e.I.$&&M(da(e),am)?dg:I(de,U([b9(U([{a:\"diva-sidebar-resizer\",b:!0},{a:\"is-hidden\",b:!vj(e.B)}])),I(dl,\"mousedown\",I(ew,gL,I(ev,\"clientX\",el)))]),U([tu(\"⋮\")]))},gS={$:17},gT={$:18},gk={$:25},gM={$:26},gP={$:42},gN={$:47},gz={$:48},gO={$:50},gV=p(function(e,t){return O(a8(t),e)>0?I(re,e-3,t)+\"...\":t}),gq=function(e){var t=function(){var t=e.R;if(t.$)return\"\";var a=t.a;if(!e.b8)return I(nU,\"\",I(n_,function(e){return e.dN},I(lh,a,e.aH)));var r=C(v2,e.b8,e.b$,a),n=I(n_,function(e){return e.dN},I(lh,r+1,e.aH)),i={a:I(n_,function(e){return e.dN},I(lh,r,e.aH)),b:n};if(i.a.$)return\"\";var o=i.a.a;return e.b$&&!r||n.$?o:o+\" / \"+n.a}();return I(gV,140,t)},gH=hI({A:\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\",C:\"0 0 512 512\"}),gB=hI({A:\"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z\",C:\"0 0 576 512\"}),gD=hI({A:\"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\",C:\"0 0 384 512\"}),g_=hI({A:\"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\",C:\"0 0 384 512\"}),gU=hI({A:\"M 283.05 111 C 292.45 101.6 307.65 101.6 316.95 111 C 326.25 120.4 326.35 135.6 316.95 144.9 L 277.95 183.9 L 556.05 183.9 C 569.35 183.9 580.05 194.6 580.05 207.9 C 580.05 221.2 569.35 231.9 556.05 231.9 L 277.95 231.9 L 316.95 270.9 C 326.35 280.3 326.35 295.5 316.95 304.8 C 307.55 314.1 292.35 314.2 283.05 304.8 L 203.05 224.8 C 193.65 215.4 193.65 200.2 203.05 190.9 L 283.05 110.9 L 283.05 111 Z M 392 0 C 422.9 0 448 25.1 448 56 L 448 128 L 400 128 L 400 56 C 400 51.6 396.4 48 392 48 L 88 48 C 65.9 48 48 65.9 48 88 L 48 358.7 C 57.8 354.4 68.6 352 80 352 L 392 352 C 396.4 352 400 348.4 400 344 L 400 288 L 448 288 L 448 344 C 448 366.3 434.9 385.6 416 394.6 L 416 464 L 424 464 C 437.3 464 448 474.7 448 488 C 448 501.3 437.3 512 424 512 L 80 512 C 35.8 512 0 476.2 0 432 C 0 429.3 0.1 426.6 0.4 424 L 0 424 L 0 88 C 0 39.4 39.4 0 88 0 L 392 0 Z M 80 400 C 62.3 400 48 414.3 48 432 C 48 449.7 62.3 464 80 464 L 368 464 L 368 400 L 80 400 Z\",C:\"0 0 640 512\"}),gF=hI({A:\"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\",C:\"0 0 640 512\"}),gG={$:39},gj=hI({A:\"M217 401L345 273c9.4-9.4 9.4-24.6 0-33.9L217 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l87 87L24 232c-13.3 0-24 10.7-24 24s10.7 24 24 24l246.1 0-87 87c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0zM344 80l80 0c22.1 0 40 17.9 40 40l0 272c0 22.1-17.9 40-40 40l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24l80 0c48.6 0 88-39.4 88-88l0-272c0-48.6-39.4-88-88-88l-80 0c-13.3 0-24 10.7-24 24s10.7 24 24 24z\",C:\"0 0 512 512\"}),gW=p(function(e,t){return I(de,U([b9(U([{a:\"diva-canvas-label\",b:!0},{a:\"is-fullscreen\",b:e}]))]),U([tu(t)]))}),gZ=hI({A:\"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\",C:\"0 0 512 512\"}),gK=hI({A:\"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\",C:\"0 0 512 512\"}),gX=function(e){var t,a,r=gq(e),n=cW(da(e));return I(de,U([b7(\"diva-canvas-toolbar-stack\")]),U([I(de,U([b7(\"diva-canvas-toolbar\")]),U([I(de,U([b7(\"diva-canvas-toolbar-section\")]),U([2===e.I.$?hA({eI:e.a0?vN:gj,eO:e.db,dN:e.a0?\"Hide Collection\":\"Show Collection\",dU:ap(gG)}):dg,hA({eI:gK,eO:e.db,dN:\"Zoom Out\",dU:I(vk,n,gM)}),hA({eI:gZ,eO:e.db,dN:\"Zoom In\",dU:I(vk,n,gk)})])),I(de,U([b7(\"diva-canvas-toolbar-end\")]),U([C(td,gW,e.db,r),I(de,U([b7(\"diva-canvas-toolbar-section is-right\")]),H(I(rl,function(e){var a=I(nU,\"Log out\",I(n_,cu(t.en),e.dN)),r=e.at.$?a:a+\" (popup blocked)\";return I(de,U([b7(\"diva-canvas-toolbar-item\"),I(du,\"data-tooltip\",r)]),U([I(ds,U([b7(\"diva-canvas-toolbar-button\"),df(\"button\"),I(du,\"aria-label\",r),I(du,\"data-diva-auth-logout\",e.fm),I(du,\"data-diva-auth-url\",e.aK)]),U([gF]))]))},I(rl,function(e){return{at:e.at,dN:e.a6.dN,fm:e.s,aK:e.a6.s}},bq((t=e).c6.af))),U([hA({eI:gD,eO:e.db,dN:\"Page View\",dU:I(vk,n,gT)}),hA({eI:gH,eO:e.db,dN:\"Manifest Info\",dU:I(vk,n,gS)}),hA({eI:e.b8?g_:gB,eO:e.db,dN:e.b8?\"One Page\":\"Two Page\",dU:I(vk,n,gO)}),hA({eI:e.b$?gU:gF,eO:e.db,dN:\"Shift Pages\",dU:I(vk,n||!e.b8,gN)}),hA({eI:(a=e.df?e.bO:!!e.B)?vN:vq,eO:e.db,dN:a?\"Hide Sidebar\":\"Show Sidebar\",dU:I(vk,n,gz)}),I(hL,U([I(du,\"data-diva-action\",\"fullscreen\")]),{eI:e.db?vP:vH,eO:e.db,dN:e.db?\"Exit Full\":\"Fullscreen\",dU:ap(gP)})])))]))]))]))},gY=function(e){var t=e.I;switch(t.$){case 1:return e.eE?am:ap({a:\"Unable to display manifest\",b:\"No canvases found in this manifest.\",c:!1});case 2:var a=e.bY;if(3===a.$){var r=a.a;return ap({a:\"Unable to load manifest\",b:r,c:!0})}return e.eE?am:ap({a:\"No Manifest Selected\",b:\"Select a manifest from the collection to view.\",c:!1});case 3:var r=t.a;return ap({a:\"Unable to load manifest\",b:r,c:!0});default:return am}},gJ=function(e){var t={a:e.de,b:e.dE};if(t.a.$||t.b.$)return am;var a=t.a.a,r=t.b.a;return a>0?ap(es(X(r/a*100))+\"%\"):am},gQ={Main:{init:tU({f$:function(e){var t=rp(e.d7),a=uT(e._),r=e.d1?a:0,n=e.dS;return{a:{aw:e.aw,c6:r$,ch:am,a0:!0,dB:400,dD:0,dE:am,en:t,cm:rC,ez:uS,bJ:am,cn:\"\",db:!1,eE:!1,cz:e.cz,dM:!1,de:am,df:!1,X:!1,dO:!1,a7:n,bO:!1,di:!1,aG:0,cH:!1,dj:!0,aH:B,ba:am,cI:am,e8:rC,I:rw,bY:rm,dm:e.dm,R:am,d$:am,b$:!1,dr:e.dr,cO:am,_:a,B:r,b0:C(rE,220,520,e.b0),bf:!1,b8:0},b:eX(U([C(uA,rx,e.aw,n),I(rg,function(e){return I(ry,X(e.d8.dz),X(e.d8.dd))},rR)]))}},gF:function(e){return eX(U([sE(function(e){return uk(I(uD,e.fd,e.b3))}),sI(function(e){return I(uV,e.fd,e.aK)}),u8(uO),sy(I(rX,uM,uk)),u0(function(e){return uk(C(uB,e.s,e.du,e.ef))}),uQ(function(e){return uk(I(uH,e.s,e.ac))}),u4(function(e){return uk(C(u_,e.da,e.dh,e.dx))}),u6(function(e){return uk(C(uF,e.da,e.dh,e.dx))}),u3(function(e){return uk(I(uU,e.da,e.ac))}),u2(sx),u1(u9),uJ(function(e){return uk(uq)}),sm(uN),sw(uz),u5(uP),sR(uG),sC(uX),C(sv,1,\"resize\",I(ev,\"target\",C(ex,ry,I(ev,\"innerWidth\",el),I(ev,\"innerHeight\",el)))),e.cO.$?se:eX(U([sg(I(ew,uW,I(ev,\"clientX\",el))),sp(a2(uK))])),e.ch.$?se:eX(U([sg(I(ew,uj,I(ev,\"clientX\",el))),sp(a2(uZ))]))]))},gQ:b5,gR:function(e){var t,a,r,n,i=gY(e);return I(de,U([dt(e.dm)]),U([I(de,U([b9(U([{a:\"diva-app\",b:!0},{a:\"is-fullscreen\",b:e.db}]))]),U([R(tf,hk,e.dr,e.db,I(nU,\"\",I(n_,function(e){return I(cu,r.en,dr(e))},da(r=e)))),I(de,U([b7(\"diva-app-header\")]),U([gX(e)])),I(de,U([b9(U([{a:\"diva-app-body\",b:!0},{a:\"is-fullscreen\",b:e.db}]))]),U([dM(e),2!==(t=e).I.$?dg:I(de,U([b9(U([{a:\"diva-collection-resizer\",b:!0},{a:\"is-hidden\",b:!t.a0}])),I(dl,\"mousedown\",I(ew,dI,I(ev,\"clientX\",el)))]),U([tu(\"⋮\")])),I(de,U([b9(U([{a:\"diva-canvas-column\",b:!0},{a:\"is-fullscreen\",b:e.db}]))]),U([L(tv,dE,e.db,e.X||M(e.I,rw)||M(e.bY,rm),2===e.I.$&&e.a0,i,gJ(e))])),gA(e),2===e.I.$?I(gR,e,da(e)):I(dm,g$(e),da(e))])),I(de,U([b7(\"diva-required-statement-dock\")]),U([I(dm,tb(vD),I(n_,function(e){return I(cu,n.en,e.dx)},I(nD,dn,da(n=e))))])),(a=e).cH?I(de,U([b9(U([{a:\"diva-modal-overlay\",b:!0},{a:\"is-fullscreen\",b:a.di}]))]),U([I(de,U([b9(U([{a:\"diva-modal\",b:!0},{a:\"is-fullscreen\",b:a.di},{a:\"is-page-view\",b:!a.di}]))]),U([vB(a),vI(a)]))])):dg,e.dO?I(de,U([b7(\"diva-modal-overlay\")]),U([I(de,U([b7(\"diva-modal is-narrow\")]),U([hS(e),I(hf,e,da(e))]))])):dg,I(dm,dh(e),e.c6.ag)]))]))}})(I(em,function(e){return I(em,function(t){return I(em,function(a){return I(em,function(r){return I(em,function(n){return I(em,function(i){return I(em,function(o){return I(em,function(u){return I(em,function(s){return a2({aw:s,cz:u,dS:o,dm:i,d1:n,dr:r,_:a,b0:t,d7:e})},I(ev,\"acceptHeaders\",nl(eh)))},I(ev,\"initialPage\",ef))},I(ev,\"objectData\",eh))},I(ev,\"rootElementId\",eh))},I(ev,\"showSidebar\",eb))},I(ev,\"showTitle\",eb))},I(ev,\"sidebarPanel\",eh))},I(ev,\"sidebarWidth\",el))},I(ev,\"userLanguage\",eh)))(0)}},g0=/\\/info\\.json(?:[?#].*)?$/,g1=()=>new DOMException(\"The operation was cancelled.\",\"AbortError\"),g2=e=>\"string\"==typeof e?e:{...e},g4=class{resolve(e,t){if(this.destroyed||t.aborted)return Promise.reject(g1());let a=JSON.stringify([e.url,e.isStatic]),r=this.resolutionCache.get(e.sourceId);if(r&&r.descriptorKey!==a)this.invalidateSource(e.sourceId);else if(r){let e=r.resolutions.get(r.activeState);if(void 0!==e)return Promise.resolve(g2(e))}let n=this.inflight.get(e.sourceId);return n&&n.descriptorKey!==a&&(this.invalidateSource(e.sourceId),n=void 0),n||(n=this.startResolution(e,a)),this.consume(n,t)}registerSources(e){Array.from(this.inflight.values()).forEach(e=>this.cancelResolution(e)),this.resolutionCache.clear(),this.requests.forEach(e=>e.abort()),this.requests.clear(),Array.from(this.frames.keys()).forEach(e=>this.cancelFrame(e)),this.popups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.popups.clear(),this.logoutPopups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.logoutPopups.clear()}invalidateSources(e){e.forEach(e=>this.invalidateSource(e))}destroy(){this.destroyed||(this.destroyed=!0,this.root.removeEventListener(\"click\",this.clickHandler,!0),this.ports.authDestroyed.send(null),this.requests.forEach(e=>e.abort()),this.requests.clear(),this.frames.forEach((e,t)=>this.cancelFrame(t)),this.popups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.popups.clear(),this.logoutPopups.forEach(e=>{clearInterval(e.timer),e.window.close()}),this.logoutPopups.clear(),this.pending.forEach(e=>e.reject(new DOMException(\"The viewer was destroyed.\",\"AbortError\"))),this.pending.clear(),this.inflight.clear(),this.resolutionCache.clear())}succeed(e){let t,a=this.pending.get(e.requestId);if(!a||this.destroyed)return;this.pending.delete(e.requestId);let r=this.inflight.get(a.sourceId);(null==r?void 0:r.requestId)===e.requestId&&this.inflight.delete(a.sourceId);let n=e.credentialed?\"use-credentials\":\"Anonymous\";t=e.infoJson&&\"object\"==typeof e.infoJson&&!e.isStatic?{...(e=>{let t={...e};for(let e of[\"id\",\"@id\"]){let a=t[e];\"string\"==typeof a&&g0.test(a)&&(t[e]=a.replace(g0,\"\"))}return t})(e.infoJson),crossOriginPolicy:n,ajaxWithCredentials:e.credentialed}:e.isStatic?{type:\"image\",url:e.url,crossOriginPolicy:n,ajaxWithCredentials:e.credentialed}:e.credentialed?{url:e.url,crossOriginPolicy:n,ajaxWithCredentials:!0}:e.url;let i=e.credentialed?\"credentialed\":\"anonymous\",o=this.resolutionCache.get(a.sourceId),u=(null==o?void 0:o.descriptorKey)===a.descriptorKey?o.resolutions:new Map;u.set(i,t),this.resolutionCache.set(a.sourceId,{descriptorKey:a.descriptorKey,activeState:i,resolutions:u}),a.resolve(t)}fail(e,t){let a=this.pending.get(e);if(!a)return;this.pending.delete(e);let r=this.inflight.get(a.sourceId);(null==r?void 0:r.requestId)===e&&this.inflight.delete(a.sourceId),a.reject(Error(t))}startResolution(e,t){let a,r,n=`tile-source-${this.nextRequest+=1}`,i={requestId:n,descriptorKey:t,promise:new Promise((e,t)=>{a=e,r=t}),consumers:new Set};return this.pending.set(n,{sourceId:e.sourceId,descriptorKey:t,resolve:a,reject:r}),this.inflight.set(e.sourceId,i),this.ports.resolveTileSourceRequested.send({requestId:n,sourceId:e.sourceId}),i}consume(e,t){let a=this.nextConsumer+=1;return e.consumers.add(a),new Promise((r,n)=>{let i=!1,o=()=>{t.removeEventListener(\"abort\",u),e.consumers.delete(a)},u=()=>{i||(i=!0,o(),n(g1()),0===e.consumers.size&&this.cancelResolution(e))};t.addEventListener(\"abort\",u,{once:!0}),e.promise.then(e=>{i||(i=!0,o(),r(g2(e)))},e=>{i||(i=!0,o(),n(e))})})}cancelResolution(e){var t;let a=this.pending.get(e.requestId);a&&(this.pending.delete(e.requestId),(null==(t=this.inflight.get(a.sourceId))?void 0:t.requestId)===e.requestId&&this.inflight.delete(a.sourceId),this.ports.resolveTileSourceCancelled.send(e.requestId),a.reject(g1()))}invalidateSource(e){this.resolutionCache.delete(e);let t=this.inflight.get(e);t&&this.cancelResolution(t)}async fetch(e){let t=new AbortController;this.requests.set(e.id,t);try{let a=await fetch(e.url,{mode:\"cors\",credentials:e.withCredentials?\"include\":\"omit\",signal:t.signal,headers:e.bearer?{Authorization:`Bearer ${e.bearer}`}:void 0}),r=await a.text();this.destroyed||this.ports.authHttpResponded.send({id:e.id,status:a.status,body:r})}catch(a){t.signal.aborted||this.destroyed||this.ports.authHttpFailed.send({id:e.id,message:a instanceof Error?a.message:\"Authorization request failed.\"})}finally{this.requests.delete(e.id)}}cancelFetch(e){var t;null==(t=this.requests.get(e))||t.abort(),this.requests.delete(e)}storage(e){let t=\"diva:iiif-auth2:\"+encodeURIComponent(e.key);try{if(\"write\"===e.action)return void sessionStorage.setItem(t,JSON.stringify({accessToken:e.accessToken,expiresAt:e.expiresAt}));if(\"remove\"===e.action)return void sessionStorage.removeItem(t);let a=sessionStorage.getItem(t);this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:a?JSON.parse(a):null})}catch(t){\"read\"===e.action&&this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:null})}}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let a=t.closest(\"button[data-diva-auth-logout][data-diva-auth-url]\");if(a&&this.root.contains(a)){e.preventDefault(),e.stopPropagation(),this.startLogout(a);return}let r=t.closest(\"button[data-diva-auth-flow][data-diva-auth-url]\");if(!r||!this.root.contains(r))return;e.preventDefault(),e.stopPropagation();let n=r.dataset.divaAuthFlow,i=new URL(r.dataset.divaAuthUrl,location.href);i.searchParams.set(\"origin\",location.origin);let o=window.open(i.href,\"_blank\");if(!o)return void this.ports.authPopupChanged.send({flowId:n,status:\"blocked\"});this.ports.authPopupChanged.send({flowId:n,status:\"opened\"});let u=Date.now(),s=window.setInterval(()=>{o.closed?(clearInterval(s),this.popups.delete(n),this.ports.authPopupChanged.send({flowId:n,status:\"closed\"})):Date.now()-u>6e5&&(o.close(),clearInterval(s),this.popups.delete(n),this.ports.authTokenFailed.send({flowId:n,message:\"Sign-in timed out.\"}))},250);this.popups.set(n,{window:o,timer:s})}startLogout(e){let t=e.dataset.divaAuthLogout,a=new URL(e.dataset.divaAuthUrl,location.href),r=window.open(a.href,\"_blank\");if(!r)return void this.ports.authLogoutChanged.send({sessionId:t,status:\"blocked\"});this.ports.authLogoutChanged.send({sessionId:t,status:\"opened\"});let n=window.setInterval(()=>{r.closed&&(clearInterval(n),this.logoutPopups.delete(t),this.ports.authLogoutChanged.send({sessionId:t,status:\"closed\"}))},250);this.logoutPopups.set(t,{window:r,timer:n})}startFrame(e){this.cancelFrame(e.flowId);let t=new URL(e.url,location.href);t.searchParams.set(\"messageId\",e.messageId),t.searchParams.set(\"origin\",location.origin);let a=document.createElement(\"iframe\");a.hidden=!0,a.src=t.href;let r=r=>{r.source===a.contentWindow&&r.origin===t.origin&&r.data&&\"object\"==typeof r.data&&r.data.messageId===e.messageId&&this.ports.authTokenMessage.send({flowId:e.flowId,now:Date.now(),value:r.data})};window.addEventListener(\"message\",r);let n=window.setTimeout(()=>{this.cancelFrame(e.flowId),this.ports.authTokenFailed.send({flowId:e.flowId,message:\"The token service did not respond.\"})},3e4);this.frames.set(e.flowId,{element:a,timeout:n,receive:r}),document.body.append(a)}cancelFrame(e){let t=this.frames.get(e);t&&(clearTimeout(t.timeout),window.removeEventListener(\"message\",t.receive),t.element.remove(),this.frames.delete(e))}constructor(e,t){this.pending=new Map,this.inflight=new Map,this.resolutionCache=new Map,this.requests=new Map,this.frames=new Map,this.popups=new Map,this.logoutPopups=new Map,this.nextRequest=0,this.nextConsumer=0,this.destroyed=!1,this.ports=e,this.root=t,this.clickHandler=this.handleClick.bind(this),t.addEventListener(\"click\",this.clickHandler,!0),e.tileSourceResolutionSucceeded.subscribe(e=>this.succeed(e)),e.tileSourceResolutionFailed.subscribe(e=>this.fail(e.requestId,e.message)),e.authHttpRequested.subscribe(e=>void this.fetch(e)),e.authHttpCancelled.subscribe(e=>this.cancelFetch(e)),e.authStorageRequested.subscribe(e=>this.storage(e)),e.authTokenFrameRequested.subscribe(e=>this.startFrame(e)),e.authTokenFrameCancelled.subscribe(e=>this.cancelFrame(e))}};function g3(e){let t=e.canvas.width,a=e.canvas.height,r=pC._ensureScratchContext(t,a);return r.clearRect(0,0,t,a),r.drawImage(e.canvas,0,0),r.getImageData(0,0,t,a)}function g6(e,t){let a=t.filters;e.filters=a?Array.isArray(a)?a:[a]:[];for(let t=0;t=0)throw Error(\"An item can not have filters assigned multiple times.\");t.push(e)}function g8(e,t){if(0===e.filters.length)return[];let a=null;for(let r=0;r=0)return n.processors}else a=n.processors}return a||[]}var g7=(e,t)=>{let a=e[0],r=e[e.length-1];for(let n=0;n=t){r=e[n],a=e[Math.max(0,n-1)];break}if(r.stop===a.stop)return r.color.slice();let n=(t-a.stop)/(r.stop-a.stop);return[Math.round(a.color[0]+(r.color[0]-a.color[0])*n),Math.round(a.color[1]+(r.color[1]-a.color[1])*n),Math.round(a.color[2]+(r.color[2]-a.color[2])*n)]},g9=e=>{let t=[];for(let a=0;a<256;a+=1){let r=a/255;t[a]=g7(e,r)}return t},pe=new Map,pt=e=>e<0?0:e>255?255:e,pa=e=>e<0?0:e>1?1:e,pr=e=>{if(!e)return null;let t=e.trim();if(t.startsWith(\"#\")&&(t=t.slice(1)),3===t.length&&(t=t.split(\"\").map(e=>e+e).join(\"\")),6!==t.length)return null;let a=parseInt(t,16);return Number.isNaN(a)?null:[a>>16&255,a>>8&255,255&a]},pn=(e,t,a,r,n)=>{let i=new Uint8ClampedArray(e.length);if(!r)return i.set(e),i;let o=1/(2*r+1);if(n){let n=new Uint8ClampedArray(t*a);for(let i=0;i>8;return n}function pu(e,t){let a=e.canvas.width,r=e.canvas.height,n=pC._ensureScratchContext(a,r);n.clearRect(0,0,a,r),n.drawImage(e.canvas,0,0);let i=n.getImageData(0,0,a,r);t(i)&&(n.putImageData(i,0,0),e.clearRect(0,0,a,r),e.drawImage(pC._scratchCanvas,0,0))}function ps(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function pc(e){let t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function pl(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function pb(e,t){let a=pc([1,1,1]);for(let r=0;r{t()};function pg(e,t,a){let r=e/255,n=t/255,i=a/255,o=Math.max(r,n,i),u=Math.min(r,n,i),s=o-u,c=0;if(o!==u){switch(o){case r:c=(n-i)/s+6*(n{i[0]=t[e],i[1]=a,i[2]=r,i[3]=n}):1===e?pi((e,a,r,n,i)=>{i[0]=e,i[1]=t[a],i[2]=r,i[3]=n}):pi((e,a,r,n,i)=>{i[0]=e,i[1]=a,i[2]=t[r],i[3]=n})}function pw(e,t){let a=t/100,r=Math.abs(a),n=e=>a>0?e+(255-e)*a:e-e*r;return 0===e?pi((e,t,a,r,i)=>{i[0]=n(e),i[1]=t,i[2]=a,i[3]=r}):1===e?pi((e,t,a,r,i)=>{i[0]=e,i[1]=n(t),i[2]=a,i[3]=r}):pi((e,t,a,r,i)=>{i[0]=e,i[1]=t,i[2]=n(a),i[3]=r})}function px(e,t){let a=Math.max(0,Math.min(100,t||0));if(0===a)return pv;let r=1-a/100*.8,n=[];for(let e=0;e<256;e+=1)n[e]=pt(255*Math.pow(e/255,r));return pm(e,n)}function py(e,t){let a=Math.max(0,Math.min(100,t||0))/100;if(0===a)return pv;let r=[];for(let e=0;e<256;e+=1){let t=255*(1/(1+Math.exp(-8*(e/255-.5))));r[e]=pt(e+(t-e)*a)}return pm(e,r)}function pE(e,t,a){let r=Math.max(-100,Math.min(100,t||0))/100;if(0===r)return pv;let n=Math.max(.02,Math.min(.3,(void 0===a?8:a)/100));return pi((t,a,i,o,u)=>{let s=pg(t,a,i),c=pa(1-(0===e?Math.min(Math.abs(s.h),Math.abs(1-s.h)):Math.abs(s.h-e))/n)*Math.abs(r);if(c<=0){u[0]=t,u[1]=a,u[2]=i,u[3]=o;return}let l=r>=0?1:-1,b=pa(s.s+l*(1-s.s)*c),d=pa(s.v+l*s.v*c*.2),f=pp(s.h,b,d);u[0]=f.r,u[1]=f.g,u[2]=f.b,u[3]=o})}function pI(e,t){let a=Math.max(0,Math.min(100,t||0))/100;if(0===a)return pv;let r=[];for(let e=0;e<256;e+=1){let t=e/255*(e/255)*a;r[e]=pt(e+(255-e)*t)}return pm(e,r)}var pC={_scratch:null,_scratchCanvas:null,_scratchContext:null,_ensureScratch:function(e){return(!this._scratch||this._scratch.length255)throw Error(\"Threshold must be between 0 and 255.\");return pi((t,a,r,n,i)=>{let o=255*(54*t+183*a+19*r>>8>=e);i[0]=o,i[1]=o,i[2]=o,i[3]=255})},SATURATION:function(e){let t=-.01*e;return pi((e,a,r,n,i)=>{let o=Math.max(e,a,r);i[0]=e!==o?e+(o-e)*t:e,i[1]=a!==o?a+(o-a)*t:a,i[2]=r!==o?r+(o-r)*t:r,i[3]=n})},VIBRANCE:function(e){let t=-1*e;return pi((e,a,r,n,i)=>{let o=Math.max(e,a,r),u=2*Math.abs(o-(e+a+r)/3)/255*t/100;i[0]=e!==o?e+(o-e)*u:e,i[1]=a!==o?a+(o-a)*u:a,i[2]=r!==o?r+(o-r)*u:r,i[3]=n})},HUE:function(e){let t=pf(Math.abs(e)/100*360);return pi((e,a,r,n,i)=>{i[0]=pt(t.m00*e+t.m01*a+t.m02*r),i[1]=pt(t.m10*e+t.m11*a+t.m12*r),i[2]=pt(t.m20*e+t.m21*a+t.m22*r),i[3]=n})},BRIGHTNESS:function(e){if(e<-255||e>255)throw Error(\"Brightness adjustment must be between -255 and 255.\");let t=[];for(let a=0;a<256;a+=1)t[a]=a+e;return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},CC_RED:function(e){return pw(0,e)},CC_GREEN:function(e){return pw(1,e)},CC_BLUE:function(e){return pw(2,e)},CONTRAST:function(e){if(e<0)throw Error(\"Contrast adjustment must be positive.\");let t=[];for(let a=0;a<256;a+=1)t[a]=a*e;return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},GAMMA:function(e){if(e<0)throw Error(\"Gamma adjustment must be positive.\");let t=[];for(let a=0;a<256;a+=1)t[a]=255*Math.pow(a/255,e);return pi((e,a,r,n,i)=>{i[0]=t[e],i[1]=t[a],i[2]=t[r],i[3]=n})},GREYSCALE:function(){return pi((e,t,a,r,n)=>{let i=77*e+150*t+29*a>>8;n[0]=i,n[1]=i,n[2]=i,n[3]=255})},INVERT:function(){let e=[];for(let t=0;t<256;t+=1)e[t]=255-t;return pi((t,a,r,n,i)=>{i[0]=e[t],i[1]=e[a],i[2]=e[r],i[3]=n})},MORPHOLOGICAL_OPERATION:function(e,t){if(e%2==0)throw Error(\"The kernel size must be an odd number.\");let a=Math.floor(e/2);if(!t)throw Error(\"A comparator must be defined.\");return function(r,n){pu(r,r=>{let n=r.width,i=r.height,o=pC._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,a,r,n,i,o){let u=4*a,s=r-i,c=a-i;for(let a=i;a=i&&l=i&&s=r)continue;let b=c*u;for(let t=0;t=0&&r{let n=r.width,i=r.height,o=pC._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,a,r,n,i,o){let u=4*a,s=r-o,c=a-o;for(let a=o;a=o&&l=o&&s=r)continue;let b=c*u;for(let r=0;r=0&&ut?0|Math.min((n-t)/r*128+128,255):0|Math.max(0,n/(t/128)),a[n]=e[i]}return pi((e,t,r,n,i)=>{let o=a[(e+t+r)/3|0];i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=255})},COLORMAP_PRESET:function(e){var t=e||\"\";let a=pe.get(t);if(a)return a;let r=null;switch(t){case\"hot\":r=g9([{stop:0,color:[0,0,0]},{stop:.4,color:[255,0,0]},{stop:.7,color:[255,255,0]},{stop:1,color:[255,255,255]}]);break;case\"cool\":r=g9([{stop:0,color:[0,0,0]},{stop:.5,color:[0,128,255]},{stop:1,color:[255,255,255]}]);break;case\"gray\":case\"\":r=g9([{stop:0,color:[0,0,0]},{stop:1,color:[255,255,255]}]);break;default:return null}return pe.set(t,r),r},CONVOLUTION_PRESET:function(e){switch((e||\"\").toLowerCase()){case\"sharpen\":return[0,-1,0,-1,5,-1,0,-1,0];case\"blur\":return[1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9];case\"edge\":return[-1,-1,-1,-1,8,-1,-1,-1,-1];case\"emboss\":return[-2,-1,0,-1,1,1,0,1,2];default:return null}},PSEUDOCOLOR:function(e,t,a,r){let n=(e||\"\").toLowerCase(),i=void 0===t?1:t,o=void 0===a?1:a,u=void 0===r?1:r,s=(e,t,a,r)=>{r[0]=pt(e*i),r[1]=pt(t*o),r[2]=pt(a*u)};return pi((e,t,a,r,i)=>{let o=.2126*e+.7152*t+.0722*a;switch(n){case\"rg\":{let a=pt(128+(e-t));s(a,255-a,(e+t)/2,i),i[3]=r;return}case\"gb\":{let e=pt(128+(t-a));s((t+a)/2,e,255-e,i),i[3]=r;return}case\"rb\":{let t=pt(128+(e-a));s(t,(e+a)/2,255-t,i),i[3]=r;return}case\"luma\":{let e=pt(o);s(e,255-e,e,i),i[3]=r;return}case\"cmy\":s(255-e,255-t,255-a,i),i[3]=r;return;case\"heat\":{let e=pt(o)/255;s(pt(255*Math.min(1,3*e)),pt(255*Math.min(1,Math.max(0,(e-.33)*3))),pt(255*Math.min(1,Math.max(0,(e-.66)*3))),i),i[3]=r;return}case\"pca1\":{let n=pt(.6*e+.3*t+.1*a);s(n,255-n,n,i),i[3]=r;return}case\"pca2\":{let n=pt(.5*e-.2*t-.3*a+128);s(n,255-n,255-n,i),i[3]=r;return}case\"pca3\":{let n=pt(.2*e+.6*t-.8*a+128);s(255-n,n,255-n,i),i[3]=r;return}default:s(e,t,a,i),i[3]=r}})},COLOR_REPLACE:function(e,t,a,r,n){let i=pr(e),o=pr(t);if(!i||!o)return pv;let u=Math.max(0,Math.min(255,void 0===a?0:a)),s=Math.max(0,Math.min(1,void 0===r?1:r)),c=pg(o[0],o[1],o[2]);return pi((e,t,a,r,l)=>{let b,d=e-i[0],f=t-i[1],h=a-i[2],v=Math.sqrt(d*d+f*f+h*h);if((b=(u<=0?+(0===v):1-Math.min(1,v/u))*s)<=0){l[0]=e,l[1]=t,l[2]=a,l[3]=r;return}let g=o[0],p=o[1],m=o[2];if(n){let r=(.2126*e+.7152*t+.0722*a)/255,n=pp(c.h,c.s,r);g=n.r,p=n.g,m=n.b}l[0]=pt(e+(g-e)*b),l[1]=pt(t+(p-t)*b),l[2]=pt(a+(m-a)*b),l[3]=r})},ALT_RED_GAMMA:function(e){return px(0,e)},ALT_GREEN_GAMMA:function(e){return px(1,e)},ALT_BLUE_GAMMA:function(e){return px(2,e)},ALT_RED_SIGMOID:function(e){return py(0,e)},ALT_GREEN_SIGMOID:function(e){return py(1,e)},ALT_BLUE_SIGMOID:function(e){return py(2,e)},ALT_RED_HUE:function(e,t){return pE(0,e,t)},ALT_GREEN_HUE:function(e,t){return pE(1/3,e,t)},ALT_BLUE_HUE:function(e,t){return pE(2/3,e,t)},ALT_RED_VIBRANCE:function(e){return pI(0,e)},ALT_GREEN_VIBRANCE:function(e){return pI(1,e)},ALT_BLUE_VIBRANCE:function(e){return pI(2,e)},GLOBAL_PCA_COLOR:function(e,t){let a=(e||\"\").toLowerCase(),r=Math.max(-180,Math.min(180,null!=t?t:0)),n={count:0,mean:[0,0,0],m2:[[0,0,0],[0,0,0],[0,0,0]]},i=null;return function(e,t){pu(e,e=>{let t=e.data;return!i&&(!function(e,t){for(let a=0;a=2e3&&(i=function(e){if(e.count<2)return null;let t=1/(e.count-1),a=[[e.m2[0][0]*t,e.m2[0][1]*t,e.m2[0][2]*t],[e.m2[1][0]*t,e.m2[1][1]*t,e.m2[1][2]*t],[e.m2[2][0]*t,e.m2[2][1]*t,e.m2[2][2]*t]];return pd(e.mean,a)}(n))),i?!function(e,t,a,r){let n=e.data,i=a.mean,o=a.vectors[0],u=a.vectors[1],s=a.vectors[2],c=Math.sqrt(Math.max(1e-6,a.values[0])),l=Math.sqrt(Math.max(1e-6,a.values[1])),b=Math.sqrt(Math.max(1e-6,a.values[2])),d=(e,t)=>pt(128+e/(3*t)*127);for(let e=0;el&&(l=v),gd&&(d=g),ph&&(h=p)}let v=l-c||1,g=d-b||1,p=h-f||1,m=(e,t,a)=>pt((e-t)/a*255);for(let e=0;e{let a=e.width,r=e.height;if(!a||!r)return!1;let n=e.data,i=po(n,a,r),o=pn(i,a,r,6,!0);for(let e=0,a=0;e{let a=e.width,r=e.height;if(!a||!r)return!1;let n=pn(e.data,a,r,2),i=e.data;for(let e=0;e{let t=e.width,n=e.height;if(!t||!n)return!1;let i=e.data,o=po(i,t,n),u=pn(o,t,n,Math.floor(a/2),!0);for(let e=0,t=0;eu[t]+r);i[e]=a,i[e+1]=a,i[e+2]=a}return!0}),t()}}},pR=\"diva-inline-styles\";(e=>{if(\"u\":first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-fullscreen,.diva-collection-panel.is-fullscreen{border-radius:0;height:100%}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs.is-fullscreen{height:100%}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-image{border-radius:0;width:100%;height:auto;display:block}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-panel{height:100%;padding:12px;overflow:auto}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{border-radius:0;height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));width:100%;height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-fullscreen{flex:1;min-height:0}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-viewer.is-fullscreen{border-radius:0;height:100%}.diva-modal-viewer.is-outer-left{border-radius:0}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb{border-radius:0;width:100%;height:auto;display:block}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{border-radius:0;width:100%;height:auto}}\");var p$=class extends EventTarget{detectLanguage(){return navigator.language.split(\"-\")[0]}initialPageFlag(e){return\"number\"==typeof e?Number.isInteger(e)&&e>=0?e:null:e&&\"object\"==typeof e&&(\"canvasId\"===e.by||\"label\"===e.by)&&\"string\"==typeof e.value?{by:e.by,value:e.value}:null}getConnectedRoot(){let e=document.getElementById(this.rootId);return e||this.root}bindPorts(){this.getPort(\"tileSourcesUpdated\").subscribe(e=>{this.auth.registerSources(e.tileSources),this.callViewerMethodWhenReady(\"setTileSourceResolver\",this.tileSourceResolver),this.callViewerMethodWhenReady(\"setTileSources\",e.tileSources,e.initialPageIndex,e.resourceId)}),this.getPort(\"pageAspectsUpdated\").subscribe(e=>{this.callViewerMethodWhenReady(\"setPageAspects\",e)}),this.getPort(\"pageLabelsUpdated\").subscribe(e=>{this.callViewerMethodWhenReady(\"setPageLabels\",e)}),this.getPort(\"pagesUpdated\").subscribe(e=>{this.pages=e.map(e=>this.copyPage(e)),this.rebuildPageIndexes(),this.updateState({pageCount:this.pages.length,currentPageIndex:null,visiblePageIndexes:[]})}),this.getPort(\"zoomLevelUpdated\").subscribe(e=>{this.callViewerMethodWhenReady(\"setZoomLevel\",e)}),this.getPort(\"zoomBy\").subscribe(e=>{this.callViewerMethod(\"zoomBy\",e)}),this.getPort(\"scrollToIndex\").subscribe(e=>{this.callViewerMethod(\"scrollToIndex\",e)}),this.getPort(\"filterPreviewUpdated\").subscribe(e=>{var t;e?(this.filterPreviewVersion+=1,null==(t=this.filterPreviewController)||t.abort(),this.filterPreviewController=null,this.pendingFilterPreview=e,this.applyFilterPreview()):this.closeFilterPreview()}),this.getPort(\"setFullscreen\").subscribe(e=>{this.setFullscreen(e)}),this.getPort(\"saveFilteredImage\").subscribe(()=>{this.saveFilteredImage()}),this.getPort(\"layoutConfigUpdated\").subscribe(e=>{this.callViewerMethod(\"setLayoutConfig\",e.mode,e.direction)||this.callViewerMethodWhenReady(\"setLayoutConfig\",e.mode,e.direction),this.updateLayoutState(e.mode,e.direction)}),this.getPort(\"layoutModeUpdated\").subscribe(e=>{this.callViewerMethod(\"setLayoutMode\",e),this.updateLayoutState(e,this.state.viewingDirection)}),this.getPort(\"resourceLoadSucceeded\").subscribe(e=>{this.handleResourceSucceeded(e.requestId,e.url,e.hasPages,e.pageIndex)}),this.getPort(\"resourceLoadFailed\").subscribe(e=>{this.handleResourceFailed(e.requestId,e.message)}),this.getPort(\"copyToClipboard\").subscribe(e=>{this.copyToClipboard(e)}),this.getPort(\"authSourcesInvalidated\").subscribe(e=>{this.auth.invalidateSources(e),this.callViewerMethodWhenReady(\"invalidateTileSources\",e)})}ensureMainViewer(){let e=document.getElementById(\"main-viewer\");return e&&e!==this.mainViewer&&(this.mainViewer=e),this.mainViewer}copyPage(e){var t;let a=e.images.map(e=>({...e})),r=null!=(t=a.find(t=>t.id===e.primaryImage.id&&t.isPrimary))?t:{...e.primaryImage};return{index:e.index,canvasId:e.canvasId,label:e.label,...null===e.width||void 0===e.width?{}:{width:e.width},...null===e.height||void 0===e.height?{}:{height:e.height},primaryImage:{...r},images:a}}rebuildPageIndexes(){this.pagesByCanvasId.clear(),this.pagesByLabel.clear(),this.pages.forEach(e=>{this.pagesByCanvasId.has(e.canvasId)||this.pagesByCanvasId.set(e.canvasId,e);let t=e.label.toLowerCase();this.pagesByLabel.has(t)||this.pagesByLabel.set(t,e)})}pageForSelector(e){if(!e||\"object\"!=typeof e||\"canvasId\"!==e.by&&\"label\"!==e.by||\"string\"!=typeof e.value)throw TypeError(\"A page selector must contain a supported 'by' value and a string 'value'.\");return\"canvasId\"===e.by?this.pagesByCanvasId.get(e.value):this.pagesByLabel.get(e.value.toLowerCase())}copyState(){return{...this.state,visiblePageIndexes:this.state.visiblePageIndexes.slice()}}updateState(e){this.state={...this.state,...e}}emit(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}updateLayoutState(e,t){let a=\"spread\"===e||\"spread-shift\"===e?e:\"single\",r=\"rtl\"===t?\"rtl\":\"ltr\",n=this.ensureMainViewer(),i=n&&\"function\"==typeof n.getVisiblePageIndexes?n.getVisiblePageIndexes():this.state.visiblePageIndexes,o=a!==this.state.layoutMode||r!==this.state.viewingDirection;this.updateState({layoutMode:a,viewingDirection:r,visiblePageIndexes:i}),o&&this.emit(\"layoutchange\",{layoutMode:a,viewingDirection:r})}handleResourceSucceeded(e,t,a,r){var n;if(e!==this.activeResourceRequestId)return;let i=\"initial\"!==e;if(i&&(this.updateState({resourceUrl:t}),this.emit(\"resourcechange\",{resourceUrl:t,state:this.copyState()})),a){this.awaitingViewerResource={id:e,url:t,pageIndex:r,resourceChangeEmitted:i};let a=this.ensureMainViewer(),o=null==(n=this.pages[r])?void 0:n.primaryImage.id;o&&a&&\"function\"==typeof a.isPageLoaded&&a.isPageLoaded(r,o)&&this.completeResource(e,t,!i);return}this.completeResource(e,t,!i)}completeResource(e,t,a){e===this.activeResourceRequestId&&(this.awaitingViewerResource=null,this.updateState({resourceUrl:t,ready:!0}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyResolve(),this.emit(\"ready\",this.copyState())),\"initial\"!==e&&this.pendingResource&&(this.pendingResource.resolve(),this.pendingResource=null),a&&this.emit(\"resourcechange\",{resourceUrl:t,state:this.copyState()}))}handleResourceFailed(e,t){var a,r;if(e!==this.activeResourceRequestId)return;let n=Error(t),i=(null==(a=this.pendingResource)?void 0:a.id)===e&&this.pendingResource.previousReady;this.awaitingViewerResource=null,this.updateState({ready:i}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(n)),\"initial\"!==e&&(null==(r=this.pendingResource)?void 0:r.id)===e&&(this.pendingResource.reject(n),this.pendingResource=null),this.emit(\"error\",{error:n,operation:\"setResource\",recoverable:\"initial\"!==e})}assertAlive(){if(this.isDestroyed)throw new DOMException(\"The Diva instance was destroyed.\",\"InvalidStateError\")}assertPageIndex(e){if(!Number.isInteger(e)||e<0||e>=this.pages.length)throw RangeError(`Page index ${e} is outside the available page range.`)}refreshLoadingState(){let e=this.resourceLoading||this.viewerLoading;e!==this.state.loading&&(this.updateState({loading:e}),this.emit(\"loadingchange\",{loading:e}))}async waitForResource(){this.assertAlive(),this.pendingResource?await this.pendingResource.promise:await this.ready,this.assertAlive()}async applyFilterPreview(){if(this.isDestroyed||!this.pendingFilterPreview)return;if(!this.ensureFilterViewerElement()){this.filterPreviewRetries<10&&(this.filterPreviewRetries+=1,null===this.filterPreviewRafId&&(this.filterPreviewRafId=requestAnimationFrame(()=>{this.filterPreviewRafId=null,this.applyFilterPreview()})));return}let e=this.pendingFilterPreview;this.pendingFilterPreview=null,this.filterPreviewRetries=0;let t=this.filterPreviewVersion;if(this.filterOptions=e.filters||null,this.ensureFilterViewer(),this.filterViewer){let a=JSON.stringify([e.sourceId,e.tileSource,e.isStatic]);if(this.currentFilterSourceKey!==a){let r,n=new AbortController;this.filterPreviewController=n;try{r=await this.auth.resolve({sourceId:e.sourceId,url:e.tileSource,isStatic:e.isStatic},n.signal)}catch(e){n.signal.aborted||this.isDestroyed||this.filterPreviewVersion;return}finally{this.filterPreviewController===n&&(this.filterPreviewController=null)}if(this.isDestroyed||t!==this.filterPreviewVersion)return;this.currentFilterSourceKey=a,this.filterViewer.open(r)}else this.applyFilterOptions()}}copyToClipboard(e){if(navigator.clipboard&&\"function\"==typeof navigator.clipboard.writeText)return void navigator.clipboard.writeText(e).catch(()=>{})}bindPageChange(){this.bindViewerEvent(\"diva-page-change\",this.handlePageChangeBound)}bindFullscreenChange(){document.addEventListener(\"fullscreenchange\",this.handleFullscreenChangeBound)}bindZoomChange(){this.bindViewerEvent(\"diva-zoom-change\",this.handleZoomChangeBound)}bindLoadingChange(){this.bindViewerEvent(\"diva-loading-change\",this.handleLoadingChangeBound)}bindRootClick(){this.getConnectedRoot().addEventListener(\"click\",this.handleRootClickBound,!0)}addEventListener(e,t,a){super.addEventListener(e,t,a)}removeEventListener(e,t,a){super.removeEventListener(e,t,a)}getState(){return this.copyState()}getPages(){return this.pages.map(e=>this.copyPage(e))}findPage(e){let t=this.pageForSelector(e);return t?this.copyPage(t):void 0}getCurrentPage(){let e=this.state.currentPageIndex;return null!==e&&this.pages[e]?this.copyPage(this.pages[e]):void 0}getVisiblePages(){return this.state.visiblePageIndexes.map(e=>this.pages[e]).filter(Boolean).map(e=>this.copyPage(e))}getLayoutMode(){return this.state.layoutMode}setResource(e){let t,a;if(this.assertAlive(),!e||\"string\"!=typeof e)return Promise.reject(TypeError(\"A resource URL is required.\"));this.pendingResource&&(this.pendingResource.reject(new DOMException(\"The resource load was superseded.\",\"AbortError\")),this.pendingResource=null),this.awaitingViewerResource=null;let r=this.state.ready,n=`public-${++this.resourceSequence}`,i=new Promise((e,r)=>{t=e,a=r});return i.catch(()=>{}),this.pendingResource={id:n,promise:i,resolve:t,reject:a,previousReady:r},this.activeResourceRequestId=n,this.updateState({ready:!1}),this.resourceLoading=!0,this.refreshLoadingState(),this.getPort(\"resourceRequested\").send({requestId:n,url:e}),i}async goToPage(e){if(await this.waitForResource(),\"number\"!=typeof e){let t=this.pageForSelector(e);return!!t&&(await this.callViewerMethodAsync(\"scrollToIndex\",t.index),!0)}this.assertPageIndex(e),await this.callViewerMethodAsync(\"scrollToIndex\",e)}async next(){await this.waitForResource(),await this.callViewerMethodAsync(\"next\")}async previous(){await this.waitForResource(),await this.callViewerMethodAsync(\"previous\")}async setZoom(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError(\"Zoom must be a positive finite number.\");await this.callViewerMethodAsync(\"setZoomLevel\",e)}async zoomBy(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError(\"Zoom factor must be a positive finite number.\");await this.callViewerMethodAsync(\"zoomBy\",e)}zoomIn(){return this.zoomBy(1.6)}zoomOut(){return this.zoomBy(.625)}async fitToPage(e){await this.waitForResource();let t=null!=e?e:this.state.currentPageIndex;if(null===t)throw RangeError(\"There is no current page.\");this.assertPageIndex(t),await this.callViewerMethodAsync(\"fitToPage\",t)}async zoomToRegion(e,t,a={}){var r;if(await this.waitForResource(),this.assertPageIndex(e),![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.x<0||t.y<0||t.width<=0||t.height<=0)throw RangeError(\"Region coordinates must be finite, non-negative, and have positive dimensions.\");let n=null!=(r=a.padding)?r:.05;if(!Number.isFinite(n)||n<0)throw RangeError(\"Region padding must be a non-negative finite number.\");await this.callViewerMethodAsync(\"zoomToRegion\",e,t,a)}async setLayoutMode(e){if(await this.waitForResource(),![\"single\",\"spread\",\"spread-shift\"].includes(e))throw RangeError(`Unsupported layout mode: ${e}`);await this.callViewerMethodAsync(\"setLayoutMode\",e),this.updateLayoutState(e,this.state.viewingDirection),this.getPort(\"layoutModeRequested\").send(e)}async enterFullscreen(){this.assertAlive(),document.fullscreenElement||await this.getConnectedRoot().requestFullscreen()}async exitFullscreen(){this.assertAlive(),document.fullscreenElement&&await document.exitFullscreen()}toggleFullscreen(){return document.fullscreenElement?this.exitFullscreen():this.enterFullscreen()}destroy(){var e;if(this.isDestroyed)return;this.isDestroyed=!0;let t=new DOMException(\"The Diva instance was destroyed.\",\"InvalidStateError\");this.readySettled||(this.readySettled=!0,this.readyReject(t)),null==(e=this.pendingResource)||e.reject(t),this.pendingResource=null,this.awaitingViewerResource=null,this.updateState({destroyed:!0,loading:!1}),this.closeFilterPreview(),this.auth.destroy(),null!==this.viewerMethodRafId&&(cancelAnimationFrame(this.viewerMethodRafId),this.viewerMethodRafId=null),this.pendingViewerMethods.clear();let a=this.getConnectedRoot();this.removeViewerEvent(\"diva-page-change\",this.handlePageChangeBound),this.removeViewerEvent(\"diva-page-loaded\",this.handlePageLoadedBound),this.removeViewerEvent(\"diva-zoom-change\",this.handleZoomChangeBound),this.removeViewerEvent(\"diva-loading-change\",this.handleLoadingChangeBound),this.removeViewerEvent(\"diva-page-load-error\",this.handlePageLoadErrorBound),a.removeEventListener(\"click\",this.handleRootClickBound,!0),document.removeEventListener(\"fullscreenchange\",this.handleFullscreenChangeBound),a&&(a.__divaInstance===this&&delete a.__divaInstance,a.elmTree&&delete a.elmTree,a.innerHTML=\"\")}closeFilterPreview(){var e;this.filterPreviewVersion+=1,null==(e=this.filterPreviewController)||e.abort(),this.filterPreviewController=null,null!==this.filterPreviewRafId&&(cancelAnimationFrame(this.filterPreviewRafId),this.filterPreviewRafId=null),this.filterViewer&&\"function\"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.filterViewerElement=null,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterOptions=null,this.filterPreviewRetries=0}setFullscreen(e){let t=this.getConnectedRoot();if(e){if(document.fullscreenElement||!document.fullscreenEnabled)return;t.requestFullscreen().catch(()=>{});return}document.fullscreenElement&&document.exitFullscreen().catch(()=>{})}handleRootClick(e){let t=e.target;if(!(t instanceof Element))return;let a=this.getConnectedRoot(),r=t.closest(\"button[data-diva-action='fullscreen']\");r&&a.contains(r)&&(e.preventDefault(),e.stopPropagation(),this.toggleFullscreenFromUserActivation())}toggleFullscreenFromUserActivation(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.fullscreenEnabled&&this.getConnectedRoot().requestFullscreen().catch(()=>{})}handlePageChange(e){let t=e.detail;if(!t||\"number\"!=typeof t.index)return;t.instant?this.getPort(\"pageIndexChangedInstant\").send(t.index):this.getPort(\"pageIndexChanged\").send(t.index);let a=this.ensureMainViewer(),r=a&&\"function\"==typeof a.getVisiblePageIndexes?a.getVisiblePageIndexes():[t.index];this.updateState({currentPageIndex:t.index,visiblePageIndexes:r});let n=this.pages[t.index];n&&this.emit(\"pagechange\",{pageIndex:t.index,page:this.copyPage(n),visiblePages:this.getVisiblePages()})}handlePageLoaded(e){let t=e.detail;if(!t||\"number\"!=typeof t.index)return;let a=this.awaitingViewerResource;a&&t.resourceId===a.id&&t.index===a.pageIndex&&this.completeResource(a.id,a.url,!a.resourceChangeEmitted)}handleZoomChange(e){let t=e.detail;t&&\"number\"==typeof t.zoom&&(this.getPort(\"zoomChanged\").send(t.zoom),this.updateState({zoom:t.zoom}),this.emit(\"zoomchange\",{zoom:t.zoom}))}handleLoadingChange(e){let t=e.detail;t&&\"boolean\"==typeof t.loading&&(this.getPort(\"viewerLoadingChanged\").send(t.loading),this.viewerLoading=t.loading,this.refreshLoadingState())}handlePageLoadError(e){var t;let a=e.detail,r=Error((null==a?void 0:a.message)||\"The image could not be loaded.\"),n=this.awaitingViewerResource;if(n&&(null==a?void 0:a.resourceId)===n.id&&(null==a?void 0:a.index)===n.pageIndex){this.updateState({ready:!1}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(r)),\"initial\"!==n.id&&(null==(t=this.pendingResource)?void 0:t.id)===n.id&&(this.pendingResource.reject(r),this.pendingResource=null),this.emit(\"error\",{error:r,operation:\"loadPage\",recoverable:!0});return}this.emit(\"error\",{error:r,operation:\"loadPage\",recoverable:!0})}handleFullscreenChange(){let e=!!document.fullscreenElement;this.getPort(\"fullscreenChanged\").send(e),this.updateState({fullscreen:e}),this.emit(\"fullscreenchange\",{fullscreen:e})}ensureFilterViewer(){!this.filterViewer&&this.filterViewerElement&&(this.filterViewer=OpenSeadragon({element:this.filterViewerElement,showNavigationControl:!1,preserveViewport:!0,visibilityRatio:0,drawer:\"canvas\",crossOriginPolicy:\"Anonymous\",loadTilesWithAjax:!0,ajaxWithCredentials:!1}),this.filterViewer.addHandler(\"open\",()=>{var e;let t=null==(e=this.filterViewer)?void 0:e.drawer,a=t&&t.canvas?t.canvas:null;if(a&&\"function\"==typeof a.getContext){let e=a.getContext(\"2d\",{willReadFrequently:!0});e&&(t.context=e)}this.filterViewer&&this.filterViewer.viewport&&this.filterViewer.viewport.fitBounds(this.filterViewer.world.getHomeBounds(),!0),this.filterViewerFlipped=!1,this.applyFilterOptions()}))}ensureFilterViewerElement(){let e=document.getElementById(\"filter-viewer\");return e?(this.filterViewerElement!==e&&(this.filterViewer&&\"function\"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.currentFilterSourceKey=null,this.filterViewerFlipped=!1,this.filterViewerElement=e),this.filterViewerElement):(this.filterViewerElement=null,null)}applyFilterOptions(){if(!this.filterViewer)return;let e=pk(this.filterOptions);var t,a,r=this.filterViewer;if(!r)throw Error(\"A viewer must be specified.\");if(r.filterPluginInstance?g6(r.filterPluginInstance,e||{}):r.filterPluginInstance=function(e,t){let a={viewer:e,filters:[],filterIncrement:0};function r(e,t,r){if(r){let n=a.filterIncrement,i=[];for(let r=0;r{a.filterIncrement===n&&t[r+1](e,i[r+1])};i[t.length-1]=()=>{a.filterIncrement===n&&r()},t[0](e,i[0])}else for(let a=0;a{})}return a.viewer.addHandler(\"tile-loaded\",function(e){let t=g8(a,e.tiledImage);if(0===t.length)return;let n=e.tile,i=e.data||e.image;if(null!=i){let o=window.document.createElement(\"canvas\");o.width=i.width,o.height=i.height;let u=o.getContext(\"2d\",{willReadFrequently:!0});u.drawImage(i,0,0),n._renderedContext=u,r(u,t,e.getCompletionCallback()),n._filterIncrement=a.filterIncrement}}),a.viewer.addHandler(\"tile-drawing\",function(e){let t=e.tile,n=e.rendered;if(n._filterIncrement===a.filterIncrement)return;let i=g8(a,e.tiledImage);if(0===i.length){n._originalImageData&&(n.putImageData(n._originalImageData,0,0),delete n._originalImageData),n._filterIncrement=a.filterIncrement;return}if(n._originalImageData?n.putImageData(n._originalImageData,0,0):n._originalImageData=g3(n),t._renderedContext){if(t._filterIncrement===a.filterIncrement){let e=g3(t._renderedContext);n.putImageData(e,0,0),delete t._renderedContext,delete t._filterIncrement,n._filterIncrement=a.filterIncrement;return}delete t._renderedContext,delete t._filterIncrement}r(n,i),n._filterIncrement=a.filterIncrement}),g6(a,t),a}(r,e||{}),this.filterViewer.viewport){let e=(null==(t=this.filterOptions)?void 0:t.rotation)||0;this.filterViewer.viewport.setRotation(e);let r=!!(null==(a=this.filterOptions)?void 0:a.flip),n=this.filterViewer.viewport;if(\"function\"==typeof n.toggleFlip){let e=this.filterViewerFlipped;\"function\"==typeof n.getFlip&&(e=!!n.getFlip()),r!=e&&(n.toggleFlip(),this.filterViewerFlipped=r)}}}saveFilteredImage(){if(!this.filterViewer)return;let e=this.filterViewer.drawer,t=e&&e.canvas?e.canvas:null;if(t)try{let e=t.toDataURL(\"image/png\"),a=document.createElement(\"a\");a.href=e,a.download=`diva-filtered-${Date.now()}.png`,document.body.appendChild(a),a.click(),a.remove()}catch(e){}}getPort(e){let t=this.app.ports,a=t?t[e]:void 0;if(!a)throw Error(`Missing Elm port: ${String(e)}`);return a}callViewerMethod(e,...t){let a=this.ensureMainViewer();if(!a)return!1;let r=a[e];return\"function\"==typeof r&&(r.apply(a,t),!0)}async callViewerMethodAsync(e,...t){let a=0;for(;a<120;){this.assertAlive();let r=this.ensureMainViewer(),n=null==r?void 0:r[e];if(\"function\"==typeof n)return await n.apply(r,t);a+=1,await new Promise(e=>requestAnimationFrame(()=>e()))}throw new DOMException(`The viewer method ${e} is not available.`,\"InvalidStateError\")}callViewerMethodWhenReady(e,...t){if(this.callViewerMethod(e,...t)){this.viewerMethodAttempts=0;return}this.pendingViewerMethods.set(e,t),this.viewerMethodAttempts=0,this.scheduleViewerMethodFlush()}scheduleViewerMethodFlush(){this.isDestroyed||null!==this.viewerMethodRafId||(this.viewerMethodRafId=requestAnimationFrame(()=>{this.viewerMethodRafId=null,this.flushPendingViewerMethods()}))}flushPendingViewerMethods(){if(this.isDestroyed||0===this.pendingViewerMethods.size)return;let e=Array.from(this.pendingViewerMethods.entries());if(this.pendingViewerMethods.clear(),e.forEach(([e,t])=>{this.callViewerMethod(e,...t)||this.pendingViewerMethods.set(e,t)}),0===this.pendingViewerMethods.size){this.viewerMethodAttempts=0;return}this.viewerMethodAttempts<120&&(this.viewerMethodAttempts+=1,this.scheduleViewerMethodFlush())}bindViewerEvent(e,t){let a=this.ensureMainViewer();a&&(a.removeEventListener(e,t),a.addEventListener(e,t))}removeViewerEvent(e,t){let a=this.ensureMainViewer();a&&a.removeEventListener(e,t)}constructor(e,t){super(),this.mainViewer=null,this.pendingViewerMethods=new Map,this.viewerMethodRafId=null,this.viewerMethodAttempts=0,this.filterViewer=null,this.filterViewerElement=null,this.filterOptions=null,this.filterViewerFlipped=!1,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterPreviewVersion=0,this.filterPreviewRetries=0,this.filterPreviewRafId=null,this.filterPreviewController=null,this.isDestroyed=!1,this.pages=[],this.pagesByCanvasId=new Map,this.pagesByLabel=new Map,this.readySettled=!1,this.activeResourceRequestId=\"initial\",this.resourceSequence=0,this.pendingResource=null,this.awaitingViewerResource=null,this.resourceLoading=!0,this.viewerLoading=!1;let a=document.getElementById(e);if(!a)throw Error(`Missing root element: ${e}`);a.__divaInstance&&a.__divaInstance.destroy(),a.elmTree&&(delete a.elmTree,a.innerHTML=\"\"),this.rootId=e,this.root=a,this.isDestroyed=!1,this.state={resourceUrl:t.objectData,ready:!1,loading:!0,pageCount:0,currentPageIndex:null,visiblePageIndexes:[],layoutMode:\"single\",viewingDirection:\"ltr\",zoom:null,fullscreen:!1,destroyed:!1},this.ready=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t}),this.ready.catch(()=>{}),this.handlePageChangeBound=this.handlePageChange.bind(this),this.handlePageLoadedBound=this.handlePageLoaded.bind(this),this.handleZoomChangeBound=this.handleZoomChange.bind(this),this.handleLoadingChangeBound=this.handleLoadingChange.bind(this),this.handlePageLoadErrorBound=this.handlePageLoadError.bind(this),this.handleFullscreenChangeBound=this.handleFullscreenChange.bind(this),this.handleRootClickBound=this.handleRootClick.bind(this);let r=this.detectLanguage(),n=t.sidebarWidth,i=\"number\"==typeof n&&Number.isFinite(n)?Math.min(520,Math.max(220,Math.round(n))):320,o=\"contents\"===t.sidebarPanel||\"metadata\"===t.sidebarPanel?t.sidebarPanel:\"thumbnails\";this.app=gQ.Main.init({node:a,flags:{rootElementId:e,objectData:t.objectData,initialPage:this.initialPageFlag(t.initialPage),acceptHeaders:t.acceptHeaders||[],showSidebar:!1!==t.showSidebar,sidebarWidth:i,sidebarPanel:o,showTitle:!1!==t.showTitle,userLanguage:t.setLanguage||r}}),this.root=this.getConnectedRoot(),this.auth=new g4(this.app.ports,this.root),this.tileSourceResolver=(e,t)=>this.auth.resolve(e,t),this.root.__divaInstance=this,this.bindPorts(),this.callViewerMethodWhenReady(\"setTileSourceResolver\",this.tileSourceResolver),this.bindRootClick(),this.bindPageChange(),this.bindViewerEvent(\"diva-page-loaded\",this.handlePageLoadedBound),this.bindFullscreenChange(),this.bindZoomChange(),this.bindLoadingChange(),this.bindViewerEvent(\"diva-page-load-error\",this.handlePageLoadErrorBound)}},pL={THRESHOLDING:pC.THRESHOLDING,BRIGHTNESS:pC.BRIGHTNESS,SATURATION:pC.SATURATION,VIBRANCE:pC.VIBRANCE,HUE:pC.HUE,CC_RED:pC.CC_RED,CC_GREEN:pC.CC_GREEN,CC_BLUE:pC.CC_BLUE,CONTRAST:pC.CONTRAST,GAMMA:pC.GAMMA,GREYSCALE:pC.GREYSCALE,INVERT:pC.INVERT,BACKGROUND_NORMALIZE:pC.BACKGROUND_NORMALIZE,UNSHARP_MASK:pC.UNSHARP_MASK,ALT_RED_GAMMA:pC.ALT_RED_GAMMA,ALT_GREEN_GAMMA:pC.ALT_GREEN_GAMMA,ALT_BLUE_GAMMA:pC.ALT_BLUE_GAMMA,ALT_RED_SIGMOID:pC.ALT_RED_SIGMOID,ALT_GREEN_SIGMOID:pC.ALT_GREEN_SIGMOID,ALT_BLUE_SIGMOID:pC.ALT_BLUE_SIGMOID,ALT_RED_HUE:pC.ALT_RED_HUE,ALT_GREEN_HUE:pC.ALT_GREEN_HUE,ALT_BLUE_HUE:pC.ALT_BLUE_HUE,ALT_RED_VIBRANCE:pC.ALT_RED_VIBRANCE,ALT_GREEN_VIBRANCE:pC.ALT_GREEN_VIBRANCE,ALT_BLUE_VIBRANCE:pC.ALT_BLUE_VIBRANCE,GLOBAL_PCA_COLOR:pC.GLOBAL_PCA_COLOR,ADAPTIVE_THRESHOLD:pC.ADAPTIVE_THRESHOLD},pA=[{enabled:\"thresholdEnabled\",filter:\"THRESHOLDING\",args:[\"threshold\"]},{enabled:\"brightnessEnabled\",filter:\"BRIGHTNESS\",args:[\"brightness\"]},{enabled:\"saturationEnabled\",filter:\"SATURATION\",args:[\"saturation\"]},{enabled:\"vibranceEnabled\",filter:\"VIBRANCE\",args:[\"vibrance\"]},{enabled:\"hueEnabled\",filter:\"HUE\",args:[\"hue\"]},{enabled:\"ccRedEnabled\",filter:\"CC_RED\",args:[\"ccRed\"]},{enabled:\"ccGreenEnabled\",filter:\"CC_GREEN\",args:[\"ccGreen\"]},{enabled:\"ccBlueEnabled\",filter:\"CC_BLUE\",args:[\"ccBlue\"]},{enabled:\"contrastEnabled\",filter:\"CONTRAST\",args:[\"contrast\"]},{enabled:\"gammaEnabled\",filter:\"GAMMA\",args:[\"gamma\"]},{enabled:\"grayscale\",filter:\"GREYSCALE\"},{enabled:\"invert\",filter:\"INVERT\"},{enabled:\"normalizeEnabled\",filter:\"BACKGROUND_NORMALIZE\",args:[\"normalizeStrength\"]},{enabled:\"unsharpEnabled\",filter:\"UNSHARP_MASK\",args:[\"unsharpAmount\"]}],pS=[{enabled:\"altRedGammaEnabled\",filter:\"ALT_RED_GAMMA\",args:[\"altRedGamma\"]},{enabled:\"altGreenGammaEnabled\",filter:\"ALT_GREEN_GAMMA\",args:[\"altGreenGamma\"]},{enabled:\"altBlueGammaEnabled\",filter:\"ALT_BLUE_GAMMA\",args:[\"altBlueGamma\"]},{enabled:\"altRedSigmoidEnabled\",filter:\"ALT_RED_SIGMOID\",args:[\"altRedSigmoid\"]},{enabled:\"altGreenSigmoidEnabled\",filter:\"ALT_GREEN_SIGMOID\",args:[\"altGreenSigmoid\"]},{enabled:\"altBlueSigmoidEnabled\",filter:\"ALT_BLUE_SIGMOID\",args:[\"altBlueSigmoid\"]},{enabled:\"altRedHueEnabled\",filter:\"ALT_RED_HUE\",args:[\"altRedHue\",\"altRedHueWindow\"],defaults:[0,8]},{enabled:\"altGreenHueEnabled\",filter:\"ALT_GREEN_HUE\",args:[\"altGreenHue\",\"altGreenHueWindow\"],defaults:[0,8]},{enabled:\"altBlueHueEnabled\",filter:\"ALT_BLUE_HUE\",args:[\"altBlueHue\",\"altBlueHueWindow\"],defaults:[0,8]},{enabled:\"altRedVibranceEnabled\",filter:\"ALT_RED_VIBRANCE\",args:[\"altRedVibrance\"]},{enabled:\"altGreenVibranceEnabled\",filter:\"ALT_GREEN_VIBRANCE\",args:[\"altGreenVibrance\"]},{enabled:\"altBlueVibranceEnabled\",filter:\"ALT_BLUE_VIBRANCE\",args:[\"altBlueVibrance\"]},{enabled:\"adaptiveEnabled\",filter:\"ADAPTIVE_THRESHOLD\",args:[\"adaptiveWindow\",\"adaptiveOffset\"],defaults:[15,10]}],pT=(e,t,a)=>{var r,n;for(let i of a)if(t[i.enabled]){let a=null!=(n=null==(r=i.args)?void 0:r.map((e,a)=>{var r,n,o;return null!=(o=t[e])?o:null!=(n=null==(r=i.defaults)?void 0:r[a])?n:0}))?n:[],o=pL[i.filter];e.push(o(...a))}},pk=e=>{var t,a,r,n,i,o,u,s,c;if(!e)return{filters:[],loadMode:\"sync\"};let l=[];if(pT(l,e,pA),e.morphEnabled){let a=\"dilate\"===e.morphOperation?Math.max:Math.min;l.push(pC.MORPHOLOGICAL_OPERATION(null!=(t=e.morphKernel)?t:3,a))}if(e.convolutionEnabled){let t=pC.CONVOLUTION_PRESET(e.convolutionPreset||\"\");t&&l.push(pC.CONVOLUTION(t))}if(e.colourmapEnabled){let t=pC.COLORMAP_PRESET(e.colourmapPreset||\"\");t&&l.push(pC.COLORMAP(t,null!=(a=e.colourmapCenter)?a:128))}return(e.pseudoColourEnabled&&l.push(pC.PSEUDOCOLOR(e.pseudoColourMode||\"\",null!=(r=e.pseudoColourRed)?r:1,null!=(n=e.pseudoColourGreen)?n:1,null!=(i=e.pseudoColourBlue)?i:1)),e.globalPcaEnabled&&l.push(pC.GLOBAL_PCA_COLOR(e.pcaMode||\"\",null!=(o=e.pcaHue)?o:0)),e.colourReplaceEnabled&&l.push(pC.COLOR_REPLACE(e.colourReplaceSource||\"#ffffff\",e.colourReplaceTarget||\"#ffffff\",null!=(u=e.colourReplaceTolerance)?u:24,null!=(s=e.colourReplaceBlend)?s:1,null!=(c=e.colourReplacePreserveLum)&&c)),pT(l,e,pS),0===l.length)?{filters:[],loadMode:\"sync\"}:{filters:{processors:l},loadMode:\"sync\"}};window.Diva=p$})();\n"],"names":[],"ignoreList":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"cantus.chunk.diva.min.js","mappings":";;;;;;;;AAAA","sources":["webpack:///../../dependencies/diva.js/build/diva.js"],"sourcesContent":["(()=>{var e,t,n,r,a,i,o,s,u,c,l,d,f=(e,t)=>{let{x:n,y:r,width:a,height:i}=t;if(!e||![n,r,a,i].every(Number.isFinite))return null;let o=Math.floor(n),s=Math.floor(r),u=Math.ceil(n+a),c=Math.ceil(r+i);if(o<0||s<0||u<=o||c<=s)return null;try{let t=new URL(e);if(!t.pathname.endsWith(\"/info.json\"))return null;return t.search=\"\",t.hash=\"\",t.pathname=t.pathname.slice(0,-10),`${t.toString().replace(/\\/$/,\"\")}/${o},${s},${u-o},${c-s}/!320,320/0/default.jpg`}catch(e){return null}},h=(e,t=!1,n=!1)=>({type:\"image\",url:e,crossOriginPolicy:!n&&(t?\"use-credentials\":\"Anonymous\"),ajaxWithCredentials:t,loadTilesWithAjax:!n,buildPyramid:!n,useCanvas:!n}),v=e=>({...\"object\"==typeof e&&null!==e?e:{type:\"image\",url:e},type:\"image\",crossOriginPolicy:!1,ajaxWithCredentials:!1,loadTilesWithAjax:!1,buildPyramid:!1,useCanvas:!1}),b=null,g=class extends HTMLElement{static get observedAttributes(){return[\"data-src\",\"data-fallback-src\",\"data-alt\",\"data-crossorigin\"]}connectedCallback(){this.observe()}disconnectedCallback(){null==b||b.unobserve(this)}attributeChangedCallback(){this.reset(),this.isConnected&&this.observe()}load(){var e;if(this.image)return;let t=this.dataset.src;if(!t)return;null==b||b.unobserve(this);let n=document.createElement(\"img\");n.className=\"diva-thumbs-image\",n.alt=null!=(e=this.dataset.alt)?e:\"\";let r=this.dataset.crossorigin,a=\"anonymous\"===r;this.image=n,this.appendChild(n),this.loadImage(n,t,a?void 0:r,a,!1)}loadImage(e,t,n,r,a){e.removeAttribute(\"crossorigin\"),n&&(e.crossOrigin=n),e.onerror=()=>{let n=this.dataset.fallbackSrc;r&&!a&&n&&n!==t?this.loadImage(e,n,void 0,!0,!0):this.showUnavailable()},e.removeAttribute(\"src\"),e.src=t}reset(){var e,t;null==(e=this.image)||e.remove(),this.image=null,null==(t=this.unavailable)||t.remove(),this.unavailable=null}showUnavailable(){var e;null==(e=this.image)||e.remove(),this.image=null;let t=document.createElement(\"div\");t.className=\"diva-thumbs-image diva-thumbs-image--unavailable\",t.setAttribute(\"aria-label\",\"Thumbnail unavailable\"),this.unavailable=t,this.appendChild(t)}observe(){\"IntersectionObserver\"in window?(b||(b=new IntersectionObserver(e=>{e.forEach(e=>{e.isIntersecting&&e.target.load()})},{rootMargin:\"300px 0px\"})),b.observe(this)):this.load()}constructor(){super(...arguments),this.image=null,this.unavailable=null}},p=class extends HTMLElement{connectedCallback(){this.style.display=\"block\",this.style.position=\"relative\",this.container||(this.container=document.createElement(\"div\"),this.container.className=\"osd-container\",this.container.style.width=\"100%\",this.container.style.height=\"100%\",this.container.addEventListener(\"wheel\",this.handleWheelBound,{passive:!1,capture:!0}),this.container.addEventListener(\"dblclick\",this.handleDoubleClickBound),this.container.addEventListener(\"click\",e=>{performance.now(){\"Escape\"===e.key&&this.closeAnnotationPanel()}),this.appendChild(this.container)),this.scrollbarTrack||this.createScrollbar();let e=!!this.viewer;this.syncViewer(),!e&&this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),this.initialPageIndex)}disconnectedCallback(){var e;this.cancelLoads(),null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.container&&(this.container.removeEventListener(\"wheel\",this.handleWheelBound),this.container.removeEventListener(\"dblclick\",this.handleDoubleClickBound)),this.scrollbarMouseMove&&(document.removeEventListener(\"mousemove\",this.scrollbarMouseMove),this.scrollbarMouseMove=null),this.scrollbarMouseUp&&(document.removeEventListener(\"mouseup\",this.scrollbarMouseUp),this.scrollbarMouseUp=null),this.viewer&&(this.clearPageOverlays(),this.clearAnnotationOverlays(),this.viewer.destroy(),this.viewer=null),null==(e=this.scrollbarTrack)||e.remove(),this.scrollbarTrack=null,this.scrollbarThumb=null}syncViewer(){if(window.OpenSeadragon&&this.container&&!this.viewer){let e={element:this.container,animationTime:.8,showNavigationControl:!1,preserveViewport:!0,maxImageCacheCount:512,tileRetryMax:2,tileRetryDelay:500,visibilityRatio:0,constrainDuringPan:!1,minZoomLevel:.1,minZoomImageRatio:.1,maxZoomPixelRatio:2,defaultZoomLevel:0,sequenceMode:!1,zoomPerScroll:1,...\"required\"===this.staticImageCorsPolicy?{}:{drawer:[\"canvas\",\"html\"]},crossOriginPolicy:\"Anonymous\",loadTilesWithAjax:!0,ajaxWithCredentials:!1,gestureSettingsTrackpad:{pinchToZoom:!0,scrollToZoom:!1,flickEnabled:!0,dragToPan:!0},gestureSettingsMouse:{scrollToZoom:!1,clickToZoom:!1,dblClickToZoom:!1,dragToPan:!0},gestureSettingsTouch:{pinchToZoom:!1,dragToPan:!0}};this.viewer=OpenSeadragon(e);let t=this.viewer;t.addHandler(\"pan\",this.handleViewportChangeBound),t.addHandler(\"zoom\",this.handleViewportChangeBound),t.addHandler(\"canvas-click\",e=>this.handleAnnotationCanvasClick(e)),t.addHandler(\"pan\",()=>this.updateScrollbar()),t.addHandler(\"zoom\",()=>this.updateScrollbar()),t.addHandler(\"animation-finish\",this.handleAnimationFinishBound)}}setLayoutMode(e){this.applyLayoutChange({mode:\"spread\"===e||\"spread-shift\"===e?e:\"single\"})}setViewingDirection(e){this.applyLayoutChange({direction:\"rtl\"===e?\"rtl\":\"ltr\"})}setLayoutConfig(e,t){this.applyLayoutChange({mode:\"spread\"===e||\"spread-shift\"===e?e:\"single\",direction:\"rtl\"===t?\"rtl\":\"ltr\"})}setTileSources(e,t=0,n=\"internal\"){if(Array.isArray(e)){if(this.annotationData.clear(),this.tileSources=e.slice(),this.resourceId=n,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t{t.canvasId===e&&this.addOrUpdateAnnotationOverlay(n)}))}setAnnotationsVisible(e){this.annotationsVisible=e,this.annotationOverlayElements.forEach(t=>{t.classList.toggle(\"is-hidden\",!e)}),e||(this.closeAnnotationPanel(),this.annotationOverlayElements.forEach(e=>{e.querySelectorAll(\".diva-annotation-tooltip\").forEach(e=>{e.hidden=!0})}))}getAnnotationSelectionEnabled(){return this.annotationSelectionEnabled}setAnnotationSelectionEnabled(e){this.annotationSelectionEnabled=e,e||this.annotationOverlayElements.forEach(e=>{e.querySelectorAll(\".diva-annotation-tooltip\").forEach(e=>{e.hidden=!0})})}selectAnnotation(e){for(let t of(this.selectedAnnotationId=e,this.annotationOverlayElements.forEach(t=>{t.querySelectorAll(\"g[data-annotation-id]\").forEach(t=>{t.classList.toggle(\"is-selected\",t.dataset.annotationId===e)})}),this.annotationData.values())){let n=t.find(t=>t.id===e);if(n){let t=Array.from(this.annotationOverlayElements.values()).map(t=>t.querySelector(`g[data-annotation-id=\"${CSS.escape(e)}\"]`)).find(e=>null!==e);this.openAnnotationPanel(n,t);return}}}getImageRegionForAnnotation(e){var t,n;for(let[r,a]of this.annotationData){let i=a.find(t=>t.id===e);if(!i)continue;let o=this.tileSources.findIndex(e=>e.canvasId===r),s=o>=0&&null!=(n=null==(t=this.annotationOverlayElements.get(o))?void 0:t.querySelector(`g[data-annotation-id=\"${CSS.escape(e)}\"]`))?n:void 0;return this.annotationExtractUrl(i,s)}return null}setTileSourceResolver(e){this.tileSourceResolver=e}setStaticImageCorsPolicy(e){var t;let n=\"fallback\"===e||\"none\"===e?e:\"required\";n===this.staticImageCorsPolicy||(this.staticImageCorsPolicy=n,this.viewer&&(this.clearPageOverlays(),this.clearAnnotationOverlays(),this.closeAnnotationPanel(),this.viewer.destroy(),this.viewer=null,this.scrollPlaneItem=null,this.syncViewer(),this.viewer&&this.tileSources.length>0&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)))}invalidateTileSources(e){var t;let n=new Set(e);0!==n.size&&this.tileSources.some(e=>n.has(e.sourceId))&&this.resetTileSources(this.tileSources.slice(),null!=(t=this.lastReportedIndex)?t:this.initialPageIndex)}setPageLabels(e){Array.isArray(e)&&(this.pageLabels=e,this.pageOverlayElements.forEach((e,t)=>{this.addOrUpdatePageOverlay(t)}))}resetTileSources(e,t=0){this.viewer&&(\"function\"==typeof this.viewer.close?this.viewer.close():this.viewer.world.removeAll(),this.cancelLoads(),this.tileSources=e,this.initialPageIndex=Number.isInteger(t)&&t>=0&&t0?this.initialPageIndex:null,this.lastReportedIndex=this.targetIndex,this.clearScrollPlane(),this.buildOffsets(),this.ensureScrollPlane(),null!==this.targetIndex&&this.positionInitialViewport(this.targetIndex),this.resetLoadingState(),this.suppressPageChange=!0,this.suppressZoomChange=!0,this.maybeLoadMore())}handleViewportChange(){var e;if(this.isClamping)return;let t=null==(e=this.viewer)?void 0:e.viewport;t&&(this.maybeLoadMore(t),this.maybeEmitPageChange(t),this.clampTop(t),this.clampBottom(t))}handleAnimationFinish(){this.updateScrollbar(),this.maybeEmitZoomChange()}maybeLoadMore(e){var t;if(0===this.tileSources.length)return;if(!this.isViewportInitialized){if(null!==this.targetIndex){this.ensurePageLoaded(this.targetIndex);let e=this.pageOffsets[this.targetIndex]||0,t=this.pageRowHeights[this.targetIndex]||this.pageHeights[this.targetIndex]||1,n=this.indicesForRange(Math.max(0,e-1.5*t),e+2.5*t);if(n)for(let e=n[0];e<=n[1];e+=1)this.ensurePageLoaded(e)}return}let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=1.5*r.height,i=Math.max(0,r.y-a),o=r.y+r.height+a,s=this.indicesForRange(i,o);if(!s)return;let u=s[0],c=s[1],l=u;for(;l<=c;)this.ensurePageLoaded(l),l+=1;null!==this.targetIndex&&this.ensurePageLoaded(this.targetIndex)}ensurePageLoaded(e){e<0||e>=this.tileSources.length||e>=this.pageOffsets.length||this.loadedIndexes.has(e)||this.loadingIndexes.has(e)||this.unavailableIndexes.has(e)||this.loadTile(e)}async loadTile(e,t=!1,n){let r;if(!this.viewer)return;let a=this.loadToken,i=this.tileSources[e],o=new AbortController;this.loadControllers.set(e,o),this.loadingIndexes.add(e),this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.updateLoadingState();try{r=null!=n?n:await this.tileSourceResolver(i,o.signal)}catch(t){a!==this.loadToken||o.signal.aborted||this.markUnavailable(e,t instanceof Error?t.message:\"This image is unavailable.\"),this.finishLoad(e,o);return}if(a!==this.loadToken||o.signal.aborted||!this.viewer)return void this.finishLoad(e,o);t&&(r=v(r));let s=this.pageOffsets[e]||0,u=this.pageXOffsets[e]||0;this.viewer.addTiledImage({tileSource:r,...this.tileRequestOptions(r),x:u,y:s,width:1,success:n=>{if(a!==this.loadToken)return;let r=n.item,i=this.pageXOffsets[e]||0,o=this.pageOffsets[e]||0,s=this.pageHeights[e]||1;if(r.setPosition(new OpenSeadragon.Point(i,o),!0),r.setWidth(1,!0),r.setHeight(s,!0),this.loadedIndexes.add(e),this.loadedItems.set(e,r),this.resolvePageWaiters(e,r),this.addOrUpdatePageOverlay(e),this.addOrUpdateAnnotationOverlay(e),this.loadingIndexes.delete(e),this.loadControllers.delete(e),this.updateLoadingState(),!this.hasFitFirstPage&&e===this.initialPageIndex){this.hasFitFirstPage=!0;let t=this.viewer;if(!t||!t.viewport)return;let n=this.isSingleCanvasLayout(),a=n?r.getBounds():this.isSpreadMode()?this.getRowBounds(e):r.getBounds();t.viewport.fitBounds(a,!0),n||t.viewport.zoomBy(.95,t.viewport.getCenter(!0),!0),this.alignTopAfterFit(e),t.viewport.applyConstraints(),this.isViewportInitialized=!0,this.lockHorizontalPan(),this.recenterAfterFit(),this.flushInitialPageChange(),this.flushInitialZoomChange()}this.emitCustomEvent(\"diva-page-loaded\",{index:e,resourceId:this.resourceId}),t&&requestAnimationFrame(()=>{var e;return null==(e=this.viewer)?void 0:e.forceRedraw()}),this.targetIndex===e&&(this.targetIndex=null),this.maybeLoadMore()},error:n=>{if(a===this.loadToken){if(this.shouldRetryWithoutCors(i,r,t)){this.finishLoad(e,o),this.emitCustomEvent(\"diva-static-image-cors-fallback\",{sourceId:i.sourceId}),this.loadTile(e,!0,r);return}this.markUnavailable(e,(null==n?void 0:n.message)||\"This image could not be loaded.\"),this.finishLoad(e,o),this.maybeLoadMore()}}})}tileRequestOptions(e){if(!e||\"object\"!=typeof e)return{};let t={};return\"boolean\"==typeof e.ajaxWithCredentials&&(t.ajaxWithCredentials=e.ajaxWithCredentials),(\"string\"==typeof e.crossOriginPolicy||\"boolean\"==typeof e.crossOriginPolicy)&&(t.crossOriginPolicy=e.crossOriginPolicy),\"boolean\"==typeof e.loadTilesWithAjax&&(t.loadTilesWithAjax=e.loadTilesWithAjax),t}shouldRetryWithoutCors(e,t,n){return\"fallback\"===this.staticImageCorsPolicy&&!!e.isStatic&&!n&&(\"object\"!=typeof t||null===t||\"string\"!=typeof t.crossOriginPolicy||\"use-credentials\"!==t.crossOriginPolicy.toLowerCase())}finishLoad(e,t){this.loadControllers.get(e)===t&&(this.loadControllers.delete(e),this.loadingIndexes.delete(e),this.updateLoadingState())}cancelLoads(){this.loadToken+=1,this.loadControllers.forEach(e=>e.abort()),this.loadControllers.clear(),this.loadingIndexes.clear(),this.rejectPageWaiters(new DOMException(\"The image load was cancelled.\",\"AbortError\")),this.resetLoadingState()}markUnavailable(e,t){this.unavailableIndexes.set(e,t),this.rejectPageWaiters(Error(t),e),this.emitCustomEvent(\"diva-page-load-error\",{index:e,message:t,resourceId:this.resourceId}),this.addUnavailableOverlay(e,t)}waitForPage(e){let t=this.loadedItems.get(e);if(t)return Promise.resolve(t);let n=this.unavailableIndexes.get(e);return n?Promise.reject(Error(n)):new Promise((t,n)=>{var r;let a=null!=(r=this.pageWaiters.get(e))?r:[];a.push({resolve:t,reject:n}),this.pageWaiters.set(e,a),this.ensurePageLoaded(e)})}resolvePageWaiters(e,t){var n;let r=null!=(n=this.pageWaiters.get(e))?n:[];this.pageWaiters.delete(e),r.forEach(e=>e.resolve(t))}rejectPageWaiters(e,t){(void 0===t?Array.from(this.pageWaiters.keys()):[t]).forEach(t=>{var n;let r=null!=(n=this.pageWaiters.get(t))?n:[];this.pageWaiters.delete(t),r.forEach(t=>t.reject(e))})}addUnavailableOverlay(e,t){if(!this.viewer)return;this.removeUnavailableOverlay(e);let n=document.createElement(\"div\");n.className=\"diva-image-unavailable\",n.dataset.index=String(e);let r=document.createElement(\"p\");r.textContent=t;let a=document.createElement(\"button\");a.type=\"button\",a.textContent=\"Retry image\",a.addEventListener(\"click\",()=>{this.unavailableIndexes.delete(e),this.removeUnavailableOverlay(e),this.ensurePageLoaded(e)}),n.append(r,a),this.viewer.addOverlay({element:n,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}removeUnavailableOverlay(e){let t=this.querySelector(`.diva-image-unavailable[data-index=\"${e}\"]`);t&&this.removeOverlay(t),null==t||t.remove()}setPageAspects(e){Array.isArray(e)&&(this.pageAspects=e.filter(e=>e>0),this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),this.isViewportInitialized||null===this.targetIndex||this.positionInitialViewport(this.targetIndex),this.maybeLoadMore())}buildOffsets(){let e=this.tileSources.length>0?this.tileSources.length:this.pageAspects.length;this.pageOffsets=Array(e),this.pageHeights=Array(e),this.pageRowHeights=Array(e),this.pageXOffsets=Array(e),this.isSpreadMode()?this.buildSpreadOffsets(e):this.buildSingleOffsets(e)}buildSingleOffsets(e){let t=0,n=this.pageAspects[0]||1;for(let r=0;r0){let e=this.pageAspects[0]||a;a=e,this.pageOffsets[0]=n,this.pageHeights[0]=e,this.pageRowHeights[0]=e,this.pageXOffsets[0]=+!t,n+=e+.06,r=1}for(;r{let n=this.pageOffsets[t],r=this.pageHeights[t],a=this.pageXOffsets[t];e.setPosition(new OpenSeadragon.Point(a,n),!0),e.setWidth(1,!0),e.setHeight(r,!0),this.addOrUpdatePageOverlay(t),this.addOrUpdateAnnotationOverlay(t)})}addOrUpdatePageOverlay(e){if(!this.viewer)return;let t=this.pageOverlayElements.get(e),n=e%2==0;t||((t=document.createElement(\"div\")).className=\"diva-page-overlay-label\",t.style.pointerEvents=\"none\",t.style.color=\"#ffffff\",t.style.background=\"transparent\",t.style.padding=\"0\",t.style.borderRadius=\"0\",t.style.fontSize=\"12px\",t.style.fontWeight=\"600\",t.style.lineHeight=\"1.2\",t.style.whiteSpace=\"nowrap\",t.style.paddingBottom=\"6px\",t.style.paddingLeft=n?\"0\":\"12px\",t.style.paddingRight=n?\"12px\":\"0\",this.pageOverlayElements.set(e,t)),t.textContent=this.pageLabels[e]||`Page ${e+1}`;let r=(this.pageXOffsets[e]||0)+ +!!n,a=this.pageOffsets[e]||0;this.removeOverlay(t),this.viewer.addOverlay({element:t,location:new OpenSeadragon.Point(r,a),placement:n?OpenSeadragon.Placement.BOTTOM_RIGHT:OpenSeadragon.Placement.BOTTOM_LEFT})}clearPageOverlays(){this.clearOverlays(this.pageOverlayElements)}addOrUpdateAnnotationOverlay(e){var t;if(!this.viewer||!this.loadedItems.has(e))return;let n=null==(t=this.tileSources[e])?void 0:t.canvasId,r=\"string\"==typeof n?this.annotationData.get(n):void 0,a=this.annotationOverlayElements.get(e);if(!r||0===r.length){a&&(this.removeOverlay(a),a.remove(),this.annotationOverlayElements.delete(e));return}a||((a=document.createElement(\"div\")).className=\"diva-annotation-overlay\",this.annotationOverlayElements.set(e,a)),a.classList.toggle(\"is-hidden\",!this.annotationsVisible);let i=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");i.setAttribute(\"viewBox\",`0 0 ${this.pageWidth(e)} ${this.pageHeightPixels(e)}`),i.setAttribute(\"preserveAspectRatio\",\"none\"),i.setAttribute(\"width\",\"100%\"),i.setAttribute(\"height\",\"100%\");let o=document.createElement(\"div\");o.className=\"diva-annotation-tooltip\",o.setAttribute(\"role\",\"tooltip\"),r.forEach(e=>{let t=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\");if(t.setAttribute(\"data-annotation-id\",e.id),t.setAttribute(\"tabindex\",\"0\"),t.classList.toggle(\"is-selected\",e.id===this.selectedAnnotationId),e.text){t.setAttribute(\"aria-label\",e.text);let n=t=>{let n=a.getBoundingClientRect();if(!this.annotationsVisible||!this.annotationSelectionEnabled){o.hidden=!0;return}let r=t?t.clientX-n.left:n.width/2,i=t?t.clientY-n.top:n.height/2;o.textContent=e.text,o.style.left=`${r}px`,o.style.top=`${i}px`,o.hidden=!1};t.addEventListener(\"mouseenter\",n),t.addEventListener(\"mousemove\",n),t.addEventListener(\"mouseleave\",()=>{o.hidden=!0}),t.addEventListener(\"focus\",()=>n()),t.addEventListener(\"blur\",()=>{o.hidden=!0})}if(t.addEventListener(\"click\",n=>{this.annotationSelectionEnabled&&(n.stopPropagation(),this.openAnnotationPanel(e,t))}),t.addEventListener(\"pointerup\",n=>{this.annotationSelectionEnabled&&(n.stopPropagation(),this.openAnnotationPanel(e,t))}),t.addEventListener(\"keydown\",n=>{this.annotationSelectionEnabled&&(\"Enter\"===n.key||\" \"===n.key)&&(n.preventDefault(),this.openAnnotationPanel(e,t))}),\"rect\"===e.shape.kind){let n=document.createElementNS(\"http://www.w3.org/2000/svg\",\"rect\");n.setAttribute(\"x\",String(e.shape.x)),n.setAttribute(\"y\",String(e.shape.y)),n.setAttribute(\"width\",String(e.shape.width)),n.setAttribute(\"height\",String(e.shape.height)),n.setAttribute(\"class\",\"diva-annotation-rect\"),t.appendChild(n)}else\"svg\"===e.shape.kind&&e.shape.value&&this.appendSanitizedSvg(t,e.shape.value);i.appendChild(t)}),o.hidden=!0,a.replaceChildren(i,o),this.removeOverlay(a),this.viewer.addOverlay({element:a,location:new OpenSeadragon.Rect(this.pageXOffsets[e]||0,this.pageOffsets[e]||0,1,this.pageHeights[e]||1)})}pageWidth(e){var t,n;let r=this.loadedItems.get(e);return(null==(n=null==(t=null==r?void 0:r.source)?void 0:t.dimensions)?void 0:n.x)||1}pageHeightPixels(e){var t,n;let r=this.loadedItems.get(e);return(null==(n=null==(t=null==r?void 0:r.source)?void 0:t.dimensions)?void 0:n.y)||1}appendSanitizedSvg(e,t){let n=new DOMParser().parseFromString(t,\"image/svg+xml\").documentElement,r=new Set([\"svg\",\"g\",\"path\",\"rect\",\"circle\",\"ellipse\",\"polygon\",\"polyline\",\"line\"]),a=new Set([\"d\",\"points\",\"x\",\"y\",\"x1\",\"x2\",\"y1\",\"y2\",\"cx\",\"cy\",\"rx\",\"ry\",\"r\",\"width\",\"height\",\"fill\",\"fill-opacity\",\"fill-rule\",\"stroke\",\"stroke-width\",\"stroke-opacity\",\"stroke-linecap\",\"stroke-linejoin\",\"stroke-dasharray\",\"transform\",\"viewBox\"]),i=(e,t)=>{let n=e.localName.toLowerCase();if(!r.has(n))return;let o=document.createElementNS(\"http://www.w3.org/2000/svg\",n);\"svg\"!==n&&\"g\"!==n&&o.classList.add(\"diva-annotation-svg-shape\"),Array.from(e.attributes).forEach(e=>{a.has(e.name)&&o.setAttribute(e.name,e.value)}),t.appendChild(o),Array.from(e.children).forEach(e=>i(e,o))};\"svg\"===n.localName.toLowerCase()&&Array.from(n.children).forEach(t=>i(t,e))}clearAnnotationOverlays(){this.clearOverlays(this.annotationOverlayElements)}removeOverlay(e){var t;try{null==(t=this.viewer)||t.removeOverlay(e)}catch(e){}}clearOverlays(e){e.forEach(e=>{this.removeOverlay(e),e.remove()}),e.clear()}handleAnnotationCanvasClick(e){var t;if(!this.annotationSelectionEnabled||!this.annotationsVisible||!e.quick||!e.position||!this.container)return;let n=this.container.getBoundingClientRect(),r=n.left+e.position.x,a=n.top+e.position.y;for(let[e,n]of Array.from(this.annotationOverlayElements.entries()).reverse()){let i=null==(t=this.tileSources[e])?void 0:t.canvasId,o=\"string\"==typeof i?this.annotationData.get(i):void 0;if(o)for(let e of Array.from(n.querySelectorAll(\"g[data-annotation-id]\")).reverse()){let t=e.getBoundingClientRect();if(rt.right||at.bottom)continue;let n=o.find(t=>t.id===e.dataset.annotationId);if(n)return void this.openAnnotationPanel(n,e)}}}openAnnotationPanel(e,t){if(!this.container)return;if(this.selectedAnnotationId=e.id,this.annotationOverlayElements.forEach(t=>{t.querySelectorAll(\"g[data-annotation-id]\").forEach(t=>{t.classList.toggle(\"is-selected\",t.dataset.annotationId===e.id)})}),this.emitCustomEvent(\"diva-annotation-select\",{annotationId:e.id}),!this.annotationPanel){let e=document.createElement(\"aside\");e.className=\"diva-annotation-panel\",e.setAttribute(\"aria-label\",\"Annotation details\"),e.addEventListener(\"click\",e=>e.stopPropagation()),this.appendChild(e),this.annotationPanel=e}this.annotationPanelIgnoreCloseUntil=performance.now()+500;let n=document.createElement(\"button\");n.type=\"button\",n.className=\"diva-annotation-panel-close\",n.setAttribute(\"aria-label\",\"Close annotation details\"),n.title=\"Close\";let r=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\");r.setAttribute(\"viewBox\",\"0 0 512 512\"),r.setAttribute(\"aria-hidden\",\"true\");let a=document.createElementNS(\"http://www.w3.org/2000/svg\",\"path\");a.setAttribute(\"d\",\"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\"),r.appendChild(a),n.appendChild(r),n.addEventListener(\"click\",e=>{e.stopPropagation(),this.closeAnnotationPanel()});let i=document.createElement(\"div\");i.className=\"diva-annotation-panel-content\";let o=this.annotationExtractUrl(e,t),s=null;if(o){let t=document.createElement(\"div\");t.className=\"diva-annotation-panel-preview-controls\",Object.assign(t.style,{display:\"flex\",justifyContent:\"flex-end\",gap:\"4px\",margin:\"0 0 4px\"});let n=document.createElement(\"div\");Object.assign(n.style,{position:\"relative\",maxWidth:\"100%\",margin:\"0 auto 10px\",border:\"1px solid rgba(255, 255, 255, 0.2)\"});let r=document.createElement(\"img\");Object.assign(r.style,{position:\"absolute\",top:\"50%\",left:\"50%\",maxWidth:\"none\",transition:\"transform 120ms ease-out\"}),r.src=o,r.alt=e.text?`Image extract: ${e.text}`:\"Annotation image extract\",r.addEventListener(\"error\",()=>{t.remove(),n.remove()});let a=0,u=()=>{if(r.naturalWidth<=0||r.naturalHeight<=0)return;let e=Math.min(i.clientWidth||320,320),t=r.naturalWidth/r.naturalHeight,o=t>=1?e:e*t,s=t>=1?e/t:e,u=Math.abs(Math.round(a/90))%2==1;n.style.width=`${u?s:o}px`,n.style.height=`${u?o:s}px`,r.style.width=`${o}px`,r.style.height=`${s}px`,r.style.transform=`translate(-50%, -50%) rotate(${a}deg)`};r.addEventListener(\"load\",u);let c=document.createElement(\"button\");c.type=\"button\",c.className=\"diva-annotation-panel-rotate\",c.textContent=\"↺\",c.setAttribute(\"aria-label\",\"Rotate image counter-clockwise 90 degrees\"),c.addEventListener(\"click\",()=>void(a+=-90,u())),t.appendChild(c),n.appendChild(r),(s=document.createElement(\"a\")).className=\"diva-annotation-panel-image-link\",s.href=o,s.target=\"_blank\",s.rel=\"noopener noreferrer\",s.textContent=o,s.setAttribute(\"aria-label\",\"Open the IIIF Image API extract\"),i.append(t,n),window.requestAnimationFrame(u)}i.appendChild(this.sanitizeAnnotationHtml(e.html||e.text)),s&&i.appendChild(s);let u=this.annotationPanel;u.replaceChildren(n,i),u.hidden=!1,n.focus()}annotationExtractUrl(e,t){if(!e.imageService)return null;let n=null;if(\"rect\"===e.shape.kind){let{x:t,y:r,width:a,height:i}=e.shape;[t,r,a,i].every(e=>\"number\"==typeof e&&Number.isFinite(e))&&a>0&&i>0&&(n={x:t,y:r,width:a,height:i})}else if(\"svg\"===e.shape.kind&&t){let e=t.closest(\".diva-annotation-overlay\"),r=null==e?void 0:e.querySelector(\"svg\");if(r){let e=t.getBoundingClientRect(),a=r.getBoundingClientRect(),i=r.viewBox.baseVal;e.width>0&&e.height>0&&a.width>0&&a.height>0&&i.width>0&&i.height>0&&(n={x:i.x+(e.left-a.left)/a.width*i.width,y:i.y+(e.top-a.top)/a.height*i.height,width:e.width/a.width*i.width,height:e.height/a.height*i.height})}}else\"svg\"===e.shape.kind&&e.shape.value&&(n=this.svgBoundingRegion(e.shape.value));return(!n&&\"svg\"===e.shape.kind&&e.shape.value&&(n=this.svgBoundingRegion(e.shape.value)),n)?f(e.imageService,n):null}svgBoundingRegion(e){if(!document.body)return null;let t=document.createElementNS(\"http://www.w3.org/2000/svg\",\"svg\"),n=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\");t.style.cssText=\"position:absolute;visibility:hidden;pointer-events:none;left:-10000px;top:-10000px;\",t.appendChild(n),this.appendSanitizedSvg(n,e),document.body.appendChild(t);try{let e=n.getBBox();return e.width>0&&e.height>0?{x:e.x,y:e.y,width:e.width,height:e.height}:null}catch(e){return null}finally{t.remove()}}closeAnnotationPanel(){this.annotationPanel&&(this.annotationPanel.hidden=!0)}sanitizeAnnotationHtml(e){let t=document.createElement(\"template\");t.innerHTML=e;let n=new Set([\"div\",\"p\",\"br\",\"em\",\"i\",\"strong\",\"b\",\"a\",\"ul\",\"ol\",\"li\",\"dl\",\"dt\",\"dd\",\"span\",\"img\"]),r=e=>{let t=e.trim().toLowerCase();return/^(https?:|mailto:|tel:|\\/|\\.\\/|\\.\\.\\/|#|\\?)/.test(t)||!t.includes(\":\")},a=(e,t)=>{if(e.nodeType===Node.TEXT_NODE)return void t.appendChild(document.createTextNode(e.textContent||\"\"));if(!(e instanceof Element))return;let i=e.localName.toLowerCase();if(!n.has(i))return void Array.from(e.childNodes).forEach(e=>a(e,t));let o=document.createElement(i);if(\"a\"===i){let t=e.getAttribute(\"href\");t&&r(t)&&o.setAttribute(\"href\",t),o.setAttribute(\"target\",\"_blank\"),o.setAttribute(\"rel\",\"noopener noreferrer\")}if(\"img\"===i){let t=e.getAttribute(\"src\");t&&r(t)&&o.setAttribute(\"src\",t);let n=e.getAttribute(\"alt\");n&&o.setAttribute(\"alt\",n)}t.appendChild(o),Array.from(e.childNodes).forEach(e=>a(e,o))},i=document.createDocumentFragment();return Array.from(t.content.childNodes).forEach(e=>a(e,i)),i}ensureScrollPlane(){if(!this.viewer||0===this.pageOffsets.length)return;let e=this.getTotalHeight(),t=this.isSpreadMode()?2:1;if(this.scrollPlaneItem){this.scrollPlaneItem.setPosition(new OpenSeadragon.Point(0,0),!0),this.scrollPlaneItem.setWidth(t,!0),this.scrollPlaneItem.setHeight(e,!0);return}let n=`data:image/svg+xml;charset=utf-8,${encodeURIComponent('')}`;this.viewer.addTiledImage({tileSource:{type:\"image\",url:n},x:0,y:0,width:t,success:n=>{let r=n.item;r.setOpacity(0),r.setPosition(new OpenSeadragon.Point(0,0),!0),r.setWidth(t,!0),r.setHeight(e,!0),this.scrollPlaneItem=r}})}clearScrollPlane(){this.viewer&&this.scrollPlaneItem&&(this.viewer.world.removeItem(this.scrollPlaneItem),this.scrollPlaneItem=null)}indicesForRange(e,t){return 0===this.pageOffsets.length?null:[this.findIndexForOffset(e),this.getRowEndIndex(this.findIndexForOffset(t))]}findIndexForOffset(e){let t=0,n=this.pageOffsets.length-1;for(;t<=n;){let r=Math.floor((t+n)/2),a=this.pageOffsets[r],i=this.pageRowHeights[r]||this.pageHeights[r]||1;if(ea+i))return this.getRowStartIndex(r);t=r+1}}if(t>=this.pageOffsets.length)return this.pageOffsets.length-1;let r=Math.max(0,t);return this.getRowStartIndex(r)}scrollToOffset(e){var t;let n=null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=this.isSpreadMode()?2:1,i=new OpenSeadragon.Rect(0,e,a,r.height);n.fitBounds(i,!0)}positionInitialViewport(e){var t;let n=null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=this.pageOffsets[e]||0,a=this.pageRowHeights[e]||this.pageHeights[e]||1,i=Math.max(0,r-1.5*a),o=this.isSpreadMode()?2:1;n.fitBounds(new OpenSeadragon.Rect(0,i,o,r+2.5*a-i),!0)}scrollToIndex(e){if(e<0||e>=this.tileSources.length||e>=this.pageOffsets.length)return;let t=this.pageOffsets[e];this.scrollToOffset(t),this.targetIndex=e,this.ensurePageLoaded(e),this.lastReportedIndex=e,this.emitCustomEvent(\"diva-page-change\",{index:e})}getVisiblePageIndexes(){var e;if(0===this.pageOffsets.length)return[];let t=null!=(e=this.lastReportedIndex)?e:0,n=this.getRowStartIndex(t);return Array.from({length:this.getRowEndIndex(n)-n+1},(e,t)=>n+t)}isPageLoaded(e,t){var n;return(null==(n=this.tileSources[e])?void 0:n.sourceId)===t&&this.loadedIndexes.has(e)}next(){let e=this.getVisiblePageIndexes();if(0===e.length)return;let t=this.getRowEndIndex(e[0])+1;t0?a/r.height*.75:0,o=n.getCenter(!0),s=new OpenSeadragon.Point(o.x,o.y+i);n.panTo(s,!0),this.clampTop(),this.clampBottom(),this.maybeEmitPageChange()}lockHorizontalPan(){var e;if(!this.isViewportInitialized)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(this.getCenterX(),n.y),!0),t.applyConstraints()}recenterAfterFit(){if(!this.viewer)return;let e=()=>{this.viewer&&this.viewer.removeHandler(\"animation-finish\",e),this.recenterBoundsX()};\"function\"==typeof this.viewer.addOnceHandler?this.viewer.addOnceHandler(\"animation-finish\",e):this.viewer.addHandler(\"animation-finish\",e)}recenterBoundsX(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0),r=this.getCenterX();5e-4>Math.abs(n.x-r)||(t.panTo(new OpenSeadragon.Point(r,n.y),!0),t.applyConstraints())}clampTop(e){var t;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getBounds(!0),a=-this.getTopPaddingViewport(r.height);if(r.y>=a)return;let i=r.height/2+a;this.isClamping=!0,n.panTo(new OpenSeadragon.Point(n.getCenter(!1).x,i),!0),n.applyConstraints(),this.isClamping=!1}clampBottom(e){var t,n;let r=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!r||0===this.pageOffsets.length)return;let a=this.getTotalHeight(),i=r.getBounds(!0),o=a+20/((null==(n=this.container)?void 0:n.getBoundingClientRect().height)||1)*i.height;if(i.y+i.height<=o)return;let s=o-i.height/2;this.isClamping=!0,r.panTo(new OpenSeadragon.Point(r.getCenter(!1).x,s),!0),r.applyConstraints(),this.isClamping=!1}maybeEmitPageChange(e){var t;if(this.suppressPageChange||this.isScrollbarDragging||0===this.pageOffsets.length)return;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getCenter(!0),a=this.findIndexForOffset(r.y);this.lastReportedIndex!==a&&(this.lastReportedIndex=a,this.emitCustomEvent(\"diva-page-change\",{index:a}))}emitPageChangeInstant(){var e;if(0===this.pageOffsets.length)return;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getCenter(!0),r=this.findIndexForOffset(n.y);this.lastReportedIndex=r,this.emitCustomEvent(\"diva-page-change\",{index:r,instant:!0})}flushInitialPageChange(){if(0===this.pageOffsets.length){this.suppressPageChange=!1;return}if(!this.viewer||!this.viewer.viewport)return;let e=this.viewer.viewport.getCenter(!0),t=this.findIndexForOffset(e.y);this.lastReportedIndex=t,this.suppressPageChange=!1,this.emitCustomEvent(\"diva-page-change\",{index:t})}maybeEmitZoomChange(e){var t;if(this.suppressZoomChange)return;let n=null!=e?e:null==(t=this.viewer)?void 0:t.viewport;if(!n)return;let r=n.getZoom(!0);null!==this.lastReportedZoom&&1e-4>Math.abs(this.lastReportedZoom-r)||(this.lastReportedZoom=r,this.emitCustomEvent(\"diva-zoom-change\",{zoom:r}))}flushInitialZoomChange(){var e;let t=null==(e=this.viewer)?void 0:e.viewport;if(!t)return;let n=t.getZoom(!0);this.lastReportedZoom=n,this.suppressZoomChange=!1,this.emitCustomEvent(\"diva-zoom-change\",{zoom:n})}alignTopAfterFit(e){if(!this.viewer)return;let t=this.viewer.viewport;if(!t)return;let n=t.getBounds(!0),r=this.getTopPaddingViewport(n.height),a=(this.pageOffsets[e]||0)-r;if(5e-4>Math.abs(n.y-a))return;let i=t.getCenter(!0);t.panTo(new OpenSeadragon.Point(i.x,n.height/2+a),!0),t.applyConstraints()}getTopPaddingViewport(e){var t;return 28/((null==(t=this.container)?void 0:t.getBoundingClientRect().height)||1)*e}resetLoadingState(){null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading=!1,this.emitCustomEvent(\"diva-loading-change\",{loading:!1})}updateLoadingState(){if(this.loadingIndexes.size>0){if(this.isLoading||null!==this.loadingTimer)return;this.loadingTimer=window.setTimeout(()=>{this.loadingTimer=null,this.loadingIndexes.size>0&&!this.isLoading&&(this.isLoading=!0,this.emitCustomEvent(\"diva-loading-change\",{loading:!0}))},300);return}null!==this.loadingTimer&&(window.clearTimeout(this.loadingTimer),this.loadingTimer=null),this.isLoading&&(this.isLoading=!1,this.emitCustomEvent(\"diva-loading-change\",{loading:!1}))}applyLayoutChange(e){var t,n,r;let a=null!=(t=e.mode)?t:this.layoutMode,i=null!=(n=e.direction)?n:this.viewingDirection;if(this.layoutMode===a&&this.viewingDirection===i)return;let o=null,s=null==(r=this.viewer)?void 0:r.viewport;if(s&&this.pageOffsets.length>0){let e=s.getBounds(!0),t=e.y+.5*e.height;o=this.findIndexForOffset(t)}else null!==this.lastReportedIndex&&(o=this.lastReportedIndex);if(this.layoutMode=a,this.viewingDirection=i,this.buildOffsets(),this.updateLoadedItemPositions(),this.ensureScrollPlane(),null!==o){let e=Math.max(0,Math.min(o,this.pageOffsets.length-1));this.scrollToIndex(e)}else this.lockHorizontalPan(),this.recenterAfterFit();this.maybeLoadMore()}emitCustomEvent(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}getCenterX(){return this.isSpreadMode()?1:.5}isSingleCanvasLayout(){return 1===this.tileSources.length&&1===this.pageOffsets.length}getTotalHeight(){let e=this.pageOffsets.length-1;return this.pageOffsets[e]+(this.pageRowHeights[e]||1)}getRowBounds(e){let t=this.pageOffsets[e]||0,n=this.pageRowHeights[e]||this.pageHeights[e]||1,r=this.isSpreadMode()?2:1;return new OpenSeadragon.Rect(0,t,r,n)}isSpreadMode(){return\"single\"!==this.layoutMode}getRowStartIndex(e){return this.isSpreadMode()?\"spread-shift\"===this.layoutMode?0===e?0:e%2==1?e:e-1:e-e%2:e}getRowEndIndex(e){let t=this.pageOffsets.length-1;return this.isSpreadMode()?\"spread-shift\"===this.layoutMode&&0===e?0:Math.min(e+1,t):e}createScrollbar(){this.container&&(this.scrollbarTrack=document.createElement(\"div\"),this.scrollbarTrack.className=\"diva-scrollbar-track\",this.scrollbarThumb=document.createElement(\"div\"),this.scrollbarThumb.className=\"diva-scrollbar-thumb\",this.scrollbarTrack.appendChild(this.scrollbarThumb),this.container.appendChild(this.scrollbarTrack),this.setupScrollbarDrag(),this.setupScrollbarTrackClick())}updateScrollbar(){if(!this.viewer||!this.scrollbarThumb||!this.scrollbarTrack||0===this.pageOffsets.length)return;let e=this.viewer.viewport.getBounds(!0),t=this.scrollbarTrack.clientHeight,n=this.getTotalHeight(),r=e.height,a=e.y,i=Math.max(30,r/n*t),o=n-r,s=o>0?Math.max(0,Math.min(1,a/o)):0;this.scrollbarThumb.style.height=`${i}px`,this.scrollbarThumb.style.top=`${Math.max(0,s*(t-i))}px`}setupScrollbarDrag(){if(!this.scrollbarThumb||!this.scrollbarTrack)return;let e=!1,t=0,n=0,r=r=>{var a;e=!0,this.isScrollbarDragging=!0,t=r.clientY,n=(null==(a=this.scrollbarThumb)?void 0:a.offsetTop)||0,r.preventDefault(),r.stopPropagation()},a=r=>{if(!e||!this.scrollbarTrack||!this.scrollbarThumb||!this.viewer)return;let a=r.clientY-t,i=n+a,o=this.scrollbarTrack.clientHeight,s=this.scrollbarThumb.clientHeight,u=Math.max(0,Math.min(i,o-s)),c=this.getTotalHeight(),l=this.viewer.viewport.getBounds(!0).height,d=this.viewer.viewport.getCenter(!0);this.viewer.viewport.panTo(new OpenSeadragon.Point(d.x,(o-s>0?u/(o-s):0)*(c-l)+l/2),!0)},i=()=>{e&&(e=!1,this.isScrollbarDragging=!1,this.emitPageChangeInstant())};this.scrollbarMouseMove=a,this.scrollbarMouseUp=i,this.scrollbarThumb.addEventListener(\"mousedown\",r),document.addEventListener(\"mousemove\",a),document.addEventListener(\"mouseup\",i)}setupScrollbarTrackClick(){this.scrollbarTrack&&this.scrollbarTrack.addEventListener(\"click\",e=>{var t;if(e.target===this.scrollbarThumb||!this.viewer)return;let n=null==(t=this.scrollbarTrack)?void 0:t.getBoundingClientRect();if(!n)return;let r=Math.max(0,Math.min(1,(e.clientY-n.top)/n.height)),a=this.getTotalHeight(),i=this.viewer.viewport.getBounds(!0).height,o=this.viewer.viewport.getCenter(!0);this.viewer.viewport.panTo(new OpenSeadragon.Point(o.x,r*(a-i)+i/2),!0)})}constructor(){super(),this.container=null,this.viewer=null,this.loadToken=0,this.tileSources=[],this.pageLabels=[],this.pageAspects=[],this.pageOffsets=[],this.pageHeights=[],this.pageRowHeights=[],this.pageXOffsets=[],this.layoutMode=\"single\",this.viewingDirection=\"ltr\",this.hasFitFirstPage=!1,this.loadedIndexes=new Set,this.loadingIndexes=new Set,this.unavailableIndexes=new Map,this.loadControllers=new Map,this.staticImageCorsPolicy=\"required\",this.tileSourceResolver=async e=>e.isStatic?h(e.url,!1,\"none\"===this.staticImageCorsPolicy):e.url,this.loadedItems=new Map,this.pageWaiters=new Map,this.pageOverlayElements=new Map,this.annotationData=new Map,this.annotationOverlayElements=new Map,this.annotationsVisible=!0,this.annotationSelectionEnabled=!0,this.selectedAnnotationId=null,this.annotationPanel=null,this.annotationPanelIgnoreCloseUntil=0,this.targetIndex=null,this.initialPageIndex=0,this.resourceId=\"initial\",this.scrollPlaneItem=null,this.isViewportInitialized=!1,this.lastReportedIndex=null,this.lastReportedZoom=null,this.loadingTimer=null,this.isLoading=!1,this.isClamping=!1,this.suppressPageChange=!0,this.suppressZoomChange=!0,this.scrollbarTrack=null,this.scrollbarThumb=null,this.isScrollbarDragging=!1,this.scrollbarMouseMove=null,this.scrollbarMouseUp=null,this.handleWheelBound=this.handleWheel.bind(this),this.handleDoubleClickBound=this.handleDoubleClick.bind(this),this.handleViewportChangeBound=this.handleViewportChange.bind(this),this.handleAnimationFinishBound=this.handleAnimationFinish.bind(this)}};function m(e,t,n){return n.a=e,n.f=t,n}function w(e){return m(2,e,function(t){return function(n){return e(t,n)}})}function y(e){return m(3,e,function(t){return function(n){return function(r){return e(t,n,r)}}})}function x(e){return m(4,e,function(t){return function(n){return function(r){return function(a){return e(t,n,r,a)}}}})}function C(e){return m(5,e,function(t){return function(n){return function(r){return function(a){return function(i){return e(t,n,r,a,i)}}}}})}function I(e){return m(6,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return e(t,n,r,a,i,o)}}}}}})}function A(e){return m(7,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return e(t,n,r,a,i,o,s)}}}}}}})}function E(e){return m(8,e,function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return function(u){return e(t,n,r,a,i,o,s,u)}}}}}}}})}function $(e,t,n){return 2===e.a?e.f(t,n):e(t)(n)}function R(e,t,n,r){return 3===e.a?e.f(t,n,r):e(t)(n)(r)}function S(e,t,n,r,a){return 4===e.a?e.f(t,n,r,a):e(t)(n)(r)(a)}function M(e,t,n,r,a,i){return 5===e.a?e.f(t,n,r,a,i):e(t)(n)(r)(a)(i)}function P(e,t,n,r,a,i,o){return 6===e.a?e.f(t,n,r,a,i,o):e(t)(n)(r)(a)(i)(o)}function L(e,t,n,r,a,i,o,s){return 7===e.a?e.f(t,n,r,a,i,o,s):e(t)(n)(r)(a)(i)(o)(s)}customElements.define(\"diva-lazy-image\",g),customElements.define(\"osd-viewer\",p);var T=y(function(e,t,n){for(var r=Array(e),a=0;a100){var a;return r.push((a=e,{a,b:t})),!0}if(e.$<0&&(e=no(e),t=no(t)),\"function\"==typeof DataView&&e instanceof DataView){var i=e.byteLength;if(t.byteLength!==i)return!1;for(var o=0;o0&&e<0||n<0&&e>0?n+e:n}),Z=Math.ceil,Y=Math.floor,K=Math.round,Q=Math.log,ee=w(function(e,t){return e+t}),et=y(function(e,t,n){for(var r=n.length;r-- >0;){var a=n[r],i=n.charCodeAt(r);56320<=i&&i<=57343&&(a=n[--r]+a),t=$(e,a,t)}return t}),en=w(function(e,t){return t.split(e)}),er=w(function(e,t){return t.join(e)}),ea=y(function(e,t,n){return n.slice(e,t)}),ei=w(function(e,t){for(var n=t.length;n-- >0;){var r=t[n],a=t.charCodeAt(n);if(56320<=a&&a<=57343&&(r=t[--n]+r),!e(r))return!1}return!0}),eo=w(function(e,t){return t.indexOf(e)>-1}),es=w(function(e,t){return 0===t.indexOf(e)}),eu=w(function(e,t){return t.length>=e.length&&t.lastIndexOf(e)===t.length-e.length}),ec=w(function(e,t){var n=e.length;if(n<1)return U;for(var r=0,a=[];(r=t.indexOf(e,r))>-1;)a.push(r),r+=n;return q(a)});function el(e){return e+\"\"}function ed(e){return{$:2,b:e}}var ef=ed(function(e){return\"number\"!=typeof e?eL(\"an INT\",e):-0x7fffffff=t.length)return eL(\"a LONGER array. Need index \"+a+\" but only see \"+t.length+\" entries\",t);var r=eR(e.b,t[a]);return n0(r)?r:nf($(nb,a,r.a));case 8:if(\"object\"!=typeof t||null===t||eM(t))return eL(\"an OBJECT\",t);var i=U;for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)){var r=eR(e.b,t[o]);if(!n0(r))return nf($(nv,o,r.a));i=D({a:o,b:r.a},i)}return ng(nO(i));case 9:for(var s=e.f,u=e.g,c=0;ctypeof FileList&&e instanceof FileList}function eP(e){return $(nQ,e.length,function(t){return e[t]})}function eL(e,t){return nf($(nh,\"Expecting \"+e,t))}var eT=w(function(e,t){return JSON.stringify(t,null,e)+\"\"});function ek(e){return e}var eO=y(function(e,t,n){return(\"toJSON\"!==e||\"function\"!=typeof t)&&(n[e]=t),n});function eH(e){return{$:0,a:e}}function eV(e){return{$:2,b:e,c:null}}var eB=w(function(e,t){return{$:3,b:e,d:t}}),eF=w(function(e,t){return{$:4,b:e,d:t}}),e_=0;function eN(e){var t={$:0,e:e_++,f:e,g:null,h:[]};return eq(t),t}function ez(e){return eV(function(t){t(eH(eN(e)))})}function eG(e,t){e.h.push(t),eq(e)}var eU=w(function(e,t){return eV(function(n){eG(e,t),n(eH(0))})}),eD=!1,eJ=[];function eq(e){if(eJ.push(e),!eD){for(eD=!0;e=eJ.shift();)!function(e){for(;e.f;){var t=e.f.$;if(0===t||1===t){for(;e.g&&e.g.$!==t;)e.g=e.g.i;if(!e.g)return;e.f=e.g.b(e.f.a),e.g=e.g.i}else if(2===t){e.f.c=e.f.b(function(t){e.f=t,eq(e)});return}else if(5===t){if(0===e.h.length)return;e.f=e.f.b(e.h.shift())}else e.g={$:+(3!==t),b:e.f.b,i:e.g},e.f=e.f.d}}(e);eD=!1}}function eX(e){return eV(function(t){var n=setTimeout(function(){t(eH(0))},e);return function(){clearTimeout(n)}})}var ej={};function eW(e,t,n,r,a){return{b:e,c:t,d:n,e:r,f:a}}var eZ=w(function(e,t){return eV(function(n){e.g(t),n(eH(0))})}),eY=w(function(e,t){return $(eU,e.h,{$:0,a:t})});function eK(e){return function(t){return{$:1,k:e,l:t}}}function eQ(e){return{$:2,m:e}}var e0=[],e1=!1;function e2(e,t,n){if(e0.push({p:e,q:t,r:n}),!e1){e1=!0;for(var r;r=e0.shift();)!function(e,t,n){var r={};for(var a in e4(!0,t,r,null),e4(!1,n,r,null),e)eG(e[a],{$:\"fx\",a:r[a]||{i:U,j:U}})}(r.p,r.q,r.r);e1=!1}}function e4(e,t,n,r){switch(t.$){case 1:var a,i,o,s,u,c,l,d=t.k,f=(a=e,i=d,o=r,s=t.l,$(a?ej[i].e:ej[i].f,function(e){for(var t=o;t;t=t.t)e=t.s(e);return e},s));n[d]=(u=e,c=f,l=(l=n[d])||{i:U,j:U},u?l.i=D(c,l.i):l.j=D(c,l.j),l);return;case 2:for(var h=t.m;h.b;h=h.b)e4(e,h.a,n,r);return;case 3:e4(e,t.o,n,{s:t.n,t:r});return}}function e3(e,t){return ej[e]&&O(3),ej[e]={e:e6,u:t,a:e5},eK(e)}var e6=w(function(e,t){return t});function e5(e){var t=[],n=ej[e].u,r=eX(0);return ej[e].b=r,ej[e].c=y(function(e,a,i){for(;a.b;a=a.b){for(var o=t,s=n(a.a),u=0;u=0&&t.splice(n,1)}}}function e8(e,t){return ej[e]&&O(3),ej[e]={f:e7,u:t,a:e9},eK(e)}var e7=w(function(e,t){return function(n){return e(t(n))}});function e9(e,t){var n=U,r=ej[e].u,a=eH(null);return ej[e].b=a,ej[e].c=y(function(e,t,r){return n=t,a}),{send:function(e){var a=$(e$,r,e);n0(a)||O(4,a.a);for(var i=a.a,o=n;o.b;o=o.b)t(o.a(i))}}}var te=!1,tt=\"u\">typeof document?document:{};function tn(e,t){e.appendChild(t)}function tr(e,t,n){(t.parentNode!==e||t.nextSibling!==n)&&e.insertBefore(t,n)}function ta(e,t,n){(t.parentNode!==e||t.previousSibling!==n)&&e.insertBefore(t,null===n?e.firstChild:n.nextSibling)}var ti=\"u\">typeof Element&&\"function\"==typeof Element.prototype.moveBefore,to=ti?function(e,t,n){(t.parentNode!==e||t.nextSibling!==n)&&e.moveBefore(t,n)}:tr,ts=ti?function(e,t,n){(t.parentNode!==e||t.previousSibling!==n)&&e.moveBefore(t,null===n?e.firstChild:n.nextSibling)}:ta;function tu(e){var t=e.parentNode;t&&t.removeChild(e)}function tc(e){return{r:e,s:Object.create(null)}}function tl(e){return{$:0,a:e}}var td=w(function(e,t){return w(function(n,r){for(var a=[];r.b;r=r.b)a.push(r.a);return{$:1,c:t,d:tL(n),e:a,f:e,b:0}})}),tf=td(void 0);function th(e,t){return{$:5,l:e,m:t,k:void 0}}w(function(e,t){return w(function(n,r){for(var a=[],i=Object.create(null);r.b;r=r.b){for(var o=r.a,s=o.a;s in i;)s+=tG,o={a:s,b:o.b};a.push(o),i[s]=o.b}return{$:2,c:t,d:tL(n),e:a,t:i,f:e,b:0}})})(void 0);var tv=w(function(e,t){return th([e,t],function(){return e(t)})}),tb=y(function(e,t,n){return th([e,t,n],function(){return $(e,t,n)})}),tg=x(function(e,t,n,r){return th([e,t,n,r],function(){return R(e,t,n,r)})}),tp=C(function(e,t,n,r,a){return th([e,t,n,r,a],function(){return S(e,t,n,r,a)})}),tm=I(function(e,t,n,r,a,i){return th([e,t,n,r,a,i],function(){return M(e,t,n,r,a,i)})}),tw=A(function(e,t,n,r,a,i,o){return th([e,t,n,r,a,i,o],function(){return P(e,t,n,r,a,i,o)})}),ty=w(function(e,t){return{$:\"a0\",n:e,o:t}}),tx=w(function(e,t){return{$:\"a1\",n:e,o:t}}),tC=w(function(e,t){return{$:\"a2\",n:e,o:t}}),tI=w(function(e,t){return{$:\"a3\",n:e,o:t}}),tA=y(function(e,t,n){return{$:\"a4\",n:t,o:{f:e,o:n}}}),tE=/^script$/i,t$=/^(on|formAction$)/i,tR=/^\\s*j\\s*a\\s*v\\s*a\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*:/i,tS=/^\\s*(j\\s*a\\s*v\\s*a\\s*s\\s*c\\s*r\\s*i\\s*p\\s*t\\s*:|d\\s*a\\s*t\\s*a\\s*:\\s*t\\s*e\\s*x\\s*t\\s*\\/\\s*h\\s*t\\s*m\\s*l\\s*(,|;))/i;function tM(e){return tS.test(e)?\"\":e}var tP=\"function\"==typeof _Test_runThunk;function tL(e){var t={};for(t[tJ]=!0;e.b;e=e.b){var n=e.a,r=n.$,a=n.n,i=n.o;if(\"a2\"===r){\"className\"===a?tT(t,a,i):t[a]=i;continue}var o=t[r]||(t[r]={});\"a3\"===r&&\"class\"===a?tP?tT(t,\"className\",i):tT(o,a,i):o[a]=i}return t}function tT(e,t,n){var r=e[t];e[t]=r?r+\" \"+n:n}function tk(e,t,n){var r=e.$;if(5===r)return tk(e.k||(e.k=e.m()),t,n);if(4===r)return tk(e.k,function(n,r){return t(e.j(n),r)},n);if(0===r){var a=tt.createTextNode(e.a);return n.r=a,a}if(3===r){var a=e.h(e.g);return tO(a,t,{},e.d),n.r=a,a}var a=e.f?tt.createElementNS(e.f,e.c):tt.createElement(e.c);if(c&&\"a\"==e.c&&a.addEventListener(\"click\",c(a)),tO(a,t,{},e.d),1===r)for(var i=e.e,o=0;on2(i)}),r[a]=o}for(a in r)a in n||(e.removeEventListener(a,r[a]),delete r[a])}(e,t,r.a0||{})}function tH(e,t){for(var n in t)if(\"a0\"!==n&&\"a1\"!==n&&\"a3\"!==n&&\"a4\"!==n&&n!==tJ){var r=t[n];r!==e[n]&&(e[n]=r)}}function tV(e,t){var n=e.elmFs;if(n)for(var r in n)n[r].q=t}try{window.addEventListener(\"t\",null,Object.defineProperty({},\"passive\",{get:function(){l=!0}}))}catch(e){}function tB(e,t,n,r){if(e===t)return{r:tF(e,t,n,r),u:!1,v:!1};for(;4===e.$;)e=e.k;if(4===t.$)return tB(e,t.k,function(e,r){return n(t.j(e),r)},r);if(5===e.$)if(5!==t.$)return tB(e.k,t,n,r);else{for(var a=e.l,i=t.l,o=a.length,s=o===i.length;s&&o--;)s=a[o]===i[o];return s?(t.k=e.k,{r:tF(e,t,n,r),u:!1,v:!1}):(t.k=t.m(),tB(e.k,t.k,n,r))}if(5===t.$)return tB(e,t.k||(t.k=t.m()),n,r);var u=r.r,c=e.$,l=t.$;if(c!==l)if(1===c&&2===l)e=function(e,t,n){for(var r=e.e,a=t.e,i=r.length,o=a.length,s=Array(i),u=Object.create(null),c=Object.create(null),l=0;l=0;u--){var l=s[u],d=function e(t,n,r){var a=t.$;if(5===a)return e(t.k,n,r);if(4===a)return e(t.k,function(e,r){return n(t.j(e),r)},r);if(0===a){var i=tt.createTextNode(t.a);return r.r=i,i}return r.r}(2===n.$?l.b:l,r,a.s[2===n.$?l.a:u]);if(d.parentNode===e)for(;c>=0;c--){if((o=e.childNodes[c])===d){c--;break}(3===o.nodeType||\"font\"===o.localName)&&e.removeChild(o)}else tr(e,d,o),o=d}for(;c>=0;c--)(3===(o=e.childNodes[c]).nodeType||\"font\"===o.localName)&&e.removeChild(o)}return{r:e,u:!1,v:!1}}function tN(e,t,n,r,a){for(var i=t.e,o=n.e,s=i.length,u=o.length,c=!1,l=null,d=su)for(var f=u;fc&&f>l;){var p=i[d],m=o[f],w=p.a,y=m.a,x=p.b,C=m.b;if(w===y){var I=tB(x,C,r,a.s[y]);d--,f--,g(I,!0);continue}var A=!1;if(w in u?A=!0:(tu(a.s[w].r),delete a.s[w],d--),y in s){if(A)break}else{var E=tc(void 0),$=tk(C,r,E);a.s[y]=E,tr(e,$,v),f--,v=$}}var R=!1;if(c=e)break;var n=tX[t];delete tX[t],n()}tj=!1})),t}var tK=\"u\">typeof requestAnimationFrame?requestAnimationFrame:function(e){return setTimeout(e,1e3/60)},tQ={addEventListener:function(){},removeEventListener:function(){}},t0=\"u\">typeof document?document:tQ,t1=\"u\">typeof window?window:tQ,t2=y(function(e,t,n){return ez(eV(function(r){function a(e){eN(n(e))}return e.addEventListener(t,a,l&&{passive:!0}),function(){e.removeEventListener(t,a)}}))}),t4=w(function(e,t){var n=eR(e,t);return n0(n)?nr(n.a):na});function t3(e,t){return eV(function(n){tY(function(){var r=document.getElementById(e);n(r?eH(t(r)):{$:1,a:n3(e)})})})}function t6(){var e=t0.body,t=t0.documentElement;return{dI:Math.max(e.scrollWidth,e.offsetWidth,t.scrollWidth,t.offsetWidth,t.clientWidth),dU:Math.max(e.scrollHeight,e.offsetHeight,t.scrollHeight,t.offsetHeight,t.clientHeight)}}var t5=y(function(e,t,n){return t3(e,function(e){return e.scrollLeft=t,e.scrollTop=n,0})}),t8=y(function(e,t,n){return eV(function(r){function a(e){r(t(n.dQ.a(e)))}var i,o,s,u=new XMLHttpRequest;u.addEventListener(\"error\",function(){a(rM)}),u.addEventListener(\"timeout\",function(){a(rT)}),u.addEventListener(\"load\",function(){var e,t,r;a((e=n.dQ.b,$(200<=(t=u).status&&t.status<300?rS:r$,{aM:(r=t).responseURL,gN:r.status,gO:r.statusText,eP:function(e){if(!e)return rI;for(var t=rI,n=e.split(\"\\r\\n\"),r=n.length;r--;){var a=n[r],i=a.indexOf(\": \");if(i>0){var o=a.substring(0,i),s=a.substring(i+2);t=R(rj,o,function(e){return nr(rk(e)?s+\", \"+e.a:s)},t)}}return t}(r.getAllResponseHeaders())},e(t.response))))}),rk(n.fE)&&(i=e,o=u,s=n.fE.a,o.upload.addEventListener(\"progress\",function(e){!o.c&&eN($(rO,i,{a:s,b:rL({gJ:e.loaded,fw:e.total})}))}),o.addEventListener(\"progress\",function(e){!o.c&&eN($(rO,i,{a:s,b:rP({gA:e.loaded,fw:e.lengthComputable?nr(e.total):na})}))}));try{u.open(n.gj,n.aM,!0)}catch(e){return a(rR(n.aM))}return function(e,t){for(var n=t.eP;n.b;n=n.b)e.setRequestHeader(n.a.a,n.a.b);e.timeout=t.gY.a||0,e.responseType=t.dQ.d,e.withCredentials=t.fM}(u,n),n.eq.a&&u.setRequestHeader(\"Content-Type\",n.eq.a),u.send(n.eq.b),function(){u.c=!0,u.abort()}})}),t7=y(function(e,t,n){return{$:0,d:e,b:t,a:n}}),t9=w(function(e,t){return{$:0,d:t.d,b:t.b,a:function(n){return e(t.a(n))}}}),ne=C(function(e,t,n,r,a){for(var i,o=e.length,s=t+o<=a.length,u=0;s&&u_(e,t)))return n;else{var r=e,a=t-1,i=$(J,t,n);e=r,t=a,n=i;continue}}),nA=w(function(e,t){return R(nI,e,t,U)}),nE=w(function(e,t){return R(j,e,$(nA,0,nC(t)-1),t)}),n$=function(e){return e.toLowerCase()},nR=function(e){return e.toUpperCase()},nS=function(e){return H(e,n$(e))&&!H(e,nR(e))},nM=function(e){return H(e,nR(e))&&!H(e,n$(e))},nP=function(e){return nS(e)||nM(e)},nL=function(e){var t=e.charCodeAt(0);return 55296<=t&&t<=56319?(t-55296)*1024+e.charCodeAt(1)-56320+65536:t},nT=function(e){var t=nL(e);return t<=57&&48<=t},nk=function(e){return nS(e)||nM(e)||nT(e)},nO=function(e){return R(nx,J,U,e)},nH=function(e){var t=e.charCodeAt(0);return isNaN(t)?na:nr(55296<=t&&t<=56319?{a:e[0]+e[1],b:e.slice(2)}:{a:e[0],b:e.slice(1)})},nV=w(function(e,t){return\"\\n\\n(\"+el(e+1)+\") \"+ny(nB(t))}),nB=function(e){return $(nF,e,U)},nF=w(function(e,t){for(;;)switch(e.$){case 0:var n=e.a,r=e.b,a=!function(){var e=nH(n);if(1===e.$)return!1;var t=e.a,r=t.a,a=t.b;return nP(r)&&$(ei,nk,a)}()?\"['\"+n+\"']\":\".\"+n,i=r,o=$(J,a,t);e=i,t=o;continue;case 1:var s=e.a,r=e.b,u=\"[\"+el(s)+\"]\",i=r,o=$(J,u,t);e=i,t=o;continue;case 2:var c=e.a;if(!c.b)return\"Ran into a Json.Decode.oneOf with no possibilities\"+(t.b?\" at json\"+$(nm,\"\",nO(t)):\"!\");if(c.b.b){var l=(t.b?\"The Json.Decode.oneOf at json\"+$(nm,\"\",nO(t)):\"Json.Decode.oneOf\")+\" failed in the following \"+el(nC(c))+\" ways:\";return $(nm,\"\\n\\n\",$(J,l,$(nE,nV,c)))}var r=c.a,i=r,o=t;e=i,t=o;continue;default:var d=e.a,f=e.b,l=t.b?\"Problem with the value at json\"+$(nm,\"\",nO(t))+\":\\n\\n \":\"Problem with the given value:\\n\\n\";return l+(ny($(eT,4,f))+\"\\n\\n\")+d}}),n_=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),nN=[],nz=w(function(e,t){return Q(t)/Q(e)}),nG=function(e){return e},nU=Z($(nz,2,32)),nD=S(n_,0,nU,nN,nN),nJ=w(function(e,t){return e(t)}),nq=function(e){return e.length},nX=w(function(e,t){return _(e,t)>0?e:t}),nj=w(function(e,t){for(;;){var n=$(k,32,e),r=n.a,a=n.b,i=$(J,{$:0,a:r},t);if(!a.b)return nO(i);e=a,t=i}}),nW=function(e){return e.a},nZ=w(function(e,t){for(;;){var n=Z(t/32);if(1===n)return $(k,32,e).a;e=$(nj,e,U),t=n}}),nY=w(function(e,t){if(!t.z)return S(n_,nq(t.E),nU,nN,t.E);var n=32*t.z,r=Y($(nz,32,n-1)),a=$(nZ,e?nO(t.F):t.F,t.z);return S(n_,nq(t.E)+n,$(nX,5,r*nU),a,t.E)}),nK=C(function(e,t,n,r,a){for(;;)if(t<0)return $(nY,!1,{F:r,z:n/32|0,E:a});else{var i={$:1,a:R(T,32,t,e)},o=e,s=t-32,u=n,c=$(J,i,r),l=a;e=o,t=s,n=u,r=c,a=l;continue}}),nQ=w(function(e,t){if(e<=0)return nD;var n=e%32,r=R(T,n,e-n,t);return M(nK,t,e-n-32,e,U,r)}),n0=function(e){return!e.$},n1=function(e){return{$:0,a:e}},n2=function(e){switch(e.$){case 0:return 0;case 1:return 1;case 2:return 2;default:return 3}},n4=function(e){return e},n3=n4,n6=I(function(e,t,n,r,a,i){return{f4:i,eR:t,s:r,fa:n,fe:e,gz:a}}),n5=function(e){return e.length},n8=w(function(e,t){return e<1?t:R(ea,e,n5(t),t)}),n7=function(e){return\"\"===e},n9=w(function(e,t){return e<1?\"\":R(ea,0,e,t)}),re=function(e){for(var t=0,n=e.charCodeAt(0),r=+(43==n||45==n),a=r;a500?R(nx,e,t,nO(d)):S(rs,e,t,n+1,d);return $(e,a,$(e,o,$(e,u,$(e,l,f))))}),ru=y(function(e,t,n){return S(rs,e,t,0,n)}),rc=w(function(e,t){return R(ru,w(function(t,n){return $(J,e(t),n)}),U,t)}),rl=w(function(e,t){return $(eB,function(t){return eH(e(t))},t)}),rd=y(function(e,t,n){return $(eB,function(t){return $(eB,function(n){return eH($(e,t,n))},n)},t)}),rf=function(e){return R(ru,rd(J),eH(U),e)},rh=w(function(e,t){return ez($(eB,eZ(e),t))});ej.Task=eW(ro,y(function(e,t,n){return $(rl,function(e){return 0},rf($(rc,rh(e),t)))}),y(function(e,t,n){return eH(0)}),w(function(e,t){return $(rl,e,t)}));var rv=eK(\"Task\"),rb=w(function(e,t){return rv($(rl,e,t))}),rg=function(e){return{$:0,a:e}},rp={$:1},rm={$:0},rw=function(e){return{$:9,a:e}},ry=function(e){return{$:56,a:e}},rx=y(function(e,t,n){return 0>_(n,e)?e:_(n,t)>0?t:n}),rC={$:-2},rI=rC,rA=(r=function(){return{fq:t6(),fH:{fJ:t1.pageXOffset,ek:t1.pageYOffset,dI:t0.documentElement.clientWidth,dU:t0.documentElement.clientHeight}}},eV(function(e){tY(function(){e(eH(r()))})})),rE={aa:na,ah:na,di:!1,ax:rI,e:rI,cL:0,v:rI,D:rI,Z:U,ag:rI,ar:rI},r$=w(function(e,t){return{$:3,a:e,b:t}}),rR=function(e){return{$:0,a:e}},rS=w(function(e,t){return{$:4,a:e,b:t}}),rM={$:2},rP=function(e){return{$:1,a:e}},rL=function(e){return{$:0,a:e}},rT={$:1},rk=function(e){return!e.$},rO=eY,rH=w(function(e,t){for(;;)if(-2===t.$)return na;else{var n=t.b,r=t.c,a=t.d,i=t.e;switch($(N,e,n)){case 0:var o=e,s=a;e=o,t=s;continue;case 1:return nr(r);default:var o=e,s=i;e=o,t=s;continue}}}),rV=C(function(e,t,n,r,a){return{$:-1,a:e,b:t,c:n,d:r,e:a}}),rB=C(function(e,t,n,r,a){if(-1!==a.$||a.a)if(-1!==r.$||r.a||-1!==r.d.$||r.d.a)return M(rV,e,t,n,r,a);else{r.a;var i=r.b,o=r.c,s=r.d;s.a;var u=s.b,c=s.c,l=s.d,d=s.e,f=r.e;return M(rV,0,i,o,M(rV,1,u,c,l,d),M(rV,1,t,n,f,a))}a.a;var h=a.b,v=a.c,b=a.d,g=a.e;if(-1!==r.$||r.a)return M(rV,e,h,v,M(rV,0,t,n,r,b),g);r.a;var i=r.b,o=r.c,p=r.d,f=r.e;return M(rV,0,t,n,M(rV,1,i,o,p,f),M(rV,1,h,v,b,g))}),rF=y(function(e,t,n){if(-2===n.$)return M(rV,0,e,t,rC,rC);var r=n.a,a=n.b,i=n.c,o=n.d,s=n.e;switch($(N,e,a)){case 0:return M(rB,r,a,i,R(rF,e,t,o),s);case 1:return M(rV,r,a,t,o,s);default:return M(rB,r,a,i,o,R(rF,e,t,s))}}),r_=y(function(e,t,n){var r=R(rF,e,t,n);return -1!==r.$||r.a?r:(r.a,M(rV,1,r.b,r.c,r.d,r.e))}),rN=function(e){for(;;)if(-1!==e.$||-1!==e.d.$)return e;else{e=e.d;continue}},rz=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.e.d.$||e.e.d.a){var t=e.a,n=e.b,r=e.c,a=e.d;a.a;var i=a.b,o=a.c,s=a.d,u=a.e,c=e.e;c.a;var l=c.b,d=c.c,f=c.d,h=c.e;return M(rV,1,n,r,M(rV,0,i,o,s,u),M(rV,0,l,d,f,h))}var t=e.a,n=e.b,r=e.c,v=e.d;v.a;var i=v.b,o=v.c,s=v.d,u=v.e,b=e.e;b.a;var l=b.b,d=b.c,f=b.d;f.a;var g=f.b,p=f.c,m=f.d,w=f.e,h=b.e;return M(rV,0,g,p,M(rV,1,n,r,M(rV,0,i,o,s,u),m),M(rV,1,l,d,w,h))},rG=function(e){if(-1!==e.$||-1!==e.d.$||-1!==e.e.$)return e;if(-1!==e.d.d.$||e.d.d.a){var t=e.a,n=e.b,r=e.c,a=e.d;a.a;var i=a.b,o=a.c,s=a.d,u=a.e,c=e.e;c.a;var l=c.b,d=c.c,f=c.d,h=c.e;return M(rV,1,n,r,M(rV,0,i,o,s,u),M(rV,0,l,d,f,h))}var t=e.a,n=e.b,r=e.c,v=e.d;v.a;var i=v.b,o=v.c,b=v.d;b.a;var g=b.b,p=b.c,m=b.d,w=b.e,u=v.e,y=e.e;y.a;var l=y.b,d=y.c,f=y.d,h=y.e;return M(rV,0,i,o,M(rV,1,g,p,m,w),M(rV,1,n,r,u,M(rV,0,l,d,f,h)))},rU=A(function(e,t,n,r,a,i,o){if(-1===i.$&&!i.a)return i.a,M(rV,n,i.b,i.c,i.d,M(rV,0,r,a,i.e,o));for(;;)if(-1===o.$&&1===o.a)if(-1!==o.d.$)return o.a,o.d,rG(t);else if(1===o.d.a)return o.a,o.d.a,rG(t);else break;else break;return t}),rD=function(e){if(-1!==e.$||-1!==e.d.$)return rC;var t=e.a,n=e.b,r=e.c,a=e.d,i=a.a,o=a.d,s=e.e;if(1!==i)return M(rV,t,n,r,rD(a),s);if(-1===o.$&&!o.a)return o.a,M(rV,t,n,r,rD(a),s);var u=rz(e);if(-1!==u.$)return rC;var c=u.a,l=u.b,d=u.c,f=u.d,h=u.e;return M(rB,c,l,d,rD(f),h)},rJ=w(function(e,t){if(-2===t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;if(!(0>_(e,r)))return $(rq,e,L(rU,e,t,n,r,a,i,o));if(-1!==i.$||1!==i.a)return M(rV,n,r,a,$(rJ,e,i),o);i.a;var s=i.d;if(-1===s.$&&!s.a)return s.a,M(rV,n,r,a,$(rJ,e,i),o);var u=rz(t);if(-1!==u.$)return rC;var c=u.a,l=u.b,d=u.c,f=u.d,h=u.e;return M(rB,c,l,d,$(rJ,e,f),h)}),rq=w(function(e,t){if(-1!==t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;if(!H(e,r))return M(rB,n,r,a,i,$(rJ,e,o));var s=rN(o);return -1===s.$?M(rB,n,s.b,s.c,i,rD(o)):rC}),rX=w(function(e,t){var n=$(rJ,e,t);return -1!==n.$||n.a?n:(n.a,M(rV,1,n.b,n.c,n.d,n.e))}),rj=y(function(e,t,n){var r=t($(rH,e,n));return r.$?$(rX,e,n):R(r_,e,r.a,n)}),rW=y(function(e,t,n){return t(e(n))}),rZ=w(function(e,t){return R(t7,\"\",n4,$(rW,t,e))}),rY=w(function(e,t){return t.$?nf(e(t.a)):ng(t.a)}),rK=function(e){return{$:4,a:e}},rQ={$:2},r0={$:1},r1=w(function(e,t){switch(t.$){case 0:return nf({$:0,a:t.a});case 1:return nf(r0);case 2:return nf(rQ);case 3:return nf({$:3,a:t.a.gN});default:return $(rY,rK,e(t.b))}}),r2=w(function(e,t){return $(rZ,e,r1(function(e){return $(rY,nB,$(eE,t,e))}))}),r4={$:0},r3=w(function(e,t){return{$:0,a:e,b:t}}),r6=function(e){return{$:1,a:e}},r5=w(function(e,t){return{fj:e,fB:t}}),r8=eH($(r5,rI,U)),r7=function(e){return eV(function(t){var n=e.f;2===n.$&&n.c&&n.c(),e.f=null,t(eH(0))})},r9=y(function(e,t,n){for(;;)if(!t.b)return eH(n);else{var r=t.a,a=t.b;if(r.$){var i=r.a;return $(eB,function(t){var r=i.fE;return 1===r.$?R(r9,e,a,n):R(r9,e,a,R(r_,r.a,t,n))},ez(R(t8,e,eZ(e),i)))}var o=r.a,s=$(rH,o,n);if(1!==s.$)return $(eB,function(t){return R(r9,e,a,$(rX,o,n))},r7(s.a));var u=n;t=a,n=u;continue}}),ae=x(function(e,t,n,r){return $(eB,function(e){return eH($(r5,e,n))},R(r9,e,t,r.fj))}),at=y(function(e,t,n){var r=e(t);return r.$?n:$(J,r.a,n)}),an=w(function(e,t){return R(ru,at(e),U,t)}),ar=x(function(e,t,n,r){var a=r.a,i=r.b;return H(t,a)?nr($(eZ,e,i(n))):na}),aa=y(function(e,t,n){return $(eB,function(e){return eH(n)},rf($(an,R(ar,e,t.a,t.b),n.fB)))}),ai=w(function(e,t){if(t.$){var n=t.a;return r6({fM:n.fM,eq:n.eq,dQ:$(t9,e,n.dQ),eP:n.eP,gj:n.gj,gY:n.gY,fE:n.fE,aM:n.aM})}return{$:0,a:t.a}}),ao=w(function(e,t){return{$:0,a:e,b:t}});ej.Http=eW(r8,ae,aa,ai,w(function(e,t){return $(ao,t.a,$(rW,t.b,e))}));var as=eK(\"Http\");eK(\"Http\");var au=y(function(e,t,n){var r;return as(r6({fM:!1,eq:(r={eq:r4,dQ:t,eP:$(rc,r3(\"Accept\"),e),gj:\"GET\",gY:na,fE:na,aM:n}).eq,dQ:r.dQ,eP:r.eP,gj:r.gj,gY:r.gY,fE:r.fE,aM:r.aM}))}),ac=function(e){return{$:3,b:e}},al=function(e){return{$:11,g:e}},ad=w(function(e,t){for(;;)if(!t.b)return!1;else{var n=t.a,r=t.b;if(e(n))return!0;t=r;continue}}),af=y(function(e,t,n){return $(nm,t,$(nw,e,n))}),ah=w(function(e,t){return H(t,e)||H(t,R(af,\"http://\",\"https://\",e))}),av=function(e){return{$:1,a:e}},ab=\"http://iiif.io/api/presentation/2/context.json\",ag=\"http://iiif.io/api/presentation/3/context.json\",ap=w(function(e,t){return{$:0,a:e,b:t}}),am=w(function(e,t){return{$:0,a:e,b:t}}),aw=w(function(e,t){return{$:0,a:e,b:t}}),ay=w(function(e,t){return{$:0,a:e,b:t}}),ax=function(e){return{$:2,a:e}},aC=function(e){return{$:1,a:e}},aI=function(e){return{$:0,a:e}},aA=function(e){return{$:3,a:e}},aE=y(function(e,t,n){return e(t(n))}),a$=E(function(e,t,n,r,a,i,o,s){return{dd:s,dU:r,f7:e,cF:a,dX:t,gW:i,g2:o,dI:n}}),aR=function(e){return al(q([$(ex,nr,e),n1(na)]))},aS=w(function(e,t){return R(eC,w(function(e,t){return t(e)}),e,t)}),aM=x(function(e,t,n,r){var a=al(q([$(ep,e,t),n1(n)]));return $(aS,a,r)}),aP=y(function(e,t,n){return $(aS,$(ep,e,t),n)}),aL=function(e){if(!e.b)return na;var t=e.a;return e.b,nr(t)},aT=function(e){return al(q([$(ex,aL,ac(e)),$(ex,nr,e)]))},ak=w(function(e,t){return R(ru,ep,t,e)}),aO=w(function(e,t){return t.b?R(ru,J,t,e):e}),aH=function(e){return R(ru,aO,U,e)},aV=C(function(e,t,n,r,a){return{f7:e,eT:n,dX:t,ft:r,gK:a}}),aB=w(function(e,t){return $(aS,e,t)}),aF=w(function(e,t){return $(aS,n1(e),t)}),a_=function(e){return{$:2,a:e}},aN=w(function(e,t){return t.$?na:e(t.a)}),az=w(function(e,t){return t.$?na:nr(e(t.a))}),aG=w(function(e,t){return t.$?e:t.a}),aU=function(e){var t=e.fe,n=e.eR,r=e.fa,a=e.s,i=e.gz,o=t?\"https://\":\"http://\",s=i.$?a:a+\"?\"+i.a;return{dc:$(aG,G(o,n),$(az,function(e){return o+(n+\":\")+el(e)},r)),s:a,d4:$(nw,\"/\",a),du:s}},aD=A(function(e,t,n,r,a,i,o){return{dR:o,eR:e,Y:t,d7:i,cU:n,bg:a,fw:r}}),aJ=function(e){return{$:1,a:e}},aq=y(function(e,t,n){if(1===t.$)return na;var r=t.a;return 1===n.$?na:nr($(e,r,n.a))}),aX=w(function(e,t){return R(aq,nJ,t,e)}),aj=function(e){var t=$(nw,\".\",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.b.a;return\"jpg\"===n?nr(0):\"tif\"===n?nr(1):\"png\"===n?nr(2):\"gif\"===n?nr(4):\"jp2\"===n?nr(3):\"pdf\"===n?nr(5):\"webp\"===n?nr(6):na},aW={$:0},aZ={$:1},aY=function(e){return\"full\"===e?nr(aW):\"square\"===e?nr(aZ):na},aK=w(function(e,t){for(;;)if(!e.b)return na;else{var n=e.a,r=e.b,a=n(t);if(!a.$)return nr(a.a);var i=t;e=r,t=i;continue}}),aQ=function(e){if(0===e.length||/[\\sxbo]/.test(e))return na;var t=+e;return t==t?nr(t):na},a0=function(e){var t=$(an,aQ,$(nw,\",\",$(n8,4,e)));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return na;var n=t.a,r=t.b,a=r.a,i=r.b,o=i.a;return nr({$:3,a:{dn:i.b.a,dH:o,fJ:n,ek:a}})},a1=function(e){var t=$(an,re,$(nw,\",\",e));if(!t.b||!t.b.b||!t.b.b.b||!t.b.b.b.b||t.b.b.b.b.b)return na;var n=t.a,r=t.b,a=r.a,i=r.b,o=i.a;return nr({$:2,a:{dn:i.b.a,dH:o,fJ:n,ek:a}})},a2=function(e){return{$:5,a:e}},a4=function(e){return $(es,\"^,\",e)?$(az,a2,re($(n8,2,e))):na},a3=function(e){return{$:7,a:e}},a6=function(e){return $(es,\"^pct:\",e)?$(az,a3,aQ($(n8,5,e))):na},a5=function(e){return{$:11,a:e}},a8=w(function(e,t){return{a:e,b:t}}),a7=function(e){var t=$(nw,\",\",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.a,r=t.b.a;return R(aq,a8,re(n),re(r))},a9=function(e){return $(es,\"^!\",e)?$(az,a5,a7($(n8,2,e))):na},ie=function(e){return{$:9,a:e}},it=function(e){return $(es,\"^\",e)?$(az,ie,a7($(n8,1,e))):na},ir=function(e){return{$:3,a:e}},ia=w(function(e,t){return e<1?t:R(ea,0,-e,t)}),ii=function(e){return $(eu,\",\",e)&&$(es,\"^\",e)?$(az,ir,re($(n8,1,$(ia,1,e)))):na},io=function(e){return{$:4,a:e}},is=function(e){return $(es,\",\",e)?$(az,io,re($(n8,1,e))):na},iu={$:1},ic={$:0},il=function(e){return\"max\"===e||\"full\"===e?nr(ic):\"^max\"===e?nr(iu):na},id=function(e){return{$:6,a:e}},ih=function(e){return $(es,\"pct:\",e)?$(az,id,aQ($(n8,4,e))):na},iv=function(e){return{$:10,a:e}},ib=function(e){return $(es,\"!\",e)?$(az,iv,a7($(n8,1,e))):na},ig=function(e){return{$:8,a:e}},ip=function(e){var t=$(nw,\",\",e);return t.b&&t.b.b&&!t.b.b.b?(t.b,$(az,ig,a7(e))):na},im=function(e){return{$:2,a:e}},iw=function(e){return $(eu,\",\",e)?$(az,im,re($(ia,1,e))):na},iy=function(e){var t=$(nw,\".\",e);if(!t.b||!t.b.b||t.b.b.b)return na;var n=t.a;return t.b,\"default\"===n?nr(3):\"native\"===n?nr(4):\"color\"===n?nr(0):\"gray\"===n?nr(1):\"bitonal\"===n?nr(2):na},ix=function(e){return{$:1,a:e}},iC=function(e){return $(es,\"!\",e)?$(az,ix,aQ($(n8,1,e))):na},iI=function(e){return{$:0,a:e}},iA=function(e){return $(az,iI,aQ(e))},iE=w(function(e,t){var n=nO(t);if(!n.b||!n.b.b||!n.b.b.b||!n.b.b.b.b)return na;var r=n.a,a=n.b,i=a.a,o=a.b,s=o.a,u=o.b,c=u.a,l=$(nm,\"/\",nO(u.b));return $(az,aJ,$(aX,aj(r),$(aX,iy(r),$(aX,$(aK,q([iA,iC]),i),$(aX,$(aK,q([il,iw,ii,is,a4,ih,a6,ip,it,ib,a9]),s),$(aX,$(aK,q([aY,a1,a0]),c),nr($(aD,e,l))))))))}),i$=function(e){return{$:0,a:e}},iR=w(function(e,t){return R(ru,w(function(t,n){return e(t)?$(J,t,n):n}),U,t)}),iS=w(function(e,t){return $(iR,F(e),t)}),iM=w(function(e,t){return nr(i$({eR:e,Y:$(nm,\"/\",$(iS,\"info.json\",t))}))}),iP=w(function(e,t){return aH($(rc,e,t))}),iL=(a=q([\"color\",\"gray\",\"bitonal\",\"default\",\"native\"]),i=q([\"jpg\",\"tif\",\"png\",\"gif\",\"jp2\",\"pdf\",\"webp\"]),$(rc,nm(\".\"),(o=q([a,i]),R(ru,w(function(e,t){return $(iP,function(e){return $(rc,J(e),t)},e)}),q([U]),o)))),iT=w(function(e,t){return nr(a_({eR:e,Y:t}))}),ik=function(e){var t=aU(e),n=t.dc,r=t.s,a=t.d4,i=t.du;return $(ad,function(e){return $(eu,e,r)},iL)?$(iE,n,a):$(eu,\"info.json\",r)?$(iM,n,a):$(iT,n,i)},iO=function(e){return $(aN,ik,ri(e))},iH=function(e){var t=iO(e);return t.$||2!==t.a.$?av(\"Could not decode static image Url\"):n1(a_(t.a.a))},iV=function(e){switch(e.$){case 0:default:return e;case 1:var t=e.a;return i$({eR:t.eR,Y:t.Y})}},iB=function(e){var t=iO(e);return t.$?av(\"Could not decode image Url\"):2===t.a.$?n1(i$(t.a.a)):n1(iV(t.a))},iF=w(function(e,t){return $(ad,function(t){return H(t,e)},t)}),i_=\"http://iiif.io/api/image/2/context.json\",iN=function(e){if($(ah,i_,e))return 1;if($(ah,\"http://iiif.io/api/image/3/context.json\",e))return 2;switch(e){case\"AuthLogoutService1\":return 6;case\"AuthTokenService1\":return 5;case\"AutoCompleteService1\":return 4;case\"ImageService1\":return 0;case\"ImageService2\":return 1;case\"ImageService3\":return 2;case\"SearchService1\":return 3;default:return 7}},iz=al(q([$(ex,iN,$(ep,\"@type\",eg)),$(ex,iN,$(ep,\"type\",eg)),$(ex,function(e){return $(ah,\"http://library.stanford.edu/iiif/image-api/1.1/context.json\",e)||$(ah,\"http://iiif.io/api/image/1/context.json\",e)?0:$(ah,i_,e)?1:iN(e)},$(ep,\"@context\",eg))])),iG=$(ey,function(e){return $(iF,e,q([0,1,2]))?$(ep,\"@id\",eg):av(\"Not an Image API service\")},iz),iU=$(ey,function(e){return e.$?av(\"No Image API service ID found\"):iB(e.a)},$(ep,\"service\",al(q([$(ex,function(e){return aL($(an,n4,e))},ac(aR(iG))),$(ex,nr,iG)])))),iD=al(q([iU,$(ey,iH,$(ep,\"@id\",eg))])),iJ=function(e){return q([e])},iq=al(q([$(ep,\"service\",ac(eb)),$(ep,\"service\",$(ex,iJ,eb)),n1(U)])),iX=al(q([$(ep,\"service\",al(q([$(ex,an(n4),ac(aR(iz))),$(ex,iJ,iz)]))),n1(U)])),ij=function(e){return{$:8,b:e}},iW=w(function(e,t){return{$:0,a:e,b:t}}),iZ={$:1},iY=function(e){return\"none\"===e?iZ:rg(e)},iK=function(e){var t=e.a,n=e.b;return $(iW,iY(t),n)},iQ=$(ex,function(e){return R(nx,w(function(e,t){return $(J,iK(e),t)}),U,e)},ij(ac(eg))),i0={$:2},i1=$(ex,function(e){return q([$(iW,i0,q([e]))])},eg),i2=R(eC,w(function(e,t){return q([$(iW,iY(t),q([e]))])}),$(ep,\"@value\",eg),al(q([$(ep,\"@language\",eg),n1(\"none\")]))),i4=$(ex,aH,ac(i2)),i3=al(q([i2,i4,i1,iQ])),i6=$(aB,iq,$(aB,iX,$(aF,0,S(aM,\"label\",aR(i3),na,$(aB,iD,n1(aV)))))),i5=R(eC,J,$(ak,q([\"default\"]),i6),$(ak,q([\"item\"]),ac($(aB,iq,$(aB,iX,$(aF,1,S(aM,\"label\",aR(i3),na,$(aB,iD,n1(aV))))))))),i8=al(q([ac($(ak,q([\"resource\"]),i6)),$(ex,aH,ac($(ak,q([\"resource\"]),i5)))])),i7=function(e){return{$:0,a:e}},i9=al(q([$(ex,i7,$(ep,\"@id\",eg)),$(ex,i7,$(ep,\"id\",eg)),$(ex,i7,eg)])),oe=function(e){var t=aU(e);return a_({eR:t.dc,Y:t.du})},ot=function(e){var t=ri(e);return t.$?av(\"Could not decode static image Url\"):n1(oe(t.a))},on=al(q([iU,$(ey,ot,$(ep,\"@id\",eg))])),or=$(aB,iq,$(aB,iX,$(aF,0,S(aM,\"label\",aR(i3),na,$(aB,on,n1(aV)))))),oa=function(e){return{$:0,a:e}},oi=function(e){switch(e){case\"continuous\":return 2;case\"facing-pages\":return 6;case\"individuals\":return 1;case\"multi-part\":return 3;case\"non-paged\":return 4;case\"paged\":default:return 0;case\"top\":return 5}},oo=$(ex,function(e){return oa(oi(e))},eg),os=S(aM,\"otherContent\",ac(i9),U,S(aM,\"viewingHint\",aR(oo),na,S(aM,\"thumbnail\",aT(or),na,S(aM,\"images\",i8,U,S(aM,\"height\",aR(ef),na,S(aM,\"width\",aR(ef),na,S(aM,\"label\",aR(i3),na,R(aP,\"@id\",eg,n1(a$))))))))),ou=x(function(e,t,n,r){return{f7:e,aH:n,dX:t,d_:r}}),oc=function(e){return{$:0,a:e}},ol=function(e){return{$:1,a:e}},od=q([$(iW,i0,q([\"Homepage\"]))]),of=function(e){return $(ey,e,n1(0))},oh=w(function(e,t){return{dX:e,fG:t}}),ov=R(aP,\"value\",i3,R(aP,\"label\",i3,n1(oh)));function ob(){return S(aM,\"metadata\",ac(ov),U,$(aB,og(),S(aM,\"label\",i3,od,R(aP,\"@id\",eg,n1(ou)))))}function og(){return R(eC,w(function(e,t){return G($(rc,ol,e),$(rc,oc,t))}),al(q([$(ep,\"ranges\",ac(op())),n1(U)])),al(q([$(ep,\"canvases\",ac(eg)),n1(U)])))}function op(){return of(function(e){return ob()})}var om=ob();ob=function(){return om};var ow=og();og=function(){return ow};var oy=op();op=function(){return oy};var ox=x(function(e,t,n,r){return{f7:e,aH:r,dX:t,gR:n}}),oC=function(e){return{$:1,a:e}},oI=function(e){return{$:0,a:e}},oA=function(e){return function(t){return function(n){return function(r){return function(a){return function(i){return function(o){return function(s){return function(u){return function(c){return function(l){return function(d){return function(f){return{es:o,f6:u,f7:e,dX:t,ge:c,d_:n,ff:l,fh:s,fm:f,gR:a,gW:d,g1:r,g2:i}}}}}}}}}}}}}},oE=x(function(e,t,n,r){return{dR:n,f7:e,dX:t,g_:r}}),o$=function(e){return{$:1,a:e}},oR=function(e){return{$:1,a:e}},oS={$:0},oM=$(ex,function(e){return\"image/jpeg\"===e?oS:o$(e)},eg),oP={$:0},oL=$(ex,function(e){return\"Video\"===e?oP:oR(e)},eg),oT=S(aM,\"@type\",oL,oR(\"Text\"),S(aM,\"format\",oM,o$(\"text/html\"),S(aM,\"label\",i3,od,R(aP,\"@id\",eg,n1(oE))))),ok=al(q([ac(oT),$(ex,iJ,oT)])),oO=$(aF,na,S(aM,\"thumbnail\",aT(or),na,$(aF,na,$(aF,na,S(aM,\"rendering\",aR(ok),na,$(aF,na,$(aF,U,$(aF,oa(1),S(aM,\"description\",aR(i3),na,$(aF,0,$(aF,U,R(aP,\"label\",i3,R(aP,\"@id\",eg,n1(oA)))))))))))))),oH=function(e){switch(e){case\"sc:Collection\":return $(ex,oI,of(function(e){return oV()}));case\"sc:Manifest\":return $(ex,oC,oO);default:return av(\"Unknown collection item type: \"+e)}};function oV(){return $(aB,oB(),S(aM,\"description\",aR(i3),na,R(aP,\"label\",i3,R(aP,\"@id\",eg,n1(ox)))))}function oB(){return al(q([$(ep,\"members\",ac(oF())),R(eC,w(function(e,t){return G(e,t)}),al(q([$(ep,\"collections\",ac($(ex,oI,of(function(e){return oV()})))),n1(U)])),al(q([$(ep,\"manifests\",ac($(ex,oC,oO))),n1(U)])))]))}function oF(){return $(ey,oH,$(ep,\"@type\",eg))}var o_=oV();oV=function(){return o_};var oN=oB();oB=function(){return oN};var oz=oF();oF=function(){return oz};var oG=R(aP,\"value\",iQ,R(aP,\"label\",iQ,n1(oh))),oU=al(q([$(ex,function(e){return{dX:q([$(iW,i0,q([\"Attribution\"]))]),fG:q([$(iW,i0,q([e]))])}},eg),oG,ov])),oD=$(em,0,$(ak,q([\"canvases\"]),ac(os))),oJ=$(ex,function(e){switch(e){case\"bottom-to-top\":return 3;case\"left-to-right\":default:return 0;case\"right-to-left\":return 1;case\"top-to-bottom\":return 2}},eg),oq=S(aM,\"attribution\",aR(oU),na,S(aM,\"thumbnail\",aT(or),na,$(aF,na,S(aM,\"logo\",aR(i6),na,S(aM,\"rendering\",aR(ok),na,S(aM,\"structures\",aR(ac(oy)),na,R(aP,\"sequences\",oD,S(aM,\"viewingHint\",oo,oa(1),S(aM,\"description\",aR(i3),na,S(aM,\"viewingDirection\",oJ,0,S(aM,\"metadata\",ac(ov),U,R(aP,\"label\",i3,R(aP,\"@id\",eg,n1(oA)))))))))))))),oX=$(ey,function(e){switch(e){case\"sc:Canvas\":return $(ex,$(aE,ax,ap(1)),os);case\"sc:Collection\":return $(ex,$(aE,aC,am(1)),o_);case\"sc:Manifest\":return $(ex,$(aE,aI,aw(1)),oq);case\"sc:Range\":return $(ex,$(aE,aA,ay(1)),oy);default:return av(\"Unknown IIIF v2 resource type: \"+e)}},$(ep,\"@type\",eg)),oj=function(e){return{$:1,a:e}},oW=$(ex,oj,ac($(ex,function(e){switch(e){case\"auto-advance\":return 0;case\"continuous\":return 6;case\"facing-pages\":return 8;case\"hidden\":return 15;case\"individuals\":return 5;case\"multi-part\":return 10;case\"no-auto-advance\":return 1;case\"no-nav\":return 14;case\"no-repeat\":return 3;case\"non-paged\":return 9;case\"paged\":default:return 7;case\"repeat\":return 2;case\"sequence\":return 12;case\"thumbnail-nav\":return 13;case\"together\":return 11;case\"unordered\":return 4}},eg))),oZ=w(function(e,t){for(;;)if(!t.b)return na;else{var n=t.a,r=t.b;if(e(n))return nr(n);t=r;continue}}),oY=w(function(e,t){return{f7:e,gL:t}}),oK=$(ex,iN,al(q([$(ep,\"@type\",eg),$(ep,\"type\",eg)]))),oQ=$(aB,oK,$(aB,al(q([$(ep,\"id\",eg),$(ep,\"@id\",eg)])),n1(oY))),o0=al(q([ac(oQ),$(ex,iJ,oQ)])),o1=$(ey,function(e){var t=$(az,function(e){return e.f7},$(oZ,function(e){return $(iF,e.gL,q([0,1,2]))},e));return t.$?av(\"No valid service ID found in service array\"):$(ex,iV,iB(t.a))},$(ep,\"service\",o0)),o2=al(q([o1,$(ey,iH,$(ep,\"id\",eg))])),o4=al(q([iQ,i1])),o3=al(q([ac(eb),$(ex,iJ,eb)])),o6=al(q([ac(oK),$(ex,iJ,oK)])),o5=function(e){return S(aM,\"service\",o3,U,S(aM,\"service\",o6,U,$(aF,e,S(aM,\"label\",aR(o4),na,$(aB,o2,n1(aV))))))},o8=$(ak,q([\"body\",\"items\"]),ac(o5(1))),o7=$(ex,iJ,$(ep,\"body\",o5(0))),o9=$(ey,function(e){return\"Choice\"===e?o8:o7},$(ak,q([\"body\",\"type\"]),eg)),se=$(ak,q([\"items\"]),$(em,0,o9)),st=al(q([$(ex,function(e){return{$:1,a:e}},$(ep,\"items\",eb)),$(ex,i7,$(ep,\"id\",eg))])),sn=al(q([o1,$(ey,ot,$(ep,\"id\",eg))])),sr=S(aM,\"service\",o3,U,S(aM,\"service\",o6,U,$(aF,0,S(aM,\"label\",aR(o4),na,$(aB,sn,n1(aV)))))),sa=S(aM,\"annotations\",ac(st),U,S(aM,\"behavior\",aR(oW),na,S(aM,\"thumbnail\",aT(sr),na,R(aP,\"items\",$(em,0,se),R(aP,\"height\",aR(ef),R(aP,\"width\",aR(ef),S(aM,\"label\",aR(iQ),na,R(aP,\"id\",eg,n1(a$))))))))),si=q([$(iW,i0,q([\"Homepage\"]))]),so=function(e){switch(e){case\"Canvas\":return $(ex,oc,$(ep,\"id\",eg));case\"Range\":return $(ex,ol,ss());default:return av(\"Unsupported range item type\")}};function ss(){return S(aM,\"metadata\",ac(oG),U,S(aM,\"items\",ac(su()),U,S(aM,\"label\",iQ,si,R(aP,\"id\",eg,n1(ou)))))}function su(){return $(ey,so,$(ep,\"type\",eg))}var sc=ss();ss=function(){return sc};var sl=su();su=function(){return sl};var sd=function(e){return!e.b},sf=S(aM,\"type\",oL,oR(\"Text\"),S(aM,\"format\",oM,o$(\"text/html\"),S(aM,\"label\",iQ,si,R(aP,\"id\",eg,n1(oE))))),sh=$(aF,na,S(aM,\"thumbnail\",aT(sr),na,$(aF,na,$(aF,na,S(aM,\"homepage\",aR(ac(sf)),na,$(aF,na,$(aF,U,$(aF,oj(q([5])),S(aM,\"summary\",aR(iQ),na,$(aF,0,$(aF,U,R(aP,\"label\",o4,R(aP,\"id\",eg,n1(oA)))))))))))))),sv=function(e){switch(e){case\"Collection\":return $(ex,oI,of(function(e){return sb()}));case\"Manifest\":return $(ex,oC,sh);default:return av(\"Unknown collection item type: \"+e)}};function sb(){return $(aB,sg(),S(aM,\"summary\",aR(iQ),na,R(aP,\"label\",o4,R(aP,\"id\",eg,n1(ox)))))}function sg(){return S(eI,y(function(e,t,n){return sd(e)?G(t,n):G(e,G(t,n))}),al(q([$(ep,\"items\",ac(sp())),n1(U)])),al(q([$(ep,\"collections\",ac($(ex,oI,of(function(e){return sb()})))),n1(U)])),al(q([$(ep,\"manifests\",ac($(ex,oC,sh))),n1(U)])))}function sp(){return $(ey,sv,$(ep,\"type\",eg))}var sm=sb();sb=function(){return sm};var sw=sg();sg=function(){return sw};var sy=sp();sp=function(){return sy};var sx=I(function(e,t,n,r,a,i){return{f6:r,f7:e,dX:t,ge:a,gH:i,g_:n}}),sC=A(function(e,t,n,r,a,i,o){return{dR:n,dU:i,f7:e,dX:t,ft:o,g_:r,dI:a}}),sI=q([$(iW,i0,q([\"Logo\"]))]),sA=S(aM,\"service\",aR(o0),na,S(aM,\"height\",ef,0,S(aM,\"width\",ef,0,S(aM,\"type\",oL,oR(\"Image\"),S(aM,\"format\",oM,o$(\"image/png\"),S(aM,\"label\",iQ,sI,R(aP,\"id\",eg,n1(sC)))))))),sE=S(aM,\"seeAlso\",aR(ac(R(aP,\"type_\",oL,R(aP,\"format\",oM,R(aP,\"label\",o4,R(aP,\"id\",eg,n1(x(function(e,t,n,r){return{dR:n,f7:e,dX:t,g_:r}})))))))),na,S(aM,\"logo\",aR(ac(sA)),na,S(aM,\"homepage\",aR(ac(sf)),na,R(aP,\"type\",oL,R(aP,\"label\",iQ,R(aP,\"id\",eg,n1(sx))))))),s$=S(aM,\"requiredStatement\",aR(oG),na,S(aM,\"thumbnail\",aT(sr),na,S(aM,\"provider\",aR(ac(sE)),na,S(aM,\"logo\",aR(o5(0)),na,S(aM,\"homepage\",aR(ac(sf)),na,S(aM,\"structures\",aR(ac(sc)),na,R(aP,\"items\",ac(sa),S(aM,\"behavior\",oW,oj(q([5])),S(aM,\"summary\",aR(iQ),na,S(aM,\"viewingDirection\",oJ,0,S(aM,\"metadata\",ac(oG),U,R(aP,\"label\",o4,R(aP,\"id\",eg,n1(oA)))))))))))))),sR=$(ey,function(e){switch(e){case\"Canvas\":return $(ex,$(aE,ax,ap(2)),sa);case\"Collection\":return $(ex,$(aE,aC,am(2)),sm);case\"Manifest\":return $(ex,$(aE,aI,aw(2)),s$);case\"Range\":return $(ex,$(aE,aA,ay(2)),sc);default:return av(\"Unknown IIIF v3 resource type: \"+e)}},$(ep,\"type\",eg)),sS=al(q([$(ey,function(e){return $(ah,ag,e)?sR:$(ah,ab,e)?oX:av(\"Unknown resource context value: \"+e)},$(ep,\"@context\",eg)),$(ey,function(e){return $(ad,ah(ag),e)?sR:$(ad,ah(ab),e)?oX:av(\"Context values contain an unknown IIIF version: \"+$(nm,\", \",e))},$(ep,\"@context\",ac(eg)))])),sM=y(function(e,t,n){return R(au,t,$(r2,e,sS),n)}),sP={aN:!1,bm:10,bn:15,aO:0,bo:!1,aP:0,az:!1,aQ:8,aR:0,bp:!1,aS:0,bq:!1,aT:0,br:!1,aU:0,aA:!1,aV:8,aW:0,bs:!1,aX:0,bt:!1,aY:0,bu:!1,aZ:0,aB:!1,a_:8,a$:0,bv:!1,a0:0,bw:!1,bx:0,cj:!1,by:0,ck:!1,bz:0,cl:!1,bA:0,cm:!1,bB:1,N:!1,cp:!1,bC:\"#ffffff\",bD:\"#ffffff\",bE:24,bF:128,a4:!1,bG:\"gray\",bH:1,cq:!1,cr:!1,bI:\"sharpen\",cv:!1,bO:1,cw:!1,a7:!1,cz:!1,bP:0,cB:!1,cH:!1,bb:!1,bT:3,bU:\"erode\",cN:!1,bV:1,bW:0,bX:\"pca-rgb\",bY:1,ae:!1,bZ:1,b_:\"rg\",b$:1,bg:0,b1:0,cW:!1,b8:128,c1:!1,ca:1,c6:!1,cc:0,c8:!1},sL=function(e){switch(e){case\"contents\":return 3;case\"metadata\":return 2;default:return 1}},sT=function(e){return{$:5,c:e}},sk=function(e){return{$:0,a:e}},sO=function(e){return{$:1,a:e}},sH=function(e){return{$:3,a:e}},sV=function(e){return{$:4,a:e}},sB=function(e){return{$:5,a:e}},sF=function(e){return{$:1,a:e}},s_=w(function(e,t){return{$:2,a:e,b:t}}),sN={$:14},sz=w(function(e,t){return{$:3,a:e,b:t}}),sG=y(function(e,t,n){return{$:2,a:e,b:t,c:n}}),sU=w(function(e,t){return{$:0,a:e,b:t}}),sD=y(function(e,t,n){return{$:4,a:e,b:t,c:n}}),sJ=w(function(e,t){return{$:9,a:e,b:t}}),sq=y(function(e,t,n){return{$:8,a:e,b:t,c:n}}),sX=function(e){return{$:12,a:e}},sj=function(e){return{$:28,a:e}},sW=function(e){return{$:29,a:e}},sZ={$:30},sY={$:31},sK=function(e){return{$:57,a:e}},sQ=function(e){return{$:55,a:e}},s0=e8(\"authDestroyed\",sT(0)),s1=e8(\"authHttpFailed\",$(ey,function(e){return $(ey,function(t){return n1({f7:t,ac:e})},$(ep,\"id\",eg))},$(ep,\"message\",eg))),s2=e8(\"authHttpResponded\",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({eq:n,f7:t,dE:e})},$(ep,\"body\",eg))},$(ep,\"id\",eg))},$(ep,\"status\",ef))),s4=e8(\"authLogoutChanged\",$(ey,function(e){return $(ey,function(t){return n1({fu:t,dE:e})},$(ep,\"sessionId\",eg))},$(ep,\"status\",eg))),s3=e8(\"authPopupChanged\",$(ey,function(e){return $(ey,function(t){return n1({dl:t,dE:e})},$(ep,\"flowId\",eg))},$(ep,\"status\",eg))),s6=e8(\"authStorageResponded\",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({dl:n,dr:t,fG:e})},$(ep,\"flowId\",eg))},$(ep,\"now\",ev))},$(ep,\"value\",al(q([sT(na),$(ex,nr,eb)]))))),s5=e8(\"authTokenFailed\",$(ey,function(e){return $(ey,function(t){return n1({dl:t,ac:e})},$(ep,\"flowId\",eg))},$(ep,\"message\",eg))),s8=e8(\"authTokenMessage\",$(ey,function(e){return $(ey,function(t){return $(ey,function(n){return n1({dl:n,dr:t,fG:e})},$(ep,\"flowId\",eg))},$(ep,\"now\",ev))},$(ep,\"value\",eb))),s7=e8(\"fullscreenChanged\",eh),s9=e8(\"layoutModeRequested\",eg),ue={$:12},ut=function(e){return sk(function(){switch(e.dE){case\"closed\":return ue;case\"opened\":return{$:10,a:e.fu};default:return{$:11,a:e.fu}}}())},un=eQ(U),ur=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),ua=w(function(e,t){return{e9:t,fB:e}}),ui=eH($(ua,U,rI)),uo=function(e){return{a:G(e.a?\"w_\":\"d_\",e.b),b:e}},us=function(e){return R(nx,w(function(e,t){return R(r_,e.a,e.b,t)}),rI,e)},uu=y(function(e,t,n){for(;;)if(-2===n.$)return t;else{var r=n.b,a=n.c,i=n.d,o=n.e,s=e,u=R(e,r,a,R(uu,e,t,i));e=s,t=u,n=o;continue}}),uc=I(function(e,t,n,r,a,i){var o=y(function(r,a,i){for(;;){var o=i.a,s=i.b;if(o.b){var u=o.a,c=u.a,l=u.b,d=o.b;if(0>_(c,r)){var f=r,h=a,v={a:d,b:R(e,c,l,s)};r=f,a=h,i=v;continue}if(_(c,r)>0)return{a:o,b:R(n,r,a,s)};return{a:d,b:S(t,c,l,a,s)}}return{a:o,b:R(n,r,a,s)}}}),s=R(uu,o,{a:no(r),b:i},a),u=s.a,c=s.b;return R(nx,w(function(t,n){return R(e,t.a,t.b,n)}),c,u)}),ul=w(function(e,t){return{eF:t,ak:e}}),ud=y(function(e,t,n){return $(rl,function(e){return{a:t,b:e}},R(t2,n.a?t1:t0,n.b,function(n){return $(rO,e,$(ul,t,n))}))}),uf=w(function(e,t){return R(uu,r_,t,e)}),uh=y(function(e,t,n){var r=y(function(t,n,r){var a=r.a,i=r.b,o=r.c;return{a:a,b:i,c:$(J,R(ud,e,t,n),o)}}),a=y(function(e,t,n){var r,a=n.a,i=n.b,o=n.c;return r=$(J,t,a),{a:r,b:i,c:o}}),i=x(function(e,t,n,r){var a=r.a,i=r.b,o=r.c;return{a:a,b:R(r_,e,t,i),c:o}}),o=$(rc,uo,t),s=P(uc,a,i,r,n.e9,us(o),{a:U,b:rI,c:U}),u=s.a,c=s.b,l=s.c;return $(eB,function(e){return eH($(ua,o,$(uf,c,us(e))))},$(eB,function(e){return rf(l)},rf($(rc,r7,u))))}),uv=y(function(e,t,n){var r=t.ak,a=t.eF,i=$(an,function(e){var t=e.a,n=e.b;n.a,n.b;var i=n.c;return H(t,r)?$(t4,i,a):na},n.fB);return $(eB,function(e){return eH(n)},rf($(rc,eZ(e),i)))}),ub=w(function(e,t){return R(ur,t.a,t.b,$(ex,e,t.c))});ej[\"Browser.Events\"]=eW(ui,uh,uv,0,ub);var ug=eK(\"Browser.Events\"),up=y(function(e,t,n){return ug(R(ur,e,t,n))}),um=$(up,0,\"mousemove\"),uw=$(up,0,\"mouseup\"),uy=e8(\"pageIndexChanged\",ef),ux=e8(\"pageIndexChangedInstant\",ef),uC=function(e){return sk(function(){switch(e.dE){case\"closed\":return{$:7,a:e.dl};case\"opened\":return{$:5,a:e.dl};default:return{$:6,a:e.dl}}}())},uI=e8(\"resolveTileSourceCancelled\",eg),uA=e8(\"resolveTileSourceRequested\",$(ey,function(e){return $(ey,function(t){return n1({fl:t,b7:e})},$(ep,\"requestId\",eg))},$(ep,\"sourceId\",eg))),uE=e8(\"resourceRequested\",$(ey,function(e){return $(ey,function(t){return n1({fl:t,aM:e})},$(ep,\"requestId\",eg))},$(ep,\"url\",eg))),u$=e8(\"viewerLoadingChanged\",eh),uR=e8(\"viewerPageLoaded\",ef),uS=e8(\"zoomChanged\",ev),uM={$:0},uP=function(e){return{$:2,a:e}},uL=function(e){return{$:1,a:e}},uT=w(function(e,t){return{$:7,a:e,b:t}}),uk=w(function(e,t){return{$:8,a:e,b:t}}),uO=y(function(e,t,n){return{$:10,a:e,b:t,c:n}}),uH=w(function(e,t){for(;;)if(!t.b)return na;else{var n=t.a,r=t.b;if(e(n))return nr(n);t=r;continue}}),uV=function(e){var t=$(uH,function(e){return e.bR},e.cF);return t.$?aL(e.cF):nr(t.a)},uB=function(e){return!e},uF=function(e){return 1===e.$&&!sd(e.a.cS)},u_=w(function(e,t){return $(aN,function(e){return e.aG||uF(e.dh)?na:nr(e.b9)},$(aN,uV,aL($(iR,function(t){return H(t.M,e)},t.ap))))}),uN=w(function(e,t){return R(nx,w(function(t,n){return n.push(e(t)),n}),[],t)}),uz=function(e){return R(nx,w(function(e,t){return R(eO,e.a,e.b,t)}),{},e)},uG=e3(\"annotationsUpdated\",function(e){return uz(q([{a:\"annotations\",b:uN(n4)(e.de)},{a:\"canvasId\",b:ek(e.M)}]))}),uU=e3(\"annotationsVisibilityUpdated\",ek),uD=y(function(e,t,n){switch(e){case 0:return z(n,{aN:t});case 1:return z(n,{bo:t});case 2:return z(n,{az:t});case 3:return z(n,{bp:t});case 4:return z(n,{bq:t});case 5:return z(n,{br:t});case 6:return z(n,{aA:t});case 7:return z(n,{bs:t});case 8:return z(n,{bt:t});case 9:return z(n,{bu:t});case 10:return z(n,{aB:t});case 11:return z(n,{bv:t});case 12:return z(n,{bw:t});case 13:return z(n,{cj:t});case 14:return z(n,{ck:t});case 15:return z(n,{cl:t});case 16:return z(n,{cm:t});case 17:return z(n,{a4:t});case 18:return z(n,{N:t});case 19:return z(n,{cp:t});case 20:return z(n,{cq:t});case 21:return z(n,{cr:t});case 22:return z(n,{cv:t});case 23:return z(n,{cw:t});case 24:return z(n,{a7:t});case 25:return z(n,{cz:t});case 26:return z(n,{cB:t});case 27:return z(n,{cH:t});case 28:return z(n,{bb:t});case 29:return z(n,{cN:t});case 30:return z(n,{ae:t});case 31:return z(n,{cW:t});case 32:return z(n,{c1:t});case 33:return z(n,{c6:t});default:return z(n,{c8:t})}}),uJ=function(e){switch(e){case 0:return{b:function(e){return e.bB},f:1,g:0,c:w(function(e,t){return z(t,{bB:e})})};case 1:return{b:function(e){return e.bH},f:4,g:0,c:w(function(e,t){return z(t,{bH:e})})};case 2:return{b:function(e){return e.bO},f:4,g:.1,c:w(function(e,t){return z(t,{bO:e})})};case 3:return{b:function(e){return e.bV},f:2,g:0,c:w(function(e,t){return z(t,{bV:e})})};case 4:return{b:function(e){return e.bY},f:2,g:0,c:w(function(e,t){return z(t,{bY:e})})};case 5:return{b:function(e){return e.bZ},f:2,g:0,c:w(function(e,t){return z(t,{bZ:e})})};case 6:return{b:function(e){return e.b$},f:2,g:0,c:w(function(e,t){return z(t,{b$:e})})};default:return{b:function(e){return e.ca},f:3,g:0,c:w(function(e,t){return z(t,{ca:e})})}}},uq=y(function(e,t,n){var r=aQ(t),a=uJ(e),i=$(aG,a.b(n),$(az,$(rx,a.g,a.f),r));return $(a.c,i,n)}),uX=function(e){return $(W,2,e)?e:e+1},uj=function(e){return 3===e||5===e||7===e?e:3},uW=function(e){switch(e){case 0:return{b:function(e){return e.bm},f:50,g:-50,c:w(function(e,t){return z(t,{bm:e})}),i:na};case 1:return{b:function(e){return e.bn},f:51,g:3,c:w(function(e,t){return z(t,{bn:e})}),i:nr(uX)};case 2:return{b:function(e){return e.aY},f:100,g:0,c:w(function(e,t){return z(t,{aY:e})}),i:na};case 3:return{b:function(e){return e.a$},f:100,g:0,c:w(function(e,t){return z(t,{a$:e})}),i:na};case 4:return{b:function(e){return e.a0},f:100,g:0,c:w(function(e,t){return z(t,{a0:e})}),i:na};case 5:return{b:function(e){return e.aZ},f:100,g:-100,c:w(function(e,t){return z(t,{aZ:e})}),i:na};case 6:return{b:function(e){return e.a_},f:30,g:2,c:w(function(e,t){return z(t,{a_:e})}),i:na};case 7:return{b:function(e){return e.aT},f:100,g:0,c:w(function(e,t){return z(t,{aT:e})}),i:na};case 8:return{b:function(e){return e.aW},f:100,g:0,c:w(function(e,t){return z(t,{aW:e})}),i:na};case 9:return{b:function(e){return e.aU},f:100,g:-100,c:w(function(e,t){return z(t,{aU:e})}),i:na};case 10:return{b:function(e){return e.aV},f:30,g:2,c:w(function(e,t){return z(t,{aV:e})}),i:na};case 11:return{b:function(e){return e.aX},f:100,g:0,c:w(function(e,t){return z(t,{aX:e})}),i:na};case 12:return{b:function(e){return e.aO},f:100,g:0,c:w(function(e,t){return z(t,{aO:e})}),i:na};case 13:return{b:function(e){return e.aR},f:100,g:0,c:w(function(e,t){return z(t,{aR:e})}),i:na};case 14:return{b:function(e){return e.aP},f:100,g:-100,c:w(function(e,t){return z(t,{aP:e})}),i:na};case 15:return{b:function(e){return e.aQ},f:30,g:2,c:w(function(e,t){return z(t,{aQ:e})}),i:na};case 16:return{b:function(e){return e.aS},f:100,g:0,c:w(function(e,t){return z(t,{aS:e})}),i:na};case 17:return{b:function(e){return e.bx},f:255,g:-255,c:w(function(e,t){return z(t,{bx:e})}),i:na};case 18:return{b:function(e){return e.by},f:100,g:-100,c:w(function(e,t){return z(t,{by:e})}),i:na};case 19:return{b:function(e){return e.bz},f:100,g:-100,c:w(function(e,t){return z(t,{bz:e})}),i:na};case 20:return{b:function(e){return e.bA},f:100,g:-100,c:w(function(e,t){return z(t,{bA:e})}),i:na};case 21:return{b:function(e){return e.bF},f:255,g:0,c:w(function(e,t){return z(t,{bF:e})}),i:na};case 22:return{b:function(e){return e.bE},f:255,g:0,c:w(function(e,t){return z(t,{bE:e})}),i:na};case 23:return{b:function(e){return e.bW},f:180,g:-180,c:w(function(e,t){return z(t,{bW:e})}),i:na};case 24:return{b:function(e){return e.bP},f:100,g:-100,c:w(function(e,t){return z(t,{bP:e})}),i:na};case 25:return{b:function(e){return e.bT},f:7,g:3,c:w(function(e,t){return z(t,{bT:e})}),i:nr(uj)};case 26:return{b:function(e){return e.bg},f:180,g:-180,c:w(function(e,t){return z(t,{bg:e})}),i:na};case 27:return{b:function(e){return e.b1},f:100,g:-100,c:w(function(e,t){return z(t,{b1:e})}),i:na};case 28:return{b:function(e){return e.b8},f:255,g:0,c:w(function(e,t){return z(t,{b8:e})}),i:na};default:return{b:function(e){return e.cc},f:100,g:-100,c:w(function(e,t){return z(t,{cc:e})}),i:na}}},uZ=y(function(e,t,n){var r=re(t),a=uW(e),i=function(){if(r.$)return a.b(n);var e=r.a,t=R(rx,a.g,a.f,e),i=a.i;return i.$?t:(0,i.a)(t)}();return $(a.c,i,n)}),uY=w(function(e,t){return e}),uK=function(e){switch(e){case 0:return{b:function(e){return e.bG},c:w(function(e,t){return z(t,{bG:e})}),i:function(e){return $(iF,e,q([\"gray\",\"hot\",\"cool\"]))}};case 1:return{b:function(e){return e.bC},c:w(function(e,t){return z(t,{bC:e})}),i:uY(!0)};case 2:return{b:function(e){return e.bD},c:w(function(e,t){return z(t,{bD:e})}),i:uY(!0)};case 3:return{b:function(e){return e.bI},c:w(function(e,t){return z(t,{bI:e})}),i:function(e){return $(iF,e,q([\"sharpen\",\"blur\",\"edge\",\"emboss\"]))}};case 4:return{b:function(e){return e.bX},c:w(function(e,t){return z(t,{bX:e})}),i:function(e){return $(iF,e,q([\"pca-rgb\",\"pca1\",\"pca2\",\"pca3\"]))}};case 5:return{b:function(e){return e.bU},c:w(function(e,t){return z(t,{bU:e})}),i:function(e){return\"erode\"===e||\"dilate\"===e}};default:return{b:function(e){return e.b_},c:w(function(e,t){return z(t,{b_:e})}),i:function(e){return $(iF,e,q([\"rg\",\"gb\",\"rb\",\"luma\",\"cmy\",\"heat\"]))}}}},uQ=y(function(e,t,n){var r=uK(e),a=r.i(t)?t:r.b(n);return $(r.c,a,n)}),u0=y(function(e,t,n){return n.$?e:t(n.a)}),u1=e3(\"filterPreviewUpdated\",function(e){return R(u0,null,function(e){var t;return uz(q([{a:\"aspect\",b:ek(e.dg)},{a:\"filters\",b:uz(q([{a:\"adaptiveEnabled\",b:ek((t=e.eJ).aN)},{a:\"adaptiveOffset\",b:ek(t.bm)},{a:\"adaptiveWindow\",b:ek(t.bn)},{a:\"altBlueGamma\",b:ek(t.aO)},{a:\"altBlueGammaEnabled\",b:ek(t.bo)},{a:\"altBlueHue\",b:ek(t.aP)},{a:\"altBlueHueEnabled\",b:ek(t.az)},{a:\"altBlueHueWindow\",b:ek(t.aQ)},{a:\"altBlueSigmoid\",b:ek(t.aR)},{a:\"altBlueSigmoidEnabled\",b:ek(t.bp)},{a:\"altBlueVibrance\",b:ek(t.aS)},{a:\"altBlueVibranceEnabled\",b:ek(t.bq)},{a:\"altGreenGamma\",b:ek(t.aT)},{a:\"altGreenGammaEnabled\",b:ek(t.br)},{a:\"altGreenHue\",b:ek(t.aU)},{a:\"altGreenHueEnabled\",b:ek(t.aA)},{a:\"altGreenHueWindow\",b:ek(t.aV)},{a:\"altGreenSigmoid\",b:ek(t.aW)},{a:\"altGreenSigmoidEnabled\",b:ek(t.bs)},{a:\"altGreenVibrance\",b:ek(t.aX)},{a:\"altGreenVibranceEnabled\",b:ek(t.bt)},{a:\"altRedGamma\",b:ek(t.aY)},{a:\"altRedGammaEnabled\",b:ek(t.bu)},{a:\"altRedHue\",b:ek(t.aZ)},{a:\"altRedHueEnabled\",b:ek(t.aB)},{a:\"altRedHueWindow\",b:ek(t.a_)},{a:\"altRedSigmoid\",b:ek(t.a$)},{a:\"altRedSigmoidEnabled\",b:ek(t.bv)},{a:\"altRedVibrance\",b:ek(t.a0)},{a:\"altRedVibranceEnabled\",b:ek(t.bw)},{a:\"brightness\",b:ek(t.bx)},{a:\"brightnessEnabled\",b:ek(t.cj)},{a:\"ccBlue\",b:ek(t.by)},{a:\"ccBlueEnabled\",b:ek(t.ck)},{a:\"ccGreen\",b:ek(t.bz)},{a:\"ccGreenEnabled\",b:ek(t.cl)},{a:\"ccRed\",b:ek(t.bA)},{a:\"ccRedEnabled\",b:ek(t.cm)},{a:\"colourReplaceBlend\",b:ek(t.bB)},{a:\"colourReplaceEnabled\",b:ek(t.N)},{a:\"colourReplacePreserveLum\",b:ek(t.cp)},{a:\"colourReplaceSource\",b:ek(t.bC)},{a:\"colourReplaceTarget\",b:ek(t.bD)},{a:\"colourReplaceTolerance\",b:ek(t.bE)},{a:\"colourmapCenter\",b:ek(t.bF)},{a:\"colourmapEnabled\",b:ek(t.a4)},{a:\"colourmapPreset\",b:ek(t.bG)},{a:\"contrast\",b:ek(t.bH)},{a:\"contrastEnabled\",b:ek(t.cq)},{a:\"convolutionEnabled\",b:ek(t.cr)},{a:\"convolutionPreset\",b:ek(t.bI)},{a:\"flip\",b:ek(t.cv)},{a:\"gamma\",b:ek(t.bO)},{a:\"gammaEnabled\",b:ek(t.cw)},{a:\"globalPcaEnabled\",b:ek(t.a7)},{a:\"grayscale\",b:ek(t.cz)},{a:\"hue\",b:ek(t.bP)},{a:\"hueEnabled\",b:ek(t.cB)},{a:\"invert\",b:ek(t.cH)},{a:\"morphEnabled\",b:ek(t.bb)},{a:\"morphKernel\",b:ek(t.bT)},{a:\"morphOperation\",b:ek(t.bU)},{a:\"normalizeEnabled\",b:ek(t.cN)},{a:\"normalizeStrength\",b:ek(t.bV)},{a:\"pcaHue\",b:ek(t.bW)},{a:\"pcaMode\",b:ek(t.bX)},{a:\"pseudoColourBlue\",b:ek(t.bY)},{a:\"pseudoColourEnabled\",b:ek(t.ae)},{a:\"pseudoColourGreen\",b:ek(t.bZ)},{a:\"pseudoColourMode\",b:ek(t.b_)},{a:\"pseudoColourRed\",b:ek(t.b$)},{a:\"rotation\",b:ek(t.bg)},{a:\"saturation\",b:ek(t.b1)},{a:\"saturationEnabled\",b:ek(t.cW)},{a:\"threshold\",b:ek(t.b8)},{a:\"thresholdEnabled\",b:ek(t.c1)},{a:\"unsharpAmount\",b:ek(t.ca)},{a:\"unsharpEnabled\",b:ek(t.c6)},{a:\"vibrance\",b:ek(t.cc)},{a:\"vibranceEnabled\",b:ek(t.c8)}]))},{a:\"isStatic\",b:ek(e.aG)},{a:\"sourceId\",b:ek(e.b7)},{a:\"tileSource\",b:ek(e.b9)}]))},e)}),u2=e3(\"pageAspectsUpdated\",uN(ek)),u4=e3(\"pageLabelsUpdated\",uN(ek)),u3=e3(\"pagesUpdated\",uN(function(e){var t;return uz(q([{a:\"canvasId\",b:ek(e.M)},{a:\"height\",b:R(u0,null,ek,e.dU)},{a:\"images\",b:uN(function(e){return uz(q([{a:\"id\",b:ek(e.f7)},{a:\"isPrimary\",b:ek(e.bR)},{a:\"label\",b:ek(e.dX)}]))})(e.cF)},{a:\"index\",b:ek(e.eU)},{a:\"label\",b:ek(e.dX)},{a:\"primaryImage\",b:uz(q([{a:\"id\",b:ek((t=e.fb).f7)},{a:\"isPrimary\",b:ek(t.bR)},{a:\"label\",b:ek(t.dX)}]))},{a:\"width\",b:R(u0,null,ek,e.dI)}]))})),u6=e3(\"tileSourcesUpdated\",function(e){return uz(q([{a:\"initialPageIndex\",b:ek(e.dV)},{a:\"resourceId\",b:ek(e.d8)},{a:\"tileSources\",b:uN(function(e){return uz(q([{a:\"canvasId\",b:ek(e.M)},{a:\"isStatic\",b:ek(e.aG)},{a:\"sourceId\",b:ek(e.b7)},{a:\"url\",b:ek(e.aM)}]))})(e.ei)}]))}),u5=function(e){return eQ(q([u6({dV:0,d8:e,ei:U}),u3(U),u2(U),u4(U),u1(na),uG({de:U,M:\"\"})]))},u8=e3(\"copyToClipboard\",ek),u7=y(function(e,t,n){return e.$?n:$(t,e.a,n)}),u9=function(e){return e.$?na:nr(e.a)},ce=y(function(e,t,n){return $(aN,function(t){return u9($(e$,e,t))},$(rH,t,n))}),ct=w(function(e,t){return R(ce,eh,e,t)}),cn=w(function(e,t){return R(ce,al(q([ev,$(ex,nG,ef)])),e,t)}),cr=w(function(e,t){return R(ce,ef,e,t)}),ca=w(function(e,t){return R(ce,eg,e,t)}),ci=function(e){var t=$(cr,\"vibrance\",e),n=$(cn,\"unsharpAmount\",e),r=$(cr,\"threshold\",e),a=$(cr,\"saturation\",e),i=$(cr,\"rotation\",e),o=$(cn,\"pseudoColourRed\",e),s=$(ca,\"pseudoColourMode\",e),u=$(cn,\"pseudoColourGreen\",e),c=$(cn,\"pseudoColourBlue\",e),l=$(ca,\"pcaMode\",e),d=$(cr,\"pcaHue\",e),f=$(cn,\"normalizeStrength\",e),h=$(ca,\"morphOperation\",e),v=$(cr,\"morphKernel\",e),b=$(ct,\"invert\",e),g=$(cr,\"hue\",e),p=$(ct,\"grayscale\",e),m=$(cn,\"gamma\",e),y=$(ct,\"flip\",e),x=$(ca,\"convolutionPreset\",e),C=$(cn,\"contrast\",e),I=$(ca,\"colourmapPreset\",e),A=$(cr,\"colourmapCenter\",e),E=$(cr,\"colourReplaceTolerance\",e),S=$(ca,\"colourReplaceTarget\",e),M=$(ca,\"colourReplaceSource\",e),P=$(ct,\"colourReplacePreserveLum\",e),L=$(cn,\"colourReplaceBlend\",e),T=$(cr,\"ccRed\",e),k=$(cr,\"ccGreen\",e),O=$(cr,\"ccBlue\",e),H=$(cr,\"brightness\",e),V=$(cr,\"altRedVibrance\",e),B=$(cr,\"altRedSigmoid\",e),F=$(cr,\"altRedHueWindow\",e),_=$(cr,\"altRedHue\",e),N=$(cr,\"altRedGamma\",e),G=$(cr,\"altGreenVibrance\",e),U=$(cr,\"altGreenSigmoid\",e),D=$(cr,\"altGreenHueWindow\",e),J=$(cr,\"altGreenHue\",e),q=$(cr,\"altGreenGamma\",e),X=$(cr,\"altBlueVibrance\",e),j=$(cr,\"altBlueSigmoid\",e),W=$(cr,\"altBlueHueWindow\",e),Z=$(cr,\"altBlueHue\",e),Y=$(cr,\"altBlueGamma\",e),K=$(cr,\"adaptiveWindow\",e),Q=$(cr,\"adaptiveOffset\",e);return R(u7,X,w(function(e,t){return z(t,{aS:e,bq:!0})}),R(u7,W,w(function(e,t){return z(t,{az:!0,aQ:e})}),R(u7,Z,w(function(e,t){return z(t,{aP:e,az:!0})}),R(u7,j,w(function(e,t){return z(t,{aR:e,bp:!0})}),R(u7,Y,w(function(e,t){return z(t,{aO:e,bo:!0})}),R(u7,G,w(function(e,t){return z(t,{aX:e,bt:!0})}),R(u7,D,w(function(e,t){return z(t,{aA:!0,aV:e})}),R(u7,J,w(function(e,t){return z(t,{aU:e,aA:!0})}),R(u7,U,w(function(e,t){return z(t,{aW:e,bs:!0})}),R(u7,q,w(function(e,t){return z(t,{aT:e,br:!0})}),R(u7,V,w(function(e,t){return z(t,{a0:e,bw:!0})}),R(u7,F,w(function(e,t){return z(t,{aB:!0,a_:e})}),R(u7,_,w(function(e,t){return z(t,{aZ:e,aB:!0})}),R(u7,B,w(function(e,t){return z(t,{a$:e,bv:!0})}),R(u7,N,w(function(e,t){return z(t,{aY:e,bu:!0})}),R(u7,Q,w(function(e,t){return z(t,{aN:!0,bm:e})}),R(u7,K,w(function(e,t){return z(t,{aN:!0,bn:e})}),R(u7,f,w(function(e,t){return z(t,{cN:!0,bV:e})}),R(u7,n,w(function(e,t){return z(t,{ca:e,c6:!0})}),R(u7,P,w(function(e,t){return z(t,{N:!0,cp:e})}),R(u7,L,w(function(e,t){return z(t,{bB:e,N:!0})}),R(u7,E,w(function(e,t){return z(t,{N:!0,bE:e})}),R(u7,S,w(function(e,t){return z(t,{N:!0,bD:e})}),R(u7,M,w(function(e,t){return z(t,{N:!0,bC:e})}),R(u7,d,w(function(e,t){return z(t,{a7:!0,bW:e})}),R(u7,l,w(function(e,t){return z(t,{a7:!0,bX:e})}),R(u7,c,w(function(e,t){return z(t,{bY:e,ae:!0})}),R(u7,u,w(function(e,t){return z(t,{ae:!0,bZ:e})}),R(u7,o,w(function(e,t){return z(t,{ae:!0,b$:e})}),R(u7,s,w(function(e,t){return z(t,{ae:!0,b_:e})}),R(u7,A,w(function(e,t){return z(t,{bF:e,a4:!0})}),R(u7,I,w(function(e,t){return z(t,{a4:!0,bG:e})}),R(u7,x,w(function(e,t){return z(t,{cr:!0,bI:e})}),R(u7,v,w(function(e,t){return z(t,{bb:!0,bT:e})}),R(u7,h,w(function(e,t){return z(t,{bb:!0,bU:e})}),R(u7,O,w(function(e,t){return z(t,{by:e,ck:!0})}),R(u7,k,w(function(e,t){return z(t,{bz:e,cl:!0})}),R(u7,T,w(function(e,t){return z(t,{bA:e,cm:!0})}),R(u7,g,w(function(e,t){return z(t,{bP:e,cB:!0})}),R(u7,t,w(function(e,t){return z(t,{cc:e,c8:!0})}),R(u7,a,w(function(e,t){return z(t,{b1:e,cW:!0})}),R(u7,m,w(function(e,t){return z(t,{bO:e,cw:!0})}),R(u7,C,w(function(e,t){return z(t,{bH:e,cq:!0})}),R(u7,H,w(function(e,t){return z(t,{bx:e,cj:!0})}),R(u7,r,w(function(e,t){return z(t,{b8:e,c1:!0})}),R(u7,b,w(function(e,t){return z(t,{cH:e})}),R(u7,p,w(function(e,t){return z(t,{cz:e})}),R(u7,y,w(function(e,t){return z(t,{cv:e})}),R(u7,i,w(function(e,t){return z(t,{bg:e})}),sP)))))))))))))))))))))))))))))))))))))))))))))))))},co=function(e){var t=$(eE,$(ex,us,ij(eb)),e);return t.$?nf(nB(t.a)):ng(ci(t.a))},cs=function(e){return $(ee,e,\"\")},cu=y(function(e,t,n){for(;;){var r=nH(t);if(r.$)return n;var a=r.a,i=a.a,o=a.b;if(\"<\"===i){var s=!0,u=o,c=n;e=!0,t=u,n=c;continue}if(\">\"===i){var s=!1,u=o,c=n;e=!1,t=u,n=c;continue}if(e){var s=!0,u=o,c=n;e=!0,t=u,n=c;continue}else{var s=!1,u=o,c=G(n,cs(i));e=s,t=u,n=c;continue}}}),cc=w(function(e,t){var n=function(){var e=t.gV.gI;if(e.$){var n=e.a;return uz(q([{a:\"kind\",b:ek(\"svg\")},{a:\"value\",b:ek(n)}]))}var r=e.a,a=e.b,i=e.c,o=e.d;return uz(q([{a:\"kind\",b:ek(\"rect\")},{a:\"x\",b:ek(r)},{a:\"y\",b:ek(a)},{a:\"width\",b:ek(i)},{a:\"height\",b:ek(o)}]))}();return uz(q([{a:\"id\",b:ek(t.f7)},{a:\"shape\",b:n},{a:\"text\",b:ek(R(cu,!1,t.eq.fG,\"\"))},{a:\"html\",b:ek(t.eq.fG)},{a:\"imageService\",b:ek($(aG,\"\",e))}]))}),cl=x(function(e,t,n,r){return e?$(J,{a:t,b:n},r):r}),cd=function(e){return $(eT,2,uz(S(cl,e.bq,\"altBlueVibrance\",ek(e.aS),S(cl,e.az,\"altBlueHueWindow\",ek(e.aQ),S(cl,e.az,\"altBlueHue\",ek(e.aP),S(cl,e.bp,\"altBlueSigmoid\",ek(e.aR),S(cl,e.bo,\"altBlueGamma\",ek(e.aO),S(cl,e.bt,\"altGreenVibrance\",ek(e.aX),S(cl,e.aA,\"altGreenHueWindow\",ek(e.aV),S(cl,e.aA,\"altGreenHue\",ek(e.aU),S(cl,e.bs,\"altGreenSigmoid\",ek(e.aW),S(cl,e.br,\"altGreenGamma\",ek(e.aT),S(cl,e.bw,\"altRedVibrance\",ek(e.a0),S(cl,e.aB,\"altRedHueWindow\",ek(e.a_),S(cl,e.aB,\"altRedHue\",ek(e.aZ),S(cl,e.bv,\"altRedSigmoid\",ek(e.a$),S(cl,e.bu,\"altRedGamma\",ek(e.aY),S(cl,e.aN,\"adaptiveOffset\",ek(e.bm),S(cl,e.aN,\"adaptiveWindow\",ek(e.bn),S(cl,e.cN,\"normalizeStrength\",ek(e.bV),S(cl,e.c6,\"unsharpAmount\",ek(e.ca),S(cl,e.N,\"colourReplacePreserveLum\",ek(e.cp),S(cl,e.N,\"colourReplaceBlend\",ek(e.bB),S(cl,e.N,\"colourReplaceTolerance\",ek(e.bE),S(cl,e.N,\"colourReplaceTarget\",ek(e.bD),S(cl,e.N,\"colourReplaceSource\",ek(e.bC),S(cl,e.a7,\"pcaHue\",ek(e.bW),S(cl,e.a7,\"pcaMode\",ek(e.bX),S(cl,e.ae,\"pseudoColourBlue\",ek(e.bY),S(cl,e.ae,\"pseudoColourGreen\",ek(e.bZ),S(cl,e.ae,\"pseudoColourRed\",ek(e.b$),S(cl,e.ae,\"pseudoColourMode\",ek(e.b_),S(cl,e.a4,\"colourmapCenter\",ek(e.bF),S(cl,e.a4,\"colourmapPreset\",ek(e.bG),S(cl,e.cr,\"convolutionPreset\",ek(e.bI),S(cl,e.bb,\"morphKernel\",ek(e.bT),S(cl,e.bb,\"morphOperation\",ek(e.bU),S(cl,e.ck,\"ccBlue\",ek(e.by),S(cl,e.cl,\"ccGreen\",ek(e.bz),S(cl,e.cm,\"ccRed\",ek(e.bA),S(cl,e.cB,\"hue\",ek(e.bP),S(cl,e.c8,\"vibrance\",ek(e.cc),S(cl,e.cW,\"saturation\",ek(e.b1),S(cl,e.cw,\"gamma\",ek(e.bO),S(cl,e.cq,\"contrast\",ek(e.bH),S(cl,e.cj,\"brightness\",ek(e.bx),S(cl,e.c1,\"threshold\",ek(e.b8),S(cl,e.cH,\"invert\",ek(!0),S(cl,e.cz,\"grayscale\",ek(!0),S(cl,e.cv,\"flip\",ek(!0),S(cl,!!e.bg,\"rotation\",ek(e.bg),U)))))))))))))))))))))))))))))))))))))))))))))))))))},cf=w(function(e,t){var n=w(function(t,n){for(;;)if(H(t.u.f7,e))return nr(t.u);else{var r=t.Q;if(r.b){var a=r.a,i=r.b;if(a.$){var o=z(t,{Q:i}),s=n;t=o,n=s;continue}var u=a.a,o={u:u,Q:u.aH},s=$(J,{u:t.u,Q:i},n);t=o,n=s;continue}if(!n.b)return na;var c=n.a,i=n.b,o=c,s=i;t=o,n=s;continue}});return $(n,{u:t,Q:t.aH},U)}),ch=w(function(e,t){for(;;)if(e<=0)return t;else{if(!t.b)return t;t.a,e-=1,t=t.b;continue}}),cv=w(function(e,t){return aL($(ch,e,t))}),cb=w(function(e,t){return e(t.b)}),cg=cb(function(e){return e.es}),cp=w(function(e,t){var n=$(cm,e,t.aH),r=n.a,a=n.b;return R(r_,t.f7,r,a)}),cm=w(function(e,t){return R(nx,w(function(t,n){var r=n.a,a=n.b;if(t.$){var i=t.a,o=$(cp,e,i),s=r.$?$(aG,na,$(rH,i.f7,o)):r;return{a:s,b:$(uf,o,a)}}var u=t.a,s=r.$?$(rH,u,e):r;return{a:s,b:a}}),{a:na,b:rI},t)}),cw=w(function(e,t){return R(nx,w(function(t,n){return $(uf,$(cp,e,t),n)}),rI,t)}),cy=e3(\"layoutConfigUpdated\",function(e){return uz(q([{a:\"direction\",b:ek(e.ez)},{a:\"mode\",b:ek(e.e1)}]))}),cx=w(function(e,t){return e?t?\"spread-shift\":\"spread\":\"single\"}),cC=function(e){var t={a:e.dI,b:e.dU};if(t.a.$||t.b.$)return 1;var n=t.a.a,r=t.b.a;return n>0?r/n:1},cI=w(function(e,t){return $(aG,q([\"[No language value found]\"]),$(az,function(e){return e.b},$(aK,q([function(n){if(e.$)return na;var r=e.a;return $(oZ,function(e){return!e.a.$&&H(e.a.a,r)},t)},function(e){return $(oZ,function(e){return H(e.a,iZ)},t)},function(e){return $(oZ,function(e){return H(e.a,i0)},t)},function(e){return aL(t)}]),t)))}),cA=w(function(e,t){return $(nm,\"; \",$(cI,e,t))}),cE=function(e){var t=e.dX;return t.$?\"Untitled\":$(cA,i0,t.a)},c$=function(e){switch(e){case 0:return\"jpg\";case 1:return\"tif\";case 2:return\"png\";case 3:return\"jp2\";case 4:return\"gif\";case 5:return\"pdf\";default:return\"webp\"}},cR=function(e){switch(e){case 0:return\"color\";case 1:return\"gray\";case 2:return\"bitonal\";case 3:return\"default\";default:return\"native\"}},cS=function(e){switch(e.$){case 0:return\"full\";case 1:return\"square\";default:return $(nm,\",\",$(rc,el,q([e.a.fJ,e.a.ek,e.a.dH,e.a.dn])))}},cM=function(e){if(e.$){var t=e.a;return\"!\"+el(t)}var t=e.a;return el(t)},cP=function(e){switch(e.$){case 0:return\"max\";case 1:return\"^max\";case 2:var t=e.a;return el(t)+\",\";case 3:var t=e.a;return\"^\"+el(t)+\",\";case 4:var n=e.a;return\",\"+el(n);case 5:var n=e.a;return\"^,\"+el(n);case 6:var r=e.a;return\"pct:\"+el(r);case 7:var r=e.a;return\"^pct:\"+el(r);case 8:var a=e.a,t=a.a,n=a.b;return el(t)+\",\"+el(n);case 9:var i=e.a,t=i.a,n=i.b;return\"^\"+el(t)+\",\"+el(n);case 10:var o=e.a,t=o.a,n=o.b;return\"!\"+el(t)+\",\"+el(n);default:var s=e.a,t=s.a,n=s.b;return\"^!\"+el(t)+\",\"+el(n)}},cL=function(e){for(;;)if(!e.b||\"/\"!==e.a)return e;else{e=e.b;continue}},cT=function(e){return X(e).join(\"\")},ck=function(e){return R(et,J,U,e)},cO=function(e){return cT(nO(cL(nO(ck(e)))))},cH=nx(w(function(e,t){var n=cT(cL(ck(e)));return n7(n)?cO(t):cO(t)+\"/\"+n})),cV=function(e){switch(e.$){case 0:var t,n=e.a;return $(cH,(t=n).eR,q([t.Y,\"info.json\"]));case 1:var r,n=e.a;return $(cH,(r=n).eR,q([r.Y,cS(r.cU),cP(r.fw),cM(r.bg),cR(r.d7)+\".\"+c$(r.dR)]));default:var n=e.a;return $(cH,n.eR,q([n.Y]))}},cB=w(function(e,t){switch(t.$){case 0:var n,r=t.a;return aJ(z({dR:0,eR:(n=r).eR,Y:n.Y,d7:3,cU:aW,bg:iI(0),fw:ic},{fw:e}));case 1:var r=t.a;return aJ(z(r,{fw:e}));default:return t}}),cF=function(e){var t=iO(e);if(t.$)return e;var n=t.a;return cV($(cB,im(180),n))},c_=function(e){var t=cV(e.f7);return sd(e.ft)?t:cF(t)},cN=w(function(e,t){var n=t.gW;if(!n.$)return c_(n.a);var r=aL($(iR,function(e){return e.bR},e));if(r.$){var a=aL(e);if(a.$)return\"\";var i=a.a;return i.bh}var i=r.a;return i.bh}),cz=function(e){return al(q([ac(e),$(ex,iJ,e)]))},cG=C(function(e,t,n,r,a){return{eD:r,eE:a,f7:e,b2:n,g_:t}}),cU=$(ey,function(e){switch(e){case\"active\":return n1(0);case\"external\":return n1(2);case\"kiosk\":return n1(1);default:return av(\"Unsupported Auth 2 access profile: \"+e)}},eg),cD=E(function(e,t,n,r,a,i,o,s){return{dM:s,dT:i,f7:e,dX:a,d0:o,be:n,b2:r,g_:t}}),cJ=w(function(e,t){return $(ey,function(t){return H(t,e)?n1(t):av(\"Expected \"+e+\" but got \"+t)},t)}),cq=al(q([$(ep,\"type\",eg),$(ep,\"@type\",eg)])),cX=function(e){return $(cJ,e,cq)},cj=al(q([$(ep,\"id\",eg),$(ep,\"@id\",eg)])),cW=$(ey,function(e){return $(es,\"https://\",e)?n1(e):av(\"Expected an HTTPS service identifier\")},cj),cZ=w(function(e,t){return $(ey,function(n){var r=$(e$,$(ep,e,eb),n);if(r.$)return n1(na);var a=$(e$,t,r.a);return a.$?av(nB(a.a)):n1(nr(a.a))},eb)}),cY=function(e){return{$:1,a:e}},cK=function(e){return{$:0,a:e}},cQ=x(function(e,t,n,r){return{eD:n,eE:r,f7:e,g_:t}}),c0=$(aB,$(cZ,\"errorNote\",iQ),$(aB,$(cZ,\"errorHeading\",iQ),$(aB,cX(\"AuthAccessTokenService2\"),$(aB,cW,n1(cQ))))),c1=y(function(e,t,n){return{f7:e,dX:n,g_:t}}),c2=$(aB,$(cZ,\"label\",iQ),$(aB,cX(\"AuthLogoutService2\"),$(aB,cW,n1(c1)))),c4=$(ey,function(e){switch(e){case\"AuthAccessTokenService2\":return $(ex,cK,c0);case\"AuthLogoutService2\":return $(ex,cY,c2);default:return av(\"Unsupported Auth 2 related service: \"+e)}},cq),c3=$(ey,function(e){var t=nC($(iR,function(e){return!e.$},e)),n=nC(e)-t;return 1===t&&n<=1?n1(e):av(\"Auth access services require exactly one token service and at most one logout service\")},cz(c4)),c6=$(ey,function(e){return $(aB,$(cZ,\"confirmLabel\",iQ),$(aB,$(cZ,\"note\",iQ),$(aB,$(cZ,\"heading\",iQ),$(aB,e?$(cZ,\"label\",iQ):$(ex,nr,$(ep,\"label\",iQ)),R(aP,\"service\",c3,$(aB,n1(e),$(aB,cX(\"AuthAccessService2\"),$(aB,2===e?n1(na):$(ex,nr,cW),n1(cD)))))))))},$(ep,\"profile\",cU)),c5=$(aB,$(cZ,\"errorNote\",iQ),$(aB,$(cZ,\"errorHeading\",iQ),R(aP,\"service\",cz(c6),$(aB,cX(\"AuthProbeService2\"),$(aB,cW,n1(cG)))))),c8=$(ey,function(e){var t=R(y(function(e,t,n){for(;;)if(!e.b)return ng({cS:nO(t),c7:nO(n)});else{var r=e.a,a=e.b,i=$(e$,ac(eb),r);if(i.$){var o=$(e$,cq,r);if(o.$){var s=$(e$,$(ep,\"service\",cz(eb)),r);if(s.$){var u=a,c=t,l=n;e=u,t=c,n=l;continue}var d=s.a,u=G(d,a),c=t,l=n;e=u,t=c,n=l;continue}if(\"AuthProbeService2\"===o.a){var f=$(e$,c5,r);if(f.$)return nf(f.a);var h=f.a,u=a,c=$(J,h,t),l=n;e=u,t=c,n=l;continue}var v=o.a,b=$(es,\"Auth\",v)?$(J,v,n):n,g=$(e$,$(ep,\"service\",cz(eb)),r);if(g.$){var u=a,c=t,l=b;e=u,t=c,n=l;continue}var d=g.a,u=G(d,a),c=t,l=b;e=u,t=c,n=l;continue}var u=G(i.a,a),c=t,l=n;e=u,t=c,n=l;continue}}),q([e]),U,U);return t.$?av(nB(t.a)):n1(t.a)},eb),c7=function(e){return!!e.$},c9=y(function(e,t,n){var r,a=cV(n.f7),i=c_(n),o=$(aG,\"Image\",$(az,cA(e),n.dX)),s=sd(n.ft),u=c7($(uH,function(e){return!e.eT},t)),c=H(nr(n),aL(t)),l=!n.eT||u&&c;return{dh:(r=$(e$,c8,$(uN,n4,n.gK))).$?{$:2,a:nB(r.a)}:{$:1,a:r.a},f7:a,bR:l,aG:s,dX:o,b7:a,bh:i,b9:a}}),le=w(function(e,t){var n=$(rc,$(c9,e,t.cF),t.cF);if(sd(n))return na;var r=$(cN,n,t),a=$(aG,\"\",$(az,function(e){return e.bh},aL($(iR,function(e){return e.bR},n))));return nr({dg:cC(t),M:t.f7,eI:a,dU:t.dU,cF:n,dX:cE(t),bh:r,dI:t.dI})}),lt=w(function(e,t){return $(an,le(e),cg(t))}),ln=cb(function(e){return e.g2}),lr=w(function(e,t){return z(t,{aa:na,ah:na,e:rI,v:rI,D:rI,Z:U,ar:us($(rc,function(e){return{a:e.f7,b:e}},e))})}),la=function(e){return e.b},li=w(function(e,t){return $(az,nW,aL($(iR,$(rW,la,e),$(nE,a8,t))))}),lo=function(e){return{$:1,a:e}},ls=function(e){return{$:2,a:e}},lu=al(q([$(ex,function(e){return{$:0,a:e}},ef),$(ey,function(e){switch(e){case\"canvasId\":return $(ex,lo,$(ep,\"value\",eg));case\"label\":return $(ex,ls,$(ep,\"value\",eg));default:return av(\"Unsupported initial page selector\")}},$(ep,\"by\",eg))])),lc=function(e){return e.toLowerCase()},ll=w(function(e,t){var n=$(aN,$(rW,e$(lu),u9),e);if(n.$)return 0;switch(n.a.$){case 0:var r=n.a.a;return r>=0&&0>_(r,nC(t))?r:0;case 1:var a=n.a.a;return $(aG,0,$(li,function(e){return H(e.M,a)},t));default:var i=n.a.a;return $(aG,0,$(li,function(e){return H(lc(e.dX),lc(i))},t))}}),ld=cb(function(e){return e.f6}),lf=cb(function(e){return e.d_}),lh=cb(function(e){return e.fh}),lv=w(function(e,t){switch(t){case 2:var n=!sd(lf(e)),r=$(aG,!1,$(az,$(rW,sd,uB),ld(e)));return n||r?2:1;case 3:return $(aG,!1,$(az,$(rW,sd,uB),lh(e)))?3:1;default:return 1}}),lb=cb(function(e){return e.g1}),lg=function(e){switch(e){case 0:case 2:default:return\"ltr\";case 1:return\"rtl\"}},lp=e3(\"zoomLevelUpdated\",ek),lm=x(function(e,t,n,r){var a,i=lb(r),o=$(lt,n.ey,r),s=$(an,function(e){return $(az,function(t){return{M:e.M,aG:t.aG,b7:t.b7,aM:t.b9}},uV(e))},o),u=(a=ln(r)).$?$(iF,7,a.a):!a.a,c=$(rc,function(e){return e.dg},o),l=1===nC(o),d=!l&&(u||1===i),f=l?0:+!!u,h=$(cx,f,d),v=$(ll,t,o),b=lg(i),g=us($(nE,w(function(e,t){return{a:t.f7,b:e}}),cg(r))),p=$(aG,rI,$(az,cw(g),lh(r))),m=$(lv,r,n._),y=n.B?m:0,x=$(rc,function(e){return{dh:e.dh,f7:e.b7,aG:e.aG,aM:e.b9}},$(iP,function(e){return e.cF},o));return{a:z(n,{a1:rI,dd:us($(rc,function(e){return{a:e.f7,b:e.dd}},cg(r))),aC:rI,dh:$(lr,x,rE),dO:na,eJ:sP,eO:!sd(s),$7:na,X:!1,cP:!1,ap:o,fg:p,b0:{$:2,a:r},R:sd(o)?na:nr(v),b3:d,_:m,B:y,cd:f}),b:eQ(q([u6({dV:v,d8:e,ei:s}),u3($(an,n4,$(nE,w(function(e,t){return $(az,function(n){return{M:t.M,dU:t.dU,cF:$(rc,function(e){return{f7:e.f7,bR:e.bR,dX:e.dX}},t.cF),eU:e,dX:t.dX,fb:{f7:n.f7,bR:n.bR,dX:n.dX},dI:t.dI}},uV(t))}),o))),u1(na),u2(c),u4($(rc,function(e){return e.dX},o)),lp(1),cy({ez:b,e1:h})]))}}),lw={$:6},ly=w(function(e,t){return rv($(eF,$(aE,$(aE,eH,e),nf),$(eB,$(aE,$(aE,eH,e),ng),t)))}),lx=function(e){return t3(e,function(e){var t=e.getBoundingClientRect(),n=t1.pageXOffset,r=t1.pageYOffset;return{fq:t6(),fH:{fJ:n,ek:r,dI:t0.documentElement.clientWidth,dU:t0.documentElement.clientHeight},eB:{fJ:n+t.left,ek:r+t.top,dI:t.width,dU:t.height}}})},lC=x(function(e,t,n,r){return $(eB,function(t){return $(eB,function(n){return $(eB,function(r){return eH(R(e,t,n,r))},r)},n)},t)}),lI=eQ(U),lA=w(function(e,t){if(!e)return lI;var n=$(eB,function(e){var n=\"thumb-\"+el(t);return $(eB,n4,S(lC,y(function(e,t,n){return R(t5,\"thumbs\",0,$(nX,0,e.eB.ek-t.eB.ek+n.fH.ek))}),lx(n),lx(\"thumbs\"),t3(\"thumbs\",function(e){return{fq:{dI:e.scrollWidth,dU:e.scrollHeight},fH:{fJ:e.scrollLeft,ek:e.scrollTop,dI:e.clientWidth,dU:e.clientHeight}}})))},eX(0));return $(ly,function(e){return lw},n)}),lE=function(e){return e.cP?$(aG,lI,$(aN,function(t){return $(az,function(n){return u1(nr({dg:t.dg,eJ:e.eJ,aG:n.aG,b7:n.b7,b9:n.b9}))},aL($(ch,e.aJ,t.cF)))},$(aN,function(t){return $(cv,t,e.ap)},e.R))):lI},l$=y(function(e,t,n){var r=z(n,{aJ:0,R:nr(t),bi:e});return{a:r,b:eQ(q([$(lA,1===r.B,t),lE(r)]))}}),lR=e3(\"scrollToIndex\",ek),lS=w(function(e,t){var n=t.R;if(n.$)return{a:t,b:lI};var r=n.a+e;if(r>=0&&0>_(r,nC(t.ap))){var a=z(t,{aJ:0,R:nr(r),bi:!1});return{a:a,b:eQ(q([lR(r),$(lA,1===a.B,r),lE(a)]))}}return{a:t,b:lI}}),lM=function(e){switch(e.$){case 0:return\"Bad URL: \"+e.a;case 1:return\"Request timed out.\";case 2:return\"Network error. The resource may be unreachable or blocked by CORS.\";case 3:return\"HTTP error: \"+el(e.a);default:return\"Invalid IIIF response body. URL did not return a valid IIIF Manifest or Collection JSON.\"}},lP=w(function(e,t){return R(r_,e,0,t)}),lL=e3(\"layoutModeUpdated\",ek),lT=w(function(e,t){return!$(rH,e,t).$}),lk=w(function(e,t){return $(lT,e,t)}),lO=w(function(e,t){return $(rX,e,t)}),lH=y(function(e,t,n){var r=w(function(e,t){for(;;)if(!t.b)return e;else{var n=t.a,r=t.b;e=z(n.u,{aH:G(nO($(J,oI(e),n.ai)),n.Q)}),t=r;continue}}),a=w(function(e,t){if(!t.b)return e;var n=t.a,r=t.b;return $(i,{ai:$(J,oI(e),n.ai),u:n.u,Q:n.Q},r)}),i=w(function(n,o){if(H(n.u.f7,e))return $(r,t,o);var s=n.Q;if(!s.b)return $(a,z(n.u,{aH:nO(n.ai)}),o);var u=s.a,c=s.b;if(u.$)return $(i,z(n,{ai:$(J,u,n.ai),Q:c}),o);var l=u.a;return $(i,{ai:U,u:l,Q:l.aH},$(J,{ai:n.ai,u:n.u,Q:c},o))});return $(i,{ai:U,u:n,Q:n.aH},U)}),lV=w(function(e,t){return{$:58,a:e,b:t}}),lB=w(function(e,t){return{$:0,a:e,b:t}}),lF=function(e){return encodeURIComponent(e)},l_=w(function(e,t){return $(lB,lF(e),lF(t))}),lN=function(e){return e.a+\"=\"+e.b},lz=y(function(e,t,n){var r,a=(r=q([$(l_,\"canvasURI\",t),$(l_,\"iiifVersion\",n)])).b?\"?\"+$(nm,\"&\",$(rc,lN,r)):\"\";return $(eo,\"?\",e)?e+\"&\"+$(n8,1,a):G(e,a)}),lG=function(e){var t=e.H;switch(t.$){case 1:var n=t.a;return nr(n);case 2:var r=e.b0;if(2!==r.$)return na;var n=r.a;return nr(n);default:return na}},lU=function(e){return{dR:na,dY:na,fG:e}},lD=lU(\"\");function lJ(){return al(q([S(eI,y(function(e,t,n){return{dR:t,dY:n,fG:e}}),al(q([$(ep,\"value\",eg),$(ep,\"chars\",eg)])),aR($(ep,\"format\",eg)),aR($(ep,\"language\",eg))),$(ex,$(rW,aL,aG(lD)),ac(of(function(e){return lJ()}))),$(ex,lU,eg)]))}var lq=lJ();lJ=function(){return lq};var lX=al(q([$(ep,\"body\",lq),$(ep,\"resource\",lq),n1(lD)])),lj=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),lW=function(e){var t=$(es,\"xywh=\",e)?$(n8,5,e):e,n=$(rc,aQ,$(nw,\",\",t));if(!n.b||n.a.$||!n.b.b||n.b.a.$||!n.b.b.b||n.b.b.a.$||!n.b.b.b.b||n.b.b.b.a.$||n.b.b.b.b.b)return av(\"Invalid xywh selector\");var r=n.a.a,a=n.b,i=a.a.a,o=a.b,s=o.a.a,u=o.b.a.a;return s>0&&u>0?n1(S(lj,r,i,s,u)):av(\"Annotation rectangle must have a positive size\")},lZ=al(q([$(ep,\"type\",eg),$(ep,\"@type\",eg)])),lY=$(ey,function(e){var t=e.a,n=e.b;return\"svgselector\"===lc(t)||\"oa:svgselector\"===lc(t)?n1({$:1,a:n}):av(\"Not an SVG selector\")},R(eC,a8,lZ,$(ep,\"value\",eg)));function lK(){return al(q([lY,$(ey,lW,$(ep,\"value\",eg)),$(ep,\"item\",of(function(e){return lK()})),$(ep,\"default\",of(function(e){return lK()}))]))}var lQ=lK();lK=function(){return lQ};var l0=al(q([$(ep,\"id\",eg),$(ep,\"@id\",eg)])),l1=al(q([$(ex,nr,$(ep,\"source\",al(q([eg,l0])))),$(ex,nr,$(ep,\"full\",al(q([eg,l0])))),n1(na)])),l2=function(e){var t=$(nw,\"#xywh=\",e);if(!t.b||!t.b.b||t.b.b.b)return av(\"Annotation target has no xywh selector\");var n=t.a;return $(ex,function(e){return{gI:e,ed:nr(n)}},lW(t.b.a))};function l4(){return al(q([$(ey,function(e){var t=aL(e);return t.$?av(\"Annotation target list is empty\"):n1(t.a)},ac(of(function(e){return l4()}))),$(ey,l2,eg),R(eC,w(function(e,t){return{gI:t,ed:e}}),l1,$(ep,\"selector\",lQ))]))}var l3=l4();l4=function(){return l3};var l6=al(q([$(ep,\"id\",eg),$(ep,\"@id\",eg),n1(\"\")])),l5=M(eA,x(function(e,t,n,r){return{eq:n,f7:e,e3:r,gV:t}}),l6,al(q([$(ep,\"target\",l3),$(ep,\"on\",l3)])),lX,aR($(ep,\"motivation\",eg))),l8=al(q([$(ep,\"resources\",ac(l5)),$(ep,\"items\",ac(l5)),ac(l5)])),l7=y(function(e,t,n){return R(au,t,$(r2,e,l8),n)}),l9=w(function(e,t){if(!t.bK||$(lk,e,t.a1)||$(lT,e,t.aC))return{a:t,b:lI};var n,r,a=$(aG,U,$(rH,e,t.dd)),i=$(an,function(e){return e.$?na:nr(e.a)},a),o=aH($(an,function(e){return e.$?u9($(e$,l8,e.a)):na},a)),s=sd(o)?t:z(t,{aC:R(r_,e,o,t.aC)}),u=!(n=sd(a),r={a:n,b:t.ci,c:lG(t)}).a||r.b.$||r.c.$?U:q([R(lz,r.b.a,e,1===r.c.a.a?\"2\":\"3\")]);return{a:z(s,{a1:$(lP,e,s.a1)}),b:eQ(G($(rc,function(n){return R(l7,lV(e),t.av,n)},G(i,u)),q([uG({de:$(rc,cc($(u_,e,t)),o),M:e})])))}}),de=al(q([$(ey,function(e){return $(ah,ag,e)?$(ex,aw(2),s$):$(ah,ab,e)?$(ex,aw(1),oq):av(\"Unknown IIIF Version: \"+e)},$(ep,\"@context\",eg)),$(ey,function(e){return $(ad,ah(ag),e)?$(ex,aw(2),s$):$(ad,ah(ab),e)?$(ex,aw(1),oq):av(\"Unknown IIIF Version in context values: \"+$(nm,\", \",e))},$(ep,\"@context\",ac(eg)))])),dt=y(function(e,t,n){return R(au,t,$(r2,e,de),n)}),dn=function(e){return z(e,{aO:0,bo:!1,aP:0,az:!1,aQ:8,aR:0,bp:!1,aS:0,bq:!1,aT:0,br:!1,aU:0,aA:!1,aV:8,aW:0,bs:!1,aX:0,bt:!1,aY:0,bu:!1,aZ:0,aB:!1,a_:8,a$:0,bv:!1,a0:0,bw:!1})},dr=e3(\"resourceLoadFailed\",function(e){return uz(q([{a:\"message\",b:ek(e.ac)},{a:\"requestId\",b:ek(e.fl)},{a:\"url\",b:ek(e.aM)}]))}),da=e3(\"resourceLoadSucceeded\",function(e){return uz(q([{a:\"hasPages\",b:ek(e.cA)},{a:\"pageIndex\",b:ek(e.cO)},{a:\"requestId\",b:ek(e.fl)},{a:\"url\",b:ek(e.aM)}]))}),di=e3(\"authHttpCancelled\",ek),ds=e3(\"authHttpRequested\",n4),du=e3(\"authSourcesInvalidated\",uN(ek)),dc=e3(\"authStorageRequested\",n4),dl=e3(\"authTokenFrameCancelled\",ek),dd=e3(\"authTokenFrameRequested\",n4),df=e3(\"tileSourceResolutionFailed\",function(e){return uz(q([{a:\"message\",b:ek(e.ac)},{a:\"requestId\",b:ek(e.fl)}]))}),dh=e3(\"tileSourceResolutionSucceeded\",n4),dv=function(e){switch(e.$){case 0:var t=e.a,n=e.b,r=e.c,a=e.d;return ds(uz(q([{a:\"id\",b:ek(t)},{a:\"url\",b:ek(n)},{a:\"bearer\",b:$(aG,null,$(az,ek,r))},{a:\"withCredentials\",b:ek(a)}])));case 1:var t=e.a;return di(t);case 2:var i=e.a,o=e.b;return dc(uz(q([{a:\"action\",b:ek(\"read\")},{a:\"flowId\",b:ek(i)},{a:\"key\",b:ek(o)}])));case 3:var i=e.a,o=e.b,s=e.c,u=e.d;return dc(uz(q([{a:\"action\",b:ek(\"write\")},{a:\"flowId\",b:ek(i)},{a:\"key\",b:ek(o)},{a:\"accessToken\",b:ek(s)},{a:\"expiresAt\",b:ek(u)}])));case 4:var i=e.a,o=e.b;return dc(uz(q([{a:\"action\",b:ek(\"remove\")},{a:\"flowId\",b:ek(i)},{a:\"key\",b:ek(o)}])));case 5:var i=e.a,n=e.b,c=e.c;return dd(uz(q([{a:\"flowId\",b:ek(i)},{a:\"url\",b:ek(n)},{a:\"messageId\",b:ek(c)}])));case 6:var i=e.a;return dl(i);case 7:return du(e.a);case 8:var l=e.a;return dh(uz(q([{a:\"requestId\",b:ek(l.fl)},{a:\"url\",b:ek(l.aM)},{a:\"isStatic\",b:ek(l.aG)},{a:\"credentialed\",b:ek(l.ev)},{a:\"infoJson\",b:$(aG,null,l.aF)}])));default:var d=e.a;return df({ac:e.b,fl:d})}},db=e3(\"saveFilteredImage\",function(e){return null}),dg=e3(\"setFullscreen\",ek),dp=function(e){return{$:1,a:e}},dm=function(e){return{$:6,a:e}},dw=w(function(e,t){return{$:4,a:e,b:t}}),dy=y(function(e,t,n){return{$:5,a:e,b:t,c:n}}),dx=w(function(e,t){var n=t.a;return{a:n,b:G(t.b,e)}}),dC=w(function(e,t){return R(uu,y(function(e,t,n){return $(rX,e,n)}),e,t)}),dI=w(function(e,t){return R(uu,y(function(t,n,r){return $(e,t,n)?R(r_,t,n,r):r}),rI,t)}),dA=w(function(e,t){if(-2===t.$)return rC;var n=t.a,r=t.b,a=t.c,i=t.d,o=t.e;return M(rV,n,r,$(e,r,a),$(dA,e,i),$(dA,e,o))}),dE=y(function(e,t,n){var r=t.o.T.f7;if(r.$)return n;var a=r.a;return z(n,{aa:nr(e),ah:nr({el:a,dM:t.o.T.dM,aw:t.cT,dl:e,dT:t.o.T.dT,d0:t.o.T.d0}),Z:$(iR,F(e),n.Z)})}),d$=function(e){for(;;){var t=e.Z;if(!t.b)return e;var n=t.a,r=z(e,{Z:t.b}),a=$(rH,n,e.e);if(a.$){var i=r;e=i;continue}var o=a.a;if(!o.o.T.f7.$)return R(dE,n,o,r);var i=r;e=i}},dR=w(function(e,t){var n,r=z(t,{Z:$(iR,F(e),t.Z)}),a=(n=r.ah).$?r:H(n.a.dl,e)?z(r,{ah:na}):r;return H(a.aa,nr(e))?d$(z(a,{aa:na})):a}),dS=w(function(e,t){var n=$(dI,w(function(e,t){return!sd(t.au)}),$(dA,w(function(t,n){return z(n,{au:$(iR,F(e),n.au)})}),t.e)),r=$(iR,function(e){return!$(lT,e,n)},ns(t.e)),a=$(dI,w(function(t,n){return n.$?$(iF,n.a,r):H(n.a,e)}),t.v);return{a:R(nx,dR,z(t,{e:n,v:$(dC,t.v,a),D:$(rX,e,t.D)}),r),b:G($(rc,dp,ns(a)),$(rc,dm,r))}}),dM=w(function(e,t){return{$:9,a:e,b:t}}),dP=y(function(e,t,n){return{a:z(n,{D:$(rX,e,n.D)}),b:q([$(dM,e,t)])}}),dL=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=w(function(e,n){var r=n.a,a=n.b,i=R(dP,e,t,r),o=i.a;return{a:o,b:G(a,i.b)}});return R(nx,i,{a:$(dR,e,z(n,{e:$(rX,e,n.e)})),b:q([dm(e)])},a.au)}),dT=w(function(e,t){return $(iF,e,t)?t:G(t,q([e]))}),dk=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;if(a.o.T.f7.$)return R(dL,e,\"The active access service has no URL.\",n);var i=z(a,{aq:3,cT:t}),o=z(n,{e:R(r_,e,i,n.e)}),s=n.aa;return s.$?{a:R(dE,e,i,o),b:U}:H(s.a,e)?{a:R(dE,e,i,o),b:U}:{a:z(o,{Z:$(dT,e,o.Z)}),b:U}}),dO=x(function(e,t,n,r){return{a:z(n,{e:R(rj,e,az(t),n.e)}),b:r}}),dH=y(function(e,t,n){var r=e+\"-\"+el(t.aE+1);return S(dO,e,function(e){return z(e,{aq:5})},n,q([R(dy,e,t.o.c3.f7,r)]))}),dV=y(function(e,t,n){for(;;){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=a.dv;if(!i.b)return R(dL,e,t,n);var o=i.a,s=z(a,{o:o,aE:0,cT:na,dv:i.b}),u=$(dR,e,z(n,{e:R(r_,e,s,n.e)}));switch(o.T.be){case 0:return $(dx,q([dm(e)]),R(dk,e,na,u));case 1:n=u;continue;default:return $(dx,q([dm(e)]),R(dH,e,s,u))}}}),dB=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;if(a.aE+1>=2)return R(dL,e,t,n);var i=z(n,{e:R(r_,e,z(a,{aE:a.aE+1}),n.e)});return $(dx,q([dm(e)]),R(dk,e,nr(t),i))}),dF=y(function(e,t,n){var r=$(rH,e,n.e);return r.$?{a:n,b:U}:0===r.a.o.T.be?R(dB,e,t,n):R(dV,e,t,n)}),d_=x(function(e,t,n,r){return{$:0,a:e,b:t,c:n,d:r}}),dN=w(function(e,t){return{$:1,a:e,b:t}}),dz=w(function(e,t){var n=\"auth-http-\"+el(t.cL);return{a:n,b:z(t,{cL:t.cL+1,v:R(r_,n,e,t.v)})}}),dG=x(function(e,t,n,r){var a=$(rH,e,r.D);if(a.$)return{a:r,b:U};var i=a.a,o=$(rH,i.b7,r.ar);if(o.$)return{a:r,b:U};var s=o.a;return{a:z(r,{D:$(rX,e,r.D)}),b:q([{$:8,a:{ev:t,aF:n.$?i.aF:nr(n.a),aG:s.aG,fl:e,aM:s.aM}}])}}),dU=w(function(e,t){return{$:0,a:e,b:t}}),dD=x(function(e,t,n,r){var a=$(dz,$(dU,e,{$:1,a:t}),r),i=a.a;return{a:a.b,b:q([S(d_,i,n.aM,na,t)])}}),dJ=y(function(e,t,n){var r=$(rH,e,n.D);if(r.$)return{a:n,b:U};var a=r.a,i=$(rH,a.b7,n.ar);if(i.$)return{a:n,b:U};var o=i.a,s={a:o.aG,b:a.aF};return s.a||1!==s.b.$?S(dG,e,t,na,n):(s.b,S(dD,e,t,o,n))}),dq=w(function(e,t){return 1===e.$?t:t+\":\"+el(e.a)}),dX=y(function(e,t,n){return 1===t.$?n:G(n,G(e,t.a))}),dj=function(e){var t=e.fe?\"https://\":\"http://\";return R(dX,\"#\",e.f4,R(dX,\"?\",e.gz,G($(dq,e.fa,G(t,e.eR)),e.s)))},dW=function(e){var t,n=G($(iR,function(e){return 2===e.be},e.b2),$(iR,function(e){return!e.be},e.b2)),r=$(aG,t=e.f7,$(az,function(e){return dj(z(e,{f4:na,gz:na}))},ri(t)))+\"|\"+$(nm,\"|\",$(an,function(e){return aL($(an,function(t){if(t.$)return na;var n=t.a;return nr($(aG,\"\",e.f7)+\"|\"+n.f7)},e.b2))},n));return $(an,function(t){return $(az,function(n){return{T:t,ak:r,a9:aL($(an,function(e){return e.$?nr(e.a):na},t.b2)),cR:e,c3:n}},aL($(an,function(e){return e.$?na:nr(e.a)},t.b2)))},n)},dZ=function(e){return\"Unsupported authorization service: \"+$(nm,\", \",e)+\".\"},dY=function(e){var t=$(iP,function(e){return e.b2},e),n=aL($(iR,function(e){return 1===e.be},t));if(n.$)return na;var r=n.a;return nr(\"IIIF Auth 2 '\"+function(){switch(r.be){case 0:return\"active\";case 1:return\"kiosk\";default:return\"external\"}}()+\"' access is not supported; supported profiles are 'external' and 'active'.\")},dK=function(e){if(!sd(e.c7))return nf(dZ(e.c7));var t=$(aG,U,aL($(iR,$(aE,uB,sd),$(rc,dW,e.cS))));if(!sd(t))return ng(t);var n=dY(e.cS);return n.$?nf(\"No supported Auth 2 external or active access service was provided.\"):nf(n.a)},dQ=x(function(e,t,n,r){var a=z(r,{D:R(rj,e,az(function(e){return z(e,{aF:n})}),r.D)}),i=dK(t);if(i.$)return R(dP,e,i.a,a);if(!i.a.b)return R(dP,e,\"No supported Auth 2 external or active access service was provided.\",a);var o=i.a,s=o.a,u=o.b,c=$(rH,s.ak,a.ax);if(c.$){var l=$(rH,s.ak,a.e);if(l.$){var d={o:s,aE:0,aq:0,cT:na,dv:u,au:q([e])},f=z(a,{e:R(r_,s.ak,d,a.e)}),h=$(dz,$(dN,s.ak,na),f),v=h.a;return{a:h.b,b:q([S(d_,v,s.cR.f7,na,!1)])}}var d=l.a;return{a:z(a,{e:R(r_,s.ak,z(d,{au:$(J,e,d.au)}),a.e)}),b:U}}return c.a?(c.a,R(dJ,e,!0,a)):(c.a,R(dJ,e,!1,a))}),d0=x(function(e,t,n,r){var a=$(eE,eb,n);if(a.$){var i=a.a;return R(dP,e,nB(i),r)}var o=a.a,s=$(e$,c8,o);if(s.$){var i=s.a;return R(dP,e,nB(i),r)}var u=s.a;return sd(u.cS)&&sd(u.c7)?t>=200&&t<300?S(dG,e,!1,nr(o),r):R(dP,e,\"Image information request failed (\"+el(t)+\").\",r):S(dQ,e,u,nr(o),r)}),d1=w(function(e,t){return{$:2,a:e,b:t}}),d2=function(e){return R(nx,lP,rI,e)},d4=w(function(e,t){return M(rV,1,e,t,rC,rC)}),d3=function(e){return e.ak},d6=w(function(e,t){return $(uf,e,t)}),d5=w(function(e,t){var n=e.o.a9;if(n.$)return t;var r=n.a,a=d2($(an,function(e){return $(az,function(e){return e.b7},$(rH,e,t.D))},e.au)),i=$(aG,\"\",e.o.T.f7)+(\"|\"+e.o.c3.f7)+\"|\"+r.f7,o=d3(e.o);return z(t,{ag:R(rj,i,function(e){if(e.$)return nr({aw:na,a5:$(d4,o,0),f7:i,a9:r,c$:a});var t=e.a;return nr(z(t,{aw:na,a5:$(lP,o,t.a5),c$:$(d6,a,t.c$)}))},t.ag)})}),d8=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a,i=z(n,{ax:R(r_,a.o.ak,+!!t,n.ax)}),o=t?$(d5,a,i):i;return R(nx,w(function(e,n){var r=n.a,a=n.b,i=$(rH,e,r.D);if(i.$)return{a:r,b:a};var o=i.a,s=$(rH,o.b7,r.ar);if(s.$)return{a:r,b:a};var u=s.a,c={a:u.aG,b:o.aF};if(c.a||1!==c.b.$){var l=S(dG,e,t,na,r),d=l.a,f=l.b;return{a:d,b:G(a,f)}}c.b;var h=S(dD,e,t,u,r),d=h.a,f=h.b;return{a:d,b:G(a,f)}}),{a:$(dR,e,z(o,{e:$(rX,e,o.e)})),b:q([dm(e)])},a.au)}),d7=y(function(e,t,n){var r=$(rH,e,n.e);if(r.$)return{a:n,b:U};var a=r.a;switch(a.o.T.be){case 0:return R(dk,e,na,n);case 1:return R(dV,e,t,n);default:return R(dH,e,a,n)}}),d9=function(e){return\"Access was not granted (\"+el(e)+\").\"},fe=$(ey,function(e){return e>=100&&e<=599?n1(e):av(\"Expected an HTTP status code between 100 and 599\")},ef),ft=A(function(e,t,n,r,a,i,o){return{k:e,dT:a,gd:o,d0:i,dE:n,gQ:r,g_:t}}),fn=\"http://iiif.io/api/auth/2/context.json\",fr=al(q([$(ep,\"@context\",eg),$(ep,\"context\",eg)])),fa=$(ey,function(e){return $(ah,fn,e)?n1(e):av(\"Expected \"+fn+\" but got \"+e)},fr),fi=R(eC,w(function(e,t){return{f7:e,g_:t}}),cj,cq),fo=y(function(e,t,n){return $(ey,function(r){var a=$(e$,$(ep,e,eb),r);if(a.$)return n1(na);var i=a.a;if(!t)return av(e+\" is not permitted for this probe status\");var o=$(e$,n,i);return o.$?av(nB(o.a)):n1(nr(o.a))},eb)}),fs=$(ey,function(e){return $(aB,R(fo,\"location\",e>=300&&e<=399,fi),$(aB,$(cZ,\"note\",iQ),$(aB,$(cZ,\"heading\",iQ),$(aB,$(ex,aG(U),R(fo,\"substitute\",401===e||403===e,cz(eb))),$(aB,n1(e),$(aB,cX(\"AuthProbeResult2\"),$(aB,fa,n1(ft))))))))},$(ep,\"status\",fe)),fu=x(function(e,t,n,r){var a=$(eE,fs,n);if(a.$)return R(dF,e,nB(a.a),r);var i=a.a;if(!H(i.gd,na)||!sd(i.gQ))return R(dL,e,\"IIIF Auth redirect, substitute, and tiered access flows are not supported.\",r);if(200===i.dE)return R(d8,e,!H(t,na),r);var o=$(rH,e,r.e);if(o.$)return{a:r,b:U};var s=o.a;switch(s.aq){case 0:return{a:z(r,{e:R(r_,e,z(s,{aq:1}),r.e)}),b:q([$(d1,e,d3(s.o))])};case 2:return $(dx,q([$(dw,e,d3(s.o))]),R(d7,e,d9(i.dE),r));case 6:return $(dx,q([$(dw,e,d3(s.o))]),R(dF,e,d9(i.dE),r));default:return R(dB,e,d9(i.dE),r)}}),fc=C(function(e,t,n,r,a){if(!(n>=200)||!(n<300))return R(dP,e,\"Image information request failed (\"+el(n)+\").\",a);var i=$(eE,eb,r);return i.$?R(dP,e,nB(i.a),a):S(dG,e,t,nr(i.a),a)}),fl=x(function(e,t,n,r){var a=$(rH,e,r.v);if(a.$)return{a:r,b:U};if(a.a.$){var i=a.a,o=i.a,s=i.b,u=z(r,{v:$(rX,e,r.v)});return S(fu,o,s,n,u)}var c=a.a,l=c.a,d=c.b,u=z(r,{v:$(rX,e,r.v)});return d.$?M(fc,l,d.a,t,n,u):S(d0,l,t,n,u)}),fd=y(function(e,t,n){return R(uu,y(function(t,n,r){return $(e,t,r)}),t,n)}),ff=function(e){var t=e.dh;return 1===t.$?$(az,function(e){return e.ak},$(aN,aL,u9(dK(t.a)))):na},fh=function(e){return R(ni,y(function(e,t,n){return $(J,t,n)}),U,e)},fv=w(function(e,t){return d2($(an,function(t){return $(aN,function(n){return $(lk,n,e)?nr(t.f7):na},ff(t))},fh(t)))}),fb=w(function(e,t){var n=$(rH,e,t.ag);if(n.$)return{a:t,b:U};var r=n.a,a=$(fv,r.a5,t.ar),i=nu($(d6,r.c$,a));return{a:z(t,{ax:R(fd,rX,t.ax,r.a5),ag:$(rX,e,t.ag)}),b:G($(rc,dw(e),nu(r.a5)),q([{$:7,a:i}]))}}),fg=y(function(e,t,n){var r=$(rH,e,n.v);return r.$?{a:n,b:U}:r.a.$?R(dF,r.a.a,t,z(n,{v:$(rX,e,n.v)})):R(dP,r.a.a,t,z(n,{v:$(rX,e,n.v)}))}),fp={$:0},fm=y(function(e,t,n){var r=$(dz,$(dU,e,fp),n),a=r.a;return{a:r.b,b:q([S(d_,a,t.aM,na,!1)])}}),fw=y(function(e,t,n){var r=$(rH,t,n.ar);if(r.$)return{a:n,b:q([$(dM,e,\"Unknown image source.\")])};var a=r.a,i=z(n,{D:R(r_,e,{aF:na,b7:t},n.D)}),o=a.dh;switch(o.$){case 0:return a.aG?S(dG,e,!1,na,i):R(fm,e,a,i);case 1:var s=o.a;return sd(s.cS)?sd(s.c7)?a.aG?S(dG,e,!1,na,i):R(fm,e,a,i):R(dP,e,dZ(s.c7),i):S(dQ,e,s,na,i);default:return R(dP,e,o.a,i)}}),fy=R(eC,w(function(e,t){return{bl:e,eH:t}}),$(ep,\"accessToken\",eg),al(q([$(ex,nr,$(ep,\"expiresAt\",ev)),n1(na)]))),fx=x(function(e,t,n,r){var a={a:$(rH,e,r.e),b:n};if(a.a.$)return{a:r,b:U};if(a.b.$)return a.b,R(d7,e,\"No cached token was found.\",r);var i=a.a.a,o=$(e$,fy,a.b.a);if(o.$)return $(dx,q([$(dw,e,d3(i.o))]),R(d7,e,\"The cached token is invalid.\",r));var s=o.a;if(!$(aG,!0,$(az,function(e){return 0>_(t,e)},s.eH)))return $(dx,q([$(dw,e,d3(i.o))]),R(d7,e,\"The cached token has expired.\",r));var u=$(dz,$(dN,e,nr(s.bl)),r),c=u.a,l=u.b;return{a:z(l,{e:R(r_,e,z(i,{aq:2}),l.e)}),b:q([S(d_,c,i.o.cR.f7,nr(s.bl),!1)])}}),fC=x(function(e,t,n,r){return{$:3,a:e,b:t,c:n,d:r}}),fI=C(function(e,t,n,r,a){return{bl:n,k:e,f$:r,e0:a,g_:t}}),fA=$(ey,function(e){return e>0?n1(e):av(\"Expected a positive integer\")},ef),fE=R(aP,\"messageId\",eg,$(aB,$(cZ,\"expiresIn\",fA),R(aP,\"accessToken\",eg,$(aB,cX(\"AuthAccessToken2\"),$(aB,fa,n1(fI)))))),f$=I(function(e,t,n,r,a,i){return{k:e,dT:r,e0:i,d0:a,be:n,g_:t}}),fR=$(ey,function(e){switch(e){case\"expiredAspect\":return n1(4);case\"invalidAspect\":return n1(3);case\"invalidOrigin\":return n1(1);case\"invalidRequest\":return n1(0);case\"missingAspect\":return n1(2);case\"unavailable\":return n1(5);default:return av(\"Unsupported Auth 2 token error profile: \"+e)}},eg),fS=R(aP,\"messageId\",eg,$(aB,$(cZ,\"note\",iQ),$(aB,$(cZ,\"heading\",iQ),R(aP,\"profile\",fR,$(aB,cX(\"AuthAccessTokenError2\"),$(aB,fa,n1(f$))))))),fM=x(function(e,t,n,r){var a=$(rH,e,r.e);if(a.$)return{a:r,b:U};var i=a.a,o=$(e$,fE,n);if(o.$){var s=o.a;return $(e$,fS,n).$?$(dx,q([$(dw,e,d3(i.o))]),R(dF,e,nB(s),r)):$(dx,q([$(dw,e,d3(i.o))]),R(dF,e,\"The token service refused access.\",r))}var u=o.a,c=t+1e3*$(aG,300,u.f$),l=$(dz,$(dN,e,nr(u.bl)),r),d=l.a,f=l.b;return{a:z(f,{e:R(r_,e,z(i,{aq:6}),f.e)}),b:q([S(fC,e,d3(i.o),u.bl,c),S(d_,d,i.o.cR.f7,nr(u.bl),!1),dm(e)])}}),fP=w(function(e,t){if(t.di)return{a:t,b:U};switch(e.$){case 0:var n=e.a;return R(fw,n,e.b,t);case 1:var n=e.a;return $(dS,n,t);case 2:var r=e.a;return S(fl,r,e.b,e.c,t);case 3:var r=e.a,a=e.b;return R(fg,r,a,t);case 4:var i=e.a,o=e.b,s=e.c;return S(fx,i,o,s,t);case 5:var i=e.a;return H(t.aa,nr(i))?S(dO,i,function(e){return z(e,{aq:4})},z(t,{ah:na}),U):{a:t,b:U};case 6:var i=e.a;return H(t.aa,nr(i))?R(dB,i,\"The sign-in window was blocked. Allow popups and retry.\",t):{a:t,b:U};case 7:var i=e.a,u={a:t.aa,b:$(rH,i,t.e)};if(u.a.$||u.b.$)return{a:t,b:U};var c=u.a.a,l=u.b.a;if(H(c,i)){var d=i+\"-\"+el(l.aE+1);return S(dO,i,function(e){return z(e,{aq:5})},t,q([R(dy,i,l.o.c3.f7,d)]))}return{a:t,b:U};case 8:var i=e.a,o=e.b,s=e.c;return S(fM,i,o,s,t);case 9:var i=e.a,a=e.b;return $(dx,function(){var e=$(rH,i,t.e);if(e.$)return U;var n=e.a;return q([$(dw,i,d3(n.o))])}(),R(dF,i,a,t));case 10:var f=e.a;return $(fb,f,t);case 11:var f=e.a;return{a:z(t,{ag:R(rj,f,az(function(e){return z(e,{aw:nr(\"The logout window was blocked. Allow popups and try again.\")})}),t.ag)}),b:U};case 12:return{a:t,b:U};case 13:var h=t.ah;if(!h.$)return R(dL,h.a.dl,\"Authorization was cancelled.\",t);return{a:t,b:U};default:var v=G($(rc,dp,ns(t.v)),$(rc,dm,ns(t.e)));return{a:z(t,{aa:na,ah:na,di:!0,e:rI,v:rI,D:rI,Z:U,ag:rI}),b:v}}}),fL=w(function(e,t){return z(t,{eJ:e(t.eJ)})}),fT=e3(\"zoomBy\",ek),fk=w(function(e,t){return{a:e,b:fT(t)}}),fO=function(e){var t=e.B;return t||e._},fH=w(function(e,t){switch(e.$){case 0:var n=$(fP,e.a,t.dh),r=n.a,a=n.b;return{a:z(t,{dh:r}),b:eQ($(rc,dv,a))};case 1:var i=e.a,o=function(){switch(i){case\"spread\":return{a:1,b:!1};case\"spread-shift\":return{a:1,b:!0};default:return{a:0,b:!1}}}(),s=o.a,u=o.b;return{a:z(t,{b3:u,cd:s}),b:lL($(cx,s,u))};case 2:var c=e.a,l=e.b;return{a:z(t,{dW:!0,X:!0,bd:nr(c)}),b:R(sM,$(uO,c,l),t.av,l)};case 3:var d=e.a;return{a:z(t,{dm:d}),b:lI};case 4:var f=e.a;return R(l$,!1,f,t);case 5:var f=e.a;return R(l$,!0,f,t);case 6:return{a:z(t,{bi:!1}),b:lI};case 7:var h=e.a,v=e.b,b=t.H;if(2===b.$){var g=b.a,p=$(lO,h,g.al);if(v.$)return{a:z(t,{H:uP(z(g,{al:p}))}),b:lI};var m=v.a;if(1===m.$){var w=m.a.b,y=g.u,x=y.a,C=y.b,I=z(g,{u:$(am,x,R(lH,h,w,C)),cJ:$(lP,h,g.cJ),al:p});return{a:z(t,{H:uP(I)}),b:lI}}return{a:z(t,{H:uP(z(g,{al:p}))}),b:lI}}return{a:t,b:lI};case 8:var A=e.a,v=e.b,E=t.H;if(2===E.$){var g=E.a;if(H(g.dA,nr(A)))if(v.$){var M=v.a;return{a:z(t,{X:!1,b0:{$:3,a:lM(M)}}),b:lI}}else{var P=v.a;return S(lm,\"collection-\"+A,na,t,P)};}return{a:t,b:lI};case 9:var v=e.a;if(t.dW)return{a:t,b:lI};if(v.$){var M=v.a;return{a:z(t,{X:!1,H:{$:3,a:lM(M)}}),b:dr({ac:lM(M),fl:\"initial\",aM:t.ba})}}var m=v.a;switch(m.$){case 0:var P=m.a,L=S(lm,\"initial\",nr(t.cG),t,P),T=L.a,k=L.b;return{a:z(T,{a3:!1,H:uL(P)}),b:eQ(q([k,da({cA:!sd(T.ap),cO:$(aG,0,T.R),fl:\"initial\",aM:t.ba})]))};case 1:var O=m.a,V=O.a,B=O.b;return{a:z(t,{dh:rE,a3:!0,X:!1,ap:U,H:uP({u:$(am,V,B),bL:rI,cJ:rI,al:rI,dA:na}),b0:uM,R:na}),b:eQ(q([u5(\"initial\"),da({cA:!1,cO:0,fl:\"initial\",aM:t.ba})]))};default:return{a:z(t,{X:!1}),b:dr({ac:\"URL did not return a supported IIIF resource.\",fl:\"initial\",aM:t.ba})}}case 10:var c=e.a,l=e.b,v=e.c;if(H(t.bd,nr(c)))if(v.$){var M=v.a;return{a:z(t,{X:!1,bd:na}),b:dr({ac:lM(M),fl:c,aM:l})}}else{var m=v.a;switch(m.$){case 0:var P=m.a,F=S(lm,c,na,t,P),T=F.a,k=F.b;return{a:z(T,{a3:!1,ba:l,bd:na,H:uL(P)}),b:eQ(q([k,da({cA:!sd(T.ap),cO:0,fl:c,aM:l})]))};case 1:var N=m.a,V=N.a,B=N.b;return{a:z(t,{dh:rE,a3:!0,X:!1,ba:l,ap:U,bd:na,H:uP({u:$(am,V,B),bL:rI,cJ:rI,al:rI,dA:na}),b0:uM,R:na}),b:eQ(q([u5(c),da({cA:!1,cO:0,fl:c,aM:l})]))};default:return{a:z(t,{X:!1,bd:na}),b:dr({ac:\"URL did not return a supported IIIF resource.\",fl:c,aM:l})}}}return{a:t,b:lI};case 11:var D=co(t.cu);if(D.$){var M=D.a;return{a:z(t,{bN:nr(M)}),b:lI}}var J=D.a,X=cd(J),T=z(t,{eJ:J,bN:na,cu:X});return{a:T,b:lE(T)};case 12:var j,W=e.a,Z=(j=t.$7).$?nr(W):nr(j.a);return{a:z(t,{dO:nr(W),$7:Z}),b:lI};case 13:return{a:z(t,{dZ:!1}),b:lI};case 14:var T=z(t,{eJ:sP,ds:!1,aJ:0,cP:!1});return{a:T,b:u1(na)};case 15:var h=e.a,Y=t.H;if(2===Y.$){var g=Y.a,K=$(lk,h,g.bL)?$(lO,h,g.bL):$(lP,h,g.bL),C=g.u.b,Q=$(aG,!0,$(az,$(rW,function(e){return e.aH},sd),$(cf,h,C)))&&!$(lk,h,g.cJ)&&!$(lk,h,g.al),p=Q?$(lP,h,g.al):g.al,I=z(g,{bL:K,al:p});return{a:z(t,{H:uP(I)}),b:Q?R(sM,uT(h),t.av,h):lI}}return{a:t,b:lI};case 16:var A=e.a,ee=e.b,et=t.H;if(2===et.$){var g=et.a;return{a:z(t,{X:!0,H:uP(z(g,{dA:nr(A)})),b0:rp}),b:R(dt,uk(A),t.av,ee)}}return{a:t,b:lI};case 17:return{a:z(t,{dZ:!0}),b:lI};case 18:var T=z(t,{aJ:0,cP:!0,dt:!0,B:fO(t)});return{a:T,b:lE(T)};case 19:var f=e.a,T=z(t,{aJ:f});return{a:T,b:lE(T)};case 20:return $(lS,1,t);case 21:return $(lS,-1,t);case 22:var en=e.a,er=en.$?lI:lR(en.a),T=z(t,{cQ:en,R:en.$?t.R:nr(en.a),B:fO(t),bi:!0});return{a:T,b:eQ(q([er,lE(T)]))};case 23:return{a:t,b:db(0)};case 24:var f=e.a,T=z(t,{aJ:0,R:nr(f),B:fO(t),bi:!1});return{a:T,b:eQ(q([lR(f),$(lA,1===T.B,f),lE(T)]))};case 25:return $(fk,t,1.6);case 26:return $(fk,t,.625);case 27:var X=cd(t.eJ);return{a:z(t,{bN:na,cu:X}),b:u8(X)};case 28:var ea=e.a,ei=t.co;if(ei.$)return{a:t,b:lI};var eo=ei.a,es=R(rx,240,480,eo.dC+(ea-eo.dD));return{a:z(t,{dL:es}),b:lI};case 29:var ea=e.a,eu=t.cX;if(eu.$)return{a:t,b:lI};var eo=eu.a,ec=eo.dD-ea,es=R(rx,220,520,eo.dC+ec);return{a:z(t,{b4:es}),b:lI};case 30:return{a:z(t,{co:na}),b:lI};case 31:return{a:z(t,{cX:na}),b:lI};case 32:var T=z(t,{eJ:sP,bN:na});return{a:T,b:lE(T)};case 33:var T=$(fL,dn,t);return{a:T,b:lE(T)};case 34:return{a:z(t,{dN:0}),b:lI};case 35:return{a:z(t,{dN:1}),b:lI};case 36:var ea=e.a;return{a:z(t,{co:nr({dC:t.dL,dD:ea})}),b:lI};case 37:var ea=e.a;return{a:z(t,{cX:nr({dC:t.b4,dD:ea})}),b:lI};case 38:return{a:z(t,{_:3,B:3}),b:lI};case 39:if(2===t.H.$)return{a:z(t,{a3:!t.a3}),b:lI};return{a:t,b:lI};case 40:var el=e.a,d=e.b,T=$(fL,$(uD,el,d),t);return{a:T,b:lE(T)};case 41:var ed=e.a,ef=$(lk,ed,t.ct)?$(lO,ed,t.ct):$(lP,ed,t.ct);return{a:z(t,{ct:ef}),b:lI};case 42:var eh=!t.dm;return{a:z(t,{dm:eh}),b:dg(eh)};case 43:return{a:z(t,{_:2,B:2}),b:lI};case 44:return{a:z(t,{ds:!t.ds}),b:lI};case 45:return{a:z(t,{dt:!t.dt}),b:lI};case 46:var ev=e.a;return{a:z(t,{ea:H(t.ea,nr(ev))?na:nr(ev)}),b:lI};case 47:if(t.cd){var u=!t.b3;return{a:z(t,{b3:u}),b:lL($(cx,1,u))}}return{a:t,b:lI};case 48:return t.dp?t.bS?{a:z(t,{bS:!1,B:0}),b:lI}:{a:z(t,{bS:!0,B:t._}),b:lI}:t.B?{a:z(t,{B:0}),b:lI}:{a:z(t,{B:t._}),b:lI};case 49:var eb=function(){var e={a:t.cQ,b:t.R};if(e.a.$)if(e.b.$)return lI;else{e.a;var n=e.b.a;return $(lA,!0,n)}var n=e.a.a;return $(lA,!0,n)}(),T=z(t,{_:1,B:1});return{a:z(T,{cQ:na,bi:!t.cQ.$}),b:eb};case 50:var eg=+!t.cd;return{a:z(t,{cd:eg}),b:lL($(cx,eg,t.b3))};case 51:var ep=e.a,em=e.b,T=$(fL,$(uq,ep,em),t);return{a:T,b:lE(T)};case 52:var ew=e.a,em=e.b,T=$(fL,$(uZ,ew,em),t);return{a:T,b:lE(T)};case 53:var em=e.a;return{a:z(t,{bN:na,cu:em}),b:lI};case 54:var ey=e.a,em=e.b,T=$(fL,$(uQ,ey,em),t);return{a:T,b:lE(T)};case 55:return{a:z(t,{X:e.a}),b:lI};case 56:var T=1>_(e.a,720)?z(t,{dp:!0,bS:!1,B:0}):z(t,{dp:!1,bS:!1});return{a:T,b:lI};case 57:var f=e.a,ex=$(cv,f,t.ap);if(!ex.$)return $(l9,ex.a.M,t);return{a:t,b:lI};case 58:var eC=e.a,v=e.b,T=z(t,{a1:$(lO,eC,t.a1)});if(v.$)return{a:T,b:lI};var eI=G(v.a,$(aG,U,$(rH,eC,T.aC)));return{a:z(T,{aC:R(r_,eC,eI,T.aC)}),b:uG({de:$(rc,cc($(u_,eC,T)),eI),M:eC})};default:return{a:z(t,{df:!t.df}),b:uU(!t.df)}}}),fV=w(function(e,t){return $(tC,e,ek(t))}),fB=fV(\"className\"),fF=function(e){return fB($(nm,\" \",$(rc,nW,$(iR,la,e))))},f_=tf(\"div\"),fN=fV(\"id\"),fz=cb(function(e){return e.dX}),fG=cb(function(e){return e.fm}),fU={$:13},fD=w(function(e,t){return $(tI,t$.test(e)?\"data-\"+e:e,tM(t))}),fJ=tf(\"button\"),fq=tf(\"h2\"),fX=w(function(e,t){return $(ty,e,{$:0,a:t})}),fj=function(e){return $(fX,\"click\",n1(e))},fW=tf(\"p\"),fZ=fV(\"type\"),fY=w(function(e,t){var n=w(function(t,n){return $(aG,n,$(az,cA(e.ey),t))}),r=$(aG,$(n,t.d0,\"Sign in to view this image.\"),t.aw);return $(f_,q([fB(\"diva-auth-overlay\"),$(fD,\"role\",\"dialog\"),$(fD,\"aria-modal\",\"true\")]),q([$(f_,q([fB(\"diva-auth-dialog\")]),q([$(fq,U,q([tl($(n,t.dT,\"Sign in required\"))])),$(fW,U,q([tl(r)])),$(fJ,q([fZ(\"button\"),$(fD,\"data-diva-auth-flow\",t.dl),$(fD,\"data-diva-auth-url\",t.el)]),q([tl(H(t.aw,na)?$(n,t.dM,\"Sign in\"):\"Retry\")])),$(fJ,q([fZ(\"button\"),fj(sk(fU))]),q([tl(\"Cancel\")]))]))]))}),fK=function(e){return tf(tE.test(e)?\"p\":e)},fQ=tl(\"\"),f0=w(function(e,t){return t?e:fQ}),f1=w(function(e,t){return t.$?fQ:e(t.a)}),f2=(s=q([.2,.3,.4,.1,.2,.3,0,.1,.2]),$(f_,q([fB(\"diva-throbber-overlay\")]),q([$(f_,q([fB(\"diva-throbber\")]),$(rc,function(e){return $(f_,q([fB(\"diva-throbber-cube\"),$(tx,\"animation-delay\",el(e)+\"s\")]),U)},s))]))),f4=function(e){var t=e.a,n=e.b,r=e.c;return $(f_,q([fB(\"diva-viewer-status-overlay\")]),q([$(f_,q([fB(\"diva-modal is-narrow\")]),q([$(f_,q([fB(\"diva-modal-header\")]),q([$(f_,q([fB(\"diva-modal-title\")]),q([tl(t)]))])),$(f_,q([fB(\"diva-modal-body is-no-sidebar\")]),q([$(f_,q([fF(q([{a:\"diva-status\",b:!0},{a:\"is-error\",b:r}]))]),q([tl(n)]))]))]))]))},f3=function(e){return $(f_,q([fB(\"diva-viewer-zoom-indicator\")]),q([tl(e)]))},f6=C(function(e,t,n,r,a){return $(f_,q([fB(\"diva-canvas-wrapper\")]),q([R(fK,\"osd-viewer\",q([fF(q([{a:\"diva-canvas\",b:!0},{a:\"is-fullscreen\",b:e},{a:\"has-collection\",b:n}])),fN(\"main-viewer\")]),U),$(f0,f2,t),$(f1,f4,r),$(f1,f3,a)]))}),f5=function(e){return{$:36,a:e}},f8=tf(\"li\"),f7=tf(\"ul\"),f9=w(function(e,t){return{$:16,a:e,b:t}}),he=y(function(e,t,n){var r=$(cA,e,n.dX);return $(f8,U,q([$(fJ,q([fF(q([{a:\"diva-manifest-tree-item\",b:!0},{a:\"diva-ui-button\",b:!0},{a:\"is-active\",b:H(t.dA,nr(n.f7))}])),fZ(\"button\"),fj($(f9,n.f7,n.f7))]),q([tl(r)]))]))}),ht=y(function(e,t,n){return n.$?R(he,e,t,n.a):R(hr,e,t,n.a)}),hn=y(function(e,t,n){return $(f7,q([fB(\"diva-collection-list diva-list-reset\")]),$(rc,R(tg,ht,e,t),n))}),hr=y(function(e,t,n){var r=$(cA,e,n.dX),a=$(lk,n.f7,t.bL),i=function(){if(!a)return U;var r=$(lk,n.f7,t.al)?q([$(f_,q([fB(\"diva-contents-empty\")]),q([tl(\"Loading…\")]))]):U;return $(J,R(hn,e,t,n.aH),r)}();return $(f8,q([fB(\"diva-collection-tree-item\")]),$(J,$(fJ,q([fB(\"diva-collection-node-button diva-ui-button\"),fZ(\"button\"),fj({$:15,a:n.f7})]),q([$(f_,q([fB(\"diva-collection-expand-icon\")]),q([tl(a?\"▼\":\"▶\")])),tl(r)])),i))}),ha=w(function(e,t){var n=t.u.b,r=$(cA,e.ey,n.dX);return $(f_,q([fF(q([{a:\"diva-collection-panel\",b:!0},{a:\"is-fullscreen\",b:e.dm},{a:\"is-hidden\",b:!e.a3}])),$(tx,\"width\",e.a3?el(e.dL)+\"px\":\"0px\")]),q([$(f_,q([fB(\"diva-collection-header\")]),q([$(f_,q([fB(\"diva-collection-title\")]),q([tl(r)])),$(f1,function(t){return $(f_,q([fB(\"diva-collection-summary\")]),q([tl($(cA,e.ey,t))]))},n.gR)])),$(f_,q([fB(\"diva-sidebar-content\")]),q([$(f_,q([fB(\"diva-sidebar-pane is-scroll\")]),q([R(hn,e.ey,t,n.aH)]))]))]))}),hi=function(e){var t=e.H;return 2===t.$?$(ha,e,t.a):fQ},ho=tf(\"a\"),hs=function(e){return $(fV,\"href\",tR.test(e)?\"\":e)},hu=function(e){switch(e.$){case 0:return e.a;case 1:return\"none\";default:return\"default\"}},hc=tI(\"rel\"),hl=function(e){return{$:0,a:e}},hd=y(function(e,t,n){return{$:1,a:e,b:t,c:n}}),hf=w(function(e,t){var n=t.ad;if(!n.b)return z(t,{cV:$(J,e,t.cV)});var r=n.a,a=n.b;return z(t,{ad:$(J,z(r,{cn:$(J,e,r.cn)}),a)})}),hh=function(e){var t=e.ad;if(!t.b)return e;var n=t.a,r=t.b;return $(hf,R(hd,n.cK,n.dJ,nO(n.cn)),z(e,{ad:r}))},hv=w(function(e,t){for(;;){var n=t.ad;if(!n.b)return t;var r=n.a,a=hh(t);if(H(r.cK,e))return a;t=a}}),hb=w(function(e,t){switch(e.$){case 0:var n,r=e.a,a=e.b;return e.c||\"br\"===(n=r)||\"img\"===n?$(hf,R(hd,r,a,U),t):z(t,{ad:$(J,{dJ:a,cn:U,cK:r},t.ad)});case 1:var r=e.a;return $(ad,function(e){return H(e.cK,r)},t.ad)?$(hv,r,t):t;default:var i=e.a;return n7(i)?t:$(hf,hl(i),t)}}),hg=function(e){for(;;){if(!e.ad.b)return e;e=hh(e)}},hp=function(e){return{$:1,a:e}},hm=function(e){return{$:0,a:e}},hw=w(function(e,t){return{$:1,a:e,b:t}}),hy=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),hx=w(function(e,t){return{$:1,a:e,b:t}}),hC=x(function(e,t,n,r){return{dK:t,fU:r,d6:n,d9:e}}),hI={$:0},hA=w(function(e,t){return $(hx,hI,S(hC,e.d9,e.dK,t,e.k))}),hE=(u={$:10},function(e){return H(n5(e.d),e.h)?R(hy,!1,0,e):$(hw,!1,$(hA,e,u))}),h$=w(function(e,t){return function(n){var r=t(n);if(r.$){var a=r.a;return $(hw,a,r.b)}var a=r.a,i=r.b,o=r.c;return R(hy,a,e(i),o)}}),hR=w(function(e,t){return{$:2,a:e,b:t}}),hS=y(function(e,t,n){for(;;)if(!n.b)return $(hw,!1,t);else{var r=n.a,a=n.b,i=r(e);if(i.$){var o=i,s=o.a,u=o.b;if(s)return o;var c=e,l=$(hR,t,u);e=c,t=l,n=a;continue}var o=i;return o}}),hM=function(e){return function(t){return R(hS,t,hI,e)}},hP=function(e){return{$:2,a:e}},hL=function(e){return function(t){var n=e(t);return 1===n.$?$(hw,!1,n.b):R(hy,!1,n.b,n.c)}},hT=x(function(e,t,n,r){return $(hx,hI,S(hC,e,t,n,r))}),hk=w(function(e,t){return{$:0,a:e,b:t}}),hO=y(function(e,t,n){return function(r){var a=t(r);if(1===a.$){var i=a.a,o=a.b;return $(hw,i,o)}var s=a.a,u=a.b,c=n(a.c);if(1===c.$){var l=c.a,o=c.b;return $(hw,s||l,o)}var l=c.a,d=c.b,f=c.c;return R(hy,s||l,$(e,u,d),f)}}),hH=w(function(e,t){return R(hO,uY,e,t)}),hV=function(e){return function(t){return R(hy,!1,e,t)}},hB=function(e){var t=e.a,n=e.b,r=!n7(t);return function(e){var a=M(ne,t,e.h,e.d9,e.dK,e.d),i=a.a,o=a.b,s=a.c;return H(i,-1)?$(hw,!1,$(hA,e,n)):R(hy,r,0,{dK:s,k:e.k,p:e.p,h:i,d9:o,d:e.d})}},hF=function(e){return hB($(hk,e,{$:8,a:e}))},h_=$(hH,$(hH,hV(hP(\"\")),hF(\"\\x3c!--\")),(t=(e=$(hk,\"--\\x3e\",{$:0,a:\"--\\x3e\"})).a,n=e.b,function(e){var r=M(nn,t,e.h,e.d9,e.dK,e.d),a=r.a,i=r.b,o=r.c;return H(a,-1)?$(hw,!1,S(hT,i,o,n,e.k)):R(hy,0>_(e.h,a),0,{dK:o,k:e.k,p:e.p,h:a,d9:i,d:e.d})})),hN=w(function(e,t){return R(hO,nJ,e,t)}),hz={$:11},hG=w(function(e,t){return function(n){var r=R(nt,e,n.h,n.d);return H(r,-1)?$(hw,!1,$(hA,n,t)):H(r,-2)?R(hy,!0,0,{dK:1,k:n.k,p:n.p,h:n.h+1,d9:n.d9+1,d:n.d}):R(hy,!0,0,{dK:n.dK+1,k:n.k,p:n.p,h:r,d9:n.d9,d:n.d})}}),hU=function(e){return $(hG,e,hz)},hD=C(function(e,t,n,r,a){for(;;){var i=R(nt,e,t,a.d);if(H(i,-1))return R(hy,0>_(a.h,t),0,{dK:r,k:a.k,p:a.p,h:t,d9:n,d:a.d});if(H(i,-2)){var o=e,s=t+1,u=n+1,c=1,l=a;e=o,t=s,n=u,r=c,a=l;continue}var o=e,s=i,u=n,c=r+1,l=a;e=o,t=s,n=u,r=c,a=l}}),hJ=function(e){return function(t){return M(hD,e,t.h,t.d9,t.dK,t)}},hq=function(e){return $(hH,$(hH,hV(0),hU(e)),hJ(e))},hX=w(function(e,t){return function(n){var r=t(n);if(1===r.$){var a=r.a;return $(hw,a,r.b)}var a=r.a,i=r.b,o=r.c;return R(hy,a,$(e,R(ea,n.h,o.h,n.d),i),o)}}),hj=function(e){return $(hX,uY,e)},hW=$(h$,lc,hj(hq(function(e){return nP(e)||nT(e)||\"-\"===e}))),hZ=function(e){return $(iF,e,q([\" \",\"\t\",\"\\n\",\"\\r\",\"\\f\"]))},hY=hJ(hZ),hK=$(hN,$(hH,hV(function(e){return{$:1,a:e}}),hF(\"\"))),hQ=w(function(e,t){return function(n){var r=t(n);if(1===r.$){var a=r.a,i=r.b;return $(hw,a,i)}var o=r.a,s=r.b,u=r.c,c=e(s)(u);if(1===c.$){var l=c.a,i=c.b;return $(hw,o||l,i)}var l=c.a;return R(hy,o||l,c.b,c.c)}}),h0=x(function(e,t,n,r){for(;;){var a=n(t)(r);if(a.$){var i=a.a;return $(hw,e||i,a.b)}var i=a.a,o=a.b,s=a.c;if(o.$)return R(hy,e||i,o.a,s);var u=o.a,c=n;e=e||i,t=u,n=c,r=s}}),h1=w(function(e,t){return function(n){return S(h0,!1,e,t,n)}}),h2=function(e){return e.$?{$:1,a:e.a}:{$:0,a:e.a}},h4=w(function(e,t){return $(h1,e,function(e){return $(h$,h2,t(e))})}),h3=y(function(e,t,n){return{$:0,a:e,b:t,c:n}}),h6=function(e){return $(hN,$(hH,hV(n4),hU(B(e))),$(hH,hj(hJ(F(e))),hU(B(e))))},h5=hM(q([h6('\"'),h6(\"'\"),hj(hq(function(e){return!(hZ(e)||\">\"===e||\"/\"===e)}))])),h8=function(e){var t;return e>=0&&e<=1114111?nr(cs((t=e)<0||1114111=\"0\"&&e<=\"9\"?nr(nL(e)-nL(\"0\")):e>=\"a\"&&e<=\"f\"?nr(10+nL(e)-nL(\"a\")):e>=\"A\"&&e<=\"F\"?nr(10+nL(e)-nL(\"A\")):na};return n.a.$||n.b.$?na:nr(16*n.a.a+n.b.a)}),h9=function(e){var t;return $(es,\"#x\",e)||$(es,\"#X\",e)?$(aN,h8,n7(t=$(n8,2,e))?na:R(nx,h7,nr(0),ck(t))):$(es,\"#\",e)?$(aN,h8,re($(n8,1,e))):na},ve=function(e){switch(e){case\"amp\":return nr(\"&\");case\"apos\":return nr(\"'\");case\"copy\":return nr(\"©\");case\"gt\":return nr(\">\");case\"hellip\":return nr(\"…\");case\"lt\":return nr(\"<\");case\"mdash\":return nr(\"—\");case\"nbsp\":return nr(\" \");case\"ndash\":return nr(\"–\");case\"quot\":return nr('\"');case\"reg\":return nr(\"®\");default:return h9(e)}},vt=function(e){var t=$(nw,\";\",e);if(!t.b||!t.b.b)return\"&\"+e;var n=t.a,r=t.b,a=r.a,i=r.b;return $(aG,\"&\"+e,$(az,function(e){return G(e,$(nm,\";\",$(J,a,i)))},ve(n)))},vn=function(e){var t=$(nw,\"&\",e);if(!t.b)return e;var n=t.a,r=t.b;return R(nx,w(function(e,t){return G(t,vt(e))}),n,r)},vr=$(hQ,function(e){return $(hN,$(hH,hV(function(t){return{a:e,b:vn(t)}}),hY),hM(q([$(hN,$(hH,$(hH,hV(n4),hF(\"=\")),hY),h5),hV(\"\")])))},$(h$,lc,hj(hq(function(e){return!(hZ(e)||\"=\"===e||\">\"===e||\"/\"===e)})))),va=$(hH,$(hH,hV(0),hU(hZ)),hJ(hZ)),vi=w(function(e,t){return hM(q([$(h$,function(n){return hp(R(h3,e,nO(t),!0))},hF(\"/>\")),$(h$,function(n){return hp(R(h3,e,nO(t),!1))},hF(\">\")),$(h$,function(e){return hm(t)},va),$(h$,function(e){return hm($(J,e,t))},vr)]))}),vo=hM(q([hK,$(hQ,function(e){return $(h4,U,vi(e))},$(hN,$(hH,hV(n4),hF(\"<\")),hW))])),vs=$(h$,$(rW,vn,hP),hj(hq(F(\"<\")))),vu=hM(q([hL(h_),$(h$,function(e){return hP(\"\")},hF(\"--\\x3e\")),hL(vo),vs,$(h$,function(e){return hP(\"<\")},hF(\"<\"))])),vc=$(h4,U,function(e){return hM(q([$(h$,function(t){return hp(nO(e))},hE),$(h$,function(t){return hm($(J,t,e))},vu)]))}),vl={ad:U,cV:U},vd=y(function(e,t,n){return{dK:t,d6:n,d9:e}}),vf=function(e){return R(vd,e.d9,e.dK,e.d6)},vh=w(function(e,t){for(;;)switch(e.$){case 0:return t;case 1:var n=e.a,r=e.b,a=n,i=$(J,r,t);e=a,t=i;continue;default:var n=e.a,o=e.b,a=n,i=$(vh,o,t);e=a,t=i;continue}}),vv=w(function(e,t){var n=e({dK:1,k:U,p:1,h:0,d9:1,d:t});return n.$?nf($(vh,n.b,U)):ng(n.b)}),vb=w(function(e,t){var n=$(vv,e,t);return n.$?nf($(rc,vf,n.a)):ng(n.a)}),vg=function(e){var t=lc(e.trim());return $(es,\"https://\",t)||$(es,\"http://\",t)||$(es,\"mailto:\",t)||$(es,\"tel:\",t)||$(es,\"/\",t)||$(es,\"./\",t)||$(es,\"../\",t)||$(es,\"#\",t)||$(es,\"?\",t)||!$(eo,\":\",t)},vp=function(e){var t=e.a,n=e.b;return\"href\"===t&&vg(n)?nr({a:t,b:n}):na},vm=w(function(e,t){switch(e){case\"a\":return G($(an,vp,t),q([{a:\"target\",b:\"_blank\"},{a:\"rel\",b:\"noopener noreferrer\"}]));case\"img\":return $(iR,function(e){var t=e.a;return\"src\"===t||\"alt\"===t},t);default:return U}}),vw=function(e){if(!e.$)return q([hl(e.a)]);var t=e.a,n=e.b,r=vy(e.c);return $(iF,t,q([\"div\",\"p\",\"br\",\"em\",\"i\",\"strong\",\"b\",\"a\",\"ul\",\"ol\",\"li\",\"dl\",\"dt\",\"dd\",\"span\",\"img\"]))?q([R(hd,t,$(vm,t,n),r)]):r},vy=function(e){return $(iP,vw,e)},vx=function(e){var t=$(vb,vc,e);return t.$?q([hl(e)]):vy(nO(hg(R(nx,hb,vl,t.a)).cV))},vC=function(e){return $(fD,e.a,e.b)},vI=function(e){if(!e.$)return tl(e.a);var t=e.a,n=e.b,r=e.c;return R(fK,t,$(rc,vC,n),$(rc,vI,r))},vA=function(e){return $(rc,vI,vx(e))},vE=fV(\"target\"),v$=function(e){switch(e){case 0:return\"Left to Right\";case 1:return\"Right to Left\";case 2:return\"Top to Bottom\";default:return\"Bottom to Top\"}},vR=function(e){switch(e){case 0:return\"Auto-advance\";case 1:return\"No auto-advance\";case 2:return\"Repeat\";case 3:return\"No repeat\";case 4:return\"Unordered\";case 5:return\"Individuals\";case 6:return\"Continuous\";case 7:return\"Paged\";case 8:return\"Facing pages\";case 9:return\"Non-paged\";case 10:return\"Multi-part\";case 11:return\"Together\";case 12:return\"Sequence\";case 13:return\"Thumbnail nav\";case 14:return\"No nav\";default:return\"Hidden\"}},vS=function(e){switch(e){case 0:return\"Paged\";case 1:return\"Individuals\";case 2:return\"Continuous\";case 3:return\"Multi-part\";case 4:return\"Non-paged\";case 5:return\"Top\";default:return\"Facing pages\"}},vM=function(e){if(!e.$)return\"Hint: \"+vS(e.a);var t=e.a;return sd(t)?\"Behavior: None\":\"Behavior: \"+$(nm,\", \",$(rc,vR,t))},vP=w(function(e,t){var n=el($(aG,0,$(az,nC,lh(t)))),r=function(){var t=e.H;switch(t.$){case 1:default:return e.ba;case 2:var n=t.a;return $(aG,e.ba,n.dA)}}(),a=el(nC(cg(t))),i=t.a,o=t.b,s=$(aG,\"None\",$(az,cA(e.ey),o.gR)),u=v$(o.g1),c=vM(o.g2),l=function(){switch(i){case 0:return\"IIIF v1\";case 1:return\"IIIF v2\";default:return\"IIIF v3\"}}();return $(J,{a:\"Manifest URL\",b:$(ho,q([hs(r),vE(\"_blank\"),hc(\"noopener noreferrer\")]),q([tl(r)]))},G(sd(e.av)?U:q([{a:\"Accept Headers\",b:tl($(nm,\", \",e.av))}]),q([{a:\"Detected User Language\",b:tl(hu(e.ey))},{a:\"IIIF Version\",b:tl(l)},{a:\"Viewing Hint / Behavior\",b:tl(c)},{a:\"Viewing Direction\",b:tl(u)},{a:\"Summary\",b:\"None\"===s?tl(s):$(f_,U,vA(s))},{a:\"Canvases\",b:tl(a)},{a:\"Ranges\",b:tl(n)}])))}),vL=fV(\"alt\"),vT=tf(\"img\"),vk=function(e){var t=$(aN,aL,e.ft);if(t.$)return nr(e.f7);var n=t.a;return $(az,$(rW,cB(im(256)),cV),iO(n.f7))},vO=function(e){return $(fV,\"src\",tM(e))},vH=cb(function(e){return e.ge}),vV=cb(function(e){return e.ff}),vB=w(function(e,t){var n=function(){var e=$(aN,aL,vV(t));if(e.$)return{a:na,b:$(aN,aL,ld(t))};var n=e.a;return{a:$(aN,aL,n.ge),b:$(aN,aL,n.f6)}}(),r=n.a,a=n.b,i=r.$?$(az,$(rW,function(e){return e.f7},$(rW,cB(im(256)),cV)),vH(t)):vk(r.a);return H(i,na)&&H(a,na)?fQ:$(f_,U,q([$(f1,function(e){return $(vT,q([fB(\"diva-manifest-info-logo\"),vO(e),vL(\"Manifest logo\")]),U)},i),$(f1,function(t){var n=$(cA,e,t.dX);return $(ho,q([hs(t.f7),vE(\"_blank\"),hc(\"noopener noreferrer\")]),q([tl(n)]))},a)]))}),vF=function(e){var t=e.a,n=e.b;return $(f_,q([fB(\"diva-metadata-item\")]),q([$(f_,q([fB(\"diva-metadata-label\")]),q([tl(t)])),$(f_,q([fB(\"diva-metadata-value\")]),q([n]))]))},v_=w(function(e,t){var n=$(aG,q([{a:\"Manifest\",b:tl(\"Not loaded\")}]),$(az,vP(e),t)),r=$(f1,vB(e.ey),t);return $(f_,q([fB(\"diva-modal-body is-two-column\")]),q([$(f_,q([fB(\"diva-metadata-body\")]),$(rc,vF,n)),$(f_,q([fB(\"diva-manifest-info-logo-wrap\")]),q([r]))]))}),vN={$:13},vz=tI(\"d\"),vG=tI(\"fill\"),vU=tI(\"height\"),vD=td(\"http://www.w3.org/2000/svg\"),vJ=vD(\"path\"),vq=vD(\"svg\"),vX=tI(\"viewBox\"),vj=tI(\"width\"),vW=function(e){return $(vq,q([vX(e.t),vj(\"100%\"),vU(\"100%\"),vG(\"currentColor\")]),q([$(vJ,q([vz(e.s)]),U)]))},vZ=vW({s:\"M64 80c-8.8 0-16 7.2-16 16V416c0 8.8 7.2 16 16 16H448c8.8 0 16-7.2 16-16V96c0-8.8-7.2-16-16-16H64zM0 96C0 60.7 28.7 32 64 32H448c35.3 0 64 28.7 64 64V416c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V96zm175 79c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z\",t:\"0 0 512 512\"}),vY=w(function(e,t){return $(tC,e,ek(t))}),vK=vY(\"disabled\"),vQ=w(function(e,t){var n,r,a=(n=q([fF(q([{a:\"diva-canvas-toolbar-button\",b:!0},{a:\"is-disabled\",b:H(t.d3,na)},{a:\"is-fullscreen\",b:t.eY}])),fZ(\"button\"),$(fD,\"aria-label\",t.dX)]),(r=t.d3).$?$(J,vK(!0),G(e,n)):$(J,fj(r.a),G(e,n)));return $(f_,q([fB(\"diva-canvas-toolbar-item\"),$(fD,\"data-tooltip\",t.dX)]),q([$(fJ,a,q([t.eS]))]))}),v0=function(e){return $(vQ,U,e)},v1=function(e){var t=e.dm;return $(f_,q([fB(\"diva-modal-header\")]),q([$(f_,q([fB(\"diva-modal-title\")]),q([tl(\"Manifest Info\")])),$(f_,q([fB(\"diva-modal-actions\")]),q([$(f_,q([fB(\"diva-modal-close-action\")]),q([v0({eS:vZ,eY:t,dX:\"Close\",d3:nr(vN)})]))]))]))},v2=tf(\"h1\"),v4=y(function(e,t,n){return e&&!n7(n)?$(v2,q([fF(q([{a:\"diva-app-title\",b:!0},{a:\"is-fullscreen\",b:t}]))]),q([tl(n)])):fQ}),v3=tf(\"span\"),v6=w(function(e,t){var n=$(rH,e,t.ar);if(n.$)return na;var r=n.a;return uF(r.dh)?$(az,function(e){return e?\"use-credentials\":\"anonymous\"},$(aN,function(e){return $(rH,e,t.ax)},ff(r))):nr(\"anonymous\")}),v5=x(function(e,t,n,r){return $(fJ,q([fF(q([{a:\"diva-page-view-choice\",b:!0},{a:\"diva-ui-card\",b:!0},{a:\"diva-ui-card--dark\",b:!0},{a:\"is-active\",b:H(n,t)}])),fZ(\"button\"),fj({$:19,a:n})]),q([function(){var t=$(v6,r.b7,e);if(t.$)return $(f_,q([fB(\"diva-page-view-choice-thumb diva-page-view-choice-thumb--protected\"),$(fD,\"aria-label\",\"Protected image\")]),U);var n=t.a;return $(vT,q([fB(\"diva-page-view-choice-thumb\"),vO(r.bh),vL(r.dX),$(fD,\"loading\",\"lazy\"),$(fD,\"crossorigin\",n)]),U)}(),$(v3,q([fB(\"diva-page-view-choice-label\")]),q([tl(r.dX)]))]))}),v8=y(function(e,t,n){return $(f_,q([fB(\"diva-page-view-choices\")]),$(nE,w(function(t,r){return M(tp,v5,e,n,t,r)}),t))}),v7={$:33},v9=w(function(e,t){return{$:52,a:e,b:t}}),be=tf(\"input\"),bt=fV(\"max\"),bn=fV(\"min\"),br=function(e){return{a:e,b:!0}},ba=w(function(e,t){return $(ty,e,{$:1,a:t})}),bi=$(ak,q([\"target\",\"value\"]),eg),bo=function(e){return $(ba,\"input\",$(ex,br,$(ex,e,bi)))},bs=fV(\"value\"),bu=C(function(e,t,n,r,a){var i=q([fZ(\"range\"),bn(e),bt(t),bs(r),bo(a)]),o=n.$?i:$(J,$(fV,\"step\",n.a),i);return $(be,$(J,fB(\"diva-filter-range-input\"),o),U)}),bc=function(e){return $(f_,q([fB(\"diva-filter-range-group\")]),q([$(f_,q([fB(\"diva-filter-range-header\")]),q([$(v3,q([fB(\"diva-filter-label\")]),q([tl(e.dX)])),$(v3,q([fB(\"diva-filter-value\")]),q([tl(e.l)]))])),M(bu,e.g,e.f,e.n,e.fG,e.m)]))},bl=w(function(e,t){return{$:40,a:e,b:t}}),bd=vY(\"checked\"),bf=tf(\"label\"),bh=$(ak,q([\"target\",\"checked\"]),eh),bv=function(e){return $(fX,\"change\",$(ex,e,bh))},bb=function(e){return $(f_,q([fB(\"diva-filter-range-group\")]),q([$(f_,q([fB(\"diva-filter-range-header\")]),q([$(bf,q([fB(\"diva-filter-toggle is-inline\")]),q([$(be,q([fZ(\"checkbox\"),bd(e.x),bv(bl(e.A))]),U),tl(e.dX)])),$(v3,q([fB(\"diva-filter-value\")]),q([tl(e.l)]))])),M(bu,e.g,e.f,e.n,e.fG,e.m)]))},bg=w(function(e,t){return q([bb({x:t.cw,l:el(t.bO),dX:e+\" Gamma\",f:\"100\",g:\"0\",m:v9(t.cx),A:t.cy,n:nr(\"1\"),fG:el(t.bO)}),bb({x:t.cY,l:el(t.b5),dX:e+\" Sigmoid\",f:\"100\",g:\"0\",m:v9(t.cZ),A:t.c_,n:nr(\"1\"),fG:el(t.b5)}),bb({x:t.cB,l:el(t.bP),dX:e+\" Hue Boost\",f:\"100\",g:\"-100\",m:v9(t.cC),A:t.cD,n:nr(\"1\"),fG:el(t.bP)}),bc({l:el(t.bQ),dX:e+\" Hue Window\",f:\"30\",g:\"2\",m:v9(t.cE),n:nr(\"1\"),fG:el(t.bQ)}),bb({x:t.c8,l:el(t.cc),dX:e+\" Vibrance\",f:\"100\",g:\"0\",m:v9(t.c9),A:t.da,n:nr(\"1\"),fG:el(t.cc)})])}),bp=x(function(e,t,n,r){var a=$(lk,t,e.ct);return $(f_,q([fB(\"diva-filter-group\")]),$(J,$(fJ,q([fF(q([{a:\"diva-filter-title-button\",b:!0},{a:\"is-collapsed\",b:!a}])),fj({$:41,a:t})]),q([$(v3,q([fF(q([{a:\"diva-filter-title-icon\",b:!0},{a:\"is-expanded\",b:a}]))]),U),$(v3,U,q([tl(n)]))])),a?r:U))}),bm=function(e){return $(f_,q([fB(\"diva-filter-row\")]),e)},bw=function(e){return S(bp,e,\"advanced-colour-adjust\",\"Advanced colour adjust\",$(J,bm(q([$(fJ,q([fB(\"diva-filter-reset\"),fZ(\"button\"),fj(v7)]),q([tl(\"Reset sliders\")]))])),G($(bg,\"Red\",{bO:e.eJ.aY,cw:e.eJ.bu,cx:2,cy:9,bP:e.eJ.aZ,cB:e.eJ.aB,cC:5,cD:10,bQ:e.eJ.a_,cE:6,b5:e.eJ.a$,cY:e.eJ.bv,cZ:3,c_:11,cc:e.eJ.a0,c8:e.eJ.bw,c9:4,da:12}),G($(bg,\"Green\",{bO:e.eJ.aT,cw:e.eJ.br,cx:7,cy:5,bP:e.eJ.aU,cB:e.eJ.aA,cC:9,cD:6,bQ:e.eJ.aV,cE:10,b5:e.eJ.aW,cY:e.eJ.bs,cZ:8,c_:7,cc:e.eJ.aX,c8:e.eJ.bt,c9:11,da:8}),$(bg,\"Blue\",{bO:e.eJ.aO,cw:e.eJ.bo,cx:12,cy:1,bP:e.eJ.aP,cB:e.eJ.az,cC:14,cD:2,bQ:e.eJ.aQ,cE:15,b5:e.eJ.aR,cY:e.eJ.bp,cZ:13,c_:3,cc:e.eJ.aS,c8:e.eJ.bq,c9:16,da:4})))))},by=w(function(e,t){return{$:51,a:e,b:t}}),bx=function(e){return S(bp,e,\"colour-adjust\",\"Colour Adjust\",$(rc,bb,q([{x:e.eJ.cj,l:el(e.eJ.bx),dX:\"Brightness\",f:\"255\",g:\"-255\",m:v9(17),A:13,n:na,fG:el(e.eJ.bx)},{x:e.eJ.cq,l:el(e.eJ.bH),dX:\"Contrast\",f:\"4\",g:\"0\",m:by(1),A:20,n:nr(\"0.1\"),fG:el(e.eJ.bH)},{x:e.eJ.cw,l:el(e.eJ.bO),dX:\"Gamma\",f:\"4\",g:\"0.1\",m:by(2),A:23,n:nr(\"0.1\"),fG:el(e.eJ.bO)},{x:e.eJ.cW,l:el(e.eJ.b1),dX:\"Saturation\",f:\"100\",g:\"-100\",m:v9(27),A:31,n:na,fG:el(e.eJ.b1)},{x:e.eJ.c8,l:el(e.eJ.cc),dX:\"Vibrance\",f:\"100\",g:\"-100\",m:v9(29),A:34,n:na,fG:el(e.eJ.cc)},{x:e.eJ.cB,l:el(e.eJ.bP),dX:\"Hue\",f:\"100\",g:\"-100\",m:v9(24),A:26,n:na,fG:el(e.eJ.bP)},{x:e.eJ.cm,l:el(e.eJ.bA),dX:\"Red\",f:\"100\",g:\"-100\",m:v9(20),A:16,n:na,fG:el(e.eJ.bA)},{x:e.eJ.cl,l:el(e.eJ.bz),dX:\"Green\",f:\"100\",g:\"-100\",m:v9(19),A:15,n:na,fG:el(e.eJ.bz)},{x:e.eJ.ck,l:el(e.eJ.by),dX:\"Blue\",f:\"100\",g:\"-100\",m:v9(18),A:14,n:na,fG:el(e.eJ.by)}])))},bC=w(function(e,t){return{$:54,a:e,b:t}}),bI=tf(\"option\"),bA=q([$(bI,q([bs(\"gray\")]),q([tl(\"Gray\")])),$(bI,q([bs(\"hot\")]),q([tl(\"Hot\")])),$(bI,q([bs(\"cool\")]),q([tl(\"Cool\")]))]),bE=tf(\"select\"),b$=y(function(e,t,n){return $(bE,q([fB(\"diva-filter-select\"),bo(t),bs(e)]),n)}),bR=y(function(e,t,n){return $(bf,q([fB(\"diva-filter-toggle\")]),q([$(be,q([fZ(\"checkbox\"),bd(t),bv(bl(n))]),U),tl(e)]))}),bS=function(e){return S(bp,e,\"colourmap\",\"Colourmap\",q([bm(q([R(bR,\"Colourmap\",e.eJ.a4,17),R(b$,e.eJ.bG,bC(0),bA)])),bc({l:el(e.eJ.bF),dX:\"Center\",f:\"255\",g:\"0\",m:v9(21),n:na,fG:el(e.eJ.bF)})]))},bM=q([$(bI,q([bs(\"sharpen\")]),q([tl(\"Sharpen\")])),$(bI,q([bs(\"blur\")]),q([tl(\"Blur\")])),$(bI,q([bs(\"edge\")]),q([tl(\"Edge\")])),$(bI,q([bs(\"emboss\")]),q([tl(\"Emboss\")]))]),bP=function(e){return S(bp,e,\"convolution\",\"Convolution\",q([bm(q([R(bR,\"Kernel\",e.eJ.cr,21),R(b$,e.eJ.bI,bC(3),bM)]))]))},bL=function(e){return S(bp,e,\"enhancement\",\"Enhancement\",G($(rc,bb,q([{x:e.eJ.cN,l:el(e.eJ.bV),dX:\"Normalize\",f:\"2\",g:\"0\",m:by(3),A:29,n:nr(\"0.1\"),fG:el(e.eJ.bV)},{x:e.eJ.c6,l:el(e.eJ.ca),dX:\"Unsharp\",f:\"3\",g:\"0\",m:by(7),A:33,n:nr(\"0.1\"),fG:el(e.eJ.ca)},{x:e.eJ.aN,l:el(e.eJ.bn),dX:\"Adaptive Threshold\",f:\"51\",g:\"3\",m:v9(1),A:0,n:nr(\"2\"),fG:el(e.eJ.bn)}])),q([bc({l:el(e.eJ.bm),dX:\"Offset\",f:\"50\",g:\"-50\",m:v9(0),n:nr(\"1\"),fG:el(e.eJ.bm)})])))},bT={$:11},bk={$:27},bO=function(e){return{$:53,a:e}},bH=tf(\"textarea\"),bV=function(e){return S(bp,e,\"diva-filter-json\",\"Import / Export Filter Settings\",q([bm(q([$(fJ,q([fB(\"diva-filter-reset\"),fZ(\"button\"),fj(bk)]),q([tl(\"Show JSON\")])),$(fJ,q([fB(\"diva-filter-reset\"),fZ(\"button\"),fj(bT)]),q([tl(\"Apply\")]))])),$(bH,q([fB(\"diva-filter-json\"),bs(e.cu),bo(bO),$(tI,\"rows\",el(6))]),U),function(){var t=e.bN;if(t.$)return fQ;var n=t.a;return $(f_,q([fB(\"diva-filter-json-error\")]),q([tl(n)]))}()]))},bB=q([$(bI,q([bs(\"3\")]),q([tl(\"3x3\")])),$(bI,q([bs(\"5\")]),q([tl(\"5x5\")])),$(bI,q([bs(\"7\")]),q([tl(\"7x7\")]))]),bF=q([$(bI,q([bs(\"erode\")]),q([tl(\"Erode\")])),$(bI,q([bs(\"dilate\")]),q([tl(\"Dilate\")]))]),b_=function(e){return S(bp,e,\"morphology\",\"Morphology\",q([bm(q([R(bR,\"Morph\",e.eJ.bb,28),R(b$,e.eJ.bU,bC(5),bF),R(b$,el(e.eJ.bT),v9(25),bB)]))]))},bN=q([$(bI,q([bs(\"pca-rgb\")]),q([tl(\"PCA (RGB)\")])),$(bI,q([bs(\"pca1\")]),q([tl(\"PCA Component 1\")])),$(bI,q([bs(\"pca2\")]),q([tl(\"PCA Component 2\")])),$(bI,q([bs(\"pca3\")]),q([tl(\"PCA Component 3\")]))]),bz=function(e){return S(bp,e,\"pca\",\"Visible area PCA\",q([bm(q([R(bR,\"Visible area PCA\",e.eJ.a7,24),R(b$,e.eJ.bX,bC(4),bN)])),bc({l:el(e.eJ.bW)+\"deg\",dX:\"Hue Rotation\",f:\"180\",g:\"-180\",m:v9(23),n:nr(\"1\"),fG:el(e.eJ.bW)})]))},bG=q([$(bI,q([bs(\"rg\")]),q([tl(\"Red–Green Diff\")])),$(bI,q([bs(\"gb\")]),q([tl(\"Green–Blue Diff\")])),$(bI,q([bs(\"rb\")]),q([tl(\"Red–Blue Diff\")])),$(bI,q([bs(\"luma\")]),q([tl(\"Luma False Colour\")])),$(bI,q([bs(\"cmy\")]),q([tl(\"CMY False Colour\")])),$(bI,q([bs(\"heat\")]),q([tl(\"Heat Map\")]))]),bU=w(function(e,t){return $(be,q([fB(\"diva-filter-color-input\"),fZ(\"color\"),bs(e),bo(t)]),U)}),bD=function(e){return S(bp,e,\"pseudo-colour\",\"Pseudo Colour\",q([bm(q([R(bR,\"Pseudo-colour\",e.eJ.ae,30),R(b$,e.eJ.b_,bC(6),bG)])),bc({l:el(e.eJ.b$),dX:\"Red Weight\",f:\"2\",g:\"0\",m:by(6),n:nr(\"0.01\"),fG:el(e.eJ.b$)}),bc({l:el(e.eJ.bZ),dX:\"Green Weight\",f:\"2\",g:\"0\",m:by(5),n:nr(\"0.01\"),fG:el(e.eJ.bZ)}),bc({l:el(e.eJ.bY),dX:\"Blue Weight\",f:\"2\",g:\"0\",m:by(4),n:nr(\"0.01\"),fG:el(e.eJ.bY)}),bm(q([R(bR,\"Replace Colour\",e.eJ.N,18)])),bm(q([$(v3,q([fB(\"diva-filter-label\")]),q([tl(\"Source\")])),$(bU,e.eJ.bC,bC(1)),$(v3,q([fB(\"diva-filter-label\")]),q([tl(\"Target\")])),$(bU,e.eJ.bD,bC(2))])),bc({l:el(e.eJ.bE),dX:\"Tolerance\",f:\"255\",g:\"0\",m:v9(22),n:nr(\"1\"),fG:el(e.eJ.bE)}),bc({l:el(e.eJ.bB),dX:\"Strength\",f:\"1\",g:\"0\",m:by(0),n:nr(\"0.01\"),fG:el(e.eJ.bB)}),bm(q([R(bR,\"Preserve Luminance\",e.eJ.cp,19)]))]))},bJ=function(e){return S(bp,e,\"tone\",\"Tone\",G($(rc,function(e){return R(bR,e.a,e.b,e.c)},q([{a:\"Grayscale\",b:e.eJ.cz,c:25},{a:\"Invert\",b:e.eJ.cH,c:27}])),$(rc,bb,q([{x:e.eJ.c1,l:el(e.eJ.b8),dX:\"Threshold\",f:\"255\",g:\"0\",m:v9(28),A:32,n:na,fG:el(e.eJ.b8)}]))))},bq=function(e){return S(bp,e,\"transform\",\"Transform\",q([$(f_,q([fB(\"diva-filter-range-group\")]),q([$(f_,q([fB(\"diva-filter-range-header\")]),q([$(v3,q([fB(\"diva-filter-label\")]),q([tl(\"Rotation\")])),$(v3,q([fB(\"diva-filter-range-header-right\")]),q([$(v3,q([fB(\"diva-filter-value\")]),q([tl(el(e.eJ.bg)+\"°\")])),$(fJ,q([fB(\"diva-filter-reset\"),fZ(\"button\"),fj($(v9,26,\"0\"))]),q([tl(\"Reset\")]))]))])),M(bu,\"-180\",\"180\",nr(\"1\"),el(e.eJ.bg),v9(26))])),bm(q([R(bR,\"Mirror\",e.eJ.cv,22)]))]))},bX=function(e){return $(f_,q([fB(\"diva-modal-sidebar\")]),q([$(tv,bq,e),$(tv,bJ,e),$(tv,bx,e),$(tv,b_,e),$(tv,bP,e),$(tv,bS,e),$(tv,bD,e),$(tv,bz,e),$(tv,bw,e),$(tv,bL,e),$(tv,bV,e)]))},bj=w(function(e,t){return $(f_,q([fF(q([{a:\"diva-modal-viewer\",b:!0},{a:\"is-fullscreen\",b:e},{a:\"is-outer-left\",b:t}]))]),q([$(f_,q([fB(\"diva-modal-canvas\"),fN(\"filter-viewer\")]),U)]))}),bW=function(e){var t=$(aN,function(t){return $(cv,t,e.ap)},e.R),n=$(aG,!1,$(az,function(e){return nC(e.cF)>1},t));return $(f_,q([fF(q([{a:\"diva-modal-body\",b:!0},{a:\"is-no-gap\",b:!0},{a:\"is-fullscreen\",b:e.ds},{a:\"is-with-choices\",b:n},{a:\"is-no-sidebar\",b:!e.dt},{a:\"is-with-choices-no-sidebar\",b:n&&!e.dt}]))]),function(){var r={a:n,b:t,c:e.dt};if(r.c)if(!r.a||r.b.$)return q([$(bj,e.ds,!0),bX(e)]);else{var a=r.b.a;return q([R(v8,e.dh,a.cF,e.aJ),$(bj,e.ds,!1),bX(e)])}if(!r.a||r.b.$)return q([$(bj,e.ds,!0)]);var a=r.b.a;return q([R(v8,e.dh,a.cF,e.aJ),$(bj,e.ds,!1)])}())},bZ={$:14},bY={$:20},bK={$:21},bQ={$:23},b0={$:32},b1={$:44},b2={$:45},b4=w(function(e,t){return e?na:nr(t)}),b3=vW({s:\"M114.2 320L224 430 333.8 320H280c-13.3 0-24-10.7-24-24V176H192V296c0 13.3-10.7 24-24 24H114.2zM224 480c-11.5 0-22.5-4.6-30.6-12.7L77.6 351.2C68.9 342.5 64 330.7 64 318.4c0-25.6 20.8-46.4 46.4-46.4H144V176c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v96h33.6c25.6 0 46.4 20.8 46.4 46.4c0 12.3-4.9 24.1-13.6 32.8L254.6 467.3c-8.1 8.1-19.1 12.7-30.6 12.7zM32 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm96 0a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM320 96a32 32 0 1 1 0-64 32 32 0 1 1 0 64zm64-32a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\",t:\"0 0 448 512\"}),b6=vW({s:\"M7 7C-2.3 16.4-2.3 31.6 7 41l80 80L41.4 166.6c-6 6-9.4 14.1-9.4 22.6V192c0 17.7 14.3 32 32 32H192c17.7 0 32-14.3 32-32V64c0-17.7-14.3-32-32-32h-2.7c-8.5 0-16.6 3.4-22.6 9.4L121 87 41 7C31.6-2.3 16.4-2.3 7 7zM505 41c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L391 87 345.4 41.4c-6-6-14.1-9.4-22.6-9.4H320c-17.7 0-32 14.3-32 32V192c0 17.7 14.3 32 32 32H448c17.7 0 32-14.3 32-32v-2.7c0-8.5-3.4-16.6-9.4-22.6L425 121l80-80zM505 471l-80-80 45.7-45.7c6-6 9.4-14.1 9.4-22.6V320c0-17.7-14.3-32-32-32H320c-17.7 0-32 14.3-32 32V448c0 17.7 14.3 32 32 32h2.7c8.5 0 16.6-3.4 22.6-9.4L391 425l80 80c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9zM7 471c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80 45.7 45.7c6 6 14.1 9.4 22.6 9.4H192c17.7 0 32-14.3 32-32V320c0-17.7-14.3-32-32-32H64c-17.7 0-32 14.3-32 32v2.7c0 8.5 3.4 16.6 9.4 22.6L87 391 7 471zM412.1 176H336V99.9L412.1 176zM336 412.1V336h76.1L336 412.1zM99.9 176L176 99.9V176H99.9zM176 412.1L99.9 336H176v76.1z\",t:\"0 0 512 512\"}),b5=vW({s:\"M168 80l24 0 0-48-24 0L24 32 0 32 0 56 0 456l0 24 24 0 144 0 24 0 0-48-24 0L48 432 48 80l120 0zM493.8 273l17-17-17-17-128-128-17-17L314.9 128l17 17 87 87L184 232l-24 0 0 48 24 0 234.9 0-87 87-17 17 33.9 33.9 17-17 128-128z\",t:\"0 0 512 512\"}),b8=vW({s:\"M8.59 16.59L10 18L16 12L10 6L8.59 7.41L13.17 12L8.59 16.59z\",t:\"0 0 24 24\"}),b7=vW({s:\"M15.41 7.41L14 6L8 12L14 18L15.41 16.59L10.83 12L15.41 7.41z\",t:\"0 0 24 24\"}),b9=vW({s:\"M256 80c-72.7 0-135.2 44.1-162 107.1c-5.2 12.2-19.3 17.9-31.5 12.7s-17.9-19.3-12.7-31.5C83.9 88.2 163.4 32 256 32c52.5 0 102.8 20.8 139.9 57.9L448 142.1V88c0-13.3 10.7-24 24-24s24 10.7 24 24V200c0 13.3-10.7 24-24 24H360c-13.3 0-24-10.7-24-24s10.7-24 24-24h54.1l-52.1-52.1C333.8 95.8 295.7 80 256 80zM449.4 312.6c12.2 5.2 17.8 19.3 12.6 31.5C427.8 424 348.5 480 256 480c-52.5 0-102.8-20.8-139.9-57.9L64 369.9V424c0 13.3-10.7 24-24 24s-24-10.7-24-24V312c0-13.3 10.7-24 24-24H152c13.3 0 24 10.7 24 24s-10.7 24-24 24H97.9l52.1 52.1C178.2 416.2 216.3 432 256 432c72.6 0 135-43.9 161.9-106.8c5.2-12.2 19.3-17.8 31.5-12.6zM256 128c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1 -64 0z\",t:\"0 0 512 512\"}),ge=vW({s:\"M288 80V432H48V80H288zM512 32H464 48 0V80 432v48H48 464h48V432 80 32zM448 96v48H352V96h96zm-96 96h96v48H352V192zm96 96v48H352V288h96z\",t:\"0 0 512 512\"}),gt=vW({s:\"M156.1 80H80v76.1L156.1 80zM32 192V64c0-17.7 14.3-32 32-32H192c17.7 0 32 14.3 32 32v2.7c0 8.5-3.4 16.6-9.4 22.6L169 135l87 87 87-87L297.4 89.4c-6-6-9.4-14.1-9.4-22.6V64c0-17.7 14.3-32 32-32H448c17.7 0 32 14.3 32 32V192c0 17.7-14.3 32-32 32h-2.7c-8.5 0-16.6-3.4-22.6-9.4L377 169l-87 87 87 87 45.7-45.7c6-6 14.1-9.4 22.6-9.4H448c17.7 0 32 14.3 32 32V448c0 17.7-14.3 32-32 32H320c-17.7 0-32-14.3-32-32v-2.7c0-8.5 3.4-16.6 9.4-22.6L343 377l-87-87-87 87 45.7 45.7c6 6 9.4 14.1 9.4 22.6V448c0 17.7-14.3 32-32 32H64c-17.7 0-32-14.3-32-32V320c0-17.7 14.3-32 32-32h2.7c8.5 0 16.6 3.4 22.6 9.4L135 343l87-87-87-87L89.4 214.6c-6 6-14.1 9.4-22.6 9.4H64c-17.7 0-32-14.3-32-32zM355.9 432H432V355.9L355.9 432zM80 355.9V432h76.1L80 355.9zM355.9 80L432 156.1V80H355.9z\",t:\"0 0 512 512\"}),gn=function(e){var t,n,r=$(aG,\"\",$(az,function(e){return e.dX},$(aN,function(e){return $(cv,e,t.ap)},(t=e).R))),a=$(aG,\"\",$(az,function(e){return $(cA,n.ey,fz(e))},lG(n=e))),i=e.dt?{a:b5,b:\"Hide filters\"}:{a:ge,b:\"Show filters\"},o=i.a,s=i.b,u=function(){var t=e.R;if(t.$)return{a:!0,b:!0};var n=t.a;return{a:n<=0,b:_(n,nC(e.ap)-1)>-1}}(),c=u.a,l=u.b,d=e.ds?{a:b6,b:\"Exit fullscreen\"}:{a:gt,b:\"Fullscreen\"},f=d.a,h=d.b;return $(f_,q([fB(\"diva-modal-header\")]),q([$(f_,q([fB(\"diva-modal-title-stack\")]),$(J,$(f_,q([fB(\"diva-modal-title\")]),q([tl(\"Page View\")])),G(n7(a)?U:q([$(f_,q([fB(\"diva-modal-subtitle\")]),q([tl(a)]))]),n7(r)?U:q([$(f_,q([fB(\"diva-modal-subtitle is-muted\")]),q([tl(r)]))])))),$(f_,q([fB(\"diva-modal-actions\")]),q([v0({eS:b7,eY:e.dm,dX:\"Previous Page\",d3:$(b4,c,bK)}),v0({eS:b8,eY:e.dm,dX:\"Next Page\",d3:$(b4,l,bY)}),v0({eS:b3,eY:e.dm,dX:\"Save view\",d3:nr(bQ)}),v0({eS:b9,eY:e.dm,dX:\"Reset Filters\",d3:nr(b0)}),v0({eS:o,eY:e.dm,dX:s,d3:nr(b2)}),v0({eS:f,eY:e.dm,dX:h,d3:nr(b1)}),$(f_,q([fB(\"diva-modal-close-action\")]),q([v0({eS:vZ,eY:e.dm,dX:\"Close\",d3:nr(bZ)})]))]))]))},gr=function(e){return n7(e)?fQ:$(f_,q([fB(\"diva-required-statement\")]),vA(e))},ga={$:38},gi={$:43},go={$:49},gs=function(e){var t,n=!sd(lf(e)),r=!(t=ld(e)).$&&!sd(t.a);return n||r},gu=function(e){return!!e},gc=function(e){return $(f_,q([fB(\"diva-contents-empty\")]),q([tl(e)]))},gl=gc(\"No contents available.\"),gd=w(function(e,t){return $(aG,na,$(rH,t,e))}),gf=w(function(e,t){return $(ad,gh(e),t.aH)}),gh=w(function(e,t){return t.$?$(gf,e,t.a):H(t.a,e)}),gv=y(function(e,t,n){return $(fJ,G(q([fF(q([{a:\"diva-contents-button\",b:!0},{a:\"diva-ui-button\",b:!0},{a:\"is-current\",b:e}])),fZ(\"button\"),fj({$:22,a:t})]),e?q([$(fD,\"aria-current\",\"location\")]):U),q([tl(n)]))}),gb=y(function(e,t,n){return $(fJ,q([fB(\"diva-contents-disclosure diva-ui-button\"),fZ(\"button\"),$(fD,\"aria-expanded\",e?\"true\":\"false\"),$(fD,\"aria-label\",G(e?\"Hide information for \":\"Show information for \",n)),fj({$:46,a:t})]),q([tl(e?\"▾\":\"▸\")]))}),gg=w(function(e,t){return $(f_,q([fB(\"diva-metadata-item\")]),q([$(f_,q([fB(\"diva-metadata-label\")]),q([tl($(cA,e,t.dX))])),$(f_,q([fB(\"diva-metadata-value\")]),vA($(cA,e,t.fG)))]))}),gp=w(function(e,t){return sd(t)?U:q([$(f_,q([fB(\"diva-contents-meta\")]),$(rc,gg(e),t))])}),gm=y(function(e,t,n){return e?t?n?1===$(W,2,n)?n:n-1:0:n-$(W,2,n):n}),gw=y(function(e,t,n){if(n.$)return U;var r=n.a;if(!e)return q([r]);if(t&&!r)return q([0]);var a=R(gm,1,t,r);return q([a,a+1])}),gy=y(function(e,t,n){var r=$(an,function(n){return n.$?nr(S(tg,gx,e,t,n.a)):na},n);return sd(r)?U:q([$(f7,q([fB(\"diva-contents-list-nested diva-list-reset\")]),r)])}),gx=y(function(e,t,n){var r,a=$(gd,t,n.f7),i=$(cA,e.ey,n.dX),o=n7(i)?\"[Untitled range]\":i,s=H(e.ea,nr(n.f7)),u=s?$(gp,e.ey,n.d_):U,c=$(ad,function(e){return $(gf,e,n)},$(rc,function(e){return e.M},$(an,function(e){return $(cv,e,r.ap)},R(gw,(r=e).cd,r.b3,r.R)))),l=R(gv,c,a,o),d=$(f_,q([fB(\"diva-contents-heading\")]),G(sd(n.d_)?U:q([R(gb,s,n.f7,o)]),q([l]))),f=R(gy,e,t,n.aH);return $(f8,q([fB(\"diva-contents-item\")]),$(J,d,G(u,f)))}),gC=y(function(e,t,n){return $(f7,q([fB(\"diva-contents-list diva-list-reset\")]),$(rc,R(tg,gx,e,t),n))}),gI=w(function(e,t){var n=lh(t);if(n.$)return gl;var r=n.a;return sd(r)?gl:R(gC,e,e.fg,r)}),gA={$:34},gE={$:35},g$=w(function(e,t){return $(f_,q([fB(\"diva-contents-view-tabs\")]),q([$(fJ,q([fF(q([{a:\"diva-contents-view-button\",b:!0},{a:\"is-active\",b:!t}])),fZ(\"button\"),fj(gA)]),q([tl(\"Index\")])),$(fJ,q([fF(q([{a:\"diva-contents-view-button\",b:!0},{a:\"is-active\",b:1===t}])),fZ(\"button\"),fj(gE)]),q([tl(e?\"On these pages\":\"On this page\")]))]))}),gR=w(function(e,t){var n=$(iP,function(t){return t.$?$(gR,e,t.a):U},t.aH);return $(gf,e,t)?$(J,t,n):n}),gS=w(function(e,t){return $(iP,gR(e),t)}),gM=gc(\"No ranges for this page.\"),gP=function(e){var t=w(function(e,t){for(;;)if(!e.b)return nO(t);else if(e.a.b){var n=e.a,r=n.a,a=n.b,i=e.b;if(r.$){var o=$(J,r.a.aH,$(J,a,i)),s=t;e=o,t=s;continue}var u=r.a,o=$(J,a,i),s=$(J,u,t);e=o,t=s;continue}else{var i=e.b,o=i,s=t;e=o,t=s;continue}});return $(t,q([e]),U)},gL=w(function(e,t){return $(an,function(t){return $(rH,t,e)},gP(t.aH))}),gT=y(function(e,t,n){var r=$(gp,e.ey,n.d_),a=$(gd,e.fg,n.f7),i=$(cA,e.ey,n.dX),o=$(gL,t,n),s=aL(o),u=aL(nO(o)),c=function(){var e={a:s,b:u};if(e.a.$)if(e.b.$)return\"\";else{e.a;var t=e.b.a;return\"[\"+t+\"] \"}if(e.b.$){var n=e.a.a;return e.b,\"[\"+n+\"] \"}var n=e.a.a,t=e.b.a;return H(n,t)?\"[\"+n+\"] \":\"[\"+(n+\"-\")+t+\"] \"}(),l=R(gv,!1,a,n7(i)?c+\"[Untitled range]\":G(c,i));return $(f8,q([fB(\"diva-contents-item\")]),$(J,l,r))}),gk=w(function(e,t){var n,r=$(az,function(e){return e.M},$(aN,function(e){return $(cv,e,n.ap)},(n=e).R));if(r.$)return gM;var a=r.a,i=lh(t);if(i.$)return gM;var o=$(gS,a,i.a);if(sd(o))return gM;var s=us($(rc,function(e){return{a:e.f7,b:cE(e)}},cg(t)));return $(f7,q([fB(\"diva-contents-list diva-list-reset\")]),$(rc,$(gT,e,s),o))}),gO=function(e){var t=lG(e),n=function(){var n={a:e.dN,b:t};if(n.a)if(n.b.$)return n.a,n.b,gM;else{n.a;var r=n.b.a;return $(gk,e,r)}if(n.b.$)return n.a,n.b,gl;n.a;var r=n.b.a;return $(gI,e,r)}();return $(f_,q([fB(\"diva-contents-panel\")]),q([$(f_,q([fB(\"diva-contents-title\")]),q([tl(\"Contents\")])),$(g$,e.cd,e.dN),n]))},gH=w(function(e,t){return $(f_,U,q([$(ho,q([hs(t.f7),vE(\"_blank\"),hc(\"noopener noreferrer\")]),q([tl($(cA,e,t.dX))]))]))}),gV=w(function(e,t){var n=ld(t);if(n.$)return U;var r=n.a;return sd(r)?U:q([$(f_,q([fB(\"diva-metadata-item\")]),q([$(f_,q([fB(\"diva-metadata-label\")]),q([tl(\"Homepage\")])),$(f_,q([fB(\"diva-metadata-value\")]),$(rc,gH(e),r))]))])}),gB=w(function(e,t){return $(rc,gg(e),lf(t))}),gF=y(function(e,t,n){return $(f_,q([fF(q([{a:\"diva-sidebar-pane\",b:!0},{a:\"is-hidden\",b:!H(e,t)}]))]),q([n]))}),g_=x(function(e,t,n,r){return $(fJ,q([fF(q([{a:\"diva-sidebar-tab-button\",b:!0},{a:\"is-active\",b:H(e,t)}])),fZ(\"button\"),fj(r)]),q([tl(n)]))}),gN=y(function(e,t,n){for(;;)if(e<=0)return n;else{if(!t.b)return n;var r=t.a,a=t.b,i=e-1,o=$(J,r,n);e=i,t=a,n=o;continue}}),gz=w(function(e,t){return nO(R(gN,e,t,U))}),gG=y(function(e,t,n){if(t<=0)return U;var r={a:t,b:n};e:for(;;){t:for(;;)if(!r.b.b)return n;else if(r.b.b.b)switch(r.a){case 1:break e;case 2:var a=r.b,i=a.a,o=a.b.a;return q([i,o]);case 3:if(r.b.b.b.b){var s=r.b,i=s.a,u=s.b,o=u.a,c=u.b.a;return q([i,o,c])}break t;default:if(r.b.b.b.b&&r.b.b.b.b.b){var l=r.b,i=l.a,d=l.b,o=d.a,f=d.b,c=f.a,h=f.b,v=h.a,b=h.b;return e>1e3?$(J,i,$(J,o,$(J,c,$(J,v,$(gz,t-4,b))))):$(J,i,$(J,o,$(J,c,$(J,v,R(gG,e+1,t-4,b)))))}break t}else if(1===r.a)break e;else break;return n}var i=r.b.a;return q([i])}),gU=w(function(e,t){return R(gG,0,e,t)}),gD=y(function(e,t,n){for(;;)if(!t.b)return nO(n);else{var r=$(ch,e,t),a=$(gU,e,t),i=e,o=$(J,a,n);e=i,t=r,n=o;continue}}),gJ=w(function(e,t){return e<=0?U:R(gD,e,t,U)}),gq=w(function(e,t){return e<=1?t:$(iP,nO,$(gJ,e,t))}),gX={$:0},gj=x(function(e,t,n,r){return $(iF,r,R(gw,e,t,n))}),gW=I(function(e,t,n,r,a,i){var o=S(gj,t,n,r,a),s=nC(i.cF)>1,u=$(aG,$(aG,{dh:gX,f7:\"\",bR:!1,aG:!0,dX:\"\",b7:\"\",bh:\"\",b9:\"\"},aL(i.cF)),aL($(iR,function(e){return e.bR},i.cF))),c=function(){var t=$(v6,u.b7,e);if(t.$)return $(f_,q([fB(\"diva-thumbs-image diva-thumbs-image--protected\"),$(fD,\"aria-label\",\"Protected image\")]),U);var n=t.a;return R(fK,\"diva-lazy-image\",q([fB(\"diva-thumbs-lazy-image\"),$(fD,\"data-src\",i.bh),$(fD,\"data-fallback-src\",i.eI),$(fD,\"data-alt\",\"Page \"+el(a+1)),$(fD,\"data-crossorigin\",n)]),U)}(),l=q([fF(q([{a:\"diva-thumbs-item\",b:!0},{a:\"diva-ui-card\",b:!0},{a:\"diva-ui-card--dark\",b:!0},{a:\"is-active\",b:o}])),fZ(\"button\"),fN(\"thumb-\"+el(a)),$(fD,\"data-thumb-index\",el(a)),fj({$:24,a:a})]);return $(fJ,l,q([c,$(f_,q([fF(q([{a:\"diva-thumbs-label\",b:!0},{a:\"is-active\",b:o}]))]),q([tl(s?i.dX+\" *\":i.dX)]))]))}),gZ=w(function(e,t){var n=e.dm,r=e.dh,a=e.R,i=e.b3,o=e.bi,s=e.cd,u=e.g1,c=$(nE,a8,t),l=1===u?$(gq,3,c):c;return $(f_,q([fF(q([{a:\"diva-thumbs\",b:!0},{a:\"is-fullscreen\",b:n}])),fN(\"thumbs\"),$(tx,\"scroll-behavior\",o?\"auto\":\"smooth\")]),$(rc,function(e){return L(tw,gW,r,s,i,a,e.a,e.b)},l))}),gY=w(function(e,t){var n=$(aG,0,$(az,lb,t)),r=H(e.H,rm)||H(e.b0,rp)?U:e.ap,a=q([{a:\"diva-sidebar-panel\",b:!0},{a:\"is-fullscreen\",b:e.dm},{a:\"is-hidden\",b:!gu(e.B)},{a:\"is-overlay\",b:e.bS},{a:\"is-mobile-hidden\",b:!e.bS}]),i=$(aG,!1,$(az,gs,t)),o=i?q([R(gF,e.B,2,$(f_,q([fB(\"diva-metadata-panel\")]),function(){var t=lG(e);if(t.$)return q([$(f_,q([fB(\"diva-metadata-body\")]),q([tl(\"No metadata available.\")]))]);var n=t.a;return q([$(f_,q([fB(\"diva-metadata-body\")]),G($(gB,e.ey,n),$(gV,e.ey,n)))])}()))]):U,s=i?q([S(g_,e.B,2,\"Metadata\",gi)]):U,u=$(aG,!1,$(az,$(rW,sd,uB),$(aN,lh,t))),c=u?q([S(g_,e.B,3,\"Contents\",ga)]):U,l=u?q([R(gF,e.B,3,gO(e))]):U;return $(f_,q([fF(a),$(tx,\"width\",gu(e.B)?el(e.b4)+\"px\":\"0px\")]),q([$(f_,q([fB(\"diva-sidebar-tabs\")]),$(J,S(g_,e.B,1,\"Thumbnails\",go),G(s,c))),$(f_,q([fB(\"diva-sidebar-content\")]),$(J,R(gF,e.B,1,$(gZ,{dh:e.dh,dm:e.dm,R:e.R,b3:e.b3,bi:e.bi,cd:e.cd,g1:n},r)),G(o,l)))]))}),gK=w(function(e,t){return $(gY,e,nr(t))}),gQ=function(e){return{$:37,a:e}},g0=function(e){return 2!==e.H.$&&H(lG(e),na)?fQ:$(f_,q([fF(q([{a:\"diva-sidebar-resizer\",b:!0},{a:\"is-hidden\",b:!gu(e.B)}])),$(fX,\"mousedown\",$(ex,gQ,$(ep,\"clientX\",ef)))]),q([tl(\"⋮\")]))},g1={$:17},g2={$:18},g4={$:25},g3={$:26},g6={$:59},g5={$:42},g8={$:47},g7={$:48},g9={$:50},pe=w(function(e,t){return _(n5(t),e)>0?$(n9,e-3,t)+\"...\":t}),pt=function(e){var t=function(){var t=e.R;if(t.$)return\"\";var n=t.a;if(!e.cd)return $(aG,\"\",$(az,function(e){return e.dX},$(cv,n,e.ap)));var r=R(gm,e.cd,e.b3,n),a=$(az,function(e){return e.dX},$(cv,r+1,e.ap)),i={a:$(az,function(e){return e.dX},$(cv,r,e.ap)),b:a};if(i.a.$)return\"\";var o=i.a.a;return e.b3&&!r||a.$?o:o+\" / \"+a.a}();return $(pe,140,t)},pn=vW({s:\"M48.4 14.8L29.4 .1 0 38 19 52.7 591.5 497.2l19 14.7L639.9 474l-19-14.7L513.7 376c38.8-36.5 62.3-84 62.3-136C576 125.1 461.4 32 320 32c-68.2 0-130.2 21.7-176 57L48.4 14.8zm135 104.8C218.6 95.5 265.3 80 320 80c124.7 0 208 80.5 208 160c0 38.1-19.2 76.5-52.9 106.1L183.4 119.6zM424.1 430.1l-46-36.3c-18.1 4-37.5 6.2-58 6.2c-26.8 0-52.3-3.9-75.7-11l-13.9-4.2-13.9 4.2-57.6 17.3 7-18.5 10.8-28.9-21.8-21.9c-28-28-42.9-61.8-42.9-96.9c0-16.2 3.4-32.4 10-47.9l-39-30.8C70.7 185.6 64 212.2 64 240c0 49.6 21.3 95.1 56.9 130.8l-19.8 52.7L80 480l57.8-17.3 92.6-27.8c27.9 8.5 58.1 13.1 89.6 13.1c37 0 72.3-6.4 104.1-17.9z\",t:\"0 0 640 512\"}),pr=vW({s:\"M256 48a208 208 0 1 1 0 416 208 208 0 1 1 0-416zm0 464A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM216 336c-13.3 0-24 10.7-24 24s10.7 24 24 24h80c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V248c0-13.3-10.7-24-24-24H216c-13.3 0-24 10.7-24 24s10.7 24 24 24h24v64H216zm40-144a32 32 0 1 0 0-64 32 32 0 1 0 0 64z\",t:\"0 0 512 512\"}),pa=vW({s:\"M156 32C100.6 32 48.8 46.6 27.1 53.6C10.3 59 0 74.5 0 91.1V403.5c0 26.1 24 44.2 48 40.2c19.8-3.3 54.8-7.7 100-7.7c54 0 97.5 25.5 112.5 35.6c7.5 5 16.8 8.4 27 8.4c11.5 0 21.6-4.2 29.3-9.9C330.2 460.3 369.1 436 428 436c47.7 0 80.5 4 99 7.2c23.9 4.1 49-13.8 49-40.6V91.1c0-16.5-10.3-32.1-27.1-37.5C527.2 46.6 475.4 32 420 32c-36.8 0-71.8 6.4-97.4 12.7c-12.8 3.2-23.5 6.3-30.9 8.7c-1.3 .4-2.6 .8-3.7 1.2c-1.1-.4-2.4-.8-3.7-1.2c-7.5-2.4-18.1-5.5-30.9-8.7C227.8 38.4 192.8 32 156 32zM264 97.3V417.9C238 404.2 196.8 388 148 388c-42.9 0-77.4 3.7-100 7.1V97.3C70.3 90.6 112.4 80 156 80c31.6 0 62.6 5.6 85.9 11.3c8.6 2.1 16.1 4.2 22.1 6zm48 319.2V97.3c6-1.8 13.5-3.9 22.1-6C357.4 85.6 388.4 80 420 80c43.6 0 85.7 10.6 108 17.3V394.7c-21.7-3.3-54.9-6.7-100-6.7c-51.4 0-90.8 15-116 28.6z\",t:\"0 0 576 512\"}),pi=vW({s:\"M64 464c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H224v80c0 17.7 14.3 32 32 32h80V448c0 8.8-7.2 16-16 16H64zM64 0C28.7 0 0 28.7 0 64V448c0 35.3 28.7 64 64 64H320c35.3 0 64-28.7 64-64V154.5c0-17-6.7-33.3-18.7-45.3L274.7 18.7C262.7 6.7 246.5 0 229.5 0H64zM272 304c0-53-43-96-96-96s-96 43-96 96s43 96 96 96c17.8 0 34.4-4.8 48.7-13.2L263 425.1c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-38.3-38.3c8.5-14.3 13.3-31 13.3-48.9zm-96-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z\",t:\"0 0 384 512\"}),po=vW({s:\"M64 48c-8.8 0-16 7.2-16 16V448c0 8.8 7.2 16 16 16H320c8.8 0 16-7.2 16-16V64c0-8.8-7.2-16-16-16H64zM0 64C0 28.7 28.7 0 64 0H320c35.3 0 64 28.7 64 64V448c0 35.3-28.7 64-64 64H64c-35.3 0-64-28.7-64-64V64zm120 64H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96H264c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24zm0 96h48c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24z\",t:\"0 0 384 512\"}),ps=vW({s:\"M 283.05 111 C 292.45 101.6 307.65 101.6 316.95 111 C 326.25 120.4 326.35 135.6 316.95 144.9 L 277.95 183.9 L 556.05 183.9 C 569.35 183.9 580.05 194.6 580.05 207.9 C 580.05 221.2 569.35 231.9 556.05 231.9 L 277.95 231.9 L 316.95 270.9 C 326.35 280.3 326.35 295.5 316.95 304.8 C 307.55 314.1 292.35 314.2 283.05 304.8 L 203.05 224.8 C 193.65 215.4 193.65 200.2 203.05 190.9 L 283.05 110.9 L 283.05 111 Z M 392 0 C 422.9 0 448 25.1 448 56 L 448 128 L 400 128 L 400 56 C 400 51.6 396.4 48 392 48 L 88 48 C 65.9 48 48 65.9 48 88 L 48 358.7 C 57.8 354.4 68.6 352 80 352 L 392 352 C 396.4 352 400 348.4 400 344 L 400 288 L 448 288 L 448 344 C 448 366.3 434.9 385.6 416 394.6 L 416 464 L 424 464 C 437.3 464 448 474.7 448 488 C 448 501.3 437.3 512 424 512 L 80 512 C 35.8 512 0 476.2 0 432 C 0 429.3 0.1 426.6 0.4 424 L 0 424 L 0 88 C 0 39.4 39.4 0 88 0 L 392 0 Z M 80 400 C 62.3 400 48 414.3 48 432 C 48 449.7 62.3 464 80 464 L 368 464 L 368 400 L 80 400 Z\",t:\"0 0 640 512\"}),pu=vW({s:\"M88 0C39.4 0 0 39.4 0 88V424H.4c-.3 2.6-.4 5.3-.4 8c0 44.2 35.8 80 80 80H424c13.3 0 24-10.7 24-24s-10.7-24-24-24h-8V394.6c18.9-9 32-28.3 32-50.6V288H400v56c0 4.4-3.6 8-8 8H80c-11.4 0-22.2 2.4-32 6.7V88c0-22.1 17.9-40 40-40H392c4.4 0 8 3.6 8 8v72h48V56c0-30.9-25.1-56-56-56H88zM368 400v64H80c-17.7 0-32-14.3-32-32s14.3-32 32-32H368zM553 111c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l39 39H280c-13.3 0-24 10.7-24 24s10.7 24 24 24H558.1l-39 39c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l80-80c9.4-9.4 9.4-24.6 0-33.9l-80-80z\",t:\"0 0 640 512\"}),pc=vW({s:\"M112.7 358.8l-10.8 28.9-7 18.5 57.6-17.3 13.9-4.2 13.9 4.2c23.3 7.1 48.8 11 75.7 11c124.7 0 208-80.5 208-160s-83.3-160-208-160S48 160.5 48 240c0 35.1 15 68.9 42.9 96.9l21.8 21.9zm-39 103.9L16 480l21.2-56.5 19.8-52.7C21.3 335.1 0 289.6 0 240C0 125.1 114.6 32 256 32s256 93.1 256 208s-114.6 208-256 208c-31.5 0-61.7-4.6-89.6-13.1L73.8 462.7zM144 160a32 32 0 1 1 64 0 32 32 0 1 1 -64 0zM400 304v16H272 192 144V304l64-80 22 27.4L296 160 400 304z\",t:\"0 0 512 512\"}),pl={$:39},pd=vW({s:\"M224 80V432H464V80H224zM0 32H48 464h48V80 432v48H464 48 0V432 80 32zM64 96v48h96V96H64zm96 96H64v48h96V192zM64 288v48h96V288H64z\",t:\"0 0 512 512\"}),pf=w(function(e,t){return $(f_,q([fF(q([{a:\"diva-canvas-label\",b:!0},{a:\"is-fullscreen\",b:e}]))]),q([tl(t)]))}),ph=vW({s:\"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM184 296c0 13.3 10.7 24 24 24s24-10.7 24-24V232h64c13.3 0 24-10.7 24-24s-10.7-24-24-24H232V120c0-13.3-10.7-24-24-24s-24 10.7-24 24v64H120c-13.3 0-24 10.7-24 24s10.7 24 24 24h64v64z\",t:\"0 0 512 512\"}),pv=vW({s:\"M208 48a160 160 0 1 1 0 320 160 160 0 1 1 0-320zm0 368c48.8 0 93.7-16.8 129.1-44.9L471 505c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L371.1 337.1C399.2 301.7 416 256.8 416 208C416 93.1 322.9 0 208 0S0 93.1 0 208S93.1 416 208 416zM136 184c-13.3 0-24 10.7-24 24s10.7 24 24 24H280c13.3 0 24-10.7 24-24s-10.7-24-24-24H136z\",t:\"0 0 512 512\"}),pb=function(e){var t,n,r=pt(e),a=c7(lG(e));return $(f_,q([fB(\"diva-canvas-toolbar-stack\")]),q([$(f_,q([fB(\"diva-canvas-toolbar\")]),q([$(f_,q([fB(\"diva-canvas-toolbar-section\")]),q([2===e.H.$?v0({eS:e.a3?b5:pd,eY:e.dm,dX:e.a3?\"Hide Collection\":\"Show Collection\",d3:nr(pl)}):fQ,v0({eS:pv,eY:e.dm,dX:\"Zoom Out\",d3:$(b4,a,g3)}),v0({eS:ph,eY:e.dm,dX:\"Zoom In\",d3:$(b4,a,g4)})])),$(f_,q([fB(\"diva-canvas-toolbar-end\")]),q([R(tb,pf,e.dm,r),$(f_,q([fB(\"diva-canvas-toolbar-section is-right\")]),G($(rc,function(e){var n=$(aG,\"Log out\",$(az,cA(t.ey),e.dX)),r=e.aw.$?n:n+\" (popup blocked)\";return $(f_,q([fB(\"diva-canvas-toolbar-item\"),$(fD,\"data-tooltip\",r)]),q([$(fJ,q([fB(\"diva-canvas-toolbar-button\"),fZ(\"button\"),$(fD,\"aria-label\",r),$(fD,\"data-diva-auth-logout\",e.fu),$(fD,\"data-diva-auth-url\",e.aM)]),q([pu]))]))},$(rc,function(e){return{aw:e.aw,dX:e.a9.dX,fu:e.f7,aM:e.a9.f7}},fh((t=e).dh.ag))),G(e.bK?q([v0({eS:e.df?pn:pc,eY:e.dm,dX:e.df?\"Hide Annotations\":\"Show Annotations\",d3:nr(g6)})]):U,q([v0({eS:pi,eY:e.dm,dX:\"Page View\",d3:$(b4,a,g2)}),v0({eS:pr,eY:e.dm,dX:\"Manifest Info\",d3:$(b4,a,g1)}),v0({eS:e.cd?po:pa,eY:e.dm,dX:e.cd?\"One Page\":\"Two Page\",d3:$(b4,a,g9)}),v0({eS:e.b3?ps:pu,eY:e.dm,dX:\"Shift Pages\",d3:$(b4,a||!e.cd,g8)}),v0({eS:(n=e.dp?e.bS:!!e.B)?b5:ge,eY:e.dm,dX:n?\"Hide Sidebar\":\"Show Sidebar\",d3:$(b4,a,g7)}),$(vQ,q([$(fD,\"data-diva-action\",\"fullscreen\")]),{eS:e.dm?b6:gt,eY:e.dm,dX:e.dm?\"Exit Full\":\"Fullscreen\",d3:nr(g5)})]))))]))]))]))},pg=function(e){var t=e.H;switch(t.$){case 1:return e.eO?na:nr({a:\"Unable to display manifest\",b:\"No canvases found in this manifest.\",c:!1});case 2:var n=e.b0;if(3===n.$){var r=n.a;return nr({a:\"Unable to load manifest\",b:r,c:!0})}return e.eO?na:nr({a:\"No Manifest Selected\",b:\"Select a manifest from the collection to view.\",c:!1});case 3:var r=t.a;return nr({a:\"Unable to load manifest\",b:r,c:!0});default:return na}},pp=function(e){var t={a:e.$7,b:e.dO};if(t.a.$||t.b.$)return na;var n=t.a.a,r=t.b.a;return n>0?nr(el(K(r/n*100))+\"%\"):na},pm={Main:{init:tq({f9:function(e){var t=rg(e.ej),n=sL(e._),r=e.ec?n:0,a=e.d1;return{a:{av:e.av,a1:rI,ci:e.ci,dd:rI,aC:rI,df:e.bK,dh:rE,co:na,a3:!0,dL:400,dN:0,dO:na,ey:t,dj:e.dj,bK:e.bK,ct:rI,eJ:sP,bN:na,cu:\"\",dm:!1,eO:!1,cG:e.cG,dW:!1,$7:na,dp:!1,X:!1,dZ:!1,ba:a,bS:!1,ds:!1,aJ:0,cP:!1,dt:!0,ap:U,bd:na,cQ:na,fg:rI,H:rm,b0:rp,dw:e.dw,R:na,ea:na,b3:!1,dB:e.dB,cX:na,_:n,B:r,b4:R(rx,220,520,e.b4),bi:!1,cd:0},b:eQ(q([R(sM,rw,e.av,a),$(rb,function(e){return ry(K(e.fH.dI))},rA)]))}},gP:function(e){return eQ(q([uA(function(e){return sk($(sU,e.fl,e.b7))}),uE(function(e){return $(s_,e.fl,e.aM)}),s9(sF),uI($(rW,sO,sk)),s2(function(e){return sk(R(sG,e.f7,e.dE,e.eq))}),s1(function(e){return sk($(sz,e.f7,e.ac))}),s6(function(e){return sk(R(sD,e.dl,e.dr,e.fG))}),s8(function(e){return sk(R(sq,e.dl,e.dr,e.fG))}),s5(function(e){return sk($(sJ,e.dl,e.ac))}),s3(uC),s4(ut),s0(function(e){return sk(sN)}),uy(sV),ux(sB),s7(sH),uS(sX),u$(sQ),uR(sK),R(up,1,\"resize\",$(ep,\"target\",R(eC,w(function(e,t){return ry(e)}),$(ep,\"innerWidth\",ef),$(ep,\"innerHeight\",ef)))),e.cX.$?un:eQ(q([um($(ex,sW,$(ep,\"clientX\",ef))),uw(n1(sY))])),e.co.$?un:eQ(q([um($(ex,sj,$(ep,\"clientX\",ef))),uw(n1(sZ))]))]))},g$:fH,g0:function(e){var t,n,r,a,i=pg(e);return $(f_,q([fN(e.dw)]),q([$(f_,q([fF(q([{a:\"diva-app\",b:!0},{a:\"is-fullscreen\",b:e.dm}]))]),q([S(tg,v4,e.dB,e.dm,$(aG,\"\",$(az,function(e){return $(cA,r.ey,fz(e))},lG(r=e)))),$(f_,q([fB(\"diva-app-header\")]),q([pb(e)])),$(f_,q([fF(q([{a:\"diva-app-body\",b:!0},{a:\"is-fullscreen\",b:e.dm}]))]),q([hi(e),2!==(t=e).H.$?fQ:$(f_,q([fF(q([{a:\"diva-collection-resizer\",b:!0},{a:\"is-hidden\",b:!t.a3}])),$(fX,\"mousedown\",$(ex,f5,$(ep,\"clientX\",ef)))]),q([tl(\"⋮\")])),$(f_,q([fF(q([{a:\"diva-canvas-column\",b:!0},{a:\"is-fullscreen\",b:e.dm}]))]),q([P(tm,f6,e.dm,e.X||H(e.H,rm)||H(e.b0,rp),2===e.H.$&&e.a3,i,pp(e))])),g0(e),2===e.H.$?$(gY,e,lG(e)):$(f1,gK(e),lG(e))])),$(f_,q([fB(\"diva-required-statement-dock\")]),q([$(f1,tv(gr),$(az,function(e){return $(cA,a.ey,e.fG)},$(aN,fG,lG(a=e))))])),(n=e).cP?$(f_,q([fF(q([{a:\"diva-modal-overlay\",b:!0},{a:\"is-fullscreen\",b:n.ds}]))]),q([$(f_,q([fF(q([{a:\"diva-modal\",b:!0},{a:\"is-fullscreen\",b:n.ds},{a:\"is-page-view\",b:!n.ds}]))]),q([gn(n),bW(n)]))])):fQ,e.dZ?$(f_,q([fB(\"diva-modal-overlay\")]),q([$(f_,q([fB(\"diva-modal is-narrow\")]),q([v1(e),$(v_,e,lG(e))]))])):fQ,$(f1,fY(e),e.dh.ah)]))]))}})($(ey,function(e){return $(ey,function(t){return $(ey,function(n){return $(ey,function(r){return $(ey,function(a){return $(ey,function(i){return $(ey,function(o){return $(ey,function(s){return $(ey,function(u){return $(ey,function(c){return $(ey,function(l){return $(ey,function(d){return n1({av:d,ci:l,dj:c,bK:u,cG:s,d1:o,dw:i,ec:a,dB:r,_:n,b4:t,ej:e})},$(ep,\"acceptHeaders\",ac(eg)))},$(ep,\"annotationServer\",al(q([sT(na),$(ex,nr,eg)]))))},$(ep,\"enableAnnotationSelection\",eh))},$(ep,\"enableAnnotations\",eh))},$(ep,\"initialPage\",eb))},$(ep,\"objectData\",eg))},$(ep,\"rootElementId\",eg))},$(ep,\"showSidebar\",eh))},$(ep,\"showTitle\",eh))},$(ep,\"sidebarPanel\",eg))},$(ep,\"sidebarWidth\",ef))},$(ep,\"userLanguage\",eg)))(0)}},pw=/\\/info\\.json(?:[?#].*)?$/,py=()=>new DOMException(\"The operation was cancelled.\",\"AbortError\"),px=e=>\"string\"==typeof e?e:{...e},pC=class{resolve(e,t){if(this.destroyed||t.aborted)return Promise.reject(py());let n=JSON.stringify([e.url,e.isStatic]),r=this.resolutionCache.get(e.sourceId);if(r&&r.descriptorKey!==n)this.invalidateSource(e.sourceId);else if(r){let e=r.resolutions.get(r.activeState);if(void 0!==e)return Promise.resolve(px(e))}let a=this.inflight.get(e.sourceId);return a&&a.descriptorKey!==n&&(this.invalidateSource(e.sourceId),a=void 0),a||(a=this.startResolution(e,n)),this.consume(a,t)}registerSources(e){Array.from(this.inflight.values()).forEach(e=>this.cancelResolution(e)),this.resolutionCache.clear(),this.cancelBrowserWork()}invalidateSources(e){e.forEach(e=>this.invalidateSource(e))}useNonCorsStaticSource(e){let t=this.resolutionCache.get(e),n=null==t?void 0:t.resolutions.get(\"anonymous\");t&&n&&\"object\"==typeof n&&\"image\"===n.type&&(t.resolutions.set(\"anonymous\",v(n)),t.activeState=\"anonymous\")}destroy(){this.destroyed||(this.destroyed=!0,this.root.removeEventListener(\"click\",this.clickHandler,!0),this.ports.authDestroyed.send(null),this.cancelBrowserWork(),this.pending.forEach(e=>e.reject(new DOMException(\"The viewer was destroyed.\",\"AbortError\"))),this.pending.clear(),this.inflight.clear(),this.resolutionCache.clear())}cancelBrowserWork(){this.requests.forEach(e=>e.abort()),this.requests.clear(),Array.from(this.frames.keys()).forEach(e=>this.cancelFrame(e)),this.closePopups(this.popups),this.closePopups(this.logoutPopups)}closePopups(e){e.forEach(e=>{clearInterval(e.timer),e.window.close()}),e.clear()}succeed(e){let t,n=this.pending.get(e.requestId);if(!n||this.destroyed)return;this.pending.delete(e.requestId);let r=this.inflight.get(n.sourceId);(null==r?void 0:r.requestId)===e.requestId&&this.inflight.delete(n.sourceId);let a=e.credentialed?\"use-credentials\":\"Anonymous\";if(e.infoJson&&\"object\"==typeof e.infoJson&&!e.isStatic)t={...(e=>{let t={...e};for(let e of[\"id\",\"@id\"]){let n=t[e];\"string\"==typeof n&&pw.test(n)&&(t[e]=n.replace(pw,\"\"))}return t})(e.infoJson),crossOriginPolicy:a,ajaxWithCredentials:e.credentialed};else if(e.isStatic){let n=!e.credentialed&&\"none\"===this.staticImageCorsPolicy;t=h(e.url,e.credentialed,n)}else t=e.credentialed?{url:e.url,crossOriginPolicy:a,ajaxWithCredentials:!0}:e.url;let i=e.credentialed?\"credentialed\":\"anonymous\",o=this.resolutionCache.get(n.sourceId),s=(null==o?void 0:o.descriptorKey)===n.descriptorKey?o.resolutions:new Map;s.set(i,t),this.resolutionCache.set(n.sourceId,{descriptorKey:n.descriptorKey,activeState:i,resolutions:s}),n.resolve(t)}fail(e,t){let n=this.pending.get(e);if(!n)return;this.pending.delete(e);let r=this.inflight.get(n.sourceId);(null==r?void 0:r.requestId)===e&&this.inflight.delete(n.sourceId),n.reject(Error(t))}startResolution(e,t){let n,r,a=`tile-source-${this.nextRequest+=1}`,i={requestId:a,descriptorKey:t,promise:new Promise((e,t)=>{n=e,r=t}),consumers:new Set};return this.pending.set(a,{sourceId:e.sourceId,descriptorKey:t,resolve:n,reject:r}),this.inflight.set(e.sourceId,i),this.ports.resolveTileSourceRequested.send({requestId:a,sourceId:e.sourceId}),i}consume(e,t){let n=this.nextConsumer+=1;return e.consumers.add(n),new Promise((r,a)=>{let i=!1,o=()=>{t.removeEventListener(\"abort\",s),e.consumers.delete(n)},s=()=>{i||(i=!0,o(),a(py()),0===e.consumers.size&&this.cancelResolution(e))};t.addEventListener(\"abort\",s,{once:!0}),e.promise.then(e=>{i||(i=!0,o(),r(px(e)))},e=>{i||(i=!0,o(),a(e))})})}cancelResolution(e){var t;let n=this.pending.get(e.requestId);n&&(this.pending.delete(e.requestId),(null==(t=this.inflight.get(n.sourceId))?void 0:t.requestId)===e.requestId&&this.inflight.delete(n.sourceId),this.ports.resolveTileSourceCancelled.send(e.requestId),n.reject(py()))}invalidateSource(e){this.resolutionCache.delete(e);let t=this.inflight.get(e);t&&this.cancelResolution(t)}async fetch(e){let t=new AbortController;this.requests.set(e.id,t);try{let n=await fetch(e.url,{mode:\"cors\",credentials:e.withCredentials?\"include\":\"omit\",signal:t.signal,headers:e.bearer?{Authorization:`Bearer ${e.bearer}`}:void 0}),r=await n.text();this.destroyed||this.ports.authHttpResponded.send({id:e.id,status:n.status,body:r})}catch(n){t.signal.aborted||this.destroyed||this.ports.authHttpFailed.send({id:e.id,message:n instanceof Error?n.message:\"Authorization request failed.\"})}finally{this.requests.delete(e.id)}}cancelFetch(e){var t;null==(t=this.requests.get(e))||t.abort(),this.requests.delete(e)}storage(e){let t=\"diva:iiif-auth2:\"+encodeURIComponent(e.key);try{if(\"write\"===e.action)return void sessionStorage.setItem(t,JSON.stringify({accessToken:e.accessToken,expiresAt:e.expiresAt}));if(\"remove\"===e.action)return void sessionStorage.removeItem(t);let n=sessionStorage.getItem(t);this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:n?JSON.parse(n):null})}catch(t){\"read\"===e.action&&this.ports.authStorageResponded.send({flowId:e.flowId,now:Date.now(),value:null})}}handleClick(e){let t=e.target;if(!(t instanceof Element))return;let n=t.closest(\"button[data-diva-auth-logout][data-diva-auth-url]\");if(n&&this.root.contains(n)){e.preventDefault(),e.stopPropagation(),this.startLogout(n);return}let r=t.closest(\"button[data-diva-auth-flow][data-diva-auth-url]\");if(!r||!this.root.contains(r))return;e.preventDefault(),e.stopPropagation();let a=r.dataset.divaAuthFlow,i=new URL(r.dataset.divaAuthUrl,location.href);i.searchParams.set(\"origin\",location.origin);let o=window.open(i.href,\"_blank\");if(!o)return void this.ports.authPopupChanged.send({flowId:a,status:\"blocked\"});this.ports.authPopupChanged.send({flowId:a,status:\"opened\"});let s=Date.now(),u=window.setInterval(()=>{o.closed?(clearInterval(u),this.popups.delete(a),this.ports.authPopupChanged.send({flowId:a,status:\"closed\"})):Date.now()-s>6e5&&(o.close(),clearInterval(u),this.popups.delete(a),this.ports.authTokenFailed.send({flowId:a,message:\"Sign-in timed out.\"}))},250);this.popups.set(a,{window:o,timer:u})}startLogout(e){let t=e.dataset.divaAuthLogout,n=new URL(e.dataset.divaAuthUrl,location.href),r=window.open(n.href,\"_blank\");if(!r)return void this.ports.authLogoutChanged.send({sessionId:t,status:\"blocked\"});this.ports.authLogoutChanged.send({sessionId:t,status:\"opened\"});let a=window.setInterval(()=>{r.closed&&(clearInterval(a),this.logoutPopups.delete(t),this.ports.authLogoutChanged.send({sessionId:t,status:\"closed\"}))},250);this.logoutPopups.set(t,{window:r,timer:a})}startFrame(e){this.cancelFrame(e.flowId);let t=new URL(e.url,location.href);t.searchParams.set(\"messageId\",e.messageId),t.searchParams.set(\"origin\",location.origin);let n=document.createElement(\"iframe\");n.hidden=!0,n.src=t.href;let r=r=>{r.source===n.contentWindow&&r.origin===t.origin&&r.data&&\"object\"==typeof r.data&&r.data.messageId===e.messageId&&this.ports.authTokenMessage.send({flowId:e.flowId,now:Date.now(),value:r.data})};window.addEventListener(\"message\",r);let a=window.setTimeout(()=>{this.cancelFrame(e.flowId),this.ports.authTokenFailed.send({flowId:e.flowId,message:\"The token service did not respond.\"})},3e4);this.frames.set(e.flowId,{element:n,timeout:a,receive:r}),document.body.append(n)}cancelFrame(e){let t=this.frames.get(e);t&&(clearTimeout(t.timeout),window.removeEventListener(\"message\",t.receive),t.element.remove(),this.frames.delete(e))}constructor(e,t,n=\"required\"){this.pending=new Map,this.inflight=new Map,this.resolutionCache=new Map,this.requests=new Map,this.frames=new Map,this.popups=new Map,this.logoutPopups=new Map,this.nextRequest=0,this.nextConsumer=0,this.destroyed=!1,this.ports=e,this.root=t,this.staticImageCorsPolicy=n,this.clickHandler=this.handleClick.bind(this),t.addEventListener(\"click\",this.clickHandler,!0),e.tileSourceResolutionSucceeded.subscribe(e=>this.succeed(e)),e.tileSourceResolutionFailed.subscribe(e=>this.fail(e.requestId,e.message)),e.authHttpRequested.subscribe(e=>void this.fetch(e)),e.authHttpCancelled.subscribe(e=>this.cancelFetch(e)),e.authStorageRequested.subscribe(e=>this.storage(e)),e.authTokenFrameRequested.subscribe(e=>this.startFrame(e)),e.authTokenFrameCancelled.subscribe(e=>this.cancelFrame(e))}};function pI(e,t){if(!e)throw Error(\"A viewer must be specified.\");e.filterPluginInstance?pE(e.filterPluginInstance,t||{}):e.filterPluginInstance=function(e,t){let n={viewer:e,filters:[],filterIncrement:0};function r(e,t,r){if(r){let a=n.filterIncrement,i=[];for(let r=0;r{n.filterIncrement===a&&t[r+1](e,i[r+1])};i[t.length-1]=()=>{n.filterIncrement===a&&r()},t[0](e,i[0])}else for(let n=0;n{})}return n.viewer.addHandler(\"tile-loaded\",function(e){let t=pR(n,e.tiledImage);if(0===t.length)return;let a=e.tile,i=e.data||e.image;if(null!=i){let o=window.document.createElement(\"canvas\");o.width=i.width,o.height=i.height;let s=o.getContext(\"2d\",{willReadFrequently:!0});s.drawImage(i,0,0),a._renderedContext=s,r(s,t,e.getCompletionCallback()),a._filterIncrement=n.filterIncrement}}),n.viewer.addHandler(\"tile-drawing\",function(e){let t=e.tile,a=e.rendered;if(a._filterIncrement===n.filterIncrement)return;let i=pR(n,e.tiledImage);if(0===i.length){a._originalImageData&&(a.putImageData(a._originalImageData,0,0),delete a._originalImageData),a._filterIncrement=n.filterIncrement;return}if(a._originalImageData?a.putImageData(a._originalImageData,0,0):a._originalImageData=pA(a),t._renderedContext){if(t._filterIncrement===n.filterIncrement){let e=pA(t._renderedContext);a.putImageData(e,0,0),delete t._renderedContext,delete t._filterIncrement,a._filterIncrement=n.filterIncrement;return}delete t._renderedContext,delete t._filterIncrement}r(a,i),a._filterIncrement=n.filterIncrement}),pE(n,t),n}(e,t||{})}function pA(e){let t=e.canvas.width,n=e.canvas.height,r=p0._ensureScratchContext(t,n);return r.clearRect(0,0,t,n),r.drawImage(e.canvas,0,0),r.getImageData(0,0,t,n)}function pE(e,t){let n=t.filters;e.filters=n?Array.isArray(n)?n:[n]:[];for(let t=0;t=0)throw Error(\"An item can not have filters assigned multiple times.\");t.push(e)}function pR(e,t){if(0===e.filters.length)return[];let n=null;for(let r=0;r=0)return a.processors}else n=a.processors}return n||[]}var pS=(e,t)=>{let n=e[0],r=e[e.length-1];for(let a=0;a=t){r=e[a],n=e[Math.max(0,a-1)];break}if(r.stop===n.stop)return r.color.slice();let a=(t-n.stop)/(r.stop-n.stop);return[Math.round(n.color[0]+(r.color[0]-n.color[0])*a),Math.round(n.color[1]+(r.color[1]-n.color[1])*a),Math.round(n.color[2]+(r.color[2]-n.color[2])*a)]},pM=e=>{let t=[];for(let n=0;n<256;n+=1){let r=n/255;t[n]=pS(e,r)}return t},pP=new Map,pL=e=>e<0?0:e>255?255:e,pT=e=>e<0?0:e>1?1:e,pk=e=>{if(!e)return null;let t=e.trim();if(t.startsWith(\"#\")&&(t=t.slice(1)),3===t.length&&(t=t.split(\"\").map(e=>e+e).join(\"\")),6!==t.length)return null;let n=parseInt(t,16);return Number.isNaN(n)?null:[n>>16&255,n>>8&255,255&n]},pO=(e,t,n,r,a)=>{let i=new Uint8ClampedArray(e.length);if(!r)return i.set(e),i;let o=1/(2*r+1);if(a){let a=new Uint8ClampedArray(t*n);for(let i=0;i>8;return a}function pB(e,t){let n=e.canvas.width,r=e.canvas.height,a=p0._ensureScratchContext(n,r);a.clearRect(0,0,n,r),a.drawImage(e.canvas,0,0);let i=a.getImageData(0,0,n,r);t(i)&&(a.putImageData(i,0,0),e.clearRect(0,0,n,r),e.drawImage(p0._scratchCanvas,0,0))}function pF(e,t){return e[0]*t[0]+e[1]*t[1]+e[2]*t[2]}function p_(e){let t=Math.sqrt(e[0]*e[0]+e[1]*e[1]+e[2]*e[2])||1;return[e[0]/t,e[1]/t,e[2]/t]}function pN(e,t){return[e[0][0]*t[0]+e[0][1]*t[1]+e[0][2]*t[2],e[1][0]*t[0]+e[1][1]*t[1]+e[1][2]*t[2],e[2][0]*t[0]+e[2][1]*t[1]+e[2][2]*t[2]]}function pz(e,t){let n=p_([1,1,1]);for(let r=0;r{t()};function pq(e,t,n){let r=e/255,a=t/255,i=n/255,o=Math.max(r,a,i),s=Math.min(r,a,i),u=o-s,c=0;if(o!==s){switch(o){case r:c=(a-i)/u+6*(a{i[0]=t[e],i[1]=n,i[2]=r,i[3]=a}):1===e?pH((e,n,r,a,i)=>{i[0]=e,i[1]=t[n],i[2]=r,i[3]=a}):pH((e,n,r,a,i)=>{i[0]=e,i[1]=n,i[2]=t[r],i[3]=a})}function pW(e,t){let n=t/100,r=Math.abs(n),a=e=>n>0?e+(255-e)*n:e-e*r;return 0===e?pH((e,t,n,r,i)=>{i[0]=a(e),i[1]=t,i[2]=n,i[3]=r}):1===e?pH((e,t,n,r,i)=>{i[0]=e,i[1]=a(t),i[2]=n,i[3]=r}):pH((e,t,n,r,i)=>{i[0]=e,i[1]=t,i[2]=a(n),i[3]=r})}function pZ(e,t){let n=Math.max(0,Math.min(100,t||0));if(0===n)return pJ;let r=1-n/100*.8,a=[];for(let e=0;e<256;e+=1)a[e]=pL(255*Math.pow(e/255,r));return pj(e,a)}function pY(e,t){let n=Math.max(0,Math.min(100,t||0))/100;if(0===n)return pJ;let r=[];for(let e=0;e<256;e+=1){let t=255*(1/(1+Math.exp(-8*(e/255-.5))));r[e]=pL(e+(t-e)*n)}return pj(e,r)}function pK(e,t,n){let r=Math.max(-100,Math.min(100,t||0))/100;if(0===r)return pJ;let a=Math.max(.02,Math.min(.3,(void 0===n?8:n)/100));return pH((t,n,i,o,s)=>{let u=pq(t,n,i),c=pT(1-(0===e?Math.min(Math.abs(u.h),Math.abs(1-u.h)):Math.abs(u.h-e))/a)*Math.abs(r);if(c<=0){s[0]=t,s[1]=n,s[2]=i,s[3]=o;return}let l=r>=0?1:-1,d=pT(u.s+l*(1-u.s)*c),f=pT(u.v+l*u.v*c*.2),h=pX(u.h,d,f);s[0]=h.r,s[1]=h.g,s[2]=h.b,s[3]=o})}function pQ(e,t){let n=Math.max(0,Math.min(100,t||0))/100;if(0===n)return pJ;let r=[];for(let e=0;e<256;e+=1){let t=e/255*(e/255)*n;r[e]=pL(e+(255-e)*t)}return pj(e,r)}var p0={_scratch:null,_scratchCanvas:null,_scratchContext:null,_ensureScratch:function(e){return(!this._scratch||this._scratch.length255)throw Error(\"Threshold must be between 0 and 255.\");return pH((t,n,r,a,i)=>{let o=255*(54*t+183*n+19*r>>8>=e);i[0]=o,i[1]=o,i[2]=o,i[3]=255})},SATURATION:function(e){let t=-.01*e;return pH((e,n,r,a,i)=>{let o=Math.max(e,n,r);i[0]=e!==o?e+(o-e)*t:e,i[1]=n!==o?n+(o-n)*t:n,i[2]=r!==o?r+(o-r)*t:r,i[3]=a})},VIBRANCE:function(e){let t=-1*e;return pH((e,n,r,a,i)=>{let o=Math.max(e,n,r),s=2*Math.abs(o-(e+n+r)/3)/255*t/100;i[0]=e!==o?e+(o-e)*s:e,i[1]=n!==o?n+(o-n)*s:n,i[2]=r!==o?r+(o-r)*s:r,i[3]=a})},HUE:function(e){let t=pU(Math.abs(e)/100*360);return pH((e,n,r,a,i)=>{i[0]=pL(t.m00*e+t.m01*n+t.m02*r),i[1]=pL(t.m10*e+t.m11*n+t.m12*r),i[2]=pL(t.m20*e+t.m21*n+t.m22*r),i[3]=a})},BRIGHTNESS:function(e){if(e<-255||e>255)throw Error(\"Brightness adjustment must be between -255 and 255.\");let t=[];for(let n=0;n<256;n+=1)t[n]=n+e;return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},CC_RED:function(e){return pW(0,e)},CC_GREEN:function(e){return pW(1,e)},CC_BLUE:function(e){return pW(2,e)},CONTRAST:function(e){if(e<0)throw Error(\"Contrast adjustment must be positive.\");let t=[];for(let n=0;n<256;n+=1)t[n]=n*e;return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},GAMMA:function(e){if(e<0)throw Error(\"Gamma adjustment must be positive.\");let t=[];for(let n=0;n<256;n+=1)t[n]=255*Math.pow(n/255,e);return pH((e,n,r,a,i)=>{i[0]=t[e],i[1]=t[n],i[2]=t[r],i[3]=a})},GREYSCALE:function(){return pH((e,t,n,r,a)=>{let i=77*e+150*t+29*n>>8;a[0]=i,a[1]=i,a[2]=i,a[3]=255})},INVERT:function(){let e=[];for(let t=0;t<256;t+=1)e[t]=255-t;return pH((t,n,r,a,i)=>{i[0]=e[t],i[1]=e[n],i[2]=e[r],i[3]=a})},MORPHOLOGICAL_OPERATION:function(e,t){if(e%2==0)throw Error(\"The kernel size must be an odd number.\");let n=Math.floor(e/2);if(!t)throw Error(\"A comparator must be defined.\");return function(r,a){pB(r,r=>{let a=r.width,i=r.height,o=p0._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,n,r,a,i,o){let s=4*n,u=r-i,c=n-i;for(let n=i;n=i&&l=i&&u=r)continue;let d=c*s;for(let t=0;t=0&&r{let a=r.width,i=r.height,o=p0._ensureScratch(r.data.length);return o.set(r.data),!function(e,t,n,r,a,i,o){let s=4*n,u=r-o,c=n-o;for(let n=o;n=o&&l=o&&u=r)continue;let d=c*s;for(let r=0;r=0&&st?0|Math.min((a-t)/r*128+128,255):0|Math.max(0,a/(t/128)),n[a]=e[i]}return pH((e,t,r,a,i)=>{let o=n[(e+t+r)/3|0];i[0]=o[0],i[1]=o[1],i[2]=o[2],i[3]=255})},COLORMAP_PRESET:function(e){var t=e||\"\";let n=pP.get(t);if(n)return n;let r=null;switch(t){case\"hot\":r=pM([{stop:0,color:[0,0,0]},{stop:.4,color:[255,0,0]},{stop:.7,color:[255,255,0]},{stop:1,color:[255,255,255]}]);break;case\"cool\":r=pM([{stop:0,color:[0,0,0]},{stop:.5,color:[0,128,255]},{stop:1,color:[255,255,255]}]);break;case\"gray\":case\"\":r=pM([{stop:0,color:[0,0,0]},{stop:1,color:[255,255,255]}]);break;default:return null}return pP.set(t,r),r},CONVOLUTION_PRESET:function(e){switch((e||\"\").toLowerCase()){case\"sharpen\":return[0,-1,0,-1,5,-1,0,-1,0];case\"blur\":return[1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9,1/9];case\"edge\":return[-1,-1,-1,-1,8,-1,-1,-1,-1];case\"emboss\":return[-2,-1,0,-1,1,1,0,1,2];default:return null}},PSEUDOCOLOR:function(e,t,n,r){let a=(e||\"\").toLowerCase(),i=void 0===t?1:t,o=void 0===n?1:n,s=void 0===r?1:r,u=(e,t,n,r)=>{r[0]=pL(e*i),r[1]=pL(t*o),r[2]=pL(n*s)};return pH((e,t,n,r,i)=>{let o=.2126*e+.7152*t+.0722*n;switch(a){case\"rg\":{let n=pL(128+(e-t));u(n,255-n,(e+t)/2,i),i[3]=r;return}case\"gb\":{let e=pL(128+(t-n));u((t+n)/2,e,255-e,i),i[3]=r;return}case\"rb\":{let t=pL(128+(e-n));u(t,(e+n)/2,255-t,i),i[3]=r;return}case\"luma\":{let e=pL(o);u(e,255-e,e,i),i[3]=r;return}case\"cmy\":u(255-e,255-t,255-n,i),i[3]=r;return;case\"heat\":{let e=pL(o)/255;u(pL(255*Math.min(1,3*e)),pL(255*Math.min(1,Math.max(0,(e-.33)*3))),pL(255*Math.min(1,Math.max(0,(e-.66)*3))),i),i[3]=r;return}case\"pca1\":{let a=pL(.6*e+.3*t+.1*n);u(a,255-a,a,i),i[3]=r;return}case\"pca2\":{let a=pL(.5*e-.2*t-.3*n+128);u(a,255-a,255-a,i),i[3]=r;return}case\"pca3\":{let a=pL(.2*e+.6*t-.8*n+128);u(255-a,a,255-a,i),i[3]=r;return}default:u(e,t,n,i),i[3]=r}})},COLOR_REPLACE:function(e,t,n,r,a){let i=pk(e),o=pk(t);if(!i||!o)return pJ;let s=Math.max(0,Math.min(255,void 0===n?0:n)),u=Math.max(0,Math.min(1,void 0===r?1:r)),c=pq(o[0],o[1],o[2]);return pH((e,t,n,r,l)=>{let d,f=e-i[0],h=t-i[1],v=n-i[2],b=Math.sqrt(f*f+h*h+v*v);if((d=(s<=0?+(0===b):1-Math.min(1,b/s))*u)<=0){l[0]=e,l[1]=t,l[2]=n,l[3]=r;return}let g=o[0],p=o[1],m=o[2];if(a){let r=(.2126*e+.7152*t+.0722*n)/255,a=pX(c.h,c.s,r);g=a.r,p=a.g,m=a.b}l[0]=pL(e+(g-e)*d),l[1]=pL(t+(p-t)*d),l[2]=pL(n+(m-n)*d),l[3]=r})},ALT_RED_GAMMA:function(e){return pZ(0,e)},ALT_GREEN_GAMMA:function(e){return pZ(1,e)},ALT_BLUE_GAMMA:function(e){return pZ(2,e)},ALT_RED_SIGMOID:function(e){return pY(0,e)},ALT_GREEN_SIGMOID:function(e){return pY(1,e)},ALT_BLUE_SIGMOID:function(e){return pY(2,e)},ALT_RED_HUE:function(e,t){return pK(0,e,t)},ALT_GREEN_HUE:function(e,t){return pK(1/3,e,t)},ALT_BLUE_HUE:function(e,t){return pK(2/3,e,t)},ALT_RED_VIBRANCE:function(e){return pQ(0,e)},ALT_GREEN_VIBRANCE:function(e){return pQ(1,e)},ALT_BLUE_VIBRANCE:function(e){return pQ(2,e)},GLOBAL_PCA_COLOR:function(e,t){let n=(e||\"\").toLowerCase(),r=Math.max(-180,Math.min(180,null!=t?t:0)),a={count:0,mean:[0,0,0],m2:[[0,0,0],[0,0,0],[0,0,0]]},i=null;return function(e,t){pB(e,e=>{let t=e.data;return!i&&(!function(e,t){for(let n=0;n=2e3&&(i=function(e){if(e.count<2)return null;let t=1/(e.count-1),n=[[e.m2[0][0]*t,e.m2[0][1]*t,e.m2[0][2]*t],[e.m2[1][0]*t,e.m2[1][1]*t,e.m2[1][2]*t],[e.m2[2][0]*t,e.m2[2][1]*t,e.m2[2][2]*t]];return pG(e.mean,n)}(a))),i?!function(e,t,n,r){let a=e.data,i=n.mean,o=n.vectors[0],s=n.vectors[1],u=n.vectors[2],c=Math.sqrt(Math.max(1e-6,n.values[0])),l=Math.sqrt(Math.max(1e-6,n.values[1])),d=Math.sqrt(Math.max(1e-6,n.values[2])),f=(e,t)=>pL(128+e/(3*t)*127);for(let e=0;el&&(l=b),gf&&(f=g),pv&&(v=p)}let b=l-c||1,g=f-d||1,p=v-h||1,m=(e,t,n)=>pL((e-t)/n*255);for(let e=0;e{let n=e.width,r=e.height;if(!n||!r)return!1;let a=e.data,i=pV(a,n,r),o=pO(i,n,r,6,!0);for(let e=0,n=0;e{let n=e.width,r=e.height;if(!n||!r)return!1;let a=pO(e.data,n,r,2),i=e.data;for(let e=0;e{let t=e.width,a=e.height;if(!t||!a)return!1;let i=e.data,o=pV(i,t,a),s=pO(o,t,a,Math.floor(n/2),!0);for(let e=0,t=0;es[t]+r);i[e]=n,i[e+1]=n,i[e+2]=n}return!0}),t()}}},p1=\"diva-inline-styles\";(e=>{if(\"u\":first-child{margin-top:0}.diva-metadata-value>:last-child{margin-bottom:0}.diva-contents-empty{font-size:var(--diva-font-lg);color:var(--diva-text-muted);padding-left:12px}.diva-sidebar-resizer,.diva-collection-resizer{width:12px;font-size:var(--diva-font-xl);color:var(--diva-white);background-color:var(--diva-text-muted);cursor:col-resize;user-select:none;touch-action:none;flex:0 0 12px;justify-content:center;align-self:stretch;align-items:center;line-height:1;display:flex}.diva-sidebar-resizer:hover,.diva-sidebar-resizer:active,.diva-collection-resizer:hover,.diva-collection-resizer:active{cursor:col-resize}.diva-sidebar-resizer.is-hidden,.diva-collection-resizer.is-hidden{display:none}.diva-sidebar-panel.is-hidden,.diva-collection-panel.is-hidden{opacity:0;pointer-events:none;border-width:0;padding:0;overflow:hidden}.diva-required-statement-dock{justify-content:flex-end;width:100%;margin-top:12px;padding-right:8px;display:flex}.diva-required-statement{font-size:var(--diva-font-md);color:var(--diva-text-muted);text-align:right;min-width:250px;max-width:20vw;line-height:1.4}.diva-scrollbar-track{background:var(--diva-surface);border:1px solid var(--diva-border);z-index:100;border-radius:0;width:12px;position:absolute;top:4px;bottom:4px;right:4px}.diva-scrollbar-thumb{background:var(--diva-text-muted);cursor:pointer;border-radius:0;min-height:30px;position:absolute;left:1px;right:1px}.diva-scrollbar-thumb:hover{background:var(--diva-text-primary)}.diva-scrollbar-thumb:active{background:var(--diva-dark-border)}.diva-throbber-overlay{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.diva-viewer-zoom-indicator{z-index:30;pointer-events:none;font-size:var(--diva-font-sm);color:var(--diva-white);background-color:#0000008c;border-radius:0;padding:4px 8px;font-weight:600;position:absolute;bottom:12px;left:12px}.diva-throbber{background-color:var(--diva-white);width:64px;height:64px;box-shadow:0 8px 16px var(--diva-shadow-dark);border-radius:0;flex-wrap:wrap;padding:8px;display:flex}.diva-throbber-cube{background-color:var(--diva-accent);width:16px;height:16px;animation-name:diva-cube-grid;animation-duration:1.3s;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes diva-cube-grid{0%{transform:scale(1)}35%{transform:scale(0)}70%{transform:scale(1)}to{transform:scale(1)}}@media (width<=720px){.diva-app{padding:12px}.diva-app-body{flex-direction:column;gap:12px}.diva-sidebar-resizer,.diva-collection-resizer{display:none}}.diva-image-unavailable{background:color-mix(in srgb, var(--diva-background-color,#fff) 92%, transparent);box-sizing:border-box;text-align:center;border:1px solid #999;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex}.diva-image-unavailable button{cursor:pointer}.diva-sidebar-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;flex:none;width:320px;height:100%;min-height:0;display:flex;overflow:hidden}.diva-sidebar-tabs{border:1px solid var(--diva-surface);background-color:var(--diva-surface);border-radius:0;display:flex}.diva-sidebar-tab-button{font-size:var(--diva-font-md);text-transform:uppercase;cursor:pointer;color:var(--diva-text-muted);background-color:#0000;border:none;flex:1;padding:10px 12px}.diva-sidebar-tab-button.is-active{background-color:var(--diva-white);font-weight:600}.diva-sidebar-content{background-color:var(--diva-page-bg);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.diva-sidebar-pane{flex:1;width:100%;min-height:0}.diva-sidebar-pane.is-hidden{display:none}.diva-thumbs{scroll-behavior:smooth;background-color:var(--diva-dark-bg);flex:1;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px;display:grid;overflow-y:auto}.diva-thumbs-item{border:1px solid var(--diva-dark-border);text-align:left;flex-direction:column;justify-content:flex-start;align-items:stretch;max-width:none;display:flex}.diva-thumbs-item.is-active{border-color:var(--diva-accent-light);box-shadow:0 0 0 var(--diva-shadow-focus);background-color:var(--diva-dark-bg);outline:2px solid var(--diva-accent-light);outline-offset:2px}.diva-thumbs-lazy-image{background:var(--diva-dark-bg);width:100%;min-height:96px;display:block}.diva-thumbs-image--protected,.diva-thumbs-image--unavailable{background:var(--diva-dark-bg);min-height:96px}.diva-thumbs-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted-on-dark);margin-top:6px;line-height:1.3}.diva-thumbs-label.is-active{color:var(--diva-white)}.diva-contents-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:10px;font-weight:600}.diva-contents-view-tabs{gap:8px;margin-bottom:12px;display:flex}.diva-contents-view-button{background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);color:var(--diva-text-muted);cursor:pointer;border-radius:0;padding:4px 10px}.diva-contents-view-button.is-active{background-color:var(--diva-white);border-color:var(--diva-accent);color:var(--diva-text-primary)}.diva-contents-list-nested{border-left:1px solid var(--diva-border);margin-top:6px;margin-left:6px;padding-left:13px}.diva-contents-item{margin-bottom:6px}.diva-contents-heading{align-items:baseline;display:flex}.diva-contents-disclosure{color:var(--diva-text-muted);cursor:pointer;text-align:center;flex:0 0 1.25rem}.diva-contents-disclosure:hover{color:var(--diva-accent)}.diva-contents-meta{border:1px solid var(--diva-dark-border);flex-direction:column;gap:10px;margin-top:6px;padding:8px;display:flex}.diva-contents-meta dl>div+div{border-top:1px solid var(--diva-dark-border);margin-top:.75rem;padding-top:.75rem}.diva-contents-meta dt{font-weight:600}.diva-contents-meta dd{margin:0 0 .5rem 1rem}.diva-contents-meta dd:last-child{margin-bottom:0}.diva-contents-button:hover{color:var(--diva-accent)}.diva-contents-button.is-current{font-weight:600}@media (width<=720px){.diva-sidebar-panel{height:auto;width:100%!important}.diva-sidebar-panel.is-overlay{z-index:100;width:100%;height:100%;box-shadow:0 12px 24px var(--diva-shadow-dark);border-radius:0;position:absolute;inset:0}.diva-sidebar-panel.is-mobile-hidden{display:none}.diva-thumbs{height:auto;overflow:auto hidden}.diva-thumbs-item{min-width:120px}}.diva-canvas-toolbar-stack{flex-direction:column;gap:4px;width:100%;min-width:0;display:flex}.diva-canvas-toolbar{align-items:center;width:100%;margin-bottom:0;display:flex}.diva-canvas-toolbar-section{flex:none;align-items:center;gap:5px;min-width:0;display:flex}.diva-canvas-toolbar-section.is-right{flex:none;margin-left:auto}.diva-canvas-toolbar-end{align-items:center;gap:8px;min-width:0;margin-left:auto;display:flex}.diva-canvas-toolbar-end .diva-canvas-toolbar-section.is-right{margin-left:0}.diva-canvas-toolbar-item{flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:flex;position:relative}.diva-canvas-toolbar-button{width:30px;height:30px;color:var(--diva-toolbar-button-icon);box-shadow:none;cursor:pointer;background-color:#e2e2e2f0;border:1px solid #2c2d3373;border-radius:0;justify-content:center;align-items:center;padding:6px;display:flex}.diva-canvas-toolbar-button svg{flex:none;width:16px;height:16px}.diva-canvas-toolbar-button:focus-visible{outline:2px solid var(--diva-accent);outline-offset:2px}.diva-canvas-toolbar-button:hover{border-color:var(--diva-toolbar-button-icon);background-color:#d6d6d6fa}.diva-canvas-toolbar-button.is-fullscreen{color:var(--diva-white);background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-button.is-fullscreen:hover{border-color:var(--diva-white);background-color:#606874b8}.diva-canvas-toolbar-button.is-disabled{opacity:.4;cursor:not-allowed}.diva-canvas-toolbar-button.is-disabled:hover{background-color:#e2e2e2f0;border-color:#2c2d3373}.diva-canvas-toolbar-button.is-fullscreen.is-disabled:hover{background-color:#52586294;border-color:#ffffff85}.diva-canvas-toolbar-item:after{z-index:80;max-width:160px;color:var(--diva-white);content:attr(data-tooltip);font-size:var(--diva-font-xs);letter-spacing:.02em;opacity:0;pointer-events:none;text-align:center;visibility:hidden;white-space:normal;word-break:normal;background-color:#1c1d22f2;border:1px solid #ffffff2e;border-radius:0;width:max-content;padding:5px 7px;font-weight:600;line-height:1.2;transition:opacity .12s,transform .12s;position:absolute;top:calc(100% + 7px);left:50%;transform:translate(-50%,-3px);box-shadow:0 4px 10px #0003}.diva-canvas-toolbar-item:hover:after,.diva-canvas-toolbar-item:has(.diva-canvas-toolbar-button:focus-visible):after{opacity:1;visibility:visible;transform:translate(-50%)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:after{left:auto;right:0;transform:translateY(-3px)}.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:hover:after,.diva-canvas-toolbar-section.is-right .diva-canvas-toolbar-item:last-child:has(.diva-canvas-toolbar-button:focus-visible):after{transform:translate(0)}.diva-canvas-label{font-size:var(--diva-font-lg);color:var(--diva-text-muted);text-align:left;white-space:normal;overflow-wrap:anywhere;word-break:break-word;width:100%}.diva-canvas-toolbar-end .diva-canvas-label{overflow-wrap:normal;text-align:right;white-space:nowrap;word-break:normal;flex:auto;width:auto;min-width:0;max-width:min(42vw,42rem);overflow:hidden}.diva-canvas-label.is-fullscreen{color:var(--diva-white)}.diva-status{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:0}.diva-status.is-error{color:var(--diva-danger)}@media (width<=720px){.diva-canvas-toolbar{flex-wrap:wrap;gap:5px}.diva-canvas-toolbar-end{justify-content:flex-end;width:100%;margin-left:0}.diva-canvas-toolbar-item{width:32px;height:32px}.diva-canvas-toolbar-button{width:28px;height:28px;padding:6px}.diva-canvas-toolbar-button svg{width:15px;height:15px}.diva-canvas-label,.diva-status{display:none}}.diva-modal-overlay{background-color:var(--diva-overlay-bg);z-index:100;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.diva-viewer-status-overlay{background-color:var(--diva-overlay-bg);z-index:40;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;inset:0}.diva-modal-overlay.is-fullscreen{padding:0}.diva-modal{background-color:var(--diva-page-bg);color:var(--diva-text-primary);width:min(1440px,96vw);max-height:90vh;box-shadow:0 20px 40px var(--diva-shadow-modal);border-radius:0;flex-direction:column;display:flex}.diva-modal.is-narrow{width:min(960px,94vw)}.diva-modal.is-page-view{height:80vh;max-height:80vh}.diva-modal.is-fullscreen{border-radius:0;width:100vw;height:100vh;max-height:100vh}.diva-modal-header{justify-content:space-between;align-items:center;padding:16px 20px 0;display:flex}.diva-modal-actions{gap:8px;display:flex}.diva-modal-close-action .diva-canvas-toolbar-button{color:var(--diva-danger);box-shadow:none;-webkit-backdrop-filter:none;background-color:#0000;border:none;width:auto;height:auto;padding:2px}.diva-modal-close-action .diva-canvas-toolbar-button:hover{background-color:#d32f2f1f;border-color:#0000}.diva-modal-close-action .diva-canvas-toolbar-item{width:32px}.diva-modal-title-stack{flex-direction:column;gap:4px;display:flex}.diva-modal-title{font-size:var(--diva-font-lg);font-weight:600}.diva-modal-subtitle{font-size:var(--diva-font-lg);color:var(--diva-text-primary)}.diva-modal-subtitle.is-muted{font-size:var(--diva-font-md)}.diva-modal-body{flex:1;grid-template-columns:minmax(0,1fr) 240px;gap:16px;min-height:0;padding:16px 20px 20px;display:grid}.diva-modal-body.is-no-gap{gap:0}.diva-modal-body.is-two-column{grid-template-columns:minmax(0,1fr) 200px;align-items:start}.diva-modal-body.is-no-sidebar{grid-template-columns:minmax(0,1fr)}.diva-modal-body.is-with-choices{grid-template-columns:120px minmax(0,1fr) 240px}.diva-modal-body.is-with-choices-no-sidebar{grid-template-columns:120px minmax(0,1fr)}.diva-modal-viewer{background-color:var(--diva-dark-bg);border:1px solid var(--diva-dark-border);height:100%;overflow:hidden}.diva-modal-canvas{width:100%;height:100%;display:block}.diva-modal-sidebar{background-color:var(--diva-white);border-top:1px solid var(--diva-border);border-right:1px solid var(--diva-border);border-bottom:1px solid var(--diva-border);border-radius:0;padding:16px;overflow:auto}.diva-filter-access-warning{color:var(--diva-danger);background-color:var(--diva-surface);border:1px solid var(--diva-border);font-size:var(--diva-font-sm);margin:0 0 12px;padding:8px;line-height:1.4}.diva-manifest-info-logo-wrap{text-align:center;flex-direction:column;align-items:center;gap:8px;display:flex}.diva-manifest-info-logo{width:100%;max-width:180px;height:auto}.diva-page-view-choices{background-color:var(--diva-dark-bg);border-radius:0;flex-direction:column;gap:8px;padding:8px;display:flex;overflow:auto}.diva-page-view-choice{border:2px solid #0000;flex-direction:column;gap:4px;display:flex}.diva-page-view-choice:hover{background-color:var(--diva-dark-bg)}.diva-page-view-choice.is-active{border-color:var(--diva-accent-light);background-color:var(--diva-dark-bg)}.diva-page-view-choice-thumb--protected{background:var(--diva-dark-bg);min-height:72px}.diva-page-view-choice-label{font-size:var(--diva-font-xs);color:var(--diva-text-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.2;overflow:hidden}.diva-filter-group{border-bottom:1px solid var(--diva-border);margin-bottom:12px;padding-bottom:12px}.diva-filter-title-button{text-align:left;cursor:pointer;width:100%;font-size:var(--diva-font-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--diva-text-muted);background-color:#0000;border:none;align-items:center;gap:8px;margin-bottom:8px;padding:0;font-weight:600;display:flex}.diva-filter-title-button.is-collapsed{margin-bottom:0}.diva-filter-title-icon{border-top:4px solid #0000;border-bottom:4px solid #0000;border-left:6px solid var(--diva-text-muted);width:0;height:0;transition:transform .15s;display:inline-block}.diva-filter-title-icon.is-expanded{transform:rotate(90deg)}.diva-filter-row{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle{font-size:var(--diva-font-md);align-items:center;gap:8px;margin-bottom:8px;display:flex}.diva-filter-toggle.is-inline{margin-bottom:0}.diva-filter-range-group{flex-direction:column;gap:6px;margin-bottom:10px;display:flex}.diva-filter-range-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.diva-filter-range-header-right{align-items:center;gap:8px;display:flex}.diva-filter-range-input{width:100%}.diva-filter-value{font-size:var(--diva-font-sm);color:var(--diva-text-muted);text-align:right;width:40px}.diva-filter-reset{font-size:var(--diva-font-xs);background-color:var(--diva-surface);border:1px solid var(--diva-border);cursor:pointer;color:var(--diva-text-muted);border-radius:0;padding:2px 6px}.diva-filter-reset:hover{background-color:var(--diva-border)}.diva-filter-json{width:100%;min-height:120px;font-size:var(--diva-font-sm);border:1px solid var(--diva-border);background-color:var(--diva-white);resize:vertical;border-radius:0;padding:6px 8px;font-family:Menlo,Monaco,Consolas,Liberation Mono,monospace}.diva-filter-json-error{font-size:var(--diva-font-sm);color:var(--diva-danger);margin-top:4px}.diva-filter-label{font-size:var(--diva-font-sm);color:var(--diva-text-muted)}.diva-filter-select{border:1px solid var(--diva-border);background-color:var(--diva-white);font-size:var(--diva-font-sm);border-radius:0;padding:4px 6px}.diva-filter-color-input{border:1px solid var(--diva-border);background-color:var(--diva-white);border-radius:0;width:42px;height:28px;padding:0}.diva-auth-overlay{z-index:10000;background:#0000008c;place-items:center;display:grid;position:fixed;inset:0}.diva-auth-dialog{box-sizing:border-box;border:1px solid var(--diva-border,#aaa);background:var(--diva-background-color,#fff);width:min(30rem,100vw - 2rem);color:var(--diva-text-primary,#222);border-radius:0;padding:1.25rem}.diva-auth-dialog button{min-height:2.25rem;color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:0;padding:.35rem .8rem}.diva-auth-dialog button:focus-visible{outline:2px solid var(--diva-accent,#1769aa);outline-offset:2px}.diva-collection-panel{border:1px solid var(--diva-dark-border);background-color:var(--diva-page-bg);border-radius:0;flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.diva-collection-header{background-color:var(--diva-surface);border-bottom:1px solid var(--diva-border);border-radius:0;padding:12px}.diva-collection-title{font-size:var(--diva-font-lg);color:var(--diva-text-muted);margin-bottom:4px;font-weight:600}.diva-collection-summary{font-size:var(--diva-font-md);color:var(--diva-text-muted);line-height:1.4}.diva-collection-tree-item{padding-left:12px}.diva-collection-node-button{align-items:center;gap:6px;width:100%;padding:6px 8px;display:flex}.diva-collection-expand-icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.diva-manifest-tree-item{padding:6px 8px 6px 30px}.diva-manifest-tree-item.is-active{background-color:var(--diva-border);font-weight:600}.diva-sidebar-pane.is-scroll{overflow-y:auto}@media (width<=720px){.diva-collection-panel{width:100%;height:auto}}\");var p2=e=>JSON.parse(JSON.stringify(e)),p4=e=>\"string\"==typeof e?e:Array.isArray(e)?e.length>0?p4(e[0]):\"\":e&&\"object\"==typeof e?\"string\"==typeof e.value?e.value:\"string\"==typeof e.chars?e.chars:\"\":\"\",p3=e=>{var t;return e&&\"object\"==typeof e?(\"string\"==typeof e.type?e.type.toLowerCase():\"string\"==typeof e[\"@type\"]?e[\"@type\"].toLowerCase():\"\").includes(\"svgselector\")&&\"string\"==typeof e.value?{kind:\"svg\",value:e.value}:\"string\"==typeof e.value?p6(e.value):null!=(t=p3(e.default))?t:p3(e.item):void 0},p6=e=>{let t=(e.startsWith(\"xywh=\")?e.slice(5):e).split(\",\").map(Number);return 4===t.length&&t.every(Number.isFinite)&&t[2]>0&&t[3]>0?{kind:\"rect\",x:t[0],y:t[1],width:t[2],height:t[3]}:void 0},p5=(e,t=null)=>{var n,r;let a,i;if(!e||\"object\"!=typeof e||\"string\"!=typeof e.id||0===e.id.length)throw TypeError(\"An annotation must be an object with a non-empty string id.\");let o=null!=(n=e.target)?n:e.on;if(\"string\"==typeof o){let e=o.match(/^(.*)#xywh=(.+)$/);a=null==e?void 0:e[1],i=e?p6(e[2]):void 0}else o&&\"object\"==typeof o&&(a=\"string\"==typeof o.source?o.source:void 0,i=p3(o.selector));if(!a||!i)throw TypeError(\"An annotation target must identify a Canvas and use a supported xywh or SVG selector.\");let s=p4(null!=(r=e.body)?r:e.resource);return{canvasId:a,publicAnnotation:p2(e),viewerAnnotation:{id:e.id,text:s.replace(/<[^>]*>/g,\"\"),html:s,imageService:t,shape:i}}},p8=class extends EventTarget{detectLanguage(){return navigator.language.split(\"-\")[0]}initialPageFlag(e){return\"number\"==typeof e?Number.isInteger(e)&&e>=0?e:null:e&&\"object\"==typeof e&&(\"canvasId\"===e.by||\"label\"===e.by)&&\"string\"==typeof e.value?{by:e.by,value:e.value}:null}getConnectedRoot(){let e=document.getElementById(this.rootId);return e||this.root}bindPorts(){this.getPort(\"tileSourcesUpdated\").subscribe(e=>{this.annotationResourceId!==e.resourceId&&(this.annotationResourceId=e.resourceId,this.manifestAnnotationsByCanvas.clear(),this.apiAnnotationsByCanvas.clear(),this.clearedAnnotationCanvases.clear(),this.annotationImageServicesByCanvas.clear()),e.tileSources.forEach(e=>{e.canvasId&&this.annotationImageServicesByCanvas.set(e.canvasId,e.isStatic?null:e.url)}),this.auth.registerSources(e.tileSources),this.callViewerMethodWhenReady(\"setTileSourceResolver\",this.tileSourceResolver),this.callViewerMethodWhenReady(\"setTileSources\",e.tileSources,e.initialPageIndex,e.resourceId)}),this.getPort(\"annotationsUpdated\").subscribe(e=>{this.manifestAnnotationsByCanvas.set(e.canvasId,e.annotations.map(t=>{var n,r,a,i;return{canvasId:e.canvasId,publicAnnotation:(r=e.canvasId,{id:t.id,type:\"Annotation\",body:{type:\"TextualBody\",value:null!=(a=t.html)?a:t.text},target:\"rect\"===t.shape.kind?{type:\"SpecificResource\",source:r,selector:{type:\"FragmentSelector\",value:`xywh=${t.shape.x},${t.shape.y},${t.shape.width},${t.shape.height}`}}:{type:\"SpecificResource\",source:r,selector:{type:\"SvgSelector\",value:null!=(i=t.shape.value)?i:\"\"}}}),viewerAnnotation:{...t,imageService:null!=(n=t.imageService)?n:null}}})),this.applyAnnotationsForCanvas(e.canvasId)}),this.getPort(\"annotationsVisibilityUpdated\").subscribe(e=>{this.callViewerMethodWhenReady(\"setAnnotationsVisible\",e)}),this.getPort(\"pageAspectsUpdated\").subscribe(e=>{this.callViewerMethodWhenReady(\"setPageAspects\",e)}),this.getPort(\"pageLabelsUpdated\").subscribe(e=>{this.callViewerMethodWhenReady(\"setPageLabels\",e)}),this.getPort(\"pagesUpdated\").subscribe(e=>{this.pages=e.map(e=>this.copyPage(e)),this.rebuildPageIndexes(),this.updateState({pageCount:this.pages.length,currentPageIndex:null,visiblePageIndexes:[]})}),this.getPort(\"zoomLevelUpdated\").subscribe(e=>{this.callViewerMethodWhenReady(\"setZoomLevel\",e)}),this.getPort(\"zoomBy\").subscribe(e=>{this.callViewerMethod(\"zoomBy\",e)}),this.getPort(\"scrollToIndex\").subscribe(e=>{this.callViewerMethod(\"scrollToIndex\",e)}),this.getPort(\"filterPreviewUpdated\").subscribe(e=>{var t;e?(this.filterPreviewVersion+=1,null==(t=this.filterPreviewController)||t.abort(),this.filterPreviewController=null,this.pendingFilterPreview=e,this.applyFilterPreview()):this.closeFilterPreview()}),this.getPort(\"setFullscreen\").subscribe(e=>{this.setFullscreen(e)}),this.getPort(\"saveFilteredImage\").subscribe(()=>{this.saveFilteredImage()}),this.getPort(\"layoutConfigUpdated\").subscribe(e=>{this.callViewerMethod(\"setLayoutConfig\",e.mode,e.direction)||this.callViewerMethodWhenReady(\"setLayoutConfig\",e.mode,e.direction),this.updateLayoutState(e.mode,e.direction)}),this.getPort(\"layoutModeUpdated\").subscribe(e=>{this.callViewerMethod(\"setLayoutMode\",e),this.updateLayoutState(e,this.state.viewingDirection)}),this.getPort(\"resourceLoadSucceeded\").subscribe(e=>{this.handleResourceSucceeded(e.requestId,e.url,e.hasPages,e.pageIndex)}),this.getPort(\"resourceLoadFailed\").subscribe(e=>{this.handleResourceFailed(e.requestId,e.message)}),this.getPort(\"copyToClipboard\").subscribe(e=>{this.copyToClipboard(e)}),this.getPort(\"authSourcesInvalidated\").subscribe(e=>{this.auth.invalidateSources(e),this.callViewerMethodWhenReady(\"invalidateTileSources\",e)})}ensureMainViewer(){let e=document.getElementById(\"main-viewer\");return e&&e!==this.mainViewer&&(this.mainViewer=e),this.mainViewer}copyPage(e){var t;let n=e.images.map(e=>({...e})),r=null!=(t=n.find(t=>t.id===e.primaryImage.id&&t.isPrimary))?t:{...e.primaryImage};return{index:e.index,canvasId:e.canvasId,label:e.label,...null===e.width||void 0===e.width?{}:{width:e.width},...null===e.height||void 0===e.height?{}:{height:e.height},primaryImage:{...r},images:n}}effectiveAnnotationsForCanvas(e){var t,n;if(this.clearedAnnotationCanvases.has(e))return[];let r=new Map;return(null!=(t=this.manifestAnnotationsByCanvas.get(e))?t:[]).forEach(e=>r.set(e.viewerAnnotation.id,e)),(null!=(n=this.apiAnnotationsByCanvas.get(e))?n:[]).forEach(e=>r.set(e.viewerAnnotation.id,e)),Array.from(r.values())}applyAnnotationsForCanvas(e){this.callViewerMethodWhenReady(\"setAnnotations\",e,this.effectiveAnnotationsForCanvas(e).map(e=>e.viewerAnnotation))}findStoredAnnotation(e){for(let t of new Set([...this.manifestAnnotationsByCanvas.keys(),...this.apiAnnotationsByCanvas.keys()])){let n=this.effectiveAnnotationsForCanvas(t).find(t=>t.viewerAnnotation.id===e);if(n)return n}}rebuildPageIndexes(){this.pagesByCanvasId.clear(),this.pagesByLabel.clear(),this.pages.forEach(e=>{this.pagesByCanvasId.has(e.canvasId)||this.pagesByCanvasId.set(e.canvasId,e);let t=e.label.toLowerCase();this.pagesByLabel.has(t)||this.pagesByLabel.set(t,e)})}pageForSelector(e){if(!e||\"object\"!=typeof e||\"canvasId\"!==e.by&&\"label\"!==e.by||\"string\"!=typeof e.value)throw TypeError(\"A page selector must contain a supported 'by' value and a string 'value'.\");return\"canvasId\"===e.by?this.pagesByCanvasId.get(e.value):this.pagesByLabel.get(e.value.toLowerCase())}copyState(){return{...this.state,visiblePageIndexes:this.state.visiblePageIndexes.slice()}}updateState(e){this.state={...this.state,...e}}emit(e,t){this.dispatchEvent(new CustomEvent(e,{detail:t}))}updateLayoutState(e,t){let n=\"spread\"===e||\"spread-shift\"===e?e:\"single\",r=\"rtl\"===t?\"rtl\":\"ltr\",a=this.ensureMainViewer(),i=a&&\"function\"==typeof a.getVisiblePageIndexes?a.getVisiblePageIndexes():this.state.visiblePageIndexes,o=n!==this.state.layoutMode||r!==this.state.viewingDirection;this.updateState({layoutMode:n,viewingDirection:r,visiblePageIndexes:i}),o&&this.emit(\"layoutchange\",{layoutMode:n,viewingDirection:r})}handleResourceSucceeded(e,t,n,r){var a;if(e!==this.activeResourceRequestId)return;let i=\"initial\"!==e;if(i&&(this.updateState({resourceUrl:t}),this.emit(\"resourcechange\",{resourceUrl:t,state:this.copyState()})),n){this.awaitingViewerResource={id:e,url:t,pageIndex:r,resourceChangeEmitted:i};let n=this.ensureMainViewer(),o=null==(a=this.pages[r])?void 0:a.primaryImage.id;o&&n&&\"function\"==typeof n.isPageLoaded&&n.isPageLoaded(r,o)&&this.completeResource(e,t,!i);return}this.completeResource(e,t,!i)}completeResource(e,t,n){e===this.activeResourceRequestId&&(this.awaitingViewerResource=null,this.updateState({resourceUrl:t,ready:!0}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyResolve(),this.emit(\"ready\",this.copyState())),\"initial\"!==e&&this.pendingResource&&(this.pendingResource.resolve(),this.pendingResource=null),n&&this.emit(\"resourcechange\",{resourceUrl:t,state:this.copyState()}))}handleResourceFailed(e,t){var n,r;if(e!==this.activeResourceRequestId)return;let a=Error(t),i=(null==(n=this.pendingResource)?void 0:n.id)===e&&this.pendingResource.previousReady;this.awaitingViewerResource=null,this.updateState({ready:i}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(a)),\"initial\"!==e&&(null==(r=this.pendingResource)?void 0:r.id)===e&&(this.pendingResource.reject(a),this.pendingResource=null),this.emit(\"error\",{error:a,operation:\"setResource\",recoverable:\"initial\"!==e})}assertAlive(){if(this.isDestroyed)throw new DOMException(\"The Diva instance was destroyed.\",\"InvalidStateError\")}assertPageIndex(e){if(!Number.isInteger(e)||e<0||e>=this.pages.length)throw RangeError(`Page index ${e} is outside the available page range.`)}refreshLoadingState(){let e=this.resourceLoading||this.viewerLoading;e!==this.state.loading&&(this.updateState({loading:e}),this.emit(\"loadingchange\",{loading:e}))}async waitForResource(){this.assertAlive(),this.pendingResource?await this.pendingResource.promise:await this.ready,this.assertAlive()}async applyFilterPreview(){if(this.isDestroyed||!this.pendingFilterPreview)return;if(!this.ensureFilterViewerElement()){this.filterPreviewRetries<10&&(this.filterPreviewRetries+=1,null===this.filterPreviewRafId&&(this.filterPreviewRafId=requestAnimationFrame(()=>{this.filterPreviewRafId=null,this.applyFilterPreview()})));return}let e=this.pendingFilterPreview;this.pendingFilterPreview=null,this.filterPreviewRetries=0;let t=this.filterPreviewVersion;if(this.filterOptions=e.filters||null,this.ensureFilterViewer(),this.filterViewer){let n=JSON.stringify([e.sourceId,e.tileSource,e.isStatic]);if(this.currentFilterSourceKey!==n){let r,a=new AbortController;this.filterPreviewController=a;try{r=await this.auth.resolve({sourceId:e.sourceId,url:e.tileSource,isStatic:e.isStatic},a.signal)}catch(e){a.signal.aborted||this.isDestroyed||this.filterPreviewVersion;return}finally{this.filterPreviewController===a&&(this.filterPreviewController=null)}if(this.isDestroyed||t!==this.filterPreviewVersion)return;this.setFilterAccessBlocked(this.isNonCorsStaticSource(r)),this.currentFilterSourceKey=n,this.filterViewer.open(r)}else this.applyFilterOptions()}}copyToClipboard(e){if(navigator.clipboard&&\"function\"==typeof navigator.clipboard.writeText)return void navigator.clipboard.writeText(e).catch(()=>{})}bindPageChange(){this.bindViewerEvent(\"diva-page-change\",this.handlePageChangeBound)}bindFullscreenChange(){document.addEventListener(\"fullscreenchange\",this.handleFullscreenChangeBound)}bindZoomChange(){this.bindViewerEvent(\"diva-zoom-change\",this.handleZoomChangeBound)}bindLoadingChange(){this.bindViewerEvent(\"diva-loading-change\",this.handleLoadingChangeBound)}bindRootClick(){this.getConnectedRoot().addEventListener(\"click\",this.handleRootClickBound,!0)}addEventListener(e,t,n){super.addEventListener(e,t,n)}removeEventListener(e,t,n){super.removeEventListener(e,t,n)}getState(){return this.copyState()}getPages(){return this.pages.map(e=>this.copyPage(e))}setAnnotation(e){var t,n;this.assertAlive();let r=p5(e);if(!this.pagesByCanvasId.has(r.canvasId))throw RangeError(`Annotation Canvas ${r.canvasId} is not part of the loaded manifest.`);r.viewerAnnotation.imageService=null!=(t=this.annotationImageServicesByCanvas.get(r.canvasId))?t:null,this.apiAnnotationsByCanvas.forEach((e,t)=>{let n=e.filter(e=>e.viewerAnnotation.id!==r.viewerAnnotation.id);n.length!==e.length&&(this.apiAnnotationsByCanvas.set(t,n),this.applyAnnotationsForCanvas(t))});let a=null!=(n=this.apiAnnotationsByCanvas.get(r.canvasId))?n:[];this.apiAnnotationsByCanvas.set(r.canvasId,[...a,r]),this.clearedAnnotationCanvases.delete(r.canvasId),this.applyAnnotationsForCanvas(r.canvasId)}setAnnotations(e){if(this.assertAlive(),!Array.isArray(e))throw TypeError(\"Annotations must be an array.\");let t=new Map;e.forEach(e=>{var n,r;let a=p5(e);if(!this.pagesByCanvasId.has(a.canvasId))throw RangeError(`Annotation Canvas ${a.canvasId} is not part of the loaded manifest.`);a.viewerAnnotation.imageService=null!=(n=this.annotationImageServicesByCanvas.get(a.canvasId))?n:null;let i=null!=(r=t.get(a.canvasId))?r:[];t.set(a.canvasId,[...i.filter(e=>e.viewerAnnotation.id!==a.viewerAnnotation.id),a])});let n=new Set([...this.apiAnnotationsByCanvas.keys(),...t.keys()]);this.apiAnnotationsByCanvas.clear(),t.forEach((e,t)=>{this.apiAnnotationsByCanvas.set(t,e),this.clearedAnnotationCanvases.delete(t)}),n.forEach(e=>this.applyAnnotationsForCanvas(e))}getAnnotationsForCanvas(e){return this.assertAlive(),this.effectiveAnnotationsForCanvas(e).map(e=>p2(e.publicAnnotation))}getAllAnnotations(){return this.assertAlive(),this.pages.flatMap(e=>this.getAnnotationsForCanvas(e.canvasId))}clearAnnotationsForCanvas(e){this.assertAlive(),this.clearedAnnotationCanvases.add(e),this.apiAnnotationsByCanvas.delete(e),this.applyAnnotationsForCanvas(e)}clearAllAnnotations(){this.assertAlive(),this.apiAnnotationsByCanvas.clear(),this.pages.forEach(e=>{this.clearedAnnotationCanvases.add(e.canvasId),this.applyAnnotationsForCanvas(e.canvasId)})}selectAnnotation(e){if(this.assertAlive(),\"string\"!=typeof e)throw TypeError(\"Annotation id must be a string.\");if(!this.findStoredAnnotation(e))throw RangeError(`Unknown annotation: ${e}`);this.callViewerMethodWhenReady(\"selectAnnotation\",e)}getAnnotationSelectionEnabled(){this.assertAlive();let e=this.ensureMainViewer();return e&&\"function\"==typeof e.getAnnotationSelectionEnabled?e.getAnnotationSelectionEnabled():this.annotationSelectionEnabled}setAnnotationSelectionEnabled(e){this.assertAlive(),this.annotationSelectionEnabled=e,this.callViewerMethodWhenReady(\"setAnnotationSelectionEnabled\",e)}toggleAnnotationSelectionEnabled(){return this.setAnnotationSelectionEnabled(!this.getAnnotationSelectionEnabled()),this.annotationSelectionEnabled}getImageRegionForAnnotation(e){var t,n;if(this.assertAlive(),\"string\"!=typeof e)throw TypeError(\"Annotation id must be a string.\");let r=this.findStoredAnnotation(e),a=null==(n=null==(t=this.mainViewer)?void 0:t.getImageRegionForAnnotation)?void 0:n.call(t,e);if(\"string\"==typeof a)return a;if(!r||\"svg\"===r.viewerAnnotation.shape.kind)return null;let{x:i,y:o,width:s,height:u}=r.viewerAnnotation.shape;return\"number\"==typeof i&&\"number\"==typeof o&&\"number\"==typeof s&&\"number\"==typeof u?f(r.viewerAnnotation.imageService,{x:i,y:o,width:s,height:u}):null}getAnnotationBody(e){var t;if(this.assertAlive(),\"string\"!=typeof e)throw TypeError(\"Annotation id must be a string.\");let n=this.findStoredAnnotation(e);return n?p4(null!=(t=n.publicAnnotation.body)?t:n.publicAnnotation.resource):void 0}findPage(e){let t=this.pageForSelector(e);return t?this.copyPage(t):void 0}getCurrentPage(){let e=this.state.currentPageIndex;return null!==e&&this.pages[e]?this.copyPage(this.pages[e]):void 0}getVisiblePages(){return this.state.visiblePageIndexes.map(e=>this.pages[e]).filter(Boolean).map(e=>this.copyPage(e))}getLayoutMode(){return this.state.layoutMode}setResource(e){let t,n;if(this.assertAlive(),!e||\"string\"!=typeof e)return Promise.reject(TypeError(\"A resource URL is required.\"));this.pendingResource&&(this.pendingResource.reject(new DOMException(\"The resource load was superseded.\",\"AbortError\")),this.pendingResource=null),this.awaitingViewerResource=null;let r=this.state.ready,a=`public-${++this.resourceSequence}`,i=new Promise((e,r)=>{t=e,n=r});return i.catch(()=>{}),this.pendingResource={id:a,promise:i,resolve:t,reject:n,previousReady:r},this.activeResourceRequestId=a,this.updateState({ready:!1}),this.resourceLoading=!0,this.refreshLoadingState(),this.getPort(\"resourceRequested\").send({requestId:a,url:e}),i}async goToPage(e){if(await this.waitForResource(),\"number\"!=typeof e){let t=this.pageForSelector(e);return!!t&&(await this.callViewerMethodAsync(\"scrollToIndex\",t.index),!0)}this.assertPageIndex(e),await this.callViewerMethodAsync(\"scrollToIndex\",e)}async next(){await this.waitForResource(),await this.callViewerMethodAsync(\"next\")}async previous(){await this.waitForResource(),await this.callViewerMethodAsync(\"previous\")}async setZoom(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError(\"Zoom must be a positive finite number.\");await this.callViewerMethodAsync(\"setZoomLevel\",e)}async zoomBy(e){if(await this.waitForResource(),!Number.isFinite(e)||e<=0)throw RangeError(\"Zoom factor must be a positive finite number.\");await this.callViewerMethodAsync(\"zoomBy\",e)}zoomIn(){return this.zoomBy(1.6)}zoomOut(){return this.zoomBy(.625)}async fitToPage(e){await this.waitForResource();let t=null!=e?e:this.state.currentPageIndex;if(null===t)throw RangeError(\"There is no current page.\");this.assertPageIndex(t),await this.callViewerMethodAsync(\"fitToPage\",t)}async zoomToRegion(e,t,n={}){var r;if(await this.waitForResource(),this.assertPageIndex(e),![t.x,t.y,t.width,t.height].every(Number.isFinite)||t.x<0||t.y<0||t.width<=0||t.height<=0)throw RangeError(\"Region coordinates must be finite, non-negative, and have positive dimensions.\");let a=null!=(r=n.padding)?r:.05;if(!Number.isFinite(a)||a<0)throw RangeError(\"Region padding must be a non-negative finite number.\");await this.callViewerMethodAsync(\"zoomToRegion\",e,t,n)}async setLayoutMode(e){if(await this.waitForResource(),![\"single\",\"spread\",\"spread-shift\"].includes(e))throw RangeError(`Unsupported layout mode: ${e}`);await this.callViewerMethodAsync(\"setLayoutMode\",e),this.updateLayoutState(e,this.state.viewingDirection),this.getPort(\"layoutModeRequested\").send(e)}async enterFullscreen(){this.assertAlive(),document.fullscreenElement||await this.getConnectedRoot().requestFullscreen()}async exitFullscreen(){this.assertAlive(),document.fullscreenElement&&await document.exitFullscreen()}toggleFullscreen(){return document.fullscreenElement?this.exitFullscreen():this.enterFullscreen()}destroy(){var e;if(this.isDestroyed)return;this.isDestroyed=!0;let t=new DOMException(\"The Diva instance was destroyed.\",\"InvalidStateError\");this.readySettled||(this.readySettled=!0,this.readyReject(t)),null==(e=this.pendingResource)||e.reject(t),this.pendingResource=null,this.awaitingViewerResource=null,this.updateState({destroyed:!0,loading:!1}),this.closeFilterPreview(),this.auth.destroy(),null!==this.viewerMethodRafId&&(cancelAnimationFrame(this.viewerMethodRafId),this.viewerMethodRafId=null),this.pendingViewerMethods.clear();let n=this.getConnectedRoot();this.removeViewerEvent(\"diva-page-change\",this.handlePageChangeBound),this.removeViewerEvent(\"diva-page-loaded\",this.handlePageLoadedBound),this.removeViewerEvent(\"diva-zoom-change\",this.handleZoomChangeBound),this.removeViewerEvent(\"diva-loading-change\",this.handleLoadingChangeBound),this.removeViewerEvent(\"diva-static-image-cors-fallback\",this.handleStaticImageCorsFallbackBound),this.removeViewerEvent(\"diva-page-load-error\",this.handlePageLoadErrorBound),n.removeEventListener(\"click\",this.handleRootClickBound,!0),document.removeEventListener(\"fullscreenchange\",this.handleFullscreenChangeBound),n&&(n.__divaInstance===this&&delete n.__divaInstance,n.elmTree&&delete n.elmTree,n.innerHTML=\"\")}closeFilterPreview(){var e;this.filterPreviewVersion+=1,null==(e=this.filterPreviewController)||e.abort(),this.filterPreviewController=null,null!==this.filterPreviewRafId&&(cancelAnimationFrame(this.filterPreviewRafId),this.filterPreviewRafId=null),this.filterViewer&&\"function\"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.filterViewerElement=null,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterOptions=null,this.setFilterAccessBlocked(!1),this.filterPreviewRetries=0}setFullscreen(e){let t=this.getConnectedRoot();if(e){if(document.fullscreenElement||!document.fullscreenEnabled)return;t.requestFullscreen().catch(()=>{});return}document.fullscreenElement&&document.exitFullscreen().catch(()=>{})}handleRootClick(e){let t=e.target;if(!(t instanceof Element))return;let n=this.getConnectedRoot(),r=t.closest(\"button[data-diva-action='fullscreen']\");r&&n.contains(r)&&(e.preventDefault(),e.stopPropagation(),this.toggleFullscreenFromUserActivation())}toggleFullscreenFromUserActivation(){document.fullscreenElement?document.exitFullscreen().catch(()=>{}):document.fullscreenEnabled&&this.getConnectedRoot().requestFullscreen().catch(()=>{})}handlePageChange(e){let t=e.detail;if(!t||\"number\"!=typeof t.index)return;t.instant?this.getPort(\"pageIndexChangedInstant\").send(t.index):this.getPort(\"pageIndexChanged\").send(t.index);let n=this.ensureMainViewer(),r=n&&\"function\"==typeof n.getVisiblePageIndexes?n.getVisiblePageIndexes():[t.index];this.updateState({currentPageIndex:t.index,visiblePageIndexes:r});let a=this.pages[t.index];a&&this.emit(\"pagechange\",{pageIndex:t.index,page:this.copyPage(a),visiblePages:this.getVisiblePages()})}handleAnnotationSelect(e){var t;let n=null==(t=e.detail)?void 0:t.annotationId;\"string\"==typeof n&&this.emit(\"annotationselect\",{annotationId:n})}handlePageLoaded(e){let t=e.detail;if(!t||\"number\"!=typeof t.index)return;this.getPort(\"viewerPageLoaded\").send(t.index);let n=this.awaitingViewerResource;n&&t.resourceId===n.id&&t.index===n.pageIndex&&this.completeResource(n.id,n.url,!n.resourceChangeEmitted)}handleZoomChange(e){let t=e.detail;t&&\"number\"==typeof t.zoom&&(this.getPort(\"zoomChanged\").send(t.zoom),this.updateState({zoom:t.zoom}),this.emit(\"zoomchange\",{zoom:t.zoom}))}handleLoadingChange(e){let t=e.detail;t&&\"boolean\"==typeof t.loading&&(this.getPort(\"viewerLoadingChanged\").send(t.loading),this.viewerLoading=t.loading,this.refreshLoadingState())}handleStaticImageCorsFallback(e){var t;let n=null==(t=e.detail)?void 0:t.sourceId;\"string\"==typeof n&&this.auth.useNonCorsStaticSource(n)}handlePageLoadError(e){var t;let n=e.detail,r=Error((null==n?void 0:n.message)||\"The image could not be loaded.\"),a=this.awaitingViewerResource;if(a&&(null==n?void 0:n.resourceId)===a.id&&(null==n?void 0:n.index)===a.pageIndex){this.updateState({ready:!1}),this.resourceLoading=!1,this.refreshLoadingState(),this.readySettled||(this.readySettled=!0,this.readyReject(r)),\"initial\"!==a.id&&(null==(t=this.pendingResource)?void 0:t.id)===a.id&&(this.pendingResource.reject(r),this.pendingResource=null),this.emit(\"error\",{error:r,operation:\"loadPage\",recoverable:!0});return}this.emit(\"error\",{error:r,operation:\"loadPage\",recoverable:!0})}handleFullscreenChange(){let e=!!document.fullscreenElement;this.getPort(\"fullscreenChanged\").send(e),this.updateState({fullscreen:e}),this.emit(\"fullscreenchange\",{fullscreen:e})}ensureFilterViewer(){!this.filterViewer&&this.filterViewerElement&&(this.filterViewer=OpenSeadragon({element:this.filterViewerElement,showNavigationControl:!1,preserveViewport:!0,visibilityRatio:0,drawer:\"canvas\",crossOriginPolicy:\"Anonymous\",loadTilesWithAjax:!0,ajaxWithCredentials:!1}),this.filterViewer.addHandler(\"open\",()=>{var e;let t=null==(e=this.filterViewer)?void 0:e.drawer,n=t&&t.canvas?t.canvas:null;if(n&&\"function\"==typeof n.getContext){let e=n.getContext(\"2d\",{willReadFrequently:!0});e&&(t.context=e)}this.filterViewer&&this.filterViewer.viewport&&this.filterViewer.viewport.fitBounds(this.filterViewer.world.getHomeBounds(),!0),this.filterViewerFlipped=!1,this.applyFilterOptions()}))}ensureFilterViewerElement(){let e=document.getElementById(\"filter-viewer\");return e?(this.filterViewerElement!==e&&(this.filterViewer&&\"function\"==typeof this.filterViewer.destroy&&this.filterViewer.destroy(),this.filterViewer=null,this.currentFilterSourceKey=null,this.filterViewerFlipped=!1,this.filterViewerElement=e),this.filterViewerElement):(this.filterViewerElement=null,null)}applyFilterOptions(){var e,t;if(!this.filterViewer)return;if(this.filterAccessBlocked)return void pI(this.filterViewer,{filters:[]});let n=mn(this.filterOptions);if(pI(this.filterViewer,n),this.filterViewer.viewport){let n=(null==(e=this.filterOptions)?void 0:e.rotation)||0;this.filterViewer.viewport.setRotation(n);let r=!!(null==(t=this.filterOptions)?void 0:t.flip),a=this.filterViewer.viewport;if(\"function\"==typeof a.toggleFlip){let e=this.filterViewerFlipped;\"function\"==typeof a.getFlip&&(e=!!a.getFlip()),r!=e&&(a.toggleFlip(),this.filterViewerFlipped=r)}}}saveFilteredImage(){if(!this.filterViewer||this.filterAccessBlocked)return;let e=this.filterViewer.drawer,t=e&&e.canvas?e.canvas:null;if(t)try{let e=t.toDataURL(\"image/png\"),n=document.createElement(\"a\");n.href=e,n.download=`diva-filtered-${Date.now()}.png`,document.body.appendChild(n),n.click(),n.remove()}catch(e){}}isNonCorsStaticSource(e){return\"object\"==typeof e&&null!==e&&\"image\"===e.type&&!1===e.crossOriginPolicy}setFilterAccessBlocked(e){this.filterAccessBlocked=e;let t=this.root.querySelector(\".diva-modal-sidebar\");if(!t)return;Array.from(t.querySelectorAll(\"button, input, select, textarea\")).forEach(t=>{e?(t.dataset.divaFilterWasDisabled=t.disabled?\"true\":\"false\",t.disabled=!0):void 0!==t.dataset.divaFilterWasDisabled&&(t.disabled=\"true\"===t.dataset.divaFilterWasDisabled,delete t.dataset.divaFilterWasDisabled)});let n=this.root.querySelector('button[aria-label=\"Save view\"]');n&&(e?(n.dataset.divaFilterWasDisabled=n.disabled?\"true\":\"false\",n.disabled=!0):void 0!==n.dataset.divaFilterWasDisabled&&(n.disabled=\"true\"===n.dataset.divaFilterWasDisabled,delete n.dataset.divaFilterWasDisabled));let r=t.querySelector(\".diva-filter-access-warning\");e&&!r&&((r=document.createElement(\"p\")).className=\"diva-filter-access-warning\",r.textContent=\"Image filters and Save view require CORS-enabled image access.\",t.prepend(r)),e||null==r||r.remove()}getPort(e){let t=this.app.ports,n=t?t[e]:void 0;if(!n)throw Error(`Missing Elm port: ${String(e)}`);return n}callViewerMethod(e,...t){let n=this.ensureMainViewer();if(!n)return!1;let r=n[e];return\"function\"==typeof r&&(r.apply(n,t),!0)}async callViewerMethodAsync(e,...t){let n=0;for(;n<120;){this.assertAlive();let r=this.ensureMainViewer(),a=null==r?void 0:r[e];if(\"function\"==typeof a)return await a.apply(r,t);n+=1,await new Promise(e=>requestAnimationFrame(()=>e()))}throw new DOMException(`The viewer method ${e} is not available.`,\"InvalidStateError\")}callViewerMethodWhenReady(e,...t){if(this.callViewerMethod(e,...t)){this.viewerMethodAttempts=0;return}this.pendingViewerMethods.set(e,t),this.viewerMethodAttempts=0,this.scheduleViewerMethodFlush()}scheduleViewerMethodFlush(){this.isDestroyed||null!==this.viewerMethodRafId||(this.viewerMethodRafId=requestAnimationFrame(()=>{this.viewerMethodRafId=null,this.flushPendingViewerMethods()}))}flushPendingViewerMethods(){if(this.isDestroyed||0===this.pendingViewerMethods.size)return;let e=Array.from(this.pendingViewerMethods.entries());if(this.pendingViewerMethods.clear(),e.forEach(([e,t])=>{this.callViewerMethod(e,...t)||this.pendingViewerMethods.set(e,t)}),0===this.pendingViewerMethods.size){this.viewerMethodAttempts=0;return}this.viewerMethodAttempts<120&&(this.viewerMethodAttempts+=1,this.scheduleViewerMethodFlush())}bindViewerEvent(e,t){let n=this.ensureMainViewer();n&&(n.removeEventListener(e,t),n.addEventListener(e,t))}removeViewerEvent(e,t){let n=this.ensureMainViewer();n&&n.removeEventListener(e,t)}constructor(e,t){super(),this.mainViewer=null,this.pendingViewerMethods=new Map,this.viewerMethodRafId=null,this.viewerMethodAttempts=0,this.filterViewer=null,this.filterViewerElement=null,this.filterOptions=null,this.filterViewerFlipped=!1,this.filterAccessBlocked=!1,this.currentFilterSourceKey=null,this.pendingFilterPreview=null,this.filterPreviewVersion=0,this.filterPreviewRetries=0,this.filterPreviewRafId=null,this.filterPreviewController=null,this.isDestroyed=!1,this.pages=[],this.pagesByCanvasId=new Map,this.pagesByLabel=new Map,this.manifestAnnotationsByCanvas=new Map,this.apiAnnotationsByCanvas=new Map,this.clearedAnnotationCanvases=new Set,this.annotationImageServicesByCanvas=new Map,this.annotationSelectionEnabled=!0,this.annotationResourceId=\"\",this.readySettled=!1,this.activeResourceRequestId=\"initial\",this.resourceSequence=0,this.pendingResource=null,this.awaitingViewerResource=null,this.resourceLoading=!0,this.viewerLoading=!1;let n=document.getElementById(e);if(!n)throw Error(`Missing root element: ${e}`);n.__divaInstance&&n.__divaInstance.destroy(),n.elmTree&&(delete n.elmTree,n.innerHTML=\"\"),this.rootId=e,this.root=n,this.isDestroyed=!1,this.staticImageCorsPolicy=\"fallback\"===t.staticImageCorsPolicy||\"none\"===t.staticImageCorsPolicy?t.staticImageCorsPolicy:\"required\",this.annotationSelectionEnabled=!1!==t.enableAnnotationSelection,this.state={resourceUrl:t.objectData,ready:!1,loading:!0,pageCount:0,currentPageIndex:null,visiblePageIndexes:[],layoutMode:\"single\",viewingDirection:\"ltr\",zoom:null,fullscreen:!1,destroyed:!1},this.ready=new Promise((e,t)=>{this.readyResolve=e,this.readyReject=t}),this.ready.catch(()=>{}),this.handlePageChangeBound=this.handlePageChange.bind(this),this.handleAnnotationSelectBound=this.handleAnnotationSelect.bind(this),this.handlePageLoadedBound=this.handlePageLoaded.bind(this),this.handleZoomChangeBound=this.handleZoomChange.bind(this),this.handleLoadingChangeBound=this.handleLoadingChange.bind(this),this.handleStaticImageCorsFallbackBound=this.handleStaticImageCorsFallback.bind(this),this.handlePageLoadErrorBound=this.handlePageLoadError.bind(this),this.handleFullscreenChangeBound=this.handleFullscreenChange.bind(this),this.handleRootClickBound=this.handleRootClick.bind(this);let r=this.detectLanguage(),a=t.sidebarWidth,i=\"number\"==typeof a&&Number.isFinite(a)?Math.min(520,Math.max(220,Math.round(a))):320,o=\"contents\"===t.sidebarPanel||\"metadata\"===t.sidebarPanel?t.sidebarPanel:\"thumbnails\";this.app=pm.Main.init({node:n,flags:{rootElementId:e,objectData:t.objectData,initialPage:this.initialPageFlag(t.initialPage),acceptHeaders:t.acceptHeaders||[],showSidebar:!1!==t.showSidebar,sidebarWidth:i,sidebarPanel:o,showTitle:!1!==t.showTitle,userLanguage:t.setLanguage||r,enableAnnotations:!0===t.enableAnnotations,enableAnnotationSelection:!1!==t.enableAnnotationSelection,annotationServer:t.annotationServer||null}}),this.root=this.getConnectedRoot(),this.auth=new pC(this.app.ports,this.root,this.staticImageCorsPolicy),this.tileSourceResolver=(e,t)=>this.auth.resolve(e,t),this.root.__divaInstance=this,this.bindPorts(),this.callViewerMethodWhenReady(\"setTileSourceResolver\",this.tileSourceResolver),this.callViewerMethodWhenReady(\"setStaticImageCorsPolicy\",this.staticImageCorsPolicy),this.callViewerMethodWhenReady(\"setAnnotationSelectionEnabled\",!1!==t.enableAnnotationSelection),this.bindRootClick(),this.bindPageChange(),this.bindViewerEvent(\"diva-annotation-select\",this.handleAnnotationSelectBound),this.bindViewerEvent(\"diva-page-loaded\",this.handlePageLoadedBound),this.bindFullscreenChange(),this.bindZoomChange(),this.bindLoadingChange(),this.bindViewerEvent(\"diva-static-image-cors-fallback\",this.handleStaticImageCorsFallbackBound),this.bindViewerEvent(\"diva-page-load-error\",this.handlePageLoadErrorBound)}},p7={THRESHOLDING:p0.THRESHOLDING,BRIGHTNESS:p0.BRIGHTNESS,SATURATION:p0.SATURATION,VIBRANCE:p0.VIBRANCE,HUE:p0.HUE,CC_RED:p0.CC_RED,CC_GREEN:p0.CC_GREEN,CC_BLUE:p0.CC_BLUE,CONTRAST:p0.CONTRAST,GAMMA:p0.GAMMA,GREYSCALE:p0.GREYSCALE,INVERT:p0.INVERT,BACKGROUND_NORMALIZE:p0.BACKGROUND_NORMALIZE,UNSHARP_MASK:p0.UNSHARP_MASK,ALT_RED_GAMMA:p0.ALT_RED_GAMMA,ALT_GREEN_GAMMA:p0.ALT_GREEN_GAMMA,ALT_BLUE_GAMMA:p0.ALT_BLUE_GAMMA,ALT_RED_SIGMOID:p0.ALT_RED_SIGMOID,ALT_GREEN_SIGMOID:p0.ALT_GREEN_SIGMOID,ALT_BLUE_SIGMOID:p0.ALT_BLUE_SIGMOID,ALT_RED_HUE:p0.ALT_RED_HUE,ALT_GREEN_HUE:p0.ALT_GREEN_HUE,ALT_BLUE_HUE:p0.ALT_BLUE_HUE,ALT_RED_VIBRANCE:p0.ALT_RED_VIBRANCE,ALT_GREEN_VIBRANCE:p0.ALT_GREEN_VIBRANCE,ALT_BLUE_VIBRANCE:p0.ALT_BLUE_VIBRANCE,GLOBAL_PCA_COLOR:p0.GLOBAL_PCA_COLOR,ADAPTIVE_THRESHOLD:p0.ADAPTIVE_THRESHOLD},p9=[{enabled:\"thresholdEnabled\",filter:\"THRESHOLDING\",args:[\"threshold\"]},{enabled:\"brightnessEnabled\",filter:\"BRIGHTNESS\",args:[\"brightness\"]},{enabled:\"saturationEnabled\",filter:\"SATURATION\",args:[\"saturation\"]},{enabled:\"vibranceEnabled\",filter:\"VIBRANCE\",args:[\"vibrance\"]},{enabled:\"hueEnabled\",filter:\"HUE\",args:[\"hue\"]},{enabled:\"ccRedEnabled\",filter:\"CC_RED\",args:[\"ccRed\"]},{enabled:\"ccGreenEnabled\",filter:\"CC_GREEN\",args:[\"ccGreen\"]},{enabled:\"ccBlueEnabled\",filter:\"CC_BLUE\",args:[\"ccBlue\"]},{enabled:\"contrastEnabled\",filter:\"CONTRAST\",args:[\"contrast\"]},{enabled:\"gammaEnabled\",filter:\"GAMMA\",args:[\"gamma\"]},{enabled:\"grayscale\",filter:\"GREYSCALE\"},{enabled:\"invert\",filter:\"INVERT\"},{enabled:\"normalizeEnabled\",filter:\"BACKGROUND_NORMALIZE\",args:[\"normalizeStrength\"]},{enabled:\"unsharpEnabled\",filter:\"UNSHARP_MASK\",args:[\"unsharpAmount\"]}],me=[{enabled:\"altRedGammaEnabled\",filter:\"ALT_RED_GAMMA\",args:[\"altRedGamma\"]},{enabled:\"altGreenGammaEnabled\",filter:\"ALT_GREEN_GAMMA\",args:[\"altGreenGamma\"]},{enabled:\"altBlueGammaEnabled\",filter:\"ALT_BLUE_GAMMA\",args:[\"altBlueGamma\"]},{enabled:\"altRedSigmoidEnabled\",filter:\"ALT_RED_SIGMOID\",args:[\"altRedSigmoid\"]},{enabled:\"altGreenSigmoidEnabled\",filter:\"ALT_GREEN_SIGMOID\",args:[\"altGreenSigmoid\"]},{enabled:\"altBlueSigmoidEnabled\",filter:\"ALT_BLUE_SIGMOID\",args:[\"altBlueSigmoid\"]},{enabled:\"altRedHueEnabled\",filter:\"ALT_RED_HUE\",args:[\"altRedHue\",\"altRedHueWindow\"],defaults:[0,8]},{enabled:\"altGreenHueEnabled\",filter:\"ALT_GREEN_HUE\",args:[\"altGreenHue\",\"altGreenHueWindow\"],defaults:[0,8]},{enabled:\"altBlueHueEnabled\",filter:\"ALT_BLUE_HUE\",args:[\"altBlueHue\",\"altBlueHueWindow\"],defaults:[0,8]},{enabled:\"altRedVibranceEnabled\",filter:\"ALT_RED_VIBRANCE\",args:[\"altRedVibrance\"]},{enabled:\"altGreenVibranceEnabled\",filter:\"ALT_GREEN_VIBRANCE\",args:[\"altGreenVibrance\"]},{enabled:\"altBlueVibranceEnabled\",filter:\"ALT_BLUE_VIBRANCE\",args:[\"altBlueVibrance\"]},{enabled:\"adaptiveEnabled\",filter:\"ADAPTIVE_THRESHOLD\",args:[\"adaptiveWindow\",\"adaptiveOffset\"],defaults:[15,10]}],mt=(e,t,n)=>{var r,a;for(let i of n)if(t[i.enabled]){let n=null!=(a=null==(r=i.args)?void 0:r.map((e,n)=>{var r,a,o;return null!=(o=t[e])?o:null!=(a=null==(r=i.defaults)?void 0:r[n])?a:0}))?a:[],o=p7[i.filter];e.push(o(...n))}},mn=e=>{var t,n,r,a,i,o,s,u,c;if(!e)return{filters:[],loadMode:\"sync\"};let l=[];if(mt(l,e,p9),e.morphEnabled){let n=\"dilate\"===e.morphOperation?Math.max:Math.min;l.push(p0.MORPHOLOGICAL_OPERATION(null!=(t=e.morphKernel)?t:3,n))}if(e.convolutionEnabled){let t=p0.CONVOLUTION_PRESET(e.convolutionPreset||\"\");t&&l.push(p0.CONVOLUTION(t))}if(e.colourmapEnabled){let t=p0.COLORMAP_PRESET(e.colourmapPreset||\"\");t&&l.push(p0.COLORMAP(t,null!=(n=e.colourmapCenter)?n:128))}return(e.pseudoColourEnabled&&l.push(p0.PSEUDOCOLOR(e.pseudoColourMode||\"\",null!=(r=e.pseudoColourRed)?r:1,null!=(a=e.pseudoColourGreen)?a:1,null!=(i=e.pseudoColourBlue)?i:1)),e.globalPcaEnabled&&l.push(p0.GLOBAL_PCA_COLOR(e.pcaMode||\"\",null!=(o=e.pcaHue)?o:0)),e.colourReplaceEnabled&&l.push(p0.COLOR_REPLACE(e.colourReplaceSource||\"#ffffff\",e.colourReplaceTarget||\"#ffffff\",null!=(s=e.colourReplaceTolerance)?s:24,null!=(u=e.colourReplaceBlend)?u:1,null!=(c=e.colourReplacePreserveLum)&&c)),mt(l,e,me),0===l.length)?{filters:[],loadMode:\"sync\"}:{filters:{processors:l},loadMode:\"sync\"}};window.Diva=p8})();\n"],"names":[],"ignoreList":[],"sourceRoot":""} \ No newline at end of file From faf6a78553ccc863b214d082c4985a923ea29ffa Mon Sep 17 00:00:00 2001 From: etosphere Date: Wed, 7 Oct 2026 19:13:45 -0400 Subject: [PATCH 2/2] Feat: Highlight OMR search results in the manuscript viewer OMR searches now outline every match on the manuscript. Highlights have been missing since the v5 to v6 upgrade dropped Diva's highlight plugin. Results are drawn as Diva annotations: - Selecting a result in the list frames it and selects its box; clicking a box in the viewer marks its row, loading more rows when the result is not listed yet. - A new search, a field change, or leaving the search view clears the boxes, and a response arriving after a switch to text search is ignored. --- .../src/js/manuscript-detail/DivaAdapter.js | 8 +- .../src/js/manuscript-detail/DivaBackend.js | 95 ++++++++++++- .../app/src/js/manuscript-detail/DivaView.js | 1 + .../js/search/omr-search/OMRSearchProvider.js | 25 +++- .../src/js/search/omr-search/ResultView.js | 10 ++ nginx/app/src/styles/styles.scss | 17 +++ nginx/static/css/cantus-min.css | 12 ++ nginx/static/css/cantus-min.css.map | 2 +- nginx/static/js/app/cantus-min.js | 131 +++++++++++++++--- nginx/static/js/app/cantus-min.js.map | 2 +- 10 files changed, 267 insertions(+), 36 deletions(-) diff --git a/nginx/app/src/js/manuscript-detail/DivaAdapter.js b/nginx/app/src/js/manuscript-detail/DivaAdapter.js index 8471cdd6..c4ce2395 100644 --- a/nginx/app/src/js/manuscript-detail/DivaAdapter.js +++ b/nginx/app/src/js/manuscript-detail/DivaAdapter.js @@ -45,12 +45,12 @@ export default class DivaAdapter { return this.backend.goToPreviousPage(); } - setHighlights(regions) { - return this.backend.setHighlights(regions); + setHighlights(resultRegions) { + return this.backend.setHighlights(resultRegions); } - focusRegion(region) { - return this.backend.focusRegion(region); + focusRegion(region, resultIndex) { + return this.backend.focusRegion(region, resultIndex); } destroy() { diff --git a/nginx/app/src/js/manuscript-detail/DivaBackend.js b/nginx/app/src/js/manuscript-detail/DivaBackend.js index fce43ce8..abbfecf3 100644 --- a/nginx/app/src/js/manuscript-detail/DivaBackend.js +++ b/nginx/app/src/js/manuscript-detail/DivaBackend.js @@ -25,6 +25,10 @@ const OMR_MIN_VIEW_FRACTION = 0.4; // Padding kept around a region already larger than that minimum span. const OMR_MIN_ZOOM_PADDING = 2; +// omr-highlight---. The generation changes with each +// highlight set because Diva never clears its selected id. +const OMR_HIGHLIGHT_ID_PATTERN = /^omr-highlight-\d+-(\d+)-\d+$/; + /** * Diva backend for DivaAdapter. Lazily loads OpenSeadragon and the vendored Diva * bundle, mounts the viewer, and adapts Diva's public API to the adapter's @@ -44,7 +48,8 @@ export default class DivaBackend { this.subscribers = { 'viewer:loaded': [], 'page:changed': [], - 'manifest:loaded': [] + 'manifest:loaded': [], + 'highlight:selected': [] }; // Current page index, tracked from Diva's pagechange event. @@ -53,11 +58,19 @@ export default class DivaBackend { // Page image URIs in Diva's page order, filled once the viewer is ready. this.pageURIs = []; + // Canvas ids in the same order; Diva keys annotations by canvas. + this.pageCanvasIds = []; + + this.pendingHighlights = null; + this.highlightIdsByResult = new Map(); + this.highlightGeneration = 0; + // True once Diva's `ready` promise has resolved; page state must not be // read nor viewer commands issued before then. this.ready = false; this.onPageChange = this.handlePageChange.bind(this); + this.onAnnotationSelect = this.handleAnnotationSelect.bind(this); } initialize() { @@ -92,6 +105,7 @@ export default class DivaBackend { }); this.instance.addEventListener('pagechange', this.onPageChange); + this.instance.addEventListener('annotationselect', this.onAnnotationSelect); // Cantus's folio label and chants panel track one folio at a // time, so open single-page. @@ -132,12 +146,22 @@ export default class DivaBackend { if (this.destroyed) return; + var pages = this.instance.getPages(); + // Strip "/info.json" so each URI matches Folio.image_uri in Django/Solr. - this.pageURIs = this.instance.getPages().map( + this.pageURIs = pages.map( page => page.primaryImage.id.replace(/\/info\.json$/, '')); + this.pageCanvasIds = pages.map(page => page.canvasId); this.currentIndex = this.instance.getState().currentPageIndex || 0; this.ready = true; + // Before emitting: a deferred focusRegion selects one of these boxes, + // and Diva throws on selecting an annotation it doesn't hold. + if (this.pendingHighlights) { + this.applyHighlights(this.pendingHighlights); + this.pendingHighlights = null; + } + this.emit('viewer:loaded'); this.emitPageChanged(); } @@ -149,6 +173,13 @@ export default class DivaBackend { this.emitPageChanged(); } + // Diva also fires this for selectHighlight(), re-reporting the selected result. + handleAnnotationSelect(event) { + var match = OMR_HIGHLIGHT_ID_PATTERN.exec(event.detail.annotationId); + if (match) + this.emit('highlight:selected', { resultIndex: Number(match[1]) }); + } + emitPageChanged() { this.emit('page:changed', { index: this.currentIndex, @@ -189,18 +220,65 @@ export default class DivaBackend { this.instance.previous(); } - // Placeholder for a future OMR result-highlight overlay; no overlay is drawn yet. - setHighlights() {} + /** + * Replace the drawn OMR boxes with one array of Solr boxes ({ p: imageURI, + * x, y, w, h } in full-resolution pixels) per result. [] clears them. + */ + setHighlights(resultRegions) { + if (this.ready) + this.applyHighlights(resultRegions); + else + this.pendingHighlights = resultRegions; + } + + /** Requires the page tables, so only call this once the viewer is ready. */ + applyHighlights(resultRegions) { + var annotations = []; + + this.highlightGeneration += 1; + this.highlightIdsByResult.clear(); + + resultRegions.forEach((regions, resultIndex) => { + regions.forEach((region, boxIndex) => { + // Diva rejects the whole batch over one box off the manifest or + // one invalid rectangle. Folios with no image have an empty URI. + var pageIndex = this.pageURIs.indexOf(region.p); + var xywh = [region.x, region.y, region.w, region.h]; + if (pageIndex < 0 || !xywh.every(Number.isFinite) || region.w <= 0 || region.h <= 0) + return; + + var id = ['omr-highlight', this.highlightGeneration, resultIndex, boxIndex].join('-'); + if (!this.highlightIdsByResult.has(resultIndex)) + this.highlightIdsByResult.set(resultIndex, id); + + annotations.push({ + id: id, + // No body, so Diva shows no hover tooltip. + target: this.pageCanvasIds[pageIndex] + '#xywh=' + xywh.join(',') + }); + }); + }); + + this.instance.setAnnotations(annotations); + } + + // Diva selects one annotation at a time, so a multi-system result marks + // only its first box, the one focusRegion() frames. + selectHighlight(resultIndex) { + var id = this.highlightIdsByResult.get(resultIndex); + if (id) + this.instance.selectAnnotation(id); + } /** * Go to an OMR result's page and zoom to its region, given in - * full-resolution image pixels. + * full-resolution image pixels, selecting the box of `resultIndex` if given. */ - focusRegion(region) { + focusRegion(region, resultIndex) { // A search can run before the viewer is ready; retry once it is, so // pageURIs is populated. if (!this.ready) { - this.on('viewer:loaded', () => this.focusRegion(region)); + this.on('viewer:loaded', () => this.focusRegion(region, resultIndex)); return; } @@ -224,6 +302,8 @@ export default class DivaBackend { width: region.width, height: region.height }, { padding: padding }); + + this.selectHighlight(resultIndex); } destroy() { @@ -232,6 +312,7 @@ export default class DivaBackend { if (this.instance) { this.instance.removeEventListener('pagechange', this.onPageChange); + this.instance.removeEventListener('annotationselect', this.onAnnotationSelect); this.instance.destroy(); } diff --git a/nginx/app/src/js/manuscript-detail/DivaView.js b/nginx/app/src/js/manuscript-detail/DivaView.js index 7e67b4d7..6b894280 100644 --- a/nginx/app/src/js/manuscript-detail/DivaView.js +++ b/nginx/app/src/js/manuscript-detail/DivaView.js @@ -98,6 +98,7 @@ export default Marionette.View.extend({ this.divaAdapter.on("viewer:loaded", this.propagateFolioChange); this.divaAdapter.on("page:changed", this.propagateFolioChange); this.divaAdapter.on("manifest:loaded", this.onManifestLoad); + this.divaAdapter.on("highlight:selected", selection => manuscriptChannel.trigger('highlight:selected', selection)); }, /** diff --git a/nginx/app/src/js/search/omr-search/OMRSearchProvider.js b/nginx/app/src/js/search/omr-search/OMRSearchProvider.js index c6ed9e84..5cbc18c2 100644 --- a/nginx/app/src/js/search/omr-search/OMRSearchProvider.js +++ b/nginx/app/src/js/search/omr-search/OMRSearchProvider.js @@ -87,6 +87,7 @@ export default Marionette.Object.extend({ this.resultLoadingHandler = new IncrementalClientSideLoader(this.displayedResults, this.results); this.listenTo(this.results, "sync", this.resultFetchCallback); + this.listenTo(manuscriptChannel, 'highlight:selected', this.selectResultAt); }, onSearch: function (query) @@ -121,14 +122,13 @@ export default Marionette.Object.extend({ resultFetchCallback: function() { + // A response landing after a switch to text search would redraw the + // highlights the list's teardown cleared. var divaAdapter = this.getDivaAdapter(); - if (!divaAdapter) + if (!divaAdapter || this.resultView.isDestroyed()) return; - divaAdapter.setHighlights(_.flatten(this.results.map(function (model) - { - return _.map(model.get('boxes'), _.clone); - }))); + divaAdapter.setHighlights(this.results.pluck('boxes')); if (this.results.length > 0) this.zoomToResult(this.results.at(0)); @@ -143,6 +143,15 @@ export default Marionette.Object.extend({ divaAdapter.setHighlights([]); }, + /** Mark the result whose box was clicked in the viewer; its row may not be loaded yet. */ + selectResultAt: function (selection) + { + while (this.displayedResults.length <= selection.resultIndex && this.resultLoadingHandler.hasMore()) + this.resultLoadingHandler.continueLoading(); + + this.resultView.setSelectedResult(this.displayedResults.at(selection.resultIndex) || null); + }, + zoomToResult: function(model) { var divaAdapter = this.getDivaAdapter(); @@ -153,13 +162,15 @@ export default Marionette.Object.extend({ if (!box) return; + this.resultView.setSelectedResult(model); + divaAdapter.focusRegion({ imageURI: box.p, x: box.x, y: box.y, width: box.w, height: box.h - }); + }, this.results.indexOf(model)); }, serializeData: function() @@ -237,6 +248,8 @@ export default Marionette.Object.extend({ collection: this.displayedResults }); + this.resultView = resultView; + this.listenTo(resultView, 'continue:loading', this._continueLoadingResults); this.listenTo(resultView, 'zoomToResult', this.zoomToResult); diff --git a/nginx/app/src/js/search/omr-search/ResultView.js b/nginx/app/src/js/search/omr-search/ResultView.js index 4d7dd645..77e01881 100644 --- a/nginx/app/src/js/search/omr-search/ResultView.js +++ b/nginx/app/src/js/search/omr-search/ResultView.js @@ -34,6 +34,16 @@ export default Marionette.CollectionView.extend({ this._handleScroll = _.throttle(_.bind(this._loadResultsIfAtEnd, this), 250); }, + setSelectedResult: function (model) { + this.children.each(function (childView) { + childView.$el.toggleClass('table-active', childView.model === model); + }); + + var selectedView = model && this.children.findByModel(model); + if (selectedView) + selectedView.el.scrollIntoView({ block: 'nearest' }); + }, + updateTable: function () { if (this.collection.length) { this.ui.tableWrapper.show(); diff --git a/nginx/app/src/styles/styles.scss b/nginx/app/src/styles/styles.scss index 46e56fd2..76f3dd90 100644 --- a/nginx/app/src/styles/styles.scss +++ b/nginx/app/src/styles/styles.scss @@ -454,6 +454,23 @@ body.propagate-height { } } +// OMR search-result boxes. Fills stay faint: any fill lowers the contrast +// between ink and parchment by its alpha. +#diva-column #diva-wrapper { + --diva-annotation-fill: #{rgba($brand-primary, 0.1)}; + --diva-annotation-stroke: #555; + --diva-annotation-stroke-width: 1.5; + + // Diva reuses the hover tokens for `.is-selected`. + --diva-annotation-fill-hover: #{rgba($brand-primary, 0.15)}; + --diva-annotation-stroke-hover: #{$brand-primary}; +} + +// Selected OMR result row (ResultView sets table-active). +.search-notation-result-list { + --bs-table-active-bg: #{rgba($brand-primary, 0.12)}; +} + .modal-dialog { max-width: 90%; width: 50%; diff --git a/nginx/static/css/cantus-min.css b/nginx/static/css/cantus-min.css index abc0097a..815ce347 100644 --- a/nginx/static/css/cantus-min.css +++ b/nginx/static/css/cantus-min.css @@ -12640,6 +12640,18 @@ body.propagate-height { border-color: #bbb; } +#diva-column #diva-wrapper { + --diva-annotation-fill: rgba(194, 52, 46, 0.1); + --diva-annotation-stroke: #555; + --diva-annotation-stroke-width: 1.5; + --diva-annotation-fill-hover: rgba(194, 52, 46, 0.15); + --diva-annotation-stroke-hover: #c2342e; +} + +.search-notation-result-list { + --bs-table-active-bg: rgba(194, 52, 46, 0.12); +} + .modal-dialog { max-width: 90%; width: 50%; diff --git a/nginx/static/css/cantus-min.css.map b/nginx/static/css/cantus-min.css.map index de5c7dd3..065ae081 100644 --- a/nginx/static/css/cantus-min.css.map +++ b/nginx/static/css/cantus-min.css.map @@ -1 +1 @@ -{"version":3,"sources":["styles.css","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_banner.scss","_bootswatch.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_root.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/vendor/_rfs.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_color-mode.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_reboot.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_variables.scss","_variables.scss","styles.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_border-radius.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_type.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_lists.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_images.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_image.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_containers.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_container.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_breakpoints.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_grid.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_grid.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_tables.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_table-variants.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/forms/_labels.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/forms/_form-text.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/forms/_form-control.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_transition.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_gradients.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/forms/_form-select.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/forms/_form-check.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/forms/_form-range.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/forms/_floating-labels.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/forms/_input-group.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_forms.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_buttons.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_buttons.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_transitions.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_dropdown.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_caret.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_button-group.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_nav.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_navbar.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_card.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_accordion.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_breadcrumb.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_pagination.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_pagination.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_badge.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_alert.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_progress.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_list-group.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_close.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_toasts.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_modal.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_backdrop.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_tooltip.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_reset-text.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_popover.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_carousel.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_clearfix.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_spinners.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_offcanvas.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/_placeholders.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_color-bg.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_colored-links.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_focus-ring.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_icon-link.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_ratio.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_position.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_stacks.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_visually-hidden.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_visually-hidden.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_stretched-link.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_text-truncation.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_text-truncate.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/helpers/_vr.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/mixins/_utilities.scss","home/eto/Repositories/DDMAL/cantus/nginx/app/node_modules/bootstrap/scss/utilities/_api.scss","_sidenav.scss"],"names":[],"mappings":"AAAA,gBAAgB;ACCd;;;;EAAA;ACOQ,4HAAA;ACRV;;EASI,kBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,kBAAA;EAAA,iBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAAA,kBAAA;EAAA,gBAAA;EAAA,gBAAA;EAAA,eAAA;EAAA,oBAAA;EAIA,sBAAA;EAAA,mBAAA;EAAA,sBAAA;EAAA,mBAAA;EAAA,sBAAA;EAAA,mBAAA;EAAA,sBAAA;EAAA,mBAAA;EAAA,mBAAA;EAIA,qBAAA;EAAA,oBAAA;EAAA,qBAAA;EAAA,kBAAA;EAAA,qBAAA;EAAA,oBAAA;EAAA,gBAAA;EAAA,eAAA;EAIA,6BAAA;EAAA,iCAAA;EAAA,8BAAA;EAAA,2BAAA;EAAA,6BAAA;EAAA,4BAAA;EAAA,6BAAA;EAAA,yBAAA;EAIA,4CAAA;EAAA,mDAAA;EAAA,iDAAA;EAAA,8CAAA;EAAA,gDAAA;EAAA,4CAAA;EAAA,iCAAA;EAAA,gCAAA;EAIA,4CAAA;EAAA,kDAAA;EAAA,gDAAA;EAAA,6CAAA;EAAA,gDAAA;EAAA,2CAAA;EAAA,4CAAA;EAAA,yBAAA;EAIA,gDAAA;EAAA,sDAAA;EAAA,oDAAA;EAAA,iDAAA;EAAA,oDAAA;EAAA,+CAAA;EAAA,8BAAA;EAAA,gCAAA;EAGF,6BAAA;EACA,uBAAA;EAMA,uLAAA;EACA,yGAAA;EACA,yFAAA;EAOA,kFAAA;EC2OI,yBALI;EDpOR,0BAAA;EACA,0BAAA;EAKA,qBAAA;EACA,+BAAA;EACA,kBAAA;EACA,+BAAA;EAEA,yBAAA;EACA,gCAAA;EAEA,4CAAA;EACA,oCAAA;EACA,uBAAA;EACA,oCAAA;EAEA,0CAAA;EACA,mCAAA;EACA,yBAAA;EACA,mCAAA;EAGA,2BAAA;EAEA,wBAAA;EACA,gCAAA;EACA,0BAAA;EAEA,qDAAA;EACA,sCAAA;EAGE,qCAAA;EAGF,wBAAA;EACA,2CAAA;EAGA,sBAAA;EACA,wBAAA;EACA,uBAAA;EACA,mDAAA;EAEA,qBAAA;EACA,wBAAA;EACA,wBAAA;EACA,2BAAA;EACA,4BAAA;EACA,mDAAA;EACA,8BAAA;EAGA,kDAAA;EACA,2DAAA;EACA,oDAAA;EACA,2DAAA;EAIA,8BAAA;EACA,6BAAA;EACA,8CAAA;EAIA,8BAAA;EACA,qCAAA;EACA,gCAAA;EACA,uCAAA;AHAF;;AK/GI;EFqHA,kBAAA;EAGA,wBAAA;EACA,kCAAA;EACA,kBAAA;EACA,4BAAA;EAEA,yBAAA;EACA,sCAAA;EAEA,+CAAA;EACA,uCAAA;EACA,uBAAA;EACA,iCAAA;EAEA,6CAAA;EACA,sCAAA;EACA,uCAAA;EACA,gCAAA;EAGE,gDAAA;EAAA,sDAAA;EAAA,oDAAA;EAAA,iDAAA;EAAA,oDAAA;EAAA,+CAAA;EAAA,iCAAA;EAAA,gCAAA;EAIA,wCAAA;EAAA,+CAAA;EAAA,6CAAA;EAAA,0CAAA;EAAA,4CAAA;EAAA,uCAAA;EAAA,0BAAA;EAAA,0CAAA;EAIA,6CAAA;EAAA,sDAAA;EAAA,kDAAA;EAAA,gDAAA;EAAA,iDAAA;EAAA,6CAAA;EAAA,iCAAA;EAAA,6BAAA;EAGF,2BAAA;EAEA,qCAAA;EACA,gDAAA;EACA,kCAAA;EACA,wCAAA;EAEA,uCAAA;EAEA,0BAAA;EACA,wDAAA;EAEA,+CAAA;EACA,sDAAA;EACA,6CAAA;EACA,oDAAA;AHAJ;;AMrKA;;;EAGE,sBAAA;ANwKF;;AMzJI;EANJ;IAOM,uBAAA;EN6JJ;AACF;;AMhJA;EACE,SAAA;EACA,uCAAA;EF6OI,mCALI;EEtOR,uCAAA;EACA,uCAAA;EACA,2BAAA;EACA,qCAAA;EACA,mCAAA;EACA,8BAAA;EACA,6CAAA;ANmJF;;AM1IA;EACE,cAAA;EACA,cCmnB4B;EDlnB5B,SAAA;EACA,wCAAA;EACA,aCynB4B;AP5e9B;;AMnIA;EACE,aAAA;EACA,qBCwjB4B;EDrjB5B,gBElC4B;EFmC5B,gBCwjB4B;EDvjB5B,8BAAA;ANoIF;;AMjIA;EFuMQ,iCAAA;AJlER;AI1FI;EE3CJ;IF8MQ,iBAAA;EJrEN;AACF;;AMrIA;EFkMQ,iCAAA;AJzDR;AInGI;EEtCJ;IFyMQ,eAAA;EJ5DN;AACF;;AMzIA;EF6LQ,+BAAA;AJhDR;AI5GI;EEjCJ;IFoMQ,kBAAA;EJnDN;AACF;;AM7IA;EFwLQ,iCAAA;AJvCR;AIrHI;EE5BJ;IF+LQ,iBAAA;EJ1CN;AACF;;AMjJA;EF+KM,kBALI;AJrBV;;AMhJA;EF0KM,eALI;AJjBV;;AMzIA;EACE,aAAA;EACA,mBCwV0B;AP5M5B;;AMlIA;EACE,yCAAA;UAAA,iCAAA;EACA,YAAA;EACA,sCAAA;UAAA,8BAAA;ANqIF;;AM/HA;EACE,mBAAA;EACA,kBAAA;EACA,oBAAA;ANkIF;;AM5HA;;EAEE,kBAAA;AN+HF;;AM5HA;;;EAGE,aAAA;EACA,mBAAA;AN+HF;;AM5HA;;;;EAIE,gBAAA;AN+HF;;AM5HA;EACE,gBC6b4B;AP9T9B;;AM1HA;EACE,qBAAA;EACA,cAAA;AN6HF;;AMvHA;EACE,gBAAA;AN0HF;;AMlHA;;EAEE,mBCsa4B;APjT9B;;AM7GA;EF6EM,kBALI;AJyCV;;AM1GA;EACE,iBCif4B;EDhf5B,wCAAA;AN6GF;;AMpGA;;EAEE,kBAAA;EFyDI,iBALI;EElDR,cAAA;EACA,wBAAA;ANuGF;;AMpGA;EAAM,eAAA;ANwGN;;AMvGA;EAAM,WAAA;AN2GN;;AMtGA;EACE,gEAAA;EACA,qBG5NgB;ATqUlB;AMvGE;EACE,mDAAA;EACA,0BG/NoB;ATwUxB;;AM/FE;EAEE,cAAA;EACA,qBAAA;ANiGJ;;AM1FA;;;;EAIE,qCCiV4B;EHlUxB,cALI;AJoFV;;AMtFA;EACE,cAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;EFGI,kBALI;AJ4FV;AMrFE;EFFI,kBALI;EESN,cAAA;EACA,kBAAA;ANuFJ;;AMnFA;EFTM,kBALI;EEgBR,2BAAA;EACA,qBAAA;ANsFF;AMnFE;EACE,cAAA;ANqFJ;;AMjFA;EACE,2BAAA;EFrBI,kBALI;EE4BR,wBCo5CkC;EDn5ClC,sCCo5CkC;EGxrDhC,gBAAA;AVyXJ;AMlFE;EACE,UAAA;EF5BE,cALI;AJsHV;;AM1EA;EACE,gBAAA;AN6EF;;AMvEA;;EAEE,sBAAA;AN0EF;;AMlEA;EACE,oBAAA;EACA,yBAAA;ANqEF;;AMlEA;EACE,mBCwX4B;EDvX5B,sBCuX4B;EDtX5B,gCCwZ4B;EDvZ5B,gBAAA;ANqEF;;AM9DA;EAEE,mBAAA;EACA,gCAAA;ANgEF;;AM7DA;;;;;;EAME,qBAAA;EACA,mBAAA;EACA,eAAA;ANgEF;;AMxDA;EACE,qBAAA;AN2DF;;AMrDA;EAEE,gBAAA;ANuDF;;AM/CA;EACE,UAAA;ANkDF;;AM7CA;;;;;EAKE,SAAA;EACA,oBAAA;EF3HI,kBALI;EEkIR,oBAAA;ANgDF;;AM5CA;;EAEE,oBAAA;AN+CF;;AM1CA;EACE,eAAA;AN6CF;;AM1CA;EAGE,iBAAA;AN2CF;AMxCE;EACE,UAAA;AN0CJ;;AMnCA;EACE,wBAAA;ANsCF;;AM9BA;;;;EAIE,0BAAA;ANiCF;AM9BI;;;;EACE,eAAA;ANmCN;;AM5BA;EACE,UAAA;EACA,kBAAA;AN+BF;;AM1BA;EACE,gBAAA;AN6BF;;AMnBA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;ANsBF;;AMdA;EACE,WAAA;EACA,WAAA;EACA,UAAA;EACA,qBCgN4B;EHhatB,iCAAA;AJkOR;AI9XI;EEwWJ;IFrMQ,iBAAA;EJ+NN;AACF;AM3BA;EAOE,oBAAA;ANuBF;AMrBE;EACE,WAAA;ANuBJ;;AMhBA;;;;;;;EAOE,UAAA;ANmBF;;AMhBA;EACE,YAAA;ANmBF;;AMVA;EACE,oBAAA;EACA,6BAAA;ANaF;;AMLA;;;;;;;CAAA;AAWA;EACE,wBAAA;ANKF;;AMAA;EACE,UAAA;ANGF;;AMIA;EACE,aAAA;EACA,0BAAA;ANDF;;AMMA;EACE,qBAAA;ANHF;;AMQA;EACE,SAAA;ANLF;;AMYA;EACE,kBAAA;EACA,eAAA;ANTF;;AMiBA;EACE,wBAAA;ANdF;;AMsBA;EACE,wBAAA;ANnBF;;AWjjBA;EPmQM,kBALI;EO5PR,gBJwoB4B;APpF9B;;AW/iBE;EPgQM,iCAAA;AJmTR;AI/cI;EOpGF;IPuQM,eAAA;EJgTN;AACF;AWxjBE;EAIE,gBJynBkB;EIxnBlB,gBJwmB0B;APjD9B;;AW5jBE;EPgQM,iCAAA;AJgUR;AI5dI;EOpGF;IPuQM,iBAAA;EJ6TN;AACF;AWrkBE;EAIE,gBJynBkB;EIxnBlB,gBJwmB0B;APpC9B;;AWzkBE;EPgQM,iCAAA;AJ6UR;AIzeI;EOpGF;IPuQM,eAAA;EJ0UN;AACF;AWllBE;EAIE,gBJynBkB;EIxnBlB,gBJwmB0B;APvB9B;;AWtlBE;EPgQM,iCAAA;AJ0VR;AItfI;EOpGF;IPuQM,iBAAA;EJuVN;AACF;AW/lBE;EAIE,gBJynBkB;EIxnBlB,gBJwmB0B;APV9B;;AWnmBE;EPgQM,iCAAA;AJuWR;AIngBI;EOpGF;IPuQM,eAAA;EJoWN;AACF;AW5mBE;EAIE,gBJynBkB;EIxnBlB,gBJwmB0B;APG9B;;AWhnBE;EPgQM,iCAAA;AJoXR;AIhhBI;EOpGF;IPuQM,iBAAA;EJiXN;AACF;AWznBE;EAIE,gBJynBkB;EIxnBlB,gBJwmB0B;APgB9B;;AWrmBA;ECvDE,eAAA;EACA,gBAAA;AZgqBF;;AWrmBA;EC5DE,eAAA;EACA,gBAAA;AZqqBF;;AWvmBA;EACE,qBAAA;AX0mBF;AWxmBE;EACE,oBJkoB0B;APxB9B;;AWhmBA;EP8MM,kBALI;EOvMR,yBAAA;AXmmBF;;AW/lBA;EACE,mBJiUO;EH1HH,kBALI;AJiaV;AWhmBE;EACE,gBAAA;AXkmBJ;;AW9lBA;EACE,iBAAA;EACA,mBJuTO;EH1HH,kBALI;EOtLR,WHrFS;ARsrBX;AW/lBE;EACE,aAAA;AXimBJ;;AajsBA;ECIE,eAAA;EAGA,YAAA;Ad+rBF;;AahsBA;EACE,gBNyjDkC;EMxjDlC,mCNyjDkC;EMxjDlC,2DAAA;EHGE,sCAAA;EIRF,eAAA;EAGA,YAAA;AdwsBF;;Aa1rBA;EAEE,qBAAA;Ab4rBF;;AazrBA;EACE,qBAAA;EACA,cAAA;Ab4rBF;;AazrBA;ETyPM,kBALI;ESlPR,gCN4iDkC;APh3BpC;;Ae9tBE;;;;;;;ECHA,qBAAA;EACA,gBAAA;EACA,WAAA;EACA,6CAAA;EACA,4CAAA;EACA,kBAAA;EACA,iBAAA;AhB2uBF;;AiBrrBI;EF5CE;IACE,gBRkee;EPmQrB;AACF;AiB3rBI;EF5CE;IACE,gBRkee;EPwQrB;AACF;AiBhsBI;EF5CE;IACE,gBRkee;EP6QrB;AACF;AiBrsBI;EF5CE;IACE,iBRkee;EPkRrB;AACF;AiB1sBI;EF5CE;IACE,iBRkee;EPuRrB;AACF;AkB1wBA;EAEI,qBAAA;EAAA,yBAAA;EAAA,yBAAA;EAAA,yBAAA;EAAA,0BAAA;EAAA,2BAAA;AlBgxBJ;;AkB3wBE;ECNA,qBAAA;EACA,gBAAA;EACA,aAAA;EACA,eAAA;EAEA,yCAAA;EACA,6CAAA;EACA,4CAAA;AnBoxBF;AkBlxBI;ECOF,cAAA;EACA,WAAA;EACA,eAAA;EACA,6CAAA;EACA,4CAAA;EACA,8BAAA;AnB8wBF;;AmB/tBM;EACE,YAAA;AnBkuBR;;AmB/tBM;EApCJ,cAAA;EACA,WAAA;AnBuwBF;;AmBzvBE;EACE,cAAA;EACA,WAAA;AnB4vBJ;;AmB9vBE;EACE,cAAA;EACA,UAAA;AnBiwBJ;;AmBnwBE;EACE,cAAA;EACA,qBAAA;AnBswBJ;;AmBxwBE;EACE,cAAA;EACA,UAAA;AnB2wBJ;;AmB7wBE;EACE,cAAA;EACA,UAAA;AnBgxBJ;;AmBlxBE;EACE,cAAA;EACA,qBAAA;AnBqxBJ;;AmBtvBM;EAhDJ,cAAA;EACA,WAAA;AnB0yBF;;AmBrvBU;EAhEN,cAAA;EACA,kBAAA;AnByzBJ;;AmB1vBU;EAhEN,cAAA;EACA,mBAAA;AnB8zBJ;;AmB/vBU;EAhEN,cAAA;EACA,UAAA;AnBm0BJ;;AmBpwBU;EAhEN,cAAA;EACA,mBAAA;AnBw0BJ;;AmBzwBU;EAhEN,cAAA;EACA,mBAAA;AnB60BJ;;AmB9wBU;EAhEN,cAAA;EACA,UAAA;AnBk1BJ;;AmBnxBU;EAhEN,cAAA;EACA,mBAAA;AnBu1BJ;;AmBxxBU;EAhEN,cAAA;EACA,mBAAA;AnB41BJ;;AmB7xBU;EAhEN,cAAA;EACA,UAAA;AnBi2BJ;;AmBlyBU;EAhEN,cAAA;EACA,mBAAA;AnBs2BJ;;AmBvyBU;EAhEN,cAAA;EACA,mBAAA;AnB22BJ;;AmB5yBU;EAhEN,cAAA;EACA,WAAA;AnBg3BJ;;AmBzyBY;EAxDV,wBAAA;AnBq2BF;;AmB7yBY;EAxDV,yBAAA;AnBy2BF;;AmBjzBY;EAxDV,gBAAA;AnB62BF;;AmBrzBY;EAxDV,yBAAA;AnBi3BF;;AmBzzBY;EAxDV,yBAAA;AnBq3BF;;AmB7zBY;EAxDV,gBAAA;AnBy3BF;;AmBj0BY;EAxDV,yBAAA;AnB63BF;;AmBr0BY;EAxDV,yBAAA;AnBi4BF;;AmBz0BY;EAxDV,gBAAA;AnBq4BF;;AmB70BY;EAxDV,yBAAA;AnBy4BF;;AmBj1BY;EAxDV,yBAAA;AnB64BF;;AmB10BQ;;EAEE,gBAAA;AnB60BV;;AmB10BQ;;EAEE,gBAAA;AnB60BV;;AmBp1BQ;;EAEE,sBAAA;AnBu1BV;;AmBp1BQ;;EAEE,sBAAA;AnBu1BV;;AmB91BQ;;EAEE,qBAAA;AnBi2BV;;AmB91BQ;;EAEE,qBAAA;AnBi2BV;;AmBx2BQ;;EAEE,mBAAA;AnB22BV;;AmBx2BQ;;EAEE,mBAAA;AnB22BV;;AmBl3BQ;;EAEE,qBAAA;AnBq3BV;;AmBl3BQ;;EAEE,qBAAA;AnBq3BV;;AmB53BQ;;EAEE,mBAAA;AnB+3BV;;AmB53BQ;;EAEE,mBAAA;AnB+3BV;;AiBz7BI;EEUE;IACE,YAAA;EnBm7BN;EmBh7BI;IApCJ,cAAA;IACA,WAAA;EnBu9BA;EmBz8BA;IACE,cAAA;IACA,WAAA;EnB28BF;EmB78BA;IACE,cAAA;IACA,UAAA;EnB+8BF;EmBj9BA;IACE,cAAA;IACA,qBAAA;EnBm9BF;EmBr9BA;IACE,cAAA;IACA,UAAA;EnBu9BF;EmBz9BA;IACE,cAAA;IACA,UAAA;EnB29BF;EmB79BA;IACE,cAAA;IACA,qBAAA;EnB+9BF;EmBh8BI;IAhDJ,cAAA;IACA,WAAA;EnBm/BA;EmB97BQ;IAhEN,cAAA;IACA,kBAAA;EnBigCF;EmBl8BQ;IAhEN,cAAA;IACA,mBAAA;EnBqgCF;EmBt8BQ;IAhEN,cAAA;IACA,UAAA;EnBygCF;EmB18BQ;IAhEN,cAAA;IACA,mBAAA;EnB6gCF;EmB98BQ;IAhEN,cAAA;IACA,mBAAA;EnBihCF;EmBl9BQ;IAhEN,cAAA;IACA,UAAA;EnBqhCF;EmBt9BQ;IAhEN,cAAA;IACA,mBAAA;EnByhCF;EmB19BQ;IAhEN,cAAA;IACA,mBAAA;EnB6hCF;EmB99BQ;IAhEN,cAAA;IACA,UAAA;EnBiiCF;EmBl+BQ;IAhEN,cAAA;IACA,mBAAA;EnBqiCF;EmBt+BQ;IAhEN,cAAA;IACA,mBAAA;EnByiCF;EmB1+BQ;IAhEN,cAAA;IACA,WAAA;EnB6iCF;EmBt+BU;IAxDV,cAAA;EnBiiCA;EmBz+BU;IAxDV,wBAAA;EnBoiCA;EmB5+BU;IAxDV,yBAAA;EnBuiCA;EmB/+BU;IAxDV,gBAAA;EnB0iCA;EmBl/BU;IAxDV,yBAAA;EnB6iCA;EmBr/BU;IAxDV,yBAAA;EnBgjCA;EmBx/BU;IAxDV,gBAAA;EnBmjCA;EmB3/BU;IAxDV,yBAAA;EnBsjCA;EmB9/BU;IAxDV,yBAAA;EnByjCA;EmBjgCU;IAxDV,gBAAA;EnB4jCA;EmBpgCU;IAxDV,yBAAA;EnB+jCA;EmBvgCU;IAxDV,yBAAA;EnBkkCA;EmB//BM;;IAEE,gBAAA;EnBigCR;EmB9/BM;;IAEE,gBAAA;EnBggCR;EmBvgCM;;IAEE,sBAAA;EnBygCR;EmBtgCM;;IAEE,sBAAA;EnBwgCR;EmB/gCM;;IAEE,qBAAA;EnBihCR;EmB9gCM;;IAEE,qBAAA;EnBghCR;EmBvhCM;;IAEE,mBAAA;EnByhCR;EmBthCM;;IAEE,mBAAA;EnBwhCR;EmB/hCM;;IAEE,qBAAA;EnBiiCR;EmB9hCM;;IAEE,qBAAA;EnBgiCR;EmBviCM;;IAEE,mBAAA;EnByiCR;EmBtiCM;;IAEE,mBAAA;EnBwiCR;AACF;AiBnmCI;EEUE;IACE,YAAA;EnB4lCN;EmBzlCI;IApCJ,cAAA;IACA,WAAA;EnBgoCA;EmBlnCA;IACE,cAAA;IACA,WAAA;EnBonCF;EmBtnCA;IACE,cAAA;IACA,UAAA;EnBwnCF;EmB1nCA;IACE,cAAA;IACA,qBAAA;EnB4nCF;EmB9nCA;IACE,cAAA;IACA,UAAA;EnBgoCF;EmBloCA;IACE,cAAA;IACA,UAAA;EnBooCF;EmBtoCA;IACE,cAAA;IACA,qBAAA;EnBwoCF;EmBzmCI;IAhDJ,cAAA;IACA,WAAA;EnB4pCA;EmBvmCQ;IAhEN,cAAA;IACA,kBAAA;EnB0qCF;EmB3mCQ;IAhEN,cAAA;IACA,mBAAA;EnB8qCF;EmB/mCQ;IAhEN,cAAA;IACA,UAAA;EnBkrCF;EmBnnCQ;IAhEN,cAAA;IACA,mBAAA;EnBsrCF;EmBvnCQ;IAhEN,cAAA;IACA,mBAAA;EnB0rCF;EmB3nCQ;IAhEN,cAAA;IACA,UAAA;EnB8rCF;EmB/nCQ;IAhEN,cAAA;IACA,mBAAA;EnBksCF;EmBnoCQ;IAhEN,cAAA;IACA,mBAAA;EnBssCF;EmBvoCQ;IAhEN,cAAA;IACA,UAAA;EnB0sCF;EmB3oCQ;IAhEN,cAAA;IACA,mBAAA;EnB8sCF;EmB/oCQ;IAhEN,cAAA;IACA,mBAAA;EnBktCF;EmBnpCQ;IAhEN,cAAA;IACA,WAAA;EnBstCF;EmB/oCU;IAxDV,cAAA;EnB0sCA;EmBlpCU;IAxDV,wBAAA;EnB6sCA;EmBrpCU;IAxDV,yBAAA;EnBgtCA;EmBxpCU;IAxDV,gBAAA;EnBmtCA;EmB3pCU;IAxDV,yBAAA;EnBstCA;EmB9pCU;IAxDV,yBAAA;EnBytCA;EmBjqCU;IAxDV,gBAAA;EnB4tCA;EmBpqCU;IAxDV,yBAAA;EnB+tCA;EmBvqCU;IAxDV,yBAAA;EnBkuCA;EmB1qCU;IAxDV,gBAAA;EnBquCA;EmB7qCU;IAxDV,yBAAA;EnBwuCA;EmBhrCU;IAxDV,yBAAA;EnB2uCA;EmBxqCM;;IAEE,gBAAA;EnB0qCR;EmBvqCM;;IAEE,gBAAA;EnByqCR;EmBhrCM;;IAEE,sBAAA;EnBkrCR;EmB/qCM;;IAEE,sBAAA;EnBirCR;EmBxrCM;;IAEE,qBAAA;EnB0rCR;EmBvrCM;;IAEE,qBAAA;EnByrCR;EmBhsCM;;IAEE,mBAAA;EnBksCR;EmB/rCM;;IAEE,mBAAA;EnBisCR;EmBxsCM;;IAEE,qBAAA;EnB0sCR;EmBvsCM;;IAEE,qBAAA;EnBysCR;EmBhtCM;;IAEE,mBAAA;EnBktCR;EmB/sCM;;IAEE,mBAAA;EnBitCR;AACF;AiB5wCI;EEUE;IACE,YAAA;EnBqwCN;EmBlwCI;IApCJ,cAAA;IACA,WAAA;EnByyCA;EmB3xCA;IACE,cAAA;IACA,WAAA;EnB6xCF;EmB/xCA;IACE,cAAA;IACA,UAAA;EnBiyCF;EmBnyCA;IACE,cAAA;IACA,qBAAA;EnBqyCF;EmBvyCA;IACE,cAAA;IACA,UAAA;EnByyCF;EmB3yCA;IACE,cAAA;IACA,UAAA;EnB6yCF;EmB/yCA;IACE,cAAA;IACA,qBAAA;EnBizCF;EmBlxCI;IAhDJ,cAAA;IACA,WAAA;EnBq0CA;EmBhxCQ;IAhEN,cAAA;IACA,kBAAA;EnBm1CF;EmBpxCQ;IAhEN,cAAA;IACA,mBAAA;EnBu1CF;EmBxxCQ;IAhEN,cAAA;IACA,UAAA;EnB21CF;EmB5xCQ;IAhEN,cAAA;IACA,mBAAA;EnB+1CF;EmBhyCQ;IAhEN,cAAA;IACA,mBAAA;EnBm2CF;EmBpyCQ;IAhEN,cAAA;IACA,UAAA;EnBu2CF;EmBxyCQ;IAhEN,cAAA;IACA,mBAAA;EnB22CF;EmB5yCQ;IAhEN,cAAA;IACA,mBAAA;EnB+2CF;EmBhzCQ;IAhEN,cAAA;IACA,UAAA;EnBm3CF;EmBpzCQ;IAhEN,cAAA;IACA,mBAAA;EnBu3CF;EmBxzCQ;IAhEN,cAAA;IACA,mBAAA;EnB23CF;EmB5zCQ;IAhEN,cAAA;IACA,WAAA;EnB+3CF;EmBxzCU;IAxDV,cAAA;EnBm3CA;EmB3zCU;IAxDV,wBAAA;EnBs3CA;EmB9zCU;IAxDV,yBAAA;EnBy3CA;EmBj0CU;IAxDV,gBAAA;EnB43CA;EmBp0CU;IAxDV,yBAAA;EnB+3CA;EmBv0CU;IAxDV,yBAAA;EnBk4CA;EmB10CU;IAxDV,gBAAA;EnBq4CA;EmB70CU;IAxDV,yBAAA;EnBw4CA;EmBh1CU;IAxDV,yBAAA;EnB24CA;EmBn1CU;IAxDV,gBAAA;EnB84CA;EmBt1CU;IAxDV,yBAAA;EnBi5CA;EmBz1CU;IAxDV,yBAAA;EnBo5CA;EmBj1CM;;IAEE,gBAAA;EnBm1CR;EmBh1CM;;IAEE,gBAAA;EnBk1CR;EmBz1CM;;IAEE,sBAAA;EnB21CR;EmBx1CM;;IAEE,sBAAA;EnB01CR;EmBj2CM;;IAEE,qBAAA;EnBm2CR;EmBh2CM;;IAEE,qBAAA;EnBk2CR;EmBz2CM;;IAEE,mBAAA;EnB22CR;EmBx2CM;;IAEE,mBAAA;EnB02CR;EmBj3CM;;IAEE,qBAAA;EnBm3CR;EmBh3CM;;IAEE,qBAAA;EnBk3CR;EmBz3CM;;IAEE,mBAAA;EnB23CR;EmBx3CM;;IAEE,mBAAA;EnB03CR;AACF;AiBr7CI;EEUE;IACE,YAAA;EnB86CN;EmB36CI;IApCJ,cAAA;IACA,WAAA;EnBk9CA;EmBp8CA;IACE,cAAA;IACA,WAAA;EnBs8CF;EmBx8CA;IACE,cAAA;IACA,UAAA;EnB08CF;EmB58CA;IACE,cAAA;IACA,qBAAA;EnB88CF;EmBh9CA;IACE,cAAA;IACA,UAAA;EnBk9CF;EmBp9CA;IACE,cAAA;IACA,UAAA;EnBs9CF;EmBx9CA;IACE,cAAA;IACA,qBAAA;EnB09CF;EmB37CI;IAhDJ,cAAA;IACA,WAAA;EnB8+CA;EmBz7CQ;IAhEN,cAAA;IACA,kBAAA;EnB4/CF;EmB77CQ;IAhEN,cAAA;IACA,mBAAA;EnBggDF;EmBj8CQ;IAhEN,cAAA;IACA,UAAA;EnBogDF;EmBr8CQ;IAhEN,cAAA;IACA,mBAAA;EnBwgDF;EmBz8CQ;IAhEN,cAAA;IACA,mBAAA;EnB4gDF;EmB78CQ;IAhEN,cAAA;IACA,UAAA;EnBghDF;EmBj9CQ;IAhEN,cAAA;IACA,mBAAA;EnBohDF;EmBr9CQ;IAhEN,cAAA;IACA,mBAAA;EnBwhDF;EmBz9CQ;IAhEN,cAAA;IACA,UAAA;EnB4hDF;EmB79CQ;IAhEN,cAAA;IACA,mBAAA;EnBgiDF;EmBj+CQ;IAhEN,cAAA;IACA,mBAAA;EnBoiDF;EmBr+CQ;IAhEN,cAAA;IACA,WAAA;EnBwiDF;EmBj+CU;IAxDV,cAAA;EnB4hDA;EmBp+CU;IAxDV,wBAAA;EnB+hDA;EmBv+CU;IAxDV,yBAAA;EnBkiDA;EmB1+CU;IAxDV,gBAAA;EnBqiDA;EmB7+CU;IAxDV,yBAAA;EnBwiDA;EmBh/CU;IAxDV,yBAAA;EnB2iDA;EmBn/CU;IAxDV,gBAAA;EnB8iDA;EmBt/CU;IAxDV,yBAAA;EnBijDA;EmBz/CU;IAxDV,yBAAA;EnBojDA;EmB5/CU;IAxDV,gBAAA;EnBujDA;EmB//CU;IAxDV,yBAAA;EnB0jDA;EmBlgDU;IAxDV,yBAAA;EnB6jDA;EmB1/CM;;IAEE,gBAAA;EnB4/CR;EmBz/CM;;IAEE,gBAAA;EnB2/CR;EmBlgDM;;IAEE,sBAAA;EnBogDR;EmBjgDM;;IAEE,sBAAA;EnBmgDR;EmB1gDM;;IAEE,qBAAA;EnB4gDR;EmBzgDM;;IAEE,qBAAA;EnB2gDR;EmBlhDM;;IAEE,mBAAA;EnBohDR;EmBjhDM;;IAEE,mBAAA;EnBmhDR;EmB1hDM;;IAEE,qBAAA;EnB4hDR;EmBzhDM;;IAEE,qBAAA;EnB2hDR;EmBliDM;;IAEE,mBAAA;EnBoiDR;EmBjiDM;;IAEE,mBAAA;EnBmiDR;AACF;AiB9lDI;EEUE;IACE,YAAA;EnBulDN;EmBplDI;IApCJ,cAAA;IACA,WAAA;EnB2nDA;EmB7mDA;IACE,cAAA;IACA,WAAA;EnB+mDF;EmBjnDA;IACE,cAAA;IACA,UAAA;EnBmnDF;EmBrnDA;IACE,cAAA;IACA,qBAAA;EnBunDF;EmBznDA;IACE,cAAA;IACA,UAAA;EnB2nDF;EmB7nDA;IACE,cAAA;IACA,UAAA;EnB+nDF;EmBjoDA;IACE,cAAA;IACA,qBAAA;EnBmoDF;EmBpmDI;IAhDJ,cAAA;IACA,WAAA;EnBupDA;EmBlmDQ;IAhEN,cAAA;IACA,kBAAA;EnBqqDF;EmBtmDQ;IAhEN,cAAA;IACA,mBAAA;EnByqDF;EmB1mDQ;IAhEN,cAAA;IACA,UAAA;EnB6qDF;EmB9mDQ;IAhEN,cAAA;IACA,mBAAA;EnBirDF;EmBlnDQ;IAhEN,cAAA;IACA,mBAAA;EnBqrDF;EmBtnDQ;IAhEN,cAAA;IACA,UAAA;EnByrDF;EmB1nDQ;IAhEN,cAAA;IACA,mBAAA;EnB6rDF;EmB9nDQ;IAhEN,cAAA;IACA,mBAAA;EnBisDF;EmBloDQ;IAhEN,cAAA;IACA,UAAA;EnBqsDF;EmBtoDQ;IAhEN,cAAA;IACA,mBAAA;EnBysDF;EmB1oDQ;IAhEN,cAAA;IACA,mBAAA;EnB6sDF;EmB9oDQ;IAhEN,cAAA;IACA,WAAA;EnBitDF;EmB1oDU;IAxDV,cAAA;EnBqsDA;EmB7oDU;IAxDV,wBAAA;EnBwsDA;EmBhpDU;IAxDV,yBAAA;EnB2sDA;EmBnpDU;IAxDV,gBAAA;EnB8sDA;EmBtpDU;IAxDV,yBAAA;EnBitDA;EmBzpDU;IAxDV,yBAAA;EnBotDA;EmB5pDU;IAxDV,gBAAA;EnButDA;EmB/pDU;IAxDV,yBAAA;EnB0tDA;EmBlqDU;IAxDV,yBAAA;EnB6tDA;EmBrqDU;IAxDV,gBAAA;EnBguDA;EmBxqDU;IAxDV,yBAAA;EnBmuDA;EmB3qDU;IAxDV,yBAAA;EnBsuDA;EmBnqDM;;IAEE,gBAAA;EnBqqDR;EmBlqDM;;IAEE,gBAAA;EnBoqDR;EmB3qDM;;IAEE,sBAAA;EnB6qDR;EmB1qDM;;IAEE,sBAAA;EnB4qDR;EmBnrDM;;IAEE,qBAAA;EnBqrDR;EmBlrDM;;IAEE,qBAAA;EnBorDR;EmB3rDM;;IAEE,mBAAA;EnB6rDR;EmB1rDM;;IAEE,mBAAA;EnB4rDR;EmBnsDM;;IAEE,qBAAA;EnBqsDR;EmBlsDM;;IAEE,qBAAA;EnBosDR;EmB3sDM;;IAEE,mBAAA;EnB6sDR;EmB1sDM;;IAEE,mBAAA;EnB4sDR;AACF;AoBl0DA;EAEE,8BAAA;EACA,2BAAA;EACA,+BAAA;EACA,4BAAA;EAEA,sCAAA;EACA,gCAAA;EACA,+CAAA;EACA,iCAAA;EACA,8CAAA;EACA,0CAAA;EACA,6CAAA;EACA,wCAAA;EACA,4CAAA;EACA,yCAAA;EAEA,WAAA;EACA,mBbkYO;EajYP,mBbksB4B;EajsB5B,0CAAA;ApBi0DF;AoB1zDE;EACE,sBAAA;EAEA,qFAAA;EACA,oCAAA;EACA,2Cb0sB0B;EazsB1B,2GAAA;ApB2zDJ;AoBxzDE;EACE,uBAAA;ApB0zDJ;AoBvzDE;EACE,sBAAA;ApByzDJ;;AoBrzDA;EACE,+DAAA;ApBwzDF;;AoBjzDA;EACE,iBAAA;ApBozDF;;AoB1yDE;EACE,wBAAA;ApB6yDJ;;AoB9xDE;EACE,sCAAA;ApBiyDJ;AoB9xDI;EACE,sCAAA;ApBgyDN;;AoBzxDE;EACE,sBAAA;ApB4xDJ;AoBzxDE;EACE,mBAAA;ApB2xDJ;;AoBjxDE;EACE,oDAAA;EACA,8CAAA;ApBoxDJ;;AoB9wDE;EACE,oDAAA;EACA,8CAAA;ApBixDJ;;AoBzwDA;EACE,oDAAA;EACA,8CAAA;ApB4wDF;;AoBpwDE;EACE,mDAAA;EACA,6CAAA;ApBuwDJ;;AqBn5DE;EAOE,sBAAA;EACA,sBAAA;EACA,gDAAA;EACA,iDAAA;EACA,8BAAA;EACA,6CAAA;EACA,6BAAA;EACA,kDAAA;EACA,4BAAA;EAEA,4BAAA;EACA,0CAAA;ArB+4DJ;;AqBj6DE;EAOE,sBAAA;EACA,sBAAA;EACA,iDAAA;EACA,+CAAA;EACA,8BAAA;EACA,8CAAA;EACA,6BAAA;EACA,gDAAA;EACA,4BAAA;EAEA,4BAAA;EACA,0CAAA;ArB65DJ;;AqB/6DE;EAOE,sBAAA;EACA,sBAAA;EACA,gDAAA;EACA,gDAAA;EACA,8BAAA;EACA,6CAAA;EACA,6BAAA;EACA,gDAAA;EACA,4BAAA;EAEA,4BAAA;EACA,0CAAA;ArB26DJ;;AqB77DE;EAOE,sBAAA;EACA,sBAAA;EACA,iDAAA;EACA,gDAAA;EACA,8BAAA;EACA,8CAAA;EACA,6BAAA;EACA,iDAAA;EACA,4BAAA;EAEA,4BAAA;EACA,0CAAA;ArBy7DJ;;AqB38DE;EAOE,sBAAA;EACA,sBAAA;EACA,gDAAA;EACA,gDAAA;EACA,8BAAA;EACA,6CAAA;EACA,6BAAA;EACA,iDAAA;EACA,4BAAA;EAEA,4BAAA;EACA,0CAAA;ArBu8DJ;;AqBz9DE;EAOE,sBAAA;EACA,sBAAA;EACA,6CAAA;EACA,+CAAA;EACA,8BAAA;EACA,0CAAA;EACA,6BAAA;EACA,gDAAA;EACA,4BAAA;EAEA,4BAAA;EACA,0CAAA;ArBq9DJ;;AqBv+DE;EAOE,sBAAA;EACA,mBAAA;EACA,iDAAA;EACA,+CAAA;EACA,8BAAA;EACA,8CAAA;EACA,6BAAA;EACA,gDAAA;EACA,4BAAA;EAEA,4BAAA;EACA,0CAAA;ArBm+DJ;;AqBr/DE;EAOE,sBAAA;EACA,mBAAA;EACA,8CAAA;EACA,4CAAA;EACA,8BAAA;EACA,2CAAA;EACA,6BAAA;EACA,0CAAA;EACA,4BAAA;EAEA,4BAAA;EACA,0CAAA;ArBi/DJ;;AoBh2DI;EACE,gBAAA;EACA,iCAAA;ApBm2DN;;AiB97DI;EGyFA;IACE,gBAAA;IACA,iCAAA;EpBy2DJ;AACF;AiBr8DI;EGyFA;IACE,gBAAA;IACA,iCAAA;EpB+2DJ;AACF;AiB38DI;EGyFA;IACE,gBAAA;IACA,iCAAA;EpBq3DJ;AACF;AiBj9DI;EGyFA;IACE,gBAAA;IACA,iCAAA;EpB23DJ;AACF;AiBv9DI;EGyFA;IACE,gBAAA;IACA,iCAAA;EpBi4DJ;AACF;AsBriEA;EACE,qBfi2BsC;APssCxC;;AsB9hEA;EACE,oDAAA;EACA,uDAAA;EACA,gBAAA;ElB8QI,kBALI;EkBrQR,gBf+lB4B;APg8C9B;;AsB3hEA;EACE,kDAAA;EACA,qDAAA;ElBoQI,kBALI;AJgyDV;;AsB3hEA;EACE,mDAAA;EACA,sDAAA;ElB8PI,mBALI;AJsyDV;;AuB5jEA;EACE,mBhBy1BsC;EH/jBlC,kBALI;EmBjRR,gChBy1BsC;APouCxC;;AwBlkEA;EACE,cAAA;EACA,WAAA;EACA,wBAAA;EpBwRI,eALI;EoBhRR,gBjBkmB4B;EiBjmB5B,gBjBymB4B;EiBxmB5B,2BjBs3BsC;EiBr3BtC,mCjBg3BsC;EiB/2BtC,4BAAA;EACA,2DAAA;EACA,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EdGE,sCAAA;EeHE,wEDMJ;AxBgkEF;AyBlkEM;EDhBN;ICiBQ,gBAAA;EzBqkEN;AACF;AwBnkEE;EACE,gBAAA;AxBqkEJ;AwBnkEI;EACE,eAAA;AxBqkEN;AwBhkEE;EACE,2BjBg2BoC;EiB/1BpC,mCjB01BoC;EiBz1BpC,sCjBw2BoC;EiBv2BpC,UAAA;EAKE,iDjBkhBkB;AP4iDxB;AwB1jEE;EAME,eAAA;EAMA,aAAA;EAKA,SAAA;AxB8iEJ;AwBziEE;EACE,cAAA;EACA,UAAA;AxB2iEJ;AwBviEE;EACE,gCjBs0BoC;EiBp0BpC,UAAA;AxBwiEJ;AwB3iEE;EACE,gCjBs0BoC;EiBp0BpC,UAAA;AxBwiEJ;AwBhiEE;EAEE,wCjBwyBoC;EiBryBpC,UAAA;AxB+hEJ;AwB3hEE;EACE,wBAAA;EACA,yBAAA;EACA,yBhBpC0B;EgBqC1B,2BjBgyBoC;EmB93BtC,uCnB+hCgC;EiB/7B9B,oBAAA;EACA,qBAAA;EACA,mBAAA;EACA,eAAA;EACA,+CjB2rB0B;EiB1rB1B,gBAAA;ECzFE,qID0FF;AxB6hEJ;AyBnnEM;ED0EJ;ICzEM,gBAAA;EzBsnEN;AACF;AwB/hEE;EACE,wCjBs7B8B;AP2mClC;;AwBxhEA;EACE,cAAA;EACA,WAAA;EACA,mBAAA;EACA,gBAAA;EACA,gBjBwf4B;EiBvf5B,2BjBqxBsC;EiBpxBtC,6BAAA;EACA,yBAAA;EACA,sCAAA;AxB2hEF;AwBzhEE;EACE,UAAA;AxB2hEJ;AwBxhEE;EAEE,gBAAA;EACA,eAAA;AxByhEJ;;AwB9gEA;EACE,mEjBswBsC;EiBrwBtC,uBAAA;EpByII,mBALI;EMvQN,yCAAA;AVspEJ;AwB/gEE;EACE,uBAAA;EACA,wBAAA;EACA,yBjB+nB0B;APk5C9B;;AwB7gEA;EACE,iEjB0vBsC;EiBzvBtC,oBAAA;EpB4HI,kBALI;EMvQN,yCAAA;AVkqEJ;AwB9gEE;EACE,oBAAA;EACA,qBAAA;EACA,uBjBsnB0B;AP05C9B;;AwBxgEE;EACE,oEjBuuBoC;APoyCxC;AwBxgEE;EACE,mEjBouBoC;APsyCxC;AwBvgEE;EACE,iEjBiuBoC;APwyCxC;;AwBpgEA;EACE,WjB+tBsC;EiB9tBtC,gEjBwtBsC;EiBvtBtC,iBjB4kB4B;AP27C9B;AwBrgEE;EACE,eAAA;AxBugEJ;AwBpgEE;EACE,oBAAA;EdvLA,sCAAA;AV8rEJ;AwBngEE;EACE,oBAAA;Ed5LA,sCAAA;AVksEJ;AwBlgEE;EAAoB,+DjBwsBkB;AP6zCxC;AwBpgEE;EAAoB,6DjBwsBkB;AP+zCxC;;A2BttEA;EACE,qPAAA;EAEA,cAAA;EACA,WAAA;EACA,wCAAA;EvBqRI,eALI;EuB7QR,gBpB+lB4B;EoB9lB5B,gBpBsmB4B;EoBrmB5B,2BpBm3BsC;EoBl3BtC,mCpB62BsC;EoB52BtC,mFAAA;EACA,4BAAA;EACA,wCpB09BkC;EoBz9BlC,0BpB09BkC;EoBz9BlC,2DAAA;EjBFE,sCAAA;EeHE,wEEQJ;A3BstEF;AyB1tEM;EEfN;IFgBQ,gBAAA;EzB6tEN;AACF;A2B9uEA;EAoBE,wBAAA;KAAA,qBAAA;UAAA,gBAAA;A3B6tEF;A2B3tEE;EACE,sCpBg3BoC;EoB/2BpC,UAAA;EAKE,iDpB29B4B;AP8vClC;A2BrtEE;EAEE,qBnBqB0B;EmBpB1B,sBAAA;A3BstEJ;A2BntEE;EAEE,wCpBi1BoC;APm4CxC;A2B/sEE;EACE,kBAAA;EACA,uCAAA;A3BitEJ;;A2B7sEA;EACE,oBpBiuB4B;EoBhuB5B,uBpBguB4B;EoB/tB5B,oBpBguB4B;EH7fxB,mBALI;EMvQN,yCAAA;AV2vEJ;;A2B7sEA;EACE,mBpB6tB4B;EoB5tB5B,sBpB4tB4B;EoB3tB5B,kBpB4tB4B;EHjgBxB,kBALI;EMvQN,yCAAA;AVmwEJ;;A2B3sEI;EACE,wPAAA;A3B8sEN;;A4BtxEA;EACE,cAAA;EACA,kBrB+5BwC;EqB95BxC,mBrB+5BwC;EqB95BxC,uBrB+5BwC;AP03C1C;A4BvxEE;EACE,WAAA;EACA,mBAAA;A5ByxEJ;;A4BrxEA;EACE,oBrBq5BwC;EqBp5BxC,eAAA;EACA,iBAAA;A5BwxEF;A4BtxEE;EACE,YAAA;EACA,oBAAA;EACA,cAAA;A5BwxEJ;;A4BpxEA;EACE,qCAAA;EAEA,UrBq4BwC;EqBp4BxC,WrBo4BwC;EqBn4BxC,kBAAA;EACA,mBAAA;EACA,yCAAA;EACA,+CAAA;EACA,4BAAA;EACA,2BAAA;EACA,wBAAA;EACA,2DrBu4BwC;EqBt4BxC,wBAAA;KAAA,qBAAA;UAAA,gBAAA;EACA,iCAAA;UAAA,yBAAA;A5BsxEF;A4BnxEE;ElB1BE,qBAAA;AVgzEJ;A4BlxEE;EAEE,kBrB83BsC;APq5C1C;A4BhxEE;EACE,uBrBq3BsC;AP65C1C;A4B/wEE;EACE,sCrBi1BoC;EqBh1BpC,UAAA;EACA,iDrB+foB;APkxDxB;A4B9wEE;EACE,yBpB5CM;EoB6CN,qBpB7CM;AR6zEV;A4B9wEI;EAII,uPAAA;A5B6wER;A4BzwEI;EAII,+JAAA;A5BwwER;A4BnwEE;EACE,yBpBjEM;EoBkEN,qBpBlEM;EoBuEJ,iPAAA;A5BiwEN;A4B7vEE;EACE,oBAAA;EACA,YAAA;EACA,YrB61BuC;APk6C3C;A4BxvEI;EACE,eAAA;EACA,YrBo1BqC;APs6C3C;;A4B5uEA;EACE,mBrB+0BgC;APg6ClC;A4B7uEE;EACE,2KAAA;EAEA,UrBy0B8B;EqBx0B9B,mBAAA;EACA,0CAAA;EACA,gCAAA;ElBhHA,kBAAA;EeHE,iDGqHF;A5B8uEJ;AyB/1EM;EGyGJ;IHxGM,gBAAA;EzBk2EN;AACF;A4BjvEI;EACE,gLAAA;A5BmvEN;A4BhvEI;EACE,iCrBw0B4B;EqBn0B1B,0JAAA;A5B8uER;A4BzuEE;EACE,oBrBmzB8B;EqBlzB9B,eAAA;A5B2uEJ;A4BzuEI;EACE,oBAAA;EACA,cAAA;A5B2uEN;;A4BtuEA;EACE,qBAAA;EACA,kBrBiyBgC;APw8ClC;;A4BtuEA;EACE,kBAAA;EACA,sBAAA;EACA,oBAAA;A5ByuEF;A4BruEI;EACE,oBAAA;EACA,YAAA;EACA,arBkpBwB;APqlD9B;;A4BhuEI;EACE,iLAAA;A5BmuEN;;A6Br5EA;EACE,WAAA;EACA,cAAA;EACA,UAAA;EACA,6BAAA;EACA,wBAAA;KAAA,qBAAA;UAAA,gBAAA;A7Bw5EF;A6Bt5EE;EACE,UAAA;A7Bw5EJ;A6Bp5EI;EAA0B,iEtBwgCa;AP+4C3C;A6Bt5EI;EAA0B,iEtBugCa;APk5C3C;A6Bt5EE;EACE,SAAA;A7Bw5EJ;A6Br5EE;EACE,WtBy/BuC;EsBx/BvC,YtBw/BuC;EsBv/BvC,oBAAA;EHzBF,yBlBiBQ;EqBUN,StBw/BuC;EGpgCvC,mBAAA;EeHE,oHIkBF;EJlBE,4GIkBF;A7Bs5EJ;AyBp6EM;EIMJ;IJLM,wBAAA;IAAA,gBAAA;EzBu6EN;AACF;A6Bn6EE;EASE,wBAAA;UAAA,gBAAA;A7B65EJ;A6B35EI;EHjCF,0CnBwhCyC;APu6C3C;A6Bz5EE;EACE,WtBk+B8B;EsBj+B9B,ctBk+B8B;EsBj+B9B,kBAAA;EACA,etBi+B8B;EsBh+B9B,uCtBi+B8B;EsBh+B9B,yBAAA;EnB7BA,mBAAA;AVy7EJ;A6Bv5EE;EACE,WtB89BuC;EsB79BvC,YtB69BuC;EmBhhCzC,yBlBiBQ;EqBoCN,StB89BuC;EGpgCvC,mBAAA;EeHE,iHI4CF;EJ5CE,4GI4CF;A7Bw5EJ;AyBh8EM;EIiCJ;IJhCM,qBAAA;IAAA,gBAAA;EzBm8EN;AACF;A6Bp6EE;EAQE,qBAAA;OAAA,gBAAA;A7B+5EJ;A6B75EI;EH3DF,0CnBwhCyC;APm8C3C;A6B35EE;EACE,WtBw8B8B;EsBv8B9B,ctBw8B8B;EsBv8B9B,kBAAA;EACA,etBu8B8B;EsBt8B9B,uCtBu8B8B;EsBt8B9B,yBAAA;EnBvDA,mBAAA;AVq9EJ;A6Bz5EE;EACE,oBAAA;A7B25EJ;A6Bz5EI;EACE,2CtB08BqC;APi9C3C;A6Bx5EI;EACE,2CtBs8BqC;APo9C3C;;A8Bj/EA;EACE,kBAAA;A9Bo/EF;A8Bl/EE;;;EAGE,uDvBkiCoC;EuBjiCpC,2DvBiiCoC;EuBhiCpC,iBvBiiCoC;APm9CxC;A8Bj/EE;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,UAAA;EACA,YAAA;EACA,oBAAA;EACA,gBAAA;EACA,iBAAA;EACA,uBAAA;EACA,mBAAA;EACA,oBAAA;EACA,gDAAA;EACA,qBAAA;ELRE,gEKSF;A9Bm/EJ;AyBx/EM;EKTJ;ILUM,gBAAA;EzB2/EN;AACF;A8Br/EE;;EAEE,oBAAA;A9Bu/EJ;A8Br/EI;EACE,kBAAA;A9Bw/EN;A8Bz/EI;;EACE,kBAAA;A9Bw/EN;A8Br/EI;EAEE,qBvBsgCkC;EuBrgClC,wBvBsgCkC;APk/CxC;A8B3/EI;;;EAEE,qBvBsgCkC;EuBrgClC,wBvBsgCkC;APk/CxC;A8Br/EI;;EACE,qBvBigCkC;EuBhgClC,wBvBigCkC;APu/CxC;A8Bp/EE;EACE,qBvB2/BoC;EuB1/BpC,wBvB2/BoC;AP2/CxC;A8B/+EI;EACE,2CAAA;EACA,8DvBq/BkC;AP+/CxC;A8Bt/EI;;;;EACE,2CAAA;EACA,8DvBq/BkC;AP+/CxC;A8Bl/EM;EACE,kBAAA;EACA,mBAAA;EACA,WAAA;EACA,avB6+BgC;EuB5+BhC,WAAA;EACA,mCvB0zBgC;EG12BpC,sCAAA;AVwiFJ;A8B9/EM;;;;EACE,kBAAA;EACA,mBAAA;EACA,WAAA;EACA,avB6+BgC;EuB5+BhC,WAAA;EACA,mCvB0zBgC;EG12BpC,sCAAA;AVwiFJ;A8Bj/EI;EACE,2CAAA;EACA,8DvBo+BkC;AP+gDxC;A8B9+EI;EACE,sCAAA;A9Bg/EN;A8B5+EE;EACE,WtBxEO;ARsjFX;A8B5+EI;EACE,wCvBqyBkC;APysDxC;;A+BpkFA;EACE,kBAAA;EACA,aAAA;EACA,eAAA;EACA,oBAAA;EACA,WAAA;A/BukFF;A+BrkFE;;;EAGE,kBAAA;EACA,cAAA;EACA,SAAA;EACA,YAAA;A/BukFJ;A+BnkFE;;;EAGE,UAAA;A/BqkFJ;A+B/jFE;EACE,kBAAA;EACA,UAAA;A/BikFJ;A+B/jFI;EACE,UAAA;A/BikFN;;A+BtjFA;EACE,aAAA;EACA,mBAAA;EACA,wBAAA;E3B8OI,eALI;E2BvOR,gBxByjB4B;EwBxjB5B,gBxBgkB4B;EwB/jB5B,2BxB60BsC;EwB50BtC,kBAAA;EACA,mBAAA;EACA,uCxBo6BsC;EwBn6BtC,2DAAA;ErBtCE,sCAAA;AVgmFJ;;A+BhjFA;;;;EAIE,oBAAA;E3BwNI,kBALI;EMvQN,yCAAA;AVymFJ;;A+BhjFA;;;;EAIE,uBAAA;E3B+MI,mBALI;EMvQN,yCAAA;AVknFJ;;A+BhjFA;;EAEE,mBAAA;A/BmjFF;;A+BtiFI;;;;ErBjEA,0BAAA;EACA,6BAAA;AV8mFJ;A+BriFI;;;;ErB1EA,0BAAA;EACA,6BAAA;AVqnFJ;A+B/hFE;EACE,8CAAA;ErB1EA,yBAAA;EACA,4BAAA;AV4mFJ;A+B/hFE;;ErB9EE,yBAAA;EACA,4BAAA;AVinFJ;;AgCzoFE;EACE,aAAA;EACA,WAAA;EACA,mBzBi0BoC;EH/jBlC,kBALI;E4B1PN,iCzB4iCqB;AP+lDzB;;AgCxoFE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;EACA,kBAAA;E5BqPE,mBALI;E4B7ON,WzB+hCqB;EyB9hCrB,mCzB8hCqB;EGzjCrB,sCAAA;AVsqFJ;;AgCtoFI;;;;EAEE,cAAA;AhC2oFN;;AgC1rFI;EAqDE,+CzBihCmB;EyB9gCjB,oCzBw1BgC;EyBv1BhC,2PAAA;EACA,4BAAA;EACA,2DAAA;EACA,gEAAA;AhCuoFR;AgCpoFM;EACE,+CzBsgCiB;EyBrgCjB,2DzBqgCiB;APioDzB;;AgCvsFI;EA0EI,oCzBs0BgC;EyBr0BhC,kFAAA;AhCioFR;;AgC5sFI;EAkFE,+CzBo/BmB;AP0oDzB;AgC3nFQ;EAEE,mQAAA;EACA,sBzBo5B8B;EyBn5B9B,6DAAA;EACA,2EAAA;AhC4nFV;AgCxnFM;EACE,+CzBu+BiB;EyBt+BjB,2DzBs+BiB;APopDzB;;AgC1tFI;EAwGI,yCAAA;AhCsnFR;;AgC9tFI;EA+GE,+CzBu9BmB;AP4pDzB;AgCjnFM;EACE,4CzBo9BiB;AP+pDzB;AgChnFM;EACE,2DzBg9BiB;APkqDzB;AgC/mFM;EACE,iCzB48BiB;APqqDzB;;AgC5mFI;EACE,kBAAA;AhC+mFN;;AgC/uFI;;;;;EA0IM,UAAA;AhC6mFV;;AgCnuFE;EACE,aAAA;EACA,WAAA;EACA,mBzBi0BoC;EH/jBlC,kBALI;E4B1PN,mCzB4iCqB;APyrDzB;;AgCluFE;EACE,kBAAA;EACA,SAAA;EACA,UAAA;EACA,aAAA;EACA,eAAA;EACA,uBAAA;EACA,kBAAA;E5BqPE,mBALI;E4B7ON,WzB+hCqB;EyB9hCrB,kCzB8hCqB;EGzjCrB,sCAAA;AVgwFJ;;AgChuFI;;;;EAEE,cAAA;AhCquFN;;AgCpxFI;EAqDE,iDzBihCmB;EyB9gCjB,oCzBw1BgC;EyBv1BhC,4UAAA;EACA,4BAAA;EACA,2DAAA;EACA,gEAAA;AhCiuFR;AgC9tFM;EACE,iDzBsgCiB;EyBrgCjB,0DzBqgCiB;AP2tDzB;;AgCjyFI;EA0EI,oCzBs0BgC;EyBr0BhC,kFAAA;AhC2tFR;;AgCtyFI;EAkFE,iDzBo/BmB;APouDzB;AgCrtFQ;EAEE,oVAAA;EACA,sBzBo5B8B;EyBn5B9B,6DAAA;EACA,2EAAA;AhCstFV;AgCltFM;EACE,iDzBu+BiB;EyBt+BjB,0DzBs+BiB;AP8uDzB;;AgCpzFI;EAwGI,yCAAA;AhCgtFR;;AgCxzFI;EA+GE,iDzBu9BmB;APsvDzB;AgC3sFM;EACE,8CzBo9BiB;APyvDzB;AgC1sFM;EACE,0DzBg9BiB;AP4vDzB;AgCzsFM;EACE,mCzB48BiB;AP+vDzB;;AgCtsFI;EACE,kBAAA;AhCysFN;;AgCz0FI;;;;;EA4IM,UAAA;AhCqsFV;;AiCn1FA;EAEE,0BAAA;EACA,4BAAA;EACA,sBAAA;E7BuRI,wBALI;E6BhRR,yBAAA;EACA,yBAAA;EACA,oCAAA;EACA,wBAAA;EACA,6CAAA;EACA,kCAAA;EACA,+CAAA;EACA,wCAAA;EACA,4FAAA;EACA,+BAAA;EACA,iFAAA;EAGA,qBAAA;EACA,wDAAA;EACA,sCAAA;E7BsQI,kCALI;E6B/PR,sCAAA;EACA,sCAAA;EACA,0BAAA;EACA,kBAAA;EAGA,sBAAA;EACA,eAAA;EACA,yBAAA;KAAA,sBAAA;UAAA,iBAAA;EACA,mEAAA;EvBjBE,0CAAA;EgBfF,kCOkCqB;ERtBjB,qIQwBJ;AjCg1FF;AyBp2FM;EQhBN;IRiBQ,gBAAA;EzBu2FN;AACF;AiCn1FE;EACE,gCAAA;EACA,qBAAA;EACA,wCAAA;EACA,8CAAA;AjCq1FJ;AiCl1FE;EAEE,0BAAA;EACA,kCAAA;EACA,wCAAA;AjCm1FJ;AiCh1FE;EACE,gCAAA;EPrDF,wCOsDuB;EACrB,8CAAA;EACA,UAAA;EAKE,0CAAA;AjC80FN;AiC10FE;EACE,8CAAA;EACA,UAAA;EAKE,0CAAA;AjCw0FN;AiCp0FE;EAKE,iCAAA;EACA,yCAAA;EAGA,+CAAA;AjCg0FJ;AiC7zFI;EAKI,0CAAA;AjC2zFR;AiCtzFE;EAGE,mCAAA;EACA,oBAAA;EACA,2CAAA;EAEA,iDAAA;EACA,uCAAA;AjCqzFJ;;AiCzyFE;ECtGA,oBAAA;EACA,oBAAA;EACA,8BAAA;EACA,0BAAA;EACA,qCAAA;EACA,+CAAA;EACA,uCAAA;EACA,2BAAA;EACA,sCAAA;EACA,gDAAA;EACA,4DAAA;EACA,6BAAA;EACA,6BAAA;EACA,uCAAA;AlCm5FF;;AiC1zFE;ECtGA,oBAAA;EACA,iBAAA;EACA,2BAAA;EACA,0BAAA;EACA,8CAAA;EACA,qDAAA;EACA,wCAAA;EACA,2BAAA;EACA,4CAAA;EACA,sDAAA;EACA,4DAAA;EACA,6BAAA;EACA,0BAAA;EACA,oCAAA;AlCo6FF;;AiC30FE;ECtGA,oBAAA;EACA,oBAAA;EACA,8BAAA;EACA,0BAAA;EACA,0CAAA;EACA,mDAAA;EACA,uCAAA;EACA,2BAAA;EACA,0CAAA;EACA,mDAAA;EACA,4DAAA;EACA,6BAAA;EACA,6BAAA;EACA,uCAAA;AlCq7FF;;AiC51FE;ECtGA,oBAAA;EACA,oBAAA;EACA,8BAAA;EACA,0BAAA;EACA,2CAAA;EACA,oDAAA;EACA,wCAAA;EACA,2BAAA;EACA,2CAAA;EACA,oDAAA;EACA,4DAAA;EACA,6BAAA;EACA,6BAAA;EACA,uCAAA;AlCs8FF;;AiC72FE;ECtGA,oBAAA;EACA,oBAAA;EACA,8BAAA;EACA,0BAAA;EACA,0CAAA;EACA,mDAAA;EACA,uCAAA;EACA,2BAAA;EACA,0CAAA;EACA,mDAAA;EACA,4DAAA;EACA,6BAAA;EACA,6BAAA;EACA,uCAAA;AlCu9FF;;AiC93FE;ECtGA,oBAAA;EACA,oBAAA;EACA,8BAAA;EACA,0BAAA;EACA,wCAAA;EACA,+CAAA;EACA,sCAAA;EACA,2BAAA;EACA,sCAAA;EACA,iDAAA;EACA,4DAAA;EACA,6BAAA;EACA,6BAAA;EACA,uCAAA;AlCw+FF;;AiC/4FE;ECtGA,oBAAA;EACA,iBAAA;EACA,2BAAA;EACA,0BAAA;EACA,2CAAA;EACA,qDAAA;EACA,wCAAA;EACA,2BAAA;EACA,4CAAA;EACA,sDAAA;EACA,4DAAA;EACA,6BAAA;EACA,0BAAA;EACA,oCAAA;AlCy/FF;;AiCh6FE;ECtGA,oBAAA;EACA,iBAAA;EACA,2BAAA;EACA,0BAAA;EACA,wCAAA;EACA,kDAAA;EACA,qCAAA;EACA,2BAAA;EACA,yCAAA;EACA,mDAAA;EACA,4DAAA;EACA,6BAAA;EACA,0BAAA;EACA,oCAAA;AlC0gGF;;AiCv5FE;ECvGA,uBAAA;EACA,8BAAA;EACA,0BAAA;EACA,0BAAA;EACA,oCAAA;EACA,sCAAA;EACA,2BAAA;EACA,2BAAA;EACA,qCAAA;EACA,4DAAA;EACA,gCAAA;EACA,iCAAA;EACA,uCAAA;EACA,mBAAA;AlCkgGF;;AiCx6FE;ECvGA,oBAAA;EACA,2BAAA;EACA,0BAAA;EACA,uBAAA;EACA,iCAAA;EACA,wCAAA;EACA,2BAAA;EACA,wBAAA;EACA,kCAAA;EACA,4DAAA;EACA,6BAAA;EACA,iCAAA;EACA,oCAAA;EACA,mBAAA;AlCmhGF;;AiCz7FE;ECvGA,uBAAA;EACA,8BAAA;EACA,0BAAA;EACA,0BAAA;EACA,oCAAA;EACA,uCAAA;EACA,2BAAA;EACA,2BAAA;EACA,qCAAA;EACA,4DAAA;EACA,gCAAA;EACA,iCAAA;EACA,uCAAA;EACA,mBAAA;AlCoiGF;;AiC18FE;ECvGA,uBAAA;EACA,8BAAA;EACA,0BAAA;EACA,0BAAA;EACA,oCAAA;EACA,uCAAA;EACA,2BAAA;EACA,2BAAA;EACA,qCAAA;EACA,4DAAA;EACA,gCAAA;EACA,iCAAA;EACA,uCAAA;EACA,mBAAA;AlCqjGF;;AiC39FE;ECvGA,uBAAA;EACA,8BAAA;EACA,0BAAA;EACA,0BAAA;EACA,oCAAA;EACA,sCAAA;EACA,2BAAA;EACA,2BAAA;EACA,qCAAA;EACA,4DAAA;EACA,gCAAA;EACA,iCAAA;EACA,uCAAA;EACA,mBAAA;AlCskGF;;AiC5+FE;ECvGA,uBAAA;EACA,8BAAA;EACA,0BAAA;EACA,0BAAA;EACA,oCAAA;EACA,sCAAA;EACA,2BAAA;EACA,2BAAA;EACA,qCAAA;EACA,4DAAA;EACA,gCAAA;EACA,iCAAA;EACA,uCAAA;EACA,mBAAA;AlCulGF;;AiC7/FE;ECvGA,oBAAA;EACA,2BAAA;EACA,0BAAA;EACA,uBAAA;EACA,iCAAA;EACA,wCAAA;EACA,2BAAA;EACA,wBAAA;EACA,kCAAA;EACA,4DAAA;EACA,6BAAA;EACA,iCAAA;EACA,oCAAA;EACA,mBAAA;AlCwmGF;;AiC9gGE;ECvGA,oBAAA;EACA,2BAAA;EACA,0BAAA;EACA,uBAAA;EACA,iCAAA;EACA,qCAAA;EACA,2BAAA;EACA,wBAAA;EACA,kCAAA;EACA,4DAAA;EACA,6BAAA;EACA,iCAAA;EACA,oCAAA;EACA,mBAAA;AlCynGF;;AiCnhGA;EACE,yBAAA;EACA,oCAAA;EACA,wBAAA;EACA,kCAAA;EACA,gDAAA;EACA,wCAAA;EACA,iDAAA;EACA,yCAAA;EACA,6BAAA;EACA,2CAAA;EACA,+BAAA;EACA,sCAAA;EAEA,qBxBtJgB;AT2qGlB;AiChhGE;EAEE,0BxB5JoB;AT6qGxB;AiC9gGE;EACE,0BAAA;AjCghGJ;AiC7gGE;EACE,gCAAA;AjC+gGJ;;AiCpgGA;ECxIE,0BAAA;EACA,wBAAA;E9B8NI,2BALI;E8BvNR,kDAAA;AlCgpGF;;AiCvgGA;EC5IE,2BAAA;EACA,0BAAA;E9B8NI,4BALI;E8BvNR,kDAAA;AlCupGF;;AmC1tGA;EVgBM,gCUfJ;AnC6tGF;AyB1sGM;EUpBN;IVqBQ,gBAAA;EzB6sGN;AACF;AmChuGE;EACE,UAAA;AnCkuGJ;;AmC5tGE;EACE,aAAA;AnC+tGJ;;AmC3tGA;EACE,SAAA;EACA,gBAAA;EVDI,6BUEJ;AnC8tGF;AyB5tGM;EULN;IVMQ,gBAAA;EzB+tGN;AACF;AmCjuGE;EACE,QAAA;EACA,YAAA;EVNE,4BUOF;AnCmuGJ;AyBtuGM;EUAJ;IVCM,gBAAA;EzByuGN;AACF;;AoC9vGA;;;;;;EAME,kBAAA;ApCiwGF;;AoC9vGA;EACE,mBAAA;ApCiwGF;AqCzuGI;EACE,qBAAA;EACA,oB9B6hBwB;E8B5hBxB,uB9B2hBwB;E8B1hBxB,WAAA;EArCJ,uBAAA;EACA,qCAAA;EACA,gBAAA;EACA,oCAAA;ArCixGF;AqCvtGI;EACE,cAAA;ArCytGN;;AoCvwGA;EAEE,0BAAA;EACA,8BAAA;EACA,0BAAA;EACA,+BAAA;EACA,8BAAA;EhCuQI,6BALI;EgChQR,yCAAA;EACA,mCAAA;EACA,8CAAA;EACA,oDAAA;EACA,kDAAA;EACA,yFAAA;EACA,4CAAA;EACA,sCAAA;EACA,2DAAA;EACA,8CAAA;EACA,oDAAA;EACA,kDAAA;EACA,qCAAA;EACA,qCAAA;EACA,2DAAA;EACA,kCAAA;EACA,qCAAA;EACA,gCAAA;EACA,oCAAA;EACA,sCAAA;EAGA,kBAAA;EACA,kCAAA;EACA,aAAA;EACA,uCAAA;EACA,kEAAA;EACA,SAAA;EhC0OI,uCALI;EgCnOR,+BAAA;EACA,gBAAA;EACA,gBAAA;EACA,uCAAA;EACA,4BAAA;EACA,6EAAA;E1BzCE,+CAAA;AVizGJ;AoCpwGE;EACE,SAAA;EACA,OAAA;EACA,qCAAA;ApCswGJ;;AoC9uGI;EACE,oBAAA;ApCivGN;AoC/uGM;EACE,WAAA;EACA,OAAA;ApCivGR;;AoC7uGI;EACE,kBAAA;ApCgvGN;AoC9uGM;EACE,QAAA;EACA,UAAA;ApCgvGR;;AiB1xGI;EmB4BA;IACE,oBAAA;EpCkwGJ;EoChwGI;IACE,WAAA;IACA,OAAA;EpCkwGN;EoC9vGE;IACE,kBAAA;EpCgwGJ;EoC9vGI;IACE,QAAA;IACA,UAAA;EpCgwGN;AACF;AiB3yGI;EmB4BA;IACE,oBAAA;EpCkxGJ;EoChxGI;IACE,WAAA;IACA,OAAA;EpCkxGN;EoC9wGE;IACE,kBAAA;EpCgxGJ;EoC9wGI;IACE,QAAA;IACA,UAAA;EpCgxGN;AACF;AiB3zGI;EmB4BA;IACE,oBAAA;EpCkyGJ;EoChyGI;IACE,WAAA;IACA,OAAA;EpCkyGN;EoC9xGE;IACE,kBAAA;EpCgyGJ;EoC9xGI;IACE,QAAA;IACA,UAAA;EpCgyGN;AACF;AiB30GI;EmB4BA;IACE,oBAAA;EpCkzGJ;EoChzGI;IACE,WAAA;IACA,OAAA;EpCkzGN;EoC9yGE;IACE,kBAAA;EpCgzGJ;EoC9yGI;IACE,QAAA;IACA,UAAA;EpCgzGN;AACF;AiB31GI;EmB4BA;IACE,oBAAA;EpCk0GJ;EoCh0GI;IACE,WAAA;IACA,OAAA;EpCk0GN;EoC9zGE;IACE,kBAAA;EpCg0GJ;EoC9zGI;IACE,QAAA;IACA,UAAA;EpCg0GN;AACF;AoCvzGE;EACE,SAAA;EACA,YAAA;EACA,aAAA;EACA,wCAAA;ApCyzGJ;AqC74GI;EACE,qBAAA;EACA,oB9B6hBwB;E8B5hBxB,uB9B2hBwB;E8B1hBxB,WAAA;EA9BJ,aAAA;EACA,qCAAA;EACA,0BAAA;EACA,oCAAA;ArC86GF;AqC33GI;EACE,cAAA;ArC63GN;;AoC7zGE;EACE,MAAA;EACA,WAAA;EACA,UAAA;EACA,aAAA;EACA,sCAAA;ApCg0GJ;AqCl6GI;EACE,qBAAA;EACA,oB9B6hBwB;E8B5hBxB,uB9B2hBwB;E8B1hBxB,WAAA;EAvBJ,mCAAA;EACA,eAAA;EACA,sCAAA;EACA,wBAAA;ArC47GF;AqCh5GI;EACE,cAAA;ArCk5GN;AoCx0GI;EACE,iBAAA;ApC00GN;;AoCp0GE;EACE,MAAA;EACA,WAAA;EACA,UAAA;EACA,aAAA;EACA,uCAAA;ApCu0GJ;AqC17GI;EACE,qBAAA;EACA,oB9B6hBwB;E8B5hBxB,uB9B2hBwB;E8B1hBxB,WAAA;ArC47GN;AqCj7GM;EACE,aAAA;ArCm7GR;AqCh7GM;EACE,qBAAA;EACA,qB9B0gBsB;E8BzgBtB,uB9BwgBsB;E8BvgBtB,WAAA;EAnCN,mCAAA;EACA,yBAAA;EACA,sCAAA;ArCs9GF;AqCh7GI;EACE,cAAA;ArCk7GN;AoCv1GI;EACE,iBAAA;ApCy1GN;;AoCl1GA;EACE,SAAA;EACA,6CAAA;EACA,gBAAA;EACA,mDAAA;EACA,UAAA;ApCq1GF;;AoC/0GA;EACE,cAAA;EACA,WAAA;EACA,4EAAA;EACA,WAAA;EACA,gB7Byb4B;E6Bxb5B,oCAAA;EACA,mBAAA;EAEA,mBAAA;EACA,6BAAA;EACA,SAAA;E1BtKE,uDAAA;AVw/GJ;AoC/0GE;EAEE,0CAAA;EACA,qBAAA;EV3LF,kDU4LuB;ApCg1GzB;AoC70GE;EAEE,2CAAA;EACA,qBAAA;EVlMF,mDUmMuB;ApC80GzB;AoC30GE;EAEE,6CAAA;EACA,oBAAA;EACA,6BAAA;ApC40GJ;;AoCt0GA;EACE,cAAA;ApCy0GF;;AoCr0GA;EACE,cAAA;EACA,gFAAA;EACA,gBAAA;EhCmEI,mBALI;EgC5DR,sCAAA;EACA,mBAAA;ApCw0GF;;AoCp0GA;EACE,cAAA;EACA,4EAAA;EACA,oCAAA;ApCu0GF;;AoCn0GA;EAEE,4BAAA;EACA,sBAAA;EACA,8CAAA;EACA,0BAAA;EACA,iCAAA;EACA,oCAAA;EACA,4CAAA;EACA,sDAAA;EACA,qCAAA;EACA,qCAAA;EACA,0CAAA;EACA,mCAAA;ApCq0GF;;AsC3jHA;;EAEE,kBAAA;EACA,oBAAA;EACA,sBAAA;AtC8jHF;AsC5jHE;;EACE,kBAAA;EACA,cAAA;AtC+jHJ;AsC1jHE;;;;;;;;;;;;EAME,UAAA;AtCkkHJ;;AsC7jHA;EACE,aAAA;EACA,eAAA;EACA,2BAAA;AtCgkHF;AsC9jHE;EACE,WAAA;AtCgkHJ;;AsC5jHA;E5BhBI,sCAAA;AVglHJ;AsC5jHE;;EAEE,8CAAA;AtC8jHJ;AsC1jHE;;;E5BVE,0BAAA;EACA,6BAAA;AVykHJ;AsCtjHE;;;E5BNE,yBAAA;EACA,4BAAA;AVikHJ;;AsCziHA;EACE,uBAAA;EACA,sBAAA;AtC4iHF;AsC1iHE;EAGE,cAAA;AtC0iHJ;AsCviHE;EACE,eAAA;AtCyiHJ;;AsCriHA;EACE,uBAAA;EACA,sBAAA;AtCwiHF;;AsCriHA;EACE,sBAAA;EACA,qBAAA;AtCwiHF;;AsCphHA;EACE,sBAAA;EACA,uBAAA;EACA,uBAAA;AtCuhHF;AsCrhHE;;EAEE,WAAA;AtCuhHJ;AsCphHE;;EAEE,6CAAA;AtCshHJ;AsClhHE;;E5B1FE,6BAAA;EACA,4BAAA;AVgnHJ;AsClhHE;;E5B7GE,yBAAA;EACA,0BAAA;AVmoHJ;;AuC3pHA;EAEE,6BAAA;EACA,+BAAA;EAEA,2BAAA;EACA,yCAAA;EACA,qDAAA;EACA,uDAAA;EAGA,aAAA;EACA,eAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;AvC0pHF;;AuCvpHA;EACE,cAAA;EACA,kEAAA;EnCsQI,uCALI;EmC/PR,2CAAA;EACA,+BAAA;EAEA,gBAAA;EACA,SAAA;EdfI,uGcgBJ;AvCypHF;AyBrqHM;EcGN;IdFQ,gBAAA;EzBwqHN;AACF;AuC5pHE;EAEE,qCAAA;EACA,qBAAA;AvC6pHJ;AuC1pHE;EACE,UAAA;EACA,iDhCkhBoB;AP0oGxB;AuCxpHE;EACE,wCAAA;EACA,oBAAA;EACA,eAAA;AvC0pHJ;;AuClpHA;EAEE,kDAAA;EACA,kDAAA;EACA,oDAAA;EACA,2GAAA;EACA,yDAAA;EACA,+CAAA;EACA,uGAAA;EAGA,oFAAA;AvCkpHF;AuChpHE;EACE,yDAAA;EACA,yDAAA;E7B5CA,wDAAA;EACA,yDAAA;AV+rHJ;AuCjpHI;EAGE,kBAAA;EACA,wDAAA;AvCipHN;AuC9oHI;EAEE,wCAAA;EACA,6BAAA;EACA,yBAAA;AvC+oHN;AuC3oHE;;EAEE,2CAAA;EACA,mDAAA;EACA,yDAAA;AvC6oHJ;AuC1oHE;EAEE,sDAAA;E7BvEA,yBAAA;EACA,0BAAA;AVmtHJ;;AuCloHA;EAEE,qDAAA;EACA,sCAAA;EACA,sCAAA;AvCooHF;AuCjoHE;E7BlGE,gDAAA;AVsuHJ;AuCjoHI;EACE,wCAAA;EACA,6BAAA;EACA,yBAAA;AvCmoHN;AuC/nHE;;EAEE,4CAAA;Eb7HF,oDa8HuB;AvCioHzB;;AuCxnHA;EAEE,4BAAA;EACA,yCAAA;EACA,8DAAA;EAGA,gCAAA;AvCwnHF;AuCtnHE;EACE,gBAAA;EACA,eAAA;EACA,qEAAA;AvCwnHJ;AuCtnHI;EAEE,iCAAA;AvCunHN;AuCnnHE;;EAEE,gBhC8c0B;EgC7c1B,gDAAA;EACA,iCAAA;AvCqnHJ;;AuC3mHE;;EAEE,cAAA;EACA,kBAAA;AvC8mHJ;;AuCzmHE;;EAEE,aAAA;EACA,YAAA;EACA,kBAAA;AvC4mHJ;;AuCtmHE;;EACE,WAAA;AvC0mHJ;;AuChmHE;EACE,aAAA;AvCmmHJ;AuCjmHE;EACE,cAAA;AvCmmHJ;;AwC5yHA;EAEE,wBAAA;EACA,0BAAA;EACA,2DAAA;EACA,gEAAA;EACA,mEAAA;EACA,+DAAA;EACA,sCAAA;EACA,kCAAA;EACA,oCAAA;EACA,8DAAA;EACA,oEAAA;EACA,sCAAA;EACA,mCAAA;EACA,sCAAA;EACA,sCAAA;EACA,2QAAA;EACA,0EAAA;EACA,0DAAA;EACA,qCAAA;EACA,4DAAA;EAGA,kBAAA;EACA,aAAA;EACA,eAAA;EACA,mBAAA;EACA,8BAAA;EACA,8DAAA;AxC4yHF;AwCtyHE;;;;;;;EACE,aAAA;EACA,kBAAA;EACA,mBAAA;EACA,8BAAA;AxC8yHJ;AwC1xHA;EACE,6CAAA;EACA,gDAAA;EACA,+CAAA;EpC4NI,2CALI;EoCrNR,mCAAA;EAEA,mBAAA;AxC2xHF;AwCzxHE;EAEE,yCAAA;EACA,qBAAA;AxC0xHJ;;AwCjxHA;EAEE,0BAAA;EACA,+BAAA;EAEA,2BAAA;EACA,2CAAA;EACA,uDAAA;EACA,6DAAA;EAGA,aAAA;EACA,sBAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;AxCgxHF;AwC7wHI;EAEE,oCAAA;AxC8wHN;AwC1wHE;EACE,gBAAA;AxC4wHJ;;AwCnwHA;EACE,mBjCwgCkC;EiCvgClC,sBjCugCkC;EiCtgClC,6BAAA;AxCswHF;AwCpwHE;;;EAGE,oCAAA;AxCswHJ;;AwCzvHA;EACE,gBAAA;EACA,YAAA;EAGA,mBAAA;AxC0vHF;;AwCtvHA;EACE,8EAAA;EpCyII,6CALI;EoClIR,cAAA;EACA,6BAAA;EACA,6BAAA;EACA,0EAAA;E9BxIE,qDAAA;EeHE,+Ce6IJ;AxCyvHF;AyBl4HM;EeiIN;IfhIQ,gBAAA;EzBq4HN;AACF;AwC5vHE;EACE,qBAAA;AxC8vHJ;AwC3vHE;EACE,qBAAA;EACA,UAAA;EACA,sDAAA;AxC6vHJ;;AwCvvHA;EACE,qBAAA;EACA,YAAA;EACA,aAAA;EACA,sBAAA;EACA,kDAAA;EACA,4BAAA;EACA,2BAAA;EACA,qBAAA;AxC0vHF;;AwCvvHA;EACE,yCAAA;EACA,gBAAA;AxC0vHF;;AiBp3HI;EuBsIA;IAEI,iBAAA;IACA,2BAAA;ExCivHN;EwC/uHM;IACE,mBAAA;ExCivHR;EwC/uHQ;IACE,kBAAA;ExCivHV;EwC9uHQ;IACE,kDAAA;IACA,iDAAA;ExCgvHV;EwC5uHM;IACE,iBAAA;ExC8uHR;EwC3uHM;IACE,wBAAA;IACA,gBAAA;ExC6uHR;EwC1uHM;IACE,aAAA;ExC4uHR;EwCzuHM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;If9NJ,gBegOI;ExCyuHR;EwCtuHQ;IACE,aAAA;ExCwuHV;EwCruHQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;ExCuuHV;AACF;AiBp6HI;EuBsIA;IAEI,iBAAA;IACA,2BAAA;ExCgyHN;EwC9xHM;IACE,mBAAA;ExCgyHR;EwC9xHQ;IACE,kBAAA;ExCgyHV;EwC7xHQ;IACE,kDAAA;IACA,iDAAA;ExC+xHV;EwC3xHM;IACE,iBAAA;ExC6xHR;EwC1xHM;IACE,wBAAA;IACA,gBAAA;ExC4xHR;EwCzxHM;IACE,aAAA;ExC2xHR;EwCxxHM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;If9NJ,gBegOI;ExCwxHR;EwCrxHQ;IACE,aAAA;ExCuxHV;EwCpxHQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;ExCsxHV;AACF;AiBn9HI;EuBsIA;IAEI,iBAAA;IACA,2BAAA;ExC+0HN;EwC70HM;IACE,mBAAA;ExC+0HR;EwC70HQ;IACE,kBAAA;ExC+0HV;EwC50HQ;IACE,kDAAA;IACA,iDAAA;ExC80HV;EwC10HM;IACE,iBAAA;ExC40HR;EwCz0HM;IACE,wBAAA;IACA,gBAAA;ExC20HR;EwCx0HM;IACE,aAAA;ExC00HR;EwCv0HM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;If9NJ,gBegOI;ExCu0HR;EwCp0HQ;IACE,aAAA;ExCs0HV;EwCn0HQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;ExCq0HV;AACF;AiBlgII;EuBsIA;IAEI,iBAAA;IACA,2BAAA;ExC83HN;EwC53HM;IACE,mBAAA;ExC83HR;EwC53HQ;IACE,kBAAA;ExC83HV;EwC33HQ;IACE,kDAAA;IACA,iDAAA;ExC63HV;EwCz3HM;IACE,iBAAA;ExC23HR;EwCx3HM;IACE,wBAAA;IACA,gBAAA;ExC03HR;EwCv3HM;IACE,aAAA;ExCy3HR;EwCt3HM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;If9NJ,gBegOI;ExCs3HR;EwCn3HQ;IACE,aAAA;ExCq3HV;EwCl3HQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;ExCo3HV;AACF;AiBjjII;EuBsIA;IAEI,iBAAA;IACA,2BAAA;ExC66HN;EwC36HM;IACE,mBAAA;ExC66HR;EwC36HQ;IACE,kBAAA;ExC66HV;EwC16HQ;IACE,kDAAA;IACA,iDAAA;ExC46HV;EwCx6HM;IACE,iBAAA;ExC06HR;EwCv6HM;IACE,wBAAA;IACA,gBAAA;ExCy6HR;EwCt6HM;IACE,aAAA;ExCw6HR;EwCr6HM;IAEE,gBAAA;IACA,aAAA;IACA,YAAA;IACA,sBAAA;IACA,uBAAA;IACA,8BAAA;IACA,wCAAA;IACA,oBAAA;IACA,0BAAA;If9NJ,gBegOI;ExCq6HR;EwCl6HQ;IACE,aAAA;ExCo6HV;EwCj6HQ;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;ExCm6HV;AACF;AwC19HI;EAEI,iBAAA;EACA,2BAAA;AxC29HR;AwCz9HQ;EACE,mBAAA;AxC29HV;AwCz9HU;EACE,kBAAA;AxC29HZ;AwCx9HU;EACE,kDAAA;EACA,iDAAA;AxC09HZ;AwCt9HQ;EACE,iBAAA;AxCw9HV;AwCr9HQ;EACE,wBAAA;EACA,gBAAA;AxCu9HV;AwCp9HQ;EACE,aAAA;AxCs9HV;AwCn9HQ;EAEE,gBAAA;EACA,aAAA;EACA,YAAA;EACA,sBAAA;EACA,uBAAA;EACA,8BAAA;EACA,wCAAA;EACA,oBAAA;EACA,0BAAA;Ef9NJ,gBegOI;AxCm9HV;AwCh9HU;EACE,aAAA;AxCk9HZ;AwC/8HU;EACE,aAAA;EACA,YAAA;EACA,UAAA;EACA,mBAAA;AxCi9HZ;;AwCh8HA;;EAGE,2CAAA;EACA,6BAAA;EACA,qDAAA;EACA,8BAAA;EACA,6BAAA;EACA,mCAAA;EACA,0DAAA;EACA,2QAAA;AxCk8HF;;AwC57HI;EACE,2QAAA;AxC+7HN;;AyCxtIA;EAEE,wBAAA;EACA,wBAAA;EACA,gCAAA;EACA,uBAAA;EACA,0BAAA;EACA,8CAAA;EACA,0DAAA;EACA,gDAAA;EACA,sBAAA;EACA,gCAAA;EACA,+BAAA;EACA,6BAAA;EACA,sDAAA;EACA,qBAAA;EACA,kBAAA;EACA,iBAAA;EACA,+BAAA;EACA,mCAAA;EACA,+BAAA;EAGA,kBAAA;EACA,aAAA;EACA,sBAAA;EACA,YAAA;EACA,6BAAA;EACA,2BAAA;EACA,qBAAA;EACA,mCAAA;EACA,2BAAA;EACA,qEAAA;E/BjBE,2CAAA;AV0uIJ;AyCrtIE;EACE,eAAA;EACA,cAAA;AzCutIJ;AyCptIE;EACE,mBAAA;EACA,sBAAA;AzCstIJ;AyCptII;EACE,mBAAA;E/BtBF,0DAAA;EACA,2DAAA;AV6uIJ;AyCptII;EACE,sBAAA;E/BbF,8DAAA;EACA,6DAAA;AVouIJ;AyCjtIE;;EAEE,aAAA;AzCmtIJ;;AyC/sIA;EAGE,cAAA;EACA,wDAAA;EACA,2BAAA;AzCgtIF;;AyC7sIA;EACE,4CAAA;EACA,iCAAA;AzCgtIF;;AyC7sIA;EACE,sDAAA;EACA,gBAAA;EACA,oCAAA;AzCgtIF;;AyC7sIA;EACE,gBAAA;AzCgtIF;;AyC5sIE;EACE,qBAAA;AzC+sIJ;AyC5sIE;EACE,oCAAA;AzC8sIJ;;AyCtsIA;EACE,kEAAA;EACA,gBAAA;EACA,+BAAA;EACA,uCAAA;EACA,4EAAA;AzCysIF;AyCvsIE;E/B7FE,wFAAA;AVuyIJ;;AyCrsIA;EACE,kEAAA;EACA,+BAAA;EACA,uCAAA;EACA,yEAAA;AzCwsIF;AyCtsIE;E/BxGE,wFAAA;AVizIJ;;AyC/rIA;EACE,uDAAA;EACA,sDAAA;EACA,sDAAA;EACA,gBAAA;AzCksIF;AyChsIE;EACE,mCAAA;EACA,sCAAA;AzCksIJ;;AyC9rIA;EACE,uDAAA;EACA,sDAAA;AzCisIF;;AyC7rIA;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,2CAAA;E/B1IE,iDAAA;AV20IJ;;AyC7rIA;;;EAGE,WAAA;AzCgsIF;;AyC7rIA;;E/B3II,0DAAA;EACA,2DAAA;AV60IJ;;AyC9rIA;;E/BlII,8DAAA;EACA,6DAAA;AVq0IJ;;AyCvrIE;EACE,0CAAA;AzC0rIJ;AiBrzII;EwBuHJ;IAQI,aAAA;IACA,mBAAA;EzC0rIF;EyCvrIE;IAEE,YAAA;IACA,gBAAA;EzCwrIJ;EyCtrII;IACE,cAAA;IACA,cAAA;EzCwrIN;EyCnrIM;I/B3KJ,0BAAA;IACA,6BAAA;EVi2IF;EyCprIQ;;IAGE,0BAAA;EzCqrIV;EyCnrIQ;;IAGE,6BAAA;EzCorIV;EyChrIM;I/B5KJ,yBAAA;IACA,4BAAA;EV+1IF;EyCjrIQ;;IAGE,yBAAA;EzCkrIV;EyChrIQ;;IAGE,4BAAA;EzCirIV;AACF;;A0Ct5IA;EAEE,0CAAA;EACA,oCAAA;EACA,8KAAA;EACA,mDAAA;EACA,mDAAA;EACA,qDAAA;EACA,4FAAA;EACA,qCAAA;EACA,oCAAA;EACA,iCAAA;EACA,8BAAA;EACA,6BAAA;EACA,sCAAA;EACA,kDAAA;EACA,8DAAA;EACA,oCAAA;EACA,2CAAA;EACA,yCAAA;EACA,sCAAA;EACA,mCAAA;EACA,oCAAA;EACA,iCAAA;A1Cw5IF;;A0Cp5IA;EACE,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,WAAA;EACA,4EAAA;EtC2PI,eALI;EsCpPR,oCAAA;EACA,gBAAA;EACA,4CAAA;EACA,SAAA;EhCtBE,gBAAA;EgCwBF,qBAAA;EjB3BI,0CiB4BJ;A1Cu5IF;AyB/6IM;EiBWN;IjBVQ,gBAAA;EzBk7IN;AACF;A0C15IE;EACE,uCAAA;EACA,+CAAA;EACA,kGAAA;A1C45IJ;A0C15II;EACE,qDAAA;EACA,iDAAA;A1C45IN;A0Cv5IE;EACE,cAAA;EACA,yCAAA;EACA,0CAAA;EACA,iBAAA;EACA,WAAA;EACA,8CAAA;EACA,4BAAA;EACA,mDAAA;EjBlDE,mDiBmDF;A1Cy5IJ;AyBx8IM;EiBsCJ;IjBrCM,gBAAA;EzB28IN;AACF;A0C35IE;EACE,UAAA;A1C65IJ;A0C15IE;EACE,UAAA;EACA,wDAAA;EACA,UAAA;EACA,oDAAA;A1C45IJ;;A0Cx5IA;EACE,gBAAA;A1C25IF;;A0Cx5IA;EACE,gCAAA;EACA,wCAAA;EACA,+EAAA;A1C25IF;A0Cz5IE;EhC/DE,yDAAA;EACA,0DAAA;AV29IJ;A0C15II;EhClEA,+DAAA;EACA,gEAAA;AV+9IJ;A0Cz5IE;EACE,aAAA;A1C25IJ;A0Cv5IE;EhC9DE,6DAAA;EACA,4DAAA;AVw9IJ;A0Cv5IM;EhClEF,mEAAA;EACA,kEAAA;AV49IJ;A0Ct5II;EhCvEA,6DAAA;EACA,4DAAA;AVg+IJ;;A0Cp5IA;EACE,8EAAA;A1Cu5IF;;A0C94IE;EACE,eAAA;A1Ci5IJ;A0C94IE;EACE,eAAA;EACA,cAAA;EhCpHA,gBAAA;AVqgJJ;A0C94II;EAAgB,aAAA;A1Ci5IpB;A0Ch5II;EAAe,gBAAA;A1Cm5InB;A0Ch5IM;EhC3HF,gBAAA;AV8gJJ;;A0Cz4II;EACE,uTAAA;EACA,8TAAA;A1C44IN;;A2CtiJA;EAEE,kCAAA;EACA,mCAAA;EACA,mCAAA;EAEA,oBAAA;EACA,kCAAA;EACA,wDAAA;EACA,sCAAA;EACA,4DAAA;EAGA,aAAA;EACA,eAAA;EACA,sEAAA;EACA,iDAAA;EvC+QI,yCALI;EuCxQR,gBAAA;EACA,yCAAA;EjCAE,iDAAA;AVsiJJ;;A2ChiJE;EACE,iDAAA;A3CmiJJ;A2CjiJI;EACE,WAAA;EACA,kDAAA;EACA,yCAAA;EACA,uFAAA;A3CmiJN;A2C/hJE;EACE,6CAAA;A3CiiJJ;;A4CtkJA;EAEE,kCAAA;EACA,mCAAA;ExC4RI,+BALI;EwCrRR,2BAAA;EACA,qCAAA;EACA,oDAAA;EACA,oDAAA;EACA,sDAAA;EACA,uDAAA;EACA,+CAAA;EACA,0DAAA;EACA,uDAAA;EACA,gDAAA;EACA,uEAAA;EACA,kCAAA;EACA,kCAAA;EACA,kEAAA;EACA,oCAAA;EACA,wCAAA;EACA,6DAAA;EAGA,aAAA;EhCpBA,eAAA;EACA,gBAAA;AZ2lJF;;A4CpkJA;EACE,kBAAA;EACA,cAAA;EACA,sEAAA;ExCgQI,yCALI;EwCzPR,iCAAA;EAEA,yCAAA;EACA,iFAAA;EnBpBI,qImBqBJ;A5CskJF;AyBvlJM;EmBQN;InBPQ,gBAAA;EzB0lJN;AACF;A4CzkJE;EACE,UAAA;EACA,uCAAA;EACA,qBAAA;EACA,+CAAA;EACA,qDAAA;A5C2kJJ;A4CxkJE;EACE,UAAA;EACA,uCAAA;EACA,+CAAA;EACA,UrCouCgC;EqCnuChC,iDAAA;A5C0kJJ;A4CvkJE;EAEE,UAAA;EACA,wCAAA;ElBtDF,gDkBuDuB;EACrB,sDAAA;A5CwkJJ;A4CrkJE;EAEE,0CAAA;EACA,oBAAA;EACA,kDAAA;EACA,wDAAA;A5CskJJ;;A4CjkJE;EACE,8CrCusCgC;AP63GpC;A4C/jJM;ElC9BF,0DAAA;EACA,6DAAA;AVgmJJ;A4C7jJM;ElClDF,2DAAA;EACA,8DAAA;AVknJJ;;A4ChjJA;EClGE,iCAAA;EACA,kCAAA;EzC0RI,kCALI;EyCnRR,yDAAA;A7CspJF;;A4CnjJA;ECtGE,iCAAA;EACA,kCAAA;EzC0RI,mCALI;EyCnRR,yDAAA;A7C6pJF;;A8C/pJA;EAEE,0BAAA;EACA,4BAAA;E1CuRI,4BALI;E0ChRR,2BAAA;EACA,sBAAA;EACA,iDAAA;EAGA,qBAAA;EACA,4DAAA;E1C+QI,oCALI;E0CxQR,wCAAA;EACA,cAAA;EACA,4BAAA;EACA,kBAAA;EACA,mBAAA;EACA,wBAAA;EpCJE,4CAAA;AVoqJJ;A8C3pJE;EACE,aAAA;A9C6pJJ;;A8CxpJA;EACE,kBAAA;EACA,SAAA;A9C2pJF;;A+C3rJA;EAEE,0BAAA;EACA,0BAAA;EACA,0BAAA;EACA,8BAAA;EACA,yBAAA;EACA,oCAAA;EACA,4EAAA;EACA,iDAAA;EACA,8BAAA;EAGA,kBAAA;EACA,4DAAA;EACA,4CAAA;EACA,4BAAA;EACA,oCAAA;EACA,8BAAA;ErCHE,4CAAA;AV+rJJ;;A+CvrJA;EAEE,cAAA;A/CyrJF;;A+CrrJA;EACE,gBvC2DkC;EuC1DlC,iCAAA;A/CwrJF;;A+ChrJA;EACE,mBxCg+C8B;APmtGhC;A+ChrJE;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,UAAA;EACA,qBAAA;A/CkrJJ;;A+C1qJE;EACE,iDAAA;EACA,0CAAA;EACA,wDAAA;EACA,sDAAA;A/C6qJJ;;A+CjrJE;EACE,mDAAA;EACA,4CAAA;EACA,0DAAA;EACA,wDAAA;A/CorJJ;;A+CxrJE;EACE,iDAAA;EACA,0CAAA;EACA,wDAAA;EACA,sDAAA;A/C2rJJ;;A+C/rJE;EACE,8CAAA;EACA,uCAAA;EACA,qDAAA;EACA,mDAAA;A/CksJJ;;A+CtsJE;EACE,iDAAA;EACA,0CAAA;EACA,wDAAA;EACA,sDAAA;A/CysJJ;;A+C7sJE;EACE,gDAAA;EACA,yCAAA;EACA,uDAAA;EACA,qDAAA;A/CgtJJ;;A+CptJE;EACE,+CAAA;EACA,wCAAA;EACA,sDAAA;EACA,oDAAA;A/CutJJ;;A+C3tJE;EACE,8CAAA;EACA,uCAAA;EACA,qDAAA;EACA,mDAAA;A/C8tJJ;;AgD1xJE;EACE;IAAK,2BzCmhD2B;EP2wGlC;AACF;AgD1xJA;;EAGE,0BAAA;E5CkRI,gCALI;E4C3QR,wCAAA;EACA,oDAAA;EACA,oDAAA;EACA,6BAAA;EACA,6BAAA;EACA,6CAAA;EAGA,aAAA;EACA,iCAAA;EACA,gBAAA;E5CsQI,uCALI;E4C/PR,uCAAA;EtCRE,+CAAA;AVkyJJ;;AgDrxJA;EACE,aAAA;EACA,sBAAA;EACA,uBAAA;EACA,gBAAA;EACA,mCAAA;EACA,kBAAA;EACA,mBAAA;EACA,2CAAA;EvBxBI,6CuByBJ;AhDwxJF;AyB7yJM;EuBYN;IvBXQ,gBAAA;EzBgzJN;AACF;;AgD1xJA;EtBAE,qMAAA;EsBEA,oEAAA;AhD6xJF;;AgD1xJA;EACE,iBAAA;AhD6xJF;;AgD1xJA;EACE,WAAA;AhD6xJF;;AgDzxJE;EACE,kDAAA;AhD4xJJ;AgDzxJM;EAJJ;IAKM,eAAA;EhD4xJN;AACF;;AiDx1JA;EAEE,2CAAA;EACA,qCAAA;EACA,oDAAA;EACA,oDAAA;EACA,sDAAA;EACA,oCAAA;EACA,sCAAA;EACA,uDAAA;EACA,4DAAA;EACA,sDAAA;EACA,yDAAA;EACA,wDAAA;EACA,yDAAA;EACA,8CAAA;EACA,kCAAA;EACA,kCAAA;EACA,4CAAA;EAGA,aAAA;EACA,sBAAA;EAGA,eAAA;EACA,gBAAA;EvCXE,iDAAA;AVk2JJ;;AiDn1JA;EACE,qBAAA;EACA,sBAAA;AjDs1JF;AiDp1JE;EAEE,oCAAA;EACA,0BAAA;AjDq1JJ;;AiD50JA;EACE,WAAA;EACA,wCAAA;EACA,mBAAA;AjD+0JF;AiD50JE;EAEE,UAAA;EACA,8CAAA;EACA,qBAAA;EACA,sDAAA;AjD60JJ;AiD10JE;EACE,+CAAA;EACA,uDAAA;AjD40JJ;;AiDp0JA;EACE,kBAAA;EACA,cAAA;EACA,gFAAA;EACA,iCAAA;EAEA,yCAAA;EACA,iFAAA;AjDs0JF;AiDp0JE;EvCvDE,+BAAA;EACA,gCAAA;AV83JJ;AiDp0JE;EvC7CE,mCAAA;EACA,kCAAA;AVo3JJ;AiDp0JE;EAEE,0CAAA;EACA,oBAAA;EACA,kDAAA;AjDq0JJ;AiDj0JE;EACE,UAAA;EACA,wCAAA;EACA,gDAAA;EACA,sDAAA;AjDm0JJ;AiD/zJE;EACE,mBAAA;AjDi0JJ;AiD/zJI;EACE,wDAAA;EACA,mDAAA;AjDi0JN;;AiDpzJI;EACE,mBAAA;AjDuzJN;AiDpzJQ;EvCvDJ,6DAAA;EAZA,0BAAA;AV23JJ;AiDnzJQ;EvCxEJ,2DAAA;EAYA,4BAAA;AVm3JJ;AiDlzJQ;EACE,aAAA;AjDozJV;AiDjzJQ;EACE,mDAAA;EACA,oBAAA;AjDmzJV;AiDjzJU;EACE,yDAAA;EACA,oDAAA;AjDmzJZ;;AiBz4JI;EgC8DA;IACE,mBAAA;EjD+0JJ;EiD50JM;IvCvDJ,6DAAA;IAZA,0BAAA;EVm5JF;EiD30JM;IvCxEJ,2DAAA;IAYA,4BAAA;EV24JF;EiD10JM;IACE,aAAA;EjD40JR;EiDz0JM;IACE,mDAAA;IACA,oBAAA;EjD20JR;EiDz0JQ;IACE,yDAAA;IACA,oDAAA;EjD20JV;AACF;AiBl6JI;EgC8DA;IACE,mBAAA;EjDu2JJ;EiDp2JM;IvCvDJ,6DAAA;IAZA,0BAAA;EV26JF;EiDn2JM;IvCxEJ,2DAAA;IAYA,4BAAA;EVm6JF;EiDl2JM;IACE,aAAA;EjDo2JR;EiDj2JM;IACE,mDAAA;IACA,oBAAA;EjDm2JR;EiDj2JQ;IACE,yDAAA;IACA,oDAAA;EjDm2JV;AACF;AiB17JI;EgC8DA;IACE,mBAAA;EjD+3JJ;EiD53JM;IvCvDJ,6DAAA;IAZA,0BAAA;EVm8JF;EiD33JM;IvCxEJ,2DAAA;IAYA,4BAAA;EV27JF;EiD13JM;IACE,aAAA;EjD43JR;EiDz3JM;IACE,mDAAA;IACA,oBAAA;EjD23JR;EiDz3JQ;IACE,yDAAA;IACA,oDAAA;EjD23JV;AACF;AiBl9JI;EgC8DA;IACE,mBAAA;EjDu5JJ;EiDp5JM;IvCvDJ,6DAAA;IAZA,0BAAA;EV29JF;EiDn5JM;IvCxEJ,2DAAA;IAYA,4BAAA;EVm9JF;EiDl5JM;IACE,aAAA;EjDo5JR;EiDj5JM;IACE,mDAAA;IACA,oBAAA;EjDm5JR;EiDj5JQ;IACE,yDAAA;IACA,oDAAA;EjDm5JV;AACF;AiB1+JI;EgC8DA;IACE,mBAAA;EjD+6JJ;EiD56JM;IvCvDJ,6DAAA;IAZA,0BAAA;EVm/JF;EiD36JM;IvCxEJ,2DAAA;IAYA,4BAAA;EV2+JF;EiD16JM;IACE,aAAA;EjD46JR;EiDz6JM;IACE,mDAAA;IACA,oBAAA;EjD26JR;EiDz6JQ;IACE,yDAAA;IACA,oDAAA;EjD26JV;AACF;AiD95JA;EvChJI,gBAAA;AVijKJ;AiD95JE;EACE,mDAAA;AjDg6JJ;AiD95JI;EACE,sBAAA;AjDg6JN;;AiDn5JE;EACE,sDAAA;EACA,+CAAA;EACA,6DAAA;EACA,4DAAA;EACA,gEAAA;EACA,6DAAA;EACA,iEAAA;EACA,yDAAA;EACA,0DAAA;EACA,oEAAA;AjDs5JJ;;AiDh6JE;EACE,wDAAA;EACA,iDAAA;EACA,+DAAA;EACA,4DAAA;EACA,kEAAA;EACA,6DAAA;EACA,mEAAA;EACA,2DAAA;EACA,4DAAA;EACA,sEAAA;AjDm6JJ;;AiD76JE;EACE,sDAAA;EACA,+CAAA;EACA,6DAAA;EACA,4DAAA;EACA,gEAAA;EACA,6DAAA;EACA,iEAAA;EACA,yDAAA;EACA,0DAAA;EACA,oEAAA;AjDg7JJ;;AiD17JE;EACE,mDAAA;EACA,4CAAA;EACA,0DAAA;EACA,4DAAA;EACA,6DAAA;EACA,6DAAA;EACA,8DAAA;EACA,sDAAA;EACA,uDAAA;EACA,iEAAA;AjD67JJ;;AiDv8JE;EACE,sDAAA;EACA,+CAAA;EACA,6DAAA;EACA,4DAAA;EACA,gEAAA;EACA,6DAAA;EACA,iEAAA;EACA,yDAAA;EACA,0DAAA;EACA,oEAAA;AjD08JJ;;AiDp9JE;EACE,qDAAA;EACA,8CAAA;EACA,4DAAA;EACA,4DAAA;EACA,+DAAA;EACA,6DAAA;EACA,gEAAA;EACA,wDAAA;EACA,yDAAA;EACA,mEAAA;AjDu9JJ;;AiDj+JE;EACE,oDAAA;EACA,6CAAA;EACA,2DAAA;EACA,4DAAA;EACA,8DAAA;EACA,6DAAA;EACA,+DAAA;EACA,uDAAA;EACA,wDAAA;EACA,kEAAA;AjDo+JJ;;AiD9+JE;EACE,mDAAA;EACA,4CAAA;EACA,0DAAA;EACA,4DAAA;EACA,6DAAA;EACA,6DAAA;EACA,8DAAA;EACA,sDAAA;EACA,uDAAA;EACA,iEAAA;AjDi/JJ;;AkD7qKA;EAEE,0BAAA;EACA,oVAAA;EACA,2BAAA;EACA,+BAAA;EACA,kEAAA;EACA,+BAAA;EACA,qCAAA;EACA,uEAAA;EAGA,uBAAA;EACA,U3C+oD2B;E2C9oD3B,W3C8oD2B;E2C7oD3B,sBAAA;EACA,gCAAA;EACA,wEAAA;EACA,SAAA;ExCJE,gBAAA;EwCMF,oCAAA;AlD6qKF;AkD1qKE;EACE,gCAAA;EACA,qBAAA;EACA,0CAAA;AlD4qKJ;AkDzqKE;EACE,UAAA;EACA,4CAAA;EACA,0CAAA;AlD2qKJ;AkDxqKE;EAEE,oBAAA;EACA,yBAAA;KAAA,sBAAA;UAAA,iBAAA;EACA,6CAAA;AlDyqKJ;;AkDjqKA;EAHE,wCAAA;AlDwqKF;;AkD/pKI;EATF,wCAAA;AlD4qKF;;AmD7tKA;EAEE,uBAAA;EACA,6BAAA;EACA,4BAAA;EACA,0BAAA;EACA,2BAAA;E/CyRI,8BALI;E+ClRR,kBAAA;EACA,gDAAA;EACA,+CAAA;EACA,2DAAA;EACA,iDAAA;EACA,2CAAA;EACA,kDAAA;EACA,uDAAA;EACA,kEAAA;EAGA,gCAAA;EACA,eAAA;E/C2QI,oCALI;E+CpQR,4BAAA;EACA,oBAAA;EACA,oCAAA;EACA,4BAAA;EACA,uEAAA;EACA,sCAAA;EzCRE,4CAAA;AVsuKJ;AmD3tKE;EACE,UAAA;AnD6tKJ;AmD1tKE;EACE,aAAA;AnD4tKJ;;AmDxtKA;EACE,uBAAA;EAEA,kBAAA;EACA,+BAAA;EACA,uBAAA;EAAA,kBAAA;EACA,eAAA;EACA,oBAAA;AnD0tKF;AmDxtKE;EACE,sCAAA;AnD0tKJ;;AmDttKA;EACE,aAAA;EACA,mBAAA;EACA,4DAAA;EACA,mCAAA;EACA,2CAAA;EACA,4BAAA;EACA,qFAAA;EzChCE,0FAAA;EACA,2FAAA;AV0vKJ;AmDxtKE;EACE,oDAAA;EACA,sCAAA;AnD0tKJ;;AmDttKA;EACE,kCAAA;EACA,qBAAA;AnDytKF;;AoDvxKA;EAEE,uBAAA;EACA,uBAAA;EACA,wBAAA;EACA,yBAAA;EACA,kBAAA;EACA,gCAAA;EACA,2DAAA;EACA,+CAAA;EACA,oDAAA;EACA,8DAAA;EACA,2FAAA;EACA,iCAAA;EACA,iCAAA;EACA,oCAAA;EACA,sDAAA;EACA,sDAAA;EACA,iCAAA;EACA,6BAAA;EACA,sBAAA;EACA,sDAAA;EACA,sDAAA;EAGA,eAAA;EACA,MAAA;EACA,OAAA;EACA,+BAAA;EACA,aAAA;EACA,WAAA;EACA,YAAA;EACA,kBAAA;EACA,gBAAA;EAGA,UAAA;ApDqxKF;;AoD9wKA;EACE,kBAAA;EACA,WAAA;EACA,8BAAA;EAEA,oBAAA;ApDgxKF;AoD7wKE;E3B5CI,mC2B6CF;ApD+wKJ;AyBxzKM;E2BwCJ;I3BvCM,gBAAA;EzB2zKN;AACF;AoDrxKE;EAEE,8B7Cy7CgC;AP61HpC;AoDpxKE;EACE,e7Cu7CgC;AP+1HpC;AoDlxKE;EACE,sB7Co7CgC;APg2HpC;;AoDhxKA;EACE,+CAAA;ApDmxKF;AoDjxKE;EACE,gBAAA;EACA,gBAAA;ApDmxKJ;AoDhxKE;EACE,gBAAA;ApDkxKJ;;AoD9wKA;EACE,aAAA;EACA,mBAAA;EACA,mDAAA;ApDixKF;;AoD7wKA;EACE,kBAAA;EACA,aAAA;EACA,sBAAA;EACA,WAAA;EAEA,4BAAA;EACA,oBAAA;EACA,oCAAA;EACA,4BAAA;EACA,uEAAA;E1CrFE,4CAAA;E0CyFF,UAAA;ApD6wKF;;AoDzwKA;EAEE,0BAAA;EACA,sBAAA;EACA,0BAAA;EClHA,eAAA;EACA,MAAA;EACA,OAAA;EACA,kCDkH0B;ECjH1B,YAAA;EACA,aAAA;EACA,uCD+G4D;ApD+wK9D;AqD33KE;EAAS,UAAA;ArD83KX;AqD73KE;EAAS,mCD2GiF;ApDqxK5F;;AoDhxKA;EACE,aAAA;EACA,cAAA;EACA,mBAAA;EACA,8BAAA;EACA,uCAAA;EACA,4FAAA;E1CtGE,2DAAA;EACA,4DAAA;AV03KJ;AoDlxKE;EACE,kGAAA;EACA,sJAAA;ApDoxKJ;;AoD/wKA;EACE,gBAAA;EACA,8CAAA;ApDkxKF;;AoD7wKA;EACE,kBAAA;EAGA,cAAA;EACA,gCAAA;ApD8wKF;;AoD1wKA;EACE,aAAA;EACA,cAAA;EACA,eAAA;EACA,mBAAA;EACA,yBAAA;EACA,yEAAA;EACA,2CAAA;EACA,yFAAA;E1C1HE,+DAAA;EACA,8DAAA;AVw4KJ;AoDzwKE;EACE,8CAAA;ApD2wKJ;;AiBv3KI;EmCkHF;IACE,0BAAA;IACA,wDAAA;EpDywKF;EoDrwKA;IACE,gCAAA;IACA,kBAAA;IACA,iBAAA;EpDuwKF;EoDpwKA;IACE,uBAAA;EpDswKF;AACF;AiBt4KI;EmCoIF;;IAEE,uBAAA;EpDqwKF;AACF;AiB54KI;EmC2IF;IACE,wBAAA;EpDowKF;AACF;AoD3vKI;EACE,YAAA;EACA,eAAA;EACA,YAAA;EACA,SAAA;ApD6vKN;AoD3vKM;EACE,YAAA;EACA,SAAA;E1C1MJ,gBAAA;AVw8KJ;AoD1vKM;;E1C9MF,gBAAA;AV48KJ;AoDzvKM;EACE,gBAAA;ApD2vKR;;AiBt5KI;EmCyIA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpDixKJ;EoD/wKI;IACE,YAAA;IACA,SAAA;I1C1MJ,gBAAA;EV49KF;EoD9wKI;;I1C9MF,gBAAA;EVg+KF;EoD7wKI;IACE,gBAAA;EpD+wKN;AACF;AiB36KI;EmCyIA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpDqyKJ;EoDnyKI;IACE,YAAA;IACA,SAAA;I1C1MJ,gBAAA;EVg/KF;EoDlyKI;;I1C9MF,gBAAA;EVo/KF;EoDjyKI;IACE,gBAAA;EpDmyKN;AACF;AiB/7KI;EmCyIA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpDyzKJ;EoDvzKI;IACE,YAAA;IACA,SAAA;I1C1MJ,gBAAA;EVogLF;EoDtzKI;;I1C9MF,gBAAA;EVwgLF;EoDrzKI;IACE,gBAAA;EpDuzKN;AACF;AiBn9KI;EmCyIA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpD60KJ;EoD30KI;IACE,YAAA;IACA,SAAA;I1C1MJ,gBAAA;EVwhLF;EoD10KI;;I1C9MF,gBAAA;EV4hLF;EoDz0KI;IACE,gBAAA;EpD20KN;AACF;AiBv+KI;EmCyIA;IACE,YAAA;IACA,eAAA;IACA,YAAA;IACA,SAAA;EpDi2KJ;EoD/1KI;IACE,YAAA;IACA,SAAA;I1C1MJ,gBAAA;EV4iLF;EoD91KI;;I1C9MF,gBAAA;EVgjLF;EoD71KI;IACE,gBAAA;EpD+1KN;AACF;AsDtkLA;EAEE,yBAAA;EACA,6BAAA;EACA,8BAAA;EACA,+BAAA;EACA,qBAAA;ElDwRI,gCALI;EkDjRR,qCAAA;EACA,yCAAA;EACA,mDAAA;EACA,yBAAA;EACA,gCAAA;EACA,iCAAA;EAGA,iCAAA;EACA,cAAA;EACA,gCAAA;EClBA,wE9CeiB;E8CbjB,kBAAA;EACA,gBhDwmB4B;EgDvmB5B,gBhD+mB4B;EgD9mB5B,gBAAA;EACA,iBAAA;EACA,qBAAA;EACA,iBAAA;EACA,oBAAA;EACA,sBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;EACA,gBAAA;EnDgRI,sCALI;EkDhQR,qBAAA;EACA,UAAA;AtD8kLF;AsD5kLE;EAAS,kCAAA;AtD+kLX;AsD7kLE;EACE,cAAA;EACA,oCAAA;EACA,sCAAA;AtD+kLJ;AsD7kLI;EACE,kBAAA;EACA,WAAA;EACA,yBAAA;EACA,mBAAA;AtD+kLN;;AsD1kLA;EACE,iDAAA;AtD6kLF;AsD3kLE;EACE,SAAA;EACA,wFAAA;EACA,sCAAA;AtD6kLJ;;AsDzkLA,qBAAA;AACA;EACE,+CAAA;EACA,qCAAA;EACA,qCAAA;AtD4kLF;AsD1kLE;EACE,WAAA;EACA,kIAAA;EACA,wCAAA;AtD4kLJ;;AsDxkLA,mBAAA;AAEA;EACE,8CAAA;AtD0kLF;AsDxkLE;EACE,YAAA;EACA,wFAAA;EACA,yCAAA;AtD0kLJ;;AsDtkLA,qBAAA;AACA;EACE,gDAAA;EACA,qCAAA;EACA,qCAAA;AtDykLF;AsDvkLE;EACE,UAAA;EACA,kIAAA;EACA,uCAAA;AtDykLJ;;AsDrkLA,mBAAA;AAkBA;EACE,sCAAA;EACA,gEAAA;EACA,8BAAA;EACA,kBAAA;EACA,sCAAA;E5CjGE,8CAAA;AVypLJ;;AwD5qLA;EAEE,yBAAA;EACA,6BAAA;EpD4RI,gCALI;EoDrRR,kCAAA;EACA,iDAAA;EACA,6DAAA;EACA,sDAAA;EACA,2FAAA;EACA,0DAAA;EACA,mCAAA;EACA,qCAAA;EpDmRI,mCALI;EoD5QR,kCAAA;EACA,8CAAA;EACA,iCAAA;EACA,iCAAA;EACA,6CAAA;EACA,8BAAA;EACA,iCAAA;EACA,yDAAA;EAGA,iCAAA;EACA,cAAA;EACA,sCAAA;EDzBA,wE9CeiB;E8CbjB,kBAAA;EACA,gBhDwmB4B;EgDvmB5B,gBhD+mB4B;EgD9mB5B,gBAAA;EACA,iBAAA;EACA,qBAAA;EACA,iBAAA;EACA,oBAAA;EACA,sBAAA;EACA,kBAAA;EACA,mBAAA;EACA,oBAAA;EACA,gBAAA;EnDgRI,sCALI;EoD1PR,qBAAA;EACA,sCAAA;EACA,4BAAA;EACA,2EAAA;E9ChBE,8CAAA;AVusLJ;AwDnrLE;EACE,cAAA;EACA,oCAAA;EACA,sCAAA;AxDqrLJ;AwDnrLI;EAEE,kBAAA;EACA,cAAA;EACA,WAAA;EACA,yBAAA;EACA,mBAAA;EACA,eAAA;AxDorLN;;AwD9qLE;EACE,oFAAA;AxDirLJ;AwD/qLI;EAEE,wFAAA;AxDgrLN;AwD7qLI;EACE,SAAA;EACA,gDAAA;AxD+qLN;AwD5qLI;EACE,sCAAA;EACA,sCAAA;AxD8qLN;;AwDzqLA,qBAAA;AAEE;EACE,kFAAA;EACA,qCAAA;EACA,qCAAA;AxD2qLJ;AwDzqLI;EAEE,kIAAA;AxD0qLN;AwDvqLI;EACE,OAAA;EACA,kDAAA;AxDyqLN;AwDtqLI;EACE,oCAAA;EACA,wCAAA;AxDwqLN;;AwDnqLA,mBAAA;AAGE;EACE,iFAAA;AxDoqLJ;AwDlqLI;EAEE,wFAAA;AxDmqLN;AwDhqLI;EACE,MAAA;EACA,mDAAA;AxDkqLN;AwD/pLI;EACE,mCAAA;EACA,yCAAA;AxDiqLN;AwD5pLE;EACE,kBAAA;EACA,MAAA;EACA,SAAA;EACA,cAAA;EACA,oCAAA;EACA,uDAAA;EACA,WAAA;EACA,+EAAA;AxD8pLJ;;AwD1pLA,qBAAA;AAEE;EACE,mFAAA;EACA,qCAAA;EACA,qCAAA;AxD4pLJ;AwD1pLI;EAEE,kIAAA;AxD2pLN;AwDxpLI;EACE,QAAA;EACA,iDAAA;AxD0pLN;AwDvpLI;EACE,qCAAA;EACA,uCAAA;AxDypLN;;AwDppLA,mBAAA;AAkBA;EACE,8EAAA;EACA,gBAAA;EpD2GI,6CALI;EoDpGR,qCAAA;EACA,6CAAA;EACA,kFAAA;E9C5JE,6DAAA;EACA,8DAAA;AVmyLJ;AwDroLE;EACE,aAAA;AxDuoLJ;;AwDnoLA;EACE,0EAAA;EACA,mCAAA;AxDsoLF;;AyD3zLA;EACE,kBAAA;AzD8zLF;;AyD3zLA;EACE,mBAAA;AzD8zLF;;AyD3zLA;EACE,kBAAA;EACA,WAAA;EACA,gBAAA;AzD8zLF;A0Dp1LE;EACE,cAAA;EACA,WAAA;EACA,WAAA;A1Ds1LJ;;AyD/zLA;EACE,kBAAA;EACA,aAAA;EACA,WAAA;EACA,WAAA;EACA,mBAAA;EACA,2BAAA;EhClBI,sCgCmBJ;AzDk0LF;AyBj1LM;EgCQN;IhCPQ,gBAAA;EzBo1LN;AACF;;AyDp0LA;;;EAGE,cAAA;AzDu0LF;;AyDp0LA;;EAEE,2BAAA;AzDu0LF;;AyDp0LA;;EAEE,4BAAA;AzDu0LF;;AyD9zLE;EACE,UAAA;EACA,4BAAA;EACA,eAAA;AzDi0LJ;AyD9zLE;;;EAGE,UAAA;EACA,UAAA;AzDg0LJ;AyD7zLE;;EAEE,UAAA;EACA,UAAA;EhC5DE,2BgC6DF;AzD+zLJ;AyBx3LM;EgCqDJ;;IhCpDM,gBAAA;EzB43LN;AACF;;AyD5zLA;;EAEE,kBAAA;EACA,MAAA;EACA,SAAA;EACA,UAAA;EAEA,aAAA;EACA,mBAAA;EACA,uBAAA;EACA,UlD4gDmC;EkD3gDnC,UAAA;EACA,WjDzFS;EiD0FT,kBAAA;EACA,gBAAA;EACA,SAAA;EACA,YlDugDmC;EkB7lD/B,8BgCuFJ;AzD8zLF;AyBj5LM;EgCkEN;;IhCjEQ,gBAAA;EzBq5LN;AACF;AyDj0LE;;;EAEE,WjDnGO;EiDoGP,qBAAA;EACA,UAAA;EACA,YlD+/CiC;APq0IrC;;AyDj0LA;EACE,OAAA;AzDo0LF;;AyDj0LA;EACE,QAAA;AzDo0LF;;AyD/zLA;;EAEE,qBAAA;EACA,WlDggDmC;EkD//CnC,YlD+/CmC;EkD9/CnC,4BAAA;EACA,wBAAA;EACA,0BAAA;AzDk0LF;;AyD/zLA;;;;;;;GAAA;AAQA;EACE,yQAAA;AzDk0LF;;AyDh0LA;EACE,0QAAA;AzDm0LF;;AyD3zLA;EACE,kBAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,UAAA;EACA,aAAA;EACA,uBAAA;EACA,UAAA;EAEA,iBlDw8CmC;EkDv8CnC,mBAAA;EACA,gBlDs8CmC;APu3IrC;AyD3zLE;EACE,uBAAA;EACA,cAAA;EACA,WlDs8CiC;EkDr8CjC,WlDs8CiC;EkDr8CjC,UAAA;EACA,iBlDs8CiC;EkDr8CjC,gBlDq8CiC;EkDp8CjC,mBAAA;EACA,eAAA;EACA,sBjDzKO;EiD0KP,4BAAA;EACA,SAAA;EAEA,kCAAA;EACA,qCAAA;EACA,YlD67CiC;EkBrmD/B,6BgCyKF;AzD4zLJ;AyBj+LM;EgCoJJ;IhCnJM,gBAAA;EzBo+LN;AACF;AyD9zLE;EACE,UlD07CiC;APs4IrC;;AyDvzLA;EACE,kBAAA;EACA,UAAA;EACA,elDo7CmC;EkDn7CnC,SAAA;EACA,oBlDi7CmC;EkDh7CnC,uBlDg7CmC;EkD/6CnC,WjDpMS;EiDqMT,kBAAA;AzD0zLF;;AyDpzLE;;EAEE,gClDq7CiC;APk4IrC;AyDpzLE;EACE,sBjDvMO;AR6/LX;AyDnzLE;EACE,WjD3MO;ARggMX;;AyD/zLE;;;EAEE,gClDq7CiC;AP84IrC;AyDh0LE;EACE,sBjDvMO;ARygMX;AyD/zLE;EACE,WjD3MO;AR4gMX;;A2D3hMA;;EAEE,qBAAA;EACA,8BAAA;EACA,gCAAA;EACA,gDAAA;EAEA,kBAAA;EACA,6FAAA;A3D6hMF;;A2DzhMA;EACE;IAAK,0CAAA;E3D6hML;AACF;A2D1hMA;EAEE,wBAAA;EACA,yBAAA;EACA,qCAAA;EACA,iCAAA;EACA,mCAAA;EACA,2CAAA;EAGA,yDAAA;EACA,+BAAA;A3DyhMF;;A2DthMA;EAEE,wBAAA;EACA,yBAAA;EACA,gCAAA;A3DwhMF;;A2D/gMA;EACE;IACE,mBAAA;E3DkhMF;E2DhhMA;IACE,UAAA;IACA,eAAA;E3DkhMF;AACF;A2D9gMA;EAEE,wBAAA;EACA,yBAAA;EACA,qCAAA;EACA,mCAAA;EACA,yCAAA;EAGA,8BAAA;EACA,UAAA;A3D6gMF;;A2D1gMA;EACE,wBAAA;EACA,yBAAA;A3D6gMF;;A2DzgME;EACE;;IAEE,kCAAA;E3D4gMJ;AACF;A4D5lMA;EAEE,2BAAA;EACA,2BAAA;EACA,2BAAA;EACA,8BAAA;EACA,8BAAA;EACA,0CAAA;EACA,oCAAA;EACA,mDAAA;EACA,+DAAA;EACA,kEAAA;EACA,qDAAA;EACA,qCAAA;A5D6lMF;;AiBhiMI;E2C5CF;IAEI,eAAA;IACA,SAAA;IACA,mCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,gCAAA;IACA,kBAAA;IACA,wCAAA;IACA,4BAAA;IACA,UAAA;InC5BA,0CmC8BA;E5D8kMJ;AACF;AyBzmMM;EmCYJ;InCXM,gBAAA;EzB4mMN;AACF;AiBtjMI;E2C5BE;IACE,MAAA;IACA,OAAA;IACA,gCAAA;IACA,qFAAA;IACA,4BAAA;E5DqlMN;E4DllMI;IACE,MAAA;IACA,QAAA;IACA,gCAAA;IACA,oFAAA;IACA,2BAAA;E5DolMN;E4DjlMI;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,sFAAA;IACA,4BAAA;E5DmlMN;E4DhlMI;IACE,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,mFAAA;IACA,2BAAA;E5DklMN;E4D/kMI;IAEE,eAAA;E5DglMN;E4D7kMI;IAGE,mBAAA;E5D6kMN;AACF;AiB1mMI;E2C/BF;IAiEM,2BAAA;IACA,8BAAA;IACA,wCAAA;E5D4kMN;E4D1kMM;IACE,aAAA;E5D4kMR;E4DzkMM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5D0kMR;AACF;;AiB9mMI;E2C5CF;IAEI,eAAA;IACA,SAAA;IACA,mCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,gCAAA;IACA,kBAAA;IACA,wCAAA;IACA,4BAAA;IACA,UAAA;InC5BA,0CmC8BA;E5D4pMJ;AACF;AyBvrMM;EmCYJ;InCXM,gBAAA;EzB0rMN;AACF;AiBpoMI;E2C5BE;IACE,MAAA;IACA,OAAA;IACA,gCAAA;IACA,qFAAA;IACA,4BAAA;E5DmqMN;E4DhqMI;IACE,MAAA;IACA,QAAA;IACA,gCAAA;IACA,oFAAA;IACA,2BAAA;E5DkqMN;E4D/pMI;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,sFAAA;IACA,4BAAA;E5DiqMN;E4D9pMI;IACE,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,mFAAA;IACA,2BAAA;E5DgqMN;E4D7pMI;IAEE,eAAA;E5D8pMN;E4D3pMI;IAGE,mBAAA;E5D2pMN;AACF;AiBxrMI;E2C/BF;IAiEM,2BAAA;IACA,8BAAA;IACA,wCAAA;E5D0pMN;E4DxpMM;IACE,aAAA;E5D0pMR;E4DvpMM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5DwpMR;AACF;;AiB5rMI;E2C5CF;IAEI,eAAA;IACA,SAAA;IACA,mCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,gCAAA;IACA,kBAAA;IACA,wCAAA;IACA,4BAAA;IACA,UAAA;InC5BA,0CmC8BA;E5D0uMJ;AACF;AyBrwMM;EmCYJ;InCXM,gBAAA;EzBwwMN;AACF;AiBltMI;E2C5BE;IACE,MAAA;IACA,OAAA;IACA,gCAAA;IACA,qFAAA;IACA,4BAAA;E5DivMN;E4D9uMI;IACE,MAAA;IACA,QAAA;IACA,gCAAA;IACA,oFAAA;IACA,2BAAA;E5DgvMN;E4D7uMI;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,sFAAA;IACA,4BAAA;E5D+uMN;E4D5uMI;IACE,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,mFAAA;IACA,2BAAA;E5D8uMN;E4D3uMI;IAEE,eAAA;E5D4uMN;E4DzuMI;IAGE,mBAAA;E5DyuMN;AACF;AiBtwMI;E2C/BF;IAiEM,2BAAA;IACA,8BAAA;IACA,wCAAA;E5DwuMN;E4DtuMM;IACE,aAAA;E5DwuMR;E4DruMM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5DsuMR;AACF;;AiB1wMI;E2C5CF;IAEI,eAAA;IACA,SAAA;IACA,mCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,gCAAA;IACA,kBAAA;IACA,wCAAA;IACA,4BAAA;IACA,UAAA;InC5BA,0CmC8BA;E5DwzMJ;AACF;AyBn1MM;EmCYJ;InCXM,gBAAA;EzBs1MN;AACF;AiBhyMI;E2C5BE;IACE,MAAA;IACA,OAAA;IACA,gCAAA;IACA,qFAAA;IACA,4BAAA;E5D+zMN;E4D5zMI;IACE,MAAA;IACA,QAAA;IACA,gCAAA;IACA,oFAAA;IACA,2BAAA;E5D8zMN;E4D3zMI;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,sFAAA;IACA,4BAAA;E5D6zMN;E4D1zMI;IACE,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,mFAAA;IACA,2BAAA;E5D4zMN;E4DzzMI;IAEE,eAAA;E5D0zMN;E4DvzMI;IAGE,mBAAA;E5DuzMN;AACF;AiBp1MI;E2C/BF;IAiEM,2BAAA;IACA,8BAAA;IACA,wCAAA;E5DszMN;E4DpzMM;IACE,aAAA;E5DszMR;E4DnzMM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5DozMR;AACF;;AiBx1MI;E2C5CF;IAEI,eAAA;IACA,SAAA;IACA,mCAAA;IACA,aAAA;IACA,sBAAA;IACA,eAAA;IACA,gCAAA;IACA,kBAAA;IACA,wCAAA;IACA,4BAAA;IACA,UAAA;InC5BA,0CmC8BA;E5Ds4MJ;AACF;AyBj6MM;EmCYJ;InCXM,gBAAA;EzBo6MN;AACF;AiB92MI;E2C5BE;IACE,MAAA;IACA,OAAA;IACA,gCAAA;IACA,qFAAA;IACA,4BAAA;E5D64MN;E4D14MI;IACE,MAAA;IACA,QAAA;IACA,gCAAA;IACA,oFAAA;IACA,2BAAA;E5D44MN;E4Dz4MI;IACE,MAAA;IACA,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,sFAAA;IACA,4BAAA;E5D24MN;E4Dx4MI;IACE,QAAA;IACA,OAAA;IACA,kCAAA;IACA,gBAAA;IACA,mFAAA;IACA,2BAAA;E5D04MN;E4Dv4MI;IAEE,eAAA;E5Dw4MN;E4Dr4MI;IAGE,mBAAA;E5Dq4MN;AACF;AiBl6MI;E2C/BF;IAiEM,2BAAA;IACA,8BAAA;IACA,wCAAA;E5Do4MN;E4Dl4MM;IACE,aAAA;E5Do4MR;E4Dj4MM;IACE,aAAA;IACA,YAAA;IACA,UAAA;IACA,mBAAA;IAEA,wCAAA;E5Dk4MR;AACF;;A4Dl9ME;EAEI,eAAA;EACA,SAAA;EACA,mCAAA;EACA,aAAA;EACA,sBAAA;EACA,eAAA;EACA,gCAAA;EACA,kBAAA;EACA,wCAAA;EACA,4BAAA;EACA,UAAA;EnC5BA,0CmC8BA;A5Dm9MN;AyB7+MM;EmCYJ;InCXM,gBAAA;EzBg/MN;AACF;A4Dt9MM;EACE,MAAA;EACA,OAAA;EACA,gCAAA;EACA,qFAAA;EACA,4BAAA;A5Dw9MR;A4Dr9MM;EACE,MAAA;EACA,QAAA;EACA,gCAAA;EACA,oFAAA;EACA,2BAAA;A5Du9MR;A4Dp9MM;EACE,MAAA;EACA,QAAA;EACA,OAAA;EACA,kCAAA;EACA,gBAAA;EACA,sFAAA;EACA,4BAAA;A5Ds9MR;A4Dn9MM;EACE,QAAA;EACA,OAAA;EACA,kCAAA;EACA,gBAAA;EACA,mFAAA;EACA,2BAAA;A5Dq9MR;A4Dl9MM;EAEE,eAAA;A5Dm9MR;A4Dh9MM;EAGE,mBAAA;A5Dg9MR;;A4Dr7MA;EPpHE,eAAA;EACA,MAAA;EACA,OAAA;EACA,a9ComCkC;E8CnmClC,YAAA;EACA,aAAA;EACA,sB7CWS;ARkiNX;AqD1iNE;EAAS,UAAA;ArD6iNX;AqD5iNE;EAAS,Y9C09CyB;APqlKpC;;A4Dj8MA;EACE,aAAA;EACA,mBAAA;EACA,8BAAA;EACA,oEAAA;A5Do8MF;A4Dl8ME;EACE,4FAAA;EACA,sDAAA;EACA,wDAAA;EACA,yDAAA;A5Do8MJ;;A4Dh8MA;EACE,gBAAA;EACA,kDAAA;A5Dm8MF;;A4Dh8MA;EACE,YAAA;EACA,oEAAA;EACA,gBAAA;A5Dm8MF;;A6DnlNA;EACE,qBAAA;EACA,eAAA;EACA,sBAAA;EACA,YAAA;EACA,8BAAA;EACA,YtDyyCkC;AP6yKpC;A6DplNE;EACE,qBAAA;EACA,WAAA;A7DslNJ;;A6DjlNA;EACE,iBAAA;A7DolNF;;A6DjlNA;EACE,iBAAA;A7DolNF;;A6DjlNA;EACE,iBAAA;A7DolNF;;A6D/kNE;EACE,mDAAA;A7DklNJ;;A6D9kNA;EACE;IACE,YtD4wCgC;EPq0KlC;AACF;A6D9kNA;EACE,uFAAA;UAAA,+EAAA;EACA,4BAAA;UAAA,oBAAA;EACA,8CAAA;A7DglNF;;A6D7kNA;EACE;IACE,+BAAA;YAAA,uBAAA;E7DglNF;AACF;A0D/nNE;EACE,cAAA;EACA,WAAA;EACA,WAAA;A1DioNJ;;A8DnoNE;EACE,sBAAA;EACA,uEAAA;A9DsoNJ;;A8DxoNE;EACE,sBAAA;EACA,yEAAA;A9D2oNJ;;A8D7oNE;EACE,sBAAA;EACA,wEAAA;A9DgpNJ;;A8DlpNE;EACE,sBAAA;EACA,wEAAA;A9DqpNJ;;A8DvpNE;EACE,sBAAA;EACA,uEAAA;A9D0pNJ;;A8D5pNE;EACE,sBAAA;EACA,uEAAA;A9D+pNJ;;A8DjqNE;EACE,sBAAA;EACA,yEAAA;A9DoqNJ;;A8DtqNE;EACE,sBAAA;EACA,sEAAA;A9DyqNJ;;A+D5qNE;EACE,wEAAA;EACA,kGAAA;A/D+qNJ;A+D5qNM;EAGE,8DAAA;EACA,wFAAA;A/D4qNR;;A+DrrNE;EACE,0EAAA;EACA,oGAAA;A/DwrNJ;A+DrrNM;EAGE,gEAAA;EACA,0FAAA;A/DqrNR;;A+D9rNE;EACE,wEAAA;EACA,kGAAA;A/DisNJ;A+D9rNM;EAGE,8DAAA;EACA,wFAAA;A/D8rNR;;A+DvsNE;EACE,qEAAA;EACA,+FAAA;A/D0sNJ;A+DvsNM;EAGE,+DAAA;EACA,yFAAA;A/DusNR;;A+DhtNE;EACE,wEAAA;EACA,kGAAA;A/DmtNJ;A+DhtNM;EAGE,8DAAA;EACA,wFAAA;A/DgtNR;;A+DztNE;EACE,uEAAA;EACA,iGAAA;A/D4tNJ;A+DztNM;EAGE,8DAAA;EACA,wFAAA;A/DytNR;;A+DluNE;EACE,sEAAA;EACA,gGAAA;A/DquNJ;A+DluNM;EAGE,gEAAA;EACA,0FAAA;A/DkuNR;;A+D3uNE;EACE,qEAAA;EACA,+FAAA;A/D8uNJ;A+D3uNM;EAGE,6DAAA;EACA,uFAAA;A/D2uNR;;A+DpuNA;EACE,+EAAA;EACA,yGAAA;A/DuuNF;A+DpuNI;EAEE,kFAAA;EACA,4GAAA;A/DquNN;;AgE/vNA;EACE,UAAA;EAEA,kJAAA;AhEiwNF;;AiEpwNA;EACE,oBAAA;EACA,a1D6c4B;E0D5c5B,mBAAA;EACA,kFAAA;EACA,6B1D2c4B;E0D1c5B,2BAAA;AjEuwNF;AiErwNE;EACE,cAAA;EACA,U1Duc0B;E0Dtc1B,W1Dsc0B;E0Drc1B,kBAAA;ExCIE,sCwCHF;AjEuwNJ;AyBhwNM;EwCZJ;IxCaM,gBAAA;EzBmwNN;AACF;;AiErwNI;EACE,mEAAA;AjEwwNN;;AkE3xNA;EACE,kBAAA;EACA,WAAA;AlE8xNF;AkE5xNE;EACE,cAAA;EACA,mCAAA;EACA,WAAA;AlE8xNJ;AkE3xNE;EACE,kBAAA;EACA,MAAA;EACA,OAAA;EACA,WAAA;EACA,YAAA;AlE6xNJ;;AkExxNE;EACE,uBAAA;AlE2xNJ;;AkE5xNE;EACE,sBAAA;AlE+xNJ;;AkEhyNE;EACE,yBAAA;AlEmyNJ;;AkEpyNE;EACE,iCAAA;AlEuyNJ;;AmE5zNA;EACE,eAAA;EACA,MAAA;EACA,QAAA;EACA,OAAA;EACA,a5DimCkC;AP8tLpC;;AmE5zNA;EACE,eAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,a5DylCkC;APsuLpC;;AmEvzNI;EACE,gBAAA;EACA,MAAA;EACA,a5D6kC8B;AP6uLpC;;AmEvzNI;EACE,gBAAA;EACA,SAAA;EACA,a5DukC8B;APmvLpC;;AiB3xNI;EkDxCA;IACE,gBAAA;IACA,MAAA;IACA,a5D6kC8B;EP0vLlC;EmEp0NE;IACE,gBAAA;IACA,SAAA;IACA,a5DukC8B;EP+vLlC;AACF;AiBxyNI;EkDxCA;IACE,gBAAA;IACA,MAAA;IACA,a5D6kC8B;EPswLlC;EmEh1NE;IACE,gBAAA;IACA,SAAA;IACA,a5DukC8B;EP2wLlC;AACF;AiBpzNI;EkDxCA;IACE,gBAAA;IACA,MAAA;IACA,a5D6kC8B;EPkxLlC;EmE51NE;IACE,gBAAA;IACA,SAAA;IACA,a5DukC8B;EPuxLlC;AACF;AiBh0NI;EkDxCA;IACE,gBAAA;IACA,MAAA;IACA,a5D6kC8B;EP8xLlC;EmEx2NE;IACE,gBAAA;IACA,SAAA;IACA,a5DukC8B;EPmyLlC;AACF;AiB50NI;EkDxCA;IACE,gBAAA;IACA,MAAA;IACA,a5D6kC8B;EP0yLlC;EmEp3NE;IACE,gBAAA;IACA,SAAA;IACA,a5DukC8B;EP+yLlC;AACF;AoEt5NA;EACE,aAAA;EACA,mBAAA;EACA,mBAAA;EACA,mBAAA;ApEw5NF;;AoEr5NA;EACE,aAAA;EACA,cAAA;EACA,sBAAA;EACA,mBAAA;ApEw5NF;;AqEh6NA;;ECIE,qBAAA;EACA,sBAAA;EACA,qBAAA;EACA,uBAAA;EACA,2BAAA;EACA,iCAAA;EACA,8BAAA;EACA,oBAAA;AtEi6NF;AsE95NE;;EACE,6BAAA;AtEi6NJ;;AuE/6NE;EACE,kBAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,UhEgcsC;EgE/btC,WAAA;AvEk7NJ;;AwE17NA;ECAE,gBAAA;EACA,uBAAA;EACA,mBAAA;AzE87NF;;A0Ep8NA;EACE,qBAAA;EACA,mBAAA;EACA,UAAA;EACA,eAAA;EACA,8BAAA;EACA,anE2rB4B;AP4wM9B;;A2E34NQ;EAOI,mCAAA;A3Ew4NZ;;A2E/4NQ;EAOI,8BAAA;A3E44NZ;;A2En5NQ;EAOI,iCAAA;A3Eg5NZ;;A2Ev5NQ;EAOI,iCAAA;A3Eo5NZ;;A2E35NQ;EAOI,sCAAA;A3Ew5NZ;;A2E/5NQ;EAOI,mCAAA;A3E45NZ;;A2En6NQ;EAOI,sBAAA;A3Eg6NZ;;A2Ev6NQ;EAOI,uBAAA;A3Eo6NZ;;A2E36NQ;EAOI,sBAAA;A3Ew6NZ;;A2E/6NQ;EAOI,iCAAA;KAAA,8BAAA;A3E46NZ;;A2En7NQ;EAOI,+BAAA;KAAA,4BAAA;A3Eg7NZ;;A2Ev7NQ;EAOI,8BAAA;KAAA,2BAAA;A3Eo7NZ;;A2E37NQ;EAOI,oCAAA;KAAA,iCAAA;A3Ew7NZ;;A2E/7NQ;EAOI,8BAAA;KAAA,2BAAA;A3E47NZ;;A2En8NQ;EAOI,qBAAA;A3Eg8NZ;;A2Ev8NQ;EAOI,wBAAA;A3Eo8NZ;;A2E38NQ;EAOI,uBAAA;A3Ew8NZ;;A2E/8NQ;EAOI,wBAAA;A3E48NZ;;A2En9NQ;EAOI,qBAAA;A3Eg9NZ;;A2Ev9NQ;EAOI,yBAAA;A3Eo9NZ;;A2E39NQ;EAOI,2BAAA;A3Ew9NZ;;A2E/9NQ;EAOI,4BAAA;A3E49NZ;;A2En+NQ;EAOI,2BAAA;A3Eg+NZ;;A2Ev+NQ;EAOI,2BAAA;A3Eo+NZ;;A2E3+NQ;EAOI,6BAAA;A3Ew+NZ;;A2E/+NQ;EAOI,8BAAA;A3E4+NZ;;A2En/NQ;EAOI,6BAAA;A3Eg/NZ;;A2Ev/NQ;EAOI,2BAAA;A3Eo/NZ;;A2E3/NQ;EAOI,6BAAA;A3Ew/NZ;;A2E//NQ;EAOI,8BAAA;A3E4/NZ;;A2EngOQ;EAOI,6BAAA;A3EggOZ;;A2EvgOQ;EAOI,0BAAA;A3EogOZ;;A2E3gOQ;EAOI,gCAAA;A3EwgOZ;;A2E/gOQ;EAOI,yBAAA;A3E4gOZ;;A2EnhOQ;EAOI,wBAAA;A3EghOZ;;A2EvhOQ;EAOI,+BAAA;A3EohOZ;;A2E3hOQ;EAOI,yBAAA;A3EwhOZ;;A2E/hOQ;EAOI,6BAAA;A3E4hOZ;;A2EniOQ;EAOI,8BAAA;A3EgiOZ;;A2EviOQ;EAOI,wBAAA;A3EoiOZ;;A2E3iOQ;EAOI,+BAAA;A3EwiOZ;;A2E/iOQ;EAOI,wBAAA;A3E4iOZ;;A2EnjOQ;EAOI,wDAAA;A3EgjOZ;;A2EvjOQ;EAOI,8DAAA;A3EojOZ;;A2E3jOQ;EAOI,uDAAA;A3EwjOZ;;A2E/jOQ;EAOI,2BAAA;A3E4jOZ;;A2E7kOQ;EACE,gFAAA;A3EglOV;;A2EjlOQ;EACE,kFAAA;A3EolOV;;A2ErlOQ;EACE,gFAAA;A3EwlOV;;A2EzlOQ;EACE,6EAAA;A3E4lOV;;A2E7lOQ;EACE,gFAAA;A3EgmOV;;A2EjmOQ;EACE,+EAAA;A3EomOV;;A2ErmOQ;EACE,8EAAA;A3EwmOV;;A2EzmOQ;EACE,6EAAA;A3E4mOV;;A2EnmOQ;EAOI,2BAAA;A3EgmOZ;;A2EvmOQ;EAOI,6BAAA;A3EomOZ;;A2E3mOQ;EAOI,6BAAA;A3EwmOZ;;A2E/mOQ;EAOI,0BAAA;A3E4mOZ;;A2EnnOQ;EAOI,2BAAA;A3EgnOZ;;A2EvnOQ;EAOI,iBAAA;A3EonOZ;;A2E3nOQ;EAOI,mBAAA;A3EwnOZ;;A2E/nOQ;EAOI,oBAAA;A3E4nOZ;;A2EnoOQ;EAOI,oBAAA;A3EgoOZ;;A2EvoOQ;EAOI,sBAAA;A3EooOZ;;A2E3oOQ;EAOI,uBAAA;A3EwoOZ;;A2E/oOQ;EAOI,kBAAA;A3E4oOZ;;A2EnpOQ;EAOI,oBAAA;A3EgpOZ;;A2EvpOQ;EAOI,qBAAA;A3EopOZ;;A2E3pOQ;EAOI,mBAAA;A3EwpOZ;;A2E/pOQ;EAOI,qBAAA;A3E4pOZ;;A2EnqOQ;EAOI,sBAAA;A3EgqOZ;;A2EvqOQ;EAOI,2CAAA;A3EoqOZ;;A2E3qOQ;EAOI,sCAAA;A3EwqOZ;;A2E/qOQ;EAOI,sCAAA;A3E4qOZ;;A2EnrOQ;EAOI,uFAAA;A3EgrOZ;;A2EvrOQ;EAOI,oBAAA;A3EorOZ;;A2E3rOQ;EAOI,2FAAA;A3EwrOZ;;A2E/rOQ;EAOI,wBAAA;A3E4rOZ;;A2EnsOQ;EAOI,6FAAA;A3EgsOZ;;A2EvsOQ;EAOI,0BAAA;A3EosOZ;;A2E3sOQ;EAOI,8FAAA;A3EwsOZ;;A2E/sOQ;EAOI,2BAAA;A3E4sOZ;;A2EntOQ;EAOI,4FAAA;A3EgtOZ;;A2EvtOQ;EAOI,yBAAA;A3EotOZ;;A2E3tOQ;EAIQ,sBAAA;EAGJ,8EAAA;A3EytOZ;;A2EhuOQ;EAIQ,sBAAA;EAGJ,gFAAA;A3E8tOZ;;A2EruOQ;EAIQ,sBAAA;EAGJ,8EAAA;A3EmuOZ;;A2E1uOQ;EAIQ,sBAAA;EAGJ,2EAAA;A3EwuOZ;;A2E/uOQ;EAIQ,sBAAA;EAGJ,8EAAA;A3E6uOZ;;A2EpvOQ;EAIQ,sBAAA;EAGJ,6EAAA;A3EkvOZ;;A2EzvOQ;EAIQ,sBAAA;EAGJ,4EAAA;A3EuvOZ;;A2E9vOQ;EAIQ,sBAAA;EAGJ,2EAAA;A3E4vOZ;;A2EnwOQ;EAIQ,sBAAA;EAGJ,4EAAA;A3EiwOZ;;A2ExwOQ;EAIQ,sBAAA;EAGJ,4EAAA;A3EswOZ;;A2E7wOQ;EAOI,wDAAA;A3E0wOZ;;A2EjxOQ;EAOI,0DAAA;A3E8wOZ;;A2ErxOQ;EAOI,wDAAA;A3EkxOZ;;A2EzxOQ;EAOI,qDAAA;A3EsxOZ;;A2E7xOQ;EAOI,wDAAA;A3E0xOZ;;A2EjyOQ;EAOI,uDAAA;A3E8xOZ;;A2EryOQ;EAOI,sDAAA;A3EkyOZ;;A2EzyOQ;EAOI,qDAAA;A3EsyOZ;;A2E7yOQ;EAOI,4BAAA;A3E0yOZ;;A2EjzOQ;EAOI,4BAAA;A3E8yOZ;;A2ErzOQ;EAOI,4BAAA;A3EkzOZ;;A2EzzOQ;EAOI,4BAAA;A3EszOZ;;A2E7zOQ;EAOI,4BAAA;A3E0zOZ;;A2E30OQ;EACE,wBAAA;A3E80OV;;A2E/0OQ;EACE,yBAAA;A3Ek1OV;;A2En1OQ;EACE,wBAAA;A3Es1OV;;A2Ev1OQ;EACE,yBAAA;A3E01OV;;A2E31OQ;EACE,sBAAA;A3E81OV;;A2Er1OQ;EAOI,qBAAA;A3Ek1OZ;;A2Ez1OQ;EAOI,qBAAA;A3Es1OZ;;A2E71OQ;EAOI,qBAAA;A3E01OZ;;A2Ej2OQ;EAOI,sBAAA;A3E81OZ;;A2Er2OQ;EAOI,sBAAA;A3Ek2OZ;;A2Ez2OQ;EAOI,0BAAA;A3Es2OZ;;A2E72OQ;EAOI,uBAAA;A3E02OZ;;A2Ej3OQ;EAOI,2BAAA;A3E82OZ;;A2Er3OQ;EAOI,sBAAA;A3Ek3OZ;;A2Ez3OQ;EAOI,sBAAA;A3Es3OZ;;A2E73OQ;EAOI,sBAAA;A3E03OZ;;A2Ej4OQ;EAOI,uBAAA;A3E83OZ;;A2Er4OQ;EAOI,uBAAA;A3Ek4OZ;;A2Ez4OQ;EAOI,2BAAA;A3Es4OZ;;A2E74OQ;EAOI,wBAAA;A3E04OZ;;A2Ej5OQ;EAOI,4BAAA;A3E84OZ;;A2Er5OQ;EAOI,yBAAA;A3Ek5OZ;;A2Ez5OQ;EAOI,8BAAA;A3Es5OZ;;A2E75OQ;EAOI,iCAAA;A3E05OZ;;A2Ej6OQ;EAOI,sCAAA;A3E85OZ;;A2Er6OQ;EAOI,yCAAA;A3Ek6OZ;;A2Ez6OQ;EAOI,uBAAA;A3Es6OZ;;A2E76OQ;EAOI,uBAAA;A3E06OZ;;A2Ej7OQ;EAOI,yBAAA;A3E86OZ;;A2Er7OQ;EAOI,yBAAA;A3Ek7OZ;;A2Ez7OQ;EAOI,0BAAA;A3Es7OZ;;A2E77OQ;EAOI,4BAAA;A3E07OZ;;A2Ej8OQ;EAOI,kCAAA;A3E87OZ;;A2Er8OQ;EAOI,sCAAA;A3Ek8OZ;;A2Ez8OQ;EAOI,oCAAA;A3Es8OZ;;A2E78OQ;EAOI,kCAAA;A3E08OZ;;A2Ej9OQ;EAOI,yCAAA;A3E88OZ;;A2Er9OQ;EAOI,wCAAA;A3Ek9OZ;;A2Ez9OQ;EAOI,wCAAA;A3Es9OZ;;A2E79OQ;EAOI,kCAAA;A3E09OZ;;A2Ej+OQ;EAOI,gCAAA;A3E89OZ;;A2Er+OQ;EAOI,8BAAA;A3Ek+OZ;;A2Ez+OQ;EAOI,gCAAA;A3Es+OZ;;A2E7+OQ;EAOI,+BAAA;A3E0+OZ;;A2Ej/OQ;EAOI,oCAAA;A3E8+OZ;;A2Er/OQ;EAOI,kCAAA;A3Ek/OZ;;A2Ez/OQ;EAOI,gCAAA;A3Es/OZ;;A2E7/OQ;EAOI,uCAAA;A3E0/OZ;;A2EjgPQ;EAOI,sCAAA;A3E8/OZ;;A2ErgPQ;EAOI,iCAAA;A3EkgPZ;;A2EzgPQ;EAOI,2BAAA;A3EsgPZ;;A2E7gPQ;EAOI,iCAAA;A3E0gPZ;;A2EjhPQ;EAOI,+BAAA;A3E8gPZ;;A2ErhPQ;EAOI,6BAAA;A3EkhPZ;;A2EzhPQ;EAOI,+BAAA;A3EshPZ;;A2E7hPQ;EAOI,8BAAA;A3E0hPZ;;A2EjiPQ;EAOI,oBAAA;A3E8hPZ;;A2EriPQ;EAOI,mBAAA;A3EkiPZ;;A2EziPQ;EAOI,mBAAA;A3EsiPZ;;A2E7iPQ;EAOI,mBAAA;A3E0iPZ;;A2EjjPQ;EAOI,mBAAA;A3E8iPZ;;A2ErjPQ;EAOI,mBAAA;A3EkjPZ;;A2EzjPQ;EAOI,mBAAA;A3EsjPZ;;A2E7jPQ;EAOI,mBAAA;A3E0jPZ;;A2EjkPQ;EAOI,oBAAA;A3E8jPZ;;A2ErkPQ;EAOI,0BAAA;A3EkkPZ;;A2EzkPQ;EAOI,yBAAA;A3EskPZ;;A2E7kPQ;EAOI,uBAAA;A3E0kPZ;;A2EjlPQ;EAOI,yBAAA;A3E8kPZ;;A2ErlPQ;EAOI,uBAAA;A3EklPZ;;A2EzlPQ;EAOI,uBAAA;A3EslPZ;;A2E7lPQ;EAOI,0BAAA;EAAA,yBAAA;A3E2lPZ;;A2ElmPQ;EAOI,gCAAA;EAAA,+BAAA;A3EgmPZ;;A2EvmPQ;EAOI,+BAAA;EAAA,8BAAA;A3EqmPZ;;A2E5mPQ;EAOI,6BAAA;EAAA,4BAAA;A3E0mPZ;;A2EjnPQ;EAOI,+BAAA;EAAA,8BAAA;A3E+mPZ;;A2EtnPQ;EAOI,6BAAA;EAAA,4BAAA;A3EonPZ;;A2E3nPQ;EAOI,6BAAA;EAAA,4BAAA;A3EynPZ;;A2EhoPQ;EAOI,wBAAA;EAAA,2BAAA;A3E8nPZ;;A2EroPQ;EAOI,8BAAA;EAAA,iCAAA;A3EmoPZ;;A2E1oPQ;EAOI,6BAAA;EAAA,gCAAA;A3EwoPZ;;A2E/oPQ;EAOI,2BAAA;EAAA,8BAAA;A3E6oPZ;;A2EppPQ;EAOI,6BAAA;EAAA,gCAAA;A3EkpPZ;;A2EzpPQ;EAOI,2BAAA;EAAA,8BAAA;A3EupPZ;;A2E9pPQ;EAOI,2BAAA;EAAA,8BAAA;A3E4pPZ;;A2EnqPQ;EAOI,wBAAA;A3EgqPZ;;A2EvqPQ;EAOI,8BAAA;A3EoqPZ;;A2E3qPQ;EAOI,6BAAA;A3EwqPZ;;A2E/qPQ;EAOI,2BAAA;A3E4qPZ;;A2EnrPQ;EAOI,6BAAA;A3EgrPZ;;A2EvrPQ;EAOI,2BAAA;A3EorPZ;;A2E3rPQ;EAOI,2BAAA;A3EwrPZ;;A2E/rPQ;EAOI,0BAAA;A3E4rPZ;;A2EnsPQ;EAOI,gCAAA;A3EgsPZ;;A2EvsPQ;EAOI,+BAAA;A3EosPZ;;A2E3sPQ;EAOI,6BAAA;A3EwsPZ;;A2E/sPQ;EAOI,+BAAA;A3E4sPZ;;A2EntPQ;EAOI,6BAAA;A3EgtPZ;;A2EvtPQ;EAOI,6BAAA;A3EotPZ;;A2E3tPQ;EAOI,2BAAA;A3EwtPZ;;A2E/tPQ;EAOI,iCAAA;A3E4tPZ;;A2EnuPQ;EAOI,gCAAA;A3EguPZ;;A2EvuPQ;EAOI,8BAAA;A3EouPZ;;A2E3uPQ;EAOI,gCAAA;A3EwuPZ;;A2E/uPQ;EAOI,8BAAA;A3E4uPZ;;A2EnvPQ;EAOI,8BAAA;A3EgvPZ;;A2EvvPQ;EAOI,yBAAA;A3EovPZ;;A2E3vPQ;EAOI,+BAAA;A3EwvPZ;;A2E/vPQ;EAOI,8BAAA;A3E4vPZ;;A2EnwPQ;EAOI,4BAAA;A3EgwPZ;;A2EvwPQ;EAOI,8BAAA;A3EowPZ;;A2E3wPQ;EAOI,4BAAA;A3EwwPZ;;A2E/wPQ;EAOI,4BAAA;A3E4wPZ;;A2EnxPQ;EAOI,qBAAA;A3EgxPZ;;A2EvxPQ;EAOI,2BAAA;A3EoxPZ;;A2E3xPQ;EAOI,0BAAA;A3EwxPZ;;A2E/xPQ;EAOI,wBAAA;A3E4xPZ;;A2EnyPQ;EAOI,0BAAA;A3EgyPZ;;A2EvyPQ;EAOI,wBAAA;A3EoyPZ;;A2E3yPQ;EAOI,2BAAA;EAAA,0BAAA;A3EyyPZ;;A2EhzPQ;EAOI,iCAAA;EAAA,gCAAA;A3E8yPZ;;A2ErzPQ;EAOI,gCAAA;EAAA,+BAAA;A3EmzPZ;;A2E1zPQ;EAOI,8BAAA;EAAA,6BAAA;A3EwzPZ;;A2E/zPQ;EAOI,gCAAA;EAAA,+BAAA;A3E6zPZ;;A2Ep0PQ;EAOI,8BAAA;EAAA,6BAAA;A3Ek0PZ;;A2Ez0PQ;EAOI,yBAAA;EAAA,4BAAA;A3Eu0PZ;;A2E90PQ;EAOI,+BAAA;EAAA,kCAAA;A3E40PZ;;A2En1PQ;EAOI,8BAAA;EAAA,iCAAA;A3Ei1PZ;;A2Ex1PQ;EAOI,4BAAA;EAAA,+BAAA;A3Es1PZ;;A2E71PQ;EAOI,8BAAA;EAAA,iCAAA;A3E21PZ;;A2El2PQ;EAOI,4BAAA;EAAA,+BAAA;A3Eg2PZ;;A2Ev2PQ;EAOI,yBAAA;A3Eo2PZ;;A2E32PQ;EAOI,+BAAA;A3Ew2PZ;;A2E/2PQ;EAOI,8BAAA;A3E42PZ;;A2En3PQ;EAOI,4BAAA;A3Eg3PZ;;A2Ev3PQ;EAOI,8BAAA;A3Eo3PZ;;A2E33PQ;EAOI,4BAAA;A3Ew3PZ;;A2E/3PQ;EAOI,2BAAA;A3E43PZ;;A2En4PQ;EAOI,iCAAA;A3Eg4PZ;;A2Ev4PQ;EAOI,gCAAA;A3Eo4PZ;;A2E34PQ;EAOI,8BAAA;A3Ew4PZ;;A2E/4PQ;EAOI,gCAAA;A3E44PZ;;A2En5PQ;EAOI,8BAAA;A3Eg5PZ;;A2Ev5PQ;EAOI,4BAAA;A3Eo5PZ;;A2E35PQ;EAOI,kCAAA;A3Ew5PZ;;A2E/5PQ;EAOI,iCAAA;A3E45PZ;;A2En6PQ;EAOI,+BAAA;A3Eg6PZ;;A2Ev6PQ;EAOI,iCAAA;A3Eo6PZ;;A2E36PQ;EAOI,+BAAA;A3Ew6PZ;;A2E/6PQ;EAOI,0BAAA;A3E46PZ;;A2En7PQ;EAOI,gCAAA;A3Eg7PZ;;A2Ev7PQ;EAOI,+BAAA;A3Eo7PZ;;A2E37PQ;EAOI,6BAAA;A3Ew7PZ;;A2E/7PQ;EAOI,+BAAA;A3E47PZ;;A2En8PQ;EAOI,6BAAA;A3Eg8PZ;;A2Ev8PQ;EAOI,iBAAA;A3Eo8PZ;;A2E38PQ;EAOI,uBAAA;A3Ew8PZ;;A2E/8PQ;EAOI,sBAAA;A3E48PZ;;A2En9PQ;EAOI,oBAAA;A3Eg9PZ;;A2Ev9PQ;EAOI,sBAAA;A3Eo9PZ;;A2E39PQ;EAOI,oBAAA;A3Ew9PZ;;A2E/9PQ;EAOI,qBAAA;A3E49PZ;;A2En+PQ;EAOI,2BAAA;A3Eg+PZ;;A2Ev+PQ;EAOI,0BAAA;A3Eo+PZ;;A2E3+PQ;EAOI,wBAAA;A3Ew+PZ;;A2E/+PQ;EAOI,0BAAA;A3E4+PZ;;A2En/PQ;EAOI,wBAAA;A3Eg/PZ;;A2Ev/PQ;EAOI,6BAAA;OAAA,wBAAA;A3Eo/PZ;;A2E3/PQ;EAOI,mCAAA;OAAA,8BAAA;A3Ew/PZ;;A2E//PQ;EAOI,kCAAA;OAAA,6BAAA;A3E4/PZ;;A2EngQQ;EAOI,gCAAA;OAAA,2BAAA;A3EggQZ;;A2EvgQQ;EAOI,kCAAA;OAAA,6BAAA;A3EogQZ;;A2E3gQQ;EAOI,gCAAA;OAAA,2BAAA;A3EwgQZ;;A2E/gQQ;EAOI,gDAAA;A3E4gQZ;;A2EnhQQ;EAOI,4CAAA;A3EghQZ;;A2EvhQQ;EAOI,4CAAA;A3EohQZ;;A2E3hQQ;EAOI,0CAAA;A3EwhQZ;;A2E/hQQ;EAOI,4CAAA;A3E4hQZ;;A2EniQQ;EAOI,6BAAA;A3EgiQZ;;A2EviQQ;EAOI,0BAAA;A3EoiQZ;;A2E3iQQ;EAOI,6BAAA;A3EwiQZ;;A2E/iQQ;EAOI,6BAAA;A3E4iQZ;;A2EnjQQ;EAOI,+BAAA;A3EgjQZ;;A2EvjQQ;EAOI,2BAAA;A3EojQZ;;A2E3jQQ;EAOI,2BAAA;A3EwjQZ;;A2E/jQQ;EAOI,2BAAA;A3E4jQZ;;A2EnkQQ;EAOI,2BAAA;A3EgkQZ;;A2EvkQQ;EAOI,2BAAA;A3EokQZ;;A2E3kQQ;EAOI,8BAAA;A3EwkQZ;;A2E/kQQ;EAOI,yBAAA;A3E4kQZ;;A2EnlQQ;EAOI,4BAAA;A3EglQZ;;A2EvlQQ;EAOI,2BAAA;A3EolQZ;;A2E3lQQ;EAOI,yBAAA;A3EwlQZ;;A2E/lQQ;EAOI,2BAAA;A3E4lQZ;;A2EnmQQ;EAOI,4BAAA;A3EgmQZ;;A2EvmQQ;EAOI,6BAAA;A3EomQZ;;A2E3mQQ;EAOI,gCAAA;A3EwmQZ;;A2E/mQQ;EAOI,qCAAA;A3E4mQZ;;A2EnnQQ;EAOI,wCAAA;A3EgnQZ;;A2EvnQQ;EAOI,oCAAA;A3EonQZ;;A2E3nQQ;EAOI,oCAAA;A3EwnQZ;;A2E/nQQ;EAOI,qCAAA;A3E4nQZ;;A2EnoQQ;EAOI,8BAAA;A3EgoQZ;;A2EvoQQ;EAOI,8BAAA;A3EooQZ;;A2EzpQQ,qBAAA;AAcA;EAOI,gCAAA;EAAA,iCAAA;A3E0oQZ;;A2EvnQQ,mBAAA;AA1BA;EAIQ,oBAAA;EAGJ,qEAAA;A3EgpQZ;;A2EvpQQ;EAIQ,oBAAA;EAGJ,uEAAA;A3EqpQZ;;A2E5pQQ;EAIQ,oBAAA;EAGJ,qEAAA;A3E0pQZ;;A2EjqQQ;EAIQ,oBAAA;EAGJ,kEAAA;A3E+pQZ;;A2EtqQQ;EAIQ,oBAAA;EAGJ,qEAAA;A3EoqQZ;;A2E3qQQ;EAIQ,oBAAA;EAGJ,oEAAA;A3EyqQZ;;A2EhrQQ;EAIQ,oBAAA;EAGJ,mEAAA;A3E8qQZ;;A2ErrQQ;EAIQ,oBAAA;EAGJ,kEAAA;A3EmrQZ;;A2E1rQQ;EAIQ,oBAAA;EAGJ,mEAAA;A3EwrQZ;;A2E/rQQ;EAIQ,oBAAA;EAGJ,mEAAA;A3E6rQZ;;A2EpsQQ;EAIQ,oBAAA;EAGJ,wEAAA;A3EksQZ;;A2EzsQQ;EAIQ,oBAAA;EAGJ,2CAAA;A3EusQZ;;A2E9sQQ;EAIQ,oBAAA;EAGJ,oCAAA;A3E4sQZ;;A2EntQQ;EAIQ,oBAAA;EAGJ,0CAAA;A3EitQZ;;A2ExtQQ;EAIQ,oBAAA;EAGJ,2CAAA;A3EstQZ;;A2E7tQQ;EAIQ,oBAAA;EAGJ,0CAAA;A3E2tQZ;;A2EluQQ;EAIQ,oBAAA;EAGJ,0CAAA;A3EguQZ;;A2EvuQQ;EAIQ,oBAAA;EAGJ,yBAAA;A3EquQZ;;A2EtvQQ;EACE,uBAAA;A3EyvQV;;A2E1vQQ;EACE,sBAAA;A3E6vQV;;A2E9vQQ;EACE,uBAAA;A3EiwQV;;A2ElwQQ;EACE,oBAAA;A3EqwQV;;A2E5vQQ;EAOI,iDAAA;A3EyvQZ;;A2EhwQQ;EAOI,mDAAA;A3E6vQZ;;A2EpwQQ;EAOI,iDAAA;A3EiwQZ;;A2ExwQQ;EAOI,8CAAA;A3EqwQZ;;A2E5wQQ;EAOI,iDAAA;A3EywQZ;;A2EhxQQ;EAOI,gDAAA;A3E6wQZ;;A2EpxQQ;EAOI,+CAAA;A3EixQZ;;A2ExxQQ;EAOI,8CAAA;A3EqxQZ;;A2EtyQQ;EACE,sBAAA;A3EyyQV;;A2EryQU;EACE,sBAAA;A3EwyQZ;;A2E9yQQ;EACE,uBAAA;A3EizQV;;A2E7yQU;EACE,uBAAA;A3EgzQZ;;A2EtzQQ;EACE,sBAAA;A3EyzQV;;A2ErzQU;EACE,sBAAA;A3EwzQZ;;A2E9zQQ;EACE,uBAAA;A3Ei0QV;;A2E7zQU;EACE,uBAAA;A3Eg0QZ;;A2Et0QQ;EACE,oBAAA;A3Ey0QV;;A2Er0QU;EACE,oBAAA;A3Ew0QZ;;A2Ep0QQ;EAOI,yCAAA;A3Ei0QZ;;A2E5zQU;EAOI,yCAAA;A3EyzQd;;A2E50QQ;EAOI,wCAAA;A3Ey0QZ;;A2Ep0QU;EAOI,wCAAA;A3Ei0Qd;;A2Ep1QQ;EAOI,yCAAA;A3Ei1QZ;;A2E50QU;EAOI,yCAAA;A3Ey0Qd;;A2E51QQ;EAIQ,8BAAA;EAGJ,+FAAA;A3E01QZ;;A2Ej2QQ;EAIQ,8BAAA;EAGJ,iGAAA;A3E+1QZ;;A2Et2QQ;EAIQ,8BAAA;EAGJ,+FAAA;A3Eo2QZ;;A2E32QQ;EAIQ,8BAAA;EAGJ,4FAAA;A3Ey2QZ;;A2Eh3QQ;EAIQ,8BAAA;EAGJ,+FAAA;A3E82QZ;;A2Er3QQ;EAIQ,8BAAA;EAGJ,8FAAA;A3Em3QZ;;A2E13QQ;EAIQ,8BAAA;EAGJ,6FAAA;A3Ew3QZ;;A2E/3QQ;EAIQ,8BAAA;EAGJ,4FAAA;A3E63QZ;;A2Ep4QQ;EAIQ,8BAAA;EAGJ,qGAAA;A3Ek4QZ;;A2En5QQ;EACE,8BAAA;A3Es5QV;;A2El5QU;EACE,8BAAA;A3Eq5QZ;;A2E35QQ;EACE,gCAAA;A3E85QV;;A2E15QU;EACE,gCAAA;A3E65QZ;;A2En6QQ;EACE,iCAAA;A3Es6QV;;A2El6QU;EACE,iCAAA;A3Eq6QZ;;A2E36QQ;EACE,gCAAA;A3E86QV;;A2E16QU;EACE,gCAAA;A3E66QZ;;A2En7QQ;EACE,iCAAA;A3Es7QV;;A2El7QU;EACE,iCAAA;A3Eq7QZ;;A2E37QQ;EACE,8BAAA;A3E87QV;;A2E17QU;EACE,8BAAA;A3E67QZ;;A2Ez7QQ;EAIQ,kBAAA;EAGJ,8EAAA;A3Eu7QZ;;A2E97QQ;EAIQ,kBAAA;EAGJ,gFAAA;A3E47QZ;;A2En8QQ;EAIQ,kBAAA;EAGJ,8EAAA;A3Ei8QZ;;A2Ex8QQ;EAIQ,kBAAA;EAGJ,2EAAA;A3Es8QZ;;A2E78QQ;EAIQ,kBAAA;EAGJ,8EAAA;A3E28QZ;;A2El9QQ;EAIQ,kBAAA;EAGJ,6EAAA;A3Eg9QZ;;A2Ev9QQ;EAIQ,kBAAA;EAGJ,4EAAA;A3Eq9QZ;;A2E59QQ;EAIQ,kBAAA;EAGJ,2EAAA;A3E09QZ;;A2Ej+QQ;EAIQ,kBAAA;EAGJ,4EAAA;A3E+9QZ;;A2Et+QQ;EAIQ,kBAAA;EAGJ,4EAAA;A3Eo+QZ;;A2E3+QQ;EAIQ,kBAAA;EAGJ,8EAAA;A3Ey+QZ;;A2Eh/QQ;EAIQ,kBAAA;EAGJ,wCAAA;A3E8+QZ;;A2Er/QQ;EAIQ,kBAAA;EAGJ,mFAAA;A3Em/QZ;;A2E1/QQ;EAIQ,kBAAA;EAGJ,kFAAA;A3Ew/QZ;;A2EzgRQ;EACE,oBAAA;A3E4gRV;;A2E7gRQ;EACE,qBAAA;A3EghRV;;A2EjhRQ;EACE,oBAAA;A3EohRV;;A2ErhRQ;EACE,qBAAA;A3EwhRV;;A2EzhRQ;EACE,kBAAA;A3E4hRV;;A2EnhRQ;EAOI,wDAAA;A3EghRZ;;A2EvhRQ;EAOI,0DAAA;A3EohRZ;;A2E3hRQ;EAOI,wDAAA;A3EwhRZ;;A2E/hRQ;EAOI,qDAAA;A3E4hRZ;;A2EniRQ;EAOI,wDAAA;A3EgiRZ;;A2EviRQ;EAOI,uDAAA;A3EoiRZ;;A2E3iRQ;EAOI,sDAAA;A3EwiRZ;;A2E/iRQ;EAOI,qDAAA;A3E4iRZ;;A2EnjRQ;EAOI,+CAAA;A3EgjRZ;;A2EvjRQ;EAOI,mCAAA;KAAA,gCAAA;UAAA,2BAAA;A3EojRZ;;A2E3jRQ;EAOI,oCAAA;KAAA,iCAAA;UAAA,4BAAA;A3EwjRZ;;A2E/jRQ;EAOI,oCAAA;KAAA,iCAAA;UAAA,4BAAA;A3E4jRZ;;A2EnkRQ;EAOI,+BAAA;A3EgkRZ;;A2EvkRQ;EAOI,+BAAA;A3EokRZ;;A2E3kRQ;EAOI,iDAAA;A3EwkRZ;;A2E/kRQ;EAOI,2BAAA;A3E4kRZ;;A2EnlRQ;EAOI,oDAAA;A3EglRZ;;A2EvlRQ;EAOI,iDAAA;A3EolRZ;;A2E3lRQ;EAOI,oDAAA;A3EwlRZ;;A2E/lRQ;EAOI,oDAAA;A3E4lRZ;;A2EnmRQ;EAOI,qDAAA;A3EgmRZ;;A2EvmRQ;EAOI,6BAAA;A3EomRZ;;A2E3mRQ;EAOI,sDAAA;A3EwmRZ;;A2E/mRQ;EAOI,0DAAA;EAAA,2DAAA;A3E6mRZ;;A2EpnRQ;EAOI,oCAAA;EAAA,qCAAA;A3EknRZ;;A2EznRQ;EAOI,6DAAA;EAAA,8DAAA;A3EunRZ;;A2E9nRQ;EAOI,0DAAA;EAAA,2DAAA;A3E4nRZ;;A2EnoRQ;EAOI,6DAAA;EAAA,8DAAA;A3EioRZ;;A2ExoRQ;EAOI,6DAAA;EAAA,8DAAA;A3EsoRZ;;A2E7oRQ;EAOI,8DAAA;EAAA,+DAAA;A3E2oRZ;;A2ElpRQ;EAOI,sCAAA;EAAA,uCAAA;A3EgpRZ;;A2EvpRQ;EAOI,+DAAA;EAAA,gEAAA;A3EqpRZ;;A2E5pRQ;EAOI,2DAAA;EAAA,8DAAA;A3E0pRZ;;A2EjqRQ;EAOI,qCAAA;EAAA,wCAAA;A3E+pRZ;;A2EtqRQ;EAOI,8DAAA;EAAA,iEAAA;A3EoqRZ;;A2E3qRQ;EAOI,2DAAA;EAAA,8DAAA;A3EyqRZ;;A2EhrRQ;EAOI,8DAAA;EAAA,iEAAA;A3E8qRZ;;A2ErrRQ;EAOI,8DAAA;EAAA,iEAAA;A3EmrRZ;;A2E1rRQ;EAOI,+DAAA;EAAA,kEAAA;A3EwrRZ;;A2E/rRQ;EAOI,uCAAA;EAAA,0CAAA;A3E6rRZ;;A2EpsRQ;EAOI,gEAAA;EAAA,mEAAA;A3EksRZ;;A2EzsRQ;EAOI,8DAAA;EAAA,6DAAA;A3EusRZ;;A2E9sRQ;EAOI,wCAAA;EAAA,uCAAA;A3E4sRZ;;A2EntRQ;EAOI,iEAAA;EAAA,gEAAA;A3EitRZ;;A2ExtRQ;EAOI,8DAAA;EAAA,6DAAA;A3EstRZ;;A2E7tRQ;EAOI,iEAAA;EAAA,gEAAA;A3E2tRZ;;A2EluRQ;EAOI,iEAAA;EAAA,gEAAA;A3EguRZ;;A2EvuRQ;EAOI,kEAAA;EAAA,iEAAA;A3EquRZ;;A2E5uRQ;EAOI,0CAAA;EAAA,yCAAA;A3E0uRZ;;A2EjvRQ;EAOI,mEAAA;EAAA,kEAAA;A3E+uRZ;;A2EtvRQ;EAOI,6DAAA;EAAA,0DAAA;A3EovRZ;;A2E3vRQ;EAOI,uCAAA;EAAA,oCAAA;A3EyvRZ;;A2EhwRQ;EAOI,gEAAA;EAAA,6DAAA;A3E8vRZ;;A2ErwRQ;EAOI,6DAAA;EAAA,0DAAA;A3EmwRZ;;A2E1wRQ;EAOI,gEAAA;EAAA,6DAAA;A3EwwRZ;;A2E/wRQ;EAOI,gEAAA;EAAA,6DAAA;A3E6wRZ;;A2EpxRQ;EAOI,iEAAA;EAAA,8DAAA;A3EkxRZ;;A2EzxRQ;EAOI,yCAAA;EAAA,sCAAA;A3EuxRZ;;A2E9xRQ;EAOI,kEAAA;EAAA,+DAAA;A3E4xRZ;;A2EnyRQ;EAOI,8BAAA;A3EgyRZ;;A2EvyRQ;EAOI,6BAAA;A3EoyRZ;;A2E3yRQ;EAOI,sBAAA;A3EwyRZ;;A2E/yRQ;EAOI,qBAAA;A3E4yRZ;;A2EnzRQ;EAOI,qBAAA;A3EgzRZ;;A2EvzRQ;EAOI,qBAAA;A3EozRZ;;A2E3zRQ;EAOI,qBAAA;A3EwzRZ;;AiBl0RI;E0DGI;IAOI,sBAAA;E3E6zRV;E2Ep0RM;IAOI,uBAAA;E3Eg0RV;E2Ev0RM;IAOI,sBAAA;E3Em0RV;E2E10RM;IAOI,iCAAA;OAAA,8BAAA;E3Es0RV;E2E70RM;IAOI,+BAAA;OAAA,4BAAA;E3Ey0RV;E2Eh1RM;IAOI,8BAAA;OAAA,2BAAA;E3E40RV;E2En1RM;IAOI,oCAAA;OAAA,iCAAA;E3E+0RV;E2Et1RM;IAOI,8BAAA;OAAA,2BAAA;E3Ek1RV;E2Ez1RM;IAOI,0BAAA;E3Eq1RV;E2E51RM;IAOI,gCAAA;E3Ew1RV;E2E/1RM;IAOI,yBAAA;E3E21RV;E2El2RM;IAOI,wBAAA;E3E81RV;E2Er2RM;IAOI,+BAAA;E3Ei2RV;E2Ex2RM;IAOI,yBAAA;E3Eo2RV;E2E32RM;IAOI,6BAAA;E3Eu2RV;E2E92RM;IAOI,8BAAA;E3E02RV;E2Ej3RM;IAOI,wBAAA;E3E62RV;E2Ep3RM;IAOI,+BAAA;E3Eg3RV;E2Ev3RM;IAOI,wBAAA;E3Em3RV;E2E13RM;IAOI,yBAAA;E3Es3RV;E2E73RM;IAOI,8BAAA;E3Ey3RV;E2Eh4RM;IAOI,iCAAA;E3E43RV;E2En4RM;IAOI,sCAAA;E3E+3RV;E2Et4RM;IAOI,yCAAA;E3Ek4RV;E2Ez4RM;IAOI,uBAAA;E3Eq4RV;E2E54RM;IAOI,uBAAA;E3Ew4RV;E2E/4RM;IAOI,yBAAA;E3E24RV;E2El5RM;IAOI,yBAAA;E3E84RV;E2Er5RM;IAOI,0BAAA;E3Ei5RV;E2Ex5RM;IAOI,4BAAA;E3Eo5RV;E2E35RM;IAOI,kCAAA;E3Eu5RV;E2E95RM;IAOI,sCAAA;E3E05RV;E2Ej6RM;IAOI,oCAAA;E3E65RV;E2Ep6RM;IAOI,kCAAA;E3Eg6RV;E2Ev6RM;IAOI,yCAAA;E3Em6RV;E2E16RM;IAOI,wCAAA;E3Es6RV;E2E76RM;IAOI,wCAAA;E3Ey6RV;E2Eh7RM;IAOI,kCAAA;E3E46RV;E2En7RM;IAOI,gCAAA;E3E+6RV;E2Et7RM;IAOI,8BAAA;E3Ek7RV;E2Ez7RM;IAOI,gCAAA;E3Eq7RV;E2E57RM;IAOI,+BAAA;E3Ew7RV;E2E/7RM;IAOI,oCAAA;E3E27RV;E2El8RM;IAOI,kCAAA;E3E87RV;E2Er8RM;IAOI,gCAAA;E3Ei8RV;E2Ex8RM;IAOI,uCAAA;E3Eo8RV;E2E38RM;IAOI,sCAAA;E3Eu8RV;E2E98RM;IAOI,iCAAA;E3E08RV;E2Ej9RM;IAOI,2BAAA;E3E68RV;E2Ep9RM;IAOI,iCAAA;E3Eg9RV;E2Ev9RM;IAOI,+BAAA;E3Em9RV;E2E19RM;IAOI,6BAAA;E3Es9RV;E2E79RM;IAOI,+BAAA;E3Ey9RV;E2Eh+RM;IAOI,8BAAA;E3E49RV;E2En+RM;IAOI,oBAAA;E3E+9RV;E2Et+RM;IAOI,mBAAA;E3Ek+RV;E2Ez+RM;IAOI,mBAAA;E3Eq+RV;E2E5+RM;IAOI,mBAAA;E3Ew+RV;E2E/+RM;IAOI,mBAAA;E3E2+RV;E2El/RM;IAOI,mBAAA;E3E8+RV;E2Er/RM;IAOI,mBAAA;E3Ei/RV;E2Ex/RM;IAOI,mBAAA;E3Eo/RV;E2E3/RM;IAOI,oBAAA;E3Eu/RV;E2E9/RM;IAOI,0BAAA;E3E0/RV;E2EjgSM;IAOI,yBAAA;E3E6/RV;E2EpgSM;IAOI,uBAAA;E3EggSV;E2EvgSM;IAOI,yBAAA;E3EmgSV;E2E1gSM;IAOI,uBAAA;E3EsgSV;E2E7gSM;IAOI,uBAAA;E3EygSV;E2EhhSM;IAOI,0BAAA;IAAA,yBAAA;E3E6gSV;E2EphSM;IAOI,gCAAA;IAAA,+BAAA;E3EihSV;E2ExhSM;IAOI,+BAAA;IAAA,8BAAA;E3EqhSV;E2E5hSM;IAOI,6BAAA;IAAA,4BAAA;E3EyhSV;E2EhiSM;IAOI,+BAAA;IAAA,8BAAA;E3E6hSV;E2EpiSM;IAOI,6BAAA;IAAA,4BAAA;E3EiiSV;E2ExiSM;IAOI,6BAAA;IAAA,4BAAA;E3EqiSV;E2E5iSM;IAOI,wBAAA;IAAA,2BAAA;E3EyiSV;E2EhjSM;IAOI,8BAAA;IAAA,iCAAA;E3E6iSV;E2EpjSM;IAOI,6BAAA;IAAA,gCAAA;E3EijSV;E2ExjSM;IAOI,2BAAA;IAAA,8BAAA;E3EqjSV;E2E5jSM;IAOI,6BAAA;IAAA,gCAAA;E3EyjSV;E2EhkSM;IAOI,2BAAA;IAAA,8BAAA;E3E6jSV;E2EpkSM;IAOI,2BAAA;IAAA,8BAAA;E3EikSV;E2ExkSM;IAOI,wBAAA;E3EokSV;E2E3kSM;IAOI,8BAAA;E3EukSV;E2E9kSM;IAOI,6BAAA;E3E0kSV;E2EjlSM;IAOI,2BAAA;E3E6kSV;E2EplSM;IAOI,6BAAA;E3EglSV;E2EvlSM;IAOI,2BAAA;E3EmlSV;E2E1lSM;IAOI,2BAAA;E3EslSV;E2E7lSM;IAOI,0BAAA;E3EylSV;E2EhmSM;IAOI,gCAAA;E3E4lSV;E2EnmSM;IAOI,+BAAA;E3E+lSV;E2EtmSM;IAOI,6BAAA;E3EkmSV;E2EzmSM;IAOI,+BAAA;E3EqmSV;E2E5mSM;IAOI,6BAAA;E3EwmSV;E2E/mSM;IAOI,6BAAA;E3E2mSV;E2ElnSM;IAOI,2BAAA;E3E8mSV;E2ErnSM;IAOI,iCAAA;E3EinSV;E2ExnSM;IAOI,gCAAA;E3EonSV;E2E3nSM;IAOI,8BAAA;E3EunSV;E2E9nSM;IAOI,gCAAA;E3E0nSV;E2EjoSM;IAOI,8BAAA;E3E6nSV;E2EpoSM;IAOI,8BAAA;E3EgoSV;E2EvoSM;IAOI,yBAAA;E3EmoSV;E2E1oSM;IAOI,+BAAA;E3EsoSV;E2E7oSM;IAOI,8BAAA;E3EyoSV;E2EhpSM;IAOI,4BAAA;E3E4oSV;E2EnpSM;IAOI,8BAAA;E3E+oSV;E2EtpSM;IAOI,4BAAA;E3EkpSV;E2EzpSM;IAOI,4BAAA;E3EqpSV;E2E5pSM;IAOI,qBAAA;E3EwpSV;E2E/pSM;IAOI,2BAAA;E3E2pSV;E2ElqSM;IAOI,0BAAA;E3E8pSV;E2ErqSM;IAOI,wBAAA;E3EiqSV;E2ExqSM;IAOI,0BAAA;E3EoqSV;E2E3qSM;IAOI,wBAAA;E3EuqSV;E2E9qSM;IAOI,2BAAA;IAAA,0BAAA;E3E2qSV;E2ElrSM;IAOI,iCAAA;IAAA,gCAAA;E3E+qSV;E2EtrSM;IAOI,gCAAA;IAAA,+BAAA;E3EmrSV;E2E1rSM;IAOI,8BAAA;IAAA,6BAAA;E3EurSV;E2E9rSM;IAOI,gCAAA;IAAA,+BAAA;E3E2rSV;E2ElsSM;IAOI,8BAAA;IAAA,6BAAA;E3E+rSV;E2EtsSM;IAOI,yBAAA;IAAA,4BAAA;E3EmsSV;E2E1sSM;IAOI,+BAAA;IAAA,kCAAA;E3EusSV;E2E9sSM;IAOI,8BAAA;IAAA,iCAAA;E3E2sSV;E2EltSM;IAOI,4BAAA;IAAA,+BAAA;E3E+sSV;E2EttSM;IAOI,8BAAA;IAAA,iCAAA;E3EmtSV;E2E1tSM;IAOI,4BAAA;IAAA,+BAAA;E3EutSV;E2E9tSM;IAOI,yBAAA;E3E0tSV;E2EjuSM;IAOI,+BAAA;E3E6tSV;E2EpuSM;IAOI,8BAAA;E3EguSV;E2EvuSM;IAOI,4BAAA;E3EmuSV;E2E1uSM;IAOI,8BAAA;E3EsuSV;E2E7uSM;IAOI,4BAAA;E3EyuSV;E2EhvSM;IAOI,2BAAA;E3E4uSV;E2EnvSM;IAOI,iCAAA;E3E+uSV;E2EtvSM;IAOI,gCAAA;E3EkvSV;E2EzvSM;IAOI,8BAAA;E3EqvSV;E2E5vSM;IAOI,gCAAA;E3EwvSV;E2E/vSM;IAOI,8BAAA;E3E2vSV;E2ElwSM;IAOI,4BAAA;E3E8vSV;E2ErwSM;IAOI,kCAAA;E3EiwSV;E2ExwSM;IAOI,iCAAA;E3EowSV;E2E3wSM;IAOI,+BAAA;E3EuwSV;E2E9wSM;IAOI,iCAAA;E3E0wSV;E2EjxSM;IAOI,+BAAA;E3E6wSV;E2EpxSM;IAOI,0BAAA;E3EgxSV;E2EvxSM;IAOI,gCAAA;E3EmxSV;E2E1xSM;IAOI,+BAAA;E3EsxSV;E2E7xSM;IAOI,6BAAA;E3EyxSV;E2EhySM;IAOI,+BAAA;E3E4xSV;E2EnySM;IAOI,6BAAA;E3E+xSV;E2EtySM;IAOI,iBAAA;E3EkySV;E2EzySM;IAOI,uBAAA;E3EqySV;E2E5ySM;IAOI,sBAAA;E3EwySV;E2E/ySM;IAOI,oBAAA;E3E2ySV;E2ElzSM;IAOI,sBAAA;E3E8ySV;E2ErzSM;IAOI,oBAAA;E3EizSV;E2ExzSM;IAOI,qBAAA;E3EozSV;E2E3zSM;IAOI,2BAAA;E3EuzSV;E2E9zSM;IAOI,0BAAA;E3E0zSV;E2Ej0SM;IAOI,wBAAA;E3E6zSV;E2Ep0SM;IAOI,0BAAA;E3Eg0SV;E2Ev0SM;IAOI,wBAAA;E3Em0SV;E2E10SM;IAOI,6BAAA;SAAA,wBAAA;E3Es0SV;E2E70SM;IAOI,mCAAA;SAAA,8BAAA;E3Ey0SV;E2Eh1SM;IAOI,kCAAA;SAAA,6BAAA;E3E40SV;E2En1SM;IAOI,gCAAA;SAAA,2BAAA;E3E+0SV;E2Et1SM;IAOI,kCAAA;SAAA,6BAAA;E3Ek1SV;E2Ez1SM;IAOI,gCAAA;SAAA,2BAAA;E3Eq1SV;E2E51SM;IAOI,2BAAA;E3Ew1SV;E2E/1SM;IAOI,4BAAA;E3E21SV;E2El2SM;IAOI,6BAAA;E3E81SV;AACF;AiBz2SI;E0DGI;IAOI,sBAAA;E3Em2SV;E2E12SM;IAOI,uBAAA;E3Es2SV;E2E72SM;IAOI,sBAAA;E3Ey2SV;E2Eh3SM;IAOI,iCAAA;OAAA,8BAAA;E3E42SV;E2En3SM;IAOI,+BAAA;OAAA,4BAAA;E3E+2SV;E2Et3SM;IAOI,8BAAA;OAAA,2BAAA;E3Ek3SV;E2Ez3SM;IAOI,oCAAA;OAAA,iCAAA;E3Eq3SV;E2E53SM;IAOI,8BAAA;OAAA,2BAAA;E3Ew3SV;E2E/3SM;IAOI,0BAAA;E3E23SV;E2El4SM;IAOI,gCAAA;E3E83SV;E2Er4SM;IAOI,yBAAA;E3Ei4SV;E2Ex4SM;IAOI,wBAAA;E3Eo4SV;E2E34SM;IAOI,+BAAA;E3Eu4SV;E2E94SM;IAOI,yBAAA;E3E04SV;E2Ej5SM;IAOI,6BAAA;E3E64SV;E2Ep5SM;IAOI,8BAAA;E3Eg5SV;E2Ev5SM;IAOI,wBAAA;E3Em5SV;E2E15SM;IAOI,+BAAA;E3Es5SV;E2E75SM;IAOI,wBAAA;E3Ey5SV;E2Eh6SM;IAOI,yBAAA;E3E45SV;E2En6SM;IAOI,8BAAA;E3E+5SV;E2Et6SM;IAOI,iCAAA;E3Ek6SV;E2Ez6SM;IAOI,sCAAA;E3Eq6SV;E2E56SM;IAOI,yCAAA;E3Ew6SV;E2E/6SM;IAOI,uBAAA;E3E26SV;E2El7SM;IAOI,uBAAA;E3E86SV;E2Er7SM;IAOI,yBAAA;E3Ei7SV;E2Ex7SM;IAOI,yBAAA;E3Eo7SV;E2E37SM;IAOI,0BAAA;E3Eu7SV;E2E97SM;IAOI,4BAAA;E3E07SV;E2Ej8SM;IAOI,kCAAA;E3E67SV;E2Ep8SM;IAOI,sCAAA;E3Eg8SV;E2Ev8SM;IAOI,oCAAA;E3Em8SV;E2E18SM;IAOI,kCAAA;E3Es8SV;E2E78SM;IAOI,yCAAA;E3Ey8SV;E2Eh9SM;IAOI,wCAAA;E3E48SV;E2En9SM;IAOI,wCAAA;E3E+8SV;E2Et9SM;IAOI,kCAAA;E3Ek9SV;E2Ez9SM;IAOI,gCAAA;E3Eq9SV;E2E59SM;IAOI,8BAAA;E3Ew9SV;E2E/9SM;IAOI,gCAAA;E3E29SV;E2El+SM;IAOI,+BAAA;E3E89SV;E2Er+SM;IAOI,oCAAA;E3Ei+SV;E2Ex+SM;IAOI,kCAAA;E3Eo+SV;E2E3+SM;IAOI,gCAAA;E3Eu+SV;E2E9+SM;IAOI,uCAAA;E3E0+SV;E2Ej/SM;IAOI,sCAAA;E3E6+SV;E2Ep/SM;IAOI,iCAAA;E3Eg/SV;E2Ev/SM;IAOI,2BAAA;E3Em/SV;E2E1/SM;IAOI,iCAAA;E3Es/SV;E2E7/SM;IAOI,+BAAA;E3Ey/SV;E2EhgTM;IAOI,6BAAA;E3E4/SV;E2EngTM;IAOI,+BAAA;E3E+/SV;E2EtgTM;IAOI,8BAAA;E3EkgTV;E2EzgTM;IAOI,oBAAA;E3EqgTV;E2E5gTM;IAOI,mBAAA;E3EwgTV;E2E/gTM;IAOI,mBAAA;E3E2gTV;E2ElhTM;IAOI,mBAAA;E3E8gTV;E2ErhTM;IAOI,mBAAA;E3EihTV;E2ExhTM;IAOI,mBAAA;E3EohTV;E2E3hTM;IAOI,mBAAA;E3EuhTV;E2E9hTM;IAOI,mBAAA;E3E0hTV;E2EjiTM;IAOI,oBAAA;E3E6hTV;E2EpiTM;IAOI,0BAAA;E3EgiTV;E2EviTM;IAOI,yBAAA;E3EmiTV;E2E1iTM;IAOI,uBAAA;E3EsiTV;E2E7iTM;IAOI,yBAAA;E3EyiTV;E2EhjTM;IAOI,uBAAA;E3E4iTV;E2EnjTM;IAOI,uBAAA;E3E+iTV;E2EtjTM;IAOI,0BAAA;IAAA,yBAAA;E3EmjTV;E2E1jTM;IAOI,gCAAA;IAAA,+BAAA;E3EujTV;E2E9jTM;IAOI,+BAAA;IAAA,8BAAA;E3E2jTV;E2ElkTM;IAOI,6BAAA;IAAA,4BAAA;E3E+jTV;E2EtkTM;IAOI,+BAAA;IAAA,8BAAA;E3EmkTV;E2E1kTM;IAOI,6BAAA;IAAA,4BAAA;E3EukTV;E2E9kTM;IAOI,6BAAA;IAAA,4BAAA;E3E2kTV;E2EllTM;IAOI,wBAAA;IAAA,2BAAA;E3E+kTV;E2EtlTM;IAOI,8BAAA;IAAA,iCAAA;E3EmlTV;E2E1lTM;IAOI,6BAAA;IAAA,gCAAA;E3EulTV;E2E9lTM;IAOI,2BAAA;IAAA,8BAAA;E3E2lTV;E2ElmTM;IAOI,6BAAA;IAAA,gCAAA;E3E+lTV;E2EtmTM;IAOI,2BAAA;IAAA,8BAAA;E3EmmTV;E2E1mTM;IAOI,2BAAA;IAAA,8BAAA;E3EumTV;E2E9mTM;IAOI,wBAAA;E3E0mTV;E2EjnTM;IAOI,8BAAA;E3E6mTV;E2EpnTM;IAOI,6BAAA;E3EgnTV;E2EvnTM;IAOI,2BAAA;E3EmnTV;E2E1nTM;IAOI,6BAAA;E3EsnTV;E2E7nTM;IAOI,2BAAA;E3EynTV;E2EhoTM;IAOI,2BAAA;E3E4nTV;E2EnoTM;IAOI,0BAAA;E3E+nTV;E2EtoTM;IAOI,gCAAA;E3EkoTV;E2EzoTM;IAOI,+BAAA;E3EqoTV;E2E5oTM;IAOI,6BAAA;E3EwoTV;E2E/oTM;IAOI,+BAAA;E3E2oTV;E2ElpTM;IAOI,6BAAA;E3E8oTV;E2ErpTM;IAOI,6BAAA;E3EipTV;E2ExpTM;IAOI,2BAAA;E3EopTV;E2E3pTM;IAOI,iCAAA;E3EupTV;E2E9pTM;IAOI,gCAAA;E3E0pTV;E2EjqTM;IAOI,8BAAA;E3E6pTV;E2EpqTM;IAOI,gCAAA;E3EgqTV;E2EvqTM;IAOI,8BAAA;E3EmqTV;E2E1qTM;IAOI,8BAAA;E3EsqTV;E2E7qTM;IAOI,yBAAA;E3EyqTV;E2EhrTM;IAOI,+BAAA;E3E4qTV;E2EnrTM;IAOI,8BAAA;E3E+qTV;E2EtrTM;IAOI,4BAAA;E3EkrTV;E2EzrTM;IAOI,8BAAA;E3EqrTV;E2E5rTM;IAOI,4BAAA;E3EwrTV;E2E/rTM;IAOI,4BAAA;E3E2rTV;E2ElsTM;IAOI,qBAAA;E3E8rTV;E2ErsTM;IAOI,2BAAA;E3EisTV;E2ExsTM;IAOI,0BAAA;E3EosTV;E2E3sTM;IAOI,wBAAA;E3EusTV;E2E9sTM;IAOI,0BAAA;E3E0sTV;E2EjtTM;IAOI,wBAAA;E3E6sTV;E2EptTM;IAOI,2BAAA;IAAA,0BAAA;E3EitTV;E2ExtTM;IAOI,iCAAA;IAAA,gCAAA;E3EqtTV;E2E5tTM;IAOI,gCAAA;IAAA,+BAAA;E3EytTV;E2EhuTM;IAOI,8BAAA;IAAA,6BAAA;E3E6tTV;E2EpuTM;IAOI,gCAAA;IAAA,+BAAA;E3EiuTV;E2ExuTM;IAOI,8BAAA;IAAA,6BAAA;E3EquTV;E2E5uTM;IAOI,yBAAA;IAAA,4BAAA;E3EyuTV;E2EhvTM;IAOI,+BAAA;IAAA,kCAAA;E3E6uTV;E2EpvTM;IAOI,8BAAA;IAAA,iCAAA;E3EivTV;E2ExvTM;IAOI,4BAAA;IAAA,+BAAA;E3EqvTV;E2E5vTM;IAOI,8BAAA;IAAA,iCAAA;E3EyvTV;E2EhwTM;IAOI,4BAAA;IAAA,+BAAA;E3E6vTV;E2EpwTM;IAOI,yBAAA;E3EgwTV;E2EvwTM;IAOI,+BAAA;E3EmwTV;E2E1wTM;IAOI,8BAAA;E3EswTV;E2E7wTM;IAOI,4BAAA;E3EywTV;E2EhxTM;IAOI,8BAAA;E3E4wTV;E2EnxTM;IAOI,4BAAA;E3E+wTV;E2EtxTM;IAOI,2BAAA;E3EkxTV;E2EzxTM;IAOI,iCAAA;E3EqxTV;E2E5xTM;IAOI,gCAAA;E3EwxTV;E2E/xTM;IAOI,8BAAA;E3E2xTV;E2ElyTM;IAOI,gCAAA;E3E8xTV;E2EryTM;IAOI,8BAAA;E3EiyTV;E2ExyTM;IAOI,4BAAA;E3EoyTV;E2E3yTM;IAOI,kCAAA;E3EuyTV;E2E9yTM;IAOI,iCAAA;E3E0yTV;E2EjzTM;IAOI,+BAAA;E3E6yTV;E2EpzTM;IAOI,iCAAA;E3EgzTV;E2EvzTM;IAOI,+BAAA;E3EmzTV;E2E1zTM;IAOI,0BAAA;E3EszTV;E2E7zTM;IAOI,gCAAA;E3EyzTV;E2Eh0TM;IAOI,+BAAA;E3E4zTV;E2En0TM;IAOI,6BAAA;E3E+zTV;E2Et0TM;IAOI,+BAAA;E3Ek0TV;E2Ez0TM;IAOI,6BAAA;E3Eq0TV;E2E50TM;IAOI,iBAAA;E3Ew0TV;E2E/0TM;IAOI,uBAAA;E3E20TV;E2El1TM;IAOI,sBAAA;E3E80TV;E2Er1TM;IAOI,oBAAA;E3Ei1TV;E2Ex1TM;IAOI,sBAAA;E3Eo1TV;E2E31TM;IAOI,oBAAA;E3Eu1TV;E2E91TM;IAOI,qBAAA;E3E01TV;E2Ej2TM;IAOI,2BAAA;E3E61TV;E2Ep2TM;IAOI,0BAAA;E3Eg2TV;E2Ev2TM;IAOI,wBAAA;E3Em2TV;E2E12TM;IAOI,0BAAA;E3Es2TV;E2E72TM;IAOI,wBAAA;E3Ey2TV;E2Eh3TM;IAOI,6BAAA;SAAA,wBAAA;E3E42TV;E2En3TM;IAOI,mCAAA;SAAA,8BAAA;E3E+2TV;E2Et3TM;IAOI,kCAAA;SAAA,6BAAA;E3Ek3TV;E2Ez3TM;IAOI,gCAAA;SAAA,2BAAA;E3Eq3TV;E2E53TM;IAOI,kCAAA;SAAA,6BAAA;E3Ew3TV;E2E/3TM;IAOI,gCAAA;SAAA,2BAAA;E3E23TV;E2El4TM;IAOI,2BAAA;E3E83TV;E2Er4TM;IAOI,4BAAA;E3Ei4TV;E2Ex4TM;IAOI,6BAAA;E3Eo4TV;AACF;AiB/4TI;E0DGI;IAOI,sBAAA;E3Ey4TV;E2Eh5TM;IAOI,uBAAA;E3E44TV;E2En5TM;IAOI,sBAAA;E3E+4TV;E2Et5TM;IAOI,iCAAA;OAAA,8BAAA;E3Ek5TV;E2Ez5TM;IAOI,+BAAA;OAAA,4BAAA;E3Eq5TV;E2E55TM;IAOI,8BAAA;OAAA,2BAAA;E3Ew5TV;E2E/5TM;IAOI,oCAAA;OAAA,iCAAA;E3E25TV;E2El6TM;IAOI,8BAAA;OAAA,2BAAA;E3E85TV;E2Er6TM;IAOI,0BAAA;E3Ei6TV;E2Ex6TM;IAOI,gCAAA;E3Eo6TV;E2E36TM;IAOI,yBAAA;E3Eu6TV;E2E96TM;IAOI,wBAAA;E3E06TV;E2Ej7TM;IAOI,+BAAA;E3E66TV;E2Ep7TM;IAOI,yBAAA;E3Eg7TV;E2Ev7TM;IAOI,6BAAA;E3Em7TV;E2E17TM;IAOI,8BAAA;E3Es7TV;E2E77TM;IAOI,wBAAA;E3Ey7TV;E2Eh8TM;IAOI,+BAAA;E3E47TV;E2En8TM;IAOI,wBAAA;E3E+7TV;E2Et8TM;IAOI,yBAAA;E3Ek8TV;E2Ez8TM;IAOI,8BAAA;E3Eq8TV;E2E58TM;IAOI,iCAAA;E3Ew8TV;E2E/8TM;IAOI,sCAAA;E3E28TV;E2El9TM;IAOI,yCAAA;E3E88TV;E2Er9TM;IAOI,uBAAA;E3Ei9TV;E2Ex9TM;IAOI,uBAAA;E3Eo9TV;E2E39TM;IAOI,yBAAA;E3Eu9TV;E2E99TM;IAOI,yBAAA;E3E09TV;E2Ej+TM;IAOI,0BAAA;E3E69TV;E2Ep+TM;IAOI,4BAAA;E3Eg+TV;E2Ev+TM;IAOI,kCAAA;E3Em+TV;E2E1+TM;IAOI,sCAAA;E3Es+TV;E2E7+TM;IAOI,oCAAA;E3Ey+TV;E2Eh/TM;IAOI,kCAAA;E3E4+TV;E2En/TM;IAOI,yCAAA;E3E++TV;E2Et/TM;IAOI,wCAAA;E3Ek/TV;E2Ez/TM;IAOI,wCAAA;E3Eq/TV;E2E5/TM;IAOI,kCAAA;E3Ew/TV;E2E//TM;IAOI,gCAAA;E3E2/TV;E2ElgUM;IAOI,8BAAA;E3E8/TV;E2ErgUM;IAOI,gCAAA;E3EigUV;E2ExgUM;IAOI,+BAAA;E3EogUV;E2E3gUM;IAOI,oCAAA;E3EugUV;E2E9gUM;IAOI,kCAAA;E3E0gUV;E2EjhUM;IAOI,gCAAA;E3E6gUV;E2EphUM;IAOI,uCAAA;E3EghUV;E2EvhUM;IAOI,sCAAA;E3EmhUV;E2E1hUM;IAOI,iCAAA;E3EshUV;E2E7hUM;IAOI,2BAAA;E3EyhUV;E2EhiUM;IAOI,iCAAA;E3E4hUV;E2EniUM;IAOI,+BAAA;E3E+hUV;E2EtiUM;IAOI,6BAAA;E3EkiUV;E2EziUM;IAOI,+BAAA;E3EqiUV;E2E5iUM;IAOI,8BAAA;E3EwiUV;E2E/iUM;IAOI,oBAAA;E3E2iUV;E2EljUM;IAOI,mBAAA;E3E8iUV;E2ErjUM;IAOI,mBAAA;E3EijUV;E2ExjUM;IAOI,mBAAA;E3EojUV;E2E3jUM;IAOI,mBAAA;E3EujUV;E2E9jUM;IAOI,mBAAA;E3E0jUV;E2EjkUM;IAOI,mBAAA;E3E6jUV;E2EpkUM;IAOI,mBAAA;E3EgkUV;E2EvkUM;IAOI,oBAAA;E3EmkUV;E2E1kUM;IAOI,0BAAA;E3EskUV;E2E7kUM;IAOI,yBAAA;E3EykUV;E2EhlUM;IAOI,uBAAA;E3E4kUV;E2EnlUM;IAOI,yBAAA;E3E+kUV;E2EtlUM;IAOI,uBAAA;E3EklUV;E2EzlUM;IAOI,uBAAA;E3EqlUV;E2E5lUM;IAOI,0BAAA;IAAA,yBAAA;E3EylUV;E2EhmUM;IAOI,gCAAA;IAAA,+BAAA;E3E6lUV;E2EpmUM;IAOI,+BAAA;IAAA,8BAAA;E3EimUV;E2ExmUM;IAOI,6BAAA;IAAA,4BAAA;E3EqmUV;E2E5mUM;IAOI,+BAAA;IAAA,8BAAA;E3EymUV;E2EhnUM;IAOI,6BAAA;IAAA,4BAAA;E3E6mUV;E2EpnUM;IAOI,6BAAA;IAAA,4BAAA;E3EinUV;E2ExnUM;IAOI,wBAAA;IAAA,2BAAA;E3EqnUV;E2E5nUM;IAOI,8BAAA;IAAA,iCAAA;E3EynUV;E2EhoUM;IAOI,6BAAA;IAAA,gCAAA;E3E6nUV;E2EpoUM;IAOI,2BAAA;IAAA,8BAAA;E3EioUV;E2ExoUM;IAOI,6BAAA;IAAA,gCAAA;E3EqoUV;E2E5oUM;IAOI,2BAAA;IAAA,8BAAA;E3EyoUV;E2EhpUM;IAOI,2BAAA;IAAA,8BAAA;E3E6oUV;E2EppUM;IAOI,wBAAA;E3EgpUV;E2EvpUM;IAOI,8BAAA;E3EmpUV;E2E1pUM;IAOI,6BAAA;E3EspUV;E2E7pUM;IAOI,2BAAA;E3EypUV;E2EhqUM;IAOI,6BAAA;E3E4pUV;E2EnqUM;IAOI,2BAAA;E3E+pUV;E2EtqUM;IAOI,2BAAA;E3EkqUV;E2EzqUM;IAOI,0BAAA;E3EqqUV;E2E5qUM;IAOI,gCAAA;E3EwqUV;E2E/qUM;IAOI,+BAAA;E3E2qUV;E2ElrUM;IAOI,6BAAA;E3E8qUV;E2ErrUM;IAOI,+BAAA;E3EirUV;E2ExrUM;IAOI,6BAAA;E3EorUV;E2E3rUM;IAOI,6BAAA;E3EurUV;E2E9rUM;IAOI,2BAAA;E3E0rUV;E2EjsUM;IAOI,iCAAA;E3E6rUV;E2EpsUM;IAOI,gCAAA;E3EgsUV;E2EvsUM;IAOI,8BAAA;E3EmsUV;E2E1sUM;IAOI,gCAAA;E3EssUV;E2E7sUM;IAOI,8BAAA;E3EysUV;E2EhtUM;IAOI,8BAAA;E3E4sUV;E2EntUM;IAOI,yBAAA;E3E+sUV;E2EttUM;IAOI,+BAAA;E3EktUV;E2EztUM;IAOI,8BAAA;E3EqtUV;E2E5tUM;IAOI,4BAAA;E3EwtUV;E2E/tUM;IAOI,8BAAA;E3E2tUV;E2EluUM;IAOI,4BAAA;E3E8tUV;E2EruUM;IAOI,4BAAA;E3EiuUV;E2ExuUM;IAOI,qBAAA;E3EouUV;E2E3uUM;IAOI,2BAAA;E3EuuUV;E2E9uUM;IAOI,0BAAA;E3E0uUV;E2EjvUM;IAOI,wBAAA;E3E6uUV;E2EpvUM;IAOI,0BAAA;E3EgvUV;E2EvvUM;IAOI,wBAAA;E3EmvUV;E2E1vUM;IAOI,2BAAA;IAAA,0BAAA;E3EuvUV;E2E9vUM;IAOI,iCAAA;IAAA,gCAAA;E3E2vUV;E2ElwUM;IAOI,gCAAA;IAAA,+BAAA;E3E+vUV;E2EtwUM;IAOI,8BAAA;IAAA,6BAAA;E3EmwUV;E2E1wUM;IAOI,gCAAA;IAAA,+BAAA;E3EuwUV;E2E9wUM;IAOI,8BAAA;IAAA,6BAAA;E3E2wUV;E2ElxUM;IAOI,yBAAA;IAAA,4BAAA;E3E+wUV;E2EtxUM;IAOI,+BAAA;IAAA,kCAAA;E3EmxUV;E2E1xUM;IAOI,8BAAA;IAAA,iCAAA;E3EuxUV;E2E9xUM;IAOI,4BAAA;IAAA,+BAAA;E3E2xUV;E2ElyUM;IAOI,8BAAA;IAAA,iCAAA;E3E+xUV;E2EtyUM;IAOI,4BAAA;IAAA,+BAAA;E3EmyUV;E2E1yUM;IAOI,yBAAA;E3EsyUV;E2E7yUM;IAOI,+BAAA;E3EyyUV;E2EhzUM;IAOI,8BAAA;E3E4yUV;E2EnzUM;IAOI,4BAAA;E3E+yUV;E2EtzUM;IAOI,8BAAA;E3EkzUV;E2EzzUM;IAOI,4BAAA;E3EqzUV;E2E5zUM;IAOI,2BAAA;E3EwzUV;E2E/zUM;IAOI,iCAAA;E3E2zUV;E2El0UM;IAOI,gCAAA;E3E8zUV;E2Er0UM;IAOI,8BAAA;E3Ei0UV;E2Ex0UM;IAOI,gCAAA;E3Eo0UV;E2E30UM;IAOI,8BAAA;E3Eu0UV;E2E90UM;IAOI,4BAAA;E3E00UV;E2Ej1UM;IAOI,kCAAA;E3E60UV;E2Ep1UM;IAOI,iCAAA;E3Eg1UV;E2Ev1UM;IAOI,+BAAA;E3Em1UV;E2E11UM;IAOI,iCAAA;E3Es1UV;E2E71UM;IAOI,+BAAA;E3Ey1UV;E2Eh2UM;IAOI,0BAAA;E3E41UV;E2En2UM;IAOI,gCAAA;E3E+1UV;E2Et2UM;IAOI,+BAAA;E3Ek2UV;E2Ez2UM;IAOI,6BAAA;E3Eq2UV;E2E52UM;IAOI,+BAAA;E3Ew2UV;E2E/2UM;IAOI,6BAAA;E3E22UV;E2El3UM;IAOI,iBAAA;E3E82UV;E2Er3UM;IAOI,uBAAA;E3Ei3UV;E2Ex3UM;IAOI,sBAAA;E3Eo3UV;E2E33UM;IAOI,oBAAA;E3Eu3UV;E2E93UM;IAOI,sBAAA;E3E03UV;E2Ej4UM;IAOI,oBAAA;E3E63UV;E2Ep4UM;IAOI,qBAAA;E3Eg4UV;E2Ev4UM;IAOI,2BAAA;E3Em4UV;E2E14UM;IAOI,0BAAA;E3Es4UV;E2E74UM;IAOI,wBAAA;E3Ey4UV;E2Eh5UM;IAOI,0BAAA;E3E44UV;E2En5UM;IAOI,wBAAA;E3E+4UV;E2Et5UM;IAOI,6BAAA;SAAA,wBAAA;E3Ek5UV;E2Ez5UM;IAOI,mCAAA;SAAA,8BAAA;E3Eq5UV;E2E55UM;IAOI,kCAAA;SAAA,6BAAA;E3Ew5UV;E2E/5UM;IAOI,gCAAA;SAAA,2BAAA;E3E25UV;E2El6UM;IAOI,kCAAA;SAAA,6BAAA;E3E85UV;E2Er6UM;IAOI,gCAAA;SAAA,2BAAA;E3Ei6UV;E2Ex6UM;IAOI,2BAAA;E3Eo6UV;E2E36UM;IAOI,4BAAA;E3Eu6UV;E2E96UM;IAOI,6BAAA;E3E06UV;AACF;AiBr7UI;E0DGI;IAOI,sBAAA;E3E+6UV;E2Et7UM;IAOI,uBAAA;E3Ek7UV;E2Ez7UM;IAOI,sBAAA;E3Eq7UV;E2E57UM;IAOI,iCAAA;OAAA,8BAAA;E3Ew7UV;E2E/7UM;IAOI,+BAAA;OAAA,4BAAA;E3E27UV;E2El8UM;IAOI,8BAAA;OAAA,2BAAA;E3E87UV;E2Er8UM;IAOI,oCAAA;OAAA,iCAAA;E3Ei8UV;E2Ex8UM;IAOI,8BAAA;OAAA,2BAAA;E3Eo8UV;E2E38UM;IAOI,0BAAA;E3Eu8UV;E2E98UM;IAOI,gCAAA;E3E08UV;E2Ej9UM;IAOI,yBAAA;E3E68UV;E2Ep9UM;IAOI,wBAAA;E3Eg9UV;E2Ev9UM;IAOI,+BAAA;E3Em9UV;E2E19UM;IAOI,yBAAA;E3Es9UV;E2E79UM;IAOI,6BAAA;E3Ey9UV;E2Eh+UM;IAOI,8BAAA;E3E49UV;E2En+UM;IAOI,wBAAA;E3E+9UV;E2Et+UM;IAOI,+BAAA;E3Ek+UV;E2Ez+UM;IAOI,wBAAA;E3Eq+UV;E2E5+UM;IAOI,yBAAA;E3Ew+UV;E2E/+UM;IAOI,8BAAA;E3E2+UV;E2El/UM;IAOI,iCAAA;E3E8+UV;E2Er/UM;IAOI,sCAAA;E3Ei/UV;E2Ex/UM;IAOI,yCAAA;E3Eo/UV;E2E3/UM;IAOI,uBAAA;E3Eu/UV;E2E9/UM;IAOI,uBAAA;E3E0/UV;E2EjgVM;IAOI,yBAAA;E3E6/UV;E2EpgVM;IAOI,yBAAA;E3EggVV;E2EvgVM;IAOI,0BAAA;E3EmgVV;E2E1gVM;IAOI,4BAAA;E3EsgVV;E2E7gVM;IAOI,kCAAA;E3EygVV;E2EhhVM;IAOI,sCAAA;E3E4gVV;E2EnhVM;IAOI,oCAAA;E3E+gVV;E2EthVM;IAOI,kCAAA;E3EkhVV;E2EzhVM;IAOI,yCAAA;E3EqhVV;E2E5hVM;IAOI,wCAAA;E3EwhVV;E2E/hVM;IAOI,wCAAA;E3E2hVV;E2EliVM;IAOI,kCAAA;E3E8hVV;E2EriVM;IAOI,gCAAA;E3EiiVV;E2ExiVM;IAOI,8BAAA;E3EoiVV;E2E3iVM;IAOI,gCAAA;E3EuiVV;E2E9iVM;IAOI,+BAAA;E3E0iVV;E2EjjVM;IAOI,oCAAA;E3E6iVV;E2EpjVM;IAOI,kCAAA;E3EgjVV;E2EvjVM;IAOI,gCAAA;E3EmjVV;E2E1jVM;IAOI,uCAAA;E3EsjVV;E2E7jVM;IAOI,sCAAA;E3EyjVV;E2EhkVM;IAOI,iCAAA;E3E4jVV;E2EnkVM;IAOI,2BAAA;E3E+jVV;E2EtkVM;IAOI,iCAAA;E3EkkVV;E2EzkVM;IAOI,+BAAA;E3EqkVV;E2E5kVM;IAOI,6BAAA;E3EwkVV;E2E/kVM;IAOI,+BAAA;E3E2kVV;E2EllVM;IAOI,8BAAA;E3E8kVV;E2ErlVM;IAOI,oBAAA;E3EilVV;E2ExlVM;IAOI,mBAAA;E3EolVV;E2E3lVM;IAOI,mBAAA;E3EulVV;E2E9lVM;IAOI,mBAAA;E3E0lVV;E2EjmVM;IAOI,mBAAA;E3E6lVV;E2EpmVM;IAOI,mBAAA;E3EgmVV;E2EvmVM;IAOI,mBAAA;E3EmmVV;E2E1mVM;IAOI,mBAAA;E3EsmVV;E2E7mVM;IAOI,oBAAA;E3EymVV;E2EhnVM;IAOI,0BAAA;E3E4mVV;E2EnnVM;IAOI,yBAAA;E3E+mVV;E2EtnVM;IAOI,uBAAA;E3EknVV;E2EznVM;IAOI,yBAAA;E3EqnVV;E2E5nVM;IAOI,uBAAA;E3EwnVV;E2E/nVM;IAOI,uBAAA;E3E2nVV;E2EloVM;IAOI,0BAAA;IAAA,yBAAA;E3E+nVV;E2EtoVM;IAOI,gCAAA;IAAA,+BAAA;E3EmoVV;E2E1oVM;IAOI,+BAAA;IAAA,8BAAA;E3EuoVV;E2E9oVM;IAOI,6BAAA;IAAA,4BAAA;E3E2oVV;E2ElpVM;IAOI,+BAAA;IAAA,8BAAA;E3E+oVV;E2EtpVM;IAOI,6BAAA;IAAA,4BAAA;E3EmpVV;E2E1pVM;IAOI,6BAAA;IAAA,4BAAA;E3EupVV;E2E9pVM;IAOI,wBAAA;IAAA,2BAAA;E3E2pVV;E2ElqVM;IAOI,8BAAA;IAAA,iCAAA;E3E+pVV;E2EtqVM;IAOI,6BAAA;IAAA,gCAAA;E3EmqVV;E2E1qVM;IAOI,2BAAA;IAAA,8BAAA;E3EuqVV;E2E9qVM;IAOI,6BAAA;IAAA,gCAAA;E3E2qVV;E2ElrVM;IAOI,2BAAA;IAAA,8BAAA;E3E+qVV;E2EtrVM;IAOI,2BAAA;IAAA,8BAAA;E3EmrVV;E2E1rVM;IAOI,wBAAA;E3EsrVV;E2E7rVM;IAOI,8BAAA;E3EyrVV;E2EhsVM;IAOI,6BAAA;E3E4rVV;E2EnsVM;IAOI,2BAAA;E3E+rVV;E2EtsVM;IAOI,6BAAA;E3EksVV;E2EzsVM;IAOI,2BAAA;E3EqsVV;E2E5sVM;IAOI,2BAAA;E3EwsVV;E2E/sVM;IAOI,0BAAA;E3E2sVV;E2EltVM;IAOI,gCAAA;E3E8sVV;E2ErtVM;IAOI,+BAAA;E3EitVV;E2ExtVM;IAOI,6BAAA;E3EotVV;E2E3tVM;IAOI,+BAAA;E3EutVV;E2E9tVM;IAOI,6BAAA;E3E0tVV;E2EjuVM;IAOI,6BAAA;E3E6tVV;E2EpuVM;IAOI,2BAAA;E3EguVV;E2EvuVM;IAOI,iCAAA;E3EmuVV;E2E1uVM;IAOI,gCAAA;E3EsuVV;E2E7uVM;IAOI,8BAAA;E3EyuVV;E2EhvVM;IAOI,gCAAA;E3E4uVV;E2EnvVM;IAOI,8BAAA;E3E+uVV;E2EtvVM;IAOI,8BAAA;E3EkvVV;E2EzvVM;IAOI,yBAAA;E3EqvVV;E2E5vVM;IAOI,+BAAA;E3EwvVV;E2E/vVM;IAOI,8BAAA;E3E2vVV;E2ElwVM;IAOI,4BAAA;E3E8vVV;E2ErwVM;IAOI,8BAAA;E3EiwVV;E2ExwVM;IAOI,4BAAA;E3EowVV;E2E3wVM;IAOI,4BAAA;E3EuwVV;E2E9wVM;IAOI,qBAAA;E3E0wVV;E2EjxVM;IAOI,2BAAA;E3E6wVV;E2EpxVM;IAOI,0BAAA;E3EgxVV;E2EvxVM;IAOI,wBAAA;E3EmxVV;E2E1xVM;IAOI,0BAAA;E3EsxVV;E2E7xVM;IAOI,wBAAA;E3EyxVV;E2EhyVM;IAOI,2BAAA;IAAA,0BAAA;E3E6xVV;E2EpyVM;IAOI,iCAAA;IAAA,gCAAA;E3EiyVV;E2ExyVM;IAOI,gCAAA;IAAA,+BAAA;E3EqyVV;E2E5yVM;IAOI,8BAAA;IAAA,6BAAA;E3EyyVV;E2EhzVM;IAOI,gCAAA;IAAA,+BAAA;E3E6yVV;E2EpzVM;IAOI,8BAAA;IAAA,6BAAA;E3EizVV;E2ExzVM;IAOI,yBAAA;IAAA,4BAAA;E3EqzVV;E2E5zVM;IAOI,+BAAA;IAAA,kCAAA;E3EyzVV;E2Eh0VM;IAOI,8BAAA;IAAA,iCAAA;E3E6zVV;E2Ep0VM;IAOI,4BAAA;IAAA,+BAAA;E3Ei0VV;E2Ex0VM;IAOI,8BAAA;IAAA,iCAAA;E3Eq0VV;E2E50VM;IAOI,4BAAA;IAAA,+BAAA;E3Ey0VV;E2Eh1VM;IAOI,yBAAA;E3E40VV;E2En1VM;IAOI,+BAAA;E3E+0VV;E2Et1VM;IAOI,8BAAA;E3Ek1VV;E2Ez1VM;IAOI,4BAAA;E3Eq1VV;E2E51VM;IAOI,8BAAA;E3Ew1VV;E2E/1VM;IAOI,4BAAA;E3E21VV;E2El2VM;IAOI,2BAAA;E3E81VV;E2Er2VM;IAOI,iCAAA;E3Ei2VV;E2Ex2VM;IAOI,gCAAA;E3Eo2VV;E2E32VM;IAOI,8BAAA;E3Eu2VV;E2E92VM;IAOI,gCAAA;E3E02VV;E2Ej3VM;IAOI,8BAAA;E3E62VV;E2Ep3VM;IAOI,4BAAA;E3Eg3VV;E2Ev3VM;IAOI,kCAAA;E3Em3VV;E2E13VM;IAOI,iCAAA;E3Es3VV;E2E73VM;IAOI,+BAAA;E3Ey3VV;E2Eh4VM;IAOI,iCAAA;E3E43VV;E2En4VM;IAOI,+BAAA;E3E+3VV;E2Et4VM;IAOI,0BAAA;E3Ek4VV;E2Ez4VM;IAOI,gCAAA;E3Eq4VV;E2E54VM;IAOI,+BAAA;E3Ew4VV;E2E/4VM;IAOI,6BAAA;E3E24VV;E2El5VM;IAOI,+BAAA;E3E84VV;E2Er5VM;IAOI,6BAAA;E3Ei5VV;E2Ex5VM;IAOI,iBAAA;E3Eo5VV;E2E35VM;IAOI,uBAAA;E3Eu5VV;E2E95VM;IAOI,sBAAA;E3E05VV;E2Ej6VM;IAOI,oBAAA;E3E65VV;E2Ep6VM;IAOI,sBAAA;E3Eg6VV;E2Ev6VM;IAOI,oBAAA;E3Em6VV;E2E16VM;IAOI,qBAAA;E3Es6VV;E2E76VM;IAOI,2BAAA;E3Ey6VV;E2Eh7VM;IAOI,0BAAA;E3E46VV;E2En7VM;IAOI,wBAAA;E3E+6VV;E2Et7VM;IAOI,0BAAA;E3Ek7VV;E2Ez7VM;IAOI,wBAAA;E3Eq7VV;E2E57VM;IAOI,6BAAA;SAAA,wBAAA;E3Ew7VV;E2E/7VM;IAOI,mCAAA;SAAA,8BAAA;E3E27VV;E2El8VM;IAOI,kCAAA;SAAA,6BAAA;E3E87VV;E2Er8VM;IAOI,gCAAA;SAAA,2BAAA;E3Ei8VV;E2Ex8VM;IAOI,kCAAA;SAAA,6BAAA;E3Eo8VV;E2E38VM;IAOI,gCAAA;SAAA,2BAAA;E3Eu8VV;E2E98VM;IAOI,2BAAA;E3E08VV;E2Ej9VM;IAOI,4BAAA;E3E68VV;E2Ep9VM;IAOI,6BAAA;E3Eg9VV;AACF;AiB39VI;E0DGI;IAOI,sBAAA;E3Eq9VV;E2E59VM;IAOI,uBAAA;E3Ew9VV;E2E/9VM;IAOI,sBAAA;E3E29VV;E2El+VM;IAOI,iCAAA;OAAA,8BAAA;E3E89VV;E2Er+VM;IAOI,+BAAA;OAAA,4BAAA;E3Ei+VV;E2Ex+VM;IAOI,8BAAA;OAAA,2BAAA;E3Eo+VV;E2E3+VM;IAOI,oCAAA;OAAA,iCAAA;E3Eu+VV;E2E9+VM;IAOI,8BAAA;OAAA,2BAAA;E3E0+VV;E2Ej/VM;IAOI,0BAAA;E3E6+VV;E2Ep/VM;IAOI,gCAAA;E3Eg/VV;E2Ev/VM;IAOI,yBAAA;E3Em/VV;E2E1/VM;IAOI,wBAAA;E3Es/VV;E2E7/VM;IAOI,+BAAA;E3Ey/VV;E2EhgWM;IAOI,yBAAA;E3E4/VV;E2EngWM;IAOI,6BAAA;E3E+/VV;E2EtgWM;IAOI,8BAAA;E3EkgWV;E2EzgWM;IAOI,wBAAA;E3EqgWV;E2E5gWM;IAOI,+BAAA;E3EwgWV;E2E/gWM;IAOI,wBAAA;E3E2gWV;E2ElhWM;IAOI,yBAAA;E3E8gWV;E2ErhWM;IAOI,8BAAA;E3EihWV;E2ExhWM;IAOI,iCAAA;E3EohWV;E2E3hWM;IAOI,sCAAA;E3EuhWV;E2E9hWM;IAOI,yCAAA;E3E0hWV;E2EjiWM;IAOI,uBAAA;E3E6hWV;E2EpiWM;IAOI,uBAAA;E3EgiWV;E2EviWM;IAOI,yBAAA;E3EmiWV;E2E1iWM;IAOI,yBAAA;E3EsiWV;E2E7iWM;IAOI,0BAAA;E3EyiWV;E2EhjWM;IAOI,4BAAA;E3E4iWV;E2EnjWM;IAOI,kCAAA;E3E+iWV;E2EtjWM;IAOI,sCAAA;E3EkjWV;E2EzjWM;IAOI,oCAAA;E3EqjWV;E2E5jWM;IAOI,kCAAA;E3EwjWV;E2E/jWM;IAOI,yCAAA;E3E2jWV;E2ElkWM;IAOI,wCAAA;E3E8jWV;E2ErkWM;IAOI,wCAAA;E3EikWV;E2ExkWM;IAOI,kCAAA;E3EokWV;E2E3kWM;IAOI,gCAAA;E3EukWV;E2E9kWM;IAOI,8BAAA;E3E0kWV;E2EjlWM;IAOI,gCAAA;E3E6kWV;E2EplWM;IAOI,+BAAA;E3EglWV;E2EvlWM;IAOI,oCAAA;E3EmlWV;E2E1lWM;IAOI,kCAAA;E3EslWV;E2E7lWM;IAOI,gCAAA;E3EylWV;E2EhmWM;IAOI,uCAAA;E3E4lWV;E2EnmWM;IAOI,sCAAA;E3E+lWV;E2EtmWM;IAOI,iCAAA;E3EkmWV;E2EzmWM;IAOI,2BAAA;E3EqmWV;E2E5mWM;IAOI,iCAAA;E3EwmWV;E2E/mWM;IAOI,+BAAA;E3E2mWV;E2ElnWM;IAOI,6BAAA;E3E8mWV;E2ErnWM;IAOI,+BAAA;E3EinWV;E2ExnWM;IAOI,8BAAA;E3EonWV;E2E3nWM;IAOI,oBAAA;E3EunWV;E2E9nWM;IAOI,mBAAA;E3E0nWV;E2EjoWM;IAOI,mBAAA;E3E6nWV;E2EpoWM;IAOI,mBAAA;E3EgoWV;E2EvoWM;IAOI,mBAAA;E3EmoWV;E2E1oWM;IAOI,mBAAA;E3EsoWV;E2E7oWM;IAOI,mBAAA;E3EyoWV;E2EhpWM;IAOI,mBAAA;E3E4oWV;E2EnpWM;IAOI,oBAAA;E3E+oWV;E2EtpWM;IAOI,0BAAA;E3EkpWV;E2EzpWM;IAOI,yBAAA;E3EqpWV;E2E5pWM;IAOI,uBAAA;E3EwpWV;E2E/pWM;IAOI,yBAAA;E3E2pWV;E2ElqWM;IAOI,uBAAA;E3E8pWV;E2ErqWM;IAOI,uBAAA;E3EiqWV;E2ExqWM;IAOI,0BAAA;IAAA,yBAAA;E3EqqWV;E2E5qWM;IAOI,gCAAA;IAAA,+BAAA;E3EyqWV;E2EhrWM;IAOI,+BAAA;IAAA,8BAAA;E3E6qWV;E2EprWM;IAOI,6BAAA;IAAA,4BAAA;E3EirWV;E2ExrWM;IAOI,+BAAA;IAAA,8BAAA;E3EqrWV;E2E5rWM;IAOI,6BAAA;IAAA,4BAAA;E3EyrWV;E2EhsWM;IAOI,6BAAA;IAAA,4BAAA;E3E6rWV;E2EpsWM;IAOI,wBAAA;IAAA,2BAAA;E3EisWV;E2ExsWM;IAOI,8BAAA;IAAA,iCAAA;E3EqsWV;E2E5sWM;IAOI,6BAAA;IAAA,gCAAA;E3EysWV;E2EhtWM;IAOI,2BAAA;IAAA,8BAAA;E3E6sWV;E2EptWM;IAOI,6BAAA;IAAA,gCAAA;E3EitWV;E2ExtWM;IAOI,2BAAA;IAAA,8BAAA;E3EqtWV;E2E5tWM;IAOI,2BAAA;IAAA,8BAAA;E3EytWV;E2EhuWM;IAOI,wBAAA;E3E4tWV;E2EnuWM;IAOI,8BAAA;E3E+tWV;E2EtuWM;IAOI,6BAAA;E3EkuWV;E2EzuWM;IAOI,2BAAA;E3EquWV;E2E5uWM;IAOI,6BAAA;E3EwuWV;E2E/uWM;IAOI,2BAAA;E3E2uWV;E2ElvWM;IAOI,2BAAA;E3E8uWV;E2ErvWM;IAOI,0BAAA;E3EivWV;E2ExvWM;IAOI,gCAAA;E3EovWV;E2E3vWM;IAOI,+BAAA;E3EuvWV;E2E9vWM;IAOI,6BAAA;E3E0vWV;E2EjwWM;IAOI,+BAAA;E3E6vWV;E2EpwWM;IAOI,6BAAA;E3EgwWV;E2EvwWM;IAOI,6BAAA;E3EmwWV;E2E1wWM;IAOI,2BAAA;E3EswWV;E2E7wWM;IAOI,iCAAA;E3EywWV;E2EhxWM;IAOI,gCAAA;E3E4wWV;E2EnxWM;IAOI,8BAAA;E3E+wWV;E2EtxWM;IAOI,gCAAA;E3EkxWV;E2EzxWM;IAOI,8BAAA;E3EqxWV;E2E5xWM;IAOI,8BAAA;E3EwxWV;E2E/xWM;IAOI,yBAAA;E3E2xWV;E2ElyWM;IAOI,+BAAA;E3E8xWV;E2EryWM;IAOI,8BAAA;E3EiyWV;E2ExyWM;IAOI,4BAAA;E3EoyWV;E2E3yWM;IAOI,8BAAA;E3EuyWV;E2E9yWM;IAOI,4BAAA;E3E0yWV;E2EjzWM;IAOI,4BAAA;E3E6yWV;E2EpzWM;IAOI,qBAAA;E3EgzWV;E2EvzWM;IAOI,2BAAA;E3EmzWV;E2E1zWM;IAOI,0BAAA;E3EszWV;E2E7zWM;IAOI,wBAAA;E3EyzWV;E2Eh0WM;IAOI,0BAAA;E3E4zWV;E2En0WM;IAOI,wBAAA;E3E+zWV;E2Et0WM;IAOI,2BAAA;IAAA,0BAAA;E3Em0WV;E2E10WM;IAOI,iCAAA;IAAA,gCAAA;E3Eu0WV;E2E90WM;IAOI,gCAAA;IAAA,+BAAA;E3E20WV;E2El1WM;IAOI,8BAAA;IAAA,6BAAA;E3E+0WV;E2Et1WM;IAOI,gCAAA;IAAA,+BAAA;E3Em1WV;E2E11WM;IAOI,8BAAA;IAAA,6BAAA;E3Eu1WV;E2E91WM;IAOI,yBAAA;IAAA,4BAAA;E3E21WV;E2El2WM;IAOI,+BAAA;IAAA,kCAAA;E3E+1WV;E2Et2WM;IAOI,8BAAA;IAAA,iCAAA;E3Em2WV;E2E12WM;IAOI,4BAAA;IAAA,+BAAA;E3Eu2WV;E2E92WM;IAOI,8BAAA;IAAA,iCAAA;E3E22WV;E2El3WM;IAOI,4BAAA;IAAA,+BAAA;E3E+2WV;E2Et3WM;IAOI,yBAAA;E3Ek3WV;E2Ez3WM;IAOI,+BAAA;E3Eq3WV;E2E53WM;IAOI,8BAAA;E3Ew3WV;E2E/3WM;IAOI,4BAAA;E3E23WV;E2El4WM;IAOI,8BAAA;E3E83WV;E2Er4WM;IAOI,4BAAA;E3Ei4WV;E2Ex4WM;IAOI,2BAAA;E3Eo4WV;E2E34WM;IAOI,iCAAA;E3Eu4WV;E2E94WM;IAOI,gCAAA;E3E04WV;E2Ej5WM;IAOI,8BAAA;E3E64WV;E2Ep5WM;IAOI,gCAAA;E3Eg5WV;E2Ev5WM;IAOI,8BAAA;E3Em5WV;E2E15WM;IAOI,4BAAA;E3Es5WV;E2E75WM;IAOI,kCAAA;E3Ey5WV;E2Eh6WM;IAOI,iCAAA;E3E45WV;E2En6WM;IAOI,+BAAA;E3E+5WV;E2Et6WM;IAOI,iCAAA;E3Ek6WV;E2Ez6WM;IAOI,+BAAA;E3Eq6WV;E2E56WM;IAOI,0BAAA;E3Ew6WV;E2E/6WM;IAOI,gCAAA;E3E26WV;E2El7WM;IAOI,+BAAA;E3E86WV;E2Er7WM;IAOI,6BAAA;E3Ei7WV;E2Ex7WM;IAOI,+BAAA;E3Eo7WV;E2E37WM;IAOI,6BAAA;E3Eu7WV;E2E97WM;IAOI,iBAAA;E3E07WV;E2Ej8WM;IAOI,uBAAA;E3E67WV;E2Ep8WM;IAOI,sBAAA;E3Eg8WV;E2Ev8WM;IAOI,oBAAA;E3Em8WV;E2E18WM;IAOI,sBAAA;E3Es8WV;E2E78WM;IAOI,oBAAA;E3Ey8WV;E2Eh9WM;IAOI,qBAAA;E3E48WV;E2En9WM;IAOI,2BAAA;E3E+8WV;E2Et9WM;IAOI,0BAAA;E3Ek9WV;E2Ez9WM;IAOI,wBAAA;E3Eq9WV;E2E59WM;IAOI,0BAAA;E3Ew9WV;E2E/9WM;IAOI,wBAAA;E3E29WV;E2El+WM;IAOI,6BAAA;SAAA,wBAAA;E3E89WV;E2Er+WM;IAOI,mCAAA;SAAA,8BAAA;E3Ei+WV;E2Ex+WM;IAOI,kCAAA;SAAA,6BAAA;E3Eo+WV;E2E3+WM;IAOI,gCAAA;SAAA,2BAAA;E3Eu+WV;E2E9+WM;IAOI,kCAAA;SAAA,6BAAA;E3E0+WV;E2Ej/WM;IAOI,gCAAA;SAAA,2BAAA;E3E6+WV;E2Ep/WM;IAOI,2BAAA;E3Eg/WV;E2Ev/WM;IAOI,4BAAA;E3Em/WV;E2E1/WM;IAOI,6BAAA;E3Es/WV;AACF;A4E7iXA;ED+CQ;IAOI,4BAAA;E3E2/WV;E2ElgXM;IAOI,0BAAA;E3E8/WV;E2ErgXM;IAOI,6BAAA;E3EigXV;E2ExgXM;IAOI,4BAAA;E3EogXV;AACF;A4ExiXA;ED4BQ;IAOI,0BAAA;E3EygXV;E2EhhXM;IAOI,gCAAA;E3E4gXV;E2EnhXM;IAOI,yBAAA;E3E+gXV;E2EthXM;IAOI,wBAAA;E3EkhXV;E2EzhXM;IAOI,+BAAA;E3EqhXV;E2E5hXM;IAOI,yBAAA;E3EwhXV;E2E/hXM;IAOI,6BAAA;E3E2hXV;E2EliXM;IAOI,8BAAA;E3E8hXV;E2EriXM;IAOI,wBAAA;E3EiiXV;E2ExiXM;IAOI,+BAAA;E3EoiXV;E2E3iXM;IAOI,wBAAA;E3EuiXV;AACF;AEpmXA;EACE,gBMuC4B;AR+jX9B;;AElmXE;EACE,yBMEM;ARmmXV;AEnmXI;;EAEE,+BMgD8B;ARqjXpC;AElmXI;;;EAGE,WMpBK;ENqBL,oCAAA;AFomXN;;AE/lXA;EACE,iCAAA;AFkmXF;AEhmXE;EACE,sBMtBO;ARwnXX;AEhmXI;;EAEE,+BM4B8B;ARskXpC;AE/lXI;;;EAGE,WMxCK;ENyCL,uCAAA;AFimXN;;AE3lXE;EACE,sBM9CO;AR4oXX;AE5lXI;;EAEE,+CKqnC8B;APy+UpC;AE3lXI;;;EAGE,8CKgnC8B;EL/mC9B,0CAAA;AF6lXN;;AErlXE;EACE,gCAAA;AFwlXJ;AErlXE;EACE,sCAAA;AFulXJ;AEplXE;EACE,oCAAA;AFslXJ;AEnlXE;EACE,WMhFO;ENiFP,qCAAA;AFqlXJ;AEllXE;EACE,kCAAA;AFolXJ;AEjlXE;EACE,WMzFO;EN0FP,oCAAA;AFmlXJ;AEhlXE;EACE,sCAAA;AFklXJ;AE/kXE;EACE,mCAAA;AFilXJ;;AE7kXA;EACE,8BAAA;AFglXF;;AE5kXE;EACE,mBAAA;AF+kXJ;AE3kXI;EACE,yBMrGI;ENsGJ,gCAAA;AF6kXN;AE3kXM;EACE,WMrHG;ARksXX;AE1kXM;;EAEE,uCAAA;AF4kXR;AExkXI;EACE,sBM7HK;EN8HL,sCAAA;AF0kXN;AExkXM;EACE,WM1HG;ARosXX;AEvkXM;;EAEE,6CAAA;AFykXR;AErkXI;EACE,yBM1HI;EN2HJ,oCAAA;AFukXN;AErkXM;EACE,WMjJG;ARwtXX;AEpkXM;;EAEE,2CAAA;AFskXR;AElkXI;EACE,yBMtII;ENuIJ,qCAAA;AFokXN;AElkXM;EACE,WM/JG;ARmuXX;AEjkXM;;EAEE,4CAAA;AFmkXR;AE/jXI;EACE,yBMvJI;ENwJJ,oCAAA;AFikXN;AE/jXM;EACE,WM7KG;AR8uXX;AE9jXM;;EAEE,2CAAA;AFgkXR;AE5jXI;EACE,yBMvKI;ENwKJ,kCAAA;AF8jXN;AE5jXM;EACE,WM3LG;ARyvXX;AE3jXM;;EAEE,yCAAA;AF6jXR;;AErjXA;EACE,yBAAA;AFwjXF;;AErjXA;EACE,WMvMS;AR+vXX;;AEnjXA;EACE,mBK2Y4B;AP2qW9B;;AEjjXA;;;;;;EAME,mBKgY4B;APorW9B;;AE/iXA;EACE,oBAAA;EACA,uBAAA;EACA,mBKwX4B;ELvX5B,gBAAA;AFkjXF;;AE9iXE;EACE,oCAAA;AFijXJ;;AE7iXA;EACE,mBK6W4B;EL5W5B,gBAAA;EACA,yBAAA;EACA,oCAAA;AFgjXF;;AE7iXA;EACE,gBAAA;AFgjXF;AE9iXE;EACE,mBAAA;EACA,kBAAA;EACA,yBAAA;EACA,kBAAA;AFgjXJ;AE9iXI;EAEE,qBAAA;AF+iXN;AE1iXI;EACE,yBAAA;AF4iXN;;AEliXI;;;;;;EACE,kBAAA;AF0iXN;;AEpiXE;EACE,uCAAA;AFuiXJ;;AEniXA;EACE,mBK+T4B;EL9T5B,gBAAA;AFsiXF;;AEniXA;;EAEE,wCAAA;AFsiXF;;AEjiXA;EACE,mBKmT4B;ELlT5B,gBAAA;AFoiXF;AEliXE;EACE,0BAAA;AFoiXJ;;AE/hXE;EAEE,WM9SO;AR+0XX;;AE3hXA;EACE,YAAA;EACA,YAAA;EACA,yBAAA;EACA,sBAAA;AF8hXF;;AExhXA;EACE,yBAAA;EACA,0BAAA;AF2hXF;;A6E11XA;EAjBI,YADwB;EAKpB,+BAAA;A7E42XR;A6Ep2XI;EACI,0BAAA;A7Es2XR;A6El2XA;EAII,uCAAA;EAEA,kBAAA;EACA,MAAA;EACA,SAAA;EAEA,YAAA;EACA,cAAA;EAGA,wCAAA;EACA,aAAA;EAGA,gBAAA;A7E21XJ;;A6Et1XA;EACI,gBAAA;A7Ey1XJ;;A6En1XA;EACI,eAAA;EACA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EACA,aAAA;EACA,sBAAA;A7Es1XJ;;A6Ep1XA;EACI,wBAAA;EACA,UAAA;A7Eu1XJ;;A6Er1XA;EACI,yBAAA;EACA,YAAA;A7Ew1XJ;;ASn1XA;EACI,uBAAA;EACA,sCAAA;EACA,oQAAA;EAKA,kBAAA;EACA,gBAAA;ATk1XJ;AS90XA;EACI,eAAA;EACA,gBAAA;EAEA,UAAA;EAEA,qBAAA;EACA,kBAAA;EAGA,oBAAA;EACA,kBAAA;EACA,oBAAA;EACA,cAAA;AT40XJ;;ASz0XA;;EAEI,iBAAA;AT40XJ;;ASz0XA;EACI,cAAA;AT40XJ;;ASz0XA;EACI,aAAA;EACA,eAAA;EACA,mBAAA;EACA,SAAA;EACA,kBAAA;EACA,6BAAA;AT40XJ;AS10XI;EACI,oBAAA;EACA,mBAAA;EACA,QAAA;EACA,sBAAA;AT40XR;ASz0XI;;EAEI,mBAAA;AT20XR;ASx0XI;EACI,kBAAA;EACA,aAAA;EACA,mBAAA;EACA,SAAA;AT00XR;ASx0XQ;EACI,YAAA;EACA,gBAAA;EACA,mBAAA;EACA,gBArFO;AT+5XnB;ASv0XQ;;EAEI,YAAA;EACA,aAAA;EACA,eAAA;ATy0XZ;ASt0XQ;EACI,oBAAA;EACA,mBAAA;ATw0XZ;ASp0XI;EACI,aAAA;EACA,kBAAA;EACA,SAAA;EACA,OAAA;EACA,eAAA;EACA,gBAAA;EACA,gBAAA;EACA,sBAAA;EACA,sBAAA;EACA,aFo8B4B;APk4VpC;ASp0XQ;EACI,iBAAA;EACA,eAAA;ATs0XZ;ASp0XY;EACI,gDAlKD;ATw+Xf;ASj0XI;EACI,QAAA;EACA,iBAAA;ATm0XR;;AS5zXI;EACI,iBAAA;AT+zXR;;ASzzXA;EACI,eAAA;EACA,QAAA;EACA,gBAAA;EACA,oBAAA;EACA,aFw6BgC;APo5VpC;AS1zXI;EoEpMA,YpEqMkC;EoE9L9B,QAAA;EACA,8BAAA;A7E2/XR;A6Ev/XI;EACI,0BAAA;A7Ey/XR;ASl0XI;EAEI,oBAAA;ATm0XR;;AS/zXA;EACI,kBAAA;ATk0XJ;ASh0XI;EACI,gBAAA;ATk0XR;;AS5zXA;EACI,iBAAA;AT+zXJ;;AS3zXA;EACI,kBAAA;AT8zXJ;;AS3zXA;;;EAGI,uBAAA;EACA,eAAA;EACA,kBAAA;AT8zXJ;;AS1zXA;EACI,mBAAA;AT6zXJ;;ASxzXA;EACI,gBAAA;EACA,mBAAA;AT2zXJ;;ASxzXA;EACI,qBAAA;EACA,kBAAA;AT2zXJ;;ASxzXA;EACI,wEAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,OAAA;AT2zXJ;;ASxzXA;EACI,wEAAA;EACA,eAAA;EACA,gBAAA;EACA,mBAAA;EACA,kBAAA;EACA,OAAA;AT2zXJ;;ASxzXA;EACI,6BAAA;EACA,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,OAAA;AT2zXJ;;ASxzXA;;EAEI,WAAA;AT2zXJ;;ASxzXA;;EAEI,WAAA;EACA,cAAA;EACA,iBAAA;AT2zXJ;;ASxzXA;EAEI,wEAAA;EACA,eAAA;AT2zXJ;;AS9zXA;;EAEI,wEAAA;EACA,eAAA;AT2zXJ;;AStzXA;;EAEI,uBAAA;ATyzXJ;;ASrzXI;EACI,mBAAA;EACA,gBAAA;EACA,gBAAA;EACA,MAAA;EACA,uBAAA;EACA,UAAA;ATwzXR;ASrzXQ;EACI,cAAA;ATuzXZ;ASnzXI;EAEI,aAAA;ATozXR;;AShzXA;EACI,yBAvRwB;EAwRxB,cAvTY;AT0mYhB;;AShzXA;EACI,yBAAA;EACA,yBAAA;EACA,gBAAA;EACA,+CAAA;ATmzXJ;;AShzXA;EACI,iBAAA;ATmzXJ;;AS/yXA;EACI,WAAA;EACA,aAAA;EACA,wBAAA;ATkzXJ;;AS7yXA;;;EAGI,aAAA;EACA,sBAAA;EACA,YAAA;ATgzXJ;AS9yXI;;;;;;;;;EAGI,cAAA;EACA,cAAA;ATszXR;ASnzXI;;;EACI,iBAAA;EACA,gBAAA;ATuzXR;;ASnzXA;EACI,aAAA;ATszXJ;;ASlzXI;EACI,mBAAA;ATqzXR;AShzXI;EACI,UAAA;ATkzXR;AiB1mYI;ER4TI;IACI,UAAA;ETizXV;ES9yXM;IACI,UAAA;ETgzXV;AACF;;ASxyXA;EACI,YAAA;AT2yXJ;ASzyXI;EACI,YAAA;AT2yXR;;ASryXA;EACI,aAAA;ATwyXJ;;ASjyXA;EACI,aAAA;AToyXJ;;ASjyXA;EACI,aAAA;AToyXJ;;AShyXA;EACI,wBAAA;ATmyXJ;;AS/xXA;EACI,sBAAA;EACA,oBAAA;ATkyXJ;AShyXI;EACI,QAAA;ATkyXR;AS/xXI;EACI,WAAA;EACA,YAAA;ATiyXR;AS9xXI;EACI,WAAA;EACA,YAAA;EACA,sBA3XU;EA4XV,qBA1Xc;AT0pYtB;AS9xXQ;EACI,WAAA;EACA,YAAA;ATgyXZ;AS7xXQ;EACI,yBAnYY;EAoYZ,kBAlYgB;ATiqY5B;;AS1xXA;EACI,cAAA;EACA,UAAA;EACA,WAAA;AT6xXJ;;AS1xXA;EACI,YAAA;AT6xXJ;;AS1xXA;EACI,gBAAA;AT6xXJ;;AS1xXA;EAEI,kBAAA;AT4xXJ;;ASzxXA;EACI,kBAAA;EACA,YAAA;EACA,WAAA;EACA,6BAAA;EACA,kBAAA;EAGA,aFmoBgC;APupWpC;ASxxXI;EACI,kBAAA;EACA,QAAA;EACA,WAAA;EACA,gBAAA;EAEA,YAAA;EACA,UAAA;EAEA,yCAAA;EACA,sBAAA;ATwxXR;AStxXQ;EACI,gBAAA;ATwxXZ;;ASnxXA;EACI,eAAA;EAEA,MAAA;EACA,QAAA;EACA,SAAA;EACA,OAAA;EAEA,aF4mBgC;APwqWpC;ASlxXI;EACI,kBAAA;AToxXR;;AShxXA;EACI,kFAAA;EACA,qBAAA;ATmxXJ;;AShxXA;EACI,kBAAA;ATmxXJ;;AShxXA;EACI,gBAAA;ATmxXJ;;AShxXA;EACI,kBAAA;EACA,uBAAA;EACA,YAAA;ATmxXJ;;AShxXA;EACI,SAAA;ATmxXJ;;AShxXA;;EAEI,yBA5gBa;EA6gBb,qBA7gBa;ATgyYjB;;AShxXA;EACI,aAAA;EACA,mBAAA;ATmxXJ;;AShxXA;EACI,YAAA;ATmxXJ;;AShxXA;EACI,mBAAA;ATmxXJ;;AShxXA;EACI,WAAA;ATmxXJ;ASjxXI;EACI,cAAA;EACA,cAAA;ATmxXR;AShxXI;EACI,cAAA;EACA,eAAA;ATkxXR;AS/wXI;EACI,sBAAA;EACA,qBAAA;ATixXR;AS9wXI;EACI,qBAAA;ATgxXR;;AS5wXA;EACI,WAAA;AT+wXJ;AS7wXI;EACI,cAAA;AT+wXR;AS7wXQ;EACI,qBAAA;AT+wXZ;AS3wXI;EACI,kBAAA;EACA,qBAAA;AT6wXR;ASxwXI;EACI,yBAAA;AT0wXR;;ASrwXI;EACI,eAAA;EACA,gBAAA;EACA,kBAAA;EACA,iBAAA;EACA,6BAAA;EACA,kBAAA;ATwwXR;AStwXQ;EACI,qBAAA;EACA,yBAAA;ATwwXZ;;ASnwXA;EACI,6BAAA;ATswXJ;ASpwXI;EACI,gBAAA;EACA,mBAAA;EACA,SAAA;EACA,oCAAA;EACA,gBAAA;EACA,6BAAA;EACA,cAnnBD;EAonBC,gBAtkBW;AT40YnB;ASpwXQ;EACI,cAnnBI;EAonBJ,mDAtnBG;AT43Yf;ASnwXQ;EACI,cAxnBI;EAynBJ,gBAAA;EACA,4BA1nBI;AT+3YhB;;AS/vXA;EACI,YAAA;EACA,kBAAA;EACA,iBAAA;ATkwXJ;;AS/vXA;EACI,gBAAA;ATkwXJ;;AiBt0YI;ER4kBI;IACI,aAAA;ET8vXV;ES5vXU;IACI,cAAA;ET8vXd;ES1vXM;IACI,cAAA;IAGA,eAAA;IACA,gBAAA;IACA,uBAAA;IACA,mBAAA;ET0vXV;ESvvXU;IACI,aAAA;ETyvXd;AACF;ASpvXA;EACI,YAAA;ATsvXJ;;AiB51YI;ER4mBA;IACI,cAAA;ETovXN;AACF;ASjvXA;EACI,gBAAA;ATmvXJ;;AShvXA;EACI,aAAA;EACA,iBAAA;EACA,cAAA;ATmvXJ;;AShvXA;EACI,6BAAA;EACA,WAAA;EACA,gBAAA;EACA,eAAA;EACA,WAAA;EACA,sBAAA;EACA,YAAA;EACA,kCA5sBU;AT+7Yd;ASjvXI;EAEI,qBAAA;EACA,qBA3sBQ;EA4sBR,kCAltBM;ATo8Yd;AS/uXI;EACI,YAAA;EACA,WAAA;ATivXR;AS/uXQ;EACI,cAAA;EACA,YAAA;EACA,gBAAA;EACA,eAAA;ATivXZ;AS7uXI;EACI,kBAAA;EACA,gBAAA;EACA,uBAAA;EACA,qBAAA;AT+uXR;;AS3uXA;EACI,cAAA;EACA,iBAAA;AT8uXJ;;AS1uXA;EACI,kBAAA;EACA,qBAAA;EACA,WAAA;EACA,YAAA;EACA,iBAAA;EACA,sBAAA;AT6uXJ;;AS1uXA;EACI,UAAA;EACA,QAAA;EACA,SAAA;AT6uXJ;;AS1uXA;EACI,kBAAA;EACA,eAAA;EACA,MAAA;EACA,OAAA;EACA,QAAA;EACA,SAAA;EACA,yBAlwBS;EAmwBT,gBAAA;EACA,mBAAA;AT6uXJ;;AS1uXA;EACI,kBAAA;EACA,WAAA;EACA,YAAA;EACA,WAAA;EACA,SAAA;EACA,WAAA;EACA,uBAAA;EACA,gBAAA;EACA,kBAAA;AT6uXJ;;AS1uXA;EACI,6CAvxBU;ATogZd;;AS1uXA;EACI,2BAAA;AT6uXJ;;AS1uXA;EACI,mBAAA;AT6uXJ;;AS1uXA;EACI,kBAAA;AT6uXJ;;AS1uXA;EACI,gBAAA;EACA,sBAAA;EACA,mBAAA;EACA,eAAA;EACA,cA1yBQ;EA2yBR,iBAAA;AT6uXJ","file":"cantus-min.css","sourcesContent":["@charset \"UTF-8\";\n/*!\n * Bootstrap v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n@import url(\"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap\");\n:root,\n[data-bs-theme=light] {\n --bs-blue: #008cba;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #e83e8c;\n --bs-red: #f04124;\n --bs-orange: #fd7e14;\n --bs-yellow: #e99002;\n --bs-green: #43ac6a;\n --bs-teal: #20c997;\n --bs-cyan: #5bc0de;\n --bs-black: #000;\n --bs-white: #fff;\n --bs-gray: #888;\n --bs-gray-dark: #333;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #eee;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ccc;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #888;\n --bs-gray-700: #495057;\n --bs-gray-800: #333;\n --bs-gray-900: #222;\n --bs-primary: #008cba;\n --bs-secondary: #eee;\n --bs-success: #43ac6a;\n --bs-info: #5bc0de;\n --bs-warning: #e99002;\n --bs-danger: #f04124;\n --bs-light: #eee;\n --bs-dark: #333;\n --bs-primary-rgb: 0, 140, 186;\n --bs-secondary-rgb: 238, 238, 238;\n --bs-success-rgb: 67, 172, 106;\n --bs-info-rgb: 91, 192, 222;\n --bs-warning-rgb: 233, 144, 2;\n --bs-danger-rgb: 240, 65, 36;\n --bs-light-rgb: 238, 238, 238;\n --bs-dark-rgb: 51, 51, 51;\n --bs-primary-text-emphasis: rgb(0, 56, 74.4);\n --bs-secondary-text-emphasis: rgb(95.2, 95.2, 95.2);\n --bs-success-text-emphasis: rgb(26.8, 68.8, 42.4);\n --bs-info-text-emphasis: rgb(36.4, 76.8, 88.8);\n --bs-warning-text-emphasis: rgb(93.2, 57.6, 0.8);\n --bs-danger-text-emphasis: rgb(96, 26, 14.4);\n --bs-light-text-emphasis: #495057;\n --bs-dark-text-emphasis: #495057;\n --bs-primary-bg-subtle: rgb(204, 232, 241.2);\n --bs-secondary-bg-subtle: rgb(251.6, 251.6, 251.6);\n --bs-success-bg-subtle: rgb(217.4, 238.4, 225.2);\n --bs-info-bg-subtle: rgb(222.2, 242.4, 248.4);\n --bs-warning-bg-subtle: rgb(250.6, 232.8, 204.4);\n --bs-danger-bg-subtle: rgb(252, 217, 211.2);\n --bs-light-bg-subtle: rgb(251.5, 252, 252.5);\n --bs-dark-bg-subtle: #ccc;\n --bs-primary-border-subtle: rgb(153, 209, 227.4);\n --bs-secondary-border-subtle: rgb(248.2, 248.2, 248.2);\n --bs-success-border-subtle: rgb(179.8, 221.8, 195.4);\n --bs-info-border-subtle: rgb(189.4, 229.8, 241.8);\n --bs-warning-border-subtle: rgb(246.2, 210.6, 153.8);\n --bs-danger-border-subtle: rgb(249, 179, 167.4);\n --bs-light-border-subtle: #eee;\n --bs-dark-border-subtle: #adb5bd;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-font-sans-serif: \"Open Sans\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #222;\n --bs-body-color-rgb: 34, 34, 34;\n --bs-body-bg: #fff;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-emphasis-color: #000;\n --bs-emphasis-color-rgb: 0, 0, 0;\n --bs-secondary-color: rgba(34, 34, 34, 0.75);\n --bs-secondary-color-rgb: 34, 34, 34;\n --bs-secondary-bg: #eee;\n --bs-secondary-bg-rgb: 238, 238, 238;\n --bs-tertiary-color: rgba(34, 34, 34, 0.5);\n --bs-tertiary-color-rgb: 34, 34, 34;\n --bs-tertiary-bg: #f8f9fa;\n --bs-tertiary-bg-rgb: 248, 249, 250;\n --bs-heading-color: inherit;\n --bs-link-color: #c2342e;\n --bs-link-color-rgb: 194, 52, 46;\n --bs-link-decoration: none;\n --bs-link-hover-color: rgb(132.1625, 35.425, 31.3375);\n --bs-link-hover-color-rgb: 132, 35, 31;\n --bs-link-hover-decoration: underline;\n --bs-code-color: #e83e8c;\n --bs-highlight-bg: rgb(250.6, 232.8, 204.4);\n --bs-border-width: 1px;\n --bs-border-style: solid;\n --bs-border-color: #ddd;\n --bs-border-color-translucent: rgba(0, 0, 0, 0.175);\n --bs-border-radius: 0;\n --bs-border-radius-sm: 0;\n --bs-border-radius-lg: 0;\n --bs-border-radius-xl: 1rem;\n --bs-border-radius-xxl: 2rem;\n --bs-border-radius-2xl: var(--bs-border-radius-xxl);\n --bs-border-radius-pill: 50rem;\n --bs-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);\n --bs-box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);\n --bs-focus-ring-width: 0.25rem;\n --bs-focus-ring-opacity: 0.25;\n --bs-focus-ring-color: rgba(0, 140, 186, 0.25);\n --bs-form-valid-color: #43ac6a;\n --bs-form-valid-border-color: #43ac6a;\n --bs-form-invalid-color: #f04124;\n --bs-form-invalid-border-color: #f04124;\n}\n\n[data-bs-theme=dark] {\n color-scheme: dark;\n --bs-body-color: #adb5bd;\n --bs-body-color-rgb: 173, 181, 189;\n --bs-body-bg: #222;\n --bs-body-bg-rgb: 34, 34, 34;\n --bs-emphasis-color: #fff;\n --bs-emphasis-color-rgb: 255, 255, 255;\n --bs-secondary-color: rgba(173, 181, 189, 0.75);\n --bs-secondary-color-rgb: 173, 181, 189;\n --bs-secondary-bg: #333;\n --bs-secondary-bg-rgb: 51, 51, 51;\n --bs-tertiary-color: rgba(173, 181, 189, 0.5);\n --bs-tertiary-color-rgb: 173, 181, 189;\n --bs-tertiary-bg: rgb(42.5, 42.5, 42.5);\n --bs-tertiary-bg-rgb: 43, 43, 43;\n --bs-primary-text-emphasis: rgb(102, 186, 213.6);\n --bs-secondary-text-emphasis: rgb(244.8, 244.8, 244.8);\n --bs-success-text-emphasis: rgb(142.2, 205.2, 165.6);\n --bs-info-text-emphasis: rgb(156.6, 217.2, 235.2);\n --bs-warning-text-emphasis: rgb(241.8, 188.4, 103.2);\n --bs-danger-text-emphasis: rgb(246, 141, 123.6);\n --bs-light-text-emphasis: #f8f9fa;\n --bs-dark-text-emphasis: #dee2e6;\n --bs-primary-bg-subtle: rgb(0, 28, 37.2);\n --bs-secondary-bg-subtle: rgb(47.6, 47.6, 47.6);\n --bs-success-bg-subtle: rgb(13.4, 34.4, 21.2);\n --bs-info-bg-subtle: rgb(18.2, 38.4, 44.4);\n --bs-warning-bg-subtle: rgb(46.6, 28.8, 0.4);\n --bs-danger-bg-subtle: rgb(48, 13, 7.2);\n --bs-light-bg-subtle: #333;\n --bs-dark-bg-subtle: rgb(25.5, 25.5, 25.5);\n --bs-primary-border-subtle: rgb(0, 84, 111.6);\n --bs-secondary-border-subtle: rgb(142.8, 142.8, 142.8);\n --bs-success-border-subtle: rgb(40.2, 103.2, 63.6);\n --bs-info-border-subtle: rgb(54.6, 115.2, 133.2);\n --bs-warning-border-subtle: rgb(139.8, 86.4, 1.2);\n --bs-danger-border-subtle: rgb(144, 39, 21.6);\n --bs-light-border-subtle: #495057;\n --bs-dark-border-subtle: #333;\n --bs-heading-color: inherit;\n --bs-link-color: rgb(102, 186, 213.6);\n --bs-link-hover-color: rgb(132.6, 199.8, 221.88);\n --bs-link-color-rgb: 102, 186, 214;\n --bs-link-hover-color-rgb: 133, 200, 222;\n --bs-code-color: rgb(241.2, 139.2, 186);\n --bs-border-color: #495057;\n --bs-border-color-translucent: rgba(255, 255, 255, 0.15);\n --bs-form-valid-color: rgb(142.2, 205.2, 165.6);\n --bs-form-valid-border-color: rgb(142.2, 205.2, 165.6);\n --bs-form-invalid-color: rgb(246, 141, 123.6);\n --bs-form-invalid-border-color: rgb(246, 141, 123.6);\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n border: 0;\n border-top: var(--bs-border-width) solid;\n opacity: 0.25;\n}\n\nh6, .h6, h5, .h5, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 300;\n line-height: 1.2;\n color: var(--bs-heading-color);\n}\n\nh1, .h1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1, .h1 {\n font-size: 2.5rem;\n }\n}\n\nh2, .h2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2, .h2 {\n font-size: 2rem;\n }\n}\n\nh3, .h3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3, .h3 {\n font-size: 1.75rem;\n }\n}\n\nh4, .h4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4, .h4 {\n font-size: 1.5rem;\n }\n}\n\nh5, .h5 {\n font-size: 1.25rem;\n}\n\nh6, .h6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall, .small {\n font-size: 0.875em;\n}\n\nmark, .mark {\n padding: 0.1875em;\n background-color: var(--bs-highlight-bg);\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 1));\n text-decoration: none;\n}\na:hover {\n --bs-link-color-rgb: var(--bs-link-hover-color-rgb);\n text-decoration: underline;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: var(--bs-code-color);\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.1875rem 0.375rem;\n font-size: 0.875em;\n color: var(--bs-body-bg);\n background-color: var(--bs-body-color);\n border-radius: 0;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-secondary-color);\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator {\n display: none !important;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend {\n line-height: inherit;\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n.lead {\n font-size: 1.25rem;\n font-weight: 300;\n}\n\n.display-1 {\n font-size: calc(1.625rem + 4.5vw);\n}\n@media (min-width: 1200px) {\n .display-1 {\n font-size: 5rem;\n }\n}\n.display-1 {\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-2 {\n font-size: calc(1.575rem + 3.9vw);\n}\n@media (min-width: 1200px) {\n .display-2 {\n font-size: 4.5rem;\n }\n}\n.display-2 {\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-3 {\n font-size: calc(1.525rem + 3.3vw);\n}\n@media (min-width: 1200px) {\n .display-3 {\n font-size: 4rem;\n }\n}\n.display-3 {\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-4 {\n font-size: calc(1.475rem + 2.7vw);\n}\n@media (min-width: 1200px) {\n .display-4 {\n font-size: 3.5rem;\n }\n}\n.display-4 {\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-5 {\n font-size: calc(1.425rem + 2.1vw);\n}\n@media (min-width: 1200px) {\n .display-5 {\n font-size: 3rem;\n }\n}\n.display-5 {\n font-weight: 300;\n line-height: 1.2;\n}\n\n.display-6 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n .display-6 {\n font-size: 2.5rem;\n }\n}\n.display-6 {\n font-weight: 300;\n line-height: 1.2;\n}\n\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline {\n padding-left: 0;\n list-style: none;\n}\n\n.list-inline-item {\n display: inline-block;\n}\n.list-inline-item:not(:last-child) {\n margin-right: 0.5rem;\n}\n\n.initialism {\n font-size: 0.875em;\n text-transform: uppercase;\n}\n\n.blockquote {\n margin-bottom: 1rem;\n font-size: 1.25rem;\n}\n.blockquote > :last-child {\n margin-bottom: 0;\n}\n\n.blockquote-footer {\n margin-top: -1rem;\n margin-bottom: 1rem;\n font-size: 0.875em;\n color: #888;\n}\n.blockquote-footer::before {\n content: \"— \";\n}\n\n.img-fluid {\n max-width: 100%;\n height: auto;\n}\n\n.img-thumbnail {\n padding: 0.25rem;\n background-color: var(--bs-body-bg);\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n max-width: 100%;\n height: auto;\n}\n\n.figure {\n display: inline-block;\n}\n\n.figure-img {\n margin-bottom: 0.5rem;\n line-height: 1;\n}\n\n.figure-caption {\n font-size: 0.875em;\n color: var(--bs-secondary-color);\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n:root {\n --bs-breakpoint-xs: 0;\n --bs-breakpoint-sm: 576px;\n --bs-breakpoint-md: 768px;\n --bs-breakpoint-lg: 992px;\n --bs-breakpoint-xl: 1200px;\n --bs-breakpoint-xxl: 1400px;\n}\n\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(-1 * var(--bs-gutter-y));\n margin-right: calc(-0.5 * var(--bs-gutter-x));\n margin-left: calc(-0.5 * var(--bs-gutter-x));\n}\n.row > * {\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * 0.5);\n padding-left: calc(var(--bs-gutter-x) * 0.5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-sm-0 {\n margin-left: 0;\n }\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n .offset-sm-3 {\n margin-left: 25%;\n }\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n .offset-sm-6 {\n margin-left: 50%;\n }\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n .offset-sm-9 {\n margin-left: 75%;\n }\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n .g-sm-0,\n .gx-sm-0 {\n --bs-gutter-x: 0;\n }\n .g-sm-0,\n .gy-sm-0 {\n --bs-gutter-y: 0;\n }\n .g-sm-1,\n .gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-sm-1,\n .gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-sm-2,\n .gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-sm-2,\n .gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-sm-3,\n .gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n .g-sm-3,\n .gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n .g-sm-4,\n .gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-sm-4,\n .gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-sm-5,\n .gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n .g-sm-5,\n .gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-md-0 {\n margin-left: 0;\n }\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n .offset-md-3 {\n margin-left: 25%;\n }\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n .offset-md-6 {\n margin-left: 50%;\n }\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n .offset-md-9 {\n margin-left: 75%;\n }\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n .g-md-0,\n .gx-md-0 {\n --bs-gutter-x: 0;\n }\n .g-md-0,\n .gy-md-0 {\n --bs-gutter-y: 0;\n }\n .g-md-1,\n .gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-md-1,\n .gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-md-2,\n .gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-md-2,\n .gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-md-3,\n .gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n .g-md-3,\n .gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n .g-md-4,\n .gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-md-4,\n .gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-md-5,\n .gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n .g-md-5,\n .gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-lg-0 {\n margin-left: 0;\n }\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n .offset-lg-3 {\n margin-left: 25%;\n }\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n .offset-lg-6 {\n margin-left: 50%;\n }\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n .offset-lg-9 {\n margin-left: 75%;\n }\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n .g-lg-0,\n .gx-lg-0 {\n --bs-gutter-x: 0;\n }\n .g-lg-0,\n .gy-lg-0 {\n --bs-gutter-y: 0;\n }\n .g-lg-1,\n .gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-lg-1,\n .gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-lg-2,\n .gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-lg-2,\n .gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-lg-3,\n .gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n .g-lg-3,\n .gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n .g-lg-4,\n .gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-lg-4,\n .gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-lg-5,\n .gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n .g-lg-5,\n .gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xl-0 {\n margin-left: 0;\n }\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xl-3 {\n margin-left: 25%;\n }\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xl-6 {\n margin-left: 50%;\n }\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xl-9 {\n margin-left: 75%;\n }\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n .g-xl-0,\n .gx-xl-0 {\n --bs-gutter-x: 0;\n }\n .g-xl-0,\n .gy-xl-0 {\n --bs-gutter-y: 0;\n }\n .g-xl-1,\n .gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xl-1,\n .gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xl-2,\n .gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xl-2,\n .gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xl-3,\n .gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xl-3,\n .gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xl-4,\n .gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xl-4,\n .gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xl-5,\n .gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xl-5,\n .gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n .offset-xxl-0 {\n margin-left: 0;\n }\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n .offset-xxl-3 {\n margin-left: 25%;\n }\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n .offset-xxl-6 {\n margin-left: 50%;\n }\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n .offset-xxl-9 {\n margin-left: 75%;\n }\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n .g-xxl-0,\n .gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n .g-xxl-0,\n .gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n .g-xxl-1,\n .gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n .g-xxl-1,\n .gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n .g-xxl-2,\n .gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n .g-xxl-2,\n .gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n .g-xxl-3,\n .gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n .g-xxl-3,\n .gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n .g-xxl-4,\n .gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n .g-xxl-4,\n .gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n .g-xxl-5,\n .gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n .g-xxl-5,\n .gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.table {\n --bs-table-color-type: initial;\n --bs-table-bg-type: initial;\n --bs-table-color-state: initial;\n --bs-table-bg-state: initial;\n --bs-table-color: var(--bs-body-color);\n --bs-table-bg: var(--bs-body-bg);\n --bs-table-border-color: var(--bs-border-color);\n --bs-table-accent-bg: transparent;\n --bs-table-striped-color: var(--bs-body-color);\n --bs-table-striped-bg: rgba(0, 0, 0, 0.05);\n --bs-table-active-color: var(--bs-body-color);\n --bs-table-active-bg: rgba(0, 0, 0, 0.1);\n --bs-table-hover-color: var(--bs-body-color);\n --bs-table-hover-bg: rgba(0, 0, 0, 0.075);\n width: 100%;\n margin-bottom: 1rem;\n vertical-align: top;\n border-color: var(--bs-table-border-color);\n}\n.table > :not(caption) > * > * {\n padding: 0.5rem 0.5rem;\n color: var(--bs-table-color-state, var(--bs-table-color-type, var(--bs-table-color)));\n background-color: var(--bs-table-bg);\n border-bottom-width: var(--bs-border-width);\n box-shadow: inset 0 0 0 9999px var(--bs-table-bg-state, var(--bs-table-bg-type, var(--bs-table-accent-bg)));\n}\n.table > tbody {\n vertical-align: inherit;\n}\n.table > thead {\n vertical-align: bottom;\n}\n\n.table-group-divider {\n border-top: calc(var(--bs-border-width) * 2) solid currentcolor;\n}\n\n.caption-top {\n caption-side: top;\n}\n\n.table-sm > :not(caption) > * > * {\n padding: 0.25rem 0.25rem;\n}\n\n.table-bordered > :not(caption) > * {\n border-width: var(--bs-border-width) 0;\n}\n.table-bordered > :not(caption) > * > * {\n border-width: 0 var(--bs-border-width);\n}\n\n.table-borderless > :not(caption) > * > * {\n border-bottom-width: 0;\n}\n.table-borderless > :not(:first-child) {\n border-top-width: 0;\n}\n\n.table-striped > tbody > tr:nth-of-type(odd) > * {\n --bs-table-color-type: var(--bs-table-striped-color);\n --bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-striped-columns > :not(caption) > tr > :nth-child(even) {\n --bs-table-color-type: var(--bs-table-striped-color);\n --bs-table-bg-type: var(--bs-table-striped-bg);\n}\n\n.table-active {\n --bs-table-color-state: var(--bs-table-active-color);\n --bs-table-bg-state: var(--bs-table-active-bg);\n}\n\n.table-hover > tbody > tr:hover > * {\n --bs-table-color-state: var(--bs-table-hover-color);\n --bs-table-bg-state: var(--bs-table-hover-bg);\n}\n\n.table-primary {\n --bs-table-color: #fff;\n --bs-table-bg: #008cba;\n --bs-table-border-color: rgb(25.5, 151.5, 192.9);\n --bs-table-striped-bg: rgb(12.75, 145.75, 189.45);\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: rgb(25.5, 151.5, 192.9);\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: rgb(19.125, 148.625, 191.175);\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-secondary {\n --bs-table-color: #000;\n --bs-table-bg: #eeeeee;\n --bs-table-border-color: rgb(214.2, 214.2, 214.2);\n --bs-table-striped-bg: rgb(226.1, 226.1, 226.1);\n --bs-table-striped-color: #000;\n --bs-table-active-bg: rgb(214.2, 214.2, 214.2);\n --bs-table-active-color: #000;\n --bs-table-hover-bg: rgb(220.15, 220.15, 220.15);\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-success {\n --bs-table-color: #fff;\n --bs-table-bg: #43ac6a;\n --bs-table-border-color: rgb(85.8, 180.3, 120.9);\n --bs-table-striped-bg: rgb(76.4, 176.15, 113.45);\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: rgb(85.8, 180.3, 120.9);\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: rgb(81.1, 178.225, 117.175);\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-info {\n --bs-table-color: #fff;\n --bs-table-bg: #5bc0de;\n --bs-table-border-color: rgb(107.4, 198.3, 225.3);\n --bs-table-striped-bg: rgb(99.2, 195.15, 223.65);\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: rgb(107.4, 198.3, 225.3);\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: rgb(103.3, 196.725, 224.475);\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-warning {\n --bs-table-color: #fff;\n --bs-table-bg: #e99002;\n --bs-table-border-color: rgb(235.2, 155.1, 27.3);\n --bs-table-striped-bg: rgb(234.1, 149.55, 14.65);\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: rgb(235.2, 155.1, 27.3);\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: rgb(234.65, 152.325, 20.975);\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-danger {\n --bs-table-color: #fff;\n --bs-table-bg: #f04124;\n --bs-table-border-color: rgb(241.5, 84, 57.9);\n --bs-table-striped-bg: rgb(240.75, 74.5, 46.95);\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: rgb(241.5, 84, 57.9);\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: rgb(241.125, 79.25, 52.425);\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-light {\n --bs-table-color: #000;\n --bs-table-bg: #eee;\n --bs-table-border-color: rgb(214.2, 214.2, 214.2);\n --bs-table-striped-bg: rgb(226.1, 226.1, 226.1);\n --bs-table-striped-color: #000;\n --bs-table-active-bg: rgb(214.2, 214.2, 214.2);\n --bs-table-active-color: #000;\n --bs-table-hover-bg: rgb(220.15, 220.15, 220.15);\n --bs-table-hover-color: #000;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-dark {\n --bs-table-color: #fff;\n --bs-table-bg: #333;\n --bs-table-border-color: rgb(71.4, 71.4, 71.4);\n --bs-table-striped-bg: rgb(61.2, 61.2, 61.2);\n --bs-table-striped-color: #fff;\n --bs-table-active-bg: rgb(71.4, 71.4, 71.4);\n --bs-table-active-color: #fff;\n --bs-table-hover-bg: rgb(66.3, 66.3, 66.3);\n --bs-table-hover-color: #fff;\n color: var(--bs-table-color);\n border-color: var(--bs-table-border-color);\n}\n\n.table-responsive {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n}\n\n@media (max-width: 575.98px) {\n .table-responsive-sm {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 767.98px) {\n .table-responsive-md {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 991.98px) {\n .table-responsive-lg {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1199.98px) {\n .table-responsive-xl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n@media (max-width: 1399.98px) {\n .table-responsive-xxl {\n overflow-x: auto;\n -webkit-overflow-scrolling: touch;\n }\n}\n.form-label {\n margin-bottom: 0.5rem;\n}\n\n.col-form-label {\n padding-top: calc(0.375rem + var(--bs-border-width));\n padding-bottom: calc(0.375rem + var(--bs-border-width));\n margin-bottom: 0;\n font-size: inherit;\n line-height: 1.5;\n}\n\n.col-form-label-lg {\n padding-top: calc(0.5rem + var(--bs-border-width));\n padding-bottom: calc(0.5rem + var(--bs-border-width));\n font-size: 1.25rem;\n}\n\n.col-form-label-sm {\n padding-top: calc(0.25rem + var(--bs-border-width));\n padding-bottom: calc(0.25rem + var(--bs-border-width));\n font-size: 0.875rem;\n}\n\n.form-text {\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--bs-secondary-color);\n}\n\n.form-control {\n display: block;\n width: 100%;\n padding: 0.375rem 0.5rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n background-clip: padding-box;\n border: var(--bs-border-width) solid var(--bs-border-color);\n appearance: none;\n border-radius: var(--bs-border-radius);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control {\n transition: none;\n }\n}\n.form-control[type=file] {\n overflow: hidden;\n}\n.form-control[type=file]:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control:focus {\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n border-color: rgb(127.5, 197.5, 220.5);\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(0, 140, 186, 0.25);\n}\n.form-control::-webkit-date-and-time-value {\n min-width: 85px;\n height: 1.5em;\n margin: 0;\n}\n.form-control::-webkit-datetime-edit {\n display: block;\n padding: 0;\n}\n.form-control::placeholder {\n color: var(--bs-secondary-color);\n opacity: 1;\n}\n.form-control:disabled {\n background-color: var(--bs-secondary-bg);\n opacity: 1;\n}\n.form-control::file-selector-button {\n padding: 0.375rem 0.5rem;\n margin: -0.375rem -0.5rem;\n margin-inline-end: 0.5rem;\n color: var(--bs-body-color);\n background-color: var(--bs-tertiary-bg);\n pointer-events: none;\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n border-inline-end-width: var(--bs-border-width);\n border-radius: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-control::file-selector-button {\n transition: none;\n }\n}\n.form-control:hover:not(:disabled):not([readonly])::file-selector-button {\n background-color: var(--bs-secondary-bg);\n}\n\n.form-control-plaintext {\n display: block;\n width: 100%;\n padding: 0.375rem 0;\n margin-bottom: 0;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: transparent;\n border: solid transparent;\n border-width: var(--bs-border-width) 0;\n}\n.form-control-plaintext:focus {\n outline: 0;\n}\n.form-control-plaintext.form-control-sm, .form-control-plaintext.form-control-lg {\n padding-right: 0;\n padding-left: 0;\n}\n\n.form-control-sm {\n min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--bs-border-radius-sm);\n}\n.form-control-sm::file-selector-button {\n padding: 0.25rem 0.5rem;\n margin: -0.25rem -0.5rem;\n margin-inline-end: 0.5rem;\n}\n\n.form-control-lg {\n min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: var(--bs-border-radius-lg);\n}\n.form-control-lg::file-selector-button {\n padding: 0.5rem 1rem;\n margin: -0.5rem -1rem;\n margin-inline-end: 1rem;\n}\n\ntextarea.form-control {\n min-height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-sm {\n min-height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n}\ntextarea.form-control-lg {\n min-height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n}\n\n.form-control-color {\n width: 3rem;\n height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2));\n padding: 0.375rem;\n}\n.form-control-color:not(:disabled):not([readonly]) {\n cursor: pointer;\n}\n.form-control-color::-moz-color-swatch {\n border: 0 !important;\n border-radius: var(--bs-border-radius);\n}\n.form-control-color::-webkit-color-swatch {\n border: 0 !important;\n border-radius: var(--bs-border-radius);\n}\n.form-control-color.form-control-sm {\n height: calc(1.5em + 0.5rem + calc(var(--bs-border-width) * 2));\n}\n.form-control-color.form-control-lg {\n height: calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));\n}\n\n.form-select {\n --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23333' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n display: block;\n width: 100%;\n padding: 0.375rem 1.5rem 0.375rem 0.5rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n background-color: var(--bs-body-bg);\n background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);\n background-repeat: no-repeat;\n background-position: right 0.5rem center;\n background-size: 16px 12px;\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-select {\n transition: none;\n }\n}\n.form-select {\n appearance: none;\n}\n.form-select:focus {\n border-color: rgb(127.5, 197.5, 220.5);\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(0, 140, 186, 0.25);\n}\n.form-select[multiple], .form-select[size]:not([size=\"1\"]) {\n padding-right: 0.5rem;\n background-image: none;\n}\n.form-select:disabled {\n background-color: var(--bs-secondary-bg);\n}\n.form-select:-moz-focusring {\n color: transparent;\n text-shadow: 0 0 0 var(--bs-body-color);\n}\n\n.form-select-sm {\n padding-top: 0.25rem;\n padding-bottom: 0.25rem;\n padding-left: 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--bs-border-radius-sm);\n}\n\n.form-select-lg {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n padding-left: 1rem;\n font-size: 1.25rem;\n border-radius: var(--bs-border-radius-lg);\n}\n\n[data-bs-theme=dark] .form-select {\n --bs-form-select-bg-img: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23adb5bd' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e\");\n}\n\n.form-check {\n display: block;\n min-height: 1.5rem;\n padding-left: 1.5em;\n margin-bottom: 0.125rem;\n}\n.form-check .form-check-input {\n float: left;\n margin-left: -1.5em;\n}\n\n.form-check-reverse {\n padding-right: 1.5em;\n padding-left: 0;\n text-align: right;\n}\n.form-check-reverse .form-check-input {\n float: right;\n margin-right: -1.5em;\n margin-left: 0;\n}\n\n.form-check-input {\n --bs-form-check-bg: var(--bs-body-bg);\n width: 1em;\n height: 1em;\n margin-top: 0.25em;\n vertical-align: top;\n background-color: var(--bs-form-check-bg);\n background-image: var(--bs-form-check-bg-image);\n background-repeat: no-repeat;\n background-position: center;\n background-size: contain;\n border: var(--bs-border-width) solid var(--bs-border-color);\n appearance: none;\n print-color-adjust: exact;\n}\n.form-check-input[type=checkbox] {\n border-radius: 0.25em;\n}\n.form-check-input[type=radio] {\n border-radius: 50%;\n}\n.form-check-input:active {\n filter: brightness(90%);\n}\n.form-check-input:focus {\n border-color: rgb(127.5, 197.5, 220.5);\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(0, 140, 186, 0.25);\n}\n.form-check-input:checked {\n background-color: #008cba;\n border-color: #008cba;\n}\n.form-check-input:checked[type=checkbox] {\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='m6 10 3 3 6-6'/%3e%3c/svg%3e\");\n}\n.form-check-input:checked[type=radio] {\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-check-input[type=checkbox]:indeterminate {\n background-color: #008cba;\n border-color: #008cba;\n --bs-form-check-bg-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10h8'/%3e%3c/svg%3e\");\n}\n.form-check-input:disabled {\n pointer-events: none;\n filter: none;\n opacity: 0.5;\n}\n.form-check-input[disabled] ~ .form-check-label, .form-check-input:disabled ~ .form-check-label {\n cursor: default;\n opacity: 0.5;\n}\n\n.form-switch {\n padding-left: 2.5em;\n}\n.form-switch .form-check-input {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%280, 0, 0, 0.25%29'/%3e%3c/svg%3e\");\n width: 2em;\n margin-left: -2.5em;\n background-image: var(--bs-form-switch-bg);\n background-position: left center;\n border-radius: 2em;\n transition: background-position 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-switch .form-check-input {\n transition: none;\n }\n}\n.form-switch .form-check-input:focus {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgb%28127.5, 197.5, 220.5%29'/%3e%3c/svg%3e\");\n}\n.form-switch .form-check-input:checked {\n background-position: right center;\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e\");\n}\n.form-switch.form-check-reverse {\n padding-right: 2.5em;\n padding-left: 0;\n}\n.form-switch.form-check-reverse .form-check-input {\n margin-right: -2.5em;\n margin-left: 0;\n}\n\n.form-check-inline {\n display: inline-block;\n margin-right: 1rem;\n}\n\n.btn-check {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.btn-check[disabled] + .btn, .btn-check:disabled + .btn {\n pointer-events: none;\n filter: none;\n opacity: 0.65;\n}\n\n[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus) {\n --bs-form-switch-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28255, 255, 255, 0.25%29'/%3e%3c/svg%3e\");\n}\n\n.form-range {\n width: 100%;\n height: 1.5rem;\n padding: 0;\n background-color: transparent;\n appearance: none;\n}\n.form-range:focus {\n outline: 0;\n}\n.form-range:focus::-webkit-slider-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 140, 186, 0.25);\n}\n.form-range:focus::-moz-range-thumb {\n box-shadow: 0 0 0 1px #fff, 0 0 0 0.25rem rgba(0, 140, 186, 0.25);\n}\n.form-range::-moz-focus-outer {\n border: 0;\n}\n.form-range::-webkit-slider-thumb {\n width: 1rem;\n height: 1rem;\n margin-top: -0.25rem;\n background-color: #008cba;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-webkit-slider-thumb {\n transition: none;\n }\n}\n.form-range::-webkit-slider-thumb {\n appearance: none;\n}\n.form-range::-webkit-slider-thumb:active {\n background-color: rgb(178.5, 220.5, 234.3);\n}\n.form-range::-webkit-slider-runnable-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--bs-tertiary-bg);\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range::-moz-range-thumb {\n width: 1rem;\n height: 1rem;\n background-color: #008cba;\n border: 0;\n border-radius: 1rem;\n transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-range::-moz-range-thumb {\n transition: none;\n }\n}\n.form-range::-moz-range-thumb {\n appearance: none;\n}\n.form-range::-moz-range-thumb:active {\n background-color: rgb(178.5, 220.5, 234.3);\n}\n.form-range::-moz-range-track {\n width: 100%;\n height: 0.5rem;\n color: transparent;\n cursor: pointer;\n background-color: var(--bs-tertiary-bg);\n border-color: transparent;\n border-radius: 1rem;\n}\n.form-range:disabled {\n pointer-events: none;\n}\n.form-range:disabled::-webkit-slider-thumb {\n background-color: var(--bs-secondary-color);\n}\n.form-range:disabled::-moz-range-thumb {\n background-color: var(--bs-secondary-color);\n}\n\n.form-floating {\n position: relative;\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext,\n.form-floating > .form-select {\n height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n min-height: calc(3.5rem + calc(var(--bs-border-width) * 2));\n line-height: 1.25;\n}\n.form-floating > label {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 2;\n height: 100%;\n padding: 1rem 0.5rem;\n overflow: hidden;\n text-align: start;\n text-overflow: ellipsis;\n white-space: nowrap;\n pointer-events: none;\n border: var(--bs-border-width) solid transparent;\n transform-origin: 0 0;\n transition: opacity 0.1s ease-in-out, transform 0.1s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .form-floating > label {\n transition: none;\n }\n}\n.form-floating > .form-control,\n.form-floating > .form-control-plaintext {\n padding: 1rem 0.5rem;\n}\n.form-floating > .form-control::placeholder,\n.form-floating > .form-control-plaintext::placeholder {\n color: transparent;\n}\n.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),\n.form-floating > .form-control-plaintext:focus,\n.form-floating > .form-control-plaintext:not(:placeholder-shown) {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:-webkit-autofill,\n.form-floating > .form-control-plaintext:-webkit-autofill {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-select {\n padding-top: 1.625rem;\n padding-bottom: 0.625rem;\n}\n.form-floating > .form-control:focus ~ label,\n.form-floating > .form-control:not(:placeholder-shown) ~ label,\n.form-floating > .form-control-plaintext ~ label,\n.form-floating > .form-select ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control:focus ~ label::after,\n.form-floating > .form-control:not(:placeholder-shown) ~ label::after,\n.form-floating > .form-control-plaintext ~ label::after,\n.form-floating > .form-select ~ label::after {\n position: absolute;\n inset: 1rem 0.25rem;\n z-index: -1;\n height: 1.5em;\n content: \"\";\n background-color: var(--bs-body-bg);\n border-radius: var(--bs-border-radius);\n}\n.form-floating > .form-control:-webkit-autofill ~ label {\n color: rgba(var(--bs-body-color-rgb), 0.65);\n transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);\n}\n.form-floating > .form-control-plaintext ~ label {\n border-width: var(--bs-border-width) 0;\n}\n.form-floating > :disabled ~ label {\n color: #888;\n}\n.form-floating > :disabled ~ label::after {\n background-color: var(--bs-secondary-bg);\n}\n\n.input-group {\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: stretch;\n width: 100%;\n}\n.input-group > .form-control,\n.input-group > .form-select,\n.input-group > .form-floating {\n position: relative;\n flex: 1 1 auto;\n width: 1%;\n min-width: 0;\n}\n.input-group > .form-control:focus,\n.input-group > .form-select:focus,\n.input-group > .form-floating:focus-within {\n z-index: 5;\n}\n.input-group .btn {\n position: relative;\n z-index: 2;\n}\n.input-group .btn:focus {\n z-index: 5;\n}\n\n.input-group-text {\n display: flex;\n align-items: center;\n padding: 0.375rem 0.5rem;\n font-size: 1rem;\n font-weight: 400;\n line-height: 1.5;\n color: var(--bs-body-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--bs-tertiary-bg);\n border: var(--bs-border-width) solid var(--bs-border-color);\n border-radius: var(--bs-border-radius);\n}\n\n.input-group-lg > .form-control,\n.input-group-lg > .form-select,\n.input-group-lg > .input-group-text,\n.input-group-lg > .btn {\n padding: 0.5rem 1rem;\n font-size: 1.25rem;\n border-radius: var(--bs-border-radius-lg);\n}\n\n.input-group-sm > .form-control,\n.input-group-sm > .form-select,\n.input-group-sm > .input-group-text,\n.input-group-sm > .btn {\n padding: 0.25rem 0.5rem;\n font-size: 0.875rem;\n border-radius: var(--bs-border-radius-sm);\n}\n\n.input-group-lg > .form-select,\n.input-group-sm > .form-select {\n padding-right: 2rem;\n}\n\n.input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,\n.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),\n.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,\n.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group > :not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback) {\n margin-left: calc(var(--bs-border-width) * -1);\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group > .form-floating:not(:first-child) > .form-control,\n.input-group > .form-floating:not(:first-child) > .form-select {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.valid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--bs-form-valid-color);\n}\n\n.valid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: var(--bs-success);\n border-radius: var(--bs-border-radius);\n}\n\n.was-validated :valid ~ .valid-feedback,\n.was-validated :valid ~ .valid-tooltip,\n.is-valid ~ .valid-feedback,\n.is-valid ~ .valid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:valid, .form-control.is-valid {\n border-color: var(--bs-form-valid-border-color);\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2343ac6a' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:valid:focus, .form-control.is-valid:focus {\n border-color: var(--bs-form-valid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:valid, textarea.form-control.is-valid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:valid, .form-select.is-valid {\n border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-select:valid:not([multiple]):not([size]), .was-validated .form-select:valid:not([multiple])[size=\"1\"], .form-select.is-valid:not([multiple]):not([size]), .form-select.is-valid:not([multiple])[size=\"1\"] {\n --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%2343ac6a' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e\");\n padding-right: 2.75rem;\n background-position: right 0.5rem center, center right 1.5rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:valid:focus, .form-select.is-valid:focus {\n border-color: var(--bs-form-valid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n\n.was-validated .form-control-color:valid, .form-control-color.is-valid {\n width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:valid, .form-check-input.is-valid {\n border-color: var(--bs-form-valid-border-color);\n}\n.was-validated .form-check-input:valid:checked, .form-check-input.is-valid:checked {\n background-color: var(--bs-form-valid-color);\n}\n.was-validated .form-check-input:valid:focus, .form-check-input.is-valid:focus {\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-success-rgb), 0.25);\n}\n.was-validated .form-check-input:valid ~ .form-check-label, .form-check-input.is-valid ~ .form-check-label {\n color: var(--bs-form-valid-color);\n}\n\n.form-check-inline .form-check-input ~ .valid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):valid, .input-group > .form-control:not(:focus).is-valid,\n.was-validated .input-group > .form-select:not(:focus):valid,\n.input-group > .form-select:not(:focus).is-valid,\n.was-validated .input-group > .form-floating:not(:focus-within):valid,\n.input-group > .form-floating:not(:focus-within).is-valid {\n z-index: 3;\n}\n\n.invalid-feedback {\n display: none;\n width: 100%;\n margin-top: 0.25rem;\n font-size: 0.875em;\n color: var(--bs-form-invalid-color);\n}\n\n.invalid-tooltip {\n position: absolute;\n top: 100%;\n z-index: 5;\n display: none;\n max-width: 100%;\n padding: 0.25rem 0.5rem;\n margin-top: 0.1rem;\n font-size: 0.875rem;\n color: #fff;\n background-color: var(--bs-danger);\n border-radius: var(--bs-border-radius);\n}\n\n.was-validated :invalid ~ .invalid-feedback,\n.was-validated :invalid ~ .invalid-tooltip,\n.is-invalid ~ .invalid-feedback,\n.is-invalid ~ .invalid-tooltip {\n display: block;\n}\n\n.was-validated .form-control:invalid, .form-control.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n padding-right: calc(1.5em + 0.75rem);\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f04124'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f04124' stroke='none'/%3e%3c/svg%3e\");\n background-repeat: no-repeat;\n background-position: right calc(0.375em + 0.1875rem) center;\n background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-control:invalid:focus, .form-control.is-invalid:focus {\n border-color: var(--bs-form-invalid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated textarea.form-control:invalid, textarea.form-control.is-invalid {\n padding-right: calc(1.5em + 0.75rem);\n background-position: top calc(0.375em + 0.1875rem) right calc(0.375em + 0.1875rem);\n}\n\n.was-validated .form-select:invalid, .form-select.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-select:invalid:not([multiple]):not([size]), .was-validated .form-select:invalid:not([multiple])[size=\"1\"], .form-select.is-invalid:not([multiple]):not([size]), .form-select.is-invalid:not([multiple])[size=\"1\"] {\n --bs-form-select-bg-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23f04124'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23f04124' stroke='none'/%3e%3c/svg%3e\");\n padding-right: 2.75rem;\n background-position: right 0.5rem center, center right 1.5rem;\n background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);\n}\n.was-validated .form-select:invalid:focus, .form-select.is-invalid:focus {\n border-color: var(--bs-form-invalid-border-color);\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n\n.was-validated .form-control-color:invalid, .form-control-color.is-invalid {\n width: calc(3rem + calc(1.5em + 0.75rem));\n}\n\n.was-validated .form-check-input:invalid, .form-check-input.is-invalid {\n border-color: var(--bs-form-invalid-border-color);\n}\n.was-validated .form-check-input:invalid:checked, .form-check-input.is-invalid:checked {\n background-color: var(--bs-form-invalid-color);\n}\n.was-validated .form-check-input:invalid:focus, .form-check-input.is-invalid:focus {\n box-shadow: 0 0 0 0.25rem rgba(var(--bs-danger-rgb), 0.25);\n}\n.was-validated .form-check-input:invalid ~ .form-check-label, .form-check-input.is-invalid ~ .form-check-label {\n color: var(--bs-form-invalid-color);\n}\n\n.form-check-inline .form-check-input ~ .invalid-feedback {\n margin-left: 0.5em;\n}\n\n.was-validated .input-group > .form-control:not(:focus):invalid, .input-group > .form-control:not(:focus).is-invalid,\n.was-validated .input-group > .form-select:not(:focus):invalid,\n.input-group > .form-select:not(:focus).is-invalid,\n.was-validated .input-group > .form-floating:not(:focus-within):invalid,\n.input-group > .form-floating:not(:focus-within).is-invalid {\n z-index: 4;\n}\n\n.btn {\n --bs-btn-padding-x: 0.5rem;\n --bs-btn-padding-y: 0.375rem;\n --bs-btn-font-family: ;\n --bs-btn-font-size: 1rem;\n --bs-btn-font-weight: 300;\n --bs-btn-line-height: 1.5;\n --bs-btn-color: var(--bs-body-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-width: var(--bs-border-width);\n --bs-btn-border-color: transparent;\n --bs-btn-border-radius: var(--bs-border-radius);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15), 0 1px 1px rgba(0, 0, 0, 0.075);\n --bs-btn-disabled-opacity: 0.65;\n --bs-btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);\n display: inline-block;\n padding: var(--bs-btn-padding-y) var(--bs-btn-padding-x);\n font-family: var(--bs-btn-font-family);\n font-size: var(--bs-btn-font-size);\n font-weight: var(--bs-btn-font-weight);\n line-height: var(--bs-btn-line-height);\n color: var(--bs-btn-color);\n text-align: center;\n vertical-align: middle;\n cursor: pointer;\n user-select: none;\n border: var(--bs-btn-border-width) solid var(--bs-btn-border-color);\n border-radius: var(--bs-btn-border-radius);\n background-color: var(--bs-btn-bg);\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .btn {\n transition: none;\n }\n}\n.btn:hover {\n color: var(--bs-btn-hover-color);\n text-decoration: none;\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n}\n.btn-check + .btn:hover {\n color: var(--bs-btn-color);\n background-color: var(--bs-btn-bg);\n border-color: var(--bs-btn-border-color);\n}\n.btn:focus-visible {\n color: var(--bs-btn-hover-color);\n background-color: var(--bs-btn-hover-bg);\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:focus-visible + .btn {\n border-color: var(--bs-btn-hover-border-color);\n outline: 0;\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn-check:checked + .btn, :not(.btn-check) + .btn:active, .btn:first-child:active, .btn.active, .btn.show {\n color: var(--bs-btn-active-color);\n background-color: var(--bs-btn-active-bg);\n border-color: var(--bs-btn-active-border-color);\n}\n.btn-check:checked + .btn:focus-visible, :not(.btn-check) + .btn:active:focus-visible, .btn:first-child:active:focus-visible, .btn.active:focus-visible, .btn.show:focus-visible {\n box-shadow: var(--bs-btn-focus-box-shadow);\n}\n.btn:disabled, .btn.disabled, fieldset:disabled .btn {\n color: var(--bs-btn-disabled-color);\n pointer-events: none;\n background-color: var(--bs-btn-disabled-bg);\n border-color: var(--bs-btn-disabled-border-color);\n opacity: var(--bs-btn-disabled-opacity);\n}\n\n.btn-primary {\n --bs-btn-color: #fff;\n --bs-btn-bg: #008cba;\n --bs-btn-border-color: #008cba;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: rgb(0, 119, 158.1);\n --bs-btn-hover-border-color: rgb(0, 112, 148.8);\n --bs-btn-focus-shadow-rgb: 38, 157, 196;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: rgb(0, 112, 148.8);\n --bs-btn-active-border-color: rgb(0, 105, 139.5);\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #008cba;\n --bs-btn-disabled-border-color: #008cba;\n}\n\n.btn-secondary {\n --bs-btn-color: #000;\n --bs-btn-bg: #eee;\n --bs-btn-border-color: #eee;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: rgb(240.55, 240.55, 240.55);\n --bs-btn-hover-border-color: rgb(239.7, 239.7, 239.7);\n --bs-btn-focus-shadow-rgb: 202, 202, 202;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: rgb(241.4, 241.4, 241.4);\n --bs-btn-active-border-color: rgb(239.7, 239.7, 239.7);\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #eee;\n --bs-btn-disabled-border-color: #eee;\n}\n\n.btn-success {\n --bs-btn-color: #fff;\n --bs-btn-bg: #43ac6a;\n --bs-btn-border-color: #43ac6a;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: rgb(56.95, 146.2, 90.1);\n --bs-btn-hover-border-color: rgb(53.6, 137.6, 84.8);\n --bs-btn-focus-shadow-rgb: 95, 184, 128;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: rgb(53.6, 137.6, 84.8);\n --bs-btn-active-border-color: rgb(50.25, 129, 79.5);\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #43ac6a;\n --bs-btn-disabled-border-color: #43ac6a;\n}\n\n.btn-info {\n --bs-btn-color: #fff;\n --bs-btn-bg: #5bc0de;\n --bs-btn-border-color: #5bc0de;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: rgb(77.35, 163.2, 188.7);\n --bs-btn-hover-border-color: rgb(72.8, 153.6, 177.6);\n --bs-btn-focus-shadow-rgb: 116, 201, 227;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: rgb(72.8, 153.6, 177.6);\n --bs-btn-active-border-color: rgb(68.25, 144, 166.5);\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #5bc0de;\n --bs-btn-disabled-border-color: #5bc0de;\n}\n\n.btn-warning {\n --bs-btn-color: #fff;\n --bs-btn-bg: #e99002;\n --bs-btn-border-color: #e99002;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: rgb(198.05, 122.4, 1.7);\n --bs-btn-hover-border-color: rgb(186.4, 115.2, 1.6);\n --bs-btn-focus-shadow-rgb: 236, 161, 40;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: rgb(186.4, 115.2, 1.6);\n --bs-btn-active-border-color: rgb(174.75, 108, 1.5);\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #e99002;\n --bs-btn-disabled-border-color: #e99002;\n}\n\n.btn-danger {\n --bs-btn-color: #fff;\n --bs-btn-bg: #f04124;\n --bs-btn-border-color: #f04124;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: rgb(204, 55.25, 30.6);\n --bs-btn-hover-border-color: rgb(192, 52, 28.8);\n --bs-btn-focus-shadow-rgb: 242, 94, 69;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: rgb(192, 52, 28.8);\n --bs-btn-active-border-color: rgb(180, 48.75, 27);\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #f04124;\n --bs-btn-disabled-border-color: #f04124;\n}\n\n.btn-light {\n --bs-btn-color: #000;\n --bs-btn-bg: #eee;\n --bs-btn-border-color: #eee;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: rgb(202.3, 202.3, 202.3);\n --bs-btn-hover-border-color: rgb(190.4, 190.4, 190.4);\n --bs-btn-focus-shadow-rgb: 202, 202, 202;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: rgb(190.4, 190.4, 190.4);\n --bs-btn-active-border-color: rgb(178.5, 178.5, 178.5);\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #000;\n --bs-btn-disabled-bg: #eee;\n --bs-btn-disabled-border-color: #eee;\n}\n\n.btn-dark {\n --bs-btn-color: #fff;\n --bs-btn-bg: #333;\n --bs-btn-border-color: #333;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: rgb(81.6, 81.6, 81.6);\n --bs-btn-hover-border-color: rgb(71.4, 71.4, 71.4);\n --bs-btn-focus-shadow-rgb: 82, 82, 82;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: rgb(91.8, 91.8, 91.8);\n --bs-btn-active-border-color: rgb(71.4, 71.4, 71.4);\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #fff;\n --bs-btn-disabled-bg: #333;\n --bs-btn-disabled-border-color: #333;\n}\n\n.btn-outline-primary {\n --bs-btn-color: #008cba;\n --bs-btn-border-color: #008cba;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #008cba;\n --bs-btn-hover-border-color: #008cba;\n --bs-btn-focus-shadow-rgb: 0, 140, 186;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #008cba;\n --bs-btn-active-border-color: #008cba;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #008cba;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #008cba;\n --bs-gradient: none;\n}\n\n.btn-outline-secondary {\n --bs-btn-color: #eee;\n --bs-btn-border-color: #eee;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #eee;\n --bs-btn-hover-border-color: #eee;\n --bs-btn-focus-shadow-rgb: 238, 238, 238;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #eee;\n --bs-btn-active-border-color: #eee;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #eee;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #eee;\n --bs-gradient: none;\n}\n\n.btn-outline-success {\n --bs-btn-color: #43ac6a;\n --bs-btn-border-color: #43ac6a;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #43ac6a;\n --bs-btn-hover-border-color: #43ac6a;\n --bs-btn-focus-shadow-rgb: 67, 172, 106;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #43ac6a;\n --bs-btn-active-border-color: #43ac6a;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #43ac6a;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #43ac6a;\n --bs-gradient: none;\n}\n\n.btn-outline-info {\n --bs-btn-color: #5bc0de;\n --bs-btn-border-color: #5bc0de;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #5bc0de;\n --bs-btn-hover-border-color: #5bc0de;\n --bs-btn-focus-shadow-rgb: 91, 192, 222;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #5bc0de;\n --bs-btn-active-border-color: #5bc0de;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #5bc0de;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #5bc0de;\n --bs-gradient: none;\n}\n\n.btn-outline-warning {\n --bs-btn-color: #e99002;\n --bs-btn-border-color: #e99002;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #e99002;\n --bs-btn-hover-border-color: #e99002;\n --bs-btn-focus-shadow-rgb: 233, 144, 2;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #e99002;\n --bs-btn-active-border-color: #e99002;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #e99002;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #e99002;\n --bs-gradient: none;\n}\n\n.btn-outline-danger {\n --bs-btn-color: #f04124;\n --bs-btn-border-color: #f04124;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #f04124;\n --bs-btn-hover-border-color: #f04124;\n --bs-btn-focus-shadow-rgb: 240, 65, 36;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #f04124;\n --bs-btn-active-border-color: #f04124;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #f04124;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #f04124;\n --bs-gradient: none;\n}\n\n.btn-outline-light {\n --bs-btn-color: #eee;\n --bs-btn-border-color: #eee;\n --bs-btn-hover-color: #000;\n --bs-btn-hover-bg: #eee;\n --bs-btn-hover-border-color: #eee;\n --bs-btn-focus-shadow-rgb: 238, 238, 238;\n --bs-btn-active-color: #000;\n --bs-btn-active-bg: #eee;\n --bs-btn-active-border-color: #eee;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #eee;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #eee;\n --bs-gradient: none;\n}\n\n.btn-outline-dark {\n --bs-btn-color: #333;\n --bs-btn-border-color: #333;\n --bs-btn-hover-color: #fff;\n --bs-btn-hover-bg: #333;\n --bs-btn-hover-border-color: #333;\n --bs-btn-focus-shadow-rgb: 51, 51, 51;\n --bs-btn-active-color: #fff;\n --bs-btn-active-bg: #333;\n --bs-btn-active-border-color: #333;\n --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n --bs-btn-disabled-color: #333;\n --bs-btn-disabled-bg: transparent;\n --bs-btn-disabled-border-color: #333;\n --bs-gradient: none;\n}\n\n.btn-link {\n --bs-btn-font-weight: 400;\n --bs-btn-color: var(--bs-link-color);\n --bs-btn-bg: transparent;\n --bs-btn-border-color: transparent;\n --bs-btn-hover-color: var(--bs-link-hover-color);\n --bs-btn-hover-border-color: transparent;\n --bs-btn-active-color: var(--bs-link-hover-color);\n --bs-btn-active-border-color: transparent;\n --bs-btn-disabled-color: #888;\n --bs-btn-disabled-border-color: transparent;\n --bs-btn-box-shadow: 0 0 0 #000;\n --bs-btn-focus-shadow-rgb: 203, 82, 77;\n text-decoration: none;\n}\n.btn-link:hover, .btn-link:focus-visible {\n text-decoration: underline;\n}\n.btn-link:focus-visible {\n color: var(--bs-btn-color);\n}\n.btn-link:hover {\n color: var(--bs-btn-hover-color);\n}\n\n.btn-lg, .btn-group-lg > .btn {\n --bs-btn-padding-y: 0.5rem;\n --bs-btn-padding-x: 1rem;\n --bs-btn-font-size: 1.25rem;\n --bs-btn-border-radius: var(--bs-border-radius-lg);\n}\n\n.btn-sm, .btn-group-sm > .btn {\n --bs-btn-padding-y: 0.25rem;\n --bs-btn-padding-x: 0.5rem;\n --bs-btn-font-size: 0.875rem;\n --bs-btn-border-radius: var(--bs-border-radius-sm);\n}\n\n.fade {\n transition: opacity 0.15s linear;\n}\n@media (prefers-reduced-motion: reduce) {\n .fade {\n transition: none;\n }\n}\n.fade:not(.show) {\n opacity: 0;\n}\n\n.collapse:not(.show) {\n display: none;\n}\n\n.collapsing {\n height: 0;\n overflow: hidden;\n transition: height 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing {\n transition: none;\n }\n}\n.collapsing.collapse-horizontal {\n width: 0;\n height: auto;\n transition: width 0.35s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .collapsing.collapse-horizontal {\n transition: none;\n }\n}\n\n.dropup,\n.dropend,\n.dropdown,\n.dropstart,\n.dropup-center,\n.dropdown-center {\n position: relative;\n}\n\n.dropdown-toggle {\n white-space: nowrap;\n}\n.dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid;\n border-right: 0.3em solid transparent;\n border-bottom: 0;\n border-left: 0.3em solid transparent;\n}\n.dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropdown-menu {\n --bs-dropdown-zindex: 1000;\n --bs-dropdown-min-width: 10rem;\n --bs-dropdown-padding-x: 0;\n --bs-dropdown-padding-y: 0.5rem;\n --bs-dropdown-spacer: 0.125rem;\n --bs-dropdown-font-size: 1rem;\n --bs-dropdown-color: var(--bs-body-color);\n --bs-dropdown-bg: var(--bs-body-bg);\n --bs-dropdown-border-color: rgba(0, 0, 0, 0.1);\n --bs-dropdown-border-radius: var(--bs-border-radius);\n --bs-dropdown-border-width: var(--bs-border-width);\n --bs-dropdown-inner-border-radius: calc(var(--bs-border-radius) - var(--bs-border-width));\n --bs-dropdown-divider-bg: rgba(0, 0, 0, 0.1);\n --bs-dropdown-divider-margin-y: 0.5rem;\n --bs-dropdown-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-dropdown-link-color: var(--bs-body-color);\n --bs-dropdown-link-hover-color: var(--bs-body-color);\n --bs-dropdown-link-hover-bg: var(--bs-tertiary-bg);\n --bs-dropdown-link-active-color: #fff;\n --bs-dropdown-link-active-bg: #008cba;\n --bs-dropdown-link-disabled-color: var(--bs-tertiary-color);\n --bs-dropdown-item-padding-x: 1rem;\n --bs-dropdown-item-padding-y: 0.25rem;\n --bs-dropdown-header-color: #888;\n --bs-dropdown-header-padding-x: 1rem;\n --bs-dropdown-header-padding-y: 0.5rem;\n position: absolute;\n z-index: var(--bs-dropdown-zindex);\n display: none;\n min-width: var(--bs-dropdown-min-width);\n padding: var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);\n margin: 0;\n font-size: var(--bs-dropdown-font-size);\n color: var(--bs-dropdown-color);\n text-align: left;\n list-style: none;\n background-color: var(--bs-dropdown-bg);\n background-clip: padding-box;\n border: var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);\n border-radius: var(--bs-dropdown-border-radius);\n}\n.dropdown-menu[data-bs-popper] {\n top: 100%;\n left: 0;\n margin-top: var(--bs-dropdown-spacer);\n}\n\n.dropdown-menu-start {\n --bs-position: start;\n}\n.dropdown-menu-start[data-bs-popper] {\n right: auto;\n left: 0;\n}\n\n.dropdown-menu-end {\n --bs-position: end;\n}\n.dropdown-menu-end[data-bs-popper] {\n right: 0;\n left: auto;\n}\n\n@media (min-width: 576px) {\n .dropdown-menu-sm-start {\n --bs-position: start;\n }\n .dropdown-menu-sm-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-sm-end {\n --bs-position: end;\n }\n .dropdown-menu-sm-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 768px) {\n .dropdown-menu-md-start {\n --bs-position: start;\n }\n .dropdown-menu-md-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-md-end {\n --bs-position: end;\n }\n .dropdown-menu-md-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 992px) {\n .dropdown-menu-lg-start {\n --bs-position: start;\n }\n .dropdown-menu-lg-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-lg-end {\n --bs-position: end;\n }\n .dropdown-menu-lg-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1200px) {\n .dropdown-menu-xl-start {\n --bs-position: start;\n }\n .dropdown-menu-xl-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xl-end {\n --bs-position: end;\n }\n .dropdown-menu-xl-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n@media (min-width: 1400px) {\n .dropdown-menu-xxl-start {\n --bs-position: start;\n }\n .dropdown-menu-xxl-start[data-bs-popper] {\n right: auto;\n left: 0;\n }\n .dropdown-menu-xxl-end {\n --bs-position: end;\n }\n .dropdown-menu-xxl-end[data-bs-popper] {\n right: 0;\n left: auto;\n }\n}\n.dropup .dropdown-menu[data-bs-popper] {\n top: auto;\n bottom: 100%;\n margin-top: 0;\n margin-bottom: var(--bs-dropdown-spacer);\n}\n.dropup .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0;\n border-right: 0.3em solid transparent;\n border-bottom: 0.3em solid;\n border-left: 0.3em solid transparent;\n}\n.dropup .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n\n.dropend .dropdown-menu[data-bs-popper] {\n top: 0;\n right: auto;\n left: 100%;\n margin-top: 0;\n margin-left: var(--bs-dropdown-spacer);\n}\n.dropend .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0;\n border-bottom: 0.3em solid transparent;\n border-left: 0.3em solid;\n}\n.dropend .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropend .dropdown-toggle::after {\n vertical-align: 0;\n}\n\n.dropstart .dropdown-menu[data-bs-popper] {\n top: 0;\n right: 100%;\n left: auto;\n margin-top: 0;\n margin-right: var(--bs-dropdown-spacer);\n}\n.dropstart .dropdown-toggle::after {\n display: inline-block;\n margin-left: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n}\n.dropstart .dropdown-toggle::after {\n display: none;\n}\n.dropstart .dropdown-toggle::before {\n display: inline-block;\n margin-right: 0.255em;\n vertical-align: 0.255em;\n content: \"\";\n border-top: 0.3em solid transparent;\n border-right: 0.3em solid;\n border-bottom: 0.3em solid transparent;\n}\n.dropstart .dropdown-toggle:empty::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle::before {\n vertical-align: 0;\n}\n\n.dropdown-divider {\n height: 0;\n margin: var(--bs-dropdown-divider-margin-y) 0;\n overflow: hidden;\n border-top: 1px solid var(--bs-dropdown-divider-bg);\n opacity: 1;\n}\n\n.dropdown-item {\n display: block;\n width: 100%;\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n clear: both;\n font-weight: 400;\n color: var(--bs-dropdown-link-color);\n text-align: inherit;\n white-space: nowrap;\n background-color: transparent;\n border: 0;\n border-radius: var(--bs-dropdown-item-border-radius, 0);\n}\n.dropdown-item:hover, .dropdown-item:focus {\n color: var(--bs-dropdown-link-hover-color);\n text-decoration: none;\n background-color: var(--bs-dropdown-link-hover-bg);\n}\n.dropdown-item.active, .dropdown-item:active {\n color: var(--bs-dropdown-link-active-color);\n text-decoration: none;\n background-color: var(--bs-dropdown-link-active-bg);\n}\n.dropdown-item.disabled, .dropdown-item:disabled {\n color: var(--bs-dropdown-link-disabled-color);\n pointer-events: none;\n background-color: transparent;\n}\n\n.dropdown-menu.show {\n display: block;\n}\n\n.dropdown-header {\n display: block;\n padding: var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);\n margin-bottom: 0;\n font-size: 0.875rem;\n color: var(--bs-dropdown-header-color);\n white-space: nowrap;\n}\n\n.dropdown-item-text {\n display: block;\n padding: var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);\n color: var(--bs-dropdown-link-color);\n}\n\n.dropdown-menu-dark {\n --bs-dropdown-color: #dee2e6;\n --bs-dropdown-bg: #333;\n --bs-dropdown-border-color: rgba(0, 0, 0, 0.1);\n --bs-dropdown-box-shadow: ;\n --bs-dropdown-link-color: #dee2e6;\n --bs-dropdown-link-hover-color: #fff;\n --bs-dropdown-divider-bg: rgba(0, 0, 0, 0.1);\n --bs-dropdown-link-hover-bg: rgba(255, 255, 255, 0.15);\n --bs-dropdown-link-active-color: #fff;\n --bs-dropdown-link-active-bg: #008cba;\n --bs-dropdown-link-disabled-color: #adb5bd;\n --bs-dropdown-header-color: #adb5bd;\n}\n\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-flex;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n flex: 1 1 auto;\n}\n.btn-group > .btn-check:checked + .btn,\n.btn-group > .btn-check:focus + .btn,\n.btn-group > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn-check:checked + .btn,\n.btn-group-vertical > .btn-check:focus + .btn,\n.btn-group-vertical > .btn:hover,\n.btn-group-vertical > .btn:focus,\n.btn-group-vertical > .btn:active,\n.btn-group-vertical > .btn.active {\n z-index: 1;\n}\n\n.btn-toolbar {\n display: flex;\n flex-wrap: wrap;\n justify-content: flex-start;\n}\n.btn-toolbar .input-group {\n width: auto;\n}\n\n.btn-group {\n border-radius: var(--bs-border-radius);\n}\n.btn-group > :not(.btn-check:first-child) + .btn,\n.btn-group > .btn-group:not(:first-child) {\n margin-left: calc(var(--bs-border-width) * -1);\n}\n.btn-group > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group > .btn.dropdown-toggle-split:first-child,\n.btn-group > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:nth-child(n+3),\n.btn-group > :not(.btn-check) + .btn,\n.btn-group > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n.dropdown-toggle-split::after, .dropup .dropdown-toggle-split::after, .dropend .dropdown-toggle-split::after {\n margin-left: 0;\n}\n.dropstart .dropdown-toggle-split::before {\n margin-right: 0;\n}\n\n.btn-sm + .dropdown-toggle-split, .btn-group-sm > .btn + .dropdown-toggle-split {\n padding-right: 0.375rem;\n padding-left: 0.375rem;\n}\n\n.btn-lg + .dropdown-toggle-split, .btn-group-lg > .btn + .dropdown-toggle-split {\n padding-right: 0.75rem;\n padding-left: 0.75rem;\n}\n\n.btn-group-vertical {\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group {\n width: 100%;\n}\n.btn-group-vertical > .btn:not(:first-child),\n.btn-group-vertical > .btn-group:not(:first-child) {\n margin-top: calc(var(--bs-border-width) * -1);\n}\n.btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),\n.btn-group-vertical > .btn-group:not(:last-child) > .btn {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn ~ .btn,\n.btn-group-vertical > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav {\n --bs-nav-link-padding-x: 1rem;\n --bs-nav-link-padding-y: 0.5rem;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-link-color);\n --bs-nav-link-hover-color: var(--bs-link-hover-color);\n --bs-nav-link-disabled-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n\n.nav-link {\n display: block;\n padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);\n font-size: var(--bs-nav-link-font-size);\n font-weight: var(--bs-nav-link-font-weight);\n color: var(--bs-nav-link-color);\n background: none;\n border: 0;\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .nav-link {\n transition: none;\n }\n}\n.nav-link:hover, .nav-link:focus {\n color: var(--bs-nav-link-hover-color);\n text-decoration: none;\n}\n.nav-link:focus-visible {\n outline: 0;\n box-shadow: 0 0 0 0.25rem rgba(0, 140, 186, 0.25);\n}\n.nav-link.disabled {\n color: var(--bs-nav-link-disabled-color);\n pointer-events: none;\n cursor: default;\n}\n\n.nav-tabs {\n --bs-nav-tabs-border-width: var(--bs-border-width);\n --bs-nav-tabs-border-color: var(--bs-border-color);\n --bs-nav-tabs-border-radius: var(--bs-border-radius);\n --bs-nav-tabs-link-hover-border-color: var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);\n --bs-nav-tabs-link-active-color: var(--bs-emphasis-color);\n --bs-nav-tabs-link-active-bg: var(--bs-body-bg);\n --bs-nav-tabs-link-active-border-color: var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);\n border-bottom: var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color);\n}\n.nav-tabs .nav-link {\n margin-bottom: calc(-1 * var(--bs-nav-tabs-border-width));\n border: var(--bs-nav-tabs-border-width) solid transparent;\n border-top-left-radius: var(--bs-nav-tabs-border-radius);\n border-top-right-radius: var(--bs-nav-tabs-border-radius);\n}\n.nav-tabs .nav-link:hover, .nav-tabs .nav-link:focus {\n isolation: isolate;\n border-color: var(--bs-nav-tabs-link-hover-border-color);\n}\n.nav-tabs .nav-link.disabled, .nav-tabs .nav-link:disabled {\n color: var(--bs-nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n}\n.nav-tabs .nav-link.active,\n.nav-tabs .nav-item.show .nav-link {\n color: var(--bs-nav-tabs-link-active-color);\n background-color: var(--bs-nav-tabs-link-active-bg);\n border-color: var(--bs-nav-tabs-link-active-border-color);\n}\n.nav-tabs .dropdown-menu {\n margin-top: calc(-1 * var(--bs-nav-tabs-border-width));\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.nav-pills {\n --bs-nav-pills-border-radius: var(--bs-border-radius);\n --bs-nav-pills-link-active-color: #fff;\n --bs-nav-pills-link-active-bg: #008cba;\n}\n.nav-pills .nav-link {\n border-radius: var(--bs-nav-pills-border-radius);\n}\n.nav-pills .nav-link:disabled {\n color: var(--bs-nav-link-disabled-color);\n background-color: transparent;\n border-color: transparent;\n}\n.nav-pills .nav-link.active,\n.nav-pills .show > .nav-link {\n color: var(--bs-nav-pills-link-active-color);\n background-color: var(--bs-nav-pills-link-active-bg);\n}\n\n.nav-underline {\n --bs-nav-underline-gap: 1rem;\n --bs-nav-underline-border-width: 0.125rem;\n --bs-nav-underline-link-active-color: var(--bs-emphasis-color);\n gap: var(--bs-nav-underline-gap);\n}\n.nav-underline .nav-link {\n padding-right: 0;\n padding-left: 0;\n border-bottom: var(--bs-nav-underline-border-width) solid transparent;\n}\n.nav-underline .nav-link:hover, .nav-underline .nav-link:focus {\n border-bottom-color: currentcolor;\n}\n.nav-underline .nav-link.active,\n.nav-underline .show > .nav-link {\n font-weight: 700;\n color: var(--bs-nav-underline-link-active-color);\n border-bottom-color: currentcolor;\n}\n\n.nav-fill > .nav-link,\n.nav-fill .nav-item {\n flex: 1 1 auto;\n text-align: center;\n}\n\n.nav-justified > .nav-link,\n.nav-justified .nav-item {\n flex-basis: 0;\n flex-grow: 1;\n text-align: center;\n}\n\n.nav-fill .nav-item .nav-link,\n.nav-justified .nav-item .nav-link {\n width: 100%;\n}\n\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n\n.navbar {\n --bs-navbar-padding-x: 0;\n --bs-navbar-padding-y: 0em;\n --bs-navbar-color: rgba(var(--bs-emphasis-color-rgb), 0.65);\n --bs-navbar-hover-color: rgba(var(--bs-emphasis-color-rgb), 0.8);\n --bs-navbar-disabled-color: rgba(var(--bs-emphasis-color-rgb), 0.3);\n --bs-navbar-active-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-brand-padding-y: 0.3125rem;\n --bs-navbar-brand-margin-end: 1rem;\n --bs-navbar-brand-font-size: 1.25rem;\n --bs-navbar-brand-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-brand-hover-color: rgba(var(--bs-emphasis-color-rgb), 1);\n --bs-navbar-nav-link-padding-x: 0.5rem;\n --bs-navbar-toggler-padding-y: 0rem;\n --bs-navbar-toggler-padding-x: 0.75rem;\n --bs-navbar-toggler-font-size: 1.25rem;\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2834, 34, 34, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n --bs-navbar-toggler-border-color: rgba(var(--bs-emphasis-color-rgb), 0.15);\n --bs-navbar-toggler-border-radius: var(--bs-border-radius);\n --bs-navbar-toggler-focus-width: 0rem;\n --bs-navbar-toggler-transition: box-shadow 0.15s ease-in-out;\n position: relative;\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-navbar-padding-y) var(--bs-navbar-padding-x);\n}\n.navbar > .container,\n.navbar > .container-fluid,\n.navbar > .container-sm,\n.navbar > .container-md,\n.navbar > .container-lg,\n.navbar > .container-xl,\n.navbar > .container-xxl {\n display: flex;\n flex-wrap: inherit;\n align-items: center;\n justify-content: space-between;\n}\n.navbar-brand {\n padding-top: var(--bs-navbar-brand-padding-y);\n padding-bottom: var(--bs-navbar-brand-padding-y);\n margin-right: var(--bs-navbar-brand-margin-end);\n font-size: var(--bs-navbar-brand-font-size);\n color: var(--bs-navbar-brand-color);\n white-space: nowrap;\n}\n.navbar-brand:hover, .navbar-brand:focus {\n color: var(--bs-navbar-brand-hover-color);\n text-decoration: none;\n}\n\n.navbar-nav {\n --bs-nav-link-padding-x: 0;\n --bs-nav-link-padding-y: 0.5rem;\n --bs-nav-link-font-weight: ;\n --bs-nav-link-color: var(--bs-navbar-color);\n --bs-nav-link-hover-color: var(--bs-navbar-hover-color);\n --bs-nav-link-disabled-color: var(--bs-navbar-disabled-color);\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.navbar-nav .nav-link.active, .navbar-nav .nav-link.show {\n color: var(--bs-navbar-active-color);\n}\n.navbar-nav .dropdown-menu {\n position: static;\n}\n\n.navbar-text {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: var(--bs-navbar-color);\n}\n.navbar-text a,\n.navbar-text a:hover,\n.navbar-text a:focus {\n color: var(--bs-navbar-active-color);\n}\n\n.navbar-collapse {\n flex-basis: 100%;\n flex-grow: 1;\n align-items: center;\n}\n\n.navbar-toggler {\n padding: var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);\n font-size: var(--bs-navbar-toggler-font-size);\n line-height: 1;\n color: var(--bs-navbar-color);\n background-color: transparent;\n border: var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);\n border-radius: var(--bs-navbar-toggler-border-radius);\n transition: var(--bs-navbar-toggler-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .navbar-toggler {\n transition: none;\n }\n}\n.navbar-toggler:hover {\n text-decoration: none;\n}\n.navbar-toggler:focus {\n text-decoration: none;\n outline: 0;\n box-shadow: 0 0 0 var(--bs-navbar-toggler-focus-width);\n}\n\n.navbar-toggler-icon {\n display: inline-block;\n width: 1.5em;\n height: 1.5em;\n vertical-align: middle;\n background-image: var(--bs-navbar-toggler-icon-bg);\n background-repeat: no-repeat;\n background-position: center;\n background-size: 100%;\n}\n\n.navbar-nav-scroll {\n max-height: var(--bs-scroll-height, 75vh);\n overflow-y: auto;\n}\n\n@media (min-width: 576px) {\n .navbar-expand-sm {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-sm .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-sm .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-sm .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-sm .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-sm .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-sm .navbar-toggler {\n display: none;\n }\n .navbar-expand-sm .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-sm .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 768px) {\n .navbar-expand-md {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-md .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-md .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-md .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-md .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-md .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-md .navbar-toggler {\n display: none;\n }\n .navbar-expand-md .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-md .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 992px) {\n .navbar-expand-lg {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-lg .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-lg .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-lg .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-lg .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-lg .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-lg .navbar-toggler {\n display: none;\n }\n .navbar-expand-lg .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-lg .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1200px) {\n .navbar-expand-xl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xl .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-xl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n@media (min-width: 1400px) {\n .navbar-expand-xxl {\n flex-wrap: nowrap;\n justify-content: flex-start;\n }\n .navbar-expand-xxl .navbar-nav {\n flex-direction: row;\n }\n .navbar-expand-xxl .navbar-nav .dropdown-menu {\n position: absolute;\n }\n .navbar-expand-xxl .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n }\n .navbar-expand-xxl .navbar-nav-scroll {\n overflow: visible;\n }\n .navbar-expand-xxl .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n }\n .navbar-expand-xxl .navbar-toggler {\n display: none;\n }\n .navbar-expand-xxl .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-header {\n display: none;\n }\n .navbar-expand-xxl .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n }\n}\n.navbar-expand {\n flex-wrap: nowrap;\n justify-content: flex-start;\n}\n.navbar-expand .navbar-nav {\n flex-direction: row;\n}\n.navbar-expand .navbar-nav .dropdown-menu {\n position: absolute;\n}\n.navbar-expand .navbar-nav .nav-link {\n padding-right: var(--bs-navbar-nav-link-padding-x);\n padding-left: var(--bs-navbar-nav-link-padding-x);\n}\n.navbar-expand .navbar-nav-scroll {\n overflow: visible;\n}\n.navbar-expand .navbar-collapse {\n display: flex !important;\n flex-basis: auto;\n}\n.navbar-expand .navbar-toggler {\n display: none;\n}\n.navbar-expand .offcanvas {\n position: static;\n z-index: auto;\n flex-grow: 1;\n width: auto !important;\n height: auto !important;\n visibility: visible !important;\n background-color: transparent !important;\n border: 0 !important;\n transform: none !important;\n transition: none;\n}\n.navbar-expand .offcanvas .offcanvas-header {\n display: none;\n}\n.navbar-expand .offcanvas .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n}\n\n.navbar-dark,\n.navbar[data-bs-theme=dark] {\n --bs-navbar-color: rgba(255, 255, 255, 0.7);\n --bs-navbar-hover-color: #fff;\n --bs-navbar-disabled-color: rgba(255, 255, 255, 0.25);\n --bs-navbar-active-color: #fff;\n --bs-navbar-brand-color: #fff;\n --bs-navbar-brand-hover-color: #fff;\n --bs-navbar-toggler-border-color: rgba(255, 255, 255, 0.1);\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n[data-bs-theme=dark] .navbar-toggler-icon {\n --bs-navbar-toggler-icon-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e\");\n}\n\n.card {\n --bs-card-spacer-y: 1rem;\n --bs-card-spacer-x: 1rem;\n --bs-card-title-spacer-y: 0.5rem;\n --bs-card-title-color: ;\n --bs-card-subtitle-color: ;\n --bs-card-border-width: var(--bs-border-width);\n --bs-card-border-color: var(--bs-border-color-translucent);\n --bs-card-border-radius: var(--bs-border-radius);\n --bs-card-box-shadow: ;\n --bs-card-inner-border-radius: 0;\n --bs-card-cap-padding-y: 0.5rem;\n --bs-card-cap-padding-x: 1rem;\n --bs-card-cap-bg: rgba(var(--bs-body-color-rgb), 0.03);\n --bs-card-cap-color: ;\n --bs-card-height: ;\n --bs-card-color: ;\n --bs-card-bg: var(--bs-body-bg);\n --bs-card-img-overlay-padding: 1rem;\n --bs-card-group-margin: 0.75rem;\n position: relative;\n display: flex;\n flex-direction: column;\n min-width: 0;\n height: var(--bs-card-height);\n color: var(--bs-body-color);\n word-wrap: break-word;\n background-color: var(--bs-card-bg);\n background-clip: border-box;\n border: var(--bs-card-border-width) solid var(--bs-card-border-color);\n border-radius: var(--bs-card-border-radius);\n}\n.card > hr {\n margin-right: 0;\n margin-left: 0;\n}\n.card > .list-group {\n border-top: inherit;\n border-bottom: inherit;\n}\n.card > .list-group:first-child {\n border-top-width: 0;\n border-top-left-radius: var(--bs-card-inner-border-radius);\n border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n.card > .list-group:last-child {\n border-bottom-width: 0;\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n.card > .card-header + .list-group,\n.card > .list-group + .card-footer {\n border-top: 0;\n}\n\n.card-body {\n flex: 1 1 auto;\n padding: var(--bs-card-spacer-y) var(--bs-card-spacer-x);\n color: var(--bs-card-color);\n}\n\n.card-title {\n margin-bottom: var(--bs-card-title-spacer-y);\n color: var(--bs-card-title-color);\n}\n\n.card-subtitle {\n margin-top: calc(-0.5 * var(--bs-card-title-spacer-y));\n margin-bottom: 0;\n color: var(--bs-card-subtitle-color);\n}\n\n.card-text:last-child {\n margin-bottom: 0;\n}\n\n.card-link:hover {\n text-decoration: none;\n}\n.card-link + .card-link {\n margin-left: var(--bs-card-spacer-x);\n}\n\n.card-header {\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n margin-bottom: 0;\n color: var(--bs-card-cap-color);\n background-color: var(--bs-card-cap-bg);\n border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-header:first-child {\n border-radius: var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0;\n}\n\n.card-footer {\n padding: var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);\n color: var(--bs-card-cap-color);\n background-color: var(--bs-card-cap-bg);\n border-top: var(--bs-card-border-width) solid var(--bs-card-border-color);\n}\n.card-footer:last-child {\n border-radius: 0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius);\n}\n\n.card-header-tabs {\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n margin-bottom: calc(-1 * var(--bs-card-cap-padding-y));\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n border-bottom: 0;\n}\n.card-header-tabs .nav-link.active {\n background-color: var(--bs-card-bg);\n border-bottom-color: var(--bs-card-bg);\n}\n\n.card-header-pills {\n margin-right: calc(-0.5 * var(--bs-card-cap-padding-x));\n margin-left: calc(-0.5 * var(--bs-card-cap-padding-x));\n}\n\n.card-img-overlay {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n padding: var(--bs-card-img-overlay-padding);\n border-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-top,\n.card-img-bottom {\n width: 100%;\n}\n\n.card-img,\n.card-img-top {\n border-top-left-radius: var(--bs-card-inner-border-radius);\n border-top-right-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-img,\n.card-img-bottom {\n border-bottom-right-radius: var(--bs-card-inner-border-radius);\n border-bottom-left-radius: var(--bs-card-inner-border-radius);\n}\n\n.card-group > .card {\n margin-bottom: var(--bs-card-group-margin);\n}\n@media (min-width: 576px) {\n .card-group {\n display: flex;\n flex-flow: row wrap;\n }\n .card-group > .card {\n flex: 1 0 0%;\n margin-bottom: 0;\n }\n .card-group > .card + .card {\n margin-left: 0;\n border-left: 0;\n }\n .card-group > .card:not(:last-child) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-top,\n .card-group > .card:not(:last-child) .card-header {\n border-top-right-radius: 0;\n }\n .card-group > .card:not(:last-child) .card-img-bottom,\n .card-group > .card:not(:last-child) .card-footer {\n border-bottom-right-radius: 0;\n }\n .card-group > .card:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-top,\n .card-group > .card:not(:first-child) .card-header {\n border-top-left-radius: 0;\n }\n .card-group > .card:not(:first-child) .card-img-bottom,\n .card-group > .card:not(:first-child) .card-footer {\n border-bottom-left-radius: 0;\n }\n}\n\n.accordion {\n --bs-accordion-color: var(--bs-body-color);\n --bs-accordion-bg: var(--bs-body-bg);\n --bs-accordion-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out, border-radius 0.15s ease;\n --bs-accordion-border-color: var(--bs-border-color);\n --bs-accordion-border-width: var(--bs-border-width);\n --bs-accordion-border-radius: var(--bs-border-radius);\n --bs-accordion-inner-border-radius: calc(var(--bs-border-radius) - (var(--bs-border-width)));\n --bs-accordion-btn-padding-x: 1.25rem;\n --bs-accordion-btn-padding-y: 0.8rem;\n --bs-accordion-btn-color: #333333;\n --bs-accordion-btn-bg: #f5f5f5;\n --bs-accordion-btn-icon: none;\n --bs-accordion-btn-icon-width: 1.25rem;\n --bs-accordion-btn-icon-transform: rotate(-180deg);\n --bs-accordion-btn-icon-transition: transform 0.2s ease-in-out;\n --bs-accordion-btn-active-icon: none;\n --bs-accordion-btn-focus-border-color: none;\n --bs-accordion-btn-focus-box-shadow: none;\n --bs-accordion-body-padding-x: 1.25rem;\n --bs-accordion-body-padding-y: 1rem;\n --bs-accordion-active-color: #333333;\n --bs-accordion-active-bg: #f5f5f5;\n}\n\n.accordion-button {\n position: relative;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);\n font-size: 1rem;\n color: var(--bs-accordion-btn-color);\n text-align: left;\n background-color: var(--bs-accordion-btn-bg);\n border: 0;\n border-radius: 0;\n overflow-anchor: none;\n transition: var(--bs-accordion-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button {\n transition: none;\n }\n}\n.accordion-button:not(.collapsed) {\n color: var(--bs-accordion-active-color);\n background-color: var(--bs-accordion-active-bg);\n box-shadow: inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);\n}\n.accordion-button:not(.collapsed)::after {\n background-image: var(--bs-accordion-btn-active-icon);\n transform: var(--bs-accordion-btn-icon-transform);\n}\n.accordion-button::after {\n flex-shrink: 0;\n width: var(--bs-accordion-btn-icon-width);\n height: var(--bs-accordion-btn-icon-width);\n margin-left: auto;\n content: \"\";\n background-image: var(--bs-accordion-btn-icon);\n background-repeat: no-repeat;\n background-size: var(--bs-accordion-btn-icon-width);\n transition: var(--bs-accordion-btn-icon-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .accordion-button::after {\n transition: none;\n }\n}\n.accordion-button:hover {\n z-index: 2;\n}\n.accordion-button:focus {\n z-index: 3;\n border-color: var(--bs-accordion-btn-focus-border-color);\n outline: 0;\n box-shadow: var(--bs-accordion-btn-focus-box-shadow);\n}\n\n.accordion-header {\n margin-bottom: 0;\n}\n\n.accordion-item {\n color: var(--bs-accordion-color);\n background-color: var(--bs-accordion-bg);\n border: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);\n}\n.accordion-item:first-of-type {\n border-top-left-radius: var(--bs-accordion-border-radius);\n border-top-right-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:first-of-type .accordion-button {\n border-top-left-radius: var(--bs-accordion-inner-border-radius);\n border-top-right-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:not(:first-of-type) {\n border-top: 0;\n}\n.accordion-item:last-of-type {\n border-bottom-right-radius: var(--bs-accordion-border-radius);\n border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n.accordion-item:last-of-type .accordion-button.collapsed {\n border-bottom-right-radius: var(--bs-accordion-inner-border-radius);\n border-bottom-left-radius: var(--bs-accordion-inner-border-radius);\n}\n.accordion-item:last-of-type .accordion-collapse {\n border-bottom-right-radius: var(--bs-accordion-border-radius);\n border-bottom-left-radius: var(--bs-accordion-border-radius);\n}\n\n.accordion-body {\n padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);\n}\n\n.accordion-flush .accordion-collapse {\n border-width: 0;\n}\n.accordion-flush .accordion-item {\n border-right: 0;\n border-left: 0;\n border-radius: 0;\n}\n.accordion-flush .accordion-item:first-child {\n border-top: 0;\n}\n.accordion-flush .accordion-item:last-child {\n border-bottom: 0;\n}\n.accordion-flush .accordion-item .accordion-button, .accordion-flush .accordion-item .accordion-button.collapsed {\n border-radius: 0;\n}\n\n[data-bs-theme=dark] .accordion-button::after {\n --bs-accordion-btn-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28102, 186, 213.6%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n --bs-accordion-btn-active-icon: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='rgb%28102, 186, 213.6%29'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.breadcrumb {\n --bs-breadcrumb-padding-x: 0.75rem;\n --bs-breadcrumb-padding-y: 0.375rem;\n --bs-breadcrumb-margin-bottom: 1rem;\n --bs-breadcrumb-bg: ;\n --bs-breadcrumb-border-radius: 3px;\n --bs-breadcrumb-divider-color: var(--bs-secondary-color);\n --bs-breadcrumb-item-padding-x: 0.5rem;\n --bs-breadcrumb-item-active-color: var(--bs-secondary-color);\n display: flex;\n flex-wrap: wrap;\n padding: var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);\n margin-bottom: var(--bs-breadcrumb-margin-bottom);\n font-size: var(--bs-breadcrumb-font-size);\n list-style: none;\n background-color: var(--bs-breadcrumb-bg);\n border-radius: var(--bs-breadcrumb-border-radius);\n}\n\n.breadcrumb-item + .breadcrumb-item {\n padding-left: var(--bs-breadcrumb-item-padding-x);\n}\n.breadcrumb-item + .breadcrumb-item::before {\n float: left;\n padding-right: var(--bs-breadcrumb-item-padding-x);\n color: var(--bs-breadcrumb-divider-color);\n content: var(--bs-breadcrumb-divider, \"/\") /* rtl: var(--bs-breadcrumb-divider, \"/\") */;\n}\n.breadcrumb-item.active {\n color: var(--bs-breadcrumb-item-active-color);\n}\n\n.pagination {\n --bs-pagination-padding-x: 0.75rem;\n --bs-pagination-padding-y: 0.375rem;\n --bs-pagination-font-size: 1rem;\n --bs-pagination-color: #888;\n --bs-pagination-bg: var(--bs-body-bg);\n --bs-pagination-border-width: var(--bs-border-width);\n --bs-pagination-border-color: var(--bs-border-color);\n --bs-pagination-border-radius: var(--bs-border-radius);\n --bs-pagination-hover-color: var(--bs-link-hover-color);\n --bs-pagination-hover-bg: var(--bs-tertiary-bg);\n --bs-pagination-hover-border-color: var(--bs-border-color);\n --bs-pagination-focus-color: var(--bs-link-hover-color);\n --bs-pagination-focus-bg: var(--bs-secondary-bg);\n --bs-pagination-focus-box-shadow: 0 0 0 0.25rem rgba(0, 140, 186, 0.25);\n --bs-pagination-active-color: #fff;\n --bs-pagination-active-bg: #008cba;\n --bs-pagination-active-border-color: rgb(0, 120.8064516129, 160.5);\n --bs-pagination-disabled-color: #ccc;\n --bs-pagination-disabled-bg: transparent;\n --bs-pagination-disabled-border-color: var(--bs-border-color);\n display: flex;\n padding-left: 0;\n list-style: none;\n}\n\n.page-link {\n position: relative;\n display: block;\n padding: var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);\n font-size: var(--bs-pagination-font-size);\n color: var(--bs-pagination-color);\n background-color: var(--bs-pagination-bg);\n border: var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);\n transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .page-link {\n transition: none;\n }\n}\n.page-link:hover {\n z-index: 2;\n color: var(--bs-pagination-hover-color);\n text-decoration: none;\n background-color: var(--bs-pagination-hover-bg);\n border-color: var(--bs-pagination-hover-border-color);\n}\n.page-link:focus {\n z-index: 3;\n color: var(--bs-pagination-focus-color);\n background-color: var(--bs-pagination-focus-bg);\n outline: 0;\n box-shadow: var(--bs-pagination-focus-box-shadow);\n}\n.page-link.active, .active > .page-link {\n z-index: 3;\n color: var(--bs-pagination-active-color);\n background-color: var(--bs-pagination-active-bg);\n border-color: var(--bs-pagination-active-border-color);\n}\n.page-link.disabled, .disabled > .page-link {\n color: var(--bs-pagination-disabled-color);\n pointer-events: none;\n background-color: var(--bs-pagination-disabled-bg);\n border-color: var(--bs-pagination-disabled-border-color);\n}\n\n.page-item:not(:first-child) .page-link {\n margin-left: calc(var(--bs-border-width) * -1);\n}\n.page-item:first-child .page-link {\n border-top-left-radius: var(--bs-pagination-border-radius);\n border-bottom-left-radius: var(--bs-pagination-border-radius);\n}\n.page-item:last-child .page-link {\n border-top-right-radius: var(--bs-pagination-border-radius);\n border-bottom-right-radius: var(--bs-pagination-border-radius);\n}\n\n.pagination-lg {\n --bs-pagination-padding-x: 1.5rem;\n --bs-pagination-padding-y: 0.75rem;\n --bs-pagination-font-size: 1.25rem;\n --bs-pagination-border-radius: var(--bs-border-radius-lg);\n}\n\n.pagination-sm {\n --bs-pagination-padding-x: 0.5rem;\n --bs-pagination-padding-y: 0.25rem;\n --bs-pagination-font-size: 0.875rem;\n --bs-pagination-border-radius: var(--bs-border-radius-sm);\n}\n\n.badge {\n --bs-badge-padding-x: 1rem;\n --bs-badge-padding-y: 0.35em;\n --bs-badge-font-size: 0.75em;\n --bs-badge-font-weight: 300;\n --bs-badge-color: #fff;\n --bs-badge-border-radius: var(--bs-border-radius);\n display: inline-block;\n padding: var(--bs-badge-padding-y) var(--bs-badge-padding-x);\n font-size: var(--bs-badge-font-size);\n font-weight: var(--bs-badge-font-weight);\n line-height: 1;\n color: var(--bs-badge-color);\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: var(--bs-badge-border-radius);\n}\n.badge:empty {\n display: none;\n}\n\n.btn .badge {\n position: relative;\n top: -1px;\n}\n\n.alert {\n --bs-alert-bg: transparent;\n --bs-alert-padding-x: 1rem;\n --bs-alert-padding-y: 1rem;\n --bs-alert-margin-bottom: 1rem;\n --bs-alert-color: inherit;\n --bs-alert-border-color: transparent;\n --bs-alert-border: var(--bs-border-width) solid var(--bs-alert-border-color);\n --bs-alert-border-radius: var(--bs-border-radius);\n --bs-alert-link-color: inherit;\n position: relative;\n padding: var(--bs-alert-padding-y) var(--bs-alert-padding-x);\n margin-bottom: var(--bs-alert-margin-bottom);\n color: var(--bs-alert-color);\n background-color: var(--bs-alert-bg);\n border: var(--bs-alert-border);\n border-radius: var(--bs-alert-border-radius);\n}\n\n.alert-heading {\n color: inherit;\n}\n\n.alert-link {\n font-weight: 400;\n color: var(--bs-alert-link-color);\n}\n\n.alert-dismissible {\n padding-right: 3rem;\n}\n.alert-dismissible .btn-close {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n padding: 1.25rem 1rem;\n}\n\n.alert-primary {\n --bs-alert-color: var(--bs-primary-text-emphasis);\n --bs-alert-bg: var(--bs-primary-bg-subtle);\n --bs-alert-border-color: var(--bs-primary-border-subtle);\n --bs-alert-link-color: var(--bs-primary-text-emphasis);\n}\n\n.alert-secondary {\n --bs-alert-color: var(--bs-secondary-text-emphasis);\n --bs-alert-bg: var(--bs-secondary-bg-subtle);\n --bs-alert-border-color: var(--bs-secondary-border-subtle);\n --bs-alert-link-color: var(--bs-secondary-text-emphasis);\n}\n\n.alert-success {\n --bs-alert-color: var(--bs-success-text-emphasis);\n --bs-alert-bg: var(--bs-success-bg-subtle);\n --bs-alert-border-color: var(--bs-success-border-subtle);\n --bs-alert-link-color: var(--bs-success-text-emphasis);\n}\n\n.alert-info {\n --bs-alert-color: var(--bs-info-text-emphasis);\n --bs-alert-bg: var(--bs-info-bg-subtle);\n --bs-alert-border-color: var(--bs-info-border-subtle);\n --bs-alert-link-color: var(--bs-info-text-emphasis);\n}\n\n.alert-warning {\n --bs-alert-color: var(--bs-warning-text-emphasis);\n --bs-alert-bg: var(--bs-warning-bg-subtle);\n --bs-alert-border-color: var(--bs-warning-border-subtle);\n --bs-alert-link-color: var(--bs-warning-text-emphasis);\n}\n\n.alert-danger {\n --bs-alert-color: var(--bs-danger-text-emphasis);\n --bs-alert-bg: var(--bs-danger-bg-subtle);\n --bs-alert-border-color: var(--bs-danger-border-subtle);\n --bs-alert-link-color: var(--bs-danger-text-emphasis);\n}\n\n.alert-light {\n --bs-alert-color: var(--bs-light-text-emphasis);\n --bs-alert-bg: var(--bs-light-bg-subtle);\n --bs-alert-border-color: var(--bs-light-border-subtle);\n --bs-alert-link-color: var(--bs-light-text-emphasis);\n}\n\n.alert-dark {\n --bs-alert-color: var(--bs-dark-text-emphasis);\n --bs-alert-bg: var(--bs-dark-bg-subtle);\n --bs-alert-border-color: var(--bs-dark-border-subtle);\n --bs-alert-link-color: var(--bs-dark-text-emphasis);\n}\n\n@keyframes progress-bar-stripes {\n 0% {\n background-position-x: 1rem;\n }\n}\n.progress,\n.progress-stacked {\n --bs-progress-height: 1rem;\n --bs-progress-font-size: 0.75rem;\n --bs-progress-bg: var(--bs-secondary-bg);\n --bs-progress-border-radius: var(--bs-border-radius);\n --bs-progress-box-shadow: var(--bs-box-shadow-inset);\n --bs-progress-bar-color: #fff;\n --bs-progress-bar-bg: #008cba;\n --bs-progress-bar-transition: width 0.6s ease;\n display: flex;\n height: var(--bs-progress-height);\n overflow: hidden;\n font-size: var(--bs-progress-font-size);\n background-color: var(--bs-progress-bg);\n border-radius: var(--bs-progress-border-radius);\n}\n\n.progress-bar {\n display: flex;\n flex-direction: column;\n justify-content: center;\n overflow: hidden;\n color: var(--bs-progress-bar-color);\n text-align: center;\n white-space: nowrap;\n background-color: var(--bs-progress-bar-bg);\n transition: var(--bs-progress-bar-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar {\n transition: none;\n }\n}\n\n.progress-bar-striped {\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: var(--bs-progress-height) var(--bs-progress-height);\n}\n\n.progress-stacked > .progress {\n overflow: visible;\n}\n\n.progress-stacked > .progress > .progress-bar {\n width: 100%;\n}\n\n.progress-bar-animated {\n animation: 1s linear infinite progress-bar-stripes;\n}\n@media (prefers-reduced-motion: reduce) {\n .progress-bar-animated {\n animation: none;\n }\n}\n\n.list-group {\n --bs-list-group-color: var(--bs-body-color);\n --bs-list-group-bg: var(--bs-body-bg);\n --bs-list-group-border-color: var(--bs-border-color);\n --bs-list-group-border-width: var(--bs-border-width);\n --bs-list-group-border-radius: var(--bs-border-radius);\n --bs-list-group-item-padding-x: 1rem;\n --bs-list-group-item-padding-y: 0.5rem;\n --bs-list-group-action-color: var(--bs-secondary-color);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-tertiary-bg);\n --bs-list-group-action-active-color: var(--bs-body-color);\n --bs-list-group-action-active-bg: var(--bs-secondary-bg);\n --bs-list-group-disabled-color: var(--bs-secondary-color);\n --bs-list-group-disabled-bg: var(--bs-body-bg);\n --bs-list-group-active-color: #fff;\n --bs-list-group-active-bg: #008cba;\n --bs-list-group-active-border-color: #008cba;\n display: flex;\n flex-direction: column;\n padding-left: 0;\n margin-bottom: 0;\n border-radius: var(--bs-list-group-border-radius);\n}\n\n.list-group-numbered {\n list-style-type: none;\n counter-reset: section;\n}\n.list-group-numbered > .list-group-item::before {\n content: counters(section, \".\") \". \";\n counter-increment: section;\n}\n\n.list-group-item-action {\n width: 100%;\n color: var(--bs-list-group-action-color);\n text-align: inherit;\n}\n.list-group-item-action:hover, .list-group-item-action:focus {\n z-index: 1;\n color: var(--bs-list-group-action-hover-color);\n text-decoration: none;\n background-color: var(--bs-list-group-action-hover-bg);\n}\n.list-group-item-action:active {\n color: var(--bs-list-group-action-active-color);\n background-color: var(--bs-list-group-action-active-bg);\n}\n\n.list-group-item {\n position: relative;\n display: block;\n padding: var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);\n color: var(--bs-list-group-color);\n background-color: var(--bs-list-group-bg);\n border: var(--bs-list-group-border-width) solid var(--bs-list-group-border-color);\n}\n.list-group-item:first-child {\n border-top-left-radius: inherit;\n border-top-right-radius: inherit;\n}\n.list-group-item:last-child {\n border-bottom-right-radius: inherit;\n border-bottom-left-radius: inherit;\n}\n.list-group-item.disabled, .list-group-item:disabled {\n color: var(--bs-list-group-disabled-color);\n pointer-events: none;\n background-color: var(--bs-list-group-disabled-bg);\n}\n.list-group-item.active {\n z-index: 2;\n color: var(--bs-list-group-active-color);\n background-color: var(--bs-list-group-active-bg);\n border-color: var(--bs-list-group-active-border-color);\n}\n.list-group-item + .list-group-item {\n border-top-width: 0;\n}\n.list-group-item + .list-group-item.active {\n margin-top: calc(-1 * var(--bs-list-group-border-width));\n border-top-width: var(--bs-list-group-border-width);\n}\n\n.list-group-horizontal {\n flex-direction: row;\n}\n.list-group-horizontal > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n}\n.list-group-horizontal > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n}\n.list-group-horizontal > .list-group-item.active {\n margin-top: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n}\n.list-group-horizontal > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n}\n\n@media (min-width: 576px) {\n .list-group-horizontal-sm {\n flex-direction: row;\n }\n .list-group-horizontal-sm > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-sm > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-sm > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 768px) {\n .list-group-horizontal-md {\n flex-direction: row;\n }\n .list-group-horizontal-md > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-md > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-md > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 992px) {\n .list-group-horizontal-lg {\n flex-direction: row;\n }\n .list-group-horizontal-lg > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-lg > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-lg > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 1200px) {\n .list-group-horizontal-xl {\n flex-direction: row;\n }\n .list-group-horizontal-xl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n@media (min-width: 1400px) {\n .list-group-horizontal-xxl {\n flex-direction: row;\n }\n .list-group-horizontal-xxl > .list-group-item:first-child:not(:last-child) {\n border-bottom-left-radius: var(--bs-list-group-border-radius);\n border-top-right-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item:last-child:not(:first-child) {\n border-top-right-radius: var(--bs-list-group-border-radius);\n border-bottom-left-radius: 0;\n }\n .list-group-horizontal-xxl > .list-group-item.active {\n margin-top: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item {\n border-top-width: var(--bs-list-group-border-width);\n border-left-width: 0;\n }\n .list-group-horizontal-xxl > .list-group-item + .list-group-item.active {\n margin-left: calc(-1 * var(--bs-list-group-border-width));\n border-left-width: var(--bs-list-group-border-width);\n }\n}\n.list-group-flush {\n border-radius: 0;\n}\n.list-group-flush > .list-group-item {\n border-width: 0 0 var(--bs-list-group-border-width);\n}\n.list-group-flush > .list-group-item:last-child {\n border-bottom-width: 0;\n}\n\n.list-group-item-primary {\n --bs-list-group-color: var(--bs-primary-text-emphasis);\n --bs-list-group-bg: var(--bs-primary-bg-subtle);\n --bs-list-group-border-color: var(--bs-primary-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-primary-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-primary-border-subtle);\n --bs-list-group-active-color: var(--bs-primary-bg-subtle);\n --bs-list-group-active-bg: var(--bs-primary-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-primary-text-emphasis);\n}\n\n.list-group-item-secondary {\n --bs-list-group-color: var(--bs-secondary-text-emphasis);\n --bs-list-group-bg: var(--bs-secondary-bg-subtle);\n --bs-list-group-border-color: var(--bs-secondary-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-secondary-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-secondary-border-subtle);\n --bs-list-group-active-color: var(--bs-secondary-bg-subtle);\n --bs-list-group-active-bg: var(--bs-secondary-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-secondary-text-emphasis);\n}\n\n.list-group-item-success {\n --bs-list-group-color: var(--bs-success-text-emphasis);\n --bs-list-group-bg: var(--bs-success-bg-subtle);\n --bs-list-group-border-color: var(--bs-success-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-success-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-success-border-subtle);\n --bs-list-group-active-color: var(--bs-success-bg-subtle);\n --bs-list-group-active-bg: var(--bs-success-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-success-text-emphasis);\n}\n\n.list-group-item-info {\n --bs-list-group-color: var(--bs-info-text-emphasis);\n --bs-list-group-bg: var(--bs-info-bg-subtle);\n --bs-list-group-border-color: var(--bs-info-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-info-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-info-border-subtle);\n --bs-list-group-active-color: var(--bs-info-bg-subtle);\n --bs-list-group-active-bg: var(--bs-info-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-info-text-emphasis);\n}\n\n.list-group-item-warning {\n --bs-list-group-color: var(--bs-warning-text-emphasis);\n --bs-list-group-bg: var(--bs-warning-bg-subtle);\n --bs-list-group-border-color: var(--bs-warning-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-warning-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-warning-border-subtle);\n --bs-list-group-active-color: var(--bs-warning-bg-subtle);\n --bs-list-group-active-bg: var(--bs-warning-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-warning-text-emphasis);\n}\n\n.list-group-item-danger {\n --bs-list-group-color: var(--bs-danger-text-emphasis);\n --bs-list-group-bg: var(--bs-danger-bg-subtle);\n --bs-list-group-border-color: var(--bs-danger-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-danger-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-danger-border-subtle);\n --bs-list-group-active-color: var(--bs-danger-bg-subtle);\n --bs-list-group-active-bg: var(--bs-danger-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-danger-text-emphasis);\n}\n\n.list-group-item-light {\n --bs-list-group-color: var(--bs-light-text-emphasis);\n --bs-list-group-bg: var(--bs-light-bg-subtle);\n --bs-list-group-border-color: var(--bs-light-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-light-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-light-border-subtle);\n --bs-list-group-active-color: var(--bs-light-bg-subtle);\n --bs-list-group-active-bg: var(--bs-light-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-light-text-emphasis);\n}\n\n.list-group-item-dark {\n --bs-list-group-color: var(--bs-dark-text-emphasis);\n --bs-list-group-bg: var(--bs-dark-bg-subtle);\n --bs-list-group-border-color: var(--bs-dark-border-subtle);\n --bs-list-group-action-hover-color: var(--bs-emphasis-color);\n --bs-list-group-action-hover-bg: var(--bs-dark-border-subtle);\n --bs-list-group-action-active-color: var(--bs-emphasis-color);\n --bs-list-group-action-active-bg: var(--bs-dark-border-subtle);\n --bs-list-group-active-color: var(--bs-dark-bg-subtle);\n --bs-list-group-active-bg: var(--bs-dark-text-emphasis);\n --bs-list-group-active-border-color: var(--bs-dark-text-emphasis);\n}\n\n.btn-close {\n --bs-btn-close-color: #888;\n --bs-btn-close-bg: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23888'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e\");\n --bs-btn-close-opacity: 0.6;\n --bs-btn-close-hover-opacity: 1;\n --bs-btn-close-focus-shadow: 0 0 0 0.25rem rgba(0, 140, 186, 0.25);\n --bs-btn-close-focus-opacity: 1;\n --bs-btn-close-disabled-opacity: 0.25;\n --bs-btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);\n box-sizing: content-box;\n width: 1em;\n height: 1em;\n padding: 0.25em 0.25em;\n color: var(--bs-btn-close-color);\n background: transparent var(--bs-btn-close-bg) center/1em auto no-repeat;\n border: 0;\n border-radius: 0;\n opacity: var(--bs-btn-close-opacity);\n}\n.btn-close:hover {\n color: var(--bs-btn-close-color);\n text-decoration: none;\n opacity: var(--bs-btn-close-hover-opacity);\n}\n.btn-close:focus {\n outline: 0;\n box-shadow: var(--bs-btn-close-focus-shadow);\n opacity: var(--bs-btn-close-focus-opacity);\n}\n.btn-close:disabled, .btn-close.disabled {\n pointer-events: none;\n user-select: none;\n opacity: var(--bs-btn-close-disabled-opacity);\n}\n\n.btn-close-white {\n filter: var(--bs-btn-close-white-filter);\n}\n\n[data-bs-theme=dark] .btn-close {\n filter: var(--bs-btn-close-white-filter);\n}\n\n.toast {\n --bs-toast-zindex: 1090;\n --bs-toast-padding-x: 0.75rem;\n --bs-toast-padding-y: 0.5rem;\n --bs-toast-spacing: 1.5rem;\n --bs-toast-max-width: 350px;\n --bs-toast-font-size: 0.875rem;\n --bs-toast-color: ;\n --bs-toast-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n --bs-toast-border-width: var(--bs-border-width);\n --bs-toast-border-color: var(--bs-border-color-translucent);\n --bs-toast-border-radius: var(--bs-border-radius);\n --bs-toast-box-shadow: var(--bs-box-shadow);\n --bs-toast-header-color: var(--bs-secondary-color);\n --bs-toast-header-bg: rgba(var(--bs-body-bg-rgb), 0.85);\n --bs-toast-header-border-color: var(--bs-border-color-translucent);\n width: var(--bs-toast-max-width);\n max-width: 100%;\n font-size: var(--bs-toast-font-size);\n color: var(--bs-toast-color);\n pointer-events: auto;\n background-color: var(--bs-toast-bg);\n background-clip: padding-box;\n border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);\n box-shadow: var(--bs-toast-box-shadow);\n border-radius: var(--bs-toast-border-radius);\n}\n.toast.showing {\n opacity: 0;\n}\n.toast:not(.show) {\n display: none;\n}\n\n.toast-container {\n --bs-toast-zindex: 1090;\n position: absolute;\n z-index: var(--bs-toast-zindex);\n width: max-content;\n max-width: 100%;\n pointer-events: none;\n}\n.toast-container > :not(:last-child) {\n margin-bottom: var(--bs-toast-spacing);\n}\n\n.toast-header {\n display: flex;\n align-items: center;\n padding: var(--bs-toast-padding-y) var(--bs-toast-padding-x);\n color: var(--bs-toast-header-color);\n background-color: var(--bs-toast-header-bg);\n background-clip: padding-box;\n border-bottom: var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);\n border-top-left-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n border-top-right-radius: calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));\n}\n.toast-header .btn-close {\n margin-right: calc(-0.5 * var(--bs-toast-padding-x));\n margin-left: var(--bs-toast-padding-x);\n}\n\n.toast-body {\n padding: var(--bs-toast-padding-x);\n word-wrap: break-word;\n}\n\n.modal {\n --bs-modal-zindex: 1055;\n --bs-modal-width: 500px;\n --bs-modal-padding: 1rem;\n --bs-modal-margin: 0.5rem;\n --bs-modal-color: ;\n --bs-modal-bg: var(--bs-body-bg);\n --bs-modal-border-color: var(--bs-border-color-translucent);\n --bs-modal-border-width: var(--bs-border-width);\n --bs-modal-border-radius: var(--bs-border-radius-lg);\n --bs-modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-modal-inner-border-radius: calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));\n --bs-modal-header-padding-x: 1rem;\n --bs-modal-header-padding-y: 1rem;\n --bs-modal-header-padding: 1rem 1rem;\n --bs-modal-header-border-color: var(--bs-border-color);\n --bs-modal-header-border-width: var(--bs-border-width);\n --bs-modal-title-line-height: 1.5;\n --bs-modal-footer-gap: 0.5rem;\n --bs-modal-footer-bg: ;\n --bs-modal-footer-border-color: var(--bs-border-color);\n --bs-modal-footer-border-width: var(--bs-border-width);\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--bs-modal-zindex);\n display: none;\n width: 100%;\n height: 100%;\n overflow-x: hidden;\n overflow-y: auto;\n outline: 0;\n}\n\n.modal-dialog {\n position: relative;\n width: auto;\n margin: var(--bs-modal-margin);\n pointer-events: none;\n}\n.modal.fade .modal-dialog {\n transition: transform 0.3s ease-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .modal.fade .modal-dialog {\n transition: none;\n }\n}\n.modal.fade .modal-dialog {\n transform: translate(0, -50px);\n}\n.modal.show .modal-dialog {\n transform: none;\n}\n.modal.modal-static .modal-dialog {\n transform: scale(1.02);\n}\n\n.modal-dialog-scrollable {\n height: calc(100% - var(--bs-modal-margin) * 2);\n}\n.modal-dialog-scrollable .modal-content {\n max-height: 100%;\n overflow: hidden;\n}\n.modal-dialog-scrollable .modal-body {\n overflow-y: auto;\n}\n\n.modal-dialog-centered {\n display: flex;\n align-items: center;\n min-height: calc(100% - var(--bs-modal-margin) * 2);\n}\n\n.modal-content {\n position: relative;\n display: flex;\n flex-direction: column;\n width: 100%;\n color: var(--bs-modal-color);\n pointer-events: auto;\n background-color: var(--bs-modal-bg);\n background-clip: padding-box;\n border: var(--bs-modal-border-width) solid var(--bs-modal-border-color);\n border-radius: var(--bs-modal-border-radius);\n outline: 0;\n}\n\n.modal-backdrop {\n --bs-backdrop-zindex: 1050;\n --bs-backdrop-bg: #000;\n --bs-backdrop-opacity: 0.5;\n position: fixed;\n top: 0;\n left: 0;\n z-index: var(--bs-backdrop-zindex);\n width: 100vw;\n height: 100vh;\n background-color: var(--bs-backdrop-bg);\n}\n.modal-backdrop.fade {\n opacity: 0;\n}\n.modal-backdrop.show {\n opacity: var(--bs-backdrop-opacity);\n}\n\n.modal-header {\n display: flex;\n flex-shrink: 0;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-modal-header-padding);\n border-bottom: var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);\n border-top-left-radius: var(--bs-modal-inner-border-radius);\n border-top-right-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-header .btn-close {\n padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);\n margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;\n}\n\n.modal-title {\n margin-bottom: 0;\n line-height: var(--bs-modal-title-line-height);\n}\n\n.modal-body {\n position: relative;\n flex: 1 1 auto;\n padding: var(--bs-modal-padding);\n}\n\n.modal-footer {\n display: flex;\n flex-shrink: 0;\n flex-wrap: wrap;\n align-items: center;\n justify-content: flex-end;\n padding: calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * 0.5);\n background-color: var(--bs-modal-footer-bg);\n border-top: var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);\n border-bottom-right-radius: var(--bs-modal-inner-border-radius);\n border-bottom-left-radius: var(--bs-modal-inner-border-radius);\n}\n.modal-footer > * {\n margin: calc(var(--bs-modal-footer-gap) * 0.5);\n}\n\n@media (min-width: 576px) {\n .modal {\n --bs-modal-margin: 1.75rem;\n --bs-modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n }\n .modal-dialog {\n max-width: var(--bs-modal-width);\n margin-right: auto;\n margin-left: auto;\n }\n .modal-sm {\n --bs-modal-width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg,\n .modal-xl {\n --bs-modal-width: 800px;\n }\n}\n@media (min-width: 1200px) {\n .modal-xl {\n --bs-modal-width: 1140px;\n }\n}\n.modal-fullscreen {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n}\n.modal-fullscreen .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n}\n.modal-fullscreen .modal-header,\n.modal-fullscreen .modal-footer {\n border-radius: 0;\n}\n.modal-fullscreen .modal-body {\n overflow-y: auto;\n}\n\n@media (max-width: 575.98px) {\n .modal-fullscreen-sm-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-sm-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-header,\n .modal-fullscreen-sm-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-sm-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 767.98px) {\n .modal-fullscreen-md-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-md-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-header,\n .modal-fullscreen-md-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-md-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 991.98px) {\n .modal-fullscreen-lg-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-lg-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-header,\n .modal-fullscreen-lg-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-lg-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1199.98px) {\n .modal-fullscreen-xl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-header,\n .modal-fullscreen-xl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xl-down .modal-body {\n overflow-y: auto;\n }\n}\n@media (max-width: 1399.98px) {\n .modal-fullscreen-xxl-down {\n width: 100vw;\n max-width: none;\n height: 100%;\n margin: 0;\n }\n .modal-fullscreen-xxl-down .modal-content {\n height: 100%;\n border: 0;\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-header,\n .modal-fullscreen-xxl-down .modal-footer {\n border-radius: 0;\n }\n .modal-fullscreen-xxl-down .modal-body {\n overflow-y: auto;\n }\n}\n.tooltip {\n --bs-tooltip-zindex: 1080;\n --bs-tooltip-max-width: 200px;\n --bs-tooltip-padding-x: 0.5rem;\n --bs-tooltip-padding-y: 0.25rem;\n --bs-tooltip-margin: ;\n --bs-tooltip-font-size: 0.875rem;\n --bs-tooltip-color: var(--bs-body-bg);\n --bs-tooltip-bg: var(--bs-emphasis-color);\n --bs-tooltip-border-radius: var(--bs-border-radius);\n --bs-tooltip-opacity: 0.9;\n --bs-tooltip-arrow-width: 0.8rem;\n --bs-tooltip-arrow-height: 0.4rem;\n z-index: var(--bs-tooltip-zindex);\n display: block;\n margin: var(--bs-tooltip-margin);\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--bs-tooltip-font-size);\n word-wrap: break-word;\n opacity: 0;\n}\n.tooltip.show {\n opacity: var(--bs-tooltip-opacity);\n}\n.tooltip .tooltip-arrow {\n display: block;\n width: var(--bs-tooltip-arrow-width);\n height: var(--bs-tooltip-arrow-height);\n}\n.tooltip .tooltip-arrow::before {\n position: absolute;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n}\n\n.bs-tooltip-top .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow {\n bottom: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-top .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before {\n top: -1px;\n border-width: var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n border-top-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-end .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow {\n left: calc(-1 * var(--bs-tooltip-arrow-height));\n width: var(--bs-tooltip-arrow-height);\n height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-end .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before {\n right: -1px;\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * 0.5) 0;\n border-right-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.bs-tooltip-bottom .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow {\n top: calc(-1 * var(--bs-tooltip-arrow-height));\n}\n.bs-tooltip-bottom .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before {\n bottom: -1px;\n border-width: 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n border-bottom-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-tooltip-start .tooltip-arrow, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow {\n right: calc(-1 * var(--bs-tooltip-arrow-height));\n width: var(--bs-tooltip-arrow-height);\n height: var(--bs-tooltip-arrow-width);\n}\n.bs-tooltip-start .tooltip-arrow::before, .bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before {\n left: -1px;\n border-width: calc(var(--bs-tooltip-arrow-width) * 0.5) 0 calc(var(--bs-tooltip-arrow-width) * 0.5) var(--bs-tooltip-arrow-height);\n border-left-color: var(--bs-tooltip-bg);\n}\n\n/* rtl:end:ignore */\n.tooltip-inner {\n max-width: var(--bs-tooltip-max-width);\n padding: var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);\n color: var(--bs-tooltip-color);\n text-align: center;\n background-color: var(--bs-tooltip-bg);\n border-radius: var(--bs-tooltip-border-radius);\n}\n\n.popover {\n --bs-popover-zindex: 1070;\n --bs-popover-max-width: 276px;\n --bs-popover-font-size: 0.875rem;\n --bs-popover-bg: var(--bs-body-bg);\n --bs-popover-border-width: var(--bs-border-width);\n --bs-popover-border-color: var(--bs-border-color-translucent);\n --bs-popover-border-radius: var(--bs-border-radius-lg);\n --bs-popover-inner-border-radius: calc(var(--bs-border-radius-lg) - var(--bs-border-width));\n --bs-popover-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);\n --bs-popover-header-padding-x: 1rem;\n --bs-popover-header-padding-y: 0.5rem;\n --bs-popover-header-font-size: 1rem;\n --bs-popover-header-color: inherit;\n --bs-popover-header-bg: var(--bs-secondary-bg);\n --bs-popover-body-padding-x: 1rem;\n --bs-popover-body-padding-y: 1rem;\n --bs-popover-body-color: var(--bs-body-color);\n --bs-popover-arrow-width: 1rem;\n --bs-popover-arrow-height: 0.5rem;\n --bs-popover-arrow-border: var(--bs-popover-border-color);\n z-index: var(--bs-popover-zindex);\n display: block;\n max-width: var(--bs-popover-max-width);\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.5;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n white-space: normal;\n word-spacing: normal;\n line-break: auto;\n font-size: var(--bs-popover-font-size);\n word-wrap: break-word;\n background-color: var(--bs-popover-bg);\n background-clip: padding-box;\n border: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n border-radius: var(--bs-popover-border-radius);\n}\n.popover .popover-arrow {\n display: block;\n width: var(--bs-popover-arrow-width);\n height: var(--bs-popover-arrow-height);\n}\n.popover .popover-arrow::before, .popover .popover-arrow::after {\n position: absolute;\n display: block;\n content: \"\";\n border-color: transparent;\n border-style: solid;\n border-width: 0;\n}\n\n.bs-popover-top > .popover-arrow, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow {\n bottom: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before, .bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n border-width: var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-top > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::before {\n bottom: 0;\n border-top-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-top > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=top] > .popover-arrow::after {\n bottom: var(--bs-popover-border-width);\n border-top-color: var(--bs-popover-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-end > .popover-arrow, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow {\n left: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n width: var(--bs-popover-arrow-height);\n height: var(--bs-popover-arrow-width);\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before, .bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n border-width: calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * 0.5) 0;\n}\n.bs-popover-end > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::before {\n left: 0;\n border-right-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-end > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=right] > .popover-arrow::after {\n left: var(--bs-popover-border-width);\n border-right-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.bs-popover-bottom > .popover-arrow, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow {\n top: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before, .bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n border-width: 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n.bs-popover-bottom > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::before {\n top: 0;\n border-bottom-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-bottom > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=bottom] > .popover-arrow::after {\n top: var(--bs-popover-border-width);\n border-bottom-color: var(--bs-popover-bg);\n}\n.bs-popover-bottom .popover-header::before, .bs-popover-auto[data-popper-placement^=bottom] .popover-header::before {\n position: absolute;\n top: 0;\n left: 50%;\n display: block;\n width: var(--bs-popover-arrow-width);\n margin-left: calc(-0.5 * var(--bs-popover-arrow-width));\n content: \"\";\n border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-header-bg);\n}\n\n/* rtl:begin:ignore */\n.bs-popover-start > .popover-arrow, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow {\n right: calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));\n width: var(--bs-popover-arrow-height);\n height: var(--bs-popover-arrow-width);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before, .bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n border-width: calc(var(--bs-popover-arrow-width) * 0.5) 0 calc(var(--bs-popover-arrow-width) * 0.5) var(--bs-popover-arrow-height);\n}\n.bs-popover-start > .popover-arrow::before, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::before {\n right: 0;\n border-left-color: var(--bs-popover-arrow-border);\n}\n.bs-popover-start > .popover-arrow::after, .bs-popover-auto[data-popper-placement^=left] > .popover-arrow::after {\n right: var(--bs-popover-border-width);\n border-left-color: var(--bs-popover-bg);\n}\n\n/* rtl:end:ignore */\n.popover-header {\n padding: var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);\n margin-bottom: 0;\n font-size: var(--bs-popover-header-font-size);\n color: var(--bs-popover-header-color);\n background-color: var(--bs-popover-header-bg);\n border-bottom: var(--bs-popover-border-width) solid var(--bs-popover-border-color);\n border-top-left-radius: var(--bs-popover-inner-border-radius);\n border-top-right-radius: var(--bs-popover-inner-border-radius);\n}\n.popover-header:empty {\n display: none;\n}\n\n.popover-body {\n padding: var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);\n color: var(--bs-popover-body-color);\n}\n\n.carousel {\n position: relative;\n}\n\n.carousel.pointer-event {\n touch-action: pan-y;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.carousel-item {\n position: relative;\n display: none;\n float: left;\n width: 100%;\n margin-right: -100%;\n backface-visibility: hidden;\n transition: transform 0.6s ease-in-out;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-item {\n transition: none;\n }\n}\n\n.carousel-item.active,\n.carousel-item-next,\n.carousel-item-prev {\n display: block;\n}\n\n.carousel-item-next:not(.carousel-item-start),\n.active.carousel-item-end {\n transform: translateX(100%);\n}\n\n.carousel-item-prev:not(.carousel-item-end),\n.active.carousel-item-start {\n transform: translateX(-100%);\n}\n\n.carousel-fade .carousel-item {\n opacity: 0;\n transition-property: opacity;\n transform: none;\n}\n.carousel-fade .carousel-item.active,\n.carousel-fade .carousel-item-next.carousel-item-start,\n.carousel-fade .carousel-item-prev.carousel-item-end {\n z-index: 1;\n opacity: 1;\n}\n.carousel-fade .active.carousel-item-start,\n.carousel-fade .active.carousel-item-end {\n z-index: 0;\n opacity: 0;\n transition: opacity 0s 0.6s;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-fade .active.carousel-item-start,\n .carousel-fade .active.carousel-item-end {\n transition: none;\n }\n}\n\n.carousel-control-prev,\n.carousel-control-next {\n position: absolute;\n top: 0;\n bottom: 0;\n z-index: 1;\n display: flex;\n align-items: center;\n justify-content: center;\n width: 15%;\n padding: 0;\n color: #fff;\n text-align: center;\n background: none;\n border: 0;\n opacity: 0.5;\n transition: opacity 0.15s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-control-prev,\n .carousel-control-next {\n transition: none;\n }\n}\n.carousel-control-prev:hover, .carousel-control-prev:focus,\n.carousel-control-next:hover,\n.carousel-control-next:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n opacity: 0.9;\n}\n\n.carousel-control-prev {\n left: 0;\n}\n\n.carousel-control-next {\n right: 0;\n}\n\n.carousel-control-prev-icon,\n.carousel-control-next-icon {\n display: inline-block;\n width: 2rem;\n height: 2rem;\n background-repeat: no-repeat;\n background-position: 50%;\n background-size: 100% 100%;\n}\n\n/* rtl:options: {\n \"autoRename\": true,\n \"stringMap\":[ {\n \"name\" : \"prev-next\",\n \"search\" : \"prev\",\n \"replace\" : \"next\"\n } ]\n} */\n.carousel-control-prev-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0z'/%3e%3c/svg%3e\");\n}\n\n.carousel-control-next-icon {\n background-image: url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e\");\n}\n\n.carousel-indicators {\n position: absolute;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 2;\n display: flex;\n justify-content: center;\n padding: 0;\n margin-right: 15%;\n margin-bottom: 1rem;\n margin-left: 15%;\n}\n.carousel-indicators [data-bs-target] {\n box-sizing: content-box;\n flex: 0 1 auto;\n width: 30px;\n height: 3px;\n padding: 0;\n margin-right: 3px;\n margin-left: 3px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #fff;\n background-clip: padding-box;\n border: 0;\n border-top: 10px solid transparent;\n border-bottom: 10px solid transparent;\n opacity: 0.5;\n transition: opacity 0.6s ease;\n}\n@media (prefers-reduced-motion: reduce) {\n .carousel-indicators [data-bs-target] {\n transition: none;\n }\n}\n.carousel-indicators .active {\n opacity: 1;\n}\n\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 1.25rem;\n left: 15%;\n padding-top: 1.25rem;\n padding-bottom: 1.25rem;\n color: #fff;\n text-align: center;\n}\n\n.carousel-dark .carousel-control-prev-icon,\n.carousel-dark .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n.carousel-dark .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n.carousel-dark .carousel-caption {\n color: #000;\n}\n\n[data-bs-theme=dark] .carousel .carousel-control-prev-icon,\n[data-bs-theme=dark] .carousel .carousel-control-next-icon, [data-bs-theme=dark].carousel .carousel-control-prev-icon,\n[data-bs-theme=dark].carousel .carousel-control-next-icon {\n filter: invert(1) grayscale(100);\n}\n[data-bs-theme=dark] .carousel .carousel-indicators [data-bs-target], [data-bs-theme=dark].carousel .carousel-indicators [data-bs-target] {\n background-color: #000;\n}\n[data-bs-theme=dark] .carousel .carousel-caption, [data-bs-theme=dark].carousel .carousel-caption {\n color: #000;\n}\n\n.spinner-grow,\n.spinner-border {\n display: inline-block;\n width: var(--bs-spinner-width);\n height: var(--bs-spinner-height);\n vertical-align: var(--bs-spinner-vertical-align);\n border-radius: 50%;\n animation: var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);\n}\n\n@keyframes spinner-border {\n to {\n transform: rotate(360deg) /* rtl:ignore */;\n }\n}\n.spinner-border {\n --bs-spinner-width: 2rem;\n --bs-spinner-height: 2rem;\n --bs-spinner-vertical-align: -0.125em;\n --bs-spinner-border-width: 0.25em;\n --bs-spinner-animation-speed: 0.75s;\n --bs-spinner-animation-name: spinner-border;\n border: var(--bs-spinner-border-width) solid currentcolor;\n border-right-color: transparent;\n}\n\n.spinner-border-sm {\n --bs-spinner-width: 1rem;\n --bs-spinner-height: 1rem;\n --bs-spinner-border-width: 0.2em;\n}\n\n@keyframes spinner-grow {\n 0% {\n transform: scale(0);\n }\n 50% {\n opacity: 1;\n transform: none;\n }\n}\n.spinner-grow {\n --bs-spinner-width: 2rem;\n --bs-spinner-height: 2rem;\n --bs-spinner-vertical-align: -0.125em;\n --bs-spinner-animation-speed: 0.75s;\n --bs-spinner-animation-name: spinner-grow;\n background-color: currentcolor;\n opacity: 0;\n}\n\n.spinner-grow-sm {\n --bs-spinner-width: 1rem;\n --bs-spinner-height: 1rem;\n}\n\n@media (prefers-reduced-motion: reduce) {\n .spinner-border,\n .spinner-grow {\n --bs-spinner-animation-speed: 1.5s;\n }\n}\n.offcanvas, .offcanvas-xxl, .offcanvas-xl, .offcanvas-lg, .offcanvas-md, .offcanvas-sm {\n --bs-offcanvas-zindex: 1045;\n --bs-offcanvas-width: 400px;\n --bs-offcanvas-height: 30vh;\n --bs-offcanvas-padding-x: 1rem;\n --bs-offcanvas-padding-y: 1rem;\n --bs-offcanvas-color: var(--bs-body-color);\n --bs-offcanvas-bg: var(--bs-body-bg);\n --bs-offcanvas-border-width: var(--bs-border-width);\n --bs-offcanvas-border-color: var(--bs-border-color-translucent);\n --bs-offcanvas-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);\n --bs-offcanvas-transition: transform 0.3s ease-in-out;\n --bs-offcanvas-title-line-height: 1.5;\n}\n\n@media (max-width: 575.98px) {\n .offcanvas-sm {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 575.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-sm {\n transition: none;\n }\n}\n@media (max-width: 575.98px) {\n .offcanvas-sm.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-sm.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-sm.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-sm.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-sm.showing, .offcanvas-sm.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-sm.showing, .offcanvas-sm.hiding, .offcanvas-sm.show {\n visibility: visible;\n }\n}\n@media (min-width: 576px) {\n .offcanvas-sm {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-sm .offcanvas-header {\n display: none;\n }\n .offcanvas-sm .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 767.98px) {\n .offcanvas-md {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 767.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-md {\n transition: none;\n }\n}\n@media (max-width: 767.98px) {\n .offcanvas-md.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-md.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-md.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-md.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-md.showing, .offcanvas-md.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-md.showing, .offcanvas-md.hiding, .offcanvas-md.show {\n visibility: visible;\n }\n}\n@media (min-width: 768px) {\n .offcanvas-md {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-md .offcanvas-header {\n display: none;\n }\n .offcanvas-md .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 991.98px) {\n .offcanvas-lg {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 991.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-lg {\n transition: none;\n }\n}\n@media (max-width: 991.98px) {\n .offcanvas-lg.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-lg.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-lg.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-lg.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-lg.showing, .offcanvas-lg.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-lg.showing, .offcanvas-lg.hiding, .offcanvas-lg.show {\n visibility: visible;\n }\n}\n@media (min-width: 992px) {\n .offcanvas-lg {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-lg .offcanvas-header {\n display: none;\n }\n .offcanvas-lg .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1199.98px) {\n .offcanvas-xl {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 1199.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xl {\n transition: none;\n }\n}\n@media (max-width: 1199.98px) {\n .offcanvas-xl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xl.showing, .offcanvas-xl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xl.showing, .offcanvas-xl.hiding, .offcanvas-xl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1200px) {\n .offcanvas-xl {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xl .offcanvas-header {\n display: none;\n }\n .offcanvas-xl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n@media (max-width: 1399.98px) {\n .offcanvas-xxl {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n }\n}\n@media (max-width: 1399.98px) and (prefers-reduced-motion: reduce) {\n .offcanvas-xxl {\n transition: none;\n }\n}\n@media (max-width: 1399.98px) {\n .offcanvas-xxl.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n }\n .offcanvas-xxl.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n }\n .offcanvas-xxl.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n }\n .offcanvas-xxl.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n }\n .offcanvas-xxl.showing, .offcanvas-xxl.show:not(.hiding) {\n transform: none;\n }\n .offcanvas-xxl.showing, .offcanvas-xxl.hiding, .offcanvas-xxl.show {\n visibility: visible;\n }\n}\n@media (min-width: 1400px) {\n .offcanvas-xxl {\n --bs-offcanvas-height: auto;\n --bs-offcanvas-border-width: 0;\n background-color: transparent !important;\n }\n .offcanvas-xxl .offcanvas-header {\n display: none;\n }\n .offcanvas-xxl .offcanvas-body {\n display: flex;\n flex-grow: 0;\n padding: 0;\n overflow-y: visible;\n background-color: transparent !important;\n }\n}\n\n.offcanvas {\n position: fixed;\n bottom: 0;\n z-index: var(--bs-offcanvas-zindex);\n display: flex;\n flex-direction: column;\n max-width: 100%;\n color: var(--bs-offcanvas-color);\n visibility: hidden;\n background-color: var(--bs-offcanvas-bg);\n background-clip: padding-box;\n outline: 0;\n transition: var(--bs-offcanvas-transition);\n}\n@media (prefers-reduced-motion: reduce) {\n .offcanvas {\n transition: none;\n }\n}\n.offcanvas.offcanvas-start {\n top: 0;\n left: 0;\n width: var(--bs-offcanvas-width);\n border-right: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(-100%);\n}\n.offcanvas.offcanvas-end {\n top: 0;\n right: 0;\n width: var(--bs-offcanvas-width);\n border-left: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateX(100%);\n}\n.offcanvas.offcanvas-top {\n top: 0;\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-bottom: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(-100%);\n}\n.offcanvas.offcanvas-bottom {\n right: 0;\n left: 0;\n height: var(--bs-offcanvas-height);\n max-height: 100%;\n border-top: var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);\n transform: translateY(100%);\n}\n.offcanvas.showing, .offcanvas.show:not(.hiding) {\n transform: none;\n}\n.offcanvas.showing, .offcanvas.hiding, .offcanvas.show {\n visibility: visible;\n}\n\n.offcanvas-backdrop {\n position: fixed;\n top: 0;\n left: 0;\n z-index: 1040;\n width: 100vw;\n height: 100vh;\n background-color: #000;\n}\n.offcanvas-backdrop.fade {\n opacity: 0;\n}\n.offcanvas-backdrop.show {\n opacity: 0.5;\n}\n\n.offcanvas-header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n}\n.offcanvas-header .btn-close {\n padding: calc(var(--bs-offcanvas-padding-y) * 0.5) calc(var(--bs-offcanvas-padding-x) * 0.5);\n margin-top: calc(-0.5 * var(--bs-offcanvas-padding-y));\n margin-right: calc(-0.5 * var(--bs-offcanvas-padding-x));\n margin-bottom: calc(-0.5 * var(--bs-offcanvas-padding-y));\n}\n\n.offcanvas-title {\n margin-bottom: 0;\n line-height: var(--bs-offcanvas-title-line-height);\n}\n\n.offcanvas-body {\n flex-grow: 1;\n padding: var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);\n overflow-y: auto;\n}\n\n.placeholder {\n display: inline-block;\n min-height: 1em;\n vertical-align: middle;\n cursor: wait;\n background-color: currentcolor;\n opacity: 0.5;\n}\n.placeholder.btn::before {\n display: inline-block;\n content: \"\";\n}\n\n.placeholder-xs {\n min-height: 0.6em;\n}\n\n.placeholder-sm {\n min-height: 0.8em;\n}\n\n.placeholder-lg {\n min-height: 1.2em;\n}\n\n.placeholder-glow .placeholder {\n animation: placeholder-glow 2s ease-in-out infinite;\n}\n\n@keyframes placeholder-glow {\n 50% {\n opacity: 0.2;\n }\n}\n.placeholder-wave {\n mask-image: linear-gradient(130deg, #000 55%, rgba(0, 0, 0, 0.8) 75%, #000 95%);\n mask-size: 200% 100%;\n animation: placeholder-wave 2s linear infinite;\n}\n\n@keyframes placeholder-wave {\n 100% {\n mask-position: -200% 0%;\n }\n}\n.clearfix::after {\n display: block;\n clear: both;\n content: \"\";\n}\n\n.text-bg-primary {\n color: #fff !important;\n background-color: RGBA(0, 140, 186, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-secondary {\n color: #000 !important;\n background-color: RGBA(238, 238, 238, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-success {\n color: #fff !important;\n background-color: RGBA(67, 172, 106, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-info {\n color: #fff !important;\n background-color: RGBA(91, 192, 222, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-warning {\n color: #fff !important;\n background-color: RGBA(233, 144, 2, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-danger {\n color: #fff !important;\n background-color: RGBA(240, 65, 36, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-light {\n color: #000 !important;\n background-color: RGBA(238, 238, 238, var(--bs-bg-opacity, 1)) !important;\n}\n\n.text-bg-dark {\n color: #fff !important;\n background-color: RGBA(51, 51, 51, var(--bs-bg-opacity, 1)) !important;\n}\n\n.link-primary {\n color: RGBA(var(--bs-primary-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-primary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-primary:hover, .link-primary:focus {\n color: RGBA(0, 112, 149, var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(0, 112, 149, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-secondary {\n color: RGBA(var(--bs-secondary-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-secondary-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-secondary:hover, .link-secondary:focus {\n color: RGBA(241, 241, 241, var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(241, 241, 241, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-success {\n color: RGBA(var(--bs-success-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-success-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-success:hover, .link-success:focus {\n color: RGBA(54, 138, 85, var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(54, 138, 85, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-info {\n color: RGBA(var(--bs-info-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-info-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-info:hover, .link-info:focus {\n color: RGBA(73, 154, 178, var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(73, 154, 178, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-warning {\n color: RGBA(var(--bs-warning-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-warning-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-warning:hover, .link-warning:focus {\n color: RGBA(186, 115, 2, var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(186, 115, 2, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-danger {\n color: RGBA(var(--bs-danger-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-danger-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-danger:hover, .link-danger:focus {\n color: RGBA(192, 52, 29, var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(192, 52, 29, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-light {\n color: RGBA(var(--bs-light-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-light-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-light:hover, .link-light:focus {\n color: RGBA(241, 241, 241, var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(241, 241, 241, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-dark {\n color: RGBA(var(--bs-dark-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-dark-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-dark:hover, .link-dark:focus {\n color: RGBA(41, 41, 41, var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(41, 41, 41, var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-body-emphasis {\n color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 1)) !important;\n text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n.link-body-emphasis:hover, .link-body-emphasis:focus {\n color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-opacity, 0.75)) !important;\n text-decoration-color: RGBA(var(--bs-emphasis-color-rgb), var(--bs-link-underline-opacity, 0.75)) !important;\n}\n\n.focus-ring:focus {\n outline: 0;\n box-shadow: var(--bs-focus-ring-x, 0) var(--bs-focus-ring-y, 0) var(--bs-focus-ring-blur, 0) var(--bs-focus-ring-width) var(--bs-focus-ring-color);\n}\n\n.icon-link {\n display: inline-flex;\n gap: 0.375rem;\n align-items: center;\n text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-opacity, 0.5));\n text-underline-offset: 0.25em;\n backface-visibility: hidden;\n}\n.icon-link > .bi {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n fill: currentcolor;\n transition: 0.2s ease-in-out transform;\n}\n@media (prefers-reduced-motion: reduce) {\n .icon-link > .bi {\n transition: none;\n }\n}\n\n.icon-link-hover:hover > .bi, .icon-link-hover:focus-visible > .bi {\n transform: var(--bs-icon-link-transform, translate3d(0.25em, 0, 0));\n}\n\n.ratio {\n position: relative;\n width: 100%;\n}\n.ratio::before {\n display: block;\n padding-top: var(--bs-aspect-ratio);\n content: \"\";\n}\n.ratio > * {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n}\n\n.ratio-1x1 {\n --bs-aspect-ratio: 100%;\n}\n\n.ratio-4x3 {\n --bs-aspect-ratio: 75%;\n}\n\n.ratio-16x9 {\n --bs-aspect-ratio: 56.25%;\n}\n\n.ratio-21x9 {\n --bs-aspect-ratio: 42.8571428571%;\n}\n\n.fixed-top {\n position: fixed;\n top: 0;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n\n.fixed-bottom {\n position: fixed;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1030;\n}\n\n.sticky-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n}\n\n.sticky-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n}\n\n@media (min-width: 576px) {\n .sticky-sm-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-sm-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 768px) {\n .sticky-md-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-md-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 992px) {\n .sticky-lg-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-lg-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1200px) {\n .sticky-xl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n@media (min-width: 1400px) {\n .sticky-xxl-top {\n position: sticky;\n top: 0;\n z-index: 1020;\n }\n .sticky-xxl-bottom {\n position: sticky;\n bottom: 0;\n z-index: 1020;\n }\n}\n.hstack {\n display: flex;\n flex-direction: row;\n align-items: center;\n align-self: stretch;\n}\n\n.vstack {\n display: flex;\n flex: 1 1 auto;\n flex-direction: column;\n align-self: stretch;\n}\n\n.visually-hidden,\n.visually-hidden-focusable:not(:focus):not(:focus-within) {\n width: 1px !important;\n height: 1px !important;\n padding: 0 !important;\n margin: -1px !important;\n overflow: hidden !important;\n clip: rect(0, 0, 0, 0) !important;\n white-space: nowrap !important;\n border: 0 !important;\n}\n.visually-hidden:not(caption),\n.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption) {\n position: absolute !important;\n}\n\n.stretched-link::after {\n position: absolute;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1;\n content: \"\";\n}\n\n.text-truncate {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.vr {\n display: inline-block;\n align-self: stretch;\n width: 1px;\n min-height: 1em;\n background-color: currentcolor;\n opacity: 0.25;\n}\n\n.align-baseline {\n vertical-align: baseline !important;\n}\n\n.align-top {\n vertical-align: top !important;\n}\n\n.align-middle {\n vertical-align: middle !important;\n}\n\n.align-bottom {\n vertical-align: bottom !important;\n}\n\n.align-text-bottom {\n vertical-align: text-bottom !important;\n}\n\n.align-text-top {\n vertical-align: text-top !important;\n}\n\n.float-start {\n float: left !important;\n}\n\n.float-end {\n float: right !important;\n}\n\n.float-none {\n float: none !important;\n}\n\n.object-fit-contain {\n object-fit: contain !important;\n}\n\n.object-fit-cover {\n object-fit: cover !important;\n}\n\n.object-fit-fill {\n object-fit: fill !important;\n}\n\n.object-fit-scale {\n object-fit: scale-down !important;\n}\n\n.object-fit-none {\n object-fit: none !important;\n}\n\n.opacity-0 {\n opacity: 0 !important;\n}\n\n.opacity-25 {\n opacity: 0.25 !important;\n}\n\n.opacity-50 {\n opacity: 0.5 !important;\n}\n\n.opacity-75 {\n opacity: 0.75 !important;\n}\n\n.opacity-100 {\n opacity: 1 !important;\n}\n\n.overflow-auto {\n overflow: auto !important;\n}\n\n.overflow-hidden {\n overflow: hidden !important;\n}\n\n.overflow-visible {\n overflow: visible !important;\n}\n\n.overflow-scroll {\n overflow: scroll !important;\n}\n\n.overflow-x-auto {\n overflow-x: auto !important;\n}\n\n.overflow-x-hidden {\n overflow-x: hidden !important;\n}\n\n.overflow-x-visible {\n overflow-x: visible !important;\n}\n\n.overflow-x-scroll {\n overflow-x: scroll !important;\n}\n\n.overflow-y-auto {\n overflow-y: auto !important;\n}\n\n.overflow-y-hidden {\n overflow-y: hidden !important;\n}\n\n.overflow-y-visible {\n overflow-y: visible !important;\n}\n\n.overflow-y-scroll {\n overflow-y: scroll !important;\n}\n\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-inline-grid {\n display: inline-grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.shadow {\n box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15) !important;\n}\n\n.shadow-sm {\n box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075) !important;\n}\n\n.shadow-lg {\n box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.175) !important;\n}\n\n.shadow-none {\n box-shadow: none !important;\n}\n\n.focus-ring-primary {\n --bs-focus-ring-color: rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-secondary {\n --bs-focus-ring-color: rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-success {\n --bs-focus-ring-color: rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-info {\n --bs-focus-ring-color: rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-warning {\n --bs-focus-ring-color: rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-danger {\n --bs-focus-ring-color: rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-light {\n --bs-focus-ring-color: rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity));\n}\n\n.focus-ring-dark {\n --bs-focus-ring-color: rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity));\n}\n\n.position-static {\n position: static !important;\n}\n\n.position-relative {\n position: relative !important;\n}\n\n.position-absolute {\n position: absolute !important;\n}\n\n.position-fixed {\n position: fixed !important;\n}\n\n.position-sticky {\n position: sticky !important;\n}\n\n.top-0 {\n top: 0 !important;\n}\n\n.top-50 {\n top: 50% !important;\n}\n\n.top-100 {\n top: 100% !important;\n}\n\n.bottom-0 {\n bottom: 0 !important;\n}\n\n.bottom-50 {\n bottom: 50% !important;\n}\n\n.bottom-100 {\n bottom: 100% !important;\n}\n\n.start-0 {\n left: 0 !important;\n}\n\n.start-50 {\n left: 50% !important;\n}\n\n.start-100 {\n left: 100% !important;\n}\n\n.end-0 {\n right: 0 !important;\n}\n\n.end-50 {\n right: 50% !important;\n}\n\n.end-100 {\n right: 100% !important;\n}\n\n.translate-middle {\n transform: translate(-50%, -50%) !important;\n}\n\n.translate-middle-x {\n transform: translateX(-50%) !important;\n}\n\n.translate-middle-y {\n transform: translateY(-50%) !important;\n}\n\n.border {\n border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-0 {\n border: 0 !important;\n}\n\n.border-top {\n border-top: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-top-0 {\n border-top: 0 !important;\n}\n\n.border-end {\n border-right: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-end-0 {\n border-right: 0 !important;\n}\n\n.border-bottom {\n border-bottom: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-bottom-0 {\n border-bottom: 0 !important;\n}\n\n.border-start {\n border-left: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color) !important;\n}\n\n.border-start-0 {\n border-left: 0 !important;\n}\n\n.border-primary {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-primary-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-secondary {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-secondary-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-success {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-success-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-info {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-info-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-warning {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-warning-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-danger {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-danger-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-light {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-light-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-dark {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-dark-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-black {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-black-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-white {\n --bs-border-opacity: 1;\n border-color: rgba(var(--bs-white-rgb), var(--bs-border-opacity)) !important;\n}\n\n.border-primary-subtle {\n border-color: var(--bs-primary-border-subtle) !important;\n}\n\n.border-secondary-subtle {\n border-color: var(--bs-secondary-border-subtle) !important;\n}\n\n.border-success-subtle {\n border-color: var(--bs-success-border-subtle) !important;\n}\n\n.border-info-subtle {\n border-color: var(--bs-info-border-subtle) !important;\n}\n\n.border-warning-subtle {\n border-color: var(--bs-warning-border-subtle) !important;\n}\n\n.border-danger-subtle {\n border-color: var(--bs-danger-border-subtle) !important;\n}\n\n.border-light-subtle {\n border-color: var(--bs-light-border-subtle) !important;\n}\n\n.border-dark-subtle {\n border-color: var(--bs-dark-border-subtle) !important;\n}\n\n.border-1 {\n border-width: 1px !important;\n}\n\n.border-2 {\n border-width: 2px !important;\n}\n\n.border-3 {\n border-width: 3px !important;\n}\n\n.border-4 {\n border-width: 4px !important;\n}\n\n.border-5 {\n border-width: 5px !important;\n}\n\n.border-opacity-10 {\n --bs-border-opacity: 0.1;\n}\n\n.border-opacity-25 {\n --bs-border-opacity: 0.25;\n}\n\n.border-opacity-50 {\n --bs-border-opacity: 0.5;\n}\n\n.border-opacity-75 {\n --bs-border-opacity: 0.75;\n}\n\n.border-opacity-100 {\n --bs-border-opacity: 1;\n}\n\n.w-25 {\n width: 25% !important;\n}\n\n.w-50 {\n width: 50% !important;\n}\n\n.w-75 {\n width: 75% !important;\n}\n\n.w-100 {\n width: 100% !important;\n}\n\n.w-auto {\n width: auto !important;\n}\n\n.mw-100 {\n max-width: 100% !important;\n}\n\n.vw-100 {\n width: 100vw !important;\n}\n\n.min-vw-100 {\n min-width: 100vw !important;\n}\n\n.h-25 {\n height: 25% !important;\n}\n\n.h-50 {\n height: 50% !important;\n}\n\n.h-75 {\n height: 75% !important;\n}\n\n.h-100 {\n height: 100% !important;\n}\n\n.h-auto {\n height: auto !important;\n}\n\n.mh-100 {\n max-height: 100% !important;\n}\n\n.vh-100 {\n height: 100vh !important;\n}\n\n.min-vh-100 {\n min-height: 100vh !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n.gap-0 {\n gap: 0 !important;\n}\n\n.gap-1 {\n gap: 0.25rem !important;\n}\n\n.gap-2 {\n gap: 0.5rem !important;\n}\n\n.gap-3 {\n gap: 1rem !important;\n}\n\n.gap-4 {\n gap: 1.5rem !important;\n}\n\n.gap-5 {\n gap: 3rem !important;\n}\n\n.row-gap-0 {\n row-gap: 0 !important;\n}\n\n.row-gap-1 {\n row-gap: 0.25rem !important;\n}\n\n.row-gap-2 {\n row-gap: 0.5rem !important;\n}\n\n.row-gap-3 {\n row-gap: 1rem !important;\n}\n\n.row-gap-4 {\n row-gap: 1.5rem !important;\n}\n\n.row-gap-5 {\n row-gap: 3rem !important;\n}\n\n.column-gap-0 {\n column-gap: 0 !important;\n}\n\n.column-gap-1 {\n column-gap: 0.25rem !important;\n}\n\n.column-gap-2 {\n column-gap: 0.5rem !important;\n}\n\n.column-gap-3 {\n column-gap: 1rem !important;\n}\n\n.column-gap-4 {\n column-gap: 1.5rem !important;\n}\n\n.column-gap-5 {\n column-gap: 3rem !important;\n}\n\n.font-monospace {\n font-family: var(--bs-font-monospace) !important;\n}\n\n.fs-1 {\n font-size: calc(1.375rem + 1.5vw) !important;\n}\n\n.fs-2 {\n font-size: calc(1.325rem + 0.9vw) !important;\n}\n\n.fs-3 {\n font-size: calc(1.3rem + 0.6vw) !important;\n}\n\n.fs-4 {\n font-size: calc(1.275rem + 0.3vw) !important;\n}\n\n.fs-5 {\n font-size: 1.25rem !important;\n}\n\n.fs-6 {\n font-size: 1rem !important;\n}\n\n.fst-italic {\n font-style: italic !important;\n}\n\n.fst-normal {\n font-style: normal !important;\n}\n\n.fw-lighter {\n font-weight: lighter !important;\n}\n\n.fw-light {\n font-weight: 300 !important;\n}\n\n.fw-normal {\n font-weight: 400 !important;\n}\n\n.fw-medium {\n font-weight: 500 !important;\n}\n\n.fw-semibold {\n font-weight: 600 !important;\n}\n\n.fw-bold {\n font-weight: 700 !important;\n}\n\n.fw-bolder {\n font-weight: bolder !important;\n}\n\n.lh-1 {\n line-height: 1 !important;\n}\n\n.lh-sm {\n line-height: 1.25 !important;\n}\n\n.lh-base {\n line-height: 1.5 !important;\n}\n\n.lh-lg {\n line-height: 2 !important;\n}\n\n.text-start {\n text-align: left !important;\n}\n\n.text-end {\n text-align: right !important;\n}\n\n.text-center {\n text-align: center !important;\n}\n\n.text-decoration-none {\n text-decoration: none !important;\n}\n\n.text-decoration-underline {\n text-decoration: underline !important;\n}\n\n.text-decoration-line-through {\n text-decoration: line-through !important;\n}\n\n.text-lowercase {\n text-transform: lowercase !important;\n}\n\n.text-uppercase {\n text-transform: uppercase !important;\n}\n\n.text-capitalize {\n text-transform: capitalize !important;\n}\n\n.text-wrap {\n white-space: normal !important;\n}\n\n.text-nowrap {\n white-space: nowrap !important;\n}\n\n/* rtl:begin:remove */\n.text-break {\n word-wrap: break-word !important;\n word-break: break-word !important;\n}\n\n/* rtl:end:remove */\n.text-primary {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-primary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-secondary {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-secondary-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-success {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-success-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-info {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-info-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-warning {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-warning-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-danger {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-danger-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-light {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-light-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-dark {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-dark-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-black {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-black-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-white {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-white-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-body {\n --bs-text-opacity: 1;\n color: rgba(var(--bs-body-color-rgb), var(--bs-text-opacity)) !important;\n}\n\n.text-muted {\n --bs-text-opacity: 1;\n color: var(--bs-secondary-color) !important;\n}\n\n.text-black-50 {\n --bs-text-opacity: 1;\n color: rgba(0, 0, 0, 0.5) !important;\n}\n\n.text-white-50 {\n --bs-text-opacity: 1;\n color: rgba(255, 255, 255, 0.5) !important;\n}\n\n.text-body-secondary {\n --bs-text-opacity: 1;\n color: var(--bs-secondary-color) !important;\n}\n\n.text-body-tertiary {\n --bs-text-opacity: 1;\n color: var(--bs-tertiary-color) !important;\n}\n\n.text-body-emphasis {\n --bs-text-opacity: 1;\n color: var(--bs-emphasis-color) !important;\n}\n\n.text-reset {\n --bs-text-opacity: 1;\n color: inherit !important;\n}\n\n.text-opacity-25 {\n --bs-text-opacity: 0.25;\n}\n\n.text-opacity-50 {\n --bs-text-opacity: 0.5;\n}\n\n.text-opacity-75 {\n --bs-text-opacity: 0.75;\n}\n\n.text-opacity-100 {\n --bs-text-opacity: 1;\n}\n\n.text-primary-emphasis {\n color: var(--bs-primary-text-emphasis) !important;\n}\n\n.text-secondary-emphasis {\n color: var(--bs-secondary-text-emphasis) !important;\n}\n\n.text-success-emphasis {\n color: var(--bs-success-text-emphasis) !important;\n}\n\n.text-info-emphasis {\n color: var(--bs-info-text-emphasis) !important;\n}\n\n.text-warning-emphasis {\n color: var(--bs-warning-text-emphasis) !important;\n}\n\n.text-danger-emphasis {\n color: var(--bs-danger-text-emphasis) !important;\n}\n\n.text-light-emphasis {\n color: var(--bs-light-text-emphasis) !important;\n}\n\n.text-dark-emphasis {\n color: var(--bs-dark-text-emphasis) !important;\n}\n\n.link-opacity-10 {\n --bs-link-opacity: 0.1;\n}\n\n.link-opacity-10-hover:hover {\n --bs-link-opacity: 0.1;\n}\n\n.link-opacity-25 {\n --bs-link-opacity: 0.25;\n}\n\n.link-opacity-25-hover:hover {\n --bs-link-opacity: 0.25;\n}\n\n.link-opacity-50 {\n --bs-link-opacity: 0.5;\n}\n\n.link-opacity-50-hover:hover {\n --bs-link-opacity: 0.5;\n}\n\n.link-opacity-75 {\n --bs-link-opacity: 0.75;\n}\n\n.link-opacity-75-hover:hover {\n --bs-link-opacity: 0.75;\n}\n\n.link-opacity-100 {\n --bs-link-opacity: 1;\n}\n\n.link-opacity-100-hover:hover {\n --bs-link-opacity: 1;\n}\n\n.link-offset-1 {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-1-hover:hover {\n text-underline-offset: 0.125em !important;\n}\n\n.link-offset-2 {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-2-hover:hover {\n text-underline-offset: 0.25em !important;\n}\n\n.link-offset-3 {\n text-underline-offset: 0.375em !important;\n}\n\n.link-offset-3-hover:hover {\n text-underline-offset: 0.375em !important;\n}\n\n.link-underline-primary {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-primary-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-secondary {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-secondary-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-success {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-success-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-info {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-info-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-warning {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-warning-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-danger {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-danger-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-light {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-light-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline-dark {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-dark-rgb), var(--bs-link-underline-opacity)) !important;\n}\n\n.link-underline {\n --bs-link-underline-opacity: 1;\n text-decoration-color: rgba(var(--bs-link-color-rgb), var(--bs-link-underline-opacity, 1)) !important;\n}\n\n.link-underline-opacity-0 {\n --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-0-hover:hover {\n --bs-link-underline-opacity: 0;\n}\n\n.link-underline-opacity-10 {\n --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-10-hover:hover {\n --bs-link-underline-opacity: 0.1;\n}\n\n.link-underline-opacity-25 {\n --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-25-hover:hover {\n --bs-link-underline-opacity: 0.25;\n}\n\n.link-underline-opacity-50 {\n --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-50-hover:hover {\n --bs-link-underline-opacity: 0.5;\n}\n\n.link-underline-opacity-75 {\n --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-75-hover:hover {\n --bs-link-underline-opacity: 0.75;\n}\n\n.link-underline-opacity-100 {\n --bs-link-underline-opacity: 1;\n}\n\n.link-underline-opacity-100-hover:hover {\n --bs-link-underline-opacity: 1;\n}\n\n.bg-primary {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-primary-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-secondary-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-success {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-success-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-info {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-info-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-warning {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-warning-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-danger {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-danger-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-light {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-dark {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-dark-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-black {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-black-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-white {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-white-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-body-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-transparent {\n --bs-bg-opacity: 1;\n background-color: transparent !important;\n}\n\n.bg-body-secondary {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-secondary-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-body-tertiary {\n --bs-bg-opacity: 1;\n background-color: rgba(var(--bs-tertiary-bg-rgb), var(--bs-bg-opacity)) !important;\n}\n\n.bg-opacity-10 {\n --bs-bg-opacity: 0.1;\n}\n\n.bg-opacity-25 {\n --bs-bg-opacity: 0.25;\n}\n\n.bg-opacity-50 {\n --bs-bg-opacity: 0.5;\n}\n\n.bg-opacity-75 {\n --bs-bg-opacity: 0.75;\n}\n\n.bg-opacity-100 {\n --bs-bg-opacity: 1;\n}\n\n.bg-primary-subtle {\n background-color: var(--bs-primary-bg-subtle) !important;\n}\n\n.bg-secondary-subtle {\n background-color: var(--bs-secondary-bg-subtle) !important;\n}\n\n.bg-success-subtle {\n background-color: var(--bs-success-bg-subtle) !important;\n}\n\n.bg-info-subtle {\n background-color: var(--bs-info-bg-subtle) !important;\n}\n\n.bg-warning-subtle {\n background-color: var(--bs-warning-bg-subtle) !important;\n}\n\n.bg-danger-subtle {\n background-color: var(--bs-danger-bg-subtle) !important;\n}\n\n.bg-light-subtle {\n background-color: var(--bs-light-bg-subtle) !important;\n}\n\n.bg-dark-subtle {\n background-color: var(--bs-dark-bg-subtle) !important;\n}\n\n.bg-gradient {\n background-image: var(--bs-gradient) !important;\n}\n\n.user-select-all {\n user-select: all !important;\n}\n\n.user-select-auto {\n user-select: auto !important;\n}\n\n.user-select-none {\n user-select: none !important;\n}\n\n.pe-none {\n pointer-events: none !important;\n}\n\n.pe-auto {\n pointer-events: auto !important;\n}\n\n.rounded {\n border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-0 {\n border-radius: 0 !important;\n}\n\n.rounded-1 {\n border-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-2 {\n border-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-3 {\n border-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-4 {\n border-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-5 {\n border-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-circle {\n border-radius: 50% !important;\n}\n\n.rounded-pill {\n border-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-top {\n border-top-left-radius: var(--bs-border-radius) !important;\n border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-0 {\n border-top-left-radius: 0 !important;\n border-top-right-radius: 0 !important;\n}\n\n.rounded-top-1 {\n border-top-left-radius: var(--bs-border-radius-sm) !important;\n border-top-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-top-2 {\n border-top-left-radius: var(--bs-border-radius) !important;\n border-top-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-top-3 {\n border-top-left-radius: var(--bs-border-radius-lg) !important;\n border-top-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-top-4 {\n border-top-left-radius: var(--bs-border-radius-xl) !important;\n border-top-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-top-5 {\n border-top-left-radius: var(--bs-border-radius-xxl) !important;\n border-top-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-top-circle {\n border-top-left-radius: 50% !important;\n border-top-right-radius: 50% !important;\n}\n\n.rounded-top-pill {\n border-top-left-radius: var(--bs-border-radius-pill) !important;\n border-top-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-end {\n border-top-right-radius: var(--bs-border-radius) !important;\n border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-0 {\n border-top-right-radius: 0 !important;\n border-bottom-right-radius: 0 !important;\n}\n\n.rounded-end-1 {\n border-top-right-radius: var(--bs-border-radius-sm) !important;\n border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-end-2 {\n border-top-right-radius: var(--bs-border-radius) !important;\n border-bottom-right-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-end-3 {\n border-top-right-radius: var(--bs-border-radius-lg) !important;\n border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-end-4 {\n border-top-right-radius: var(--bs-border-radius-xl) !important;\n border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-end-5 {\n border-top-right-radius: var(--bs-border-radius-xxl) !important;\n border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-end-circle {\n border-top-right-radius: 50% !important;\n border-bottom-right-radius: 50% !important;\n}\n\n.rounded-end-pill {\n border-top-right-radius: var(--bs-border-radius-pill) !important;\n border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-bottom {\n border-bottom-right-radius: var(--bs-border-radius) !important;\n border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-0 {\n border-bottom-right-radius: 0 !important;\n border-bottom-left-radius: 0 !important;\n}\n\n.rounded-bottom-1 {\n border-bottom-right-radius: var(--bs-border-radius-sm) !important;\n border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-bottom-2 {\n border-bottom-right-radius: var(--bs-border-radius) !important;\n border-bottom-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-bottom-3 {\n border-bottom-right-radius: var(--bs-border-radius-lg) !important;\n border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-bottom-4 {\n border-bottom-right-radius: var(--bs-border-radius-xl) !important;\n border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-bottom-5 {\n border-bottom-right-radius: var(--bs-border-radius-xxl) !important;\n border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-bottom-circle {\n border-bottom-right-radius: 50% !important;\n border-bottom-left-radius: 50% !important;\n}\n\n.rounded-bottom-pill {\n border-bottom-right-radius: var(--bs-border-radius-pill) !important;\n border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.rounded-start {\n border-bottom-left-radius: var(--bs-border-radius) !important;\n border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-0 {\n border-bottom-left-radius: 0 !important;\n border-top-left-radius: 0 !important;\n}\n\n.rounded-start-1 {\n border-bottom-left-radius: var(--bs-border-radius-sm) !important;\n border-top-left-radius: var(--bs-border-radius-sm) !important;\n}\n\n.rounded-start-2 {\n border-bottom-left-radius: var(--bs-border-radius) !important;\n border-top-left-radius: var(--bs-border-radius) !important;\n}\n\n.rounded-start-3 {\n border-bottom-left-radius: var(--bs-border-radius-lg) !important;\n border-top-left-radius: var(--bs-border-radius-lg) !important;\n}\n\n.rounded-start-4 {\n border-bottom-left-radius: var(--bs-border-radius-xl) !important;\n border-top-left-radius: var(--bs-border-radius-xl) !important;\n}\n\n.rounded-start-5 {\n border-bottom-left-radius: var(--bs-border-radius-xxl) !important;\n border-top-left-radius: var(--bs-border-radius-xxl) !important;\n}\n\n.rounded-start-circle {\n border-bottom-left-radius: 50% !important;\n border-top-left-radius: 50% !important;\n}\n\n.rounded-start-pill {\n border-bottom-left-radius: var(--bs-border-radius-pill) !important;\n border-top-left-radius: var(--bs-border-radius-pill) !important;\n}\n\n.visible {\n visibility: visible !important;\n}\n\n.invisible {\n visibility: hidden !important;\n}\n\n.z-n1 {\n z-index: -1 !important;\n}\n\n.z-0 {\n z-index: 0 !important;\n}\n\n.z-1 {\n z-index: 1 !important;\n}\n\n.z-2 {\n z-index: 2 !important;\n}\n\n.z-3 {\n z-index: 3 !important;\n}\n\n@media (min-width: 576px) {\n .float-sm-start {\n float: left !important;\n }\n .float-sm-end {\n float: right !important;\n }\n .float-sm-none {\n float: none !important;\n }\n .object-fit-sm-contain {\n object-fit: contain !important;\n }\n .object-fit-sm-cover {\n object-fit: cover !important;\n }\n .object-fit-sm-fill {\n object-fit: fill !important;\n }\n .object-fit-sm-scale {\n object-fit: scale-down !important;\n }\n .object-fit-sm-none {\n object-fit: none !important;\n }\n .d-sm-inline {\n display: inline !important;\n }\n .d-sm-inline-block {\n display: inline-block !important;\n }\n .d-sm-block {\n display: block !important;\n }\n .d-sm-grid {\n display: grid !important;\n }\n .d-sm-inline-grid {\n display: inline-grid !important;\n }\n .d-sm-table {\n display: table !important;\n }\n .d-sm-table-row {\n display: table-row !important;\n }\n .d-sm-table-cell {\n display: table-cell !important;\n }\n .d-sm-flex {\n display: flex !important;\n }\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n .d-sm-none {\n display: none !important;\n }\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n .flex-sm-row {\n flex-direction: row !important;\n }\n .flex-sm-column {\n flex-direction: column !important;\n }\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n .justify-content-sm-center {\n justify-content: center !important;\n }\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n .align-items-sm-center {\n align-items: center !important;\n }\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n .align-content-sm-center {\n align-content: center !important;\n }\n .align-content-sm-between {\n align-content: space-between !important;\n }\n .align-content-sm-around {\n align-content: space-around !important;\n }\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n .align-self-sm-auto {\n align-self: auto !important;\n }\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n .align-self-sm-center {\n align-self: center !important;\n }\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n .order-sm-first {\n order: -1 !important;\n }\n .order-sm-0 {\n order: 0 !important;\n }\n .order-sm-1 {\n order: 1 !important;\n }\n .order-sm-2 {\n order: 2 !important;\n }\n .order-sm-3 {\n order: 3 !important;\n }\n .order-sm-4 {\n order: 4 !important;\n }\n .order-sm-5 {\n order: 5 !important;\n }\n .order-sm-last {\n order: 6 !important;\n }\n .m-sm-0 {\n margin: 0 !important;\n }\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n .m-sm-3 {\n margin: 1rem !important;\n }\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n .m-sm-5 {\n margin: 3rem !important;\n }\n .m-sm-auto {\n margin: auto !important;\n }\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n .mt-sm-auto {\n margin-top: auto !important;\n }\n .me-sm-0 {\n margin-right: 0 !important;\n }\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n .me-sm-auto {\n margin-right: auto !important;\n }\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n .ms-sm-auto {\n margin-left: auto !important;\n }\n .p-sm-0 {\n padding: 0 !important;\n }\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n .p-sm-3 {\n padding: 1rem !important;\n }\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n .p-sm-5 {\n padding: 3rem !important;\n }\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n .gap-sm-0 {\n gap: 0 !important;\n }\n .gap-sm-1 {\n gap: 0.25rem !important;\n }\n .gap-sm-2 {\n gap: 0.5rem !important;\n }\n .gap-sm-3 {\n gap: 1rem !important;\n }\n .gap-sm-4 {\n gap: 1.5rem !important;\n }\n .gap-sm-5 {\n gap: 3rem !important;\n }\n .row-gap-sm-0 {\n row-gap: 0 !important;\n }\n .row-gap-sm-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-sm-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-sm-3 {\n row-gap: 1rem !important;\n }\n .row-gap-sm-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-sm-5 {\n row-gap: 3rem !important;\n }\n .column-gap-sm-0 {\n column-gap: 0 !important;\n }\n .column-gap-sm-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-sm-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-sm-3 {\n column-gap: 1rem !important;\n }\n .column-gap-sm-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-sm-5 {\n column-gap: 3rem !important;\n }\n .text-sm-start {\n text-align: left !important;\n }\n .text-sm-end {\n text-align: right !important;\n }\n .text-sm-center {\n text-align: center !important;\n }\n}\n@media (min-width: 768px) {\n .float-md-start {\n float: left !important;\n }\n .float-md-end {\n float: right !important;\n }\n .float-md-none {\n float: none !important;\n }\n .object-fit-md-contain {\n object-fit: contain !important;\n }\n .object-fit-md-cover {\n object-fit: cover !important;\n }\n .object-fit-md-fill {\n object-fit: fill !important;\n }\n .object-fit-md-scale {\n object-fit: scale-down !important;\n }\n .object-fit-md-none {\n object-fit: none !important;\n }\n .d-md-inline {\n display: inline !important;\n }\n .d-md-inline-block {\n display: inline-block !important;\n }\n .d-md-block {\n display: block !important;\n }\n .d-md-grid {\n display: grid !important;\n }\n .d-md-inline-grid {\n display: inline-grid !important;\n }\n .d-md-table {\n display: table !important;\n }\n .d-md-table-row {\n display: table-row !important;\n }\n .d-md-table-cell {\n display: table-cell !important;\n }\n .d-md-flex {\n display: flex !important;\n }\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n .d-md-none {\n display: none !important;\n }\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n .flex-md-row {\n flex-direction: row !important;\n }\n .flex-md-column {\n flex-direction: column !important;\n }\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n .justify-content-md-center {\n justify-content: center !important;\n }\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-md-start {\n align-items: flex-start !important;\n }\n .align-items-md-end {\n align-items: flex-end !important;\n }\n .align-items-md-center {\n align-items: center !important;\n }\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n .align-content-md-start {\n align-content: flex-start !important;\n }\n .align-content-md-end {\n align-content: flex-end !important;\n }\n .align-content-md-center {\n align-content: center !important;\n }\n .align-content-md-between {\n align-content: space-between !important;\n }\n .align-content-md-around {\n align-content: space-around !important;\n }\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n .align-self-md-auto {\n align-self: auto !important;\n }\n .align-self-md-start {\n align-self: flex-start !important;\n }\n .align-self-md-end {\n align-self: flex-end !important;\n }\n .align-self-md-center {\n align-self: center !important;\n }\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n .order-md-first {\n order: -1 !important;\n }\n .order-md-0 {\n order: 0 !important;\n }\n .order-md-1 {\n order: 1 !important;\n }\n .order-md-2 {\n order: 2 !important;\n }\n .order-md-3 {\n order: 3 !important;\n }\n .order-md-4 {\n order: 4 !important;\n }\n .order-md-5 {\n order: 5 !important;\n }\n .order-md-last {\n order: 6 !important;\n }\n .m-md-0 {\n margin: 0 !important;\n }\n .m-md-1 {\n margin: 0.25rem !important;\n }\n .m-md-2 {\n margin: 0.5rem !important;\n }\n .m-md-3 {\n margin: 1rem !important;\n }\n .m-md-4 {\n margin: 1.5rem !important;\n }\n .m-md-5 {\n margin: 3rem !important;\n }\n .m-md-auto {\n margin: auto !important;\n }\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-md-0 {\n margin-top: 0 !important;\n }\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n .mt-md-auto {\n margin-top: auto !important;\n }\n .me-md-0 {\n margin-right: 0 !important;\n }\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n .me-md-3 {\n margin-right: 1rem !important;\n }\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n .me-md-5 {\n margin-right: 3rem !important;\n }\n .me-md-auto {\n margin-right: auto !important;\n }\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n .ms-md-0 {\n margin-left: 0 !important;\n }\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n .ms-md-auto {\n margin-left: auto !important;\n }\n .p-md-0 {\n padding: 0 !important;\n }\n .p-md-1 {\n padding: 0.25rem !important;\n }\n .p-md-2 {\n padding: 0.5rem !important;\n }\n .p-md-3 {\n padding: 1rem !important;\n }\n .p-md-4 {\n padding: 1.5rem !important;\n }\n .p-md-5 {\n padding: 3rem !important;\n }\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-md-0 {\n padding-top: 0 !important;\n }\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n .pe-md-0 {\n padding-right: 0 !important;\n }\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n .ps-md-0 {\n padding-left: 0 !important;\n }\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n .gap-md-0 {\n gap: 0 !important;\n }\n .gap-md-1 {\n gap: 0.25rem !important;\n }\n .gap-md-2 {\n gap: 0.5rem !important;\n }\n .gap-md-3 {\n gap: 1rem !important;\n }\n .gap-md-4 {\n gap: 1.5rem !important;\n }\n .gap-md-5 {\n gap: 3rem !important;\n }\n .row-gap-md-0 {\n row-gap: 0 !important;\n }\n .row-gap-md-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-md-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-md-3 {\n row-gap: 1rem !important;\n }\n .row-gap-md-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-md-5 {\n row-gap: 3rem !important;\n }\n .column-gap-md-0 {\n column-gap: 0 !important;\n }\n .column-gap-md-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-md-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-md-3 {\n column-gap: 1rem !important;\n }\n .column-gap-md-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-md-5 {\n column-gap: 3rem !important;\n }\n .text-md-start {\n text-align: left !important;\n }\n .text-md-end {\n text-align: right !important;\n }\n .text-md-center {\n text-align: center !important;\n }\n}\n@media (min-width: 992px) {\n .float-lg-start {\n float: left !important;\n }\n .float-lg-end {\n float: right !important;\n }\n .float-lg-none {\n float: none !important;\n }\n .object-fit-lg-contain {\n object-fit: contain !important;\n }\n .object-fit-lg-cover {\n object-fit: cover !important;\n }\n .object-fit-lg-fill {\n object-fit: fill !important;\n }\n .object-fit-lg-scale {\n object-fit: scale-down !important;\n }\n .object-fit-lg-none {\n object-fit: none !important;\n }\n .d-lg-inline {\n display: inline !important;\n }\n .d-lg-inline-block {\n display: inline-block !important;\n }\n .d-lg-block {\n display: block !important;\n }\n .d-lg-grid {\n display: grid !important;\n }\n .d-lg-inline-grid {\n display: inline-grid !important;\n }\n .d-lg-table {\n display: table !important;\n }\n .d-lg-table-row {\n display: table-row !important;\n }\n .d-lg-table-cell {\n display: table-cell !important;\n }\n .d-lg-flex {\n display: flex !important;\n }\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n .d-lg-none {\n display: none !important;\n }\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n .flex-lg-row {\n flex-direction: row !important;\n }\n .flex-lg-column {\n flex-direction: column !important;\n }\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n .justify-content-lg-center {\n justify-content: center !important;\n }\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n .align-items-lg-center {\n align-items: center !important;\n }\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n .align-content-lg-center {\n align-content: center !important;\n }\n .align-content-lg-between {\n align-content: space-between !important;\n }\n .align-content-lg-around {\n align-content: space-around !important;\n }\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n .align-self-lg-auto {\n align-self: auto !important;\n }\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n .align-self-lg-center {\n align-self: center !important;\n }\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n .order-lg-first {\n order: -1 !important;\n }\n .order-lg-0 {\n order: 0 !important;\n }\n .order-lg-1 {\n order: 1 !important;\n }\n .order-lg-2 {\n order: 2 !important;\n }\n .order-lg-3 {\n order: 3 !important;\n }\n .order-lg-4 {\n order: 4 !important;\n }\n .order-lg-5 {\n order: 5 !important;\n }\n .order-lg-last {\n order: 6 !important;\n }\n .m-lg-0 {\n margin: 0 !important;\n }\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n .m-lg-3 {\n margin: 1rem !important;\n }\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n .m-lg-5 {\n margin: 3rem !important;\n }\n .m-lg-auto {\n margin: auto !important;\n }\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n .mt-lg-auto {\n margin-top: auto !important;\n }\n .me-lg-0 {\n margin-right: 0 !important;\n }\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n .me-lg-auto {\n margin-right: auto !important;\n }\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n .ms-lg-auto {\n margin-left: auto !important;\n }\n .p-lg-0 {\n padding: 0 !important;\n }\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n .p-lg-3 {\n padding: 1rem !important;\n }\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n .p-lg-5 {\n padding: 3rem !important;\n }\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n .gap-lg-0 {\n gap: 0 !important;\n }\n .gap-lg-1 {\n gap: 0.25rem !important;\n }\n .gap-lg-2 {\n gap: 0.5rem !important;\n }\n .gap-lg-3 {\n gap: 1rem !important;\n }\n .gap-lg-4 {\n gap: 1.5rem !important;\n }\n .gap-lg-5 {\n gap: 3rem !important;\n }\n .row-gap-lg-0 {\n row-gap: 0 !important;\n }\n .row-gap-lg-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-lg-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-lg-3 {\n row-gap: 1rem !important;\n }\n .row-gap-lg-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-lg-5 {\n row-gap: 3rem !important;\n }\n .column-gap-lg-0 {\n column-gap: 0 !important;\n }\n .column-gap-lg-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-lg-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-lg-3 {\n column-gap: 1rem !important;\n }\n .column-gap-lg-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-lg-5 {\n column-gap: 3rem !important;\n }\n .text-lg-start {\n text-align: left !important;\n }\n .text-lg-end {\n text-align: right !important;\n }\n .text-lg-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .float-xl-start {\n float: left !important;\n }\n .float-xl-end {\n float: right !important;\n }\n .float-xl-none {\n float: none !important;\n }\n .object-fit-xl-contain {\n object-fit: contain !important;\n }\n .object-fit-xl-cover {\n object-fit: cover !important;\n }\n .object-fit-xl-fill {\n object-fit: fill !important;\n }\n .object-fit-xl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xl-none {\n object-fit: none !important;\n }\n .d-xl-inline {\n display: inline !important;\n }\n .d-xl-inline-block {\n display: inline-block !important;\n }\n .d-xl-block {\n display: block !important;\n }\n .d-xl-grid {\n display: grid !important;\n }\n .d-xl-inline-grid {\n display: inline-grid !important;\n }\n .d-xl-table {\n display: table !important;\n }\n .d-xl-table-row {\n display: table-row !important;\n }\n .d-xl-table-cell {\n display: table-cell !important;\n }\n .d-xl-flex {\n display: flex !important;\n }\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n .d-xl-none {\n display: none !important;\n }\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xl-row {\n flex-direction: row !important;\n }\n .flex-xl-column {\n flex-direction: column !important;\n }\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xl-center {\n justify-content: center !important;\n }\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n .align-items-xl-center {\n align-items: center !important;\n }\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n .align-content-xl-center {\n align-content: center !important;\n }\n .align-content-xl-between {\n align-content: space-between !important;\n }\n .align-content-xl-around {\n align-content: space-around !important;\n }\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n .align-self-xl-auto {\n align-self: auto !important;\n }\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n .align-self-xl-center {\n align-self: center !important;\n }\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n .order-xl-first {\n order: -1 !important;\n }\n .order-xl-0 {\n order: 0 !important;\n }\n .order-xl-1 {\n order: 1 !important;\n }\n .order-xl-2 {\n order: 2 !important;\n }\n .order-xl-3 {\n order: 3 !important;\n }\n .order-xl-4 {\n order: 4 !important;\n }\n .order-xl-5 {\n order: 5 !important;\n }\n .order-xl-last {\n order: 6 !important;\n }\n .m-xl-0 {\n margin: 0 !important;\n }\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n .m-xl-3 {\n margin: 1rem !important;\n }\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n .m-xl-5 {\n margin: 3rem !important;\n }\n .m-xl-auto {\n margin: auto !important;\n }\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n .mt-xl-auto {\n margin-top: auto !important;\n }\n .me-xl-0 {\n margin-right: 0 !important;\n }\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n .me-xl-auto {\n margin-right: auto !important;\n }\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n .ms-xl-auto {\n margin-left: auto !important;\n }\n .p-xl-0 {\n padding: 0 !important;\n }\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n .p-xl-3 {\n padding: 1rem !important;\n }\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n .p-xl-5 {\n padding: 3rem !important;\n }\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n .gap-xl-0 {\n gap: 0 !important;\n }\n .gap-xl-1 {\n gap: 0.25rem !important;\n }\n .gap-xl-2 {\n gap: 0.5rem !important;\n }\n .gap-xl-3 {\n gap: 1rem !important;\n }\n .gap-xl-4 {\n gap: 1.5rem !important;\n }\n .gap-xl-5 {\n gap: 3rem !important;\n }\n .row-gap-xl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xl-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-xl-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-xl-3 {\n row-gap: 1rem !important;\n }\n .row-gap-xl-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-xl-5 {\n row-gap: 3rem !important;\n }\n .column-gap-xl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xl-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-xl-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-xl-3 {\n column-gap: 1rem !important;\n }\n .column-gap-xl-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-xl-5 {\n column-gap: 3rem !important;\n }\n .text-xl-start {\n text-align: left !important;\n }\n .text-xl-end {\n text-align: right !important;\n }\n .text-xl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1400px) {\n .float-xxl-start {\n float: left !important;\n }\n .float-xxl-end {\n float: right !important;\n }\n .float-xxl-none {\n float: none !important;\n }\n .object-fit-xxl-contain {\n object-fit: contain !important;\n }\n .object-fit-xxl-cover {\n object-fit: cover !important;\n }\n .object-fit-xxl-fill {\n object-fit: fill !important;\n }\n .object-fit-xxl-scale {\n object-fit: scale-down !important;\n }\n .object-fit-xxl-none {\n object-fit: none !important;\n }\n .d-xxl-inline {\n display: inline !important;\n }\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n .d-xxl-block {\n display: block !important;\n }\n .d-xxl-grid {\n display: grid !important;\n }\n .d-xxl-inline-grid {\n display: inline-grid !important;\n }\n .d-xxl-table {\n display: table !important;\n }\n .d-xxl-table-row {\n display: table-row !important;\n }\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n .d-xxl-flex {\n display: flex !important;\n }\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n .d-xxl-none {\n display: none !important;\n }\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n .flex-xxl-row {\n flex-direction: row !important;\n }\n .flex-xxl-column {\n flex-direction: column !important;\n }\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n .align-items-xxl-center {\n align-items: center !important;\n }\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n .align-content-xxl-center {\n align-content: center !important;\n }\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n .align-self-xxl-center {\n align-self: center !important;\n }\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n .order-xxl-first {\n order: -1 !important;\n }\n .order-xxl-0 {\n order: 0 !important;\n }\n .order-xxl-1 {\n order: 1 !important;\n }\n .order-xxl-2 {\n order: 2 !important;\n }\n .order-xxl-3 {\n order: 3 !important;\n }\n .order-xxl-4 {\n order: 4 !important;\n }\n .order-xxl-5 {\n order: 5 !important;\n }\n .order-xxl-last {\n order: 6 !important;\n }\n .m-xxl-0 {\n margin: 0 !important;\n }\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n .m-xxl-3 {\n margin: 1rem !important;\n }\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n .m-xxl-5 {\n margin: 3rem !important;\n }\n .m-xxl-auto {\n margin: auto !important;\n }\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n .me-xxl-auto {\n margin-right: auto !important;\n }\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n .p-xxl-0 {\n padding: 0 !important;\n }\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n .p-xxl-3 {\n padding: 1rem !important;\n }\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n .p-xxl-5 {\n padding: 3rem !important;\n }\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n .gap-xxl-0 {\n gap: 0 !important;\n }\n .gap-xxl-1 {\n gap: 0.25rem !important;\n }\n .gap-xxl-2 {\n gap: 0.5rem !important;\n }\n .gap-xxl-3 {\n gap: 1rem !important;\n }\n .gap-xxl-4 {\n gap: 1.5rem !important;\n }\n .gap-xxl-5 {\n gap: 3rem !important;\n }\n .row-gap-xxl-0 {\n row-gap: 0 !important;\n }\n .row-gap-xxl-1 {\n row-gap: 0.25rem !important;\n }\n .row-gap-xxl-2 {\n row-gap: 0.5rem !important;\n }\n .row-gap-xxl-3 {\n row-gap: 1rem !important;\n }\n .row-gap-xxl-4 {\n row-gap: 1.5rem !important;\n }\n .row-gap-xxl-5 {\n row-gap: 3rem !important;\n }\n .column-gap-xxl-0 {\n column-gap: 0 !important;\n }\n .column-gap-xxl-1 {\n column-gap: 0.25rem !important;\n }\n .column-gap-xxl-2 {\n column-gap: 0.5rem !important;\n }\n .column-gap-xxl-3 {\n column-gap: 1rem !important;\n }\n .column-gap-xxl-4 {\n column-gap: 1.5rem !important;\n }\n .column-gap-xxl-5 {\n column-gap: 3rem !important;\n }\n .text-xxl-start {\n text-align: left !important;\n }\n .text-xxl-end {\n text-align: right !important;\n }\n .text-xxl-center {\n text-align: center !important;\n }\n}\n@media (min-width: 1200px) {\n .fs-1 {\n font-size: 2.5rem !important;\n }\n .fs-2 {\n font-size: 2rem !important;\n }\n .fs-3 {\n font-size: 1.75rem !important;\n }\n .fs-4 {\n font-size: 1.5rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n .d-print-inline-block {\n display: inline-block !important;\n }\n .d-print-block {\n display: block !important;\n }\n .d-print-grid {\n display: grid !important;\n }\n .d-print-inline-grid {\n display: inline-grid !important;\n }\n .d-print-table {\n display: table !important;\n }\n .d-print-table-row {\n display: table-row !important;\n }\n .d-print-table-cell {\n display: table-cell !important;\n }\n .d-print-flex {\n display: flex !important;\n }\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n .d-print-none {\n display: none !important;\n }\n}\n.navbar {\n font-weight: 300;\n}\n\n.bg-primary .dropdown-menu {\n background-color: #008cba;\n}\n.bg-primary .dropdown-menu .dropdown-item,\n.bg-primary .dropdown-menu .dropdown-item:focus {\n color: rgba(255, 255, 255, 0.7);\n}\n.bg-primary .dropdown-menu .dropdown-item.active,\n.bg-primary .dropdown-menu .dropdown-item:hover,\n.bg-primary .dropdown-menu .dropdown-item:focus {\n color: #fff;\n background-color: rgb(0, 126, 167.4);\n}\n\n.bg-dark {\n background-color: #333 !important;\n}\n.bg-dark .dropdown-menu {\n background-color: #333;\n}\n.bg-dark .dropdown-menu .dropdown-item,\n.bg-dark .dropdown-menu .dropdown-item:focus {\n color: rgba(255, 255, 255, 0.7);\n}\n.bg-dark .dropdown-menu .dropdown-item.active,\n.bg-dark .dropdown-menu .dropdown-item:hover,\n.bg-dark .dropdown-menu .dropdown-item:focus {\n color: #fff;\n background-color: rgb(45.9, 45.9, 45.9);\n}\n\n.bg-light .dropdown-menu {\n background-color: #eee;\n}\n.bg-light .dropdown-menu .dropdown-item,\n.bg-light .dropdown-menu .dropdown-item:focus {\n color: rgba(var(--bs-emphasis-color-rgb), 0.65);\n}\n.bg-light .dropdown-menu .dropdown-item.active,\n.bg-light .dropdown-menu .dropdown-item:hover,\n.bg-light .dropdown-menu .dropdown-item:focus {\n color: rgba(var(--bs-emphasis-color-rgb), 0.8);\n background-color: rgb(239.7, 239.7, 239.7);\n}\n\n.btn-primary {\n border-color: rgb(0, 126, 167.4);\n}\n.btn-secondary {\n border-color: rgb(214.2, 214.2, 214.2);\n}\n.btn-success {\n border-color: rgb(60.3, 154.8, 95.4);\n}\n.btn-info {\n color: #fff;\n border-color: rgb(81.9, 172.8, 199.8);\n}\n.btn-danger {\n border-color: rgb(216, 58.5, 32.4);\n}\n.btn-warning {\n color: #fff;\n border-color: rgb(209.7, 129.6, 1.8);\n}\n.btn-light {\n border-color: rgb(214.2, 214.2, 214.2);\n}\n.btn-dark {\n border-color: rgb(45.9, 45.9, 45.9);\n}\n\n.btn-outline-secondary {\n color: var(--bs-primary-color);\n}\n\n.btn-group .dropdown-menu {\n border-top-width: 0;\n}\n.btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu {\n background-color: #008cba;\n border-color: rgb(0, 126, 167.4);\n}\n.btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu .dropdown-item {\n color: #fff;\n}\n.btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu .dropdown-item:hover,\n.btn-group .dropdown-toggle.btn-primary ~ .dropdown-menu .dropdown-item:focus {\n background-color: rgb(0, 117.6, 156.24);\n}\n.btn-group .dropdown-toggle.btn-secondary ~ .dropdown-menu {\n background-color: #eee;\n border-color: rgb(214.2, 214.2, 214.2);\n}\n.btn-group .dropdown-toggle.btn-secondary ~ .dropdown-menu .dropdown-item {\n color: #222;\n}\n.btn-group .dropdown-toggle.btn-secondary ~ .dropdown-menu .dropdown-item:hover,\n.btn-group .dropdown-toggle.btn-secondary ~ .dropdown-menu .dropdown-item:focus {\n background-color: rgb(199.92, 199.92, 199.92);\n}\n.btn-group .dropdown-toggle.btn-success ~ .dropdown-menu {\n background-color: #43ac6a;\n border-color: rgb(60.3, 154.8, 95.4);\n}\n.btn-group .dropdown-toggle.btn-success ~ .dropdown-menu .dropdown-item {\n color: #fff;\n}\n.btn-group .dropdown-toggle.btn-success ~ .dropdown-menu .dropdown-item:hover,\n.btn-group .dropdown-toggle.btn-success ~ .dropdown-menu .dropdown-item:focus {\n background-color: rgb(56.28, 144.48, 89.04);\n}\n.btn-group .dropdown-toggle.btn-info ~ .dropdown-menu {\n background-color: #5bc0de;\n border-color: rgb(81.9, 172.8, 199.8);\n}\n.btn-group .dropdown-toggle.btn-info ~ .dropdown-menu .dropdown-item {\n color: #fff;\n}\n.btn-group .dropdown-toggle.btn-info ~ .dropdown-menu .dropdown-item:hover,\n.btn-group .dropdown-toggle.btn-info ~ .dropdown-menu .dropdown-item:focus {\n background-color: rgb(76.44, 161.28, 186.48);\n}\n.btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu {\n background-color: #e99002;\n border-color: rgb(209.7, 129.6, 1.8);\n}\n.btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu .dropdown-item {\n color: #fff;\n}\n.btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu .dropdown-item:hover,\n.btn-group .dropdown-toggle.btn-warning ~ .dropdown-menu .dropdown-item:focus {\n background-color: rgb(195.72, 120.96, 1.68);\n}\n.btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu {\n background-color: #f04124;\n border-color: rgb(216, 58.5, 32.4);\n}\n.btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu .dropdown-item {\n color: #fff;\n}\n.btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu .dropdown-item:hover,\n.btn-group .dropdown-toggle.btn-danger ~ .dropdown-menu .dropdown-item:focus {\n background-color: rgb(201.6, 54.6, 30.24);\n}\n\n.text-secondary {\n color: #495057 !important;\n}\n\n.blockquote-footer {\n color: #888;\n}\n\ntable {\n font-size: 0.875rem;\n}\n\nlabel,\n.control-label,\n.help-block,\n.checkbox,\n.radio,\n.form-control-feedback {\n font-size: 0.875rem;\n}\n\n.dropdown-item {\n padding-top: 0.75rem;\n padding-bottom: 0.75rem;\n font-size: 0.875rem;\n font-weight: 300;\n}\n\n.nav-pills .active {\n border: 1px solid rgb(0, 126, 167.4);\n}\n\n.breadcrumb {\n font-size: 0.875rem;\n font-weight: 300;\n text-transform: uppercase;\n border: 1px solid rgba(0, 0, 0, 0.1);\n}\n\n.pagination {\n font-weight: 300;\n}\n.pagination .page-link {\n margin-right: 0.1em;\n margin-left: 0.1em;\n border-color: transparent;\n border-radius: 3px;\n}\n.pagination .page-link:hover, .pagination .page-link:focus {\n text-decoration: none;\n}\n.pagination .page-item.disabled .page-link {\n border-color: transparent;\n}\n\n.pagination .page-item:first-child .page-link,\n.pagination .page-item:last-child .page-link,\n.pagination-lg .page-item:first-child .page-link,\n.pagination-lg .page-item:last-child .page-link,\n.pagination-sm .page-item:first-child .page-link,\n.pagination-sm .page-item:last-child .page-link {\n border-radius: 3px;\n}\n\n[data-bs-theme=dark] .pagination {\n --bs-pagination-disabled-color: #495057;\n}\n\n.list-group {\n font-size: 0.875rem;\n font-weight: 300;\n}\n\n.list-group-item.disabled,\n.list-group-item:disabled {\n background-color: var(--bs-secondary-bg);\n}\n\n.alert {\n font-size: 0.875rem;\n font-weight: 300;\n}\n.alert .alert-link {\n text-decoration: underline;\n}\n\n.badge.bg-secondary, .badge.bg-light {\n color: #333;\n}\n\n.progress[value] {\n height: 22px;\n padding: 2px;\n background-color: #f6f6f6;\n border: 1px solid #ccc;\n}\n\n.popover-header {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n\n.sidenav {\n width: 250px;\n transform: translate(-250px, 0);\n}\n.sidenav.in {\n transform: translate(0, 0);\n}\n.sidenav {\n transition: transform 300ms ease-in-out;\n position: absolute;\n top: 0;\n bottom: 0;\n height: 100%;\n overflow: auto;\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n z-index: 1050;\n background: #fff;\n}\n\n.sidenav-animating {\n overflow: hidden;\n}\n\n.sidenav-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n\n.sidenav-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n\n.sidenav-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n\n@font-face {\n font-family: \"Volpiano\";\n src: url(\"/static/fonts/volpiano.eot\");\n src: url(\"/static/fonts/volpiano.eot?#iefix\") format(\"embedded-opentype\"), url(\"/static/fonts/volpiano.woff\") format(\"woff\"), url(\"/static/fonts/volpiano.ttf\") format(\"truetype\"), url(\"/static/fonts/volpiano.svg#a7a4d8715938a922c6a8c6587abbdcd3\") format(\"svg\");\n font-style: normal;\n font-weight: 400;\n}\npre.preformatted-text {\n border: inherit;\n background: none;\n padding: 0;\n white-space: pre-wrap;\n word-break: normal;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n color: inherit;\n}\n\n.no-js-message .container,\n.no-js-message .logos {\n padding-top: 25px;\n}\n\n.no-js-message .logos {\n max-width: 60%;\n}\n\n#toolbar-row {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 20px;\n padding: 12px 24px;\n border-bottom: 1px solid #ddd;\n}\n#toolbar-row .pager a {\n display: inline-flex;\n align-items: center;\n gap: 5px;\n vertical-align: middle;\n}\n#toolbar-row #current-folio-label,\n#toolbar-row #manuscript-folio-advancer-container {\n white-space: nowrap;\n}\n#toolbar-row #goto-folio-form {\n position: relative;\n display: flex;\n align-items: center;\n gap: 10px;\n}\n#toolbar-row #goto-folio-form #goto-folio-input {\n width: 160px;\n padding-top: 2px;\n padding-bottom: 2px;\n font-weight: 300;\n}\n#toolbar-row #goto-folio-form #goto-folio-input,\n#toolbar-row #goto-folio-form .btn {\n height: 32px;\n min-height: 0;\n font-size: 1rem;\n}\n#toolbar-row #goto-folio-form .btn {\n display: inline-flex;\n align-items: center;\n}\n#toolbar-row #goto-folio-suggestions {\n display: none;\n position: absolute;\n top: 100%;\n left: 0;\n min-width: 100%;\n max-height: 50vh;\n overflow-y: auto;\n background-color: #fff;\n border: 1px solid #ddd;\n z-index: 1000;\n}\n#toolbar-row #goto-folio-suggestions .goto-folio-suggestion {\n padding: 2px 10px;\n cursor: pointer;\n}\n#toolbar-row #goto-folio-suggestions .goto-folio-suggestion:hover {\n background-color: rgb(238.425, 238.425, 238.425);\n}\n#toolbar-row #manuscript-info-target {\n order: 1;\n margin-left: auto;\n}\n\n#manuscript-info-target .btn-sm, #manuscript-info-target .btn-group-sm > .btn {\n padding: 5px 10px;\n}\n\n.manuscript-info-sidenav-container {\n position: fixed;\n inset: 0;\n overflow: hidden;\n pointer-events: none;\n z-index: 1050;\n}\n.manuscript-info-sidenav-container .sidenav {\n width: 350px;\n right: 0;\n transform: translate(350px, 0);\n}\n.manuscript-info-sidenav-container .sidenav.in {\n transform: translate(0, 0);\n}\n.manuscript-info-sidenav-container .sidenav {\n pointer-events: auto;\n}\n\n.manuscript-info {\n padding: 18px 15px;\n}\n.manuscript-info dl {\n margin-bottom: 0;\n}\n\n#manuscript-data-column {\n padding-top: 12px;\n}\n\n.tab-content {\n padding: 12px 15px;\n}\n\n.volpiano,\n.field-volpiano,\n.field-volpiano_literal {\n font-family: \"Volpiano\";\n font-size: 22pt;\n line-height: 2.5em;\n}\n\n.result-list .volpiano {\n margin-bottom: 20px;\n}\n\n.full-result-record-content .volpiano {\n overflow: hidden;\n padding-bottom: 7px;\n}\n\n.volpiano-syllable {\n display: inline-block;\n position: relative;\n}\n\n.volpiano-text {\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 10px;\n margin-top: 35px;\n position: absolute;\n left: 0;\n}\n\n.volpiano-text-lg {\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 15px;\n margin-top: 35px;\n margin-bottom: 35px;\n position: absolute;\n left: 0;\n}\n\n.volpiano-text-serif {\n font-family: \"Georgia\", serif;\n font-size: 15px;\n margin-top: 35px;\n position: absolute;\n left: 0;\n}\n\n.field-volpiano,\n.field-volpiano_literal {\n color: #333;\n}\n\n.field-volpiano.search-text-entered,\n.field-volpiano_literal.search-text-entered {\n height: 2em;\n padding-top: 0;\n padding-bottom: 0;\n}\n\n.field-volpiano::placeholder,\n.field-volpiano_literal::placeholder {\n font-family: \"Open Sans\", \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 15px;\n}\n\n.field-volpiano::-webkit-input-placeholder,\n.field-volpiano_literal::-webkit-input-placeholder {\n line-height: 1.42857143;\n}\n\n.result-list > thead > tr > th {\n white-space: nowrap;\n overflow: hidden;\n position: sticky;\n top: 0;\n background-color: white;\n z-index: 1;\n}\n.result-list > thead > tr > th a {\n color: inherit;\n}\n.result-list > tbody > tr > td {\n border-top: 0;\n}\n\n.accordion-button:hover {\n background-color: #fcfcfc;\n color: #c2342e;\n}\n\n.well {\n background-color: #fafafa;\n border: 1px solid #e8e8e8;\n border-radius: 0;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n\n.result-table-wrapper {\n min-height: 200px;\n}\n\n.caret.caret-reversed {\n content: \"\";\n border-top: 0;\n border-bottom: 4px solid;\n}\n\n.propagate-height,\n.modal-content,\n.modal-body {\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n}\n.propagate-height > .propagate-height,\n.propagate-height > .result-table-wrapper,\n.propagate-height > .modal-body,\n.modal-content > .propagate-height,\n.modal-content > .result-table-wrapper,\n.modal-content > .modal-body,\n.modal-body > .propagate-height,\n.modal-body > .result-table-wrapper,\n.modal-body > .modal-body {\n flex-shrink: 1;\n overflow: auto;\n}\n.propagate-height > .row,\n.modal-content > .row,\n.modal-body > .row {\n margin-right: 0px;\n margin-left: 0px;\n}\n\nbody.propagate-height {\n height: 100vh;\n}\n\n.manuscript-columns.propagate-height {\n flex-direction: row;\n}\n.manuscript-columns > * {\n width: 50%;\n}\n@media (min-width: 992px) {\n .manuscript-columns > :first-child {\n width: 60%;\n }\n .manuscript-columns > :last-child {\n width: 40%;\n }\n}\n\n#diva-column #diva-wrapper {\n height: 100%;\n}\n#diva-column #diva-wrapper .diva-app {\n height: 100%;\n}\n\n#diva-wrapper .diva-canvas-toolbar-item[data-tooltip=\"Manifest Info\"] {\n display: none;\n}\n\n#diva-column #diva-wrapper .diva-required-statement-dock {\n display: none;\n}\n\n#diva-wrapper .diva-canvas-label {\n display: none;\n}\n\n#diva-wrapper .diva-page-overlay-label {\n display: none !important;\n}\n\n#diva-column #diva-wrapper {\n --diva-accent: #c2342e;\n --diva-surface: #eee;\n}\n#diva-column #diva-wrapper .diva-canvas-toolbar-section {\n gap: 6px;\n}\n#diva-column #diva-wrapper .diva-canvas-toolbar-item {\n width: 34px;\n height: 34px;\n}\n#diva-column #diva-wrapper .diva-canvas-toolbar-button {\n width: 34px;\n height: 34px;\n background-color: #eee;\n border-color: #dadada;\n}\n#diva-column #diva-wrapper .diva-canvas-toolbar-button svg {\n width: 20px;\n height: 20px;\n}\n#diva-column #diva-wrapper .diva-canvas-toolbar-button:hover {\n background-color: #e2e2e2;\n border-color: #bbb;\n}\n\n.modal-dialog {\n max-width: 90%;\n width: 50%;\n height: 90%;\n}\n\n.modal-content {\n height: 100%;\n}\n\n.modal-header {\n min-height: auto;\n}\n\n#manuscript-data-container {\n position: relative;\n}\n\n.resizer {\n cursor: col-resize;\n height: 100%;\n width: 10px;\n background-color: transparent;\n position: absolute;\n z-index: 1000;\n}\n.resizer .prong {\n position: relative;\n top: 45%;\n float: left;\n margin-left: 3px;\n height: 25px;\n width: 2px;\n box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);\n background-color: #bbb;\n}\n.resizer .prong + .prong {\n margin-left: 1px;\n}\n\n.dragging-overlay {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n}\n.dragging-overlay.col-resize-cursor {\n cursor: col-resize;\n}\n\n.search-input .form-control:focus {\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);\n border-color: #66afe9;\n}\n\n.search-field {\n padding-left: 15px;\n}\n\n.search-input .form-group {\n margin-bottom: 0;\n}\n\n.search-suggestions {\n position: absolute;\n background-color: white;\n z-index: 100;\n}\n\n.search-suggestions .list-group {\n margin: 0;\n}\n\n.search-suggestions .list-group-item.active,\n.search-suggestions .list-group-item.active:hover {\n background-color: #337ab7;\n border-color: #337ab7;\n}\n\n.search-input-group {\n display: flex;\n flex-direction: row;\n}\n\n.search-field {\n flex-grow: 1;\n}\n\n.search-input-group {\n margin-bottom: 15px;\n}\n\n#menu-sidenav {\n color: #333;\n}\n#menu-sidenav .sidenav-brand {\n display: block;\n color: inherit;\n}\n#menu-sidenav li > a {\n color: inherit;\n font-size: 15px;\n}\n#menu-sidenav li:hover {\n background-color: #eee;\n text-decoration: none;\n}\n#menu-sidenav .sidenav-brand:hover {\n text-decoration: none;\n}\n\n.navbar-default {\n color: #fff;\n}\n.navbar-default a {\n color: inherit;\n}\n.navbar-default a:hover {\n text-decoration: none;\n}\n.navbar-default .nav-link {\n font-size: 0.95rem;\n line-height: 1.875rem;\n}\n.navbar-default .nav-link:hover {\n background-color: #272727;\n}\n\n.pager a {\n font-size: 1rem;\n font-weight: 300;\n padding-right: 1em;\n padding-left: 1em;\n border: 1px solid transparent;\n border-radius: 3px;\n}\n.pager a:hover {\n text-decoration: none;\n background-color: #eeeeee;\n}\n\n.nav-tabs.nav-justified {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs.nav-justified .nav-link {\n padding-top: 7px;\n padding-bottom: 8px;\n border: 0;\n border-bottom: 1px solid transparent;\n border-radius: 0;\n background-color: transparent;\n color: #6f6f6f;\n font-weight: 300;\n}\n.nav-tabs.nav-justified .nav-link:hover:not(.active) {\n color: #c2342e;\n border-bottom-color: rgb(238.425, 238.425, 238.425);\n}\n.nav-tabs.nav-justified .nav-link.active {\n color: #c2342e;\n font-weight: 400;\n border-bottom-color: #c2342e;\n}\n\n.secondary-brand-component::before {\n content: \"›\";\n padding-right: 6px;\n padding-left: 6px;\n}\n\n.app-version {\n font-size: 0.6em;\n}\n\n@media (max-width: 575.98px) {\n html.js .primary-brand-component {\n display: none;\n }\n .no-subhead html.js .primary-brand-component {\n display: block;\n }\n html.js .secondary-brand-component {\n display: block;\n max-width: 70vw;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n html.js .secondary-brand-component::before {\n display: none;\n }\n}\n.navbar-toggler {\n border: none;\n}\n\n@media (max-width: 575.98px) {\n html.no-js .navbar-collapse {\n display: block;\n }\n}\n.neume-images img {\n background: #ccc;\n}\n\n.neume-gallery-container {\n display: flex;\n flex-wrap: nowrap;\n overflow: auto;\n}\n\n.neume-gallery-entry {\n transition: border-color 0.2s;\n float: left;\n max-width: 100px;\n min-width: 90px;\n margin: 5px;\n border: 1px solid #ddd;\n padding: 5px;\n color: rgb(34.425, 34.425, 34.425);\n}\n.neume-gallery-entry:hover, .neume-gallery-entry:focus {\n text-decoration: none;\n border-color: #c2342e;\n color: rgb(34.425, 34.425, 34.425);\n}\n.neume-gallery-entry .exemplar {\n height: 75px;\n margin: 4px;\n}\n.neume-gallery-entry .exemplar img {\n display: block;\n margin: auto;\n max-height: 75px;\n max-width: 75px;\n}\n.neume-gallery-entry .caption {\n text-align: center;\n overflow: hidden;\n text-overflow: ellipsis;\n word-wrap: break-word;\n}\n\n.displayed-query {\n color: #c2342e;\n font-weight: bold;\n}\n\n.switch {\n position: relative;\n display: inline-block;\n width: 34px;\n height: 20px;\n margin-left: 15px;\n vertical-align: middle;\n}\n\n.switch input {\n opacity: 0;\n width: 0;\n height: 0;\n}\n\n.slider {\n position: absolute;\n cursor: pointer;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n background-color: #999999;\n transition: 0.4s;\n border-radius: 20px;\n}\n\n.slider:before {\n position: absolute;\n content: \"\";\n height: 14px;\n width: 14px;\n left: 3px;\n bottom: 3px;\n background-color: white;\n transition: 0.4s;\n border-radius: 50%;\n}\n\ninput:checked + .slider {\n background-color: rgb(34.425, 34.425, 34.425);\n}\n\ninput:checked + .slider:before {\n transform: translateX(14px);\n}\n\n.slider.round {\n border-radius: 20px;\n}\n\n.slider.round:before {\n border-radius: 50%;\n}\n\nlabel[for=toggleTreble] {\n margin-left: 6px;\n vertical-align: middle;\n font-weight: normal;\n font-size: 14px;\n color: #333333;\n line-height: 20px;\n}","@mixin bsBanner($file) {\n /*!\n * Bootstrap #{$file} v5.3.0 (https://getbootstrap.com/)\n * Copyright 2011-2023 The Bootstrap Authors\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n}\n","// Yeti 5.3.3\n// Bootswatch\n\n\n// Variables\n\n$web-font-path: \"https://fonts.googleapis.com/css2?family=Open+Sans:ital,wght@0,300;0,400;0,700;1,300;1,400;1,700&display=swap\" !default;\n@if $web-font-path {\n @import url(\"#{$web-font-path}\");\n}\n\n// Navbar\n\n.navbar {\n font-weight: $headings-font-weight;\n}\n\n.bg-primary {\n .dropdown-menu {\n background-color: $primary;\n\n .dropdown-item,\n .dropdown-item:focus {\n color: $navbar-dark-color;\n }\n\n .dropdown-item.active,\n .dropdown-item:hover,\n .dropdown-item:focus {\n color: $white;\n background-color: shade-color($primary, 10%);\n }\n }\n}\n\n.bg-dark {\n background-color: $gray-800 !important;\n\n .dropdown-menu {\n background-color: $gray-800;\n\n .dropdown-item,\n .dropdown-item:focus {\n color: $navbar-dark-color;\n }\n\n .dropdown-item.active,\n .dropdown-item:hover,\n .dropdown-item:focus {\n color: $white;\n background-color: shade-color($gray-800, 10%);\n }\n }\n}\n\n.bg-light {\n .dropdown-menu {\n background-color: $gray-200;\n\n .dropdown-item,\n .dropdown-item:focus {\n color: $navbar-light-color;\n }\n\n .dropdown-item.active,\n .dropdown-item:hover,\n .dropdown-item:focus {\n color: $navbar-light-hover-color;\n background-color: tint-color($gray-200, 10%);\n }\n }\n}\n\n// Buttons\n\n.btn {\n &-primary {\n border-color: shade-color($primary, 10%);\n }\n\n &-secondary {\n border-color: shade-color($secondary, 10%);\n }\n\n &-success {\n border-color: shade-color($success, 10%);\n }\n\n &-info {\n color: $white;\n border-color: shade-color($info, 10%);\n }\n\n &-danger {\n border-color: shade-color($danger, 10%);\n }\n\n &-warning {\n color: $white;\n border-color: shade-color($warning, 10%);\n }\n\n &-light {\n border-color: shade-color($light, 10%);\n }\n\n &-dark {\n border-color: shade-color($dark, 10%);\n }\n}\n\n.btn-outline-secondary {\n color: var(--bs-primary-color);\n}\n\n.btn-group {\n .dropdown-menu {\n border-top-width: 0;\n }\n\n .dropdown-toggle {\n &.btn-primary ~ .dropdown-menu {\n background-color: $primary;\n border-color: shade-color($primary, 10%);\n\n .dropdown-item {\n color: $white;\n }\n\n .dropdown-item:hover,\n .dropdown-item:focus {\n background-color: shade-color($primary, 16%);\n }\n }\n\n &.btn-secondary ~ .dropdown-menu {\n background-color: $secondary;\n border-color: shade-color($secondary, 10%);\n\n .dropdown-item {\n color: $body-color;\n }\n\n .dropdown-item:hover,\n .dropdown-item:focus {\n background-color: shade-color($secondary, 16%);\n }\n }\n\n &.btn-success ~ .dropdown-menu {\n background-color: $success;\n border-color: shade-color($success, 10%);\n\n .dropdown-item {\n color: $white;\n }\n\n .dropdown-item:hover,\n .dropdown-item:focus {\n background-color: shade-color($success, 16%);\n }\n }\n\n &.btn-info ~ .dropdown-menu {\n background-color: $info;\n border-color: shade-color($info, 10%);\n\n .dropdown-item {\n color: $white;\n }\n\n .dropdown-item:hover,\n .dropdown-item:focus {\n background-color: shade-color($info, 16%);\n }\n }\n\n &.btn-warning ~ .dropdown-menu {\n background-color: $warning;\n border-color: shade-color($warning, 10%);\n\n .dropdown-item {\n color: $white;\n }\n\n .dropdown-item:hover,\n .dropdown-item:focus {\n background-color: shade-color($warning, 16%);\n }\n }\n\n &.btn-danger ~ .dropdown-menu {\n background-color: $danger;\n border-color: shade-color($danger, 10%);\n\n .dropdown-item {\n color: $white;\n }\n\n .dropdown-item:hover,\n .dropdown-item:focus {\n background-color: shade-color($danger, 16%);\n }\n }\n }\n}\n\n// Typography\n\n.text-secondary {\n color: $gray-700 !important;\n}\n\n.blockquote-footer {\n color: $gray-600;\n}\n\n// Tables\n\ntable {\n font-size: $font-size-sm;\n}\n\n// Forms\n\nlabel,\n.control-label,\n.help-block,\n.checkbox,\n.radio,\n.form-control-feedback {\n font-size: $font-size-sm;\n}\n\n// Navs\n\n.dropdown-item {\n padding-top: .75rem;\n padding-bottom: .75rem;\n font-size: $font-size-sm;\n font-weight: 300;\n}\n\n.nav-pills {\n .active {\n border: 1px solid shade-color($primary, 10%);\n }\n}\n\n.breadcrumb {\n font-size: $font-size-sm;\n font-weight: 300;\n text-transform: uppercase;\n border: 1px solid $dropdown-border-color;\n}\n\n.pagination {\n font-weight: 300;\n\n .page-link {\n margin-right: .1em;\n margin-left: .1em;\n border-color: transparent;\n border-radius: 3px;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n }\n\n .page-item.disabled {\n .page-link {\n border-color: transparent;\n }\n }\n}\n\n.pagination,\n.pagination-lg,\n.pagination-sm {\n .page-item:first-child,\n .page-item:last-child {\n .page-link {\n border-radius: 3px;\n }\n }\n}\n\n@include color-mode(dark) {\n .pagination {\n --bs-pagination-disabled-color: #{$gray-700};\n }\n}\n\n.list-group {\n font-size: $font-size-sm;\n font-weight: 300;\n}\n\n.list-group-item.disabled,\n.list-group-item:disabled {\n background-color: var(--bs-secondary-bg);\n}\n\n// Indicators\n\n.alert {\n font-size: $font-size-sm;\n font-weight: 300;\n\n .alert-link {\n text-decoration: underline;\n }\n}\n\n.badge {\n &.bg-secondary,\n &.bg-light {\n color: $dark;\n }\n}\n\n// Progress bars\n\n.progress[value] {\n height: 22px;\n padding: 2px;\n background-color: #f6f6f6;\n border: 1px solid #ccc;\n @include box-shadow(none);\n}\n\n// Popovers\n\n.popover-header {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n",":root,\n[data-bs-theme=\"light\"] {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$prefix}#{$color}-rgb: #{$value};\n }\n\n @each $color, $value in $theme-colors-text {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}white-rgb: #{to-rgb($white)};\n --#{$prefix}black-rgb: #{to-rgb($black)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$prefix}gradient: #{$gradient};\n\n // Root and body\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$prefix}root-font-size: #{$font-size-root};\n }\n --#{$prefix}body-font-family: #{inspect($font-family-base)};\n @include rfs($font-size-base, --#{$prefix}body-font-size);\n --#{$prefix}body-font-weight: #{$font-weight-base};\n --#{$prefix}body-line-height: #{$line-height-base};\n @if $body-text-align != null {\n --#{$prefix}body-text-align: #{$body-text-align};\n }\n\n --#{$prefix}body-color: #{$body-color};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$prefix}body-bg: #{$body-bg};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg)};\n // scss-docs-end root-body-variables\n\n --#{$prefix}heading-color: #{$headings-color};\n\n --#{$prefix}link-color: #{$link-color};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color)};\n --#{$prefix}link-decoration: #{$link-decoration};\n\n --#{$prefix}link-hover-color: #{$link-hover-color};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color)};\n\n @if $link-hover-decoration != null {\n --#{$prefix}link-hover-decoration: #{$link-hover-decoration};\n }\n\n --#{$prefix}code-color: #{$code-color};\n --#{$prefix}highlight-bg: #{$mark-bg};\n\n // scss-docs-start root-border-var\n --#{$prefix}border-width: #{$border-width};\n --#{$prefix}border-style: #{$border-style};\n --#{$prefix}border-color: #{$border-color};\n --#{$prefix}border-color-translucent: #{$border-color-translucent};\n\n --#{$prefix}border-radius: #{$border-radius};\n --#{$prefix}border-radius-sm: #{$border-radius-sm};\n --#{$prefix}border-radius-lg: #{$border-radius-lg};\n --#{$prefix}border-radius-xl: #{$border-radius-xl};\n --#{$prefix}border-radius-xxl: #{$border-radius-xxl};\n --#{$prefix}border-radius-2xl: var(--#{$prefix}border-radius-xxl); // Deprecated in v5.3.0 for consistency\n --#{$prefix}border-radius-pill: #{$border-radius-pill};\n // scss-docs-end root-border-var\n\n --#{$prefix}box-shadow: #{$box-shadow};\n --#{$prefix}box-shadow-sm: #{$box-shadow-sm};\n --#{$prefix}box-shadow-lg: #{$box-shadow-lg};\n --#{$prefix}box-shadow-inset: #{$box-shadow-inset};\n\n // Focus styles\n // scss-docs-start root-focus-variables\n --#{$prefix}focus-ring-width: #{$focus-ring-width};\n --#{$prefix}focus-ring-opacity: #{$focus-ring-opacity};\n --#{$prefix}focus-ring-color: #{$focus-ring-color};\n // scss-docs-end root-focus-variables\n\n // scss-docs-start root-form-validation-variables\n --#{$prefix}form-valid-color: #{$form-valid-color};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color};\n --#{$prefix}form-invalid-color: #{$form-invalid-color};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color};\n // scss-docs-end root-form-validation-variables\n}\n\n@if $enable-dark-mode {\n @include color-mode(dark, true) {\n color-scheme: dark;\n\n // scss-docs-start root-dark-mode-vars\n --#{$prefix}body-color: #{$body-color-dark};\n --#{$prefix}body-color-rgb: #{to-rgb($body-color-dark)};\n --#{$prefix}body-bg: #{$body-bg-dark};\n --#{$prefix}body-bg-rgb: #{to-rgb($body-bg-dark)};\n\n --#{$prefix}emphasis-color: #{$body-emphasis-color-dark};\n --#{$prefix}emphasis-color-rgb: #{to-rgb($body-emphasis-color-dark)};\n\n --#{$prefix}secondary-color: #{$body-secondary-color-dark};\n --#{$prefix}secondary-color-rgb: #{to-rgb($body-secondary-color-dark)};\n --#{$prefix}secondary-bg: #{$body-secondary-bg-dark};\n --#{$prefix}secondary-bg-rgb: #{to-rgb($body-secondary-bg-dark)};\n\n --#{$prefix}tertiary-color: #{$body-tertiary-color-dark};\n --#{$prefix}tertiary-color-rgb: #{to-rgb($body-tertiary-color-dark)};\n --#{$prefix}tertiary-bg: #{$body-tertiary-bg-dark};\n --#{$prefix}tertiary-bg-rgb: #{to-rgb($body-tertiary-bg-dark)};\n\n @each $color, $value in $theme-colors-text-dark {\n --#{$prefix}#{$color}-text-emphasis: #{$value};\n }\n\n @each $color, $value in $theme-colors-bg-subtle-dark {\n --#{$prefix}#{$color}-bg-subtle: #{$value};\n }\n\n @each $color, $value in $theme-colors-border-subtle-dark {\n --#{$prefix}#{$color}-border-subtle: #{$value};\n }\n\n --#{$prefix}heading-color: #{$headings-color-dark};\n\n --#{$prefix}link-color: #{$link-color-dark};\n --#{$prefix}link-hover-color: #{$link-hover-color-dark};\n --#{$prefix}link-color-rgb: #{to-rgb($link-color-dark)};\n --#{$prefix}link-hover-color-rgb: #{to-rgb($link-hover-color-dark)};\n\n --#{$prefix}code-color: #{$code-color-dark};\n\n --#{$prefix}border-color: #{$border-color-dark};\n --#{$prefix}border-color-translucent: #{$border-color-translucent-dark};\n\n --#{$prefix}form-valid-color: #{$form-valid-color-dark};\n --#{$prefix}form-valid-border-color: #{$form-valid-border-color-dark};\n --#{$prefix}form-invalid-color: #{$form-invalid-color-dark};\n --#{$prefix}form-invalid-border-color: #{$form-invalid-border-color-dark};\n // scss-docs-end root-dark-mode-vars\n }\n}\n","// stylelint-disable scss/dimension-no-non-numeric-values\n\n// SCSS RFS mixin\n//\n// Automated responsive values for font sizes, paddings, margins and much more\n//\n// Licensed under MIT (https://github.com/twbs/rfs/blob/main/LICENSE)\n\n// Configuration\n\n// Base value\n$rfs-base-value: 1.25rem !default;\n$rfs-unit: rem !default;\n\n@if $rfs-unit != rem and $rfs-unit != px {\n @error \"`#{$rfs-unit}` is not a valid unit for $rfs-unit. Use `px` or `rem`.\";\n}\n\n// Breakpoint at where values start decreasing if screen width is smaller\n$rfs-breakpoint: 1200px !default;\n$rfs-breakpoint-unit: px !default;\n\n@if $rfs-breakpoint-unit != px and $rfs-breakpoint-unit != em and $rfs-breakpoint-unit != rem {\n @error \"`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.\";\n}\n\n// Resize values based on screen height and width\n$rfs-two-dimensional: false !default;\n\n// Factor of decrease\n$rfs-factor: 10 !default;\n\n@if type-of($rfs-factor) != number or $rfs-factor <= 1 {\n @error \"`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.\";\n}\n\n// Mode. Possibilities: \"min-media-query\", \"max-media-query\"\n$rfs-mode: min-media-query !default;\n\n// Generate enable or disable classes. Possibilities: false, \"enable\" or \"disable\"\n$rfs-class: false !default;\n\n// 1 rem = $rfs-rem-value px\n$rfs-rem-value: 16 !default;\n\n// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14\n$rfs-safari-iframe-resize-bug-fix: false !default;\n\n// Disable RFS by setting $enable-rfs to false\n$enable-rfs: true !default;\n\n// Cache $rfs-base-value unit\n$rfs-base-value-unit: unit($rfs-base-value);\n\n@function divide($dividend, $divisor, $precision: 10) {\n $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1);\n $dividend: abs($dividend);\n $divisor: abs($divisor);\n @if $dividend == 0 {\n @return 0;\n }\n @if $divisor == 0 {\n @error \"Cannot divide by 0\";\n }\n $remainder: $dividend;\n $result: 0;\n $factor: 10;\n @while ($remainder > 0 and $precision >= 0) {\n $quotient: 0;\n @while ($remainder >= $divisor) {\n $remainder: $remainder - $divisor;\n $quotient: $quotient + 1;\n }\n $result: $result * 10 + $quotient;\n $factor: $factor * .1;\n $remainder: $remainder * 10;\n $precision: $precision - 1;\n @if ($precision < 0 and $remainder >= $divisor * 5) {\n $result: $result + 1;\n }\n }\n $result: $result * $factor * $sign;\n $dividend-unit: unit($dividend);\n $divisor-unit: unit($divisor);\n $unit-map: (\n \"px\": 1px,\n \"rem\": 1rem,\n \"em\": 1em,\n \"%\": 1%\n );\n @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) {\n $result: $result * map-get($unit-map, $dividend-unit);\n }\n @return $result;\n}\n\n// Remove px-unit from $rfs-base-value for calculations\n@if $rfs-base-value-unit == px {\n $rfs-base-value: divide($rfs-base-value, $rfs-base-value * 0 + 1);\n}\n@else if $rfs-base-value-unit == rem {\n $rfs-base-value: divide($rfs-base-value, divide($rfs-base-value * 0 + 1, $rfs-rem-value));\n}\n\n// Cache $rfs-breakpoint unit to prevent multiple calls\n$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);\n\n// Remove unit from $rfs-breakpoint for calculations\n@if $rfs-breakpoint-unit-cache == px {\n $rfs-breakpoint: divide($rfs-breakpoint, $rfs-breakpoint * 0 + 1);\n}\n@else if $rfs-breakpoint-unit-cache == rem or $rfs-breakpoint-unit-cache == \"em\" {\n $rfs-breakpoint: divide($rfs-breakpoint, divide($rfs-breakpoint * 0 + 1, $rfs-rem-value));\n}\n\n// Calculate the media query value\n$rfs-mq-value: if($rfs-breakpoint-unit == px, #{$rfs-breakpoint}px, #{divide($rfs-breakpoint, $rfs-rem-value)}#{$rfs-breakpoint-unit});\n$rfs-mq-property-width: if($rfs-mode == max-media-query, max-width, min-width);\n$rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height);\n\n// Internal mixin used to determine which media query needs to be used\n@mixin _rfs-media-query {\n @if $rfs-two-dimensional {\n @if $rfs-mode == max-media-query {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}), (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) and (#{$rfs-mq-property-height}: #{$rfs-mq-value}) {\n @content;\n }\n }\n }\n @else {\n @media (#{$rfs-mq-property-width}: #{$rfs-mq-value}) {\n @content;\n }\n }\n}\n\n// Internal mixin that adds disable classes to the selector if needed.\n@mixin _rfs-rule {\n @if $rfs-class == disable and $rfs-mode == max-media-query {\n // Adding an extra class increases specificity, which prevents the media query to override the property\n &,\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @else if $rfs-class == enable and $rfs-mode == min-media-query {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Internal mixin that adds enable classes to the selector if needed.\n@mixin _rfs-media-query-rule {\n\n @if $rfs-class == enable {\n @if $rfs-mode == min-media-query {\n @content;\n }\n\n @include _rfs-media-query () {\n .enable-rfs &,\n &.enable-rfs {\n @content;\n }\n }\n }\n @else {\n @if $rfs-class == disable and $rfs-mode == min-media-query {\n .disable-rfs &,\n &.disable-rfs {\n @content;\n }\n }\n @include _rfs-media-query () {\n @content;\n }\n }\n}\n\n// Helper function to get the formatted non-responsive value\n@function rfs-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n }\n @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n @if $unit == px {\n // Convert to rem if needed\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $value * 0 + $rfs-rem-value)}rem, $value);\n }\n @else if $unit == rem {\n // Convert to px if needed\n $val: $val + \" \" + if($rfs-unit == px, #{divide($value, $value * 0 + 1) * $rfs-rem-value}px, $value);\n } @else {\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n $val: $val + \" \" + $value;\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// Helper function to get the responsive value calculated by RFS\n@function rfs-fluid-value($values) {\n // Convert to list\n $values: if(type-of($values) != list, ($values,), $values);\n\n $val: \"\";\n\n // Loop over each value and calculate value\n @each $value in $values {\n @if $value == 0 {\n $val: $val + \" 0\";\n } @else {\n // Cache $value unit\n $unit: if(type-of($value) == \"number\", unit($value), false);\n\n // If $value isn't a number (like inherit) or $value has a unit (not px or rem, like 1.5em) or $ is 0, just print the value\n @if not $unit or $unit != px and $unit != rem {\n $val: $val + \" \" + $value;\n } @else {\n // Remove unit from $value for calculations\n $value: divide($value, $value * 0 + if($unit == px, 1, divide(1, $rfs-rem-value)));\n\n // Only add the media query if the value is greater than the minimum value\n @if abs($value) <= $rfs-base-value or not $enable-rfs {\n $val: $val + \" \" + if($rfs-unit == rem, #{divide($value, $rfs-rem-value)}rem, #{$value}px);\n }\n @else {\n // Calculate the minimum value\n $value-min: $rfs-base-value + divide(abs($value) - $rfs-base-value, $rfs-factor);\n\n // Calculate difference between $value and the minimum value\n $value-diff: abs($value) - $value-min;\n\n // Base value formatting\n $min-width: if($rfs-unit == rem, #{divide($value-min, $rfs-rem-value)}rem, #{$value-min}px);\n\n // Use negative value if needed\n $min-width: if($value < 0, -$min-width, $min-width);\n\n // Use `vmin` if two-dimensional is enabled\n $variable-unit: if($rfs-two-dimensional, vmin, vw);\n\n // Calculate the variable width between 0 and $rfs-breakpoint\n $variable-width: #{divide($value-diff * 100, $rfs-breakpoint)}#{$variable-unit};\n\n // Return the calculated value\n $val: $val + \" calc(\" + $min-width + if($value < 0, \" - \", \" + \") + $variable-width + \")\";\n }\n }\n }\n }\n\n // Remove first space\n @return unquote(str-slice($val, 2));\n}\n\n// RFS mixin\n@mixin rfs($values, $property: font-size) {\n @if $values != null {\n $val: rfs-value($values);\n $fluid-val: rfs-fluid-value($values);\n\n // Do not print the media query if responsive & non-responsive values are the same\n @if $val == $fluid-val {\n #{$property}: $val;\n }\n @else {\n @include _rfs-rule () {\n #{$property}: if($rfs-mode == max-media-query, $val, $fluid-val);\n\n // Include safari iframe resize fix if needed\n min-width: if($rfs-safari-iframe-resize-bug-fix, (0 * 1vw), null);\n }\n\n @include _rfs-media-query-rule () {\n #{$property}: if($rfs-mode == max-media-query, $fluid-val, $val);\n }\n }\n }\n}\n\n// Shorthand helper mixins\n@mixin font-size($value) {\n @include rfs($value);\n}\n\n@mixin padding($value) {\n @include rfs($value, padding);\n}\n\n@mixin padding-top($value) {\n @include rfs($value, padding-top);\n}\n\n@mixin padding-right($value) {\n @include rfs($value, padding-right);\n}\n\n@mixin padding-bottom($value) {\n @include rfs($value, padding-bottom);\n}\n\n@mixin padding-left($value) {\n @include rfs($value, padding-left);\n}\n\n@mixin margin($value) {\n @include rfs($value, margin);\n}\n\n@mixin margin-top($value) {\n @include rfs($value, margin-top);\n}\n\n@mixin margin-right($value) {\n @include rfs($value, margin-right);\n}\n\n@mixin margin-bottom($value) {\n @include rfs($value, margin-bottom);\n}\n\n@mixin margin-left($value) {\n @include rfs($value, margin-left);\n}\n","// scss-docs-start color-mode-mixin\n@mixin color-mode($mode: light, $root: false) {\n @if $color-mode-type == \"media-query\" {\n @if $root == true {\n @media (prefers-color-scheme: $mode) {\n :root {\n @content;\n }\n }\n } @else {\n @media (prefers-color-scheme: $mode) {\n @content;\n }\n }\n } @else {\n [data-bs-theme=\"#{$mode}\"] {\n @content;\n }\n }\n}\n// scss-docs-end color-mode-mixin\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n @include font-size(var(--#{$prefix}root-font-size));\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$prefix}body-font-family);\n @include font-size(var(--#{$prefix}body-font-size));\n font-weight: var(--#{$prefix}body-font-weight);\n line-height: var(--#{$prefix}body-line-height);\n color: var(--#{$prefix}body-color);\n text-align: var(--#{$prefix}body-text-align);\n background-color: var(--#{$prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n border: 0;\n border-top: $hr-border-width solid $hr-border-color;\n opacity: $hr-opacity;\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

`-`

` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: var(--#{$prefix}heading-color);\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

`s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 2. Add explicit cursor to indicate changed behavior.\n// 3. Prevent the text-decoration to be skipped.\n\nabbr[title] {\n text-decoration: underline dotted; // 1\n cursor: help; // 2\n text-decoration-skip-ink: none; // 3\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: var(--#{$prefix}highlight-bg);\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: rgba(var(--#{$prefix}link-color-rgb), var(--#{$prefix}link-opacity, 1));\n text-decoration: $link-decoration;\n\n &:hover {\n --#{$prefix}link-color-rgb: var(--#{$prefix}link-hover-color-rgb);\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: var(--#{$prefix}code-color);\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-`