UNPKG

mirador

Version:

An open-source, web-based 'multi-up' viewer that supports zoom-pan-rotate functionality, ability to display/compare simple images, and images with annotations.

9,216 lines 344 kB
import { $ as e, A as t, B as n, D as r, F as i, G as a, H as o, I as s, K as c, M as l, O as u, P as d, Q as f, S as p, T as m, U as h, W as g, X as _, Z as v, a as y, at as b, b as x, c as S, d as C, dt as w, et as T, f as E, ft as D, g as ee, h as te, i as ne, it as re, j as O, k as ie, l as ae, n as oe, nt as se, o as ce, ot as le, p as k, r as ue, rt as de, s as fe, st as pe, t as me, tt as he, u as ge, ut as A, x as j, y as _e, z as ve } from "./getters-B4oepJRC.js";
import { $ as ye, $t as be, A as xe, At as Se, B as Ce, Bt as we, C as Te, Ct as Ee, D as M, Dt as De, E as Oe, Et as ke, F as Ae, Ft as je, G as Me, Gt as Ne, H as Pe, Ht as Fe, I as Ie, It as Le, J as Re, Jt as ze, K as Be, L as Ve, Lt as He, M as Ue, Mt as We, N as Ge, Nt as Ke, O as qe, Ot as Je, P as Ye, Q as Xe, R as Ze, Rt as Qe, S as $e, St as et, T as tt, Tt as nt, U as rt, Ut as it, V as at, Vt as ot, W as st, X as ct, Xt as lt, Y as ut, Yt as dt, Z as ft, Zt as pt, _ as mt, _t as ht, a as gt, an as _t, at as vt, b as yt, bt, c as xt, cn as St, ct as Ct, d as wt, dn as Tt, dt as Et, et as Dt, f as Ot, fn as kt, ft as At, g as jt, gt as Mt, h as Nt, ht as Pt, i as Ft, in as It, it as Lt, j as Rt, jt as zt, k as Bt, kt as Vt, l as Ht, ln as Ut, lt as Wt, m as Gt, mn as Kt, mt as qt, n as Jt, nn as Yt, nt as Xt, o as Zt, ot as Qt, p as $t, pn as en, pt as tn, q as nn, qt as rn, r as an, rt as on, s as sn, sn as cn, st as ln, t as un, tt as dn, u as fn, un as pn, ut as mn, v as hn, vt as gn, w as _n, wt as vn, x as yn, xt as bn, y as xn, yt as Sn, z as Cn, zt as wn } from "./canvases-CeUwRIFA.js";
import { t as N } from "./action-types-DjIbTE-A.js";
import { A as Tn, C as En, D as Dn, E as On, F as kn, M as An, N as jn, O as Mn, P as Nn, S as Pn, T as Fn, _ as In, a as Ln, b as Rn, c as zn, d as Bn, f as Vn, g as Hn, h as Un, i as Wn, j as Gn, k as Kn, l as qn, m as Jn, n as Yn, o as Xn, p as Zn, r as Qn, s as $n, t as er, u as tr, v as nr, w as rr, x as ir, y as ar } from "./FailedImageContext-CwSMbPf_.js";
import { a as or, c as sr, i as cr, n as lr, o as ur, p as dr, r as fr, s as pr } from "./index.module-DGZAy1M6.js";
import { $ as mr, $n as hr, $r as gr, $t as _r, A as vr, An as yr, Ar as br, At as xr, B as Sr, Bn as Cr, Br as wr, Bt as Tr, C as Er, Ci as Dr, Cn as Or, Cr as kr, Ct as Ar, D as jr, Dn as Mr, Dr as Nr, Dt as Pr, E as Fr, Ei as Ir, En as Lr, Er as Rr, Et as zr, F as Br, Fn as Vr, Fr as Hr, Ft as Ur, G as Wr, Gn as Gr, Gr as Kr, Gt as qr, H as Jr, Hn as Yr, Hr as Xr, Ht as Zr, I as Qr, In as $r, Ir as ei, It as ti, J as ni, Jn as ri, Jr as ii, Jt as ai, K as oi, Kn as si, Kr as ci, Kt as li, L as ui, Ln as di, Lr as fi, Lt as pi, M as mi, Mn as hi, Mr as gi, Mt as _i, N as vi, Nn as yi, Nr as bi, Nt as xi, O as Si, On as Ci, Or as wi, Ot as Ti, P as Ei, Pn as Di, Pr as Oi, Pt as ki, Q as Ai, Qn as ji, Qr as Mi, Qt as Ni, R as Pi, Rn as Fi, Rr as Ii, Rt as Li, S as Ri, Si as zi, Sn as Bi, Sr as Vi, St as Hi, T as Ui, Ti as Wi, Tn as Gi, Tr as Ki, Tt as qi, U as Ji, Un as Yi, Ur as Xi, Ut as Zi, V as Qi, Vn as $i, Vr as ea, Vt as ta, W as na, Wn as ra, Wr as ia, Wt as aa, X as oa, Xn as sa, Xr as ca, Xt as la, Y as ua, Yn as da, Yr as fa, Yt as pa, Z as ma, Zn as ha, Zr as ga, Zt as _a, _ as va, _i as ya, _n as ba, _r as xa, _t as Sa, a as Ca, ai as wa, an as Ta, ar as Ea, at as Da, b as Oa, bi as ka, bn as Aa, br as ja, bt as Ma, c as Na, ci as Pa, cn as Fa, cr as Ia, ct as La, d as Ra, di as za, dn as Ba, dr as Va, dt as Ha, ei as Ua, en as Wa, er as Ga, et as Ka, f as qa, fi as Ja, fn as Ya, fr as Xa, ft as Za, g as Qa, gi as $a, gn as eo, gr as to, gt as no, h as ro, hi as io, hn as ao, hr as oo, ht as so, i as co, ii as lo, in as uo, ir as fo, it as po, j as mo, jn as ho, jr as go, jt as _o, k as vo, kn as yo, kr as bo, kt as xo, l as So, li as Co, ln as wo, lr as To, lt as Eo, m as Do, mi as Oo, mn as ko, mr as Ao, mt as jo, ni as Mo, nn as No, nr as Po, nt as Fo, o as Io, oi as Lo, on as Ro, or as zo, ot as Bo, p as Vo, pi as Ho, pn as Uo, pr as Wo, pt as Go, q as Ko, qn as qo, qr as Jo, qt as Yo, r as Xo, ri as Zo, rn as Qo, rr as $o, rt as es, s as ts, si as ns, sn as rs, sr as is, st as as, t as os, ti as ss, tn as cs, tr as ls, tt as us, u as ds, ui as fs, un as ps, ur as ms, ut as hs, v as gs, vi as _s, vn as vs, vr as ys, vt as bs, w as xs, wi as Ss, wn as Cs, wr as ws, wt as Ts, x as Es, xi as Ds, xn as Os, xr as ks, xt as As, y as js, yi as Ms, yn as Ns, yr as Ps, yt as Fs, z as Is, zn as Ls, zr as Rs, zt as zs } from "./WorkspaceArea-CfrM6r51.js";
import { a as Bs, c as Vs, i as Hs, l as Us, o as Ws, r as Gs, s as Ks, t as qs, u as Js } from "./OpenSeadragonViewer-A1db1AxH.js";
import { a as Ys, c as Xs, d as Zs, f as Qs, i as $s, l as ec, n as tc, o as nc, r as rc, s as ic, t as ac, u as oc } from "./window-COQOIAli.js";
import { i as sc, n as cc, r as lc, t as uc } from "./canvas-DYtXsw9j.js";
import { r as dc, t as fc } from "./PluginHook-CsLe05K9.js";
import { i as pc, o as mc, r as hc } from "./CommentSharp-D3pMyMsr.js";
import { a as gc, i as _c, o as vc } from "./visuallyHidden-D8sxji69.js";
import { r as yc, t as bc } from "./AudioViewer-BN6kHouu.js";
import { a as xc, i as Sc, r as Cc, t as wc } from "./GalleryView-BtSE8_Gf.js";
import { r as Tc, t as Ec } from "./SelectCollection-BK9ZDkK3.js";
import { a as Dc, c as Oc, i as kc, l as Ac, n as jc, o as Mc, r as Nc, s as Pc, t as Fc } from "./WindowCanvasNavigationControls-DHHogzDd.js";
import { r as Ic, t as Lc } from "./TextViewer-DOO2boDF.js";
import { r as Rc, t as zc } from "./VideoViewer-Cmj4kJeg.js";
import { r as Bc, t as Vc } from "./WindowViewer-DaJEyDMY.js";
import { createRoot as Hc } from "react-dom/client";
import { Suspense as Uc, createRef as Wc, lazy as Gc, useCallback as Kc, useEffect as qc, useMemo as Jc, useState as Yc } from "react";
import { jsx as P } from "react/jsx-runtime";
import { I18nextProvider as Xc, initReactI18next as Zc, useTranslation as Qc, withTranslation as $c } from "react-i18next";
import { StyledEngineProvider as el, ThemeProvider as tl, createTheme as nl } from "@mui/material/styles";
import { CacheProvider as rl } from "@emotion/react";
//#region node_modules/lodash/_assignValue.js
var il = /* @__PURE__ */ A(((e, t) => {
	var n = cn(), r = Kt(), i = Object.prototype.hasOwnProperty;
	function a(e, t, a) {
		var o = e[t];
		(!(i.call(e, t) && r(o, a)) || a === void 0 && !(t in e)) && n(e, t, a);
	}
	t.exports = a;
})), al = /* @__PURE__ */ A(((e, t) => {
	var n = il(), r = pn(), i = c(), a = v(), o = Ut();
	function s(e, t, s, c) {
		if (!a(e)) return e;
		t = r(t, e);
		for (var l = -1, u = t.length, d = u - 1, f = e; f != null && ++l < u;) {
			var p = o(t[l]), m = s;
			if (p === "__proto__" || p === "constructor" || p === "prototype") return e;
			if (l != d) {
				var h = f[p];
				m = c ? c(h, p, f) : void 0, m === void 0 && (m = a(h) ? h : i(t[l + 1]) ? [] : {});
			}
			n(f, p, m), f = f[p];
		}
		return e;
	}
	t.exports = s;
})), ol = /* @__PURE__ */ A(((e, t) => {
	var n = St(), r = al();
	function i(e, t, i, a) {
		return r(e, t, i(n(e, t)), a);
	}
	t.exports = i;
})), sl = /* @__PURE__ */ A(((e, t) => {
	var n = a();
	function r(e) {
		return typeof e == "function" ? e : n;
	}
	t.exports = r;
})), cl = /* @__PURE__ */ A(((e, t) => {
	var n = ol(), r = sl();
	function i(e, t, i) {
		return e == null ? e : n(e, t, r(i));
	}
	t.exports = i;
})), F = /* @__PURE__ */ D(b(), 1), ll = /* @__PURE__ */ D(cl(), 1), ul = /* @__PURE__ */ w({
	EMPTY_ARRAY: () => ge,
	EMPTY_OBJECT: () => C,
	getAccessTokens: () => ya,
	getAllowedWindowViewTypes: () => yt,
	getAnnotationResourcesByMotivation: () => rr,
	getAnnotationResourcesByMotivationForCanvas: () => Fn,
	getAnnotationResourcesDataForCanvas: () => On,
	getAnnotations: () => Dn,
	getAuth: () => _s,
	getAuthProfiles: () => Ms,
	getCanvas: () => un,
	getCanvasDescription: () => Jt,
	getCanvasForAnnotation: () => tr,
	getCanvasGrouping: () => an,
	getCanvasGroupings: () => Ft,
	getCanvasIndex: () => Ue,
	getCanvasLabel: () => gt,
	getCanvasLayers: () => cr,
	getCanvasMetadata: () => Zt,
	getCanvases: () => sn,
	getCatalog: () => me,
	getCompanionAreaVisibility: () => nt,
	getCompanionWindow: () => ke,
	getCompanionWindowIdsForPosition: () => De,
	getCompanionWindowLocale: () => Je,
	getCompanionWindows: () => Vt,
	getCompanionWindowsForContent: () => Se,
	getCompanionWindowsForPosition: () => zt,
	getConfig: () => qt,
	getContainerId: () => Pt,
	getCurrentCanvas: () => xt,
	getCurrentCanvasWorld: () => Js,
	getDefaultSidebarVariant: () => Ds,
	getDestructuredMetadata: () => Cn,
	getElasticLayout: () => Oe,
	getExpandedNodeIds: () => zi,
	getExportableState: () => Mt,
	getFocusedWindowId: () => M,
	getFullScreenEnabled: () => qe,
	getIiifThumbnailOpts: () => mn,
	getLanguagesFromConfigWithCurrent: () => ht,
	getLatestError: () => Bt,
	getLayers: () => or,
	getLayersForVisibleCanvases: () => ur,
	getLayersForWindow: () => pr,
	getLocale: () => Ce,
	getManifest: () => oe,
	getManifestAutocompleteService: () => at,
	getManifestDescription: () => Pe,
	getManifestError: () => rt,
	getManifestHomepage: () => st,
	getManifestLocale: () => Me,
	getManifestLogo: () => Be,
	getManifestMetadata: () => nn,
	getManifestProviderName: () => Re,
	getManifestRelated: () => ut,
	getManifestRelatedContent: () => ct,
	getManifestRenderings: () => ft,
	getManifestSearchService: () => Xe,
	getManifestSeeAlso: () => ye,
	getManifestStatus: () => Dt,
	getManifestSummary: () => dn,
	getManifestThumbnail: () => Xt,
	getManifestTitle: () => on,
	getManifestUrl: () => Lt,
	getManifestoInstance: () => vt,
	getManifests: () => ue,
	getManuallyExpandedNodeIds: () => Dr,
	getMaximizedWindowsIds: () => yn,
	getMetadataLocales: () => Qt,
	getMiradorCanvasWrapper: () => Le,
	getMiradorManifestWrapper: () => He,
	getNextCanvasGrouping: () => Ht,
	getNextSearchId: () => Bn,
	getNodeIdToScrollTo: () => Ss,
	getPresentAnnotationsOnSelectedCanvases: () => Mn,
	getPreviousCanvasGrouping: () => fn,
	getProviderLogo: () => ln,
	getRequestsConfig: () => gn,
	getRequiredStatement: () => Ct,
	getResourceAnnotationForSearchHit: () => Vn,
	getResourceAnnotationLabel: () => Zn,
	getRights: () => Wt,
	getSearchAnnotationsForCompanionWindow: () => Jn,
	getSearchAnnotationsForWindow: () => Un,
	getSearchForWindow: () => Hn,
	getSearchIsFetching: () => In,
	getSearchNumTotal: () => nr,
	getSearchQuery: () => ar,
	getSelectedAnnotationId: () => Kn,
	getSelectedAnnotationsOnCanvases: () => Tn,
	getSelectedContentSearchAnnotationIds: () => Rn,
	getSequence: () => Ge,
	getSequenceBehaviors: () => Ye,
	getSequenceTreeStructure: () => Ae,
	getSequenceViewingDirection: () => Ie,
	getSequenceViewingHint: () => Ve,
	getSequences: () => Ze,
	getShowZoomControlsConfig: () => Sn,
	getSortedLayers: () => sr,
	getSortedSearchAnnotationsForCompanionWindow: () => ir,
	getSortedSearchHitsForCompanionWindow: () => Pn,
	getTheme: () => bt,
	getThemeDirection: () => bn,
	getThemeIds: () => et,
	getThumbnailFactory: () => Et,
	getThumbnailNavigationPosition: () => We,
	getThumbnailsConfig: () => Ee,
	getViewer: () => ne,
	getVisibleCanvasAudioResources: () => wt,
	getVisibleCanvasCaptions: () => Ot,
	getVisibleCanvasIds: () => $t,
	getVisibleCanvasNonTiledResources: () => Gt,
	getVisibleCanvasTextResources: () => Nt,
	getVisibleCanvasVideoResources: () => jt,
	getVisibleCanvases: () => mt,
	getVisibleNodeIds: () => Wi,
	getWindow: () => y,
	getWindowConfig: () => $e,
	getWindowDraggability: () => Te,
	getWindowIds: () => ce,
	getWindowManifests: () => fe,
	getWindowTitles: () => _n,
	getWindowViewType: () => tt,
	getWindows: () => S,
	getWorkspace: () => ae,
	getWorkspaceType: () => xe,
	isFocused: () => Rt,
	miradorSlice: () => E,
	selectCompanionWindowDimensions: () => Ke,
	selectCurrentAuthServices: () => ka,
	selectInfoResponse: () => hn,
	selectInfoResponses: () => xn,
	sortSearchAnnotationsByCanvasOrder: () => En
}), dl = /* @__PURE__ */ D(v(), 1), fl = /* @__PURE__ */ D(_(), 1), pl = /* @__PURE__ */ D(it(), 1), ml = ot(), hl = /* @__PURE__ */ D(vn(), 1), gl = /* @__PURE__ */ D(Ir(), 1);
function _l(e, t, n) {
	return {
		imageResource: t,
		infoId: e,
		type: N.REQUEST_INFO_RESPONSE,
		windowId: n
	};
}
function vl(e, t, n, r) {
	return {
		infoId: e,
		infoJson: t,
		ok: n,
		tokenServiceId: r,
		type: N.RECEIVE_INFO_RESPONSE
	};
}
function yl(e, t, n, r, i) {
	return {
		infoId: e,
		infoJson: t,
		ok: n,
		tokenServiceId: r,
		type: N.RECEIVE_DEGRADED_INFO_RESPONSE,
		windowId: i
	};
}
function bl(e, t, n) {
	return {
		error: t,
		infoId: e,
		tokenServiceId: n,
		type: N.RECEIVE_INFO_RESPONSE_FAILURE
	};
}
function xl({ imageId: e, imageResource: t, windowId: n }) {
	let r = t && we(t);
	return _l(e || r.id, r, n);
}
function Sl(e) {
	return {
		infoId: e,
		type: N.REMOVE_INFO_RESPONSE
	};
}
//#endregion
//#region src/state/actions/index.js
var Cl = /* @__PURE__ */ w({
	ActionTypes: () => N,
	addAuthenticationRequest: () => wr,
	addCompanionWindow: () => za,
	addError: () => wa,
	addOrUpdateCompanionWindow: () => Ja,
	addResource: () => br,
	addWindow: () => ac,
	deselectAnnotation: () => Yn,
	expandNodes: () => Ho,
	fetchInfoResponse: () => xl,
	fetchManifest: () => Ua,
	fetchSearch: () => bi,
	focusWindow: () => tc,
	hideCollectionDialog: () => rc,
	hoverAnnotation: () => Qn,
	importConfig: () => ns,
	importMiradorState: () => Pa,
	maximizeWindow: () => $s,
	minimizeWindow: () => Ys,
	receiveAccessToken: () => ea,
	receiveAccessTokenFailure: () => Xr,
	receiveAnnotation: () => Wn,
	receiveAnnotationFailure: () => Ln,
	receiveDegradedInfoResponse: () => yl,
	receiveInfoResponse: () => vl,
	receiveInfoResponseFailure: () => bl,
	receiveManifest: () => ss,
	receiveManifestFailure: () => Mo,
	receiveSearch: () => Oi,
	receiveSearchFailure: () => Hr,
	removeCompanionWindow: () => Oo,
	removeError: () => Lo,
	removeInfoResponse: () => Sl,
	removeManifest: () => Zo,
	removeResource: () => go,
	removeSearch: () => ei,
	removeWindow: () => nc,
	requestAccessToken: () => Xi,
	requestAnnotation: () => Xn,
	requestCanvasAnnotations: () => $n,
	requestInfoResponse: () => _l,
	requestManifest: () => lo,
	requestSearch: () => fi,
	resetAuthenticationState: () => ia,
	resolveAccessTokenRequest: () => Kr,
	resolveAuthenticationRequest: () => ci,
	selectAnnotation: () => zn,
	setCanvas: () => uc,
	setCompanionAreaOpen: () => ic,
	setConfig: () => Co,
	setContentSearchCurrentAnnotation: () => Ii,
	setNextCanvas: () => cc,
	setPreviousCanvas: () => lc,
	setWindowThumbnailPosition: () => Xs,
	setWindowViewType: () => ec,
	setWorkspaceAddVisibility: () => Jo,
	setWorkspaceViewportDimensions: () => ii,
	setWorkspaceViewportPosition: () => fa,
	showCollectionDialog: () => oc,
	toggleAnnotationDisplay: () => qn,
	toggleDraggingEnabled: () => ca,
	toggleNode: () => io,
	toggleWindowSideBar: () => Zs,
	toggleZoomControls: () => ga,
	updateCompanionWindow: () => $a,
	updateConfig: () => fs,
	updateElasticWindowLayout: () => Rs,
	updateLayers: () => gi,
	updateViewport: () => sc,
	updateWindow: () => Qs,
	updateWorkspace: () => Mi,
	updateWorkspaceMosaicLayout: () => gr
});
//#endregion
//#region src/extend/pluginMapping.js
function wl(e) {
	return e.reduce((e, t) => (0, ll.default)(e, [t.target, t.mode], (e) => [...e || [], t]), {});
}
function Tl(e) {
	return e.map((e) => ({
		...e,
		component: Dl(e)
	}));
}
function El(e) {
	return e.filter((e) => e.companionWindowKey).forEach((e) => {
		ba[e.companionWindowKey] = e.component;
	}), ba;
}
function Dl(e) {
	return !e.mapStateToProps && !e.mapDispatchToProps ? e.component : pe(e.mapStateToProps, e.mapDispatchToProps, ...e.connectOptions || [])(e.component);
}
//#endregion
//#region src/extend/PluginProvider.jsx
function Ol({ plugins: e = [], children: t = null }) {
	let [n, r] = Yc({});
	return qc(() => {
		let t = Tl(e);
		El(t), r(wl(t));
	}, [e]), /* @__PURE__ */ P(re.Provider, {
		value: n,
		children: t
	});
}
Ol.propTypes = {
	children: F.default.node,
	plugins: F.default.array
};
//#endregion
//#region node_modules/cssjanus/src/cssjanus.js
var kl = /* @__PURE__ */ A(((e, t) => {
	var n;
	function r(e, t) {
		var n = [], r = 0;
		function i(e) {
			return n.push(e), t;
		}
		function a() {
			return n[r++];
		}
		return {
			tokenize: function(t) {
				return t.replace(e, i);
			},
			detokenize: function(e) {
				return e.replace(RegExp("(" + t + ")", "g"), a);
			}
		};
	}
	function i() {
		var e = "`COMMENT`", t = "[^\\u0020-\\u007e]", n = "(?:(?:\\\\[0-9a-f]{1,6})(?:\\r\\n|\\s)?)", i = "(?:[0-9]*\\.[0-9]+|[0-9]+)", a = "(?:em|ex|px|cm|mm|in|pt|pc|deg|rad|grad|ms|s|hz|khz|%)", o = "direction\\s*:\\s*", s = "[!#$%&*-~]", c = "['\"]?\\s*", l = "(^|[^a-zA-Z])", u = "[^\\}]*?", d = "\\/\\*\\!?\\s*@noflip\\s*\\*\\/", f = "\\/\\*[^*]*\\*+([^\\/*][^*]*\\*+)*\\/", p = "(?:" + n + "|\\\\[^\\r\\n\\f0-9a-f])", m = "(?:[_a-z]|" + t + "|" + p + ")", h = "(?:[_a-z0-9-]|" + t + "|" + p + ")", g = "-?" + m + h + "*", _ = i + "(?:\\s*" + a + "|" + g + ")?", v = "((?:-?" + _ + ")|(?:inherit|auto))", y = "(?:calc\\((?:" + ("(?:(?:\\(|\\)|\\t| )|" + ("(?:-?" + i + "(?:\\s*" + a + ")?)") + "|(?:\\+|\\-|\\*|\\/)){3,}") + ")\\))", b = "((?:-?" + _ + ")|(?:inherit|auto)|" + y + ")", x = "((?:margin|padding|border-width)\\s*:\\s*)", S = "((?:-color|border-style)\\s*:\\s*)", C = "(#?" + h + "+|(?:rgba?|hsla?)\\([ \\d.,%-]+\\))", w = "(?:" + s + "|" + t + "|" + p + ")*?", T = "(?![a-zA-Z])", E = "(?!(" + h + "|\\r?\\n|\\s|#|\\:|\\.|\\,|\\+|>|~|\\(|\\)|\\[|\\]|=|\\*=|~=|\\^=|'[^']*'|\"[^\"]*\"|" + e + ")*?{)", D = "(?!" + w + c + "\\))", ee = "(?=" + w + c + "\\))", te = "(\\s*(?:!important\\s*)?[;}])", ne = /`TMP`/g, re = /`TMPLTR`/g, O = /`TMPRTL`/g, ie = new RegExp(f, "gi"), ae = RegExp("(" + d + E + "[^;}]+;?)", "gi"), oe = RegExp("(" + d + u + "})", "gi"), se = RegExp("(" + o + ")ltr", "gi"), ce = RegExp("(" + o + ")rtl", "gi"), le = RegExp(l + "(left)" + T + D + E, "gi"), k = RegExp(l + "(right)" + T + D + E, "gi"), ue = RegExp(l + "(left)" + ee, "gi"), de = RegExp(l + "(right)" + ee, "gi"), fe = /(:dir\( *)ltr( *\))/g, pe = /(:dir\( *)rtl( *\))/g, me = RegExp(l + "(ltr)" + ee, "gi"), he = RegExp(l + "(rtl)" + ee, "gi"), ge = RegExp(l + "([ns]?)e-resize", "gi"), A = RegExp(l + "([ns]?)w-resize", "gi"), j = RegExp(x + b + "(\\s+)" + b + "(\\s+)" + b + "(\\s+)" + b + te, "gi"), _e = RegExp(S + C + "(\\s+)" + C + "(\\s+)" + C + "(\\s+)" + C + te, "gi"), ve = RegExp("(background(?:-position)?\\s*:\\s*(?:[^:;}\\s]+\\s+)*?)(" + _ + ")", "gi"), ye = RegExp("(background-position-x\\s*:\\s*)(-?" + i + "%)", "gi"), be = RegExp("(border-radius\\s*:\\s*)" + v + "(?:(?:\\s+" + v + ")(?:\\s+" + v + ")?(?:\\s+" + v + ")?)?(?:(?:(?:\\s*\\/\\s*)" + v + ")(?:\\s+" + v + ")?(?:\\s+" + v + ")?(?:\\s+" + v + ")?)?" + te, "gi"), xe = RegExp("(box-shadow\\s*:\\s*(?:inset\\s*)?)" + v, "gi"), Se = RegExp("(text-shadow\\s*:\\s*)" + v + "(\\s*)" + C, "gi"), Ce = RegExp("(text-shadow\\s*:\\s*)" + C + "(\\s*)" + v, "gi"), we = RegExp("(text-shadow\\s*:\\s*)" + v, "gi"), Te = RegExp("(transform\\s*:[^;}]*)(translateX\\s*\\(\\s*)" + v + "(\\s*\\))", "gi"), Ee = RegExp("(transform\\s*:[^;}]*)(translate\\s*\\(\\s*)" + v + "((?:\\s*,\\s*" + v + "){0,2}\\s*\\))", "gi");
		function M(e, t, n) {
			var r, i;
			return t.split("(").length > t.split(")").length ? e : (n.slice(-1) === "%" && (r = n.indexOf("."), r === -1 ? n = 100 - parseFloat(n) + "%" : (i = n.length - r - 2, n = 100 - parseFloat(n), n = n.toFixed(i) + "%")), t + n);
		}
		function De(e) {
			switch (e.length) {
				case 4:
					e = [
						e[1],
						e[0],
						e[3],
						e[2]
					];
					break;
				case 3:
					e = [
						e[1],
						e[0],
						e[1],
						e[2]
					];
					break;
				case 2:
					e = [e[1], e[0]];
					break;
				case 1: e = [e[0]];
			}
			return e.join(" ");
		}
		function Oe(e, t) {
			var n, r = [].slice.call(arguments), i = r.slice(2, 6).filter(function(e) {
				return e;
			}), a = r.slice(6, 10).filter(function(e) {
				return e;
			}), o = r[10] || "";
			return n = a.length ? De(i) + " / " + De(a) : De(i), t + n + o;
		}
		function ke(e) {
			return parseFloat(e) === 0 ? e : e[0] === "-" ? e.slice(1) : "-" + e;
		}
		function Ae(e, t, n) {
			return t + ke(n);
		}
		function je(e, t, n, r, i) {
			return t + n + ke(r) + i;
		}
		function Me(e, t, n, r, i) {
			return t + n + r + ke(i);
		}
		return { transform: function(t, n) {
			var i = new r(ae, "`NOFLIP_SINGLE`"), a = new r(oe, "`NOFLIP_CLASS`"), o = new r(ie, e);
			return t = o.tokenize(a.tokenize(i.tokenize(t.replace("`", "%60")))), n.transformDirInUrl && (t = t.replace(fe, "$1`TMPLTR`$2").replace(pe, "$1`TMPRTL`$2").replace(me, "$1`TMP`").replace(he, "$1ltr").replace(ne, "rtl").replace(re, "ltr").replace(O, "rtl")), n.transformEdgeInUrl && (t = t.replace(ue, "$1`TMP`").replace(de, "$1left").replace(ne, "right")), t = t.replace(se, "$1`TMP`").replace(ce, "$1ltr").replace(ne, "rtl").replace(le, "$1`TMP`").replace(k, "$1left").replace(ne, "right").replace(ge, "$1$2`TMP`").replace(A, "$1$2e-resize").replace(ne, "w-resize").replace(be, Oe).replace(xe, Ae).replace(Se, Me).replace(Ce, Me).replace(we, Ae).replace(Te, je).replace(Ee, je).replace(j, "$1$2$3$8$5$6$7$4$9").replace(_e, "$1$2$3$8$5$6$7$4$9").replace(ve, M).replace(ye, M), t = i.detokenize(a.detokenize(o.detokenize(t))), t;
		} };
	}
	n = new i(), t !== void 0 && t.exports ? e.transform = function(e, t, r) {
		var i;
		return typeof t == "object" ? i = t : (i = {}, typeof t == "boolean" && (i.transformDirInUrl = t), typeof r == "boolean" && (i.transformEdgeInUrl = r)), n.transform(e, i);
	} : typeof window < "u" && (window.cssjanus = n);
})), I = "-ms-", Al = "-moz-", L = "-webkit-", jl = "comm", Ml = "rule", Nl = "decl", Pl = "@import", Fl = "@keyframes", Il = Math.abs, Ll = String.fromCharCode, Rl = Object.assign;
function zl(e, t) {
	return z(e, 0) ^ 45 ? (((t << 2 ^ z(e, 0)) << 2 ^ z(e, 1)) << 2 ^ z(e, 2)) << 2 ^ z(e, 3) : 0;
}
function Bl(e) {
	return e.trim();
}
function Vl(e, t) {
	return (e = t.exec(e)) ? e[0] : e;
}
function R(e, t, n) {
	return e.replace(t, n);
}
function Hl(e, t) {
	return e.indexOf(t);
}
function z(e, t) {
	return e.charCodeAt(t) | 0;
}
function Ul(e, t, n) {
	return e.slice(t, n);
}
function Wl(e) {
	return e.length;
}
function Gl(e) {
	return e.length;
}
function Kl(e, t) {
	return t.push(e), e;
}
function ql(e, t) {
	return e.map(t).join("");
}
function Jl(e, t) {
	return e.filter(function(e) {
		return !Vl(e, t);
	});
}
//#endregion
//#region node_modules/stylis/src/Tokenizer.js
var Yl = 1, Xl = 1, Zl = 0, Ql = 0, B = 0, $l = "";
function eu(e, t, n, r, i, a, o, s) {
	return {
		value: e,
		root: t,
		parent: n,
		type: r,
		props: i,
		children: a,
		line: Yl,
		column: Xl,
		length: o,
		return: "",
		siblings: s
	};
}
function tu(e, t) {
	return Rl(eu("", null, null, "", null, null, 0, e.siblings), e, { length: -e.length }, t);
}
function nu(e) {
	for (; e.root;) e = tu(e.root, { children: [e] });
	Kl(e, e.siblings);
}
function ru() {
	return B;
}
function iu() {
	return B = Ql > 0 ? z($l, --Ql) : 0, Xl--, B === 10 && (Xl = 1, Yl--), B;
}
function au() {
	return B = Ql < Zl ? z($l, Ql++) : 0, Xl++, B === 10 && (Xl = 1, Yl++), B;
}
function ou() {
	return z($l, Ql);
}
function su() {
	return Ql;
}
function cu(e, t) {
	return Ul($l, e, t);
}
function lu(e) {
	switch (e) {
		case 0:
		case 9:
		case 10:
		case 13:
		case 32: return 5;
		case 33:
		case 43:
		case 44:
		case 47:
		case 62:
		case 64:
		case 126:
		case 59:
		case 123:
		case 125: return 4;
		case 58: return 3;
		case 34:
		case 39:
		case 40:
		case 91: return 2;
		case 41:
		case 93: return 1;
	}
	return 0;
}
function uu(e) {
	return Yl = Xl = 1, Zl = Wl($l = e), Ql = 0, [];
}
function du(e) {
	return $l = "", e;
}
function fu(e) {
	return Bl(cu(Ql - 1, hu(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
}
function pu(e) {
	for (; (B = ou()) && B < 33;) au();
	return lu(e) > 2 || lu(B) > 3 ? "" : " ";
}
function mu(e, t) {
	for (; --t && au() && !(B < 48 || B > 102 || B > 57 && B < 65 || B > 70 && B < 97););
	return cu(e, su() + (t < 6 && ou() == 32 && au() == 32));
}
function hu(e) {
	for (; au();) switch (B) {
		case e: return Ql;
		case 34:
		case 39:
			e !== 34 && e !== 39 && hu(B);
			break;
		case 40:
			e === 41 && hu(e);
			break;
		case 92:
			au();
			break;
	}
	return Ql;
}
function gu(e, t) {
	for (; au() && e + B !== 57 && (e + B !== 84 || ou() !== 47););
	return "/*" + cu(t, Ql - 1) + "*" + Ll(e === 47 ? e : au());
}
function _u(e) {
	for (; !lu(ou());) au();
	return cu(e, Ql);
}
//#endregion
//#region node_modules/stylis/src/Parser.js
function vu(e) {
	return du(yu("", null, null, null, [""], e = uu(e), 0, [0], e));
}
function yu(e, t, n, r, i, a, o, s, c) {
	for (var l = 0, u = 0, d = o, f = 0, p = 0, m = 0, h = 1, g = 1, _ = 1, v = 0, y = 0, b = "", x = i, S = a, C = r, w = b; g;) switch (m = y, y = au()) {
		case 40:
			m != 108 && z(w, d - 1) == 58 ? (v++, w += "(") : w += fu(y);
			break;
		case 41:
			v--, w += ")";
			break;
		case 34:
		case 39:
		case 91:
			w += fu(y);
			break;
		case 9:
		case 10:
		case 13:
		case 32:
			if (v > 0) {
				w += Ll(y);
				break;
			}
			w += pu(m);
			break;
		case 92:
			w += mu(su() - 1, 7);
			continue;
		case 47:
			switch (ou()) {
				case 42:
				case 47:
					Kl(xu(gu(au(), su()), t, n, c), c), (lu(m || 1) == 5 || lu(ou() || 1) == 5) && Wl(w) && Ul(w, -1, void 0) !== " " && (w += " ");
					break;
				default: w += "/";
			}
			break;
		case 123 * h: s[l++] = Wl(w) * _;
		case 125 * h:
		case 59:
		case 0:
			if (v > 0 && y) {
				w += Ll(y);
				break;
			}
			switch (y) {
				case 0:
				case 125: g = 0;
				case 59 + u:
					_ == -1 && (w = R(w, /\f/g, "")), p > 0 && (Wl(w) - d || h === 0) && Kl(p > 32 ? Su(w + ";", r, n, d - 1, c) : Su(R(w, " ", "") + ";", r, n, d - 2, c), c);
					break;
				case 59: w += ";";
				default: if (Kl(C = bu(w, t, n, l, u, i, s, b, x = [], S = [], d, a), a), y === 123) {
					if (u === 0) yu(w, t, C, C, x, a, d, s, S);
					else {
						switch (f) {
							case 99: if (z(w, 3) === 110) break;
							case 108: if (z(w, 2) === 97) break;
							default: u = 0;
							case 100:
							case 109:
							case 115:
						}
						u ? yu(e, C, C, r && Kl(bu(e, C, C, 0, 0, i, s, b, i, x = [], d, S), S), i, S, d, s, r ? x : S) : yu(w, C, C, C, [""], S, 0, s, S);
					}
				}
			}
			l = u = p = 0, h = _ = 1, b = w = "", d = o;
			break;
		case 58: d = 1 + Wl(w), p = m;
		default:
			if (h < 1) {
				if (y == 123) --h;
				else if (y == 125 && h++ == 0 && iu() == 125) continue;
			}
			switch (w += Ll(y), y * h) {
				case 38:
					_ = u > 0 ? 1 : (w += "\f", -1);
					break;
				case 44:
					if (v > 0) break;
					s[l++] = (Wl(w) - 1) * _, _ = 1;
					break;
				case 64:
					ou() === 45 && (w += fu(au())), f = ou(), u = d = Wl(b = w += _u(su())), y++;
					break;
				case 45: m === 45 && Wl(w) == 2 && (h = 0);
			}
	}
	return a;
}
function bu(e, t, n, r, i, a, o, s, c, l, u, d) {
	for (var f = i - 1, p = i === 0 ? a : [""], m = Gl(p), h = 0, g = 0, _ = 0; h < r; ++h) for (var v = 0, y = Ul(e, f + 1, f = Il(g = o[h])), b = e; v < m; ++v) (b = Bl(g > 0 ? p[v] + " " + y : R(y, /&\f/g, p[v]))) && (c[_++] = b);
	return eu(e, t, n, i === 0 ? Ml : s, c, l, u, d);
}
function xu(e, t, n, r) {
	return eu(e, t, n, jl, Ll(ru()), Ul(e, 2, -2), 0, r);
}
function Su(e, t, n, r, i) {
	return eu(e, t, n, Nl, Ul(e, 0, r), Ul(e, r + 1, -1), r, i);
}
//#endregion
//#region node_modules/stylis/src/Prefixer.js
function Cu(e, t, n) {
	switch (zl(e, t)) {
		case 5103: return L + "print-" + e + e;
		case 5737:
		case 4201:
		case 3177:
		case 3433:
		case 1641:
		case 4457:
		case 2921:
		case 5572:
		case 6356:
		case 5844:
		case 3191:
		case 6645:
		case 3005:
		case 4215:
		case 6389:
		case 5109:
		case 5365:
		case 5621:
		case 3829:
		case 6391:
		case 5879:
		case 5623:
		case 6135:
		case 4599: return L + e + e;
		case 4855: return L + e.replace("add", "source-over").replace("substract", "source-out").replace("intersect", "source-in").replace("exclude", "xor") + e;
		case 4789: return Al + e + e;
		case 5349:
		case 4246:
		case 4810:
		case 6968:
		case 2756: return L + e + Al + e + I + e + e;
		case 5936: switch (z(e, t + 11)) {
			case 114: return L + e + I + R(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
			case 108: return L + e + I + R(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
			case 45: return L + e + I + R(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
		}
		case 6828:
		case 4268:
		case 2903: return L + e + I + e + e;
		case 6165: return L + e + I + "flex-" + e + e;
		case 5187: return L + e + R(e, /(\w+).+(:[^]+)/, L + "box-$1$2" + I + "flex-$1$2") + e;
		case 5443: return L + e + I + "flex-item-" + R(e, /flex-|-self/g, "") + (Vl(e, /flex-|baseline/) ? "" : I + "grid-row-" + R(e, /flex-|-self/g, "")) + e;
		case 4675: return L + e + I + "flex-line-pack" + R(e, /align-content|flex-|-self/g, "") + e;
		case 5548: return L + e + I + R(e, "shrink", "negative") + e;
		case 5292: return L + e + I + R(e, "basis", "preferred-size") + e;
		case 6060: return L + "box-" + R(e, "-grow", "") + L + e + I + R(e, "grow", "positive") + e;
		case 4554: return L + R(e, /([^-])(transform)/g, "$1" + L + "$2") + e;
		case 6187: return R(R(R(e, /(zoom-|grab)/, L + "$1"), /(image-set)/, L + "$1"), e, "") + e;
		case 5495:
		case 3959: return R(e, /(image-set\([^]*)/, L + "$1$`$1");
		case 4968: return R(R(e, /(.+:)(flex-)?(.*)/, L + "box-pack:$3" + I + "flex-pack:$3"), /space-between/, "justify") + L + e + e;
		case 4200:
			if (!Vl(e, /flex-|baseline/)) return I + "grid-column-align" + Ul(e, t) + e;
			break;
		case 2592:
		case 3360: return I + R(e, "template-", "") + e;
		case 4384:
		case 3616: return n && n.some(function(e, n) {
			return t = n, Vl(e.props, /grid-\w+-end/);
		}) ? ~Hl(e + (n = n[t].value), "span") ? e : I + R(e, "-start", "") + e + I + "grid-row-span:" + (~Hl(n, "span") ? Vl(n, /\d+/) : Vl(n, /\d+/) - +Vl(e, /\d+/)) + ";" : I + R(e, "-start", "") + e;
		case 4896:
		case 4128: return n && n.some(function(e) {
			return Vl(e.props, /grid-\w+-start/);
		}) ? e : I + R(R(e, "-end", "-span"), "span ", "") + e;
		case 4095:
		case 3583:
		case 4068:
		case 2532: return R(e, /(.+)-inline(.+)/, L + "$1$2") + e;
		case 8116:
		case 7059:
		case 5753:
		case 5535:
		case 5445:
		case 5701:
		case 4933:
		case 4677:
		case 5533:
		case 5789:
		case 5021:
		case 4765:
			if (Wl(e) - 1 - t > 6) switch (z(e, t + 1)) {
				case 109: if (z(e, t + 4) !== 45) break;
				case 102: return R(e, /(.+:)(.+)-([^]+)/, "$1" + L + "$2-$3$1" + Al + (z(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
				case 115: return ~Hl(e, "stretch") ? Cu(R(e, "stretch", "fill-available"), t, n) + e : e;
			}
			break;
		case 5152:
		case 5920: return R(e, /(.+?):(\d+)(\s*\/\s*(span)?\s*(\d+))?(.*)/, function(t, n, r, i, a, o, s) {
			return I + n + ":" + r + s + (i ? I + n + "-span:" + (a ? o : o - +r) + s : "") + e;
		});
		case 4949:
			if (z(e, t + 6) === 121) return R(e, ":", ":" + L) + e;
			break;
		case 6444:
			switch (z(e, z(e, 14) === 45 ? 18 : 11)) {
				case 120: return R(e, /(.+:)([^;\s!]+)(;|(\s+)?!.+)?/, "$1" + L + (z(e, 14) === 45 ? "inline-" : "") + "box$3$1" + L + "$2$3$1" + I + "$2box$3") + e;
				case 100: return R(e, ":", ":" + I) + e;
			}
			break;
		case 5719:
		case 2647:
		case 2135:
		case 3927:
		case 2391: return R(e, "scroll-", "scroll-snap-") + e;
	}
	return e;
}
//#endregion
//#region node_modules/stylis/src/Serializer.js
function wu(e, t) {
	for (var n = "", r = 0; r < e.length; r++) n += t(e[r], r, e, t) || "";
	return n;
}
//#endregion
//#region node_modules/stylis/src/Middleware.js
function Tu(e, t, n, r) {
	if (e.length > -1 && !e.return) switch (e.type) {
		case Nl:
			e.return = Cu(e.value, e.length, n);
			return;
		case Fl: return wu([tu(e, { value: R(e.value, "@", "@" + L) })], r);
		case Ml: if (e.length) return ql(n = e.props, function(t) {
			switch (Vl(t, r = /(::plac\w+|:read-\w+)/)) {
				case ":read-only":
				case ":read-write":
					nu(tu(e, { props: [R(t, /:(read-\w+)/, ":" + Al + "$1")] })), nu(tu(e, { props: [t] })), Rl(e, { props: Jl(n, r) });
					break;
				case "::placeholder": nu(tu(e, { props: [R(t, /:(plac\w+)/, ":" + L + "input-$1")] })), nu(tu(e, { props: [R(t, /:(plac\w+)/, ":" + Al + "$1")] })), nu(tu(e, { props: [R(t, /:(plac\w+)/, I + "input-$1")] })), nu(tu(e, { props: [t] })), Rl(e, { props: Jl(n, r) });
			}
			return "";
		});
	}
}
//#endregion
//#region node_modules/stylis-plugin-rtl/dist/stylis-rtl.js
var Eu = /* @__PURE__ */ D(kl());
function Du(e, t, n) {
	switch (e.type) {
		case Pl:
		case Nl:
		case jl: return e.return = e.return || e.value;
		case Ml: e.value = Array.isArray(e.props) ? e.props.join(",") : e.props, Array.isArray(e.children) && e.children.forEach(function(e) {
			e.type === "comm" && (e.children = e.value);
		});
	}
	var r = wu(Array.prototype.concat(e.children), Du);
	return Wl(r) ? e.return = e.value + "{" + r + "}" : "";
}
function Ou(e, t, n, r) {
	if (e.type === "@keyframes" || e.type === "@supports" || e.type === "rule" && (!e.parent || e.parent.type === "@media" || e.parent.type === "rule")) {
		var i = Eu.transform(Du(e, t, n));
		e.children = i ? vu(i)[0].children : [], e.return = "";
	}
}
Object.defineProperty(Ou, "name", { value: "stylisRTLPlugin" });
//#endregion
//#region node_modules/@emotion/sheet/dist/emotion-sheet.esm.js
function ku(e) {
	if (e.sheet) return e.sheet;
	/* istanbul ignore next */
	for (var t = 0; t < document.styleSheets.length; t++) if (document.styleSheets[t].ownerNode === e) return document.styleSheets[t];
}
function Au(e) {
	var t = document.createElement("style");
	return t.setAttribute("data-emotion", e.key), e.nonce !== void 0 && t.setAttribute("nonce", e.nonce), t.appendChild(document.createTextNode("")), t.setAttribute("data-s", ""), t;
}
var ju = /*#__PURE__*/ function() {
	function e(e) {
		var t = this;
		this._insertTag = function(e) {
			var n = t.tags.length === 0 ? t.insertionPoint ? t.insertionPoint.nextSibling : t.prepend ? t.container.firstChild : t.before : t.tags[t.tags.length - 1].nextSibling;
			t.container.insertBefore(e, n), t.tags.push(e);
		}, this.isSpeedy = e.speedy === void 0 || e.speedy, this.tags = [], this.ctr = 0, this.nonce = e.nonce, this.key = e.key, this.container = e.container, this.prepend = e.prepend, this.insertionPoint = e.insertionPoint, this.before = null;
	}
	var t = e.prototype;
	return t.hydrate = function(e) {
		e.forEach(this._insertTag);
	}, t.insert = function(e) {
		this.ctr % (this.isSpeedy ? 65e3 : 1) == 0 && this._insertTag(Au(this));
		var t = this.tags[this.tags.length - 1];
		if (this.isSpeedy) {
			var n = ku(t);
			try {
				n.insertRule(e, n.cssRules.length);
			} catch {}
		} else t.appendChild(document.createTextNode(e));
		this.ctr++;
	}, t.flush = function() {
		this.tags.forEach(function(e) {
			return e.parentNode?.removeChild(e);
		}), this.tags = [], this.ctr = 0;
	}, e;
}(), V = "-ms-", Mu = "-moz-", H = "-webkit-", Nu = "comm", Pu = "rule", Fu = "decl", Iu = "@import", Lu = "@keyframes", Ru = "@layer", zu = Math.abs, Bu = String.fromCharCode, Vu = Object.assign;
function Hu(e, t) {
	return W(e, 0) ^ 45 ? (((t << 2 ^ W(e, 0)) << 2 ^ W(e, 1)) << 2 ^ W(e, 2)) << 2 ^ W(e, 3) : 0;
}
function Uu(e) {
	return e.trim();
}
function Wu(e, t) {
	return (e = t.exec(e)) ? e[0] : e;
}
function U(e, t, n) {
	return e.replace(t, n);
}
function Gu(e, t) {
	return e.indexOf(t);
}
function W(e, t) {
	return e.charCodeAt(t) | 0;
}
function Ku(e, t, n) {
	return e.slice(t, n);
}
function qu(e) {
	return e.length;
}
function Ju(e) {
	return e.length;
}
function Yu(e, t) {
	return t.push(e), e;
}
function Xu(e, t) {
	return e.map(t).join("");
}
//#endregion
//#region node_modules/@emotion/cache/node_modules/stylis/src/Tokenizer.js
var Zu = 1, Qu = 1, $u = 0, ed = 0, G = 0, td = "";
function nd(e, t, n, r, i, a, o) {
	return {
		value: e,
		root: t,
		parent: n,
		type: r,
		props: i,
		children: a,
		line: Zu,
		column: Qu,
		length: o,
		return: ""
	};
}
function rd(e, t) {
	return Vu(nd("", null, null, "", null, null, 0), e, { length: -e.length }, t);
}
function id() {
	return G;
}
function ad() {
	return G = ed > 0 ? W(td, --ed) : 0, Qu--, G === 10 && (Qu = 1, Zu--), G;
}
function od() {
	return G = ed < $u ? W(td, ed++) : 0, Qu++, G === 10 && (Qu = 1, Zu++), G;
}
function sd() {
	return W(td, ed);
}
function cd() {
	return ed;
}
function ld(e, t) {
	return Ku(td, e, t);
}
function ud(e) {
	switch (e) {
		case 0:
		case 9:
		case 10:
		case 13:
		case 32: return 5;
		case 33:
		case 43:
		case 44:
		case 47:
		case 62:
		case 64:
		case 126:
		case 59:
		case 123:
		case 125: return 4;
		case 58: return 3;
		case 34:
		case 39:
		case 40:
		case 91: return 2;
		case 41:
		case 93: return 1;
	}
	return 0;
}
function dd(e) {
	return Zu = Qu = 1, $u = qu(td = e), ed = 0, [];
}
function fd(e) {
	return td = "", e;
}
function pd(e) {
	return Uu(ld(ed - 1, gd(e === 91 ? e + 2 : e === 40 ? e + 1 : e)));
}
function md(e) {
	for (; (G = sd()) && G < 33;) od();
	return ud(e) > 2 || ud(G) > 3 ? "" : " ";
}
function hd(e, t) {
	for (; --t && od() && !(G < 48 || G > 102 || G > 57 && G < 65 || G > 70 && G < 97););
	return ld(e, cd() + (t < 6 && sd() == 32 && od() == 32));
}
function gd(e) {
	for (; od();) switch (G) {
		case e: return ed;
		case 34:
		case 39:
			e !== 34 && e !== 39 && gd(G);
			break;
		case 40:
			e === 41 && gd(e);
			break;
		case 92:
			od();
			break;
	}
	return ed;
}
function _d(e, t) {
	for (; od() && e + G !== 57 && (e + G !== 84 || sd() !== 47););
	return "/*" + ld(t, ed - 1) + "*" + Bu(e === 47 ? e : od());
}
function vd(e) {
	for (; !ud(sd());) od();
	return ld(e, ed);
}
//#endregion
//#region node_modules/@emotion/cache/node_modules/stylis/src/Parser.js
function yd(e) {
	return fd(bd("", null, null, null, [""], e = dd(e), 0, [0], e));
}
function bd(e, t, n, r, i, a, o, s, c) {
	for (var l = 0, u = 0, d = o, f = 0, p = 0, m = 0, h = 1, g = 1, _ = 1, v = 0, y = "", b = i, x = a, S = r, C = y; g;) switch (m = v, v = od()) {
		case 40: if (m != 108 && W(C, d - 1) == 58) {
			Gu(C += U(pd(v), "&", "&\f"), "&\f") != -1 && (_ = -1);
			break;
		}
		case 34:
		case 39:
		case 91:
			C += pd(v);
			break;
		case 9:
		case 10:
		case 13:
		case 32:
			C += md(m);
			break;
		case 92:
			C += hd(cd() - 1, 7);
			continue;
		case 47:
			switch (sd()) {
				case 42:
				case 47:
					Yu(Sd(_d(od(), cd()), t, n), c);
					break;
				default: C += "/";
			}
			break;
		case 123 * h: s[l++] = qu(C) * _;
		case 125 * h:
		case 59:
		case 0:
			switch (v) {
				case 0:
				case 125: g = 0;
				case 59 + u:
					_ == -1 && (C = U(C, /\f/g, "")), p > 0 && qu(C) - d && Yu(p > 32 ? Cd(C + ";", r, n, d - 1) : Cd(U(C, " ", "") + ";", r, n, d - 2), c);
					break;
				case 59: C += ";";
				default: if (Yu(S = xd(C, t, n, l, u, i, s, y, b = [], x = [], d), a), v === 123) {
					if (u === 0) bd(C, t, S, S, b, a, d, s, x);
					else switch (f === 99 && W(C, 3) === 110 ? 100 : f) {
						case 100:
						case 108:
						case 109:
						case 115:
							bd(e, S, S, r && Yu(xd(e, S, S, 0, 0, i, s, y, i, b = [], d), x), i, x, d, s, r ? b : x);
							break;
						default: bd(C, S, S, S, [""], x, 0, s, x);
					}
				}
			}
			l = u = p = 0, h = _ = 1, y = C = "", d = o;
			break;
		case 58: d = 1 + qu(C), p = m;
		default:
			if (h < 1) {
				if (v == 123) --h;
				else if (v == 125 && h++ == 0 && ad() == 125) continue;
			}
			switch (C += Bu(v), v * h) {
				case 38:
					_ = u > 0 ? 1 : (C += "\f", -1);
					break;
				case 44:
					s[l++] = (qu(C) - 1) * _, _ = 1;
					break;
				case 64:
					sd() === 45 && (C += pd(od())), f = sd(), u = d = qu(y = C += vd(cd())), v++;
					break;
				case 45: m === 45 && qu(C) == 2 && (h = 0);
			}
	}
	return a;
}
function xd(e, t, n, r, i, a, o, s, c, l, u) {
	for (var d = i - 1, f = i === 0 ? a : [""], p = Ju(f), m = 0, h = 0, g = 0; m < r; ++m) for (var _ = 0, v = Ku(e, d + 1, d = zu(h = o[m])), y = e; _ < p; ++_) (y = Uu(h > 0 ? f[_] + " " + v : U(v, /&\f/g, f[_]))) && (c[g++] = y);
	return nd(e, t, n, i === 0 ? Pu : s, c, l, u);
}
function Sd(e, t, n) {
	return nd(e, t, n, Nu, Bu(id()), Ku(e, 2, -2), 0);
}
function Cd(e, t, n, r) {
	return nd(e, t, n, Fu, Ku(e, 0, r), Ku(e, r + 1, -1), r);
}
//#endregion
//#region node_modules/@emotion/cache/node_modules/stylis/src/Serializer.js
function wd(e, t) {
	for (var n = "", r = Ju(e), i = 0; i < r; i++) n += t(e[i], i, e, t) || "";
	return n;
}
function Td(e, t, n, r) {
	switch (e.type) {
		case Ru: if (e.children.length) break;
		case Iu:
		case Fu: return e.return = e.return || e.value;
		case Nu: return "";
		case Lu: return e.return = e.value + "{" + wd(e.children, r) + "}";
		case Pu: e.value = e.props.join(",");
	}
	return qu(n = wd(e.children, r)) ? e.return = e.value + "{" + n + "}" : "";
}
//#endregion
//#region node_modules/@emotion/cache/node_modules/stylis/src/Middleware.js
function Ed(e) {
	var t = Ju(e);
	return function(n, r, i, a) {
		for (var o = "", s = 0; s < t; s++) o += e[s](n, r, i, a) || "";
		return o;
	};
}
function Dd(e) {
	return function(t) {
		t.root || (t = t.return) && e(t);
	};
}
//#endregion
//#region node_modules/@emotion/cache/dist/emotion-cache.browser.esm.js
var Od = function(e, t, n) {
	for (var r = 0, i = 0; r = i, i = sd(), r === 38 && i === 12 && (t[n] = 1), !ud(i);) od();
	return ld(e, ed);
}, kd = function(e, t) {
	var n = -1, r = 44;
	do
		switch (ud(r)) {
			case 0:
				r === 38 && sd() === 12 && (t[n] = 1), e[n] += Od(ed - 1, t, n);
				break;
			case 2:
				e[n] += pd(r);
				break;
			case 4: if (r === 44) {
				e[++n] = sd() === 58 ? "&\f" : "", t[n] = e[n].length;
				break;
			}
			default: e[n] += Bu(r);
		}
	while (r = od());
	return e;
}, Ad = function(e, t) {
	return fd(kd(dd(e), t));
}, jd = /* #__PURE__ */ new WeakMap(), Md = function(e) {
	if (!(e.type !== "rule" || !e.parent || e.length < 1)) {
		for (var t = e.value, n = e.parent, r = e.column === n.column && e.line === n.line; n.type !== "rule";) if (n = n.parent, !n) return;
		if (!(e.props.length === 1 && t.charCodeAt(0) !== 58 && !jd.get(n)) && !r) {
			jd.set(e, !0);
			for (var i = [], a = Ad(t, i), o = n.props, s = 0, c = 0; s < a.length; s++) for (var l = 0; l < o.length; l++, c++) e.props[c] = i[s] ? a[s].replace(/&\f/g, o[l]) : o[l] + " " + a[s];
		}
	}
}, Nd = function(e) {
	if (e.type === "decl") {
		var t = e.value;
		t.charCodeAt(0) === 108 && t.charCodeAt(2) === 98 && (e.return = "", e.value = "");
	}
};
function Pd(e, t) {
	switch (Hu(e, t)) {
		case 5103: return H + "print-" + e + e;
		case 5737:
		case 4201:
		case 3177:
		case 3433:
		case 1641:
		case 4457:
		case 2921:
		case 5572:
		case 6356:
		case 5844:
		case 3191:
		case 6645:
		case 3005:
		case 6391:
		case 5879:
		case 5623:
		case 6135:
		case 4599:
		case 4855:
		case 4215:
		case 6389:
		case 5109:
		case 5365:
		case 5621:
		case 3829: return H + e + e;
		case 5349:
		case 4246:
		case 4810:
		case 6968:
		case 2756: return H + e + Mu + e + V + e + e;
		case 6828:
		case 4268: return H + e + V + e + e;
		case 6165: return H + e + V + "flex-" + e + e;
		case 5187: return H + e + U(e, /(\w+).+(:[^]+)/, H + "box-$1$2" + V + "flex-$1$2") + e;
		case 5443: return H + e + V + "flex-item-" + U(e, /flex-|-self/, "") + e;
		case 4675: return H + e + V + "flex-line-pack" + U(e, /align-content|flex-|-self/, "") + e;
		case 5548: return H + e + V + U(e, "shrink", "negative") + e;
		case 5292: return H + e + V + U(e, "basis", "preferred-size") + e;
		case 6060: return H + "box-" + U(e, "-grow", "") + H + e + V + U(e, "grow", "positive") + e;
		case 4554: return H + U(e, /([^-])(transform)/g, "$1" + H + "$2") + e;
		case 6187: return U(U(U(e, /(zoom-|grab)/, H + "$1"), /(image-set)/, H + "$1"), e, "") + e;
		case 5495:
		case 3959: return U(e, /(image-set\([^]*)/, H + "$1$`$1");
		case 4968: return U(U(e, /(.+:)(flex-)?(.*)/, H + "box-pack:$3" + V + "flex-pack:$3"), /s.+-b[^;]+/, "justify") + H + e + e;
		case 4095:
		case 3583:
		case 4068:
		case 2532: return U(e, /(.+)-inline(.+)/, H + "$1$2") + e;
		case 8116:
		case 7059:
		case 5753:
		case 5535:
		case 5445:
		case 5701:
		case 4933:
		case 4677:
		case 5533:
		case 5789:
		case 5021:
		case 4765:
			if (qu(e) - 1 - t > 6) switch (W(e, t + 1)) {
				case 109: if (W(e, t + 4) !== 45) break;
				case 102: return U(e, /(.+:)(.+)-([^]+)/, "$1" + H + "$2-$3$1" + Mu + (W(e, t + 3) == 108 ? "$3" : "$2-$3")) + e;
				case 115: return ~Gu(e, "stretch") ? Pd(U(e, "stretch", "fill-available"), t) + e : e;
			}
			break;
		case 4949: if (W(e, t + 1) !== 115) break;
		case 6444:
			switch (W(e, qu(e) - 3 - (~Gu(e, "!important") && 10))) {
				case 107: return U(e, ":", ":" + H) + e;
				case 101: return U(e, /(.+:)([^;!]+)(;|!.+)?/, "$1" + H + (W(e, 14) === 45 ? "inline-" : "") + "box$3$1" + H + "$2$3$1" + V + "$2box$3") + e;
			}
			break;
		case 5936:
			switch (W(e, t + 11)) {
				case 114: return H + e + V + U(e, /[svh]\w+-[tblr]{2}/, "tb") + e;
				case 108: return H + e + V + U(e, /[svh]\w+-[tblr]{2}/, "tb-rl") + e;
				case 45: return H + e + V + U(e, /[svh]\w+-[tblr]{2}/, "lr") + e;
			}
			return H + e + V + e + e;
	}
	return e;
}
var Fd = [function(e, t, n, r) {
	if (e.length > -1 && !e.return) switch (e.type) {
		case Fu:
			e.return = Pd(e.value, e.length);
			break;
		case Lu: return wd([rd(e, { value: U(e.value, "@", "@" + H) })], r);
		case Pu: if (e.length) return Xu(e.props, function(t) {
			switch (Wu(t, /(::plac\w+|:read-\w+)/)) {
				case ":read-only":
				case ":read-write": return wd([rd(e, { props: [U(t, /:(read-\w+)/, ":" + Mu + "$1")] })], r);
				case "::placeholder": return wd([
					rd(e, { props: [U(t, /:(plac\w+)/, ":" + H + "input-$1")] }),
					rd(e, { props: [U(t, /:(plac\w+)/, ":" + Mu + "$1")] }),
					rd(e, { props: [U(t, /:(plac\w+)/, V + "input-$1")] })
				], r);
			}
			return "";
		});
	}
}], Id = function(e) {
	var t = e.key;
	if (t === "css") {
		var n = document.querySelectorAll("style[data-emotion]:not([data-s])");
		Array.prototype.forEach.call(n, function(e) {
			e.getAttribute("data-emotion").indexOf(" ") !== -1 && (document.head.appendChild(e), e.setAttribute("data-s", ""));
		});
	}
	var r = e.stylisPlugins || Fd, i = {}, a, o = [];
	a = e.container || document.head, Array.prototype.forEach.call(document.querySelectorAll("style[data-emotion^=\"" + t + " \"]"), function(e) {
		for (var t = e.getAttribute("data-emotion").split(" "), n = 1; n < t.length; n++) i[t[n]] = !0;
		o.push(e);
	});
	var s, c = [Md, Nd], l, u = [Td, Dd(function(e) {
		l.insert(e);
	})], d = Ed(c.concat(r, u)), f = function(e) {
		return wd(yd(e), d);
	};
	s = function(e, t, n, r) {
		l = n, f(e ? e + "{" + t.styles + "}" : t.styles), r && (p.inserted[t.name] = !0);
	};
	var p = {
		key: t,
		sheet: new ju({
			key: t,
			container: a,
			nonce: e.nonce,
			speedy: e.speedy,
			prepend: e.prepend,
			insertionPoint: e.insertionPoint
		}),
		nonce: e.nonce,
		inserted: i,
		registered: {},
		insert: s
	};
	return p.sheet.hydrate(o), p;
}, K = (e) => typeof e == "string", Ld = () => {
	let e, t, n = new Promise((n, r) => {
		e = n, t = r;
	});
	return n.resolve = e, n.reject = t, n;
}, Rd = (e) => e == null ? "" : String(e), zd = (e, t, n) => {
	e.forEach((e) => {
		t[e] && (n[e] = t[e]);
	});
}, Bd = /###/g, Vd = (e) => e && e.includes("###") ? e.replace(Bd, ".") : e, Hd = (e) => !e || K(e), Ud = (e, t, n) => {
	let r = K(t) ? t.split(".") : t, i = 0;
	for (; i < r.length - 1;) {
		if (Hd(e)) return {};
		let t = Vd(r[i]);
		!e[t] && n && (e[t] = new n()), e = Object.prototype.hasOwnProperty.call(e, t) ? e[t] : {}, ++i;
	}
	return Hd(e) ? {} : {
		obj: e,
		k: Vd(r[i])
	};
}, Wd = (e, t, n) => {
	let { obj: r, k: i } = Ud(e, t, Object);
	if (r !== void 0 || t.length === 1) {
		r[i] = n;
		return;
	}
	let a = t[t.length - 1], o = t.slice(0, t.length - 1), s = Ud(e, o, Object);
	for (; s.obj === void 0 && o.length;) a = `${o[o.length - 1]}.${a}`, o = o.slice(0, o.length - 1), s = Ud(e, o, Object), s?.obj && s.obj[`${s.k}.${a}`] !== void 0 && (s.obj = void 0);
	s.obj[`${s.k}.${a}`] = n;
}, Gd = (e, t, n, r) => {
	let { obj: i, k: a } = Ud(e, t, Object);
	i[a] = i[a] || [], i[a].push(n);
}, Kd = (e, t) => {
	let { obj: n, k: r } = Ud(e, t);
	if (n && Object.prototype.hasOwnProperty.call(n, r)) return n[r];
}, qd = (e, t, n) => {
	let r = Kd(e, n);
	return r === void 0 ? Kd(t, n) : r;
}, Jd = (e, t, n) => {
	for (let r in t) r !== "__proto__" && r !== "constructor" && (Object.prototype.hasOwnProperty.call(e, r) ? K(e[r]) || e[r] instanceof String || K(t[r]) || t[r] instanceof String ? n && (e[r] = t[r]) : Jd(e[r], t[r], n) : e[r] = t[r]);
	return e;
}, Yd = (e) => e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), Xd = {
	"&": "&amp;",
	"<": "&lt;",
	">": "&gt;",
	"\"": "&quot;",
	"'": "&#39;",
	"/": "&#x2F;"
}, Zd = (e) => K(e) ? e.replace(/[&<>"'\/]/g, (e) => Xd[e]) : e, Qd = class {
	constructor(e) {
		this.capacity = e, this.regExpMap = /* @__PURE__ */ new Map(), this.regExpQueue = [];
	}
	getRegExp(e) {
		let t = this.regExpMap.get(e);
		if (t !== void 0) return t;
		let n = new RegExp(e);
		return this.regExpQueue.length === this.capacity && this.regExpMap.delete(this.regExpQueue.shift()), this.regExpMap.set(e, n), this.regExpQueue.push(e), n;
	}
}, $d = [
	" ",
	",",
	"?",
	"!",
	";"
], ef = new Qd(20), tf = (e, t, n) => {
	t ||= "", n ||= "";
	let r = $d.filter((e) => !t.includes(e) && !n.includes(e));
	if (r.length === 0) return !0;
	let i = ef.getRegExp(`(${r.map((e) => e === "?" ? "\\?" : e).join("|")})`), a = !i.test(e);
	if (!a) {
		let t = e.indexOf(n);
		t > 0 && !i.test(e.substring(0, t)) && (a = !0);
	}
	return a;
}, nf = (e, t, n = ".") => {
	if (!e) return;
	if (e[t]) return Object.prototype.hasOwnProperty.call(e, t) ? e[t] : void 0;
	let r = t.split(n), i = e;
	for (let e = 0; e < r.length;) {
		if (!i || typeof i != "object") return;
		let t, a = "";
		for (let o = e; o < r.length; ++o) if (o !== e && (a += n), a += r[o], t = i[a], t !== void 0) {
			if ([
				"string",
				"number",
				"boolean"
			].includes(typeof t) && o < r.length - 1) continue;
			e += o - e + 1;
			break;
		}
		i = t;
	}
	return i;
}, rf = (e) => e?.replace(/_/g, "-"), af = {
	type: "logger",
	log(e) {
		this.output("log", e);
	},
	warn(e) {
		this.output("warn", e);
	},
	error(e) {
		this.output("error", e);
	},
	output(e, t) {
		console?.[e]?.apply?.(console, t);
	}
}, of = new class e {
	constructor(e, t = {}) {
		this.init(e, t);
	}
	init(e, t = {}) {
		this.prefix = t.prefix || "i18next:", this.logger = e || af, this.options = t, this.debug = t.debug;
	}
	log(...e) {
		return this.forward(e, "log", "", !0);
	}
	warn(...e) {
		return this.forward(e, "warn", "", !0);
	}
	error(...e) {
		return this.forward(e, "error", "");
	}
	deprecate(...e) {
		return this.forward(e, "warn", "WARNING DEPRECATED: ", !0);
	}
	forward(e, t, n, r) {
		return r && !this.debug ? null : (e = e.map((e) => K(e) ? e.replace(/[\r\n\x00-\x1F\x7F]/g, " ") : e), K(e[0]) && (e[0] = `${n}${this.prefix} ${e[0]}`), this.logger[t](e));
	}
	create(t) {
		return new e(this.logger, {
			prefix: `${this.prefix}:${t}:`,
			...this.options
		});
	}
	clone(t) {
		return t ||= this.options, t.prefix = t.prefix || this.prefix, new e(this.logger, t);
	}
}(), sf = class {
	constructor() {
		this.observers = {};
	}
	on(e, t) {
		return e.split(" ").forEach((e) => {
			this.observers[e] || (this.observers[e] = /* @__PURE__ */ new Map());
			let n = this.observers[e].get(t) || 0;
			this.observers[e].set(t, n + 1);
		}), this;
	}
	off(e, t) {
		if (this.observers[e]) {
			if (!t) {
				delete this.observers[e];
				return;
			}
			this.observers[e].delete(t);
		}
	}
	once(e, t) {
		let n = (...r) => {
			t(...r), this.off(e, n);
		};
		return this.on(e, n), this;
	}
	emit(e, ...t) {
		this.observers[e] && Array.from(this.observers[e].entries()).forEach(([e, n]) => {
			for (let r = 0; r < n; r++) e(...t);
		}), this.observers["*"] && Array.from(this.observers["*"].entries()).forEach(([n, r]) => {
			for (let i = 0; i < r; i++) n(e, ...t);
		});
	}
}, cf = class extends sf {
	constructor(e, t = {
		ns: ["translation"],
		defaultNS: "translation"
	}) {
		super(), this.data = e || {}, this.options = t, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.options.ignoreJSONStructure === void 0 && (this.options.ignoreJSONStructure = !0);
	}
	addNamespaces(e) {
		this.options.ns.includes(e) || this.options.ns.push(e);
	}
	removeNamespaces(e) {
		let t = this.options.ns.indexOf(e);
		t > -1 && this.options.ns.splice(t, 1);
	}
	getResource(e, t, n, r = {}) {
		let i = r.keySeparator === void 0 ? this.options.keySeparator : r.keySeparator, a = r.ignoreJSONStructure === void 0 ? this.options.ignoreJSONStructure : r.ignoreJSONStructure, o;
		e.includes(".") ? o = e.split(".") : (o = [e, t], n && (Array.isArray(n) ? o.push(...n) : K(n) && i ? o.push(...n.split(i)) : o.push(n)));
		let s = Kd(this.data, o);
		return !s && !t && !n && e.includes(".") && (e = o[0], t = o[1], n = o.slice(2).join(".")), s || !a || !K(n) ? s : nf(this.data?.[e]?.[t], n, i);
	}
	addResource(e, t, n, r, i = { silent: !1 }) {
		let a = i.keySeparator === void 0 ? this.options.keySeparator : i.keySeparator, o = [e, t];
		n && (o = o.concat(a ? n.split(a) : n)), e.includes(".") && (o = e.split("."), r = t, t = o[1]), this.addNamespaces(t), Wd(this.data, o, r), i.silent || this.emit("added", e, t, n, r);
	}
	addResources(e, t, n, r = { silent: !1 }) {
		for (let r in n) (K(n[r]) || Array.isArray(n[r])) && this.addResource(e, t, r, n[r], { silent: !0 });
		r.silent || this.emit("added", e, t, n);
	}
	addResourceBundle(e, t, n, r, i, a = {
		silent: !1,
		skipCopy: !1
	}) {
		let o = [e, t];
		e.includes(".") && (o = e.split("."), r = n, n = t, t = o[1]), this.addNamespaces(t);
		let s = Kd(this.data, o) || {};
		a.skipCopy || (n = JSON.parse(JSON.stringify(n))), r ? Jd(s, n, i) : s = {
			...s,
			...n
		}, Wd(this.data, o, s), a.silent || this.emit("added", e, t, n);
	}
	removeResourceBundle(e, t) {
		this.hasResourceBundle(e, t) && delete this.data[e][t], this.removeNamespaces(t), this.emit("removed", e, t);
	}
	hasResourceBundle(e, t) {
		return this.getResource(e, t) !== void 0;
	}
	getResourceBundle(e, t) {
		return t ||= this.options.defaultNS, this.getResource(e, t);
	}
	getDataByLanguage(e) {
		return this.data[e];
	}
	hasLanguageSomeTranslations(e) {
		let t = this.getDataByLanguage(e);
		return !!(t && Object.keys(t) || []).find((e) => t[e] && Object.keys(t[e]).length > 0);
	}
	toJSON() {
		return this.data;
	}
}, lf = {
	processors: {},
	addPostProcessor(e) {
		this.processors[e.name] = e;
	},
	handle(e, t, n, r, i) {
		return e.forEach((e) => {
			t = this.processors[e]?.process(t, n, r, i) ?? t;
		}), t;
	}
}, uf = Symbol("i18next/PATH_KEY");
function df() {
	let e = [], t = Object.create(null), n;
	return t.get = (r, i) => (n?.revoke?.(), i === uf ? e : (e.push(i), n = Proxy.revocable(r, t), n.proxy)), Proxy.revocable(Object.create(null), t).proxy;
}
function ff(e, t) {
	let { [uf]: n } = e(df()), r = t?.keySeparator ?? ".", i = t?.nsSeparator ?? ":", a = t?.enableSelector === "strict";
	if (n.length > 1 && i) {
		let e = t?.ns, o = a ? Array.isArray(e) ? e : e ? [e] : null : Array.isArray(e) ? e : null;
		if (o && (a ? o : o.length > 1 ? o.slice(1) : []).includes(n[0])) return `${n[0]}${i}${n.slice(1).join(r)}`;
	}
	return n.join(r);
}
var pf = (e) => !K(e) && typeof e != "boolean" && typeof e != "number", mf = class e extends sf {
	constructor(e, t = {}) {
		super(), zd([
			"resourceStore",
			"languageUtils",
			"pluralResolver",
			"interpolator",
			"backendConnector",
			"i18nFormat",
			"utils"
		], e, this), this.options = t, this.options.keySeparator === void 0 && (this.options.keySeparator = "."), this.logger = of.create("translator"), this.checkedLoadedFor = {};
	}
	changeLanguage(e) {
		e && (this.language = e);
	}
	exists(e, t = { interpolation: {} }) {
		let n = { ...t };
		if (e == null) return !1;
		let r = this.resolve(e, n);
		if (r?.res === void 0) return !1;
		let i = pf(r.res);
		return !(n.returnObjects === !1 && i);
	}
	extractFromKey(e, t) {
		let n = t.nsSeparator === void 0 ? this.options.nsSeparator : t.nsSeparator;
		n === void 0 && (n = ":");
		let r = t.keySeparator === void 0 ? this.options.keySeparator : t.keySeparator, i = t.ns || this.options.defaultNS || [], a = n && e.includes(n), o = !this.options.userDefinedKeySeparator && !t.keySeparator && !this.options.userDefinedNsSeparator && !t.nsSeparator && !tf(e, n, r);
		if (a && !o) {
			let t = e.match(this.interpolator.nestingRegexp);
			if (t && t.length > 0) return {
				key: e,
				namespaces: K(i) ? [i] : i
			};
			let a = e.split(n);
			(n !== r || n === r && this.options.ns.includes(a[0])) && (i = a.shift()), e = a.join(r);
		}
		return {
			key: e,
			namespaces: K(i) ? [i] : i
		};
	}
	translate(t, n, r) {
		let i = typeof n == "object" ? { ...n } : n;
		if (typeof i != "object" && this.options.overloadTranslationOptionHandler && (i = this.options.overloadTranslationOptionHandler(arguments)), typeof i == "object" && (i = { ...i }), i ||= {}, t == null) return "";
		typeof t == "function" && (t = ff(t, {
			...this.options,
			...i
		})), Array.isArray(t) || (t = [String(t)]), t = t.map((e) => typeof e == "function" ? ff(e, {
			...this.options,
			...i
		}) : String(e));
		let a = i.returnDetails === void 0 ? this.options.returnDetails : i.returnDetails, o = i.keySeparator === void 0 ? this.options.keySeparator : i.keySeparator, { key: s, namespaces: c } = this.extractFromKey(t[t.length - 1], i), l = c[c.length - 1], u = i.nsSeparator === void 0 ? this.options.nsSeparator : i.nsSeparator;
		u === void 0 && (u = ":");
		let d = i.lng || this.language, f = i.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;
		if (d?.toLowerCase() === "cimode") return f ? a ? {
			res: `${l}${u}${s}`,
			usedKey: s,
			exactUsedKey: s,
			usedLng: d,
			usedNS: l,
			usedParams: this.getUsedParamsDetails(i)
		} : `${l}${u}${s}` : a ? {
			res: s,
			usedKey: s,
			exactUsedKey: s,
			usedLng: d,
			usedNS: l,
			usedParams: this.getUsedParamsDetails(i)
		} : s;
		let p = this.resolve(t, i), m = p?.res, h = p?.usedKey || s, g = p?.exactUsedKey || s, _ = [
			"[object Number]",
			"[object Function]",
			"[object RegExp]"
		], v = i.joinArrays === void 0 ? this.options.joinArrays : i.joinArrays, y = !this.i18nFormat || this.i18nFormat.handleAsObject, b = i.count !== void 0 && !K(i.count), x = e.hasDefaultValue(i), S = b ? this.pluralResolver.getSuffix(d, i.count, i) : "", C = i.ordinal && b ? this.pluralResolver.getSuffix(d, i.count, { ordinal: !1 }) : "", w = b && !i.ordinal && i.count === 0, T = w && i[`defaultValue${this.options.pluralSeparator}zero`] || i[`defaultValue${S}`] || i[`defaultValue${C}`] || i.defaultValue, E = m;
		y && !m && x && (E = T);
		let D = pf(E), ee = Object.prototype.toString.apply(E);
		if (y && E && D && !_.includes(ee) && !(K(v) && Array.isArray(E))) {
			if (!i.returnObjects && !this.options.returnObjects) {
				this.options.returnedObjectHandler || this.logger.warn("accessing an object - but returnObjects options is not enabled!");
				let e = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(h, E, {
					...i,
					ns: c
				}) : `key '${s} (${this.language})' returned an object instead of string.`;
				return a ? (p.res = e, p.usedParams = this.getUsedParamsDetails(i), p) : e;
			}
			if (o) {
				let e = Array.isArray(E), t = e ? [] : {}, n = e ? g : h;
				for (let e in E) if (Object.prototype.hasOwnProperty.call(E, e)) {
					let r = `${n}${o}${e}`;
					t[e] = x && !m ? this.translate(r, {
						...i,
						defaultValue: pf(T) ? T[e] : void 0,
						joinArrays: !1,
						ns: c
					}) : this.translate(r, {
						...i,
						joinArrays: !1,
						ns: c
					}), t[e] === r && (t[e] = E[e]);
				}
				m = t;
			}
		} else if (y && K(v) && Array.isArray(m)) m = m.join(v), m &&= this.extendTranslation(m, t, i, r);
		else {
			let e = !1, n = !1;
			!this.isValidLookup(m) && x && (e = !0, m = T), this.isValidLookup(m) || (n = !0, m = s);
			let a = (i.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey) && n ? void 0 : m, c = x && T !== m && this.options.updateMissing;
			if (n || e || c) {
				if (this.logger.log(c ? "updateKey" : "missingKey", d, l, b && !c ? `${s}${this.pluralResolver.getSuffix(d, i.count, i)}` : s, c ? T : m), o) {
					let e = this.resolve(s, {
						...i,
						keySeparator: !1
					});
					e && e.res && this.logger.warn("Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.");
				}
				let e = [], t = this.languageUtils.getFallbackCodes(this.options.fallbackLng, i.lng || this.language);
				if (this.options.saveMissingTo === "fallback" && t && t[0]) for (let n = 0; n < t.length; n++) e.push(t[n]);
				else this.options.saveMissingTo === "all" ? e = this.languageUtils.toResolveHierarchy(i.lng || this.language) : e.push(i.lng || this.language);
				let n = (e, t, n) => {
					let r = x && n !== m ? n : a;
					this.options.missingKeyHandler ? this.options.missingKeyHandler(e, l, t, r, c, i) : this.backendConnector?.saveMissing && this.backendConnector.saveMissing(e, l, t, r, c, i), this.emit("missingKey", e, l, t, m);
				};
				this.options.saveMissing && (this.options.saveMissingPlurals && b ? e.forEach((e) => {
					let t = this.pluralResolver.getSuffixes(e, i);
					w && i[`defaultValue${this.options.pluralSeparator}zero`] && !t.includes(`${this.options.pluralSeparator}zero`) && t.push(`${this.options.pluralSeparator}zero`), t.forEach((t) => {
						n([e], s + t, i[`defaultValue${t}`] || T);
					});
				}) : n(e, s, T));
			}
			m = this.extendTranslation(m, t, i, p, r), n && m === s && this.options.appendNamespaceToMissingKey && (m = `${l}${u}${s}`), (n || e) && this.options.parseMissingKeyHandler && (m = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? `${l}${u}${s}` : s, e ? m : void 0, i));
		}
		return a ? (p.res = m, p.usedParams = this.getUsedParamsDetails(i), p) : m;
	}
	extendTranslation(e, t, n, r, i) {
		if (this.i18nFormat?.parse) e = this.i18nFormat.parse(e, {
			...this.options.interpolation.defaultVariables,
			...n
		}, n.lng || this.language || r.usedLng, r.usedNS, r.usedKey, { resolved: r });
		else if (!n.skipInterpolation) {
			n.interpolation && this.interpolator.init({
				...n,
				interpolation: {
					...this.options.interpolation,
					...n.interpolation
				}
			});
			let a = K(e) && (n?.interpolation?.skipOnVariables === void 0 ? this.options.interpolation.skipOnVariables : n.interpolation.skipOnVariables), o;
			if (a) {
				let t = e.match(this.interpolator.nestingRegexp);
				o = t && t.length;
			}
			let s = n.replace && !K(n.replace) ? n.replace : n;
			if (this.options.interpolation.defaultVariables && (s = {
				...this.options.interpolation.defaultVariables,
				...s
			}), e = this.interpolator.interpolate(e, s, n.lng || this.language || r.usedLng, n), a) {
				let t = e.match(this.interpolator.nestingRegexp), r = t && t.length;
				o < r && (n.nest = !1);
			}
			!n.lng && r && r.res && (n.lng = this.language || r.usedLng), n.nest !== !1 && (e = this.interpolator.nest(e, (...e) => i?.[0] === e[0] && !n.context ? (this.logger.warn(`It seems you are nesting recursively key: ${e[0]} in key: ${t[0]}`), null) : this.translate(...e, t), n)), n.interpolation && this.interpolator.reset();
		}
		let a = n.postProcess || this.options.postProcess, o = K(a) ? [a] : a;
		return e != null && o?.length && n.applyPostProcessor !== !1 && (e = lf.handle(o, e, t, this.options && this.options.postProcessPassResolved ? {
			i18nResolved: {
				...r,
				usedParams: this.getUsedParamsDetails(n)
			},
			...n
		} : n, this)), e;
	}
	resolve(e, t = {}) {
		let n, r, i, a, o;
		return K(e) && (e = [e]), Array.isArray(e) && (e = e.map((e) => typeof e == "function" ? ff(e, {
			...this.options,
			...t
		}) : e)), e.forEach((e) => {
			if (this.isValidLookup(n)) return;
			let s = this.extractFromKey(e, t), c = s.key;
			r = c;
			let l = s.namespaces;
			this.options.fallbackNS && (l = l.concat(this.options.fallbackNS));
			let u = t.count !== void 0 && !K(t.count), d = u && !t.ordinal && t.count === 0, f = t.context !== void 0 && (K(t.context) || typeof t.context == "number") && t.context !== "", p = t.lngs ? t.lngs : this.languageUtils.toResolveHierarchy(t.lng || this.language, t.fallbackLng);
			l.forEach((e) => {
				this.isValidLookup(n) || (o = e, !this.checkedLoadedFor[`${p[0]}-${e}`] && this.utils?.hasLoadedNamespace && !this.utils?.hasLoadedNamespace(o) && (this.checkedLoadedFor[`${p[0]}-${e}`] = !0, this.logger.warn(`key "${r}" for languages "${p.join(", ")}" won't get resolved as namespace "${o}" was not yet loaded`, "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!")), p.forEach((r) => {
					if (this.isValidLookup(n)) return;
					a = r;
					let o = [c];
					if (this.i18nFormat?.addLookupKeys) this.i18nFormat.addLookupKeys(o, c, r, e, t);
					else {
						let e;
						u && (e = this.pluralResolver.getSuffix(r, t.count, t));
						let n = `${this.options.pluralSeparator}zero`, i = `${this.options.pluralSeparator}ordinal${this.options.pluralSeparator}`;
						if (u && (t.ordinal && e.startsWith(i) && o.push(c + e.replace(i, this.options.pluralSeparator)), o.push(c + e), d && o.push(c + n)), f) {
							let r = `${c}${this.options.contextSeparator || "_"}${t.context}`;
							o.push(r), u && (t.ordinal && e.startsWith(i) && o.push(r + e.replace(i, this.options.pluralSeparator)), o.push(r + e), d && o.push(r + n));
						}
					}
					let s;
					for (; s = o.pop();) this.isValidLookup(n) || (i = s, n = this.getResource(r, e, s, t));
				}));
			});
		}), {
			res: n,
			usedKey: r,
			exactUsedKey: i,
			usedLng: a,
			usedNS: o
		};
	}
	isValidLookup(e) {
		return e !== void 0 && !(!this.options.returnNull && e === null) && !(!this.options.returnEmptyString && e === "");
	}
	getResource(e, t, n, r = {}) {
		return this.i18nFormat?.getResource ? this.i18nFormat.getResource(e, t, n, r) : this.resourceStore.getResource(e, t, n, r);
	}
	getUsedParamsDetails(e = {}) {
		let t = [
			"defaultValue",
			"ordinal",
			"context",
			"replace",
			"lng",
			"lngs",
			"fallbackLng",
			"ns",
			"keySeparator",
			"nsSeparator",
			"returnObjects",
			"returnDetails",
			"joinArrays",
			"postProcess",
			"interpolation"
		], n = e.replace && !K(e.replace), r = n ? e.replace : e;
		if (n && e.count !== void 0 && (r = {
			...r,
			count: e.count
		}), this.options.interpolation.defaultVariables && (r = {
			...this.options.interpolation.defaultVariables,
			...r
		}), !n) {
			r = { ...r };
			for (let e of t) delete r[e];
		}
		return r;
	}
	static hasDefaultValue(e) {
		for (let t in e) if (Object.prototype.hasOwnProperty.call(e, t) && t.startsWith("defaultValue") && e[t] !== void 0) return !0;
		return !1;
	}
}, hf = class {
	constructor(e) {
		this.options = e, this.supportedLngs = this.options.supportedLngs || !1, this.logger = of.create("languageUtils");
	}
	getScriptPartFromCode(e) {
		if (e = rf(e), !e || !e.includes("-")) return null;
		let t = e.split("-");
		return t.length === 2 || (t.pop(), t[t.length - 1].toLowerCase() === "x") ? null : this.formatLanguageCode(t.join("-"));
	}
	getLanguagePartFromCode(e) {
		if (e = rf(e), !e || !e.includes("-")) return e;
		let t = e.split("-");
		return this.formatLanguageCode(t[0]);
	}
	formatLanguageCode(e) {
		if (K(e) && e.includes("-")) {
			let t;
			try {
				t = Intl.getCanonicalLocales(e)[0];
			} catch {}
			return t && this.options.lowerCaseLng && (t = t.toLowerCase()), t || (this.options.lowerCaseLng ? e.toLowerCase() : e);
		}
		return this.options.cleanCode || this.options.lowerCaseLng ? e.toLowerCase() : e;
	}
	isSupportedCode(e) {
		return (this.options.load === "languageOnly" || this.options.nonExplicitSupportedLngs) && (e = this.getLanguagePartFromCode(e)), !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.includes(e);
	}
	getBestMatchFromCodes(e) {
		if (!e) return null;
		let t;
		return e.forEach((e) => {
			if (t) return;
			let n = this.formatLanguageCode(e);
			(!this.options.supportedLngs || this.isSupportedCode(n)) && (t = n);
		}), !t && this.options.supportedLngs && e.forEach((e) => {
			if (t) return;
			let n = this.getScriptPartFromCode(e);
			if (this.isSupportedCode(n)) return t = n;
			let r = this.getLanguagePartFromCode(e);
			if (this.isSupportedCode(r)) return t = r;
			t = this.options.supportedLngs.find((e) => e === r ? !0 : !e.includes("-") && !r.includes("-") ? !1 : !!(e.includes("-") && !r.includes("-") && e.slice(0, e.indexOf("-")) === r || e.startsWith(r) && r.length > 1));
		}), t ||= this.getFallbackCodes(this.options.fallbackLng)[0], t;
	}
	getFallbackCodes(e, t) {
		if (!e) return [];
		if (typeof e == "function" && (e = e(t)), K(e) && (e = [e]), Array.isArray(e)) return e;
		if (!t) return e.default || [];
		let n = e[t];
		return n ||= e[this.getScriptPartFromCode(t)], n ||= e[this.formatLanguageCode(t)], n ||= e[this.getLanguagePartFromCode(t)], n ||= e.default, n || [];
	}
	toResolveHierarchy(e, t) {
		let n = this.getFallbackCodes((t === !1 ? [] : t) || this.options.fallbackLng || [], e), r = [], i = (e) => {
			e && (this.isSupportedCode(e) ? r.push(e) : this.logger.warn(`rejecting language code not found in supportedLngs: ${e}`));
		};
		return K(e) && (e.includes("-") || e.includes("_")) ? (this.options.load !== "languageOnly" && i(this.formatLanguageCode(e)), this.options.load !== "languageOnly" && this.options.load !== "currentOnly" && i(this.getScriptPartFromCode(e)), this.options.load !== "currentOnly" && i(this.getLanguagePartFromCode(e))) : K(e) && i(this.formatLanguageCode(e)), n.forEach((e) => {
			r.includes(e) || i(this.formatLanguageCode(e));
		}), r;
	}
}, gf = {
	zero: 0,
	one: 1,
	two: 2,
	few: 3,
	many: 4,
	other: 5
}, _f = {
	select: (e) => e === 1 ? "one" : "other",
	resolvedOptions: () => ({ pluralCategories: ["one", "other"] })
}, vf = class {
	constructor(e, t = {}) {
		this.languageUtils = e, this.options = t, this.logger = of.create("pluralResolver"), this.pluralRulesCache = {};
	}
	clearCache() {
		this.pluralRulesCache = {};
	}
	getRule(e, t = {}) {
		let n = rf(e === "dev" ? "en" : e), r = t.ordinal ? "ordinal" : "cardinal", i = JSON.stringify({
			cleanedCode: n,
			type: r
		});
		if (i in this.pluralRulesCache) return this.pluralRulesCache[i];
		let a;
		try {
			a = new Intl.PluralRules(n, { type: r });
		} catch {
			if (typeof Intl > "u") return this.logger.error("No Intl support, please use an Intl polyfill!"), _f;
			if (!e.match(/-|_/)) return _f;
			let n = this.languageUtils.getLanguagePartFromCode(e);
			a = this.getRule(n, t);
		}
		return this.pluralRulesCache[i] = a, a;
	}
	needsPlural(e, t = {}) {
		let n = this.getRule(e, t);
		return n ||= this.getRule("dev", t), n?.resolvedOptions().pluralCategories.length > 1;
	}
	getPluralFormsOfKey(e, t, n = {}) {
		return this.getSuffixes(e, n).map((e) => `${t}${e}`);
	}
	getSuffixes(e, t = {}) {
		let n = this.getRule(e, t);
		return n ||= this.getRule("dev", t), n ? n.resolvedOptions().pluralCategories.sort((e, t) => gf[e] - gf[t]).map((e) => `${this.options.prepend}${t.ordinal ? `ordinal${this.options.prepend}` : ""}${e}`) : [];
	}
	getSuffix(e, t, n = {}) {
		let r = this.getRule(e, n);
		return r ? `${this.options.prepend}${n.ordinal ? `ordinal${this.options.prepend}` : ""}${r.select(t)}` : (this.logger.warn(`no plural rule found for: ${e}`), this.getSuffix("dev", t, n));
	}
}, yf = (e, t, n, r = ".", i = !0) => {
	let a = qd(e, t, n);
	return !a && i && K(n) && (a = nf(e, n, r), a === void 0 && (a = nf(t, n, r))), a;
}, bf = (e) => e.replace(/\$/g, "$$$$"), xf = class {
	constructor(e = {}) {
		this.logger = of.create("interpolator"), this.options = e, this.format = e?.interpolation?.format || ((e) => e), this.init(e);
	}
	init(e = {}) {
		e.interpolation ||= { escapeValue: !0 };
		let { escape: t, escapeValue: n, useRawValueToEscape: r, prefix: i, prefixEscaped: a, suffix: o, suffixEscaped: s, formatSeparator: c, unescapeSuffix: l, unescapePrefix: u, nestingPrefix: d, nestingPrefixEscaped: f, nestingSuffix: p, nestingSuffixEscaped: m, nestingOptionsSeparator: h, maxReplaces: g, alwaysFormat: _ } = e.interpolation;
		this.escape = t === void 0 ? Zd : t, this.escapeValue = n === void 0 || n, this.useRawValueToEscape = r !== void 0 && r, this.prefix = i ? Yd(i) : a || "{{", this.suffix = o ? Yd(o) : s || "}}", this.formatSeparator = c || ",", this.unescapePrefix = l ? "" : u ? Yd(u) : "-", this.unescapeSuffix = this.unescapePrefix ? "" : l ? Yd(l) : "", this.nestingPrefix = d ? Yd(d) : f || Yd("$t("), this.nestingSuffix = p ? Yd(p) : m || Yd(")"), this.nestingOptionsSeparator = h || ",", this.maxReplaces = g || 1e3, this.alwaysFormat = _ !== void 0 && _, this.resetRegExp();
	}
	reset() {
		this.options && this.init(this.options);
	}
	resetRegExp() {
		let e = (e, t) => e?.source === t ? (e.lastIndex = 0, e) : new RegExp(t, "g");
		this.regexp = e(this.regexp, `${this.prefix}(.+?)${this.suffix}`), this.regexpUnescape = e(this.regexpUnescape, `${this.prefix}${this.unescapePrefix}(.+?)${this.unescapeSuffix}${this.suffix}`), this.nestingRegexp = e(this.nestingRegexp, `${this.nestingPrefix}((?:[^()"']+|"[^"]*"|'[^']*'|\\((?:[^()]|"[^"]*"|'[^']*')*\\))*?)${this.nestingSuffix}`);
	}
	interpolate(e, t, n, r) {
		let i, a, o, s = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {}, c = (e) => {
			if (!e.includes(this.formatSeparator)) {
				let i = yf(t, s, e, this.options.keySeparator, this.options.ignoreJSONStructure);
				return this.alwaysFormat ? this.format(i, void 0, n, {
					...r,
					...t,
					interpolationkey: e
				}) : i;
			}
			let i = e.split(this.formatSeparator), a = i.shift().trim(), o = i.join(this.formatSeparator).trim();
			return this.format(yf(t, s, a, this.options.keySeparator, this.options.ignoreJSONStructure), o, n, {
				...r,
				...t,
				interpolationkey: a
			});
		};
		this.resetRegExp(), !this.escapeValue && typeof e == "string" && /\$t\([^)]*\{[^}]*\{\{/.test(e) && this.logger.warn("nesting options string contains interpolated variables with escapeValue: false — if any of those values are attacker-controlled they can inject additional nesting options (e.g. redirect lng/ns). Sanitise untrusted input before passing it to t(), or keep escapeValue: true.");
		let l = r?.missingInterpolationHandler || this.options.missingInterpolationHandler, u = r?.interpolation?.skipOnVariables === void 0 ? this.options.interpolation.skipOnVariables : r.interpolation.skipOnVariables;
		return [{
			regex: this.regexpUnescape,
			safeValue: (e) => e
		}, {
			regex: this.regexp,
			safeValue: (e) => this.escapeValue ? this.escape(e) : e
		}].forEach((t) => {
			for (o = 0; i = t.regex.exec(e);) {
				let n = i[1].trim();
				if (a = c(n), a === void 0) {
					if (typeof l == "function") {
						let t = l(e, i, r);
						a = K(t) ? t : "";
					} else if (r && Object.prototype.hasOwnProperty.call(r, n)) a = "";
					else if (u) {
						a = i[0];
						continue;
					} else this.logger.warn(`missed to pass in variable ${n} for interpolating ${e}`), a = "";
				} else !K(a) && !this.useRawValueToEscape && (a = Rd(a));
				let s = t.safeValue(a);
				if (e = e.replace(i[0], bf(s)), u ? (t.regex.lastIndex += s.length, t.regex.lastIndex -= i[0].length) : t.regex.lastIndex = 0, o++, o >= this.maxReplaces) break;
			}
		}), e;
	}
	nest(e, t, n = {}) {
		let r, i, a, o = (e, t) => {
			let n = this.nestingOptionsSeparator;
			if (!e.includes(n)) return e;
			let r = e.split(RegExp(`${Yd(n)}[ ]*{`)), i = `{${r[1]}`;
			e = r[0], i = this.interpolate(i, a);
			let o = i.match(/'/g), s = i.match(/"/g);
			((o?.length ?? 0) % 2 == 0 && !s || (s?.length ?? 0) % 2 != 0) && (i = i.replace(/'/g, "\""));
			try {
				a = JSON.parse(i), t && (a = {
					...t,
					...a
				});
			} catch (t) {
				return this.logger.warn(`failed parsing options string in nesting for key ${e}`, t), `${e}${n}${i}`;
			}
			return a.defaultValue && a.defaultValue.includes(this.prefix) && delete a.defaultValue, e;
		};
		for (; r = this.nestingRegexp.exec(e);) {
			let s = [];
			a = { ...n }, a = a.replace && !K(a.replace) ? a.replace : a, a.applyPostProcessor = !1, delete a.defaultValue;
			let c = /{.*}/s.test(r[1]) ? r[1].lastIndexOf("}") + 1 : r[1].indexOf(this.formatSeparator);
			if (c !== -1 && (s = r[1].slice(c).split(this.formatSeparator).map((e) => e.trim()).filter(Boolean), r[1] = r[1].slice(0, c)), i = t(o.call(this, r[1].trim(), a), a), i && r[0] === e && !K(i)) return i;
			K(i) || (i = Rd(i)), i ||= (this.logger.warn(`missed to resolve ${r[1]} for nesting ${e}`), ""), s.length && (i = s.reduce((e, t) => this.format(e, t, n.lng, {
				...n,
				interpolationkey: r[1].trim()
			}), i.trim())), e = e.replace(r[0], i), this.regexp.lastIndex = 0;
		}
		return e;
	}
}, Sf = (e) => {
	let t = e.toLowerCase().trim(), n = {};
	if (e.includes("(")) {
		let r = e.split("(");
		t = r[0].toLowerCase().trim();
		let i = r[1].slice(0, -1);
		t === "currency" && !i.includes(":") ? n.currency ||= i.trim() : t === "relativetime" && !i.includes(":") ? n.range ||= i.trim() : i.split(";").forEach((e) => {
			if (e) {
				let [t, ...r] = e.split(":"), i = r.join(":").trim().replace(/^'+|'+$/g, ""), a = t.trim();
				n[a] || (n[a] = i), i === "false" && (n[a] = !1), i === "true" && (n[a] = !0), isNaN(i) || (n[a] = parseInt(i, 10));
			}
		});
	}
	return {
		formatName: t,
		formatOptions: n
	};
}, Cf = (e) => {
	let t = {};
	return (n, r, i) => {
		let a = i;
		i && i.interpolationkey && i.formatParams && i.formatParams[i.interpolationkey] && i[i.interpolationkey] && (a = {
			...a,
			[i.interpolationkey]: void 0
		});
		let o = r + JSON.stringify(a), s = t[o];
		return s || (s = e(rf(r), i), t[o] = s), s(n);
	};
}, wf = (e) => (t, n, r) => e(rf(n), r)(t), Tf = class {
	constructor(e = {}) {
		this.logger = of.create("formatter"), this.options = e, this.init(e);
	}
	init(e, t = { interpolation: {} }) {
		this.formatSeparator = t.interpolation.formatSeparator || ",";
		let n = t.cacheInBuiltFormats ? Cf : wf;
		this.formats = {
			number: n((e, t) => {
				let n = new Intl.NumberFormat(e, { ...t });
				return (e) => n.format(e);
			}),
			currency: n((e, t) => {
				let n = new Intl.NumberFormat(e, {
					...t,
					style: "currency"
				});
				return (e) => n.format(e);
			}),
			datetime: n((e, t) => {
				let n = new Intl.DateTimeFormat(e, { ...t });
				return (e) => n.format(e);
			}),
			relativetime: n((e, t) => {
				let n = new Intl.RelativeTimeFormat(e, { ...t });
				return (e) => n.format(e, t.range || "day");
			}),
			list: n((e, t) => {
				let n = new Intl.ListFormat(e, { ...t });
				return (e) => n.format(e);
			})
		};
	}
	add(e, t) {
		this.formats[e.toLowerCase().trim()] = t;
	}
	addCached(e, t) {
		this.formats[e.toLowerCase().trim()] = Cf(t);
	}
	format(e, t, n, r = {}) {
		if (!t || e == null) return e;
		let i = t.split(this.formatSeparator), a = [];
		for (let e = 0; e < i.length; e++) {
			let t = i[e];
			for (; t.indexOf("(") > -1 && !t.includes(")") && e + 1 < i.length;) t = `${t}${this.formatSeparator}${i[++e]}`;
			a.push(t);
		}
		return a.reduce((e, t) => {
			let { formatName: i, formatOptions: a } = Sf(t);
			if (this.formats[i]) {
				let t = e;
				try {
					let o = r?.formatParams?.[r.interpolationkey] || {}, s = o.locale || o.lng || r.locale || r.lng || n;
					t = this.formats[i](e, s, {
						...a,
						...r,
						...o
					});
				} catch (e) {
					this.logger.warn(e);
				}
				return t;
			}
			return this.logger.warn(`there was no format function for ${i}`), e;
		}, e);
	}
}, Ef = (e, t) => {
	e.pending[t] !== void 0 && (delete e.pending[t], e.pendingCount--);
}, Df = class extends sf {
	constructor(e, t, n, r = {}) {
		super(), this.backend = e, this.store = t, this.services = n, this.languageUtils = n.languageUtils, this.options = r, this.logger = of.create("backendConnector"), this.waitingReads = [], this.maxParallelReads = r.maxParallelReads || 10, this.readingCalls = 0, this.maxRetries = r.maxRetries >= 0 ? r.maxRetries : 5, this.retryTimeout = r.retryTimeout >= 1 ? r.retryTimeout : 350, this.state = {}, this.queue = [], this.backend?.init?.(n, r.backend, r);
	}
	queueLoad(e, t, n, r) {
		let i = {}, a = {}, o = {}, s = {};
		return e.forEach((e) => {
			let r = !0;
			t.forEach((t) => {
				let o = `${e}|${t}`;
				!n.reload && this.store.hasResourceBundle(e, t) ? this.state[o] = 2 : this.state[o] < 0 || (this.state[o] === 1 ? a[o] === void 0 && (a[o] = !0) : (this.state[o] = 1, r = !1, a[o] === void 0 && (a[o] = !0), i[o] === void 0 && (i[o] = !0), s[t] === void 0 && (s[t] = !0)));
			}), r || (o[e] = !0);
		}), (Object.keys(i).length || Object.keys(a).length) && this.queue.push({
			pending: a,
			pendingCount: Object.keys(a).length,
			loaded: {},
			errors: [],
			callback: r
		}), {
			toLoad: Object.keys(i),
			pending: Object.keys(a),
			toLoadLanguages: Object.keys(o),
			toLoadNamespaces: Object.keys(s)
		};
	}
	loaded(e, t, n) {
		let r = e.split("|"), i = r[0], a = r[1];
		t && this.emit("failedLoading", i, a, t), !t && n && this.store.addResourceBundle(i, a, n, void 0, void 0, { skipCopy: !0 }), this.state[e] = t ? -1 : 2, t && n && (this.state[e] = 0);
		let o = {};
		this.queue.forEach((n) => {
			Gd(n.loaded, [i], a), Ef(n, e), t && n.errors.push(t), n.pendingCount === 0 && !n.done && (Object.keys(n.loaded).forEach((e) => {
				o[e] || (o[e] = {});
				let t = n.loaded[e];
				t.length && t.forEach((t) => {
					o[e][t] === void 0 && (o[e][t] = !0);
				});
			}), n.done = !0, n.errors.length ? n.callback(n.errors) : n.callback());
		}), this.emit("loaded", o), this.queue = this.queue.filter((e) => !e.done);
	}
	read(e, t, n, r = 0, i = this.retryTimeout, a) {
		if (!e.length) return a(null, {});
		if (this.readingCalls >= this.maxParallelReads) {
			this.waitingReads.push({
				lng: e,
				ns: t,
				fcName: n,
				tried: r,
				wait: i,
				callback: a
			});
			return;
		}
		this.readingCalls++;
		let o = (o, s) => {
			if (this.readingCalls--, this.waitingReads.length > 0) {
				let e = this.waitingReads.shift();
				this.read(e.lng, e.ns, e.fcName, e.tried, e.wait, e.callback);
			}
			if (o && s && r < this.maxRetries) {
				setTimeout(() => {
					this.read(e, t, n, r + 1, i * 2, a);
				}, i);
				return;
			}
			a(o, s);
		}, s = this.backend[n].bind(this.backend);
		if (s.length === 2) {
			try {
				let n = s(e, t);
				n && typeof n.then == "function" ? n.then((e) => o(null, e)).catch(o) : o(null, n);
			} catch (e) {
				o(e);
			}
			return;
		}
		return s(e, t, o);
	}
	prepareLoading(e, t, n = {}, r) {
		if (!this.backend) return this.logger.warn("No backend was added via i18next.use. Will not load resources."), r && r();
		K(e) && (e = this.languageUtils.toResolveHierarchy(e)), K(t) && (t = [t]);
		let i = this.queueLoad(e, t, n, r);
		if (!i.toLoad.length) return i.pending.length || r(), null;
		i.toLoad.forEach((e) => {
			this.loadOne(e);
		});
	}
	load(e, t, n) {
		this.prepareLoading(e, t, {}, n);
	}
	reload(e, t, n) {
		this.prepareLoading(e, t, { reload: !0 }, n);
	}
	loadOne(e, t = "") {
		let n = e.split("|"), r = n[0], i = n[1];
		this.read(r, i, "read", void 0, void 0, (n, a) => {
			n && this.logger.warn(`${t}loading namespace ${i} for language ${r} failed`, n), !n && a && this.logger.log(`${t}loaded namespace ${i} for language ${r}`, a), this.loaded(e, n, a);
		});
	}
	saveMissing(e, t, n, r, i, a = {}, o = () => {}) {
		if (this.services?.utils?.hasLoadedNamespace && !this.services?.utils?.hasLoadedNamespace(t)) {
			this.logger.warn(`did not save key "${n}" as the namespace "${t}" was not yet loaded`, "This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!");
			return;
		}
		if (n != null && n !== "") {
			if (this.backend?.create) {
				let s = {
					...a,
					isUpdate: i
				}, c = this.backend.create.bind(this.backend);
				if (c.length < 6) try {
					let i;
					i = c.length === 5 ? c(e, t, n, r, s) : c(e, t, n, r), i && typeof i.then == "function" ? i.then((e) => o(null, e)).catch(o) : o(null, i);
				} catch (e) {
					o(e);
				}
				else c(e, t, n, r, o, s);
			}
			!e || !e[0] || this.store.addResource(e[0], t, n, r);
		}
	}
}, Of = () => ({
	debug: !1,
	initAsync: !0,
	ns: ["translation"],
	defaultNS: ["translation"],
	fallbackLng: ["dev"],
	fallbackNS: !1,
	supportedLngs: !1,
	nonExplicitSupportedLngs: !1,
	load: "all",
	preload: !1,
	keySeparator: ".",
	nsSeparator: ":",
	pluralSeparator: "_",
	contextSeparator: "_",
	enableSelector: !1,
	partialBundledLanguages: !1,
	saveMissing: !1,
	updateMissing: !1,
	saveMissingTo: "fallback",
	saveMissingPlurals: !0,
	missingKeyHandler: !1,
	missingInterpolationHandler: !1,
	postProcess: !1,
	postProcessPassResolved: !1,
	returnNull: !1,
	returnEmptyString: !0,
	returnObjects: !1,
	joinArrays: !1,
	returnedObjectHandler: !1,
	parseMissingKeyHandler: !1,
	appendNamespaceToMissingKey: !1,
	appendNamespaceToCIMode: !1,
	overloadTranslationOptionHandler: (e) => {
		let t = {};
		if (typeof e[1] == "object" && (t = e[1]), K(e[1]) && (t.defaultValue = e[1]), K(e[2]) && (t.tDescription = e[2]), typeof e[2] == "object" || typeof e[3] == "object") {
			let n = e[3] || e[2];
			Object.keys(n).forEach((e) => {
				t[e] = n[e];
			});
		}
		return t;
	},
	interpolation: {
		escapeValue: !0,
		prefix: "{{",
		suffix: "}}",
		formatSeparator: ",",
		unescapePrefix: "-",
		nestingPrefix: "$t(",
		nestingSuffix: ")",
		nestingOptionsSeparator: ",",
		maxReplaces: 1e3,
		skipOnVariables: !0
	},
	cacheInBuiltFormats: !0
}), kf = (e) => (K(e.ns) && (e.ns = [e.ns]), K(e.fallbackLng) && (e.fallbackLng = [e.fallbackLng]), K(e.fallbackNS) && (e.fallbackNS = [e.fallbackNS]), e.supportedLngs && !e.supportedLngs.includes("cimode") && (e.supportedLngs = e.supportedLngs.concat(["cimode"])), e), Af = () => {}, jf = (e) => {
	Object.getOwnPropertyNames(Object.getPrototypeOf(e)).forEach((t) => {
		typeof e[t] == "function" && (e[t] = e[t].bind(e));
	});
}, Mf = class e extends sf {
	constructor(e = {}, t) {
		if (super(), this.options = kf(e), this.services = {}, this.logger = of, this.modules = { external: [] }, jf(this), t && !this.isInitialized && !e.isClone) {
			if (!this.options.initAsync) return this.init(e, t), this;
			setTimeout(() => {
				this.init(e, t);
			}, 0);
		}
	}
	init(e = {}, t) {
		this.isInitializing = !0, typeof e == "function" && (t = e, e = {}), e.defaultNS == null && e.ns && (K(e.ns) ? e.defaultNS = e.ns : e.ns.includes("translation") || (e.defaultNS = e.ns[0]));
		let n = Of();
		this.options = {
			...n,
			...this.options,
			...kf(e)
		}, this.options.interpolation = {
			...n.interpolation,
			...this.options.interpolation
		}, e.keySeparator !== void 0 && (this.options.userDefinedKeySeparator = e.keySeparator), e.nsSeparator !== void 0 && (this.options.userDefinedNsSeparator = e.nsSeparator), typeof this.options.overloadTranslationOptionHandler != "function" && (this.options.overloadTranslationOptionHandler = n.overloadTranslationOptionHandler);
		let r = (e) => e ? typeof e == "function" ? new e() : e : null;
		if (!this.options.isClone) {
			this.modules.logger ? of.init(r(this.modules.logger), this.options) : of.init(null, this.options);
			let e;
			e = this.modules.formatter ? this.modules.formatter : Tf;
			let t = new hf(this.options);
			this.store = new cf(this.options.resources, this.options);
			let n = this.services;
			n.logger = of, n.resourceStore = this.store, n.languageUtils = t, n.pluralResolver = new vf(t, { prepend: this.options.pluralSeparator }), e && (n.formatter = r(e), n.formatter.init && n.formatter.init(n, this.options), this.options.interpolation.format = n.formatter.format.bind(n.formatter)), n.interpolator = new xf(this.options), n.utils = { hasLoadedNamespace: this.hasLoadedNamespace.bind(this) }, n.backendConnector = new Df(r(this.modules.backend), n.resourceStore, n, this.options), n.backendConnector.on("*", (e, ...t) => {
				this.emit(e, ...t);
			}), this.modules.languageDetector && (n.languageDetector = r(this.modules.languageDetector), n.languageDetector.init && n.languageDetector.init(n, this.options.detection, this.options)), this.modules.i18nFormat && (n.i18nFormat = r(this.modules.i18nFormat), n.i18nFormat.init && n.i18nFormat.init(this)), this.translator = new mf(this.services, this.options), this.translator.on("*", (e, ...t) => {
				this.emit(e, ...t);
			}), this.modules.external.forEach((e) => {
				e.init && e.init(this);
			});
		}
		if (this.format = this.options.interpolation.format, t ||= Af, this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {
			let e = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);
			e.length > 0 && e[0] !== "dev" && (this.options.lng = e[0]);
		}
		!this.services.languageDetector && !this.options.lng && this.logger.warn("init: no languageDetector is used and no lng is defined"), [
			"getResource",
			"hasResourceBundle",
			"getResourceBundle",
			"getDataByLanguage"
		].forEach((e) => {
			this[e] = (...t) => this.store[e](...t);
		}), [
			"addResource",
			"addResources",
			"addResourceBundle",
			"removeResourceBundle"
		].forEach((e) => {
			this[e] = (...t) => (this.store[e](...t), this);
		});
		let i = Ld(), a = () => {
			let e = (e, n) => {
				this.isInitializing = !1, this.isInitialized && !this.initializedStoreOnce && this.logger.warn("init: i18next is already initialized. You should call init just once!"), this.isInitialized = !0, this.options.isClone || this.logger.log("initialized", this.options), this.emit("initialized", this.options), i.resolve(n), t(e, n);
			};
			if ((this.languages || this.isLanguageChangingTo) && !this.isInitialized) return e(null, this.t.bind(this));
			this.changeLanguage(this.options.lng, e);
		};
		return this.options.resources || !this.options.initAsync ? a() : setTimeout(a, 0), i;
	}
	loadResources(e, t = Af) {
		let n = t, r = K(e) ? e : this.language;
		if (typeof e == "function" && (n = e), !this.options.resources || this.options.partialBundledLanguages) {
			if (r?.toLowerCase() === "cimode" && (!this.options.preload || this.options.preload.length === 0)) return n();
			let e = [], t = (t) => {
				t && t !== "cimode" && this.services.languageUtils.toResolveHierarchy(t).forEach((t) => {
					t !== "cimode" && (e.includes(t) || e.push(t));
				});
			};
			r ? t(r) : this.services.languageUtils.getFallbackCodes(this.options.fallbackLng).forEach((e) => t(e)), this.options.preload?.forEach?.((e) => t(e)), this.services.backendConnector.load(e, this.options.ns, (e) => {
				!e && !this.resolvedLanguage && this.language && this.setResolvedLanguage(this.language), n(e);
			});
		} else n(null);
	}
	reloadResources(e, t, n) {
		let r = Ld();
		return typeof e == "function" && (n = e, e = void 0), typeof t == "function" && (n = t, t = void 0), e ||= this.languages, t ||= this.options.ns, n ||= Af, this.services.backendConnector.reload(e, t, (e) => {
			r.resolve(), n(e);
		}), r;
	}
	use(e) {
		if (!e) throw Error("You are passing an undefined module! Please check the object you are passing to i18next.use()");
		if (!e.type) throw Error("You are passing a wrong module! Please check the object you are passing to i18next.use()");
		return e.type === "backend" && (this.modules.backend = e), (e.type === "logger" || e.log && e.warn && e.error) && (this.modules.logger = e), e.type === "languageDetector" && (this.modules.languageDetector = e), e.type === "i18nFormat" && (this.modules.i18nFormat = e), e.type === "postProcessor" && lf.addPostProcessor(e), e.type === "formatter" && (this.modules.formatter = e), e.type === "3rdParty" && this.modules.external.push(e), this;
	}
	setResolvedLanguage(e) {
		if (!(!e || !this.languages) && !["cimode", "dev"].includes(e)) {
			for (let e = 0; e < this.languages.length; e++) {
				let t = this.languages[e];
				if (!["cimode", "dev"].includes(t) && this.store.hasLanguageSomeTranslations(t)) {
					this.resolvedLanguage = t;
					break;
				}
			}
			!this.resolvedLanguage && !this.languages.includes(e) && this.store.hasLanguageSomeTranslations(e) && (this.resolvedLanguage = e, this.languages.unshift(e));
		}
	}
	changeLanguage(e, t) {
		this.isLanguageChangingTo = e;
		let n = Ld();
		this.emit("languageChanging", e);
		let r = (e) => {
			this.language = e, this.languages = this.services.languageUtils.toResolveHierarchy(e), this.resolvedLanguage = void 0, this.setResolvedLanguage(e);
		}, i = (i, a) => {
			a ? this.isLanguageChangingTo === e && (r(a), this.translator.changeLanguage(a), this.isLanguageChangingTo = void 0, this.emit("languageChanged", a), this.logger.log("languageChanged", a)) : this.isLanguageChangingTo = void 0, n.resolve((...e) => this.t(...e)), t && t(i, (...e) => this.t(...e));
		}, a = (t) => {
			!e && !t && this.services.languageDetector && (t = []);
			let n = K(t) ? t : t && t[0], a = this.store.hasLanguageSomeTranslations(n) ? n : this.services.languageUtils.getBestMatchFromCodes(K(t) ? [t] : t);
			a && (this.language || r(a), this.translator.language || this.translator.changeLanguage(a), this.services.languageDetector?.cacheUserLanguage?.(a)), this.loadResources(a, (e) => {
				i(e, a);
			});
		};
		return !e && this.services.languageDetector && !this.services.languageDetector.async ? a(this.services.languageDetector.detect()) : !e && this.services.languageDetector && this.services.languageDetector.async ? this.services.languageDetector.detect.length === 0 ? this.services.languageDetector.detect().then(a) : this.services.languageDetector.detect(a) : a(e), n;
	}
	getFixedT(e, t, n, r) {
		let i = r?.scopeNs, a = (e, t, ...r) => {
			let o;
			o = typeof t == "object" ? { ...t } : this.options.overloadTranslationOptionHandler([e, t].concat(r)), o.lng = o.lng || a.lng, o.lngs = o.lngs || a.lngs;
			let s = o.ns !== void 0 && o.ns !== null;
			o.ns = o.ns || a.ns, o.keyPrefix !== "" && (o.keyPrefix = o.keyPrefix || n || a.keyPrefix);
			let c = {
				...this.options,
				...o
			};
			Array.isArray(i) && !s && (c.ns = i), typeof o.keyPrefix == "function" && (o.keyPrefix = ff(o.keyPrefix, c));
			let l = this.options.keySeparator || ".", u;
			return o.keyPrefix && Array.isArray(e) ? u = e.map((e) => (typeof e == "function" && (e = ff(e, c)), `${o.keyPrefix}${l}${e}`)) : (typeof e == "function" && (e = ff(e, c)), u = o.keyPrefix ? `${o.keyPrefix}${l}${e}` : e), this.t(u, o);
		};
		return K(e) ? a.lng = e : a.lngs = e, a.ns = t, a.keyPrefix = n, a;
	}
	t(...e) {
		return this.translator?.translate(...e);
	}
	exists(...e) {
		return this.translator?.exists(...e);
	}
	setDefaultNamespace(e) {
		this.options.defaultNS = e;
	}
	hasLoadedNamespace(e, t = {}) {
		if (!this.isInitialized) return this.logger.warn("hasLoadedNamespace: i18next was not initialized", this.languages), !1;
		if (!this.languages || !this.languages.length) return this.logger.warn("hasLoadedNamespace: i18n.languages were undefined or empty", this.languages), !1;
		let n = t.lng || this.resolvedLanguage || this.languages[0], r = this.options ? this.options.fallbackLng : !1, i = this.languages[this.languages.length - 1];
		if (n.toLowerCase() === "cimode") return !0;
		let a = (e, t) => {
			let n = this.services.backendConnector.state[`${e}|${t}`];
			return n === -1 || n === 0 || n === 2;
		};
		if (t.precheck) {
			let e = t.precheck(this, a);
			if (e !== void 0) return e;
		}
		return !!(this.hasResourceBundle(n, e) || !this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages || a(n, e) && (!r || a(i, e)));
	}
	loadNamespaces(e, t) {
		let n = Ld();
		return this.options.ns ? (K(e) && (e = [e]), e.forEach((e) => {
			this.options.ns.includes(e) || this.options.ns.push(e);
		}), this.loadResources((e) => {
			n.resolve(), t && t(e);
		}), n) : (t && t(), Promise.resolve());
	}
	loadLanguages(e, t) {
		let n = Ld();
		K(e) && (e = [e]);
		let r = this.options.preload || [], i = e.filter((e) => !r.includes(e) && this.services.languageUtils.isSupportedCode(e));
		return i.length ? (this.options.preload = r.concat(i), this.loadResources((e) => {
			n.resolve(), t && t(e);
		}), n) : (t && t(), Promise.resolve());
	}
	dir(e) {
		if (e ||= this.resolvedLanguage || (this.languages?.length > 0 ? this.languages[0] : this.language), !e) return "rtl";
		try {
			let t = new Intl.Locale(e);
			if (t && t.getTextInfo) {
				let e = t.getTextInfo();
				if (e && e.direction) return e.direction;
			}
		} catch {}
		let t = /* @__PURE__ */ "ar.shu.sqr.ssh.xaa.yhd.yud.aao.abh.abv.acm.acq.acw.acx.acy.adf.ads.aeb.aec.afb.ajp.apc.apd.arb.arq.ars.ary.arz.auz.avl.ayh.ayl.ayn.ayp.bbz.pga.he.iw.ps.pbt.pbu.pst.prp.prd.ug.ur.ydd.yds.yih.ji.yi.hbo.men.xmn.fa.jpr.peo.pes.prs.dv.sam.ckb".split("."), n = this.services?.languageUtils || new hf(Of());
		return e.toLowerCase().indexOf("-latn") > 1 ? "ltr" : t.includes(n.getLanguagePartFromCode(e)) || e.toLowerCase().indexOf("-arab") > 1 ? "rtl" : "ltr";
	}
	static createInstance(t = {}, n) {
		let r = new e(t, n);
		return r.createInstance = e.createInstance, r;
	}
	cloneInstance(t = {}, n = Af) {
		let r = t.forkResourceStore;
		r && delete t.forkResourceStore;
		let i = {
			...this.options,
			...t,
			isClone: !0
		}, a = new e(i);
		if ((t.debug !== void 0 || t.prefix !== void 0) && (a.logger = a.logger.clone(t)), [
			"store",
			"services",
			"language"
		].forEach((e) => {
			a[e] = this[e];
		}), a.services = { ...this.services }, a.services.utils = { hasLoadedNamespace: a.hasLoadedNamespace.bind(a) }, r && (a.store = new cf(Object.keys(this.store.data).reduce((e, t) => (e[t] = { ...this.store.data[t] }, e[t] = Object.keys(e[t]).reduce((n, r) => (n[r] = { ...e[t][r] }, n), e[t]), e), {}), i), a.services.resourceStore = a.store), t.interpolation) {
			let e = {
				...Of().interpolation,
				...this.options.interpolation,
				...t.interpolation
			}, n = {
				...i,
				interpolation: e
			};
			a.services.interpolator = new xf(n);
		}
		return a.translator = new mf(a.services, i), a.translator.on("*", (e, ...t) => {
			a.emit(e, ...t);
		}), a.init(i, n), a.translator.options = i, a.translator.backendConnector.services.utils = { hasLoadedNamespace: a.hasLoadedNamespace.bind(a) }, a;
	}
	toJSON() {
		return {
			options: this.options,
			store: this.store,
			language: this.language,
			languages: this.languages,
			resolvedLanguage: this.resolvedLanguage
		};
	}
}.createInstance(), Nf = Mf.createInstance;
Mf.dir, Mf.init, Mf.loadResources, Mf.reloadResources, Mf.use, Mf.changeLanguage, Mf.getFixedT, Mf.t, Mf.exists, Mf.setDefaultNamespace, Mf.hasLoadedNamespace, Mf.loadNamespaces, Mf.loadLanguages;
var Pf = { translation: {
	aboutThisItem: "عن هذا العنصر",
	addedFromUrl: "(تمت إضافته من الرابط)",
	addManifestUrl: "موقع المصدر",
	addManifestUrlHelp: "الرابط لمصدر IIIF ",
	addResource: "اضف مصدر",
	"annotationCanvasLabel_1/1": "العنصر: [{{الملصق}}]",
	"annotationCanvasLabel_1/2": "يسار: [{{الملصق }}]",
	"annotationCanvasLabel_2/2": "يمين: [{{الملصق}}]",
	annotations: "ملاحظات",
	attribution: "إسناد",
	attributionTitle: "حقوق",
	authenticationFailed: "التوثيق لم ينجح",
	authenticationRequired: "يجب توثيق الحساب لمنح الدخول الكامل",
	backToResults: "الرجوع الى النتائج",
	book: "كتاب",
	bottom: "أسفل",
	cancel: "الغاء",
	canvasIndex: "فهرس",
	changeTheme: "قم بتغيير الموضوع",
	clearSearch: "امسح",
	closeAddResourceForm: "إغلاق الإستمارة",
	closeAddResourceMenu: "إغلاق قائمة المصادر",
	closeCompanionWindow: "إغلاق اللوحة",
	closeWindow: "إغلاق النافذة",
	collapseSection: "تصغير جزء {{section}}",
	collapseSidePanel: "تصغير الشريط الجانبي",
	continue: "استمر",
	copy: "نسخ",
	currentItem: "العنصر الحالي",
	"currentItem_1/1": "العنصر الحالي",
	"currentItem_1/2": "يسار",
	"currentItem_2/2": "يمين",
	dark: "موضوع داكن",
	dismiss: "تجاهل",
	downloadExport: "تصدير مساحة العمل",
	downloadExportWorkspace: "تصدير مساحة العمل",
	elastic: "مرن",
	elasticDescription: "حرك النوافذ و غير حجمها بحرية في مساحة عمل غير محدودة. يمكن أن تتداخل النوافذ أيضاً .",
	emptyResourceList: "قائمة المصادر الخاصة بك فارغة.",
	errorDialogConfirm: "حسناً",
	errorDialogTitle: "لقد حدث خطأ",
	exitFullScreen: "خروج من الشاشة الكاملة",
	expandSection: "توسيع الجزء {{section}}",
	expandSidePanel: "توسيع الشريط الجانبي",
	fetchManifest: "أضف",
	fullScreen: "شاشة كاملة",
	gallery: "المعرض",
	hideZoomControls: "إخفاء ضوابط التكبير",
	highlightAllAnnotations: "تحديد الكل",
	iiif_homepage: "عن هذه المصدر",
	iiif_manifest: "IIIF قائمة ",
	iiif_renderings: "تنسيقات بديلة",
	iiif_seeAlso: "أنظر أيضا",
	import: "استورد ",
	importWorkspace: "استيراد مساحة العمل",
	importWorkspaceHint: "قم بلصق تركيبة Mirador 4 ليتم استيراده",
	item: "العنصر: {{label}}",
	itemList: "قائمة العناصر",
	language: "اللغة",
	layer_hide: "إخفاء الطبقة",
	layer_move: "تحريك الطبقة",
	layer_opacity: "تعتيم الطبقة",
	layer_show: "إظهار الطبقة",
	layers: "طبقات",
	light: "موضوع فاتح",
	links: "الروابط",
	listAllOpenWindows: "انتقل بسرعة للنافذة",
	login: "تسجيل الدخول",
	logout: "تسجيل الخروج",
	manifestError: "لا يمكن إضافة المصدر:",
	maximizeWindow: "تكبير النافذة إلى الحد الاكبر",
	minimizeWindow: "تصغير النافذة إلى الحد الأدنى",
	mirador: "Mirador",
	miradorResources: "مصادر Mirador ",
	miradorViewer: "مشاهد Mirador",
	more: "أكثر...",
	moreResults: "نتائج إضافية",
	mosaic: "فسيفساء",
	mosaicDescription: "حرك وغيٌر حجم النوافذ المتعلقة ببعضها البعض داخل الإطار المرئي.",
	moveCompanionWindowToBottom: "انتقل للأسفل",
	moveCompanionWindowToRight: "انتقل لليمين",
	nextCanvas: "العنصر التالي",
	numItems_one: "{{number}} عناصر",
	off: "ايقاف",
	openCompanionWindow_annotations: "ملاحظات",
	openCompanionWindow_attribution: "حقوق",
	openCompanionWindow_canvas: "فهرس",
	openCompanionWindow_info: "معلومات",
	openCompanionWindow_layers: "طبقات",
	openCompanionWindow_search: "بحث",
	openInCompanionWindow: "افتح في صفحة جديدة",
	openWindows: "النوافذ الحالية المفتوحة",
	pagination: "{{current}} من {{total}}",
	position: "مركز",
	previewWindowTitle: "عنوان",
	previousCanvas: "العنصر السابق",
	related: "ذات صلة",
	resource: "مصدر",
	retry: "أعد المحاولة ",
	right: "حق",
	rights: "ترخيص",
	searchInputLabel: "مصطلحات البحث",
	searchNextResult: "النتيجة التالية",
	searchNoResults: "لم يتم العثور على نتائج",
	searchPreviousResult: "النتيجة السابقة",
	searchSubmitAria: "ابحث",
	searchTitle: "بحث",
	selectWorkspaceMenu: "اختر نوع مساحة العمل",
	showingNumAnnotations_one: "تظهر {{number}} ملاحظات",
	showZoomControls: "اظهر عناصر التحكم بالتكبير و التصغير",
	sidebarPanelsNavigation: "تصفح لوح الشريط الجانبي",
	single: "مفرد",
	startHere: "إبدأ هنا",
	suggestSearch: "ابحث في هذا المستند عن  \"{{ query }}\"",
	tableOfContentsList: "جدول المحتويات",
	theme: "موضوع",
	thumbnailList: "قائمة الصور المصغرة",
	thumbnailNavigation: "الصور المصغرة",
	thumbnails: "الصور المصغرة",
	toggleWindowSideBar: "تبديل الشريط الجانبي",
	tryAgain: "حاول مرة أخرى",
	untitled: "[بدون عنوان]",
	view: "شاهد",
	welcome: "مرحباً بكم في Mirador",
	window: "النافذة:  {{label}}",
	windowMenu: "عرض النوافذ و الصور المصغرة",
	windowNavigation: "تصفح النافذة",
	windowPluginButtons: "خيارات",
	windowPluginMenu: "خيارات النافذة",
	workspace: "مساحة العمل",
	workspaceFullScreen: "شاشة كاملة",
	workspaceMenu: "اعدادات مساحة العمل",
	workspaceOptions: "خيارات مساحة العمل ",
	workspaceSelectionTitle: "اختر نوع مساحة العمل",
	zoomIn: "تكبير الصورة",
	zoomOut: "تصغير الصورة",
	zoomReset: "الرجوع لحجم الصورة الأساسي"
} }, Ff = { translation: {
	aboutMirador: "Über Mirador",
	aboutThisItem: "Über dieses Element",
	addedFromUrl: "(Via URL hinzugefügt)",
	addManifestUrl: "Ort der Ressource",
	addManifestUrlHelp: "Die URL einer IIIF-Ressource",
	addResource: "Ressource hinzufügen",
	"annotationCanvasLabel_1/1": "Objekt: [{{label}}]",
	"annotationCanvasLabel_1/2": "Links: [{{label}}]",
	"annotationCanvasLabel_2/2": "Rechts: [{{label}}]",
	annotations: "Annotationen",
	attribution: "Zuschreibung",
	attributionTitle: "Rechte",
	authenticationFailed: "Authentifizierung fehlgeschlagen",
	authenticationRequired: "Für vollen Zugriff ist eine Authentifizierung nötig.",
	backToResults: "Zurück zur Trefferansicht",
	book: "Buch",
	bottom: "Unten",
	cancel: "Abbrechen",
	canvasIndex: "Index",
	changeTheme: "Farbschema ändern",
	clearSearch: "zurücksetzen",
	clearSearchAria: "Suche zurücksetzen",
	close: "Schließen",
	closeAddResourceForm: "Formular schließen",
	closeAddResourceMenu: "Ressourcenliste schließen",
	closeCompanionWindow: "Hilfsfenster schließen",
	closeWindow: "Fenster schließen",
	collapseSection: "Bereich \"{{section}}\" zuklappen",
	collapseSidePanel: "Seitenleiste zuklappen",
	collection: "Sammlung",
	continue: "Fortfahren",
	copy: "Kopieren",
	currentItem: "Aktuelles Objekt",
	"currentItem_1/1": "Aktuelles Objekt",
	"currentItem_1/2": "Links",
	"currentItem_2/2": "Rechts",
	dark: "Dunkel",
	digitizedView: "Digitalisat-Ansicht",
	dismiss: "Verwerfen",
	displayNoAnnotations: "Keine hervorheben",
	downloadExport: "Arbeitsfläche exportieren",
	downloadExportWorkspace: "Arbeitsfläche exportieren",
	elastic: "Elastisch",
	elasticDescription: "Fenster können frei und unbegrenzt innerhalb der Arbeitsfläche bewegt werden und sich überlappen",
	emptyResourceList: "Ihre Ressourcenliste ist leer",
	error: "Fehler",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Es ist ein Fehler aufgetreten",
	exitFullScreen: "Vollbildmodus verlassen",
	expandSection: "Bereich \"{{section}}\" aufklappen",
	expandSidePanel: "Seitenleiste aufklappen",
	exportCopied: "Die Konfiguration der Arbeitsfläche wurde in die Zwischenablage kopiert.",
	fetchManifest: "Hinzufügen",
	fullScreen: "Vollbild",
	gallery: "Galerie",
	hideWindowSideBar: "Seitenleiste ausblenden",
	hideZoomControls: "Zoomsteuerung verbergen",
	highlightAllAnnotations: "Alle hervorheben",
	iiif_homepage: "Über diese Ressource",
	iiif_manifest: "IIIF-Manifest",
	iiif_related: "Verwandtes",
	iiif_renderings: "Alternative Formate",
	iiif_seeAlso: "Siehe auch",
	import: "Importieren",
	importWorkspace: "Arbeitsfläche importieren",
	importWorkspaceHint: "Fügen Sie eine Mirador-3-Konfiguration ein, die importiert werden soll.",
	item: "Objekt: {{label}}",
	itemList: "Kompaktliste",
	jsError: "Technische Details",
	jsStack: "{{ stack }}",
	language: "Sprache",
	layer_hide: "Ebene verbergen",
	layer_move: "Ebene verschieben",
	layer_moveToBackground: "Ebene in der Hintergrund verschieben",
	layer_moveToFront: "Ebene ganz nach vorn bringen",
	layer_opacity: "Ebenendeckkraft",
	layer_show: "Ebene anzeigen",
	layers: "Ebenen",
	light: "Hell",
	links: "Links",
	listAllOpenWindows: "Zu Fenster springen",
	login: "Anmelden",
	logout: "Abmelden",
	manifestError: "Die Ressource konnte nicht hinzugefügt werden:",
	maximizeWindow: "Fenster maximieren",
	minimizeWindow: "Fenster minimieren",
	mirador: "Mirador",
	miradorResources: "Mirador-Ressourcen",
	miradorViewer: "Mirador viewer",
	more: "mehr...",
	moreResults: "Mehr Treffer",
	mosaic: "Mosaik",
	mosaicDescription: "Fenster können innerhalb der Arbeitsfläche in Relation zueinander verschoben und ihrer Größe verändert werden.",
	moveCompanionWindowToBottom: "Unten anordnen",
	moveCompanionWindowToRight: "Rechts anordnen",
	multipartCollection: "Mehrteilige Sammlung",
	nextCanvas: "Nächstes Objekt",
	noItemSelected: "Kein Objekt ausgewählt",
	numItems_one: "{{number}} Element",
	numItems_other: "{{number}} Elemente",
	off: "Keine",
	openCompanionWindow_annotations: "Annotationen",
	openCompanionWindow_attribution: "Rechte",
	openCompanionWindow_canvas: "Index",
	openCompanionWindow_info: "Informationen",
	openCompanionWindow_layers: "Ebenen",
	openCompanionWindow_search: "Suche",
	openInCompanionWindow: "In Hilfsfenster öffnen",
	openWindows: "Aktuell offene Fenster",
	pagination: "{{current}} von {{total}}",
	position: "Position",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Vorheriges Objekt",
	related: "Verwandtes",
	resource: "Ressource",
	retry: "Erneut versuchen",
	right: "Rechts",
	rights: "Lizenz",
	scroll: "Kontinuierlich",
	searchInputLabel: "Suchbegriffe",
	searchNextResult: "Nächster Treffer",
	searchNoResults: "Keine Treffer",
	searchPreviousResult: "Vorheriger Treffer",
	searchResultsRemaining: "{{numLeft}} weitere",
	searchSubmitAria: "Suche im Dokument",
	searchTitle: "Suche",
	selectWorkspaceMenu: "Wählen Sie einen Arbeitsflächentyp",
	showCollection: "Zeige Sammlung",
	showingNumAnnotations_one: "{{number}} Annotation wird angezeigt",
	showingNumAnnotations_other: "{{number}} Annotationen werden angezeigt",
	showWindowSideBar: "Seitenleiste einblenden",
	showZoomControls: "Zoomsteuerung anzeigen",
	sidebarPanelsNavigation: "Hilfsfensternavigation",
	single: "Einzeln",
	startHere: "Hier starten",
	suggestSearch: "Dieses Dokument durchsuchen nach \"{{ query }}\"",
	tableOfContentsList: "Inhaltsverzeichnis",
	theme: "Farbschema",
	thumbnailList: "Miniaturansicht",
	thumbnailNavigation: "Miniaturansicht",
	thumbnails: "Miniaturansicht",
	toggleWindowSideBar: "Seitenleiste umschalten",
	totalCollections_one: "{{count}} Sammlung",
	totalCollections_other: "{{count}} Sammlungen",
	totalManifests_one: "{{count}} Manifest",
	totalManifests_other: "{{count}} Manifeste",
	tryAgain: "Wiederholen",
	untitled: "[Unbenannt]",
	view: "Ansicht",
	viewWorkspaceConfiguration: "Zeige Konfiguration der Arbeitsfläche",
	welcome: "Willkommen bei Mirador",
	window: "Fenster: {{label}}",
	windowMenu: "Fenstermenü und Miniaturansicht",
	windowNavigation: "Fensternavigation",
	windowPluginButtons: "Optionen",
	windowPluginMenu: "Fensteroptionen",
	workspace: "Arbeitsfläche",
	workspaceFullScreen: "Vollbild",
	workspaceMenu: "Arbeitsflächenmenü",
	workspaceNavigation: "Arbeitsflächensteuerung",
	workspaceOptions: "Arbeitsflächenoptionen",
	workspaceSelectionTitle: "Bitte wählen Sie einen Arbeitsflächentyp",
	zoomIn: "Vergrößern",
	zoomOut: "Verkleinern",
	zoomReset: "Ansicht zurücksetzen"
} }, If = { translation: {
	aboutMirador: "About Project Mirador",
	aboutThisItem: "About this item",
	addedFromUrl: "(Added from URL)",
	addManifestUrl: "Resource location",
	addManifestUrlHelp: "The URL of a IIIF resource",
	addResource: "Add resource",
	"annotationCanvasLabel_1/1": "Item: [{{label}}]",
	"annotationCanvasLabel_1/2": "Left: [{{label}}]",
	"annotationCanvasLabel_2/2": "Right: [{{label}}]",
	annotations: "Annotations",
	attribution: "Attribution",
	attributionTitle: "Rights",
	authenticationFailed: "Authentication failed.",
	authenticationRequired: "Authentication required for full access",
	backToResults: "Back to results",
	book: "Book",
	bottom: "Bottom",
	cancel: "Cancel",
	canvasIndex: "Index",
	changeTheme: "Change theme",
	clearSearch: "clear",
	clearSearchAria: "Reset search",
	close: "Close",
	closeAddResourceForm: "Close form",
	closeAddResourceMenu: "Close resource list",
	closeCompanionWindow: "Close panel",
	closeWindow: "Close window",
	collapseSection: "Collapse \"{{section}}\" section",
	collapseSidePanel: "Collapse sidebar",
	collection: "Collection",
	continue: "Continue",
	copy: "Copy",
	currentItem: "Current item",
	"currentItem_1/1": "Current item",
	"currentItem_1/2": "Left",
	"currentItem_2/2": "Right",
	dark: "Dark theme",
	digitizedView: "Digitized view",
	dismiss: "Dismiss",
	displayNoAnnotations: "Highlight none",
	downloadExport: "Export workspace",
	downloadExportWorkspace: "Export workspace",
	elastic: "Elastic",
	elasticDescription: "Move and size windows freely in an unlimited workspace. Windows can overlap.",
	emptyResourceList: "Your resource list is empty",
	error: "Error",
	errorDialogConfirm: "OK",
	errorDialogTitle: "An error occurred",
	exitFullScreen: "Exit full screen",
	expandSection: "Expand \"{{section}}\" section",
	expandSidePanel: "Expand sidebar",
	exportCopied: "The workspace configuration was copied to your clipboard",
	fetchManifest: "Add",
	fullScreen: "Full Screen",
	gallery: "Gallery",
	hideWindowSideBar: "Hide sidebar",
	hideZoomControls: "Hide zoom controls",
	highlightAllAnnotations: "Highlight all",
	iiif_homepage: "About this resource",
	iiif_manifest: "IIIF manifest",
	iiif_related: "Related",
	iiif_renderings: "Alternate formats",
	iiif_seeAlso: "See also",
	imageFailedToLoad: "Problem loading image. See console for details.",
	import: "Import",
	importWorkspace: "Import workspace",
	importWorkspaceHint: "Paste a Mirador 4 configuration to be imported",
	item: "Item: {{label}}",
	itemList: "Item list",
	jsError: "Technical details",
	jsStack: "{{ stack }}",
	language: "Language",
	layer_hide: "Hide layer",
	layer_move: "Move layer",
	layer_moveToBackground: "Move layer to background",
	layer_moveToFront: "Move layer to front",
	layer_opacity: "Layer opacity",
	layer_show: "Show layer",
	layers: "Layers",
	light: "Light theme",
	links: "Links",
	listAllOpenWindows: "Jump to window",
	login: "Log in",
	logout: "Log out",
	manifestError: "The resource cannot be added:",
	maximizeWindow: "Maximize window",
	minimizeWindow: "Minimize window",
	mirador: "Mirador",
	miradorResources: "Mirador resources",
	miradorViewer: "Mirador viewer",
	more: "more...",
	moreResults: "More results",
	mosaic: "Mosaic",
	mosaicDescription: "Move and size windows in relation to each other, within the visible frame.",
	moveCompanionWindowToBottom: "Move to bottom",
	moveCompanionWindowToRight: "Move to right",
	multipartCollection: "Multipart Collection",
	nextCanvas: "Next item",
	noItemSelected: "No item selected",
	numItems_one: "{{number}} item",
	numItems_other: "{{number}} items",
	off: "Off",
	openCompanionWindow_annotations: "Annotations",
	openCompanionWindow_attribution: "Rights",
	openCompanionWindow_canvas: "Index",
	openCompanionWindow_info: "Information",
	openCompanionWindow_layers: "Layers",
	openCompanionWindow_search: "Search",
	openInCompanionWindow: "Open in separate panel",
	openWindows: "Current open windows",
	pagination: "{{current}} of {{total}}",
	position: "Position",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Previous item",
	related: "Related",
	resource: "Resource",
	retry: "Retry",
	right: "Right",
	rights: "License",
	scroll: "Scroll",
	searchInputLabel: "search terms",
	searchNextResult: "Next result",
	searchNoResults: "No results found",
	searchPreviousResult: "Previous result",
	searchResultsRemaining: "{{numLeft}} remaining",
	searchSubmitAria: "Search in the document",
	searchTitle: "Search",
	selectWorkspaceMenu: "Select workspace type",
	showCollection: "Show collection",
	showingNumAnnotations_one: "Showing {{number}} annotation",
	showingNumAnnotations_other: "Showing {{number}} annotations",
	showWindowSideBar: "Show sidebar",
	showZoomControls: "Show zoom controls",
	sidebarPanelsNavigation: "Sidebar panels navigation",
	single: "Single",
	startHere: "Start Here",
	suggestSearch: "Search this document for \"{{ query }}\"",
	tableOfContentsList: "Table of contents",
	theme: "Theme",
	thumbnailList: "Thumbnail list",
	thumbnailNavigation: "Thumbnails",
	thumbnails: "Thumbnails",
	toggleWindowSideBar: "Toggle sidebar",
	totalCollections_one: "{{count}} collection",
	totalCollections_other: "{{count}} collections",
	totalManifests_one: "{{count}} manifest",
	totalManifests_other: "{{count}} manifests",
	tryAgain: "Try again",
	untitled: "[Untitled]",
	view: "View",
	viewWorkspaceConfiguration: "View workspace configuration",
	welcome: "Welcome to Mirador",
	window: "Window: {{label}}",
	windowMenu: "Window views & thumbnail display",
	windowNavigation: "Window navigation",
	windowPluginButtons: "Options",
	windowPluginMenu: "Window options",
	workspace: "Workspace",
	workspaceFullScreen: "Full screen",
	workspaceMenu: "Workspace settings",
	workspaceNavigation: "Workspace navigation",
	workspaceOptions: "Workspace options",
	workspaceSelectionTitle: "Select a workspace type",
	zoomIn: "Zoom in",
	zoomOut: "Zoom out",
	zoomReset: "Reset zoom"
} }, Lf = { translation: {
	aboutMirador: "Projekti Mirador kohta",
	aboutThisItem: "Teave teose kohta",
	addedFromUrl: "(Lisatud URL-ist)",
	addManifestUrl: "Teose asukoht",
	addManifestUrlHelp: "IIIF manifesti URL",
	addResource: "Lisa teos",
	"annotationCanvasLabel_1/1": "Teos: [{{label}}]",
	"annotationCanvasLabel_1/2": "Vasak: [{{label}}]",
	"annotationCanvasLabel_2/2": "Parem: [{{label}}]",
	annotations: "Annotatsioonid",
	attribution: "Omistus",
	attributionTitle: "Kasutusõigused",
	authenticationFailed: "Autentimine ebaõnnestus",
	authenticationRequired: "Juurdepääsu saamiseks on vajalik autentimine.",
	backToResults: "Tagasi tulemustele",
	book: "Raamat",
	bottom: "All",
	cancel: "Katkesta",
	canvasIndex: "Indeks",
	changeTheme: "Muuda teema",
	clearSearch: "Puhasta",
	close: "Sulge",
	closeAddResourceForm: "Sulge vorm",
	closeAddResourceMenu: "Sulge teoste loend",
	closeCompanionWindow: "Sulge paneel",
	closeWindow: "Sulge aken",
	collapseSection: "Sulge \"{{section}}\"",
	collapseSidePanel: "Sulge külgpaneel",
	collection: "Kollektsioon",
	continue: "Jätka",
	copy: "Kopeeri",
	currentItem: "Kuvatav lõuend",
	"currentItem_1/1": "Pealkiri",
	"currentItem_1/2": "Vasak",
	"currentItem_2/2": "Parem",
	dark: "Tume teema",
	digitizedView: "Digiteeritud vaade",
	dismiss: "Vabasta",
	displayNoAnnotations: "Ära kuva annotatsioone",
	downloadExport: "Ekspordi tööruum",
	downloadExportWorkspace: "Ekspordi tööruum",
	elastic: "Paindlik vaade",
	elasticDescription: "Saad akende suurust muuta ja neid vabalt tööruumis ringi liigutada.",
	emptyResourceList: "Teoste loend on tühi",
	error: "Viga",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Esines viga",
	exitFullScreen: "Lähtesta",
	expandSection: "Ava \"{{section}}\"",
	expandSidePanel: "Ava külgpaneel",
	exportCopied: "Tööruumi seadustused kopeeriti lõikepuhvrisse.",
	fetchManifest: "Lisa",
	fullScreen: "Täisekraan",
	gallery: "Galerii",
	hideZoomControls: "Peida suurendamisnupud",
	highlightAllAnnotations: "Kuva kõik annotatsioonid",
	iiif_homepage: "Teave teose kohta",
	iiif_manifest: "IIIF manifest",
	iiif_related: "Seotud",
	iiif_renderings: "Alternatiivsed vormingud",
	iiif_seeAlso: "Vaata ka",
	import: "Impordi",
	importWorkspace: "Impordi tööruum",
	importWorkspaceHint: "Kleebi imporditava tööruumi seadistused.",
	item: "Lõuend: {{label}}",
	itemList: "Lõuendite loetelu",
	jsError: "Tehnilised üksikasjad",
	jsStack: "{{ stack }}",
	language: "Keel",
	layer_hide: "Peida kiht",
	layer_move: "Liiguta kihti",
	layer_opacity: "Kihi läbipaistvus",
	layer_show: "Näita kihti",
	layers: "Kihid",
	light: "Hele teema",
	links: "Lingid",
	listAllOpenWindows: "Vali aken",
	login: "Logi sisse",
	logout: "Logi välja",
	manifestError: "Ei ole võimalik lisada soovitud teost:",
	maximizeWindow: "Suurenda akent",
	minimizeWindow: "Vähenda akent",
	mirador: "Mirador",
	miradorResources: "Miradori teoste loetelu",
	miradorViewer: "Miradori vaatur",
	more: "rohkem...",
	moreResults: "Veel tulemusi",
	mosaic: "Mosaiik",
	mosaicDescription: "Muuda töölaua akende suurust ja liiguta neid üksteise suhtes.",
	moveCompanionWindowToBottom: "Liiguta alla",
	moveCompanionWindowToRight: "Liiguta paremale",
	multipartCollection: "Mitmeosaline kollektsioon",
	nextCanvas: "Järgmine lõuend",
	noItemSelected: "Ühtegi lõuendit pole valitud.",
	numItems_one: "{{number}} lõuend",
	numItems_other: "{{number}} lõuendit",
	off: "Väljas",
	openCompanionWindow_annotations: "Annotatsioonid",
	openCompanionWindow_attribution: "Kasutusõigused",
	openCompanionWindow_canvas: "Struktuur",
	openCompanionWindow_info: "Teave",
	openCompanionWindow_layers: "Kihid",
	openCompanionWindow_search: "Otsing",
	openInCompanionWindow: "Ava eraldi paneelis",
	openWindows: "Hetkel avatud aknad",
	pagination: "{{current}} / {{total}}",
	position: "Asukoht",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Eelmine lõuend",
	related: "Seotud",
	resource: "Teos",
	retry: "Proovi uuesti",
	right: "Parem",
	rights: "Kasutuslitsents",
	scroll: "Keri",
	searchInputLabel: "otsinguterminid",
	searchNextResult: "Järgmine tulemus",
	searchNoResults: "Tulemusi ei leitud",
	searchPreviousResult: "Eelmine tulemus",
	searchResultsRemaining: "{{numLeft}} alles",
	searchSubmitAria: "Otsi",
	searchTitle: "Otsi",
	selectWorkspaceMenu: "Vali tööruumi tüüp",
	showCollection: "Näita kollektsiooni",
	showingNumAnnotations_one: "Näitan {{number}} annotatsiooni",
	showingNumAnnotations_other: "Näitan {{number}} annotatsiooni",
	showZoomControls: "Näita suurendamisnuppe",
	sidebarPanelsNavigation: "Külgpaneelide navigeerimine",
	single: "Üksik",
	startHere: "Alusta siit",
	suggestSearch: "Otsi sellest dokumendist \"{{ query }}\"",
	tableOfContentsList: "Sisukord",
	theme: "Teema",
	thumbnailList: "Pisipiltide loend",
	thumbnailNavigation: "Pisipildid",
	thumbnails: "Pisipildid",
	toggleWindowSideBar: "külgpaneel",
	totalCollections_one: "{{count}} kollektsioon",
	totalCollections_other: "{{count}} kollektsiooni",
	totalManifests_one: "{{count}} manifest",
	totalManifests_other: "{{count}} manifesti",
	tryAgain: "Proovi uuesti",
	untitled: "[Pealkiri puudub]",
	view: "Vaade",
	viewWorkspaceConfiguration: "Vaata tööruumi seadistusi",
	welcome: "Tere tulemast Miradori",
	window: "Aken: {{label}}",
	windowMenu: "Akna vaated ja pisipiltide kuvamine",
	windowNavigation: "Akna navigeerimine",
	windowPluginButtons: "Suvandid",
	windowPluginMenu: "Akna suvandid",
	workspace: "Tööruum",
	workspaceFullScreen: "Täisekraan",
	workspaceMenu: "Tööruumi sätted",
	workspaceNavigation: "Tööruumi navigeerimine",
	workspaceOptions: "Tööruumi valikud",
	workspaceSelectionTitle: "Vali tööruumi tüüp",
	zoomIn: "Suurenda sisse",
	zoomOut: "Suurenda välja",
	zoomReset: "Lähtesta suurendus"
} }, Rf = { translation: {
	aboutMirador: "در بارهٔ پروژه Mirador",
	aboutThisItem: "در بارهٔ این مورد",
	addedFromUrl: "(از آدرس اینترنتی ازافه شده)",
	addManifestUrl: "مکان منبع",
	addManifestUrlHelp: "آدرس اینترنتی منبع IIIF ",
	addResource: "منبع را ازافه کن",
	"annotationCanvasLabel_1/1": "مورد: [{{label}}]",
	"annotationCanvasLabel_1/2": "چپ: [{{label}}]",
	"annotationCanvasLabel_2/2": "راست: [{{label}}]",
	annotations: "حاشیه نویسی ها",
	attribution: "نسبت دادن",
	attributionTitle: "حقوق",
	authenticationFailed: "تصدیق هویت ناموفق بود.",
	authenticationRequired: "برای دسترسی کامل نیاز به احراز هویت",
	backToResults: "بازگشت به نتایج",
	book: "کتاب",
	bottom: "پایان",
	cancel: "لغو",
	canvasIndex: "فهرست راهنما",
	changeTheme: "تغیر زمینه",
	clearSearch: "پاک کن",
	close: "ببند",
	closeAddResourceForm: "پرسش‌نامه‌ را ببند",
	closeAddResourceMenu: "فهرست منابع را ببند",
	closeCompanionWindow: "پانل را ببند",
	closeWindow: "پنجره را ببند",
	collapseSection: "بخش \"{{section}}\" را کوچک کنید",
	collapseSidePanel: "نوار کناری را کوچک کن",
	collection: "مجموعه",
	continue: "ادامه",
	copy: "کپی",
	currentItem: "مورد فعلی",
	"currentItem_1/1": "مورد فعلی",
	"currentItem_1/2": "چپ",
	"currentItem_2/2": "راست",
	dark: "زمینه تاریک",
	digitizedView: "نمای دیجیتالی شده",
	dismiss: "مرخص کن",
	displayNoAnnotations: "هیچ کدام را برجسته نکنید",
	downloadExport: "صدور فضای کاری",
	downloadExportWorkspace: "صدور فضای کاری",
	elastic: "کشدار",
	elasticDescription: "پنجره ها را آزادانه در یک فضای کاری نامحدود حرکت دهید و اندازه کنید. پنجره ها می تواند همپوشانی داشته باشند.",
	emptyResourceList: "فهرست منابع شما خالی است",
	error: "خطا",
	errorDialogConfirm: "OK",
	errorDialogTitle: "خطایی اتفاق افتاد",
	exitFullScreen: "خروج از تمام صفحه",
	expandSection: "بخش \"{{section}}\" را باز کنید",
	expandSidePanel: "نوار کناری را باز کن",
	exportCopied: "پیکربندی فضای کاری در کلیپ بورد شما کپی شد",
	fetchManifest: "اضافه کن",
	fullScreen: "تمام صفحه",
	gallery: "آلبوم عکس",
	hideZoomControls: "کنترل های بزرگنما را مخفی کنید",
	highlightAllAnnotations: "همه را برجسته کنید",
	iiif_homepage: "در باره ی این منبع",
	iiif_manifest: "بیانیه ی IIIF",
	iiif_related: "مربوط",
	iiif_renderings: "فرمت های جایگزین",
	iiif_seeAlso: "همچنین ببینید",
	import: "وارد كنید",
	importWorkspace: "فضای کاری را وارد كنید",
	importWorkspaceHint: "پیکربندی Mirador 4 را برای وارد کردن جای‌گذاری کنید",
	item: "مورد: {{label}}",
	itemList: "فهرست موارد",
	jsError: "جزییات فنی",
	jsStack: "{{ stack }}",
	language: "زبان",
	layer_hide: "لایه را پنهان کنید",
	layer_move: "لایه را حرکت دهید",
	layer_opacity: "لایه کدورت",
	layer_show: "نمایش لایه",
	layers: "لایه ها",
	light: "زمینه رشن",
	links: "پیوندها",
	listAllOpenWindows: "پرش به پنجره",
	login: "وارد به سیستم",
	logout: "خروج از سیستم",
	manifestError: "منبع اضافه نمیشود :",
	maximizeWindow: "پنجره را به حداکثر برسانید",
	minimizeWindow: "پنجره را به حداقل برسانید",
	mirador: "Mirador",
	miradorResources: "منابعی Mirador",
	miradorViewer: "بیننده Mirador",
	more: "بیشتر...",
	moreResults: "نتایج بیشتر",
	mosaic: "موزائیک",
	mosaicDescription: "جابجایی و اندازه پنجره ها نسبت به یکدیگر، در چارچوب قابل مشاهده.",
	moveCompanionWindowToBottom: "حرکت به سمت پایین",
	moveCompanionWindowToRight: "حرکت به سمت راست",
	multipartCollection: "مجموعه چند قسمتی",
	nextCanvas: "مورد بعدی",
	noItemSelected: "هیچ موردی انتخاب نشده است",
	numItems_one: "{{number}} مورد",
	numItems_other: "{{number}} موارد",
	off: "خاموش",
	openCompanionWindow_annotations: "حاشیه نویسی ها",
	openCompanionWindow_attribution: "حقوق",
	openCompanionWindow_canvas: "فهرست راهنما",
	openCompanionWindow_info: "اطلاعات",
	openCompanionWindow_layers: "لایه ها",
	openCompanionWindow_search: "جستجو",
	openInCompanionWindow: "در پنل جداگانه باز کن",
	openWindows: "پنجره های باز",
	pagination: "{{total}} از {{current}}",
	position: "موقعیت",
	previewWindowTitle: "{{title}}",
	previousCanvas: "مورد قبلی",
	related: "مربوط",
	resource: "منبع",
	retry: "امتحان دوباره",
	right: "حقوق",
	rights: "مجوز",
	scroll: "پیمایش",
	searchInputLabel: "عبارات جستجو",
	searchNextResult: "نتیجه بعدی",
	searchNoResults: "نتیجه ای پیدا نشد",
	searchPreviousResult: "نتیجه قبلی",
	searchResultsRemaining: "{{numLeft}} باقی مانده",
	searchSubmitAria: "ارسال جستجو",
	searchTitle: "جستجو",
	selectWorkspaceMenu: "نوع فضای کار را انتخاب کنید",
	showCollection: "نمایش مجموعه",
	showingNumAnnotations_one: "نمایش {{number}} حاشیه نویسی",
	showingNumAnnotations_other: "نمایش {{number}} حاشیه نویسی",
	showZoomControls: "نمایش کنترل های بزرگنمایی",
	sidebarPanelsNavigation: "پانل های ناوبری نوار کناری",
	single: "واحد",
	startHere: "از اینجا شروع کنید",
	suggestSearch: "این سند را برای \"{{ query }}\" جستجوی کنید",
	tableOfContentsList: "فهرست مطالب",
	theme: "زمینه",
	thumbnailList: "فهرست تصاویر بندانگشتی",
	thumbnailNavigation: "تصاویر بندانگشتی",
	thumbnails: "تصاویر بندانگشتی",
	toggleWindowSideBar: "نوار کناری را تغییر دهید",
	totalCollections_one: "{{count}} مجموعه",
	totalCollections_other: "{{count}} مجموعات",
	totalManifests_one: "{{count}} بیانیه",
	totalManifests_other: "{{count}} بیانیه ها",
	tryAgain: "دوباره امتحان کنید",
	untitled: "[بدون عنوان]",
	view: "مشاهده",
	viewWorkspaceConfiguration: "مشاهده پیکربندی فضای کاری",
	welcome: "به Mirador خوش آمدید",
	window: "پنجره: {{label}}",
	windowMenu: "نماهای پنجره و نمایش تصاویر کوچک",
	windowNavigation: "جهت یابی پنجره",
	windowPluginButtons: "گزینه ها",
	windowPluginMenu: "گزینه های پنجره",
	workspace: "فضای کار",
	workspaceFullScreen: "تمام صفحه",
	workspaceMenu: "تنظیمات فضای کاری",
	workspaceNavigation: "جهت یابی فضای کاری",
	workspaceOptions: "گزینه های فضای کاری",
	workspaceSelectionTitle: "نوع فضای کاری را انتخاب کنید",
	zoomIn: "بزرگنمایی",
	zoomOut: "کوچک نمایی",
	zoomReset: " تنظیم بزرگنما"
} }, zf = { translation: {
	aboutMirador: "关于Mirador项目",
	aboutThisItem: "有关此条目",
	addedFromUrl: "(从URL添加)",
	addManifestUrl: "来源",
	addManifestUrlHelp: "IIIF资源的URL",
	addResource: "添加资源",
	"annotationCanvasLabel_1/1": "条目: [{{label}}]",
	"annotationCanvasLabel_1/2": "左方: [{{label}}]",
	"annotationCanvasLabel_2/2": "右方: [{{label}}]",
	annotations: "标注",
	attribution: "著作权",
	attributionTitle: "著作权",
	authenticationFailed: "认证失败。",
	authenticationRequired: "完全访问需要认证",
	backToResults: "返回到结果",
	book: "书籍",
	bottom: "下方",
	cancel: "取消",
	canvasIndex: "索引",
	changeTheme: "变更背景主题",
	clearSearch: "清除",
	close: "关闭",
	closeAddResourceForm: "关闭表格",
	closeAddResourceMenu: "关闭资源列表",
	closeCompanionWindow: "关闭附属窗口",
	closeWindow: "关闭窗口",
	collapseSection: "关闭{{section}}分页",
	collapseSidePanel: "关闭边栏",
	collection: "集合",
	continue: "继续",
	copy: "复制",
	currentItem: "当前条目",
	"currentItem_1/1": "当前条目",
	"currentItem_1/2": "左方",
	"currentItem_2/2": "右方",
	dark: "暗色主题",
	digitizedView: "数字视图",
	dismiss: "关闭信息",
	displayNoAnnotations: "不高亮",
	downloadExport: "导出桌面排版",
	downloadExportWorkspace: "导出桌面排版",
	elastic: "弹性",
	elasticDescription: "在桌面上自由摆放窗口",
	emptyResourceList: "空资源列表",
	error: "错误",
	errorDialogConfirm: "确定",
	errorDialogTitle: "发生错误",
	exitFullScreen: "退出全屏",
	expandSection: "开启{{section}}分页",
	expandSidePanel: "开启边栏",
	exportCopied: "工作区配置被复制到你的剪贴板上了",
	fetchManifest: "添加",
	fullScreen: "全屏",
	gallery: "画廊",
	hideZoomControls: "隐藏缩放选项",
	highlightAllAnnotations: "高亮所有标注",
	iiif_homepage: "主页",
	iiif_manifest: "IIIF清单",
	iiif_renderings: "其他格式",
	iiif_seeAlso: "另见",
	import: "导入",
	importWorkspace: "导入桌面排版",
	importWorkspaceHint: "在此贴上Mirador 4排版设定码",
	item: "条目: {{label}}",
	itemList: "标题列表",
	jsError: "技术细节",
	jsStack: "{{ stack }}",
	language: "语言",
	layer_hide: "隐藏图层",
	layer_move: "移动图层",
	layer_opacity: "图层不透明度",
	layer_show: "显示图层",
	layers: "图层",
	light: "亮色主题",
	links: "链接",
	listAllOpenWindows: "切换至窗口",
	login: "登入",
	logout: "登出",
	manifestError: "无法增添资源:",
	maximizeWindow: "窗口最大化",
	minimizeWindow: "窗口最小化",
	mirador: "Mirador",
	miradorResources: "Mirador资源",
	miradorViewer: "Mirador阅览器",
	more: "更多...",
	moreResults: "更多结果",
	mosaic: "马赛克",
	mosaicDescription: "在桌面上以格状方式排列窗口",
	moveCompanionWindowToBottom: "移至下方",
	moveCompanionWindowToRight: "移至右方",
	multipartCollection: "多卷集合",
	nextCanvas: "下一页",
	noItemSelected: "没有条目被选中",
	numItems_one: "{{number}} 项条目",
	numItems_other: "{{number}} 项条目",
	off: "关闭",
	openCompanionWindow_annotations: "标注",
	openCompanionWindow_attribution: "著作权",
	openCompanionWindow_canvas: "目录",
	openCompanionWindow_info: "资讯",
	openCompanionWindow_layers: "图层",
	openCompanionWindow_search: "搜索",
	openInCompanionWindow: "移至新附属窗口",
	openWindows: "当前窗口",
	pagination: "{{current}} / {{total}}",
	position: "位置",
	previewWindowTitle: "{{title}}",
	previousCanvas: "上一页",
	related: "相关信息",
	resource: "资源",
	retry: "重试",
	right: "右方",
	rights: "版权",
	scroll: "滚动",
	searchInputLabel: "搜索关键字",
	searchNextResult: "下一个结果",
	searchNoResults: "没有搜索到结果",
	searchPreviousResult: "前一个结果",
	searchResultsRemaining: "{{numLeft}}剩余",
	searchSubmitAria: "提交搜索",
	searchTitle: "搜索",
	selectWorkspaceMenu: "选择桌面排版方式",
	showCollection: "显示集合",
	showingNumAnnotations_one: "显示 {{number}} 项标注",
	showingNumAnnotations_other: "显示 {{number}} 项标注",
	showZoomControls: "显示缩放选项",
	sidebarPanelsNavigation: "切换边栏",
	single: "单项",
	startHere: "按此开始",
	suggestSearch: "搜索本文档以\"{{ query }}\"",
	tableOfContentsList: "目录",
	theme: "背景主题",
	thumbnailList: "缩略图列表",
	thumbnailNavigation: "缩略图",
	thumbnails: "缩略图",
	toggleWindowSideBar: "切换边栏开关",
	totalCollections_one: "{{count}} 集合",
	totalCollections_other: "{{count}} 集合",
	totalManifests_one: "{{count}} 清单",
	totalManifests_other: "{{count}} 清单",
	tryAgain: "请重试",
	untitled: "[无标题]",
	view: "条目排列方式",
	viewWorkspaceConfiguration: "查看工作区配置",
	welcome: "欢迎使用Mirador",
	window: "窗口: {{label}}",
	windowMenu: "窗口视图 & 缩略图显示",
	windowNavigation: "切换窗口",
	windowPluginButtons: "选项",
	windowPluginMenu: "窗口选项",
	workspace: "桌面",
	workspaceFullScreen: "全屏",
	workspaceMenu: "桌面设定",
	workspaceNavigation: "工作区导航",
	workspaceOptions: "桌面选项",
	workspaceSelectionTitle: "选择桌面排版方式",
	zoomIn: "放大",
	zoomOut: "缩小",
	zoomReset: "重设缩放"
} }, Bf = { translation: {
	aboutMirador: "關於Mirador項目",
	aboutThisItem: "有關此物件",
	addedFromUrl: "(從URL添加)",
	addManifestUrl: "來源",
	addManifestUrlHelp: "IIIF資源的URL",
	addResource: "添加資源",
	"annotationCanvasLabel_1/1": "物件: [{{label}}]",
	"annotationCanvasLabel_1/2": "左方: [{{label}}]",
	"annotationCanvasLabel_2/2": "右方: [{{label}}]",
	annotations: "標註",
	attribution: "著作權",
	attributionTitle: "著作權",
	authenticationFailed: "認證失敗。",
	authenticationRequired: "完全訪問需要認證",
	backToResults: "返回到結果",
	book: "書籍",
	bottom: "下方",
	cancel: "取消",
	canvasIndex: "索引",
	changeTheme: "變更佈景主題",
	clearSearch: "清除",
	close: "關閉",
	closeAddResourceForm: "關閉表格",
	closeAddResourceMenu: "關閉資源列表",
	closeCompanionWindow: "關閉附屬視窗",
	closeWindow: "關閉視窗",
	collapseSection: "關閉{{section}}分頁",
	collapseSidePanel: "關閉邊欄",
	collection: "集合",
	continue: "繼續",
	copy: "複製",
	currentItem: "目前物件",
	"currentItem_1/1": "目前物件",
	"currentItem_1/2": "左方",
	"currentItem_2/2": "右方",
	dark: "暗色主題",
	digitizedView: "數字視圖",
	dismiss: "關閉信息",
	displayNoAnnotations: "不高亮",
	downloadExport: "滙出桌面排版",
	downloadExportWorkspace: "滙出桌面排版",
	elastic: "彈性",
	elasticDescription: "在桌面上自由擺放視窗",
	emptyResourceList: "資源列表沒有物件",
	error: "錯誤",
	errorDialogConfirm: "確定",
	errorDialogTitle: "發生錯誤",
	exitFullScreen: "退出全螢幕",
	expandSection: "開啟{{section}}分頁",
	expandSidePanel: "開啟邊欄",
	exportCopied: "工作區配置被複製到你的剪貼板上了",
	fetchManifest: "添加",
	fullScreen: "全螢幕",
	gallery: "矩列",
	hideZoomControls: "隱藏縮放選項",
	highlightAllAnnotations: "高亮所有標註",
	iiif_homepage: "有關此資源",
	iiif_manifest: "IIIF清單",
	iiif_renderings: "其他格式",
	iiif_seeAlso: "另見",
	import: "滙入",
	importWorkspace: "滙入桌面排版",
	importWorkspaceHint: "在此貼上Mirador 4排版設定碼",
	item: "物件: {{label}}",
	itemList: "標題列表",
	jsError: "技術細節",
	jsStack: "{{ stack }}",
	language: "語言",
	layer_hide: "隱藏圖層",
	layer_move: "移動圖層",
	layer_opacity: "圖層不透明度",
	layer_show: "顯示圖層",
	layers: "圖層",
	light: "亮色主題",
	links: "連結",
	listAllOpenWindows: "切換至視窗",
	login: "登入",
	logout: "登出",
	manifestError: "無法增添資源:",
	maximizeWindow: "視窗最大化",
	minimizeWindow: "視窗最小化",
	mirador: "Mirador",
	miradorResources: "Mirador資源",
	miradorViewer: "Mirador閱覽器",
	more: "更多...",
	moreResults: "更多結果",
	mosaic: "馬賽克",
	mosaicDescription: "在桌面上以格狀方式排列視窗",
	moveCompanionWindowToBottom: "移至下方",
	moveCompanionWindowToRight: "移至右方",
	multipartCollection: "多卷集合",
	nextCanvas: "下一頁",
	noItemSelected: "沒有物件被選中",
	numItems_one: "{{number}} 項物件",
	numItems_other: "{{number}} 項物件",
	off: "關閉",
	openCompanionWindow_annotations: "標註",
	openCompanionWindow_attribution: "著作權",
	openCompanionWindow_canvas: "目錄",
	openCompanionWindow_info: "資訊",
	openCompanionWindow_layers: "圖層",
	openCompanionWindow_search: "搜索",
	openInCompanionWindow: "移至新附屬視窗",
	openWindows: "現有視窗",
	pagination: "{{current}} / {{total}}",
	position: "位置",
	previewWindowTitle: "{{title}}",
	previousCanvas: "上一頁",
	related: "相關資訊",
	resource: "資源",
	retry: "重試",
	right: "右方",
	rights: "版權",
	scroll: "滾動",
	searchInputLabel: "搜索關鍵字",
	searchNextResult: "下一個結果",
	searchNoResults: "沒有搜索到結果",
	searchPreviousResult: "前一個結果",
	searchResultsRemaining: "{{numLeft}}剩餘",
	searchSubmitAria: "提交搜索",
	searchTitle: "搜索",
	selectWorkspaceMenu: "選擇桌面排版方式",
	showCollection: "顯示集合",
	showingNumAnnotations_one: "顯示 {{number}} 項標註",
	showingNumAnnotations_other: "顯示 {{number}} 項標註",
	showZoomControls: "顯示縮放選項",
	sidebarPanelsNavigation: "切換邊欄",
	single: "單項",
	startHere: "按此開始",
	suggestSearch: "搜索本文檔以\"{{ query }}\"",
	tableOfContentsList: "目錄",
	theme: "佈景主題",
	thumbnailList: "縮略圖列表",
	thumbnailNavigation: "縮略圖",
	thumbnails: "縮略圖",
	toggleWindowSideBar: "切換邊欄開關",
	totalCollections_one: "{{count}} 集合",
	totalCollections_other: "{{count}} 集合",
	totalManifests_one: "{{count}} 清單",
	totalManifests_other: "{{count}} 清單",
	tryAgain: "請重試",
	untitled: "[無標題]",
	view: "物件排列方式",
	viewWorkspaceConfiguration: "查看工作區配置",
	welcome: "歡迎使用Mirador",
	window: "視窗: {{label}}",
	windowMenu: "視窗視圖 & 縮略圖顯示",
	windowNavigation: "切換視窗",
	windowPluginButtons: "選項",
	windowPluginMenu: "視窗選項",
	workspace: "桌面",
	workspaceFullScreen: "全螢幕",
	workspaceMenu: "桌面設定",
	workspaceNavigation: "工作區導航",
	workspaceOptions: "桌面選項",
	workspaceSelectionTitle: "選擇桌面排版方式",
	zoomIn: "放大",
	zoomOut: "縮小",
	zoomReset: "重設縮放"
} }, Vf = { translation: {
	aboutMirador: "A propos du projet Mirador",
	aboutThisItem: "Informations",
	addedFromUrl: "(Ajouté depuis une URL)",
	addManifestUrl: "Emplacement de la ressource",
	addManifestUrlHelp: "Coller ici l'URL de la ressource IIIF",
	addResource: "Ajouter une ressource",
	"annotationCanvasLabel_1/1": "Item : [{{label}}]",
	"annotationCanvasLabel_1/2": "Gauche : [{{label}}]",
	"annotationCanvasLabel_2/2": "Droite : [{{label}}]",
	annotations: "Annotations",
	attribution: "Attribution",
	attributionTitle: "Droits",
	authenticationFailed: "L'authentification a échoué.",
	authenticationRequired: "Authentification requise pour un accès complet",
	backToResults: "Retour aux résultats",
	book: "Livre",
	bottom: "Bas",
	cancel: "Annuler",
	canvasIndex: "Index",
	changeTheme: "Changer le thème",
	clearSearch: "effacer",
	closeAddResourceForm: "Fermer le panneau",
	closeAddResourceMenu: "Fermer la liste des ressources",
	closeCompanionWindow: "Fermer le panneau",
	closeWindow: "Fermer cette fenêtre",
	collapseSection: "Replier la section \"{{section}}\"",
	collapseSidePanel: "Replier le panneau",
	continue: "Continuer",
	copy: "Copier",
	currentItem: "Image courante",
	"currentItem_1/1": "Image courante",
	"currentItem_1/2": "Gauche",
	"currentItem_2/2": "Droite",
	dark: "Thème sombre",
	digitizedView: "Vue de l'objet numérique",
	dismiss: "Rejeter",
	displayNoAnnotations: "Masquer tout",
	downloadExport: "Exporter l'espace de travail",
	downloadExportWorkspace: "Exporter l'espace de travail",
	elastic: "Elastique",
	elasticDescription: "Déplacer et redimensionner librement les fenêtres dans un espace de travail non limité par l'écran. Les fenêtres peuvent être superposées.",
	emptyResourceList: "Votre liste de ressource est vide",
	error: "Erreur",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Une erreur est survenue",
	exitFullScreen: "Quitter le plein écran",
	expandSection: "Déplier la section \"{{section}}\"",
	expandSidePanel: "Déplier le panneau",
	exportCopied: "La configuration de l'espace de travail a été copiée dans votre presse-papier",
	fetchManifest: "Ajouter",
	fullScreen: "Plein écran",
	gallery: "Galerie",
	hideZoomControls: "Désactiver les commandes de zoom",
	highlightAllAnnotations: "Afficher tout",
	iiif_homepage: "A propos de cette ressource",
	iiif_manifest: "Manifeste IIIF",
	iiif_renderings: "Formats alternatifs",
	iiif_seeAlso: "Voir aussi",
	import: "Importer",
	importWorkspace: "Importer un espace de travail",
	importWorkspaceHint: "Insérer une configuration Mirador 4 à importer",
	item: "Item : {{label}}",
	itemList: "Liste compacte",
	jsError: "Détails techniques",
	jsStack: "{{ stack }}",
	language: "Langue",
	layer_hide: "Masquer le calque",
	layer_move: "Déplacer le calque",
	layer_opacity: "Opacité du calque",
	layer_show: "Afficher le calque",
	layers: "Calques",
	light: "Thème clair",
	links: "Liens",
	listAllOpenWindows: "Lister les fenêtres",
	login: "Se connecter",
	logout: "Se déconnecter",
	manifestError: "Cette ressource ne peut pas être ajoutée :",
	maximizeWindow: "Agrandir cette fenêtre",
	minimizeWindow: "Réduire cette fenêtre",
	mirador: "Mirador",
	miradorResources: "Ressources Mirador",
	miradorViewer: "Visualiseur Mirador",
	more: "plus...",
	moreResults: "Plus de résultats",
	mosaic: "Mosaïque",
	mosaicDescription: "Déplacer et redimensionner les fenêtres les unes par rapport aux autres dans l'espace disponible sur l'écran",
	moveCompanionWindowToBottom: "Déplacer en bas",
	moveCompanionWindowToRight: "Déplacer à droite",
	nextCanvas: "Suivant",
	noItemSelected: "Aucun élément sélectionné",
	numItems_one: "{{number}} image",
	numItems_other: "{{number}} images",
	off: "aucun",
	openCompanionWindow_annotations: "Annotations",
	openCompanionWindow_attribution: "Droits",
	openCompanionWindow_canvas: "Index",
	openCompanionWindow_info: "Informations",
	openCompanionWindow_layers: "Calques",
	openCompanionWindow_search: "Rechercher",
	openInCompanionWindow: "Ouvrir dans un panneau séparé",
	openWindows: "Fenêtres ouvertes",
	pagination: "{{current}} sur {{total}}",
	position: "Position",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Précédent",
	related: "En relation",
	resource: "Ressource",
	retry: "Réessayer",
	right: "Droite",
	rights: "Licence",
	scroll: "Défilement horizontal",
	searchInputLabel: "Chercher un mot",
	searchNextResult: "Résultat suivant",
	searchNoResults: "Aucun résultat trouvé",
	searchPreviousResult: "Résultat précédent",
	searchSubmitAria: "Lancer la recherche",
	searchTitle: "Rechercher",
	selectWorkspaceMenu: "Changer de type d'espace de travail",
	showCollection: "Voir la collection",
	showingNumAnnotations_one: "{{number}} annotation affichée",
	showingNumAnnotations_other: "{{number}} annotations affichées",
	showZoomControls: "Activer les commandes de zoom",
	sidebarPanelsNavigation: "Navigation dans les panneaux latéraux",
	single: "Simple",
	startHere: "Commencer ici",
	suggestSearch: "Rechercher \"{{ query }}\" dans ce document",
	tableOfContentsList: "Sommaire",
	theme: "Thème",
	thumbnailList: "Liste des vignettes",
	thumbnailNavigation: "Vignettes",
	thumbnails: "Afficher les vignettes",
	toggleWindowSideBar: "Afficher le menu latéral",
	totalCollections_one: "{{count}} collection",
	totalCollections_other: "{{count}} collections",
	totalManifests_one: "{{count}} manifeste",
	totalManifests_other: "{{count}} manifestes",
	tryAgain: "Essayer à nouveau",
	untitled: "[Sans titre]",
	view: "Voir les images en mode",
	welcome: "Bienvenue dans Mirador",
	window: "Fenêtre : {{label}}",
	windowMenu: "Options de fenêtre",
	windowNavigation: "Navigation dans les fenêtres",
	windowPluginButtons: "Options",
	windowPluginMenu: "Autres options et outils",
	workspace: "Espace de travail",
	workspaceFullScreen: "Plein écran",
	workspaceMenu: "Réglages de l'espace de travail",
	workspaceNavigation: "Menu de l'espace de travail",
	workspaceOptions: "Options de l'espace de travail",
	workspaceSelectionTitle: "Sélectionner un type d'espace de travail",
	zoomIn: "Zoom avant",
	zoomOut: "Zoom arrière",
	zoomReset: "Réinitialiser le zoom"
} }, Hf = { translation: {
	aboutMirador: "O Projektu Mirador",
	aboutThisItem: "O ovom zapisu",
	addedFromUrl: "(Dodano s URL-a)",
	addManifestUrl: "Lokacija resursa",
	addManifestUrlHelp: "URL IIIF resursa",
	addResource: "Dodaj resurs",
	"annotationCanvasLabel_1/1": "Stavka: [{{label}}]",
	"annotationCanvasLabel_1/2": "Lijevo: [{{label}}]",
	"annotationCanvasLabel_2/2": "Desno: [{{label}}]",
	annotations: "Anotacije",
	attribution: "Pripisivanje",
	attributionTitle: "Prava",
	authenticationFailed: "Autentifikacija nije uspjela",
	authenticationRequired: "Potrebna je autentifikacija za potpuni pristup",
	backToResults: "Povratak na rezultate",
	book: "Knjiga",
	bottom: "Dno",
	cancel: "Otkaži",
	canvasIndex: "Indeks",
	changeTheme: "Promijeni temu",
	clearSearch: "očisti",
	close: "Zatvori",
	closeAddResourceForm: "Zatvori obrazac",
	closeAddResourceMenu: "Zatvori popis resursa",
	closeCompanionWindow: "Zatvori ploču",
	closeWindow: "Zatvori prozor",
	collapseSection: "Sažmi \"{{section}}\" odjeljak",
	collapseSidePanel: "Sklopi bočnu traku",
	collection: "Kolekcija",
	continue: "Nastavi",
	copy: "Kopiraj",
	currentItem: "Trenutna stavka",
	"currentItem_1/1": "Trenutna stavka",
	"currentItem_1/2": "Lijevo",
	"currentItem_2/2": "Desno",
	dark: "Tamna tema",
	digitizedView: "Digitalizirani prikaz",
	dismiss: "Odbaci",
	displayNoAnnotations: "Istaknite ništa",
	downloadExport: "Izvezi radni prostor",
	downloadExportWorkspace: "Izvezi radni prostor",
	elastic: "Elastičan",
	elasticDescription: "Premještajte i mijenjajte veličinu prozora slobodno u neograničenom radnom prostoru. Prozori se mogu preklapati.",
	emptyResourceList: "Vaš popis resursa je prazan",
	error: "Greška",
	errorDialogConfirm: "U redu",
	errorDialogTitle: "Došlo je do greške",
	exitFullScreen: "Izađi iz punog zaslona",
	expandSection: "Proširi odjeljak \"{{section}}\"",
	expandSidePanel: "Proširi bočnu traku",
	exportCopied: "Konfiguracija radnog prostora kopirana je u vaš međuspremnik",
	fetchManifest: "Dodaj",
	fullScreen: "Cijeli ekran",
	gallery: "Galerija",
	hideZoomControls: "Sakrij kontrole zuma",
	highlightAllAnnotations: "Istakni sve",
	iiif_homepage: "O ovom resursu",
	iiif_manifest: "IIIF manifest",
	iiif_related: "Srodno",
	iiif_renderings: "Alternativni formati",
	iiif_seeAlso: "Vidi također",
	import: "Uvoz",
	importWorkspace: "Uvezi radni prostor",
	importWorkspaceHint: "Zalijepite konfiguraciju Mirador 4 koju treba uvesti",
	item: "Stavka: {{label}}",
	itemList: "Popis stavki",
	jsError: "Tehnički detalji",
	jsStack: "{{ stack }}",
	language: "Jezik",
	layer_hide: "Sakrij sloj",
	layer_move: "Premjesti sloj",
	layer_opacity: "Prozirnost sloja",
	layer_show: "Prikaži sloj",
	layers: "Slojevi",
	light: "Svijetla tema",
	links: "Poveznice",
	listAllOpenWindows: "Skoči do prozora",
	login: "Prijavi se",
	logout: "Odjavi se",
	manifestError: "Resurs se ne može dodati",
	maximizeWindow: "Maksimiziraj prozor",
	minimizeWindow: "Minimiziraj prozor",
	mirador: "Mirador",
	miradorResources: "Mirador resursi",
	miradorViewer: "Preglednik Mirador",
	more: "još...",
	moreResults: "Više rezultata",
	mosaic: "Mozaik",
	mosaicDescription: "Pomičite i mijenjajte veličinu prozora u odnosu jedan prema drugom, unutar vidljivog okvira.",
	moveCompanionWindowToBottom: "Pomakni se na dno",
	moveCompanionWindowToRight: "Pomakni se udesno",
	multipartCollection: "Višedijelna zbirka",
	nextCanvas: "Sljedeća stavka",
	noItemSelected: "Nijedna stavka nije odabrana",
	numItems_one: "{{number}} predmet",
	numItems_other: "{{number}} artikala",
	off: "Isključeno",
	openCompanionWindow_annotations: "Bilješke",
	openCompanionWindow_attribution: "Prava",
	openCompanionWindow_canvas: "Indeks",
	openCompanionWindow_info: "Informacija",
	openCompanionWindow_layers: "Slojevi",
	openCompanionWindow_search: "Pretraživanje",
	openInCompanionWindow: "Otvori u zasebnom panelu",
	openWindows: "Trenutno otvoreni prozori",
	pagination: "{{current}} od {{total}}",
	position: "Pozicija",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Prethodna stavka",
	related: "Srodno",
	resource: "Resurs",
	retry: "Pokušaj ponovno",
	right: "Desno",
	rights: "Licenca",
	scroll: "Pomakni",
	searchInputLabel: "pojmovima pretraživanja",
	searchNextResult: "Sljedeći rezultat",
	searchNoResults: "Nema rezultata",
	searchPreviousResult: "Prethodni rezultat",
	searchResultsRemaining: "Preostalo je {{numLeft}}",
	searchSubmitAria: "Podnesi pretragu",
	searchTitle: "Pretraživanje",
	selectWorkspaceMenu: "Odaberite vrstu radnog prostora",
	showCollection: "Prikaži kolekciju",
	showingNumAnnotations_one: "Prikazivanje {{number}} bilješke",
	showingNumAnnotations_other: "Prikazivanje {{number}} bilješki",
	showZoomControls: "Prikaži kontrole zumiranja",
	sidebarPanelsNavigation: "Bočne ploče navigacija",
	single: "Jedan",
	startHere: "Počnite ovdje",
	suggestSearch: "Pretraži ovaj dokument za \"{{ query }}\"",
	tableOfContentsList: "Sadržaj",
	theme: "Tema",
	thumbnailList: "Popis sličica",
	thumbnailNavigation: "Sličice",
	thumbnails: "Sličice",
	toggleWindowSideBar: "Prebaci bočnu traku",
	totalCollections_one: "{{count}} kolekcija",
	totalCollections_other: "{{count}} kolekcija",
	totalManifests_one: "{{count}} manifest",
	totalManifests_other: "{{count}} manifesta",
	tryAgain: "Pokušaj ponovno",
	untitled: "[Nenaslovljeno]",
	view: "Pogled",
	viewWorkspaceConfiguration: "Pogledaj konfiguraciju radnog prostora",
	welcome: "Dobrodošli u Mirador",
	window: "Prozor: {{label}}",
	windowMenu: "Prikazi prozora i prikaz sličica",
	windowNavigation: "Navigacija prozorom",
	windowPluginButtons: "Opcije",
	windowPluginMenu: "Opcije prozora",
	workspace: "Radni prostor",
	workspaceFullScreen: "Puni zaslon",
	workspaceMenu: "Postavke radnog prostora",
	workspaceNavigation: "Navigacija radnog prostora",
	workspaceOptions: "Opcije radnog prostora",
	workspaceSelectionTitle: "Odaberite vrstu radnog prostora",
	zoomIn: "Povećaj",
	zoomOut: "Umanji prikaz",
	zoomReset: "Poništi zumiranje"
} }, Uf = { translation: {
	aboutMirador: "Project Miradorについて",
	aboutThisItem: "この資料について",
	addedFromUrl: "(URLで追加)",
	addManifestUrl: "資料のIIIFマニフェストURI",
	addManifestUrlHelp: "追加したいIIIF資料のURIを上記に入力してください",
	addResource: "資料の追加",
	"annotationCanvasLabel_1/1": "アイテム: [{{label}}]",
	"annotationCanvasLabel_1/2": "左: [{{label}}]",
	"annotationCanvasLabel_2/2": "右: [{{label}}]",
	annotations: "アノテーション",
	attribution: "帰属",
	attributionTitle: "権利",
	authenticationFailed: "認証失敗",
	authenticationRequired: "フルアクセスには認証が必要",
	backToResults: "結果に戻る",
	book: "見開き",
	bottom: "下部",
	cancel: "キャンセル",
	canvasIndex: "インデックス",
	changeTheme: "テーマの変更",
	clearSearch: "クリア",
	close: "閉じる",
	closeAddResourceForm: "フォームを閉じる",
	closeAddResourceMenu: "資料一覧を閉じる",
	closeCompanionWindow: "パネルを閉じる",
	closeWindow: "ウインドウを閉じる",
	collapseSection: "{{section}} セクションを畳む",
	collapseSidePanel: "サイドバーを畳む",
	collection: "コレクション",
	continue: "続ける",
	copy: "コピー",
	currentItem: "現在のアイテム",
	"currentItem_1/1": "現在のアイテム",
	"currentItem_1/2": "左",
	"currentItem_2/2": "右",
	dark: "ダークなテーマ",
	digitizedView: "デジタルビュー",
	dismiss: "片付け",
	displayNoAnnotations: "アノテーションを非表示",
	downloadExport: "ワークスペースをエクスポート",
	downloadExportWorkspace: "ワークスペースをエクスポート",
	elastic: "伸縮",
	elasticDescription: "自由なウインドウの伸縮",
	emptyResourceList: "資料の一覧が空です",
	error: "エラー",
	errorDialogConfirm: "OK",
	errorDialogTitle: "エラー発生",
	exitFullScreen: "全画面を解除",
	expandSection: "セクション {{section}}を拡大",
	expandSidePanel: "サイドバーを拡大",
	exportCopied: "ワークスペースの設定がクリップボードにコピーされました。",
	fetchManifest: "追加",
	fullScreen: "全画面",
	gallery: "ギャラリー",
	hideZoomControls: "zoom制御を隠す",
	highlightAllAnnotations: "すべてを表示",
	iiif_homepage: "IIIFホームページ",
	iiif_manifest: "IIIF マニフェスト",
	iiif_renderings: "別の形式",
	iiif_seeAlso: "参照",
	import: "取り込み",
	importWorkspace: "ワークスペースの取り込み",
	importWorkspaceHint: "Mirador3の設定を貼り付け",
	item: "アイテム: {{label}}",
	itemList: "アイテム一覧",
	jsError: "技術的な詳細",
	jsStack: "{{ stack }}",
	language: "言語",
	layer_hide: "レイヤーを隠す",
	layer_move: "レイヤーを動かす",
	layer_opacity: "レイヤーの透過度",
	layer_show: "レイヤーを表示",
	layers: "レイヤー",
	light: "明るいテーマ",
	links: "リンク",
	listAllOpenWindows: "ウインドウにジャンプ",
	login: "ログイン",
	logout: "ログアウト",
	manifestError: "資料追加に失敗:",
	maximizeWindow: "ウインドウを最大化",
	minimizeWindow: "ウインドウを最小化",
	mirador: "Mirador",
	miradorResources: "Mirador資料",
	miradorViewer: "Miradorビューワ",
	more: "さらに...",
	moreResults: "さらに結果を",
	mosaic: "モザイク",
	mosaicDescription: "モザイク表示",
	moveCompanionWindowToBottom: "下部に移動",
	moveCompanionWindowToRight: "右に移動",
	nextCanvas: "次のアイテム",
	noItemSelected: "アイテムが未選択",
	numItems_one: "{{number}} アイテム",
	off: "オフ",
	openCompanionWindow_annotations: "アノテーション",
	openCompanionWindow_attribution: "権利",
	openCompanionWindow_canvas: "インデックス",
	openCompanionWindow_info: "情報",
	openCompanionWindow_layers: "レイヤー",
	openCompanionWindow_search: "検索",
	openInCompanionWindow: "別のパネルで開く",
	openWindows: "現在開いているウインドウ",
	pagination: "{{current}} of {{total}}",
	position: "位置",
	previewWindowTitle: "{{title}}",
	previousCanvas: "前のアイテム",
	related: "関連",
	resource: "資料",
	retry: "リトライ",
	right: "右側",
	rights: "利用条件",
	scroll: "スクロール",
	searchInputLabel: "検索語",
	searchNextResult: "次の結果",
	searchNoResults: "ヒットせず",
	searchPreviousResult: "前の結果",
	searchSubmitAria: "検索",
	searchTitle: "検索",
	selectWorkspaceMenu: "ワークスペースタイプの選択",
	showCollection: "コレクションを表示",
	showingNumAnnotations_one: "アノテーション {{number}} を表示",
	showZoomControls: "ズーム操作を表示",
	sidebarPanelsNavigation: "サイドバーパネルの操作",
	single: "単一",
	startHere: "ここから始める",
	suggestSearch: "この文書を \"{{ query }}\" で検索",
	tableOfContentsList: "目次",
	theme: "テーマ",
	thumbnailList: "サムネイル一覧",
	thumbnailNavigation: "サムネイル",
	thumbnails: "サムネイル表示",
	toggleWindowSideBar: "サイドバー切り替え",
	totalCollections_one: "{{count}} コレクション",
	totalManifests_one: "{{count}} マニフェスト",
	tryAgain: "もう一度試す",
	untitled: "[タイトル無し]",
	view: "表示の仕方",
	welcome: "Miradorにようこそ",
	window: "{{label}} ウインドウ",
	windowMenu: "ウインドウメニュー",
	windowNavigation: "ウィンドウ操作",
	windowPluginButtons: "オプション",
	windowPluginMenu: "ウインドウオプション",
	workspace: "ワークスペース",
	workspaceFullScreen: "全画面",
	workspaceMenu: "ワークスペースの設定",
	workspaceNavigation: "ワークスペースナビ",
	workspaceOptions: "ワークスペースのオプション",
	workspaceSelectionTitle: "ワークスペースのタイプを選択",
	zoomIn: "ズームイン",
	zoomOut: "ズームアウト",
	zoomReset: "ズームを戻す"
} }, Wf = { translation: {
	aboutMirador: "Mirador 프로젝트에 대하여",
	aboutThisItem: "해당 아이템에 대하여",
	addedFromUrl: "(URL에서 추가됨)",
	addManifestUrl: "리소스의 위치",
	addManifestUrlHelp: "IIIF 리소스의 URL",
	addResource: "리소스 추가",
	"annotationCanvasLabel_1/1": "아이템: [{{label}}]",
	"annotationCanvasLabel_1/2": "왼쪽: [{{label}}]",
	"annotationCanvasLabel_2/2": "오른쪽: [{{label}}]",
	annotations: "주석",
	attribution: "귀속",
	attributionTitle: "권리",
	authenticationFailed: "인증 실패.",
	authenticationRequired: "모든 정보에 접근하기 위해선 인증이 필요합니다.",
	backToResults: "결과로 돌아가기",
	book: "책",
	bottom: "아래",
	cancel: "취소",
	canvasIndex: "인덱스",
	changeTheme: "테마 변경",
	clearSearch: "지우기",
	close: "닫기",
	closeAddResourceForm: "폼 닫기",
	closeAddResourceMenu: "리소스 목록 닫기",
	closeCompanionWindow: "패널 닫기",
	closeWindow: "윈도우 닫기",
	collapseSection: "\"{{section}}\" 섹션 접기",
	collapseSidePanel: "사이드바 접기",
	collection: "컬렉션",
	continue: "계속하기",
	copy: "복사",
	currentItem: "현재 아이템",
	"currentItem_1/1": "현재 아이템",
	"currentItem_1/2": "왼쪽",
	"currentItem_2/2": "오른쪽",
	dark: "다크 모드",
	digitizedView: "디지털 뷰",
	dismiss: "무시하기",
	displayNoAnnotations: "하이라이트 해제",
	downloadExport: "작업공간 내보내기",
	downloadExportWorkspace: "작업공간 내보내기",
	elastic: "신축성",
	elasticDescription: "무한한 작업공간에서 윈도우를 자유롭게 움직이고 조절해보세요. 윈도우는 서로 겹칠 수 있습니다.",
	emptyResourceList: "리소스 목록이 비어있습니다",
	error: "오류",
	errorDialogConfirm: "허락",
	errorDialogTitle: "오류 발생",
	exitFullScreen: "전체화면에서 나가기",
	expandSection: "\"{{section}}\" 섹션 확장",
	expandSidePanel: "사이드바 확장",
	exportCopied: "작업공간 환경설정을 클립보드에 복사했습니다",
	fetchManifest: "추가하기",
	fullScreen: "전체화면",
	gallery: "갤러리",
	hideZoomControls: "확대/축소 기능 숨기기",
	highlightAllAnnotations: "모두 하이라이트하기",
	iiif_homepage: "해당 리소스에 대하여",
	iiif_manifest: "IIIF 매니페스트",
	iiif_renderings: "대체 포맷",
	iiif_seeAlso: "참고",
	import: "가져오기",
	importWorkspace: "작업공간 가져오기",
	importWorkspaceHint: "Mirador 4 환경설정 가져와 붙여넣기",
	item: "아이템: {{label}}",
	itemList: "아이템 목록",
	jsError: "기술적인 세부사항",
	jsStack: "{{ stack }}",
	language: "언어",
	layer_hide: "레이어 숨기기",
	layer_move: "레이어 움직이기",
	layer_opacity: "레이어 불투명도",
	layer_show: "레이어 보이기",
	layers: "레이어",
	light: "라이트 모드",
	links: "링크",
	listAllOpenWindows: "윈도우로 이동하기",
	login: "로그인",
	logout: "로그아웃",
	manifestError: "리소스를 추가할 수 없습니다:",
	maximizeWindow: "윈도우 크기 최대화",
	minimizeWindow: "윈도우 크기 최소화",
	mirador: "Mirador",
	miradorResources: "Mirador 리소스",
	miradorViewer: "Mirador 뷰어",
	more: "더 보기...",
	moreResults: "결과 더 보기",
	mosaic: "모자이크",
	mosaicDescription: "프레임 내에서 윈도우를 이동하고 크기를 조정합니다.",
	moveCompanionWindowToBottom: "아래로 옮기기",
	moveCompanionWindowToRight: "오른쪽으로 옮기기",
	nextCanvas: "다음 아이템",
	noItemSelected: "아이템이 선택되지 않았습니다",
	numItems_one: "{{number}}개의 아이템",
	numItems_other: "{{number}}개의 아이템",
	off: "끄기",
	openCompanionWindow_annotations: "주석",
	openCompanionWindow_attribution: "권리",
	openCompanionWindow_canvas: "인덱스",
	openCompanionWindow_info: "정보",
	openCompanionWindow_layers: "레이어",
	openCompanionWindow_search: "검색",
	openInCompanionWindow: "별도의 패널에서 열기",
	openWindows: "현재 열려있는 윈도우",
	pagination: "{{current}} of {{total}}",
	position: "배치",
	previewWindowTitle: "{{title}}",
	previousCanvas: "이전 아이템",
	related: "관련",
	resource: "리소스",
	retry: "재시도",
	right: "오른쪽",
	rights: "라이선스",
	scroll: "스크롤",
	searchInputLabel: "용어 찾기",
	searchNextResult: "다음 결과",
	searchNoResults: "해당 결과 없음",
	searchPreviousResult: "이전 결과",
	searchResultsRemaining: "{{numLeft}}개 남음",
	searchSubmitAria: "검색하기",
	searchTitle: "검색",
	selectWorkspaceMenu: "작업공간 유형 선택",
	showCollection: "컬렉션 보이기",
	showingNumAnnotations_one: "{{number}}개의 주석 나타내기",
	showingNumAnnotations_other: "{{number}}개의 주석 나타내기",
	showZoomControls: "확대/축소 기능 보이기",
	sidebarPanelsNavigation: "사이드바 패널 탐색",
	single: "한 개",
	startHere: "시작하기",
	suggestSearch: "이 문서를 \"{{ query }}\"로 검색하기",
	tableOfContentsList: "목차",
	theme: "테마",
	thumbnailList: "썸네일 목록",
	thumbnailNavigation: "썸네일",
	thumbnails: "썸네일",
	toggleWindowSideBar: "사이드바 전환",
	totalCollections_one: "{{count}}개의 컬렉션",
	totalCollections_other: "{{count}}개의 컬렉션",
	totalManifests_one: "{{count}}개의 매니페스트",
	totalManifests_other: "{{count}}개의 매니페스트",
	tryAgain: "다시 시도하세요",
	untitled: "[타이틀 없음]",
	view: "뷰",
	viewWorkspaceConfiguration: "작업공간 환경설정 ㅂ괴",
	welcome: "Mirador에 오신 것을 환영합니다",
	window: "윈도우: {{label}}",
	windowMenu: "윈도우 뷰 & 썸네일 표시",
	windowNavigation: "윈도우 탐색",
	windowPluginButtons: "옵션",
	windowPluginMenu: "윈도우 옵션",
	workspace: "작업공간",
	workspaceFullScreen: "전체화면",
	workspaceMenu: "작업공간 설정",
	workspaceNavigation: "작업공간 탐색",
	workspaceOptions: "작업공간 옵션",
	workspaceSelectionTitle: "작업공간 유형을 선택하세요",
	zoomIn: "확대",
	zoomOut: "축소",
	zoomReset: "줌 재설정"
} }, Gf = { translation: {
	aboutThisItem: "Over dit item",
	addedFromUrl: "(Toegevoegd via URL)",
	addManifestUrl: "Locatie bron",
	addManifestUrlHelp: "De URL van een IIIF-resource",
	addResource: "Voeg bron toe",
	"annotationCanvasLabel_1/1": "Item: [{{label}}]",
	"annotationCanvasLabel_1/2": "Links: [{{label}}]",
	"annotationCanvasLabel_2/2": "Rechts: [{{label}}]",
	annotations: "Annotaties",
	attribution: "Naamsvermelding",
	attributionTitle: "Rechten",
	authenticationFailed: "Authenticatie gefaald.",
	authenticationRequired: "Authenticatie is vereist voor volledige toegang",
	backToResults: "Terug naar resultaten",
	book: "Boek",
	bottom: "Onderaan",
	cancel: "Annuleer",
	canvasIndex: "Index",
	changeTheme: "Wijzig thema",
	clearSearch: "clear",
	closeAddResourceForm: "Sluit formulier",
	closeAddResourceMenu: "Sluit lijst met bronnen",
	closeCompanionWindow: "Sluit paneel",
	closeWindow: "Sluit venster",
	collapseSection: "Klap \"{{section}}\" sectie in",
	collapseSidePanel: "Klap zijbalk in",
	continue: "Ga verder",
	copy: "Kopieer",
	currentItem: "Huidig item",
	"currentItem_1/1": "Huidig item",
	"currentItem_1/2": "Links",
	"currentItem_2/2": "Rechts",
	dark: "Donker thema",
	dismiss: "Dismiss",
	downloadExport: "Exporteer workspace",
	downloadExportWorkspace: "Exporteer workspace",
	elastic: "Elastisch",
	elasticDescription: "Verplaats en rangschik vensters vrij in een onbeperkte workspace. Vensters kunnen elkaar overlappen.",
	emptyResourceList: "Je lijst met bronnen is leeg",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Er is een fout opgetreden",
	exitFullScreen: "Verlaat volledig scherm",
	expandSection: "Klap \"{{section}}\" sectie uit",
	expandSidePanel: "Klap zijbalk uit",
	fetchManifest: "Voeg toe",
	fullScreen: "Volledig scherm",
	gallery: "Gallerij",
	hideZoomControls: "Verberg zoomknoppen",
	highlightAllAnnotations: "Markeer alles",
	iiif_homepage: "Over deze bron",
	iiif_manifest: "IIIF-manifest",
	iiif_renderings: "Alternatieve formaten",
	iiif_seeAlso: "Zie ook",
	import: "Importeer",
	importWorkspace: "Importeer workspace",
	importWorkspaceHint: "Plak een Mirador 4 configuratie die geïmporteerd moet worden",
	item: "Item: {{label}}",
	itemList: "Compacte lijst",
	language: "Taal",
	light: "Licht thema",
	links: "Links",
	listAllOpenWindows: "Ga naar venster",
	login: "Log in",
	manifestError: "De bron kan niet worden toegevoegd:",
	maximizeWindow: "Maximaliseer venster",
	minimizeWindow: "Minimaliseer venster",
	mirador: "Mirador",
	miradorResources: "Mirador resources",
	miradorViewer: "Mirador viewer",
	more: "meer...",
	moreResults: "Meer resultaten",
	mosaic: "Mozaïek",
	mosaicDescription: "Verplaats en rangschik vensters in verhouding tot elkaar binnen het zichtbare kader.",
	moveCompanionWindowToBottom: "Verplaats naar beneden",
	moveCompanionWindowToRight: "Verplaats naar rechts",
	nextCanvas: "Volgend item",
	numItems_one: "{{number}} item",
	numItems_other: "{{number}} items",
	off: "Uit",
	openCompanionWindow_annotations: "Annotaties",
	openCompanionWindow_attribution: "Rechten",
	openCompanionWindow_canvas: "Index",
	openCompanionWindow_info: "Informatie",
	openCompanionWindow_search: "Zoeken",
	openInCompanionWindow: "Open in een apart paneel",
	openWindows: "Geopende vensters",
	pagination: "{{current}} van {{total}}",
	position: "Positie",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Vorig item",
	related: "Verwant",
	resource: "Bron",
	retry: "Probeer opnieuw",
	right: "Rechts",
	rights: "Licentie",
	searchInputLabel: "zoek termen",
	searchNextResult: "Volgend resultaat",
	searchNoResults: "Geen resultaten gevonden",
	searchPreviousResult: "Vorig resultaat",
	searchSubmitAria: "Zoeken",
	searchTitle: "Zoek",
	selectWorkspaceMenu: "Selecteer workspacetype",
	showingNumAnnotations_one: "{{number}} annotatie weergegeven",
	showingNumAnnotations_other: "{{number}} annotaties weergegeven",
	showZoomControls: "Toon zoomknoppen",
	sidebarPanelsNavigation: "Zijbalk panelen navigatie",
	single: "Enkel",
	startHere: "Begin Hier",
	suggestSearch: "Zoek in dit document naar \"{{ query }}\"",
	theme: "Thema",
	thumbnailList: "Lijst thumbnails",
	thumbnailNavigation: "Thumbnails",
	thumbnails: "Thumbnails",
	toggleWindowSideBar: "Toon zijbalk",
	totalCollections_one: "{{count}} collectie",
	totalCollections_other: "{{count}} collecties",
	totalManifests_one: "{{count}} manifest",
	totalManifests_other: "{{count}} manifests",
	tryAgain: "Probeer opnieuw",
	untitled: "[Zonder titel]",
	view: "Weergave",
	welcome: "Welkom in Mirador",
	window: "Venster: {{label}}",
	windowMenu: "Vensters- en miniatuurweergave",
	windowNavigation: "Navigatie venster",
	windowPluginButtons: "Opties",
	windowPluginMenu: "Vensteropties",
	workspace: "Workspace",
	workspaceFullScreen: "Volledig scherm",
	workspaceMenu: "Workspace instellingen",
	workspaceOptions: "Workspace opties",
	workspaceSelectionTitle: "Selecteer een workspace type",
	zoomIn: "Zoom in",
	zoomOut: "Zoom out",
	zoomReset: "Reset zoom"
} }, Kf = { translation: {
	aboutMirador: "O Projekcie Mirador",
	aboutThisItem: "O bieżącej pozycji",
	addedFromUrl: "(Dodano z URL)",
	addManifestUrl: "Lokalizacja zasobów",
	addManifestUrlHelp: "URL zasobów IIIF",
	addResource: "Dodaj zasoby",
	"annotationCanvasLabel_1/1": "Pozycja: [{{label}}]",
	"annotationCanvasLabel_1/2": "Lewo: [{{label}}]",
	"annotationCanvasLabel_2/2": "Prawo: [{{label}}]",
	annotations: "Adnotacje",
	attribution: "Atrybucja",
	attributionTitle: "Prawa",
	authenticationFailed: "Uwierzytelnianie nie powiodło się.",
	authenticationRequired: "Do pełnego dostępu wymagane jest uwierzytelnienie",
	backToResults: "Powrót do wyników",
	book: "Książka",
	bottom: "Dół",
	cancel: "Anuluj",
	canvasIndex: "Indeks",
	changeTheme: "Zmień motyw",
	clearSearch: "wyczyść",
	close: "Zamknij",
	closeAddResourceForm: "Zamknij formularz",
	closeAddResourceMenu: "Zamknij listę zasobów",
	closeCompanionWindow: "Zamknij panel",
	closeWindow: "Zamknij okno",
	collapseSection: "Zwiń sekcję \"{{section}}\"",
	collapseSidePanel: "Zwiń panel boczny",
	collection: "Zbiór",
	continue: "Kontynuuj",
	copy: "Kopiuj",
	currentItem: "Bieżąca pozycja",
	"currentItem_1/1": "Bieżąca pozycja",
	"currentItem_1/2": "Lewo",
	"currentItem_2/2": "Prawo",
	dark: "Ciemny motyw",
	digitizedView: "Widok zdigitalizowany",
	dismiss: "Odrzuć",
	displayNoAnnotations: "Nie podświetlaj",
	downloadExport: "Eksportuj obszar roboczy",
	downloadExportWorkspace: "Eksportuj obszar roboczy",
	elastic: "Elastyczny",
	elasticDescription: "Swobodnie przesuwaj i dopasowuj okna w nieograniczonej przestrzeni roboczej. Okna mogą zachodzić na siebie.",
	emptyResourceList: "Twoja lista zasobów jest pusta",
	error: "Błąd",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Wystąpił błąd",
	exitFullScreen: "Wyłącz tryb pełnoekranowy",
	expandSection: "Rozwiń sekcję \"{{section}}\"",
	expandSidePanel: "Rozwiń panel boczny",
	exportCopied: "Konfiguracja obszaru roboczego została skopiowana do schowka",
	fetchManifest: "Dodaj",
	fullScreen: "Pełny ekran",
	gallery: "Galeria",
	hideZoomControls: "Ukryj kontrolki powiększenia",
	highlightAllAnnotations: "Podświetl wszystko",
	iiif_homepage: "O tym zasobie",
	iiif_manifest: "Manifest IIIF",
	iiif_renderings: "Alternatywne formaty",
	iiif_seeAlso: "Zobacz też",
	import: "Importuj",
	importWorkspace: "Importuj obszar roboczy",
	importWorkspaceHint: "Wklej konfigurację Mirador 4 do zaimportowania",
	item: "Pozycja: {{label}}",
	itemList: "Lista pozycji",
	jsError: "Szczegóły techniczne",
	jsStack: "{{ stack }}",
	language: "Język",
	layer_hide: "Ukryj warstwę",
	layer_move: "Przenieś warstwę",
	layer_opacity: "Krycie warstwy",
	layer_show: "Pokaż warstwę",
	layers: "Warstwy",
	light: "Jasny motyw",
	links: "Linki",
	listAllOpenWindows: "Przejdź do okna",
	login: "Zaloguj",
	logout: "Wyloguj",
	manifestError: "Następujące zasoby nie mogą być dodane:",
	maximizeWindow: "Maksymalizuj okno",
	minimizeWindow: "Minimalizuj okno",
	mirador: "Mirador",
	miradorResources: "Zasoby Mirador",
	miradorViewer: "Przeglądarka Mirador",
	more: "więcej...",
	moreResults: "Więcej wyników",
	mosaic: "Mozaika",
	mosaicDescription: "Przesuwaj i zmieniaj rozmiary okien względem siebie, w widocznej ramce.",
	moveCompanionWindowToBottom: "Przesuń na dół",
	moveCompanionWindowToRight: "Przesuń w prawo",
	nextCanvas: "Następna pozycja",
	noItemSelected: "Nie wybrano pozycji",
	numItems_one: "{{number}} pozycja",
	numItems_other: "{{number}} pozycje",
	off: "Wyłącz",
	openCompanionWindow_annotations: "Adnotacje",
	openCompanionWindow_attribution: "Prawa",
	openCompanionWindow_canvas: "Indeks",
	openCompanionWindow_info: "Informacje",
	openCompanionWindow_layers: "Warstwy",
	openCompanionWindow_search: "Szukaj",
	openInCompanionWindow: "Otwórz w oddzielnym panelu",
	openWindows: "Aktualnie otwarte okna",
	pagination: "{{current}} of {{total}}",
	position: "Pozycja",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Poprzednia pozycja",
	related: "Powiązane",
	resource: "Zasoby",
	retry: "Spróbuj ponownie",
	right: "Prawo",
	rights: "Licencja",
	scroll: "Przewiń",
	searchInputLabel: "szukane słowa",
	searchNextResult: "Następny wynik",
	searchNoResults: "Nie znaleziono wyników",
	searchPreviousResult: "Poprzedni wynik",
	searchResultsRemaining: "Pozostało {{numLeft}}",
	searchSubmitAria: "Wyszukaj",
	searchTitle: "Wyszukaj",
	selectWorkspaceMenu: "Wybierz typ obszaru roboczego",
	showCollection: "Pokaż zbiór",
	showingNumAnnotations_one: "Wyświetlanie {{number}} adnotacji",
	showingNumAnnotations_other: "Wyświetlanie {{number}} adnotacji",
	showZoomControls: "Pokaż kontrolki powiększenia",
	sidebarPanelsNavigation: "Nawigacja pasków panelu bocznego",
	single: "Pojedynczy",
	startHere: "Zacznij tutaj",
	suggestSearch: "Przeszukaj ten dokument pod kątem \"{{ query }}\"",
	tableOfContentsList: "Spis treści",
	theme: "Motyw",
	thumbnailList: "Lista miniatur",
	thumbnailNavigation: "Miniatury",
	thumbnails: "Miniatury",
	toggleWindowSideBar: "Przełącz panel boczny",
	totalCollections_one: "{{count}} zbiór",
	totalCollections_other: "{{count}} zbiorów",
	totalManifests_one: "{{count}} manifest",
	totalManifests_other: "{{count}} manifestów",
	tryAgain: "Spróbuj ponownie",
	untitled: "[Bez nazwy]",
	view: "Widok",
	viewWorkspaceConfiguration: "Wyświetl konfigurację obszaru roboczego",
	welcome: "Witaj w Miradorze",
	window: "Okno: {{label}}",
	windowMenu: "Widoki okien i wyświetlanie miniatur",
	windowNavigation: "Nawigacja okna",
	windowPluginButtons: "Opcje",
	windowPluginMenu: "Opcje okna",
	workspace: "Obszar roboczy",
	workspaceFullScreen: "Pełny ekran",
	workspaceMenu: "Ustawienia obszaru roboczego",
	workspaceNavigation: "Nawigacja obszaru roboczego",
	workspaceOptions: "Opcje obszaru roboczego",
	workspaceSelectionTitle: "Wybierz typ obszaru roboczego",
	zoomIn: "Przybliż",
	zoomOut: "Oddal",
	zoomReset: "Zresetuj powiększenie"
} }, qf = { translation: {
	aboutThisItem: "Sobre esse item",
	addedFromUrl: "(Adicionado por URL)",
	addManifestUrl: "Localização do manifesto",
	addManifestUrlHelp: "URL do manifesto IIIF",
	addResource: "Adicionar conteúdo",
	"annotationCanvasLabel_1/1": "Item: [{{label}}]",
	"annotationCanvasLabel_1/2": "Esquerda: [{{label}}]",
	"annotationCanvasLabel_2/2": "Direita: [{{label}}]",
	annotations: "Anotações",
	attribution: "Atribuições",
	attributionTitle: "Direitos",
	authenticationFailed: "Falha na autenticação.",
	authenticationRequired: "Autenticação necessária para acesso completo",
	backToResults: "Voltar aos resultados",
	book: "Livro",
	bottom: "Embaixo",
	cancel: "Cancelar",
	canvasIndex: "Índice",
	changeTheme: "Mudar tema",
	clearSearch: "limpar",
	closeAddResourceForm: "Fechar formulário",
	closeAddResourceMenu: "Fechar lista de conteúdo",
	closeCompanionWindow: "Fechar painel",
	closeWindow: "Fechar janela",
	collapseSection: "Suprimir seção \"{{section}}\"",
	collapseSidePanel: "Suprimir barra lateral",
	continue: "Continuar",
	copy: "Copiar",
	currentItem: "Item atual",
	"currentItem_1/1": "Item atual",
	"currentItem_1/2": "Esquerda",
	"currentItem_2/2": "Direita",
	dark: "Tema escuro",
	dismiss: "Cancelar",
	downloadExport: "Exportar área de trabalho",
	downloadExportWorkspace: "Exportar área de trabalho",
	elastic: "Elástico",
	elasticDescription: "Mova e redimensione janelas livremente numa área de trabalho ilimitada. Janelas podem se sobrepor.",
	emptyResourceList: "Sua lista de conteúdos está vazia",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Um erro ocorreu",
	exitFullScreen: "Sair do modo tela cheia",
	expandSection: "Expandir seção \"{{section}}\"",
	expandSidePanel: "Expandir barra lateral",
	fetchManifest: "Adicionar",
	fullScreen: "Tela cheia",
	gallery: "Galeria",
	hideZoomControls: "Ocultar controles de zoom",
	highlightAllAnnotations: "Exibir todas",
	iiif_homepage: "Sobre esse conteúdo",
	iiif_manifest: "Manifesto IIIF",
	iiif_renderings: "Outros formatos",
	iiif_seeAlso: "Veja também",
	import: "Importar",
	importWorkspace: "Importar área de trabalho",
	importWorkspaceHint: "Cole uma configuração do Mirador 4 para importar",
	item: "Item: {{label}}",
	itemList: "Lista compacta",
	language: "Idioma",
	light: "Tema claro",
	links: "Links",
	listAllOpenWindows: "Pular para janela",
	login: "Login",
	manifestError: "O conteúdo não pode ser adicionado:",
	maximizeWindow: "Maximizar janela",
	minimizeWindow: "Minimizar janela",
	mirador: "Mirador",
	miradorResources: "conteúdo Mirador",
	miradorViewer: "visualizador Mirador",
	more: "mais...",
	moreResults: "Mais resultados",
	mosaic: "Mosáico",
	mosaicDescription: "Mova e redimensione janelas em relação entre si, dentro de uma área visível (grid).",
	moveCompanionWindowToBottom: "Mover para baixo",
	moveCompanionWindowToRight: "Mover para direita",
	nextCanvas: "Próximo item",
	numItems_one: "{{number}} itens",
	off: "Desativado",
	openCompanionWindow_annotations: "Anotações",
	openCompanionWindow_attribution: "Direitos",
	openCompanionWindow_canvas: "Índice",
	openCompanionWindow_info: "Informações",
	openCompanionWindow_search: "Busca",
	openInCompanionWindow: "Abrir em janela separada",
	openWindows: "Janelas abertas",
	pagination: "{{current}} de {{total}}",
	position: "Posição",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Item anterior",
	related: "Relacionado",
	resource: "Conteúdo",
	retry: "Tentar novamente",
	right: "Direita",
	rights: "Licenças",
	searchInputLabel: "termos de busca",
	searchNextResult: "Próximo resultado",
	searchNoResults: "Nenhum resultado encontrado",
	searchPreviousResult: "Resultado anterior",
	searchSubmitAria: "Realizar busca",
	searchTitle: "Busca",
	selectWorkspaceMenu: "Selecione um tipo de área de trabalho",
	showingNumAnnotations_one: "Mostrando {{number}} anotações",
	showZoomControls: "Mostrar controles de zoom",
	sidebarPanelsNavigation: "Navegação por paineis na barra lateral",
	single: "Individual",
	startHere: "Comece aqui",
	suggestSearch: "Procurar neste documento por \"{{ query }}\"",
	theme: "Tema",
	thumbnailList: "Lista de thumbnails",
	thumbnailNavigation: "Thumbnails",
	thumbnails: "Thumbnails",
	toggleWindowSideBar: "Ver barra lateral",
	tryAgain: "Tente novamente",
	untitled: "[Sem título]",
	view: "Visualizações",
	welcome: "Bem-vindo ao Mirador",
	window: "Janela: {{label}}",
	windowMenu: "Opções de visualização de janelas e thumbnails",
	windowNavigation: "Navegação de janelas",
	windowPluginButtons: "Opções",
	windowPluginMenu: "Opções de janela",
	workspace: "Área de trabalho",
	workspaceFullScreen: "Tela cheia",
	workspaceMenu: "Configurações de área de trabalho",
	workspaceOptions: "Opções de área de trabalho",
	workspaceSelectionTitle: "Selecionar tipo de área de trabalho",
	zoomIn: "Mais zoom",
	zoomOut: "Menos zoom",
	zoomReset: "Zerar zoom"
} }, Jf = { translation: {
	aboutMirador: "Informazioni su Mirador",
	aboutThisItem: "Informazioni sull'oggetto",
	addedFromUrl: "(Aggiunto dall'URL)",
	addManifestUrl: "URL della risorsa",
	addManifestUrlHelp: "L'URL di una risorsa IIIF",
	addResource: "Aggiungi una risorsa",
	"annotationCanvasLabel_1/1": "Oggetto: [{{label}}]",
	"annotationCanvasLabel_1/2": "Sinistra: [{{label}}]",
	"annotationCanvasLabel_2/2": "Destra: [{{label}}]",
	annotations: "Annotazioni",
	attribution: "Attribuzione",
	attributionTitle: "Diritti",
	authenticationFailed: "Autenticazione fallita.",
	authenticationRequired: "Autenticazione richiesta per l'accesso completo",
	backToResults: "Torna ai risultati",
	book: "Libro",
	bottom: "Fondo",
	cancel: "Cancella",
	canvasIndex: "Indice",
	changeTheme: "Cambia tema",
	clearSearch: "pulisci",
	close: "Chiudi",
	closeAddResourceForm: "Chiudi il modulo",
	closeAddResourceMenu: "Chiudi la lista di risorse",
	closeCompanionWindow: "Chiudi il pannello",
	closeWindow: "Chiudi finestra",
	collapseSection: "Collassa la sezione \"{{section}}\"",
	collapseSidePanel: "Collassa la barra laterale",
	collection: "Collezione",
	continue: "Continua",
	copy: "Copia",
	currentItem: "Oggetto corrente",
	"currentItem_1/1": "Oggetto corrente",
	"currentItem_1/2": "Sinistra",
	"currentItem_2/2": "Destra",
	dark: "Tema scuro",
	digitizedView: "Digitized view",
	dismiss: "Dismiss",
	displayNoAnnotations: "Nascondi evidenziazione",
	downloadExport: "Esporta il workspace",
	downloadExportWorkspace: "Esporta il workspace",
	elastic: "Elastico",
	elasticDescription: "Muovi e ridimensiona le finestre liberamente in un workspace illimitato. Le finestre possono sovrapporsi.",
	emptyResourceList: "La tua lista di risorse è vuota.",
	error: "Errore",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Si è verificato un errore.",
	exitFullScreen: "Esci da schermo intero",
	expandSection: "Espandi la sezione \"{{section}}\"",
	expandSidePanel: "Espandi la barra laterale",
	exportCopied: "La configurazione del workspace è stata copiata nella tua clipboard",
	fetchManifest: "Aggiungi",
	fullScreen: "Schermo intero",
	gallery: "Galleria",
	hideZoomControls: "Nascondi i controlli di zoom",
	highlightAllAnnotations: "Evidenzia tutto",
	iiif_homepage: "Informazioni su questa risorsa",
	iiif_manifest: "IIIF manifest",
	iiif_renderings: "Formati alternativi",
	iiif_seeAlso: "Vedi anche",
	import: "Importa",
	importWorkspace: "Importa workspace",
	importWorkspaceHint: "Incolla una configurazione di Mirador 4 da importare",
	item: "Oggetto: {{label}}",
	itemList: "Lista compatta",
	jsError: "Dettagli tecnici",
	jsStack: "{{ stack }}",
	language: "Lingua",
	layer_hide: "Nascondi livello",
	layer_move: "Sposta livello",
	layer_opacity: "Opacità del livello",
	layer_show: "Visualizza livello",
	layers: "Livelli",
	light: "Tema chiaro",
	links: "Link",
	listAllOpenWindows: "Vai alla finestra",
	login: "Entra",
	logout: "Esci",
	manifestError: "La risorsa non può essere aggiunta:",
	maximizeWindow: "Massimizza la finestra",
	minimizeWindow: "Minimizza la finestra",
	mirador: "Mirador",
	miradorResources: "Risorse Mirador",
	miradorViewer: "Visualizzatore Mirador",
	more: "ancora...",
	moreResults: "Più risultati",
	mosaic: "Mosaico",
	mosaicDescription: "Muovi e ridimensiona le finestre, tenendole all'interno dell'area visibile",
	moveCompanionWindowToBottom: "Sposta in fondo",
	moveCompanionWindowToRight: "Sposta a destra",
	nextCanvas: "Oggetto Successivo",
	noItemSelected: "Nessun oggetto selezionato",
	numItems_one: "{{number}} oggetti",
	numItems_other: "{{number}} oggetti",
	off: "Off",
	openCompanionWindow_annotations: "Annotazioni",
	openCompanionWindow_attribution: "Diritti",
	openCompanionWindow_canvas: "Indice",
	openCompanionWindow_info: "Informazioni",
	openCompanionWindow_layers: "Livelli",
	openCompanionWindow_search: "Cerca",
	openInCompanionWindow: "Apri in un pannello separato",
	openWindows: "Finestre aperte in questo momento",
	pagination: "{{current}} di {{total}}",
	position: "Posizione",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Oggetto precedente",
	related: "Contenuti collegati",
	resource: "Risorsa",
	retry: "Riprova",
	right: "Right",
	rights: "Licenza",
	scroll: "Scorri",
	searchInputLabel: "termini di ricerca",
	searchNextResult: "Prossimo risultato",
	searchNoResults: "Nessun risultato",
	searchPreviousResult: "Risultato precedente",
	searchResultsRemaining: "{{numLeft}} rimanenti",
	searchSubmitAria: "Cerca",
	searchTitle: "Cerca",
	selectWorkspaceMenu: "Selezione il tipo di workspace",
	showCollection: "Visualizza la collezione",
	showingNumAnnotations_one: "Sto mostrando {{number}} annotazioni",
	showingNumAnnotations_other: "Visualizzando {{number}} annotazioni",
	showZoomControls: "Mostra i controlli di zoom",
	sidebarPanelsNavigation: "Navigazione dei pannelli della barra laterale",
	single: "Singolo",
	startHere: "Inizia qui",
	suggestSearch: "Cerca in questo documento: \"{{ query }}\"",
	tableOfContentsList: "Sommario",
	theme: "Tema",
	thumbnailList: "Lista thumbnail",
	thumbnailNavigation: "Thumbnails",
	thumbnails: "Thumbnails",
	toggleWindowSideBar: "Apri/Chiudi la barra",
	totalCollections_one: "{{count}} collezione",
	totalCollections_other: "{{count}} collezioni",
	totalManifests_one: "{{count}} manifest",
	totalManifests_other: "{{count}} manifests",
	tryAgain: "Riprova",
	untitled: "[senza titolo]",
	view: "Visualizza",
	viewWorkspaceConfiguration: "Visualizza la configurazione del workspace",
	welcome: "Benvenuto in Mirador",
	window: "Finestra: {{label}}",
	windowMenu: "Visualizzazioni finestra e display thumbnail",
	windowNavigation: "Navigazione finestra",
	windowPluginButtons: "Opzioni",
	windowPluginMenu: "Opzioni finestra",
	workspace: "Workspace",
	workspaceFullScreen: "Schermo intero",
	workspaceMenu: "Configurazioni Workspace",
	workspaceNavigation: "Navigazione del workspace",
	workspaceOptions: "Opzioni Workspace",
	workspaceSelectionTitle: "Seleziona il tipo di workspace",
	zoomIn: "Zoom in",
	zoomOut: "Zoom out",
	zoomReset: "Reimposta zoom"
} }, Yf = { translation: {
	aboutMirador: "О пројекту Mirador",
	aboutThisItem: "Опис",
	addedFromUrl: "(Додато са URL)",
	addManifestUrl: "Локација ресурса",
	addManifestUrlHelp: "URL IIIF ресурса",
	addResource: "Додајте ресурс",
	"annotationCanvasLabel_1/1": "Страница: [{{label}}]",
	"annotationCanvasLabel_1/2": "Лева: [{{label}}]",
	"annotationCanvasLabel_2/2": "Десна: [{{label}}]",
	annotations: "Анотације",
	attribution: "Приступ",
	attributionTitle: "Права",
	authenticationFailed: "Неуспела аутентификација.",
	authenticationRequired: "За потпуни приступ неопходна је аутентификација",
	backToResults: "Повратак на резултате",
	book: "Књига",
	bottom: "На дну",
	cancel: "Одустаните",
	canvasIndex: "Индекс",
	changeTheme: "Промените тему",
	clearSearch: "обришите",
	close: "Затворите",
	closeAddResourceForm: "Затворите",
	closeAddResourceMenu: "Затворите листу ресурса",
	closeCompanionWindow: "Затворите панел",
	closeWindow: "Затворите приказ",
	collapseSection: "Сакријте \"{{section}}\" секцију",
	collapseSidePanel: "Сакријте",
	collection: "Колекција",
	continue: "Наставите",
	copy: "Копирајте",
	currentItem: "Тренутна страница",
	"currentItem_1/1": "Тренутна страница",
	"currentItem_1/2": "Лева",
	"currentItem_2/2": "Десна",
	dark: "Тамна тема",
	digitizedView: "Приказ дигиталног објекта",
	dismiss: "Откажите",
	displayNoAnnotations: "Без приказа",
	downloadExport: "Извезите радно окружење",
	downloadExportWorkspace: "Извезите радно окружење",
	elastic: "Еластични",
	elasticDescription: "Слободно померајте и одредите величину приказа у неограниченом радном простору. Прикази могу бити већи од радног простора.",
	emptyResourceList: "Ваша листа ресурса је празна",
	error: "Грешка",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Дошло је до грешке",
	exitFullScreen: "Изађите из приказа преко целог екрана",
	expandSection: "Проширите \"{{section}}\" секцију",
	expandSidePanel: "Прикажите",
	exportCopied: "Конфигурација радног окружења је копирана у привремену меморију",
	fetchManifest: "Додајте",
	fullScreen: "Приказ у пуном екрану",
	gallery: "Галерија",
	hideZoomControls: "Сакријте контроле зума",
	highlightAllAnnotations: "Приказ свих",
	iiif_homepage: "О ресурсу",
	iiif_manifest: "IIIF manifest",
	iiif_renderings: "Додатни формати",
	iiif_seeAlso: "Погледајте и",
	import: "Увезите",
	importWorkspace: "Увезите радно окружење",
	importWorkspaceHint: "Убаците конфигурацију Mirador 4 како би могли да је увезете",
	item: "Страница: {{label}}",
	itemList: "Листа страница",
	jsError: "Технички детаљи",
	jsStack: "{{ stack }}",
	language: "Језик приказа",
	layer_hide: "Сакријте слој",
	layer_move: "Померите слој",
	layer_opacity: "Видљивост слоја",
	layer_show: "Приказ слоја",
	layers: "Слојеви",
	light: "Светла тема",
	links: "Линкови",
	listAllOpenWindows: "Идите на приказ",
	login: "Улогујте се",
	logout: "Излогујте се",
	manifestError: "Ресурс се не може додати",
	maximizeWindow: "Максималан приказ",
	minimizeWindow: "Минималан приказ",
	mirador: "Mirador",
	miradorResources: "Mirador ресурси",
	miradorViewer: "Mirador прегледач",
	more: "још...",
	moreResults: "Још резултата",
	mosaic: "Мозаик",
	mosaicDescription: "Померајте и одредите величину приказа који су у међусобној релацији, унутар видљивог оквира.",
	moveCompanionWindowToBottom: "Пребаците на дно",
	moveCompanionWindowToRight: "Померите у десну страну",
	nextCanvas: "Следећа",
	noItemSelected: "Нема изабраних објеката",
	numItems_one: "{{number}} страница/це",
	off: "Искључене",
	openCompanionWindow_annotations: "Анотације",
	openCompanionWindow_attribution: "Права",
	openCompanionWindow_canvas: "Индекс",
	openCompanionWindow_info: "Информације",
	openCompanionWindow_layers: "Слојеви",
	openCompanionWindow_search: "Претрага",
	openInCompanionWindow: "Отворите у засебном панелу",
	openWindows: "Тренутно отворени прикази",
	pagination: "{{current}} од {{total}}",
	position: "Позиција",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Претходна",
	related: "Релације",
	resource: "Ресурс",
	retry: "Покушајте поново",
	right: "Десно",
	rights: "Лиценца",
	scroll: "Померајте",
	searchInputLabel: "претражите појам",
	searchNextResult: "Следећи резултат",
	searchNoResults: "Тражени појам није пронађен",
	searchPreviousResult: "Претходни резултат",
	searchSubmitAria: "Претражите",
	searchTitle: "Претрага",
	selectWorkspaceMenu: "Изаберите тип радног окружења",
	showCollection: "Прикажи колекцију",
	showingNumAnnotations_one: "Приказ {{number}} анотација/је",
	showZoomControls: "Приказ контрола зума",
	sidebarPanelsNavigation: "Навигација сајдбар панела",
	single: "Појединачно",
	startHere: "Започните",
	suggestSearch: "Пронађите појам \"{{ query }}\" у овом документу",
	tableOfContentsList: "Садржај",
	theme: "Тема",
	thumbnailList: "Листа сличица",
	thumbnailNavigation: "Сличице",
	thumbnails: "Сличице",
	toggleWindowSideBar: "Сајдбар",
	totalCollections_one: "{{count}} колекција/е",
	totalManifests_one: "{{count}} објек(а)та",
	tryAgain: "Покушајте поново",
	untitled: "[Без наслова]",
	view: "Преглед",
	welcome: "Добродошли у прегледач Mirador",
	window: "Приказ: {{label}}",
	windowMenu: "Изглед прегледа и позиција сличица",
	windowNavigation: "Навигација приказа",
	windowPluginButtons: "Опције",
	windowPluginMenu: "Опције приказа",
	workspace: "Радни простор",
	workspaceFullScreen: "Приказ преко целог екрана",
	workspaceMenu: "Уређивање радног простора",
	workspaceOptions: "Опције радног окружења",
	workspaceSelectionTitle: "Изаберите тип радног окружења",
	zoomIn: "Увећајте",
	zoomOut: "Умањите",
	zoomReset: "Ресет зума"
} }, Xf = { translation: {
	aboutMirador: "Om Projekt Mirador",
	aboutThisItem: "Om det här objektet",
	addedFromUrl: "(Tillagd från URL)",
	addManifestUrl: "Webbadress till samling eller manifest",
	addManifestUrlHelp: "URL till en IIIF-resurs",
	addResource: "Lägg till resurs",
	"annotationCanvasLabel_1/1": "Objekt: [{{label}}]",
	"annotationCanvasLabel_1/2": "Vänster: [{{label}}]",
	"annotationCanvasLabel_2/2": "Höger: [{{label}}]",
	annotations: "Noteringar",
	attribution: "Tillskrivning",
	attributionTitle: "Rättigheter",
	authenticationFailed: "Autentisering misslyckades.",
	authenticationRequired: "Autentisering krävs för full åtkomst",
	backToResults: "Tillbaka till resultat",
	book: "Bok",
	bottom: "Nederkant",
	cancel: "Avbryt",
	canvasIndex: "Index",
	changeTheme: "Ändra tema",
	clearSearch: "Ta bort sökning",
	close: "Stäng",
	closeAddResourceForm: "Stäng formulär",
	closeAddResourceMenu: "Stäng resurslista",
	closeCompanionWindow: "Stäng panel",
	closeWindow: "Stäng fönster",
	collapseSection: "Stäng sektionen \"{{section}}\"",
	collapseSidePanel: "Stäng sidofält",
	collection: "Samling",
	continue: "Fortsätt",
	copy: "Kopiera",
	currentItem: "Aktuellt objekt",
	"currentItem_1/1": "Aktuellt objekt",
	"currentItem_1/2": "Vänster",
	"currentItem_2/2": "Höger",
	dark: "Mörkt tema",
	digitizedView: "Digitaliserad vy",
	dismiss: "Stäng",
	displayNoAnnotations: "Avmarkera alla",
	downloadExport: "Exportera arbetsyta",
	downloadExportWorkspace: "Exportera arbetsyta",
	elastic: "Elastisk",
	elasticDescription: "Flytta och ändra storlek på fönster fritt i en obegränsad arbetsyta. Fönster kan överlappa.",
	emptyResourceList: "Din resurslista är tom",
	error: "Error",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Ett problem uppstod",
	exitFullScreen: "Lämna helskärmsläge",
	expandSection: "Expandera sektionen \"{{section}}\"",
	expandSidePanel: "Expandera sidofält",
	exportCopied: "Konfiguration av arbetsytan har kopierats till dina urklipp",
	fetchManifest: "Lägg till",
	fullScreen: "Helskärmsläge",
	gallery: "Galleri",
	hideZoomControls: "Dölj zoomkontroller",
	highlightAllAnnotations: "Markera alla",
	iiif_homepage: "Om den här resursen",
	iiif_manifest: "IIIF manifest",
	iiif_renderings: "Alternativa format",
	iiif_seeAlso: "Se även",
	import: "Importera",
	importWorkspace: "Importera arbetsyta",
	importWorkspaceHint: "Klistra in en Mirador 4 konfiguration att importera",
	item: "Objekt: {{label}}",
	itemList: "Objektlista",
	jsError: "Tekniska detaljer",
	jsStack: "{{ stack }}",
	language: "Språk",
	layer_hide: "Dölj lager",
	layer_move: "Flytta lager",
	layer_opacity: "Lageropacitet",
	layer_show: "Visa lager",
	layers: "Lager",
	light: "Ljust tema",
	links: "Länkar",
	listAllOpenWindows: "Gå till fönster",
	login: "Logga in",
	logout: "Logga ut",
	manifestError: "Resursen kan inte läggas till:",
	maximizeWindow: "Maximera fönster",
	minimizeWindow: "Minimera fönster",
	mirador: "Mirador",
	miradorResources: "Miradorresurser",
	miradorViewer: "Mirador bildvisare",
	more: "mer...",
	moreResults: "Fler resultat",
	mosaic: "Mosaik",
	mosaicDescription: "Flytta och ändra storlek på fönster i relation till varandra, innanför den synliga ramen.",
	moveCompanionWindowToBottom: "Flytta till botten",
	moveCompanionWindowToRight: "Flytta till höger",
	nextCanvas: "Nästa objekt",
	noItemSelected: "Inga valda objekt",
	numItems_one: "{{number}} objekt",
	off: "Av",
	openCompanionWindow_annotations: "Noteringar",
	openCompanionWindow_attribution: "Rättigheter",
	openCompanionWindow_canvas: "Index",
	openCompanionWindow_info: "Information",
	openCompanionWindow_layers: "Lager",
	openCompanionWindow_search: "Sök",
	openInCompanionWindow: "Öppna i separat panel",
	openWindows: "Öppna fönster",
	pagination: "{{current}} av {{total}}",
	position: "Position",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Föregående objekt",
	related: "Relaterat",
	resource: "Resurs",
	retry: "Försök igen",
	right: "Till höger",
	rights: "Licens",
	scroll: "Scrolla",
	searchInputLabel: "Sökord",
	searchNextResult: "Nästa resultat",
	searchNoResults: "Inga resultat hittades",
	searchPreviousResult: "Föregående resultat",
	searchResultsRemaining: "{{numLeft}} kvar",
	searchSubmitAria: "Sök",
	searchTitle: "Sök",
	selectWorkspaceMenu: "Välj typ av arbetsyta",
	showCollection: "Visa samling",
	showingNumAnnotations_one: "Visar {{number}} noteringar",
	showZoomControls: "Visa zoomkontroller",
	sidebarPanelsNavigation: "Sidofältspaneler navigering",
	single: "En och en",
	startHere: "Börja här",
	suggestSearch: "Sök i detta dokument efter \"{{ query }}\"",
	tableOfContentsList: "Innehållsförteckning",
	theme: "Tema",
	thumbnailList: "Miniatyrlista",
	thumbnailNavigation: "Miniatyrer",
	thumbnails: "Miniatyrer",
	toggleWindowSideBar: "Visa/dölj sidofält",
	totalCollections_one: "{{count}} samlingar",
	totalManifests_one: "{{count}} manifest",
	tryAgain: "Försök igen",
	untitled: "[namnlös]",
	view: "Vy",
	welcome: "Välkommen till Mirador",
	window: "Fönster: {{label}}",
	windowMenu: "Fönstervyer & miniatyrdisplay",
	windowNavigation: "Fönsternavigation",
	windowPluginButtons: "Inställningar",
	windowPluginMenu: "Fönsterinställningar",
	workspace: "Arbetsyta",
	workspaceFullScreen: "Helskärmsläge",
	workspaceMenu: "Inställningar för arbetsyta",
	workspaceNavigation: "Navigera i arbetsyta",
	workspaceOptions: "Fler val för arbetsyta",
	workspaceSelectionTitle: "Välj typ av arbetsyta",
	zoomIn: "Zooma in",
	zoomOut: "Zooma ut",
	zoomReset: "Återställ zoom"
} }, Zf = { translation: {
	aboutMirador: "Apie Project Mirador",
	aboutThisItem: "Apie šį įrašą",
	addedFromUrl: "(Pridėta naudojant URL)",
	addManifestUrl: "Šaltinio adresas",
	addManifestUrlHelp: "Nuoroda į IIIF šaltinį",
	addResource: "Pridėti šaltinį",
	"annotationCanvasLabel_1/1": "Įrašas: [{{label}}]",
	"annotationCanvasLabel_1/2": "Kairė: [{{label}}]",
	"annotationCanvasLabel_2/2": "Dešinė: [{{label}}]",
	annotations: "Anotacijos",
	attribution: "Priskyrimas",
	attributionTitle: "Teisės",
	authenticationFailed: "Autentifikavimo klaida.",
	authenticationRequired: "Pilnai prieigai būtina autentifikacija",
	backToResults: "Grįžti į rezultatus",
	book: "Knyga",
	bottom: "Apačia",
	cancel: "Atšaukti",
	canvasIndex: "Indeksas",
	changeTheme: "Keisti temą",
	clearSearch: "valyti",
	closeAddResourceForm: "Uždaryti paraišką",
	closeAddResourceMenu: "Uždaryti šaltinių sąrašą",
	closeCompanionWindow: "Uždaryti panelę",
	closeWindow: "Uždaryti langą",
	collapseSection: "Suskleisti \"{{section}}\" sekciją",
	collapseSidePanel: "Suskleisti šoninę juostą",
	continue: "Tęsti",
	copy: "Kopijuoti",
	currentItem: "Dabartinis įrašas",
	"currentItem_1/1": "Dabartinis įrašas",
	"currentItem_1/2": "Kairė",
	"currentItem_2/2": "Dešinė",
	dark: "Tamsi tema",
	digitizedView: "Skaitmenintas vaizdas",
	dismiss: "Atmesti",
	displayNoAnnotations: "Slėpti viską",
	downloadExport: "Išsaugoti darbalaukį",
	downloadExportWorkspace: "Išsaugoti darbalaukį",
	elastic: "Lankstus",
	elasticDescription: "Langų dydis ir vieta gali būti laisvai valdomi. Langai gali persidengti.",
	emptyResourceList: "Jūsų šaltinių sąrašas yra tuščias",
	error: "Klaida",
	errorDialogConfirm: "Gerai",
	errorDialogTitle: "Įvyko klaida",
	exitFullScreen: "Išjungti pilno ekrano režimą",
	expandSection: "Išplėsti \"{{section}}\" sekciją",
	expandSidePanel: "Išplėsti šoninę juostą",
	exportCopied: "Darbalaukio nustatymai nukopijuoti",
	fetchManifest: "Pridėti",
	fullScreen: "Pilnas ekranas",
	gallery: "Galerija",
	hideZoomControls: "Slėpti priartinimo valdymą",
	highlightAllAnnotations: "Paryškinti viską",
	iiif_homepage: "Apie šį šaltinį",
	iiif_manifest: "IIIF manifestas",
	iiif_renderings: "Kiti formatai",
	iiif_seeAlso: "Susiję",
	import: "Įkelti",
	importWorkspace: "Įkelti darbalaukį",
	importWorkspaceHint: "Įterpkite Mirador 4 nustatymus įkėlimui",
	item: "Įrašas: {{label}}",
	itemList: "Įrašų sąrašas",
	jsError: "Techninė informacija",
	jsStack: "{{ stack }}",
	language: "Kalba",
	layer_hide: "Slėpti sluoksnį",
	layer_move: "Perkelti sluoksnį",
	layer_opacity: "Sluoksnio nepermatomumas",
	layer_show: "Rodyti sluoksnį",
	layers: "Sluoksniai",
	light: "Šviesi tema",
	links: "Nuorodos",
	listAllOpenWindows: "Rodyti aktyvius langus",
	login: "Prisijungti",
	logout: "Atsijungti",
	manifestError: "Šaltinis negali būti pridėtas:",
	maximizeWindow: "Išdidinti langą",
	minimizeWindow: "Sumažinti langą",
	mirador: "Mirador",
	miradorResources: "Mirador šaltiniai",
	miradorViewer: "Mirador žiūryklė",
	more: "daugiau...",
	moreResults: "Daugiau rezultatų",
	mosaic: "Mosaic",
	mosaicDescription: "Langų dydžio ir pozicijos keitimai apribojami ekrano erdvėje.",
	moveCompanionWindowToBottom: "Perkelti į apačią",
	moveCompanionWindowToRight: "Perkelti į dešinę",
	nextCanvas: "Kitas įrašas",
	numItems_one: "{{number}} įrašas (-ai)",
	off: "Išjungti",
	openCompanionWindow_annotations: "Anotacijos",
	openCompanionWindow_attribution: "Teisės",
	openCompanionWindow_canvas: "Indeksas",
	openCompanionWindow_info: "Informacija",
	openCompanionWindow_layers: "Sluoksniai",
	openCompanionWindow_search: "Paieška",
	openInCompanionWindow: "Atidaryti kaip naują panelę",
	openWindows: "Aktyvųs langai",
	pagination: "{{current}} iš {{total}}",
	position: "Pozicija",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Buvęs įrašas",
	related: "Susiję",
	resource: "Šaltinis",
	retry: "Pabandyti iš naujo",
	right: "Dešinė",
	rights: "Teisės",
	scroll: "Paslinkti",
	searchInputLabel: "paieškos terminas",
	searchNextResult: "Kitas rezultatas",
	searchNoResults: "Nėra rezultatų",
	searchPreviousResult: "Buvęs rezultatas",
	searchSubmitAria: "Pateikti paieškos užklausą",
	searchTitle: "Ieškoti",
	selectWorkspaceMenu: "Pasirinkti darbalaukio tipą",
	showCollection: "Rodyti kolekciją",
	showingNumAnnotations_one: "Rodoma {{number}} anotacija (-os)",
	showZoomControls: "Rodyti priartinimo valdymą",
	sidebarPanelsNavigation: "Šoninės juostos valdymas",
	single: "Atskiras",
	startHere: "Pradėkite čia",
	suggestSearch: "Ieškoti \"{{ query }}\" visame documente",
	tableOfContentsList: "Turinys",
	theme: "Tema",
	thumbnailList: "Miniatiūrų sąrašas",
	thumbnailNavigation: "Miniatiūros",
	thumbnails: "Miniatiūros",
	toggleWindowSideBar: "Perjungti šoninę juostą",
	totalCollections_one: "{{count}} kolekcija (-os)",
	totalManifests_one: "{{count}} šaltinis (-iai)",
	tryAgain: "Bandykite dar kartą",
	untitled: "[Be pavadinimo]",
	view: "Žiūrėti",
	welcome: "Sveiki atvykę į Mirador",
	window: "Langas: {{label}}",
	windowMenu: "Langų & miniatiūrų atvaizdavimas",
	windowNavigation: "Langų valdymas",
	windowPluginButtons: "Pasirinkimai",
	windowPluginMenu: "Langų pasirinkimai",
	workspace: "Darbalaukis",
	workspaceFullScreen: "Pilnas ekranas",
	workspaceMenu: "Darbalaukio nustatymai",
	workspaceNavigation: "Darbalaukio valdymas",
	workspaceOptions: "Darbalaukio pasirinkimai",
	workspaceSelectionTitle: "Pasirinkite darbalaukio tipą",
	zoomIn: "Priartinti",
	zoomOut: "Atitolinti",
	zoomReset: "Atstatyti priartinimą"
} }, Qf = { translation: {
	aboutMirador: "Về dự án Mirador",
	aboutThisItem: "Về khoản mục này",
	addedFromUrl: "(Được thêm từ URL)",
	addManifestUrl: "Vị trí tài nguyên",
	addManifestUrlHelp: "URL của tài nguyên IIIF",
	addResource: "Bổ sung tài nguyên",
	"annotationCanvasLabel_1/1": "Khoản mục: [{{label}}]",
	"annotationCanvasLabel_1/2": "Trái: [{{label}}]",
	"annotationCanvasLabel_2/2": "Phải: [{{label}}]",
	annotations: "Chú giải",
	attribution: "Quyền hạn",
	attributionTitle: "Quyền",
	authenticationFailed: "Xác thực thất bại.",
	authenticationRequired: "Xác thực được yêu cầu cho truy nhập đầy đủ",
	backToResults: "Trở lại kết quả",
	book: "Sách",
	bottom: "Đáy",
	cancel: "Huỷ bỏ",
	canvasIndex: "Chỉ mục",
	changeTheme: "Đổi chủ đề",
	clearSearch: "xoá",
	close: "Đóng",
	closeAddResourceForm: "Đóng mẫu",
	closeAddResourceMenu: "Đóng danh sách tài nguyên",
	closeCompanionWindow: "Đóng panel",
	closeWindow: "Đóng cửa sổ",
	collapseSection: "Co sập {{section}} mục",
	collapseSidePanel: "Co sập thanh bên",
	collection: "Tuyển tập",
	continue: "Tiếp tục",
	copy: "Sao",
	currentItem: "Khoản mục hiện thời",
	"currentItem_1/1": "Khoản mục hiện thời",
	"currentItem_1/2": "Trái",
	"currentItem_2/2": "Phải",
	dark: "Chủ đề tối",
	digitizedView: "Cái nhìn số hoá",
	dismiss: "Bác bỏ",
	displayNoAnnotations: "Không làm nổi bật",
	downloadExport: "Vùng xuất khẩu",
	downloadExportWorkspace: "Vùng xuất khẩu",
	elastic: "Co giãn",
	elasticDescription: "Di chuyển và định cỡ cửa sổ tự do trong vùng vô giới hạn. Cửa sổ có thể chèn lấp.",
	emptyResourceList: "Danh sách tài nguyên của bạn là trống",
	error: "Lỗi",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Lỗi đã xuất hiện",
	exitFullScreen: "Ra khỏi toàn màn hình",
	expandSection: "Mở rộng {{section}} mục",
	expandSidePanel: "Mở rộng thanh bên",
	exportCopied: "Cấu hình vùng làm việc được sao vào bảng đệm của bạn",
	fetchManifest: "Thêm",
	fullScreen: "Toàn màn hình",
	gallery: "Phòng tranh",
	hideZoomControls: "Ẩn điều khiển thu phóng",
	highlightAllAnnotations: "Làm nổi bật tất",
	iiif_homepage: "Về tài nguyên này",
	iiif_manifest: "Bản kê IIIF",
	iiif_renderings: "Dạng thức luân phiên",
	iiif_seeAlso: "Cũng xem",
	import: "Nhập khẩu",
	importWorkspace: "Vùng nhập khẩu",
	importWorkspaceHint: "Dán cấu hình Mirador 4 để được nhập khẩu",
	item: "Khoản mục: {{label}}",
	itemList: "Danh sách khoản mục",
	jsError: "Chi tiết kĩ thuật",
	jsStack: "{{ stack }}",
	language: "Ngôn ngữ",
	layer_hide: "Giấu tầng",
	layer_move: "Chuyển tầng",
	layer_opacity: "Làm mờ tầng",
	layer_show: "Hiện tầng",
	layers: "Tầng",
	light: "Chủ đề sáng",
	links: "Móc nối",
	listAllOpenWindows: "Nhảy tới cửa sổ",
	login: "Đăng nhập",
	logout: "Đăng xuất",
	manifestError: "Tài nguyên không thể được bổ sung:",
	maximizeWindow: "Cực đại cửa sổ",
	minimizeWindow: "Cực tiểu cửa sổ",
	mirador: "Mirador",
	miradorResources: "Tài nguyên Mirador",
	miradorViewer: "Bộ xem Mirador",
	more: "thêm...",
	moreResults: "Thêm kết quả",
	mosaic: "Mosaic",
	mosaicDescription: "Di chuyển và định cỡ cửa sổ trong quan hệ lẫn nhau, bên trong khung thấy được.",
	moveCompanionWindowToBottom: "Chuyển tới đáy",
	moveCompanionWindowToRight: "Chuyển sang phải",
	nextCanvas: "Khoản mục tiếp",
	noItemSelected: "Không khoản mục nào được chọn",
	numItems_one: "{{number}} khoản mục",
	off: "Off",
	openCompanionWindow_annotations: "Chú giải",
	openCompanionWindow_attribution: "Quyền",
	openCompanionWindow_canvas: "Chỉ mục",
	openCompanionWindow_info: "Thông tin",
	openCompanionWindow_layers: "Tầng",
	openCompanionWindow_search: "Tìm",
	openInCompanionWindow: "Mở trong ngăn tách rời",
	openWindows: "Cửa sổ mở hiện thời",
	pagination: "{{current}} trong {{total}}",
	position: "Vị trí",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Khoản mục trước",
	related: "Có liên quan",
	resource: "Tài nguyên",
	retry: "Thử lại",
	right: "Quyền",
	rights: "Cấp phép",
	scroll: "Cuộn",
	searchInputLabel: "Từ tìm kiếm",
	searchNextResult: "Kết quả tiếp",
	searchNoResults: "Không tìm được kết quả nào",
	searchPreviousResult: "Kết quả trước",
	searchSubmitAria: "Đệ trình việc tìm",
	searchTitle: "Tìm",
	selectWorkspaceMenu: "Chọn kiểu vùng làm việc",
	showCollection: "Hiện bộ sưu tập",
	showingNumAnnotations_one: "Hiện {{number}} chú giải",
	showZoomControls: "Hiện kiểm soát thu phóng",
	sidebarPanelsNavigation: "Dẫn lái ngăn thanh bên",
	single: "Chỉ một",
	startHere: "Bắt đầu ở đây",
	suggestSearch: "Tìm tài liệu này cho \"{{ query }}\"",
	tableOfContentsList: "Mục lục",
	theme: "Chủ đề",
	thumbnailList: "Danh sách ảnh thu nhỏ",
	thumbnailNavigation: "Ảnh thu nhỏ",
	thumbnails: "Ảnh thu nhỏ",
	toggleWindowSideBar: "chốt thanh bên",
	totalCollections_one: "{{count}} bộ sưu tập",
	totalManifests_one: "{{count}} bản kê",
	tryAgain: "Thử lại",
	untitled: "[Untitled]",
	view: "Xem",
	welcome: "Chào mừng bạn tới Mirador",
	window: "Cửa sổ: {{label}}",
	windowMenu: "Xem cửa sổ & hiển thị ảnh thu nhỏ",
	windowNavigation: "Dẫn lái cửa sổ",
	windowPluginButtons: "Tuỳ chọn",
	windowPluginMenu: "Tuỳ chọn cửa sổ",
	workspace: "Vùng làm việc",
	workspaceFullScreen: "Toàn màn hình",
	workspaceMenu: "Thiết đặt vùng làm việc",
	workspaceNavigation: "Dẫn lái vùng làm việc",
	workspaceOptions: "Tuỳ chọn vùng làm việc",
	workspaceSelectionTitle: "Chọn kiểu vùng làm việc",
	zoomIn: "Thu nhỏ",
	zoomOut: "Phóng to",
	zoomReset: "Đặt lại thu phóng"
} }, $f = { translation: {
	aboutMirador: "За проекта Mirador",
	aboutThisItem: "За този елемент",
	addedFromUrl: "(Добавено от линк)",
	addManifestUrl: "Адрес на ресурса",
	addManifestUrlHelp: "Адресът на IIIF ресурса",
	addResource: "Добавяне на ресурс",
	"annotationCanvasLabel_1/1": "Елемент: [{{label}}]",
	"annotationCanvasLabel_1/2": "Ляво: [{{label}}]",
	"annotationCanvasLabel_2/2": "Дясно: [{{label}}]",
	annotations: "Анотации",
	attribution: "Принос",
	attributionTitle: "Права",
	authenticationFailed: "Неуспешна аутентикация.",
	authenticationRequired: "Необходима е аутентикация за пълен достъп",
	backToResults: "Назад към ресултатите",
	book: "Книга",
	bottom: "Долу",
	cancel: "Отказ",
	canvasIndex: "Индекс",
	changeTheme: "Промяна на темата",
	clearSearch: "изчистване",
	close: "Затвори",
	closeAddResourceForm: "Затваряне на формата",
	closeAddResourceMenu: "Затваряне на списъка с ресурси",
	closeCompanionWindow: "Затваряне на панела",
	closeWindow: "Затваряне на прозореца",
	collapseSection: "Свиване на секция \"{{section}}\"",
	collapseSidePanel: "Свиване на страничен панел",
	collection: "Колекция",
	continue: "Продължи",
	copy: "Копиране",
	currentItem: "Текущ елемент",
	"currentItem_1/1": "Текущ елемент",
	"currentItem_1/2": "Ляво",
	"currentItem_2/2": "Дясно",
	dark: "Тъмен режим",
	digitizedView: "Цифровизиран преглед",
	dismiss: "Отхвърляне",
	displayNoAnnotations: "Изчистване на маркирането",
	downloadExport: "Експорт на работното пространство",
	downloadExportWorkspace: "Експорт на работното пространство",
	elastic: "Еластичен",
	elasticDescription: "Премествайте и оразмерявайте прозорците свободно в неограничено работно пространство. Прозорците могат да се застъпват.",
	emptyResourceList: "Списъкът с ресурси е празен",
	error: "Грешка",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Възникна грешка",
	exitFullScreen: "Изход от цял екран",
	expandSection: "Разширяване на секция \"{{section}}\"",
	expandSidePanel: "разширяване на страничния панел",
	exportCopied: "Конфигурацията на работното пространство е копирана в клипборда",
	fetchManifest: "Добавяне",
	fullScreen: "Цял екран",
	gallery: "Галерия",
	hideZoomControls: "Скриване на контролите за мащабиране",
	highlightAllAnnotations: "Маркиране на всичко",
	iiif_homepage: "За този ресурс",
	iiif_manifest: "IIIF манифест",
	iiif_related: "Свързано",
	iiif_renderings: "Алтернативни формати",
	iiif_seeAlso: "Вижте също",
	import: "Импорт",
	importWorkspace: "Импорт на работно пространство",
	importWorkspaceHint: "Поставете Mirador 4 конфигурация за импорт",
	item: "Елемент: {{label}}",
	itemList: "Списък с елементи",
	jsError: "Технически детайли",
	jsStack: "{{ stack }}",
	language: "Език",
	layer_hide: "Скриване на слой",
	layer_move: "Преместване на слой",
	layer_opacity: "Прозрачност на слой",
	layer_show: "Показване на слой",
	layers: "Слоеве",
	light: "Светъл режим",
	links: "Връзки",
	listAllOpenWindows: "Към прозорец",
	login: "Вход",
	logout: "Изход",
	manifestError: "Ресурсът не може да бъде добавен:",
	maximizeWindow: "Увеличаване на прозореца",
	minimizeWindow: "Минимизиране на прозореца",
	mirador: "Mirador",
	miradorResources: "Mirador ресурси",
	miradorViewer: "Mirador viewer",
	more: "още...",
	moreResults: "Още резултати",
	mosaic: "Мозайка",
	mosaicDescription: "Премествайте и оразмерявайте прозорците помежду им в рамките на видимата рамка.",
	moveCompanionWindowToBottom: "Преместване отдолу",
	moveCompanionWindowToRight: "Преместване вдясно",
	multipartCollection: "Колекция от много части",
	nextCanvas: "Следващ елемент",
	noItemSelected: "Не е избран елемент",
	numItems: "{{number}} елемент",
	numItems_plural: "{{number}} елемента",
	off: "Изключено",
	openCompanionWindow_annotations: "Анотации",
	openCompanionWindow_attribution: "Права",
	openCompanionWindow_canvas: "Индекс",
	openCompanionWindow_info: "Информация",
	openCompanionWindow_layers: "Слоеве",
	openCompanionWindow_search: "Търсене",
	openInCompanionWindow: "Отваряне в отделен панел",
	openWindows: "Текущо отворени прозорци",
	pagination: "{{current}} от {{total}}",
	position: "Позиция",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Предишен елемент",
	related: "Свързано",
	resource: "Ресурс",
	retry: "Опитайте отново",
	right: "Дясно",
	rights: "Лиценз",
	scroll: "Скрол",
	searchInputLabel: "термини за търсене",
	searchNextResult: "Следващ резултат",
	searchNoResults: "Не са намерени резултати",
	searchPreviousResult: "Предишен резултат",
	searchResultsRemaining: "{{numLeft}} оставащи",
	searchSubmitAria: "Търси",
	searchTitle: "Търсене",
	selectWorkspaceMenu: "Посочете тип работно пространство",
	showCollection: "Показване на колекция",
	showingNumAnnotations: "Показване на {{number}} анотация",
	showingNumAnnotations_plural: "Показване на {{number}} анотации",
	showZoomControls: "Показване на контролите за мащабиране",
	sidebarPanelsNavigation: "Навигация на страничните панели",
	single: "Единичен",
	startHere: "Започнете оттук",
	suggestSearch: "Търсене в този документ за \"{{ query }}\"",
	tableOfContentsList: "Съдържание",
	theme: "Тема",
	thumbnailList: "Списък с представителни изображения",
	thumbnailNavigation: "Представителни изображения",
	thumbnails: "Представителни изображения",
	toggleWindowSideBar: "Превключване на страничния панел",
	totalCollections: "{{count}} колекция",
	totalCollections_plural: "{{count}} колекции",
	totalManifests: "{{count}} манифест",
	totalManifests_plural: "{{count}} манифеста",
	tryAgain: "Опитайте отново",
	untitled: "[Неозаглавено]",
	view: "Изглед",
	viewWorkspaceConfiguration: "Преглед на конфигурацията на работното пространство",
	welcome: "Добре дошли в Mirador",
	window: "Прозорец: {{label}}",
	windowMenu: "Изгледи на прозорците и на елементите",
	windowNavigation: "Навигация на прозорците",
	windowPluginButtons: "Настройки",
	windowPluginMenu: "Настройки на прозорците",
	workspace: "Работно пространство",
	workspaceFullScreen: "Цял екран",
	workspaceMenu: "Настройки на работното пространство",
	workspaceNavigation: "Навигация на работното пространство",
	workspaceOptions: "Опции за работното пространство",
	workspaceSelectionTitle: "Изберете тип на работно пространство",
	zoomIn: "Увеличаване",
	zoomOut: "Намаляване",
	zoomReset: "Нулиране"
} }, ep = { translation: {
	aboutMirador: "Om Projekt Mirador",
	aboutThisItem: "Om dette objektet",
	addedFromUrl: "(Lagt til fra URL)",
	addManifestUrl: "Nettadresse til samling eller manifest",
	addManifestUrlHelp: "URL til en IIIF-ressurs",
	addResource: "Legg til ressurs",
	"annotationCanvasLabel_1/1": "Objekt: [{{label}}]",
	"annotationCanvasLabel_1/2": "Venstre: [{{label}}]",
	"annotationCanvasLabel_2/2": "Høyre: [{{label}}]",
	annotations: "Annoteringer",
	attribution: "Tilskrivelse",
	attributionTitle: "Rettigheter",
	authenticationFailed: "Autentiseringen feilet.",
	authenticationRequired: "Autentisering kreves for full tilgang",
	backToResults: "Tilbake til resultat",
	book: "Bok",
	bottom: "Nederst",
	cancel: "Avbryt",
	canvasIndex: "Index",
	changeTheme: "Skift tema",
	clearSearch: "Fjern søket",
	close: "Lukk",
	closeAddResourceForm: "Lukk skjemaet",
	closeAddResourceMenu: "Lukk ressurslisten",
	closeCompanionWindow: "Lukk panelet",
	closeWindow: "Lukk vinduet",
	collapseSection: "Lukk seksjonen \"{{section}}\"",
	collapseSidePanel: "Lukk sidemenyen",
	collection: "Samling",
	continue: "Fortsett",
	copy: "Kopiere",
	currentItem: "Valgt objekt",
	"currentItem_1/1": "Valgt objekt",
	"currentItem_1/2": "Venstre",
	"currentItem_2/2": "Høyre",
	dark: "Mørkt tema",
	digitizedView: "Digitalisert visning",
	dismiss: "Lukk",
	displayNoAnnotations: "Avmarkér alle",
	downloadExport: "Eksportér arbeidsområde",
	downloadExportWorkspace: "Eksportér arbeidsområde",
	elastic: "Elastisk",
	elasticDescription: "Flytt og endre størrelsen på vinduet fritt i et ubegrenset arbeidsområde. Vindu kan overlappe.",
	emptyResourceList: "Din resursliste er tom",
	error: "Error",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Et problem oppstod",
	exitFullScreen: "Forlat fullskjermsvisning",
	expandSection: "Ekspandér seksjonen \"{{section}}\"",
	expandSidePanel: "Ekspandér sidemenyen",
	exportCopied: "Konfiguration av arbeidsområdet ble kopiert til din utklippstavle",
	fetchManifest: "Legg til",
	fullScreen: "Fullskjermsvisning",
	gallery: "Galleri",
	hideZoomControls: "Skjul zoomkontroll",
	highlightAllAnnotations: "Markér alle",
	iiif_homepage: "Om denne ressursen",
	iiif_manifest: "IIIF manifest",
	iiif_renderings: "Alternativt format",
	iiif_seeAlso: "Se også",
	import: "Importér",
	importWorkspace: "Importér arbeidsområde",
	importWorkspaceHint: "Lim inn en Mirador 4 konfigurasjon for import",
	item: "Objekt: {{label}}",
	itemList: "Objektliste",
	jsError: "Tekniske detaljer",
	jsStack: "{{ stack }}",
	language: "Språk",
	layer_hide: "Skjul lag",
	layer_move: "Flytt lag",
	layer_opacity: "Lag-gjennomsiktighet",
	layer_show: "Vis lag",
	layers: "Lag",
	light: "Lyst tema",
	links: "Lenker",
	listAllOpenWindows: "Gå til vindu",
	login: "Logg inn",
	logout: "Logg ut",
	manifestError: "Ressursen kan ikke legges til:",
	maximizeWindow: "Maksimér vinduet",
	minimizeWindow: "Minimér vinduet",
	mirador: "Mirador",
	miradorResources: "Miradorressurser",
	miradorViewer: "Mirador bildeviser",
	more: "mer...",
	moreResults: "Flere resultat",
	mosaic: "Mosaik",
	mosaicDescription: "Flytt og endre størrelse på vinduet i relasjon til hverandre, innenfor den synlige rammen.",
	moveCompanionWindowToBottom: "Flytt til bunnen",
	moveCompanionWindowToRight: "Flytt til høyre",
	nextCanvas: "Neste objekt",
	noItemSelected: "Ingen valgte objekt",
	numItems_one: "{{number}} objekt",
	numItems_other: "{{number}} objekter",
	off: "Av",
	openCompanionWindow_annotations: "Annoteringer",
	openCompanionWindow_attribution: "Rettigheter",
	openCompanionWindow_canvas: "Indeks",
	openCompanionWindow_info: "Informasjon",
	openCompanionWindow_layers: "Lag",
	openCompanionWindow_search: "Søk",
	openInCompanionWindow: "Åpne i eget panel",
	openWindows: "Åpne vindu",
	pagination: "{{current}} av {{total}}",
	position: "Posisjon",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Forrige objekt",
	related: "Relatert",
	resource: "Ressurs",
	retry: "Forsøk igjen",
	right: "Til høyre",
	rights: "Lisens",
	scroll: "Bla",
	searchInputLabel: "Søkeord",
	searchNextResult: "Neste resultat",
	searchNoResults: "Ingen treff",
	searchPreviousResult: "Forrige resultat",
	searchResultsRemaining: "{{numLeft}} igjen",
	searchSubmitAria: "Søk",
	searchTitle: "Søk",
	selectWorkspaceMenu: "Velg arbeidsområde-type",
	showCollection: "Vis samling",
	showingNumAnnotations_one: "Vis {{number}} annotasjon",
	showingNumAnnotations_other: "Vis {{number}} annotasjoner",
	showZoomControls: "Vis zoomkontroll",
	sidebarPanelsNavigation: "Sidemeny-panel navigering",
	single: "En og en",
	startHere: "Start her",
	suggestSearch: "Søk etter \"{{ query }}\" i dette dokument",
	tableOfContentsList: "Innholdsfortegnelse",
	theme: "Tema",
	thumbnailList: "Miniatyrliste",
	thumbnailNavigation: "Miniatyrer",
	thumbnails: "Miniatyrer",
	toggleWindowSideBar: "Vis/skjul sidemenyen",
	totalCollections_one: "{{count}} samling",
	totalCollections_other: "{{count}} samlinger",
	totalManifests_one: "{{count}} manifest",
	totalManifests_other: "{{count}} manifester",
	tryAgain: "Forsøk igjen",
	untitled: "[uten tittel]",
	view: "Visning",
	viewWorkspaceConfiguration: "Vis konfigurasjon av arbeidsområde.",
	welcome: "Velkommen til Mirador",
	window: "Vindu: {{label}}",
	windowMenu: "Vindusvisning & miniatyrvisning",
	windowNavigation: "Vindusnavigasjon",
	windowPluginButtons: "Innstillinger",
	windowPluginMenu: "Vindusinnstillinger",
	workspace: "Arbeidsområde",
	workspaceFullScreen: "Fullskjermsvisning",
	workspaceMenu: "Innstillinger for arbeidsområdet",
	workspaceNavigation: "Navigasjon i arbeidsområdet",
	workspaceOptions: "Flere valg for arbeidsområdet",
	workspaceSelectionTitle: "Velg arbeidsområde-type",
	zoomIn: "Zoom inn",
	zoomOut: "Zoom ut",
	zoomReset: "Tilbakestill zoom"
} }, tp = { translation: {
	aboutMirador: "A Mirador Project weboldala",
	aboutThisItem: "Elem adatai",
	addedFromUrl: "(URL-ként hozzáadva)",
	addManifestUrl: "Manifest URL",
	addManifestUrlHelp: "Az IIIF-dokumentum hivatkozása",
	addResource: "Hozzáadás",
	"annotationCanvasLabel_1/1": "Elem: [{{label}}]",
	"annotationCanvasLabel_1/2": "Balra: [{{label}}]",
	"annotationCanvasLabel_2/2": "Jobbra: [{{label}}]",
	annotations: "Megjegyzések",
	attribution: "Tulajdon",
	attributionTitle: "Szerzői jogok",
	authenticationFailed: "Sikertelen bejelentkezés",
	authenticationRequired: "A teljes eléréshez bejelentkezés szükséges",
	backToResults: "Vissza a találatokhoz",
	book: "Könyv",
	bottom: "Lent",
	cancel: "Mégsem",
	canvasIndex: "Index",
	changeTheme: "Téma módosítása",
	clearSearch: "törlés",
	close: "Bezárás",
	closeAddResourceForm: "Bezárás",
	closeAddResourceMenu: "Lista bezárása",
	closeCompanionWindow: "Panel bezárása",
	closeWindow: "Ablak bezárása",
	collapseSection: "\"{{section}}\" rész bezárása",
	collapseSidePanel: "Oldalsáv elrejtése",
	collection: "Gyűjtemény",
	continue: "Folytatás",
	copy: "Másolás",
	currentItem: "Aktuális elem",
	"currentItem_1/1": "Aktuális elem",
	"currentItem_1/2": "Balra",
	"currentItem_2/2": "Jobbra",
	dark: "Sötét téma",
	digitizedView: "Digitalizált nézet",
	dismiss: "Bezár",
	displayNoAnnotations: "Annotációk elrejtése",
	downloadExport: "Munkaterület exportálása",
	downloadExportWorkspace: "Munkaterület exportálása",
	elastic: "Elastic",
	elasticDescription: "Szabadon mozgathatja az ablakokat, akár fedhetik is egymást.",
	emptyResourceList: "A forráslista üres",
	error: "Hiba",
	errorDialogConfirm: "OK",
	errorDialogTitle: "Hiba történt",
	exitFullScreen: "Teljes képernyő bezárása",
	expandSection: "\"{{section}}\" rész kinyitása",
	expandSidePanel: "Oldalsáv kinyitása",
	exportCopied: "Munkaterület beállításai vágólapra másolva",
	fetchManifest: "Hozzáadás",
	fullScreen: "Teljes képernyő",
	gallery: "Galéria",
	hideZoomControls: "Zoom eszközök elrejtése",
	highlightAllAnnotations: "Annotációk megjelenítése",
	iiif_homepage: "Dokumentum adatai",
	iiif_manifest: "IIIF manifest",
	iiif_related: "Kapcsolódó",
	iiif_renderings: "Más formátumok",
	iiif_seeAlso: "Lásd még",
	import: "Importálás",
	importWorkspace: "Munkaterület importálása",
	importWorkspaceHint: "Illesszen be egy Mirador 4 konfigurációt",
	item: "Elem: {{label}}",
	itemList: "Tartalomjegyzék",
	jsError: "Technikai adatok",
	jsStack: "{{ stack }}",
	language: "Nyelv",
	layer_hide: "Réteg elrejtése",
	layer_move: "Réteg mozgatása",
	layer_moveToBackground: "Réteg mozgatása hátra",
	layer_moveToFront: "Réteg mozgatása előre",
	layer_opacity: "Réteg átlátszósága",
	layer_show: "Réteg megjelenítése",
	layers: "Rétegek",
	light: "Világos téma",
	links: "Linkek",
	listAllOpenWindows: "Ablakok",
	login: "Bejelentkezés",
	logout: "Kijelentkezés",
	manifestError: "Nem sikerült a hozzáadás:",
	maximizeWindow: "Teljes méretű ablak",
	minimizeWindow: "Előző méret",
	mirador: "Mirador",
	miradorResources: "Mirador dokumentumok",
	miradorViewer: "Mirador viewer",
	more: "több...",
	moreResults: "További találatok",
	mosaic: "Mozaik",
	mosaicDescription: "Ablakok mozgatása és átméretezése megadott területen.",
	moveCompanionWindowToBottom: "Mozgatás lefelé",
	moveCompanionWindowToRight: "Mozgatás jobbra",
	multipartCollection: "Összetett gyűjtemény",
	nextCanvas: "Következő",
	noItemSelected: "Nincs kiválasztott elem",
	numItems_one: "{{number}} elem",
	numItems_other: "{{number}} elem",
	off: "Nincs",
	openCompanionWindow_annotations: "Megjegyzések",
	openCompanionWindow_attribution: "Szerzői jogok",
	openCompanionWindow_canvas: "Tartalomjegyzék",
	openCompanionWindow_info: "Információ",
	openCompanionWindow_layers: "Rétegek",
	openCompanionWindow_search: "Keresés",
	openInCompanionWindow: "Megnyitás új panelen",
	openWindows: "Megnyitott ablakok",
	pagination: "{{current}} / {{total}}",
	position: "Pozíció",
	previewWindowTitle: "{{title}}",
	previousCanvas: "Előző",
	related: "Kapcsolódó",
	resource: "Adatok",
	retry: "Űjra",
	right: "Jobbra",
	rights: "Licensz",
	scroll: "Görgetés",
	searchInputLabel: "kereső szavak",
	searchNextResult: "Következő találat",
	searchNoResults: "Nincs találat",
	searchPreviousResult: "Előző találat",
	searchResultsRemaining: "{{numLeft}} van hátra",
	searchSubmitAria: "Keresés",
	searchTitle: "Keresés",
	selectWorkspaceMenu: "Munkaterület típusának kiválasztása",
	showCollection: "Gyűjtemény megjelenítése",
	showingNumAnnotations_one: "{{number}} megjegyzés megjelenítve",
	showingNumAnnotations_other: "{{number}} megjegyzés megjelenítve",
	showZoomControls: "Zoom eszközök megjelenítése",
	sidebarPanelsNavigation: "Oldalsáv navigáció",
	single: "Egyoldalas",
	startHere: "Hozzáadás",
	suggestSearch: "Keresés: \"{{ query }}\"",
	tableOfContentsList: "Tartalomjegyzék",
	theme: "Téma",
	thumbnailList: "Előnézeti képek listája",
	thumbnailNavigation: "Előnézeti képek",
	thumbnails: "Előnézeti képek",
	toggleWindowSideBar: "Oldalsáv ki/bekapcsolása",
	totalCollections_one: "{{count}} gyűjtemény",
	totalCollections_other: "{{count}} gyűjtemény",
	totalManifests_one: "{{count}} manifest",
	totalManifests_other: "{{count}} manifest",
	tryAgain: "Próbálja újra",
	untitled: "[Névtelen]",
	view: "Megtekintés",
	viewWorkspaceConfiguration: "Munkaterület beállítások",
	welcome: "Üdvözli a Mirador",
	window: "Ablak: {{label}}",
	windowMenu: "Megjelenítési mód & előnézet",
	windowNavigation: "Ablakok kezelése",
	windowPluginButtons: "Beállítások",
	windowPluginMenu: "További lehetőségek",
	workspace: "Munkaterület",
	workspaceFullScreen: "Teljes képernyő",
	workspaceMenu: "Munkaterület beállítások",
	workspaceNavigation: "Workspace navigation",
	workspaceOptions: "Munkaterület lehetőségek",
	workspaceSelectionTitle: "Munkaterület típusa",
	zoomIn: "Nagyítás",
	zoomOut: "Kicsinyítés",
	zoomReset: "Képméret ablakhoz igazítása"
} }, np = { translation: /* @__PURE__ */ JSON.parse("{\"aboutMirador\":\"மிரடோர்  திட்டம் பற்றி\",\"aboutThisItem\":\"இந்த உருப்படியைப் பற்றி\",\"addedFromUrl\":\"(உரலியிலிருந்து சேர்க்கப்பட்டது)\",\"addManifestUrl\":\"வள இருப்பிடம்\",\"addManifestUrlHelp\":\"ஒரு IIIF வளத்தின் உரலி\",\"addResource\":\"வளத்தைச் சேர்க்கவும்\",\"annotationCanvasLabel_1/1\":\"உருப்படி: [{{label}}]\",\"annotationCanvasLabel_1/2\":\"இடது: [{{label}}]\",\"annotationCanvasLabel_2/2\":\"வலது: [{{label}}]\",\"annotations\":\"குறிப்புரைகள்\",\"attribution\":\"பண்புக்கூறு\",\"attributionTitle\":\"உரிமைகள்\",\"authenticationFailed\":\"அடையாளச் சரிபார்ப்பு தோல்வியடைந்தது\",\"authenticationRequired\":\"முழு அணுகலுக்கு அடையாளச் சரிபார்ப்பு அவசியம்\",\"backToResults\":\"முடிவுகளுக்குத் திரும்பு\",\"book\":\"நூல்\",\"bottom\":\"கீழ்\",\"cancel\":\"நீக்குக\",\"canvasIndex\":\"சுட்டெண்\",\"changeTheme\":\"கருப்பொருளை மாற்றவும்\",\"clearSearch\":\"நீக்குக\",\"close\":\"மூடுக\",\"closeAddResourceForm\":\"படிவத்தை மூடுக\",\"closeAddResourceMenu\":\"வளங்கள் பட்டியலை மூடுக\",\"closeCompanionWindow\":\"பலகத்தை  மூடுக\",\"closeWindow\":\"சாளரத்தை மூடுக\",\"collapseSection\":\"\\\"{{section}}\\\" பகுதியைச் சுருக்குக\",\"collapseSidePanel\":\"பக்கப்பட்டையைச் சுருக்குக\",\"collection\":\"சேகரம்\",\"continue\":\"தொடரவும்\",\"copy\":\"நகல்\",\"currentItem\":\"தற்போதைய உருப்படி\",\"currentItem_1/1\":\"தற்போதைய உருப்படி\",\"currentItem_1/2\":\"இடது\",\"currentItem_2/2\":\"வலது\",\"dark\":\"அடர் கருப்பொருள்\",\"digitizedView\":\"எண்ணிம காட்சி\",\"dismiss\":\"நிராகரிக்குக\",\"displayNoAnnotations\":\"முன்னிறுத்தல் இல்லை\",\"downloadExport\":\"பணித்தளத்தை தரவிறக்கவும்\",\"downloadExportWorkspace\":\"பணித்தளத்தை தரவிறக்கவும்\",\"elastic\":\"மீள்ம\",\"elasticDescription\":\"வரம்பற்ற பணித்தளத்தில் சாளரங்களை சுதந்திரமாக நகர்த்த முடியும், அளவையும் மாற்றலாம். சாளரங்கள் ஒன்றின் மேல் ஒன்று வரலாம்.\",\"emptyResourceList\":\"உங்கள் வளப் பட்டியல் காலியாக உள்ளது\",\"error\":\"தவறு\",\"errorDialogConfirm\":\"சரி\",\"errorDialogTitle\":\"ஒரு தவறு ஏற்பட்டுள்ளது\",\"exitFullScreen\":\"முழுத்திரையிலிருந்து வெளியேறவும்\",\"expandSection\":\"\\\"{{section}}\\\" பகுதியை விரிவாக்குக\",\"expandSidePanel\":\"பக்கப்பட்டையை விரிவாக்குக\",\"exportCopied\":\"பணித்தள அமைப்பு உங்கள் நகல்நினைவியில் நகலெடுக்கப்பட்டது.\",\"fetchManifest\":\"சேர்க்க\",\"fullScreen\":\"முழுத்திரை\",\"gallery\":\"படத்தொகுப்பு\",\"hideZoomControls\":\"பெரிதாக்குதல் கட்டுப்பாடுகளை மறைக்கவும்\",\"highlightAllAnnotations\":\"முன்னிறுத்தல்: அனைத்தும்\",\"iiif_homepage\":\"இந்த வளம் பற்றி\",\"iiif_manifest\":\"IIIF விபரக் கோப்பு\",\"iiif_related\":\"தொடர்புடையவை\",\"iiif_renderings\":\"மாற்று வடிவங்கள்\",\"iiif_seeAlso\":\"மேலும் காண்க\",\"imageFailedToLoad\":\"படத்தை பதிவேற்றுவதில் சிக்கல். விவரங்களுக்கு முனையத்தைப் பார்க்கவும்\",\"import\":\"தரவிறக்கம்\",\"importWorkspace\":\"பணித்தள தரவிறக்கம்\",\"importWorkspaceHint\":\"தரவிறக்கவேண்டிய மிரடோர் 4 பணித்தள அமைப்பை இங்கே ஒட்டவும்\",\"item\":\"உருப்படி: {{label}}\",\"itemList\":\"உருப்படி பட்டியல்\",\"jsError\":\"தொழில்நுட்ப விவரங்கள்\",\"jsStack\":\"{{ stack }}\",\"language\":\"மொழி\",\"layer_hide\":\"அடுக்கை மறைக்கவும்\",\"layer_move\":\"அடுக்கை நகர்த்தவும்\",\"layer_moveToBackground\":\"அடுக்கை பின்னணிக்கு நகர்த்தவும்\",\"layer_moveToFront\":\"அடுக்கை முன்னணிக்கு நகர்த்தவும்\",\"layer_opacity\":\"அடுக்கின் தெளிவின்மை\",\"layer_show\":\"அடுக்கை காட்டவும்\",\"layers\":\"அடுக்குகள்\",\"light\":\"மென் கருப்பொருள்\",\"links\":\"இணைப்புகள்\",\"listAllOpenWindows\":\"சாளரத்திற்குச் செல்லவும்\",\"login\":\"புகுபதிகை\",\"logout\":\"விடுபதிகை\",\"manifestError\":\"வளத்தைச் சேர்க்க முடியாது:\",\"maximizeWindow\":\"சாளரத்தை பெரிதாக்கவும்\",\"minimizeWindow\":\"சாளரத்தைச் சிறிதாக்கவும்\",\"mirador\":\"மிரடோர்\",\"miradorResources\":\"மிரடோர் வளங்கள்\",\"miradorViewer\":\"மிரடோர் பார்வையாளர்\",\"more\":\"மேலும்...\",\"moreResults\":\"மேலும் முடிவுகள்\",\"mosaic\":\"மொசைக்\",\"mosaicDescription\":\"காணப்படும் சாளர எல்லைக்குள், சாளரங்களை ஒன்றையொன்று சார்ந்து நகர்த்தியும் அளவை மாற்றியும் கொள்ளலாம்.\",\"moveCompanionWindowToBottom\":\"கீழே நகர்த்தவும்\",\"moveCompanionWindowToRight\":\"வலதுபுறம் நகர்த்தவும்\",\"multipartCollection\":\"பல்பகுதி சேகரம்\",\"nextCanvas\":\"அடுத்த உருப்படி\",\"noItemSelected\":\"எந்த உருப்படியும் தேர்ந்தெடுக்கப்படவில்லை\",\"numItems_one\":\"{{number}} உருப்படி\",\"numItems_other\":\"{{number}} உருப்படிகள்\",\"off\":\"முடக்குக\",\"openCompanionWindow_annotations\":\"குறிப்புரைகள்\",\"openCompanionWindow_attribution\":\"உரிமைகள்\",\"openCompanionWindow_canvas\":\"சுட்டெண்\",\"openCompanionWindow_info\":\"தகவல்\",\"openCompanionWindow_layers\":\"அடுக்குகள்\",\"openCompanionWindow_search\":\"தேடல்\",\"openInCompanionWindow\":\"தனி பலகத்தில் திறக்கவும்\",\"openWindows\":\"தற்போது திறந்திருக்கும் சாளரங்கள்\",\"pagination\":\"{{current}} இல் {{total}}\",\"position\":\"நிலை\",\"previewWindowTitle\":\"{{title}}\",\"previousCanvas\":\"முந்தைய உருப்படி\",\"related\":\"தொடர்புடைய\",\"resource\":\"வளம்\",\"retry\":\"மீண்டும் முயற்சிக்கவும்\",\"right\":\"சரி\",\"rights\":\"உரிமம்\",\"scroll\":\"உருட்டவும்\",\"searchInputLabel\":\"தேடல் சொற்கள்\",\"searchNextResult\":\"அடுத்த முடிவு\",\"searchNoResults\":\"முடிவுகள் எதுவும் காணப்படவில்லை\",\"searchPreviousResult\":\"முந்தைய முடிவு\",\"searchResultsRemaining\":\"{{numLeft}} மீதமுள்ளன\",\"searchSubmitAria\":\"தேடலைச் சமர்ப்பிக்கவும்\",\"searchTitle\":\"தேடல்\",\"selectWorkspaceMenu\":\"பணித்தள வகையைத் தேர்ந்தெடுக்கவும்\",\"showCollection\":\"சேகரத்தை காட்டவும்\",\"showingNumAnnotations_one\":\"{{number}} குறிப்புரை காட்டப்படுகிறது\",\"showingNumAnnotations_other\":\"{{number}} குறிப்புரைகள் காட்டப்படுகின்றன\",\"showZoomControls\":\"பெரிதாக்குதல் கட்டுப்பாடுகளைக் காட்டு\",\"sidebarPanelsNavigation\":\"பக்கப்பட்டை பலகங்களை வழிசெலுத்தல்\",\"single\":\"தனி\",\"startHere\":\"இங்கிருந்து தொடங்குங்கள்\",\"suggestSearch\":\"இந்த ஆவணத்தில் \\\"{{ query }}\\\" என்பதைத் தேடவும்\",\"tableOfContentsList\":\"பொருளடக்கம்\",\"theme\":\"கருப்பொருள்\",\"thumbnailList\":\"சிறுபடப் பட்டியல்\",\"thumbnailNavigation\":\"சிறுபடங்கள்\",\"thumbnails\":\"சிறுபடங்கள்\",\"toggleWindowSideBar\":\"பக்கப்பட்டையை மாற்றவும்\",\"totalCollections_one\":\"{{count}} சேகரம்\",\"totalCollections_other\":\"{{count}} சேகரங்கள்\",\"totalManifests_one\":\"{{count}} விபரக் கோப்பு\",\"totalManifests_other\":\"{{count}} விபரக் கோப்புக்கள்\",\"tryAgain\":\"மீண்டும் முயற்சிக்கவும்\",\"untitled\":\"[Untitled]\",\"view\":\"பார்வை\",\"viewWorkspaceConfiguration\":\"பணித்தள உள்ளமைவைக் காண்க\",\"welcome\":\"மிரடோருக்கு வரவேற்கிறோம்\",\"window\":\"சாளரம்: {{label}}\",\"windowMenu\":\"சாளரக் காட்சிகள் மற்றும் சிறுபடக் காட்சி\",\"windowNavigation\":\"சாளர வழிசெலுத்தல்\",\"windowPluginButtons\":\"தேர்வுகள்\",\"windowPluginMenu\":\"சாளர தேர்வுகள்\",\"workspace\":\"பணித்தளம்\",\"workspaceFullScreen\":\"முழுத்திரை\",\"workspaceMenu\":\"பணித்தள அமைப்புகள்\",\"workspaceNavigation\":\"பணித்தள வழிசெலுத்தல்\",\"workspaceOptions\":\"பணித்தள தேர்வுகள்\",\"workspaceSelectionTitle\":\"பணித்தள வகையைத் தேர்ந்தெடுக்கவும்\",\"zoomIn\":\"பெரிதாக்குக\",\"zoomOut\":\"சிறிதாக்குக\",\"zoomReset\":\"பெரிதாக்கத்தை மீளமைக்க\"}") };
//#endregion
//#region src/i18n.js
function rp(e = {}) {
	let t = {
		ar: Pf,
		bg: $f,
		de: Ff,
		en: If,
		et: Lf,
		fa: Rf,
		fr: Vf,
		hr: Hf,
		hu: tp,
		it: Jf,
		ja: Uf,
		kr: Wf,
		lt: Zf,
		"nb-NO": ep,
		nl: Gf,
		pl: Kf,
		"pt-BR": qf,
		sr: Yf,
		sv: Xf,
		vi: Qf,
		"zh-CN": zf,
		"zh-TW": Bf,
		ta: np
	}, n = Nf();
	return n.use(Zc).init({
		fallbackLng: "en",
		interpolation: { escapeValue: !1 },
		lng: "en",
		resources: t,
		...e
	}), n;
}
//#endregion
//#region src/contexts/FailedImageProvider.jsx
var ip = "data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"400\" height=\"600\"%3E%3Crect width=\"400\" height=\"600\" fill=\"%23f5f5f5\"/%3E%3Cpath d=\"M 200 240 L 254 354 L 146 354 Z M 200 228 L 128 372 L 272 372 Z M 204.5 336 L 195.5 336 L 195.5 345 L 204.5 345 Z M 204.5 309 L 195.5 309 L 195.5 327 L 204.5 327 Z\" fill=\"%231967d2\"/%3E%3C/svg%3E";
function ap({ children: e }) {
	let t = k.fallbackImage || ip, [n, r] = Yc(/* @__PURE__ */ new Set()), i = Kc((e) => {
		r((t) => new Set(t).add(e));
	}, []);
	return /* @__PURE__ */ P(er.Provider, {
		value: {
			failedImages: n,
			fallbackImage: t,
			notifyFailure: i
		},
		children: e
	});
}
ap.propTypes = { children: F.default.node.isRequired };
//#endregion
//#region src/lib/FullScreenHandle.jsx
function op() {
	let [e, t] = Yc(!1), n = () => {
		t(document.fullscreenElement === document.body);
	};
	qc(() => (document.addEventListener("fullscreenchange", n), () => document.removeEventListener("fullscreenchange", n)), []);
	let r = () => document.body.requestFullscreen(), i = Kc(() => document.fullscreenElement ? document.exitFullscreen().then(() => r()) : r(), []), a = Kc(() => document.fullscreenElement === document.body ? document.exitFullscreen() : Promise.resolve(), []);
	return Jc(() => ({
		active: e,
		enter: i,
		exit: a
	}), [
		e,
		i,
		a
	]);
}
var sp = ({ handle: e, onChange: t = void 0, children: n = null, className: r = "" }) => {
	let i = [
		"fullscreen",
		r,
		e.active ? "fullscreen-enabled" : ""
	].filter(Boolean);
	qc(() => {
		t && t(e.active, e);
	}, [
		e,
		e.active,
		t
	]);
	let a = e.active ? {
		height: "100%",
		width: "100%"
	} : {};
	return /* @__PURE__ */ P("div", {
		className: i.join(" "),
		style: a,
		children: n
	});
};
sp.propTypes = {
	children: F.default.node,
	className: F.default.string,
	handle: F.default.object.isRequired,
	onChange: F.default.func
};
//#endregion
//#region src/components/AppProviders.jsx
var cp = ({ dndManager: e = void 0, children: t }) => e === !1 ? t : e === void 0 ? /* @__PURE__ */ P(ao, {
	backend: ko,
	options: Uo,
	children: t
}) : /* @__PURE__ */ P(eo.Provider, {
	value: e,
	children: t
});
cp.propTypes = {
	children: F.default.node.isRequired,
	dndManager: F.default.oneOf([
		void 0,
		!1,
		F.default.object
	])
};
var lp = ({ children: e }) => {
	let t = op();
	return /* @__PURE__ */ P(sp, {
		handle: t,
		children: /* @__PURE__ */ P(Ya.Provider, {
			value: t,
			children: e
		})
	});
};
lp.propTypes = { children: F.default.node.isRequired };
var up = ({ children: e, language: t, translations: n }) => {
	let [r] = Yc(rp({ lng: t }));
	return qc(() => {
		r && r.language !== t && r.changeLanguage(t);
	}, [r, t]), qc(() => {
		Object.keys(n).forEach((e) => {
			r.addResourceBundle(e, "translation", n[e], !0, !0);
		});
	}, [r, n]), /* @__PURE__ */ P(Xc, {
		i18n: r,
		children: e
	});
};
up.propTypes = {
	children: F.default.node.isRequired,
	language: F.default.string.isRequired,
	translations: F.default.object.isRequired
};
var dp = Id({
	key: "muirtl",
	stylisPlugins: [Tu, Ou]
}), fp = Id({ key: "mui" });
function pp({ children: e = null, language: t, theme: n, translations: r, dndManager: i = void 0 }) {
	return /* @__PURE__ */ P(lp, { children: /* @__PURE__ */ P(up, {
		language: t,
		translations: r,
		children: /* @__PURE__ */ P(mc.Provider, {
			value: t,
			children: /* @__PURE__ */ P(el, {
				injectFirst: !0,
				children: /* @__PURE__ */ P(rl, {
					value: n.direction === "rtl" ? dp : fp,
					children: /* @__PURE__ */ P(tl, {
						theme: nl(n),
						children: /* @__PURE__ */ P(cp, {
							dndManager: i,
							children: /* @__PURE__ */ P(ap, { children: e })
						})
					})
				})
			})
		})
	}) });
}
pp.propTypes = {
	children: F.default.node,
	dndManager: F.default.object,
	language: F.default.string.isRequired,
	theme: F.default.object.isRequired,
	translations: F.default.object.isRequired
};
var mp = h(pe((e) => ({
	language: qt(e).language,
	theme: bt(e),
	translations: qt(e).translations
})), ee("AppProviders"))(pp), hp = Gc(() => import("./WorkspaceArea-CfrM6r51.js").then((e) => e.n));
function gp({ dndManager: e = void 0, plugins: t = [] }) {
	let n = Wc();
	return /* @__PURE__ */ P(Ol, {
		plugins: t,
		children: /* @__PURE__ */ P(mp, {
			dndManager: e,
			children: /* @__PURE__ */ P(vc.Provider, {
				value: n,
				children: /* @__PURE__ */ P(Uc, {
					fallback: /* @__PURE__ */ P("div", {}),
					children: /* @__PURE__ */ P(hp, { areaRef: n })
				})
			})
		})
	});
}
gp.propTypes = {
	dndManager: F.default.object,
	plugins: F.default.array
};
//#endregion
//#region node_modules/lodash/isString.js
var _p = /* @__PURE__ */ A(((t, n) => {
	var r = T(), i = de(), a = e(), o = "[object String]";
	function s(e) {
		return typeof e == "string" || !i(e) && a(e) && r(e) == o;
	}
	n.exports = s;
})), vp = /* @__PURE__ */ A(((e, t) => {
	function n(e) {
		return e === null;
	}
	t.exports = n;
})), yp = /* @__PURE__ */ A(((e, t) => {
	var n = kt();
	function r(e, t) {
		return n(t, function(t) {
			return e[t];
		});
	}
	t.exports = r;
})), bp = /* @__PURE__ */ A(((e, t) => {
	var n = yp(), r = It();
	function i(e) {
		return e == null ? [] : n(e, r(e));
	}
	t.exports = i;
})), xp = /* @__PURE__ */ D(_p(), 1), Sp = /* @__PURE__ */ D(Ba(), 1), Cp = /* @__PURE__ */ D(vp(), 1), wp = /* @__PURE__ */ D(bp(), 1), Tp = (e) => [
	Ep,
	Dp,
	Op,
	kp,
	Ap,
	jp,
	Mp
].every((t) => t(e)), Ep = (e) => (0, dl.default)(e), Dp = (e) => {
	let { name: t } = e;
	return (0, Sp.default)(t) || (0, xp.default)(t);
}, Op = (e) => {
	let { mode: t, target: n } = e;
	return (0, Sp.default)(t) ? (0, Sp.default)(n) : (0, xp.default)(n);
}, kp = (e) => {
	let { mode: t } = e;
	return (0, Sp.default)(t) || ["add", "wrap"].some((e) => e === t);
}, Ap = (e) => {
	let { mapStateToProps: t } = e;
	return (0, Sp.default)(t) || (0, Cp.default)(t) || (0, fl.default)(t);
}, jp = (e) => {
	let { mapDispatchToProps: t } = e;
	return (0, Sp.default)(t) || (0, Cp.default)(t) || (0, fl.default)(t) || (0, dl.default)(t);
}, Mp = (e) => {
	let { reducers: t } = e;
	return (0, Sp.default)(t) || (0, dl.default)(t) && (0, wp.default)(t).every(fl.default);
};
//#endregion
//#region src/extend/pluginPreprocessing.js
function Np(e) {
	let { validPlugins: t, invalidPlugins: n } = Pp(e);
	return Fp(n), t;
}
function Pp(e) {
	let t = [], n = [];
	return e.forEach((e) => {
		Array.isArray(e) ? e.every((e) => Tp(e)) ? n.push(...e) : t.push(...e) : Tp(e) ? n.push(e) : t.push(e);
	}), {
		invalidPlugins: t,
		validPlugins: n
	};
}
function Fp(e) {
	e.forEach((e) => console.log(`Mirador: Plugin ${e.name} is not valid and was rejected.`));
}
function Ip(e) {
	return e && e.reduce((e, t) => ({
		...e,
		...t.reducers
	}), {});
}
function Lp(e) {
	return e && e.reduce((e, t) => (0, hl.default)(e, t.config || {}), {});
}
function Rp(e) {
	return e && e.filter((e) => e.saga).map((e) => e.saga);
}
//#endregion
//#region node_modules/redux-thunk/dist/redux-thunk.mjs
function zp(e) {
	return ({ dispatch: t, getState: n }) => (r) => (i) => typeof i == "function" ? i(t, n, e) : r(i);
}
var Bp = zp(), Vp = function(e) {
	return "@@redux-saga/" + e;
}, Hp = /*#__PURE__*/ Vp("CANCEL_PROMISE"), Up = /*#__PURE__*/ Vp("CHANNEL_END"), Wp = /*#__PURE__*/ Vp("IO"), Gp = /*#__PURE__*/ Vp("MATCH"), Kp = /*#__PURE__*/ Vp("MULTICAST"), qp = /*#__PURE__*/ Vp("SAGA_ACTION"), Jp = /*#__PURE__*/ Vp("SELF_CANCELLATION"), Yp = /*#__PURE__*/ Vp("TASK"), Xp = /*#__PURE__*/ Vp("TASK_CANCEL"), Zp = /*#__PURE__*/ Vp("TERMINATE"), Qp = /*#__PURE__*/ Vp("LOCATION"), $p = function(e) {
	return e == null;
}, em = function(e) {
	return e != null;
}, tm = function(e) {
	return typeof e == "function";
}, nm = function(e) {
	return typeof e == "string";
}, rm = Array.isArray, im = function(e) {
	return e && tm(e.then);
}, am = function(e) {
	return e && tm(e.next) && tm(e.throw);
}, om = function(e) {
	return e && (nm(e) || lm(e) || tm(e) || rm(e) && e.every(om));
}, sm = function(e) {
	return e && tm(e.take) && tm(e.close);
}, cm = function(e) {
	return tm(e) && e.hasOwnProperty("toString");
}, lm = function(e) {
	return !!e && typeof Symbol == "function" && e.constructor === Symbol && e !== Symbol.prototype;
}, um = function(e) {
	return sm(e) && e[Kp];
}, dm = 2147483647;
function fm(e, t) {
	t === void 0 && (t = !0);
	var n, r = new Promise(function(r) {
		n = setTimeout(r, Math.min(dm, e), t);
	});
	return r[Hp] = function() {
		clearTimeout(n);
	}, r;
}
//#endregion
//#region node_modules/@redux-saga/core/dist/io-dec07f91.esm.js
var pm = /*#__PURE__*/ function(e) {
	return function() {
		return e;
	};
}(!0), q = function() {}, mm = function(e) {
	return e;
}, hm = function(e, t) {
	ra(e, t), Object.getOwnPropertySymbols && Object.getOwnPropertySymbols(t).forEach(function(n) {
		e[n] = t[n];
	});
}, gm = function(e, t) {
	var n;
	return (n = []).concat.apply(n, t.map(e));
};
function _m(e, t) {
	var n = e.indexOf(t);
	n >= 0 && e.splice(n, 1);
}
function vm(e) {
	var t = !1;
	return function() {
		t || (t = !0, e());
	};
}
var ym = function(e) {
	throw e;
}, bm = function(e) {
	return {
		value: e,
		done: !0
	};
};
function xm(e, t, n) {
	t === void 0 && (t = ym), n === void 0 && (n = "iterator");
	var r = {
		meta: { name: n },
		next: e,
		throw: t,
		return: bm,
		isSagaIterator: !0
	};
	return typeof Symbol < "u" && (r[Symbol.iterator] = function() {
		return r;
	}), r;
}
function Sm(e, t) {
	var n = t.sagaStack;
	console.error(e), console.error(n);
}
var Cm = function(e) {
	return Array.apply(null, Array(e));
}, wm = function(e) {
	return function(t) {
		return e(Object.defineProperty(t, qp, { value: !0 }));
	};
}, Tm = function(e) {
	return e === Zp;
}, Em = function(e) {
	return e === Xp;
}, Dm = function(e) {
	return Tm(e) || Em(e);
};
function Om(e, t) {
	var n = Object.keys(e), r = n.length, i = 0, a, o = rm(e) ? Cm(r) : {}, s = {};
	function c() {
		i === r && (a = !0, t(o));
	}
	return n.forEach(function(e) {
		var n = function(n, r) {
			a || (r || Dm(n) ? (t.cancel(), t(n, r)) : (o[e] = n, i++, c()));
		};
		n.cancel = q, s[e] = n;
	}), t.cancel = function() {
		a || (a = !0, n.forEach(function(e) {
			return s[e].cancel();
		}));
	}, s;
}
function km(e) {
	return {
		name: e.name || "anonymous",
		location: Am(e)
	};
}
function Am(e) {
	return e[Qp];
}
function jm() {
	var e = [...arguments];
	return e.length === 0 ? function(e) {
		return e;
	} : e.length === 1 ? e[0] : e.reduce(function(e, t) {
		return function() {
			return e(t.apply(void 0, arguments));
		};
	});
}
var Mm = "Channel's Buffer overflow!", Nm = 1, Pm = 3, Fm = 4;
function Im(e, t) {
	e === void 0 && (e = 10);
	var n = Array(e), r = 0, i = 0, a = 0, o = function(t) {
		n[i] = t, i = (i + 1) % e, r++;
	}, s = function() {
		if (r != 0) {
			var t = n[a];
			return n[a] = null, r--, a = (a + 1) % e, t;
		}
	}, c = function() {
		for (var e = []; r;) e.push(s());
		return e;
	};
	return {
		isEmpty: function() {
			return r == 0;
		},
		put: function(s) {
			if (r < e) o(s);
			else {
				var l;
				switch (t) {
					case Nm: throw Error(Mm);
					case Pm:
						n[i] = s, i = (i + 1) % e, a = i;
						break;
					case Fm: l = 2 * e, n = c(), r = n.length, i = n.length, a = 0, n.length = l, e = l, o(s);
				}
			}
		},
		take: s,
		flush: c
	};
}
var Lm = function(e) {
	return Im(e, Fm);
}, Rm = "TAKE", zm = "RACE", Bm = "CALL", Vm = "FORK", Hm = "JOIN", Um = "CANCEL", Wm = "SELECT", Gm = "ACTION_CHANNEL", Km = "CANCELLED", qm = "FLUSH", Jm = "GET_CONTEXT", Ym = "SET_CONTEXT", Xm = function(e, t) {
	var n;
	return n = {}, n[Wp] = !0, n.combinator = !1, n.type = e, n.payload = t, n;
}, Zm = function(e) {
	return Xm(Vm, ra({}, e.payload, { detached: !0 }));
};
function Qm(e, t) {
	if (e === void 0 && (e = "*"), om(e)) return em(t) && console.warn("take(pattern) takes one argument but two were provided. Consider passing an array for listening to several action types"), Xm(Rm, { pattern: e });
	if (um(e) && em(t) && om(t)) return Xm(Rm, {
		channel: e,
		pattern: t
	});
	if (sm(e)) return em(t) && console.warn("take(channel) takes one argument but two were provided. Second argument is ignored."), Xm(Rm, { channel: e });
}
function J(e, t) {
	return $p(t) && (t = e, e = void 0), Xm("PUT", {
		channel: e,
		action: t
	});
}
function Y(e) {
	var t = Xm("ALL", e);
	return t.combinator = !0, t;
}
function $m(e, t) {
	var n = null, r;
	return tm(e) ? r = e : (rm(e) ? (n = e[0], r = e[1]) : (n = e.context, r = e.fn), n && nm(r) && tm(n[r]) && (r = n[r])), {
		context: n,
		fn: r,
		args: t
	};
}
function X(e) {
	return Xm(Bm, $m(e, [...arguments].slice(1)));
}
function eh(e) {
	return Xm(Vm, $m(e, [...arguments].slice(1)));
}
function th(e) {
	var t = [...arguments].slice(1);
	return Zm(eh.apply(void 0, [e].concat(t)));
}
function Z(e) {
	e === void 0 && (e = mm);
	var t = [...arguments].slice(1);
	return Xm(Wm, {
		selector: e,
		args: t
	});
}
var nh = /*#__PURE__*/ X.bind(null, fm);
//#endregion
//#region node_modules/@redux-saga/deferred/dist/redux-saga-deferred.esm.js
function rh() {
	var e = {};
	return e.promise = new Promise(function(t, n) {
		e.resolve = t, e.reject = n;
	}), e;
}
//#endregion
//#region node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js
function ih(e, t) {
	(t == null || t > e.length) && (t = e.length);
	for (var n = 0, r = Array(t); n < t; n++) r[n] = e[n];
	return r;
}
//#endregion
//#region node_modules/@redux-saga/core/dist/redux-saga-core.esm.js
var ah = [], oh = 0;
function sh(e) {
	try {
		uh(), e();
	} finally {
		dh();
	}
}
function ch(e) {
	ah.push(e), oh || (uh(), fh());
}
function lh(e) {
	try {
		return uh(), e();
	} finally {
		fh();
	}
}
function uh() {
	oh++;
}
function dh() {
	oh--;
}
function fh() {
	dh();
	for (var e; !oh && (e = ah.shift()) !== void 0;) sh(e);
}
var ph = function(e) {
	return function(t) {
		return e.some(function(e) {
			return vh(e)(t);
		});
	};
}, mh = function(e) {
	return function(t) {
		return e(t);
	};
}, hh = function(e) {
	return function(t) {
		return t.type === String(e);
	};
}, gh = function(e) {
	return function(t) {
		return t.type === e;
	};
}, _h = function() {
	return pm;
};
function vh(e) {
	var t = e === "*" ? _h : nm(e) ? hh : rm(e) ? ph : cm(e) ? hh : tm(e) ? mh : lm(e) ? gh : null;
	if (t === null) throw Error("invalid pattern: " + e);
	return t(e);
}
var yh = { type: Up }, bh = function(e) {
	return e && e.type === Up;
};
function xh(e) {
	e === void 0 && (e = Lm());
	var t = !1, n = [];
	function r(r) {
		if (!t) {
			if (n.length === 0) return e.put(r);
			n.shift()(r);
		}
	}
	function i(r) {
		t && e.isEmpty() ? r(yh) : e.isEmpty() ? (n.push(r), r.cancel = function() {
			_m(n, r);
		}) : r(e.take());
	}
	function a(n) {
		if (t && e.isEmpty()) {
			n(yh);
			return;
		}
		n(e.flush());
	}
	function o() {
		if (!t) {
			t = !0;
			var e = n;
			n = [];
			for (var r = 0, i = e.length; r < i; r++) {
				var a = e[r];
				a(yh);
			}
		}
	}
	return {
		take: i,
		put: r,
		flush: a,
		close: o
	};
}
function Sh() {
	var e, t = !1, n = [], r = n, i = function() {
		r === n && (r = n.slice());
	}, a = function() {
		t = !0;
		var e = n = r;
		r = [], e.forEach(function(e) {
			e(yh);
		});
	};
	return e = {}, e[Kp] = !0, e.put = function(e) {
		if (!t) {
			if (bh(e)) {
				a();
				return;
			}
			for (var i = n = r, o = 0, s = i.length; o < s; o++) {
				var c = i[o];
				c[Gp](e) && (c.cancel(), c(e));
			}
		}
	}, e.take = function(e, n) {
		if (n === void 0 && (n = _h), t) {
			e(yh);
			return;
		}
		e[Gp] = n, i(), r.push(e), e.cancel = vm(function() {
			i(), _m(r, e);
		});
	}, e.close = a, e;
}
function Ch() {
	var e = Sh(), t = e.put;
	return e.put = function(e) {
		if (e[qp]) {
			t(e);
			return;
		}
		ch(function() {
			t(e);
		});
	}, e;
}
var wh = 0, Th = 1, Eh = 2, Dh = 3;
function Oh(e, t) {
	var n = e[Hp];
	tm(n) && (t.cancel = n), e.then(t, function(e) {
		t(e, !0);
	});
}
var kh = 0, Ah = (function() {
	return ++kh;
}), Q;
function jh(e, t) {
	return e.isSagaIterator ? { name: e.meta.name } : km(t);
}
function Mh(e) {
	var t = e.context, n = e.fn, r = e.args;
	try {
		var i = n.apply(t, r);
		if (am(i)) return i;
		var a = !1;
		return xm(function(e) {
			return a ? {
				value: e,
				done: !0
			} : (a = !0, {
				value: i,
				done: !im(i)
			});
		});
	} catch (e) {
		return xm(function() {
			throw e;
		});
	}
}
function Nh(e, t, n) {
	var r = t.channel, i = t.action, a = t.resolve;
	ch(function() {
		var t;
		try {
			t = (r ? r.put : e.dispatch)(i);
		} catch (e) {
			n(e, !0);
			return;
		}
		a && im(t) ? Oh(t, n) : n(t);
	});
}
function Ph(e, t, n) {
	var r = t.channel, i = r === void 0 ? e.channel : r, a = t.pattern, o = t.maybe, s = function(e) {
		if (e instanceof Error) {
			n(e, !0);
			return;
		}
		if (bh(e) && !o) {
			n(Zp);
			return;
		}
		n(e);
	};
	try {
		i.take(s, em(a) ? vh(a) : null);
	} catch (e) {
		n(e, !0);
		return;
	}
	n.cancel = s.cancel;
}
function Fh(e, t, n, r) {
	var i = t.context, a = t.fn, o = t.args, s = r.task;
	try {
		var c = a.apply(i, o);
		if (im(c)) {
			Oh(c, n);
			return;
		}
		if (am(c)) {
			cg(e, c, s.context, kh, km(a), !1, n);
			return;
		}
		n(c);
	} catch (e) {
		n(e, !0);
	}
}
function Ih(e, t, n) {
	var r = t.context, i = t.fn, a = t.args;
	try {
		var o = function(e, t) {
			$p(e) ? n(t) : n(e, !0);
		};
		i.apply(r, a.concat(o)), o.cancel && (n.cancel = o.cancel);
	} catch (e) {
		n(e, !0);
	}
}
function Lh(e, t, n, r) {
	var i = t.context, a = t.fn, o = t.args, s = t.detached, c = r.task, l = Mh({
		context: i,
		fn: a,
		args: o
	}), u = jh(l, a);
	lh(function() {
		var t = cg(e, l, c.context, kh, u, s, void 0);
		s ? n(t) : t.isRunning() ? (c.queue.addTask(t), n(t)) : t.isAborted() ? c.queue.abort(t.error()) : n(t);
	});
}
function Rh(e, t, n, r) {
	var i = r.task, a = function(e, t) {
		if (e.isRunning()) {
			var n = {
				task: i,
				cb: t
			};
			t.cancel = function() {
				e.isRunning() && _m(e.joiners, n);
			}, e.joiners.push(n);
		} else e.isAborted() ? t(e.error(), !0) : t(e.result());
	};
	if (rm(t)) {
		if (t.length === 0) {
			n([]);
			return;
		}
		var o = Om(t, n);
		t.forEach(function(e, t) {
			a(e, o[t]);
		});
	} else a(t, n);
}
function zh(e) {
	e.isRunning() && e.cancel();
}
function Bh(e, t, n, r) {
	var i = r.task;
	t === Jp ? zh(i) : rm(t) ? t.forEach(zh) : zh(t), n();
}
function Vh(e, t, n, r) {
	var i = r.digestEffect, a = kh, o = Object.keys(t);
	if (o.length === 0) {
		n(rm(t) ? [] : {});
		return;
	}
	var s = Om(t, n);
	o.forEach(function(e) {
		i(t[e], a, s[e], e);
	});
}
function Hh(e, t, n, r) {
	var i = r.digestEffect, a = kh, o = Object.keys(t), s = rm(t) ? Cm(o.length) : {}, c = {}, l = !1;
	o.forEach(function(e) {
		var t = function(t, r) {
			l || (r || Dm(t) ? (n.cancel(), n(t, r)) : (n.cancel(), l = !0, s[e] = t, n(s)));
		};
		t.cancel = q, c[e] = t;
	}), n.cancel = function() {
		l || (l = !0, o.forEach(function(e) {
			return c[e].cancel();
		}));
	}, o.forEach(function(e) {
		l || i(t[e], a, c[e], e);
	});
}
function Uh(e, t, n) {
	var r = t.selector, i = t.args;
	try {
		n(r.apply(void 0, [e.getState()].concat(i)));
	} catch (e) {
		n(e, !0);
	}
}
function Wh(e, t, n) {
	var r = t.pattern, i = t.buffer, a = xh(i), o = vh(r), s = function(t) {
		bh(t) || e.channel.take(s, o), a.put(t);
	}, c = a.close;
	a.close = function() {
		s.cancel(), c();
	}, e.channel.take(s, o), n(a);
}
function Gh(e, t, n, r) {
	var i = r.task;
	n(i.isCancelled());
}
function Kh(e, t, n) {
	t.flush(n);
}
function qh(e, t, n, r) {
	var i = r.task;
	n(i.context[t]);
}
function Jh(e, t, n, r) {
	var i = r.task;
	hm(i.context, t), n();
}
var Yh = (Q = {}, Q[Rm] = Ph, Q.PUT = Nh, Q.ALL = Vh, Q[zm] = Hh, Q[Bm] = Fh, Q.CPS = Ih, Q[Vm] = Lh, Q[Hm] = Rh, Q[Um] = Bh, Q[Wm] = Uh, Q[Gm] = Wh, Q[Km] = Gh, Q[qm] = Kh, Q[Jm] = qh, Q[Ym] = Jh, Q);
function Xh(e, t, n) {
	var r = [], i, a = !1;
	c(e);
	var o = function() {
		return r;
	};
	function s(e) {
		t(), l(), n(e, !0);
	}
	function c(t) {
		r.push(t), t.cont = function(o, c) {
			a || (_m(r, t), t.cont = q, c ? s(o) : (t === e && (i = o), r.length || (a = !0, n(i))));
		};
	}
	function l() {
		a || (a = !0, r.forEach(function(e) {
			e.cont = q, e.cancel();
		}), r = []);
	}
	return {
		addTask: c,
		cancelAll: l,
		abort: s,
		getTasks: o
	};
}
function Zh(e, t) {
	return e + "?" + t;
}
function Qh(e) {
	var t = Am(e);
	if (t) {
		var n = t.code, r = t.fileName, i = t.lineNumber;
		return n + "  " + Zh(r, i);
	}
	return "";
}
function $h(e) {
	var t = e.name, n = e.location;
	return n ? t + "  " + Zh(n.fileName, n.lineNumber) : t;
}
function eg(e) {
	var t = gm(function(e) {
		return e.cancelledTasks;
	}, e);
	return t.length ? ["Tasks cancelled due to error:"].concat(t).join("\n") : "";
}
var tg = null, ng = [], rg = function(e) {
	e.crashedEffect = tg, ng.push(e);
}, ig = function() {
	tg = null, ng.length = 0;
}, ag = function(e) {
	tg = e;
}, og = function() {
	var e = ng[0], t = ih(ng).slice(1), n = e.crashedEffect ? Qh(e.crashedEffect) : null;
	return ["The above error occurred in task " + $h(e.meta) + (n ? " \n when executing effect " + n : "")].concat(t.map(function(e) {
		return "    created by " + $h(e.meta);
	}), [eg(ng)]).join("\n");
};
function sg(e, t, n, r, i, a, o) {
	var s;
	o === void 0 && (o = q);
	var c = wh, l, u, d = null, f = [], p = Object.create(n), m = Xh(t, function() {
		f.push.apply(f, m.getTasks().map(function(e) {
			return e.meta.name;
		}));
	}, g);
	function h() {
		c === wh && (c = Th, m.cancelAll(), g(Xp, !1));
	}
	function g(t, n) {
		if (!n) t === Xp ? c = Th : c !== Th && (c = Dh), l = t, d && d.resolve(t);
		else {
			if (c = Eh, rg({
				meta: i,
				cancelledTasks: f
			}), y.isRoot) {
				var r = og();
				ig(), e.onError(t, { sagaStack: r });
			}
			u = t, d && d.reject(t);
		}
		y.cont(t, n), y.joiners.forEach(function(e) {
			e.cb(t, n);
		}), y.joiners = null;
	}
	function _(e) {
		hm(p, e);
	}
	function v() {
		return d ? d.promise : (d = rh(), c === Eh ? d.reject(u) : c !== wh && d.resolve(l), d.promise);
	}
	var y = (s = {}, s[Yp] = !0, s.id = r, s.meta = i, s.isRoot = a, s.context = p, s.joiners = [], s.queue = m, s.cancel = h, s.cont = o, s.end = g, s.setContext = _, s.toPromise = v, s.isRunning = function() {
		return c === wh;
	}, s.isCancelled = function() {
		return c === Th || c === wh && t.status === Th;
	}, s.isAborted = function() {
		return c === Eh;
	}, s.result = function() {
		return l;
	}, s.error = function() {
		return u;
	}, s);
	return y;
}
function cg(e, t, n, r, i, a, o) {
	var s = e.finalizeRunEffect(g);
	h.cancel = q;
	var c = {
		meta: i,
		cancel: d,
		status: wh
	}, l = sg(e, c, n, r, i, a, o), u = {
		task: l,
		digestEffect: _
	};
	function d() {
		c.status === wh && (c.status = Th, h(Xp));
	}
	o && (o.cancel = l.cancel);
	var f = !1, p = 0, m;
	return h(), l;
	function h(e, n) {
		if (f && (p === oh || p > 0 && oh > p)) {
			Em(e) && (c.status = Th, h.cancel()), m = {
				arg: e,
				isErr: n
			};
			return;
		}
		try {
			var i;
			do {
				i = !1;
				var a = void 0;
				if (n ? (a = t.throw(e), ig()) : Em(e) ? (c.status = Th, h.cancel(), a = tm(t.return) ? t.return(Xp) : {
					done: !0,
					value: Xp
				}) : a = Tm(e) ? tm(t.return) ? t.return() : { done: !0 } : t.next(e), a.done) {
					c.status !== Th && (c.status = Dh), c.cont(a.value);
					return;
				}
				m = null;
				var o = f, s = p;
				try {
					f = !0, p = oh, _(a.value, r, h);
				} finally {
					f = o, p = s;
				}
				if (!m) return;
				e = m.arg, n = m.isErr, m = null, i = !0;
			} while (i);
		} catch (e) {
			if (c.status === Th) throw e;
			c.status = Eh, c.cont(e, !0);
		}
	}
	function g(t, n, r) {
		if (im(t)) Oh(t, r);
		else if (am(t)) cg(e, t, l.context, n, i, !1, r);
		else if (t && t[Wp]) {
			var a = Yh[t.type];
			a(e, t.payload, r, u);
		} else r(t);
	}
	function _(t, n, r, i) {
		i === void 0 && (i = "");
		var a = Ah();
		e.sagaMonitor && e.sagaMonitor.effectTriggered({
			effectId: a,
			parentEffectId: n,
			label: i,
			effect: t
		});
		var o;
		function c(n, i) {
			o || (o = !0, r.cancel = q, e.sagaMonitor && (i ? e.sagaMonitor.effectRejected(a, n) : e.sagaMonitor.effectResolved(a, n)), i && ag(t), r(n, i));
		}
		c.cancel = q, r.cancel = function() {
			o || (o = !0, c.cancel(), c.cancel = q, e.sagaMonitor && e.sagaMonitor.effectCancelled(a));
		}, s(t, a, c);
	}
}
function lg(e, t) {
	var n = e.channel, r = n === void 0 ? Ch() : n, i = e.dispatch, a = e.getState, o = e.context, s = o === void 0 ? {} : o, c = e.sagaMonitor, l = e.effectMiddlewares, u = e.onError, d = u === void 0 ? Sm : u, f = [...arguments].slice(2), p = t.apply(void 0, f), m = Ah();
	c && (c.rootSagaStarted = c.rootSagaStarted || q, c.effectTriggered = c.effectTriggered || q, c.effectResolved = c.effectResolved || q, c.effectRejected = c.effectRejected || q, c.effectCancelled = c.effectCancelled || q, c.actionDispatched = c.actionDispatched || q, c.rootSagaStarted({
		effectId: m,
		saga: t,
		args: f
	}));
	var h;
	if (l) {
		var g = jm.apply(void 0, l);
		h = function(e) {
			return function(t, n, r) {
				return g(function(t) {
					return e(t, n, r);
				})(t);
			};
		};
	} else h = mm;
	var _ = {
		channel: r,
		dispatch: wm(i),
		getState: a,
		sagaMonitor: c,
		onError: d,
		finalizeRunEffect: h
	};
	return lh(function() {
		var e = cg(_, p, s, m, km(t), !0, void 0);
		return c && c.effectResolved(m, e), e;
	});
}
var ug = [
	"context",
	"channel",
	"sagaMonitor"
];
function dg(e) {
	var t = e === void 0 ? {} : e, n = t.context, r = n === void 0 ? {} : n, i = t.channel, a = i === void 0 ? Ch() : i, o = t.sagaMonitor, s = Yi(t, ug), c;
	function l(e) {
		var t = e.getState, n = e.dispatch;
		return c = lg.bind(null, ra({}, s, {
			context: r,
			channel: a,
			dispatch: n,
			getState: t,
			sagaMonitor: o
		})), function(e) {
			return function(t) {
				o && o.actionDispatched && o.actionDispatched(t);
				var n = e(t);
				return a.put(t), n;
			};
		};
	}
	return l.run = function() {
		return c.apply(void 0, arguments);
	}, l.setContext = function(e) {
		hm(r, e);
	}, l;
}
//#endregion
//#region node_modules/@redux-devtools/extension/lib/esm/index.js
function fg() {
	var e = [...arguments];
	if (e.length !== 0) return typeof e[0] == "object" ? h : h(...e);
}
var pg = typeof window < "u" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : fg;
typeof window < "u" && window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__;
//#endregion
//#region node_modules/lodash/_copyObject.js
var mg = /* @__PURE__ */ A(((e, t) => {
	var n = il(), r = cn();
	function i(e, t, i, a) {
		var o = !i;
		i ||= {};
		for (var s = -1, c = t.length; ++s < c;) {
			var l = t[s], u = a ? a(i[l], e[l], l, i, e) : void 0;
			u === void 0 && (u = e[l]), o ? r(i, l, u) : n(i, l, u);
		}
		return i;
	}
	t.exports = i;
})), hg = /* @__PURE__ */ A(((e, t) => {
	var n = mg(), r = It();
	function i(e, t) {
		return e && n(t, r(t), e);
	}
	t.exports = i;
})), gg = /* @__PURE__ */ A(((e, t) => {
	function n(e) {
		var t = [];
		if (e != null) for (var n in Object(e)) t.push(n);
		return t;
	}
	t.exports = n;
})), _g = /* @__PURE__ */ A(((e, t) => {
	var n = v(), r = ie(), i = gg(), a = Object.prototype.hasOwnProperty;
	function o(e) {
		if (!n(e)) return i(e);
		var t = r(e), o = [];
		for (var s in e) s == "constructor" && (t || !a.call(e, s)) || o.push(s);
		return o;
	}
	t.exports = o;
})), vg = /* @__PURE__ */ A(((e, t) => {
	var n = _t(), r = _g(), i = p();
	function a(e) {
		return i(e) ? n(e, !0) : r(e);
	}
	t.exports = a;
})), yg = /* @__PURE__ */ A(((e, t) => {
	var n = mg(), r = vg();
	function i(e, t) {
		return e && n(t, r(t), e);
	}
	t.exports = i;
})), bg = /* @__PURE__ */ A(((e, t) => {
	var n = se(), r = typeof e == "object" && e && !e.nodeType && e, i = r && typeof t == "object" && t && !t.nodeType && t, a = i && i.exports === r ? n.Buffer : void 0, o = a ? a.allocUnsafe : void 0;
	function s(e, t) {
		if (t) return e.slice();
		var n = e.length, r = o ? o(n) : new e.constructor(n);
		return e.copy(r), r;
	}
	t.exports = s;
})), xg = /* @__PURE__ */ A(((e, t) => {
	var n = mg(), r = ze();
	function i(e, t) {
		return n(e, r(e), t);
	}
	t.exports = i;
})), Sg = /* @__PURE__ */ A(((e, t) => {
	t.exports = u()(Object.getPrototypeOf, Object);
})), Cg = /* @__PURE__ */ A(((e, t) => {
	var n = pt(), r = Sg(), i = ze(), a = dt();
	t.exports = Object.getOwnPropertySymbols ? function(e) {
		for (var t = []; e;) n(t, i(e)), e = r(e);
		return t;
	} : a;
})), wg = /* @__PURE__ */ A(((e, t) => {
	var n = mg(), r = Cg();
	function i(e, t) {
		return n(e, r(e), t);
	}
	t.exports = i;
})), Tg = /* @__PURE__ */ A(((e, t) => {
	var n = lt(), r = Cg(), i = vg();
	function a(e) {
		return n(e, i, r);
	}
	t.exports = a;
})), Eg = /* @__PURE__ */ A(((e, t) => {
	var n = Object.prototype.hasOwnProperty;
	function r(e) {
		var t = e.length, r = new e.constructor(t);
		return t && typeof e[0] == "string" && n.call(e, "index") && (r.index = e.index, r.input = e.input), r;
	}
	t.exports = r;
})), Dg = /* @__PURE__ */ A(((e, t) => {
	var n = be();
	function r(e) {
		var t = new e.constructor(e.byteLength);
		return new n(t).set(new n(e)), t;
	}
	t.exports = r;
})), Og = /* @__PURE__ */ A(((e, t) => {
	var n = Dg();
	function r(e, t) {
		var r = t ? n(e.buffer) : e.buffer;
		return new e.constructor(r, e.byteOffset, e.byteLength);
	}
	t.exports = r;
})), kg = /* @__PURE__ */ A(((e, t) => {
	var n = /\w*$/;
	function r(e) {
		var t = new e.constructor(e.source, n.exec(e));
		return t.lastIndex = e.lastIndex, t;
	}
	t.exports = r;
})), Ag = /* @__PURE__ */ A(((e, t) => {
	var n = he(), r = n ? n.prototype : void 0, i = r ? r.valueOf : void 0;
	function a(e) {
		return i ? Object(i.call(e)) : {};
	}
	t.exports = a;
})), jg = /* @__PURE__ */ A(((e, t) => {
	var n = Dg();
	function r(e, t) {
		var r = t ? n(e.buffer) : e.buffer;
		return new e.constructor(r, e.byteOffset, e.length);
	}
	t.exports = r;
})), Mg = /* @__PURE__ */ A(((e, t) => {
	var n = Dg(), r = Og(), i = kg(), a = Ag(), o = jg(), s = "[object Boolean]", c = "[object Date]", l = "[object Map]", u = "[object Number]", d = "[object RegExp]", f = "[object Set]", p = "[object String]", m = "[object Symbol]", h = "[object ArrayBuffer]", g = "[object DataView]", _ = "[object Float32Array]", v = "[object Float64Array]", y = "[object Int8Array]", b = "[object Int16Array]", x = "[object Int32Array]", S = "[object Uint8Array]", C = "[object Uint8ClampedArray]", w = "[object Uint16Array]", T = "[object Uint32Array]";
	function E(e, t, E) {
		var D = e.constructor;
		switch (t) {
			case h: return n(e);
			case s:
			case c: return new D(+e);
			case g: return r(e, E);
			case _:
			case v:
			case y:
			case b:
			case x:
			case S:
			case C:
			case w:
			case T: return o(e, E);
			case l: return new D();
			case u:
			case p: return new D(e);
			case d: return i(e);
			case f: return new D();
			case m: return a(e);
		}
	}
	t.exports = E;
})), Ng = /* @__PURE__ */ A(((e, t) => {
	var n = ve(), r = Sg(), i = ie();
	function a(e) {
		return typeof e.constructor == "function" && !i(e) ? n(r(e)) : {};
	}
	t.exports = a;
})), Pg = /* @__PURE__ */ A(((t, n) => {
	var r = m(), i = e(), a = "[object Map]";
	function o(e) {
		return i(e) && r(e) == a;
	}
	n.exports = o;
})), Fg = /* @__PURE__ */ A(((e, t) => {
	var n = Pg(), r = x(), i = _e(), a = i && i.isMap;
	t.exports = a ? r(a) : n;
})), Ig = /* @__PURE__ */ A(((t, n) => {
	var r = m(), i = e(), a = "[object Set]";
	function o(e) {
		return i(e) && r(e) == a;
	}
	n.exports = o;
})), Lg = /* @__PURE__ */ A(((e, t) => {
	var n = Ig(), r = x(), i = _e(), a = i && i.isSet;
	t.exports = a ? r(a) : n;
})), Rg = /* @__PURE__ */ A(((e, t) => {
	var n = Yt(), r = d(), i = il(), a = hg(), o = yg(), c = bg(), l = s(), u = xg(), f = wg(), p = rn(), h = Tg(), g = m(), _ = Eg(), y = Mg(), b = Ng(), x = de(), S = j(), C = Fg(), w = v(), T = Lg(), E = It(), D = vg(), ee = 1, te = 2, ne = 4, re = "[object Arguments]", O = "[object Array]", ie = "[object Boolean]", ae = "[object Date]", oe = "[object Error]", se = "[object Function]", ce = "[object GeneratorFunction]", le = "[object Map]", k = "[object Number]", ue = "[object Object]", fe = "[object RegExp]", pe = "[object Set]", me = "[object String]", he = "[object Symbol]", ge = "[object WeakMap]", A = "[object ArrayBuffer]", _e = "[object DataView]", ve = "[object Float32Array]", ye = "[object Float64Array]", be = "[object Int8Array]", xe = "[object Int16Array]", Se = "[object Int32Array]", Ce = "[object Uint8Array]", we = "[object Uint8ClampedArray]", Te = "[object Uint16Array]", Ee = "[object Uint32Array]", M = {};
	M[re] = M[O] = M[A] = M[_e] = M[ie] = M[ae] = M[ve] = M[ye] = M[be] = M[xe] = M[Se] = M[le] = M[k] = M[ue] = M[fe] = M[pe] = M[me] = M[he] = M[Ce] = M[we] = M[Te] = M[Ee] = !0, M[oe] = M[se] = M[ge] = !1;
	function De(e, t, s, d, m, v) {
		var O, ie = t & ee, ae = t & te, oe = t & ne;
		if (s && (O = m ? s(e, d, m, v) : s(e)), O !== void 0) return O;
		if (!w(e)) return e;
		var le = x(e);
		if (le) {
			if (O = _(e), !ie) return l(e, O);
		} else {
			var k = g(e), de = k == se || k == ce;
			if (S(e)) return c(e, ie);
			if (k == ue || k == re || de && !m) {
				if (O = ae || de ? {} : b(e), !ie) return ae ? f(e, o(O, e)) : u(e, a(O, e));
			} else {
				if (!M[k]) return m ? e : {};
				O = y(e, k, ie);
			}
		}
		v ||= new n();
		var fe = v.get(e);
		if (fe) return fe;
		v.set(e, O), T(e) ? e.forEach(function(n) {
			O.add(De(n, t, s, n, e, v));
		}) : C(e) && e.forEach(function(n, r) {
			O.set(r, De(n, t, s, r, e, v));
		});
		var pe = le ? void 0 : (oe ? ae ? h : p : ae ? D : E)(e);
		return r(pe || e, function(n, r) {
			pe && (r = n, n = e[r]), i(O, r, De(n, t, s, r, e, v));
		}), O;
	}
	t.exports = De;
})), zg = /* @__PURE__ */ A(((e, t) => {
	function n(e) {
		var t = e == null ? 0 : e.length;
		return t ? e[t - 1] : void 0;
	}
	t.exports = n;
})), Bg = /* @__PURE__ */ A(((e, t) => {
	var n = St(), r = ps();
	function i(e, t) {
		return t.length < 2 ? e : n(e, r(t, 0, -1));
	}
	t.exports = i;
})), Vg = /* @__PURE__ */ A(((e, t) => {
	var n = pn(), r = zg(), i = Bg(), a = Ut(), o = Object.prototype.hasOwnProperty;
	function s(e, t) {
		t = n(t, e);
		var s = -1, c = t.length;
		if (!c) return !0;
		for (; ++s < c;) {
			var l = a(t[s]);
			if (l === "__proto__" && !o.call(e, "__proto__") || (l === "constructor" || l === "prototype") && s < c - 1) return !1;
		}
		var u = i(e, t);
		return u == null || delete u[a(r(t))];
	}
	t.exports = s;
})), Hg = /* @__PURE__ */ A(((t, n) => {
	var r = T(), i = Sg(), a = e(), o = "[object Object]", s = Function.prototype, c = Object.prototype, l = s.toString, u = c.hasOwnProperty, d = l.call(Object);
	function f(e) {
		if (!a(e) || r(e) != o) return !1;
		var t = i(e);
		if (t === null) return !0;
		var n = u.call(t, "constructor") && t.constructor;
		return typeof n == "function" && n instanceof n && l.call(n) == d;
	}
	n.exports = f;
})), Ug = /* @__PURE__ */ A(((e, t) => {
	var n = Hg();
	function r(e) {
		return n(e) ? void 0 : e;
	}
	t.exports = r;
})), Wg = /* @__PURE__ */ A(((e, t) => {
	var n = it(), r = dr(), a = i();
	function o(e) {
		return a(r(e, void 0, n), e + "");
	}
	t.exports = o;
})), Gg = /* @__PURE__ */ D((/* @__PURE__ */ A(((e, t) => {
	var n = kt(), r = Rg(), i = Vg(), a = pn(), o = mg(), s = Ug(), c = Wg(), l = Tg(), u = 1, d = 2, f = 4;
	t.exports = c(function(e, t) {
		var c = {};
		if (e == null) return c;
		var p = !1;
		t = n(t, function(t) {
			return t = a(t, e), p ||= t.length > 1, t;
		}), o(e, l(e), c), p && (c = r(c, u | d | f, s));
		for (var m = t.length; m--;) i(c, t[m]);
		return c;
	});
})))(), 1);
function Kg(e = {}, t) {
	switch (t.type) {
		case N.RESOLVE_AUTHENTICATION_REQUEST: return {
			...e,
			[t.tokenServiceId]: {
				authId: t.id,
				id: t.tokenServiceId,
				isFetching: !0
			}
		};
		case N.REQUEST_ACCESS_TOKEN: return {
			...e,
			[t.serviceId]: {
				authId: t.authId,
				id: t.serviceId,
				isFetching: !0
			}
		};
		case N.RECEIVE_ACCESS_TOKEN: return {
			...e,
			[t.serviceId]: {
				...e[t.serviceId],
				isFetching: !1,
				json: t.json
			}
		};
		case N.RECEIVE_ACCESS_TOKEN_FAILURE: return {
			...e,
			[t.serviceId]: {
				...e[t.serviceId],
				error: t.error,
				isFetching: !1
			}
		};
		case N.RESET_AUTHENTICATION_STATE: return (0, Gg.default)(e, t.tokenServiceId);
		case N.RECEIVE_INFO_RESPONSE: return !t.tokenServiceId || e[t.tokenServiceId].success ? e : {
			...e,
			[t.tokenServiceId]: {
				...e[t.tokenServiceId],
				success: !0
			}
		};
		default: return e;
	}
}
//#endregion
//#region node_modules/lodash/fp/_mapping.js
var qg = /* @__PURE__ */ A(((e) => {
	e.aliasToReal = {
		each: "forEach",
		eachRight: "forEachRight",
		entries: "toPairs",
		entriesIn: "toPairsIn",
		extend: "assignIn",
		extendAll: "assignInAll",
		extendAllWith: "assignInAllWith",
		extendWith: "assignInWith",
		first: "head",
		conforms: "conformsTo",
		matches: "isMatch",
		property: "get",
		__: "placeholder",
		F: "stubFalse",
		T: "stubTrue",
		all: "every",
		allPass: "overEvery",
		always: "constant",
		any: "some",
		anyPass: "overSome",
		apply: "spread",
		assoc: "set",
		assocPath: "set",
		complement: "negate",
		compose: "flowRight",
		contains: "includes",
		dissoc: "unset",
		dissocPath: "unset",
		dropLast: "dropRight",
		dropLastWhile: "dropRightWhile",
		equals: "isEqual",
		identical: "eq",
		indexBy: "keyBy",
		init: "initial",
		invertObj: "invert",
		juxt: "over",
		omitAll: "omit",
		nAry: "ary",
		path: "get",
		pathEq: "matchesProperty",
		pathOr: "getOr",
		paths: "at",
		pickAll: "pick",
		pipe: "flow",
		pluck: "map",
		prop: "get",
		propEq: "matchesProperty",
		propOr: "getOr",
		props: "at",
		symmetricDifference: "xor",
		symmetricDifferenceBy: "xorBy",
		symmetricDifferenceWith: "xorWith",
		takeLast: "takeRight",
		takeLastWhile: "takeRightWhile",
		unapply: "rest",
		unnest: "flatten",
		useWith: "overArgs",
		where: "conformsTo",
		whereEq: "isMatch",
		zipObj: "zipObject"
	}, e.aryMethod = {
		1: /* @__PURE__ */ "assignAll.assignInAll.attempt.castArray.ceil.create.curry.curryRight.defaultsAll.defaultsDeepAll.floor.flow.flowRight.fromPairs.invert.iteratee.memoize.method.mergeAll.methodOf.mixin.nthArg.over.overEvery.overSome.rest.reverse.round.runInContext.spread.template.trim.trimEnd.trimStart.uniqueId.words.zipAll".split("."),
		2: /* @__PURE__ */ "add.after.ary.assign.assignAllWith.assignIn.assignInAllWith.at.before.bind.bindAll.bindKey.chunk.cloneDeepWith.cloneWith.concat.conformsTo.countBy.curryN.curryRightN.debounce.defaults.defaultsDeep.defaultTo.delay.difference.divide.drop.dropRight.dropRightWhile.dropWhile.endsWith.eq.every.filter.find.findIndex.findKey.findLast.findLastIndex.findLastKey.flatMap.flatMapDeep.flattenDepth.forEach.forEachRight.forIn.forInRight.forOwn.forOwnRight.get.groupBy.gt.gte.has.hasIn.includes.indexOf.intersection.invertBy.invoke.invokeMap.isEqual.isMatch.join.keyBy.lastIndexOf.lt.lte.map.mapKeys.mapValues.matchesProperty.maxBy.meanBy.merge.mergeAllWith.minBy.multiply.nth.omit.omitBy.overArgs.pad.padEnd.padStart.parseInt.partial.partialRight.partition.pick.pickBy.propertyOf.pull.pullAll.pullAt.random.range.rangeRight.rearg.reject.remove.repeat.restFrom.result.sampleSize.some.sortBy.sortedIndex.sortedIndexOf.sortedLastIndex.sortedLastIndexOf.sortedUniqBy.split.spreadFrom.startsWith.subtract.sumBy.take.takeRight.takeRightWhile.takeWhile.tap.throttle.thru.times.trimChars.trimCharsEnd.trimCharsStart.truncate.union.uniqBy.uniqWith.unset.unzipWith.without.wrap.xor.zip.zipObject.zipObjectDeep".split("."),
		3: /* @__PURE__ */ "assignInWith.assignWith.clamp.differenceBy.differenceWith.findFrom.findIndexFrom.findLastFrom.findLastIndexFrom.getOr.includesFrom.indexOfFrom.inRange.intersectionBy.intersectionWith.invokeArgs.invokeArgsMap.isEqualWith.isMatchWith.flatMapDepth.lastIndexOfFrom.mergeWith.orderBy.padChars.padCharsEnd.padCharsStart.pullAllBy.pullAllWith.rangeStep.rangeStepRight.reduce.reduceRight.replace.set.slice.sortedIndexBy.sortedLastIndexBy.transform.unionBy.unionWith.update.xorBy.xorWith.zipWith".split("."),
		4: [
			"fill",
			"setWith",
			"updateWith"
		]
	}, e.aryRearg = {
		2: [1, 0],
		3: [
			2,
			0,
			1
		],
		4: [
			3,
			2,
			0,
			1
		]
	}, e.iterateeAry = {
		dropRightWhile: 1,
		dropWhile: 1,
		every: 1,
		filter: 1,
		find: 1,
		findFrom: 1,
		findIndex: 1,
		findIndexFrom: 1,
		findKey: 1,
		findLast: 1,
		findLastFrom: 1,
		findLastIndex: 1,
		findLastIndexFrom: 1,
		findLastKey: 1,
		flatMap: 1,
		flatMapDeep: 1,
		flatMapDepth: 1,
		forEach: 1,
		forEachRight: 1,
		forIn: 1,
		forInRight: 1,
		forOwn: 1,
		forOwnRight: 1,
		map: 1,
		mapKeys: 1,
		mapValues: 1,
		partition: 1,
		reduce: 2,
		reduceRight: 2,
		reject: 1,
		remove: 1,
		some: 1,
		takeRightWhile: 1,
		takeWhile: 1,
		times: 1,
		transform: 2
	}, e.iterateeRearg = {
		mapKeys: [1],
		reduceRight: [1, 0]
	}, e.methodRearg = {
		assignInAllWith: [1, 0],
		assignInWith: [
			1,
			2,
			0
		],
		assignAllWith: [1, 0],
		assignWith: [
			1,
			2,
			0
		],
		differenceBy: [
			1,
			2,
			0
		],
		differenceWith: [
			1,
			2,
			0
		],
		getOr: [
			2,
			1,
			0
		],
		intersectionBy: [
			1,
			2,
			0
		],
		intersectionWith: [
			1,
			2,
			0
		],
		isEqualWith: [
			1,
			2,
			0
		],
		isMatchWith: [
			2,
			1,
			0
		],
		mergeAllWith: [1, 0],
		mergeWith: [
			1,
			2,
			0
		],
		padChars: [
			2,
			1,
			0
		],
		padCharsEnd: [
			2,
			1,
			0
		],
		padCharsStart: [
			2,
			1,
			0
		],
		pullAllBy: [
			2,
			1,
			0
		],
		pullAllWith: [
			2,
			1,
			0
		],
		rangeStep: [
			1,
			2,
			0
		],
		rangeStepRight: [
			1,
			2,
			0
		],
		setWith: [
			3,
			1,
			2,
			0
		],
		sortedIndexBy: [
			2,
			1,
			0
		],
		sortedLastIndexBy: [
			2,
			1,
			0
		],
		unionBy: [
			1,
			2,
			0
		],
		unionWith: [
			1,
			2,
			0
		],
		updateWith: [
			3,
			1,
			2,
			0
		],
		xorBy: [
			1,
			2,
			0
		],
		xorWith: [
			1,
			2,
			0
		],
		zipWith: [
			1,
			2,
			0
		]
	}, e.methodSpread = {
		assignAll: { start: 0 },
		assignAllWith: { start: 0 },
		assignInAll: { start: 0 },
		assignInAllWith: { start: 0 },
		defaultsAll: { start: 0 },
		defaultsDeepAll: { start: 0 },
		invokeArgs: { start: 2 },
		invokeArgsMap: { start: 2 },
		mergeAll: { start: 0 },
		mergeAllWith: { start: 0 },
		partial: { start: 1 },
		partialRight: { start: 1 },
		without: { start: 1 },
		zipAll: { start: 0 }
	}, e.mutate = {
		array: {
			fill: !0,
			pull: !0,
			pullAll: !0,
			pullAllBy: !0,
			pullAllWith: !0,
			pullAt: !0,
			remove: !0,
			reverse: !0
		},
		object: {
			assign: !0,
			assignAll: !0,
			assignAllWith: !0,
			assignIn: !0,
			assignInAll: !0,
			assignInAllWith: !0,
			assignInWith: !0,
			assignWith: !0,
			defaults: !0,
			defaultsAll: !0,
			defaultsDeep: !0,
			defaultsDeepAll: !0,
			merge: !0,
			mergeAll: !0,
			mergeAllWith: !0,
			mergeWith: !0
		},
		set: {
			set: !0,
			setWith: !0,
			unset: !0,
			update: !0,
			updateWith: !0
		}
	}, e.realToAlias = function() {
		var t = Object.prototype.hasOwnProperty, n = e.aliasToReal, r = {};
		for (var i in n) {
			var a = n[i];
			t.call(r, a) ? r[a].push(i) : r[a] = [i];
		}
		return r;
	}(), e.remap = {
		assignAll: "assign",
		assignAllWith: "assignWith",
		assignInAll: "assignIn",
		assignInAllWith: "assignInWith",
		curryN: "curry",
		curryRightN: "curryRight",
		defaultsAll: "defaults",
		defaultsDeepAll: "defaultsDeep",
		findFrom: "find",
		findIndexFrom: "findIndex",
		findLastFrom: "findLast",
		findLastIndexFrom: "findLastIndex",
		getOr: "get",
		includesFrom: "includes",
		indexOfFrom: "indexOf",
		invokeArgs: "invoke",
		invokeArgsMap: "invokeMap",
		lastIndexOfFrom: "lastIndexOf",
		mergeAll: "merge",
		mergeAllWith: "mergeWith",
		padChars: "pad",
		padCharsEnd: "padEnd",
		padCharsStart: "padStart",
		propertyOf: "get",
		rangeStep: "range",
		rangeStepRight: "rangeRight",
		restFrom: "rest",
		spreadFrom: "spread",
		trimChars: "trim",
		trimCharsEnd: "trimEnd",
		trimCharsStart: "trimStart",
		zipAll: "zip"
	}, e.skipFixed = {
		castArray: !0,
		flow: !0,
		flowRight: !0,
		iteratee: !0,
		mixin: !0,
		rearg: !0,
		runInContext: !0
	}, e.skipRearg = {
		add: !0,
		assign: !0,
		assignIn: !0,
		bind: !0,
		bindKey: !0,
		concat: !0,
		difference: !0,
		divide: !0,
		eq: !0,
		gt: !0,
		gte: !0,
		isEqual: !0,
		lt: !0,
		lte: !0,
		matchesProperty: !0,
		merge: !0,
		multiply: !0,
		overArgs: !0,
		partial: !0,
		partialRight: !0,
		propertyOf: !0,
		random: !0,
		range: !0,
		rangeRight: !0,
		subtract: !0,
		zip: !0,
		zipObject: !0,
		zipObjectDeep: !0
	};
})), Jg = /* @__PURE__ */ A(((e, t) => {
	t.exports = {};
})), Yg = /* @__PURE__ */ A(((e, t) => {
	var n = qg(), r = Jg(), i = Array.prototype.push;
	function a(e, t) {
		return t == 2 ? function(t, n) {
			return e.apply(void 0, arguments);
		} : function(t) {
			return e.apply(void 0, arguments);
		};
	}
	function o(e, t) {
		return t == 2 ? function(t, n) {
			return e(t, n);
		} : function(t) {
			return e(t);
		};
	}
	function s(e) {
		for (var t = e ? e.length : 0, n = Array(t); t--;) n[t] = e[t];
		return n;
	}
	function c(e) {
		return function(t) {
			return e({}, t);
		};
	}
	function l(e, t) {
		return function() {
			for (var n = arguments.length, r = n - 1, a = Array(n); n--;) a[n] = arguments[n];
			var o = a[t], s = a.slice(0, t);
			return o && i.apply(s, o), t != r && i.apply(s, a.slice(t + 1)), e.apply(this, s);
		};
	}
	function u(e, t) {
		return function() {
			var n = arguments.length;
			if (n) {
				for (var r = Array(n); n--;) r[n] = arguments[n];
				var i = r[0] = t.apply(void 0, r);
				return e.apply(void 0, r), i;
			}
		};
	}
	function d(e, t, i, f) {
		var p = typeof t == "function", m = t === Object(t);
		if (m && (f = i, i = t, t = void 0), i == null) throw TypeError();
		f ||= {};
		var h = {
			cap: "cap" in f ? f.cap : !0,
			curry: "curry" in f ? f.curry : !0,
			fixed: "fixed" in f ? f.fixed : !0,
			immutable: "immutable" in f ? f.immutable : !0,
			rearg: "rearg" in f ? f.rearg : !0
		}, g = p ? i : r, _ = "curry" in f && f.curry, v = "fixed" in f && f.fixed, y = "rearg" in f && f.rearg, b = p ? i.runInContext() : void 0, x = p ? i : {
			ary: e.ary,
			assign: e.assign,
			clone: e.clone,
			curry: e.curry,
			forEach: e.forEach,
			isArray: e.isArray,
			isError: e.isError,
			isFunction: e.isFunction,
			isWeakMap: e.isWeakMap,
			iteratee: e.iteratee,
			keys: e.keys,
			rearg: e.rearg,
			toInteger: e.toInteger,
			toPath: e.toPath
		}, S = x.ary, C = x.assign, w = x.clone, T = x.curry, E = x.forEach, D = x.isArray, ee = x.isError, te = x.isFunction, ne = x.isWeakMap, re = x.keys, O = x.rearg, ie = x.toInteger, ae = x.toPath, oe = re(n.aryMethod), se = {
			castArray: function(e) {
				return function() {
					var t = arguments[0];
					return D(t) ? e(s(t)) : e.apply(void 0, arguments);
				};
			},
			iteratee: function(e) {
				return function() {
					var t = arguments[0], n = arguments[1], r = e(t, n), i = r.length;
					return h.cap && typeof n == "number" ? (n = n > 2 ? n - 2 : 1, i && i <= n ? r : o(r, n)) : r;
				};
			},
			mixin: function(e) {
				return function(t) {
					var n = this;
					if (!te(n)) return e(n, Object(t));
					var r = [];
					return E(re(t), function(e) {
						te(t[e]) && r.push([e, n.prototype[e]]);
					}), e(n, Object(t)), E(r, function(e) {
						var t = e[1];
						te(t) ? n.prototype[e[0]] = t : delete n.prototype[e[0]];
					}), n;
				};
			},
			nthArg: function(e) {
				return function(t) {
					var n = t < 0 ? 1 : ie(t) + 1;
					return T(e(t), n);
				};
			},
			rearg: function(e) {
				return function(t, n) {
					var r = n ? n.length : 0;
					return T(e(t, n), r);
				};
			},
			runInContext: function(t) {
				return function(n) {
					return d(e, t(n), f);
				};
			}
		};
		function ce(e, t) {
			if (h.cap) {
				var r = n.iterateeRearg[e];
				if (r) return he(t, r);
				var i = !p && n.iterateeAry[e];
				if (i) return me(t, i);
			}
			return t;
		}
		function le(e, t, n) {
			return _ || h.curry && n > 1 ? T(t, n) : t;
		}
		function k(e, t, r) {
			if (h.fixed && (v || !n.skipFixed[e])) {
				var i = n.methodSpread[e], a = i && i.start;
				return a === void 0 ? S(t, r) : l(t, a);
			}
			return t;
		}
		function ue(e, t, r) {
			return h.rearg && r > 1 && (y || !n.skipRearg[e]) ? O(t, n.methodRearg[e] || n.aryRearg[r]) : t;
		}
		function de(e, t) {
			t = ae(t);
			for (var n = -1, r = t.length, i = r - 1, a = w(Object(e)), o = a; o != null && ++n < r;) {
				var s = t[n], c = o[s];
				c != null && !(te(c) || ee(c) || ne(c)) && (o[s] = w(n == i ? c : Object(c))), o = o[s];
			}
			return a;
		}
		function fe(e) {
			return j.runInContext.convert(e)(void 0);
		}
		function pe(e, t) {
			var r = n.aliasToReal[e] || e, i = n.remap[r] || r, a = f;
			return function(e) {
				return d(p ? b : x, r, p ? b[i] : t, C(C({}, a), e));
			};
		}
		function me(e, t) {
			return ge(e, function(e) {
				return typeof e == "function" ? o(e, t) : e;
			});
		}
		function he(e, t) {
			return ge(e, function(e) {
				var n = t.length;
				return a(O(o(e, n), t), n);
			});
		}
		function ge(e, t) {
			return function() {
				var n = arguments.length;
				if (!n) return e();
				for (var r = Array(n); n--;) r[n] = arguments[n];
				var i = h.rearg ? 0 : n - 1;
				return r[i] = t(r[i]), e.apply(void 0, r);
			};
		}
		function A(e, t, r) {
			var i, a = n.aliasToReal[e] || e, o = t, l = se[a];
			return l ? o = l(t) : h.immutable && (n.mutate.array[a] ? o = u(t, s) : n.mutate.object[a] ? o = u(t, c(t)) : n.mutate.set[a] && (o = u(t, de))), E(oe, function(e) {
				return E(n.aryMethod[e], function(t) {
					if (a == t) {
						var r = n.methodSpread[a];
						return i = r && r.afterRearg ? k(a, ue(a, o, e), e) : ue(a, k(a, o, e), e), i = ce(a, i), i = le(a, i, e), !1;
					}
				}), !i;
			}), i ||= o, i == t && (i = _ ? T(i, 1) : function() {
				return t.apply(this, arguments);
			}), i.convert = pe(a, t), i.placeholder = t.placeholder = r, i;
		}
		if (!m) return A(t, i, g);
		var j = i, _e = [];
		return E(oe, function(e) {
			E(n.aryMethod[e], function(e) {
				var t = j[n.remap[e] || e];
				t && _e.push([e, A(e, t, j)]);
			});
		}), E(re(j), function(e) {
			var t = j[e];
			if (typeof t == "function") {
				for (var n = _e.length; n--;) if (_e[n][0] == e) return;
				t.convert = pe(e, t), _e.push([e, t]);
			}
		}), E(_e, function(e) {
			j[e[0]] = e[1];
		}), j.convert = fe, j.placeholder = j, E(re(j), function(e) {
			E(n.realToAlias[e] || [], function(t) {
				j[t] = j[e];
			});
		}), j;
	}
	t.exports = d;
})), Xg = /* @__PURE__ */ A(((e, t) => {
	var n = O(), r = 128;
	function i(e, t, i) {
		return t = i ? void 0 : t, t = e && t == null ? e.length : t, n(e, r, void 0, void 0, void 0, void 0, t);
	}
	t.exports = i;
})), Zg = /* @__PURE__ */ A(((e, t) => {
	var n = Rg(), r = 4;
	function i(e) {
		return n(e, r);
	}
	t.exports = i;
})), Qg = /* @__PURE__ */ A(((t, n) => {
	var r = T(), i = e(), a = Hg(), o = "[object DOMException]", s = "[object Error]";
	function c(e) {
		if (!i(e)) return !1;
		var t = r(e);
		return t == s || t == o || typeof e.message == "string" && typeof e.name == "string" && !a(e);
	}
	n.exports = c;
})), $g = /* @__PURE__ */ A(((t, n) => {
	var r = m(), i = e(), a = "[object WeakMap]";
	function o(e) {
		return i(e) && r(e) == a;
	}
	n.exports = o;
})), e_ = /* @__PURE__ */ A(((e, t) => {
	var n = Rg(), r = Ne(), i = 1;
	function a(e) {
		return r(typeof e == "function" ? e : n(e, i));
	}
	t.exports = a;
})), t_ = /* @__PURE__ */ A(((e, t) => {
	var n = O(), r = Wg(), i = 256;
	t.exports = r(function(e, t) {
		return n(e, i, void 0, void 0, void 0, t);
	});
})), n_ = /* @__PURE__ */ A(((e, t) => {
	var n = kt(), r = s(), i = de(), a = f(), o = en(), c = Ut(), l = Tt();
	function u(e) {
		return i(e) ? n(e, c) : a(e) ? [e] : r(o(l(e)));
	}
	t.exports = u;
})), r_ = /* @__PURE__ */ A(((e, n) => {
	n.exports = {
		ary: Xg(),
		assign: hg(),
		clone: Zg(),
		curry: t(),
		forEach: d(),
		isArray: de(),
		isError: Qg(),
		isFunction: _(),
		isWeakMap: $g(),
		iteratee: e_(),
		keys: r(),
		rearg: t_(),
		toInteger: l(),
		toPath: n_()
	};
})), i_ = /* @__PURE__ */ A(((e, t) => {
	var n = Yg(), r = r_();
	function i(e, t, i) {
		return n(r, e, t, i);
	}
	t.exports = i;
})), a_ = /* @__PURE__ */ A(((e, t) => {
	var n = al();
	function r(e, t, r) {
		return e == null ? e : n(e, t, r);
	}
	t.exports = r;
})), o_ = /* @__PURE__ */ A(((e, t) => {
	var n = i_()("set", a_());
	n.placeholder = Jg(), t.exports = n;
})), s_ = /* @__PURE__ */ A(((e, t) => {
	var n = i_()("update", cl());
	n.placeholder = Jg(), t.exports = n;
})), c_ = /* @__PURE__ */ D(o_(), 1), l_ = /* @__PURE__ */ D(s_(), 1);
function u_(e = {}, t) {
	switch (t.type) {
		case N.ADD_COMPANION_WINDOW: return (0, c_.default)([t.id], t.payload, e);
		case N.ADD_WINDOW: return {
			...e,
			...(t.companionWindows || []).reduce((n, r) => (n[r.id] = {
				...e[r.id],
				...r,
				windowId: t.id
			}, n), {})
		};
		case N.REMOVE_WINDOW: return Object.keys(e).reduce((n, r) => (e[r].windowId !== t.windowId && (n[r] = e[r]), n), {});
		case N.UPDATE_COMPANION_WINDOW: return (0, l_.default)([t.id], (e) => ({
			...e || {},
			...t.payload
		}), e);
		case N.REMOVE_COMPANION_WINDOW: return (0, Gg.default)(e, t.id);
		case N.IMPORT_MIRADOR_STATE: return t.state.companionWindows || [];
		case N.TOGGLE_TOC_NODE: return (0, l_.default)([t.id, "tocNodes"], (e) => ({
			...e || {},
			...t.payload
		}), e);
		default: return e;
	}
}
//#endregion
//#region src/state/reducers/errors.js
var d_ = { items: [] }, f_ = (e = d_, t) => {
	let n;
	switch (t.type) {
		case N.ADD_ERROR: return {
			...e,
			[t.id]: {
				id: t.id,
				message: t.message
			},
			items: [...e.items, t.id]
		};
		case N.RECEIVE_INFO_RESPONSE_FAILURE: return {
			...e,
			[t.infoId]: {
				id: t.infoId,
				message: t.error
			},
			items: [...e.items, t.infoId]
		};
		case N.RECEIVE_SEARCH_FAILURE: return {
			...e,
			[t.searchId]: {
				id: t.searchId,
				message: t.error
			},
			items: [...e.items, t.searchId]
		};
		case N.REMOVE_ERROR: return n = Object.keys(e).reduce((n, r) => (r !== t.id && (n[r] = e[r]), n), {}), n.items = (0, gl.default)(n.items, t.id), n;
		case N.IMPORT_MIRADOR_STATE: return d_;
		default: return e;
	}
};
//#endregion
//#region src/state/reducers/workspace.js
function p_(e) {
	return e.x !== void 0 && e.y !== void 0 && e.width !== void 0 && e.height !== void 0;
}
function m_(e, t) {
	return t.x - t.width / 2 > e.x - e.width / 2 && t.y - t.height / 2 > e.y - e.height / 2 && t.x + t.width / 2 < e.x + e.width / 2 && t.y + t.height / 2 < e.y + e.height / 2;
}
var h_ = (e = {
	...k.workspace,
	windowIds: []
}, t) => {
	let n, r, i;
	switch (t.type) {
		case N.UPDATE_WORKSPACE: return {
			...e,
			...t.config
		};
		case N.FOCUS_WINDOW: return {
			...e,
			focusedWindowId: t.windowId,
			viewportPosition: {
				...e.viewportPosition,
				...t.position
			}
		};
		case N.ADD_WINDOW: return {
			...e,
			focusedWindowId: t.window.id,
			windowIds: [...e.windowIds || [], t.window.id]
		};
		case N.REMOVE_WINDOW: return i = (e.windowIds || []).filter((e) => e !== t.windowId), {
			...e,
			focusedWindowId: t.windowId === e.focusedWindowId ? i[i.length - 1] : e.focusedWindowId,
			windowIds: i
		};
		case N.SET_WORKSPACE_FULLSCREEN: return {
			...e,
			isFullscreenEnabled: t.isFullscreenEnabled
		};
		case N.TOGGLE_ZOOM_CONTROLS: return {
			...e,
			showZoomControls: t.showZoomControls
		};
		case N.UPDATE_WORKSPACE_MOSAIC_LAYOUT: return {
			...e,
			layout: t.layout
		};
		case N.SET_WORKSPACE_ADD_VISIBILITY: return {
			...e,
			isWorkspaceAddVisible: t.isWorkspaceAddVisible
		};
		case N.SET_WORKSPACE_VIEWPORT_POSITION: return n = {}, r = {
			...e.viewportPosition,
			...t.payload.position
		}, p_(r) && !m_({
			height: e.height,
			width: e.width,
			x: 0,
			y: 0
		}, r) && (n = {
			height: e.height * 2,
			width: e.width * 2
		}), {
			...e,
			...n,
			viewportPosition: r
		};
		case N.SET_CONFIG:
		case N.IMPORT_CONFIG:
		case N.UPDATE_CONFIG: return {
			...e,
			...t.config.workspace
		};
		case N.IMPORT_MIRADOR_STATE: return t.state.workspace || {};
		case N.TOGGLE_DRAGGING: return {
			...e,
			draggingEnabled: !e.draggingEnabled
		};
		default: return e;
	}
}, g_ = (e = {}, t) => {
	switch (t.type) {
		case N.ADD_WINDOW: return {
			...e,
			[t.window.id]: t.window
		};
		case N.MAXIMIZE_WINDOW: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				maximized: !0
			}
		};
		case N.MINIMIZE_WINDOW: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				maximized: !1
			}
		};
		case N.UPDATE_WINDOW: return e[t.id] ? (0, l_.default)([t.id], (e) => ({
			...e || {},
			...t.payload
		}), e) : e;
		case N.REMOVE_WINDOW: return (0, Gg.default)(e, [t.windowId]);
		case N.TOGGLE_WINDOW_SIDE_BAR: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				sideBarOpen: !e[t.windowId].sideBarOpen
			}
		};
		case N.SET_WINDOW_VIEW_TYPE: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				view: t.viewType
			}
		};
		case N.UPDATE_WINDOW_POSITION: return {
			...e,
			[t.payload.windowId]: {
				...e[t.payload.windowId],
				x: t.payload.position.x,
				y: t.payload.position.y
			}
		};
		case N.SET_WINDOW_SIZE: return {
			...e,
			[t.payload.windowId]: {
				...e[t.payload.windowId],
				height: t.payload.size.height,
				width: t.payload.size.width,
				x: t.payload.size.x,
				y: t.payload.size.y
			}
		};
		case N.SET_CANVAS: return e[t.windowId] ? (0, l_.default)([t.windowId], (e) => ({
			...e || {},
			canvasId: t.canvasId,
			visibleCanvases: t.visibleCanvases || []
		}), e) : e;
		case N.ADD_COMPANION_WINDOW: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				companionWindowIds: e[t.windowId].companionWindowIds.concat([t.id]),
				...t.payload.position === "left" ? {
					companionAreaOpen: !0,
					sideBarPanel: t.payload.content
				} : {}
			}
		};
		case N.UPDATE_COMPANION_WINDOW: return t.payload.position === "left" ? {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				companionAreaOpen: !0
			}
		} : e;
		case N.REMOVE_COMPANION_WINDOW: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				companionWindowIds: e[t.windowId].companionWindowIds.filter((e) => e !== t.id)
			}
		};
		case N.SELECT_ANNOTATION: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				selectedAnnotationId: t.annotationId
			}
		};
		case N.DESELECT_ANNOTATION: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				selectedAnnotationId: void 0
			}
		};
		case N.HOVER_ANNOTATION: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				hoveredAnnotationIds: t.annotationIds
			}
		};
		case N.TOGGLE_ANNOTATION_DISPLAY: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				highlightAllAnnotations: !e[t.windowId].highlightAllAnnotations
			}
		};
		case N.IMPORT_MIRADOR_STATE: return t.state.windows || [];
		case N.REQUEST_SEARCH: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				suggestedSearches: void 0
			}
		};
		case N.SHOW_COLLECTION_DIALOG: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				collectionDialogOn: !0,
				collectionManifestId: t.manifestId,
				dialogCollectionPath: t.dialogCollectionPath
			}
		};
		case N.HIDE_COLLECTION_DIALOG: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				collectionDialogOn: !1
			}
		};
		default: return e;
	}
}, __ = (e = {}, t) => {
	switch (t.type) {
		case N.REQUEST_MANIFEST: return {
			[t.manifestId]: {
				...e[t.manifestId],
				...t.properties,
				id: t.manifestId
			},
			...(0, Gg.default)(e, t.manifestId)
		};
		case N.RECEIVE_MANIFEST: return {
			...e,
			[t.manifestId]: {
				...e[t.manifestId],
				error: null,
				id: t.manifestId,
				isFetching: !1,
				json: t.manifestJson
			}
		};
		case N.RECEIVE_MANIFEST_FAILURE: return {
			...e,
			[t.manifestId]: {
				...e[t.manifestId],
				error: t.error,
				id: t.manifestId,
				isFetching: !1
			}
		};
		case N.REMOVE_MANIFEST: return Object.keys(e).reduce((n, r) => (r !== t.manifestId && (n[r] = e[r]), n), {});
		case N.IMPORT_MIRADOR_STATE: return t.state.manifests || {};
		default: return e;
	}
}, v_ = (e = {}, t) => {
	switch (t.type) {
		case N.REQUEST_INFO_RESPONSE: return {
			...e,
			[t.infoId]: {
				id: t.infoId,
				isFetching: !0
			}
		};
		case N.RECEIVE_INFO_RESPONSE: return {
			...e,
			[t.infoId]: {
				degraded: !1,
				id: t.infoId,
				isFetching: !1,
				json: t.infoJson,
				tokenServiceId: t.tokenServiceId
			}
		};
		case N.RECEIVE_DEGRADED_INFO_RESPONSE: return {
			...e,
			[t.infoId]: {
				degraded: !0,
				id: t.infoId,
				isFetching: !1,
				json: t.infoJson,
				tokenServiceId: t.tokenServiceId
			}
		};
		case N.RECEIVE_INFO_RESPONSE_FAILURE: return {
			...e,
			[t.infoId]: {
				error: t.error,
				id: t.infoId,
				isFetching: !1,
				tokenServiceId: t.tokenServiceId
			}
		};
		case N.REMOVE_INFO_RESPONSE: return Object.keys(e).reduce((n, r) => (r !== t.infoId && (n[r] = e[r]), n), {});
		case N.IMPORT_MIRADOR_STATE: return {};
		default: return e;
	}
}, y_ = { ...k }, b_ = (e, t, n) => t, x_ = (e = y_, t) => {
	switch (t.type) {
		case N.UPDATE_CONFIG:
		case N.IMPORT_CONFIG: return (0, hl.default)(e, t.config, { arrayMerge: b_ });
		case N.SET_CONFIG: return t.config;
		case N.IMPORT_MIRADOR_STATE: return {
			...t.state.config || {},
			export: (0, hl.default)(e.export || {}, t.state.config?.export || {}, { arrayMerge: b_ }),
			requests: (0, hl.default)(e.requests || {}, t.state.config?.requests || {}, { arrayMerge: b_ }),
			theme: (0, hl.default)(e.theme || {}, t.state.config?.theme || {}, { arrayMerge: b_ }),
			themes: (0, hl.default)(e.themes || {}, t.state.config?.themes || {}, { arrayMerge: b_ })
		};
		default: return e;
	}
}, S_ = (e = {}, t) => {
	switch (t.type) {
		case N.UPDATE_VIEWPORT: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				...t.payload
			}
		};
		case N.ADD_WINDOW: return t.window.initialViewerConfig ? {
			...e,
			[t.window.id]: {
				...e[t.window.id],
				...t.window.initialViewerConfig
			}
		} : e;
		case N.REMOVE_WINDOW: return (0, Gg.default)(e, t.windowId);
		case N.SET_WINDOW_VIEW_TYPE: return (0, c_.default)([t.windowId], null, e);
		case N.SET_CANVAS: return t.preserveViewport ? e : (0, c_.default)([t.windowId], null, e);
		case N.IMPORT_MIRADOR_STATE: return t.state.viewers || {};
		default: return e;
	}
}, C_ = (e = {}, t) => {
	switch (t.type) {
		case N.REQUEST_ANNOTATION: return {
			...e,
			[t.targetId]: {
				...e[t.targetId],
				[t.annotationId]: {
					id: t.annotationId,
					isFetching: !0
				}
			}
		};
		case N.RECEIVE_ANNOTATION: return {
			...e,
			[t.targetId]: {
				...e[t.targetId],
				[t.annotationId]: {
					id: t.annotationId,
					isFetching: !1,
					json: t.annotationJson
				}
			}
		};
		case N.RECEIVE_ANNOTATION_FAILURE: return {
			...e,
			[t.targetId]: {
				...e[t.targetId],
				[t.annotationId]: {
					error: t.error,
					id: t.annotationId,
					isFetching: !1
				}
			}
		};
		case N.IMPORT_MIRADOR_STATE: return {};
		default: return e;
	}
}, w_ = (e = {}, t) => {
	switch (t.type) {
		case N.ADD_AUTHENTICATION_REQUEST: return {
			...e,
			[t.id]: {
				id: t.id,
				isFetching: !0,
				profile: t.profile,
				windowId: t.windowId
			}
		};
		case N.RESOLVE_AUTHENTICATION_REQUEST: return {
			...e,
			[t.id]: {
				...e[t.id],
				isFetching: !1,
				ok: t.ok
			}
		};
		case N.RECEIVE_ACCESS_TOKEN: return t.authId ? {
			...e,
			[t.authId]: {
				...e[t.authId],
				ok: !0
			}
		} : e;
		case N.RESET_AUTHENTICATION_STATE: return (0, Gg.default)(e, t.id);
		default: return e;
	}
}, T_ = (e = {}, t) => {
	switch (t.type) {
		case N.ADD_WINDOW: return {
			...e,
			[t.window.id]: {
				windowId: t.window.id,
				...t.elasticLayout
			}
		};
		case N.UPDATE_ELASTIC_WINDOW_LAYOUT: return (0, l_.default)([t.windowId], (e) => ({
			...e || {},
			...t.payload
		}), e);
		case N.REMOVE_WINDOW: return (0, Gg.default)(e, t.windowId);
		case N.IMPORT_MIRADOR_STATE: return t.state.elasticLayout || {};
		default: return e;
	}
}, E_ = (e = {}, t) => {
	let n = (e[t.windowId] || {})[t.companionWindowId] || {};
	switch (t.type) {
		case N.REQUEST_SEARCH: return n.query === t.query ? {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				[t.companionWindowId]: {
					...n,
					data: {
						...n.data,
						[t.searchId]: { isFetching: !0 }
					}
				}
			}
		} : {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				[t.companionWindowId]: {
					...n,
					data: { [t.searchId]: { isFetching: !0 } },
					query: t.query,
					selectedContentSearchAnnotation: []
				}
			}
		};
		case N.RECEIVE_SEARCH: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				[t.companionWindowId]: {
					...n,
					data: {
						...n.data,
						[t.searchId]: {
							isFetching: !1,
							json: t.searchJson
						}
					}
				}
			}
		};
		case N.RECEIVE_SEARCH_FAILURE: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				[t.companionWindowId]: {
					...n,
					data: {
						...n.data,
						[t.searchId]: {
							error: t.error,
							isFetching: !1
						}
					}
				}
			}
		};
		case N.REMOVE_SEARCH: return {
			...e,
			[t.windowId]: Object.keys(e[t.windowId]).reduce((n, r) => (r !== t.companionWindowId && (n[r] = e[t.windowId][r]), n), {})
		};
		case N.SET_CONTENT_SEARCH_CURRENT_ANNOTATIONS: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				[t.companionWindowId]: {
					...n,
					selectedContentSearchAnnotationIds: t.annotationIds
				}
			}
		};
		case N.SELECT_ANNOTATION: return e[t.windowId] ? {
			...e,
			[t.windowId]: Object.keys(e[t.windowId]).reduce((n, r) => {
				let i = e[t.windowId][r];
				return n[r] = i.data && Object.values(i.data).filter((e) => e.json && e.json.resources).some((e) => (0, pl.default)([e.json.resources]).some((e) => e["@id"] === t.annotationId)) ? {
					...i,
					selectedContentSearchAnnotationIds: [t.annotationId]
				} : i, n;
			}, {})
		} : e;
		case N.IMPORT_MIRADOR_STATE: return {};
		case N.REMOVE_WINDOW: return (0, Gg.default)(e, t.windowId);
		case N.REMOVE_COMPANION_WINDOW: return e[t.windowId] ? {
			...e,
			[t.windowId]: { ...(0, Gg.default)(e[t.windowId], t.id) }
		} : e;
		default: return e;
	}
}, D_ = (e = {}, t) => {
	switch (t.type) {
		case N.UPDATE_LAYERS: return {
			...e,
			[t.windowId]: {
				...e[t.windowId],
				[t.canvasId]: (0, hl.default)((e[t.windowId] || {})[t.canvasId] || {}, t.payload)
			}
		};
		case N.REMOVE_WINDOW: return (0, Gg.default)(e, [t.windowId]);
		default: return e;
	}
}, O_ = (e = [], t) => {
	switch (t.type) {
		case N.ADD_RESOURCE: return e.some((e) => e.manifestId === t.manifestId) ? e : [{
			manifestId: t.manifestId,
			...t.payload
		}, ...e];
		case N.ADD_WINDOW: return e.some((e) => e.manifestId === t.window.manifestId) ? e : [{ manifestId: t.window.manifestId }, ...e];
		case N.UPDATE_WINDOW: return !t.payload.manifestId || e.some((e) => e.manifestId === t.payload.manifestId) ? e : [{ manifestId: t.payload.manifestId }, ...e];
		case N.REMOVE_RESOURCE: return e.filter((e) => e.manifestId !== t.manifestId);
		case N.IMPORT_CONFIG: return t.config.catalog || [];
		case N.IMPORT_MIRADOR_STATE: return t.state.catalog || [];
		default: return e;
	}
}, k_ = /* @__PURE__ */ w({
	accessTokensReducer: () => Kg,
	annotationsReducer: () => C_,
	authReducer: () => w_,
	catalogReducer: () => O_,
	companionWindowsReducer: () => u_,
	configReducer: () => x_,
	elasticLayoutReducer: () => T_,
	errorsReducer: () => f_,
	infoResponsesReducer: () => v_,
	layersReducer: () => D_,
	manifestsReducer: () => __,
	searchesReducer: () => E_,
	viewersReducer: () => S_,
	windowsReducer: () => g_,
	workspaceReducer: () => h_
});
//#endregion
//#region src/state/reducers/rootReducer.js
function A_(e) {
	return o({
		accessTokens: Kg,
		annotations: C_,
		auth: w_,
		catalog: O_,
		companionWindows: u_,
		config: x_,
		elasticLayout: T_,
		errors: f_,
		infoResponses: v_,
		layers: D_,
		manifests: __,
		searches: E_,
		viewers: S_,
		windows: g_,
		workspace: h_,
		...e
	});
}
//#endregion
//#region node_modules/@redux-saga/core/effects/dist/redux-saga-core-effects.esm.js
var j_ = function(e) {
	return {
		done: !0,
		value: e
	};
}, M_ = {};
function N_(e) {
	return sm(e) ? "channel" : cm(e) ? String(e) : tm(e) ? e.name : String(e);
}
function P_(e, t, n) {
	var r, i, a, o = t;
	function s(t, n) {
		if (o === M_) return j_(t);
		if (n && !i) throw o = M_, n;
		r && r(t);
		var s = n ? e[i](n) : e[o]();
		return o = s.nextState, a = s.effect, r = s.stateUpdater, i = s.errorState, o === M_ ? j_(t) : a;
	}
	return xm(s, function(e) {
		return s(null, e);
	}, n);
}
function F_(e, t) {
	var n = [...arguments].slice(2), r = {
		done: !1,
		value: Qm(e)
	}, i = function(e) {
		return {
			done: !1,
			value: eh.apply(void 0, [t].concat(n, [e]))
		};
	}, a, o = function(e) {
		return a = e;
	};
	return P_({
		q1: function() {
			return {
				nextState: "q2",
				effect: r,
				stateUpdater: o
			};
		},
		q2: function() {
			return {
				nextState: "q1",
				effect: i(a)
			};
		}
	}, "q1", "takeEvery(" + N_(e) + ", " + t.name + ")");
}
function $(e, t) {
	var n = [...arguments].slice(2);
	return eh.apply(void 0, [
		F_,
		e,
		t
	].concat(n));
}
//#endregion
//#region src/state/sagas/iiif.js
function I_(e, t, { success: n, degraded: r, failure: i }) {
	return fetch(e, t).then((t) => t.json().then((e) => t.status === 401 ? (r || n)({
		json: e,
		response: t
	}) : t.ok ? n({
		json: e,
		response: t
	}) : i({
		error: t.statusText,
		json: e,
		response: t
	})).catch((n) => t.ok ? i({
		error: n,
		response: t
	}) : i({
		error: `${t.status} ${t.statusText}: ${e}`,
		response: t
	}))).catch((e) => i({ error: e }));
}
function* L_(e, t, { success: n, degraded: r, failure: i }) {
	let { preprocessors: a = [], postprocessors: o = [] } = yield Z(gn);
	try {
		let s = yield X(I_, e, a.reduce((t, n) => n(e, t) || t, t), {
			degraded: r,
			failure: i,
			success: n
		});
		return s = o.reduce((t, n) => n(e, t) || t, s), s;
	} catch (e) {
		return i({ error: e });
	}
}
function* R_(e, t, n, { degraded: r, failure: i, success: a }) {
	let o = { ...n }, s;
	if (t) {
		let e = yield X(B_, t);
		s = e && e.id, e && e.json && (o.headers = {
			Authorization: `Bearer ${e.json.accessToken}`,
			...n.headers
		});
	}
	let { error: c, json: l, response: u } = yield X(L_, e, o, {
		failure: (e) => e,
		success: (e) => e
	});
	if (c) {
		yield J(i({
			error: c,
			json: l,
			response: u,
			tokenServiceId: s
		}));
		return;
	}
	let d = l["@id"] || l.id;
	if (u.ok) {
		if (fr(d, { stripAuthentication: !1 }) === fr(e.replace(/info\.json$/, ""), { stripAuthentication: !1 })) {
			yield J(a({
				json: l,
				response: u,
				tokenServiceId: s
			}));
			return;
		}
	} else if (u.status !== 401) {
		yield J(i({
			error: c,
			json: l,
			response: u,
			tokenServiceId: s
		}));
		return;
	}
	let f = yield X(B_, l);
	if (f && f.id !== s) {
		yield X(R_, e, l, n, {
			degraded: r,
			failure: i,
			success: a
		});
		return;
	}
	yield J((r || a)({
		json: l,
		response: u,
		tokenServiceId: s
	}));
}
function* z_({ manifestId: e }) {
	yield J(yield X(L_, e, {}, {
		failure: ({ error: t, json: n, response: r }) => Mo(e, typeof t == "object" ? String(t) : t),
		success: ({ json: t, response: n }) => ss(e, t)
	}));
}
function* B_(e) {
	let t = e && e.__jsonld ? e : {
		...e,
		options: {}
	}, n = ml.Utils.getServices(t).filter((e) => e.getProfile().match(/http:\/\/iiif.io\/api\/auth\//));
	if (n.length === 0) return;
	let r = yield Z(ya);
	if (r) for (let e = 0; e < n.length; e += 1) {
		let t = n[e], i = ml.Utils.getService(t, "http://iiif.io/api/auth/1/token") || ml.Utils.getService(t, "http://iiif.io/api/auth/0/token"), a = i && r[i.id];
		if (a && a.json) return a;
	}
}
function* V_({ imageResource: e, infoId: t, windowId: n }) {
	let r = e;
	r ||= yield Z(hn, { infoId: t }), yield X(R_, `${t.replace(/\/$/, "")}/info.json`, r, {}, {
		degraded: ({ json: e, response: r, tokenServiceId: i }) => yl(t, e, r.ok, i, n),
		failure: ({ error: e, json: n, response: r, tokenServiceId: i }) => bl(t, e, i),
		success: ({ json: e, response: n, tokenServiceId: r }) => vl(t, e, n.ok, r)
	});
}
function* H_({ windowId: e, companionWindowId: t, query: n, searchId: r }) {
	yield J(yield X(L_, r, {}, {
		failure: ({ error: n, json: i, response: a }) => Hr(e, t, r, n),
		success: ({ json: n, response: i }) => Oi(e, t, r, n)
	}));
}
function* U_({ targetId: e, annotationId: t }) {
	yield J(yield X(L_, t, {}, {
		failure: ({ error: n, json: r, response: i }) => Ln(e, t, n),
		success: ({ json: n, response: r }) => Wn(e, t, n)
	}));
}
function* W_({ manifestId: e, manifestJson: t }) {
	if (t) {
		yield J(ss(e, t));
		return;
	}
	e && ((yield Z(ue) || {})[e] || (yield* z_({ manifestId: e })));
}
function* G_(...e) {
	let t = yield Z(ue);
	for (let n = 0; n < e.length; n += 1) {
		let r = e[n];
		t[r] || (yield X(z_, { manifestId: r }));
	}
}
function* K_() {
	yield Y([
		$(N.REQUEST_MANIFEST, z_),
		$(N.REQUEST_INFO_RESPONSE, V_),
		$(N.REQUEST_SEARCH, H_),
		$(N.REQUEST_ANNOTATION, U_),
		$(N.ADD_RESOURCE, W_)
	]);
}
//#endregion
//#region src/state/sagas/windows.js
function* q_(e) {
	let { collectionPath: t, id: n, manifestId: r } = e.payload || e.window;
	r && (e.manifest ? yield J(ss(r, e.manifest)) : yield X(G_, r, ...t || []), yield X(Z_, e), yield X(Q_, e), t || (yield X(Y_, {
		manifestId: r,
		windowId: e.id || e.window.id
	})), yield X(ov, r, n));
}
function* J_(e) {
	let t = e.id;
	if (!e || !e.payload || !e.payload.sequenceId) return;
	let n = yield Z(sn, { windowId: t });
	!n || !n[0] || !n[0].id || (yield J(yield X(uc, t, n[0].id)));
}
function* Y_({ manifestId: e, windowId: t }) {
	let n = yield Z(vt, { manifestId: e });
	if (n) {
		let e = n.getProperty("partOf"), r = Array.isArray(e) ? e[0] : e;
		r && r.id && (yield J(Qs(t, { collectionPath: [r.id] })));
	}
}
function* X_(e) {
	let { collectionPath: t } = e.payload;
	t && (yield X(G_, ...t));
}
function* Z_(e) {
	let { canvasId: t, canvasIndex: n, manifestId: r } = e.payload || e.window, i = e.id || e.window.id;
	if (t) {
		let n = !!e.payload || !!e.window?.initialViewerConfig;
		yield J(yield X(uc, i, t, null, { preserveViewport: n }));
	} else {
		let t = yield Z(He), a = yield Z(vt, { manifestId: r });
		if (a) {
			let r = t(a), o = r.startCanvas || r.canvasAt(n || 0) || r.canvasAt(0);
			if (o) {
				let t = !!e.payload || !!e.window?.initialViewerConfig;
				yield J(t ? yield X(uc, i, o.id, null, { preserveViewport: t }) : yield X(uc, i, o.id));
			}
		}
	}
}
function* Q_(e) {
	if (!e.window || !e.window.defaultSearchQuery) return;
	let { id: t, defaultSearchQuery: n } = e.window, r = yield Z(Xe, { windowId: t }), i = (yield Z(De, {
		position: "left",
		windowId: t
	}))[0];
	if (r && i) {
		let e = r && `${r.id}?${new URLSearchParams({ q: n })}`;
		yield J(bi(t, i, e, n));
	}
}
function $_(e, { canvasIds: t, companionWindowIds: n, windowId: r }) {
	return n.reduce((n, i) => {
		let a = Jn(e, {
			companionWindowId: i,
			windowId: r
		}).resources.find((e) => t.includes(e.targetId));
		return a && (n[i] = [a.id]), n;
	}, {});
}
function* ev({ annotationId: e, windowId: t, visibleCanvases: n }) {
	let r = yield Z(Hn, { windowId: t }), i = Object.keys(r || {});
	if (i.length === 0) return;
	let a = yield Z($_, {
		canvasIds: n,
		companionWindowIds: i,
		windowId: t
	});
	yield Y(Object.keys(a).map((e) => J(Ii(t, e, a[e])))), Object.values(a).length > 0 && (yield J(zn(t, Object.values(a)[0][0])));
}
function* tv({ pan: e, windowId: t }) {
	if (!e) return;
	let { x: n, y: r, width: i, height: a } = (yield Z(Oe))[t] || {}, { viewportPosition: { width: o, height: s } } = yield Z(ae);
	yield J(fa({
		x: n + i / 2 - o / 2,
		y: r + a / 2 - s / 2
	}));
}
function* nv({ windowId: e }) {
	let { canvasId: t } = yield Z(y, { windowId: e }), n = yield Z(an, {
		canvasId: t,
		windowId: e
	});
	yield J(Qs(e, { visibleCanvases: (n || []).map((e) => e.id) }));
}
function* rv({ companionWindowId: e, windowId: t }) {
	let { switchCanvasOnSearch: n } = yield Z($e, { windowId: t });
	if (!n || (yield Z(Rn, {
		companionWindowId: e,
		windowId: t
	})).length !== 0) return;
	let r = yield Z(ir, {
		companionWindowId: e,
		windowId: t
	});
	!r || r.length === 0 || (yield J(zn(t, r[0].id)));
}
function* iv({ annotationId: e, windowId: t }) {
	let n = yield Z($t, { windowId: t }), r = yield Z(tr, {
		annotationId: e,
		windowId: t
	});
	!r || n.includes(r.id) || (yield J(yield X(uc, t, r.id)));
}
function* av({ visibleCanvases: e, windowId: t }) {
	let n = yield Z(sn, { windowId: t }), r = yield Z(xn), i = (n || []).filter((t) => e.includes(t.id)), a = yield Z(Le);
	yield Y(i.map((e) => Y(a(e).iiifImageResources.map((e) => !r[we(e)?.id] && J(xl({
		imageResource: e,
		windowId: t
	}))).filter(Boolean))));
}
function* ov(e, t) {
	let n = yield Z(vt, { manifestId: e });
	n && n.isCollection() && (yield J(oc(e, [], t)));
}
function* sv() {
	yield Y([
		$(N.ADD_WINDOW, q_),
		$(N.UPDATE_WINDOW, q_),
		$(N.UPDATE_WINDOW, J_),
		$(N.UPDATE_WINDOW, X_),
		$(N.SET_CANVAS, ev),
		$(N.SET_CANVAS, av),
		$(N.UPDATE_COMPANION_WINDOW, X_),
		$(N.SET_WINDOW_VIEW_TYPE, nv),
		$(N.RECEIVE_SEARCH, rv),
		$(N.SELECT_ANNOTATION, iv),
		$(N.FOCUS_WINDOW, tv)
	]);
}
//#endregion
//#region src/state/sagas/app.js
function* cv(e) {
	yield Y([...Object.entries(e.state.windows || {}).map(([e, t]) => X(q_, {
		id: t.id,
		payload: t
	})), ...Object.entries(e.state.manifests || {}).filter(([e, t]) => !t.json).map(([e, t]) => X(G_, t.id))]);
}
function* lv({ config: { thumbnailNavigation: e, windows: t } }) {
	!t || t.length === 0 || (yield Y((yield Y(t.map((t) => {
		let n = `window-${te()}`, r = t.manifestId || t.loadedManifest;
		return X(ac, {
			id: n,
			manifestId: r,
			thumbnailNavigationPosition: e && e.defaultPosition,
			...t
		});
	}))).map((e) => J(e))));
}
function* uv(e) {
	let { dialogCollectionPath: t, manifestId: n } = e;
	yield X(G_, n, ...t);
}
function* dv() {
	yield Y([
		$(N.IMPORT_MIRADOR_STATE, cv),
		$(N.IMPORT_CONFIG, lv),
		$(N.SHOW_COLLECTION_DIALOG, uv)
	]);
}
//#endregion
//#region src/state/sagas/annotations.js
function* fv({ canvasId: e, windowId: t }) {
	let n = yield Z(un, {
		canvasId: e,
		windowId: t
	}), r = yield Z(Dn), i = (yield Z(Le))(n);
	return yield Y([...i.annotationListUris.filter((e) => !(r[n.id] && r[n.id][e])).map((e) => J(Xn(n.id, e))), ...i.canvasAnnotationPages.filter((e) => !(r[n.id] && r[n.id][e.id])).map((e) => e.items ? J(Wn(n.id, e.id, e)) : J(Xn(n.id, e.id)))]);
}
function* pv({ visibleCanvases: e = [], windowId: t }) {
	return yield Y(e.map((e) => J($n(t, e))));
}
function* mv() {
	yield Y([$(N.REQUEST_CANVAS_ANNOTATIONS, fv), $(N.SET_CANVAS, pv)]);
}
//#endregion
//#region src/state/sagas/auth.js
function* hv({ tokenServiceId: e }) {
	yield nh(2e3), yield X(gv, { serviceId: e });
}
function* gv({ serviceId: e }) {
	let t = yield Z(S), n = yield Y(Object.keys(t).map((e) => Z(mt, { windowId: e }))), r = yield Z(Le), i = (0, pl.default)((0, pl.default)(n).map((e) => r(e).imageServiceIds)), a = yield Z(xn), o = (t) => ml.Utils.getServices(t).some((t) => {
		let n = ml.Utils.getService(t, "http://iiif.io/api/auth/1/token") || ml.Utils.getService(t, "http://iiif.io/api/auth/0/token");
		return n && n.id === e;
	});
	yield Y(Object.values(a).filter((e) => e.json && o(e.json)).map(({ id: e }) => i.includes(e) ? X(V_, { infoId: e }) : J({
		infoId: e,
		type: N.REMOVE_INFO_RESPONSE
	})));
}
function* _v({ infoJson: e, windowId: t }) {
	let n = yield Z(_s), { auth: { serviceProfiles: r = [] } = {} } = yield Z(qt), i = r.filter((e) => e.external || e.kiosk), a = ml.Utils.getServices(e).filter((e) => !n[e.id]).find((e) => i.some((t) => t.profile === e.getProfile()));
	if (!a) return;
	let o = i.find((e) => e.profile === a.getProfile());
	if (o.kiosk) yield J(wr(t, a.id, a.getProfile()));
	else if (o.external) {
		let e = ml.Utils.getService(a, "http://iiif.io/api/auth/1/token") || ml.Utils.getService(a, "http://iiif.io/api/auth/0/token");
		if (!e) return;
		yield J(wr(t, a.id, a.getProfile())), yield J(ci(a.id, e.id, { ok: !0 })), yield J(Xi(e.id, a.id));
	}
}
function* vv({ infoJson: e, windowId: t, tokenServiceId: n }) {
	if (!n) return;
	let r = ml.Utils.getServices(e).find((e) => {
		let t = ml.Utils.getService(e, "http://iiif.io/api/auth/1/token") || ml.Utils.getService(e, "http://iiif.io/api/auth/0/token");
		return t && t.id === n;
	});
	if (!r) return;
	let i = (yield Z(ya))[n];
	i && i.success && (yield J(Xi(n, r.id)));
}
function* yv({ serviceId: e }) {
	let t = yield Z(ya), n = yield Z(_s), r = t[e];
	if (!r) return;
	let i = n[r.authId];
	i && (r.success ? yield J(ia({
		authServiceId: i.id,
		tokenServiceId: r.id
	})) : yield J(ci(i.id, r.id, { ok: !1 })));
}
function* bv() {
	yield Y([
		$(N.RECEIVE_DEGRADED_INFO_RESPONSE, vv),
		$(N.RECEIVE_ACCESS_TOKEN_FAILURE, yv),
		$(N.RECEIVE_DEGRADED_INFO_RESPONSE, _v),
		$(N.RECEIVE_ACCESS_TOKEN, gv),
		$(N.RESET_AUTHENTICATION_STATE, hv)
	]);
}
//#endregion
//#region src/state/sagas/index.js
var xv = /* @__PURE__ */ w({ default: () => Cv });
function* Sv(e) {
	for (;;) try {
		yield X(e);
		break;
	} catch (e) {
		console.log(e);
	}
}
function Cv(e = []) {
	return function* () {
		yield Y([
			mv,
			dv,
			K_,
			sv,
			bv,
			...e
		].map((e) => th(Sv, e)));
	};
}
//#endregion
//#region src/state/createStore.js
function wv(e, t = []) {
	let r = A_(e), i = k.state.slice ? o({ [k.state.slice]: r }) : r, a = dg(), s = g(i, pg(n(Bp, a)));
	return a.run(Cv(t)), s;
}
//#endregion
//#region src/state/createPluggableStore.js
function Tv(e, t = []) {
	let n = Np(t), r = wv(Ip(n), Rp(n));
	return r.dispatch(ns((0, hl.default)(Lp(n), e))), r;
}
//#endregion
//#region src/lib/MiradorViewer.jsx
var Ev = class {
	constructor(e, t = {}) {
		this.plugins = Np(t.plugins || []), this.config = e, this.store = t.store || Tv(this.config, this.plugins), e.id && this.renderInto(document.getElementById(e.id));
	}
	renderInto(e) {
		this.container = e, this.root = Hc(this.container), this.root.render(this.render());
	}
	render(e = {}) {
		return /* @__PURE__ */ P(le, {
			store: this.store,
			children: /* @__PURE__ */ P(gp, {
				plugins: this.plugins,
				...e
			})
		});
	}
	unmount() {
		this.root && this.root.unmount();
	}
};
//#endregion
//#region src/init.js
function Dv(e, t) {
	let n;
	return n = Array.isArray(t) ? { plugins: t } : t, new Ev(e, n);
}
var Ov = { viewer: Dv }, kv = {
	actions: Cl,
	createStore: wv,
	reducers: k_,
	sagas: xv,
	selectors: ul
}, Av = {
	...Ov,
	...kv
};
//#endregion
export { bs as AccessTokenSender, N as ActionTypes, Gn as AnnotationFactory, jn as AnnotationItem, Nn as AnnotationList, An as AnnotationPage, kn as AnnotationResource, Ki as AnnotationSettings, Ks as AnnotationsOverlay, gp as App, pp as AppProviders, Fi as AttributionPanel, yc as AudioViewer, as as BackgroundPluginArea, Ta as BookViewIcon, Da as Branding, Vs as CanvasAnnotationDisplay, Ps as CanvasAnnotations, Fe as CanvasGroupings, Li as CanvasIndexIcon, Ia as CanvasInfo, Gi as CanvasLayers, lr as CanvasWorld, es as ChangeThemeDialog, Xa as CollapsibleSection, qi as CollectionDialog, Po as CollectionInfo, xo as CompanionArea, xa as CompanionWindow, _o as CompanionWindowFactory, ba as CompanionWindowRegistry, oo as CompanionWindowSection, ws as ConnectedAnnotationSettings, Bs as ConnectedAnnotationsOverlay, mp as ConnectedAppProviders, di as ConnectedAttributionPanel, bc as ConnectedAudioViewer, co as ConnectedBackgroundPluginArea, So as ConnectedBranding, ys as ConnectedCanvasAnnotations, is as ConnectedCanvasInfo, Cs as ConnectedCanvasLayers, Ui as ConnectedChangeThemeDialog, Va as ConnectedCollapsibleSection, Ts as ConnectedCollectionDialog, ls as ConnectedCollectionInfo, Ti as ConnectedCompanionArea, to as ConnectedCompanionWindow, xr as ConnectedCompanionWindowFactory, Aa as ConnectedCustomPanel, _i as ConnectedErrorContent, mi as ConnectedErrorDialog, Zi as ConnectedFullScreenButton, wc as ConnectedGalleryView, Sc as ConnectedGalleryViewThumbnail, Go as ConnectedIIIFAuthentication, hc as ConnectedIIIFThumbnail, To as ConnectedLabelValueMetadata, vr as ConnectedLanguageSettings, Bi as ConnectedLayersPanel, Ea as ConnectedLocalePicker, Qr as ConnectedManifestForm, $o as ConnectedManifestInfo, Br as ConnectedManifestListItem, ua as ConnectedManifestListItemError, hr as ConnectedManifestRelatedLinks, Ma as ConnectedMinimalWindow, _c as ConnectedMiradorMenuButton, Jr as ConnectedMosaicRenderPreview, qs as ConnectedOpenSeadragonViewer, Hi as ConnectedPrimaryWindow, ks as ConnectedSanitizedHtml, zr as ConnectedScrollIndicatedDialogContent, yr as ConnectedSearchHit, Lr as ConnectedSearchPanel, yi as ConnectedSearchPanelControls, Vr as ConnectedSearchPanelNavigation, Ci as ConnectedSearchResults, Ec as ConnectedSelectCollection, da as ConnectedSidebarIndexItem, Gr as ConnectedSidebarIndexList, $i as ConnectedSidebarIndexTableOfContents, qo as ConnectedSidebarIndexThumbnail, Lc as ConnectedTextViewer, wi as ConnectedThumbnailCanvasGrouping, Rr as ConnectedThumbnailNavigation, zc as ConnectedVideoViewer, Dc as ConnectedViewerInfo, Nc as ConnectedViewerNavigation, Ha as ConnectedWindow, so as ConnectedWindowAuthenticationBar, Fc as ConnectedWindowCanvasNavigationControls, na as ConnectedWindowList, qa as ConnectedWindowListButton, ki as ConnectedWindowSideBar, Wo as ConnectedWindowSideBarAnnotationsPanel, ti as ConnectedWindowSideBarButtons, Ls as ConnectedWindowSideBarCanvasPanel, vs as ConnectedWindowSideBarCollectionPanel, ha as ConnectedWindowSideBarInfoPanel, Ro as ConnectedWindowThumbnailSettings, zs as ConnectedWindowTopBar, pa as ConnectedWindowTopBarPluginArea, Yo as ConnectedWindowTopBarPluginMenu, qr as ConnectedWindowTopBarTitle, Wa as ConnectedWindowTopMenu, _a as ConnectedWindowTopMenuButton, No as ConnectedWindowViewSettings, Vc as ConnectedWindowViewer, Io as ConnectedWorkspace, Ca as ConnectedWorkspaceAdd, mo as ConnectedWorkspaceAddButton, os as ConnectedWorkspaceArea, ts as ConnectedWorkspaceControlPanel, ds as ConnectedWorkspaceControlPanelButtons, Pi as ConnectedWorkspaceElastic, Eo as ConnectedWorkspaceElasticWindow, js as ConnectedWorkspaceExport, va as ConnectedWorkspaceImport, Er as ConnectedWorkspaceMenu, Es as ConnectedWorkspaceMenuButton, Is as ConnectedWorkspaceMosaic, Vo as ConnectedWorkspaceOptionsButton, ro as ConnectedWorkspaceOptionsMenu, Fr as ConnectedWorkspaceSelectionDialog, Pc as ConnectedZoomControls, Os as CustomPanel, ge as EMPTY_ARRAY, C as EMPTY_OBJECT, xi as ErrorContent, Fo as ErrorDialog, aa as FullScreenButton, Ya as FullScreenContext, Cc as GalleryView, uo as GalleryViewIcon, xc as GalleryViewThumbnail, jo as IIIFAuthentication, mr as IIIFDropTarget, Fs as IIIFIFrameCommunication, pc as IIIFThumbnail, Ws as ImageFailureMessage, ms as LabelValueMetadata, Ai as LanguageSettings, Or as LayersPanel, zo as LocalePicker, ma as ManifestForm, fo as ManifestInfo, ni as ManifestListItem, oa as ManifestListItemError, Ga as ManifestRelatedLinks, As as MinimalWindow, wn as MiradorCanvas, Bo as MiradorIcon, Qe as MiradorManifest, gc as MiradorMenuButton, Ev as MiradorViewer, Qi as MosaicLayout, Ko as MosaicRenderPreview, oi as NestedMenu, Sa as NewBrowserWindow, Hs as OSDReferences, Us as OpenSeadragonCanvasOverlay, Gs as OpenSeadragonViewer, re as PluginContext, fc as PluginHook, Ol as PluginProvider, Ar as PrimaryWindow, Ac as RestoreZoomIcon, Vi as SanitizedHtml, Pr as ScrollIndicatedDialogContent, ja as ScrollTo, ho as SearchHit, Mr as SearchPanel, Di as SearchPanelControls, $r as SearchPanelNavigation, yo as SearchResults, Tc as SelectCollection, sa as SidebarIndexItem, si as SidebarIndexList, Yr as SidebarIndexTableOfContents, ri as SidebarIndexThumbnail, Ic as TextViewer, bo as ThumbnailCanvasGrouping, At as ThumbnailFactory, Nr as ThumbnailNavigation, wo as ThumbnailNavigationBottomIcon, Fa as ThumbnailNavigationRightIcon, hi as TruncatedHit, Rc as VideoViewer, Mc as ViewerInfo, kc as ViewerNavigation, Za as Window, no as WindowAuthenticationBar, jc as WindowCanvasNavigationControls, Wr as WindowList, Ji as WindowListButton, Zr as WindowMaxIcon, ta as WindowMinIcon, _r as WindowOptionsIcon, Ur as WindowSideBar, Ao as WindowSideBarAnnotationsPanel, pi as WindowSideBarButtons, Cr as WindowSideBarCanvasPanel, Ns as WindowSideBarCollectionPanel, ji as WindowSideBarInfoPanel, rs as WindowThumbnailSettings, Tr as WindowTopBar, la as WindowTopBarPluginArea, ai as WindowTopBarPluginMenu, li as WindowTopBarTitle, cs as WindowTopMenu, Ni as WindowTopMenuButton, Qo as WindowViewSettings, Bc as WindowViewer, ui as Workspace, Ei as WorkspaceAdd, vi as WorkspaceAddButton, Xo as WorkspaceArea, vc as WorkspaceContext, Na as WorkspaceControlPanel, Ra as WorkspaceControlPanelButtons, po as WorkspaceDialog, La as WorkspaceElastic, hs as WorkspaceElasticWindow, Oa as WorkspaceExport, gs as WorkspaceImport, xs as WorkspaceMenu, Ri as WorkspaceMenuButton, Sr as WorkspaceMosaic, Do as WorkspaceOptionsButton, Qa as WorkspaceOptionsMenu, jr as WorkspaceSelectionDialog, vo as WorkspaceTypeElasticIcon, Si as WorkspaceTypeMosaicIcon, Oc as ZoomControls, Kg as accessTokensReducer, wr as addAuthenticationRequest, za as addCompanionWindow, wa as addError, Ja as addOrUpdateCompanionWindow, El as addPluginsToCompanionWindowsRegistry, br as addResource, ac as addWindow, C_ as annotationsReducer, je as asArray, w_ as authReducer, O_ as catalogReducer, u_ as companionWindowsReducer, x_ as configReducer, Tl as connectPluginsToStore, Tv as createPluggableStore, wv as createStore, wl as createTargetToPluginMapping, dc as cssNs, Av as default, Yn as deselectAnnotation, T_ as elasticLayoutReducer, f_ as errorsReducer, Ho as expandNodes, xl as fetchInfoResponse, Ua as fetchManifest, bi as fetchSearch, Np as filterValidPlugins, tc as focusWindow, ya as getAccessTokens, yt as getAllowedWindowViewTypes, rr as getAnnotationResourcesByMotivation, Fn as getAnnotationResourcesByMotivationForCanvas, On as getAnnotationResourcesDataForCanvas, Dn as getAnnotations, _s as getAuth, Ms as getAuthProfiles, tn as getBestThumbnail, un as getCanvas, Jt as getCanvasDescription, tr as getCanvasForAnnotation, an as getCanvasGrouping, Ft as getCanvasGroupings, Ue as getCanvasIndex, gt as getCanvasLabel, cr as getCanvasLayers, Zt as getCanvasMetadata, sn as getCanvases, me as getCatalog, nt as getCompanionAreaVisibility, ke as getCompanionWindow, De as getCompanionWindowIdsForPosition, Je as getCompanionWindowLocale, Vt as getCompanionWindows, Se as getCompanionWindowsForContent, zt as getCompanionWindowsForPosition, qt as getConfig, Lp as getConfigFromPlugins, Pt as getContainerId, xt as getCurrentCanvas, Js as getCurrentCanvasWorld, Ds as getDefaultSidebarVariant, Cn as getDestructuredMetadata, Oe as getElasticLayout, zi as getExpandedNodeIds, Mt as getExportableState, M as getFocusedWindowId, qe as getFullScreenEnabled, mn as getIiifThumbnailOpts, ht as getLanguagesFromConfigWithCurrent, Bt as getLatestError, or as getLayers, ur as getLayersForVisibleCanvases, pr as getLayersForWindow, Ce as getLocale, oe as getManifest, at as getManifestAutocompleteService, Pe as getManifestDescription, rt as getManifestError, st as getManifestHomepage, Me as getManifestLocale, Be as getManifestLogo, nn as getManifestMetadata, Re as getManifestProviderName, ut as getManifestRelated, ct as getManifestRelatedContent, ft as getManifestRenderings, Xe as getManifestSearchService, ye as getManifestSeeAlso, Dt as getManifestStatus, dn as getManifestSummary, Xt as getManifestThumbnail, on as getManifestTitle, Lt as getManifestUrl, vt as getManifestoInstance, ue as getManifests, Dr as getManuallyExpandedNodeIds, yn as getMaximizedWindowsIds, Qt as getMetadataLocales, Le as getMiradorCanvasWrapper, He as getMiradorManifestWrapper, Ht as getNextCanvasGrouping, Bn as getNextSearchId, Ss as getNodeIdToScrollTo, Mn as getPresentAnnotationsOnSelectedCanvases, fn as getPreviousCanvasGrouping, ln as getProviderLogo, Ip as getReducersFromPlugins, gn as getRequestsConfig, Ct as getRequiredStatement, Vn as getResourceAnnotationForSearchHit, Zn as getResourceAnnotationLabel, Wt as getRights, Rp as getSagasFromPlugins, Jn as getSearchAnnotationsForCompanionWindow, Un as getSearchAnnotationsForWindow, Hn as getSearchForWindow, In as getSearchIsFetching, nr as getSearchNumTotal, ar as getSearchQuery, Kn as getSelectedAnnotationId, Tn as getSelectedAnnotationsOnCanvases, Rn as getSelectedContentSearchAnnotationIds, Ge as getSequence, Ye as getSequenceBehaviors, Ae as getSequenceTreeStructure, Ie as getSequenceViewingDirection, Ve as getSequenceViewingHint, Ze as getSequences, Sn as getShowZoomControlsConfig, sr as getSortedLayers, ir as getSortedSearchAnnotationsForCompanionWindow, Pn as getSortedSearchHitsForCompanionWindow, bt as getTheme, bn as getThemeDirection, et as getThemeIds, Et as getThumbnailFactory, We as getThumbnailNavigationPosition, Ee as getThumbnailsConfig, ne as getViewer, wt as getVisibleCanvasAudioResources, Ot as getVisibleCanvasCaptions, $t as getVisibleCanvasIds, Gt as getVisibleCanvasNonTiledResources, Nt as getVisibleCanvasTextResources, jt as getVisibleCanvasVideoResources, mt as getVisibleCanvases, Wi as getVisibleNodeIds, y as getWindow, $e as getWindowConfig, Te as getWindowDraggability, ce as getWindowIds, fe as getWindowManifests, _n as getWindowTitles, tt as getWindowViewType, S as getWindows, ae as getWorkspace, xe as getWorkspaceType, Ka as handleDrop, rc as hideCollectionDialog, Qn as hoverAnnotation, kr as htmlRules, ns as importConfig, Pa as importMiradorState, v_ as infoResponsesReducer, Rt as isFocused, D_ as layersReducer, __ as manifestsReducer, $s as maximizeWindow, Ys as minimizeWindow, E as miradorSlice, us as readImageMetadata, ea as receiveAccessToken, Xr as receiveAccessTokenFailure, Wn as receiveAnnotation, Ln as receiveAnnotationFailure, yl as receiveDegradedInfoResponse, vl as receiveInfoResponse, bl as receiveInfoResponseFailure, ss as receiveManifest, Mo as receiveManifestFailure, Oi as receiveSearch, Hr as receiveSearchFailure, Oo as removeCompanionWindow, Lo as removeError, Sl as removeInfoResponse, Zo as removeManifest, go as removeResource, ei as removeSearch, nc as removeWindow, Xi as requestAccessToken, Xn as requestAnnotation, $n as requestCanvasAnnotations, _l as requestInfoResponse, lo as requestManifest, fi as requestSearch, ia as resetAuthenticationState, Kr as resolveAccessTokenRequest, ci as resolveAuthenticationRequest, A_ as rootReducer, Cv as rootSaga, E_ as searchesReducer, zn as selectAnnotation, Ke as selectCompanionWindowDimensions, ka as selectCurrentAuthServices, hn as selectInfoResponse, xn as selectInfoResponses, uc as setCanvas, ic as setCompanionAreaOpen, Co as setConfig, Ii as setContentSearchCurrentAnnotation, cc as setNextCanvas, lc as setPreviousCanvas, Xs as setWindowThumbnailPosition, ec as setWindowViewType, Jo as setWorkspaceAddVisibility, ii as setWorkspaceViewportDimensions, fa as setWorkspaceViewportPosition, k as settings, oc as showCollectionDialog, En as sortSearchAnnotationsByCanvasOrder, qn as toggleAnnotationDisplay, ca as toggleDraggingEnabled, io as toggleNode, Zs as toggleWindowSideBar, ga as toggleZoomControls, $a as updateCompanionWindow, fs as updateConfig, Rs as updateElasticWindowLayout, gi as updateLayers, sc as updateViewport, Qs as updateWindow, Mi as updateWorkspace, gr as updateWorkspaceMosaicLayout, Qc as useTranslation, Tp as validatePlugin, Dv as viewer, S_ as viewersReducer, g_ as windowsReducer, ee as withPlugins, $c as withTranslation, h_ as workspaceReducer };

//# sourceMappingURL=mirador.es.js.map