react-iiif-vault 2.0.1 → 2.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,18 +1,18 @@
1
- "use strict";var ReactIIIFVault=(()=>{var LI=Object.create;var Qu=Object.defineProperty;var FI=Object.getOwnPropertyDescriptor;var NI=Object.getOwnPropertyNames;var zI=Object.getPrototypeOf,DI=Object.prototype.hasOwnProperty;var zt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),BI=(e,t)=>{for(var n in t)Qu(e,n,{get:t[n],enumerable:!0})},xx=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of NI(t))!DI.call(e,r)&&r!==n&&Qu(e,r,{get:()=>t[r],enumerable:!(i=FI(t,r))||i.enumerable});return e};var A=(e,t,n)=>(n=e!=null?LI(zI(e)):{},xx(t||!e||!e.__esModule?Qu(n,"default",{value:e,enumerable:!0}):n,e)),VI=e=>xx(Qu({},"__esModule",{value:!0}),e);var Q=zt((Ik,Px)=>{"use strict";Px.exports=React});var Tx=zt(Xu=>{"use strict";var hC=Q(),pC=Symbol.for("react.element"),mC=Symbol.for("react.fragment"),gC=Object.prototype.hasOwnProperty,yC=hC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,vC={key:!0,ref:!0,__self:!0,__source:!0};function Ax(e,t,n){var i,r={},a=null,l=null;n!==void 0&&(a=""+n),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(l=t.ref);for(i in t)gC.call(t,i)&&!vC.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:pC,type:e,key:a,ref:l,props:r,_owner:yC.current}}Xu.Fragment=mC;Xu.jsx=Ax;Xu.jsxs=Ax});var D=zt((Pk,Mx)=>{"use strict";Mx.exports=Tx()});var US=zt(WS=>{"use strict";var Is=Q();function BP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var VP=typeof Object.is=="function"?Object.is:BP,jP=Is.useState,HP=Is.useEffect,WP=Is.useLayoutEffect,UP=Is.useDebugValue;function qP(e,t){var n=t(),i=jP({inst:{value:n,getSnapshot:t}}),r=i[0].inst,a=i[1];return WP(function(){r.value=n,r.getSnapshot=t,om(r)&&a({inst:r})},[e,n,t]),HP(function(){return om(r)&&a({inst:r}),e(function(){om(r)&&a({inst:r})})},[e]),UP(n),n}function om(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!VP(e,n)}catch{return!0}}function GP(e,t){return t()}var $P=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?GP:qP;WS.useSyncExternalStore=Is.useSyncExternalStore!==void 0?Is.useSyncExternalStore:$P});var GS=zt((f2,qS)=>{"use strict";qS.exports=US()});var QS=zt($S=>{"use strict";var Ac=Q(),QP=GS();function YP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var KP=typeof Object.is=="function"?Object.is:YP,XP=QP.useSyncExternalStore,ZP=Ac.useRef,JP=Ac.useEffect,eA=Ac.useMemo,tA=Ac.useDebugValue;$S.useSyncExternalStoreWithSelector=function(e,t,n,i,r){var a=ZP(null);if(a.current===null){var l={hasValue:!1,value:null};a.current=l}else l=a.current;a=eA(function(){function f(w){if(!h){if(h=!0,c=w,w=i(w),r!==void 0&&l.hasValue){var y=l.value;if(r(y,w))return m=y}return m=w}if(y=m,KP(c,w))return y;var S=i(w);return r!==void 0&&r(y,S)?y:(c=w,m=S)}var h=!1,c,m,v=n===void 0?null:n;return[function(){return f(t())},v===null?void 0:function(){return f(v())}]},[t,n,i,r]);var u=XP(e,a[0],a[1]);return JP(function(){l.hasValue=!0,l.value=u},[u]),tA(u),u}});var KS=zt((p2,YS)=>{"use strict";YS.exports=QS()});var E0=zt((hF,R0)=>{"use strict";var v0=!1,Co,bm,Rm,Fc,Nc,x0,zc,Em,Im,Cm,S0,Pm,Am,w0,b0;function Tn(){if(!v0){v0=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Pm=/\b(iPhone|iP[ao]d)/.exec(e),Am=/\b(iP[ao]d)/.exec(e),Cm=/Android/i.exec(e),w0=/FBAN\/\w+;/i.exec(e),b0=/Mobile/i.exec(e),S0=!!/Win64/.exec(e),t){Co=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,Co&&document&&document.documentMode&&(Co=document.documentMode);var i=/(?:Trident\/(\d+.\d+))/.exec(e);x0=i?parseFloat(i[1])+4:Co,bm=t[2]?parseFloat(t[2]):NaN,Rm=t[3]?parseFloat(t[3]):NaN,Fc=t[4]?parseFloat(t[4]):NaN,Fc?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),Nc=t&&t[1]?parseFloat(t[1]):NaN):Nc=NaN}else Co=bm=Rm=Nc=Fc=NaN;if(n){if(n[1]){var r=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);zc=r?parseFloat(r[1].replace("_",".")):!0}else zc=!1;Em=!!n[2],Im=!!n[3]}else zc=Em=Im=!1}}var Tm={ie:function(){return Tn()||Co},ieCompatibilityMode:function(){return Tn()||x0>Co},ie64:function(){return Tm.ie()&&S0},firefox:function(){return Tn()||bm},opera:function(){return Tn()||Rm},webkit:function(){return Tn()||Fc},safari:function(){return Tm.webkit()},chrome:function(){return Tn()||Nc},windows:function(){return Tn()||Em},osx:function(){return Tn()||zc},linux:function(){return Tn()||Im},iphone:function(){return Tn()||Pm},mobile:function(){return Tn()||Pm||Am||Cm||b0},nativeApp:function(){return Tn()||w0},android:function(){return Tn()||Cm},ipad:function(){return Tn()||Am}};R0.exports=Tm});var C0=zt((pF,I0)=>{"use strict";var Dc=!!(typeof window<"u"&&window.document&&window.document.createElement),gA={canUseDOM:Dc,canUseWorkers:typeof Worker<"u",canUseEventListeners:Dc&&!!(window.addEventListener||window.attachEvent),canUseViewport:Dc&&!!window.screen,isInWorker:!Dc};I0.exports=gA});var M0=zt((mF,T0)=>{"use strict";var P0=C0(),A0;P0.canUseDOM&&(A0=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function yA(e,t){if(!P0.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,i=n in document;if(!i){var r=document.createElement("div");r.setAttribute(n,"return;"),i=typeof r[n]=="function"}return!i&&A0&&e==="wheel"&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}T0.exports=yA});var N0=zt((gF,F0)=>{"use strict";var vA=E0(),xA=M0(),_0=10,O0=40,k0=800;function L0(e){var t=0,n=0,i=0,r=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),i=t*_0,r=n*_0,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(i=e.deltaX),(i||r)&&e.deltaMode&&(e.deltaMode==1?(i*=O0,r*=O0):(i*=k0,r*=k0)),i&&!t&&(t=i<1?-1:1),r&&!n&&(n=r<1?-1:1),{spinX:t,spinY:n,pixelX:i,pixelY:r}}L0.getEventType=function(){return vA.firefox()?"DOMMouseScroll":xA("wheel")?"wheel":"mousewheel"};F0.exports=L0});var D0=zt((yF,z0)=>{"use strict";z0.exports=N0()});var K0=zt(et=>{"use strict";function km(e,t){var n=e.length;e.push(t);e:for(;0<n;){var i=n-1>>>1,r=e[i];if(0<Vc(r,t))e[i]=t,e[n]=r,n=i;else break e}}function bi(e){return e.length===0?null:e[0]}function Hc(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,r=e.length,a=r>>>1;i<a;){var l=2*(i+1)-1,u=e[l],f=l+1,h=e[f];if(0>Vc(u,n))f<r&&0>Vc(h,u)?(e[i]=h,e[f]=n,i=f):(e[i]=u,e[l]=n,i=l);else if(f<r&&0>Vc(h,n))e[i]=h,e[f]=n,i=f;else break e}}return t}function Vc(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(j0=performance,et.unstable_now=function(){return j0.now()}):(Mm=Date,H0=Mm.now(),et.unstable_now=function(){return Mm.now()-H0});var j0,Mm,H0,Vi=[],Or=[],EA=1,ii=null,on=3,Wc=!1,Po=!1,Ka=!1,q0=typeof setTimeout=="function"?setTimeout:null,G0=typeof clearTimeout=="function"?clearTimeout:null,W0=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Lm(e){for(var t=bi(Or);t!==null;){if(t.callback===null)Hc(Or);else if(t.startTime<=e)Hc(Or),t.sortIndex=t.expirationTime,km(Vi,t);else break;t=bi(Or)}}function Fm(e){if(Ka=!1,Lm(e),!Po)if(bi(Vi)!==null)Po=!0,zm(Nm);else{var t=bi(Or);t!==null&&Dm(Fm,t.startTime-e)}}function Nm(e,t){Po=!1,Ka&&(Ka=!1,G0(Xa),Xa=-1),Wc=!0;var n=on;try{for(Lm(t),ii=bi(Vi);ii!==null&&(!(ii.expirationTime>t)||e&&!Y0());){var i=ii.callback;if(typeof i=="function"){ii.callback=null,on=ii.priorityLevel;var r=i(ii.expirationTime<=t);t=et.unstable_now(),typeof r=="function"?ii.callback=r:ii===bi(Vi)&&Hc(Vi),Lm(t)}else Hc(Vi);ii=bi(Vi)}if(ii!==null)var a=!0;else{var l=bi(Or);l!==null&&Dm(Fm,l.startTime-t),a=!1}return a}finally{ii=null,on=n,Wc=!1}}var Uc=!1,jc=null,Xa=-1,$0=5,Q0=-1;function Y0(){return!(et.unstable_now()-Q0<$0)}function _m(){if(jc!==null){var e=et.unstable_now();Q0=e;var t=!0;try{t=jc(!0,e)}finally{t?Ya():(Uc=!1,jc=null)}}else Uc=!1}var Ya;typeof W0=="function"?Ya=function(){W0(_m)}:typeof MessageChannel<"u"?(Om=new MessageChannel,U0=Om.port2,Om.port1.onmessage=_m,Ya=function(){U0.postMessage(null)}):Ya=function(){q0(_m,0)};var Om,U0;function zm(e){jc=e,Uc||(Uc=!0,Ya())}function Dm(e,t){Xa=q0(function(){e(et.unstable_now())},t)}et.unstable_IdlePriority=5;et.unstable_ImmediatePriority=1;et.unstable_LowPriority=4;et.unstable_NormalPriority=3;et.unstable_Profiling=null;et.unstable_UserBlockingPriority=2;et.unstable_cancelCallback=function(e){e.callback=null};et.unstable_continueExecution=function(){Po||Wc||(Po=!0,zm(Nm))};et.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):$0=0<e?Math.floor(1e3/e):5};et.unstable_getCurrentPriorityLevel=function(){return on};et.unstable_getFirstCallbackNode=function(){return bi(Vi)};et.unstable_next=function(e){switch(on){case 1:case 2:case 3:var t=3;break;default:t=on}var n=on;on=t;try{return e()}finally{on=n}};et.unstable_pauseExecution=function(){};et.unstable_requestPaint=function(){};et.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=on;on=e;try{return t()}finally{on=n}};et.unstable_scheduleCallback=function(e,t,n){var i=et.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?i+n:i):n=i,e){case 1:var r=-1;break;case 2:r=250;break;case 5:r=1073741823;break;case 4:r=1e4;break;default:r=5e3}return r=n+r,e={id:EA++,callback:t,priorityLevel:e,startTime:n,expirationTime:r,sortIndex:-1},n>i?(e.sortIndex=n,km(Or,e),bi(Vi)===null&&e===bi(Or)&&(Ka?(G0(Xa),Xa=-1):Ka=!0,Dm(Fm,n-i))):(e.sortIndex=r,km(Vi,e),Po||Wc||(Po=!0,zm(Nm))),e};et.unstable_shouldYield=Y0;et.unstable_wrapCallback=function(e){var t=on;return function(){var n=on;on=t;try{return e.apply(this,arguments)}finally{on=n}}}});var Z0=zt((wF,X0)=>{"use strict";X0.exports=K0()});var ew=zt((bF,J0)=>{"use strict";J0.exports=function(t){var n={},i=Q(),r=Z0(),a=Object.assign;function l(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,d=1;d<arguments.length;d++)s+="&args[]="+encodeURIComponent(arguments[d]);return"Minified React error #"+o+"; visit "+s+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var u=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,f=Symbol.for("react.element"),h=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),m=Symbol.for("react.strict_mode"),v=Symbol.for("react.profiler"),w=Symbol.for("react.provider"),y=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),b=Symbol.for("react.memo"),I=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var M=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var T=Symbol.iterator;function _(o){return o===null||typeof o!="object"?null:(o=T&&o[T]||o["@@iterator"],typeof o=="function"?o:null)}function U(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case c:return"Fragment";case h:return"Portal";case v:return"Profiler";case m:return"StrictMode";case E:return"Suspense";case R:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case y:return(o.displayName||"Context")+".Consumer";case w:return(o._context.displayName||"Context")+".Provider";case S:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case b:return s=o.displayName||null,s!==null?s:U(o.type)||"Memo";case I:s=o._payload,o=o._init;try{return U(o(s))}catch{}}return null}function H(o){var s=o.type;switch(o.tag){case 24:return"Cache";case 9:return(s.displayName||"Context")+".Consumer";case 10:return(s._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=s.render,o=o.displayName||o.name||"",s.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return s;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(s);case 8:return s===m?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof s=="function")return s.displayName||s.name||null;if(typeof s=="string")return s}return null}function Z(o){var s=o,d=o;if(o.alternate)for(;s.return;)s=s.return;else{o=s;do s=o,s.flags&4098&&(d=s.return),o=s.return;while(o)}return s.tag===3?d:null}function B(o){if(Z(o)!==o)throw Error(l(188))}function G(o){var s=o.alternate;if(!s){if(s=Z(o),s===null)throw Error(l(188));return s!==o?null:o}for(var d=o,p=s;;){var g=d.return;if(g===null)break;var x=g.alternate;if(x===null){if(p=g.return,p!==null){d=p;continue}break}if(g.child===x.child){for(x=g.child;x;){if(x===d)return B(g),o;if(x===p)return B(g),s;x=x.sibling}throw Error(l(188))}if(d.return!==p.return)d=g,p=x;else{for(var C=!1,O=g.child;O;){if(O===d){C=!0,d=g,p=x;break}if(O===p){C=!0,p=g,d=x;break}O=O.sibling}if(!C){for(O=x.child;O;){if(O===d){C=!0,d=x,p=g;break}if(O===p){C=!0,p=x,d=g;break}O=O.sibling}if(!C)throw Error(l(189))}}if(d.alternate!==p)throw Error(l(190))}if(d.tag!==3)throw Error(l(188));return d.stateNode.current===d?o:s}function K(o){return o=G(o),o!==null?ce(o):null}function ce(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){var s=ce(o);if(s!==null)return s;o=o.sibling}return null}function J(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){if(o.tag!==4){var s=J(o);if(s!==null)return s}o=o.sibling}return null}var te=Array.isArray,oe=t.getPublicInstance,Re=t.getRootHostContext,de=t.getChildHostContext,N=t.prepareForCommit,re=t.resetAfterCommit,Le=t.createInstance,je=t.appendInitialChild,Ge=t.finalizeInitialChildren,$e=t.prepareUpdate,Qe=t.shouldSetTextContent,Ze=t.createTextInstance,Ct=t.scheduleTimeout,xt=t.cancelTimeout,xn=t.noTimeout,Pt=t.isPrimaryRenderer,Ne=t.supportsMutation,fe=t.supportsPersistence,ae=t.supportsHydration,De=t.getInstanceFromNode,Rt=t.preparePortalMount,li=t.getCurrentEventPriority,un=t.detachDeletedInstance,Sn=t.supportsMicrotasks,sa=t.scheduleMicrotask,kn=t.supportsTestSelectors,aa=t.findFiberRoot,F=t.getBoundingRect,$=t.getTextContent,ie=t.isHiddenSubtree,le=t.matchAccessibilityRole,Se=t.setFocusIfFocusable,V=t.setupIntersectionObserver,k=t.appendChild,X=t.appendChildToContainer,ee=t.commitTextUpdate,Ie=t.commitMount,_e=t.commitUpdate,Be=t.insertBefore,W=t.insertInContainerBefore,Y=t.removeChild,ge=t.removeChildFromContainer,he=t.resetTextContent,pe=t.hideInstance,ke=t.hideTextInstance,tt=t.unhideInstance,nt=t.unhideTextInstance,Ye=t.clearContainer,kt=t.cloneInstance,ct=t.createContainerChildSet,Lt=t.appendChildToContainerChildSet,hr=t.finalizeContainerChildren,ui=t.replaceContainerChildren,Jr=t.cloneHiddenInstance,la=t.cloneHiddenTextInstance,tu=t.canHydrateInstance,EE=t.canHydrateTextInstance,IE=t.canHydrateSuspenseInstance,Ny=t.isSuspenseInstancePending,Af=t.isSuspenseInstanceFallback,CE=t.getSuspenseInstanceFallbackErrorDetails,PE=t.registerSuspenseInstanceRetry,nu=t.getNextHydratableSibling,AE=t.getFirstHydratableChild,TE=t.getFirstHydratableChildWithinContainer,ME=t.getFirstHydratableChildWithinSuspenseInstance,_E=t.hydrateInstance,OE=t.hydrateTextInstance,kE=t.hydrateSuspenseInstance,LE=t.getNextHydratableInstanceAfterSuspenseInstance,FE=t.commitHydratedContainer,NE=t.commitHydratedSuspenseInstance,zE=t.clearSuspenseBoundary,DE=t.clearSuspenseBoundaryFromContainer,BE=t.shouldDeleteUnhydratedTailInstances,VE=t.didNotMatchHydratedContainerTextInstance,jE=t.didNotMatchHydratedTextInstance,Tf;function ua(o){if(Tf===void 0)try{throw Error()}catch(d){var s=d.stack.trim().match(/\n( *(at )?)/);Tf=s&&s[1]||""}return`
2
- `+Tf+o}var Mf=!1;function _f(o,s){if(!o||Mf)return"";Mf=!0;var d=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(s)if(s=function(){throw Error()},Object.defineProperty(s.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(s,[])}catch(ne){var p=ne}Reflect.construct(o,[],s)}else{try{s.call()}catch(ne){p=ne}o.call(s.prototype)}else{try{throw Error()}catch(ne){p=ne}o()}}catch(ne){if(ne&&p&&typeof ne.stack=="string"){for(var g=ne.stack.split(`
3
- `),x=p.stack.split(`
1
+ "use strict";var ReactIIIFVault=(()=>{var LI=Object.create;var Yu=Object.defineProperty;var FI=Object.getOwnPropertyDescriptor;var NI=Object.getOwnPropertyNames;var zI=Object.getPrototypeOf,DI=Object.prototype.hasOwnProperty;var Dt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),BI=(e,t)=>{for(var n in t)Yu(e,n,{get:t[n],enumerable:!0})},wx=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of NI(t))!DI.call(e,r)&&r!==n&&Yu(e,r,{get:()=>t[r],enumerable:!(i=FI(t,r))||i.enumerable});return e};var A=(e,t,n)=>(n=e!=null?LI(zI(e)):{},wx(t||!e||!e.__esModule?Yu(n,"default",{value:e,enumerable:!0}):n,e)),VI=e=>wx(Yu({},"__esModule",{value:!0}),e);var Q=Dt((Ik,Tx)=>{"use strict";Tx.exports=React});var _x=Dt(Zu=>{"use strict";var hC=Q(),pC=Symbol.for("react.element"),mC=Symbol.for("react.fragment"),gC=Object.prototype.hasOwnProperty,yC=hC.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,vC={key:!0,ref:!0,__self:!0,__source:!0};function Mx(e,t,n){var i,r={},s=null,l=null;n!==void 0&&(s=""+n),t.key!==void 0&&(s=""+t.key),t.ref!==void 0&&(l=t.ref);for(i in t)gC.call(t,i)&&!vC.hasOwnProperty(i)&&(r[i]=t[i]);if(e&&e.defaultProps)for(i in t=e.defaultProps,t)r[i]===void 0&&(r[i]=t[i]);return{$$typeof:pC,type:e,key:s,ref:l,props:r,_owner:yC.current}}Zu.Fragment=mC;Zu.jsx=Mx;Zu.jsxs=Mx});var D=Dt((Pk,Ox)=>{"use strict";Ox.exports=_x()});var GS=Dt(qS=>{"use strict";var Ps=Q();function BP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var VP=typeof Object.is=="function"?Object.is:BP,jP=Ps.useState,HP=Ps.useEffect,WP=Ps.useLayoutEffect,UP=Ps.useDebugValue;function qP(e,t){var n=t(),i=jP({inst:{value:n,getSnapshot:t}}),r=i[0].inst,s=i[1];return WP(function(){r.value=n,r.getSnapshot=t,am(r)&&s({inst:r})},[e,n,t]),HP(function(){return am(r)&&s({inst:r}),e(function(){am(r)&&s({inst:r})})},[e]),UP(n),n}function am(e){var t=e.getSnapshot;e=e.value;try{var n=t();return!VP(e,n)}catch{return!0}}function GP(e,t){return t()}var $P=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?GP:qP;qS.useSyncExternalStore=Ps.useSyncExternalStore!==void 0?Ps.useSyncExternalStore:$P});var QS=Dt((f2,$S)=>{"use strict";$S.exports=GS()});var KS=Dt(YS=>{"use strict";var Tc=Q(),QP=QS();function YP(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var KP=typeof Object.is=="function"?Object.is:YP,XP=QP.useSyncExternalStore,ZP=Tc.useRef,JP=Tc.useEffect,eA=Tc.useMemo,tA=Tc.useDebugValue;YS.useSyncExternalStoreWithSelector=function(e,t,n,i,r){var s=ZP(null);if(s.current===null){var l={hasValue:!1,value:null};s.current=l}else l=s.current;s=eA(function(){function f(w){if(!p){if(p=!0,c=w,w=i(w),r!==void 0&&l.hasValue){var v=l.value;if(r(v,w))return m=v}return m=w}if(v=m,KP(c,w))return v;var S=i(w);return r!==void 0&&r(v,S)?v:(c=w,m=S)}var p=!1,c,m,y=n===void 0?null:n;return[function(){return f(t())},y===null?void 0:function(){return f(y())}]},[t,n,i,r]);var u=XP(e,s[0],s[1]);return JP(function(){l.hasValue=!0,l.value=u},[u]),tA(u),u}});var ZS=Dt((p2,XS)=>{"use strict";XS.exports=KS()});var C0=Dt((hF,I0)=>{"use strict";var S0=!1,Ao,Em,Im,Nc,zc,w0,Dc,Cm,Pm,Am,b0,Tm,Mm,R0,E0;function Tn(){if(!S0){S0=!0;var e=navigator.userAgent,t=/(?:MSIE.(\d+\.\d+))|(?:(?:Firefox|GranParadiso|Iceweasel).(\d+\.\d+))|(?:Opera(?:.+Version.|.)(\d+\.\d+))|(?:AppleWebKit.(\d+(?:\.\d+)?))|(?:Trident\/\d+\.\d+.*rv:(\d+\.\d+))/.exec(e),n=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Tm=/\b(iPhone|iP[ao]d)/.exec(e),Mm=/\b(iP[ao]d)/.exec(e),Am=/Android/i.exec(e),R0=/FBAN\/\w+;/i.exec(e),E0=/Mobile/i.exec(e),b0=!!/Win64/.exec(e),t){Ao=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,Ao&&document&&document.documentMode&&(Ao=document.documentMode);var i=/(?:Trident\/(\d+.\d+))/.exec(e);w0=i?parseFloat(i[1])+4:Ao,Em=t[2]?parseFloat(t[2]):NaN,Im=t[3]?parseFloat(t[3]):NaN,Nc=t[4]?parseFloat(t[4]):NaN,Nc?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),zc=t&&t[1]?parseFloat(t[1]):NaN):zc=NaN}else Ao=Em=Im=zc=Nc=NaN;if(n){if(n[1]){var r=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);Dc=r?parseFloat(r[1].replace("_",".")):!0}else Dc=!1;Cm=!!n[2],Pm=!!n[3]}else Dc=Cm=Pm=!1}}var _m={ie:function(){return Tn()||Ao},ieCompatibilityMode:function(){return Tn()||w0>Ao},ie64:function(){return _m.ie()&&b0},firefox:function(){return Tn()||Em},opera:function(){return Tn()||Im},webkit:function(){return Tn()||Nc},safari:function(){return _m.webkit()},chrome:function(){return Tn()||zc},windows:function(){return Tn()||Cm},osx:function(){return Tn()||Dc},linux:function(){return Tn()||Pm},iphone:function(){return Tn()||Tm},mobile:function(){return Tn()||Tm||Mm||Am||E0},nativeApp:function(){return Tn()||R0},android:function(){return Tn()||Am},ipad:function(){return Tn()||Mm}};I0.exports=_m});var A0=Dt((pF,P0)=>{"use strict";var Bc=!!(typeof window<"u"&&window.document&&window.document.createElement),gA={canUseDOM:Bc,canUseWorkers:typeof Worker<"u",canUseEventListeners:Bc&&!!(window.addEventListener||window.attachEvent),canUseViewport:Bc&&!!window.screen,isInWorker:!Bc};P0.exports=gA});var O0=Dt((mF,_0)=>{"use strict";var T0=A0(),M0;T0.canUseDOM&&(M0=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function yA(e,t){if(!T0.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,i=n in document;if(!i){var r=document.createElement("div");r.setAttribute(n,"return;"),i=typeof r[n]=="function"}return!i&&M0&&e==="wheel"&&(i=document.implementation.hasFeature("Events.wheel","3.0")),i}_0.exports=yA});var D0=Dt((gF,z0)=>{"use strict";var vA=C0(),xA=O0(),k0=10,L0=40,F0=800;function N0(e){var t=0,n=0,i=0,r=0;return"detail"in e&&(n=e.detail),"wheelDelta"in e&&(n=-e.wheelDelta/120),"wheelDeltaY"in e&&(n=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=n,n=0),i=t*k0,r=n*k0,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(i=e.deltaX),(i||r)&&e.deltaMode&&(e.deltaMode==1?(i*=L0,r*=L0):(i*=F0,r*=F0)),i&&!t&&(t=i<1?-1:1),r&&!n&&(n=r<1?-1:1),{spinX:t,spinY:n,pixelX:i,pixelY:r}}N0.getEventType=function(){return vA.firefox()?"DOMMouseScroll":xA("wheel")?"wheel":"mousewheel"};z0.exports=N0});var V0=Dt((yF,B0)=>{"use strict";B0.exports=D0()});var Z0=Dt(et=>{"use strict";function Fm(e,t){var n=e.length;e.push(t);e:for(;0<n;){var i=n-1>>>1,r=e[i];if(0<jc(r,t))e[i]=t,e[n]=r,n=i;else break e}}function Ri(e){return e.length===0?null:e[0]}function Wc(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;e:for(var i=0,r=e.length,s=r>>>1;i<s;){var l=2*(i+1)-1,u=e[l],f=l+1,p=e[f];if(0>jc(u,n))f<r&&0>jc(p,u)?(e[i]=p,e[f]=n,i=f):(e[i]=u,e[l]=n,i=l);else if(f<r&&0>jc(p,n))e[i]=p,e[f]=n,i=f;else break e}}return t}function jc(e,t){var n=e.sortIndex-t.sortIndex;return n!==0?n:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(W0=performance,et.unstable_now=function(){return W0.now()}):(Om=Date,U0=Om.now(),et.unstable_now=function(){return Om.now()-U0});var W0,Om,U0,ji=[],Or=[],EA=1,ri=null,on=3,Uc=!1,To=!1,Xa=!1,$0=typeof setTimeout=="function"?setTimeout:null,Q0=typeof clearTimeout=="function"?clearTimeout:null,q0=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function Nm(e){for(var t=Ri(Or);t!==null;){if(t.callback===null)Wc(Or);else if(t.startTime<=e)Wc(Or),t.sortIndex=t.expirationTime,Fm(ji,t);else break;t=Ri(Or)}}function zm(e){if(Xa=!1,Nm(e),!To)if(Ri(ji)!==null)To=!0,Bm(Dm);else{var t=Ri(Or);t!==null&&Vm(zm,t.startTime-e)}}function Dm(e,t){To=!1,Xa&&(Xa=!1,Q0(Za),Za=-1),Uc=!0;var n=on;try{for(Nm(t),ri=Ri(ji);ri!==null&&(!(ri.expirationTime>t)||e&&!X0());){var i=ri.callback;if(typeof i=="function"){ri.callback=null,on=ri.priorityLevel;var r=i(ri.expirationTime<=t);t=et.unstable_now(),typeof r=="function"?ri.callback=r:ri===Ri(ji)&&Wc(ji),Nm(t)}else Wc(ji);ri=Ri(ji)}if(ri!==null)var s=!0;else{var l=Ri(Or);l!==null&&Vm(zm,l.startTime-t),s=!1}return s}finally{ri=null,on=n,Uc=!1}}var qc=!1,Hc=null,Za=-1,Y0=5,K0=-1;function X0(){return!(et.unstable_now()-K0<Y0)}function km(){if(Hc!==null){var e=et.unstable_now();K0=e;var t=!0;try{t=Hc(!0,e)}finally{t?Ka():(qc=!1,Hc=null)}}else qc=!1}var Ka;typeof q0=="function"?Ka=function(){q0(km)}:typeof MessageChannel<"u"?(Lm=new MessageChannel,G0=Lm.port2,Lm.port1.onmessage=km,Ka=function(){G0.postMessage(null)}):Ka=function(){$0(km,0)};var Lm,G0;function Bm(e){Hc=e,qc||(qc=!0,Ka())}function Vm(e,t){Za=$0(function(){e(et.unstable_now())},t)}et.unstable_IdlePriority=5;et.unstable_ImmediatePriority=1;et.unstable_LowPriority=4;et.unstable_NormalPriority=3;et.unstable_Profiling=null;et.unstable_UserBlockingPriority=2;et.unstable_cancelCallback=function(e){e.callback=null};et.unstable_continueExecution=function(){To||Uc||(To=!0,Bm(Dm))};et.unstable_forceFrameRate=function(e){0>e||125<e?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):Y0=0<e?Math.floor(1e3/e):5};et.unstable_getCurrentPriorityLevel=function(){return on};et.unstable_getFirstCallbackNode=function(){return Ri(ji)};et.unstable_next=function(e){switch(on){case 1:case 2:case 3:var t=3;break;default:t=on}var n=on;on=t;try{return e()}finally{on=n}};et.unstable_pauseExecution=function(){};et.unstable_requestPaint=function(){};et.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=on;on=e;try{return t()}finally{on=n}};et.unstable_scheduleCallback=function(e,t,n){var i=et.unstable_now();switch(typeof n=="object"&&n!==null?(n=n.delay,n=typeof n=="number"&&0<n?i+n:i):n=i,e){case 1:var r=-1;break;case 2:r=250;break;case 5:r=1073741823;break;case 4:r=1e4;break;default:r=5e3}return r=n+r,e={id:EA++,callback:t,priorityLevel:e,startTime:n,expirationTime:r,sortIndex:-1},n>i?(e.sortIndex=n,Fm(Or,e),Ri(ji)===null&&e===Ri(Or)&&(Xa?(Q0(Za),Za=-1):Xa=!0,Vm(zm,n-i))):(e.sortIndex=r,Fm(ji,e),To||Uc||(To=!0,Bm(Dm))),e};et.unstable_shouldYield=X0;et.unstable_wrapCallback=function(e){var t=on;return function(){var n=on;on=t;try{return e.apply(this,arguments)}finally{on=n}}}});var ew=Dt((wF,J0)=>{"use strict";J0.exports=Z0()});var nw=Dt((bF,tw)=>{"use strict";tw.exports=function(t){var n={},i=Q(),r=ew(),s=Object.assign;function l(o){for(var a="https://reactjs.org/docs/error-decoder.html?invariant="+o,d=1;d<arguments.length;d++)a+="&args[]="+encodeURIComponent(arguments[d]);return"Minified React error #"+o+"; visit "+a+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}var u=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,f=Symbol.for("react.element"),p=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),m=Symbol.for("react.strict_mode"),y=Symbol.for("react.profiler"),w=Symbol.for("react.provider"),v=Symbol.for("react.context"),S=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),R=Symbol.for("react.suspense_list"),b=Symbol.for("react.memo"),I=Symbol.for("react.lazy");Symbol.for("react.scope"),Symbol.for("react.debug_trace_mode");var M=Symbol.for("react.offscreen");Symbol.for("react.legacy_hidden"),Symbol.for("react.cache"),Symbol.for("react.tracing_marker");var T=Symbol.iterator;function _(o){return o===null||typeof o!="object"?null:(o=T&&o[T]||o["@@iterator"],typeof o=="function"?o:null)}function U(o){if(o==null)return null;if(typeof o=="function")return o.displayName||o.name||null;if(typeof o=="string")return o;switch(o){case c:return"Fragment";case p:return"Portal";case y:return"Profiler";case m:return"StrictMode";case E:return"Suspense";case R:return"SuspenseList"}if(typeof o=="object")switch(o.$$typeof){case v:return(o.displayName||"Context")+".Consumer";case w:return(o._context.displayName||"Context")+".Provider";case S:var a=o.render;return o=o.displayName,o||(o=a.displayName||a.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case b:return a=o.displayName||null,a!==null?a:U(o.type)||"Memo";case I:a=o._payload,o=o._init;try{return U(o(a))}catch{}}return null}function H(o){var a=o.type;switch(o.tag){case 24:return"Cache";case 9:return(a.displayName||"Context")+".Consumer";case 10:return(a._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return o=a.render,o=o.displayName||o.name||"",a.displayName||(o!==""?"ForwardRef("+o+")":"ForwardRef");case 7:return"Fragment";case 5:return a;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return U(a);case 8:return a===m?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof a=="function")return a.displayName||a.name||null;if(typeof a=="string")return a}return null}function Z(o){var a=o,d=o;if(o.alternate)for(;a.return;)a=a.return;else{o=a;do a=o,a.flags&4098&&(d=a.return),o=a.return;while(o)}return a.tag===3?d:null}function B(o){if(Z(o)!==o)throw Error(l(188))}function G(o){var a=o.alternate;if(!a){if(a=Z(o),a===null)throw Error(l(188));return a!==o?null:o}for(var d=o,h=a;;){var g=d.return;if(g===null)break;var x=g.alternate;if(x===null){if(h=g.return,h!==null){d=h;continue}break}if(g.child===x.child){for(x=g.child;x;){if(x===d)return B(g),o;if(x===h)return B(g),a;x=x.sibling}throw Error(l(188))}if(d.return!==h.return)d=g,h=x;else{for(var C=!1,O=g.child;O;){if(O===d){C=!0,d=g,h=x;break}if(O===h){C=!0,h=g,d=x;break}O=O.sibling}if(!C){for(O=x.child;O;){if(O===d){C=!0,d=x,h=g;break}if(O===h){C=!0,h=x,d=g;break}O=O.sibling}if(!C)throw Error(l(189))}}if(d.alternate!==h)throw Error(l(190))}if(d.tag!==3)throw Error(l(188));return d.stateNode.current===d?o:a}function K(o){return o=G(o),o!==null?ce(o):null}function ce(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){var a=ce(o);if(a!==null)return a;o=o.sibling}return null}function J(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){if(o.tag!==4){var a=J(o);if(a!==null)return a}o=o.sibling}return null}var te=Array.isArray,oe=t.getPublicInstance,Re=t.getRootHostContext,de=t.getChildHostContext,N=t.prepareForCommit,re=t.resetAfterCommit,Le=t.createInstance,je=t.appendInitialChild,Ge=t.finalizeInitialChildren,$e=t.prepareUpdate,Qe=t.shouldSetTextContent,Ze=t.createTextInstance,Ct=t.scheduleTimeout,xt=t.cancelTimeout,xn=t.noTimeout,Pt=t.isPrimaryRenderer,Ne=t.supportsMutation,fe=t.supportsPersistence,ae=t.supportsHydration,De=t.getInstanceFromNode,Rt=t.preparePortalMount,ui=t.getCurrentEventPriority,un=t.detachDeletedInstance,Sn=t.supportsMicrotasks,aa=t.scheduleMicrotask,kn=t.supportsTestSelectors,la=t.findFiberRoot,F=t.getBoundingRect,$=t.getTextContent,ie=t.isHiddenSubtree,le=t.matchAccessibilityRole,Se=t.setFocusIfFocusable,V=t.setupIntersectionObserver,k=t.appendChild,X=t.appendChildToContainer,ee=t.commitTextUpdate,Ie=t.commitMount,_e=t.commitUpdate,Be=t.insertBefore,W=t.insertInContainerBefore,Y=t.removeChild,ge=t.removeChildFromContainer,he=t.resetTextContent,pe=t.hideInstance,ke=t.hideTextInstance,tt=t.unhideInstance,nt=t.unhideTextInstance,Ye=t.clearContainer,Lt=t.cloneInstance,ct=t.createContainerChildSet,Ft=t.appendChildToContainerChildSet,hr=t.finalizeContainerChildren,ci=t.replaceContainerChildren,to=t.cloneHiddenInstance,ua=t.cloneHiddenTextInstance,nu=t.canHydrateInstance,EE=t.canHydrateTextInstance,IE=t.canHydrateSuspenseInstance,Dy=t.isSuspenseInstancePending,Mf=t.isSuspenseInstanceFallback,CE=t.getSuspenseInstanceFallbackErrorDetails,PE=t.registerSuspenseInstanceRetry,iu=t.getNextHydratableSibling,AE=t.getFirstHydratableChild,TE=t.getFirstHydratableChildWithinContainer,ME=t.getFirstHydratableChildWithinSuspenseInstance,_E=t.hydrateInstance,OE=t.hydrateTextInstance,kE=t.hydrateSuspenseInstance,LE=t.getNextHydratableInstanceAfterSuspenseInstance,FE=t.commitHydratedContainer,NE=t.commitHydratedSuspenseInstance,zE=t.clearSuspenseBoundary,DE=t.clearSuspenseBoundaryFromContainer,BE=t.shouldDeleteUnhydratedTailInstances,VE=t.didNotMatchHydratedContainerTextInstance,jE=t.didNotMatchHydratedTextInstance,_f;function ca(o){if(_f===void 0)try{throw Error()}catch(d){var a=d.stack.trim().match(/\n( *(at )?)/);_f=a&&a[1]||""}return`
2
+ `+_f+o}var Of=!1;function kf(o,a){if(!o||Of)return"";Of=!0;var d=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{if(a)if(a=function(){throw Error()},Object.defineProperty(a.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(a,[])}catch(ne){var h=ne}Reflect.construct(o,[],a)}else{try{a.call()}catch(ne){h=ne}o.call(a.prototype)}else{try{throw Error()}catch(ne){h=ne}o()}}catch(ne){if(ne&&h&&typeof ne.stack=="string"){for(var g=ne.stack.split(`
3
+ `),x=h.stack.split(`
4
4
  `),C=g.length-1,O=x.length-1;1<=C&&0<=O&&g[C]!==x[O];)O--;for(;1<=C&&0<=O;C--,O--)if(g[C]!==x[O]){if(C!==1||O!==1)do if(C--,O--,0>O||g[C]!==x[O]){var j=`
5
- `+g[C].replace(" at new "," at ");return o.displayName&&j.includes("<anonymous>")&&(j=j.replace("<anonymous>",o.displayName)),j}while(1<=C&&0<=O);break}}}finally{Mf=!1,Error.prepareStackTrace=d}return(o=o?o.displayName||o.name:"")?ua(o):""}var HE=Object.prototype.hasOwnProperty,Of=[],Ko=-1;function pr(o){return{current:o}}function it(o){0>Ko||(o.current=Of[Ko],Of[Ko]=null,Ko--)}function Je(o,s){Ko++,Of[Ko]=o.current,o.current=s}var mr={},Zt=pr(mr),wn=pr(!1),eo=mr;function Xo(o,s){var d=o.type.contextTypes;if(!d)return mr;var p=o.stateNode;if(p&&p.__reactInternalMemoizedUnmaskedChildContext===s)return p.__reactInternalMemoizedMaskedChildContext;var g={},x;for(x in d)g[x]=s[x];return p&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=g),g}function bn(o){return o=o.childContextTypes,o!=null}function iu(){it(wn),it(Zt)}function zy(o,s,d){if(Zt.current!==mr)throw Error(l(168));Je(Zt,s),Je(wn,d)}function Dy(o,s,d){var p=o.stateNode;if(s=s.childContextTypes,typeof p.getChildContext!="function")return d;p=p.getChildContext();for(var g in p)if(!(g in s))throw Error(l(108,H(o)||"Unknown",g));return a({},d,p)}function ru(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||mr,eo=Zt.current,Je(Zt,o),Je(wn,wn.current),!0}function By(o,s,d){var p=o.stateNode;if(!p)throw Error(l(169));d?(o=Dy(o,s,eo),p.__reactInternalMemoizedMergedChildContext=o,it(wn),it(Zt),Je(Zt,o)):it(wn),Je(wn,d)}var ci=Math.clz32?Math.clz32:qE,WE=Math.log,UE=Math.LN2;function qE(o){return o>>>=0,o===0?32:31-(WE(o)/UE|0)|0}var ou=64,su=4194304;function ca(o){switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function au(o,s){var d=o.pendingLanes;if(d===0)return 0;var p=0,g=o.suspendedLanes,x=o.pingedLanes,C=d&268435455;if(C!==0){var O=C&~g;O!==0?p=ca(O):(x&=C,x!==0&&(p=ca(x)))}else C=d&~g,C!==0?p=ca(C):x!==0&&(p=ca(x));if(p===0)return 0;if(s!==0&&s!==p&&!(s&g)&&(g=p&-p,x=s&-s,g>=x||g===16&&(x&4194240)!==0))return s;if(p&4&&(p|=d&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=p;0<s;)d=31-ci(s),g=1<<d,p|=o[d],s&=~g;return p}function GE(o,s){switch(o){case 1:case 2:case 4:return s+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return s+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function $E(o,s){for(var d=o.suspendedLanes,p=o.pingedLanes,g=o.expirationTimes,x=o.pendingLanes;0<x;){var C=31-ci(x),O=1<<C,j=g[C];j===-1?(!(O&d)||O&p)&&(g[C]=GE(O,s)):j<=s&&(o.expiredLanes|=O),x&=~O}}function kf(o){return o=o.pendingLanes&-1073741825,o!==0?o:o&1073741824?1073741824:0}function Vy(){var o=ou;return ou<<=1,!(ou&4194240)&&(ou=64),o}function Lf(o){for(var s=[],d=0;31>d;d++)s.push(o);return s}function da(o,s,d){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-ci(s),o[s]=d}function QE(o,s){var d=o.pendingLanes&~s;o.pendingLanes=s,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=s,o.mutableReadLanes&=s,o.entangledLanes&=s,s=o.entanglements;var p=o.eventTimes;for(o=o.expirationTimes;0<d;){var g=31-ci(d),x=1<<g;s[g]=0,p[g]=-1,o[g]=-1,d&=~x}}function Ff(o,s){var d=o.entangledLanes|=s;for(o=o.entanglements;d;){var p=31-ci(d),g=1<<p;g&s|o[p]&s&&(o[p]|=s),d&=~g}}var He=0;function jy(o){return o&=-o,1<o?4<o?o&268435455?16:536870912:4:1}var Nf=r.unstable_scheduleCallback,Hy=r.unstable_cancelCallback,YE=r.unstable_shouldYield,KE=r.unstable_requestPaint,jt=r.unstable_now,zf=r.unstable_ImmediatePriority,XE=r.unstable_UserBlockingPriority,Df=r.unstable_NormalPriority,ZE=r.unstable_IdlePriority,lu=null,_i=null;function JE(o){if(_i&&typeof _i.onCommitFiberRoot=="function")try{_i.onCommitFiberRoot(lu,o,void 0,(o.current.flags&128)===128)}catch{}}function eI(o,s){return o===s&&(o!==0||1/o===1/s)||o!==o&&s!==s}var di=typeof Object.is=="function"?Object.is:eI,Gi=null,uu=!1,Bf=!1;function Wy(o){Gi===null?Gi=[o]:Gi.push(o)}function tI(o){uu=!0,Wy(o)}function Oi(){if(!Bf&&Gi!==null){Bf=!0;var o=0,s=He;try{var d=Gi;for(He=1;o<d.length;o++){var p=d[o];do p=p(!0);while(p!==null)}Gi=null,uu=!1}catch(g){throw Gi!==null&&(Gi=Gi.slice(o+1)),Nf(zf,Oi),g}finally{He=s,Bf=!1}}return null}var Zo=[],Jo=0,cu=null,du=0,Gn=[],$n=0,to=null,$i=1,Qi="";function no(o,s){Zo[Jo++]=du,Zo[Jo++]=cu,cu=o,du=s}function Uy(o,s,d){Gn[$n++]=$i,Gn[$n++]=Qi,Gn[$n++]=to,to=o;var p=$i;o=Qi;var g=32-ci(p)-1;p&=~(1<<g),d+=1;var x=32-ci(s)+g;if(30<x){var C=g-g%5;x=(p&(1<<C)-1).toString(32),p>>=C,g-=C,$i=1<<32-ci(s)+g|d<<g|p,Qi=x+o}else $i=1<<x|d<<g|p,Qi=o}function Vf(o){o.return!==null&&(no(o,1),Uy(o,1,0))}function jf(o){for(;o===cu;)cu=Zo[--Jo],Zo[Jo]=null,du=Zo[--Jo],Zo[Jo]=null;for(;o===to;)to=Gn[--$n],Gn[$n]=null,Qi=Gn[--$n],Gn[$n]=null,$i=Gn[--$n],Gn[$n]=null}var Ln=null,Qn=null,at=!1,fa=!1,fi=null;function qy(o,s){var d=Jn(5,null,null,0);d.elementType="DELETED",d.stateNode=s,d.return=o,s=o.deletions,s===null?(o.deletions=[d],o.flags|=16):s.push(d)}function Gy(o,s){switch(o.tag){case 5:return s=tu(s,o.type,o.pendingProps),s!==null?(o.stateNode=s,Ln=o,Qn=AE(s),!0):!1;case 6:return s=EE(s,o.pendingProps),s!==null?(o.stateNode=s,Ln=o,Qn=null,!0):!1;case 13:if(s=IE(s),s!==null){var d=to!==null?{id:$i,overflow:Qi}:null;return o.memoizedState={dehydrated:s,treeContext:d,retryLane:1073741824},d=Jn(18,null,null,0),d.stateNode=s,d.return=o,o.child=d,Ln=o,Qn=null,!0}return!1;default:return!1}}function Hf(o){return(o.mode&1)!==0&&(o.flags&128)===0}function Wf(o){if(at){var s=Qn;if(s){var d=s;if(!Gy(o,s)){if(Hf(o))throw Error(l(418));s=nu(d);var p=Ln;s&&Gy(o,s)?qy(p,d):(o.flags=o.flags&-4097|2,at=!1,Ln=o)}}else{if(Hf(o))throw Error(l(418));o.flags=o.flags&-4097|2,at=!1,Ln=o}}}function $y(o){for(o=o.return;o!==null&&o.tag!==5&&o.tag!==3&&o.tag!==13;)o=o.return;Ln=o}function fu(o){if(!ae||o!==Ln)return!1;if(!at)return $y(o),at=!0,!1;if(o.tag!==3&&(o.tag!==5||BE(o.type)&&!Qe(o.type,o.memoizedProps))){var s=Qn;if(s){if(Hf(o))throw Qy(),Error(l(418));for(;s;)qy(o,s),s=nu(s)}}if($y(o),o.tag===13){if(!ae)throw Error(l(316));if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(l(317));Qn=LE(o)}else Qn=Ln?nu(o.stateNode):null;return!0}function Qy(){for(var o=Qn;o;)o=nu(o)}function es(){ae&&(Qn=Ln=null,fa=at=!1)}function Uf(o){fi===null?fi=[o]:fi.push(o)}var nI=u.ReactCurrentBatchConfig;function hu(o,s){if(di(o,s))return!0;if(typeof o!="object"||o===null||typeof s!="object"||s===null)return!1;var d=Object.keys(o),p=Object.keys(s);if(d.length!==p.length)return!1;for(p=0;p<d.length;p++){var g=d[p];if(!HE.call(s,g)||!di(o[g],s[g]))return!1}return!0}function iI(o){switch(o.tag){case 5:return ua(o.type);case 16:return ua("Lazy");case 13:return ua("Suspense");case 19:return ua("SuspenseList");case 0:case 2:case 15:return o=_f(o.type,!1),o;case 11:return o=_f(o.type.render,!1),o;case 1:return o=_f(o.type,!0),o;default:return""}}function hi(o,s){if(o&&o.defaultProps){s=a({},s),o=o.defaultProps;for(var d in o)s[d]===void 0&&(s[d]=o[d]);return s}return s}var pu=pr(null),mu=null,ts=null,qf=null;function Gf(){qf=ts=mu=null}function Yy(o,s,d){Pt?(Je(pu,s._currentValue),s._currentValue=d):(Je(pu,s._currentValue2),s._currentValue2=d)}function $f(o){var s=pu.current;it(pu),Pt?o._currentValue=s:o._currentValue2=s}function Qf(o,s,d){for(;o!==null;){var p=o.alternate;if((o.childLanes&s)!==s?(o.childLanes|=s,p!==null&&(p.childLanes|=s)):p!==null&&(p.childLanes&s)!==s&&(p.childLanes|=s),o===d)break;o=o.return}}function ns(o,s){mu=o,qf=ts=null,o=o.dependencies,o!==null&&o.firstContext!==null&&(o.lanes&s&&(Rn=!0),o.firstContext=null)}function Yn(o){var s=Pt?o._currentValue:o._currentValue2;if(qf!==o)if(o={context:o,memoizedValue:s,next:null},ts===null){if(mu===null)throw Error(l(308));ts=o,mu.dependencies={lanes:0,firstContext:o}}else ts=ts.next=o;return s}var io=null;function Yf(o){io===null?io=[o]:io.push(o)}function Ky(o,s,d,p){var g=s.interleaved;return g===null?(d.next=d,Yf(s)):(d.next=g.next,g.next=d),s.interleaved=d,ki(o,p)}function ki(o,s){o.lanes|=s;var d=o.alternate;for(d!==null&&(d.lanes|=s),d=o,o=o.return;o!==null;)o.childLanes|=s,d=o.alternate,d!==null&&(d.childLanes|=s),d=o,o=o.return;return d.tag===3?d.stateNode:null}var gr=!1;function Kf(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Xy(o,s){o=o.updateQueue,s.updateQueue===o&&(s.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function Yi(o,s){return{eventTime:o,lane:s,tag:0,payload:null,callback:null,next:null}}function yr(o,s,d){var p=o.updateQueue;if(p===null)return null;if(p=p.shared,Fe&2){var g=p.pending;return g===null?s.next=s:(s.next=g.next,g.next=s),p.pending=s,ki(o,d)}return g=p.interleaved,g===null?(s.next=s,Yf(p)):(s.next=g.next,g.next=s),p.interleaved=s,ki(o,d)}function gu(o,s,d){if(s=s.updateQueue,s!==null&&(s=s.shared,(d&4194240)!==0)){var p=s.lanes;p&=o.pendingLanes,d|=p,s.lanes=d,Ff(o,d)}}function Zy(o,s){var d=o.updateQueue,p=o.alternate;if(p!==null&&(p=p.updateQueue,d===p)){var g=null,x=null;if(d=d.firstBaseUpdate,d!==null){do{var C={eventTime:d.eventTime,lane:d.lane,tag:d.tag,payload:d.payload,callback:d.callback,next:null};x===null?g=x=C:x=x.next=C,d=d.next}while(d!==null);x===null?g=x=s:x=x.next=s}else g=x=s;d={baseState:p.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:p.shared,effects:p.effects},o.updateQueue=d;return}o=d.lastBaseUpdate,o===null?d.firstBaseUpdate=s:o.next=s,d.lastBaseUpdate=s}function yu(o,s,d,p){var g=o.updateQueue;gr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var j=O,ne=j.next;j.next=null,C===null?x=ne:C.next=ne,C=j;var xe=o.alternate;xe!==null&&(xe=xe.updateQueue,O=xe.lastBaseUpdate,O!==C&&(O===null?xe.firstBaseUpdate=ne:O.next=ne,xe.lastBaseUpdate=j))}if(x!==null){var Te=g.baseState;C=0,xe=ne=j=null,O=x;do{var se=O.lane,rt=O.eventTime;if((p&se)===se){xe!==null&&(xe=xe.next={eventTime:rt,lane:0,tag:O.tag,payload:O.payload,callback:O.callback,next:null});e:{var Ke=o,Cn=O;switch(se=s,rt=d,Cn.tag){case 1:if(Ke=Cn.payload,typeof Ke=="function"){Te=Ke.call(rt,Te,se);break e}Te=Ke;break e;case 3:Ke.flags=Ke.flags&-65537|128;case 0:if(Ke=Cn.payload,se=typeof Ke=="function"?Ke.call(rt,Te,se):Ke,se==null)break e;Te=a({},Te,se);break e;case 2:gr=!0}}O.callback!==null&&O.lane!==0&&(o.flags|=64,se=g.effects,se===null?g.effects=[O]:se.push(O))}else rt={eventTime:rt,lane:se,tag:O.tag,payload:O.payload,callback:O.callback,next:null},xe===null?(ne=xe=rt,j=Te):xe=xe.next=rt,C|=se;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;se=O,O=se.next,se.next=null,g.lastBaseUpdate=se,g.shared.pending=null}}while(!0);if(xe===null&&(j=Te),g.baseState=j,g.firstBaseUpdate=ne,g.lastBaseUpdate=xe,s=g.shared.interleaved,s!==null){g=s;do C|=g.lane,g=g.next;while(g!==s)}else x===null&&(g.shared.lanes=0);oo|=C,o.lanes=C,o.memoizedState=Te}}function Jy(o,s,d){if(o=s.effects,s.effects=null,o!==null)for(s=0;s<o.length;s++){var p=o[s],g=p.callback;if(g!==null){if(p.callback=null,p=d,typeof g!="function")throw Error(l(191,g));g.call(p)}}}var ev=new i.Component().refs;function Xf(o,s,d,p){s=o.memoizedState,d=d(p,s),d=d==null?s:a({},s,d),o.memoizedState=d,o.lanes===0&&(o.updateQueue.baseState=d)}var vu={isMounted:function(o){return(o=o._reactInternals)?Z(o)===o:!1},enqueueSetState:function(o,s,d){o=o._reactInternals;var p=nn(),g=Sr(o),x=Yi(p,g);x.payload=s,d!=null&&(x.callback=d),s=yr(o,x,g),s!==null&&(Zn(s,o,g,p),gu(s,o,g))},enqueueReplaceState:function(o,s,d){o=o._reactInternals;var p=nn(),g=Sr(o),x=Yi(p,g);x.tag=1,x.payload=s,d!=null&&(x.callback=d),s=yr(o,x,g),s!==null&&(Zn(s,o,g,p),gu(s,o,g))},enqueueForceUpdate:function(o,s){o=o._reactInternals;var d=nn(),p=Sr(o),g=Yi(d,p);g.tag=2,s!=null&&(g.callback=s),s=yr(o,g,p),s!==null&&(Zn(s,o,p,d),gu(s,o,p))}};function tv(o,s,d,p,g,x,C){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(p,x,C):s.prototype&&s.prototype.isPureReactComponent?!hu(d,p)||!hu(g,x):!0}function nv(o,s,d){var p=!1,g=mr,x=s.contextType;return typeof x=="object"&&x!==null?x=Yn(x):(g=bn(s)?eo:Zt.current,p=s.contextTypes,x=(p=p!=null)?Xo(o,g):mr),s=new s(d,x),o.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,s.updater=vu,o.stateNode=s,s._reactInternals=o,p&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=g,o.__reactInternalMemoizedMaskedChildContext=x),s}function iv(o,s,d,p){o=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(d,p),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(d,p),s.state!==o&&vu.enqueueReplaceState(s,s.state,null)}function Zf(o,s,d,p){var g=o.stateNode;g.props=d,g.state=o.memoizedState,g.refs=ev,Kf(o);var x=s.contextType;typeof x=="object"&&x!==null?g.context=Yn(x):(x=bn(s)?eo:Zt.current,g.context=Xo(o,x)),g.state=o.memoizedState,x=s.getDerivedStateFromProps,typeof x=="function"&&(Xf(o,s,x,d),g.state=o.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof g.getSnapshotBeforeUpdate=="function"||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(s=g.state,typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount(),s!==g.state&&vu.enqueueReplaceState(g,g.state,null),yu(o,d,g,p),g.state=o.memoizedState),typeof g.componentDidMount=="function"&&(o.flags|=4194308)}function ha(o,s,d){if(o=d.ref,o!==null&&typeof o!="function"&&typeof o!="object"){if(d._owner){if(d=d._owner,d){if(d.tag!==1)throw Error(l(309));var p=d.stateNode}if(!p)throw Error(l(147,o));var g=p,x=""+o;return s!==null&&s.ref!==null&&typeof s.ref=="function"&&s.ref._stringRef===x?s.ref:(s=function(C){var O=g.refs;O===ev&&(O=g.refs={}),C===null?delete O[x]:O[x]=C},s._stringRef=x,s)}if(typeof o!="string")throw Error(l(284));if(!d._owner)throw Error(l(290,o))}return o}function xu(o,s){throw o=Object.prototype.toString.call(s),Error(l(31,o==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":o))}function rv(o){var s=o._init;return s(o._payload)}function ov(o){function s(z,L){if(o){var q=z.deletions;q===null?(z.deletions=[L],z.flags|=16):q.push(L)}}function d(z,L){if(!o)return null;for(;L!==null;)s(z,L),L=L.sibling;return null}function p(z,L){for(z=new Map;L!==null;)L.key!==null?z.set(L.key,L):z.set(L.index,L),L=L.sibling;return z}function g(z,L){return z=br(z,L),z.index=0,z.sibling=null,z}function x(z,L,q){return z.index=q,o?(q=z.alternate,q!==null?(q=q.index,q<L?(z.flags|=2,L):q):(z.flags|=2,L)):(z.flags|=1048576,L)}function C(z){return o&&z.alternate===null&&(z.flags|=2),z}function O(z,L,q,ue){return L===null||L.tag!==6?(L=Bh(q,z.mode,ue),L.return=z,L):(L=g(L,q),L.return=z,L)}function j(z,L,q,ue){var Ee=q.type;return Ee===c?xe(z,L,q.props.children,ue,q.key):L!==null&&(L.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===I&&rv(Ee)===L.type)?(ue=g(L,q.props),ue.ref=ha(z,L,q),ue.return=z,ue):(ue=qu(q.type,q.key,q.props,null,z.mode,ue),ue.ref=ha(z,L,q),ue.return=z,ue)}function ne(z,L,q,ue){return L===null||L.tag!==4||L.stateNode.containerInfo!==q.containerInfo||L.stateNode.implementation!==q.implementation?(L=Vh(q,z.mode,ue),L.return=z,L):(L=g(L,q.children||[]),L.return=z,L)}function xe(z,L,q,ue,Ee){return L===null||L.tag!==7?(L=uo(q,z.mode,ue,Ee),L.return=z,L):(L=g(L,q),L.return=z,L)}function Te(z,L,q){if(typeof L=="string"&&L!==""||typeof L=="number")return L=Bh(""+L,z.mode,q),L.return=z,L;if(typeof L=="object"&&L!==null){switch(L.$$typeof){case f:return q=qu(L.type,L.key,L.props,null,z.mode,q),q.ref=ha(z,null,L),q.return=z,q;case h:return L=Vh(L,z.mode,q),L.return=z,L;case I:var ue=L._init;return Te(z,ue(L._payload),q)}if(te(L)||_(L))return L=uo(L,z.mode,q,null),L.return=z,L;xu(z,L)}return null}function se(z,L,q,ue){var Ee=L!==null?L.key:null;if(typeof q=="string"&&q!==""||typeof q=="number")return Ee!==null?null:O(z,L,""+q,ue);if(typeof q=="object"&&q!==null){switch(q.$$typeof){case f:return q.key===Ee?j(z,L,q,ue):null;case h:return q.key===Ee?ne(z,L,q,ue):null;case I:return Ee=q._init,se(z,L,Ee(q._payload),ue)}if(te(q)||_(q))return Ee!==null?null:xe(z,L,q,ue,null);xu(z,q)}return null}function rt(z,L,q,ue,Ee){if(typeof ue=="string"&&ue!==""||typeof ue=="number")return z=z.get(q)||null,O(L,z,""+ue,Ee);if(typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case f:return z=z.get(ue.key===null?q:ue.key)||null,j(L,z,ue,Ee);case h:return z=z.get(ue.key===null?q:ue.key)||null,ne(L,z,ue,Ee);case I:var Oe=ue._init;return rt(z,L,q,Oe(ue._payload),Ee)}if(te(ue)||_(ue))return z=z.get(q)||null,xe(L,z,ue,Ee,null);xu(L,ue)}return null}function Ke(z,L,q,ue){for(var Ee=null,Oe=null,Me=L,We=L=0,Ut=null;Me!==null&&We<q.length;We++){Me.index>We?(Ut=Me,Me=null):Ut=Me.sibling;var Ue=se(z,Me,q[We],ue);if(Ue===null){Me===null&&(Me=Ut);break}o&&Me&&Ue.alternate===null&&s(z,Me),L=x(Ue,L,We),Oe===null?Ee=Ue:Oe.sibling=Ue,Oe=Ue,Me=Ut}if(We===q.length)return d(z,Me),at&&no(z,We),Ee;if(Me===null){for(;We<q.length;We++)Me=Te(z,q[We],ue),Me!==null&&(L=x(Me,L,We),Oe===null?Ee=Me:Oe.sibling=Me,Oe=Me);return at&&no(z,We),Ee}for(Me=p(z,Me);We<q.length;We++)Ut=rt(Me,z,We,q[We],ue),Ut!==null&&(o&&Ut.alternate!==null&&Me.delete(Ut.key===null?We:Ut.key),L=x(Ut,L,We),Oe===null?Ee=Ut:Oe.sibling=Ut,Oe=Ut);return o&&Me.forEach(function(Rr){return s(z,Rr)}),at&&no(z,We),Ee}function Cn(z,L,q,ue){var Ee=_(q);if(typeof Ee!="function")throw Error(l(150));if(q=Ee.call(q),q==null)throw Error(l(151));for(var Oe=Ee=null,Me=L,We=L=0,Ut=null,Ue=q.next();Me!==null&&!Ue.done;We++,Ue=q.next()){Me.index>We?(Ut=Me,Me=null):Ut=Me.sibling;var Rr=se(z,Me,Ue.value,ue);if(Rr===null){Me===null&&(Me=Ut);break}o&&Me&&Rr.alternate===null&&s(z,Me),L=x(Rr,L,We),Oe===null?Ee=Rr:Oe.sibling=Rr,Oe=Rr,Me=Ut}if(Ue.done)return d(z,Me),at&&no(z,We),Ee;if(Me===null){for(;!Ue.done;We++,Ue=q.next())Ue=Te(z,Ue.value,ue),Ue!==null&&(L=x(Ue,L,We),Oe===null?Ee=Ue:Oe.sibling=Ue,Oe=Ue);return at&&no(z,We),Ee}for(Me=p(z,Me);!Ue.done;We++,Ue=q.next())Ue=rt(Me,z,We,Ue.value,ue),Ue!==null&&(o&&Ue.alternate!==null&&Me.delete(Ue.key===null?We:Ue.key),L=x(Ue,L,We),Oe===null?Ee=Ue:Oe.sibling=Ue,Oe=Ue);return o&&Me.forEach(function(kI){return s(z,kI)}),at&&no(z,We),Ee}function Zi(z,L,q,ue){if(typeof q=="object"&&q!==null&&q.type===c&&q.key===null&&(q=q.props.children),typeof q=="object"&&q!==null){switch(q.$$typeof){case f:e:{for(var Ee=q.key,Oe=L;Oe!==null;){if(Oe.key===Ee){if(Ee=q.type,Ee===c){if(Oe.tag===7){d(z,Oe.sibling),L=g(Oe,q.props.children),L.return=z,z=L;break e}}else if(Oe.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===I&&rv(Ee)===Oe.type){d(z,Oe.sibling),L=g(Oe,q.props),L.ref=ha(z,Oe,q),L.return=z,z=L;break e}d(z,Oe);break}else s(z,Oe);Oe=Oe.sibling}q.type===c?(L=uo(q.props.children,z.mode,ue,q.key),L.return=z,z=L):(ue=qu(q.type,q.key,q.props,null,z.mode,ue),ue.ref=ha(z,L,q),ue.return=z,z=ue)}return C(z);case h:e:{for(Oe=q.key;L!==null;){if(L.key===Oe)if(L.tag===4&&L.stateNode.containerInfo===q.containerInfo&&L.stateNode.implementation===q.implementation){d(z,L.sibling),L=g(L,q.children||[]),L.return=z,z=L;break e}else{d(z,L);break}else s(z,L);L=L.sibling}L=Vh(q,z.mode,ue),L.return=z,z=L}return C(z);case I:return Oe=q._init,Zi(z,L,Oe(q._payload),ue)}if(te(q))return Ke(z,L,q,ue);if(_(q))return Cn(z,L,q,ue);xu(z,q)}return typeof q=="string"&&q!==""||typeof q=="number"?(q=""+q,L!==null&&L.tag===6?(d(z,L.sibling),L=g(L,q),L.return=z,z=L):(d(z,L),L=Bh(q,z.mode,ue),L.return=z,z=L),C(z)):d(z,L)}return Zi}var is=ov(!0),sv=ov(!1),pa={},Kn=pr(pa),ma=pr(pa),rs=pr(pa);function Li(o){if(o===pa)throw Error(l(174));return o}function Jf(o,s){Je(rs,s),Je(ma,o),Je(Kn,pa),o=Re(s),it(Kn),Je(Kn,o)}function os(){it(Kn),it(ma),it(rs)}function av(o){var s=Li(rs.current),d=Li(Kn.current);s=de(d,o.type,s),d!==s&&(Je(ma,o),Je(Kn,s))}function eh(o){ma.current===o&&(it(Kn),it(ma))}var dt=pr(0);function Su(o){for(var s=o;s!==null;){if(s.tag===13){var d=s.memoizedState;if(d!==null&&(d=d.dehydrated,d===null||Ny(d)||Af(d)))return s}else if(s.tag===19&&s.memoizedProps.revealOrder!==void 0){if(s.flags&128)return s}else if(s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return null;s=s.return}s.sibling.return=s.return,s=s.sibling}return null}var th=[];function nh(){for(var o=0;o<th.length;o++){var s=th[o];Pt?s._workInProgressVersionPrimary=null:s._workInProgressVersionSecondary=null}th.length=0}var wu=u.ReactCurrentDispatcher,ih=u.ReactCurrentBatchConfig,ro=0,ft=null,Ft=null,Ht=null,bu=!1,ga=!1,ya=0,rI=0;function Jt(){throw Error(l(321))}function rh(o,s){if(s===null)return!1;for(var d=0;d<s.length&&d<o.length;d++)if(!di(o[d],s[d]))return!1;return!0}function oh(o,s,d,p,g,x){if(ro=x,ft=s,s.memoizedState=null,s.updateQueue=null,s.lanes=0,wu.current=o===null||o.memoizedState===null?lI:uI,o=d(p,g),ga){x=0;do{if(ga=!1,ya=0,25<=x)throw Error(l(301));x+=1,Ht=Ft=null,s.updateQueue=null,wu.current=cI,o=d(p,g)}while(ga)}if(wu.current=Iu,s=Ft!==null&&Ft.next!==null,ro=0,Ht=Ft=ft=null,bu=!1,s)throw Error(l(300));return o}function sh(){var o=ya!==0;return ya=0,o}function Fi(){var o={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Ht===null?ft.memoizedState=Ht=o:Ht=Ht.next=o,Ht}function Xn(){if(Ft===null){var o=ft.alternate;o=o!==null?o.memoizedState:null}else o=Ft.next;var s=Ht===null?ft.memoizedState:Ht.next;if(s!==null)Ht=s,Ft=o;else{if(o===null)throw Error(l(310));Ft=o,o={memoizedState:Ft.memoizedState,baseState:Ft.baseState,baseQueue:Ft.baseQueue,queue:Ft.queue,next:null},Ht===null?ft.memoizedState=Ht=o:Ht=Ht.next=o}return Ht}function va(o,s){return typeof s=="function"?s(o):s}function ah(o){var s=Xn(),d=s.queue;if(d===null)throw Error(l(311));d.lastRenderedReducer=o;var p=Ft,g=p.baseQueue,x=d.pending;if(x!==null){if(g!==null){var C=g.next;g.next=x.next,x.next=C}p.baseQueue=g=x,d.pending=null}if(g!==null){x=g.next,p=p.baseState;var O=C=null,j=null,ne=x;do{var xe=ne.lane;if((ro&xe)===xe)j!==null&&(j=j.next={lane:0,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null}),p=ne.hasEagerState?ne.eagerState:o(p,ne.action);else{var Te={lane:xe,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null};j===null?(O=j=Te,C=p):j=j.next=Te,ft.lanes|=xe,oo|=xe}ne=ne.next}while(ne!==null&&ne!==x);j===null?C=p:j.next=O,di(p,s.memoizedState)||(Rn=!0),s.memoizedState=p,s.baseState=C,s.baseQueue=j,d.lastRenderedState=p}if(o=d.interleaved,o!==null){g=o;do x=g.lane,ft.lanes|=x,oo|=x,g=g.next;while(g!==o)}else g===null&&(d.lanes=0);return[s.memoizedState,d.dispatch]}function lh(o){var s=Xn(),d=s.queue;if(d===null)throw Error(l(311));d.lastRenderedReducer=o;var p=d.dispatch,g=d.pending,x=s.memoizedState;if(g!==null){d.pending=null;var C=g=g.next;do x=o(x,C.action),C=C.next;while(C!==g);di(x,s.memoizedState)||(Rn=!0),s.memoizedState=x,s.baseQueue===null&&(s.baseState=x),d.lastRenderedState=x}return[x,p]}function lv(){}function uv(o,s){var d=ft,p=Xn(),g=s(),x=!di(p.memoizedState,g);if(x&&(p.memoizedState=g,Rn=!0),p=p.queue,uh(fv.bind(null,d,p,o),[o]),p.getSnapshot!==s||x||Ht!==null&&Ht.memoizedState.tag&1){if(d.flags|=2048,xa(9,dv.bind(null,d,p,g,s),void 0,null),Wt===null)throw Error(l(349));ro&30||cv(d,s,g)}return g}function cv(o,s,d){o.flags|=16384,o={getSnapshot:s,value:d},s=ft.updateQueue,s===null?(s={lastEffect:null,stores:null},ft.updateQueue=s,s.stores=[o]):(d=s.stores,d===null?s.stores=[o]:d.push(o))}function dv(o,s,d,p){s.value=d,s.getSnapshot=p,hv(s)&&pv(o)}function fv(o,s,d){return d(function(){hv(s)&&pv(o)})}function hv(o){var s=o.getSnapshot;o=o.value;try{var d=s();return!di(o,d)}catch{return!0}}function pv(o){var s=ki(o,1);s!==null&&Zn(s,o,1,-1)}function mv(o){var s=Fi();return typeof o=="function"&&(o=o()),s.memoizedState=s.baseState=o,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:va,lastRenderedState:o},s.queue=o,o=o.dispatch=aI.bind(null,ft,o),[s.memoizedState,o]}function xa(o,s,d,p){return o={tag:o,create:s,destroy:d,deps:p,next:null},s=ft.updateQueue,s===null?(s={lastEffect:null,stores:null},ft.updateQueue=s,s.lastEffect=o.next=o):(d=s.lastEffect,d===null?s.lastEffect=o.next=o:(p=d.next,d.next=o,o.next=p,s.lastEffect=o)),o}function gv(){return Xn().memoizedState}function Ru(o,s,d,p){var g=Fi();ft.flags|=o,g.memoizedState=xa(1|s,d,void 0,p===void 0?null:p)}function Eu(o,s,d,p){var g=Xn();p=p===void 0?null:p;var x=void 0;if(Ft!==null){var C=Ft.memoizedState;if(x=C.destroy,p!==null&&rh(p,C.deps)){g.memoizedState=xa(s,d,x,p);return}}ft.flags|=o,g.memoizedState=xa(1|s,d,x,p)}function yv(o,s){return Ru(8390656,8,o,s)}function uh(o,s){return Eu(2048,8,o,s)}function vv(o,s){return Eu(4,2,o,s)}function xv(o,s){return Eu(4,4,o,s)}function Sv(o,s){if(typeof s=="function")return o=o(),s(o),function(){s(null)};if(s!=null)return o=o(),s.current=o,function(){s.current=null}}function wv(o,s,d){return d=d!=null?d.concat([o]):null,Eu(4,4,Sv.bind(null,s,o),d)}function ch(){}function bv(o,s){var d=Xn();s=s===void 0?null:s;var p=d.memoizedState;return p!==null&&s!==null&&rh(s,p[1])?p[0]:(d.memoizedState=[o,s],o)}function Rv(o,s){var d=Xn();s=s===void 0?null:s;var p=d.memoizedState;return p!==null&&s!==null&&rh(s,p[1])?p[0]:(o=o(),d.memoizedState=[o,s],o)}function Ev(o,s,d){return ro&21?(di(d,s)||(d=Vy(),ft.lanes|=d,oo|=d,o.baseState=!0),s):(o.baseState&&(o.baseState=!1,Rn=!0),o.memoizedState=d)}function oI(o,s){var d=He;He=d!==0&&4>d?d:4,o(!0);var p=ih.transition;ih.transition={};try{o(!1),s()}finally{He=d,ih.transition=p}}function Iv(){return Xn().memoizedState}function sI(o,s,d){var p=Sr(o);if(d={lane:p,action:d,hasEagerState:!1,eagerState:null,next:null},Cv(o))Pv(s,d);else if(d=Ky(o,s,d,p),d!==null){var g=nn();Zn(d,o,p,g),Av(d,s,p)}}function aI(o,s,d){var p=Sr(o),g={lane:p,action:d,hasEagerState:!1,eagerState:null,next:null};if(Cv(o))Pv(s,g);else{var x=o.alternate;if(o.lanes===0&&(x===null||x.lanes===0)&&(x=s.lastRenderedReducer,x!==null))try{var C=s.lastRenderedState,O=x(C,d);if(g.hasEagerState=!0,g.eagerState=O,di(O,C)){var j=s.interleaved;j===null?(g.next=g,Yf(s)):(g.next=j.next,j.next=g),s.interleaved=g;return}}catch{}finally{}d=Ky(o,s,g,p),d!==null&&(g=nn(),Zn(d,o,p,g),Av(d,s,p))}}function Cv(o){var s=o.alternate;return o===ft||s!==null&&s===ft}function Pv(o,s){ga=bu=!0;var d=o.pending;d===null?s.next=s:(s.next=d.next,d.next=s),o.pending=s}function Av(o,s,d){if(d&4194240){var p=s.lanes;p&=o.pendingLanes,d|=p,s.lanes=d,Ff(o,d)}}var Iu={readContext:Yn,useCallback:Jt,useContext:Jt,useEffect:Jt,useImperativeHandle:Jt,useInsertionEffect:Jt,useLayoutEffect:Jt,useMemo:Jt,useReducer:Jt,useRef:Jt,useState:Jt,useDebugValue:Jt,useDeferredValue:Jt,useTransition:Jt,useMutableSource:Jt,useSyncExternalStore:Jt,useId:Jt,unstable_isNewReconciler:!1},lI={readContext:Yn,useCallback:function(o,s){return Fi().memoizedState=[o,s===void 0?null:s],o},useContext:Yn,useEffect:yv,useImperativeHandle:function(o,s,d){return d=d!=null?d.concat([o]):null,Ru(4194308,4,Sv.bind(null,s,o),d)},useLayoutEffect:function(o,s){return Ru(4194308,4,o,s)},useInsertionEffect:function(o,s){return Ru(4,2,o,s)},useMemo:function(o,s){var d=Fi();return s=s===void 0?null:s,o=o(),d.memoizedState=[o,s],o},useReducer:function(o,s,d){var p=Fi();return s=d!==void 0?d(s):s,p.memoizedState=p.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},p.queue=o,o=o.dispatch=sI.bind(null,ft,o),[p.memoizedState,o]},useRef:function(o){var s=Fi();return o={current:o},s.memoizedState=o},useState:mv,useDebugValue:ch,useDeferredValue:function(o){return Fi().memoizedState=o},useTransition:function(){var o=mv(!1),s=o[0];return o=oI.bind(null,o[1]),Fi().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,d){var p=ft,g=Fi();if(at){if(d===void 0)throw Error(l(407));d=d()}else{if(d=s(),Wt===null)throw Error(l(349));ro&30||cv(p,s,d)}g.memoizedState=d;var x={value:d,getSnapshot:s};return g.queue=x,yv(fv.bind(null,p,x,o),[o]),p.flags|=2048,xa(9,dv.bind(null,p,x,d,s),void 0,null),d},useId:function(){var o=Fi(),s=Wt.identifierPrefix;if(at){var d=Qi,p=$i;d=(p&~(1<<32-ci(p)-1)).toString(32)+d,s=":"+s+"R"+d,d=ya++,0<d&&(s+="H"+d.toString(32)),s+=":"}else d=rI++,s=":"+s+"r"+d.toString(32)+":";return o.memoizedState=s},unstable_isNewReconciler:!1},uI={readContext:Yn,useCallback:bv,useContext:Yn,useEffect:uh,useImperativeHandle:wv,useInsertionEffect:vv,useLayoutEffect:xv,useMemo:Rv,useReducer:ah,useRef:gv,useState:function(){return ah(va)},useDebugValue:ch,useDeferredValue:function(o){var s=Xn();return Ev(s,Ft.memoizedState,o)},useTransition:function(){var o=ah(va)[0],s=Xn().memoizedState;return[o,s]},useMutableSource:lv,useSyncExternalStore:uv,useId:Iv,unstable_isNewReconciler:!1},cI={readContext:Yn,useCallback:bv,useContext:Yn,useEffect:uh,useImperativeHandle:wv,useInsertionEffect:vv,useLayoutEffect:xv,useMemo:Rv,useReducer:lh,useRef:gv,useState:function(){return lh(va)},useDebugValue:ch,useDeferredValue:function(o){var s=Xn();return Ft===null?s.memoizedState=o:Ev(s,Ft.memoizedState,o)},useTransition:function(){var o=lh(va)[0],s=Xn().memoizedState;return[o,s]},useMutableSource:lv,useSyncExternalStore:uv,useId:Iv,unstable_isNewReconciler:!1};function ss(o,s){try{var d="",p=s;do d+=iI(p),p=p.return;while(p);var g=d}catch(x){g=`
5
+ `+g[C].replace(" at new "," at ");return o.displayName&&j.includes("<anonymous>")&&(j=j.replace("<anonymous>",o.displayName)),j}while(1<=C&&0<=O);break}}}finally{Of=!1,Error.prepareStackTrace=d}return(o=o?o.displayName||o.name:"")?ca(o):""}var HE=Object.prototype.hasOwnProperty,Lf=[],Zo=-1;function pr(o){return{current:o}}function it(o){0>Zo||(o.current=Lf[Zo],Lf[Zo]=null,Zo--)}function Je(o,a){Zo++,Lf[Zo]=o.current,o.current=a}var mr={},Zt=pr(mr),wn=pr(!1),no=mr;function Jo(o,a){var d=o.type.contextTypes;if(!d)return mr;var h=o.stateNode;if(h&&h.__reactInternalMemoizedUnmaskedChildContext===a)return h.__reactInternalMemoizedMaskedChildContext;var g={},x;for(x in d)g[x]=a[x];return h&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=a,o.__reactInternalMemoizedMaskedChildContext=g),g}function bn(o){return o=o.childContextTypes,o!=null}function ru(){it(wn),it(Zt)}function By(o,a,d){if(Zt.current!==mr)throw Error(l(168));Je(Zt,a),Je(wn,d)}function Vy(o,a,d){var h=o.stateNode;if(a=a.childContextTypes,typeof h.getChildContext!="function")return d;h=h.getChildContext();for(var g in h)if(!(g in a))throw Error(l(108,H(o)||"Unknown",g));return s({},d,h)}function ou(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||mr,no=Zt.current,Je(Zt,o),Je(wn,wn.current),!0}function jy(o,a,d){var h=o.stateNode;if(!h)throw Error(l(169));d?(o=Vy(o,a,no),h.__reactInternalMemoizedMergedChildContext=o,it(wn),it(Zt),Je(Zt,o)):it(wn),Je(wn,d)}var di=Math.clz32?Math.clz32:qE,WE=Math.log,UE=Math.LN2;function qE(o){return o>>>=0,o===0?32:31-(WE(o)/UE|0)|0}var su=64,au=4194304;function da(o){switch(o&-o){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return o&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return o&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return o}}function lu(o,a){var d=o.pendingLanes;if(d===0)return 0;var h=0,g=o.suspendedLanes,x=o.pingedLanes,C=d&268435455;if(C!==0){var O=C&~g;O!==0?h=da(O):(x&=C,x!==0&&(h=da(x)))}else C=d&~g,C!==0?h=da(C):x!==0&&(h=da(x));if(h===0)return 0;if(a!==0&&a!==h&&!(a&g)&&(g=h&-h,x=a&-a,g>=x||g===16&&(x&4194240)!==0))return a;if(h&4&&(h|=d&16),a=o.entangledLanes,a!==0)for(o=o.entanglements,a&=h;0<a;)d=31-di(a),g=1<<d,h|=o[d],a&=~g;return h}function GE(o,a){switch(o){case 1:case 2:case 4:return a+250;case 8:case 16:case 32:case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return a+5e3;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return-1;case 134217728:case 268435456:case 536870912:case 1073741824:return-1;default:return-1}}function $E(o,a){for(var d=o.suspendedLanes,h=o.pingedLanes,g=o.expirationTimes,x=o.pendingLanes;0<x;){var C=31-di(x),O=1<<C,j=g[C];j===-1?(!(O&d)||O&h)&&(g[C]=GE(O,a)):j<=a&&(o.expiredLanes|=O),x&=~O}}function Ff(o){return o=o.pendingLanes&-1073741825,o!==0?o:o&1073741824?1073741824:0}function Hy(){var o=su;return su<<=1,!(su&4194240)&&(su=64),o}function Nf(o){for(var a=[],d=0;31>d;d++)a.push(o);return a}function fa(o,a,d){o.pendingLanes|=a,a!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,a=31-di(a),o[a]=d}function QE(o,a){var d=o.pendingLanes&~a;o.pendingLanes=a,o.suspendedLanes=0,o.pingedLanes=0,o.expiredLanes&=a,o.mutableReadLanes&=a,o.entangledLanes&=a,a=o.entanglements;var h=o.eventTimes;for(o=o.expirationTimes;0<d;){var g=31-di(d),x=1<<g;a[g]=0,h[g]=-1,o[g]=-1,d&=~x}}function zf(o,a){var d=o.entangledLanes|=a;for(o=o.entanglements;d;){var h=31-di(d),g=1<<h;g&a|o[h]&a&&(o[h]|=a),d&=~g}}var He=0;function Wy(o){return o&=-o,1<o?4<o?o&268435455?16:536870912:4:1}var Df=r.unstable_scheduleCallback,Uy=r.unstable_cancelCallback,YE=r.unstable_shouldYield,KE=r.unstable_requestPaint,Ht=r.unstable_now,Bf=r.unstable_ImmediatePriority,XE=r.unstable_UserBlockingPriority,Vf=r.unstable_NormalPriority,ZE=r.unstable_IdlePriority,uu=null,Oi=null;function JE(o){if(Oi&&typeof Oi.onCommitFiberRoot=="function")try{Oi.onCommitFiberRoot(uu,o,void 0,(o.current.flags&128)===128)}catch{}}function eI(o,a){return o===a&&(o!==0||1/o===1/a)||o!==o&&a!==a}var fi=typeof Object.is=="function"?Object.is:eI,$i=null,cu=!1,jf=!1;function qy(o){$i===null?$i=[o]:$i.push(o)}function tI(o){cu=!0,qy(o)}function ki(){if(!jf&&$i!==null){jf=!0;var o=0,a=He;try{var d=$i;for(He=1;o<d.length;o++){var h=d[o];do h=h(!0);while(h!==null)}$i=null,cu=!1}catch(g){throw $i!==null&&($i=$i.slice(o+1)),Df(Bf,ki),g}finally{He=a,jf=!1}}return null}var es=[],ts=0,du=null,fu=0,$n=[],Qn=0,io=null,Qi=1,Yi="";function ro(o,a){es[ts++]=fu,es[ts++]=du,du=o,fu=a}function Gy(o,a,d){$n[Qn++]=Qi,$n[Qn++]=Yi,$n[Qn++]=io,io=o;var h=Qi;o=Yi;var g=32-di(h)-1;h&=~(1<<g),d+=1;var x=32-di(a)+g;if(30<x){var C=g-g%5;x=(h&(1<<C)-1).toString(32),h>>=C,g-=C,Qi=1<<32-di(a)+g|d<<g|h,Yi=x+o}else Qi=1<<x|d<<g|h,Yi=o}function Hf(o){o.return!==null&&(ro(o,1),Gy(o,1,0))}function Wf(o){for(;o===du;)du=es[--ts],es[ts]=null,fu=es[--ts],es[ts]=null;for(;o===io;)io=$n[--Qn],$n[Qn]=null,Yi=$n[--Qn],$n[Qn]=null,Qi=$n[--Qn],$n[Qn]=null}var Ln=null,Yn=null,at=!1,ha=!1,hi=null;function $y(o,a){var d=ei(5,null,null,0);d.elementType="DELETED",d.stateNode=a,d.return=o,a=o.deletions,a===null?(o.deletions=[d],o.flags|=16):a.push(d)}function Qy(o,a){switch(o.tag){case 5:return a=nu(a,o.type,o.pendingProps),a!==null?(o.stateNode=a,Ln=o,Yn=AE(a),!0):!1;case 6:return a=EE(a,o.pendingProps),a!==null?(o.stateNode=a,Ln=o,Yn=null,!0):!1;case 13:if(a=IE(a),a!==null){var d=io!==null?{id:Qi,overflow:Yi}:null;return o.memoizedState={dehydrated:a,treeContext:d,retryLane:1073741824},d=ei(18,null,null,0),d.stateNode=a,d.return=o,o.child=d,Ln=o,Yn=null,!0}return!1;default:return!1}}function Uf(o){return(o.mode&1)!==0&&(o.flags&128)===0}function qf(o){if(at){var a=Yn;if(a){var d=a;if(!Qy(o,a)){if(Uf(o))throw Error(l(418));a=iu(d);var h=Ln;a&&Qy(o,a)?$y(h,d):(o.flags=o.flags&-4097|2,at=!1,Ln=o)}}else{if(Uf(o))throw Error(l(418));o.flags=o.flags&-4097|2,at=!1,Ln=o}}}function Yy(o){for(o=o.return;o!==null&&o.tag!==5&&o.tag!==3&&o.tag!==13;)o=o.return;Ln=o}function hu(o){if(!ae||o!==Ln)return!1;if(!at)return Yy(o),at=!0,!1;if(o.tag!==3&&(o.tag!==5||BE(o.type)&&!Qe(o.type,o.memoizedProps))){var a=Yn;if(a){if(Uf(o))throw Ky(),Error(l(418));for(;a;)$y(o,a),a=iu(a)}}if(Yy(o),o.tag===13){if(!ae)throw Error(l(316));if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(l(317));Yn=LE(o)}else Yn=Ln?iu(o.stateNode):null;return!0}function Ky(){for(var o=Yn;o;)o=iu(o)}function ns(){ae&&(Yn=Ln=null,ha=at=!1)}function Gf(o){hi===null?hi=[o]:hi.push(o)}var nI=u.ReactCurrentBatchConfig;function pu(o,a){if(fi(o,a))return!0;if(typeof o!="object"||o===null||typeof a!="object"||a===null)return!1;var d=Object.keys(o),h=Object.keys(a);if(d.length!==h.length)return!1;for(h=0;h<d.length;h++){var g=d[h];if(!HE.call(a,g)||!fi(o[g],a[g]))return!1}return!0}function iI(o){switch(o.tag){case 5:return ca(o.type);case 16:return ca("Lazy");case 13:return ca("Suspense");case 19:return ca("SuspenseList");case 0:case 2:case 15:return o=kf(o.type,!1),o;case 11:return o=kf(o.type.render,!1),o;case 1:return o=kf(o.type,!0),o;default:return""}}function pi(o,a){if(o&&o.defaultProps){a=s({},a),o=o.defaultProps;for(var d in o)a[d]===void 0&&(a[d]=o[d]);return a}return a}var mu=pr(null),gu=null,is=null,$f=null;function Qf(){$f=is=gu=null}function Xy(o,a,d){Pt?(Je(mu,a._currentValue),a._currentValue=d):(Je(mu,a._currentValue2),a._currentValue2=d)}function Yf(o){var a=mu.current;it(mu),Pt?o._currentValue=a:o._currentValue2=a}function Kf(o,a,d){for(;o!==null;){var h=o.alternate;if((o.childLanes&a)!==a?(o.childLanes|=a,h!==null&&(h.childLanes|=a)):h!==null&&(h.childLanes&a)!==a&&(h.childLanes|=a),o===d)break;o=o.return}}function rs(o,a){gu=o,$f=is=null,o=o.dependencies,o!==null&&o.firstContext!==null&&(o.lanes&a&&(Rn=!0),o.firstContext=null)}function Kn(o){var a=Pt?o._currentValue:o._currentValue2;if($f!==o)if(o={context:o,memoizedValue:a,next:null},is===null){if(gu===null)throw Error(l(308));is=o,gu.dependencies={lanes:0,firstContext:o}}else is=is.next=o;return a}var oo=null;function Xf(o){oo===null?oo=[o]:oo.push(o)}function Zy(o,a,d,h){var g=a.interleaved;return g===null?(d.next=d,Xf(a)):(d.next=g.next,g.next=d),a.interleaved=d,Li(o,h)}function Li(o,a){o.lanes|=a;var d=o.alternate;for(d!==null&&(d.lanes|=a),d=o,o=o.return;o!==null;)o.childLanes|=a,d=o.alternate,d!==null&&(d.childLanes|=a),d=o,o=o.return;return d.tag===3?d.stateNode:null}var gr=!1;function Zf(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Jy(o,a){o=o.updateQueue,a.updateQueue===o&&(a.updateQueue={baseState:o.baseState,firstBaseUpdate:o.firstBaseUpdate,lastBaseUpdate:o.lastBaseUpdate,shared:o.shared,effects:o.effects})}function Ki(o,a){return{eventTime:o,lane:a,tag:0,payload:null,callback:null,next:null}}function yr(o,a,d){var h=o.updateQueue;if(h===null)return null;if(h=h.shared,Fe&2){var g=h.pending;return g===null?a.next=a:(a.next=g.next,g.next=a),h.pending=a,Li(o,d)}return g=h.interleaved,g===null?(a.next=a,Xf(h)):(a.next=g.next,g.next=a),h.interleaved=a,Li(o,d)}function yu(o,a,d){if(a=a.updateQueue,a!==null&&(a=a.shared,(d&4194240)!==0)){var h=a.lanes;h&=o.pendingLanes,d|=h,a.lanes=d,zf(o,d)}}function ev(o,a){var d=o.updateQueue,h=o.alternate;if(h!==null&&(h=h.updateQueue,d===h)){var g=null,x=null;if(d=d.firstBaseUpdate,d!==null){do{var C={eventTime:d.eventTime,lane:d.lane,tag:d.tag,payload:d.payload,callback:d.callback,next:null};x===null?g=x=C:x=x.next=C,d=d.next}while(d!==null);x===null?g=x=a:x=x.next=a}else g=x=a;d={baseState:h.baseState,firstBaseUpdate:g,lastBaseUpdate:x,shared:h.shared,effects:h.effects},o.updateQueue=d;return}o=d.lastBaseUpdate,o===null?d.firstBaseUpdate=a:o.next=a,d.lastBaseUpdate=a}function vu(o,a,d,h){var g=o.updateQueue;gr=!1;var x=g.firstBaseUpdate,C=g.lastBaseUpdate,O=g.shared.pending;if(O!==null){g.shared.pending=null;var j=O,ne=j.next;j.next=null,C===null?x=ne:C.next=ne,C=j;var xe=o.alternate;xe!==null&&(xe=xe.updateQueue,O=xe.lastBaseUpdate,O!==C&&(O===null?xe.firstBaseUpdate=ne:O.next=ne,xe.lastBaseUpdate=j))}if(x!==null){var Te=g.baseState;C=0,xe=ne=j=null,O=x;do{var se=O.lane,rt=O.eventTime;if((h&se)===se){xe!==null&&(xe=xe.next={eventTime:rt,lane:0,tag:O.tag,payload:O.payload,callback:O.callback,next:null});e:{var Ke=o,Cn=O;switch(se=a,rt=d,Cn.tag){case 1:if(Ke=Cn.payload,typeof Ke=="function"){Te=Ke.call(rt,Te,se);break e}Te=Ke;break e;case 3:Ke.flags=Ke.flags&-65537|128;case 0:if(Ke=Cn.payload,se=typeof Ke=="function"?Ke.call(rt,Te,se):Ke,se==null)break e;Te=s({},Te,se);break e;case 2:gr=!0}}O.callback!==null&&O.lane!==0&&(o.flags|=64,se=g.effects,se===null?g.effects=[O]:se.push(O))}else rt={eventTime:rt,lane:se,tag:O.tag,payload:O.payload,callback:O.callback,next:null},xe===null?(ne=xe=rt,j=Te):xe=xe.next=rt,C|=se;if(O=O.next,O===null){if(O=g.shared.pending,O===null)break;se=O,O=se.next,se.next=null,g.lastBaseUpdate=se,g.shared.pending=null}}while(!0);if(xe===null&&(j=Te),g.baseState=j,g.firstBaseUpdate=ne,g.lastBaseUpdate=xe,a=g.shared.interleaved,a!==null){g=a;do C|=g.lane,g=g.next;while(g!==a)}else x===null&&(g.shared.lanes=0);ao|=C,o.lanes=C,o.memoizedState=Te}}function tv(o,a,d){if(o=a.effects,a.effects=null,o!==null)for(a=0;a<o.length;a++){var h=o[a],g=h.callback;if(g!==null){if(h.callback=null,h=d,typeof g!="function")throw Error(l(191,g));g.call(h)}}}var nv=new i.Component().refs;function Jf(o,a,d,h){a=o.memoizedState,d=d(h,a),d=d==null?a:s({},a,d),o.memoizedState=d,o.lanes===0&&(o.updateQueue.baseState=d)}var xu={isMounted:function(o){return(o=o._reactInternals)?Z(o)===o:!1},enqueueSetState:function(o,a,d){o=o._reactInternals;var h=nn(),g=Sr(o),x=Ki(h,g);x.payload=a,d!=null&&(x.callback=d),a=yr(o,x,g),a!==null&&(Jn(a,o,g,h),yu(a,o,g))},enqueueReplaceState:function(o,a,d){o=o._reactInternals;var h=nn(),g=Sr(o),x=Ki(h,g);x.tag=1,x.payload=a,d!=null&&(x.callback=d),a=yr(o,x,g),a!==null&&(Jn(a,o,g,h),yu(a,o,g))},enqueueForceUpdate:function(o,a){o=o._reactInternals;var d=nn(),h=Sr(o),g=Ki(d,h);g.tag=2,a!=null&&(g.callback=a),a=yr(o,g,h),a!==null&&(Jn(a,o,h,d),yu(a,o,h))}};function iv(o,a,d,h,g,x,C){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(h,x,C):a.prototype&&a.prototype.isPureReactComponent?!pu(d,h)||!pu(g,x):!0}function rv(o,a,d){var h=!1,g=mr,x=a.contextType;return typeof x=="object"&&x!==null?x=Kn(x):(g=bn(a)?no:Zt.current,h=a.contextTypes,x=(h=h!=null)?Jo(o,g):mr),a=new a(d,x),o.memoizedState=a.state!==null&&a.state!==void 0?a.state:null,a.updater=xu,o.stateNode=a,a._reactInternals=o,h&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=g,o.__reactInternalMemoizedMaskedChildContext=x),a}function ov(o,a,d,h){o=a.state,typeof a.componentWillReceiveProps=="function"&&a.componentWillReceiveProps(d,h),typeof a.UNSAFE_componentWillReceiveProps=="function"&&a.UNSAFE_componentWillReceiveProps(d,h),a.state!==o&&xu.enqueueReplaceState(a,a.state,null)}function eh(o,a,d,h){var g=o.stateNode;g.props=d,g.state=o.memoizedState,g.refs=nv,Zf(o);var x=a.contextType;typeof x=="object"&&x!==null?g.context=Kn(x):(x=bn(a)?no:Zt.current,g.context=Jo(o,x)),g.state=o.memoizedState,x=a.getDerivedStateFromProps,typeof x=="function"&&(Jf(o,a,x,d),g.state=o.memoizedState),typeof a.getDerivedStateFromProps=="function"||typeof g.getSnapshotBeforeUpdate=="function"||typeof g.UNSAFE_componentWillMount!="function"&&typeof g.componentWillMount!="function"||(a=g.state,typeof g.componentWillMount=="function"&&g.componentWillMount(),typeof g.UNSAFE_componentWillMount=="function"&&g.UNSAFE_componentWillMount(),a!==g.state&&xu.enqueueReplaceState(g,g.state,null),vu(o,d,g,h),g.state=o.memoizedState),typeof g.componentDidMount=="function"&&(o.flags|=4194308)}function pa(o,a,d){if(o=d.ref,o!==null&&typeof o!="function"&&typeof o!="object"){if(d._owner){if(d=d._owner,d){if(d.tag!==1)throw Error(l(309));var h=d.stateNode}if(!h)throw Error(l(147,o));var g=h,x=""+o;return a!==null&&a.ref!==null&&typeof a.ref=="function"&&a.ref._stringRef===x?a.ref:(a=function(C){var O=g.refs;O===nv&&(O=g.refs={}),C===null?delete O[x]:O[x]=C},a._stringRef=x,a)}if(typeof o!="string")throw Error(l(284));if(!d._owner)throw Error(l(290,o))}return o}function Su(o,a){throw o=Object.prototype.toString.call(a),Error(l(31,o==="[object Object]"?"object with keys {"+Object.keys(a).join(", ")+"}":o))}function sv(o){var a=o._init;return a(o._payload)}function av(o){function a(z,L){if(o){var q=z.deletions;q===null?(z.deletions=[L],z.flags|=16):q.push(L)}}function d(z,L){if(!o)return null;for(;L!==null;)a(z,L),L=L.sibling;return null}function h(z,L){for(z=new Map;L!==null;)L.key!==null?z.set(L.key,L):z.set(L.index,L),L=L.sibling;return z}function g(z,L){return z=br(z,L),z.index=0,z.sibling=null,z}function x(z,L,q){return z.index=q,o?(q=z.alternate,q!==null?(q=q.index,q<L?(z.flags|=2,L):q):(z.flags|=2,L)):(z.flags|=1048576,L)}function C(z){return o&&z.alternate===null&&(z.flags|=2),z}function O(z,L,q,ue){return L===null||L.tag!==6?(L=jh(q,z.mode,ue),L.return=z,L):(L=g(L,q),L.return=z,L)}function j(z,L,q,ue){var Ee=q.type;return Ee===c?xe(z,L,q.props.children,ue,q.key):L!==null&&(L.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===I&&sv(Ee)===L.type)?(ue=g(L,q.props),ue.ref=pa(z,L,q),ue.return=z,ue):(ue=Gu(q.type,q.key,q.props,null,z.mode,ue),ue.ref=pa(z,L,q),ue.return=z,ue)}function ne(z,L,q,ue){return L===null||L.tag!==4||L.stateNode.containerInfo!==q.containerInfo||L.stateNode.implementation!==q.implementation?(L=Hh(q,z.mode,ue),L.return=z,L):(L=g(L,q.children||[]),L.return=z,L)}function xe(z,L,q,ue,Ee){return L===null||L.tag!==7?(L=fo(q,z.mode,ue,Ee),L.return=z,L):(L=g(L,q),L.return=z,L)}function Te(z,L,q){if(typeof L=="string"&&L!==""||typeof L=="number")return L=jh(""+L,z.mode,q),L.return=z,L;if(typeof L=="object"&&L!==null){switch(L.$$typeof){case f:return q=Gu(L.type,L.key,L.props,null,z.mode,q),q.ref=pa(z,null,L),q.return=z,q;case p:return L=Hh(L,z.mode,q),L.return=z,L;case I:var ue=L._init;return Te(z,ue(L._payload),q)}if(te(L)||_(L))return L=fo(L,z.mode,q,null),L.return=z,L;Su(z,L)}return null}function se(z,L,q,ue){var Ee=L!==null?L.key:null;if(typeof q=="string"&&q!==""||typeof q=="number")return Ee!==null?null:O(z,L,""+q,ue);if(typeof q=="object"&&q!==null){switch(q.$$typeof){case f:return q.key===Ee?j(z,L,q,ue):null;case p:return q.key===Ee?ne(z,L,q,ue):null;case I:return Ee=q._init,se(z,L,Ee(q._payload),ue)}if(te(q)||_(q))return Ee!==null?null:xe(z,L,q,ue,null);Su(z,q)}return null}function rt(z,L,q,ue,Ee){if(typeof ue=="string"&&ue!==""||typeof ue=="number")return z=z.get(q)||null,O(L,z,""+ue,Ee);if(typeof ue=="object"&&ue!==null){switch(ue.$$typeof){case f:return z=z.get(ue.key===null?q:ue.key)||null,j(L,z,ue,Ee);case p:return z=z.get(ue.key===null?q:ue.key)||null,ne(L,z,ue,Ee);case I:var Oe=ue._init;return rt(z,L,q,Oe(ue._payload),Ee)}if(te(ue)||_(ue))return z=z.get(q)||null,xe(L,z,ue,Ee,null);Su(L,ue)}return null}function Ke(z,L,q,ue){for(var Ee=null,Oe=null,Me=L,We=L=0,qt=null;Me!==null&&We<q.length;We++){Me.index>We?(qt=Me,Me=null):qt=Me.sibling;var Ue=se(z,Me,q[We],ue);if(Ue===null){Me===null&&(Me=qt);break}o&&Me&&Ue.alternate===null&&a(z,Me),L=x(Ue,L,We),Oe===null?Ee=Ue:Oe.sibling=Ue,Oe=Ue,Me=qt}if(We===q.length)return d(z,Me),at&&ro(z,We),Ee;if(Me===null){for(;We<q.length;We++)Me=Te(z,q[We],ue),Me!==null&&(L=x(Me,L,We),Oe===null?Ee=Me:Oe.sibling=Me,Oe=Me);return at&&ro(z,We),Ee}for(Me=h(z,Me);We<q.length;We++)qt=rt(Me,z,We,q[We],ue),qt!==null&&(o&&qt.alternate!==null&&Me.delete(qt.key===null?We:qt.key),L=x(qt,L,We),Oe===null?Ee=qt:Oe.sibling=qt,Oe=qt);return o&&Me.forEach(function(Rr){return a(z,Rr)}),at&&ro(z,We),Ee}function Cn(z,L,q,ue){var Ee=_(q);if(typeof Ee!="function")throw Error(l(150));if(q=Ee.call(q),q==null)throw Error(l(151));for(var Oe=Ee=null,Me=L,We=L=0,qt=null,Ue=q.next();Me!==null&&!Ue.done;We++,Ue=q.next()){Me.index>We?(qt=Me,Me=null):qt=Me.sibling;var Rr=se(z,Me,Ue.value,ue);if(Rr===null){Me===null&&(Me=qt);break}o&&Me&&Rr.alternate===null&&a(z,Me),L=x(Rr,L,We),Oe===null?Ee=Rr:Oe.sibling=Rr,Oe=Rr,Me=qt}if(Ue.done)return d(z,Me),at&&ro(z,We),Ee;if(Me===null){for(;!Ue.done;We++,Ue=q.next())Ue=Te(z,Ue.value,ue),Ue!==null&&(L=x(Ue,L,We),Oe===null?Ee=Ue:Oe.sibling=Ue,Oe=Ue);return at&&ro(z,We),Ee}for(Me=h(z,Me);!Ue.done;We++,Ue=q.next())Ue=rt(Me,z,We,Ue.value,ue),Ue!==null&&(o&&Ue.alternate!==null&&Me.delete(Ue.key===null?We:Ue.key),L=x(Ue,L,We),Oe===null?Ee=Ue:Oe.sibling=Ue,Oe=Ue);return o&&Me.forEach(function(kI){return a(z,kI)}),at&&ro(z,We),Ee}function Ji(z,L,q,ue){if(typeof q=="object"&&q!==null&&q.type===c&&q.key===null&&(q=q.props.children),typeof q=="object"&&q!==null){switch(q.$$typeof){case f:e:{for(var Ee=q.key,Oe=L;Oe!==null;){if(Oe.key===Ee){if(Ee=q.type,Ee===c){if(Oe.tag===7){d(z,Oe.sibling),L=g(Oe,q.props.children),L.return=z,z=L;break e}}else if(Oe.elementType===Ee||typeof Ee=="object"&&Ee!==null&&Ee.$$typeof===I&&sv(Ee)===Oe.type){d(z,Oe.sibling),L=g(Oe,q.props),L.ref=pa(z,Oe,q),L.return=z,z=L;break e}d(z,Oe);break}else a(z,Oe);Oe=Oe.sibling}q.type===c?(L=fo(q.props.children,z.mode,ue,q.key),L.return=z,z=L):(ue=Gu(q.type,q.key,q.props,null,z.mode,ue),ue.ref=pa(z,L,q),ue.return=z,z=ue)}return C(z);case p:e:{for(Oe=q.key;L!==null;){if(L.key===Oe)if(L.tag===4&&L.stateNode.containerInfo===q.containerInfo&&L.stateNode.implementation===q.implementation){d(z,L.sibling),L=g(L,q.children||[]),L.return=z,z=L;break e}else{d(z,L);break}else a(z,L);L=L.sibling}L=Hh(q,z.mode,ue),L.return=z,z=L}return C(z);case I:return Oe=q._init,Ji(z,L,Oe(q._payload),ue)}if(te(q))return Ke(z,L,q,ue);if(_(q))return Cn(z,L,q,ue);Su(z,q)}return typeof q=="string"&&q!==""||typeof q=="number"?(q=""+q,L!==null&&L.tag===6?(d(z,L.sibling),L=g(L,q),L.return=z,z=L):(d(z,L),L=jh(q,z.mode,ue),L.return=z,z=L),C(z)):d(z,L)}return Ji}var os=av(!0),lv=av(!1),ma={},Xn=pr(ma),ga=pr(ma),ss=pr(ma);function Fi(o){if(o===ma)throw Error(l(174));return o}function th(o,a){Je(ss,a),Je(ga,o),Je(Xn,ma),o=Re(a),it(Xn),Je(Xn,o)}function as(){it(Xn),it(ga),it(ss)}function uv(o){var a=Fi(ss.current),d=Fi(Xn.current);a=de(d,o.type,a),d!==a&&(Je(ga,o),Je(Xn,a))}function nh(o){ga.current===o&&(it(Xn),it(ga))}var dt=pr(0);function wu(o){for(var a=o;a!==null;){if(a.tag===13){var d=a.memoizedState;if(d!==null&&(d=d.dehydrated,d===null||Dy(d)||Mf(d)))return a}else if(a.tag===19&&a.memoizedProps.revealOrder!==void 0){if(a.flags&128)return a}else if(a.child!==null){a.child.return=a,a=a.child;continue}if(a===o)break;for(;a.sibling===null;){if(a.return===null||a.return===o)return null;a=a.return}a.sibling.return=a.return,a=a.sibling}return null}var ih=[];function rh(){for(var o=0;o<ih.length;o++){var a=ih[o];Pt?a._workInProgressVersionPrimary=null:a._workInProgressVersionSecondary=null}ih.length=0}var bu=u.ReactCurrentDispatcher,oh=u.ReactCurrentBatchConfig,so=0,ft=null,Nt=null,Wt=null,Ru=!1,ya=!1,va=0,rI=0;function Jt(){throw Error(l(321))}function sh(o,a){if(a===null)return!1;for(var d=0;d<a.length&&d<o.length;d++)if(!fi(o[d],a[d]))return!1;return!0}function ah(o,a,d,h,g,x){if(so=x,ft=a,a.memoizedState=null,a.updateQueue=null,a.lanes=0,bu.current=o===null||o.memoizedState===null?lI:uI,o=d(h,g),ya){x=0;do{if(ya=!1,va=0,25<=x)throw Error(l(301));x+=1,Wt=Nt=null,a.updateQueue=null,bu.current=cI,o=d(h,g)}while(ya)}if(bu.current=Cu,a=Nt!==null&&Nt.next!==null,so=0,Wt=Nt=ft=null,Ru=!1,a)throw Error(l(300));return o}function lh(){var o=va!==0;return va=0,o}function Ni(){var o={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return Wt===null?ft.memoizedState=Wt=o:Wt=Wt.next=o,Wt}function Zn(){if(Nt===null){var o=ft.alternate;o=o!==null?o.memoizedState:null}else o=Nt.next;var a=Wt===null?ft.memoizedState:Wt.next;if(a!==null)Wt=a,Nt=o;else{if(o===null)throw Error(l(310));Nt=o,o={memoizedState:Nt.memoizedState,baseState:Nt.baseState,baseQueue:Nt.baseQueue,queue:Nt.queue,next:null},Wt===null?ft.memoizedState=Wt=o:Wt=Wt.next=o}return Wt}function xa(o,a){return typeof a=="function"?a(o):a}function uh(o){var a=Zn(),d=a.queue;if(d===null)throw Error(l(311));d.lastRenderedReducer=o;var h=Nt,g=h.baseQueue,x=d.pending;if(x!==null){if(g!==null){var C=g.next;g.next=x.next,x.next=C}h.baseQueue=g=x,d.pending=null}if(g!==null){x=g.next,h=h.baseState;var O=C=null,j=null,ne=x;do{var xe=ne.lane;if((so&xe)===xe)j!==null&&(j=j.next={lane:0,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null}),h=ne.hasEagerState?ne.eagerState:o(h,ne.action);else{var Te={lane:xe,action:ne.action,hasEagerState:ne.hasEagerState,eagerState:ne.eagerState,next:null};j===null?(O=j=Te,C=h):j=j.next=Te,ft.lanes|=xe,ao|=xe}ne=ne.next}while(ne!==null&&ne!==x);j===null?C=h:j.next=O,fi(h,a.memoizedState)||(Rn=!0),a.memoizedState=h,a.baseState=C,a.baseQueue=j,d.lastRenderedState=h}if(o=d.interleaved,o!==null){g=o;do x=g.lane,ft.lanes|=x,ao|=x,g=g.next;while(g!==o)}else g===null&&(d.lanes=0);return[a.memoizedState,d.dispatch]}function ch(o){var a=Zn(),d=a.queue;if(d===null)throw Error(l(311));d.lastRenderedReducer=o;var h=d.dispatch,g=d.pending,x=a.memoizedState;if(g!==null){d.pending=null;var C=g=g.next;do x=o(x,C.action),C=C.next;while(C!==g);fi(x,a.memoizedState)||(Rn=!0),a.memoizedState=x,a.baseQueue===null&&(a.baseState=x),d.lastRenderedState=x}return[x,h]}function cv(){}function dv(o,a){var d=ft,h=Zn(),g=a(),x=!fi(h.memoizedState,g);if(x&&(h.memoizedState=g,Rn=!0),h=h.queue,dh(pv.bind(null,d,h,o),[o]),h.getSnapshot!==a||x||Wt!==null&&Wt.memoizedState.tag&1){if(d.flags|=2048,Sa(9,hv.bind(null,d,h,g,a),void 0,null),Ut===null)throw Error(l(349));so&30||fv(d,a,g)}return g}function fv(o,a,d){o.flags|=16384,o={getSnapshot:a,value:d},a=ft.updateQueue,a===null?(a={lastEffect:null,stores:null},ft.updateQueue=a,a.stores=[o]):(d=a.stores,d===null?a.stores=[o]:d.push(o))}function hv(o,a,d,h){a.value=d,a.getSnapshot=h,mv(a)&&gv(o)}function pv(o,a,d){return d(function(){mv(a)&&gv(o)})}function mv(o){var a=o.getSnapshot;o=o.value;try{var d=a();return!fi(o,d)}catch{return!0}}function gv(o){var a=Li(o,1);a!==null&&Jn(a,o,1,-1)}function yv(o){var a=Ni();return typeof o=="function"&&(o=o()),a.memoizedState=a.baseState=o,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:xa,lastRenderedState:o},a.queue=o,o=o.dispatch=aI.bind(null,ft,o),[a.memoizedState,o]}function Sa(o,a,d,h){return o={tag:o,create:a,destroy:d,deps:h,next:null},a=ft.updateQueue,a===null?(a={lastEffect:null,stores:null},ft.updateQueue=a,a.lastEffect=o.next=o):(d=a.lastEffect,d===null?a.lastEffect=o.next=o:(h=d.next,d.next=o,o.next=h,a.lastEffect=o)),o}function vv(){return Zn().memoizedState}function Eu(o,a,d,h){var g=Ni();ft.flags|=o,g.memoizedState=Sa(1|a,d,void 0,h===void 0?null:h)}function Iu(o,a,d,h){var g=Zn();h=h===void 0?null:h;var x=void 0;if(Nt!==null){var C=Nt.memoizedState;if(x=C.destroy,h!==null&&sh(h,C.deps)){g.memoizedState=Sa(a,d,x,h);return}}ft.flags|=o,g.memoizedState=Sa(1|a,d,x,h)}function xv(o,a){return Eu(8390656,8,o,a)}function dh(o,a){return Iu(2048,8,o,a)}function Sv(o,a){return Iu(4,2,o,a)}function wv(o,a){return Iu(4,4,o,a)}function bv(o,a){if(typeof a=="function")return o=o(),a(o),function(){a(null)};if(a!=null)return o=o(),a.current=o,function(){a.current=null}}function Rv(o,a,d){return d=d!=null?d.concat([o]):null,Iu(4,4,bv.bind(null,a,o),d)}function fh(){}function Ev(o,a){var d=Zn();a=a===void 0?null:a;var h=d.memoizedState;return h!==null&&a!==null&&sh(a,h[1])?h[0]:(d.memoizedState=[o,a],o)}function Iv(o,a){var d=Zn();a=a===void 0?null:a;var h=d.memoizedState;return h!==null&&a!==null&&sh(a,h[1])?h[0]:(o=o(),d.memoizedState=[o,a],o)}function Cv(o,a,d){return so&21?(fi(d,a)||(d=Hy(),ft.lanes|=d,ao|=d,o.baseState=!0),a):(o.baseState&&(o.baseState=!1,Rn=!0),o.memoizedState=d)}function oI(o,a){var d=He;He=d!==0&&4>d?d:4,o(!0);var h=oh.transition;oh.transition={};try{o(!1),a()}finally{He=d,oh.transition=h}}function Pv(){return Zn().memoizedState}function sI(o,a,d){var h=Sr(o);if(d={lane:h,action:d,hasEagerState:!1,eagerState:null,next:null},Av(o))Tv(a,d);else if(d=Zy(o,a,d,h),d!==null){var g=nn();Jn(d,o,h,g),Mv(d,a,h)}}function aI(o,a,d){var h=Sr(o),g={lane:h,action:d,hasEagerState:!1,eagerState:null,next:null};if(Av(o))Tv(a,g);else{var x=o.alternate;if(o.lanes===0&&(x===null||x.lanes===0)&&(x=a.lastRenderedReducer,x!==null))try{var C=a.lastRenderedState,O=x(C,d);if(g.hasEagerState=!0,g.eagerState=O,fi(O,C)){var j=a.interleaved;j===null?(g.next=g,Xf(a)):(g.next=j.next,j.next=g),a.interleaved=g;return}}catch{}finally{}d=Zy(o,a,g,h),d!==null&&(g=nn(),Jn(d,o,h,g),Mv(d,a,h))}}function Av(o){var a=o.alternate;return o===ft||a!==null&&a===ft}function Tv(o,a){ya=Ru=!0;var d=o.pending;d===null?a.next=a:(a.next=d.next,d.next=a),o.pending=a}function Mv(o,a,d){if(d&4194240){var h=a.lanes;h&=o.pendingLanes,d|=h,a.lanes=d,zf(o,d)}}var Cu={readContext:Kn,useCallback:Jt,useContext:Jt,useEffect:Jt,useImperativeHandle:Jt,useInsertionEffect:Jt,useLayoutEffect:Jt,useMemo:Jt,useReducer:Jt,useRef:Jt,useState:Jt,useDebugValue:Jt,useDeferredValue:Jt,useTransition:Jt,useMutableSource:Jt,useSyncExternalStore:Jt,useId:Jt,unstable_isNewReconciler:!1},lI={readContext:Kn,useCallback:function(o,a){return Ni().memoizedState=[o,a===void 0?null:a],o},useContext:Kn,useEffect:xv,useImperativeHandle:function(o,a,d){return d=d!=null?d.concat([o]):null,Eu(4194308,4,bv.bind(null,a,o),d)},useLayoutEffect:function(o,a){return Eu(4194308,4,o,a)},useInsertionEffect:function(o,a){return Eu(4,2,o,a)},useMemo:function(o,a){var d=Ni();return a=a===void 0?null:a,o=o(),d.memoizedState=[o,a],o},useReducer:function(o,a,d){var h=Ni();return a=d!==void 0?d(a):a,h.memoizedState=h.baseState=a,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:a},h.queue=o,o=o.dispatch=sI.bind(null,ft,o),[h.memoizedState,o]},useRef:function(o){var a=Ni();return o={current:o},a.memoizedState=o},useState:yv,useDebugValue:fh,useDeferredValue:function(o){return Ni().memoizedState=o},useTransition:function(){var o=yv(!1),a=o[0];return o=oI.bind(null,o[1]),Ni().memoizedState=o,[a,o]},useMutableSource:function(){},useSyncExternalStore:function(o,a,d){var h=ft,g=Ni();if(at){if(d===void 0)throw Error(l(407));d=d()}else{if(d=a(),Ut===null)throw Error(l(349));so&30||fv(h,a,d)}g.memoizedState=d;var x={value:d,getSnapshot:a};return g.queue=x,xv(pv.bind(null,h,x,o),[o]),h.flags|=2048,Sa(9,hv.bind(null,h,x,d,a),void 0,null),d},useId:function(){var o=Ni(),a=Ut.identifierPrefix;if(at){var d=Yi,h=Qi;d=(h&~(1<<32-di(h)-1)).toString(32)+d,a=":"+a+"R"+d,d=va++,0<d&&(a+="H"+d.toString(32)),a+=":"}else d=rI++,a=":"+a+"r"+d.toString(32)+":";return o.memoizedState=a},unstable_isNewReconciler:!1},uI={readContext:Kn,useCallback:Ev,useContext:Kn,useEffect:dh,useImperativeHandle:Rv,useInsertionEffect:Sv,useLayoutEffect:wv,useMemo:Iv,useReducer:uh,useRef:vv,useState:function(){return uh(xa)},useDebugValue:fh,useDeferredValue:function(o){var a=Zn();return Cv(a,Nt.memoizedState,o)},useTransition:function(){var o=uh(xa)[0],a=Zn().memoizedState;return[o,a]},useMutableSource:cv,useSyncExternalStore:dv,useId:Pv,unstable_isNewReconciler:!1},cI={readContext:Kn,useCallback:Ev,useContext:Kn,useEffect:dh,useImperativeHandle:Rv,useInsertionEffect:Sv,useLayoutEffect:wv,useMemo:Iv,useReducer:ch,useRef:vv,useState:function(){return ch(xa)},useDebugValue:fh,useDeferredValue:function(o){var a=Zn();return Nt===null?a.memoizedState=o:Cv(a,Nt.memoizedState,o)},useTransition:function(){var o=ch(xa)[0],a=Zn().memoizedState;return[o,a]},useMutableSource:cv,useSyncExternalStore:dv,useId:Pv,unstable_isNewReconciler:!1};function ls(o,a){try{var d="",h=a;do d+=iI(h),h=h.return;while(h);var g=d}catch(x){g=`
6
6
  Error generating stack: `+x.message+`
7
- `+x.stack}return{value:o,source:s,stack:g,digest:null}}function dh(o,s,d){return{value:o,source:null,stack:d??null,digest:s??null}}function fh(o,s){try{console.error(s.value)}catch(d){setTimeout(function(){throw d})}}var dI=typeof WeakMap=="function"?WeakMap:Map;function Tv(o,s,d){d=Yi(-1,d),d.tag=3,d.payload={element:null};var p=s.value;return d.callback=function(){Bu||(Bu=!0,Oh=p),fh(o,s)},d}function Mv(o,s,d){d=Yi(-1,d),d.tag=3;var p=o.type.getDerivedStateFromError;if(typeof p=="function"){var g=s.value;d.payload=function(){return p(g)},d.callback=function(){fh(o,s)}}var x=o.stateNode;return x!==null&&typeof x.componentDidCatch=="function"&&(d.callback=function(){fh(o,s),typeof p!="function"&&(vr===null?vr=new Set([this]):vr.add(this));var C=s.stack;this.componentDidCatch(s.value,{componentStack:C!==null?C:""})}),d}function _v(o,s,d){var p=o.pingCache;if(p===null){p=o.pingCache=new dI;var g=new Set;p.set(s,g)}else g=p.get(s),g===void 0&&(g=new Set,p.set(s,g));g.has(d)||(g.add(d),o=II.bind(null,o,s,d),s.then(o,o))}function Ov(o){do{var s;if((s=o.tag===13)&&(s=o.memoizedState,s=s!==null?s.dehydrated!==null:!0),s)return o;o=o.return}while(o!==null);return null}function kv(o,s,d,p,g){return o.mode&1?(o.flags|=65536,o.lanes=g,o):(o===s?o.flags|=65536:(o.flags|=128,d.flags|=131072,d.flags&=-52805,d.tag===1&&(d.alternate===null?d.tag=17:(s=Yi(-1,1),s.tag=2,yr(d,s,1))),d.lanes|=1),o)}var fI=u.ReactCurrentOwner,Rn=!1;function cn(o,s,d,p){s.child=o===null?sv(s,null,d,p):is(s,o.child,d,p)}function Lv(o,s,d,p,g){d=d.render;var x=s.ref;return ns(s,g),p=oh(o,s,d,p,x,g),d=sh(),o!==null&&!Rn?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~g,Ki(o,s,g)):(at&&d&&Vf(s),s.flags|=1,cn(o,s,p,g),s.child)}function Fv(o,s,d,p,g){if(o===null){var x=d.type;return typeof x=="function"&&!Dh(x)&&x.defaultProps===void 0&&d.compare===null&&d.defaultProps===void 0?(s.tag=15,s.type=x,Nv(o,s,x,p,g)):(o=qu(d.type,null,p,s,s.mode,g),o.ref=s.ref,o.return=s,s.child=o)}if(x=o.child,!(o.lanes&g)){var C=x.memoizedProps;if(d=d.compare,d=d!==null?d:hu,d(C,p)&&o.ref===s.ref)return Ki(o,s,g)}return s.flags|=1,o=br(x,p),o.ref=s.ref,o.return=s,s.child=o}function Nv(o,s,d,p,g){if(o!==null){var x=o.memoizedProps;if(hu(x,p)&&o.ref===s.ref)if(Rn=!1,s.pendingProps=p=x,(o.lanes&g)!==0)o.flags&131072&&(Rn=!0);else return s.lanes=o.lanes,Ki(o,s,g)}return hh(o,s,d,p,g)}function zv(o,s,d){var p=s.pendingProps,g=p.children,x=o!==null?o.memoizedState:null;if(p.mode==="hidden")if(!(s.mode&1))s.memoizedState={baseLanes:0,cachePool:null,transitions:null},Je(ls,Fn),Fn|=d;else{if(!(d&1073741824))return o=x!==null?x.baseLanes|d:d,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:o,cachePool:null,transitions:null},s.updateQueue=null,Je(ls,Fn),Fn|=o,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},p=x!==null?x.baseLanes:d,Je(ls,Fn),Fn|=p}else x!==null?(p=x.baseLanes|d,s.memoizedState=null):p=d,Je(ls,Fn),Fn|=p;return cn(o,s,g,d),s.child}function Dv(o,s){var d=s.ref;(o===null&&d!==null||o!==null&&o.ref!==d)&&(s.flags|=512,s.flags|=2097152)}function hh(o,s,d,p,g){var x=bn(d)?eo:Zt.current;return x=Xo(s,x),ns(s,g),d=oh(o,s,d,p,x,g),p=sh(),o!==null&&!Rn?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~g,Ki(o,s,g)):(at&&p&&Vf(s),s.flags|=1,cn(o,s,d,g),s.child)}function Bv(o,s,d,p,g){if(bn(d)){var x=!0;ru(s)}else x=!1;if(ns(s,g),s.stateNode===null)Pu(o,s),nv(s,d,p),Zf(s,d,p,g),p=!0;else if(o===null){var C=s.stateNode,O=s.memoizedProps;C.props=O;var j=C.context,ne=d.contextType;typeof ne=="object"&&ne!==null?ne=Yn(ne):(ne=bn(d)?eo:Zt.current,ne=Xo(s,ne));var xe=d.getDerivedStateFromProps,Te=typeof xe=="function"||typeof C.getSnapshotBeforeUpdate=="function";Te||typeof C.UNSAFE_componentWillReceiveProps!="function"&&typeof C.componentWillReceiveProps!="function"||(O!==p||j!==ne)&&iv(s,C,p,ne),gr=!1;var se=s.memoizedState;C.state=se,yu(s,p,C,g),j=s.memoizedState,O!==p||se!==j||wn.current||gr?(typeof xe=="function"&&(Xf(s,d,xe,p),j=s.memoizedState),(O=gr||tv(s,d,O,p,se,j,ne))?(Te||typeof C.UNSAFE_componentWillMount!="function"&&typeof C.componentWillMount!="function"||(typeof C.componentWillMount=="function"&&C.componentWillMount(),typeof C.UNSAFE_componentWillMount=="function"&&C.UNSAFE_componentWillMount()),typeof C.componentDidMount=="function"&&(s.flags|=4194308)):(typeof C.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=p,s.memoizedState=j),C.props=p,C.state=j,C.context=ne,p=O):(typeof C.componentDidMount=="function"&&(s.flags|=4194308),p=!1)}else{C=s.stateNode,Xy(o,s),O=s.memoizedProps,ne=s.type===s.elementType?O:hi(s.type,O),C.props=ne,Te=s.pendingProps,se=C.context,j=d.contextType,typeof j=="object"&&j!==null?j=Yn(j):(j=bn(d)?eo:Zt.current,j=Xo(s,j));var rt=d.getDerivedStateFromProps;(xe=typeof rt=="function"||typeof C.getSnapshotBeforeUpdate=="function")||typeof C.UNSAFE_componentWillReceiveProps!="function"&&typeof C.componentWillReceiveProps!="function"||(O!==Te||se!==j)&&iv(s,C,p,j),gr=!1,se=s.memoizedState,C.state=se,yu(s,p,C,g);var Ke=s.memoizedState;O!==Te||se!==Ke||wn.current||gr?(typeof rt=="function"&&(Xf(s,d,rt,p),Ke=s.memoizedState),(ne=gr||tv(s,d,ne,p,se,Ke,j)||!1)?(xe||typeof C.UNSAFE_componentWillUpdate!="function"&&typeof C.componentWillUpdate!="function"||(typeof C.componentWillUpdate=="function"&&C.componentWillUpdate(p,Ke,j),typeof C.UNSAFE_componentWillUpdate=="function"&&C.UNSAFE_componentWillUpdate(p,Ke,j)),typeof C.componentDidUpdate=="function"&&(s.flags|=4),typeof C.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof C.componentDidUpdate!="function"||O===o.memoizedProps&&se===o.memoizedState||(s.flags|=4),typeof C.getSnapshotBeforeUpdate!="function"||O===o.memoizedProps&&se===o.memoizedState||(s.flags|=1024),s.memoizedProps=p,s.memoizedState=Ke),C.props=p,C.state=Ke,C.context=j,p=ne):(typeof C.componentDidUpdate!="function"||O===o.memoizedProps&&se===o.memoizedState||(s.flags|=4),typeof C.getSnapshotBeforeUpdate!="function"||O===o.memoizedProps&&se===o.memoizedState||(s.flags|=1024),p=!1)}return ph(o,s,d,p,x,g)}function ph(o,s,d,p,g,x){Dv(o,s);var C=(s.flags&128)!==0;if(!p&&!C)return g&&By(s,d,!1),Ki(o,s,x);p=s.stateNode,fI.current=s;var O=C&&typeof d.getDerivedStateFromError!="function"?null:p.render();return s.flags|=1,o!==null&&C?(s.child=is(s,o.child,null,x),s.child=is(s,null,O,x)):cn(o,s,O,x),s.memoizedState=p.state,g&&By(s,d,!0),s.child}function Vv(o){var s=o.stateNode;s.pendingContext?zy(o,s.pendingContext,s.pendingContext!==s.context):s.context&&zy(o,s.context,!1),Jf(o,s.containerInfo)}function jv(o,s,d,p,g){return es(),Uf(g),s.flags|=256,cn(o,s,d,p),s.child}var mh={dehydrated:null,treeContext:null,retryLane:0};function gh(o){return{baseLanes:o,cachePool:null,transitions:null}}function Hv(o,s,d){var p=s.pendingProps,g=dt.current,x=!1,C=(s.flags&128)!==0,O;if((O=C)||(O=o!==null&&o.memoizedState===null?!1:(g&2)!==0),O?(x=!0,s.flags&=-129):(o===null||o.memoizedState!==null)&&(g|=1),Je(dt,g&1),o===null)return Wf(s),o=s.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(s.mode&1?Af(o)?s.lanes=8:s.lanes=1073741824:s.lanes=1,null):(C=p.children,o=p.fallback,x?(p=s.mode,x=s.child,C={mode:"hidden",children:C},!(p&1)&&x!==null?(x.childLanes=0,x.pendingProps=C):x=Gu(C,p,0,null),o=uo(o,p,d,null),x.return=s,o.return=s,x.sibling=o,s.child=x,s.child.memoizedState=gh(d),s.memoizedState=mh,o):yh(s,C));if(g=o.memoizedState,g!==null&&(O=g.dehydrated,O!==null))return hI(o,s,C,p,O,g,d);if(x){x=p.fallback,C=s.mode,g=o.child,O=g.sibling;var j={mode:"hidden",children:p.children};return!(C&1)&&s.child!==g?(p=s.child,p.childLanes=0,p.pendingProps=j,s.deletions=null):(p=br(g,j),p.subtreeFlags=g.subtreeFlags&14680064),O!==null?x=br(O,x):(x=uo(x,C,d,null),x.flags|=2),x.return=s,p.return=s,p.sibling=x,s.child=p,p=x,x=s.child,C=o.child.memoizedState,C=C===null?gh(d):{baseLanes:C.baseLanes|d,cachePool:null,transitions:C.transitions},x.memoizedState=C,x.childLanes=o.childLanes&~d,s.memoizedState=mh,p}return x=o.child,o=x.sibling,p=br(x,{mode:"visible",children:p.children}),!(s.mode&1)&&(p.lanes=d),p.return=s,p.sibling=null,o!==null&&(d=s.deletions,d===null?(s.deletions=[o],s.flags|=16):d.push(o)),s.child=p,s.memoizedState=null,p}function yh(o,s){return s=Gu({mode:"visible",children:s},o.mode,0,null),s.return=o,o.child=s}function Cu(o,s,d,p){return p!==null&&Uf(p),is(s,o.child,null,d),o=yh(s,s.pendingProps.children),o.flags|=2,s.memoizedState=null,o}function hI(o,s,d,p,g,x,C){if(d)return s.flags&256?(s.flags&=-257,p=dh(Error(l(422))),Cu(o,s,C,p)):s.memoizedState!==null?(s.child=o.child,s.flags|=128,null):(x=p.fallback,g=s.mode,p=Gu({mode:"visible",children:p.children},g,0,null),x=uo(x,g,C,null),x.flags|=2,p.return=s,x.return=s,p.sibling=x,s.child=p,s.mode&1&&is(s,o.child,null,C),s.child.memoizedState=gh(C),s.memoizedState=mh,x);if(!(s.mode&1))return Cu(o,s,C,null);if(Af(g))return p=CE(g).digest,x=Error(l(419)),p=dh(x,p,void 0),Cu(o,s,C,p);if(d=(C&o.childLanes)!==0,Rn||d){if(p=Wt,p!==null){switch(C&-C){case 4:g=2;break;case 16:g=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:g=32;break;case 536870912:g=268435456;break;default:g=0}g=g&(p.suspendedLanes|C)?0:g,g!==0&&g!==x.retryLane&&(x.retryLane=g,ki(o,g),Zn(p,o,g,-1))}return zh(),p=dh(Error(l(421))),Cu(o,s,C,p)}return Ny(g)?(s.flags|=128,s.child=o.child,s=CI.bind(null,o),PE(g,s),null):(o=x.treeContext,ae&&(Qn=ME(g),Ln=s,at=!0,fi=null,fa=!1,o!==null&&(Gn[$n++]=$i,Gn[$n++]=Qi,Gn[$n++]=to,$i=o.id,Qi=o.overflow,to=s)),s=yh(s,p.children),s.flags|=4096,s)}function Wv(o,s,d){o.lanes|=s;var p=o.alternate;p!==null&&(p.lanes|=s),Qf(o.return,s,d)}function vh(o,s,d,p,g){var x=o.memoizedState;x===null?o.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:p,tail:d,tailMode:g}:(x.isBackwards=s,x.rendering=null,x.renderingStartTime=0,x.last=p,x.tail=d,x.tailMode=g)}function Uv(o,s,d){var p=s.pendingProps,g=p.revealOrder,x=p.tail;if(cn(o,s,p.children,d),p=dt.current,p&2)p=p&1|2,s.flags|=128;else{if(o!==null&&o.flags&128)e:for(o=s.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&Wv(o,d,s);else if(o.tag===19)Wv(o,d,s);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===s)break e;for(;o.sibling===null;){if(o.return===null||o.return===s)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}p&=1}if(Je(dt,p),!(s.mode&1))s.memoizedState=null;else switch(g){case"forwards":for(d=s.child,g=null;d!==null;)o=d.alternate,o!==null&&Su(o)===null&&(g=d),d=d.sibling;d=g,d===null?(g=s.child,s.child=null):(g=d.sibling,d.sibling=null),vh(s,!1,g,d,x);break;case"backwards":for(d=null,g=s.child,s.child=null;g!==null;){if(o=g.alternate,o!==null&&Su(o)===null){s.child=g;break}o=g.sibling,g.sibling=d,d=g,g=o}vh(s,!0,d,null,x);break;case"together":vh(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function Pu(o,s){!(s.mode&1)&&o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2)}function Ki(o,s,d){if(o!==null&&(s.dependencies=o.dependencies),oo|=s.lanes,!(d&s.childLanes))return null;if(o!==null&&s.child!==o.child)throw Error(l(153));if(s.child!==null){for(o=s.child,d=br(o,o.pendingProps),s.child=d,d.return=s;o.sibling!==null;)o=o.sibling,d=d.sibling=br(o,o.pendingProps),d.return=s;d.sibling=null}return s.child}function pI(o,s,d){switch(s.tag){case 3:Vv(s),es();break;case 5:av(s);break;case 1:bn(s.type)&&ru(s);break;case 4:Jf(s,s.stateNode.containerInfo);break;case 10:Yy(s,s.type._context,s.memoizedProps.value);break;case 13:var p=s.memoizedState;if(p!==null)return p.dehydrated!==null?(Je(dt,dt.current&1),s.flags|=128,null):d&s.child.childLanes?Hv(o,s,d):(Je(dt,dt.current&1),o=Ki(o,s,d),o!==null?o.sibling:null);Je(dt,dt.current&1);break;case 19:if(p=(d&s.childLanes)!==0,o.flags&128){if(p)return Uv(o,s,d);s.flags|=128}var g=s.memoizedState;if(g!==null&&(g.rendering=null,g.tail=null,g.lastEffect=null),Je(dt,dt.current),p)break;return null;case 22:case 23:return s.lanes=0,zv(o,s,d)}return Ki(o,s,d)}function Ni(o){o.flags|=4}function qv(o,s){if(o!==null&&o.child===s.child)return!0;if(s.flags&16)return!1;for(o=s.child;o!==null;){if(o.flags&12854||o.subtreeFlags&12854)return!1;o=o.sibling}return!0}var Sa,wa,Au,Tu;if(Ne)Sa=function(o,s){for(var d=s.child;d!==null;){if(d.tag===5||d.tag===6)je(o,d.stateNode);else if(d.tag!==4&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===s)break;for(;d.sibling===null;){if(d.return===null||d.return===s)return;d=d.return}d.sibling.return=d.return,d=d.sibling}},wa=function(){},Au=function(o,s,d,p,g){if(o=o.memoizedProps,o!==p){var x=s.stateNode,C=Li(Kn.current);d=$e(x,d,o,p,g,C),(s.updateQueue=d)&&Ni(s)}},Tu=function(o,s,d,p){d!==p&&Ni(s)};else if(fe){Sa=function(o,s,d,p){for(var g=s.child;g!==null;){if(g.tag===5){var x=g.stateNode;d&&p&&(x=Jr(x,g.type,g.memoizedProps,g)),je(o,x)}else if(g.tag===6)x=g.stateNode,d&&p&&(x=la(x,g.memoizedProps,g)),je(o,x);else if(g.tag!==4){if(g.tag===22&&g.memoizedState!==null)x=g.child,x!==null&&(x.return=g),Sa(o,g,!0,!0);else if(g.child!==null){g.child.return=g,g=g.child;continue}}if(g===s)break;for(;g.sibling===null;){if(g.return===null||g.return===s)return;g=g.return}g.sibling.return=g.return,g=g.sibling}};var Gv=function(o,s,d,p){for(var g=s.child;g!==null;){if(g.tag===5){var x=g.stateNode;d&&p&&(x=Jr(x,g.type,g.memoizedProps,g)),Lt(o,x)}else if(g.tag===6)x=g.stateNode,d&&p&&(x=la(x,g.memoizedProps,g)),Lt(o,x);else if(g.tag!==4){if(g.tag===22&&g.memoizedState!==null)x=g.child,x!==null&&(x.return=g),Gv(o,g,!0,!0);else if(g.child!==null){g.child.return=g,g=g.child;continue}}if(g===s)break;for(;g.sibling===null;){if(g.return===null||g.return===s)return;g=g.return}g.sibling.return=g.return,g=g.sibling}};wa=function(o,s){var d=s.stateNode;if(!qv(o,s)){o=d.containerInfo;var p=ct(o);Gv(p,s,!1,!1),d.pendingChildren=p,Ni(s),hr(o,p)}},Au=function(o,s,d,p,g){var x=o.stateNode,C=o.memoizedProps;if((o=qv(o,s))&&C===p)s.stateNode=x;else{var O=s.stateNode,j=Li(Kn.current),ne=null;C!==p&&(ne=$e(O,d,C,p,g,j)),o&&ne===null?s.stateNode=x:(x=kt(x,ne,d,C,p,s,o,O),Ge(x,d,p,g,j)&&Ni(s),s.stateNode=x,o?Ni(s):Sa(x,s,!1,!1))}},Tu=function(o,s,d,p){d!==p?(o=Li(rs.current),d=Li(Kn.current),s.stateNode=Ze(p,o,d,s),Ni(s)):s.stateNode=o.stateNode}}else wa=function(){},Au=function(){},Tu=function(){};function ba(o,s){if(!at)switch(o.tailMode){case"hidden":s=o.tail;for(var d=null;s!==null;)s.alternate!==null&&(d=s),s=s.sibling;d===null?o.tail=null:d.sibling=null;break;case"collapsed":d=o.tail;for(var p=null;d!==null;)d.alternate!==null&&(p=d),d=d.sibling;p===null?s||o.tail===null?o.tail=null:o.tail.sibling=null:p.sibling=null}}function en(o){var s=o.alternate!==null&&o.alternate.child===o.child,d=0,p=0;if(s)for(var g=o.child;g!==null;)d|=g.lanes|g.childLanes,p|=g.subtreeFlags&14680064,p|=g.flags&14680064,g.return=o,g=g.sibling;else for(g=o.child;g!==null;)d|=g.lanes|g.childLanes,p|=g.subtreeFlags,p|=g.flags,g.return=o,g=g.sibling;return o.subtreeFlags|=p,o.childLanes=d,s}function mI(o,s,d){var p=s.pendingProps;switch(jf(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return en(s),null;case 1:return bn(s.type)&&iu(),en(s),null;case 3:return d=s.stateNode,os(),it(wn),it(Zt),nh(),d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null),(o===null||o.child===null)&&(fu(s)?Ni(s):o===null||o.memoizedState.isDehydrated&&!(s.flags&256)||(s.flags|=1024,fi!==null&&(Fh(fi),fi=null))),wa(o,s),en(s),null;case 5:eh(s),d=Li(rs.current);var g=s.type;if(o!==null&&s.stateNode!=null)Au(o,s,g,p,d),o.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!p){if(s.stateNode===null)throw Error(l(166));return en(s),null}if(o=Li(Kn.current),fu(s)){if(!ae)throw Error(l(175));o=_E(s.stateNode,s.type,s.memoizedProps,d,o,s,!fa),s.updateQueue=o,o!==null&&Ni(s)}else{var x=Le(g,p,d,o,s);Sa(x,s,!1,!1),s.stateNode=x,Ge(x,g,p,d,o)&&Ni(s)}s.ref!==null&&(s.flags|=512,s.flags|=2097152)}return en(s),null;case 6:if(o&&s.stateNode!=null)Tu(o,s,o.memoizedProps,p);else{if(typeof p!="string"&&s.stateNode===null)throw Error(l(166));if(o=Li(rs.current),d=Li(Kn.current),fu(s)){if(!ae)throw Error(l(176));if(o=s.stateNode,d=s.memoizedProps,(p=OE(o,d,s,!fa))&&(g=Ln,g!==null))switch(g.tag){case 3:VE(g.stateNode.containerInfo,o,d,(g.mode&1)!==0);break;case 5:jE(g.type,g.memoizedProps,g.stateNode,o,d,(g.mode&1)!==0)}p&&Ni(s)}else s.stateNode=Ze(p,o,d,s)}return en(s),null;case 13:if(it(dt),p=s.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(at&&Qn!==null&&s.mode&1&&!(s.flags&128))Qy(),es(),s.flags|=98560,g=!1;else if(g=fu(s),p!==null&&p.dehydrated!==null){if(o===null){if(!g)throw Error(l(318));if(!ae)throw Error(l(344));if(g=s.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));kE(g,s)}else es(),!(s.flags&128)&&(s.memoizedState=null),s.flags|=4;en(s),g=!1}else fi!==null&&(Fh(fi),fi=null),g=!0;if(!g)return s.flags&65536?s:null}return s.flags&128?(s.lanes=d,s):(d=p!==null,d!==(o!==null&&o.memoizedState!==null)&&d&&(s.child.flags|=8192,s.mode&1&&(o===null||dt.current&1?Nt===0&&(Nt=3):zh())),s.updateQueue!==null&&(s.flags|=4),en(s),null);case 4:return os(),wa(o,s),o===null&&Rt(s.stateNode.containerInfo),en(s),null;case 10:return $f(s.type._context),en(s),null;case 17:return bn(s.type)&&iu(),en(s),null;case 19:if(it(dt),g=s.memoizedState,g===null)return en(s),null;if(p=(s.flags&128)!==0,x=g.rendering,x===null)if(p)ba(g,!1);else{if(Nt!==0||o!==null&&o.flags&128)for(o=s.child;o!==null;){if(x=Su(o),x!==null){for(s.flags|=128,ba(g,!1),o=x.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),s.subtreeFlags=0,o=d,d=s.child;d!==null;)p=d,g=o,p.flags&=14680066,x=p.alternate,x===null?(p.childLanes=0,p.lanes=g,p.child=null,p.subtreeFlags=0,p.memoizedProps=null,p.memoizedState=null,p.updateQueue=null,p.dependencies=null,p.stateNode=null):(p.childLanes=x.childLanes,p.lanes=x.lanes,p.child=x.child,p.subtreeFlags=0,p.deletions=null,p.memoizedProps=x.memoizedProps,p.memoizedState=x.memoizedState,p.updateQueue=x.updateQueue,p.type=x.type,g=x.dependencies,p.dependencies=g===null?null:{lanes:g.lanes,firstContext:g.firstContext}),d=d.sibling;return Je(dt,dt.current&1|2),s.child}o=o.sibling}g.tail!==null&&jt()>_h&&(s.flags|=128,p=!0,ba(g,!1),s.lanes=4194304)}else{if(!p)if(o=Su(x),o!==null){if(s.flags|=128,p=!0,o=o.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),ba(g,!0),g.tail===null&&g.tailMode==="hidden"&&!x.alternate&&!at)return en(s),null}else 2*jt()-g.renderingStartTime>_h&&d!==1073741824&&(s.flags|=128,p=!0,ba(g,!1),s.lanes=4194304);g.isBackwards?(x.sibling=s.child,s.child=x):(o=g.last,o!==null?o.sibling=x:s.child=x,g.last=x)}return g.tail!==null?(s=g.tail,g.rendering=s,g.tail=s.sibling,g.renderingStartTime=jt(),s.sibling=null,o=dt.current,Je(dt,p?o&1|2:o&1),s):(en(s),null);case 22:case 23:return Nh(),d=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==d&&(s.flags|=8192),d&&s.mode&1?Fn&1073741824&&(en(s),Ne&&s.subtreeFlags&6&&(s.flags|=8192)):en(s),null;case 24:return null;case 25:return null}throw Error(l(156,s.tag))}function gI(o,s){switch(jf(s),s.tag){case 1:return bn(s.type)&&iu(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return os(),it(wn),it(Zt),nh(),o=s.flags,o&65536&&!(o&128)?(s.flags=o&-65537|128,s):null;case 5:return eh(s),null;case 13:if(it(dt),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(l(340));es()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return it(dt),null;case 4:return os(),null;case 10:return $f(s.type._context),null;case 22:case 23:return Nh(),null;case 24:return null;default:return null}}var Mu=!1,tn=!1,yI=typeof WeakSet=="function"?WeakSet:Set,ye=null;function as(o,s){var d=o.ref;if(d!==null)if(typeof d=="function")try{d(null)}catch(p){lt(o,s,p)}else d.current=null}function xh(o,s,d){try{d()}catch(p){lt(o,s,p)}}var $v=!1;function vI(o,s){for(N(o.containerInfo),ye=s;ye!==null;)if(o=ye,s=o.child,(o.subtreeFlags&1028)!==0&&s!==null)s.return=o,ye=s;else for(;ye!==null;){o=ye;try{var d=o.alternate;if(o.flags&1024)switch(o.tag){case 0:case 11:case 15:break;case 1:if(d!==null){var p=d.memoizedProps,g=d.memoizedState,x=o.stateNode,C=x.getSnapshotBeforeUpdate(o.elementType===o.type?p:hi(o.type,p),g);x.__reactInternalSnapshotBeforeUpdate=C}break;case 3:Ne&&Ye(o.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(l(163))}}catch(O){lt(o,o.return,O)}if(s=o.sibling,s!==null){s.return=o.return,ye=s;break}ye=o.return}return d=$v,$v=!1,d}function Ra(o,s,d){var p=s.updateQueue;if(p=p!==null?p.lastEffect:null,p!==null){var g=p=p.next;do{if((g.tag&o)===o){var x=g.destroy;g.destroy=void 0,x!==void 0&&xh(s,d,x)}g=g.next}while(g!==p)}}function _u(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var d=s=s.next;do{if((d.tag&o)===o){var p=d.create;d.destroy=p()}d=d.next}while(d!==s)}}function Sh(o){var s=o.ref;if(s!==null){var d=o.stateNode;switch(o.tag){case 5:o=oe(d);break;default:o=d}typeof s=="function"?s(o):s.current=o}}function Qv(o){var s=o.alternate;s!==null&&(o.alternate=null,Qv(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&un(s)),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Yv(o){return o.tag===5||o.tag===3||o.tag===4}function Kv(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Yv(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function wh(o,s,d){var p=o.tag;if(p===5||p===6)o=o.stateNode,s?W(d,o,s):X(d,o);else if(p!==4&&(o=o.child,o!==null))for(wh(o,s,d),o=o.sibling;o!==null;)wh(o,s,d),o=o.sibling}function bh(o,s,d){var p=o.tag;if(p===5||p===6)o=o.stateNode,s?Be(d,o,s):k(d,o);else if(p!==4&&(o=o.child,o!==null))for(bh(o,s,d),o=o.sibling;o!==null;)bh(o,s,d),o=o.sibling}var Qt=null,pi=!1;function zi(o,s,d){for(d=d.child;d!==null;)Rh(o,s,d),d=d.sibling}function Rh(o,s,d){if(_i&&typeof _i.onCommitFiberUnmount=="function")try{_i.onCommitFiberUnmount(lu,d)}catch{}switch(d.tag){case 5:tn||as(d,s);case 6:if(Ne){var p=Qt,g=pi;Qt=null,zi(o,s,d),Qt=p,pi=g,Qt!==null&&(pi?ge(Qt,d.stateNode):Y(Qt,d.stateNode))}else zi(o,s,d);break;case 18:Ne&&Qt!==null&&(pi?DE(Qt,d.stateNode):zE(Qt,d.stateNode));break;case 4:Ne?(p=Qt,g=pi,Qt=d.stateNode.containerInfo,pi=!0,zi(o,s,d),Qt=p,pi=g):(fe&&(p=d.stateNode.containerInfo,g=ct(p),ui(p,g)),zi(o,s,d));break;case 0:case 11:case 14:case 15:if(!tn&&(p=d.updateQueue,p!==null&&(p=p.lastEffect,p!==null))){g=p=p.next;do{var x=g,C=x.destroy;x=x.tag,C!==void 0&&(x&2||x&4)&&xh(d,s,C),g=g.next}while(g!==p)}zi(o,s,d);break;case 1:if(!tn&&(as(d,s),p=d.stateNode,typeof p.componentWillUnmount=="function"))try{p.props=d.memoizedProps,p.state=d.memoizedState,p.componentWillUnmount()}catch(O){lt(d,s,O)}zi(o,s,d);break;case 21:zi(o,s,d);break;case 22:d.mode&1?(tn=(p=tn)||d.memoizedState!==null,zi(o,s,d),tn=p):zi(o,s,d);break;default:zi(o,s,d)}}function Xv(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var d=o.stateNode;d===null&&(d=o.stateNode=new yI),s.forEach(function(p){var g=PI.bind(null,o,p);d.has(p)||(d.add(p),p.then(g,g))})}}function mi(o,s){var d=s.deletions;if(d!==null)for(var p=0;p<d.length;p++){var g=d[p];try{var x=o,C=s;if(Ne){var O=C;e:for(;O!==null;){switch(O.tag){case 5:Qt=O.stateNode,pi=!1;break e;case 3:Qt=O.stateNode.containerInfo,pi=!0;break e;case 4:Qt=O.stateNode.containerInfo,pi=!0;break e}O=O.return}if(Qt===null)throw Error(l(160));Rh(x,C,g),Qt=null,pi=!1}else Rh(x,C,g);var j=g.alternate;j!==null&&(j.return=null),g.return=null}catch(ne){lt(g,s,ne)}}if(s.subtreeFlags&12854)for(s=s.child;s!==null;)Zv(s,o),s=s.sibling}function Zv(o,s){var d=o.alternate,p=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(mi(s,o),Di(o),p&4){try{Ra(3,o,o.return),_u(3,o)}catch(se){lt(o,o.return,se)}try{Ra(5,o,o.return)}catch(se){lt(o,o.return,se)}}break;case 1:mi(s,o),Di(o),p&512&&d!==null&&as(d,d.return);break;case 5:if(mi(s,o),Di(o),p&512&&d!==null&&as(d,d.return),Ne){if(o.flags&32){var g=o.stateNode;try{he(g)}catch(se){lt(o,o.return,se)}}if(p&4&&(g=o.stateNode,g!=null)){var x=o.memoizedProps;if(d=d!==null?d.memoizedProps:x,p=o.type,s=o.updateQueue,o.updateQueue=null,s!==null)try{_e(g,s,p,d,x,o)}catch(se){lt(o,o.return,se)}}}break;case 6:if(mi(s,o),Di(o),p&4&&Ne){if(o.stateNode===null)throw Error(l(162));g=o.stateNode,x=o.memoizedProps,d=d!==null?d.memoizedProps:x;try{ee(g,d,x)}catch(se){lt(o,o.return,se)}}break;case 3:if(mi(s,o),Di(o),p&4){if(Ne&&ae&&d!==null&&d.memoizedState.isDehydrated)try{FE(s.containerInfo)}catch(se){lt(o,o.return,se)}if(fe){g=s.containerInfo,x=s.pendingChildren;try{ui(g,x)}catch(se){lt(o,o.return,se)}}}break;case 4:if(mi(s,o),Di(o),p&4&&fe){x=o.stateNode,g=x.containerInfo,x=x.pendingChildren;try{ui(g,x)}catch(se){lt(o,o.return,se)}}break;case 13:mi(s,o),Di(o),g=o.child,g.flags&8192&&(x=g.memoizedState!==null,g.stateNode.isHidden=x,!x||g.alternate!==null&&g.alternate.memoizedState!==null||(Mh=jt())),p&4&&Xv(o);break;case 22:var C=d!==null&&d.memoizedState!==null;if(o.mode&1?(tn=(d=tn)||C,mi(s,o),tn=d):mi(s,o),Di(o),p&8192){if(d=o.memoizedState!==null,(o.stateNode.isHidden=d)&&!C&&o.mode&1)for(ye=o,p=o.child;p!==null;){for(s=ye=p;ye!==null;){C=ye;var O=C.child;switch(C.tag){case 0:case 11:case 14:case 15:Ra(4,C,C.return);break;case 1:as(C,C.return);var j=C.stateNode;if(typeof j.componentWillUnmount=="function"){var ne=C,xe=C.return;try{var Te=ne;j.props=Te.memoizedProps,j.state=Te.memoizedState,j.componentWillUnmount()}catch(se){lt(ne,xe,se)}}break;case 5:as(C,C.return);break;case 22:if(C.memoizedState!==null){tx(s);continue}}O!==null?(O.return=C,ye=O):tx(s)}p=p.sibling}if(Ne){e:if(p=null,Ne)for(s=o;;){if(s.tag===5){if(p===null){p=s;try{g=s.stateNode,d?pe(g):tt(s.stateNode,s.memoizedProps)}catch(se){lt(o,o.return,se)}}}else if(s.tag===6){if(p===null)try{x=s.stateNode,d?ke(x):nt(x,s.memoizedProps)}catch(se){lt(o,o.return,se)}}else if((s.tag!==22&&s.tag!==23||s.memoizedState===null||s===o)&&s.child!==null){s.child.return=s,s=s.child;continue}if(s===o)break e;for(;s.sibling===null;){if(s.return===null||s.return===o)break e;p===s&&(p=null),s=s.return}p===s&&(p=null),s.sibling.return=s.return,s=s.sibling}}}break;case 19:mi(s,o),Di(o),p&4&&Xv(o);break;case 21:break;default:mi(s,o),Di(o)}}function Di(o){var s=o.flags;if(s&2){try{if(Ne){e:{for(var d=o.return;d!==null;){if(Yv(d)){var p=d;break e}d=d.return}throw Error(l(160))}switch(p.tag){case 5:var g=p.stateNode;p.flags&32&&(he(g),p.flags&=-33);var x=Kv(o);bh(o,x,g);break;case 3:case 4:var C=p.stateNode.containerInfo,O=Kv(o);wh(o,O,C);break;default:throw Error(l(161))}}}catch(j){lt(o,o.return,j)}o.flags&=-3}s&4096&&(o.flags&=-4097)}function xI(o,s,d){ye=o,Jv(o,s,d)}function Jv(o,s,d){for(var p=(o.mode&1)!==0;ye!==null;){var g=ye,x=g.child;if(g.tag===22&&p){var C=g.memoizedState!==null||Mu;if(!C){var O=g.alternate,j=O!==null&&O.memoizedState!==null||tn;O=Mu;var ne=tn;if(Mu=C,(tn=j)&&!ne)for(ye=g;ye!==null;)C=ye,j=C.child,C.tag===22&&C.memoizedState!==null?nx(g):j!==null?(j.return=C,ye=j):nx(g);for(;x!==null;)ye=x,Jv(x,s,d),x=x.sibling;ye=g,Mu=O,tn=ne}ex(o,s,d)}else g.subtreeFlags&8772&&x!==null?(x.return=g,ye=x):ex(o,s,d)}}function ex(o){for(;ye!==null;){var s=ye;if(s.flags&8772){var d=s.alternate;try{if(s.flags&8772)switch(s.tag){case 0:case 11:case 15:tn||_u(5,s);break;case 1:var p=s.stateNode;if(s.flags&4&&!tn)if(d===null)p.componentDidMount();else{var g=s.elementType===s.type?d.memoizedProps:hi(s.type,d.memoizedProps);p.componentDidUpdate(g,d.memoizedState,p.__reactInternalSnapshotBeforeUpdate)}var x=s.updateQueue;x!==null&&Jy(s,x,p);break;case 3:var C=s.updateQueue;if(C!==null){if(d=null,s.child!==null)switch(s.child.tag){case 5:d=oe(s.child.stateNode);break;case 1:d=s.child.stateNode}Jy(s,C,d)}break;case 5:var O=s.stateNode;d===null&&s.flags&4&&Ie(O,s.type,s.memoizedProps,s);break;case 6:break;case 4:break;case 12:break;case 13:if(ae&&s.memoizedState===null){var j=s.alternate;if(j!==null){var ne=j.memoizedState;if(ne!==null){var xe=ne.dehydrated;xe!==null&&NE(xe)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(l(163))}tn||s.flags&512&&Sh(s)}catch(Te){lt(s,s.return,Te)}}if(s===o){ye=null;break}if(d=s.sibling,d!==null){d.return=s.return,ye=d;break}ye=s.return}}function tx(o){for(;ye!==null;){var s=ye;if(s===o){ye=null;break}var d=s.sibling;if(d!==null){d.return=s.return,ye=d;break}ye=s.return}}function nx(o){for(;ye!==null;){var s=ye;try{switch(s.tag){case 0:case 11:case 15:var d=s.return;try{_u(4,s)}catch(j){lt(s,d,j)}break;case 1:var p=s.stateNode;if(typeof p.componentDidMount=="function"){var g=s.return;try{p.componentDidMount()}catch(j){lt(s,g,j)}}var x=s.return;try{Sh(s)}catch(j){lt(s,x,j)}break;case 5:var C=s.return;try{Sh(s)}catch(j){lt(s,C,j)}}}catch(j){lt(s,s.return,j)}if(s===o){ye=null;break}var O=s.sibling;if(O!==null){O.return=s.return,ye=O;break}ye=s.return}}var Ou=0,ku=1,Lu=2,Fu=3,Nu=4;if(typeof Symbol=="function"&&Symbol.for){var Ea=Symbol.for;Ou=Ea("selector.component"),ku=Ea("selector.has_pseudo_class"),Lu=Ea("selector.role"),Fu=Ea("selector.test_id"),Nu=Ea("selector.text")}function Eh(o){var s=De(o);if(s!=null){if(typeof s.memoizedProps["data-testname"]!="string")throw Error(l(364));return s}if(o=aa(o),o===null)throw Error(l(362));return o.stateNode.current}function Ih(o,s){switch(s.$$typeof){case Ou:if(o.type===s.value)return!0;break;case ku:e:{s=s.value,o=[o,0];for(var d=0;d<o.length;){var p=o[d++],g=o[d++],x=s[g];if(p.tag!==5||!ie(p)){for(;x!=null&&Ih(p,x);)g++,x=s[g];if(g===s.length){s=!0;break e}else for(p=p.child;p!==null;)o.push(p,g),p=p.sibling}}s=!1}return s;case Lu:if(o.tag===5&&le(o.stateNode,s.value))return!0;break;case Nu:if((o.tag===5||o.tag===6)&&(o=$(o),o!==null&&0<=o.indexOf(s.value)))return!0;break;case Fu:if(o.tag===5&&(o=o.memoizedProps["data-testname"],typeof o=="string"&&o.toLowerCase()===s.value.toLowerCase()))return!0;break;default:throw Error(l(365))}return!1}function Ch(o){switch(o.$$typeof){case Ou:return"<"+(U(o.value)||"Unknown")+">";case ku:return":has("+(Ch(o)||"")+")";case Lu:return'[role="'+o.value+'"]';case Nu:return'"'+o.value+'"';case Fu:return'[data-testname="'+o.value+'"]';default:throw Error(l(365))}}function ix(o,s){var d=[];o=[o,0];for(var p=0;p<o.length;){var g=o[p++],x=o[p++],C=s[x];if(g.tag!==5||!ie(g)){for(;C!=null&&Ih(g,C);)x++,C=s[x];if(x===s.length)d.push(g);else for(g=g.child;g!==null;)o.push(g,x),g=g.sibling}}return d}function Ph(o,s){if(!kn)throw Error(l(363));o=Eh(o),o=ix(o,s),s=[],o=Array.from(o);for(var d=0;d<o.length;){var p=o[d++];if(p.tag===5)ie(p)||s.push(p.stateNode);else for(p=p.child;p!==null;)o.push(p),p=p.sibling}return s}var SI=Math.ceil,zu=u.ReactCurrentDispatcher,Ah=u.ReactCurrentOwner,Et=u.ReactCurrentBatchConfig,Fe=0,Wt=null,At=null,Yt=0,Fn=0,ls=pr(0),Nt=0,Ia=null,oo=0,Du=0,Th=0,Ca=null,En=null,Mh=0,_h=1/0,Xi=null;function us(){_h=jt()+500}var Bu=!1,Oh=null,vr=null,Vu=!1,xr=null,ju=0,Pa=0,kh=null,Hu=-1,Wu=0;function nn(){return Fe&6?jt():Hu!==-1?Hu:Hu=jt()}function Sr(o){return o.mode&1?Fe&2&&Yt!==0?Yt&-Yt:nI.transition!==null?(Wu===0&&(Wu=Vy()),Wu):(o=He,o!==0?o:li()):1}function Zn(o,s,d,p){if(50<Pa)throw Pa=0,kh=null,Error(l(185));da(o,d,p),(!(Fe&2)||o!==Wt)&&(o===Wt&&(!(Fe&2)&&(Du|=d),Nt===4&&wr(o,Yt)),In(o,p),d===1&&Fe===0&&!(s.mode&1)&&(us(),uu&&Oi()))}function In(o,s){var d=o.callbackNode;$E(o,s);var p=au(o,o===Wt?Yt:0);if(p===0)d!==null&&Hy(d),o.callbackNode=null,o.callbackPriority=0;else if(s=p&-p,o.callbackPriority!==s){if(d!=null&&Hy(d),s===1)o.tag===0?tI(ox.bind(null,o)):Wy(ox.bind(null,o)),Sn?sa(function(){!(Fe&6)&&Oi()}):Nf(zf,Oi),d=null;else{switch(jy(p)){case 1:d=zf;break;case 4:d=XE;break;case 16:d=Df;break;case 536870912:d=ZE;break;default:d=Df}d=px(d,rx.bind(null,o))}o.callbackPriority=s,o.callbackNode=d}}function rx(o,s){if(Hu=-1,Wu=0,Fe&6)throw Error(l(327));var d=o.callbackNode;if(lo()&&o.callbackNode!==d)return null;var p=au(o,o===Wt?Yt:0);if(p===0)return null;if(p&30||p&o.expiredLanes||s)s=Uu(o,p);else{s=p;var g=Fe;Fe|=2;var x=lx();(Wt!==o||Yt!==s)&&(Xi=null,us(),so(o,s));do try{RI();break}catch(O){ax(o,O)}while(!0);Gf(),zu.current=x,Fe=g,At!==null?s=0:(Wt=null,Yt=0,s=Nt)}if(s!==0){if(s===2&&(g=kf(o),g!==0&&(p=g,s=Lh(o,g))),s===1)throw d=Ia,so(o,0),wr(o,p),In(o,jt()),d;if(s===6)wr(o,p);else{if(g=o.current.alternate,!(p&30)&&!wI(g)&&(s=Uu(o,p),s===2&&(x=kf(o),x!==0&&(p=x,s=Lh(o,x))),s===1))throw d=Ia,so(o,0),wr(o,p),In(o,jt()),d;switch(o.finishedWork=g,o.finishedLanes=p,s){case 0:case 1:throw Error(l(345));case 2:ao(o,En,Xi);break;case 3:if(wr(o,p),(p&130023424)===p&&(s=Mh+500-jt(),10<s)){if(au(o,0)!==0)break;if(g=o.suspendedLanes,(g&p)!==p){nn(),o.pingedLanes|=o.suspendedLanes&g;break}o.timeoutHandle=Ct(ao.bind(null,o,En,Xi),s);break}ao(o,En,Xi);break;case 4:if(wr(o,p),(p&4194240)===p)break;for(s=o.eventTimes,g=-1;0<p;){var C=31-ci(p);x=1<<C,C=s[C],C>g&&(g=C),p&=~x}if(p=g,p=jt()-p,p=(120>p?120:480>p?480:1080>p?1080:1920>p?1920:3e3>p?3e3:4320>p?4320:1960*SI(p/1960))-p,10<p){o.timeoutHandle=Ct(ao.bind(null,o,En,Xi),p);break}ao(o,En,Xi);break;case 5:ao(o,En,Xi);break;default:throw Error(l(329))}}}return In(o,jt()),o.callbackNode===d?rx.bind(null,o):null}function Lh(o,s){var d=Ca;return o.current.memoizedState.isDehydrated&&(so(o,s).flags|=256),o=Uu(o,s),o!==2&&(s=En,En=d,s!==null&&Fh(s)),o}function Fh(o){En===null?En=o:En.push.apply(En,o)}function wI(o){for(var s=o;;){if(s.flags&16384){var d=s.updateQueue;if(d!==null&&(d=d.stores,d!==null))for(var p=0;p<d.length;p++){var g=d[p],x=g.getSnapshot;g=g.value;try{if(!di(x(),g))return!1}catch{return!1}}}if(d=s.child,s.subtreeFlags&16384&&d!==null)d.return=s,s=d;else{if(s===o)break;for(;s.sibling===null;){if(s.return===null||s.return===o)return!0;s=s.return}s.sibling.return=s.return,s=s.sibling}}return!0}function wr(o,s){for(s&=~Th,s&=~Du,o.suspendedLanes|=s,o.pingedLanes&=~s,o=o.expirationTimes;0<s;){var d=31-ci(s),p=1<<d;o[d]=-1,s&=~p}}function ox(o){if(Fe&6)throw Error(l(327));lo();var s=au(o,0);if(!(s&1))return In(o,jt()),null;var d=Uu(o,s);if(o.tag!==0&&d===2){var p=kf(o);p!==0&&(s=p,d=Lh(o,p))}if(d===1)throw d=Ia,so(o,0),wr(o,s),In(o,jt()),d;if(d===6)throw Error(l(345));return o.finishedWork=o.current.alternate,o.finishedLanes=s,ao(o,En,Xi),In(o,jt()),null}function sx(o){xr!==null&&xr.tag===0&&!(Fe&6)&&lo();var s=Fe;Fe|=1;var d=Et.transition,p=He;try{if(Et.transition=null,He=1,o)return o()}finally{He=p,Et.transition=d,Fe=s,!(Fe&6)&&Oi()}}function Nh(){Fn=ls.current,it(ls)}function so(o,s){o.finishedWork=null,o.finishedLanes=0;var d=o.timeoutHandle;if(d!==xn&&(o.timeoutHandle=xn,xt(d)),At!==null)for(d=At.return;d!==null;){var p=d;switch(jf(p),p.tag){case 1:p=p.type.childContextTypes,p!=null&&iu();break;case 3:os(),it(wn),it(Zt),nh();break;case 5:eh(p);break;case 4:os();break;case 13:it(dt);break;case 19:it(dt);break;case 10:$f(p.type._context);break;case 22:case 23:Nh()}d=d.return}if(Wt=o,At=o=br(o.current,null),Yt=Fn=s,Nt=0,Ia=null,Th=Du=oo=0,En=Ca=null,io!==null){for(s=0;s<io.length;s++)if(d=io[s],p=d.interleaved,p!==null){d.interleaved=null;var g=p.next,x=d.pending;if(x!==null){var C=x.next;x.next=g,p.next=C}d.pending=p}io=null}return o}function ax(o,s){do{var d=At;try{if(Gf(),wu.current=Iu,bu){for(var p=ft.memoizedState;p!==null;){var g=p.queue;g!==null&&(g.pending=null),p=p.next}bu=!1}if(ro=0,Ht=Ft=ft=null,ga=!1,ya=0,Ah.current=null,d===null||d.return===null){Nt=1,Ia=s,At=null;break}e:{var x=o,C=d.return,O=d,j=s;if(s=Yt,O.flags|=32768,j!==null&&typeof j=="object"&&typeof j.then=="function"){var ne=j,xe=O,Te=xe.tag;if(!(xe.mode&1)&&(Te===0||Te===11||Te===15)){var se=xe.alternate;se?(xe.updateQueue=se.updateQueue,xe.memoizedState=se.memoizedState,xe.lanes=se.lanes):(xe.updateQueue=null,xe.memoizedState=null)}var rt=Ov(C);if(rt!==null){rt.flags&=-257,kv(rt,C,O,x,s),rt.mode&1&&_v(x,ne,s),s=rt,j=ne;var Ke=s.updateQueue;if(Ke===null){var Cn=new Set;Cn.add(j),s.updateQueue=Cn}else Ke.add(j);break e}else{if(!(s&1)){_v(x,ne,s),zh();break e}j=Error(l(426))}}else if(at&&O.mode&1){var Zi=Ov(C);if(Zi!==null){!(Zi.flags&65536)&&(Zi.flags|=256),kv(Zi,C,O,x,s),Uf(ss(j,O));break e}}x=j=ss(j,O),Nt!==4&&(Nt=2),Ca===null?Ca=[x]:Ca.push(x),x=C;do{switch(x.tag){case 3:x.flags|=65536,s&=-s,x.lanes|=s;var z=Tv(x,j,s);Zy(x,z);break e;case 1:O=j;var L=x.type,q=x.stateNode;if(!(x.flags&128)&&(typeof L.getDerivedStateFromError=="function"||q!==null&&typeof q.componentDidCatch=="function"&&(vr===null||!vr.has(q)))){x.flags|=65536,s&=-s,x.lanes|=s;var ue=Mv(x,O,s);Zy(x,ue);break e}}x=x.return}while(x!==null)}cx(d)}catch(Ee){s=Ee,At===d&&d!==null&&(At=d=d.return);continue}break}while(!0)}function lx(){var o=zu.current;return zu.current=Iu,o===null?Iu:o}function zh(){(Nt===0||Nt===3||Nt===2)&&(Nt=4),Wt===null||!(oo&268435455)&&!(Du&268435455)||wr(Wt,Yt)}function Uu(o,s){var d=Fe;Fe|=2;var p=lx();(Wt!==o||Yt!==s)&&(Xi=null,so(o,s));do try{bI();break}catch(g){ax(o,g)}while(!0);if(Gf(),Fe=d,zu.current=p,At!==null)throw Error(l(261));return Wt=null,Yt=0,Nt}function bI(){for(;At!==null;)ux(At)}function RI(){for(;At!==null&&!YE();)ux(At)}function ux(o){var s=hx(o.alternate,o,Fn);o.memoizedProps=o.pendingProps,s===null?cx(o):At=s,Ah.current=null}function cx(o){var s=o;do{var d=s.alternate;if(o=s.return,s.flags&32768){if(d=gI(d,s),d!==null){d.flags&=32767,At=d;return}if(o!==null)o.flags|=32768,o.subtreeFlags=0,o.deletions=null;else{Nt=6,At=null;return}}else if(d=mI(d,s,Fn),d!==null){At=d;return}if(s=s.sibling,s!==null){At=s;return}At=s=o}while(s!==null);Nt===0&&(Nt=5)}function ao(o,s,d){var p=He,g=Et.transition;try{Et.transition=null,He=1,EI(o,s,d,p)}finally{Et.transition=g,He=p}return null}function EI(o,s,d,p){do lo();while(xr!==null);if(Fe&6)throw Error(l(327));d=o.finishedWork;var g=o.finishedLanes;if(d===null)return null;if(o.finishedWork=null,o.finishedLanes=0,d===o.current)throw Error(l(177));o.callbackNode=null,o.callbackPriority=0;var x=d.lanes|d.childLanes;if(QE(o,x),o===Wt&&(At=Wt=null,Yt=0),!(d.subtreeFlags&2064)&&!(d.flags&2064)||Vu||(Vu=!0,px(Df,function(){return lo(),null})),x=(d.flags&15990)!==0,d.subtreeFlags&15990||x){x=Et.transition,Et.transition=null;var C=He;He=1;var O=Fe;Fe|=4,Ah.current=null,vI(o,d),Zv(d,o),re(o.containerInfo),o.current=d,xI(d,o,g),KE(),Fe=O,He=C,Et.transition=x}else o.current=d;if(Vu&&(Vu=!1,xr=o,ju=g),x=o.pendingLanes,x===0&&(vr=null),JE(d.stateNode,p),In(o,jt()),s!==null)for(p=o.onRecoverableError,d=0;d<s.length;d++)g=s[d],p(g.value,{componentStack:g.stack,digest:g.digest});if(Bu)throw Bu=!1,o=Oh,Oh=null,o;return ju&1&&o.tag!==0&&lo(),x=o.pendingLanes,x&1?o===kh?Pa++:(Pa=0,kh=o):Pa=0,Oi(),null}function lo(){if(xr!==null){var o=jy(ju),s=Et.transition,d=He;try{if(Et.transition=null,He=16>o?16:o,xr===null)var p=!1;else{if(o=xr,xr=null,ju=0,Fe&6)throw Error(l(331));var g=Fe;for(Fe|=4,ye=o.current;ye!==null;){var x=ye,C=x.child;if(ye.flags&16){var O=x.deletions;if(O!==null){for(var j=0;j<O.length;j++){var ne=O[j];for(ye=ne;ye!==null;){var xe=ye;switch(xe.tag){case 0:case 11:case 15:Ra(8,xe,x)}var Te=xe.child;if(Te!==null)Te.return=xe,ye=Te;else for(;ye!==null;){xe=ye;var se=xe.sibling,rt=xe.return;if(Qv(xe),xe===ne){ye=null;break}if(se!==null){se.return=rt,ye=se;break}ye=rt}}}var Ke=x.alternate;if(Ke!==null){var Cn=Ke.child;if(Cn!==null){Ke.child=null;do{var Zi=Cn.sibling;Cn.sibling=null,Cn=Zi}while(Cn!==null)}}ye=x}}if(x.subtreeFlags&2064&&C!==null)C.return=x,ye=C;else e:for(;ye!==null;){if(x=ye,x.flags&2048)switch(x.tag){case 0:case 11:case 15:Ra(9,x,x.return)}var z=x.sibling;if(z!==null){z.return=x.return,ye=z;break e}ye=x.return}}var L=o.current;for(ye=L;ye!==null;){C=ye;var q=C.child;if(C.subtreeFlags&2064&&q!==null)q.return=C,ye=q;else e:for(C=L;ye!==null;){if(O=ye,O.flags&2048)try{switch(O.tag){case 0:case 11:case 15:_u(9,O)}}catch(Ee){lt(O,O.return,Ee)}if(O===C){ye=null;break e}var ue=O.sibling;if(ue!==null){ue.return=O.return,ye=ue;break e}ye=O.return}}if(Fe=g,Oi(),_i&&typeof _i.onPostCommitFiberRoot=="function")try{_i.onPostCommitFiberRoot(lu,o)}catch{}p=!0}return p}finally{He=d,Et.transition=s}}return!1}function dx(o,s,d){s=ss(d,s),s=Tv(o,s,1),o=yr(o,s,1),s=nn(),o!==null&&(da(o,1,s),In(o,s))}function lt(o,s,d){if(o.tag===3)dx(o,o,d);else for(;s!==null;){if(s.tag===3){dx(s,o,d);break}else if(s.tag===1){var p=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof p.componentDidCatch=="function"&&(vr===null||!vr.has(p))){o=ss(d,o),o=Mv(s,o,1),s=yr(s,o,1),o=nn(),s!==null&&(da(s,1,o),In(s,o));break}}s=s.return}}function II(o,s,d){var p=o.pingCache;p!==null&&p.delete(s),s=nn(),o.pingedLanes|=o.suspendedLanes&d,Wt===o&&(Yt&d)===d&&(Nt===4||Nt===3&&(Yt&130023424)===Yt&&500>jt()-Mh?so(o,0):Th|=d),In(o,s)}function fx(o,s){s===0&&(o.mode&1?(s=su,su<<=1,!(su&130023424)&&(su=4194304)):s=1);var d=nn();o=ki(o,s),o!==null&&(da(o,s,d),In(o,d))}function CI(o){var s=o.memoizedState,d=0;s!==null&&(d=s.retryLane),fx(o,d)}function PI(o,s){var d=0;switch(o.tag){case 13:var p=o.stateNode,g=o.memoizedState;g!==null&&(d=g.retryLane);break;case 19:p=o.stateNode;break;default:throw Error(l(314))}p!==null&&p.delete(s),fx(o,d)}var hx;hx=function(o,s,d){if(o!==null)if(o.memoizedProps!==s.pendingProps||wn.current)Rn=!0;else{if(!(o.lanes&d)&&!(s.flags&128))return Rn=!1,pI(o,s,d);Rn=!!(o.flags&131072)}else Rn=!1,at&&s.flags&1048576&&Uy(s,du,s.index);switch(s.lanes=0,s.tag){case 2:var p=s.type;Pu(o,s),o=s.pendingProps;var g=Xo(s,Zt.current);ns(s,d),g=oh(null,s,p,o,g,d);var x=sh();return s.flags|=1,typeof g=="object"&&g!==null&&typeof g.render=="function"&&g.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,bn(p)?(x=!0,ru(s)):x=!1,s.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,Kf(s),g.updater=vu,s.stateNode=g,g._reactInternals=s,Zf(s,p,o,d),s=ph(null,s,p,!0,x,d)):(s.tag=0,at&&x&&Vf(s),cn(null,s,g,d),s=s.child),s;case 16:p=s.elementType;e:{switch(Pu(o,s),o=s.pendingProps,g=p._init,p=g(p._payload),s.type=p,g=s.tag=TI(p),o=hi(p,o),g){case 0:s=hh(null,s,p,o,d);break e;case 1:s=Bv(null,s,p,o,d);break e;case 11:s=Lv(null,s,p,o,d);break e;case 14:s=Fv(null,s,p,hi(p.type,o),d);break e}throw Error(l(306,p,""))}return s;case 0:return p=s.type,g=s.pendingProps,g=s.elementType===p?g:hi(p,g),hh(o,s,p,g,d);case 1:return p=s.type,g=s.pendingProps,g=s.elementType===p?g:hi(p,g),Bv(o,s,p,g,d);case 3:e:{if(Vv(s),o===null)throw Error(l(387));p=s.pendingProps,x=s.memoizedState,g=x.element,Xy(o,s),yu(s,p,null,d);var C=s.memoizedState;if(p=C.element,ae&&x.isDehydrated)if(x={element:p,isDehydrated:!1,cache:C.cache,pendingSuspenseBoundaries:C.pendingSuspenseBoundaries,transitions:C.transitions},s.updateQueue.baseState=x,s.memoizedState=x,s.flags&256){g=ss(Error(l(423)),s),s=jv(o,s,p,d,g);break e}else if(p!==g){g=ss(Error(l(424)),s),s=jv(o,s,p,d,g);break e}else for(ae&&(Qn=TE(s.stateNode.containerInfo),Ln=s,at=!0,fi=null,fa=!1),d=sv(s,null,p,d),s.child=d;d;)d.flags=d.flags&-3|4096,d=d.sibling;else{if(es(),p===g){s=Ki(o,s,d);break e}cn(o,s,p,d)}s=s.child}return s;case 5:return av(s),o===null&&Wf(s),p=s.type,g=s.pendingProps,x=o!==null?o.memoizedProps:null,C=g.children,Qe(p,g)?C=null:x!==null&&Qe(p,x)&&(s.flags|=32),Dv(o,s),cn(o,s,C,d),s.child;case 6:return o===null&&Wf(s),null;case 13:return Hv(o,s,d);case 4:return Jf(s,s.stateNode.containerInfo),p=s.pendingProps,o===null?s.child=is(s,null,p,d):cn(o,s,p,d),s.child;case 11:return p=s.type,g=s.pendingProps,g=s.elementType===p?g:hi(p,g),Lv(o,s,p,g,d);case 7:return cn(o,s,s.pendingProps,d),s.child;case 8:return cn(o,s,s.pendingProps.children,d),s.child;case 12:return cn(o,s,s.pendingProps.children,d),s.child;case 10:e:{if(p=s.type._context,g=s.pendingProps,x=s.memoizedProps,C=g.value,Yy(s,p,C),x!==null)if(di(x.value,C)){if(x.children===g.children&&!wn.current){s=Ki(o,s,d);break e}}else for(x=s.child,x!==null&&(x.return=s);x!==null;){var O=x.dependencies;if(O!==null){C=x.child;for(var j=O.firstContext;j!==null;){if(j.context===p){if(x.tag===1){j=Yi(-1,d&-d),j.tag=2;var ne=x.updateQueue;if(ne!==null){ne=ne.shared;var xe=ne.pending;xe===null?j.next=j:(j.next=xe.next,xe.next=j),ne.pending=j}}x.lanes|=d,j=x.alternate,j!==null&&(j.lanes|=d),Qf(x.return,d,s),O.lanes|=d;break}j=j.next}}else if(x.tag===10)C=x.type===s.type?null:x.child;else if(x.tag===18){if(C=x.return,C===null)throw Error(l(341));C.lanes|=d,O=C.alternate,O!==null&&(O.lanes|=d),Qf(C,d,s),C=x.sibling}else C=x.child;if(C!==null)C.return=x;else for(C=x;C!==null;){if(C===s){C=null;break}if(x=C.sibling,x!==null){x.return=C.return,C=x;break}C=C.return}x=C}cn(o,s,g.children,d),s=s.child}return s;case 9:return g=s.type,p=s.pendingProps.children,ns(s,d),g=Yn(g),p=p(g),s.flags|=1,cn(o,s,p,d),s.child;case 14:return p=s.type,g=hi(p,s.pendingProps),g=hi(p.type,g),Fv(o,s,p,g,d);case 15:return Nv(o,s,s.type,s.pendingProps,d);case 17:return p=s.type,g=s.pendingProps,g=s.elementType===p?g:hi(p,g),Pu(o,s),s.tag=1,bn(p)?(o=!0,ru(s)):o=!1,ns(s,d),nv(s,p,g),Zf(s,p,g,d),ph(null,s,p,!0,o,d);case 19:return Uv(o,s,d);case 22:return zv(o,s,d)}throw Error(l(156,s.tag))};function px(o,s){return Nf(o,s)}function AI(o,s,d,p){this.tag=o,this.key=d,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=s,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=p,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Jn(o,s,d,p){return new AI(o,s,d,p)}function Dh(o){return o=o.prototype,!(!o||!o.isReactComponent)}function TI(o){if(typeof o=="function")return Dh(o)?1:0;if(o!=null){if(o=o.$$typeof,o===S)return 11;if(o===b)return 14}return 2}function br(o,s){var d=o.alternate;return d===null?(d=Jn(o.tag,s,o.key,o.mode),d.elementType=o.elementType,d.type=o.type,d.stateNode=o.stateNode,d.alternate=o,o.alternate=d):(d.pendingProps=s,d.type=o.type,d.flags=0,d.subtreeFlags=0,d.deletions=null),d.flags=o.flags&14680064,d.childLanes=o.childLanes,d.lanes=o.lanes,d.child=o.child,d.memoizedProps=o.memoizedProps,d.memoizedState=o.memoizedState,d.updateQueue=o.updateQueue,s=o.dependencies,d.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},d.sibling=o.sibling,d.index=o.index,d.ref=o.ref,d}function qu(o,s,d,p,g,x){var C=2;if(p=o,typeof o=="function")Dh(o)&&(C=1);else if(typeof o=="string")C=5;else e:switch(o){case c:return uo(d.children,g,x,s);case m:C=8,g|=8;break;case v:return o=Jn(12,d,s,g|2),o.elementType=v,o.lanes=x,o;case E:return o=Jn(13,d,s,g),o.elementType=E,o.lanes=x,o;case R:return o=Jn(19,d,s,g),o.elementType=R,o.lanes=x,o;case M:return Gu(d,g,x,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case w:C=10;break e;case y:C=9;break e;case S:C=11;break e;case b:C=14;break e;case I:C=16,p=null;break e}throw Error(l(130,o==null?o:typeof o,""))}return s=Jn(C,d,s,g),s.elementType=o,s.type=p,s.lanes=x,s}function uo(o,s,d,p){return o=Jn(7,o,p,s),o.lanes=d,o}function Gu(o,s,d,p){return o=Jn(22,o,p,s),o.elementType=M,o.lanes=d,o.stateNode={isHidden:!1},o}function Bh(o,s,d){return o=Jn(6,o,null,s),o.lanes=d,o}function Vh(o,s,d){return s=Jn(4,o.children!==null?o.children:[],o.key,s),s.lanes=d,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function MI(o,s,d,p,g){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=xn,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Lf(0),this.expirationTimes=Lf(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Lf(0),this.identifierPrefix=p,this.onRecoverableError=g,ae&&(this.mutableSourceEagerHydrationData=null)}function mx(o,s,d,p,g,x,C,O,j){return o=new MI(o,s,d,O,j),s===1?(s=1,x===!0&&(s|=8)):s=0,x=Jn(3,null,null,s),o.current=x,x.stateNode=o,x.memoizedState={element:p,isDehydrated:d,cache:null,transitions:null,pendingSuspenseBoundaries:null},Kf(x),o}function gx(o){if(!o)return mr;o=o._reactInternals;e:{if(Z(o)!==o||o.tag!==1)throw Error(l(170));var s=o;do{switch(s.tag){case 3:s=s.stateNode.context;break e;case 1:if(bn(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break e}}s=s.return}while(s!==null);throw Error(l(171))}if(o.tag===1){var d=o.type;if(bn(d))return Dy(o,d,s)}return s}function yx(o){var s=o._reactInternals;if(s===void 0)throw typeof o.render=="function"?Error(l(188)):(o=Object.keys(o).join(","),Error(l(268,o)));return o=K(s),o===null?null:o.stateNode}function vx(o,s){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var d=o.retryLane;o.retryLane=d!==0&&d<s?d:s}}function $u(o,s){vx(o,s),(o=o.alternate)&&vx(o,s)}function _I(o){return o=K(o),o===null?null:o.stateNode}function OI(){return null}return n.attemptContinuousHydration=function(o){if(o.tag===13){var s=ki(o,134217728);if(s!==null){var d=nn();Zn(s,o,134217728,d)}$u(o,134217728)}},n.attemptDiscreteHydration=function(o){if(o.tag===13){var s=ki(o,1);if(s!==null){var d=nn();Zn(s,o,1,d)}$u(o,1)}},n.attemptHydrationAtCurrentPriority=function(o){if(o.tag===13){var s=Sr(o),d=ki(o,s);if(d!==null){var p=nn();Zn(d,o,s,p)}$u(o,s)}},n.attemptSynchronousHydration=function(o){switch(o.tag){case 3:var s=o.stateNode;if(s.current.memoizedState.isDehydrated){var d=ca(s.pendingLanes);d!==0&&(Ff(s,d|1),In(s,jt()),!(Fe&6)&&(us(),Oi()))}break;case 13:sx(function(){var p=ki(o,1);if(p!==null){var g=nn();Zn(p,o,1,g)}}),$u(o,1)}},n.batchedUpdates=function(o,s){var d=Fe;Fe|=1;try{return o(s)}finally{Fe=d,Fe===0&&(us(),uu&&Oi())}},n.createComponentSelector=function(o){return{$$typeof:Ou,value:o}},n.createContainer=function(o,s,d,p,g,x,C){return mx(o,s,!1,null,d,p,g,x,C)},n.createHasPseudoClassSelector=function(o){return{$$typeof:ku,value:o}},n.createHydrationContainer=function(o,s,d,p,g,x,C,O,j){return o=mx(d,p,!0,o,g,x,C,O,j),o.context=gx(null),d=o.current,p=nn(),g=Sr(d),x=Yi(p,g),x.callback=s??null,yr(d,x,g),o.current.lanes=g,da(o,g,p),In(o,p),o},n.createPortal=function(o,s,d){var p=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:h,key:p==null?null:""+p,children:o,containerInfo:s,implementation:d}},n.createRoleSelector=function(o){return{$$typeof:Lu,value:o}},n.createTestNameSelector=function(o){return{$$typeof:Fu,value:o}},n.createTextSelector=function(o){return{$$typeof:Nu,value:o}},n.deferredUpdates=function(o){var s=He,d=Et.transition;try{return Et.transition=null,He=16,o()}finally{He=s,Et.transition=d}},n.discreteUpdates=function(o,s,d,p,g){var x=He,C=Et.transition;try{return Et.transition=null,He=1,o(s,d,p,g)}finally{He=x,Et.transition=C,Fe===0&&us()}},n.findAllNodes=Ph,n.findBoundingRects=function(o,s){if(!kn)throw Error(l(363));s=Ph(o,s),o=[];for(var d=0;d<s.length;d++)o.push(F(s[d]));for(s=o.length-1;0<s;s--){d=o[s];for(var p=d.x,g=p+d.width,x=d.y,C=x+d.height,O=s-1;0<=O;O--)if(s!==O){var j=o[O],ne=j.x,xe=ne+j.width,Te=j.y,se=Te+j.height;if(p>=ne&&x>=Te&&g<=xe&&C<=se){o.splice(s,1);break}else if(p!==ne||d.width!==j.width||se<x||Te>C){if(!(x!==Te||d.height!==j.height||xe<p||ne>g)){ne>p&&(j.width+=ne-p,j.x=p),xe<g&&(j.width=g-ne),o.splice(s,1);break}}else{Te>x&&(j.height+=Te-x,j.y=x),se<C&&(j.height=C-Te),o.splice(s,1);break}}}return o},n.findHostInstance=yx,n.findHostInstanceWithNoPortals=function(o){return o=G(o),o=o!==null?J(o):null,o===null?null:o.stateNode},n.findHostInstanceWithWarning=function(o){return yx(o)},n.flushControlled=function(o){var s=Fe;Fe|=1;var d=Et.transition,p=He;try{Et.transition=null,He=1,o()}finally{He=p,Et.transition=d,Fe=s,Fe===0&&(us(),Oi())}},n.flushPassiveEffects=lo,n.flushSync=sx,n.focusWithin=function(o,s){if(!kn)throw Error(l(363));for(o=Eh(o),s=ix(o,s),s=Array.from(s),o=0;o<s.length;){var d=s[o++];if(!ie(d)){if(d.tag===5&&Se(d.stateNode))return!0;for(d=d.child;d!==null;)s.push(d),d=d.sibling}}return!1},n.getCurrentUpdatePriority=function(){return He},n.getFindAllNodesFailureDescription=function(o,s){if(!kn)throw Error(l(363));var d=0,p=[];o=[Eh(o),0];for(var g=0;g<o.length;){var x=o[g++],C=o[g++],O=s[C];if((x.tag!==5||!ie(x))&&(Ih(x,O)&&(p.push(Ch(O)),C++,C>d&&(d=C)),C<s.length))for(x=x.child;x!==null;)o.push(x,C),x=x.sibling}if(d<s.length){for(o=[];d<s.length;d++)o.push(Ch(s[d]));return`findAllNodes was able to match part of the selector:
8
- `+(p.join(" > ")+`
7
+ `+x.stack}return{value:o,source:a,stack:g,digest:null}}function hh(o,a,d){return{value:o,source:null,stack:d??null,digest:a??null}}function ph(o,a){try{console.error(a.value)}catch(d){setTimeout(function(){throw d})}}var dI=typeof WeakMap=="function"?WeakMap:Map;function _v(o,a,d){d=Ki(-1,d),d.tag=3,d.payload={element:null};var h=a.value;return d.callback=function(){Vu||(Vu=!0,Lh=h),ph(o,a)},d}function Ov(o,a,d){d=Ki(-1,d),d.tag=3;var h=o.type.getDerivedStateFromError;if(typeof h=="function"){var g=a.value;d.payload=function(){return h(g)},d.callback=function(){ph(o,a)}}var x=o.stateNode;return x!==null&&typeof x.componentDidCatch=="function"&&(d.callback=function(){ph(o,a),typeof h!="function"&&(vr===null?vr=new Set([this]):vr.add(this));var C=a.stack;this.componentDidCatch(a.value,{componentStack:C!==null?C:""})}),d}function kv(o,a,d){var h=o.pingCache;if(h===null){h=o.pingCache=new dI;var g=new Set;h.set(a,g)}else g=h.get(a),g===void 0&&(g=new Set,h.set(a,g));g.has(d)||(g.add(d),o=II.bind(null,o,a,d),a.then(o,o))}function Lv(o){do{var a;if((a=o.tag===13)&&(a=o.memoizedState,a=a!==null?a.dehydrated!==null:!0),a)return o;o=o.return}while(o!==null);return null}function Fv(o,a,d,h,g){return o.mode&1?(o.flags|=65536,o.lanes=g,o):(o===a?o.flags|=65536:(o.flags|=128,d.flags|=131072,d.flags&=-52805,d.tag===1&&(d.alternate===null?d.tag=17:(a=Ki(-1,1),a.tag=2,yr(d,a,1))),d.lanes|=1),o)}var fI=u.ReactCurrentOwner,Rn=!1;function cn(o,a,d,h){a.child=o===null?lv(a,null,d,h):os(a,o.child,d,h)}function Nv(o,a,d,h,g){d=d.render;var x=a.ref;return rs(a,g),h=ah(o,a,d,h,x,g),d=lh(),o!==null&&!Rn?(a.updateQueue=o.updateQueue,a.flags&=-2053,o.lanes&=~g,Xi(o,a,g)):(at&&d&&Hf(a),a.flags|=1,cn(o,a,h,g),a.child)}function zv(o,a,d,h,g){if(o===null){var x=d.type;return typeof x=="function"&&!Vh(x)&&x.defaultProps===void 0&&d.compare===null&&d.defaultProps===void 0?(a.tag=15,a.type=x,Dv(o,a,x,h,g)):(o=Gu(d.type,null,h,a,a.mode,g),o.ref=a.ref,o.return=a,a.child=o)}if(x=o.child,!(o.lanes&g)){var C=x.memoizedProps;if(d=d.compare,d=d!==null?d:pu,d(C,h)&&o.ref===a.ref)return Xi(o,a,g)}return a.flags|=1,o=br(x,h),o.ref=a.ref,o.return=a,a.child=o}function Dv(o,a,d,h,g){if(o!==null){var x=o.memoizedProps;if(pu(x,h)&&o.ref===a.ref)if(Rn=!1,a.pendingProps=h=x,(o.lanes&g)!==0)o.flags&131072&&(Rn=!0);else return a.lanes=o.lanes,Xi(o,a,g)}return mh(o,a,d,h,g)}function Bv(o,a,d){var h=a.pendingProps,g=h.children,x=o!==null?o.memoizedState:null;if(h.mode==="hidden")if(!(a.mode&1))a.memoizedState={baseLanes:0,cachePool:null,transitions:null},Je(cs,Fn),Fn|=d;else{if(!(d&1073741824))return o=x!==null?x.baseLanes|d:d,a.lanes=a.childLanes=1073741824,a.memoizedState={baseLanes:o,cachePool:null,transitions:null},a.updateQueue=null,Je(cs,Fn),Fn|=o,null;a.memoizedState={baseLanes:0,cachePool:null,transitions:null},h=x!==null?x.baseLanes:d,Je(cs,Fn),Fn|=h}else x!==null?(h=x.baseLanes|d,a.memoizedState=null):h=d,Je(cs,Fn),Fn|=h;return cn(o,a,g,d),a.child}function Vv(o,a){var d=a.ref;(o===null&&d!==null||o!==null&&o.ref!==d)&&(a.flags|=512,a.flags|=2097152)}function mh(o,a,d,h,g){var x=bn(d)?no:Zt.current;return x=Jo(a,x),rs(a,g),d=ah(o,a,d,h,x,g),h=lh(),o!==null&&!Rn?(a.updateQueue=o.updateQueue,a.flags&=-2053,o.lanes&=~g,Xi(o,a,g)):(at&&h&&Hf(a),a.flags|=1,cn(o,a,d,g),a.child)}function jv(o,a,d,h,g){if(bn(d)){var x=!0;ou(a)}else x=!1;if(rs(a,g),a.stateNode===null)Au(o,a),rv(a,d,h),eh(a,d,h,g),h=!0;else if(o===null){var C=a.stateNode,O=a.memoizedProps;C.props=O;var j=C.context,ne=d.contextType;typeof ne=="object"&&ne!==null?ne=Kn(ne):(ne=bn(d)?no:Zt.current,ne=Jo(a,ne));var xe=d.getDerivedStateFromProps,Te=typeof xe=="function"||typeof C.getSnapshotBeforeUpdate=="function";Te||typeof C.UNSAFE_componentWillReceiveProps!="function"&&typeof C.componentWillReceiveProps!="function"||(O!==h||j!==ne)&&ov(a,C,h,ne),gr=!1;var se=a.memoizedState;C.state=se,vu(a,h,C,g),j=a.memoizedState,O!==h||se!==j||wn.current||gr?(typeof xe=="function"&&(Jf(a,d,xe,h),j=a.memoizedState),(O=gr||iv(a,d,O,h,se,j,ne))?(Te||typeof C.UNSAFE_componentWillMount!="function"&&typeof C.componentWillMount!="function"||(typeof C.componentWillMount=="function"&&C.componentWillMount(),typeof C.UNSAFE_componentWillMount=="function"&&C.UNSAFE_componentWillMount()),typeof C.componentDidMount=="function"&&(a.flags|=4194308)):(typeof C.componentDidMount=="function"&&(a.flags|=4194308),a.memoizedProps=h,a.memoizedState=j),C.props=h,C.state=j,C.context=ne,h=O):(typeof C.componentDidMount=="function"&&(a.flags|=4194308),h=!1)}else{C=a.stateNode,Jy(o,a),O=a.memoizedProps,ne=a.type===a.elementType?O:pi(a.type,O),C.props=ne,Te=a.pendingProps,se=C.context,j=d.contextType,typeof j=="object"&&j!==null?j=Kn(j):(j=bn(d)?no:Zt.current,j=Jo(a,j));var rt=d.getDerivedStateFromProps;(xe=typeof rt=="function"||typeof C.getSnapshotBeforeUpdate=="function")||typeof C.UNSAFE_componentWillReceiveProps!="function"&&typeof C.componentWillReceiveProps!="function"||(O!==Te||se!==j)&&ov(a,C,h,j),gr=!1,se=a.memoizedState,C.state=se,vu(a,h,C,g);var Ke=a.memoizedState;O!==Te||se!==Ke||wn.current||gr?(typeof rt=="function"&&(Jf(a,d,rt,h),Ke=a.memoizedState),(ne=gr||iv(a,d,ne,h,se,Ke,j)||!1)?(xe||typeof C.UNSAFE_componentWillUpdate!="function"&&typeof C.componentWillUpdate!="function"||(typeof C.componentWillUpdate=="function"&&C.componentWillUpdate(h,Ke,j),typeof C.UNSAFE_componentWillUpdate=="function"&&C.UNSAFE_componentWillUpdate(h,Ke,j)),typeof C.componentDidUpdate=="function"&&(a.flags|=4),typeof C.getSnapshotBeforeUpdate=="function"&&(a.flags|=1024)):(typeof C.componentDidUpdate!="function"||O===o.memoizedProps&&se===o.memoizedState||(a.flags|=4),typeof C.getSnapshotBeforeUpdate!="function"||O===o.memoizedProps&&se===o.memoizedState||(a.flags|=1024),a.memoizedProps=h,a.memoizedState=Ke),C.props=h,C.state=Ke,C.context=j,h=ne):(typeof C.componentDidUpdate!="function"||O===o.memoizedProps&&se===o.memoizedState||(a.flags|=4),typeof C.getSnapshotBeforeUpdate!="function"||O===o.memoizedProps&&se===o.memoizedState||(a.flags|=1024),h=!1)}return gh(o,a,d,h,x,g)}function gh(o,a,d,h,g,x){Vv(o,a);var C=(a.flags&128)!==0;if(!h&&!C)return g&&jy(a,d,!1),Xi(o,a,x);h=a.stateNode,fI.current=a;var O=C&&typeof d.getDerivedStateFromError!="function"?null:h.render();return a.flags|=1,o!==null&&C?(a.child=os(a,o.child,null,x),a.child=os(a,null,O,x)):cn(o,a,O,x),a.memoizedState=h.state,g&&jy(a,d,!0),a.child}function Hv(o){var a=o.stateNode;a.pendingContext?By(o,a.pendingContext,a.pendingContext!==a.context):a.context&&By(o,a.context,!1),th(o,a.containerInfo)}function Wv(o,a,d,h,g){return ns(),Gf(g),a.flags|=256,cn(o,a,d,h),a.child}var yh={dehydrated:null,treeContext:null,retryLane:0};function vh(o){return{baseLanes:o,cachePool:null,transitions:null}}function Uv(o,a,d){var h=a.pendingProps,g=dt.current,x=!1,C=(a.flags&128)!==0,O;if((O=C)||(O=o!==null&&o.memoizedState===null?!1:(g&2)!==0),O?(x=!0,a.flags&=-129):(o===null||o.memoizedState!==null)&&(g|=1),Je(dt,g&1),o===null)return qf(a),o=a.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(a.mode&1?Mf(o)?a.lanes=8:a.lanes=1073741824:a.lanes=1,null):(C=h.children,o=h.fallback,x?(h=a.mode,x=a.child,C={mode:"hidden",children:C},!(h&1)&&x!==null?(x.childLanes=0,x.pendingProps=C):x=$u(C,h,0,null),o=fo(o,h,d,null),x.return=a,o.return=a,x.sibling=o,a.child=x,a.child.memoizedState=vh(d),a.memoizedState=yh,o):xh(a,C));if(g=o.memoizedState,g!==null&&(O=g.dehydrated,O!==null))return hI(o,a,C,h,O,g,d);if(x){x=h.fallback,C=a.mode,g=o.child,O=g.sibling;var j={mode:"hidden",children:h.children};return!(C&1)&&a.child!==g?(h=a.child,h.childLanes=0,h.pendingProps=j,a.deletions=null):(h=br(g,j),h.subtreeFlags=g.subtreeFlags&14680064),O!==null?x=br(O,x):(x=fo(x,C,d,null),x.flags|=2),x.return=a,h.return=a,h.sibling=x,a.child=h,h=x,x=a.child,C=o.child.memoizedState,C=C===null?vh(d):{baseLanes:C.baseLanes|d,cachePool:null,transitions:C.transitions},x.memoizedState=C,x.childLanes=o.childLanes&~d,a.memoizedState=yh,h}return x=o.child,o=x.sibling,h=br(x,{mode:"visible",children:h.children}),!(a.mode&1)&&(h.lanes=d),h.return=a,h.sibling=null,o!==null&&(d=a.deletions,d===null?(a.deletions=[o],a.flags|=16):d.push(o)),a.child=h,a.memoizedState=null,h}function xh(o,a){return a=$u({mode:"visible",children:a},o.mode,0,null),a.return=o,o.child=a}function Pu(o,a,d,h){return h!==null&&Gf(h),os(a,o.child,null,d),o=xh(a,a.pendingProps.children),o.flags|=2,a.memoizedState=null,o}function hI(o,a,d,h,g,x,C){if(d)return a.flags&256?(a.flags&=-257,h=hh(Error(l(422))),Pu(o,a,C,h)):a.memoizedState!==null?(a.child=o.child,a.flags|=128,null):(x=h.fallback,g=a.mode,h=$u({mode:"visible",children:h.children},g,0,null),x=fo(x,g,C,null),x.flags|=2,h.return=a,x.return=a,h.sibling=x,a.child=h,a.mode&1&&os(a,o.child,null,C),a.child.memoizedState=vh(C),a.memoizedState=yh,x);if(!(a.mode&1))return Pu(o,a,C,null);if(Mf(g))return h=CE(g).digest,x=Error(l(419)),h=hh(x,h,void 0),Pu(o,a,C,h);if(d=(C&o.childLanes)!==0,Rn||d){if(h=Ut,h!==null){switch(C&-C){case 4:g=2;break;case 16:g=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:g=32;break;case 536870912:g=268435456;break;default:g=0}g=g&(h.suspendedLanes|C)?0:g,g!==0&&g!==x.retryLane&&(x.retryLane=g,Li(o,g),Jn(h,o,g,-1))}return Bh(),h=hh(Error(l(421))),Pu(o,a,C,h)}return Dy(g)?(a.flags|=128,a.child=o.child,a=CI.bind(null,o),PE(g,a),null):(o=x.treeContext,ae&&(Yn=ME(g),Ln=a,at=!0,hi=null,ha=!1,o!==null&&($n[Qn++]=Qi,$n[Qn++]=Yi,$n[Qn++]=io,Qi=o.id,Yi=o.overflow,io=a)),a=xh(a,h.children),a.flags|=4096,a)}function qv(o,a,d){o.lanes|=a;var h=o.alternate;h!==null&&(h.lanes|=a),Kf(o.return,a,d)}function Sh(o,a,d,h,g){var x=o.memoizedState;x===null?o.memoizedState={isBackwards:a,rendering:null,renderingStartTime:0,last:h,tail:d,tailMode:g}:(x.isBackwards=a,x.rendering=null,x.renderingStartTime=0,x.last=h,x.tail=d,x.tailMode=g)}function Gv(o,a,d){var h=a.pendingProps,g=h.revealOrder,x=h.tail;if(cn(o,a,h.children,d),h=dt.current,h&2)h=h&1|2,a.flags|=128;else{if(o!==null&&o.flags&128)e:for(o=a.child;o!==null;){if(o.tag===13)o.memoizedState!==null&&qv(o,d,a);else if(o.tag===19)qv(o,d,a);else if(o.child!==null){o.child.return=o,o=o.child;continue}if(o===a)break e;for(;o.sibling===null;){if(o.return===null||o.return===a)break e;o=o.return}o.sibling.return=o.return,o=o.sibling}h&=1}if(Je(dt,h),!(a.mode&1))a.memoizedState=null;else switch(g){case"forwards":for(d=a.child,g=null;d!==null;)o=d.alternate,o!==null&&wu(o)===null&&(g=d),d=d.sibling;d=g,d===null?(g=a.child,a.child=null):(g=d.sibling,d.sibling=null),Sh(a,!1,g,d,x);break;case"backwards":for(d=null,g=a.child,a.child=null;g!==null;){if(o=g.alternate,o!==null&&wu(o)===null){a.child=g;break}o=g.sibling,g.sibling=d,d=g,g=o}Sh(a,!0,d,null,x);break;case"together":Sh(a,!1,null,null,void 0);break;default:a.memoizedState=null}return a.child}function Au(o,a){!(a.mode&1)&&o!==null&&(o.alternate=null,a.alternate=null,a.flags|=2)}function Xi(o,a,d){if(o!==null&&(a.dependencies=o.dependencies),ao|=a.lanes,!(d&a.childLanes))return null;if(o!==null&&a.child!==o.child)throw Error(l(153));if(a.child!==null){for(o=a.child,d=br(o,o.pendingProps),a.child=d,d.return=a;o.sibling!==null;)o=o.sibling,d=d.sibling=br(o,o.pendingProps),d.return=a;d.sibling=null}return a.child}function pI(o,a,d){switch(a.tag){case 3:Hv(a),ns();break;case 5:uv(a);break;case 1:bn(a.type)&&ou(a);break;case 4:th(a,a.stateNode.containerInfo);break;case 10:Xy(a,a.type._context,a.memoizedProps.value);break;case 13:var h=a.memoizedState;if(h!==null)return h.dehydrated!==null?(Je(dt,dt.current&1),a.flags|=128,null):d&a.child.childLanes?Uv(o,a,d):(Je(dt,dt.current&1),o=Xi(o,a,d),o!==null?o.sibling:null);Je(dt,dt.current&1);break;case 19:if(h=(d&a.childLanes)!==0,o.flags&128){if(h)return Gv(o,a,d);a.flags|=128}var g=a.memoizedState;if(g!==null&&(g.rendering=null,g.tail=null,g.lastEffect=null),Je(dt,dt.current),h)break;return null;case 22:case 23:return a.lanes=0,Bv(o,a,d)}return Xi(o,a,d)}function zi(o){o.flags|=4}function $v(o,a){if(o!==null&&o.child===a.child)return!0;if(a.flags&16)return!1;for(o=a.child;o!==null;){if(o.flags&12854||o.subtreeFlags&12854)return!1;o=o.sibling}return!0}var wa,ba,Tu,Mu;if(Ne)wa=function(o,a){for(var d=a.child;d!==null;){if(d.tag===5||d.tag===6)je(o,d.stateNode);else if(d.tag!==4&&d.child!==null){d.child.return=d,d=d.child;continue}if(d===a)break;for(;d.sibling===null;){if(d.return===null||d.return===a)return;d=d.return}d.sibling.return=d.return,d=d.sibling}},ba=function(){},Tu=function(o,a,d,h,g){if(o=o.memoizedProps,o!==h){var x=a.stateNode,C=Fi(Xn.current);d=$e(x,d,o,h,g,C),(a.updateQueue=d)&&zi(a)}},Mu=function(o,a,d,h){d!==h&&zi(a)};else if(fe){wa=function(o,a,d,h){for(var g=a.child;g!==null;){if(g.tag===5){var x=g.stateNode;d&&h&&(x=to(x,g.type,g.memoizedProps,g)),je(o,x)}else if(g.tag===6)x=g.stateNode,d&&h&&(x=ua(x,g.memoizedProps,g)),je(o,x);else if(g.tag!==4){if(g.tag===22&&g.memoizedState!==null)x=g.child,x!==null&&(x.return=g),wa(o,g,!0,!0);else if(g.child!==null){g.child.return=g,g=g.child;continue}}if(g===a)break;for(;g.sibling===null;){if(g.return===null||g.return===a)return;g=g.return}g.sibling.return=g.return,g=g.sibling}};var Qv=function(o,a,d,h){for(var g=a.child;g!==null;){if(g.tag===5){var x=g.stateNode;d&&h&&(x=to(x,g.type,g.memoizedProps,g)),Ft(o,x)}else if(g.tag===6)x=g.stateNode,d&&h&&(x=ua(x,g.memoizedProps,g)),Ft(o,x);else if(g.tag!==4){if(g.tag===22&&g.memoizedState!==null)x=g.child,x!==null&&(x.return=g),Qv(o,g,!0,!0);else if(g.child!==null){g.child.return=g,g=g.child;continue}}if(g===a)break;for(;g.sibling===null;){if(g.return===null||g.return===a)return;g=g.return}g.sibling.return=g.return,g=g.sibling}};ba=function(o,a){var d=a.stateNode;if(!$v(o,a)){o=d.containerInfo;var h=ct(o);Qv(h,a,!1,!1),d.pendingChildren=h,zi(a),hr(o,h)}},Tu=function(o,a,d,h,g){var x=o.stateNode,C=o.memoizedProps;if((o=$v(o,a))&&C===h)a.stateNode=x;else{var O=a.stateNode,j=Fi(Xn.current),ne=null;C!==h&&(ne=$e(O,d,C,h,g,j)),o&&ne===null?a.stateNode=x:(x=Lt(x,ne,d,C,h,a,o,O),Ge(x,d,h,g,j)&&zi(a),a.stateNode=x,o?zi(a):wa(x,a,!1,!1))}},Mu=function(o,a,d,h){d!==h?(o=Fi(ss.current),d=Fi(Xn.current),a.stateNode=Ze(h,o,d,a),zi(a)):a.stateNode=o.stateNode}}else ba=function(){},Tu=function(){},Mu=function(){};function Ra(o,a){if(!at)switch(o.tailMode){case"hidden":a=o.tail;for(var d=null;a!==null;)a.alternate!==null&&(d=a),a=a.sibling;d===null?o.tail=null:d.sibling=null;break;case"collapsed":d=o.tail;for(var h=null;d!==null;)d.alternate!==null&&(h=d),d=d.sibling;h===null?a||o.tail===null?o.tail=null:o.tail.sibling=null:h.sibling=null}}function en(o){var a=o.alternate!==null&&o.alternate.child===o.child,d=0,h=0;if(a)for(var g=o.child;g!==null;)d|=g.lanes|g.childLanes,h|=g.subtreeFlags&14680064,h|=g.flags&14680064,g.return=o,g=g.sibling;else for(g=o.child;g!==null;)d|=g.lanes|g.childLanes,h|=g.subtreeFlags,h|=g.flags,g.return=o,g=g.sibling;return o.subtreeFlags|=h,o.childLanes=d,a}function mI(o,a,d){var h=a.pendingProps;switch(Wf(a),a.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return en(a),null;case 1:return bn(a.type)&&ru(),en(a),null;case 3:return d=a.stateNode,as(),it(wn),it(Zt),rh(),d.pendingContext&&(d.context=d.pendingContext,d.pendingContext=null),(o===null||o.child===null)&&(hu(a)?zi(a):o===null||o.memoizedState.isDehydrated&&!(a.flags&256)||(a.flags|=1024,hi!==null&&(zh(hi),hi=null))),ba(o,a),en(a),null;case 5:nh(a),d=Fi(ss.current);var g=a.type;if(o!==null&&a.stateNode!=null)Tu(o,a,g,h,d),o.ref!==a.ref&&(a.flags|=512,a.flags|=2097152);else{if(!h){if(a.stateNode===null)throw Error(l(166));return en(a),null}if(o=Fi(Xn.current),hu(a)){if(!ae)throw Error(l(175));o=_E(a.stateNode,a.type,a.memoizedProps,d,o,a,!ha),a.updateQueue=o,o!==null&&zi(a)}else{var x=Le(g,h,d,o,a);wa(x,a,!1,!1),a.stateNode=x,Ge(x,g,h,d,o)&&zi(a)}a.ref!==null&&(a.flags|=512,a.flags|=2097152)}return en(a),null;case 6:if(o&&a.stateNode!=null)Mu(o,a,o.memoizedProps,h);else{if(typeof h!="string"&&a.stateNode===null)throw Error(l(166));if(o=Fi(ss.current),d=Fi(Xn.current),hu(a)){if(!ae)throw Error(l(176));if(o=a.stateNode,d=a.memoizedProps,(h=OE(o,d,a,!ha))&&(g=Ln,g!==null))switch(g.tag){case 3:VE(g.stateNode.containerInfo,o,d,(g.mode&1)!==0);break;case 5:jE(g.type,g.memoizedProps,g.stateNode,o,d,(g.mode&1)!==0)}h&&zi(a)}else a.stateNode=Ze(h,o,d,a)}return en(a),null;case 13:if(it(dt),h=a.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(at&&Yn!==null&&a.mode&1&&!(a.flags&128))Ky(),ns(),a.flags|=98560,g=!1;else if(g=hu(a),h!==null&&h.dehydrated!==null){if(o===null){if(!g)throw Error(l(318));if(!ae)throw Error(l(344));if(g=a.memoizedState,g=g!==null?g.dehydrated:null,!g)throw Error(l(317));kE(g,a)}else ns(),!(a.flags&128)&&(a.memoizedState=null),a.flags|=4;en(a),g=!1}else hi!==null&&(zh(hi),hi=null),g=!0;if(!g)return a.flags&65536?a:null}return a.flags&128?(a.lanes=d,a):(d=h!==null,d!==(o!==null&&o.memoizedState!==null)&&d&&(a.child.flags|=8192,a.mode&1&&(o===null||dt.current&1?zt===0&&(zt=3):Bh())),a.updateQueue!==null&&(a.flags|=4),en(a),null);case 4:return as(),ba(o,a),o===null&&Rt(a.stateNode.containerInfo),en(a),null;case 10:return Yf(a.type._context),en(a),null;case 17:return bn(a.type)&&ru(),en(a),null;case 19:if(it(dt),g=a.memoizedState,g===null)return en(a),null;if(h=(a.flags&128)!==0,x=g.rendering,x===null)if(h)Ra(g,!1);else{if(zt!==0||o!==null&&o.flags&128)for(o=a.child;o!==null;){if(x=wu(o),x!==null){for(a.flags|=128,Ra(g,!1),o=x.updateQueue,o!==null&&(a.updateQueue=o,a.flags|=4),a.subtreeFlags=0,o=d,d=a.child;d!==null;)h=d,g=o,h.flags&=14680066,x=h.alternate,x===null?(h.childLanes=0,h.lanes=g,h.child=null,h.subtreeFlags=0,h.memoizedProps=null,h.memoizedState=null,h.updateQueue=null,h.dependencies=null,h.stateNode=null):(h.childLanes=x.childLanes,h.lanes=x.lanes,h.child=x.child,h.subtreeFlags=0,h.deletions=null,h.memoizedProps=x.memoizedProps,h.memoizedState=x.memoizedState,h.updateQueue=x.updateQueue,h.type=x.type,g=x.dependencies,h.dependencies=g===null?null:{lanes:g.lanes,firstContext:g.firstContext}),d=d.sibling;return Je(dt,dt.current&1|2),a.child}o=o.sibling}g.tail!==null&&Ht()>kh&&(a.flags|=128,h=!0,Ra(g,!1),a.lanes=4194304)}else{if(!h)if(o=wu(x),o!==null){if(a.flags|=128,h=!0,o=o.updateQueue,o!==null&&(a.updateQueue=o,a.flags|=4),Ra(g,!0),g.tail===null&&g.tailMode==="hidden"&&!x.alternate&&!at)return en(a),null}else 2*Ht()-g.renderingStartTime>kh&&d!==1073741824&&(a.flags|=128,h=!0,Ra(g,!1),a.lanes=4194304);g.isBackwards?(x.sibling=a.child,a.child=x):(o=g.last,o!==null?o.sibling=x:a.child=x,g.last=x)}return g.tail!==null?(a=g.tail,g.rendering=a,g.tail=a.sibling,g.renderingStartTime=Ht(),a.sibling=null,o=dt.current,Je(dt,h?o&1|2:o&1),a):(en(a),null);case 22:case 23:return Dh(),d=a.memoizedState!==null,o!==null&&o.memoizedState!==null!==d&&(a.flags|=8192),d&&a.mode&1?Fn&1073741824&&(en(a),Ne&&a.subtreeFlags&6&&(a.flags|=8192)):en(a),null;case 24:return null;case 25:return null}throw Error(l(156,a.tag))}function gI(o,a){switch(Wf(a),a.tag){case 1:return bn(a.type)&&ru(),o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 3:return as(),it(wn),it(Zt),rh(),o=a.flags,o&65536&&!(o&128)?(a.flags=o&-65537|128,a):null;case 5:return nh(a),null;case 13:if(it(dt),o=a.memoizedState,o!==null&&o.dehydrated!==null){if(a.alternate===null)throw Error(l(340));ns()}return o=a.flags,o&65536?(a.flags=o&-65537|128,a):null;case 19:return it(dt),null;case 4:return as(),null;case 10:return Yf(a.type._context),null;case 22:case 23:return Dh(),null;case 24:return null;default:return null}}var _u=!1,tn=!1,yI=typeof WeakSet=="function"?WeakSet:Set,ye=null;function us(o,a){var d=o.ref;if(d!==null)if(typeof d=="function")try{d(null)}catch(h){lt(o,a,h)}else d.current=null}function wh(o,a,d){try{d()}catch(h){lt(o,a,h)}}var Yv=!1;function vI(o,a){for(N(o.containerInfo),ye=a;ye!==null;)if(o=ye,a=o.child,(o.subtreeFlags&1028)!==0&&a!==null)a.return=o,ye=a;else for(;ye!==null;){o=ye;try{var d=o.alternate;if(o.flags&1024)switch(o.tag){case 0:case 11:case 15:break;case 1:if(d!==null){var h=d.memoizedProps,g=d.memoizedState,x=o.stateNode,C=x.getSnapshotBeforeUpdate(o.elementType===o.type?h:pi(o.type,h),g);x.__reactInternalSnapshotBeforeUpdate=C}break;case 3:Ne&&Ye(o.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(l(163))}}catch(O){lt(o,o.return,O)}if(a=o.sibling,a!==null){a.return=o.return,ye=a;break}ye=o.return}return d=Yv,Yv=!1,d}function Ea(o,a,d){var h=a.updateQueue;if(h=h!==null?h.lastEffect:null,h!==null){var g=h=h.next;do{if((g.tag&o)===o){var x=g.destroy;g.destroy=void 0,x!==void 0&&wh(a,d,x)}g=g.next}while(g!==h)}}function Ou(o,a){if(a=a.updateQueue,a=a!==null?a.lastEffect:null,a!==null){var d=a=a.next;do{if((d.tag&o)===o){var h=d.create;d.destroy=h()}d=d.next}while(d!==a)}}function bh(o){var a=o.ref;if(a!==null){var d=o.stateNode;switch(o.tag){case 5:o=oe(d);break;default:o=d}typeof a=="function"?a(o):a.current=o}}function Kv(o){var a=o.alternate;a!==null&&(o.alternate=null,Kv(a)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(a=o.stateNode,a!==null&&un(a)),o.stateNode=null,o.return=null,o.dependencies=null,o.memoizedProps=null,o.memoizedState=null,o.pendingProps=null,o.stateNode=null,o.updateQueue=null}function Xv(o){return o.tag===5||o.tag===3||o.tag===4}function Zv(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||Xv(o.return))return null;o=o.return}for(o.sibling.return=o.return,o=o.sibling;o.tag!==5&&o.tag!==6&&o.tag!==18;){if(o.flags&2||o.child===null||o.tag===4)continue e;o.child.return=o,o=o.child}if(!(o.flags&2))return o.stateNode}}function Rh(o,a,d){var h=o.tag;if(h===5||h===6)o=o.stateNode,a?W(d,o,a):X(d,o);else if(h!==4&&(o=o.child,o!==null))for(Rh(o,a,d),o=o.sibling;o!==null;)Rh(o,a,d),o=o.sibling}function Eh(o,a,d){var h=o.tag;if(h===5||h===6)o=o.stateNode,a?Be(d,o,a):k(d,o);else if(h!==4&&(o=o.child,o!==null))for(Eh(o,a,d),o=o.sibling;o!==null;)Eh(o,a,d),o=o.sibling}var Qt=null,mi=!1;function Di(o,a,d){for(d=d.child;d!==null;)Ih(o,a,d),d=d.sibling}function Ih(o,a,d){if(Oi&&typeof Oi.onCommitFiberUnmount=="function")try{Oi.onCommitFiberUnmount(uu,d)}catch{}switch(d.tag){case 5:tn||us(d,a);case 6:if(Ne){var h=Qt,g=mi;Qt=null,Di(o,a,d),Qt=h,mi=g,Qt!==null&&(mi?ge(Qt,d.stateNode):Y(Qt,d.stateNode))}else Di(o,a,d);break;case 18:Ne&&Qt!==null&&(mi?DE(Qt,d.stateNode):zE(Qt,d.stateNode));break;case 4:Ne?(h=Qt,g=mi,Qt=d.stateNode.containerInfo,mi=!0,Di(o,a,d),Qt=h,mi=g):(fe&&(h=d.stateNode.containerInfo,g=ct(h),ci(h,g)),Di(o,a,d));break;case 0:case 11:case 14:case 15:if(!tn&&(h=d.updateQueue,h!==null&&(h=h.lastEffect,h!==null))){g=h=h.next;do{var x=g,C=x.destroy;x=x.tag,C!==void 0&&(x&2||x&4)&&wh(d,a,C),g=g.next}while(g!==h)}Di(o,a,d);break;case 1:if(!tn&&(us(d,a),h=d.stateNode,typeof h.componentWillUnmount=="function"))try{h.props=d.memoizedProps,h.state=d.memoizedState,h.componentWillUnmount()}catch(O){lt(d,a,O)}Di(o,a,d);break;case 21:Di(o,a,d);break;case 22:d.mode&1?(tn=(h=tn)||d.memoizedState!==null,Di(o,a,d),tn=h):Di(o,a,d);break;default:Di(o,a,d)}}function Jv(o){var a=o.updateQueue;if(a!==null){o.updateQueue=null;var d=o.stateNode;d===null&&(d=o.stateNode=new yI),a.forEach(function(h){var g=PI.bind(null,o,h);d.has(h)||(d.add(h),h.then(g,g))})}}function gi(o,a){var d=a.deletions;if(d!==null)for(var h=0;h<d.length;h++){var g=d[h];try{var x=o,C=a;if(Ne){var O=C;e:for(;O!==null;){switch(O.tag){case 5:Qt=O.stateNode,mi=!1;break e;case 3:Qt=O.stateNode.containerInfo,mi=!0;break e;case 4:Qt=O.stateNode.containerInfo,mi=!0;break e}O=O.return}if(Qt===null)throw Error(l(160));Ih(x,C,g),Qt=null,mi=!1}else Ih(x,C,g);var j=g.alternate;j!==null&&(j.return=null),g.return=null}catch(ne){lt(g,a,ne)}}if(a.subtreeFlags&12854)for(a=a.child;a!==null;)ex(a,o),a=a.sibling}function ex(o,a){var d=o.alternate,h=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(gi(a,o),Bi(o),h&4){try{Ea(3,o,o.return),Ou(3,o)}catch(se){lt(o,o.return,se)}try{Ea(5,o,o.return)}catch(se){lt(o,o.return,se)}}break;case 1:gi(a,o),Bi(o),h&512&&d!==null&&us(d,d.return);break;case 5:if(gi(a,o),Bi(o),h&512&&d!==null&&us(d,d.return),Ne){if(o.flags&32){var g=o.stateNode;try{he(g)}catch(se){lt(o,o.return,se)}}if(h&4&&(g=o.stateNode,g!=null)){var x=o.memoizedProps;if(d=d!==null?d.memoizedProps:x,h=o.type,a=o.updateQueue,o.updateQueue=null,a!==null)try{_e(g,a,h,d,x,o)}catch(se){lt(o,o.return,se)}}}break;case 6:if(gi(a,o),Bi(o),h&4&&Ne){if(o.stateNode===null)throw Error(l(162));g=o.stateNode,x=o.memoizedProps,d=d!==null?d.memoizedProps:x;try{ee(g,d,x)}catch(se){lt(o,o.return,se)}}break;case 3:if(gi(a,o),Bi(o),h&4){if(Ne&&ae&&d!==null&&d.memoizedState.isDehydrated)try{FE(a.containerInfo)}catch(se){lt(o,o.return,se)}if(fe){g=a.containerInfo,x=a.pendingChildren;try{ci(g,x)}catch(se){lt(o,o.return,se)}}}break;case 4:if(gi(a,o),Bi(o),h&4&&fe){x=o.stateNode,g=x.containerInfo,x=x.pendingChildren;try{ci(g,x)}catch(se){lt(o,o.return,se)}}break;case 13:gi(a,o),Bi(o),g=o.child,g.flags&8192&&(x=g.memoizedState!==null,g.stateNode.isHidden=x,!x||g.alternate!==null&&g.alternate.memoizedState!==null||(Oh=Ht())),h&4&&Jv(o);break;case 22:var C=d!==null&&d.memoizedState!==null;if(o.mode&1?(tn=(d=tn)||C,gi(a,o),tn=d):gi(a,o),Bi(o),h&8192){if(d=o.memoizedState!==null,(o.stateNode.isHidden=d)&&!C&&o.mode&1)for(ye=o,h=o.child;h!==null;){for(a=ye=h;ye!==null;){C=ye;var O=C.child;switch(C.tag){case 0:case 11:case 14:case 15:Ea(4,C,C.return);break;case 1:us(C,C.return);var j=C.stateNode;if(typeof j.componentWillUnmount=="function"){var ne=C,xe=C.return;try{var Te=ne;j.props=Te.memoizedProps,j.state=Te.memoizedState,j.componentWillUnmount()}catch(se){lt(ne,xe,se)}}break;case 5:us(C,C.return);break;case 22:if(C.memoizedState!==null){ix(a);continue}}O!==null?(O.return=C,ye=O):ix(a)}h=h.sibling}if(Ne){e:if(h=null,Ne)for(a=o;;){if(a.tag===5){if(h===null){h=a;try{g=a.stateNode,d?pe(g):tt(a.stateNode,a.memoizedProps)}catch(se){lt(o,o.return,se)}}}else if(a.tag===6){if(h===null)try{x=a.stateNode,d?ke(x):nt(x,a.memoizedProps)}catch(se){lt(o,o.return,se)}}else if((a.tag!==22&&a.tag!==23||a.memoizedState===null||a===o)&&a.child!==null){a.child.return=a,a=a.child;continue}if(a===o)break e;for(;a.sibling===null;){if(a.return===null||a.return===o)break e;h===a&&(h=null),a=a.return}h===a&&(h=null),a.sibling.return=a.return,a=a.sibling}}}break;case 19:gi(a,o),Bi(o),h&4&&Jv(o);break;case 21:break;default:gi(a,o),Bi(o)}}function Bi(o){var a=o.flags;if(a&2){try{if(Ne){e:{for(var d=o.return;d!==null;){if(Xv(d)){var h=d;break e}d=d.return}throw Error(l(160))}switch(h.tag){case 5:var g=h.stateNode;h.flags&32&&(he(g),h.flags&=-33);var x=Zv(o);Eh(o,x,g);break;case 3:case 4:var C=h.stateNode.containerInfo,O=Zv(o);Rh(o,O,C);break;default:throw Error(l(161))}}}catch(j){lt(o,o.return,j)}o.flags&=-3}a&4096&&(o.flags&=-4097)}function xI(o,a,d){ye=o,tx(o,a,d)}function tx(o,a,d){for(var h=(o.mode&1)!==0;ye!==null;){var g=ye,x=g.child;if(g.tag===22&&h){var C=g.memoizedState!==null||_u;if(!C){var O=g.alternate,j=O!==null&&O.memoizedState!==null||tn;O=_u;var ne=tn;if(_u=C,(tn=j)&&!ne)for(ye=g;ye!==null;)C=ye,j=C.child,C.tag===22&&C.memoizedState!==null?rx(g):j!==null?(j.return=C,ye=j):rx(g);for(;x!==null;)ye=x,tx(x,a,d),x=x.sibling;ye=g,_u=O,tn=ne}nx(o,a,d)}else g.subtreeFlags&8772&&x!==null?(x.return=g,ye=x):nx(o,a,d)}}function nx(o){for(;ye!==null;){var a=ye;if(a.flags&8772){var d=a.alternate;try{if(a.flags&8772)switch(a.tag){case 0:case 11:case 15:tn||Ou(5,a);break;case 1:var h=a.stateNode;if(a.flags&4&&!tn)if(d===null)h.componentDidMount();else{var g=a.elementType===a.type?d.memoizedProps:pi(a.type,d.memoizedProps);h.componentDidUpdate(g,d.memoizedState,h.__reactInternalSnapshotBeforeUpdate)}var x=a.updateQueue;x!==null&&tv(a,x,h);break;case 3:var C=a.updateQueue;if(C!==null){if(d=null,a.child!==null)switch(a.child.tag){case 5:d=oe(a.child.stateNode);break;case 1:d=a.child.stateNode}tv(a,C,d)}break;case 5:var O=a.stateNode;d===null&&a.flags&4&&Ie(O,a.type,a.memoizedProps,a);break;case 6:break;case 4:break;case 12:break;case 13:if(ae&&a.memoizedState===null){var j=a.alternate;if(j!==null){var ne=j.memoizedState;if(ne!==null){var xe=ne.dehydrated;xe!==null&&NE(xe)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(l(163))}tn||a.flags&512&&bh(a)}catch(Te){lt(a,a.return,Te)}}if(a===o){ye=null;break}if(d=a.sibling,d!==null){d.return=a.return,ye=d;break}ye=a.return}}function ix(o){for(;ye!==null;){var a=ye;if(a===o){ye=null;break}var d=a.sibling;if(d!==null){d.return=a.return,ye=d;break}ye=a.return}}function rx(o){for(;ye!==null;){var a=ye;try{switch(a.tag){case 0:case 11:case 15:var d=a.return;try{Ou(4,a)}catch(j){lt(a,d,j)}break;case 1:var h=a.stateNode;if(typeof h.componentDidMount=="function"){var g=a.return;try{h.componentDidMount()}catch(j){lt(a,g,j)}}var x=a.return;try{bh(a)}catch(j){lt(a,x,j)}break;case 5:var C=a.return;try{bh(a)}catch(j){lt(a,C,j)}}}catch(j){lt(a,a.return,j)}if(a===o){ye=null;break}var O=a.sibling;if(O!==null){O.return=a.return,ye=O;break}ye=a.return}}var ku=0,Lu=1,Fu=2,Nu=3,zu=4;if(typeof Symbol=="function"&&Symbol.for){var Ia=Symbol.for;ku=Ia("selector.component"),Lu=Ia("selector.has_pseudo_class"),Fu=Ia("selector.role"),Nu=Ia("selector.test_id"),zu=Ia("selector.text")}function Ch(o){var a=De(o);if(a!=null){if(typeof a.memoizedProps["data-testname"]!="string")throw Error(l(364));return a}if(o=la(o),o===null)throw Error(l(362));return o.stateNode.current}function Ph(o,a){switch(a.$$typeof){case ku:if(o.type===a.value)return!0;break;case Lu:e:{a=a.value,o=[o,0];for(var d=0;d<o.length;){var h=o[d++],g=o[d++],x=a[g];if(h.tag!==5||!ie(h)){for(;x!=null&&Ph(h,x);)g++,x=a[g];if(g===a.length){a=!0;break e}else for(h=h.child;h!==null;)o.push(h,g),h=h.sibling}}a=!1}return a;case Fu:if(o.tag===5&&le(o.stateNode,a.value))return!0;break;case zu:if((o.tag===5||o.tag===6)&&(o=$(o),o!==null&&0<=o.indexOf(a.value)))return!0;break;case Nu:if(o.tag===5&&(o=o.memoizedProps["data-testname"],typeof o=="string"&&o.toLowerCase()===a.value.toLowerCase()))return!0;break;default:throw Error(l(365))}return!1}function Ah(o){switch(o.$$typeof){case ku:return"<"+(U(o.value)||"Unknown")+">";case Lu:return":has("+(Ah(o)||"")+")";case Fu:return'[role="'+o.value+'"]';case zu:return'"'+o.value+'"';case Nu:return'[data-testname="'+o.value+'"]';default:throw Error(l(365))}}function ox(o,a){var d=[];o=[o,0];for(var h=0;h<o.length;){var g=o[h++],x=o[h++],C=a[x];if(g.tag!==5||!ie(g)){for(;C!=null&&Ph(g,C);)x++,C=a[x];if(x===a.length)d.push(g);else for(g=g.child;g!==null;)o.push(g,x),g=g.sibling}}return d}function Th(o,a){if(!kn)throw Error(l(363));o=Ch(o),o=ox(o,a),a=[],o=Array.from(o);for(var d=0;d<o.length;){var h=o[d++];if(h.tag===5)ie(h)||a.push(h.stateNode);else for(h=h.child;h!==null;)o.push(h),h=h.sibling}return a}var SI=Math.ceil,Du=u.ReactCurrentDispatcher,Mh=u.ReactCurrentOwner,Et=u.ReactCurrentBatchConfig,Fe=0,Ut=null,At=null,Yt=0,Fn=0,cs=pr(0),zt=0,Ca=null,ao=0,Bu=0,_h=0,Pa=null,En=null,Oh=0,kh=1/0,Zi=null;function ds(){kh=Ht()+500}var Vu=!1,Lh=null,vr=null,ju=!1,xr=null,Hu=0,Aa=0,Fh=null,Wu=-1,Uu=0;function nn(){return Fe&6?Ht():Wu!==-1?Wu:Wu=Ht()}function Sr(o){return o.mode&1?Fe&2&&Yt!==0?Yt&-Yt:nI.transition!==null?(Uu===0&&(Uu=Hy()),Uu):(o=He,o!==0?o:ui()):1}function Jn(o,a,d,h){if(50<Aa)throw Aa=0,Fh=null,Error(l(185));fa(o,d,h),(!(Fe&2)||o!==Ut)&&(o===Ut&&(!(Fe&2)&&(Bu|=d),zt===4&&wr(o,Yt)),In(o,h),d===1&&Fe===0&&!(a.mode&1)&&(ds(),cu&&ki()))}function In(o,a){var d=o.callbackNode;$E(o,a);var h=lu(o,o===Ut?Yt:0);if(h===0)d!==null&&Uy(d),o.callbackNode=null,o.callbackPriority=0;else if(a=h&-h,o.callbackPriority!==a){if(d!=null&&Uy(d),a===1)o.tag===0?tI(ax.bind(null,o)):qy(ax.bind(null,o)),Sn?aa(function(){!(Fe&6)&&ki()}):Df(Bf,ki),d=null;else{switch(Wy(h)){case 1:d=Bf;break;case 4:d=XE;break;case 16:d=Vf;break;case 536870912:d=ZE;break;default:d=Vf}d=gx(d,sx.bind(null,o))}o.callbackPriority=a,o.callbackNode=d}}function sx(o,a){if(Wu=-1,Uu=0,Fe&6)throw Error(l(327));var d=o.callbackNode;if(co()&&o.callbackNode!==d)return null;var h=lu(o,o===Ut?Yt:0);if(h===0)return null;if(h&30||h&o.expiredLanes||a)a=qu(o,h);else{a=h;var g=Fe;Fe|=2;var x=cx();(Ut!==o||Yt!==a)&&(Zi=null,ds(),lo(o,a));do try{RI();break}catch(O){ux(o,O)}while(!0);Qf(),Du.current=x,Fe=g,At!==null?a=0:(Ut=null,Yt=0,a=zt)}if(a!==0){if(a===2&&(g=Ff(o),g!==0&&(h=g,a=Nh(o,g))),a===1)throw d=Ca,lo(o,0),wr(o,h),In(o,Ht()),d;if(a===6)wr(o,h);else{if(g=o.current.alternate,!(h&30)&&!wI(g)&&(a=qu(o,h),a===2&&(x=Ff(o),x!==0&&(h=x,a=Nh(o,x))),a===1))throw d=Ca,lo(o,0),wr(o,h),In(o,Ht()),d;switch(o.finishedWork=g,o.finishedLanes=h,a){case 0:case 1:throw Error(l(345));case 2:uo(o,En,Zi);break;case 3:if(wr(o,h),(h&130023424)===h&&(a=Oh+500-Ht(),10<a)){if(lu(o,0)!==0)break;if(g=o.suspendedLanes,(g&h)!==h){nn(),o.pingedLanes|=o.suspendedLanes&g;break}o.timeoutHandle=Ct(uo.bind(null,o,En,Zi),a);break}uo(o,En,Zi);break;case 4:if(wr(o,h),(h&4194240)===h)break;for(a=o.eventTimes,g=-1;0<h;){var C=31-di(h);x=1<<C,C=a[C],C>g&&(g=C),h&=~x}if(h=g,h=Ht()-h,h=(120>h?120:480>h?480:1080>h?1080:1920>h?1920:3e3>h?3e3:4320>h?4320:1960*SI(h/1960))-h,10<h){o.timeoutHandle=Ct(uo.bind(null,o,En,Zi),h);break}uo(o,En,Zi);break;case 5:uo(o,En,Zi);break;default:throw Error(l(329))}}}return In(o,Ht()),o.callbackNode===d?sx.bind(null,o):null}function Nh(o,a){var d=Pa;return o.current.memoizedState.isDehydrated&&(lo(o,a).flags|=256),o=qu(o,a),o!==2&&(a=En,En=d,a!==null&&zh(a)),o}function zh(o){En===null?En=o:En.push.apply(En,o)}function wI(o){for(var a=o;;){if(a.flags&16384){var d=a.updateQueue;if(d!==null&&(d=d.stores,d!==null))for(var h=0;h<d.length;h++){var g=d[h],x=g.getSnapshot;g=g.value;try{if(!fi(x(),g))return!1}catch{return!1}}}if(d=a.child,a.subtreeFlags&16384&&d!==null)d.return=a,a=d;else{if(a===o)break;for(;a.sibling===null;){if(a.return===null||a.return===o)return!0;a=a.return}a.sibling.return=a.return,a=a.sibling}}return!0}function wr(o,a){for(a&=~_h,a&=~Bu,o.suspendedLanes|=a,o.pingedLanes&=~a,o=o.expirationTimes;0<a;){var d=31-di(a),h=1<<d;o[d]=-1,a&=~h}}function ax(o){if(Fe&6)throw Error(l(327));co();var a=lu(o,0);if(!(a&1))return In(o,Ht()),null;var d=qu(o,a);if(o.tag!==0&&d===2){var h=Ff(o);h!==0&&(a=h,d=Nh(o,h))}if(d===1)throw d=Ca,lo(o,0),wr(o,a),In(o,Ht()),d;if(d===6)throw Error(l(345));return o.finishedWork=o.current.alternate,o.finishedLanes=a,uo(o,En,Zi),In(o,Ht()),null}function lx(o){xr!==null&&xr.tag===0&&!(Fe&6)&&co();var a=Fe;Fe|=1;var d=Et.transition,h=He;try{if(Et.transition=null,He=1,o)return o()}finally{He=h,Et.transition=d,Fe=a,!(Fe&6)&&ki()}}function Dh(){Fn=cs.current,it(cs)}function lo(o,a){o.finishedWork=null,o.finishedLanes=0;var d=o.timeoutHandle;if(d!==xn&&(o.timeoutHandle=xn,xt(d)),At!==null)for(d=At.return;d!==null;){var h=d;switch(Wf(h),h.tag){case 1:h=h.type.childContextTypes,h!=null&&ru();break;case 3:as(),it(wn),it(Zt),rh();break;case 5:nh(h);break;case 4:as();break;case 13:it(dt);break;case 19:it(dt);break;case 10:Yf(h.type._context);break;case 22:case 23:Dh()}d=d.return}if(Ut=o,At=o=br(o.current,null),Yt=Fn=a,zt=0,Ca=null,_h=Bu=ao=0,En=Pa=null,oo!==null){for(a=0;a<oo.length;a++)if(d=oo[a],h=d.interleaved,h!==null){d.interleaved=null;var g=h.next,x=d.pending;if(x!==null){var C=x.next;x.next=g,h.next=C}d.pending=h}oo=null}return o}function ux(o,a){do{var d=At;try{if(Qf(),bu.current=Cu,Ru){for(var h=ft.memoizedState;h!==null;){var g=h.queue;g!==null&&(g.pending=null),h=h.next}Ru=!1}if(so=0,Wt=Nt=ft=null,ya=!1,va=0,Mh.current=null,d===null||d.return===null){zt=1,Ca=a,At=null;break}e:{var x=o,C=d.return,O=d,j=a;if(a=Yt,O.flags|=32768,j!==null&&typeof j=="object"&&typeof j.then=="function"){var ne=j,xe=O,Te=xe.tag;if(!(xe.mode&1)&&(Te===0||Te===11||Te===15)){var se=xe.alternate;se?(xe.updateQueue=se.updateQueue,xe.memoizedState=se.memoizedState,xe.lanes=se.lanes):(xe.updateQueue=null,xe.memoizedState=null)}var rt=Lv(C);if(rt!==null){rt.flags&=-257,Fv(rt,C,O,x,a),rt.mode&1&&kv(x,ne,a),a=rt,j=ne;var Ke=a.updateQueue;if(Ke===null){var Cn=new Set;Cn.add(j),a.updateQueue=Cn}else Ke.add(j);break e}else{if(!(a&1)){kv(x,ne,a),Bh();break e}j=Error(l(426))}}else if(at&&O.mode&1){var Ji=Lv(C);if(Ji!==null){!(Ji.flags&65536)&&(Ji.flags|=256),Fv(Ji,C,O,x,a),Gf(ls(j,O));break e}}x=j=ls(j,O),zt!==4&&(zt=2),Pa===null?Pa=[x]:Pa.push(x),x=C;do{switch(x.tag){case 3:x.flags|=65536,a&=-a,x.lanes|=a;var z=_v(x,j,a);ev(x,z);break e;case 1:O=j;var L=x.type,q=x.stateNode;if(!(x.flags&128)&&(typeof L.getDerivedStateFromError=="function"||q!==null&&typeof q.componentDidCatch=="function"&&(vr===null||!vr.has(q)))){x.flags|=65536,a&=-a,x.lanes|=a;var ue=Ov(x,O,a);ev(x,ue);break e}}x=x.return}while(x!==null)}fx(d)}catch(Ee){a=Ee,At===d&&d!==null&&(At=d=d.return);continue}break}while(!0)}function cx(){var o=Du.current;return Du.current=Cu,o===null?Cu:o}function Bh(){(zt===0||zt===3||zt===2)&&(zt=4),Ut===null||!(ao&268435455)&&!(Bu&268435455)||wr(Ut,Yt)}function qu(o,a){var d=Fe;Fe|=2;var h=cx();(Ut!==o||Yt!==a)&&(Zi=null,lo(o,a));do try{bI();break}catch(g){ux(o,g)}while(!0);if(Qf(),Fe=d,Du.current=h,At!==null)throw Error(l(261));return Ut=null,Yt=0,zt}function bI(){for(;At!==null;)dx(At)}function RI(){for(;At!==null&&!YE();)dx(At)}function dx(o){var a=mx(o.alternate,o,Fn);o.memoizedProps=o.pendingProps,a===null?fx(o):At=a,Mh.current=null}function fx(o){var a=o;do{var d=a.alternate;if(o=a.return,a.flags&32768){if(d=gI(d,a),d!==null){d.flags&=32767,At=d;return}if(o!==null)o.flags|=32768,o.subtreeFlags=0,o.deletions=null;else{zt=6,At=null;return}}else if(d=mI(d,a,Fn),d!==null){At=d;return}if(a=a.sibling,a!==null){At=a;return}At=a=o}while(a!==null);zt===0&&(zt=5)}function uo(o,a,d){var h=He,g=Et.transition;try{Et.transition=null,He=1,EI(o,a,d,h)}finally{Et.transition=g,He=h}return null}function EI(o,a,d,h){do co();while(xr!==null);if(Fe&6)throw Error(l(327));d=o.finishedWork;var g=o.finishedLanes;if(d===null)return null;if(o.finishedWork=null,o.finishedLanes=0,d===o.current)throw Error(l(177));o.callbackNode=null,o.callbackPriority=0;var x=d.lanes|d.childLanes;if(QE(o,x),o===Ut&&(At=Ut=null,Yt=0),!(d.subtreeFlags&2064)&&!(d.flags&2064)||ju||(ju=!0,gx(Vf,function(){return co(),null})),x=(d.flags&15990)!==0,d.subtreeFlags&15990||x){x=Et.transition,Et.transition=null;var C=He;He=1;var O=Fe;Fe|=4,Mh.current=null,vI(o,d),ex(d,o),re(o.containerInfo),o.current=d,xI(d,o,g),KE(),Fe=O,He=C,Et.transition=x}else o.current=d;if(ju&&(ju=!1,xr=o,Hu=g),x=o.pendingLanes,x===0&&(vr=null),JE(d.stateNode,h),In(o,Ht()),a!==null)for(h=o.onRecoverableError,d=0;d<a.length;d++)g=a[d],h(g.value,{componentStack:g.stack,digest:g.digest});if(Vu)throw Vu=!1,o=Lh,Lh=null,o;return Hu&1&&o.tag!==0&&co(),x=o.pendingLanes,x&1?o===Fh?Aa++:(Aa=0,Fh=o):Aa=0,ki(),null}function co(){if(xr!==null){var o=Wy(Hu),a=Et.transition,d=He;try{if(Et.transition=null,He=16>o?16:o,xr===null)var h=!1;else{if(o=xr,xr=null,Hu=0,Fe&6)throw Error(l(331));var g=Fe;for(Fe|=4,ye=o.current;ye!==null;){var x=ye,C=x.child;if(ye.flags&16){var O=x.deletions;if(O!==null){for(var j=0;j<O.length;j++){var ne=O[j];for(ye=ne;ye!==null;){var xe=ye;switch(xe.tag){case 0:case 11:case 15:Ea(8,xe,x)}var Te=xe.child;if(Te!==null)Te.return=xe,ye=Te;else for(;ye!==null;){xe=ye;var se=xe.sibling,rt=xe.return;if(Kv(xe),xe===ne){ye=null;break}if(se!==null){se.return=rt,ye=se;break}ye=rt}}}var Ke=x.alternate;if(Ke!==null){var Cn=Ke.child;if(Cn!==null){Ke.child=null;do{var Ji=Cn.sibling;Cn.sibling=null,Cn=Ji}while(Cn!==null)}}ye=x}}if(x.subtreeFlags&2064&&C!==null)C.return=x,ye=C;else e:for(;ye!==null;){if(x=ye,x.flags&2048)switch(x.tag){case 0:case 11:case 15:Ea(9,x,x.return)}var z=x.sibling;if(z!==null){z.return=x.return,ye=z;break e}ye=x.return}}var L=o.current;for(ye=L;ye!==null;){C=ye;var q=C.child;if(C.subtreeFlags&2064&&q!==null)q.return=C,ye=q;else e:for(C=L;ye!==null;){if(O=ye,O.flags&2048)try{switch(O.tag){case 0:case 11:case 15:Ou(9,O)}}catch(Ee){lt(O,O.return,Ee)}if(O===C){ye=null;break e}var ue=O.sibling;if(ue!==null){ue.return=O.return,ye=ue;break e}ye=O.return}}if(Fe=g,ki(),Oi&&typeof Oi.onPostCommitFiberRoot=="function")try{Oi.onPostCommitFiberRoot(uu,o)}catch{}h=!0}return h}finally{He=d,Et.transition=a}}return!1}function hx(o,a,d){a=ls(d,a),a=_v(o,a,1),o=yr(o,a,1),a=nn(),o!==null&&(fa(o,1,a),In(o,a))}function lt(o,a,d){if(o.tag===3)hx(o,o,d);else for(;a!==null;){if(a.tag===3){hx(a,o,d);break}else if(a.tag===1){var h=a.stateNode;if(typeof a.type.getDerivedStateFromError=="function"||typeof h.componentDidCatch=="function"&&(vr===null||!vr.has(h))){o=ls(d,o),o=Ov(a,o,1),a=yr(a,o,1),o=nn(),a!==null&&(fa(a,1,o),In(a,o));break}}a=a.return}}function II(o,a,d){var h=o.pingCache;h!==null&&h.delete(a),a=nn(),o.pingedLanes|=o.suspendedLanes&d,Ut===o&&(Yt&d)===d&&(zt===4||zt===3&&(Yt&130023424)===Yt&&500>Ht()-Oh?lo(o,0):_h|=d),In(o,a)}function px(o,a){a===0&&(o.mode&1?(a=au,au<<=1,!(au&130023424)&&(au=4194304)):a=1);var d=nn();o=Li(o,a),o!==null&&(fa(o,a,d),In(o,d))}function CI(o){var a=o.memoizedState,d=0;a!==null&&(d=a.retryLane),px(o,d)}function PI(o,a){var d=0;switch(o.tag){case 13:var h=o.stateNode,g=o.memoizedState;g!==null&&(d=g.retryLane);break;case 19:h=o.stateNode;break;default:throw Error(l(314))}h!==null&&h.delete(a),px(o,d)}var mx;mx=function(o,a,d){if(o!==null)if(o.memoizedProps!==a.pendingProps||wn.current)Rn=!0;else{if(!(o.lanes&d)&&!(a.flags&128))return Rn=!1,pI(o,a,d);Rn=!!(o.flags&131072)}else Rn=!1,at&&a.flags&1048576&&Gy(a,fu,a.index);switch(a.lanes=0,a.tag){case 2:var h=a.type;Au(o,a),o=a.pendingProps;var g=Jo(a,Zt.current);rs(a,d),g=ah(null,a,h,o,g,d);var x=lh();return a.flags|=1,typeof g=="object"&&g!==null&&typeof g.render=="function"&&g.$$typeof===void 0?(a.tag=1,a.memoizedState=null,a.updateQueue=null,bn(h)?(x=!0,ou(a)):x=!1,a.memoizedState=g.state!==null&&g.state!==void 0?g.state:null,Zf(a),g.updater=xu,a.stateNode=g,g._reactInternals=a,eh(a,h,o,d),a=gh(null,a,h,!0,x,d)):(a.tag=0,at&&x&&Hf(a),cn(null,a,g,d),a=a.child),a;case 16:h=a.elementType;e:{switch(Au(o,a),o=a.pendingProps,g=h._init,h=g(h._payload),a.type=h,g=a.tag=TI(h),o=pi(h,o),g){case 0:a=mh(null,a,h,o,d);break e;case 1:a=jv(null,a,h,o,d);break e;case 11:a=Nv(null,a,h,o,d);break e;case 14:a=zv(null,a,h,pi(h.type,o),d);break e}throw Error(l(306,h,""))}return a;case 0:return h=a.type,g=a.pendingProps,g=a.elementType===h?g:pi(h,g),mh(o,a,h,g,d);case 1:return h=a.type,g=a.pendingProps,g=a.elementType===h?g:pi(h,g),jv(o,a,h,g,d);case 3:e:{if(Hv(a),o===null)throw Error(l(387));h=a.pendingProps,x=a.memoizedState,g=x.element,Jy(o,a),vu(a,h,null,d);var C=a.memoizedState;if(h=C.element,ae&&x.isDehydrated)if(x={element:h,isDehydrated:!1,cache:C.cache,pendingSuspenseBoundaries:C.pendingSuspenseBoundaries,transitions:C.transitions},a.updateQueue.baseState=x,a.memoizedState=x,a.flags&256){g=ls(Error(l(423)),a),a=Wv(o,a,h,d,g);break e}else if(h!==g){g=ls(Error(l(424)),a),a=Wv(o,a,h,d,g);break e}else for(ae&&(Yn=TE(a.stateNode.containerInfo),Ln=a,at=!0,hi=null,ha=!1),d=lv(a,null,h,d),a.child=d;d;)d.flags=d.flags&-3|4096,d=d.sibling;else{if(ns(),h===g){a=Xi(o,a,d);break e}cn(o,a,h,d)}a=a.child}return a;case 5:return uv(a),o===null&&qf(a),h=a.type,g=a.pendingProps,x=o!==null?o.memoizedProps:null,C=g.children,Qe(h,g)?C=null:x!==null&&Qe(h,x)&&(a.flags|=32),Vv(o,a),cn(o,a,C,d),a.child;case 6:return o===null&&qf(a),null;case 13:return Uv(o,a,d);case 4:return th(a,a.stateNode.containerInfo),h=a.pendingProps,o===null?a.child=os(a,null,h,d):cn(o,a,h,d),a.child;case 11:return h=a.type,g=a.pendingProps,g=a.elementType===h?g:pi(h,g),Nv(o,a,h,g,d);case 7:return cn(o,a,a.pendingProps,d),a.child;case 8:return cn(o,a,a.pendingProps.children,d),a.child;case 12:return cn(o,a,a.pendingProps.children,d),a.child;case 10:e:{if(h=a.type._context,g=a.pendingProps,x=a.memoizedProps,C=g.value,Xy(a,h,C),x!==null)if(fi(x.value,C)){if(x.children===g.children&&!wn.current){a=Xi(o,a,d);break e}}else for(x=a.child,x!==null&&(x.return=a);x!==null;){var O=x.dependencies;if(O!==null){C=x.child;for(var j=O.firstContext;j!==null;){if(j.context===h){if(x.tag===1){j=Ki(-1,d&-d),j.tag=2;var ne=x.updateQueue;if(ne!==null){ne=ne.shared;var xe=ne.pending;xe===null?j.next=j:(j.next=xe.next,xe.next=j),ne.pending=j}}x.lanes|=d,j=x.alternate,j!==null&&(j.lanes|=d),Kf(x.return,d,a),O.lanes|=d;break}j=j.next}}else if(x.tag===10)C=x.type===a.type?null:x.child;else if(x.tag===18){if(C=x.return,C===null)throw Error(l(341));C.lanes|=d,O=C.alternate,O!==null&&(O.lanes|=d),Kf(C,d,a),C=x.sibling}else C=x.child;if(C!==null)C.return=x;else for(C=x;C!==null;){if(C===a){C=null;break}if(x=C.sibling,x!==null){x.return=C.return,C=x;break}C=C.return}x=C}cn(o,a,g.children,d),a=a.child}return a;case 9:return g=a.type,h=a.pendingProps.children,rs(a,d),g=Kn(g),h=h(g),a.flags|=1,cn(o,a,h,d),a.child;case 14:return h=a.type,g=pi(h,a.pendingProps),g=pi(h.type,g),zv(o,a,h,g,d);case 15:return Dv(o,a,a.type,a.pendingProps,d);case 17:return h=a.type,g=a.pendingProps,g=a.elementType===h?g:pi(h,g),Au(o,a),a.tag=1,bn(h)?(o=!0,ou(a)):o=!1,rs(a,d),rv(a,h,g),eh(a,h,g,d),gh(null,a,h,!0,o,d);case 19:return Gv(o,a,d);case 22:return Bv(o,a,d)}throw Error(l(156,a.tag))};function gx(o,a){return Df(o,a)}function AI(o,a,d,h){this.tag=o,this.key=d,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=a,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=h,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function ei(o,a,d,h){return new AI(o,a,d,h)}function Vh(o){return o=o.prototype,!(!o||!o.isReactComponent)}function TI(o){if(typeof o=="function")return Vh(o)?1:0;if(o!=null){if(o=o.$$typeof,o===S)return 11;if(o===b)return 14}return 2}function br(o,a){var d=o.alternate;return d===null?(d=ei(o.tag,a,o.key,o.mode),d.elementType=o.elementType,d.type=o.type,d.stateNode=o.stateNode,d.alternate=o,o.alternate=d):(d.pendingProps=a,d.type=o.type,d.flags=0,d.subtreeFlags=0,d.deletions=null),d.flags=o.flags&14680064,d.childLanes=o.childLanes,d.lanes=o.lanes,d.child=o.child,d.memoizedProps=o.memoizedProps,d.memoizedState=o.memoizedState,d.updateQueue=o.updateQueue,a=o.dependencies,d.dependencies=a===null?null:{lanes:a.lanes,firstContext:a.firstContext},d.sibling=o.sibling,d.index=o.index,d.ref=o.ref,d}function Gu(o,a,d,h,g,x){var C=2;if(h=o,typeof o=="function")Vh(o)&&(C=1);else if(typeof o=="string")C=5;else e:switch(o){case c:return fo(d.children,g,x,a);case m:C=8,g|=8;break;case y:return o=ei(12,d,a,g|2),o.elementType=y,o.lanes=x,o;case E:return o=ei(13,d,a,g),o.elementType=E,o.lanes=x,o;case R:return o=ei(19,d,a,g),o.elementType=R,o.lanes=x,o;case M:return $u(d,g,x,a);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case w:C=10;break e;case v:C=9;break e;case S:C=11;break e;case b:C=14;break e;case I:C=16,h=null;break e}throw Error(l(130,o==null?o:typeof o,""))}return a=ei(C,d,a,g),a.elementType=o,a.type=h,a.lanes=x,a}function fo(o,a,d,h){return o=ei(7,o,h,a),o.lanes=d,o}function $u(o,a,d,h){return o=ei(22,o,h,a),o.elementType=M,o.lanes=d,o.stateNode={isHidden:!1},o}function jh(o,a,d){return o=ei(6,o,null,a),o.lanes=d,o}function Hh(o,a,d){return a=ei(4,o.children!==null?o.children:[],o.key,a),a.lanes=d,a.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},a}function MI(o,a,d,h,g){this.tag=a,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=xn,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Nf(0),this.expirationTimes=Nf(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Nf(0),this.identifierPrefix=h,this.onRecoverableError=g,ae&&(this.mutableSourceEagerHydrationData=null)}function yx(o,a,d,h,g,x,C,O,j){return o=new MI(o,a,d,O,j),a===1?(a=1,x===!0&&(a|=8)):a=0,x=ei(3,null,null,a),o.current=x,x.stateNode=o,x.memoizedState={element:h,isDehydrated:d,cache:null,transitions:null,pendingSuspenseBoundaries:null},Zf(x),o}function vx(o){if(!o)return mr;o=o._reactInternals;e:{if(Z(o)!==o||o.tag!==1)throw Error(l(170));var a=o;do{switch(a.tag){case 3:a=a.stateNode.context;break e;case 1:if(bn(a.type)){a=a.stateNode.__reactInternalMemoizedMergedChildContext;break e}}a=a.return}while(a!==null);throw Error(l(171))}if(o.tag===1){var d=o.type;if(bn(d))return Vy(o,d,a)}return a}function xx(o){var a=o._reactInternals;if(a===void 0)throw typeof o.render=="function"?Error(l(188)):(o=Object.keys(o).join(","),Error(l(268,o)));return o=K(a),o===null?null:o.stateNode}function Sx(o,a){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var d=o.retryLane;o.retryLane=d!==0&&d<a?d:a}}function Qu(o,a){Sx(o,a),(o=o.alternate)&&Sx(o,a)}function _I(o){return o=K(o),o===null?null:o.stateNode}function OI(){return null}return n.attemptContinuousHydration=function(o){if(o.tag===13){var a=Li(o,134217728);if(a!==null){var d=nn();Jn(a,o,134217728,d)}Qu(o,134217728)}},n.attemptDiscreteHydration=function(o){if(o.tag===13){var a=Li(o,1);if(a!==null){var d=nn();Jn(a,o,1,d)}Qu(o,1)}},n.attemptHydrationAtCurrentPriority=function(o){if(o.tag===13){var a=Sr(o),d=Li(o,a);if(d!==null){var h=nn();Jn(d,o,a,h)}Qu(o,a)}},n.attemptSynchronousHydration=function(o){switch(o.tag){case 3:var a=o.stateNode;if(a.current.memoizedState.isDehydrated){var d=da(a.pendingLanes);d!==0&&(zf(a,d|1),In(a,Ht()),!(Fe&6)&&(ds(),ki()))}break;case 13:lx(function(){var h=Li(o,1);if(h!==null){var g=nn();Jn(h,o,1,g)}}),Qu(o,1)}},n.batchedUpdates=function(o,a){var d=Fe;Fe|=1;try{return o(a)}finally{Fe=d,Fe===0&&(ds(),cu&&ki())}},n.createComponentSelector=function(o){return{$$typeof:ku,value:o}},n.createContainer=function(o,a,d,h,g,x,C){return yx(o,a,!1,null,d,h,g,x,C)},n.createHasPseudoClassSelector=function(o){return{$$typeof:Lu,value:o}},n.createHydrationContainer=function(o,a,d,h,g,x,C,O,j){return o=yx(d,h,!0,o,g,x,C,O,j),o.context=vx(null),d=o.current,h=nn(),g=Sr(d),x=Ki(h,g),x.callback=a??null,yr(d,x,g),o.current.lanes=g,fa(o,g,h),In(o,h),o},n.createPortal=function(o,a,d){var h=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:p,key:h==null?null:""+h,children:o,containerInfo:a,implementation:d}},n.createRoleSelector=function(o){return{$$typeof:Fu,value:o}},n.createTestNameSelector=function(o){return{$$typeof:Nu,value:o}},n.createTextSelector=function(o){return{$$typeof:zu,value:o}},n.deferredUpdates=function(o){var a=He,d=Et.transition;try{return Et.transition=null,He=16,o()}finally{He=a,Et.transition=d}},n.discreteUpdates=function(o,a,d,h,g){var x=He,C=Et.transition;try{return Et.transition=null,He=1,o(a,d,h,g)}finally{He=x,Et.transition=C,Fe===0&&ds()}},n.findAllNodes=Th,n.findBoundingRects=function(o,a){if(!kn)throw Error(l(363));a=Th(o,a),o=[];for(var d=0;d<a.length;d++)o.push(F(a[d]));for(a=o.length-1;0<a;a--){d=o[a];for(var h=d.x,g=h+d.width,x=d.y,C=x+d.height,O=a-1;0<=O;O--)if(a!==O){var j=o[O],ne=j.x,xe=ne+j.width,Te=j.y,se=Te+j.height;if(h>=ne&&x>=Te&&g<=xe&&C<=se){o.splice(a,1);break}else if(h!==ne||d.width!==j.width||se<x||Te>C){if(!(x!==Te||d.height!==j.height||xe<h||ne>g)){ne>h&&(j.width+=ne-h,j.x=h),xe<g&&(j.width=g-ne),o.splice(a,1);break}}else{Te>x&&(j.height+=Te-x,j.y=x),se<C&&(j.height=C-Te),o.splice(a,1);break}}}return o},n.findHostInstance=xx,n.findHostInstanceWithNoPortals=function(o){return o=G(o),o=o!==null?J(o):null,o===null?null:o.stateNode},n.findHostInstanceWithWarning=function(o){return xx(o)},n.flushControlled=function(o){var a=Fe;Fe|=1;var d=Et.transition,h=He;try{Et.transition=null,He=1,o()}finally{He=h,Et.transition=d,Fe=a,Fe===0&&(ds(),ki())}},n.flushPassiveEffects=co,n.flushSync=lx,n.focusWithin=function(o,a){if(!kn)throw Error(l(363));for(o=Ch(o),a=ox(o,a),a=Array.from(a),o=0;o<a.length;){var d=a[o++];if(!ie(d)){if(d.tag===5&&Se(d.stateNode))return!0;for(d=d.child;d!==null;)a.push(d),d=d.sibling}}return!1},n.getCurrentUpdatePriority=function(){return He},n.getFindAllNodesFailureDescription=function(o,a){if(!kn)throw Error(l(363));var d=0,h=[];o=[Ch(o),0];for(var g=0;g<o.length;){var x=o[g++],C=o[g++],O=a[C];if((x.tag!==5||!ie(x))&&(Ph(x,O)&&(h.push(Ah(O)),C++,C>d&&(d=C)),C<a.length))for(x=x.child;x!==null;)o.push(x,C),x=x.sibling}if(d<a.length){for(o=[];d<a.length;d++)o.push(Ah(a[d]));return`findAllNodes was able to match part of the selector:
8
+ `+(h.join(" > ")+`
9
9
 
10
10
  No matching component was found for:
11
- `)+o.join(" > ")}return null},n.getPublicRootInstance=function(o){if(o=o.current,!o.child)return null;switch(o.child.tag){case 5:return oe(o.child.stateNode);default:return o.child.stateNode}},n.injectIntoDevTools=function(o){if(o={bundleType:o.bundleType,version:o.version,rendererPackageName:o.rendererPackageName,rendererConfig:o.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:_I,findFiberByHostInstance:o.findFiberByHostInstance||OI,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")o=!1;else{var s=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(s.isDisabled||!s.supportsFiber)o=!0;else{try{lu=s.inject(o),_i=s}catch{}o=!!s.checkDCE}}return o},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(o,s,d,p){if(!kn)throw Error(l(363));o=Ph(o,s);var g=V(o,d,p).disconnect;return{disconnect:function(){g()}}},n.registerMutableSourceForHydration=function(o,s){var d=s._getVersion;d=d(s._source),o.mutableSourceEagerHydrationData==null?o.mutableSourceEagerHydrationData=[s,d]:o.mutableSourceEagerHydrationData.push(s,d)},n.runWithPriority=function(o,s){var d=He;try{return He=o,s()}finally{He=d}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(o,s,d,p){var g=s.current,x=nn(),C=Sr(g);return d=gx(d),s.context===null?s.context=d:s.pendingContext=d,s=Yi(x,C),s.payload={element:o},p=p===void 0?null:p,p!==null&&(s.callback=p),o=yr(g,s,C),o!==null&&(Zn(o,g,C,x),gu(o,g,C)),C},n}});var nw=zt((RF,tw)=>{"use strict";tw.exports=ew()});var Mo=zt((WF,Gw)=>{"use strict";Gw.exports=ReactDOM});var Qw=zt($m=>{"use strict";var $w=Mo();$m.createRoot=$w.createRoot,$m.hydrateRoot=$w.hydrateRoot;var UF});var gE=zt((PW,mE)=>{"use strict";(()=>{var e={296:(r,a,l)=>{var u=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,h=/^0b[01]+$/i,c=/^0o[0-7]+$/i,m=parseInt,v=typeof l.g=="object"&&l.g&&l.g.Object===Object&&l.g,w=typeof self=="object"&&self&&self.Object===Object&&self,y=v||w||Function("return this")(),S=Object.prototype.toString,E=Math.max,R=Math.min,b=function(){return y.Date.now()};function I(T){var _=typeof T;return!!T&&(_=="object"||_=="function")}function M(T){if(typeof T=="number")return T;if(function(H){return typeof H=="symbol"||function(Z){return!!Z&&typeof Z=="object"}(H)&&S.call(H)=="[object Symbol]"}(T))return NaN;if(I(T)){var _=typeof T.valueOf=="function"?T.valueOf():T;T=I(_)?_+"":_}if(typeof T!="string")return T===0?T:+T;T=T.replace(u,"");var U=h.test(T);return U||c.test(T)?m(T.slice(2),U?2:8):f.test(T)?NaN:+T}r.exports=function(T,_,U){var H,Z,B,G,K,ce,J=0,te=!1,oe=!1,Re=!0;if(typeof T!="function")throw new TypeError("Expected a function");function de(Ge){var $e=H,Qe=Z;return H=Z=void 0,J=Ge,G=T.apply(Qe,$e)}function N(Ge){var $e=Ge-ce;return ce===void 0||$e>=_||$e<0||oe&&Ge-J>=B}function re(){var Ge=b();if(N(Ge))return Le(Ge);K=setTimeout(re,function($e){var Qe=_-($e-ce);return oe?R(Qe,B-($e-J)):Qe}(Ge))}function Le(Ge){return K=void 0,Re&&H?de(Ge):(H=Z=void 0,G)}function je(){var Ge=b(),$e=N(Ge);if(H=arguments,Z=this,ce=Ge,$e){if(K===void 0)return function(Qe){return J=Qe,K=setTimeout(re,_),te?de(Qe):G}(ce);if(oe)return K=setTimeout(re,_),de(ce)}return K===void 0&&(K=setTimeout(re,_)),G}return _=M(_)||0,I(U)&&(te=!!U.leading,B=(oe="maxWait"in U)?E(M(U.maxWait)||0,_):B,Re="trailing"in U?!!U.trailing:Re),je.cancel=function(){K!==void 0&&clearTimeout(K),J=0,H=ce=Z=K=void 0},je.flush=function(){return K===void 0?G:Le(b())},je}},96:(r,a,l)=>{var u="Expected a function",f=NaN,h="[object Symbol]",c=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,v=/^0b[01]+$/i,w=/^0o[0-7]+$/i,y=parseInt,S=typeof l.g=="object"&&l.g&&l.g.Object===Object&&l.g,E=typeof self=="object"&&self&&self.Object===Object&&self,R=S||E||Function("return this")(),b=Object.prototype.toString,I=Math.max,M=Math.min,T=function(){return R.Date.now()};function _(H){var Z=typeof H;return!!H&&(Z=="object"||Z=="function")}function U(H){if(typeof H=="number")return H;if(function(G){return typeof G=="symbol"||function(K){return!!K&&typeof K=="object"}(G)&&b.call(G)==h}(H))return f;if(_(H)){var Z=typeof H.valueOf=="function"?H.valueOf():H;H=_(Z)?Z+"":Z}if(typeof H!="string")return H===0?H:+H;H=H.replace(c,"");var B=v.test(H);return B||w.test(H)?y(H.slice(2),B?2:8):m.test(H)?f:+H}r.exports=function(H,Z,B){var G=!0,K=!0;if(typeof H!="function")throw new TypeError(u);return _(B)&&(G="leading"in B?!!B.leading:G,K="trailing"in B?!!B.trailing:K),function(ce,J,te){var oe,Re,de,N,re,Le,je=0,Ge=!1,$e=!1,Qe=!0;if(typeof ce!="function")throw new TypeError(u);function Ze(Ne){var fe=oe,ae=Re;return oe=Re=void 0,je=Ne,N=ce.apply(ae,fe)}function Ct(Ne){var fe=Ne-Le;return Le===void 0||fe>=J||fe<0||$e&&Ne-je>=de}function xt(){var Ne=T();if(Ct(Ne))return xn(Ne);re=setTimeout(xt,function(fe){var ae=J-(fe-Le);return $e?M(ae,de-(fe-je)):ae}(Ne))}function xn(Ne){return re=void 0,Qe&&oe?Ze(Ne):(oe=Re=void 0,N)}function Pt(){var Ne=T(),fe=Ct(Ne);if(oe=arguments,Re=this,Le=Ne,fe){if(re===void 0)return function(ae){return je=ae,re=setTimeout(xt,J),Ge?Ze(ae):N}(Le);if($e)return re=setTimeout(xt,J),Ze(Le)}return re===void 0&&(re=setTimeout(xt,J)),N}return J=U(J)||0,_(te)&&(Ge=!!te.leading,de=($e="maxWait"in te)?I(U(te.maxWait)||0,J):de,Qe="trailing"in te?!!te.trailing:Qe),Pt.cancel=function(){re!==void 0&&clearTimeout(re),je=0,oe=Le=Re=re=void 0},Pt.flush=function(){return re===void 0?N:xn(T())},Pt}(H,Z,{leading:G,maxWait:Z,trailing:K})}},703:(r,a,l)=>{"use strict";var u=l(414);function f(){}function h(){}h.resetWarningCache=f,r.exports=function(){function c(w,y,S,E,R,b){if(b!==u){var I=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw I.name="Invariant Violation",I}}function m(){return c}c.isRequired=c;var v={array:c,bigint:c,bool:c,func:c,number:c,object:c,string:c,symbol:c,any:c,arrayOf:m,element:c,elementType:c,instanceOf:m,node:c,objectOf:m,oneOf:m,oneOfType:m,shape:m,exact:m,checkPropTypes:h,resetWarningCache:f};return v.PropTypes=v,v}},697:(r,a,l)=>{r.exports=l(703)()},414:r=>{"use strict";r.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function n(r){var a=t[r];if(a!==void 0)return a.exports;var l=t[r]={exports:{}};return e[r](l,l.exports,n),l.exports}n.n=r=>{var a=r&&r.__esModule?()=>r.default:()=>r;return n.d(a,{a}),a},n.d=(r,a)=>{for(var l in a)n.o(a,l)&&!n.o(r,l)&&Object.defineProperty(r,l,{enumerable:!0,get:a[l]})},n.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),n.o=(r,a)=>Object.prototype.hasOwnProperty.call(r,a),n.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})};var i={};(()=>{"use strict";n.r(i),n.d(i,{LazyLoadComponent:()=>De,LazyLoadImage:()=>Se,trackWindowScroll:()=>Le});let r=Q();var a=n.n(r),l=n(697);let u=Mo();var f=n.n(u);function h(){return typeof window<"u"&&"IntersectionObserver"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype}function c(V){return c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},c(V)}function m(V,k){var X=Object.keys(V);if(Object.getOwnPropertySymbols){var ee=Object.getOwnPropertySymbols(V);k&&(ee=ee.filter(function(Ie){return Object.getOwnPropertyDescriptor(V,Ie).enumerable})),X.push.apply(X,ee)}return X}function v(V,k,X){return(k=y(k))in V?Object.defineProperty(V,k,{value:X,enumerable:!0,configurable:!0,writable:!0}):V[k]=X,V}function w(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,y(ee.key),ee)}}function y(V){var k=function(X,ee){if(c(X)!=="object"||X===null)return X;var Ie=X[Symbol.toPrimitive];if(Ie!==void 0){var _e=Ie.call(X,"string");if(c(_e)!=="object")return _e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(X)}(V);return c(k)==="symbol"?k:String(k)}function S(V,k){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},S(V,k)}function E(V){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},E(V)}var R=function(V){V.forEach(function(k){k.isIntersecting&&k.target.onVisible()})},b={},I=function(V){(function(W,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");W.prototype=Object.create(Y&&Y.prototype,{constructor:{value:W,writable:!0,configurable:!0}}),Object.defineProperty(W,"prototype",{writable:!1}),Y&&S(W,Y)})(Be,V);var k,X,ee,Ie,_e=(ee=Be,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var W,Y=E(ee);if(Ie){var ge=E(this).constructor;W=Reflect.construct(Y,arguments,ge)}else W=Y.apply(this,arguments);return function(he,pe){if(pe&&(c(pe)==="object"||typeof pe=="function"))return pe;if(pe!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(ke){if(ke===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ke}(he)}(this,W)});function Be(W){var Y;if(function(he,pe){if(!(he instanceof pe))throw new TypeError("Cannot call a class as a function")}(this,Be),(Y=_e.call(this,W)).supportsObserver=!W.scrollPosition&&W.useIntersectionObserver&&h(),Y.supportsObserver){var ge=W.threshold;Y.observer=function(he){return b[he]=b[he]||new IntersectionObserver(R,{rootMargin:he+"px"}),b[he]}(ge)}return Y}return k=Be,X=[{key:"componentDidMount",value:function(){this.placeholder&&this.observer&&(this.placeholder.onVisible=this.props.onVisible,this.observer.observe(this.placeholder)),this.supportsObserver||this.updateVisibility()}},{key:"componentWillUnmount",value:function(){this.observer&&this.placeholder&&this.observer.unobserve(this.placeholder)}},{key:"componentDidUpdate",value:function(){this.supportsObserver||this.updateVisibility()}},{key:"getPlaceholderBoundingBox",value:function(){var W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props.scrollPosition,Y=this.placeholder.getBoundingClientRect(),ge=f().findDOMNode(this.placeholder).style,he=parseInt(ge.getPropertyValue("margin-left"),10)||0,pe=parseInt(ge.getPropertyValue("margin-top"),10)||0;return{bottom:W.y+Y.bottom+pe,left:W.x+Y.left+he,right:W.x+Y.right+he,top:W.y+Y.top+pe}}},{key:"isPlaceholderInViewport",value:function(){if(typeof window>"u"||!this.placeholder)return!1;var W=this.props,Y=W.scrollPosition,ge=W.threshold,he=this.getPlaceholderBoundingBox(Y),pe=Y.y+window.innerHeight,ke=Y.x,tt=Y.x+window.innerWidth,nt=Y.y;return nt-ge<=he.bottom&&pe+ge>=he.top&&ke-ge<=he.right&&tt+ge>=he.left}},{key:"updateVisibility",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible()}},{key:"render",value:function(){var W=this,Y=this.props,ge=Y.className,he=Y.height,pe=Y.placeholder,ke=Y.style,tt=Y.width;if(pe&&typeof pe.type!="function")return a().cloneElement(pe,{ref:function(Ye){return W.placeholder=Ye}});var nt=function(Ye){for(var kt=1;kt<arguments.length;kt++){var ct=arguments[kt]!=null?arguments[kt]:{};kt%2?m(Object(ct),!0).forEach(function(Lt){v(Ye,Lt,ct[Lt])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Ye,Object.getOwnPropertyDescriptors(ct)):m(Object(ct)).forEach(function(Lt){Object.defineProperty(Ye,Lt,Object.getOwnPropertyDescriptor(ct,Lt))})}return Ye}({display:"inline-block"},ke);return tt!==void 0&&(nt.width=tt),he!==void 0&&(nt.height=he),a().createElement("span",{className:ge,ref:function(Ye){return W.placeholder=Ye},style:nt},pe)}}],X&&w(k.prototype,X),Object.defineProperty(k,"prototype",{writable:!1}),Be}(a().Component);I.propTypes={onVisible:l.PropTypes.func.isRequired,className:l.PropTypes.string,height:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.string]),placeholder:l.PropTypes.element,threshold:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool,scrollPosition:l.PropTypes.shape({x:l.PropTypes.number.isRequired,y:l.PropTypes.number.isRequired}),width:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.string])},I.defaultProps={className:"",placeholder:null,threshold:100,useIntersectionObserver:!0};let M=I;var T=n(296),_=n.n(T),U=n(96),H=n.n(U),Z=function(V){var k=getComputedStyle(V,null);return k.getPropertyValue("overflow")+k.getPropertyValue("overflow-y")+k.getPropertyValue("overflow-x")};let B=function(V){if(!(V instanceof HTMLElement))return window;for(var k=V;k&&k instanceof HTMLElement;){if(/(scroll|auto)/.test(Z(k)))return k;k=k.parentNode}return window};function G(V){return G=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},G(V)}var K=["delayMethod","delayTime"];function ce(){return ce=Object.assign?Object.assign.bind():function(V){for(var k=1;k<arguments.length;k++){var X=arguments[k];for(var ee in X)Object.prototype.hasOwnProperty.call(X,ee)&&(V[ee]=X[ee])}return V},ce.apply(this,arguments)}function J(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,(Ie=function(_e,Be){if(G(_e)!=="object"||_e===null)return _e;var W=_e[Symbol.toPrimitive];if(W!==void 0){var Y=W.call(_e,"string");if(G(Y)!=="object")return Y;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(_e)}(ee.key),G(Ie)==="symbol"?Ie:String(Ie)),ee)}var Ie}function te(V,k){return te=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},te(V,k)}function oe(V,k){if(k&&(G(k)==="object"||typeof k=="function"))return k;if(k!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Re(V)}function Re(V){if(V===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return V}function de(V){return de=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},de(V)}var N=function(){return typeof window>"u"?0:window.scrollX||window.pageXOffset},re=function(){return typeof window>"u"?0:window.scrollY||window.pageYOffset};let Le=function(V){var k=function(X){(function(ge,he){if(typeof he!="function"&&he!==null)throw new TypeError("Super expression must either be null or a function");ge.prototype=Object.create(he&&he.prototype,{constructor:{value:ge,writable:!0,configurable:!0}}),Object.defineProperty(ge,"prototype",{writable:!1}),he&&te(ge,he)})(Y,X);var ee,Ie,_e,Be,W=(_e=Y,Be=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var ge,he=de(_e);if(Be){var pe=de(this).constructor;ge=Reflect.construct(he,arguments,pe)}else ge=he.apply(this,arguments);return oe(this,ge)});function Y(ge){var he;if(function(ke,tt){if(!(ke instanceof tt))throw new TypeError("Cannot call a class as a function")}(this,Y),(he=W.call(this,ge)).useIntersectionObserver=ge.useIntersectionObserver&&h(),he.useIntersectionObserver)return oe(he);var pe=he.onChangeScroll.bind(Re(he));return ge.delayMethod==="debounce"?he.delayedScroll=_()(pe,ge.delayTime):ge.delayMethod==="throttle"&&(he.delayedScroll=H()(pe,ge.delayTime)),he.state={scrollPosition:{x:N(),y:re()}},he.baseComponentRef=a().createRef(),he}return ee=Y,(Ie=[{key:"componentDidMount",value:function(){this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"componentDidUpdate",value:function(){typeof window>"u"||this.useIntersectionObserver||B(f().findDOMNode(this.baseComponentRef.current))!==this.scrollElement&&(this.removeListeners(),this.addListeners())}},{key:"addListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement=B(f().findDOMNode(this.baseComponentRef.current)),this.scrollElement.addEventListener("scroll",this.delayedScroll,{passive:!0}),window.addEventListener("resize",this.delayedScroll,{passive:!0}),this.scrollElement!==window&&window.addEventListener("scroll",this.delayedScroll,{passive:!0}))}},{key:"removeListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement.removeEventListener("scroll",this.delayedScroll),window.removeEventListener("resize",this.delayedScroll),this.scrollElement!==window&&window.removeEventListener("scroll",this.delayedScroll))}},{key:"onChangeScroll",value:function(){this.useIntersectionObserver||this.setState({scrollPosition:{x:N(),y:re()}})}},{key:"render",value:function(){var ge=this.props,he=(ge.delayMethod,ge.delayTime,function(ke,tt){if(ke==null)return{};var nt,Ye,kt=function(Lt,hr){if(Lt==null)return{};var ui,Jr,la={},tu=Object.keys(Lt);for(Jr=0;Jr<tu.length;Jr++)ui=tu[Jr],hr.indexOf(ui)>=0||(la[ui]=Lt[ui]);return la}(ke,tt);if(Object.getOwnPropertySymbols){var ct=Object.getOwnPropertySymbols(ke);for(Ye=0;Ye<ct.length;Ye++)nt=ct[Ye],tt.indexOf(nt)>=0||Object.prototype.propertyIsEnumerable.call(ke,nt)&&(kt[nt]=ke[nt])}return kt}(ge,K)),pe=this.useIntersectionObserver?null:this.state.scrollPosition;return a().createElement(V,ce({forwardRef:this.baseComponentRef,scrollPosition:pe},he))}}])&&J(ee.prototype,Ie),Object.defineProperty(ee,"prototype",{writable:!1}),Y}(a().Component);return k.propTypes={delayMethod:l.PropTypes.oneOf(["debounce","throttle"]),delayTime:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool},k.defaultProps={delayMethod:"throttle",delayTime:300,useIntersectionObserver:!0},k};function je(V){return je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},je(V)}function Ge(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,(Ie=function(_e,Be){if(je(_e)!=="object"||_e===null)return _e;var W=_e[Symbol.toPrimitive];if(W!==void 0){var Y=W.call(_e,"string");if(je(Y)!=="object")return Y;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(_e)}(ee.key),je(Ie)==="symbol"?Ie:String(Ie)),ee)}var Ie}function $e(V,k){return $e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},$e(V,k)}function Qe(V){return Qe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},Qe(V)}var Ze=function(V){(function(W,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");W.prototype=Object.create(Y&&Y.prototype,{constructor:{value:W,writable:!0,configurable:!0}}),Object.defineProperty(W,"prototype",{writable:!1}),Y&&$e(W,Y)})(Be,V);var k,X,ee,Ie,_e=(ee=Be,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var W,Y=Qe(ee);if(Ie){var ge=Qe(this).constructor;W=Reflect.construct(Y,arguments,ge)}else W=Y.apply(this,arguments);return function(he,pe){if(pe&&(je(pe)==="object"||typeof pe=="function"))return pe;if(pe!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(ke){if(ke===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ke}(he)}(this,W)});function Be(W){return function(Y,ge){if(!(Y instanceof ge))throw new TypeError("Cannot call a class as a function")}(this,Be),_e.call(this,W)}return k=Be,(X=[{key:"render",value:function(){return a().createElement(M,this.props)}}])&&Ge(k.prototype,X),Object.defineProperty(k,"prototype",{writable:!1}),Be}(a().Component);let Ct=Le(Ze);function xt(V){return xt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},xt(V)}function xn(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,(Ie=function(_e,Be){if(xt(_e)!=="object"||_e===null)return _e;var W=_e[Symbol.toPrimitive];if(W!==void 0){var Y=W.call(_e,"string");if(xt(Y)!=="object")return Y;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(_e)}(ee.key),xt(Ie)==="symbol"?Ie:String(Ie)),ee)}var Ie}function Pt(V,k){return Pt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},Pt(V,k)}function Ne(V){if(V===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return V}function fe(V){return fe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},fe(V)}var ae=function(V){(function(W,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");W.prototype=Object.create(Y&&Y.prototype,{constructor:{value:W,writable:!0,configurable:!0}}),Object.defineProperty(W,"prototype",{writable:!1}),Y&&Pt(W,Y)})(Be,V);var k,X,ee,Ie,_e=(ee=Be,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var W,Y=fe(ee);if(Ie){var ge=fe(this).constructor;W=Reflect.construct(Y,arguments,ge)}else W=Y.apply(this,arguments);return function(he,pe){if(pe&&(xt(pe)==="object"||typeof pe=="function"))return pe;if(pe!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ne(he)}(this,W)});function Be(W){var Y;(function(tt,nt){if(!(tt instanceof nt))throw new TypeError("Cannot call a class as a function")})(this,Be),Y=_e.call(this,W);var ge=W.afterLoad,he=W.beforeLoad,pe=W.scrollPosition,ke=W.visibleByDefault;return Y.state={visible:ke},ke&&(he(),ge()),Y.onVisible=Y.onVisible.bind(Ne(Y)),Y.isScrollTracked=!!(pe&&Number.isFinite(pe.x)&&pe.x>=0&&Number.isFinite(pe.y)&&pe.y>=0),Y}return k=Be,(X=[{key:"componentDidUpdate",value:function(W,Y){Y.visible!==this.state.visible&&this.props.afterLoad()}},{key:"onVisible",value:function(){this.props.beforeLoad(),this.setState({visible:!0})}},{key:"render",value:function(){if(this.state.visible)return this.props.children;var W=this.props,Y=W.className,ge=W.delayMethod,he=W.delayTime,pe=W.height,ke=W.placeholder,tt=W.scrollPosition,nt=W.style,Ye=W.threshold,kt=W.useIntersectionObserver,ct=W.width;return this.isScrollTracked||kt&&h()?a().createElement(M,{className:Y,height:pe,onVisible:this.onVisible,placeholder:ke,scrollPosition:tt,style:nt,threshold:Ye,useIntersectionObserver:kt,width:ct}):a().createElement(Ct,{className:Y,delayMethod:ge,delayTime:he,height:pe,onVisible:this.onVisible,placeholder:ke,style:nt,threshold:Ye,width:ct})}}])&&xn(k.prototype,X),Object.defineProperty(k,"prototype",{writable:!1}),Be}(a().Component);ae.propTypes={afterLoad:l.PropTypes.func,beforeLoad:l.PropTypes.func,useIntersectionObserver:l.PropTypes.bool,visibleByDefault:l.PropTypes.bool},ae.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},useIntersectionObserver:!0,visibleByDefault:!1};let De=ae;function Rt(V){return Rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},Rt(V)}var li=["afterLoad","beforeLoad","delayMethod","delayTime","effect","placeholder","placeholderSrc","scrollPosition","threshold","useIntersectionObserver","visibleByDefault","wrapperClassName","wrapperProps"];function un(V,k){var X=Object.keys(V);if(Object.getOwnPropertySymbols){var ee=Object.getOwnPropertySymbols(V);k&&(ee=ee.filter(function(Ie){return Object.getOwnPropertyDescriptor(V,Ie).enumerable})),X.push.apply(X,ee)}return X}function Sn(V){for(var k=1;k<arguments.length;k++){var X=arguments[k]!=null?arguments[k]:{};k%2?un(Object(X),!0).forEach(function(ee){sa(V,ee,X[ee])}):Object.getOwnPropertyDescriptors?Object.defineProperties(V,Object.getOwnPropertyDescriptors(X)):un(Object(X)).forEach(function(ee){Object.defineProperty(V,ee,Object.getOwnPropertyDescriptor(X,ee))})}return V}function sa(V,k,X){return(k=F(k))in V?Object.defineProperty(V,k,{value:X,enumerable:!0,configurable:!0,writable:!0}):V[k]=X,V}function kn(){return kn=Object.assign?Object.assign.bind():function(V){for(var k=1;k<arguments.length;k++){var X=arguments[k];for(var ee in X)Object.prototype.hasOwnProperty.call(X,ee)&&(V[ee]=X[ee])}return V},kn.apply(this,arguments)}function aa(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,F(ee.key),ee)}}function F(V){var k=function(X,ee){if(Rt(X)!=="object"||X===null)return X;var Ie=X[Symbol.toPrimitive];if(Ie!==void 0){var _e=Ie.call(X,"string");if(Rt(_e)!=="object")return _e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(X)}(V);return Rt(k)==="symbol"?k:String(k)}function $(V,k){return $=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},$(V,k)}function ie(V){return ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},ie(V)}var le=function(V){(function(W,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");W.prototype=Object.create(Y&&Y.prototype,{constructor:{value:W,writable:!0,configurable:!0}}),Object.defineProperty(W,"prototype",{writable:!1}),Y&&$(W,Y)})(Be,V);var k,X,ee,Ie,_e=(ee=Be,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var W,Y=ie(ee);if(Ie){var ge=ie(this).constructor;W=Reflect.construct(Y,arguments,ge)}else W=Y.apply(this,arguments);return function(he,pe){if(pe&&(Rt(pe)==="object"||typeof pe=="function"))return pe;if(pe!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(ke){if(ke===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ke}(he)}(this,W)});function Be(W){var Y;return function(ge,he){if(!(ge instanceof he))throw new TypeError("Cannot call a class as a function")}(this,Be),(Y=_e.call(this,W)).state={loaded:!1},Y}return k=Be,(X=[{key:"onImageLoad",value:function(){var W=this;return this.state.loaded?null:function(Y){W.props.onLoad(Y),W.props.afterLoad(),W.setState({loaded:!0})}}},{key:"getImg",value:function(){var W=this.props,Y=(W.afterLoad,W.beforeLoad,W.delayMethod,W.delayTime,W.effect,W.placeholder,W.placeholderSrc,W.scrollPosition,W.threshold,W.useIntersectionObserver,W.visibleByDefault,W.wrapperClassName,W.wrapperProps,function(ge,he){if(ge==null)return{};var pe,ke,tt=function(Ye,kt){if(Ye==null)return{};var ct,Lt,hr={},ui=Object.keys(Ye);for(Lt=0;Lt<ui.length;Lt++)ct=ui[Lt],kt.indexOf(ct)>=0||(hr[ct]=Ye[ct]);return hr}(ge,he);if(Object.getOwnPropertySymbols){var nt=Object.getOwnPropertySymbols(ge);for(ke=0;ke<nt.length;ke++)pe=nt[ke],he.indexOf(pe)>=0||Object.prototype.propertyIsEnumerable.call(ge,pe)&&(tt[pe]=ge[pe])}return tt}(W,li));return a().createElement("img",kn({},Y,{onLoad:this.onImageLoad()}))}},{key:"getLazyLoadImage",value:function(){var W=this.props,Y=W.beforeLoad,ge=W.className,he=W.delayMethod,pe=W.delayTime,ke=W.height,tt=W.placeholder,nt=W.scrollPosition,Ye=W.style,kt=W.threshold,ct=W.useIntersectionObserver,Lt=W.visibleByDefault,hr=W.width;return a().createElement(De,{beforeLoad:Y,className:ge,delayMethod:he,delayTime:pe,height:ke,placeholder:tt,scrollPosition:nt,style:Ye,threshold:kt,useIntersectionObserver:ct,visibleByDefault:Lt,width:hr},this.getImg())}},{key:"getWrappedLazyLoadImage",value:function(W){var Y=this.props,ge=Y.effect,he=Y.height,pe=Y.placeholderSrc,ke=Y.width,tt=Y.wrapperClassName,nt=Y.wrapperProps,Ye=this.state.loaded,kt=Ye?" lazy-load-image-loaded":"",ct=Ye||!pe?{}:{backgroundImage:"url(".concat(pe,")"),backgroundSize:"100% 100%"};return a().createElement("span",kn({className:tt+" lazy-load-image-background "+ge+kt,style:Sn(Sn({},ct),{},{color:"transparent",display:"inline-block",height:he,width:ke})},nt),W)}},{key:"render",value:function(){var W=this.props,Y=W.effect,ge=W.placeholderSrc,he=W.visibleByDefault,pe=W.wrapperClassName,ke=W.wrapperProps,tt=this.getLazyLoadImage();return(Y||ge)&&!he||pe||ke?this.getWrappedLazyLoadImage(tt):tt}}])&&aa(k.prototype,X),Object.defineProperty(k,"prototype",{writable:!1}),Be}(a().Component);le.propTypes={onLoad:l.PropTypes.func,afterLoad:l.PropTypes.func,beforeLoad:l.PropTypes.func,delayMethod:l.PropTypes.string,delayTime:l.PropTypes.number,effect:l.PropTypes.string,placeholderSrc:l.PropTypes.string,threshold:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool,visibleByDefault:l.PropTypes.bool,wrapperClassName:l.PropTypes.string,wrapperProps:l.PropTypes.object},le.defaultProps={onLoad:function(){},afterLoad:function(){return{}},beforeLoad:function(){return{}},delayMethod:"throttle",delayTime:300,effect:"",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:""};let Se=le})(),mE.exports=i})()});var mk={};BI(mk,{AnnotationContext:()=>XO,AnnotationPageContext:()=>ZO,AnnotationStyleProvider:()=>DO,AtlasStoreProvider:()=>js,AtlasStoreReactContext:()=>ko,Auth:()=>pm,AuthProvider:()=>fm,AuthRContext:()=>Eo,AuthReactContext:()=>r0,AuthReactContextActions:()=>o0,CanvasAnnotations:()=>VO,CanvasContext:()=>ti,CanvasPanel:()=>Vt,CanvasStrategyProvider:()=>vy,CanvasWorldObject:()=>Sy,CollectionContext:()=>JO,CombinedMetadata:()=>jO,ComplexTimelineProvider:()=>kg,ContextBridge:()=>Vl,ControlsReactContext:()=>wl,CreateCustomShape:()=>Ey,CustomContextBridge:()=>$R,CustomContextBridgeProvider:()=>bO,DefaultEditingTools:()=>XR,EventEmitterProvider:()=>mM,EventsProvider:()=>wO,Image:()=>hE,ImageService:()=>WO,ImageServiceLoaderContext:()=>Ab,InnerViewerProvider:()=>d0,LanguageProvider:()=>c_,LanguageString:()=>Bb,LocaleString:()=>Hn,ManifestContext:()=>tm,ManifestMetadata:()=>qO,MediaPlayerProvider:()=>xl,Metadata:()=>Jl,PolygonSelector:()=>BO,RangeContext:()=>nm,ReactEmitterContext:()=>Ad,ReactEventContext:()=>Go,ReactVaultContext:()=>Ar,Render3DModelStrategy:()=>xg,RenderAccompanyingCanvas:()=>Sg,RenderAnnotation:()=>vl,RenderAnnotationEditing:()=>sy,RenderAnnotationPage:()=>Hs,RenderAnnotationStrategy:()=>Ig,RenderAudioStrategy:()=>Ag,RenderComplexTimelineStrategy:()=>Lg,RenderEmptyStrategy:()=>Fg,RenderImageStrategy:()=>Ng,RenderSvgEditorControls:()=>KO,RenderTextualContentStrategy:()=>zg,RenderVideoStrategy:()=>Bg,RenderYouTubeStrategy:()=>Vg,ResourceProvider:()=>dn,ResourceReactContext:()=>_a,SelectorControllerProvider:()=>FO,SequenceThumbnails:()=>QO,SimpleViewerProvider:()=>gm,SimpleViewerReactContext:()=>Ts,SingleCanvasThumbnail:()=>Oy,StrategyReactContext:()=>Hr,ThumbnailFallbackImage:()=>Bo,TranslationProvider:()=>u_,TransliterationProvider:()=>d_,VaultProvider:()=>So,ViewerPresetContext:()=>Ci,VirtualAnnotationProvider:()=>Eg,VisibleCanvasReactContext:()=>wo,annotationResponseToSelector:()=>pk,authDetailsForResource:()=>um,createAtlasStore:()=>sg,createAuthStateStore:()=>am,createProbe:()=>lm,defaultEmitter:()=>qR,defaultSvgTheme:()=>Xb,emptyActions:()=>ay,emptyStrategy:()=>ly,expandTarget:()=>qt,findAllCanvasesInRange:()=>Cc,findFirstCanvasFromRange:()=>BS,findManifestSelectedRange:()=>zP,findSelectedRange:()=>im,flattenAnnotationPageIds:()=>uy,formatTime:()=>Fd,get3dStrategy:()=>fy,getAtlasStoreByName:()=>ug,getComplexTimelineStrategy:()=>hy,getDefaultAnnotationStyles:()=>Py,getImageStrategy:()=>Ql,getManifestSequence:()=>Pc,getParsedTargetSelector:()=>Wl,getRenderingStrategy:()=>my,getTextualContentStrategy:()=>Yl,getVideoStrategy:()=>Kl,getVisibleCanvasesFromCanvasId:()=>DP,hasAuth:()=>oA,isBoxSelector:()=>n_,isImageApiSelector:()=>Yu,isRectangle:()=>Bs,isSvgSelector:()=>sb,makeAccessServiceRequest:()=>sm,makeAccessTokenRequest:()=>Mc,parseRotation:()=>Ku,parseSelector:()=>Ji,parseSpecificResource:()=>RO,polygonToTarget:()=>Vs,requestToAnnotationResponse:()=>pl,seraliseSupportedSelector:()=>Od,svgThemes:()=>LO,targetIntersects:()=>fk,unknownResponse:()=>Ul,unsupportedStrategy:()=>ut,useAnnotation:()=>yl,useAnnotationPage:()=>dg,useAnnotationPageManager:()=>Gl,useAnnotationStyles:()=>Ty,useAnnotationsAtTime:()=>ek,useAtlasContextMenu:()=>Hl,useAtlasStore:()=>st,useAuthActions:()=>s0,useAuthService:()=>a0,useAuthStore:()=>Ps,useAuthToken:()=>aA,useAuthTokens:()=>cm,useCanvas:()=>Ce,useCanvasChoices:()=>tk,useCanvasClock:()=>nk,useCanvasSequence:()=>rm,useCanvasStartTime:()=>Sl,useCanvasSubset:()=>ik,useClosestLanguage:()=>jb,useCollection:()=>rk,useComplexTimeline:()=>p_,useContextBridge:()=>Bl,useContextMenuStore:()=>KR,useCreateLocaleString:()=>f_,useCurrentAnnotationActions:()=>ok,useCurrentAnnotationMetadata:()=>sk,useCurrentAnnotationRequest:()=>oy,useCurrentAnnotationTransition:()=>ak,useCurrentAuth:()=>sA,useCustomContextBridge:()=>Dl,useDispatch:()=>wg,useEmitter:()=>rg,useEvent:()=>Oo,useEventEmitter:()=>Nl,useEventListener:()=>lk,useExistingVault:()=>Ro,useExternalCollection:()=>uk,useExternalManifest:()=>em,useExternalResource:()=>Wa,useIIIFLanguage:()=>qd,useImage:()=>bf,useImageService:()=>Ly,useImageServiceLoader:()=>bl,useImageTile:()=>ck,useIsAuthEnabled:()=>hm,useLoadImageService:()=>$l,useLocaleString:()=>Hb,useManifest:()=>It,useMediaActions:()=>o_,useMediaElements:()=>s_,useMediaState:()=>r_,usePaintables:()=>dy,usePaintingAnnotations:()=>$o,usePolygonHelper:()=>jg,useRange:()=>Ua,useRenderControls:()=>mn,useRenderingStrategy:()=>gy,useRequestAnnotation:()=>Ry,useResourceContext:()=>rn,useResourceEvents:()=>gl,useResources:()=>cy,useSearchService:()=>mm,useSelectorController:()=>Cy,useSelectorEmitter:()=>NO,useSelectorEvents:()=>Iy,useSelectorHelper:()=>zO,useSimpleMediaPlayer:()=>Fo,useSimpleViewer:()=>Io,useStrategy:()=>gt,useStyleHelper:()=>dk,useStyles:()=>Lo,useSvgEditor:()=>Hg,useSvgEditorControls:()=>ky,useThumbnail:()=>ar,useTranslations:()=>Mg,useTransliteration:()=>Tg,useVault:()=>ze,useVaultEffect:()=>Cg,useVaultSelector:()=>qe,useViewerPreset:()=>Rl,useVirtualAnnotationPage:()=>bg,useVirtualAnnotationPageContext:()=>Rg,useVisibleCanvases:()=>bo});function Aa(e){"@babel/helpers - typeof";return Aa=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Aa(e)}function jI(e,t){if(Aa(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||"default");if(Aa(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function HI(e){var t=jI(e,"string");return Aa(t)=="symbol"?t:t+""}function Dt(e,t,n){return(t=HI(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var WI=Object.create,Sx=Object.defineProperty,UI=Object.getOwnPropertyDescriptor,qI=Object.getOwnPropertyNames,GI=Object.getPrototypeOf,$I=Object.prototype.hasOwnProperty,jh=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var QI=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(var r=qI(t),a=0,l=r.length,u;a<l;a++)u=r[a],!$I.call(e,u)&&u!==n&&Sx(e,u,{get:(f=>t[f]).bind(null,u),enumerable:!(i=UI(t,u))||i.enumerable});return e},Hh=(e,t,n)=>(n=e==null?{}:WI(GI(e)),QI(t||!e||!e.__esModule?Sx(n,"default",{value:e,enumerable:!0}):n,e));var YI=function(){function e(t,n){var i=[],r=!0,a=!1,l=void 0;try{for(var u=t[Symbol.iterator](),f;!(r=(f=u.next()).done)&&(i.push(f.value),!(n&&i.length===n));r=!0);}catch(h){a=!0,l=h}finally{try{!r&&u.return&&u.return()}finally{if(a)throw l}}return i}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw TypeError("Invalid attempt to destructure non-iterable instance")}}(),Ta=Math.PI*2,Wh=function(e,t,n,i,r,a,l){var u=e.x,f=e.y;u*=t,f*=n;var h=i*u-r*f,c=r*u+i*f;return{x:h+a,y:c+l}},KI=function(e,t){var n=t===1.5707963267948966?.551915024494:t===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(t/4),i=Math.cos(e),r=Math.sin(e),a=Math.cos(e+t),l=Math.sin(e+t);return[{x:i-r*n,y:r+i*n},{x:a+l*n,y:l-a*n},{x:a,y:l}]},wx=function(e,t,n,i){var r=e*i-t*n<0?-1:1,a=e*n+t*i;return a>1&&(a=1),a<-1&&(a=-1),r*Math.acos(a)},XI=function(e,t,n,i,r,a,l,u,f,h,c,m){var v=r**2,w=a**2,y=c**2,S=m**2,E=v*w-v*S-w*y;E<0&&(E=0),E/=v*S+w*y,E=Math.sqrt(E)*(l===u?-1:1);var R=E*r/a*m,b=E*-a/r*c,I=h*R-f*b+(e+n)/2,M=f*R+h*b+(t+i)/2,T=(c-R)/r,_=(m-b)/a,U=(-c-R)/r,H=(-m-b)/a,Z=wx(1,0,T,_),B=wx(T,_,U,H);return u===0&&B>0&&(B-=Ta),u===1&&B<0&&(B+=Ta),[I,M,Z,B]},ZI=function(e){var t=e.px,n=e.py,i=e.cx,r=e.cy,a=e.rx,l=e.ry,u=e.xAxisRotation,f=u===void 0?0:u,h=e.largeArcFlag,c=h===void 0?0:h,m=e.sweepFlag,v=m===void 0?0:m,w=[];if(a===0||l===0)return[];var y=Math.sin(f*Ta/360),S=Math.cos(f*Ta/360),E=S*(t-i)/2+y*(n-r)/2,R=-y*(t-i)/2+S*(n-r)/2;if(E===0&&R===0)return[];a=Math.abs(a),l=Math.abs(l);var b=E**2/a**2+R**2/l**2;b>1&&(a*=Math.sqrt(b),l*=Math.sqrt(b));var I=XI(t,n,i,r,a,l,c,v,y,S,E,R),M=YI(I,4),T=M[0],_=M[1],U=M[2],H=M[3],Z=Math.abs(H)/(Ta/4);Math.abs(1-Z)<1e-7&&(Z=1);var B=Math.max(Math.ceil(Z),1);H/=B;for(var G=0;G<B;G++)w.push(KI(U,H)),U+=H;return w.map(function(K){var ce=Wh(K[0],a,l,S,y,T,_),J=ce.x,te=ce.y,oe=Wh(K[1],a,l,S,y,T,_),Re=oe.x,de=oe.y,N=Wh(K[2],a,l,S,y,T,_),re=N.x,Le=N.y;return{x1:J,y1:te,x2:Re,y2:de,x:re,y:Le}})},JI=ZI,eC=jh((e,t)=>{t.exports=r;var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;function r(u){var f=[];return u.replace(i,function(h,c,m){var v=c.toLowerCase();for(m=l(m),v=="m"&&m.length>2&&(f.push([c].concat(m.splice(0,2))),v="l",c=c=="m"?"l":"L");;){if(m.length==n[v])return m.unshift(c),f.push(m);if(m.length<n[v])throw Error("malformed path data");f.push([c].concat(m.splice(0,n[v])))}}),f}var a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;function l(u){var f=u.match(a);return f?f.map(Number):[]}}),tC=jh((e,t)=>{t.exports=n;function n(i){var r=0,a=0,l=0,u=0;return i.map(function(f){f=f.slice();var h=f[0],c=h.toUpperCase();if(h!=c)switch(f[0]=c,h){case"a":f[6]+=l,f[7]+=u;break;case"v":f[1]+=u;break;case"h":f[1]+=l;break;default:for(var m=1;m<f.length;)f[m++]+=l,f[m++]+=u}switch(c){case"Z":l=r,u=a;break;case"H":l=f[1];break;case"V":u=f[1];break;case"M":l=r=f[1],u=a=f[2];break;default:l=f[f.length-2],u=f[f.length-1]}return f})}}),nC=Hh(eC(),1),iC=Hh(tC(),1);function rC(e){let t=(0,nC.default)(e),n=(0,iC.default)(t),i,r=0,a=0,l=0,u=0,f,h,c=0,m=0,v=[];for(let w=0;w<n.length;w++){let y=n[w],S=y[0];switch(S){case"M":r=y[1],a=y[2];break;case"H":y=["L",y[1],a];break;case"V":y=["L",r,y[1]];break;case"S":{let E=c,R=m;(i==="C"||i=="S")&&(E+=E-l,R+=R-u),y=["C",E,R,y[1],y[2],y[3],y[4]]}break;case"T":i==="Q"||i=="T"?(f=c*2-f,h=m*2-h):(f=c,h=m),y=["Q",f,h,y[1],y[2]];break;case"Q":f=y[1],h=y[2];break;case"A":{let E=JI({px:c,py:m,cx:y[6],cy:y[7],rx:y[1],ry:y[2],xAxisRotation:y[3],largeArcFlag:y[4],sweepFlag:y[5]});if(!E.length)continue;for(let[R,b]of E.entries())y=["C",b.x1,b.y1,b.x2,b.y2,b.x,b.y],R<E.length-1&&v.push(y);y=y}break;case"Z":y=["L",r,a];break}i=S,c=y[y.length-2],m=y[y.length-1],["C","Q","A"].indexOf(S)>-1?(l=y[y.length-4],u=y[y.length-3]):(l=c,u=m),v.push(y)}return v}function oC(e,t,n,i=1){return new Ex(e,t,n).subdivide(i)}function sC(e,t,n,i,r=1){return new lC(new Float64Array([e.x,e.y,t.x,t.y,n.x,n.y,i.x,i.y])).subdivide(r)}function aC(e){return e.x*e.x+e.y*e.y}function Ma(e){let t=.67;return e/(1-t+(t**4+.25*e*e)**.25)}function cs(e){let t=.39;return e*(1-t+Math.sqrt(t*t+.25*e*e))}var Ex=class{constructor(e,t,n){Dt(this,"start",void 0),Dt(this,"control",void 0),Dt(this,"end",void 0),this.start=e,this.control=t,this.end=n}eval(e){let t=1-e;return{x:this.start.x*t*t+2*this.control.x*t*e+this.end.x*e*e,y:this.start.y*t*t+2*this.control.y*t*e+this.end.y*e*e}}mapToBasic(){let{x:e,y:t}=this.start,{x:n,y:i}=this.control,{x:r,y:a}=this.end,l=2*n-e-r,u=2*i-t-a,f=(n-e)*l+(i-t)*u,h=(r-n)*l+(a-i)*u,c=(r-e)*u-(a-t)*l,m=f/c,v=h/c,w=Math.abs(c)/(Math.hypot(l,u)*Math.abs(v-m));return{x0:e,x2:r,scale:w,cross:c}}subdivide(e){let t=this.mapToBasic(),n=Ma(t.x0),i=Ma(t.x2),r=.5*Math.abs(i-n)*Math.sqrt(t.scale/e),a=Math.ceil(r),l=cs(n),u=cs(i),f=[0];for(let h=1;h<a;h++){let c=cs(n+(i-n)*h/a),m=(c-l)/(u-l);f.push(m)}return f.push(1),f.map(h=>this.eval(h))}},lC=class Ix{constructor(t){Dt(this,"c",void 0),this.c=t}weightsum(t,n,i,r){let a=t*this.c[0]+n*this.c[2]+i*this.c[4]+r*this.c[6],l=t*this.c[1]+n*this.c[3]+i*this.c[5]+r*this.c[7];return{x:a,y:l}}eval(t){let n=1-t,i=n*n*n,r=3*n*n*t,a=3*n*t*t,l=t*t*t;return this.weightsum(i,r,a,l)}deriv(t){let n=1-t,i=-3*n*n,r=3*t*t,a=-6*t*n-i,l=6*t*n-r;return this.weightsum(i,a,l,r)}midpoint_quadbez(){let t=this.weightsum(-.25,.75,.75,-.25);return new Ex({x:this.c[0],y:this.c[1]},t,{x:this.c[6],y:this.c[7]})}subsegment(t,n){let i=new Float64Array(8),r=this.eval(t),a=this.eval(n);i[0]=r.x,i[1]=r.y;let l=(n-t)/3,u=this.deriv(t);i[2]=r.x+l*u.x,i[3]=r.y+l*u.y;let f=this.deriv(n);return i[4]=a.x-l*f.x,i[5]=a.y-l*f.y,i[6]=a.x,i[7]=a.y,new Ix(i)}subdivide(t){let n=.1*t,i=t-n,r=Math.sqrt(i),a=aC(this.weightsum(1,-3,3,-1)),l=Math.ceil((a/(432*n*n))**(1/6)),u=[],f=0;for(let y=0;y<l;y++){let S=y/l,E=(y+1)/l,R=this.subsegment(S,E).midpoint_quadbez(),b=R.mapToBasic(),I=Ma(b.x0),M=Ma(b.x2),T=Math.sqrt(b.scale),_=Math.abs(M-I)*T;if(Math.sign(b.x0)!=Math.sign(b.x2)){let U=r/T,H=r*Math.abs(M-I)/Ma(U);_=Math.max(_,H)}u.push({quad:R,a0:I,a2:M,val:_}),f+=_}let h=.5*f/r,c=Math.ceil(h),m=[{x:this.c[0],y:this.c[1]}],v=0,w=0;for(let y=1;y<c;y++){let S=f*y/c;for(;v+u[w].val<S;)v+=u[w].val,w++;let E=u[w].a0,R=u[w].a2,b=cs(E),I=cs(R),M=E+(R-E)*(S-v)/u[w].val,T=cs(M),_=(T-b)/(I-b);m.push(u[w].quad.eval(_))}return m.push({x:this.c[6],y:this.c[7]}),m}},uC=/&?(xywh=)?(pixel:|percent:|pct:)?([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?)/,bx=/&?(t=)(npt:)?([0-9]+(\.[0-9]+)?)?(,([0-9]+(\.[0-9]+)?))?/,Rx=/^rgba\((\d+),(\d+),(\d+),([0-9.]+)\)$/;function Ji(e,{domParser:t,svgPreprocessor:n,iiifRenderingHints:i}={}){if(Array.isArray(e))return ei(e.reduce((r,a)=>{let{selector:l,selectors:u,iiifRenderingHints:f}=Ji(a,{domParser:t,svgPreprocessor:n,iiifRenderingHints:i});return l&&(r.selector||(r.selector=l),r.selectors.push(...u)),f&&(r.iiifRenderingHints=r.iiifRenderingHints||{type:"ImageApiSelector"},Object.assign(r.iiifRenderingHints,f)),r},{selector:null,selectors:[],iiifRenderingHints:i}));if(!e)return ei({selector:null,selectors:[],iiifRenderingHints:i});if(typeof e=="string"){let[r,a]=e.split("#");return a?Ji({type:"FragmentSelector",value:a},{svgPreprocessor:n,iiifRenderingHints:i,domParser:t}):ei({selector:null,selectors:[],iiifRenderingHints:i})}if(e.type){if(e.type==="PointSelector"&&(e.t||e.t===0)){let r={type:"TemporalSelector",temporal:{startTime:e.t}};return ei({selector:r,selectors:[r],iiifRenderingHints:i})}if(e.type==="PointSelector"&&e.x&&e.y){let r={type:"PointSelector",spatial:{x:e.x,y:e.y}};return ei({selector:r,selectors:[r],iiifRenderingHints:i})}}if(Yu(e)){let r=[];if(e.region){let a=Ji({type:"FragmentSelector",value:"xywh="+e.region},{domParser:t,svgPreprocessor:n,iiifRenderingHints:i});r.push(...a.selectors)}return ei({selector:r[0],selectors:r,iiifRenderingHints:i?{...i,...e}:e})}if(e.type==="FragmentSelector"){let r=uC.exec(e.value);if(r){let l={type:"BoxSelector",spatial:{unit:r[2]==="percent:"||r[2]==="pct:"?"percent":"pixel",x:Number.parseFloat(r[3]),y:Number.parseFloat(r[4]),width:Number.parseFloat(r[5]),height:Number.parseFloat(r[6])}},u=e.value.match(bx);return u&&(l={type:"TemporalBoxSelector",spatial:l.spatial,temporal:{startTime:u[3]?Number.parseFloat(u[3]):0,endTime:u[6]?Number.parseFloat(u[6]):void 0}}),ei({selector:l,selectors:[l],iiifRenderingHints:i})}let a=e.value.match(bx);if(a){let l={type:"TemporalSelector",temporal:{startTime:a[3]?Number.parseFloat(a[3]):0,endTime:a[6]?Number.parseFloat(a[6]):void 0}};return ei({selector:l,selectors:[l],iiifRenderingHints:i})}return ei({selector:null,selectors:[],iiifRenderingHints:i})}if(e.type==="SvgSelector"&&"value"in e){t||(typeof window<"u"?t=new window.DOMParser:console.warn("No DOMParser available, cannot parse SVG selector, `points`, `spatial` and `style` will be unavailable and the SVG will not be normalized."));let r=[],a,l,u=n?.(e.value)??e.value,f;if(t){let c=t.parseFromString(e.value,"image/svg+xml").querySelector("svg");if(!c)return console.warn(`Illegal SVG selector: ${e.value}`),ei({selector:null,selectors:[],iiifRenderingHints:i});let m=Cx(c);m&&(r=m.points,f=m.shapeType,a=[Math.min(...r.map(v=>v[0])),Math.min(...r.map(v=>v[1])),Math.max(...r.map(v=>v[0])),Math.max(...r.map(v=>v[1]))],{style:l,svg:u}=fC(m.element)??{svg:u})}let h={type:"SvgSelector",svg:u,svgShape:f,style:l,points:r.length?r:void 0,spatial:a?{unit:"pixel",x:a[0],y:a[1],width:a[2]-a[0],height:a[3]-a[1]}:void 0};return ei({selector:h,selectors:[h],iiifRenderingHints:i})}return ei({selector:null,selectors:[],iiifRenderingHints:i})}function cC(e){let t=e.map(i=>i[0]).reduce((i,r)=>(i[r]+=1,i),{C:0,Q:0,L:0,M:0}),n=new Set(e.map(i=>i[0]));if(t.C>0||t.Q>0)return"path";if(t.L>0&&(n.size===1||n.size===2&&n.has("M"))){if(t.L===4)return"rect";let i=e.slice(-1)[0];return e[0][0]==="M"&&i[0]==="L"&&i[1]==e[0][1]&&i[2]===e[0][2]||i[1]===0&&i[2]===0?"polygon":"polyline"}return"path"}function Cx(e){for(let t of Array.from(e.children))switch(t?.tagName.toLowerCase()){case"g":{let n=Cx(t);if(n)return n}continue;case"path":{let n=t.getAttribute("d");if(!n)continue;let i=rC(n);return{element:t,points:dC(i),shapeType:cC(i)}}case"circle":{let n=Number.parseFloat(t.getAttribute("cx")??"0"),i=Number.parseFloat(t.getAttribute("cy")??"0"),r=Number.parseFloat(t.getAttribute("r")??"0");if(!r)continue;let a=[];for(let l=0;l<=360;l+=12){let u=l*Math.PI/180;a.push([n+r*Math.cos(u),i+r*Math.sin(u)])}return{element:t,points:a,shapeType:"circle"}}case"ellipse":{let n=Number.parseFloat(t.getAttribute("cx")??"0"),i=Number.parseFloat(t.getAttribute("cy")??"0"),r=Number.parseFloat(t.getAttribute("rx")??"0"),a=Number.parseFloat(t.getAttribute("ry")??"0");if(!r&&!a)continue;let l=[];for(let u=0;u<=360;u+=12){let f=Math.tan(u/360*Math.PI),h=r*(1-f**2)/(1+f**2),c=a*2*f/(1+f**2);l.push([n+h,i+c])}return{element:t,points:l,shapeType:"ellipse"}}case"line":{let n=Number.parseFloat(t.getAttribute("x0")??"0"),i=Number.parseFloat(t.getAttribute("y0")??"0"),r=Number.parseFloat(t.getAttribute("x1")??"0"),a=Number.parseFloat(t.getAttribute("y1")??"0");if(n===r&&i===a)continue;return{element:t,points:[[n,i],[r,a]],shapeType:"polyline"}}case"polygon":case"polyline":{let n=t.getAttribute("points")?.split(" ").map(r=>r.split(",").map(Number.parseFloat))??[];if(!n.length)continue;let i="polyline";return t.tagName.toLowerCase()==="polygon"&&(n.push(n[0]),i="polygon"),{element:t,points:n,shapeType:i}}case"rect":{let n=Number.parseFloat(t.getAttribute("x")??"0"),i=Number.parseFloat(t.getAttribute("y")??"0"),r=Number.parseFloat(t.getAttribute("width")??"0"),a=Number.parseFloat(t.getAttribute("height")??"0");if(!r||!a)continue;return{element:t,points:[[n,i],[n+r,i],[n+r,i+a],[n,i+a],[n,i]],shapeType:"rect"}}default:continue}return null}function dC(e){let t=[];for(let n=0;n<e.length;n++){let i=t[t.length-1]??[0,0],r=e[n];switch(r[0]){case"M":case"L":t.push([r[1],r[2]]);continue;case"C":t.push(...sC({x:i[0],y:i[1]},{x:r[1],y:r[2]},{x:r[3],y:r[4]},{x:r[5],y:r[6]}).map(a=>[a.x,a.y]).slice(1));continue;case"Q":t.push(...oC({x:i[0],y:i[1]},{x:r[1],y:r[2]},{x:r[3],y:r[4]}).map(a=>[a.x,a.y]).slice(1));continue}}return t}function fC(e){let t={};if(e.hasAttribute("fill")?(t.fill=e.getAttribute("fill"),e.removeAttribute("fill")):e.style&&e.style.fill&&(t.fill=e.style.fill),t.fill){let i=Rx.exec(t.fill);i&&(t.fillOpacity=Number.parseFloat(i[4]),t.fill=`rgb(${i[1]}, ${i[2]}, ${i[3]})`)}if(e.hasAttribute("fill-opacity")?(t.fillOpacity=Number.parseFloat(e.getAttribute("fill-opacity")),e.removeAttribute("fill-opacity")):e.style&&e.style.fillOpacity&&(t.fillOpacity=Number.parseFloat(e.style.fillOpacity)),e.hasAttribute("stroke")?(t.stroke=e.getAttribute("stroke"),e.removeAttribute("stroke")):e.style&&e.style.stroke&&(t.stroke=e.style.stroke),t.stroke){let i=Rx.exec(t.stroke);i&&(t.strokeOpacity=Number.parseFloat(i[4]),t.stroke=`rgb(${i[1]}, ${i[2]}, ${i[3]})`)}e.hasAttribute("stroke-opacity")?(t.strokeOpacity=Number.parseFloat(e.getAttribute("stroke-opacity")),e.removeAttribute("stroke-opacity")):e.style&&e.style.strokeOpacity&&(t.strokeOpacity=Number.parseFloat(e.style.strokeOpacity)),e.hasAttribute("stroke-width")?(t.strokeWidth=e.getAttribute("stroke-width"),e.removeAttribute("stroke-width")):e.style&&e.style.strokeWidth&&(t.strokeWidth=e.style.strokeWidth),e.hasAttribute("stroke-dasharray")?(t.strokeDasharray=e.getAttribute("stroke-dasharray"),e.removeAttribute("stroke-dasharray")):e.style&&e.style.strokeDasharray&&(t.strokeDasharray=e.style.strokeDasharray);let n=e;for(;n.tagName.toLowerCase()!=="svg";)if(n=n.parentElement,n===null)throw Error("Could not find root SVG element");return{svg:n.outerHTML,style:Object.keys(t).length>0?t:void 0}}function Yu(e){if(!e)return!1;let t=e.type||e["@type"];return t==="iiif:ImageApiSelector"||t==="ImageApiSelector"}function ei(e){if(e.iiifRenderingHints){let t=e.iiifRenderingHints;if(t.rotation){let n=Ku(`${t.rotation}`);if(n)if(e.selectors.length)for(let i of e.selectors)i.rotation=n;else e.selectors.push({type:"RotationSelector",rotation:n})}}else delete e.iiifRenderingHints;return e}function Ku(e){let t=Number.parseFloat(e);return t&&e.startsWith("!")&&(t=360-t),t&&(t%=360),t===t&&t||0}function qt(e,t={}){if(Array.isArray(e))return qt(e[0]);if(typeof e=="string"){let[n,i]=e.split("#");return i?qt({type:"SpecificResource",source:{id:n,type:"Unknown"},selector:{type:"FragmentSelector",value:i}}):{type:"SpecificResource",source:{id:n,type:t.typeMap&&t.typeMap[n]||"Unknown"},selector:null,selectors:[]}}if(e.type==="Choice"||e.type==="List"||e.type==="Composite"||e.type==="Independents")return qt(e.items[0]);if(!e.type&&"source"in e&&(e.type="SpecificResource"),e.type==="SpecificResource"){e.source.type==="Canvas"&&e.source.partOf&&typeof e.source.partOf=="string"&&(e.source.partOf=[{id:e.source.partOf,type:"Manifest"}]);let{selector:n,selectors:i}=e.selector?Ji(e.selector,t):{selector:null,selectors:[]};return{type:"SpecificResource",source:e.source,selector:n,selectors:i}}if(e.id){e.type==="Canvas"&&e.partOf&&typeof e.partOf=="string"&&(e.partOf=[{id:e.partOf,type:"Manifest"}]);let[n,i]=e.id.split("#");return i?qt({type:"SpecificResource",source:{...e,id:n},selector:{type:"FragmentSelector",value:i}}):{type:"SpecificResource",source:{...e,id:n},selector:null,selectors:[]}}return{type:"SpecificResource",source:e,selector:null,selectors:[]}}var Yo=A(Q(),1);var ds=A(Q(),1),_x=A(D(),1),xC={collection:void 0,manifest:void 0,range:void 0,canvas:void 0,annotation:void 0,annotationPage:void 0},_a=ds.default.createContext(xC),rn=()=>(0,ds.useContext)(_a);function dn({value:e,children:t}){let n=rn(),i=(0,ds.useMemo)(()=>({...n,...e}),[e,n]);return(0,_x.jsx)(_a.Provider,{value:i,children:t})}var Ox=A(D(),1);function ti({canvas:e,children:t}){return(0,Ox.jsx)(dn,{value:{canvas:e},children:t})}var Ec=A(Q(),1);var Lx={},kx=e=>{let t,n=new Set,i=(c,m)=>{let v=typeof c=="function"?c(t):c;if(!Object.is(v,t)){let w=t;t=m??(typeof v!="object"||!v)?v:Object.assign({},t,v),n.forEach(y=>y(t,w))}},r=()=>t,a=()=>h,l=c=>(n.add(c),()=>n.delete(c)),u=()=>{(Lx.env?Lx.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()},f={setState:i,getState:r,getInitialState:a,subscribe:l,destroy:u},h=t=e(i,r,f);return f},Zu=e=>e?kx(e):kx;function Ju(e){return{all:e||(e=new Map),on:function(t,n){var i=e.get(t);i?i.push(n):e.set(t,[n])},off:function(t,n){var i=e.get(t);i&&(n?i.splice(i.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var i=e.get(t);i&&i.slice().map(function(r){r(n)}),(i=e.get("*"))&&i.slice().map(function(r){r(t,n)})}}}var ot=function(e){return function(){let t={type:e,getType:()=>e,toString:()=>e};return(n,i)=>({...t,...n!==void 0&&{payload:n},...i!==void 0&&{meta:i}})}},ec="@iiif/IMPORT_ENTITIES",tc="@iiif/MODIFY_ENTITY_FIELD",nc="@iiif/REORDER_ENTITY_FIELD",ic="@iiif/MOVE_ENTITY",Oa="@iiif/MOVE_ENTITIES",rc="@iiif/ADD_REFERENCE",ka="@iiif/UPDATE_REFERENCE",oc="@iiif/REMOVE_REFERENCE",sc="@iiif/ADD_METADATA",ac="@iiif/REMOVE_METADATA",La="@iiif/UPDATE_METADATA",lc="@iiif/REORDER_METADATA",uc=ot(ec)(),Fx=ot(tc)(),Nx=ot(nc)(),zx=ot(ic)(),Dx=ot(Oa)(),Bx=ot(rc)(),Vx=ot(oc)(),jx=ot(ka)(),Hx=ot(sc)(),Wx=ot(La)(),Ux=ot(ac)(),qx=ot(lc)(),co={importEntities:uc,modifyEntityField:Fx,reorderEntityField:Nx,addReference:Bx,removeReference:Vx,updateReference:jx,addMetadata:Hx,removeMetadata:Ux,updateMetadata:Wx,reorderMetadata:qx,moveEntity:zx,moveEntities:Dx},cc="@iiif/ADD_MAPPING",dc="@iiif/ADD_MAPPINGS",Uh=ot(cc)(),qh=ot(dc)();var fs="RESOURCE_ERROR",Fa="RESOURCE_LOADING",hs="RESOURCE_READY",fc="@iiif/REQUEST_RESOURCE",hc="@iiif/REQUEST_ERROR",pc="@iiif/REQUEST_MISMATCH",mc="@iiif/REQUEST_COMPLETE",gc="@iiif/REQUEST_OFFLINE_RESOURCE",Gh=ot(fc)(),Na=ot(hc)(),$h=ot(pc)(),Qh=ot(mc)(),SC=ot(gc)();var ps="@iiif/BATCH",yc="@iiif/BATCH_IMPORT",ms=ot(ps)(),wC=ot(yc)();var Yh="@iiif/SET_META_VALUE",Kh="@iiif/SET_META_VALUE_DYNAMIC",Xh="@iiif/UNSET_META_VALUE",bC=ot(Yh)(),RC=ot(Kh)(),EC=ot(Xh)(),Zh={setMetaValue:bC,setMetaValueDynamic:RC,unsetMetaValue:EC};function gi(e){return Array.isArray(e)?e:e?[e]:[]}function za(e){"@babel/helpers - typeof";return za=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},za(e)}function IC(e,t){if(za(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||"default");if(za(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function CC(e){var t=IC(e,"string");return za(t)=="symbol"?t:t+""}function Bi(e,t,n){return(t=CC(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function yi(e){for(let t in e)(e[t]===void 0||e[t]===null)&&delete e[t];return e}function vi(e){return typeof e=="string"?!1:e&&!e.type&&"source"in e?(e.type="SpecificResource",!0):!!e&&e.type==="SpecificResource"}function vc(...e){return t=>e.reduce((n,i)=>i(n),t)}var Jh=["Collection","Manifest","Canvas","AnnotationPage","AnnotationCollection","Annotation","ContentResource","Range","Service","Selector","Agent"];function Gx(e,t){if(e==null)throw Error("Null or undefined is not a valid entity.");if(Array.isArray(e))throw Error("Array is not a valid entity");if(typeof e!="object"){if(t)return t;throw Error(`${typeof e} is not a valid entity`)}if(typeof e.type=="string"){let n=Jh.indexOf(e.type);if(n!==-1)return Jh[n]}if(e.profile)return"Service";throw Error("Resource type is not known")}var ep=class $x{constructor(t,n={}){Bi(this,"traversals",void 0),Bi(this,"options",void 0),Bi(this,"_traverseManifest",vc(this.traverseManifestItems.bind(this),this.traverseNavPlace.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseManifestStructures.bind(this),this.traverseInlineAnnotationPages.bind(this))),Bi(this,"_traverseCanvas",vc(this.traverseCanvasItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseInlineAnnotationPages.bind(this))),Bi(this,"_traverseAnnotationPage",vc(this.traverseAnnotationPageItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this))),Bi(this,"_traverseRange",vc(this.traverseRangeRanges.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this))),this.traversals={collection:[],manifest:[],canvas:[],annotationCollection:[],annotationPage:[],annotation:[],contentResource:[],choice:[],range:[],service:[],agent:[],specificResource:[],geoJson:[],...t},this.options={allowUndefinedReturn:!1,...n}}static all(t){return new $x({collection:[t],manifest:[t],canvas:[t],annotationCollection:[t],annotationPage:[t],annotation:[t],contentResource:[t],choice:[t],range:[t],service:[t],geoJson:[t],specificResource:[t],agent:[t]})}traverseDescriptive(t){return t.thumbnail&&(t.thumbnail=gi(t.thumbnail).map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.provider&&(t.provider=t.provider.map(n=>this.traverseAgent(n,t))),t}traverseLinking(t){return t.seeAlso&&(t.seeAlso=gi(t.seeAlso).map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.service&&(t.service=gi(t.service).map(n=>this.traverseService(n))),t.services&&(t.services=gi(t.services).map(n=>this.traverseService(n,t))),t.logo&&(t.logo=gi(t.logo).map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.homepage&&(t.homepage=gi(t.homepage).map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.partOf&&(t.partOf=t.partOf.map(n=>typeof n=="string"||!n.type?this.traverseType(n,{parent:t},this.traversals.contentResource):n.type==="Canvas"?this.traverseType(n,{parent:t},this.traversals.canvas):n.type==="AnnotationCollection"?this.traverseType(n,{parent:t},this.traversals.annotationCollection):n.type==="Collection"?this.traverseType(n,{parent:t},this.traversals.collection):this.traverseType(n,{parent:t},this.traversals.contentResource))),t.start&&(vi(t.start)?t.start=this.traverseSpecificResource(t.start,"Canvas",t):t.start=this.traverseType(t.start,{parent:t},this.traversals.canvas)),t.rendering&&(t.rendering=t.rendering.map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.supplementary&&(t.supplementary=t.supplementary.map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t}traverseCollectionItems(t){return t.items&&t.items.map(n=>n.type==="Collection"?this.traverseCollection(n):this.traverseManifest(n)),t}traverseCollection(t,n){return this.traverseType(this.traverseDescriptive(this.traverseNavPlace(this.traverseInlineAnnotationPages(this.traverseLinking(this.traverseLinkedCanvases(this.traverseCollectionItems(t)))))),{parent:n},this.traversals.collection)}traverseGeoJson(t,n){return this.traverseType(t,{parent:n},this.traversals.geoJson)}traverseNavPlace(t){return t.navPlace&&(t.navPlace=this.traverseGeoJson(t.navPlace,t)),t}traverseManifestItems(t){return t.items&&(t.items=t.items.map(n=>this.traverseCanvas(n))),t}traverseManifestStructures(t){return t.structures&&(t.structures=t.structures.map(n=>this.traverseRange(n))),t}traverseManifest(t,n){return this.traverseType(this._traverseManifest(t),{parent:n},this.traversals.manifest)}traverseCanvasItems(t){return t.items=(t.items||[]).map(n=>this.traverseAnnotationPage(n,t)),t}traverseInlineAnnotationPages(t){return typeof t=="string"||!t||t.annotations&&(t.annotations=t.annotations.map(n=>this.traverseAnnotationPage(n,t))),t}traverseCanvas(t,n){return this.traverseType(this._traverseCanvas(t),{parent:n},this.traversals.canvas)}traverseAnnotationPageItems(t){return t.items&&(t.items=t.items.map(n=>this.traverseAnnotation(n,t))),t}traverseAnnotationPage(t,n){return this.traverseType(this._traverseAnnotationPage(t),{parent:n},this.traversals.annotationPage)}traverseAnnotationBody(t){return Array.isArray(t.body)?t.body=t.body.map(n=>this.traverseContentResource(n,t)):t.body&&(t.body=this.traverseContentResource(t.body,t)),t}traverseLinkedCanvases(t){return t.placeholderCanvas&&(t.placeholderCanvas=this.traverseCanvas(t.placeholderCanvas)),t.accompanyingCanvas&&(t.accompanyingCanvas=this.traverseCanvas(t.accompanyingCanvas)),t}traverseAnnotation(t,n){return this.traverseType(this.traverseLinking(this.traverseAnnotationBody(this.traverseDescriptive(t))),{parent:n},this.traversals.annotation)}traverseContentResourceLinking(t){return typeof t=="string"||!t||t&&t.service&&(t.service=gi(t.service||[]).map(n=>this.traverseService(n,t))),t}traverseContentResource(t,n){return t.type==="Choice"&&(t.items=t.items.map(i=>this.traverseContentResource(i,t))),vi(t)?this.traverseSpecificResource(t,"ContentResource"):this.traverseType(this.traverseInlineAnnotationPages(this.traverseContentResourceLinking(t)),{parent:n},this.traversals.contentResource)}traverseSpecificResource(t,n,i){let r=t.source;return typeof t.source=="string"&&(r={id:t.source,type:n||"unknown"}),this.traverseType({...t,source:n==="Canvas"||r.type==="Canvas"?this.traverseType(r,{parent:i},this.traversals.canvas):n==="ContentResource"?this.traverseContentResource(r,{parent:i}):this.traverseUnknown(r,{parent:i,typeHint:n})},{parent:i},this.traversals.specificResource)}traverseRangeRanges(t){return t.items&&(t.items=t.items.map(n=>typeof n=="string"?this.traverseCanvas({id:n,type:"Canvas"},t):vi(n)?this.traverseSpecificResource(n,"Canvas",t):n.type==="Manifest"?this.traverseManifest(n,t):this.traverseRange(n,t))),t}traverseRange(t,n){return this.traverseType(this._traverseRange(t),{parent:n},this.traversals.range)}traverseAgent(t,n){return this.traverseType(this.traverseDescriptive(this.traverseLinking(t)),{parent:n},this.traversals.agent)}traverseType(t,n,i){return i.reduce((r,a)=>{let l=a(r,n);return l===void 0&&!this.options.allowUndefinedReturn?r:l},t)}traverseService(t,n){let i=Object.assign({},t);return i&&i.service&&(i.service=gi(i.service).map(r=>this.traverseService(r))),this.traverseType(i,{parent:n},this.traversals.service)}traverseUnknown(t,{parent:n,typeHint:i}={}){let r=Gx(t,i);switch(r){case"Collection":return this.traverseCollection(t,n);case"Manifest":return this.traverseManifest(t,n);case"Canvas":return this.traverseCanvas(t,n);case"AnnotationPage":return this.traverseAnnotationPage(t,n);case"Annotation":return this.traverseAnnotation(t,n);case"ContentResource":return this.traverseContentResource(t,n);case"Range":return this.traverseRange(t,n);case"Service":return this.traverseService(t,n);case"Agent":return this.traverseAgent(t,n);default:throw Error(`Unknown or unsupported resource type of ${r}`)}}};var tp="http://library.stanford.edu/iiif/image-api/compliance.html#level0",np="http://library.stanford.edu/iiif/image-api/compliance.html#level1",ip="http://library.stanford.edu/iiif/image-api/compliance.html#level2",rp="http://library.stanford.edu/iiif/image-api/conformance.html#level0",op="http://library.stanford.edu/iiif/image-api/conformance.html#level1",sp="http://library.stanford.edu/iiif/image-api/conformance.html#level2",ap="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",lp="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",up="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",cp="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",dp="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",fp="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",hp="http://iiif.io/api/image/1/level0.json",pp="http://iiif.io/api/image/1/profiles/level0.json",mp="http://iiif.io/api/image/1/level1.json",gp="http://iiif.io/api/image/1/profiles/level1.json",yp="http://iiif.io/api/image/1/level2.json",vp="http://iiif.io/api/image/1/profiles/level2.json",xp="http://iiif.io/api/image/2/level0.json",Sp="http://iiif.io/api/image/2/profiles/level0.json",wp="http://iiif.io/api/image/2/level1.json",bp="http://iiif.io/api/image/2/profiles/level1.json",Rp="http://iiif.io/api/image/2/level2.json",Ep="http://iiif.io/api/image/2/profiles/level2.json",Ip="level0",Cp="level1",Pp="level2",Ap="http://iiif.io/api/image/2/level0",Tp="http://iiif.io/api/image/2/level1",Mp="http://iiif.io/api/image/2/level2",gs=[Mp,ip,sp,up,fp,yp,vp,Rp,Ep,Pp],xc=[...gs,Tp,np,op,lp,dp,mp,gp,wp,bp,Cp],_p=[Ap,Tp,Mp,tp,np,ip,rp,op,sp,ap,lp,up,cp,dp,fp,hp,pp,mp,gp,yp,vp,xp,Sp,wp,bp,Rp,Ep,Ip,Cp,Pp],Op=_p,kp=[Ap,tp,rp,ap,cp,hp,pp,xp,Sp,Ip],Qx={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},Yx={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},Kx={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};var Xx=["sc:Collection","sc:Manifest","sc:Canvas","sc:AnnotationList","oa:Annotation","sc:Range","sc:Layer","sc:Sequence","oa:Choice","Service","ContentResource"];function PC(e){if(e==null)throw Error("Null or undefined is not a valid entity.");if(Array.isArray(e))throw Error("Array is not a valid entity");if(typeof e!="object")throw Error(`${typeof e} is not a valid entity`);if(typeof e["@type"]=="string"){let t=Xx.indexOf(e["@type"]);if(t!==-1)return Xx[t]}if(e.profile)return"Service";if(e.format||e["@type"])return"ContentResource";throw Error("Resource type is not known")}var AC=class tS{constructor(t,n={}){Bi(this,"traversals",void 0),Bi(this,"options",void 0),this.traversals={collection:[],manifest:[],canvas:[],annotationList:[],sequence:[],annotation:[],contentResource:[],choice:[],range:[],service:[],layer:[],...t},this.options={convertPropsToArray:!0,mergeMemberProperties:!0,allowUndefinedReturn:!1,...n}}static all(t){return new tS({collection:[t],manifest:[t],canvas:[t],annotationList:[t],sequence:[t],annotation:[t],contentResource:[t],choice:[t],range:[t],service:[t],layer:[t]})}traverseCollection(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseCollectionItems(t))),this.traversals.collection)}traverseCollectionItems(t){if(this.options.mergeMemberProperties){let n=[...(t.manifests||[]).map(a=>typeof a=="string"?{"@id":a,"@type":"sc:Manifest"}:a),...(t.collections||[]).map(a=>typeof a=="string"?{"@id":a,"@type":"sc:Collection"}:a),...t.members||[]],i=[],r=n.filter(a=>i.includes(a["@id"])?!1:(i.push(a["@id"]),!0));delete t.collections,delete t.manifests,t.members=r}return t.manifests&&(t.manifests=t.manifests.map(n=>this.traverseManifest(typeof n=="string"?{"@id":n,"@type":"sc:Manifest"}:n))),t.collections&&(t.collections=t.collections.map(n=>this.traverseCollection(typeof n=="string"?{"@id":n,"@type":"sc:Collection"}:n))),t.members&&(t.members=t.members.map(n=>typeof n=="string"?n:n["@type"]==="sc:Collection"?this.traverseCollection(n):n["@type"]==="sc:Manifest"?this.traverseManifest(n):this.traverseUnknown(n))),t}traverseManifest(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseManifestItems(t))),this.traversals.manifest)}traverseManifestItems(t){return t.sequences&&(t.sequences=t.sequences.map(n=>this.traverseSequence(n))),t.structures&&(t.structures=t.structures.map(n=>this.traverseRange(n))),t}traverseSequence(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseSequenceItems(t))),this.traversals.sequence)}traverseSequenceItems(t){return t.canvases&&(t.canvases=t.canvases.map(n=>this.traverseCanvas(n))),t}traverseCanvas(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseCanvasItems(t))),this.traversals.canvas)}traverseCanvasItems(t){return t.images&&(t.images=t.images.map(n=>this.traverseAnnotation(n))),t.otherContent&&(t.otherContent=t.otherContent.map(n=>this.traverseAnnotationList(n))),t}traverseRange(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseRangeItems(t))),this.traversals.range)}traverseRangeItems(t){if(this.options.mergeMemberProperties){let n=[...(t.ranges||[]).map(i=>typeof i=="string"?{"@id":i,"@type":"sc:Range"}:i),...(t.canvases||[]).map(i=>typeof i=="string"?{"@id":i,"@type":"sc:Canvas"}:i),...t.members||[]];delete t.ranges,delete t.canvases,t.members=n.length?n.map(i=>this.traverseUnknown(i)):void 0}return t}traverseAnnotationList(t){let n=typeof t=="string"?{"@id":t,"@type":"sc:AnnotationList"}:t;return this.traverseType(this.traverseDescriptive(this.traverseAnnotationListItems(n)),this.traversals.annotationList)}traverseAnnotationListItems(t){return t.resources&&(t.resources=t.resources.map(n=>this.traverseAnnotation(n))),t}traverseAnnotation(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseAnnotationItems(t))),this.traversals.annotation)}traverseAnnotationItems(t){return t.resource&&(Array.isArray(t.resource)?t.resource=t.resource.map(n=>this.traverseContentResource(n)):t.resource=this.traverseContentResource(t.resource)),t.on,t}traverseLayer(t){return this.traverseType(this.traverseLinking(this.traverseLayerItems(t)),this.traversals.layer)}traverseLayerItems(t){return t.otherContent&&(t.otherContent=t.otherContent.map(n=>this.traverseAnnotationList(n))),t}traverseChoice(t){return this.traverseType(this.traverseChoiceItems(t),this.traversals.choice)}traverseChoiceItems(t){return t.default&&t.default!=="rdf:nil"&&(t.default=this.traverseContentResource(t.default)),t.item&&t.item!=="rdf:nil"&&(t.item=t.item.map(n=>this.traverseContentResource(n))),t}traverseService(t){return this.traverseType(this.traverseLinking(t),this.traversals.service)}traverseContentResource(t){return t["@type"]==="oa:Choice"?this.traverseChoice(t):this.traverseType(this.traverseDescriptive(this.traverseLinking(t)),this.traversals.contentResource)}traverseUnknown(t){if(!t["@type"]||typeof t=="string")return t;switch(PC(t)){case"sc:Collection":return this.traverseCollection(t);case"sc:Manifest":return this.traverseManifest(t);case"sc:Canvas":return this.traverseCanvas(t);case"sc:Sequence":return this.traverseSequence(t);case"sc:Range":return this.traverseRange(t);case"oa:Annotation":return this.traverseAnnotation(t);case"sc:AnnotationList":return this.traverseAnnotationList(t);case"sc:Layer":return this.traverseLayer(t);case"Service":return this.traverseService(t);case"oa:Choice":return this.traverseChoice(t);case"ContentResource":return this.traverseContentResource(t)}return t.profile?this.traverseService(t):t}traverseImageResource(t){let n=Array.isArray(t),i=Array.isArray(t)?t:[t],r=[];for(let a of i)typeof a=="string"?r.push(this.traverseContentResource({"@id":a,"@type":"dctypes:Image"})):r.push(this.traverseContentResource(a));return!n&&!this.options.convertPropsToArray?r[0]:r}traverseDescriptive(t){return t.thumbnail&&(t.thumbnail=this.traverseImageResource(t.thumbnail)),t.logo&&(t.logo=this.traverseImageResource(t.logo)),t}traverseOneOrMoreServices(t){let n=Array.isArray(t),i=Array.isArray(t)?t:[t],r=[];for(let a of i)r.push(this.traverseService(a));return!n&&!this.options.convertPropsToArray?r[0]:r}traverseLinking(t){return t.related&&(t.related=this.traverseOneOrManyType(t.related,this.traversals.contentResource)),t.rendering&&(t.rendering=this.traverseOneOrManyType(t.rendering,this.traversals.contentResource)),t.service&&(t.service=this.traverseOneOrMoreServices(t.service)),t.seeAlso&&(t.seeAlso=this.traverseOneOrManyType(t.seeAlso,this.traversals.contentResource)),t.within&&(typeof t.within=="string"||(t.within=this.traverseOneOrManyType(t.within,this.traversals.contentResource))),t.startCanvas&&(typeof t.startCanvas=="string"?t.startCanvas=this.traverseType({"@id":t.startCanvas,"@type":"sc:Canvas"},this.traversals.canvas):t.startCanvas&&this.traverseType(t.startCanvas,this.traversals.canvas)),t.contentLayer&&(typeof t.contentLayer=="string"?t.contentLayer=this.traverseLayer({"@id":t.contentLayer,"@type":"sc:Layer"}):t.contentLayer=this.traverseLayer(t.contentLayer)),t}traverseOneOrManyType(t,n){if(!Array.isArray(t))if(this.options.convertPropsToArray)t=[t];else return this.traverseType(t,n);return t.map(i=>this.traverseType(i,n))}traverseType(t,n){return n.reduce((i,r)=>{let a=r(i);return a===void 0&&!this.options.allowUndefinedReturn?i:a},t)}},TC=["http://iiif.io/api/image/2/level1","http://iiif.io/api/image/2/level2","http://library.stanford.edu/iiif/image-api/compliance.html#level1","http://library.stanford.edu/iiif/image-api/compliance.html#level2","http://library.stanford.edu/iiif/image-api/conformance.html#level1","http://library.stanford.edu/iiif/image-api/conformance.html#level2","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2","http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1","http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2","http://iiif.io/api/image/1/level1.json","http://iiif.io/api/image/1/profiles/level1.json","http://iiif.io/api/image/1/level2.json","http://iiif.io/api/image/1/profiles/level2.json","http://iiif.io/api/image/2/level1.json","http://iiif.io/api/image/2/profiles/level1.json","http://iiif.io/api/image/2/level2.json","http://iiif.io/api/image/2/profiles/level2.json","level1","level2"],Fp={attributionLabel:"Attribution",lang:"none",providerId:"http://example.org/provider",providerName:""};function MC(e){if(typeof e=="string")return[e];if(!e)return[];let t=Array.isArray(e)?e:[e],n=[];for(let i of t){if(typeof i=="string"){n.push(i);continue}n.push({"@language":i["@language"]||i.language,"@value":i["@value"]||i.value})}return n}function fo(e,t="none"){if(!e)return{none:[""]};let n=MC(e),i={};for(let r of n){if(typeof r=="string"){i[t]=i[t]?i[t]:[],i[t].push(r||"");continue}if(!r["@language"]){i[t]=i[t]?i[t]:[],i[t].push(r["@value"]||"");continue}let a=r["@language"];i[a]=i[a]?i[a]:[],i[a].push(r["@value"]||"")}return Object.keys(i).length===0?{none:[""]}:i}function nS(e){if(Array.isArray(e))return nS(e.find(t=>typeof t=="string"));if(gs.indexOf(e)!==-1)return"level2";if(TC.indexOf(e)!==-1)return"level1";if(Op.indexOf(e)!==-1)return"level0";if(typeof e=="string")return e}function _C(e){let t=Array.isArray(e)?e:[e];for(let n of t)switch(n){case"http://iiif.io/api/image/2/context.json":case"http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2":return"ImageService2";case"http://iiif.io/api/image/1/context.json":case"http://library.stanford.edu/iiif/image-api/1.1/context.json":return"ImageService1";case"http://iiif.io/api/annex/openannotation/context.json":return"ImageApiSelector"}}function OC(e){switch(e){case"http://iiif.io/api/image/2/level0.json":case"http://iiif.io/api/image/2/level1.json":case"http://iiif.io/api/image/2/level2.json":return"ImageService2";case"http://iiif.io/api/auth/1/kiosk":case"http://iiif.io/api/auth/1/login":case"http://iiif.io/api/auth/1/clickthrough":case"http://iiif.io/api/auth/1/external":case"http://iiif.io/api/auth/0/kiosk":case"http://iiif.io/api/auth/0/login":case"http://iiif.io/api/auth/0/clickthrough":case"http://iiif.io/api/auth/0/external":return"AuthCookieService1";case"http://iiif.io/api/auth/1/token":case"http://iiif.io/api/auth/0/token":return"AuthTokenService1";case"http://iiif.io/api/auth/1/logout":case"http://iiif.io/api/auth/0/logout":return"AuthLogoutService1";case"http://iiif.io/api/search/1/search":case"http://iiif.io/api/search/0/search":return"SearchService1";case"http://iiif.io/api/search/1/autocomplete":case"http://iiif.io/api/search/0/autocomplete":return"AutoCompleteService1"}}function Zx(e){for(let t of["sc","oa","dcterms","dctypes","iiif"])if(e.startsWith(`${t}:`))return e.slice(t.length+1);return e}var kC=["Collection","Manifest","Annotation","AnnotationPage","Range","Service"];function zp(e){let t=e["@id"]||e.id,n=e["@type"]||e.type,i=e.profile||void 0,r=e["@context"]||void 0;if(i){let a=OC(i);if(a)return a}if(r){let a=_C(r);if(a)return a}if(n){if(Array.isArray(n)){if(n.indexOf("oa:CssStylesheet")!==-1)return"CssStylesheet";if(n.indexOf("cnt:ContentAsText")!==-1)return"TextualBody";n=n[0]}for(let a of["sc","oa","dcterms","dctypes","iiif"])if(n.startsWith(`${a}:`)){n=n.slice(a.length+1);break}switch(n){case"Layer":return"AnnotationCollection";case"AnnotationList":return"AnnotationPage";case"cnt:ContentAsText":return"TextualBody"}}if(n&&kC.indexOf(n)!==-1)return n;if(e.format){if(e.format.startsWith("image/"))return"Image";if(e.format.startsWith("text/")||e.format==="application/pdf")return"Text";if(e.format.startsWith("application/"))return"Dataset"}return t&&(t.endsWith(".jpg")||t.endsWith(".png")||t.endsWith(".jpeg"))?"Image":n||"unknown"}var LC=/http(s)?:\/\/(creativecommons.org|rightsstatements.org)[^"'\\<\n]+/gm;function FC(e){let t=e.match(LC);return t?t[0]:e}function NC(e,t="Rights/License",n="none"){let i=null,r=[],a=Array.isArray(e)?e:[e];for(let l of a){let u=l?FC(l):void 0;if(u&&(u.indexOf("creativecommons.org")!==-1||u.indexOf("rightsstatements.org")!==-1)){i=u.startsWith("https://")?`http://${u.slice(8)}`:u;continue}u&&r.push({label:{[n]:[t]},value:{[n]:[u]}})}return[i,r]}var zC=["http://iiif.io/api/presentation/2/context.json","http://iiif.io/api/image/2/context.json","http://iiif.io/api/image/1/context.json","http://library.stanford.edu/iiif/image-api/1.1/context.json","http://iiif.io/api/search/1/context.json","http://iiif.io/api/search/0/context.json","http://iiif.io/api/auth/1/context.json","http://iiif.io/api/auth/0/context.json","http://iiif.io/api/annex/openannotation/context.json"];function DC(e){if(e){let t=Array.isArray(e)?e:[e],n=[];for(let i of t)i==="http://iiif.io/api/presentation/2/context.json"&&n.push("http://iiif.io/api/presentation/3/context.json"),zC.indexOf(i)===-1&&n.push(i);if(t.length)return n.length===1?n[0]:n}}function BC(e){return e?e.map(t=>({label:fo(t.label),value:fo(t.value)})):[]}var Jx=0;function iS(e,t){let n=encodeURI(e.id||e["@id"]||"").trim();return n&&t?`${n}/${t}`:n||(Jx++,`http://example.org/${e["@type"]}${t?`/${t}`:""}/${Jx}`)}function er(e){let t=[...e.behavior||[]];e.viewingHint&&t.push(e.viewingHint);let n;return Array.isArray(e.motivation)?n=e.motivation.map(Zx):e.motivation&&(n=Zx(e.motivation)),{"@context":e["@context"]?DC(e["@context"]):void 0,id:(e["@id"]||iS(e)).trim(),type:zp(e),behavior:t.length?t:void 0,height:e.height?e.height:void 0,width:e.width?e.width:void 0,motivation:n,viewingDirection:e.viewingDirection,profile:e.profile,format:e.format?e.format:void 0,duration:void 0,timeMode:void 0}}function tr(e){let[t,n]=NC(e.license),i=[...e.metadata?BC(e.metadata):[],...n];return{rights:t,metadata:i.length?i:void 0,label:e.label?fo(e.label):void 0,requiredStatement:e.attribution?{label:fo(Fp.attributionLabel),value:fo(e.attribution)}:void 0,navDate:e.navDate,summary:e.description?fo(e.description):void 0,thumbnail:VC(e.thumbnail)}}function VC(e){return e&&(Array.isArray(e)?e:[e]).map(n=>typeof n=="string"?{id:n,type:"Image"}:(n.type==="unknown"&&(n.type="Image"),n))}function jC(e){if(!e.within)return;let t=Array.isArray(e.within)?e.within:[e.within],n=[];for(let i of t)if(typeof i=="string"){if(i)switch(e["@type"]){case"sc:Manifest":n.push({id:i,type:"Collection"});break}}else i["@id"]&&n.push({id:i["@id"],type:zp(i)});return n.length?n:void 0}function Er(e){let t=e.related?Array.isArray(e.related)?e.related:[e.related]:[],n=e.contentLayer;return{provider:e.logo||t.length?[{id:Fp.providerId,type:"Agent",homepage:t.length?[t[0]]:void 0,logo:e.logo?Array.isArray(e.logo)?e.logo:[e.logo]:void 0,label:fo(Fp.providerName)}]:void 0,partOf:jC(e),rendering:e.rendering,seeAlso:e.seeAlso,start:e.startCanvas,service:e.service?gi(e.service):void 0,supplementary:n?[n]:void 0}}function HC(e){return{chars:e.chars,format:e.format?e.format:void 0,language:e.language}}function Lp(e,t){return e?typeof e=="string"?{id:e,type:t}:typeof e?.["@id"]=="string"?{id:e["@id"],type:t}:typeof e.id=="string"?{id:e.id,type:t}:null:null}function WC(e){let t={};if(e.first){let n=Lp(e.first,"Collection");n&&(t.first=n)}if((e.total||e.total===0)&&(t.total=e.total),e.prev){let n=Lp(e.prev,"Collection");n&&(t.prev=n)}if(e.next){let n=Lp(e.next,"Collection");n&&(t.next=n)}return t}function UC(e){let t=[];for(let n of e){let i={...n};i.items&&i.items.length===0&&delete i.items,t.push(i)}return t}function qC(e){return yi({...er(e),...tr(e),...Er(e),...WC(e),items:UC(e.members)})}function GC(e){let t=[],n=[],i,r;for(let l of e.sequences||[])l.canvases.length&&t.push(...l.canvases),l.behavior&&n.push(...l.behavior),l.viewingDirection&&(r=l.viewingDirection),l.startCanvas&&(i=l.startCanvas);let a=er(e);return n.length&&(a.behavior?a.behavior.push(...n):a.behavior=n),yi({...a,...tr(e),...Er(e),viewingDirection:r,start:i,items:t,structures:$C(e.structures)})}function $C(e){if(!e)return e;let t=new Map;for(let i of e)t.set(i.id,i);let n=[];for(let i of e)if(i.items){let r=i.items.map(a=>typeof a=="string"?(n.push(a),t.get(a)||a):a&&a.id?(n.push(a.id),t.get(a.id)||a):a);i.items=r}return e.filter(i=>n.indexOf(i.id)===-1)}function QC(e){return yi({...er(e),...tr(e),...Er(e),annotations:e.otherContent&&e.otherContent.length?e.otherContent:void 0,items:e.images&&e.images.length?[{id:iS(e,"annotation-page"),type:"AnnotationPage",items:e.images}]:void 0})}function YC(e){return yi({...er(e),...tr(e),...Er(e),items:e.resources&&e.resources.length?e.resources:void 0})}function KC(e){return!e.canvases||e.canvases.length===0?{canvases:[],behavior:[]}:{canvases:e.canvases,behavior:e.viewingHint?[e.viewingHint]:[],viewingDirection:e.viewingDirection,startCanvas:e.startCanvas}}function XC(e){function t(n){if(Array.isArray(n)){if(n.length>1)return{type:"List",items:n.map(t)};n=n[0]}if(typeof n=="string")return encodeURI(n).trim();if("@type"in n){let i;if(typeof n.full=="string")i=n.full;else if(n.full["@type"]==="dctypes:Image")i={id:n.full["@id"],type:"Image"};else if(n.full["@type"]==="sc:Canvas")i={id:n.full["@id"],type:"Canvas"};else throw Error(`Unsupported source type on annotation: ${n.full["@type"]}`);return{type:"SpecificResource",source:i,selector:Np(n.selector)}}else return encodeURI(n["@id"]).trim()}return yi({...er(e),...tr(e),...Er(e),target:t(e.on),body:Array.isArray(e.resource)?e.resource.map(eS):eS(e.resource)})}function eS(e){return e.type==="Choice"?e:rS(e)}function rS(e){let t=e;return yi({...er(t),...tr(t),...Er(t),...HC(t)})}function ZC(e){let t=[];return e.default&&e.default!=="rdf:nil"&&t.push(e.default),e.item&&e.item!=="rdf:nil"&&t.push(...e.item),yi({...er(e),...tr(e),items:t})}function JC(e){return yi({...er(e),...tr(e),...Er(e),items:e.members})}function eP(e){let{"@id":t,"@type":n,"@context":i,profile:r,...a}=e,l={};return t&&(l["@id"]=t),l["@type"]=zp(e),l["@type"]==="unknown"&&(i&&i.length&&(l["@context"]=i),l["@type"]="Service"),r&&(l.profile=nS(r)),yi({...l,...a})}function tP(e){return yi({...er(e),...tr(e),...Er(e)})}var nP=new AC({collection:[qC],manifest:[GC],canvas:[QC],annotationList:[YC],sequence:[KC],annotation:[XC],contentResource:[rS],choice:[ZC],range:[JC],service:[eP],layer:[tP]});function oS(e){return e&&e["@context"]&&(e["@context"]==="http://iiif.io/api/presentation/2/context.json"||e["@context"].indexOf("http://iiif.io/api/presentation/2/context.json")!==-1||e["@context"]==="http://www.shared-canvas.org/ns/context.json")||e["@context"]==="http://iiif.io/api/image/2/context.json"||e["@id"]&&e["@type"]==="sc:Collection"||e["@id"]&&e["@type"]==="sc:Manifest"?(e["@context"]||(e["@context"]="http://iiif.io/api/presentation/2/context.json"),nP.traverseUnknown(e)):e}function Np(e){if((Array.isArray(e["@type"])&&e["@type"].includes("oa:SvgSelector")||e["@type"]=="oa:SvgSelector")&&("chars"in e||"value"in e))return{type:"SvgSelector",value:"chars"in e?e.chars:e.value};if(e["@type"]==="oa:FragmentSelector")return{type:"FragmentSelector",value:e.value};if(e["@type"]==="oa:Choice")return[Np(e.default),...(Array.isArray(e.item)?e.item:[e.item]).map(Np)];if(e["@type"]=="iiif:ImageApiSelector")return{type:"ImageApiSelector",region:"region"in e?e.region:void 0,rotation:"rotation"in e?e.rotation:void 0};throw Error(`Unsupported selector type: ${e["@type"]}`)}function Va(e,t){let n=t||"unknown";if(!e)return;if(typeof e=="string")return{id:e,type:n};if(vi(e))return Va(e.source,t);let i=n&&n!=="unknown"?n:e.type||e["@type"],r=e.id||e["@id"];if(i&&i.indexOf(":")!==-1&&(i=i.split(":").pop()),r&&i)return{id:r,type:i}}var vs={},St="iiif-parser:hasPart",Nn="iiif-parser:partOf",xs="iiif-parser:isExternal",ni="__$UNSET$__",Vp="__$UNWRAP$__",we=[];Object.freeze(we),Object.freeze(vs);function lS(e){if(e===vs||Object.keys(e).length===0)return!0;for(let t in e)return!1;return!0}function ws(e,t){if(t&&t["@explicit"]){let n={},i=Object.keys(t);for(let r of i)r===Nn||r==="@explicit"||(lS(t[r])?n[r]=e[r]:n[r]=t[r]);return n}return e}function jp(e,t,n){let i=Va(t);if(!i)return[void 0,void 0];let r=e.requests[i.id],a=i.type||e.mapping[i.id];if(!a||r&&r.resourceUri&&(!e.entities[a]||!e.entities[a][r.resourceUri]))return[void 0,void 0];let l=e.entities[a][r?r.resourceUri:i.id];if(i.type&&!l)return jp(e,{id:i.id},n);if(l&&l[St]){let u=l[St].find(h=>n?h[Nn]===n.id:h[Nn]===l.id);return[ws(l,u),l]}return[l,l]}var uS={id:"https://iiif-parser/annotation-page",type:"AnnotationPage",behavior:we,label:null,thumbnail:we,summary:null,requiredStatement:null,metadata:we,rights:null,provider:we,items:we,seeAlso:we,homepage:we,rendering:we,service:we},cS={id:"https://iiif-parser/empty-canvas",type:"Canvas",label:null,behavior:we,thumbnail:we,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:we,rights:null,navDate:null,provider:we,items:we,annotations:we,seeAlso:we,homepage:we,partOf:we,rendering:we,service:we,duration:0,height:0,width:0},dS={id:"https://iiif-parser/empty-collection",type:"Collection",label:null,viewingDirection:"left-to-right",behavior:we,thumbnail:we,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:we,rights:null,navDate:null,provider:we,items:we,annotations:we,seeAlso:we,homepage:we,partOf:we,rendering:we,service:we,services:we},fS={id:"https://iiif-parser/empty-manifest",type:"Manifest",annotations:we,behavior:we,homepage:we,items:we,label:null,metadata:we,navDate:null,provider:we,partOf:we,accompanyingCanvas:null,placeholderCanvas:null,rendering:we,requiredStatement:null,rights:null,seeAlso:we,service:we,services:we,start:null,structures:we,summary:null,thumbnail:we,viewingDirection:"left-to-right"},hS={id:"https://iiif-parser/empty-canvas",type:"Range",label:null,behavior:we,thumbnail:we,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:we,rights:null,navDate:null,provider:we,items:we,annotations:we,seeAlso:we,homepage:we,partOf:we,rendering:we,service:we,start:null,supplementary:null,viewingDirection:"left-to-right"},pS={id:"https://iiif-parser/empty-agent",type:"Agent",label:{},logo:we,seeAlso:we,homepage:we},mS={id:"https://iiif-parser/empty-service",type:"UnknownService"};function Bp(e,t={}){if(Array.isArray(e))return Bp(e[0]);if(typeof e=="string"){let[n,i]=e.split("#");return i?{type:"SpecificResource",source:{id:n,type:t.typeHint||"Unknown"},selector:{type:"FragmentSelector",value:i}}:{type:"SpecificResource",source:{id:n,type:t.typeMap&&t.typeMap[n]||t.typeHint||"Unknown"}}}if(e.type==="Choice"||e.type==="List"||e.type==="Composite"||e.type==="Independents")return Bp(e.items[0]);if(!e.type&&"source"in e&&(e.type="SpecificResource"),e.type==="SpecificResource")return e.source.type==="Canvas"&&e.source.partOf&&typeof e.source.partOf=="string"&&(e.source.partOf=[{id:e.source.partOf,type:"Manifest"}]),e.selector?{type:"SpecificResource",source:e.source,selector:e.selector}:{type:"SpecificResource",source:e.source};if(e.id){e.type==="Canvas"&&e.partOf&&typeof e.partOf=="string"&&(e.partOf=[{id:e.partOf,type:"Manifest"}]);let[n,i]=e.id.split("#");return i?{type:"SpecificResource",source:{...e,id:n},selector:{type:"FragmentSelector",value:i}}:{type:"SpecificResource",source:{...e,id:n}}}return{type:"SpecificResource",source:e}}function gS(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}function yS(e,t){if(typeof e=="string")return{id:e,type:t};if(!e.id)throw Error(`Invalid resource does not have an ID (${JSON.stringify(e)}, ${t})`);return e}function iP(e,t){return(n,i)=>{let r=e[n]?e[n]:{};return(a,l)=>{let u=yS(a,i||n);return u&&u.id&&n?(r[u.id]=r[u.id]?bc(r[u.id],u,{parent:l.parent,isTopLevel:t.id===u.id}):bc({id:u.id,type:u.type},u,{parent:l.parent,isTopLevel:t.id===u.id}),{id:u.id,type:n==="ContentResource"?n:u.type}):u}}}function wc(e,t,n){if(!t)return e;if(Array.isArray(e)){if(!Array.isArray(t))throw Error("Cannot merge array with non-array");let i=[...e];for(let r of t)if(r["@id"]&&!r.id&&(r.id=r["@id"]),r["@type"]&&!r.type&&(r.type=r["@type"]),r!=null)if(Array.isArray(r))i.push(r);else if(typeof r=="object"&&r.id&&r.type){let a=i.findIndex(l=>l.id===r.id&&l.type===r.type);a>=0&&(i[a]=wc(i[a],r))}else e.indexOf(r)===-1&&i.push(r);return i}else if(typeof e=="object"){if(Array.isArray(t)||typeof t!="object")throw Error("Cannot merge object with non-object");let i={...e},r=[],a=[],l=Object.keys(e).filter(h=>h!==St&&h!=="id"&&h!=="type"),u={},f={};for(let[h,c]of Object.entries(t)){if(h===St||h==="id"||h==="type")continue;let m=i[h];m===c?a.push(h):m===we||!m?(r.push(h),i[h]=c):(m&&c&&(u[h]=m,f[h]=c),i[h]=wc(m,c),i[h]===u[h]&&(a.push(h),delete u[h]))}if(n&&(n.parent&&n.parent.id||n.isTopLevel)){let h=[],c={};if(n.parent?c[Nn]=n.parent.id:n.isTopLevel&&(c[Nn]=e.id),i[St]&&i[St].length){let m=!(i[St]||[]).find(w=>w["@explicit"]),v=r.length>0||a.length!==l.length;if(m&&v)for(let w of i[St]){let y={...w},S=Object.keys(u);if(y){y["@explicit"]=!0;for(let E of l)E!==St&&(y[E]=vs);for(let E of S)y[E]=u[E]}h.push(y)}else h.push(...i[St]);if(v){let w=Object.keys(f);c["@explicit"]=!0;for(let y of r)c[y]=vs;for(let y of a)c[y]=vs;for(let y of w)c[y]=f[y]}}c.id=i.id,c.type=i.type,h.push(c),i[St]=h}return i}else if(e)return e;return t}function bc(e,t,n){if(typeof e=="string")return e;if(t.id!==e.id||t.type!==e.type){if(t.type==="ImageService3")return t;if(e.type==="ImageService3")return e;throw Error(`Can only merge entities with identical identifiers and type! ${t.type}(${t.id}) => ${e.type}(${e.id})`)}return wc({...e},t,n)}function rP(e){return(t,n)=>i=>{let{id:r,type:a}=yS(i,n||t);if(r===void 0)throw Error("Found invalid entity without an ID.");return t==="ContentResource"||t==="Service"?e[r]=t:e[r]=a,i}}function oP(e){let t=Object.assign({},e);if(t["@id"]&&(t.id=t["@id"]),t["@type"]&&(t.type=t["@type"]),t.service){let n=[];t.service=Array.isArray(t.service)?t.service:[t.service];for(let i of t.service)n.push({id:i["@id"]||i.id,type:i["@type"]||i.type});t.service=n}return Object.assign({},mS,t)}function sP(e){return t=>{e.Service=e.Service?e.Service:{};let n=t.id||t["@id"],i=oP(t);return i&&i.id&&(e.Service[i.id]?e.Service[n]=bc(e.Service[n],i):e.Service[n]=i),t}}function aP(e){let t=JSON.stringify(e),n=5381,i=t.length;for(;i;)n=n*33^t.charCodeAt(--i);let r=n>>>0,a=r.toString(16);return a.length%2?"0"+a:a}function Dp(e){return t=>typeof t=="string"?{id:t,type:e}:t.id?t.type?t:{type:e,...t}:{id:`vault://${aP(t)}`,type:e,...t}}function ys(e){return t=>({...e,...t})}function Da(e){return Array.isArray(e)?e:[e]}function lP(e){return e.body&&(e.body=Da(e.body)),e.seeAlso&&(e.seeAlso=Da(e.seeAlso)),e.audience&&(e.audience=Da(e.audience)),e.accessibility&&(e.accessibility=Da(e.accessibility)),e.motivation&&(e.motivation=Da(e.motivation)),e}function vS(e,{typeHint:t,partOfTypeHint:n}={}){if(typeof e=="string"&&(e={id:e,type:t||"unknown"}),vi(e))return typeof e.source=="string"&&(e.source={id:e.source,type:t||"unknown"}),e.source.type==="Canvas"&&e.source.partOf&&typeof e.source.partOf=="string"&&(e.source.partOf=[{id:e.source.partOf,type:n||"Manifest"}]),e;let i;if((e.id||"").indexOf("#")!==-1){let[r,a]=(e.id||"").split("#");e.id=r,a&&(i={type:"FragmentSelector",value:a})}return{type:"SpecificResource",source:e,selector:i}}function uP(e){let t=Object.assign({},e);return e&&e.items&&(t.items=e.items.map(n=>typeof n=="string"||n.type==="Canvas"?vS(n):n)),t}function cP(e){let t=Object.assign({},e);return t.start?(t.start=vS(t.start,{typeHint:"Canvas"}),t):e}function dP(e){let t=Object.assign({},e);return t.target?(t.target=Bp(t.target,{typeHint:"Canvas"}),t):e}function xS(e){return e}function Sc(e){return e.items===void 0&&(e[xs]=!0),e}function Hp(e){let t=oS(e),n=gS(),i={},r=iP(n,t),a=rP(i),l=new ep({collection:[Sc,ys(dS),a("Collection"),r("Collection")],manifest:[Sc,ys(fS),cP,a("Manifest"),r("Manifest")],canvas:[ys(cS),a("Canvas"),r("Canvas")],annotationPage:[Sc,Dp("AnnotationPage"),ys(uS),a("AnnotationPage"),r("AnnotationPage")],annotation:[Dp("Annotation"),lP,dP,a("Annotation"),r("Annotation")],contentResource:[Dp("ContentResource"),a("ContentResource"),r("ContentResource")],range:[ys(hS),uP,a("Range","Canvas"),r("Range","Canvas")],agent:[ys(pS),a("Agent"),r("Agent")],specificResource:[xS],service:[sP(n)]}),u=l.traverseUnknown(t);return{entities:n,resource:u,mapping:i}}function SS(e){let t={};for(let[n,i]of e){if(n===Vp&&i!==ni)return i;i!==ni&&i!=null&&(t[n]=i)}return t}function Wp(e,t,n){if(!t.type||!t.id)throw Error("Unknown entity");if(!n[t.type])throw Error(`Serializer not found for ${t.type}`);function i(r,a,l=0){let u=n[r.type];if(!u)return ni;if(l>20)throw Error("Circular reference: "+r.id+" "+r.type);let[f,h]=jp(e,r.type?r:r.id,a)||(r.id&&r.type?r:null);if(!f)return ni;let c=u(f,e,{parent:a,isTopLevel:t.id===r.id,fullResource:h}),m=c.next();for(;!m.done;){let v=m.value,w=ni;if(v)if(Array.isArray(v)){let y=[];for(let S of v)y.push(i(S,r,l+1));w=y}else w=i(v,r,l+1);m=c.next(w)}return m.value===ni?ni:SS(m.value)}return i(t)}function Ss(e,{allowSourceString:t=!0,allowString:n=!1,allowedStringType:i}={}){let r=a=>{if(t&&a&&a.source&&typeof a.source!="string"){let l=Object.keys(a.source);if(a.source.id&&a.source.type&&l.length===2)return{...a,source:a.source.id}}return a};if(e){if(e.source&&e.source.partOf)return r(e);let a=Object.keys(e);if(a.length===2&&e.type&&e.source||a.length===3&&e.type&&e.source&&a.indexOf("selector")!==-1&&!e.selector)return n&&(!i||i===e.source.type)?e.source.id:e.source.type==="ContentResource"?{type:"SpecificResource",source:e.source.id}:e.source;if(e.selector&&!Array.isArray(e.selector)&&typeof e.selector!="string"&&e.selector.type==="FragmentSelector"){let l=`${e.source.id}#${e.selector.value}`;return n?l:{id:l,type:e.source.type}}}return r(e)}function go(e){if(!e)return;let t=Object.keys(e);if(t.length!==0){if(t.length===1){let n=t[0];if(!n)return"";let i=(e[n]||[]).join("");return n==="@none"||n==="none"||n==="en"?i:{"@language":n,"@value":i}}return t.map(n=>({"@language":n,"@value":(e[n]||[]).join("")}))}}function wS(e){return Array.isArray(e)?e.map(t=>wS(t)):typeof e=="string"?e:e.type&&e.type==="Canvas"?e.id:e}function Pr(e,t=!1){if(e)return e.length>1&&!t?e:e[0]||void 0}function fP(e){if(e){if(typeof e=="string")return{"@id":e};if("@id"in e){let t={...e};return delete t["@type"],t}return{"@context":"http://iiif.io/api/image/2/context.json","@id":e.id,profile:`http://iiif.io/api/image/2/profiles/${e.profile}.json`}}}function ho(e,t){return[["@id",e.id],["@type",t],["format",e.format],["height",e.height],["width",e.width],["viewingDirection",e.viewingDirection==="left-to-right"?void 0:e.viewingDirection],["license",e.license?e.license:void 0]]}function*po(e){let t=e.provider?yield e.provider[0]:void 0;return[["label",go(e.label)],["metadata",e.metadata&&e.metadata.length?e.metadata.map(n=>({label:go(n.label)||"",value:go(n.value)||""})):void 0],["description",go(e.summary)],["thumbnail",Pr(yield e.thumbnail)],["navDate",e.navDate],["logo",t?Pr(t.logo):void 0],["homepage",t?t.homepage:void 0],["attribution",e.requiredStatement?go(e.requiredStatement.value):void 0]]}function*Ba(e){let t=e.start&&e.start.type&&e.start.type==="SpecificResource"?Ss(e.start):e.start;return[["seeAlso",Pr(yield e.seeAlso)],["service",Pr((e.service||[]).map(fP))],["rendering",Pr(yield e.rendering)],["startCanvas",t?t.id:void 0]]}function hP(e){return e.type==="SpecificResource"}function pP(e){return e&&e.type==="FragmentSelector"}function mP(e){if(e&&hP(e)){let t=e.id,n=e.selector?Array.isArray(e.selector)?e.selector[0]:e.selector:void 0;return pP(n)&&(t+="#"+n.value),t}return e?.id}var Up={Manifest:function*(e,t,{isTopLevel:n}){return[...n?[["@context","http://iiif.io/api/presentation/2/context.json"]]:[],...ho(e,"sc:Manifest"),...yield*po(e),...yield*Ba(e),["sequences",[{"@id":`${e.id}/sequence0`,"@type":"sc:Sequence",canvases:yield e.items}]],["structures",yield e.structures]]},Canvas:function*(e){let t=yield e.items,n=t[0];return[...ho(e,"sc:Canvas"),...yield*po(e),...yield*Ba(e),["images",n?[n.resources]:void 0],["annotations",e.annotations&&e.annotations.length?Pr(yield e.annotations):void 0]]},AnnotationPage:function*(e){return[...ho(e,"sc:AnnotationList"),...yield*po(e),["resources",e.items&&e.items.length?Pr(yield e.items):void 0]]},Annotation:function*(e){return[["@id",e.id],["@type","oa:Annotation"],["motivation","sc:painting"],["on",wS(e.target)],["resource",Pr(yield e.body,!0)]]},ContentResource:function*(e){switch(e.type){case"Image":return[...ho(e,"dctypes:Image"),...yield*po(e),...yield*Ba(e)];case"Text":case"Dataset":default:return[...ho(e,void 0),...yield*po(e)]}},AnnotationCollection:function*(e){return[["@id",e.id],["@type","sc:Layer"],["label",go(e.label)]]},Collection:function*(e){return[...ho(e,"sc:Collection"),...yield*po(e),...yield*Ba(e),["members",yield*e.items]]},Range:function*(e){let t=[],n=[];if(e.items)for(let i of e.items){let r=i.type==="SpecificResource"?i.source:i;if(r){let a=yield r;t.push({"@id":mP(i),"@type":r.type,label:a?a.label:void 0,within:e.id}),r.type==="Canvas"&&n.push(r.id)}}return[...ho(e,"sc:Range"),...yield*po(e),...yield*Ba(e),["canvases",n.length===t.length?n:void 0],["members",n.length===t.length?void 0:t]]}};function mo(e){return[["id",e.id?.startsWith("vault://")?void 0:e.id],["type",e.type],["format",e.format],["profile",e.profile],["height",e.height||void 0],["width",e.width||void 0],["duration",e.duration||void 0],["viewingDirection",e.viewingDirection==="left-to-right"?void 0:e.viewingDirection],["behavior",e.behavior&&e.behavior.length?e.behavior:void 0],["timeMode",e.timeMode],["motivation",Array.isArray(e.motivation)?e.motivation[0]:e.motivation],[St,ni]]}function Tt(e){if(e===ni||!e||e.length===0)return;let t=e.filter(n=>n!==ni);if(t.length!==0)return t}function bS(e){if(e&&e.type&&e.type==="ImageService2"){let{id:t,type:n,profile:i,...r}=e,a=typeof i=="string"?i:Array.isArray(i)?i.find(l=>typeof l=="string"):"";return{"@id":t,"@type":n,profile:a?a.startsWith("http")?a:`http://iiif.io/api/image/2/${a}.json`:"http://iiif.io/api/image/2/level0.json",...r}}return e}function sS(e){if(Array.isArray(e)||(e=e?[e]:[]),!(!e||e.length===0))return e.map(bS)}function*Ir(e){return[["label",e.label],["metadata",Tt(e.metadata)],["summary",e.summary],["requiredStatement",e.requiredStatement],["rights",Array.isArray(e.rights)?e.rights[0]||void 0:e.rights||void 0],["navDate",e.navDate],["language",e.language],["thumbnail",Tt(yield e.thumbnail)],["placeholderCanvas",yield e.placeholderCanvas],["accompanyingCanvas",yield e.accompanyingCanvas],["provider",Tt(yield e.provider)]]}function*Cr(e,t){let n=[];for(let i of e.partOf||[])i.type==="Manifest"&&t.type==="Manifest"||n.push(yield i);return[["seeAlso",Tt(yield e.seeAlso)],["service",Tt(sS(e.service))],["services",Tt(sS(e.services))],["rendering",Tt(yield e.rendering)],["supplementary",Tt(yield e.supplementary)],["homepage",Tt(yield e.homepage)],["logo",Tt(yield e.logo)],["partOf",Tt(n)],["start",e.start?Ss(e.start):e.start]]}var qp={Manifest:function*(e,t,{isTopLevel:n}){if(!n)return[...mo(e),...yield*Ir(e),["navPlace",e.navPlace]];let i="http://iiif.io/api/presentation/3/context.json";return(e.navPlace||aS(e))&&(i=["http://iiif.io/api/presentation/3/context.json","http://iiif.io/api/extension/navplace/context.json"]),[["@context",e["@context"]?e["@context"]:i],...mo(e),...yield*Ir(e),...yield*Cr(e),["items",yield e.items],["structures",Tt(yield e.structures)],["annotations",Tt(yield e.annotations)],["navPlace",e.navPlace]]},Canvas:function*(e,t,{parent:n}){return n&&n.type!=="Manifest"&&n.type!=="Canvas"?[["id",e.id]]:[...mo(e),...yield*Ir(e),...yield*Cr(e,n),["items",yield e.items],["annotations",Tt(yield e.annotations)],["navPlace",e.navPlace]]},Agent:function*(e){return[["id",e.id],["type","Agent"],["label",e.label],...yield*Cr(e)]},AnnotationPage:function*(e){let t=Object.entries(e).map(([i,r])=>[i,Array.isArray(r)?Tt(r):r]).filter(([i,r])=>i!=="items"&&i!=="id"&&i!==St&&i!==Nn&&i!==xs),n=yield e.items;return[["id",e.id?.startsWith("vault://")?void 0:e.id],...t,...yield*Cr(e),["items",n.length||e[xs]===!1?n:ni]]},Service:function*(e){return[[Vp,bS(e)]]},Annotation:function*(e){let t=Object.entries(e).map(([i,r])=>i==="motivation"?[i,Array.isArray(r)?r[0]:r]:i==="target"?[i,Ss(r,{allowString:!0,allowSourceString:!0,allowedStringType:"Canvas"})]:[i,Array.isArray(r)?Tt(r):r]).filter(([i])=>i!=="body"&&i!==St&&i!==xs),n;if(Array.isArray(e.body)){let i=[];for(let r of e.body)if(r&&vi(r)){let a={...r};r.source.type==="Canvas"?a.source=r.source:a.source=yield r.source,i.push(Ss(a,{allowSourceString:!0}))}else i.push(yield r);n=i}else e.body&&vi(e.body)?(n={...e.body},n.source=yield e.body.source):n=yield e.body;return[...t,...yield*Ir(e),...yield*Cr(e),["body",n.length===1?n[0]:n]]},ContentResource:function*(e){return gP([...mo(e),...yield*Ir(e),...yield*Cr(e),["annotations",Tt(yield e.annotations)],["items",Tt(yield e.items)]],e)},AnnotationCollection:function*(e){return[["id",e.id],["type","AnnotationCollection"],["label",e.label]]},Collection:function*(e,t,{isTopLevel:n}){if(n){let i="http://iiif.io/api/presentation/3/context.json";return(e.navPlace||aS(e))&&(i=["http://iiif.io/api/extension/navplace/context.json","http://iiif.io/api/presentation/3/context.json"]),[["@context",i],...mo(e),...yield*Ir(e),...yield*Cr(e),["items",Tt(yield e.items)],["navPlace",e.navPlace]]}return[...mo(e),...yield*Ir(e),["navPlace",e.navPlace]]},Range:function*(e){let t=[];for(let n of e.items)n.type==="Range"?t.push(yield n):n&&n.type==="SpecificResource"?t.push(Ss(n)):t.push(n);return[...mo(e),...yield*Ir(e),...yield*Cr(e),["items",t],["annotations",Tt(yield e.annotations)],["navPlace",e.navPlace]]}};function gP(e,t){let n=Object.keys(t),i=e.map(([r])=>r);for(let r of n)r===St||r===xs||i.indexOf(r)===-1&&t[r]!==void 0&&e.push([r,t[r]]);return e}function aS(e){if(!e.items||!Array.isArray(e.items))return!1;for(let t of e.items)if(t.navPlace)return!0;return!1}var yP=(e,t)=>{let{entities:n,resource:i,mapping:r}=Hp(t);if(i.id===void 0)return[Na({id:e,message:"ID is not defined in resource."})];let a=[uc({entities:n}),qh({mapping:r})];return i.id!==e&&(a.push(Uh({id:e,type:i.type})),a.push($h({requestId:e,actualId:i.id}))),a.push(Qh({id:e})),a},RS=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function vP(e,t){return!!(e===t||RS(e)&&RS(t))}function $p(e,t){if(!Array.isArray(e)||!Array.isArray(t))return e===t;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!vP(e[n],t[n]))return!1;return!0}function Gp(e,t,n){let i=e.iiif.requests[t],r=e.iiif.mapping[t];if(!r||!e.iiif.entities[r][i.resourceUri])return;let a=e.iiif.entities[r][i.resourceUri];if(a&&a[St]){let l=a[St].find(u=>n?u[Nn]===n.id:u[Nn]===a.id);return ws(a,l)}return a}function xP(e){return e&&typeof e.then=="function"}function Qp(e,t,{waitTimeout:n=30}={}){return(i,r,a)=>{let l=e.getStore(),u=l.getState(),f=u.iiif.requests[i];if(f){if(f.loadingState===hs){let c=Gp(u,i);if(c)return c}switch(f.loadingState){case fs:break;case Fa:return(async()=>{let c,m=!1;try{let v=await Promise.race([new Promise((w,y)=>{m||(c=l.subscribe(()=>{let S=l.getState();if(S.iiif.requests[i].loadingState===fs){y();return}if(S.iiif.requests[i].loadingState===hs){let E=Gp(S,i);E?w(E):y()}}))}),new Promise((w,y)=>setTimeout(()=>{m=!0,y()},n*60*1e3))]);if(c&&c(),v)return v}catch{c&&c()}})()}}e.dispatch(Gh({id:i}));let h=c=>{if(!c)return;!c.id&&!c["@id"]&&(c["@type"]&&(c["@id"]=i),c.id=i);let m=yP(i,c);return e.dispatch(ms({actions:m})),Gp(l.getState(),i)};try{let c=t(i,r);return xP(c)?(async()=>{try{let m=await c;return a&&(m=a(m)),h(m)}catch(m){throw e.dispatch(Na({id:i,message:m.toString()})),m}})():h(a?a(c):c)}catch(c){throw e.dispatch(Na({id:i,message:c.toString()})),c}}}function Yp(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}var bs={},SP=(e,t)=>(n,i,r)=>(r.dispatch=a=>(n(l=>e(l,a),!1,a),a),r.dispatchFromDevtools=!0,{dispatch:(...a)=>r.dispatch(...a),...t}),wP=SP,Zp=new Map,Rc=e=>{let t=Zp.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([n,i])=>[n,i.getState()])):{}},bP=(e,t,n)=>{if(e===void 0)return{type:"untracked",connection:t.connect(n)};let i=Zp.get(n.name);if(i)return{type:"tracked",store:e,...i};let r={connection:t.connect(n),stores:{}};return Zp.set(n.name,r),{type:"tracked",store:e,...r}},RP=(e,t={})=>(n,i,r)=>{let{enabled:a,anonymousActionType:l,store:u,...f}=t,h;try{h=(a??(bs.env?bs.env.MODE:void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!h)return(bs.env?bs.env.MODE:void 0)!=="production"&&a&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(n,i,r);let{connection:c,...m}=bP(u,h,f),v=!0;r.setState=(S,E,R)=>{let b=n(S,E);if(!v)return b;let I=R===void 0?{type:l||"anonymous"}:typeof R=="string"?{type:R}:R;return u===void 0?(c?.send(I,i()),b):(c?.send({...I,type:`${u}/${I.type}`},{...Rc(f.name),[u]:r.getState()}),b)};let w=(...S)=>{let E=v;v=!1,n(...S),v=E},y=e(r.setState,i,r);if(m.type==="untracked"?c?.init(y):(m.stores[m.store]=r,c?.init(Object.fromEntries(Object.entries(m.stores).map(([S,E])=>[S,S===m.store?y:E.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let S=!1,E=r.dispatch;r.dispatch=(...R)=>{(bs.env?bs.env.MODE:void 0)!=="production"&&R[0].type==="__setState"&&!S&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),S=!0),E(...R)}}return c.subscribe(S=>{var E;switch(S.type){case"ACTION":if(typeof S.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return Kp(S.payload,R=>{if(R.type==="__setState"){if(u===void 0){w(R.state);return}Object.keys(R.state).length!==1&&console.error(`
11
+ `)+o.join(" > ")}return null},n.getPublicRootInstance=function(o){if(o=o.current,!o.child)return null;switch(o.child.tag){case 5:return oe(o.child.stateNode);default:return o.child.stateNode}},n.injectIntoDevTools=function(o){if(o={bundleType:o.bundleType,version:o.version,rendererPackageName:o.rendererPackageName,rendererConfig:o.rendererConfig,overrideHookState:null,overrideHookStateDeletePath:null,overrideHookStateRenamePath:null,overrideProps:null,overridePropsDeletePath:null,overridePropsRenamePath:null,setErrorHandler:null,setSuspenseHandler:null,scheduleUpdate:null,currentDispatcherRef:u.ReactCurrentDispatcher,findHostInstanceByFiber:_I,findFiberByHostInstance:o.findFiberByHostInstance||OI,findHostInstancesForRefresh:null,scheduleRefresh:null,scheduleRoot:null,setRefreshHandler:null,getCurrentFiber:null,reconcilerVersion:"18.2.0"},typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u")o=!1;else{var a=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(a.isDisabled||!a.supportsFiber)o=!0;else{try{uu=a.inject(o),Oi=a}catch{}o=!!a.checkDCE}}return o},n.isAlreadyRendering=function(){return!1},n.observeVisibleRects=function(o,a,d,h){if(!kn)throw Error(l(363));o=Th(o,a);var g=V(o,d,h).disconnect;return{disconnect:function(){g()}}},n.registerMutableSourceForHydration=function(o,a){var d=a._getVersion;d=d(a._source),o.mutableSourceEagerHydrationData==null?o.mutableSourceEagerHydrationData=[a,d]:o.mutableSourceEagerHydrationData.push(a,d)},n.runWithPriority=function(o,a){var d=He;try{return He=o,a()}finally{He=d}},n.shouldError=function(){return null},n.shouldSuspend=function(){return!1},n.updateContainer=function(o,a,d,h){var g=a.current,x=nn(),C=Sr(g);return d=vx(d),a.context===null?a.context=d:a.pendingContext=d,a=Ki(x,C),a.payload={element:o},h=h===void 0?null:h,h!==null&&(a.callback=h),o=yr(g,a,C),o!==null&&(Jn(o,g,C,x),yu(o,g,C)),C},n}});var rw=Dt((RF,iw)=>{"use strict";iw.exports=nw()});var Oo=Dt((WF,Qw)=>{"use strict";Qw.exports=ReactDOM});var Kw=Dt(Ym=>{"use strict";var Yw=Oo();Ym.createRoot=Yw.createRoot,Ym.hydrateRoot=Yw.hydrateRoot;var UF});var gE=Dt((AW,mE)=>{"use strict";(()=>{var e={296:(r,s,l)=>{var u=/^\s+|\s+$/g,f=/^[-+]0x[0-9a-f]+$/i,p=/^0b[01]+$/i,c=/^0o[0-7]+$/i,m=parseInt,y=typeof l.g=="object"&&l.g&&l.g.Object===Object&&l.g,w=typeof self=="object"&&self&&self.Object===Object&&self,v=y||w||Function("return this")(),S=Object.prototype.toString,E=Math.max,R=Math.min,b=function(){return v.Date.now()};function I(T){var _=typeof T;return!!T&&(_=="object"||_=="function")}function M(T){if(typeof T=="number")return T;if(function(H){return typeof H=="symbol"||function(Z){return!!Z&&typeof Z=="object"}(H)&&S.call(H)=="[object Symbol]"}(T))return NaN;if(I(T)){var _=typeof T.valueOf=="function"?T.valueOf():T;T=I(_)?_+"":_}if(typeof T!="string")return T===0?T:+T;T=T.replace(u,"");var U=p.test(T);return U||c.test(T)?m(T.slice(2),U?2:8):f.test(T)?NaN:+T}r.exports=function(T,_,U){var H,Z,B,G,K,ce,J=0,te=!1,oe=!1,Re=!0;if(typeof T!="function")throw new TypeError("Expected a function");function de(Ge){var $e=H,Qe=Z;return H=Z=void 0,J=Ge,G=T.apply(Qe,$e)}function N(Ge){var $e=Ge-ce;return ce===void 0||$e>=_||$e<0||oe&&Ge-J>=B}function re(){var Ge=b();if(N(Ge))return Le(Ge);K=setTimeout(re,function($e){var Qe=_-($e-ce);return oe?R(Qe,B-($e-J)):Qe}(Ge))}function Le(Ge){return K=void 0,Re&&H?de(Ge):(H=Z=void 0,G)}function je(){var Ge=b(),$e=N(Ge);if(H=arguments,Z=this,ce=Ge,$e){if(K===void 0)return function(Qe){return J=Qe,K=setTimeout(re,_),te?de(Qe):G}(ce);if(oe)return K=setTimeout(re,_),de(ce)}return K===void 0&&(K=setTimeout(re,_)),G}return _=M(_)||0,I(U)&&(te=!!U.leading,B=(oe="maxWait"in U)?E(M(U.maxWait)||0,_):B,Re="trailing"in U?!!U.trailing:Re),je.cancel=function(){K!==void 0&&clearTimeout(K),J=0,H=ce=Z=K=void 0},je.flush=function(){return K===void 0?G:Le(b())},je}},96:(r,s,l)=>{var u="Expected a function",f=NaN,p="[object Symbol]",c=/^\s+|\s+$/g,m=/^[-+]0x[0-9a-f]+$/i,y=/^0b[01]+$/i,w=/^0o[0-7]+$/i,v=parseInt,S=typeof l.g=="object"&&l.g&&l.g.Object===Object&&l.g,E=typeof self=="object"&&self&&self.Object===Object&&self,R=S||E||Function("return this")(),b=Object.prototype.toString,I=Math.max,M=Math.min,T=function(){return R.Date.now()};function _(H){var Z=typeof H;return!!H&&(Z=="object"||Z=="function")}function U(H){if(typeof H=="number")return H;if(function(G){return typeof G=="symbol"||function(K){return!!K&&typeof K=="object"}(G)&&b.call(G)==p}(H))return f;if(_(H)){var Z=typeof H.valueOf=="function"?H.valueOf():H;H=_(Z)?Z+"":Z}if(typeof H!="string")return H===0?H:+H;H=H.replace(c,"");var B=y.test(H);return B||w.test(H)?v(H.slice(2),B?2:8):m.test(H)?f:+H}r.exports=function(H,Z,B){var G=!0,K=!0;if(typeof H!="function")throw new TypeError(u);return _(B)&&(G="leading"in B?!!B.leading:G,K="trailing"in B?!!B.trailing:K),function(ce,J,te){var oe,Re,de,N,re,Le,je=0,Ge=!1,$e=!1,Qe=!0;if(typeof ce!="function")throw new TypeError(u);function Ze(Ne){var fe=oe,ae=Re;return oe=Re=void 0,je=Ne,N=ce.apply(ae,fe)}function Ct(Ne){var fe=Ne-Le;return Le===void 0||fe>=J||fe<0||$e&&Ne-je>=de}function xt(){var Ne=T();if(Ct(Ne))return xn(Ne);re=setTimeout(xt,function(fe){var ae=J-(fe-Le);return $e?M(ae,de-(fe-je)):ae}(Ne))}function xn(Ne){return re=void 0,Qe&&oe?Ze(Ne):(oe=Re=void 0,N)}function Pt(){var Ne=T(),fe=Ct(Ne);if(oe=arguments,Re=this,Le=Ne,fe){if(re===void 0)return function(ae){return je=ae,re=setTimeout(xt,J),Ge?Ze(ae):N}(Le);if($e)return re=setTimeout(xt,J),Ze(Le)}return re===void 0&&(re=setTimeout(xt,J)),N}return J=U(J)||0,_(te)&&(Ge=!!te.leading,de=($e="maxWait"in te)?I(U(te.maxWait)||0,J):de,Qe="trailing"in te?!!te.trailing:Qe),Pt.cancel=function(){re!==void 0&&clearTimeout(re),je=0,oe=Le=Re=re=void 0},Pt.flush=function(){return re===void 0?N:xn(T())},Pt}(H,Z,{leading:G,maxWait:Z,trailing:K})}},703:(r,s,l)=>{"use strict";var u=l(414);function f(){}function p(){}p.resetWarningCache=f,r.exports=function(){function c(w,v,S,E,R,b){if(b!==u){var I=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw I.name="Invariant Violation",I}}function m(){return c}c.isRequired=c;var y={array:c,bigint:c,bool:c,func:c,number:c,object:c,string:c,symbol:c,any:c,arrayOf:m,element:c,elementType:c,instanceOf:m,node:c,objectOf:m,oneOf:m,oneOfType:m,shape:m,exact:m,checkPropTypes:p,resetWarningCache:f};return y.PropTypes=y,y}},697:(r,s,l)=>{r.exports=l(703)()},414:r=>{"use strict";r.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"}},t={};function n(r){var s=t[r];if(s!==void 0)return s.exports;var l=t[r]={exports:{}};return e[r](l,l.exports,n),l.exports}n.n=r=>{var s=r&&r.__esModule?()=>r.default:()=>r;return n.d(s,{a:s}),s},n.d=(r,s)=>{for(var l in s)n.o(s,l)&&!n.o(r,l)&&Object.defineProperty(r,l,{enumerable:!0,get:s[l]})},n.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),n.o=(r,s)=>Object.prototype.hasOwnProperty.call(r,s),n.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})};var i={};(()=>{"use strict";n.r(i),n.d(i,{LazyLoadComponent:()=>De,LazyLoadImage:()=>Se,trackWindowScroll:()=>Le});let r=Q();var s=n.n(r),l=n(697);let u=Oo();var f=n.n(u);function p(){return typeof window<"u"&&"IntersectionObserver"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype}function c(V){return c=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},c(V)}function m(V,k){var X=Object.keys(V);if(Object.getOwnPropertySymbols){var ee=Object.getOwnPropertySymbols(V);k&&(ee=ee.filter(function(Ie){return Object.getOwnPropertyDescriptor(V,Ie).enumerable})),X.push.apply(X,ee)}return X}function y(V,k,X){return(k=v(k))in V?Object.defineProperty(V,k,{value:X,enumerable:!0,configurable:!0,writable:!0}):V[k]=X,V}function w(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,v(ee.key),ee)}}function v(V){var k=function(X,ee){if(c(X)!=="object"||X===null)return X;var Ie=X[Symbol.toPrimitive];if(Ie!==void 0){var _e=Ie.call(X,"string");if(c(_e)!=="object")return _e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(X)}(V);return c(k)==="symbol"?k:String(k)}function S(V,k){return S=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},S(V,k)}function E(V){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},E(V)}var R=function(V){V.forEach(function(k){k.isIntersecting&&k.target.onVisible()})},b={},I=function(V){(function(W,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");W.prototype=Object.create(Y&&Y.prototype,{constructor:{value:W,writable:!0,configurable:!0}}),Object.defineProperty(W,"prototype",{writable:!1}),Y&&S(W,Y)})(Be,V);var k,X,ee,Ie,_e=(ee=Be,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var W,Y=E(ee);if(Ie){var ge=E(this).constructor;W=Reflect.construct(Y,arguments,ge)}else W=Y.apply(this,arguments);return function(he,pe){if(pe&&(c(pe)==="object"||typeof pe=="function"))return pe;if(pe!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(ke){if(ke===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ke}(he)}(this,W)});function Be(W){var Y;if(function(he,pe){if(!(he instanceof pe))throw new TypeError("Cannot call a class as a function")}(this,Be),(Y=_e.call(this,W)).supportsObserver=!W.scrollPosition&&W.useIntersectionObserver&&p(),Y.supportsObserver){var ge=W.threshold;Y.observer=function(he){return b[he]=b[he]||new IntersectionObserver(R,{rootMargin:he+"px"}),b[he]}(ge)}return Y}return k=Be,X=[{key:"componentDidMount",value:function(){this.placeholder&&this.observer&&(this.placeholder.onVisible=this.props.onVisible,this.observer.observe(this.placeholder)),this.supportsObserver||this.updateVisibility()}},{key:"componentWillUnmount",value:function(){this.observer&&this.placeholder&&this.observer.unobserve(this.placeholder)}},{key:"componentDidUpdate",value:function(){this.supportsObserver||this.updateVisibility()}},{key:"getPlaceholderBoundingBox",value:function(){var W=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props.scrollPosition,Y=this.placeholder.getBoundingClientRect(),ge=f().findDOMNode(this.placeholder).style,he=parseInt(ge.getPropertyValue("margin-left"),10)||0,pe=parseInt(ge.getPropertyValue("margin-top"),10)||0;return{bottom:W.y+Y.bottom+pe,left:W.x+Y.left+he,right:W.x+Y.right+he,top:W.y+Y.top+pe}}},{key:"isPlaceholderInViewport",value:function(){if(typeof window>"u"||!this.placeholder)return!1;var W=this.props,Y=W.scrollPosition,ge=W.threshold,he=this.getPlaceholderBoundingBox(Y),pe=Y.y+window.innerHeight,ke=Y.x,tt=Y.x+window.innerWidth,nt=Y.y;return nt-ge<=he.bottom&&pe+ge>=he.top&&ke-ge<=he.right&&tt+ge>=he.left}},{key:"updateVisibility",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible()}},{key:"render",value:function(){var W=this,Y=this.props,ge=Y.className,he=Y.height,pe=Y.placeholder,ke=Y.style,tt=Y.width;if(pe&&typeof pe.type!="function")return s().cloneElement(pe,{ref:function(Ye){return W.placeholder=Ye}});var nt=function(Ye){for(var Lt=1;Lt<arguments.length;Lt++){var ct=arguments[Lt]!=null?arguments[Lt]:{};Lt%2?m(Object(ct),!0).forEach(function(Ft){y(Ye,Ft,ct[Ft])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Ye,Object.getOwnPropertyDescriptors(ct)):m(Object(ct)).forEach(function(Ft){Object.defineProperty(Ye,Ft,Object.getOwnPropertyDescriptor(ct,Ft))})}return Ye}({display:"inline-block"},ke);return tt!==void 0&&(nt.width=tt),he!==void 0&&(nt.height=he),s().createElement("span",{className:ge,ref:function(Ye){return W.placeholder=Ye},style:nt},pe)}}],X&&w(k.prototype,X),Object.defineProperty(k,"prototype",{writable:!1}),Be}(s().Component);I.propTypes={onVisible:l.PropTypes.func.isRequired,className:l.PropTypes.string,height:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.string]),placeholder:l.PropTypes.element,threshold:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool,scrollPosition:l.PropTypes.shape({x:l.PropTypes.number.isRequired,y:l.PropTypes.number.isRequired}),width:l.PropTypes.oneOfType([l.PropTypes.number,l.PropTypes.string])},I.defaultProps={className:"",placeholder:null,threshold:100,useIntersectionObserver:!0};let M=I;var T=n(296),_=n.n(T),U=n(96),H=n.n(U),Z=function(V){var k=getComputedStyle(V,null);return k.getPropertyValue("overflow")+k.getPropertyValue("overflow-y")+k.getPropertyValue("overflow-x")};let B=function(V){if(!(V instanceof HTMLElement))return window;for(var k=V;k&&k instanceof HTMLElement;){if(/(scroll|auto)/.test(Z(k)))return k;k=k.parentNode}return window};function G(V){return G=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},G(V)}var K=["delayMethod","delayTime"];function ce(){return ce=Object.assign?Object.assign.bind():function(V){for(var k=1;k<arguments.length;k++){var X=arguments[k];for(var ee in X)Object.prototype.hasOwnProperty.call(X,ee)&&(V[ee]=X[ee])}return V},ce.apply(this,arguments)}function J(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,(Ie=function(_e,Be){if(G(_e)!=="object"||_e===null)return _e;var W=_e[Symbol.toPrimitive];if(W!==void 0){var Y=W.call(_e,"string");if(G(Y)!=="object")return Y;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(_e)}(ee.key),G(Ie)==="symbol"?Ie:String(Ie)),ee)}var Ie}function te(V,k){return te=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},te(V,k)}function oe(V,k){if(k&&(G(k)==="object"||typeof k=="function"))return k;if(k!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Re(V)}function Re(V){if(V===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return V}function de(V){return de=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},de(V)}var N=function(){return typeof window>"u"?0:window.scrollX||window.pageXOffset},re=function(){return typeof window>"u"?0:window.scrollY||window.pageYOffset};let Le=function(V){var k=function(X){(function(ge,he){if(typeof he!="function"&&he!==null)throw new TypeError("Super expression must either be null or a function");ge.prototype=Object.create(he&&he.prototype,{constructor:{value:ge,writable:!0,configurable:!0}}),Object.defineProperty(ge,"prototype",{writable:!1}),he&&te(ge,he)})(Y,X);var ee,Ie,_e,Be,W=(_e=Y,Be=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var ge,he=de(_e);if(Be){var pe=de(this).constructor;ge=Reflect.construct(he,arguments,pe)}else ge=he.apply(this,arguments);return oe(this,ge)});function Y(ge){var he;if(function(ke,tt){if(!(ke instanceof tt))throw new TypeError("Cannot call a class as a function")}(this,Y),(he=W.call(this,ge)).useIntersectionObserver=ge.useIntersectionObserver&&p(),he.useIntersectionObserver)return oe(he);var pe=he.onChangeScroll.bind(Re(he));return ge.delayMethod==="debounce"?he.delayedScroll=_()(pe,ge.delayTime):ge.delayMethod==="throttle"&&(he.delayedScroll=H()(pe,ge.delayTime)),he.state={scrollPosition:{x:N(),y:re()}},he.baseComponentRef=s().createRef(),he}return ee=Y,(Ie=[{key:"componentDidMount",value:function(){this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"componentDidUpdate",value:function(){typeof window>"u"||this.useIntersectionObserver||B(f().findDOMNode(this.baseComponentRef.current))!==this.scrollElement&&(this.removeListeners(),this.addListeners())}},{key:"addListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement=B(f().findDOMNode(this.baseComponentRef.current)),this.scrollElement.addEventListener("scroll",this.delayedScroll,{passive:!0}),window.addEventListener("resize",this.delayedScroll,{passive:!0}),this.scrollElement!==window&&window.addEventListener("scroll",this.delayedScroll,{passive:!0}))}},{key:"removeListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement.removeEventListener("scroll",this.delayedScroll),window.removeEventListener("resize",this.delayedScroll),this.scrollElement!==window&&window.removeEventListener("scroll",this.delayedScroll))}},{key:"onChangeScroll",value:function(){this.useIntersectionObserver||this.setState({scrollPosition:{x:N(),y:re()}})}},{key:"render",value:function(){var ge=this.props,he=(ge.delayMethod,ge.delayTime,function(ke,tt){if(ke==null)return{};var nt,Ye,Lt=function(Ft,hr){if(Ft==null)return{};var ci,to,ua={},nu=Object.keys(Ft);for(to=0;to<nu.length;to++)ci=nu[to],hr.indexOf(ci)>=0||(ua[ci]=Ft[ci]);return ua}(ke,tt);if(Object.getOwnPropertySymbols){var ct=Object.getOwnPropertySymbols(ke);for(Ye=0;Ye<ct.length;Ye++)nt=ct[Ye],tt.indexOf(nt)>=0||Object.prototype.propertyIsEnumerable.call(ke,nt)&&(Lt[nt]=ke[nt])}return Lt}(ge,K)),pe=this.useIntersectionObserver?null:this.state.scrollPosition;return s().createElement(V,ce({forwardRef:this.baseComponentRef,scrollPosition:pe},he))}}])&&J(ee.prototype,Ie),Object.defineProperty(ee,"prototype",{writable:!1}),Y}(s().Component);return k.propTypes={delayMethod:l.PropTypes.oneOf(["debounce","throttle"]),delayTime:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool},k.defaultProps={delayMethod:"throttle",delayTime:300,useIntersectionObserver:!0},k};function je(V){return je=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},je(V)}function Ge(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,(Ie=function(_e,Be){if(je(_e)!=="object"||_e===null)return _e;var W=_e[Symbol.toPrimitive];if(W!==void 0){var Y=W.call(_e,"string");if(je(Y)!=="object")return Y;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(_e)}(ee.key),je(Ie)==="symbol"?Ie:String(Ie)),ee)}var Ie}function $e(V,k){return $e=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},$e(V,k)}function Qe(V){return Qe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},Qe(V)}var Ze=function(V){(function(W,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");W.prototype=Object.create(Y&&Y.prototype,{constructor:{value:W,writable:!0,configurable:!0}}),Object.defineProperty(W,"prototype",{writable:!1}),Y&&$e(W,Y)})(Be,V);var k,X,ee,Ie,_e=(ee=Be,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var W,Y=Qe(ee);if(Ie){var ge=Qe(this).constructor;W=Reflect.construct(Y,arguments,ge)}else W=Y.apply(this,arguments);return function(he,pe){if(pe&&(je(pe)==="object"||typeof pe=="function"))return pe;if(pe!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(ke){if(ke===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ke}(he)}(this,W)});function Be(W){return function(Y,ge){if(!(Y instanceof ge))throw new TypeError("Cannot call a class as a function")}(this,Be),_e.call(this,W)}return k=Be,(X=[{key:"render",value:function(){return s().createElement(M,this.props)}}])&&Ge(k.prototype,X),Object.defineProperty(k,"prototype",{writable:!1}),Be}(s().Component);let Ct=Le(Ze);function xt(V){return xt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},xt(V)}function xn(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,(Ie=function(_e,Be){if(xt(_e)!=="object"||_e===null)return _e;var W=_e[Symbol.toPrimitive];if(W!==void 0){var Y=W.call(_e,"string");if(xt(Y)!=="object")return Y;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(_e)}(ee.key),xt(Ie)==="symbol"?Ie:String(Ie)),ee)}var Ie}function Pt(V,k){return Pt=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},Pt(V,k)}function Ne(V){if(V===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return V}function fe(V){return fe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},fe(V)}var ae=function(V){(function(W,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");W.prototype=Object.create(Y&&Y.prototype,{constructor:{value:W,writable:!0,configurable:!0}}),Object.defineProperty(W,"prototype",{writable:!1}),Y&&Pt(W,Y)})(Be,V);var k,X,ee,Ie,_e=(ee=Be,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var W,Y=fe(ee);if(Ie){var ge=fe(this).constructor;W=Reflect.construct(Y,arguments,ge)}else W=Y.apply(this,arguments);return function(he,pe){if(pe&&(xt(pe)==="object"||typeof pe=="function"))return pe;if(pe!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ne(he)}(this,W)});function Be(W){var Y;(function(tt,nt){if(!(tt instanceof nt))throw new TypeError("Cannot call a class as a function")})(this,Be),Y=_e.call(this,W);var ge=W.afterLoad,he=W.beforeLoad,pe=W.scrollPosition,ke=W.visibleByDefault;return Y.state={visible:ke},ke&&(he(),ge()),Y.onVisible=Y.onVisible.bind(Ne(Y)),Y.isScrollTracked=!!(pe&&Number.isFinite(pe.x)&&pe.x>=0&&Number.isFinite(pe.y)&&pe.y>=0),Y}return k=Be,(X=[{key:"componentDidUpdate",value:function(W,Y){Y.visible!==this.state.visible&&this.props.afterLoad()}},{key:"onVisible",value:function(){this.props.beforeLoad(),this.setState({visible:!0})}},{key:"render",value:function(){if(this.state.visible)return this.props.children;var W=this.props,Y=W.className,ge=W.delayMethod,he=W.delayTime,pe=W.height,ke=W.placeholder,tt=W.scrollPosition,nt=W.style,Ye=W.threshold,Lt=W.useIntersectionObserver,ct=W.width;return this.isScrollTracked||Lt&&p()?s().createElement(M,{className:Y,height:pe,onVisible:this.onVisible,placeholder:ke,scrollPosition:tt,style:nt,threshold:Ye,useIntersectionObserver:Lt,width:ct}):s().createElement(Ct,{className:Y,delayMethod:ge,delayTime:he,height:pe,onVisible:this.onVisible,placeholder:ke,style:nt,threshold:Ye,width:ct})}}])&&xn(k.prototype,X),Object.defineProperty(k,"prototype",{writable:!1}),Be}(s().Component);ae.propTypes={afterLoad:l.PropTypes.func,beforeLoad:l.PropTypes.func,useIntersectionObserver:l.PropTypes.bool,visibleByDefault:l.PropTypes.bool},ae.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},useIntersectionObserver:!0,visibleByDefault:!1};let De=ae;function Rt(V){return Rt=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(k){return typeof k}:function(k){return k&&typeof Symbol=="function"&&k.constructor===Symbol&&k!==Symbol.prototype?"symbol":typeof k},Rt(V)}var ui=["afterLoad","beforeLoad","delayMethod","delayTime","effect","placeholder","placeholderSrc","scrollPosition","threshold","useIntersectionObserver","visibleByDefault","wrapperClassName","wrapperProps"];function un(V,k){var X=Object.keys(V);if(Object.getOwnPropertySymbols){var ee=Object.getOwnPropertySymbols(V);k&&(ee=ee.filter(function(Ie){return Object.getOwnPropertyDescriptor(V,Ie).enumerable})),X.push.apply(X,ee)}return X}function Sn(V){for(var k=1;k<arguments.length;k++){var X=arguments[k]!=null?arguments[k]:{};k%2?un(Object(X),!0).forEach(function(ee){aa(V,ee,X[ee])}):Object.getOwnPropertyDescriptors?Object.defineProperties(V,Object.getOwnPropertyDescriptors(X)):un(Object(X)).forEach(function(ee){Object.defineProperty(V,ee,Object.getOwnPropertyDescriptor(X,ee))})}return V}function aa(V,k,X){return(k=F(k))in V?Object.defineProperty(V,k,{value:X,enumerable:!0,configurable:!0,writable:!0}):V[k]=X,V}function kn(){return kn=Object.assign?Object.assign.bind():function(V){for(var k=1;k<arguments.length;k++){var X=arguments[k];for(var ee in X)Object.prototype.hasOwnProperty.call(X,ee)&&(V[ee]=X[ee])}return V},kn.apply(this,arguments)}function la(V,k){for(var X=0;X<k.length;X++){var ee=k[X];ee.enumerable=ee.enumerable||!1,ee.configurable=!0,"value"in ee&&(ee.writable=!0),Object.defineProperty(V,F(ee.key),ee)}}function F(V){var k=function(X,ee){if(Rt(X)!=="object"||X===null)return X;var Ie=X[Symbol.toPrimitive];if(Ie!==void 0){var _e=Ie.call(X,"string");if(Rt(_e)!=="object")return _e;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(X)}(V);return Rt(k)==="symbol"?k:String(k)}function $(V,k){return $=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,ee){return X.__proto__=ee,X},$(V,k)}function ie(V){return ie=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(k){return k.__proto__||Object.getPrototypeOf(k)},ie(V)}var le=function(V){(function(W,Y){if(typeof Y!="function"&&Y!==null)throw new TypeError("Super expression must either be null or a function");W.prototype=Object.create(Y&&Y.prototype,{constructor:{value:W,writable:!0,configurable:!0}}),Object.defineProperty(W,"prototype",{writable:!1}),Y&&$(W,Y)})(Be,V);var k,X,ee,Ie,_e=(ee=Be,Ie=function(){if(typeof Reflect>"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}(),function(){var W,Y=ie(ee);if(Ie){var ge=ie(this).constructor;W=Reflect.construct(Y,arguments,ge)}else W=Y.apply(this,arguments);return function(he,pe){if(pe&&(Rt(pe)==="object"||typeof pe=="function"))return pe;if(pe!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(ke){if(ke===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return ke}(he)}(this,W)});function Be(W){var Y;return function(ge,he){if(!(ge instanceof he))throw new TypeError("Cannot call a class as a function")}(this,Be),(Y=_e.call(this,W)).state={loaded:!1},Y}return k=Be,(X=[{key:"onImageLoad",value:function(){var W=this;return this.state.loaded?null:function(Y){W.props.onLoad(Y),W.props.afterLoad(),W.setState({loaded:!0})}}},{key:"getImg",value:function(){var W=this.props,Y=(W.afterLoad,W.beforeLoad,W.delayMethod,W.delayTime,W.effect,W.placeholder,W.placeholderSrc,W.scrollPosition,W.threshold,W.useIntersectionObserver,W.visibleByDefault,W.wrapperClassName,W.wrapperProps,function(ge,he){if(ge==null)return{};var pe,ke,tt=function(Ye,Lt){if(Ye==null)return{};var ct,Ft,hr={},ci=Object.keys(Ye);for(Ft=0;Ft<ci.length;Ft++)ct=ci[Ft],Lt.indexOf(ct)>=0||(hr[ct]=Ye[ct]);return hr}(ge,he);if(Object.getOwnPropertySymbols){var nt=Object.getOwnPropertySymbols(ge);for(ke=0;ke<nt.length;ke++)pe=nt[ke],he.indexOf(pe)>=0||Object.prototype.propertyIsEnumerable.call(ge,pe)&&(tt[pe]=ge[pe])}return tt}(W,ui));return s().createElement("img",kn({},Y,{onLoad:this.onImageLoad()}))}},{key:"getLazyLoadImage",value:function(){var W=this.props,Y=W.beforeLoad,ge=W.className,he=W.delayMethod,pe=W.delayTime,ke=W.height,tt=W.placeholder,nt=W.scrollPosition,Ye=W.style,Lt=W.threshold,ct=W.useIntersectionObserver,Ft=W.visibleByDefault,hr=W.width;return s().createElement(De,{beforeLoad:Y,className:ge,delayMethod:he,delayTime:pe,height:ke,placeholder:tt,scrollPosition:nt,style:Ye,threshold:Lt,useIntersectionObserver:ct,visibleByDefault:Ft,width:hr},this.getImg())}},{key:"getWrappedLazyLoadImage",value:function(W){var Y=this.props,ge=Y.effect,he=Y.height,pe=Y.placeholderSrc,ke=Y.width,tt=Y.wrapperClassName,nt=Y.wrapperProps,Ye=this.state.loaded,Lt=Ye?" lazy-load-image-loaded":"",ct=Ye||!pe?{}:{backgroundImage:"url(".concat(pe,")"),backgroundSize:"100% 100%"};return s().createElement("span",kn({className:tt+" lazy-load-image-background "+ge+Lt,style:Sn(Sn({},ct),{},{color:"transparent",display:"inline-block",height:he,width:ke})},nt),W)}},{key:"render",value:function(){var W=this.props,Y=W.effect,ge=W.placeholderSrc,he=W.visibleByDefault,pe=W.wrapperClassName,ke=W.wrapperProps,tt=this.getLazyLoadImage();return(Y||ge)&&!he||pe||ke?this.getWrappedLazyLoadImage(tt):tt}}])&&la(k.prototype,X),Object.defineProperty(k,"prototype",{writable:!1}),Be}(s().Component);le.propTypes={onLoad:l.PropTypes.func,afterLoad:l.PropTypes.func,beforeLoad:l.PropTypes.func,delayMethod:l.PropTypes.string,delayTime:l.PropTypes.number,effect:l.PropTypes.string,placeholderSrc:l.PropTypes.string,threshold:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool,visibleByDefault:l.PropTypes.bool,wrapperClassName:l.PropTypes.string,wrapperProps:l.PropTypes.object},le.defaultProps={onLoad:function(){},afterLoad:function(){return{}},beforeLoad:function(){return{}},delayMethod:"throttle",delayTime:300,effect:"",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:""};let Se=le})(),mE.exports=i})()});var mk={};BI(mk,{AnnotationContext:()=>XO,AnnotationPageContext:()=>ZO,AnnotationStyleProvider:()=>r_,AtlasStoreProvider:()=>Ws,AtlasStoreReactContext:()=>Fo,Auth:()=>gm,AuthProvider:()=>pm,AuthRContext:()=>Co,AuthReactContext:()=>s0,AuthReactContextActions:()=>a0,CanvasAnnotations:()=>VO,CanvasContext:()=>ni,CanvasPanel:()=>jt,CanvasStrategyProvider:()=>Ry,CanvasWorldObject:()=>Iy,CollectionContext:()=>JO,CombinedMetadata:()=>jO,ComplexTimelineProvider:()=>Fg,ContextBridge:()=>jl,ControlsReactContext:()=>bl,CreateCustomShape:()=>Ty,CustomContextBridge:()=>YR,CustomContextBridgeProvider:()=>RO,DefaultEditingTools:()=>JR,EventEmitterProvider:()=>mM,EventsProvider:()=>bO,Image:()=>hE,ImageService:()=>WO,ImageServiceLoaderContext:()=>Mb,InnerViewerProvider:()=>h0,LanguageProvider:()=>f_,LanguageString:()=>Hb,LocaleString:()=>Wn,ManifestContext:()=>im,ManifestMetadata:()=>qO,MediaPlayerProvider:()=>Sl,Metadata:()=>eu,PolygonSelector:()=>BO,RangeContext:()=>rm,ReactEmitterContext:()=>Td,ReactEventContext:()=>Qo,ReactVaultContext:()=>Ar,Render3DModelStrategy:()=>Eg,RenderAccompanyingCanvas:()=>Ig,RenderAnnotation:()=>zo,RenderAnnotationEditing:()=>dy,RenderAnnotationPage:()=>jr,RenderAnnotationStrategy:()=>Mg,RenderAudioStrategy:()=>kg,RenderComplexTimelineStrategy:()=>Bg,RenderEmptyStrategy:()=>Vg,RenderImageStrategy:()=>jg,RenderSvgEditorControls:()=>KO,RenderTextualContentStrategy:()=>Hg,RenderVideoStrategy:()=>Ug,RenderYouTubeStrategy:()=>qg,ResourceProvider:()=>dn,ResourceReactContext:()=>Oa,SelectorControllerProvider:()=>NO,SequenceThumbnails:()=>QO,SimpleViewerProvider:()=>vm,SimpleViewerReactContext:()=>_s,SingleCanvasThumbnail:()=>Ly,StrategyReactContext:()=>Wr,ThumbnailFallbackImage:()=>Ho,TranslationProvider:()=>d_,TransliterationProvider:()=>h_,VaultProvider:()=>bo,ViewerPresetContext:()=>Pi,VirtualAnnotationProvider:()=>Tg,VisibleCanvasReactContext:()=>Ro,annotationResponseToSelector:()=>pk,authDetailsForResource:()=>dm,createAtlasStore:()=>ug,createAuthStateStore:()=>um,createProbe:()=>cm,defaultEmitter:()=>$R,defaultSvgTheme:()=>Jb,emptyActions:()=>fy,emptyStrategy:()=>hy,expandTarget:()=>Tt,findAllCanvasesInRange:()=>Pc,findFirstCanvasFromRange:()=>jS,findManifestSelectedRange:()=>zP,findSelectedRange:()=>om,flattenAnnotationPageIds:()=>py,formatTime:()=>Nd,get3dStrategy:()=>yy,getAtlasStoreByName:()=>fg,getComplexTimelineStrategy:()=>vy,getDefaultAnnotationStyles:()=>hg,getImageStrategy:()=>Yl,getManifestSequence:()=>Ac,getParsedTargetSelector:()=>Ul,getRenderingStrategy:()=>Sy,getTextualContentStrategy:()=>Kl,getVideoStrategy:()=>Xl,getVisibleCanvasesFromCanvasId:()=>DP,hasAuth:()=>oA,isBoxSelector:()=>n_,isImageApiSelector:()=>Ku,isRectangle:()=>js,isSvgSelector:()=>ab,makeAccessServiceRequest:()=>lm,makeAccessTokenRequest:()=>_c,parseRotation:()=>Xu,parseSelector:()=>er,parseSpecificResource:()=>EO,polygonToTarget:()=>Hs,requestToAnnotationResponse:()=>ml,seraliseSupportedSelector:()=>kd,svgThemes:()=>FO,targetIntersects:()=>fk,unknownResponse:()=>ql,unsupportedStrategy:()=>ut,useAnnotation:()=>yl,useAnnotationPage:()=>gg,useAnnotationPageManager:()=>$l,useAnnotationStyles:()=>gl,useAnnotationsAtTime:()=>ek,useAtlasContextMenu:()=>Wl,useAtlasStore:()=>st,useAuthActions:()=>l0,useAuthService:()=>u0,useAuthStore:()=>Ts,useAuthToken:()=>aA,useAuthTokens:()=>fm,useCanvas:()=>Ce,useCanvasChoices:()=>tk,useCanvasClock:()=>nk,useCanvasSequence:()=>sm,useCanvasStartTime:()=>wl,useCanvasSubset:()=>ik,useClosestLanguage:()=>Ub,useCollection:()=>rk,useComplexTimeline:()=>c_,useContextBridge:()=>Vl,useContextMenuStore:()=>ZR,useCreateLocaleString:()=>p_,useCurrentAnnotationActions:()=>ok,useCurrentAnnotationMetadata:()=>sk,useCurrentAnnotationRequest:()=>cy,useCurrentAnnotationTransition:()=>ak,useCurrentAuth:()=>sA,useCustomContextBridge:()=>Bl,useDispatch:()=>Cg,useEmitter:()=>ag,useEvent:()=>Lo,useEventEmitter:()=>zl,useEventListener:()=>lk,useExistingVault:()=>Io,useExternalCollection:()=>uk,useExternalManifest:()=>nm,useExternalResource:()=>Ua,useIIIFLanguage:()=>$d,useImage:()=>Ef,useImageService:()=>Ny,useImageServiceLoader:()=>Rl,useImageTile:()=>ck,useIsAuthEnabled:()=>mm,useLoadImageService:()=>Ql,useLocaleString:()=>qb,useManifest:()=>It,useMediaActions:()=>s_,useMediaElements:()=>a_,useMediaState:()=>o_,usePaintables:()=>gy,usePaintingAnnotations:()=>Yo,usePolygonHelper:()=>Gg,useRange:()=>qa,useRenderControls:()=>mn,useRenderingStrategy:()=>wy,useRequestAnnotation:()=>Ay,useResourceContext:()=>rn,useResourceEvents:()=>xl,useResources:()=>my,useSearchService:()=>ym,useSelectorController:()=>_y,useSelectorEmitter:()=>zO,useSelectorEvents:()=>My,useSelectorHelper:()=>DO,useSimpleMediaPlayer:()=>Do,useSimpleViewer:()=>Po,useStrategy:()=>gt,useStyleHelper:()=>dk,useStyles:()=>No,useSvgEditor:()=>$g,useSvgEditorControls:()=>Fy,useThumbnail:()=>lr,useTranslations:()=>zg,useTransliteration:()=>Ng,useVault:()=>ze,useVaultEffect:()=>_g,useVaultSelector:()=>qe,useViewerPreset:()=>El,useVirtualAnnotationPage:()=>Pg,useVirtualAnnotationPageContext:()=>Ag,useVisibleCanvases:()=>Eo});function Ta(e){"@babel/helpers - typeof";return Ta=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Ta(e)}function jI(e,t){if(Ta(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||"default");if(Ta(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function HI(e){var t=jI(e,"string");return Ta(t)=="symbol"?t:t+""}function Bt(e,t,n){return(t=HI(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var WI=Object.create,bx=Object.defineProperty,UI=Object.getOwnPropertyDescriptor,qI=Object.getOwnPropertyNames,GI=Object.getPrototypeOf,$I=Object.prototype.hasOwnProperty,Wh=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var QI=(e,t,n,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(var r=qI(t),s=0,l=r.length,u;s<l;s++)u=r[s],!$I.call(e,u)&&u!==n&&bx(e,u,{get:(f=>t[f]).bind(null,u),enumerable:!(i=UI(t,u))||i.enumerable});return e},Uh=(e,t,n)=>(n=e==null?{}:WI(GI(e)),QI(t||!e||!e.__esModule?bx(n,"default",{value:e,enumerable:!0}):n,e));function YI(e,t,n,i=1){return new Cx(e,t,n).subdivide(i)}function KI(e,t,n,i,r=1){return new ZI(new Float64Array([e.x,e.y,t.x,t.y,n.x,n.y,i.x,i.y])).subdivide(r)}function XI(e){return e.x*e.x+e.y*e.y}function Ma(e){let t=.67;return e/(1-t+(t**4+.25*e*e)**.25)}function fs(e){let t=.39;return e*(1-t+Math.sqrt(t*t+.25*e*e))}var Cx=class{constructor(e,t,n){Bt(this,"start",void 0),Bt(this,"control",void 0),Bt(this,"end",void 0),this.start=e,this.control=t,this.end=n}eval(e){let t=1-e;return{x:this.start.x*t*t+2*this.control.x*t*e+this.end.x*e*e,y:this.start.y*t*t+2*this.control.y*t*e+this.end.y*e*e}}mapToBasic(){let{x:e,y:t}=this.start,{x:n,y:i}=this.control,{x:r,y:s}=this.end,l=2*n-e-r,u=2*i-t-s,f=(n-e)*l+(i-t)*u,p=(r-n)*l+(s-i)*u,c=(r-e)*u-(s-t)*l,m=f/c,y=p/c,w=Math.abs(c)/(Math.hypot(l,u)*Math.abs(y-m));return{x0:e,x2:r,scale:w,cross:c}}subdivide(e){let t=this.mapToBasic(),n=Ma(t.x0),i=Ma(t.x2),r=.5*Math.abs(i-n)*Math.sqrt(t.scale/e),s=Math.ceil(r),l=fs(n),u=fs(i),f=[0];for(let p=1;p<s;p++){let c=fs(n+(i-n)*p/s),m=(c-l)/(u-l);f.push(m)}return f.push(1),f.map(p=>this.eval(p))}},ZI=class Px{constructor(t){Bt(this,"c",void 0),this.c=t}weightsum(t,n,i,r){let s=t*this.c[0]+n*this.c[2]+i*this.c[4]+r*this.c[6],l=t*this.c[1]+n*this.c[3]+i*this.c[5]+r*this.c[7];return{x:s,y:l}}eval(t){let n=1-t,i=n*n*n,r=3*n*n*t,s=3*n*t*t,l=t*t*t;return this.weightsum(i,r,s,l)}deriv(t){let n=1-t,i=-3*n*n,r=3*t*t,s=-6*t*n-i,l=6*t*n-r;return this.weightsum(i,s,l,r)}midpoint_quadbez(){let t=this.weightsum(-.25,.75,.75,-.25);return new Cx({x:this.c[0],y:this.c[1]},t,{x:this.c[6],y:this.c[7]})}subsegment(t,n){let i=new Float64Array(8),r=this.eval(t),s=this.eval(n);i[0]=r.x,i[1]=r.y;let l=(n-t)/3,u=this.deriv(t);i[2]=r.x+l*u.x,i[3]=r.y+l*u.y;let f=this.deriv(n);return i[4]=s.x-l*f.x,i[5]=s.y-l*f.y,i[6]=s.x,i[7]=s.y,new Px(i)}subdivide(t){let n=.1*t,i=t-n,r=Math.sqrt(i),s=XI(this.weightsum(1,-3,3,-1)),l=Math.ceil((s/(432*n*n))**(1/6)),u=[],f=0;for(let v=0;v<l;v++){let S=v/l,E=(v+1)/l,R=this.subsegment(S,E).midpoint_quadbez(),b=R.mapToBasic(),I=Ma(b.x0),M=Ma(b.x2),T=Math.sqrt(b.scale),_=Math.abs(M-I)*T;if(Math.sign(b.x0)!=Math.sign(b.x2)){let U=r/T,H=r*Math.abs(M-I)/Ma(U);_=Math.max(_,H)}u.push({quad:R,a0:I,a2:M,val:_}),f+=_}let p=.5*f/r,c=Math.ceil(p),m=[{x:this.c[0],y:this.c[1]}],y=0,w=0;for(let v=1;v<c;v++){let S=f*v/c;for(;y+u[w].val<S;)y+=u[w].val,w++;let E=u[w].a0,R=u[w].a2,b=fs(E),I=fs(R),M=E+(R-E)*(S-y)/u[w].val,T=fs(M),_=(T-b)/(I-b);m.push(u[w].quad.eval(_))}return m.push({x:this.c[6],y:this.c[7]}),m}},JI=function(){function e(t,n){var i=[],r=!0,s=!1,l=void 0;try{for(var u=t[Symbol.iterator](),f;!(r=(f=u.next()).done)&&(i.push(f.value),!(n&&i.length===n));r=!0);}catch(p){s=!0,l=p}finally{try{!r&&u.return&&u.return()}finally{if(s)throw l}}return i}return function(t,n){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,n);throw TypeError("Invalid attempt to destructure non-iterable instance")}}(),_a=Math.PI*2,qh=function(e,t,n,i,r,s,l){var u=e.x,f=e.y;u*=t,f*=n;var p=i*u-r*f,c=r*u+i*f;return{x:p+s,y:c+l}},eC=function(e,t){var n=t===1.5707963267948966?.551915024494:t===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(t/4),i=Math.cos(e),r=Math.sin(e),s=Math.cos(e+t),l=Math.sin(e+t);return[{x:i-r*n,y:r+i*n},{x:s+l*n,y:l-s*n},{x:s,y:l}]},Rx=function(e,t,n,i){var r=e*i-t*n<0?-1:1,s=e*n+t*i;return s>1&&(s=1),s<-1&&(s=-1),r*Math.acos(s)},tC=function(e,t,n,i,r,s,l,u,f,p,c,m){var y=r**2,w=s**2,v=c**2,S=m**2,E=y*w-y*S-w*v;E<0&&(E=0),E/=y*S+w*v,E=Math.sqrt(E)*(l===u?-1:1);var R=E*r/s*m,b=E*-s/r*c,I=p*R-f*b+(e+n)/2,M=f*R+p*b+(t+i)/2,T=(c-R)/r,_=(m-b)/s,U=(-c-R)/r,H=(-m-b)/s,Z=Rx(1,0,T,_),B=Rx(T,_,U,H);return u===0&&B>0&&(B-=_a),u===1&&B<0&&(B+=_a),[I,M,Z,B]},nC=function(e){var t=e.px,n=e.py,i=e.cx,r=e.cy,s=e.rx,l=e.ry,u=e.xAxisRotation,f=u===void 0?0:u,p=e.largeArcFlag,c=p===void 0?0:p,m=e.sweepFlag,y=m===void 0?0:m,w=[];if(s===0||l===0)return[];var v=Math.sin(f*_a/360),S=Math.cos(f*_a/360),E=S*(t-i)/2+v*(n-r)/2,R=-v*(t-i)/2+S*(n-r)/2;if(E===0&&R===0)return[];s=Math.abs(s),l=Math.abs(l);var b=E**2/s**2+R**2/l**2;b>1&&(s*=Math.sqrt(b),l*=Math.sqrt(b));var I=tC(t,n,i,r,s,l,c,y,v,S,E,R),M=JI(I,4),T=M[0],_=M[1],U=M[2],H=M[3],Z=Math.abs(H)/(_a/4);Math.abs(1-Z)<1e-7&&(Z=1);var B=Math.max(Math.ceil(Z),1);H/=B;for(var G=0;G<B;G++)w.push(eC(U,H)),U+=H;return w.map(function(K){var ce=qh(K[0],s,l,S,v,T,_),J=ce.x,te=ce.y,oe=qh(K[1],s,l,S,v,T,_),Re=oe.x,de=oe.y,N=qh(K[2],s,l,S,v,T,_),re=N.x,Le=N.y;return{x1:J,y1:te,x2:Re,y2:de,x:re,y:Le}})},iC=nC,rC=Wh((e,t)=>{t.exports=r;var n={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},i=/([astvzqmhlc])([^astvzqmhlc]*)/gi;function r(u){var f=[];return u.replace(i,function(p,c,m){var y=c.toLowerCase();for(m=l(m),y=="m"&&m.length>2&&(f.push([c].concat(m.splice(0,2))),y="l",c=c=="m"?"l":"L");;){if(m.length==n[y])return m.unshift(c),f.push(m);if(m.length<n[y])throw Error("malformed path data");f.push([c].concat(m.splice(0,n[y])))}}),f}var s=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/gi;function l(u){var f=u.match(s);return f?f.map(Number):[]}}),oC=Wh((e,t)=>{t.exports=n;function n(i){var r=0,s=0,l=0,u=0;return i.map(function(f){f=f.slice();var p=f[0],c=p.toUpperCase();if(p!=c)switch(f[0]=c,p){case"a":f[6]+=l,f[7]+=u;break;case"v":f[1]+=u;break;case"h":f[1]+=l;break;default:for(var m=1;m<f.length;)f[m++]+=l,f[m++]+=u}switch(c){case"Z":l=r,u=s;break;case"H":l=f[1];break;case"V":u=f[1];break;case"M":l=r=f[1],u=s=f[2];break;default:l=f[f.length-2],u=f[f.length-1]}return f})}}),sC=Uh(rC(),1),aC=Uh(oC(),1);function lC(e){let t=(0,sC.default)(e),n=(0,aC.default)(t),i,r=0,s=0,l=0,u=0,f,p,c=0,m=0,y=[];for(let w=0;w<n.length;w++){let v=n[w],S=v[0];switch(S){case"M":r=v[1],s=v[2];break;case"H":v=["L",v[1],s];break;case"V":v=["L",r,v[1]];break;case"S":{let E=c,R=m;(i==="C"||i=="S")&&(E+=E-l,R+=R-u),v=["C",E,R,v[1],v[2],v[3],v[4]]}break;case"T":i==="Q"||i=="T"?(f=c*2-f,p=m*2-p):(f=c,p=m),v=["Q",f,p,v[1],v[2]];break;case"Q":f=v[1],p=v[2];break;case"A":{let E=iC({px:c,py:m,cx:v[6],cy:v[7],rx:v[1],ry:v[2],xAxisRotation:v[3],largeArcFlag:v[4],sweepFlag:v[5]});if(!E.length)continue;for(let[R,b]of E.entries())v=["C",b.x1,b.y1,b.x2,b.y2,b.x,b.y],R<E.length-1&&y.push(v);v=v}break;case"Z":v=["L",r,s];break}i=S,c=v[v.length-2],m=v[v.length-1],["C","Q","A"].indexOf(S)>-1?(l=v[v.length-4],u=v[v.length-3]):(l=c,u=m),y.push(v)}return y}var uC=/&?(xywh=)?(pixel:|percent:|pct:)?([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?)/,Ex=/&?(t=)(npt:)?([0-9]+(\.[0-9]+)?)?(,([0-9]+(\.[0-9]+)?))?/,Ix=/^rgba\((\d+),(\d+),(\d+),([0-9.]+)\)$/;function er(e,{domParser:t,svgPreprocessor:n,iiifRenderingHints:i}={}){if(Array.isArray(e))return ti(e.reduce((r,s)=>{let{selector:l,selectors:u,iiifRenderingHints:f}=er(s,{domParser:t,svgPreprocessor:n,iiifRenderingHints:i});return l&&(r.selector?(!r.selector.temporal&&l.temporal&&(r.selector.temporal=l.temporal),!r.selector.spatial&&l.spatial&&(r.selector.spatial=l.spatial),!r.selector.svg&&l.svg&&(r.selector.svg=l.svg),!r.selector.svgShape&&l.svgShape&&(r.selector.svgShape=l.svgShape)):r.selector=l,r.selectors.push(...u)),f&&(r.iiifRenderingHints=r.iiifRenderingHints||{type:"ImageApiSelector"},Object.assign(r.iiifRenderingHints,f)),r},{selector:null,selectors:[],iiifRenderingHints:i}));if(!e)return ti({selector:null,selectors:[],iiifRenderingHints:i});if(typeof e=="string"){let[r,s]=e.split("#");return s?er({type:"FragmentSelector",value:s},{svgPreprocessor:n,iiifRenderingHints:i,domParser:t}):ti({selector:null,selectors:[],iiifRenderingHints:i})}if(e.type){if(e.type==="PointSelector"&&(e.t||e.t===0)){let r={type:"TemporalSelector",temporal:{startTime:e.t}};return ti({selector:r,selectors:[r],iiifRenderingHints:i})}if(e.type==="PointSelector"&&e.x&&e.y){let r={type:"PointSelector",spatial:{x:e.x,y:e.y}};return ti({selector:r,selectors:[r],iiifRenderingHints:i})}}if(Ku(e)){let r=[];if(e.region){let s=er({type:"FragmentSelector",value:"xywh="+e.region},{domParser:t,svgPreprocessor:n,iiifRenderingHints:i});r.push(...s.selectors)}return ti({selector:r[0],selectors:r,iiifRenderingHints:i?{...i,...e}:e})}if(e.type==="FragmentSelector"){let r=uC.exec(e.value);if(r){let l={type:"BoxSelector",spatial:{unit:r[2]==="percent:"||r[2]==="pct:"?"percent":"pixel",x:Number.parseFloat(r[3]),y:Number.parseFloat(r[4]),width:Number.parseFloat(r[5]),height:Number.parseFloat(r[6])}},u=e.value.match(Ex);return u&&(l={type:"TemporalBoxSelector",spatial:l.spatial,temporal:{startTime:u[3]?Number.parseFloat(u[3]):0,endTime:u[6]?Number.parseFloat(u[6]):void 0}}),ti({selector:l,selectors:[l],iiifRenderingHints:i})}let s=e.value.match(Ex);if(s){let l={type:"TemporalSelector",temporal:{startTime:s[3]?Number.parseFloat(s[3]):0,endTime:s[6]?Number.parseFloat(s[6]):void 0}};return ti({selector:l,selectors:[l],iiifRenderingHints:i})}return ti({selector:null,selectors:[],iiifRenderingHints:i})}if(e.type==="SvgSelector"&&"value"in e){t||(typeof window<"u"?t=new window.DOMParser:console.warn("No DOMParser available, cannot parse SVG selector, `points`, `spatial` and `style` will be unavailable and the SVG will not be normalized."));let r=[],s,l,u=n?.(e.value)??e.value,f;if(t){let c=t.parseFromString(e.value,"image/svg+xml").querySelector("svg");if(!c)return console.warn(`Illegal SVG selector: ${e.value}`),ti({selector:null,selectors:[],iiifRenderingHints:i});let m=Ax(c);m&&(r=m.points,f=m.shapeType,s=[Math.min(...r.map(y=>y[0])),Math.min(...r.map(y=>y[1])),Math.max(...r.map(y=>y[0])),Math.max(...r.map(y=>y[1]))],{style:l,svg:u}=fC(m.element)??{svg:u})}let p={type:"SvgSelector",svg:u,svgShape:f,style:l,points:r.length?r:void 0,spatial:s?{unit:"pixel",x:s[0],y:s[1],width:s[2]-s[0],height:s[3]-s[1]}:void 0};return ti({selector:p,selectors:[p],iiifRenderingHints:i})}return ti({selector:null,selectors:[],iiifRenderingHints:i})}function cC(e){let t=e.map(i=>i[0]).reduce((i,r)=>(i[r]+=1,i),{C:0,Q:0,L:0,M:0}),n=new Set(e.map(i=>i[0]));if(t.C>0||t.Q>0)return"path";if(t.L>0&&(n.size===1||n.size===2&&n.has("M"))){if(t.L===4)return"rect";let i=e.slice(-1)[0];return e[0][0]==="M"&&i[0]==="L"&&i[1]==e[0][1]&&i[2]===e[0][2]||i[1]===0&&i[2]===0?"polygon":"polyline"}return"path"}function Ax(e){for(let t of Array.from(e.children))switch(t?.tagName.toLowerCase()){case"g":{let n=Ax(t);if(n)return n}continue;case"path":{let n=t.getAttribute("d");if(!n)continue;let i=lC(n);return{element:t,points:dC(i),shapeType:cC(i)}}case"circle":{let n=Number.parseFloat(t.getAttribute("cx")??"0"),i=Number.parseFloat(t.getAttribute("cy")??"0"),r=Number.parseFloat(t.getAttribute("r")??"0");if(!r)continue;let s=[];for(let l=0;l<=360;l+=12){let u=l*Math.PI/180;s.push([n+r*Math.cos(u),i+r*Math.sin(u)])}return{element:t,points:s,shapeType:"circle"}}case"ellipse":{let n=Number.parseFloat(t.getAttribute("cx")??"0"),i=Number.parseFloat(t.getAttribute("cy")??"0"),r=Number.parseFloat(t.getAttribute("rx")??"0"),s=Number.parseFloat(t.getAttribute("ry")??"0");if(!r&&!s)continue;let l=[];for(let u=0;u<=360;u+=12){let f=Math.tan(u/360*Math.PI),p=r*(1-f**2)/(1+f**2),c=s*2*f/(1+f**2);l.push([n+p,i+c])}return{element:t,points:l,shapeType:"ellipse"}}case"line":{let n=Number.parseFloat(t.getAttribute("x0")??"0"),i=Number.parseFloat(t.getAttribute("y0")??"0"),r=Number.parseFloat(t.getAttribute("x1")??"0"),s=Number.parseFloat(t.getAttribute("y1")??"0");if(n===r&&i===s)continue;return{element:t,points:[[n,i],[r,s]],shapeType:"polyline"}}case"polygon":case"polyline":{let n=t.getAttribute("points")?.split(" ").map(r=>r.split(",").map(Number.parseFloat))??[];if(!n.length)continue;let i="polyline";return t.tagName.toLowerCase()==="polygon"&&(n.push(n[0]),i="polygon"),{element:t,points:n,shapeType:i}}case"rect":{let n=Number.parseFloat(t.getAttribute("x")??"0"),i=Number.parseFloat(t.getAttribute("y")??"0"),r=Number.parseFloat(t.getAttribute("width")??"0"),s=Number.parseFloat(t.getAttribute("height")??"0");if(!r||!s)continue;return{element:t,points:[[n,i],[n+r,i],[n+r,i+s],[n,i+s],[n,i]],shapeType:"rect"}}default:continue}return null}function dC(e){let t=[];for(let n=0;n<e.length;n++){let i=t[t.length-1]??[0,0],r=e[n];switch(r[0]){case"M":case"L":t.push([r[1],r[2]]);continue;case"C":t.push(...KI({x:i[0],y:i[1]},{x:r[1],y:r[2]},{x:r[3],y:r[4]},{x:r[5],y:r[6]}).map(s=>[s.x,s.y]).slice(1));continue;case"Q":t.push(...YI({x:i[0],y:i[1]},{x:r[1],y:r[2]},{x:r[3],y:r[4]}).map(s=>[s.x,s.y]).slice(1));continue}}return t}function fC(e){let t={};if(e.hasAttribute("fill")?(t.fill=e.getAttribute("fill"),e.removeAttribute("fill")):e.style&&e.style.fill&&(t.fill=e.style.fill),t.fill){let i=Ix.exec(t.fill);i&&(t.fillOpacity=Number.parseFloat(i[4]),t.fill=`rgb(${i[1]}, ${i[2]}, ${i[3]})`)}if(e.hasAttribute("fill-opacity")?(t.fillOpacity=Number.parseFloat(e.getAttribute("fill-opacity")),e.removeAttribute("fill-opacity")):e.style&&e.style.fillOpacity&&(t.fillOpacity=Number.parseFloat(e.style.fillOpacity)),e.hasAttribute("stroke")?(t.stroke=e.getAttribute("stroke"),e.removeAttribute("stroke")):e.style&&e.style.stroke&&(t.stroke=e.style.stroke),t.stroke){let i=Ix.exec(t.stroke);i&&(t.strokeOpacity=Number.parseFloat(i[4]),t.stroke=`rgb(${i[1]}, ${i[2]}, ${i[3]})`)}e.hasAttribute("stroke-opacity")?(t.strokeOpacity=Number.parseFloat(e.getAttribute("stroke-opacity")),e.removeAttribute("stroke-opacity")):e.style&&e.style.strokeOpacity&&(t.strokeOpacity=Number.parseFloat(e.style.strokeOpacity)),e.hasAttribute("stroke-width")?(t.strokeWidth=e.getAttribute("stroke-width"),e.removeAttribute("stroke-width")):e.style&&e.style.strokeWidth&&(t.strokeWidth=e.style.strokeWidth),e.hasAttribute("stroke-dasharray")?(t.strokeDasharray=e.getAttribute("stroke-dasharray"),e.removeAttribute("stroke-dasharray")):e.style&&e.style.strokeDasharray&&(t.strokeDasharray=e.style.strokeDasharray);let n=e;for(;n.tagName.toLowerCase()!=="svg";)if(n=n.parentElement,n===null)throw Error("Could not find root SVG element");return{svg:n.outerHTML,style:Object.keys(t).length>0?t:void 0}}function Ku(e){if(!e)return!1;let t=e.type||e["@type"];return t==="iiif:ImageApiSelector"||t==="ImageApiSelector"}function ti(e){if(e.iiifRenderingHints){let t=e.iiifRenderingHints;if(t.rotation){let n=Xu(`${t.rotation}`);if(n)if(e.selectors.length)for(let i of e.selectors)i.rotation=n;else e.selectors.push({type:"RotationSelector",rotation:n})}}else delete e.iiifRenderingHints;return e}function Xu(e){let t=Number.parseFloat(e);return t&&e.startsWith("!")&&(t=360-t),t&&(t%=360),t===t&&t||0}function Tt(e,t={}){if(Array.isArray(e))return Tt(e[0]);if(typeof e=="string"){let[n,i]=e.split("#");return i?Tt({type:"SpecificResource",source:{id:n,type:"Unknown"},selector:{type:"FragmentSelector",value:i}}):{type:"SpecificResource",source:{id:n,type:t.typeMap&&t.typeMap[n]||"Unknown"},selector:null,selectors:[]}}if(e.type==="Choice"||e.type==="List"||e.type==="Composite"||e.type==="Independents")return Tt(e.items[0]);if(!e.type&&"source"in e&&(e.type="SpecificResource"),e.type==="SpecificResource"){e.source.type==="Canvas"&&e.source.partOf&&typeof e.source.partOf=="string"&&(e.source.partOf=[{id:e.source.partOf,type:"Manifest"}]);let{selector:n,selectors:i}=e.selector?er(e.selector,t):{selector:null,selectors:[]};return{type:"SpecificResource",source:e.source,selector:n,selectors:i}}if(e.id){e.type==="Canvas"&&e.partOf&&typeof e.partOf=="string"&&(e.partOf=[{id:e.partOf,type:"Manifest"}]);let[n,i]=e.id.split("#");return i?Tt({type:"SpecificResource",source:{...e,id:n},selector:{type:"FragmentSelector",value:i}}):{type:"SpecificResource",source:{...e,id:n},selector:null,selectors:[]}}return{type:"SpecificResource",source:e,selector:null,selectors:[]}}var Xo=A(Q(),1);var hs=A(Q(),1),kx=A(D(),1),xC={collection:void 0,manifest:void 0,range:void 0,canvas:void 0,annotation:void 0,annotationPage:void 0},Oa=hs.default.createContext(xC),rn=()=>(0,hs.useContext)(Oa);function dn({value:e,children:t}){let n=rn(),i=(0,hs.useMemo)(()=>({...n,...e}),[e,n]);return(0,kx.jsx)(Oa.Provider,{value:i,children:t})}var Lx=A(D(),1);function ni({canvas:e,children:t}){return(0,Lx.jsx)(dn,{value:{canvas:e},children:t})}var Ic=A(Q(),1);var Nx={},Fx=e=>{let t,n=new Set,i=(c,m)=>{let y=typeof c=="function"?c(t):c;if(!Object.is(y,t)){let w=t;t=m??(typeof y!="object"||!y)?y:Object.assign({},t,y),n.forEach(v=>v(t,w))}},r=()=>t,s=()=>p,l=c=>(n.add(c),()=>n.delete(c)),u=()=>{(Nx.env?Nx.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()},f={setState:i,getState:r,getInitialState:s,subscribe:l,destroy:u},p=t=e(i,r,f);return f},Ju=e=>e?Fx(e):Fx;function ec(e){return{all:e||(e=new Map),on:function(t,n){var i=e.get(t);i?i.push(n):e.set(t,[n])},off:function(t,n){var i=e.get(t);i&&(n?i.splice(i.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var i=e.get(t);i&&i.slice().map(function(r){r(n)}),(i=e.get("*"))&&i.slice().map(function(r){r(t,n)})}}}var ot=function(e){return function(){let t={type:e,getType:()=>e,toString:()=>e};return(n,i)=>({...t,...n!==void 0&&{payload:n},...i!==void 0&&{meta:i}})}},tc="@iiif/IMPORT_ENTITIES",nc="@iiif/MODIFY_ENTITY_FIELD",ic="@iiif/REORDER_ENTITY_FIELD",rc="@iiif/MOVE_ENTITY",ka="@iiif/MOVE_ENTITIES",oc="@iiif/ADD_REFERENCE",La="@iiif/UPDATE_REFERENCE",sc="@iiif/REMOVE_REFERENCE",ac="@iiif/ADD_METADATA",lc="@iiif/REMOVE_METADATA",Fa="@iiif/UPDATE_METADATA",uc="@iiif/REORDER_METADATA",cc=ot(tc)(),zx=ot(nc)(),Dx=ot(ic)(),Bx=ot(rc)(),Vx=ot(ka)(),jx=ot(oc)(),Hx=ot(sc)(),Wx=ot(La)(),Ux=ot(ac)(),qx=ot(Fa)(),Gx=ot(lc)(),$x=ot(uc)(),ho={importEntities:cc,modifyEntityField:zx,reorderEntityField:Dx,addReference:jx,removeReference:Hx,updateReference:Wx,addMetadata:Ux,removeMetadata:Gx,updateMetadata:qx,reorderMetadata:$x,moveEntity:Bx,moveEntities:Vx},dc="@iiif/ADD_MAPPING",fc="@iiif/ADD_MAPPINGS",Gh=ot(dc)(),$h=ot(fc)();var ps="RESOURCE_ERROR",Na="RESOURCE_LOADING",ms="RESOURCE_READY",hc="@iiif/REQUEST_RESOURCE",pc="@iiif/REQUEST_ERROR",mc="@iiif/REQUEST_MISMATCH",gc="@iiif/REQUEST_COMPLETE",yc="@iiif/REQUEST_OFFLINE_RESOURCE",Qh=ot(hc)(),za=ot(pc)(),Yh=ot(mc)(),Kh=ot(gc)(),SC=ot(yc)();var gs="@iiif/BATCH",vc="@iiif/BATCH_IMPORT",ys=ot(gs)(),wC=ot(vc)();var Xh="@iiif/SET_META_VALUE",Zh="@iiif/SET_META_VALUE_DYNAMIC",Jh="@iiif/UNSET_META_VALUE",bC=ot(Xh)(),RC=ot(Zh)(),EC=ot(Jh)(),ep={setMetaValue:bC,setMetaValueDynamic:RC,unsetMetaValue:EC};function yi(e){return Array.isArray(e)?e:e?[e]:[]}function Da(e){"@babel/helpers - typeof";return Da=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},Da(e)}function IC(e,t){if(Da(e)!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var i=n.call(e,t||"default");if(Da(i)!="object")return i;throw TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function CC(e){var t=IC(e,"string");return Da(t)=="symbol"?t:t+""}function Vi(e,t,n){return(t=CC(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vi(e){for(let t in e)(e[t]===void 0||e[t]===null)&&delete e[t];return e}function xi(e){return typeof e=="string"?!1:e&&!e.type&&"source"in e?(e.type="SpecificResource",!0):!!e&&e.type==="SpecificResource"}function xc(...e){return t=>e.reduce((n,i)=>i(n),t)}var tp=["Collection","Manifest","Canvas","AnnotationPage","AnnotationCollection","Annotation","ContentResource","Range","Service","Selector","Agent"];function Qx(e,t){if(e==null)throw Error("Null or undefined is not a valid entity.");if(Array.isArray(e))throw Error("Array is not a valid entity");if(typeof e!="object"){if(t)return t;throw Error(`${typeof e} is not a valid entity`)}if(typeof e.type=="string"){let n=tp.indexOf(e.type);if(n!==-1)return tp[n]}if(e.profile)return"Service";throw Error("Resource type is not known")}var np=class Yx{constructor(t,n={}){Vi(this,"traversals",void 0),Vi(this,"options",void 0),Vi(this,"_traverseManifest",xc(this.traverseManifestItems.bind(this),this.traverseNavPlace.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseManifestStructures.bind(this),this.traverseInlineAnnotationPages.bind(this))),Vi(this,"_traverseCanvas",xc(this.traverseCanvasItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseInlineAnnotationPages.bind(this))),Vi(this,"_traverseAnnotationPage",xc(this.traverseAnnotationPageItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this))),Vi(this,"_traverseRange",xc(this.traverseRangeRanges.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this))),this.traversals={collection:[],manifest:[],canvas:[],annotationCollection:[],annotationPage:[],annotation:[],contentResource:[],choice:[],range:[],service:[],agent:[],specificResource:[],geoJson:[],...t},this.options={allowUndefinedReturn:!1,...n}}static all(t){return new Yx({collection:[t],manifest:[t],canvas:[t],annotationCollection:[t],annotationPage:[t],annotation:[t],contentResource:[t],choice:[t],range:[t],service:[t],geoJson:[t],specificResource:[t],agent:[t]})}traverseDescriptive(t){return t.thumbnail&&(t.thumbnail=yi(t.thumbnail).map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.provider&&(t.provider=t.provider.map(n=>this.traverseAgent(n,t))),t}traverseLinking(t){return t.seeAlso&&(t.seeAlso=yi(t.seeAlso).map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.service&&(t.service=yi(t.service).map(n=>this.traverseService(n))),t.services&&(t.services=yi(t.services).map(n=>this.traverseService(n,t))),t.logo&&(t.logo=yi(t.logo).map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.homepage&&(t.homepage=yi(t.homepage).map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.partOf&&(t.partOf=t.partOf.map(n=>typeof n=="string"||!n.type?this.traverseType(n,{parent:t},this.traversals.contentResource):n.type==="Canvas"?this.traverseType(n,{parent:t},this.traversals.canvas):n.type==="AnnotationCollection"?this.traverseType(n,{parent:t},this.traversals.annotationCollection):n.type==="Collection"?this.traverseType(n,{parent:t},this.traversals.collection):this.traverseType(n,{parent:t},this.traversals.contentResource))),t.start&&(xi(t.start)?t.start=this.traverseSpecificResource(t.start,"Canvas",t):t.start=this.traverseType(t.start,{parent:t},this.traversals.canvas)),t.rendering&&(t.rendering=t.rendering.map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t.supplementary&&(t.supplementary=t.supplementary.map(n=>this.traverseType(n,{parent:t},this.traversals.contentResource))),t}traverseCollectionItems(t){return t.items&&t.items.map(n=>n.type==="Collection"?this.traverseCollection(n):this.traverseManifest(n)),t}traverseCollection(t,n){return this.traverseType(this.traverseDescriptive(this.traverseNavPlace(this.traverseInlineAnnotationPages(this.traverseLinking(this.traverseLinkedCanvases(this.traverseCollectionItems(t)))))),{parent:n},this.traversals.collection)}traverseGeoJson(t,n){return this.traverseType(t,{parent:n},this.traversals.geoJson)}traverseNavPlace(t){return t.navPlace&&(t.navPlace=this.traverseGeoJson(t.navPlace,t)),t}traverseManifestItems(t){return t.items&&(t.items=t.items.map(n=>this.traverseCanvas(n))),t}traverseManifestStructures(t){return t.structures&&(t.structures=t.structures.map(n=>this.traverseRange(n))),t}traverseManifest(t,n){return this.traverseType(this._traverseManifest(t),{parent:n},this.traversals.manifest)}traverseCanvasItems(t){return t.items=(t.items||[]).map(n=>this.traverseAnnotationPage(n,t)),t}traverseInlineAnnotationPages(t){return typeof t=="string"||!t||t.annotations&&(t.annotations=t.annotations.map(n=>this.traverseAnnotationPage(n,t))),t}traverseCanvas(t,n){return this.traverseType(this._traverseCanvas(t),{parent:n},this.traversals.canvas)}traverseAnnotationPageItems(t){return t.items&&(t.items=t.items.map(n=>this.traverseAnnotation(n,t))),t}traverseAnnotationPage(t,n){return this.traverseType(this._traverseAnnotationPage(t),{parent:n},this.traversals.annotationPage)}traverseAnnotationBody(t){return Array.isArray(t.body)?t.body=t.body.map(n=>this.traverseContentResource(n,t)):t.body&&(t.body=this.traverseContentResource(t.body,t)),t}traverseLinkedCanvases(t){return t.placeholderCanvas&&(t.placeholderCanvas=this.traverseCanvas(t.placeholderCanvas)),t.accompanyingCanvas&&(t.accompanyingCanvas=this.traverseCanvas(t.accompanyingCanvas)),t}traverseAnnotation(t,n){return this.traverseType(this.traverseLinking(this.traverseAnnotationBody(this.traverseDescriptive(t))),{parent:n},this.traversals.annotation)}traverseContentResourceLinking(t){return typeof t=="string"||!t||t&&t.service&&(t.service=yi(t.service||[]).map(n=>this.traverseService(n,t))),t}traverseContentResource(t,n){return t.type==="Choice"&&(t.items=t.items.map(i=>this.traverseContentResource(i,t))),xi(t)?this.traverseSpecificResource(t,"ContentResource"):this.traverseType(this.traverseInlineAnnotationPages(this.traverseContentResourceLinking(t)),{parent:n},this.traversals.contentResource)}traverseSpecificResource(t,n,i){let r=t.source;return typeof t.source=="string"&&(r={id:t.source,type:n||"unknown"}),this.traverseType({...t,source:n==="Canvas"||r.type==="Canvas"?this.traverseType(r,{parent:i},this.traversals.canvas):n==="ContentResource"?this.traverseContentResource(r,{parent:i}):this.traverseUnknown(r,{parent:i,typeHint:n})},{parent:i},this.traversals.specificResource)}traverseRangeRanges(t){return t.items&&(t.items=t.items.map(n=>typeof n=="string"?this.traverseCanvas({id:n,type:"Canvas"},t):xi(n)?this.traverseSpecificResource(n,"Canvas",t):n.type==="Manifest"?this.traverseManifest(n,t):this.traverseRange(n,t))),t}traverseRange(t,n){return this.traverseType(this._traverseRange(t),{parent:n},this.traversals.range)}traverseAgent(t,n){return this.traverseType(this.traverseDescriptive(this.traverseLinking(t)),{parent:n},this.traversals.agent)}traverseType(t,n,i){return i.reduce((r,s)=>{let l=s(r,n);return l===void 0&&!this.options.allowUndefinedReturn?r:l},t)}traverseService(t,n){let i=Object.assign({},t);return i&&i.service&&(i.service=yi(i.service).map(r=>this.traverseService(r))),this.traverseType(i,{parent:n},this.traversals.service)}traverseUnknown(t,{parent:n,typeHint:i}={}){let r=Qx(t,i);switch(r){case"Collection":return this.traverseCollection(t,n);case"Manifest":return this.traverseManifest(t,n);case"Canvas":return this.traverseCanvas(t,n);case"AnnotationPage":return this.traverseAnnotationPage(t,n);case"Annotation":return this.traverseAnnotation(t,n);case"ContentResource":return this.traverseContentResource(t,n);case"Range":return this.traverseRange(t,n);case"Service":return this.traverseService(t,n);case"Agent":return this.traverseAgent(t,n);default:throw Error(`Unknown or unsupported resource type of ${r}`)}}};var ip="http://library.stanford.edu/iiif/image-api/compliance.html#level0",rp="http://library.stanford.edu/iiif/image-api/compliance.html#level1",op="http://library.stanford.edu/iiif/image-api/compliance.html#level2",sp="http://library.stanford.edu/iiif/image-api/conformance.html#level0",ap="http://library.stanford.edu/iiif/image-api/conformance.html#level1",lp="http://library.stanford.edu/iiif/image-api/conformance.html#level2",up="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",cp="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",dp="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",fp="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",hp="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",pp="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",mp="http://iiif.io/api/image/1/level0.json",gp="http://iiif.io/api/image/1/profiles/level0.json",yp="http://iiif.io/api/image/1/level1.json",vp="http://iiif.io/api/image/1/profiles/level1.json",xp="http://iiif.io/api/image/1/level2.json",Sp="http://iiif.io/api/image/1/profiles/level2.json",wp="http://iiif.io/api/image/2/level0.json",bp="http://iiif.io/api/image/2/profiles/level0.json",Rp="http://iiif.io/api/image/2/level1.json",Ep="http://iiif.io/api/image/2/profiles/level1.json",Ip="http://iiif.io/api/image/2/level2.json",Cp="http://iiif.io/api/image/2/profiles/level2.json",Pp="level0",Ap="level1",Tp="level2",Mp="http://iiif.io/api/image/2/level0",_p="http://iiif.io/api/image/2/level1",Op="http://iiif.io/api/image/2/level2",vs=[Op,op,lp,dp,pp,xp,Sp,Ip,Cp,Tp],Sc=[...vs,_p,rp,ap,cp,hp,yp,vp,Rp,Ep,Ap],kp=[Mp,_p,Op,ip,rp,op,sp,ap,lp,up,cp,dp,fp,hp,pp,mp,gp,yp,vp,xp,Sp,wp,bp,Rp,Ep,Ip,Cp,Pp,Ap,Tp],Lp=kp,Fp=[Mp,ip,sp,up,fp,mp,gp,wp,bp,Pp],Kx={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},Xx={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},Zx={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};var Jx=["sc:Collection","sc:Manifest","sc:Canvas","sc:AnnotationList","oa:Annotation","sc:Range","sc:Layer","sc:Sequence","oa:Choice","Service","ContentResource"];function PC(e){if(e==null)throw Error("Null or undefined is not a valid entity.");if(Array.isArray(e))throw Error("Array is not a valid entity");if(typeof e!="object")throw Error(`${typeof e} is not a valid entity`);if(typeof e["@type"]=="string"){let t=Jx.indexOf(e["@type"]);if(t!==-1)return Jx[t]}if(e.profile)return"Service";if(e.format||e["@type"])return"ContentResource";throw Error("Resource type is not known")}var AC=class iS{constructor(t,n={}){Vi(this,"traversals",void 0),Vi(this,"options",void 0),this.traversals={collection:[],manifest:[],canvas:[],annotationList:[],sequence:[],annotation:[],contentResource:[],choice:[],range:[],service:[],layer:[],...t},this.options={convertPropsToArray:!0,mergeMemberProperties:!0,allowUndefinedReturn:!1,...n}}static all(t){return new iS({collection:[t],manifest:[t],canvas:[t],annotationList:[t],sequence:[t],annotation:[t],contentResource:[t],choice:[t],range:[t],service:[t],layer:[t]})}traverseCollection(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseCollectionItems(t))),this.traversals.collection)}traverseCollectionItems(t){if(this.options.mergeMemberProperties){let n=[...(t.manifests||[]).map(s=>typeof s=="string"?{"@id":s,"@type":"sc:Manifest"}:s),...(t.collections||[]).map(s=>typeof s=="string"?{"@id":s,"@type":"sc:Collection"}:s),...t.members||[]],i=[],r=n.filter(s=>i.includes(s["@id"])?!1:(i.push(s["@id"]),!0));delete t.collections,delete t.manifests,t.members=r}return t.manifests&&(t.manifests=t.manifests.map(n=>this.traverseManifest(typeof n=="string"?{"@id":n,"@type":"sc:Manifest"}:n))),t.collections&&(t.collections=t.collections.map(n=>this.traverseCollection(typeof n=="string"?{"@id":n,"@type":"sc:Collection"}:n))),t.members&&(t.members=t.members.map(n=>typeof n=="string"?n:n["@type"]==="sc:Collection"?this.traverseCollection(n):n["@type"]==="sc:Manifest"?this.traverseManifest(n):this.traverseUnknown(n))),t}traverseManifest(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseManifestItems(t))),this.traversals.manifest)}traverseManifestItems(t){return t.sequences&&(t.sequences=t.sequences.map(n=>this.traverseSequence(n))),t.structures&&(t.structures=t.structures.map(n=>this.traverseRange(n))),t}traverseSequence(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseSequenceItems(t))),this.traversals.sequence)}traverseSequenceItems(t){return t.canvases&&(t.canvases=t.canvases.map(n=>this.traverseCanvas(n))),t}traverseCanvas(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseCanvasItems(t))),this.traversals.canvas)}traverseCanvasItems(t){return t.images&&(t.images=t.images.map(n=>this.traverseAnnotation(n))),t.otherContent&&(t.otherContent=t.otherContent.map(n=>this.traverseAnnotationList(n))),t}traverseRange(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseRangeItems(t))),this.traversals.range)}traverseRangeItems(t){if(this.options.mergeMemberProperties){let n=[...(t.ranges||[]).map(i=>typeof i=="string"?{"@id":i,"@type":"sc:Range"}:i),...(t.canvases||[]).map(i=>typeof i=="string"?{"@id":i,"@type":"sc:Canvas"}:i),...t.members||[]];delete t.ranges,delete t.canvases,t.members=n.length?n.map(i=>this.traverseUnknown(i)):void 0}return t}traverseAnnotationList(t){let n=typeof t=="string"?{"@id":t,"@type":"sc:AnnotationList"}:t;return this.traverseType(this.traverseDescriptive(this.traverseAnnotationListItems(n)),this.traversals.annotationList)}traverseAnnotationListItems(t){return t.resources&&(t.resources=t.resources.map(n=>this.traverseAnnotation(n))),t}traverseAnnotation(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseAnnotationItems(t))),this.traversals.annotation)}traverseAnnotationItems(t){return t.resource&&(Array.isArray(t.resource)?t.resource=t.resource.map(n=>this.traverseContentResource(n)):t.resource=this.traverseContentResource(t.resource)),t.on,t}traverseLayer(t){return this.traverseType(this.traverseLinking(this.traverseLayerItems(t)),this.traversals.layer)}traverseLayerItems(t){return t.otherContent&&(t.otherContent=t.otherContent.map(n=>this.traverseAnnotationList(n))),t}traverseChoice(t){return this.traverseType(this.traverseChoiceItems(t),this.traversals.choice)}traverseChoiceItems(t){return t.default&&t.default!=="rdf:nil"&&(t.default=this.traverseContentResource(t.default)),t.item&&t.item!=="rdf:nil"&&(t.item=t.item.map(n=>this.traverseContentResource(n))),t}traverseService(t){return this.traverseType(this.traverseLinking(t),this.traversals.service)}traverseContentResource(t){return t["@type"]==="oa:Choice"?this.traverseChoice(t):this.traverseType(this.traverseDescriptive(this.traverseLinking(t)),this.traversals.contentResource)}traverseUnknown(t){if(!t["@type"]||typeof t=="string")return t;switch(PC(t)){case"sc:Collection":return this.traverseCollection(t);case"sc:Manifest":return this.traverseManifest(t);case"sc:Canvas":return this.traverseCanvas(t);case"sc:Sequence":return this.traverseSequence(t);case"sc:Range":return this.traverseRange(t);case"oa:Annotation":return this.traverseAnnotation(t);case"sc:AnnotationList":return this.traverseAnnotationList(t);case"sc:Layer":return this.traverseLayer(t);case"Service":return this.traverseService(t);case"oa:Choice":return this.traverseChoice(t);case"ContentResource":return this.traverseContentResource(t)}return t.profile?this.traverseService(t):t}traverseImageResource(t){let n=Array.isArray(t),i=Array.isArray(t)?t:[t],r=[];for(let s of i)typeof s=="string"?r.push(this.traverseContentResource({"@id":s,"@type":"dctypes:Image"})):r.push(this.traverseContentResource(s));return!n&&!this.options.convertPropsToArray?r[0]:r}traverseDescriptive(t){return t.thumbnail&&(t.thumbnail=this.traverseImageResource(t.thumbnail)),t.logo&&(t.logo=this.traverseImageResource(t.logo)),t}traverseOneOrMoreServices(t){let n=Array.isArray(t),i=Array.isArray(t)?t:[t],r=[];for(let s of i)r.push(this.traverseService(s));return!n&&!this.options.convertPropsToArray?r[0]:r}traverseLinking(t){return t.related&&(t.related=this.traverseOneOrManyType(t.related,this.traversals.contentResource)),t.rendering&&(t.rendering=this.traverseOneOrManyType(t.rendering,this.traversals.contentResource)),t.service&&(t.service=this.traverseOneOrMoreServices(t.service)),t.seeAlso&&(t.seeAlso=this.traverseOneOrManyType(t.seeAlso,this.traversals.contentResource)),t.within&&(typeof t.within=="string"||(t.within=this.traverseOneOrManyType(t.within,this.traversals.contentResource))),t.startCanvas&&(typeof t.startCanvas=="string"?t.startCanvas=this.traverseType({"@id":t.startCanvas,"@type":"sc:Canvas"},this.traversals.canvas):t.startCanvas&&this.traverseType(t.startCanvas,this.traversals.canvas)),t.contentLayer&&(typeof t.contentLayer=="string"?t.contentLayer=this.traverseLayer({"@id":t.contentLayer,"@type":"sc:Layer"}):t.contentLayer=this.traverseLayer(t.contentLayer)),t}traverseOneOrManyType(t,n){if(!Array.isArray(t))if(this.options.convertPropsToArray)t=[t];else return this.traverseType(t,n);return t.map(i=>this.traverseType(i,n))}traverseType(t,n){return n.reduce((i,r)=>{let s=r(i);return s===void 0&&!this.options.allowUndefinedReturn?i:s},t)}},TC=["http://iiif.io/api/image/2/level1","http://iiif.io/api/image/2/level2","http://library.stanford.edu/iiif/image-api/compliance.html#level1","http://library.stanford.edu/iiif/image-api/compliance.html#level2","http://library.stanford.edu/iiif/image-api/conformance.html#level1","http://library.stanford.edu/iiif/image-api/conformance.html#level2","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1","http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2","http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1","http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2","http://iiif.io/api/image/1/level1.json","http://iiif.io/api/image/1/profiles/level1.json","http://iiif.io/api/image/1/level2.json","http://iiif.io/api/image/1/profiles/level2.json","http://iiif.io/api/image/2/level1.json","http://iiif.io/api/image/2/profiles/level1.json","http://iiif.io/api/image/2/level2.json","http://iiif.io/api/image/2/profiles/level2.json","level1","level2"],zp={attributionLabel:"Attribution",lang:"none",providerId:"http://example.org/provider",providerName:""};function MC(e){if(typeof e=="string")return[e];if(!e)return[];let t=Array.isArray(e)?e:[e],n=[];for(let i of t){if(typeof i=="string"){n.push(i);continue}n.push({"@language":i["@language"]||i.language,"@value":i["@value"]||i.value})}return n}function po(e,t="none"){if(!e)return{none:[""]};let n=MC(e),i={};for(let r of n){if(typeof r=="string"){i[t]=i[t]?i[t]:[],i[t].push(r||"");continue}if(!r["@language"]){i[t]=i[t]?i[t]:[],i[t].push(r["@value"]||"");continue}let s=r["@language"];i[s]=i[s]?i[s]:[],i[s].push(r["@value"]||"")}return Object.keys(i).length===0?{none:[""]}:i}function rS(e){if(Array.isArray(e))return rS(e.find(t=>typeof t=="string"));if(vs.indexOf(e)!==-1)return"level2";if(TC.indexOf(e)!==-1)return"level1";if(Lp.indexOf(e)!==-1)return"level0";if(typeof e=="string")return e}function _C(e){let t=Array.isArray(e)?e:[e];for(let n of t)switch(n){case"http://iiif.io/api/image/2/context.json":case"http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2":return"ImageService2";case"http://iiif.io/api/image/1/context.json":case"http://library.stanford.edu/iiif/image-api/1.1/context.json":return"ImageService1";case"http://iiif.io/api/annex/openannotation/context.json":return"ImageApiSelector"}}function OC(e){switch(e){case"http://iiif.io/api/image/2/level0.json":case"http://iiif.io/api/image/2/level1.json":case"http://iiif.io/api/image/2/level2.json":return"ImageService2";case"http://iiif.io/api/auth/1/kiosk":case"http://iiif.io/api/auth/1/login":case"http://iiif.io/api/auth/1/clickthrough":case"http://iiif.io/api/auth/1/external":case"http://iiif.io/api/auth/0/kiosk":case"http://iiif.io/api/auth/0/login":case"http://iiif.io/api/auth/0/clickthrough":case"http://iiif.io/api/auth/0/external":return"AuthCookieService1";case"http://iiif.io/api/auth/1/token":case"http://iiif.io/api/auth/0/token":return"AuthTokenService1";case"http://iiif.io/api/auth/1/logout":case"http://iiif.io/api/auth/0/logout":return"AuthLogoutService1";case"http://iiif.io/api/search/1/search":case"http://iiif.io/api/search/0/search":return"SearchService1";case"http://iiif.io/api/search/1/autocomplete":case"http://iiif.io/api/search/0/autocomplete":return"AutoCompleteService1"}}function eS(e){for(let t of["sc","oa","dcterms","dctypes","iiif"])if(e.startsWith(`${t}:`))return e.slice(t.length+1);return e}var kC=["Collection","Manifest","Annotation","AnnotationPage","Range","Service"];function Bp(e){let t=e["@id"]||e.id,n=e["@type"]||e.type,i=e.profile||void 0,r=e["@context"]||void 0;if(i){let s=OC(i);if(s)return s}if(r){let s=_C(r);if(s)return s}if(n){if(Array.isArray(n)){if(n.indexOf("oa:CssStylesheet")!==-1)return"CssStylesheet";if(n.indexOf("cnt:ContentAsText")!==-1)return"TextualBody";n=n[0]}for(let s of["sc","oa","dcterms","dctypes","iiif"])if(n.startsWith(`${s}:`)){n=n.slice(s.length+1);break}switch(n){case"Layer":return"AnnotationCollection";case"AnnotationList":return"AnnotationPage";case"cnt:ContentAsText":return"TextualBody"}}if(n&&kC.indexOf(n)!==-1)return n;if(e.format){if(e.format.startsWith("image/"))return"Image";if(e.format.startsWith("text/")||e.format==="application/pdf")return"Text";if(e.format.startsWith("application/"))return"Dataset"}return t&&(t.endsWith(".jpg")||t.endsWith(".png")||t.endsWith(".jpeg"))?"Image":n||"unknown"}var LC=/http(s)?:\/\/(creativecommons.org|rightsstatements.org)[^"'\\<\n]+/gm;function FC(e){let t=e.match(LC);return t?t[0]:e}function NC(e,t="Rights/License",n="none"){let i=null,r=[],s=Array.isArray(e)?e:[e];for(let l of s){let u=l?FC(l):void 0;if(u&&(u.indexOf("creativecommons.org")!==-1||u.indexOf("rightsstatements.org")!==-1)){i=u.startsWith("https://")?`http://${u.slice(8)}`:u;continue}u&&r.push({label:{[n]:[t]},value:{[n]:[u]}})}return[i,r]}var zC=["http://iiif.io/api/presentation/2/context.json","http://iiif.io/api/image/2/context.json","http://iiif.io/api/image/1/context.json","http://library.stanford.edu/iiif/image-api/1.1/context.json","http://iiif.io/api/search/1/context.json","http://iiif.io/api/search/0/context.json","http://iiif.io/api/auth/1/context.json","http://iiif.io/api/auth/0/context.json","http://iiif.io/api/annex/openannotation/context.json"];function DC(e){if(e){let t=Array.isArray(e)?e:[e],n=[];for(let i of t)i==="http://iiif.io/api/presentation/2/context.json"&&n.push("http://iiif.io/api/presentation/3/context.json"),zC.indexOf(i)===-1&&n.push(i);if(t.length)return n.length===1?n[0]:n}}function BC(e){return e?e.map(t=>({label:po(t.label),value:po(t.value)})):[]}var tS=0;function oS(e,t){let n=encodeURI(e.id||e["@id"]||"").trim();return n&&t?`${n}/${t}`:n||(tS++,`http://example.org/${e["@type"]}${t?`/${t}`:""}/${tS}`)}function tr(e){let t=[...e.behavior||[]];e.viewingHint&&t.push(e.viewingHint);let n;return Array.isArray(e.motivation)?n=e.motivation.map(eS):e.motivation&&(n=eS(e.motivation)),{"@context":e["@context"]?DC(e["@context"]):void 0,id:(e["@id"]||oS(e)).trim(),type:Bp(e),behavior:t.length?t:void 0,height:e.height?e.height:void 0,width:e.width?e.width:void 0,motivation:n,viewingDirection:e.viewingDirection,profile:e.profile,format:e.format?e.format:void 0,duration:void 0,timeMode:void 0}}function nr(e){let[t,n]=NC(e.license),i=[...e.metadata?BC(e.metadata):[],...n];return{rights:t,metadata:i.length?i:void 0,label:e.label?po(e.label):void 0,requiredStatement:e.attribution?{label:po(zp.attributionLabel),value:po(e.attribution)}:void 0,navDate:e.navDate,summary:e.description?po(e.description):void 0,thumbnail:VC(e.thumbnail)}}function VC(e){return e&&(Array.isArray(e)?e:[e]).map(n=>typeof n=="string"?{id:n,type:"Image"}:(n.type==="unknown"&&(n.type="Image"),n))}function jC(e){if(!e.within)return;let t=Array.isArray(e.within)?e.within:[e.within],n=[];for(let i of t)if(typeof i=="string"){if(i)switch(e["@type"]){case"sc:Manifest":n.push({id:i,type:"Collection"});break}}else i["@id"]&&n.push({id:i["@id"],type:Bp(i)});return n.length?n:void 0}function Er(e){let t=e.related?Array.isArray(e.related)?e.related:[e.related]:[],n=e.contentLayer;return{provider:e.logo||t.length?[{id:zp.providerId,type:"Agent",homepage:t.length?[t[0]]:void 0,logo:e.logo?Array.isArray(e.logo)?e.logo:[e.logo]:void 0,label:po(zp.providerName)}]:void 0,partOf:jC(e),rendering:e.rendering,seeAlso:e.seeAlso,start:e.startCanvas,service:e.service?yi(e.service):void 0,supplementary:n?[n]:void 0}}function HC(e){return{chars:e.chars,format:e.format?e.format:void 0,language:e.language}}function Np(e,t){return e?typeof e=="string"?{id:e,type:t}:typeof e?.["@id"]=="string"?{id:e["@id"],type:t}:typeof e.id=="string"?{id:e.id,type:t}:null:null}function WC(e){let t={};if(e.first){let n=Np(e.first,"Collection");n&&(t.first=n)}if((e.total||e.total===0)&&(t.total=e.total),e.prev){let n=Np(e.prev,"Collection");n&&(t.prev=n)}if(e.next){let n=Np(e.next,"Collection");n&&(t.next=n)}return t}function UC(e){let t=[];for(let n of e){let i={...n};i.items&&i.items.length===0&&delete i.items,t.push(i)}return t}function qC(e){return vi({...tr(e),...nr(e),...Er(e),...WC(e),items:UC(e.members)})}function GC(e){let t=[],n=[],i,r;for(let l of e.sequences||[])l.canvases.length&&t.push(...l.canvases),l.behavior&&n.push(...l.behavior),l.viewingDirection&&(r=l.viewingDirection),l.startCanvas&&(i=l.startCanvas);let s=tr(e);return n.length&&(s.behavior?s.behavior.push(...n):s.behavior=n),vi({...s,...nr(e),...Er(e),viewingDirection:r,start:i,items:t,structures:$C(e.structures)})}function $C(e){if(!e)return e;let t=new Map;for(let i of e)t.set(i.id,i);let n=[];for(let i of e)if(i.items){let r=i.items.map(s=>typeof s=="string"?(n.push(s),t.get(s)||s):s&&s.id?(n.push(s.id),t.get(s.id)||s):s);i.items=r}return e.filter(i=>n.indexOf(i.id)===-1)}function QC(e){return vi({...tr(e),...nr(e),...Er(e),annotations:e.otherContent&&e.otherContent.length?e.otherContent:void 0,items:e.images&&e.images.length?[{id:oS(e,"annotation-page"),type:"AnnotationPage",items:e.images}]:void 0})}function YC(e){return vi({...tr(e),...nr(e),...Er(e),items:e.resources&&e.resources.length?e.resources:void 0})}function KC(e){return!e.canvases||e.canvases.length===0?{canvases:[],behavior:[]}:{canvases:e.canvases,behavior:e.viewingHint?[e.viewingHint]:[],viewingDirection:e.viewingDirection,startCanvas:e.startCanvas}}function XC(e){function t(n){if(Array.isArray(n)){if(n.length>1)return{type:"List",items:n.map(t)};n=n[0]}if(typeof n=="string")return encodeURI(n).trim();if("@type"in n){let i;if(typeof n.full=="string")i=n.full;else if(n.full["@type"]==="dctypes:Image")i={id:n.full["@id"],type:"Image"};else if(n.full["@type"]==="sc:Canvas")i={id:n.full["@id"],type:"Canvas"};else throw Error(`Unsupported source type on annotation: ${n.full["@type"]}`);return{type:"SpecificResource",source:i,selector:Dp(n.selector)}}else return encodeURI(n["@id"]).trim()}return vi({...tr(e),...nr(e),...Er(e),target:t(e.on),body:Array.isArray(e.resource)?e.resource.map(nS):nS(e.resource)})}function nS(e){return e.type==="Choice"?e:sS(e)}function sS(e){let t=e;return vi({...tr(t),...nr(t),...Er(t),...HC(t)})}function ZC(e){let t=[];return e.default&&e.default!=="rdf:nil"&&t.push(e.default),e.item&&e.item!=="rdf:nil"&&t.push(...e.item),vi({...tr(e),...nr(e),items:t})}function JC(e){return vi({...tr(e),...nr(e),...Er(e),items:e.members})}function eP(e){let{"@id":t,"@type":n,"@context":i,profile:r,...s}=e,l={};return t&&(l["@id"]=t),l["@type"]=Bp(e),l["@type"]==="unknown"&&(i&&i.length&&(l["@context"]=i),l["@type"]="Service"),r&&(l.profile=rS(r)),vi({...l,...s})}function tP(e){return vi({...tr(e),...nr(e),...Er(e)})}var nP=new AC({collection:[qC],manifest:[GC],canvas:[QC],annotationList:[YC],sequence:[KC],annotation:[XC],contentResource:[sS],choice:[ZC],range:[JC],service:[eP],layer:[tP]});function aS(e){return e&&e["@context"]&&(e["@context"]==="http://iiif.io/api/presentation/2/context.json"||e["@context"].indexOf("http://iiif.io/api/presentation/2/context.json")!==-1||e["@context"]==="http://www.shared-canvas.org/ns/context.json")||e["@context"]==="http://iiif.io/api/image/2/context.json"||e["@id"]&&e["@type"]==="sc:Collection"||e["@id"]&&e["@type"]==="sc:Manifest"?(e["@context"]||(e["@context"]="http://iiif.io/api/presentation/2/context.json"),nP.traverseUnknown(e)):e}function Dp(e){if((Array.isArray(e["@type"])&&e["@type"].includes("oa:SvgSelector")||e["@type"]=="oa:SvgSelector")&&("chars"in e||"value"in e))return{type:"SvgSelector",value:"chars"in e?e.chars:e.value};if(e["@type"]==="oa:FragmentSelector")return{type:"FragmentSelector",value:e.value};if(e["@type"]==="oa:Choice")return[Dp(e.default),...(Array.isArray(e.item)?e.item:[e.item]).map(Dp)];if(e["@type"]=="iiif:ImageApiSelector")return{type:"ImageApiSelector",region:"region"in e?e.region:void 0,rotation:"rotation"in e?e.rotation:void 0};throw Error(`Unsupported selector type: ${e["@type"]}`)}function ja(e,t){let n=t||"unknown";if(!e)return;if(typeof e=="string")return{id:e,type:n};if(xi(e))return ja(e.source,t);let i=n&&n!=="unknown"?n:e.type||e["@type"],r=e.id||e["@id"];if(i&&i.indexOf(":")!==-1&&(i=i.split(":").pop()),r&&i)return{id:r,type:i}}var Ss={},St="iiif-parser:hasPart",Nn="iiif-parser:partOf",ws="iiif-parser:isExternal",ii="__$UNSET$__",Hp="__$UNWRAP$__",we=[];Object.freeze(we),Object.freeze(Ss);function cS(e){if(e===Ss||Object.keys(e).length===0)return!0;for(let t in e)return!1;return!0}function Rs(e,t){if(t&&t["@explicit"]){let n={},i=Object.keys(t);for(let r of i)r===Nn||r==="@explicit"||(cS(t[r])?n[r]=e[r]:n[r]=t[r]);return n}return e}function Wp(e,t,n){let i=ja(t);if(!i)return[void 0,void 0];let r=e.requests[i.id],s=i.type||e.mapping[i.id];if(!s||r&&r.resourceUri&&(!e.entities[s]||!e.entities[s][r.resourceUri]))return[void 0,void 0];let l=e.entities[s][r?r.resourceUri:i.id];if(i.type&&!l)return Wp(e,{id:i.id},n);if(l&&l[St]){let u=l[St].find(p=>n?p[Nn]===n.id:p[Nn]===l.id);return[Rs(l,u),l]}return[l,l]}var dS={id:"https://iiif-parser/annotation-page",type:"AnnotationPage",behavior:we,label:null,thumbnail:we,summary:null,requiredStatement:null,metadata:we,rights:null,provider:we,items:we,seeAlso:we,homepage:we,rendering:we,service:we},fS={id:"https://iiif-parser/empty-canvas",type:"Canvas",label:null,behavior:we,thumbnail:we,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:we,rights:null,navDate:null,provider:we,items:we,annotations:we,seeAlso:we,homepage:we,partOf:we,rendering:we,service:we,duration:0,height:0,width:0},hS={id:"https://iiif-parser/empty-collection",type:"Collection",label:null,viewingDirection:"left-to-right",behavior:we,thumbnail:we,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:we,rights:null,navDate:null,provider:we,items:we,annotations:we,seeAlso:we,homepage:we,partOf:we,rendering:we,service:we,services:we},pS={id:"https://iiif-parser/empty-manifest",type:"Manifest",annotations:we,behavior:we,homepage:we,items:we,label:null,metadata:we,navDate:null,provider:we,partOf:we,accompanyingCanvas:null,placeholderCanvas:null,rendering:we,requiredStatement:null,rights:null,seeAlso:we,service:we,services:we,start:null,structures:we,summary:null,thumbnail:we,viewingDirection:"left-to-right"},mS={id:"https://iiif-parser/empty-canvas",type:"Range",label:null,behavior:we,thumbnail:we,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:we,rights:null,navDate:null,provider:we,items:we,annotations:we,seeAlso:we,homepage:we,partOf:we,rendering:we,service:we,start:null,supplementary:null,viewingDirection:"left-to-right"},gS={id:"https://iiif-parser/empty-agent",type:"Agent",label:{},logo:we,seeAlso:we,homepage:we},yS={id:"https://iiif-parser/empty-service",type:"UnknownService"};function jp(e,t={}){if(Array.isArray(e))return jp(e[0]);if(typeof e=="string"){let[n,i]=e.split("#");return i?{type:"SpecificResource",source:{id:n,type:t.typeHint||"Unknown"},selector:{type:"FragmentSelector",value:i}}:{type:"SpecificResource",source:{id:n,type:t.typeMap&&t.typeMap[n]||t.typeHint||"Unknown"}}}if(e.type==="Choice"||e.type==="List"||e.type==="Composite"||e.type==="Independents")return jp(e.items[0]);if(!e.type&&"source"in e&&(e.type="SpecificResource"),e.type==="SpecificResource")return e.source.type==="Canvas"&&e.source.partOf&&typeof e.source.partOf=="string"&&(e.source.partOf=[{id:e.source.partOf,type:"Manifest"}]),e.selector?{type:"SpecificResource",source:e.source,selector:e.selector}:{type:"SpecificResource",source:e.source};if(e.id){e.type==="Canvas"&&e.partOf&&typeof e.partOf=="string"&&(e.partOf=[{id:e.partOf,type:"Manifest"}]);let[n,i]=e.id.split("#");return i?{type:"SpecificResource",source:{...e,id:n},selector:{type:"FragmentSelector",value:i}}:{type:"SpecificResource",source:{...e,id:n}}}return{type:"SpecificResource",source:e}}function vS(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}function xS(e,t){if(typeof e=="string")return{id:e,type:t};if(!e.id)throw Error(`Invalid resource does not have an ID (${JSON.stringify(e)}, ${t})`);return e}function iP(e,t){return(n,i)=>{let r=e[n]?e[n]:{};return(s,l)=>{let u=xS(s,i||n);return u&&u.id&&n?(r[u.id]=r[u.id]?Rc(r[u.id],u,{parent:l.parent,isTopLevel:t.id===u.id}):Rc({id:u.id,type:u.type},u,{parent:l.parent,isTopLevel:t.id===u.id}),{id:u.id,type:n==="ContentResource"?n:u.type}):u}}}function bc(e,t,n){if(!t)return e;if(Array.isArray(e)){if(!Array.isArray(t))throw Error("Cannot merge array with non-array");let i=[...e];for(let r of t)if(r["@id"]&&!r.id&&(r.id=r["@id"]),r["@type"]&&!r.type&&(r.type=r["@type"]),r!=null)if(Array.isArray(r))i.push(r);else if(typeof r=="object"&&r.id&&r.type){let s=i.findIndex(l=>l.id===r.id&&l.type===r.type);s>=0&&(i[s]=bc(i[s],r))}else e.indexOf(r)===-1&&i.push(r);return i}else if(typeof e=="object"){if(Array.isArray(t)||typeof t!="object")throw Error("Cannot merge object with non-object");let i={...e},r=[],s=[],l=Object.keys(e).filter(p=>p!==St&&p!=="id"&&p!=="type"),u={},f={};for(let[p,c]of Object.entries(t)){if(p===St||p==="id"||p==="type")continue;let m=i[p];m===c?s.push(p):m===we||!m?(r.push(p),i[p]=c):(m&&c&&(u[p]=m,f[p]=c),i[p]=bc(m,c),i[p]===u[p]&&(s.push(p),delete u[p]))}if(n&&(n.parent&&n.parent.id||n.isTopLevel)){let p=[],c={};if(n.parent?c[Nn]=n.parent.id:n.isTopLevel&&(c[Nn]=e.id),i[St]&&i[St].length){let m=!(i[St]||[]).find(w=>w["@explicit"]),y=r.length>0||s.length!==l.length;if(m&&y)for(let w of i[St]){let v={...w},S=Object.keys(u);if(v){v["@explicit"]=!0;for(let E of l)E!==St&&(v[E]=Ss);for(let E of S)v[E]=u[E]}p.push(v)}else p.push(...i[St]);if(y){let w=Object.keys(f);c["@explicit"]=!0;for(let v of r)c[v]=Ss;for(let v of s)c[v]=Ss;for(let v of w)c[v]=f[v]}}c.id=i.id,c.type=i.type,p.push(c),i[St]=p}return i}else if(e)return e;return t}function Rc(e,t,n){if(typeof e=="string")return e;if(t.id!==e.id||t.type!==e.type){if(t.type==="ImageService3")return t;if(e.type==="ImageService3")return e;throw Error(`Can only merge entities with identical identifiers and type! ${t.type}(${t.id}) => ${e.type}(${e.id})`)}return bc({...e},t,n)}function rP(e){return(t,n)=>i=>{let{id:r,type:s}=xS(i,n||t);if(r===void 0)throw Error("Found invalid entity without an ID.");return t==="ContentResource"||t==="Service"?e[r]=t:e[r]=s,i}}function oP(e){let t=Object.assign({},e);if(t["@id"]&&(t.id=t["@id"]),t["@type"]&&(t.type=t["@type"]),t.service){let n=[];t.service=Array.isArray(t.service)?t.service:[t.service];for(let i of t.service)n.push({id:i["@id"]||i.id,type:i["@type"]||i.type});t.service=n}return Object.assign({},yS,t)}function sP(e){return t=>{e.Service=e.Service?e.Service:{};let n=t.id||t["@id"],i=oP(t);return i&&i.id&&(e.Service[i.id]?e.Service[n]=Rc(e.Service[n],i):e.Service[n]=i),t}}function aP(e){let t=JSON.stringify(e),n=5381,i=t.length;for(;i;)n=n*33^t.charCodeAt(--i);let r=n>>>0,s=r.toString(16);return s.length%2?"0"+s:s}function Vp(e){return t=>typeof t=="string"?{id:t,type:e}:t.id?t.type?t:{type:e,...t}:{id:`vault://${aP(t)}`,type:e,...t}}function xs(e){return t=>({...e,...t})}function Ba(e){return Array.isArray(e)?e:[e]}function lP(e){return e.body&&(e.body=Ba(e.body)),e.seeAlso&&(e.seeAlso=Ba(e.seeAlso)),e.audience&&(e.audience=Ba(e.audience)),e.accessibility&&(e.accessibility=Ba(e.accessibility)),e.motivation&&(e.motivation=Ba(e.motivation)),e}function SS(e,{typeHint:t,partOfTypeHint:n}={}){if(typeof e=="string"&&(e={id:e,type:t||"unknown"}),xi(e))return typeof e.source=="string"&&(e.source={id:e.source,type:t||"unknown"}),e.source.type==="Canvas"&&e.source.partOf&&typeof e.source.partOf=="string"&&(e.source.partOf=[{id:e.source.partOf,type:n||"Manifest"}]),e;let i;if((e.id||"").indexOf("#")!==-1){let[r,s]=(e.id||"").split("#");e.id=r,s&&(i={type:"FragmentSelector",value:s})}return{type:"SpecificResource",source:e,selector:i}}function uP(e){let t=Object.assign({},e);return e&&e.items&&(t.items=e.items.map(n=>typeof n=="string"||n.type==="Canvas"?SS(n):n)),t}function cP(e){let t=Object.assign({},e);return t.start?(t.start=SS(t.start,{typeHint:"Canvas"}),t):e}function dP(e){let t=Object.assign({},e);return t.target?(t.target=jp(t.target,{typeHint:"Canvas"}),t):e}function wS(e){return e}function wc(e){return e.items===void 0&&(e[ws]=!0),e}function Up(e){let t=aS(e),n=vS(),i={},r=iP(n,t),s=rP(i),l=new np({collection:[wc,xs(hS),s("Collection"),r("Collection")],manifest:[wc,xs(pS),cP,s("Manifest"),r("Manifest")],canvas:[xs(fS),s("Canvas"),r("Canvas")],annotationPage:[wc,Vp("AnnotationPage"),xs(dS),s("AnnotationPage"),r("AnnotationPage")],annotation:[Vp("Annotation"),lP,dP,s("Annotation"),r("Annotation")],contentResource:[Vp("ContentResource"),s("ContentResource"),r("ContentResource")],range:[xs(mS),uP,s("Range","Canvas"),r("Range","Canvas")],agent:[xs(gS),s("Agent"),r("Agent")],specificResource:[wS],service:[sP(n)]}),u=l.traverseUnknown(t);return{entities:n,resource:u,mapping:i}}function bS(e){let t={};for(let[n,i]of e){if(n===Hp&&i!==ii)return i;i!==ii&&i!=null&&(t[n]=i)}return t}function qp(e,t,n){if(!t.type||!t.id)throw Error("Unknown entity");if(!n[t.type])throw Error(`Serializer not found for ${t.type}`);function i(r,s,l=0){let u=n[r.type];if(!u)return ii;if(l>20)throw Error("Circular reference: "+r.id+" "+r.type);let[f,p]=Wp(e,r.type?r:r.id,s)||(r.id&&r.type?r:null);if(!f)return ii;let c=u(f,e,{parent:s,isTopLevel:t.id===r.id,fullResource:p}),m=c.next();for(;!m.done;){let y=m.value,w=ii;if(y)if(Array.isArray(y)){let v=[];for(let S of y)v.push(i(S,r,l+1));w=v}else w=i(y,r,l+1);m=c.next(w)}return m.value===ii?ii:bS(m.value)}return i(t)}function bs(e,{allowSourceString:t=!0,allowString:n=!1,allowedStringType:i}={}){let r=s=>{if(t&&s&&s.source&&typeof s.source!="string"){let l=Object.keys(s.source);if(s.source.id&&s.source.type&&l.length===2)return{...s,source:s.source.id}}return s};if(e){if(e.source&&e.source.partOf)return r(e);let s=Object.keys(e);if(s.length===2&&e.type&&e.source||s.length===3&&e.type&&e.source&&s.indexOf("selector")!==-1&&!e.selector)return n&&(!i||i===e.source.type)?e.source.id:e.source.type==="ContentResource"?{type:"SpecificResource",source:e.source.id}:e.source;if(e.selector&&!Array.isArray(e.selector)&&typeof e.selector!="string"&&e.selector.type==="FragmentSelector"){let l=`${e.source.id}#${e.selector.value}`;return n?l:{id:l,type:e.source.type}}}return r(e)}function vo(e){if(!e)return;let t=Object.keys(e);if(t.length!==0){if(t.length===1){let n=t[0];if(!n)return"";let i=(e[n]||[]).join("");return n==="@none"||n==="none"||n==="en"?i:{"@language":n,"@value":i}}return t.map(n=>({"@language":n,"@value":(e[n]||[]).join("")}))}}function RS(e){return Array.isArray(e)?e.map(t=>RS(t)):typeof e=="string"?e:e.type&&e.type==="Canvas"?e.id:e}function Pr(e,t=!1){if(e)return e.length>1&&!t?e:e[0]||void 0}function fP(e){if(e){if(typeof e=="string")return{"@id":e};if("@id"in e){let t={...e};return delete t["@type"],t}return{"@context":"http://iiif.io/api/image/2/context.json","@id":e.id,profile:`http://iiif.io/api/image/2/profiles/${e.profile}.json`}}}function mo(e,t){return[["@id",e.id],["@type",t],["format",e.format],["height",e.height],["width",e.width],["viewingDirection",e.viewingDirection==="left-to-right"?void 0:e.viewingDirection],["license",e.license?e.license:void 0]]}function*go(e){let t=e.provider?yield e.provider[0]:void 0;return[["label",vo(e.label)],["metadata",e.metadata&&e.metadata.length?e.metadata.map(n=>({label:vo(n.label)||"",value:vo(n.value)||""})):void 0],["description",vo(e.summary)],["thumbnail",Pr(yield e.thumbnail)],["navDate",e.navDate],["logo",t?Pr(t.logo):void 0],["homepage",t?t.homepage:void 0],["attribution",e.requiredStatement?vo(e.requiredStatement.value):void 0]]}function*Va(e){let t=e.start&&e.start.type&&e.start.type==="SpecificResource"?bs(e.start):e.start;return[["seeAlso",Pr(yield e.seeAlso)],["service",Pr((e.service||[]).map(fP))],["rendering",Pr(yield e.rendering)],["startCanvas",t?t.id:void 0]]}function hP(e){return e.type==="SpecificResource"}function pP(e){return e&&e.type==="FragmentSelector"}function mP(e){if(e&&hP(e)){let t=e.id,n=e.selector?Array.isArray(e.selector)?e.selector[0]:e.selector:void 0;return pP(n)&&(t+="#"+n.value),t}return e?.id}var Gp={Manifest:function*(e,t,{isTopLevel:n}){return[...n?[["@context","http://iiif.io/api/presentation/2/context.json"]]:[],...mo(e,"sc:Manifest"),...yield*go(e),...yield*Va(e),["sequences",[{"@id":`${e.id}/sequence0`,"@type":"sc:Sequence",canvases:yield e.items}]],["structures",yield e.structures]]},Canvas:function*(e){let t=yield e.items,n=t[0];return[...mo(e,"sc:Canvas"),...yield*go(e),...yield*Va(e),["images",n?[n.resources]:void 0],["annotations",e.annotations&&e.annotations.length?Pr(yield e.annotations):void 0]]},AnnotationPage:function*(e){return[...mo(e,"sc:AnnotationList"),...yield*go(e),["resources",e.items&&e.items.length?Pr(yield e.items):void 0]]},Annotation:function*(e){return[["@id",e.id],["@type","oa:Annotation"],["motivation","sc:painting"],["on",RS(e.target)],["resource",Pr(yield e.body,!0)]]},ContentResource:function*(e){switch(e.type){case"Image":return[...mo(e,"dctypes:Image"),...yield*go(e),...yield*Va(e)];case"Text":case"Dataset":default:return[...mo(e,void 0),...yield*go(e)]}},AnnotationCollection:function*(e){return[["@id",e.id],["@type","sc:Layer"],["label",vo(e.label)]]},Collection:function*(e){return[...mo(e,"sc:Collection"),...yield*go(e),...yield*Va(e),["members",yield*e.items]]},Range:function*(e){let t=[],n=[];if(e.items)for(let i of e.items){let r=i.type==="SpecificResource"?i.source:i;if(r){let s=yield r;t.push({"@id":mP(i),"@type":r.type,label:s?s.label:void 0,within:e.id}),r.type==="Canvas"&&n.push(r.id)}}return[...mo(e,"sc:Range"),...yield*go(e),...yield*Va(e),["canvases",n.length===t.length?n:void 0],["members",n.length===t.length?void 0:t]]}};function yo(e){return[["id",e.id?.startsWith("vault://")?void 0:e.id],["type",e.type],["format",e.format],["profile",e.profile],["height",e.height||void 0],["width",e.width||void 0],["duration",e.duration||void 0],["viewingDirection",e.viewingDirection==="left-to-right"?void 0:e.viewingDirection],["behavior",e.behavior&&e.behavior.length?e.behavior:void 0],["timeMode",e.timeMode],["motivation",Array.isArray(e.motivation)?e.motivation[0]:e.motivation],[St,ii]]}function Mt(e){if(e===ii||!e||e.length===0)return;let t=e.filter(n=>n!==ii);if(t.length!==0)return t}function ES(e){if(e&&e.type&&e.type==="ImageService2"){let{id:t,type:n,profile:i,...r}=e,s=typeof i=="string"?i:Array.isArray(i)?i.find(l=>typeof l=="string"):"";return{"@id":t,"@type":n,profile:s?s.startsWith("http")?s:`http://iiif.io/api/image/2/${s}.json`:"http://iiif.io/api/image/2/level0.json",...r}}return e}function lS(e){if(Array.isArray(e)||(e=e?[e]:[]),!(!e||e.length===0))return e.map(ES)}function*Ir(e){return[["label",e.label],["metadata",Mt(e.metadata)],["summary",e.summary],["requiredStatement",e.requiredStatement],["rights",Array.isArray(e.rights)?e.rights[0]||void 0:e.rights||void 0],["navDate",e.navDate],["language",e.language],["thumbnail",Mt(yield e.thumbnail)],["placeholderCanvas",yield e.placeholderCanvas],["accompanyingCanvas",yield e.accompanyingCanvas],["provider",Mt(yield e.provider)]]}function*Cr(e,t){let n=[];for(let i of e.partOf||[])i.type==="Manifest"&&t.type==="Manifest"||n.push(yield i);return[["seeAlso",Mt(yield e.seeAlso)],["service",Mt(lS(e.service))],["services",Mt(lS(e.services))],["rendering",Mt(yield e.rendering)],["supplementary",Mt(yield e.supplementary)],["homepage",Mt(yield e.homepage)],["logo",Mt(yield e.logo)],["partOf",Mt(n)],["start",e.start?bs(e.start):e.start]]}var $p={Manifest:function*(e,t,{isTopLevel:n}){if(!n)return[...yo(e),...yield*Ir(e),["navPlace",e.navPlace]];let i="http://iiif.io/api/presentation/3/context.json";return(e.navPlace||uS(e))&&(i=["http://iiif.io/api/presentation/3/context.json","http://iiif.io/api/extension/navplace/context.json"]),[["@context",e["@context"]?e["@context"]:i],...yo(e),...yield*Ir(e),...yield*Cr(e),["items",yield e.items],["structures",Mt(yield e.structures)],["annotations",Mt(yield e.annotations)],["navPlace",e.navPlace]]},Canvas:function*(e,t,{parent:n}){return n&&n.type!=="Manifest"&&n.type!=="Canvas"?[["id",e.id]]:[...yo(e),...yield*Ir(e),...yield*Cr(e,n),["items",yield e.items],["annotations",Mt(yield e.annotations)],["navPlace",e.navPlace]]},Agent:function*(e){return[["id",e.id],["type","Agent"],["label",e.label],...yield*Cr(e)]},AnnotationPage:function*(e){let t=Object.entries(e).map(([i,r])=>[i,Array.isArray(r)?Mt(r):r]).filter(([i,r])=>i!=="items"&&i!=="id"&&i!==St&&i!==Nn&&i!==ws),n=yield e.items;return[["id",e.id?.startsWith("vault://")?void 0:e.id],...t,...yield*Cr(e),["items",n.length||e[ws]===!1?n:ii]]},Service:function*(e){return[[Hp,ES(e)]]},Annotation:function*(e){let t=Object.entries(e).map(([i,r])=>i==="motivation"?[i,Array.isArray(r)?r[0]:r]:i==="target"?[i,bs(r,{allowString:!0,allowSourceString:!0,allowedStringType:"Canvas"})]:[i,Array.isArray(r)?Mt(r):r]).filter(([i])=>i!=="body"&&i!==St&&i!==ws),n;if(Array.isArray(e.body)){let i=[];for(let r of e.body)if(r&&xi(r)){let s={...r};r.source.type==="Canvas"?s.source=r.source:s.source=yield r.source,i.push(bs(s,{allowSourceString:!0}))}else i.push(yield r);n=i}else e.body&&xi(e.body)?(n={...e.body},n.source=yield e.body.source):n=yield e.body;return[...t,...yield*Ir(e),...yield*Cr(e),["body",n.length===1?n[0]:n]]},ContentResource:function*(e){return gP([...yo(e),...yield*Ir(e),...yield*Cr(e),["annotations",Mt(yield e.annotations)],["items",Mt(yield e.items)]],e)},AnnotationCollection:function*(e){return[["id",e.id],["type","AnnotationCollection"],["label",e.label]]},Collection:function*(e,t,{isTopLevel:n}){if(n){let i="http://iiif.io/api/presentation/3/context.json";return(e.navPlace||uS(e))&&(i=["http://iiif.io/api/extension/navplace/context.json","http://iiif.io/api/presentation/3/context.json"]),[["@context",i],...yo(e),...yield*Ir(e),...yield*Cr(e),["items",Mt(yield e.items)],["navPlace",e.navPlace]]}return[...yo(e),...yield*Ir(e),["navPlace",e.navPlace]]},Range:function*(e){let t=[];for(let n of e.items)n.type==="Range"?t.push(yield n):n&&n.type==="SpecificResource"?t.push(bs(n)):t.push(n);return[...yo(e),...yield*Ir(e),...yield*Cr(e),["items",t],["annotations",Mt(yield e.annotations)],["navPlace",e.navPlace]]}};function gP(e,t){let n=Object.keys(t),i=e.map(([r])=>r);for(let r of n)r===St||r===ws||i.indexOf(r)===-1&&t[r]!==void 0&&e.push([r,t[r]]);return e}function uS(e){if(!e.items||!Array.isArray(e.items))return!1;for(let t of e.items)if(t.navPlace)return!0;return!1}var yP=(e,t)=>{let{entities:n,resource:i,mapping:r}=Up(t);if(i.id===void 0)return[za({id:e,message:"ID is not defined in resource."})];let s=[cc({entities:n}),$h({mapping:r})];return i.id!==e&&(s.push(Gh({id:e,type:i.type})),s.push(Yh({requestId:e,actualId:i.id}))),s.push(Kh({id:e})),s},IS=Number.isNaN||function(e){return typeof e=="number"&&e!==e};function vP(e,t){return!!(e===t||IS(e)&&IS(t))}function Yp(e,t){if(!Array.isArray(e)||!Array.isArray(t))return e===t;if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(!vP(e[n],t[n]))return!1;return!0}function Qp(e,t,n){let i=e.iiif.requests[t],r=e.iiif.mapping[t];if(!r||!e.iiif.entities[r][i.resourceUri])return;let s=e.iiif.entities[r][i.resourceUri];if(s&&s[St]){let l=s[St].find(u=>n?u[Nn]===n.id:u[Nn]===s.id);return Rs(s,l)}return s}function xP(e){return e&&typeof e.then=="function"}function Kp(e,t,{waitTimeout:n=30}={}){return(i,r,s)=>{let l=e.getStore(),u=l.getState(),f=u.iiif.requests[i];if(f){if(f.loadingState===ms){let c=Qp(u,i);if(c)return c}switch(f.loadingState){case ps:break;case Na:return(async()=>{let c,m=!1;try{let y=await Promise.race([new Promise((w,v)=>{m||(c=l.subscribe(()=>{let S=l.getState();if(S.iiif.requests[i].loadingState===ps){v();return}if(S.iiif.requests[i].loadingState===ms){let E=Qp(S,i);E?w(E):v()}}))}),new Promise((w,v)=>setTimeout(()=>{m=!0,v()},n*60*1e3))]);if(c&&c(),y)return y}catch{c&&c()}})()}}e.dispatch(Qh({id:i}));let p=c=>{if(!c)return;!c.id&&!c["@id"]&&(c["@type"]&&(c["@id"]=i),c.id=i);let m=yP(i,c);return e.dispatch(ys({actions:m})),Qp(l.getState(),i)};try{let c=t(i,r);return xP(c)?(async()=>{try{let m=await c;return s&&(m=s(m)),p(m)}catch(m){throw e.dispatch(za({id:i,message:m.toString()})),m}})():p(s?s(c):c)}catch(c){throw e.dispatch(za({id:i,message:c.toString()})),c}}}function Xp(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}var Es={},SP=(e,t)=>(n,i,r)=>(r.dispatch=s=>(n(l=>e(l,s),!1,s),s),r.dispatchFromDevtools=!0,{dispatch:(...s)=>r.dispatch(...s),...t}),wP=SP,em=new Map,Ec=e=>{let t=em.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([n,i])=>[n,i.getState()])):{}},bP=(e,t,n)=>{if(e===void 0)return{type:"untracked",connection:t.connect(n)};let i=em.get(n.name);if(i)return{type:"tracked",store:e,...i};let r={connection:t.connect(n),stores:{}};return em.set(n.name,r),{type:"tracked",store:e,...r}},RP=(e,t={})=>(n,i,r)=>{let{enabled:s,anonymousActionType:l,store:u,...f}=t,p;try{p=(s??(Es.env?Es.env.MODE:void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!p)return(Es.env?Es.env.MODE:void 0)!=="production"&&s&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(n,i,r);let{connection:c,...m}=bP(u,p,f),y=!0;r.setState=(S,E,R)=>{let b=n(S,E);if(!y)return b;let I=R===void 0?{type:l||"anonymous"}:typeof R=="string"?{type:R}:R;return u===void 0?(c?.send(I,i()),b):(c?.send({...I,type:`${u}/${I.type}`},{...Ec(f.name),[u]:r.getState()}),b)};let w=(...S)=>{let E=y;y=!1,n(...S),y=E},v=e(r.setState,i,r);if(m.type==="untracked"?c?.init(v):(m.stores[m.store]=r,c?.init(Object.fromEntries(Object.entries(m.stores).map(([S,E])=>[S,S===m.store?v:E.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let S=!1,E=r.dispatch;r.dispatch=(...R)=>{(Es.env?Es.env.MODE:void 0)!=="production"&&R[0].type==="__setState"&&!S&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),S=!0),E(...R)}}return c.subscribe(S=>{var E;switch(S.type){case"ACTION":if(typeof S.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return Zp(S.payload,R=>{if(R.type==="__setState"){if(u===void 0){w(R.state);return}Object.keys(R.state).length!==1&&console.error(`
12
12
  [zustand devtools middleware] Unsupported __setState action format.
13
13
  When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
14
14
  and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
15
- `);let b=R.state[u];if(b==null)return;JSON.stringify(r.getState())!==JSON.stringify(b)&&w(b);return}r.dispatchFromDevtools&&typeof r.dispatch=="function"&&r.dispatch(R)});case"DISPATCH":switch(S.payload.type){case"RESET":return w(y),u===void 0?c?.init(r.getState()):c?.init(Rc(f.name));case"COMMIT":if(u===void 0){c?.init(r.getState());return}return c?.init(Rc(f.name));case"ROLLBACK":return Kp(S.state,R=>{if(u===void 0){w(R),c?.init(r.getState());return}w(R[u]),c?.init(Rc(f.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Kp(S.state,R=>{if(u===void 0){w(R);return}JSON.stringify(r.getState())!==JSON.stringify(R[u])&&w(R[u])});case"IMPORT_STATE":{let{nextLiftedState:R}=S.payload,b=(E=R.computedStates.slice(-1)[0])?.state;if(!b)return;w(u===void 0?b:b[u]),c?.send(null,R);return}case"PAUSE_RECORDING":return v=!v}return}}),y},EP=RP,Kp=(e,t)=>{let n;try{n=JSON.parse(e)}catch(i){console.error("[zustand devtools middleware] Could not parse the received json",i)}n!==void 0&&t(n)},IP=e=>(t,n,i)=>{let r=i.subscribe;return i.subscribe=(l,u,f)=>{let h=l;if(u){let c=f?.equalityFn||Object.is,m=l(i.getState());h=v=>{let w=l(v);if(!c(m,w)){let y=m;u(m=w,y)}},f?.fireImmediately&&u(m,m)}return r(h)},e(t,n,i)},CP=IP,PP=(e={},t)=>{switch(t.type){case cc:return{...e,[t.payload.id]:t.payload.type};case dc:return{...e,...t.payload.mapping};default:return e}};function ja(e,t,n,i){return!(!e[n]||!e[n][t]||!e[n][t][i]||!Array.isArray(e[n][t][i]))}function AP(e,t){let n={},i=[];for(let[r,a]of Object.entries(e||{})){i.push(r);let l=(t||{})[r];if(!l||l.length===0){n[r]=a;continue}n[r]=l}for(let[r,a]of Object.entries(t||{}))i.indexOf(r)===-1&&(n[r]=a);return n}function be(e){return e.payload||{}}function TP(e,t,n){if(!e[t]||!Array.isArray(e[t]))return null;let i=n.index===void 0?e[t].findIndex(r=>r?Va(r)?.id===n.id:!1):n.index;return i===-1?null:{entity:e[t][i],index:i}}function ES(e,t){if(!(!t?.id||!t?.type))return e[t.type]?.[t.id]}function Xp(e,t){return e===void 0?t:e}var IS=(e=Yp(),t)=>{let n=(i,r)=>({...e,[be(t).type]:{...e[be(t).type],[be(t).id]:{...i,...r}}});switch(t.type){case tc:{if(!e[be(t).type]||!e[be(t).type][be(t).id])return e;let i=e[be(t).type][be(t).id];return typeof i=="string"?e:n(i,{[be(t).key]:be(t).value})}case nc:{if(!ja(e,be(t).id,be(t).type,be(t).key))return e;let i=e[be(t).type][be(t).id];if(typeof i=="string")return e;let r=Array.from(i[be(t).key]),[a]=r.splice(be(t).startIndex,1);return r.splice(be(t).endIndex,0,a),n(i,{[be(t).key]:r})}case Oa:{let i=be(t).subjects,r=be(t).from,a=be(t).to||r,l=ES(e,r),u=a?.key||r.key;if(!ja(e,r.id,r.type,r.key)||!ja(e,a.id,a.type,a.key))return e;let f=[],h=[];if(i.type==="slice"){let R=i.startIndex,b=i.length;f=Array.from(l[r.key]),h=f.splice(R,b)}else{let R=Array.from(l[r.key]);for(let b of i.items){let I=TP(l,r.key,b);I&&(h.push(I.entity),R[I.index]=null),f=R.filter(M=>M!==null)}}let c={...l,[r.key]:f},m={...e,[r.type]:{...e[r.type],[r.id]:c}},v=ES(m,a);if(!v)return e;let w=a?.index===void 0?v[u].length:a.index,y=Array.from(v[a.key]);y.splice(w,0,...h);let S={...v,[u]:y};return{...m,[a.type]:{...m[a.type],[a.id]:S}}}case ic:return IS(e,{type:Oa,payload:{subjects:{type:"list",items:[be(t).subject]},from:be(t).from,to:be(t).to}});case ec:{let i=Object.keys(be(t).entities),r={...e};for(let a of i){let l=be(t).entities[a],u={...e[a]||{}},f=!1,h=Object.keys(l||{})||[];if(l&&h){for(let c of h)f=!0,u[c]=e[a][c]?AP(e[a][c],l[c]):l[c];f&&(r[a]=u)}}return r}case rc:{if(!ja(e,be(t).id,be(t).type,be(t).key))return e;let i=e[be(t).type][be(t).id],r=Array.from(i[be(t).key]);return r.splice(Xp(be(t).index,r.length+1),0,be(t).reference),n(i,{[be(t).key]:r})}case ka:case oc:{if(!ja(e,be(t).id,be(t).type,be(t).key))return e;let i=e[be(t).type][be(t).id],r=Array.from(i[be(t).key]),a=Xp(be(t).index,r.findIndex(l=>l&&l.id===be(t).reference.id));return a===-1||r[a]?.id!==be(t).reference.id?e:(t.type===ka?r.splice(a,1,be(t).reference):r.splice(a,1),n(i,{[be(t).key]:r}))}case sc:{let i=e[be(t).type][be(t).id];if(!i)return e;let r=Array.from(i.metadata||[]),a=be(t);return r.splice(Xp(t.payload.beforeIndex,r.length+1),0,{label:a.label,value:a.label}),n(i,{metadata:r})}case lc:{let i=e[be(t).type][be(t).id];if(typeof i=="string"||!i)return e;let r=Array.from(i.metadata||[]),[a]=r.splice(be(t).startIndex,1);return r.splice(be(t).endIndex,0,a),n(i,{metadata:r})}case La:case ac:{let i=e[be(t).type][be(t).id],r=Array.from(i.metadata||[]),a=be(t).atIndex;return a===void 0||a===-1||!r[a]?e:(t.type===La?r.splice(a,1,{label:be(t).label,value:be(t).value}):r.splice(a,1),n(i,{metadata:r}))}default:return e}},MP=(e={},t)=>{switch(t.type){case fc:case gc:return{...e,[t.payload.id]:{requestUri:t.payload.id,loadingState:Fa,uriMismatch:!1,resourceUri:t.payload.id}};case pc:return{...e,[t.payload.requestId]:{...e[t.payload.requestId]||{},uriMismatch:!0,resourceUri:t.payload.actualId},[t.payload.actualId]:{requestUri:t.payload.requestId,loadingState:e[t.payload.requestId].loadingState,uriMismatch:!0,resourceUri:t.payload.actualId}};case hc:return{...e,[t.payload.id]:{...e[t.payload.id]||{},loadingState:fs,error:t.payload.message}};case mc:return{...e,[t.payload.id]:{...e[t.payload.id]||{},loadingState:hs,error:void 0}}}return e},_P=(e={},t)=>{let{id:n,updateValue:i,value:r,meta:a,key:l}=t&&t.payload||{};switch(t.type){case Yh:return{...e,[n]:{...e[n]||{},[a]:{...e[n]&&e[n][a]||{},[l]:r}}};case Kh:return{...e,[n]:{...e[n]||{},[a]:{...e[n]&&e[n][a]||{},[l]:e[n]&&e[n][a]?i(e[n][a][l]):i(void 0)}}};case Xh:return e[n]&&e[n][a]&&e[n][a][l]?{...e,[n]:{...e[n]||{},[a]:{...e[n]&&e[n][a]||{},[l]:void 0}}}:e;default:return e}};function CS(e={}){let t=Object.keys(e);return function(n={},i){let r=!1,a={};for(let l=0;l<t.length;l++){let u=t[l];a[u]=e[u](n[u],i),r||(r=a[u]!==n[u])}return r?a:n}}function OP(e){return(t,n)=>n&&n.type===ps?n.payload.actions.reduce(e,t):n&&n.type===yc?{...t,iiif:{...t.iiif,...n.payload.state}}:e(t,n)}var kP=CS({mapping:PP,entities:IS,requests:MP,meta:_P});function LP(){return{iiif:{entities:Yp(),meta:{},mapping:{},requests:{}}}}function PS(e={}){let{enableDevtools:t=!1,iiifStoreName:n="iiif",defaultState:i=LP(),customReducers:r={}}=e,a=OP(CS({[n]:kP,...r})),l=!!(typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__);return Zu(CP((l?EP:(f,h)=>f)(wP(a,i),{enabled:t})))}function fn(e,t,n,i=!0){t[Rs]=t[Rs]||[],t[Rs].push(e);let r=new Map;Object.defineProperty(t,e,{enumerable:i,get(){if(t[vo][e]===void 0)return;let a=t[vo][e];if(!a)return a;let l=n.get(t[vo][e],{parent:this.id?{id:this.id,type:this.type}:void 0});return r.has(l)||(r.clear(),r.set(l,xo(l,n))),r.get(l)},set(a){t[vo][e]!==a&&(this[yo]?n.modifyEntityField({id:this.id,type:this.type},e,MS(a)):this[vo][e]=a)}})}var vo=Symbol.for("_refs_"),yo=Symbol.for("_reactive_"),Rs=Symbol.for("_defined_"),AS=Symbol.for("_parent_");function FP(e,t=!1,n){let i={id:"",type:"unknown",[Rs]:[],[vo]:{},[AS]:n||null,[yo]:null,is(r){return typeof r=="string"?this.id===r:r.id?r.id===this.id:!1},reactive(){if(!this[yo])return this[yo]=this.subscribe(()=>this.refresh(),!0),()=>{this.unreactive()}},refresh(){if(this.id){let r=this.unwrap();for(let a of Object.keys(r||{}))this[Rs].includes(a)?this[vo][a]=r[a]:this[a]=r[a]}},unreactive(){this[yo]&&(this[yo](),this[yo]=null)},unwrap(){if(!this.id)throw Error("Invalid object");let r=this[AS];return e.get(this.id,{parent:r?{id:r,type:"unknown"}:void 0})},toPresentation3(){return e.toPresentation3(this.unwrap())},toPresentation2(){return e.toPresentation2(this.unwrap())},valueOf(){return this.unwrap()},toJSON(){let r=this;return{...r,items:r.items,annotations:r.annotations,structures:r.structures,seeAlso:r.seeAlso,service:r.service,services:r.services,rendering:r.rendering,partOf:r.partOf,start:r.start,supplementary:r.supplementary,homepage:r.homepage,thumbnail:r.thumbnail,placeholderCanvas:r.placeholderCanvas,accompanyingCanvas:r.accompanyingCanvas,provider:r.provider}},subscribe(r,a=!0){return e.subscribe(()=>this.id?e.get(this.id):null,r,a)}};return fn("items",i,e),fn("annotations",i,e),fn("structures",i,e),fn("seeAlso",i,e),fn("rendering",i,e),fn("partOf",i,e),fn("start",i,e,!1),fn("supplementary",i,e),fn("homepage",i,e),fn("thumbnail",i,e),fn("placeholderCanvas",i,e,!1),fn("accompanyingCanvas",i,e,!1),fn("provider",i,e),fn("body",i,e),fn("logo",i,e),i}function NP(e){return!!e[Rs]}function MS(e){return Array.isArray(e)?e.map(t=>MS(t)):!e||!e.type?e:{id:e.id,type:e.type}}function xo(e,t,n=!1,i){if(Array.isArray(e))return e.map(u=>xo(u,t,n));if(!e||!e.type||!e.id)return e;let r=FP(t,n),a=Object.create(r),l=Object.assign(a,e);return n&&l.reactive(),l}function TS(e){switch(e){case"Image":case"Video":case"Sound":case"Dataset":case"Text":case"Composite":case"List":case"Independents":case"Audience":return"ContentResource";case"ImageService1":case"ImageService2":case"ImageService3":return"Service"}return e}var Es=class{constructor(e,t){Dt(this,"options",void 0),Dt(this,"store",void 0),Dt(this,"emitter",void 0),Dt(this,"isBatching",!1),Dt(this,"batchQueue",[]),Dt(this,"remoteFetcher",void 0),Dt(this,"staticFetcher",void 0),Dt(this,"defaultFetcher",n=>fetch(n).then(i=>{if(i.status===200)return i.json();{let r=Error(`${i.status} ${i.statusText}`);throw r.name="HTTPError",r}})),this.options=Object.assign({reducers:{},customFetcher:this.defaultFetcher,enableDevtools:!0},e||{}),this.store=t||PS({customReducers:this.options.reducers,defaultState:this.options.defaultState,enableDevtools:this.options.enableDevtools}),this.emitter=Ju(),this.remoteFetcher=Qp(this,this.options.customFetcher),this.staticFetcher=Qp(this,(n,i)=>i)}batch(e){this.isBatching=!0;try{e(this),this.isBatching=!1,this.dispatch(ms({actions:this.batchQueue}))}catch(t){throw this.batchQueue=[],this.isBatching=!1,t}this.batchQueue=[]}async asyncBatch(e){this.isBatching=!0;try{await e(this),this.isBatching=!1,this.dispatch(ms({actions:this.batchQueue}))}catch(t){throw this.batchQueue=[],this.isBatching=!1,t}this.batchQueue=[]}modifyEntityField(e,t,n){this.dispatch(co.modifyEntityField({id:e.id,type:e.type,key:t,value:n}))}dispatch(e){if(this.isBatching)this.batchQueue.push(e);else{if(e.type===ps){for(let i of e.payload.actions)this.emitter.emit(i.type,{action:i,state:this.store.getState()});this.store.dispatch(e);let n=this.getState();for(let i of e.payload.actions)this.emitter.emit(`after:${i.type}`,{action:i,state:n});return}this.emitter.emit(e.type,{action:e,state:this.store.getState()}),this.store.dispatch(e);let t=this.store.getState();this.emitter.emit(`after:${e.type}`,{action:e,state:t});return}}on(e,t){return this.emitter.on(e,t),()=>{this.emitter.off(e,t)}}serialize(e,t){return Wp(this.getState().iiif,e,t)}toPresentation2(e){return this.serialize(e,Up)}toPresentation3(e){return this.serialize(e,qp)}hydrate(e,t,n={}){return this.get(e,t,{...n,skipSelfReturn:!1})}get(e,t,n={}){typeof t!="string"&&(n=t||{},t=void 0);let{skipSelfReturn:i=!0}=n||{},r=n.parent?typeof n.parent=="string"?n.parent:n.parent.id:void 0;if(Array.isArray(e))return e.map(c=>this.get(c,n));let a=this.getState();if(vi(e)&&!n.preserveSpecificResources&&(e=e.source),typeof e=="string"){let c=TS(t||a.iiif.mapping[e]);if(!c)return i?null:{id:e,type:"unknown"};e={id:e,type:c}}if(e&&e.partOf&&!r&&!n.skipPartOfCheck){let c=Array.isArray(e.partOf)?e.partOf[0]:e.partOf;c&&(typeof c=="string"&&(r=c),typeof c.id=="string"&&(r=c.id))}let l=TS(t||e?.type),u=e?.id,f=a.iiif.entities[l];if(!f){let c=a.iiif.requests[u];return c&&c.resourceUri!==u?this.get(c.resourceUri,n):i?null:e}let h=f[e.id];if(h&&h[St]){let c=h[St].find(m=>r?m[Nn]===r:m[Nn]===h.id);return ws(h,c)}return f[e.id]||(i?null:e)}select(e){return e(this.getState())}getStore(){return this.store}getState(){return this.store.getState()}deep(e,t){if(e===void 0)return this.get(t,{skipSelfReturn:!1});if(typeof e=="function")try{let i=e(this.get(t,{skipSelfReturn:!1})),r=a=>this.deep(a,i);return r.size=Array.isArray(i)?i.length:1,r}catch{let i=r=>this.deep(r,void 0);return i.size=0,i}let n=i=>this.deep(i,e);return n.size=Array.isArray(e)?e.length:1,n}loadManifest(e,t,n){let i=typeof e=="string"?e:e.id;return this.load(i,t,n)}loadCollection(e,t,n){let i=typeof e=="string"?e:e.id;return this.load(i,t,n)}load(e,t,n){let i=typeof e=="string"?e:e.id;return t?Promise.resolve(this.staticFetcher(i,t,n)):Promise.resolve(this.remoteFetcher(i,{},n))}loadSync(e,t,n){let i=typeof e=="string"?e:e.id;return this.staticFetcher(i,t,n)}loadManifestSync(e,t,n){let i=typeof e=="string"?e:e.id;return this.loadSync(i,t,n)}loadCollectionSync(e,t,n){let i=typeof e=="string"?e:e.id;return this.loadSync(i,t,n)}areInputsEqual(e,t){return $p(e,t)}subscribe(e,t,n){return n===void 0&&(t===void 0||t===!1||t===!0)&&(n=t,t=e,e=i=>i),this.store.subscribe(e,i=>t(i,this),{equalityFn:$p,fireImmediately:!n})}async ensureLoaded(e){let t=typeof e=="string"?e:e.id;this.requestStatus(t)||await this.load(t)}requestStatus(e){return this.select(t=>t.iiif.requests[e])}getPaginationState(e){let t=typeof e=="string"?e:e.id;if(!t)return null;let n=this.getResourceMeta(t,"@vault/pagination");if(n?.state)return n.state;let i=this.get(e);if(i.first){let r={currentPage:null,currentPageIndex:null,isFetching:!1,isFullyLoaded:!1,next:i.first,page:1,pages:[],previous:null,totalItems:i.total,currentLength:0};return this.setMetaValue([t,"@vault/pagination","state"],r),r}return null}async loadNextPage(e,t){let n=typeof e=="string"?e:e.id;if(!n)return[null,null];let i=this.getPaginationState(e);if(!i||i.isFullyLoaded||!i.next)return[null,null];if(i.isFetching)return[i,null];let r=typeof i.next=="string"?i.next:i.next.id,a=i.currentPage,l={...i,isFetching:!0};this.setMetaValue([n,"@vault/pagination","state"],l);let u;try{u=await this.loadCollection(r,t,v=>{let{id:w,"@id":y,...S}=v||{};return y?{"@id":r,...S}:{id:r,...S}})}catch(v){let w={...i,isFetching:!1,error:v};return this.setMetaValue([n,"@vault/pagination","state"],w),[w,null]}if(!u){let v={...i,isFetching:!1,error:Error("Collection not found")};return this.setMetaValue([n,"@vault/pagination","state"],v),[v,null]}let f=this.get(n),h=[...f.items||[],...u.items||[]].map(v=>({id:v.id,type:v.type}));this.modifyEntityField({id:n,type:"Collection"},"items",h);let c=this.getPaginationState(e);if(!c)throw Error("Pagination state not found");let m={...c,isFetching:!1,error:null,currentPage:u.id,next:u.next?.id||null,currentPageIndex:c.pages.length,currentLength:h.length,pages:[...c.pages,{id:u.id,type:"Collection",startIndex:f.items.length,pageLength:u.items.length,order:typeof c.currentPageIndex=="number"?c.currentPageIndex+1:0}],isFullyLoaded:!u.next,previous:a,page:c.pages.length+1};return this.setMetaValue([n,"@vault/pagination","state"],m),[m,u]}getResourceMeta(e,t){let n=this.getState().iiif.meta[e];if(n)return t?n[t]:n}getObject(e,t,n={}){let{reactive:i,...r}=n;return xo(this.get(e,t,r),this,i)}async loadObject(e,t){return xo(await this.load(e,t),this)}async loadManifestObject(e,t){return xo(await this.loadManifest(e,t),this)}async loadCollectionObject(e,t){return xo(await this.loadCollection(e,t),this)}wrapObject(e){return xo(this.get(e,{skipSelfReturn:!1}),this)}isWrapped(e){return NP(e)}setMetaValue([e,t,n],i){this.dispatch(typeof i=="function"?Zh.setMetaValueDynamic({id:e,meta:t,key:n,updateValue:i}):Zh.setMetaValue({id:e,meta:t,key:n,value:i}))}};function _S(){return typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}function Ha(e){let t=_S();try{let i=t.IIIF_VAULT;if(i)return i}catch{}let n=new Es(e);try{t.IIIF_VAULT=n}catch{}return n}var Jp=A(D(),1),Ar=Ec.default.createContext({vault:null,setVaultInstance:e=>{}});function So({vault:e,vaultOptions:t,useGlobal:n,resources:i,children:r}){let[a,l]=(0,Ec.useState)(()=>e||(n?Ha(t):t?new Es(t):new Es));return(0,Jp.jsx)(Ar.Provider,{value:{vault:a,setVaultInstance:l},children:(0,Jp.jsx)(dn,{value:i||{},children:r})})}var kS=A(Q(),1),LS=A(Q(),1);var OS=A(Q(),1),ze=()=>{let{vault:e}=(0,OS.useContext)(Ar);if(e===null)throw new Error("Vault not found. Ensure you have your provider set up correctly.");return e};var Ic=A(Q(),1);function qe(e,t=[]){let n=ze(),[i,r]=(0,Ic.useState)(()=>e(n.getState(),n));return(0,Ic.useEffect)(()=>n.subscribe(a=>e(a,n),a=>{r(a)},!1),t),i}var wo=LS.default.createContext([]);function bo(){let e=(0,kS.useContext)(wo);return qe(t=>e.map(n=>t.iiif.entities.Canvas[n]).filter(Boolean),[e])}var FS=A(Q(),1);function Ro(e){let t=(0,FS.useContext)(Ar);return e||(t&&t.vault?t.vault:Ha())}var NS=A(Q(),1);function It(e={},t=[]){let{id:n,selector:i}=e,r=rn(),a=ze(),l=n||r.manifest,u=qe(f=>l?f.iiif.entities.Manifest[l]:void 0,[l]);return(0,NS.useMemo)(()=>{if(u)return i?i(u):u},[u,i,...t])}var c0=A(Q(),1),Oc=A(Q(),1);var Tr=A(Q(),1);function Wa(e,{noCache:t=!1}={}){let n=typeof e=="string"?e:e.id,i=Ro(),[r,a]=(0,Tr.useState)(n),[l,u]=(0,Tr.useState)(void 0),f=(0,Tr.useMemo)(()=>i.get(n,{skipSelfReturn:!0})||void 0,[n,i]),[h,c]=(0,Tr.useState)(f);return(0,Tr.useEffect)(()=>{(async()=>{try{let m=f&&!t?f:await i.load(n),v=m?m.id||m["@id"]:null;m&&r!==v&&a(v),c(m)}catch(m){u(m)}})()},[n,t]),{isLoaded:!!h,id:r,requestId:n,error:l,resource:h,cached:!!(h&&h===f)}}function em(e,t){let{id:n,isLoaded:i,error:r,resource:a,requestId:l,cached:u}=Wa(e,t);return{id:n,isLoaded:i,error:r,manifest:a,requestId:l,cached:u}}var zS=A(D(),1);function tm({manifest:e,children:t}){return(0,zS.jsx)(dn,{value:{manifest:e},children:t})}var DS=A(D(),1);function nm({range:e,children:t}){return(0,DS.jsx)(dn,{value:{range:e},children:t})}function BS(e,t){for(let n of t.items){if(n.type==="Canvas")return n;if(n.type==="SpecificResource")return n.source;if(n.type==="Range"){let i=BS(e,e.get(n));if(i)return i}}return null}function Cc(e,t){let n=[];for(let i of t.items)if(i.type==="SpecificResource"&&i.source?.type==="Canvas"&&(i.source.id.indexOf("#")!==-1?n.push({id:i.source.id.split("#")[0],type:"Canvas"}):n.push(i.source)),i.type==="Range"&&n.push(...Cc(e,e.get(i))),i.type==="SpecificResource"){let r=typeof i.source=="string"?i.source:i.source.id;n.push({id:r,type:"Canvas"})}return n}function zP(e,t,n){for(let i of t.structures){let r=im(e,e.get(i),n);if(r)return r}return null}function im(e,t,n){for(let i of t.items){let r=i?.source?.id?.split("#")[0];if(i.type==="SpecificResource"&&i.source===n||i.type==="SpecificResource"&&i.source?.type==="Canvas"&&n===r)return t;if(i.type==="Range"){let a=im(e,e.get(i),n);if(a)return a}}return null}function DP(e,t,n,i=!1){let r=t.behavior,a=n?e.get(n):null;if(!a)return[];let l=a.behavior,u=i?!1:r.includes("paged"),f=u?!1:r.includes("continuous"),h=u||f?!1:r.includes("individuals"),c=l.includes("facing-pages"),m=l.includes("non-paged");if(c||m||h||i)return[{id:a.id,type:"Canvas"}];let[v,w]=Pc(e,t);if(f)return v;let y=v.findIndex(S=>S.id===n);if(y===-1)return[];for(let S of w)if(S.includes(y))return S.map(E=>v[E]);return[{id:a.id,type:"Canvas"}]}function Pc(e,t,{disablePaging:n,skipNonPaged:i}={}){let r=t.behavior,a=r.includes("paged"),l=a?!1:r.includes("continuous"),u=a||l?!1:r.includes("individuals"),f=t.type==="Manifest"?t.items:Cc(e,t);if(l)return[f,[f.map((y,S)=>S)]];if(u||!a||n)return[f,f.map((y,S)=>[S])];let h=[],c=[],m=()=>{c.length&&(h.push([...c]),c=[])},v=0,w=!1;for(let y=0;y<f.length;y++){let S=e.get(f[y]);if(S.behavior.includes("non-paged")){y===v&&v++,i||(m(),h.push([y]),m());continue}if(y===v||S.behavior.includes("facing-pages")){c.length&&(w=!0),m(),h.push([y]),m();continue}if(c.push(y),w){m(),w=!1;continue}c.length>1&&m()}return c.length&&m(),[f,h]}var xi=A(Q(),1);var VS=A(Q(),1);function Ua(e={},t=[]){let{id:n,selector:i}=e,r=rn(),a=n||r.range,l=qe(u=>a?u.iiif.entities.Range[a]:void 0,[a]);return(0,VS.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...t])}function rm({startCanvas:e,disablePaging:t}){let n=ze(),i=It(),r=Ua(),[a,l]=(0,xi.useState)(void 0),u=r||i;if(!u)throw new Error("Nothing selected");let[f,h]=(0,xi.useMemo)(()=>Pc(n,u,{disablePaging:t}),[n,u,t]),c=(0,xi.useRef)(h);if(c.current!==h){let E=c.current[a][0],R=h.findIndex(b=>b.includes(E));c.current=h,l(R)}let m=(0,xi.useCallback)(S=>{let E=h.findIndex(R=>R.includes(S));l(E===-1?0:E)},[f,h]),v=(0,xi.useCallback)(S=>{let E=f.findIndex(R=>R.id===S);E!==-1?m(E):l(0)},[f,h]),w=(0,xi.useCallback)(()=>{l(S=>S>=h.length-1?S:S+1)},[h]),y=(0,xi.useCallback)(()=>{l(S=>S<=0?0:S-1)},[h]);return typeof a>"u"&&(e?v(e):l(0)),{visibleItems:h[a]?.map(S=>f[S].id)||[],cursor:a,items:f,sequence:h,hasPrevious:a>0,hasNext:a<h.length-1,setSequenceIndex:l,setCanvasIndex:m,setCanvasId:v,next:w,previous:y}}var wi=A(Q(),1);var HS={},jS=e=>{let t,n=new Set,i=(c,m)=>{let v=typeof c=="function"?c(t):c;if(!Object.is(v,t)){let w=t;t=m??(typeof v!="object"||v===null)?v:Object.assign({},t,v),n.forEach(y=>y(t,w))}},r=()=>t,f={setState:i,getState:r,getInitialState:()=>h,subscribe:c=>(n.add(c),()=>n.delete(c)),destroy:()=>{(HS.env?HS.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},h=t=e(i,r,f);return f},zn=e=>e?jS(e):jS;var JS=A(Q(),1),e0=A(KS(),1),Tc={},{useDebugValue:nA}=JS.default,{useSyncExternalStoreWithSelector:iA}=e0.default,XS=!1,rA=e=>e;function ve(e,t=rA,n){(Tc.env?Tc.env.MODE:void 0)!=="production"&&n&&!XS&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),XS=!0);let i=iA(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return nA(i),i}var ZS=e=>{(Tc.env?Tc.env.MODE:void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t=typeof e=="function"?zn(e):e,n=(i,r)=>ve(t,i,r);return Object.assign(n,t),n},t0=e=>e?ZS(e):ZS;function oA(e){let t=e.service||e.services||[];for(let n of t)if(n.type==="AuthProbeService2")return!0;return!1}function Si(e,t,n){let i=t.findIndex(l=>l.service.id===e);if(i===-1)return t;let r=[...t],a=n(r[i]);return a===r[i]?t:(r[i]=a,r)}var am=()=>zn((e,t)=>({currentAuth:-1,authItems:[],login:()=>{let n=t().authItems[t().currentAuth];if(!n||n.isPending||n.isLoggedIn)return;if(n.type!=="active")throw new Error("Cannot login to non-active service");let i=n.service.service.find(r=>r.type==="AuthAccessTokenService2");if(!i)throw new Error("Token service not found");e(()=>({authItems:Si(n.id,t().authItems,r=>({...r,isPending:!0}))})),sm(n.service).then(()=>{Mc(i).then(r=>{let a=r.expiresIn,l=Date.now()+a*1e3;e(()=>({authItems:Si(n.id,t().authItems,u=>({...u,isLoggedIn:!0,isPending:!1,session:{token:r.accessToken,expires:l}}))}))}).catch(r=>{e(()=>({authItems:Si(n.id,t().authItems,a=>({...a,isLoggedIn:!1,isPending:!1,error:r.message}))}))})})},logout:()=>{let n=t().authItems[t().currentAuth];if(!n||n.isPending||!n.isLoggedIn)return;if(n.type!=="active")throw new Error("Cannot logout of non-active service");let i=n.service.service.find(l=>l.type==="AuthLogoutService2");if(!i)return;let r=`${i.id}?origin=${n0()}`,a=window.open(r);e(()=>({authItems:Si(n.id,t().authItems,l=>({...l,isLoggedIn:!1,session:null,isPending:!1}))}))},nextAuth:()=>{let n=t().authItems.length,i=t().currentAuth+1;i>=n||e(()=>({currentAuth:i}))},previousAuth:()=>{let n=t().currentAuth-1;n<0||e(()=>({currentAuth:n}))},setAuth:n=>{n!==-1&&(n<0||n>=t().authItems.length)||e(()=>({currentAuth:n}))},addService:(n,i)=>{if(!n.service)return;let r=n.service.find(u=>u.type==="AuthAccessTokenService2"),a=n;if(t().authItems.find(u=>u.service.id===n.id)){e(()=>({authItems:Si(n.id,t().authItems,u=>({...u,instances:u.instances+1}))}));return}if(e(()=>({currentAuth:a.profile==="active"?0:t().currentAuth,authItems:[{id:n.id,type:n.profile,service:n,probeId:i,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...t().authItems]})),n.profile==="external"){if(!r)throw new Error("Token service not found");Mc(r).then(u=>{e(()=>({authItems:Si(n.id,t().authItems,f=>({...f,isLoggedIn:!0,isPending:!1,session:{token:u.accessToken,expires:u.expiresIn}}))}))}).catch(u=>{e(()=>({authItems:Si(n.id,t().authItems,f=>({...f,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:u.message}))}))})}if(n.profile==="kiosk"){if(!r)throw new Error("Token service not found");e(()=>({authItems:Si(n.id,t().authItems,u=>({...u,isPending:!0}))})),sm(a).then(()=>{Mc(r).then(u=>{e(()=>({authItems:Si(n.id,t().authItems,f=>({...f,isLoggedIn:!0,isPending:!1,session:{token:u.accessToken,expires:u.expiresIn}}))}))}).catch(u=>{e(()=>({authItems:Si(n.id,t().authItems,f=>({...f,isLoggedIn:!1,isPending:!1,error:u.message}))}))})})}n.profile},removeService:(n,i)=>{let r=t().currentAuth===t().authItems.findIndex(l=>l.service.id===n.id),a=t().currentAuth;if(r){let l=t().authItems.find(f=>f.service.id===n.id);l&&l.instances>1||(a=t().authItems.findIndex(h=>h.service.id!==n.id&&h.instances>0))}e(()=>({authItems:Si(n.id,t().authItems,l=>({...l,instances:l.instances-1})),currentAuth:a}))}})),lm=(e,t)=>zn((n,i)=>({service:e,status:e?"unknown":"success",shouldRedirect:!1,redirectResource:null,shouldSubstitute:!1,substituteResource:null,error:null,errorHeading:null,errorNote:null,shouldDisplayResource:!1,token:t||null,async probe(){if(!i().service)return;let r=i().service?.id;if(!r){n({status:"error",error:"Service ID not found",errorHeading:{en:["Service ID not found"]}});return}n({status:"probing"});let a=i().token;try{let l=await fetch(r,{headers:a?{Authorization:`Bearer ${i().token}`,Accept:"application/json"}:{Accept:"application/json"}}).then(u=>u.json());if(l.status===200)n({status:"success",shouldDisplayResource:!0,error:null,errorHeading:null,errorNote:null,shouldSubstitute:!1,shouldRedirect:!1});else if(l.status<400&&l.status>=300){if(!l.location)throw new Error("Redirect location not found");n({status:"error",shouldDisplayResource:!1,shouldRedirect:!0,redirectResource:l.location||null})}else if(l.status===401)n({status:"error",shouldDisplayResource:!1,shouldRedirect:!1,shouldSubstitute:!!l.substitute,substituteResource:l.substitute||null,error:"Unauthorized",errorHeading:l.heading||{en:["Unauthorized"]},errorNote:l.note||null});else throw new Error("Unknown error")}catch(l){n({status:"error",error:l.message,errorHeading:{en:["Unknown error"]}})}},setToken(r){n({token:r})}}));function um(e){let t=e.service||e.services||[],n={hasAuth:!1,services:{}};for(let i of t)if(i.type==="AuthProbeService2"){n.services.probe=i,n.hasAuth=!0;let r=i.service.filter(a=>a.type==="AuthAccessService2");r[0]&&(n.services.access=r[0])}return n}async function Mc(e,{strict:t=!0}={}){return new Promise((n,i)=>{let r=Math.random().toString(36).substring(7),a=`${e.id}?messageId=${r}&origin=${window.location.origin}`,l=h=>{let c=h.data;if(c.messageId===r){if(t&&c.type!=="AuthAccessToken2"){u(),i("Invalid response, expected type=AuthAccessToken2");return}if(!c.accessToken){u(),i("Invalid response, expected accessToken");return}u(),n(c)}},u=()=>window.removeEventListener("message",l),f=document.createElement("iframe");f.src=a,f.style.display="none",document.body.appendChild(f),window.addEventListener("message",l)})}function n0(e){let t=window.location;if(e){let n=document.createElement("a");return n.href=e,n.protocol+"//"+n.hostname+(n.port?":"+n.port:"")}return t.protocol+"//"+t.hostname+(t.port?":"+t.port:"")}async function sm(e){let t=`${e.id}?origin=${n0()}`,n=window.open(t);if(!n)throw new Error("Failed to open window");return new Promise((i,r)=>{let a=setInterval(()=>{n.closed&&(clearInterval(a),i())},500)})}var Cs=A(Q(),1);function i0(e){let t=(0,Cs.useMemo)(()=>um(e),[e]),n=cm(t.services.access?.id),i=(0,Cs.useMemo)(()=>lm(t.services.probe,n),[t.services.probe]),r=ve(i);return(0,Cs.useEffect)(()=>{r.status==="unknown"&&!n&&r.probe()},[t.services.probe,r.status]),(0,Cs.useEffect)(()=>{n&&(r.setToken(n),r.probe())},[n]),[e,r,t.hasAuth]}var qa=A(D(),1),Eo=(0,wi.createContext)(null),r0=(0,wi.createContext)(null);r0.displayName="CurrentAuth";var o0=(0,wi.createContext)(null);o0.displayName="AuthActions";function fm({children:e}){let t=(0,wi.useMemo)(()=>am(),[]);return(0,qa.jsx)(Eo.Provider,{value:t,children:e})}function hm(){return!!(0,wi.useContext)(Eo)}function Ps(){let e=(0,wi.useContext)(Eo);if(!e)throw new Error("useAuthActions must be used within a AuthProvider");return e}function s0(){let e=Ps();return ve(e,n=>({login:n.login,logout:n.logout,nextAuth:n.nextAuth,previousAuth:n.previousAuth,setAuth:n.setAuth,addService:n.addService,removeService:n.removeService}))}function sA(){let e=Ps();return ve(e,t=>t)}function a0(e){let t=Ps();return ve(t,i=>i.authItems.find(r=>r.service.id===e))}function cm(e){let t=Ps();return ve(t,i=>i.authItems.find(r=>r.id===e)?.session?.token)}function aA(e){let t=Ps();return ve(t,i=>{let r=i.authItems.find(a=>a.service.id===e);return!r||!r.isLoggedIn||!r.session?null:r.session?.token||null})}function lA(e){let t=s0(),n=a0(e.service.id);return(0,wi.useEffect)(()=>(t?.addService(e.service,e.probeId),()=>{t?.removeService(e.service,e.probeId)}),[e.service]),n?(n.error||!n.isLoggedIn,e.children):null}function dm(){return null}function pm(e){let[t,n,i]=i0(e.resource),r=e.fallbackComponent||dm,a=e.loadingComponent||dm,l=e.errorComponent||dm,u=n.service,f=null;if(!i||!u)return e.children(t);let h=u.service.filter(c=>c.type==="AuthAccessService2");n.status==="error"&&(f=(0,qa.jsx)(l,{resource:e.resource,error:n.error||"",heading:n.errorHeading,note:n.errorNote,extra:e.extra})),(n.status==="unknown"||n.status==="probing")&&(f=(0,qa.jsx)(a,{})),n.status==="success"&&(f=e.children(t));for(let c of h)f=(0,qa.jsx)(lA,{service:c,probeId:u.id,children:f},c.id);return f}var Ga=A(Q(),1);var uA=e=>e.id||e["@id"];function cA(e){return(Array.isArray(e.service)?e.service:[e.service]).find(n=>n.profile==="http://iiif.io/api/search/0/autocomplete"||n.profile==="http://iiif.io/api/search/1/autocomplete"||n.profile==="AutoCompleteService1")}var l0=e=>{let t;typeof e=="string"?t={"@context":"http://iiif.io/api/search/1/context.json",profile:"http://iiif.io/api/search/1/search","@id":e,id:e,service:[]}:t=e;let n=t?uA(t):void 0,i=null;return zn((r,a)=>({service:t,resources:[],lastQuery:{},loading:!1,error:!1,highlight:null,hasSearch:!!t,hasAutocomplete:t?!!cA(t):!1,errorMessage:"",search(l,u={}){if(!n)throw new Error("No search service found.");i&&!i.signal.aborted&&i.abort(),i=new AbortController;let f=new URLSearchParams;l.q&&f.set("q",l.q),l.motivation&&f.set("motivation",l.motivation),l.date&&f.set("date",l.date),l.user&&f.set("user",l.user),r({loading:!0}),fetch(`${n}?${f.toString()}`,{signal:i.signal,headers:{"Content-Type":"application/json",Accept:"application/json",...u.headers||{}}}).then(async h=>{if(!i?.signal.aborted)if(h.ok){let c=await h.json();r({resources:c.resources,error:!1,errorMessage:""})}else r({resources:[],error:!0,errorMessage:h.statusText})})},clearSearch(){r({resources:[],error:!1,errorMessage:""})},highlightResult(l){let u=a().resources.find(f=>f["@id"]===l);r({highlight:u})},nextResult(){let l=a().resources,u=a().highlight;if(!u){r({highlight:l[0]||null});return}let f=l.findIndex(h=>h["@id"]===u["@id"]);if(f===-1){r({highlight:l[0]||null});return}r({highlight:l[f+1]||l[0]||null})},previousResult(){let l=a().resources,u=a().highlight;if(!u){r({highlight:l[l.length-1]||null});return}let f=l.findIndex(h=>h["@id"]===u["@id"]);if(f===-1){r({highlight:l[l.length-1]||null});return}if(f===0){r({highlight:l[l.length-1]||null});return}r({highlight:l[f-1]||l[l.length-1]||null})}}))};function mm(){let e=It();return e?e.service.find(t=>t.profile==="SearchService1"||t.profile==="http://iiif.io/api/search/1/search"):void 0}var _c=A(D(),1),As=(0,Ga.createContext)(null);As.displayName="Search";function u0(e){let t=mm();return e.store?(0,_c.jsx)(As.Provider,{value:e.store,children:e.children}):(0,_c.jsx)(dA,{service:t,children:e.children})}function dA({service:e,children:t}){let n=(0,Ga.useMemo)(()=>l0(e),[e]);return(0,_c.jsx)(As.Provider,{value:n,children:t})}var Pn=A(D(),1),$a=()=>{},Ts=(0,Oc.createContext)({setCurrentCanvasId:$a,setCurrentCanvasIndex:$a,nextCanvas:$a,previousCanvas:$a,items:[],sequence:[],setSequenceIndex:$a,currentSequenceIndex:0,hasNext:!1,hasPrevious:!1});function d0(e){let t=It(),{cursor:n,visibleItems:i,next:r,sequence:a,items:l,setCanvasIndex:u,setCanvasId:f,previous:h,setSequenceIndex:c,hasNext:m,hasPrevious:v}=rm({startCanvas:e.startCanvas,disablePaging:e.pagingEnabled===!1}),w=(0,Oc.useMemo)(()=>({sequence:a,items:l,setCurrentCanvasId:f,nextCanvas:r,previousCanvas:h,totalCanvases:l.length,setCurrentCanvasIndex:u,setSequenceIndex:c,currentSequenceIndex:n,hasNext:m,hasPrevious:v}),[a,l,f,r,h,l,u,c,n]);return t?i.length===0?null:(0,Pn.jsx)(Ts.Provider,{value:w,children:(0,Pn.jsx)(wo.Provider,{value:i,children:(0,Pn.jsx)(ti,{canvas:i[0],children:e.children})})}):(console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,Pn.jsx)("div",{children:"Sorry, something went wrong."}))}function gm(e){let t=Ro(e.vault),n=em(e.manifest);if(!n)return console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,Pn.jsx)("div",{children:"Sorry, something went wrong."});if(n.error)return(0,Pn.jsx)("div",{children:n.error.toString()});if(!n.isLoaded)return(0,Pn.jsx)("div",{children:"Loading..."});let i=(0,Pn.jsx)(d0,{...e,children:e.children});return(0,Pn.jsx)(So,{vault:t,children:(0,Pn.jsx)(tm,{manifest:n.id,children:(0,Pn.jsx)(fm,{children:(0,Pn.jsx)(u0,{children:e.rangeId?(0,Pn.jsx)(nm,{range:e.rangeId,children:i}):i})})})})}function Io(){return(0,c0.useContext)(Ts)}var Mr=(e,t,n)=>{let i=e.length,r=n||me(i);for(let a=0;a<i;a++)r[a]=a%5===0?e[a+1]<t[3]&&e[a+3]>t[1]&&e[a+2]<t[4]&&e[a+4]>t[2]?1:0:e[a];return r};function me(e,t,n){return new Float32Array(e,t,n)}var f0=(e,t,n)=>{let i=e[1]<=t[3]&&e[3]>=t[1]&&e[2]<=t[4]&&e[4]>=t[2],r=n||me(5);return i?(r[0]=1,r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r[3]=Math.min(e[3],t[3]),r[4]=Math.min(e[4],t[4]),r):(r[0]=0,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r)},h0=e=>e.length/5;var An=(e,t,n)=>{let i=n||me(9);return i[0]=e[0]*t[0]+e[1]*t[3]+e[2]*t[6],i[1]=e[0]*t[1]+e[1]*t[4]+e[2]*t[7],i[2]=e[0]*t[2]+e[1]*t[5]+e[2]*t[8],i[3]=e[3]*t[0]+e[4]*t[3]+e[5]*t[6],i[4]=e[3]*t[1]+e[4]*t[4]+e[5]*t[7],i[5]=e[3]*t[2]+e[4]*t[5]+e[5]*t[8],i[6]=e[6]*t[0]+e[7]*t[3]+e[8]*t[6],i[7]=e[6]*t[1]+e[7]*t[4]+e[8]*t[7],i[8]=e[6]*t[2]+e[7]*t[5]+e[8]*t[8],i},Pe=class e{constructor(t){this.index=0,this.length=t,this.points=me(this.length)}static grid(t=1,n=1){return new e(5*t*n)}static point(t,n){let i=me(5);return i[0]=1,i[1]=t,i[2]=n,i[3]=t,i[4]=n,i}static positionPair(t){let n=me(5);return n[0]=1,n[1]=t.x1,n[2]=t.y1,n[3]=t.x2,n[4]=t.y2,n}static projection(t){return e.singleBox(t.width,t.height,t.x,t.y)}static singleBox(t,n,i=0,r=0){let a=me(5);return a[0]=1,a[1]=i,a[2]=r,a[3]=t+i,a[4]=n+r,a}row(t){return t(this)}addPoints(t,n,i,r){return this.points[this.index]=1,this.points[1+this.index]=t,this.points[2+this.index]=n,this.points[3+this.index]=i,this.points[4+this.index]=r,this.index+=5,this}addBox(t,n,i,r){return this.addPoints(t,n,t+i,n+r),this}build(){return this.points}};var hn=(e,t)=>{let n=e.length;for(let i=0;i<n;i++)e[i]=i%5===0?t[6]*e[i+1]+t[7]*e[i+2]+t[8]*e[i]:i%5%2===1?t[0]*e[i]+t[1]*e[i+1]+t[2]:t[3]*e[i-1]+t[4]*e[i]+t[5];return e},Dn=e=>{let t=me(9);return t[0]=e,t[4]=e,t[8]=1,t},ht=(e,t)=>{let n=me(9);return n[0]=1,n[2]=e,n[4]=1,n[5]=t,n[8]=1,n},nr=(e,t,n)=>An(ht((1-e)*t,(1-e)*n),Dn(e)),Bn=(e,t,n)=>{let i=e.length,r=n&&n.length>=i?n.slice(0,i):me(i);for(let a=0;a<i;a++)r[a]=a%5===0?t[6]*e[a+1]+t[7]*e[a+2]+t[8]*e[a]:a%5%2===1?t[0]*e[a]+t[1]*e[a+1]+t[2]:t[3]*e[a-1]+t[4]*e[a]+t[5];return r};var Qa=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,fA=typeof AbortController=="function",kc=fA?AbortController:class{constructor(){this.signal=new p0}abort(t=new Error("This operation was aborted")){this.signal.reason=this.signal.reason||t,this.signal.aborted=!0,this.signal.dispatchEvent({type:"abort",target:this.signal})}},hA=typeof AbortSignal=="function",pA=typeof kc.AbortSignal=="function",p0=hA?AbortSignal:pA?kc.AbortController:class{constructor(){this.reason=void 0,this.aborted=!1,this._listeners=[]}dispatchEvent(t){t.type==="abort"&&(this.aborted=!0,this.onabort(t),this._listeners.forEach(n=>n(t),this))}onabort(){}addEventListener(t,n){t==="abort"&&this._listeners.push(n)}removeEventListener(t,n){t==="abort"&&(this._listeners=this._listeners.filter(i=>i!==n))}},Sm=new Set,ym=(e,t)=>{let n=`LRU_CACHE_OPTION_${e}`;Lc(n)&&wm(n,`${e} option`,`options.${t}`,_s)},vm=(e,t)=>{let n=`LRU_CACHE_METHOD_${e}`;if(Lc(n)){let{prototype:i}=_s,{get:r}=Object.getOwnPropertyDescriptor(i,e);wm(n,`${e} method`,`cache.${t}()`,r)}},mA=(e,t)=>{let n=`LRU_CACHE_PROPERTY_${e}`;if(Lc(n)){let{prototype:i}=_s,{get:r}=Object.getOwnPropertyDescriptor(i,e);wm(n,`${e} property`,`cache.${t}`,r)}},m0=(...e)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...e):console.error(...e)},Lc=e=>!Sm.has(e),wm=(e,t,n,i)=>{Sm.add(e);let r=`The ${t} is deprecated. Please use ${n} instead.`;m0(r,"DeprecationWarning",e,i)},_r=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),g0=e=>_r(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?Ms:null:null,Ms=class extends Array{constructor(t){super(t),this.fill(0)}},xm=class{constructor(t){if(t===0)return[];let n=g0(t);this.heap=new n(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},_s=class e{constructor(t={}){let{max:n=0,ttl:i,ttlResolution:r=1,ttlAutopurge:a,updateAgeOnGet:l,updateAgeOnHas:u,allowStale:f,dispose:h,disposeAfter:c,noDisposeOnSet:m,noUpdateTTL:v,maxSize:w=0,maxEntrySize:y=0,sizeCalculation:S,fetchMethod:E,fetchContext:R,noDeleteOnFetchRejection:b,noDeleteOnStaleGet:I,allowStaleOnFetchRejection:M,allowStaleOnFetchAbort:T,ignoreFetchAbort:_}=t,{length:U,maxAge:H,stale:Z}=t instanceof e?{}:t;if(n!==0&&!_r(n))throw new TypeError("max option must be a nonnegative integer");let B=n?g0(n):Array;if(!B)throw new Error("invalid max value: "+n);if(this.max=n,this.maxSize=w,this.maxEntrySize=y||this.maxSize,this.sizeCalculation=S||U,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=E||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=R,!this.fetchMethod&&R!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(n).fill(null),this.valList=new Array(n).fill(null),this.next=new B(n),this.prev=new B(n),this.head=0,this.tail=0,this.free=new xm(n),this.initialFill=1,this.size=0,typeof h=="function"&&(this.dispose=h),typeof c=="function"?(this.disposeAfter=c,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!m,this.noUpdateTTL=!!v,this.noDeleteOnFetchRejection=!!b,this.allowStaleOnFetchRejection=!!M,this.allowStaleOnFetchAbort=!!T,this.ignoreFetchAbort=!!_,this.maxEntrySize!==0){if(this.maxSize!==0&&!_r(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!_r(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!f||!!Z,this.noDeleteOnStaleGet=!!I,this.updateAgeOnGet=!!l,this.updateAgeOnHas=!!u,this.ttlResolution=_r(r)||r===0?r:1,this.ttlAutopurge=!!a,this.ttl=i||H||0,this.ttl){if(!_r(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){let G="LRU_CACHE_UNBOUNDED";Lc(G)&&(Sm.add(G),m0("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",G,e))}Z&&ym("stale","allowStale"),H&&ym("maxAge","ttl"),U&&ym("length","sizeCalculation")}getRemainingTTL(t){return this.has(t,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new Ms(this.max),this.starts=new Ms(this.max),this.setItemTTL=(i,r,a=Qa.now())=>{if(this.starts[i]=r!==0?a:0,this.ttls[i]=r,r!==0&&this.ttlAutopurge){let l=setTimeout(()=>{this.isStale(i)&&this.delete(this.keyList[i])},r+1);l.unref&&l.unref()}},this.updateItemAge=i=>{this.starts[i]=this.ttls[i]!==0?Qa.now():0},this.statusTTL=(i,r)=>{i&&(i.ttl=this.ttls[r],i.start=this.starts[r],i.now=t||n(),i.remainingTTL=i.now+i.ttl-i.start)};let t=0,n=()=>{let i=Qa.now();if(this.ttlResolution>0){t=i;let r=setTimeout(()=>t=0,this.ttlResolution);r.unref&&r.unref()}return i};this.getRemainingTTL=i=>{let r=this.keyMap.get(i);return r===void 0?0:this.ttls[r]===0||this.starts[r]===0?1/0:this.starts[r]+this.ttls[r]-(t||n())},this.isStale=i=>this.ttls[i]!==0&&this.starts[i]!==0&&(t||n())-this.starts[i]>this.ttls[i]}updateItemAge(t){}statusTTL(t,n){}setItemTTL(t,n,i){}isStale(t){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new Ms(this.max),this.removeItemSize=t=>{this.calculatedSize-=this.sizes[t],this.sizes[t]=0},this.requireSize=(t,n,i,r)=>{if(this.isBackgroundFetch(n))return 0;if(!_r(i))if(r){if(typeof r!="function")throw new TypeError("sizeCalculation must be a function");if(i=r(n,t),!_r(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.addItemSize=(t,n,i)=>{if(this.sizes[t]=n,this.maxSize){let r=this.maxSize-this.sizes[t];for(;this.calculatedSize>r;)this.evict(!0)}this.calculatedSize+=this.sizes[t],i&&(i.entrySize=n,i.totalCalculatedSize=this.calculatedSize)}}removeItemSize(t){}addItemSize(t,n){}requireSize(t,n,i,r){if(i||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:t=this.allowStale}={}){if(this.size)for(let n=this.tail;!(!this.isValidIndex(n)||((t||!this.isStale(n))&&(yield n),n===this.head));)n=this.prev[n]}*rindexes({allowStale:t=this.allowStale}={}){if(this.size)for(let n=this.head;!(!this.isValidIndex(n)||((t||!this.isStale(n))&&(yield n),n===this.tail));)n=this.next[n]}isValidIndex(t){return t!==void 0&&this.keyMap.get(this.keyList[t])===t}*entries(){for(let t of this.indexes())this.valList[t]!==void 0&&this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield[this.keyList[t],this.valList[t]])}*rentries(){for(let t of this.rindexes())this.valList[t]!==void 0&&this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield[this.keyList[t],this.valList[t]])}*keys(){for(let t of this.indexes())this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.keyList[t])}*rkeys(){for(let t of this.rindexes())this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.keyList[t])}*values(){for(let t of this.indexes())this.valList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.valList[t])}*rvalues(){for(let t of this.rindexes())this.valList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.valList[t])}[Symbol.iterator](){return this.entries()}find(t,n){for(let i of this.indexes()){let r=this.valList[i],a=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(a!==void 0&&t(a,this.keyList[i],this))return this.get(this.keyList[i],n)}}forEach(t,n=this){for(let i of this.indexes()){let r=this.valList[i],a=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;a!==void 0&&t.call(n,a,this.keyList[i],this)}}rforEach(t,n=this){for(let i of this.rindexes()){let r=this.valList[i],a=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;a!==void 0&&t.call(n,a,this.keyList[i],this)}}get prune(){return vm("prune","purgeStale"),this.purgeStale}purgeStale(){let t=!1;for(let n of this.rindexes({allowStale:!0}))this.isStale(n)&&(this.delete(this.keyList[n]),t=!0);return t}dump(){let t=[];for(let n of this.indexes({allowStale:!0})){let i=this.keyList[n],r=this.valList[n],a=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(a===void 0)continue;let l={value:a};if(this.ttls){l.ttl=this.ttls[n];let u=Qa.now()-this.starts[n];l.start=Math.floor(Date.now()-u)}this.sizes&&(l.size=this.sizes[n]),t.unshift([i,l])}return t}load(t){this.clear();for(let[n,i]of t){if(i.start){let r=Date.now()-i.start;i.start=Qa.now()-r}this.set(n,i.value,i)}}dispose(t,n,i){}set(t,n,{ttl:i=this.ttl,start:r,noDisposeOnSet:a=this.noDisposeOnSet,size:l=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:f=this.noUpdateTTL,status:h}={}){if(l=this.requireSize(t,n,l,u),this.maxEntrySize&&l>this.maxEntrySize)return h&&(h.set="miss",h.maxEntrySizeExceeded=!0),this.delete(t),this;let c=this.size===0?void 0:this.keyMap.get(t);if(c===void 0)c=this.newIndex(),this.keyList[c]=t,this.valList[c]=n,this.keyMap.set(t,c),this.next[this.tail]=c,this.prev[c]=this.tail,this.tail=c,this.size++,this.addItemSize(c,l,h),h&&(h.set="add"),f=!1;else{this.moveToTail(c);let m=this.valList[c];if(n!==m){if(this.isBackgroundFetch(m)?m.__abortController.abort(new Error("replaced")):a||(this.dispose(m,t,"set"),this.disposeAfter&&this.disposed.push([m,t,"set"])),this.removeItemSize(c),this.valList[c]=n,this.addItemSize(c,l,h),h){h.set="replace";let v=m&&this.isBackgroundFetch(m)?m.__staleWhileFetching:m;v!==void 0&&(h.oldValue=v)}}else h&&(h.set="update")}if(i!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),f||this.setItemTTL(c,i,r),this.statusTTL(h,c),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){let t=this.valList[this.head];return this.evict(!0),t}}evict(t){let n=this.head,i=this.keyList[n],r=this.valList[n];return this.isBackgroundFetch(r)?r.__abortController.abort(new Error("evicted")):(this.dispose(r,i,"evict"),this.disposeAfter&&this.disposed.push([r,i,"evict"])),this.removeItemSize(n),t&&(this.keyList[n]=null,this.valList[n]=null,this.free.push(n)),this.head=this.next[n],this.keyMap.delete(i),this.size--,n}has(t,{updateAgeOnHas:n=this.updateAgeOnHas,status:i}={}){let r=this.keyMap.get(t);if(r!==void 0)if(this.isStale(r))i&&(i.has="stale",this.statusTTL(i,r));else return n&&this.updateItemAge(r),i&&(i.has="hit"),this.statusTTL(i,r),!0;else i&&(i.has="miss");return!1}peek(t,{allowStale:n=this.allowStale}={}){let i=this.keyMap.get(t);if(i!==void 0&&(n||!this.isStale(i))){let r=this.valList[i];return this.isBackgroundFetch(r)?r.__staleWhileFetching:r}}backgroundFetch(t,n,i,r){let a=n===void 0?void 0:this.valList[n];if(this.isBackgroundFetch(a))return a;let l=new kc;i.signal&&i.signal.addEventListener("abort",()=>l.abort(i.signal.reason));let u={signal:l.signal,options:i,context:r},f=(w,y=!1)=>{let{aborted:S}=l.signal,E=i.ignoreFetchAbort&&w!==void 0;return i.status&&(S&&!y?(i.status.fetchAborted=!0,i.status.fetchError=l.signal.reason,E&&(i.status.fetchAbortIgnored=!0)):i.status.fetchResolved=!0),S&&!E&&!y?c(l.signal.reason):(this.valList[n]===v&&(w===void 0?v.__staleWhileFetching?this.valList[n]=v.__staleWhileFetching:this.delete(t):(i.status&&(i.status.fetchUpdated=!0),this.set(t,w,u.options))),w)},h=w=>(i.status&&(i.status.fetchRejected=!0,i.status.fetchError=w),c(w)),c=w=>{let{aborted:y}=l.signal,S=y&&i.allowStaleOnFetchAbort,E=S||i.allowStaleOnFetchRejection,R=E||i.noDeleteOnFetchRejection;if(this.valList[n]===v&&(!R||v.__staleWhileFetching===void 0?this.delete(t):S||(this.valList[n]=v.__staleWhileFetching)),E)return i.status&&v.__staleWhileFetching!==void 0&&(i.status.returnedStale=!0),v.__staleWhileFetching;if(v.__returned===v)throw w},m=(w,y)=>{this.fetchMethod(t,a,u).then(S=>w(S),y),l.signal.addEventListener("abort",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(w(),i.allowStaleOnFetchAbort&&(w=S=>f(S,!0)))})};i.status&&(i.status.fetchDispatched=!0);let v=new Promise(m).then(f,h);return v.__abortController=l,v.__staleWhileFetching=a,v.__returned=null,n===void 0?(this.set(t,v,{...u.options,status:void 0}),n=this.keyMap.get(t)):this.valList[n]=v,v}isBackgroundFetch(t){return t&&typeof t=="object"&&typeof t.then=="function"&&Object.prototype.hasOwnProperty.call(t,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(t,"__returned")&&(t.__returned===t||t.__returned===null)}async fetch(t,{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:u=0,sizeCalculation:f=this.sizeCalculation,noUpdateTTL:h=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:v=this.ignoreFetchAbort,allowStaleOnFetchAbort:w=this.allowStaleOnFetchAbort,fetchContext:y=this.fetchContext,forceRefresh:S=!1,status:E,signal:R}={}){if(!this.fetchMethod)return E&&(E.fetch="get"),this.get(t,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:r,status:E});let b={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:r,ttl:a,noDisposeOnSet:l,size:u,sizeCalculation:f,noUpdateTTL:h,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:w,ignoreFetchAbort:v,status:E,signal:R},I=this.keyMap.get(t);if(I===void 0){E&&(E.fetch="miss");let M=this.backgroundFetch(t,I,b,y);return M.__returned=M}else{let M=this.valList[I];if(this.isBackgroundFetch(M)){let Z=n&&M.__staleWhileFetching!==void 0;return E&&(E.fetch="inflight",Z&&(E.returnedStale=!0)),Z?M.__staleWhileFetching:M.__returned=M}let T=this.isStale(I);if(!S&&!T)return E&&(E.fetch="hit"),this.moveToTail(I),i&&this.updateItemAge(I),this.statusTTL(E,I),M;let _=this.backgroundFetch(t,I,b,y),U=_.__staleWhileFetching!==void 0,H=U&&n;return E&&(E.fetch=U&&T?"stale":"refresh",H&&T&&(E.returnedStale=!0)),H?_.__staleWhileFetching:_.__returned=_}}get(t,{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:a}={}){let l=this.keyMap.get(t);if(l!==void 0){let u=this.valList[l],f=this.isBackgroundFetch(u);return this.statusTTL(a,l),this.isStale(l)?(a&&(a.get="stale"),f?(a&&(a.returnedStale=n&&u.__staleWhileFetching!==void 0),n?u.__staleWhileFetching:void 0):(r||this.delete(t),a&&(a.returnedStale=n),n?u:void 0)):(a&&(a.get="hit"),f?u.__staleWhileFetching:(this.moveToTail(l),i&&this.updateItemAge(l),u))}else a&&(a.get="miss")}connect(t,n){this.prev[n]=t,this.next[t]=n}moveToTail(t){t!==this.tail&&(t===this.head?this.head=this.next[t]:this.connect(this.prev[t],this.next[t]),this.connect(this.tail,t),this.tail=t)}get del(){return vm("del","delete"),this.delete}delete(t){let n=!1;if(this.size!==0){let i=this.keyMap.get(t);if(i!==void 0)if(n=!0,this.size===1)this.clear();else{this.removeItemSize(i);let r=this.valList[i];this.isBackgroundFetch(r)?r.__abortController.abort(new Error("deleted")):(this.dispose(r,t,"delete"),this.disposeAfter&&this.disposed.push([r,t,"delete"])),this.keyMap.delete(t),this.keyList[i]=null,this.valList[i]=null,i===this.tail?this.tail=this.prev[i]:i===this.head?this.head=this.next[i]:(this.next[this.prev[i]]=this.next[i],this.prev[this.next[i]]=this.prev[i]),this.size--,this.free.push(i)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return n}clear(){for(let t of this.rindexes({allowStale:!0})){let n=this.valList[t];if(this.isBackgroundFetch(n))n.__abortController.abort(new Error("deleted"));else{let i=this.keyList[t];this.dispose(n,i,"delete"),this.disposeAfter&&this.disposed.push([n,i,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return vm("reset","clear"),this.clear}get length(){return mA("length","size"),this.size}static get AbortController(){return kc}static get AbortSignal(){return p0}},y0=_s;var p1=A(D0(),1);var mt=A(Q(),1),xd=A(Q(),1),BT=A(D(),1);var Vn=A(Q(),1);function B0(e,t){let n;return(...i)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...i),t)}}function Bc({debounce:e,scroll:t,polyfill:n,offsetSize:i}={debounce:0,scroll:!1,offsetSize:!1}){let r=n||(typeof window>"u"?class{}:window.ResizeObserver);if(!r)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[a,l]=(0,Vn.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),u=(0,Vn.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:a,orientationHandler:null}),f=e?typeof e=="number"?e:e.scroll:null,h=e?typeof e=="number"?e:e.resize:null,c=(0,Vn.useRef)(!1);(0,Vn.useEffect)(()=>(c.current=!0,()=>void(c.current=!1)));let[m,v,w]=(0,Vn.useMemo)(()=>{let R=()=>{if(!u.current.element)return;let{left:b,top:I,width:M,height:T,bottom:_,right:U,x:H,y:Z}=u.current.element.getBoundingClientRect(),B={left:b,top:I,width:M,height:T,bottom:_,right:U,x:H,y:Z};u.current.element instanceof HTMLElement&&i&&(B.height=u.current.element.offsetHeight,B.width=u.current.element.offsetWidth),Object.freeze(B),c.current&&!RA(u.current.lastBounds,B)&&l(u.current.lastBounds=B)};return[R,h?B0(R,h):R,f?B0(R,f):R]},[l,i,f,h]);function y(){u.current.scrollContainers&&(u.current.scrollContainers.forEach(R=>R.removeEventListener("scroll",w,!0)),u.current.scrollContainers=null),u.current.resizeObserver&&(u.current.resizeObserver.disconnect(),u.current.resizeObserver=null),u.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",u.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",u.current.orientationHandler))}function S(){u.current.element&&(u.current.resizeObserver=new r(w),u.current.resizeObserver.observe(u.current.element),t&&u.current.scrollContainers&&u.current.scrollContainers.forEach(R=>R.addEventListener("scroll",w,{capture:!0,passive:!0})),u.current.orientationHandler=()=>{w()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",u.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",u.current.orientationHandler))}let E=R=>{!R||R===u.current.element||(y(),u.current.element=R,u.current.scrollContainers=V0(R),S())};return wA(w,!!t),SA(v),(0,Vn.useEffect)(()=>{y(),S()},[t,w,v]),(0,Vn.useEffect)(()=>y,[]),[E,a,m]}function SA(e){(0,Vn.useEffect)(()=>{let t=e;return window.addEventListener("resize",t),()=>void window.removeEventListener("resize",t)},[e])}function wA(e,t){(0,Vn.useEffect)(()=>{if(t){let n=e;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[e,t])}function V0(e){let t=[];if(!e||e===document.body)return t;let{overflow:n,overflowX:i,overflowY:r}=window.getComputedStyle(e);return[n,i,r].some(a=>a==="auto"||a==="scroll")&&t.push(e),[...t,...V0(e.parentElement)]}var bA=["x","y","top","bottom","left","right","width","height"],RA=(e,t)=>bA.every(n=>e[n]===t[n]);var tg=A(Q(),1),Wi=A(Q(),1),g1=A(nw(),1),y1=A(Q(),1),bd=A(Q(),1),Fs=A(D(),1),ri=A(Q(),1),P1=A(Q(),1),A1=A(Q(),1),T1=A(D(),1),pn=A(D(),1),Rd=A(Q(),1);var al=A(D(),1),ig=A(Q(),1),_1=A(Q(),1),iM=A(Q(),1),O1=A(Q(),1),L1=A(Q(),1),Hi=A(Q(),1),F1=A(Q(),1),Zm=A(D(),1),N1=A(Q(),1),ji=A(Q(),1),Bt=A(Q(),1),z1=A(Q(),1),Pd=A(Q(),1),Mt=A(D(),1),Jm=A(D(),1),uM=A(Q(),1),B1=A(D(),1),V1=A(Q(),1);var IA=Object.defineProperty,CA=(e,t,n)=>t in e?IA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,qc=(e,t,n)=>(CA(e,typeof t!="symbol"?t+"":t,n),n);function Ao(e){return e.endsWith("info.json")?e:e.endsWith("/")?`${e}info.json`:`${e}/info.json`}var PA="http://library.stanford.edu/iiif/image-api/compliance.html#level0",sw="http://library.stanford.edu/iiif/image-api/compliance.html#level1",aw="http://library.stanford.edu/iiif/image-api/compliance.html#level2",AA="http://library.stanford.edu/iiif/image-api/conformance.html#level0",lw="http://library.stanford.edu/iiif/image-api/conformance.html#level1",uw="http://library.stanford.edu/iiif/image-api/conformance.html#level2",TA="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",cw="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",dw="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",MA="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",fw="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",hw="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",_A="http://iiif.io/api/image/1/level0.json",OA="http://iiif.io/api/image/1/profiles/level0.json",pw="http://iiif.io/api/image/1/level1.json",mw="http://iiif.io/api/image/1/profiles/level1.json",gw="http://iiif.io/api/image/1/level2.json",yw="http://iiif.io/api/image/1/profiles/level2.json",kA="http://iiif.io/api/image/2/level0.json",LA="http://iiif.io/api/image/2/profiles/level0.json",vw="http://iiif.io/api/image/2/level1.json",xw="http://iiif.io/api/image/2/profiles/level1.json",Sw="http://iiif.io/api/image/2/level2.json",ww="http://iiif.io/api/image/2/profiles/level2.json",FA="level0",bw="level1",Rw="level2",NA="http://iiif.io/api/image/2/level0",Ew="http://iiif.io/api/image/2/level1",Iw="http://iiif.io/api/image/2/level2",zA="https://iiif.io/api/image/1.1/compliance/#level0",Cw="https://iiif.io/api/image/1.1/compliance/#level1",Pw="https://iiif.io/api/image/1.1/compliance/#level2",Aw=[Iw,aw,uw,dw,hw,gw,yw,Sw,ww,Rw,Pw],Tw=[...Aw,Ew,sw,lw,cw,fw,pw,mw,vw,xw,bw,Cw],DA=[NA,Ew,Iw,PA,sw,aw,AA,lw,uw,TA,cw,dw,MA,fw,hw,_A,OA,pw,mw,gw,yw,kA,LA,vw,xw,Sw,ww,FA,bw,Rw,zA,Cw,Pw];var BA={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},VA={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},jA={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};function HA(e){return Aw.indexOf(e)!==-1?jA:Tw.indexOf(e)!==-1?VA:BA}function WA(e){let t=e?Array.isArray(e.profile)?e.profile:[e.profile]:[],n={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let i of t)if(typeof i=="string"&&(i=HA(i)),!!i){if(i.formats)for(let r of i.formats)n.extraFormats.indexOf(r)===-1&&n.extraFormats.push(r);if(i.qualities)for(let r of i.qualities)n.extraQualities.indexOf(r)===-1&&n.extraQualities.push(r);if(i.supports)for(let r of i.supports)n.extraFeatures.indexOf(r)===-1&&n.extraFeatures.push(r);if(i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea),i.extraFormats)for(let r of i.extraFormats)n.extraFormats.indexOf(r)===-1&&n.extraFormats.push(r);if(i.extraQualities)for(let r of i.extraQualities)n.extraQualities.indexOf(r)===-1&&n.extraQualities.push(r);if(i.extraFeatures)for(let r of i.extraFeatures)n.extraFeatures.indexOf(r)===-1&&n.extraFeatures.push(r);i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea)}if(e.extraFormats)for(let i of e.extraFormats)n.extraFormats.indexOf(i)===-1&&n.extraFormats.push(i);if(e.extraFeatures)for(let i of e.extraFeatures)n.extraFeatures.indexOf(i)===-1&&n.extraFeatures.push(i);if(e.extraQualities)for(let i of e.extraQualities)n.extraQualities.indexOf(i)===-1&&n.extraQualities.push(i);return n}function UA(e){try{if(e==="full")return{full:!0};if(e==="square")return{square:!0};let t=e.startsWith("pct:"),n=e.substr(t?4:0).split(",").map(i=>parseFloat(i));return{x:n[0],y:n[1],w:n[2],h:n[3],percent:t}}catch{throw new Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+e)}}function qA(e){let t={upscaled:!1,max:!1,confined:!1};if(e[0]==="^"&&(t.upscaled=!0,e=e.slice(1)),e==="max"||e==="full")return t.max=!0,t.serialiseAsFull=e==="full",t;if(e[0]==="!"&&(t.confined=!0,e=e.slice(1)),e[0]==="p")return t.percentScale=parseFloat(e.slice(4)),t;let n=e.split(",").map(i=>i.trim());return n.length&&typeof n[0]<"u"&&(n[0]!==""&&(t.width=parseInt(n[0],10)),typeof n[1]<"u"&&n[1]!==""?(t.height=parseInt(n[1],10),t.version=2):t.version=3),t}function GA(e){let t={angle:0};if(e[0]==="!"&&(t.mirror=!0,e=e.substr(1)),t.angle=parseFloat(e)%360,Number.isNaN(t.angle))throw new Error(`Invalid rotation ${e}`);return t}function $A(e,t=""){let n=e.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!n)throw new Error(`Invalid or unknown input ${e}`);let i=n[2],r=n[3],a=n[4];if(a[0]==="/"&&(a=a.substring(1)),t.length>0){if(t[0]==="/"&&(t=t.substring(1)),t!==a.substring(0,t.length))throw new Error(`Path does not start with prefix (path: ${a}, prefix: ${t})`);a=a.substring(t.length)}return{scheme:i,server:r,path:a,prefix:t}}function QA(e,t=""){let{path:n,scheme:i,server:r,prefix:a}=$A(e,t),l=(n||"").split("/").reverse(),[u,f,h,c,...m]=l,v=m.reverse().filter(Boolean).join("/");if(l.length===1||u==="")return{type:"base",scheme:i,server:r,prefix:a,identifier:v};if(u==="info.json"){let[,...y]=l;return{type:"info",scheme:i,server:r,prefix:a,identifier:y.reverse().filter(Boolean).join("/")}}let w=(u||"").split(".");if(typeof w[1]>"u"||typeof w[0]>"u"||typeof c>"u"||typeof h>"u"||typeof f>"u")throw new Error("Invalid image request");return{type:"image",scheme:i,server:r,prefix:a,identifier:v,originalPath:n,region:UA(c),size:qA(h),rotation:GA(f),quality:w[0],format:w[1]}}function YA(e){let t=QA(Ao(e.id));if(t.type!=="info")throw new Error("Invalid service URL");let n=WA(e);return{identifier:t.identifier,originalPath:"",server:t.server,prefix:t.prefix,scheme:t.scheme,type:"image",quality:n.extraQualities.indexOf("default")===-1?n.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function KA(e,t,n){let i=n.length,r=[];for(let a=0;a<i;a++){let l=n[a];if(l){let u=l.width;r.push(e/u)}}return r}function XA(e,t,n){let i=n.length,r=[];for(let a=0;a<i;a++){let l=n[a];l&&r.push({width:Math.floor(e/l),height:Math.floor(t/l)})}return r}function wt(e){if(e["@id"])return e["@id"];if(e.id)return e.id}function $c(e){if(!e||!e.profile||!wt(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"&&DA.indexOf(n)!==-1)return!0;return!1}function ZA(e){if(!$c(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"){if(Tw.indexOf(n)!==-1)return!0}else{let i=[...n.supports||[],...n.extraFeatures||[]];if(i.indexOf("regionByPx")!==-1&&(i.indexOf("sizeByW")!==-1||i.indexOf("sizeByWh")!==-1))return!0}return!1}function Gc(e,t){if(t&&t.profile){let n=t.profile;if(n){let i=Array.isArray(n)?n:[n];return i.includes(`level${e}`)||i.includes(`http://iiif.io/api/image/2/level${e}.json`)||i.includes(`http://iiif.io/api/image/1/level${e}.json`)||i.includes(`http://iiif.io/api/image/1/profiles/level${e}.json`)}}return!1}function Vm(e){return $c(e)?Gc(0,e)?0:Gc(1,e)?1:Gc(2,e)?2:null:null}function Mw(e){return(e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function JA(e){if(!ZA(e))return[];let t=[],n=Array.isArray(e.profile)?e.profile:[e.profile],i=n.length;for(let r=0;r<i;r++){let a=n[r];if(a&&typeof a!="string"&&(a.maxHeight||a.maxWidth))return[{id:wt(e),type:"variable",minWidth:0,minHeight:0,maxHeight:a.maxHeight||a.maxWidth,maxWidth:a.maxWidth||a.maxHeight,level:Vm(e),version:e["@context"]==="http://iiif.io/api/image/3/context.json"?3:2}]}if(e.tiles){let r=e.tiles.length;for(let a=0;a<r;a++){let l=e.tiles[a];l&&(l.height||l.width)&&t.push({id:wt(e),type:"variable",minHeight:0,minWidth:0,maxHeight:l.height||l.width,maxWidth:l.width,level:Vm(e),version:Mw(e)?3:2})}}return t}function iw(e){let t=/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/,n=e.match(t);if(n&&n[4]&&n[5]){let i=n[1],r=parseInt(n[4],10),a=parseInt(n[5],10),l=n[7];if((i==="max"||i==="full")&&r&&a&&l)return{type:"fixed",id:e,height:a,width:r}}return{type:"unknown",id:e}}function eT(e){if(e["@type"])return e["@type"];if(e.type)return e.type}function tT(e){if(typeof e=="string")return iw(e);let t=eT(e);if(t!=="Image"&&t!=="sc:Image")return null;let n=e,i=wt(n);return i?i&&n.width&&n.height?{id:i,type:"fixed",width:n.width,height:n.height,unsafe:!0}:iw(i):null}function nT(e){return $c(e)?(e&&e.sizes?e.sizes:[]).map(t=>({id:wt(e),type:"fixed-service",height:t.height,width:t.width,level:Vm(e),version:Mw(e)?3:2})):[]}function rw(e){let t=[],n=e.length;for(let i=0;i<n;i++){let r=e[i];if(!r)continue;let a=nT(r);a.length&&t.push(...a);let l=JA(r);l.length&&t.push(...l)}return t}function _w(e){let t=e.service?Array.isArray(e.service)?e.service:[e.service]:[],n=t.length,i=[];for(let r=0;r<n;r++)$c(t[r])&&i.push(t[r]);return i}function iT(e,t=!0,n){let i=[],r=tT(e);if(r===null)return i;let a=e;if(i.push(r),t&&a&&a.width&&a.height){let l=[],u=_w(a);for(let f of u){let h={id:wt(f),width:a.width,height:a.height};if(n.canLoadSync(h)){let c=n.loadServiceSync(h);c&&(c.height||(c.height=a.height),c.width||(c.width=a.width),l.push(...rw([c])))}}if(l.length)return i.push(...l),i}return a.service&&i.push(...rw(a.service)),i}function rT({x:e=0,y:t=0,w:n,h:i,full:r,square:a,percent:l}){if(r)return"full";if(a)return"square";if(typeof n>"u"||typeof i>"u")throw new Error("RegionParameter: invalid region");let u=`${e},${t},${n},${i}`;return l?`pct:${u}`:u}function oT({max:e,percentScale:t,upscaled:n,confined:i,width:r,height:a,serialiseAsFull:l,version:u}){let f=[];return n&&f.push("^"),e?(f.push(l?"full":"max"),f.join("")):(i&&f.push("!"),t&&f.push(`pct:${t}`),r&&f.push(`${r}`),f.push(","),a&&u===3&&f.push(`${a}`),f.join(""))}function sT(e){return`${e.mirror?"!":""}${(e.angle||0)%360}`}function aT(e,t){let n=e.prefix.startsWith("/")?e.prefix.substr(1):e.prefix,i=`${e.scheme}://${e.server}/${n?`${n}/`:""}${e.identifier}`;if(e.type==="base")return i;if(e.type==="info")return`${i}/info.json`;let{size:r}=e,{region:a,rotation:l,format:u,quality:f}=e;if(t){let h=t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[],c=t.profile,m=h.indexOf("http://iiif.io/api/image/2/context.json")!==-1||c==="level2",v=h.indexOf("http://iiif.io/api/image/3/context.json")!==-1;if((r.width===t.width&&!r.height||r.height===t.height&&!r.width||r.width===t.width&&r.height===t.height)&&(r={...r,max:!0}),m&&(r.max&&!r.serialiseAsFull&&(r={...r,serialiseAsFull:!0}),!r.max&&r.width&&r.height&&(r={...r,height:void 0}),r={...r,version:2}),v){if(r.max&&r.serialiseAsFull&&(r={...r,serialiseAsFull:!1}),r.width&&!r.height&&t.width&&t.height){let w=t.height/t.width;r={...r,height:Math.ceil(r.width*w)}}r={...r,version:3}}}return[i,rT(a),oT(r),sT(l),`${f}.${u}`].filter(Boolean).join("/")}function Bm(e,t,n){let i=YA({"@context":e.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:Ao(wt(e)),profile:e.level===null||typeof e.level>"u"?"level0":`level${e.level}`,type:e.version===3?"ImageService3":"ImageService2"});if(i.type!=="image")throw new Error("Invalid service");return i.size.max=!1,i.size.width=t,i.size.height=n,{id:aT(i),type:"fixed",width:t,height:n||e.height/(e.width||1)*t,unsafe:e.width>t}}function Os(e){let t=e.replace(/(https?:\/\/)?(www.)?/i,"");return t.indexOf("/")!==-1?t.split("/")[0]:t}function lT(e,t,n){let i=e.width?e.width:e.maxWidth;return n.height<=e.maxHeight&&n.width<=e.maxWidth&&n.height>=e.minHeight&&n.width>=e.minWidth&&(!t||Math.abs(n.width-i)<Math.abs(t.width-i))}function uT(e,t){let n=[],i=Object.assign({unsafeImageService:!1,atAnyCost:!0,fallback:!0,minHeight:64,minWidth:64,maxHeight:1/0,maxWidth:1/0,returnAllOptions:!1,preferFixedSize:!1,allowUnsafe:!1,explain:!1,height:0,width:0},e),r=(c,m=0)=>i.explain?n.push(new Array(m).fill(0).map(v=>" ").join("")+c().trim()):void 0,a=[],l=[],u=null;r(()=>`Using configuration: ${JSON.stringify(i,null,2)}`);let f=(c,m)=>{if(r(()=>"Swapping choice",3),lT(i,m,c)){if(i.preferFixedSize&&c.unsafe){r(()=>`We found an image that was marked as unsafe, but it was the best size. (${c.id})`,4),l.push(c);return}i.returnAllOptions&&m&&l.push(m),r(()=>`We found a new image that was the best size. (${c.id})`,4),u=c}else i.returnAllOptions&&l.push(c)};r(()=>`The input shows we have ${t.length} list(s) of candidates to choose from.`);let h=t.length;for(let c=0;c<h;c++){let m=t[c]();r(()=>`Candidate group ${c}: ${JSON.stringify(m,null,2)}`,1);let v=m.length;r(()=>`Checking candidate list number ${c} and found ${v} potential ways of creating image(s)`,1);for(let w=0;w<v;w++){let y=m[w];if(r(()=>`-> Checking candidate ${w}`,1),y.type==="unknown"&&i.atAnyCost&&(r(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),a.push(y)),y.type==="fixed"&&(y.unsafe?(r(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),a.push(y)):(r(()=>"We've found a fixed size image, checking if it matches the request",2),f(y,u))),y.type==="fixed-service")if(i.unsafeImageService){r(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2);let S=Bm(y,i.width,i.height);f(S,u)}else{r(()=>"Checking for an image from the tile source 3",2);let S=Bm(y,y.width,y.height);f(S,u)}if(y.type==="variable"&&y.maxWidth){let S=Bm({id:y.id,type:"fixed-service",width:y.maxWidth,height:y.maxWidth,level:y.level,version:y.version},y.maxWidth);f(S,u)}}if(u&&!i.returnAllOptions){if(u.unsafe||i.allowUnsafe)continue;r(()=>`We found a match in choice list number ${c}, no searching any more`);break}}return i.atAnyCost&&l.length===0?(r(()=>u?`We found an image! ${u.id} of type ${u.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:u||a[0]||null,fallback:a.slice(1),log:n}):i.returnAllOptions?(r(()=>"Returning all options that we have found"),{best:(i.atAnyCost?u||l[0]||a[0]:u||l[0])||null,fallback:[...l,...a],log:n}):(r(()=>"Returning the best image that we found, and a fallback"),{best:u||l[0]||null,fallback:u?l:l.slice(1),log:n})}function cT(e,t,n){let i=e>t?e:t,r=n.length,a=[];for(let l=0;l<r;l++){let u=n[l];if(!u||u.scaleFactors.length===0)continue;let f=u.scaleFactors[0];if(!f)continue;let h=i/f,c=[f];for(;h>=u.width;)f=f*2,c.push(f),h=h/2;a.push({...u,scaleFactors:c})}return a}function dT(e,t){if(e.length!==t.length)return!1;if(e.length===0&&t.length===0)return!0;let n=e.length,i=!0;for(let a=0;a<n;a++){let l=e[a],u=t[a];if(l.width!==u.width||l.height!==u.height){i=!1;break}}if(i)return!0;let r=0;for(let a=0;a<n;a++)for(let l=0;l<n;l++)if(e[a].width===t[l].width&&e[a].height===t[l].height){r++;break}return r===n}function ow(e){return Gc(0,e)}var Ow=class{constructor(e={}){qc(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),qc(this,"fetchingCount",0),qc(this,"imageServices",{}),qc(this,"knownImageServers",{}),this.config=Object.assign(this.config,e)}setConfig(e){Object.assign(this.config,e)}sample(e,t,n=!0){let i=Os(wt(e)),r=Ao(wt(e)),a=this.knownImageServers[i];return this.imageServices[r]=Object.assign(e,{real:!0}),!a&&e.tiles&&!ow(e)?(this.knownImageServers[i]={verifications:0,malformed:!1,root:i,preLoaded:n,sampledId:wt(e),verified:!1,server:null,result:{context:e["@context"]||[],sampledProfile:e.profile,resourceServiceRatio:t&&e.height?t.height/e.height:1,sampledSizes:e.sizes||[],sizeRatios:KA(e.width,e.height,e.sizes||[]),sampledTiles:e.tiles||[]}},!0):this.verify(e)}preLoad(e,t=!0){this.knownImageServers[e.root]=e,t&&(this.knownImageServers[e.root].malformed=!1,this.knownImageServers[e.root].verifications=this.config.verificationsRequired)}predict(e,t=!1,n=!1){let i=e?.source,r=Os(wt(e)),a=this.knownImageServers[r],l=Ao(wt(e));return this.imageServices[l]?this.imageServices[l]||null:!this.config.approximateServices||!a||!a.result||!(i?.height||e.height)||!(i?.width||e.width)||!n&&(a.malformed||a.verifications<this.config.verificationsRequired)||ow(e.source)?null:(this.imageServices[l]||(this.imageServices[l]={"@context":a.result.context,"@id":wt(e),id:wt(e),protocol:"http://iiif.io/api/image",tiles:i?.tiles||cT(e.width,e.height,a.result.sampledTiles),sizes:i?.sizes||XA(Math.round(e.width/a.result.resourceServiceRatio),Math.round(e.height/a.result.resourceServiceRatio),a.result.sizeRatios),profile:i?.profile||a.result.sampledProfile,height:i?.height||e.height,width:i?.width||e.width,real:!1}),this.imageServices[l]||null)}async getThumbnailFromResource(e,t,n=!0,i=[]){let r=e?await this.getImageCandidates(e,n):[];return uT(t,[()=>i,()=>r])}async getImageCandidates(e,t=!0){let n=e;if(t&&n&&n.height&&n.width){let i=_w(n);for(let r of i){let a={id:wt(r),width:r.width?r.width:n.width,height:r.height?r.height:n.height,source:r};await this.loadService(a)}}return iT(e,t,this)}async verify(e){let t=this.predict(e,!1,!0),n=await this.fetchService(wt(e));if(!t)return!1;let i=t.height===n.height&&t.width===n.width&&t["@context"]===n["@context"]&&dT(t.sizes||[],n.sizes||[]);if(i){let r=Os(wt(e)),a=this.knownImageServers[r];a&&(a.verifications+=1,a.verifications>=this.config.verificationsRequired&&(a.verified=!0))}return i}canLoadSync(e){let t=typeof e=="string"?e:wt(e),n=Ao(t);if(this.imageServices[n])return!0;let i=this.knownImageServers[Os(t)];return!!(i&&!i.malformed&&i.verifications>=this.config.verificationsRequired)}async markAsMalformed(e){return this.knownImageServers[Os(wt(e))].malformed=!0,this.loadService(e,!0)}async fetchService(e,t=!1){let n=Ao(e),i=this.imageServices[n];if(i&&(!t||i.real))return i;if(!this.config.enableFetching)throw new Error("Fetching is not enabled");let r=await this.fetch(n).then(a=>a.json());return!r.id&&r["@id"]&&(r.id=r["@id"]),r.id!==e&&(r.id=e,r["@id"]&&(r["@id"]=e)),this.imageServices[n]=Object.assign(r,{real:!0}),this.imageServices[n]}async fetch(e,t){return fetch(e,t)}async loadService(e,t=!1){if(!this.config.disableThrottling){let r=!0;for(;r;)if(this.fetchingCount>=this.config.verificationsRequired)await new Promise(a=>setTimeout(a,500));else{r=!1;break}}let n=this.knownImageServers[Os(wt(e))];if(n&&!n.malformed&&!t){await n.result;let r=this.loadServiceSync(e);if(r)return r}this.fetchingCount++;let i=await this.fetchService(wt(e),t);return this.fetchingCount--,i.real&&this.sample(i,e),i}loadServiceSync(e){let t=Ao(wt(e));return this.imageServices[t]?this.imageServices[t]:this.config.approximateServices?this.predict(e):null}},EF=new Ow;var Qc={},ir={get(e){return e},setMetaValue([e,t,n],i){let r=ir.getResourceMeta(e,t),a=r?r[n]:void 0,l=typeof i=="function"?i(a):i;Qc[e]={...Qc[e]||{},[t]:{...(Qc[e]||{})[t]||{},[n]:l}}},getResourceMeta:(e,t)=>{let n=Qc[e];if(n)return t?n[t]:n},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(n=>n.json())},requestStatus(e){}};function fT(e){try{if(e==="full")return{full:!0};if(e==="square")return{square:!0};let t=e.startsWith("pct:"),n=e.substr(t?4:0).split(","),i=n.map(r=>parseFloat(r));return{x:i[0],y:i[1],w:i[2],h:i[3],percent:t}}catch{throw Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+e)}}function hT(e){let t={upscaled:!1,max:!1,confined:!1};if(e[0]==="^"&&(t.upscaled=!0,e=e.slice(1)),e==="max"||e==="full")return t.max=!0,t.serialiseAsFull=e==="full",t;if(e[0]==="!"&&(t.confined=!0,e=e.slice(1)),e[0]==="p")return t.percentScale=parseFloat(e.slice(4)),t;let n=e.split(",").map(i=>i.trim());return n.length&&(n[0]!==""&&(t.width=parseInt(n[0],10)),n[1]!==""&&(t.height=parseInt(n[1],10))),t}function pT(e){let t={angle:0};if(e[0]==="!"&&(t.mirror=!0,e=e.substr(1)),t.angle=parseFloat(e)%360,Number.isNaN(t.angle))throw Error(`Invalid rotation ${e}`);return t}function mT(e,t=""){let n=e.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!n)throw Error(`Invalid or unknown input ${e}`);let i=n[2],r=n[3],a=n[4];if(a[0]==="/"&&(a=a.substring(1)),t.length>0){if(t[0]==="/"&&(t=t.substring(1)),t!==a.substring(0,t.length))throw Error(`Path does not start with prefix (path: ${a}, prefix: ${t})`);a=a.substring(t.length)}return{scheme:i,server:r,path:a,prefix:t}}function gT(e,t=""){let{path:n,scheme:i,server:r,prefix:a}=mT(e,t),l=n.split("/").reverse(),[u,f,h,c,...m]=l,v=m.reverse().filter(Boolean).join("/");if(l.length===1||u==="")return{type:"base",scheme:i,server:r,prefix:a,identifier:v};if(u==="info.json"){let[,...S]=l;return{type:"info",scheme:i,server:r,prefix:a,identifier:S.reverse().filter(Boolean).join("/")}}if(i===void 0||r===void 0||n===void 0||c===void 0||h===void 0||f===void 0||u===void 0)throw Error("Invalid image service URL");let[w="",y=""]=u.split(".");return{type:"image",scheme:i,server:r,prefix:a,identifier:v,originalPath:n,region:fT(c),size:hT(h),rotation:pT(f),quality:w,format:y}}function yT(e){return gs.indexOf(e)!==-1?Kx:xc.indexOf(e)!==-1?Yx:Qx}function vT(e){let t=e?Array.isArray(e.profile)?e.profile:[e.profile]:[],n={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let i of t)if(typeof i=="string"&&(i=yT(i)),!!i){if(i.formats)for(let r of i.formats)n.extraFormats.indexOf(r)===-1&&n.extraFormats.push(r);if(i.qualities)for(let r of i.qualities)n.extraQualities.indexOf(r)===-1&&n.extraQualities.push(r);if(i.supports)for(let r of i.supports)n.extraFeatures.indexOf(r)===-1&&n.extraFeatures.push(r);if(i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea),i.extraFormats)for(let r of i.extraFormats)n.extraFormats.indexOf(r)===-1&&n.extraFormats.push(r);if(i.extraQualities)for(let r of i.extraQualities)n.extraQualities.indexOf(r)===-1&&n.extraQualities.push(r);if(i.extraFeatures)for(let r of i.extraFeatures)n.extraFeatures.indexOf(r)===-1&&n.extraFeatures.push(r);i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea)}if(e.extraFormats)for(let i of e.extraFormats)n.extraFormats.indexOf(i)===-1&&n.extraFormats.push(i);if(e.extraFeatures)for(let i of e.extraFeatures)n.extraFeatures.indexOf(i)===-1&&n.extraFeatures.push(i);if(e.extraQualities)for(let i of e.extraQualities)n.extraQualities.indexOf(i)===-1&&n.extraQualities.push(i);return n}function jm(e){let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"&&kp.indexOf(n)!==-1)return!0;return!1}function Xe(e){if(e["@id"])return e["@id"];if(e.id)return e.id}function Za(e){if(!e||!e.profile||!Xe(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"&&_p.indexOf(n)!==-1)return!0;return!1}function kw(e){if(!Za(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"){if(xc.indexOf(n)!==-1)return!0}else{let i=[...n.supports||[],...n.extraFeatures||[]];if(i.indexOf("regionByPx")!==-1&&(i.indexOf("sizeByW")!==-1||i.indexOf("sizeByWh")!==-1))return!0}return!1}function xT({x:e=0,y:t=0,w:n,h:i,full:r,square:a,percent:l}){if(r)return"full";if(a)return"square";if(n===void 0||i===void 0)throw Error("RegionParameter: invalid region");let u=`${e},${t},${n},${i}`;return l?`pct:${u}`:u}function ST({max:e,percentScale:t,upscaled:n,confined:i,width:r,height:a,serialiseAsFull:l,version:u}){let f=[];return n&&f.push("^"),e?(f.push(l?"full":"max"),f.join("")):(i&&f.push("!"),t&&f.push(`pct:${t}`),r&&f.push(`${r}`),f.push(","),a&&u===3&&f.push(`${a}`),f.join(""))}function wT(e){return`${e.mirror?"!":""}${(e.angle||0)%360}`}function Yc(e,t){let n=e.prefix.startsWith("/")?e.prefix.substring(1):e.prefix,i=`${e.scheme}://${e.server}/${n?`${n}/`:""}${e.identifier}`;if(e.type==="base")return i;if(e.type==="info")return`${i}/info.json`;let{size:r}=e,{region:a,rotation:l,format:u,quality:f}=e;if(t){let h=t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[],c=h.indexOf("http://iiif.io/api/image/2/context.json")!==-1,m=h.indexOf("http://iiif.io/api/image/3/context.json")!==-1;if((r.width===t.width&&!r.height||r.height===t.height&&!r.width||r.width===t.width&&r.height===t.height)&&(r={...r,max:!0}),c&&(r.max&&!r.serialiseAsFull&&(r={...r,serialiseAsFull:!0}),!r.max&&r.width&&r.height&&(r={...r,height:void 0}),r={...r,version:2}),m){if(r.max&&r.serialiseAsFull&&(r={...r,serialiseAsFull:!1}),r.width&&!r.height&&t.width&&t.height){let v=t.height/t.width;r={...r,height:Math.ceil(r.width*v)}}r={...r,version:3}}}return[i,xT(a),ST(r),wT(l),`${f}.${u}`].filter(Boolean).join("/")}function kr(e){return e.endsWith("info.json")?e:e.endsWith("/")?`${e}info.json`:`${e}/info.json`}function Kc(e){let t=gT(kr(e.id));if(t.type!=="info")throw Error("Invalid service URL");let n=vT(e);return{identifier:t.identifier,originalPath:"",server:t.server,prefix:t.prefix,scheme:t.scheme,type:"image",quality:n.extraQualities.indexOf("default")===-1?n.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function Lw(e,t,n){let i=n.length,r=[];for(let a=0;a<i;a++){let l=n[a];if(!l)continue;let u=l.width;r.push(e/u)}return r}function Fw(e,t,n){let i=n.length,r=[];for(let a=0;a<i;a++){let l=n[a];l&&r.push({width:Math.floor(e/l),height:Math.floor(t/l)})}return r}function ks(e,t){if(t&&t.profile){let n=t.profile;if(n){let i=Array.isArray(n)?n:[n];if(i.includes(`level${e}`)||i.includes(`http://iiif.io/api/image/2/level${e}.json`)||i.includes(`http://iiif.io/api/image/1/level${e}.json`)||i.includes(`http://iiif.io/api/image/1/profiles/level${e}.json`))return!0;if(e===2){for(let r of i)if(gs.includes(r))return!0}if(e===1){for(let r of i)if(xc.includes(r))return!0}if(e===0){for(let r of i)if(kp.includes(r))return!0}}}return!1}function Xc(e){return Za(e)?ks(2,e)?2:ks(1,e)?1:ks(0,e)?0:null:null}function Lr(e){let t=e.service?Array.isArray(e.service)?e.service:[e.service]:[],n=t.length,i=[];for(let r=0;r<n;r++)Za(t[r])&&i.push(t[r]);return i}function Nw(e){if(e["@type"])return e["@type"];if(e.type)return e.type}function To(e){let t=e.replace(/(https?:\/\/)?(www.)?/i,"");return t.indexOf("/")===-1?t:t.split("/")[0]}function zw(e,t,n){let i=e>t?e:t,r=n.length,a=[];for(let l=0;l<r;l++){let u=n[l];if(!u||u.scaleFactors.length===0)continue;let f=u.scaleFactors[0];if(!f)continue;let h=i/f,c=[f];for(;h>=u.width;)f*=2,c.push(f),h/=2;a.push({...u,scaleFactors:c})}return a}function Zc(e,t,n){let i=Kc({"@context":e.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:kr(Xe(e)),profile:e.level===null||e.level===void 0?"level0":`level${e.level}`,type:e.version===3?"ImageService3":"ImageService2"});if(i.type!=="image")throw Error("Invalid service");return i.size.max=!1,i.size.width=t,i.size.height=n,{id:Yc(i),type:"fixed",width:t,height:n||e.height/(e.width||1)*t,unsafe:e.width>t}}function Dw(e,t,n){let i=e.width?e.width:e.maxWidth;return n.height<=e.maxHeight&&n.width<=e.maxWidth&&n.height>=e.minHeight&&n.width>=e.minWidth&&(!t||Math.abs(n.width-i)<Math.abs(t.width-i))}function Bw(e,t){let n=[],i=Object.assign({unsafeImageService:!1,atAnyCost:!0,fallback:!0,minHeight:64,minWidth:64,maxHeight:1/0,maxWidth:1/0,returnAllOptions:!1,preferFixedSize:!1,allowUnsafe:!1,explain:!1,height:0,width:0},e),r=(c,m=0)=>i.explain?n.push(Array(m).fill(0).map(v=>" ").join("")+c().trim()):void 0,a=[],l=[],u=null;r(()=>`Using configuration: ${JSON.stringify(i,null,2)}`);let f=(c,m)=>{if(r(()=>"Swapping choice",3),Dw(i,m,c)){if(i.preferFixedSize&&c.unsafe){r(()=>`We found an image that was marked as unsafe, but it was the best size. (${c.id})`,4),l.push(c);return}i.returnAllOptions&&m&&l.push(m),r(()=>`We found a new image that was the best size. (${c.id})`,4),u=c}else i.returnAllOptions&&l.push(c)};r(()=>`The input shows we have ${t.length} list(s) of candidates to choose from.`);let h=t.length;for(let c=0;c<h;c++){let m=t[c]();r(()=>`Candidate group ${c}: ${JSON.stringify(m,null,2)}`,1);let v=m.length;r(()=>`Checking candidate list number ${c} and found ${v} potential ways of creating image(s)`,1);for(let w=0;w<v;w++){let y=m[w];if(r(()=>`-> Checking candidate ${w}`,1),y.type==="unknown"&&i.atAnyCost&&(r(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),a.push(y)),y.type==="fixed"&&(y.unsafe?(r(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),a.push(y)):(r(()=>"We've found a fixed size image, checking if it matches the request",2),f(y,u))),y.type==="fixed-service")if(i.unsafeImageService){r(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2);let S=Zc(y,i.width,i.height);f(S,u)}else{r(()=>"Checking for an image from the tile source 3",2);let S=Zc(y,y.width,y.height);f(S,u)}if(y.type==="variable"&&y.maxWidth){let S=Zc({id:y.id,type:"fixed-service",width:y.maxWidth,height:y.maxWidth,level:y.level,version:y.version},y.maxWidth);f(S,u)}}if(u&&!i.returnAllOptions){if(u.unsafe||i.allowUnsafe)continue;r(()=>`We found a match in choice list number ${c}, no searching any more`);break}}return i.atAnyCost&&l.length===0?(r(()=>u?`We found an image! ${u.id} of type ${u.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:u||a[0]||null,fallback:a.slice(1),log:n}):i.returnAllOptions?(r(()=>"Returning all options that we have found"),{best:(i.atAnyCost?u||l[0]||a[0]:u||l[0])||null,fallback:[...l,...a],log:n}):(r(()=>"Returning the best image that we found, and a fallback"),{best:u||l[0]||null,fallback:u?l:l.slice(1),log:n})}function Um(e){return(e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function Vw(e){return Za(e)?(e&&e.sizes?e.sizes:[]).map(t=>({id:Xe(e),type:"fixed-service",height:t.height,width:t.width,level:Xc(e),version:Um(e)?3:2})):[]}function jw(e){if(!kw(e))return[];let t=[],n=Array.isArray(e.profile)?e.profile:[e.profile],i=n.length;for(let r=0;r<i;r++){let a=n[r];if(a&&typeof a!="string"&&(a.maxHeight||a.maxWidth))return[{id:Xe(e),type:"variable",minWidth:0,minHeight:0,maxHeight:a.maxHeight||a.maxWidth,maxWidth:a.maxWidth||a.maxHeight,level:Xc(e),version:e["@context"]==="http://iiif.io/api/image/3/context.json"?3:2}]}if(e.tiles){let r=e.tiles.length;for(let a=0;a<r;a++){let l=e.tiles[a];l&&(l.height||l.width)&&t.push({id:Xe(e),type:"variable",minHeight:0,minWidth:0,maxHeight:l.height||l.width,maxWidth:l.width,level:Xc(e),version:Um(e)?3:2})}}return t}function Hm(e){let t=[],n=e.length;for(let i=0;i<n;i++){let r=e[i];if(!r)continue;let a=Vw(r);a.length&&t.push(...a);let l=jw(r);l.length&&t.push(...l)}return t}function Wm(e){let t=/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/,n=e.match(t);if(n&&n[4]&&n[5]){let i=n[1],r=parseInt(n[4],10),a=parseInt(n[5],10),l=n[7];if((i==="max"||i==="full")&&r&&a&&l)return{type:"fixed",id:e,height:a,width:r}}return{type:"unknown",id:e}}function Ja(e){if(typeof e=="string")return Wm(e);let t=Nw(e);if(t!=="Image"&&t!=="sc:Image")return null;let n=e,i=Xe(n);return i?i&&n.width&&n.height?{id:i,type:"fixed",width:n.width,height:n.height,unsafe:!0}:Wm(i):null}function Hw(e,t=!0,n){let i=[],r=Ja(e);if(r===null)return i;let a=e;if(i.push(r),t&&a&&a.width&&a.height){let l=[],u=Lr(a);for(let f of u){let h={id:Xe(f),width:a.width,height:a.height};if(n.canLoadSync(h)){let c=n.loadServiceSync(h);c&&(c.height||(c.height=a.height),c.width||(c.width=a.width),l.push(...Hm([c])))}}if(l.length)return i.push(...l),i}return a.service&&i.push(...Hm(a.service)),i}function Ww(e,t){if(e.length!==t.length)return!1;if(e.length===0&&t.length===0)return!0;let n=e.length,i=!0;for(let a=0;a<n;a++){let l=e[a],u=t[a];if(l.width!==u.width||l.height!==u.height){i=!1;break}}if(i)return!0;let r=0;for(let a=0;a<n;a++)for(let l=0;l<n;l++)if(e[a].width===t[l].width&&e[a].height===t[l].height){r++;break}return r===n}var Ls=class{constructor(e={}){Dt(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),Dt(this,"fetchingCount",0),Dt(this,"imageServices",{}),Dt(this,"knownImageServers",{}),this.config=Object.assign(this.config,e)}setConfig(e){Object.assign(this.config,e)}sample(e,t,n=!0){let i=To(Xe(e)),r=kr(Xe(e)),a=this.knownImageServers[i];return this.imageServices[r]=Object.assign(e,{real:!0}),!a&&e.tiles&&!jm(e)?(this.knownImageServers[i]={verifications:0,malformed:!1,root:i,preLoaded:n,sampledId:Xe(e),verified:!1,server:null,result:{context:e["@context"]||[],sampledProfile:e.profile,resourceServiceRatio:t&&e.height?t.height/e.height:1,sampledSizes:e.sizes||[],sizeRatios:Lw(e.width,e.height,e.sizes||[]),sampledTiles:e.tiles||[]}},!0):this.verify(e)}preLoad(e,t=!0){this.knownImageServers[e.root]=e,t&&(this.knownImageServers[e.root].malformed=!1,this.knownImageServers[e.root].verifications=this.config.verificationsRequired)}predict(e,t=!1,n=!1){let i=e?.source,r=To(Xe(e)),a=this.knownImageServers[r],l=kr(Xe(e));return this.imageServices[l]?this.imageServices[l]||null:!this.config.approximateServices||!a||!a.result||!(i?.height||e.height)||!(i?.width||e.width)||!n&&(a.malformed||a.verifications<this.config.verificationsRequired)||e.source&&jm(e.source)?null:(this.imageServices[l]||(this.imageServices[l]={"@context":a.result.context,"@id":Xe(e),id:Xe(e),protocol:"http://iiif.io/api/image",tiles:i?.tiles||zw(e.width,e.height,a.result.sampledTiles),sizes:i?.sizes||Fw(Math.round(e.width/a.result.resourceServiceRatio),Math.round(e.height/a.result.resourceServiceRatio),a.result.sizeRatios),profile:i?.profile||a.result.sampledProfile,height:i?.height||e.height,width:i?.width||e.width,real:!1}),this.imageServices[l]||null)}async getThumbnailFromResource(e,t,n=!0,i=[]){let r=e?await this.getImageCandidates(e,n):[];return Bw(t,[()=>i,()=>r])}async getImageCandidates(e,t=!0){let n=e;if(t&&n&&n.height&&n.width){let i=Lr(n);for(let r of i){let a={id:Xe(r),width:r.width?r.width:n.width,height:r.height?r.height:n.height,source:r};await this.loadService(a)}}return Hw(e,t,this)}async verify(e){let t=this.predict(e,!1,!0),n=await this.fetchService(Xe(e));if(!t)return!1;let i=t.height===n.height&&t.width===n.width&&t["@context"]===n["@context"]&&Ww(t.sizes||[],n.sizes||[]);if(i){let r=To(Xe(e)),a=this.knownImageServers[r];a&&(a.verifications+=1,a.verifications>=this.config.verificationsRequired&&(a.verified=!0))}return i}canLoadSync(e){let t=typeof e=="string"?e:Xe(e),n=kr(t);if(this.imageServices[n])return!0;let i=this.knownImageServers[To(t)];return!!(i&&!i.malformed&&i.verifications>=this.config.verificationsRequired)}async markAsMalformed(e){return this.knownImageServers[To(Xe(e))].malformed=!0,this.loadService(e,!0)}async fetchService(e,t=!1){let n=kr(e),i=this.imageServices[n];if(i&&(!t||i.real))return i;if(!this.config.enableFetching)throw Error("Fetching is not enabled");let r=await this.fetch(n).then(a=>a.json());return!r.id&&r["@id"]&&(r.id=r["@id"]),r.id!==e&&(r.id=e,r["@id"]&&(r["@id"]=e)),this.imageServices[n]=Object.assign(r,{real:!0}),this.imageServices[n]}async fetch(e,t){return fetch(e,t)}async loadService(e,t=!1){if(!this.config.disableThrottling){let r=!0;for(;r;)if(this.fetchingCount>=this.config.verificationsRequired)await new Promise(a=>setTimeout(a,500));else{r=!1;break}}let n=this.knownImageServers[To(Xe(e))];if(n&&!n.malformed&&!t){await n.result;let r=this.loadServiceSync(e);if(r)return r}this.fetchingCount++;let i=await this.fetchService(Xe(e),t);return this.fetchingCount--,i.real&&this.sample(i,e),i}loadServiceSync(e){let t=kr(Xe(e));return this.imageServices[t]?this.imageServices[t]:this.config.approximateServices?this.predict(e):null}};function Uw(e={}){let t=e.events||Ju(),n=e.loader||new Ls;return{store:Zu((r,a)=>({loaded:{},loadServiceSync:(l,u,f)=>{let h=l.id||l["@id"],c=a().loaded[h];if(c&&c.status==="done")return c.service;if(c&&c.status==="loading")return null;if(c&&c.status==="error")throw Error("Failed to load image service");let m={id:Xe(l),width:l.width||u?.width||0,height:l.height||u?.height||0,source:l},v=n.loadServiceSync(m);return v?(r(w=>({loaded:{...w.loaded,[h]:{status:"done",service:v,real:!0}}})),t.emit("image-service.loaded",{id:h,service:v})):f&&a().loadService(l,u).then(()=>{}),v},loadService:async(l,u)=>{let f=l.id||l["@id"],h=a().loaded[f];if(h&&h.status==="done")return h.service;if(h&&h.status==="loading")return new Promise((c,m)=>{let v=w=>{w.id===f&&(t.off("image-service.loaded",v),c(w.service||l))};t.on("image-service.loaded",v)});if(h&&h.status==="error"&&!u?.force)throw Error("Failed to load image service");t.emit("image-service.loading",{id:f});try{let c={id:Xe(l),width:l.width||0,height:l.height||0,source:l},m=await n.loadService(c,u?.force);return r(v=>({loaded:{...v.loaded,[f]:{status:"done",service:m,real:m.real}}})),t.emit("image-service.loaded",{id:f,service:m}),m}catch(c){throw t.emit("image-service.error",{id:f,error:c}),c}}})),events:t}}var qm=Uw();var qw=new Ls;function Gm(e=ir,t={}){let n=t.imageServiceLoader||qw;async function i(r,a,l=!1,u=[],f){let h=()=>n.getThumbnailFromResource(void 0,a,l,u);if(!r)return await n.getThumbnailFromResource(void 0,a,l,u);if(typeof r=="string"){let v=Ja(r);return v&&u.push(v),await n.getThumbnailFromResource(void 0,a,l,u)}let c=e.get(r,{skipSelfReturn:!1});if(typeof c=="string")return{best:Ja(c),fallback:[],log:[]};if(!c)return await h();switch(await(async v=>{if(v&&v.thumbnail&&v.thumbnail.length){let w=e.get(v.thumbnail[0]),y=await n.getImageCandidates(w,l);y&&y.length&&u.push(...y)}})(c),c.type){case"Annotation":{let v=Array.isArray(c.body)?c.body:[c.body],w=e.get(v[0]);return f&&!w.width&&(w.width=f.width,w.height=f.height),await n.getThumbnailFromResource(w,a,l,u)}case"Canvas":{let v=c;return i(v.items[0],a,l,u,{width:v.width,height:v.height})}case"AnnotationPage":return i(c.items[0],a,l,u,f);case"Choice":{let v=c;return!v.items||v.items[0]?await h():i(v.items[0],a,l,u,f)}case"Collection":{let v=c,w=v.items[0];return w?i(w,a,l,u,f):await h()}case"Manifest":{let v=c,w=v.items[0];return w?i(w,a,l,u,f):await h()}case"SpecificResource":case"Image":case"Dataset":case"Sound":case"Text":case"TextualBody":case"Video":return f&&!c.width&&(c.width=f.width,c.height=f.height),n.getThumbnailFromResource(c,a,l,u)}return await h()}return{getBestThumbnailAtSize:i}}var cM=A(D(),1),dM=A(Q(),1),ll=A(Q(),1),fM=A(D(),1),hM=A(Q(),1),j1=A(Q(),1),bT=Object.defineProperty,RT=(e,t,n)=>t in e?bT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,P=(e,t,n)=>(RT(e,typeof t!="symbol"?t+"":t,n),n),md=["onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onScroll","onWheel","onClick","onDragStart","onDragEnd","onDragEnter","onDragExit","onDrag","onDragOver","onContextMenu"];function ET(){return md.reduce((e,t)=>(e[t]=[],e),{})}var Ns=md.reduce((e,t)=>(e[t.slice(2).toLowerCase()]=t,e[t]=t,e),{}),IT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",gd=(e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+=IT[n[e]&63];return t},Ui=class{constructor(){P(this,"__id"),P(this,"__revision",0),P(this,"__host"),P(this,"__onCreate"),P(this,"__parent"),P(this,"__owner",{value:void 0}),P(this,"__state",{}),P(this,"eventHandlers"),P(this,"scale",1),P(this,"layers",[]),P(this,"time",[]),P(this,"_crop"),P(this,"cropData"),P(this,"id"),P(this,"addEventListener",(e,t,n)=>{let i=Ns[e];if(!this.eventHandlers[i])throw new Error(`Unknown event ${i}`);this.eventHandlers[i].indexOf(t)===-1&&this.eventHandlers[i].push(t)}),P(this,"removeEventListener",(e,t)=>{let n=Ns[e];if(!this.eventHandlers[n]){console.warn(`Unknown event ${n}`);return}this.eventHandlers[n].indexOf(t)!==-1&&(this.eventHandlers[n]=this.eventHandlers[n].filter(i=>i!==t))}),this.id=this.__id=gd(),this.eventHandlers=ET()}get crop(){return this._crop}set crop(e){this._crop=e}getObjectsAt(e){return[]}getAllPointsAt(e,t,n){return[]}getScheduledUpdates(e,t){return[]}dispatchEvent(e,t){let n=this.eventHandlers[e],i=n?n.length:0,r=!1;if(i)for(let a=0;a<i;a++)try{n[a](t),r=!0}catch(l){console.error(e,l)}return r}get x(){return this.points[1]}get y(){return this.points[2]}get width(){return this.points[3]-this.points[1]}get height(){return this.points[4]-this.points[2]}translate(e,t){hn(this.points,ht(e,t))}atScale(e){hn(this.points,nr(e,this.x,this.y)),this.scale*=e}transform(e){hn(this.points,e)}applyProps(e){this.__revision++}appendChild(e){}removeChild(e){}insertBefore(e,t){}hideInstance(){}},zr=class Qm extends Ui{constructor(t){if(super(),P(this,"type","spacial-content"),P(this,"id"),P(this,"uri"),P(this,"display"),P(this,"points"),P(this,"priority"),P(this,"style",{opacity:1}),!t)this.id="",this.uri="",this.display={x:0,y:0,scale:1,width:0,height:0,points:me(5)},this.points=me(5);else{let n=t.scale||1;this.id=t.id||t.uri,this.uri=t.uri,this.points=Pe.singleBox(t.width,t.height,t.x,t.y),this.display={x:0,y:0,scale:n,width:t.width/n,height:t.height/n,points:Pe.singleBox(t.width/n,t.height/n),rotation:t?.rotation}}}applyProps(t){let n=t.display?t.display.width:t.target.width,i=t.target.width/n;if(this.id=t.id||t.uri,this.uri=t.uri,this.points.set(Pe.singleBox(t.target.width,t.target.height,t.target.x,t.target.y)),t.style&&typeof t.style.opacity<"u"&&(this.style.opacity=t.style.opacity),t.crop){this.cropData=t.crop;let r=Pe.singleBox(t.crop.width,t.crop.height,t.crop.x,t.crop.y);hn(r,ht(-t.crop.x,-t.crop.y)),this.crop?this.crop.set(r):this.crop=me(r)}t.display?(this.display.scale=i,this.display.width=t.display.width,this.display.height=t.display.height,this.display.rotation=t.display.rotation,this.display.points=Pe.singleBox(t.display.width,t.display.height)):(this.display.scale=i,this.display.width=t.target.width/i,this.display.height=t.target.height/i,this.display.points=Pe.singleBox(t.target.width/i,t.target.height/i))}getAllPointsAt(t,n,i){return[[this,this.crop||this.points,n]]}static fromSvg(t,n,i,r){return Qm.fromImage("data:image/svg+xml;base64,"+btoa(t),n,i,r)}static fromImage(t,n,i,r){let a=new Qm;return a.applyProps({uri:t,id:r,display:i,target:n}),a}getImageUrl(){return this.uri}},Ym=class extends Ui{constructor(e){if(super(),P(this,"type","spacial-content"),P(this,"id"),P(this,"uri"),P(this,"display"),P(this,"points"),P(this,"getTexture"),this.getTexture=()=>({source:void 0,hash:-1}),!e)this.id="",this.uri="",this.display={x:0,y:0,scale:1,width:0,height:0,points:me(5)},this.points=me(5);else{let t=e.scale||1;this.id=e.id||e.uri,this.uri=e.uri,this.points=Pe.singleBox(e.width,e.height),this.display={x:0,y:0,scale:t,width:e.width/t,height:e.height/t,points:t!==1?Pe.singleBox(e.width/t,e.height/t):this.points}}}applyProps(e){let t=e.display?e.display.width:e.target.width,n=e.target.width/t;this.id=e.id,this.points.set(Pe.singleBox(e.target.width,e.target.height)),this.display.scale=n,this.display.width=e.target.width/n,this.display.height=e.target.height/n,this.getTexture=e.getTexture,this.display.points=n!==1?Pe.singleBox(e.target.width/n,e.target.height/n):this.points}getAllPointsAt(e,t,n){return[[this,this.points,t]]}};function CT(e,t,n=1){let i=t.length;if(i===0)throw new Error("No resources passed in.");let r=0,a=1/0;for(let l=0;l<i&&!(!t[l]||!t[l].display);l++){let u=Km(t[l].display.scale,e/(n||1));u<a&&(a=u,r=l)}return r}function Km(e,t){return Math.abs(e-t)}function dd(e,t){let n=Km(e.x,t.x),i=Km(e.y,t.y);return Math.sqrt(Math.pow(n,2)+Math.pow(i,2))}function PT(e){let t=e.length;return e.indexOf("/info.json")===t-10?e.slice(0,-10):e}function Jc(e,t,n){return Math.min(Math.max(e,t),n)}var sl=class u1 extends Ui{constructor(t){super(),P(this,"id"),P(this,"type","spacial-content"),P(this,"display"),P(this,"tileWidth"),P(this,"style",{opacity:1}),P(this,"points"),P(this,"service"),P(this,"format","jpg"),P(this,"crop2"),P(this,"version3"),P(this,"tileUrl"),this.tileUrl=PT(t.url),this.id=t.id||`${this.tileUrl}--${t.scaleFactor}`,this.points=t.displayPoints?t.displayPoints:Bn(t.points,Dn(t.scaleFactor)),this.tileWidth=t.tileWidth,this.version3=t.version3,this.display={x:0,y:0,width:t.width/t.scaleFactor,height:t.height/t.scaleFactor,points:t.points,scale:t.scaleFactor},t.format&&(this.format=t.format)}applyProps(t){if(t.style&&typeof t.style.opacity<"u"&&(this.style.opacity=t.style.opacity),t.service!==this.service&&(this.service=t.service),t.format?this.format=t.format:this.format="jpg",typeof t.version3<"u"&&(this.version3=t.version3),t.crop){this.cropData=t.crop;let n=me([...this.points]),i=n.length/5,r=t.crop.x||0,a=t.crop.y||0,l=t.crop.x+t.crop.width,u=t.crop.y+t.crop.height;for(let f=0;f<i;f++){let h=f*5;n[h+1]<l&&n[h+3]>r&&n[h+2]<u&&n[h+4]>a?(n[h+1]=Jc(n[h+1],r,l),n[h+3]=Jc(n[h+3],r,l),n[h+2]=Jc(n[h+2],a,u),n[h+4]=Jc(n[h+4],a,u)):n[h]=0}hn(n,ht(-t.crop.x,-t.crop.y)),this.crop?this.crop.set(n):this.crop=n}}static fromTile(t,n,i,r,a,l,u,f){i.height=i.height?i.height:i.width;let h=u?Math.floor(n.width/r):Math.ceil(n.width/r),c=u?Math.floor(n.height/r):Math.ceil(n.height/r),m=Math.ceil(h/i.width),v=Math.ceil(c/i.height),w=Pe.grid(m,v),y=Pe.grid(m,v),S=a?a["@context"]?Array.isArray(a["@context"])?a["@context"]:[a["@context"]]:[]:[],E=typeof f<"u"?f:S.indexOf("http://iiif.io/api/image/3/context.json")!==-1;for(let b=0;b<v;b++)for(let I=0;I<m;I++){let M=I*i.width,T=b*i.height;y.addPoints(M*r,T*r,I===m-1?n.width:(M+i.width)*r,b===v-1?n.height:(T+i.height)*r),w.addPoints(M,T,I===m-1?h:M+i.width,b===v-1?c:T+i.height)}let R=new u1({url:t,scaleFactor:r,points:w.build(),displayPoints:y.build(),width:n.width,height:n.height,tileWidth:i.width,format:l,version3:E});return R.applyProps({service:a}),R}getImageUrl(t){let n=this.points.slice(t*5,t*5+5),i=n[3]-n[1],r=n[4]-n[2],a=Math.ceil(i/this.display.scale),l=Math.ceil(r/this.display.scale),u=`${a>this.tileWidth?this.tileWidth:a},`;return this.version3&&(u+=`${l>this.tileWidth?this.tileWidth:l}`),`${this.tileUrl}/${n[1]},${n[2]},${i},${r}/${u}/0/default.${this.format||"jpg"}`}getAllPointsAt(t,n,i){let r=Mr(this.crop||this.points,t);return[[this,r,n]]}transform(t){hn(this.points,t)}getScheduledUpdates(t,n){return[]}},AT=class extends Ui{constructor(){super(...arguments),P(this,"type","spacial-content")}getAllPointsAt(e,t,n){return[[this,this.points,t]]}},TT=class extends AT{constructor(e){super(),P(this,"id"),P(this,"display"),P(this,"points"),P(this,"images",[]),P(this,"allImages",[]),P(this,"scaleFactors",[]),P(this,"aggregateBuffer",me(9)),P(this,"lazyLoader"),P(this,"isFullyLoaded",!1),P(this,"maxScaleFactor",0),P(this,"renderOptions"),P(this,"_scheduleSortByScales",!1),P(this,"_sortByScales",()=>{this._scheduleSortByScales=!1,this.allImages.sort((n,i)=>i.display.width-n.display.width),this.images=[];let t=.1;for(let n of this.allImages)if(!(n.display.width<this.renderOptions.minSize&&n.display.height<this.renderOptions.minSize&&!n.priority||n instanceof zr&&(n.display.width>this.renderOptions.maxImageSize||n.display.height>this.renderOptions.maxImageSize)&&!n.priority)){if(Math.abs(n.display.scale-t)<.25||n.priority){let i=this.images.pop();i&&(i instanceof zr||i.priority)?(n.priority&&this.images.push(n),this.images.push(i)):n&&this.images.push(n)}else n&&this.images.push(n);t=n.display.scale}this.images.length===0&&(this.images=[...this.allImages]),this.scaleFactors=this.images.map(n=>n.display.scale),this.maxScaleFactor=Math.max(...this.scaleFactors)}),P(this,"loadFullResource",async()=>{if(!this.isFullyLoaded&&this.lazyLoader){this.isFullyLoaded=!0;let t=await this.lazyLoader();this.addImages(t)}}),P(this,"fallback",[this.loadFullResource]),this.id=e.id,this.points=Pe.singleBox(e.width,e.height),this.lazyLoader=e.loadFullImages,e.loadFullImages||(this.isFullyLoaded=!0),this.display={x:0,y:0,points:Pe.singleBox(e.width,e.height),height:e.height,width:e.width,scale:1},this.renderOptions={renderSmallestFallback:!0,renderLayers:3,minSize:255,maxImageSize:2048,quality:1.5,...e.renderOptions||{}},this.addImages(e.images)}applyProps(e){typeof e.renderSmallestFallback<"u"&&e.renderSmallestFallback!==this.renderOptions.renderSmallestFallback&&(this.renderOptions.renderSmallestFallback=e.renderSmallestFallback),typeof e.renderLayers<"u"&&e.renderLayers!==this.renderOptions.renderLayers&&(this.renderOptions.renderLayers=e.renderLayers),typeof e.minSize<"u"&&e.minSize!==this.renderOptions.minSize&&(this.renderOptions.minSize=e.minSize),typeof e.maxImageSize<"u"&&e.maxImageSize!==this.renderOptions.maxImageSize&&(this.renderOptions.maxImageSize=e.maxImageSize),typeof e.quality<"u"&&e.quality!==this.renderOptions.quality&&(this.renderOptions.quality=e.quality)}appendChild(e){this.addImages([e])}removeChild(e){this.images.indexOf(e)!==-1&&(this.images=this.images.filter(t=>t!==e),this.sortByScales())}insertBefore(e,t){this.addImages([e])}hideInstance(){}addImages(e){for(let t of e)t.__parent=this,t.__owner=this.__owner;this.allImages.push(...e.filter(Boolean)),this.sortByScales()}sortByScales(){this._scheduleSortByScales=!0}getScheduledUpdates(e,t){return this._scheduleSortByScales?[this._sortByScales]:this.isFullyLoaded?[]:t>1/this.maxScaleFactor?this.fallback:[]}getAllPointsAt(e,t,n){if(this.images.length===0)return[];let i=CT(1/(n||1)/(window.devicePixelRatio||1),this.images,this.renderOptions.quality),r=this.images.length,a=t?An(t,ht(this.x,this.y)):ht(this.x,this.y);if(i!==this.images.length-1&&this.images[i+1]){let l=[];for(let h=r-1;h>=i;h--)l.push(h);let u=l[0];this.renderOptions.renderLayers&&(l=l.slice(-Math.min(l.length,this.renderOptions.renderLayers))),this.renderOptions.renderSmallestFallback&&l.indexOf(u)===-1&&l.unshift(u);let f=[];for(let h=0;h<l.length;h++)f.push(...this.images[l[h]].getAllPointsAt(e,a,n));return f}return this.images[i].getAllPointsAt(e,a,n)}};function ed(e,t,n,i,r){let a=Math.PI/180*r,l=Math.cos(a),u=Math.sin(a),f=l*(n-e)+u*(i-t)+e,h=l*(i-t)-u*(n-e)+t;return[f,h]}var eg=class c1 extends Ui{constructor(t,n){super(),P(this,"id"),P(this,"type","world-object"),P(this,"scale"),P(this,"layers"),P(this,"points"),P(this,"worldPoints"),P(this,"intersectionBuffer",me(5)),P(this,"aggregateBuffer",me(9)),P(this,"invertedBuffer",me(9)),P(this,"rotation",0),P(this,"filteredPointsBuffer"),P(this,"_updatedList",[]),P(this,"geometry");let{x:i=0,y:r=0}=n||{};t?(this.id=t.id||"",this.scale=1,this.layers=t.layers,this.points=me([1,i,r,i+t.width,r+t.height]),this.worldPoints=me([1,i,r,i+t.width,r+t.height]),this.filteredPointsBuffer=me(t.layers.length*5)):(this.id="",this.scale=1,this.layers=[],this.points=me(5),this.worldPoints=me(5),this.filteredPointsBuffer=me(5))}static createWithProps(t){let n=new c1;return n.applyProps(t),n}applyProps(t){let n=t.x||0,i=t.y||0;this.id=t.id;let r=typeof t.scale<"u"?t.scale:this.scale;this.points[0]=1,this.points[1]=n,this.points[2]=i,this.points[3]=n+t.width,this.points[4]=i+t.height,this.rotation=t.rotation||0,this.worldPoints[3]=this.worldPoints[1]+t.width,this.worldPoints[4]=this.worldPoints[2]+t.height,t.scale&&t.scale!==1&&this.atScale(r),this.scale=r}appendChild(t){t.points[0]===0&&t.points.set(this.points),t.__owner.value=this,this.addLayers([t])}removeChild(t){this.layers=this.layers.filter(n=>n!==t),this.filteredPointsBuffer=me(this.layers.length*5)}insertBefore(t,n){let i=this.layers.indexOf(n);if(i===-1||this.layers.indexOf(t)!==-1)return;let r=this.layers.slice(0,i),a=this.layers.slice(i);this.layers=[...r,t,...a]}hideInstance(){console.warn("hideInstance: not yet implemented")}getObjectsAt(t,n){if(this.rotation&&(t=this.applyRotation(t)),Mr(this.points,t,this.filteredPointsBuffer)[0]===0)return[];let i=this.layers.length,r=[];for(let a=0;a<i;a++){let l=this.layers[a];if(n&&l.isShape){let u=Bn(l.points,ht(this.x,this.y));if(!l.intersects([t[1]-u[1],t[2]-u[2]]))continue}if(Mr(Bn(l.points,ht(this.x,this.y)),t,this.filteredPointsBuffer)[0]!==0&&r.push(l),n){let u=l;r.push(...u.getObjectsAt(t,n))}}return r}applyRotation(t){if(this.rotation){let n={x:t[1],y:t[2]},i={x:t[1],y:t[4]},r={x:t[3],y:t[2]},a={x:t[3],y:t[4]},l=this.points[1]+(this.points[3]-this.points[1])/2,u=this.points[2]+(this.points[4]-this.points[2])/2,[f,h]=ed(l,u,n.x,n.y,this.rotation),[c,m]=ed(l,u,i.x,i.y,this.rotation),[v,w]=ed(l,u,r.x,r.y,this.rotation),[y,S]=ed(l,u,a.x,a.y,this.rotation),E=Math.min(f,c,v,y),R=Math.max(f,c,v,y),b=Math.min(h,m,w,S),I=Math.max(h,m,w,S);return me([t[0],E,b,R,I])}return t}getAllPointsAt(t,n,i){let r=An(ht(this.x,this.y),Dn(this.scale),this.aggregateBuffer);this.rotation&&(t=this.applyRotation(t));let a=f0(t,this.points,this.intersectionBuffer),l=this.layers.length,u=[],f=Bn(a,An(Dn(1/this.scale),ht(-this.x,-this.y),this.invertedBuffer)),h=n?An(n,r,this.aggregateBuffer):r,c=i*this.scale;for(let m=0;m<l;m++)u.push(...this.layers[m].getAllPointsAt(f,h,c));return u}addLayers(t){let n=[];for(let i of t)this.layers.indexOf(i)===-1&&(n.push(i),i.points.length===5&&(i.points[1]<this.worldPoints[1]/this.scale||i.points[2]<this.worldPoints[2]/this.scale||i.points[3]>this.worldPoints[3]/this.scale||i.points[4]>this.worldPoints[4]/this.scale)&&(i.crop=i.crop||me([1,Math.max(this.worldPoints[1]/this.scale,i.points[1]),Math.max(this.worldPoints[2]/this.scale,i.points[2]),Math.min(this.worldPoints[3]/this.scale,i.points[3]),Math.min(this.worldPoints[4]/this.scale,i.points[4])])));this.layers=this.layers.concat(n),this.filteredPointsBuffer=me(this.layers.length*5)}getScheduledUpdates(t,n){let i=this.layers.length;this._updatedList=[];let r=n*this.scale;for(let a=0;a<i;a++){let l=this.layers[a].getScheduledUpdates(t,r);l&&this._updatedList.push(...l)}return this._updatedList}},yd=class d1 extends Ui{constructor(t=0,n=0,i=100,r="left-to-right"){super(),P(this,"id","world"),P(this,"_width"),P(this,"_height"),P(this,"aspectRatio"),P(this,"viewingDirection"),P(this,"aggregateBuffer",me(9)),P(this,"isDirty",!1),P(this,"zones",[]),P(this,"filteredPointsBuffer"),P(this,"selectedZone"),P(this,"triggerQueue",[]),P(this,"activatedEvents",[]),P(this,"_updatedList",[]),P(this,"translationBuffer",me(9)),P(this,"needsRecalculate",!0),P(this,"emptyPaintables",[]),P(this,"renderOrder",[]),P(this,"points"),P(this,"objects",[]),P(this,"subscriptions",[]),P(this,"_propagateEventTargets",[]),P(this,"_alreadyFlushed",[]),this._width=t,this._height=n,this.aspectRatio=Number.isNaN(t/n)?1:t/n,this.viewingDirection=r,this.points=me(i*5),this.filteredPointsBuffer=me(i*5)}get x(){return 0}get y(){return 0}get width(){return this._width}get height(){return this._height}static withProps(t){let n=new d1;return n.applyProps(t),n}applyProps(t){typeof t.width<"u"&&typeof t.height<"u"&&(t.width!==this._width||t.height!==this._height)&&this.resize(t.width,t.height),t.viewingDirection!==this.viewingDirection&&(this.viewingDirection=t.viewingDirection,this.triggerRepaint())}propagateTouchEvent(t,n,i){let r=[];for(let a of i)if(a.x&&a.y){let l=Pe.singleBox(1,1,a.x,a.y);r.push(this.getObjectsAt(l,!0).reverse())}return r.map(a=>this.propagateEvent(t,n,a,{bubbles:!0,cancelable:!0}))}propagatePointerEvent(t,n,i,r,a={}){let l=Pe.singleBox(1,1,i,r),u=this.getObjectsAt(l,!0).reverse();return this.propagateEvent(t,n,u,a)}propagateEvent(t,n,i,{bubbles:r=!1,cancelable:a=!1}={}){n.atlasTarget=this,this._propagateEventTargets.length=1,this._propagateEventTargets[0]=this;let l=!1;n.stopPropagation=()=>{l=!0};let u=i.length;for(let c=u-1;c>=0;c--){this._propagateEventTargets.unshift(i[c][0]);let m=i[c][1].length;if(m)for(let v=0;v<m;v++)this._propagateEventTargets.unshift(i[c][1][v])}let f=this._propagateEventTargets.length,h=!1;for(let c=0;c<f&&(n.atlasTarget=this._propagateEventTargets[c],n.atlasWorld=this,h=this._propagateEventTargets[c].dispatchEvent(t,n)||h,!l);c++);return h&&this.triggerRepaint(),this._propagateEventTargets}appendChild(t){let n=this.appendWorldObject(t);this.renderOrder.push(n/5)}removeChild(t){let n=this.objects.indexOf(t);if(n===-1){for(let i of this.objects)if(i&&i.id===t.id){this.removeChild(i);return}return}this.objects[n]=null,this.renderOrder=this.renderOrder.filter(i=>i!==n),this.points[n*5]=0,this.triggerRepaint(),this.needsRecalculate=!0}insertBefore(t,n){let i=this.objects.indexOf(n);if(i===-1)return;let r=this.appendWorldObject(t);this.renderOrder.splice(i-1,0,r/5)}hideInstance(){}asWorldObject(){return null}addZone(t){this.zones.push(t)}selectZone(t){if(typeof t=="string"){let n=this.zones.length;for(let i=0;i<n;i++)if(this.zones[i].id===t){this.selectedZone=i,this.trigger("zone-changed");return}}else this.zones[t]&&(this.selectedZone=t,this.trigger("zone-changed"))}deselectZone(){this.selectedZone=void 0}getActiveZone(){if(this.selectedZone)return this.zones[this.selectedZone]}hasActiveZone(){return typeof this.selectedZone<"u"}checkResizeInternalBuffer(){if(h0(this.points)===this.objects.length){let t=this.points,n=me(this.points.length*2);n.set(t,0),this.points=n}}appendWorldObject(t){this.checkResizeInternalBuffer();let n=this.objects.length*5,i=t.points;return t.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),t.points[1]=i[1],t.points[2]=i[2],t.points[3]=i[3],t.points[4]=i[4],this.objects.push(t),this.filteredPointsBuffer=me(this.objects.length*5),this.needsRecalculate=!0,this.triggerRepaint(),n}recalculateWorldSize(){let t=!1;if(this.needsRecalculate){let n=new Int32Array(this.objects.length),i=new Int32Array(this.objects.length),r=this.renderOrder.length;for(let u=0;u<r;u++){let f=this.renderOrder[u];this.objects[f]&&(n[u]=this.points[f*5+3],i[u]=this.points[f*5+4])}let a=Math.max(...n);a!==this._width&&(this._width=a,t=!0);let l=Math.max(...i);l!==this._height&&(this._height=l,t=!0),t&&this.trigger("recalculate-world-size",{width:a,height:l}),this.needsRecalculate=!1}return t}addObjectAt(t,n){n.width&&!n.height?n.height=n.width/t.width*t.height:n.height&&!n.width&&(n.width=n.height/t.height*t.width),(!n||!n.width||!n.height)&&(n.width=t.width,n.height=t.height);let{width:i,x:r,y:a}=n,l=i/t.width;this.checkResizeInternalBuffer(),this.points.set(Pe.singleBox(t.width,t.height,0,0),this.objects.length*5);let u=new eg(t);return u.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),this.objects.push(u),this.scaleWorldObject(this.objects.length-1,l),this.translateWorldObject(this.objects.length-1,r,a),this.filteredPointsBuffer=me(this.points.length*2),this.triggerRepaint(),this.needsRecalculate=!0,u}scaleWorldObject(t,n){hn(this.points.subarray(t*5,t*5+5),nr(n,this.points[t*5+1],this.points[t*5+2]));let i=this.objects[t];i&&(i.atScale(n),this.triggerRepaint())}translateWorldObject(t,n,i){hn(this.points.subarray(t*5,t*5+5),ht(n,i));let r=this.objects[t];r&&(r.translate(n,i),this.triggerRepaint())}resize(t,n){return this._width=t,this._height=n,this.aspectRatio=t/n,this.triggerRepaint(),this}getObjects(){return this.objects}getPoints(){return this.points}getPointsFromViewer(t,n){let i=Pe.singleBox(t.width,t.height,t.x,t.y);return this.getPointsAt(i,n,t.scale)}addLayoutSubscriber(t){return this.subscriptions.push(t),()=>{this.subscriptions.splice(this.subscriptions.indexOf(t),1)}}getScheduledUpdates(t,n){let i=Mr(this.points,t,this.filteredPointsBuffer),r=this.objects.length;this._updatedList=[];for(let a=0;a<r;a++)if(i[a*5]!==0){if(!this.objects[a])continue;this._updatedList.push(...this.objects[a].getScheduledUpdates(t,n))}return this._updatedList}getObjectsAt(t,n=!1){let i=this.getActiveZone(),r=Mr(this.points,t,this.filteredPointsBuffer),a=this.renderOrder.length,l=[];for(let u=0;u<a;u++){let f=this.renderOrder[u];if(r[f*5]!==0){let h=this.objects[f];if(!h||i&&i.objects.indexOf(h)===-1)continue;if(h.type!=="world-object"){l.push([h,[h]]);continue}n?l.push([h,h.getObjectsAt(t,n)]):l.push([h,this.emptyPaintables])}}return l}getPointsAt(t,n,i=1){let r=this.getObjectsAt(t),a=An(Dn(i),ht(-t[1],-t[2]),this.translationBuffer),l=n?An(n,a,this.aggregateBuffer):a,u=r.length,f=[];for(let h=0;h<u;h++)r[h]&&f.push(...r[h][0].getAllPointsAt(t,l,i));return f}flushSubscriptions(){if(this.triggerQueue.length){this._alreadyFlushed=[];let t=this.triggerQueue.length;for(let n=0;n<t;n++){if(this._alreadyFlushed.indexOf(this.triggerQueue[n][0])!==-1)continue;typeof this.triggerQueue[n][1]>"u"&&this._alreadyFlushed.push(this.triggerQueue[n][0]);let i=this.subscriptions.length;for(let r=0;r<i;r++)this.subscriptions[r].apply(null,this.triggerQueue[n])}this.triggerQueue=[]}}trigger(t,n){this.triggerQueue.push([t,n])}triggerEventActivation(){this.trigger("event-activation")}triggerRepaint(){this.trigger("repaint")}gotoRegion(t){this.trigger("goto-region",t)}goHome(t=!1){this.trigger("go-home",{immediate:t})}zoomTo(t,n,i){this.trigger("zoom-to",{point:n,factor:t,stream:i})}zoomIn(t){this.trigger("zoom-to",{point:t,factor:.5})}zoomOut(t){this.trigger("zoom-to",{point:t,factor:2})}constraintBounds(t){this.trigger("constrain-bounds",{immediate:t})}};var td=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,nd={},MT=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],nl=class extends Ui{constructor(){super(),P(this,"id"),P(this,"type","spacial-content"),P(this,"points"),P(this,"hoverEvents",!1),P(this,"activeEvents",!1),P(this,"display",{x:0,y:0,scale:1,width:-1,height:-1,points:me(5)}),P(this,"_parsed",{border:{id:null,match:[]},outline:{id:null,match:[]}}),P(this,"hovering"),P(this,"pressing"),P(this,"props",{}),P(this,"addHover",()=>{this.hovering=!0,this.__revision++}),P(this,"removeHover",()=>{this.hovering=!1,this.pressing=!1,this.__revision++}),P(this,"addPress",()=>{this.pressing=!0,this.__revision++}),P(this,"removePress",()=>{this.pressing=!1,this.__revision++}),this.id=gd(12),this.points=me(5)}getAllPointsAt(e,t){return[[this,this.points,t]]}applyProps(e={}){let t=!1;if(e.interactive!==this.props.interactive&&(t=!0,this.props.interactive=e.interactive),e.style){let n=e.border||e.style.border;if(n!==this._parsed.border.id)if(!n)this._parsed.border.id=null,this._parsed.border.match=[];else{let i=nd[n]||td.exec(n)||td.exec(n);i&&(this._parsed.border.id=n,this._parsed.border.match=nd[n]=i)}if(this._parsed.border.id&&(e.style.borderWidth=this._parsed.border.match[1],e.style.borderStyle="solid",e.style.borderColor=this._parsed.border.match[4]),e.style.outline!==this._parsed.outline.id)if(!e.style.outline)this._parsed.outline.id=null,this._parsed.outline.match=[];else{let i=nd[e.style.outline]||td.exec(e.style.outline)||td.exec(e.style.outline);i&&(this._parsed.outline.id=e.style.outline,this._parsed.outline.match=nd[e.style.outline]=i)}this._parsed.outline.id&&(e.style.outlineWidth=this._parsed.outline.match[1],e.style.outlineStyle="solid",e.style.outlineColor=this._parsed.outline.match[4]),this.props.style=e.style,e.backgroundColor&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.backgroundColor,t=!0),e.style.background&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.style.background,t=!0);for(let i of MT)if(this.props.style[i]!==e.style[i]){t=!0;break}e.style[":hover"]!==this.props.hoverStyles&&(this.props.hoverStyles=e.style[":hover"],this.hoverEvents||(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),t=!0),e.style[":active"]!==this.props.pressStyles&&(this.props.pressStyles=e.style[":active"],this.activeEvents||(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0)}e.href!==this.props.href&&(this.props.href=e.href,t=!0),e.hrefTarget!==this.props.hrefTarget&&(this.props.hrefTarget=e.hrefTarget,t=!0),e.title!==this.props.title&&(this.props.title=e.title,t=!0),e.className!==this.props.className&&(this.props.className=e.className,e.className&&!this.hoverEvents&&(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),e.className&&!this.activeEvents&&(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0),e.relativeSize!==this.props.relativeSize&&(this.props.relativeSize=e.relativeSize,t=!0),e.relativeStyle!==this.props.relativeStyle&&(this.props.relativeStyle=e.relativeStyle,t=!0),e.html!==this.props.html&&(this.props.html=e.html,t=!0),e.target&&(e.target.width!==this.display.width||e.target.height!==this.display.height||e.target.x!==this.points[1]||e.target.y!==this.points[2])&&(t=!0,this.points=Pe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.points=Pe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.width=e.target.width,this.display.height=e.target.height),t&&this.__revision++}},ud=class extends Ui{constructor(){super(),P(this,"type","spacial-content"),P(this,"id"),P(this,"points"),P(this,"color","#000"),P(this,"backgroundColor"),P(this,"hovering"),P(this,"pressing"),P(this,"text",""),P(this,"display",{x:0,y:0,scale:1,width:100,height:100,points:me(5)}),P(this,"className"),P(this,"html"),P(this,"interactive",!1),P(this,"props",{font:"18px Arial, sans-serif",lineHeight:1,textAlign:"left",verticalAlign:"top",paddingX:0,paddingY:0,fitParent:!1,lineBreak:"auto",strokeText:!1,sizeToFill:!1,maxFontSizeToFill:void 0,allowNewLine:!0,justifyLines:!1,renderHDPI:!1,textDecoration:"none",interactive:!1,relativeSize:!1}),this.id="",this.points=me(5)}getAllPointsAt(e,t){return[[this,this.points,t]]}applyProps({id:e,target:t,text:n,color:i,backgroundColor:r,fontSize:a=18,interactive:l,fontFamily:u="Arial, sans-serif",...f}){f.font=`${a}px ${u}`,this.interactive=l||!1,typeof n<"u"&&(this.text=n||""),i&&(this.color=i),r&&(this.backgroundColor=r),e&&(this.id=e),t&&(this.points=Pe.singleBox(t.width,t.height,t.x,t.y),this.display.points=this.points,this.display.width=t.width,this.display.height=t.height),this.props={...this.props,...f},this.__revision++}},pt=Math.pow,id=Math.sqrt,el=Math.sin,Yw=Math.cos,il=Math.PI,fd=1.70158,rd=fd*1.525,Kw=fd+1,Xw=2*il/3,Zw=2*il/4.5,od=function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},Nr={linear:e=>e,easeInQuad:function(e){return e*e},easeOutQuad:function(e){return 1-(1-e)*(1-e)},easeInOutQuad:function(e){return e<.5?2*e*e:1-pt(-2*e+2,2)/2},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return 1-pt(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-pt(-2*e+2,3)/2},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1-pt(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-pt(-2*e+2,4)/2},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1-pt(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-pt(-2*e+2,5)/2},easeInSine:function(e){return 1-Yw(e*il/2)},easeOutSine:function(e){return el(e*il/2)},easeInOutSine:function(e){return-(Yw(il*e)-1)/2},easeInExpo:function(e){return e===0?0:pt(2,10*e-10)},easeOutExpo:function(e){return e===1?1:1-pt(2,-10*e)},easeInOutExpo:function(e){return e===0?0:e===1?1:e<.5?pt(2,20*e-10)/2:(2-pt(2,-20*e+10))/2},easeInCirc:function(e){return 1-id(1-pt(e,2))},easeOutCirc:function(e){return id(1-pt(e-1,2))},easeInOutCirc:function(e){return e<.5?(1-id(1-pt(2*e,2)))/2:(id(1-pt(-2*e+2,2))+1)/2},easeInBack:function(e){return Kw*e*e*e-fd*e*e},easeOutBack:function(e){return 1+Kw*pt(e-1,3)+fd*pt(e-1,2)},easeInOutBack:function(e){return e<.5?pt(2*e,2)*((rd+1)*2*e-rd)/2:(pt(2*e-2,2)*((rd+1)*(e*2-2)+rd)+2)/2},easeInElastic:function(e){return e===0?0:e===1?1:-pt(2,10*e-10)*el((e*10-10.75)*Xw)},easeOutElastic:function(e){return e===0?0:e===1?1:pt(2,-10*e)*el((e*10-.75)*Xw)+1},easeInOutElastic:function(e){return e===0?0:e===1?1:e<.5?-(pt(2,20*e-10)*el((20*e-11.125)*Zw))/2:pt(2,-20*e+10)*el((20*e-11.125)*Zw)/2+1},easeInBounce:function(e){return 1-od(1-e)},easeOutBounce:od,easeInOutBounce:function(e){return e<.5?(1-od(1-2*e))/2:(1+od(2*e-1))/2}},_T=class{constructor(e){P(this,"runtime"),P(this,"pendingTransition"),P(this,"lastZoomTo",null),P(this,"isConstraining",!1),P(this,"lastGoToRegion",null),this.runtime=e,this.pendingTransition={from:me(5),to:me(5),elapsed_time:0,done:!0,total_time:0,timingFunction:Nr.easeInOutQuad,constrain:!1}}hasPending(){return!this.pendingTransition.done}getPendingTransition(){return this.pendingTransition}getPendingFrom(){return this.pendingTransition.from}customTransition(e){e(this.pendingTransition)}stopTransition(){this.pendingTransition.from=me(this.runtime.target),this.pendingTransition.to=me(this.runtime.target),this.pendingTransition.done=!0,this.pendingTransition.elapsed_time=0,this.pendingTransition.total_time=0}runTransition(e,t){if(!this.pendingTransition.done){let n=this.pendingTransition,i=n.total_time===0?0:(n.elapsed_time+t)/n.total_time,r=n.total_time===0?1:i===0?0:n.timingFunction(i);e[1]=n.from[1]+(n.to[1]-n.from[1])*r,e[2]=n.from[2]+(n.to[2]-n.from[2])*r,e[3]=n.from[3]+(n.to[3]-n.from[3])*r,e[4]=n.from[4]+(n.to[4]-n.from[4])*r,this.pendingTransition.elapsed_time+=t,this.pendingTransition.elapsed_time>=this.pendingTransition.total_time&&(this.pendingTransition.done=!0,this.pendingTransition.callback?.(),this.pendingTransition.constrain&&this.constrainBounds({transition:{duration:this.pendingTransition.total_time===0?0:500,easing:Nr.easeOutExpo}}))}}resumeTransition(){this.lastZoomTo&&this.zoomTo(this.lastZoomTo.factor,this.lastZoomTo.options),this.isConstraining&&this.constrainBounds(),this.lastGoToRegion&&this.goToRegion(this.lastGoToRegion.target,this.lastGoToRegion.options)}zoomTo(e,t={}){let{origin:n,stream:i=!1,transition:r}=t;this.lastZoomTo={factor:e,options:t};let a=this.runtime.getZoomedPosition(e,{origin:n}),l=Math.abs(1-e);this.applyTransition(a,r,{duration:2e3*l,easing:Nr.easeOutExpo,constrain:!0,callback:()=>{this.lastZoomTo=null}},{stream:!1})}constrainBounds({transition:e,panPadding:t=0}={}){this.isConstraining=!0;let[n,i]=this.runtime.constrainBounds(this.runtime.target,{panPadding:t});n&&(this.applyTransition(i,e,{duration:500,easing:Nr.easeOutQuart,constrain:!1,callback:()=>{this.isConstraining=!1}}),this.runtime.updateNextFrame())}applyTransition(e,t,n,{stream:i}={}){this.pendingTransition.from=me(this.runtime.target),this.pendingTransition.to=e,i||(this.pendingTransition.elapsed_time=0),this.pendingTransition.done=!1,this.pendingTransition.total_time=typeof t?.duration<"u"?t.duration:typeof n?.duration<"u"?n.duration:1e3,this.pendingTransition.constrain=typeof t?.constrain<"u"?t.constrain:typeof n?.constrain<"u"?n.constrain:!1,this.pendingTransition.timingFunction=t?.easing||n?.easing||Nr.easeInOutSine}goToRegion(e,{transition:t}={}){this.lastGoToRegion={target:e,options:{transition:t}};let n=this.runtime.clampRegion(e);this.applyTransition(Pe.singleBox(n.width,n.height,n.x,n.y),t,{duration:1e3,easing:Nr.easeOutExpo,constrain:!0,callback:()=>{this.lastGoToRegion=null}}),this.runtime.updateNextFrame()}},rN=Number.MIN_VALUE+1,vd=class{constructor(e,t,n,i=[],r){P(this,"id",gd()),P(this,"ready",!1),P(this,"renderer"),P(this,"world"),P(this,"target"),P(this,"homePosition"),P(this,"manualHomePosition"),P(this,"manualFocalPosition"),P(this,"focalPosition"),P(this,"transitionManager"),P(this,"aggregate"),P(this,"transformBuffer",me(500)),P(this,"lastTarget",me(5)),P(this,"zoomBuffer",me(5)),P(this,"logNextRender",!1),P(this,"pendingUpdate",!0),P(this,"isCommitting",!1),P(this,"firstRender",!0),P(this,"lastTime"),P(this,"stopId"),P(this,"mode","explore"),P(this,"controllers",[]),P(this,"controllersRunning",!1),P(this,"controllerStopFunctions",[]),P(this,"maxScaleFactor",1),P(this,"_viewerToWorld",{x:0,y:0}),P(this,"_lastGoodScale",1),P(this,"hooks",{useFrame:[],useBeforeFrame:[],useAfterPaint:[],useAfterFrame:[]}),P(this,"fpsLimit"),P(this,"options"),P(this,"hookOptions",{filters:{grayscale:0,contrast:0,brightness:0,saturate:0,sepia:0,invert:0,hueRotate:0,blur:0}}),P(this,"_viewport",{x:0,y:0,width:0,height:0}),P(this,"setViewport",a=>{let l=Math.round(typeof a.x>"u"?this.target[1]:a.x),u=Math.round(typeof a.y>"u"?this.target[2]:a.y);a.width?this.target[3]=l+a.width:this.target[3]=this.target[3]-this.target[1]+l,a.height?this.target[4]=u+a.height:this.target[4]=this.target[4]-this.target[2]+u,Math.abs(this.target[1]-l)>.01&&(this.target[1]=l),Math.abs(this.target[2]-u)>.01&&(this.target[2]=u),this.pendingUpdate=!0}),P(this,"render",a=>{let l=a-this.lastTime;if(this.isCommitting||this.fpsLimit&&l<1e3/this.fpsLimit){this.stopId=window.requestAnimationFrame(this.render);return}this.lastTime=a,this.world.flushSubscriptions(),this.stopId=window.requestAnimationFrame(this.render),this.hook("useFrame",l);let u=this.pendingUpdate,f=this.renderer.pendingUpdate();if(this.transitionManager.hasPending()&&(this.transitionManager.runTransition(this.target,l),this.pendingUpdate=!0,this.updateControllerPosition()),!this.firstRender&&!u&&!f&&this.target[0]===this.lastTarget[0]&&this.target[1]===this.lastTarget[1]&&this.target[2]===this.lastTarget[2]&&this.target[3]===this.lastTarget[3]&&this.target[4]===this.lastTarget[4])return;this.hook("useBeforeFrame",l),this.renderer.beforeFrame(this.world,l,this.target,this.hookOptions);let h=this.getScaleFactor(),c=this.renderer.getPointsAt(this.world,this.target,this.aggregate,h),m=c.length;for(let y=0;y<m;y++){let S=c[y][0],E=c[y][1],R=c[y][2],b=R?Bn(E,R,this.transformBuffer):E;this.renderer.prepareLayer(S,S.__parent&&R?Bn(S.__parent.crop||S.__parent.points,R):b);let I=b.length/5;for(let M=0;M<I;M++){let T=M*5;b[T]!==0&&(this.renderer.paint(S,M,b[T+1],b[T+2],b[T+3]-b[T+1],b[T+4]-b[T+2]),this.hook("useAfterPaint",S))}this.renderer.finishLayer(S,E)}this.renderer.afterFrame(this.world,l,this.target,this.hookOptions),this.hook("useAfterFrame",l),this.lastTarget[0]=this.target[0],this.lastTarget[1]=this.target[1],this.lastTarget[2]=this.target[2],this.lastTarget[3]=this.target[3],this.lastTarget[4]=this.target[4],this.firstRender=!1,this.pendingUpdate=!1,this.logNextRender=!1,this.renderer.isReady()&&(this.ready=!0,this.world.trigger("ready")),this.world.flushSubscriptions();let v=this.world.getScheduledUpdates(this.target,h),w=v.length;if(w>0)for(let y=0;y<w;y++){let S=v[w-y-1]();S?S.then(()=>{this.pendingUpdate=!0}):this.pendingUpdate=!0}}),this.renderer=e,this.world=t,this.options={maxOverZoom:1,maxUnderZoom:1,visibilityRatio:1.5,...r||{}},this.target=Pe.projection(n),this.manualHomePosition=!1,this.pendingUpdate=!0,this.homePosition=Pe.projection(this.world),this.manualFocalPosition=!1,this.focalPosition=this.target,this.updateFocalPosition(),this.transitionManager=new _T(this),this.aggregate=Dn(1),this.world.addLayoutSubscriber(a=>{a==="repaint"&&(this.pendingUpdate=!0),a==="recalculate-world-size"&&(this.manualHomePosition||(this.setHomePosition(),this.goHome()),this.updateFocalPosition())}),this.lastTime=performance.now(),this.controllers=i,this.render(this.lastTime),this.startControllers()}get x(){return this.target[1]}set x(e){this.target[1]=e}get y(){return this.target[2]}set y(e){this.target[2]=e}get x2(){return this.target[3]}set x2(e){this.target[3]=e}get y2(){return this.target[4]}set y2(e){this.target[4]=e}get width(){return this.target[3]-this.target[1]}set width(e){this.target[3]=this.target[1]+e}get height(){return this.target[4]-this.target[2]}set height(e){this.target[4]=this.target[2]=e}setHomePosition(e){this.homePosition.set(Pe.projection(e||this.world)),this.pendingUpdate=!0}startControllers(){if(!this.controllersRunning){for(let e of this.controllers)this.controllerStopFunctions.push(e.start(this));this.controllersRunning=!0}}stopControllers(){if(this.controllersRunning){for(let e of this.controllerStopFunctions)e();this.controllersRunning=!1,this.controllerStopFunctions=[]}}updateControllerPosition(){for(let e of this.controllers)e.updatePosition(this.x,this.y,this.width,this.height)}triggerResize(){this.renderer.triggerResize&&this.renderer.triggerResize(),this.pendingUpdate=!0}addController(e){this.controllers.push(e),this.controllersRunning&&e.start(this),this.pendingUpdate=!0}cover(){return this.goHome({cover:!0})}getRendererScreenPosition(){return this.renderer.getRendererScreenPosition()}updateRendererScreenPosition(){this.pendingUpdate=!0,this.renderer.resize()}setOptions(e){this.options={...this.options,...e}}goHome(e={}){if(this.world.width<=0||this.world.height<=0)return;let t=this.getScaleFactor(),n=e.position?{x:e.position[1],y:e.position[2],width:e.position[3]-e.position[1],height:e.position[4]-e.position[2]}:{x:this.homePosition[1],y:this.homePosition[2],width:this.homePosition[3]-this.homePosition[1],height:this.homePosition[4]-this.homePosition[2]},i=this.width*t,r=this.height*t,a=n.width/i,l=n.height/r,u=i/r;if(e.cover?a>l:a<l){let f=u*n.height,h=(f-n.width)/2;this.target[1]=Math.round(-h+n.x),this.target[2]=Math.round(n.y),this.target[3]=Math.round(f-h+n.x),this.target[4]=Math.round(n.height+n.y)}else{let f=n.width/u,h=(f-n.height)/2;this.target[1]=Math.round(n.x),this.target[2]=Math.round(n.y-h),this.target[3]=Math.round(n.x+n.width),this.target[4]=Math.round(n.y+f-h)}this.constrainBounds(this.target),this.updateControllerPosition()}resize(e,t,n,i){this.transitionManager.hasPending()&&this.transitionManager.stopTransition(),this.updateFocalPosition(e-t,n-i);let r=t/e,a=i/n;this.target[3]=this.target[1]+(this.target[3]-this.target[1])*r,this.target[4]=this.target[2]+(this.target[4]-this.target[2])*a,this.goHome({position:this.focalPosition}),this.renderer.resize(t,i),this.pendingUpdate=!0,this.transitionManager.resumeTransition()}updateFocalPosition(e,t){if(!this.manualFocalPosition){let n=this.width,i=this.height,r=Math.min(n,i),a=0,l=0,u=this.x+a,f=this.y+l;if(n<i){let h=this.height-this.width;this.focalPosition=Pe.projection({x:u,y:f+h/2,width:r-a*2,height:r-l*2}),this.pendingUpdate=!0}else{let h=this.width-this.height;this.focalPosition=Pe.projection({x:u+h/2,y:f,width:r-a*2,height:r-l*2}),this.pendingUpdate=!0}}}getViewport(){return this._viewport.x=this.target[1],this._viewport.y=this.target[2],this._viewport.width=this.target[3]-this.target[1],this._viewport.height=this.target[4]-this.target[2],this._viewport}constrainBounds(e,{panPadding:t=0,ref:n=!1}={}){let{minX:i,maxX:r,minY:a,maxY:l}=this.getBounds({target:e,padding:t}),u=!1,f=n?e:me(e),h=Math.round(e[3]-e[1]),c=Math.round(e[4]-e[2]);return i>e[1]&&(u=!0,f[1]=i,f[3]=i+h),a>e[2]&&(u=!0,f[2]=a,f[4]=a+c),r<e[1]&&(u=!0,f[1]=r,f[3]=r+h),l<e[2]&&(u=!0,f[2]=l,f[4]=l+c),[u,f]}getBounds(e){let t=e.target||this.target,n=e.padding,i=this.options.visibilityRatio,r=Math.abs(1-i);if(this.world.hasActiveZone()){let R=this.world.getActiveZone();if(R){let b=t[3]-t[1]<R.points[3]-R.points[1],I=t[4]-t[2]<R.points[4]-R.points[2];return{minX:b?R.points[1]-n:R.points[1]+(R.points[3]-R.points[1])/2-(t[3]-t[1])/2,maxX:I?R.points[2]-n:R.points[2]+(R.points[4]-R.points[2])/2-(t[4]-t[2])/2,minY:b?R.points[3]+n:R.points[1]+(R.points[3]-R.points[1])/2-(t[3]-t[1])/2,maxY:I?R.points[4]+n:R.points[2]+(R.points[4]-R.points[2])/2-(t[4]-t[2])/2}}}let a=t[3]-t[1],l=this.world.width,u=-a*r,f=l-a-u,h=t[4]-t[2],c=this.world.height,m=-h*r,v=c-h-m,w=Math.round(Math.max(u,f)),y=Math.round(Math.min(u,f)),S=Math.round(Math.max(m,v)),E=Math.round(Math.min(m,v));return{minX:y,maxX:w,minY:E,maxY:S}}getScaleFactor(e=!1){let t=this.renderer.getScale(this.target[3]-this.target[1],this.target[4]-this.target[2],e);return t===0?this._lastGoodScale:(this._lastGoodScale=t,t)}getZoomedPosition(e,{origin:t,fromPos:n}){let i=n?{width:n[3]-n[1],height:n[4]-n[2]}:void 0,r=i?this.renderer.getScale(i.width,i.height):this.getScaleFactor(),a=i?i.width:this.width,l=i?i.height:this.height,u=this.getRendererScreenPosition()?.width,f=this.world.width,h=u?u/f:1,c=this.options.maxUnderZoom,m=Math.max(h||1,this.options.maxOverZoom),v=1/e,w=r*v;if(v<1){let S=a*r,E=l*r,R=this.world.width/S,b=this.world.height/E;if(R>b){let I=this.world.width*w,M=~~(a*r)*c;I<M&&(e=this.world.width*r/(a*r*c))}else{let I=this.world.height*w,M=~~(l*r)*c;I<M&&(e=this.world.height*r/(l*r*c))}}else w>m&&(e=r/m);let y=Bn(this.target,nr(e,t?t.x:this.target[1]+(this.target[3]-this.target[1])/2,t?t.y:this.target[2]+(this.target[4]-this.target[2])/2),this.zoomBuffer);return this.constrainBounds(y,{ref:!0,panPadding:100}),y}clampRegion({x:e,y:t,width:n,height:i,padding:r=0}){let a=this.width,l=this.height,u=n/a<i/l,f=e-r,h=t-r,c=n+r*2,m=i+r*2;if(u){let w=m/l*a;return{x:f-(w-c)/2,y:h,width:w,height:m}}let v=c/a*l;return{x:f,y:h-(v-m)/2,width:c,height:v}}viewerToWorld(e,t){let n=this.getScaleFactor();return this._viewerToWorld.x=this.target[1]+e/n,this._viewerToWorld.y=this.target[2]+t/n,this._viewerToWorld}worldToViewer(e,t,n,i){let r=Pe.singleBox(n,i,e,t);return hn(r,An(Dn(this.getScaleFactor()),ht(-this.target[1],-this.target[2]))),{x:r[1],y:r[2],width:r[3]-r[1],height:r[4]-r[2],strand:r}}setScale(e,t){hn(this.target,nr(e,t?t.x:this.target[1]+(this.target[3]-this.target[1])/2,t?t.y:this.target[2]+(this.target[4]-this.target[2])/2)),this.pendingUpdate=!0}syncTo(e){let t=this.target;return this.target=e.target,this.pendingUpdate=!0,()=>{this.target=t}}stop(){return typeof this.stopId<"u"&&(window.cancelAnimationFrame(this.stopId),this.stopId=void 0),()=>{this.render(performance.now())}}reset(){this.renderer.reset()}selectZone(e){this.world.selectZone(e),this.pendingUpdate=!0}deselectZone(){this.world.deselectZone(),this.pendingUpdate=!0}hook(e,t){let n=this.hooks[e].length;if(n!==0)for(let i=0;i<n;i++)this.hooks[e][i](t)}registerHook(e,t){return this.hooks[e].push(t),()=>{this.hooks[e]=this.hooks[e].filter(n=>n!==t)}}updateNextFrame(){this.pendingUpdate=!0}},sd=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,ad={},OT=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],f1=class extends Ui{constructor(){super(),P(this,"id"),P(this,"type","spacial-content"),P(this,"isShape",!0),P(this,"points"),P(this,"hoverEvents",!1),P(this,"activeEvents",!1),P(this,"display",{x:0,y:0,scale:1,width:-1,height:-1,points:me(5)}),P(this,"boundingBox",null),P(this,"_parsed",{border:{id:null,match:[]},outline:{id:null,match:[]}}),P(this,"hovering"),P(this,"pressing"),P(this,"props",{}),P(this,"shape",{type:"none"}),P(this,"addHover",()=>{this.hovering=!0,this.__revision++}),P(this,"removeHover",()=>{this.hovering=!1,this.pressing=!1,this.__revision++}),P(this,"addPress",()=>{this.pressing=!0,this.__revision++}),P(this,"removePress",()=>{this.pressing=!1,this.__revision++}),this.id=gd(12),this.points=me(5),this.shape={type:"none"}}updateBoundingBox(){if(this.shape.type==="none")return;let e=this.shape.points;if(this.shape.points.length>2){let t=Math.min(...e.map(a=>a[0])),n=Math.min(...e.map(a=>a[1])),i=Math.max(0,...e.map(a=>a[0])),r=Math.max(0,...e.map(a=>a[1]));this.boundingBox={x:t,y:n,width:i-t,height:r-n};return}this.boundingBox=null}intersects(e){if(!e||this.shape.type==="none")return!1;let[t,n]=e,i=this.shape.points,r=this.boundingBox;if(r||(this.updateBoundingBox(),r=this.boundingBox),!r||t<r.x||t>r.x+r.width||n<r.y||n>r.height+r.y)return!1;let a=!1;for(let l=0,u=i.length-1;l<i.length;u=l++)i[l][1]>n!=i[u][1]>n&&t<(i[u][0]-i[l][0])*(n-i[l][1])/(i[u][1]-i[l][1])+i[l][0]&&(a=!a);return a}getAllPointsAt(e,t){return e[3]-e[1]===1&&e[4]-e[2]===1?this.intersects([e[1],e[2]])?[[this,this.points,t]]:[]:[[this,this.points,t]]}applyProps(e={}){let t=!1;if(e.points)if(this.shape.type!=="polygon"||this.shape.points.length!==e.points.length)this.shape={type:"polygon",points:e.points,open:e.open},this.updateBoundingBox();else{let n=!1,i=e.points.length;for(let r=0;r<i;r++)if(e.points[r][0]!==this.shape.points[r][0]||e.points[r][1]!==this.shape.points[r][1]){n=!0;break}n&&(this.shape={type:"polygon",points:e.points,open:e.open},this.updateBoundingBox())}if(e.interactive!==this.props.interactive&&(t=!0,this.props.interactive=e.interactive),(e.open||e.open===!1)&&(t=!0,this.shape.open=e.open),e.style){let n=e.border||e.style.border;if(n!==this._parsed.border.id)if(!n)this._parsed.border.id=null,this._parsed.border.match=[];else{let i=ad[n]||sd.exec(n)||sd.exec(n);i&&(this._parsed.border.id=n,this._parsed.border.match=ad[n]=i)}if(this._parsed.border.id&&(e.style.borderWidth=this._parsed.border.match[1],e.style.borderStyle="solid",e.style.borderColor=this._parsed.border.match[4]),e.style.outline!==this._parsed.outline.id)if(!e.style.outline)this._parsed.outline.id=null,this._parsed.outline.match=[];else{let i=ad[e.style.outline]||sd.exec(e.style.outline)||sd.exec(e.style.outline);i&&(this._parsed.outline.id=e.style.outline,this._parsed.outline.match=ad[e.style.outline]=i)}this._parsed.outline.id&&(e.style.outlineWidth=this._parsed.outline.match[1],e.style.outlineStyle="solid",e.style.outlineColor=this._parsed.outline.match[4]),this.props.style=e.style,e.backgroundColor&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.backgroundColor,t=!0),e.style.background&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.style.background,t=!0);for(let i of OT)if(this.props.style[i]!==e.style[i]){t=!0;break}e.style[":hover"]!==this.props.hoverStyles&&(this.props.hoverStyles=e.style[":hover"],this.hoverEvents||(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),t=!0),e.style[":active"]!==this.props.pressStyles&&(this.props.pressStyles=e.style[":active"],this.activeEvents||(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0)}e.href!==this.props.href&&(this.props.href=e.href,t=!0),e.hrefTarget!==this.props.hrefTarget&&(this.props.hrefTarget=e.hrefTarget,t=!0),e.title!==this.props.title&&(this.props.title=e.title,t=!0),e.className!==this.props.className&&(this.props.className=e.className,e.className&&!this.hoverEvents&&(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),e.className&&!this.activeEvents&&(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0),e.relativeSize!==this.props.relativeSize&&(this.props.relativeSize=e.relativeSize,t=!0),e.relativeStyle!==this.props.relativeStyle&&(this.props.relativeStyle=e.relativeStyle,t=!0),e.html!==this.props.html&&(this.props.html=e.html,t=!0),e.target&&(e.target.width!==this.display.width||e.target.height!==this.display.height||e.target.x!==this.points[1]||e.target.y!==this.points[2])&&(t=!0,this.points=Pe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.points=Pe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.width=e.target.width,this.display.height=e.target.height),t&&this.__revision++}},Jw=/(-?[0-9]+(px|em)\s+|0\s+)(-?[0-9]+(px|em)\s+|0\s+)(-?[0-9]+(px|em)\s+|0\s+)?(-?[0-9]+(px|em)\s+|0\s+)?(.*)/g,e1={},kT=typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes("firefox"),ld={},LT=class{constructor(e,t){P(this,"canvas"),P(this,"ctx"),P(this,"options"),P(this,"imagesPending",0),P(this,"imagesLoaded",0),P(this,"imageIdsLoaded",[]),P(this,"frameIsRendering",!1),P(this,"pendingDrawCall",!1),P(this,"firstMeaningfulPaint",!1),P(this,"parallelTasks",8),P(this,"frameTasks",0),P(this,"loadingQueueOrdered",!0),P(this,"loadingQueue",[]),P(this,"currentTask",Promise.resolve()),P(this,"tasksRunning",0),P(this,"stats"),P(this,"averageJobTime",64),P(this,"lastKnownScale",1),P(this,"visible",[]),P(this,"previousVisible",[]),P(this,"rendererPosition"),P(this,"dpi"),P(this,"drawCalls",[]),P(this,"lastPaintedObject"),P(this,"hostCache"),P(this,"invalidated",[]),P(this,"_worker",()=>{if(this.loadingQueue.length){let n=this.loadingQueue.pop();n&&(this.tasksRunning++,this.frameTasks++,this.currentTask=n.task().then(()=>{this.tasksRunning--}).catch(()=>{this.tasksRunning--}))}}),P(this,"_scheduled",0),P(this,"_doWork",()=>{this.loadingQueue.length===0&&this.tasksRunning===0&&this._scheduled&&(clearInterval(this._scheduled),this._scheduled=0);let n=this.parallelTasks||1;!this.firstMeaningfulPaint&&this.loadingQueue.length&&(n=this.loadingQueue.length);for(let i=0;i<=n;i++)this._worker()}),this.canvas=e,this.rendererPosition=e.getBoundingClientRect(),this.ctx=e.getContext("2d",{alpha:!0}),this.ctx.imageSmoothingEnabled=!0,this.options=t||{},this.canvas.style.transition="opacity .3s",this.dpi=t?.dpi||1,this.hostCache=t?.lruCache?new y0({maxSize:1024*512*512,dispose:(n,i,r)=>{this.invalidated.push(i),n.width=0,n.height=0},sizeCalculation:(n,i)=>n.width*n.height}):{store:{},get(n){return this.store[n]},set(n,i){this.store[n]=i}}}getCanvasDims(){return{width:this.canvas.width/this.dpi,height:this.canvas.height/this.dpi}}resize(){this.rendererPosition=this.canvas.getBoundingClientRect()}isReady(){return this.firstMeaningfulPaint}afterFrame(e){if(this.clearTransform(),this.lastPaintedObject=void 0,this.frameIsRendering=!1,this.imagesPending=Math.max(0,this.imagesPending-this.imagesLoaded),this.imagesLoaded=0,this.loadingQueueOrdered||(this.loadingQueue=this.loadingQueue.sort((t,n)=>t.network&&t.scale===n.scale?n.distance-t.distance:t.scale<n.scale?-1:1),this.loadingQueueOrdered=!0),this.previousVisible=this.visible,this.pendingDrawCall=!!this.drawCalls.length,this.pendingDrawCall)for(let t=0;t<this.drawCalls.length;t++){let n=this.drawCalls.shift();n&&n()}this.doOffscreenWork(),this.options.debug&&this.stats&&this.stats.end()}doOffscreenWork(){this.frameTasks=0,this.loadingQueue.length&&(this._worker(),this.loadingQueue.length&&(this._scheduled||(this._scheduled=setInterval(this._doWork,0))))}getScale(e,t,n){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let i=this.getCanvasDims(),r=i.width/e,a=i.height/t,l=(r<a?a:r)*(n&&this.dpi||1);return Number.isNaN(l)||(this.lastKnownScale=l),this.lastKnownScale}beforeFrame(e,t,n,i){this.options.debug&&this.stats&&this.stats.begin(),this.frameIsRendering=!0,this.visible=[],this.options.beforeFrame&&this.options.beforeFrame(t);let r=this.getCanvasDims();if(this.ctx.globalAlpha=1,this.ctx.fillStyle=this.canvas.dataset.background??"rgb(0, 0, 0)",this.ctx.fillRect(0,0,r.width,r.height),i.enableFilters&&(i.filters.brightness||i.filters.contrast||i.filters.grayscale||i.filters.invert||i.filters.sepia||i.filters.saturate||i.filters.hueRotate||i.filters.blur)){let a="";i.filters.brightness&&(a+=`brightness(${~~(100+i.filters.brightness*100)}%) `),i.filters.contrast&&(a+=`contrast(${~~(100+i.filters.contrast*100)}%) `),i.filters.grayscale&&(a+=`grayscale(${~~(i.filters.grayscale*100)}%) `),i.filters.invert&&(a+=`invert(${~~(i.filters.invert*100)}%) `),i.filters.sepia&&(a+=`sepia(${~~(i.filters.sepia*100)}%) `),i.filters.saturate&&(a+=`saturate(${~~(100+i.filters.saturate*100)}%) `),i.filters.hueRotate&&(a+=`hue-rotate(${i.filters.hueRotate}deg) `),i.filters.blur&&(a+=`blur(${i.filters.blur}px) `),this.ctx.filter=a}else this.ctx.filter="none"}applyTransform(e,t,n,i,r){let a=e.__owner.value;if(a&&a.rotation){this.ctx.save();let l=t+i/2,u=n+r/2;this.ctx.translate(l,u),this.ctx.rotate(a.rotation*Math.PI/180),this.ctx.translate(-l,-u),this.lastPaintedObject=a}}clearTransform(){this.lastPaintedObject&&(this.lastPaintedObject.rotation&&this.ctx.restore(),this.lastPaintedObject=void 0)}paint(e,t,n,i,r,a){let l=this.ctx.globalAlpha;if(e instanceof zr||e instanceof sl){if(e.display.rotation){this.ctx.save();let h=n+r/2,c=i+a/2;e.crop&&(h-=e.crop[t*5+1],c-=e.crop[t*5+2]),this.ctx.translate(h,c),this.ctx.rotate(e.display.rotation*Math.PI/180),this.ctx.translate(-h,-c)}if(this.visible.push(e),typeof e.style&&e.style.opacity!=="undefined"){if(!e.style.opacity)return;this.ctx.globalAlpha=e.style.opacity}try{let h=e.__host.canvas,c=this.getCanvasDims();if((h.indices.indexOf(t)===-1||this.invalidated.indexOf(h.canvases[t])!==-1)&&this.schedulePaintToCanvas(h,e,t,dd({x:n+r/2,y:i+r/2},{x:c.width/2,y:c.height/2})),!this.firstMeaningfulPaint)return;let m=this.hostCache.get(h.canvases[t]);if(m)if(e.crop&&e.cropData){if(e.crop[t*5]){let v=[e.crop[t*5+1]/e.display.scale-e.display.points[t*5+1],e.crop[t*5+2]/e.display.scale-e.display.points[t*5+2],1+(e.crop[t*5+3]-e.crop[t*5+1])/e.display.scale,1+(e.crop[t*5+4]-e.crop[t*5+2])/e.display.scale];v[0]+=e.cropData.x/e.display.scale,v[1]+=e.cropData.y/e.display.scale;let w=e.x*this.lastKnownScale,y=e.y*this.lastKnownScale,S=[n+w,i+y,r,a];S[0]+=w,S[1]+=y,this.ctx.drawImage(m,v[0],v[1],v[2],v[3],S[0],S[1],S[2]+1,S[3]+1)}}else kT?this.ctx.drawImage(m,0,0,e.display.points[t*5+3]-e.display.points[t*5+1],e.display.points[t*5+4]-e.display.points[t*5+2],n,i,r+1,a+1):this.ctx.drawImage(m,0,0,e.display.points[t*5+3]-e.display.points[t*5+1],e.display.points[t*5+4]-e.display.points[t*5+2],n,i,r+Number.MIN_VALUE+.5,a+Number.MIN_VALUE+.5)}catch{}e.display.rotation&&this.ctx.restore()}let u=e instanceof nl&&this.options.box,f=e instanceof f1&&this.options.polygon;if((u||f)&&!e.props.className&&!e.props.html&&!e.props.href){if(this.visible.push(e),e.props.style){let h=Object.assign({},e.props.style||{},e.hovering?e.props.hoverStyles:{},e.pressing?e.props.pressStyles:{}),c=e.props.relativeStyle?1:r/e.width;typeof h.opacity<"u"&&(this.ctx.globalAlpha=h.opacity);let m=0;typeof h.borderWidth<"u"&&(m=parseInt(h.borderWidth,10)*c);let v=0;typeof h.outlineWidth<"u"&&(v=parseInt(h.outlineWidth,10)*c);let w=0;if(typeof h.outlineOffset<"u"&&(w=parseInt(h.outlineOffset,10)*c),h.borderColor&&(this.ctx.strokeStyle=h.borderColor),h.boxShadow){let y=h.boxShadow.split(/,(?![^(]*\))/);for(let S of y){let E=e1[S]||Jw.exec(S)||Jw.exec(S);e1[S]=E,E&&(this.ctx.save(),this.ctx.shadowOffsetX=parseInt(E[1])*this.dpi*c,this.ctx.shadowOffsetY=parseInt(E[3])*this.dpi*c,this.ctx.shadowBlur=parseInt(E[5])*this.dpi*c,this.ctx.shadowColor=E[9],this.ctx.fillStyle="rgba(0,0,0,1)",this.ctx.fillRect(n+m,i+m,r,a),this.ctx.restore())}}if(this.ctx.fillStyle=h.backgroundColor||"transparent",this.ctx.lineWidth=m,f){let y=e.shape,S=y.points||[],E=S.length;this.ctx.beginPath();for(let R=0;R<E;R++)this.ctx.lineTo(n+S[R][0]*this.lastKnownScale,i+S[R][1]*this.lastKnownScale);y.open||this.ctx.closePath(),m&&this.ctx.stroke(),y.open||this.ctx.fill()}else m&&this.ctx.strokeRect(n+m/2,i+m/2,r+m,a+m),this.ctx.fillRect(n+m,i+m,r,a);v&&(h.outlineColor&&(this.ctx.strokeStyle=h.outlineColor),this.ctx.lineWidth=v,this.ctx.strokeRect(n-v/2-w,i-v/2-w,r+m*2+v+w*2,a+m*2+v+w*2))}this.ctx.globalAlpha=l}}loadImage(e,t,n,i=!1){if(ld[e]&&ld[e].naturalWidth>0){t(ld[e]);return}try{let r=!1;i||setTimeout(()=>{r||this.loadImage(e,t,n,!0)},3e3);let a=document.createElement("img");a.decoding="auto",a.onload=function(){r=!0,t(a),ld[e]=a,a.onload=null},this.options.crossOrigin&&(a.crossOrigin="anonymous"),a.src=e,a.complete&&a.onload({}),a.width}catch(r){console.log("image error",r),n(r)}}schedulePaintToCanvas(e,t,n,i){this.imagesPending++,e.indices.push(n);let r=`${t.id}--${t.display.scale}-${n}`,a=this.invalidated.indexOf(r);a!==-1&&this.invalidated.splice(a,1),e.canvases[n]=r,t.__host.canvas.loading=!0,this.loadingQueueOrdered=!1,this.loadingQueue.push({id:r,scale:t.display.scale,network:!0,distance:i,task:()=>new Promise(l=>{if(this.visible.indexOf(t)===-1){this.imagesPending--,e.indices.splice(e.indices.indexOf(n),1),l();return}let u=t.getImageUrl(n);this.loadImage(u,f=>{this.loadingQueue.push({id:r,scale:t.display.scale,distance:i,task:()=>new Promise(h=>{this.imageIdsLoaded.includes(r)||(this.imagesLoaded++,this.imageIdsLoaded.push(r)),e.loaded.push(n),e.loaded.length===e.indices.length&&(e.loading=!1);let c=t.display.points.slice(n*5,n*5+5),m=document.createElement("canvas"),v=m.getContext("2d");m.width=c[3]-c[1],m.height=c[4]-c[2],this.hostCache.set(e.canvases[n],m),this.drawCalls.push(()=>{v.drawImage(f,0,0,c[3]-c[1],c[4]-c[2]),h()})})}),l()},f=>{this.imagesPending--,e.indices.splice(e.indices.indexOf(n),1),l()})})})}afterPaintLayer(e,t){}prepareLayer(e,t){if(e.__owner.value)if(e.cropData){let n=this.lastKnownScale*(1/e.display.scale);this.applyTransform(e,t[1],t[2],t[3]-t[1],t[4]-t[2])}else this.applyTransform(e,t[1],t[2],t[3]-t[1],t[4]-t[2]);(!e.__host||!e.__host.canvas)&&(e instanceof zr||e instanceof sl)&&this.createImageHost(e)}finishLayer(){this.lastPaintedObject&&this.clearTransform()}createImageHost(e){e.__host=e.__host?e.__host:{},e.__host.canvas={canvas:void 0,canvases:[],indices:[],loaded:[],loading:!1}}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}getViewportBounds(e,t,n){let i=e.getActiveZone();if(i){let r=t[3]-t[1]<i.points[3]-i.points[1],a=t[4]-t[2]<i.points[4]-i.points[2];return{x1:r?i.points[1]-n:i.points[1]+(i.points[3]-i.points[1])/2-(t[3]-t[1])/2,y1:a?i.points[2]-n:i.points[2]+(i.points[4]-i.points[2])/2-(t[4]-t[2])/2,x2:r?i.points[3]+n:i.points[1]+(i.points[3]-i.points[1])/2-(t[3]-t[1])/2,y2:a?i.points[4]+n:i.points[2]+(i.points[4]-i.points[2])/2-(t[4]-t[2])/2}}return null}pendingUpdate(){let e=!this.pendingDrawCall&&this.drawCalls.length===0&&this.imagesPending===0&&this.loadingQueue.length===0&&this.tasksRunning===0;return!e&&this.visible.length===0&&setTimeout(()=>{this.canvas.style.opacity="1",this.firstMeaningfulPaint=!0},500),!this.firstMeaningfulPaint&&e&&this.visible.length?(this.canvas.style.opacity="1",this.firstMeaningfulPaint=e,!0):this.options.debug?!0:!e}getRendererScreenPosition(){return this.rendererPosition}reset(){this.loadingQueue=[],this.drawCalls=[]}},h1=class{constructor(e){P(this,"renderers",[]),P(this,"length");for(let t of e)t&&this.renderers.push(t);this.length=this.renderers.length}afterFrame(e,t,n,i){for(let r=0;r<this.length;r++)this.renderers[r].afterFrame(e,t,n,i)}afterPaintLayer(e,t){for(let n=0;n<this.length;n++)this.renderers[n].afterPaintLayer(e,t)}beforeFrame(e,t,n,i){for(let r=0;r<this.length;r++)this.renderers[r].beforeFrame(e,t,n,i)}triggerResize(){for(let e=0;e<this.length;e++){let t=this.renderers[e];t.triggerResize&&t.triggerResize()}}getPointsAt(e,t,n,i){return this.renderers[0].getPointsAt(e,t,n,i)}getScale(e,t){return this.renderers[0].getScale(e,t)}getViewportBounds(e,t,n){return this.renderers[0].getViewportBounds(e,t,n)}getRendererScreenPosition(){return this.renderers[0].getRendererScreenPosition()}isReady(){for(let e=0;e<this.length;e++)if(!this.renderers[e].isReady())return!1;return!0}paint(e,t,n,i,r,a){for(let l=0;l<this.length;l++)this.renderers[l].paint(e,t,n,i,r,a)}pendingUpdate(){for(let e=0;e<this.length;e++)if(this.renderers[e].pendingUpdate())return!0;return!1}prepareLayer(e,t){for(let n=0;n<this.length;n++)this.renderers[n].prepareLayer(e,t)}finishLayer(e,t){for(let n=0;n<this.length;n++)this.renderers[n].finishLayer(e,t)}resize(e,t){for(let n=0;n<this.length;n++)this.renderers[n].resize(e,t)}reset(){for(let e=0;e<this.length;e++)this.renderers[e].reset()}},FT=class{constructor(e){P(this,"canvas"),P(this,"context"),P(this,"heightRatio",1),P(this,"widthRatio",1),P(this,"target",new Float32Array(5)),P(this,"initialWidth"),P(this,"initialHeight"),P(this,"bounds"),P(this,"aggregate"),P(this,"delta",0),P(this,"renderNextFrame",!0),this.canvas=e,this.initialWidth=e.width,this.initialHeight=e.height,this.context=e.getContext("2d"),this.context.globalAlpha=.5,this.aggregate=Dn(1)}isReady(){return!0}resize(){this.initialWidth=this.canvas.width,this.initialHeight=this.canvas.height,this.renderNextFrame=!0}afterFrame(e,t,n){if(this.renderNextFrame){this.context.clearRect(0,0,this.canvas.width,this.canvas.height);let i=this.initialWidth/e.width,r=this.initialHeight/e.height,a=this.widthRatio>this.heightRatio?i:r;if(this.target=n,this.bounds){let l=e.getPointsAt(this.bounds,this.aggregate,a);for(let[u,f]of l)if(u instanceof zr&&u.__host.canvas){let h=f.length/5;for(let c=0;c<h;c++)if(u.__host.canvas.canvases[c]){let m={x1:f[c+1]*a,y1:f[c+2]*a,width:(f[c+3]-f[c+1])*a,height:(f[c+4]-f[c+2])*a}}}}e.getPoints().forEach((l,u,f)=>{if(u%5===0&&l){let h={x1:f[u+1]*a,y1:f[u+2]*a,x2:f[u+3]*a,y2:f[u+4]*a,width:(f[u+3]-f[u+1])*a,height:(f[u+4]-f[u+2])*a};this.context.strokeStyle="red",this.context.strokeRect(h.x1,h.y1,h.width,h.height)}}),n&&(this.context.strokeStyle="red",this.context.lineWidth=window.devicePixelRatio||1,this.context.strokeRect(n[1]*a,n[2]*a,(n[3]-n[1])*a,(n[4]-n[2])*a))}}getActiveZone(e){return null}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}getScale(e,t){return 1}beforeFrame(e,t){this.bounds=Pe.singleBox(e.width,e.height)}drawImage(){}afterPaintLayer(e,t){}paint(e,t,n,i,r,a){this.renderNextFrame=!0}prepareLayer(e){}pendingUpdate(){return!1}hasActiveZone(){return!1}getViewportBounds(e,t,n){return null}getRendererScreenPosition(){return this.canvas.getBoundingClientRect()}finishLayer(){}reset(){}};function NT(e){return{x:e[1],y:e[2],width:e[3]-e[1],height:e[4]-e[2]}}var t1="pan",n1="scroll",zT="gesture",DT={zoomOutFactor:.8,zoomInFactor:1.25,maxZoomFactor:1,minZoomFactor:.05,zoomDuration:300,zoomWheelConstant:20,zoomClamp:.6,panBounceStiffness:120,panBounceDamping:15,panTimeConstant:240,panPower:.1,nudgeDistance:100,panPadding:0,devicePixelRatio:1,enableWheel:!0,enableClickToZoom:!0,ignoreSingleFingerTouch:!1,enablePanOnWait:!1,requireMetaKeyForWheelZoom:!1,panOnWaitDelay:40,onPanInSketchMode:()=>{},parentElement:null},m1=(e={})=>({start:function(t){let{zoomWheelConstant:n,enableWheel:i,enableClickToZoom:r,ignoreSingleFingerTouch:a,enablePanOnWait:l,panOnWaitDelay:u,parentElement:f,requireMetaKeyForWheelZoom:h}={...DT,...e},c={pointerStart:{x:0,y:0},isPressing:!1,mousemoveBuffer:me(5),multiTouch:{distance:0}};t.world.activatedEvents.push("onMouseUp","onMouseDown","onMouseMove","onTouchStart","onTouchEnd","onTouchMove","onContextMenu");function m(){S=0,R="",I(),I(void 0,"notice"),E=0}function v(){t.world.constraintBounds(),m()}function w(B){if(B.which>1){c.isPressing=!1;return}t.mode==="explore"&&(B.preventDefault(),c.pointerStart.x=B.atlas.x,c.pointerStart.y=B.atlas.y,t.transitionManager.stopTransition(),c.isPressing=!0)}function y(){m(),c.isPressing&&(t.mode==="explore"&&t.world.constraintBounds(),c.isPressing=!1)}let S=0,E=0,R="";function b(B){if(t.mode==="explore"){if(B.atlasTouches.length===1&&(E=performance.now(),a==!1&&B.preventDefault(),c.pointerStart.x=B.atlasTouches[0].x,c.pointerStart.y=B.atlasTouches[0].y),B.atlasTouches.length===2){R=zT,B.preventDefault();let G=B.atlasTouches[0].x,K=B.atlasTouches[1].x;c.pointerStart.x=(G+K)/2;let ce=B.atlasTouches[0].y,J=B.atlasTouches[1].y;c.pointerStart.y=(ce+J)/2,S=dd({x:B.touches[0].clientX,y:B.touches[0].clientY},{x:B.touches[1].clientX,y:B.touches[1].clientY})}t.transitionManager.stopTransition(),c.isPressing=!0}}function I(B,G="intent"){f&&(f.dataset[G]=B)}function M(B){let G=null,K=null,ce=!1,J=0;if(c.isPressing&&B.touches.length===2){let te=B.touches[0].clientX,oe=B.touches[1].clientX;G=(te+oe)/2;let Re=B.touches[0].clientY,de=B.touches[1].clientY;K=(Re+de)/2,J=dd({x:B.touches[0].clientX,y:B.touches[0].clientY},{x:B.touches[1].clientX,y:B.touches[1].clientY}),ce=!0}if(I(R),c.isPressing&&B.touches.length===1){if(l&&(performance.now()-E<u&&R==""&&(R=n1),R==""&&(R=t1)),I(R),R==""&&a==!0||R==n1){I("require-two-finger","notice");return}let te=B.touches[0];G=te.clientX,K=te.clientY}if(G!==null&&K!==null){let te=t.getRendererScreenPosition();if(te){let{x:oe,y:Re}=t.viewerToWorld(G-te.x,K-te.y),de=J&&S?J/S:1;t.transitionManager.customTransition(N=>{N.from=me(t.target),N.to=Bn(N.from,An(ht(c.pointerStart.x-oe,c.pointerStart.y-Re),nr(1/de,oe,Re)),c.mousemoveBuffer),N.elapsed_time=0,N.total_time=0,N.timingFunction=Nr.easeInOutExpo,N.done=!1})}S=J}R==t1&&B.preventDefault()}function T(B){if(c.isPressing){let G=t.getRendererScreenPosition();if(G){let{x:K,y:ce}=t.viewerToWorld(B.clientX-G.x,B.clientY-G.y);t.transitionManager.customTransition(J=>{J.from=me(t.target),J.to=Bn(J.from,ht(c.pointerStart.x-K,c.pointerStart.y-ce),c.mousemoveBuffer),J.elapsed_time=0,J.total_time=0,J.timingFunction=Nr.easeInOutExpo,J.done=!1})}}}function _(B){t.mode==="explore"&&t.world.zoomIn(B.atlas)}function U(B){let G=1+(0,p1.default)(B).spinY/n;t.world.zoomTo(G,B.atlas,!0)}function H(B){return h&&B.metaKey==!1?(I("meta-required","notice"),B.stopPropagation(),!1):!0}t.world.addEventListener("mouseup",v),t.world.addEventListener("touchend",v),t.world.addEventListener("touchstart",b),t.world.addEventListener("mousedown",w),window.addEventListener("touchend",y),window.addEventListener("mouseup",y),window.addEventListener("mousemove",T),f&&f.addEventListener("touchmove",M),r&&(t.world.activatedEvents.push("onClick"),t.world.addEventListener("click",_)),i&&(t.world.activatedEvents.push("onWheel"),h&&f?.addEventListener("wheel",H,{passive:!0,capture:!0}),t.world.addEventListener("wheel",U));let Z=t.world.addLayoutSubscriber((B,G)=>{if(B==="zone-changed"&&t.transitionManager.constrainBounds({transition:{duration:0}}),B==="zoom-to"&&G&&t.transitionManager.zoomTo(G.factor,{origin:G.point,stream:G.stream}),B==="go-home"){let K=G.immediate?{duration:0}:void 0;t.transitionManager.goToRegion(NT(t.homePosition),{transition:K})}if(B==="goto-region"&&G){let K=G.immediate?{duration:0}:{};t.transitionManager.goToRegion(G,{transition:K})}B==="constrain-bounds"&&t.transitionManager.constrainBounds({transition:G?.immediate?{duration:0}:void 0})});return()=>{t.world.removeEventListener("mouseup",v),t.world.removeEventListener("touchend",v),t.world.removeEventListener("touchstart",b),t.world.removeEventListener("mousedown",w),window.removeEventListener("touchend",y),window.removeEventListener("mouseup",y),t.world.removeEventListener("mousemove",T),f&&(f.removeEventListener("touchmove",T),f.removeEventListener("wheel",H,{passive:!0,capture:!0})),r&&t.world.removeEventListener("click",_),i&&t.world.removeEventListener("wheel",U),Z()}},updatePosition(){}}),zs=xd.default.createContext("explore");zs.displayName="Mode";var VT=()=>(0,xd.useContext)(zs);var Sd=tg.default.createContext(null);Sd.displayName="Atlas";var wd=tg.default.createContext(null);wd.displayName="Bounds";var hd,jT=typeof performance=="object"&&typeof performance.now=="function";if(jT){let e=performance;hd=()=>e.now()}else{let e=Date,t=e.now();hd=()=>e.now()-t}var HT=16;function i1(e,t){e&&e.appendChild&&t&&e.appendChild(t)}function v1(e,t){e&&e.removeChild&&t&&e.removeChild(t)}function WT(e,t){return v1(e.world,t)}function UT(e,t,n){return x1(e.world,t,n)}function x1(e,t,n){e&&e instanceof vd&&(e=e.world),e&&e.insertBefore&&e.insertBefore(t,n)}function S1(e,t,n){if(n&&(e.applyProps&&e.applyProps(n),e instanceof Ui))for(let i of md){let r=i.slice(2).toLowerCase();n[i]!==t[i]&&(t[i]&&e.removeEventListener(r,t[i]),e.addEventListener(r,n[i]))}}function w1(e,t){let n=Object.keys(t),i=!1;for(let r of n)if(md.indexOf(r)!==-1){let a=Ns[r];if(a){if(e.activatedEvents.indexOf(a)!==-1)continue;i=!0,e.activatedEvents.push(a)}}i&&e.triggerEventActivation()}var pd=new Map,r1={};function qT(e,{args:t=[],...n},i,r,a){if(!(i instanceof vd)&&a){let f=h=>h.return?f(h.return):h.stateNode&&h.stateNode.containerInfo;i=f(a)}let l,u=i.world;switch(e){case"world":l=yd.withProps({width:n.width,height:n.height,viewingDirection:"left-to-right"}),l.activatedEvents=u.activatedEvents,l.eventHandlers=u.eventHandlers,l.subscriptions=u.subscriptions,l.triggerEventActivation(),u=l;break;case"box":l=new nl;break;case"shape":l=new f1;break;case"worldObject":case"world-object":l=new eg;break;case"worldImage":case"world-image":l=new zr;break;case"texture":l=new Ym;break;case"compositeImage":case"composite-image":l=new TT({id:n.id,width:n.width,height:n.height,images:[],renderOptions:n.renderOptions});break;case"tiledImage":case"tiled-image":l=sl.fromTile(n.uri,n.display,n.tile,n.scaleFactor,void 0,n.format,n.useFloorCalc,n.version3);break;case"paragraph":l=new ud,l.text=n.children;break;default:return}return w1(u,n),S1(l,{},n),l}function GT(e,t){if(t instanceof yd)e.world=t;else if(t instanceof eg)e.world.appendChild(t);else if(t)throw new Error("Invalid root")}var rl=(0,g1.default)({unstable_now:hd,now:hd,createInstance:qT,removeChild:v1,appendChild:i1,appendInitialChild:i1,insertBefore:x1,warnsIfNotActing:!0,supportsMutation:!0,isPrimaryRenderer:!1,scheduleTimeout:typeof setTimeout<"u"?setTimeout:void 0,cancelTimeout:typeof clearTimeout<"u"?clearTimeout:void 0,setTimeout:typeof setTimeout<"u"?setTimeout:void 0,clearTimeout:typeof clearTimeout<"u"?clearTimeout:void 0,noTimeout:-1,appendChildToContainer:GT,removeChildFromContainer:WT,createTextInstance(){},insertInContainerBefore:UT,prepareUpdate(e,t,n,i,r){return w1(r.world,i),i},commitUpdate(e,t,n,i,r,a){e.applyProps&&t&&S1(e,i,t)},finalizeInitialChildren(e){return e?.__handlers},getChildHostContext(){return r1},getRootHostContext(){return r1},prepareForCommit(e){return e.isCommitting=!0,null},preparePortalMount(){},hideInstance(e){e&&e.points&&(e.points[0]=0)},unhideInstance(e,t){e&&e.points&&(e.points[0]=1)},getPublicInstance(e){return e},hideTextInstance(){throw new Error("Text is not allowed in the react-three-fibre tree. You may have extraneous whitespace between components.")},resetAfterCommit(e){e.isCommitting=!1,e.pendingUpdate=!0,e.world&&e.world.needsRecalculate&&(e.world.recalculateWorldSize(),e.world.triggerRepaint())},shouldSetTextContent(){return!1},clearContainer(){return!1},supportsHydration:!1,supportsPersistence:!1,detachDeletedInstance(e){},afterActiveInstanceBlur(){},beforeActiveInstanceBlur(){},getCurrentEventPriority(){return console.log("getCurrentEventPriority"),HT},getInstanceFromNode(e){throw console.log("getInstanceFromNode",e),new Error("Not implemented")},getInstanceFromScope(e){throw console.log("getInstanceFromScope",e),new Error("Not implemented")},prepareScopeUpdate(e,t){throw console.log("prepareScopeUpdate",e,t),new Error("Not implemented")},logRecoverableError(){},requestPostPaintCallback(){}});rl.injectIntoDevTools({bundleType:0,version:y1.version,rendererPackageName:"@atlas-viewer/atlas"});function ng(e,t){let n=pd.get(e);n&&rl.updateContainer(null,n,null,()=>{pd.delete(e),t&&t(e)})}var o1={render(e,t){let n=pd.get(t);if(n)rl.updateContainer(e,n,null);else{let i=rl.createContainer(t,0,null,!1,null,"",()=>{},null);rl.updateContainer(e,i,null),pd.set(t,i)}},unmountComponentAtNode(e,t){ng(e,t)}},ol=typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")?bd.useLayoutEffect:bd.useEffect,$T=Wi.default.memo(({children:e,setIsReady:t,onCreated:n,bounds:i,preset:r,mode:a="explore"})=>{let l=(0,Wi.useCallback)(function(u){let f=(0,Wi.useRef)(!1),h=()=>{t(!0)};return(0,Wi.useEffect)(()=>{if(r&&!f.current){r.runtime.goHome();let c=n&&n(r);return void(c&&c.then?c.then(h):h())}return()=>{}},[]),(0,Wi.useEffect)(()=>{f.current=!0},[]),u.children},[r]);return ol(()=>{if(r){let u=r.runtime;a!==u.mode&&(u.mode=a),o1.render((0,Fs.jsx)(Wi.default.StrictMode,{children:(0,Fs.jsx)(l,{children:(0,Fs.jsx)(wd.Provider,{value:i,children:(0,Fs.jsx)(zs.Provider,{value:a,children:(0,Fs.jsx)(Sd.Provider,{value:r,children:e})})})})}),u)}},[r,a,e]),ol(()=>{if(r){let u=r.runtime;return()=>{o1.unmountComponentAtNode(u)}}return()=>{}},[r]),null}),QT=class{constructor(e,t){P(this,"canvas"),P(this,"gl"),P(this,"program"),P(this,"fragmentShader"),P(this,"vertexShader"),P(this,"rectBuffer"),P(this,"fragmentShaderSource",`
15
+ `);let b=R.state[u];if(b==null)return;JSON.stringify(r.getState())!==JSON.stringify(b)&&w(b);return}r.dispatchFromDevtools&&typeof r.dispatch=="function"&&r.dispatch(R)});case"DISPATCH":switch(S.payload.type){case"RESET":return w(v),u===void 0?c?.init(r.getState()):c?.init(Ec(f.name));case"COMMIT":if(u===void 0){c?.init(r.getState());return}return c?.init(Ec(f.name));case"ROLLBACK":return Zp(S.state,R=>{if(u===void 0){w(R),c?.init(r.getState());return}w(R[u]),c?.init(Ec(f.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return Zp(S.state,R=>{if(u===void 0){w(R);return}JSON.stringify(r.getState())!==JSON.stringify(R[u])&&w(R[u])});case"IMPORT_STATE":{let{nextLiftedState:R}=S.payload,b=(E=R.computedStates.slice(-1)[0])?.state;if(!b)return;w(u===void 0?b:b[u]),c?.send(null,R);return}case"PAUSE_RECORDING":return y=!y}return}}),v},EP=RP,Zp=(e,t)=>{let n;try{n=JSON.parse(e)}catch(i){console.error("[zustand devtools middleware] Could not parse the received json",i)}n!==void 0&&t(n)},IP=e=>(t,n,i)=>{let r=i.subscribe;return i.subscribe=(l,u,f)=>{let p=l;if(u){let c=f?.equalityFn||Object.is,m=l(i.getState());p=y=>{let w=l(y);if(!c(m,w)){let v=m;u(m=w,v)}},f?.fireImmediately&&u(m,m)}return r(p)},e(t,n,i)},CP=IP,PP=(e={},t)=>{switch(t.type){case dc:return{...e,[t.payload.id]:t.payload.type};case fc:return{...e,...t.payload.mapping};default:return e}};function Ha(e,t,n,i){return!(!e[n]||!e[n][t]||!e[n][t][i]||!Array.isArray(e[n][t][i]))}function AP(e,t){let n={},i=[];for(let[r,s]of Object.entries(e||{})){i.push(r);let l=(t||{})[r];if(!l||l.length===0){n[r]=s;continue}n[r]=l}for(let[r,s]of Object.entries(t||{}))i.indexOf(r)===-1&&(n[r]=s);return n}function be(e){return e.payload||{}}function TP(e,t,n){if(!e[t]||!Array.isArray(e[t]))return null;let i=n.index===void 0?e[t].findIndex(r=>r?ja(r)?.id===n.id:!1):n.index;return i===-1?null:{entity:e[t][i],index:i}}function CS(e,t){if(!(!t?.id||!t?.type))return e[t.type]?.[t.id]}function Jp(e,t){return e===void 0?t:e}var PS=(e=Xp(),t)=>{let n=(i,r)=>({...e,[be(t).type]:{...e[be(t).type],[be(t).id]:{...i,...r}}});switch(t.type){case nc:{if(!e[be(t).type]||!e[be(t).type][be(t).id])return e;let i=e[be(t).type][be(t).id];return typeof i=="string"?e:n(i,{[be(t).key]:be(t).value})}case ic:{if(!Ha(e,be(t).id,be(t).type,be(t).key))return e;let i=e[be(t).type][be(t).id];if(typeof i=="string")return e;let r=Array.from(i[be(t).key]),[s]=r.splice(be(t).startIndex,1);return r.splice(be(t).endIndex,0,s),n(i,{[be(t).key]:r})}case ka:{let i=be(t).subjects,r=be(t).from,s=be(t).to||r,l=CS(e,r),u=s?.key||r.key;if(!Ha(e,r.id,r.type,r.key)||!Ha(e,s.id,s.type,s.key))return e;let f=[],p=[];if(i.type==="slice"){let R=i.startIndex,b=i.length;f=Array.from(l[r.key]),p=f.splice(R,b)}else{let R=Array.from(l[r.key]);for(let b of i.items){let I=TP(l,r.key,b);I&&(p.push(I.entity),R[I.index]=null),f=R.filter(M=>M!==null)}}let c={...l,[r.key]:f},m={...e,[r.type]:{...e[r.type],[r.id]:c}},y=CS(m,s);if(!y)return e;let w=s?.index===void 0?y[u].length:s.index,v=Array.from(y[s.key]);v.splice(w,0,...p);let S={...y,[u]:v};return{...m,[s.type]:{...m[s.type],[s.id]:S}}}case rc:return PS(e,{type:ka,payload:{subjects:{type:"list",items:[be(t).subject]},from:be(t).from,to:be(t).to}});case tc:{let i=Object.keys(be(t).entities),r={...e};for(let s of i){let l=be(t).entities[s],u={...e[s]||{}},f=!1,p=Object.keys(l||{})||[];if(l&&p){for(let c of p)f=!0,u[c]=e[s][c]?AP(e[s][c],l[c]):l[c];f&&(r[s]=u)}}return r}case oc:{if(!Ha(e,be(t).id,be(t).type,be(t).key))return e;let i=e[be(t).type][be(t).id],r=Array.from(i[be(t).key]);return r.splice(Jp(be(t).index,r.length+1),0,be(t).reference),n(i,{[be(t).key]:r})}case La:case sc:{if(!Ha(e,be(t).id,be(t).type,be(t).key))return e;let i=e[be(t).type][be(t).id],r=Array.from(i[be(t).key]),s=Jp(be(t).index,r.findIndex(l=>l&&l.id===be(t).reference.id));return s===-1||r[s]?.id!==be(t).reference.id?e:(t.type===La?r.splice(s,1,be(t).reference):r.splice(s,1),n(i,{[be(t).key]:r}))}case ac:{let i=e[be(t).type][be(t).id];if(!i)return e;let r=Array.from(i.metadata||[]),s=be(t);return r.splice(Jp(t.payload.beforeIndex,r.length+1),0,{label:s.label,value:s.label}),n(i,{metadata:r})}case uc:{let i=e[be(t).type][be(t).id];if(typeof i=="string"||!i)return e;let r=Array.from(i.metadata||[]),[s]=r.splice(be(t).startIndex,1);return r.splice(be(t).endIndex,0,s),n(i,{metadata:r})}case Fa:case lc:{let i=e[be(t).type][be(t).id],r=Array.from(i.metadata||[]),s=be(t).atIndex;return s===void 0||s===-1||!r[s]?e:(t.type===Fa?r.splice(s,1,{label:be(t).label,value:be(t).value}):r.splice(s,1),n(i,{metadata:r}))}default:return e}},MP=(e={},t)=>{switch(t.type){case hc:case yc:return{...e,[t.payload.id]:{requestUri:t.payload.id,loadingState:Na,uriMismatch:!1,resourceUri:t.payload.id}};case mc:return{...e,[t.payload.requestId]:{...e[t.payload.requestId]||{},uriMismatch:!0,resourceUri:t.payload.actualId},[t.payload.actualId]:{requestUri:t.payload.requestId,loadingState:e[t.payload.requestId].loadingState,uriMismatch:!0,resourceUri:t.payload.actualId}};case pc:return{...e,[t.payload.id]:{...e[t.payload.id]||{},loadingState:ps,error:t.payload.message}};case gc:return{...e,[t.payload.id]:{...e[t.payload.id]||{},loadingState:ms,error:void 0}}}return e},_P=(e={},t)=>{let{id:n,updateValue:i,value:r,meta:s,key:l}=t&&t.payload||{};switch(t.type){case Xh:return{...e,[n]:{...e[n]||{},[s]:{...e[n]&&e[n][s]||{},[l]:r}}};case Zh:return{...e,[n]:{...e[n]||{},[s]:{...e[n]&&e[n][s]||{},[l]:e[n]&&e[n][s]?i(e[n][s][l]):i(void 0)}}};case Jh:return e[n]&&e[n][s]&&e[n][s][l]?{...e,[n]:{...e[n]||{},[s]:{...e[n]&&e[n][s]||{},[l]:void 0}}}:e;default:return e}};function AS(e={}){let t=Object.keys(e);return function(n={},i){let r=!1,s={};for(let l=0;l<t.length;l++){let u=t[l];s[u]=e[u](n[u],i),r||(r=s[u]!==n[u])}return r?s:n}}function OP(e){return(t,n)=>n&&n.type===gs?n.payload.actions.reduce(e,t):n&&n.type===vc?{...t,iiif:{...t.iiif,...n.payload.state}}:e(t,n)}var kP=AS({mapping:PP,entities:PS,requests:MP,meta:_P});function LP(){return{iiif:{entities:Xp(),meta:{},mapping:{},requests:{}}}}function TS(e={}){let{enableDevtools:t=!1,iiifStoreName:n="iiif",defaultState:i=LP(),customReducers:r={}}=e,s=OP(AS({[n]:kP,...r})),l=!!(typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__);return Ju(CP((l?EP:(f,p)=>f)(wP(s,i),{enabled:t})))}function fn(e,t,n,i=!0){t[Is]=t[Is]||[],t[Is].push(e);let r=new Map;Object.defineProperty(t,e,{enumerable:i,get(){if(t[So][e]===void 0)return;let s=t[So][e];if(!s)return s;let l=n.get(t[So][e],{parent:this.id?{id:this.id,type:this.type}:void 0});return r.has(l)||(r.clear(),r.set(l,wo(l,n))),r.get(l)},set(s){t[So][e]!==s&&(this[xo]?n.modifyEntityField({id:this.id,type:this.type},e,OS(s)):this[So][e]=s)}})}var So=Symbol.for("_refs_"),xo=Symbol.for("_reactive_"),Is=Symbol.for("_defined_"),MS=Symbol.for("_parent_");function FP(e,t=!1,n){let i={id:"",type:"unknown",[Is]:[],[So]:{},[MS]:n||null,[xo]:null,is(r){return typeof r=="string"?this.id===r:r.id?r.id===this.id:!1},reactive(){if(!this[xo])return this[xo]=this.subscribe(()=>this.refresh(),!0),()=>{this.unreactive()}},refresh(){if(this.id){let r=this.unwrap();for(let s of Object.keys(r||{}))this[Is].includes(s)?this[So][s]=r[s]:this[s]=r[s]}},unreactive(){this[xo]&&(this[xo](),this[xo]=null)},unwrap(){if(!this.id)throw Error("Invalid object");let r=this[MS];return e.get(this.id,{parent:r?{id:r,type:"unknown"}:void 0})},toPresentation3(){return e.toPresentation3(this.unwrap())},toPresentation2(){return e.toPresentation2(this.unwrap())},valueOf(){return this.unwrap()},toJSON(){let r=this;return{...r,items:r.items,annotations:r.annotations,structures:r.structures,seeAlso:r.seeAlso,service:r.service,services:r.services,rendering:r.rendering,partOf:r.partOf,start:r.start,supplementary:r.supplementary,homepage:r.homepage,thumbnail:r.thumbnail,placeholderCanvas:r.placeholderCanvas,accompanyingCanvas:r.accompanyingCanvas,provider:r.provider}},subscribe(r,s=!0){return e.subscribe(()=>this.id?e.get(this.id):null,r,s)}};return fn("items",i,e),fn("annotations",i,e),fn("structures",i,e),fn("seeAlso",i,e),fn("rendering",i,e),fn("partOf",i,e),fn("start",i,e,!1),fn("supplementary",i,e),fn("homepage",i,e),fn("thumbnail",i,e),fn("placeholderCanvas",i,e,!1),fn("accompanyingCanvas",i,e,!1),fn("provider",i,e),fn("body",i,e),fn("logo",i,e),i}function NP(e){return!!e[Is]}function OS(e){return Array.isArray(e)?e.map(t=>OS(t)):!e||!e.type?e:{id:e.id,type:e.type}}function wo(e,t,n=!1,i){if(Array.isArray(e))return e.map(u=>wo(u,t,n));if(!e||!e.type||!e.id)return e;let r=FP(t,n),s=Object.create(r),l=Object.assign(s,e);return n&&l.reactive(),l}function _S(e){switch(e){case"Image":case"Video":case"Sound":case"Dataset":case"Text":case"Composite":case"List":case"Independents":case"Audience":return"ContentResource";case"ImageService1":case"ImageService2":case"ImageService3":return"Service"}return e}var Cs=class{constructor(e,t){Bt(this,"options",void 0),Bt(this,"store",void 0),Bt(this,"emitter",void 0),Bt(this,"isBatching",!1),Bt(this,"batchQueue",[]),Bt(this,"remoteFetcher",void 0),Bt(this,"staticFetcher",void 0),Bt(this,"defaultFetcher",n=>fetch(n).then(i=>{if(i.status===200)return i.json();{let r=Error(`${i.status} ${i.statusText}`);throw r.name="HTTPError",r}})),this.options=Object.assign({reducers:{},customFetcher:this.defaultFetcher,enableDevtools:!0},e||{}),this.store=t||TS({customReducers:this.options.reducers,defaultState:this.options.defaultState,enableDevtools:this.options.enableDevtools}),this.emitter=ec(),this.remoteFetcher=Kp(this,this.options.customFetcher),this.staticFetcher=Kp(this,(n,i)=>i)}batch(e){this.isBatching=!0;try{e(this),this.isBatching=!1,this.dispatch(ys({actions:this.batchQueue}))}catch(t){throw this.batchQueue=[],this.isBatching=!1,t}this.batchQueue=[]}async asyncBatch(e){this.isBatching=!0;try{await e(this),this.isBatching=!1,this.dispatch(ys({actions:this.batchQueue}))}catch(t){throw this.batchQueue=[],this.isBatching=!1,t}this.batchQueue=[]}modifyEntityField(e,t,n){this.dispatch(ho.modifyEntityField({id:e.id,type:e.type,key:t,value:n}))}dispatch(e){if(this.isBatching)this.batchQueue.push(e);else{if(e.type===gs){for(let i of e.payload.actions)this.emitter.emit(i.type,{action:i,state:this.store.getState()});this.store.dispatch(e);let n=this.getState();for(let i of e.payload.actions)this.emitter.emit(`after:${i.type}`,{action:i,state:n});return}this.emitter.emit(e.type,{action:e,state:this.store.getState()}),this.store.dispatch(e);let t=this.store.getState();this.emitter.emit(`after:${e.type}`,{action:e,state:t});return}}on(e,t){return this.emitter.on(e,t),()=>{this.emitter.off(e,t)}}serialize(e,t){return qp(this.getState().iiif,e,t)}toPresentation2(e){return this.serialize(e,Gp)}toPresentation3(e){return this.serialize(e,$p)}hydrate(e,t,n={}){return this.get(e,t,{...n,skipSelfReturn:!1})}get(e,t,n={}){typeof t!="string"&&(n=t||{},t=void 0);let{skipSelfReturn:i=!0}=n||{},r=n.parent?typeof n.parent=="string"?n.parent:n.parent.id:void 0;if(Array.isArray(e))return e.map(c=>this.get(c,n));let s=this.getState();if(xi(e)&&!n.preserveSpecificResources&&(e=e.source),typeof e=="string"){let c=_S(t||s.iiif.mapping[e]);if(!c)return i?null:{id:e,type:"unknown"};e={id:e,type:c}}if(e&&e.partOf&&!r&&!n.skipPartOfCheck){let c=Array.isArray(e.partOf)?e.partOf[0]:e.partOf;c&&(typeof c=="string"&&(r=c),typeof c.id=="string"&&(r=c.id))}let l=_S(t||e?.type),u=e?.id,f=s.iiif.entities[l];if(!f){let c=s.iiif.requests[u];return c&&c.resourceUri!==u?this.get(c.resourceUri,n):i?null:e}let p=f[e.id];if(p&&p[St]){let c=p[St].find(m=>r?m[Nn]===r:m[Nn]===p.id);return Rs(p,c)}return f[e.id]||(i?null:e)}select(e){return e(this.getState())}getStore(){return this.store}getState(){return this.store.getState()}deep(e,t){if(e===void 0)return this.get(t,{skipSelfReturn:!1});if(typeof e=="function")try{let i=e(this.get(t,{skipSelfReturn:!1})),r=s=>this.deep(s,i);return r.size=Array.isArray(i)?i.length:1,r}catch{let i=r=>this.deep(r,void 0);return i.size=0,i}let n=i=>this.deep(i,e);return n.size=Array.isArray(e)?e.length:1,n}loadManifest(e,t,n){let i=typeof e=="string"?e:e.id;return this.load(i,t,n)}loadCollection(e,t,n){let i=typeof e=="string"?e:e.id;return this.load(i,t,n)}load(e,t,n){let i=typeof e=="string"?e:e.id;return t?Promise.resolve(this.staticFetcher(i,t,n)):Promise.resolve(this.remoteFetcher(i,{},n))}loadSync(e,t,n){let i=typeof e=="string"?e:e.id;return this.staticFetcher(i,t,n)}loadManifestSync(e,t,n){let i=typeof e=="string"?e:e.id;return this.loadSync(i,t,n)}loadCollectionSync(e,t,n){let i=typeof e=="string"?e:e.id;return this.loadSync(i,t,n)}areInputsEqual(e,t){return Yp(e,t)}subscribe(e,t,n){return n===void 0&&(t===void 0||t===!1||t===!0)&&(n=t,t=e,e=i=>i),this.store.subscribe(e,i=>t(i,this),{equalityFn:Yp,fireImmediately:!n})}async ensureLoaded(e){let t=typeof e=="string"?e:e.id;this.requestStatus(t)||await this.load(t)}requestStatus(e){return this.select(t=>t.iiif.requests[e])}getPaginationState(e){let t=typeof e=="string"?e:e.id;if(!t)return null;let n=this.getResourceMeta(t,"@vault/pagination");if(n?.state)return n.state;let i=this.get(e);if(i.first){let r={currentPage:null,currentPageIndex:null,isFetching:!1,isFullyLoaded:!1,next:i.first,page:1,pages:[],previous:null,totalItems:i.total,currentLength:0};return this.setMetaValue([t,"@vault/pagination","state"],r),r}return null}async loadNextPage(e,t){let n=typeof e=="string"?e:e.id;if(!n)return[null,null];let i=this.getPaginationState(e);if(!i||i.isFullyLoaded||!i.next)return[null,null];if(i.isFetching)return[i,null];let r=typeof i.next=="string"?i.next:i.next.id,s=i.currentPage,l={...i,isFetching:!0};this.setMetaValue([n,"@vault/pagination","state"],l);let u;try{u=await this.loadCollection(r,t,y=>{let{id:w,"@id":v,...S}=y||{};return v?{"@id":r,...S}:{id:r,...S}})}catch(y){let w={...i,isFetching:!1,error:y};return this.setMetaValue([n,"@vault/pagination","state"],w),[w,null]}if(!u){let y={...i,isFetching:!1,error:Error("Collection not found")};return this.setMetaValue([n,"@vault/pagination","state"],y),[y,null]}let f=this.get(n),p=[...f.items||[],...u.items||[]].map(y=>({id:y.id,type:y.type}));this.modifyEntityField({id:n,type:"Collection"},"items",p);let c=this.getPaginationState(e);if(!c)throw Error("Pagination state not found");let m={...c,isFetching:!1,error:null,currentPage:u.id,next:u.next?.id||null,currentPageIndex:c.pages.length,currentLength:p.length,pages:[...c.pages,{id:u.id,type:"Collection",startIndex:f.items.length,pageLength:u.items.length,order:typeof c.currentPageIndex=="number"?c.currentPageIndex+1:0}],isFullyLoaded:!u.next,previous:s,page:c.pages.length+1};return this.setMetaValue([n,"@vault/pagination","state"],m),[m,u]}getResourceMeta(e,t){let n=this.getState().iiif.meta[e];if(n)return t?n[t]:n}getObject(e,t,n={}){let{reactive:i,...r}=n;return wo(this.get(e,t,r),this,i)}async loadObject(e,t){return wo(await this.load(e,t),this)}async loadManifestObject(e,t){return wo(await this.loadManifest(e,t),this)}async loadCollectionObject(e,t){return wo(await this.loadCollection(e,t),this)}wrapObject(e){return wo(this.get(e,{skipSelfReturn:!1}),this)}isWrapped(e){return NP(e)}setMetaValue([e,t,n],i){this.dispatch(typeof i=="function"?ep.setMetaValueDynamic({id:e,meta:t,key:n,updateValue:i}):ep.setMetaValue({id:e,meta:t,key:n,value:i}))}};function kS(){return typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}function Wa(e){let t=kS();try{let i=t.IIIF_VAULT;if(i)return i}catch{}let n=new Cs(e);try{t.IIIF_VAULT=n}catch{}return n}var tm=A(D(),1),Ar=Ic.default.createContext({vault:null,setVaultInstance:e=>{}});function bo({vault:e,vaultOptions:t,useGlobal:n,resources:i,children:r}){let[s,l]=(0,Ic.useState)(()=>e||(n?Wa(t):t?new Cs(t):new Cs));return(0,tm.jsx)(Ar.Provider,{value:{vault:s,setVaultInstance:l},children:(0,tm.jsx)(dn,{value:i||{},children:r})})}var FS=A(Q(),1),NS=A(Q(),1);var LS=A(Q(),1),ze=()=>{let{vault:e}=(0,LS.useContext)(Ar);if(e===null)throw new Error("Vault not found. Ensure you have your provider set up correctly.");return e};var Cc=A(Q(),1);function qe(e,t=[]){let n=ze(),[i,r]=(0,Cc.useState)(()=>e(n.getState(),n));return(0,Cc.useEffect)(()=>n.subscribe(s=>e(s,n),s=>{r(s)},!1),t),i}var Ro=NS.default.createContext([]);function Eo(){let e=(0,FS.useContext)(Ro);return qe(t=>e.map(n=>t.iiif.entities.Canvas[n]).filter(Boolean),[e])}var zS=A(Q(),1);function Io(e){let t=(0,zS.useContext)(Ar);return e||(t&&t.vault?t.vault:Wa())}var DS=A(Q(),1);function It(e={},t=[]){let{id:n,selector:i}=e,r=rn(),s=ze(),l=n||r.manifest,u=qe(f=>l?f.iiif.entities.Manifest[l]:void 0,[l]);return(0,DS.useMemo)(()=>{if(u)return i?i(u):u},[u,i,...t])}var f0=A(Q(),1),kc=A(Q(),1);var Tr=A(Q(),1);function Ua(e,{noCache:t=!1}={}){let n=typeof e=="string"?e:e.id,i=Io(),[r,s]=(0,Tr.useState)(n),[l,u]=(0,Tr.useState)(void 0),f=(0,Tr.useMemo)(()=>i.get(n,{skipSelfReturn:!0})||void 0,[n,i]),[p,c]=(0,Tr.useState)(f);return(0,Tr.useEffect)(()=>{(async()=>{try{let m=f&&!t?f:await i.load(n),y=m?m.id||m["@id"]:null;m&&r!==y&&s(y),c(m)}catch(m){u(m)}})()},[n,t]),{isLoaded:!!p,id:r,requestId:n,error:l,resource:p,cached:!!(p&&p===f)}}function nm(e,t){let{id:n,isLoaded:i,error:r,resource:s,requestId:l,cached:u}=Ua(e,t);return{id:n,isLoaded:i,error:r,manifest:s,requestId:l,cached:u}}var BS=A(D(),1);function im({manifest:e,children:t}){return(0,BS.jsx)(dn,{value:{manifest:e},children:t})}var VS=A(D(),1);function rm({range:e,children:t}){return(0,VS.jsx)(dn,{value:{range:e},children:t})}function jS(e,t){for(let n of t.items){if(n.type==="Canvas")return n;if(n.type==="SpecificResource")return n.source;if(n.type==="Range"){let i=jS(e,e.get(n));if(i)return i}}return null}function Pc(e,t){let n=[];for(let i of t.items)if(i.type==="SpecificResource"&&i.source?.type==="Canvas"&&(i.source.id.indexOf("#")!==-1?n.push({id:i.source.id.split("#")[0],type:"Canvas"}):n.push(i.source)),i.type==="Range"&&n.push(...Pc(e,e.get(i))),i.type==="SpecificResource"){let r=typeof i.source=="string"?i.source:i.source.id;n.push({id:r,type:"Canvas"})}return n}function zP(e,t,n){for(let i of t.structures){let r=om(e,e.get(i),n);if(r)return r}return null}function om(e,t,n){for(let i of t.items){let r=i?.source?.id?.split("#")[0];if(i.type==="SpecificResource"&&i.source===n||i.type==="SpecificResource"&&i.source?.type==="Canvas"&&n===r)return t;if(i.type==="Range"){let s=om(e,e.get(i),n);if(s)return s}}return null}function DP(e,t,n,i=!1){let r=t.behavior,s=n?e.get(n):null;if(!s)return[];let l=s.behavior,u=i?!1:r.includes("paged"),f=u?!1:r.includes("continuous"),p=u||f?!1:r.includes("individuals"),c=l.includes("facing-pages"),m=l.includes("non-paged");if(c||m||p||i)return[{id:s.id,type:"Canvas"}];let[y,w]=Ac(e,t);if(f)return y;let v=y.findIndex(S=>S.id===n);if(v===-1)return[];for(let S of w)if(S.includes(v))return S.map(E=>y[E]);return[{id:s.id,type:"Canvas"}]}function Ac(e,t,{disablePaging:n,skipNonPaged:i}={}){let r=t.behavior,s=r.includes("paged"),l=s?!1:r.includes("continuous"),u=s||l?!1:r.includes("individuals"),f=t.type==="Manifest"?t.items:Pc(e,t);if(l)return[f,[f.map((v,S)=>S)]];if(u||!s||n)return[f,f.map((v,S)=>[S])];let p=[],c=[],m=()=>{c.length&&(p.push([...c]),c=[])},y=0,w=!1;for(let v=0;v<f.length;v++){let S=e.get(f[v]);if(S.behavior.includes("non-paged")){v===y&&y++,i||(m(),p.push([v]),m());continue}if(v===y||S.behavior.includes("facing-pages")){c.length&&(w=!0),m(),p.push([v]),m();continue}if(c.push(v),w){m(),w=!1;continue}c.length>1&&m()}return c.length&&m(),[f,p]}var Si=A(Q(),1);var HS=A(Q(),1);function qa(e={},t=[]){let{id:n,selector:i}=e,r=rn(),s=n||r.range,l=qe(u=>s?u.iiif.entities.Range[s]:void 0,[s]);return(0,HS.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...t])}function sm({startCanvas:e,disablePaging:t}){let n=ze(),i=It(),r=qa(),[s,l]=(0,Si.useState)(void 0),u=r||i;if(!u)throw new Error("Nothing selected");let[f,p]=(0,Si.useMemo)(()=>Ac(n,u,{disablePaging:t}),[n,u,t]),c=(0,Si.useRef)(p);if(c.current!==p){let E=c.current[s][0],R=p.findIndex(b=>b.includes(E));c.current=p,l(R)}let m=(0,Si.useCallback)(S=>{let E=p.findIndex(R=>R.includes(S));l(E===-1?0:E)},[f,p]),y=(0,Si.useCallback)(S=>{let E=f.findIndex(R=>R.id===S);E!==-1?m(E):l(0)},[f,p]),w=(0,Si.useCallback)(()=>{l(S=>S>=p.length-1?S:S+1)},[p]),v=(0,Si.useCallback)(()=>{l(S=>S<=0?0:S-1)},[p]);return typeof s>"u"&&(e?y(e):l(0)),{visibleItems:p[s]?.map(S=>f[S].id)||[],cursor:s,items:f,sequence:p,hasPrevious:s>0,hasNext:s<p.length-1,setSequenceIndex:l,setCanvasIndex:m,setCanvasId:y,next:w,previous:v}}var bi=A(Q(),1);var US={},WS=e=>{let t,n=new Set,i=(c,m)=>{let y=typeof c=="function"?c(t):c;if(!Object.is(y,t)){let w=t;t=m??(typeof y!="object"||y===null)?y:Object.assign({},t,y),n.forEach(v=>v(t,w))}},r=()=>t,f={setState:i,getState:r,getInitialState:()=>p,subscribe:c=>(n.add(c),()=>n.delete(c)),destroy:()=>{(US.env?US.env.MODE:void 0)!=="production"&&console.warn("[DEPRECATED] The `destroy` method will be unsupported in a future version. Instead use unsubscribe function returned by subscribe. Everything will be garbage-collected if store is garbage-collected."),n.clear()}},p=t=e(i,r,f);return f},zn=e=>e?WS(e):WS;var t0=A(Q(),1),n0=A(ZS(),1),Mc={},{useDebugValue:nA}=t0.default,{useSyncExternalStoreWithSelector:iA}=n0.default,JS=!1,rA=e=>e;function ve(e,t=rA,n){(Mc.env?Mc.env.MODE:void 0)!=="production"&&n&&!JS&&(console.warn("[DEPRECATED] Use `createWithEqualityFn` instead of `create` or use `useStoreWithEqualityFn` instead of `useStore`. They can be imported from 'zustand/traditional'. https://github.com/pmndrs/zustand/discussions/1937"),JS=!0);let i=iA(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,n);return nA(i),i}var e0=e=>{(Mc.env?Mc.env.MODE:void 0)!=="production"&&typeof e!="function"&&console.warn("[DEPRECATED] Passing a vanilla store will be unsupported in a future version. Instead use `import { useStore } from 'zustand'`.");let t=typeof e=="function"?zn(e):e,n=(i,r)=>ve(t,i,r);return Object.assign(n,t),n},i0=e=>e?e0(e):e0;function oA(e){let t=e.service||e.services||[];for(let n of t)if(n.type==="AuthProbeService2")return!0;return!1}function wi(e,t,n){let i=t.findIndex(l=>l.service.id===e);if(i===-1)return t;let r=[...t],s=n(r[i]);return s===r[i]?t:(r[i]=s,r)}var um=()=>zn((e,t)=>({currentAuth:-1,authItems:[],login:()=>{let n=t().authItems[t().currentAuth];if(!n||n.isPending||n.isLoggedIn)return;if(n.type!=="active")throw new Error("Cannot login to non-active service");let i=n.service.service.find(r=>r.type==="AuthAccessTokenService2");if(!i)throw new Error("Token service not found");e(()=>({authItems:wi(n.id,t().authItems,r=>({...r,isPending:!0}))})),lm(n.service).then(()=>{_c(i).then(r=>{let s=r.expiresIn,l=Date.now()+s*1e3;e(()=>({authItems:wi(n.id,t().authItems,u=>({...u,isLoggedIn:!0,isPending:!1,session:{token:r.accessToken,expires:l}}))}))}).catch(r=>{e(()=>({authItems:wi(n.id,t().authItems,s=>({...s,isLoggedIn:!1,isPending:!1,error:r.message}))}))})})},logout:()=>{let n=t().authItems[t().currentAuth];if(!n||n.isPending||!n.isLoggedIn)return;if(n.type!=="active")throw new Error("Cannot logout of non-active service");let i=n.service.service.find(l=>l.type==="AuthLogoutService2");if(!i)return;let r=`${i.id}?origin=${r0()}`,s=window.open(r);e(()=>({authItems:wi(n.id,t().authItems,l=>({...l,isLoggedIn:!1,session:null,isPending:!1}))}))},nextAuth:()=>{let n=t().authItems.length,i=t().currentAuth+1;i>=n||e(()=>({currentAuth:i}))},previousAuth:()=>{let n=t().currentAuth-1;n<0||e(()=>({currentAuth:n}))},setAuth:n=>{n!==-1&&(n<0||n>=t().authItems.length)||e(()=>({currentAuth:n}))},addService:(n,i)=>{if(!n.service)return;let r=n.service.find(u=>u.type==="AuthAccessTokenService2"),s=n;if(t().authItems.find(u=>u.service.id===n.id)){e(()=>({authItems:wi(n.id,t().authItems,u=>({...u,instances:u.instances+1}))}));return}if(e(()=>({currentAuth:s.profile==="active"?0:t().currentAuth,authItems:[{id:n.id,type:n.profile,service:n,probeId:i,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...t().authItems]})),n.profile==="external"){if(!r)throw new Error("Token service not found");_c(r).then(u=>{e(()=>({authItems:wi(n.id,t().authItems,f=>({...f,isLoggedIn:!0,isPending:!1,session:{token:u.accessToken,expires:u.expiresIn}}))}))}).catch(u=>{e(()=>({authItems:wi(n.id,t().authItems,f=>({...f,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:u.message}))}))})}if(n.profile==="kiosk"){if(!r)throw new Error("Token service not found");e(()=>({authItems:wi(n.id,t().authItems,u=>({...u,isPending:!0}))})),lm(s).then(()=>{_c(r).then(u=>{e(()=>({authItems:wi(n.id,t().authItems,f=>({...f,isLoggedIn:!0,isPending:!1,session:{token:u.accessToken,expires:u.expiresIn}}))}))}).catch(u=>{e(()=>({authItems:wi(n.id,t().authItems,f=>({...f,isLoggedIn:!1,isPending:!1,error:u.message}))}))})})}n.profile},removeService:(n,i)=>{let r=t().currentAuth===t().authItems.findIndex(l=>l.service.id===n.id),s=t().currentAuth;if(r){let l=t().authItems.find(f=>f.service.id===n.id);l&&l.instances>1||(s=t().authItems.findIndex(p=>p.service.id!==n.id&&p.instances>0))}e(()=>({authItems:wi(n.id,t().authItems,l=>({...l,instances:l.instances-1})),currentAuth:s}))}})),cm=(e,t)=>zn((n,i)=>({service:e,status:e?"unknown":"success",shouldRedirect:!1,redirectResource:null,shouldSubstitute:!1,substituteResource:null,error:null,errorHeading:null,errorNote:null,shouldDisplayResource:!1,token:t||null,async probe(){if(!i().service)return;let r=i().service?.id;if(!r){n({status:"error",error:"Service ID not found",errorHeading:{en:["Service ID not found"]}});return}n({status:"probing"});let s=i().token;try{let l=await fetch(r,{headers:s?{Authorization:`Bearer ${i().token}`,Accept:"application/json"}:{Accept:"application/json"}}).then(u=>u.json());if(l.status===200)n({status:"success",shouldDisplayResource:!0,error:null,errorHeading:null,errorNote:null,shouldSubstitute:!1,shouldRedirect:!1});else if(l.status<400&&l.status>=300){if(!l.location)throw new Error("Redirect location not found");n({status:"error",shouldDisplayResource:!1,shouldRedirect:!0,redirectResource:l.location||null})}else if(l.status===401)n({status:"error",shouldDisplayResource:!1,shouldRedirect:!1,shouldSubstitute:!!l.substitute,substituteResource:l.substitute||null,error:"Unauthorized",errorHeading:l.heading||{en:["Unauthorized"]},errorNote:l.note||null});else throw new Error("Unknown error")}catch(l){n({status:"error",error:l.message,errorHeading:{en:["Unknown error"]}})}},setToken(r){n({token:r})}}));function dm(e){let t=e.service||e.services||[],n={hasAuth:!1,services:{}};for(let i of t)if(i.type==="AuthProbeService2"){n.services.probe=i,n.hasAuth=!0;let r=i.service.filter(s=>s.type==="AuthAccessService2");r[0]&&(n.services.access=r[0])}return n}async function _c(e,{strict:t=!0}={}){return new Promise((n,i)=>{let r=Math.random().toString(36).substring(7),s=`${e.id}?messageId=${r}&origin=${window.location.origin}`,l=p=>{let c=p.data;if(c.messageId===r){if(t&&c.type!=="AuthAccessToken2"){u(),i("Invalid response, expected type=AuthAccessToken2");return}if(!c.accessToken){u(),i("Invalid response, expected accessToken");return}u(),n(c)}},u=()=>window.removeEventListener("message",l),f=document.createElement("iframe");f.src=s,f.style.display="none",document.body.appendChild(f),window.addEventListener("message",l)})}function r0(e){let t=window.location;if(e){let n=document.createElement("a");return n.href=e,n.protocol+"//"+n.hostname+(n.port?":"+n.port:"")}return t.protocol+"//"+t.hostname+(t.port?":"+t.port:"")}async function lm(e){let t=`${e.id}?origin=${r0()}`,n=window.open(t);if(!n)throw new Error("Failed to open window");return new Promise((i,r)=>{let s=setInterval(()=>{n.closed&&(clearInterval(s),i())},500)})}var As=A(Q(),1);function o0(e){let t=(0,As.useMemo)(()=>dm(e),[e]),n=fm(t.services.access?.id),i=(0,As.useMemo)(()=>cm(t.services.probe,n),[t.services.probe]),r=ve(i);return(0,As.useEffect)(()=>{r.status==="unknown"&&!n&&r.probe()},[t.services.probe,r.status]),(0,As.useEffect)(()=>{n&&(r.setToken(n),r.probe())},[n]),[e,r,t.hasAuth]}var Ga=A(D(),1),Co=(0,bi.createContext)(null),s0=(0,bi.createContext)(null);s0.displayName="CurrentAuth";var a0=(0,bi.createContext)(null);a0.displayName="AuthActions";function pm({children:e}){let t=(0,bi.useMemo)(()=>um(),[]);return(0,Ga.jsx)(Co.Provider,{value:t,children:e})}function mm(){return!!(0,bi.useContext)(Co)}function Ts(){let e=(0,bi.useContext)(Co);if(!e)throw new Error("useAuthActions must be used within a AuthProvider");return e}function l0(){let e=Ts();return ve(e,n=>({login:n.login,logout:n.logout,nextAuth:n.nextAuth,previousAuth:n.previousAuth,setAuth:n.setAuth,addService:n.addService,removeService:n.removeService}))}function sA(){let e=Ts();return ve(e,t=>t)}function u0(e){let t=Ts();return ve(t,i=>i.authItems.find(r=>r.service.id===e))}function fm(e){let t=Ts();return ve(t,i=>i.authItems.find(r=>r.id===e)?.session?.token)}function aA(e){let t=Ts();return ve(t,i=>{let r=i.authItems.find(s=>s.service.id===e);return!r||!r.isLoggedIn||!r.session?null:r.session?.token||null})}function lA(e){let t=l0(),n=u0(e.service.id);return(0,bi.useEffect)(()=>(t?.addService(e.service,e.probeId),()=>{t?.removeService(e.service,e.probeId)}),[e.service]),n?(n.error||!n.isLoggedIn,e.children):null}function hm(){return null}function gm(e){let[t,n,i]=o0(e.resource),r=e.fallbackComponent||hm,s=e.loadingComponent||hm,l=e.errorComponent||hm,u=n.service,f=null;if(!i||!u)return e.children(t);let p=u.service.filter(c=>c.type==="AuthAccessService2");n.status==="error"&&(f=(0,Ga.jsx)(l,{resource:e.resource,error:n.error||"",heading:n.errorHeading,note:n.errorNote,extra:e.extra})),(n.status==="unknown"||n.status==="probing")&&(f=(0,Ga.jsx)(s,{})),n.status==="success"&&(f=e.children(t));for(let c of p)f=(0,Ga.jsx)(lA,{service:c,probeId:u.id,children:f},c.id);return f}var $a=A(Q(),1);var uA=e=>e.id||e["@id"];function cA(e){return(Array.isArray(e.service)?e.service:[e.service]).find(n=>n.profile==="http://iiif.io/api/search/0/autocomplete"||n.profile==="http://iiif.io/api/search/1/autocomplete"||n.profile==="AutoCompleteService1")}var c0=e=>{let t;typeof e=="string"?t={"@context":"http://iiif.io/api/search/1/context.json",profile:"http://iiif.io/api/search/1/search","@id":e,id:e,service:[]}:t=e;let n=t?uA(t):void 0,i=null;return zn((r,s)=>({service:t,resources:[],lastQuery:{},loading:!1,error:!1,highlight:null,hasSearch:!!t,hasAutocomplete:t?!!cA(t):!1,errorMessage:"",search(l,u={}){if(!n)throw new Error("No search service found.");i&&!i.signal.aborted&&i.abort(),i=new AbortController;let f=new URLSearchParams;l.q&&f.set("q",l.q),l.motivation&&f.set("motivation",l.motivation),l.date&&f.set("date",l.date),l.user&&f.set("user",l.user),r({loading:!0}),fetch(`${n}?${f.toString()}`,{signal:i.signal,headers:{"Content-Type":"application/json",Accept:"application/json",...u.headers||{}}}).then(async p=>{if(!i?.signal.aborted)if(p.ok){let c=await p.json();r({resources:c.resources,error:!1,errorMessage:""})}else r({resources:[],error:!0,errorMessage:p.statusText})})},clearSearch(){r({resources:[],error:!1,errorMessage:""})},highlightResult(l){let u=s().resources.find(f=>f["@id"]===l);r({highlight:u})},nextResult(){let l=s().resources,u=s().highlight;if(!u){r({highlight:l[0]||null});return}let f=l.findIndex(p=>p["@id"]===u["@id"]);if(f===-1){r({highlight:l[0]||null});return}r({highlight:l[f+1]||l[0]||null})},previousResult(){let l=s().resources,u=s().highlight;if(!u){r({highlight:l[l.length-1]||null});return}let f=l.findIndex(p=>p["@id"]===u["@id"]);if(f===-1){r({highlight:l[l.length-1]||null});return}if(f===0){r({highlight:l[l.length-1]||null});return}r({highlight:l[f-1]||l[l.length-1]||null})}}))};function ym(){let e=It();return e?e.service.find(t=>t.profile==="SearchService1"||t.profile==="http://iiif.io/api/search/1/search"):void 0}var Oc=A(D(),1),Ms=(0,$a.createContext)(null);Ms.displayName="Search";function d0(e){let t=ym();return e.store?(0,Oc.jsx)(Ms.Provider,{value:e.store,children:e.children}):(0,Oc.jsx)(dA,{service:t,children:e.children})}function dA({service:e,children:t}){let n=(0,$a.useMemo)(()=>c0(e),[e]);return(0,Oc.jsx)(Ms.Provider,{value:n,children:t})}var Pn=A(D(),1),Qa=()=>{},_s=(0,kc.createContext)({setCurrentCanvasId:Qa,setCurrentCanvasIndex:Qa,nextCanvas:Qa,previousCanvas:Qa,items:[],sequence:[],setSequenceIndex:Qa,currentSequenceIndex:0,hasNext:!1,hasPrevious:!1});function h0(e){let t=It(),{cursor:n,visibleItems:i,next:r,sequence:s,items:l,setCanvasIndex:u,setCanvasId:f,previous:p,setSequenceIndex:c,hasNext:m,hasPrevious:y}=sm({startCanvas:e.startCanvas,disablePaging:e.pagingEnabled===!1}),w=(0,kc.useMemo)(()=>({sequence:s,items:l,setCurrentCanvasId:f,nextCanvas:r,previousCanvas:p,totalCanvases:l.length,setCurrentCanvasIndex:u,setSequenceIndex:c,currentSequenceIndex:n,hasNext:m,hasPrevious:y}),[s,l,f,r,p,l,u,c,n]);return t?i.length===0?null:(0,Pn.jsx)(_s.Provider,{value:w,children:(0,Pn.jsx)(Ro.Provider,{value:i,children:(0,Pn.jsx)(ni,{canvas:i[0],children:e.children})})}):(console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,Pn.jsx)("div",{children:"Sorry, something went wrong."}))}function vm(e){let t=Io(e.vault),n=nm(e.manifest);if(!n)return console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,Pn.jsx)("div",{children:"Sorry, something went wrong."});if(n.error)return(0,Pn.jsx)("div",{children:n.error.toString()});if(!n.isLoaded)return(0,Pn.jsx)("div",{children:"Loading..."});let i=(0,Pn.jsx)(h0,{...e,children:e.children});return(0,Pn.jsx)(bo,{vault:t,children:(0,Pn.jsx)(im,{manifest:n.id,children:(0,Pn.jsx)(pm,{children:(0,Pn.jsx)(d0,{children:e.rangeId?(0,Pn.jsx)(rm,{range:e.rangeId,children:i}):i})})})})}function Po(){return(0,f0.useContext)(_s)}var Mr=(e,t,n)=>{let i=e.length,r=n||me(i);for(let s=0;s<i;s++)r[s]=s%5===0?e[s+1]<t[3]&&e[s+3]>t[1]&&e[s+2]<t[4]&&e[s+4]>t[2]?1:0:e[s];return r};function me(e,t,n){return new Float32Array(e,t,n)}var p0=(e,t,n)=>{let i=e[1]<=t[3]&&e[3]>=t[1]&&e[2]<=t[4]&&e[4]>=t[2],r=n||me(5);return i?(r[0]=1,r[1]=Math.max(e[1],t[1]),r[2]=Math.max(e[2],t[2]),r[3]=Math.min(e[3],t[3]),r[4]=Math.min(e[4],t[4]),r):(r[0]=0,r[1]=0,r[2]=0,r[3]=0,r[4]=0,r)},m0=e=>e.length/5;var An=(e,t,n)=>{let i=n||me(9);return i[0]=e[0]*t[0]+e[1]*t[3]+e[2]*t[6],i[1]=e[0]*t[1]+e[1]*t[4]+e[2]*t[7],i[2]=e[0]*t[2]+e[1]*t[5]+e[2]*t[8],i[3]=e[3]*t[0]+e[4]*t[3]+e[5]*t[6],i[4]=e[3]*t[1]+e[4]*t[4]+e[5]*t[7],i[5]=e[3]*t[2]+e[4]*t[5]+e[5]*t[8],i[6]=e[6]*t[0]+e[7]*t[3]+e[8]*t[6],i[7]=e[6]*t[1]+e[7]*t[4]+e[8]*t[7],i[8]=e[6]*t[2]+e[7]*t[5]+e[8]*t[8],i},Pe=class e{constructor(t){this.index=0,this.length=t,this.points=me(this.length)}static grid(t=1,n=1){return new e(5*t*n)}static point(t,n){let i=me(5);return i[0]=1,i[1]=t,i[2]=n,i[3]=t,i[4]=n,i}static positionPair(t){let n=me(5);return n[0]=1,n[1]=t.x1,n[2]=t.y1,n[3]=t.x2,n[4]=t.y2,n}static projection(t){return e.singleBox(t.width,t.height,t.x,t.y)}static singleBox(t,n,i=0,r=0){let s=me(5);return s[0]=1,s[1]=i,s[2]=r,s[3]=t+i,s[4]=n+r,s}row(t){return t(this)}addPoints(t,n,i,r){return this.points[this.index]=1,this.points[1+this.index]=t,this.points[2+this.index]=n,this.points[3+this.index]=i,this.points[4+this.index]=r,this.index+=5,this}addBox(t,n,i,r){return this.addPoints(t,n,t+i,n+r),this}build(){return this.points}};var hn=(e,t)=>{let n=e.length;for(let i=0;i<n;i++)e[i]=i%5===0?t[6]*e[i+1]+t[7]*e[i+2]+t[8]*e[i]:i%5%2===1?t[0]*e[i]+t[1]*e[i+1]+t[2]:t[3]*e[i-1]+t[4]*e[i]+t[5];return e},Dn=e=>{let t=me(9);return t[0]=e,t[4]=e,t[8]=1,t},ht=(e,t)=>{let n=me(9);return n[0]=1,n[2]=e,n[4]=1,n[5]=t,n[8]=1,n},ir=(e,t,n)=>An(ht((1-e)*t,(1-e)*n),Dn(e)),Bn=(e,t,n)=>{let i=e.length,r=n&&n.length>=i?n.slice(0,i):me(i);for(let s=0;s<i;s++)r[s]=s%5===0?t[6]*e[s+1]+t[7]*e[s+2]+t[8]*e[s]:s%5%2===1?t[0]*e[s]+t[1]*e[s+1]+t[2]:t[3]*e[s-1]+t[4]*e[s]+t[5];return r};var Ya=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,fA=typeof AbortController=="function",Lc=fA?AbortController:class{constructor(){this.signal=new g0}abort(t=new Error("This operation was aborted")){this.signal.reason=this.signal.reason||t,this.signal.aborted=!0,this.signal.dispatchEvent({type:"abort",target:this.signal})}},hA=typeof AbortSignal=="function",pA=typeof Lc.AbortSignal=="function",g0=hA?AbortSignal:pA?Lc.AbortController:class{constructor(){this.reason=void 0,this.aborted=!1,this._listeners=[]}dispatchEvent(t){t.type==="abort"&&(this.aborted=!0,this.onabort(t),this._listeners.forEach(n=>n(t),this))}onabort(){}addEventListener(t,n){t==="abort"&&this._listeners.push(n)}removeEventListener(t,n){t==="abort"&&(this._listeners=this._listeners.filter(i=>i!==n))}},bm=new Set,xm=(e,t)=>{let n=`LRU_CACHE_OPTION_${e}`;Fc(n)&&Rm(n,`${e} option`,`options.${t}`,ks)},Sm=(e,t)=>{let n=`LRU_CACHE_METHOD_${e}`;if(Fc(n)){let{prototype:i}=ks,{get:r}=Object.getOwnPropertyDescriptor(i,e);Rm(n,`${e} method`,`cache.${t}()`,r)}},mA=(e,t)=>{let n=`LRU_CACHE_PROPERTY_${e}`;if(Fc(n)){let{prototype:i}=ks,{get:r}=Object.getOwnPropertyDescriptor(i,e);Rm(n,`${e} property`,`cache.${t}`,r)}},y0=(...e)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...e):console.error(...e)},Fc=e=>!bm.has(e),Rm=(e,t,n,i)=>{bm.add(e);let r=`The ${t} is deprecated. Please use ${n} instead.`;y0(r,"DeprecationWarning",e,i)},_r=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),v0=e=>_r(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?Os:null:null,Os=class extends Array{constructor(t){super(t),this.fill(0)}},wm=class{constructor(t){if(t===0)return[];let n=v0(t);this.heap=new n(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},ks=class e{constructor(t={}){let{max:n=0,ttl:i,ttlResolution:r=1,ttlAutopurge:s,updateAgeOnGet:l,updateAgeOnHas:u,allowStale:f,dispose:p,disposeAfter:c,noDisposeOnSet:m,noUpdateTTL:y,maxSize:w=0,maxEntrySize:v=0,sizeCalculation:S,fetchMethod:E,fetchContext:R,noDeleteOnFetchRejection:b,noDeleteOnStaleGet:I,allowStaleOnFetchRejection:M,allowStaleOnFetchAbort:T,ignoreFetchAbort:_}=t,{length:U,maxAge:H,stale:Z}=t instanceof e?{}:t;if(n!==0&&!_r(n))throw new TypeError("max option must be a nonnegative integer");let B=n?v0(n):Array;if(!B)throw new Error("invalid max value: "+n);if(this.max=n,this.maxSize=w,this.maxEntrySize=v||this.maxSize,this.sizeCalculation=S||U,this.sizeCalculation){if(!this.maxSize&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(this.fetchMethod=E||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=R,!this.fetchMethod&&R!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(n).fill(null),this.valList=new Array(n).fill(null),this.next=new B(n),this.prev=new B(n),this.head=0,this.tail=0,this.free=new wm(n),this.initialFill=1,this.size=0,typeof p=="function"&&(this.dispose=p),typeof c=="function"?(this.disposeAfter=c,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!m,this.noUpdateTTL=!!y,this.noDeleteOnFetchRejection=!!b,this.allowStaleOnFetchRejection=!!M,this.allowStaleOnFetchAbort=!!T,this.ignoreFetchAbort=!!_,this.maxEntrySize!==0){if(this.maxSize!==0&&!_r(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!_r(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!f||!!Z,this.noDeleteOnStaleGet=!!I,this.updateAgeOnGet=!!l,this.updateAgeOnHas=!!u,this.ttlResolution=_r(r)||r===0?r:1,this.ttlAutopurge=!!s,this.ttl=i||H||0,this.ttl){if(!_r(this.ttl))throw new TypeError("ttl must be a positive integer if specified");this.initializeTTLTracking()}if(this.max===0&&this.ttl===0&&this.maxSize===0)throw new TypeError("At least one of max, maxSize, or ttl is required");if(!this.ttlAutopurge&&!this.max&&!this.maxSize){let G="LRU_CACHE_UNBOUNDED";Fc(G)&&(bm.add(G),y0("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",G,e))}Z&&xm("stale","allowStale"),H&&xm("maxAge","ttl"),U&&xm("length","sizeCalculation")}getRemainingTTL(t){return this.has(t,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new Os(this.max),this.starts=new Os(this.max),this.setItemTTL=(i,r,s=Ya.now())=>{if(this.starts[i]=r!==0?s:0,this.ttls[i]=r,r!==0&&this.ttlAutopurge){let l=setTimeout(()=>{this.isStale(i)&&this.delete(this.keyList[i])},r+1);l.unref&&l.unref()}},this.updateItemAge=i=>{this.starts[i]=this.ttls[i]!==0?Ya.now():0},this.statusTTL=(i,r)=>{i&&(i.ttl=this.ttls[r],i.start=this.starts[r],i.now=t||n(),i.remainingTTL=i.now+i.ttl-i.start)};let t=0,n=()=>{let i=Ya.now();if(this.ttlResolution>0){t=i;let r=setTimeout(()=>t=0,this.ttlResolution);r.unref&&r.unref()}return i};this.getRemainingTTL=i=>{let r=this.keyMap.get(i);return r===void 0?0:this.ttls[r]===0||this.starts[r]===0?1/0:this.starts[r]+this.ttls[r]-(t||n())},this.isStale=i=>this.ttls[i]!==0&&this.starts[i]!==0&&(t||n())-this.starts[i]>this.ttls[i]}updateItemAge(t){}statusTTL(t,n){}setItemTTL(t,n,i){}isStale(t){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new Os(this.max),this.removeItemSize=t=>{this.calculatedSize-=this.sizes[t],this.sizes[t]=0},this.requireSize=(t,n,i,r)=>{if(this.isBackgroundFetch(n))return 0;if(!_r(i))if(r){if(typeof r!="function")throw new TypeError("sizeCalculation must be a function");if(i=r(n,t),!_r(i))throw new TypeError("sizeCalculation return invalid (expect positive integer)")}else throw new TypeError("invalid size value (must be positive integer). When maxSize or maxEntrySize is used, sizeCalculation or size must be set.");return i},this.addItemSize=(t,n,i)=>{if(this.sizes[t]=n,this.maxSize){let r=this.maxSize-this.sizes[t];for(;this.calculatedSize>r;)this.evict(!0)}this.calculatedSize+=this.sizes[t],i&&(i.entrySize=n,i.totalCalculatedSize=this.calculatedSize)}}removeItemSize(t){}addItemSize(t,n){}requireSize(t,n,i,r){if(i||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:t=this.allowStale}={}){if(this.size)for(let n=this.tail;!(!this.isValidIndex(n)||((t||!this.isStale(n))&&(yield n),n===this.head));)n=this.prev[n]}*rindexes({allowStale:t=this.allowStale}={}){if(this.size)for(let n=this.head;!(!this.isValidIndex(n)||((t||!this.isStale(n))&&(yield n),n===this.tail));)n=this.next[n]}isValidIndex(t){return t!==void 0&&this.keyMap.get(this.keyList[t])===t}*entries(){for(let t of this.indexes())this.valList[t]!==void 0&&this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield[this.keyList[t],this.valList[t]])}*rentries(){for(let t of this.rindexes())this.valList[t]!==void 0&&this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield[this.keyList[t],this.valList[t]])}*keys(){for(let t of this.indexes())this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.keyList[t])}*rkeys(){for(let t of this.rindexes())this.keyList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.keyList[t])}*values(){for(let t of this.indexes())this.valList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.valList[t])}*rvalues(){for(let t of this.rindexes())this.valList[t]!==void 0&&!this.isBackgroundFetch(this.valList[t])&&(yield this.valList[t])}[Symbol.iterator](){return this.entries()}find(t,n){for(let i of this.indexes()){let r=this.valList[i],s=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(s!==void 0&&t(s,this.keyList[i],this))return this.get(this.keyList[i],n)}}forEach(t,n=this){for(let i of this.indexes()){let r=this.valList[i],s=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;s!==void 0&&t.call(n,s,this.keyList[i],this)}}rforEach(t,n=this){for(let i of this.rindexes()){let r=this.valList[i],s=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;s!==void 0&&t.call(n,s,this.keyList[i],this)}}get prune(){return Sm("prune","purgeStale"),this.purgeStale}purgeStale(){let t=!1;for(let n of this.rindexes({allowStale:!0}))this.isStale(n)&&(this.delete(this.keyList[n]),t=!0);return t}dump(){let t=[];for(let n of this.indexes({allowStale:!0})){let i=this.keyList[n],r=this.valList[n],s=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(s===void 0)continue;let l={value:s};if(this.ttls){l.ttl=this.ttls[n];let u=Ya.now()-this.starts[n];l.start=Math.floor(Date.now()-u)}this.sizes&&(l.size=this.sizes[n]),t.unshift([i,l])}return t}load(t){this.clear();for(let[n,i]of t){if(i.start){let r=Date.now()-i.start;i.start=Ya.now()-r}this.set(n,i.value,i)}}dispose(t,n,i){}set(t,n,{ttl:i=this.ttl,start:r,noDisposeOnSet:s=this.noDisposeOnSet,size:l=0,sizeCalculation:u=this.sizeCalculation,noUpdateTTL:f=this.noUpdateTTL,status:p}={}){if(l=this.requireSize(t,n,l,u),this.maxEntrySize&&l>this.maxEntrySize)return p&&(p.set="miss",p.maxEntrySizeExceeded=!0),this.delete(t),this;let c=this.size===0?void 0:this.keyMap.get(t);if(c===void 0)c=this.newIndex(),this.keyList[c]=t,this.valList[c]=n,this.keyMap.set(t,c),this.next[this.tail]=c,this.prev[c]=this.tail,this.tail=c,this.size++,this.addItemSize(c,l,p),p&&(p.set="add"),f=!1;else{this.moveToTail(c);let m=this.valList[c];if(n!==m){if(this.isBackgroundFetch(m)?m.__abortController.abort(new Error("replaced")):s||(this.dispose(m,t,"set"),this.disposeAfter&&this.disposed.push([m,t,"set"])),this.removeItemSize(c),this.valList[c]=n,this.addItemSize(c,l,p),p){p.set="replace";let y=m&&this.isBackgroundFetch(m)?m.__staleWhileFetching:m;y!==void 0&&(p.oldValue=y)}}else p&&(p.set="update")}if(i!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),f||this.setItemTTL(c,i,r),this.statusTTL(p,c),this.disposeAfter)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return this}newIndex(){return this.size===0?this.tail:this.size===this.max&&this.max!==0?this.evict(!1):this.free.length!==0?this.free.pop():this.initialFill++}pop(){if(this.size){let t=this.valList[this.head];return this.evict(!0),t}}evict(t){let n=this.head,i=this.keyList[n],r=this.valList[n];return this.isBackgroundFetch(r)?r.__abortController.abort(new Error("evicted")):(this.dispose(r,i,"evict"),this.disposeAfter&&this.disposed.push([r,i,"evict"])),this.removeItemSize(n),t&&(this.keyList[n]=null,this.valList[n]=null,this.free.push(n)),this.head=this.next[n],this.keyMap.delete(i),this.size--,n}has(t,{updateAgeOnHas:n=this.updateAgeOnHas,status:i}={}){let r=this.keyMap.get(t);if(r!==void 0)if(this.isStale(r))i&&(i.has="stale",this.statusTTL(i,r));else return n&&this.updateItemAge(r),i&&(i.has="hit"),this.statusTTL(i,r),!0;else i&&(i.has="miss");return!1}peek(t,{allowStale:n=this.allowStale}={}){let i=this.keyMap.get(t);if(i!==void 0&&(n||!this.isStale(i))){let r=this.valList[i];return this.isBackgroundFetch(r)?r.__staleWhileFetching:r}}backgroundFetch(t,n,i,r){let s=n===void 0?void 0:this.valList[n];if(this.isBackgroundFetch(s))return s;let l=new Lc;i.signal&&i.signal.addEventListener("abort",()=>l.abort(i.signal.reason));let u={signal:l.signal,options:i,context:r},f=(w,v=!1)=>{let{aborted:S}=l.signal,E=i.ignoreFetchAbort&&w!==void 0;return i.status&&(S&&!v?(i.status.fetchAborted=!0,i.status.fetchError=l.signal.reason,E&&(i.status.fetchAbortIgnored=!0)):i.status.fetchResolved=!0),S&&!E&&!v?c(l.signal.reason):(this.valList[n]===y&&(w===void 0?y.__staleWhileFetching?this.valList[n]=y.__staleWhileFetching:this.delete(t):(i.status&&(i.status.fetchUpdated=!0),this.set(t,w,u.options))),w)},p=w=>(i.status&&(i.status.fetchRejected=!0,i.status.fetchError=w),c(w)),c=w=>{let{aborted:v}=l.signal,S=v&&i.allowStaleOnFetchAbort,E=S||i.allowStaleOnFetchRejection,R=E||i.noDeleteOnFetchRejection;if(this.valList[n]===y&&(!R||y.__staleWhileFetching===void 0?this.delete(t):S||(this.valList[n]=y.__staleWhileFetching)),E)return i.status&&y.__staleWhileFetching!==void 0&&(i.status.returnedStale=!0),y.__staleWhileFetching;if(y.__returned===y)throw w},m=(w,v)=>{this.fetchMethod(t,s,u).then(S=>w(S),v),l.signal.addEventListener("abort",()=>{(!i.ignoreFetchAbort||i.allowStaleOnFetchAbort)&&(w(),i.allowStaleOnFetchAbort&&(w=S=>f(S,!0)))})};i.status&&(i.status.fetchDispatched=!0);let y=new Promise(m).then(f,p);return y.__abortController=l,y.__staleWhileFetching=s,y.__returned=null,n===void 0?(this.set(t,y,{...u.options,status:void 0}),n=this.keyMap.get(t)):this.valList[n]=y,y}isBackgroundFetch(t){return t&&typeof t=="object"&&typeof t.then=="function"&&Object.prototype.hasOwnProperty.call(t,"__staleWhileFetching")&&Object.prototype.hasOwnProperty.call(t,"__returned")&&(t.__returned===t||t.__returned===null)}async fetch(t,{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:s=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:u=0,sizeCalculation:f=this.sizeCalculation,noUpdateTTL:p=this.noUpdateTTL,noDeleteOnFetchRejection:c=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:m=this.allowStaleOnFetchRejection,ignoreFetchAbort:y=this.ignoreFetchAbort,allowStaleOnFetchAbort:w=this.allowStaleOnFetchAbort,fetchContext:v=this.fetchContext,forceRefresh:S=!1,status:E,signal:R}={}){if(!this.fetchMethod)return E&&(E.fetch="get"),this.get(t,{allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:r,status:E});let b={allowStale:n,updateAgeOnGet:i,noDeleteOnStaleGet:r,ttl:s,noDisposeOnSet:l,size:u,sizeCalculation:f,noUpdateTTL:p,noDeleteOnFetchRejection:c,allowStaleOnFetchRejection:m,allowStaleOnFetchAbort:w,ignoreFetchAbort:y,status:E,signal:R},I=this.keyMap.get(t);if(I===void 0){E&&(E.fetch="miss");let M=this.backgroundFetch(t,I,b,v);return M.__returned=M}else{let M=this.valList[I];if(this.isBackgroundFetch(M)){let Z=n&&M.__staleWhileFetching!==void 0;return E&&(E.fetch="inflight",Z&&(E.returnedStale=!0)),Z?M.__staleWhileFetching:M.__returned=M}let T=this.isStale(I);if(!S&&!T)return E&&(E.fetch="hit"),this.moveToTail(I),i&&this.updateItemAge(I),this.statusTTL(E,I),M;let _=this.backgroundFetch(t,I,b,v),U=_.__staleWhileFetching!==void 0,H=U&&n;return E&&(E.fetch=U&&T?"stale":"refresh",H&&T&&(E.returnedStale=!0)),H?_.__staleWhileFetching:_.__returned=_}}get(t,{allowStale:n=this.allowStale,updateAgeOnGet:i=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:s}={}){let l=this.keyMap.get(t);if(l!==void 0){let u=this.valList[l],f=this.isBackgroundFetch(u);return this.statusTTL(s,l),this.isStale(l)?(s&&(s.get="stale"),f?(s&&(s.returnedStale=n&&u.__staleWhileFetching!==void 0),n?u.__staleWhileFetching:void 0):(r||this.delete(t),s&&(s.returnedStale=n),n?u:void 0)):(s&&(s.get="hit"),f?u.__staleWhileFetching:(this.moveToTail(l),i&&this.updateItemAge(l),u))}else s&&(s.get="miss")}connect(t,n){this.prev[n]=t,this.next[t]=n}moveToTail(t){t!==this.tail&&(t===this.head?this.head=this.next[t]:this.connect(this.prev[t],this.next[t]),this.connect(this.tail,t),this.tail=t)}get del(){return Sm("del","delete"),this.delete}delete(t){let n=!1;if(this.size!==0){let i=this.keyMap.get(t);if(i!==void 0)if(n=!0,this.size===1)this.clear();else{this.removeItemSize(i);let r=this.valList[i];this.isBackgroundFetch(r)?r.__abortController.abort(new Error("deleted")):(this.dispose(r,t,"delete"),this.disposeAfter&&this.disposed.push([r,t,"delete"])),this.keyMap.delete(t),this.keyList[i]=null,this.valList[i]=null,i===this.tail?this.tail=this.prev[i]:i===this.head?this.head=this.next[i]:(this.next[this.prev[i]]=this.next[i],this.prev[this.next[i]]=this.prev[i]),this.size--,this.free.push(i)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return n}clear(){for(let t of this.rindexes({allowStale:!0})){let n=this.valList[t];if(this.isBackgroundFetch(n))n.__abortController.abort(new Error("deleted"));else{let i=this.keyList[t];this.dispose(n,i,"delete"),this.disposeAfter&&this.disposed.push([n,i,"delete"])}}if(this.keyMap.clear(),this.valList.fill(null),this.keyList.fill(null),this.ttls&&(this.ttls.fill(0),this.starts.fill(0)),this.sizes&&this.sizes.fill(0),this.head=0,this.tail=0,this.initialFill=1,this.free.length=0,this.calculatedSize=0,this.size=0,this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift())}get reset(){return Sm("reset","clear"),this.clear}get length(){return mA("length","size"),this.size}static get AbortController(){return Lc}static get AbortSignal(){return g0}},x0=ks;var g1=A(V0(),1);var mt=A(Q(),1),Sd=A(Q(),1),BT=A(D(),1);var Vn=A(Q(),1);function j0(e,t){let n;return(...i)=>{window.clearTimeout(n),n=window.setTimeout(()=>e(...i),t)}}function Vc({debounce:e,scroll:t,polyfill:n,offsetSize:i}={debounce:0,scroll:!1,offsetSize:!1}){let r=n||(typeof window>"u"?class{}:window.ResizeObserver);if(!r)throw new Error("This browser does not support ResizeObserver out of the box. See: https://github.com/react-spring/react-use-measure/#resize-observer-polyfills");let[s,l]=(0,Vn.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),u=(0,Vn.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:s,orientationHandler:null}),f=e?typeof e=="number"?e:e.scroll:null,p=e?typeof e=="number"?e:e.resize:null,c=(0,Vn.useRef)(!1);(0,Vn.useEffect)(()=>(c.current=!0,()=>void(c.current=!1)));let[m,y,w]=(0,Vn.useMemo)(()=>{let R=()=>{if(!u.current.element)return;let{left:b,top:I,width:M,height:T,bottom:_,right:U,x:H,y:Z}=u.current.element.getBoundingClientRect(),B={left:b,top:I,width:M,height:T,bottom:_,right:U,x:H,y:Z};u.current.element instanceof HTMLElement&&i&&(B.height=u.current.element.offsetHeight,B.width=u.current.element.offsetWidth),Object.freeze(B),c.current&&!RA(u.current.lastBounds,B)&&l(u.current.lastBounds=B)};return[R,p?j0(R,p):R,f?j0(R,f):R]},[l,i,f,p]);function v(){u.current.scrollContainers&&(u.current.scrollContainers.forEach(R=>R.removeEventListener("scroll",w,!0)),u.current.scrollContainers=null),u.current.resizeObserver&&(u.current.resizeObserver.disconnect(),u.current.resizeObserver=null),u.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",u.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",u.current.orientationHandler))}function S(){u.current.element&&(u.current.resizeObserver=new r(w),u.current.resizeObserver.observe(u.current.element),t&&u.current.scrollContainers&&u.current.scrollContainers.forEach(R=>R.addEventListener("scroll",w,{capture:!0,passive:!0})),u.current.orientationHandler=()=>{w()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",u.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",u.current.orientationHandler))}let E=R=>{!R||R===u.current.element||(v(),u.current.element=R,u.current.scrollContainers=H0(R),S())};return wA(w,!!t),SA(y),(0,Vn.useEffect)(()=>{v(),S()},[t,w,y]),(0,Vn.useEffect)(()=>v,[]),[E,s,m]}function SA(e){(0,Vn.useEffect)(()=>{let t=e;return window.addEventListener("resize",t),()=>void window.removeEventListener("resize",t)},[e])}function wA(e,t){(0,Vn.useEffect)(()=>{if(t){let n=e;return window.addEventListener("scroll",n,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",n,!0)}},[e,t])}function H0(e){let t=[];if(!e||e===document.body)return t;let{overflow:n,overflowX:i,overflowY:r}=window.getComputedStyle(e);return[n,i,r].some(s=>s==="auto"||s==="scroll")&&t.push(e),[...t,...H0(e.parentElement)]}var bA=["x","y","top","bottom","left","right","width","height"],RA=(e,t)=>bA.every(n=>e[n]===t[n]);var ig=A(Q(),1),Ui=A(Q(),1),v1=A(rw(),1),x1=A(Q(),1),Rd=A(Q(),1),zs=A(D(),1),oi=A(Q(),1),T1=A(Q(),1),M1=A(Q(),1),_1=A(D(),1),pn=A(D(),1),Ed=A(Q(),1);var ll=A(D(),1),og=A(Q(),1),k1=A(Q(),1),iM=A(Q(),1),L1=A(Q(),1),N1=A(Q(),1),Wi=A(Q(),1),z1=A(Q(),1),eg=A(D(),1),D1=A(Q(),1),Hi=A(Q(),1),Vt=A(Q(),1),B1=A(Q(),1),Ad=A(Q(),1),_t=A(D(),1),tg=A(D(),1),uM=A(Q(),1),j1=A(D(),1),H1=A(Q(),1);var IA=Object.defineProperty,CA=(e,t,n)=>t in e?IA(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,Gc=(e,t,n)=>(CA(e,typeof t!="symbol"?t+"":t,n),n);function Mo(e){return e.endsWith("info.json")?e:e.endsWith("/")?`${e}info.json`:`${e}/info.json`}var PA="http://library.stanford.edu/iiif/image-api/compliance.html#level0",lw="http://library.stanford.edu/iiif/image-api/compliance.html#level1",uw="http://library.stanford.edu/iiif/image-api/compliance.html#level2",AA="http://library.stanford.edu/iiif/image-api/conformance.html#level0",cw="http://library.stanford.edu/iiif/image-api/conformance.html#level1",dw="http://library.stanford.edu/iiif/image-api/conformance.html#level2",TA="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",fw="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",hw="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",MA="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",pw="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",mw="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",_A="http://iiif.io/api/image/1/level0.json",OA="http://iiif.io/api/image/1/profiles/level0.json",gw="http://iiif.io/api/image/1/level1.json",yw="http://iiif.io/api/image/1/profiles/level1.json",vw="http://iiif.io/api/image/1/level2.json",xw="http://iiif.io/api/image/1/profiles/level2.json",kA="http://iiif.io/api/image/2/level0.json",LA="http://iiif.io/api/image/2/profiles/level0.json",Sw="http://iiif.io/api/image/2/level1.json",ww="http://iiif.io/api/image/2/profiles/level1.json",bw="http://iiif.io/api/image/2/level2.json",Rw="http://iiif.io/api/image/2/profiles/level2.json",FA="level0",Ew="level1",Iw="level2",NA="http://iiif.io/api/image/2/level0",Cw="http://iiif.io/api/image/2/level1",Pw="http://iiif.io/api/image/2/level2",zA="https://iiif.io/api/image/1.1/compliance/#level0",Aw="https://iiif.io/api/image/1.1/compliance/#level1",Tw="https://iiif.io/api/image/1.1/compliance/#level2",Mw=[Pw,uw,dw,hw,mw,vw,xw,bw,Rw,Iw,Tw],_w=[...Mw,Cw,lw,cw,fw,pw,gw,yw,Sw,ww,Ew,Aw],DA=[NA,Cw,Pw,PA,lw,uw,AA,cw,dw,TA,fw,hw,MA,pw,mw,_A,OA,gw,yw,vw,xw,kA,LA,Sw,ww,bw,Rw,FA,Ew,Iw,zA,Aw,Tw];var BA={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},VA={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},jA={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};function HA(e){return Mw.indexOf(e)!==-1?jA:_w.indexOf(e)!==-1?VA:BA}function WA(e){let t=e?Array.isArray(e.profile)?e.profile:[e.profile]:[],n={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let i of t)if(typeof i=="string"&&(i=HA(i)),!!i){if(i.formats)for(let r of i.formats)n.extraFormats.indexOf(r)===-1&&n.extraFormats.push(r);if(i.qualities)for(let r of i.qualities)n.extraQualities.indexOf(r)===-1&&n.extraQualities.push(r);if(i.supports)for(let r of i.supports)n.extraFeatures.indexOf(r)===-1&&n.extraFeatures.push(r);if(i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea),i.extraFormats)for(let r of i.extraFormats)n.extraFormats.indexOf(r)===-1&&n.extraFormats.push(r);if(i.extraQualities)for(let r of i.extraQualities)n.extraQualities.indexOf(r)===-1&&n.extraQualities.push(r);if(i.extraFeatures)for(let r of i.extraFeatures)n.extraFeatures.indexOf(r)===-1&&n.extraFeatures.push(r);i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea)}if(e.extraFormats)for(let i of e.extraFormats)n.extraFormats.indexOf(i)===-1&&n.extraFormats.push(i);if(e.extraFeatures)for(let i of e.extraFeatures)n.extraFeatures.indexOf(i)===-1&&n.extraFeatures.push(i);if(e.extraQualities)for(let i of e.extraQualities)n.extraQualities.indexOf(i)===-1&&n.extraQualities.push(i);return n}function UA(e){try{if(e==="full")return{full:!0};if(e==="square")return{square:!0};let t=e.startsWith("pct:"),n=e.substr(t?4:0).split(",").map(i=>parseFloat(i));return{x:n[0],y:n[1],w:n[2],h:n[3],percent:t}}catch{throw new Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+e)}}function qA(e){let t={upscaled:!1,max:!1,confined:!1};if(e[0]==="^"&&(t.upscaled=!0,e=e.slice(1)),e==="max"||e==="full")return t.max=!0,t.serialiseAsFull=e==="full",t;if(e[0]==="!"&&(t.confined=!0,e=e.slice(1)),e[0]==="p")return t.percentScale=parseFloat(e.slice(4)),t;let n=e.split(",").map(i=>i.trim());return n.length&&typeof n[0]<"u"&&(n[0]!==""&&(t.width=parseInt(n[0],10)),typeof n[1]<"u"&&n[1]!==""?(t.height=parseInt(n[1],10),t.version=2):t.version=3),t}function GA(e){let t={angle:0};if(e[0]==="!"&&(t.mirror=!0,e=e.substr(1)),t.angle=parseFloat(e)%360,Number.isNaN(t.angle))throw new Error(`Invalid rotation ${e}`);return t}function $A(e,t=""){let n=e.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!n)throw new Error(`Invalid or unknown input ${e}`);let i=n[2],r=n[3],s=n[4];if(s[0]==="/"&&(s=s.substring(1)),t.length>0){if(t[0]==="/"&&(t=t.substring(1)),t!==s.substring(0,t.length))throw new Error(`Path does not start with prefix (path: ${s}, prefix: ${t})`);s=s.substring(t.length)}return{scheme:i,server:r,path:s,prefix:t}}function QA(e,t=""){let{path:n,scheme:i,server:r,prefix:s}=$A(e,t),l=(n||"").split("/").reverse(),[u,f,p,c,...m]=l,y=m.reverse().filter(Boolean).join("/");if(l.length===1||u==="")return{type:"base",scheme:i,server:r,prefix:s,identifier:y};if(u==="info.json"){let[,...v]=l;return{type:"info",scheme:i,server:r,prefix:s,identifier:v.reverse().filter(Boolean).join("/")}}let w=(u||"").split(".");if(typeof w[1]>"u"||typeof w[0]>"u"||typeof c>"u"||typeof p>"u"||typeof f>"u")throw new Error("Invalid image request");return{type:"image",scheme:i,server:r,prefix:s,identifier:y,originalPath:n,region:UA(c),size:qA(p),rotation:GA(f),quality:w[0],format:w[1]}}function YA(e){let t=QA(Mo(e.id));if(t.type!=="info")throw new Error("Invalid service URL");let n=WA(e);return{identifier:t.identifier,originalPath:"",server:t.server,prefix:t.prefix,scheme:t.scheme,type:"image",quality:n.extraQualities.indexOf("default")===-1?n.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function KA(e,t,n){let i=n.length,r=[];for(let s=0;s<i;s++){let l=n[s];if(l){let u=l.width;r.push(e/u)}}return r}function XA(e,t,n){let i=n.length,r=[];for(let s=0;s<i;s++){let l=n[s];l&&r.push({width:Math.floor(e/l),height:Math.floor(t/l)})}return r}function wt(e){if(e["@id"])return e["@id"];if(e.id)return e.id}function Qc(e){if(!e||!e.profile||!wt(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"&&DA.indexOf(n)!==-1)return!0;return!1}function ZA(e){if(!Qc(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"){if(_w.indexOf(n)!==-1)return!0}else{let i=[...n.supports||[],...n.extraFeatures||[]];if(i.indexOf("regionByPx")!==-1&&(i.indexOf("sizeByW")!==-1||i.indexOf("sizeByWh")!==-1))return!0}return!1}function $c(e,t){if(t&&t.profile){let n=t.profile;if(n){let i=Array.isArray(n)?n:[n];return i.includes(`level${e}`)||i.includes(`http://iiif.io/api/image/2/level${e}.json`)||i.includes(`http://iiif.io/api/image/1/level${e}.json`)||i.includes(`http://iiif.io/api/image/1/profiles/level${e}.json`)}}return!1}function Hm(e){return Qc(e)?$c(0,e)?0:$c(1,e)?1:$c(2,e)?2:null:null}function Ow(e){return(e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function JA(e){if(!ZA(e))return[];let t=[],n=Array.isArray(e.profile)?e.profile:[e.profile],i=n.length;for(let r=0;r<i;r++){let s=n[r];if(s&&typeof s!="string"&&(s.maxHeight||s.maxWidth))return[{id:wt(e),type:"variable",minWidth:0,minHeight:0,maxHeight:s.maxHeight||s.maxWidth,maxWidth:s.maxWidth||s.maxHeight,level:Hm(e),version:e["@context"]==="http://iiif.io/api/image/3/context.json"?3:2}]}if(e.tiles){let r=e.tiles.length;for(let s=0;s<r;s++){let l=e.tiles[s];l&&(l.height||l.width)&&t.push({id:wt(e),type:"variable",minHeight:0,minWidth:0,maxHeight:l.height||l.width,maxWidth:l.width,level:Hm(e),version:Ow(e)?3:2})}}return t}function ow(e){let t=/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/,n=e.match(t);if(n&&n[4]&&n[5]){let i=n[1],r=parseInt(n[4],10),s=parseInt(n[5],10),l=n[7];if((i==="max"||i==="full")&&r&&s&&l)return{type:"fixed",id:e,height:s,width:r}}return{type:"unknown",id:e}}function eT(e){if(e["@type"])return e["@type"];if(e.type)return e.type}function tT(e){if(typeof e=="string")return ow(e);let t=eT(e);if(t!=="Image"&&t!=="sc:Image")return null;let n=e,i=wt(n);return i?i&&n.width&&n.height?{id:i,type:"fixed",width:n.width,height:n.height,unsafe:!0}:ow(i):null}function nT(e){return Qc(e)?(e&&e.sizes?e.sizes:[]).map(t=>({id:wt(e),type:"fixed-service",height:t.height,width:t.width,level:Hm(e),version:Ow(e)?3:2})):[]}function sw(e){let t=[],n=e.length;for(let i=0;i<n;i++){let r=e[i];if(!r)continue;let s=nT(r);s.length&&t.push(...s);let l=JA(r);l.length&&t.push(...l)}return t}function kw(e){let t=e.service?Array.isArray(e.service)?e.service:[e.service]:[],n=t.length,i=[];for(let r=0;r<n;r++)Qc(t[r])&&i.push(t[r]);return i}function iT(e,t=!0,n){let i=[],r=tT(e);if(r===null)return i;let s=e;if(i.push(r),t&&s&&s.width&&s.height){let l=[],u=kw(s);for(let f of u){let p={id:wt(f),width:s.width,height:s.height};if(n.canLoadSync(p)){let c=n.loadServiceSync(p);c&&(c.height||(c.height=s.height),c.width||(c.width=s.width),l.push(...sw([c])))}}if(l.length)return i.push(...l),i}return s.service&&i.push(...sw(s.service)),i}function rT({x:e=0,y:t=0,w:n,h:i,full:r,square:s,percent:l}){if(r)return"full";if(s)return"square";if(typeof n>"u"||typeof i>"u")throw new Error("RegionParameter: invalid region");let u=`${e},${t},${n},${i}`;return l?`pct:${u}`:u}function oT({max:e,percentScale:t,upscaled:n,confined:i,width:r,height:s,serialiseAsFull:l,version:u}){let f=[];return n&&f.push("^"),e?(f.push(l?"full":"max"),f.join("")):(i&&f.push("!"),t&&f.push(`pct:${t}`),r&&f.push(`${r}`),f.push(","),s&&u===3&&f.push(`${s}`),f.join(""))}function sT(e){return`${e.mirror?"!":""}${(e.angle||0)%360}`}function aT(e,t){let n=e.prefix.startsWith("/")?e.prefix.substr(1):e.prefix,i=`${e.scheme}://${e.server}/${n?`${n}/`:""}${e.identifier}`;if(e.type==="base")return i;if(e.type==="info")return`${i}/info.json`;let{size:r}=e,{region:s,rotation:l,format:u,quality:f}=e;if(t){let p=t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[],c=t.profile,m=p.indexOf("http://iiif.io/api/image/2/context.json")!==-1||c==="level2",y=p.indexOf("http://iiif.io/api/image/3/context.json")!==-1;if((r.width===t.width&&!r.height||r.height===t.height&&!r.width||r.width===t.width&&r.height===t.height)&&(r={...r,max:!0}),m&&(r.max&&!r.serialiseAsFull&&(r={...r,serialiseAsFull:!0}),!r.max&&r.width&&r.height&&(r={...r,height:void 0}),r={...r,version:2}),y){if(r.max&&r.serialiseAsFull&&(r={...r,serialiseAsFull:!1}),r.width&&!r.height&&t.width&&t.height){let w=t.height/t.width;r={...r,height:Math.ceil(r.width*w)}}r={...r,version:3}}}return[i,rT(s),oT(r),sT(l),`${f}.${u}`].filter(Boolean).join("/")}function jm(e,t,n){let i=YA({"@context":e.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:Mo(wt(e)),profile:e.level===null||typeof e.level>"u"?"level0":`level${e.level}`,type:e.version===3?"ImageService3":"ImageService2"});if(i.type!=="image")throw new Error("Invalid service");return i.size.max=!1,i.size.width=t,i.size.height=n,{id:aT(i),type:"fixed",width:t,height:n||e.height/(e.width||1)*t,unsafe:e.width>t}}function Ls(e){let t=e.replace(/(https?:\/\/)?(www.)?/i,"");return t.indexOf("/")!==-1?t.split("/")[0]:t}function lT(e,t,n){let i=e.width?e.width:e.maxWidth;return n.height<=e.maxHeight&&n.width<=e.maxWidth&&n.height>=e.minHeight&&n.width>=e.minWidth&&(!t||Math.abs(n.width-i)<Math.abs(t.width-i))}function uT(e,t){let n=[],i=Object.assign({unsafeImageService:!1,atAnyCost:!0,fallback:!0,minHeight:64,minWidth:64,maxHeight:1/0,maxWidth:1/0,returnAllOptions:!1,preferFixedSize:!1,allowUnsafe:!1,explain:!1,height:0,width:0},e),r=(c,m=0)=>i.explain?n.push(new Array(m).fill(0).map(y=>" ").join("")+c().trim()):void 0,s=[],l=[],u=null;r(()=>`Using configuration: ${JSON.stringify(i,null,2)}`);let f=(c,m)=>{if(r(()=>"Swapping choice",3),lT(i,m,c)){if(i.preferFixedSize&&c.unsafe){r(()=>`We found an image that was marked as unsafe, but it was the best size. (${c.id})`,4),l.push(c);return}i.returnAllOptions&&m&&l.push(m),r(()=>`We found a new image that was the best size. (${c.id})`,4),u=c}else i.returnAllOptions&&l.push(c)};r(()=>`The input shows we have ${t.length} list(s) of candidates to choose from.`);let p=t.length;for(let c=0;c<p;c++){let m=t[c]();r(()=>`Candidate group ${c}: ${JSON.stringify(m,null,2)}`,1);let y=m.length;r(()=>`Checking candidate list number ${c} and found ${y} potential ways of creating image(s)`,1);for(let w=0;w<y;w++){let v=m[w];if(r(()=>`-> Checking candidate ${w}`,1),v.type==="unknown"&&i.atAnyCost&&(r(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),s.push(v)),v.type==="fixed"&&(v.unsafe?(r(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),s.push(v)):(r(()=>"We've found a fixed size image, checking if it matches the request",2),f(v,u))),v.type==="fixed-service")if(i.unsafeImageService){r(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2);let S=jm(v,i.width,i.height);f(S,u)}else{r(()=>"Checking for an image from the tile source 3",2);let S=jm(v,v.width,v.height);f(S,u)}if(v.type==="variable"&&v.maxWidth){let S=jm({id:v.id,type:"fixed-service",width:v.maxWidth,height:v.maxWidth,level:v.level,version:v.version},v.maxWidth);f(S,u)}}if(u&&!i.returnAllOptions){if(u.unsafe||i.allowUnsafe)continue;r(()=>`We found a match in choice list number ${c}, no searching any more`);break}}return i.atAnyCost&&l.length===0?(r(()=>u?`We found an image! ${u.id} of type ${u.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:u||s[0]||null,fallback:s.slice(1),log:n}):i.returnAllOptions?(r(()=>"Returning all options that we have found"),{best:(i.atAnyCost?u||l[0]||s[0]:u||l[0])||null,fallback:[...l,...s],log:n}):(r(()=>"Returning the best image that we found, and a fallback"),{best:u||l[0]||null,fallback:u?l:l.slice(1),log:n})}function cT(e,t,n){let i=e>t?e:t,r=n.length,s=[];for(let l=0;l<r;l++){let u=n[l];if(!u||u.scaleFactors.length===0)continue;let f=u.scaleFactors[0];if(!f)continue;let p=i/f,c=[f];for(;p>=u.width;)f=f*2,c.push(f),p=p/2;s.push({...u,scaleFactors:c})}return s}function dT(e,t){if(e.length!==t.length)return!1;if(e.length===0&&t.length===0)return!0;let n=e.length,i=!0;for(let s=0;s<n;s++){let l=e[s],u=t[s];if(l.width!==u.width||l.height!==u.height){i=!1;break}}if(i)return!0;let r=0;for(let s=0;s<n;s++)for(let l=0;l<n;l++)if(e[s].width===t[l].width&&e[s].height===t[l].height){r++;break}return r===n}function aw(e){return $c(0,e)}var Lw=class{constructor(e={}){Gc(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),Gc(this,"fetchingCount",0),Gc(this,"imageServices",{}),Gc(this,"knownImageServers",{}),this.config=Object.assign(this.config,e)}setConfig(e){Object.assign(this.config,e)}sample(e,t,n=!0){let i=Ls(wt(e)),r=Mo(wt(e)),s=this.knownImageServers[i];return this.imageServices[r]=Object.assign(e,{real:!0}),!s&&e.tiles&&!aw(e)?(this.knownImageServers[i]={verifications:0,malformed:!1,root:i,preLoaded:n,sampledId:wt(e),verified:!1,server:null,result:{context:e["@context"]||[],sampledProfile:e.profile,resourceServiceRatio:t&&e.height?t.height/e.height:1,sampledSizes:e.sizes||[],sizeRatios:KA(e.width,e.height,e.sizes||[]),sampledTiles:e.tiles||[]}},!0):this.verify(e)}preLoad(e,t=!0){this.knownImageServers[e.root]=e,t&&(this.knownImageServers[e.root].malformed=!1,this.knownImageServers[e.root].verifications=this.config.verificationsRequired)}predict(e,t=!1,n=!1){let i=e?.source,r=Ls(wt(e)),s=this.knownImageServers[r],l=Mo(wt(e));return this.imageServices[l]?this.imageServices[l]||null:!this.config.approximateServices||!s||!s.result||!(i?.height||e.height)||!(i?.width||e.width)||!n&&(s.malformed||s.verifications<this.config.verificationsRequired)||aw(e.source)?null:(this.imageServices[l]||(this.imageServices[l]={"@context":s.result.context,"@id":wt(e),id:wt(e),protocol:"http://iiif.io/api/image",tiles:i?.tiles||cT(e.width,e.height,s.result.sampledTiles),sizes:i?.sizes||XA(Math.round(e.width/s.result.resourceServiceRatio),Math.round(e.height/s.result.resourceServiceRatio),s.result.sizeRatios),profile:i?.profile||s.result.sampledProfile,height:i?.height||e.height,width:i?.width||e.width,real:!1}),this.imageServices[l]||null)}async getThumbnailFromResource(e,t,n=!0,i=[]){let r=e?await this.getImageCandidates(e,n):[];return uT(t,[()=>i,()=>r])}async getImageCandidates(e,t=!0){let n=e;if(t&&n&&n.height&&n.width){let i=kw(n);for(let r of i){let s={id:wt(r),width:r.width?r.width:n.width,height:r.height?r.height:n.height,source:r};await this.loadService(s)}}return iT(e,t,this)}async verify(e){let t=this.predict(e,!1,!0),n=await this.fetchService(wt(e));if(!t)return!1;let i=t.height===n.height&&t.width===n.width&&t["@context"]===n["@context"]&&dT(t.sizes||[],n.sizes||[]);if(i){let r=Ls(wt(e)),s=this.knownImageServers[r];s&&(s.verifications+=1,s.verifications>=this.config.verificationsRequired&&(s.verified=!0))}return i}canLoadSync(e){let t=typeof e=="string"?e:wt(e),n=Mo(t);if(this.imageServices[n])return!0;let i=this.knownImageServers[Ls(t)];return!!(i&&!i.malformed&&i.verifications>=this.config.verificationsRequired)}async markAsMalformed(e){return this.knownImageServers[Ls(wt(e))].malformed=!0,this.loadService(e,!0)}async fetchService(e,t=!1){let n=Mo(e),i=this.imageServices[n];if(i&&(!t||i.real))return i;if(!this.config.enableFetching)throw new Error("Fetching is not enabled");let r=await this.fetch(n).then(s=>s.json());return!r.id&&r["@id"]&&(r.id=r["@id"]),r.id!==e&&(r.id=e,r["@id"]&&(r["@id"]=e)),this.imageServices[n]=Object.assign(r,{real:!0}),this.imageServices[n]}async fetch(e,t){return fetch(e,t)}async loadService(e,t=!1){if(!this.config.disableThrottling){let r=!0;for(;r;)if(this.fetchingCount>=this.config.verificationsRequired)await new Promise(s=>setTimeout(s,500));else{r=!1;break}}let n=this.knownImageServers[Ls(wt(e))];if(n&&!n.malformed&&!t){await n.result;let r=this.loadServiceSync(e);if(r)return r}this.fetchingCount++;let i=await this.fetchService(wt(e),t);return this.fetchingCount--,i.real&&this.sample(i,e),i}loadServiceSync(e){let t=Mo(wt(e));return this.imageServices[t]?this.imageServices[t]:this.config.approximateServices?this.predict(e):null}},EF=new Lw;var Yc={},rr={get(e){return e},setMetaValue([e,t,n],i){let r=rr.getResourceMeta(e,t),s=r?r[n]:void 0,l=typeof i=="function"?i(s):i;Yc[e]={...Yc[e]||{},[t]:{...(Yc[e]||{})[t]||{},[n]:l}}},getResourceMeta:(e,t)=>{let n=Yc[e];if(n)return t?n[t]:n},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(n=>n.json())},requestStatus(e){}};function fT(e){try{if(e==="full")return{full:!0};if(e==="square")return{square:!0};let t=e.startsWith("pct:"),n=e.substr(t?4:0).split(","),i=n.map(r=>parseFloat(r));return{x:i[0],y:i[1],w:i[2],h:i[3],percent:t}}catch{throw Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+e)}}function hT(e){let t={upscaled:!1,max:!1,confined:!1};if(e[0]==="^"&&(t.upscaled=!0,e=e.slice(1)),e==="max"||e==="full")return t.max=!0,t.serialiseAsFull=e==="full",t;if(e[0]==="!"&&(t.confined=!0,e=e.slice(1)),e[0]==="p")return t.percentScale=parseFloat(e.slice(4)),t;let n=e.split(",").map(i=>i.trim());return n.length&&(n[0]!==""&&(t.width=parseInt(n[0],10)),n[1]!==""&&(t.height=parseInt(n[1],10))),t}function pT(e){let t={angle:0};if(e[0]==="!"&&(t.mirror=!0,e=e.substr(1)),t.angle=parseFloat(e)%360,Number.isNaN(t.angle))throw Error(`Invalid rotation ${e}`);return t}function mT(e,t=""){let n=e.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!n)throw Error(`Invalid or unknown input ${e}`);let i=n[2],r=n[3],s=n[4];if(s[0]==="/"&&(s=s.substring(1)),t.length>0){if(t[0]==="/"&&(t=t.substring(1)),t!==s.substring(0,t.length))throw Error(`Path does not start with prefix (path: ${s}, prefix: ${t})`);s=s.substring(t.length)}return{scheme:i,server:r,path:s,prefix:t}}function gT(e,t=""){let{path:n,scheme:i,server:r,prefix:s}=mT(e,t),l=n.split("/").reverse(),[u,f,p,c,...m]=l,y=m.reverse().filter(Boolean).join("/");if(l.length===1||u==="")return{type:"base",scheme:i,server:r,prefix:s,identifier:y};if(u==="info.json"){let[,...S]=l;return{type:"info",scheme:i,server:r,prefix:s,identifier:S.reverse().filter(Boolean).join("/")}}if(i===void 0||r===void 0||n===void 0||c===void 0||p===void 0||f===void 0||u===void 0)throw Error("Invalid image service URL");let[w="",v=""]=u.split(".");return{type:"image",scheme:i,server:r,prefix:s,identifier:y,originalPath:n,region:fT(c),size:hT(p),rotation:pT(f),quality:w,format:v}}function yT(e){return vs.indexOf(e)!==-1?Zx:Sc.indexOf(e)!==-1?Xx:Kx}function vT(e){let t=e?Array.isArray(e.profile)?e.profile:[e.profile]:[],n={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let i of t)if(typeof i=="string"&&(i=yT(i)),!!i){if(i.formats)for(let r of i.formats)n.extraFormats.indexOf(r)===-1&&n.extraFormats.push(r);if(i.qualities)for(let r of i.qualities)n.extraQualities.indexOf(r)===-1&&n.extraQualities.push(r);if(i.supports)for(let r of i.supports)n.extraFeatures.indexOf(r)===-1&&n.extraFeatures.push(r);if(i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea),i.extraFormats)for(let r of i.extraFormats)n.extraFormats.indexOf(r)===-1&&n.extraFormats.push(r);if(i.extraQualities)for(let r of i.extraQualities)n.extraQualities.indexOf(r)===-1&&n.extraQualities.push(r);if(i.extraFeatures)for(let r of i.extraFeatures)n.extraFeatures.indexOf(r)===-1&&n.extraFeatures.push(r);i.maxHeight&&(n.maxHeight=i.maxHeight),i.maxWidth&&(n.maxWidth=i.maxWidth),i.maxArea&&(n.maxArea=i.maxArea)}if(e.extraFormats)for(let i of e.extraFormats)n.extraFormats.indexOf(i)===-1&&n.extraFormats.push(i);if(e.extraFeatures)for(let i of e.extraFeatures)n.extraFeatures.indexOf(i)===-1&&n.extraFeatures.push(i);if(e.extraQualities)for(let i of e.extraQualities)n.extraQualities.indexOf(i)===-1&&n.extraQualities.push(i);return n}function Wm(e){let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"&&Fp.indexOf(n)!==-1)return!0;return!1}function Xe(e){if(e["@id"])return e["@id"];if(e.id)return e.id}function Ja(e){if(!e||!e.profile||!Xe(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"&&kp.indexOf(n)!==-1)return!0;return!1}function Fw(e){if(!Ja(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let n of t)if(typeof n=="string"){if(Sc.indexOf(n)!==-1)return!0}else{let i=[...n.supports||[],...n.extraFeatures||[]];if(i.indexOf("regionByPx")!==-1&&(i.indexOf("sizeByW")!==-1||i.indexOf("sizeByWh")!==-1))return!0}return!1}function xT({x:e=0,y:t=0,w:n,h:i,full:r,square:s,percent:l}){if(r)return"full";if(s)return"square";if(n===void 0||i===void 0)throw Error("RegionParameter: invalid region");let u=`${e},${t},${n},${i}`;return l?`pct:${u}`:u}function ST({max:e,percentScale:t,upscaled:n,confined:i,width:r,height:s,serialiseAsFull:l,version:u}){let f=[];return n&&f.push("^"),e?(f.push(l?"full":"max"),f.join("")):(i&&f.push("!"),t&&f.push(`pct:${t}`),r&&f.push(`${r}`),f.push(","),s&&u===3&&f.push(`${s}`),f.join(""))}function wT(e){return`${e.mirror?"!":""}${(e.angle||0)%360}`}function Kc(e,t){let n=e.prefix.startsWith("/")?e.prefix.substring(1):e.prefix,i=`${e.scheme}://${e.server}/${n?`${n}/`:""}${e.identifier}`;if(e.type==="base")return i;if(e.type==="info")return`${i}/info.json`;let{size:r}=e,{region:s,rotation:l,format:u,quality:f}=e;if(t){let p=t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[],c=p.indexOf("http://iiif.io/api/image/2/context.json")!==-1,m=p.indexOf("http://iiif.io/api/image/3/context.json")!==-1;if((r.width===t.width&&!r.height||r.height===t.height&&!r.width||r.width===t.width&&r.height===t.height)&&(r={...r,max:!0}),c&&(r.max&&!r.serialiseAsFull&&(r={...r,serialiseAsFull:!0}),!r.max&&r.width&&r.height&&(r={...r,height:void 0}),r={...r,version:2}),m){if(r.max&&r.serialiseAsFull&&(r={...r,serialiseAsFull:!1}),r.width&&!r.height&&t.width&&t.height){let y=t.height/t.width;r={...r,height:Math.ceil(r.width*y)}}r={...r,version:3}}}return[i,xT(s),ST(r),wT(l),`${f}.${u}`].filter(Boolean).join("/")}function kr(e){return e.endsWith("info.json")?e:e.endsWith("/")?`${e}info.json`:`${e}/info.json`}function Xc(e){let t=gT(kr(e.id));if(t.type!=="info")throw Error("Invalid service URL");let n=vT(e);return{identifier:t.identifier,originalPath:"",server:t.server,prefix:t.prefix,scheme:t.scheme,type:"image",quality:n.extraQualities.indexOf("default")===-1?n.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function Nw(e,t,n){let i=n.length,r=[];for(let s=0;s<i;s++){let l=n[s];if(!l)continue;let u=l.width;r.push(e/u)}return r}function zw(e,t,n){let i=n.length,r=[];for(let s=0;s<i;s++){let l=n[s];l&&r.push({width:Math.floor(e/l),height:Math.floor(t/l)})}return r}function Fs(e,t){if(t&&t.profile){let n=t.profile;if(n){let i=Array.isArray(n)?n:[n];if(i.includes(`level${e}`)||i.includes(`http://iiif.io/api/image/2/level${e}.json`)||i.includes(`http://iiif.io/api/image/1/level${e}.json`)||i.includes(`http://iiif.io/api/image/1/profiles/level${e}.json`))return!0;if(e===2){for(let r of i)if(vs.includes(r))return!0}if(e===1){for(let r of i)if(Sc.includes(r))return!0}if(e===0){for(let r of i)if(Fp.includes(r))return!0}}}return!1}function Zc(e){return Ja(e)?Fs(2,e)?2:Fs(1,e)?1:Fs(0,e)?0:null:null}function Lr(e){let t=e.service?Array.isArray(e.service)?e.service:[e.service]:[],n=t.length,i=[];for(let r=0;r<n;r++)Ja(t[r])&&i.push(t[r]);return i}function Dw(e){if(e["@type"])return e["@type"];if(e.type)return e.type}function _o(e){let t=e.replace(/(https?:\/\/)?(www.)?/i,"");return t.indexOf("/")===-1?t:t.split("/")[0]}function Bw(e,t,n){let i=e>t?e:t,r=n.length,s=[];for(let l=0;l<r;l++){let u=n[l];if(!u||u.scaleFactors.length===0)continue;let f=u.scaleFactors[0];if(!f)continue;let p=i/f,c=[f];for(;p>=u.width;)f*=2,c.push(f),p/=2;s.push({...u,scaleFactors:c})}return s}function Jc(e,t,n){let i=Xc({"@context":e.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:kr(Xe(e)),profile:e.level===null||e.level===void 0?"level0":`level${e.level}`,type:e.version===3?"ImageService3":"ImageService2"});if(i.type!=="image")throw Error("Invalid service");return i.size.max=!1,i.size.width=t,i.size.height=n,{id:Kc(i),type:"fixed",width:t,height:n||e.height/(e.width||1)*t,unsafe:e.width>t}}function Vw(e,t,n){let i=e.width?e.width:e.maxWidth;return n.height<=e.maxHeight&&n.width<=e.maxWidth&&n.height>=e.minHeight&&n.width>=e.minWidth&&(!t||Math.abs(n.width-i)<Math.abs(t.width-i))}function jw(e,t){let n=[],i=Object.assign({unsafeImageService:!1,atAnyCost:!0,fallback:!0,minHeight:64,minWidth:64,maxHeight:1/0,maxWidth:1/0,returnAllOptions:!1,preferFixedSize:!1,allowUnsafe:!1,explain:!1,height:0,width:0},e),r=(c,m=0)=>i.explain?n.push(Array(m).fill(0).map(y=>" ").join("")+c().trim()):void 0,s=[],l=[],u=null;r(()=>`Using configuration: ${JSON.stringify(i,null,2)}`);let f=(c,m)=>{if(r(()=>"Swapping choice",3),Vw(i,m,c)){if(i.preferFixedSize&&c.unsafe){r(()=>`We found an image that was marked as unsafe, but it was the best size. (${c.id})`,4),l.push(c);return}i.returnAllOptions&&m&&l.push(m),r(()=>`We found a new image that was the best size. (${c.id})`,4),u=c}else i.returnAllOptions&&l.push(c)};r(()=>`The input shows we have ${t.length} list(s) of candidates to choose from.`);let p=t.length;for(let c=0;c<p;c++){let m=t[c]();r(()=>`Candidate group ${c}: ${JSON.stringify(m,null,2)}`,1);let y=m.length;r(()=>`Checking candidate list number ${c} and found ${y} potential ways of creating image(s)`,1);for(let w=0;w<y;w++){let v=m[w];if(r(()=>`-> Checking candidate ${w}`,1),v.type==="unknown"&&i.atAnyCost&&(r(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),s.push(v)),v.type==="fixed"&&(v.unsafe?(r(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),s.push(v)):(r(()=>"We've found a fixed size image, checking if it matches the request",2),f(v,u))),v.type==="fixed-service")if(i.unsafeImageService){r(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2);let S=Jc(v,i.width,i.height);f(S,u)}else{r(()=>"Checking for an image from the tile source 3",2);let S=Jc(v,v.width,v.height);f(S,u)}if(v.type==="variable"&&v.maxWidth){let S=Jc({id:v.id,type:"fixed-service",width:v.maxWidth,height:v.maxWidth,level:v.level,version:v.version},v.maxWidth);f(S,u)}}if(u&&!i.returnAllOptions){if(u.unsafe||i.allowUnsafe)continue;r(()=>`We found a match in choice list number ${c}, no searching any more`);break}}return i.atAnyCost&&l.length===0?(r(()=>u?`We found an image! ${u.id} of type ${u.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:u||s[0]||null,fallback:s.slice(1),log:n}):i.returnAllOptions?(r(()=>"Returning all options that we have found"),{best:(i.atAnyCost?u||l[0]||s[0]:u||l[0])||null,fallback:[...l,...s],log:n}):(r(()=>"Returning the best image that we found, and a fallback"),{best:u||l[0]||null,fallback:u?l:l.slice(1),log:n})}function Gm(e){return(e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function Hw(e){return Ja(e)?(e&&e.sizes?e.sizes:[]).map(t=>({id:Xe(e),type:"fixed-service",height:t.height,width:t.width,level:Zc(e),version:Gm(e)?3:2})):[]}function Ww(e){if(!Fw(e))return[];let t=[],n=Array.isArray(e.profile)?e.profile:[e.profile],i=n.length;for(let r=0;r<i;r++){let s=n[r];if(s&&typeof s!="string"&&(s.maxHeight||s.maxWidth))return[{id:Xe(e),type:"variable",minWidth:0,minHeight:0,maxHeight:s.maxHeight||s.maxWidth,maxWidth:s.maxWidth||s.maxHeight,level:Zc(e),version:e["@context"]==="http://iiif.io/api/image/3/context.json"?3:2}]}if(e.tiles){let r=e.tiles.length;for(let s=0;s<r;s++){let l=e.tiles[s];l&&(l.height||l.width)&&t.push({id:Xe(e),type:"variable",minHeight:0,minWidth:0,maxHeight:l.height||l.width,maxWidth:l.width,level:Zc(e),version:Gm(e)?3:2})}}return t}function Um(e){let t=[],n=e.length;for(let i=0;i<n;i++){let r=e[i];if(!r)continue;let s=Hw(r);s.length&&t.push(...s);let l=Ww(r);l.length&&t.push(...l)}return t}function qm(e){let t=/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/,n=e.match(t);if(n&&n[4]&&n[5]){let i=n[1],r=parseInt(n[4],10),s=parseInt(n[5],10),l=n[7];if((i==="max"||i==="full")&&r&&s&&l)return{type:"fixed",id:e,height:s,width:r}}return{type:"unknown",id:e}}function el(e){if(typeof e=="string")return qm(e);let t=Dw(e);if(t!=="Image"&&t!=="sc:Image")return null;let n=e,i=Xe(n);return i?i&&n.width&&n.height?{id:i,type:"fixed",width:n.width,height:n.height,unsafe:!0}:qm(i):null}function Uw(e,t=!0,n){let i=[],r=el(e);if(r===null)return i;let s=e;if(i.push(r),t&&s&&s.width&&s.height){let l=[],u=Lr(s);for(let f of u){let p={id:Xe(f),width:s.width,height:s.height};if(n.canLoadSync(p)){let c=n.loadServiceSync(p);c&&(c.height||(c.height=s.height),c.width||(c.width=s.width),l.push(...Um([c])))}}if(l.length)return i.push(...l),i}return s.service&&i.push(...Um(s.service)),i}function qw(e,t){if(e.length!==t.length)return!1;if(e.length===0&&t.length===0)return!0;let n=e.length,i=!0;for(let s=0;s<n;s++){let l=e[s],u=t[s];if(l.width!==u.width||l.height!==u.height){i=!1;break}}if(i)return!0;let r=0;for(let s=0;s<n;s++)for(let l=0;l<n;l++)if(e[s].width===t[l].width&&e[s].height===t[l].height){r++;break}return r===n}var Ns=class{constructor(e={}){Bt(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),Bt(this,"fetchingCount",0),Bt(this,"imageServices",{}),Bt(this,"knownImageServers",{}),this.config=Object.assign(this.config,e)}setConfig(e){Object.assign(this.config,e)}sample(e,t,n=!0){let i=_o(Xe(e)),r=kr(Xe(e)),s=this.knownImageServers[i];return this.imageServices[r]=Object.assign(e,{real:!0}),!s&&e.tiles&&!Wm(e)?(this.knownImageServers[i]={verifications:0,malformed:!1,root:i,preLoaded:n,sampledId:Xe(e),verified:!1,server:null,result:{context:e["@context"]||[],sampledProfile:e.profile,resourceServiceRatio:t&&e.height?t.height/e.height:1,sampledSizes:e.sizes||[],sizeRatios:Nw(e.width,e.height,e.sizes||[]),sampledTiles:e.tiles||[]}},!0):this.verify(e)}preLoad(e,t=!0){this.knownImageServers[e.root]=e,t&&(this.knownImageServers[e.root].malformed=!1,this.knownImageServers[e.root].verifications=this.config.verificationsRequired)}predict(e,t=!1,n=!1){let i=e?.source,r=_o(Xe(e)),s=this.knownImageServers[r],l=kr(Xe(e));return this.imageServices[l]?this.imageServices[l]||null:!this.config.approximateServices||!s||!s.result||!(i?.height||e.height)||!(i?.width||e.width)||!n&&(s.malformed||s.verifications<this.config.verificationsRequired)||e.source&&Wm(e.source)?null:(this.imageServices[l]||(this.imageServices[l]={"@context":s.result.context,"@id":Xe(e),id:Xe(e),protocol:"http://iiif.io/api/image",tiles:i?.tiles||Bw(e.width,e.height,s.result.sampledTiles),sizes:i?.sizes||zw(Math.round(e.width/s.result.resourceServiceRatio),Math.round(e.height/s.result.resourceServiceRatio),s.result.sizeRatios),profile:i?.profile||s.result.sampledProfile,height:i?.height||e.height,width:i?.width||e.width,real:!1}),this.imageServices[l]||null)}async getThumbnailFromResource(e,t,n=!0,i=[]){let r=e?await this.getImageCandidates(e,n):[];return jw(t,[()=>i,()=>r])}async getImageCandidates(e,t=!0){let n=e;if(t&&n&&n.height&&n.width){let i=Lr(n);for(let r of i){let s={id:Xe(r),width:r.width?r.width:n.width,height:r.height?r.height:n.height,source:r};await this.loadService(s)}}return Uw(e,t,this)}async verify(e){let t=this.predict(e,!1,!0),n=await this.fetchService(Xe(e));if(!t)return!1;let i=t.height===n.height&&t.width===n.width&&t["@context"]===n["@context"]&&qw(t.sizes||[],n.sizes||[]);if(i){let r=_o(Xe(e)),s=this.knownImageServers[r];s&&(s.verifications+=1,s.verifications>=this.config.verificationsRequired&&(s.verified=!0))}return i}canLoadSync(e){let t=typeof e=="string"?e:Xe(e),n=kr(t);if(this.imageServices[n])return!0;let i=this.knownImageServers[_o(t)];return!!(i&&!i.malformed&&i.verifications>=this.config.verificationsRequired)}async markAsMalformed(e){return this.knownImageServers[_o(Xe(e))].malformed=!0,this.loadService(e,!0)}async fetchService(e,t=!1){let n=kr(e),i=this.imageServices[n];if(i&&(!t||i.real))return i;if(!this.config.enableFetching)throw Error("Fetching is not enabled");let r=await this.fetch(n).then(s=>s.json());return!r.id&&r["@id"]&&(r.id=r["@id"]),r.id!==e&&(r.id=e,r["@id"]&&(r["@id"]=e)),this.imageServices[n]=Object.assign(r,{real:!0}),this.imageServices[n]}async fetch(e,t){return fetch(e,t)}async loadService(e,t=!1){if(!this.config.disableThrottling){let r=!0;for(;r;)if(this.fetchingCount>=this.config.verificationsRequired)await new Promise(s=>setTimeout(s,500));else{r=!1;break}}let n=this.knownImageServers[_o(Xe(e))];if(n&&!n.malformed&&!t){await n.result;let r=this.loadServiceSync(e);if(r)return r}this.fetchingCount++;let i=await this.fetchService(Xe(e),t);return this.fetchingCount--,i.real&&this.sample(i,e),i}loadServiceSync(e){let t=kr(Xe(e));return this.imageServices[t]?this.imageServices[t]:this.config.approximateServices?this.predict(e):null}};function Gw(e={}){let t=e.events||ec(),n=e.loader||new Ns;return{store:Ju((r,s)=>({loaded:{},loadServiceSync:(l,u,f)=>{let p=l.id||l["@id"],c=s().loaded[p];if(c&&c.status==="done")return c.service;if(c&&c.status==="loading")return null;if(c&&c.status==="error")throw Error("Failed to load image service");let m={id:Xe(l),width:l.width||u?.width||0,height:l.height||u?.height||0,source:l},y=n.loadServiceSync(m);return y?(r(w=>({loaded:{...w.loaded,[p]:{status:"done",service:y,real:!0}}})),t.emit("image-service.loaded",{id:p,service:y})):f&&s().loadService(l,u).then(()=>{}),y},loadService:async(l,u)=>{let f=l.id||l["@id"],p=s().loaded[f];if(p&&p.status==="done")return p.service;if(p&&p.status==="loading")return new Promise((c,m)=>{let y=w=>{w.id===f&&(t.off("image-service.loaded",y),c(w.service||l))};t.on("image-service.loaded",y)});if(p&&p.status==="error"&&!u?.force)throw Error("Failed to load image service");t.emit("image-service.loading",{id:f});try{let c={id:Xe(l),width:l.width||0,height:l.height||0,source:l},m=await n.loadService(c,u?.force);return r(y=>({loaded:{...y.loaded,[f]:{status:"done",service:m,real:m.real}}})),t.emit("image-service.loaded",{id:f,service:m}),m}catch(c){throw t.emit("image-service.error",{id:f,error:c}),c}}})),events:t}}var $m=Gw();var $w=new Ns;function Qm(e=rr,t={}){let n=t.imageServiceLoader||$w;async function i(r,s,l=!1,u=[],f){let p=()=>n.getThumbnailFromResource(void 0,s,l,u);if(!r)return await n.getThumbnailFromResource(void 0,s,l,u);if(typeof r=="string"){let y=el(r);return y&&u.push(y),await n.getThumbnailFromResource(void 0,s,l,u)}let c=e.get(r,{skipSelfReturn:!1});if(typeof c=="string")return{best:el(c),fallback:[],log:[]};if(!c)return await p();switch(await(async y=>{if(y&&y.thumbnail&&y.thumbnail.length){let w=e.get(y.thumbnail[0]),v=await n.getImageCandidates(w,l);v&&v.length&&u.push(...v)}})(c),c.type){case"Annotation":{let y=Array.isArray(c.body)?c.body:[c.body],w=e.get(y[0]);return f&&!w.width&&(w.width=f.width,w.height=f.height),await n.getThumbnailFromResource(w,s,l,u)}case"Canvas":{let y=c;return i(y.items[0],s,l,u,{width:y.width,height:y.height})}case"AnnotationPage":return i(c.items[0],s,l,u,f);case"Choice":{let y=c;return!y.items||y.items[0]?await p():i(y.items[0],s,l,u,f)}case"Collection":{let y=c,w=y.items[0];return w?i(w,s,l,u,f):await p()}case"Manifest":{let y=c,w=y.items[0];return w?i(w,s,l,u,f):await p()}case"SpecificResource":case"Image":case"Dataset":case"Sound":case"Text":case"TextualBody":case"Video":return f&&!c.width&&(c.width=f.width,c.height=f.height),n.getThumbnailFromResource(c,s,l,u)}return await p()}return{getBestThumbnailAtSize:i}}var cM=A(D(),1),dM=A(Q(),1),ul=A(Q(),1),fM=A(D(),1),hM=A(Q(),1),W1=A(Q(),1),bT=Object.defineProperty,RT=(e,t,n)=>t in e?bT(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,P=(e,t,n)=>(RT(e,typeof t!="symbol"?t+"":t,n),n),gd=["onMouseDown","onMouseEnter","onMouseLeave","onMouseMove","onMouseOut","onMouseOver","onMouseUp","onTouchCancel","onTouchEnd","onTouchMove","onTouchStart","onPointerDown","onPointerMove","onPointerUp","onPointerCancel","onPointerEnter","onPointerLeave","onPointerOver","onPointerOut","onScroll","onWheel","onClick","onDragStart","onDragEnd","onDragEnter","onDragExit","onDrag","onDragOver","onContextMenu"];function ET(){return gd.reduce((e,t)=>(e[t]=[],e),{})}var Ds=gd.reduce((e,t)=>(e[t.slice(2).toLowerCase()]=t,e[t]=t,e),{}),IT="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",yd=(e=21)=>{let t="",n=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+=IT[n[e]&63];return t},qi=class{constructor(){P(this,"__id"),P(this,"__revision",0),P(this,"__host"),P(this,"__onCreate"),P(this,"__parent"),P(this,"__owner",{value:void 0}),P(this,"__state",{}),P(this,"eventHandlers"),P(this,"scale",1),P(this,"layers",[]),P(this,"time",[]),P(this,"_crop"),P(this,"cropData"),P(this,"id"),P(this,"addEventListener",(e,t,n)=>{let i=Ds[e];if(!this.eventHandlers[i])throw new Error(`Unknown event ${i}`);this.eventHandlers[i].indexOf(t)===-1&&this.eventHandlers[i].push(t)}),P(this,"removeEventListener",(e,t)=>{let n=Ds[e];if(!this.eventHandlers[n]){console.warn(`Unknown event ${n}`);return}this.eventHandlers[n].indexOf(t)!==-1&&(this.eventHandlers[n]=this.eventHandlers[n].filter(i=>i!==t))}),this.id=this.__id=yd(),this.eventHandlers=ET()}get crop(){return this._crop}set crop(e){this._crop=e}getObjectsAt(e){return[]}getAllPointsAt(e,t,n){return[]}getScheduledUpdates(e,t){return[]}dispatchEvent(e,t){let n=this.eventHandlers[e],i=n?n.length:0,r=!1;if(i)for(let s=0;s<i;s++)try{n[s](t),r=!0}catch(l){console.error(e,l)}return r}get x(){return this.points[1]}get y(){return this.points[2]}get width(){return this.points[3]-this.points[1]}get height(){return this.points[4]-this.points[2]}translate(e,t){hn(this.points,ht(e,t))}atScale(e){hn(this.points,ir(e,this.x,this.y)),this.scale*=e}transform(e){hn(this.points,e)}applyProps(e){this.__revision++}appendChild(e){}removeChild(e){}insertBefore(e,t){}hideInstance(){}},zr=class Km extends qi{constructor(t){if(super(),P(this,"type","spacial-content"),P(this,"id"),P(this,"uri"),P(this,"display"),P(this,"points"),P(this,"priority"),P(this,"style",{opacity:1}),!t)this.id="",this.uri="",this.display={x:0,y:0,scale:1,width:0,height:0,points:me(5)},this.points=me(5);else{let n=t.scale||1;this.id=t.id||t.uri,this.uri=t.uri,this.points=Pe.singleBox(t.width,t.height,t.x,t.y),this.display={x:0,y:0,scale:n,width:t.width/n,height:t.height/n,points:Pe.singleBox(t.width/n,t.height/n),rotation:t?.rotation}}}applyProps(t){let n=t.display?t.display.width:t.target.width,i=t.target.width/n;if(this.id=t.id||t.uri,this.uri=t.uri,this.points.set(Pe.singleBox(t.target.width,t.target.height,t.target.x,t.target.y)),t.style&&typeof t.style.opacity<"u"&&(this.style.opacity=t.style.opacity),t.crop){this.cropData=t.crop;let r=Pe.singleBox(t.crop.width,t.crop.height,t.crop.x,t.crop.y);hn(r,ht(-t.crop.x,-t.crop.y)),this.crop?this.crop.set(r):this.crop=me(r)}t.display?(this.display.scale=i,this.display.width=t.display.width,this.display.height=t.display.height,this.display.rotation=t.display.rotation,this.display.points=Pe.singleBox(t.display.width,t.display.height)):(this.display.scale=i,this.display.width=t.target.width/i,this.display.height=t.target.height/i,this.display.points=Pe.singleBox(t.target.width/i,t.target.height/i))}getAllPointsAt(t,n,i){return[[this,this.crop||this.points,n]]}static fromSvg(t,n,i,r){return Km.fromImage("data:image/svg+xml;base64,"+btoa(t),n,i,r)}static fromImage(t,n,i,r){let s=new Km;return s.applyProps({uri:t,id:r,display:i,target:n}),s}getImageUrl(){return this.uri}},Xm=class extends qi{constructor(e){if(super(),P(this,"type","spacial-content"),P(this,"id"),P(this,"uri"),P(this,"display"),P(this,"points"),P(this,"getTexture"),this.getTexture=()=>({source:void 0,hash:-1}),!e)this.id="",this.uri="",this.display={x:0,y:0,scale:1,width:0,height:0,points:me(5)},this.points=me(5);else{let t=e.scale||1;this.id=e.id||e.uri,this.uri=e.uri,this.points=Pe.singleBox(e.width,e.height),this.display={x:0,y:0,scale:t,width:e.width/t,height:e.height/t,points:t!==1?Pe.singleBox(e.width/t,e.height/t):this.points}}}applyProps(e){let t=e.display?e.display.width:e.target.width,n=e.target.width/t;this.id=e.id,this.points.set(Pe.singleBox(e.target.width,e.target.height)),this.display.scale=n,this.display.width=e.target.width/n,this.display.height=e.target.height/n,this.getTexture=e.getTexture,this.display.points=n!==1?Pe.singleBox(e.target.width/n,e.target.height/n):this.points}getAllPointsAt(e,t,n){return[[this,this.points,t]]}};function CT(e,t,n=1){let i=t.length;if(i===0)throw new Error("No resources passed in.");let r=0,s=1/0;for(let l=0;l<i&&!(!t[l]||!t[l].display);l++){let u=Zm(t[l].display.scale,e/(n||1));u<s&&(s=u,r=l)}return r}function Zm(e,t){return Math.abs(e-t)}function fd(e,t){let n=Zm(e.x,t.x),i=Zm(e.y,t.y);return Math.sqrt(Math.pow(n,2)+Math.pow(i,2))}function PT(e){let t=e.length;return e.indexOf("/info.json")===t-10?e.slice(0,-10):e}function ed(e,t,n){return Math.min(Math.max(e,t),n)}var al=class d1 extends qi{constructor(t){super(),P(this,"id"),P(this,"type","spacial-content"),P(this,"display"),P(this,"tileWidth"),P(this,"style",{opacity:1}),P(this,"points"),P(this,"service"),P(this,"format","jpg"),P(this,"crop2"),P(this,"version3"),P(this,"tileUrl"),this.tileUrl=PT(t.url),this.id=t.id||`${this.tileUrl}--${t.scaleFactor}`,this.points=t.displayPoints?t.displayPoints:Bn(t.points,Dn(t.scaleFactor)),this.tileWidth=t.tileWidth,this.version3=t.version3,this.display={x:0,y:0,width:t.width/t.scaleFactor,height:t.height/t.scaleFactor,points:t.points,scale:t.scaleFactor},t.format&&(this.format=t.format)}applyProps(t){if(t.style&&typeof t.style.opacity<"u"&&(this.style.opacity=t.style.opacity),t.service!==this.service&&(this.service=t.service),t.format?this.format=t.format:this.format="jpg",typeof t.version3<"u"&&(this.version3=t.version3),t.crop){this.cropData=t.crop;let n=me([...this.points]),i=n.length/5,r=t.crop.x||0,s=t.crop.y||0,l=t.crop.x+t.crop.width,u=t.crop.y+t.crop.height;for(let f=0;f<i;f++){let p=f*5;n[p+1]<l&&n[p+3]>r&&n[p+2]<u&&n[p+4]>s?(n[p+1]=ed(n[p+1],r,l),n[p+3]=ed(n[p+3],r,l),n[p+2]=ed(n[p+2],s,u),n[p+4]=ed(n[p+4],s,u)):n[p]=0}hn(n,ht(-t.crop.x,-t.crop.y)),this.crop?this.crop.set(n):this.crop=n}}static fromTile(t,n,i,r,s,l,u,f){i.height=i.height?i.height:i.width;let p=u?Math.floor(n.width/r):Math.ceil(n.width/r),c=u?Math.floor(n.height/r):Math.ceil(n.height/r),m=Math.ceil(p/i.width),y=Math.ceil(c/i.height),w=Pe.grid(m,y),v=Pe.grid(m,y),S=s?s["@context"]?Array.isArray(s["@context"])?s["@context"]:[s["@context"]]:[]:[],E=typeof f<"u"?f:S.indexOf("http://iiif.io/api/image/3/context.json")!==-1;for(let b=0;b<y;b++)for(let I=0;I<m;I++){let M=I*i.width,T=b*i.height;v.addPoints(M*r,T*r,I===m-1?n.width:(M+i.width)*r,b===y-1?n.height:(T+i.height)*r),w.addPoints(M,T,I===m-1?p:M+i.width,b===y-1?c:T+i.height)}let R=new d1({url:t,scaleFactor:r,points:w.build(),displayPoints:v.build(),width:n.width,height:n.height,tileWidth:i.width,format:l,version3:E});return R.applyProps({service:s}),R}getImageUrl(t){let n=this.points.slice(t*5,t*5+5),i=n[3]-n[1],r=n[4]-n[2],s=Math.ceil(i/this.display.scale),l=Math.ceil(r/this.display.scale),u=`${s>this.tileWidth?this.tileWidth:s},`;return this.version3&&(u+=`${l>this.tileWidth?this.tileWidth:l}`),`${this.tileUrl}/${n[1]},${n[2]},${i},${r}/${u}/0/default.${this.format||"jpg"}`}getAllPointsAt(t,n,i){let r=Mr(this.crop||this.points,t);return[[this,r,n]]}transform(t){hn(this.points,t)}getScheduledUpdates(t,n){return[]}},AT=class extends qi{constructor(){super(...arguments),P(this,"type","spacial-content")}getAllPointsAt(e,t,n){return[[this,this.points,t]]}},TT=class extends AT{constructor(e){super(),P(this,"id"),P(this,"display"),P(this,"points"),P(this,"images",[]),P(this,"allImages",[]),P(this,"scaleFactors",[]),P(this,"aggregateBuffer",me(9)),P(this,"lazyLoader"),P(this,"isFullyLoaded",!1),P(this,"maxScaleFactor",0),P(this,"renderOptions"),P(this,"_scheduleSortByScales",!1),P(this,"_sortByScales",()=>{this._scheduleSortByScales=!1,this.allImages.sort((n,i)=>i.display.width-n.display.width),this.images=[];let t=.1;for(let n of this.allImages)if(!(n.display.width<this.renderOptions.minSize&&n.display.height<this.renderOptions.minSize&&!n.priority||n instanceof zr&&(n.display.width>this.renderOptions.maxImageSize||n.display.height>this.renderOptions.maxImageSize)&&!n.priority)){if(Math.abs(n.display.scale-t)<.25||n.priority){let i=this.images.pop();i&&(i instanceof zr||i.priority)?(n.priority&&this.images.push(n),this.images.push(i)):n&&this.images.push(n)}else n&&this.images.push(n);t=n.display.scale}this.images.length===0&&(this.images=[...this.allImages]),this.scaleFactors=this.images.map(n=>n.display.scale),this.maxScaleFactor=Math.max(...this.scaleFactors)}),P(this,"loadFullResource",async()=>{if(!this.isFullyLoaded&&this.lazyLoader){this.isFullyLoaded=!0;let t=await this.lazyLoader();this.addImages(t)}}),P(this,"fallback",[this.loadFullResource]),this.id=e.id,this.points=Pe.singleBox(e.width,e.height),this.lazyLoader=e.loadFullImages,e.loadFullImages||(this.isFullyLoaded=!0),this.display={x:0,y:0,points:Pe.singleBox(e.width,e.height),height:e.height,width:e.width,scale:1},this.renderOptions={renderSmallestFallback:!0,renderLayers:3,minSize:255,maxImageSize:2048,quality:1.5,...e.renderOptions||{}},this.addImages(e.images)}applyProps(e){typeof e.renderSmallestFallback<"u"&&e.renderSmallestFallback!==this.renderOptions.renderSmallestFallback&&(this.renderOptions.renderSmallestFallback=e.renderSmallestFallback),typeof e.renderLayers<"u"&&e.renderLayers!==this.renderOptions.renderLayers&&(this.renderOptions.renderLayers=e.renderLayers),typeof e.minSize<"u"&&e.minSize!==this.renderOptions.minSize&&(this.renderOptions.minSize=e.minSize),typeof e.maxImageSize<"u"&&e.maxImageSize!==this.renderOptions.maxImageSize&&(this.renderOptions.maxImageSize=e.maxImageSize),typeof e.quality<"u"&&e.quality!==this.renderOptions.quality&&(this.renderOptions.quality=e.quality)}appendChild(e){this.addImages([e])}removeChild(e){this.images.indexOf(e)!==-1&&(this.images=this.images.filter(t=>t!==e),this.sortByScales())}insertBefore(e,t){this.addImages([e])}hideInstance(){}addImages(e){for(let t of e)t.__parent=this,t.__owner=this.__owner;this.allImages.push(...e.filter(Boolean)),this.sortByScales()}sortByScales(){this._scheduleSortByScales=!0}getScheduledUpdates(e,t){return this._scheduleSortByScales?[this._sortByScales]:this.isFullyLoaded?[]:t>1/this.maxScaleFactor?this.fallback:[]}getAllPointsAt(e,t,n){if(this.images.length===0)return[];let i=CT(1/(n||1)/(window.devicePixelRatio||1),this.images,this.renderOptions.quality),r=this.images.length,s=t?An(t,ht(this.x,this.y)):ht(this.x,this.y);if(i!==this.images.length-1&&this.images[i+1]){let l=[];for(let p=r-1;p>=i;p--)l.push(p);let u=l[0];this.renderOptions.renderLayers&&(l=l.slice(-Math.min(l.length,this.renderOptions.renderLayers))),this.renderOptions.renderSmallestFallback&&l.indexOf(u)===-1&&l.unshift(u);let f=[];for(let p=0;p<l.length;p++)f.push(...this.images[l[p]].getAllPointsAt(e,s,n));return f}return this.images[i].getAllPointsAt(e,s,n)}};function td(e,t,n,i,r){let s=Math.PI/180*r,l=Math.cos(s),u=Math.sin(s),f=l*(n-e)+u*(i-t)+e,p=l*(i-t)-u*(n-e)+t;return[f,p]}var ng=class f1 extends qi{constructor(t,n){super(),P(this,"id"),P(this,"type","world-object"),P(this,"scale"),P(this,"layers"),P(this,"points"),P(this,"worldPoints"),P(this,"intersectionBuffer",me(5)),P(this,"aggregateBuffer",me(9)),P(this,"invertedBuffer",me(9)),P(this,"rotation",0),P(this,"filteredPointsBuffer"),P(this,"_updatedList",[]),P(this,"geometry");let{x:i=0,y:r=0}=n||{};t?(this.id=t.id||"",this.scale=1,this.layers=t.layers,this.points=me([1,i,r,i+t.width,r+t.height]),this.worldPoints=me([1,i,r,i+t.width,r+t.height]),this.filteredPointsBuffer=me(t.layers.length*5)):(this.id="",this.scale=1,this.layers=[],this.points=me(5),this.worldPoints=me(5),this.filteredPointsBuffer=me(5))}static createWithProps(t){let n=new f1;return n.applyProps(t),n}applyProps(t){let n=t.x||0,i=t.y||0;this.id=t.id;let r=typeof t.scale<"u"?t.scale:this.scale;this.points[0]=1,this.points[1]=n,this.points[2]=i,this.points[3]=n+t.width,this.points[4]=i+t.height,this.rotation=t.rotation||0,this.worldPoints[3]=this.worldPoints[1]+t.width,this.worldPoints[4]=this.worldPoints[2]+t.height,t.scale&&t.scale!==1&&this.atScale(r),this.scale=r}appendChild(t){t.points[0]===0&&t.points.set(this.points),t.__owner.value=this,this.addLayers([t])}removeChild(t){this.layers=this.layers.filter(n=>n!==t),this.filteredPointsBuffer=me(this.layers.length*5)}insertBefore(t,n){let i=this.layers.indexOf(n);if(i===-1||this.layers.indexOf(t)!==-1)return;let r=this.layers.slice(0,i),s=this.layers.slice(i);this.layers=[...r,t,...s]}hideInstance(){console.warn("hideInstance: not yet implemented")}getObjectsAt(t,n){if(this.rotation&&(t=this.applyRotation(t)),Mr(this.points,t,this.filteredPointsBuffer)[0]===0)return[];let i=this.layers.length,r=[];for(let s=0;s<i;s++){let l=this.layers[s];if(n&&l.isShape){let u=Bn(l.points,ht(this.x,this.y));if(!l.intersects([t[1]-u[1],t[2]-u[2]]))continue}if(Mr(Bn(l.points,ht(this.x,this.y)),t,this.filteredPointsBuffer)[0]!==0&&r.push(l),n){let u=l;r.push(...u.getObjectsAt(t,n))}}return r}applyRotation(t){if(this.rotation){let n={x:t[1],y:t[2]},i={x:t[1],y:t[4]},r={x:t[3],y:t[2]},s={x:t[3],y:t[4]},l=this.points[1]+(this.points[3]-this.points[1])/2,u=this.points[2]+(this.points[4]-this.points[2])/2,[f,p]=td(l,u,n.x,n.y,this.rotation),[c,m]=td(l,u,i.x,i.y,this.rotation),[y,w]=td(l,u,r.x,r.y,this.rotation),[v,S]=td(l,u,s.x,s.y,this.rotation),E=Math.min(f,c,y,v),R=Math.max(f,c,y,v),b=Math.min(p,m,w,S),I=Math.max(p,m,w,S);return me([t[0],E,b,R,I])}return t}getAllPointsAt(t,n,i){let r=An(ht(this.x,this.y),Dn(this.scale),this.aggregateBuffer);this.rotation&&(t=this.applyRotation(t));let s=p0(t,this.points,this.intersectionBuffer),l=this.layers.length,u=[],f=Bn(s,An(Dn(1/this.scale),ht(-this.x,-this.y),this.invertedBuffer)),p=n?An(n,r,this.aggregateBuffer):r,c=i*this.scale;for(let m=0;m<l;m++)u.push(...this.layers[m].getAllPointsAt(f,p,c));return u}addLayers(t){let n=[];for(let i of t)this.layers.indexOf(i)===-1&&(n.push(i),i.points.length===5&&(i.points[1]<this.worldPoints[1]/this.scale||i.points[2]<this.worldPoints[2]/this.scale||i.points[3]>this.worldPoints[3]/this.scale||i.points[4]>this.worldPoints[4]/this.scale)&&(i.crop=i.crop||me([1,Math.max(this.worldPoints[1]/this.scale,i.points[1]),Math.max(this.worldPoints[2]/this.scale,i.points[2]),Math.min(this.worldPoints[3]/this.scale,i.points[3]),Math.min(this.worldPoints[4]/this.scale,i.points[4])])));this.layers=this.layers.concat(n),this.filteredPointsBuffer=me(this.layers.length*5)}getScheduledUpdates(t,n){let i=this.layers.length;this._updatedList=[];let r=n*this.scale;for(let s=0;s<i;s++){let l=this.layers[s].getScheduledUpdates(t,r);l&&this._updatedList.push(...l)}return this._updatedList}},vd=class h1 extends qi{constructor(t=0,n=0,i=100,r="left-to-right"){super(),P(this,"id","world"),P(this,"_width"),P(this,"_height"),P(this,"aspectRatio"),P(this,"viewingDirection"),P(this,"aggregateBuffer",me(9)),P(this,"isDirty",!1),P(this,"zones",[]),P(this,"filteredPointsBuffer"),P(this,"selectedZone"),P(this,"triggerQueue",[]),P(this,"activatedEvents",[]),P(this,"_updatedList",[]),P(this,"translationBuffer",me(9)),P(this,"needsRecalculate",!0),P(this,"emptyPaintables",[]),P(this,"renderOrder",[]),P(this,"points"),P(this,"objects",[]),P(this,"subscriptions",[]),P(this,"_propagateEventTargets",[]),P(this,"_alreadyFlushed",[]),this._width=t,this._height=n,this.aspectRatio=Number.isNaN(t/n)?1:t/n,this.viewingDirection=r,this.points=me(i*5),this.filteredPointsBuffer=me(i*5)}get x(){return 0}get y(){return 0}get width(){return this._width}get height(){return this._height}static withProps(t){let n=new h1;return n.applyProps(t),n}applyProps(t){typeof t.width<"u"&&typeof t.height<"u"&&(t.width!==this._width||t.height!==this._height)&&this.resize(t.width,t.height),t.viewingDirection!==this.viewingDirection&&(this.viewingDirection=t.viewingDirection,this.triggerRepaint())}propagateTouchEvent(t,n,i){let r=[];for(let s of i)if(s.x&&s.y){let l=Pe.singleBox(1,1,s.x,s.y);r.push(this.getObjectsAt(l,!0).reverse())}return r.map(s=>this.propagateEvent(t,n,s,{bubbles:!0,cancelable:!0}))}propagatePointerEvent(t,n,i,r,s={}){let l=Pe.singleBox(1,1,i,r),u=this.getObjectsAt(l,!0).reverse();return this.propagateEvent(t,n,u,s)}propagateEvent(t,n,i,{bubbles:r=!1,cancelable:s=!1}={}){n.atlasTarget=this,this._propagateEventTargets.length=1,this._propagateEventTargets[0]=this;let l=!1;n.stopPropagation=()=>{l=!0};let u=i.length;for(let c=u-1;c>=0;c--){this._propagateEventTargets.unshift(i[c][0]);let m=i[c][1].length;if(m)for(let y=0;y<m;y++)this._propagateEventTargets.unshift(i[c][1][y])}let f=this._propagateEventTargets.length,p=!1;for(let c=0;c<f&&(n.atlasTarget=this._propagateEventTargets[c],n.atlasWorld=this,p=this._propagateEventTargets[c].dispatchEvent(t,n)||p,!l);c++);return p&&this.triggerRepaint(),this._propagateEventTargets}appendChild(t){let n=this.appendWorldObject(t);this.renderOrder.push(n/5)}removeChild(t){let n=this.objects.indexOf(t);if(n===-1){for(let i of this.objects)if(i&&i.id===t.id){this.removeChild(i);return}return}this.objects[n]=null,this.renderOrder=this.renderOrder.filter(i=>i!==n),this.points[n*5]=0,this.triggerRepaint(),this.needsRecalculate=!0}insertBefore(t,n){let i=this.objects.indexOf(n);if(i===-1)return;let r=this.appendWorldObject(t);this.renderOrder.splice(i-1,0,r/5)}hideInstance(){}asWorldObject(){return null}addZone(t){this.zones.push(t)}selectZone(t){if(typeof t=="string"){let n=this.zones.length;for(let i=0;i<n;i++)if(this.zones[i].id===t){this.selectedZone=i,this.trigger("zone-changed");return}}else this.zones[t]&&(this.selectedZone=t,this.trigger("zone-changed"))}deselectZone(){this.selectedZone=void 0}getActiveZone(){if(this.selectedZone)return this.zones[this.selectedZone]}hasActiveZone(){return typeof this.selectedZone<"u"}checkResizeInternalBuffer(){if(m0(this.points)===this.objects.length){let t=this.points,n=me(this.points.length*2);n.set(t,0),this.points=n}}appendWorldObject(t){this.checkResizeInternalBuffer();let n=this.objects.length*5,i=t.points;return t.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),t.points[1]=i[1],t.points[2]=i[2],t.points[3]=i[3],t.points[4]=i[4],this.objects.push(t),this.filteredPointsBuffer=me(this.objects.length*5),this.needsRecalculate=!0,this.triggerRepaint(),n}recalculateWorldSize(){let t=!1;if(this.needsRecalculate){let n=new Int32Array(this.objects.length),i=new Int32Array(this.objects.length),r=this.renderOrder.length;for(let u=0;u<r;u++){let f=this.renderOrder[u];this.objects[f]&&(n[u]=this.points[f*5+3],i[u]=this.points[f*5+4])}let s=Math.max(...n);s!==this._width&&(this._width=s,t=!0);let l=Math.max(...i);l!==this._height&&(this._height=l,t=!0),t&&this.trigger("recalculate-world-size",{width:s,height:l}),this.needsRecalculate=!1}return t}addObjectAt(t,n){n.width&&!n.height?n.height=n.width/t.width*t.height:n.height&&!n.width&&(n.width=n.height/t.height*t.width),(!n||!n.width||!n.height)&&(n.width=t.width,n.height=t.height);let{width:i,x:r,y:s}=n,l=i/t.width;this.checkResizeInternalBuffer(),this.points.set(Pe.singleBox(t.width,t.height,0,0),this.objects.length*5);let u=new ng(t);return u.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),this.objects.push(u),this.scaleWorldObject(this.objects.length-1,l),this.translateWorldObject(this.objects.length-1,r,s),this.filteredPointsBuffer=me(this.points.length*2),this.triggerRepaint(),this.needsRecalculate=!0,u}scaleWorldObject(t,n){hn(this.points.subarray(t*5,t*5+5),ir(n,this.points[t*5+1],this.points[t*5+2]));let i=this.objects[t];i&&(i.atScale(n),this.triggerRepaint())}translateWorldObject(t,n,i){hn(this.points.subarray(t*5,t*5+5),ht(n,i));let r=this.objects[t];r&&(r.translate(n,i),this.triggerRepaint())}resize(t,n){return this._width=t,this._height=n,this.aspectRatio=t/n,this.triggerRepaint(),this}getObjects(){return this.objects}getPoints(){return this.points}getPointsFromViewer(t,n){let i=Pe.singleBox(t.width,t.height,t.x,t.y);return this.getPointsAt(i,n,t.scale)}addLayoutSubscriber(t){return this.subscriptions.push(t),()=>{this.subscriptions.splice(this.subscriptions.indexOf(t),1)}}getScheduledUpdates(t,n){let i=Mr(this.points,t,this.filteredPointsBuffer),r=this.objects.length;this._updatedList=[];for(let s=0;s<r;s++)if(i[s*5]!==0){if(!this.objects[s])continue;this._updatedList.push(...this.objects[s].getScheduledUpdates(t,n))}return this._updatedList}getObjectsAt(t,n=!1){let i=this.getActiveZone(),r=Mr(this.points,t,this.filteredPointsBuffer),s=this.renderOrder.length,l=[];for(let u=0;u<s;u++){let f=this.renderOrder[u];if(r[f*5]!==0){let p=this.objects[f];if(!p||i&&i.objects.indexOf(p)===-1)continue;if(p.type!=="world-object"){l.push([p,[p]]);continue}n?l.push([p,p.getObjectsAt(t,n)]):l.push([p,this.emptyPaintables])}}return l}getPointsAt(t,n,i=1){let r=this.getObjectsAt(t),s=An(Dn(i),ht(-t[1],-t[2]),this.translationBuffer),l=n?An(n,s,this.aggregateBuffer):s,u=r.length,f=[];for(let p=0;p<u;p++)r[p]&&f.push(...r[p][0].getAllPointsAt(t,l,i));return f}flushSubscriptions(){if(this.triggerQueue.length){this._alreadyFlushed=[];let t=this.triggerQueue.length;for(let n=0;n<t;n++){if(this._alreadyFlushed.indexOf(this.triggerQueue[n][0])!==-1)continue;typeof this.triggerQueue[n][1]>"u"&&this._alreadyFlushed.push(this.triggerQueue[n][0]);let i=this.subscriptions.length;for(let r=0;r<i;r++)this.subscriptions[r].apply(null,this.triggerQueue[n])}this.triggerQueue=[]}}trigger(t,n){this.triggerQueue.push([t,n])}triggerEventActivation(){this.trigger("event-activation")}triggerRepaint(){this.trigger("repaint")}gotoRegion(t){this.trigger("goto-region",t)}goHome(t=!1){this.trigger("go-home",{immediate:t})}zoomTo(t,n,i){this.trigger("zoom-to",{point:n,factor:t,stream:i})}zoomIn(t){this.trigger("zoom-to",{point:t,factor:.5})}zoomOut(t){this.trigger("zoom-to",{point:t,factor:2})}constraintBounds(t){this.trigger("constrain-bounds",{immediate:t})}};var nd=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,id={},MT=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],il=class extends qi{constructor(){super(),P(this,"id"),P(this,"type","spacial-content"),P(this,"points"),P(this,"hoverEvents",!1),P(this,"activeEvents",!1),P(this,"display",{x:0,y:0,scale:1,width:-1,height:-1,points:me(5)}),P(this,"_parsed",{border:{id:null,match:[]},outline:{id:null,match:[]}}),P(this,"hovering"),P(this,"pressing"),P(this,"props",{}),P(this,"addHover",()=>{this.hovering=!0,this.__revision++}),P(this,"removeHover",()=>{this.hovering=!1,this.pressing=!1,this.__revision++}),P(this,"addPress",()=>{this.pressing=!0,this.__revision++}),P(this,"removePress",()=>{this.pressing=!1,this.__revision++}),this.id=yd(12),this.points=me(5)}getAllPointsAt(e,t){return[[this,this.points,t]]}applyProps(e={}){let t=!1;if(e.interactive!==this.props.interactive&&(t=!0,this.props.interactive=e.interactive),e.style){let n=e.border||e.style.border;if(n!==this._parsed.border.id)if(!n)this._parsed.border.id=null,this._parsed.border.match=[];else{let i=id[n]||nd.exec(n)||nd.exec(n);i&&(this._parsed.border.id=n,this._parsed.border.match=id[n]=i)}if(this._parsed.border.id&&(e.style.borderWidth=this._parsed.border.match[1],e.style.borderStyle="solid",e.style.borderColor=this._parsed.border.match[4]),e.style.outline!==this._parsed.outline.id)if(!e.style.outline)this._parsed.outline.id=null,this._parsed.outline.match=[];else{let i=id[e.style.outline]||nd.exec(e.style.outline)||nd.exec(e.style.outline);i&&(this._parsed.outline.id=e.style.outline,this._parsed.outline.match=id[e.style.outline]=i)}this._parsed.outline.id&&(e.style.outlineWidth=this._parsed.outline.match[1],e.style.outlineStyle="solid",e.style.outlineColor=this._parsed.outline.match[4]),this.props.style=e.style,e.backgroundColor&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.backgroundColor,t=!0),e.style.background&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.style.background,t=!0);for(let i of MT)if(this.props.style[i]!==e.style[i]){t=!0;break}e.style[":hover"]!==this.props.hoverStyles&&(this.props.hoverStyles=e.style[":hover"],this.hoverEvents||(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),t=!0),e.style[":active"]!==this.props.pressStyles&&(this.props.pressStyles=e.style[":active"],this.activeEvents||(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0)}e.href!==this.props.href&&(this.props.href=e.href,t=!0),e.hrefTarget!==this.props.hrefTarget&&(this.props.hrefTarget=e.hrefTarget,t=!0),e.title!==this.props.title&&(this.props.title=e.title,t=!0),e.className!==this.props.className&&(this.props.className=e.className,e.className&&!this.hoverEvents&&(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),e.className&&!this.activeEvents&&(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0),e.relativeSize!==this.props.relativeSize&&(this.props.relativeSize=e.relativeSize,t=!0),e.relativeStyle!==this.props.relativeStyle&&(this.props.relativeStyle=e.relativeStyle,t=!0),e.html!==this.props.html&&(this.props.html=e.html,t=!0),e.target&&(e.target.width!==this.display.width||e.target.height!==this.display.height||e.target.x!==this.points[1]||e.target.y!==this.points[2])&&(t=!0,this.points=Pe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.points=Pe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.width=e.target.width,this.display.height=e.target.height),t&&this.__revision++}},cd=class extends qi{constructor(){super(),P(this,"type","spacial-content"),P(this,"id"),P(this,"points"),P(this,"color","#000"),P(this,"backgroundColor"),P(this,"hovering"),P(this,"pressing"),P(this,"text",""),P(this,"display",{x:0,y:0,scale:1,width:100,height:100,points:me(5)}),P(this,"className"),P(this,"html"),P(this,"interactive",!1),P(this,"props",{font:"18px Arial, sans-serif",lineHeight:1,textAlign:"left",verticalAlign:"top",paddingX:0,paddingY:0,fitParent:!1,lineBreak:"auto",strokeText:!1,sizeToFill:!1,maxFontSizeToFill:void 0,allowNewLine:!0,justifyLines:!1,renderHDPI:!1,textDecoration:"none",interactive:!1,relativeSize:!1}),this.id="",this.points=me(5)}getAllPointsAt(e,t){return[[this,this.points,t]]}applyProps({id:e,target:t,text:n,color:i,backgroundColor:r,fontSize:s=18,interactive:l,fontFamily:u="Arial, sans-serif",...f}){f.font=`${s}px ${u}`,this.interactive=l||!1,typeof n<"u"&&(this.text=n||""),i&&(this.color=i),r&&(this.backgroundColor=r),e&&(this.id=e),t&&(this.points=Pe.singleBox(t.width,t.height,t.x,t.y),this.display.points=this.points,this.display.width=t.width,this.display.height=t.height),this.props={...this.props,...f},this.__revision++}},pt=Math.pow,rd=Math.sqrt,tl=Math.sin,Xw=Math.cos,rl=Math.PI,hd=1.70158,od=hd*1.525,Zw=hd+1,Jw=2*rl/3,e1=2*rl/4.5,sd=function(e){return e<1/2.75?7.5625*e*e:e<2/2.75?7.5625*(e-=1.5/2.75)*e+.75:e<2.5/2.75?7.5625*(e-=2.25/2.75)*e+.9375:7.5625*(e-=2.625/2.75)*e+.984375},Nr={linear:e=>e,easeInQuad:function(e){return e*e},easeOutQuad:function(e){return 1-(1-e)*(1-e)},easeInOutQuad:function(e){return e<.5?2*e*e:1-pt(-2*e+2,2)/2},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return 1-pt(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-pt(-2*e+2,3)/2},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1-pt(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-pt(-2*e+2,4)/2},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1-pt(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-pt(-2*e+2,5)/2},easeInSine:function(e){return 1-Xw(e*rl/2)},easeOutSine:function(e){return tl(e*rl/2)},easeInOutSine:function(e){return-(Xw(rl*e)-1)/2},easeInExpo:function(e){return e===0?0:pt(2,10*e-10)},easeOutExpo:function(e){return e===1?1:1-pt(2,-10*e)},easeInOutExpo:function(e){return e===0?0:e===1?1:e<.5?pt(2,20*e-10)/2:(2-pt(2,-20*e+10))/2},easeInCirc:function(e){return 1-rd(1-pt(e,2))},easeOutCirc:function(e){return rd(1-pt(e-1,2))},easeInOutCirc:function(e){return e<.5?(1-rd(1-pt(2*e,2)))/2:(rd(1-pt(-2*e+2,2))+1)/2},easeInBack:function(e){return Zw*e*e*e-hd*e*e},easeOutBack:function(e){return 1+Zw*pt(e-1,3)+hd*pt(e-1,2)},easeInOutBack:function(e){return e<.5?pt(2*e,2)*((od+1)*2*e-od)/2:(pt(2*e-2,2)*((od+1)*(e*2-2)+od)+2)/2},easeInElastic:function(e){return e===0?0:e===1?1:-pt(2,10*e-10)*tl((e*10-10.75)*Jw)},easeOutElastic:function(e){return e===0?0:e===1?1:pt(2,-10*e)*tl((e*10-.75)*Jw)+1},easeInOutElastic:function(e){return e===0?0:e===1?1:e<.5?-(pt(2,20*e-10)*tl((20*e-11.125)*e1))/2:pt(2,-20*e+10)*tl((20*e-11.125)*e1)/2+1},easeInBounce:function(e){return 1-sd(1-e)},easeOutBounce:sd,easeInOutBounce:function(e){return e<.5?(1-sd(1-2*e))/2:(1+sd(2*e-1))/2}},_T=class{constructor(e){P(this,"runtime"),P(this,"pendingTransition"),P(this,"lastZoomTo",null),P(this,"isConstraining",!1),P(this,"lastGoToRegion",null),this.runtime=e,this.pendingTransition={from:me(5),to:me(5),elapsed_time:0,done:!0,total_time:0,timingFunction:Nr.easeInOutQuad,constrain:!1}}hasPending(){return!this.pendingTransition.done}getPendingTransition(){return this.pendingTransition}getPendingFrom(){return this.pendingTransition.from}customTransition(e){e(this.pendingTransition)}stopTransition(){this.pendingTransition.from=me(this.runtime.target),this.pendingTransition.to=me(this.runtime.target),this.pendingTransition.done=!0,this.pendingTransition.elapsed_time=0,this.pendingTransition.total_time=0}runTransition(e,t){if(!this.pendingTransition.done){let n=this.pendingTransition,i=n.total_time===0?0:(n.elapsed_time+t)/n.total_time,r=n.total_time===0?1:i===0?0:n.timingFunction(i);e[1]=n.from[1]+(n.to[1]-n.from[1])*r,e[2]=n.from[2]+(n.to[2]-n.from[2])*r,e[3]=n.from[3]+(n.to[3]-n.from[3])*r,e[4]=n.from[4]+(n.to[4]-n.from[4])*r,this.pendingTransition.elapsed_time+=t,this.pendingTransition.elapsed_time>=this.pendingTransition.total_time&&(this.pendingTransition.done=!0,this.pendingTransition.callback?.(),this.pendingTransition.constrain&&this.constrainBounds({transition:{duration:this.pendingTransition.total_time===0?0:500,easing:Nr.easeOutExpo}}))}}resumeTransition(){this.lastZoomTo&&this.zoomTo(this.lastZoomTo.factor,this.lastZoomTo.options),this.isConstraining&&this.constrainBounds(),this.lastGoToRegion&&this.goToRegion(this.lastGoToRegion.target,this.lastGoToRegion.options)}zoomTo(e,t={}){let{origin:n,stream:i=!1,transition:r}=t;this.lastZoomTo={factor:e,options:t};let s=this.runtime.getZoomedPosition(e,{origin:n}),l=Math.abs(1-e);this.applyTransition(s,r,{duration:2e3*l,easing:Nr.easeOutExpo,constrain:!0,callback:()=>{this.lastZoomTo=null}},{stream:!1})}constrainBounds({transition:e,panPadding:t=0}={}){this.isConstraining=!0;let[n,i]=this.runtime.constrainBounds(this.runtime.target,{panPadding:t});n&&(this.applyTransition(i,e,{duration:500,easing:Nr.easeOutQuart,constrain:!1,callback:()=>{this.isConstraining=!1}}),this.runtime.updateNextFrame())}applyTransition(e,t,n,{stream:i}={}){this.pendingTransition.from=me(this.runtime.target),this.pendingTransition.to=e,i||(this.pendingTransition.elapsed_time=0),this.pendingTransition.done=!1,this.pendingTransition.total_time=typeof t?.duration<"u"?t.duration:typeof n?.duration<"u"?n.duration:1e3,this.pendingTransition.constrain=typeof t?.constrain<"u"?t.constrain:typeof n?.constrain<"u"?n.constrain:!1,this.pendingTransition.timingFunction=t?.easing||n?.easing||Nr.easeInOutSine}goToRegion(e,{transition:t}={}){this.lastGoToRegion={target:e,options:{transition:t}};let n=this.runtime.clampRegion(e);this.applyTransition(Pe.singleBox(n.width,n.height,n.x,n.y),t,{duration:1e3,easing:Nr.easeOutExpo,constrain:!0,callback:()=>{this.lastGoToRegion=null}}),this.runtime.updateNextFrame()}},rN=Number.MIN_VALUE+1,xd=class{constructor(e,t,n,i=[],r){P(this,"id",yd()),P(this,"ready",!1),P(this,"renderer"),P(this,"world"),P(this,"target"),P(this,"homePosition"),P(this,"manualHomePosition"),P(this,"manualFocalPosition"),P(this,"focalPosition"),P(this,"transitionManager"),P(this,"aggregate"),P(this,"transformBuffer",me(500)),P(this,"lastTarget",me(5)),P(this,"zoomBuffer",me(5)),P(this,"logNextRender",!1),P(this,"pendingUpdate",!0),P(this,"isCommitting",!1),P(this,"firstRender",!0),P(this,"lastTime"),P(this,"stopId"),P(this,"mode","explore"),P(this,"controllers",[]),P(this,"controllersRunning",!1),P(this,"controllerStopFunctions",[]),P(this,"maxScaleFactor",1),P(this,"_viewerToWorld",{x:0,y:0}),P(this,"_lastGoodScale",1),P(this,"hooks",{useFrame:[],useBeforeFrame:[],useAfterPaint:[],useAfterFrame:[]}),P(this,"fpsLimit"),P(this,"options"),P(this,"hookOptions",{filters:{grayscale:0,contrast:0,brightness:0,saturate:0,sepia:0,invert:0,hueRotate:0,blur:0}}),P(this,"_viewport",{x:0,y:0,width:0,height:0}),P(this,"setViewport",s=>{let l=Math.round(typeof s.x>"u"?this.target[1]:s.x),u=Math.round(typeof s.y>"u"?this.target[2]:s.y);s.width?this.target[3]=l+s.width:this.target[3]=this.target[3]-this.target[1]+l,s.height?this.target[4]=u+s.height:this.target[4]=this.target[4]-this.target[2]+u,Math.abs(this.target[1]-l)>.01&&(this.target[1]=l),Math.abs(this.target[2]-u)>.01&&(this.target[2]=u),this.pendingUpdate=!0}),P(this,"render",s=>{let l=s-this.lastTime;if(this.isCommitting||this.fpsLimit&&l<1e3/this.fpsLimit){this.stopId=window.requestAnimationFrame(this.render);return}this.lastTime=s,this.world.flushSubscriptions(),this.stopId=window.requestAnimationFrame(this.render),this.hook("useFrame",l);let u=this.pendingUpdate,f=this.renderer.pendingUpdate();if(this.transitionManager.hasPending()&&(this.transitionManager.runTransition(this.target,l),this.pendingUpdate=!0,this.updateControllerPosition()),!this.firstRender&&!u&&!f&&this.target[0]===this.lastTarget[0]&&this.target[1]===this.lastTarget[1]&&this.target[2]===this.lastTarget[2]&&this.target[3]===this.lastTarget[3]&&this.target[4]===this.lastTarget[4])return;this.hook("useBeforeFrame",l),this.renderer.beforeFrame(this.world,l,this.target,this.hookOptions);let p=this.getScaleFactor(),c=this.renderer.getPointsAt(this.world,this.target,this.aggregate,p),m=c.length;for(let v=0;v<m;v++){let S=c[v][0],E=c[v][1],R=c[v][2],b=R?Bn(E,R,this.transformBuffer):E;this.renderer.prepareLayer(S,S.__parent&&R?Bn(S.__parent.crop||S.__parent.points,R):b);let I=b.length/5;for(let M=0;M<I;M++){let T=M*5;b[T]!==0&&(this.renderer.paint(S,M,b[T+1],b[T+2],b[T+3]-b[T+1],b[T+4]-b[T+2]),this.hook("useAfterPaint",S))}this.renderer.finishLayer(S,E)}this.renderer.afterFrame(this.world,l,this.target,this.hookOptions),this.hook("useAfterFrame",l),this.lastTarget[0]=this.target[0],this.lastTarget[1]=this.target[1],this.lastTarget[2]=this.target[2],this.lastTarget[3]=this.target[3],this.lastTarget[4]=this.target[4],this.firstRender=!1,this.pendingUpdate=!1,this.logNextRender=!1,this.renderer.isReady()&&(this.ready=!0,this.world.trigger("ready")),this.world.flushSubscriptions();let y=this.world.getScheduledUpdates(this.target,p),w=y.length;if(w>0)for(let v=0;v<w;v++){let S=y[w-v-1]();S?S.then(()=>{this.pendingUpdate=!0}):this.pendingUpdate=!0}}),this.renderer=e,this.world=t,this.options={maxOverZoom:1,maxUnderZoom:1,visibilityRatio:1.5,...r||{}},this.target=Pe.projection(n),this.manualHomePosition=!1,this.pendingUpdate=!0,this.homePosition=Pe.projection(this.world),this.manualFocalPosition=!1,this.focalPosition=this.target,this.updateFocalPosition(),this.transitionManager=new _T(this),this.aggregate=Dn(1),this.world.addLayoutSubscriber(s=>{s==="repaint"&&(this.pendingUpdate=!0),s==="recalculate-world-size"&&(this.manualHomePosition||(this.setHomePosition(),this.goHome()),this.updateFocalPosition())}),this.lastTime=performance.now(),this.controllers=i,this.render(this.lastTime),this.startControllers()}get x(){return this.target[1]}set x(e){this.target[1]=e}get y(){return this.target[2]}set y(e){this.target[2]=e}get x2(){return this.target[3]}set x2(e){this.target[3]=e}get y2(){return this.target[4]}set y2(e){this.target[4]=e}get width(){return this.target[3]-this.target[1]}set width(e){this.target[3]=this.target[1]+e}get height(){return this.target[4]-this.target[2]}set height(e){this.target[4]=this.target[2]=e}setHomePosition(e){this.homePosition.set(Pe.projection(e||this.world)),this.pendingUpdate=!0}startControllers(){if(!this.controllersRunning){for(let e of this.controllers)this.controllerStopFunctions.push(e.start(this));this.controllersRunning=!0}}stopControllers(){if(this.controllersRunning){for(let e of this.controllerStopFunctions)e();this.controllersRunning=!1,this.controllerStopFunctions=[]}}updateControllerPosition(){for(let e of this.controllers)e.updatePosition(this.x,this.y,this.width,this.height)}triggerResize(){this.renderer.triggerResize&&this.renderer.triggerResize(),this.pendingUpdate=!0}addController(e){this.controllers.push(e),this.controllersRunning&&e.start(this),this.pendingUpdate=!0}cover(){return this.goHome({cover:!0})}getRendererScreenPosition(){return this.renderer.getRendererScreenPosition()}updateRendererScreenPosition(){this.pendingUpdate=!0,this.renderer.resize()}setOptions(e){this.options={...this.options,...e}}goHome(e={}){if(this.world.width<=0||this.world.height<=0)return;let t=this.getScaleFactor(),n=e.position?{x:e.position[1],y:e.position[2],width:e.position[3]-e.position[1],height:e.position[4]-e.position[2]}:{x:this.homePosition[1],y:this.homePosition[2],width:this.homePosition[3]-this.homePosition[1],height:this.homePosition[4]-this.homePosition[2]},i=this.width*t,r=this.height*t,s=n.width/i,l=n.height/r,u=i/r;if(e.cover?s>l:s<l){let f=u*n.height,p=(f-n.width)/2;this.target[1]=Math.round(-p+n.x),this.target[2]=Math.round(n.y),this.target[3]=Math.round(f-p+n.x),this.target[4]=Math.round(n.height+n.y)}else{let f=n.width/u,p=(f-n.height)/2;this.target[1]=Math.round(n.x),this.target[2]=Math.round(n.y-p),this.target[3]=Math.round(n.x+n.width),this.target[4]=Math.round(n.y+f-p)}this.constrainBounds(this.target),this.updateControllerPosition()}resize(e,t,n,i){this.transitionManager.hasPending()&&this.transitionManager.stopTransition(),this.updateFocalPosition(e-t,n-i);let r=t/e,s=i/n;this.target[3]=this.target[1]+(this.target[3]-this.target[1])*r,this.target[4]=this.target[2]+(this.target[4]-this.target[2])*s,this.goHome({position:this.focalPosition}),this.renderer.resize(t,i),this.pendingUpdate=!0,this.transitionManager.resumeTransition()}updateFocalPosition(e,t){if(!this.manualFocalPosition){let n=this.width,i=this.height,r=Math.min(n,i),s=0,l=0,u=this.x+s,f=this.y+l;if(n<i){let p=this.height-this.width;this.focalPosition=Pe.projection({x:u,y:f+p/2,width:r-s*2,height:r-l*2}),this.pendingUpdate=!0}else{let p=this.width-this.height;this.focalPosition=Pe.projection({x:u+p/2,y:f,width:r-s*2,height:r-l*2}),this.pendingUpdate=!0}}}getViewport(){return this._viewport.x=this.target[1],this._viewport.y=this.target[2],this._viewport.width=this.target[3]-this.target[1],this._viewport.height=this.target[4]-this.target[2],this._viewport}constrainBounds(e,{panPadding:t=0,ref:n=!1}={}){let{minX:i,maxX:r,minY:s,maxY:l}=this.getBounds({target:e,padding:t}),u=!1,f=n?e:me(e),p=Math.round(e[3]-e[1]),c=Math.round(e[4]-e[2]);return i>e[1]&&(u=!0,f[1]=i,f[3]=i+p),s>e[2]&&(u=!0,f[2]=s,f[4]=s+c),r<e[1]&&(u=!0,f[1]=r,f[3]=r+p),l<e[2]&&(u=!0,f[2]=l,f[4]=l+c),[u,f]}getBounds(e){let t=e.target||this.target,n=e.padding,i=this.options.visibilityRatio,r=Math.abs(1-i);if(this.world.hasActiveZone()){let R=this.world.getActiveZone();if(R){let b=t[3]-t[1]<R.points[3]-R.points[1],I=t[4]-t[2]<R.points[4]-R.points[2];return{minX:b?R.points[1]-n:R.points[1]+(R.points[3]-R.points[1])/2-(t[3]-t[1])/2,maxX:I?R.points[2]-n:R.points[2]+(R.points[4]-R.points[2])/2-(t[4]-t[2])/2,minY:b?R.points[3]+n:R.points[1]+(R.points[3]-R.points[1])/2-(t[3]-t[1])/2,maxY:I?R.points[4]+n:R.points[2]+(R.points[4]-R.points[2])/2-(t[4]-t[2])/2}}}let s=t[3]-t[1],l=this.world.width,u=-s*r,f=l-s-u,p=t[4]-t[2],c=this.world.height,m=-p*r,y=c-p-m,w=Math.round(Math.max(u,f)),v=Math.round(Math.min(u,f)),S=Math.round(Math.max(m,y)),E=Math.round(Math.min(m,y));return{minX:v,maxX:w,minY:E,maxY:S}}getScaleFactor(e=!1){let t=this.renderer.getScale(this.target[3]-this.target[1],this.target[4]-this.target[2],e);return t===0?this._lastGoodScale:(this._lastGoodScale=t,t)}getZoomedPosition(e,{origin:t,fromPos:n}){let i=n?{width:n[3]-n[1],height:n[4]-n[2]}:void 0,r=i?this.renderer.getScale(i.width,i.height):this.getScaleFactor(),s=i?i.width:this.width,l=i?i.height:this.height,u=this.getRendererScreenPosition()?.width,f=this.world.width,p=u?u/f:1,c=this.options.maxUnderZoom,m=Math.max(p||1,this.options.maxOverZoom),y=1/e,w=r*y;if(y<1){let S=s*r,E=l*r,R=this.world.width/S,b=this.world.height/E;if(R>b){let I=this.world.width*w,M=~~(s*r)*c;I<M&&(e=this.world.width*r/(s*r*c))}else{let I=this.world.height*w,M=~~(l*r)*c;I<M&&(e=this.world.height*r/(l*r*c))}}else w>m&&(e=r/m);let v=Bn(this.target,ir(e,t?t.x:this.target[1]+(this.target[3]-this.target[1])/2,t?t.y:this.target[2]+(this.target[4]-this.target[2])/2),this.zoomBuffer);return this.constrainBounds(v,{ref:!0,panPadding:100}),v}clampRegion({x:e,y:t,width:n,height:i,padding:r=0}){let s=this.width,l=this.height,u=n/s<i/l,f=e-r,p=t-r,c=n+r*2,m=i+r*2;if(u){let w=m/l*s;return{x:f-(w-c)/2,y:p,width:w,height:m}}let y=c/s*l;return{x:f,y:p-(y-m)/2,width:c,height:y}}viewerToWorld(e,t){let n=this.getScaleFactor();return this._viewerToWorld.x=this.target[1]+e/n,this._viewerToWorld.y=this.target[2]+t/n,this._viewerToWorld}worldToViewer(e,t,n,i){let r=Pe.singleBox(n,i,e,t);return hn(r,An(Dn(this.getScaleFactor()),ht(-this.target[1],-this.target[2]))),{x:r[1],y:r[2],width:r[3]-r[1],height:r[4]-r[2],strand:r}}setScale(e,t){hn(this.target,ir(e,t?t.x:this.target[1]+(this.target[3]-this.target[1])/2,t?t.y:this.target[2]+(this.target[4]-this.target[2])/2)),this.pendingUpdate=!0}syncTo(e){let t=this.target;return this.target=e.target,this.pendingUpdate=!0,()=>{this.target=t}}stop(){return typeof this.stopId<"u"&&(window.cancelAnimationFrame(this.stopId),this.stopId=void 0),()=>{this.render(performance.now())}}reset(){this.renderer.reset()}selectZone(e){this.world.selectZone(e),this.pendingUpdate=!0}deselectZone(){this.world.deselectZone(),this.pendingUpdate=!0}hook(e,t){let n=this.hooks[e].length;if(n!==0)for(let i=0;i<n;i++)this.hooks[e][i](t)}registerHook(e,t){return this.hooks[e].push(t),()=>{this.hooks[e]=this.hooks[e].filter(n=>n!==t)}}updateNextFrame(){this.pendingUpdate=!0}},ad=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,ld={},OT=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],p1=class extends qi{constructor(){super(),P(this,"id"),P(this,"type","spacial-content"),P(this,"isShape",!0),P(this,"points"),P(this,"hoverEvents",!1),P(this,"activeEvents",!1),P(this,"display",{x:0,y:0,scale:1,width:-1,height:-1,points:me(5)}),P(this,"boundingBox",null),P(this,"_parsed",{border:{id:null,match:[]},outline:{id:null,match:[]}}),P(this,"hovering"),P(this,"pressing"),P(this,"props",{}),P(this,"shape",{type:"none"}),P(this,"addHover",()=>{this.hovering=!0,this.__revision++}),P(this,"removeHover",()=>{this.hovering=!1,this.pressing=!1,this.__revision++}),P(this,"addPress",()=>{this.pressing=!0,this.__revision++}),P(this,"removePress",()=>{this.pressing=!1,this.__revision++}),this.id=yd(12),this.points=me(5),this.shape={type:"none"}}updateBoundingBox(){if(this.shape.type==="none")return;let e=this.shape.points;if(this.shape.points.length>2){let t=Math.min(...e.map(s=>s[0])),n=Math.min(...e.map(s=>s[1])),i=Math.max(0,...e.map(s=>s[0])),r=Math.max(0,...e.map(s=>s[1]));this.boundingBox={x:t,y:n,width:i-t,height:r-n};return}this.boundingBox=null}intersects(e){if(!e||this.shape.type==="none")return!1;let[t,n]=e,i=this.shape.points,r=this.boundingBox;if(r||(this.updateBoundingBox(),r=this.boundingBox),!r||t<r.x||t>r.x+r.width||n<r.y||n>r.height+r.y)return!1;let s=!1;for(let l=0,u=i.length-1;l<i.length;u=l++)i[l][1]>n!=i[u][1]>n&&t<(i[u][0]-i[l][0])*(n-i[l][1])/(i[u][1]-i[l][1])+i[l][0]&&(s=!s);return s}getAllPointsAt(e,t){return e[3]-e[1]===1&&e[4]-e[2]===1?this.intersects([e[1],e[2]])?[[this,this.points,t]]:[]:[[this,this.points,t]]}applyProps(e={}){let t=!1;if(e.points)if(this.shape.type!=="polygon"||this.shape.points.length!==e.points.length)this.shape={type:"polygon",points:e.points,open:e.open},this.updateBoundingBox();else{let n=!1,i=e.points.length;for(let r=0;r<i;r++)if(e.points[r][0]!==this.shape.points[r][0]||e.points[r][1]!==this.shape.points[r][1]){n=!0;break}n&&(this.shape={type:"polygon",points:e.points,open:e.open},this.updateBoundingBox())}if(e.interactive!==this.props.interactive&&(t=!0,this.props.interactive=e.interactive),(e.open||e.open===!1)&&(t=!0,this.shape.open=e.open),e.style){let n=e.border||e.style.border;if(n!==this._parsed.border.id)if(!n)this._parsed.border.id=null,this._parsed.border.match=[];else{let i=ld[n]||ad.exec(n)||ad.exec(n);i&&(this._parsed.border.id=n,this._parsed.border.match=ld[n]=i)}if(this._parsed.border.id&&(e.style.borderWidth=this._parsed.border.match[1],e.style.borderStyle="solid",e.style.borderColor=this._parsed.border.match[4]),e.style.outline!==this._parsed.outline.id)if(!e.style.outline)this._parsed.outline.id=null,this._parsed.outline.match=[];else{let i=ld[e.style.outline]||ad.exec(e.style.outline)||ad.exec(e.style.outline);i&&(this._parsed.outline.id=e.style.outline,this._parsed.outline.match=ld[e.style.outline]=i)}this._parsed.outline.id&&(e.style.outlineWidth=this._parsed.outline.match[1],e.style.outlineStyle="solid",e.style.outlineColor=this._parsed.outline.match[4]),this.props.style=e.style,e.backgroundColor&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.backgroundColor,t=!0),e.style.background&&!this.props.style.backgroundColor&&(this.props.style.backgroundColor=e.style.background,t=!0);for(let i of OT)if(this.props.style[i]!==e.style[i]){t=!0;break}e.style[":hover"]!==this.props.hoverStyles&&(this.props.hoverStyles=e.style[":hover"],this.hoverEvents||(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),t=!0),e.style[":active"]!==this.props.pressStyles&&(this.props.pressStyles=e.style[":active"],this.activeEvents||(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0)}e.href!==this.props.href&&(this.props.href=e.href,t=!0),e.hrefTarget!==this.props.hrefTarget&&(this.props.hrefTarget=e.hrefTarget,t=!0),e.title!==this.props.title&&(this.props.title=e.title,t=!0),e.className!==this.props.className&&(this.props.className=e.className,e.className&&!this.hoverEvents&&(this.hoverEvents=!0,this.addEventListener("pointerenter",this.addHover),this.addEventListener("pointerleave",this.removeHover)),e.className&&!this.activeEvents&&(this.activeEvents=!0,this.addEventListener("mousedown",this.addPress),this.addEventListener("mouseup",this.removePress)),t=!0),e.relativeSize!==this.props.relativeSize&&(this.props.relativeSize=e.relativeSize,t=!0),e.relativeStyle!==this.props.relativeStyle&&(this.props.relativeStyle=e.relativeStyle,t=!0),e.html!==this.props.html&&(this.props.html=e.html,t=!0),e.target&&(e.target.width!==this.display.width||e.target.height!==this.display.height||e.target.x!==this.points[1]||e.target.y!==this.points[2])&&(t=!0,this.points=Pe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.points=Pe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.width=e.target.width,this.display.height=e.target.height),t&&this.__revision++}},t1=/(-?[0-9]+(px|em)\s+|0\s+)(-?[0-9]+(px|em)\s+|0\s+)(-?[0-9]+(px|em)\s+|0\s+)?(-?[0-9]+(px|em)\s+|0\s+)?(.*)/g,n1={},kT=typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes("firefox"),ud={},LT=class{constructor(e,t){P(this,"canvas"),P(this,"ctx"),P(this,"options"),P(this,"imagesPending",0),P(this,"imagesLoaded",0),P(this,"imageIdsLoaded",[]),P(this,"frameIsRendering",!1),P(this,"pendingDrawCall",!1),P(this,"firstMeaningfulPaint",!1),P(this,"parallelTasks",8),P(this,"frameTasks",0),P(this,"loadingQueueOrdered",!0),P(this,"loadingQueue",[]),P(this,"currentTask",Promise.resolve()),P(this,"tasksRunning",0),P(this,"stats"),P(this,"averageJobTime",64),P(this,"lastKnownScale",1),P(this,"visible",[]),P(this,"previousVisible",[]),P(this,"rendererPosition"),P(this,"dpi"),P(this,"drawCalls",[]),P(this,"lastPaintedObject"),P(this,"hostCache"),P(this,"invalidated",[]),P(this,"_worker",()=>{if(this.loadingQueue.length){let n=this.loadingQueue.pop();n&&(this.tasksRunning++,this.frameTasks++,this.currentTask=n.task().then(()=>{this.tasksRunning--}).catch(()=>{this.tasksRunning--}))}}),P(this,"_scheduled",0),P(this,"_doWork",()=>{this.loadingQueue.length===0&&this.tasksRunning===0&&this._scheduled&&(clearInterval(this._scheduled),this._scheduled=0);let n=this.parallelTasks||1;!this.firstMeaningfulPaint&&this.loadingQueue.length&&(n=this.loadingQueue.length);for(let i=0;i<=n;i++)this._worker()}),this.canvas=e,this.rendererPosition=e.getBoundingClientRect(),this.ctx=e.getContext("2d",{alpha:!0}),this.ctx.imageSmoothingEnabled=!0,this.options=t||{},this.canvas.style.transition="opacity .3s",this.dpi=t?.dpi||1,this.hostCache=t?.lruCache?new x0({maxSize:1024*512*512,dispose:(n,i,r)=>{this.invalidated.push(i),n.width=0,n.height=0},sizeCalculation:(n,i)=>n.width*n.height}):{store:{},get(n){return this.store[n]},set(n,i){this.store[n]=i}}}getCanvasDims(){return{width:this.canvas.width/this.dpi,height:this.canvas.height/this.dpi}}resize(){this.rendererPosition=this.canvas.getBoundingClientRect()}isReady(){return this.firstMeaningfulPaint}afterFrame(e){if(this.clearTransform(),this.lastPaintedObject=void 0,this.frameIsRendering=!1,this.imagesPending=Math.max(0,this.imagesPending-this.imagesLoaded),this.imagesLoaded=0,this.loadingQueueOrdered||(this.loadingQueue=this.loadingQueue.sort((t,n)=>t.network&&t.scale===n.scale?n.distance-t.distance:t.scale<n.scale?-1:1),this.loadingQueueOrdered=!0),this.previousVisible=this.visible,this.pendingDrawCall=!!this.drawCalls.length,this.pendingDrawCall)for(let t=0;t<this.drawCalls.length;t++){let n=this.drawCalls.shift();n&&n()}this.doOffscreenWork(),this.options.debug&&this.stats&&this.stats.end()}doOffscreenWork(){this.frameTasks=0,this.loadingQueue.length&&(this._worker(),this.loadingQueue.length&&(this._scheduled||(this._scheduled=setInterval(this._doWork,0))))}getScale(e,t,n){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let i=this.getCanvasDims(),r=i.width/e,s=i.height/t,l=(r<s?s:r)*(n&&this.dpi||1);return Number.isNaN(l)||(this.lastKnownScale=l),this.lastKnownScale}beforeFrame(e,t,n,i){this.options.debug&&this.stats&&this.stats.begin(),this.frameIsRendering=!0,this.visible=[],this.options.beforeFrame&&this.options.beforeFrame(t);let r=this.getCanvasDims();if(this.ctx.globalAlpha=1,this.ctx.fillStyle=this.canvas.dataset.background??"rgb(0, 0, 0)",this.ctx.fillRect(0,0,r.width,r.height),i.enableFilters&&(i.filters.brightness||i.filters.contrast||i.filters.grayscale||i.filters.invert||i.filters.sepia||i.filters.saturate||i.filters.hueRotate||i.filters.blur)){let s="";i.filters.brightness&&(s+=`brightness(${~~(100+i.filters.brightness*100)}%) `),i.filters.contrast&&(s+=`contrast(${~~(100+i.filters.contrast*100)}%) `),i.filters.grayscale&&(s+=`grayscale(${~~(i.filters.grayscale*100)}%) `),i.filters.invert&&(s+=`invert(${~~(i.filters.invert*100)}%) `),i.filters.sepia&&(s+=`sepia(${~~(i.filters.sepia*100)}%) `),i.filters.saturate&&(s+=`saturate(${~~(100+i.filters.saturate*100)}%) `),i.filters.hueRotate&&(s+=`hue-rotate(${i.filters.hueRotate}deg) `),i.filters.blur&&(s+=`blur(${i.filters.blur}px) `),this.ctx.filter=s}else this.ctx.filter="none"}applyTransform(e,t,n,i,r){let s=e.__owner.value;if(s&&s.rotation){this.ctx.save();let l=t+i/2,u=n+r/2;this.ctx.translate(l,u),this.ctx.rotate(s.rotation*Math.PI/180),this.ctx.translate(-l,-u),this.lastPaintedObject=s}}clearTransform(){this.lastPaintedObject&&(this.lastPaintedObject.rotation&&this.ctx.restore(),this.lastPaintedObject=void 0)}paint(e,t,n,i,r,s){let l=this.ctx.globalAlpha;if(e instanceof zr||e instanceof al){if(e.display.rotation){this.ctx.save();let p=n+r/2,c=i+s/2;e.crop&&(p-=e.crop[t*5+1],c-=e.crop[t*5+2]),this.ctx.translate(p,c),this.ctx.rotate(e.display.rotation*Math.PI/180),this.ctx.translate(-p,-c)}if(this.visible.push(e),typeof e.style&&e.style.opacity!=="undefined"){if(!e.style.opacity)return;this.ctx.globalAlpha=e.style.opacity}try{let p=e.__host.canvas,c=this.getCanvasDims();if((p.indices.indexOf(t)===-1||this.invalidated.indexOf(p.canvases[t])!==-1)&&this.schedulePaintToCanvas(p,e,t,fd({x:n+r/2,y:i+r/2},{x:c.width/2,y:c.height/2})),!this.firstMeaningfulPaint)return;let m=this.hostCache.get(p.canvases[t]);if(m)if(e.crop&&e.cropData){if(e.crop[t*5]){let y=[e.crop[t*5+1]/e.display.scale-e.display.points[t*5+1],e.crop[t*5+2]/e.display.scale-e.display.points[t*5+2],1+(e.crop[t*5+3]-e.crop[t*5+1])/e.display.scale,1+(e.crop[t*5+4]-e.crop[t*5+2])/e.display.scale];y[0]+=e.cropData.x/e.display.scale,y[1]+=e.cropData.y/e.display.scale;let w=e.x*this.lastKnownScale,v=e.y*this.lastKnownScale,S=[n+w,i+v,r,s];S[0]+=w,S[1]+=v,this.ctx.drawImage(m,y[0],y[1],y[2],y[3],S[0],S[1],S[2]+1,S[3]+1)}}else kT?this.ctx.drawImage(m,0,0,e.display.points[t*5+3]-e.display.points[t*5+1],e.display.points[t*5+4]-e.display.points[t*5+2],n,i,r+1,s+1):this.ctx.drawImage(m,0,0,e.display.points[t*5+3]-e.display.points[t*5+1],e.display.points[t*5+4]-e.display.points[t*5+2],n,i,r+Number.MIN_VALUE+.5,s+Number.MIN_VALUE+.5)}catch{}e.display.rotation&&this.ctx.restore()}let u=e instanceof il&&this.options.box,f=e instanceof p1&&this.options.polygon;if((u||f)&&!e.props.className&&!e.props.html&&!e.props.href){if(this.visible.push(e),e.props.style){let p=Object.assign({},e.props.style||{},e.hovering?e.props.hoverStyles:{},e.pressing?e.props.pressStyles:{}),c=e.props.relativeStyle?1:r/e.width;typeof p.opacity<"u"&&(this.ctx.globalAlpha=p.opacity);let m=0;typeof p.borderWidth<"u"&&(m=parseInt(p.borderWidth,10)*c);let y=0;typeof p.outlineWidth<"u"&&(y=parseInt(p.outlineWidth,10)*c);let w=0;if(typeof p.outlineOffset<"u"&&(w=parseInt(p.outlineOffset,10)*c),p.borderColor&&(this.ctx.strokeStyle=p.borderColor),p.boxShadow){let v=p.boxShadow.split(/,(?![^(]*\))/);for(let S of v){let E=n1[S]||t1.exec(S)||t1.exec(S);n1[S]=E,E&&(this.ctx.save(),this.ctx.shadowOffsetX=parseInt(E[1])*this.dpi*c,this.ctx.shadowOffsetY=parseInt(E[3])*this.dpi*c,this.ctx.shadowBlur=parseInt(E[5])*this.dpi*c,this.ctx.shadowColor=E[9],this.ctx.fillStyle="rgba(0,0,0,1)",this.ctx.fillRect(n+m,i+m,r,s),this.ctx.restore())}}if(this.ctx.fillStyle=p.backgroundColor||"transparent",this.ctx.lineWidth=m,f){let v=e.shape,S=v.points||[],E=S.length;this.ctx.beginPath();for(let R=0;R<E;R++)this.ctx.lineTo(n+S[R][0]*this.lastKnownScale,i+S[R][1]*this.lastKnownScale);v.open||this.ctx.closePath(),m&&this.ctx.stroke(),v.open||this.ctx.fill()}else m&&this.ctx.strokeRect(n+m/2,i+m/2,r+m,s+m),this.ctx.fillRect(n+m,i+m,r,s);y&&(p.outlineColor&&(this.ctx.strokeStyle=p.outlineColor),this.ctx.lineWidth=y,this.ctx.strokeRect(n-y/2-w,i-y/2-w,r+m*2+y+w*2,s+m*2+y+w*2))}this.ctx.globalAlpha=l}}loadImage(e,t,n,i=!1){if(ud[e]&&ud[e].naturalWidth>0){t(ud[e]);return}try{let r=!1;i||setTimeout(()=>{r||this.loadImage(e,t,n,!0)},3e3);let s=document.createElement("img");s.decoding="auto",s.onload=function(){r=!0,t(s),ud[e]=s,s.onload=null},this.options.crossOrigin&&(s.crossOrigin="anonymous"),s.src=e,s.complete&&s.onload({}),s.width}catch(r){console.log("image error",r),n(r)}}schedulePaintToCanvas(e,t,n,i){this.imagesPending++,e.indices.push(n);let r=`${t.id}--${t.display.scale}-${n}`,s=this.invalidated.indexOf(r);s!==-1&&this.invalidated.splice(s,1),e.canvases[n]=r,t.__host.canvas.loading=!0,this.loadingQueueOrdered=!1,this.loadingQueue.push({id:r,scale:t.display.scale,network:!0,distance:i,task:()=>new Promise(l=>{if(this.visible.indexOf(t)===-1){this.imagesPending--,e.indices.splice(e.indices.indexOf(n),1),l();return}let u=t.getImageUrl(n);this.loadImage(u,f=>{this.loadingQueue.push({id:r,scale:t.display.scale,distance:i,task:()=>new Promise(p=>{this.imageIdsLoaded.includes(r)||(this.imagesLoaded++,this.imageIdsLoaded.push(r)),e.loaded.push(n),e.loaded.length===e.indices.length&&(e.loading=!1);let c=t.display.points.slice(n*5,n*5+5),m=document.createElement("canvas"),y=m.getContext("2d");m.width=c[3]-c[1],m.height=c[4]-c[2],this.hostCache.set(e.canvases[n],m),this.drawCalls.push(()=>{y.drawImage(f,0,0,c[3]-c[1],c[4]-c[2]),p()})})}),l()},f=>{this.imagesPending--,e.indices.splice(e.indices.indexOf(n),1),l()})})})}afterPaintLayer(e,t){}prepareLayer(e,t){if(e.__owner.value)if(e.cropData){let n=this.lastKnownScale*(1/e.display.scale);this.applyTransform(e,t[1],t[2],t[3]-t[1],t[4]-t[2])}else this.applyTransform(e,t[1],t[2],t[3]-t[1],t[4]-t[2]);(!e.__host||!e.__host.canvas)&&(e instanceof zr||e instanceof al)&&this.createImageHost(e)}finishLayer(){this.lastPaintedObject&&this.clearTransform()}createImageHost(e){e.__host=e.__host?e.__host:{},e.__host.canvas={canvas:void 0,canvases:[],indices:[],loaded:[],loading:!1}}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}getViewportBounds(e,t,n){let i=e.getActiveZone();if(i){let r=t[3]-t[1]<i.points[3]-i.points[1],s=t[4]-t[2]<i.points[4]-i.points[2];return{x1:r?i.points[1]-n:i.points[1]+(i.points[3]-i.points[1])/2-(t[3]-t[1])/2,y1:s?i.points[2]-n:i.points[2]+(i.points[4]-i.points[2])/2-(t[4]-t[2])/2,x2:r?i.points[3]+n:i.points[1]+(i.points[3]-i.points[1])/2-(t[3]-t[1])/2,y2:s?i.points[4]+n:i.points[2]+(i.points[4]-i.points[2])/2-(t[4]-t[2])/2}}return null}pendingUpdate(){let e=!this.pendingDrawCall&&this.drawCalls.length===0&&this.imagesPending===0&&this.loadingQueue.length===0&&this.tasksRunning===0;return!e&&this.visible.length===0&&setTimeout(()=>{this.canvas.style.opacity="1",this.firstMeaningfulPaint=!0},500),!this.firstMeaningfulPaint&&e&&this.visible.length?(this.canvas.style.opacity="1",this.firstMeaningfulPaint=e,!0):this.options.debug?!0:!e}getRendererScreenPosition(){return this.rendererPosition}reset(){this.loadingQueue=[],this.drawCalls=[]}},m1=class{constructor(e){P(this,"renderers",[]),P(this,"length");for(let t of e)t&&this.renderers.push(t);this.length=this.renderers.length}afterFrame(e,t,n,i){for(let r=0;r<this.length;r++)this.renderers[r].afterFrame(e,t,n,i)}afterPaintLayer(e,t){for(let n=0;n<this.length;n++)this.renderers[n].afterPaintLayer(e,t)}beforeFrame(e,t,n,i){for(let r=0;r<this.length;r++)this.renderers[r].beforeFrame(e,t,n,i)}triggerResize(){for(let e=0;e<this.length;e++){let t=this.renderers[e];t.triggerResize&&t.triggerResize()}}getPointsAt(e,t,n,i){return this.renderers[0].getPointsAt(e,t,n,i)}getScale(e,t){return this.renderers[0].getScale(e,t)}getViewportBounds(e,t,n){return this.renderers[0].getViewportBounds(e,t,n)}getRendererScreenPosition(){return this.renderers[0].getRendererScreenPosition()}isReady(){for(let e=0;e<this.length;e++)if(!this.renderers[e].isReady())return!1;return!0}paint(e,t,n,i,r,s){for(let l=0;l<this.length;l++)this.renderers[l].paint(e,t,n,i,r,s)}pendingUpdate(){for(let e=0;e<this.length;e++)if(this.renderers[e].pendingUpdate())return!0;return!1}prepareLayer(e,t){for(let n=0;n<this.length;n++)this.renderers[n].prepareLayer(e,t)}finishLayer(e,t){for(let n=0;n<this.length;n++)this.renderers[n].finishLayer(e,t)}resize(e,t){for(let n=0;n<this.length;n++)this.renderers[n].resize(e,t)}reset(){for(let e=0;e<this.length;e++)this.renderers[e].reset()}},FT=class{constructor(e){P(this,"canvas"),P(this,"context"),P(this,"heightRatio",1),P(this,"widthRatio",1),P(this,"target",new Float32Array(5)),P(this,"initialWidth"),P(this,"initialHeight"),P(this,"bounds"),P(this,"aggregate"),P(this,"delta",0),P(this,"renderNextFrame",!0),this.canvas=e,this.initialWidth=e.width,this.initialHeight=e.height,this.context=e.getContext("2d"),this.context.globalAlpha=.5,this.aggregate=Dn(1)}isReady(){return!0}resize(){this.initialWidth=this.canvas.width,this.initialHeight=this.canvas.height,this.renderNextFrame=!0}afterFrame(e,t,n){if(this.renderNextFrame){this.context.clearRect(0,0,this.canvas.width,this.canvas.height);let i=this.initialWidth/e.width,r=this.initialHeight/e.height,s=this.widthRatio>this.heightRatio?i:r;if(this.target=n,this.bounds){let l=e.getPointsAt(this.bounds,this.aggregate,s);for(let[u,f]of l)if(u instanceof zr&&u.__host.canvas){let p=f.length/5;for(let c=0;c<p;c++)if(u.__host.canvas.canvases[c]){let m={x1:f[c+1]*s,y1:f[c+2]*s,width:(f[c+3]-f[c+1])*s,height:(f[c+4]-f[c+2])*s}}}}e.getPoints().forEach((l,u,f)=>{if(u%5===0&&l){let p={x1:f[u+1]*s,y1:f[u+2]*s,x2:f[u+3]*s,y2:f[u+4]*s,width:(f[u+3]-f[u+1])*s,height:(f[u+4]-f[u+2])*s};this.context.strokeStyle="red",this.context.strokeRect(p.x1,p.y1,p.width,p.height)}}),n&&(this.context.strokeStyle="red",this.context.lineWidth=window.devicePixelRatio||1,this.context.strokeRect(n[1]*s,n[2]*s,(n[3]-n[1])*s,(n[4]-n[2])*s))}}getActiveZone(e){return null}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}getScale(e,t){return 1}beforeFrame(e,t){this.bounds=Pe.singleBox(e.width,e.height)}drawImage(){}afterPaintLayer(e,t){}paint(e,t,n,i,r,s){this.renderNextFrame=!0}prepareLayer(e){}pendingUpdate(){return!1}hasActiveZone(){return!1}getViewportBounds(e,t,n){return null}getRendererScreenPosition(){return this.canvas.getBoundingClientRect()}finishLayer(){}reset(){}};function NT(e){return{x:e[1],y:e[2],width:e[3]-e[1],height:e[4]-e[2]}}var i1="pan",r1="scroll",zT="gesture",DT={zoomOutFactor:.8,zoomInFactor:1.25,maxZoomFactor:1,minZoomFactor:.05,zoomDuration:300,zoomWheelConstant:20,zoomClamp:.6,panBounceStiffness:120,panBounceDamping:15,panTimeConstant:240,panPower:.1,nudgeDistance:100,panPadding:0,devicePixelRatio:1,enableWheel:!0,enableClickToZoom:!0,ignoreSingleFingerTouch:!1,enablePanOnWait:!1,requireMetaKeyForWheelZoom:!1,panOnWaitDelay:40,onPanInSketchMode:()=>{},parentElement:null},y1=(e={})=>({start:function(t){let{zoomWheelConstant:n,enableWheel:i,enableClickToZoom:r,ignoreSingleFingerTouch:s,enablePanOnWait:l,panOnWaitDelay:u,parentElement:f,requireMetaKeyForWheelZoom:p}={...DT,...e},c={pointerStart:{x:0,y:0},isPressing:!1,mousemoveBuffer:me(5),multiTouch:{distance:0}};t.world.activatedEvents.push("onMouseUp","onMouseDown","onMouseMove","onTouchStart","onTouchEnd","onTouchMove","onContextMenu");function m(){S=0,R="",I(),I(void 0,"notice"),E=0}function y(){t.world.constraintBounds(),m()}function w(B){if(B.which>1){c.isPressing=!1;return}t.mode==="explore"&&(B.preventDefault(),c.pointerStart.x=B.atlas.x,c.pointerStart.y=B.atlas.y,t.transitionManager.stopTransition(),c.isPressing=!0)}function v(){m(),c.isPressing&&(t.mode==="explore"&&t.world.constraintBounds(),c.isPressing=!1)}let S=0,E=0,R="";function b(B){if(t.mode==="explore"){if(B.atlasTouches.length===1&&(E=performance.now(),s==!1&&B.preventDefault(),c.pointerStart.x=B.atlasTouches[0].x,c.pointerStart.y=B.atlasTouches[0].y),B.atlasTouches.length===2){R=zT,B.preventDefault();let G=B.atlasTouches[0].x,K=B.atlasTouches[1].x;c.pointerStart.x=(G+K)/2;let ce=B.atlasTouches[0].y,J=B.atlasTouches[1].y;c.pointerStart.y=(ce+J)/2,S=fd({x:B.touches[0].clientX,y:B.touches[0].clientY},{x:B.touches[1].clientX,y:B.touches[1].clientY})}t.transitionManager.stopTransition(),c.isPressing=!0}}function I(B,G="intent"){f&&(f.dataset[G]=B)}function M(B){let G=null,K=null,ce=!1,J=0;if(c.isPressing&&B.touches.length===2){let te=B.touches[0].clientX,oe=B.touches[1].clientX;G=(te+oe)/2;let Re=B.touches[0].clientY,de=B.touches[1].clientY;K=(Re+de)/2,J=fd({x:B.touches[0].clientX,y:B.touches[0].clientY},{x:B.touches[1].clientX,y:B.touches[1].clientY}),ce=!0}if(I(R),c.isPressing&&B.touches.length===1){if(l&&(performance.now()-E<u&&R==""&&(R=r1),R==""&&(R=i1)),I(R),R==""&&s==!0||R==r1){I("require-two-finger","notice");return}let te=B.touches[0];G=te.clientX,K=te.clientY}if(G!==null&&K!==null){let te=t.getRendererScreenPosition();if(te){let{x:oe,y:Re}=t.viewerToWorld(G-te.x,K-te.y),de=J&&S?J/S:1;t.transitionManager.customTransition(N=>{N.from=me(t.target),N.to=Bn(N.from,An(ht(c.pointerStart.x-oe,c.pointerStart.y-Re),ir(1/de,oe,Re)),c.mousemoveBuffer),N.elapsed_time=0,N.total_time=0,N.timingFunction=Nr.easeInOutExpo,N.done=!1})}S=J}R==i1&&B.preventDefault()}function T(B){if(c.isPressing){let G=t.getRendererScreenPosition();if(G){let{x:K,y:ce}=t.viewerToWorld(B.clientX-G.x,B.clientY-G.y);t.transitionManager.customTransition(J=>{J.from=me(t.target),J.to=Bn(J.from,ht(c.pointerStart.x-K,c.pointerStart.y-ce),c.mousemoveBuffer),J.elapsed_time=0,J.total_time=0,J.timingFunction=Nr.easeInOutExpo,J.done=!1})}}}function _(B){t.mode==="explore"&&t.world.zoomIn(B.atlas)}function U(B){let G=1+(0,g1.default)(B).spinY/n;t.world.zoomTo(G,B.atlas,!0)}function H(B){return p&&B.metaKey==!1?(I("meta-required","notice"),B.stopPropagation(),!1):!0}t.world.addEventListener("mouseup",y),t.world.addEventListener("touchend",y),t.world.addEventListener("touchstart",b),t.world.addEventListener("mousedown",w),window.addEventListener("touchend",v),window.addEventListener("mouseup",v),window.addEventListener("mousemove",T),f&&f.addEventListener("touchmove",M),r&&(t.world.activatedEvents.push("onClick"),t.world.addEventListener("click",_)),i&&(t.world.activatedEvents.push("onWheel"),p&&f?.addEventListener("wheel",H,{passive:!0,capture:!0}),t.world.addEventListener("wheel",U));let Z=t.world.addLayoutSubscriber((B,G)=>{if(B==="zone-changed"&&t.transitionManager.constrainBounds({transition:{duration:0}}),B==="zoom-to"&&G&&t.transitionManager.zoomTo(G.factor,{origin:G.point,stream:G.stream}),B==="go-home"){let K=G.immediate?{duration:0}:void 0;t.transitionManager.goToRegion(NT(t.homePosition),{transition:K})}if(B==="goto-region"&&G){let K=G.immediate?{duration:0}:{};t.transitionManager.goToRegion(G,{transition:K})}B==="constrain-bounds"&&t.transitionManager.constrainBounds({transition:G?.immediate?{duration:0}:void 0})});return()=>{t.world.removeEventListener("mouseup",y),t.world.removeEventListener("touchend",y),t.world.removeEventListener("touchstart",b),t.world.removeEventListener("mousedown",w),window.removeEventListener("touchend",v),window.removeEventListener("mouseup",v),t.world.removeEventListener("mousemove",T),f&&(f.removeEventListener("touchmove",T),f.removeEventListener("wheel",H,{passive:!0,capture:!0})),r&&t.world.removeEventListener("click",_),i&&t.world.removeEventListener("wheel",U),Z()}},updatePosition(){}}),Bs=Sd.default.createContext("explore");Bs.displayName="Mode";var VT=()=>(0,Sd.useContext)(Bs);var wd=ig.default.createContext(null);wd.displayName="Atlas";var bd=ig.default.createContext(null);bd.displayName="Bounds";var pd,jT=typeof performance=="object"&&typeof performance.now=="function";if(jT){let e=performance;pd=()=>e.now()}else{let e=Date,t=e.now();pd=()=>e.now()-t}var HT=16;function o1(e,t){e&&e.appendChild&&t&&e.appendChild(t)}function S1(e,t){e&&e.removeChild&&t&&e.removeChild(t)}function WT(e,t){return S1(e.world,t)}function UT(e,t,n){return w1(e.world,t,n)}function w1(e,t,n){e&&e instanceof xd&&(e=e.world),e&&e.insertBefore&&e.insertBefore(t,n)}function b1(e,t,n){if(n&&(e.applyProps&&e.applyProps(n),e instanceof qi))for(let i of gd){let r=i.slice(2).toLowerCase();n[i]!==t[i]&&(t[i]&&e.removeEventListener(r,t[i]),e.addEventListener(r,n[i]))}}function R1(e,t){let n=Object.keys(t),i=!1;for(let r of n)if(gd.indexOf(r)!==-1){let s=Ds[r];if(s){if(e.activatedEvents.indexOf(s)!==-1)continue;i=!0,e.activatedEvents.push(s)}}i&&e.triggerEventActivation()}var md=new Map,s1={};function qT(e,{args:t=[],...n},i,r,s){if(!(i instanceof xd)&&s){let f=p=>p.return?f(p.return):p.stateNode&&p.stateNode.containerInfo;i=f(s)}let l,u=i.world;switch(e){case"world":l=vd.withProps({width:n.width,height:n.height,viewingDirection:"left-to-right"}),l.activatedEvents=u.activatedEvents,l.eventHandlers=u.eventHandlers,l.subscriptions=u.subscriptions,l.triggerEventActivation(),u=l;break;case"box":l=new il;break;case"shape":l=new p1;break;case"worldObject":case"world-object":l=new ng;break;case"worldImage":case"world-image":l=new zr;break;case"texture":l=new Xm;break;case"compositeImage":case"composite-image":l=new TT({id:n.id,width:n.width,height:n.height,images:[],renderOptions:n.renderOptions});break;case"tiledImage":case"tiled-image":l=al.fromTile(n.uri,n.display,n.tile,n.scaleFactor,void 0,n.format,n.useFloorCalc,n.version3);break;case"paragraph":l=new cd,l.text=n.children;break;default:return}return R1(u,n),b1(l,{},n),l}function GT(e,t){if(t instanceof vd)e.world=t;else if(t instanceof ng)e.world.appendChild(t);else if(t)throw new Error("Invalid root")}var ol=(0,v1.default)({unstable_now:pd,now:pd,createInstance:qT,removeChild:S1,appendChild:o1,appendInitialChild:o1,insertBefore:w1,warnsIfNotActing:!0,supportsMutation:!0,isPrimaryRenderer:!1,scheduleTimeout:typeof setTimeout<"u"?setTimeout:void 0,cancelTimeout:typeof clearTimeout<"u"?clearTimeout:void 0,setTimeout:typeof setTimeout<"u"?setTimeout:void 0,clearTimeout:typeof clearTimeout<"u"?clearTimeout:void 0,noTimeout:-1,appendChildToContainer:GT,removeChildFromContainer:WT,createTextInstance(){},insertInContainerBefore:UT,prepareUpdate(e,t,n,i,r){return R1(r.world,i),i},commitUpdate(e,t,n,i,r,s){e.applyProps&&t&&b1(e,i,t)},finalizeInitialChildren(e){return e?.__handlers},getChildHostContext(){return s1},getRootHostContext(){return s1},prepareForCommit(e){return e.isCommitting=!0,null},preparePortalMount(){},hideInstance(e){e&&e.points&&(e.points[0]=0)},unhideInstance(e,t){e&&e.points&&(e.points[0]=1)},getPublicInstance(e){return e},hideTextInstance(){throw new Error("Text is not allowed in the react-three-fibre tree. You may have extraneous whitespace between components.")},resetAfterCommit(e){e.isCommitting=!1,e.pendingUpdate=!0,e.world&&e.world.needsRecalculate&&(e.world.recalculateWorldSize(),e.world.triggerRepaint())},shouldSetTextContent(){return!1},clearContainer(){return!1},supportsHydration:!1,supportsPersistence:!1,detachDeletedInstance(e){},afterActiveInstanceBlur(){},beforeActiveInstanceBlur(){},getCurrentEventPriority(){return console.log("getCurrentEventPriority"),HT},getInstanceFromNode(e){throw console.log("getInstanceFromNode",e),new Error("Not implemented")},getInstanceFromScope(e){throw console.log("getInstanceFromScope",e),new Error("Not implemented")},prepareScopeUpdate(e,t){throw console.log("prepareScopeUpdate",e,t),new Error("Not implemented")},logRecoverableError(){},requestPostPaintCallback(){}});ol.injectIntoDevTools({bundleType:0,version:x1.version,rendererPackageName:"@atlas-viewer/atlas"});function rg(e,t){let n=md.get(e);n&&ol.updateContainer(null,n,null,()=>{md.delete(e),t&&t(e)})}var a1={render(e,t){let n=md.get(t);if(n)ol.updateContainer(e,n,null);else{let i=ol.createContainer(t,0,null,!1,null,"",()=>{},null);ol.updateContainer(e,i,null),md.set(t,i)}},unmountComponentAtNode(e,t){rg(e,t)}},sl=typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")?Rd.useLayoutEffect:Rd.useEffect,$T=Ui.default.memo(({children:e,setIsReady:t,onCreated:n,bounds:i,preset:r,mode:s="explore"})=>{let l=(0,Ui.useCallback)(function(u){let f=(0,Ui.useRef)(!1),p=()=>{t(!0)};return(0,Ui.useEffect)(()=>{if(r&&!f.current){r.runtime.goHome();let c=n&&n(r);return void(c&&c.then?c.then(p):p())}return()=>{}},[]),(0,Ui.useEffect)(()=>{f.current=!0},[]),u.children},[r]);return sl(()=>{if(r){let u=r.runtime;s!==u.mode&&(u.mode=s),a1.render((0,zs.jsx)(Ui.default.StrictMode,{children:(0,zs.jsx)(l,{children:(0,zs.jsx)(bd.Provider,{value:i,children:(0,zs.jsx)(Bs.Provider,{value:s,children:(0,zs.jsx)(wd.Provider,{value:r,children:e})})})})}),u)}},[r,s,e]),sl(()=>{if(r){let u=r.runtime;return()=>{a1.unmountComponentAtNode(u)}}return()=>{}},[r]),null}),QT=class{constructor(e,t){P(this,"canvas"),P(this,"gl"),P(this,"program"),P(this,"fragmentShader"),P(this,"vertexShader"),P(this,"rectBuffer"),P(this,"fragmentShaderSource",`
16
16
  precision mediump float;
17
17
 
18
18
  uniform sampler2D u_image;
@@ -45,14 +45,14 @@ No matching component was found for:
45
45
 
46
46
  v_texCoord = a_texCoord;
47
47
  }
48
- `),P(this,"attributes"),P(this,"uniforms"),P(this,"buffers"),P(this,"rendererPosition"),P(this,"dpi"),P(this,"lastResize",0),P(this,"lastKnownScale",1),this.canvas=e,this.rendererPosition=e.getBoundingClientRect(),this.gl=e.getContext("webgl2"),this.fragmentShader=this.createShader(this.gl.FRAGMENT_SHADER,this.fragmentShaderSource),this.vertexShader=this.createShader(this.gl.VERTEX_SHADER,this.vertexShaderSource),this.program=this.createProgram(this.vertexShader,this.fragmentShader),this.dpi=t?.dpi||1,this.attributes={position:this.gl.getAttribLocation(this.program,"a_position"),texCoord:this.gl.getAttribLocation(this.program,"a_texCoord")},this.uniforms={resolution:this.gl.getUniformLocation(this.program,"u_resolution"),texture:this.gl.getUniformLocation(this.program,"u_texture")},this.buffers={position:this.createArrayBuffer(),texCoord:this.createArrayBuffer(new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]))},this.rectBuffer=new Float32Array(12),this.resize(),this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.useProgram(this.program),this.gl.enableVertexAttribArray(this.attributes.position)}resize(){this.resizeCanvasToDisplaySize(),this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.rendererPosition=this.canvas.getBoundingClientRect()}isReady(){return!0}beforeFrame(e,t,n){this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.vertexAttribPointer(this.attributes.position,2,this.gl.FLOAT,!1,0,0),this.gl.uniform2f(this.uniforms.resolution,this.gl.canvas.width,this.gl.canvas.height),this.lastResize>1e3&&(this.lastResize=0,this.resizeCanvasToDisplaySize()),this.lastResize+=t}prepareLayer(e){(!e.__host||!e.__host.webgl)&&((e instanceof zr||e instanceof sl)&&this.createImageHost(e),e instanceof Ym&&this.createTextureHost(e))}createTextureHost(e){e.__host=e.__host?e.__host:{};let t=this.gl,n=this.gl.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,!1);let i;if(e instanceof Ym){let r=e.getTexture();r.source&&t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r.source),i=r}t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),e.__host.webgl={height:e.height,width:e.width,texture:n,lastImage:i}}createImageHost(e){let t=[...new Array(e.points.length/5)];e.__host=e.__host?e.__host:{},e.__host.webgl={height:e.height,width:e.width,textures:t,loading:[],loaded:[],lastLevelRendered:-1,onLoad:(n,i)=>{let r=this.gl,a=this.gl.createTexture();r.bindTexture(r.TEXTURE_2D,a),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),e.__host.webgl.textures[n]=a,e.__host.webgl.loaded.push(n)}}}paint(e,t,n,i,r,a){if(e.type==="spacial-content"&&e.__host&&e.__host.webgl){if(e.getTexture){let u=e?.getTexture();if(u&&e.__host.webgl.lastImage!==u.hash&&u.source&&!e.__host.webgl.error)try{let f=this.gl.RGBA,h=this.gl.RGBA,c=this.gl.UNSIGNED_BYTE;this.gl.bindTexture(this.gl.TEXTURE_2D,e.__host.webgl.texture),this.gl.texImage2D(this.gl.TEXTURE_2D,0,f,h,c,u.source),e.__host.webgl.lastImage=u.hash}catch(f){e.__host.webgl.error=f}}if(e.__host.webgl.loading&&e.__host.webgl.loading.indexOf(t)===-1&&e.getImageUrl){e.__host.webgl.loading.push(t);let u=document.createElement("img");u.decoding="async",u.crossOrigin="anonymous",u.src=e.getImageUrl(t),u.onload=()=>(u.onload=null,e.__host.webgl.onLoad(t,u))}let l=e.__host.webgl.texture?e.__host.webgl.texture:e.__host.webgl.textures[t];l&&(this.gl.enableVertexAttribArray(this.attributes.texCoord),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffers.texCoord),this.gl.enableVertexAttribArray(this.attributes.texCoord),this.gl.vertexAttribPointer(this.attributes.texCoord,2,this.gl.FLOAT,!1,0,0),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffers.position),this.gl.enableVertexAttribArray(this.attributes.position),this.gl.vertexAttribPointer(this.attributes.position,2,this.gl.FLOAT,!1,0,0),this.gl.bindTexture(this.gl.TEXTURE_2D,l),this.gl.uniform1i(this.uniforms.texture,0),this.setRectangle(n,i,r,a),this.gl.drawArrays(this.gl.TRIANGLES,0,6))}}afterPaintLayer(e,t){}pendingUpdate(){return!0}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}afterFrame(){}getScale(e,t,n){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let i=this.getCanvasDims(),r=i.width/e,a=i.height/t,l=(r<a?a:r)*(n&&this.dpi||1);return Number.isNaN(l)||(this.lastKnownScale=l),this.lastKnownScale}getCanvasDims(){return{width:this.canvas.width/this.dpi,height:this.canvas.height/this.dpi}}getViewportBounds(e,t,n){return null}createShader(e,t){let n=this.gl.createShader(e);if(n){if(this.gl.shaderSource(n,t),this.gl.compileShader(n),this.gl.getShaderParameter(n,this.gl.COMPILE_STATUS))return n;let i=this.gl.getShaderInfoLog(n);if(this.gl.deleteShader(n),i)throw new Error(i)}throw new Error("Invalid shader")}createProgram(e,t){let n=this.gl.createProgram();if(n){if(this.gl.attachShader(n,e),this.gl.attachShader(n,t),this.gl.linkProgram(n),this.gl.getProgramParameter(n,this.gl.LINK_STATUS))return n;let i=this.gl.getProgramInfoLog(n);if(this.gl.deleteProgram(n),i)throw new Error(i)}throw new Error("Invalid program")}resizeCanvasToDisplaySize(){let e=this.gl.canvas,t=e.clientWidth,n=e.clientHeight,i=e.width!==t||e.height!==n;return i&&(e.width=t,e.height=n),i}createArrayBuffer(e){let t=this.gl.createBuffer();if(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t),e&&this.gl.bufferData(this.gl.ARRAY_BUFFER,e,this.gl.STATIC_DRAW),!t)throw new Error("Cannot create buffer");return t}setRectangle(e,t,n,i){this.gl.bufferData(this.gl.ARRAY_BUFFER,this.getRectangle(e,t,n,i),this.gl.STATIC_DRAW)}getRectangle(e,t,n,i){let r=e,a=e+n,l=t,u=t+i;return this.rectBuffer.set([r,l,a,l,r,u,r,u,a,l,a,u]),this.rectBuffer}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){}reset(){}};function Xm(e,t){let n=t?e:JSON.stringify(e),i=5381,r=n.length;for(;r;)i=i*33^n.charCodeAt(--r);let a=(i>>>0).toString(16);return a.length%2?"0"+a:a}var b1=class{constructor(e){P(this,"$element"),P(this,"stylesheetClasses"),P(this,"activeStylesheetClasses"),P(this,"sheetsDidUpdate"),P(this,"sheetPrefix"),P(this,"stylesheetEntries"),this.sheetPrefix=e?.sheetPrefix||"a-",this.$element=document.createElement("style"),this.stylesheetClasses=[],this.activeStylesheetClasses=[],this.sheetsDidUpdate=!1,this.stylesheetEntries={}}getElement(){return this.$element}addStylesheet(e){let t=e.replace(/\s\s+/g," ").replace(/: /g,":").replace(/; /g,";").trim(),n=this.sheetPrefix+Xm(t,!0);return this.stylesheetClasses.indexOf(n)!==-1||(this.stylesheetClasses.push(n),this.activeStylesheetClasses.push(n),this.stylesheetEntries[n]=t,this.sheetsDidUpdate=!0),n}removeStylesheet(e){let t=this.sheetPrefix+Xm(e,!0);this.stylesheetClasses.indexOf(t)&&(this.stylesheetClasses=this.stylesheetClasses.filter(n=>n!==t)),this.sheetsDidUpdate=!0}clearClasses(){this.activeStylesheetClasses=[]}didUpdateActive(){if(this.activeStylesheetClasses.length){for(let e of this.activeStylesheetClasses)if(this.stylesheetClasses.indexOf(e)===-1)return!0;for(let e of this.stylesheetClasses)if(this.activeStylesheetClasses.indexOf(e)===-1)return!0}return!1}updateSheet(){(this.sheetsDidUpdate||this.didUpdateActive())&&(this.$element.innerText=this.activeStylesheetClasses.map(e=>`.${e}{${this.stylesheetEntries[e]}}`).join(""),this.sheetsDidUpdate=!1,this.stylesheetClasses=[...this.activeStylesheetClasses])}},R1=class{constructor(e,t){P(this,"htmlContainer"),P(this,"visible",[]),P(this,"previousVisible",[]),P(this,"htmlIds",[]),P(this,"firstMeaningfulPaint",!1),P(this,"rendererPosition"),P(this,"stylesheet"),P(this,"options"),P(this,"paintTx",1),P(this,"zIndex",0),P(this,"classes"),this.htmlContainer=e,this.htmlContainer.innerHTML="",this.rendererPosition=this.htmlContainer.getBoundingClientRect(),this.options={triggerResize:()=>{},box:!1,text:!1,sheetPrefix:"",inlineStyles:!1,background:"",...t||{}},this.stylesheet=new b1({sheetPrefix:this.options.sheetPrefix}),this.options.inlineStyles||this.htmlContainer.appendChild(this.stylesheet.getElement()),this.options.background&&this.htmlContainer.classList.add(this.stylesheet.addStylesheet(`
48
+ `),P(this,"attributes"),P(this,"uniforms"),P(this,"buffers"),P(this,"rendererPosition"),P(this,"dpi"),P(this,"lastResize",0),P(this,"lastKnownScale",1),this.canvas=e,this.rendererPosition=e.getBoundingClientRect(),this.gl=e.getContext("webgl2"),this.fragmentShader=this.createShader(this.gl.FRAGMENT_SHADER,this.fragmentShaderSource),this.vertexShader=this.createShader(this.gl.VERTEX_SHADER,this.vertexShaderSource),this.program=this.createProgram(this.vertexShader,this.fragmentShader),this.dpi=t?.dpi||1,this.attributes={position:this.gl.getAttribLocation(this.program,"a_position"),texCoord:this.gl.getAttribLocation(this.program,"a_texCoord")},this.uniforms={resolution:this.gl.getUniformLocation(this.program,"u_resolution"),texture:this.gl.getUniformLocation(this.program,"u_texture")},this.buffers={position:this.createArrayBuffer(),texCoord:this.createArrayBuffer(new Float32Array([0,0,1,0,0,1,0,1,1,0,1,1]))},this.rectBuffer=new Float32Array(12),this.resize(),this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.useProgram(this.program),this.gl.enableVertexAttribArray(this.attributes.position)}resize(){this.resizeCanvasToDisplaySize(),this.gl.viewport(0,0,this.gl.canvas.width,this.gl.canvas.height),this.rendererPosition=this.canvas.getBoundingClientRect()}isReady(){return!0}beforeFrame(e,t,n){this.gl.clearColor(0,0,0,0),this.gl.clear(this.gl.COLOR_BUFFER_BIT),this.gl.vertexAttribPointer(this.attributes.position,2,this.gl.FLOAT,!1,0,0),this.gl.uniform2f(this.uniforms.resolution,this.gl.canvas.width,this.gl.canvas.height),this.lastResize>1e3&&(this.lastResize=0,this.resizeCanvasToDisplaySize()),this.lastResize+=t}prepareLayer(e){(!e.__host||!e.__host.webgl)&&((e instanceof zr||e instanceof al)&&this.createImageHost(e),e instanceof Xm&&this.createTextureHost(e))}createTextureHost(e){e.__host=e.__host?e.__host:{};let t=this.gl,n=this.gl.createTexture();t.bindTexture(t.TEXTURE_2D,n),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,!1);let i;if(e instanceof Xm){let r=e.getTexture();r.source&&t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r.source),i=r}t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,t.LINEAR),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),e.__host.webgl={height:e.height,width:e.width,texture:n,lastImage:i}}createImageHost(e){let t=[...new Array(e.points.length/5)];e.__host=e.__host?e.__host:{},e.__host.webgl={height:e.height,width:e.width,textures:t,loading:[],loaded:[],lastLevelRendered:-1,onLoad:(n,i)=>{let r=this.gl,s=this.gl.createTexture();r.bindTexture(r.TEXTURE_2D,s),r.pixelStorei(r.UNPACK_FLIP_Y_WEBGL,!1),r.texImage2D(r.TEXTURE_2D,0,r.RGBA,r.RGBA,r.UNSIGNED_BYTE,i),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MAG_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_MIN_FILTER,r.LINEAR),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_T,r.CLAMP_TO_EDGE),r.texParameteri(r.TEXTURE_2D,r.TEXTURE_WRAP_S,r.CLAMP_TO_EDGE),r.bindTexture(r.TEXTURE_2D,null),e.__host.webgl.textures[n]=s,e.__host.webgl.loaded.push(n)}}}paint(e,t,n,i,r,s){if(e.type==="spacial-content"&&e.__host&&e.__host.webgl){if(e.getTexture){let u=e?.getTexture();if(u&&e.__host.webgl.lastImage!==u.hash&&u.source&&!e.__host.webgl.error)try{let f=this.gl.RGBA,p=this.gl.RGBA,c=this.gl.UNSIGNED_BYTE;this.gl.bindTexture(this.gl.TEXTURE_2D,e.__host.webgl.texture),this.gl.texImage2D(this.gl.TEXTURE_2D,0,f,p,c,u.source),e.__host.webgl.lastImage=u.hash}catch(f){e.__host.webgl.error=f}}if(e.__host.webgl.loading&&e.__host.webgl.loading.indexOf(t)===-1&&e.getImageUrl){e.__host.webgl.loading.push(t);let u=document.createElement("img");u.decoding="async",u.crossOrigin="anonymous",u.src=e.getImageUrl(t),u.onload=()=>(u.onload=null,e.__host.webgl.onLoad(t,u))}let l=e.__host.webgl.texture?e.__host.webgl.texture:e.__host.webgl.textures[t];l&&(this.gl.enableVertexAttribArray(this.attributes.texCoord),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffers.texCoord),this.gl.enableVertexAttribArray(this.attributes.texCoord),this.gl.vertexAttribPointer(this.attributes.texCoord,2,this.gl.FLOAT,!1,0,0),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.buffers.position),this.gl.enableVertexAttribArray(this.attributes.position),this.gl.vertexAttribPointer(this.attributes.position,2,this.gl.FLOAT,!1,0,0),this.gl.bindTexture(this.gl.TEXTURE_2D,l),this.gl.uniform1i(this.uniforms.texture,0),this.setRectangle(n,i,r,s),this.gl.drawArrays(this.gl.TRIANGLES,0,6))}}afterPaintLayer(e,t){}pendingUpdate(){return!0}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}afterFrame(){}getScale(e,t,n){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let i=this.getCanvasDims(),r=i.width/e,s=i.height/t,l=(r<s?s:r)*(n&&this.dpi||1);return Number.isNaN(l)||(this.lastKnownScale=l),this.lastKnownScale}getCanvasDims(){return{width:this.canvas.width/this.dpi,height:this.canvas.height/this.dpi}}getViewportBounds(e,t,n){return null}createShader(e,t){let n=this.gl.createShader(e);if(n){if(this.gl.shaderSource(n,t),this.gl.compileShader(n),this.gl.getShaderParameter(n,this.gl.COMPILE_STATUS))return n;let i=this.gl.getShaderInfoLog(n);if(this.gl.deleteShader(n),i)throw new Error(i)}throw new Error("Invalid shader")}createProgram(e,t){let n=this.gl.createProgram();if(n){if(this.gl.attachShader(n,e),this.gl.attachShader(n,t),this.gl.linkProgram(n),this.gl.getProgramParameter(n,this.gl.LINK_STATUS))return n;let i=this.gl.getProgramInfoLog(n);if(this.gl.deleteProgram(n),i)throw new Error(i)}throw new Error("Invalid program")}resizeCanvasToDisplaySize(){let e=this.gl.canvas,t=e.clientWidth,n=e.clientHeight,i=e.width!==t||e.height!==n;return i&&(e.width=t,e.height=n),i}createArrayBuffer(e){let t=this.gl.createBuffer();if(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,t),e&&this.gl.bufferData(this.gl.ARRAY_BUFFER,e,this.gl.STATIC_DRAW),!t)throw new Error("Cannot create buffer");return t}setRectangle(e,t,n,i){this.gl.bufferData(this.gl.ARRAY_BUFFER,this.getRectangle(e,t,n,i),this.gl.STATIC_DRAW)}getRectangle(e,t,n,i){let r=e,s=e+n,l=t,u=t+i;return this.rectBuffer.set([r,l,s,l,r,u,r,u,s,l,s,u]),this.rectBuffer}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){}reset(){}};function Jm(e,t){let n=t?e:JSON.stringify(e),i=5381,r=n.length;for(;r;)i=i*33^n.charCodeAt(--r);let s=(i>>>0).toString(16);return s.length%2?"0"+s:s}var E1=class{constructor(e){P(this,"$element"),P(this,"stylesheetClasses"),P(this,"activeStylesheetClasses"),P(this,"sheetsDidUpdate"),P(this,"sheetPrefix"),P(this,"stylesheetEntries"),this.sheetPrefix=e?.sheetPrefix||"a-",this.$element=document.createElement("style"),this.stylesheetClasses=[],this.activeStylesheetClasses=[],this.sheetsDidUpdate=!1,this.stylesheetEntries={}}getElement(){return this.$element}addStylesheet(e){let t=e.replace(/\s\s+/g," ").replace(/: /g,":").replace(/; /g,";").trim(),n=this.sheetPrefix+Jm(t,!0);return this.stylesheetClasses.indexOf(n)!==-1||(this.stylesheetClasses.push(n),this.activeStylesheetClasses.push(n),this.stylesheetEntries[n]=t,this.sheetsDidUpdate=!0),n}removeStylesheet(e){let t=this.sheetPrefix+Jm(e,!0);this.stylesheetClasses.indexOf(t)&&(this.stylesheetClasses=this.stylesheetClasses.filter(n=>n!==t)),this.sheetsDidUpdate=!0}clearClasses(){this.activeStylesheetClasses=[]}didUpdateActive(){if(this.activeStylesheetClasses.length){for(let e of this.activeStylesheetClasses)if(this.stylesheetClasses.indexOf(e)===-1)return!0;for(let e of this.stylesheetClasses)if(this.activeStylesheetClasses.indexOf(e)===-1)return!0}return!1}updateSheet(){(this.sheetsDidUpdate||this.didUpdateActive())&&(this.$element.innerText=this.activeStylesheetClasses.map(e=>`.${e}{${this.stylesheetEntries[e]}}`).join(""),this.sheetsDidUpdate=!1,this.stylesheetClasses=[...this.activeStylesheetClasses])}},I1=class{constructor(e,t){P(this,"htmlContainer"),P(this,"visible",[]),P(this,"previousVisible",[]),P(this,"htmlIds",[]),P(this,"firstMeaningfulPaint",!1),P(this,"rendererPosition"),P(this,"stylesheet"),P(this,"options"),P(this,"paintTx",1),P(this,"zIndex",0),P(this,"classes"),this.htmlContainer=e,this.htmlContainer.innerHTML="",this.rendererPosition=this.htmlContainer.getBoundingClientRect(),this.options={triggerResize:()=>{},box:!1,text:!1,sheetPrefix:"",inlineStyles:!1,background:"",...t||{}},this.stylesheet=new E1({sheetPrefix:this.options.sheetPrefix}),this.options.inlineStyles||this.htmlContainer.appendChild(this.stylesheet.getElement()),this.options.background&&this.htmlContainer.classList.add(this.stylesheet.addStylesheet(`
49
49
  background: ${this.options.background};
50
50
  `)),this.classes={hostClassName:this.stylesheet.addStylesheet(`
51
51
  position: absolute;
52
52
  transform-origin: 0px 0px;
53
- `),interactive:this.stylesheet.addStylesheet("pointer-events: all"),nonInteractive:this.stylesheet.addStylesheet("pointer-events: none")},this.stylesheet.updateSheet()}createHtmlHost(e){if(this.htmlContainer&&(this.options.box||e.props.className||e.props.html||e.props.href)){let t=document.createElement(e.props.href?"a":"div");if(e.props.href){t.style.display="block",t.href=e.props.href;let n=e.props.hrefTarget||"_blank";t.target=n,n!=="_self"&&(t.rel="noopener noreferrer")}t.title=e.props.title||"",this.options.inlineStyles?(t.style.display="block",t.style.position="absolute",t.style.overflow="hidden",t.style.transformOrigin="0px 0px"):t.classList.add(this.classes.hostClassName),e.__host={element:t,revision:null,relative:!1},this.updateHtmlHost(e,e.width,e.height),e.__onCreate&&e.__onCreate()}}triggerResize(){this.options.triggerResize()}updateHtmlHost(e,t,n){if(e.__revision!==e.__host.revision){let i=e.__host.element,r=[this.classes.hostClassName];if(e.props.interactive?this.options.inlineStyles?i.style.pointerEvents="all":r.push(this.classes.interactive):this.options.inlineStyles?i.style.pointerEvents="none":r.push(this.classes.nonInteractive),e.props.href){i.style.display="block",i.href=e.props.href;let l=e.props.hrefTarget||"_blank";i.target=l,l!=="_self"?i.rel="noopener noreferrer":i.rel=""}else i.href&&i.removeAttribute("href");if(e.props.title&&(i.title=e.props.title||""),e.props.className&&(r.push(e.props.className),e.hovering&&r.push(`${e.props.className}--hover`),e.pressing&&r.push(`${e.props.className}--active`)),e.props.relativeStyle?(i.style.width=`${t||e.width}px`,i.style.height=`${n||e.height}px`):(i.style.width=`${e.width}px`,i.style.height=`${e.height}px`),e.props.style){Object.assign(i.style,e.props.style||{},e.hovering?e.props.hoverStyles||{}:{},e.pressing?e.props.pressStyles||{}:{});return}if(this.options.text&&e instanceof ud){e.text&&(i.innerText=e.text),e.backgroundColor&&(i.style.backgroundColor=e.backgroundColor),e.color&&(i.style.color=e.color),e.props.font&&(i.style.font=e.props.font),e.props.textAlign&&(i.style.textAlign=e.props.textAlign),e.__host.revision=e.__revision;let l=r.join(" ");i.className=l,i.part=l}e instanceof nl&&(this.options.box||e.props.className||e.props.html)&&(e.props.backgroundColor&&(i.style.backgroundColor=e.props.backgroundColor),e.props.border!==i.style.border&&(i.style.border=e.props.border));let a=r.join(" ");i.className=a,i.part=a}}afterFrame(e,t,n){this.stylesheet.updateSheet();for(let i of this.previousVisible)this.visible.indexOf(i)===-1&&this.htmlContainer&&i.__id&&this.htmlIds.indexOf(i.__id)!==-1&&this.htmlContainer.removeChild(i.__host.element);this.previousVisible=this.visible}afterPaintLayer(e,t){}beforeFrame(e,t,n){this.stylesheet.clearClasses(),this.paintTx++,this.zIndex=0,this.visible=[]}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}getScale(e,t){let n=this.rendererPosition.width/e,i=this.rendererPosition.height/t;return n<i?i:n}getViewportBounds(e,t,n){return null}isReady(){return!1}paint(e,t,n,i,r,a){if(this.zIndex++,(this.options.text&&e instanceof ud||e instanceof nl&&(this.options.box||e.props.className||e.props.html))&&e.__host.tx!==this.paintTx&&(this.visible.push(e),e.__host.tx=this.paintTx,this.htmlContainer)){this.updateHtmlHost(e,r,a);let l=r/e.width,u=e.__host.element;u.style.zIndex=`${this.zIndex}`,e.props.relativeStyle?u.style.transform=`translate(${Math.round(n)}px, ${Math.round(i)}px)`:u.style.transform=`translate(${Math.round(n)}px, ${Math.round(i)}px) scale(${l})`,this.previousVisible.indexOf(e)===-1&&this.htmlContainer.appendChild(u),this.htmlIds.indexOf(e.__id)===-1&&this.htmlIds.push(e.__id)}}pendingUpdate(){return!1}prepareLayer(e){e.__host||(e instanceof ud||e instanceof nl)&&this.createHtmlHost(e)}resize(e,t){typeof e<"u"&&typeof t<"u"&&(this.htmlContainer.style.width=`${e}px`,this.htmlContainer.style.height=`${t}px`),this.rendererPosition=this.htmlContainer.getBoundingClientRect()}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){}reset(){}},E1=class cd{constructor(t,n,i){P(this,"element"),P(this,"runtime"),P(this,"unsubscribe"),P(this,"activatedEvents",[]),P(this,"eventHandlers",[]),P(this,"bounds"),P(this,"listening"),P(this,"pointerMoveEvent"),P(this,"pointerEventState",{isClicking:!1,isDragging:!1,isPressed:!1,mousedOver:[],itemsBeingDragged:[],mouseDownStart:{x:0,y:0},lastTouches:[]}),P(this,"options"),P(this,"_realPointerMove",a=>{this.pointerMoveEvent=a}),P(this,"onWheelEvent",a=>{a.preventDefault(),this.onPointerEvent(a)}),P(this,"onContextMenu",a=>{a.preventDefault();let l="onContextMenu";if(this.runtime.world.activatedEvents.indexOf(l)!==-1){let{x:u,y:f}=this.runtime.viewerToWorld(a.clientX-this.bounds.left,a.clientY-this.bounds.top);this.assignToEvent(a,u,f),this.runtime.world.propagatePointerEvent(l,a,u,f)}}),P(this,"onTouchEvent",a=>{let l=Ns[a.type],u=[],f=a.touches.length;for(let h=0;h<f;h++){let c=a.touches.item(h);if(!c)continue;let{x:m,y:v}=this.runtime.viewerToWorld(c.clientX-this.bounds.left,c.clientY-this.bounds.top),w={id:c.identifier,x:m,y:v};u.push(w)}u.length&&this.assignToEvent(a,u[0].x,u[0].y),l!=="onTouchEnd"?(this.pointerEventState.lastTouches=u,a.atlasTouches=u,this.runtime.world.propagateTouchEvent(l,a,u)):(a.atlasTouches=[],this.runtime.world.propagateTouchEvent(l,a,this.pointerEventState.lastTouches),this.pointerEventState.lastTouches=[])}),P(this,"onPointerEvent",a=>{if(a.button===2)return;let l=Ns[a.type];if(l&&this.runtime.world.activatedEvents.indexOf(l)!==-1){let{x:u,y:f}=this.runtime.viewerToWorld(a.clientX-this.bounds.left,a.clientY-this.bounds.top);this.assignToEvent(a,u,f),this.runtime.world.propagatePointerEvent(l,a,u,f)}}),P(this,"onPointerDown",a=>{a.button!==2&&(this.pointerEventState.isPressed=!0,this.pointerEventState.isClicking=!0,this.pointerEventState.mouseDownStart.x=a.clientX,this.pointerEventState.mouseDownStart.y=a.clientY,setTimeout(()=>{this.runtime&&(this.pointerEventState.isClicking=!1)},250),setTimeout(()=>{if(this.runtime&&this.pointerEventState.isPressed&&!this.pointerEventState.isDragging){let l=this.runtime.viewerToWorld(this.pointerEventState.mouseDownStart.x-this.bounds.left,this.pointerEventState.mouseDownStart.y-this.bounds.top);this.pointerEventState.isDragging=!0,this.pointerEventState.itemsBeingDragged=this.runtime.world.propagatePointerEvent("onDragStart",a,l.x,l.y)}},800),this.onPointerEvent(a))}),P(this,"onPointerUp",a=>{if(a.button!==2){if(this.pointerEventState.isClicking){let{x:l,y:u}=this.runtime.viewerToWorld(a.clientX-this.bounds.left,a.clientY-this.bounds.top);this.assignToEvent(a,l,u),this.runtime.world.propagatePointerEvent("onClick",a,l,u)}if(this.pointerEventState.isDragging){for(let l of this.pointerEventState.itemsBeingDragged)l.dispatchEvent("onDragEnd",a);this.pointerEventState.isDragging=!1}this.pointerEventState.isClicking=!1,this.pointerEventState.isPressed=!1,this.pointerEventState.itemsBeingDragged=[],this.onPointerEvent(a)}}),P(this,"onPointerMove",a=>{this.pointerMoveEvent=void 0;let{x:l,y:u}=this.runtime.viewerToWorld(a.clientX-this.bounds.left,a.clientY-this.bounds.top);if(Number.isNaN(l)||Number.isNaN(u))return;this.assignToEvent(a,l,u),this.runtime.world.propagatePointerEvent("onPointerMove",a,l,u);let f=this.runtime.world.propagatePointerEvent("onMouseMove",a,l,u),h=[],c=[];for(let m of f)h.push(m.id),c.push(m),this.pointerEventState.mousedOver.indexOf(m)===-1&&(m.dispatchEvent("onMouseEnter",a),m.dispatchEvent("onPointerEnter",a),m.dispatchEvent("onMouseOver",a),m.dispatchEvent("onPointerOver",a));for(let m of this.pointerEventState.mousedOver)h.indexOf(m.id)===-1&&(m.dispatchEvent("onMouseLeave",a),m.dispatchEvent("onPointerLeave",a),m.dispatchEvent("onMouseOut",a),m.dispatchEvent("onPointerOut",a));if(this.pointerEventState.isDragging)for(let m of this.pointerEventState.itemsBeingDragged)m.dispatchEvent("onDrag",a);if(this.pointerEventState.isPressed&&!this.pointerEventState.isDragging&&dd(this.pointerEventState.mouseDownStart,{x:a.clientX,y:a.clientY})>50){let m=this.runtime.viewerToWorld(this.pointerEventState.mouseDownStart.x-this.bounds.left,this.pointerEventState.mouseDownStart.y-this.bounds.top);this.pointerEventState.isDragging=!0,this.pointerEventState.itemsBeingDragged=this.runtime.world.propagatePointerEvent("onDragStart",{...a,atlas:{x:m.x,y:m.y}},m.x,m.y)}this.pointerEventState.mousedOver=c}),this.element=t,this.runtime=n,this.unsubscribe=n.world.addLayoutSubscriber(this.layoutSubscriber.bind(this)),this.bounds=t.getBoundingClientRect(),this.listening=!1,this.options={simulationRate:0,...i||{}};let r=0;n.registerHook("useFrame",a=>{r+=a,r>this.options.simulationRate&&this.pointerMoveEvent&&(r=0,n.updateNextFrame())}),n.registerHook("useBeforeFrame",()=>{this.pointerMoveEvent&&this.onPointerMove(this.pointerMoveEvent)}),this.activateEvents()}updateBounds(){this.bounds=this.element.getBoundingClientRect(),this.runtime.updateRendererScreenPosition()}layoutSubscriber(t){t==="event-activation"&&this.listening==!1&&this.activateEvents()}assignToEvent(t,n,i){cd.eventPool.atlas.x=n,cd.eventPool.atlas.y=i,t.atlas=cd.eventPool.atlas}activateEvents(){this.listening=!0,this.element.addEventListener("pointermove",this._realPointerMove),this.element.addEventListener("pointerup",this.onPointerUp),this.element.addEventListener("pointerdown",this.onPointerDown),this.element.addEventListener("mousedown",this.onPointerEvent),this.element.addEventListener("mouseup",this.onPointerEvent),this.element.addEventListener("pointercancel",this.onPointerEvent),this.element.addEventListener("wheel",this.onWheelEvent),this.element.addEventListener("contextmenu",this.onContextMenu),this.element.addEventListener("touchstart",this.onTouchEvent),this.element.addEventListener("touchcancel",this.onTouchEvent),this.element.addEventListener("touchend",this.onTouchEvent),this.element.addEventListener("touchmove",this.onTouchEvent)}normalizeEventName(t){return t.startsWith("on")?t.slice(2).toLowerCase():t.toLowerCase()}stop(){this.listening=!1,this.element.removeEventListener("pointermove",this._realPointerMove),this.element.removeEventListener("pointerup",this.onPointerUp),this.element.removeEventListener("pointerdown",this.onPointerDown),this.element.removeEventListener("mousedown",this.onPointerEvent),this.element.removeEventListener("mouseup",this.onPointerEvent),this.element.removeEventListener("pointercancel",this.onPointerEvent),this.element.removeEventListener("wheel",this.onWheelEvent),this.element.removeEventListener("touchstart",this.onTouchEvent),this.element.removeEventListener("touchcancel",this.onTouchEvent),this.element.removeEventListener("touchend",this.onTouchEvent),this.element.removeEventListener("touchmove",this.onTouchEvent),this.unsubscribe();for(let[t,n]of this.eventHandlers)this.element.removeEventListener(this.normalizeEventName(t),n)}};P(E1,"eventPool",{atlas:{x:0,y:0}});var I1=E1;function C1({interactive:e=!0,viewport:t,forceRefresh:n,canvasElement:i,overlayElement:r,controllerConfig:a,unstable_webglRenderer:l,dpi:u,debug:f,canvasBox:h=!0,polygon:c=!0,navigatorElement:m,runtimeOptions:v}){if(!i)throw new Error("Invalid container");i.style.userSelect="none";let w=e?m1({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:i,...a||{}}):void 0,y=new h1([l?new QT(i,{dpi:u}):new LT(i,{dpi:u,debug:f,box:h,polygon:c}),r?new R1(r,{box:l||!h,text:!0,triggerResize:n}):void 0,m?new FT(m):void 0]),S=new vd(y,new yd(1024,1024),t,w?[w]:[],v),E=new I1(i,S);return{name:"default-preset",em:E,runtime:S,renderer:y,controller:w,canvas:i,navigator:m,unmount(){ng(S),S.stopControllers(),S.stop(),S.reset(),E&&E.stop()}}}var Fr=1+Number.MIN_VALUE,YT=class{constructor(e,t){P(this,"container"),P(this,"width"),P(this,"height"),P(this,"pending",!0),P(this,"options"),P(this,"stylesheet"),P(this,"zIndex",0),P(this,"lastKnownScale",1),P(this,"rendererPosition"),P(this,"currentlyVisible",[]),P(this,"previouslyVisible",[]),this.container=e,this.rendererPosition=e.getBoundingClientRect();let{width:n,height:i}=this.rendererPosition;this.width=n,this.height=i,this.options={addPart:!1,setDraggableFalse:!1,imageClass:"",widthStylesheet:!1,sheetPrefix:"position-",background:"#000",...t||{}},this.stylesheet=new b1({sheetPrefix:this.options.sheetPrefix}),this.container.classList.add(this.stylesheet.addStylesheet(`
53
+ `),interactive:this.stylesheet.addStylesheet("pointer-events: all"),nonInteractive:this.stylesheet.addStylesheet("pointer-events: none")},this.stylesheet.updateSheet()}createHtmlHost(e){if(this.htmlContainer&&(this.options.box||e.props.className||e.props.html||e.props.href)){let t=document.createElement(e.props.href?"a":"div");if(e.props.href){t.style.display="block",t.href=e.props.href;let n=e.props.hrefTarget||"_blank";t.target=n,n!=="_self"&&(t.rel="noopener noreferrer")}t.title=e.props.title||"",this.options.inlineStyles?(t.style.display="block",t.style.position="absolute",t.style.overflow="hidden",t.style.transformOrigin="0px 0px"):t.classList.add(this.classes.hostClassName),e.__host={element:t,revision:null,relative:!1},this.updateHtmlHost(e,e.width,e.height),e.__onCreate&&e.__onCreate()}}triggerResize(){this.options.triggerResize()}updateHtmlHost(e,t,n){if(e.__revision!==e.__host.revision){let i=e.__host.element,r=[this.classes.hostClassName];if(e.props.interactive?this.options.inlineStyles?i.style.pointerEvents="all":r.push(this.classes.interactive):this.options.inlineStyles?i.style.pointerEvents="none":r.push(this.classes.nonInteractive),e.props.href){i.style.display="block",i.href=e.props.href;let l=e.props.hrefTarget||"_blank";i.target=l,l!=="_self"?i.rel="noopener noreferrer":i.rel=""}else i.href&&i.removeAttribute("href");if(e.props.title&&(i.title=e.props.title||""),e.props.className&&(r.push(e.props.className),e.hovering&&r.push(`${e.props.className}--hover`),e.pressing&&r.push(`${e.props.className}--active`)),e.props.relativeStyle?(i.style.width=`${t||e.width}px`,i.style.height=`${n||e.height}px`):(i.style.width=`${e.width}px`,i.style.height=`${e.height}px`),e.props.style){Object.assign(i.style,e.props.style||{},e.hovering?e.props.hoverStyles||{}:{},e.pressing?e.props.pressStyles||{}:{});return}if(this.options.text&&e instanceof cd){e.text&&(i.innerText=e.text),e.backgroundColor&&(i.style.backgroundColor=e.backgroundColor),e.color&&(i.style.color=e.color),e.props.font&&(i.style.font=e.props.font),e.props.textAlign&&(i.style.textAlign=e.props.textAlign),e.__host.revision=e.__revision;let l=r.join(" ");i.className=l,i.part=l}e instanceof il&&(this.options.box||e.props.className||e.props.html)&&(e.props.backgroundColor&&(i.style.backgroundColor=e.props.backgroundColor),e.props.border!==i.style.border&&(i.style.border=e.props.border));let s=r.join(" ");i.className=s,i.part=s}}afterFrame(e,t,n){this.stylesheet.updateSheet();for(let i of this.previousVisible)this.visible.indexOf(i)===-1&&this.htmlContainer&&i.__id&&this.htmlIds.indexOf(i.__id)!==-1&&this.htmlContainer.removeChild(i.__host.element);this.previousVisible=this.visible}afterPaintLayer(e,t){}beforeFrame(e,t,n){this.stylesheet.clearClasses(),this.paintTx++,this.zIndex=0,this.visible=[]}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}getScale(e,t){let n=this.rendererPosition.width/e,i=this.rendererPosition.height/t;return n<i?i:n}getViewportBounds(e,t,n){return null}isReady(){return!1}paint(e,t,n,i,r,s){if(this.zIndex++,(this.options.text&&e instanceof cd||e instanceof il&&(this.options.box||e.props.className||e.props.html))&&e.__host.tx!==this.paintTx&&(this.visible.push(e),e.__host.tx=this.paintTx,this.htmlContainer)){this.updateHtmlHost(e,r,s);let l=r/e.width,u=e.__host.element;u.style.zIndex=`${this.zIndex}`,e.props.relativeStyle?u.style.transform=`translate(${Math.round(n)}px, ${Math.round(i)}px)`:u.style.transform=`translate(${Math.round(n)}px, ${Math.round(i)}px) scale(${l})`,this.previousVisible.indexOf(e)===-1&&this.htmlContainer.appendChild(u),this.htmlIds.indexOf(e.__id)===-1&&this.htmlIds.push(e.__id)}}pendingUpdate(){return!1}prepareLayer(e){e.__host||(e instanceof cd||e instanceof il)&&this.createHtmlHost(e)}resize(e,t){typeof e<"u"&&typeof t<"u"&&(this.htmlContainer.style.width=`${e}px`,this.htmlContainer.style.height=`${t}px`),this.rendererPosition=this.htmlContainer.getBoundingClientRect()}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){}reset(){}},C1=class dd{constructor(t,n,i){P(this,"element"),P(this,"runtime"),P(this,"unsubscribe"),P(this,"activatedEvents",[]),P(this,"eventHandlers",[]),P(this,"bounds"),P(this,"listening"),P(this,"pointerMoveEvent"),P(this,"pointerEventState",{isClicking:!1,isDragging:!1,isPressed:!1,mousedOver:[],itemsBeingDragged:[],mouseDownStart:{x:0,y:0},lastTouches:[]}),P(this,"options"),P(this,"_realPointerMove",s=>{this.pointerMoveEvent=s}),P(this,"onWheelEvent",s=>{s.preventDefault(),this.onPointerEvent(s)}),P(this,"onContextMenu",s=>{s.preventDefault();let l="onContextMenu";if(this.runtime.world.activatedEvents.indexOf(l)!==-1){let{x:u,y:f}=this.runtime.viewerToWorld(s.clientX-this.bounds.left,s.clientY-this.bounds.top);this.assignToEvent(s,u,f),this.runtime.world.propagatePointerEvent(l,s,u,f)}}),P(this,"onTouchEvent",s=>{let l=Ds[s.type],u=[],f=s.touches.length;for(let p=0;p<f;p++){let c=s.touches.item(p);if(!c)continue;let{x:m,y}=this.runtime.viewerToWorld(c.clientX-this.bounds.left,c.clientY-this.bounds.top),w={id:c.identifier,x:m,y};u.push(w)}u.length&&this.assignToEvent(s,u[0].x,u[0].y),l!=="onTouchEnd"?(this.pointerEventState.lastTouches=u,s.atlasTouches=u,this.runtime.world.propagateTouchEvent(l,s,u)):(s.atlasTouches=[],this.runtime.world.propagateTouchEvent(l,s,this.pointerEventState.lastTouches),this.pointerEventState.lastTouches=[])}),P(this,"onPointerEvent",s=>{if(s.button===2)return;let l=Ds[s.type];if(l&&this.runtime.world.activatedEvents.indexOf(l)!==-1){let{x:u,y:f}=this.runtime.viewerToWorld(s.clientX-this.bounds.left,s.clientY-this.bounds.top);this.assignToEvent(s,u,f),this.runtime.world.propagatePointerEvent(l,s,u,f)}}),P(this,"onPointerDown",s=>{s.button!==2&&(this.pointerEventState.isPressed=!0,this.pointerEventState.isClicking=!0,this.pointerEventState.mouseDownStart.x=s.clientX,this.pointerEventState.mouseDownStart.y=s.clientY,setTimeout(()=>{this.runtime&&(this.pointerEventState.isClicking=!1)},250),setTimeout(()=>{if(this.runtime&&this.pointerEventState.isPressed&&!this.pointerEventState.isDragging){let l=this.runtime.viewerToWorld(this.pointerEventState.mouseDownStart.x-this.bounds.left,this.pointerEventState.mouseDownStart.y-this.bounds.top);this.pointerEventState.isDragging=!0,this.pointerEventState.itemsBeingDragged=this.runtime.world.propagatePointerEvent("onDragStart",s,l.x,l.y)}},800),this.onPointerEvent(s))}),P(this,"onPointerUp",s=>{if(s.button!==2){if(this.pointerEventState.isClicking){let{x:l,y:u}=this.runtime.viewerToWorld(s.clientX-this.bounds.left,s.clientY-this.bounds.top);this.assignToEvent(s,l,u),this.runtime.world.propagatePointerEvent("onClick",s,l,u)}if(this.pointerEventState.isDragging){for(let l of this.pointerEventState.itemsBeingDragged)l.dispatchEvent("onDragEnd",s);this.pointerEventState.isDragging=!1}this.pointerEventState.isClicking=!1,this.pointerEventState.isPressed=!1,this.pointerEventState.itemsBeingDragged=[],this.onPointerEvent(s)}}),P(this,"onPointerMove",s=>{this.pointerMoveEvent=void 0;let{x:l,y:u}=this.runtime.viewerToWorld(s.clientX-this.bounds.left,s.clientY-this.bounds.top);if(Number.isNaN(l)||Number.isNaN(u))return;this.assignToEvent(s,l,u),this.runtime.world.propagatePointerEvent("onPointerMove",s,l,u);let f=this.runtime.world.propagatePointerEvent("onMouseMove",s,l,u),p=[],c=[];for(let m of f)p.push(m.id),c.push(m),this.pointerEventState.mousedOver.indexOf(m)===-1&&(m.dispatchEvent("onMouseEnter",s),m.dispatchEvent("onPointerEnter",s),m.dispatchEvent("onMouseOver",s),m.dispatchEvent("onPointerOver",s));for(let m of this.pointerEventState.mousedOver)p.indexOf(m.id)===-1&&(m.dispatchEvent("onMouseLeave",s),m.dispatchEvent("onPointerLeave",s),m.dispatchEvent("onMouseOut",s),m.dispatchEvent("onPointerOut",s));if(this.pointerEventState.isDragging)for(let m of this.pointerEventState.itemsBeingDragged)m.dispatchEvent("onDrag",s);if(this.pointerEventState.isPressed&&!this.pointerEventState.isDragging&&fd(this.pointerEventState.mouseDownStart,{x:s.clientX,y:s.clientY})>50){let m=this.runtime.viewerToWorld(this.pointerEventState.mouseDownStart.x-this.bounds.left,this.pointerEventState.mouseDownStart.y-this.bounds.top);this.pointerEventState.isDragging=!0,this.pointerEventState.itemsBeingDragged=this.runtime.world.propagatePointerEvent("onDragStart",{...s,atlas:{x:m.x,y:m.y}},m.x,m.y)}this.pointerEventState.mousedOver=c}),this.element=t,this.runtime=n,this.unsubscribe=n.world.addLayoutSubscriber(this.layoutSubscriber.bind(this)),this.bounds=t.getBoundingClientRect(),this.listening=!1,this.options={simulationRate:0,...i||{}};let r=0;n.registerHook("useFrame",s=>{r+=s,r>this.options.simulationRate&&this.pointerMoveEvent&&(r=0,n.updateNextFrame())}),n.registerHook("useBeforeFrame",()=>{this.pointerMoveEvent&&this.onPointerMove(this.pointerMoveEvent)}),this.activateEvents()}updateBounds(){this.bounds=this.element.getBoundingClientRect(),this.runtime.updateRendererScreenPosition()}layoutSubscriber(t){t==="event-activation"&&this.listening==!1&&this.activateEvents()}assignToEvent(t,n,i){dd.eventPool.atlas.x=n,dd.eventPool.atlas.y=i,t.atlas=dd.eventPool.atlas}activateEvents(){this.listening=!0,this.element.addEventListener("pointermove",this._realPointerMove),this.element.addEventListener("pointerup",this.onPointerUp),this.element.addEventListener("pointerdown",this.onPointerDown),this.element.addEventListener("mousedown",this.onPointerEvent),this.element.addEventListener("mouseup",this.onPointerEvent),this.element.addEventListener("pointercancel",this.onPointerEvent),this.element.addEventListener("wheel",this.onWheelEvent),this.element.addEventListener("contextmenu",this.onContextMenu),this.element.addEventListener("touchstart",this.onTouchEvent),this.element.addEventListener("touchcancel",this.onTouchEvent),this.element.addEventListener("touchend",this.onTouchEvent),this.element.addEventListener("touchmove",this.onTouchEvent)}normalizeEventName(t){return t.startsWith("on")?t.slice(2).toLowerCase():t.toLowerCase()}stop(){this.listening=!1,this.element.removeEventListener("pointermove",this._realPointerMove),this.element.removeEventListener("pointerup",this.onPointerUp),this.element.removeEventListener("pointerdown",this.onPointerDown),this.element.removeEventListener("mousedown",this.onPointerEvent),this.element.removeEventListener("mouseup",this.onPointerEvent),this.element.removeEventListener("pointercancel",this.onPointerEvent),this.element.removeEventListener("wheel",this.onWheelEvent),this.element.removeEventListener("touchstart",this.onTouchEvent),this.element.removeEventListener("touchcancel",this.onTouchEvent),this.element.removeEventListener("touchend",this.onTouchEvent),this.element.removeEventListener("touchmove",this.onTouchEvent),this.unsubscribe();for(let[t,n]of this.eventHandlers)this.element.removeEventListener(this.normalizeEventName(t),n)}};P(C1,"eventPool",{atlas:{x:0,y:0}});var P1=C1;function A1({interactive:e=!0,viewport:t,forceRefresh:n,canvasElement:i,overlayElement:r,controllerConfig:s,unstable_webglRenderer:l,dpi:u,debug:f,canvasBox:p=!0,polygon:c=!0,navigatorElement:m,runtimeOptions:y}){if(!i)throw new Error("Invalid container");i.style.userSelect="none";let w=e?y1({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:i,...s||{}}):void 0,v=new m1([l?new QT(i,{dpi:u}):new LT(i,{dpi:u,debug:f,box:p,polygon:c}),r?new I1(r,{box:l||!p,text:!0,triggerResize:n}):void 0,m?new FT(m):void 0]),S=new xd(v,new vd(1024,1024),t,w?[w]:[],y),E=new P1(i,S);return{name:"default-preset",em:E,runtime:S,renderer:v,controller:w,canvas:i,navigator:m,unmount(){rg(S),S.stopControllers(),S.stop(),S.reset(),E&&E.stop()}}}var Fr=1+Number.MIN_VALUE,YT=class{constructor(e,t){P(this,"container"),P(this,"width"),P(this,"height"),P(this,"pending",!0),P(this,"options"),P(this,"stylesheet"),P(this,"zIndex",0),P(this,"lastKnownScale",1),P(this,"rendererPosition"),P(this,"currentlyVisible",[]),P(this,"previouslyVisible",[]),this.container=e,this.rendererPosition=e.getBoundingClientRect();let{width:n,height:i}=this.rendererPosition;this.width=n,this.height=i,this.options={addPart:!1,setDraggableFalse:!1,imageClass:"",widthStylesheet:!1,sheetPrefix:"position-",background:"#000",...t||{}},this.stylesheet=new E1({sheetPrefix:this.options.sheetPrefix}),this.container.classList.add(this.stylesheet.addStylesheet(`
54
54
  background: ${this.options.background};
55
- `)),this.options.widthStylesheet&&this.container.appendChild(this.stylesheet.getElement())}isReady(){return!0}resize(){this.rendererPosition=this.container.getBoundingClientRect(),this.width=this.rendererPosition.width,this.height=this.rendererPosition.height}getRendererScreenPosition(){return this.rendererPosition}afterFrame(e,t,n){this.stylesheet.updateSheet();for(let i of this.previouslyVisible)this.currentlyVisible.indexOf(i)===-1&&this.container.removeChild(i);for(let i of this.currentlyVisible)this.previouslyVisible.indexOf(i)===-1&&this.container.appendChild(i);this.previouslyVisible=this.currentlyVisible,this.currentlyVisible=[]}afterPaintLayer(e,t){}beforeFrame(e,t,n){this.stylesheet.clearClasses(),this.zIndex=0}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}getScale(e,t){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let n=this.width/e,i=this.height/t,r=n<i?i:n;return Number.isNaN(r)||(this.lastKnownScale=r),this.lastKnownScale}getViewportBounds(e,t,n){return null}createImage(){let e=document.createElement("img");return this.options.imageClass?(e.className=this.options.imageClass,this.options.addPart&&e.setAttribute("part",this.options.imageClass)):(e.style.position="absolute",e.style.pointerEvents="none",e.style.userSelect="none"),this.options.setDraggableFalse&&e.setAttribute("draggable","false"),e}paint(e,t,n,i,r,a){if(this.pending=!1,this.zIndex++,e instanceof zr){if(!e.__host){let u=this.createImage();u.src=e.uri,e.__host=u,this.container.appendChild(e.__host)}let l=e.__host;this.currentlyVisible.push(l),l.style.zIndex=`${this.zIndex}`,l.style.opacity=`${e.style.opacity}`,this.options.widthStylesheet?l.className=this.options.imageClass+" "+this.stylesheet.addStylesheet(`width:${(r+Fr).toFixed(2)}px;height:${(a+Fr).toFixed(2)}px;`):(l.style.width=`${r+Fr}px`,l.style.height=`${a+Fr}px`),l.style.transform=`translate(${n}px, ${i}px)`}if(e instanceof sl){if(e.__host||(e.__host={images:[]}),!e.__host.images[t]){let u=e.getImageUrl(t),f=this.createImage();f.src=u,e.__host.images[t]=f,this.container.appendChild(f)}let l=e.__host.images[t];l.style.zIndex=`${this.zIndex}`,l.style.opacity=`${e.style.opacity}`,this.currentlyVisible.push(l),this.options.widthStylesheet?l.className=this.options.imageClass+" "+this.stylesheet.addStylesheet(`width:${(r+Fr).toFixed(2)}px;height:${(a+Fr).toFixed(2)}px;`):(l.style.width=`${r+Fr}px`,l.style.height=`${a+Fr}px`),l.style.transform=`translate(${n}px, ${i}px)`}}pendingUpdate(){return this.pending}prepareLayer(e){}finishLayer(e){}reset(){}};function KT({interactive:e,viewport:t,forceRefresh:n,containerElement:i,overlayElement:r,controllerConfig:a}){if(!i)throw new Error("Invalid container");i.style.userSelect="none";let l=e?m1({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:i,...a||{}}):void 0,u=new YT(i,{addPart:!1,setDraggableFalse:!1,imageClass:"atlas-static-image"}),f=r?new h1([u,new R1(r,{box:!0,text:!0,triggerResize:n})]):u,h=new vd(f,new yd(1024,1024),t,l?[l]:[]),c=new I1(i,h);return{name:"static-preset",em:c,runtime:h,renderer:f,controller:l,container:i,overlay:r,unmount(){ng(h),h.stopControllers(),h.stop(),c&&c.stop()}}}var XT={"default-preset":C1,"static-preset":KT},ZT={};function JT(e,t){let n=(0,ri.useRef)(),i=(0,ri.useRef)(),r=(0,ri.useRef)(),a=(0,ri.useRef)(),l=(0,ri.useRef)({width:t.width,height:t.height,didUpdate:!0}),[u="default-preset",f=ZT]=Array.isArray(e)?e||[]:[e],[h,c]=(0,ri.useState)(null);(0,ri.useLayoutEffect)(()=>{let v=i.current,w=a.current,y=n.current,S=r.current,E=(XT[u]||C1)({containerElement:w,canvasElement:v,overlayElement:y,navigatorElement:S,viewport:l.current,dpi:window.devicePixelRatio||1,forceRefresh:t.forceRefresh,unstable_webglRenderer:t.unstable_webglRenderer,...f||{}});return c(E),()=>{E&&(E.unmount(),v&&(v.height=0,v.width=0),y&&(y.innerHTML=""),S&&(S.height=0,S.width=0))}},[u,f]);let m=(0,ri.useMemo)(()=>({canvas:i,overlay:n,container:a,navigator:r}),[]);return[u,h,l,m]}function eM(e){return(0,P1.useMemo)(()=>Xm(e),e)}var tl=A1.default.forwardRef((e,t)=>(0,T1.jsx)("div",{...e,ref:t,part:e.className})),s1=["brightness","contrast","grayscale","hueRotate","invert","saturate","sepia","blur"],tM=({htmlChildren:e,renderPreset:t,onCreated:n,mode:i="explore",resetWorldOnChange:r=!0,unstable_webglRenderer:a=!1,unstable_noReconciler:l=!1,hideInlineStyle:u=!1,controllerConfig:f,children:h,overlayStyle:c,containerStyle:m,enableNavigator:v,className:w,containerProps:y={},homePosition:S,homeOnResize:E,homeCover:R,background:b,runtimeOptions:I,debug:M,filters:T,..._})=>{let[U,H]=(0,mt.useState)(i),[Z,B]=(0,mt.useState)(!1),G=(0,mt.useRef)(!1),K=(0,mt.useMemo)(()=>(typeof t=="string"&&(t=[t,{}]),M?t?[t[0],{debug:M,...t[1]||{}}]:["default-preset",{debug:M}]:t||"default-preset"),[t,M]),[ce,J,te]=Bc({scroll:!0}),oe=(0,mt.useRef)(),Re=fe=>{oe.current=fe,ce(fe)},[de,N,re,Le]=JT(K,{width:_.width,height:_.height,forceRefresh:te,unstable_webglRenderer:a}),[je,Ge]=(0,mt.useState)("");(0,mt.useEffect)(()=>{H(i)},[i]),(0,mt.useEffect)(()=>{N&&N.em&&N.em.updateBounds()},[N,J]),(0,mt.useEffect)(()=>{N?.runtime.setOptions(I||{})},[I]),(0,mt.useEffect)(()=>{N&&N.runtime&&(N.runtime.mode=U),Z&&N&&(N.ready=!0)},[N,Z,U]),(0,mt.useEffect)(()=>{N&&(R||(N.runtime.manualHomePosition=!!S,N.runtime.setHomePosition(S)))},[N,R,S]),(0,mt.useEffect)(()=>{if(N){let fe=N.runtime;fe.resize(re.current.width,_.width,re.current.height,_.height),re.current.width=_.width,re.current.height=_.height,fe.updateNextFrame(),re.current.didUpdate=!0}},[N,_.width,_.height]),(0,mt.useEffect)(()=>{if(T&&N){let fe=N.runtime,ae=!1;fe.hookOptions.enableFilters=!0;for(let De of s1)T[De]?T[De]!==N.runtime.hookOptions.filters[De]&&(fe.hookOptions.filters[De]=T[De],ae=!0):fe.hookOptions.filters[De]&&(fe.hookOptions.filters[De]=0,ae=!0);ae&&fe.updateNextFrame()}else if(N){let fe=N.runtime;for(let ae of s1)fe.hookOptions.filters[ae]=0;fe.hookOptions.enableFilters=!1,fe.updateNextFrame()}},[N,T]),ol(()=>{if(N&&(N.overlay&&(N.overlay.style.width=`${J.width}px`,N.overlay.style.height=`${J.height}px`),N.container&&(N.container.style.width=`${J.width}px`,N.container.style.height=`${J.height}px`),R)){let fe=N.runtime.world.width,ae=N.runtime.world.height,De=fe/ae,Rt=re.current.width,li=re.current.height,un=Rt/li;if(De>un){un=li/Rt,N.runtime.manualHomePosition=!0;let Sn=(fe-ae/un)/2;R==="start"&&(Sn=0),R==="end"&&(Sn=fe-ae/un),N.runtime.setHomePosition({x:Sn,y:0,width:ae/un,height:ae})}else{let Sn=(ae-fe/un)/2;R==="start"&&(Sn=0),R==="end"&&(Sn=ae-fe/un),N.runtime.manualHomePosition=!0,N.runtime.setHomePosition({x:0,y:Sn,width:fe,height:fe/un})}E&&N.runtime.goHome({})}},[N,J.height,J.width,R]),ol(()=>{let fe=()=>{if(N){let ae=N.runtime;re.current.width!==_.width&&re.current.height!==_.height&&(ae.resize(re.current.width,_.width,re.current.height,_.height),re.current.width=_.width,re.current.height=_.height,ae.updateNextFrame(),re.current.didUpdate=!0)}};return window.addEventListener("resize",fe),()=>window.removeEventListener("resize",fe)},[N,_.height,_.width]);let $e={width:120},Qe=()=>{if(N&&N.navigator){let fe=N.runtime.world.height,ae=N.runtime.world.width,De=window.devicePixelRatio||1,Rt=$e.width,li=$e.width/ae*fe;N.navigator.width=Rt*De,N.navigator.height=li*De,N.navigator.style.width=Rt+"px",N.navigator.style.height=li+"px"}};ol(()=>{if(N){Qe();let fe=N.runtime;return fe.world.addLayoutSubscriber(ae=>{ae==="recalculate-world-size"&&(Qe(),fe.resize(re.current.width,_.width,re.current.height,_.height))})}return()=>{}},[N,_.width,_.height]);let Ze=(0,mt.useCallback)(function(fe){let ae=()=>{B(!0)};return(0,mt.useEffect)(()=>{if(N){N.runtime.goHome();let De=n&&n(N);return void(De&&De.then?De.then(ae):ae())}else throw new Error("Invalid configuration - no runtime found")},[]),fe.children},[N]);(0,mt.useEffect)(()=>{if(N){let fe=N.runtime;if(r)return fe.world.addLayoutSubscriber(ae=>{ae==="recalculate-world-size"&&fe.goHome()})}return()=>{}},[N,r]),(0,mt.useEffect)(()=>N?N.runtime.registerHook("useBeforeFrame",()=>{if(re.current.didUpdate&&N.canvas){let fe=window.devicePixelRatio||1,ae=re.current.width,De=re.current.height;N.canvas.width=ae*fe,N.canvas.height=De*fe,N.canvas.style.width=ae+"px",N.canvas.style.height=De+"px",N.canvas.getContext("2d")?.scale(fe,fe),N&&N.em&&N.em.updateBounds(),re.current.didUpdate=!1}}):()=>{},[N,r]),(0,mt.useEffect)(()=>{let fe=()=>{N&&(H("sketch"),Ge("mode-sketch")),window.removeEventListener("keyup",fe)},ae=De=>{if(De.code==="Space"&&N&&N.runtime.mode==="sketch"){let Rt=De.target?.tagName?.toLowerCase();if(Rt==="input"||Rt==="textarea"||De.target?.isContentEditable)return;De.preventDefault(),H("explore"),Ge("mode-explore"),window.addEventListener("keyup",fe)}};return window.addEventListener("keydown",ae),()=>{window.removeEventListener("keydown",ae),window.removeEventListener("keyup",fe)}},[N]),G.current=!0;let{height:Ct,width:xt,...xn}=_,Pt=eM([_.width,_.height]),Ne=!0;return K&&Array.isArray(K)&&K.length>1&&K[1].interactive===!1&&(Ne=!1),b=b??"#000",oe.current&&(b=getComputedStyle(oe.current).getPropertyValue("--atlas-background")||b),(0,pn.jsxs)(tl,{ref:Re,className:["atlas",u?"":`atlas-width-${Pt}`,je,w,`atlas-${de}`].filter(Boolean).join(" ").trim(),style:{...m,...u?{}:{width:_.width,height:_.height}},children:[de==="static-preset"?(0,pn.jsx)(tl,{className:"atlas-static-container",ref:Le.container,tabIndex:0,...y}):(0,pn.jsx)("canvas",{className:"atlas-canvas",part:"atlas-canvas",tabIndex:0,...xn,...y,ref:Le.canvas,"data-background":b}),(0,pn.jsx)(tl,{className:["atlas-overlay",Ne?"atlas-overlay--interactive":""].filter(Boolean).join(" ").trim(),style:{...c||{}},ref:Le.overlay,children:l?(0,pn.jsx)(Ze,{children:(0,pn.jsx)(wd.Provider,{value:J,children:(0,pn.jsx)(zs.Provider,{value:U,children:(0,pn.jsx)(Sd.Provider,{value:N,children:h})})})}):(0,pn.jsx)($T,{bounds:J,preset:N,mode:U,setIsReady:B,onCreated:n,children:h})}),v?(0,pn.jsx)(tl,{className:"atlas-navigator",children:(0,pn.jsx)("canvas",{className:"atlas-navigator-canvas",part:"atlas-navigator-canvas",ref:Le.navigator})}):null,u?(0,pn.jsx)("style",{children:`.atlas-width-${Pt} { width: ${_.width}px; height: ${_.height}px; }`}):(0,pn.jsx)("style",{children:`
55
+ `)),this.options.widthStylesheet&&this.container.appendChild(this.stylesheet.getElement())}isReady(){return!0}resize(){this.rendererPosition=this.container.getBoundingClientRect(),this.width=this.rendererPosition.width,this.height=this.rendererPosition.height}getRendererScreenPosition(){return this.rendererPosition}afterFrame(e,t,n){this.stylesheet.updateSheet();for(let i of this.previouslyVisible)this.currentlyVisible.indexOf(i)===-1&&this.container.removeChild(i);for(let i of this.currentlyVisible)this.previouslyVisible.indexOf(i)===-1&&this.container.appendChild(i);this.previouslyVisible=this.currentlyVisible,this.currentlyVisible=[]}afterPaintLayer(e,t){}beforeFrame(e,t,n){this.stylesheet.clearClasses(),this.zIndex=0}getPointsAt(e,t,n,i){return e.getPointsAt(t,n,i)}getScale(e,t){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let n=this.width/e,i=this.height/t,r=n<i?i:n;return Number.isNaN(r)||(this.lastKnownScale=r),this.lastKnownScale}getViewportBounds(e,t,n){return null}createImage(){let e=document.createElement("img");return this.options.imageClass?(e.className=this.options.imageClass,this.options.addPart&&e.setAttribute("part",this.options.imageClass)):(e.style.position="absolute",e.style.pointerEvents="none",e.style.userSelect="none"),this.options.setDraggableFalse&&e.setAttribute("draggable","false"),e}paint(e,t,n,i,r,s){if(this.pending=!1,this.zIndex++,e instanceof zr){if(!e.__host){let u=this.createImage();u.src=e.uri,e.__host=u,this.container.appendChild(e.__host)}let l=e.__host;this.currentlyVisible.push(l),l.style.zIndex=`${this.zIndex}`,l.style.opacity=`${e.style.opacity}`,this.options.widthStylesheet?l.className=this.options.imageClass+" "+this.stylesheet.addStylesheet(`width:${(r+Fr).toFixed(2)}px;height:${(s+Fr).toFixed(2)}px;`):(l.style.width=`${r+Fr}px`,l.style.height=`${s+Fr}px`),l.style.transform=`translate(${n}px, ${i}px)`}if(e instanceof al){if(e.__host||(e.__host={images:[]}),!e.__host.images[t]){let u=e.getImageUrl(t),f=this.createImage();f.src=u,e.__host.images[t]=f,this.container.appendChild(f)}let l=e.__host.images[t];l.style.zIndex=`${this.zIndex}`,l.style.opacity=`${e.style.opacity}`,this.currentlyVisible.push(l),this.options.widthStylesheet?l.className=this.options.imageClass+" "+this.stylesheet.addStylesheet(`width:${(r+Fr).toFixed(2)}px;height:${(s+Fr).toFixed(2)}px;`):(l.style.width=`${r+Fr}px`,l.style.height=`${s+Fr}px`),l.style.transform=`translate(${n}px, ${i}px)`}}pendingUpdate(){return this.pending}prepareLayer(e){}finishLayer(e){}reset(){}};function KT({interactive:e,viewport:t,forceRefresh:n,containerElement:i,overlayElement:r,controllerConfig:s}){if(!i)throw new Error("Invalid container");i.style.userSelect="none";let l=e?y1({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:i,...s||{}}):void 0,u=new YT(i,{addPart:!1,setDraggableFalse:!1,imageClass:"atlas-static-image"}),f=r?new m1([u,new I1(r,{box:!0,text:!0,triggerResize:n})]):u,p=new xd(f,new vd(1024,1024),t,l?[l]:[]),c=new P1(i,p);return{name:"static-preset",em:c,runtime:p,renderer:f,controller:l,container:i,overlay:r,unmount(){rg(p),p.stopControllers(),p.stop(),c&&c.stop()}}}var XT={"default-preset":A1,"static-preset":KT},ZT={};function JT(e,t){let n=(0,oi.useRef)(),i=(0,oi.useRef)(),r=(0,oi.useRef)(),s=(0,oi.useRef)(),l=(0,oi.useRef)({width:t.width,height:t.height,didUpdate:!0}),[u="default-preset",f=ZT]=Array.isArray(e)?e||[]:[e],[p,c]=(0,oi.useState)(null);(0,oi.useLayoutEffect)(()=>{let y=i.current,w=s.current,v=n.current,S=r.current,E=(XT[u]||A1)({containerElement:w,canvasElement:y,overlayElement:v,navigatorElement:S,viewport:l.current,dpi:window.devicePixelRatio||1,forceRefresh:t.forceRefresh,unstable_webglRenderer:t.unstable_webglRenderer,...f||{}});return c(E),()=>{E&&(E.unmount(),y&&(y.height=0,y.width=0),v&&(v.innerHTML=""),S&&(S.height=0,S.width=0))}},[u,f]);let m=(0,oi.useMemo)(()=>({canvas:i,overlay:n,container:s,navigator:r}),[]);return[u,p,l,m]}function eM(e){return(0,T1.useMemo)(()=>Jm(e),e)}var nl=M1.default.forwardRef((e,t)=>(0,_1.jsx)("div",{...e,ref:t,part:e.className})),l1=["brightness","contrast","grayscale","hueRotate","invert","saturate","sepia","blur"],tM=({htmlChildren:e,renderPreset:t,onCreated:n,mode:i="explore",resetWorldOnChange:r=!0,unstable_webglRenderer:s=!1,unstable_noReconciler:l=!1,hideInlineStyle:u=!1,controllerConfig:f,children:p,overlayStyle:c,containerStyle:m,enableNavigator:y,className:w,containerProps:v={},homePosition:S,homeOnResize:E,homeCover:R,background:b,runtimeOptions:I,debug:M,filters:T,..._})=>{let[U,H]=(0,mt.useState)(i),[Z,B]=(0,mt.useState)(!1),G=(0,mt.useRef)(!1),K=(0,mt.useMemo)(()=>(typeof t=="string"&&(t=[t,{}]),M?t?[t[0],{debug:M,...t[1]||{}}]:["default-preset",{debug:M}]:t||"default-preset"),[t,M]),[ce,J,te]=Vc({scroll:!0}),oe=(0,mt.useRef)(),Re=fe=>{oe.current=fe,ce(fe)},[de,N,re,Le]=JT(K,{width:_.width,height:_.height,forceRefresh:te,unstable_webglRenderer:s}),[je,Ge]=(0,mt.useState)("");(0,mt.useEffect)(()=>{H(i)},[i]),(0,mt.useEffect)(()=>{N&&N.em&&N.em.updateBounds()},[N,J]),(0,mt.useEffect)(()=>{N?.runtime.setOptions(I||{})},[I]),(0,mt.useEffect)(()=>{N&&N.runtime&&(N.runtime.mode=U),Z&&N&&(N.ready=!0)},[N,Z,U]),(0,mt.useEffect)(()=>{N&&(R||(N.runtime.manualHomePosition=!!S,N.runtime.setHomePosition(S)))},[N,R,S]),(0,mt.useEffect)(()=>{if(N){let fe=N.runtime;fe.resize(re.current.width,_.width,re.current.height,_.height),re.current.width=_.width,re.current.height=_.height,fe.updateNextFrame(),re.current.didUpdate=!0}},[N,_.width,_.height]),(0,mt.useEffect)(()=>{if(T&&N){let fe=N.runtime,ae=!1;fe.hookOptions.enableFilters=!0;for(let De of l1)T[De]?T[De]!==N.runtime.hookOptions.filters[De]&&(fe.hookOptions.filters[De]=T[De],ae=!0):fe.hookOptions.filters[De]&&(fe.hookOptions.filters[De]=0,ae=!0);ae&&fe.updateNextFrame()}else if(N){let fe=N.runtime;for(let ae of l1)fe.hookOptions.filters[ae]=0;fe.hookOptions.enableFilters=!1,fe.updateNextFrame()}},[N,T]),sl(()=>{if(N&&(N.overlay&&(N.overlay.style.width=`${J.width}px`,N.overlay.style.height=`${J.height}px`),N.container&&(N.container.style.width=`${J.width}px`,N.container.style.height=`${J.height}px`),R)){let fe=N.runtime.world.width,ae=N.runtime.world.height,De=fe/ae,Rt=re.current.width,ui=re.current.height,un=Rt/ui;if(De>un){un=ui/Rt,N.runtime.manualHomePosition=!0;let Sn=(fe-ae/un)/2;R==="start"&&(Sn=0),R==="end"&&(Sn=fe-ae/un),N.runtime.setHomePosition({x:Sn,y:0,width:ae/un,height:ae})}else{let Sn=(ae-fe/un)/2;R==="start"&&(Sn=0),R==="end"&&(Sn=ae-fe/un),N.runtime.manualHomePosition=!0,N.runtime.setHomePosition({x:0,y:Sn,width:fe,height:fe/un})}E&&N.runtime.goHome({})}},[N,J.height,J.width,R]),sl(()=>{let fe=()=>{if(N){let ae=N.runtime;re.current.width!==_.width&&re.current.height!==_.height&&(ae.resize(re.current.width,_.width,re.current.height,_.height),re.current.width=_.width,re.current.height=_.height,ae.updateNextFrame(),re.current.didUpdate=!0)}};return window.addEventListener("resize",fe),()=>window.removeEventListener("resize",fe)},[N,_.height,_.width]);let $e={width:120},Qe=()=>{if(N&&N.navigator){let fe=N.runtime.world.height,ae=N.runtime.world.width,De=window.devicePixelRatio||1,Rt=$e.width,ui=$e.width/ae*fe;N.navigator.width=Rt*De,N.navigator.height=ui*De,N.navigator.style.width=Rt+"px",N.navigator.style.height=ui+"px"}};sl(()=>{if(N){Qe();let fe=N.runtime;return fe.world.addLayoutSubscriber(ae=>{ae==="recalculate-world-size"&&(Qe(),fe.resize(re.current.width,_.width,re.current.height,_.height))})}return()=>{}},[N,_.width,_.height]);let Ze=(0,mt.useCallback)(function(fe){let ae=()=>{B(!0)};return(0,mt.useEffect)(()=>{if(N){N.runtime.goHome();let De=n&&n(N);return void(De&&De.then?De.then(ae):ae())}else throw new Error("Invalid configuration - no runtime found")},[]),fe.children},[N]);(0,mt.useEffect)(()=>{if(N){let fe=N.runtime;if(r)return fe.world.addLayoutSubscriber(ae=>{ae==="recalculate-world-size"&&fe.goHome()})}return()=>{}},[N,r]),(0,mt.useEffect)(()=>N?N.runtime.registerHook("useBeforeFrame",()=>{if(re.current.didUpdate&&N.canvas){let fe=window.devicePixelRatio||1,ae=re.current.width,De=re.current.height;N.canvas.width=ae*fe,N.canvas.height=De*fe,N.canvas.style.width=ae+"px",N.canvas.style.height=De+"px",N.canvas.getContext("2d")?.scale(fe,fe),N&&N.em&&N.em.updateBounds(),re.current.didUpdate=!1}}):()=>{},[N,r]),(0,mt.useEffect)(()=>{let fe=()=>{N&&(H("sketch"),Ge("mode-sketch")),window.removeEventListener("keyup",fe)},ae=De=>{if(De.code==="Space"&&N&&N.runtime.mode==="sketch"){let Rt=De.target?.tagName?.toLowerCase();if(Rt==="input"||Rt==="textarea"||De.target?.isContentEditable)return;De.preventDefault(),H("explore"),Ge("mode-explore"),window.addEventListener("keyup",fe)}};return window.addEventListener("keydown",ae),()=>{window.removeEventListener("keydown",ae),window.removeEventListener("keyup",fe)}},[N]),G.current=!0;let{height:Ct,width:xt,...xn}=_,Pt=eM([_.width,_.height]),Ne=!0;return K&&Array.isArray(K)&&K.length>1&&K[1].interactive===!1&&(Ne=!1),b=b??"#000",oe.current&&(b=getComputedStyle(oe.current).getPropertyValue("--atlas-background")||b),(0,pn.jsxs)(nl,{ref:Re,className:["atlas",u?"":`atlas-width-${Pt}`,je,w,`atlas-${de}`].filter(Boolean).join(" ").trim(),style:{...m,...u?{}:{width:_.width,height:_.height}},children:[de==="static-preset"?(0,pn.jsx)(nl,{className:"atlas-static-container",ref:Le.container,tabIndex:0,...v}):(0,pn.jsx)("canvas",{className:"atlas-canvas",part:"atlas-canvas",tabIndex:0,...xn,...v,ref:Le.canvas,"data-background":b}),(0,pn.jsx)(nl,{className:["atlas-overlay",Ne?"atlas-overlay--interactive":""].filter(Boolean).join(" ").trim(),style:{...c||{}},ref:Le.overlay,children:l?(0,pn.jsx)(Ze,{children:(0,pn.jsx)(bd.Provider,{value:J,children:(0,pn.jsx)(Bs.Provider,{value:U,children:(0,pn.jsx)(wd.Provider,{value:N,children:p})})})}):(0,pn.jsx)($T,{bounds:J,preset:N,mode:U,setIsReady:B,onCreated:n,children:p})}),y?(0,pn.jsx)(nl,{className:"atlas-navigator",children:(0,pn.jsx)("canvas",{className:"atlas-navigator-canvas",part:"atlas-navigator-canvas",ref:Le.navigator})}):null,u?(0,pn.jsx)("style",{children:`.atlas-width-${Pt} { width: ${_.width}px; height: ${_.height}px; }`}):(0,pn.jsx)("style",{children:`
56
56
  .atlas { position: relative; display: flex; background: ${b}; z-index: var(--atlas-z-index, 10); -webkit-touch-callout: none; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
57
57
  .atlas-width-${Pt} { width: ${_.width}px; height: ${_.height}px; }
58
58
  .atlas-canvas { flex: 1 1 0px; }
@@ -66,15 +66,15 @@ No matching component was found for:
66
66
  .atlas-static-image { position: absolute; user-select: none; transform-origin: 0px 0px; }
67
67
  .atlas-navigator { position: absolute; top: var(--atlas-navigator-top, 10px); right: var(--atlas-navigator-bottom, 10px); left: var(--atlas-navigator-left); bottom: var(--atlas-navigator-bottom); opacity: .8 }
68
68
  .atlas-navigator-canvas { width: 100%; }
69
- `}),e]})};function nM(e){return Number(e)==e?`${e}px`:e}var M1=({resizeHash:e,aspectRatio:t,containerProps:n={},...i})=>{let[r,a,l]=Bc(),{height:u,width:f,...h}=i;(0,Rd.useEffect)(()=>{l()},[f,u,e,l]);let c=(0,Rd.useMemo)(()=>t?{width:a.width,height:a.width*(1/t)}:a,[a,t]);return(0,al.jsxs)(tl,{ref:r,className:"atlas-container",...n,children:[c.width?(0,al.jsx)(tM,{width:c.width||100,height:c.height||100,...h,children:i.children}):null,i.hideInlineStyle?null:(0,al.jsx)("style",{children:`
69
+ `}),e]})};function nM(e){return Number(e)==e?`${e}px`:e}var O1=({resizeHash:e,aspectRatio:t,containerProps:n={},...i})=>{let[r,s,l]=Vc(),{height:u,width:f,...p}=i;(0,Ed.useEffect)(()=>{l()},[f,u,e,l]);let c=(0,Ed.useMemo)(()=>t?{width:s.width,height:s.width*(1/t)}:s,[s,t]);return(0,ll.jsxs)(nl,{ref:r,className:"atlas-container",...n,children:[c.width?(0,ll.jsx)(tM,{width:c.width||100,height:c.height||100,...p,children:i.children}):null,i.hideInlineStyle?null:(0,ll.jsx)("style",{children:`
70
70
  .atlas-container {
71
71
  display: var(--atlas-container-display, block);
72
72
  flex: var(--atlas-container-flex, none);
73
73
  width: var(--atlas-container-width, ${f?`${f}px`:"100%"});
74
74
  height: var(--atlas-container-height, ${nM(u||(t?c.height:512))})
75
75
  }
76
- `}),i.htmlChildren]})},Ed=()=>(0,_1.useContext)(Sd),Id=()=>{let e=Ed();return e?e.runtime:void 0};var k1=(e,t=[])=>{let n=Id();(0,O1.useEffect)(()=>n?n.registerHook("useFrame",e):()=>{},t)},Cd=()=>{let e=Ed();return e&&e.canvas?e.canvas:void 0};function rM(){return(0,L1.useContext)(wd)}async function oM(e,t,n){if(F1.version.startsWith("18.")){let i=await Promise.resolve().then(()=>A(Qw(),1)),r=i.default?i.default.createRoot:i.createRoot;n.current||(n.current=r(e)),n.current.render(t)}else if(typeof ReactDOM<"u"){let{render:i,unmountComponentAtNode:r}=ReactDOM;i(t,e),n.current={unmount(){r(e)}}}else{let i=await Promise.resolve().then(()=>A(Mo(),1)),r=i.default?i.default.render:i.render,a=i.default?i.default.unmountComponentAtNode:i.unmountComponentAtNode;r(t,e),n.current={unmount(){a(e)}}}}var oi=Hi.default.forwardRef(({children:e,...t},n)=>{let i=(0,Hi.useRef)(),r=Id(),a=(0,Hi.useRef)(0),l=(0,Hi.useRef)(),u=(0,Hi.useRef)();return k1(()=>{if(t.relative){let f=i.current;if(f&&r){let h=r.getScaleFactor();a.current!==h&&(a.current=h,f.style.transformOrigin="0 0",f.style.transform=`scale(${1/a.current})`,f.style.width=`${a.current*100}%`,f.style.height=`${a.current*100}%`,i.current&&l.current?.__owner.value?.rotation&&(f.style.transform=`scale(${1/a.current}) translate(50%, 50%) rotate(${l.current?.__owner.value?.rotation||0}deg) translate(-50%, -50%)`))}}},[t.relative]),(0,Hi.useLayoutEffect)(()=>{let f=l.current;n&&f&&(typeof n=="function"?n(f):n.current=f);async function h(){if(f&&f.__host){let c=t.relative?(0,Zm.jsx)("div",{ref:i,children:e}):e;await oM(f.__host.element,c,u)}}f&&f.__host?h():f&&(f.__onCreate=h)},[n,e,l,t.relative]),(0,Hi.useLayoutEffect)(()=>()=>{u.current&&setTimeout(()=>{u.current.unmount()},0)},[]),(0,Zm.jsx)("box",{html:!0,...t,ref:l})});oi.displayName="HTMLPortal";var a1=(e,t,n=[])=>{let i=Id(),r=i?i.world:void 0;(0,z1.useEffect)(()=>{if(i){let a=t,l=Ns[e];i.world.activatedEvents.push(l);let u=l.slice(2).toLowerCase();return i.world.addEventListener(u,a),()=>{i.world.removeEventListener(u,a)}}return()=>{}},[r,e,...n])};function l1(e,t){if(e===0)return[0,1];if(t===0)return[1,0];let n=Math.abs(e)/Math.abs(t);return[n,1-n]}function sM(){let e=(0,Pd.useRef)({ctrl:!1,shift:!1,alt:!1});return(0,Pd.useLayoutEffect)(()=>{function t(i){i.key==="Shift"&&(e.current.shift=!0),i.key==="Control"&&(e.current.ctrl=!0),i.key==="Alt"&&(e.current.alt=!0)}function n(i){i.key==="Shift"&&(e.current.shift=!1),i.key==="Control"&&(e.current.ctrl=!1),i.key==="Alt"&&(e.current.alt=!1)}return window.addEventListener("keydown",t),window.addEventListener("keyup",n),()=>{window.removeEventListener("keydown",t),window.removeEventListener("keyup",n)}},[]),e}var aM=(e,t)=>{let n=VT(),i=Id(),r=rM(),a=(0,Bt.useRef)(),l=(0,Bt.useRef)(null),u=(0,Bt.useRef)(),[f,h]=(0,Bt.useState)(!1),c=(0,Bt.useRef)(!1),m=(0,Bt.useRef)({north:0,south:0,east:0,west:0}),v=sM(),w=(0,Bt.useCallback)(b=>I=>{if(c.current=!0,h(!0),r&&i){let{top:M,left:T}=r,_=i.viewerToWorld(I.pageX-T,I.pageY-M);u.current={x:_.x,y:_.y},a.current=b}},[r,i]),y=(0,Bt.useMemo)(()=>e.width/e.height,[e.width,e.height]),S=(0,Bt.useCallback)(b=>{if(!Math.abs(b.north-b.south+(b.east-b.west)))return;let I=-b.west+b.east,M=-b.north+b.south,T=e.width+I,_=e.height+M;if(T/_>=y){let U=_*y,H=T-U,[Z,B]=l1(b.east,b.west);b.west=b.west+H*B,b.east=b.east-H*Z}else{let U=T/y,H=_-U,[Z,B]=l1(b.north,b.south);b.north=b.north+H*Z,b.south=b.south-H*B}},[e.width,e.height,y]);k1(()=>{u&&i&&i.updateNextFrame()}),(0,Bt.useEffect)(()=>{i&&i.updateNextFrame()},[i,f]);let E=(0,Bt.useCallback)(b=>{if(!i||!r||i.mode!=="sketch")return;let{top:I,left:M}=r,T=i.viewerToWorld(b.pageX-M,b.pageY-I),_=l.current,U=!e.maintainAspectRatio&&v.current.alt,H=!U&&v.current.shift&&a.current?.indexOf("-")!==-1;if((a.current==="translate"||a.current==="east"||a.current==="north-east"||a.current==="south-east")&&(m.current.east=T.x-(u.current?u.current.x:0),U&&(m.current.west=-m.current.east)),(a.current==="translate"||a.current==="west"||a.current==="north-west"||a.current==="south-west")&&(m.current.west=T.x-(u.current?u.current.x:0),U&&(m.current.east=-m.current.west)),(a.current==="translate"||a.current==="north"||a.current==="north-east"||a.current==="north-west")&&(m.current.north=T.y-(u.current?u.current.y:0),U&&(m.current.south=-m.current.north)),(a.current==="translate"||a.current==="south"||a.current==="south-west"||a.current==="south-east")&&(m.current.south=T.y-(u.current?u.current.y:0),U&&(m.current.north=-m.current.south)),(e.maintainAspectRatio||H)&&S(m.current),_){let Z=m.current.west,B=m.current.north,G=e.width+m.current.east,K=e.height+m.current.south;_.points[1]=Math.min(Z,G),_.points[2]=Math.min(B,K),_.points[3]=Math.max(Z,G),_.points[4]=Math.max(B,K),i.updateNextFrame()}},[i,e.width,e.height,e.maintainAspectRatio,r]);a1("mousemove",E,[e.width,e.height,r]),a1("pointermove",E,[e.width,e.height,r]);let R=(0,Bt.useRef)();return(0,Bt.useEffect)(()=>{R.current=()=>{if(c.current){let b=m.current.west,I=m.current.north,M=e.width+m.current.east,T=e.height+m.current.south,_=Math.min(b,M),U=Math.min(I,T),H=Math.max(b,M),Z=Math.max(I,T),B={x:(e.x||0)+_,y:(e.y||0)+U,width:H-_||1,height:Z-U||1};e.maintainAspectRatio,t(B),a.current=void 0,u.current=void 0,m.current.east=0,m.current.west=0,m.current.north=0,m.current.south=0,c.current=!1,h(!1)}}},[t,e.height,e.width,e.x,e.y]),(0,Bt.useEffect)(()=>{let b=()=>{R.current&&R.current()};return window.addEventListener("pointerup",b),window.addEventListener("touchend",b),()=>{window.removeEventListener("pointerup",b),window.removeEventListener("touchend",b)}},[]),{portalRef:l,mode:n,mouseEvent:w,onPointerMoveCallback:E,isEditing:f}};function lM({handleSize:e,resizable:t,onSave:n,children:i,maintainAspectRatio:r,disableCardinalControls:a,...l}){let u=typeof e>"u"?r?10:8:e,{portalRef:f,mode:h,mouseEvent:c,isEditing:m}=aM({x:l.x||0,y:l.y||0,width:l.width,height:l.height,maintainAspectRatio:r},n),v=(0,ji.useMemo)(()=>c("translate"),[c]),w=(0,ji.useMemo)(()=>c("east"),[c]),y=(0,ji.useMemo)(()=>c("west"),[c]),S=(0,ji.useMemo)(()=>c("south"),[c]),E=(0,ji.useMemo)(()=>c("north"),[c]),R=(0,ji.useMemo)(()=>c("south-east"),[c]),b=(0,ji.useMemo)(()=>c("south-west"),[c]),I=(0,ji.useMemo)(()=>c("north-east"),[c]),M=(0,ji.useMemo)(()=>c("north-west"),[c]),T=h==="sketch",_={zIndex:999,boxShadow:"0px 2px 3px 0 rgba(0,0,0,0.2)",border:"1px solid rgba(155,155,155,.7)",borderRadius:r||a?"50%":2,position:"absolute",background:"#fff",pointerEvents:m?"none":T?"initial":"none"};return(0,Mt.jsx)(Mt.Fragment,{children:(0,Mt.jsxs)("world-object",{...l,children:[i,T&&t?(0,Mt.jsx)(oi,{ref:f,target:{x:0,y:0,height:l.height,width:l.width},relative:!0,interactive:!1,children:T&&t?(0,Mt.jsxs)(Mt.Fragment,{children:[(0,Mt.jsx)("div",{onMouseDown:v,onTouchStart:v,style:{display:"block",width:"100%",height:"100%",position:"relative",border:"1px solid rgba(155,155,155, .7)",boxSizing:"border-box",pointerEvents:m?"none":T?"initial":"none"}}),r?null:(0,Mt.jsxs)(Mt.Fragment,{children:[(0,Mt.jsx)("div",{title:"east",onTouchStart:w,onMouseDown:w,style:{..._,cursor:"e-resize",height:u*2,width:u,right:0,top:"50%",opacity:a?0:1,transform:`translate(${u/2}px, -${u}px)`}}),(0,Mt.jsx)("div",{title:"west",onMouseDown:y,style:{..._,cursor:"w-resize",position:"absolute",height:u*2,width:u,left:0,top:"50%",opacity:a?0:1,transform:`translate(-${u/2}px, -${u}px)`}}),(0,Mt.jsx)("div",{title:"north",onMouseDown:E,style:{..._,cursor:"n-resize",position:"absolute",height:u,width:u*2,left:"50%",top:0,opacity:a?0:1,transform:`translate(-${u}px, -${u/2}px)`}}),(0,Mt.jsx)("div",{title:"south",onMouseDown:S,style:{..._,cursor:"s-resize",position:"absolute",height:u,width:u*2,left:"50%",bottom:0,opacity:a?0:1,transform:`translate(-${u}px, ${u/2}px)`}})]}),(0,Mt.jsx)("div",{title:"north-east",onMouseDown:I,style:{..._,cursor:"ne-resize",position:"absolute",height:u,width:u,right:0,top:0,transform:`translate(${u/2}px, -${u/2}px)`}}),(0,Mt.jsx)("div",{title:"south-east",onMouseDown:R,style:{..._,cursor:"se-resize",position:"absolute",height:u,width:u,bottom:0,right:0,transform:`translate(${u/2}px, ${u/2}px)`}}),(0,Mt.jsx)("div",{title:"south-west",onMouseDown:b,style:{..._,cursor:"sw-resize",position:"absolute",height:u,width:u,bottom:0,left:0,transform:`translate(-${u/2}px, ${u/2}px)`}}),(0,Mt.jsx)("div",{title:"north-west",onMouseDown:M,style:{..._,cursor:"nw-resize",position:"absolute",height:u,width:u,top:0,left:0,transform:`translate(-${u/2}px, -${u/2}px)`}})]}):null}):null]})})}function D1({interactive:e,region:t,onClick:n,onSave:i,maintainAspectRatio:r,disableCardinalControls:a,isEditing:l,rotation:u,style:f={backgroundColor:"rgba(0,0,0,.5)"}}){let h=(0,N1.useCallback)(c=>{i({id:t.id,x:t.x,y:t.y,height:t.height,width:t.width,...c})},[i,t.id,t.x,t.y,t.height,t.width]);return(0,Jm.jsx)(lM,{x:t.x,y:t.y,rotation:u,width:t.width,height:t.height,resizable:l,onSave:h,maintainAspectRatio:r,disableCardinalControls:a,children:(0,Jm.jsx)("box",{interactive:e,onContextMenu:c=>{c.preventDefault(),console.log("menu!")},onClick:c=>{c.preventDefault(),c.stopPropagation(),n(t)},target:{x:0,y:0,width:t.width,height:t.height},style:f})})}function H1(e,t){return e?t?{...e,...t||{},":hover":e[":hover"]?Object.assign(e[":hover"]||{},t[":hover"]||{}):t[":hover"],":active":e[":active"]?Object.assign(e[":active"]||{},t[":active"]||{}):t[":hover"]}:e:t}var rr=A(Q(),1);function Ri(e){return{all:e=e||new Map,on:function(t,n){var i=e.get(t);i?i.push(n):e.set(t,[n])},off:function(t,n){var i=e.get(t);i&&(n?i.splice(i.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var i=e.get(t);i&&i.slice().map(function(r){r(n)}),(i=e.get("*"))&&i.slice().map(function(r){r(t,n)})}}}var _o=A(Q(),1),W1=A(D(),1),pM=Ri(),Ad=(0,_o.createContext)(pM);function mM({children:e,emitter:t}){return(0,W1.jsx)(Ad.Provider,{value:t,children:e})}function rg(){return(0,_o.useContext)(Ad)}function Oo(e,t,n=[]){let i=(0,_o.useContext)(Ad);(0,_o.useEffect)(()=>{let r=a=>{t(a)};return i.on(e,r),()=>{i.off(e,r)}},[i,e,...n])}function gM(e){return{all:e=e||new Map,on:function(t,n){var i=e.get(t);i?i.push(n):e.set(t,[n])},off:function(t,n){var i=e.get(t);i&&(n?i.splice(i.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var i=e.get(t);i&&i.slice().map(function(r){r(n)}),(i=e.get("*"))&&i.slice().map(function(r){r(t,n)})}}}function yM(e,t,n){let[i,r]=e,[a,l]=t,[u,f]=n,h=u-a,c=f-l,m=Math.sqrt(h*h+c*c);if(m===0)return{distance:Math.sqrt((i-a)**2+(r-l)**2),closestPoint:[a,l]};let v=Math.max(0,Math.min(1,((i-a)*h+(r-l)*c)/(m*m))),w=a+v*h,y=l+v*c,S=[w,y];return{distance:Math.sqrt((i-w)**2+(r-y)**2),closestPoint:S}}function vM(e,t,n,i){let[r,a]=e,[l,u]=t,[f,h]=n,[c,m]=i,v=(r-l)*(h-m)-(a-u)*(f-c);if(Math.abs(v)<1e-10)return null;let w=((r-f)*(h-m)-(a-h)*(f-c))/v,y=-((r-l)*(a-h)-(a-u)*(r-f))/v;if(w>=0&&w<=1&&y>=0&&y<=1){let S=r+w*(l-r),E=a+w*(u-a);return[S,E]}return null}function xM(e,t,n){let i=n||t.snapThreshold||15,r=[],[a,l]=e,u=t.polygon.points,f=t.slowState.transitionIntentType==="move-point";if(t.slowState.snapToPoints)for(let h=0;h<u.length;h++){if(f&&t.selectedPoints.includes(h))continue;let c=u[h];if(c[0]===a&&c[1]===l)continue;let m=c[0]-a,v=c[1]-l,w=Math.sqrt(m*m+v*v);w<=i&&r.push({type:"point",point:[c[0],c[1]],source:{pointIndex:h,polygon:t.polygon},distance:w})}if(t.slowState.snapToLines)for(let h=0;h<u.length;h++){if(f&&t.selectedPoints.includes(h))continue;let c=(h+1)%u.length;if(h===c)continue;let m=u[h],v=u[c],{distance:w,closestPoint:y}=yM(e,m,v);w<=i&&r.push({type:"line",point:y,source:{lineIndex:h,polygon:t.polygon},distance:w})}if(t.slowState.snapToIntersections&&u.length>=4)for(let h=0;h<u.length;h++){if(f&&t.selectedPoints.includes(h))continue;let c=(h+1)%u.length,m=u[h],v=u[c];for(let w=h+2;w<u.length;w++){if(f&&t.selectedPoints.includes(w))continue;let y=(w+1)%u.length;if(w===c||y===h)continue;let S=u[w],E=u[y],R=vM(m,v,S,E);if(R){let[b,I]=R,M=Math.sqrt((a-b)**2+(l-I)**2);M<=i&&r.push({type:"intersection",point:R,source:{lineIndex:h,polygon:t.polygon},distance:M})}}}if(t.slowState.snapToParallel)for(let h=0;h<u.length;h++){if(f&&t.selectedPoints.includes(h))continue;let c=u[h],[m,v]=c,w=Math.abs(l-v);w<=i&&r.push({type:"parallel",point:[a,v],source:{pointIndex:h,polygon:t.polygon},distance:w});let y=Math.abs(a-m);y<=i&&r.push({type:"parallel",point:[m,l],source:{pointIndex:h,polygon:t.polygon},distance:y})}return r.sort((h,c)=>h.distance-c.distance)}function SM(e){return e.sort((t,n)=>{let i=t.type==="point"?0:t.type==="intersection"?1:t.type==="parallel"?2:3,r=n.type==="point"?0:n.type==="intersection"?1:n.type==="parallel"?2:3;return i!==r?i-r:t.distance-n.distance})}function wM(e,t){let n=[];for(let i of e)switch(i.type){case"point":n.push({type:"point",points:[i.point],target:i});break;case"line":if(i.source?.lineIndex!==void 0){let r=t.polygon.points,a=i.source.lineIndex,l=(a+1)%r.length,u=r[a],f=r[l];n.push({type:"line",points:[u,f,i.point],target:i})}else n.push({type:"point",points:[i.point],target:i});break;case"intersection":n.push({type:"cross",points:[i.point],target:i});break;case"parallel":if(i.source?.pointIndex!==void 0){let r=t.polygon.points[i.source.pointIndex];n.push({type:"parallel-line",points:[r,i.point],target:i})}break}return n}function Dr(e,t,n=5,i){if(!t.slowState.snapEnabled)return t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null,null;let r=xM(e,t,void 0);if(r.length===0)return t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null,null;let a=SM(r);return t.snapTargets=a,t.activeSnapGuides=wM(a.slice(0,n),t),t.isSnapping=!0,t.snapPoint=a[0].point,t.snapPoint}function Q1(e){e.snapTargets=[],e.activeSnapGuides=[],e.isSnapping=!1,e.snapPoint=null}function bM(e){return e.isSnapping&&e.snapPoint!==null}function hl(e,t){return bM(t)&&t.snapPoint?t.snapPoint:e}var RM={type:"add-open-point",label:"Add point",tools:["pen","line","lineBox"],trigger:{type:"click"},isValid(e,t,n){if(!t.isOpen)return!1;if(t.polygon.points.length===0)return!0;if(t.selectedPoints.length!==1||t.polygon.points.length>=2&&(t.slowState.currentTool==="line"||t.slowState.currentTool==="lineBox"))return!1;if(t.slowState.bounds){let{x:r,y:a,width:l,height:u}=t.slowState.bounds,[f,h]=e[0];if(f<r||f>r+l||h<a||h>a+u)return!1}let i=t.selectedPoints[0];return i===0||i===t.polygon.points.length-1},commit(e,t,n){let i=t.line?t.line[1]:e[0];!n.Shift&&t.slowState.snapEnabled&&(Dr(i,t,3),i=hl(i,t));let r=t.polygon.points;if(r.length===0)return{selectedPoints:[0],points:[i]};n.Shift;let a=t.selectedPoints[0],l=t.slowState.currentTool==="line"||t.slowState.currentTool==="lineBox";if(a===0)return~~r[0][0]===~~i[0]&&~~r[0][1]===~~i[1]?{selectedPoints:[0],points:r}:{selectedPoints:l?[]:[0],points:[i,...r]};let u=r[r.length-1];return~~u[0]===~~i[0]&&~~u[1]===~~i[1]?{selectedPoints:[r.length-1],points:r}:(t.line=null,{selectedPoints:l?[]:[r.length],points:[...r,i]})}};function U1(e,t){return Math.abs(e-t)}function jn(e,t){let n=U1(e[0],t[0]),i=U1(e[1],t[1]);return Math.sqrt(n**2+i**2)}function og(e,t){return[e[0]-t[0],e[1]-t[1]]}function EM(e,t){return e[0]*t[0]+e[1]*t[1]}function Y1(e){return e[0]*e[0]+e[1]*e[1]}function Td(e,t){return Y1(og(e,t))}function K1(e,t,n,i){return i&&n&&(e<0?e=Math.max(e,-i.x-n.x):e>0&&(e=Math.min(e,i.x+i.width-n.x-n.width)),t<0?t=Math.max(t,-i.y-n.y):t>0&&(t=Math.min(t,i.y+i.height-n.y-n.height))),[e,t]}function X1(e,t){let n,i,r,a;var l=(y,S,E,R,b)=>{if(R<=E+1)return;let I=E,M=0,T=y*y;n=[S[E],S[R]],i=og(n[1],n[0]);let _=Y1(i),U,H,Z,B,G;for(let K=E+1;K<R;K++)U=og(S[K],n[0]),B=EM(U,i),B<=0?G=Td(S[K],n[0]):_<=B?G=Td(S[K],n[1]):(Z=B/_,H=[n[0][0]+Z*i[0],n[0][1]+Z*i[1]],G=Td(S[K],H)),!(G<=M)&&(I=K,M=G);M>T&&(b[I]=1,l(y,S,E,I,b),l(y,S,I,R,b))};let u=e.length,f=[],h,c,m,v,w=t*t;for(r=[],a=[],r[0]=e[0],h=c=1,v=0;h<u;h++)Td(e[h],e[v])<w||(r[c++]=e[h],v=h);for(v<u-1&&(r[c++]=e[u-1]),a[0]=a[c-1]=1,l(t,r,0,c-1,a),h=m=0;h<c;h++)a[h]&&(f[m++]=r[h]);return f}function IM(e){if(e.length!==4)return!1;let t=1e-10,n=Math.min(...e.map(u=>u[0])),i=Math.max(...e.map(u=>u[0])),r=Math.min(...e.map(u=>u[1])),a=Math.max(...e.map(u=>u[1]));for(let u of e){let f=Math.abs(u[0]-n)<t||Math.abs(u[0]-i)<t,h=Math.abs(u[1]-r)<t||Math.abs(u[1]-a)<t;if(!f||!h)return!1}let l=[[n,r],[n,a],[i,r],[i,a]];for(let u of l)if(!e.some(f=>Math.abs(f[0]-u[0])<t&&Math.abs(f[1]-u[1])<t))return!1;return!0}function Z1(e){let t=e.points.length,n=!1,i=[];if(t>1){e.iedges=[];let r=e.points[t-1];for(let a=0;a<t;a++){let l=r;if(r=e.points[a],r.length===6){let h=r[2],c=r[3],m=r[4],v=r[5];i.push([a,[r[0]+h,r[1]+c],[r[0]+m,r[1]+v]]),n=!0}let u=[r[0]-l[0],r[1]-l[1]],f=u[0]*u[0]+u[1]*u[1];f>0?e.iedges.push([u[0]/f,u[1]/f]):e.iedges.push([0,0])}}else t===1?e.iedges=[[0,0]]:e.iedges=null;e.isBezier=n,e.bezierLines=i}function CM(e,t){let n=1/0,i=null,r=-1,a=e.points.length;if(a<=1)return[null,n,r];let l=e.points[a-1];for(let u=0;u<a;u++){let f=l;l=e.points[u];let h=f[0]-t[0],c=f[1]-t[1],m=h*h+c*c;m<n&&(i=f,n=m,r=u===0?a-1:u-1)}return[i,n,r]}function _d(e){if(e.points.length>2){let t=Math.min(...e.points.map(a=>a[0])),n=Math.min(...e.points.map(a=>a[1])),i=Math.max(0,...e.points.map(a=>a[0])),r=Math.max(0,...e.points.map(a=>a[1]));e.boundingBox={x:t,y:n,width:i-t,height:r-n};return}e.boundingBox=null}function PM(e){return e[0]*e[0]+e[1]*e[1]}function q1(e,t){let n=1/0,i=null,r=-1,a=[],l=e.points.length;if(l<=1)return[null,n,a,r];if(e.iedges===null&&(Z1(e),!e.iedges))return[null,n,a,r];let u=e.points[l-1];for(let f=0;f<l;f++){let h=u;u=e.points[f];let c=(t[0]-h[0])*e.iedges[f][0]+(t[1]-h[1])*e.iedges[f][1],m;c<=0?m=h:c<1?m=[(1-c)*h[0]+c*u[0],(1-c)*h[1]+c*u[1]]:m=u;let v=PM([m[0]-t[0],m[1]-t[1]]);v<n&&(i=m,n=v,a=[h,u],r=f===0?l-1:f-1)}return[i,n,a,r]}var ul={type:"bounding-box-corners",label:"Drag to resize",tools:["pointer","box"],modifiers:{Shift:"Maintain aspect ratio",Alt:"Scale from center",Meta:"Rotate"},isValid(e,t,n){if(t.transitionDirection=null,t.transitionRotate=!1,t.isOpen||!t.slowState.boxMode&&t.selectedPoints.length!==t.polygon.points.length||!t.polygon.boundingBox)return!1;let i=n.proximity*.5,r=n.proximity*5,a=e[0],l=t.polygon.boundingBox,u=l.x+i,f=l.x+l.width-i*2,h=l.y+i,c=l.y+l.height-i*2;if(a[0]>u&&a[0]<f&&a[1]>h&&a[1]<c)return!1;let m=[l.x+l.width,l.y+l.height],v=[l.x,l.y],w=[l.x+l.width,l.y],y=[l.x,l.y+l.height],S=["ne","nw","se","sw"],E={ne:w,nw:v,se:m,sw:y},R=[jn(e[0],w),jn(e[0],v),jn(e[0],m),jn(e[0],y)],b=Math.min(...R),I=R.indexOf(b),M=I===-1?null:S[I],T=M?E[M]:null;if(R[0]<r||R[1]<r||R[2]<r||R[3]<r){if(M){let[_,U]=a;(n.Meta||_>=T[0]-n.proximity*4&&U>=T[1]-n.proximity*4&&_<=T[0]+n.proximity*4&&U<=T[1]+n.proximity*4&&!(_>=T[0]-n.proximity*2&&U>=T[1]-n.proximity*2&&_<=T[0]+n.proximity*2&&U<=T[1]+n.proximity*2))&&(t.slowState.boxMode||(t.transitionRotate=!0)),t.transitionDirection=M}return!0}return!1},start(e,t,n){let i=e[0],r=t.polygon.boundingBox,a=[r.x+r.width,r.y+r.height],l=[r.x,r.y],u=[r.x+r.width,r.y],f=[r.x,r.y+r.height],h=["ne","nw","se","sw"],c=[jn(e[0],u),jn(e[0],l),jn(e[0],a),jn(e[0],f)],m=Math.min(...c),v=c.indexOf(m);t.transitionDirection=v!==-1?h[v]:null},transition(e,t,n){let i=t.polygon.boundingBox,r=t.transitionOrigin||e[0],[a,l]=e[0];if((n.Meta||t.transitionRotate)&&!t.slowState.boxMode){let b=[i.x+i.width/2,i.y+i.height/2],I=Math.atan2(r[1]-b[1],r[0]-b[0]),M=Math.atan2(l-b[1],a-b[0]),T=n.Shift,_=Math.PI/(n.Alt?4:12),U=M-I;T&&(U=Math.round(U/_)*_);let H=Math.cos(U),Z=Math.sin(U),B=[];for(let G of t.polygon.points){let K=G[0]-b[0],ce=G[1]-b[1],J=K*H-ce*Z,te=K*Z+ce*H,oe=J+b[0],Re=te+b[1];B.push(G.length===6?[oe,Re,G[2],G[3],G[4],G[5]]:[oe,Re])}t.transitionPoints=B,_d({points:B,iedges:null,boundingBox:null,isBezier:!1,bezierLines:[]}),t.transitionBoundingBox=t.polygon.boundingBox?{...t.polygon.boundingBox,rotation:U}:null;return}let u=t.transitionDirection,f=u.includes("e")?1:-1,h=u.includes("s")?1:-1,c=!!n.Alt,m;if(c)m=[i.x+i.width/2,i.y+i.height/2];else switch(u){case"se":m=[i.x,i.y];break;case"sw":m=[i.x+i.width,i.y];break;case"ne":m=[i.x,i.y+i.height];break;case"nw":m=[i.x+i.width,i.y+i.height];break}let v=c?i.width/2:i.width,w=c?i.height/2:i.height,y,S;if(n.Shift||t.slowState.fixedAspectRatio){let b=f*v,I=h*w,M=a-m[0],T=l-m[1],_=b*b+I*I,U=_>0?(M*b+T*I)/_:1;U=Math.max(U,.01),y=U,S=U}else{let b=0,I=0;switch(u){case"se":b=a-r[0],I=l-r[1];break;case"sw":b=r[0]-a,I=l-r[1];break;case"ne":b=a-r[0],I=r[1]-l;break;case"nw":b=r[0]-a,I=r[1]-l;break}c&&(b*=2,I*=2),y=(i.width+b)/i.width,S=(i.height+I)/i.height}let E=[];for(let b of t.polygon.points){let I=b[0]-m[0],M=b[1]-m[1],T=I*y,_=M*S,U=T+m[0],H=_+m[1];E.push(b.length===6?[U,H,b[2],b[3],b[4],b[5]]:[U,H])}t.transitionPoints=E;let R={points:E,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};_d(R),t.transitionBoundingBox=R.boundingBox},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,t.transitionRotate=!1,{points:i}}},AM={type:"close-line-box",label:"Close Line Box",tools:["lineBox"],trigger:{type:"click"},isValid(e,t,n){return t.polygon.points.length===2&&t.lineBox!==null&&t.slowState.boxMode===!1},commit(e,t,n){return t.lineBox?{isOpen:!1,points:t.lineBox,tool:"pen"}:{}}},J1={type:"close-shape",label:"Close shape",tools:["pen","line"],trigger:{type:"click"},isValid(e,t,n){if(!t.isOpen||t.slowState.boxMode||t.selectedPoints.length!==1||t.polygon.points.length<2||n.Meta)return!1;let i=t.selectedPoints[0];if(i===0){let r=t.polygon.points[t.polygon.points.length-1];return jn(e[0],r)<n.proximity}if(i===t.polygon.points.length-1){let r=t.polygon.points[0];return jn(e[0],r)<n.proximity}return!1},commit(e,t,n){let i=t.selectedPoints[0];if(t.line=null,i===0)return{selectedPoints:[],points:t.polygon.points.slice(0).reverse(),isOpen:!1};if(i===t.polygon.points.length-1)return{selectedPoints:[],isOpen:!1}}},TM={type:"close-shape-line",label:"Close shape line",trigger:{type:"click"},tools:["pen"],isValid(e,t,n){return!t.isOpen||t.slowState.boxMode||t.polygon.points.length<3||!t.closestLinePoint||t.closestLineDistance>=n.proximity*2?!1:(t.closestLineIndex===0||(t.closestLineIndex,t.polygon.points.length-2),!0)},commit(e,t,n){return J1.commit(e,t,n)}},eb={type:"split-line",label:"Split line",tools:["pen"],isValid(e,t,n){let i=t.slowState.currentTool==="line";return n.Meta||i?!1:!!(t.closestLinePoint&&t.closestLineDistance<n.proximity)},transition(e,t,n){let i=e[0];!n.Shift&&t.slowState.snapEnabled&&(Dr(i,t,3,t.closestLineIndex),i=hl(i,t));let r=t.transitionOrigin||i,[a,l]=i,u=t.polygon.points,f=[],h=a-r[0],c=l-r[1];for(let m=0;m<u.length;m++)if(f.push(u[m]),t.closestLineIndex===m){let v=t.closestLinePoint;f.push([v[0]+h,v[1]+c])}t.transitionPoints=f},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{selectedPoints:[t.closestLineIndex+1],points:i}}},MM={type:"cut-line",label:"Add new point",tools:["pen"],trigger:{type:"click"},modifiers:{Shift:"Cut line"},isValid(e,t,n){return t.slowState.boxMode?!1:eb.isValid(e,t,n)},commit(e,t,n){if(n.Shift&&!t.isOpen){let a=t.polygon.points,l=[],u=[],f=!1;for(let h=0;h<a.length;h++)f?u.push(a[h]):l.push(a[h]),t.closestLineIndex===h&&(f=!0);return{isOpen:!0,points:[...u,...l]}}let i=t.polygon.points,r=[];for(let a=0;a<i.length;a++)if(r.push(i[a]),t.closestLineIndex===a){let l=t.closestLinePoint;r.push(l)}return{points:r}}},_M={type:"delete-point",label:"Delete point",tools:["pointer","pen","lineBox","line"],trigger:{type:"key",key:"Backspace"},isValid(e,t,n){return t.selectedPoints.length>0&&t.slowState.canDelete},commit(e,t,n){let i=t.polygon.points.filter((r,a)=>!t.selectedPoints.includes(a));return{isOpen:i.length<3,selectedPoints:[],points:i,tool:t.slowState.boxMode?"box":void 0}}},OM={type:"deselect-bounding-box",label:"Deselect bounding box",tools:["pointer"],trigger:{type:"click"},isValid(e,t,n){return t.slowState.canDeselect&&!t.isOpen&&!t.slowState.boxMode&&t.selectedPoints.length>2&&t.selectedPoints.length===t.polygon.points.length},commit(e,t,n){return t.slowState.lastCreationTool==="pen"?{selectedPoints:[],tool:"pen"}:{selectedPoints:[]}}},kM={type:"deselect-draw",label:"Deselect draw",trigger:{type:"key",key:"Escape"},tools:["pointer","pen","box","lineBox","stamp","hand","pencil"],isValid(e,t,n){return t.slowState.canDeselect},commit(e,t,n){return{selectedPoints:[]}}},LM={type:"deselect-points",label:"Deselect points",trigger:{type:"click"},tools:["pointer","pen"],isValid(e,t,n){return t.selectedPoints.length>0&&t.slowState.canDeselect},commit(e,t,n){return{selectedPoints:[]}}},FM={type:"draw-shape",label:"Draw shape",tools:["pen","pencil"],modifiers:{Alt:"Freehand drawing"},isValid(e,t,n){let i=n.Alt||t.slowState.currentTool==="pencil";return!!(t.isOpen&&(t.line||t.polygon.points.length===0)&&i)},start(e,t,n){t.transitionDraw=[]},transition(e,t,n){let i=e[0];!n.Shift&&t.slowState.snapEnabled&&(Dr(i,t,3),i=hl(i,t)),t.transitionDraw.push(i)},commit(e,t,n){let i=t.slowState.currentTool==="pencil"?t.scale*1.5:t.scale*3,r=X1(t.transitionDraw,i);if(t.transitionDraw=[],r.length===0)return;let a=!0,l=3,u=t.selectedPoints[0],f=[...t.polygon.points,...r],h=f[0],c=f[f.length-1];u===0&&(h=f[f.length-1],c=f[0],f=[...r,...t.polygon.points.slice(0).reverse()]);let m=[f.length-1],v=jn(h,c)/n.proximity<l,w="";return v&&(a=!1,w="pointer",m=f.map((y,S)=>S)),{isOpen:a,tool:w||void 0,points:f,selectedPoints:m}}},NM={type:"move-line",label:"Move line",tools:["line"],isValid(e,t,n){return t.slowState.currentTool!=="line"||t.slowState.boxMode?!1:!!(t.closestLinePoint&&t.closestLineDistance<n.proximity)},transition(e,t){let n=t.transitionOrigin,i=t.polygon.boundingBox,r=e[0],[a,l]=K1(r[0]-n[0],r[1]-n[1],i,t.slowState.bounds);t.transitionPoints=t.polygon.points.map(u=>u.length===6?[u[0]+a,u[1]+l,u[2],u[3],u[4],u[5]]:[u[0]+a,u[1]+l])},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:i}}},zM={type:"move-point",label:"Move point",tools:["pointer","pen","line"],modifiers:{Shift:"Constrain to axis"},isValid(e,t,n){if(n.Alt)return!1;let i=n.proximity,[r,a]=e[0],l=t.polygon.points,u=t.selectedPoints;for(let f=0;f<l.length;f++){let h=l[f],c=h[0]-r,m=h[1]-a;if(c*c+m*m<i*i)return!0}return!1},start(e,t,n){if(t.slowState.boxMode)return ul.start?ul.start(e,t,n):void 0;if(t.selectedPoints.length<2){let[i,r,a]=CM(t.polygon,e[0]);return{selectedPoints:[a]}}if(t.slowState.closestPoint&&!t.selectedPoints.includes(t.slowState.closestPoint))return{selectedPoints:[t.slowState.closestPoint]}},transition(e,t,n){if(t.slowState.boxMode)return ul.transition(e,t,n);let i=t.transitionOrigin,r=e[0];!n.Shift&&t.slowState.snapEnabled&&(Dr(r,t,3),r=hl(r,t));let[a,l]=r,u=t.polygon.points,f=t.selectedPoints;if(t.slowState.closestPoint){let v=t.slowState.closestPoint;f.indexOf(v)===-1&&(f=[v])}let h=[],c=a-i[0],m=l-i[1];n.Shift&&!t.slowState.snapEnabled&&(Math.abs(c)>Math.abs(m)?m=0:c=0);for(let v=0;v<u.length;v++){let w=f.indexOf(v)!==-1,y=u[v];w?y.length===6?h.push([y[0]+c,y[1]+m,y[2],y[3],y[4],y[5]]):h.push([y[0]+c,y[1]+m]):h.push(y)}t.transitionPoints=h},commit(e,t,n){if(t.slowState.boxMode)return ul.commit(e,t,n);let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:i}}},tb={type:"move-bounding-box",label:"Move bounding box",tools:["pointer"],isValid(e,t,n){let i=t.polygon.points.length,r=i===t.selectedPoints.length,a=t.polygon.boundingBox;if(i<1||!r||!a)return!1;let l=e[0],u=l[0],f=l[1];return u>=a.x&&u<=a.x+a.width&&f>=a.y&&f<=a.y+a.height},transition(e,t,n){let i=t.slowState.bounds,r=t.transitionOrigin,a=t.polygon.boundingBox,l=e[0],[u,f]=K1(l[0]-r[0],l[1]-r[1],a,i);t.transitionPoints=t.polygon.points.map(h=>h.length===6?[h[0]+u,h[1]+f,h[2],h[3],h[4],h[5]]:[h[0]+u,h[1]+f]),a&&(t.transitionBoundingBox={x:a.x+u,y:a.y+f,width:a.width,height:a.height})},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:i}}},nb={type:"move-shape",label:"Move shape",tools:["pointer","hand","box"],isValid(e,t,n){return n.Shift?!1:t.slowState.pointerInsideShape&&(!t.isOpen||t.line===null)},transition(e,t,n){tb.transition(e,t,n)},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:i}}},DM={type:"nudge-right",label:"Nudge right",trigger:{type:"key",key:"ArrowRight"},tools:["pointer","pen"],modifiers:{Shift:"Nudge right more"},isValid(e,t,n){return t.selectedPoints.length>0},commit(e,t,n){let i=n.proximity*.3,r=t.polygon.points,a=t.selectedPoints;return{points:r.map((l,u)=>a.includes(u)?[l[0]+(n.Shift?4*i:1),l[1]]:l)}}},BM={type:"nudge-left",label:"Nudge left",trigger:{type:"key",key:"ArrowLeft"},tools:["pointer","pen"],modifiers:{Shift:"Nudge left more"},isValid(e,t,n){return t.selectedPoints.length>0},commit(e,t,n){let i=n.proximity*.3,r=t.polygon.points,a=t.selectedPoints;return{points:r.map((l,u)=>a.includes(u)?[Math.max(0,l[0]-(n.Shift?4*i:1)),l[1]]:l)}}},VM={type:"nudge-up",label:"Nudge up",trigger:{type:"key",key:"ArrowUp"},tools:["pointer","pen"],modifiers:{Shift:"Nudge up more"},isValid(e,t,n){return t.selectedPoints.length>0},commit(e,t,n){let i=n.proximity*.3,r=t.polygon.points,a=t.selectedPoints;return{points:r.map((l,u)=>{if(a.includes(u)){let f=l[0],h=Math.max(0,l[1]-(n.Shift?4*i:1));return l.length===6?[f,h,l[2],l[3],l[4],l[5]]:[f,h]}return l})}}},jM={type:"nudge-down",label:"Nudge down",trigger:{type:"key",key:"ArrowDown"},tools:["pointer","pen"],modifiers:{Shift:"Nudge down more"},isValid(e,t,n){return t.selectedPoints.length>0},commit(e,t,n){let i=n.proximity*.3,r=t.polygon.points,a=t.selectedPoints;return{points:r.map((l,u)=>{let f=l[0],h=Math.max(0,l[1]+(n.Shift?4*i:1));return a.includes(u)?l.length===6?[f,h,l[2],l[3],l[4],l[5]]:[f,h]:l})}}},HM={type:"select-multiple-points",label:"Drag to select multiple points",tools:["pointer","pen"],isValid(e,t,n){return t.slowState.currentTool==="line"&&t.polygon.points.length>=2?!0:!(t.slowState.boxMode||t.line)},transition(e,t,n){if(!t.transitionOrigin)return;let i=t.transitionOrigin[0],r=t.transitionOrigin[1],a=e[0][0],l=e[0][1],u=Math.min(i,a),f=Math.min(r,l),h=Math.abs(i-a),c=Math.abs(r-l);t.selectionBox={x:u,y:f,width:h,height:c}},commit(e,t,n){if(t.selectionBox){let i=[];n.Shift&&i.push(...t.selectedPoints);for(let r=0;r<t.polygon.points.length;r++){let a=t.polygon.points[r];a[0]>=t.selectionBox.x&&a[0]<=t.selectionBox.x+t.selectionBox.width&&a[1]>=t.selectionBox.y&&a[1]<=t.selectionBox.y+t.selectionBox.height&&i.push(r)}return{selectedPoints:i}}}},G1=10,WM={type:"select-point",label:"Select point",trigger:{type:"click"},tools:["pointer","pen","line"],modifiers:{Shift:"Add to selection"},isValid(e,t,n){let i=-1;if(t.selectedPoints.length===1){let u=t.selectedPoints[0];u===0&&(i=t.polygon.points.length-1),u===t.polygon.points.length-1&&(i=0)}if(t.slowState.boxMode)return!1;let[r,a]=e[0],l=t.polygon.points;for(let u=0;u<l.length;u++){let f=l[u],h=f[0]-r,c=f[1]-a;if(h*h+c*c<G1*G1)return i!==u}return!1},commit(e,t,n){let i=n.Shift?[...t.selectedPoints]:[],[r,a]=e[0],l=t.polygon.points.map((u,f)=>{let h=u[0]-r,c=u[1]-a;return[h*h+c*c,f]}).sort((u,f)=>u[0]-f[0])[0];if(t.line=null,!i.includes(l[1]))i.push(l[1]);else if(n.Shift)return{selectedPoints:i.filter(u=>u!==l[1])};return{selectedPoints:i}}},UM={type:"select-shape",label:"Select shape",trigger:{type:"click"},tools:["pointer","pen"],isValid(e,t,n){return nb.isValid(e,t,n)},commit(e,t,n){return{tool:"pointer",selectedPoints:t.polygon.points.map((i,r)=>r)}}},qM={type:"snap",label:"Smart snap",tools:["pointer","pen","line"],modifiers:{Shift:"Disable snapping"},isValid(e,t,n){return n.Shift||!t.slowState.snapEnabled||t.slowState.transitioning&&t.slowState.transitionIntentType!=="snap"||!t.slowState.snapToPoints&&!t.slowState.snapToLines&&!t.slowState.snapToIntersections?!1:Dr(e[0],t,0)!==null},start(e,t,n){Dr(e[0],t,5)},transition(e,t,n){let i=Dr(e[0],t,5);i&&(t.pointer=i)},commit(e,t,n){Q1(t)}},GM={type:"stamp-fixed-size-shape",label:"Stamp fixed size shape",trigger:{type:"click"},tools:["stamp"],isValid(e,t,n){return t.slowState.selectedStamp!==null},commit(e,t,n){let i=e[0],r=t.slowState.selectedStamp;if(!i||!r)return;let a=i[0],l=i[1],u=[],f=Math.min(...r.points.map(S=>S[0])),h=Math.min(...r.points.map(S=>S[1])),c=Math.max(...r.points.map(S=>S[0]))-f,m=Math.max(...r.points.map(S=>S[1]))-h,v=4*n.proximity,w=c/v;m/v>w&&(w=m/v),a-=c/w/2,l-=m/w/2;let y=0;for(let S of r.points)u.push([a+(S[0]-f)/w,l+(S[1]-h)/w]),y++;return{isOpen:!1,points:u}}},ib={id:"square",open:!1,points:[[0,0],[0,100],[100,100],[100,0]]},$M={id:"triangle",open:!1,points:[[50,0],[0,100],[100,100]]},QM={id:"pentagon",open:!1,points:[[0,0],[0,100],[100,100],[100,0],[50,-50]]},YM={id:"hexagon",open:!1,points:[[50,0],[0,25],[0,75],[50,100],[100,75],[100,25]]},KM={id:"circle",open:!1,points:[[948.949,571.107],[954.545,500],[954.545,500],[948.949,428.893],[948.949,428.893],[932.298,359.538],[932.298,359.538],[905.003,293.641],[905.003,293.641],[867.735,232.825],[867.735,232.825],[821.412,178.588],[821.412,178.588],[767.175,132.265],[767.175,132.265],[706.359,94.997],[706.359,94.997],[640.462,67.702],[640.462,67.702],[571.107,51.051],[571.107,51.051],[500,45.455],[500,45.455],[428.893,51.051],[428.893,51.051],[359.538,67.702],[359.538,67.702],[293.641,94.997],[293.641,94.997],[232.825,132.265],[232.825,132.265],[178.588,178.588],[178.588,178.588],[132.265,232.825],[132.265,232.825],[94.997,293.641],[94.997,293.641],[67.702,359.538],[67.702,359.538],[51.051,428.893],[51.051,428.893],[45.455,500],[45.455,500],[51.051,571.107],[51.051,571.107],[67.702,640.462],[67.702,640.462],[94.997,706.359],[94.997,706.359],[132.265,767.175],[132.265,767.175],[178.588,821.412],[178.588,821.412],[232.825,867.735],[232.825,867.735],[293.641,905.003],[293.641,905.003],[359.538,932.298],[359.538,932.298],[428.893,948.949],[428.893,948.949],[500,954.545],[500,954.545],[571.107,948.949],[571.107,948.949],[640.462,932.298],[640.462,932.298],[706.359,905.003],[706.359,905.003],[767.175,867.735],[767.175,867.735],[821.412,821.412],[821.412,821.412],[867.735,767.175],[867.735,767.175],[905.003,706.359],[905.003,706.359],[932.298,640.462],[932.298,640.462],[948.949,571.107]]},XM={type:"stamp-shape",label:"Stamp shape",tools:["stamp","box"],modifiers:{Shift:"Maintain aspect ratio"},isValid(e,t,n){return!(t.polygon.points.length&&!t.slowState.canDelete)},start(e,t,n){let i=e[0],r=t.slowState.selectedStamp||ib;if(i){let a=i[0],l=i[1],u=[],f=Math.min(...r.points.map(S=>S[0])),h=Math.min(...r.points.map(S=>S[1])),c=Math.max(...r.points.map(S=>S[0]))-f,m=Math.max(...r.points.map(S=>S[1]))-h,v=c/32;m/32>v&&(v=m/32);let w=[],y=0;for(let S of r.points)w.push(y),u.push([a+(S[0]-f)/v,l+(S[1]-h)/v]),y++;return t.transitionPoints=u,{isOpen:!1,selectedPoints:w,points:u}}},transition(e,t,n){if(!t.transitionOrigin)return;let i=t.polygon.boundingBox,r=[i.x,i.y],a=t.transitionOrigin||e[0],[l,u]=e[0],f=t.transitionOrigin[0],h=t.transitionOrigin[1],c=e[0][0],m=e[0][1],v=c-f-32,w=m-h-32;if(n.Shift||t.slowState.fixedAspectRatio){let b=i.width/i.height;Math.abs(i.width/v)>Math.abs(i.height/w)?w=v/b:v=w*b}let y=(i.width+v)/i.width,S=(i.height+w)/i.height,E=[];for(let b of t.polygon.points){let I=b[0]-r[0],M=b[1]-r[1],T=I*y,_=M*S,U=T+r[0],H=_+r[1];if(b.length===6){E.push([U,H,b[2],b[3],b[4],b[5]]);continue}E.push([U,H])}t.transitionPoints=E;let R={points:E,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};_d(R),t.transitionBoundingBox=R.boundingBox},commit(e,t,n){return{isOpen:!1,points:t.transitionPoints,tool:"pointer"}}},ZM={type:"toggle-snap",label:"Toggle snapping",trigger:{type:"key",key:"`"},tools:["pointer","pen","line","lineBox","box","stamp"],modifiers:{},isValid(e,t,n){return!0},commit(e,t,n){let i=!t.slowState.snapEnabled;return t.slowState.snapEnabled=i,i||(t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null),{}}};function rb(e={}){let t=e.proximityThreshold||10,n=e.closestLinePointFill||{selected:"#fff",unselected:"rgba(255, 255, 255, .5)"},i=e.closestLinePointStroke||{selected:"#000",unselected:"rgba(0, 0, 0, .5)"};function r(y,S,E){y&&S.transitionBoundingBox&&E.transitioning&&(y.setAttribute("x",""+S.transitionBoundingBox.x),y.setAttribute("y",""+S.transitionBoundingBox.y),y.setAttribute("width",""+S.transitionBoundingBox.width),y.setAttribute("height",""+S.transitionBoundingBox.height))}function a(y,S,E){y&&S.polygon.boundingBox&&E.showBoundingBox&&(y.setAttribute("x",""+S.polygon.boundingBox.x),y.setAttribute("y",""+S.polygon.boundingBox.y),y.setAttribute("width",""+S.polygon.boundingBox.width),y.setAttribute("height",""+S.polygon.boundingBox.height))}function l(y,S,E){if(y&&S.polygon.boundingBox&&E.showBoundingBox){let R=S.transitionBoundingBox||S.polygon.boundingBox;R.rotation?(y.style.transformOrigin=`${R.x+R.width/2}px ${R.y+R.height/2}px`,y.style.transform=`rotate(${Math.round(100*R.rotation*(180/Math.PI))/100}deg)`):y.style.transform="",y.setAttribute("points",[[R.x,R.y],[R.x+R.width,R.y],[R.x+R.width,R.y+R.height],[R.x,R.y+R.height]].map(b=>b.join(",")).join(" "))}}function u(y,S,E){y&&S.transitionPoints&&E.transitioning&&y.setAttribute("points",S.transitionPoints.map(R=>R.join(",")).join(" "))}function f(y,S,E){y&&S.closestLinePoint&&E.hasClosestLine&&(y.setAttribute("cx",""+S.closestLinePoint[0]),y.setAttribute("cy",""+S.closestLinePoint[1]),y.setAttribute("fill",S.closestLineDistance<t?n.selected:n.unselected),y.setAttribute("stroke",S.closestLineDistance<t?i.selected:i.unselected))}function h(y,S,E){y&&S.closestLinePoint&&E.hasClosestLine&&y.setAttribute("transform",`translate(${S.closestLinePoint[0]}, ${S.closestLinePoint[1]})`)}function c(y,S,E){y&&S.selectionBox&&E.transitionIntentType==="select-multiple-points"&&(y.setAttribute("x",""+S.selectionBox.x),y.setAttribute("y",""+S.selectionBox.y),y.setAttribute("width",""+S.selectionBox.width),y.setAttribute("height",""+S.selectionBox.height))}function m(y,S,E){if(y&&S.pointer&&S.selectedPoints.length)if(E.actionIntentType==="close-shape"||E.actionIntentType==="close-shape-line"){let R=S.polygon.points[0],b=S.polygon.points[S.polygon.points.length-1];R&&b&&y.setAttribute("points",`${R.join(",")} ${b.join(",")}`)}else if(S.line)y.setAttribute("points",`${S.line[0].join(",")} ${S.line[1].join(",")}`);else{let R=S.polygon.points[S.selectedPoints[0]];R&&R.length&&y.setAttribute("points",`${S.pointer[0]},${S.pointer[1]} ${R.join(",")}`)}}function v(y,S,E,R=3){y&&S.transitionDraw.length&&y.setAttribute("points",X1(S.transitionDraw,R*S.scale).map(b=>b.join(",")).join(" "))}function w(y,S){y&&S.lineBox&&y.setAttribute("points",S.lineBox.map(E=>E.join(",")).join(" "))}return{updateTransitionBoundingBox:r,updateClosestLinePointTransform:h,updateBoundingBoxPolygon:l,updateBoundingBox:a,updateTransitionShape:u,updateClosestLinePoint:f,updateSelectBox:c,updatePointLine:m,updateDrawPreview:v,updateLineBox:w}}var JM=typeof window<"u"?window.requestAnimationFrame:e=>setTimeout(e,16),e_=typeof window<"u"?window.cancelAnimationFrame:e=>clearTimeout(e);function $1(e){return!["hand","pointer"].includes(e)}var dl=[ul,zM,NM,eb,nb,tb,FM,HM,XM,qM],t_=dl.length,cl=[AM,GM,J1,WM,TM,MM,RM,UM,OM,LM],Ds=[kM,DM,BM,VM,jM,_M,ZM],fl={};dl.forEach(e=>{fl[e.type]=e});cl.forEach(e=>{fl[e.type]=e});Ds.forEach(e=>{fl[e.type]=e});var Md=10;function ob(e,t){let n=e?.fixedAspectRatio||!1,i=e?.tool||"pointer",r=e?.keyboardShortcutMapping||{},a=typeof e?.keyboardShortcutsEnabled=="boolean"?e.keyboardShortcutsEnabled:!0,l=e?.enabledTools||["pointer","pen","box","lineBox","stamp","hand","line","pencil"],u=e?.emitter||gM(),f={V:"pointer",P:"pen",B:"box",L:"lineBox",S:"stamp",H:"hand",N:"line",D:"pencil",...e?.toolMap||{}},h={shapeId:e?.id||null,noShape:e===null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:Md},bounds:e?.bounds||null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,selectedStamp:null,transitionModifiers:null,boxMode:!1,bezierLines:[],fixedAspectRatio:n,isToolSwitchingLocked:!1,canDeselect:!1,canDelete:!0,cursor:"default",enabledTools:l,currentTool:i,lastCreationTool:$1(i)?i:null,snapEnabled:!1,snapToPoints:!0,snapToLines:!0,snapToIntersections:!0,snapToGrid:!1,snapToParallel:!0},c={isOpen:typeof e?.open=="boolean"?e.open:!1,polygon:{points:e?.points||[],iedges:null,boundingBox:null,isBezier:null,bezierLines:[]},scale:1,selectedPoints:[],pointer:null,line:null,lineBox:null,transitionPoints:null,transitionOrigin:null,transitionBoundingBox:null,closestLinePoint:null,closestLineDistance:0,closestLineIndex:-1,transitionRotate:!1,transitionDirection:null,transitionBezierLine:null,selectionBox:null,slowState:h,transitionDraw:[],isPanning:!1,panStart:null,snapTargets:[],activeSnapGuides:[],snapThreshold:15,isSnapping:!1,snapPoint:null},m={startTime:0,time:0,shouldUpdate:!1,nextSlowState:null,renderFunc:()=>{},setStateFunc:()=>{},animationFrame:0,actionIntent:null,transitionIntent:null,undoStack:[],undoStackPointer:-1},v={isPressed:!1,isClicking:!1,lastPress:null,pressTimeout:0,noTransition:!1};function w(F){Z1(F),F.isBezier&&y({bezierLines:F.bezierLines}),_d(F),m.shouldUpdate=!0}w(c.polygon);function y(F){let $=Object.keys(F);if($.length===0)return;let ie=m.nextSlowState||c.slowState,le=!1;if($.length===1&&$[0]==="validIntentKeys"&&ie.validIntentKeys){let Se=Object.keys(ie.validIntentKeys),V=Object.keys(F.validIntentKeys||{});if(Se.length===V.length){for(let k of Se)ie.validIntentKeys[k]!==F.validIntentKeys[k]&&(le=!0);if(!le)return}}if(F.selectedPoints){let Se=Array.from(ie.selectedPoints||[]),V=Array.from(F.selectedPoints||[]);if(Se.length===V.length){for(let k of Se)if(!V.includes(k)){le=!0;break}}else le=!0;le||delete F.selectedPoints}if(!($.length===1&&$.includes("hasClosestLine")&&F.hasClosestLine===ie.hasClosestLine)){if(m.nextSlowState){m.nextSlowState={...m.nextSlowState,...F};return}m.nextSlowState={...c.slowState,...F}}}function S(F,$=!1){m.time+=F,E(),R(),Z(),H(),U(),G(),ce(),K(),_(),m.renderFunc(c,c.slowState,F),!$&&(m.animationFrame=JM(S))}function E(){if(m.shouldUpdate&&(t({id:c.slowState.shapeId||void 0,open:c.isOpen,points:c.polygon.points}),m.shouldUpdate=!1),m.nextSlowState&&m.nextSlowState!==c.slowState){let F=Object.keys(c.slowState),$={},ie={},le=!1;for(let Se of F){let V=c.slowState[Se],k=m.nextSlowState[Se];V!==k?(le=!0,$[Se]=k,ie[Se]=k):$[Se]=V}le&&(c.slowState=$,m.nextSlowState=null,m.setStateFunc(c.slowState),e?.customSetState?.(ie))}}function R(){let F=!c.slowState.noShape&&c.polygon.points.length>2&&c.selectedPoints.length===c.polygon.points.length&&!c.isOpen&&(c.slowState.currentTool==="pointer"||c.slowState.currentTool==="box");c.slowState.showBoundingBox!==F&&y({showBoundingBox:F})}function b(F){c.selectedPoints=F.selectedPoints,y({selectedPoints:F.selectedPoints}),c.polygon.points=F.points,c.polygon.boundingBox=null,c.polygon.iedges=null,c.polygon.isBezier=null,w(c.polygon),y({closestPoint:null}),(F.isOpen===!0||F.isOpen===!1)&&(c.isOpen=F.isOpen,m.shouldUpdate=!0)}function I(){if(m.undoStackPointer===-1)return;m.undoStackPointer--;let F=m.undoStack[m.undoStackPointer];b(F)}function M(){if(m.undoStackPointer===m.undoStack.length-1)return;m.undoStackPointer++;let F=m.undoStack[m.undoStackPointer];b(F)}function T(F){m.undoStackPointer++,m.undoStack[m.undoStackPointer]=F,m.undoStack.length>15&&(m.undoStack.shift(),m.undoStackPointer--)}function _(){y({boxMode:IM(c.polygon.points||[])})}function U(){if(!c.pointer||c.slowState.noShape){y({pointerInsideShape:!1});return}let[F,$]=c.pointer,ie=c.polygon.points,le=c.polygon.boundingBox;if(!le){y({pointerInsideShape:!1});return}if(F<le.x||F>le.x+le.width||$<le.y||$>le.height+le.y){y({pointerInsideShape:!1});return}let Se=!1;for(let V=0,k=ie.length-1;V<ie.length;k=V++)ie[V][1]>$!=ie[k][1]>$&&F<(ie[k][0]-ie[V][0])*($-ie[V][1])/(ie[k][1]-ie[V][1])+ie[V][0]&&(Se=!Se);y({pointerInsideShape:Se})}function H(){if(c.slowState.noShape||!c.pointer||c.slowState.transitioning||!c.polygon.points||c.polygon.points.length===0)return;let[F,$]=c.pointer,ie=c.polygon.points.map((le,Se)=>{let V=le[0]-F,k=le[1]-$;return[V*V+k*k,Se]}).sort((le,Se)=>le[0]-Se[0]);ie.length&&y({closestPoint:ie[0][1]})}function Z(){if(!c.pointer||c.slowState.transitioning)return;if(c.slowState.noShape){c.closestLineIndex=-1,c.closestLinePoint=null,c.closestLineDistance=0;return}let[F,$,ie,le]=q1(c.polygon,c.pointer),Se=Ge()*Ge();$<Se&&(!c.isOpen||c.slowState.currentTool==="line"||c.polygon.points.length-1!==le)?(c.closestLinePoint=F,c.closestLineDistance=Math.sqrt($),c.closestLineIndex=le,y({hasClosestLine:!0})):(c.closestLinePoint=null,c.closestLineDistance=0,c.closestLineIndex=-1,y({hasClosestLine:!1}))}function B(F,$=null){let ie={},le=$||(c.pointer?[c.pointer[0],c.pointer[1]]:null);for(let Se of[...dl,...cl,...Ds])Se.tools.includes(F)&&(le&&Se.isValid([le],c,J())?ie[Se.type]=Se.label:le||(ie[Se.type]=Se.label));return ie}function G(){if(c.slowState.transitioning||c.slowState.noShape||!c.pointer||!Array.isArray(c.pointer)||c.pointer.length<2||typeof c.pointer[0]!="number"||typeof c.pointer[1]!="number")return;let F=c.slowState.currentTool;De(F);let $=!1;for(let Se=0;Se<t_;Se++){let V=dl[Se];if(V.tools.includes(F)&&V.isValid(v.isPressed?[v.lastPress]:[c.pointer],c,J())){if(m.transitionIntent===V){$=!0;break}y({transitionIntentType:V.type}),m.transitionIntent=V,$=!0;break}}$||m.transitionIntent&&(y({transitionIntentType:null}),m.transitionIntent=null);let ie=!1;for(let Se=0;Se<cl.length;Se++){let V=cl[Se];if(V.tools.includes(F)&&oe(V)){if(m.actionIntent===V){ie=!0;break}y({actionIntentType:V.type}),m.actionIntent=V,ie=!0;break}}ie||m.actionIntent&&(m.actionIntent=null,y({actionIntentType:null}));let le={};for(let Se=0;Se<Ds.length;Se++){let V=Ds[Se];V.trigger.type==="key"&&oe(V)&&(le[V.trigger.key]=V.label)}y({validIntentKeys:le})}function K(){let F=c.pointer;if(c.lineBox=null,!F||de()||c.polygon.points.length!==2)return;let[$,ie]=F,[le,Se]=c.polygon.points[0],[V,k]=c.polygon.points[1],[X,ee,Ie,_e]=q1(c.polygon,F);if(!X)return;let Be=$-X[0],W=ie-X[1],Y=[le,Se],ge=[V,k],he=[ge[0]+Be,ge[1]+W],pe=[Y[0]+Be,Y[1]+W];c.lineBox=[Y,ge,he,pe]}function ce(){let F=c.pointer;if(!F||!de()||c.slowState.noShape)return;let $=c.selectedPoints[0],ie=F;if(c.slowState.snapEnabled&&!c.slowState.modifiers.Shift?(Dr(F,c,5),ie=hl(F,c)):Q1(c),c.line=[c.polygon.points[$],ie],c.slowState.modifiers.Shift){let le=0;if(c.polygon.points.length>1){let W=c.selectedPoints[0];W===0?le=Math.atan2(c.polygon.points[1][1]-c.polygon.points[0][1],c.polygon.points[1][0]-c.polygon.points[0][0]):le=Math.atan2(c.polygon.points[W-1][1]-c.polygon.points[W][1],c.polygon.points[W-1][0]-c.polygon.points[W][0])}let Se=F[0]-c.polygon.points[$][0],V=F[1]-c.polygon.points[$][1],k=Math.atan2(V,Se),X=Math.PI/4,ee=Math.round((k-le)/X)*X+le,Ie=jn(c.polygon.points[$],F),_e=Math.cos(ee)*Ie+c.polygon.points[$][0],Be=Math.sin(ee)*Ie+c.polygon.points[$][1];c.line[1]=[_e,Be]}}function J(){return c.slowState.modifiers}function te(F){let $=F.commit([v.lastPress],c,J());u.emit("polygons.end-transition",{transitionIntent:F.type,response:$}),$&&($.tool&&ae($.tool),$.selectedPoints&&(c.selectedPoints=$.selectedPoints,y({selectedPoints:$.selectedPoints})),$.points&&(c.polygon.points=$.points,c.polygon.boundingBox=null,c.polygon.iedges=null,c.polygon.isBezier=null,c.transitionBoundingBox=null,w(c.polygon),y({closestPoint:null,selectedStamp:null})),($.isOpen===!0||$.isOpen===!1)&&(c.isOpen=$.isOpen,m.shouldUpdate=!0),T({isOpen:c.isOpen,points:c.polygon.points,selectedPoints:c.selectedPoints}),De(c.slowState.currentTool)),y({transitionModifiers:null})}function oe(F){if(!F.tools.includes(c.slowState.currentTool))return!1;let $=[];return c.pointer&&Array.isArray(c.pointer)&&c.pointer.length>=2&&typeof c.pointer[0]=="number"&&typeof c.pointer[1]=="number"&&($=[c.pointer]),F.isValid($,c,J())}function Re(F){F==="Delete"&&(F="Backspace");let $=c.slowState.currentTool;for(let ie of Ds)if(!(ie.trigger.type!=="key"||ie.trigger.key!==F)&&ie.tools.includes($)&&oe(ie))return te(ie),!0;return!1}function de(){let F=c.polygon.points,$=c.pointer;if(!c.isOpen||!F.length||c.selectedPoints.length!==1||!$)return!1;let ie=c.selectedPoints[0],le=ie===0,Se=ie===F.length-1;return le||Se}let N={reset(){y({modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:Md}})},getForType(F){let $={};if(!F)return $;let ie=fl[F];return!ie||!ie.modifiers?$:ie.modifiers},set(F){F!=="Shift"&&F!=="Alt"&&F!=="Meta"||y({modifiers:{...m.nextSlowState?.modifiers||c.slowState.modifiers,[F]:!0}})},unset(F){F!=="Shift"&&F!=="Alt"&&F!=="Meta"||y({modifiers:{...m.nextSlowState?.modifiers||c.slowState.modifiers,[F]:!1}})}},re={set(F){let $=F?F.id==="square"||F.id==="rectangle":!1;y({selectedStamp:F,boxMode:$})},clear(){re.set(null)},square(){re.set(ib)},triangle(){re.set($M)},pentagon(){re.set(QM)},hexagon(){re.set(YM)},circle(){re.set(KM)}},Le={down(F){let $=r[F]||F;if($==="Shift"||$==="Alt"||$==="Meta")return N.set($),!0;if($==="Control")return N.set("Meta"),!0;if($==="z"&&c.slowState.modifiers.Meta)return c.slowState.modifiers.Shift?M():I(),!0;if(!c.slowState.modifiers.Meta&&!c.slowState.modifiers.Alt&&!c.slowState.transitioning){if(!a)return;let ie=$.toUpperCase();if(f[ie]){let le=f[ie];return ae(le),!0}}return Re($)},up(F){let $=r[F]||F;if($==="Control"){N.unset("Meta");return}$!=="Shift"&&$!=="Alt"&&$!=="Meta"||N.unset($)}};function je(F){c.scale=F,y({modifiers:{...m.nextSlowState?.modifiers||c.slowState.modifiers,proximity:F*Md}})}function Ge(){return Md*c.scale}let $e={set:F=>{m.renderFunc=F},start:(F,$)=>{m.startTime=performance.now(),m.time=0,F&&(m.renderFunc=F),$&&($(c.slowState),m.setStateFunc=$),S(0)},stop:()=>{m.animationFrame&&(e_(m.animationFrame),m.animationFrame=0)},step:(F=16)=>{S(F)}};function Qe(F){if(!F||!Array.isArray(F)||F.length===0)return;let $=F[0];if(!(!$||!$[0]&&$[0]!==0||!$[1]&&$[1]!==0)&&!(Number.isNaN($[0])||Number.isNaN($[1]))){if(c.pointer=$,c.slowState.transitioning)m.transitionIntent&&(m.transitionIntent.transition(F,c,J()),u.emit("polygons.transition",{transitionIntent:m.transitionIntent.type}));else if(v.isPressed&&!v.noTransition&&v.lastPress&&c.pointer&&(!v.isClicking||jn(v.lastPress,c.pointer)>10))if(clearTimeout(v.pressTimeout),v.isClicking=!1,m.transitionIntent){if(c.transitionOrigin=v.lastPress,y({transitioning:!0}),m.transitionIntent.start){let ie=m.transitionIntent.start([v.lastPress],c,J());ie&&(ie.selectedPoints&&(c.selectedPoints=ie.selectedPoints,y({selectedPoints:ie.selectedPoints})),(ie.isOpen===!0||ie.isOpen===!1)&&(c.isOpen=ie.isOpen,m.shouldUpdate=!0),ie.points&&(c.polygon.points=ie.points,c.polygon.boundingBox=null,c.polygon.iedges=null,w(c.polygon),y({closestPoint:null})))}y({transitionModifiers:m.transitionIntent.modifiers||null}),u.emit("polygons.start-transition",{transitionIntent:m.transitionIntent.type}),m.transitionIntent.transition([v.lastPress],c,J()),u.emit("polygons.transition",{transitionIntent:m.transitionIntent.type})}else v.noTransition=!0}}function Ze(){c.pointer=null,c.slowState.transitioning||(v.isPressed=!1,v.isClicking=!1,v.lastPress=null,y({transitionIntentType:null,actionIntentType:null}),m.transitionIntent=null,m.actionIntent=null)}function Ct(){v.isClicking=!0,v.isPressed=!0,v.lastPress=c.pointer,v.pressTimeout=setTimeout(()=>{v.isPressed&&(v.isClicking=!1)},250)}function xt(){c.slowState.transitioning?(y({transitioning:!1}),m.transitionIntent&&te(m.transitionIntent),m.transitionIntent=null,y({transitionIntentType:null})):v.isClicking&&(m.actionIntent&&te(m.actionIntent),m.actionIntent=null,y({actionIntentType:null})),v.isPressed=!1,v.isClicking=!1,v.lastPress=null,v.noTransition=!1,clearTimeout(v.pressTimeout)}function xn(F){c.polygon.points=F?.points||[],c.polygon.boundingBox=null,c.polygon.iedges=null,c.isOpen=F?.open||!1,w(c.polygon),m.nextSlowState=null,m.undoStack=[],m.undoStackPointer=-1,c.lineBox=null,c.line=null,v.pressTimeout&&clearTimeout(v.pressTimeout),y({noShape:F===null,shapeId:F?.id||null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:c.slowState.modifiers.proximity},showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},selectedStamp:null,closestPoint:null,pointerInsideShape:!1,boxMode:!1,fixedAspectRatio:n}),ae(i),E()}function Pt(F){if(!F)return"";let $=fl[F];return!$||!$.modifiers?$.label||"":c.slowState.modifiers.Shift&&$.modifiers.Shift?$.modifiers.Shift:c.slowState.modifiers.Alt&&$.modifiers.Alt?$.modifiers.Alt:c.slowState.modifiers.Meta&&$.modifiers.Meta?$.modifiers.Meta:$.label}function Ne(){y({fixedAspectRatio:!0})}function fe(){y({fixedAspectRatio:!1})}function ae(F){if(c.slowState.isToolSwitchingLocked||c.slowState.currentTool===F||!c.slowState.enabledTools.includes(F))return;let $=c.slowState.lastCreationTool;if($1(F)){if(c.slowState.isToolSwitchingLocked)return;$=F}c.slowState.transitioning&&(c.transitionPoints=null,c.transitionBoundingBox=null,c.transitionDraw=[],c.line=null,c.lineBox=null,y({transitioning:!1}));let ie=B(F),le=c.selectedPoints,Se=c.isOpen,V=c.slowState.selectedStamp;switch(F){case"pointer":c.polygon.points.length>0&&!Se&&le.length===0&&(le=c.polygon.points.map((k,X)=>X));break;case"pen":c.polygon.points.length===0?(le=[],Se=!0):Se&&le.length>1&&(le=[le[le.length-1]]);break;case"line":c.polygon.points.length===0?(le=[],Se=!0):Se?le.length>1&&(le=[le[le.length-1]]):(le=[c.polygon.points.length-1],Se=!0);break;case"pencil":le=[],c.polygon.points.length===0&&(Se=!0);break;case"box":le=c.polygon.points.map((k,X)=>X),Se=!1,re.square();break;case"lineBox":le=[],c.polygon.points.length===0&&(Se=!0);break;case"stamp":le=[],Se=!1,V||re.square();break;case"hand":le=[];break;default:le=[];break}y({validIntentKeys:ie}),y({currentTool:F,selectedPoints:le,lastCreationTool:$,boxMode:F==="box"}),c.selectedPoints=le,c.isOpen=Se,De(F),G()}function De(F){let $=F==="box"||F==="pointer"&&c.polygon.points.length>2&&c.selectedPoints.length===c.polygon.points.length&&!c.isOpen;y({showBoundingBox:$})}function Rt(F){c.slowState.currentTool===F&&ae("pointer")}function li(F){c.slowState.currentTool===F?ae("pointer"):ae(F)}let un={undo:I,redo:M,get canUndo(){return m.undoStackPointer>-1},get canRedo(){return m.undoStackPointer<m.undoStack.length-1}},Sn={setTool:ae,unsetTool:Rt,toggleTool:li,updateVisibility:De,setCanDelete(F){y({canDelete:F})},setCanDeselect(F){kn(),y({canDeselect:F})},lockToolSwitching(){y({isToolSwitchingLocked:!0})},unlockToolSwitching(){y({isToolSwitchingLocked:!1})},toggleToolSwitching(){y({isToolSwitchingLocked:!c.slowState.isToolSwitchingLocked})},shortcuts:Object.fromEntries(Object.entries(f).map(([F,$])=>[$,F])),getValidIntents(F){let $=F||c.slowState.currentTool;return{actions:cl.filter(ie=>ie.tools.includes($)),transitions:dl.filter(ie=>ie.tools.includes($)),keys:Ds.filter(ie=>ie.tools.includes($)),all:B($),current:c.slowState.validIntentKeys}},getToolInfo(){return{name:c.slowState.currentTool,cursor:c.slowState.cursor,selectionCount:c.selectedPoints.length,pointCount:c.polygon.points.length,isOpen:c.isOpen}},smartSelect(){c.polygon.points.length!==0&&(c.isOpen?(c.selectedPoints=[c.polygon.points.length-1],y({selectedPoints:c.selectedPoints})):(c.selectedPoints=c.polygon.points.map((F,$)=>$),y({selectedPoints:c.selectedPoints})))},clearSelection(){c.selectedPoints=[],y({selectedPoints:[]})},autoSelect(){c.selectedPoints.length===c.polygon.points.length&&!c.isOpen?ae("pointer"):c.isOpen||c.selectedPoints.length>0?ae(c.slowState.lastCreationTool||"pen"):ae("pointer")}},sa={enabled:()=>c.slowState.snapEnabled,enable:()=>y({snapEnabled:!0}),disable:()=>y({snapEnabled:!1}),toggle:()=>y({snapEnabled:!c.slowState.snapEnabled}),pointsEnabled:()=>c.slowState.snapToPoints,enablePoints:()=>y({snapToPoints:!0}),disablePoints:()=>y({snapToPoints:!1}),togglePoints:()=>y({snapToPoints:!c.slowState.snapToPoints}),linesEnabled:()=>c.slowState.snapToLines,enableLines:()=>y({snapToLines:!0}),disableLines:()=>y({snapToLines:!1}),toggleLines:()=>y({snapToLines:!c.slowState.snapToLines}),intersectionsEnabled:()=>c.slowState.snapToIntersections,enableIntersections:()=>y({snapToIntersections:!0}),disableIntersections:()=>y({snapToIntersections:!1}),toggleIntersections:()=>y({snapToIntersections:!c.slowState.snapToIntersections}),gridEnabled:()=>c.slowState.snapToGrid,enableGrid:()=>y({snapToGrid:!0}),disableGrid:()=>y({snapToGrid:!1}),toggleGrid:()=>y({snapToGrid:!c.slowState.snapToGrid}),parallelEnabled:()=>c.slowState.snapToParallel,enableParallel:()=>y({snapToParallel:!0}),disableParallel:()=>y({snapToParallel:!1}),toggleParallel:()=>y({snapToParallel:!c.slowState.snapToParallel}),getThreshold:()=>c.snapThreshold*c.slowState.modifiers.proximity,setThreshold:F=>{c.snapThreshold=Math.max(5,Math.min(50,F))},isActive:()=>c.isSnapping,getSnapPoint:()=>c.snapPoint,getActiveGuides:()=>c.activeSnapGuides,getTargets:()=>c.snapTargets};function kn(){y({selectedPoints:c.polygon.points.map((F,$)=>$)})}function aa(F){y({bounds:F})}return ae(i),{state:c,setState:y,emitter:u,modifiers:N,stamps:re,history:un,key:Le,setScale:je,clock:$e,pointer:Qe,blur:Ze,pointerDown:Ct,pointerUp:xt,setShape:xn,label:Pt,tools:Sn,snap:sa,selectAllPoints:kn,setBounds:aa,lockAspectRatio:Ne,unlockAspectRatio:fe}}function Bs(e){let t=Math.max(...e.map(a=>a[0])),n=Math.min(...e.map(a=>a[0])),i=Math.max(...e.map(a=>a[1])),r=Math.min(...e.map(a=>a[1]));for(let a of e)if(a[0]!==n&&a[0]!==t&&a[1]!==r&&a[1]!==i||a[0]<n||a[0]>t||a[1]<r||a[1]>i)return!1;return!0}function Br(e){if(!e)return null;if(e.points.length>2){let t=Math.min(...e.points.map(a=>a[0])),n=Math.min(...e.points.map(a=>a[1])),i=Math.max(0,...e.points.map(a=>a[0])),r=Math.max(0,...e.points.map(a=>a[1]));return{x:t,y:n,width:i-t,height:r-n}}return null}function sb(e){return e.type==="SvgSelector"}function n_(e){return e.type==="BoxSelector"}function Od(e,t){if(sb(e)){let l=e.svgShape==="polyline";if(!e.points||e.points.length===0)return null;if(t){let{width:u,height:f}=t;return{type:"SvgSelector",value:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${u} ${f}" width="${u}" height="${f}"><${l?"polygon":"polyline"} points="${e.points.map(c=>c.join(",")).join(" ")}" /></svg>`}}return{type:"SvgSelector",value:`<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g><path d='M${e.points.map(u=>u.join(",")).join(" ")}${l?" Z":""}' /></g></svg>`}}if(!e.spatial)return null;let{x:n,y:i,width:r,height:a}=e.spatial||{};return!r||!a?null:{type:"FragmentSelector",value:`xywh=${~~n},${~~i},${~~r},${~~a}`}}function Vs(e,t){if(!e||!e.points.length)return null;if(Bs(e.points)){let n=e.points.map(f=>f[0]),i=e.points.map(f=>f[1]),r=Math.min(...n),a=Math.min(...i),l=Math.max(...n)-r,u=Math.max(...i)-a;return Od({type:"BoxSelector",spatial:{x:r,y:a,width:l,height:u}},t)}return Od({type:"SvgSelector",points:e.points,svgShape:e.open?"polygon":"polyline"},t)}function pl(e){if(e.type==="polygon"&&!e.noBox&&e.points&&Bs(e.points)){let n=Br({open:!1,points:e.points||[]});return pl({...e,type:"box",selector:n})}if(e.type==="polygon"||e.type==="draw")return{polygon:{points:e.points||[],open:e.open||!1},requestType:e.type,boundingBox:Br({points:e.points||[],open:!1}),metadata:{},arguments:e.arguments||{},target:Vs({points:e.points||[],open:!1},e.bounds)};let t=e.selector;if(t){let n=[[t.x,t.y],[t.x+t.width,t.y],[t.x+t.width,t.y+t.height],[t.x,t.y+t.height]];return{polygon:{points:n,open:!1},requestType:e.type,boundingBox:t,metadata:{},target:Vs({points:n,open:!1},e.bounds),arguments:e.arguments||{}}}return{polygon:{points:[],open:!1},requestType:e.type,boundingBox:null,target:null,metadata:{},arguments:e.arguments||{}}}var i_={shapeId:null,noShape:!0,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,lastCreationTool:null,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:0},bounds:null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,transitionModifiers:null,selectedStamp:null,bezierLines:[],boxMode:!1,fixedAspectRatio:!1,cursor:"",enabledTools:["pointer","pen","box","lineBox","stamp","hand","line","pencil"],canDelete:!0,canDeselect:!0,isToolSwitchingLocked:!1,currentTool:"box",snapEnabled:!1,snapToPoints:!1,snapToLines:!1,snapToIntersections:!1,snapToGrid:!1,snapToParallel:!1};function sg({events:e,enabledTools:t,keyboardShortcutMapping:n,keyboardShortcutsEnabled:i=!1,debug:r}){let a=zn((u,f)=>{let h=null,m=ob({emitter:e,keyboardShortcutsEnabled:i,keyboardShortcutMapping:n,enabledTools:t,customSetState:v=>{r&&console.log("partial state",v),u(w=>({polygonState:{...w.polygonState,...v}}))}},v=>{u(w=>w.tool.requestId?{polygon:{...v,id:w.tool.requestId}}:{polygon:{id:void 0,points:[],open:!0}}),e.emit("atlas.polygon-update",v)});return{mode:"explore",tool:{enabled:!1,requestId:null,canvasId:null},requestType:null,requests:{},history:m.history,polygon:null,validRequestIds:[],metadata:{},stableViewport:null,canvasRelativePositions:{},canvasViewports:{},polygons:m,polygonState:i_,setMetadata:(v,w)=>{let y=w||f().tool.requestId;y&&u(S=>({metadata:{...S.metadata,[y]:{...S.metadata[y]||{},...v}}}))},setToolCanvasId:v=>{u(w=>({tool:{...w.tool,canvasId:v}}))},switchTool:{pointer(){u({mode:"sketch"}),l.tools.setTool("pointer")},hand(){u({mode:"explore"}),l.tools.setTool("hand")},draw(){u({mode:"sketch"}),l.tools.setTool("pencil")},pen(){u({mode:"sketch"}),l.tools.setTool("pen")},line(){u({mode:"sketch"}),l.tools.setTool("line")},lineBox(){u({mode:"sketch"}),l.tools.setTool("lineBox")},box(){u({mode:"sketch"}),l.tools.setTool("box")},triangle(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.triangle()},hexagon(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.hexagon()},circle(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.circle()},remove(){let v=f();v.tool.requestId&&(m.setShape({points:[],open:!0}),v.cancelRequest(v.tool.requestId))}},reset:()=>{let v=f();v.tool.requestId&&v.cancelRequest(v.tool.requestId)},setPolygonState:v=>u({polygonState:typeof v=="function"?v(f().polygonState):v}),getRequestId:()=>{let v=Math.random().toString(36).slice(2);return u(w=>({validRequestIds:[...w.validRequestIds,v]})),{requestId:v,clear:()=>{f().tool.requestId,u(w=>({tool:w.tool.requestId===v?{enabled:!1,requestId:null,canvasId:null}:w.tool,validRequestIds:w.validRequestIds.filter(y=>y!==v)}))}}},cancelRequest:v=>{let w=v||f().tool.requestId;w&&(u(y=>({mode:"explore",tool:y.tool.requestId===w?{enabled:!1,requestId:null,canvasId:null}:y.tool,validRequestIds:y.validRequestIds.filter(S=>S!==w)})),e.emit("atlas.request-cancelled",{id:w}))},requestAnnotation:async(v,w)=>{let S={...f().requests,[w.requestId]:v},E=pl(v);r&&console.log("requestAnnotation",{response:E,request:v});try{let{points:R=[],open:b=!0}=E.polygon||{},{requestId:I,canvasId:M=null,toolId:T}=w,_=T,U=f(),H=U.validRequestIds.includes(I),Z=E.requestType;return r&&console.log("setting points",{requestType:Z,points:R,open:b}),!H||U.tool.enabled?null:(m.setShape({id:I,points:R,open:b}),Z==="polygon"&&(_=_||"pen",m.tools.setTool("pen")),Z==="draw"&&(_=_||"draw",m.tools.setTool("pencil")),Z==="box"&&(_=_||"box",m.tools.setTool("box")),Z==="target"?(_=_||"box",m.tools.setTool("box"),m.lockAspectRatio(),m.tools.lockToolSwitching(),m.tools.setCanDeselect(!1),m.tools.setCanDelete(!1)):(m.tools.unlockToolSwitching(),m.tools.setCanDeselect(!0),m.tools.setCanDelete(!0)),v.bounds&&m.setBounds(v.bounds),e.emit("atlas.annotation-request",{id:I}),u({polygon:{id:I,points:R,open:b},mode:"sketch",requestType:Z,tool:{enabled:!0,requestId:I,canvasId:M},requests:S}),_?U.switchTool[_]?.():R.length===0&&U.switchTool.box(),(typeof v.selectByDefault>"u"&&R.length&&Z==="box"||v.selectByDefault)&&U.switchTool.pointer(),new Promise(B=>{let G=ce=>{ce.id===I&&(u(J=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(J.requests).filter(([te])=>te!==I))})),e.off("atlas.request-cancelled",G),e.off("atlas.annotation-completed",K),B(null))},K=ce=>{ce.id===I&&(u(J=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(J.requests).filter(([te])=>te!==I))})),e.off("atlas.annotation-completed",K),e.off("atlas.request-cancelled",G),B(ce))};e.on("atlas.request-cancelled",G),e.on("atlas.annotation-completed",K)}))}catch(R){return console.error(R),null}},completeRequest:v=>{let w=f().tool.requestId;if(typeof v=="string"&&v&&v!==w)return;let y=w?f().requests[w]?.arguments||{}:{},S=w?f().metadata[w]||{}:{},E=f().polygonState.bounds,R=f().polygon;R&&(e.emit("atlas.annotation-completed",{id:R.id,polygon:R,requestType:f().requestType,target:Vs(R,E),canvasId:f().tool.canvasId,boundingBox:Br(R),metadata:S,arguments:{...y}}),m.setShape(null))},setAtlasRuntime:v=>{h=v,e.emit("atlas.ready",{runtime:v}),l.setScale(1/h._lastGoodScale),h.world.addLayoutSubscriber((w,y)=>{(w==="event-activation"||w==="zoom-to"||w==="go-home")&&h?._lastGoodScale&&!Number.isNaN(h._lastGoodScale)&&l.setScale(1/h._lastGoodScale)})},clearAtlasRuntime:()=>{h=null,u({stableViewport:null})},setCanvasRelativePosition:(v,w)=>{u(y=>({canvasRelativePositions:{...y.canvasRelativePositions,[v]:w}}))},clearCanvasRelativePosition:v=>{u(w=>{let y={...w.canvasRelativePositions};return delete y[v],{canvasRelativePositions:y}})},changeMode:v=>{u({mode:v})},nudgeLeft:()=>{},nudgeRight:()=>{},nudgeUp:()=>{},nudgeDown:()=>{},zoomIn:()=>{h?.world?.zoomIn()},zoomOut:()=>{h?.world?.zoomOut()},goHome:()=>{h?.world?.goHome()}}}),l=a.getState().polygons;return e.on("atlas.annotation-request",()=>{l.clock.start((u,f,h)=>{e.emit("atlas.polygon-render",{state:u,slowState:f,dt:h})},u=>{typeof u=="object"?a.setState({polygonState:u}):a.setState(f=>({polygonState:u(f.polygonState)}))})}),e.on("atlas.annotation-completed",()=>{l.clock.stop()}),e.on("atlas.request-cancelled",()=>{l.clock.stop()}),a}var lg=A(D(),1),ko=(0,rr.createContext)(null);function st(){return(0,rr.useContext)(ko)}var ag={};function ug(e="atlas"){return ag[e]?.getState()}function js({children:e,name:t="atlas",existing:n,atlasStoreConfig:i}){let r=rg(),a=(0,rr.useContext)(ko),l=(0,rr.useMemo)(()=>n||a||sg({events:r,...i||{}}),[r,n,a]),u=ve(l,f=>f.mode);return(0,rr.useEffect)(()=>{let f=t;return f&&(ag[f]=l),()=>{f&&delete ag[f]}},[l,t]),(0,lg.jsx)(ko.Provider,{value:l,children:(0,lg.jsx)(zs.Provider,{value:u||"explore",children:e})})}var cg=A(Q(),1);function ml(e=ir){return{addEventListener(t,n,i,r){if(t)return e.setMetaValue([t.id,"eventManager",n],a=>{let l=a||[];for(let u of l)if(u.callback===i)return l;return[...l,{callback:i,scope:r}]}),i},removeEventListener(t,n,i){t&&e.setMetaValue([t.id,"eventManager",n],r=>(r||[]).filter(a=>a.callback!==i))},getListenersAsProps(t,n){let i=typeof t=="string"?{id:t}:t;if(!i||!i.id)return{};let r=e.getResourceMeta(i.id,"eventManager"),a={};if(r&&i)for(let l of Object.keys(r))a[l]=u=>{let f=e.get(i);for(let{callback:h,scope:c}of r[l]||[])(!c||n&&c.indexOf(n)!==-1)&&h(u,f)};return a}}}function gl(e,t){let n=ze(),i=(0,cg.useMemo)(()=>ml(n),[n]),r=qe(()=>e&&e.id?n.getResourceMeta(e.id,"eventManager"):null,[e]);return(0,cg.useMemo)(()=>e?i.getListenersAsProps(e,t):{},[r,e,n,t])}var ab=A(Q(),1);function Vr(e=ir){return{applyStyles(t,n,i){let r=typeof t=="string"?t:t.id;return e.setMetaValue([r,"styles",n],i)},getAppliedStyles(t){let n=typeof t=="string"?t:t.id;return e.getResourceMeta(n,"styles")}}}function Lo(e,t){let n=ze(),i=(0,ab.useMemo)(()=>Vr(n),[n]);return qe(()=>{if(!e)return null;let r=i.getAppliedStyles(e.id);return r?t?r[t]:r:void 0},[e,t])}var cb=A(Q(),1);var lb=A(Q(),1);function yl(e={},t=[]){let{id:n,selector:i}=e,r=rn(),a=ze(),l=n||r.annotation,u=qe(h=>l?h.iiif.entities.Annotation[l]:void 0,[l]),f=qe(h=>u&&u.body?u.body.map(c=>c?c.type==="SpecificResource"?{...c,source:a.get(c)}:c?h.iiif.entities[c.type][c.id]:null:null).filter(Boolean):[],[u]);return(0,lb.useMemo)(()=>{if(!u)return;let h={...u,body:f,target:qt(u.target,{typeMap:a.getState().iiif.mapping})};return i?i(h):h},[u,i,f,...t])}var ub=A(Q(),1);function Ce(e={},t=[]){let{id:n,selector:i}=e,r=rn(),a=n||r.canvas,l=qe(u=>a?u.iiif.entities.Canvas[a]:void 0,[a]);return(0,ub.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...t])}var db=A(D(),1),vl=({id:e,style:t,className:n,interactive:i})=>{let r=yl({id:e}),a=Lo(r,"atlas"),l=Lo(r,"html"),u=gl(r,["atlas"]),f=Ce(),h=(0,cb.useMemo)(()=>H1(t,a),[t,a]);return f&&r&&r.target&&r.target.selector&&r.target.selector.type==="BoxSelector"&&r.target.source&&(r.target.source.id===f.id||r.target.source===f.id)?(0,db.jsx)(D1,{id:r.id,isEditing:!0,region:r.target.selector.spatial,style:h,className:l?.className||n,interactive:!!(l?.href||i),href:l?.href||null,title:l?.title||null,hrefTarget:l?.target||null,onClick:()=>{},...u}):null};var hb=A(Q(),1);var fb=A(Q(),1);function dg(e={},t=[]){let{id:n,selector:i}=e,r=rn(),a=n||r.annotationPage,l=qe(u=>a?u.iiif.entities.AnnotationPage[a]:void 0,[a]);return(0,fb.useMemo)(()=>{if(l)return i?i(l):l},[l,...t])}var fg=A(D(),1),Hs=({className:e,page:t})=>{let n=dg({id:t.id})||t,i=Lo(n,"atlas"),r=Lo(n,"html");return qe(a=>n.id?a.iiif.entities.AnnotationPage[n.id]:null,[]),(0,fg.jsx)(hb.Fragment,{children:n.items?.map(a=>(0,fg.jsx)(vl,{id:a.id,style:i,className:r?.className||e},a.id))})};var jr=A(Q(),1),kd=A(D(),1),pb=(0,jr.createContext)(null),mb=(0,jr.createContext)(null),gb=(0,jr.createContext)(null);function r_(){let e=(0,jr.useContext)(pb);if(!e)throw new Error("Ctx not found");return e}function o_(){let e=(0,jr.useContext)(mb);if(!e)throw new Error("Ctx not found");return e}function s_(){let e=(0,jr.useContext)(gb);if(!e)throw new Error("Ctx not found");return e}function xl({actions:e,state:t,children:n,currentTime:i,progress:r,element:a}){return(0,kd.jsx)(gb.Provider,{value:{currentTime:i,progress:r,element:a},children:(0,kd.jsx)(mb.Provider,{value:e,children:(0,kd.jsx)(pb.Provider,{value:t,children:n})})})}var Sb=A(Q(),1);function yb(e,t,n=[],i=!1,r=[]){if(r.length&&(t=t.filter(l=>r.indexOf(l)===-1)),!t||t.length===0)return;if(t.length===1)return t[0];if(!e)return t.indexOf("none")===-1?t[0]:"none";if(t.indexOf(e)!==-1)return e;let a=e.indexOf("-")===-1?null:e.slice(0,e.indexOf("-"));if(a&&t.indexOf(a)!==-1)return a;for(let l of n)if(t.indexOf(l)!==-1)return l;if(!i&&e){let l=t.map(f=>f.indexOf("-")===-1?null:f.slice(0,f.indexOf("-"))),u=l.indexOf(e);if(u!==-1)return t[u];for(let f of n){let h=f.indexOf("-")===-1?null:f.slice(0,f.indexOf("-")),c=h?t.indexOf(h):-1;if(c!==-1)return t[c]}}return t.indexOf("none")===-1?t.indexOf("@none")===-1?t[0]:"@none":"none"}function hg(e,t,n={}){let{strictFallback:i=!1,defaultText:r="",separator:a=`
77
- `,fallbackLanguages:l=[],closest:u,skipLanguages:f}=n,h=Object.keys(e||{}),c=u?t:yb(t,h,l,i,f);if(!e)return r;if(typeof e=="string")return e;let m=c?e[c]:void 0;if(m&&c){if(typeof m=="string")return m;if(m.length===1&&m[0]===""){let v=n.skipLanguages||[];return hg(e,t,{...n,skipLanguages:[...v,c]})}return m.join(a)}return""}function Ld(e,t={}){return hg(e,t.language||(typeof navigator<"u"?navigator.language:"en"),t)}var a_=vb();function vb(e={}){return(t,...n)=>{let i="";for(let r=0;r<t.length;r++)if(i+=t[r],r<n.length){let a=n[r];if(a==null)continue;typeof a=="string"?i+=a:i+=Ld(a,e)}return i}}function xb(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function pg(e=ir){function t(r){let a=r?typeof r=="string"?e.get(r):r:null;if(!a)return[];let l=e.get(a.items,{parent:a}),u=[];for(let f of l)u.push(...e.get(f.items,{parent:f}));return u}function n(r,a=[]){let l=Array.isArray(r)?r:t(r),u=[],f={items:[],type:"complex-choice"},h=[];for(let c of l){if(c.type!=="Annotation")throw Error("getPaintables() accept either a canvas or list of annotations");let m=Array.from(Array.isArray(c.body)?c.body:[c.body]);for(let v of m){let[w,{selector:y}]=xb(v),S=e.get(w),E=(S.type||"unknown").toLowerCase();if(E==="choice"){let R=e.get(S.items,{parent:S.id}),b=a.length?a.map(I=>R.find(M=>M.id===I)).filter(Boolean):[R[0]];b.length===0&&b.push(R[0]),f.items.push({type:"single-choice",items:R.map(I=>({id:I.id,label:I.label,selected:b.indexOf(I)!==-1})),label:w.label}),m.push(...b);continue}u.indexOf(E)===-1&&u.push(E),h.push({type:E,annotationId:c.id,annotation:c,resource:S,target:c.target,selector:y})}}return{types:u,items:h,choice:f.items.length<2?f.items[0]||null:f,allChoices:f.items.length?f:null}}function i(r){let{choice:a}=n(r);return a}return{getAllPaintingAnnotations:t,getPaintables:n,extractChoices:i}}function Sl(){let e=It(),t=Ce();return(0,Sb.useMemo)(()=>{if(!e||!t||!e.start)return null;let n=qt(e.start);return!n||n.source.id!==t.id||!n||!n.selector||n.selector.type!=="TemporalSelector"?null:n.selector.temporal},[e,t])}var bt=A(Q(),1);function wb(e){return{isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:e}}function l_(e,t){switch(t.type){case"RESET":return t.state;case"FINISHED":return{...e,isFinished:!0,isPlaying:!1,playRequested:!1};case"PLAY_PAUSE":return{...e,isFinished:!1,isPlaying:!e.isPlaying};case"PLAY_REQUESTED":return{...e,isFinished:!1,playRequested:!0};case"PAUSE":return{...e,isPlaying:!1};case"PLAY":return{...e,isFinished:!1,playRequested:!1,isPlaying:!0};case"MUTE":return{...e,isMuted:!0};case"SET_VOLUME":return{...e,volume:t.volume,isMuted:t.volume===0};case"TOGGLE_MUTE":return{...e,isMuted:!e.isMuted};case"UNMUTE":return{...e,isMuted:!1}}return e}function Fd(e){let t=Math.round(e);return`${Math.floor(t/60)}:${`${t%60}`.padStart(2,"0")}`}function Fo(e){let[t,n]=(0,bt.useReducer)(l_,wb(e.duration));(0,bt.useEffect)(()=>{n({type:"RESET",state:wb(e.duration)})},[e.duration]);let i=(0,bt.useRef)(null),r=(0,bt.useRef)(null),a=(0,bt.useRef)(null),l=(0,bt.useRef)(!1),u=(0,bt.useCallback)(()=>{r.current&&i.current&&(r.current.innerHTML=Fd(i.current.currentTime),a.current&&(a.current.style.width=`${i.current.currentTime/e.duration*100}%`),l.current!==i.current.muted&&(l.current=i.current.muted,n(i.current.muted?{type:"MUTE"}:{type:"UNMUTE"})))},[e.duration]),f=(0,bt.useCallback)(()=>{i.current&&(n({type:"PLAY_REQUESTED"}),i.current.play().then(()=>{n({type:"PLAY"})}),u())},[u]),h=(0,bt.useCallback)(()=>{i.current&&(i.current.duration>0&&i.current.paused?f():c())},[u]),c=(0,bt.useCallback)(()=>{i.current&&(i.current.pause(),n({type:"PAUSE"}),u())},[u]),m=(0,bt.useCallback)(()=>{i.current&&(i.current.muted=!i.current.muted,n(i.current.muted?{type:"MUTE"}:{type:"UNMUTE"}))},[]),v=(0,bt.useCallback)(()=>{i.current&&(i.current.muted=!0,n({type:"MUTE"}))},[]),w=(0,bt.useCallback)(()=>{i.current&&(i.current.muted=!1,n({type:"UNMUTE"}))},[]),y=(0,bt.useCallback)(R=>{i.current&&(i.current.muted=!1,i.current.volume=R/100,n({type:"SET_VOLUME",volume:R}))},[]),S=(0,bt.useCallback)(R=>{i.current&&(i.current.currentTime=Math.max(0,Math.min(R*e.duration,e.duration)),u())},[]),E=(0,bt.useCallback)(R=>{if(i.current){let b=typeof R=="function"?R(i.current.currentTime):R;i.current.currentTime=Math.max(0,Math.min(b,e.duration)),u()}},[]);return(0,bt.useEffect)(()=>{let R=setInterval(()=>{u()},350);return()=>clearInterval(R)},[u,e.duration]),(0,bt.useEffect)(()=>{let R=()=>{n({type:"FINISHED"})},b=i.current;return b?.addEventListener("ended",R),()=>b?.removeEventListener("ended",R)},[]),[{element:i,currentTime:r,progress:a},t,{play:f,pause:c,playPause:h,mute:v,unmute:w,toggleMute:m,setVolume:y,setDurationPercent:S,setTime:E}]}var No=A(Q(),1),mg=(0,No.createContext)(()=>{}),gg=(0,No.createContext)(()=>{});function Kt(e,t,n,i,r=[]){let a=(0,No.useContext)(e==="portal"?gg:mg);(0,No.useEffect)(()=>(e!=="none"&&a(t,n,i),()=>{a(t,null)}),[t,e,a,...r])}var zd=A(D(),1);function yg({media:e,startTime:t,children:n}){let[{element:i,currentTime:r,progress:a},l,u]=Fo({duration:e.duration}),f=t?`${e.url}#t=${t}`:e.url;return(0,zd.jsxs)(xl,{state:l,actions:u,currentTime:r,progress:a,element:i,children:[(0,zd.jsx)("audio",{ref:i,src:f}),n]},e.url)}function Nd({media:e,mediaControlsDeps:t,audioCopmonent:n=yg,children:i}){let r=Sl();return Kt("portal","audio",n,{media:e,startTime:r?r.startTime:null,children:i},[e,r,...t||[]]),null}var Dd=A(Q(),1),Hr=(0,Dd.createContext)(null);Hr.displayName="Strategy";function gt(){let e=(0,Dd.useContext)(Hr);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var Wr=A(D(),1);function vg({model:e}){return(0,Wr.jsxs)(Wr.Fragment,{children:[(0,Wr.jsx)("style",{children:`
76
+ `}),i.htmlChildren]})},Id=()=>(0,k1.useContext)(wd),Cd=()=>{let e=Id();return e?e.runtime:void 0};var F1=(e,t=[])=>{let n=Cd();(0,L1.useEffect)(()=>n?n.registerHook("useFrame",e):()=>{},t)},Pd=()=>{let e=Id();return e&&e.canvas?e.canvas:void 0};function rM(){return(0,N1.useContext)(bd)}async function oM(e,t,n){if(z1.version.startsWith("18.")){let i=await Promise.resolve().then(()=>A(Kw(),1)),r=i.default?i.default.createRoot:i.createRoot;n.current||(n.current=r(e)),n.current.render(t)}else if(typeof ReactDOM<"u"){let{render:i,unmountComponentAtNode:r}=ReactDOM;i(t,e),n.current={unmount(){r(e)}}}else{let i=await Promise.resolve().then(()=>A(Oo(),1)),r=i.default?i.default.render:i.render,s=i.default?i.default.unmountComponentAtNode:i.unmountComponentAtNode;r(t,e),n.current={unmount(){s(e)}}}}var jn=Wi.default.forwardRef(({children:e,...t},n)=>{let i=(0,Wi.useRef)(),r=Cd(),s=(0,Wi.useRef)(0),l=(0,Wi.useRef)(),u=(0,Wi.useRef)();return F1(()=>{if(t.relative){let f=i.current;if(f&&r){let p=r.getScaleFactor();s.current!==p&&(s.current=p,f.style.transformOrigin="0 0",f.style.transform=`scale(${1/s.current})`,f.style.width=`${s.current*100}%`,f.style.height=`${s.current*100}%`,i.current&&l.current?.__owner.value?.rotation&&(f.style.transform=`scale(${1/s.current}) translate(50%, 50%) rotate(${l.current?.__owner.value?.rotation||0}deg) translate(-50%, -50%)`))}}},[t.relative]),(0,Wi.useLayoutEffect)(()=>{let f=l.current;n&&f&&(typeof n=="function"?n(f):n.current=f);async function p(){if(f&&f.__host){let c=t.relative?(0,eg.jsx)("div",{ref:i,children:e}):e;await oM(f.__host.element,c,u)}}f&&f.__host?p():f&&(f.__onCreate=p)},[n,e,l,t.relative]),(0,Wi.useLayoutEffect)(()=>()=>{u.current&&setTimeout(()=>{u.current.unmount()},0)},[]),(0,eg.jsx)("box",{html:!0,...t,ref:l})});jn.displayName="HTMLPortal";var u1=(e,t,n=[])=>{let i=Cd(),r=i?i.world:void 0;(0,B1.useEffect)(()=>{if(i){let s=t,l=Ds[e];i.world.activatedEvents.push(l);let u=l.slice(2).toLowerCase();return i.world.addEventListener(u,s),()=>{i.world.removeEventListener(u,s)}}return()=>{}},[r,e,...n])};function c1(e,t){if(e===0)return[0,1];if(t===0)return[1,0];let n=Math.abs(e)/Math.abs(t);return[n,1-n]}function sM(){let e=(0,Ad.useRef)({ctrl:!1,shift:!1,alt:!1});return(0,Ad.useLayoutEffect)(()=>{function t(i){i.key==="Shift"&&(e.current.shift=!0),i.key==="Control"&&(e.current.ctrl=!0),i.key==="Alt"&&(e.current.alt=!0)}function n(i){i.key==="Shift"&&(e.current.shift=!1),i.key==="Control"&&(e.current.ctrl=!1),i.key==="Alt"&&(e.current.alt=!1)}return window.addEventListener("keydown",t),window.addEventListener("keyup",n),()=>{window.removeEventListener("keydown",t),window.removeEventListener("keyup",n)}},[]),e}var aM=(e,t)=>{let n=VT(),i=Cd(),r=rM(),s=(0,Vt.useRef)(),l=(0,Vt.useRef)(null),u=(0,Vt.useRef)(),[f,p]=(0,Vt.useState)(!1),c=(0,Vt.useRef)(!1),m=(0,Vt.useRef)({north:0,south:0,east:0,west:0}),y=sM(),w=(0,Vt.useCallback)(b=>I=>{if(c.current=!0,p(!0),r&&i){let{top:M,left:T}=r,_=i.viewerToWorld(I.pageX-T,I.pageY-M);u.current={x:_.x,y:_.y},s.current=b}},[r,i]),v=(0,Vt.useMemo)(()=>e.width/e.height,[e.width,e.height]),S=(0,Vt.useCallback)(b=>{if(!Math.abs(b.north-b.south+(b.east-b.west)))return;let I=-b.west+b.east,M=-b.north+b.south,T=e.width+I,_=e.height+M;if(T/_>=v){let U=_*v,H=T-U,[Z,B]=c1(b.east,b.west);b.west=b.west+H*B,b.east=b.east-H*Z}else{let U=T/v,H=_-U,[Z,B]=c1(b.north,b.south);b.north=b.north+H*Z,b.south=b.south-H*B}},[e.width,e.height,v]);F1(()=>{u&&i&&i.updateNextFrame()}),(0,Vt.useEffect)(()=>{i&&i.updateNextFrame()},[i,f]);let E=(0,Vt.useCallback)(b=>{if(!i||!r||i.mode!=="sketch")return;let{top:I,left:M}=r,T=i.viewerToWorld(b.pageX-M,b.pageY-I),_=l.current,U=!e.maintainAspectRatio&&y.current.alt,H=!U&&y.current.shift&&s.current?.indexOf("-")!==-1;if((s.current==="translate"||s.current==="east"||s.current==="north-east"||s.current==="south-east")&&(m.current.east=T.x-(u.current?u.current.x:0),U&&(m.current.west=-m.current.east)),(s.current==="translate"||s.current==="west"||s.current==="north-west"||s.current==="south-west")&&(m.current.west=T.x-(u.current?u.current.x:0),U&&(m.current.east=-m.current.west)),(s.current==="translate"||s.current==="north"||s.current==="north-east"||s.current==="north-west")&&(m.current.north=T.y-(u.current?u.current.y:0),U&&(m.current.south=-m.current.north)),(s.current==="translate"||s.current==="south"||s.current==="south-west"||s.current==="south-east")&&(m.current.south=T.y-(u.current?u.current.y:0),U&&(m.current.north=-m.current.south)),(e.maintainAspectRatio||H)&&S(m.current),_){let Z=m.current.west,B=m.current.north,G=e.width+m.current.east,K=e.height+m.current.south;_.points[1]=Math.min(Z,G),_.points[2]=Math.min(B,K),_.points[3]=Math.max(Z,G),_.points[4]=Math.max(B,K),i.updateNextFrame()}},[i,e.width,e.height,e.maintainAspectRatio,r]);u1("mousemove",E,[e.width,e.height,r]),u1("pointermove",E,[e.width,e.height,r]);let R=(0,Vt.useRef)();return(0,Vt.useEffect)(()=>{R.current=()=>{if(c.current){let b=m.current.west,I=m.current.north,M=e.width+m.current.east,T=e.height+m.current.south,_=Math.min(b,M),U=Math.min(I,T),H=Math.max(b,M),Z=Math.max(I,T),B={x:(e.x||0)+_,y:(e.y||0)+U,width:H-_||1,height:Z-U||1};e.maintainAspectRatio,t(B),s.current=void 0,u.current=void 0,m.current.east=0,m.current.west=0,m.current.north=0,m.current.south=0,c.current=!1,p(!1)}}},[t,e.height,e.width,e.x,e.y]),(0,Vt.useEffect)(()=>{let b=()=>{R.current&&R.current()};return window.addEventListener("pointerup",b),window.addEventListener("touchend",b),()=>{window.removeEventListener("pointerup",b),window.removeEventListener("touchend",b)}},[]),{portalRef:l,mode:n,mouseEvent:w,onPointerMoveCallback:E,isEditing:f}};function lM({handleSize:e,resizable:t,onSave:n,children:i,maintainAspectRatio:r,disableCardinalControls:s,...l}){let u=typeof e>"u"?r?10:8:e,{portalRef:f,mode:p,mouseEvent:c,isEditing:m}=aM({x:l.x||0,y:l.y||0,width:l.width,height:l.height,maintainAspectRatio:r},n),y=(0,Hi.useMemo)(()=>c("translate"),[c]),w=(0,Hi.useMemo)(()=>c("east"),[c]),v=(0,Hi.useMemo)(()=>c("west"),[c]),S=(0,Hi.useMemo)(()=>c("south"),[c]),E=(0,Hi.useMemo)(()=>c("north"),[c]),R=(0,Hi.useMemo)(()=>c("south-east"),[c]),b=(0,Hi.useMemo)(()=>c("south-west"),[c]),I=(0,Hi.useMemo)(()=>c("north-east"),[c]),M=(0,Hi.useMemo)(()=>c("north-west"),[c]),T=p==="sketch",_={zIndex:999,boxShadow:"0px 2px 3px 0 rgba(0,0,0,0.2)",border:"1px solid rgba(155,155,155,.7)",borderRadius:r||s?"50%":2,position:"absolute",background:"#fff",pointerEvents:m?"none":T?"initial":"none"};return(0,_t.jsx)(_t.Fragment,{children:(0,_t.jsxs)("world-object",{...l,children:[i,T&&t?(0,_t.jsx)(jn,{ref:f,target:{x:0,y:0,height:l.height,width:l.width},relative:!0,interactive:!1,children:T&&t?(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("div",{onMouseDown:y,onTouchStart:y,style:{display:"block",width:"100%",height:"100%",position:"relative",border:"1px solid rgba(155,155,155, .7)",boxSizing:"border-box",pointerEvents:m?"none":T?"initial":"none"}}),r?null:(0,_t.jsxs)(_t.Fragment,{children:[(0,_t.jsx)("div",{title:"east",onTouchStart:w,onMouseDown:w,style:{..._,cursor:"e-resize",height:u*2,width:u,right:0,top:"50%",opacity:s?0:1,transform:`translate(${u/2}px, -${u}px)`}}),(0,_t.jsx)("div",{title:"west",onMouseDown:v,style:{..._,cursor:"w-resize",position:"absolute",height:u*2,width:u,left:0,top:"50%",opacity:s?0:1,transform:`translate(-${u/2}px, -${u}px)`}}),(0,_t.jsx)("div",{title:"north",onMouseDown:E,style:{..._,cursor:"n-resize",position:"absolute",height:u,width:u*2,left:"50%",top:0,opacity:s?0:1,transform:`translate(-${u}px, -${u/2}px)`}}),(0,_t.jsx)("div",{title:"south",onMouseDown:S,style:{..._,cursor:"s-resize",position:"absolute",height:u,width:u*2,left:"50%",bottom:0,opacity:s?0:1,transform:`translate(-${u}px, ${u/2}px)`}})]}),(0,_t.jsx)("div",{title:"north-east",onMouseDown:I,style:{..._,cursor:"ne-resize",position:"absolute",height:u,width:u,right:0,top:0,transform:`translate(${u/2}px, -${u/2}px)`}}),(0,_t.jsx)("div",{title:"south-east",onMouseDown:R,style:{..._,cursor:"se-resize",position:"absolute",height:u,width:u,bottom:0,right:0,transform:`translate(${u/2}px, ${u/2}px)`}}),(0,_t.jsx)("div",{title:"south-west",onMouseDown:b,style:{..._,cursor:"sw-resize",position:"absolute",height:u,width:u,bottom:0,left:0,transform:`translate(-${u/2}px, ${u/2}px)`}}),(0,_t.jsx)("div",{title:"north-west",onMouseDown:M,style:{..._,cursor:"nw-resize",position:"absolute",height:u,width:u,top:0,left:0,transform:`translate(-${u/2}px, -${u/2}px)`}})]}):null}):null]})})}function V1({interactive:e,region:t,onClick:n,onSave:i,maintainAspectRatio:r,disableCardinalControls:s,isEditing:l,rotation:u,style:f={backgroundColor:"rgba(0,0,0,.5)"}}){let p=(0,D1.useCallback)(c=>{i({id:t.id,x:t.x,y:t.y,height:t.height,width:t.width,...c})},[i,t.id,t.x,t.y,t.height,t.width]);return(0,tg.jsx)(lM,{x:t.x,y:t.y,rotation:u,width:t.width,height:t.height,resizable:l,onSave:p,maintainAspectRatio:r,disableCardinalControls:s,children:(0,tg.jsx)("box",{interactive:e,onContextMenu:c=>{c.preventDefault(),console.log("menu!")},onClick:c=>{c.preventDefault(),c.stopPropagation(),n(t)},target:{x:0,y:0,width:t.width,height:t.height},style:f})})}function sg(e,t){return e?t?{...e,...t||{},":hover":e[":hover"]?Object.assign(e[":hover"]||{},t[":hover"]||{}):t[":hover"],":active":e[":active"]?Object.assign(e[":active"]||{},t[":active"]||{}):t[":hover"]}:e:t}var or=A(Q(),1);function Ei(e){return{all:e=e||new Map,on:function(t,n){var i=e.get(t);i?i.push(n):e.set(t,[n])},off:function(t,n){var i=e.get(t);i&&(n?i.splice(i.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var i=e.get(t);i&&i.slice().map(function(r){r(n)}),(i=e.get("*"))&&i.slice().map(function(r){r(t,n)})}}}var ko=A(Q(),1),U1=A(D(),1),pM=Ei(),Td=(0,ko.createContext)(pM);function mM({children:e,emitter:t}){return(0,U1.jsx)(Td.Provider,{value:t,children:e})}function ag(){return(0,ko.useContext)(Td)}function Lo(e,t,n=[]){let i=(0,ko.useContext)(Td);(0,ko.useEffect)(()=>{let r=s=>{t(s)};return i.on(e,r),()=>{i.off(e,r)}},[i,e,...n])}function gM(e){return{all:e=e||new Map,on:function(t,n){var i=e.get(t);i?i.push(n):e.set(t,[n])},off:function(t,n){var i=e.get(t);i&&(n?i.splice(i.indexOf(n)>>>0,1):e.set(t,[]))},emit:function(t,n){var i=e.get(t);i&&i.slice().map(function(r){r(n)}),(i=e.get("*"))&&i.slice().map(function(r){r(t,n)})}}}function yM(e,t,n){let[i,r]=e,[s,l]=t,[u,f]=n,p=u-s,c=f-l,m=Math.sqrt(p*p+c*c);if(m===0)return{distance:Math.sqrt((i-s)**2+(r-l)**2),closestPoint:[s,l]};let y=Math.max(0,Math.min(1,((i-s)*p+(r-l)*c)/(m*m))),w=s+y*p,v=l+y*c,S=[w,v];return{distance:Math.sqrt((i-w)**2+(r-v)**2),closestPoint:S}}function vM(e,t,n,i){let[r,s]=e,[l,u]=t,[f,p]=n,[c,m]=i,y=(r-l)*(p-m)-(s-u)*(f-c);if(Math.abs(y)<1e-10)return null;let w=((r-f)*(p-m)-(s-p)*(f-c))/y,v=-((r-l)*(s-p)-(s-u)*(r-f))/y;if(w>=0&&w<=1&&v>=0&&v<=1){let S=r+w*(l-r),E=s+w*(u-s);return[S,E]}return null}function xM(e,t,n){let i=n||t.snapThreshold||15,r=[],[s,l]=e,u=t.polygon.points,f=t.slowState.transitionIntentType==="move-point";if(t.slowState.snapToPoints)for(let p=0;p<u.length;p++){if(f&&t.selectedPoints.includes(p))continue;let c=u[p];if(c[0]===s&&c[1]===l)continue;let m=c[0]-s,y=c[1]-l,w=Math.sqrt(m*m+y*y);w<=i&&r.push({type:"point",point:[c[0],c[1]],source:{pointIndex:p,polygon:t.polygon},distance:w})}if(t.slowState.snapToLines)for(let p=0;p<u.length;p++){if(f&&t.selectedPoints.includes(p))continue;let c=(p+1)%u.length;if(p===c)continue;let m=u[p],y=u[c],{distance:w,closestPoint:v}=yM(e,m,y);w<=i&&r.push({type:"line",point:v,source:{lineIndex:p,polygon:t.polygon},distance:w})}if(t.slowState.snapToIntersections&&u.length>=4)for(let p=0;p<u.length;p++){if(f&&t.selectedPoints.includes(p))continue;let c=(p+1)%u.length,m=u[p],y=u[c];for(let w=p+2;w<u.length;w++){if(f&&t.selectedPoints.includes(w))continue;let v=(w+1)%u.length;if(w===c||v===p)continue;let S=u[w],E=u[v],R=vM(m,y,S,E);if(R){let[b,I]=R,M=Math.sqrt((s-b)**2+(l-I)**2);M<=i&&r.push({type:"intersection",point:R,source:{lineIndex:p,polygon:t.polygon},distance:M})}}}if(t.slowState.snapToParallel)for(let p=0;p<u.length;p++){if(f&&t.selectedPoints.includes(p))continue;let c=u[p],[m,y]=c,w=Math.abs(l-y);w<=i&&r.push({type:"parallel",point:[s,y],source:{pointIndex:p,polygon:t.polygon},distance:w});let v=Math.abs(s-m);v<=i&&r.push({type:"parallel",point:[m,l],source:{pointIndex:p,polygon:t.polygon},distance:v})}return r.sort((p,c)=>p.distance-c.distance)}function SM(e){return e.sort((t,n)=>{let i=t.type==="point"?0:t.type==="intersection"?1:t.type==="parallel"?2:3,r=n.type==="point"?0:n.type==="intersection"?1:n.type==="parallel"?2:3;return i!==r?i-r:t.distance-n.distance})}function wM(e,t){let n=[];for(let i of e)switch(i.type){case"point":n.push({type:"point",points:[i.point],target:i});break;case"line":if(i.source?.lineIndex!==void 0){let r=t.polygon.points,s=i.source.lineIndex,l=(s+1)%r.length,u=r[s],f=r[l];n.push({type:"line",points:[u,f,i.point],target:i})}else n.push({type:"point",points:[i.point],target:i});break;case"intersection":n.push({type:"cross",points:[i.point],target:i});break;case"parallel":if(i.source?.pointIndex!==void 0){let r=t.polygon.points[i.source.pointIndex];n.push({type:"parallel-line",points:[r,i.point],target:i})}break}return n}function Dr(e,t,n=5,i){if(!t.slowState.snapEnabled)return t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null,null;let r=xM(e,t,void 0);if(r.length===0)return t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null,null;let s=SM(r);return t.snapTargets=s,t.activeSnapGuides=wM(s.slice(0,n),t),t.isSnapping=!0,t.snapPoint=s[0].point,t.snapPoint}function Y1(e){e.snapTargets=[],e.activeSnapGuides=[],e.isSnapping=!1,e.snapPoint=null}function bM(e){return e.isSnapping&&e.snapPoint!==null}function pl(e,t){return bM(t)&&t.snapPoint?t.snapPoint:e}var RM={type:"add-open-point",label:"Add point",tools:["pen","line","lineBox"],trigger:{type:"click"},isValid(e,t,n){if(!t.isOpen)return!1;if(t.polygon.points.length===0)return!0;if(t.selectedPoints.length!==1||t.polygon.points.length>=2&&(t.slowState.currentTool==="line"||t.slowState.currentTool==="lineBox"))return!1;if(t.slowState.bounds){let{x:r,y:s,width:l,height:u}=t.slowState.bounds,[f,p]=e[0];if(f<r||f>r+l||p<s||p>s+u)return!1}let i=t.selectedPoints[0];return i===0||i===t.polygon.points.length-1},commit(e,t,n){let i=t.line?t.line[1]:e[0];!n.Shift&&t.slowState.snapEnabled&&(Dr(i,t,3),i=pl(i,t));let r=t.polygon.points;if(r.length===0)return{selectedPoints:[0],points:[i]};n.Shift;let s=t.selectedPoints[0],l=t.slowState.currentTool==="line"||t.slowState.currentTool==="lineBox";if(s===0)return~~r[0][0]===~~i[0]&&~~r[0][1]===~~i[1]?{selectedPoints:[0],points:r}:{selectedPoints:l?[]:[0],points:[i,...r]};let u=r[r.length-1];return~~u[0]===~~i[0]&&~~u[1]===~~i[1]?{selectedPoints:[r.length-1],points:r}:(t.line=null,{selectedPoints:l?[]:[r.length],points:[...r,i]})}};function q1(e,t){return Math.abs(e-t)}function Hn(e,t){let n=q1(e[0],t[0]),i=q1(e[1],t[1]);return Math.sqrt(n**2+i**2)}function lg(e,t){return[e[0]-t[0],e[1]-t[1]]}function EM(e,t){return e[0]*t[0]+e[1]*t[1]}function K1(e){return e[0]*e[0]+e[1]*e[1]}function Md(e,t){return K1(lg(e,t))}function X1(e,t,n,i){return i&&n&&(e<0?e=Math.max(e,-i.x-n.x):e>0&&(e=Math.min(e,i.x+i.width-n.x-n.width)),t<0?t=Math.max(t,-i.y-n.y):t>0&&(t=Math.min(t,i.y+i.height-n.y-n.height))),[e,t]}function Z1(e,t){let n,i,r,s;var l=(v,S,E,R,b)=>{if(R<=E+1)return;let I=E,M=0,T=v*v;n=[S[E],S[R]],i=lg(n[1],n[0]);let _=K1(i),U,H,Z,B,G;for(let K=E+1;K<R;K++)U=lg(S[K],n[0]),B=EM(U,i),B<=0?G=Md(S[K],n[0]):_<=B?G=Md(S[K],n[1]):(Z=B/_,H=[n[0][0]+Z*i[0],n[0][1]+Z*i[1]],G=Md(S[K],H)),!(G<=M)&&(I=K,M=G);M>T&&(b[I]=1,l(v,S,E,I,b),l(v,S,I,R,b))};let u=e.length,f=[],p,c,m,y,w=t*t;for(r=[],s=[],r[0]=e[0],p=c=1,y=0;p<u;p++)Md(e[p],e[y])<w||(r[c++]=e[p],y=p);for(y<u-1&&(r[c++]=e[u-1]),s[0]=s[c-1]=1,l(t,r,0,c-1,s),p=m=0;p<c;p++)s[p]&&(f[m++]=r[p]);return f}function IM(e){if(e.length!==4)return!1;let t=1e-10,n=Math.min(...e.map(u=>u[0])),i=Math.max(...e.map(u=>u[0])),r=Math.min(...e.map(u=>u[1])),s=Math.max(...e.map(u=>u[1]));for(let u of e){let f=Math.abs(u[0]-n)<t||Math.abs(u[0]-i)<t,p=Math.abs(u[1]-r)<t||Math.abs(u[1]-s)<t;if(!f||!p)return!1}let l=[[n,r],[n,s],[i,r],[i,s]];for(let u of l)if(!e.some(f=>Math.abs(f[0]-u[0])<t&&Math.abs(f[1]-u[1])<t))return!1;return!0}function J1(e){let t=e.points.length,n=!1,i=[];if(t>1){e.iedges=[];let r=e.points[t-1];for(let s=0;s<t;s++){let l=r;if(r=e.points[s],r.length===6){let p=r[2],c=r[3],m=r[4],y=r[5];i.push([s,[r[0]+p,r[1]+c],[r[0]+m,r[1]+y]]),n=!0}let u=[r[0]-l[0],r[1]-l[1]],f=u[0]*u[0]+u[1]*u[1];f>0?e.iedges.push([u[0]/f,u[1]/f]):e.iedges.push([0,0])}}else t===1?e.iedges=[[0,0]]:e.iedges=null;e.isBezier=n,e.bezierLines=i}function CM(e,t){let n=1/0,i=null,r=-1,s=e.points.length;if(s<=1)return[null,n,r];let l=e.points[s-1];for(let u=0;u<s;u++){let f=l;l=e.points[u];let p=f[0]-t[0],c=f[1]-t[1],m=p*p+c*c;m<n&&(i=f,n=m,r=u===0?s-1:u-1)}return[i,n,r]}function Od(e){if(e.points.length>2){let t=Math.min(...e.points.map(s=>s[0])),n=Math.min(...e.points.map(s=>s[1])),i=Math.max(0,...e.points.map(s=>s[0])),r=Math.max(0,...e.points.map(s=>s[1]));e.boundingBox={x:t,y:n,width:i-t,height:r-n};return}e.boundingBox=null}function PM(e){return e[0]*e[0]+e[1]*e[1]}function G1(e,t){let n=1/0,i=null,r=-1,s=[],l=e.points.length;if(l<=1)return[null,n,s,r];if(e.iedges===null&&(J1(e),!e.iedges))return[null,n,s,r];let u=e.points[l-1];for(let f=0;f<l;f++){let p=u;u=e.points[f];let c=(t[0]-p[0])*e.iedges[f][0]+(t[1]-p[1])*e.iedges[f][1],m;c<=0?m=p:c<1?m=[(1-c)*p[0]+c*u[0],(1-c)*p[1]+c*u[1]]:m=u;let y=PM([m[0]-t[0],m[1]-t[1]]);y<n&&(i=m,n=y,s=[p,u],r=f===0?l-1:f-1)}return[i,n,s,r]}var cl={type:"bounding-box-corners",label:"Drag to resize",tools:["pointer","box"],modifiers:{Shift:"Maintain aspect ratio",Alt:"Scale from center",Meta:"Rotate"},isValid(e,t,n){if(t.transitionDirection=null,t.transitionRotate=!1,t.isOpen||!t.slowState.boxMode&&t.selectedPoints.length!==t.polygon.points.length||!t.polygon.boundingBox)return!1;let i=n.proximity*.5,r=n.proximity*5,s=e[0],l=t.polygon.boundingBox,u=l.x+i,f=l.x+l.width-i*2,p=l.y+i,c=l.y+l.height-i*2;if(s[0]>u&&s[0]<f&&s[1]>p&&s[1]<c)return!1;let m=[l.x+l.width,l.y+l.height],y=[l.x,l.y],w=[l.x+l.width,l.y],v=[l.x,l.y+l.height],S=["ne","nw","se","sw"],E={ne:w,nw:y,se:m,sw:v},R=[Hn(e[0],w),Hn(e[0],y),Hn(e[0],m),Hn(e[0],v)],b=Math.min(...R),I=R.indexOf(b),M=I===-1?null:S[I],T=M?E[M]:null;if(R[0]<r||R[1]<r||R[2]<r||R[3]<r){if(M){let[_,U]=s;(n.Meta||_>=T[0]-n.proximity*4&&U>=T[1]-n.proximity*4&&_<=T[0]+n.proximity*4&&U<=T[1]+n.proximity*4&&!(_>=T[0]-n.proximity*2&&U>=T[1]-n.proximity*2&&_<=T[0]+n.proximity*2&&U<=T[1]+n.proximity*2))&&(t.slowState.boxMode||(t.transitionRotate=!0)),t.transitionDirection=M}return!0}return!1},start(e,t,n){let i=e[0],r=t.polygon.boundingBox,s=[r.x+r.width,r.y+r.height],l=[r.x,r.y],u=[r.x+r.width,r.y],f=[r.x,r.y+r.height],p=["ne","nw","se","sw"],c=[Hn(e[0],u),Hn(e[0],l),Hn(e[0],s),Hn(e[0],f)],m=Math.min(...c),y=c.indexOf(m);t.transitionDirection=y!==-1?p[y]:null},transition(e,t,n){let i=t.polygon.boundingBox,r=t.transitionOrigin||e[0],[s,l]=e[0];if((n.Meta||t.transitionRotate)&&!t.slowState.boxMode){let b=[i.x+i.width/2,i.y+i.height/2],I=Math.atan2(r[1]-b[1],r[0]-b[0]),M=Math.atan2(l-b[1],s-b[0]),T=n.Shift,_=Math.PI/(n.Alt?4:12),U=M-I;T&&(U=Math.round(U/_)*_);let H=Math.cos(U),Z=Math.sin(U),B=[];for(let G of t.polygon.points){let K=G[0]-b[0],ce=G[1]-b[1],J=K*H-ce*Z,te=K*Z+ce*H,oe=J+b[0],Re=te+b[1];B.push(G.length===6?[oe,Re,G[2],G[3],G[4],G[5]]:[oe,Re])}t.transitionPoints=B,Od({points:B,iedges:null,boundingBox:null,isBezier:!1,bezierLines:[]}),t.transitionBoundingBox=t.polygon.boundingBox?{...t.polygon.boundingBox,rotation:U}:null;return}let u=t.transitionDirection,f=u.includes("e")?1:-1,p=u.includes("s")?1:-1,c=!!n.Alt,m;if(c)m=[i.x+i.width/2,i.y+i.height/2];else switch(u){case"se":m=[i.x,i.y];break;case"sw":m=[i.x+i.width,i.y];break;case"ne":m=[i.x,i.y+i.height];break;case"nw":m=[i.x+i.width,i.y+i.height];break}let y=c?i.width/2:i.width,w=c?i.height/2:i.height,v,S;if(n.Shift||t.slowState.fixedAspectRatio){let b=f*y,I=p*w,M=s-m[0],T=l-m[1],_=b*b+I*I,U=_>0?(M*b+T*I)/_:1;U=Math.max(U,.01),v=U,S=U}else{let b=0,I=0;switch(u){case"se":b=s-r[0],I=l-r[1];break;case"sw":b=r[0]-s,I=l-r[1];break;case"ne":b=s-r[0],I=r[1]-l;break;case"nw":b=r[0]-s,I=r[1]-l;break}c&&(b*=2,I*=2),v=(i.width+b)/i.width,S=(i.height+I)/i.height}let E=[];for(let b of t.polygon.points){let I=b[0]-m[0],M=b[1]-m[1],T=I*v,_=M*S,U=T+m[0],H=_+m[1];E.push(b.length===6?[U,H,b[2],b[3],b[4],b[5]]:[U,H])}t.transitionPoints=E;let R={points:E,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};Od(R),t.transitionBoundingBox=R.boundingBox},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,t.transitionRotate=!1,{points:i}}},AM={type:"close-line-box",label:"Close Line Box",tools:["lineBox"],trigger:{type:"click"},isValid(e,t,n){return t.polygon.points.length===2&&t.lineBox!==null&&t.slowState.boxMode===!1},commit(e,t,n){return t.lineBox?{isOpen:!1,points:t.lineBox,tool:"pen"}:{}}},eb={type:"close-shape",label:"Close shape",tools:["pen","line"],trigger:{type:"click"},isValid(e,t,n){if(!t.isOpen||t.slowState.boxMode||t.selectedPoints.length!==1||t.polygon.points.length<2||n.Meta)return!1;let i=t.selectedPoints[0];if(i===0){let r=t.polygon.points[t.polygon.points.length-1];return Hn(e[0],r)<n.proximity}if(i===t.polygon.points.length-1){let r=t.polygon.points[0];return Hn(e[0],r)<n.proximity}return!1},commit(e,t,n){let i=t.selectedPoints[0];if(t.line=null,i===0)return{selectedPoints:[],points:t.polygon.points.slice(0).reverse(),isOpen:!1};if(i===t.polygon.points.length-1)return{selectedPoints:[],isOpen:!1}}},TM={type:"close-shape-line",label:"Close shape line",trigger:{type:"click"},tools:["pen"],isValid(e,t,n){return!t.isOpen||t.slowState.boxMode||t.polygon.points.length<3||!t.closestLinePoint||t.closestLineDistance>=n.proximity*2?!1:(t.closestLineIndex===0||(t.closestLineIndex,t.polygon.points.length-2),!0)},commit(e,t,n){return eb.commit(e,t,n)}},tb={type:"split-line",label:"Split line",tools:["pen"],isValid(e,t,n){let i=t.slowState.currentTool==="line";return n.Meta||i?!1:!!(t.closestLinePoint&&t.closestLineDistance<n.proximity)},transition(e,t,n){let i=e[0];!n.Shift&&t.slowState.snapEnabled&&(Dr(i,t,3,t.closestLineIndex),i=pl(i,t));let r=t.transitionOrigin||i,[s,l]=i,u=t.polygon.points,f=[],p=s-r[0],c=l-r[1];for(let m=0;m<u.length;m++)if(f.push(u[m]),t.closestLineIndex===m){let y=t.closestLinePoint;f.push([y[0]+p,y[1]+c])}t.transitionPoints=f},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{selectedPoints:[t.closestLineIndex+1],points:i}}},MM={type:"cut-line",label:"Add new point",tools:["pen"],trigger:{type:"click"},modifiers:{Shift:"Cut line"},isValid(e,t,n){return t.slowState.boxMode?!1:tb.isValid(e,t,n)},commit(e,t,n){if(n.Shift&&!t.isOpen){let s=t.polygon.points,l=[],u=[],f=!1;for(let p=0;p<s.length;p++)f?u.push(s[p]):l.push(s[p]),t.closestLineIndex===p&&(f=!0);return{isOpen:!0,points:[...u,...l]}}let i=t.polygon.points,r=[];for(let s=0;s<i.length;s++)if(r.push(i[s]),t.closestLineIndex===s){let l=t.closestLinePoint;r.push(l)}return{points:r}}},_M={type:"delete-point",label:"Delete point",tools:["pointer","pen","lineBox","line"],trigger:{type:"key",key:"Backspace"},isValid(e,t,n){return t.selectedPoints.length>0&&t.slowState.canDelete},commit(e,t,n){let i=t.polygon.points.filter((r,s)=>!t.selectedPoints.includes(s));return{isOpen:i.length<3,selectedPoints:[],points:i,tool:t.slowState.boxMode?"box":void 0}}},OM={type:"deselect-bounding-box",label:"Deselect bounding box",tools:["pointer"],trigger:{type:"click"},isValid(e,t,n){return t.slowState.canDeselect&&!t.isOpen&&!t.slowState.boxMode&&t.selectedPoints.length>2&&t.selectedPoints.length===t.polygon.points.length},commit(e,t,n){return t.slowState.lastCreationTool==="pen"?{selectedPoints:[],tool:"pen"}:{selectedPoints:[]}}},kM={type:"deselect-draw",label:"Deselect draw",trigger:{type:"key",key:"Escape"},tools:["pointer","pen","box","lineBox","stamp","hand","pencil"],isValid(e,t,n){return t.slowState.canDeselect},commit(e,t,n){return{selectedPoints:[]}}},LM={type:"deselect-points",label:"Deselect points",trigger:{type:"click"},tools:["pointer","pen"],isValid(e,t,n){return t.selectedPoints.length>0&&t.slowState.canDeselect},commit(e,t,n){return{selectedPoints:[]}}},FM={type:"draw-shape",label:"Draw shape",tools:["pen","pencil"],modifiers:{Alt:"Freehand drawing"},isValid(e,t,n){let i=n.Alt||t.slowState.currentTool==="pencil";return!!(t.isOpen&&(t.line||t.polygon.points.length===0)&&i)},start(e,t,n){t.transitionDraw=[]},transition(e,t,n){let i=e[0];!n.Shift&&t.slowState.snapEnabled&&(Dr(i,t,3),i=pl(i,t)),t.transitionDraw.push(i)},commit(e,t,n){let i=t.slowState.currentTool==="pencil"?t.scale*1.5:t.scale*3,r=Z1(t.transitionDraw,i);if(t.transitionDraw=[],r.length===0)return;let s=!0,l=3,u=t.selectedPoints[0],f=[...t.polygon.points,...r],p=f[0],c=f[f.length-1];u===0&&(p=f[f.length-1],c=f[0],f=[...r,...t.polygon.points.slice(0).reverse()]);let m=[f.length-1],y=Hn(p,c)/n.proximity<l,w="";return y&&(s=!1,w="pointer",m=f.map((v,S)=>S)),{isOpen:s,tool:w||void 0,points:f,selectedPoints:m}}},NM={type:"move-line",label:"Move line",tools:["line"],isValid(e,t,n){return t.slowState.currentTool!=="line"||t.slowState.boxMode?!1:!!(t.closestLinePoint&&t.closestLineDistance<n.proximity)},transition(e,t){let n=t.transitionOrigin,i=t.polygon.boundingBox,r=e[0],[s,l]=X1(r[0]-n[0],r[1]-n[1],i,t.slowState.bounds);t.transitionPoints=t.polygon.points.map(u=>u.length===6?[u[0]+s,u[1]+l,u[2],u[3],u[4],u[5]]:[u[0]+s,u[1]+l])},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:i}}},zM={type:"move-point",label:"Move point",tools:["pointer","pen","line"],modifiers:{Shift:"Constrain to axis"},isValid(e,t,n){if(n.Alt)return!1;let i=n.proximity,[r,s]=e[0],l=t.polygon.points,u=t.selectedPoints;for(let f=0;f<l.length;f++){let p=l[f],c=p[0]-r,m=p[1]-s;if(c*c+m*m<i*i)return!0}return!1},start(e,t,n){if(t.slowState.boxMode)return cl.start?cl.start(e,t,n):void 0;if(t.selectedPoints.length<2){let[i,r,s]=CM(t.polygon,e[0]);return{selectedPoints:[s]}}if(t.slowState.closestPoint&&!t.selectedPoints.includes(t.slowState.closestPoint))return{selectedPoints:[t.slowState.closestPoint]}},transition(e,t,n){if(t.slowState.boxMode)return cl.transition(e,t,n);let i=t.transitionOrigin,r=e[0];!n.Shift&&t.slowState.snapEnabled&&(Dr(r,t,3),r=pl(r,t));let[s,l]=r,u=t.polygon.points,f=t.selectedPoints;if(t.slowState.closestPoint){let y=t.slowState.closestPoint;f.indexOf(y)===-1&&(f=[y])}let p=[],c=s-i[0],m=l-i[1];n.Shift&&!t.slowState.snapEnabled&&(Math.abs(c)>Math.abs(m)?m=0:c=0);for(let y=0;y<u.length;y++){let w=f.indexOf(y)!==-1,v=u[y];w?v.length===6?p.push([v[0]+c,v[1]+m,v[2],v[3],v[4],v[5]]):p.push([v[0]+c,v[1]+m]):p.push(v)}t.transitionPoints=p},commit(e,t,n){if(t.slowState.boxMode)return cl.commit(e,t,n);let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:i}}},nb={type:"move-bounding-box",label:"Move bounding box",tools:["pointer"],isValid(e,t,n){let i=t.polygon.points.length,r=i===t.selectedPoints.length,s=t.polygon.boundingBox;if(i<1||!r||!s)return!1;let l=e[0],u=l[0],f=l[1];return u>=s.x&&u<=s.x+s.width&&f>=s.y&&f<=s.y+s.height},transition(e,t,n){let i=t.slowState.bounds,r=t.transitionOrigin,s=t.polygon.boundingBox,l=e[0],[u,f]=X1(l[0]-r[0],l[1]-r[1],s,i);t.transitionPoints=t.polygon.points.map(p=>p.length===6?[p[0]+u,p[1]+f,p[2],p[3],p[4],p[5]]:[p[0]+u,p[1]+f]),s&&(t.transitionBoundingBox={x:s.x+u,y:s.y+f,width:s.width,height:s.height})},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:i}}},ib={type:"move-shape",label:"Move shape",tools:["pointer","hand","box"],isValid(e,t,n){return n.Shift?!1:t.slowState.pointerInsideShape&&(!t.isOpen||t.line===null)},transition(e,t,n){nb.transition(e,t,n)},commit(e,t,n){let i=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:i}}},DM={type:"nudge-right",label:"Nudge right",trigger:{type:"key",key:"ArrowRight"},tools:["pointer","pen"],modifiers:{Shift:"Nudge right more"},isValid(e,t,n){return t.selectedPoints.length>0},commit(e,t,n){let i=n.proximity*.3,r=t.polygon.points,s=t.selectedPoints;return{points:r.map((l,u)=>s.includes(u)?[l[0]+(n.Shift?4*i:1),l[1]]:l)}}},BM={type:"nudge-left",label:"Nudge left",trigger:{type:"key",key:"ArrowLeft"},tools:["pointer","pen"],modifiers:{Shift:"Nudge left more"},isValid(e,t,n){return t.selectedPoints.length>0},commit(e,t,n){let i=n.proximity*.3,r=t.polygon.points,s=t.selectedPoints;return{points:r.map((l,u)=>s.includes(u)?[Math.max(0,l[0]-(n.Shift?4*i:1)),l[1]]:l)}}},VM={type:"nudge-up",label:"Nudge up",trigger:{type:"key",key:"ArrowUp"},tools:["pointer","pen"],modifiers:{Shift:"Nudge up more"},isValid(e,t,n){return t.selectedPoints.length>0},commit(e,t,n){let i=n.proximity*.3,r=t.polygon.points,s=t.selectedPoints;return{points:r.map((l,u)=>{if(s.includes(u)){let f=l[0],p=Math.max(0,l[1]-(n.Shift?4*i:1));return l.length===6?[f,p,l[2],l[3],l[4],l[5]]:[f,p]}return l})}}},jM={type:"nudge-down",label:"Nudge down",trigger:{type:"key",key:"ArrowDown"},tools:["pointer","pen"],modifiers:{Shift:"Nudge down more"},isValid(e,t,n){return t.selectedPoints.length>0},commit(e,t,n){let i=n.proximity*.3,r=t.polygon.points,s=t.selectedPoints;return{points:r.map((l,u)=>{let f=l[0],p=Math.max(0,l[1]+(n.Shift?4*i:1));return s.includes(u)?l.length===6?[f,p,l[2],l[3],l[4],l[5]]:[f,p]:l})}}},HM={type:"select-multiple-points",label:"Drag to select multiple points",tools:["pointer","pen"],isValid(e,t,n){return t.slowState.currentTool==="line"&&t.polygon.points.length>=2?!0:!(t.slowState.boxMode||t.line)},transition(e,t,n){if(!t.transitionOrigin)return;let i=t.transitionOrigin[0],r=t.transitionOrigin[1],s=e[0][0],l=e[0][1],u=Math.min(i,s),f=Math.min(r,l),p=Math.abs(i-s),c=Math.abs(r-l);t.selectionBox={x:u,y:f,width:p,height:c}},commit(e,t,n){if(t.selectionBox){let i=[];n.Shift&&i.push(...t.selectedPoints);for(let r=0;r<t.polygon.points.length;r++){let s=t.polygon.points[r];s[0]>=t.selectionBox.x&&s[0]<=t.selectionBox.x+t.selectionBox.width&&s[1]>=t.selectionBox.y&&s[1]<=t.selectionBox.y+t.selectionBox.height&&i.push(r)}return{selectedPoints:i}}}},$1=10,WM={type:"select-point",label:"Select point",trigger:{type:"click"},tools:["pointer","pen","line"],modifiers:{Shift:"Add to selection"},isValid(e,t,n){let i=-1;if(t.selectedPoints.length===1){let u=t.selectedPoints[0];u===0&&(i=t.polygon.points.length-1),u===t.polygon.points.length-1&&(i=0)}if(t.slowState.boxMode)return!1;let[r,s]=e[0],l=t.polygon.points;for(let u=0;u<l.length;u++){let f=l[u],p=f[0]-r,c=f[1]-s;if(p*p+c*c<$1*$1)return i!==u}return!1},commit(e,t,n){let i=n.Shift?[...t.selectedPoints]:[],[r,s]=e[0],l=t.polygon.points.map((u,f)=>{let p=u[0]-r,c=u[1]-s;return[p*p+c*c,f]}).sort((u,f)=>u[0]-f[0])[0];if(t.line=null,!i.includes(l[1]))i.push(l[1]);else if(n.Shift)return{selectedPoints:i.filter(u=>u!==l[1])};return{selectedPoints:i}}},UM={type:"select-shape",label:"Select shape",trigger:{type:"click"},tools:["pointer","pen"],isValid(e,t,n){return ib.isValid(e,t,n)},commit(e,t,n){return{tool:"pointer",selectedPoints:t.polygon.points.map((i,r)=>r)}}},qM={type:"snap",label:"Smart snap",tools:["pointer","pen","line"],modifiers:{Shift:"Disable snapping"},isValid(e,t,n){return n.Shift||!t.slowState.snapEnabled||t.slowState.transitioning&&t.slowState.transitionIntentType!=="snap"||!t.slowState.snapToPoints&&!t.slowState.snapToLines&&!t.slowState.snapToIntersections?!1:Dr(e[0],t,0)!==null},start(e,t,n){Dr(e[0],t,5)},transition(e,t,n){let i=Dr(e[0],t,5);i&&(t.pointer=i)},commit(e,t,n){Y1(t)}},GM={type:"stamp-fixed-size-shape",label:"Stamp fixed size shape",trigger:{type:"click"},tools:["stamp"],isValid(e,t,n){return t.slowState.selectedStamp!==null},commit(e,t,n){let i=e[0],r=t.slowState.selectedStamp;if(!i||!r)return;let s=i[0],l=i[1],u=[],f=Math.min(...r.points.map(S=>S[0])),p=Math.min(...r.points.map(S=>S[1])),c=Math.max(...r.points.map(S=>S[0]))-f,m=Math.max(...r.points.map(S=>S[1]))-p,y=4*n.proximity,w=c/y;m/y>w&&(w=m/y),s-=c/w/2,l-=m/w/2;let v=0;for(let S of r.points)u.push([s+(S[0]-f)/w,l+(S[1]-p)/w]),v++;return{isOpen:!1,points:u}}},rb={id:"square",open:!1,points:[[0,0],[0,100],[100,100],[100,0]]},$M={id:"triangle",open:!1,points:[[50,0],[0,100],[100,100]]},QM={id:"pentagon",open:!1,points:[[0,0],[0,100],[100,100],[100,0],[50,-50]]},YM={id:"hexagon",open:!1,points:[[50,0],[0,25],[0,75],[50,100],[100,75],[100,25]]},KM={id:"circle",open:!1,points:[[948.949,571.107],[954.545,500],[954.545,500],[948.949,428.893],[948.949,428.893],[932.298,359.538],[932.298,359.538],[905.003,293.641],[905.003,293.641],[867.735,232.825],[867.735,232.825],[821.412,178.588],[821.412,178.588],[767.175,132.265],[767.175,132.265],[706.359,94.997],[706.359,94.997],[640.462,67.702],[640.462,67.702],[571.107,51.051],[571.107,51.051],[500,45.455],[500,45.455],[428.893,51.051],[428.893,51.051],[359.538,67.702],[359.538,67.702],[293.641,94.997],[293.641,94.997],[232.825,132.265],[232.825,132.265],[178.588,178.588],[178.588,178.588],[132.265,232.825],[132.265,232.825],[94.997,293.641],[94.997,293.641],[67.702,359.538],[67.702,359.538],[51.051,428.893],[51.051,428.893],[45.455,500],[45.455,500],[51.051,571.107],[51.051,571.107],[67.702,640.462],[67.702,640.462],[94.997,706.359],[94.997,706.359],[132.265,767.175],[132.265,767.175],[178.588,821.412],[178.588,821.412],[232.825,867.735],[232.825,867.735],[293.641,905.003],[293.641,905.003],[359.538,932.298],[359.538,932.298],[428.893,948.949],[428.893,948.949],[500,954.545],[500,954.545],[571.107,948.949],[571.107,948.949],[640.462,932.298],[640.462,932.298],[706.359,905.003],[706.359,905.003],[767.175,867.735],[767.175,867.735],[821.412,821.412],[821.412,821.412],[867.735,767.175],[867.735,767.175],[905.003,706.359],[905.003,706.359],[932.298,640.462],[932.298,640.462],[948.949,571.107]]},XM={type:"stamp-shape",label:"Stamp shape",tools:["stamp","box"],modifiers:{Shift:"Maintain aspect ratio"},isValid(e,t,n){return!(t.polygon.points.length&&!t.slowState.canDelete)},start(e,t,n){let i=e[0],r=t.slowState.selectedStamp||rb;if(i){let s=i[0],l=i[1],u=[],f=Math.min(...r.points.map(S=>S[0])),p=Math.min(...r.points.map(S=>S[1])),c=Math.max(...r.points.map(S=>S[0]))-f,m=Math.max(...r.points.map(S=>S[1]))-p,y=c/32;m/32>y&&(y=m/32);let w=[],v=0;for(let S of r.points)w.push(v),u.push([s+(S[0]-f)/y,l+(S[1]-p)/y]),v++;return t.transitionPoints=u,{isOpen:!1,selectedPoints:w,points:u}}},transition(e,t,n){if(!t.transitionOrigin)return;let i=t.polygon.boundingBox,r=[i.x,i.y],s=t.transitionOrigin||e[0],[l,u]=e[0],f=t.transitionOrigin[0],p=t.transitionOrigin[1],c=e[0][0],m=e[0][1],y=c-f-32,w=m-p-32;if(n.Shift||t.slowState.fixedAspectRatio){let b=i.width/i.height;Math.abs(i.width/y)>Math.abs(i.height/w)?w=y/b:y=w*b}let v=(i.width+y)/i.width,S=(i.height+w)/i.height,E=[];for(let b of t.polygon.points){let I=b[0]-r[0],M=b[1]-r[1],T=I*v,_=M*S,U=T+r[0],H=_+r[1];if(b.length===6){E.push([U,H,b[2],b[3],b[4],b[5]]);continue}E.push([U,H])}t.transitionPoints=E;let R={points:E,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};Od(R),t.transitionBoundingBox=R.boundingBox},commit(e,t,n){return{isOpen:!1,points:t.transitionPoints,tool:"pointer"}}},ZM={type:"toggle-snap",label:"Toggle snapping",trigger:{type:"key",key:"`"},tools:["pointer","pen","line","lineBox","box","stamp"],modifiers:{},isValid(e,t,n){return!0},commit(e,t,n){let i=!t.slowState.snapEnabled;return t.slowState.snapEnabled=i,i||(t.snapTargets=[],t.activeSnapGuides=[],t.isSnapping=!1,t.snapPoint=null),{}}};function ob(e={}){let t=e.proximityThreshold||10,n=e.closestLinePointFill||{selected:"#fff",unselected:"rgba(255, 255, 255, .5)"},i=e.closestLinePointStroke||{selected:"#000",unselected:"rgba(0, 0, 0, .5)"};function r(v,S,E){v&&S.transitionBoundingBox&&E.transitioning&&(v.setAttribute("x",""+S.transitionBoundingBox.x),v.setAttribute("y",""+S.transitionBoundingBox.y),v.setAttribute("width",""+S.transitionBoundingBox.width),v.setAttribute("height",""+S.transitionBoundingBox.height))}function s(v,S,E){v&&S.polygon.boundingBox&&E.showBoundingBox&&(v.setAttribute("x",""+S.polygon.boundingBox.x),v.setAttribute("y",""+S.polygon.boundingBox.y),v.setAttribute("width",""+S.polygon.boundingBox.width),v.setAttribute("height",""+S.polygon.boundingBox.height))}function l(v,S,E){if(v&&S.polygon.boundingBox&&E.showBoundingBox){let R=S.transitionBoundingBox||S.polygon.boundingBox;R.rotation?(v.style.transformOrigin=`${R.x+R.width/2}px ${R.y+R.height/2}px`,v.style.transform=`rotate(${Math.round(100*R.rotation*(180/Math.PI))/100}deg)`):v.style.transform="",v.setAttribute("points",[[R.x,R.y],[R.x+R.width,R.y],[R.x+R.width,R.y+R.height],[R.x,R.y+R.height]].map(b=>b.join(",")).join(" "))}}function u(v,S,E){v&&S.transitionPoints&&E.transitioning&&v.setAttribute("points",S.transitionPoints.map(R=>R.join(",")).join(" "))}function f(v,S,E){v&&S.closestLinePoint&&E.hasClosestLine&&(v.setAttribute("cx",""+S.closestLinePoint[0]),v.setAttribute("cy",""+S.closestLinePoint[1]),v.setAttribute("fill",S.closestLineDistance<t?n.selected:n.unselected),v.setAttribute("stroke",S.closestLineDistance<t?i.selected:i.unselected))}function p(v,S,E){v&&S.closestLinePoint&&E.hasClosestLine&&v.setAttribute("transform",`translate(${S.closestLinePoint[0]}, ${S.closestLinePoint[1]})`)}function c(v,S,E){v&&S.selectionBox&&E.transitionIntentType==="select-multiple-points"&&(v.setAttribute("x",""+S.selectionBox.x),v.setAttribute("y",""+S.selectionBox.y),v.setAttribute("width",""+S.selectionBox.width),v.setAttribute("height",""+S.selectionBox.height))}function m(v,S,E){if(v&&S.pointer&&S.selectedPoints.length)if(E.actionIntentType==="close-shape"||E.actionIntentType==="close-shape-line"){let R=S.polygon.points[0],b=S.polygon.points[S.polygon.points.length-1];R&&b&&v.setAttribute("points",`${R.join(",")} ${b.join(",")}`)}else if(S.line)v.setAttribute("points",`${S.line[0].join(",")} ${S.line[1].join(",")}`);else{let R=S.polygon.points[S.selectedPoints[0]];R&&R.length&&v.setAttribute("points",`${S.pointer[0]},${S.pointer[1]} ${R.join(",")}`)}}function y(v,S,E,R=3){v&&S.transitionDraw.length&&v.setAttribute("points",Z1(S.transitionDraw,R*S.scale).map(b=>b.join(",")).join(" "))}function w(v,S){v&&S.lineBox&&v.setAttribute("points",S.lineBox.map(E=>E.join(",")).join(" "))}return{updateTransitionBoundingBox:r,updateClosestLinePointTransform:p,updateBoundingBoxPolygon:l,updateBoundingBox:s,updateTransitionShape:u,updateClosestLinePoint:f,updateSelectBox:c,updatePointLine:m,updateDrawPreview:y,updateLineBox:w}}var JM=typeof window<"u"?window.requestAnimationFrame:e=>setTimeout(e,16),e_=typeof window<"u"?window.cancelAnimationFrame:e=>clearTimeout(e);function Q1(e){return!["hand","pointer"].includes(e)}var fl=[cl,zM,NM,tb,ib,nb,FM,HM,XM,qM],t_=fl.length,dl=[AM,GM,eb,WM,TM,MM,RM,UM,OM,LM],Vs=[kM,DM,BM,VM,jM,_M,ZM],hl={};fl.forEach(e=>{hl[e.type]=e});dl.forEach(e=>{hl[e.type]=e});Vs.forEach(e=>{hl[e.type]=e});var _d=10;function sb(e,t){let n=e?.fixedAspectRatio||!1,i=e?.tool||"pointer",r=e?.keyboardShortcutMapping||{},s=typeof e?.keyboardShortcutsEnabled=="boolean"?e.keyboardShortcutsEnabled:!0,l=e?.enabledTools||["pointer","pen","box","lineBox","stamp","hand","line","pencil"],u=e?.emitter||gM(),f={V:"pointer",P:"pen",B:"box",L:"lineBox",S:"stamp",H:"hand",N:"line",D:"pencil",...e?.toolMap||{}},p={shapeId:e?.id||null,noShape:e===null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:_d},bounds:e?.bounds||null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,selectedStamp:null,transitionModifiers:null,boxMode:!1,bezierLines:[],fixedAspectRatio:n,isToolSwitchingLocked:!1,canDeselect:!1,canDelete:!0,cursor:"default",enabledTools:l,currentTool:i,lastCreationTool:Q1(i)?i:null,snapEnabled:!1,snapToPoints:!0,snapToLines:!0,snapToIntersections:!0,snapToGrid:!1,snapToParallel:!0},c={isOpen:typeof e?.open=="boolean"?e.open:!1,polygon:{points:e?.points||[],iedges:null,boundingBox:null,isBezier:null,bezierLines:[]},scale:1,selectedPoints:[],pointer:null,line:null,lineBox:null,transitionPoints:null,transitionOrigin:null,transitionBoundingBox:null,closestLinePoint:null,closestLineDistance:0,closestLineIndex:-1,transitionRotate:!1,transitionDirection:null,transitionBezierLine:null,selectionBox:null,slowState:p,transitionDraw:[],isPanning:!1,panStart:null,snapTargets:[],activeSnapGuides:[],snapThreshold:15,isSnapping:!1,snapPoint:null},m={startTime:0,time:0,shouldUpdate:!1,nextSlowState:null,renderFunc:()=>{},setStateFunc:()=>{},animationFrame:0,actionIntent:null,transitionIntent:null,undoStack:[],undoStackPointer:-1},y={isPressed:!1,isClicking:!1,lastPress:null,pressTimeout:0,noTransition:!1};function w(F){J1(F),F.isBezier&&v({bezierLines:F.bezierLines}),Od(F),m.shouldUpdate=!0}w(c.polygon);function v(F){let $=Object.keys(F);if($.length===0)return;let ie=m.nextSlowState||c.slowState,le=!1;if($.length===1&&$[0]==="validIntentKeys"&&ie.validIntentKeys){let Se=Object.keys(ie.validIntentKeys),V=Object.keys(F.validIntentKeys||{});if(Se.length===V.length){for(let k of Se)ie.validIntentKeys[k]!==F.validIntentKeys[k]&&(le=!0);if(!le)return}}if(F.selectedPoints){let Se=Array.from(ie.selectedPoints||[]),V=Array.from(F.selectedPoints||[]);if(Se.length===V.length){for(let k of Se)if(!V.includes(k)){le=!0;break}}else le=!0;le||delete F.selectedPoints}if(!($.length===1&&$.includes("hasClosestLine")&&F.hasClosestLine===ie.hasClosestLine)){if(m.nextSlowState){m.nextSlowState={...m.nextSlowState,...F};return}m.nextSlowState={...c.slowState,...F}}}function S(F,$=!1){m.time+=F,E(),R(),Z(),H(),U(),G(),ce(),K(),_(),m.renderFunc(c,c.slowState,F),!$&&(m.animationFrame=JM(S))}function E(){if(m.shouldUpdate&&(t({id:c.slowState.shapeId||void 0,open:c.isOpen,points:c.polygon.points}),m.shouldUpdate=!1),m.nextSlowState&&m.nextSlowState!==c.slowState){let F=Object.keys(c.slowState),$={},ie={},le=!1;for(let Se of F){let V=c.slowState[Se],k=m.nextSlowState[Se];V!==k?(le=!0,$[Se]=k,ie[Se]=k):$[Se]=V}le&&(c.slowState=$,m.nextSlowState=null,m.setStateFunc(c.slowState),e?.customSetState?.(ie))}}function R(){let F=!c.slowState.noShape&&c.polygon.points.length>2&&c.selectedPoints.length===c.polygon.points.length&&!c.isOpen&&(c.slowState.currentTool==="pointer"||c.slowState.currentTool==="box");c.slowState.showBoundingBox!==F&&v({showBoundingBox:F})}function b(F){c.selectedPoints=F.selectedPoints,v({selectedPoints:F.selectedPoints}),c.polygon.points=F.points,c.polygon.boundingBox=null,c.polygon.iedges=null,c.polygon.isBezier=null,w(c.polygon),v({closestPoint:null}),(F.isOpen===!0||F.isOpen===!1)&&(c.isOpen=F.isOpen,m.shouldUpdate=!0)}function I(){if(m.undoStackPointer===-1)return;m.undoStackPointer--;let F=m.undoStack[m.undoStackPointer];b(F)}function M(){if(m.undoStackPointer===m.undoStack.length-1)return;m.undoStackPointer++;let F=m.undoStack[m.undoStackPointer];b(F)}function T(F){m.undoStackPointer++,m.undoStack[m.undoStackPointer]=F,m.undoStack.length>15&&(m.undoStack.shift(),m.undoStackPointer--)}function _(){v({boxMode:IM(c.polygon.points||[])})}function U(){if(!c.pointer||c.slowState.noShape){v({pointerInsideShape:!1});return}let[F,$]=c.pointer,ie=c.polygon.points,le=c.polygon.boundingBox;if(!le){v({pointerInsideShape:!1});return}if(F<le.x||F>le.x+le.width||$<le.y||$>le.height+le.y){v({pointerInsideShape:!1});return}let Se=!1;for(let V=0,k=ie.length-1;V<ie.length;k=V++)ie[V][1]>$!=ie[k][1]>$&&F<(ie[k][0]-ie[V][0])*($-ie[V][1])/(ie[k][1]-ie[V][1])+ie[V][0]&&(Se=!Se);v({pointerInsideShape:Se})}function H(){if(c.slowState.noShape||!c.pointer||c.slowState.transitioning||!c.polygon.points||c.polygon.points.length===0)return;let[F,$]=c.pointer,ie=c.polygon.points.map((le,Se)=>{let V=le[0]-F,k=le[1]-$;return[V*V+k*k,Se]}).sort((le,Se)=>le[0]-Se[0]);ie.length&&v({closestPoint:ie[0][1]})}function Z(){if(!c.pointer||c.slowState.transitioning)return;if(c.slowState.noShape){c.closestLineIndex=-1,c.closestLinePoint=null,c.closestLineDistance=0;return}let[F,$,ie,le]=G1(c.polygon,c.pointer),Se=Ge()*Ge();$<Se&&(!c.isOpen||c.slowState.currentTool==="line"||c.polygon.points.length-1!==le)?(c.closestLinePoint=F,c.closestLineDistance=Math.sqrt($),c.closestLineIndex=le,v({hasClosestLine:!0})):(c.closestLinePoint=null,c.closestLineDistance=0,c.closestLineIndex=-1,v({hasClosestLine:!1}))}function B(F,$=null){let ie={},le=$||(c.pointer?[c.pointer[0],c.pointer[1]]:null);for(let Se of[...fl,...dl,...Vs])Se.tools.includes(F)&&(le&&Se.isValid([le],c,J())?ie[Se.type]=Se.label:le||(ie[Se.type]=Se.label));return ie}function G(){if(c.slowState.transitioning||c.slowState.noShape||!c.pointer||!Array.isArray(c.pointer)||c.pointer.length<2||typeof c.pointer[0]!="number"||typeof c.pointer[1]!="number")return;let F=c.slowState.currentTool;De(F);let $=!1;for(let Se=0;Se<t_;Se++){let V=fl[Se];if(V.tools.includes(F)&&V.isValid(y.isPressed?[y.lastPress]:[c.pointer],c,J())){if(m.transitionIntent===V){$=!0;break}v({transitionIntentType:V.type}),m.transitionIntent=V,$=!0;break}}$||m.transitionIntent&&(v({transitionIntentType:null}),m.transitionIntent=null);let ie=!1;for(let Se=0;Se<dl.length;Se++){let V=dl[Se];if(V.tools.includes(F)&&oe(V)){if(m.actionIntent===V){ie=!0;break}v({actionIntentType:V.type}),m.actionIntent=V,ie=!0;break}}ie||m.actionIntent&&(m.actionIntent=null,v({actionIntentType:null}));let le={};for(let Se=0;Se<Vs.length;Se++){let V=Vs[Se];V.trigger.type==="key"&&oe(V)&&(le[V.trigger.key]=V.label)}v({validIntentKeys:le})}function K(){let F=c.pointer;if(c.lineBox=null,!F||de()||c.polygon.points.length!==2)return;let[$,ie]=F,[le,Se]=c.polygon.points[0],[V,k]=c.polygon.points[1],[X,ee,Ie,_e]=G1(c.polygon,F);if(!X)return;let Be=$-X[0],W=ie-X[1],Y=[le,Se],ge=[V,k],he=[ge[0]+Be,ge[1]+W],pe=[Y[0]+Be,Y[1]+W];c.lineBox=[Y,ge,he,pe]}function ce(){let F=c.pointer;if(!F||!de()||c.slowState.noShape)return;let $=c.selectedPoints[0],ie=F;if(c.slowState.snapEnabled&&!c.slowState.modifiers.Shift?(Dr(F,c,5),ie=pl(F,c)):Y1(c),c.line=[c.polygon.points[$],ie],c.slowState.modifiers.Shift){let le=0;if(c.polygon.points.length>1){let W=c.selectedPoints[0];W===0?le=Math.atan2(c.polygon.points[1][1]-c.polygon.points[0][1],c.polygon.points[1][0]-c.polygon.points[0][0]):le=Math.atan2(c.polygon.points[W-1][1]-c.polygon.points[W][1],c.polygon.points[W-1][0]-c.polygon.points[W][0])}let Se=F[0]-c.polygon.points[$][0],V=F[1]-c.polygon.points[$][1],k=Math.atan2(V,Se),X=Math.PI/4,ee=Math.round((k-le)/X)*X+le,Ie=Hn(c.polygon.points[$],F),_e=Math.cos(ee)*Ie+c.polygon.points[$][0],Be=Math.sin(ee)*Ie+c.polygon.points[$][1];c.line[1]=[_e,Be]}}function J(){return c.slowState.modifiers}function te(F){let $=F.commit([y.lastPress],c,J());u.emit("polygons.end-transition",{transitionIntent:F.type,response:$}),$&&($.tool&&ae($.tool),$.selectedPoints&&(c.selectedPoints=$.selectedPoints,v({selectedPoints:$.selectedPoints})),$.points&&(c.polygon.points=$.points,c.polygon.boundingBox=null,c.polygon.iedges=null,c.polygon.isBezier=null,c.transitionBoundingBox=null,w(c.polygon),v({closestPoint:null,selectedStamp:null})),($.isOpen===!0||$.isOpen===!1)&&(c.isOpen=$.isOpen,m.shouldUpdate=!0),T({isOpen:c.isOpen,points:c.polygon.points,selectedPoints:c.selectedPoints}),De(c.slowState.currentTool)),v({transitionModifiers:null})}function oe(F){if(!F.tools.includes(c.slowState.currentTool))return!1;let $=[];return c.pointer&&Array.isArray(c.pointer)&&c.pointer.length>=2&&typeof c.pointer[0]=="number"&&typeof c.pointer[1]=="number"&&($=[c.pointer]),F.isValid($,c,J())}function Re(F){F==="Delete"&&(F="Backspace");let $=c.slowState.currentTool;for(let ie of Vs)if(!(ie.trigger.type!=="key"||ie.trigger.key!==F)&&ie.tools.includes($)&&oe(ie))return te(ie),!0;return!1}function de(){let F=c.polygon.points,$=c.pointer;if(!c.isOpen||!F.length||c.selectedPoints.length!==1||!$)return!1;let ie=c.selectedPoints[0],le=ie===0,Se=ie===F.length-1;return le||Se}let N={reset(){v({modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:_d}})},getForType(F){let $={};if(!F)return $;let ie=hl[F];return!ie||!ie.modifiers?$:ie.modifiers},set(F){F!=="Shift"&&F!=="Alt"&&F!=="Meta"||v({modifiers:{...m.nextSlowState?.modifiers||c.slowState.modifiers,[F]:!0}})},unset(F){F!=="Shift"&&F!=="Alt"&&F!=="Meta"||v({modifiers:{...m.nextSlowState?.modifiers||c.slowState.modifiers,[F]:!1}})}},re={set(F){let $=F?F.id==="square"||F.id==="rectangle":!1;v({selectedStamp:F,boxMode:$})},clear(){re.set(null)},square(){re.set(rb)},triangle(){re.set($M)},pentagon(){re.set(QM)},hexagon(){re.set(YM)},circle(){re.set(KM)}},Le={down(F){let $=r[F]||F;if($==="Shift"||$==="Alt"||$==="Meta")return N.set($),!0;if($==="Control")return N.set("Meta"),!0;if($==="z"&&c.slowState.modifiers.Meta)return c.slowState.modifiers.Shift?M():I(),!0;if(!c.slowState.modifiers.Meta&&!c.slowState.modifiers.Alt&&!c.slowState.transitioning){if(!s)return;let ie=$.toUpperCase();if(f[ie]){let le=f[ie];return ae(le),!0}}return Re($)},up(F){let $=r[F]||F;if($==="Control"){N.unset("Meta");return}$!=="Shift"&&$!=="Alt"&&$!=="Meta"||N.unset($)}};function je(F){c.scale=F,v({modifiers:{...m.nextSlowState?.modifiers||c.slowState.modifiers,proximity:F*_d}})}function Ge(){return _d*c.scale}let $e={set:F=>{m.renderFunc=F},start:(F,$)=>{m.startTime=performance.now(),m.time=0,F&&(m.renderFunc=F),$&&($(c.slowState),m.setStateFunc=$),S(0)},stop:()=>{m.animationFrame&&(e_(m.animationFrame),m.animationFrame=0)},step:(F=16)=>{S(F)}};function Qe(F){if(!F||!Array.isArray(F)||F.length===0)return;let $=F[0];if(!(!$||!$[0]&&$[0]!==0||!$[1]&&$[1]!==0)&&!(Number.isNaN($[0])||Number.isNaN($[1]))){if(c.pointer=$,c.slowState.transitioning)m.transitionIntent&&(m.transitionIntent.transition(F,c,J()),u.emit("polygons.transition",{transitionIntent:m.transitionIntent.type}));else if(y.isPressed&&!y.noTransition&&y.lastPress&&c.pointer&&(!y.isClicking||Hn(y.lastPress,c.pointer)>10))if(clearTimeout(y.pressTimeout),y.isClicking=!1,m.transitionIntent){if(c.transitionOrigin=y.lastPress,v({transitioning:!0}),m.transitionIntent.start){let ie=m.transitionIntent.start([y.lastPress],c,J());ie&&(ie.selectedPoints&&(c.selectedPoints=ie.selectedPoints,v({selectedPoints:ie.selectedPoints})),(ie.isOpen===!0||ie.isOpen===!1)&&(c.isOpen=ie.isOpen,m.shouldUpdate=!0),ie.points&&(c.polygon.points=ie.points,c.polygon.boundingBox=null,c.polygon.iedges=null,w(c.polygon),v({closestPoint:null})))}v({transitionModifiers:m.transitionIntent.modifiers||null}),u.emit("polygons.start-transition",{transitionIntent:m.transitionIntent.type}),m.transitionIntent.transition([y.lastPress],c,J()),u.emit("polygons.transition",{transitionIntent:m.transitionIntent.type})}else y.noTransition=!0}}function Ze(){c.pointer=null,c.slowState.transitioning||(y.isPressed=!1,y.isClicking=!1,y.lastPress=null,v({transitionIntentType:null,actionIntentType:null}),m.transitionIntent=null,m.actionIntent=null)}function Ct(){y.isClicking=!0,y.isPressed=!0,y.lastPress=c.pointer,y.pressTimeout=setTimeout(()=>{y.isPressed&&(y.isClicking=!1)},250)}function xt(){c.slowState.transitioning?(v({transitioning:!1}),m.transitionIntent&&te(m.transitionIntent),m.transitionIntent=null,v({transitionIntentType:null})):y.isClicking&&(m.actionIntent&&te(m.actionIntent),m.actionIntent=null,v({actionIntentType:null})),y.isPressed=!1,y.isClicking=!1,y.lastPress=null,y.noTransition=!1,clearTimeout(y.pressTimeout)}function xn(F){c.polygon.points=F?.points||[],c.polygon.boundingBox=null,c.polygon.iedges=null,c.isOpen=F?.open||!1,w(c.polygon),m.nextSlowState=null,m.undoStack=[],m.undoStackPointer=-1,c.lineBox=null,c.line=null,y.pressTimeout&&clearTimeout(y.pressTimeout),v({noShape:F===null,shapeId:F?.id||null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:c.slowState.modifiers.proximity},showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},selectedStamp:null,closestPoint:null,pointerInsideShape:!1,boxMode:!1,fixedAspectRatio:n}),ae(i),E()}function Pt(F){if(!F)return"";let $=hl[F];return!$||!$.modifiers?$.label||"":c.slowState.modifiers.Shift&&$.modifiers.Shift?$.modifiers.Shift:c.slowState.modifiers.Alt&&$.modifiers.Alt?$.modifiers.Alt:c.slowState.modifiers.Meta&&$.modifiers.Meta?$.modifiers.Meta:$.label}function Ne(){v({fixedAspectRatio:!0})}function fe(){v({fixedAspectRatio:!1})}function ae(F){if(c.slowState.isToolSwitchingLocked||c.slowState.currentTool===F||!c.slowState.enabledTools.includes(F))return;let $=c.slowState.lastCreationTool;if(Q1(F)){if(c.slowState.isToolSwitchingLocked)return;$=F}c.slowState.transitioning&&(c.transitionPoints=null,c.transitionBoundingBox=null,c.transitionDraw=[],c.line=null,c.lineBox=null,v({transitioning:!1}));let ie=B(F),le=c.selectedPoints,Se=c.isOpen,V=c.slowState.selectedStamp;switch(F){case"pointer":c.polygon.points.length>0&&!Se&&le.length===0&&(le=c.polygon.points.map((k,X)=>X));break;case"pen":c.polygon.points.length===0?(le=[],Se=!0):Se&&le.length>1&&(le=[le[le.length-1]]);break;case"line":c.polygon.points.length===0?(le=[],Se=!0):Se?le.length>1&&(le=[le[le.length-1]]):(le=[c.polygon.points.length-1],Se=!0);break;case"pencil":le=[],c.polygon.points.length===0&&(Se=!0);break;case"box":le=c.polygon.points.map((k,X)=>X),Se=!1,re.square();break;case"lineBox":le=[],c.polygon.points.length===0&&(Se=!0);break;case"stamp":le=[],Se=!1,V||re.square();break;case"hand":le=[];break;default:le=[];break}v({validIntentKeys:ie}),v({currentTool:F,selectedPoints:le,lastCreationTool:$,boxMode:F==="box"}),c.selectedPoints=le,c.isOpen=Se,De(F),G()}function De(F){let $=F==="box"||F==="pointer"&&c.polygon.points.length>2&&c.selectedPoints.length===c.polygon.points.length&&!c.isOpen;v({showBoundingBox:$})}function Rt(F){c.slowState.currentTool===F&&ae("pointer")}function ui(F){c.slowState.currentTool===F?ae("pointer"):ae(F)}let un={undo:I,redo:M,get canUndo(){return m.undoStackPointer>-1},get canRedo(){return m.undoStackPointer<m.undoStack.length-1}},Sn={setTool:ae,unsetTool:Rt,toggleTool:ui,updateVisibility:De,setCanDelete(F){v({canDelete:F})},setCanDeselect(F){kn(),v({canDeselect:F})},lockToolSwitching(){v({isToolSwitchingLocked:!0})},unlockToolSwitching(){v({isToolSwitchingLocked:!1})},toggleToolSwitching(){v({isToolSwitchingLocked:!c.slowState.isToolSwitchingLocked})},shortcuts:Object.fromEntries(Object.entries(f).map(([F,$])=>[$,F])),getValidIntents(F){let $=F||c.slowState.currentTool;return{actions:dl.filter(ie=>ie.tools.includes($)),transitions:fl.filter(ie=>ie.tools.includes($)),keys:Vs.filter(ie=>ie.tools.includes($)),all:B($),current:c.slowState.validIntentKeys}},getToolInfo(){return{name:c.slowState.currentTool,cursor:c.slowState.cursor,selectionCount:c.selectedPoints.length,pointCount:c.polygon.points.length,isOpen:c.isOpen}},smartSelect(){c.polygon.points.length!==0&&(c.isOpen?(c.selectedPoints=[c.polygon.points.length-1],v({selectedPoints:c.selectedPoints})):(c.selectedPoints=c.polygon.points.map((F,$)=>$),v({selectedPoints:c.selectedPoints})))},clearSelection(){c.selectedPoints=[],v({selectedPoints:[]})},autoSelect(){c.selectedPoints.length===c.polygon.points.length&&!c.isOpen?ae("pointer"):c.isOpen||c.selectedPoints.length>0?ae(c.slowState.lastCreationTool||"pen"):ae("pointer")}},aa={enabled:()=>c.slowState.snapEnabled,enable:()=>v({snapEnabled:!0}),disable:()=>v({snapEnabled:!1}),toggle:()=>v({snapEnabled:!c.slowState.snapEnabled}),pointsEnabled:()=>c.slowState.snapToPoints,enablePoints:()=>v({snapToPoints:!0}),disablePoints:()=>v({snapToPoints:!1}),togglePoints:()=>v({snapToPoints:!c.slowState.snapToPoints}),linesEnabled:()=>c.slowState.snapToLines,enableLines:()=>v({snapToLines:!0}),disableLines:()=>v({snapToLines:!1}),toggleLines:()=>v({snapToLines:!c.slowState.snapToLines}),intersectionsEnabled:()=>c.slowState.snapToIntersections,enableIntersections:()=>v({snapToIntersections:!0}),disableIntersections:()=>v({snapToIntersections:!1}),toggleIntersections:()=>v({snapToIntersections:!c.slowState.snapToIntersections}),gridEnabled:()=>c.slowState.snapToGrid,enableGrid:()=>v({snapToGrid:!0}),disableGrid:()=>v({snapToGrid:!1}),toggleGrid:()=>v({snapToGrid:!c.slowState.snapToGrid}),parallelEnabled:()=>c.slowState.snapToParallel,enableParallel:()=>v({snapToParallel:!0}),disableParallel:()=>v({snapToParallel:!1}),toggleParallel:()=>v({snapToParallel:!c.slowState.snapToParallel}),getThreshold:()=>c.snapThreshold*c.slowState.modifiers.proximity,setThreshold:F=>{c.snapThreshold=Math.max(5,Math.min(50,F))},isActive:()=>c.isSnapping,getSnapPoint:()=>c.snapPoint,getActiveGuides:()=>c.activeSnapGuides,getTargets:()=>c.snapTargets};function kn(){v({selectedPoints:c.polygon.points.map((F,$)=>$)})}function la(F){v({bounds:F})}return ae(i),{state:c,setState:v,emitter:u,modifiers:N,stamps:re,history:un,key:Le,setScale:je,clock:$e,pointer:Qe,blur:Ze,pointerDown:Ct,pointerUp:xt,setShape:xn,label:Pt,tools:Sn,snap:aa,selectAllPoints:kn,setBounds:la,lockAspectRatio:Ne,unlockAspectRatio:fe}}function js(e){let t=Math.max(...e.map(s=>s[0])),n=Math.min(...e.map(s=>s[0])),i=Math.max(...e.map(s=>s[1])),r=Math.min(...e.map(s=>s[1]));for(let s of e)if(s[0]!==n&&s[0]!==t&&s[1]!==r&&s[1]!==i||s[0]<n||s[0]>t||s[1]<r||s[1]>i)return!1;return!0}function Br(e){if(!e)return null;if(e.points.length>2){let t=Math.min(...e.points.map(s=>s[0])),n=Math.min(...e.points.map(s=>s[1])),i=Math.max(0,...e.points.map(s=>s[0])),r=Math.max(0,...e.points.map(s=>s[1]));return{x:t,y:n,width:i-t,height:r-n}}return null}function ab(e){return e.type==="SvgSelector"}function n_(e){return e.type==="BoxSelector"}function kd(e,t){if(ab(e)){let l=e.svgShape==="polyline";if(!e.points||e.points.length===0)return null;if(t){let{width:u,height:f}=t;return{type:"SvgSelector",value:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 ${u} ${f}" width="${u}" height="${f}"><${l?"polygon":"polyline"} points="${e.points.map(c=>c.join(",")).join(" ")}" /></svg>`}}return{type:"SvgSelector",value:`<svg xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g><path d='M${e.points.map(u=>u.join(",")).join(" ")}${l?" Z":""}' /></g></svg>`}}if(!e.spatial)return null;let{x:n,y:i,width:r,height:s}=e.spatial||{};return!r||!s?null:{type:"FragmentSelector",value:`xywh=${~~n},${~~i},${~~r},${~~s}`}}function Hs(e,t){if(!e||!e.points.length)return null;if(js(e.points)){let n=e.points.map(f=>f[0]),i=e.points.map(f=>f[1]),r=Math.min(...n),s=Math.min(...i),l=Math.max(...n)-r,u=Math.max(...i)-s;return kd({type:"BoxSelector",spatial:{x:r,y:s,width:l,height:u}},t)}return kd({type:"SvgSelector",points:e.points,svgShape:e.open?"polygon":"polyline"},t)}function ml(e){if(e.type==="polygon"&&!e.noBox&&e.points&&js(e.points)){let n=Br({open:!1,points:e.points||[]});return ml({...e,type:"box",selector:n})}if(e.type==="polygon"||e.type==="draw")return{polygon:{points:e.points||[],open:e.open||!1},requestType:e.type,boundingBox:Br({points:e.points||[],open:!1}),metadata:{},arguments:e.arguments||{},target:Hs({points:e.points||[],open:!1},e.bounds)};let t=e.selector;if(t){let n=[[t.x,t.y],[t.x+t.width,t.y],[t.x+t.width,t.y+t.height],[t.x,t.y+t.height]];return{polygon:{points:n,open:!1},requestType:e.type,boundingBox:t,metadata:{},target:Hs({points:n,open:!1},e.bounds),arguments:e.arguments||{}}}return{polygon:{points:[],open:!1},requestType:e.type,boundingBox:null,target:null,metadata:{},arguments:e.arguments||{}}}var i_={shapeId:null,noShape:!0,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,lastCreationTool:null,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:0},bounds:null,showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,transitionModifiers:null,selectedStamp:null,bezierLines:[],boxMode:!1,fixedAspectRatio:!1,cursor:"",enabledTools:["pointer","pen","box","lineBox","stamp","hand","line","pencil"],canDelete:!0,canDeselect:!0,isToolSwitchingLocked:!1,currentTool:"box",snapEnabled:!1,snapToPoints:!1,snapToLines:!1,snapToIntersections:!1,snapToGrid:!1,snapToParallel:!1};function ug({events:e,enabledTools:t,keyboardShortcutMapping:n,keyboardShortcutsEnabled:i=!1,debug:r}){let s=zn((u,f)=>{let p=null,m=sb({emitter:e,keyboardShortcutsEnabled:i,keyboardShortcutMapping:n,enabledTools:t,customSetState:y=>{r&&console.log("partial state",y),u(w=>({polygonState:{...w.polygonState,...y}}))}},y=>{u(w=>w.tool.requestId?{polygon:{...y,id:w.tool.requestId}}:{polygon:{id:void 0,points:[],open:!0}}),e.emit("atlas.polygon-update",y)});return{mode:"explore",tool:{enabled:!1,requestId:null,canvasId:null},requestType:null,requests:{},history:m.history,polygon:null,validRequestIds:[],metadata:{},stableViewport:null,canvasRelativePositions:{},canvasViewports:{},polygons:m,polygonState:i_,setMetadata:(y,w)=>{let v=w||f().tool.requestId;v&&u(S=>({metadata:{...S.metadata,[v]:{...S.metadata[v]||{},...y}}}))},setToolCanvasId:y=>{u(w=>({tool:{...w.tool,canvasId:y}}))},switchTool:{pointer(){u({mode:"sketch"}),l.tools.setTool("pointer")},hand(){u({mode:"explore"}),l.tools.setTool("hand")},draw(){u({mode:"sketch"}),l.tools.setTool("pencil")},pen(){u({mode:"sketch"}),l.tools.setTool("pen")},line(){u({mode:"sketch"}),l.tools.setTool("line")},lineBox(){u({mode:"sketch"}),l.tools.setTool("lineBox")},box(){u({mode:"sketch"}),l.tools.setTool("box")},triangle(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.triangle()},hexagon(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.hexagon()},circle(){u({mode:"sketch"}),l.tools.setTool("stamp"),l.stamps.circle()},remove(){let y=f();y.tool.requestId&&(m.setShape({points:[],open:!0}),y.cancelRequest(y.tool.requestId))}},reset:()=>{let y=f();y.tool.requestId&&y.cancelRequest(y.tool.requestId)},setPolygonState:y=>u({polygonState:typeof y=="function"?y(f().polygonState):y}),getRequestId:()=>{let y=Math.random().toString(36).slice(2);return u(w=>({validRequestIds:[...w.validRequestIds,y]})),{requestId:y,clear:()=>{f().tool.requestId,u(w=>({tool:w.tool.requestId===y?{enabled:!1,requestId:null,canvasId:null}:w.tool,validRequestIds:w.validRequestIds.filter(v=>v!==y)}))}}},cancelRequest:y=>{let w=y||f().tool.requestId;w&&(u(v=>({mode:"explore",tool:v.tool.requestId===w?{enabled:!1,requestId:null,canvasId:null}:v.tool,validRequestIds:v.validRequestIds.filter(S=>S!==w)})),e.emit("atlas.request-cancelled",{id:w}))},requestAnnotation:async(y,w)=>{let S={...f().requests,[w.requestId]:y},E=ml(y);r&&console.log("requestAnnotation",{response:E,request:y});try{let{points:R=[],open:b=!0}=E.polygon||{},{requestId:I,canvasId:M=null,toolId:T}=w,_=T,U=f(),H=U.validRequestIds.includes(I),Z=E.requestType;return r&&console.log("setting points",{requestType:Z,points:R,open:b}),!H||U.tool.enabled?null:(m.setShape({id:I,points:R,open:b}),Z==="polygon"&&(_=_||"pen",m.tools.setTool("pen")),Z==="draw"&&(_=_||"draw",m.tools.setTool("pencil")),Z==="box"&&(_=_||"box",m.tools.setTool("box")),Z==="target"?(_=_||"box",m.tools.setTool("box"),m.lockAspectRatio(),m.tools.lockToolSwitching(),m.tools.setCanDeselect(!1),m.tools.setCanDelete(!1)):(m.tools.unlockToolSwitching(),m.tools.setCanDeselect(!0),m.tools.setCanDelete(!0)),y.bounds&&m.setBounds(y.bounds),e.emit("atlas.annotation-request",{id:I}),u({polygon:{id:I,points:R,open:b},mode:"sketch",requestType:Z,tool:{enabled:!0,requestId:I,canvasId:M},requests:S}),_?U.switchTool[_]?.():R.length===0&&U.switchTool.box(),(typeof y.selectByDefault>"u"&&R.length&&Z==="box"||y.selectByDefault)&&U.switchTool.pointer(),new Promise(B=>{let G=ce=>{ce.id===I&&(u(J=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(J.requests).filter(([te])=>te!==I))})),e.off("atlas.request-cancelled",G),e.off("atlas.annotation-completed",K),B(null))},K=ce=>{ce.id===I&&(u(J=>({mode:"explore",tool:{requestId:null,enabled:!1,canvasId:null},requests:Object.fromEntries(Object.entries(J.requests).filter(([te])=>te!==I))})),e.off("atlas.annotation-completed",K),e.off("atlas.request-cancelled",G),B(ce))};e.on("atlas.request-cancelled",G),e.on("atlas.annotation-completed",K)}))}catch(R){return console.error(R),null}},completeRequest:y=>{let w=f().tool.requestId;if(typeof y=="string"&&y&&y!==w)return;let v=w?f().requests[w]?.arguments||{}:{},S=w?f().metadata[w]||{}:{},E=f().polygonState.bounds,R=f().polygon;R&&(e.emit("atlas.annotation-completed",{id:R.id,polygon:R,requestType:f().requestType,target:Hs(R,E),canvasId:f().tool.canvasId,boundingBox:Br(R),metadata:S,arguments:{...v}}),m.setShape(null))},setAtlasRuntime:y=>{p=y,e.emit("atlas.ready",{runtime:y}),l.setScale(1/p._lastGoodScale),p.world.addLayoutSubscriber((w,v)=>{(w==="event-activation"||w==="zoom-to"||w==="go-home")&&p?._lastGoodScale&&!Number.isNaN(p._lastGoodScale)&&l.setScale(1/p._lastGoodScale)})},clearAtlasRuntime:()=>{p=null,u({stableViewport:null})},setCanvasRelativePosition:(y,w)=>{u(v=>({canvasRelativePositions:{...v.canvasRelativePositions,[y]:w}}))},clearCanvasRelativePosition:y=>{u(w=>{let v={...w.canvasRelativePositions};return delete v[y],{canvasRelativePositions:v}})},changeMode:y=>{u({mode:y})},nudgeLeft:()=>{},nudgeRight:()=>{},nudgeUp:()=>{},nudgeDown:()=>{},zoomIn:()=>{p?.world?.zoomIn()},zoomOut:()=>{p?.world?.zoomOut()},goHome:()=>{p?.world?.goHome()}}}),l=s.getState().polygons;return e.on("atlas.annotation-request",()=>{l.clock.start((u,f,p)=>{e.emit("atlas.polygon-render",{state:u,slowState:f,dt:p})},u=>{typeof u=="object"?s.setState({polygonState:u}):s.setState(f=>({polygonState:u(f.polygonState)}))})}),e.on("atlas.annotation-completed",()=>{l.clock.stop()}),e.on("atlas.request-cancelled",()=>{l.clock.stop()}),s}var dg=A(D(),1),Fo=(0,or.createContext)(null);function st(){return(0,or.useContext)(Fo)}var cg={};function fg(e="atlas"){return cg[e]?.getState()}function Ws({children:e,name:t="atlas",existing:n,atlasStoreConfig:i}){let r=ag(),s=(0,or.useContext)(Fo),l=(0,or.useMemo)(()=>n||s||ug({events:r,...i||{}}),[r,n,s]),u=ve(l,f=>f.mode);return(0,or.useEffect)(()=>{let f=t;return f&&(cg[f]=l),()=>{f&&delete cg[f]}},[l,t]),(0,dg.jsx)(Fo.Provider,{value:l,children:(0,dg.jsx)(Bs.Provider,{value:u||"explore",children:e})})}var fb=A(Q(),1);var Us=A(Q(),1),lb=A(D(),1);function hg(){return{default:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(252,0,98, .5)"},highlighted:{backgroundColor:"rgba(75, 103, 225, 0.4)",borderWidth:"1px",borderColor:"rgba(75,103,225,0.99)"},hidden:{borderWidth:"0px",borderColor:"rgba(0,0,0,0)",backgroundColor:"rgba(0,0,0,0)",hidden:!0}}}var pg=(0,Us.createContext)(hg());pg.displayName="AnnotationStyle";function gl(){return(0,Us.useContext)(pg)}function r_({theme:e,children:t}){let n=(0,Us.useMemo)(()=>e||hg(),[e]);return(0,lb.jsx)(pg.Provider,{value:n,children:t})}var ub=A(Q(),1);function yl(e={},t=[]){let{id:n,selector:i}=e,r=rn(),s=ze(),l=n||r.annotation,u=qe(p=>l?p.iiif.entities.Annotation[l]:void 0,[l]),f=qe(p=>u&&u.body?u.body.map(c=>c?c.type==="SpecificResource"?{...c,source:s.get(c)}:c?p.iiif.entities[c.type][c.id]:null:null).filter(Boolean):[],[u]);return(0,ub.useMemo)(()=>{if(!u)return;let p={...u,body:f,target:Tt(u.target,{typeMap:s.getState().iiif.mapping})};return i?i(p):p},[u,i,f,...t])}var cb=A(Q(),1);function Ce(e={},t=[]){let{id:n,selector:i}=e,r=rn(),s=n||r.canvas,l=qe(u=>s?u.iiif.entities.Canvas[s]:void 0,[s]);return(0,cb.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...t])}var mg=A(Q(),1);function vl(e=rr){return{addEventListener(t,n,i,r){if(t)return e.setMetaValue([t.id,"eventManager",n],s=>{let l=s||[];for(let u of l)if(u.callback===i)return l;return[...l,{callback:i,scope:r}]}),i},removeEventListener(t,n,i){t&&e.setMetaValue([t.id,"eventManager",n],r=>(r||[]).filter(s=>s.callback!==i))},getListenersAsProps(t,n){let i=typeof t=="string"?{id:t}:t;if(!i||!i.id)return{};let r=e.getResourceMeta(i.id,"eventManager"),s={};if(r&&i)for(let l of Object.keys(r))s[l]=u=>{let f=e.get(i);for(let{callback:p,scope:c}of r[l]||[])(!c||n&&c.indexOf(n)!==-1)&&p(u,f)};return s}}}function xl(e,t){let n=ze(),i=(0,mg.useMemo)(()=>vl(n),[n]),r=qe(()=>e&&e.id?n.getResourceMeta(e.id,"eventManager"):null,[e]);return(0,mg.useMemo)(()=>e?i.getListenersAsProps(e,t):{},[r,e,n,t])}var db=A(Q(),1);function Vr(e=rr){return{applyStyles(t,n,i){let r=typeof t=="string"?t:t.id;return e.setMetaValue([r,"styles",n],i)},getAppliedStyles(t){let n=typeof t=="string"?t:t.id;return e.getResourceMeta(n,"styles")}}}function No(e,t){let n=ze(),i=(0,db.useMemo)(()=>Vr(n),[n]);return qe(()=>{if(!e)return null;let r=i.getAppliedStyles(e.id);return r?t?r[t]:r:void 0},[e,t])}var hb=A(D(),1),zo=({id:e,style:t,className:n,interactive:i,targetId:r,ignoreTargetId:s})=>{let l=yl({id:e}),u=No(l,"atlas"),f=No(l,"html"),p=xl(l,["atlas"]),c=Ce(),m=gl(),y=(0,fb.useMemo)(()=>sg(sg(t,u),l?.motivation?.includes("highlighting")?m.highlighted:m.default),[t,u,m,l?.motivation]),w=r||c?.id;return c&&l&&l.target&&l.target.selector&&(l.target.selector.type==="BoxSelector"||l.target.selector.type==="SvgSelector")&&l.target.source&&(s?!0:l.target.source.id===w||l.target.source===w)?(0,hb.jsx)(V1,{id:l.id,isEditing:!0,region:l.target.selector.spatial,style:y,className:f?.className||n,interactive:!!(f?.href||i),href:f?.href||null,title:f?.title||null,hrefTarget:f?.target||null,onClick:()=>{},...p}):null};var mb=A(Q(),1);var pb=A(Q(),1);function gg(e={},t=[]){let{id:n,selector:i}=e,r=rn(),s=n||r.annotationPage,l=qe(u=>s?u.iiif.entities.AnnotationPage[s]:void 0,[s]);return(0,pb.useMemo)(()=>{if(l)return i?i(l):l},[l,...t])}var yg=A(D(),1),jr=({className:e,page:t,targetId:n,ignoreTargetId:i})=>{let r=gg({id:t.id})||t,s=No(r,"atlas"),l=No(r,"html");return qe(u=>r.id?u.iiif.entities.AnnotationPage[r.id]:null,[]),(0,yg.jsx)(mb.Fragment,{children:r.items?.map(u=>(0,yg.jsx)(zo,{id:u.id,style:s,className:l?.className||e,targetId:n,ignoreTargetId:i},u.id))})};var Hr=A(Q(),1),Ld=A(D(),1),gb=(0,Hr.createContext)(null),yb=(0,Hr.createContext)(null),vb=(0,Hr.createContext)(null);function o_(){let e=(0,Hr.useContext)(gb);if(!e)throw new Error("Ctx not found");return e}function s_(){let e=(0,Hr.useContext)(yb);if(!e)throw new Error("Ctx not found");return e}function a_(){let e=(0,Hr.useContext)(vb);if(!e)throw new Error("Ctx not found");return e}function Sl({actions:e,state:t,children:n,currentTime:i,progress:r,element:s}){return(0,Ld.jsx)(vb.Provider,{value:{currentTime:i,progress:r,element:s},children:(0,Ld.jsx)(yb.Provider,{value:e,children:(0,Ld.jsx)(gb.Provider,{value:t,children:n})})})}var bb=A(Q(),1);function xb(e,t,n=[],i=!1,r=[]){if(r.length&&(t=t.filter(l=>r.indexOf(l)===-1)),!t||t.length===0)return;if(t.length===1)return t[0];if(!e)return t.indexOf("none")===-1?t[0]:"none";if(t.indexOf(e)!==-1)return e;let s=e.indexOf("-")===-1?null:e.slice(0,e.indexOf("-"));if(s&&t.indexOf(s)!==-1)return s;for(let l of n)if(t.indexOf(l)!==-1)return l;if(!i&&e){let l=t.map(f=>f.indexOf("-")===-1?null:f.slice(0,f.indexOf("-"))),u=l.indexOf(e);if(u!==-1)return t[u];for(let f of n){let p=f.indexOf("-")===-1?null:f.slice(0,f.indexOf("-")),c=p?t.indexOf(p):-1;if(c!==-1)return t[c]}}return t.indexOf("none")===-1?t.indexOf("@none")===-1?t[0]:"@none":"none"}function vg(e,t,n={}){let{strictFallback:i=!1,defaultText:r="",separator:s=`
77
+ `,fallbackLanguages:l=[],closest:u,skipLanguages:f}=n,p=Object.keys(e||{}),c=u?t:xb(t,p,l,i,f);if(!e)return r;if(typeof e=="string")return e;let m=c?e[c]:void 0;if(m&&c){if(typeof m=="string")return m;if(m.length===1&&m[0]===""){let y=n.skipLanguages||[];return vg(e,t,{...n,skipLanguages:[...y,c]})}return m.join(s)}return""}function Fd(e,t={}){return vg(e,t.language||(typeof navigator<"u"?navigator.language:"en"),t)}var l_=Sb();function Sb(e={}){return(t,...n)=>{let i="";for(let r=0;r<t.length;r++)if(i+=t[r],r<n.length){let s=n[r];if(s==null)continue;typeof s=="string"?i+=s:i+=Fd(s,e)}return i}}function wb(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function xg(e=rr){function t(r){let s=r?typeof r=="string"?e.get(r):r:null;if(!s)return[];let l=e.get(s.items,{parent:s}),u=[];for(let f of l)u.push(...e.get(f.items,{parent:f}));return u}function n(r,s=[]){let l=Array.isArray(r)?r:t(r),u=[],f={items:[],type:"complex-choice"},p=[];for(let c of l){if(c.type!=="Annotation")throw Error("getPaintables() accept either a canvas or list of annotations");let m=Array.from(Array.isArray(c.body)?c.body:[c.body]);for(let y of m){let[w,{selector:v}]=wb(y),S=e.get(w),E=(S.type||"unknown").toLowerCase();if(E==="choice"){let R=e.get(S.items,{parent:S.id}),b=s.length?s.map(I=>R.find(M=>M.id===I)).filter(Boolean):[R[0]];b.length===0&&b.push(R[0]),f.items.push({type:"single-choice",items:R.map(I=>({id:I.id,label:I.label,selected:b.indexOf(I)!==-1})),label:w.label}),m.push(...b);continue}u.indexOf(E)===-1&&u.push(E),p.push({type:E,annotationId:c.id,annotation:c,resource:S,target:c.target,selector:v})}}return{types:u,items:p,choice:f.items.length<2?f.items[0]||null:f,allChoices:f.items.length?f:null}}function i(r){let{choice:s}=n(r);return s}return{getAllPaintingAnnotations:t,getPaintables:n,extractChoices:i}}function wl(){let e=It(),t=Ce();return(0,bb.useMemo)(()=>{if(!e||!t||!e.start)return null;let n=Tt(e.start);return!n||n.source.id!==t.id||!n||!n.selector||n.selector.type!=="TemporalSelector"?null:n.selector.temporal},[e,t])}var bt=A(Q(),1);function Rb(e){return{isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:e}}function u_(e,t){switch(t.type){case"RESET":return t.state;case"FINISHED":return{...e,isFinished:!0,isPlaying:!1,playRequested:!1};case"PLAY_PAUSE":return{...e,isFinished:!1,isPlaying:!e.isPlaying};case"PLAY_REQUESTED":return{...e,isFinished:!1,playRequested:!0};case"PAUSE":return{...e,isPlaying:!1};case"PLAY":return{...e,isFinished:!1,playRequested:!1,isPlaying:!0};case"MUTE":return{...e,isMuted:!0};case"SET_VOLUME":return{...e,volume:t.volume,isMuted:t.volume===0};case"TOGGLE_MUTE":return{...e,isMuted:!e.isMuted};case"UNMUTE":return{...e,isMuted:!1}}return e}function Nd(e){let t=Math.round(e);return`${Math.floor(t/60)}:${`${t%60}`.padStart(2,"0")}`}function Do(e){let[t,n]=(0,bt.useReducer)(u_,Rb(e.duration));(0,bt.useEffect)(()=>{n({type:"RESET",state:Rb(e.duration)})},[e.duration]);let i=(0,bt.useRef)(null),r=(0,bt.useRef)(null),s=(0,bt.useRef)(null),l=(0,bt.useRef)(!1),u=(0,bt.useCallback)(()=>{r.current&&i.current&&(r.current.innerHTML=Nd(i.current.currentTime),s.current&&(s.current.style.width=`${i.current.currentTime/e.duration*100}%`),l.current!==i.current.muted&&(l.current=i.current.muted,n(i.current.muted?{type:"MUTE"}:{type:"UNMUTE"})))},[e.duration]),f=(0,bt.useCallback)(()=>{i.current&&(n({type:"PLAY_REQUESTED"}),i.current.play().then(()=>{n({type:"PLAY"})}),u())},[u]),p=(0,bt.useCallback)(()=>{i.current&&(i.current.duration>0&&i.current.paused?f():c())},[u]),c=(0,bt.useCallback)(()=>{i.current&&(i.current.pause(),n({type:"PAUSE"}),u())},[u]),m=(0,bt.useCallback)(()=>{i.current&&(i.current.muted=!i.current.muted,n(i.current.muted?{type:"MUTE"}:{type:"UNMUTE"}))},[]),y=(0,bt.useCallback)(()=>{i.current&&(i.current.muted=!0,n({type:"MUTE"}))},[]),w=(0,bt.useCallback)(()=>{i.current&&(i.current.muted=!1,n({type:"UNMUTE"}))},[]),v=(0,bt.useCallback)(R=>{i.current&&(i.current.muted=!1,i.current.volume=R/100,n({type:"SET_VOLUME",volume:R}))},[]),S=(0,bt.useCallback)(R=>{i.current&&(i.current.currentTime=Math.max(0,Math.min(R*e.duration,e.duration)),u())},[]),E=(0,bt.useCallback)(R=>{if(i.current){let b=typeof R=="function"?R(i.current.currentTime):R;i.current.currentTime=Math.max(0,Math.min(b,e.duration)),u()}},[]);return(0,bt.useEffect)(()=>{let R=setInterval(()=>{u()},350);return()=>clearInterval(R)},[u,e.duration]),(0,bt.useEffect)(()=>{let R=()=>{n({type:"FINISHED"})},b=i.current;return b?.addEventListener("ended",R),()=>b?.removeEventListener("ended",R)},[]),[{element:i,currentTime:r,progress:s},t,{play:f,pause:c,playPause:p,mute:y,unmute:w,toggleMute:m,setVolume:v,setDurationPercent:S,setTime:E}]}var Bo=A(Q(),1),Sg=(0,Bo.createContext)(()=>{}),wg=(0,Bo.createContext)(()=>{});function Kt(e,t,n,i,r=[]){let s=(0,Bo.useContext)(e==="portal"?wg:Sg);(0,Bo.useEffect)(()=>(e!=="none"&&s(t,n,i),()=>{s(t,null)}),[t,e,s,...r])}var Dd=A(D(),1);function bg({media:e,startTime:t,children:n}){let[{element:i,currentTime:r,progress:s},l,u]=Do({duration:e.duration}),f=t?`${e.url}#t=${t}`:e.url;return(0,Dd.jsxs)(Sl,{state:l,actions:u,currentTime:r,progress:s,element:i,children:[(0,Dd.jsx)("audio",{ref:i,src:f}),n]},e.url)}function zd({media:e,mediaControlsDeps:t,audioCopmonent:n=bg,children:i}){let r=wl();return Kt("portal","audio",n,{media:e,startTime:r?r.startTime:null,children:i},[e,r,...t||[]]),null}var Bd=A(Q(),1),Wr=(0,Bd.createContext)(null);Wr.displayName="Strategy";function gt(){let e=(0,Bd.useContext)(Wr);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var Ur=A(D(),1);function Rg({model:e}){return(0,Ur.jsxs)(Ur.Fragment,{children:[(0,Ur.jsx)("style",{children:`
78
78
  .model-container {
79
79
  position: absolute;
80
80
  top: 0;
@@ -87,10 +87,10 @@ No matching component was found for:
87
87
  justify-content: center;
88
88
  pointer-events: visible;
89
89
  }
90
- `}),(0,Wr.jsx)("div",{className:"model-container",children:(0,Wr.jsx)("model-viewer",{"interaction-prompt":"none",style:{width:"100%",height:"100%"},"camera-controls":"","ar-status":"not-presenting",src:e.id})})]})}function Bd({model:e,name:t}){return Kt("overlay",`model-${t}`,vg,{model:e},[e]),null}var bb=A(D(),1);function xg(){let{strategy:e}=gt();return e.type!=="3d-model"?null:(0,bb.jsx)(Bd,{model:e.model})}var Vd=A(Q(),1),wl=(0,Vd.createContext)(null);wl.displayName="Controls";function mn(){let e=(0,Vd.useContext)(wl);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var or=A(D(),1);function Sg(){let{strategy:e}=gt(),{renderViewerControls:t,viewControlsDeps:n}=mn(),i=Ce(),r=i?.accompanyingCanvas,a=i?.placeholderCanvas;return(0,or.jsxs)(or.Fragment,{children:[e.type==="media"&&e.media.type==="Sound"&&r?(0,or.jsx)(ti,{canvas:r.id,children:(0,or.jsx)(zo,{renderViewerControls:t,viewControlsDeps:n})}):null,e.type==="media"&&e.media.type==="Sound"&&a&&!r?(0,or.jsx)(ti,{canvas:a.id,children:(0,or.jsx)(zo,{renderViewerControls:t,viewControlsDeps:n})}):null]})}var Ws=A(Q(),1);var sr=A(Q(),1);var Rb=A(Q(),1);function wg(){let t=ze().getStore();return(0,Rb.useMemo)(()=>n=>t.dispatch(n),[t])}function Eb(e){return typeof e!="string"&&e&&e.bindToVault}function bg(){let e=ze(),t=(0,sr.useRef)([]),n=wg(),i=(0,sr.useMemo)(()=>`vault://annotation-page/${new Date().getTime()}/${Math.round(Math.random()*1e9).toString(16)}`,[]);(0,sr.useLayoutEffect)(()=>{let u={id:i,type:"AnnotationPage",behavior:[],label:null,thumbnail:[],summary:null,requiredStatement:null,metadata:[],rights:null,provider:[],items:[],seeAlso:[],homepage:[],rendering:[],service:[]};n(co.importEntities({entities:{AnnotationPage:{[u.id]:u}}}))},[i]);let r=qe(u=>i&&u.iiif.entities.AnnotationPage[i]||null,[i]),a=(0,sr.useCallback)((u,f)=>{if(i){if(Eb(u)){let m=u;m.__vault||m.bindToVault(e),u=typeof m.source=="string"?m.source:m.source.id,t.current[u]=m}else typeof u!="string"&&(u=u.id);let h=e.get({id:i,type:"AnnotationPage"}),c=e.get({id:u,type:"Annotation"});h&&c&&(h.items.find(m=>m.id===c.id)||n(co.addReference({id:i,type:"AnnotationPage",key:"items",reference:{id:u,type:"Annotation"},index:f})))}},[i]),l=(0,sr.useCallback)(u=>{i&&(Eb(u)?u=typeof u.source=="string"?u.source:u.source.id:typeof u!="string"&&(u=u.id),t.current[u]&&t.current[u].beforeRemove(),e.get({id:i,type:"AnnotationPage"})&&n(co.removeReference({id:i,type:"AnnotationPage",key:"items",reference:{id:u,type:"Annotation"}})))},[i]);return[r,{addAnnotation:a,removeAnnotation:l}]}var Cb=A(D(),1),Ib=(0,Ws.createContext)(null);function Rg(){let e=(0,Ws.useContext)(Ib);return[e.fullPage,{addAnnotation:e.addAnnotation,removeAnnotation:e.removeAnnotation}]}function Eg({children:e}){let[t,{addAnnotation:n,removeAnnotation:i}]=bg();return(0,Cb.jsx)(Ib.Provider,{value:(0,Ws.useMemo)(()=>({fullPage:t,addAnnotation:n,removeAnnotation:i}),[t]),children:e})}var Do=A(D(),1);function Ig({children:e}){let{strategy:t}=gt(),[n]=Rg();return t.type!=="images"?null:(0,Do.jsxs)(Do.Fragment,{children:[n?(0,Do.jsx)(Hs,{page:n}):null,t.annotations&&t.annotations.pages?t.annotations.pages.map(i=>(0,Do.jsx)(Hs,{page:i},i.id)):null,e]})}var Ur=A(Q(),1);var Pb=A(Q(),1),Cg=(e,t=[])=>{let n=ze();(0,Pb.useEffect)(()=>{e(n)},[n,...t])};var jd=A(Q(),1);var Ab=jd.default.createContext(new Ls);function bl(){return(0,jd.useContext)(Ab)}function ar(e,t,{canvasId:n,manifestId:i}={}){let r=ze(),a=bl(),l=(0,Ur.useMemo)(()=>Gm(r,{imageServiceLoader:a}),[r,a]),[u,f]=(0,Ur.useState)(),h=It(i?{id:i}:void 0),c=Ce(n?{id:n}:void 0),m=c||h,v=(0,Ur.useRef)(!1);if((0,Ur.useEffect)(()=>(v.current=!1,()=>{v.current=!0}),[]),!m)throw new Error("Must be called under a manifest or canvas context.");return Cg(w=>{l.getBestThumbnailAtSize(m,e,t).then(y=>{y.best&&!v.current&&f(y.best)})},[m]),u}var Pg=A(D(),1);function Bo({x:e=0,y:t=0}){let n=Ce(),i=ar({maxWidth:256,maxHeight:256});return!n||!i||i.type!=="fixed"?null:(0,Pg.jsx)("world-object",{height:n.height,width:n.width,x:e,y:t,children:(0,Pg.jsx)("world-image",{uri:i.id,target:{x:0,y:0,width:n.width,height:n.height},display:i.width&&i.height?{width:i.width,height:i.height}:void 0,crop:void 0})})}var Hd=A(D(),1);function Ag({as:e}){let{strategy:t}=gt(),{renderMediaControls:n,mediaControlsDeps:i}=mn();return t.type!=="media"||t.media.type!=="Sound"?null:(0,Hd.jsxs)(Nd,{media:t.media,mediaControlsDeps:i,audioCopmonent:e,children:[(0,Hd.jsx)(Bo,{}),n?n(t):null]},t.media.url)}var Yd=A(Q(),1);function Tb({currentKeyFrameIndex:e,keyframes:t,targetTime:n,currentTime:i}){if(i<=n){let r=t.findIndex(u=>u.time>n);if(r===-1)return[e,[]];let a={},l=t.slice(e,r);for(let u of l)u.type==="enter"&&(a[u.id]=u),u.type==="exit"&&(a[u.id]?delete a[u.id]:a[u.id]=u);return[r,Object.values(a)]}return[e,[]]}function Mb({complexTimeline:e,startTime:t=0}){let n=Ri(),i={},r={progress:null,currentTime:null},a=0,l=null,u=0,f=null;function h(){let b=E.getState().visibleElements,I=i,M=[],T=Object.keys(I);for(let _ of T){let U=I[_],H=b[_];U&&H&&M.push(U)}return M}function c(){return Object.keys(i).map(b=>i[b])}function m(R){r.currentTime&&(r.currentTime.innerHTML=Fd(R),r.progress&&(r.progress.style.width=`${R/e.duration*100}%`))}let v=()=>{let R=E.getState(),b=R.currentPrime;if(!b)return;let I=i,M=R.visibleElements,T=Object.keys(I);for(let _ of T){let U=I[_],H=M[_];if(U&&_!==b.id&&H){let Z=u-H.time*1e3;Math.abs(u-H.time*1e3-U.currentTime*1e3)>300&&(U.currentTime=Z/1e3)}}},w=(R=0)=>{let b=R-a,I=E.getState();if(I.isPlaying){let M=I.currentPrime;if(M){let H=i[M.id];H&&(H.paused?u+=b:u=(M.time+H.currentTime)*1e3)}else u+=b;let T=u/1e3;if(T>I.duration){E.getState().setTime(0),E.setState({isPlaying:!1}),y(),m(0);return}m(T);let[_,U]=Tb({currentTime:T,currentKeyFrameIndex:I.nextKeyframeIndex,keyframes:I.complexTimeline.keyframes,targetTime:T});U.length&&I.applyKeyframes(_,U)}a=R,l=requestAnimationFrame(w)},y=()=>{l&&cancelAnimationFrame(l)},S=(R,b)=>{},E=zn((R,b)=>({complexTimeline:e,elements:{},visibleElements:{},isBuffering:!1,bufferMap:{},isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,isReady:!1,volume:100,duration:e.duration,clockStartRequests:0,clockStartTime:0,primeTime:0,currentPrime:null,clockRunning:!1,nextKeyframeIndex:0,startClock:()=>{b().clockRunning||(w(),f=setInterval(v,500)),R({clockRunning:!0,clockStartRequests:b().clockStartRequests+1})},applyKeyframes(I,M){let T=b(),_={...T.visibleElements},U=T.currentPrime;for(let H of M)H.type==="enter"&&(_[H.id]=H,n.emit("complex-timeline.enter",{id:H.id})),H.type==="exit"&&(_[H.id]=null,n.emit("complex-timeline.exit",{id:H.id})),H.isPrime&&(U=H);R({nextKeyframeIndex:I,visibleElements:_,currentPrime:U})},stopClock:()=>{let I=b().clockStartRequests;if(I!==0){if(I===1){y(),f&&clearInterval(f),R({clockRunning:!1,clockStartRequests:0});return}R({clockStartRequests:I-1})}},setElement:(I,M)=>{i[I]=M;let T=Object.keys(i),_=b().complexTimeline;S(M,I),_.items.filter(H=>H.type!=="Image"&&H.type!=="Text").every(H=>T.includes(H.annotationId))&&!b().isReady&&(n.emit("complex-timeline.ready",{complexTimeline:_}),R({isReady:!0}))},removeElement:I=>{delete i[I]},mute(){for(let I of c())I.muted=!0;R({isMuted:!0})},unmute(){for(let I of c())I.muted=!1;R({isMuted:!1})},play(){if(!b().isPlaying){for(let M of h())M.play();R({isPlaying:!0})}},pause(){if(b().isPlaying){for(let M of h())M.pause();R({isPlaying:!1})}},playPause(){let I=b();I.isPlaying?I.pause():I.play()},setDurationPercent(I){let T=b().duration*I;b().setTime(T)},setTime(I){let M=b(),T=u/1e3,_=typeof I=="function"?I(T):I,U=M.nextKeyframeIndex;if(T>_){R({visibleElements:{},currentPrime:null});let J=Object.keys(M.visibleElements);for(let te of J)n.emit("complex-timeline.exit",{id:te});T=0,U=0}let[H,Z]=Tb({currentTime:T,currentKeyFrameIndex:U,keyframes:M.complexTimeline.keyframes,targetTime:_});M.applyKeyframes(H,Z),u=_*1e3;let G=E.getState().visibleElements,K=i,ce=Object.keys(G);for(let J of ce){let te=G[J];if(te){let oe=K[J];oe&&(oe.currentTime=(u-te.time*1e3)/1e3)}}m(_)},setVolume(I){for(let M of c())M.volume=Math.min(1,Math.max(0,I/100));R({volume:I})},toggleMute(){let I=b();I.isMuted?(I.unmute(),R({isMuted:!1})):(I.mute(),R({isMuted:!0}))},clearProgressElement(){r.progress=null},setProgressElement(I){r.progress=I},setCurrentTimeElement(I){r.currentTime=I},clearCurrentTimeElement(){r.currentTime=null}}));return n.on("complex-timeline.enter",R=>{let b=E.getState(),I=R.id,M=i[I];M&&b.isPlaying&&M.play()}),n.on("complex-timeline.exit",R=>{let b=E.getState(),I=R.id,M=i[I];M&&(M.currentTime=0,M.pause())}),E.getState().setTime(t),{store:E,emitter:n}}var qs=A(Q(),1);var Wd=A(Q(),1);var _b=Wd.default.createContext(qm.store);_b.displayName="ImageServicesHelper";function Ud(){return(0,Wd.useContext)(_b)}function Ob(e){let t=Ud();return ve(t,({loaded:n})=>n[e])}function Us(){let e=Ud();return ve(e,({loadServiceSync:t})=>t)}function kb(){let e=Ud();return ve(e,({loaded:t})=>t)}function Lb(){let e=Ud();return ve(e,({loadService:t})=>t)}var Ii=A(Q(),1),Ei=A(D(),1),Nb=Ii.default.createContext("en"),zb=Ii.default.createContext({}),Db=Ii.default.createContext(null);function u_(e){return(0,Ei.jsx)(zb.Provider,{value:e.translations,children:e.children})}function c_(e){return(0,Ei.jsx)(Nb.Provider,{value:e.language,children:e.children})}function d_(e){return(0,Ei.jsx)(Db.Provider,{value:e.convert,children:e.children})}function Tg(){return Ii.default.useContext(Db)}function qd(){return Ii.default.useContext(Nb)}function Mg(){return Ii.default.useContext(zb)}function Fb(e){return e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):e}function Bb({as:e,language:t,children:n,viewingDirection:i,...r}){let a=qd();return(0,Ii.useMemo)(()=>Fb(a)===Fb(t),[a,t])?e?(0,Ei.jsx)(e,{...r,children:n}):(0,Ei.jsx)("span",{...r,children:n}):e?(0,Ei.jsx)(e,{...r,lang:t,dir:i,children:n}):(0,Ei.jsx)("span",{...r,lang:t,dir:i,children:n})}function Vb(e,t,n){if(t.length===0)return;if(t.length===1)return t[0];if(t.indexOf(e)!==-1)return e;let i=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(i&&t.indexOf(i)!==-1)return i;for(let r of n)if(t.indexOf(r)!==-1)return r;return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}var jb=(e,t=[])=>{let n=qd();return(0,Ii.useMemo)(()=>{let i=e();return Vb(n,i,[])},[n,...t])};function Vo(e,t,n,i){return t?n?n(e[t]||t,i||"none"):e[t]||t:""}function Hb(e,t,n=`
91
- `,i={}){let r=Tg(),a=jb(()=>Object.keys(e||{}),[e]);return[(0,Ii.useMemo)(()=>{if(!e)return Vo(i,t,r)||"";if(typeof e=="string")return Vo(i,e,r);let l=a?e[a]:void 0;return l?typeof l=="string"?l:l.map(u=>Vo(i,u,r,a)).join(n):""},[a,t,e]),a]}function f_(){let e=qd(),t=Mg(),n=Tg();return function(r,a="",l=`
92
- `,u=t){let f=Object.keys(r||{}),h=Vb(e,f,[]);if(!r)return Vo(u,a,n)||"";if(typeof r=="string")return Vo(u,r,n);let c=h?r[h]:void 0;return c?typeof c=="string"?Vo(u,c,n,h):c.map(m=>Vo(u,m,n,h)).join(typeof l<"u"?l:`
93
- `):""}}function Hn({as:e,defaultText:t,enableDangerouslySetInnerHTML:n,children:i,separator:r,...a}){let l=Mg(),[u,f]=Hb(i,t,r,l);return f?(0,Ei.jsx)(Bb,{...a,as:e,language:f,title:n?void 0:u,dangerouslySetInnerHTML:n?{__html:u}:void 0,children:n?void 0:u}):e?(0,Ei.jsx)(e,{...a,children:u}):(0,Ei.jsx)("span",{...a,title:n?void 0:u,dangerouslySetInnerHTML:n?{__html:u}:void 0,children:n?void 0:u})}var Gd=A(Q(),1),jo=A(D(),1),_g=e=>{let t=e.format||"jpg",n=e.width/(e.crop?.width||e.tiles.width),i=e.tiles.imageService.sizes||[],r=e.enableThumbnail,a=e.enableSizes,l=(0,Gd.useMemo)(()=>{let h=e.tiles.imageService.id||e.tiles.imageService["@id"];return h?.endsWith("/info.json")?h.slice(0,-1*10):h},[e.tiles.imageService.id,e.tiles.imageService["@id"]]),u=(0,Gd.useMemo)(()=>{let h=e.tiles.imageService.tiles||[];if(!h.length){let c=e.width,m=[1],v=1;for(;2**v<c;)v=v*2,m.push(v);return(e.tiles.imageService.maxArea||e.tiles.imageService.maxWidth||e.tiles.imageService.maxHeight)&&ks(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:m}]:ks(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:m}]:[]}return h},[e.tiles.imageService,e.width]),f=(0,Gd.useMemo)(()=>{let h=e.tiles.imageService;return(h?h["@context"]?Array.isArray(h["@context"])?h["@context"]:[h["@context"]]:[]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1},[e.tiles.imageService.id,e.tiles.imageService]);return(0,jo.jsx)("world-object",{rotation:e.rotation,scale:n,height:e.crop?.height||e.tiles.height,width:e.crop?.width||e.tiles.width,x:e.x,y:e.y,onClick:e.onClick,children:(0,jo.jsxs)("composite-image",{id:e.tiles.imageService.id,width:e.crop?.width||e.tiles.width,height:e.crop?.height||e.tiles.height,crop:e.crop,renderOptions:e.renderOptions,children:[r&&e.tiles.thumbnail?(0,jo.jsx)("world-image",{priority:!0,uri:e.tiles.thumbnail.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:e.tiles.thumbnail.width,height:e.tiles.thumbnail.height},crop:e.crop}):null,a&&i.map((h,c)=>(0,jo.jsx)("world-image",{uri:`${l}/full/${h.width},${f?h.height:""}/0/default.${t}`,target:{width:e.tiles.width,height:e.tiles.height},display:{width:h.width,height:h.height},crop:e.crop},c)),u.map(h=>(h.scaleFactors||[]).map(c=>(0,jo.jsx)("tiled-image",{uri:e.tiles.imageService.id,display:{width:e.tiles.width,height:e.tiles.height},format:t,tile:h,scaleFactor:c,crop:e.crop,version3:f},`${e.tiles.imageService.id}-tile-${c}`)))]},e.tiles.imageService.id)},e.tiles.imageService.id)};var si=A(D(),1);function h_({resource:e,heading:t,note:n,extra:i}){return i?(0,si.jsx)(oi,{target:{x:0,y:0,width:i.target?.spatial.width,height:i.target?.spatial.height},backgroundColor:"#333",relative:!0,children:(0,si.jsx)("div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:(0,si.jsxs)("div",{children:[(0,si.jsx)(Hn,{children:t||"Not authorised"}),n&&(0,si.jsx)("p",{children:(0,si.jsx)(Hn,{children:n})}),(0,si.jsx)("p",{children:e.id||e["@id"]||"unknown"})]})})}):null}function Wb({image:e,thumbnail:t,crop:n,enableSizes:i,enableThumbnail:r,renderOptions:a,rotation:l}){let u=hm(),f=Xe(e.service),h=Ob(f),c=Us(),m=h?.service;c(e.service,e);let v=m&&h?.status==="done",w=(m?.preferredFormats||[])[0],y=t&&t.type==="fixed"&&t.id&&!t.id.includes("/full/full/")&&!t.id.includes("/max/")?t:void 0;if(v===!1)return null;if(!u){let S=e.service,E=S.width||e.width||0,R=S.height||e.height||0,b=0,I=0,M=e.target?.spatial.width||E,T=e.target?.spatial.height||R;return(l===90||l===270)&&([M,T]=[T,M],T>M?I=-(T-M)/2:b=-(M-T)/2),(0,si.jsx)(_g,{enableThumbnail:r,renderOptions:a,rotation:l,tiles:{id:S.id||S["@id"]||"unknown",height:R,width:E,imageService:S,thumbnail:y},enableSizes:i,x:b,y:I,format:w,width:M,height:T,crop:n})}return(0,si.jsx)(pm,{resource:e.service,errorComponent:h_,extra:e,children:S=>{let E=S.width||e.width||0,R=S.height||e.height||0,b=0,I=0,M=e.target?.spatial.width||E,T=e.target?.spatial.height||R;return(l===90||l===270)&&([M,T]=[T,M],T<M?(I=-(T-M)/2,b=(M-T)/2):(I=(T-M)/2,b=-(M-T)/2)),(0,si.jsx)(_g,{enableThumbnail:r,renderOptions:a,tiles:{id:S.id||S["@id"]||"unknown",height:R,width:E,imageService:S,thumbnail:y},rotation:l,format:w,enableSizes:i,x:b,y:I,width:M,height:T,crop:n})}},e.id)}var Ho=A(D(),1);function qr({id:e,image:t,thumbnail:n,isStatic:i,x:r=0,y:a=0,children:l,selector:u,onClick:f,enableSizes:h}){let c=(0,qs.useMemo)(()=>{if(!(!u||u.spatial.x===0&&u.spatial.y===0))return u.spatial},[u]),m=(0,qs.useMemo)(()=>{let b=Array.isArray(t.annotation.body)?t.annotation.body?.[0]:t.annotation.body;if(b&&b.selector?.type==="ImageApiSelector")return Number(b.selector.rotation)},[t]),v=r+t.target.spatial.x,w=a+t.target.spatial.y,y=t.target.spatial.width,S=t.target.spatial.height,E=t.target.spatial.width,R=t.target.spatial.height;return(m===90||m===270)&&([y,S]=[S,y],[E,R]=[R,E]),(0,Ho.jsx)("world-object",{x:v,y:w,width:y,height:S,onClick:f,rotation:m,children:t.service?(0,Ho.jsxs)(qs.Fragment,{children:[(0,Ho.jsx)(Wb,{image:t,thumbnail:n,crop:c,enableSizes:h,rotation:m}),l]},"service"):(0,Ho.jsxs)(qs.Fragment,{children:[(0,Ho.jsx)("world-image",{onClick:f,uri:t.id,target:{x:0,y:0,width:E,height:R},display:E&&R?{width:E,height:R}:void 0,crop:c}),l]},"no-service")},e+(t.service?"server":"no-service"))}var $d=A(Q(),1);var Ub=A(D(),1),Og=(0,$d.createContext)(null);Og.displayName="ComplexTimeline";function kg({children:e,store:t}){return(0,Ub.jsx)(Og.Provider,{value:t,children:e})}function p_(e){let t=(0,$d.useContext)(Og);if(!t)throw new Error("useComplexTimeline must be used within a ComplexTimelineProvider");return ve(t,e)}var lr=A(D(),1);function Qd({strategy:e,onClickPaintingAnnotation:t}){return(0,lr.jsx)(lr.Fragment,{children:e.items.map((n,i)=>(0,lr.jsx)(lr.Fragment,{children:(0,lr.jsx)(oi,{onClick:t?r=>{r.stopPropagation(),t(n.annotationId,n,r)}:void 0,target:n.target?.spatial||void 0,children:(0,lr.jsx)("div",{"data-textual-content":!0,children:(0,lr.jsx)(Hn,{enableDangerouslySetInnerHTML:!0,children:n.text})})},i)}))})}var ur=A(D(),1);function qb({strategy:e,children:t}){let{store:n}=(0,Yd.useMemo)(()=>Mb({complexTimeline:e}),[e]),i=ve(n,l=>l.isReady),r=ve(n,l=>l.visibleElements);function a(l){return u=>{u&&n.getState().setElement(l,u)}}return(0,Yd.useLayoutEffect)(()=>{if(i){let{startClock:l,stopClock:u}=n.getState();return l(),()=>{u()}}},[e,i]),Kt("portal","custom-controls",kg,{store:n,children:t},[i]),(0,ur.jsxs)(ur.Fragment,{children:[e.items.map(l=>l.type!=="Image"||!r[l.annotationId]?null:(0,ur.jsx)(qr,{image:l,id:l.annotationId},l.id)),e.items.map((l,u)=>l.type!=="Text"||!r[l.annotationId]?null:(0,ur.jsx)(Qd,{strategy:{type:"textual-content",items:[l]}},u)),e.items.map((l,u)=>l.type!=="Video"||!l.target.spatial?null:(0,ur.jsx)(oi,{target:l.target.spatial,children:(0,ur.jsx)("video",{ref:a(l.annotationId),src:l.url,style:{height:"100%",width:"100%",opacity:r[l.annotationId]?1:0}})},u))]})}var Gb=A(D(),1);function Lg(){let{strategy:e}=gt(),{renderComplexTimelineControls:t}=mn();return e.type!=="complex-timeline"?null:(0,Gb.jsx)(qb,{strategy:e,children:t?t(e):null})}var $b=A(D(),1);function Kd({style:e}){let t=Ce();return!t||!t.height||!t.width?null:(0,$b.jsx)("box",{interactive:!1,target:{x:0,y:0,width:Number(t.width),height:Number(t.height)},style:e})}var Qb=A(D(),1);function Fg({backgroundStyle:e,alwaysShowBackground:t}){let{strategy:n}=gt();return n.type!=="empty"&&!t?null:(0,Qb.jsx)(Kd,{style:e})}var Xd=A(Q(),1),Ci=(0,Xd.createContext)(null);function Rl(){return(0,Xd.useContext)(Ci)}var Gs=A(D(),1);function Ng({isStatic:e=!1,enableSizes:t=!1,onClickPaintingAnnotation:n,children:i}){let{strategy:r}=gt(),{renderViewerControls:a,viewControlsDeps:l}=mn(),u=Ce(),f=Rl(),h=ar({maxWidth:256,maxHeight:256});return Kt(f&&r.type==="images"&&a?"overlay":"none",`canvas-portal-controls-${u?.id}`,Ci.Provider,a?{value:f||null,children:a(r)}:{},[u,f,r,...l||[]]),r.type!=="images"?null:(0,Gs.jsxs)(Gs.Fragment,{children:[r.images.map((c,m)=>(0,Gs.jsx)(qr,{isStatic:e,image:c,id:c.id,thumbnail:m===0?h:void 0,selector:c.selector,enableSizes:t,onClick:n?v=>{n(c.annotationId,c,v)}:void 0},c.id+m)),i]})}var $s=A(D(),1);function zg({onClickPaintingAnnotation:e,children:t}){let{strategy:n}=gt(),{renderViewerControls:i,viewControlsDeps:r}=mn(),a=Rl(),l=Ce();return Kt(a&&n.type==="textual-content"&&i?"overlay":"none",`canvas-portal-controls-${l?.id}`,Ci.Provider,i?{value:a||null,children:i(n)}:{},[l,a,n,...r||[]]),n.type!=="textual-content"?null:(0,$s.jsxs)($s.Fragment,{children:[(0,$s.jsx)(Qd,{strategy:n,onClickPaintingAnnotation:e}),t]})}var El=A(D(),1);function Dg({element:e,media:t,startTime:n,playPause:i,poster:r}){let a="div",l=n?`${t.url}#t=${n}`:t.url;return(0,El.jsxs)(a,{className:"video-container",part:"video-container",onClick:i,children:[(0,El.jsx)("style",{children:`
90
+ `}),(0,Ur.jsx)("div",{className:"model-container",children:(0,Ur.jsx)("model-viewer",{"interaction-prompt":"none",style:{width:"100%",height:"100%"},"camera-controls":"","ar-status":"not-presenting",src:e.id})})]})}function Vd({model:e,name:t}){return Kt("overlay",`model-${t}`,Rg,{model:e},[e]),null}var Eb=A(D(),1);function Eg(){let{strategy:e}=gt();return e.type!=="3d-model"?null:(0,Eb.jsx)(Vd,{model:e.model})}var jd=A(Q(),1),bl=(0,jd.createContext)(null);bl.displayName="Controls";function mn(){let e=(0,jd.useContext)(bl);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var sr=A(D(),1);function Ig(){let{strategy:e}=gt(),{renderViewerControls:t,viewControlsDeps:n}=mn(),i=Ce(),r=i?.accompanyingCanvas,s=i?.placeholderCanvas;return(0,sr.jsxs)(sr.Fragment,{children:[e.type==="media"&&e.media.type==="Sound"&&r?(0,sr.jsx)(ni,{canvas:r.id,children:(0,sr.jsx)(Vo,{renderViewerControls:t,viewControlsDeps:n})}):null,e.type==="media"&&e.media.type==="Sound"&&s&&!r?(0,sr.jsx)(ni,{canvas:s.id,children:(0,sr.jsx)(Vo,{renderViewerControls:t,viewControlsDeps:n})}):null]})}var qs=A(Q(),1);var ar=A(Q(),1);var Ib=A(Q(),1);function Cg(){let t=ze().getStore();return(0,Ib.useMemo)(()=>n=>t.dispatch(n),[t])}function Cb(e){return typeof e!="string"&&e&&e.bindToVault}function Pg(){let e=ze(),t=(0,ar.useRef)([]),n=Cg(),i=(0,ar.useMemo)(()=>`vault://annotation-page/${new Date().getTime()}/${Math.round(Math.random()*1e9).toString(16)}`,[]);(0,ar.useLayoutEffect)(()=>{let u={id:i,type:"AnnotationPage",behavior:[],label:null,thumbnail:[],summary:null,requiredStatement:null,metadata:[],rights:null,provider:[],items:[],seeAlso:[],homepage:[],rendering:[],service:[]};n(ho.importEntities({entities:{AnnotationPage:{[u.id]:u}}}))},[i]);let r=qe(u=>i&&u.iiif.entities.AnnotationPage[i]||null,[i]),s=(0,ar.useCallback)((u,f)=>{if(i){if(Cb(u)){let m=u;m.__vault||m.bindToVault(e),u=typeof m.source=="string"?m.source:m.source.id,t.current[u]=m}else typeof u!="string"&&(u=u.id);let p=e.get({id:i,type:"AnnotationPage"}),c=e.get({id:u,type:"Annotation"});p&&c&&(p.items.find(m=>m.id===c.id)||n(ho.addReference({id:i,type:"AnnotationPage",key:"items",reference:{id:u,type:"Annotation"},index:f})))}},[i]),l=(0,ar.useCallback)(u=>{i&&(Cb(u)?u=typeof u.source=="string"?u.source:u.source.id:typeof u!="string"&&(u=u.id),t.current[u]&&t.current[u].beforeRemove(),e.get({id:i,type:"AnnotationPage"})&&n(ho.removeReference({id:i,type:"AnnotationPage",key:"items",reference:{id:u,type:"Annotation"}})))},[i]);return[r,{addAnnotation:s,removeAnnotation:l}]}var Ab=A(D(),1),Pb=(0,qs.createContext)(null);function Ag(){let e=(0,qs.useContext)(Pb);return[e.fullPage,{addAnnotation:e.addAnnotation,removeAnnotation:e.removeAnnotation}]}function Tg({children:e}){let[t,{addAnnotation:n,removeAnnotation:i}]=Pg();return(0,Ab.jsx)(Pb.Provider,{value:(0,qs.useMemo)(()=>({fullPage:t,addAnnotation:n,removeAnnotation:i}),[t]),children:e})}var jo=A(D(),1);function Mg({children:e}){let{strategy:t}=gt(),[n]=Ag();return t.type!=="images"?null:(0,jo.jsxs)(jo.Fragment,{children:[n?(0,jo.jsx)(jr,{page:n}):null,t.annotations&&t.annotations.pages?t.annotations.pages.map(i=>(0,jo.jsx)(jr,{page:i},i.id)):null,e]})}var qr=A(Q(),1);var Tb=A(Q(),1),_g=(e,t=[])=>{let n=ze();(0,Tb.useEffect)(()=>{e(n)},[n,...t])};var Hd=A(Q(),1);var Mb=Hd.default.createContext(new Ns);function Rl(){return(0,Hd.useContext)(Mb)}function lr(e,t,{canvasId:n,manifestId:i}={}){let r=ze(),s=Rl(),l=(0,qr.useMemo)(()=>Qm(r,{imageServiceLoader:s}),[r,s]),[u,f]=(0,qr.useState)(),p=It(i?{id:i}:void 0),c=Ce(n?{id:n}:void 0),m=c||p,y=(0,qr.useRef)(!1);if((0,qr.useEffect)(()=>(y.current=!1,()=>{y.current=!0}),[]),!m)throw new Error("Must be called under a manifest or canvas context.");return _g(w=>{l.getBestThumbnailAtSize(m,e,t).then(v=>{v.best&&!y.current&&f(v.best)})},[m]),u}var Og=A(D(),1);function Ho({x:e=0,y:t=0}){let n=Ce(),i=lr({maxWidth:256,maxHeight:256});return!n||!i||i.type!=="fixed"?null:(0,Og.jsx)("world-object",{height:n.height,width:n.width,x:e,y:t,children:(0,Og.jsx)("world-image",{uri:i.id,target:{x:0,y:0,width:n.width,height:n.height},display:i.width&&i.height?{width:i.width,height:i.height}:void 0,crop:void 0})})}var Wd=A(D(),1);function kg({as:e}){let{strategy:t}=gt(),{renderMediaControls:n,mediaControlsDeps:i}=mn();return t.type!=="media"||t.media.type!=="Sound"?null:(0,Wd.jsxs)(zd,{media:t.media,mediaControlsDeps:i,audioCopmonent:e,children:[(0,Wd.jsx)(Ho,{}),n?n(t):null]},t.media.url)}var Kd=A(Q(),1);var Ud=A(Q(),1);var _b=A(D(),1),Lg=(0,Ud.createContext)(null);Lg.displayName="ComplexTimeline";function Fg({children:e,store:t}){return(0,_b.jsx)(Lg.Provider,{value:t,children:e})}function c_(e){let t=(0,Ud.useContext)(Lg);if(!t)throw new Error("useComplexTimeline must be used within a ComplexTimelineProvider");return ve(t,e)}function Ob({currentKeyFrameIndex:e,keyframes:t,targetTime:n,currentTime:i}){if(i<=n){let r=t.findIndex(u=>u.time>n);if(r===-1)return[e,[]];let s={},l=t.slice(e,r);for(let u of l)u.type==="enter"&&(s[u.id]=u),u.type==="exit"&&(s[u.id]?delete s[u.id]:s[u.id]=u);return[r,Object.values(s)]}return[e,[]]}function kb({complexTimeline:e,startTime:t=0}){let n=Ei(),i={},r={progress:null,currentTime:null},s=0,l=null,u=0,f=null;function p(){let b=E.getState().visibleElements,I=i,M=[],T=Object.keys(I);for(let _ of T){let U=I[_],H=b[_];U&&H&&M.push(U)}return M}function c(){return Object.keys(i).map(b=>i[b])}function m(R){r.currentTime&&(r.currentTime.innerHTML=Nd(R),r.progress&&(r.progress.style.width=`${R/e.duration*100}%`))}let y=()=>{let R=E.getState(),b=R.currentPrime;if(!b)return;let I=i,M=R.visibleElements,T=Object.keys(I);for(let _ of T){let U=I[_],H=M[_];if(U&&_!==b.id&&H){let Z=u-H.time*1e3;Math.abs(u-H.time*1e3-U.currentTime*1e3)>300&&(U.currentTime=Z/1e3)}}},w=(R=0)=>{let b=R-s,I=E.getState();if(I.isPlaying){let M=I.currentPrime;if(M){let H=i[M.id];H&&(H.paused?u+=b:u=(M.time+H.currentTime)*1e3)}else u+=b;let T=u/1e3;if(T>I.duration){E.getState().setTime(0),E.setState({isPlaying:!1}),v(),m(0);return}m(T);let[_,U]=Ob({currentTime:T,currentKeyFrameIndex:I.nextKeyframeIndex,keyframes:I.complexTimeline.keyframes,targetTime:T});U.length&&I.applyKeyframes(_,U)}s=R,l=requestAnimationFrame(w)},v=()=>{l&&cancelAnimationFrame(l)},S=(R,b)=>{},E=zn((R,b)=>({complexTimeline:e,elements:{},visibleElements:{},isBuffering:!1,bufferMap:{},isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,isReady:!1,volume:100,duration:e.duration,clockStartRequests:0,clockStartTime:0,primeTime:0,currentPrime:null,clockRunning:!1,nextKeyframeIndex:0,startClock:()=>{b().clockRunning||(w(),f=setInterval(y,500)),R({clockRunning:!0,clockStartRequests:b().clockStartRequests+1})},applyKeyframes(I,M){let T=b(),_={...T.visibleElements},U=T.currentPrime;for(let H of M)H.type==="enter"&&(_[H.id]=H,n.emit("complex-timeline.enter",{id:H.id})),H.type==="exit"&&(_[H.id]=null,n.emit("complex-timeline.exit",{id:H.id})),H.isPrime&&(U=H);R({nextKeyframeIndex:I,visibleElements:_,currentPrime:U})},stopClock:()=>{let I=b().clockStartRequests;if(I!==0){if(I===1){v(),f&&clearInterval(f),R({clockRunning:!1,clockStartRequests:0});return}R({clockStartRequests:I-1})}},setElement:(I,M)=>{i[I]=M;let T=Object.keys(i),_=b().complexTimeline;S(M,I),_.items.filter(H=>H.type!=="Image"&&H.type!=="Text").every(H=>T.includes(H.annotationId))&&!b().isReady&&(n.emit("complex-timeline.ready",{complexTimeline:_}),R({isReady:!0}))},removeElement:I=>{delete i[I]},mute(){for(let I of c())I.muted=!0;R({isMuted:!0})},unmute(){for(let I of c())I.muted=!1;R({isMuted:!1})},play(){if(!b().isPlaying){for(let M of p())M.play();R({isPlaying:!0})}},pause(){if(b().isPlaying){for(let M of p())M.pause();R({isPlaying:!1})}},playPause(){let I=b();I.isPlaying?I.pause():I.play()},setDurationPercent(I){let T=b().duration*I;b().setTime(T)},setTime(I){let M=b(),T=u/1e3,_=typeof I=="function"?I(T):I,U=M.nextKeyframeIndex;if(T>_){R({visibleElements:{},currentPrime:null});let J=Object.keys(M.visibleElements);for(let te of J)n.emit("complex-timeline.exit",{id:te});T=0,U=0}let[H,Z]=Ob({currentTime:T,currentKeyFrameIndex:U,keyframes:M.complexTimeline.keyframes,targetTime:_});M.applyKeyframes(H,Z),u=_*1e3;let G=E.getState().visibleElements,K=i,ce=Object.keys(G);for(let J of ce){let te=G[J];if(te){let oe=K[J];oe&&(oe.currentTime=(u-te.time*1e3)/1e3)}}m(_)},setVolume(I){for(let M of c())M.volume=Math.min(1,Math.max(0,I/100));R({volume:I})},toggleMute(){let I=b();I.isMuted?(I.unmute(),R({isMuted:!1})):(I.mute(),R({isMuted:!0}))},clearProgressElement(){r.progress=null},setProgressElement(I){r.progress=I},setCurrentTimeElement(I){r.currentTime=I},clearCurrentTimeElement(){r.currentTime=null}}));return n.on("complex-timeline.enter",R=>{let b=E.getState(),I=R.id,M=i[I];M&&b.isPlaying&&M.play()}),n.on("complex-timeline.exit",R=>{let b=E.getState(),I=R.id,M=i[I];M&&(M.currentTime=0,M.pause())}),E.getState().setTime(t),{store:E,emitter:n}}var $s=A(Q(),1);var qd=A(Q(),1);var Lb=qd.default.createContext($m.store);Lb.displayName="ImageServicesHelper";function Gd(){return(0,qd.useContext)(Lb)}function Fb(e){let t=Gd();return ve(t,({loaded:n})=>n[e])}function Gs(){let e=Gd();return ve(e,({loadServiceSync:t})=>t)}function Nb(){let e=Gd();return ve(e,({loaded:t})=>t)}function zb(){let e=Gd();return ve(e,({loadService:t})=>t)}var Ci=A(Q(),1),Ii=A(D(),1),Bb=Ci.default.createContext("en"),Vb=Ci.default.createContext({}),jb=Ci.default.createContext(null);function d_(e){return(0,Ii.jsx)(Vb.Provider,{value:e.translations,children:e.children})}function f_(e){return(0,Ii.jsx)(Bb.Provider,{value:e.language,children:e.children})}function h_(e){return(0,Ii.jsx)(jb.Provider,{value:e.convert,children:e.children})}function Ng(){return Ci.default.useContext(jb)}function $d(){return Ci.default.useContext(Bb)}function zg(){return Ci.default.useContext(Vb)}function Db(e){return e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):e}function Hb({as:e,language:t,children:n,viewingDirection:i,...r}){let s=$d();return(0,Ci.useMemo)(()=>Db(s)===Db(t),[s,t])?e?(0,Ii.jsx)(e,{...r,children:n}):(0,Ii.jsx)("span",{...r,children:n}):e?(0,Ii.jsx)(e,{...r,lang:t,dir:i,children:n}):(0,Ii.jsx)("span",{...r,lang:t,dir:i,children:n})}function Wb(e,t,n){if(t.length===0)return;if(t.length===1)return t[0];if(t.indexOf(e)!==-1)return e;let i=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(i&&t.indexOf(i)!==-1)return i;for(let r of n)if(t.indexOf(r)!==-1)return r;return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}var Ub=(e,t=[])=>{let n=$d();return(0,Ci.useMemo)(()=>{let i=e();return Wb(n,i,[])},[n,...t])};function Wo(e,t,n,i){return t?n?n(e[t]||t,i||"none"):e[t]||t:""}function qb(e,t,n=`
91
+ `,i={}){let r=Ng(),s=Ub(()=>Object.keys(e||{}),[e]);return[(0,Ci.useMemo)(()=>{if(!e)return Wo(i,t,r)||"";if(typeof e=="string")return Wo(i,e,r);let l=s?e[s]:void 0;return l?typeof l=="string"?l:l.map(u=>Wo(i,u,r,s)).join(n):""},[s,t,e]),s]}function p_(){let e=$d(),t=zg(),n=Ng();return function(r,s="",l=`
92
+ `,u=t){let f=Object.keys(r||{}),p=Wb(e,f,[]);if(!r)return Wo(u,s,n)||"";if(typeof r=="string")return Wo(u,r,n);let c=p?r[p]:void 0;return c?typeof c=="string"?Wo(u,c,n,p):c.map(m=>Wo(u,m,n,p)).join(typeof l<"u"?l:`
93
+ `):""}}function Wn({as:e,defaultText:t,enableDangerouslySetInnerHTML:n,children:i,separator:r,...s}){let l=zg(),[u,f]=qb(i,t,r,l);return f?(0,Ii.jsx)(Hb,{...s,as:e,language:f,title:n?void 0:u,dangerouslySetInnerHTML:n?{__html:u}:void 0,children:n?void 0:u}):e?(0,Ii.jsx)(e,{...s,children:u}):(0,Ii.jsx)("span",{...s,title:n?void 0:u,dangerouslySetInnerHTML:n?{__html:u}:void 0,children:n?void 0:u})}var Qd=A(Q(),1),Uo=A(D(),1),Dg=e=>{let t=e.format||"jpg",n=e.width/(e.crop?.width||e.tiles.width),i=e.tiles.imageService.sizes||[],r=e.enableThumbnail,s=e.enableSizes,l=(0,Qd.useMemo)(()=>{let p=e.tiles.imageService.id||e.tiles.imageService["@id"];return p?.endsWith("/info.json")?p.slice(0,-1*10):p},[e.tiles.imageService.id,e.tiles.imageService["@id"]]),u=(0,Qd.useMemo)(()=>{let p=e.tiles.imageService.tiles||[];if(!p.length){let c=e.width,m=[1],y=1;for(;2**y<c;)y=y*2,m.push(y);return(e.tiles.imageService.maxArea||e.tiles.imageService.maxWidth||e.tiles.imageService.maxHeight)&&Fs(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:m}]:Fs(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:m}]:[]}return p},[e.tiles.imageService,e.width]),f=(0,Qd.useMemo)(()=>{let p=e.tiles.imageService;return(p?p["@context"]?Array.isArray(p["@context"])?p["@context"]:[p["@context"]]:[]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1},[e.tiles.imageService.id,e.tiles.imageService]);return(0,Uo.jsx)("world-object",{rotation:e.rotation,scale:n,height:e.crop?.height||e.tiles.height,width:e.crop?.width||e.tiles.width,x:e.x,y:e.y,onClick:e.onClick,children:(0,Uo.jsxs)("composite-image",{id:e.tiles.imageService.id,width:e.crop?.width||e.tiles.width,height:e.crop?.height||e.tiles.height,crop:e.crop,renderOptions:e.renderOptions,children:[r&&e.tiles.thumbnail?(0,Uo.jsx)("world-image",{priority:!0,uri:e.tiles.thumbnail.id,target:{width:e.tiles.width,height:e.tiles.height},display:{width:e.tiles.thumbnail.width,height:e.tiles.thumbnail.height},crop:e.crop}):null,s&&i.map((p,c)=>(0,Uo.jsx)("world-image",{uri:`${l}/full/${p.width},${f?p.height:""}/0/default.${t}`,target:{width:e.tiles.width,height:e.tiles.height},display:{width:p.width,height:p.height},crop:e.crop},c)),u.map(p=>(p.scaleFactors||[]).map(c=>(0,Uo.jsx)("tiled-image",{uri:e.tiles.imageService.id,display:{width:e.tiles.width,height:e.tiles.height},format:t,tile:p,scaleFactor:c,crop:e.crop,version3:f},`${e.tiles.imageService.id}-tile-${c}`)))]},e.tiles.imageService.id)},e.tiles.imageService.id)};var si=A(D(),1);function m_({resource:e,heading:t,note:n,extra:i}){return i?(0,si.jsx)(jn,{target:{x:0,y:0,width:i.target?.spatial.width,height:i.target?.spatial.height},backgroundColor:"#333",relative:!0,children:(0,si.jsx)("div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:(0,si.jsxs)("div",{children:[(0,si.jsx)(Wn,{children:t||"Not authorised"}),n&&(0,si.jsx)("p",{children:(0,si.jsx)(Wn,{children:n})}),(0,si.jsx)("p",{children:e.id||e["@id"]||"unknown"})]})})}):null}function Gb({image:e,thumbnail:t,crop:n,enableSizes:i,enableThumbnail:r,renderOptions:s,rotation:l}){let u=mm(),f=Xe(e.service),p=Fb(f),c=Gs(),m=p?.service;c(e.service,e);let y=m&&p?.status==="done",w=(m?.preferredFormats||[])[0],v=t&&t.type==="fixed"&&t.id&&!t.id.includes("/full/full/")&&!t.id.includes("/max/")?t:void 0;if(y===!1)return null;if(!u){let S=e.service,E=S.width||e.width||0,R=S.height||e.height||0,b=0,I=0,M=e.target?.spatial.width||E,T=e.target?.spatial.height||R;return(l===90||l===270)&&([M,T]=[T,M],T>M?I=-(T-M)/2:b=-(M-T)/2),(0,si.jsx)(Dg,{enableThumbnail:r,renderOptions:s,rotation:l,tiles:{id:S.id||S["@id"]||"unknown",height:R,width:E,imageService:S,thumbnail:v},enableSizes:i,x:b,y:I,format:w,width:M,height:T,crop:n})}return(0,si.jsx)(gm,{resource:e.service,errorComponent:m_,extra:e,children:S=>{let E=S.width||e.width||0,R=S.height||e.height||0,b=0,I=0,M=e.target?.spatial.width||E,T=e.target?.spatial.height||R;return(l===90||l===270)&&([M,T]=[T,M],T<M?(I=-(T-M)/2,b=(M-T)/2):(I=(T-M)/2,b=-(M-T)/2)),(0,si.jsx)(Dg,{enableThumbnail:r,renderOptions:s,tiles:{id:S.id||S["@id"]||"unknown",height:R,width:E,imageService:S,thumbnail:v},rotation:l,format:w,enableSizes:i,x:b,y:I,width:M,height:T,crop:n})}},e.id)}var Gr=A(D(),1);function $r({id:e,image:t,thumbnail:n,isStatic:i,x:r=0,y:s=0,children:l,selector:u,onClick:f,enableSizes:p,enableAnnotations:c}){let m=(0,$s.useMemo)(()=>{if(!(!u||u.spatial.x===0&&u.spatial.y===0))return u.spatial},[u]),y=(0,$s.useMemo)(()=>{let I=Array.isArray(t.annotation.body)?t.annotation.body?.[0]:t.annotation.body;if(I&&I.selector?.type==="ImageApiSelector")return Number(I.selector.rotation)},[t]),w=r+t.target.spatial.x,v=s+t.target.spatial.y,S=t.target.spatial.width,E=t.target.spatial.height,R=t.target.spatial.width,b=t.target.spatial.height;return(y===90||y===270)&&([S,E]=[E,S],[R,b]=[b,R]),(0,Gr.jsxs)("world-object",{x:w,y:v,width:S,height:E,onClick:f,rotation:y,children:[t.service?(0,Gr.jsxs)($s.Fragment,{children:[(0,Gr.jsx)(Gb,{image:t,thumbnail:n,crop:m,enableSizes:p,rotation:y}),l]},"service"):(0,Gr.jsxs)($s.Fragment,{children:[(0,Gr.jsx)("world-image",{onClick:f,uri:t.id,target:{x:0,y:0,width:R,height:b},display:R&&b?{width:R,height:b}:void 0,crop:m}),l]},"no-service"),c&&t.annotationPages?t.annotationPages.map(I=>(0,Gr.jsx)(jr,{page:I,className:"image-service-annotation",ignoreTargetId:!0},I.id)):null]},e+(t.service?"server":"no-service"))}var ur=A(D(),1);function Yd({strategy:e,onClickPaintingAnnotation:t}){return(0,ur.jsx)(ur.Fragment,{children:e.items.map((n,i)=>(0,ur.jsx)(ur.Fragment,{children:(0,ur.jsx)(jn,{onClick:t?r=>{r.stopPropagation(),t(n.annotationId,n,r)}:void 0,target:n.target?.spatial||void 0,children:(0,ur.jsx)("div",{"data-textual-content":!0,children:(0,ur.jsx)(Wn,{enableDangerouslySetInnerHTML:!0,children:n.text})})},i)}))})}var ai=A(D(),1);function $b({strategy:e,children:t}){let{store:n}=(0,Kd.useMemo)(()=>kb({complexTimeline:e}),[e]),i=ve(n,l=>l.isReady),r=ve(n,l=>l.visibleElements);function s(l){return u=>{u&&n.getState().setElement(l,u)}}return(0,Kd.useLayoutEffect)(()=>{if(i){let{startClock:l,stopClock:u}=n.getState();return l(),()=>{u()}}},[e,i]),Kt("portal","custom-controls",Fg,{store:n,children:t},[i]),(0,ai.jsxs)(ai.Fragment,{children:[e.items.map(l=>l.type!=="Image"||!r[l.annotationId]?null:(0,ai.jsx)($r,{image:l,id:l.annotationId},l.id)),e.items.map((l,u)=>l.type!=="Text"||!r[l.annotationId]?null:(0,ai.jsx)(Yd,{strategy:{type:"textual-content",items:[l]}},u)),e.items.map((l,u)=>l.type!=="Video"||!l.target.spatial?null:(0,ai.jsx)(jn,{target:l.target.spatial,children:(0,ai.jsx)("video",{ref:s(l.annotationId),src:l.url,style:{height:"100%",width:"100%",opacity:r[l.annotationId]?1:0}})},u)),e.items.map((l,u)=>l.type!=="Sound"?null:(0,ai.jsx)(jn,{children:(0,ai.jsx)("audio",{ref:s(l.annotationId),src:l.url})},u)),e.highlights.map(({annotation:l})=>r[l.id]?(0,ai.jsx)(zo,{id:l.id,ignoreTargetId:!0,style:{outline:"3px solid red"},className:"image-service-annotation"},l.id):null)]})}var Qb=A(D(),1);function Bg(){let{strategy:e}=gt(),{renderComplexTimelineControls:t}=mn();return e.type!=="complex-timeline"?null:(0,Qb.jsx)($b,{strategy:e,children:t?t(e):null})}var Yb=A(D(),1);function Xd({style:e}){let t=Ce();return!t||!t.height||!t.width?null:(0,Yb.jsx)("box",{interactive:!1,target:{x:0,y:0,width:Number(t.width),height:Number(t.height)},style:e})}var Kb=A(D(),1);function Vg({backgroundStyle:e,alwaysShowBackground:t}){let{strategy:n}=gt();return n.type!=="empty"&&!t?null:(0,Kb.jsx)(Xd,{style:e})}var Zd=A(Q(),1),Pi=(0,Zd.createContext)(null);function El(){return(0,Zd.useContext)(Pi)}var Qs=A(D(),1);function jg({isStatic:e=!1,enableSizes:t=!1,enableAnnotations:n=!0,onClickPaintingAnnotation:i,children:r}){let{strategy:s}=gt(),{renderViewerControls:l,viewControlsDeps:u}=mn(),f=Ce(),p=El(),c=lr({maxWidth:256,maxHeight:256});return Kt(p&&s.type==="images"&&l?"overlay":"none",`canvas-portal-controls-${f?.id}`,Pi.Provider,l?{value:p||null,children:l(s)}:{},[f,p,s,...u||[]]),s.type!=="images"?null:(0,Qs.jsxs)(Qs.Fragment,{children:[s.images.map((m,y)=>(0,Qs.jsx)($r,{isStatic:e,image:m,id:m.id,thumbnail:y===0?c:void 0,selector:m.selector,enableSizes:t,enableAnnotations:n,onClick:i?w=>{i(m.annotationId,m,w)}:void 0},m.id+y)),r]})}var Ys=A(D(),1);function Hg({onClickPaintingAnnotation:e,children:t}){let{strategy:n}=gt(),{renderViewerControls:i,viewControlsDeps:r}=mn(),s=El(),l=Ce();return Kt(s&&n.type==="textual-content"&&i?"overlay":"none",`canvas-portal-controls-${l?.id}`,Pi.Provider,i?{value:s||null,children:i(n)}:{},[l,s,n,...r||[]]),n.type!=="textual-content"?null:(0,Ys.jsxs)(Ys.Fragment,{children:[(0,Ys.jsx)(Yd,{strategy:n,onClickPaintingAnnotation:e}),t]})}var Il=A(D(),1);function Wg({element:e,media:t,startTime:n,playPause:i,poster:r}){let s="div",l=n?`${t.url}#t=${n}`:t.url;return(0,Il.jsxs)(s,{className:"video-container",part:"video-container",onClick:i,children:[(0,Il.jsx)("style",{children:`
94
94
  .video-container {
95
95
  position: absolute;
96
96
  top: 0;
@@ -103,7 +103,7 @@ No matching component was found for:
103
103
  justify-content: center;
104
104
  pointer-events: visible;
105
105
  }
106
- `}),(0,El.jsx)("video",{poster:r,ref:e,src:l,style:{width:"100%",objectFit:"contain"}})]})}function Zd({media:e,mediaControlsDeps:t,children:n,videoComponent:i=Dg,captions:r}){let a=Ce(),l=Sl(),u=a&&a.placeholderCanvas&&a.placeholderCanvas.id||void 0,f=ar({},!1,{canvasId:u}),[{element:h,currentTime:c,progress:m},v,w]=Fo({duration:e.duration});return Kt("overlay","video-element",i,{element:h,media:e,playPause:w.playPause,poster:f?.id,canvas:a,startTime:l?l.startTime:null,captions:r},[f]),Kt("portal","custom-controls",xl,{state:v,actions:w,currentTime:c,progress:m,element:h,children:n},[c,v,e,...t||[]]),null}var Jd=A(D(),1);function Bg({as:e}){let{strategy:t}=gt(),{renderMediaControls:n,mediaControlsDeps:i}=mn();return t.type!=="media"||t.media.type!=="Video"?null:(0,Jd.jsxs)(Zd,{captions:t.captions,media:t.media,mediaControlsDeps:i,videoComponent:e,children:[(0,Jd.jsx)(Bo,{}),n?n(t):null]},t.media.url)}var Yb=A(Q(),1),Il=A(D(),1);function m_({element:e,media:t,playPause:n}){let i=(0,Yb.useRef)(null);return t.youTubeId?(0,Il.jsxs)("div",{className:"video-container",part:"video-container",onClick:n,children:[(0,Il.jsx)("style",{children:`
106
+ `}),(0,Il.jsx)("video",{poster:r,ref:e,src:l,style:{width:"100%",objectFit:"contain"}})]})}function Jd({media:e,mediaControlsDeps:t,children:n,videoComponent:i=Wg,captions:r}){let s=Ce(),l=wl(),u=s&&s.placeholderCanvas&&s.placeholderCanvas.id||void 0,f=lr({},!1,{canvasId:u}),[{element:p,currentTime:c,progress:m},y,w]=Do({duration:e.duration});return Kt("overlay","video-element",i,{element:p,media:e,playPause:w.playPause,poster:f?.id,canvas:s,startTime:l?l.startTime:null,captions:r},[f]),Kt("portal","custom-controls",Sl,{state:y,actions:w,currentTime:c,progress:m,element:p,children:n},[c,y,e,...t||[]]),null}var ef=A(D(),1);function Ug({as:e}){let{strategy:t}=gt(),{renderMediaControls:n,mediaControlsDeps:i}=mn();return t.type!=="media"||t.media.type!=="Video"?null:(0,ef.jsxs)(Jd,{captions:t.captions,media:t.media,mediaControlsDeps:i,videoComponent:e,children:[(0,ef.jsx)(Ho,{}),n?n(t):null]},t.media.url)}var Xb=A(Q(),1),Cl=A(D(),1);function g_({element:e,media:t,playPause:n}){let i=(0,Xb.useRef)(null);return t.youTubeId?(0,Cl.jsxs)("div",{className:"video-container",part:"video-container",onClick:n,children:[(0,Cl.jsx)("style",{children:`
107
107
  .video-container {
108
108
  position: absolute;
109
109
  top: 0;
@@ -121,7 +121,7 @@ No matching component was found for:
121
121
  width: 100%;
122
122
  object-fit: contain;
123
123
  }
124
- `}),(0,Il.jsx)("iframe",{className:"video-yt",ref:i,src:`https://www.youtube.com/embed/${t.youTubeId}?enablejsapi=1&origin=${window.location.host}`,referrerPolicy:"no-referrer",sandbox:"allow-scripts allow-same-origin allow-presentation"})]}):null}function Kb({media:e,mediaControlsDeps:t,children:n}){let[{element:i,currentTime:r,progress:a},l,u]=Fo({duration:e.duration});return Kt("overlay","video-element",m_,{element:i,media:e,playPause:u.playPause}),null}var ef=A(D(),1);function Vg(){let{strategy:e}=gt(),{renderMediaControls:t,mediaControlsDeps:n}=mn();return e.type!=="media"||e.media.type!=="VideoYouTube"?null:(0,ef.jsxs)(Kb,{media:e.media,mediaControlsDeps:n,children:[(0,ef.jsx)(Bo,{}),t?t(e):null]})}var mf=A(Q(),1);var $r=A(Q(),1);var sn=A(Q(),1);function jg(e){let t=st(),n=ve(t,a=>a.polygons),i=ve(t,a=>a.polygonState),r=ve(t,a=>a.polygon);return Oo("atlas.polygon-render",({state:a,slowState:l,dt:u})=>{e(a,l,u)}),{currentShape:r,state:i,helper:n}}var Ve=A(D(),1),cr=rb(),Xb={shapeFill:"#ffffff33",shapeStroke:"#000",lineStroke:"#000",ghostLineStroke:"#0F0",activeLineStroke:"#4D7EEA",boundingBoxDottedStroke:"#0007",boundingBoxStroke:"#fffA",controlFill:"#fff"};function Hg(e){let{image:t}=e,n={...Xb,...e.theme||{}},i=(0,sn.useRef)(),r=(0,sn.useRef)(),a=(0,sn.useRef)(),l=(0,sn.useRef)(),u=(0,sn.useRef)(),f=(0,sn.useRef)(),h=(0,sn.useRef)(),c=(0,sn.useRef)(),m=(0,sn.useRef)(),v=(0,sn.useRef)(),[w,y]=(0,sn.useState)(null),[S,E]=(0,sn.useState)(!1),{helper:R,state:b,currentShape:I}=jg((G,K)=>{if(G.closestLineIndex,cr.updateTransitionBoundingBox(a.current,G,K),cr.updateBoundingBoxPolygon(i.current,G,K),cr.updateBoundingBoxPolygon(r.current,G,K),cr.updateTransitionShape(h.current,G,K),cr.updateClosestLinePointTransform(u.current,G,K),cr.updateSelectBox(l.current,G,K),cr.updatePointLine(c.current,G,K),cr.updateDrawPreview(f.current,G,K,3),cr.updateLineBox(m.current,G),y(G.transitionDirection),E(G.transitionRotate),G.closestLineIndex!==-1&&v.current){let ce=G.polygon,J=ce.points[G.closestLineIndex],te=ce.points[(G.closestLineIndex+1)%ce.points.length];J&&te&&v.current.setAttribute("points",`${J[0]},${J[1]} ${te[0]},${te[1]}`)}});(0,sn.useEffect)(()=>{let G=()=>{R.modifiers.reset()};return document.addEventListener("mouseleave",G),()=>{document.removeEventListener("mouseleave",G)}},[]);let M=(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsxs)("marker",{id:"dot",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:[(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.lineStroke,className:"marker"}),(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:n.controlFill})]}),(0,Ve.jsx)("marker",{id:"newdot",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.activeLineStroke,className:"marker"})}),(0,Ve.jsxs)("marker",{id:"selected",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:[(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.lineStroke}),(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:n.activeLineStroke})]}),(0,Ve.jsxs)("marker",{id:"resizer",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"6",markerHeight:"6",children:[(0,Ve.jsx)("rect",{width:"10",height:"10",fill:n.lineStroke}),(0,Ve.jsx)("rect",{x:"1",y:"1",width:"8",height:"8",fill:n.controlFill})]})]}),T=I?I.open?"polyline":"polygon":null,_=!b.showBoundingBox&&b.closestPoint!==null&&b.actionIntentType==="select-point",U=b.actionIntentType==="add-open-point",H=b.transitionIntentType==="split-line",Z=b.transitioning&&b.selectedStamp&&b.transitionIntentType==="stamp-shape",B=I&&T?(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsx)(T,{fill:(!b.transitioning||b.transitionIntentType==="select-multiple-points")&&!I.open?n.shapeFill:"none",strokeWidth:Z||b.showBoundingBox&&b.boxMode||b.transitioning&&b.transitionIntentType==="split-line"||b.transitioning&&b.transitionIntentType==="move-point"?0:2,stroke:n.shapeStroke,points:I.points.map(G=>G.join(",")).join(" "),vectorEffect:"non-scaling-stroke",markerStart:b.showBoundingBox?void 0:b.boxMode?"url(#resizer)":"url(#dot)",markerMid:b.showBoundingBox?void 0:b.boxMode?"url(#resizer)":"url(#dot)",markerEnd:b.showBoundingBox?void 0:b.boxMode?"url(#resizer)":"url(#dot)",style:{pointerEvents:"none"},opacity:b.transitioning&&b.transitionIntentType==="move-shape"?0:1}),b.currentTool==="lineBox"&&b.actionIntentType==="close-line-box"?(0,Ve.jsx)("polygon",{fill:n.shapeFill,ref:m,stroke:n.lineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,b.transitionIntentType==="draw-shape"&&b.transitioning?(0,Ve.jsx)("polyline",{ref:f,fill:"none",stroke:n.activeLineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,!(b.transitioning&&b.transitionIntentType==="move-point")&&!(b.transitioning&&b.transitionIntentType==="stamp-shape")&&!b.showBoundingBox&&b.selectedPoints&&b.selectedPoints.length?(0,Ve.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:"url(#selected)",markerMid:"url(#selected)",markerEnd:"url(#selected)",fill:"transparent",points:I.points.filter((G,K)=>b.selectedPoints?.includes(K)).map(G=>G.join(",")).join(" "),opacity:b.transitioning&&b.transitionIntentType==="move-shape"?0:1}):null,_&&!b.transitioning&&b.closestPoint!==null&&I.points[b.closestPoint]?(0,Ve.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:"url(#selected)",markerMid:"url(#selected)",markerEnd:"url(#selected)",fill:n.activeLineStroke,points:`${I.points[b.closestPoint][0]},${I.points[b.closestPoint][1]}`,opacity:b.transitioning&&b.transitionIntentType==="move-shape"?0:1}):null,!b.transitioning&&(b.actionIntentType==="add-open-point"||b.actionIntentType==="close-shape"||b.actionIntentType==="close-shape-line")?(0,Ve.jsx)("polyline",{stroke:n.activeLineStroke,ref:c,strokeWidth:b.actionIntentType==="add-open-point"?1:2,vectorEffect:"non-scaling-stroke"}):null,b.hasClosestLine&&!b.showBoundingBox&&!b.transitioning&&b.currentTool!=="box"&&b.transitionIntentType==="split-line"?(0,Ve.jsx)("g",{children:(0,Ve.jsx)("polyline",{ref:v,vectorEffect:"non-scaling-stroke",fill:"transparent",stroke:n.activeLineStroke,strokeWidth:3})}):null,b.hasClosestLine&&!b.showBoundingBox&&!b.transitioning&&b.currentTool!=="box"&&b.transitionIntentType==="split-line"?(0,Ve.jsx)("g",{ref:u,children:(0,Ve.jsx)("polyline",{markerStart:"url(#newdot)",points:"0,0 1,1",vectorEffect:"non-scaling-stroke",stroke:"transparent",fill:"transparent",strokeWidth:2})}):null,b.transitioning?(0,Ve.jsx)(T,{ref:h,fill:I.open?"none":n.shapeFill,stroke:b.transitionIntentType==="stamp-shape"?n.activeLineStroke:n.shapeStroke,vectorEffect:"non-scaling-stroke",strokeWidth:(I.open,2)}):null,b.transitioning&&b.transitionIntentType==="select-multiple-points"?(0,Ve.jsx)("rect",{ref:l,fill:"rgba(255, 255, 255, .3)",strokeWidth:1,stroke:"rgba(0,0,0,.2)",vectorEffect:"non-scaling-stroke"}):null,b.showBoundingBox&&!Z?(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsx)("polygon",{ref:i,strokeWidth:2,stroke:n.boundingBoxStroke,fill:"none",markerStart:"url(#resizer)",markerMid:"url(#resizer)",markerEnd:"url(#resizer)",vectorEffect:"non-scaling-stroke"}),(0,Ve.jsx)("polygon",{ref:r,strokeWidth:2,stroke:n.boundingBoxDottedStroke,fill:"none",strokeDasharray:"4 4",markerStart:"url(#resizer)",markerMid:"url(#resizer)",markerEnd:"url(#resizer)",vectorEffect:"non-scaling-stroke"})]}):null]}):null;return{currentTool:R.state.slowState.currentTool,setCurrentTool:R.tools.setTool,helper:R,currentShape:I,state:b,isAddingPoint:U,isSplitting:H,isStamping:Z,isHoveringPoint:_,transitionDirection:w,transitionRotate:S,defs:M,editor:B}}var Gr=A(D(),1);function Zb(e){let t=Ed(),{image:n}=e,{helper:i,defs:r,editor:a,state:l,transitionDirection:u,isSplitting:f,transitionRotate:h,isHoveringPoint:c,isAddingPoint:m}=Hg({image:e.image,theme:e.theme}),v=(0,$r.useCallback)(S=>{S.button!==2&&i.pointer([[~~S.atlas.x,~~S.atlas.y]])},[i]),w=(0,$r.useCallback)(S=>{S.button!==2&&i.pointerDown()},[i]),y=(0,$r.useCallback)(S=>{S.button!==2&&i.pointerUp()},[i]);return(0,$r.useEffect)(()=>{let S=E=>{i.key.up(E.key)};return document.addEventListener("keyup",S),()=>{document.removeEventListener("keyup",S)}},[i]),(0,$r.useEffect)(()=>{let S=E=>{E.target&&["INPUT","TEXTAREA"].includes(E.target.tagName)||E.target?.isContentEditable||document.activeElement&&(document.activeElement instanceof HTMLInputElement||document.activeElement instanceof HTMLTextAreaElement||document.activeElement.isContentEditable)||i.key.down(E.key)};return document.addEventListener("keydown",S),()=>{document.removeEventListener("keydown",S)}},[i]),(0,$r.useEffect)(()=>{let S=[];return u&&S.push(`atlas-cursor-${u}`),l.actionIntentType==="cut-line"&&l.modifiers?.Shift&&S.push("atlas-cursor-cut"),(c||l.transitionIntentType==="move-shape"||l.transitionIntentType==="move-point")&&S.push("atlas-cursor-move"),m&&S.push("atlas-cursor-crosshair"),f&&S.push("atlas-cursor-copy"),h&&S.push("atlas-cursor-rotate"),l.transitionIntentType==="draw-shape"&&S.push("atlas-cursor-draw"),t?.canvas&&t.canvas.classList.add(...S),()=>{t?.canvas&&t.canvas.classList.remove(...S)}},[t?.canvas,m,c,f,l.modifiers?.Shift,l.actionIntentType,l.transitionIntentType,u,h]),(0,Gr.jsx)("world-object",{height:n.height,width:n.width,onMouseMove:v,onMouseDown:w,onMouseUp:y,onMouseLeave:i.blur,children:(0,Gr.jsx)(oi,{relative:!0,interactive:!1,children:(0,Gr.jsx)("div",{className:"absolute top-0 right-0 left-0 bottom-0",children:(0,Gr.jsxs)("svg",{width:"100%",height:"100%",viewBox:`0 0 ${n.width} ${n.height}`,tabIndex:-1,children:[(0,Gr.jsx)("title",{children:"Annotation Editor"}),(0,Gr.jsx)("defs",{children:r}),a]})})})})}var YR=A(Q(),1);var Ae=A(Q(),1);function tf(){return typeof window<"u"}function Qr(e){return Jb(e)?(e.nodeName||"").toLowerCase():"#document"}function gn(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ai(e){var t;return(t=(Jb(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function Jb(e){return tf()?e instanceof Node||e instanceof gn(e).Node:!1}function yt(e){return tf()?e instanceof Element||e instanceof gn(e).Element:!1}function Mn(e){return tf()?e instanceof HTMLElement||e instanceof gn(e).HTMLElement:!1}function Cl(e){return!tf()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof gn(e).ShadowRoot}var g_=new Set(["inline","contents"]);function Qs(e){let{overflow:t,overflowX:n,overflowY:i,display:r}=_n(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&!g_.has(r)}var y_=new Set(["table","td","th"]);function eR(e){return y_.has(Qr(e))}var v_=[":popover-open",":modal"];function Pl(e){return v_.some(t=>{try{return e.matches(t)}catch{return!1}})}var x_=["transform","translate","scale","rotate","perspective"],S_=["transform","translate","scale","rotate","perspective","filter"],w_=["paint","layout","strict","content"];function nf(e){let t=Ys(),n=yt(e)?_n(e):e;return x_.some(i=>n[i]?n[i]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||S_.some(i=>(n.willChange||"").includes(i))||w_.some(i=>(n.contain||"").includes(i))}function tR(e){let t=Pi(e);for(;Mn(t)&&!Ti(t);){if(nf(t))return t;if(Pl(t))return null;t=Pi(t)}return null}function Ys(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var b_=new Set(["html","body","#document"]);function Ti(e){return b_.has(Qr(e))}function _n(e){return gn(e).getComputedStyle(e)}function Al(e){return yt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Pi(e){if(Qr(e)==="html")return e;let t=e.assignedSlot||e.parentNode||Cl(e)&&e.host||Ai(e);return Cl(t)?t.host:t}function nR(e){let t=Pi(e);return Ti(t)?e.ownerDocument?e.ownerDocument.body:e.body:Mn(t)&&Qs(t)?t:nR(t)}function Wn(e,t,n){var i;t===void 0&&(t=[]),n===void 0&&(n=!0);let r=nR(e),a=r===((i=e.ownerDocument)==null?void 0:i.body),l=gn(r);if(a){let u=rf(l);return t.concat(l,l.visualViewport||[],Qs(r)?r:[],u&&n?Wn(u):[])}return t.concat(r,Wn(r,[],n))}function rf(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var Ll=A(Q(),1),uR=A(Q(),1);var Ks=Math.min,dr=Math.max,Ml=Math.round,_l=Math.floor,Mi=e=>({x:e,y:e}),R_={left:"right",right:"left",bottom:"top",top:"bottom"},E_={start:"end",end:"start"};function Wg(e,t,n){return dr(e,Ks(t,n))}function Ol(e,t){return typeof e=="function"?e(t):e}function Yr(e){return e.split("-")[0]}function kl(e){return e.split("-")[1]}function Ug(e){return e==="x"?"y":"x"}function qg(e){return e==="y"?"height":"width"}var I_=new Set(["top","bottom"]);function fr(e){return I_.has(Yr(e))?"y":"x"}function Gg(e){return Ug(fr(e))}function oR(e,t,n){n===void 0&&(n=!1);let i=kl(e),r=Gg(e),a=qg(r),l=r==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[a]>t.floating[a]&&(l=Tl(l)),[l,Tl(l)]}function sR(e){let t=Tl(e);return[of(e),t,of(t)]}function of(e){return e.replace(/start|end/g,t=>E_[t])}var iR=["left","right"],rR=["right","left"],C_=["top","bottom"],P_=["bottom","top"];function A_(e,t,n){switch(e){case"top":case"bottom":return n?t?rR:iR:t?iR:rR;case"left":case"right":return t?C_:P_;default:return[]}}function aR(e,t,n,i){let r=kl(e),a=A_(Yr(e),n==="start",i);return r&&(a=a.map(l=>l+"-"+r),t&&(a=a.concat(a.map(of)))),a}function Tl(e){return e.replace(/left|right|bottom|top/g,t=>R_[t])}function T_(e){return{top:0,right:0,bottom:0,left:0,...e}}function lR(e){return typeof e!="number"?T_(e):{top:e,right:e,bottom:e,left:e}}function Wo(e){let{x:t,y:n,width:i,height:r}=e;return{width:i,height:r,top:n,left:t,right:t+i,bottom:n+r,x:t,y:n}}function $g(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Cl(n)){let i=t;for(;i;){if(e===i)return!0;i=i.parentNode||i.host}}return!1}function Xs(e){return"composedPath"in e?e.composedPath()[0]:e.target}function sf(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function cR(e){return e.matches("html,body")}function Qg(e){return e?.ownerDocument||document}function Fl(e,t,n){return n===void 0&&(n=!0),e.filter(r=>{var a;return r.parentId===t&&(!n||((a=r.context)==null?void 0:a.open))}).flatMap(r=>[r,...Fl(e,r.id,n)])}function dR(e){return"nativeEvent"in e}var M_=typeof document<"u",__=function(){},af=M_?uR.useLayoutEffect:__,O_={...Ll};var k_=O_.useInsertionEffect,L_=k_||(e=>e());function Uo(e){let t=Ll.useRef(()=>{});return L_(()=>{t.current=e}),Ll.useCallback(function(){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.current==null?void 0:t.current(...i)},[])}var ry=A(D(),1);var BR=A(Mo(),1);function fR(e,t,n){let{reference:i,floating:r}=e,a=fr(t),l=Gg(t),u=qg(l),f=Yr(t),h=a==="y",c=i.x+i.width/2-r.width/2,m=i.y+i.height/2-r.height/2,v=i[u]/2-r[u]/2,w;switch(f){case"top":w={x:c,y:i.y-r.height};break;case"bottom":w={x:c,y:i.y+i.height};break;case"right":w={x:i.x+i.width,y:m};break;case"left":w={x:i.x-r.width,y:m};break;default:w={x:i.x,y:i.y}}switch(kl(t)){case"start":w[l]-=v*(n&&h?-1:1);break;case"end":w[l]+=v*(n&&h?-1:1);break}return w}var hR=async(e,t,n)=>{let{placement:i="bottom",strategy:r="absolute",middleware:a=[],platform:l}=n,u=a.filter(Boolean),f=await(l.isRTL==null?void 0:l.isRTL(t)),h=await l.getElementRects({reference:e,floating:t,strategy:r}),{x:c,y:m}=fR(h,i,f),v=i,w={},y=0;for(let S=0;S<u.length;S++){let{name:E,fn:R}=u[S],{x:b,y:I,data:M,reset:T}=await R({x:c,y:m,initialPlacement:i,placement:v,strategy:r,middlewareData:w,rects:h,platform:l,elements:{reference:e,floating:t}});c=b??c,m=I??m,w={...w,[E]:{...w[E],...M}},T&&y<=50&&(y++,typeof T=="object"&&(T.placement&&(v=T.placement),T.rects&&(h=T.rects===!0?await l.getElementRects({reference:e,floating:t,strategy:r}):T.rects),{x:c,y:m}=fR(h,v,f)),S=-1)}return{x:c,y:m,placement:v,strategy:r,middlewareData:w}};async function Yg(e,t){var n;t===void 0&&(t={});let{x:i,y:r,platform:a,rects:l,elements:u,strategy:f}=e,{boundary:h="clippingAncestors",rootBoundary:c="viewport",elementContext:m="floating",altBoundary:v=!1,padding:w=0}=Ol(t,e),y=lR(w),E=u[v?m==="floating"?"reference":"floating":m],R=Wo(await a.getClippingRect({element:(n=await(a.isElement==null?void 0:a.isElement(E)))==null||n?E:E.contextElement||await(a.getDocumentElement==null?void 0:a.getDocumentElement(u.floating)),boundary:h,rootBoundary:c,strategy:f})),b=m==="floating"?{x:i,y:r,width:l.floating.width,height:l.floating.height}:l.reference,I=await(a.getOffsetParent==null?void 0:a.getOffsetParent(u.floating)),M=await(a.isElement==null?void 0:a.isElement(I))?await(a.getScale==null?void 0:a.getScale(I))||{x:1,y:1}:{x:1,y:1},T=Wo(a.convertOffsetParentRelativeRectToViewportRelativeRect?await a.convertOffsetParentRelativeRectToViewportRelativeRect({elements:u,rect:b,offsetParent:I,strategy:f}):b);return{top:(R.top-T.top+y.top)/M.y,bottom:(T.bottom-R.bottom+y.bottom)/M.y,left:(R.left-T.left+y.left)/M.x,right:(T.right-R.right+y.right)/M.x}}var pR=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,i;let{placement:r,middlewareData:a,rects:l,initialPlacement:u,platform:f,elements:h}=t,{mainAxis:c=!0,crossAxis:m=!0,fallbackPlacements:v,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:y="none",flipAlignment:S=!0,...E}=Ol(e,t);if((n=a.arrow)!=null&&n.alignmentOffset)return{};let R=Yr(r),b=fr(u),I=Yr(u)===u,M=await(f.isRTL==null?void 0:f.isRTL(h.floating)),T=v||(I||!S?[Tl(u)]:sR(u)),_=y!=="none";!v&&_&&T.push(...aR(u,S,y,M));let U=[u,...T],H=await Yg(t,E),Z=[],B=((i=a.flip)==null?void 0:i.overflows)||[];if(c&&Z.push(H[R]),m){let J=oR(r,l,M);Z.push(H[J[0]],H[J[1]])}if(B=[...B,{placement:r,overflows:Z}],!Z.every(J=>J<=0)){var G,K;let J=(((G=a.flip)==null?void 0:G.index)||0)+1,te=U[J];if(te&&(!(m==="alignment"?b!==fr(te):!1)||B.every(de=>de.overflows[0]>0&&fr(de.placement)===b)))return{data:{index:J,overflows:B},reset:{placement:te}};let oe=(K=B.filter(Re=>Re.overflows[0]<=0).sort((Re,de)=>Re.overflows[1]-de.overflows[1])[0])==null?void 0:K.placement;if(!oe)switch(w){case"bestFit":{var ce;let Re=(ce=B.filter(de=>{if(_){let N=fr(de.placement);return N===b||N==="y"}return!0}).map(de=>[de.placement,de.overflows.filter(N=>N>0).reduce((N,re)=>N+re,0)]).sort((de,N)=>de[1]-N[1])[0])==null?void 0:ce[0];Re&&(oe=Re);break}case"initialPlacement":oe=u;break}if(r!==oe)return{reset:{placement:oe}}}return{}}}};var F_=new Set(["left","top"]);async function N_(e,t){let{placement:n,platform:i,elements:r}=e,a=await(i.isRTL==null?void 0:i.isRTL(r.floating)),l=Yr(n),u=kl(n),f=fr(n)==="y",h=F_.has(l)?-1:1,c=a&&f?-1:1,m=Ol(t,e),{mainAxis:v,crossAxis:w,alignmentAxis:y}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return u&&typeof y=="number"&&(w=u==="end"?y*-1:y),f?{x:w*c,y:v*h}:{x:v*h,y:w*c}}var mR=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,i;let{x:r,y:a,placement:l,middlewareData:u}=t,f=await N_(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(i=u.arrow)!=null&&i.alignmentOffset?{}:{x:r+f.x,y:a+f.y,data:{...f,placement:l}}}}},gR=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:i,placement:r}=t,{mainAxis:a=!0,crossAxis:l=!1,limiter:u={fn:E=>{let{x:R,y:b}=E;return{x:R,y:b}}},...f}=Ol(e,t),h={x:n,y:i},c=await Yg(t,f),m=fr(Yr(r)),v=Ug(m),w=h[v],y=h[m];if(a){let E=v==="y"?"top":"left",R=v==="y"?"bottom":"right",b=w+c[E],I=w-c[R];w=Wg(b,w,I)}if(l){let E=m==="y"?"top":"left",R=m==="y"?"bottom":"right",b=y+c[E],I=y-c[R];y=Wg(b,y,I)}let S=u.fn({...t,[v]:w,[m]:y});return{...S,data:{x:S.x-n,y:S.y-i,enabled:{[v]:a,[m]:l}}}}}};function xR(e){let t=_n(e),n=parseFloat(t.width)||0,i=parseFloat(t.height)||0,r=Mn(e),a=r?e.offsetWidth:n,l=r?e.offsetHeight:i,u=Ml(n)!==a||Ml(i)!==l;return u&&(n=a,i=l),{width:n,height:i,$:u}}function Xg(e){return yt(e)?e:e.contextElement}function Zs(e){let t=Xg(e);if(!Mn(t))return Mi(1);let n=t.getBoundingClientRect(),{width:i,height:r,$:a}=xR(t),l=(a?Ml(n.width):n.width)/i,u=(a?Ml(n.height):n.height)/r;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}var z_=Mi(0);function SR(e){let t=gn(e);return!Ys()||!t.visualViewport?z_:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function D_(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==gn(e)?!1:t}function qo(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=e.getBoundingClientRect(),a=Xg(e),l=Mi(1);t&&(i?yt(i)&&(l=Zs(i)):l=Zs(e));let u=D_(a,n,i)?SR(a):Mi(0),f=(r.left+u.x)/l.x,h=(r.top+u.y)/l.y,c=r.width/l.x,m=r.height/l.y;if(a){let v=gn(a),w=i&&yt(i)?gn(i):i,y=v,S=rf(y);for(;S&&i&&w!==y;){let E=Zs(S),R=S.getBoundingClientRect(),b=_n(S),I=R.left+(S.clientLeft+parseFloat(b.paddingLeft))*E.x,M=R.top+(S.clientTop+parseFloat(b.paddingTop))*E.y;f*=E.x,h*=E.y,c*=E.x,m*=E.y,f+=I,h+=M,y=gn(S),S=rf(y)}}return Wo({width:c,height:m,x:f,y:h})}function Zg(e,t){let n=Al(e).scrollLeft;return t?t.left+n:qo(Ai(e)).left+n}function wR(e,t,n){n===void 0&&(n=!1);let i=e.getBoundingClientRect(),r=i.left+t.scrollLeft-(n?0:Zg(e,i)),a=i.top+t.scrollTop;return{x:r,y:a}}function B_(e){let{elements:t,rect:n,offsetParent:i,strategy:r}=e,a=r==="fixed",l=Ai(i),u=t?Pl(t.floating):!1;if(i===l||u&&a)return n;let f={scrollLeft:0,scrollTop:0},h=Mi(1),c=Mi(0),m=Mn(i);if((m||!m&&!a)&&((Qr(i)!=="body"||Qs(l))&&(f=Al(i)),Mn(i))){let w=qo(i);h=Zs(i),c.x=w.x+i.clientLeft,c.y=w.y+i.clientTop}let v=l&&!m&&!a?wR(l,f,!0):Mi(0);return{width:n.width*h.x,height:n.height*h.y,x:n.x*h.x-f.scrollLeft*h.x+c.x+v.x,y:n.y*h.y-f.scrollTop*h.y+c.y+v.y}}function V_(e){return Array.from(e.getClientRects())}function j_(e){let t=Ai(e),n=Al(e),i=e.ownerDocument.body,r=dr(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),a=dr(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight),l=-n.scrollLeft+Zg(e),u=-n.scrollTop;return _n(i).direction==="rtl"&&(l+=dr(t.clientWidth,i.clientWidth)-r),{width:r,height:a,x:l,y:u}}function H_(e,t){let n=gn(e),i=Ai(e),r=n.visualViewport,a=i.clientWidth,l=i.clientHeight,u=0,f=0;if(r){a=r.width,l=r.height;let h=Ys();(!h||h&&t==="fixed")&&(u=r.offsetLeft,f=r.offsetTop)}return{width:a,height:l,x:u,y:f}}var W_=new Set(["absolute","fixed"]);function U_(e,t){let n=qo(e,!0,t==="fixed"),i=n.top+e.clientTop,r=n.left+e.clientLeft,a=Mn(e)?Zs(e):Mi(1),l=e.clientWidth*a.x,u=e.clientHeight*a.y,f=r*a.x,h=i*a.y;return{width:l,height:u,x:f,y:h}}function yR(e,t,n){let i;if(t==="viewport")i=H_(e,n);else if(t==="document")i=j_(Ai(e));else if(yt(t))i=U_(t,n);else{let r=SR(e);i={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return Wo(i)}function bR(e,t){let n=Pi(e);return n===t||!yt(n)||Ti(n)?!1:_n(n).position==="fixed"||bR(n,t)}function q_(e,t){let n=t.get(e);if(n)return n;let i=Wn(e,[],!1).filter(u=>yt(u)&&Qr(u)!=="body"),r=null,a=_n(e).position==="fixed",l=a?Pi(e):e;for(;yt(l)&&!Ti(l);){let u=_n(l),f=nf(l);!f&&u.position==="fixed"&&(r=null),(a?!f&&!r:!f&&u.position==="static"&&!!r&&W_.has(r.position)||Qs(l)&&!f&&bR(e,l))?i=i.filter(c=>c!==l):r=u,l=Pi(l)}return t.set(e,i),i}function G_(e){let{element:t,boundary:n,rootBoundary:i,strategy:r}=e,l=[...n==="clippingAncestors"?Pl(t)?[]:q_(t,this._c):[].concat(n),i],u=l[0],f=l.reduce((h,c)=>{let m=yR(t,c,r);return h.top=dr(m.top,h.top),h.right=Ks(m.right,h.right),h.bottom=Ks(m.bottom,h.bottom),h.left=dr(m.left,h.left),h},yR(t,u,r));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function $_(e){let{width:t,height:n}=xR(e);return{width:t,height:n}}function Q_(e,t,n){let i=Mn(t),r=Ai(t),a=n==="fixed",l=qo(e,!0,a,t),u={scrollLeft:0,scrollTop:0},f=Mi(0);function h(){f.x=Zg(r)}if(i||!i&&!a)if((Qr(t)!=="body"||Qs(r))&&(u=Al(t)),i){let w=qo(t,!0,a,t);f.x=w.x+t.clientLeft,f.y=w.y+t.clientTop}else r&&h();a&&!i&&r&&h();let c=r&&!i&&!a?wR(r,u):Mi(0),m=l.left+u.scrollLeft-f.x-c.x,v=l.top+u.scrollTop-f.y-c.y;return{x:m,y:v,width:l.width,height:l.height}}function Kg(e){return _n(e).position==="static"}function vR(e,t){if(!Mn(e)||_n(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ai(e)===n&&(n=n.ownerDocument.body),n}function RR(e,t){let n=gn(e);if(Pl(e))return n;if(!Mn(e)){let r=Pi(e);for(;r&&!Ti(r);){if(yt(r)&&!Kg(r))return r;r=Pi(r)}return n}let i=vR(e,t);for(;i&&eR(i)&&Kg(i);)i=vR(i,t);return i&&Ti(i)&&Kg(i)&&!nf(i)?n:i||tR(e)||n}var Y_=async function(e){let t=this.getOffsetParent||RR,n=this.getDimensions,i=await n(e.floating);return{reference:Q_(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function K_(e){return _n(e).direction==="rtl"}var Jg={convertOffsetParentRelativeRectToViewportRelativeRect:B_,getDocumentElement:Ai,getClippingRect:G_,getOffsetParent:RR,getElementRects:Y_,getClientRects:V_,getDimensions:$_,getScale:Zs,isElement:yt,isRTL:K_};function ER(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function X_(e,t){let n=null,i,r=Ai(e);function a(){var u;clearTimeout(i),(u=n)==null||u.disconnect(),n=null}function l(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),a();let h=e.getBoundingClientRect(),{left:c,top:m,width:v,height:w}=h;if(u||t(),!v||!w)return;let y=_l(m),S=_l(r.clientWidth-(c+v)),E=_l(r.clientHeight-(m+w)),R=_l(c),I={rootMargin:-y+"px "+-S+"px "+-E+"px "+-R+"px",threshold:dr(0,Ks(1,f))||1},M=!0;function T(_){let U=_[0].intersectionRatio;if(U!==f){if(!M)return l();U?l(!1,U):i=setTimeout(()=>{l(!1,1e-7)},1e3)}U===1&&!ER(h,e.getBoundingClientRect())&&l(),M=!1}try{n=new IntersectionObserver(T,{...I,root:r.ownerDocument})}catch{n=new IntersectionObserver(T,I)}n.observe(e)}return l(!0),a}function lf(e,t,n,i){i===void 0&&(i={});let{ancestorScroll:r=!0,ancestorResize:a=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=i,h=Xg(e),c=r||a?[...h?Wn(h):[],...Wn(t)]:[];c.forEach(R=>{r&&R.addEventListener("scroll",n,{passive:!0}),a&&R.addEventListener("resize",n)});let m=h&&u?X_(h,n):null,v=-1,w=null;l&&(w=new ResizeObserver(R=>{let[b]=R;b&&b.target===h&&w&&(w.unobserve(t),cancelAnimationFrame(v),v=requestAnimationFrame(()=>{var I;(I=w)==null||I.observe(t)})),n()}),h&&!f&&w.observe(h),w.observe(t));let y,S=f?qo(e):null;f&&E();function E(){let R=qo(e);S&&!ER(S,R)&&n(),S=R,y=requestAnimationFrame(E)}return n(),()=>{var R;c.forEach(b=>{r&&b.removeEventListener("scroll",n),a&&b.removeEventListener("resize",n)}),m?.(),(R=w)==null||R.disconnect(),w=null,f&&cancelAnimationFrame(y)}}var IR=mR;var CR=gR,PR=pR;var uf=(e,t,n)=>{let i=new Map,r={platform:Jg,...n},a={...r.platform,_c:i};return hR(e,t,{...r,platform:a})};var _t=A(Q(),1),MR=A(Q(),1),_R=A(Mo(),1),Z_=typeof document<"u",J_=function(){},cf=Z_?MR.useLayoutEffect:J_;function df(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,i,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(i=n;i--!==0;)if(!df(e[i],t[i]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(t,r[i]))return!1;for(i=n;i--!==0;){let a=r[i];if(!(a==="_owner"&&e.$$typeof)&&!df(e[a],t[a]))return!1}return!0}return e!==e&&t!==t}function OR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function AR(e,t){let n=OR(e);return Math.round(t*n)/n}function ey(e){let t=_t.useRef(e);return cf(()=>{t.current=e}),t}function kR(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:r,elements:{reference:a,floating:l}={},transform:u=!0,whileElementsMounted:f,open:h}=e,[c,m]=_t.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[v,w]=_t.useState(i);df(v,i)||w(i);let[y,S]=_t.useState(null),[E,R]=_t.useState(null),b=_t.useCallback(de=>{de!==_.current&&(_.current=de,S(de))},[]),I=_t.useCallback(de=>{de!==U.current&&(U.current=de,R(de))},[]),M=a||y,T=l||E,_=_t.useRef(null),U=_t.useRef(null),H=_t.useRef(c),Z=f!=null,B=ey(f),G=ey(r),K=ey(h),ce=_t.useCallback(()=>{if(!_.current||!U.current)return;let de={placement:t,strategy:n,middleware:v};G.current&&(de.platform=G.current),uf(_.current,U.current,de).then(N=>{let re={...N,isPositioned:K.current!==!1};J.current&&!df(H.current,re)&&(H.current=re,_R.flushSync(()=>{m(re)}))})},[v,t,n,G,K]);cf(()=>{h===!1&&H.current.isPositioned&&(H.current.isPositioned=!1,m(de=>({...de,isPositioned:!1})))},[h]);let J=_t.useRef(!1);cf(()=>(J.current=!0,()=>{J.current=!1}),[]),cf(()=>{if(M&&(_.current=M),T&&(U.current=T),M&&T){if(B.current)return B.current(M,T,ce);ce()}},[M,T,ce,B,Z]);let te=_t.useMemo(()=>({reference:_,floating:U,setReference:b,setFloating:I}),[b,I]),oe=_t.useMemo(()=>({reference:M,floating:T}),[M,T]),Re=_t.useMemo(()=>{let de={position:n,left:0,top:0};if(!oe.floating)return de;let N=AR(oe.floating,c.x),re=AR(oe.floating,c.y);return u?{...de,transform:"translate("+N+"px, "+re+"px)",...OR(oe.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:N,top:re}},[n,u,oe.floating,c.x,c.y]);return _t.useMemo(()=>({...c,update:ce,refs:te,elements:oe,floatingStyles:Re}),[c,ce,te,oe,Re])}var ff=(e,t)=>({...IR(e),options:[e,t]}),ty=(e,t)=>({...CR(e),options:[e,t]});var ny=(e,t)=>({...PR(e),options:[e,t]});var eO="data-floating-ui-focusable",LR="active",FR="selected",tO="ArrowLeft",nO="ArrowRight",iO="ArrowUp",rO="ArrowDown";var oO=[tO,nO],sO=[iO,rO],o5=[...oO,...sO];var aO={...Ae},NR=!1,lO=0,zR=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+lO++;function uO(){let[e,t]=Ae.useState(()=>NR?zR():void 0);return af(()=>{e==null&&t(zR())},[]),Ae.useEffect(()=>{NR=!0},[]),e}var cO=aO.useId,dO=cO||uO;function fO(){let e=new Map;return{emit(t,n){var i;(i=e.get(t))==null||i.forEach(r=>r(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var i;(i=e.get(t))==null||i.delete(n)}}}var hO=Ae.createContext(null),pO=Ae.createContext(null),mO=()=>{var e;return((e=Ae.useContext(hO))==null?void 0:e.id)||null},VR=()=>Ae.useContext(pO);function gO(e){return"data-floating-ui-"+e}function yO(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}var vO={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},xO={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},DR=e=>{var t,n;return{escapeKey:typeof e=="boolean"?e:(t=e?.escapeKey)!=null?t:!1,outsidePress:typeof e=="boolean"?e:(n=e?.outsidePress)!=null?n:!0}};function jR(e,t){t===void 0&&(t={});let{open:n,onOpenChange:i,elements:r,dataRef:a}=e,{enabled:l=!0,escapeKey:u=!0,outsidePress:f=!0,outsidePressEvent:h="pointerdown",referencePress:c=!1,referencePressEvent:m="pointerdown",ancestorScroll:v=!1,bubbles:w,capture:y}=t,S=VR(),E=Uo(typeof f=="function"?f:()=>!1),R=typeof f=="function"?E:f,b=Ae.useRef(!1),{escapeKey:I,outsidePress:M}=DR(w),{escapeKey:T,outsidePress:_}=DR(y),U=Ae.useRef(!1),H=Ae.useRef(-1),Z=Uo(te=>{var oe;if(!n||!l||!u||te.key!=="Escape"||U.current)return;let Re=(oe=a.current.floatingContext)==null?void 0:oe.nodeId,de=S?Fl(S.nodesRef.current,Re):[];if(!I&&(te.stopPropagation(),de.length>0)){let N=!0;if(de.forEach(re=>{var Le;if((Le=re.context)!=null&&Le.open&&!re.context.dataRef.current.__escapeKeyBubbles){N=!1;return}}),!N)return}i(!1,dR(te)?te.nativeEvent:te,"escape-key")}),B=Uo(te=>{var oe;let Re=()=>{var de;Z(te),(de=Xs(te))==null||de.removeEventListener("keydown",Re)};(oe=Xs(te))==null||oe.addEventListener("keydown",Re)}),G=Uo(te=>{var oe;let Re=a.current.insideReactTree;a.current.insideReactTree=!1;let de=b.current;if(b.current=!1,h==="click"&&de||Re||typeof R=="function"&&!R(te))return;let N=Xs(te),re="["+gO("inert")+"]",Le=Qg(r.floating).querySelectorAll(re),je=yt(N)?N:null;for(;je&&!Ti(je);){let Ze=Pi(je);if(Ti(Ze)||!yt(Ze))break;je=Ze}if(Le.length&&yt(N)&&!cR(N)&&!$g(N,r.floating)&&Array.from(Le).every(Ze=>!$g(je,Ze)))return;if(Mn(N)&&J){let Ze=Ti(N),Ct=_n(N),xt=/auto|scroll/,xn=Ze||xt.test(Ct.overflowX),Pt=Ze||xt.test(Ct.overflowY),Ne=xn&&N.clientWidth>0&&N.scrollWidth>N.clientWidth,fe=Pt&&N.clientHeight>0&&N.scrollHeight>N.clientHeight,ae=Ct.direction==="rtl",De=fe&&(ae?te.offsetX<=N.offsetWidth-N.clientWidth:te.offsetX>N.clientWidth),Rt=Ne&&te.offsetY>N.clientHeight;if(De||Rt)return}let Ge=(oe=a.current.floatingContext)==null?void 0:oe.nodeId,$e=S&&Fl(S.nodesRef.current,Ge).some(Ze=>{var Ct;return sf(te,(Ct=Ze.context)==null?void 0:Ct.elements.floating)});if(sf(te,r.floating)||sf(te,r.domReference)||$e)return;let Qe=S?Fl(S.nodesRef.current,Ge):[];if(Qe.length>0){let Ze=!0;if(Qe.forEach(Ct=>{var xt;if((xt=Ct.context)!=null&&xt.open&&!Ct.context.dataRef.current.__outsidePressBubbles){Ze=!1;return}}),!Ze)return}i(!1,te,"outside-press")}),K=Uo(te=>{var oe;let Re=()=>{var de;G(te),(de=Xs(te))==null||de.removeEventListener(h,Re)};(oe=Xs(te))==null||oe.addEventListener(h,Re)});Ae.useEffect(()=>{if(!n||!l)return;a.current.__escapeKeyBubbles=I,a.current.__outsidePressBubbles=M;let te=-1;function oe(Le){i(!1,Le,"ancestor-scroll")}function Re(){window.clearTimeout(te),U.current=!0}function de(){te=window.setTimeout(()=>{U.current=!1},Ys()?5:0)}let N=Qg(r.floating);u&&(N.addEventListener("keydown",T?B:Z,T),N.addEventListener("compositionstart",Re),N.addEventListener("compositionend",de)),R&&N.addEventListener(h,_?K:G,_);let re=[];return v&&(yt(r.domReference)&&(re=Wn(r.domReference)),yt(r.floating)&&(re=re.concat(Wn(r.floating))),!yt(r.reference)&&r.reference&&r.reference.contextElement&&(re=re.concat(Wn(r.reference.contextElement)))),re=re.filter(Le=>{var je;return Le!==((je=N.defaultView)==null?void 0:je.visualViewport)}),re.forEach(Le=>{Le.addEventListener("scroll",oe,{passive:!0})}),()=>{u&&(N.removeEventListener("keydown",T?B:Z,T),N.removeEventListener("compositionstart",Re),N.removeEventListener("compositionend",de)),R&&N.removeEventListener(h,_?K:G,_),re.forEach(Le=>{Le.removeEventListener("scroll",oe)}),window.clearTimeout(te)}},[a,r,u,R,h,n,i,v,l,I,M,Z,T,B,G,_,K]),Ae.useEffect(()=>{a.current.insideReactTree=!1},[a,R,h]);let ce=Ae.useMemo(()=>({onKeyDown:Z,...c&&{[vO[m]]:te=>{i(!1,te.nativeEvent,"reference-press")},...m!=="click"&&{onClick(te){i(!1,te.nativeEvent,"reference-press")}}}}),[Z,i,c,m]),J=Ae.useMemo(()=>({onKeyDown:Z,onMouseDown(){b.current=!0},onMouseUp(){b.current=!0},[xO[h]]:()=>{a.current.insideReactTree=!0},onBlurCapture(){S||(yO(H),a.current.insideReactTree=!0,H.current=window.setTimeout(()=>{a.current.insideReactTree=!1}))}}),[Z,h,a,S]);return Ae.useMemo(()=>l?{reference:ce,floating:J}:{},[l,ce,J])}function SO(e){let{open:t=!1,onOpenChange:n,elements:i}=e,r=dO(),a=Ae.useRef({}),[l]=Ae.useState(()=>fO()),u=mO()!=null,[f,h]=Ae.useState(i.reference),c=Uo((w,y,S)=>{a.current.openEvent=w?y:void 0,l.emit("openchange",{open:w,event:y,reason:S,nested:u}),n?.(w,y,S)}),m=Ae.useMemo(()=>({setPositionReference:h}),[]),v=Ae.useMemo(()=>({reference:f||i.reference||null,floating:i.floating||null,domReference:i.reference}),[f,i.reference,i.floating]);return Ae.useMemo(()=>({dataRef:a,open:t,onOpenChange:c,elements:v,events:l,floatingId:r,refs:m}),[t,c,v,l,r,m])}function HR(e){e===void 0&&(e={});let{nodeId:t}=e,n=SO({...e,elements:{reference:null,floating:null,...e.elements}}),i=e.rootContext||n,r=i.elements,[a,l]=Ae.useState(null),[u,f]=Ae.useState(null),c=r?.domReference||a,m=Ae.useRef(null),v=VR();af(()=>{c&&(m.current=c)},[c]);let w=kR({...e,elements:{...r,...u&&{reference:u}}}),y=Ae.useCallback(I=>{let M=yt(I)?{getBoundingClientRect:()=>I.getBoundingClientRect(),getClientRects:()=>I.getClientRects(),contextElement:I}:I;f(M),w.refs.setReference(M)},[w.refs]),S=Ae.useCallback(I=>{(yt(I)||I===null)&&(m.current=I,l(I)),(yt(w.refs.reference.current)||w.refs.reference.current===null||I!==null&&!yt(I))&&w.refs.setReference(I)},[w.refs]),E=Ae.useMemo(()=>({...w.refs,setReference:S,setPositionReference:y,domReference:m}),[w.refs,S,y]),R=Ae.useMemo(()=>({...w.elements,domReference:c}),[w.elements,c]),b=Ae.useMemo(()=>({...w,...i,refs:E,elements:R,nodeId:t}),[w,E,R,t,i]);return af(()=>{i.dataRef.current.floatingContext=b;let I=v?.nodesRef.current.find(M=>M.id===t);I&&(I.context=b)}),Ae.useMemo(()=>({...w,context:b,refs:E,elements:R}),[w,E,R,b])}function iy(e,t,n){let i=new Map,r=n==="item",a=e;if(r&&e){let{[LR]:l,[FR]:u,...f}=e;a=f}return{...n==="floating"&&{tabIndex:-1,[eO]:""},...a,...t.map(l=>{let u=l?l[n]:null;return typeof u=="function"?e?u(e):null:u}).concat(e).reduce((l,u)=>(u&&Object.entries(u).forEach(f=>{let[h,c]=f;if(!(r&&[LR,FR].includes(h)))if(h.indexOf("on")===0){if(i.has(h)||i.set(h,[]),typeof c=="function"){var m;(m=i.get(h))==null||m.push(c),l[h]=function(){for(var v,w=arguments.length,y=new Array(w),S=0;S<w;S++)y[S]=arguments[S];return(v=i.get(h))==null?void 0:v.map(E=>E(...y)).find(E=>E!==void 0)}}}else l[h]=c}),l),{})}}function WR(e){e===void 0&&(e=[]);let t=e.map(u=>u?.reference),n=e.map(u=>u?.floating),i=e.map(u=>u?.item),r=Ae.useCallback(u=>iy(u,e,"reference"),t),a=Ae.useCallback(u=>iy(u,e,"floating"),n),l=Ae.useCallback(u=>iy(u,e,"item"),i);return Ae.useMemo(()=>({getReferenceProps:r,getFloatingProps:a,getItemProps:l}),[r,a,l])}var QR=A(Mo(),1);var Gt=A(Q(),1);var UR=A(Q(),1),hf=A(Q(),1);var GR=A(D(),1),qR=Ri(),Go=(0,hf.createContext)({emitter:qR});Go.displayName="Events";function Nl(){return UR.default.useContext(Go).emitter}function wO({emitter:e,children:t}){return(0,GR.jsx)(Go.Provider,{value:(0,hf.useMemo)(()=>({emitter:e}),[e]),children:t})}var Un=A(D(),1),zl=Gt.default.createContext({});function Dl(){let e=(0,Gt.useContext)(zl),t=Object.keys(e),n={};for(let i of t)e[i].Provider&&(n[i]={value:(0,Gt.useContext)(e[i]),Provider:e[i].Provider});return n}function $R(e){let t=Object.keys(e),n=e.children;for(let i of t){if(i==="children")continue;let{value:r,Provider:a}=e[i];n=(0,Un.jsx)(a,{value:r,children:n})}return n}function bO(e){let t=(0,Gt.useContext)(zl),n=(0,Gt.useMemo)(()=>({...t,...e.providers}),[e.providers]);return(0,Un.jsx)(zl.Provider,{value:n,children:e.children})}function Bl(){return{VaultContext:(0,Gt.useContext)(Ar),ResourceContext:(0,Gt.useContext)(_a),SimpleViewerReactContext:(0,Gt.useContext)(Ts),VisibleCanvasReactContext:(0,Gt.useContext)(wo),AuthRContext:(0,Gt.useContext)(Eo),SearchReactContext:(0,Gt.useContext)(As),ReactEventContext:(0,Gt.useContext)(Go),ContextBridgeReactContext:(0,Gt.useContext)(zl),StrategyReactContext:(0,Gt.useContext)(Hr),AtlasStoreReactContext:(0,Gt.useContext)(ko)}}function Vl(e){return(0,Un.jsx)(So,{vault:e.bridge.VaultContext.vault||void 0,resources:e.bridge.ResourceContext,children:(0,Un.jsx)(wo.Provider,{value:e.bridge.VisibleCanvasReactContext,children:(0,Un.jsx)(Ts.Provider,{value:e.bridge.SimpleViewerReactContext,children:(0,Un.jsx)(Go.Provider,{value:e.bridge.ReactEventContext,children:(0,Un.jsx)(ko.Provider,{value:e.bridge.AtlasStoreReactContext,children:(0,Un.jsx)(Eo.Provider,{value:e.bridge.AuthRContext,children:(0,Un.jsx)(As.Provider,{value:e.bridge.SearchReactContext,children:(0,Un.jsx)(zl.Provider,{value:e.bridge.ContextBridgeReactContext,children:(0,Un.jsx)(Hr.Provider,{value:e.bridge.StrategyReactContext,children:e.custom?(0,Un.jsx)($R,{...e.custom,children:e.children}):e.children})})})})})})})})})}var Js=A(D(),1);function pf({annotation:e,target:t,children:n,dismissable:i,isOpen:r,onOpenChange:a,placement:l}){let u=Bl(),f=Dl(),{refs:h,floatingStyles:c,context:m}=HR({open:r,onOpenChange:a,nodeId:e.id,placement:l||"bottom",middleware:[ff(10),ty(),ny({mainAxis:!0})],whileElementsMounted:lf}),v=jR(m),{getReferenceProps:w,getFloatingProps:y}=WR([i?v:null].filter(S=>S!==null));return(0,Js.jsxs)(oi,{relative:!0,target:t,interactive:!1,children:[(0,Js.jsx)("div",{ref:h.setReference,...w(),style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"}}),(0,QR.createPortal)((0,Js.jsx)(Vl,{bridge:u,custom:f,children:(0,Js.jsx)("div",{ref:h.setFloating,style:c,...y(),children:n})}),document.getElementById("atlas-floating-ui"))]})}var jl=A(D(),1),KR=t0()(e=>({isMenuOpen:!1,menuPosition:{x:0,y:0},setMenuPosition(t){e({menuPosition:t})},toggle(t){e(n=>({isMenuOpen:!n.isMenuOpen,menuPosition:t}))},open(t){e({isMenuOpen:!0,menuPosition:t})},setIsMenuOpen(t){e(typeof t=="function"?n=>({isMenuOpen:t(n.isMenuOpen)}):{isMenuOpen:t})},close(){e({isMenuOpen:!1})}}));function Hl(e,t,n){let{isMenuOpen:i,setIsMenuOpen:r,close:a,open:l,menuPosition:u,setMenuPosition:f,toggle:h}=KR(),c=(0,YR.useCallback)(w=>{n&&(w.preventDefault(),w.stopPropagation(),h(w.atlas))},[h,n]);return[(0,jl.jsx)(jl.Fragment,{children:n&&i&&(0,jl.jsx)(pf,{dismissable:!0,placement:"bottom-start",isOpen:i,onOpenChange:r,annotation:{id:e},target:{x:u.x,y:u.y,height:1,width:1},children:i&&n({canvasId:t,position:u,close:()=>r(!1)})})}),{onContextMenu:c},{open:l,close:a,toggle:h,isMenuOpen:i,setIsMenuOpen:r,menuPosition:u,setMenuPosition:f}]}function oy(){let e=st();return ve(e,t=>t.tool.requestId&&t.requests[t.tool.requestId]||null)}var an=A(D(),1);function sy({theme:e,renderContextMenu:t,children:n}){let i=st(),r=Ce(),a=ve(i,T=>T.polygon),l=ve(i,T=>T.polygonState.currentTool),u=ve(i,T=>T.mode),f=ve(i,T=>T.changeMode),h=ve(i,T=>T.polygonState.transitioning),{enabled:c,requestId:m}=ve(i,T=>T.tool),v=(0,mf.useMemo)(()=>Br(a),[a]),w=oy(),[y,S]=Hl("editing-annotation",r?.id,t),E=w?.annotationPopup||n||(0,an.jsx)(XR,{}),R=w?.svgTheme||e,b=()=>{f("sketch")};if(!c||!r||!m||!a)return null;let I=v&&a.id&&!h&&(l==="pointer"||l==="hand"||!a.open)?(0,an.jsx)(pf,{annotation:a,target:v,children:E}):null,M="shape";return u==="explore"?(0,an.jsxs)(an.Fragment,{children:[(0,an.jsx)(M,{id:`shape-${a.id}`,points:a.points,open:a.open,onClick:b,relativeStyle:!0,target:{x:0,y:0,width:r.width,height:r.height},style:{":hover":{backgroundColor:"rgba(0,0,0,0.2)"},backgroundColor:"rgba(0,0,0,0)",borderWidth:"4px",borderColor:"rgba(255, 255, 255, .4)"},...S}),(0,an.jsx)(M,{id:`shape-${a.id}`,points:a.points,open:a.open,onClick:b,relativeStyle:!0,target:{x:0,y:0,width:r.width,height:r.height},style:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(0, 0, 0, .4)"}}),I]}):(0,an.jsxs)(an.Fragment,{children:[t?(0,an.jsx)(M,{id:`shape-${a.id}`,points:a.points,open:a.open,target:{x:0,y:0,width:r.width,height:r.height},...S}):null,(0,an.jsx)(Zb,{image:r,theme:R}),I,y]})}function XR(){let e=st(),t=ve(e,l=>l.changeMode),n=ve(e,l=>l.mode),i=ve(e,l=>l.completeRequest),r=ve(e,l=>l.tool),a=()=>{(0,mf.startTransition)(()=>{i()})};return r.enabled?(0,an.jsxs)("div",{className:"svg-tools-container animate-fadeIn",children:[n!=="sketch"&&(0,an.jsx)("button",{className:"svg-tools-button",onClick:()=>{t("sketch")},children:"Edit"}),(0,an.jsx)("button",{className:"svg-tools-button",onClick:a,children:"Save"})]}):null}var Kr=A(Q(),1);var ea=A(Q(),1);function RO(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function Wl(e,t){let{selector:n,source:i}=qt(t);if(i.id!==e.id)return[null,i];let r={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[n?n.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:n.temporal,spatial:r.spatial}:n:null,i]}var ay={makeChoice:()=>{}},Ul={type:"unknown"},ut=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),ly=(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var ql=A(Q(),1);function EO(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function ZR(e,t){return qe(n=>{let i=[];if(!e)return i;let r=Object.keys(n.iiif.entities.AnnotationPage);for(let a of r)if(!t||t.indexOf(a)!==-1){let l=EO(n,a);l&&l.views&&l.views[e]&&i.push(a)}return i},[e,t])}function uy({canvas:e,manifest:t,all:n,canvases:i}){let r=[];if(t)for(let a of t.annotations)r.indexOf(a.id)===-1&&r.push(a.id);if(n){if(i&&i.length)for(let a of i)for(let l of a.annotations)r.indexOf(l.id)===-1&&r.push(l.id)}else if(e)for(let a of e.annotations)r.indexOf(a.id)===-1&&r.push(a.id);return r}function IO(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function Gl(e,t={}){let n=ze(),i=It(),r=Ce(),a=bo(),l=(0,ql.useMemo)(()=>uy({all:t.all,manifest:i,canvas:r,canvases:a}),[t.all,r,a,i]),u=ZR(e,t.all?void 0:l),f=(0,ql.useCallback)(c=>{e&&n.setMetaValue([c,"annotationPageManager","views"],m=>m&&!m[e]?m:{...m||{},[e]:!1})},[e,n]),h=(0,ql.useCallback)((c,m={})=>{if(!e)return;let v=n.getState(),w=[];if(m?.deselectOthers){let y=Object.keys(v.iiif.entities.AnnotationPage);for(let S of y){let E=IO(v,S);E&&E.views&&E.views[e]&&w.push(S)}}for(let y of w)f(y);n.setMetaValue([c,"annotationPageManager","views"],y=>y&&y[e]?y:{...y||{},[e]:!0})},[e,f,n]);return{availablePageIds:l,enabledPageIds:u,setPageEnabled:h,setPageDisabled:f}}function cy(e,t){return qe((n,i)=>i.get(e.map(r=>({id:r,type:t}))),[e,t])}var JR=A(Q(),1);var CO=zn((e,t)=>({loaded:{},setLoaded:(n,i="done")=>{e(r=>({loaded:{...r.loaded,[n]:i}}))}})),PO=Ri();PO.on("loaded",e=>{CO.getState().setLoaded(e.imageServiceId)});function $l(){let e=Us(),t=kb();return[(0,JR.useCallback)((i,{height:r,width:a})=>i&&e(i,{height:r,width:a},!0),[e]),t]}var Qo=A(Q(),1);function $o(e={}){let t=yl(),n=Ce(e.canvasId?{id:e.canvasId}:void 0);return qe((i,r)=>{if(!n)return[];if(t&&e.enableSingleAnnotation)return[t];let a=r.get(n.items),l=[];for(let u of a)l.push(...r.get(u.items));return l},[n])}function dy(e,t=[]){let n=ze(),i=(0,Qo.useMemo)(()=>pg(n),[]),r=$o({enableSingleAnnotation:e?.enableSingleAnnotation}),[a,l]=(0,Qo.useState)(e?.defaultChoices||[]),u=(0,Qo.useMemo)(()=>i.getPaintables(r,a),[n,r,a,...t]),h={makeChoice:(0,Qo.useCallback)((c,{deselectOthers:m=!0,deselect:v=!1}={})=>{u.choice&&l(w=>{if(v){let S=w.filter(E=>E!==c);if(S.length===0){let E=u.items[0].resource.id;return E?[E]:[]}return S}if(m)return[c];let y=[...w];if(y.length===0&&u.items.length){let S=u.items[0].resource.id;S&&y.push(S)}return w.indexOf(c)!==-1?w:[...w,c]})},[u.choice])};return[u,h]}var AO=["model/gltf-binary"];function fy(e,t){let n=t.items[0],i=n.resource;return i.format?AO.indexOf(i.format)===-1?ut(`3D format: ${i.format} is unsupported`):{type:"3d-model",model:i,annotationId:n.annotationId,annotation:n.annotation}:ut("Unknown format")}function eE(e,t){let n=t.items,i=n[0];if(n.length===0||!i)return ut("No audio");if(!e.duration)return ut("No duration on canvas");if(n.length>1)return ut("Only one audio source supported");let r=i.resource;return r?("format"in r||(r.format="audio/mpeg"),{type:"media",media:{annotationId:i.annotationId,annotation:i.annotation,duration:e.duration,url:r.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:r.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},annotations:{pages:[]}}):ut("Unknown audio")}function Ql(e,t,n){let i=[];for(let r of t.items){let a=r.resource&&r.resource.type==="SpecificResource"?r.resource.source:r.resource;if(!a.id)return ut("No resource Identifier");let l;if(a.service){let S=Lr(a);S[0]&&(l=n(S[0],e))}let u={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[f,h]=Wl(e,r.target),c=e.id?.split("?")[0]||"";if(!(h.id===e.id||decodeURIComponent(h.id||"")===(e.id||"")||h.id===c||decodeURIComponent(h.id||"")===c))continue;let m=r.resource.width&&r.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:r.resource.width,height:r.resource.height}}:void 0,v=r.resource.type==="SpecificResource"?qt(r.resource):null;if(r.selector){let S=qt({type:"SpecificResource",source:r.resource,selector:r.selector});S&&(v=S)}let w=v&&v.selector&&(v.selector.type==="BoxSelector"||v.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:v.selector.spatial.x,y:v.selector.spatial.y,width:v.selector.spatial.width,height:v.selector.spatial.height}}:void 0;l&&!l.id&&(l.id=l["@id"]);let y={id:a.id,type:"Image",annotationId:r.annotationId,annotation:r.annotation,width:Number(f||w?a.width:e.width),height:Number(f||w?a.height:e.height),service:l,sizes:l&&l.sizes?l.sizes:a.width&&a.height?[{width:a.width,height:a.height}]:[],target:f&&f.type!=="PointSelector"?f:u,selector:w||{type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}}};i.push(y)}return{type:"images",image:i[0],images:i,choice:t.choice}}function tE(e,t={},n){let i=e.language||n||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[i]=[e.value]);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(r=>tE(r,t,i))}return t}function Yl(e,t){let n=[];return t.items.forEach(i=>{if(i.resource){let[r]=Wl(e,i.target);n.push({type:"Text",annotationId:i.annotationId,annotation:i.annotation,text:tE(i.resource),target:r})}}),{type:"textual-content",items:n}}var TO=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function Kl(e,t,n){let i=t.items.filter(w=>w.type==="video"),r=i[0],a=!1;if(e.duration||(a=!0),i.length>1||!r)return ut("Only one video source supported");let l=i[0]?.resource,u=!!(l.service||[]).find(w=>(w.profile||"").includes("youtube.com"));if(!u&&a)return ut("Video does not have duration");if(!l)return ut("Unknown video");if((!l.format||l.format==="text/html")&&!u)return ut("Video does not have format");let f=[],h=n.get(e.annotations||[]);for(let w of h){let y=n.get(w.items||[]);for(let S of y)if((S.motivation?Array.isArray(S.motivation||"")?S.motivation:[S.motivation]:[]).includes("supplementing")){let R=n.get(S.body||[]);for(let b of R){let I=b;if(I.type==="Choice")for(let M of I.items){let T=n.get(M);T.format==="text/vtt"&&f.push({id:T.id,type:"Text",format:"text/vtt",label:T.label,language:T.language})}else I.format==="text/vtt"&&f.push({id:I.id,type:"Text",format:"text/vtt",label:I.label,language:I.language})}}}let c={annotationId:r.annotationId,annotation:r.annotation,duration:e.duration,url:l.id,type:"Video",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:l.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},m=qt(r.target);m.selector&&m.selector.type==="TemporalBoxSelector"&&(c.target=m.selector);let{selector:v}=Ji(r.selector);if(v===null){let w=c.target.temporal.startTime,S=(c.target.temporal.endTime||e.duration)-w;c.selector={type:"TemporalSelector",temporal:{startTime:0,endTime:S}}}else v.type==="TemporalSelector"&&(c.selector=v);if(u){c.type="VideoYouTube";let w=l.id.match(TO);if(!w[1])return ut("Video is not known youtube video");c.youTubeId=w[1]}return{type:"media",media:c,annotations:{pages:[]},captions:f}}function hy(e,t,n,i){let r={type:"complex-timeline",items:[],keyframes:[],duration:e.duration||0},a={type:"complex-choice",items:[]};function l(h){h.choice&&(h.choice.type==="complex-choice"?a.items.push(...h.choice.items):a.items.push(h.choice))}for(let h of t.items){if(h.type==="image"){let c=Ql(e,{choice:null,allChoices:null,types:["image"],items:[h]},n);if(c.type==="images"){l(c),r.items.push(c.image);let m={id:c.image.annotationId,type:"enter",resourceType:"image",time:c.image.target?.temporal?.startTime||0};r.keyframes.push(m);let v={id:c.image.annotationId,type:"exit",resourceType:"image",time:c.image.target?.temporal?.endTime||e.duration||0};r.keyframes.push(v)}}if(h.type==="textualbody"){let c=Yl(e,{choice:null,allChoices:null,types:["textualbody"],items:[h]});if(c.type==="textual-content"){l(c);let m=c.items[0];r.items.push(m);let v=m.target,w={id:m.annotationId,type:"enter",resourceType:"text",time:v.temporal?.startTime||0};r.keyframes.push(w);let y={id:m.annotationId,type:"exit",resourceType:"text",time:v.temporal?.endTime||e.duration||0};r.keyframes.push(y)}}if(h.type==="video"){let c=Kl(e,{choice:null,allChoices:null,types:["video"],items:[h]},i);if(c.type==="media"){l(c);let m=c.media;r.items.push(m);let v={id:m.annotationId,type:"enter",resourceType:"video",time:m.target?.temporal?.startTime||0};r.keyframes.push(v);let w={id:m.annotationId,type:"exit",resourceType:"video",time:m.target?.temporal?.endTime||e.duration||0};r.keyframes.push(w)}}}r.keyframes.sort((h,c)=>h.time-c.time);let u=[],f=[];for(let h of r.keyframes){if(h.resourceType==="image"||h.resourceType==="text"){f.push(h);continue}if(h.type==="enter"){u.length===0&&(h.isPrime=!0),u.push(h),f.push(h);continue}if(h.type==="exit"&&(f.push(h),u=u.filter(c=>c.id!==h.id),u.length!==0)){let c=u[0],m={id:c.id,type:"change",isPrime:!0,resourceType:c.resourceType,time:h.time};f.push(m)}}return r.keyframes=f,a.items.length&&(r.choice=a),r}var gf={},py={get(e){return e},setMetaValue([e,t,n],i){let r=py.getResourceMeta(e,t),a=r?r[n]:void 0,l=typeof i=="function"?i(a):i;gf[e]={...gf[e]||{},[t]:{...(gf[e]||{})[t]||{},[n]:l}}},getResourceMeta:(e,t)=>{let n=gf[e];if(n)return t?n[t]:n},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(n=>n.json())},requestStatus(e){}};function my({canvas:e,paintables:t,supports:n,loadImageService:i,vault:r=py}){if(!e)return Ul;if(t.types.length===0)return n.indexOf("empty")!==-1?ly(e.width,e.height):Ul;if(t.types.length!==1)if(t.types.length===2&&t.types.indexOf("text")!==-1)t.types=t.types.filter(l=>l!=="text");else return n.indexOf("complex-timeline")===-1?ut("Complex timeline not supported"):hy(e,t,i,r);let a=t.types[0];return a==="image"?n.indexOf("images")===-1?ut("Image not supported"):Ql(e,t,i):a==="Model"||a==="model"?n.indexOf("3d-model")===-1?ut("3D not supported"):fy(e,t):a==="textualbody"?n.indexOf("textual-content")===-1?ut("Textual content not supported"):Yl(e,t):a==="sound"||a==="audio"?n.indexOf("media")===-1?ut("Media not supported"):eE(e,t):a==="video"?n.indexOf("media")===-1?ut("Media not supported"):Kl(e,t,r):Ul}function gy(e){let t=It(),n=Ce(),i=ze(),r=Nl(),a=e?.emitter||r,[l,u]=$l(),{enabledPageIds:f}=Gl(e?.annotationPageManagerId||t?.id||n?.id,{all:!1}),h=cy(f,"AnnotationPage"),c=e?.strategies||["empty","images","media","textual-content","complex-timeline"],[m,v]=dy(e,[u]);(0,ea.useEffect)(()=>{let y=S=>{v.makeChoice(S.choiceId,{deselectOthers:S.deselectOthers,deselect:S.deselect})};return a.on("make-choice",y),()=>{a.off("make-choice",y)}},[]);let w=(0,ea.useMemo)(()=>my({canvas:n,paintables:m,supports:c,loadImageService:l,vault:i}),[n,m,i,v.makeChoice]);return(0,ea.useEffect)(()=>{let y=m.allChoices,S={canvasId:n?.id,manifestId:t?.id};y&&a.emit("choice-change",{choice:y,partOf:S})},[n?.id,m.allChoices]),(0,ea.useMemo)(()=>w.type==="unknown"?[w,ay]:[{...w,annotations:{pages:h}},v],[w,h])}var yy=A(D(),1);function vy({strategies:e,registerActions:t,defaultChoices:n,onChoiceChange:i,mediaControlsDeps:r,renderMediaControls:a,renderViewerControls:l,viewControlsDeps:u,renderComplexTimelineControls:f,complexTimelineControlsDeps:h,throwOnUnknown:c,children:m}){let v=Ce(),w=ze(),y=(0,Kr.useMemo)(()=>Vr(w),[w]),[S,E]=gy({strategies:e||["images"],defaultChoices:n?.map(({id:M})=>M)}),R="choice"in S?S.choice:void 0;if((0,Kr.useEffect)(()=>{t&&t(E)},[S.annotations]),(0,Kr.useEffect)(()=>{i&&i(R)},[R]),(0,Kr.useEffect)(()=>{if(n)for(let M of n)typeof M.opacity<"u"&&y.applyStyles({id:M.id},"atlas",{opacity:M.opacity})},[n]),S.type==="unknown"&&c)throw new Error(S.reason||"Unknown strategy");let b=(0,Kr.useMemo)(()=>({renderMediaControls:a,mediaControlsDeps:r||[],renderViewerControls:l,viewControlsDeps:u||[],renderComplexTimelineControls:f,complexTimelineControlsDeps:h||[]}),[r,a,l,u,f,h]),I=(0,Kr.useMemo)(()=>({strategy:S,actions:E,choices:"choice"in S?S.choice:[]}),[S,v]);return(0,yy.jsx)(wl.Provider,{value:b,children:(0,yy.jsx)(Hr.Provider,{value:I,children:m})})}var Xl=A(Q(),1);var ta=A(Q(),1);var xy=(0,ta.createContext)(()=>{});function nE(e){let t=Ce(),n=(0,ta.useContext)(xy);(0,ta.useEffect)(()=>t&&t.id?(n(t.id,e),()=>n(t.id,-1)):()=>{},[t,e])}var iE=A(D(),1);function Sy({x:e=0,y:t=0,keepCanvasScale:n=!0,renderContextMenu:i,children:r}){let{strategy:a}=gt(),l=Ce(),u=st(),f=gl(l,["deep-zoom"]),h=ve(u,S=>S.setCanvasRelativePosition),c=ve(u,S=>S.clearCanvasRelativePosition),[m,v]=Hl(`context-menu/${l?.id}`,l?.id,i),w=(0,Xl.useMemo)(()=>n?1:Math.max(1,...a.type==="images"?a.images.map(S=>(S.width||0)/S.target?.spatial.width):[]),[n,a]);(0,Xl.useEffect)(()=>{if(l)return h(l.id,{x:e,y:t,width:l.width,height:l.height}),()=>{c(l.id)}},[e,t,l,c,h]),(0,Xl.useEffect)(()=>{l&&u.getState().reset()},[u,l]),nE(w);let y=a.type==="images"?a.images.length:0;return l?(0,iE.jsxs)("world-object",{height:l.height,width:l.width,scale:w,x:e,y:t,...v,...f,children:[m,r]},`${l.id}/${a.type}/${y}`):null}var yn=A(D(),1);function zo({x:e,y:t,onChoiceChange:n,registerActions:i,defaultChoices:r,isStatic:a,renderViewerControls:l,renderMediaControls:u,renderComplexTimelineControls:f,complexTimelineControlsDeps:h,viewControlsDeps:c,mediaControlsDeps:m,strategies:v,throwOnUnknown:w,backgroundStyle:y,alwaysShowBackground:S,keepCanvasScale:E=!1,enableSizes:R=!1,enableYouTube:b=!0,onClickPaintingAnnotation:I,components:M={},children:T,annotationPopup:_,svgTheme:U,renderContextMenu:H,renderAnnotationContextMenu:Z}){return(0,yn.jsxs)(vy,{throwOnUnknown:w,onChoiceChange:n,registerActions:i,strategies:v,defaultChoices:r,mediaControlsDeps:m,renderMediaControls:u,renderViewerControls:l,renderComplexTimelineControls:f,complexTimelineControlsDeps:h,viewControlsDeps:c,children:[(0,yn.jsxs)(Sy,{keepCanvasScale:E,x:e,y:t,renderContextMenu:H,children:[(0,yn.jsx)(Fg,{alwaysShowBackground:S,backgroundStyle:y}),(0,yn.jsx)(Lg,{}),(0,yn.jsx)(zg,{}),(0,yn.jsx)(Ng,{isStatic:a,enableSizes:R,onClickPaintingAnnotation:I}),(0,yn.jsx)(Ig,{}),(0,yn.jsx)(xg,{}),(0,yn.jsx)(Ag,{as:M.Audio}),(0,yn.jsx)(Bg,{as:M.Video}),b?(0,yn.jsx)(Vg,{}):null,(0,yn.jsx)(sy,{theme:U,renderContextMenu:Z,children:_}),T]}),(0,yn.jsx)(Sg,{})]})}var wy=A(D(),1);function rE(e){let t=Ce();return!t||!t.placeholderCanvas?null:(0,wy.jsx)(ti,{canvas:t.placeholderCanvas.id,children:(0,wy.jsx)(zo,{renderViewerControls:e.renderViewerControls})})}var vn=A(Q(),1);var qn=A(Q()),MO=(0,qn.createContext)(null),by={didCatch:!1,error:null},na=class extends qn.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=by}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){let{error:t}=this.state;if(t!==null){for(var n,i,r=arguments.length,a=new Array(r),l=0;l<r;l++)a[l]=arguments[l];(n=(i=this.props).onReset)===null||n===void 0||n.call(i,{args:a,reason:"imperative-api"}),this.setState(by)}}componentDidCatch(t,n){var i,r;(i=(r=this.props).onError)===null||i===void 0||i.call(r,t,n)}componentDidUpdate(t,n){let{didCatch:i}=this.state,{resetKeys:r}=this.props;if(i&&n.error!==null&&_O(t.resetKeys,r)){var a,l;(a=(l=this.props).onReset)===null||a===void 0||a.call(l,{next:r,prev:t.resetKeys,reason:"keys"}),this.setState(by)}}render(){let{children:t,fallbackRender:n,FallbackComponent:i,fallback:r}=this.props,{didCatch:a,error:l}=this.state,u=t;if(a){let f={error:l,resetErrorBoundary:this.resetErrorBoundary};if(typeof n=="function")u=n(f);else if(i)u=(0,qn.createElement)(i,f);else if(r===null||(0,qn.isValidElement)(r))u=r;else throw l}return(0,qn.createElement)(MO.Provider,{value:{didCatch:a,error:l,resetErrorBoundary:this.resetErrorBoundary}},u)}};function _O(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.length!==t.length||e.some((n,i)=>!Object.is(n,t[i]))}var yf=A(Q(),1);function oE(e,t=2e3){let{currentSequenceIndex:n,sequence:i,items:r}=Io(),a=Ce(),l=(0,yf.useMemo)(()=>{let f=i[n]||[];return f.length===0&&a?[{id:a.id,type:"Canvas"}]:f.map(h=>r[h])},[i,n,a,r]),u=st();(0,yf.useEffect)(()=>{let h=setInterval(()=>{if(e&&t!==-1){let c={x:e.x,y:e.y,width:e.width,height:e.height},m=u.getState().canvasRelativePositions,v={};for(let w of l){let y=m[w.id];if(y){let S=y.x,E=y.y,R=y.width,b=y.height,I={x:Math.max(S,c.x),y:Math.max(E,c.y),width:Math.min(S+R,c.x+c.width)-Math.max(S,c.x),height:Math.min(E+b,c.y+c.height)-Math.max(E,c.y)};I.width<=0||I.height<=0||(v[w.id]={x:I.x-y.x,y:I.y-y.y,width:I.width,height:I.height}),u.setState({canvasViewports:v})}}}},t);return()=>{clearTimeout(h)}},[l,e,u,t])}var ia=A(D(),1);function vf({width:e,style:t,height:n,error:i,resetErrorBoundary:r}){return(0,ia.jsxs)("div",{style:{width:e,height:n,minHeight:500,...t||{},background:"#f9f9f9"},children:[(0,ia.jsx)("h3",{children:"Error occurred"}),(0,ia.jsx)("p",{children:i.message}),(0,ia.jsx)("button",{type:"button",onClick:r,children:"Reset"})]})}var vt=A(D(),1);function xf(e){let t=st();return(0,vt.jsx)(js,{name:e.name,existing:t,children:(0,vt.jsx)(OO,{...e})})}function OO({name:e,children:t,errorFallback:n,outerContainerProps:i={},worldScale:r,updateViewportTimeout:a,...l}){let u=st(),f=ve(u,K=>K.mode),h=ve(u,K=>K.setAtlasRuntime),[c,m]=(0,vn.useState)(),v=Dl(),w=Bl(),y=n||vf,[S,E]=(0,vn.useState)({}),R=Object.entries(S),[b,I]=(0,vn.useState)({}),M=Object.entries(b),[T,_]=(0,vn.useState)({}),U=(0,vn.useMemo)(()=>r||Math.max(...Object.values(T)),[T]),H=(0,vn.useMemo)(()=>({maxOverZoom:U||1,...l.runtimeOptions||{}}),[U,l.runtimeOptions]);oE(c?.runtime,a);let Z=(0,vn.useCallback)((K,ce)=>{_(J=>{if(ce===-1){let{[K]:te,...oe}=J;return oe}return{...J,[K]:ce}})},[]),B=(0,vn.useCallback)((K,ce,J)=>{E(({[K]:te,...oe})=>ce?{...oe,[K]:{element:ce,props:J}}:oe)},[]),G=(0,vn.useCallback)((K,ce,J)=>{I(({[K]:te,...oe})=>ce?{...oe,[K]:{element:ce,props:J}}:oe)},[]);return(0,vt.jsxs)(na,{resetKeys:[],fallbackRender:K=>(0,vt.jsx)(y,{...l,...K}),children:[(0,vt.jsx)(M1,{...l,mode:f,containerProps:{style:{position:"relative"},...l.containerProps||{}},htmlChildren:(0,vt.jsx)(vt.Fragment,{children:R.map(([K,{element:ce,props:J}])=>(0,vt.jsx)(vn.default.Fragment,{children:(0,vt.jsx)(ce,{...J||{}})},K))}),onCreated:K=>{m(K),h(K.runtime),l.onCreated&&l.onCreated(K)},runtimeOptions:H,children:(0,vt.jsx)(js,{name:e,existing:u,children:(0,vt.jsx)(Ci.Provider,{value:c,children:(0,vt.jsx)(xy.Provider,{value:Z,children:(0,vt.jsx)(mg.Provider,{value:B,children:(0,vt.jsx)(gg.Provider,{value:G,children:(0,vt.jsx)(Vl,{bridge:w,custom:v,children:(0,vt.jsx)(Eg,{children:t})})})})})})})}),(0,vt.jsx)("div",{children:M.map(([K,{element:ce,props:J}])=>(0,vt.jsx)(vn.default.Fragment,{children:(0,vt.jsx)(ce,{...J||{}})},K))}),(0,vt.jsx)("div",{id:"atlas-floating-ui",style:{position:"relative",zIndex:999999}})]})}var ln=A(D(),1),kO=(0,Yo.forwardRef)(function(t,n){let i=It(),r=bo(),a=Io(),{ViewerControls:l,MediaControls:u,ComplexTimelineControls:f}=t.components||{};if((0,Yo.useImperativeHandle)(n,()=>a,[a]),!i)return(0,ln.jsx)("div",{});let h=0,c=i.viewingDirection==="top-to-bottom",m=i.viewingDirection==="bottom-to-top",v=i.viewingDirection==="left-to-right",w=i.viewingDirection==="right-to-left",S=i.behavior.includes("continuous")?0:t.spacing||0,E=m||w,R=(0,Yo.useMemo)(()=>E?[...r].reverse():r,[r,E]);return(0,ln.jsxs)(ln.Fragment,{children:[t.header,(0,ln.jsx)(Vt.Viewer,{height:t.height,mode:t.mode,renderPreset:t.renderPreset,runtimeOptions:t.runtimeOptions,updateViewportTimeout:t.updateViewportTimeout,children:R.map((b,I)=>{let M=0,T=0;return c?(M=h,h+=b.width+S):(T=h,h+=b.height+S),(0,ln.jsx)(ti,{canvas:b.id,children:(0,ln.jsx)(Vt.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content","complex-timeline"],renderViewerControls:I===0&&l?()=>(0,ln.jsx)(l,{}):void 0,renderMediaControls:I===0&&u?()=>(0,ln.jsx)(u,{}):void 0,annotationPopup:t.annotationPopup,renderContextMenu:t.renderContextMenu,keepCanvasScale:t.keepCanvasScale,renderComplexTimelineControls:I===0&&f?()=>(0,ln.jsx)(f,{}):void 0,renderAnnotationContextMenu:t.renderAnnotationContextMenu,x:M,y:T,svgTheme:t.svgTheme,...t.canvasProps||{},children:t.annotations},b.id)},b.id)})},t.reuseAtlas?"":a.currentSequenceIndex),t.children]})}),Vt=(0,Yo.forwardRef)(function({children:t,height:n,annotations:i,canvasProps:r,spacing:a,header:l,components:u,mode:f,reuseAtlas:h,renderPreset:c,runtimeOptions:m,annotationPopup:v,name:w,svgTheme:y,updateViewportTimeout:S,renderContextMenu:E,keepCanvasScale:R,renderAnnotationContextMenu:b,...I},M){let T=Ro();return(0,ln.jsx)(js,{name:w,children:(0,ln.jsx)(So,{vault:T,children:(0,ln.jsx)(gm,{...I,children:(0,ln.jsx)(kO,{ref:M,height:n,components:u,spacing:a,canvasProps:r,annotations:i,header:l,mode:f,reuseAtlas:h,renderPreset:c,runtimeOptions:m,annotationPopup:v,svgTheme:y,updateViewportTimeout:S,renderContextMenu:E,keepCanvasScale:R,renderAnnotationContextMenu:b,children:t})})})})});Vt.RenderImage=qr;Vt.RenderCanvas=zo;Vt.RenderAnnotationPage=Hs;Vt.RenderAnnotation=vl;Vt.Viewer=xf;Vt.CanvasBackground=Kd;Vt.Audio=Nd;Vt.Video=Zd;Vt.Model=Bd;Vt.AudioHTML=yg;Vt.VideoHTML=Dg;Vt.ModelHTML=vg;Vt.PlaceholderCanvas=rE;Vt.getAtlasStoreByName=ug;var sE=A(Q(),1);var ai=A(Q(),1);function Ry(e){let[t,n]=(0,ai.useState)(0),i=st(),r=ve(i,T=>T.tool.enabled),a=ve(i,T=>T.tool.requestId),l=ve(i,T=>T.getRequestId),u=ve(i,T=>T.requestAnnotation),f=ve(i,T=>T.completeRequest),h=ve(i,T=>T.cancelRequest),c=(0,ai.useRef)(e?.onSuccess);c.current=e?.onSuccess;let[m,v]=(0,ai.useState)(!1),[w,y]=(0,ai.useState)(null),[S,E]=(0,ai.useState)(null),R=r&&a!==S,b=r&&a===S,I=(0,ai.useCallback)(async(T,_)=>{if(S){let U=c.current;v(!0);let H=await u(T,{..._,requestId:S});if(H)return U?.(H),n(B=>B+1),v(!1),y(H),H;let Z={id:S,cancelled:!0,...pl(T)};return U?.(Z),y(Z),n(B=>B+1),v(!1),Z}return null},[u,S]),M=(0,ai.useCallback)(()=>{y(null),v(!1)},[]);return(0,ai.useEffect)(()=>{let T=l();return E(T.requestId),()=>{T.clear()}},[t]),{id:t,busy:R,isPending:m,isActive:b,requestId:S,requestAnnotation:I,cancelRequest:()=>S?h(S):void 0,completeRequest:()=>S?f(S):void 0,reset:M,data:w}}var LO=[{name:"Default",outer:{borderWidth:4,borderColor:"rgba(255, 255, 255, .4)"},inner:{borderWidth:2,borderColor:"#000"}},{name:"High contrast",outer:{borderWidth:3,borderColor:"#fff"},inner:{borderWidth:1,borderColor:"#000"}},{name:"Lightsaber",outer:{borderWidth:"4",borderColor:"rgba(56,68,255,0.64)"},inner:{borderWidth:"2",borderColor:"#fff"}},{name:"Bright",outer:{borderWidth:"6",borderColor:"#25d527"},inner:{borderWidth:"3",borderColor:"#a916ff"}},{name:"pink",outer:{borderWidth:"4",borderColor:"#ff00ff"},inner:{borderWidth:"2",borderColor:"#ffffff"}},{name:"fine (dark)",outer:{borderWidth:"1",borderColor:"#000000"},inner:{}},{name:"fine (light)",outer:{borderWidth:"1",borderColor:"#FFF"},inner:{}}];function Ey(e){let{id:t,data:n,requestAnnotation:i,cancelRequest:r,isPending:a}=Ry({onSuccess:l=>{e.updateShape(l.polygon)}});return(0,sE.useEffect)(()=>(i({type:"polygon",open:e.shape?.open,points:e.shape?.points}),()=>{r()}),[]),null}var Xt=A(Q(),1);var aE=A(D(),1),Sf=(0,Xt.createContext)(Ri());Sf.displayName="SelectorHelper";function FO({children:e}){return(0,aE.jsx)(Sf.Provider,{value:(0,Xt.useMemo)(()=>Ri(),[]),children:e})}function NO(){return(0,Xt.useContext)(Sf)}function Iy(e){let t=Cy(),[n,i]=(0,Xt.useState)(!1);(0,Xt.useEffect)(()=>t.withSelector(e).on("highlight",()=>{i(!0)}),[t,e]),(0,Xt.useEffect)(()=>t.withSelector(e).on("clear-highlight",()=>{i(!1)}),[t,e]);let r=(0,Xt.useCallback)(l=>{t.emit("click",{selectorId:e,event:l})},[e,t]),a=(0,Xt.useCallback)(l=>{t.emit("hover",{selectorId:e,event:l})},[e,t]);return{controller:t,onClick:r,onHover:a,isHighlighted:n}}function Cy(){let e=(0,Xt.useContext)(Sf);return(0,Xt.useMemo)(()=>({withSelector(t){return{on(n,i){let r=a=>{a&&a.selectorId===t&&i(a)};return e.on(n,r),()=>{e.off(n,r)}},emit(n,i){e.emit(n,{...i,selectorId:t})}}},on(t,n){return e.on(t,n),()=>{e.off(t,n)}},emit(t,n){e.emit(t,n)}}),[e])}function zO(){let e=Cy();return(0,Xt.useMemo)(()=>({withSelector(t){return{highlight(){e.emit("highlight",{selectorId:t})},clearHighlight(){e.emit("clear-highlight",{selectorId:t})},zoomTo(){e.emit("zoom-to",{selectorId:t})},addEventListener(n,i){return e.emit("event-listener",{selectorId:t,name:n,callback:i}),()=>{e.emit("remove-event-listener",{selectorId:t,name:n,callback:i})}},getImagePreview(){return new Promise((n,i)=>{e.emit("image-preview-request",{selectorId:t,resolve:n,reject:i})})},on(n,i){return e.withSelector(t).on(n,i)}}},highlight(t){e.emit("highlight",{selectorId:t})},clearHighlight(t){e.emit("clear-highlight",{selectorId:t})},zoomTo(t){e.emit("zoom-to",{selectorId:t})},addEventListener(t,n,i){return e.emit("event-listener",{selectorId:t,name:n,callback:i}),()=>{e.emit("remove-event-listener",{selectorId:t,name:n,callback:i})}},getImagePreview(t){return new Promise((n,i)=>{e.emit("image-preview-request",{selectorId:t,resolve:n,reject:i})})},on(t,n){return e.on(t,n)}}),[e])}var ra=A(Q(),1),lE=A(D(),1);function Py(){return{default:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(252,0,98, .5)"},highlighted:{backgroundColor:"rgba(75, 103, 225, 0.4)",borderWidth:"1px",borderColor:"rgba(75,103,225,0.99)"},hidden:{borderWidth:"0px",borderColor:"rgba(0,0,0,0)",backgroundColor:"rgba(0,0,0,0)",hidden:!0}}}var Ay=(0,ra.createContext)(Py());Ay.displayName="AnnotationStyle";function Ty(){return(0,ra.useContext)(Ay)}function DO({theme:e,children:t}){let n=(0,ra.useMemo)(()=>e||Py(),[e]);return(0,lE.jsx)(Ay.Provider,{value:n,children:t})}var My=A(D(),1);function BO(e){let t=Ce(),n=e.annotationBucket,i=e.readOnly,r=e.id,{onClick:a,isHighlighted:l}=Iy(e.id),u=Ty(),f=l?u.highlighted:u[n||"hidden"]||u.hidden;if(!t)return null;if(i){let h="shape",c=e.polygon,m=c.open;return c?(0,My.jsx)(h,{id:`shape-${r}`,points:c.points,open:m,onClick:a,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:f}):null}return(0,My.jsx)(Ey,{image:t,shape:e.polygon||{id:e.id,open:!0,points:[]},updateShape:e.updatePolygon,theme:e.theme,controlsHtmlId:e.controlsHtmlId,renderControls:e.renderControls})}var wf=A(Q(),1),Zl=A(D(),1),VO=(0,wf.forwardRef)(function({canvasId:t},n){let i=Cd(),r=Gl(t||i?.id),a=ze();return(0,wf.useImperativeHandle)(n,()=>r,[t,i]),!i||r.enabledPageIds.length===0?null:(0,Zl.jsx)(Zl.Fragment,{children:r.enabledPageIds.map(l=>(0,Zl.jsx)(Vt.RenderAnnotationPage,{page:a.get(l)},l))})});var cE=A(Q(),1);var uE=A(Q(),1);var Ot=A(D(),1);function Jl({metadata:e=[],config:t,labelWidth:n=16,showEmptyMessage:i=!0,allowHtml:r,emptyFallback:a,classes:l={},emptyMessage:u="No metadata available",emptyValueFallback:f="No value",emptyLabelFallback:h="",separator:c,tableFooter:m,tableHeader:v}){let w=(0,uE.useMemo)(()=>{let S=(t||[]).reduce((R,b)=>[...R,...b.keys],[]),E={};for(let R of e){let b=R&&R.label?Object.values(R.label):[];for(let I of b)if(I&&I.length&&(S.indexOf(`metadata.${I[0]}`)!==-1||S.length===0)&&R){let M=`metadata.${I[0]}`;E[M]=E[M]?E[M]:[],E[M].push(R);break}}return E},[t,e]);return Object.keys(w).length===0&&i?(0,Ot.jsx)(Ot.Fragment,{children:a})||(0,Ot.jsx)("div",{className:l.empty,children:u}):t&&t.length?(0,Ot.jsxs)("table",{className:l.container,children:[v,(0,Ot.jsx)("tbody",{children:t.map((S,E)=>{let R=[];for(let b of S.keys)for(let I of w[b]||[])R.push((0,Ot.jsx)(Hn,{enableDangerouslySetInnerHTML:r,defaultText:f,separator:c,children:I.value},E+"__"+b));return R.length===0?null:(0,Ot.jsxs)("tr",{className:l.row,children:[(0,Ot.jsx)("td",{className:l.label,style:n?{minWidth:n}:{},children:(0,Ot.jsx)(Hn,{enableDangerouslySetInnerHTML:r,separator:c,defaultText:h,children:S.label})}),(0,Ot.jsx)("td",{className:l.value,children:R})]},E)})}),m]}):(0,Ot.jsxs)("table",{className:l.container,children:[v,(0,Ot.jsx)("tbody",{children:e&&e.length?e.map((S,E)=>S?(0,Ot.jsxs)("tr",{className:l.row,children:[(0,Ot.jsx)("td",{className:l.label,style:n?{minWidth:n}:{},children:(0,Ot.jsx)(Hn,{enableDangerouslySetInnerHTML:r,defaultText:f,separator:c,children:S.label})}),(0,Ot.jsx)("td",{className:l.value,children:(0,Ot.jsx)(Hn,{enableDangerouslySetInnerHTML:r,defaultText:f,separator:c,children:S.value})})]},E):null):null}),m]})}var dE=A(D(),1);function jO(e){let t=It(),n=Ce(),i=Ua(),r=(0,cE.useMemo)(()=>{let a=t?.metadata||[],l=n?.metadata||[],u=i?.metadata||[];return[...a,...l,...u]},[t,n,i]);return(0,dE.jsx)(Jl,{metadata:r,...e})}var Rf=A(Q(),1);var fE=A(Q(),1);function bf(e,t={},n=[]){return(0,fE.useMemo)(()=>{if(!e)return null;let i=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(i="default"));let r=Kc(e);return Yc({identifier:r.identifier,server:r.server,scheme:r.scheme,type:"image",size:{max:!t.size?.width&&!t.size?.height,confined:!1,upscaled:!1,...t.size||{}},format:t.format||"jpg",region:t.region||{full:!0},rotation:t?.rotation?Number.isInteger(t.rotation)?{angle:t.rotation}:t.rotation:{angle:0},quality:i||"default",prefix:r.prefix,originalPath:r.originalPath})},[...n])}var eu=A(D(),1);function HO(e){let t=typeof e.src=="string"?e.src:e.src.id,n=bl(),[i,r]=(0,Rf.useState)(!1),a;if(t){let u=n.loadServiceSync({id:t});u&&(a=u)}!a&&!i&&n.loadService({id:t}).then(()=>{r(!0)});let l=bf(a,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[i,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return(0,Rf.useEffect)(()=>()=>{r(!1)},[t]),l?(0,eu.jsx)("img",{src:l,alt:e.alt,className:e.className,style:e.style}):(0,eu.jsx)(hE,{...e,fetchImageService:!1})}function hE(e){if(e.fetchImageService)return(0,eu.jsx)(HO,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,n=bf(t,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return n?(0,eu.jsx)("img",{src:n,alt:e.alt,className:e.className,style:e.style}):null}var Ef=A(Q(),1);var Xr=A(D(),1);function WO({src:e,errorFallback:t,interactive:n,skipSizes:i,children:r,renderViewerControls:a,viewControlsDeps:l,fluid:u,x:f,y:h,...c}){let[m,v]=(0,Ef.useState)(),w=t||vf,[y,S]=$l(),E=(0,Ef.useMemo)(()=>{let b=S[e]?.status,I=y({id:e},{});return I?.height&&I.width&&b!=="loading"?{id:e,width:I.width,height:I.height,service:I,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:I.width,height:I.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:I.width,height:I.height}}}:null},[y,e,S]);if(!E||!E.height||!E.width)return null;let R=u?void 0:c.homePosition?c.homePosition.width/c.homePosition.height:E.width/E.height;return(0,Xr.jsx)(na,{resetKeys:[],fallbackRender:b=>(0,Xr.jsx)(w,{...c,...b}),children:(0,Xr.jsx)(xf,{...c,aspectRatio:R,containerProps:{style:{position:"relative"},...c.containerProps||{}},onCreated:b=>{v(b),c.onCreated&&c.onCreated(b)},children:(0,Xr.jsxs)(Ci.Provider,{value:m,children:[(0,Xr.jsx)(qr,{image:E,id:E.id,isStatic:!n,x:f,y:h},E.id),(0,Xr.jsx)(UO,{viewerPreset:m,renderViewerControls:a,image:E,src:e,viewControlsDeps:l}),r]})})})}function UO({viewerPreset:e,renderViewerControls:t,image:n,src:i,viewControlsDeps:r}){return Kt(e&&t?"overlay":"none",`canvas-portal-controls-${i}`,Ci.Provider,t&&n?{value:e||null,children:t({image:n,images:[n],type:"images"})}:{},[i,e,...r||[]]),null}var pE=A(D(),1);function qO(e){let t=It();return(0,pE.jsx)(Jl,{metadata:t?.metadata||[],...e})}var If=A(Q(),1);var _y=A(gE(),1);var On=A(D(),1),{LazyLoadComponent:GO}=_y||_y.default;function Oy(e){let{size:t,visible:n,classes:i,canvasId:r,figure:a}=e,l=t?.width||128,u=t?.height||t?.width||128,f=(0,On.jsx)($O,{...e}),h=(0,On.jsx)(GO,{threshold:300,style:{height:u,width:l},visibleByDefault:n,children:r?(0,On.jsx)(ti,{canvas:r,children:f}):f});return a?(0,On.jsx)("figure",{className:i?.figure,children:h}):h}function $O({fallback:e,size:t,classes:n,showLabel:i,alt:r,dereference:a=!1}){let l=Ce(),u=t?.width||128,f=t?.height||t?.width||128,h=r||Ld(l?.label)||"",c=ar({width:u,height:f,allowUnsafe:!0},a);return!c||c.type!=="fixed"?(0,On.jsx)(On.Fragment,{children:e}):(0,On.jsxs)(On.Fragment,{children:[(0,On.jsx)("div",{className:n?.imageWrapper,children:(0,On.jsx)("img",{className:n?.img,src:c.id,alt:h})}),i?(0,On.jsx)(Hn,{as:"figcaption",className:n?.label,children:l?.label}):null]})}var oa=A(D(),1);function QO({scrollBehaviour:e,dereference:t,flat:n,size:i,classes:r={},showLabel:a,figure:l,fallback:u}){let f=(0,If.useRef)(null),{items:h,sequence:c,currentSequenceIndex:m,setSequenceIndex:v}=Io(),w={row:r.selected?.row||r.row,item:r.selected?.item||r.item,figure:r.selected?.figure||r.figure,img:r.selected?.img||r.img,label:r.selected?.label||r.label,imageWrapper:r.selected?.imageWrapper||r.imageWrapper};(0,If.useLayoutEffect)(()=>{if(!f.current)return;let S=f.current.querySelector("[data-selected=true]");S&&S.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[m]);let y=[];for(let S of c){let E=[],R=c[m]===S;for(let b of S){let I=h[b];E.push((0,oa.jsx)("div",{className:R?w.item:r.item,children:(0,oa.jsx)(Oy,{classes:R?w:r,canvasId:I.id,size:i,dereference:t,showLabel:a,figure:l,placeholder:(0,oa.jsx)("div",{style:{height:128,width:128}}),fallback:u})},b))}if(n){y.push(E);continue}y.push((0,oa.jsx)("div",{onClick:b=>{v(c.indexOf(S))},"data-selected":R,className:R?w.row:r.row,children:E},S.join("-")))}return(0,oa.jsx)("div",{ref:f,className:r.container,children:y})}function ky(){let e=st(),t=ve(e,a=>a.completeRequest),n=ve(e,a=>a.polygonState.currentTool),i=ve(e,a=>a.polygonState.selectedStamp),r=ve(e,a=>a.switchTool);return{completeRequest:t,currentTool:n,selectedStamp:i,switchTool:r}}var $t=A(D(),1),YO={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function KO({showShapes:e=!0,enabled:t=YO,classNames:n={},icons:i={}}){let{currentTool:r,switchTool:a,selectedStamp:l}=ky();return(0,$t.jsxs)($t.Fragment,{children:[r,(0,$t.jsx)("button",{className:n.button,onClick:a.pointer,"data-active":r==="pointer",children:i.PointerIcon||"Pointer"}),(0,$t.jsx)("button",{className:n.button,onClick:a.hand,"data-active":r==="hand",children:i.HandIcon||"Hand"}),e?(0,$t.jsxs)($t.Fragment,{children:[t.box&&(0,$t.jsx)("button",{className:n.button,onClick:a.box,"data-active":r==="box",children:i.BoxIcon||"Box"}),t.pen&&(0,$t.jsx)("button",{className:n.button,onClick:a.pen,"data-active":r==="pen",children:i.PenIcon||"Pen"}),t.draw&&(0,$t.jsx)("button",{className:n.button,onClick:a.draw,"data-active":r==="pencil",children:i.DrawIcon||"Draw"}),t.line&&(0,$t.jsx)("button",{className:n.button,onClick:a.line,"data-active":r==="line",children:i.LineIcon||"Line"}),t.lineBox&&(0,$t.jsx)("button",{className:n.button,onClick:a.lineBox,"data-active":r==="lineBox",children:i.LineBoxIcon||"LineBox"}),t.triangle&&(0,$t.jsx)("button",{className:n.button,onClick:a.triangle,"data-active":r==="stamp"&&l?.id==="triangle",children:i.TriangleIcon||"Triangle"}),t.hexagon&&(0,$t.jsx)("button",{className:n.button,onClick:a.hexagon,"data-active":r==="stamp"&&l?.id==="hexagon",children:i.HexagonIcon||"Hexagon"}),t.circle&&(0,$t.jsx)("button",{className:n.button,"data-active":r==="stamp"&&l?.id==="circle",onClick:a.circle,children:i.CircleIcon||"Circle"})]}):null,t.delete&&(0,$t.jsx)("button",{className:n.button,onClick:a.remove,children:i.DeleteForeverIcon||"Delete"})]})}var yE=A(D(),1);function XO({annotation:e,children:t}){return(0,yE.jsx)(dn,{value:{annotation:e},children:t})}var vE=A(D(),1);function ZO({annotationPage:e,children:t}){return(0,vE.jsx)(dn,{value:{annotationPage:e},children:t})}var xE=A(D(),1);function JO({collection:e,children:t}){return(0,xE.jsx)(dn,{value:{collection:e},children:t})}function ek(e,t={}){return $o(t)}var Zr=A(Q(),1);function tk({canvasId:e}={}){let t=Cd(),n=bo(),i=(0,Zr.useMemo)(()=>e?[e]:t?[t.id]:n.map(h=>h.id),[e,t,n]),[r,a]=(0,Zr.useState)({}),l=Nl();(0,Zr.useEffect)(()=>{let h=c=>{let m=c.partOf.canvasId;m&&a(v=>({...v,[m]:c.choice}))};return l.on("choice-change",h),()=>{l.off("choice-change",h)}},[]);let u=(0,Zr.useMemo)(()=>{let h=[];for(let c of i){let m=r[c];m&&h.push({canvasId:c,choice:m})}return h},[i,r]),f=(0,Zr.useMemo)(()=>({makeChoice:(h,c)=>{l.emit("make-choice",{choiceId:h,...c})}}),[l]);return{choices:u,actions:f}}function nk(e,t=!1){}function ik(e){let n=rn().manifest,i=e?e.map(r=>typeof r=="string"?r:r?.id):[];return qe(r=>{let a=n?r.iiif.entities.Manifest[n]:void 0,l=a?.items||[];if(typeof e>"u")return l;let u=[];for(let f of a?.items||[])i.indexOf(f.id)!==-1&&u.push(f);return u},[i.join("/")])}var SE=A(Q(),1);function rk(e,t=[]){let{id:n,selector:i}=e,r=rn(),a=n||r.collection,l=qe(u=>a?u.iiif.entities.Collection[a]:void 0,[a]);return(0,SE.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...t])}var Cf=A(Q(),1);function ok(){let e=st(),t=ve(e,i=>i.completeRequest),n=ve(e,i=>i.cancelRequest);return(0,Cf.useMemo)(()=>({saveAnnotation:()=>{(0,Cf.startTransition)(()=>{t()})},cancelRequest:n}),[t,n])}var wE=A(Q(),1);function sk({requestId:e}={}){let t=st(),n=ve(t,u=>u.metadata),i=ve(t,u=>u.tool.requestId),r=e||i,a=ve(t,u=>u.setMetadata),l=(0,wE.useCallback)(u=>a(u,r||void 0),[a,r]);return[r?n[r]||{}:{},l]}function ak(e){let t=st(),n=ve(t,i=>i.tool.requestId);Oo("polygons.start-transition",i=>{e.requestId&&n!==e.requestId||e?.onStart?.(i.transitionIntent)},[n,e.requestId]),Oo("polygons.end-transition",i=>{e.requestId&&n!==e.requestId||e?.onEnd?.(i.transitionIntent,i.response)},[n,e.requestId]),Oo("polygons.transition",i=>{e.requestId&&n!==e.requestId||e?.onTransition?.(i.transitionIntent)},[n,e.requestId])}var Pf=A(Q(),1);function lk(e,t,n,i,r=[]){let a=ze(),l=(0,Pf.useMemo)(()=>ml(a),[a]);(0,Pf.useEffect)(()=>{let u=e;return u?(l.addEventListener(u,t,n,i),()=>{l.removeEventListener(u,t,n)}):()=>{}},[l,e,t,...r])}function uk(e,t){let{id:n,isLoaded:i,error:r,resource:a,requestId:l,cached:u}=Wa(e,t);return{id:n,isLoaded:i,error:r,manifest:a,requestId:l,cached:u}}var qi=A(Q(),1);function Ly({cacheKey:e}={}){let t=Ce(),n=$o(),i=ze(),r=Us(),a=Lb(),[l,u]=(0,qi.useState)(void 0),[f,h]=(0,qi.useState)(!1),[c,m]=(0,qi.useState)("idle"),[v,w]=(0,qi.useState)(void 0),y=t?t.id:"undefined",S=(0,qi.useMemo)(()=>{try{if(t&&n.length){let R=n[0],b=i.get(R.body[0]),M=Lr(b)[0];return M&&r(M,{width:M.width||t.width,height:M.height||t.height},!0)||void 0}}catch(R){console.error(R)}},[y,e,t]),E=c==="success"&&l?l:S;return(0,qi.useEffect)(()=>{(async()=>{try{if(t&&n.length){let R=n[0],b=i.get(R.body[0]),M=Lr(b)[0];if(!M)return;h(!0),m("loading");try{let T=await a(M,{width:M.width||t.width,height:M.height||t.height})||void 0;u(T),m("success"),h(!1)}catch(T){m("error"),w(T)}}}catch(R){m("error"),w(R)}})()},[y,e]),(0,qi.useMemo)(()=>({data:E,isFetching:f,status:c,error:v}),[E,f,c,v])}function ck(){let e=Ly();return{isLoading:e.isFetching,tile:e.data?{id:e.data.id||e.data["@id"],width:e.data.width,height:e.data.height,imageService:e.data,thumbnail:void 0}:null}}var bE=A(Q(),1);function dk(){let e=ze();return(0,bE.useMemo)(()=>Vr(e),[e])}function fk(e,t){let{x:n,y:i,width:r,height:a}=e,{x:l,y:u}=t,{width:f,height:h}=t;return n+r>l&&n<l+f&&i+a>u&&i<u+h}var hk=!0,Fy="Invariant failed";function RE(e,t){if(!e){if(hk)throw new Error(Fy);var n=typeof t=="function"?t():t,i=n?"".concat(Fy,": ").concat(n):Fy;throw new Error(i)}}function pk(e,t){let n=e.boundingBox||Br(e.polygon);if(e.polygon&&!Bs(e.polygon.points)){let i=e.target||Vs(e.polygon,t);return RE(i?.type==="SvgSelector"),{type:"SvgSelector",points:e.polygon.points,spatial:{unit:"pixel",...n||{}},svgShape:e.polygon.open?"polyline":"polygon",svg:i.value}}return{type:"BoxSelector",spatial:n}}return VI(mk);})();
124
+ `}),(0,Cl.jsx)("iframe",{className:"video-yt",ref:i,src:`https://www.youtube.com/embed/${t.youTubeId}?enablejsapi=1&origin=${window.location.host}`,referrerPolicy:"no-referrer",sandbox:"allow-scripts allow-same-origin allow-presentation"})]}):null}function Zb({media:e,mediaControlsDeps:t,children:n}){let[{element:i,currentTime:r,progress:s},l,u]=Do({duration:e.duration});return Kt("overlay","video-element",g_,{element:i,media:e,playPause:u.playPause}),null}var tf=A(D(),1);function qg(){let{strategy:e}=gt(),{renderMediaControls:t,mediaControlsDeps:n}=mn();return e.type!=="media"||e.media.type!=="VideoYouTube"?null:(0,tf.jsxs)(Zb,{media:e.media,mediaControlsDeps:n,children:[(0,tf.jsx)(Ho,{}),t?t(e):null]})}var gf=A(Q(),1);var Yr=A(Q(),1);var sn=A(Q(),1);function Gg(e){let t=st(),n=ve(t,s=>s.polygons),i=ve(t,s=>s.polygonState),r=ve(t,s=>s.polygon);return Lo("atlas.polygon-render",({state:s,slowState:l,dt:u})=>{e(s,l,u)}),{currentShape:r,state:i,helper:n}}var Ve=A(D(),1),cr=ob(),Jb={shapeFill:"#ffffff33",shapeStroke:"#000",lineStroke:"#000",ghostLineStroke:"#0F0",activeLineStroke:"#4D7EEA",boundingBoxDottedStroke:"#0007",boundingBoxStroke:"#fffA",controlFill:"#fff"};function $g(e){let{image:t}=e,n={...Jb,...e.theme||{}},i=(0,sn.useRef)(),r=(0,sn.useRef)(),s=(0,sn.useRef)(),l=(0,sn.useRef)(),u=(0,sn.useRef)(),f=(0,sn.useRef)(),p=(0,sn.useRef)(),c=(0,sn.useRef)(),m=(0,sn.useRef)(),y=(0,sn.useRef)(),[w,v]=(0,sn.useState)(null),[S,E]=(0,sn.useState)(!1),{helper:R,state:b,currentShape:I}=Gg((G,K)=>{if(G.closestLineIndex,cr.updateTransitionBoundingBox(s.current,G,K),cr.updateBoundingBoxPolygon(i.current,G,K),cr.updateBoundingBoxPolygon(r.current,G,K),cr.updateTransitionShape(p.current,G,K),cr.updateClosestLinePointTransform(u.current,G,K),cr.updateSelectBox(l.current,G,K),cr.updatePointLine(c.current,G,K),cr.updateDrawPreview(f.current,G,K,3),cr.updateLineBox(m.current,G),v(G.transitionDirection),E(G.transitionRotate),G.closestLineIndex!==-1&&y.current){let ce=G.polygon,J=ce.points[G.closestLineIndex],te=ce.points[(G.closestLineIndex+1)%ce.points.length];J&&te&&y.current.setAttribute("points",`${J[0]},${J[1]} ${te[0]},${te[1]}`)}});(0,sn.useEffect)(()=>{let G=()=>{R.modifiers.reset()};return document.addEventListener("mouseleave",G),()=>{document.removeEventListener("mouseleave",G)}},[]);let M=(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsxs)("marker",{id:"dot",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:[(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.lineStroke,className:"marker"}),(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:n.controlFill})]}),(0,Ve.jsx)("marker",{id:"newdot",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.activeLineStroke,className:"marker"})}),(0,Ve.jsxs)("marker",{id:"selected",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:[(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"5",fill:n.lineStroke}),(0,Ve.jsx)("circle",{cx:"5",cy:"5",r:"3",fill:n.activeLineStroke})]}),(0,Ve.jsxs)("marker",{id:"resizer",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"6",markerHeight:"6",children:[(0,Ve.jsx)("rect",{width:"10",height:"10",fill:n.lineStroke}),(0,Ve.jsx)("rect",{x:"1",y:"1",width:"8",height:"8",fill:n.controlFill})]})]}),T=I?I.open?"polyline":"polygon":null,_=!b.showBoundingBox&&b.closestPoint!==null&&b.actionIntentType==="select-point",U=b.actionIntentType==="add-open-point",H=b.transitionIntentType==="split-line",Z=b.transitioning&&b.selectedStamp&&b.transitionIntentType==="stamp-shape",B=I&&T?(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsx)(T,{fill:(!b.transitioning||b.transitionIntentType==="select-multiple-points")&&!I.open?n.shapeFill:"none",strokeWidth:Z||b.showBoundingBox&&b.boxMode||b.transitioning&&b.transitionIntentType==="split-line"||b.transitioning&&b.transitionIntentType==="move-point"?0:2,stroke:n.shapeStroke,points:I.points.map(G=>G.join(",")).join(" "),vectorEffect:"non-scaling-stroke",markerStart:b.showBoundingBox?void 0:b.boxMode?"url(#resizer)":"url(#dot)",markerMid:b.showBoundingBox?void 0:b.boxMode?"url(#resizer)":"url(#dot)",markerEnd:b.showBoundingBox?void 0:b.boxMode?"url(#resizer)":"url(#dot)",style:{pointerEvents:"none"},opacity:b.transitioning&&b.transitionIntentType==="move-shape"?0:1}),b.currentTool==="lineBox"&&b.actionIntentType==="close-line-box"?(0,Ve.jsx)("polygon",{fill:n.shapeFill,ref:m,stroke:n.lineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,b.transitionIntentType==="draw-shape"&&b.transitioning?(0,Ve.jsx)("polyline",{ref:f,fill:"none",stroke:n.activeLineStroke,strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,!(b.transitioning&&b.transitionIntentType==="move-point")&&!(b.transitioning&&b.transitionIntentType==="stamp-shape")&&!b.showBoundingBox&&b.selectedPoints&&b.selectedPoints.length?(0,Ve.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:"url(#selected)",markerMid:"url(#selected)",markerEnd:"url(#selected)",fill:"transparent",points:I.points.filter((G,K)=>b.selectedPoints?.includes(K)).map(G=>G.join(",")).join(" "),opacity:b.transitioning&&b.transitionIntentType==="move-shape"?0:1}):null,_&&!b.transitioning&&b.closestPoint!==null&&I.points[b.closestPoint]?(0,Ve.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:"url(#selected)",markerMid:"url(#selected)",markerEnd:"url(#selected)",fill:n.activeLineStroke,points:`${I.points[b.closestPoint][0]},${I.points[b.closestPoint][1]}`,opacity:b.transitioning&&b.transitionIntentType==="move-shape"?0:1}):null,!b.transitioning&&(b.actionIntentType==="add-open-point"||b.actionIntentType==="close-shape"||b.actionIntentType==="close-shape-line")?(0,Ve.jsx)("polyline",{stroke:n.activeLineStroke,ref:c,strokeWidth:b.actionIntentType==="add-open-point"?1:2,vectorEffect:"non-scaling-stroke"}):null,b.hasClosestLine&&!b.showBoundingBox&&!b.transitioning&&b.currentTool!=="box"&&b.transitionIntentType==="split-line"?(0,Ve.jsx)("g",{children:(0,Ve.jsx)("polyline",{ref:y,vectorEffect:"non-scaling-stroke",fill:"transparent",stroke:n.activeLineStroke,strokeWidth:3})}):null,b.hasClosestLine&&!b.showBoundingBox&&!b.transitioning&&b.currentTool!=="box"&&b.transitionIntentType==="split-line"?(0,Ve.jsx)("g",{ref:u,children:(0,Ve.jsx)("polyline",{markerStart:"url(#newdot)",points:"0,0 1,1",vectorEffect:"non-scaling-stroke",stroke:"transparent",fill:"transparent",strokeWidth:2})}):null,b.transitioning?(0,Ve.jsx)(T,{ref:p,fill:I.open?"none":n.shapeFill,stroke:b.transitionIntentType==="stamp-shape"?n.activeLineStroke:n.shapeStroke,vectorEffect:"non-scaling-stroke",strokeWidth:(I.open,2)}):null,b.transitioning&&b.transitionIntentType==="select-multiple-points"?(0,Ve.jsx)("rect",{ref:l,fill:"rgba(255, 255, 255, .3)",strokeWidth:1,stroke:"rgba(0,0,0,.2)",vectorEffect:"non-scaling-stroke"}):null,b.showBoundingBox&&!Z?(0,Ve.jsxs)(Ve.Fragment,{children:[(0,Ve.jsx)("polygon",{ref:i,strokeWidth:2,stroke:n.boundingBoxStroke,fill:"none",markerStart:"url(#resizer)",markerMid:"url(#resizer)",markerEnd:"url(#resizer)",vectorEffect:"non-scaling-stroke"}),(0,Ve.jsx)("polygon",{ref:r,strokeWidth:2,stroke:n.boundingBoxDottedStroke,fill:"none",strokeDasharray:"4 4",markerStart:"url(#resizer)",markerMid:"url(#resizer)",markerEnd:"url(#resizer)",vectorEffect:"non-scaling-stroke"})]}):null]}):null;return{currentTool:R.state.slowState.currentTool,setCurrentTool:R.tools.setTool,helper:R,currentShape:I,state:b,isAddingPoint:U,isSplitting:H,isStamping:Z,isHoveringPoint:_,transitionDirection:w,transitionRotate:S,defs:M,editor:B}}var Qr=A(D(),1);function eR(e){let t=Id(),{image:n}=e,{helper:i,defs:r,editor:s,state:l,transitionDirection:u,isSplitting:f,transitionRotate:p,isHoveringPoint:c,isAddingPoint:m}=$g({image:e.image,theme:e.theme}),y=(0,Yr.useCallback)(S=>{S.button!==2&&i.pointer([[~~S.atlas.x,~~S.atlas.y]])},[i]),w=(0,Yr.useCallback)(S=>{S.button!==2&&i.pointerDown()},[i]),v=(0,Yr.useCallback)(S=>{S.button!==2&&i.pointerUp()},[i]);return(0,Yr.useEffect)(()=>{let S=E=>{i.key.up(E.key)};return document.addEventListener("keyup",S),()=>{document.removeEventListener("keyup",S)}},[i]),(0,Yr.useEffect)(()=>{let S=E=>{E.target&&["INPUT","TEXTAREA"].includes(E.target.tagName)||E.target?.isContentEditable||document.activeElement&&(document.activeElement instanceof HTMLInputElement||document.activeElement instanceof HTMLTextAreaElement||document.activeElement.isContentEditable)||i.key.down(E.key)};return document.addEventListener("keydown",S),()=>{document.removeEventListener("keydown",S)}},[i]),(0,Yr.useEffect)(()=>{let S=[];return u&&S.push(`atlas-cursor-${u}`),l.actionIntentType==="cut-line"&&l.modifiers?.Shift&&S.push("atlas-cursor-cut"),(c||l.transitionIntentType==="move-shape"||l.transitionIntentType==="move-point")&&S.push("atlas-cursor-move"),m&&S.push("atlas-cursor-crosshair"),f&&S.push("atlas-cursor-copy"),p&&S.push("atlas-cursor-rotate"),l.transitionIntentType==="draw-shape"&&S.push("atlas-cursor-draw"),t?.canvas&&t.canvas.classList.add(...S),()=>{t?.canvas&&t.canvas.classList.remove(...S)}},[t?.canvas,m,c,f,l.modifiers?.Shift,l.actionIntentType,l.transitionIntentType,u,p]),(0,Qr.jsx)("world-object",{height:n.height,width:n.width,onMouseMove:y,onMouseDown:w,onMouseUp:v,onMouseLeave:i.blur,children:(0,Qr.jsx)(jn,{relative:!0,interactive:!1,children:(0,Qr.jsx)("div",{className:"absolute top-0 right-0 left-0 bottom-0",children:(0,Qr.jsxs)("svg",{width:"100%",height:"100%",viewBox:`0 0 ${n.width} ${n.height}`,tabIndex:-1,children:[(0,Qr.jsx)("title",{children:"Annotation Editor"}),(0,Qr.jsx)("defs",{children:r}),s]})})})})}var XR=A(Q(),1);var Ae=A(Q(),1);function nf(){return typeof window<"u"}function Kr(e){return tR(e)?(e.nodeName||"").toLowerCase():"#document"}function gn(e){var t;return(e==null||(t=e.ownerDocument)==null?void 0:t.defaultView)||window}function Ti(e){var t;return(t=(tR(e)?e.ownerDocument:e.document)||window.document)==null?void 0:t.documentElement}function tR(e){return nf()?e instanceof Node||e instanceof gn(e).Node:!1}function yt(e){return nf()?e instanceof Element||e instanceof gn(e).Element:!1}function Mn(e){return nf()?e instanceof HTMLElement||e instanceof gn(e).HTMLElement:!1}function Pl(e){return!nf()||typeof ShadowRoot>"u"?!1:e instanceof ShadowRoot||e instanceof gn(e).ShadowRoot}var y_=new Set(["inline","contents"]);function Ks(e){let{overflow:t,overflowX:n,overflowY:i,display:r}=_n(e);return/auto|scroll|overlay|hidden|clip/.test(t+i+n)&&!y_.has(r)}var v_=new Set(["table","td","th"]);function nR(e){return v_.has(Kr(e))}var x_=[":popover-open",":modal"];function Al(e){return x_.some(t=>{try{return e.matches(t)}catch{return!1}})}var S_=["transform","translate","scale","rotate","perspective"],w_=["transform","translate","scale","rotate","perspective","filter"],b_=["paint","layout","strict","content"];function rf(e){let t=Xs(),n=yt(e)?_n(e):e;return S_.some(i=>n[i]?n[i]!=="none":!1)||(n.containerType?n.containerType!=="normal":!1)||!t&&(n.backdropFilter?n.backdropFilter!=="none":!1)||!t&&(n.filter?n.filter!=="none":!1)||w_.some(i=>(n.willChange||"").includes(i))||b_.some(i=>(n.contain||"").includes(i))}function iR(e){let t=Ai(e);for(;Mn(t)&&!Mi(t);){if(rf(t))return t;if(Al(t))return null;t=Ai(t)}return null}function Xs(){return typeof CSS>"u"||!CSS.supports?!1:CSS.supports("-webkit-backdrop-filter","none")}var R_=new Set(["html","body","#document"]);function Mi(e){return R_.has(Kr(e))}function _n(e){return gn(e).getComputedStyle(e)}function Tl(e){return yt(e)?{scrollLeft:e.scrollLeft,scrollTop:e.scrollTop}:{scrollLeft:e.scrollX,scrollTop:e.scrollY}}function Ai(e){if(Kr(e)==="html")return e;let t=e.assignedSlot||e.parentNode||Pl(e)&&e.host||Ti(e);return Pl(t)?t.host:t}function rR(e){let t=Ai(e);return Mi(t)?e.ownerDocument?e.ownerDocument.body:e.body:Mn(t)&&Ks(t)?t:rR(t)}function Un(e,t,n){var i;t===void 0&&(t=[]),n===void 0&&(n=!0);let r=rR(e),s=r===((i=e.ownerDocument)==null?void 0:i.body),l=gn(r);if(s){let u=of(l);return t.concat(l,l.visualViewport||[],Ks(r)?r:[],u&&n?Un(u):[])}return t.concat(r,Un(r,[],n))}function of(e){return e.parent&&Object.getPrototypeOf(e.parent)?e.frameElement:null}var Fl=A(Q(),1),dR=A(Q(),1);var Zs=Math.min,dr=Math.max,_l=Math.round,Ol=Math.floor,_i=e=>({x:e,y:e}),E_={left:"right",right:"left",bottom:"top",top:"bottom"},I_={start:"end",end:"start"};function Qg(e,t,n){return dr(e,Zs(t,n))}function kl(e,t){return typeof e=="function"?e(t):e}function Xr(e){return e.split("-")[0]}function Ll(e){return e.split("-")[1]}function Yg(e){return e==="x"?"y":"x"}function Kg(e){return e==="y"?"height":"width"}var C_=new Set(["top","bottom"]);function fr(e){return C_.has(Xr(e))?"y":"x"}function Xg(e){return Yg(fr(e))}function aR(e,t,n){n===void 0&&(n=!1);let i=Ll(e),r=Xg(e),s=Kg(r),l=r==="x"?i===(n?"end":"start")?"right":"left":i==="start"?"bottom":"top";return t.reference[s]>t.floating[s]&&(l=Ml(l)),[l,Ml(l)]}function lR(e){let t=Ml(e);return[sf(e),t,sf(t)]}function sf(e){return e.replace(/start|end/g,t=>I_[t])}var oR=["left","right"],sR=["right","left"],P_=["top","bottom"],A_=["bottom","top"];function T_(e,t,n){switch(e){case"top":case"bottom":return n?t?sR:oR:t?oR:sR;case"left":case"right":return t?P_:A_;default:return[]}}function uR(e,t,n,i){let r=Ll(e),s=T_(Xr(e),n==="start",i);return r&&(s=s.map(l=>l+"-"+r),t&&(s=s.concat(s.map(sf)))),s}function Ml(e){return e.replace(/left|right|bottom|top/g,t=>E_[t])}function M_(e){return{top:0,right:0,bottom:0,left:0,...e}}function cR(e){return typeof e!="number"?M_(e):{top:e,right:e,bottom:e,left:e}}function qo(e){let{x:t,y:n,width:i,height:r}=e;return{width:i,height:r,top:n,left:t,right:t+i,bottom:n+r,x:t,y:n}}function Zg(e,t){if(!e||!t)return!1;let n=t.getRootNode==null?void 0:t.getRootNode();if(e.contains(t))return!0;if(n&&Pl(n)){let i=t;for(;i;){if(e===i)return!0;i=i.parentNode||i.host}}return!1}function Js(e){return"composedPath"in e?e.composedPath()[0]:e.target}function af(e,t){if(t==null)return!1;if("composedPath"in e)return e.composedPath().includes(t);let n=e;return n.target!=null&&t.contains(n.target)}function fR(e){return e.matches("html,body")}function Jg(e){return e?.ownerDocument||document}function Nl(e,t,n){return n===void 0&&(n=!0),e.filter(r=>{var s;return r.parentId===t&&(!n||((s=r.context)==null?void 0:s.open))}).flatMap(r=>[r,...Nl(e,r.id,n)])}function hR(e){return"nativeEvent"in e}var __=typeof document<"u",O_=function(){},lf=__?dR.useLayoutEffect:O_,k_={...Fl};var L_=k_.useInsertionEffect,F_=L_||(e=>e());function Go(e){let t=Fl.useRef(()=>{});return F_(()=>{t.current=e}),Fl.useCallback(function(){for(var n=arguments.length,i=new Array(n),r=0;r<n;r++)i[r]=arguments[r];return t.current==null?void 0:t.current(...i)},[])}var uy=A(D(),1);var jR=A(Oo(),1);function pR(e,t,n){let{reference:i,floating:r}=e,s=fr(t),l=Xg(t),u=Kg(l),f=Xr(t),p=s==="y",c=i.x+i.width/2-r.width/2,m=i.y+i.height/2-r.height/2,y=i[u]/2-r[u]/2,w;switch(f){case"top":w={x:c,y:i.y-r.height};break;case"bottom":w={x:c,y:i.y+i.height};break;case"right":w={x:i.x+i.width,y:m};break;case"left":w={x:i.x-r.width,y:m};break;default:w={x:i.x,y:i.y}}switch(Ll(t)){case"start":w[l]-=y*(n&&p?-1:1);break;case"end":w[l]+=y*(n&&p?-1:1);break}return w}var mR=async(e,t,n)=>{let{placement:i="bottom",strategy:r="absolute",middleware:s=[],platform:l}=n,u=s.filter(Boolean),f=await(l.isRTL==null?void 0:l.isRTL(t)),p=await l.getElementRects({reference:e,floating:t,strategy:r}),{x:c,y:m}=pR(p,i,f),y=i,w={},v=0;for(let S=0;S<u.length;S++){let{name:E,fn:R}=u[S],{x:b,y:I,data:M,reset:T}=await R({x:c,y:m,initialPlacement:i,placement:y,strategy:r,middlewareData:w,rects:p,platform:l,elements:{reference:e,floating:t}});c=b??c,m=I??m,w={...w,[E]:{...w[E],...M}},T&&v<=50&&(v++,typeof T=="object"&&(T.placement&&(y=T.placement),T.rects&&(p=T.rects===!0?await l.getElementRects({reference:e,floating:t,strategy:r}):T.rects),{x:c,y:m}=pR(p,y,f)),S=-1)}return{x:c,y:m,placement:y,strategy:r,middlewareData:w}};async function ey(e,t){var n;t===void 0&&(t={});let{x:i,y:r,platform:s,rects:l,elements:u,strategy:f}=e,{boundary:p="clippingAncestors",rootBoundary:c="viewport",elementContext:m="floating",altBoundary:y=!1,padding:w=0}=kl(t,e),v=cR(w),E=u[y?m==="floating"?"reference":"floating":m],R=qo(await s.getClippingRect({element:(n=await(s.isElement==null?void 0:s.isElement(E)))==null||n?E:E.contextElement||await(s.getDocumentElement==null?void 0:s.getDocumentElement(u.floating)),boundary:p,rootBoundary:c,strategy:f})),b=m==="floating"?{x:i,y:r,width:l.floating.width,height:l.floating.height}:l.reference,I=await(s.getOffsetParent==null?void 0:s.getOffsetParent(u.floating)),M=await(s.isElement==null?void 0:s.isElement(I))?await(s.getScale==null?void 0:s.getScale(I))||{x:1,y:1}:{x:1,y:1},T=qo(s.convertOffsetParentRelativeRectToViewportRelativeRect?await s.convertOffsetParentRelativeRectToViewportRelativeRect({elements:u,rect:b,offsetParent:I,strategy:f}):b);return{top:(R.top-T.top+v.top)/M.y,bottom:(T.bottom-R.bottom+v.bottom)/M.y,left:(R.left-T.left+v.left)/M.x,right:(T.right-R.right+v.right)/M.x}}var gR=function(e){return e===void 0&&(e={}),{name:"flip",options:e,async fn(t){var n,i;let{placement:r,middlewareData:s,rects:l,initialPlacement:u,platform:f,elements:p}=t,{mainAxis:c=!0,crossAxis:m=!0,fallbackPlacements:y,fallbackStrategy:w="bestFit",fallbackAxisSideDirection:v="none",flipAlignment:S=!0,...E}=kl(e,t);if((n=s.arrow)!=null&&n.alignmentOffset)return{};let R=Xr(r),b=fr(u),I=Xr(u)===u,M=await(f.isRTL==null?void 0:f.isRTL(p.floating)),T=y||(I||!S?[Ml(u)]:lR(u)),_=v!=="none";!y&&_&&T.push(...uR(u,S,v,M));let U=[u,...T],H=await ey(t,E),Z=[],B=((i=s.flip)==null?void 0:i.overflows)||[];if(c&&Z.push(H[R]),m){let J=aR(r,l,M);Z.push(H[J[0]],H[J[1]])}if(B=[...B,{placement:r,overflows:Z}],!Z.every(J=>J<=0)){var G,K;let J=(((G=s.flip)==null?void 0:G.index)||0)+1,te=U[J];if(te&&(!(m==="alignment"?b!==fr(te):!1)||B.every(de=>de.overflows[0]>0&&fr(de.placement)===b)))return{data:{index:J,overflows:B},reset:{placement:te}};let oe=(K=B.filter(Re=>Re.overflows[0]<=0).sort((Re,de)=>Re.overflows[1]-de.overflows[1])[0])==null?void 0:K.placement;if(!oe)switch(w){case"bestFit":{var ce;let Re=(ce=B.filter(de=>{if(_){let N=fr(de.placement);return N===b||N==="y"}return!0}).map(de=>[de.placement,de.overflows.filter(N=>N>0).reduce((N,re)=>N+re,0)]).sort((de,N)=>de[1]-N[1])[0])==null?void 0:ce[0];Re&&(oe=Re);break}case"initialPlacement":oe=u;break}if(r!==oe)return{reset:{placement:oe}}}return{}}}};var N_=new Set(["left","top"]);async function z_(e,t){let{placement:n,platform:i,elements:r}=e,s=await(i.isRTL==null?void 0:i.isRTL(r.floating)),l=Xr(n),u=Ll(n),f=fr(n)==="y",p=N_.has(l)?-1:1,c=s&&f?-1:1,m=kl(t,e),{mainAxis:y,crossAxis:w,alignmentAxis:v}=typeof m=="number"?{mainAxis:m,crossAxis:0,alignmentAxis:null}:{mainAxis:m.mainAxis||0,crossAxis:m.crossAxis||0,alignmentAxis:m.alignmentAxis};return u&&typeof v=="number"&&(w=u==="end"?v*-1:v),f?{x:w*c,y:y*p}:{x:y*p,y:w*c}}var yR=function(e){return e===void 0&&(e=0),{name:"offset",options:e,async fn(t){var n,i;let{x:r,y:s,placement:l,middlewareData:u}=t,f=await z_(t,e);return l===((n=u.offset)==null?void 0:n.placement)&&(i=u.arrow)!=null&&i.alignmentOffset?{}:{x:r+f.x,y:s+f.y,data:{...f,placement:l}}}}},vR=function(e){return e===void 0&&(e={}),{name:"shift",options:e,async fn(t){let{x:n,y:i,placement:r}=t,{mainAxis:s=!0,crossAxis:l=!1,limiter:u={fn:E=>{let{x:R,y:b}=E;return{x:R,y:b}}},...f}=kl(e,t),p={x:n,y:i},c=await ey(t,f),m=fr(Xr(r)),y=Yg(m),w=p[y],v=p[m];if(s){let E=y==="y"?"top":"left",R=y==="y"?"bottom":"right",b=w+c[E],I=w-c[R];w=Qg(b,w,I)}if(l){let E=m==="y"?"top":"left",R=m==="y"?"bottom":"right",b=v+c[E],I=v-c[R];v=Qg(b,v,I)}let S=u.fn({...t,[y]:w,[m]:v});return{...S,data:{x:S.x-n,y:S.y-i,enabled:{[y]:s,[m]:l}}}}}};function wR(e){let t=_n(e),n=parseFloat(t.width)||0,i=parseFloat(t.height)||0,r=Mn(e),s=r?e.offsetWidth:n,l=r?e.offsetHeight:i,u=_l(n)!==s||_l(i)!==l;return u&&(n=s,i=l),{width:n,height:i,$:u}}function ny(e){return yt(e)?e:e.contextElement}function ea(e){let t=ny(e);if(!Mn(t))return _i(1);let n=t.getBoundingClientRect(),{width:i,height:r,$:s}=wR(t),l=(s?_l(n.width):n.width)/i,u=(s?_l(n.height):n.height)/r;return(!l||!Number.isFinite(l))&&(l=1),(!u||!Number.isFinite(u))&&(u=1),{x:l,y:u}}var D_=_i(0);function bR(e){let t=gn(e);return!Xs()||!t.visualViewport?D_:{x:t.visualViewport.offsetLeft,y:t.visualViewport.offsetTop}}function B_(e,t,n){return t===void 0&&(t=!1),!n||t&&n!==gn(e)?!1:t}function $o(e,t,n,i){t===void 0&&(t=!1),n===void 0&&(n=!1);let r=e.getBoundingClientRect(),s=ny(e),l=_i(1);t&&(i?yt(i)&&(l=ea(i)):l=ea(e));let u=B_(s,n,i)?bR(s):_i(0),f=(r.left+u.x)/l.x,p=(r.top+u.y)/l.y,c=r.width/l.x,m=r.height/l.y;if(s){let y=gn(s),w=i&&yt(i)?gn(i):i,v=y,S=of(v);for(;S&&i&&w!==v;){let E=ea(S),R=S.getBoundingClientRect(),b=_n(S),I=R.left+(S.clientLeft+parseFloat(b.paddingLeft))*E.x,M=R.top+(S.clientTop+parseFloat(b.paddingTop))*E.y;f*=E.x,p*=E.y,c*=E.x,m*=E.y,f+=I,p+=M,v=gn(S),S=of(v)}}return qo({width:c,height:m,x:f,y:p})}function iy(e,t){let n=Tl(e).scrollLeft;return t?t.left+n:$o(Ti(e)).left+n}function RR(e,t,n){n===void 0&&(n=!1);let i=e.getBoundingClientRect(),r=i.left+t.scrollLeft-(n?0:iy(e,i)),s=i.top+t.scrollTop;return{x:r,y:s}}function V_(e){let{elements:t,rect:n,offsetParent:i,strategy:r}=e,s=r==="fixed",l=Ti(i),u=t?Al(t.floating):!1;if(i===l||u&&s)return n;let f={scrollLeft:0,scrollTop:0},p=_i(1),c=_i(0),m=Mn(i);if((m||!m&&!s)&&((Kr(i)!=="body"||Ks(l))&&(f=Tl(i)),Mn(i))){let w=$o(i);p=ea(i),c.x=w.x+i.clientLeft,c.y=w.y+i.clientTop}let y=l&&!m&&!s?RR(l,f,!0):_i(0);return{width:n.width*p.x,height:n.height*p.y,x:n.x*p.x-f.scrollLeft*p.x+c.x+y.x,y:n.y*p.y-f.scrollTop*p.y+c.y+y.y}}function j_(e){return Array.from(e.getClientRects())}function H_(e){let t=Ti(e),n=Tl(e),i=e.ownerDocument.body,r=dr(t.scrollWidth,t.clientWidth,i.scrollWidth,i.clientWidth),s=dr(t.scrollHeight,t.clientHeight,i.scrollHeight,i.clientHeight),l=-n.scrollLeft+iy(e),u=-n.scrollTop;return _n(i).direction==="rtl"&&(l+=dr(t.clientWidth,i.clientWidth)-r),{width:r,height:s,x:l,y:u}}function W_(e,t){let n=gn(e),i=Ti(e),r=n.visualViewport,s=i.clientWidth,l=i.clientHeight,u=0,f=0;if(r){s=r.width,l=r.height;let p=Xs();(!p||p&&t==="fixed")&&(u=r.offsetLeft,f=r.offsetTop)}return{width:s,height:l,x:u,y:f}}var U_=new Set(["absolute","fixed"]);function q_(e,t){let n=$o(e,!0,t==="fixed"),i=n.top+e.clientTop,r=n.left+e.clientLeft,s=Mn(e)?ea(e):_i(1),l=e.clientWidth*s.x,u=e.clientHeight*s.y,f=r*s.x,p=i*s.y;return{width:l,height:u,x:f,y:p}}function xR(e,t,n){let i;if(t==="viewport")i=W_(e,n);else if(t==="document")i=H_(Ti(e));else if(yt(t))i=q_(t,n);else{let r=bR(e);i={x:t.x-r.x,y:t.y-r.y,width:t.width,height:t.height}}return qo(i)}function ER(e,t){let n=Ai(e);return n===t||!yt(n)||Mi(n)?!1:_n(n).position==="fixed"||ER(n,t)}function G_(e,t){let n=t.get(e);if(n)return n;let i=Un(e,[],!1).filter(u=>yt(u)&&Kr(u)!=="body"),r=null,s=_n(e).position==="fixed",l=s?Ai(e):e;for(;yt(l)&&!Mi(l);){let u=_n(l),f=rf(l);!f&&u.position==="fixed"&&(r=null),(s?!f&&!r:!f&&u.position==="static"&&!!r&&U_.has(r.position)||Ks(l)&&!f&&ER(e,l))?i=i.filter(c=>c!==l):r=u,l=Ai(l)}return t.set(e,i),i}function $_(e){let{element:t,boundary:n,rootBoundary:i,strategy:r}=e,l=[...n==="clippingAncestors"?Al(t)?[]:G_(t,this._c):[].concat(n),i],u=l[0],f=l.reduce((p,c)=>{let m=xR(t,c,r);return p.top=dr(m.top,p.top),p.right=Zs(m.right,p.right),p.bottom=Zs(m.bottom,p.bottom),p.left=dr(m.left,p.left),p},xR(t,u,r));return{width:f.right-f.left,height:f.bottom-f.top,x:f.left,y:f.top}}function Q_(e){let{width:t,height:n}=wR(e);return{width:t,height:n}}function Y_(e,t,n){let i=Mn(t),r=Ti(t),s=n==="fixed",l=$o(e,!0,s,t),u={scrollLeft:0,scrollTop:0},f=_i(0);function p(){f.x=iy(r)}if(i||!i&&!s)if((Kr(t)!=="body"||Ks(r))&&(u=Tl(t)),i){let w=$o(t,!0,s,t);f.x=w.x+t.clientLeft,f.y=w.y+t.clientTop}else r&&p();s&&!i&&r&&p();let c=r&&!i&&!s?RR(r,u):_i(0),m=l.left+u.scrollLeft-f.x-c.x,y=l.top+u.scrollTop-f.y-c.y;return{x:m,y,width:l.width,height:l.height}}function ty(e){return _n(e).position==="static"}function SR(e,t){if(!Mn(e)||_n(e).position==="fixed")return null;if(t)return t(e);let n=e.offsetParent;return Ti(e)===n&&(n=n.ownerDocument.body),n}function IR(e,t){let n=gn(e);if(Al(e))return n;if(!Mn(e)){let r=Ai(e);for(;r&&!Mi(r);){if(yt(r)&&!ty(r))return r;r=Ai(r)}return n}let i=SR(e,t);for(;i&&nR(i)&&ty(i);)i=SR(i,t);return i&&Mi(i)&&ty(i)&&!rf(i)?n:i||iR(e)||n}var K_=async function(e){let t=this.getOffsetParent||IR,n=this.getDimensions,i=await n(e.floating);return{reference:Y_(e.reference,await t(e.floating),e.strategy),floating:{x:0,y:0,width:i.width,height:i.height}}};function X_(e){return _n(e).direction==="rtl"}var ry={convertOffsetParentRelativeRectToViewportRelativeRect:V_,getDocumentElement:Ti,getClippingRect:$_,getOffsetParent:IR,getElementRects:K_,getClientRects:j_,getDimensions:Q_,getScale:ea,isElement:yt,isRTL:X_};function CR(e,t){return e.x===t.x&&e.y===t.y&&e.width===t.width&&e.height===t.height}function Z_(e,t){let n=null,i,r=Ti(e);function s(){var u;clearTimeout(i),(u=n)==null||u.disconnect(),n=null}function l(u,f){u===void 0&&(u=!1),f===void 0&&(f=1),s();let p=e.getBoundingClientRect(),{left:c,top:m,width:y,height:w}=p;if(u||t(),!y||!w)return;let v=Ol(m),S=Ol(r.clientWidth-(c+y)),E=Ol(r.clientHeight-(m+w)),R=Ol(c),I={rootMargin:-v+"px "+-S+"px "+-E+"px "+-R+"px",threshold:dr(0,Zs(1,f))||1},M=!0;function T(_){let U=_[0].intersectionRatio;if(U!==f){if(!M)return l();U?l(!1,U):i=setTimeout(()=>{l(!1,1e-7)},1e3)}U===1&&!CR(p,e.getBoundingClientRect())&&l(),M=!1}try{n=new IntersectionObserver(T,{...I,root:r.ownerDocument})}catch{n=new IntersectionObserver(T,I)}n.observe(e)}return l(!0),s}function uf(e,t,n,i){i===void 0&&(i={});let{ancestorScroll:r=!0,ancestorResize:s=!0,elementResize:l=typeof ResizeObserver=="function",layoutShift:u=typeof IntersectionObserver=="function",animationFrame:f=!1}=i,p=ny(e),c=r||s?[...p?Un(p):[],...Un(t)]:[];c.forEach(R=>{r&&R.addEventListener("scroll",n,{passive:!0}),s&&R.addEventListener("resize",n)});let m=p&&u?Z_(p,n):null,y=-1,w=null;l&&(w=new ResizeObserver(R=>{let[b]=R;b&&b.target===p&&w&&(w.unobserve(t),cancelAnimationFrame(y),y=requestAnimationFrame(()=>{var I;(I=w)==null||I.observe(t)})),n()}),p&&!f&&w.observe(p),w.observe(t));let v,S=f?$o(e):null;f&&E();function E(){let R=$o(e);S&&!CR(S,R)&&n(),S=R,v=requestAnimationFrame(E)}return n(),()=>{var R;c.forEach(b=>{r&&b.removeEventListener("scroll",n),s&&b.removeEventListener("resize",n)}),m?.(),(R=w)==null||R.disconnect(),w=null,f&&cancelAnimationFrame(v)}}var PR=yR;var AR=vR,TR=gR;var cf=(e,t,n)=>{let i=new Map,r={platform:ry,...n},s={...r.platform,_c:i};return mR(e,t,{...r,platform:s})};var Ot=A(Q(),1),OR=A(Q(),1),kR=A(Oo(),1),J_=typeof document<"u",eO=function(){},df=J_?OR.useLayoutEffect:eO;function ff(e,t){if(e===t)return!0;if(typeof e!=typeof t)return!1;if(typeof e=="function"&&e.toString()===t.toString())return!0;let n,i,r;if(e&&t&&typeof e=="object"){if(Array.isArray(e)){if(n=e.length,n!==t.length)return!1;for(i=n;i--!==0;)if(!ff(e[i],t[i]))return!1;return!0}if(r=Object.keys(e),n=r.length,n!==Object.keys(t).length)return!1;for(i=n;i--!==0;)if(!{}.hasOwnProperty.call(t,r[i]))return!1;for(i=n;i--!==0;){let s=r[i];if(!(s==="_owner"&&e.$$typeof)&&!ff(e[s],t[s]))return!1}return!0}return e!==e&&t!==t}function LR(e){return typeof window>"u"?1:(e.ownerDocument.defaultView||window).devicePixelRatio||1}function MR(e,t){let n=LR(e);return Math.round(t*n)/n}function oy(e){let t=Ot.useRef(e);return df(()=>{t.current=e}),t}function FR(e){e===void 0&&(e={});let{placement:t="bottom",strategy:n="absolute",middleware:i=[],platform:r,elements:{reference:s,floating:l}={},transform:u=!0,whileElementsMounted:f,open:p}=e,[c,m]=Ot.useState({x:0,y:0,strategy:n,placement:t,middlewareData:{},isPositioned:!1}),[y,w]=Ot.useState(i);ff(y,i)||w(i);let[v,S]=Ot.useState(null),[E,R]=Ot.useState(null),b=Ot.useCallback(de=>{de!==_.current&&(_.current=de,S(de))},[]),I=Ot.useCallback(de=>{de!==U.current&&(U.current=de,R(de))},[]),M=s||v,T=l||E,_=Ot.useRef(null),U=Ot.useRef(null),H=Ot.useRef(c),Z=f!=null,B=oy(f),G=oy(r),K=oy(p),ce=Ot.useCallback(()=>{if(!_.current||!U.current)return;let de={placement:t,strategy:n,middleware:y};G.current&&(de.platform=G.current),cf(_.current,U.current,de).then(N=>{let re={...N,isPositioned:K.current!==!1};J.current&&!ff(H.current,re)&&(H.current=re,kR.flushSync(()=>{m(re)}))})},[y,t,n,G,K]);df(()=>{p===!1&&H.current.isPositioned&&(H.current.isPositioned=!1,m(de=>({...de,isPositioned:!1})))},[p]);let J=Ot.useRef(!1);df(()=>(J.current=!0,()=>{J.current=!1}),[]),df(()=>{if(M&&(_.current=M),T&&(U.current=T),M&&T){if(B.current)return B.current(M,T,ce);ce()}},[M,T,ce,B,Z]);let te=Ot.useMemo(()=>({reference:_,floating:U,setReference:b,setFloating:I}),[b,I]),oe=Ot.useMemo(()=>({reference:M,floating:T}),[M,T]),Re=Ot.useMemo(()=>{let de={position:n,left:0,top:0};if(!oe.floating)return de;let N=MR(oe.floating,c.x),re=MR(oe.floating,c.y);return u?{...de,transform:"translate("+N+"px, "+re+"px)",...LR(oe.floating)>=1.5&&{willChange:"transform"}}:{position:n,left:N,top:re}},[n,u,oe.floating,c.x,c.y]);return Ot.useMemo(()=>({...c,update:ce,refs:te,elements:oe,floatingStyles:Re}),[c,ce,te,oe,Re])}var hf=(e,t)=>({...PR(e),options:[e,t]}),sy=(e,t)=>({...AR(e),options:[e,t]});var ay=(e,t)=>({...TR(e),options:[e,t]});var tO="data-floating-ui-focusable",NR="active",zR="selected",nO="ArrowLeft",iO="ArrowRight",rO="ArrowUp",oO="ArrowDown";var sO=[nO,iO],aO=[rO,oO],o5=[...sO,...aO];var lO={...Ae},DR=!1,uO=0,BR=()=>"floating-ui-"+Math.random().toString(36).slice(2,6)+uO++;function cO(){let[e,t]=Ae.useState(()=>DR?BR():void 0);return lf(()=>{e==null&&t(BR())},[]),Ae.useEffect(()=>{DR=!0},[]),e}var dO=lO.useId,fO=dO||cO;function hO(){let e=new Map;return{emit(t,n){var i;(i=e.get(t))==null||i.forEach(r=>r(n))},on(t,n){e.has(t)||e.set(t,new Set),e.get(t).add(n)},off(t,n){var i;(i=e.get(t))==null||i.delete(n)}}}var pO=Ae.createContext(null),mO=Ae.createContext(null),gO=()=>{var e;return((e=Ae.useContext(pO))==null?void 0:e.id)||null},HR=()=>Ae.useContext(mO);function yO(e){return"data-floating-ui-"+e}function vO(e){e.current!==-1&&(clearTimeout(e.current),e.current=-1)}var xO={pointerdown:"onPointerDown",mousedown:"onMouseDown",click:"onClick"},SO={pointerdown:"onPointerDownCapture",mousedown:"onMouseDownCapture",click:"onClickCapture"},VR=e=>{var t,n;return{escapeKey:typeof e=="boolean"?e:(t=e?.escapeKey)!=null?t:!1,outsidePress:typeof e=="boolean"?e:(n=e?.outsidePress)!=null?n:!0}};function WR(e,t){t===void 0&&(t={});let{open:n,onOpenChange:i,elements:r,dataRef:s}=e,{enabled:l=!0,escapeKey:u=!0,outsidePress:f=!0,outsidePressEvent:p="pointerdown",referencePress:c=!1,referencePressEvent:m="pointerdown",ancestorScroll:y=!1,bubbles:w,capture:v}=t,S=HR(),E=Go(typeof f=="function"?f:()=>!1),R=typeof f=="function"?E:f,b=Ae.useRef(!1),{escapeKey:I,outsidePress:M}=VR(w),{escapeKey:T,outsidePress:_}=VR(v),U=Ae.useRef(!1),H=Ae.useRef(-1),Z=Go(te=>{var oe;if(!n||!l||!u||te.key!=="Escape"||U.current)return;let Re=(oe=s.current.floatingContext)==null?void 0:oe.nodeId,de=S?Nl(S.nodesRef.current,Re):[];if(!I&&(te.stopPropagation(),de.length>0)){let N=!0;if(de.forEach(re=>{var Le;if((Le=re.context)!=null&&Le.open&&!re.context.dataRef.current.__escapeKeyBubbles){N=!1;return}}),!N)return}i(!1,hR(te)?te.nativeEvent:te,"escape-key")}),B=Go(te=>{var oe;let Re=()=>{var de;Z(te),(de=Js(te))==null||de.removeEventListener("keydown",Re)};(oe=Js(te))==null||oe.addEventListener("keydown",Re)}),G=Go(te=>{var oe;let Re=s.current.insideReactTree;s.current.insideReactTree=!1;let de=b.current;if(b.current=!1,p==="click"&&de||Re||typeof R=="function"&&!R(te))return;let N=Js(te),re="["+yO("inert")+"]",Le=Jg(r.floating).querySelectorAll(re),je=yt(N)?N:null;for(;je&&!Mi(je);){let Ze=Ai(je);if(Mi(Ze)||!yt(Ze))break;je=Ze}if(Le.length&&yt(N)&&!fR(N)&&!Zg(N,r.floating)&&Array.from(Le).every(Ze=>!Zg(je,Ze)))return;if(Mn(N)&&J){let Ze=Mi(N),Ct=_n(N),xt=/auto|scroll/,xn=Ze||xt.test(Ct.overflowX),Pt=Ze||xt.test(Ct.overflowY),Ne=xn&&N.clientWidth>0&&N.scrollWidth>N.clientWidth,fe=Pt&&N.clientHeight>0&&N.scrollHeight>N.clientHeight,ae=Ct.direction==="rtl",De=fe&&(ae?te.offsetX<=N.offsetWidth-N.clientWidth:te.offsetX>N.clientWidth),Rt=Ne&&te.offsetY>N.clientHeight;if(De||Rt)return}let Ge=(oe=s.current.floatingContext)==null?void 0:oe.nodeId,$e=S&&Nl(S.nodesRef.current,Ge).some(Ze=>{var Ct;return af(te,(Ct=Ze.context)==null?void 0:Ct.elements.floating)});if(af(te,r.floating)||af(te,r.domReference)||$e)return;let Qe=S?Nl(S.nodesRef.current,Ge):[];if(Qe.length>0){let Ze=!0;if(Qe.forEach(Ct=>{var xt;if((xt=Ct.context)!=null&&xt.open&&!Ct.context.dataRef.current.__outsidePressBubbles){Ze=!1;return}}),!Ze)return}i(!1,te,"outside-press")}),K=Go(te=>{var oe;let Re=()=>{var de;G(te),(de=Js(te))==null||de.removeEventListener(p,Re)};(oe=Js(te))==null||oe.addEventListener(p,Re)});Ae.useEffect(()=>{if(!n||!l)return;s.current.__escapeKeyBubbles=I,s.current.__outsidePressBubbles=M;let te=-1;function oe(Le){i(!1,Le,"ancestor-scroll")}function Re(){window.clearTimeout(te),U.current=!0}function de(){te=window.setTimeout(()=>{U.current=!1},Xs()?5:0)}let N=Jg(r.floating);u&&(N.addEventListener("keydown",T?B:Z,T),N.addEventListener("compositionstart",Re),N.addEventListener("compositionend",de)),R&&N.addEventListener(p,_?K:G,_);let re=[];return y&&(yt(r.domReference)&&(re=Un(r.domReference)),yt(r.floating)&&(re=re.concat(Un(r.floating))),!yt(r.reference)&&r.reference&&r.reference.contextElement&&(re=re.concat(Un(r.reference.contextElement)))),re=re.filter(Le=>{var je;return Le!==((je=N.defaultView)==null?void 0:je.visualViewport)}),re.forEach(Le=>{Le.addEventListener("scroll",oe,{passive:!0})}),()=>{u&&(N.removeEventListener("keydown",T?B:Z,T),N.removeEventListener("compositionstart",Re),N.removeEventListener("compositionend",de)),R&&N.removeEventListener(p,_?K:G,_),re.forEach(Le=>{Le.removeEventListener("scroll",oe)}),window.clearTimeout(te)}},[s,r,u,R,p,n,i,y,l,I,M,Z,T,B,G,_,K]),Ae.useEffect(()=>{s.current.insideReactTree=!1},[s,R,p]);let ce=Ae.useMemo(()=>({onKeyDown:Z,...c&&{[xO[m]]:te=>{i(!1,te.nativeEvent,"reference-press")},...m!=="click"&&{onClick(te){i(!1,te.nativeEvent,"reference-press")}}}}),[Z,i,c,m]),J=Ae.useMemo(()=>({onKeyDown:Z,onMouseDown(){b.current=!0},onMouseUp(){b.current=!0},[SO[p]]:()=>{s.current.insideReactTree=!0},onBlurCapture(){S||(vO(H),s.current.insideReactTree=!0,H.current=window.setTimeout(()=>{s.current.insideReactTree=!1}))}}),[Z,p,s,S]);return Ae.useMemo(()=>l?{reference:ce,floating:J}:{},[l,ce,J])}function wO(e){let{open:t=!1,onOpenChange:n,elements:i}=e,r=fO(),s=Ae.useRef({}),[l]=Ae.useState(()=>hO()),u=gO()!=null,[f,p]=Ae.useState(i.reference),c=Go((w,v,S)=>{s.current.openEvent=w?v:void 0,l.emit("openchange",{open:w,event:v,reason:S,nested:u}),n?.(w,v,S)}),m=Ae.useMemo(()=>({setPositionReference:p}),[]),y=Ae.useMemo(()=>({reference:f||i.reference||null,floating:i.floating||null,domReference:i.reference}),[f,i.reference,i.floating]);return Ae.useMemo(()=>({dataRef:s,open:t,onOpenChange:c,elements:y,events:l,floatingId:r,refs:m}),[t,c,y,l,r,m])}function UR(e){e===void 0&&(e={});let{nodeId:t}=e,n=wO({...e,elements:{reference:null,floating:null,...e.elements}}),i=e.rootContext||n,r=i.elements,[s,l]=Ae.useState(null),[u,f]=Ae.useState(null),c=r?.domReference||s,m=Ae.useRef(null),y=HR();lf(()=>{c&&(m.current=c)},[c]);let w=FR({...e,elements:{...r,...u&&{reference:u}}}),v=Ae.useCallback(I=>{let M=yt(I)?{getBoundingClientRect:()=>I.getBoundingClientRect(),getClientRects:()=>I.getClientRects(),contextElement:I}:I;f(M),w.refs.setReference(M)},[w.refs]),S=Ae.useCallback(I=>{(yt(I)||I===null)&&(m.current=I,l(I)),(yt(w.refs.reference.current)||w.refs.reference.current===null||I!==null&&!yt(I))&&w.refs.setReference(I)},[w.refs]),E=Ae.useMemo(()=>({...w.refs,setReference:S,setPositionReference:v,domReference:m}),[w.refs,S,v]),R=Ae.useMemo(()=>({...w.elements,domReference:c}),[w.elements,c]),b=Ae.useMemo(()=>({...w,...i,refs:E,elements:R,nodeId:t}),[w,E,R,t,i]);return lf(()=>{i.dataRef.current.floatingContext=b;let I=y?.nodesRef.current.find(M=>M.id===t);I&&(I.context=b)}),Ae.useMemo(()=>({...w,context:b,refs:E,elements:R}),[w,E,R,b])}function ly(e,t,n){let i=new Map,r=n==="item",s=e;if(r&&e){let{[NR]:l,[zR]:u,...f}=e;s=f}return{...n==="floating"&&{tabIndex:-1,[tO]:""},...s,...t.map(l=>{let u=l?l[n]:null;return typeof u=="function"?e?u(e):null:u}).concat(e).reduce((l,u)=>(u&&Object.entries(u).forEach(f=>{let[p,c]=f;if(!(r&&[NR,zR].includes(p)))if(p.indexOf("on")===0){if(i.has(p)||i.set(p,[]),typeof c=="function"){var m;(m=i.get(p))==null||m.push(c),l[p]=function(){for(var y,w=arguments.length,v=new Array(w),S=0;S<w;S++)v[S]=arguments[S];return(y=i.get(p))==null?void 0:y.map(E=>E(...v)).find(E=>E!==void 0)}}}else l[p]=c}),l),{})}}function qR(e){e===void 0&&(e=[]);let t=e.map(u=>u?.reference),n=e.map(u=>u?.floating),i=e.map(u=>u?.item),r=Ae.useCallback(u=>ly(u,e,"reference"),t),s=Ae.useCallback(u=>ly(u,e,"floating"),n),l=Ae.useCallback(u=>ly(u,e,"item"),i);return Ae.useMemo(()=>({getReferenceProps:r,getFloatingProps:s,getItemProps:l}),[r,s,l])}var KR=A(Oo(),1);var Gt=A(Q(),1);var GR=A(Q(),1),pf=A(Q(),1);var QR=A(D(),1),$R=Ei(),Qo=(0,pf.createContext)({emitter:$R});Qo.displayName="Events";function zl(){return GR.default.useContext(Qo).emitter}function bO({emitter:e,children:t}){return(0,QR.jsx)(Qo.Provider,{value:(0,pf.useMemo)(()=>({emitter:e}),[e]),children:t})}var qn=A(D(),1),Dl=Gt.default.createContext({});function Bl(){let e=(0,Gt.useContext)(Dl),t=Object.keys(e),n={};for(let i of t)e[i].Provider&&(n[i]={value:(0,Gt.useContext)(e[i]),Provider:e[i].Provider});return n}function YR(e){let t=Object.keys(e),n=e.children;for(let i of t){if(i==="children")continue;let{value:r,Provider:s}=e[i];n=(0,qn.jsx)(s,{value:r,children:n})}return n}function RO(e){let t=(0,Gt.useContext)(Dl),n=(0,Gt.useMemo)(()=>({...t,...e.providers}),[e.providers]);return(0,qn.jsx)(Dl.Provider,{value:n,children:e.children})}function Vl(){return{VaultContext:(0,Gt.useContext)(Ar),ResourceContext:(0,Gt.useContext)(Oa),SimpleViewerReactContext:(0,Gt.useContext)(_s),VisibleCanvasReactContext:(0,Gt.useContext)(Ro),AuthRContext:(0,Gt.useContext)(Co),SearchReactContext:(0,Gt.useContext)(Ms),ReactEventContext:(0,Gt.useContext)(Qo),ContextBridgeReactContext:(0,Gt.useContext)(Dl),StrategyReactContext:(0,Gt.useContext)(Wr),AtlasStoreReactContext:(0,Gt.useContext)(Fo)}}function jl(e){return(0,qn.jsx)(bo,{vault:e.bridge.VaultContext.vault||void 0,resources:e.bridge.ResourceContext,children:(0,qn.jsx)(Ro.Provider,{value:e.bridge.VisibleCanvasReactContext,children:(0,qn.jsx)(_s.Provider,{value:e.bridge.SimpleViewerReactContext,children:(0,qn.jsx)(Qo.Provider,{value:e.bridge.ReactEventContext,children:(0,qn.jsx)(Fo.Provider,{value:e.bridge.AtlasStoreReactContext,children:(0,qn.jsx)(Co.Provider,{value:e.bridge.AuthRContext,children:(0,qn.jsx)(Ms.Provider,{value:e.bridge.SearchReactContext,children:(0,qn.jsx)(Dl.Provider,{value:e.bridge.ContextBridgeReactContext,children:(0,qn.jsx)(Wr.Provider,{value:e.bridge.StrategyReactContext,children:e.custom?(0,qn.jsx)(YR,{...e.custom,children:e.children}):e.children})})})})})})})})})}var ta=A(D(),1);function mf({annotation:e,target:t,children:n,dismissable:i,isOpen:r,onOpenChange:s,placement:l}){let u=Vl(),f=Bl(),{refs:p,floatingStyles:c,context:m}=UR({open:r,onOpenChange:s,nodeId:e.id,placement:l||"bottom",middleware:[hf(10),sy(),ay({mainAxis:!0})],whileElementsMounted:uf}),y=WR(m),{getReferenceProps:w,getFloatingProps:v}=qR([i?y:null].filter(S=>S!==null));return(0,ta.jsxs)(jn,{relative:!0,target:t,interactive:!1,children:[(0,ta.jsx)("div",{ref:p.setReference,...w(),style:{position:"absolute",top:0,left:0,right:0,bottom:0,pointerEvents:"none"}}),(0,KR.createPortal)((0,ta.jsx)(jl,{bridge:u,custom:f,children:(0,ta.jsx)("div",{ref:p.setFloating,style:c,...v(),children:n})}),document.getElementById("atlas-floating-ui"))]})}var Hl=A(D(),1),ZR=i0()(e=>({isMenuOpen:!1,menuPosition:{x:0,y:0},setMenuPosition(t){e({menuPosition:t})},toggle(t){e(n=>({isMenuOpen:!n.isMenuOpen,menuPosition:t}))},open(t){e({isMenuOpen:!0,menuPosition:t})},setIsMenuOpen(t){e(typeof t=="function"?n=>({isMenuOpen:t(n.isMenuOpen)}):{isMenuOpen:t})},close(){e({isMenuOpen:!1})}}));function Wl(e,t,n){let{isMenuOpen:i,setIsMenuOpen:r,close:s,open:l,menuPosition:u,setMenuPosition:f,toggle:p}=ZR(),c=(0,XR.useCallback)(w=>{n&&(w.preventDefault(),w.stopPropagation(),p(w.atlas))},[p,n]);return[(0,Hl.jsx)(Hl.Fragment,{children:n&&i&&(0,Hl.jsx)(mf,{dismissable:!0,placement:"bottom-start",isOpen:i,onOpenChange:r,annotation:{id:e},target:{x:u.x,y:u.y,height:1,width:1},children:i&&n({canvasId:t,position:u,close:()=>r(!1)})})}),{onContextMenu:c},{open:l,close:s,toggle:p,isMenuOpen:i,setIsMenuOpen:r,menuPosition:u,setMenuPosition:f}]}function cy(){let e=st();return ve(e,t=>t.tool.requestId&&t.requests[t.tool.requestId]||null)}var an=A(D(),1);function dy({theme:e,renderContextMenu:t,children:n}){let i=st(),r=Ce(),s=ve(i,T=>T.polygon),l=ve(i,T=>T.polygonState.currentTool),u=ve(i,T=>T.mode),f=ve(i,T=>T.changeMode),p=ve(i,T=>T.polygonState.transitioning),{enabled:c,requestId:m}=ve(i,T=>T.tool),y=(0,gf.useMemo)(()=>Br(s),[s]),w=cy(),[v,S]=Wl("editing-annotation",r?.id,t),E=w?.annotationPopup||n||(0,an.jsx)(JR,{}),R=w?.svgTheme||e,b=()=>{f("sketch")};if(!c||!r||!m||!s)return null;let I=y&&s.id&&!p&&(l==="pointer"||l==="hand"||!s.open)?(0,an.jsx)(mf,{annotation:s,target:y,children:E}):null,M="shape";return u==="explore"?(0,an.jsxs)(an.Fragment,{children:[(0,an.jsx)(M,{id:`shape-${s.id}`,points:s.points,open:s.open,onClick:b,relativeStyle:!0,target:{x:0,y:0,width:r.width,height:r.height},style:{":hover":{backgroundColor:"rgba(0,0,0,0.2)"},backgroundColor:"rgba(0,0,0,0)",borderWidth:"4px",borderColor:"rgba(255, 255, 255, .4)"},...S}),(0,an.jsx)(M,{id:`shape-${s.id}`,points:s.points,open:s.open,onClick:b,relativeStyle:!0,target:{x:0,y:0,width:r.width,height:r.height},style:{backgroundColor:"rgba(0,0,0,0)",borderWidth:"2px",borderColor:"rgba(0, 0, 0, .4)"}}),I]}):(0,an.jsxs)(an.Fragment,{children:[t?(0,an.jsx)(M,{id:`shape-${s.id}`,points:s.points,open:s.open,target:{x:0,y:0,width:r.width,height:r.height},...S}):null,(0,an.jsx)(eR,{image:r,theme:R}),I,v]})}function JR(){let e=st(),t=ve(e,l=>l.changeMode),n=ve(e,l=>l.mode),i=ve(e,l=>l.completeRequest),r=ve(e,l=>l.tool),s=()=>{(0,gf.startTransition)(()=>{i()})};return r.enabled?(0,an.jsxs)("div",{className:"svg-tools-container animate-fadeIn",children:[n!=="sketch"&&(0,an.jsx)("button",{className:"svg-tools-button",onClick:()=>{t("sketch")},children:"Edit"}),(0,an.jsx)("button",{className:"svg-tools-button",onClick:s,children:"Save"})]}):null}var Zr=A(Q(),1);var na=A(Q(),1);function EO(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function Ul(e,t){let{selector:n,source:i}=Tt(t);if(i.id!==e.id)return[null,i];let r={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[n?n.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:n.temporal,spatial:r.spatial}:n:null,i]}var fy={makeChoice:()=>{}},ql={type:"unknown"},ut=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),hy=(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var Gl=A(Q(),1);function IO(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function eE(e,t){return qe(n=>{let i=[];if(!e)return i;let r=Object.keys(n.iiif.entities.AnnotationPage);for(let s of r)if(!t||t.indexOf(s)!==-1){let l=IO(n,s);l&&l.views&&l.views[e]&&i.push(s)}return i},[e,t])}function py({canvas:e,manifest:t,all:n,canvases:i}){let r=[];if(t)for(let s of t.annotations)r.indexOf(s.id)===-1&&r.push(s.id);if(n){if(i&&i.length)for(let s of i)for(let l of s.annotations)r.indexOf(l.id)===-1&&r.push(l.id)}else if(e)for(let s of e.annotations)r.indexOf(s.id)===-1&&r.push(s.id);return r}function CO(e,t){let n=e?.iiif?.meta[t];return n?n.annotationPageManager:null}function $l(e,t={}){let n=ze(),i=It(),r=Ce(),s=Eo(),l=(0,Gl.useMemo)(()=>py({all:t.all,manifest:i,canvas:r,canvases:s}),[t.all,r,s,i]),u=eE(e,t.all?void 0:l),f=(0,Gl.useCallback)(c=>{e&&n.setMetaValue([c,"annotationPageManager","views"],m=>m&&!m[e]?m:{...m||{},[e]:!1})},[e,n]),p=(0,Gl.useCallback)((c,m={})=>{if(!e)return;let y=n.getState(),w=[];if(m?.deselectOthers){let v=Object.keys(y.iiif.entities.AnnotationPage);for(let S of v){let E=CO(y,S);E&&E.views&&E.views[e]&&w.push(S)}}for(let v of w)f(v);n.setMetaValue([c,"annotationPageManager","views"],v=>v&&v[e]?v:{...v||{},[e]:!0})},[e,f,n]);return{availablePageIds:l,enabledPageIds:u,setPageEnabled:p,setPageDisabled:f}}function my(e,t){return qe((n,i)=>i.get(e.map(r=>({id:r,type:t}))),[e,t])}var tE=A(Q(),1);var PO=zn((e,t)=>({loaded:{},setLoaded:(n,i="done")=>{e(r=>({loaded:{...r.loaded,[n]:i}}))}})),AO=Ei();AO.on("loaded",e=>{PO.getState().setLoaded(e.imageServiceId)});function Ql(){let e=Gs(),t=Nb();return[(0,tE.useCallback)((i,{height:r,width:s})=>i&&e(i,{height:r,width:s},!0),[e]),t]}var Ko=A(Q(),1);function Yo(e={}){let t=yl(),n=Ce(e.canvasId?{id:e.canvasId}:void 0);return qe((i,r)=>{if(!n)return[];if(t&&e.enableSingleAnnotation)return[t];let s=r.get(n.items),l=[];for(let u of s)l.push(...r.get(u.items));return l},[n])}function gy(e,t=[]){let n=ze(),i=(0,Ko.useMemo)(()=>xg(n),[]),r=Yo({enableSingleAnnotation:e?.enableSingleAnnotation}),[s,l]=(0,Ko.useState)(e?.defaultChoices||[]),u=(0,Ko.useMemo)(()=>i.getPaintables(r,s),[n,r,s,...t]),p={makeChoice:(0,Ko.useCallback)((c,{deselectOthers:m=!0,deselect:y=!1}={})=>{u.choice&&l(w=>{if(y){let S=w.filter(E=>E!==c);if(S.length===0){let E=u.items[0].resource.id;return E?[E]:[]}return S}if(m)return[c];let v=[...w];if(v.length===0&&u.items.length){let S=u.items[0].resource.id;S&&v.push(S)}return w.indexOf(c)!==-1?w:[...w,c]})},[u.choice])};return[u,p]}var TO=["model/gltf-binary"];function yy(e,t){let n=t.items[0],i=n.resource;return i.format?TO.indexOf(i.format)===-1?ut(`3D format: ${i.format} is unsupported`):{type:"3d-model",model:i,annotationId:n.annotationId,annotation:n.annotation}:ut("Unknown format")}function yf(e,t){let n=t.items,i=n[0];if(n.length===0||!i)return ut("No audio");if(!e.duration)return ut("No duration on canvas");if(n.length>1)return ut("Only one audio source supported");let r=i.resource;return r?("format"in r||(r.format="audio/mpeg"),{type:"media",media:{annotationId:i.annotationId,annotation:i.annotation,duration:e.duration,url:r.id,type:"Sound",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:r.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},annotations:{pages:[]}}):ut("Unknown audio")}function Yl(e,t,n){let i=[],r=[];for(let s of t.items){let l=s.resource&&s.resource.type==="SpecificResource"?s.resource.source:s.resource;if(!l.id)return ut("No resource Identifier");let u;if(l.service){let E=Lr(l);E[0]&&(u=n(E[0],e))}let f={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[p,c]=Ul(e,s.target),m=e.id?.split("?")[0]||"";if(!(c.id===e.id||decodeURIComponent(c.id||"")===(e.id||"")||c.id===m||decodeURIComponent(c.id||"")===m))continue;let y=s.resource.width&&s.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:s.resource.width,height:s.resource.height}}:void 0,w=s.resource.type==="SpecificResource"?Tt(s.resource):null;if(s.selector){let E=Tt({type:"SpecificResource",source:s.resource,selector:s.selector});E&&(w=E)}let v=w&&w.selector&&(w.selector.type==="BoxSelector"||w.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:w.selector.spatial.x,y:w.selector.spatial.y,width:w.selector.spatial.width,height:w.selector.spatial.height}}:void 0;u&&!u.id&&(u.id=u["@id"]);let S={id:l.id,type:"Image",annotationId:s.annotationId,annotation:s.annotation,width:Number(p||v?l.width:e.width),height:Number(p||v?l.height:e.height),service:u,sizes:u&&u.sizes?u.sizes:l.width&&l.height?[{width:l.width,height:l.height}]:[],target:p&&p.type!=="PointSelector"?p:f,selector:v||{type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},annotationPages:s.resource.annotations||[]};i.push(S)}return{type:"images",image:i[0],images:i,choice:t.choice}}function nE(e,t={},n){let i=e.language||n||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[i]=[e.value]);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(r=>nE(r,t,i))}return t}function Kl(e,t){let n=[];return t.items.forEach(i=>{if(i.resource){let[r]=Ul(e,i.target);n.push({type:"Text",annotationId:i.annotationId,annotation:i.annotation,text:nE(i.resource),target:r})}}),{type:"textual-content",items:n}}var MO=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function Xl(e,t,n){let i=t.items.filter(w=>w.type==="video"),r=i[0],s=!1;if(e.duration||(s=!0),i.length>1||!r)return ut("Only one video source supported");let l=i[0]?.resource,u=!!(l.service||[]).find(w=>(w.profile||"").includes("youtube.com"));if(!u&&s)return ut("Video does not have duration");if(!l)return ut("Unknown video");if((!l.format||l.format==="text/html")&&!u)return ut("Video does not have format");let f=[],p=n.get(e.annotations||[]);for(let w of p){let v=n.get(w.items||[]);for(let S of v)if((S.motivation?Array.isArray(S.motivation||"")?S.motivation:[S.motivation]:[]).includes("supplementing")){let R=n.get(S.body||[]);for(let b of R){let I=b;if(I.type==="Choice")for(let M of I.items){let T=n.get(M);T.format==="text/vtt"&&f.push({id:T.id,type:"Text",format:"text/vtt",label:T.label,language:T.language})}else I.format==="text/vtt"&&f.push({id:I.id,type:"Text",format:"text/vtt",label:I.label,language:I.language})}}}let c={annotationId:r.annotationId,annotation:r.annotation,duration:e.duration,url:l.id,type:"Video",target:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}},format:l.format,selector:{type:"TemporalSelector",temporal:{startTime:0,endTime:e.duration}}},m=Tt(r.target);m.selector&&m.selector.type==="TemporalBoxSelector"&&(c.target=m.selector);let{selector:y}=er(r.selector);if(y===null){let w=c.target.temporal.startTime,S=(c.target.temporal.endTime||e.duration)-w;c.selector={type:"TemporalSelector",temporal:{startTime:0,endTime:S}}}else y.type==="TemporalSelector"&&(c.selector=y);if(u){c.type="VideoYouTube";let w=l.id.match(MO);if(!w[1])return ut("Video is not known youtube video");c.youTubeId=w[1]}return{type:"media",media:c,annotations:{pages:[]},captions:f}}function vy(e,t,n,i){let r={type:"complex-timeline",items:[],keyframes:[],highlights:[],duration:e.duration||0},s={type:"complex-choice",items:[]},l=i.get(e.annotations);function u(c){c.choice&&(c.choice.type==="complex-choice"?s.items.push(...c.choice.items):s.items.push(c.choice))}for(let c of t.items){if(c.type==="image"){let m=Yl(e,{choice:null,allChoices:null,types:["image"],items:[c]},n);if(m.type==="images"){u(m),r.items.push(m.image);let y={id:m.image.annotationId,type:"enter",resourceType:"image",time:m.image.target?.temporal?.startTime||0};r.keyframes.push(y);let w={id:m.image.annotationId,type:"exit",resourceType:"image",time:m.image.target?.temporal?.endTime||e.duration||0};r.keyframes.push(w)}}if(c.type==="textualbody"){let m=Kl(e,{choice:null,allChoices:null,types:["textualbody"],items:[c]});if(m.type==="textual-content"){u(m);let y=m.items[0];r.items.push(y);let w=y.target,v={id:y.annotationId,type:"enter",resourceType:"text",time:w.temporal?.startTime||0};r.keyframes.push(v);let S={id:y.annotationId,type:"exit",resourceType:"text",time:w.temporal?.endTime||e.duration||0};r.keyframes.push(S)}}if(c.type==="video"){let m=Xl(e,{choice:null,allChoices:null,types:["video"],items:[c]},i);if(m.type==="media"){u(m);let y=m.media;r.items.push(y);let w={id:y.annotationId,type:"enter",resourceType:"video",time:y.target?.temporal?.startTime||0};r.keyframes.push(w);let v={id:y.annotationId,type:"exit",resourceType:"video",time:y.target?.temporal?.endTime||e.duration||0};r.keyframes.push(v)}}if(c.type==="audio"||c.type==="sound"){let m=yf(e,{choice:null,allChoices:null,types:["audio"],items:[c]});if(m.type==="media"){u(m);let y=m.media;r.items.push(y);let w={id:y.annotationId,type:"enter",resourceType:"audio",time:y.target?.temporal?.startTime||0};r.keyframes.push(w);let v={id:y.annotationId,type:"exit",resourceType:"audio",time:y.target?.temporal?.endTime||e.duration||0};r.keyframes.push(v)}}}for(let c of l)for(let m of c.items){let y=i.get(m),w=Tt(y.target,{typeMap:i.getState?.().iiif.mapping});if(w.selector?.temporal){let v={id:y.id,type:"enter",resourceType:"highlight",time:w.selector.temporal.startTime||0};r.keyframes.push(v);let S={id:y.id,type:"exit",resourceType:"highlight",time:w.selector.temporal.endTime||e.duration||0};r.keyframes.push(S)}r.highlights.push({annotation:y,target:w})}r.keyframes.sort((c,m)=>c.time-m.time);let f=[],p=[];for(let c of r.keyframes){if(c.resourceType==="image"||c.resourceType==="text"||c.resourceType==="highlight"){p.push(c);continue}if(c.type==="enter"){f.length===0&&(c.isPrime=!0),f.push(c),p.push(c);continue}if(c.type==="exit"&&(p.push(c),f=f.filter(m=>m.id!==c.id),f.length!==0)){let m=f[0],y={id:m.id,type:"change",isPrime:!0,resourceType:m.resourceType,time:c.time};p.push(y)}}return r.keyframes=p,s.items.length&&(r.choice=s),r}var vf={},xy={get(e){return e},setMetaValue([e,t,n],i){let r=xy.getResourceMeta(e,t),s=r?r[n]:void 0,l=typeof i=="function"?i(s):i;vf[e]={...vf[e]||{},[t]:{...(vf[e]||{})[t]||{},[n]:l}}},getResourceMeta:(e,t)=>{let n=vf[e];if(n)return t?n[t]:n},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(n=>n.json())},requestStatus(e){}};function Sy({canvas:e,paintables:t,supports:n,loadImageService:i,vault:r=xy}){if(!e)return ql;if(t.types.length===0)return n.indexOf("empty")!==-1?hy(e.width,e.height):ql;if(t.types.length!==1)if(t.types.length===2&&t.types.indexOf("text")!==-1)t.types=t.types.filter(l=>l!=="text");else return n.indexOf("complex-timeline")===-1?ut("Complex timeline not supported"):vy(e,t,i,r);let s=t.types[0];return s==="image"?n.indexOf("images")===-1?ut("Image not supported"):Yl(e,t,i):s==="Model"||s==="model"?n.indexOf("3d-model")===-1?ut("3D not supported"):yy(e,t):s==="textualbody"?n.indexOf("textual-content")===-1?ut("Textual content not supported"):Kl(e,t):s==="sound"||s==="audio"?n.indexOf("media")===-1?ut("Media not supported"):yf(e,t):s==="video"?n.indexOf("media")===-1?ut("Media not supported"):Xl(e,t,r):ql}function wy(e){let t=It(),n=Ce(),i=ze(),r=zl(),s=e?.emitter||r,[l,u]=Ql(),{enabledPageIds:f}=$l(e?.annotationPageManagerId||t?.id||n?.id,{all:!1}),p=my(f,"AnnotationPage"),c=e?.strategies||["empty","images","media","textual-content","complex-timeline"],[m,y]=gy(e,[u]);(0,na.useEffect)(()=>{let v=S=>{y.makeChoice(S.choiceId,{deselectOthers:S.deselectOthers,deselect:S.deselect})};return s.on("make-choice",v),()=>{s.off("make-choice",v)}},[]);let w=(0,na.useMemo)(()=>Sy({canvas:n,paintables:m,supports:c,loadImageService:l,vault:i}),[n,m,i,y.makeChoice]);return(0,na.useEffect)(()=>{let v=m.allChoices,S={canvasId:n?.id,manifestId:t?.id};v&&s.emit("choice-change",{choice:v,partOf:S})},[n?.id,m.allChoices]),(0,na.useMemo)(()=>w.type==="unknown"?[w,fy]:[{...w,annotations:{pages:p}},y],[w,p])}var by=A(D(),1);function Ry({strategies:e,registerActions:t,defaultChoices:n,onChoiceChange:i,mediaControlsDeps:r,renderMediaControls:s,renderViewerControls:l,viewControlsDeps:u,renderComplexTimelineControls:f,complexTimelineControlsDeps:p,throwOnUnknown:c,children:m}){let y=Ce(),w=ze(),v=(0,Zr.useMemo)(()=>Vr(w),[w]),[S,E]=wy({strategies:e||["images"],defaultChoices:n?.map(({id:M})=>M)}),R="choice"in S?S.choice:void 0;if((0,Zr.useEffect)(()=>{t&&t(E)},[S.annotations]),(0,Zr.useEffect)(()=>{i&&i(R)},[R]),(0,Zr.useEffect)(()=>{if(n)for(let M of n)typeof M.opacity<"u"&&v.applyStyles({id:M.id},"atlas",{opacity:M.opacity})},[n]),S.type==="unknown"&&c)throw new Error(S.reason||"Unknown strategy");let b=(0,Zr.useMemo)(()=>({renderMediaControls:s,mediaControlsDeps:r||[],renderViewerControls:l,viewControlsDeps:u||[],renderComplexTimelineControls:f,complexTimelineControlsDeps:p||[]}),[r,s,l,u,f,p]),I=(0,Zr.useMemo)(()=>({strategy:S,actions:E,choices:"choice"in S?S.choice:[]}),[S,y]);return(0,by.jsx)(bl.Provider,{value:b,children:(0,by.jsx)(Wr.Provider,{value:I,children:m})})}var Zl=A(Q(),1);var ia=A(Q(),1);var Ey=(0,ia.createContext)(()=>{});function iE(e){let t=Ce(),n=(0,ia.useContext)(Ey);(0,ia.useEffect)(()=>t&&t.id?(n(t.id,e),()=>n(t.id,-1)):()=>{},[t,e])}var rE=A(D(),1);function Iy({x:e=0,y:t=0,keepCanvasScale:n=!0,renderContextMenu:i,children:r}){let{strategy:s}=gt(),l=Ce(),u=st(),f=xl(l,["deep-zoom"]),p=ve(u,S=>S.setCanvasRelativePosition),c=ve(u,S=>S.clearCanvasRelativePosition),[m,y]=Wl(`context-menu/${l?.id}`,l?.id,i),w=(0,Zl.useMemo)(()=>n?1:Math.max(1,...s.type==="images"?s.images.map(S=>(S.width||0)/S.target?.spatial.width):[]),[n,s]);(0,Zl.useEffect)(()=>{if(l)return p(l.id,{x:e,y:t,width:l.width,height:l.height}),()=>{c(l.id)}},[e,t,l,c,p]),(0,Zl.useEffect)(()=>{l&&u.getState().reset()},[u,l]),iE(w);let v=s.type==="images"?s.images.length:0;return l?(0,rE.jsxs)("world-object",{height:l.height,width:l.width,scale:w,x:e,y:t,...y,...f,children:[m,r]},`${l.id}/${s.type}/${v}`):null}var yn=A(D(),1);function Vo({x:e,y:t,onChoiceChange:n,registerActions:i,defaultChoices:r,isStatic:s,renderViewerControls:l,renderMediaControls:u,renderComplexTimelineControls:f,complexTimelineControlsDeps:p,viewControlsDeps:c,mediaControlsDeps:m,strategies:y,throwOnUnknown:w,backgroundStyle:v,alwaysShowBackground:S,keepCanvasScale:E=!1,enableSizes:R=!1,enableYouTube:b=!0,onClickPaintingAnnotation:I,components:M={},children:T,annotationPopup:_,svgTheme:U,renderContextMenu:H,renderAnnotationContextMenu:Z}){return(0,yn.jsxs)(Ry,{throwOnUnknown:w,onChoiceChange:n,registerActions:i,strategies:y,defaultChoices:r,mediaControlsDeps:m,renderMediaControls:u,renderViewerControls:l,renderComplexTimelineControls:f,complexTimelineControlsDeps:p,viewControlsDeps:c,children:[(0,yn.jsxs)(Iy,{keepCanvasScale:E,x:e,y:t,renderContextMenu:H,children:[(0,yn.jsx)(Vg,{alwaysShowBackground:S,backgroundStyle:v}),(0,yn.jsx)(Bg,{}),(0,yn.jsx)(Hg,{}),(0,yn.jsx)(jg,{isStatic:s,enableSizes:R,onClickPaintingAnnotation:I}),(0,yn.jsx)(Mg,{}),(0,yn.jsx)(Eg,{}),(0,yn.jsx)(kg,{as:M.Audio}),(0,yn.jsx)(Ug,{as:M.Video}),b?(0,yn.jsx)(qg,{}):null,(0,yn.jsx)(dy,{theme:U,renderContextMenu:Z,children:_}),T]}),(0,yn.jsx)(Ig,{})]})}var Cy=A(D(),1);function oE(e){let t=Ce();return!t||!t.placeholderCanvas?null:(0,Cy.jsx)(ni,{canvas:t.placeholderCanvas.id,children:(0,Cy.jsx)(Vo,{renderViewerControls:e.renderViewerControls})})}var vn=A(Q(),1);var Gn=A(Q()),_O=(0,Gn.createContext)(null),Py={didCatch:!1,error:null},ra=class extends Gn.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=Py}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){let{error:t}=this.state;if(t!==null){for(var n,i,r=arguments.length,s=new Array(r),l=0;l<r;l++)s[l]=arguments[l];(n=(i=this.props).onReset)===null||n===void 0||n.call(i,{args:s,reason:"imperative-api"}),this.setState(Py)}}componentDidCatch(t,n){var i,r;(i=(r=this.props).onError)===null||i===void 0||i.call(r,t,n)}componentDidUpdate(t,n){let{didCatch:i}=this.state,{resetKeys:r}=this.props;if(i&&n.error!==null&&OO(t.resetKeys,r)){var s,l;(s=(l=this.props).onReset)===null||s===void 0||s.call(l,{next:r,prev:t.resetKeys,reason:"keys"}),this.setState(Py)}}render(){let{children:t,fallbackRender:n,FallbackComponent:i,fallback:r}=this.props,{didCatch:s,error:l}=this.state,u=t;if(s){let f={error:l,resetErrorBoundary:this.resetErrorBoundary};if(typeof n=="function")u=n(f);else if(i)u=(0,Gn.createElement)(i,f);else if(r===null||(0,Gn.isValidElement)(r))u=r;else throw l}return(0,Gn.createElement)(_O.Provider,{value:{didCatch:s,error:l,resetErrorBoundary:this.resetErrorBoundary}},u)}};function OO(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:[],t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:[];return e.length!==t.length||e.some((n,i)=>!Object.is(n,t[i]))}var xf=A(Q(),1);function sE(e,t=2e3){let{currentSequenceIndex:n,sequence:i,items:r}=Po(),s=Ce(),l=(0,xf.useMemo)(()=>{let f=i[n]||[];return f.length===0&&s?[{id:s.id,type:"Canvas"}]:f.map(p=>r[p])},[i,n,s,r]),u=st();(0,xf.useEffect)(()=>{let p=setInterval(()=>{if(e&&t!==-1){let c={x:e.x,y:e.y,width:e.width,height:e.height},m=u.getState().canvasRelativePositions,y={};for(let w of l){let v=m[w.id];if(v){let S=v.x,E=v.y,R=v.width,b=v.height,I={x:Math.max(S,c.x),y:Math.max(E,c.y),width:Math.min(S+R,c.x+c.width)-Math.max(S,c.x),height:Math.min(E+b,c.y+c.height)-Math.max(E,c.y)};I.width<=0||I.height<=0||(y[w.id]={x:I.x-v.x,y:I.y-v.y,width:I.width,height:I.height}),u.setState({canvasViewports:y})}}}},t);return()=>{clearTimeout(p)}},[l,e,u,t])}var oa=A(D(),1);function Sf({width:e,style:t,height:n,error:i,resetErrorBoundary:r}){return(0,oa.jsxs)("div",{style:{width:e,height:n,minHeight:500,...t||{},background:"#f9f9f9"},children:[(0,oa.jsx)("h3",{children:"Error occurred"}),(0,oa.jsx)("p",{children:i.message}),(0,oa.jsx)("button",{type:"button",onClick:r,children:"Reset"})]})}var vt=A(D(),1);function wf(e){let t=st();return(0,vt.jsx)(Ws,{name:e.name,existing:t,children:(0,vt.jsx)(kO,{...e})})}function kO({name:e,children:t,errorFallback:n,outerContainerProps:i={},worldScale:r,updateViewportTimeout:s,...l}){let u=st(),f=ve(u,K=>K.mode),p=ve(u,K=>K.setAtlasRuntime),[c,m]=(0,vn.useState)(),y=Bl(),w=Vl(),v=n||Sf,[S,E]=(0,vn.useState)({}),R=Object.entries(S),[b,I]=(0,vn.useState)({}),M=Object.entries(b),[T,_]=(0,vn.useState)({}),U=(0,vn.useMemo)(()=>r||Math.max(...Object.values(T)),[T]),H=(0,vn.useMemo)(()=>({maxOverZoom:U||1,...l.runtimeOptions||{}}),[U,l.runtimeOptions]);sE(c?.runtime,s);let Z=(0,vn.useCallback)((K,ce)=>{_(J=>{if(ce===-1){let{[K]:te,...oe}=J;return oe}return{...J,[K]:ce}})},[]),B=(0,vn.useCallback)((K,ce,J)=>{E(({[K]:te,...oe})=>ce?{...oe,[K]:{element:ce,props:J}}:oe)},[]),G=(0,vn.useCallback)((K,ce,J)=>{I(({[K]:te,...oe})=>ce?{...oe,[K]:{element:ce,props:J}}:oe)},[]);return(0,vt.jsxs)(ra,{resetKeys:[],fallbackRender:K=>(0,vt.jsx)(v,{...l,...K}),children:[(0,vt.jsx)(O1,{...l,mode:f,containerProps:{style:{position:"relative"},...l.containerProps||{}},htmlChildren:(0,vt.jsx)(vt.Fragment,{children:R.map(([K,{element:ce,props:J}])=>(0,vt.jsx)(vn.default.Fragment,{children:(0,vt.jsx)(ce,{...J||{}})},K))}),onCreated:K=>{m(K),p(K.runtime),l.onCreated&&l.onCreated(K)},runtimeOptions:H,children:(0,vt.jsx)(Ws,{name:e,existing:u,children:(0,vt.jsx)(Pi.Provider,{value:c,children:(0,vt.jsx)(Ey.Provider,{value:Z,children:(0,vt.jsx)(Sg.Provider,{value:B,children:(0,vt.jsx)(wg.Provider,{value:G,children:(0,vt.jsx)(jl,{bridge:w,custom:y,children:(0,vt.jsx)(Tg,{children:t})})})})})})})}),(0,vt.jsx)("div",{children:M.map(([K,{element:ce,props:J}])=>(0,vt.jsx)(vn.default.Fragment,{children:(0,vt.jsx)(ce,{...J||{}})},K))}),(0,vt.jsx)("div",{id:"atlas-floating-ui",style:{position:"relative",zIndex:999999}})]})}var ln=A(D(),1),LO=(0,Xo.forwardRef)(function(t,n){let i=It(),r=Eo(),s=Po(),{ViewerControls:l,MediaControls:u,ComplexTimelineControls:f}=t.components||{};if((0,Xo.useImperativeHandle)(n,()=>s,[s]),!i)return(0,ln.jsx)("div",{});let p=0,c=i.viewingDirection==="top-to-bottom",m=i.viewingDirection==="bottom-to-top",y=i.viewingDirection==="left-to-right",w=i.viewingDirection==="right-to-left",S=i.behavior.includes("continuous")?0:t.spacing||0,E=m||w,R=(0,Xo.useMemo)(()=>E?[...r].reverse():r,[r,E]);return(0,ln.jsxs)(ln.Fragment,{children:[t.header,(0,ln.jsx)(jt.Viewer,{height:t.height,mode:t.mode,renderPreset:t.renderPreset,runtimeOptions:t.runtimeOptions,updateViewportTimeout:t.updateViewportTimeout,children:R.map((b,I)=>{let M=0,T=0;return c?(M=p,p+=b.width+S):(T=p,p+=b.height+S),(0,ln.jsx)(ni,{canvas:b.id,children:(0,ln.jsx)(jt.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content","complex-timeline"],renderViewerControls:I===0&&l?()=>(0,ln.jsx)(l,{}):void 0,renderMediaControls:I===0&&u?()=>(0,ln.jsx)(u,{}):void 0,annotationPopup:t.annotationPopup,renderContextMenu:t.renderContextMenu,keepCanvasScale:t.keepCanvasScale,renderComplexTimelineControls:I===0&&f?()=>(0,ln.jsx)(f,{}):void 0,renderAnnotationContextMenu:t.renderAnnotationContextMenu,x:M,y:T,svgTheme:t.svgTheme,...t.canvasProps||{},children:t.annotations},b.id)},b.id)})},t.reuseAtlas?"":s.currentSequenceIndex),t.children]})}),jt=(0,Xo.forwardRef)(function({children:t,height:n,annotations:i,canvasProps:r,spacing:s,header:l,components:u,mode:f,reuseAtlas:p,renderPreset:c,runtimeOptions:m,annotationPopup:y,name:w,svgTheme:v,updateViewportTimeout:S,renderContextMenu:E,keepCanvasScale:R,renderAnnotationContextMenu:b,...I},M){let T=Io();return(0,ln.jsx)(Ws,{name:w,children:(0,ln.jsx)(bo,{vault:T,children:(0,ln.jsx)(vm,{...I,children:(0,ln.jsx)(LO,{ref:M,height:n,components:u,spacing:s,canvasProps:r,annotations:i,header:l,mode:f,reuseAtlas:p,renderPreset:c,runtimeOptions:m,annotationPopup:y,svgTheme:v,updateViewportTimeout:S,renderContextMenu:E,keepCanvasScale:R,renderAnnotationContextMenu:b,children:t})})})})});jt.RenderImage=$r;jt.RenderCanvas=Vo;jt.RenderAnnotationPage=jr;jt.RenderAnnotation=zo;jt.Viewer=wf;jt.CanvasBackground=Xd;jt.Audio=zd;jt.Video=Jd;jt.Model=Vd;jt.AudioHTML=bg;jt.VideoHTML=Wg;jt.ModelHTML=Rg;jt.PlaceholderCanvas=oE;jt.getAtlasStoreByName=fg;var aE=A(Q(),1);var li=A(Q(),1);function Ay(e){let[t,n]=(0,li.useState)(0),i=st(),r=ve(i,T=>T.tool.enabled),s=ve(i,T=>T.tool.requestId),l=ve(i,T=>T.getRequestId),u=ve(i,T=>T.requestAnnotation),f=ve(i,T=>T.completeRequest),p=ve(i,T=>T.cancelRequest),c=(0,li.useRef)(e?.onSuccess);c.current=e?.onSuccess;let[m,y]=(0,li.useState)(!1),[w,v]=(0,li.useState)(null),[S,E]=(0,li.useState)(null),R=r&&s!==S,b=r&&s===S,I=(0,li.useCallback)(async(T,_)=>{if(S){let U=c.current;y(!0);let H=await u(T,{..._,requestId:S});if(H)return U?.(H),n(B=>B+1),y(!1),v(H),H;let Z={id:S,cancelled:!0,...ml(T)};return U?.(Z),v(Z),n(B=>B+1),y(!1),Z}return null},[u,S]),M=(0,li.useCallback)(()=>{v(null),y(!1)},[]);return(0,li.useEffect)(()=>{let T=l();return E(T.requestId),()=>{T.clear()}},[t]),{id:t,busy:R,isPending:m,isActive:b,requestId:S,requestAnnotation:I,cancelRequest:()=>S?p(S):void 0,completeRequest:()=>S?f(S):void 0,reset:M,data:w}}var FO=[{name:"Default",outer:{borderWidth:4,borderColor:"rgba(255, 255, 255, .4)"},inner:{borderWidth:2,borderColor:"#000"}},{name:"High contrast",outer:{borderWidth:3,borderColor:"#fff"},inner:{borderWidth:1,borderColor:"#000"}},{name:"Lightsaber",outer:{borderWidth:"4",borderColor:"rgba(56,68,255,0.64)"},inner:{borderWidth:"2",borderColor:"#fff"}},{name:"Bright",outer:{borderWidth:"6",borderColor:"#25d527"},inner:{borderWidth:"3",borderColor:"#a916ff"}},{name:"pink",outer:{borderWidth:"4",borderColor:"#ff00ff"},inner:{borderWidth:"2",borderColor:"#ffffff"}},{name:"fine (dark)",outer:{borderWidth:"1",borderColor:"#000000"},inner:{}},{name:"fine (light)",outer:{borderWidth:"1",borderColor:"#FFF"},inner:{}}];function Ty(e){let{id:t,data:n,requestAnnotation:i,cancelRequest:r,isPending:s}=Ay({onSuccess:l=>{e.updateShape(l.polygon)}});return(0,aE.useEffect)(()=>(i({type:"polygon",open:e.shape?.open,points:e.shape?.points}),()=>{r()}),[]),null}var Xt=A(Q(),1);var lE=A(D(),1),bf=(0,Xt.createContext)(Ei());bf.displayName="SelectorHelper";function NO({children:e}){return(0,lE.jsx)(bf.Provider,{value:(0,Xt.useMemo)(()=>Ei(),[]),children:e})}function zO(){return(0,Xt.useContext)(bf)}function My(e){let t=_y(),[n,i]=(0,Xt.useState)(!1);(0,Xt.useEffect)(()=>t.withSelector(e).on("highlight",()=>{i(!0)}),[t,e]),(0,Xt.useEffect)(()=>t.withSelector(e).on("clear-highlight",()=>{i(!1)}),[t,e]);let r=(0,Xt.useCallback)(l=>{t.emit("click",{selectorId:e,event:l})},[e,t]),s=(0,Xt.useCallback)(l=>{t.emit("hover",{selectorId:e,event:l})},[e,t]);return{controller:t,onClick:r,onHover:s,isHighlighted:n}}function _y(){let e=(0,Xt.useContext)(bf);return(0,Xt.useMemo)(()=>({withSelector(t){return{on(n,i){let r=s=>{s&&s.selectorId===t&&i(s)};return e.on(n,r),()=>{e.off(n,r)}},emit(n,i){e.emit(n,{...i,selectorId:t})}}},on(t,n){return e.on(t,n),()=>{e.off(t,n)}},emit(t,n){e.emit(t,n)}}),[e])}function DO(){let e=_y();return(0,Xt.useMemo)(()=>({withSelector(t){return{highlight(){e.emit("highlight",{selectorId:t})},clearHighlight(){e.emit("clear-highlight",{selectorId:t})},zoomTo(){e.emit("zoom-to",{selectorId:t})},addEventListener(n,i){return e.emit("event-listener",{selectorId:t,name:n,callback:i}),()=>{e.emit("remove-event-listener",{selectorId:t,name:n,callback:i})}},getImagePreview(){return new Promise((n,i)=>{e.emit("image-preview-request",{selectorId:t,resolve:n,reject:i})})},on(n,i){return e.withSelector(t).on(n,i)}}},highlight(t){e.emit("highlight",{selectorId:t})},clearHighlight(t){e.emit("clear-highlight",{selectorId:t})},zoomTo(t){e.emit("zoom-to",{selectorId:t})},addEventListener(t,n,i){return e.emit("event-listener",{selectorId:t,name:n,callback:i}),()=>{e.emit("remove-event-listener",{selectorId:t,name:n,callback:i})}},getImagePreview(t){return new Promise((n,i)=>{e.emit("image-preview-request",{selectorId:t,resolve:n,reject:i})})},on(t,n){return e.on(t,n)}}),[e])}var Oy=A(D(),1);function BO(e){let t=Ce(),n=e.annotationBucket,i=e.readOnly,r=e.id,{onClick:s,isHighlighted:l}=My(e.id),u=gl(),f=l?u.highlighted:u[n||"hidden"]||u.hidden;if(!t)return null;if(i){let p="shape",c=e.polygon,m=c.open;return c?(0,Oy.jsx)(p,{id:`shape-${r}`,points:c.points,open:m,onClick:s,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:f}):null}return(0,Oy.jsx)(Ty,{image:t,shape:e.polygon||{id:e.id,open:!0,points:[]},updateShape:e.updatePolygon,theme:e.theme,controlsHtmlId:e.controlsHtmlId,renderControls:e.renderControls})}var Rf=A(Q(),1),Jl=A(D(),1),VO=(0,Rf.forwardRef)(function({canvasId:t},n){let i=Pd(),r=$l(t||i?.id),s=ze();return(0,Rf.useImperativeHandle)(n,()=>r,[t,i]),!i||r.enabledPageIds.length===0?null:(0,Jl.jsx)(Jl.Fragment,{children:r.enabledPageIds.map(l=>(0,Jl.jsx)(jt.RenderAnnotationPage,{page:s.get(l)},l))})});var cE=A(Q(),1);var uE=A(Q(),1);var kt=A(D(),1);function eu({metadata:e=[],config:t,labelWidth:n=16,showEmptyMessage:i=!0,allowHtml:r,emptyFallback:s,classes:l={},emptyMessage:u="No metadata available",emptyValueFallback:f="No value",emptyLabelFallback:p="",separator:c,tableFooter:m,tableHeader:y}){let w=(0,uE.useMemo)(()=>{let S=(t||[]).reduce((R,b)=>[...R,...b.keys],[]),E={};for(let R of e){let b=R&&R.label?Object.values(R.label):[];for(let I of b)if(I&&I.length&&(S.indexOf(`metadata.${I[0]}`)!==-1||S.length===0)&&R){let M=`metadata.${I[0]}`;E[M]=E[M]?E[M]:[],E[M].push(R);break}}return E},[t,e]);return Object.keys(w).length===0&&i?(0,kt.jsx)(kt.Fragment,{children:s})||(0,kt.jsx)("div",{className:l.empty,children:u}):t&&t.length?(0,kt.jsxs)("table",{className:l.container,children:[y,(0,kt.jsx)("tbody",{children:t.map((S,E)=>{let R=[];for(let b of S.keys)for(let I of w[b]||[])R.push((0,kt.jsx)(Wn,{enableDangerouslySetInnerHTML:r,defaultText:f,separator:c,children:I.value},E+"__"+b));return R.length===0?null:(0,kt.jsxs)("tr",{className:l.row,children:[(0,kt.jsx)("td",{className:l.label,style:n?{minWidth:n}:{},children:(0,kt.jsx)(Wn,{enableDangerouslySetInnerHTML:r,separator:c,defaultText:p,children:S.label})}),(0,kt.jsx)("td",{className:l.value,children:R})]},E)})}),m]}):(0,kt.jsxs)("table",{className:l.container,children:[y,(0,kt.jsx)("tbody",{children:e&&e.length?e.map((S,E)=>S?(0,kt.jsxs)("tr",{className:l.row,children:[(0,kt.jsx)("td",{className:l.label,style:n?{minWidth:n}:{},children:(0,kt.jsx)(Wn,{enableDangerouslySetInnerHTML:r,defaultText:f,separator:c,children:S.label})}),(0,kt.jsx)("td",{className:l.value,children:(0,kt.jsx)(Wn,{enableDangerouslySetInnerHTML:r,defaultText:f,separator:c,children:S.value})})]},E):null):null}),m]})}var dE=A(D(),1);function jO(e){let t=It(),n=Ce(),i=qa(),r=(0,cE.useMemo)(()=>{let s=t?.metadata||[],l=n?.metadata||[],u=i?.metadata||[];return[...s,...l,...u]},[t,n,i]);return(0,dE.jsx)(eu,{metadata:r,...e})}var If=A(Q(),1);var fE=A(Q(),1);function Ef(e,t={},n=[]){return(0,fE.useMemo)(()=>{if(!e)return null;let i=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(i="default"));let r=Xc(e);return Kc({identifier:r.identifier,server:r.server,scheme:r.scheme,type:"image",size:{max:!t.size?.width&&!t.size?.height,confined:!1,upscaled:!1,...t.size||{}},format:t.format||"jpg",region:t.region||{full:!0},rotation:t?.rotation?Number.isInteger(t.rotation)?{angle:t.rotation}:t.rotation:{angle:0},quality:i||"default",prefix:r.prefix,originalPath:r.originalPath})},[...n])}var tu=A(D(),1);function HO(e){let t=typeof e.src=="string"?e.src:e.src.id,n=Rl(),[i,r]=(0,If.useState)(!1),s;if(t){let u=n.loadServiceSync({id:t});u&&(s=u)}!s&&!i&&n.loadService({id:t}).then(()=>{r(!0)});let l=Ef(s,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[i,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return(0,If.useEffect)(()=>()=>{r(!1)},[t]),l?(0,tu.jsx)("img",{src:l,alt:e.alt,className:e.className,style:e.style}):(0,tu.jsx)(hE,{...e,fetchImageService:!1})}function hE(e){if(e.fetchImageService)return(0,tu.jsx)(HO,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,n=Ef(t,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return n?(0,tu.jsx)("img",{src:n,alt:e.alt,className:e.className,style:e.style}):null}var Cf=A(Q(),1);var Jr=A(D(),1);function WO({src:e,errorFallback:t,interactive:n,skipSizes:i,children:r,renderViewerControls:s,viewControlsDeps:l,fluid:u,x:f,y:p,...c}){let[m,y]=(0,Cf.useState)(),w=t||Sf,[v,S]=Ql(),E=(0,Cf.useMemo)(()=>{let b=S[e]?.status,I=v({id:e},{});return I?.height&&I.width&&b!=="loading"?{id:e,width:I.width,height:I.height,service:I,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:I.width,height:I.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:I.width,height:I.height}}}:null},[v,e,S]);if(!E||!E.height||!E.width)return null;let R=u?void 0:c.homePosition?c.homePosition.width/c.homePosition.height:E.width/E.height;return(0,Jr.jsx)(ra,{resetKeys:[],fallbackRender:b=>(0,Jr.jsx)(w,{...c,...b}),children:(0,Jr.jsx)(wf,{...c,aspectRatio:R,containerProps:{style:{position:"relative"},...c.containerProps||{}},onCreated:b=>{y(b),c.onCreated&&c.onCreated(b)},children:(0,Jr.jsxs)(Pi.Provider,{value:m,children:[(0,Jr.jsx)($r,{image:E,id:E.id,isStatic:!n,x:f,y:p},E.id),(0,Jr.jsx)(UO,{viewerPreset:m,renderViewerControls:s,image:E,src:e,viewControlsDeps:l}),r]})})})}function UO({viewerPreset:e,renderViewerControls:t,image:n,src:i,viewControlsDeps:r}){return Kt(e&&t?"overlay":"none",`canvas-portal-controls-${i}`,Pi.Provider,t&&n?{value:e||null,children:t({image:n,images:[n],type:"images"})}:{},[i,e,...r||[]]),null}var pE=A(D(),1);function qO(e){let t=It();return(0,pE.jsx)(eu,{metadata:t?.metadata||[],...e})}var Pf=A(Q(),1);var ky=A(gE(),1);var On=A(D(),1),{LazyLoadComponent:GO}=ky||ky.default;function Ly(e){let{size:t,visible:n,classes:i,canvasId:r,figure:s}=e,l=t?.width||128,u=t?.height||t?.width||128,f=(0,On.jsx)($O,{...e}),p=(0,On.jsx)(GO,{threshold:300,style:{height:u,width:l},visibleByDefault:n,children:r?(0,On.jsx)(ni,{canvas:r,children:f}):f});return s?(0,On.jsx)("figure",{className:i?.figure,children:p}):p}function $O({fallback:e,size:t,classes:n,showLabel:i,alt:r,dereference:s=!1}){let l=Ce(),u=t?.width||128,f=t?.height||t?.width||128,p=r||Fd(l?.label)||"",c=lr({width:u,height:f,allowUnsafe:!0},s);return!c||c.type!=="fixed"?(0,On.jsx)(On.Fragment,{children:e}):(0,On.jsxs)(On.Fragment,{children:[(0,On.jsx)("div",{className:n?.imageWrapper,children:(0,On.jsx)("img",{className:n?.img,src:c.id,alt:p})}),i?(0,On.jsx)(Wn,{as:"figcaption",className:n?.label,children:l?.label}):null]})}var sa=A(D(),1);function QO({scrollBehaviour:e,dereference:t,flat:n,size:i,classes:r={},showLabel:s,figure:l,fallback:u}){let f=(0,Pf.useRef)(null),{items:p,sequence:c,currentSequenceIndex:m,setSequenceIndex:y}=Po(),w={row:r.selected?.row||r.row,item:r.selected?.item||r.item,figure:r.selected?.figure||r.figure,img:r.selected?.img||r.img,label:r.selected?.label||r.label,imageWrapper:r.selected?.imageWrapper||r.imageWrapper};(0,Pf.useLayoutEffect)(()=>{if(!f.current)return;let S=f.current.querySelector("[data-selected=true]");S&&S.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[m]);let v=[];for(let S of c){let E=[],R=c[m]===S;for(let b of S){let I=p[b];E.push((0,sa.jsx)("div",{className:R?w.item:r.item,children:(0,sa.jsx)(Ly,{classes:R?w:r,canvasId:I.id,size:i,dereference:t,showLabel:s,figure:l,placeholder:(0,sa.jsx)("div",{style:{height:128,width:128}}),fallback:u})},b))}if(n){v.push(E);continue}v.push((0,sa.jsx)("div",{onClick:b=>{y(c.indexOf(S))},"data-selected":R,className:R?w.row:r.row,children:E},S.join("-")))}return(0,sa.jsx)("div",{ref:f,className:r.container,children:v})}function Fy(){let e=st(),t=ve(e,s=>s.completeRequest),n=ve(e,s=>s.polygonState.currentTool),i=ve(e,s=>s.polygonState.selectedStamp),r=ve(e,s=>s.switchTool);return{completeRequest:t,currentTool:n,selectedStamp:i,switchTool:r}}var $t=A(D(),1),YO={draw:!0,polygon:!0,line:!0,lineBox:!0,box:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0,pen:!0};function KO({showShapes:e=!0,enabled:t=YO,classNames:n={},icons:i={}}){let{currentTool:r,switchTool:s,selectedStamp:l}=Fy();return(0,$t.jsxs)($t.Fragment,{children:[r,(0,$t.jsx)("button",{className:n.button,onClick:s.pointer,"data-active":r==="pointer",children:i.PointerIcon||"Pointer"}),(0,$t.jsx)("button",{className:n.button,onClick:s.hand,"data-active":r==="hand",children:i.HandIcon||"Hand"}),e?(0,$t.jsxs)($t.Fragment,{children:[t.box&&(0,$t.jsx)("button",{className:n.button,onClick:s.box,"data-active":r==="box",children:i.BoxIcon||"Box"}),t.pen&&(0,$t.jsx)("button",{className:n.button,onClick:s.pen,"data-active":r==="pen",children:i.PenIcon||"Pen"}),t.draw&&(0,$t.jsx)("button",{className:n.button,onClick:s.draw,"data-active":r==="pencil",children:i.DrawIcon||"Draw"}),t.line&&(0,$t.jsx)("button",{className:n.button,onClick:s.line,"data-active":r==="line",children:i.LineIcon||"Line"}),t.lineBox&&(0,$t.jsx)("button",{className:n.button,onClick:s.lineBox,"data-active":r==="lineBox",children:i.LineBoxIcon||"LineBox"}),t.triangle&&(0,$t.jsx)("button",{className:n.button,onClick:s.triangle,"data-active":r==="stamp"&&l?.id==="triangle",children:i.TriangleIcon||"Triangle"}),t.hexagon&&(0,$t.jsx)("button",{className:n.button,onClick:s.hexagon,"data-active":r==="stamp"&&l?.id==="hexagon",children:i.HexagonIcon||"Hexagon"}),t.circle&&(0,$t.jsx)("button",{className:n.button,"data-active":r==="stamp"&&l?.id==="circle",onClick:s.circle,children:i.CircleIcon||"Circle"})]}):null,t.delete&&(0,$t.jsx)("button",{className:n.button,onClick:s.remove,children:i.DeleteForeverIcon||"Delete"})]})}var yE=A(D(),1);function XO({annotation:e,children:t}){return(0,yE.jsx)(dn,{value:{annotation:e},children:t})}var vE=A(D(),1);function ZO({annotationPage:e,children:t}){return(0,vE.jsx)(dn,{value:{annotationPage:e},children:t})}var xE=A(D(),1);function JO({collection:e,children:t}){return(0,xE.jsx)(dn,{value:{collection:e},children:t})}function ek(e,t={}){return Yo(t)}var eo=A(Q(),1);function tk({canvasId:e}={}){let t=Pd(),n=Eo(),i=(0,eo.useMemo)(()=>e?[e]:t?[t.id]:n.map(p=>p.id),[e,t,n]),[r,s]=(0,eo.useState)({}),l=zl();(0,eo.useEffect)(()=>{let p=c=>{let m=c.partOf.canvasId;m&&s(y=>({...y,[m]:c.choice}))};return l.on("choice-change",p),()=>{l.off("choice-change",p)}},[]);let u=(0,eo.useMemo)(()=>{let p=[];for(let c of i){let m=r[c];m&&p.push({canvasId:c,choice:m})}return p},[i,r]),f=(0,eo.useMemo)(()=>({makeChoice:(p,c)=>{l.emit("make-choice",{choiceId:p,...c})}}),[l]);return{choices:u,actions:f}}function nk(e,t=!1){}function ik(e){let n=rn().manifest,i=e?e.map(r=>typeof r=="string"?r:r?.id):[];return qe(r=>{let s=n?r.iiif.entities.Manifest[n]:void 0,l=s?.items||[];if(typeof e>"u")return l;let u=[];for(let f of s?.items||[])i.indexOf(f.id)!==-1&&u.push(f);return u},[i.join("/")])}var SE=A(Q(),1);function rk(e,t=[]){let{id:n,selector:i}=e,r=rn(),s=n||r.collection,l=qe(u=>s?u.iiif.entities.Collection[s]:void 0,[s]);return(0,SE.useMemo)(()=>{if(l)return i?i(l):l},[l,i,...t])}var Af=A(Q(),1);function ok(){let e=st(),t=ve(e,i=>i.completeRequest),n=ve(e,i=>i.cancelRequest);return(0,Af.useMemo)(()=>({saveAnnotation:()=>{(0,Af.startTransition)(()=>{t()})},cancelRequest:n}),[t,n])}var wE=A(Q(),1);function sk({requestId:e}={}){let t=st(),n=ve(t,u=>u.metadata),i=ve(t,u=>u.tool.requestId),r=e||i,s=ve(t,u=>u.setMetadata),l=(0,wE.useCallback)(u=>s(u,r||void 0),[s,r]);return[r?n[r]||{}:{},l]}function ak(e){let t=st(),n=ve(t,i=>i.tool.requestId);Lo("polygons.start-transition",i=>{e.requestId&&n!==e.requestId||e?.onStart?.(i.transitionIntent)},[n,e.requestId]),Lo("polygons.end-transition",i=>{e.requestId&&n!==e.requestId||e?.onEnd?.(i.transitionIntent,i.response)},[n,e.requestId]),Lo("polygons.transition",i=>{e.requestId&&n!==e.requestId||e?.onTransition?.(i.transitionIntent)},[n,e.requestId])}var Tf=A(Q(),1);function lk(e,t,n,i,r=[]){let s=ze(),l=(0,Tf.useMemo)(()=>vl(s),[s]);(0,Tf.useEffect)(()=>{let u=e;return u?(l.addEventListener(u,t,n,i),()=>{l.removeEventListener(u,t,n)}):()=>{}},[l,e,t,...r])}function uk(e,t){let{id:n,isLoaded:i,error:r,resource:s,requestId:l,cached:u}=Ua(e,t);return{id:n,isLoaded:i,error:r,manifest:s,requestId:l,cached:u}}var Gi=A(Q(),1);function Ny({cacheKey:e}={}){let t=Ce(),n=Yo(),i=ze(),r=Gs(),s=zb(),[l,u]=(0,Gi.useState)(void 0),[f,p]=(0,Gi.useState)(!1),[c,m]=(0,Gi.useState)("idle"),[y,w]=(0,Gi.useState)(void 0),v=t?t.id:"undefined",S=(0,Gi.useMemo)(()=>{try{if(t&&n.length){let R=n[0],b=i.get(R.body[0]),M=Lr(b)[0];return M&&r(M,{width:M.width||t.width,height:M.height||t.height},!0)||void 0}}catch(R){console.error(R)}},[v,e,t]),E=c==="success"&&l?l:S;return(0,Gi.useEffect)(()=>{(async()=>{try{if(t&&n.length){let R=n[0],b=i.get(R.body[0]),M=Lr(b)[0];if(!M)return;p(!0),m("loading");try{let T=await s(M,{width:M.width||t.width,height:M.height||t.height})||void 0;u(T),m("success"),p(!1)}catch(T){m("error"),w(T)}}}catch(R){m("error"),w(R)}})()},[v,e]),(0,Gi.useMemo)(()=>({data:E,isFetching:f,status:c,error:y}),[E,f,c,y])}function ck(){let e=Ny();return{isLoading:e.isFetching,tile:e.data?{id:e.data.id||e.data["@id"],width:e.data.width,height:e.data.height,imageService:e.data,thumbnail:void 0}:null}}var bE=A(Q(),1);function dk(){let e=ze();return(0,bE.useMemo)(()=>Vr(e),[e])}function fk(e,t){let{x:n,y:i,width:r,height:s}=e,{x:l,y:u}=t,{width:f,height:p}=t;return n+r>l&&n<l+f&&i+s>u&&i<u+p}var hk=!0,zy="Invariant failed";function RE(e,t){if(!e){if(hk)throw new Error(zy);var n=typeof t=="function"?t():t,i=n?"".concat(zy,": ").concat(n):zy;throw new Error(i)}}function pk(e,t){let n=e.boundingBox||Br(e.polygon);if(e.polygon&&!js(e.polygon.points)){let i=e.target||Hs(e.polygon,t);return RE(i?.type==="SvgSelector"),{type:"SvgSelector",points:e.polygon.points,spatial:{unit:"pixel",...n||{}},svgShape:e.polygon.open?"polyline":"polygon",svg:i.value}}return{type:"BoxSelector",spatial:n}}return VI(mk);})();
125
125
  /*! Bundled license information:
126
126
 
127
127
  react/cjs/react-jsx-runtime.production.min.js: