react-iiif-vault 1.5.10 → 2.0.1

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,14 +1,18 @@
1
- "use strict";var ReactIIIFVault=(()=>{var Lb=Object.create;var Nl=Object.defineProperty;var Fb=Object.getOwnPropertyDescriptor;var zb=Object.getOwnPropertyNames;var Nb=Object.getPrototypeOf,Bb=Object.prototype.hasOwnProperty;var Rt=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),Db=(e,t)=>{for(var i in t)Nl(e,i,{get:t[i],enumerable:!0})},Ty=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of zb(t))!Bb.call(e,r)&&r!==i&&Nl(e,r,{get:()=>t[r],enumerable:!(n=Fb(t,r))||n.enumerable});return e};var R=(e,t,i)=>(i=e!=null?Lb(Nb(e)):{},Ty(t||!e||!e.__esModule?Nl(i,"default",{value:e,enumerable:!0}):i,e)),jb=e=>Ty(Nl({},"__esModule",{value:!0}),e);var H=Rt((iT,_y)=>{"use strict";_y.exports=React});var Wy=Rt((aT,Uy)=>{"use strict";var Ny=!1,Nr,vh,xh,jl,Vl,By,Ul,Sh,wh,bh,Dy,Ch,Ph,jy,Vy;function fi(){if(!Ny){Ny=!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),i=/(Mac OS X)|(Windows)|(Linux)/.exec(e);if(Ch=/\b(iPhone|iP[ao]d)/.exec(e),Ph=/\b(iP[ao]d)/.exec(e),bh=/Android/i.exec(e),jy=/FBAN\/\w+;/i.exec(e),Vy=/Mobile/i.exec(e),Dy=!!/Win64/.exec(e),t){Nr=t[1]?parseFloat(t[1]):t[5]?parseFloat(t[5]):NaN,Nr&&document&&document.documentMode&&(Nr=document.documentMode);var n=/(?:Trident\/(\d+.\d+))/.exec(e);By=n?parseFloat(n[1])+4:Nr,vh=t[2]?parseFloat(t[2]):NaN,xh=t[3]?parseFloat(t[3]):NaN,jl=t[4]?parseFloat(t[4]):NaN,jl?(t=/(?:Chrome\/(\d+\.\d+))/.exec(e),Vl=t&&t[1]?parseFloat(t[1]):NaN):Vl=NaN}else Nr=vh=xh=Vl=jl=NaN;if(i){if(i[1]){var r=/(?:Mac OS X (\d+(?:[._]\d+)?))/.exec(e);Ul=r?parseFloat(r[1].replace("_",".")):!0}else Ul=!1;Sh=!!i[2],wh=!!i[3]}else Ul=Sh=wh=!1}}var Eh={ie:function(){return fi()||Nr},ieCompatibilityMode:function(){return fi()||By>Nr},ie64:function(){return Eh.ie()&&Dy},firefox:function(){return fi()||vh},opera:function(){return fi()||xh},webkit:function(){return fi()||jl},safari:function(){return Eh.webkit()},chrome:function(){return fi()||Vl},windows:function(){return fi()||Sh},osx:function(){return fi()||Ul},linux:function(){return fi()||wh},iphone:function(){return fi()||Ch},mobile:function(){return fi()||Ch||Ph||bh||Vy},nativeApp:function(){return fi()||jy},android:function(){return fi()||bh},ipad:function(){return fi()||Ph}};Uy.exports=Eh});var qy=Rt((lT,Hy)=>{"use strict";var Wl=!!(typeof window<"u"&&window.document&&window.document.createElement),qb={canUseDOM:Wl,canUseWorkers:typeof Worker<"u",canUseEventListeners:Wl&&!!(window.addEventListener||window.attachEvent),canUseViewport:Wl&&!!window.screen,isInWorker:!Wl};Hy.exports=qb});var Yy=Rt((uT,Gy)=>{"use strict";var Qy=qy(),$y;Qy.canUseDOM&&($y=document.implementation&&document.implementation.hasFeature&&document.implementation.hasFeature("","")!==!0);function Qb(e,t){if(!Qy.canUseDOM||t&&!("addEventListener"in document))return!1;var i="on"+e,n=i in document;if(!n){var r=document.createElement("div");r.setAttribute(i,"return;"),n=typeof r[i]=="function"}return!n&&$y&&e==="wheel"&&(n=document.implementation.hasFeature("Events.wheel","3.0")),n}Gy.exports=Qb});var tv=Rt((cT,ev)=>{"use strict";var $b=Wy(),Gb=Yy(),Xy=10,Ky=40,Zy=800;function Jy(e){var t=0,i=0,n=0,r=0;return"detail"in e&&(i=e.detail),"wheelDelta"in e&&(i=-e.wheelDelta/120),"wheelDeltaY"in e&&(i=-e.wheelDeltaY/120),"wheelDeltaX"in e&&(t=-e.wheelDeltaX/120),"axis"in e&&e.axis===e.HORIZONTAL_AXIS&&(t=i,i=0),n=t*Xy,r=i*Xy,"deltaY"in e&&(r=e.deltaY),"deltaX"in e&&(n=e.deltaX),(n||r)&&e.deltaMode&&(e.deltaMode==1?(n*=Ky,r*=Ky):(n*=Zy,r*=Zy)),n&&!t&&(t=n<1?-1:1),r&&!i&&(i=r<1?-1:1),{spinX:t,spinY:i,pixelX:n,pixelY:r}}Jy.getEventType=function(){return $b.firefox()?"DOMMouseScroll":Gb("wheel")?"wheel":"mousewheel"};ev.exports=Jy});var nv=Rt((dT,iv)=>{"use strict";iv.exports=tv()});var ov=Rt(Hl=>{"use strict";var Yb=H(),Xb=Symbol.for("react.element"),Kb=Symbol.for("react.fragment"),Zb=Object.prototype.hasOwnProperty,Jb=Yb.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,eC={key:!0,ref:!0,__self:!0,__source:!0};function rv(e,t,i){var n,r={},a=null,l=null;i!==void 0&&(a=""+i),t.key!==void 0&&(a=""+t.key),t.ref!==void 0&&(l=t.ref);for(n in t)Zb.call(t,n)&&!eC.hasOwnProperty(n)&&(r[n]=t[n]);if(e&&e.defaultProps)for(n in t=e.defaultProps,t)r[n]===void 0&&(r[n]=t[n]);return{$$typeof:Xb,type:e,key:a,ref:l,props:r,_owner:Jb.current}}Hl.Fragment=Kb;Hl.jsx=rv;Hl.jsxs=rv});var B=Rt((pT,sv)=>{"use strict";sv.exports=ov()});var vv=Rt(Ye=>{"use strict";function Th(e,t){var i=e.length;e.push(t);e:for(;0<i;){var n=i-1>>>1,r=e[n];if(0<Ql(r,t))e[n]=t,e[i]=r,i=n;else break e}}function Ji(e){return e.length===0?null:e[0]}function Gl(e){if(e.length===0)return null;var t=e[0],i=e.pop();if(i!==t){e[0]=i;e:for(var n=0,r=e.length,a=r>>>1;n<a;){var l=2*(n+1)-1,c=e[l],p=l+1,m=e[p];if(0>Ql(c,i))p<r&&0>Ql(m,c)?(e[n]=m,e[p]=i,n=p):(e[n]=c,e[l]=i,n=l);else if(p<r&&0>Ql(m,i))e[n]=m,e[p]=i,n=p;else break e}}return t}function Ql(e,t){var i=e.sortIndex-t.sortIndex;return i!==0?i:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(uv=performance,Ye.unstable_now=function(){return uv.now()}):(Ah=Date,cv=Ah.now(),Ye.unstable_now=function(){return Ah.now()-cv});var uv,Ah,cv,yn=[],ar=[],oC=1,Bi=null,Yt=3,Yl=!1,Br=!1,Ds=!1,pv=typeof setTimeout=="function"?setTimeout:null,fv=typeof clearTimeout=="function"?clearTimeout:null,dv=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _h(e){for(var t=Ji(ar);t!==null;){if(t.callback===null)Gl(ar);else if(t.startTime<=e)Gl(ar),t.sortIndex=t.expirationTime,Th(yn,t);else break;t=Ji(ar)}}function Mh(e){if(Ds=!1,_h(e),!Br)if(Ji(yn)!==null)Br=!0,Oh(kh);else{var t=Ji(ar);t!==null&&Lh(Mh,t.startTime-e)}}function kh(e,t){Br=!1,Ds&&(Ds=!1,fv(js),js=-1),Yl=!0;var i=Yt;try{for(_h(t),Bi=Ji(yn);Bi!==null&&(!(Bi.expirationTime>t)||e&&!yv());){var n=Bi.callback;if(typeof n=="function"){Bi.callback=null,Yt=Bi.priorityLevel;var r=n(Bi.expirationTime<=t);t=Ye.unstable_now(),typeof r=="function"?Bi.callback=r:Bi===Ji(yn)&&Gl(yn),_h(t)}else Gl(yn);Bi=Ji(yn)}if(Bi!==null)var a=!0;else{var l=Ji(ar);l!==null&&Lh(Mh,l.startTime-t),a=!1}return a}finally{Bi=null,Yt=i,Yl=!1}}var Xl=!1,$l=null,js=-1,mv=5,gv=-1;function yv(){return!(Ye.unstable_now()-gv<mv)}function Ih(){if($l!==null){var e=Ye.unstable_now();gv=e;var t=!0;try{t=$l(!0,e)}finally{t?Bs():(Xl=!1,$l=null)}}else Xl=!1}var Bs;typeof dv=="function"?Bs=function(){dv(Ih)}:typeof MessageChannel<"u"?(Rh=new MessageChannel,hv=Rh.port2,Rh.port1.onmessage=Ih,Bs=function(){hv.postMessage(null)}):Bs=function(){pv(Ih,0)};var Rh,hv;function Oh(e){$l=e,Xl||(Xl=!0,Bs())}function Lh(e,t){js=pv(function(){e(Ye.unstable_now())},t)}Ye.unstable_IdlePriority=5;Ye.unstable_ImmediatePriority=1;Ye.unstable_LowPriority=4;Ye.unstable_NormalPriority=3;Ye.unstable_Profiling=null;Ye.unstable_UserBlockingPriority=2;Ye.unstable_cancelCallback=function(e){e.callback=null};Ye.unstable_continueExecution=function(){Br||Yl||(Br=!0,Oh(kh))};Ye.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"):mv=0<e?Math.floor(1e3/e):5};Ye.unstable_getCurrentPriorityLevel=function(){return Yt};Ye.unstable_getFirstCallbackNode=function(){return Ji(yn)};Ye.unstable_next=function(e){switch(Yt){case 1:case 2:case 3:var t=3;break;default:t=Yt}var i=Yt;Yt=t;try{return e()}finally{Yt=i}};Ye.unstable_pauseExecution=function(){};Ye.unstable_requestPaint=function(){};Ye.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var i=Yt;Yt=e;try{return t()}finally{Yt=i}};Ye.unstable_scheduleCallback=function(e,t,i){var n=Ye.unstable_now();switch(typeof i=="object"&&i!==null?(i=i.delay,i=typeof i=="number"&&0<i?n+i:n):i=n,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=i+r,e={id:oC++,callback:t,priorityLevel:e,startTime:i,expirationTime:r,sortIndex:-1},i>n?(e.sortIndex=i,Th(ar,e),Ji(yn)===null&&e===Ji(ar)&&(Ds?(fv(js),js=-1):Ds=!0,Lh(Mh,i-n))):(e.sortIndex=r,Th(yn,e),Br||Yl||(Br=!0,Oh(kh))),e};Ye.unstable_shouldYield=yv;Ye.unstable_wrapCallback=function(e){var t=Yt;return function(){var i=Yt;Yt=t;try{return e.apply(this,arguments)}finally{Yt=i}}}});var Sv=Rt((yT,xv)=>{"use strict";xv.exports=vv()});var bv=Rt((vT,wv)=>{"use strict";wv.exports=function(t){var i={},n=H(),r=Sv(),a=Object.assign;function l(o){for(var s="https://reactjs.org/docs/error-decoder.html?invariant="+o,u=1;u<arguments.length;u++)s+="&args[]="+encodeURIComponent(arguments[u]);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 c=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED,p=Symbol.for("react.element"),m=Symbol.for("react.portal"),h=Symbol.for("react.fragment"),y=Symbol.for("react.strict_mode"),S=Symbol.for("react.profiler"),w=Symbol.for("react.provider"),v=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),C=Symbol.for("react.suspense_list"),I=Symbol.for("react.memo"),E=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 k=Symbol.iterator;function O(o){return o===null||typeof o!="object"?null:(o=k&&o[k]||o["@@iterator"],typeof o=="function"?o:null)}function Q(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 h:return"Fragment";case m:return"Portal";case S:return"Profiler";case y:return"StrictMode";case A:return"Suspense";case C: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 x:var s=o.render;return o=o.displayName,o||(o=s.displayName||s.name||"",o=o!==""?"ForwardRef("+o+")":"ForwardRef"),o;case I:return s=o.displayName||null,s!==null?s:Q(o.type)||"Memo";case E:s=o._payload,o=o._init;try{return Q(o(s))}catch{}}return null}function V(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 Q(s);case 8:return s===y?"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 J(o){var s=o,u=o;if(o.alternate)for(;s.return;)s=s.return;else{o=s;do s=o,s.flags&4098&&(u=s.return),o=s.return;while(o)}return s.tag===3?u:null}function U(o){if(J(o)!==o)throw Error(l(188))}function q(o){var s=o.alternate;if(!s){if(s=J(o),s===null)throw Error(l(188));return s!==o?null:o}for(var u=o,d=s;;){var f=u.return;if(f===null)break;var g=f.alternate;if(g===null){if(d=f.return,d!==null){u=d;continue}break}if(f.child===g.child){for(g=f.child;g;){if(g===u)return U(f),o;if(g===d)return U(f),s;g=g.sibling}throw Error(l(188))}if(u.return!==d.return)u=f,d=g;else{for(var b=!1,T=f.child;T;){if(T===u){b=!0,u=f,d=g;break}if(T===d){b=!0,d=f,u=g;break}T=T.sibling}if(!b){for(T=g.child;T;){if(T===u){b=!0,u=g,d=f;break}if(T===d){b=!0,d=g,u=f;break}T=T.sibling}if(!b)throw Error(l(189))}}if(u.alternate!==d)throw Error(l(190))}if(u.tag!==3)throw Error(l(188));return u.stateNode.current===u?o:s}function ee(o){return o=q(o),o!==null?Me(o):null}function Me(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){var s=Me(o);if(s!==null)return s;o=o.sibling}return null}function pe(o){if(o.tag===5||o.tag===6)return o;for(o=o.child;o!==null;){if(o.tag!==4){var s=pe(o);if(s!==null)return s}o=o.sibling}return null}var Re=Array.isArray,ke=t.getPublicInstance,He=t.getRootHostContext,qe=t.getChildHostContext,$=t.prepareForCommit,ve=t.resetAfterCommit,it=t.createInstance,Qe=t.appendInitialChild,$e=t.finalizeInitialChildren,N=t.prepareUpdate,G=t.shouldSetTextContent,de=t.createTextInstance,ye=t.scheduleTimeout,ge=t.cancelTimeout,Ve=t.noTimeout,Fe=t.isPrimaryRenderer,Pe=t.supportsMutation,ne=t.supportsPersistence,he=t.supportsHydration,Oe=t.getInstanceFromNode,ot=t.preparePortalMount,Ri=t.getCurrentEventPriority,Dt=t.detachDeletedInstance,Wt=t.supportsMicrotasks,fs=t.scheduleMicrotask,Ti=t.supportsTestSelectors,Zc=t.findFiberRoot,Wa=t.getBoundingRect,ms=t.getTextContent,ln=t.isHiddenSubtree,gs=t.matchAccessibilityRole,Jc=t.setFocusIfFocusable,Y=t.setupIntersectionObserver,L=t.appendChild,X=t.appendChildToContainer,K=t.commitTextUpdate,be=t.commitMount,Ae=t.commitUpdate,je=t.insertBefore,j=t.insertInContainerBefore,W=t.removeChild,ue=t.removeChildFromContainer,oe=t.resetTextContent,se=t.hideInstance,Ie=t.hideTextInstance,Xe=t.unhideInstance,Ke=t.unhideTextInstance,Ue=t.clearContainer,Pt=t.cloneInstance,st=t.createContainerChildSet,Et=t.appendChildToContainerChildSet,Gn=t.finalizeContainerChildren,Qi=t.replaceContainerChildren,Ar=t.cloneHiddenInstance,ys=t.cloneHiddenTextInstance,Ha=t.canHydrateInstance,P1=t.canHydrateTextInstance,E1=t.canHydrateSuspenseInstance,Qm=t.isSuspenseInstancePending,ed=t.isSuspenseInstanceFallback,A1=t.getSuspenseInstanceFallbackErrorDetails,I1=t.registerSuspenseInstanceRetry,qa=t.getNextHydratableSibling,R1=t.getFirstHydratableChild,T1=t.getFirstHydratableChildWithinContainer,_1=t.getFirstHydratableChildWithinSuspenseInstance,M1=t.hydrateInstance,k1=t.hydrateTextInstance,O1=t.hydrateSuspenseInstance,L1=t.getNextHydratableInstanceAfterSuspenseInstance,F1=t.commitHydratedContainer,z1=t.commitHydratedSuspenseInstance,N1=t.clearSuspenseBoundary,B1=t.clearSuspenseBoundaryFromContainer,D1=t.shouldDeleteUnhydratedTailInstances,j1=t.didNotMatchHydratedContainerTextInstance,V1=t.didNotMatchHydratedTextInstance,td;function vs(o){if(td===void 0)try{throw Error()}catch(u){var s=u.stack.trim().match(/\n( *(at )?)/);td=s&&s[1]||""}return`
2
- `+td+o}var id=!1;function nd(o,s){if(!o||id)return"";id=!0;var u=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(Z){var d=Z}Reflect.construct(o,[],s)}else{try{s.call()}catch(Z){d=Z}o.call(s.prototype)}else{try{throw Error()}catch(Z){d=Z}o()}}catch(Z){if(Z&&d&&typeof Z.stack=="string"){for(var f=Z.stack.split(`
3
- `),g=d.stack.split(`
4
- `),b=f.length-1,T=g.length-1;1<=b&&0<=T&&f[b]!==g[T];)T--;for(;1<=b&&0<=T;b--,T--)if(f[b]!==g[T]){if(b!==1||T!==1)do if(b--,T--,0>T||f[b]!==g[T]){var z=`
5
- `+f[b].replace(" at new "," at ");return o.displayName&&z.includes("<anonymous>")&&(z=z.replace("<anonymous>",o.displayName)),z}while(1<=b&&0<=T);break}}}finally{id=!1,Error.prepareStackTrace=u}return(o=o?o.displayName||o.name:"")?vs(o):""}var U1=Object.prototype.hasOwnProperty,rd=[],go=-1;function Yn(o){return{current:o}}function Ze(o){0>go||(o.current=rd[go],rd[go]=null,go--)}function Ge(o,s){go++,rd[go]=o.current,o.current=s}var Xn={},Ht=Yn(Xn),ai=Yn(!1),Ir=Xn;function yo(o,s){var u=o.type.contextTypes;if(!u)return Xn;var d=o.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===s)return d.__reactInternalMemoizedMaskedChildContext;var f={},g;for(g in u)f[g]=s[g];return d&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=s,o.__reactInternalMemoizedMaskedChildContext=f),f}function li(o){return o=o.childContextTypes,o!=null}function Qa(){Ze(ai),Ze(Ht)}function $m(o,s,u){if(Ht.current!==Xn)throw Error(l(168));Ge(Ht,s),Ge(ai,u)}function Gm(o,s,u){var d=o.stateNode;if(s=s.childContextTypes,typeof d.getChildContext!="function")return u;d=d.getChildContext();for(var f in d)if(!(f in s))throw Error(l(108,V(o)||"Unknown",f));return a({},u,d)}function $a(o){return o=(o=o.stateNode)&&o.__reactInternalMemoizedMergedChildContext||Xn,Ir=Ht.current,Ge(Ht,o),Ge(ai,ai.current),!0}function Ym(o,s,u){var d=o.stateNode;if(!d)throw Error(l(169));u?(o=Gm(o,s,Ir),d.__reactInternalMemoizedMergedChildContext=o,Ze(ai),Ze(Ht),Ge(Ht,o)):Ze(ai),Ge(ai,u)}var $i=Math.clz32?Math.clz32:q1,W1=Math.log,H1=Math.LN2;function q1(o){return o>>>=0,o===0?32:31-(W1(o)/H1|0)|0}var Ga=64,Ya=4194304;function xs(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 Xa(o,s){var u=o.pendingLanes;if(u===0)return 0;var d=0,f=o.suspendedLanes,g=o.pingedLanes,b=u&268435455;if(b!==0){var T=b&~f;T!==0?d=xs(T):(g&=b,g!==0&&(d=xs(g)))}else b=u&~f,b!==0?d=xs(b):g!==0&&(d=xs(g));if(d===0)return 0;if(s!==0&&s!==d&&!(s&f)&&(f=d&-d,g=s&-s,f>=g||f===16&&(g&4194240)!==0))return s;if(d&4&&(d|=u&16),s=o.entangledLanes,s!==0)for(o=o.entanglements,s&=d;0<s;)u=31-$i(s),f=1<<u,d|=o[u],s&=~f;return d}function Q1(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 $1(o,s){for(var u=o.suspendedLanes,d=o.pingedLanes,f=o.expirationTimes,g=o.pendingLanes;0<g;){var b=31-$i(g),T=1<<b,z=f[b];z===-1?(!(T&u)||T&d)&&(f[b]=Q1(T,s)):z<=s&&(o.expiredLanes|=T),g&=~T}}function od(o){return o=o.pendingLanes&-1073741825,o!==0?o:o&1073741824?1073741824:0}function Xm(){var o=Ga;return Ga<<=1,!(Ga&4194240)&&(Ga=64),o}function sd(o){for(var s=[],u=0;31>u;u++)s.push(o);return s}function Ss(o,s,u){o.pendingLanes|=s,s!==536870912&&(o.suspendedLanes=0,o.pingedLanes=0),o=o.eventTimes,s=31-$i(s),o[s]=u}function G1(o,s){var u=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 d=o.eventTimes;for(o=o.expirationTimes;0<u;){var f=31-$i(u),g=1<<f;s[f]=0,d[f]=-1,o[f]=-1,u&=~g}}function ad(o,s){var u=o.entangledLanes|=s;for(o=o.entanglements;u;){var d=31-$i(u),f=1<<d;f&s|o[d]&s&&(o[d]|=s),u&=~f}}var ze=0;function Km(o){return o&=-o,1<o?4<o?o&268435455?16:536870912:4:1}var ld=r.unstable_scheduleCallback,Zm=r.unstable_cancelCallback,Y1=r.unstable_shouldYield,X1=r.unstable_requestPaint,Mt=r.unstable_now,ud=r.unstable_ImmediatePriority,K1=r.unstable_UserBlockingPriority,cd=r.unstable_NormalPriority,Z1=r.unstable_IdlePriority,Ka=null,un=null;function J1(o){if(un&&typeof un.onCommitFiberRoot=="function")try{un.onCommitFiberRoot(Ka,o,void 0,(o.current.flags&128)===128)}catch{}}function eb(o,s){return o===s&&(o!==0||1/o===1/s)||o!==o&&s!==s}var Gi=typeof Object.is=="function"?Object.is:eb,An=null,Za=!1,dd=!1;function Jm(o){An===null?An=[o]:An.push(o)}function tb(o){Za=!0,Jm(o)}function cn(){if(!dd&&An!==null){dd=!0;var o=0,s=ze;try{var u=An;for(ze=1;o<u.length;o++){var d=u[o];do d=d(!0);while(d!==null)}An=null,Za=!1}catch(f){throw An!==null&&(An=An.slice(o+1)),ld(ud,cn),f}finally{ze=s,dd=!1}}return null}var vo=[],xo=0,Ja=null,el=0,_i=[],Mi=0,Rr=null,In=1,Rn="";function Tr(o,s){vo[xo++]=el,vo[xo++]=Ja,Ja=o,el=s}function eg(o,s,u){_i[Mi++]=In,_i[Mi++]=Rn,_i[Mi++]=Rr,Rr=o;var d=In;o=Rn;var f=32-$i(d)-1;d&=~(1<<f),u+=1;var g=32-$i(s)+f;if(30<g){var b=f-f%5;g=(d&(1<<b)-1).toString(32),d>>=b,f-=b,In=1<<32-$i(s)+f|u<<f|d,Rn=g+o}else In=1<<g|u<<f|d,Rn=o}function hd(o){o.return!==null&&(Tr(o,1),eg(o,1,0))}function pd(o){for(;o===Ja;)Ja=vo[--xo],vo[xo]=null,el=vo[--xo],vo[xo]=null;for(;o===Rr;)Rr=_i[--Mi],_i[Mi]=null,Rn=_i[--Mi],_i[Mi]=null,In=_i[--Mi],_i[Mi]=null}var xi=null,ki=null,nt=!1,ws=!1,Yi=null;function tg(o,s){var u=Ni(5,null,null,0);u.elementType="DELETED",u.stateNode=s,u.return=o,s=o.deletions,s===null?(o.deletions=[u],o.flags|=16):s.push(u)}function ig(o,s){switch(o.tag){case 5:return s=Ha(s,o.type,o.pendingProps),s!==null?(o.stateNode=s,xi=o,ki=R1(s),!0):!1;case 6:return s=P1(s,o.pendingProps),s!==null?(o.stateNode=s,xi=o,ki=null,!0):!1;case 13:if(s=E1(s),s!==null){var u=Rr!==null?{id:In,overflow:Rn}:null;return o.memoizedState={dehydrated:s,treeContext:u,retryLane:1073741824},u=Ni(18,null,null,0),u.stateNode=s,u.return=o,o.child=u,xi=o,ki=null,!0}return!1;default:return!1}}function fd(o){return(o.mode&1)!==0&&(o.flags&128)===0}function md(o){if(nt){var s=ki;if(s){var u=s;if(!ig(o,s)){if(fd(o))throw Error(l(418));s=qa(u);var d=xi;s&&ig(o,s)?tg(d,u):(o.flags=o.flags&-4097|2,nt=!1,xi=o)}}else{if(fd(o))throw Error(l(418));o.flags=o.flags&-4097|2,nt=!1,xi=o}}}function ng(o){for(o=o.return;o!==null&&o.tag!==5&&o.tag!==3&&o.tag!==13;)o=o.return;xi=o}function tl(o){if(!he||o!==xi)return!1;if(!nt)return ng(o),nt=!0,!1;if(o.tag!==3&&(o.tag!==5||D1(o.type)&&!G(o.type,o.memoizedProps))){var s=ki;if(s){if(fd(o))throw rg(),Error(l(418));for(;s;)tg(o,s),s=qa(s)}}if(ng(o),o.tag===13){if(!he)throw Error(l(316));if(o=o.memoizedState,o=o!==null?o.dehydrated:null,!o)throw Error(l(317));ki=L1(o)}else ki=xi?qa(o.stateNode):null;return!0}function rg(){for(var o=ki;o;)o=qa(o)}function So(){he&&(ki=xi=null,ws=nt=!1)}function gd(o){Yi===null?Yi=[o]:Yi.push(o)}var ib=c.ReactCurrentBatchConfig;function il(o,s){if(Gi(o,s))return!0;if(typeof o!="object"||o===null||typeof s!="object"||s===null)return!1;var u=Object.keys(o),d=Object.keys(s);if(u.length!==d.length)return!1;for(d=0;d<u.length;d++){var f=u[d];if(!U1.call(s,f)||!Gi(o[f],s[f]))return!1}return!0}function nb(o){switch(o.tag){case 5:return vs(o.type);case 16:return vs("Lazy");case 13:return vs("Suspense");case 19:return vs("SuspenseList");case 0:case 2:case 15:return o=nd(o.type,!1),o;case 11:return o=nd(o.type.render,!1),o;case 1:return o=nd(o.type,!0),o;default:return""}}function Xi(o,s){if(o&&o.defaultProps){s=a({},s),o=o.defaultProps;for(var u in o)s[u]===void 0&&(s[u]=o[u]);return s}return s}var nl=Yn(null),rl=null,wo=null,yd=null;function vd(){yd=wo=rl=null}function og(o,s,u){Fe?(Ge(nl,s._currentValue),s._currentValue=u):(Ge(nl,s._currentValue2),s._currentValue2=u)}function xd(o){var s=nl.current;Ze(nl),Fe?o._currentValue=s:o._currentValue2=s}function Sd(o,s,u){for(;o!==null;){var d=o.alternate;if((o.childLanes&s)!==s?(o.childLanes|=s,d!==null&&(d.childLanes|=s)):d!==null&&(d.childLanes&s)!==s&&(d.childLanes|=s),o===u)break;o=o.return}}function bo(o,s){rl=o,yd=wo=null,o=o.dependencies,o!==null&&o.firstContext!==null&&(o.lanes&s&&(ui=!0),o.firstContext=null)}function Oi(o){var s=Fe?o._currentValue:o._currentValue2;if(yd!==o)if(o={context:o,memoizedValue:s,next:null},wo===null){if(rl===null)throw Error(l(308));wo=o,rl.dependencies={lanes:0,firstContext:o}}else wo=wo.next=o;return s}var _r=null;function wd(o){_r===null?_r=[o]:_r.push(o)}function sg(o,s,u,d){var f=s.interleaved;return f===null?(u.next=u,wd(s)):(u.next=f.next,f.next=u),s.interleaved=u,dn(o,d)}function dn(o,s){o.lanes|=s;var u=o.alternate;for(u!==null&&(u.lanes|=s),u=o,o=o.return;o!==null;)o.childLanes|=s,u=o.alternate,u!==null&&(u.childLanes|=s),u=o,o=o.return;return u.tag===3?u.stateNode:null}var Kn=!1;function bd(o){o.updateQueue={baseState:o.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function ag(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 Tn(o,s){return{eventTime:o,lane:s,tag:0,payload:null,callback:null,next:null}}function Zn(o,s,u){var d=o.updateQueue;if(d===null)return null;if(d=d.shared,Te&2){var f=d.pending;return f===null?s.next=s:(s.next=f.next,f.next=s),d.pending=s,dn(o,u)}return f=d.interleaved,f===null?(s.next=s,wd(d)):(s.next=f.next,f.next=s),d.interleaved=s,dn(o,u)}function ol(o,s,u){if(s=s.updateQueue,s!==null&&(s=s.shared,(u&4194240)!==0)){var d=s.lanes;d&=o.pendingLanes,u|=d,s.lanes=u,ad(o,u)}}function lg(o,s){var u=o.updateQueue,d=o.alternate;if(d!==null&&(d=d.updateQueue,u===d)){var f=null,g=null;if(u=u.firstBaseUpdate,u!==null){do{var b={eventTime:u.eventTime,lane:u.lane,tag:u.tag,payload:u.payload,callback:u.callback,next:null};g===null?f=g=b:g=g.next=b,u=u.next}while(u!==null);g===null?f=g=s:g=g.next=s}else f=g=s;u={baseState:d.baseState,firstBaseUpdate:f,lastBaseUpdate:g,shared:d.shared,effects:d.effects},o.updateQueue=u;return}o=u.lastBaseUpdate,o===null?u.firstBaseUpdate=s:o.next=s,u.lastBaseUpdate=s}function sl(o,s,u,d){var f=o.updateQueue;Kn=!1;var g=f.firstBaseUpdate,b=f.lastBaseUpdate,T=f.shared.pending;if(T!==null){f.shared.pending=null;var z=T,Z=z.next;z.next=null,b===null?g=Z:b.next=Z,b=z;var le=o.alternate;le!==null&&(le=le.updateQueue,T=le.lastBaseUpdate,T!==b&&(T===null?le.firstBaseUpdate=Z:T.next=Z,le.lastBaseUpdate=z))}if(g!==null){var Se=f.baseState;b=0,le=Z=z=null,T=g;do{var te=T.lane,Je=T.eventTime;if((d&te)===te){le!==null&&(le=le.next={eventTime:Je,lane:0,tag:T.tag,payload:T.payload,callback:T.callback,next:null});e:{var We=o,hi=T;switch(te=s,Je=u,hi.tag){case 1:if(We=hi.payload,typeof We=="function"){Se=We.call(Je,Se,te);break e}Se=We;break e;case 3:We.flags=We.flags&-65537|128;case 0:if(We=hi.payload,te=typeof We=="function"?We.call(Je,Se,te):We,te==null)break e;Se=a({},Se,te);break e;case 2:Kn=!0}}T.callback!==null&&T.lane!==0&&(o.flags|=64,te=f.effects,te===null?f.effects=[T]:te.push(T))}else Je={eventTime:Je,lane:te,tag:T.tag,payload:T.payload,callback:T.callback,next:null},le===null?(Z=le=Je,z=Se):le=le.next=Je,b|=te;if(T=T.next,T===null){if(T=f.shared.pending,T===null)break;te=T,T=te.next,te.next=null,f.lastBaseUpdate=te,f.shared.pending=null}}while(!0);if(le===null&&(z=Se),f.baseState=z,f.firstBaseUpdate=Z,f.lastBaseUpdate=le,s=f.shared.interleaved,s!==null){f=s;do b|=f.lane,f=f.next;while(f!==s)}else g===null&&(f.shared.lanes=0);kr|=b,o.lanes=b,o.memoizedState=Se}}function ug(o,s,u){if(o=s.effects,s.effects=null,o!==null)for(s=0;s<o.length;s++){var d=o[s],f=d.callback;if(f!==null){if(d.callback=null,d=u,typeof f!="function")throw Error(l(191,f));f.call(d)}}}var cg=new n.Component().refs;function Cd(o,s,u,d){s=o.memoizedState,u=u(d,s),u=u==null?s:a({},s,u),o.memoizedState=u,o.lanes===0&&(o.updateQueue.baseState=u)}var al={isMounted:function(o){return(o=o._reactInternals)?J(o)===o:!1},enqueueSetState:function(o,s,u){o=o._reactInternals;var d=Gt(),f=tr(o),g=Tn(d,f);g.payload=s,u!=null&&(g.callback=u),s=Zn(o,g,f),s!==null&&(zi(s,o,f,d),ol(s,o,f))},enqueueReplaceState:function(o,s,u){o=o._reactInternals;var d=Gt(),f=tr(o),g=Tn(d,f);g.tag=1,g.payload=s,u!=null&&(g.callback=u),s=Zn(o,g,f),s!==null&&(zi(s,o,f,d),ol(s,o,f))},enqueueForceUpdate:function(o,s){o=o._reactInternals;var u=Gt(),d=tr(o),f=Tn(u,d);f.tag=2,s!=null&&(f.callback=s),s=Zn(o,f,d),s!==null&&(zi(s,o,d,u),ol(s,o,d))}};function dg(o,s,u,d,f,g,b){return o=o.stateNode,typeof o.shouldComponentUpdate=="function"?o.shouldComponentUpdate(d,g,b):s.prototype&&s.prototype.isPureReactComponent?!il(u,d)||!il(f,g):!0}function hg(o,s,u){var d=!1,f=Xn,g=s.contextType;return typeof g=="object"&&g!==null?g=Oi(g):(f=li(s)?Ir:Ht.current,d=s.contextTypes,g=(d=d!=null)?yo(o,f):Xn),s=new s(u,g),o.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,s.updater=al,o.stateNode=s,s._reactInternals=o,d&&(o=o.stateNode,o.__reactInternalMemoizedUnmaskedChildContext=f,o.__reactInternalMemoizedMaskedChildContext=g),s}function pg(o,s,u,d){o=s.state,typeof s.componentWillReceiveProps=="function"&&s.componentWillReceiveProps(u,d),typeof s.UNSAFE_componentWillReceiveProps=="function"&&s.UNSAFE_componentWillReceiveProps(u,d),s.state!==o&&al.enqueueReplaceState(s,s.state,null)}function Pd(o,s,u,d){var f=o.stateNode;f.props=u,f.state=o.memoizedState,f.refs=cg,bd(o);var g=s.contextType;typeof g=="object"&&g!==null?f.context=Oi(g):(g=li(s)?Ir:Ht.current,f.context=yo(o,g)),f.state=o.memoizedState,g=s.getDerivedStateFromProps,typeof g=="function"&&(Cd(o,s,g,u),f.state=o.memoizedState),typeof s.getDerivedStateFromProps=="function"||typeof f.getSnapshotBeforeUpdate=="function"||typeof f.UNSAFE_componentWillMount!="function"&&typeof f.componentWillMount!="function"||(s=f.state,typeof f.componentWillMount=="function"&&f.componentWillMount(),typeof f.UNSAFE_componentWillMount=="function"&&f.UNSAFE_componentWillMount(),s!==f.state&&al.enqueueReplaceState(f,f.state,null),sl(o,u,f,d),f.state=o.memoizedState),typeof f.componentDidMount=="function"&&(o.flags|=4194308)}function bs(o,s,u){if(o=u.ref,o!==null&&typeof o!="function"&&typeof o!="object"){if(u._owner){if(u=u._owner,u){if(u.tag!==1)throw Error(l(309));var d=u.stateNode}if(!d)throw Error(l(147,o));var f=d,g=""+o;return s!==null&&s.ref!==null&&typeof s.ref=="function"&&s.ref._stringRef===g?s.ref:(s=function(b){var T=f.refs;T===cg&&(T=f.refs={}),b===null?delete T[g]:T[g]=b},s._stringRef=g,s)}if(typeof o!="string")throw Error(l(284));if(!u._owner)throw Error(l(290,o))}return o}function ll(o,s){throw o=Object.prototype.toString.call(s),Error(l(31,o==="[object Object]"?"object with keys {"+Object.keys(s).join(", ")+"}":o))}function fg(o){var s=o._init;return s(o._payload)}function mg(o){function s(F,_){if(o){var D=F.deletions;D===null?(F.deletions=[_],F.flags|=16):D.push(_)}}function u(F,_){if(!o)return null;for(;_!==null;)s(F,_),_=_.sibling;return null}function d(F,_){for(F=new Map;_!==null;)_.key!==null?F.set(_.key,_):F.set(_.index,_),_=_.sibling;return F}function f(F,_){return F=nr(F,_),F.index=0,F.sibling=null,F}function g(F,_,D){return F.index=D,o?(D=F.alternate,D!==null?(D=D.index,D<_?(F.flags|=2,_):D):(F.flags|=2,_)):(F.flags|=1048576,_)}function b(F){return o&&F.alternate===null&&(F.flags|=2),F}function T(F,_,D,ie){return _===null||_.tag!==6?(_=dh(D,F.mode,ie),_.return=F,_):(_=f(_,D),_.return=F,_)}function z(F,_,D,ie){var me=D.type;return me===h?le(F,_,D.props.children,ie,D.key):_!==null&&(_.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===E&&fg(me)===_.type)?(ie=f(_,D.props),ie.ref=bs(F,_,D),ie.return=F,ie):(ie=Ll(D.type,D.key,D.props,null,F.mode,ie),ie.ref=bs(F,_,D),ie.return=F,ie)}function Z(F,_,D,ie){return _===null||_.tag!==4||_.stateNode.containerInfo!==D.containerInfo||_.stateNode.implementation!==D.implementation?(_=hh(D,F.mode,ie),_.return=F,_):(_=f(_,D.children||[]),_.return=F,_)}function le(F,_,D,ie,me){return _===null||_.tag!==7?(_=zr(D,F.mode,ie,me),_.return=F,_):(_=f(_,D),_.return=F,_)}function Se(F,_,D){if(typeof _=="string"&&_!==""||typeof _=="number")return _=dh(""+_,F.mode,D),_.return=F,_;if(typeof _=="object"&&_!==null){switch(_.$$typeof){case p:return D=Ll(_.type,_.key,_.props,null,F.mode,D),D.ref=bs(F,null,_),D.return=F,D;case m:return _=hh(_,F.mode,D),_.return=F,_;case E:var ie=_._init;return Se(F,ie(_._payload),D)}if(Re(_)||O(_))return _=zr(_,F.mode,D,null),_.return=F,_;ll(F,_)}return null}function te(F,_,D,ie){var me=_!==null?_.key:null;if(typeof D=="string"&&D!==""||typeof D=="number")return me!==null?null:T(F,_,""+D,ie);if(typeof D=="object"&&D!==null){switch(D.$$typeof){case p:return D.key===me?z(F,_,D,ie):null;case m:return D.key===me?Z(F,_,D,ie):null;case E:return me=D._init,te(F,_,me(D._payload),ie)}if(Re(D)||O(D))return me!==null?null:le(F,_,D,ie,null);ll(F,D)}return null}function Je(F,_,D,ie,me){if(typeof ie=="string"&&ie!==""||typeof ie=="number")return F=F.get(D)||null,T(_,F,""+ie,me);if(typeof ie=="object"&&ie!==null){switch(ie.$$typeof){case p:return F=F.get(ie.key===null?D:ie.key)||null,z(_,F,ie,me);case m:return F=F.get(ie.key===null?D:ie.key)||null,Z(_,F,ie,me);case E:var Ee=ie._init;return Je(F,_,D,Ee(ie._payload),me)}if(Re(ie)||O(ie))return F=F.get(D)||null,le(_,F,ie,me,null);ll(_,ie)}return null}function We(F,_,D,ie){for(var me=null,Ee=null,we=_,Ne=_=0,Lt=null;we!==null&&Ne<D.length;Ne++){we.index>Ne?(Lt=we,we=null):Lt=we.sibling;var Be=te(F,we,D[Ne],ie);if(Be===null){we===null&&(we=Lt);break}o&&we&&Be.alternate===null&&s(F,we),_=g(Be,_,Ne),Ee===null?me=Be:Ee.sibling=Be,Ee=Be,we=Lt}if(Ne===D.length)return u(F,we),nt&&Tr(F,Ne),me;if(we===null){for(;Ne<D.length;Ne++)we=Se(F,D[Ne],ie),we!==null&&(_=g(we,_,Ne),Ee===null?me=we:Ee.sibling=we,Ee=we);return nt&&Tr(F,Ne),me}for(we=d(F,we);Ne<D.length;Ne++)Lt=Je(we,F,Ne,D[Ne],ie),Lt!==null&&(o&&Lt.alternate!==null&&we.delete(Lt.key===null?Ne:Lt.key),_=g(Lt,_,Ne),Ee===null?me=Lt:Ee.sibling=Lt,Ee=Lt);return o&&we.forEach(function(rr){return s(F,rr)}),nt&&Tr(F,Ne),me}function hi(F,_,D,ie){var me=O(D);if(typeof me!="function")throw Error(l(150));if(D=me.call(D),D==null)throw Error(l(151));for(var Ee=me=null,we=_,Ne=_=0,Lt=null,Be=D.next();we!==null&&!Be.done;Ne++,Be=D.next()){we.index>Ne?(Lt=we,we=null):Lt=we.sibling;var rr=te(F,we,Be.value,ie);if(rr===null){we===null&&(we=Lt);break}o&&we&&rr.alternate===null&&s(F,we),_=g(rr,_,Ne),Ee===null?me=rr:Ee.sibling=rr,Ee=rr,we=Lt}if(Be.done)return u(F,we),nt&&Tr(F,Ne),me;if(we===null){for(;!Be.done;Ne++,Be=D.next())Be=Se(F,Be.value,ie),Be!==null&&(_=g(Be,_,Ne),Ee===null?me=Be:Ee.sibling=Be,Ee=Be);return nt&&Tr(F,Ne),me}for(we=d(F,we);!Be.done;Ne++,Be=D.next())Be=Je(we,F,Ne,Be.value,ie),Be!==null&&(o&&Be.alternate!==null&&we.delete(Be.key===null?Ne:Be.key),_=g(Be,_,Ne),Ee===null?me=Be:Ee.sibling=Be,Ee=Be);return o&&we.forEach(function(Ob){return s(F,Ob)}),nt&&Tr(F,Ne),me}function kn(F,_,D,ie){if(typeof D=="object"&&D!==null&&D.type===h&&D.key===null&&(D=D.props.children),typeof D=="object"&&D!==null){switch(D.$$typeof){case p:e:{for(var me=D.key,Ee=_;Ee!==null;){if(Ee.key===me){if(me=D.type,me===h){if(Ee.tag===7){u(F,Ee.sibling),_=f(Ee,D.props.children),_.return=F,F=_;break e}}else if(Ee.elementType===me||typeof me=="object"&&me!==null&&me.$$typeof===E&&fg(me)===Ee.type){u(F,Ee.sibling),_=f(Ee,D.props),_.ref=bs(F,Ee,D),_.return=F,F=_;break e}u(F,Ee);break}else s(F,Ee);Ee=Ee.sibling}D.type===h?(_=zr(D.props.children,F.mode,ie,D.key),_.return=F,F=_):(ie=Ll(D.type,D.key,D.props,null,F.mode,ie),ie.ref=bs(F,_,D),ie.return=F,F=ie)}return b(F);case m:e:{for(Ee=D.key;_!==null;){if(_.key===Ee)if(_.tag===4&&_.stateNode.containerInfo===D.containerInfo&&_.stateNode.implementation===D.implementation){u(F,_.sibling),_=f(_,D.children||[]),_.return=F,F=_;break e}else{u(F,_);break}else s(F,_);_=_.sibling}_=hh(D,F.mode,ie),_.return=F,F=_}return b(F);case E:return Ee=D._init,kn(F,_,Ee(D._payload),ie)}if(Re(D))return We(F,_,D,ie);if(O(D))return hi(F,_,D,ie);ll(F,D)}return typeof D=="string"&&D!==""||typeof D=="number"?(D=""+D,_!==null&&_.tag===6?(u(F,_.sibling),_=f(_,D),_.return=F,F=_):(u(F,_),_=dh(D,F.mode,ie),_.return=F,F=_),b(F)):u(F,_)}return kn}var Co=mg(!0),gg=mg(!1),Cs={},Li=Yn(Cs),Ps=Yn(Cs),Po=Yn(Cs);function hn(o){if(o===Cs)throw Error(l(174));return o}function Ed(o,s){Ge(Po,s),Ge(Ps,o),Ge(Li,Cs),o=He(s),Ze(Li),Ge(Li,o)}function Eo(){Ze(Li),Ze(Ps),Ze(Po)}function yg(o){var s=hn(Po.current),u=hn(Li.current);s=qe(u,o.type,s),u!==s&&(Ge(Ps,o),Ge(Li,s))}function Ad(o){Ps.current===o&&(Ze(Li),Ze(Ps))}var at=Yn(0);function ul(o){for(var s=o;s!==null;){if(s.tag===13){var u=s.memoizedState;if(u!==null&&(u=u.dehydrated,u===null||Qm(u)||ed(u)))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 Id=[];function Rd(){for(var o=0;o<Id.length;o++){var s=Id[o];Fe?s._workInProgressVersionPrimary=null:s._workInProgressVersionSecondary=null}Id.length=0}var cl=c.ReactCurrentDispatcher,Td=c.ReactCurrentBatchConfig,Mr=0,lt=null,At=null,kt=null,dl=!1,Es=!1,As=0,rb=0;function qt(){throw Error(l(321))}function _d(o,s){if(s===null)return!1;for(var u=0;u<s.length&&u<o.length;u++)if(!Gi(o[u],s[u]))return!1;return!0}function Md(o,s,u,d,f,g){if(Mr=g,lt=s,s.memoizedState=null,s.updateQueue=null,s.lanes=0,cl.current=o===null||o.memoizedState===null?lb:ub,o=u(d,f),Es){g=0;do{if(Es=!1,As=0,25<=g)throw Error(l(301));g+=1,kt=At=null,s.updateQueue=null,cl.current=cb,o=u(d,f)}while(Es)}if(cl.current=fl,s=At!==null&&At.next!==null,Mr=0,kt=At=lt=null,dl=!1,s)throw Error(l(300));return o}function kd(){var o=As!==0;return As=0,o}function pn(){var o={memoizedState:null,baseState:null,baseQueue:null,queue:null,next:null};return kt===null?lt.memoizedState=kt=o:kt=kt.next=o,kt}function Fi(){if(At===null){var o=lt.alternate;o=o!==null?o.memoizedState:null}else o=At.next;var s=kt===null?lt.memoizedState:kt.next;if(s!==null)kt=s,At=o;else{if(o===null)throw Error(l(310));At=o,o={memoizedState:At.memoizedState,baseState:At.baseState,baseQueue:At.baseQueue,queue:At.queue,next:null},kt===null?lt.memoizedState=kt=o:kt=kt.next=o}return kt}function Is(o,s){return typeof s=="function"?s(o):s}function Od(o){var s=Fi(),u=s.queue;if(u===null)throw Error(l(311));u.lastRenderedReducer=o;var d=At,f=d.baseQueue,g=u.pending;if(g!==null){if(f!==null){var b=f.next;f.next=g.next,g.next=b}d.baseQueue=f=g,u.pending=null}if(f!==null){g=f.next,d=d.baseState;var T=b=null,z=null,Z=g;do{var le=Z.lane;if((Mr&le)===le)z!==null&&(z=z.next={lane:0,action:Z.action,hasEagerState:Z.hasEagerState,eagerState:Z.eagerState,next:null}),d=Z.hasEagerState?Z.eagerState:o(d,Z.action);else{var Se={lane:le,action:Z.action,hasEagerState:Z.hasEagerState,eagerState:Z.eagerState,next:null};z===null?(T=z=Se,b=d):z=z.next=Se,lt.lanes|=le,kr|=le}Z=Z.next}while(Z!==null&&Z!==g);z===null?b=d:z.next=T,Gi(d,s.memoizedState)||(ui=!0),s.memoizedState=d,s.baseState=b,s.baseQueue=z,u.lastRenderedState=d}if(o=u.interleaved,o!==null){f=o;do g=f.lane,lt.lanes|=g,kr|=g,f=f.next;while(f!==o)}else f===null&&(u.lanes=0);return[s.memoizedState,u.dispatch]}function Ld(o){var s=Fi(),u=s.queue;if(u===null)throw Error(l(311));u.lastRenderedReducer=o;var d=u.dispatch,f=u.pending,g=s.memoizedState;if(f!==null){u.pending=null;var b=f=f.next;do g=o(g,b.action),b=b.next;while(b!==f);Gi(g,s.memoizedState)||(ui=!0),s.memoizedState=g,s.baseQueue===null&&(s.baseState=g),u.lastRenderedState=g}return[g,d]}function vg(){}function xg(o,s){var u=lt,d=Fi(),f=s(),g=!Gi(d.memoizedState,f);if(g&&(d.memoizedState=f,ui=!0),d=d.queue,Fd(bg.bind(null,u,d,o),[o]),d.getSnapshot!==s||g||kt!==null&&kt.memoizedState.tag&1){if(u.flags|=2048,Rs(9,wg.bind(null,u,d,f,s),void 0,null),Ot===null)throw Error(l(349));Mr&30||Sg(u,s,f)}return f}function Sg(o,s,u){o.flags|=16384,o={getSnapshot:s,value:u},s=lt.updateQueue,s===null?(s={lastEffect:null,stores:null},lt.updateQueue=s,s.stores=[o]):(u=s.stores,u===null?s.stores=[o]:u.push(o))}function wg(o,s,u,d){s.value=u,s.getSnapshot=d,Cg(s)&&Pg(o)}function bg(o,s,u){return u(function(){Cg(s)&&Pg(o)})}function Cg(o){var s=o.getSnapshot;o=o.value;try{var u=s();return!Gi(o,u)}catch{return!0}}function Pg(o){var s=dn(o,1);s!==null&&zi(s,o,1,-1)}function Eg(o){var s=pn();return typeof o=="function"&&(o=o()),s.memoizedState=s.baseState=o,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:Is,lastRenderedState:o},s.queue=o,o=o.dispatch=ab.bind(null,lt,o),[s.memoizedState,o]}function Rs(o,s,u,d){return o={tag:o,create:s,destroy:u,deps:d,next:null},s=lt.updateQueue,s===null?(s={lastEffect:null,stores:null},lt.updateQueue=s,s.lastEffect=o.next=o):(u=s.lastEffect,u===null?s.lastEffect=o.next=o:(d=u.next,u.next=o,o.next=d,s.lastEffect=o)),o}function Ag(){return Fi().memoizedState}function hl(o,s,u,d){var f=pn();lt.flags|=o,f.memoizedState=Rs(1|s,u,void 0,d===void 0?null:d)}function pl(o,s,u,d){var f=Fi();d=d===void 0?null:d;var g=void 0;if(At!==null){var b=At.memoizedState;if(g=b.destroy,d!==null&&_d(d,b.deps)){f.memoizedState=Rs(s,u,g,d);return}}lt.flags|=o,f.memoizedState=Rs(1|s,u,g,d)}function Ig(o,s){return hl(8390656,8,o,s)}function Fd(o,s){return pl(2048,8,o,s)}function Rg(o,s){return pl(4,2,o,s)}function Tg(o,s){return pl(4,4,o,s)}function _g(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 Mg(o,s,u){return u=u!=null?u.concat([o]):null,pl(4,4,_g.bind(null,s,o),u)}function zd(){}function kg(o,s){var u=Fi();s=s===void 0?null:s;var d=u.memoizedState;return d!==null&&s!==null&&_d(s,d[1])?d[0]:(u.memoizedState=[o,s],o)}function Og(o,s){var u=Fi();s=s===void 0?null:s;var d=u.memoizedState;return d!==null&&s!==null&&_d(s,d[1])?d[0]:(o=o(),u.memoizedState=[o,s],o)}function Lg(o,s,u){return Mr&21?(Gi(u,s)||(u=Xm(),lt.lanes|=u,kr|=u,o.baseState=!0),s):(o.baseState&&(o.baseState=!1,ui=!0),o.memoizedState=u)}function ob(o,s){var u=ze;ze=u!==0&&4>u?u:4,o(!0);var d=Td.transition;Td.transition={};try{o(!1),s()}finally{ze=u,Td.transition=d}}function Fg(){return Fi().memoizedState}function sb(o,s,u){var d=tr(o);if(u={lane:d,action:u,hasEagerState:!1,eagerState:null,next:null},zg(o))Ng(s,u);else if(u=sg(o,s,u,d),u!==null){var f=Gt();zi(u,o,d,f),Bg(u,s,d)}}function ab(o,s,u){var d=tr(o),f={lane:d,action:u,hasEagerState:!1,eagerState:null,next:null};if(zg(o))Ng(s,f);else{var g=o.alternate;if(o.lanes===0&&(g===null||g.lanes===0)&&(g=s.lastRenderedReducer,g!==null))try{var b=s.lastRenderedState,T=g(b,u);if(f.hasEagerState=!0,f.eagerState=T,Gi(T,b)){var z=s.interleaved;z===null?(f.next=f,wd(s)):(f.next=z.next,z.next=f),s.interleaved=f;return}}catch{}finally{}u=sg(o,s,f,d),u!==null&&(f=Gt(),zi(u,o,d,f),Bg(u,s,d))}}function zg(o){var s=o.alternate;return o===lt||s!==null&&s===lt}function Ng(o,s){Es=dl=!0;var u=o.pending;u===null?s.next=s:(s.next=u.next,u.next=s),o.pending=s}function Bg(o,s,u){if(u&4194240){var d=s.lanes;d&=o.pendingLanes,u|=d,s.lanes=u,ad(o,u)}}var fl={readContext:Oi,useCallback:qt,useContext:qt,useEffect:qt,useImperativeHandle:qt,useInsertionEffect:qt,useLayoutEffect:qt,useMemo:qt,useReducer:qt,useRef:qt,useState:qt,useDebugValue:qt,useDeferredValue:qt,useTransition:qt,useMutableSource:qt,useSyncExternalStore:qt,useId:qt,unstable_isNewReconciler:!1},lb={readContext:Oi,useCallback:function(o,s){return pn().memoizedState=[o,s===void 0?null:s],o},useContext:Oi,useEffect:Ig,useImperativeHandle:function(o,s,u){return u=u!=null?u.concat([o]):null,hl(4194308,4,_g.bind(null,s,o),u)},useLayoutEffect:function(o,s){return hl(4194308,4,o,s)},useInsertionEffect:function(o,s){return hl(4,2,o,s)},useMemo:function(o,s){var u=pn();return s=s===void 0?null:s,o=o(),u.memoizedState=[o,s],o},useReducer:function(o,s,u){var d=pn();return s=u!==void 0?u(s):s,d.memoizedState=d.baseState=s,o={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:o,lastRenderedState:s},d.queue=o,o=o.dispatch=sb.bind(null,lt,o),[d.memoizedState,o]},useRef:function(o){var s=pn();return o={current:o},s.memoizedState=o},useState:Eg,useDebugValue:zd,useDeferredValue:function(o){return pn().memoizedState=o},useTransition:function(){var o=Eg(!1),s=o[0];return o=ob.bind(null,o[1]),pn().memoizedState=o,[s,o]},useMutableSource:function(){},useSyncExternalStore:function(o,s,u){var d=lt,f=pn();if(nt){if(u===void 0)throw Error(l(407));u=u()}else{if(u=s(),Ot===null)throw Error(l(349));Mr&30||Sg(d,s,u)}f.memoizedState=u;var g={value:u,getSnapshot:s};return f.queue=g,Ig(bg.bind(null,d,g,o),[o]),d.flags|=2048,Rs(9,wg.bind(null,d,g,u,s),void 0,null),u},useId:function(){var o=pn(),s=Ot.identifierPrefix;if(nt){var u=Rn,d=In;u=(d&~(1<<32-$i(d)-1)).toString(32)+u,s=":"+s+"R"+u,u=As++,0<u&&(s+="H"+u.toString(32)),s+=":"}else u=rb++,s=":"+s+"r"+u.toString(32)+":";return o.memoizedState=s},unstable_isNewReconciler:!1},ub={readContext:Oi,useCallback:kg,useContext:Oi,useEffect:Fd,useImperativeHandle:Mg,useInsertionEffect:Rg,useLayoutEffect:Tg,useMemo:Og,useReducer:Od,useRef:Ag,useState:function(){return Od(Is)},useDebugValue:zd,useDeferredValue:function(o){var s=Fi();return Lg(s,At.memoizedState,o)},useTransition:function(){var o=Od(Is)[0],s=Fi().memoizedState;return[o,s]},useMutableSource:vg,useSyncExternalStore:xg,useId:Fg,unstable_isNewReconciler:!1},cb={readContext:Oi,useCallback:kg,useContext:Oi,useEffect:Fd,useImperativeHandle:Mg,useInsertionEffect:Rg,useLayoutEffect:Tg,useMemo:Og,useReducer:Ld,useRef:Ag,useState:function(){return Ld(Is)},useDebugValue:zd,useDeferredValue:function(o){var s=Fi();return At===null?s.memoizedState=o:Lg(s,At.memoizedState,o)},useTransition:function(){var o=Ld(Is)[0],s=Fi().memoizedState;return[o,s]},useMutableSource:vg,useSyncExternalStore:xg,useId:Fg,unstable_isNewReconciler:!1};function Ao(o,s){try{var u="",d=s;do u+=nb(d),d=d.return;while(d);var f=u}catch(g){f=`
6
- Error generating stack: `+g.message+`
7
- `+g.stack}return{value:o,source:s,stack:f,digest:null}}function Nd(o,s,u){return{value:o,source:null,stack:u??null,digest:s??null}}function Bd(o,s){try{console.error(s.value)}catch(u){setTimeout(function(){throw u})}}var db=typeof WeakMap=="function"?WeakMap:Map;function Dg(o,s,u){u=Tn(-1,u),u.tag=3,u.payload={element:null};var d=s.value;return u.callback=function(){Rl||(Rl=!0,rh=d),Bd(o,s)},u}function jg(o,s,u){u=Tn(-1,u),u.tag=3;var d=o.type.getDerivedStateFromError;if(typeof d=="function"){var f=s.value;u.payload=function(){return d(f)},u.callback=function(){Bd(o,s)}}var g=o.stateNode;return g!==null&&typeof g.componentDidCatch=="function"&&(u.callback=function(){Bd(o,s),typeof d!="function"&&(Jn===null?Jn=new Set([this]):Jn.add(this));var b=s.stack;this.componentDidCatch(s.value,{componentStack:b!==null?b:""})}),u}function Vg(o,s,u){var d=o.pingCache;if(d===null){d=o.pingCache=new db;var f=new Set;d.set(s,f)}else f=d.get(s),f===void 0&&(f=new Set,d.set(s,f));f.has(u)||(f.add(u),o=Eb.bind(null,o,s,u),s.then(o,o))}function Ug(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 Wg(o,s,u,d,f){return o.mode&1?(o.flags|=65536,o.lanes=f,o):(o===s?o.flags|=65536:(o.flags|=128,u.flags|=131072,u.flags&=-52805,u.tag===1&&(u.alternate===null?u.tag=17:(s=Tn(-1,1),s.tag=2,Zn(u,s,1))),u.lanes|=1),o)}var hb=c.ReactCurrentOwner,ui=!1;function Kt(o,s,u,d){s.child=o===null?gg(s,null,u,d):Co(s,o.child,u,d)}function Hg(o,s,u,d,f){u=u.render;var g=s.ref;return bo(s,f),d=Md(o,s,u,d,g,f),u=kd(),o!==null&&!ui?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~f,_n(o,s,f)):(nt&&u&&hd(s),s.flags|=1,Kt(o,s,d,f),s.child)}function qg(o,s,u,d,f){if(o===null){var g=u.type;return typeof g=="function"&&!ch(g)&&g.defaultProps===void 0&&u.compare===null&&u.defaultProps===void 0?(s.tag=15,s.type=g,Qg(o,s,g,d,f)):(o=Ll(u.type,null,d,s,s.mode,f),o.ref=s.ref,o.return=s,s.child=o)}if(g=o.child,!(o.lanes&f)){var b=g.memoizedProps;if(u=u.compare,u=u!==null?u:il,u(b,d)&&o.ref===s.ref)return _n(o,s,f)}return s.flags|=1,o=nr(g,d),o.ref=s.ref,o.return=s,s.child=o}function Qg(o,s,u,d,f){if(o!==null){var g=o.memoizedProps;if(il(g,d)&&o.ref===s.ref)if(ui=!1,s.pendingProps=d=g,(o.lanes&f)!==0)o.flags&131072&&(ui=!0);else return s.lanes=o.lanes,_n(o,s,f)}return Dd(o,s,u,d,f)}function $g(o,s,u){var d=s.pendingProps,f=d.children,g=o!==null?o.memoizedState:null;if(d.mode==="hidden")if(!(s.mode&1))s.memoizedState={baseLanes:0,cachePool:null,transitions:null},Ge(Ro,Si),Si|=u;else{if(!(u&1073741824))return o=g!==null?g.baseLanes|u:u,s.lanes=s.childLanes=1073741824,s.memoizedState={baseLanes:o,cachePool:null,transitions:null},s.updateQueue=null,Ge(Ro,Si),Si|=o,null;s.memoizedState={baseLanes:0,cachePool:null,transitions:null},d=g!==null?g.baseLanes:u,Ge(Ro,Si),Si|=d}else g!==null?(d=g.baseLanes|u,s.memoizedState=null):d=u,Ge(Ro,Si),Si|=d;return Kt(o,s,f,u),s.child}function Gg(o,s){var u=s.ref;(o===null&&u!==null||o!==null&&o.ref!==u)&&(s.flags|=512,s.flags|=2097152)}function Dd(o,s,u,d,f){var g=li(u)?Ir:Ht.current;return g=yo(s,g),bo(s,f),u=Md(o,s,u,d,g,f),d=kd(),o!==null&&!ui?(s.updateQueue=o.updateQueue,s.flags&=-2053,o.lanes&=~f,_n(o,s,f)):(nt&&d&&hd(s),s.flags|=1,Kt(o,s,u,f),s.child)}function Yg(o,s,u,d,f){if(li(u)){var g=!0;$a(s)}else g=!1;if(bo(s,f),s.stateNode===null)gl(o,s),hg(s,u,d),Pd(s,u,d,f),d=!0;else if(o===null){var b=s.stateNode,T=s.memoizedProps;b.props=T;var z=b.context,Z=u.contextType;typeof Z=="object"&&Z!==null?Z=Oi(Z):(Z=li(u)?Ir:Ht.current,Z=yo(s,Z));var le=u.getDerivedStateFromProps,Se=typeof le=="function"||typeof b.getSnapshotBeforeUpdate=="function";Se||typeof b.UNSAFE_componentWillReceiveProps!="function"&&typeof b.componentWillReceiveProps!="function"||(T!==d||z!==Z)&&pg(s,b,d,Z),Kn=!1;var te=s.memoizedState;b.state=te,sl(s,d,b,f),z=s.memoizedState,T!==d||te!==z||ai.current||Kn?(typeof le=="function"&&(Cd(s,u,le,d),z=s.memoizedState),(T=Kn||dg(s,u,T,d,te,z,Z))?(Se||typeof b.UNSAFE_componentWillMount!="function"&&typeof b.componentWillMount!="function"||(typeof b.componentWillMount=="function"&&b.componentWillMount(),typeof b.UNSAFE_componentWillMount=="function"&&b.UNSAFE_componentWillMount()),typeof b.componentDidMount=="function"&&(s.flags|=4194308)):(typeof b.componentDidMount=="function"&&(s.flags|=4194308),s.memoizedProps=d,s.memoizedState=z),b.props=d,b.state=z,b.context=Z,d=T):(typeof b.componentDidMount=="function"&&(s.flags|=4194308),d=!1)}else{b=s.stateNode,ag(o,s),T=s.memoizedProps,Z=s.type===s.elementType?T:Xi(s.type,T),b.props=Z,Se=s.pendingProps,te=b.context,z=u.contextType,typeof z=="object"&&z!==null?z=Oi(z):(z=li(u)?Ir:Ht.current,z=yo(s,z));var Je=u.getDerivedStateFromProps;(le=typeof Je=="function"||typeof b.getSnapshotBeforeUpdate=="function")||typeof b.UNSAFE_componentWillReceiveProps!="function"&&typeof b.componentWillReceiveProps!="function"||(T!==Se||te!==z)&&pg(s,b,d,z),Kn=!1,te=s.memoizedState,b.state=te,sl(s,d,b,f);var We=s.memoizedState;T!==Se||te!==We||ai.current||Kn?(typeof Je=="function"&&(Cd(s,u,Je,d),We=s.memoizedState),(Z=Kn||dg(s,u,Z,d,te,We,z)||!1)?(le||typeof b.UNSAFE_componentWillUpdate!="function"&&typeof b.componentWillUpdate!="function"||(typeof b.componentWillUpdate=="function"&&b.componentWillUpdate(d,We,z),typeof b.UNSAFE_componentWillUpdate=="function"&&b.UNSAFE_componentWillUpdate(d,We,z)),typeof b.componentDidUpdate=="function"&&(s.flags|=4),typeof b.getSnapshotBeforeUpdate=="function"&&(s.flags|=1024)):(typeof b.componentDidUpdate!="function"||T===o.memoizedProps&&te===o.memoizedState||(s.flags|=4),typeof b.getSnapshotBeforeUpdate!="function"||T===o.memoizedProps&&te===o.memoizedState||(s.flags|=1024),s.memoizedProps=d,s.memoizedState=We),b.props=d,b.state=We,b.context=z,d=Z):(typeof b.componentDidUpdate!="function"||T===o.memoizedProps&&te===o.memoizedState||(s.flags|=4),typeof b.getSnapshotBeforeUpdate!="function"||T===o.memoizedProps&&te===o.memoizedState||(s.flags|=1024),d=!1)}return jd(o,s,u,d,g,f)}function jd(o,s,u,d,f,g){Gg(o,s);var b=(s.flags&128)!==0;if(!d&&!b)return f&&Ym(s,u,!1),_n(o,s,g);d=s.stateNode,hb.current=s;var T=b&&typeof u.getDerivedStateFromError!="function"?null:d.render();return s.flags|=1,o!==null&&b?(s.child=Co(s,o.child,null,g),s.child=Co(s,null,T,g)):Kt(o,s,T,g),s.memoizedState=d.state,f&&Ym(s,u,!0),s.child}function Xg(o){var s=o.stateNode;s.pendingContext?$m(o,s.pendingContext,s.pendingContext!==s.context):s.context&&$m(o,s.context,!1),Ed(o,s.containerInfo)}function Kg(o,s,u,d,f){return So(),gd(f),s.flags|=256,Kt(o,s,u,d),s.child}var Vd={dehydrated:null,treeContext:null,retryLane:0};function Ud(o){return{baseLanes:o,cachePool:null,transitions:null}}function Zg(o,s,u){var d=s.pendingProps,f=at.current,g=!1,b=(s.flags&128)!==0,T;if((T=b)||(T=o!==null&&o.memoizedState===null?!1:(f&2)!==0),T?(g=!0,s.flags&=-129):(o===null||o.memoizedState!==null)&&(f|=1),Ge(at,f&1),o===null)return md(s),o=s.memoizedState,o!==null&&(o=o.dehydrated,o!==null)?(s.mode&1?ed(o)?s.lanes=8:s.lanes=1073741824:s.lanes=1,null):(b=d.children,o=d.fallback,g?(d=s.mode,g=s.child,b={mode:"hidden",children:b},!(d&1)&&g!==null?(g.childLanes=0,g.pendingProps=b):g=Fl(b,d,0,null),o=zr(o,d,u,null),g.return=s,o.return=s,g.sibling=o,s.child=g,s.child.memoizedState=Ud(u),s.memoizedState=Vd,o):Wd(s,b));if(f=o.memoizedState,f!==null&&(T=f.dehydrated,T!==null))return pb(o,s,b,d,T,f,u);if(g){g=d.fallback,b=s.mode,f=o.child,T=f.sibling;var z={mode:"hidden",children:d.children};return!(b&1)&&s.child!==f?(d=s.child,d.childLanes=0,d.pendingProps=z,s.deletions=null):(d=nr(f,z),d.subtreeFlags=f.subtreeFlags&14680064),T!==null?g=nr(T,g):(g=zr(g,b,u,null),g.flags|=2),g.return=s,d.return=s,d.sibling=g,s.child=d,d=g,g=s.child,b=o.child.memoizedState,b=b===null?Ud(u):{baseLanes:b.baseLanes|u,cachePool:null,transitions:b.transitions},g.memoizedState=b,g.childLanes=o.childLanes&~u,s.memoizedState=Vd,d}return g=o.child,o=g.sibling,d=nr(g,{mode:"visible",children:d.children}),!(s.mode&1)&&(d.lanes=u),d.return=s,d.sibling=null,o!==null&&(u=s.deletions,u===null?(s.deletions=[o],s.flags|=16):u.push(o)),s.child=d,s.memoizedState=null,d}function Wd(o,s){return s=Fl({mode:"visible",children:s},o.mode,0,null),s.return=o,o.child=s}function ml(o,s,u,d){return d!==null&&gd(d),Co(s,o.child,null,u),o=Wd(s,s.pendingProps.children),o.flags|=2,s.memoizedState=null,o}function pb(o,s,u,d,f,g,b){if(u)return s.flags&256?(s.flags&=-257,d=Nd(Error(l(422))),ml(o,s,b,d)):s.memoizedState!==null?(s.child=o.child,s.flags|=128,null):(g=d.fallback,f=s.mode,d=Fl({mode:"visible",children:d.children},f,0,null),g=zr(g,f,b,null),g.flags|=2,d.return=s,g.return=s,d.sibling=g,s.child=d,s.mode&1&&Co(s,o.child,null,b),s.child.memoizedState=Ud(b),s.memoizedState=Vd,g);if(!(s.mode&1))return ml(o,s,b,null);if(ed(f))return d=A1(f).digest,g=Error(l(419)),d=Nd(g,d,void 0),ml(o,s,b,d);if(u=(b&o.childLanes)!==0,ui||u){if(d=Ot,d!==null){switch(b&-b){case 4:f=2;break;case 16:f=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:f=32;break;case 536870912:f=268435456;break;default:f=0}f=f&(d.suspendedLanes|b)?0:f,f!==0&&f!==g.retryLane&&(g.retryLane=f,dn(o,f),zi(d,o,f,-1))}return uh(),d=Nd(Error(l(421))),ml(o,s,b,d)}return Qm(f)?(s.flags|=128,s.child=o.child,s=Ab.bind(null,o),I1(f,s),null):(o=g.treeContext,he&&(ki=_1(f),xi=s,nt=!0,Yi=null,ws=!1,o!==null&&(_i[Mi++]=In,_i[Mi++]=Rn,_i[Mi++]=Rr,In=o.id,Rn=o.overflow,Rr=s)),s=Wd(s,d.children),s.flags|=4096,s)}function Jg(o,s,u){o.lanes|=s;var d=o.alternate;d!==null&&(d.lanes|=s),Sd(o.return,s,u)}function Hd(o,s,u,d,f){var g=o.memoizedState;g===null?o.memoizedState={isBackwards:s,rendering:null,renderingStartTime:0,last:d,tail:u,tailMode:f}:(g.isBackwards=s,g.rendering=null,g.renderingStartTime=0,g.last=d,g.tail=u,g.tailMode=f)}function ey(o,s,u){var d=s.pendingProps,f=d.revealOrder,g=d.tail;if(Kt(o,s,d.children,u),d=at.current,d&2)d=d&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&&Jg(o,u,s);else if(o.tag===19)Jg(o,u,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}d&=1}if(Ge(at,d),!(s.mode&1))s.memoizedState=null;else switch(f){case"forwards":for(u=s.child,f=null;u!==null;)o=u.alternate,o!==null&&ul(o)===null&&(f=u),u=u.sibling;u=f,u===null?(f=s.child,s.child=null):(f=u.sibling,u.sibling=null),Hd(s,!1,f,u,g);break;case"backwards":for(u=null,f=s.child,s.child=null;f!==null;){if(o=f.alternate,o!==null&&ul(o)===null){s.child=f;break}o=f.sibling,f.sibling=u,u=f,f=o}Hd(s,!0,u,null,g);break;case"together":Hd(s,!1,null,null,void 0);break;default:s.memoizedState=null}return s.child}function gl(o,s){!(s.mode&1)&&o!==null&&(o.alternate=null,s.alternate=null,s.flags|=2)}function _n(o,s,u){if(o!==null&&(s.dependencies=o.dependencies),kr|=s.lanes,!(u&s.childLanes))return null;if(o!==null&&s.child!==o.child)throw Error(l(153));if(s.child!==null){for(o=s.child,u=nr(o,o.pendingProps),s.child=u,u.return=s;o.sibling!==null;)o=o.sibling,u=u.sibling=nr(o,o.pendingProps),u.return=s;u.sibling=null}return s.child}function fb(o,s,u){switch(s.tag){case 3:Xg(s),So();break;case 5:yg(s);break;case 1:li(s.type)&&$a(s);break;case 4:Ed(s,s.stateNode.containerInfo);break;case 10:og(s,s.type._context,s.memoizedProps.value);break;case 13:var d=s.memoizedState;if(d!==null)return d.dehydrated!==null?(Ge(at,at.current&1),s.flags|=128,null):u&s.child.childLanes?Zg(o,s,u):(Ge(at,at.current&1),o=_n(o,s,u),o!==null?o.sibling:null);Ge(at,at.current&1);break;case 19:if(d=(u&s.childLanes)!==0,o.flags&128){if(d)return ey(o,s,u);s.flags|=128}var f=s.memoizedState;if(f!==null&&(f.rendering=null,f.tail=null,f.lastEffect=null),Ge(at,at.current),d)break;return null;case 22:case 23:return s.lanes=0,$g(o,s,u)}return _n(o,s,u)}function fn(o){o.flags|=4}function ty(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 Ts,_s,yl,vl;if(Pe)Ts=function(o,s){for(var u=s.child;u!==null;){if(u.tag===5||u.tag===6)Qe(o,u.stateNode);else if(u.tag!==4&&u.child!==null){u.child.return=u,u=u.child;continue}if(u===s)break;for(;u.sibling===null;){if(u.return===null||u.return===s)return;u=u.return}u.sibling.return=u.return,u=u.sibling}},_s=function(){},yl=function(o,s,u,d,f){if(o=o.memoizedProps,o!==d){var g=s.stateNode,b=hn(Li.current);u=N(g,u,o,d,f,b),(s.updateQueue=u)&&fn(s)}},vl=function(o,s,u,d){u!==d&&fn(s)};else if(ne){Ts=function(o,s,u,d){for(var f=s.child;f!==null;){if(f.tag===5){var g=f.stateNode;u&&d&&(g=Ar(g,f.type,f.memoizedProps,f)),Qe(o,g)}else if(f.tag===6)g=f.stateNode,u&&d&&(g=ys(g,f.memoizedProps,f)),Qe(o,g);else if(f.tag!==4){if(f.tag===22&&f.memoizedState!==null)g=f.child,g!==null&&(g.return=f),Ts(o,f,!0,!0);else if(f.child!==null){f.child.return=f,f=f.child;continue}}if(f===s)break;for(;f.sibling===null;){if(f.return===null||f.return===s)return;f=f.return}f.sibling.return=f.return,f=f.sibling}};var iy=function(o,s,u,d){for(var f=s.child;f!==null;){if(f.tag===5){var g=f.stateNode;u&&d&&(g=Ar(g,f.type,f.memoizedProps,f)),Et(o,g)}else if(f.tag===6)g=f.stateNode,u&&d&&(g=ys(g,f.memoizedProps,f)),Et(o,g);else if(f.tag!==4){if(f.tag===22&&f.memoizedState!==null)g=f.child,g!==null&&(g.return=f),iy(o,f,!0,!0);else if(f.child!==null){f.child.return=f,f=f.child;continue}}if(f===s)break;for(;f.sibling===null;){if(f.return===null||f.return===s)return;f=f.return}f.sibling.return=f.return,f=f.sibling}};_s=function(o,s){var u=s.stateNode;if(!ty(o,s)){o=u.containerInfo;var d=st(o);iy(d,s,!1,!1),u.pendingChildren=d,fn(s),Gn(o,d)}},yl=function(o,s,u,d,f){var g=o.stateNode,b=o.memoizedProps;if((o=ty(o,s))&&b===d)s.stateNode=g;else{var T=s.stateNode,z=hn(Li.current),Z=null;b!==d&&(Z=N(T,u,b,d,f,z)),o&&Z===null?s.stateNode=g:(g=Pt(g,Z,u,b,d,s,o,T),$e(g,u,d,f,z)&&fn(s),s.stateNode=g,o?fn(s):Ts(g,s,!1,!1))}},vl=function(o,s,u,d){u!==d?(o=hn(Po.current),u=hn(Li.current),s.stateNode=de(d,o,u,s),fn(s)):s.stateNode=o.stateNode}}else _s=function(){},yl=function(){},vl=function(){};function Ms(o,s){if(!nt)switch(o.tailMode){case"hidden":s=o.tail;for(var u=null;s!==null;)s.alternate!==null&&(u=s),s=s.sibling;u===null?o.tail=null:u.sibling=null;break;case"collapsed":u=o.tail;for(var d=null;u!==null;)u.alternate!==null&&(d=u),u=u.sibling;d===null?s||o.tail===null?o.tail=null:o.tail.sibling=null:d.sibling=null}}function Qt(o){var s=o.alternate!==null&&o.alternate.child===o.child,u=0,d=0;if(s)for(var f=o.child;f!==null;)u|=f.lanes|f.childLanes,d|=f.subtreeFlags&14680064,d|=f.flags&14680064,f.return=o,f=f.sibling;else for(f=o.child;f!==null;)u|=f.lanes|f.childLanes,d|=f.subtreeFlags,d|=f.flags,f.return=o,f=f.sibling;return o.subtreeFlags|=d,o.childLanes=u,s}function mb(o,s,u){var d=s.pendingProps;switch(pd(s),s.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return Qt(s),null;case 1:return li(s.type)&&Qa(),Qt(s),null;case 3:return u=s.stateNode,Eo(),Ze(ai),Ze(Ht),Rd(),u.pendingContext&&(u.context=u.pendingContext,u.pendingContext=null),(o===null||o.child===null)&&(tl(s)?fn(s):o===null||o.memoizedState.isDehydrated&&!(s.flags&256)||(s.flags|=1024,Yi!==null&&(ah(Yi),Yi=null))),_s(o,s),Qt(s),null;case 5:Ad(s),u=hn(Po.current);var f=s.type;if(o!==null&&s.stateNode!=null)yl(o,s,f,d,u),o.ref!==s.ref&&(s.flags|=512,s.flags|=2097152);else{if(!d){if(s.stateNode===null)throw Error(l(166));return Qt(s),null}if(o=hn(Li.current),tl(s)){if(!he)throw Error(l(175));o=M1(s.stateNode,s.type,s.memoizedProps,u,o,s,!ws),s.updateQueue=o,o!==null&&fn(s)}else{var g=it(f,d,u,o,s);Ts(g,s,!1,!1),s.stateNode=g,$e(g,f,d,u,o)&&fn(s)}s.ref!==null&&(s.flags|=512,s.flags|=2097152)}return Qt(s),null;case 6:if(o&&s.stateNode!=null)vl(o,s,o.memoizedProps,d);else{if(typeof d!="string"&&s.stateNode===null)throw Error(l(166));if(o=hn(Po.current),u=hn(Li.current),tl(s)){if(!he)throw Error(l(176));if(o=s.stateNode,u=s.memoizedProps,(d=k1(o,u,s,!ws))&&(f=xi,f!==null))switch(f.tag){case 3:j1(f.stateNode.containerInfo,o,u,(f.mode&1)!==0);break;case 5:V1(f.type,f.memoizedProps,f.stateNode,o,u,(f.mode&1)!==0)}d&&fn(s)}else s.stateNode=de(d,o,u,s)}return Qt(s),null;case 13:if(Ze(at),d=s.memoizedState,o===null||o.memoizedState!==null&&o.memoizedState.dehydrated!==null){if(nt&&ki!==null&&s.mode&1&&!(s.flags&128))rg(),So(),s.flags|=98560,f=!1;else if(f=tl(s),d!==null&&d.dehydrated!==null){if(o===null){if(!f)throw Error(l(318));if(!he)throw Error(l(344));if(f=s.memoizedState,f=f!==null?f.dehydrated:null,!f)throw Error(l(317));O1(f,s)}else So(),!(s.flags&128)&&(s.memoizedState=null),s.flags|=4;Qt(s),f=!1}else Yi!==null&&(ah(Yi),Yi=null),f=!0;if(!f)return s.flags&65536?s:null}return s.flags&128?(s.lanes=u,s):(u=d!==null,u!==(o!==null&&o.memoizedState!==null)&&u&&(s.child.flags|=8192,s.mode&1&&(o===null||at.current&1?It===0&&(It=3):uh())),s.updateQueue!==null&&(s.flags|=4),Qt(s),null);case 4:return Eo(),_s(o,s),o===null&&ot(s.stateNode.containerInfo),Qt(s),null;case 10:return xd(s.type._context),Qt(s),null;case 17:return li(s.type)&&Qa(),Qt(s),null;case 19:if(Ze(at),f=s.memoizedState,f===null)return Qt(s),null;if(d=(s.flags&128)!==0,g=f.rendering,g===null)if(d)Ms(f,!1);else{if(It!==0||o!==null&&o.flags&128)for(o=s.child;o!==null;){if(g=ul(o),g!==null){for(s.flags|=128,Ms(f,!1),o=g.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),s.subtreeFlags=0,o=u,u=s.child;u!==null;)d=u,f=o,d.flags&=14680066,g=d.alternate,g===null?(d.childLanes=0,d.lanes=f,d.child=null,d.subtreeFlags=0,d.memoizedProps=null,d.memoizedState=null,d.updateQueue=null,d.dependencies=null,d.stateNode=null):(d.childLanes=g.childLanes,d.lanes=g.lanes,d.child=g.child,d.subtreeFlags=0,d.deletions=null,d.memoizedProps=g.memoizedProps,d.memoizedState=g.memoizedState,d.updateQueue=g.updateQueue,d.type=g.type,f=g.dependencies,d.dependencies=f===null?null:{lanes:f.lanes,firstContext:f.firstContext}),u=u.sibling;return Ge(at,at.current&1|2),s.child}o=o.sibling}f.tail!==null&&Mt()>nh&&(s.flags|=128,d=!0,Ms(f,!1),s.lanes=4194304)}else{if(!d)if(o=ul(g),o!==null){if(s.flags|=128,d=!0,o=o.updateQueue,o!==null&&(s.updateQueue=o,s.flags|=4),Ms(f,!0),f.tail===null&&f.tailMode==="hidden"&&!g.alternate&&!nt)return Qt(s),null}else 2*Mt()-f.renderingStartTime>nh&&u!==1073741824&&(s.flags|=128,d=!0,Ms(f,!1),s.lanes=4194304);f.isBackwards?(g.sibling=s.child,s.child=g):(o=f.last,o!==null?o.sibling=g:s.child=g,f.last=g)}return f.tail!==null?(s=f.tail,f.rendering=s,f.tail=s.sibling,f.renderingStartTime=Mt(),s.sibling=null,o=at.current,Ge(at,d?o&1|2:o&1),s):(Qt(s),null);case 22:case 23:return lh(),u=s.memoizedState!==null,o!==null&&o.memoizedState!==null!==u&&(s.flags|=8192),u&&s.mode&1?Si&1073741824&&(Qt(s),Pe&&s.subtreeFlags&6&&(s.flags|=8192)):Qt(s),null;case 24:return null;case 25:return null}throw Error(l(156,s.tag))}function gb(o,s){switch(pd(s),s.tag){case 1:return li(s.type)&&Qa(),o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 3:return Eo(),Ze(ai),Ze(Ht),Rd(),o=s.flags,o&65536&&!(o&128)?(s.flags=o&-65537|128,s):null;case 5:return Ad(s),null;case 13:if(Ze(at),o=s.memoizedState,o!==null&&o.dehydrated!==null){if(s.alternate===null)throw Error(l(340));So()}return o=s.flags,o&65536?(s.flags=o&-65537|128,s):null;case 19:return Ze(at),null;case 4:return Eo(),null;case 10:return xd(s.type._context),null;case 22:case 23:return lh(),null;case 24:return null;default:return null}}var xl=!1,$t=!1,yb=typeof WeakSet=="function"?WeakSet:Set,ae=null;function Io(o,s){var u=o.ref;if(u!==null)if(typeof u=="function")try{u(null)}catch(d){rt(o,s,d)}else u.current=null}function qd(o,s,u){try{u()}catch(d){rt(o,s,d)}}var ny=!1;function vb(o,s){for($(o.containerInfo),ae=s;ae!==null;)if(o=ae,s=o.child,(o.subtreeFlags&1028)!==0&&s!==null)s.return=o,ae=s;else for(;ae!==null;){o=ae;try{var u=o.alternate;if(o.flags&1024)switch(o.tag){case 0:case 11:case 15:break;case 1:if(u!==null){var d=u.memoizedProps,f=u.memoizedState,g=o.stateNode,b=g.getSnapshotBeforeUpdate(o.elementType===o.type?d:Xi(o.type,d),f);g.__reactInternalSnapshotBeforeUpdate=b}break;case 3:Pe&&Ue(o.stateNode.containerInfo);break;case 5:case 6:case 4:case 17:break;default:throw Error(l(163))}}catch(T){rt(o,o.return,T)}if(s=o.sibling,s!==null){s.return=o.return,ae=s;break}ae=o.return}return u=ny,ny=!1,u}function ks(o,s,u){var d=s.updateQueue;if(d=d!==null?d.lastEffect:null,d!==null){var f=d=d.next;do{if((f.tag&o)===o){var g=f.destroy;f.destroy=void 0,g!==void 0&&qd(s,u,g)}f=f.next}while(f!==d)}}function Sl(o,s){if(s=s.updateQueue,s=s!==null?s.lastEffect:null,s!==null){var u=s=s.next;do{if((u.tag&o)===o){var d=u.create;u.destroy=d()}u=u.next}while(u!==s)}}function Qd(o){var s=o.ref;if(s!==null){var u=o.stateNode;switch(o.tag){case 5:o=ke(u);break;default:o=u}typeof s=="function"?s(o):s.current=o}}function ry(o){var s=o.alternate;s!==null&&(o.alternate=null,ry(s)),o.child=null,o.deletions=null,o.sibling=null,o.tag===5&&(s=o.stateNode,s!==null&&Dt(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 oy(o){return o.tag===5||o.tag===3||o.tag===4}function sy(o){e:for(;;){for(;o.sibling===null;){if(o.return===null||oy(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 $d(o,s,u){var d=o.tag;if(d===5||d===6)o=o.stateNode,s?j(u,o,s):X(u,o);else if(d!==4&&(o=o.child,o!==null))for($d(o,s,u),o=o.sibling;o!==null;)$d(o,s,u),o=o.sibling}function Gd(o,s,u){var d=o.tag;if(d===5||d===6)o=o.stateNode,s?je(u,o,s):L(u,o);else if(d!==4&&(o=o.child,o!==null))for(Gd(o,s,u),o=o.sibling;o!==null;)Gd(o,s,u),o=o.sibling}var jt=null,Ki=!1;function mn(o,s,u){for(u=u.child;u!==null;)Yd(o,s,u),u=u.sibling}function Yd(o,s,u){if(un&&typeof un.onCommitFiberUnmount=="function")try{un.onCommitFiberUnmount(Ka,u)}catch{}switch(u.tag){case 5:$t||Io(u,s);case 6:if(Pe){var d=jt,f=Ki;jt=null,mn(o,s,u),jt=d,Ki=f,jt!==null&&(Ki?ue(jt,u.stateNode):W(jt,u.stateNode))}else mn(o,s,u);break;case 18:Pe&&jt!==null&&(Ki?B1(jt,u.stateNode):N1(jt,u.stateNode));break;case 4:Pe?(d=jt,f=Ki,jt=u.stateNode.containerInfo,Ki=!0,mn(o,s,u),jt=d,Ki=f):(ne&&(d=u.stateNode.containerInfo,f=st(d),Qi(d,f)),mn(o,s,u));break;case 0:case 11:case 14:case 15:if(!$t&&(d=u.updateQueue,d!==null&&(d=d.lastEffect,d!==null))){f=d=d.next;do{var g=f,b=g.destroy;g=g.tag,b!==void 0&&(g&2||g&4)&&qd(u,s,b),f=f.next}while(f!==d)}mn(o,s,u);break;case 1:if(!$t&&(Io(u,s),d=u.stateNode,typeof d.componentWillUnmount=="function"))try{d.props=u.memoizedProps,d.state=u.memoizedState,d.componentWillUnmount()}catch(T){rt(u,s,T)}mn(o,s,u);break;case 21:mn(o,s,u);break;case 22:u.mode&1?($t=(d=$t)||u.memoizedState!==null,mn(o,s,u),$t=d):mn(o,s,u);break;default:mn(o,s,u)}}function ay(o){var s=o.updateQueue;if(s!==null){o.updateQueue=null;var u=o.stateNode;u===null&&(u=o.stateNode=new yb),s.forEach(function(d){var f=Ib.bind(null,o,d);u.has(d)||(u.add(d),d.then(f,f))})}}function Zi(o,s){var u=s.deletions;if(u!==null)for(var d=0;d<u.length;d++){var f=u[d];try{var g=o,b=s;if(Pe){var T=b;e:for(;T!==null;){switch(T.tag){case 5:jt=T.stateNode,Ki=!1;break e;case 3:jt=T.stateNode.containerInfo,Ki=!0;break e;case 4:jt=T.stateNode.containerInfo,Ki=!0;break e}T=T.return}if(jt===null)throw Error(l(160));Yd(g,b,f),jt=null,Ki=!1}else Yd(g,b,f);var z=f.alternate;z!==null&&(z.return=null),f.return=null}catch(Z){rt(f,s,Z)}}if(s.subtreeFlags&12854)for(s=s.child;s!==null;)ly(s,o),s=s.sibling}function ly(o,s){var u=o.alternate,d=o.flags;switch(o.tag){case 0:case 11:case 14:case 15:if(Zi(s,o),gn(o),d&4){try{ks(3,o,o.return),Sl(3,o)}catch(te){rt(o,o.return,te)}try{ks(5,o,o.return)}catch(te){rt(o,o.return,te)}}break;case 1:Zi(s,o),gn(o),d&512&&u!==null&&Io(u,u.return);break;case 5:if(Zi(s,o),gn(o),d&512&&u!==null&&Io(u,u.return),Pe){if(o.flags&32){var f=o.stateNode;try{oe(f)}catch(te){rt(o,o.return,te)}}if(d&4&&(f=o.stateNode,f!=null)){var g=o.memoizedProps;if(u=u!==null?u.memoizedProps:g,d=o.type,s=o.updateQueue,o.updateQueue=null,s!==null)try{Ae(f,s,d,u,g,o)}catch(te){rt(o,o.return,te)}}}break;case 6:if(Zi(s,o),gn(o),d&4&&Pe){if(o.stateNode===null)throw Error(l(162));f=o.stateNode,g=o.memoizedProps,u=u!==null?u.memoizedProps:g;try{K(f,u,g)}catch(te){rt(o,o.return,te)}}break;case 3:if(Zi(s,o),gn(o),d&4){if(Pe&&he&&u!==null&&u.memoizedState.isDehydrated)try{F1(s.containerInfo)}catch(te){rt(o,o.return,te)}if(ne){f=s.containerInfo,g=s.pendingChildren;try{Qi(f,g)}catch(te){rt(o,o.return,te)}}}break;case 4:if(Zi(s,o),gn(o),d&4&&ne){g=o.stateNode,f=g.containerInfo,g=g.pendingChildren;try{Qi(f,g)}catch(te){rt(o,o.return,te)}}break;case 13:Zi(s,o),gn(o),f=o.child,f.flags&8192&&(g=f.memoizedState!==null,f.stateNode.isHidden=g,!g||f.alternate!==null&&f.alternate.memoizedState!==null||(ih=Mt())),d&4&&ay(o);break;case 22:var b=u!==null&&u.memoizedState!==null;if(o.mode&1?($t=(u=$t)||b,Zi(s,o),$t=u):Zi(s,o),gn(o),d&8192){if(u=o.memoizedState!==null,(o.stateNode.isHidden=u)&&!b&&o.mode&1)for(ae=o,d=o.child;d!==null;){for(s=ae=d;ae!==null;){b=ae;var T=b.child;switch(b.tag){case 0:case 11:case 14:case 15:ks(4,b,b.return);break;case 1:Io(b,b.return);var z=b.stateNode;if(typeof z.componentWillUnmount=="function"){var Z=b,le=b.return;try{var Se=Z;z.props=Se.memoizedProps,z.state=Se.memoizedState,z.componentWillUnmount()}catch(te){rt(Z,le,te)}}break;case 5:Io(b,b.return);break;case 22:if(b.memoizedState!==null){dy(s);continue}}T!==null?(T.return=b,ae=T):dy(s)}d=d.sibling}if(Pe){e:if(d=null,Pe)for(s=o;;){if(s.tag===5){if(d===null){d=s;try{f=s.stateNode,u?se(f):Xe(s.stateNode,s.memoizedProps)}catch(te){rt(o,o.return,te)}}}else if(s.tag===6){if(d===null)try{g=s.stateNode,u?Ie(g):Ke(g,s.memoizedProps)}catch(te){rt(o,o.return,te)}}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;d===s&&(d=null),s=s.return}d===s&&(d=null),s.sibling.return=s.return,s=s.sibling}}}break;case 19:Zi(s,o),gn(o),d&4&&ay(o);break;case 21:break;default:Zi(s,o),gn(o)}}function gn(o){var s=o.flags;if(s&2){try{if(Pe){e:{for(var u=o.return;u!==null;){if(oy(u)){var d=u;break e}u=u.return}throw Error(l(160))}switch(d.tag){case 5:var f=d.stateNode;d.flags&32&&(oe(f),d.flags&=-33);var g=sy(o);Gd(o,g,f);break;case 3:case 4:var b=d.stateNode.containerInfo,T=sy(o);$d(o,T,b);break;default:throw Error(l(161))}}}catch(z){rt(o,o.return,z)}o.flags&=-3}s&4096&&(o.flags&=-4097)}function xb(o,s,u){ae=o,uy(o,s,u)}function uy(o,s,u){for(var d=(o.mode&1)!==0;ae!==null;){var f=ae,g=f.child;if(f.tag===22&&d){var b=f.memoizedState!==null||xl;if(!b){var T=f.alternate,z=T!==null&&T.memoizedState!==null||$t;T=xl;var Z=$t;if(xl=b,($t=z)&&!Z)for(ae=f;ae!==null;)b=ae,z=b.child,b.tag===22&&b.memoizedState!==null?hy(f):z!==null?(z.return=b,ae=z):hy(f);for(;g!==null;)ae=g,uy(g,s,u),g=g.sibling;ae=f,xl=T,$t=Z}cy(o,s,u)}else f.subtreeFlags&8772&&g!==null?(g.return=f,ae=g):cy(o,s,u)}}function cy(o){for(;ae!==null;){var s=ae;if(s.flags&8772){var u=s.alternate;try{if(s.flags&8772)switch(s.tag){case 0:case 11:case 15:$t||Sl(5,s);break;case 1:var d=s.stateNode;if(s.flags&4&&!$t)if(u===null)d.componentDidMount();else{var f=s.elementType===s.type?u.memoizedProps:Xi(s.type,u.memoizedProps);d.componentDidUpdate(f,u.memoizedState,d.__reactInternalSnapshotBeforeUpdate)}var g=s.updateQueue;g!==null&&ug(s,g,d);break;case 3:var b=s.updateQueue;if(b!==null){if(u=null,s.child!==null)switch(s.child.tag){case 5:u=ke(s.child.stateNode);break;case 1:u=s.child.stateNode}ug(s,b,u)}break;case 5:var T=s.stateNode;u===null&&s.flags&4&&be(T,s.type,s.memoizedProps,s);break;case 6:break;case 4:break;case 12:break;case 13:if(he&&s.memoizedState===null){var z=s.alternate;if(z!==null){var Z=z.memoizedState;if(Z!==null){var le=Z.dehydrated;le!==null&&z1(le)}}}break;case 19:case 17:case 21:case 22:case 23:case 25:break;default:throw Error(l(163))}$t||s.flags&512&&Qd(s)}catch(Se){rt(s,s.return,Se)}}if(s===o){ae=null;break}if(u=s.sibling,u!==null){u.return=s.return,ae=u;break}ae=s.return}}function dy(o){for(;ae!==null;){var s=ae;if(s===o){ae=null;break}var u=s.sibling;if(u!==null){u.return=s.return,ae=u;break}ae=s.return}}function hy(o){for(;ae!==null;){var s=ae;try{switch(s.tag){case 0:case 11:case 15:var u=s.return;try{Sl(4,s)}catch(z){rt(s,u,z)}break;case 1:var d=s.stateNode;if(typeof d.componentDidMount=="function"){var f=s.return;try{d.componentDidMount()}catch(z){rt(s,f,z)}}var g=s.return;try{Qd(s)}catch(z){rt(s,g,z)}break;case 5:var b=s.return;try{Qd(s)}catch(z){rt(s,b,z)}}}catch(z){rt(s,s.return,z)}if(s===o){ae=null;break}var T=s.sibling;if(T!==null){T.return=s.return,ae=T;break}ae=s.return}}var wl=0,bl=1,Cl=2,Pl=3,El=4;if(typeof Symbol=="function"&&Symbol.for){var Os=Symbol.for;wl=Os("selector.component"),bl=Os("selector.has_pseudo_class"),Cl=Os("selector.role"),Pl=Os("selector.test_id"),El=Os("selector.text")}function Xd(o){var s=Oe(o);if(s!=null){if(typeof s.memoizedProps["data-testname"]!="string")throw Error(l(364));return s}if(o=Zc(o),o===null)throw Error(l(362));return o.stateNode.current}function Kd(o,s){switch(s.$$typeof){case wl:if(o.type===s.value)return!0;break;case bl:e:{s=s.value,o=[o,0];for(var u=0;u<o.length;){var d=o[u++],f=o[u++],g=s[f];if(d.tag!==5||!ln(d)){for(;g!=null&&Kd(d,g);)f++,g=s[f];if(f===s.length){s=!0;break e}else for(d=d.child;d!==null;)o.push(d,f),d=d.sibling}}s=!1}return s;case Cl:if(o.tag===5&&gs(o.stateNode,s.value))return!0;break;case El:if((o.tag===5||o.tag===6)&&(o=ms(o),o!==null&&0<=o.indexOf(s.value)))return!0;break;case Pl: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 Zd(o){switch(o.$$typeof){case wl:return"<"+(Q(o.value)||"Unknown")+">";case bl:return":has("+(Zd(o)||"")+")";case Cl:return'[role="'+o.value+'"]';case El:return'"'+o.value+'"';case Pl:return'[data-testname="'+o.value+'"]';default:throw Error(l(365))}}function py(o,s){var u=[];o=[o,0];for(var d=0;d<o.length;){var f=o[d++],g=o[d++],b=s[g];if(f.tag!==5||!ln(f)){for(;b!=null&&Kd(f,b);)g++,b=s[g];if(g===s.length)u.push(f);else for(f=f.child;f!==null;)o.push(f,g),f=f.sibling}}return u}function Jd(o,s){if(!Ti)throw Error(l(363));o=Xd(o),o=py(o,s),s=[],o=Array.from(o);for(var u=0;u<o.length;){var d=o[u++];if(d.tag===5)ln(d)||s.push(d.stateNode);else for(d=d.child;d!==null;)o.push(d),d=d.sibling}return s}var Sb=Math.ceil,Al=c.ReactCurrentDispatcher,eh=c.ReactCurrentOwner,yt=c.ReactCurrentBatchConfig,Te=0,Ot=null,xt=null,Vt=0,Si=0,Ro=Yn(0),It=0,Ls=null,kr=0,Il=0,th=0,Fs=null,ci=null,ih=0,nh=1/0,Mn=null;function To(){nh=Mt()+500}var Rl=!1,rh=null,Jn=null,Tl=!1,er=null,_l=0,zs=0,oh=null,Ml=-1,kl=0;function Gt(){return Te&6?Mt():Ml!==-1?Ml:Ml=Mt()}function tr(o){return o.mode&1?Te&2&&Vt!==0?Vt&-Vt:ib.transition!==null?(kl===0&&(kl=Xm()),kl):(o=ze,o!==0?o:Ri()):1}function zi(o,s,u,d){if(50<zs)throw zs=0,oh=null,Error(l(185));Ss(o,u,d),(!(Te&2)||o!==Ot)&&(o===Ot&&(!(Te&2)&&(Il|=u),It===4&&ir(o,Vt)),di(o,d),u===1&&Te===0&&!(s.mode&1)&&(To(),Za&&cn()))}function di(o,s){var u=o.callbackNode;$1(o,s);var d=Xa(o,o===Ot?Vt:0);if(d===0)u!==null&&Zm(u),o.callbackNode=null,o.callbackPriority=0;else if(s=d&-d,o.callbackPriority!==s){if(u!=null&&Zm(u),s===1)o.tag===0?tb(my.bind(null,o)):Jm(my.bind(null,o)),Wt?fs(function(){!(Te&6)&&cn()}):ld(ud,cn),u=null;else{switch(Km(d)){case 1:u=ud;break;case 4:u=K1;break;case 16:u=cd;break;case 536870912:u=Z1;break;default:u=cd}u=Py(u,fy.bind(null,o))}o.callbackPriority=s,o.callbackNode=u}}function fy(o,s){if(Ml=-1,kl=0,Te&6)throw Error(l(327));var u=o.callbackNode;if(Fr()&&o.callbackNode!==u)return null;var d=Xa(o,o===Ot?Vt:0);if(d===0)return null;if(d&30||d&o.expiredLanes||s)s=Ol(o,d);else{s=d;var f=Te;Te|=2;var g=vy();(Ot!==o||Vt!==s)&&(Mn=null,To(),Or(o,s));do try{Cb();break}catch(T){yy(o,T)}while(!0);vd(),Al.current=g,Te=f,xt!==null?s=0:(Ot=null,Vt=0,s=It)}if(s!==0){if(s===2&&(f=od(o),f!==0&&(d=f,s=sh(o,f))),s===1)throw u=Ls,Or(o,0),ir(o,d),di(o,Mt()),u;if(s===6)ir(o,d);else{if(f=o.current.alternate,!(d&30)&&!wb(f)&&(s=Ol(o,d),s===2&&(g=od(o),g!==0&&(d=g,s=sh(o,g))),s===1))throw u=Ls,Or(o,0),ir(o,d),di(o,Mt()),u;switch(o.finishedWork=f,o.finishedLanes=d,s){case 0:case 1:throw Error(l(345));case 2:Lr(o,ci,Mn);break;case 3:if(ir(o,d),(d&130023424)===d&&(s=ih+500-Mt(),10<s)){if(Xa(o,0)!==0)break;if(f=o.suspendedLanes,(f&d)!==d){Gt(),o.pingedLanes|=o.suspendedLanes&f;break}o.timeoutHandle=ye(Lr.bind(null,o,ci,Mn),s);break}Lr(o,ci,Mn);break;case 4:if(ir(o,d),(d&4194240)===d)break;for(s=o.eventTimes,f=-1;0<d;){var b=31-$i(d);g=1<<b,b=s[b],b>f&&(f=b),d&=~g}if(d=f,d=Mt()-d,d=(120>d?120:480>d?480:1080>d?1080:1920>d?1920:3e3>d?3e3:4320>d?4320:1960*Sb(d/1960))-d,10<d){o.timeoutHandle=ye(Lr.bind(null,o,ci,Mn),d);break}Lr(o,ci,Mn);break;case 5:Lr(o,ci,Mn);break;default:throw Error(l(329))}}}return di(o,Mt()),o.callbackNode===u?fy.bind(null,o):null}function sh(o,s){var u=Fs;return o.current.memoizedState.isDehydrated&&(Or(o,s).flags|=256),o=Ol(o,s),o!==2&&(s=ci,ci=u,s!==null&&ah(s)),o}function ah(o){ci===null?ci=o:ci.push.apply(ci,o)}function wb(o){for(var s=o;;){if(s.flags&16384){var u=s.updateQueue;if(u!==null&&(u=u.stores,u!==null))for(var d=0;d<u.length;d++){var f=u[d],g=f.getSnapshot;f=f.value;try{if(!Gi(g(),f))return!1}catch{return!1}}}if(u=s.child,s.subtreeFlags&16384&&u!==null)u.return=s,s=u;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 ir(o,s){for(s&=~th,s&=~Il,o.suspendedLanes|=s,o.pingedLanes&=~s,o=o.expirationTimes;0<s;){var u=31-$i(s),d=1<<u;o[u]=-1,s&=~d}}function my(o){if(Te&6)throw Error(l(327));Fr();var s=Xa(o,0);if(!(s&1))return di(o,Mt()),null;var u=Ol(o,s);if(o.tag!==0&&u===2){var d=od(o);d!==0&&(s=d,u=sh(o,d))}if(u===1)throw u=Ls,Or(o,0),ir(o,s),di(o,Mt()),u;if(u===6)throw Error(l(345));return o.finishedWork=o.current.alternate,o.finishedLanes=s,Lr(o,ci,Mn),di(o,Mt()),null}function gy(o){er!==null&&er.tag===0&&!(Te&6)&&Fr();var s=Te;Te|=1;var u=yt.transition,d=ze;try{if(yt.transition=null,ze=1,o)return o()}finally{ze=d,yt.transition=u,Te=s,!(Te&6)&&cn()}}function lh(){Si=Ro.current,Ze(Ro)}function Or(o,s){o.finishedWork=null,o.finishedLanes=0;var u=o.timeoutHandle;if(u!==Ve&&(o.timeoutHandle=Ve,ge(u)),xt!==null)for(u=xt.return;u!==null;){var d=u;switch(pd(d),d.tag){case 1:d=d.type.childContextTypes,d!=null&&Qa();break;case 3:Eo(),Ze(ai),Ze(Ht),Rd();break;case 5:Ad(d);break;case 4:Eo();break;case 13:Ze(at);break;case 19:Ze(at);break;case 10:xd(d.type._context);break;case 22:case 23:lh()}u=u.return}if(Ot=o,xt=o=nr(o.current,null),Vt=Si=s,It=0,Ls=null,th=Il=kr=0,ci=Fs=null,_r!==null){for(s=0;s<_r.length;s++)if(u=_r[s],d=u.interleaved,d!==null){u.interleaved=null;var f=d.next,g=u.pending;if(g!==null){var b=g.next;g.next=f,d.next=b}u.pending=d}_r=null}return o}function yy(o,s){do{var u=xt;try{if(vd(),cl.current=fl,dl){for(var d=lt.memoizedState;d!==null;){var f=d.queue;f!==null&&(f.pending=null),d=d.next}dl=!1}if(Mr=0,kt=At=lt=null,Es=!1,As=0,eh.current=null,u===null||u.return===null){It=1,Ls=s,xt=null;break}e:{var g=o,b=u.return,T=u,z=s;if(s=Vt,T.flags|=32768,z!==null&&typeof z=="object"&&typeof z.then=="function"){var Z=z,le=T,Se=le.tag;if(!(le.mode&1)&&(Se===0||Se===11||Se===15)){var te=le.alternate;te?(le.updateQueue=te.updateQueue,le.memoizedState=te.memoizedState,le.lanes=te.lanes):(le.updateQueue=null,le.memoizedState=null)}var Je=Ug(b);if(Je!==null){Je.flags&=-257,Wg(Je,b,T,g,s),Je.mode&1&&Vg(g,Z,s),s=Je,z=Z;var We=s.updateQueue;if(We===null){var hi=new Set;hi.add(z),s.updateQueue=hi}else We.add(z);break e}else{if(!(s&1)){Vg(g,Z,s),uh();break e}z=Error(l(426))}}else if(nt&&T.mode&1){var kn=Ug(b);if(kn!==null){!(kn.flags&65536)&&(kn.flags|=256),Wg(kn,b,T,g,s),gd(Ao(z,T));break e}}g=z=Ao(z,T),It!==4&&(It=2),Fs===null?Fs=[g]:Fs.push(g),g=b;do{switch(g.tag){case 3:g.flags|=65536,s&=-s,g.lanes|=s;var F=Dg(g,z,s);lg(g,F);break e;case 1:T=z;var _=g.type,D=g.stateNode;if(!(g.flags&128)&&(typeof _.getDerivedStateFromError=="function"||D!==null&&typeof D.componentDidCatch=="function"&&(Jn===null||!Jn.has(D)))){g.flags|=65536,s&=-s,g.lanes|=s;var ie=jg(g,T,s);lg(g,ie);break e}}g=g.return}while(g!==null)}Sy(u)}catch(me){s=me,xt===u&&u!==null&&(xt=u=u.return);continue}break}while(!0)}function vy(){var o=Al.current;return Al.current=fl,o===null?fl:o}function uh(){(It===0||It===3||It===2)&&(It=4),Ot===null||!(kr&268435455)&&!(Il&268435455)||ir(Ot,Vt)}function Ol(o,s){var u=Te;Te|=2;var d=vy();(Ot!==o||Vt!==s)&&(Mn=null,Or(o,s));do try{bb();break}catch(f){yy(o,f)}while(!0);if(vd(),Te=u,Al.current=d,xt!==null)throw Error(l(261));return Ot=null,Vt=0,It}function bb(){for(;xt!==null;)xy(xt)}function Cb(){for(;xt!==null&&!Y1();)xy(xt)}function xy(o){var s=Cy(o.alternate,o,Si);o.memoizedProps=o.pendingProps,s===null?Sy(o):xt=s,eh.current=null}function Sy(o){var s=o;do{var u=s.alternate;if(o=s.return,s.flags&32768){if(u=gb(u,s),u!==null){u.flags&=32767,xt=u;return}if(o!==null)o.flags|=32768,o.subtreeFlags=0,o.deletions=null;else{It=6,xt=null;return}}else if(u=mb(u,s,Si),u!==null){xt=u;return}if(s=s.sibling,s!==null){xt=s;return}xt=s=o}while(s!==null);It===0&&(It=5)}function Lr(o,s,u){var d=ze,f=yt.transition;try{yt.transition=null,ze=1,Pb(o,s,u,d)}finally{yt.transition=f,ze=d}return null}function Pb(o,s,u,d){do Fr();while(er!==null);if(Te&6)throw Error(l(327));u=o.finishedWork;var f=o.finishedLanes;if(u===null)return null;if(o.finishedWork=null,o.finishedLanes=0,u===o.current)throw Error(l(177));o.callbackNode=null,o.callbackPriority=0;var g=u.lanes|u.childLanes;if(G1(o,g),o===Ot&&(xt=Ot=null,Vt=0),!(u.subtreeFlags&2064)&&!(u.flags&2064)||Tl||(Tl=!0,Py(cd,function(){return Fr(),null})),g=(u.flags&15990)!==0,u.subtreeFlags&15990||g){g=yt.transition,yt.transition=null;var b=ze;ze=1;var T=Te;Te|=4,eh.current=null,vb(o,u),ly(u,o),ve(o.containerInfo),o.current=u,xb(u,o,f),X1(),Te=T,ze=b,yt.transition=g}else o.current=u;if(Tl&&(Tl=!1,er=o,_l=f),g=o.pendingLanes,g===0&&(Jn=null),J1(u.stateNode,d),di(o,Mt()),s!==null)for(d=o.onRecoverableError,u=0;u<s.length;u++)f=s[u],d(f.value,{componentStack:f.stack,digest:f.digest});if(Rl)throw Rl=!1,o=rh,rh=null,o;return _l&1&&o.tag!==0&&Fr(),g=o.pendingLanes,g&1?o===oh?zs++:(zs=0,oh=o):zs=0,cn(),null}function Fr(){if(er!==null){var o=Km(_l),s=yt.transition,u=ze;try{if(yt.transition=null,ze=16>o?16:o,er===null)var d=!1;else{if(o=er,er=null,_l=0,Te&6)throw Error(l(331));var f=Te;for(Te|=4,ae=o.current;ae!==null;){var g=ae,b=g.child;if(ae.flags&16){var T=g.deletions;if(T!==null){for(var z=0;z<T.length;z++){var Z=T[z];for(ae=Z;ae!==null;){var le=ae;switch(le.tag){case 0:case 11:case 15:ks(8,le,g)}var Se=le.child;if(Se!==null)Se.return=le,ae=Se;else for(;ae!==null;){le=ae;var te=le.sibling,Je=le.return;if(ry(le),le===Z){ae=null;break}if(te!==null){te.return=Je,ae=te;break}ae=Je}}}var We=g.alternate;if(We!==null){var hi=We.child;if(hi!==null){We.child=null;do{var kn=hi.sibling;hi.sibling=null,hi=kn}while(hi!==null)}}ae=g}}if(g.subtreeFlags&2064&&b!==null)b.return=g,ae=b;else e:for(;ae!==null;){if(g=ae,g.flags&2048)switch(g.tag){case 0:case 11:case 15:ks(9,g,g.return)}var F=g.sibling;if(F!==null){F.return=g.return,ae=F;break e}ae=g.return}}var _=o.current;for(ae=_;ae!==null;){b=ae;var D=b.child;if(b.subtreeFlags&2064&&D!==null)D.return=b,ae=D;else e:for(b=_;ae!==null;){if(T=ae,T.flags&2048)try{switch(T.tag){case 0:case 11:case 15:Sl(9,T)}}catch(me){rt(T,T.return,me)}if(T===b){ae=null;break e}var ie=T.sibling;if(ie!==null){ie.return=T.return,ae=ie;break e}ae=T.return}}if(Te=f,cn(),un&&typeof un.onPostCommitFiberRoot=="function")try{un.onPostCommitFiberRoot(Ka,o)}catch{}d=!0}return d}finally{ze=u,yt.transition=s}}return!1}function wy(o,s,u){s=Ao(u,s),s=Dg(o,s,1),o=Zn(o,s,1),s=Gt(),o!==null&&(Ss(o,1,s),di(o,s))}function rt(o,s,u){if(o.tag===3)wy(o,o,u);else for(;s!==null;){if(s.tag===3){wy(s,o,u);break}else if(s.tag===1){var d=s.stateNode;if(typeof s.type.getDerivedStateFromError=="function"||typeof d.componentDidCatch=="function"&&(Jn===null||!Jn.has(d))){o=Ao(u,o),o=jg(s,o,1),s=Zn(s,o,1),o=Gt(),s!==null&&(Ss(s,1,o),di(s,o));break}}s=s.return}}function Eb(o,s,u){var d=o.pingCache;d!==null&&d.delete(s),s=Gt(),o.pingedLanes|=o.suspendedLanes&u,Ot===o&&(Vt&u)===u&&(It===4||It===3&&(Vt&130023424)===Vt&&500>Mt()-ih?Or(o,0):th|=u),di(o,s)}function by(o,s){s===0&&(o.mode&1?(s=Ya,Ya<<=1,!(Ya&130023424)&&(Ya=4194304)):s=1);var u=Gt();o=dn(o,s),o!==null&&(Ss(o,s,u),di(o,u))}function Ab(o){var s=o.memoizedState,u=0;s!==null&&(u=s.retryLane),by(o,u)}function Ib(o,s){var u=0;switch(o.tag){case 13:var d=o.stateNode,f=o.memoizedState;f!==null&&(u=f.retryLane);break;case 19:d=o.stateNode;break;default:throw Error(l(314))}d!==null&&d.delete(s),by(o,u)}var Cy;Cy=function(o,s,u){if(o!==null)if(o.memoizedProps!==s.pendingProps||ai.current)ui=!0;else{if(!(o.lanes&u)&&!(s.flags&128))return ui=!1,fb(o,s,u);ui=!!(o.flags&131072)}else ui=!1,nt&&s.flags&1048576&&eg(s,el,s.index);switch(s.lanes=0,s.tag){case 2:var d=s.type;gl(o,s),o=s.pendingProps;var f=yo(s,Ht.current);bo(s,u),f=Md(null,s,d,o,f,u);var g=kd();return s.flags|=1,typeof f=="object"&&f!==null&&typeof f.render=="function"&&f.$$typeof===void 0?(s.tag=1,s.memoizedState=null,s.updateQueue=null,li(d)?(g=!0,$a(s)):g=!1,s.memoizedState=f.state!==null&&f.state!==void 0?f.state:null,bd(s),f.updater=al,s.stateNode=f,f._reactInternals=s,Pd(s,d,o,u),s=jd(null,s,d,!0,g,u)):(s.tag=0,nt&&g&&hd(s),Kt(null,s,f,u),s=s.child),s;case 16:d=s.elementType;e:{switch(gl(o,s),o=s.pendingProps,f=d._init,d=f(d._payload),s.type=d,f=s.tag=Tb(d),o=Xi(d,o),f){case 0:s=Dd(null,s,d,o,u);break e;case 1:s=Yg(null,s,d,o,u);break e;case 11:s=Hg(null,s,d,o,u);break e;case 14:s=qg(null,s,d,Xi(d.type,o),u);break e}throw Error(l(306,d,""))}return s;case 0:return d=s.type,f=s.pendingProps,f=s.elementType===d?f:Xi(d,f),Dd(o,s,d,f,u);case 1:return d=s.type,f=s.pendingProps,f=s.elementType===d?f:Xi(d,f),Yg(o,s,d,f,u);case 3:e:{if(Xg(s),o===null)throw Error(l(387));d=s.pendingProps,g=s.memoizedState,f=g.element,ag(o,s),sl(s,d,null,u);var b=s.memoizedState;if(d=b.element,he&&g.isDehydrated)if(g={element:d,isDehydrated:!1,cache:b.cache,pendingSuspenseBoundaries:b.pendingSuspenseBoundaries,transitions:b.transitions},s.updateQueue.baseState=g,s.memoizedState=g,s.flags&256){f=Ao(Error(l(423)),s),s=Kg(o,s,d,u,f);break e}else if(d!==f){f=Ao(Error(l(424)),s),s=Kg(o,s,d,u,f);break e}else for(he&&(ki=T1(s.stateNode.containerInfo),xi=s,nt=!0,Yi=null,ws=!1),u=gg(s,null,d,u),s.child=u;u;)u.flags=u.flags&-3|4096,u=u.sibling;else{if(So(),d===f){s=_n(o,s,u);break e}Kt(o,s,d,u)}s=s.child}return s;case 5:return yg(s),o===null&&md(s),d=s.type,f=s.pendingProps,g=o!==null?o.memoizedProps:null,b=f.children,G(d,f)?b=null:g!==null&&G(d,g)&&(s.flags|=32),Gg(o,s),Kt(o,s,b,u),s.child;case 6:return o===null&&md(s),null;case 13:return Zg(o,s,u);case 4:return Ed(s,s.stateNode.containerInfo),d=s.pendingProps,o===null?s.child=Co(s,null,d,u):Kt(o,s,d,u),s.child;case 11:return d=s.type,f=s.pendingProps,f=s.elementType===d?f:Xi(d,f),Hg(o,s,d,f,u);case 7:return Kt(o,s,s.pendingProps,u),s.child;case 8:return Kt(o,s,s.pendingProps.children,u),s.child;case 12:return Kt(o,s,s.pendingProps.children,u),s.child;case 10:e:{if(d=s.type._context,f=s.pendingProps,g=s.memoizedProps,b=f.value,og(s,d,b),g!==null)if(Gi(g.value,b)){if(g.children===f.children&&!ai.current){s=_n(o,s,u);break e}}else for(g=s.child,g!==null&&(g.return=s);g!==null;){var T=g.dependencies;if(T!==null){b=g.child;for(var z=T.firstContext;z!==null;){if(z.context===d){if(g.tag===1){z=Tn(-1,u&-u),z.tag=2;var Z=g.updateQueue;if(Z!==null){Z=Z.shared;var le=Z.pending;le===null?z.next=z:(z.next=le.next,le.next=z),Z.pending=z}}g.lanes|=u,z=g.alternate,z!==null&&(z.lanes|=u),Sd(g.return,u,s),T.lanes|=u;break}z=z.next}}else if(g.tag===10)b=g.type===s.type?null:g.child;else if(g.tag===18){if(b=g.return,b===null)throw Error(l(341));b.lanes|=u,T=b.alternate,T!==null&&(T.lanes|=u),Sd(b,u,s),b=g.sibling}else b=g.child;if(b!==null)b.return=g;else for(b=g;b!==null;){if(b===s){b=null;break}if(g=b.sibling,g!==null){g.return=b.return,b=g;break}b=b.return}g=b}Kt(o,s,f.children,u),s=s.child}return s;case 9:return f=s.type,d=s.pendingProps.children,bo(s,u),f=Oi(f),d=d(f),s.flags|=1,Kt(o,s,d,u),s.child;case 14:return d=s.type,f=Xi(d,s.pendingProps),f=Xi(d.type,f),qg(o,s,d,f,u);case 15:return Qg(o,s,s.type,s.pendingProps,u);case 17:return d=s.type,f=s.pendingProps,f=s.elementType===d?f:Xi(d,f),gl(o,s),s.tag=1,li(d)?(o=!0,$a(s)):o=!1,bo(s,u),hg(s,d,f),Pd(s,d,f,u),jd(null,s,d,!0,o,u);case 19:return ey(o,s,u);case 22:return $g(o,s,u)}throw Error(l(156,s.tag))};function Py(o,s){return ld(o,s)}function Rb(o,s,u,d){this.tag=o,this.key=u,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=d,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ni(o,s,u,d){return new Rb(o,s,u,d)}function ch(o){return o=o.prototype,!(!o||!o.isReactComponent)}function Tb(o){if(typeof o=="function")return ch(o)?1:0;if(o!=null){if(o=o.$$typeof,o===x)return 11;if(o===I)return 14}return 2}function nr(o,s){var u=o.alternate;return u===null?(u=Ni(o.tag,s,o.key,o.mode),u.elementType=o.elementType,u.type=o.type,u.stateNode=o.stateNode,u.alternate=o,o.alternate=u):(u.pendingProps=s,u.type=o.type,u.flags=0,u.subtreeFlags=0,u.deletions=null),u.flags=o.flags&14680064,u.childLanes=o.childLanes,u.lanes=o.lanes,u.child=o.child,u.memoizedProps=o.memoizedProps,u.memoizedState=o.memoizedState,u.updateQueue=o.updateQueue,s=o.dependencies,u.dependencies=s===null?null:{lanes:s.lanes,firstContext:s.firstContext},u.sibling=o.sibling,u.index=o.index,u.ref=o.ref,u}function Ll(o,s,u,d,f,g){var b=2;if(d=o,typeof o=="function")ch(o)&&(b=1);else if(typeof o=="string")b=5;else e:switch(o){case h:return zr(u.children,f,g,s);case y:b=8,f|=8;break;case S:return o=Ni(12,u,s,f|2),o.elementType=S,o.lanes=g,o;case A:return o=Ni(13,u,s,f),o.elementType=A,o.lanes=g,o;case C:return o=Ni(19,u,s,f),o.elementType=C,o.lanes=g,o;case M:return Fl(u,f,g,s);default:if(typeof o=="object"&&o!==null)switch(o.$$typeof){case w:b=10;break e;case v:b=9;break e;case x:b=11;break e;case I:b=14;break e;case E:b=16,d=null;break e}throw Error(l(130,o==null?o:typeof o,""))}return s=Ni(b,u,s,f),s.elementType=o,s.type=d,s.lanes=g,s}function zr(o,s,u,d){return o=Ni(7,o,d,s),o.lanes=u,o}function Fl(o,s,u,d){return o=Ni(22,o,d,s),o.elementType=M,o.lanes=u,o.stateNode={isHidden:!1},o}function dh(o,s,u){return o=Ni(6,o,null,s),o.lanes=u,o}function hh(o,s,u){return s=Ni(4,o.children!==null?o.children:[],o.key,s),s.lanes=u,s.stateNode={containerInfo:o.containerInfo,pendingChildren:null,implementation:o.implementation},s}function _b(o,s,u,d,f){this.tag=s,this.containerInfo=o,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=Ve,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=sd(0),this.expirationTimes=sd(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=sd(0),this.identifierPrefix=d,this.onRecoverableError=f,he&&(this.mutableSourceEagerHydrationData=null)}function Ey(o,s,u,d,f,g,b,T,z){return o=new _b(o,s,u,T,z),s===1?(s=1,g===!0&&(s|=8)):s=0,g=Ni(3,null,null,s),o.current=g,g.stateNode=o,g.memoizedState={element:d,isDehydrated:u,cache:null,transitions:null,pendingSuspenseBoundaries:null},bd(g),o}function Ay(o){if(!o)return Xn;o=o._reactInternals;e:{if(J(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(li(s.type)){s=s.stateNode.__reactInternalMemoizedMergedChildContext;break e}}s=s.return}while(s!==null);throw Error(l(171))}if(o.tag===1){var u=o.type;if(li(u))return Gm(o,u,s)}return s}function Iy(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=ee(s),o===null?null:o.stateNode}function Ry(o,s){if(o=o.memoizedState,o!==null&&o.dehydrated!==null){var u=o.retryLane;o.retryLane=u!==0&&u<s?u:s}}function zl(o,s){Ry(o,s),(o=o.alternate)&&Ry(o,s)}function Mb(o){return o=ee(o),o===null?null:o.stateNode}function kb(){return null}return i.attemptContinuousHydration=function(o){if(o.tag===13){var s=dn(o,134217728);if(s!==null){var u=Gt();zi(s,o,134217728,u)}zl(o,134217728)}},i.attemptDiscreteHydration=function(o){if(o.tag===13){var s=dn(o,1);if(s!==null){var u=Gt();zi(s,o,1,u)}zl(o,1)}},i.attemptHydrationAtCurrentPriority=function(o){if(o.tag===13){var s=tr(o),u=dn(o,s);if(u!==null){var d=Gt();zi(u,o,s,d)}zl(o,s)}},i.attemptSynchronousHydration=function(o){switch(o.tag){case 3:var s=o.stateNode;if(s.current.memoizedState.isDehydrated){var u=xs(s.pendingLanes);u!==0&&(ad(s,u|1),di(s,Mt()),!(Te&6)&&(To(),cn()))}break;case 13:gy(function(){var d=dn(o,1);if(d!==null){var f=Gt();zi(d,o,1,f)}}),zl(o,1)}},i.batchedUpdates=function(o,s){var u=Te;Te|=1;try{return o(s)}finally{Te=u,Te===0&&(To(),Za&&cn())}},i.createComponentSelector=function(o){return{$$typeof:wl,value:o}},i.createContainer=function(o,s,u,d,f,g,b){return Ey(o,s,!1,null,u,d,f,g,b)},i.createHasPseudoClassSelector=function(o){return{$$typeof:bl,value:o}},i.createHydrationContainer=function(o,s,u,d,f,g,b,T,z){return o=Ey(u,d,!0,o,f,g,b,T,z),o.context=Ay(null),u=o.current,d=Gt(),f=tr(u),g=Tn(d,f),g.callback=s??null,Zn(u,g,f),o.current.lanes=f,Ss(o,f,d),di(o,d),o},i.createPortal=function(o,s,u){var d=3<arguments.length&&arguments[3]!==void 0?arguments[3]:null;return{$$typeof:m,key:d==null?null:""+d,children:o,containerInfo:s,implementation:u}},i.createRoleSelector=function(o){return{$$typeof:Cl,value:o}},i.createTestNameSelector=function(o){return{$$typeof:Pl,value:o}},i.createTextSelector=function(o){return{$$typeof:El,value:o}},i.deferredUpdates=function(o){var s=ze,u=yt.transition;try{return yt.transition=null,ze=16,o()}finally{ze=s,yt.transition=u}},i.discreteUpdates=function(o,s,u,d,f){var g=ze,b=yt.transition;try{return yt.transition=null,ze=1,o(s,u,d,f)}finally{ze=g,yt.transition=b,Te===0&&To()}},i.findAllNodes=Jd,i.findBoundingRects=function(o,s){if(!Ti)throw Error(l(363));s=Jd(o,s),o=[];for(var u=0;u<s.length;u++)o.push(Wa(s[u]));for(s=o.length-1;0<s;s--){u=o[s];for(var d=u.x,f=d+u.width,g=u.y,b=g+u.height,T=s-1;0<=T;T--)if(s!==T){var z=o[T],Z=z.x,le=Z+z.width,Se=z.y,te=Se+z.height;if(d>=Z&&g>=Se&&f<=le&&b<=te){o.splice(s,1);break}else if(d!==Z||u.width!==z.width||te<g||Se>b){if(!(g!==Se||u.height!==z.height||le<d||Z>f)){Z>d&&(z.width+=Z-d,z.x=d),le<f&&(z.width=f-Z),o.splice(s,1);break}}else{Se>g&&(z.height+=Se-g,z.y=g),te<b&&(z.height=b-Se),o.splice(s,1);break}}}return o},i.findHostInstance=Iy,i.findHostInstanceWithNoPortals=function(o){return o=q(o),o=o!==null?pe(o):null,o===null?null:o.stateNode},i.findHostInstanceWithWarning=function(o){return Iy(o)},i.flushControlled=function(o){var s=Te;Te|=1;var u=yt.transition,d=ze;try{yt.transition=null,ze=1,o()}finally{ze=d,yt.transition=u,Te=s,Te===0&&(To(),cn())}},i.flushPassiveEffects=Fr,i.flushSync=gy,i.focusWithin=function(o,s){if(!Ti)throw Error(l(363));for(o=Xd(o),s=py(o,s),s=Array.from(s),o=0;o<s.length;){var u=s[o++];if(!ln(u)){if(u.tag===5&&Jc(u.stateNode))return!0;for(u=u.child;u!==null;)s.push(u),u=u.sibling}}return!1},i.getCurrentUpdatePriority=function(){return ze},i.getFindAllNodesFailureDescription=function(o,s){if(!Ti)throw Error(l(363));var u=0,d=[];o=[Xd(o),0];for(var f=0;f<o.length;){var g=o[f++],b=o[f++],T=s[b];if((g.tag!==5||!ln(g))&&(Kd(g,T)&&(d.push(Zd(T)),b++,b>u&&(u=b)),b<s.length))for(g=g.child;g!==null;)o.push(g,b),g=g.sibling}if(u<s.length){for(o=[];u<s.length;u++)o.push(Zd(s[u]));return`findAllNodes was able to match part of the selector:
8
- `+(d.join(" > ")+`
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(`
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=`
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(" > ")+`
9
9
 
10
10
  No matching component was found for:
11
- `)+o.join(" > ")}return null},i.getPublicRootInstance=function(o){if(o=o.current,!o.child)return null;switch(o.child.tag){case 5:return ke(o.child.stateNode);default:return o.child.stateNode}},i.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:c.ReactCurrentDispatcher,findHostInstanceByFiber:Mb,findFiberByHostInstance:o.findFiberByHostInstance||kb,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{Ka=s.inject(o),un=s}catch{}o=!!s.checkDCE}}return o},i.isAlreadyRendering=function(){return!1},i.observeVisibleRects=function(o,s,u,d){if(!Ti)throw Error(l(363));o=Jd(o,s);var f=Y(o,u,d).disconnect;return{disconnect:function(){f()}}},i.registerMutableSourceForHydration=function(o,s){var u=s._getVersion;u=u(s._source),o.mutableSourceEagerHydrationData==null?o.mutableSourceEagerHydrationData=[s,u]:o.mutableSourceEagerHydrationData.push(s,u)},i.runWithPriority=function(o,s){var u=ze;try{return ze=o,s()}finally{ze=u}},i.shouldError=function(){return null},i.shouldSuspend=function(){return!1},i.updateContainer=function(o,s,u,d){var f=s.current,g=Gt(),b=tr(f);return u=Ay(u),s.context===null?s.context=u:s.pendingContext=u,s=Tn(g,b),s.payload={element:o},d=d===void 0?null:d,d!==null&&(s.callback=d),o=Zn(f,s,b),o!==null&&(zi(o,f,b,g),ol(o,f,b)),b},i}});var Pv=Rt((xT,Cv)=>{"use strict";Cv.exports=bv()});var qs=Rt((XT,Sx)=>{"use strict";Sx.exports=ReactDOM});var bx=Rt(Ep=>{"use strict";var wx=qs();Ep.createRoot=wx.createRoot,Ep.hydrateRoot=wx.hydrateRoot;var KT});var SS=Rt(xS=>{"use strict";var Zo=H();function VA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var UA=typeof Object.is=="function"?Object.is:VA,WA=Zo.useState,HA=Zo.useEffect,qA=Zo.useLayoutEffect,QA=Zo.useDebugValue;function $A(e,t){var i=t(),n=WA({inst:{value:i,getSnapshot:t}}),r=n[0].inst,a=n[1];return qA(function(){r.value=i,r.getSnapshot=t,wf(r)&&a({inst:r})},[e,i,t]),HA(function(){return wf(r)&&a({inst:r}),e(function(){wf(r)&&a({inst:r})})},[e]),QA(i),i}function wf(e){var t=e.getSnapshot;e=e.value;try{var i=t();return!UA(e,i)}catch{return!0}}function GA(e,t){return t()}var YA=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?GA:$A;xS.useSyncExternalStore=Zo.useSyncExternalStore!==void 0?Zo.useSyncExternalStore:YA});var bS=Rt((Sk,wS)=>{"use strict";wS.exports=SS()});var PS=Rt(CS=>{"use strict";var lc=H(),XA=bS();function KA(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var ZA=typeof Object.is=="function"?Object.is:KA,JA=XA.useSyncExternalStore,eI=lc.useRef,tI=lc.useEffect,iI=lc.useMemo,nI=lc.useDebugValue;CS.useSyncExternalStoreWithSelector=function(e,t,i,n,r){var a=eI(null);if(a.current===null){var l={hasValue:!1,value:null};a.current=l}else l=a.current;a=iI(function(){function p(w){if(!m){if(m=!0,h=w,w=n(w),r!==void 0&&l.hasValue){var v=l.value;if(r(v,w))return y=v}return y=w}if(v=y,ZA(h,w))return v;var x=n(w);return r!==void 0&&r(v,x)?v:(h=w,y=x)}var m=!1,h,y,S=i===void 0?null:i;return[function(){return p(t())},S===null?void 0:function(){return p(S())}]},[t,i,n,r]);var c=JA(e,a[0],a[1]);return tI(function(){l.hasValue=!0,l.value=c},[c]),nI(c),c}});var AS=Rt((bk,ES)=>{"use strict";ES.exports=PS()});var i1=Rt((AD,t1)=>{"use strict";(()=>{var e={296:(r,a,l)=>{var c=/^\s+|\s+$/g,p=/^[-+]0x[0-9a-f]+$/i,m=/^0b[01]+$/i,h=/^0o[0-7]+$/i,y=parseInt,S=typeof l.g=="object"&&l.g&&l.g.Object===Object&&l.g,w=typeof self=="object"&&self&&self.Object===Object&&self,v=S||w||Function("return this")(),x=Object.prototype.toString,A=Math.max,C=Math.min,I=function(){return v.Date.now()};function E(k){var O=typeof k;return!!k&&(O=="object"||O=="function")}function M(k){if(typeof k=="number")return k;if(function(V){return typeof V=="symbol"||function(J){return!!J&&typeof J=="object"}(V)&&x.call(V)=="[object Symbol]"}(k))return NaN;if(E(k)){var O=typeof k.valueOf=="function"?k.valueOf():k;k=E(O)?O+"":O}if(typeof k!="string")return k===0?k:+k;k=k.replace(c,"");var Q=m.test(k);return Q||h.test(k)?y(k.slice(2),Q?2:8):p.test(k)?NaN:+k}r.exports=function(k,O,Q){var V,J,U,q,ee,Me,pe=0,Re=!1,ke=!1,He=!0;if(typeof k!="function")throw new TypeError("Expected a function");function qe($e){var N=V,G=J;return V=J=void 0,pe=$e,q=k.apply(G,N)}function $($e){var N=$e-Me;return Me===void 0||N>=O||N<0||ke&&$e-pe>=U}function ve(){var $e=I();if($($e))return it($e);ee=setTimeout(ve,function(N){var G=O-(N-Me);return ke?C(G,U-(N-pe)):G}($e))}function it($e){return ee=void 0,He&&V?qe($e):(V=J=void 0,q)}function Qe(){var $e=I(),N=$($e);if(V=arguments,J=this,Me=$e,N){if(ee===void 0)return function(G){return pe=G,ee=setTimeout(ve,O),Re?qe(G):q}(Me);if(ke)return ee=setTimeout(ve,O),qe(Me)}return ee===void 0&&(ee=setTimeout(ve,O)),q}return O=M(O)||0,E(Q)&&(Re=!!Q.leading,U=(ke="maxWait"in Q)?A(M(Q.maxWait)||0,O):U,He="trailing"in Q?!!Q.trailing:He),Qe.cancel=function(){ee!==void 0&&clearTimeout(ee),pe=0,V=Me=J=ee=void 0},Qe.flush=function(){return ee===void 0?q:it(I())},Qe}},96:(r,a,l)=>{var c="Expected a function",p=NaN,m="[object Symbol]",h=/^\s+|\s+$/g,y=/^[-+]0x[0-9a-f]+$/i,S=/^0b[01]+$/i,w=/^0o[0-7]+$/i,v=parseInt,x=typeof l.g=="object"&&l.g&&l.g.Object===Object&&l.g,A=typeof self=="object"&&self&&self.Object===Object&&self,C=x||A||Function("return this")(),I=Object.prototype.toString,E=Math.max,M=Math.min,k=function(){return C.Date.now()};function O(V){var J=typeof V;return!!V&&(J=="object"||J=="function")}function Q(V){if(typeof V=="number")return V;if(function(q){return typeof q=="symbol"||function(ee){return!!ee&&typeof ee=="object"}(q)&&I.call(q)==m}(V))return p;if(O(V)){var J=typeof V.valueOf=="function"?V.valueOf():V;V=O(J)?J+"":J}if(typeof V!="string")return V===0?V:+V;V=V.replace(h,"");var U=S.test(V);return U||w.test(V)?v(V.slice(2),U?2:8):y.test(V)?p:+V}r.exports=function(V,J,U){var q=!0,ee=!0;if(typeof V!="function")throw new TypeError(c);return O(U)&&(q="leading"in U?!!U.leading:q,ee="trailing"in U?!!U.trailing:ee),function(Me,pe,Re){var ke,He,qe,$,ve,it,Qe=0,$e=!1,N=!1,G=!0;if(typeof Me!="function")throw new TypeError(c);function de(Pe){var ne=ke,he=He;return ke=He=void 0,Qe=Pe,$=Me.apply(he,ne)}function ye(Pe){var ne=Pe-it;return it===void 0||ne>=pe||ne<0||N&&Pe-Qe>=qe}function ge(){var Pe=k();if(ye(Pe))return Ve(Pe);ve=setTimeout(ge,function(ne){var he=pe-(ne-it);return N?M(he,qe-(ne-Qe)):he}(Pe))}function Ve(Pe){return ve=void 0,G&&ke?de(Pe):(ke=He=void 0,$)}function Fe(){var Pe=k(),ne=ye(Pe);if(ke=arguments,He=this,it=Pe,ne){if(ve===void 0)return function(he){return Qe=he,ve=setTimeout(ge,pe),$e?de(he):$}(it);if(N)return ve=setTimeout(ge,pe),de(it)}return ve===void 0&&(ve=setTimeout(ge,pe)),$}return pe=Q(pe)||0,O(Re)&&($e=!!Re.leading,qe=(N="maxWait"in Re)?E(Q(Re.maxWait)||0,pe):qe,G="trailing"in Re?!!Re.trailing:G),Fe.cancel=function(){ve!==void 0&&clearTimeout(ve),Qe=0,ke=it=He=ve=void 0},Fe.flush=function(){return ve===void 0?$:Ve(k())},Fe}(V,J,{leading:q,maxWait:J,trailing:ee})}},703:(r,a,l)=>{"use strict";var c=l(414);function p(){}function m(){}m.resetWarningCache=p,r.exports=function(){function h(w,v,x,A,C,I){if(I!==c){var E=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 E.name="Invariant Violation",E}}function y(){return h}h.isRequired=h;var S={array:h,bigint:h,bool:h,func:h,number:h,object:h,string:h,symbol:h,any:h,arrayOf:y,element:h,elementType:h,instanceOf:y,node:h,objectOf:y,oneOf:y,oneOfType:y,shape:y,exact:y,checkPropTypes:m,resetWarningCache:p};return S.PropTypes=S,S}},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 i(r){var a=t[r];if(a!==void 0)return a.exports;var l=t[r]={exports:{}};return e[r](l,l.exports,i),l.exports}i.n=r=>{var a=r&&r.__esModule?()=>r.default:()=>r;return i.d(a,{a}),a},i.d=(r,a)=>{for(var l in a)i.o(a,l)&&!i.o(r,l)&&Object.defineProperty(r,l,{enumerable:!0,get:a[l]})},i.g=function(){if(typeof globalThis=="object")return globalThis;try{return this||new Function("return this")()}catch{if(typeof window=="object")return window}}(),i.o=(r,a)=>Object.prototype.hasOwnProperty.call(r,a),i.r=r=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})};var n={};(()=>{"use strict";i.r(n),i.d(n,{LazyLoadComponent:()=>Oe,LazyLoadImage:()=>Jc,trackWindowScroll:()=>it});let r=H();var a=i.n(r),l=i(697);let c=qs();var p=i.n(c);function m(){return typeof window<"u"&&"IntersectionObserver"in window&&"isIntersecting"in window.IntersectionObserverEntry.prototype}function h(Y){return h=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},h(Y)}function y(Y,L){var X=Object.keys(Y);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(Y);L&&(K=K.filter(function(be){return Object.getOwnPropertyDescriptor(Y,be).enumerable})),X.push.apply(X,K)}return X}function S(Y,L,X){return(L=v(L))in Y?Object.defineProperty(Y,L,{value:X,enumerable:!0,configurable:!0,writable:!0}):Y[L]=X,Y}function w(Y,L){for(var X=0;X<L.length;X++){var K=L[X];K.enumerable=K.enumerable||!1,K.configurable=!0,"value"in K&&(K.writable=!0),Object.defineProperty(Y,v(K.key),K)}}function v(Y){var L=function(X,K){if(h(X)!=="object"||X===null)return X;var be=X[Symbol.toPrimitive];if(be!==void 0){var Ae=be.call(X,"string");if(h(Ae)!=="object")return Ae;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(X)}(Y);return h(L)==="symbol"?L:String(L)}function x(Y,L){return x=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,K){return X.__proto__=K,X},x(Y,L)}function A(Y){return A=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},A(Y)}var C=function(Y){Y.forEach(function(L){L.isIntersecting&&L.target.onVisible()})},I={},E=function(Y){(function(j,W){if(typeof W!="function"&&W!==null)throw new TypeError("Super expression must either be null or a function");j.prototype=Object.create(W&&W.prototype,{constructor:{value:j,writable:!0,configurable:!0}}),Object.defineProperty(j,"prototype",{writable:!1}),W&&x(j,W)})(je,Y);var L,X,K,be,Ae=(K=je,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 j,W=A(K);if(be){var ue=A(this).constructor;j=Reflect.construct(W,arguments,ue)}else j=W.apply(this,arguments);return function(oe,se){if(se&&(h(se)==="object"||typeof se=="function"))return se;if(se!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ie){if(Ie===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ie}(oe)}(this,j)});function je(j){var W;if(function(oe,se){if(!(oe instanceof se))throw new TypeError("Cannot call a class as a function")}(this,je),(W=Ae.call(this,j)).supportsObserver=!j.scrollPosition&&j.useIntersectionObserver&&m(),W.supportsObserver){var ue=j.threshold;W.observer=function(oe){return I[oe]=I[oe]||new IntersectionObserver(C,{rootMargin:oe+"px"}),I[oe]}(ue)}return W}return L=je,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 j=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props.scrollPosition,W=this.placeholder.getBoundingClientRect(),ue=p().findDOMNode(this.placeholder).style,oe=parseInt(ue.getPropertyValue("margin-left"),10)||0,se=parseInt(ue.getPropertyValue("margin-top"),10)||0;return{bottom:j.y+W.bottom+se,left:j.x+W.left+oe,right:j.x+W.right+oe,top:j.y+W.top+se}}},{key:"isPlaceholderInViewport",value:function(){if(typeof window>"u"||!this.placeholder)return!1;var j=this.props,W=j.scrollPosition,ue=j.threshold,oe=this.getPlaceholderBoundingBox(W),se=W.y+window.innerHeight,Ie=W.x,Xe=W.x+window.innerWidth,Ke=W.y;return Ke-ue<=oe.bottom&&se+ue>=oe.top&&Ie-ue<=oe.right&&Xe+ue>=oe.left}},{key:"updateVisibility",value:function(){this.isPlaceholderInViewport()&&this.props.onVisible()}},{key:"render",value:function(){var j=this,W=this.props,ue=W.className,oe=W.height,se=W.placeholder,Ie=W.style,Xe=W.width;if(se&&typeof se.type!="function")return a().cloneElement(se,{ref:function(Ue){return j.placeholder=Ue}});var Ke=function(Ue){for(var Pt=1;Pt<arguments.length;Pt++){var st=arguments[Pt]!=null?arguments[Pt]:{};Pt%2?y(Object(st),!0).forEach(function(Et){S(Ue,Et,st[Et])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Ue,Object.getOwnPropertyDescriptors(st)):y(Object(st)).forEach(function(Et){Object.defineProperty(Ue,Et,Object.getOwnPropertyDescriptor(st,Et))})}return Ue}({display:"inline-block"},Ie);return Xe!==void 0&&(Ke.width=Xe),oe!==void 0&&(Ke.height=oe),a().createElement("span",{className:ue,ref:function(Ue){return j.placeholder=Ue},style:Ke},se)}}],X&&w(L.prototype,X),Object.defineProperty(L,"prototype",{writable:!1}),je}(a().Component);E.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])},E.defaultProps={className:"",placeholder:null,threshold:100,useIntersectionObserver:!0};let M=E;var k=i(296),O=i.n(k),Q=i(96),V=i.n(Q),J=function(Y){var L=getComputedStyle(Y,null);return L.getPropertyValue("overflow")+L.getPropertyValue("overflow-y")+L.getPropertyValue("overflow-x")};let U=function(Y){if(!(Y instanceof HTMLElement))return window;for(var L=Y;L&&L instanceof HTMLElement;){if(/(scroll|auto)/.test(J(L)))return L;L=L.parentNode}return window};function q(Y){return q=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},q(Y)}var ee=["delayMethod","delayTime"];function Me(){return Me=Object.assign?Object.assign.bind():function(Y){for(var L=1;L<arguments.length;L++){var X=arguments[L];for(var K in X)Object.prototype.hasOwnProperty.call(X,K)&&(Y[K]=X[K])}return Y},Me.apply(this,arguments)}function pe(Y,L){for(var X=0;X<L.length;X++){var K=L[X];K.enumerable=K.enumerable||!1,K.configurable=!0,"value"in K&&(K.writable=!0),Object.defineProperty(Y,(be=function(Ae,je){if(q(Ae)!=="object"||Ae===null)return Ae;var j=Ae[Symbol.toPrimitive];if(j!==void 0){var W=j.call(Ae,"string");if(q(W)!=="object")return W;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Ae)}(K.key),q(be)==="symbol"?be:String(be)),K)}var be}function Re(Y,L){return Re=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,K){return X.__proto__=K,X},Re(Y,L)}function ke(Y,L){if(L&&(q(L)==="object"||typeof L=="function"))return L;if(L!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return He(Y)}function He(Y){if(Y===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Y}function qe(Y){return qe=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},qe(Y)}var $=function(){return typeof window>"u"?0:window.scrollX||window.pageXOffset},ve=function(){return typeof window>"u"?0:window.scrollY||window.pageYOffset};let it=function(Y){var L=function(X){(function(ue,oe){if(typeof oe!="function"&&oe!==null)throw new TypeError("Super expression must either be null or a function");ue.prototype=Object.create(oe&&oe.prototype,{constructor:{value:ue,writable:!0,configurable:!0}}),Object.defineProperty(ue,"prototype",{writable:!1}),oe&&Re(ue,oe)})(W,X);var K,be,Ae,je,j=(Ae=W,je=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 ue,oe=qe(Ae);if(je){var se=qe(this).constructor;ue=Reflect.construct(oe,arguments,se)}else ue=oe.apply(this,arguments);return ke(this,ue)});function W(ue){var oe;if(function(Ie,Xe){if(!(Ie instanceof Xe))throw new TypeError("Cannot call a class as a function")}(this,W),(oe=j.call(this,ue)).useIntersectionObserver=ue.useIntersectionObserver&&m(),oe.useIntersectionObserver)return ke(oe);var se=oe.onChangeScroll.bind(He(oe));return ue.delayMethod==="debounce"?oe.delayedScroll=O()(se,ue.delayTime):ue.delayMethod==="throttle"&&(oe.delayedScroll=V()(se,ue.delayTime)),oe.state={scrollPosition:{x:$(),y:ve()}},oe.baseComponentRef=a().createRef(),oe}return K=W,(be=[{key:"componentDidMount",value:function(){this.addListeners()}},{key:"componentWillUnmount",value:function(){this.removeListeners()}},{key:"componentDidUpdate",value:function(){typeof window>"u"||this.useIntersectionObserver||U(p().findDOMNode(this.baseComponentRef.current))!==this.scrollElement&&(this.removeListeners(),this.addListeners())}},{key:"addListeners",value:function(){typeof window>"u"||this.useIntersectionObserver||(this.scrollElement=U(p().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:$(),y:ve()}})}},{key:"render",value:function(){var ue=this.props,oe=(ue.delayMethod,ue.delayTime,function(Ie,Xe){if(Ie==null)return{};var Ke,Ue,Pt=function(Et,Gn){if(Et==null)return{};var Qi,Ar,ys={},Ha=Object.keys(Et);for(Ar=0;Ar<Ha.length;Ar++)Qi=Ha[Ar],Gn.indexOf(Qi)>=0||(ys[Qi]=Et[Qi]);return ys}(Ie,Xe);if(Object.getOwnPropertySymbols){var st=Object.getOwnPropertySymbols(Ie);for(Ue=0;Ue<st.length;Ue++)Ke=st[Ue],Xe.indexOf(Ke)>=0||Object.prototype.propertyIsEnumerable.call(Ie,Ke)&&(Pt[Ke]=Ie[Ke])}return Pt}(ue,ee)),se=this.useIntersectionObserver?null:this.state.scrollPosition;return a().createElement(Y,Me({forwardRef:this.baseComponentRef,scrollPosition:se},oe))}}])&&pe(K.prototype,be),Object.defineProperty(K,"prototype",{writable:!1}),W}(a().Component);return L.propTypes={delayMethod:l.PropTypes.oneOf(["debounce","throttle"]),delayTime:l.PropTypes.number,useIntersectionObserver:l.PropTypes.bool},L.defaultProps={delayMethod:"throttle",delayTime:300,useIntersectionObserver:!0},L};function Qe(Y){return Qe=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},Qe(Y)}function $e(Y,L){for(var X=0;X<L.length;X++){var K=L[X];K.enumerable=K.enumerable||!1,K.configurable=!0,"value"in K&&(K.writable=!0),Object.defineProperty(Y,(be=function(Ae,je){if(Qe(Ae)!=="object"||Ae===null)return Ae;var j=Ae[Symbol.toPrimitive];if(j!==void 0){var W=j.call(Ae,"string");if(Qe(W)!=="object")return W;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Ae)}(K.key),Qe(be)==="symbol"?be:String(be)),K)}var be}function N(Y,L){return N=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,K){return X.__proto__=K,X},N(Y,L)}function G(Y){return G=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},G(Y)}var de=function(Y){(function(j,W){if(typeof W!="function"&&W!==null)throw new TypeError("Super expression must either be null or a function");j.prototype=Object.create(W&&W.prototype,{constructor:{value:j,writable:!0,configurable:!0}}),Object.defineProperty(j,"prototype",{writable:!1}),W&&N(j,W)})(je,Y);var L,X,K,be,Ae=(K=je,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 j,W=G(K);if(be){var ue=G(this).constructor;j=Reflect.construct(W,arguments,ue)}else j=W.apply(this,arguments);return function(oe,se){if(se&&(Qe(se)==="object"||typeof se=="function"))return se;if(se!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ie){if(Ie===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ie}(oe)}(this,j)});function je(j){return function(W,ue){if(!(W instanceof ue))throw new TypeError("Cannot call a class as a function")}(this,je),Ae.call(this,j)}return L=je,(X=[{key:"render",value:function(){return a().createElement(M,this.props)}}])&&$e(L.prototype,X),Object.defineProperty(L,"prototype",{writable:!1}),je}(a().Component);let ye=it(de);function ge(Y){return ge=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},ge(Y)}function Ve(Y,L){for(var X=0;X<L.length;X++){var K=L[X];K.enumerable=K.enumerable||!1,K.configurable=!0,"value"in K&&(K.writable=!0),Object.defineProperty(Y,(be=function(Ae,je){if(ge(Ae)!=="object"||Ae===null)return Ae;var j=Ae[Symbol.toPrimitive];if(j!==void 0){var W=j.call(Ae,"string");if(ge(W)!=="object")return W;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(Ae)}(K.key),ge(be)==="symbol"?be:String(be)),K)}var be}function Fe(Y,L){return Fe=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,K){return X.__proto__=K,X},Fe(Y,L)}function Pe(Y){if(Y===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Y}function ne(Y){return ne=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},ne(Y)}var he=function(Y){(function(j,W){if(typeof W!="function"&&W!==null)throw new TypeError("Super expression must either be null or a function");j.prototype=Object.create(W&&W.prototype,{constructor:{value:j,writable:!0,configurable:!0}}),Object.defineProperty(j,"prototype",{writable:!1}),W&&Fe(j,W)})(je,Y);var L,X,K,be,Ae=(K=je,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 j,W=ne(K);if(be){var ue=ne(this).constructor;j=Reflect.construct(W,arguments,ue)}else j=W.apply(this,arguments);return function(oe,se){if(se&&(ge(se)==="object"||typeof se=="function"))return se;if(se!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Pe(oe)}(this,j)});function je(j){var W;(function(Xe,Ke){if(!(Xe instanceof Ke))throw new TypeError("Cannot call a class as a function")})(this,je),W=Ae.call(this,j);var ue=j.afterLoad,oe=j.beforeLoad,se=j.scrollPosition,Ie=j.visibleByDefault;return W.state={visible:Ie},Ie&&(oe(),ue()),W.onVisible=W.onVisible.bind(Pe(W)),W.isScrollTracked=!!(se&&Number.isFinite(se.x)&&se.x>=0&&Number.isFinite(se.y)&&se.y>=0),W}return L=je,(X=[{key:"componentDidUpdate",value:function(j,W){W.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 j=this.props,W=j.className,ue=j.delayMethod,oe=j.delayTime,se=j.height,Ie=j.placeholder,Xe=j.scrollPosition,Ke=j.style,Ue=j.threshold,Pt=j.useIntersectionObserver,st=j.width;return this.isScrollTracked||Pt&&m()?a().createElement(M,{className:W,height:se,onVisible:this.onVisible,placeholder:Ie,scrollPosition:Xe,style:Ke,threshold:Ue,useIntersectionObserver:Pt,width:st}):a().createElement(ye,{className:W,delayMethod:ue,delayTime:oe,height:se,onVisible:this.onVisible,placeholder:Ie,style:Ke,threshold:Ue,width:st})}}])&&Ve(L.prototype,X),Object.defineProperty(L,"prototype",{writable:!1}),je}(a().Component);he.propTypes={afterLoad:l.PropTypes.func,beforeLoad:l.PropTypes.func,useIntersectionObserver:l.PropTypes.bool,visibleByDefault:l.PropTypes.bool},he.defaultProps={afterLoad:function(){return{}},beforeLoad:function(){return{}},useIntersectionObserver:!0,visibleByDefault:!1};let Oe=he;function ot(Y){return ot=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(L){return typeof L}:function(L){return L&&typeof Symbol=="function"&&L.constructor===Symbol&&L!==Symbol.prototype?"symbol":typeof L},ot(Y)}var Ri=["afterLoad","beforeLoad","delayMethod","delayTime","effect","placeholder","placeholderSrc","scrollPosition","threshold","useIntersectionObserver","visibleByDefault","wrapperClassName","wrapperProps"];function Dt(Y,L){var X=Object.keys(Y);if(Object.getOwnPropertySymbols){var K=Object.getOwnPropertySymbols(Y);L&&(K=K.filter(function(be){return Object.getOwnPropertyDescriptor(Y,be).enumerable})),X.push.apply(X,K)}return X}function Wt(Y){for(var L=1;L<arguments.length;L++){var X=arguments[L]!=null?arguments[L]:{};L%2?Dt(Object(X),!0).forEach(function(K){fs(Y,K,X[K])}):Object.getOwnPropertyDescriptors?Object.defineProperties(Y,Object.getOwnPropertyDescriptors(X)):Dt(Object(X)).forEach(function(K){Object.defineProperty(Y,K,Object.getOwnPropertyDescriptor(X,K))})}return Y}function fs(Y,L,X){return(L=Wa(L))in Y?Object.defineProperty(Y,L,{value:X,enumerable:!0,configurable:!0,writable:!0}):Y[L]=X,Y}function Ti(){return Ti=Object.assign?Object.assign.bind():function(Y){for(var L=1;L<arguments.length;L++){var X=arguments[L];for(var K in X)Object.prototype.hasOwnProperty.call(X,K)&&(Y[K]=X[K])}return Y},Ti.apply(this,arguments)}function Zc(Y,L){for(var X=0;X<L.length;X++){var K=L[X];K.enumerable=K.enumerable||!1,K.configurable=!0,"value"in K&&(K.writable=!0),Object.defineProperty(Y,Wa(K.key),K)}}function Wa(Y){var L=function(X,K){if(ot(X)!=="object"||X===null)return X;var be=X[Symbol.toPrimitive];if(be!==void 0){var Ae=be.call(X,"string");if(ot(Ae)!=="object")return Ae;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(X)}(Y);return ot(L)==="symbol"?L:String(L)}function ms(Y,L){return ms=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(X,K){return X.__proto__=K,X},ms(Y,L)}function ln(Y){return ln=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(L){return L.__proto__||Object.getPrototypeOf(L)},ln(Y)}var gs=function(Y){(function(j,W){if(typeof W!="function"&&W!==null)throw new TypeError("Super expression must either be null or a function");j.prototype=Object.create(W&&W.prototype,{constructor:{value:j,writable:!0,configurable:!0}}),Object.defineProperty(j,"prototype",{writable:!1}),W&&ms(j,W)})(je,Y);var L,X,K,be,Ae=(K=je,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 j,W=ln(K);if(be){var ue=ln(this).constructor;j=Reflect.construct(W,arguments,ue)}else j=W.apply(this,arguments);return function(oe,se){if(se&&(ot(se)==="object"||typeof se=="function"))return se;if(se!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return function(Ie){if(Ie===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return Ie}(oe)}(this,j)});function je(j){var W;return function(ue,oe){if(!(ue instanceof oe))throw new TypeError("Cannot call a class as a function")}(this,je),(W=Ae.call(this,j)).state={loaded:!1},W}return L=je,(X=[{key:"onImageLoad",value:function(){var j=this;return this.state.loaded?null:function(W){j.props.onLoad(W),j.props.afterLoad(),j.setState({loaded:!0})}}},{key:"getImg",value:function(){var j=this.props,W=(j.afterLoad,j.beforeLoad,j.delayMethod,j.delayTime,j.effect,j.placeholder,j.placeholderSrc,j.scrollPosition,j.threshold,j.useIntersectionObserver,j.visibleByDefault,j.wrapperClassName,j.wrapperProps,function(ue,oe){if(ue==null)return{};var se,Ie,Xe=function(Ue,Pt){if(Ue==null)return{};var st,Et,Gn={},Qi=Object.keys(Ue);for(Et=0;Et<Qi.length;Et++)st=Qi[Et],Pt.indexOf(st)>=0||(Gn[st]=Ue[st]);return Gn}(ue,oe);if(Object.getOwnPropertySymbols){var Ke=Object.getOwnPropertySymbols(ue);for(Ie=0;Ie<Ke.length;Ie++)se=Ke[Ie],oe.indexOf(se)>=0||Object.prototype.propertyIsEnumerable.call(ue,se)&&(Xe[se]=ue[se])}return Xe}(j,Ri));return a().createElement("img",Ti({},W,{onLoad:this.onImageLoad()}))}},{key:"getLazyLoadImage",value:function(){var j=this.props,W=j.beforeLoad,ue=j.className,oe=j.delayMethod,se=j.delayTime,Ie=j.height,Xe=j.placeholder,Ke=j.scrollPosition,Ue=j.style,Pt=j.threshold,st=j.useIntersectionObserver,Et=j.visibleByDefault,Gn=j.width;return a().createElement(Oe,{beforeLoad:W,className:ue,delayMethod:oe,delayTime:se,height:Ie,placeholder:Xe,scrollPosition:Ke,style:Ue,threshold:Pt,useIntersectionObserver:st,visibleByDefault:Et,width:Gn},this.getImg())}},{key:"getWrappedLazyLoadImage",value:function(j){var W=this.props,ue=W.effect,oe=W.height,se=W.placeholderSrc,Ie=W.width,Xe=W.wrapperClassName,Ke=W.wrapperProps,Ue=this.state.loaded,Pt=Ue?" lazy-load-image-loaded":"",st=Ue||!se?{}:{backgroundImage:"url(".concat(se,")"),backgroundSize:"100% 100%"};return a().createElement("span",Ti({className:Xe+" lazy-load-image-background "+ue+Pt,style:Wt(Wt({},st),{},{color:"transparent",display:"inline-block",height:oe,width:Ie})},Ke),j)}},{key:"render",value:function(){var j=this.props,W=j.effect,ue=j.placeholderSrc,oe=j.visibleByDefault,se=j.wrapperClassName,Ie=j.wrapperProps,Xe=this.getLazyLoadImage();return(W||ue)&&!oe||se||Ie?this.getWrappedLazyLoadImage(Xe):Xe}}])&&Zc(L.prototype,X),Object.defineProperty(L,"prototype",{writable:!1}),je}(a().Component);gs.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},gs.defaultProps={onLoad:function(){},afterLoad:function(){return{}},beforeLoad:function(){return{}},delayMethod:"throttle",delayTime:300,effect:"",placeholderSrc:null,threshold:100,useIntersectionObserver:!0,visibleByDefault:!1,wrapperClassName:""};let Jc=gs})(),t1.exports=n})()});var eT={};Db(eT,{AnnotationContext:()=>UR,AnnotationPageContext:()=>WR,AnnotationStyleProvider:()=>dR,Auth:()=>_f,AuthProvider:()=>Rf,AuthRContext:()=>eo,AuthReactContext:()=>OS,AuthReactContextActions:()=>LS,CanvasAnnotations:()=>JI,CanvasContext:()=>Vi,CanvasPanel:()=>Bt,CanvasStrategyProvider:()=>lm,CanvasWorldObject:()=>um,CollectionContext:()=>HR,CombinedMetadata:()=>eR,ComplexTimelineProvider:()=>mm,ContextBridge:()=>zf,ControlsReactContext:()=>ka,CreateCustomShape:()=>Wm,CustomContextBridge:()=>qS,CustomContextBridgeProvider:()=>mI,EventsProvider:()=>fI,Image:()=>Jw,ImageService:()=>jR,ImageServiceLoaderContext:()=>jw,InnerViewerProvider:()=>jS,LanguageProvider:()=>WI,LanguageString:()=>Mw,LocaleString:()=>Ii,ManifestContext:()=>yf,ManifestMetadata:()=>iR,MediaPlayerProvider:()=>Fa,Metadata:()=>ja,PolygonSelector:()=>DR,RangeContext:()=>vf,ReactEventContext:()=>to,ReactVaultContext:()=>mr,Render3DModelStrategy:()=>wm,RenderAccompanyingCanvas:()=>Am,RenderAnnotationStrategy:()=>bm,RenderAudioStrategy:()=>Em,RenderComplexTimelineStrategy:()=>gm,RenderEmptyStrategy:()=>cm,RenderImageStrategy:()=>xm,RenderSvgEditorControls:()=>aR,RenderTextualContentStrategy:()=>ym,RenderVideoStrategy:()=>Rm,RenderYouTubeStrategy:()=>Tm,ResourceProvider:()=>ei,ResourceReactContext:()=>ta,SelectorControllerProvider:()=>lR,SequenceThumbnails:()=>oR,SimpleViewerProvider:()=>kf,SimpleViewerReactContext:()=>is,SingleCanvasThumbnail:()=>km,StrategyReactContext:()=>Ma,ThumbnailFallbackImage:()=>ho,TranslationProvider:()=>UI,TransliterationProvider:()=>HI,VaultProvider:()=>Xr,ViewerPresetContext:()=>Ui,VirtualAnnotationProvider:()=>jf,VisibleCanvasReactContext:()=>Zr,authDetailsForResource:()=>Ef,createAuthStateStore:()=>Cf,createProbe:()=>Pf,defaultEmitter:()=>US,emptyActions:()=>Kf,emptyStrategy:()=>Zf,expandTarget:()=>Nt,findAllCanvasesInRange:()=>sc,findFirstCanvasFromRange:()=>mS,findManifestSelectedRange:()=>DA,findSelectedRange:()=>xf,flattenAnnotationPageIds:()=>Jf,formatTime:()=>Ec,get3dStrategy:()=>im,getComplexTimelineStrategy:()=>nm,getDefaultAnnotationStyles:()=>Fm,getImageStrategy:()=>Ra,getManifestSequence:()=>ac,getParsedTargetSelector:()=>Ca,getRenderingStrategy:()=>om,getTextualContentStrategy:()=>Ta,getVideoStrategy:()=>_a,getVisibleCanvasesFromCanvasId:()=>jA,hasAuth:()=>aI,isImageApiSelector:()=>gc,makeAccessServiceRequest:()=>bf,makeAccessTokenRequest:()=>uc,parseRotation:()=>yc,parseSelector:()=>Wn,parseSpecificResource:()=>LI,svgThemes:()=>v1,unknownResponse:()=>Pa,unsupportedStrategy:()=>et,useAnnotation:()=>wa,useAnnotationPage:()=>Qf,useAnnotationPageManager:()=>Aa,useAnnotationStyles:()=>Nm,useAnnotationsAtTime:()=>qR,useAuthActions:()=>FS,useAuthService:()=>zS,useAuthStore:()=>es,useAuthToken:()=>uI,useAuthTokens:()=>Af,useCanvas:()=>Ce,useCanvasChoices:()=>QR,useCanvasClock:()=>$R,useCanvasSequence:()=>Sf,useCanvasStartTime:()=>za,useCanvasSubset:()=>GR,useClosestLanguage:()=>Ow,useCollection:()=>YR,useComplexTimeline:()=>$I,useContextBridge:()=>Ff,useCreateLocaleString:()=>qI,useCurrentAuth:()=>lI,useCustomContextBridge:()=>Lf,useDispatch:()=>Nf,useEventEmitter:()=>ma,useEventListener:()=>XR,useExistingVault:()=>Kr,useExternalCollection:()=>KR,useExternalManifest:()=>gf,useExternalResource:()=>ua,useIIIFLanguage:()=>Ac,useImage:()=>jc,useImageService:()=>qm,useImageServiceLoader:()=>La,useImageTile:()=>ZR,useIsAuthEnabled:()=>Tf,useLoadImageService:()=>Ia,useLocaleString:()=>Lw,useManifest:()=>vt,useMediaActions:()=>YI,useMediaElements:()=>XI,useMediaState:()=>GI,usePaintables:()=>tm,usePaintingAnnotations:()=>ro,usePolygonHelper:()=>Vm,useRange:()=>ca,useRenderControls:()=>ni,useRenderingStrategy:()=>sm,useResourceContext:()=>Xt,useResourceEvents:()=>va,useResources:()=>em,useSearchService:()=>Mf,useSelectorController:()=>Lm,useSelectorEmitter:()=>uR,useSelectorEvents:()=>Om,useSelectorHelper:()=>cR,useSimpleMediaPlayer:()=>so,useSimpleViewer:()=>fa,useStrategy:()=>pt,useStyleHelper:()=>JR,useStyles:()=>no,useSvgEditor:()=>Um,useThumbnail:()=>Qn,useTranslations:()=>hm,useTransliteration:()=>dm,useVault:()=>_e,useVaultEffect:()=>vm,useVaultSelector:()=>De,useViewerPreset:()=>ga,useVirtualAnnotationPage:()=>Bf,useVirtualAnnotationPageContext:()=>Df,useVisibleCanvases:()=>Jr});var mo=R(H(),1);var ii=R(H(),1);var or=(e,t,i)=>{let n=e.length,r=i||re(n);for(let a=0;a<n;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 re(e,t,i){return new Float32Array(e,t,i)}var My=(e,t,i)=>{let n=e[1]<=t[3]&&e[3]>=t[1]&&e[2]<=t[4]&&e[4]>=t[2],r=i||re(5);return n?(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)},ky=e=>e.length/5;var pi=(e,t,i)=>{let n=i||re(9);return n[0]=e[0]*t[0]+e[1]*t[3]+e[2]*t[6],n[1]=e[0]*t[1]+e[1]*t[4]+e[2]*t[7],n[2]=e[0]*t[2]+e[1]*t[5]+e[2]*t[8],n[3]=e[3]*t[0]+e[4]*t[3]+e[5]*t[6],n[4]=e[3]*t[1]+e[4]*t[4]+e[5]*t[7],n[5]=e[3]*t[2]+e[4]*t[5]+e[5]*t[8],n[6]=e[6]*t[0]+e[7]*t[3]+e[8]*t[6],n[7]=e[6]*t[1]+e[7]*t[4]+e[8]*t[7],n[8]=e[6]*t[2]+e[7]*t[5]+e[8]*t[8],n},xe=class e{constructor(t){this.index=0,this.length=t,this.points=re(this.length)}static grid(t=1,i=1){return new e(5*t*i)}static point(t,i){let n=re(5);return n[0]=1,n[1]=t,n[2]=i,n[3]=t,n[4]=i,n}static positionPair(t){let i=re(5);return i[0]=1,i[1]=t.x1,i[2]=t.y1,i[3]=t.x2,i[4]=t.y2,i}static projection(t){return e.singleBox(t.width,t.height,t.x,t.y)}static singleBox(t,i,n=0,r=0){let a=re(5);return a[0]=1,a[1]=n,a[2]=r,a[3]=t+n,a[4]=i+r,a}row(t){return t(this)}addPoints(t,i,n,r){return this.points[this.index]=1,this.points[1+this.index]=t,this.points[2+this.index]=i,this.points[3+this.index]=n,this.points[4+this.index]=r,this.index+=5,this}addBox(t,i,n,r){return this.addPoints(t,i,t+n,i+r),this}build(){return this.points}};var Zt=(e,t)=>{let i=e.length;for(let n=0;n<i;n++)e[n]=n%5===0?t[6]*e[n+1]+t[7]*e[n+2]+t[8]*e[n]:n%5%2===1?t[0]*e[n]+t[1]*e[n+1]+t[2]:t[3]*e[n-1]+t[4]*e[n]+t[5];return e},wi=e=>{let t=re(9);return t[0]=e,t[4]=e,t[8]=1,t},ut=(e,t)=>{let i=re(9);return i[0]=1,i[2]=e,i[4]=1,i[5]=t,i[8]=1,i},On=(e,t,i)=>pi(ut((1-e)*t,(1-e)*i),wi(e)),bi=(e,t,i)=>{let n=e.length,r=i&&i.length>=n?i.slice(0,n):re(n);for(let a=0;a<n;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 Ns=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,Vb=typeof AbortController=="function",Bl=Vb?AbortController:class{constructor(){this.signal=new Oy}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})}},Ub=typeof AbortSignal=="function",Wb=typeof Bl.AbortSignal=="function",Oy=Ub?AbortSignal:Wb?Bl.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(i=>i(t),this))}onabort(){}addEventListener(t,i){t==="abort"&&this._listeners.push(i)}removeEventListener(t,i){t==="abort"&&(this._listeners=this._listeners.filter(n=>n!==i))}},gh=new Set,ph=(e,t)=>{let i=`LRU_CACHE_OPTION_${e}`;Dl(i)&&yh(i,`${e} option`,`options.${t}`,Mo)},fh=(e,t)=>{let i=`LRU_CACHE_METHOD_${e}`;if(Dl(i)){let{prototype:n}=Mo,{get:r}=Object.getOwnPropertyDescriptor(n,e);yh(i,`${e} method`,`cache.${t}()`,r)}},Hb=(e,t)=>{let i=`LRU_CACHE_PROPERTY_${e}`;if(Dl(i)){let{prototype:n}=Mo,{get:r}=Object.getOwnPropertyDescriptor(n,e);yh(i,`${e} property`,`cache.${t}`,r)}},Ly=(...e)=>{typeof process=="object"&&process&&typeof process.emitWarning=="function"?process.emitWarning(...e):console.error(...e)},Dl=e=>!gh.has(e),yh=(e,t,i,n)=>{gh.add(e);let r=`The ${t} is deprecated. Please use ${i} instead.`;Ly(r,"DeprecationWarning",e,n)},sr=e=>e&&e===Math.floor(e)&&e>0&&isFinite(e),Fy=e=>sr(e)?e<=Math.pow(2,8)?Uint8Array:e<=Math.pow(2,16)?Uint16Array:e<=Math.pow(2,32)?Uint32Array:e<=Number.MAX_SAFE_INTEGER?_o:null:null,_o=class extends Array{constructor(t){super(t),this.fill(0)}},mh=class{constructor(t){if(t===0)return[];let i=Fy(t);this.heap=new i(t),this.length=0}push(t){this.heap[this.length++]=t}pop(){return this.heap[--this.length]}},Mo=class e{constructor(t={}){let{max:i=0,ttl:n,ttlResolution:r=1,ttlAutopurge:a,updateAgeOnGet:l,updateAgeOnHas:c,allowStale:p,dispose:m,disposeAfter:h,noDisposeOnSet:y,noUpdateTTL:S,maxSize:w=0,maxEntrySize:v=0,sizeCalculation:x,fetchMethod:A,fetchContext:C,noDeleteOnFetchRejection:I,noDeleteOnStaleGet:E,allowStaleOnFetchRejection:M,allowStaleOnFetchAbort:k,ignoreFetchAbort:O}=t,{length:Q,maxAge:V,stale:J}=t instanceof e?{}:t;if(i!==0&&!sr(i))throw new TypeError("max option must be a nonnegative integer");let U=i?Fy(i):Array;if(!U)throw new Error("invalid max value: "+i);if(this.max=i,this.maxSize=w,this.maxEntrySize=v||this.maxSize,this.sizeCalculation=x||Q,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=A||null,this.fetchMethod&&typeof this.fetchMethod!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.fetchContext=C,!this.fetchMethod&&C!==void 0)throw new TypeError("cannot set fetchContext without fetchMethod");if(this.keyMap=new Map,this.keyList=new Array(i).fill(null),this.valList=new Array(i).fill(null),this.next=new U(i),this.prev=new U(i),this.head=0,this.tail=0,this.free=new mh(i),this.initialFill=1,this.size=0,typeof m=="function"&&(this.dispose=m),typeof h=="function"?(this.disposeAfter=h,this.disposed=[]):(this.disposeAfter=null,this.disposed=null),this.noDisposeOnSet=!!y,this.noUpdateTTL=!!S,this.noDeleteOnFetchRejection=!!I,this.allowStaleOnFetchRejection=!!M,this.allowStaleOnFetchAbort=!!k,this.ignoreFetchAbort=!!O,this.maxEntrySize!==0){if(this.maxSize!==0&&!sr(this.maxSize))throw new TypeError("maxSize must be a positive integer if specified");if(!sr(this.maxEntrySize))throw new TypeError("maxEntrySize must be a positive integer if specified");this.initializeSizeTracking()}if(this.allowStale=!!p||!!J,this.noDeleteOnStaleGet=!!E,this.updateAgeOnGet=!!l,this.updateAgeOnHas=!!c,this.ttlResolution=sr(r)||r===0?r:1,this.ttlAutopurge=!!a,this.ttl=n||V||0,this.ttl){if(!sr(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 q="LRU_CACHE_UNBOUNDED";Dl(q)&&(gh.add(q),Ly("TTL caching without ttlAutopurge, max, or maxSize can result in unbounded memory consumption.","UnboundedCacheWarning",q,e))}J&&ph("stale","allowStale"),V&&ph("maxAge","ttl"),Q&&ph("length","sizeCalculation")}getRemainingTTL(t){return this.has(t,{updateAgeOnHas:!1})?1/0:0}initializeTTLTracking(){this.ttls=new _o(this.max),this.starts=new _o(this.max),this.setItemTTL=(n,r,a=Ns.now())=>{if(this.starts[n]=r!==0?a:0,this.ttls[n]=r,r!==0&&this.ttlAutopurge){let l=setTimeout(()=>{this.isStale(n)&&this.delete(this.keyList[n])},r+1);l.unref&&l.unref()}},this.updateItemAge=n=>{this.starts[n]=this.ttls[n]!==0?Ns.now():0},this.statusTTL=(n,r)=>{n&&(n.ttl=this.ttls[r],n.start=this.starts[r],n.now=t||i(),n.remainingTTL=n.now+n.ttl-n.start)};let t=0,i=()=>{let n=Ns.now();if(this.ttlResolution>0){t=n;let r=setTimeout(()=>t=0,this.ttlResolution);r.unref&&r.unref()}return n};this.getRemainingTTL=n=>{let r=this.keyMap.get(n);return r===void 0?0:this.ttls[r]===0||this.starts[r]===0?1/0:this.starts[r]+this.ttls[r]-(t||i())},this.isStale=n=>this.ttls[n]!==0&&this.starts[n]!==0&&(t||i())-this.starts[n]>this.ttls[n]}updateItemAge(t){}statusTTL(t,i){}setItemTTL(t,i,n){}isStale(t){return!1}initializeSizeTracking(){this.calculatedSize=0,this.sizes=new _o(this.max),this.removeItemSize=t=>{this.calculatedSize-=this.sizes[t],this.sizes[t]=0},this.requireSize=(t,i,n,r)=>{if(this.isBackgroundFetch(i))return 0;if(!sr(n))if(r){if(typeof r!="function")throw new TypeError("sizeCalculation must be a function");if(n=r(i,t),!sr(n))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 n},this.addItemSize=(t,i,n)=>{if(this.sizes[t]=i,this.maxSize){let r=this.maxSize-this.sizes[t];for(;this.calculatedSize>r;)this.evict(!0)}this.calculatedSize+=this.sizes[t],n&&(n.entrySize=i,n.totalCalculatedSize=this.calculatedSize)}}removeItemSize(t){}addItemSize(t,i){}requireSize(t,i,n,r){if(n||r)throw new TypeError("cannot set size without setting maxSize or maxEntrySize on cache")}*indexes({allowStale:t=this.allowStale}={}){if(this.size)for(let i=this.tail;!(!this.isValidIndex(i)||((t||!this.isStale(i))&&(yield i),i===this.head));)i=this.prev[i]}*rindexes({allowStale:t=this.allowStale}={}){if(this.size)for(let i=this.head;!(!this.isValidIndex(i)||((t||!this.isStale(i))&&(yield i),i===this.tail));)i=this.next[i]}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,i){for(let n of this.indexes()){let r=this.valList[n],a=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(a!==void 0&&t(a,this.keyList[n],this))return this.get(this.keyList[n],i)}}forEach(t,i=this){for(let n of this.indexes()){let r=this.valList[n],a=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;a!==void 0&&t.call(i,a,this.keyList[n],this)}}rforEach(t,i=this){for(let n of this.rindexes()){let r=this.valList[n],a=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;a!==void 0&&t.call(i,a,this.keyList[n],this)}}get prune(){return fh("prune","purgeStale"),this.purgeStale}purgeStale(){let t=!1;for(let i of this.rindexes({allowStale:!0}))this.isStale(i)&&(this.delete(this.keyList[i]),t=!0);return t}dump(){let t=[];for(let i of this.indexes({allowStale:!0})){let n=this.keyList[i],r=this.valList[i],a=this.isBackgroundFetch(r)?r.__staleWhileFetching:r;if(a===void 0)continue;let l={value:a};if(this.ttls){l.ttl=this.ttls[i];let c=Ns.now()-this.starts[i];l.start=Math.floor(Date.now()-c)}this.sizes&&(l.size=this.sizes[i]),t.unshift([n,l])}return t}load(t){this.clear();for(let[i,n]of t){if(n.start){let r=Date.now()-n.start;n.start=Ns.now()-r}this.set(i,n.value,n)}}dispose(t,i,n){}set(t,i,{ttl:n=this.ttl,start:r,noDisposeOnSet:a=this.noDisposeOnSet,size:l=0,sizeCalculation:c=this.sizeCalculation,noUpdateTTL:p=this.noUpdateTTL,status:m}={}){if(l=this.requireSize(t,i,l,c),this.maxEntrySize&&l>this.maxEntrySize)return m&&(m.set="miss",m.maxEntrySizeExceeded=!0),this.delete(t),this;let h=this.size===0?void 0:this.keyMap.get(t);if(h===void 0)h=this.newIndex(),this.keyList[h]=t,this.valList[h]=i,this.keyMap.set(t,h),this.next[this.tail]=h,this.prev[h]=this.tail,this.tail=h,this.size++,this.addItemSize(h,l,m),m&&(m.set="add"),p=!1;else{this.moveToTail(h);let y=this.valList[h];if(i!==y){if(this.isBackgroundFetch(y)?y.__abortController.abort(new Error("replaced")):a||(this.dispose(y,t,"set"),this.disposeAfter&&this.disposed.push([y,t,"set"])),this.removeItemSize(h),this.valList[h]=i,this.addItemSize(h,l,m),m){m.set="replace";let S=y&&this.isBackgroundFetch(y)?y.__staleWhileFetching:y;S!==void 0&&(m.oldValue=S)}}else m&&(m.set="update")}if(n!==0&&this.ttl===0&&!this.ttls&&this.initializeTTLTracking(),p||this.setItemTTL(h,n,r),this.statusTTL(m,h),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 i=this.head,n=this.keyList[i],r=this.valList[i];return this.isBackgroundFetch(r)?r.__abortController.abort(new Error("evicted")):(this.dispose(r,n,"evict"),this.disposeAfter&&this.disposed.push([r,n,"evict"])),this.removeItemSize(i),t&&(this.keyList[i]=null,this.valList[i]=null,this.free.push(i)),this.head=this.next[i],this.keyMap.delete(n),this.size--,i}has(t,{updateAgeOnHas:i=this.updateAgeOnHas,status:n}={}){let r=this.keyMap.get(t);if(r!==void 0)if(this.isStale(r))n&&(n.has="stale",this.statusTTL(n,r));else return i&&this.updateItemAge(r),n&&(n.has="hit"),this.statusTTL(n,r),!0;else n&&(n.has="miss");return!1}peek(t,{allowStale:i=this.allowStale}={}){let n=this.keyMap.get(t);if(n!==void 0&&(i||!this.isStale(n))){let r=this.valList[n];return this.isBackgroundFetch(r)?r.__staleWhileFetching:r}}backgroundFetch(t,i,n,r){let a=i===void 0?void 0:this.valList[i];if(this.isBackgroundFetch(a))return a;let l=new Bl;n.signal&&n.signal.addEventListener("abort",()=>l.abort(n.signal.reason));let c={signal:l.signal,options:n,context:r},p=(w,v=!1)=>{let{aborted:x}=l.signal,A=n.ignoreFetchAbort&&w!==void 0;return n.status&&(x&&!v?(n.status.fetchAborted=!0,n.status.fetchError=l.signal.reason,A&&(n.status.fetchAbortIgnored=!0)):n.status.fetchResolved=!0),x&&!A&&!v?h(l.signal.reason):(this.valList[i]===S&&(w===void 0?S.__staleWhileFetching?this.valList[i]=S.__staleWhileFetching:this.delete(t):(n.status&&(n.status.fetchUpdated=!0),this.set(t,w,c.options))),w)},m=w=>(n.status&&(n.status.fetchRejected=!0,n.status.fetchError=w),h(w)),h=w=>{let{aborted:v}=l.signal,x=v&&n.allowStaleOnFetchAbort,A=x||n.allowStaleOnFetchRejection,C=A||n.noDeleteOnFetchRejection;if(this.valList[i]===S&&(!C||S.__staleWhileFetching===void 0?this.delete(t):x||(this.valList[i]=S.__staleWhileFetching)),A)return n.status&&S.__staleWhileFetching!==void 0&&(n.status.returnedStale=!0),S.__staleWhileFetching;if(S.__returned===S)throw w},y=(w,v)=>{this.fetchMethod(t,a,c).then(x=>w(x),v),l.signal.addEventListener("abort",()=>{(!n.ignoreFetchAbort||n.allowStaleOnFetchAbort)&&(w(),n.allowStaleOnFetchAbort&&(w=x=>p(x,!0)))})};n.status&&(n.status.fetchDispatched=!0);let S=new Promise(y).then(p,m);return S.__abortController=l,S.__staleWhileFetching=a,S.__returned=null,i===void 0?(this.set(t,S,{...c.options,status:void 0}),i=this.keyMap.get(t)):this.valList[i]=S,S}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:i=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,ttl:a=this.ttl,noDisposeOnSet:l=this.noDisposeOnSet,size:c=0,sizeCalculation:p=this.sizeCalculation,noUpdateTTL:m=this.noUpdateTTL,noDeleteOnFetchRejection:h=this.noDeleteOnFetchRejection,allowStaleOnFetchRejection:y=this.allowStaleOnFetchRejection,ignoreFetchAbort:S=this.ignoreFetchAbort,allowStaleOnFetchAbort:w=this.allowStaleOnFetchAbort,fetchContext:v=this.fetchContext,forceRefresh:x=!1,status:A,signal:C}={}){if(!this.fetchMethod)return A&&(A.fetch="get"),this.get(t,{allowStale:i,updateAgeOnGet:n,noDeleteOnStaleGet:r,status:A});let I={allowStale:i,updateAgeOnGet:n,noDeleteOnStaleGet:r,ttl:a,noDisposeOnSet:l,size:c,sizeCalculation:p,noUpdateTTL:m,noDeleteOnFetchRejection:h,allowStaleOnFetchRejection:y,allowStaleOnFetchAbort:w,ignoreFetchAbort:S,status:A,signal:C},E=this.keyMap.get(t);if(E===void 0){A&&(A.fetch="miss");let M=this.backgroundFetch(t,E,I,v);return M.__returned=M}else{let M=this.valList[E];if(this.isBackgroundFetch(M)){let J=i&&M.__staleWhileFetching!==void 0;return A&&(A.fetch="inflight",J&&(A.returnedStale=!0)),J?M.__staleWhileFetching:M.__returned=M}let k=this.isStale(E);if(!x&&!k)return A&&(A.fetch="hit"),this.moveToTail(E),n&&this.updateItemAge(E),this.statusTTL(A,E),M;let O=this.backgroundFetch(t,E,I,v),Q=O.__staleWhileFetching!==void 0,V=Q&&i;return A&&(A.fetch=Q&&k?"stale":"refresh",V&&k&&(A.returnedStale=!0)),V?O.__staleWhileFetching:O.__returned=O}}get(t,{allowStale:i=this.allowStale,updateAgeOnGet:n=this.updateAgeOnGet,noDeleteOnStaleGet:r=this.noDeleteOnStaleGet,status:a}={}){let l=this.keyMap.get(t);if(l!==void 0){let c=this.valList[l],p=this.isBackgroundFetch(c);return this.statusTTL(a,l),this.isStale(l)?(a&&(a.get="stale"),p?(a&&(a.returnedStale=i&&c.__staleWhileFetching!==void 0),i?c.__staleWhileFetching:void 0):(r||this.delete(t),a&&(a.returnedStale=i),i?c:void 0)):(a&&(a.get="hit"),p?c.__staleWhileFetching:(this.moveToTail(l),n&&this.updateItemAge(l),c))}else a&&(a.get="miss")}connect(t,i){this.prev[i]=t,this.next[t]=i}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 fh("del","delete"),this.delete}delete(t){let i=!1;if(this.size!==0){let n=this.keyMap.get(t);if(n!==void 0)if(i=!0,this.size===1)this.clear();else{this.removeItemSize(n);let r=this.valList[n];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[n]=null,this.valList[n]=null,n===this.tail?this.tail=this.prev[n]:n===this.head?this.head=this.next[n]:(this.next[this.prev[n]]=this.next[n],this.prev[this.next[n]]=this.prev[n]),this.size--,this.free.push(n)}}if(this.disposed)for(;this.disposed.length;)this.disposeAfter(...this.disposed.shift());return i}clear(){for(let t of this.rindexes({allowStale:!0})){let i=this.valList[t];if(this.isBackgroundFetch(i))i.__abortController.abort(new Error("deleted"));else{let n=this.keyList[t];this.dispose(i,n,"delete"),this.disposeAfter&&this.disposed.push([i,n,"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 fh("reset","clear"),this.clear}get length(){return Hb("length","size"),this.size}static get AbortController(){return Bl}static get AbortSignal(){return Oy}},zy=Mo;var Ux=R(nv(),1);var dt=R(H(),1),Iu=R(H(),1),RP=R(B(),1);var Ci=R(H(),1);function av(e,t){let i;return(...n)=>{window.clearTimeout(i),i=window.setTimeout(()=>e(...n),t)}}function ql({debounce:e,scroll:t,polyfill:i,offsetSize:n}={debounce:0,scroll:!1,offsetSize:!1}){let r=i||(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,Ci.useState)({left:0,top:0,width:0,height:0,bottom:0,right:0,x:0,y:0}),c=(0,Ci.useRef)({element:null,scrollContainers:null,resizeObserver:null,lastBounds:a,orientationHandler:null}),p=e?typeof e=="number"?e:e.scroll:null,m=e?typeof e=="number"?e:e.resize:null,h=(0,Ci.useRef)(!1);(0,Ci.useEffect)(()=>(h.current=!0,()=>void(h.current=!1)));let[y,S,w]=(0,Ci.useMemo)(()=>{let C=()=>{if(!c.current.element)return;let{left:I,top:E,width:M,height:k,bottom:O,right:Q,x:V,y:J}=c.current.element.getBoundingClientRect(),U={left:I,top:E,width:M,height:k,bottom:O,right:Q,x:V,y:J};c.current.element instanceof HTMLElement&&n&&(U.height=c.current.element.offsetHeight,U.width=c.current.element.offsetWidth),Object.freeze(U),h.current&&!rC(c.current.lastBounds,U)&&l(c.current.lastBounds=U)};return[C,m?av(C,m):C,p?av(C,p):C]},[l,n,p,m]);function v(){c.current.scrollContainers&&(c.current.scrollContainers.forEach(C=>C.removeEventListener("scroll",w,!0)),c.current.scrollContainers=null),c.current.resizeObserver&&(c.current.resizeObserver.disconnect(),c.current.resizeObserver=null),c.current.orientationHandler&&("orientation"in screen&&"removeEventListener"in screen.orientation?screen.orientation.removeEventListener("change",c.current.orientationHandler):"onorientationchange"in window&&window.removeEventListener("orientationchange",c.current.orientationHandler))}function x(){c.current.element&&(c.current.resizeObserver=new r(w),c.current.resizeObserver.observe(c.current.element),t&&c.current.scrollContainers&&c.current.scrollContainers.forEach(C=>C.addEventListener("scroll",w,{capture:!0,passive:!0})),c.current.orientationHandler=()=>{w()},"orientation"in screen&&"addEventListener"in screen.orientation?screen.orientation.addEventListener("change",c.current.orientationHandler):"onorientationchange"in window&&window.addEventListener("orientationchange",c.current.orientationHandler))}let A=C=>{!C||C===c.current.element||(v(),c.current.element=C,c.current.scrollContainers=lv(C),x())};return iC(w,!!t),tC(S),(0,Ci.useEffect)(()=>{v(),x()},[t,w,S]),(0,Ci.useEffect)(()=>v,[]),[A,a,y]}function tC(e){(0,Ci.useEffect)(()=>{let t=e;return window.addEventListener("resize",t),()=>void window.removeEventListener("resize",t)},[e])}function iC(e,t){(0,Ci.useEffect)(()=>{if(t){let i=e;return window.addEventListener("scroll",i,{capture:!0,passive:!0}),()=>void window.removeEventListener("scroll",i,!0)}},[e,t])}function lv(e){let t=[];if(!e||e===document.body)return t;let{overflow:i,overflowX:n,overflowY:r}=window.getComputedStyle(e);return[i,n,r].some(a=>a==="auto"||a==="scroll")&&t.push(e),[...t,...lv(e.parentElement)]}var nC=["x","y","top","bottom","left","right","width","height"],rC=(e,t)=>nC.every(i=>e[i]===t[i]);var Op=R(H(),1),wn=R(H(),1),Hx=R(Pv(),1),qx=R(H(),1),_u=R(H(),1),Fo=R(B(),1),Di=R(H(),1),t0=R(H(),1),i0=R(H(),1),n0=R(B(),1),Jt=R(B(),1),Mu=R(H(),1);var Js=R(B(),1),Fp=R(H(),1),o0=R(H(),1),QP=R(H(),1),s0=R(H(),1),l0=R(H(),1),Sn=R(H(),1),u0=R(H(),1),_p=R(B(),1),c0=R(H(),1),xn=R(H(),1),_t=R(H(),1),d0=R(H(),1),Fu=R(H(),1),St=R(B(),1),Mp=R(B(),1),ZP=R(H(),1),p0=R(B(),1),f0=R(H(),1);var sC=Object.defineProperty,aC=(e,t,i)=>t in e?sC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,Kl=(e,t,i)=>(aC(e,typeof t!="symbol"?t+"":t,i),i);function Dr(e){return e.endsWith("info.json")?e:e.endsWith("/")?`${e}info.json`:`${e}/info.json`}var lC="http://library.stanford.edu/iiif/image-api/compliance.html#level0",Rv="http://library.stanford.edu/iiif/image-api/compliance.html#level1",Tv="http://library.stanford.edu/iiif/image-api/compliance.html#level2",uC="http://library.stanford.edu/iiif/image-api/conformance.html#level0",_v="http://library.stanford.edu/iiif/image-api/conformance.html#level1",Mv="http://library.stanford.edu/iiif/image-api/conformance.html#level2",cC="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",kv="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",Ov="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",dC="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",Lv="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",Fv="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",hC="http://iiif.io/api/image/1/level0.json",pC="http://iiif.io/api/image/1/profiles/level0.json",zv="http://iiif.io/api/image/1/level1.json",Nv="http://iiif.io/api/image/1/profiles/level1.json",Bv="http://iiif.io/api/image/1/level2.json",Dv="http://iiif.io/api/image/1/profiles/level2.json",fC="http://iiif.io/api/image/2/level0.json",mC="http://iiif.io/api/image/2/profiles/level0.json",jv="http://iiif.io/api/image/2/level1.json",Vv="http://iiif.io/api/image/2/profiles/level1.json",Uv="http://iiif.io/api/image/2/level2.json",Wv="http://iiif.io/api/image/2/profiles/level2.json",gC="level0",Hv="level1",qv="level2",yC="http://iiif.io/api/image/2/level0",Qv="http://iiif.io/api/image/2/level1",$v="http://iiif.io/api/image/2/level2",vC="https://iiif.io/api/image/1.1/compliance/#level0",Gv="https://iiif.io/api/image/1.1/compliance/#level1",Yv="https://iiif.io/api/image/1.1/compliance/#level2",Xv=[$v,Tv,Mv,Ov,Fv,Bv,Dv,Uv,Wv,qv,Yv],Kv=[...Xv,Qv,Rv,_v,kv,Lv,zv,Nv,jv,Vv,Hv,Gv],xC=[yC,Qv,$v,lC,Rv,Tv,uC,_v,Mv,cC,kv,Ov,dC,Lv,Fv,hC,pC,zv,Nv,Bv,Dv,fC,mC,jv,Vv,Uv,Wv,gC,Hv,qv,vC,Gv,Yv];var SC={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},wC={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},bC={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};function CC(e){return Xv.indexOf(e)!==-1?bC:Kv.indexOf(e)!==-1?wC:SC}function PC(e){let t=e?Array.isArray(e.profile)?e.profile:[e.profile]:[],i={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let n of t)if(typeof n=="string"&&(n=CC(n)),!!n){if(n.formats)for(let r of n.formats)i.extraFormats.indexOf(r)===-1&&i.extraFormats.push(r);if(n.qualities)for(let r of n.qualities)i.extraQualities.indexOf(r)===-1&&i.extraQualities.push(r);if(n.supports)for(let r of n.supports)i.extraFeatures.indexOf(r)===-1&&i.extraFeatures.push(r);if(n.maxHeight&&(i.maxHeight=n.maxHeight),n.maxWidth&&(i.maxWidth=n.maxWidth),n.maxArea&&(i.maxArea=n.maxArea),n.extraFormats)for(let r of n.extraFormats)i.extraFormats.indexOf(r)===-1&&i.extraFormats.push(r);if(n.extraQualities)for(let r of n.extraQualities)i.extraQualities.indexOf(r)===-1&&i.extraQualities.push(r);if(n.extraFeatures)for(let r of n.extraFeatures)i.extraFeatures.indexOf(r)===-1&&i.extraFeatures.push(r);n.maxHeight&&(i.maxHeight=n.maxHeight),n.maxWidth&&(i.maxWidth=n.maxWidth),n.maxArea&&(i.maxArea=n.maxArea)}if(e.extraFormats)for(let n of e.extraFormats)i.extraFormats.indexOf(n)===-1&&i.extraFormats.push(n);if(e.extraFeatures)for(let n of e.extraFeatures)i.extraFeatures.indexOf(n)===-1&&i.extraFeatures.push(n);if(e.extraQualities)for(let n of e.extraQualities)i.extraQualities.indexOf(n)===-1&&i.extraQualities.push(n);return i}function EC(e){try{if(e==="full")return{full:!0};if(e==="square")return{square:!0};let t=e.startsWith("pct:"),i=e.substr(t?4:0).split(",").map(n=>parseFloat(n));return{x:i[0],y:i[1],w:i[2],h:i[3],percent:t}}catch{throw new Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+e)}}function AC(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 i=e.split(",").map(n=>n.trim());return i.length&&typeof i[0]<"u"&&(i[0]!==""&&(t.width=parseInt(i[0],10)),typeof i[1]<"u"&&i[1]!==""?(t.height=parseInt(i[1],10),t.version=2):t.version=3),t}function IC(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 RC(e,t=""){let i=e.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!i)throw new Error(`Invalid or unknown input ${e}`);let n=i[2],r=i[3],a=i[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:n,server:r,path:a,prefix:t}}function TC(e,t=""){let{path:i,scheme:n,server:r,prefix:a}=RC(e,t),l=(i||"").split("/").reverse(),[c,p,m,h,...y]=l,S=y.reverse().filter(Boolean).join("/");if(l.length===1||c==="")return{type:"base",scheme:n,server:r,prefix:a,identifier:S};if(c==="info.json"){let[,...v]=l;return{type:"info",scheme:n,server:r,prefix:a,identifier:v.reverse().filter(Boolean).join("/")}}let w=(c||"").split(".");if(typeof w[1]>"u"||typeof w[0]>"u"||typeof h>"u"||typeof m>"u"||typeof p>"u")throw new Error("Invalid image request");return{type:"image",scheme:n,server:r,prefix:a,identifier:S,originalPath:i,region:EC(h),size:AC(m),rotation:IC(p),quality:w[0],format:w[1]}}function _C(e){let t=TC(Dr(e.id));if(t.type!=="info")throw new Error("Invalid service URL");let i=PC(e);return{identifier:t.identifier,originalPath:"",server:t.server,prefix:t.prefix,scheme:t.scheme,type:"image",quality:i.extraQualities.indexOf("default")===-1?i.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function MC(e,t,i){let n=i.length,r=[];for(let a=0;a<n;a++){let l=i[a];if(l){let c=l.width;r.push(e/c)}}return r}function kC(e,t,i){let n=i.length,r=[];for(let a=0;a<n;a++){let l=i[a];l&&r.push({width:Math.floor(e/l),height:Math.floor(t/l)})}return r}function ft(e){if(e["@id"])return e["@id"];if(e.id)return e.id}function Jl(e){if(!e||!e.profile||!ft(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"&&xC.indexOf(i)!==-1)return!0;return!1}function OC(e){if(!Jl(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"){if(Kv.indexOf(i)!==-1)return!0}else{let n=[...i.supports||[],...i.extraFeatures||[]];if(n.indexOf("regionByPx")!==-1&&(n.indexOf("sizeByW")!==-1||n.indexOf("sizeByWh")!==-1))return!0}return!1}function Zl(e,t){if(t&&t.profile){let i=t.profile;if(i){let n=Array.isArray(i)?i:[i];return n.includes(`level${e}`)||n.includes(`http://iiif.io/api/image/2/level${e}.json`)||n.includes(`http://iiif.io/api/image/1/level${e}.json`)||n.includes(`http://iiif.io/api/image/1/profiles/level${e}.json`)}}return!1}function zh(e){return Jl(e)?Zl(0,e)?0:Zl(1,e)?1:Zl(2,e)?2:null:null}function Zv(e){return(e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function LC(e){if(!OC(e))return[];let t=[],i=Array.isArray(e.profile)?e.profile:[e.profile],n=i.length;for(let r=0;r<n;r++){let a=i[r];if(a&&typeof a!="string"&&(a.maxHeight||a.maxWidth))return[{id:ft(e),type:"variable",minWidth:0,minHeight:0,maxHeight:a.maxHeight||a.maxWidth,maxWidth:a.maxWidth||a.maxHeight,level:zh(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:ft(e),type:"variable",minHeight:0,minWidth:0,maxHeight:l.height||l.width,maxWidth:l.width,level:zh(e),version:Zv(e)?3:2})}}return t}function Ev(e){let t=/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/,i=e.match(t);if(i&&i[4]&&i[5]){let n=i[1],r=parseInt(i[4],10),a=parseInt(i[5],10),l=i[7];if((n==="max"||n==="full")&&r&&a&&l)return{type:"fixed",id:e,height:a,width:r}}return{type:"unknown",id:e}}function FC(e){if(e["@type"])return e["@type"];if(e.type)return e.type}function zC(e){if(typeof e=="string")return Ev(e);let t=FC(e);if(t!=="Image"&&t!=="sc:Image")return null;let i=e,n=ft(i);return n?n&&i.width&&i.height?{id:n,type:"fixed",width:i.width,height:i.height,unsafe:!0}:Ev(n):null}function NC(e){return Jl(e)?(e&&e.sizes?e.sizes:[]).map(t=>({id:ft(e),type:"fixed-service",height:t.height,width:t.width,level:zh(e),version:Zv(e)?3:2})):[]}function Av(e){let t=[],i=e.length;for(let n=0;n<i;n++){let r=e[n];if(!r)continue;let a=NC(r);a.length&&t.push(...a);let l=LC(r);l.length&&t.push(...l)}return t}function Jv(e){let t=e.service?Array.isArray(e.service)?e.service:[e.service]:[],i=t.length,n=[];for(let r=0;r<i;r++)Jl(t[r])&&n.push(t[r]);return n}function BC(e,t=!0,i){let n=[],r=zC(e);if(r===null)return n;let a=e;if(n.push(r),t&&a&&a.width&&a.height){let l=[],c=Jv(a);for(let p of c){let m={id:ft(p),width:a.width,height:a.height};if(i.canLoadSync(m)){let h=i.loadServiceSync(m);h&&(h.height||(h.height=a.height),h.width||(h.width=a.width),l.push(...Av([h])))}}if(l.length)return n.push(...l),n}return a.service&&n.push(...Av(a.service)),n}function DC({x:e=0,y:t=0,w:i,h:n,full:r,square:a,percent:l}){if(r)return"full";if(a)return"square";if(typeof i>"u"||typeof n>"u")throw new Error("RegionParameter: invalid region");let c=`${e},${t},${i},${n}`;return l?`pct:${c}`:c}function jC({max:e,percentScale:t,upscaled:i,confined:n,width:r,height:a,serialiseAsFull:l,version:c}){let p=[];return i&&p.push("^"),e?(p.push(l?"full":"max"),p.join("")):(n&&p.push("!"),t&&p.push(`pct:${t}`),r&&p.push(`${r}`),p.push(","),a&&c===3&&p.push(`${a}`),p.join(""))}function VC(e){return`${e.mirror?"!":""}${(e.angle||0)%360}`}function UC(e,t){let i=e.prefix.startsWith("/")?e.prefix.substr(1):e.prefix,n=`${e.scheme}://${e.server}/${i?`${i}/`:""}${e.identifier}`;if(e.type==="base")return n;if(e.type==="info")return`${n}/info.json`;let{size:r}=e,{region:a,rotation:l,format:c,quality:p}=e;if(t){let m=t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[],h=t.profile,y=m.indexOf("http://iiif.io/api/image/2/context.json")!==-1||h==="level2",S=m.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}),y&&(r.max&&!r.serialiseAsFull&&(r={...r,serialiseAsFull:!0}),!r.max&&r.width&&r.height&&(r={...r,height:void 0}),r={...r,version:2}),S){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[n,DC(a),jC(r),VC(l),`${p}.${c}`].filter(Boolean).join("/")}function Fh(e,t,i){let n=_C({"@context":e.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:Dr(ft(e)),profile:e.level===null||typeof e.level>"u"?"level0":`level${e.level}`,type:e.version===3?"ImageService3":"ImageService2"});if(n.type!=="image")throw new Error("Invalid service");return n.size.max=!1,n.size.width=t,n.size.height=i,{id:UC(n),type:"fixed",width:t,height:i||e.height/(e.width||1)*t,unsafe:e.width>t}}function ko(e){let t=e.replace(/(https?:\/\/)?(www.)?/i,"");return t.indexOf("/")!==-1?t.split("/")[0]:t}function WC(e,t,i){let n=e.width?e.width:e.maxWidth;return i.height<=e.maxHeight&&i.width<=e.maxWidth&&i.height>=e.minHeight&&i.width>=e.minWidth&&(!t||Math.abs(i.width-n)<Math.abs(t.width-n))}function HC(e,t){let i=[],n=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=(h,y=0)=>n.explain?i.push(new Array(y).fill(0).map(S=>" ").join("")+h().trim()):void 0,a=[],l=[],c=null;r(()=>`Using configuration: ${JSON.stringify(n,null,2)}`);let p=(h,y)=>{if(r(()=>"Swapping choice",3),WC(n,y,h)){if(n.preferFixedSize&&h.unsafe){r(()=>`We found an image that was marked as unsafe, but it was the best size. (${h.id})`,4),l.push(h);return}n.returnAllOptions&&y&&l.push(y),r(()=>`We found a new image that was the best size. (${h.id})`,4),c=h}else n.returnAllOptions&&l.push(h)};r(()=>`The input shows we have ${t.length} list(s) of candidates to choose from.`);let m=t.length;for(let h=0;h<m;h++){let y=t[h]();r(()=>`Candidate group ${h}: ${JSON.stringify(y,null,2)}`,1);let S=y.length;r(()=>`Checking candidate list number ${h} and found ${S} potential ways of creating image(s)`,1);for(let w=0;w<S;w++){let v=y[w];if(r(()=>`-> Checking candidate ${w}`,1),v.type==="unknown"&&n.atAnyCost&&(r(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),a.push(v)),v.type==="fixed"&&(v.unsafe?(r(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),a.push(v)):(r(()=>"We've found a fixed size image, checking if it matches the request",2),p(v,c))),v.type==="fixed-service")if(n.unsafeImageService){r(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2);let x=Fh(v,n.width,n.height);p(x,c)}else{r(()=>"Checking for an image from the tile source 3",2);let x=Fh(v,v.width,v.height);p(x,c)}if(v.type==="variable"&&v.maxWidth){let x=Fh({id:v.id,type:"fixed-service",width:v.maxWidth,height:v.maxWidth,level:v.level,version:v.version},v.maxWidth);p(x,c)}}if(c&&!n.returnAllOptions){if(c.unsafe||n.allowUnsafe)continue;r(()=>`We found a match in choice list number ${h}, no searching any more`);break}}return n.atAnyCost&&l.length===0?(r(()=>c?`We found an image! ${c.id} of type ${c.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:c||a[0]||null,fallback:a.slice(1),log:i}):n.returnAllOptions?(r(()=>"Returning all options that we have found"),{best:(n.atAnyCost?c||l[0]||a[0]:c||l[0])||null,fallback:[...l,...a],log:i}):(r(()=>"Returning the best image that we found, and a fallback"),{best:c||l[0]||null,fallback:c?l:l.slice(1),log:i})}function qC(e,t,i){let n=e>t?e:t,r=i.length,a=[];for(let l=0;l<r;l++){let c=i[l];if(!c||c.scaleFactors.length===0)continue;let p=c.scaleFactors[0];if(!p)continue;let m=n/p,h=[p];for(;m>=c.width;)p=p*2,h.push(p),m=m/2;a.push({...c,scaleFactors:h})}return a}function QC(e,t){if(e.length!==t.length)return!1;if(e.length===0&&t.length===0)return!0;let i=e.length,n=!0;for(let a=0;a<i;a++){let l=e[a],c=t[a];if(l.width!==c.width||l.height!==c.height){n=!1;break}}if(n)return!0;let r=0;for(let a=0;a<i;a++)for(let l=0;l<i;l++)if(e[a].width===t[l].width&&e[a].height===t[l].height){r++;break}return r===i}function Iv(e){return Zl(0,e)}var ex=class{constructor(e={}){Kl(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),Kl(this,"fetchingCount",0),Kl(this,"imageServices",{}),Kl(this,"knownImageServers",{}),this.config=Object.assign(this.config,e)}setConfig(e){Object.assign(this.config,e)}sample(e,t,i=!0){let n=ko(ft(e)),r=Dr(ft(e)),a=this.knownImageServers[n];return this.imageServices[r]=Object.assign(e,{real:!0}),!a&&e.tiles&&!Iv(e)?(this.knownImageServers[n]={verifications:0,malformed:!1,root:n,preLoaded:i,sampledId:ft(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:MC(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,i=!1){let n=e?.source,r=ko(ft(e)),a=this.knownImageServers[r],l=Dr(ft(e));return this.imageServices[l]?this.imageServices[l]||null:!this.config.approximateServices||!a||!a.result||!(n?.height||e.height)||!(n?.width||e.width)||!i&&(a.malformed||a.verifications<this.config.verificationsRequired)||Iv(e.source)?null:(this.imageServices[l]||(this.imageServices[l]={"@context":a.result.context,"@id":ft(e),id:ft(e),protocol:"http://iiif.io/api/image",tiles:n?.tiles||qC(e.width,e.height,a.result.sampledTiles),sizes:n?.sizes||kC(Math.round(e.width/a.result.resourceServiceRatio),Math.round(e.height/a.result.resourceServiceRatio),a.result.sizeRatios),profile:n?.profile||a.result.sampledProfile,height:n?.height||e.height,width:n?.width||e.width,real:!1}),this.imageServices[l]||null)}async getThumbnailFromResource(e,t,i=!0,n=[]){let r=e?await this.getImageCandidates(e,i):[];return HC(t,[()=>n,()=>r])}async getImageCandidates(e,t=!0){let i=e;if(t&&i&&i.height&&i.width){let n=Jv(i);for(let r of n){let a={id:ft(r),width:r.width?r.width:i.width,height:r.height?r.height:i.height,source:r};await this.loadService(a)}}return BC(e,t,this)}async verify(e){let t=this.predict(e,!1,!0),i=await this.fetchService(ft(e));if(!t)return!1;let n=t.height===i.height&&t.width===i.width&&t["@context"]===i["@context"]&&QC(t.sizes||[],i.sizes||[]);if(n){let r=ko(ft(e)),a=this.knownImageServers[r];a&&(a.verifications+=1,a.verifications>=this.config.verificationsRequired&&(a.verified=!0))}return n}canLoadSync(e){let t=typeof e=="string"?e:ft(e),i=Dr(t);if(this.imageServices[i])return!0;let n=this.knownImageServers[ko(t)];return!!(n&&!n.malformed&&n.verifications>=this.config.verificationsRequired)}async markAsMalformed(e){return this.knownImageServers[ko(ft(e))].malformed=!0,this.loadService(e,!0)}async fetchService(e,t=!1){let i=Dr(e),n=this.imageServices[i];if(n&&(!t||n.real))return n;if(!this.config.enableFetching)throw new Error("Fetching is not enabled");let r=await this.fetch(i).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[i]=Object.assign(r,{real:!0}),this.imageServices[i]}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 i=this.knownImageServers[ko(ft(e))];if(i&&!i.malformed&&!t){await i.result;let r=this.loadServiceSync(e);if(r)return r}this.fetchingCount++;let n=await this.fetchService(ft(e),t);return this.fetchingCount--,n.real&&this.sample(n,e),n}loadServiceSync(e){let t=Dr(ft(e));return this.imageServices[t]?this.imageServices[t]:this.config.approximateServices?this.predict(e):null}},ST=new ex;function eu(e){return{all:e=e||new Map,on:function(t,i){var n=e.get(t);n?n.push(i):e.set(t,[i])},off:function(t,i){var n=e.get(t);n&&(i?n.splice(n.indexOf(i)>>>0,1):e.set(t,[]))},emit:function(t,i){var n=e.get(t);n&&n.slice().map(function(r){r(i)}),(n=e.get("*"))&&n.slice().map(function(r){r(t,i)})}}}var ix={},tx=e=>{let t,i=new Set,n=(h,y)=>{let S=typeof h=="function"?h(t):h;if(!Object.is(S,t)){let w=t;t=y??(typeof S!="object"||S===null)?S:Object.assign({},t,S),i.forEach(v=>v(t,w))}},r=()=>t,p={setState:n,getState:r,getInitialState:()=>m,subscribe:h=>(i.add(h),()=>i.delete(h)),destroy:()=>{(ix.env?ix.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."),i.clear()}},m=t=e(n,r,p);return p},tu=e=>e?tx(e):tx;var $C=Object.create,Nh=Object.defineProperty,GC=Object.getOwnPropertyDescriptor,nx=Object.getOwnPropertyNames,YC=Object.getPrototypeOf,XC=Object.prototype.hasOwnProperty,KC=(e,t,i)=>t in e?Nh(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,Bh=(e,t)=>function(){return t||(0,e[nx(e)[0]])((t={exports:{}}).exports,t),t.exports},ZC=(e,t,i,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of nx(t))!XC.call(e,r)&&r!==i&&Nh(e,r,{get:()=>t[r],enumerable:!(n=GC(t,r))||n.enumerable});return e},Dh=(e,t,i)=>(i=e!=null?$C(YC(e)):{},ZC(t||!e||!e.__esModule?Nh(i,"default",{value:e,enumerable:!0}):i,e)),Tt=(e,t,i)=>(KC(e,typeof t!="symbol"?t+"":t,i),i);var jh="http://library.stanford.edu/iiif/image-api/compliance.html#level0",Vh="http://library.stanford.edu/iiif/image-api/compliance.html#level1",Uh="http://library.stanford.edu/iiif/image-api/compliance.html#level2",Wh="http://library.stanford.edu/iiif/image-api/conformance.html#level0",Hh="http://library.stanford.edu/iiif/image-api/conformance.html#level1",qh="http://library.stanford.edu/iiif/image-api/conformance.html#level2",Qh="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level0",$h="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",Gh="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",Yh="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level0",Xh="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",Kh="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",Zh="http://iiif.io/api/image/1/level0.json",Jh="http://iiif.io/api/image/1/profiles/level0.json",ep="http://iiif.io/api/image/1/level1.json",tp="http://iiif.io/api/image/1/profiles/level1.json",ip="http://iiif.io/api/image/1/level2.json",np="http://iiif.io/api/image/1/profiles/level2.json",rp="http://iiif.io/api/image/2/level0.json",op="http://iiif.io/api/image/2/profiles/level0.json",sp="http://iiif.io/api/image/2/level1.json",ap="http://iiif.io/api/image/2/profiles/level1.json",lp="http://iiif.io/api/image/2/level2.json",up="http://iiif.io/api/image/2/profiles/level2.json",cp="level0",dp="level1",hp="level2",pp="http://iiif.io/api/image/2/level0",fp="http://iiif.io/api/image/2/level1",mp="http://iiif.io/api/image/2/level2",Oo=[mp,Uh,qh,Gh,Kh,ip,np,lp,up,hp],iu=[...Oo,fp,Vh,Hh,$h,Xh,ep,tp,sp,ap,dp],gp=[pp,fp,mp,jh,Vh,Uh,Wh,Hh,qh,Qh,$h,Gh,Yh,Xh,Kh,Zh,Jh,ep,tp,ip,np,rp,op,sp,ap,lp,up,cp,dp,hp],yp=gp,vp=[pp,jh,Wh,Qh,Yh,Zh,Jh,rp,op,cp],rx={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["sizeByWhListed"]},ox={extraFormats:["jpg"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPx","regionSquare","sizeByWhListed","sizeByH","sizeByW","sizeByWh"]},sx={extraFormats:["jpg","png"],extraQualities:["default"],extraFeatures:["baseUriRedirect","cors","jsonldMediaType","regionByPct","regionByPx","regionSquare","rotationBy90s","sizeByWhListed","sizeByConfinedWh","sizeByH","sizeByPct","sizeByW","sizeByWh"]};var JC=Object.defineProperty,eP=(e,t,i)=>t in e?JC(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,vn=(e,t,i)=>(eP(e,typeof t!="symbol"?t+"":t,i),i);function tP(e){try{if(e==="full")return{full:!0};if(e==="square")return{square:!0};let t=e.startsWith("pct:"),i=e.substr(t?4:0).split(",").map(n=>parseFloat(n));return{x:i[0],y:i[1],w:i[2],h:i[3],percent:t}}catch{throw new Error("Expected 'full', 'square' or 'x,y,w,h'. Found "+e)}}function iP(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 i=e.split(",").map(n=>n.trim());return i.length&&(i[0]!==""&&(t.width=parseInt(i[0],10)),i[1]!==""&&(t.height=parseInt(i[1],10))),t}function nP(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 rP(e,t=""){let i=e.match(/^(([a-zA-Z]+):\/\/([^/]+))?((.*)+)/);if(!i)throw new Error(`Invalid or unknown input ${e}`);let n=i[2],r=i[3],a=i[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:n,server:r,path:a,prefix:t}}function oP(e,t=""){let{path:i,scheme:n,server:r,prefix:a}=rP(e,t),l=i.split("/").reverse(),[c,p,m,h,...y]=l,S=y.reverse().filter(Boolean).join("/");if(l.length===1||c==="")return{type:"base",scheme:n,server:r,prefix:a,identifier:S};if(c==="info.json"){let[,...x]=l;return{type:"info",scheme:n,server:r,prefix:a,identifier:x.reverse().filter(Boolean).join("/")}}if(typeof n>"u"||typeof r>"u"||typeof i>"u"||typeof h>"u"||typeof m>"u"||typeof p>"u"||typeof c>"u")throw new Error("Invalid image service URL");let[w="",v=""]=c.split(".");return{type:"image",scheme:n,server:r,prefix:a,identifier:S,originalPath:i,region:tP(h),size:iP(m),rotation:nP(p),quality:w,format:v}}function sP(e){return Oo.indexOf(e)!==-1?sx:iu.indexOf(e)!==-1?ox:rx}function aP(e){let t=e?Array.isArray(e.profile)?e.profile:[e.profile]:[],i={extraQualities:[],extraFormats:[],extraFeatures:[]};for(let n of t)if(typeof n=="string"&&(n=sP(n)),!!n){if(n.formats)for(let r of n.formats)i.extraFormats.indexOf(r)===-1&&i.extraFormats.push(r);if(n.qualities)for(let r of n.qualities)i.extraQualities.indexOf(r)===-1&&i.extraQualities.push(r);if(n.supports)for(let r of n.supports)i.extraFeatures.indexOf(r)===-1&&i.extraFeatures.push(r);if(n.maxHeight&&(i.maxHeight=n.maxHeight),n.maxWidth&&(i.maxWidth=n.maxWidth),n.maxArea&&(i.maxArea=n.maxArea),n.extraFormats)for(let r of n.extraFormats)i.extraFormats.indexOf(r)===-1&&i.extraFormats.push(r);if(n.extraQualities)for(let r of n.extraQualities)i.extraQualities.indexOf(r)===-1&&i.extraQualities.push(r);if(n.extraFeatures)for(let r of n.extraFeatures)i.extraFeatures.indexOf(r)===-1&&i.extraFeatures.push(r);n.maxHeight&&(i.maxHeight=n.maxHeight),n.maxWidth&&(i.maxWidth=n.maxWidth),n.maxArea&&(i.maxArea=n.maxArea)}if(e.extraFormats)for(let n of e.extraFormats)i.extraFormats.indexOf(n)===-1&&i.extraFormats.push(n);if(e.extraFeatures)for(let n of e.extraFeatures)i.extraFeatures.indexOf(n)===-1&&i.extraFeatures.push(n);if(e.extraQualities)for(let n of e.extraQualities)i.extraQualities.indexOf(n)===-1&&i.extraQualities.push(n);return i}function xp(e){let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"&&vp.indexOf(i)!==-1)return!0;return!1}function Le(e){if(e["@id"])return e["@id"];if(e.id)return e.id}function Us(e){if(!e||!e.profile||!Le(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"&&gp.indexOf(i)!==-1)return!0;return!1}function ax(e){if(!Us(e))return!1;let t=Array.isArray(e.profile)?e.profile:[e.profile];for(let i of t)if(typeof i=="string"){if(iu.indexOf(i)!==-1)return!0}else{let n=[...i.supports||[],...i.extraFeatures||[]];if(n.indexOf("regionByPx")!==-1&&(n.indexOf("sizeByW")!==-1||n.indexOf("sizeByWh")!==-1))return!0}return!1}function lP({x:e=0,y:t=0,w:i,h:n,full:r,square:a,percent:l}){if(r)return"full";if(a)return"square";if(typeof i>"u"||typeof n>"u")throw new Error("RegionParameter: invalid region");let c=`${e},${t},${i},${n}`;return l?`pct:${c}`:c}function uP({max:e,percentScale:t,upscaled:i,confined:n,width:r,height:a,serialiseAsFull:l,version:c}){let p=[];return i&&p.push("^"),e?(p.push(l?"full":"max"),p.join("")):(n&&p.push("!"),t&&p.push(`pct:${t}`),r&&p.push(`${r}`),p.push(","),a&&c===3&&p.push(`${a}`),p.join(""))}function cP(e){return`${e.mirror?"!":""}${(e.angle||0)%360}`}function nu(e,t){let i=e.prefix.startsWith("/")?e.prefix.substring(1):e.prefix,n=`${e.scheme}://${e.server}/${i?`${i}/`:""}${e.identifier}`;if(e.type==="base")return n;if(e.type==="info")return`${n}/info.json`;let{size:r}=e,{region:a,rotation:l,format:c,quality:p}=e;if(t){let m=t["@context"]?Array.isArray(t["@context"])?t["@context"]:[t["@context"]]:[],h=m.indexOf("http://iiif.io/api/image/2/context.json")!==-1,y=m.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}),h&&(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 S=t.height/t.width;r={...r,height:Math.ceil(r.width*S)}}r={...r,version:3}}}return[n,lP(a),uP(r),cP(l),`${p}.${c}`].filter(Boolean).join("/")}function Ln(e){return e.endsWith("info.json")?e:e.endsWith("/")?`${e}info.json`:`${e}/info.json`}function ru(e){let t=oP(Ln(e.id));if(t.type!=="info")throw new Error("Invalid service URL");let i=aP(e);return{identifier:t.identifier,originalPath:"",server:t.server,prefix:t.prefix,scheme:t.scheme,type:"image",quality:i.extraQualities.indexOf("default")===-1?i.extraQualities[0]:"default",region:{full:!0},size:{max:!0,upscaled:!1,confined:!1},format:"jpg",rotation:{angle:0}}}function lx(e,t,i){let n=i.length,r=[];for(let a=0;a<n;a++){let l=i[a];if(!l)continue;let c=l.width;r.push(e/c)}return r}function ux(e,t,i){let n=i.length,r=[];for(let a=0;a<n;a++){let l=i[a];l&&r.push({width:Math.floor(e/l),height:Math.floor(t/l)})}return r}function Vs(e,t){if(t&&t.profile){let i=t.profile;if(i){let n=Array.isArray(i)?i:[i];if(n.includes(`level${e}`)||n.includes(`http://iiif.io/api/image/2/level${e}.json`)||n.includes(`http://iiif.io/api/image/1/level${e}.json`)||n.includes(`http://iiif.io/api/image/1/profiles/level${e}.json`))return!0;if(e===2){for(let r of n)if(Oo.includes(r))return!0}if(e===1){for(let r of n)if(iu.includes(r))return!0}if(e===0){for(let r of n)if(vp.includes(r))return!0}}}return!1}function Ws(e){return Us(e)?Vs(0,e)?0:Vs(1,e)?1:Vs(2,e)?2:null:null}function Fn(e){let t=e.service?Array.isArray(e.service)?e.service:[e.service]:[],i=t.length,n=[];for(let r=0;r<i;r++)Us(t[r])&&n.push(t[r]);return n}function cx(e){if(e["@type"])return e["@type"];if(e.type)return e.type}function jr(e){let t=e.replace(/(https?:\/\/)?(www.)?/i,"");return t.indexOf("/")!==-1?t.split("/")[0]:t}function dx(e,t,i){let n=e>t?e:t,r=i.length,a=[];for(let l=0;l<r;l++){let c=i[l];if(!c||c.scaleFactors.length===0)continue;let p=c.scaleFactors[0];if(!p)continue;let m=n/p,h=[p];for(;m>=c.width;)p=p*2,h.push(p),m=m/2;a.push({...c,scaleFactors:h})}return a}function ou(e,t,i){let n=ru({"@context":e.version===3?"http://iiif.io/api/image/3/context.json":"http://iiif.io/api/image/2/context.json",id:Ln(Le(e)),profile:e.level===null||typeof e.level>"u"?"level0":`level${e.level}`,type:e.version===3?"ImageService3":"ImageService2"});if(n.type!=="image")throw new Error("Invalid service");return n.size.max=!1,n.size.width=t,n.size.height=i,{id:nu(n),type:"fixed",width:t,height:i||e.height/(e.width||1)*t,unsafe:e.width>t}}function hx(e,t,i){let n=e.width?e.width:e.maxWidth;return i.height<=e.maxHeight&&i.width<=e.maxWidth&&i.height>=e.minHeight&&i.width>=e.minWidth&&(!t||Math.abs(i.width-n)<Math.abs(t.width-n))}function px(e,t){let i=[],n=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=(h,y=0)=>n.explain?i.push(new Array(y).fill(0).map(S=>" ").join("")+h().trim()):void 0,a=[],l=[],c=null;r(()=>`Using configuration: ${JSON.stringify(n,null,2)}`);let p=(h,y)=>{if(r(()=>"Swapping choice",3),hx(n,y,h)){if(n.preferFixedSize&&h.unsafe){r(()=>`We found an image that was marked as unsafe, but it was the best size. (${h.id})`,4),l.push(h);return}n.returnAllOptions&&y&&l.push(y),r(()=>`We found a new image that was the best size. (${h.id})`,4),c=h}else n.returnAllOptions&&l.push(h)};r(()=>`The input shows we have ${t.length} list(s) of candidates to choose from.`);let m=t.length;for(let h=0;h<m;h++){let y=t[h]();r(()=>`Candidate group ${h}: ${JSON.stringify(y,null,2)}`,1);let S=y.length;r(()=>`Checking candidate list number ${h} and found ${S} potential ways of creating image(s)`,1);for(let w=0;w<S;w++){let v=y[w];if(r(()=>`-> Checking candidate ${w}`,1),v.type==="unknown"&&n.atAnyCost&&(r(()=>`We've found an unknown image type, adding this to the "last resort" list`,2),a.push(v)),v.type==="fixed"&&(v.unsafe?(r(()=>`We've found an unsafe fixed image type, adding this to the "last resort" list`,2),a.push(v)):(r(()=>"We've found a fixed size image, checking if it matches the request",2),p(v,c))),v.type==="fixed-service")if(n.unsafeImageService){r(()=>"Checking for an image from the tile source, without calculating the right height and width (unsafeImageService)",2);let x=ou(v,n.width,n.height);p(x,c)}else{r(()=>"Checking for an image from the tile source 3",2);let x=ou(v,v.width,v.height);p(x,c)}if(v.type==="variable"&&v.maxWidth){let x=ou({id:v.id,type:"fixed-service",width:v.maxWidth,height:v.maxWidth,level:v.level,version:v.version},v.maxWidth);p(x,c)}}if(c&&!n.returnAllOptions){if(c.unsafe||n.allowUnsafe)continue;r(()=>`We found a match in choice list number ${h}, no searching any more`);break}}return n.atAnyCost&&l.length===0?(r(()=>c?`We found an image! ${c.id} of type ${c.type}`:'We found no images, but "atAnyCost" is set, so returning that'),{best:c||a[0]||null,fallback:a.slice(1),log:i}):n.returnAllOptions?(r(()=>"Returning all options that we have found"),{best:(n.atAnyCost?c||l[0]||a[0]:c||l[0])||null,fallback:[...l,...a],log:i}):(r(()=>"Returning the best image that we found, and a fallback"),{best:c||l[0]||null,fallback:c?l:l.slice(1),log:i})}function bp(e){return(e["@context"]?Array.isArray(e["@context"])?e["@context"]:[e["@context"]]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1}function fx(e){return Us(e)?(e&&e.sizes?e.sizes:[]).map(t=>({id:Le(e),type:"fixed-service",height:t.height,width:t.width,level:Ws(e),version:bp(e)?3:2})):[]}function mx(e){if(!ax(e))return[];let t=[],i=Array.isArray(e.profile)?e.profile:[e.profile],n=i.length;for(let r=0;r<n;r++){let a=i[r];if(a&&typeof a!="string"&&(a.maxHeight||a.maxWidth))return[{id:Le(e),type:"variable",minWidth:0,minHeight:0,maxHeight:a.maxHeight||a.maxWidth,maxWidth:a.maxWidth||a.maxHeight,level:Ws(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:Le(e),type:"variable",minHeight:0,minWidth:0,maxHeight:l.height||l.width,maxWidth:l.width,level:Ws(e),version:bp(e)?3:2})}}return t}function Sp(e){let t=[],i=e.length;for(let n=0;n<i;n++){let r=e[n];if(!r)continue;let a=fx(r);a.length&&t.push(...a);let l=mx(r);l.length&&t.push(...l)}return t}function wp(e){let t=/^.*\/(full)\/(((\d+),(\d+)?)|max)\/(\d+)\/default\.(jpg|png|jpeg)$/,i=e.match(t);if(i&&i[4]&&i[5]){let n=i[1],r=parseInt(i[4],10),a=parseInt(i[5],10),l=i[7];if((n==="max"||n==="full")&&r&&a&&l)return{type:"fixed",id:e,height:a,width:r}}return{type:"unknown",id:e}}function Hs(e){if(typeof e=="string")return wp(e);let t=cx(e);if(t!=="Image"&&t!=="sc:Image")return null;let i=e,n=Le(i);return n?n&&i.width&&i.height?{id:n,type:"fixed",width:i.width,height:i.height,unsafe:!0}:wp(n):null}function gx(e,t=!0,i){let n=[],r=Hs(e);if(r===null)return n;let a=e;if(n.push(r),t&&a&&a.width&&a.height){let l=[],c=Fn(a);for(let p of c){let m={id:Le(p),width:a.width,height:a.height};if(i.canLoadSync(m)){let h=i.loadServiceSync(m);h&&(h.height||(h.height=a.height),h.width||(h.width=a.width),l.push(...Sp([h])))}}if(l.length)return n.push(...l),n}return a.service&&n.push(...Sp(a.service)),n}function yx(e,t){if(e.length!==t.length)return!1;if(e.length===0&&t.length===0)return!0;let i=e.length,n=!0;for(let a=0;a<i;a++){let l=e[a],c=t[a];if(l.width!==c.width||l.height!==c.height){n=!1;break}}if(n)return!0;let r=0;for(let a=0;a<i;a++)for(let l=0;l<i;l++)if(e[a].width===t[l].width&&e[a].height===t[l].height){r++;break}return r===i}var Lo=class{constructor(e={}){Tt(this,"config",{verificationsRequired:1,approximateServices:!1,enableFetching:!0,disableThrottling:!1}),Tt(this,"fetchingCount",0),Tt(this,"imageServices",{}),Tt(this,"knownImageServers",{}),this.config=Object.assign(this.config,e)}setConfig(e){Object.assign(this.config,e)}sample(e,t,i=!0){let n=jr(Le(e)),r=Ln(Le(e)),a=this.knownImageServers[n];return this.imageServices[r]=Object.assign(e,{real:!0}),!a&&e.tiles&&!xp(e)?(this.knownImageServers[n]={verifications:0,malformed:!1,root:n,preLoaded:i,sampledId:Le(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:lx(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,i=!1){let n=e?.source,r=jr(Le(e)),a=this.knownImageServers[r],l=Ln(Le(e));return this.imageServices[l]?this.imageServices[l]||null:!this.config.approximateServices||!a||!a.result||!(n?.height||e.height)||!(n?.width||e.width)||!i&&(a.malformed||a.verifications<this.config.verificationsRequired)||e.source&&xp(e.source)?null:(this.imageServices[l]||(this.imageServices[l]={"@context":a.result.context,"@id":Le(e),id:Le(e),protocol:"http://iiif.io/api/image",tiles:n?.tiles||dx(e.width,e.height,a.result.sampledTiles),sizes:n?.sizes||ux(Math.round(e.width/a.result.resourceServiceRatio),Math.round(e.height/a.result.resourceServiceRatio),a.result.sizeRatios),profile:n?.profile||a.result.sampledProfile,height:n?.height||e.height,width:n?.width||e.width,real:!1}),this.imageServices[l]||null)}async getThumbnailFromResource(e,t,i=!0,n=[]){let r=e?await this.getImageCandidates(e,i):[];return px(t,[()=>n,()=>r])}async getImageCandidates(e,t=!0){let i=e;if(t&&i&&i.height&&i.width){let n=Fn(i);for(let r of n){let a={id:Le(r),width:r.width?r.width:i.width,height:r.height?r.height:i.height,source:r};await this.loadService(a)}}return gx(e,t,this)}async verify(e){let t=this.predict(e,!1,!0),i=await this.fetchService(Le(e));if(!t)return!1;let n=t.height===i.height&&t.width===i.width&&t["@context"]===i["@context"]&&yx(t.sizes||[],i.sizes||[]);if(n){let r=jr(Le(e)),a=this.knownImageServers[r];a&&(a.verifications+=1,a.verifications>=this.config.verificationsRequired&&(a.verified=!0))}return n}canLoadSync(e){let t=typeof e=="string"?e:Le(e),i=Ln(t);if(this.imageServices[i])return!0;let n=this.knownImageServers[jr(t)];return!!(n&&!n.malformed&&n.verifications>=this.config.verificationsRequired)}async markAsMalformed(e){return this.knownImageServers[jr(Le(e))].malformed=!0,this.loadService(e,!0)}async fetchService(e,t=!1){let i=Ln(e),n=this.imageServices[i];if(n&&(!t||n.real))return n;if(!this.config.enableFetching)throw new Error("Fetching is not enabled");let r=await this.fetch(i).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[i]=Object.assign(r,{real:!0}),this.imageServices[i]}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 i=this.knownImageServers[jr(Le(e))];if(i&&!i.malformed&&!t){await i.result;let r=this.loadServiceSync(e);if(r)return r}this.fetchingCount++;let n=await this.fetchService(Le(e),t);return this.fetchingCount--,n.real&&this.sample(n,e),n}loadServiceSync(e){let t=Ln(Le(e));return this.imageServices[t]?this.imageServices[t]:this.config.approximateServices?this.predict(e):null}};function vx(e={}){let t=e.events||eu(),i=e.loader||new Lo;return{store:tu((r,a)=>({loaded:{},loadServiceSync:(l,c,p)=>{let m=l.id||l["@id"],h=a().loaded[m];if(h&&h.status==="done")return h.service;if(h&&h.status==="loading")return null;if(h&&h.status==="error")throw new Error("Failed to load image service");let y={id:Le(l),width:l.width||c?.width||0,height:l.height||c?.height||0,source:l},S=i.loadServiceSync(y);return S?(r(w=>({loaded:{...w.loaded,[m]:{status:"done",service:S,real:!0}}})),t.emit("image-service.loaded",{id:m,service:S})):p&&a().loadService(l,c).then(()=>{}),S},loadService:async(l,c)=>{let p=l.id||l["@id"],m=a().loaded[p];if(m&&m.status==="done")return m.service;if(m&&m.status==="loading")return new Promise((h,y)=>{let S=w=>{w.id===p&&(t.off("image-service.loaded",S),h(w.service||l))};t.on("image-service.loaded",S)});if(m&&m.status==="error"&&!c?.force)throw new Error("Failed to load image service");t.emit("image-service.loading",{id:p});try{let h={id:Le(l),width:l.width||0,height:l.height||0,source:l},y=await i.loadService(h,c?.force);return r(S=>({loaded:{...S.loaded,[p]:{status:"done",service:y,real:y.real}}})),t.emit("image-service.loaded",{id:p,service:y}),y}catch(h){throw t.emit("image-service.error",{id:p,error:h}),h}}})),events:t}}var Cp=vx();var su={},zn={get(e){return e},setMetaValue([e,t,i],n){let r=zn.getResourceMeta(e,t),a=r?r[i]:void 0,l=typeof n=="function"?n(a):n;su[e]={...su[e]||{},[t]:{...(su[e]||{})[t]||{},[i]:l}}},getResourceMeta:(e,t)=>{let i=su[e];if(i)return t?i[t]:i},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(i=>i.json())},requestStatus(e){}};var xx=new Lo;function Pp(e=zn,t={}){let i=t.imageServiceLoader||xx;async function n(r,a,l=!1,c=[],p){let m=()=>i.getThumbnailFromResource(void 0,a,l,c);if(!r)return await i.getThumbnailFromResource(void 0,a,l,c);if(typeof r=="string"){let S=Hs(r);return S&&c.push(S),await i.getThumbnailFromResource(void 0,a,l,c)}let h=e.get(r,{skipSelfReturn:!1});if(typeof h=="string")return{best:Hs(h),fallback:[],log:[]};if(!h)return await m();switch(await(async S=>{if(S&&S.thumbnail&&S.thumbnail.length){let w=e.get(S.thumbnail[0]),v=await i.getImageCandidates(w,l);v&&v.length&&c.push(...v)}})(h),h.type){case"Annotation":{let S=Array.isArray(h.body)?h.body:[h.body],w=e.get(S[0]);return p&&!w.width&&(w.width=p.width,w.height=p.height),await i.getThumbnailFromResource(w,a,l,c)}case"Canvas":{let S=h;return n(S.items[0],a,l,c,{width:S.width,height:S.height})}case"AnnotationPage":return n(h.items[0],a,l,c,p);case"Choice":{let S=h;return!S.items||S.items[0]?await m():n(S.items[0],a,l,c,p)}case"Collection":{let w=h.items[0];return w?n(w,a,l,c,p):await m()}case"Manifest":{let w=h.items[0];return w?n(w,a,l,c,p):await m()}case"SpecificResource":case"Image":case"Dataset":case"Sound":case"Text":case"TextualBody":case"Video":return p&&!h.width&&(h.width=p.width,h.height=p.height),i.getThumbnailFromResource(h,a,l,c)}return await m()}return{getBestThumbnailAtSize:n}}var JP=R(B(),1),eE=R(H(),1),ea=R(H(),1),tE=R(B(),1),iE=R(H(),1),m0=R(H(),1),dP=Object.defineProperty,hP=(e,t,i)=>t in e?dP(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i,P=(e,t,i)=>(hP(e,typeof t!="symbol"?t+"":t,i),i),Cu=["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"];function pP(){return Cu.reduce((e,t)=>(e[t]=[],e),{})}var zo=Cu.reduce((e,t)=>(e[t.slice(2).toLowerCase()]=t,e[t]=t,e),{}),fP="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",Pu=(e=21)=>{let t="",i=crypto.getRandomValues(new Uint8Array(e));for(;e--;)t+=fP[i[e]&63];return t},bn=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,i)=>{let n=zo[e];if(!this.eventHandlers[n])throw new Error(`Unknown event ${n}`);this.eventHandlers[n].indexOf(t)===-1&&this.eventHandlers[n].push(t)}),P(this,"removeEventListener",(e,t)=>{let i=zo[e];if(!this.eventHandlers[i]){console.warn(`Unknown event ${i}`);return}this.eventHandlers[i].indexOf(t)!==-1&&(this.eventHandlers[i]=this.eventHandlers[i].filter(n=>n!==t))}),this.id=this.__id=Pu(),this.eventHandlers=pP()}get crop(){return this._crop}set crop(e){this._crop=e}getObjectsAt(e){return[]}getAllPointsAt(e,t,i){return[]}getScheduledUpdates(e,t){return[]}dispatchEvent(e,t){let i=this.eventHandlers[e],n=i?i.length:0,r=!1;if(n)for(let a=0;a<n;a++)try{i[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){Zt(this.points,ut(e,t))}atScale(e){Zt(this.points,On(e,this.x,this.y)),this.scale*=e}transform(e){Zt(this.points,e)}applyProps(e){this.__revision++}appendChild(e){}removeChild(e){}insertBefore(e,t){}hideInstance(){}},cr=class Ap extends bn{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:re(5)},this.points=re(5);else{let i=t.scale||1;this.id=t.id||t.uri,this.uri=t.uri,this.points=xe.singleBox(t.width,t.height,t.x,t.y),this.display={x:0,y:0,scale:i,width:t.width/i,height:t.height/i,points:xe.singleBox(t.width/i,t.height/i),rotation:t?.rotation}}}applyProps(t){let i=t.display?t.display.width:t.target.width,n=t.target.width/i;if(this.id=t.id||t.uri,this.uri=t.uri,this.points.set(xe.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=xe.singleBox(t.crop.width,t.crop.height,t.crop.x,t.crop.y);Zt(r,ut(-t.crop.x,-t.crop.y)),this.crop?this.crop.set(r):this.crop=re(r)}t.display?(this.display.scale=n,this.display.width=t.display.width,this.display.height=t.display.height,this.display.rotation=t.display.rotation,this.display.points=xe.singleBox(t.display.width,t.display.height)):(this.display.scale=n,this.display.width=t.target.width/n,this.display.height=t.target.height/n,this.display.points=xe.singleBox(t.target.width/n,t.target.height/n))}getAllPointsAt(t,i,n){return[[this,this.crop||this.points,i]]}static fromSvg(t,i,n,r){return Ap.fromImage("data:image/svg+xml;base64,"+btoa(t),i,n,r)}static fromImage(t,i,n,r){let a=new Ap;return a.applyProps({uri:t,id:r,display:n,target:i}),a}getImageUrl(){return this.uri}},Ip=class extends bn{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:re(5)},this.points=re(5);else{let t=e.scale||1;this.id=e.id||e.uri,this.uri=e.uri,this.points=xe.singleBox(e.width,e.height),this.display={x:0,y:0,scale:t,width:e.width/t,height:e.height/t,points:t!==1?xe.singleBox(e.width/t,e.height/t):this.points}}}applyProps(e){let t=e.display?e.display.width:e.target.width,i=e.target.width/t;this.id=e.id,this.points.set(xe.singleBox(e.target.width,e.target.height)),this.display.scale=i,this.display.width=e.target.width/i,this.display.height=e.target.height/i,this.getTexture=e.getTexture,this.display.points=i!==1?xe.singleBox(e.target.width/i,e.target.height/i):this.points}getAllPointsAt(e,t,i){return[[this,this.points,t]]}};function mP(e,t,i=1){let n=t.length;if(n===0)throw new Error("No resources passed in.");let r=0,a=1/0;for(let l=0;l<n&&!(!t[l]||!t[l].display);l++){let c=Rp(t[l].display.scale,e/(i||1));c<a&&(a=c,r=l)}return r}function Rp(e,t){return Math.abs(e-t)}function xu(e,t){let i=Rp(e.x,t.x),n=Rp(e.y,t.y);return Math.sqrt(Math.pow(i,2)+Math.pow(n,2))}function gP(e){let t=e.length;return e.indexOf("/info.json")===t-10?e.slice(0,-10):e}function au(e,t,i){return Math.min(Math.max(e,t),i)}var Zs=class Nx extends bn{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=gP(t.url),this.id=t.id||`${this.tileUrl}--${t.scaleFactor}`,this.points=t.displayPoints?t.displayPoints:bi(t.points,wi(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 i=re([...this.points]),n=i.length/5,r=t.crop.x||0,a=t.crop.y||0,l=t.crop.x+t.crop.width,c=t.crop.y+t.crop.height;for(let p=0;p<n;p++){let m=p*5;i[m+1]<l&&i[m+3]>r&&i[m+2]<c&&i[m+4]>a?(i[m+1]=au(i[m+1],r,l),i[m+3]=au(i[m+3],r,l),i[m+2]=au(i[m+2],a,c),i[m+4]=au(i[m+4],a,c)):i[m]=0}Zt(i,ut(-t.crop.x,-t.crop.y)),this.crop?this.crop.set(i):this.crop=i}}static fromTile(t,i,n,r,a,l,c,p){n.height=n.height?n.height:n.width;let m=c?Math.floor(i.width/r):Math.ceil(i.width/r),h=c?Math.floor(i.height/r):Math.ceil(i.height/r),y=Math.ceil(m/n.width),S=Math.ceil(h/n.height),w=xe.grid(y,S),v=xe.grid(y,S),x=a?a["@context"]?Array.isArray(a["@context"])?a["@context"]:[a["@context"]]:[]:[],A=typeof p<"u"?p:x.indexOf("http://iiif.io/api/image/3/context.json")!==-1;for(let I=0;I<S;I++)for(let E=0;E<y;E++){let M=E*n.width,k=I*n.height;v.addPoints(M*r,k*r,E===y-1?i.width:(M+n.width)*r,I===S-1?i.height:(k+n.height)*r),w.addPoints(M,k,E===y-1?m:M+n.width,I===S-1?h:k+n.height)}let C=new Nx({url:t,scaleFactor:r,points:w.build(),displayPoints:v.build(),width:i.width,height:i.height,tileWidth:n.width,format:l,version3:A});return C.applyProps({service:a}),C}getImageUrl(t){let i=this.points.slice(t*5,t*5+5),n=i[3]-i[1],r=i[4]-i[2],a=Math.ceil(n/this.display.scale),l=Math.ceil(r/this.display.scale),c=`${a>this.tileWidth?this.tileWidth:a},`;return this.version3&&(c+=`${l>this.tileWidth?this.tileWidth:l}`),`${this.tileUrl}/${i[1]},${i[2]},${n},${r}/${c}/0/default.${this.format||"jpg"}`}getAllPointsAt(t,i,n){let r=or(this.crop||this.points,t);return[[this,r,i]]}transform(t){Zt(this.points,t)}getScheduledUpdates(t,i){return[]}},yP=class extends bn{constructor(){super(...arguments),P(this,"type","spacial-content")}getAllPointsAt(e,t,i){return[[this,this.points,t]]}},vP=class extends yP{constructor(e){super(),P(this,"id"),P(this,"display"),P(this,"points"),P(this,"images",[]),P(this,"allImages",[]),P(this,"scaleFactors",[]),P(this,"aggregateBuffer",re(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((i,n)=>n.display.width-i.display.width),this.images=[];let t=.1;for(let i of this.allImages)if(!(i.display.width<this.renderOptions.minSize&&i.display.height<this.renderOptions.minSize&&!i.priority||i instanceof cr&&(i.display.width>this.renderOptions.maxImageSize||i.display.height>this.renderOptions.maxImageSize)&&!i.priority)){if(Math.abs(i.display.scale-t)<.25||i.priority){let n=this.images.pop();n&&(n instanceof cr||n.priority)?(i.priority&&this.images.push(i),this.images.push(n)):i&&this.images.push(i)}else i&&this.images.push(i);t=i.display.scale}this.images.length===0&&(this.images=[...this.allImages]),this.scaleFactors=this.images.map(i=>i.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=xe.singleBox(e.width,e.height),this.lazyLoader=e.loadFullImages,e.loadFullImages||(this.isFullyLoaded=!0),this.display={x:0,y:0,points:xe.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,i){if(this.images.length===0)return[];let n=mP(1/(i||1)/(window.devicePixelRatio||1),this.images,this.renderOptions.quality),r=this.images.length,a=t?pi(t,ut(this.x,this.y)):ut(this.x,this.y);if(n!==this.images.length-1&&this.images[n+1]){let l=[];for(let m=r-1;m>=n;m--)l.push(m);let c=l[0];this.renderOptions.renderLayers&&(l=l.slice(-Math.min(l.length,this.renderOptions.renderLayers))),this.renderOptions.renderSmallestFallback&&l.indexOf(c)===-1&&l.unshift(c);let p=[];for(let m=0;m<l.length;m++)p.push(...this.images[l[m]].getAllPointsAt(e,a,i));return p}return this.images[n].getAllPointsAt(e,a,i)}};function lu(e,t,i,n,r){let a=Math.PI/180*r,l=Math.cos(a),c=Math.sin(a),p=l*(i-e)+c*(n-t)+e,m=l*(n-t)-c*(i-e)+t;return[p,m]}var kp=class Bx extends bn{constructor(t,i){super(),P(this,"id"),P(this,"type","world-object"),P(this,"scale"),P(this,"layers"),P(this,"points"),P(this,"worldPoints"),P(this,"intersectionBuffer",re(5)),P(this,"aggregateBuffer",re(9)),P(this,"invertedBuffer",re(9)),P(this,"rotation",0),P(this,"filteredPointsBuffer"),P(this,"_updatedList",[]),P(this,"geometry");let{x:n=0,y:r=0}=i||{};t?(this.id=t.id||"",this.scale=1,this.layers=t.layers,this.points=re([1,n,r,n+t.width,r+t.height]),this.worldPoints=re([1,n,r,n+t.width,r+t.height]),this.filteredPointsBuffer=re(t.layers.length*5)):(this.id="",this.scale=1,this.layers=[],this.points=re(5),this.worldPoints=re(5),this.filteredPointsBuffer=re(5))}static createWithProps(t){let i=new Bx;return i.applyProps(t),i}applyProps(t){let i=t.x||0,n=t.y||0;this.id=t.id;let r=typeof t.scale<"u"?t.scale:this.scale;this.points[0]=1,this.points[1]=i,this.points[2]=n,this.points[3]=i+t.width,this.points[4]=n+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(i=>i!==t),this.filteredPointsBuffer=re(this.layers.length*5)}insertBefore(t,i){let n=this.layers.indexOf(i);if(n===-1||this.layers.indexOf(t)!==-1)return;let r=this.layers.slice(0,n),a=this.layers.slice(n);this.layers=[...r,t,...a]}hideInstance(){console.warn("hideInstance: not yet implemented")}getObjectsAt(t,i){if(this.rotation&&(t=this.applyRotation(t)),or(this.points,t,this.filteredPointsBuffer)[0]===0)return[];let n=this.layers.length,r=[];for(let a=0;a<n;a++){let l=this.layers[a];if(i&&l.isShape){let c=bi(l.points,ut(this.x,this.y));if(!l.intersects([t[1]-c[1],t[2]-c[2]]))continue}if(or(bi(l.points,ut(this.x,this.y)),t,this.filteredPointsBuffer)[0]!==0&&r.push(l),i){let c=l;r.push(...c.getObjectsAt(t,i))}}return r}applyRotation(t){if(this.rotation){let i={x:t[1],y:t[2]},n={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,c=this.points[2]+(this.points[4]-this.points[2])/2,[p,m]=lu(l,c,i.x,i.y,this.rotation),[h,y]=lu(l,c,n.x,n.y,this.rotation),[S,w]=lu(l,c,r.x,r.y,this.rotation),[v,x]=lu(l,c,a.x,a.y,this.rotation),A=Math.min(p,h,S,v),C=Math.max(p,h,S,v),I=Math.min(m,y,w,x),E=Math.max(m,y,w,x);return re([t[0],A,I,C,E])}return t}getAllPointsAt(t,i,n){let r=pi(ut(this.x,this.y),wi(this.scale),this.aggregateBuffer);this.rotation&&(t=this.applyRotation(t));let a=My(t,this.points,this.intersectionBuffer),l=this.layers.length,c=[],p=bi(a,pi(wi(1/this.scale),ut(-this.x,-this.y),this.invertedBuffer)),m=i?pi(i,r,this.aggregateBuffer):r,h=n*this.scale;for(let y=0;y<l;y++)c.push(...this.layers[y].getAllPointsAt(p,m,h));return c}addLayers(t){let i=[];for(let n of t)this.layers.indexOf(n)===-1&&(i.push(n),n.points.length===5&&(n.points[1]<this.worldPoints[1]/this.scale||n.points[2]<this.worldPoints[2]/this.scale||n.points[3]>this.worldPoints[3]/this.scale||n.points[4]>this.worldPoints[4]/this.scale)&&(n.crop=n.crop||re([1,Math.max(this.worldPoints[1]/this.scale,n.points[1]),Math.max(this.worldPoints[2]/this.scale,n.points[2]),Math.min(this.worldPoints[3]/this.scale,n.points[3]),Math.min(this.worldPoints[4]/this.scale,n.points[4])])));this.layers=this.layers.concat(i),this.filteredPointsBuffer=re(this.layers.length*5)}getScheduledUpdates(t,i){let n=this.layers.length;this._updatedList=[];let r=i*this.scale;for(let a=0;a<n;a++){let l=this.layers[a].getScheduledUpdates(t,r);l&&this._updatedList.push(...l)}return this._updatedList}},Eu=class Dx extends bn{constructor(t=0,i=0,n=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",re(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",re(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=i,this.aspectRatio=Number.isNaN(t/i)?1:t/i,this.viewingDirection=r,this.points=re(n*5),this.filteredPointsBuffer=re(n*5)}get x(){return 0}get y(){return 0}get width(){return this._width}get height(){return this._height}static withProps(t){let i=new Dx;return i.applyProps(t),i}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,i,n){let r=[];for(let a of n)if(a.x&&a.y){let l=xe.singleBox(1,1,a.x,a.y);r.push(this.getObjectsAt(l,!0).reverse())}return r.map(a=>this.propagateEvent(t,i,a,{bubbles:!0,cancelable:!0}))}propagatePointerEvent(t,i,n,r,a={}){let l=xe.singleBox(1,1,n,r),c=this.getObjectsAt(l,!0).reverse();return this.propagateEvent(t,i,c,a)}propagateEvent(t,i,n,{bubbles:r=!1,cancelable:a=!1}={}){i.atlasTarget=this,this._propagateEventTargets.length=1,this._propagateEventTargets[0]=this;let l=!1;i.stopPropagation=()=>{l=!0};let c=n.length;for(let h=c-1;h>=0;h--){this._propagateEventTargets.unshift(n[h][0]);let y=n[h][1].length;if(y)for(let S=0;S<y;S++)this._propagateEventTargets.unshift(n[h][1][S])}let p=this._propagateEventTargets.length,m=!1;for(let h=0;h<p&&(i.atlasTarget=this._propagateEventTargets[h],i.atlasWorld=this,m=this._propagateEventTargets[h].dispatchEvent(t,i)||m,!l);h++);return m&&this.triggerRepaint(),this._propagateEventTargets}appendChild(t){let i=this.appendWorldObject(t);this.renderOrder.push(i/5)}removeChild(t){let i=this.objects.indexOf(t);if(i===-1){for(let n of this.objects)if(n&&n.id===t.id){this.removeChild(n);return}return}this.objects[i]=null,this.renderOrder=this.renderOrder.filter(n=>n!==i),this.points[i*5]=0,this.triggerRepaint(),this.needsRecalculate=!0}insertBefore(t,i){let n=this.objects.indexOf(i);if(n===-1)return;let r=this.appendWorldObject(t);this.renderOrder.splice(n-1,0,r/5)}hideInstance(){}asWorldObject(){return null}addZone(t){this.zones.push(t)}selectZone(t){if(typeof t=="string"){let i=this.zones.length;for(let n=0;n<i;n++)if(this.zones[n].id===t){this.selectedZone=n,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(ky(this.points)===this.objects.length){let t=this.points,i=re(this.points.length*2);i.set(t,0),this.points=i}}appendWorldObject(t){this.checkResizeInternalBuffer();let i=this.objects.length*5,n=t.points;return t.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),t.points[1]=n[1],t.points[2]=n[2],t.points[3]=n[3],t.points[4]=n[4],this.objects.push(t),this.filteredPointsBuffer=re(this.objects.length*5),this.needsRecalculate=!0,this.triggerRepaint(),i}recalculateWorldSize(){let t=!1;if(this.needsRecalculate){let i=new Int32Array(this.objects.length),n=new Int32Array(this.objects.length),r=this.renderOrder.length;for(let c=0;c<r;c++){let p=this.renderOrder[c];this.objects[p]&&(i[c]=this.points[p*5+3],n[c]=this.points[p*5+4])}let a=Math.max(...i);a!==this._width&&(this._width=a,t=!0);let l=Math.max(...n);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,i){i.width&&!i.height?i.height=i.width/t.width*t.height:i.height&&!i.width&&(i.width=i.height/t.height*t.width),(!i||!i.width||!i.height)&&(i.width=t.width,i.height=t.height);let{width:n,x:r,y:a}=i,l=n/t.width;this.checkResizeInternalBuffer(),this.points.set(xe.singleBox(t.width,t.height,0,0),this.objects.length*5);let c=new kp(t);return c.points=this.points.subarray(this.objects.length*5,this.objects.length*5+5),this.objects.push(c),this.scaleWorldObject(this.objects.length-1,l),this.translateWorldObject(this.objects.length-1,r,a),this.filteredPointsBuffer=re(this.points.length*2),this.triggerRepaint(),this.needsRecalculate=!0,c}scaleWorldObject(t,i){Zt(this.points.subarray(t*5,t*5+5),On(i,this.points[t*5+1],this.points[t*5+2]));let n=this.objects[t];n&&(n.atScale(i),this.triggerRepaint())}translateWorldObject(t,i,n){Zt(this.points.subarray(t*5,t*5+5),ut(i,n));let r=this.objects[t];r&&(r.translate(i,n),this.triggerRepaint())}resize(t,i){return this._width=t,this._height=i,this.aspectRatio=t/i,this.triggerRepaint(),this}getObjects(){return this.objects}getPoints(){return this.points}getPointsFromViewer(t,i){let n=xe.singleBox(t.width,t.height,t.x,t.y);return this.getPointsAt(n,i,t.scale)}addLayoutSubscriber(t){return this.subscriptions.push(t),()=>{this.subscriptions.splice(this.subscriptions.indexOf(t),1)}}getScheduledUpdates(t,i){let n=or(this.points,t,this.filteredPointsBuffer),r=this.objects.length;this._updatedList=[];for(let a=0;a<r;a++)if(n[a*5]!==0){if(!this.objects[a])continue;this._updatedList.push(...this.objects[a].getScheduledUpdates(t,i))}return this._updatedList}getObjectsAt(t,i=!1){let n=this.getActiveZone(),r=or(this.points,t,this.filteredPointsBuffer),a=this.renderOrder.length,l=[];for(let c=0;c<a;c++){let p=this.renderOrder[c];if(r[p*5]!==0){let m=this.objects[p];if(!m||n&&n.objects.indexOf(m)===-1)continue;if(m.type!=="world-object"){l.push([m,[m]]);continue}i?l.push([m,m.getObjectsAt(t,i)]):l.push([m,this.emptyPaintables])}}return l}getPointsAt(t,i,n=1){let r=this.getObjectsAt(t),a=pi(wi(n),ut(-t[1],-t[2]),this.translationBuffer),l=i?pi(i,a,this.aggregateBuffer):a,c=r.length,p=[];for(let m=0;m<c;m++)r[m]&&p.push(...r[m][0].getAllPointsAt(t,l,n));return p}flushSubscriptions(){if(this.triggerQueue.length){this._alreadyFlushed=[];let t=this.triggerQueue.length;for(let i=0;i<t;i++){if(this._alreadyFlushed.indexOf(this.triggerQueue[i][0])!==-1)continue;typeof this.triggerQueue[i][1]>"u"&&this._alreadyFlushed.push(this.triggerQueue[i][0]);let n=this.subscriptions.length;for(let r=0;r<n;r++)this.subscriptions[r].apply(null,this.triggerQueue[i])}this.triggerQueue=[]}}trigger(t,i){this.triggerQueue.push([t,i])}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,i,n){this.trigger("zoom-to",{point:i,factor:t,stream:n})}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 uu=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,cu={},xP=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],Gs=class extends bn{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:re(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=Pu(12),this.points=re(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 i=e.border||e.style.border;if(i!==this._parsed.border.id)if(!i)this._parsed.border.id=null,this._parsed.border.match=[];else{let n=cu[i]||uu.exec(i)||uu.exec(i);n&&(this._parsed.border.id=i,this._parsed.border.match=cu[i]=n)}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 n=cu[e.style.outline]||uu.exec(e.style.outline)||uu.exec(e.style.outline);n&&(this._parsed.outline.id=e.style.outline,this._parsed.outline.match=cu[e.style.outline]=n)}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 n of xP)if(this.props.style[n]!==e.style[n]){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=xe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.points=xe.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++}},yu=class extends bn{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:re(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=re(5)}getAllPointsAt(e,t){return[[this,this.points,t]]}applyProps({id:e,target:t,text:i,color:n,backgroundColor:r,fontSize:a=18,interactive:l,fontFamily:c="Arial, sans-serif",...p}){p.font=`${a}px ${c}`,this.interactive=l||!1,typeof i<"u"&&(this.text=i||""),n&&(this.color=n),r&&(this.backgroundColor=r),e&&(this.id=e),t&&(this.points=xe.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,...p},this.__revision++}},ct=Math.pow,du=Math.sqrt,Qs=Math.sin,Cx=Math.cos,Ys=Math.PI,Su=1.70158,hu=Su*1.525,Px=Su+1,Ex=2*Ys/3,Ax=2*Ys/4.5,pu=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},ur={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-ct(-2*e+2,2)/2},easeInCubic:function(e){return e*e*e},easeOutCubic:function(e){return 1-ct(1-e,3)},easeInOutCubic:function(e){return e<.5?4*e*e*e:1-ct(-2*e+2,3)/2},easeInQuart:function(e){return e*e*e*e},easeOutQuart:function(e){return 1-ct(1-e,4)},easeInOutQuart:function(e){return e<.5?8*e*e*e*e:1-ct(-2*e+2,4)/2},easeInQuint:function(e){return e*e*e*e*e},easeOutQuint:function(e){return 1-ct(1-e,5)},easeInOutQuint:function(e){return e<.5?16*e*e*e*e*e:1-ct(-2*e+2,5)/2},easeInSine:function(e){return 1-Cx(e*Ys/2)},easeOutSine:function(e){return Qs(e*Ys/2)},easeInOutSine:function(e){return-(Cx(Ys*e)-1)/2},easeInExpo:function(e){return e===0?0:ct(2,10*e-10)},easeOutExpo:function(e){return e===1?1:1-ct(2,-10*e)},easeInOutExpo:function(e){return e===0?0:e===1?1:e<.5?ct(2,20*e-10)/2:(2-ct(2,-20*e+10))/2},easeInCirc:function(e){return 1-du(1-ct(e,2))},easeOutCirc:function(e){return du(1-ct(e-1,2))},easeInOutCirc:function(e){return e<.5?(1-du(1-ct(2*e,2)))/2:(du(1-ct(-2*e+2,2))+1)/2},easeInBack:function(e){return Px*e*e*e-Su*e*e},easeOutBack:function(e){return 1+Px*ct(e-1,3)+Su*ct(e-1,2)},easeInOutBack:function(e){return e<.5?ct(2*e,2)*((hu+1)*2*e-hu)/2:(ct(2*e-2,2)*((hu+1)*(e*2-2)+hu)+2)/2},easeInElastic:function(e){return e===0?0:e===1?1:-ct(2,10*e-10)*Qs((e*10-10.75)*Ex)},easeOutElastic:function(e){return e===0?0:e===1?1:ct(2,-10*e)*Qs((e*10-.75)*Ex)+1},easeInOutElastic:function(e){return e===0?0:e===1?1:e<.5?-(ct(2,20*e-10)*Qs((20*e-11.125)*Ax))/2:ct(2,-20*e+10)*Qs((20*e-11.125)*Ax)/2+1},easeInBounce:function(e){return 1-pu(1-e)},easeOutBounce:pu,easeInOutBounce:function(e){return e<.5?(1-pu(1-2*e))/2:(1+pu(2*e-1))/2}},SP=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:re(5),to:re(5),elapsed_time:0,done:!0,total_time:0,timingFunction:ur.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=re(this.runtime.target),this.pendingTransition.to=re(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 i=this.pendingTransition,n=i.total_time===0?0:(i.elapsed_time+t)/i.total_time,r=i.total_time===0?1:n===0?0:i.timingFunction(n);e[1]=i.from[1]+(i.to[1]-i.from[1])*r,e[2]=i.from[2]+(i.to[2]-i.from[2])*r,e[3]=i.from[3]+(i.to[3]-i.from[3])*r,e[4]=i.from[4]+(i.to[4]-i.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:ur.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:i,stream:n=!1,transition:r}=t;this.lastZoomTo={factor:e,options:t};let a=this.runtime.getZoomedPosition(e,{origin:i}),l=Math.abs(1-e);this.applyTransition(a,r,{duration:2e3*l,easing:ur.easeOutExpo,constrain:!0,callback:()=>{this.lastZoomTo=null}},{stream:!1})}constrainBounds({transition:e,panPadding:t=0}={}){this.isConstraining=!0;let[i,n]=this.runtime.constrainBounds(this.runtime.target,{panPadding:t});i&&(this.applyTransition(n,e,{duration:500,easing:ur.easeOutQuart,constrain:!1,callback:()=>{this.isConstraining=!1}}),this.runtime.updateNextFrame())}applyTransition(e,t,i,{stream:n}={}){this.pendingTransition.from=re(this.runtime.target),this.pendingTransition.to=e,n||(this.pendingTransition.elapsed_time=0),this.pendingTransition.done=!1,this.pendingTransition.total_time=typeof t?.duration<"u"?t.duration:typeof i?.duration<"u"?i.duration:1e3,this.pendingTransition.constrain=typeof t?.constrain<"u"?t.constrain:typeof i?.constrain<"u"?i.constrain:!1,this.pendingTransition.timingFunction=t?.easing||i?.easing||ur.easeInOutSine}goToRegion(e,{transition:t}={}){this.lastGoToRegion={target:e,options:{transition:t}};let i=this.runtime.clampRegion(e);this.applyTransition(xe.singleBox(i.width,i.height,i.x,i.y),t,{duration:1e3,easing:ur.easeOutExpo,constrain:!0,callback:()=>{this.lastGoToRegion=null}}),this.runtime.updateNextFrame()}},d_=Number.MIN_VALUE+1,Au=class{constructor(e,t,i,n=[],r){P(this,"id",Pu()),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",re(500)),P(this,"lastTarget",re(5)),P(this,"zoomBuffer",re(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),c=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]=c+a.height:this.target[4]=this.target[4]-this.target[2]+c,Math.abs(this.target[1]-l)>.01&&(this.target[1]=l),Math.abs(this.target[2]-c)>.01&&(this.target[2]=c),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 c=this.pendingUpdate,p=this.renderer.pendingUpdate();if(this.transitionManager.hasPending()&&(this.transitionManager.runTransition(this.target,l),this.pendingUpdate=!0,this.updateControllerPosition()),!this.firstRender&&!c&&!p&&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 m=this.getScaleFactor(),h=this.renderer.getPointsAt(this.world,this.target,this.aggregate,m),y=h.length;for(let v=0;v<y;v++){let x=h[v][0],A=h[v][1],C=h[v][2],I=C?bi(A,C,this.transformBuffer):A;this.renderer.prepareLayer(x,x.__parent&&C?bi(x.__parent.crop||x.__parent.points,C):I);let E=I.length/5;for(let M=0;M<E;M++){let k=M*5;I[k]!==0&&(this.renderer.paint(x,M,I[k+1],I[k+2],I[k+3]-I[k+1],I[k+4]-I[k+2]),this.hook("useAfterPaint",x))}this.renderer.finishLayer(x,A)}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 S=this.world.getScheduledUpdates(this.target,m),w=S.length;if(w>0)for(let v=0;v<w;v++){let x=S[w-v-1]();x?x.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=xe.projection(i),this.manualHomePosition=!1,this.pendingUpdate=!0,this.homePosition=xe.projection(this.world),this.manualFocalPosition=!1,this.focalPosition=this.target,this.updateFocalPosition(),this.transitionManager=new SP(this),this.aggregate=wi(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=n,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(xe.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(),i=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]},n=this.width*t,r=this.height*t,a=i.width/n,l=i.height/r,c=n/r;if(e.cover?a>l:a<l){let p=c*i.height,m=(p-i.width)/2;this.target[1]=Math.round(-m+i.x),this.target[2]=Math.round(i.y),this.target[3]=Math.round(p-m+i.x),this.target[4]=Math.round(i.height+i.y)}else{let p=i.width/c,m=(p-i.height)/2;this.target[1]=Math.round(i.x),this.target[2]=Math.round(i.y-m),this.target[3]=Math.round(i.x+i.width),this.target[4]=Math.round(i.y+p-m)}this.constrainBounds(this.target),this.updateControllerPosition()}resize(e,t,i,n){this.transitionManager.hasPending()&&this.transitionManager.stopTransition(),this.updateFocalPosition(e-t,i-n);let r=t/e,a=n/i;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,n),this.pendingUpdate=!0,this.transitionManager.resumeTransition()}updateFocalPosition(e,t){if(!this.manualFocalPosition){let i=this.width,n=this.height,r=Math.min(i,n),a=0,l=0,c=this.x+a,p=this.y+l;if(i<n){let m=this.height-this.width;this.focalPosition=xe.projection({x:c,y:p+m/2,width:r-a*2,height:r-l*2}),this.pendingUpdate=!0}else{let m=this.width-this.height;this.focalPosition=xe.projection({x:c+m/2,y:p,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:i=!1}={}){let{minX:n,maxX:r,minY:a,maxY:l}=this.getBounds({target:e,padding:t}),c=!1,p=i?e:re(e),m=Math.round(e[3]-e[1]),h=Math.round(e[4]-e[2]);return n>e[1]&&(c=!0,p[1]=n,p[3]=n+m),a>e[2]&&(c=!0,p[2]=a,p[4]=a+h),r<e[1]&&(c=!0,p[1]=r,p[3]=r+m),l<e[2]&&(c=!0,p[2]=l,p[4]=l+h),[c,p]}getBounds(e){let t=e.target||this.target,i=e.padding,n=this.options.visibilityRatio,r=Math.abs(1-n);if(this.world.hasActiveZone()){let C=this.world.getActiveZone();if(C){let I=t[3]-t[1]<C.points[3]-C.points[1],E=t[4]-t[2]<C.points[4]-C.points[2];return{minX:I?C.points[1]-i:C.points[1]+(C.points[3]-C.points[1])/2-(t[3]-t[1])/2,maxX:E?C.points[2]-i:C.points[2]+(C.points[4]-C.points[2])/2-(t[4]-t[2])/2,minY:I?C.points[3]+i:C.points[1]+(C.points[3]-C.points[1])/2-(t[3]-t[1])/2,maxY:E?C.points[4]+i:C.points[2]+(C.points[4]-C.points[2])/2-(t[4]-t[2])/2}}}let a=t[3]-t[1],l=this.world.width,c=-a*r,p=l-a-c,m=t[4]-t[2],h=this.world.height,y=-m*r,S=h-m-y,w=Math.round(Math.max(c,p)),v=Math.round(Math.min(c,p)),x=Math.round(Math.max(y,S)),A=Math.round(Math.min(y,S));return{minX:v,maxX:w,minY:A,maxY:x}}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:i}){let n=i?{width:i[3]-i[1],height:i[4]-i[2]}:void 0,r=n?this.renderer.getScale(n.width,n.height):this.getScaleFactor(),a=n?n.width:this.width,l=n?n.height:this.height,c=this.getRendererScreenPosition()?.width,p=this.world.width,m=c?c/p:1,h=this.options.maxUnderZoom,y=Math.max(m||1,this.options.maxOverZoom),S=1/e,w=r*S;if(S<1){let x=a*r,A=l*r,C=this.world.width/x,I=this.world.height/A;if(C>I){let E=this.world.width*w,M=~~(a*r)*h;E<M&&(e=this.world.width*r/(a*r*h))}else{let E=this.world.height*w,M=~~(l*r)*h;E<M&&(e=this.world.height*r/(l*r*h))}}else w>y&&(e=r/y);let v=bi(this.target,On(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:i,height:n,padding:r=0}){let a=this.width,l=this.height,c=i/a<n/l,p=e-r,m=t-r,h=i+r*2,y=n+r*2;if(c){let w=y/l*a;return{x:p-(w-h)/2,y:m,width:w,height:y}}let S=h/a*l;return{x:p,y:m-(S-y)/2,width:h,height:S}}viewerToWorld(e,t){let i=this.getScaleFactor();return this._viewerToWorld.x=this.target[1]+e/i,this._viewerToWorld.y=this.target[2]+t/i,this._viewerToWorld}worldToViewer(e,t,i,n){let r=xe.singleBox(i,n,e,t);return Zt(r,pi(wi(this.getScaleFactor()),ut(-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){Zt(this.target,On(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 i=this.hooks[e].length;if(i!==0)for(let n=0;n<i;n++)this.hooks[e][n](t)}registerHook(e,t){return this.hooks[e].push(t),()=>{this.hooks[e]=this.hooks[e].filter(i=>i!==t)}}updateNextFrame(){this.pendingUpdate=!0}},fu=/([0-9]+(px|em)\s+)+(solid)\s+(.*)/g,mu={},wP=["backgroundColor","opacity","boxShadow","borderColor","borderWidth","borderStyle","outlineColor","outlineWidth","outlineOffset","outlineStyle"],jx=class extends bn{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:re(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=Pu(12),this.points=re(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])),i=Math.min(...e.map(a=>a[1])),n=Math.max(0,...e.map(a=>a[0])),r=Math.max(0,...e.map(a=>a[1]));this.boundingBox={x:t,y:i,width:n-t,height:r-i};return}this.boundingBox=null}intersects(e){if(!e||this.shape.type==="none")return!1;let[t,i]=e,n=this.shape.points,r=this.boundingBox;if(r||(this.updateBoundingBox(),r=this.boundingBox),!r||t<r.x||t>r.x+r.width||i<r.y||i>r.height+r.y)return!1;let a=!1;for(let l=0,c=n.length-1;l<n.length;c=l++)n[l][1]>i!=n[c][1]>i&&t<(n[c][0]-n[l][0])*(i-n[l][1])/(n[c][1]-n[l][1])+n[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 i=!1,n=e.points.length;for(let r=0;r<n;r++)if(e.points[r][0]!==this.shape.points[r][0]||e.points[r][1]!==this.shape.points[r][1]){i=!0;break}i&&(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 i=e.border||e.style.border;if(i!==this._parsed.border.id)if(!i)this._parsed.border.id=null,this._parsed.border.match=[];else{let n=mu[i]||fu.exec(i)||fu.exec(i);n&&(this._parsed.border.id=i,this._parsed.border.match=mu[i]=n)}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 n=mu[e.style.outline]||fu.exec(e.style.outline)||fu.exec(e.style.outline);n&&(this._parsed.outline.id=e.style.outline,this._parsed.outline.match=mu[e.style.outline]=n)}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 n of wP)if(this.props.style[n]!==e.style[n]){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=xe.singleBox(e.target.width,e.target.height,e.target.x,e.target.y),this.display.points=xe.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++}},Ix=/(-?[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,Rx={},bP=typeof navigator<"u"&&navigator.userAgent&&navigator.userAgent.toLowerCase().includes("firefox"),gu={},CP=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 i=this.loadingQueue.pop();i&&(this.tasksRunning++,this.frameTasks++,this.currentTask=i.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 i=this.parallelTasks||1;!this.firstMeaningfulPaint&&this.loadingQueue.length&&(i=this.loadingQueue.length);for(let n=0;n<=i;n++)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 zy({maxSize:1024*512*512,dispose:(i,n,r)=>{this.invalidated.push(n),i.width=0,i.height=0},sizeCalculation:(i,n)=>i.width*i.height}):{store:{},get(i){return this.store[i]},set(i,n){this.store[i]=n}}}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,i)=>t.network&&t.scale===i.scale?i.distance-t.distance:t.scale<i.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 i=this.drawCalls.shift();i&&i()}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,i){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let n=this.getCanvasDims(),r=n.width/e,a=n.height/t,l=(r<a?a:r)*(i&&this.dpi||1);return Number.isNaN(l)||(this.lastKnownScale=l),this.lastKnownScale}beforeFrame(e,t,i,n){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),n.enableFilters&&(n.filters.brightness||n.filters.contrast||n.filters.grayscale||n.filters.invert||n.filters.sepia||n.filters.saturate||n.filters.hueRotate||n.filters.blur)){let a="";n.filters.brightness&&(a+=`brightness(${~~(100+n.filters.brightness*100)}%) `),n.filters.contrast&&(a+=`contrast(${~~(100+n.filters.contrast*100)}%) `),n.filters.grayscale&&(a+=`grayscale(${~~(n.filters.grayscale*100)}%) `),n.filters.invert&&(a+=`invert(${~~(n.filters.invert*100)}%) `),n.filters.sepia&&(a+=`sepia(${~~(n.filters.sepia*100)}%) `),n.filters.saturate&&(a+=`saturate(${~~(100+n.filters.saturate*100)}%) `),n.filters.hueRotate&&(a+=`hue-rotate(${n.filters.hueRotate}deg) `),n.filters.blur&&(a+=`blur(${n.filters.blur}px) `),this.ctx.filter=a}else this.ctx.filter="none"}applyTransform(e,t,i,n,r){let a=e.__owner.value;if(a&&a.rotation){this.ctx.save();let l=t+n/2,c=i+r/2;this.ctx.translate(l,c),this.ctx.rotate(a.rotation*Math.PI/180),this.ctx.translate(-l,-c),this.lastPaintedObject=a}}clearTransform(){this.lastPaintedObject&&(this.lastPaintedObject.rotation&&this.ctx.restore(),this.lastPaintedObject=void 0)}paint(e,t,i,n,r,a){let l=this.ctx.globalAlpha;if(e instanceof cr||e instanceof Zs){if(e.display.rotation){this.ctx.save();let m=i+r/2,h=n+a/2;e.crop&&(m-=e.crop[t*5+1],h-=e.crop[t*5+2]),this.ctx.translate(m,h),this.ctx.rotate(e.display.rotation*Math.PI/180),this.ctx.translate(-m,-h)}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 m=e.__host.canvas,h=this.getCanvasDims();if((m.indices.indexOf(t)===-1||this.invalidated.indexOf(m.canvases[t])!==-1)&&this.schedulePaintToCanvas(m,e,t,xu({x:i+r/2,y:n+r/2},{x:h.width/2,y:h.height/2})),!this.firstMeaningfulPaint)return;let y=this.hostCache.get(m.canvases[t]);if(y)if(e.crop&&e.cropData){if(e.crop[t*5]){let S=[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];S[0]+=e.cropData.x/e.display.scale,S[1]+=e.cropData.y/e.display.scale;let w=e.x*this.lastKnownScale,v=e.y*this.lastKnownScale,x=[i+w,n+v,r,a];x[0]+=w,x[1]+=v,this.ctx.drawImage(y,S[0],S[1],S[2],S[3],x[0],x[1],x[2]+1,x[3]+1)}}else bP?this.ctx.drawImage(y,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],i,n,r+1,a+1):this.ctx.drawImage(y,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],i,n,r+Number.MIN_VALUE+.5,a+Number.MIN_VALUE+.5)}catch{}e.display.rotation&&this.ctx.restore()}let c=e instanceof Gs&&this.options.box,p=e instanceof jx&&this.options.polygon;if((c||p)&&!e.props.className&&!e.props.html&&!e.props.href){if(this.visible.push(e),e.props.style){let m=Object.assign({},e.props.style||{},e.hovering?e.props.hoverStyles:{},e.pressing?e.props.pressStyles:{}),h=e.props.relativeStyle?1:r/e.width;typeof m.opacity<"u"&&(this.ctx.globalAlpha=m.opacity);let y=0;typeof m.borderWidth<"u"&&(y=parseInt(m.borderWidth,10)*h);let S=0;typeof m.outlineWidth<"u"&&(S=parseInt(m.outlineWidth,10)*h);let w=0;if(typeof m.outlineOffset<"u"&&(w=parseInt(m.outlineOffset,10)*h),m.borderColor&&(this.ctx.strokeStyle=m.borderColor),m.boxShadow){let v=m.boxShadow.split(/,(?![^(]*\))/);for(let x of v){let A=Rx[x]||Ix.exec(x)||Ix.exec(x);Rx[x]=A,A&&(this.ctx.save(),this.ctx.shadowOffsetX=parseInt(A[1])*this.dpi*h,this.ctx.shadowOffsetY=parseInt(A[3])*this.dpi*h,this.ctx.shadowBlur=parseInt(A[5])*this.dpi*h,this.ctx.shadowColor=A[9],this.ctx.fillStyle="rgba(0,0,0,1)",this.ctx.fillRect(i+y,n+y,r,a),this.ctx.restore())}}if(this.ctx.fillStyle=m.backgroundColor||"transparent",this.ctx.lineWidth=y,p){let v=e.shape,x=v.points||[],A=x.length;this.ctx.beginPath();for(let C=0;C<A;C++)this.ctx.lineTo(i+x[C][0]*this.lastKnownScale,n+x[C][1]*this.lastKnownScale);v.open||this.ctx.closePath(),y&&this.ctx.stroke(),v.open||this.ctx.fill()}else y&&this.ctx.strokeRect(i+y/2,n+y/2,r+y,a+y),this.ctx.fillRect(i+y,n+y,r,a);S&&(m.outlineColor&&(this.ctx.strokeStyle=m.outlineColor),this.ctx.lineWidth=S,this.ctx.strokeRect(i-S/2-w,n-S/2-w,r+y*2+S+w*2,a+y*2+S+w*2))}this.ctx.globalAlpha=l}}loadImage(e,t,i,n=!1){if(gu[e]&&gu[e].naturalWidth>0){t(gu[e]);return}try{let r=!1;n||setTimeout(()=>{r||this.loadImage(e,t,i,!0)},3e3);let a=document.createElement("img");a.decoding="auto",a.onload=function(){r=!0,t(a),gu[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),i(r)}}schedulePaintToCanvas(e,t,i,n){this.imagesPending++,e.indices.push(i);let r=`${t.id}--${t.display.scale}-${i}`,a=this.invalidated.indexOf(r);a!==-1&&this.invalidated.splice(a,1),e.canvases[i]=r,t.__host.canvas.loading=!0,this.loadingQueueOrdered=!1,this.loadingQueue.push({id:r,scale:t.display.scale,network:!0,distance:n,task:()=>new Promise(l=>{if(this.visible.indexOf(t)===-1){this.imagesPending--,e.indices.splice(e.indices.indexOf(i),1),l();return}let c=t.getImageUrl(i);this.loadImage(c,p=>{this.loadingQueue.push({id:r,scale:t.display.scale,distance:n,task:()=>new Promise(m=>{this.imageIdsLoaded.includes(r)||(this.imagesLoaded++,this.imageIdsLoaded.push(r)),e.loaded.push(i),e.loaded.length===e.indices.length&&(e.loading=!1);let h=t.display.points.slice(i*5,i*5+5),y=document.createElement("canvas"),S=y.getContext("2d");y.width=h[3]-h[1],y.height=h[4]-h[2],this.hostCache.set(e.canvases[i],y),this.drawCalls.push(()=>{S.drawImage(p,0,0,h[3]-h[1],h[4]-h[2]),m()})})}),l()},p=>{this.imagesPending--,e.indices.splice(e.indices.indexOf(i),1),l()})})})}afterPaintLayer(e,t){}prepareLayer(e,t){if(e.__owner.value)if(e.cropData){let i=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 cr||e instanceof Zs)&&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,i,n){return e.getPointsAt(t,i,n)}getViewportBounds(e,t,i){let n=e.getActiveZone();if(n){let r=t[3]-t[1]<n.points[3]-n.points[1],a=t[4]-t[2]<n.points[4]-n.points[2];return{x1:r?n.points[1]-i:n.points[1]+(n.points[3]-n.points[1])/2-(t[3]-t[1])/2,y1:a?n.points[2]-i:n.points[2]+(n.points[4]-n.points[2])/2-(t[4]-t[2])/2,x2:r?n.points[3]+i:n.points[1]+(n.points[3]-n.points[1])/2-(t[3]-t[1])/2,y2:a?n.points[4]+i:n.points[2]+(n.points[4]-n.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=[]}},Vx=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,i,n){for(let r=0;r<this.length;r++)this.renderers[r].afterFrame(e,t,i,n)}afterPaintLayer(e,t){for(let i=0;i<this.length;i++)this.renderers[i].afterPaintLayer(e,t)}beforeFrame(e,t,i,n){for(let r=0;r<this.length;r++)this.renderers[r].beforeFrame(e,t,i,n)}triggerResize(){for(let e=0;e<this.length;e++){let t=this.renderers[e];t.triggerResize&&t.triggerResize()}}getPointsAt(e,t,i,n){return this.renderers[0].getPointsAt(e,t,i,n)}getScale(e,t){return this.renderers[0].getScale(e,t)}getViewportBounds(e,t,i){return this.renderers[0].getViewportBounds(e,t,i)}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,i,n,r,a){for(let l=0;l<this.length;l++)this.renderers[l].paint(e,t,i,n,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 i=0;i<this.length;i++)this.renderers[i].prepareLayer(e,t)}finishLayer(e,t){for(let i=0;i<this.length;i++)this.renderers[i].finishLayer(e,t)}resize(e,t){for(let i=0;i<this.length;i++)this.renderers[i].resize(e,t)}reset(){for(let e=0;e<this.length;e++)this.renderers[e].reset()}},PP=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=wi(1)}isReady(){return!0}resize(){this.initialWidth=this.canvas.width,this.initialHeight=this.canvas.height,this.renderNextFrame=!0}afterFrame(e,t,i){if(this.renderNextFrame){this.context.clearRect(0,0,this.canvas.width,this.canvas.height);let n=this.initialWidth/e.width,r=this.initialHeight/e.height,a=this.widthRatio>this.heightRatio?n:r;if(this.target=i,this.bounds){let l=e.getPointsAt(this.bounds,this.aggregate,a);for(let[c,p]of l)if(c instanceof cr&&c.__host.canvas){let m=p.length/5;for(let h=0;h<m;h++)if(c.__host.canvas.canvases[h]){let y={x1:p[h+1]*a,y1:p[h+2]*a,width:(p[h+3]-p[h+1])*a,height:(p[h+4]-p[h+2])*a}}}}e.getPoints().forEach((l,c,p)=>{if(c%5===0&&l){let m={x1:p[c+1]*a,y1:p[c+2]*a,x2:p[c+3]*a,y2:p[c+4]*a,width:(p[c+3]-p[c+1])*a,height:(p[c+4]-p[c+2])*a};this.context.strokeStyle="red",this.context.strokeRect(m.x1,m.y1,m.width,m.height)}}),i&&(this.context.strokeStyle="red",this.context.lineWidth=window.devicePixelRatio||1,this.context.strokeRect(i[1]*a,i[2]*a,(i[3]-i[1])*a,(i[4]-i[2])*a))}}getActiveZone(e){return null}getPointsAt(e,t,i,n){return e.getPointsAt(t,i,n)}getScale(e,t){return 1}beforeFrame(e,t){this.bounds=xe.singleBox(e.width,e.height)}drawImage(){}afterPaintLayer(e,t){}paint(e,t,i,n,r,a){this.renderNextFrame=!0}prepareLayer(e){}pendingUpdate(){return!1}hasActiveZone(){return!1}getViewportBounds(e,t,i){return null}getRendererScreenPosition(){return this.canvas.getBoundingClientRect()}finishLayer(){}reset(){}};function EP(e){return{x:e[1],y:e[2],width:e[3]-e[1],height:e[4]-e[2]}}var Tx="pan",_x="scroll",AP="gesture",IP={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},Wx=(e={})=>({start:function(t){let{zoomWheelConstant:i,enableWheel:n,enableClickToZoom:r,ignoreSingleFingerTouch:a,enablePanOnWait:l,panOnWaitDelay:c,parentElement:p,requireMetaKeyForWheelZoom:m}={...IP,...e},h={pointerStart:{x:0,y:0},isPressing:!1,mousemoveBuffer:re(5),multiTouch:{distance:0}};t.world.activatedEvents.push("onMouseUp","onMouseDown","onMouseMove","onTouchStart","onTouchEnd","onTouchMove");function y(){x=0,C="",E(),E(void 0,"notice"),A=0}function S(){t.world.constraintBounds(),y()}function w(U){if(U.which>1){h.isPressing=!1;return}t.mode==="explore"&&(U.preventDefault(),h.pointerStart.x=U.atlas.x,h.pointerStart.y=U.atlas.y,t.transitionManager.stopTransition(),h.isPressing=!0)}function v(){y(),h.isPressing&&(t.mode==="explore"&&t.world.constraintBounds(),h.isPressing=!1)}let x=0,A=0,C="";function I(U){if(t.mode==="explore"){if(U.atlasTouches.length===1&&(A=performance.now(),a==!1&&U.preventDefault(),h.pointerStart.x=U.atlasTouches[0].x,h.pointerStart.y=U.atlasTouches[0].y),U.atlasTouches.length===2){C=AP,U.preventDefault();let q=U.atlasTouches[0].x,ee=U.atlasTouches[1].x;h.pointerStart.x=(q+ee)/2;let Me=U.atlasTouches[0].y,pe=U.atlasTouches[1].y;h.pointerStart.y=(Me+pe)/2,x=xu({x:U.touches[0].clientX,y:U.touches[0].clientY},{x:U.touches[1].clientX,y:U.touches[1].clientY})}t.transitionManager.stopTransition(),h.isPressing=!0}}function E(U,q="intent"){p&&(p.dataset[q]=U)}function M(U){let q=null,ee=null,Me=!1,pe=0;if(h.isPressing&&U.touches.length===2){let Re=U.touches[0].clientX,ke=U.touches[1].clientX;q=(Re+ke)/2;let He=U.touches[0].clientY,qe=U.touches[1].clientY;ee=(He+qe)/2,pe=xu({x:U.touches[0].clientX,y:U.touches[0].clientY},{x:U.touches[1].clientX,y:U.touches[1].clientY}),Me=!0}if(E(C),h.isPressing&&U.touches.length===1){if(l&&(performance.now()-A<c&&C==""&&(C=_x),C==""&&(C=Tx)),E(C),C==""&&a==!0||C==_x){E("require-two-finger","notice");return}let Re=U.touches[0];q=Re.clientX,ee=Re.clientY}if(q!==null&&ee!==null){let Re=t.getRendererScreenPosition();if(Re){let{x:ke,y:He}=t.viewerToWorld(q-Re.x,ee-Re.y),qe=pe&&x?pe/x:1;t.transitionManager.customTransition($=>{$.from=re(t.target),$.to=bi($.from,pi(ut(h.pointerStart.x-ke,h.pointerStart.y-He),On(1/qe,ke,He)),h.mousemoveBuffer),$.elapsed_time=0,$.total_time=0,$.timingFunction=ur.easeInOutExpo,$.done=!1})}x=pe}C==Tx&&U.preventDefault()}function k(U){if(h.isPressing){let q=t.getRendererScreenPosition();if(q){let{x:ee,y:Me}=t.viewerToWorld(U.clientX-q.x,U.clientY-q.y);t.transitionManager.customTransition(pe=>{pe.from=re(t.target),pe.to=bi(pe.from,ut(h.pointerStart.x-ee,h.pointerStart.y-Me),h.mousemoveBuffer),pe.elapsed_time=0,pe.total_time=0,pe.timingFunction=ur.easeInOutExpo,pe.done=!1})}}}function O(U){t.mode==="explore"&&t.world.zoomIn(U.atlas)}function Q(U){let q=1+(0,Ux.default)(U).spinY/i;t.world.zoomTo(q,U.atlas,!0)}function V(U){return m&&U.metaKey==!1?(E("meta-required","notice"),U.stopPropagation(),!1):!0}t.world.addEventListener("mouseup",S),t.world.addEventListener("touchend",S),t.world.addEventListener("touchstart",I),t.world.addEventListener("mousedown",w),window.addEventListener("touchend",v),window.addEventListener("mouseup",v),window.addEventListener("mousemove",k),p&&p.addEventListener("touchmove",M),r&&(t.world.activatedEvents.push("onClick"),t.world.addEventListener("click",O)),n&&(t.world.activatedEvents.push("onWheel"),m&&p?.addEventListener("wheel",V,{passive:!0,capture:!0}),t.world.addEventListener("wheel",Q));let J=t.world.addLayoutSubscriber((U,q)=>{if(U==="zone-changed"&&t.transitionManager.constrainBounds({transition:{duration:0}}),U==="zoom-to"&&q&&t.transitionManager.zoomTo(q.factor,{origin:q.point,stream:q.stream}),U==="go-home"){let ee=q.immediate?{duration:0}:void 0;t.transitionManager.goToRegion(EP(t.homePosition),{transition:ee})}if(U==="goto-region"&&q){let ee=q.immediate?{duration:0}:{};t.transitionManager.goToRegion(q,{transition:ee})}U==="constrain-bounds"&&t.transitionManager.constrainBounds({transition:q?.immediate?{duration:0}:void 0})});return()=>{t.world.removeEventListener("mouseup",S),t.world.removeEventListener("touchend",S),t.world.removeEventListener("touchstart",I),t.world.removeEventListener("mousedown",w),window.removeEventListener("touchend",v),window.removeEventListener("mouseup",v),t.world.removeEventListener("mousemove",k),p&&(p.removeEventListener("touchmove",k),p.removeEventListener("wheel",V,{passive:!0,capture:!0})),r&&t.world.removeEventListener("click",O),n&&t.world.removeEventListener("wheel",Q),J()}},updatePosition(){}}),No=Iu.default.createContext("explore");No.displayName="Mode";var TP=()=>(0,Iu.useContext)(No);var Ru=Op.default.createContext(null);Ru.displayName="Atlas";var Tu=Op.default.createContext(null);Tu.displayName="Bounds";var wu,_P=typeof performance=="object"&&typeof performance.now=="function";if(_P){let e=performance;wu=()=>e.now()}else{let e=Date,t=e.now();wu=()=>e.now()-t}var MP=16;function Mx(e,t){e&&e.appendChild&&t&&e.appendChild(t)}function Qx(e,t){e&&e.removeChild&&t&&e.removeChild(t)}function kP(e,t){return Qx(e.world,t)}function OP(e,t,i){return $x(e.world,t,i)}function $x(e,t,i){e&&e instanceof Au&&(e=e.world),e&&e.insertBefore&&e.insertBefore(t,i)}function Gx(e,t,i){if(i&&(e.applyProps&&e.applyProps(i),e instanceof bn))for(let n of Cu){let r=n.slice(2).toLowerCase();i[n]!==t[n]&&(t[n]&&e.removeEventListener(r,t[n]),e.addEventListener(r,i[n]))}}function Yx(e,t){let i=Object.keys(t),n=!1;for(let r of i)if(Cu.indexOf(r)!==-1){let a=zo[r];if(a){if(e.activatedEvents.indexOf(a)!==-1)continue;n=!0,e.activatedEvents.push(a)}}n&&e.triggerEventActivation()}var bu=new Map,kx={};function LP(e,{args:t=[],...i},n,r,a){if(!(n instanceof Au)&&a){let p=m=>m.return?p(m.return):m.stateNode&&m.stateNode.containerInfo;n=p(a)}let l,c=n.world;switch(e){case"world":l=Eu.withProps({width:i.width,height:i.height,viewingDirection:"left-to-right"}),l.activatedEvents=c.activatedEvents,l.eventHandlers=c.eventHandlers,l.subscriptions=c.subscriptions,l.triggerEventActivation(),c=l;break;case"box":l=new Gs;break;case"shape":l=new jx;break;case"worldObject":case"world-object":l=new kp;break;case"worldImage":case"world-image":l=new cr;break;case"texture":l=new Ip;break;case"compositeImage":case"composite-image":l=new vP({id:i.id,width:i.width,height:i.height,images:[],renderOptions:i.renderOptions});break;case"tiledImage":case"tiled-image":l=Zs.fromTile(i.uri,i.display,i.tile,i.scaleFactor,void 0,i.format,i.useFloorCalc,i.version3);break;case"paragraph":l=new yu,l.text=i.children;break;default:return}return Yx(c,i),Gx(l,{},i),l}function FP(e,t){if(t instanceof Eu)e.world=t;else if(t instanceof kp)e.world.appendChild(t);else if(t)throw new Error("Invalid root")}var Xs=(0,Hx.default)({unstable_now:wu,now:wu,createInstance:LP,removeChild:Qx,appendChild:Mx,appendInitialChild:Mx,insertBefore:$x,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:FP,removeChildFromContainer:kP,createTextInstance(){},insertInContainerBefore:OP,prepareUpdate(e,t,i,n,r){return Yx(r.world,n),n},commitUpdate(e,t,i,n,r,a){e.applyProps&&t&&Gx(e,n,t)},finalizeInitialChildren(e){return e?.__handlers},getChildHostContext(){return kx},getRootHostContext(){return kx},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"),MP},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(){}});Xs.injectIntoDevTools({bundleType:0,version:qx.version,rendererPackageName:"@atlas-viewer/atlas"});function Lp(e,t){let i=bu.get(e);i&&Xs.updateContainer(null,i,null,()=>{bu.delete(e),t&&t(e)})}var Ox={render(e,t){let i=bu.get(t);if(i)Xs.updateContainer(e,i,null);else{let n=Xs.createContainer(t,0,null,!1,null,"",()=>{},null);Xs.updateContainer(e,n,null),bu.set(t,n)}},unmountComponentAtNode(e,t){Lp(e,t)}},Ks=typeof window<"u"&&(window.document?.createElement||window.navigator?.product==="ReactNative")?_u.useLayoutEffect:_u.useEffect,zP=wn.default.memo(({children:e,setIsReady:t,onCreated:i,bounds:n,preset:r,mode:a="explore"})=>{let l=(0,wn.useCallback)(function(c){let p=(0,wn.useRef)(!1),m=()=>{t(!0)};return(0,wn.useEffect)(()=>{if(r&&!p.current){r.runtime.goHome();let h=i&&i(r);return void(h&&h.then?h.then(m):m())}return()=>{}},[]),(0,wn.useEffect)(()=>{p.current=!0},[]),c.children},[r]);return Ks(()=>{if(r){let c=r.runtime;a!==c.mode&&(c.mode=a),Ox.render((0,Fo.jsx)(wn.default.StrictMode,{children:(0,Fo.jsx)(l,{children:(0,Fo.jsx)(Tu.Provider,{value:n,children:(0,Fo.jsx)(No.Provider,{value:a,children:(0,Fo.jsx)(Ru.Provider,{value:r,children:e})})})})}),c)}},[r,a,e]),Ks(()=>{if(r){let c=r.runtime;return()=>{Ox.unmountComponentAtNode(c)}}return()=>{}},[r]),null}),NP=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",`
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(`
12
+ [zustand devtools middleware] Unsupported __setState action format.
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
+ 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",`
12
16
  precision mediump float;
13
17
 
14
18
  uniform sampler2D u_image;
@@ -41,16 +45,16 @@ No matching component was found for:
41
45
 
42
46
  v_texCoord = a_texCoord;
43
47
  }
44
- `),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,i){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 cr||e instanceof Zs)&&this.createImageHost(e),e instanceof Ip&&this.createTextureHost(e))}createTextureHost(e){e.__host=e.__host?e.__host:{};let t=this.gl,i=this.gl.createTexture();t.bindTexture(t.TEXTURE_2D,i),t.pixelStorei(t.UNPACK_FLIP_Y_WEBGL,!1);let n;if(e instanceof Ip){let r=e.getTexture();r.source&&t.texImage2D(t.TEXTURE_2D,0,t.RGBA,t.RGBA,t.UNSIGNED_BYTE,r.source),n=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:i,lastImage:n}}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:(i,n)=>{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,n),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[i]=a,e.__host.webgl.loaded.push(i)}}}paint(e,t,i,n,r,a){if(e.type==="spacial-content"&&e.__host&&e.__host.webgl){if(e.getTexture){let c=e?.getTexture();if(c&&e.__host.webgl.lastImage!==c.hash&&c.source&&!e.__host.webgl.error)try{let p=this.gl.RGBA,m=this.gl.RGBA,h=this.gl.UNSIGNED_BYTE;this.gl.bindTexture(this.gl.TEXTURE_2D,e.__host.webgl.texture),this.gl.texImage2D(this.gl.TEXTURE_2D,0,p,m,h,c.source),e.__host.webgl.lastImage=c.hash}catch(p){e.__host.webgl.error=p}}if(e.__host.webgl.loading&&e.__host.webgl.loading.indexOf(t)===-1&&e.getImageUrl){e.__host.webgl.loading.push(t);let c=document.createElement("img");c.decoding="async",c.crossOrigin="anonymous",c.src=e.getImageUrl(t),c.onload=()=>(c.onload=null,e.__host.webgl.onLoad(t,c))}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(i,n,r,a),this.gl.drawArrays(this.gl.TRIANGLES,0,6))}}afterPaintLayer(e,t){}pendingUpdate(){return!0}getPointsAt(e,t,i,n){return e.getPointsAt(t,i,n)}afterFrame(){}getScale(e,t,i){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let n=this.getCanvasDims(),r=n.width/e,a=n.height/t,l=(r<a?a:r)*(i&&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,i){return null}createShader(e,t){let i=this.gl.createShader(e);if(i){if(this.gl.shaderSource(i,t),this.gl.compileShader(i),this.gl.getShaderParameter(i,this.gl.COMPILE_STATUS))return i;let n=this.gl.getShaderInfoLog(i);if(this.gl.deleteShader(i),n)throw new Error(n)}throw new Error("Invalid shader")}createProgram(e,t){let i=this.gl.createProgram();if(i){if(this.gl.attachShader(i,e),this.gl.attachShader(i,t),this.gl.linkProgram(i),this.gl.getProgramParameter(i,this.gl.LINK_STATUS))return i;let n=this.gl.getProgramInfoLog(i);if(this.gl.deleteProgram(i),n)throw new Error(n)}throw new Error("Invalid program")}resizeCanvasToDisplaySize(){let e=this.gl.canvas,t=e.clientWidth,i=e.clientHeight,n=e.width!==t||e.height!==i;return n&&(e.width=t,e.height=i),n}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,i,n){this.gl.bufferData(this.gl.ARRAY_BUFFER,this.getRectangle(e,t,i,n),this.gl.STATIC_DRAW)}getRectangle(e,t,i,n){let r=e,a=e+i,l=t,c=t+n;return this.rectBuffer.set([r,l,a,l,r,c,r,c,a,l,a,c]),this.rectBuffer}getRendererScreenPosition(){return this.rendererPosition}finishLayer(){}reset(){}};function Tp(e,t){let i=t?e:JSON.stringify(e),n=5381,r=i.length;for(;r;)n=n*33^i.charCodeAt(--r);let a=(n>>>0).toString(16);return a.length%2?"0"+a:a}var Xx=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(),i=this.sheetPrefix+Tp(t,!0);return this.stylesheetClasses.indexOf(i)!==-1||(this.stylesheetClasses.push(i),this.activeStylesheetClasses.push(i),this.stylesheetEntries[i]=t,this.sheetsDidUpdate=!0),i}removeStylesheet(e){let t=this.sheetPrefix+Tp(e,!0);this.stylesheetClasses.indexOf(t)&&(this.stylesheetClasses=this.stylesheetClasses.filter(i=>i!==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])}},Kx=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 Xx({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 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(`
45
49
  background: ${this.options.background};
46
50
  `)),this.classes={hostClassName:this.stylesheet.addStylesheet(`
47
51
  position: absolute;
48
52
  transform-origin: 0px 0px;
49
- `),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 i=e.props.hrefTarget||"_blank";t.target=i,i!=="_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,i){if(e.__revision!==e.__host.revision){let n=e.__host.element,r=[this.classes.hostClassName];if(e.props.interactive?this.options.inlineStyles?n.style.pointerEvents="all":r.push(this.classes.interactive):this.options.inlineStyles?n.style.pointerEvents="none":r.push(this.classes.nonInteractive),e.props.href){n.style.display="block",n.href=e.props.href;let l=e.props.hrefTarget||"_blank";n.target=l,l!=="_self"?n.rel="noopener noreferrer":n.rel=""}else n.href&&n.removeAttribute("href");if(e.props.title&&(n.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?(n.style.width=`${t||e.width}px`,n.style.height=`${i||e.height}px`):(n.style.width=`${e.width}px`,n.style.height=`${e.height}px`),e.props.style){Object.assign(n.style,e.props.style||{},e.hovering?e.props.hoverStyles||{}:{},e.pressing?e.props.pressStyles||{}:{});return}if(this.options.text&&e instanceof yu){e.text&&(n.innerText=e.text),e.backgroundColor&&(n.style.backgroundColor=e.backgroundColor),e.color&&(n.style.color=e.color),e.props.font&&(n.style.font=e.props.font),e.props.textAlign&&(n.style.textAlign=e.props.textAlign),e.__host.revision=e.__revision;let l=r.join(" ");n.className=l,n.part=l}e instanceof Gs&&(this.options.box||e.props.className||e.props.html)&&(e.props.backgroundColor&&(n.style.backgroundColor=e.props.backgroundColor),e.props.border!==n.style.border&&(n.style.border=e.props.border));let a=r.join(" ");n.className=a,n.part=a}}afterFrame(e,t,i){this.stylesheet.updateSheet();for(let n of this.previousVisible)this.visible.indexOf(n)===-1&&this.htmlContainer&&n.__id&&this.htmlIds.indexOf(n.__id)!==-1&&this.htmlContainer.removeChild(n.__host.element);this.previousVisible=this.visible}afterPaintLayer(e,t){}beforeFrame(e,t,i){this.stylesheet.clearClasses(),this.paintTx++,this.zIndex=0,this.visible=[]}getPointsAt(e,t,i,n){return e.getPointsAt(t,i,n)}getScale(e,t){let i=this.rendererPosition.width/e,n=this.rendererPosition.height/t;return i<n?n:i}getViewportBounds(e,t,i){return null}isReady(){return!1}paint(e,t,i,n,r,a){if(this.zIndex++,(this.options.text&&e instanceof yu||e instanceof Gs&&(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,c=e.__host.element;c.style.zIndex=`${this.zIndex}`,e.props.relativeStyle?c.style.transform=`translate(${Math.round(i)}px, ${Math.round(n)}px)`:c.style.transform=`translate(${Math.round(i)}px, ${Math.round(n)}px) scale(${l})`,this.previousVisible.indexOf(e)===-1&&this.htmlContainer.appendChild(c),this.htmlIds.indexOf(e.__id)===-1&&this.htmlIds.push(e.__id)}}pendingUpdate(){return!1}prepareLayer(e){e.__host||(e instanceof yu||e instanceof Gs)&&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(){}},Zx=class vu{constructor(t,i,n){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,"onTouchEvent",a=>{let l=zo[a.type],c=[],p=a.touches.length;for(let m=0;m<p;m++){let h=a.touches.item(m);if(!h)continue;let{x:y,y:S}=this.runtime.viewerToWorld(h.clientX-this.bounds.left,h.clientY-this.bounds.top),w={id:h.identifier,x:y,y:S};c.push(w)}c.length&&this.assignToEvent(a,c[0].x,c[0].y),l!=="onTouchEnd"?(this.pointerEventState.lastTouches=c,a.atlasTouches=c,this.runtime.world.propagateTouchEvent(l,a,c)):(a.atlasTouches=[],this.runtime.world.propagateTouchEvent(l,a,this.pointerEventState.lastTouches),this.pointerEventState.lastTouches=[])}),P(this,"onPointerEvent",a=>{let l=zo[a.type];if(l&&this.runtime.world.activatedEvents.indexOf(l)!==-1){let{x:c,y:p}=this.runtime.viewerToWorld(a.clientX-this.bounds.left,a.clientY-this.bounds.top);this.assignToEvent(a,c,p),this.runtime.world.propagatePointerEvent(l,a,c,p)}}),P(this,"onPointerDown",a=>{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(this.pointerEventState.isClicking){let{x:l,y:c}=this.runtime.viewerToWorld(a.clientX-this.bounds.left,a.clientY-this.bounds.top);this.assignToEvent(a,l,c),this.runtime.world.propagatePointerEvent("onClick",a,l,c)}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:c}=this.runtime.viewerToWorld(a.clientX-this.bounds.left,a.clientY-this.bounds.top);if(Number.isNaN(l)||Number.isNaN(c))return;this.assignToEvent(a,l,c),this.runtime.world.propagatePointerEvent("onPointerMove",a,l,c);let p=this.runtime.world.propagatePointerEvent("onMouseMove",a,l,c),m=[],h=[];for(let y of p)m.push(y.id),h.push(y),this.pointerEventState.mousedOver.indexOf(y)===-1&&(y.dispatchEvent("onMouseEnter",a),y.dispatchEvent("onPointerEnter",a),y.dispatchEvent("onMouseOver",a),y.dispatchEvent("onPointerOver",a));for(let y of this.pointerEventState.mousedOver)m.indexOf(y.id)===-1&&(y.dispatchEvent("onMouseLeave",a),y.dispatchEvent("onPointerLeave",a),y.dispatchEvent("onMouseOut",a),y.dispatchEvent("onPointerOut",a));if(this.pointerEventState.isDragging)for(let y of this.pointerEventState.itemsBeingDragged)y.dispatchEvent("onDrag",a);if(this.pointerEventState.isPressed&&!this.pointerEventState.isDragging&&xu(this.pointerEventState.mouseDownStart,{x:a.clientX,y:a.clientY})>50){let y=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:y.x,y:y.y}},y.x,y.y)}this.pointerEventState.mousedOver=h}),this.element=t,this.runtime=i,this.unsubscribe=i.world.addLayoutSubscriber(this.layoutSubscriber.bind(this)),this.bounds=t.getBoundingClientRect(),this.listening=!1,this.options={simulationRate:0,...n||{}};let r=0;i.registerHook("useFrame",a=>{r+=a,r>this.options.simulationRate&&this.pointerMoveEvent&&(r=0,i.updateNextFrame())}),i.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,i,n){vu.eventPool.atlas.x=i,vu.eventPool.atlas.y=n,t.atlas=vu.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("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,i]of this.eventHandlers)this.element.removeEventListener(this.normalizeEventName(t),i)}};P(Zx,"eventPool",{atlas:{x:0,y:0}});var Jx=Zx;function e0({interactive:e=!0,viewport:t,forceRefresh:i,canvasElement:n,overlayElement:r,controllerConfig:a,unstable_webglRenderer:l,dpi:c,debug:p,canvasBox:m=!0,polygon:h=!0,navigatorElement:y,runtimeOptions:S}){if(!n)throw new Error("Invalid container");n.style.userSelect="none";let w=e?Wx({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:n,...a||{}}):void 0,v=new Vx([l?new NP(n,{dpi:c}):new CP(n,{dpi:c,debug:p,box:m,polygon:h}),r?new Kx(r,{box:l||!m,text:!0,triggerResize:i}):void 0,y?new PP(y):void 0]),x=new Au(v,new Eu(1024,1024),t,w?[w]:[],S),A=new Jx(n,x);return{name:"default-preset",em:A,runtime:x,renderer:v,controller:w,canvas:n,navigator:y,unmount(){Lp(x),x.stopControllers(),x.stop(),x.reset(),A&&A.stop()}}}var lr=1+Number.MIN_VALUE,BP=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:i,height:n}=this.rendererPosition;this.width=i,this.height=n,this.options={addPart:!1,setDraggableFalse:!1,imageClass:"",widthStylesheet:!1,sheetPrefix:"position-",background:"#000",...t||{}},this.stylesheet=new Xx({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 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(`
50
54
  background: ${this.options.background};
51
- `)),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,i){this.stylesheet.updateSheet();for(let n of this.previouslyVisible)this.currentlyVisible.indexOf(n)===-1&&this.container.removeChild(n);for(let n of this.currentlyVisible)this.previouslyVisible.indexOf(n)===-1&&this.container.appendChild(n);this.previouslyVisible=this.currentlyVisible,this.currentlyVisible=[]}afterPaintLayer(e,t){}beforeFrame(e,t,i){this.stylesheet.clearClasses(),this.zIndex=0}getPointsAt(e,t,i,n){return e.getPointsAt(t,i,n)}getScale(e,t){if(Number.isNaN(e)||Number.isNaN(t))return this.lastKnownScale;let i=this.width/e,n=this.height/t,r=i<n?n:i;return Number.isNaN(r)||(this.lastKnownScale=r),this.lastKnownScale}getViewportBounds(e,t,i){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,i,n,r,a){if(this.pending=!1,this.zIndex++,e instanceof cr){if(!e.__host){let c=this.createImage();c.src=e.uri,e.__host=c,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+lr).toFixed(2)}px;height:${(a+lr).toFixed(2)}px;`):(l.style.width=`${r+lr}px`,l.style.height=`${a+lr}px`),l.style.transform=`translate(${i}px, ${n}px)`}if(e instanceof Zs){if(e.__host||(e.__host={images:[]}),!e.__host.images[t]){let c=e.getImageUrl(t),p=this.createImage();p.src=c,e.__host.images[t]=p,this.container.appendChild(p)}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+lr).toFixed(2)}px;height:${(a+lr).toFixed(2)}px;`):(l.style.width=`${r+lr}px`,l.style.height=`${a+lr}px`),l.style.transform=`translate(${i}px, ${n}px)`}}pendingUpdate(){return this.pending}prepareLayer(e){}finishLayer(e){}reset(){}};function DP({interactive:e,viewport:t,forceRefresh:i,containerElement:n,overlayElement:r,controllerConfig:a}){if(!n)throw new Error("Invalid container");n.style.userSelect="none";let l=e?Wx({minZoomFactor:.5,maxZoomFactor:3,enableClickToZoom:!1,parentElement:n,...a||{}}):void 0,c=new BP(n,{addPart:!1,setDraggableFalse:!1,imageClass:"atlas-static-image"}),p=r?new Vx([c,new Kx(r,{box:!0,text:!0,triggerResize:i})]):c,m=new Au(p,new Eu(1024,1024),t,l?[l]:[]),h=new Jx(n,m);return{name:"static-preset",em:h,runtime:m,renderer:p,controller:l,container:n,overlay:r,unmount(){Lp(m),m.stopControllers(),m.stop(),h&&h.stop()}}}var jP={"default-preset":e0,"static-preset":DP},VP={};function UP(e,t){let i=(0,Di.useRef)(),n=(0,Di.useRef)(),r=(0,Di.useRef)(),a=(0,Di.useRef)(),l=(0,Di.useRef)({width:t.width,height:t.height,didUpdate:!0}),[c="default-preset",p=VP]=Array.isArray(e)?e||[]:[e],[m,h]=(0,Di.useState)(null);(0,Di.useLayoutEffect)(()=>{let S=n.current,w=a.current,v=i.current,x=r.current,A=(jP[c]||e0)({containerElement:w,canvasElement:S,overlayElement:v,navigatorElement:x,viewport:l.current,dpi:window.devicePixelRatio||1,forceRefresh:t.forceRefresh,unstable_webglRenderer:t.unstable_webglRenderer,...p||{}});return h(A),()=>{A&&(A.unmount(),S&&(S.height=0,S.width=0),v&&(v.innerHTML=""),x&&(x.height=0,x.width=0))}},[c,p]);let y=(0,Di.useMemo)(()=>({canvas:n,overlay:i,container:a,navigator:r}),[]);return[c,m,l,y]}function WP(e){return(0,t0.useMemo)(()=>Tp(e),e)}var $s=i0.default.forwardRef((e,t)=>(0,n0.jsx)("div",{...e,ref:t,part:e.className})),Lx=["brightness","contrast","grayscale","hueRotate","invert","saturate","sepia","blur"],HP=({htmlChildren:e,renderPreset:t,onCreated:i,mode:n="explore",resetWorldOnChange:r=!0,unstable_webglRenderer:a=!1,unstable_noReconciler:l=!1,hideInlineStyle:c=!1,controllerConfig:p,children:m,overlayStyle:h,containerStyle:y,enableNavigator:S,className:w,containerProps:v={},homePosition:x,homeOnResize:A,homeCover:C,background:I,runtimeOptions:E,debug:M,filters:k,...O})=>{let[Q,V]=(0,dt.useState)(n),[J,U]=(0,dt.useState)(!1),q=(0,dt.useRef)(!1),ee=(0,dt.useMemo)(()=>(typeof t=="string"&&(t=[t,{}]),M?t?[t[0],{debug:M,...t[1]||{}}]:["default-preset",{debug:M}]:t||"default-preset"),[t,M]),[Me,pe,Re]=ql({scroll:!0}),ke=(0,dt.useRef)(),He=ne=>{ke.current=ne,Me(ne)},[qe,$,ve,it]=UP(ee,{width:O.width,height:O.height,forceRefresh:Re,unstable_webglRenderer:a}),[Qe,$e]=(0,dt.useState)("");(0,dt.useEffect)(()=>{V(n)},[n]),(0,dt.useEffect)(()=>{$&&$.em&&$.em.updateBounds()},[$,pe]),(0,dt.useEffect)(()=>{$?.runtime.setOptions(E||{})},[E]),(0,dt.useEffect)(()=>{$&&$.runtime&&($.runtime.mode=Q),J&&$&&($.ready=!0)},[$,J,Q]),(0,dt.useEffect)(()=>{$&&(C||($.runtime.manualHomePosition=!!x,$.runtime.setHomePosition(x)))},[$,C,x]),(0,dt.useEffect)(()=>{if($){let ne=$.runtime;ne.resize(ve.current.width,O.width,ve.current.height,O.height),ve.current.width=O.width,ve.current.height=O.height,ne.updateNextFrame(),ve.current.didUpdate=!0}},[$,O.width,O.height]),(0,dt.useEffect)(()=>{if(k&&$){let ne=$.runtime,he=!1;ne.hookOptions.enableFilters=!0;for(let Oe of Lx)k[Oe]?k[Oe]!==$.runtime.hookOptions.filters[Oe]&&(ne.hookOptions.filters[Oe]=k[Oe],he=!0):ne.hookOptions.filters[Oe]&&(ne.hookOptions.filters[Oe]=0,he=!0);he&&ne.updateNextFrame()}else if($){let ne=$.runtime;for(let he of Lx)ne.hookOptions.filters[he]=0;ne.hookOptions.enableFilters=!1,ne.updateNextFrame()}},[$,k]),Ks(()=>{if($&&($.overlay&&($.overlay.style.width=`${pe.width}px`,$.overlay.style.height=`${pe.height}px`),$.container&&($.container.style.width=`${pe.width}px`,$.container.style.height=`${pe.height}px`),C)){let ne=$.runtime.world.width,he=$.runtime.world.height,Oe=ne/he,ot=ve.current.width,Ri=ve.current.height,Dt=ot/Ri;if(Oe>Dt){Dt=Ri/ot,$.runtime.manualHomePosition=!0;let Wt=(ne-he/Dt)/2;C==="start"&&(Wt=0),C==="end"&&(Wt=ne-he/Dt),$.runtime.setHomePosition({x:Wt,y:0,width:he/Dt,height:he})}else{let Wt=(he-ne/Dt)/2;C==="start"&&(Wt=0),C==="end"&&(Wt=he-ne/Dt),$.runtime.manualHomePosition=!0,$.runtime.setHomePosition({x:0,y:Wt,width:ne,height:ne/Dt})}A&&$.runtime.goHome({})}},[$,pe.height,pe.width,C]),Ks(()=>{let ne=()=>{if($){let he=$.runtime;ve.current.width!==O.width&&ve.current.height!==O.height&&(he.resize(ve.current.width,O.width,ve.current.height,O.height),ve.current.width=O.width,ve.current.height=O.height,he.updateNextFrame(),ve.current.didUpdate=!0)}};return window.addEventListener("resize",ne),()=>window.removeEventListener("resize",ne)},[$,O.height,O.width]);let N={width:120},G=()=>{if($&&$.navigator){let ne=$.runtime.world.height,he=$.runtime.world.width,Oe=window.devicePixelRatio||1,ot=N.width,Ri=N.width/he*ne;$.navigator.width=ot*Oe,$.navigator.height=Ri*Oe,$.navigator.style.width=ot+"px",$.navigator.style.height=Ri+"px"}};Ks(()=>{if($){G();let ne=$.runtime;return ne.world.addLayoutSubscriber(he=>{he==="recalculate-world-size"&&(G(),ne.resize(ve.current.width,O.width,ve.current.height,O.height))})}return()=>{}},[$,O.width,O.height]);let de=(0,dt.useCallback)(function(ne){let he=()=>{U(!0)};return(0,dt.useEffect)(()=>{if($){$.runtime.goHome();let Oe=i&&i($);return void(Oe&&Oe.then?Oe.then(he):he())}else throw new Error("Invalid configuration - no runtime found")},[]),ne.children},[$]);(0,dt.useEffect)(()=>{if($){let ne=$.runtime;if(r)return ne.world.addLayoutSubscriber(he=>{he==="recalculate-world-size"&&ne.goHome()})}return()=>{}},[$,r]),(0,dt.useEffect)(()=>$?$.runtime.registerHook("useBeforeFrame",()=>{if(ve.current.didUpdate&&$.canvas){let ne=window.devicePixelRatio||1,he=ve.current.width,Oe=ve.current.height;$.canvas.width=he*ne,$.canvas.height=Oe*ne,$.canvas.style.width=he+"px",$.canvas.style.height=Oe+"px",$.canvas.getContext("2d")?.scale(ne,ne),$&&$.em&&$.em.updateBounds(),ve.current.didUpdate=!1}}):()=>{},[$,r]),(0,dt.useEffect)(()=>{let ne=()=>{$&&(V("sketch"),$e("mode-sketch")),window.removeEventListener("keyup",ne)},he=Oe=>{if(Oe.code==="Space"&&$&&$.runtime.mode==="sketch"){if(Oe.target&&Oe.target.tagName&&Oe.target.tagName.toLowerCase()==="input")return;Oe.preventDefault(),V("explore"),$e("mode-explore"),window.addEventListener("keyup",ne)}};return window.addEventListener("keydown",he),()=>{window.removeEventListener("keydown",he),window.removeEventListener("keyup",ne)}},[$]),q.current=!0;let{height:ye,width:ge,...Ve}=O,Fe=WP([O.width,O.height]),Pe=!0;return ee&&Array.isArray(ee)&&ee.length>1&&ee[1].interactive===!1&&(Pe=!1),I=I??"#000",ke.current&&(I=getComputedStyle(ke.current).getPropertyValue("--atlas-background")||I),(0,Jt.jsxs)($s,{ref:He,className:["atlas",c?"":`atlas-width-${Fe}`,Qe,w,`atlas-${qe}`].filter(Boolean).join(" ").trim(),style:{...y,...c?{}:{width:O.width,height:O.height}},children:[qe==="static-preset"?(0,Jt.jsx)($s,{className:"atlas-static-container",ref:it.container,tabIndex:0,...v}):(0,Jt.jsx)("canvas",{className:"atlas-canvas",part:"atlas-canvas",tabIndex:0,...Ve,...v,ref:it.canvas,"data-background":I}),(0,Jt.jsx)($s,{className:["atlas-overlay",Pe?"atlas-overlay--interactive":""].filter(Boolean).join(" ").trim(),style:{...h||{}},ref:it.overlay,children:l?(0,Jt.jsx)(de,{children:(0,Jt.jsx)(Tu.Provider,{value:pe,children:(0,Jt.jsx)(No.Provider,{value:Q,children:(0,Jt.jsx)(Ru.Provider,{value:$,children:m})})})}):(0,Jt.jsx)(zP,{bounds:pe,preset:$,mode:Q,setIsReady:U,onCreated:i,children:m})}),S?(0,Jt.jsx)($s,{className:"atlas-navigator",children:(0,Jt.jsx)("canvas",{className:"atlas-navigator-canvas",part:"atlas-navigator-canvas",ref:it.navigator})}):null,c?(0,Jt.jsx)("style",{children:`.atlas-width-${Fe} { width: ${O.width}px; height: ${O.height}px; }`}):(0,Jt.jsx)("style",{children:`
52
- .atlas { position: relative; display: flex; background: ${I}; 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; }
53
- .atlas-width-${Fe} { width: ${O.width}px; height: ${O.height}px; }
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:`
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
+ .atlas-width-${Pt} { width: ${_.width}px; height: ${_.height}px; }
54
58
  .atlas-canvas { flex: 1 1 0px; }
55
59
  .atlas-canvas:focus, .atlas-static-container:focus { outline: none }
56
60
  .atlas-canvas:focus-visible, .atlas-canvas-container:focus-visible { outline: var(--atlas-focus, 2px solid darkorange) }
@@ -62,22 +66,15 @@ No matching component was found for:
62
66
  .atlas-static-image { position: absolute; user-select: none; transform-origin: 0px 0px; }
63
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 }
64
68
  .atlas-navigator-canvas { width: 100%; }
65
- `}),e]})};function qP(e){return Number(e)==e?`${e}px`:e}var r0=({resizeHash:e,aspectRatio:t,containerProps:i={},...n})=>{let[r,a,l]=ql(),{height:c,width:p,...m}=n;(0,Mu.useEffect)(()=>{l()},[p,c,e,l]);let h=(0,Mu.useMemo)(()=>t?{width:a.width,height:a.width*(1/t)}:a,[a,t]);return(0,Js.jsxs)($s,{ref:r,className:"atlas-container",...i,children:[h.width?(0,Js.jsx)(HP,{width:h.width||100,height:h.height||100,...m,children:n.children}):null,n.hideInlineStyle?null:(0,Js.jsx)("style",{children:`
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:`
66
70
  .atlas-container {
67
71
  display: var(--atlas-container-display, block);
68
72
  flex: var(--atlas-container-flex, none);
69
- width: var(--atlas-container-width, ${p?`${p}px`:"100%"});
70
- height: var(--atlas-container-height, ${qP(c||(t?h.height:512))})
73
+ width: var(--atlas-container-width, ${f?`${f}px`:"100%"});
74
+ height: var(--atlas-container-height, ${nM(u||(t?c.height:512))})
71
75
  }
72
- `}),n.htmlChildren]})},ku=()=>(0,o0.useContext)(Ru),Ou=()=>{let e=ku();return e?e.runtime:void 0};var a0=(e,t=[])=>{let i=Ou();(0,s0.useEffect)(()=>i?i.registerHook("useFrame",e):()=>{},t)},Lu=()=>{let e=ku();return e&&e.canvas?e.canvas:void 0};function $P(){return(0,l0.useContext)(Tu)}async function GP(e,t,i){if(u0.version.startsWith("18.")){let n=await Promise.resolve().then(()=>R(bx(),1)),r=n.default?n.default.createRoot:n.createRoot;i.current||(i.current=r(e)),i.current.render(t)}else if(typeof ReactDOM<"u"){let{render:n,unmountComponentAtNode:r}=ReactDOM;n(t,e),i.current={unmount(){r(e)}}}else{let n=await Promise.resolve().then(()=>R(qs(),1)),r=n.default?n.default.render:n.render,a=n.default?n.default.unmountComponentAtNode:n.unmountComponentAtNode;r(t,e),i.current={unmount(){a(e)}}}}var Cn=Sn.default.forwardRef(({children:e,...t},i)=>{let n=(0,Sn.useRef)(),r=Ou(),a=(0,Sn.useRef)(0),l=(0,Sn.useRef)(),c=(0,Sn.useRef)();return a0(()=>{if(t.relative){let p=n.current;if(p&&r){let m=r.getScaleFactor();a.current!==m&&(a.current=m,p.style.transformOrigin="0 0",p.style.transform=`scale(${1/a.current})`,p.style.width=`${a.current*100}%`,p.style.height=`${a.current*100}%`,n.current&&l.current?.__owner.value?.rotation&&(p.style.transform=`scale(${1/a.current}) translate(50%, 50%) rotate(${l.current?.__owner.value?.rotation||0}deg) translate(-50%, -50%)`))}}},[t.relative]),(0,Sn.useLayoutEffect)(()=>{let p=l.current;i&&p&&(typeof i=="function"?i(p):i.current=p);async function m(){if(p&&p.__host){let h=t.relative?(0,_p.jsx)("div",{ref:n,children:e}):e;await GP(p.__host.element,h,c)}}p&&p.__host?m():p&&(p.__onCreate=m)},[i,e,l,t.relative]),(0,Sn.useLayoutEffect)(()=>()=>{c.current&&setTimeout(()=>{c.current.unmount()},0)},[]),(0,_p.jsx)("box",{html:!0,...t,ref:l})});Cn.displayName="HTMLPortal";var Fx=(e,t,i=[])=>{let n=Ou(),r=n?n.world:void 0;(0,d0.useEffect)(()=>{if(n){let a=t,l=zo[e];n.world.activatedEvents.push(l);let c=l.slice(2).toLowerCase();return n.world.addEventListener(c,a),()=>{n.world.removeEventListener(c,a)}}return()=>{}},[r,e,...i])};function zx(e,t){if(e===0)return[0,1];if(t===0)return[1,0];let i=Math.abs(e)/Math.abs(t);return[i,1-i]}function YP(){let e=(0,Fu.useRef)({ctrl:!1,shift:!1,alt:!1});return(0,Fu.useLayoutEffect)(()=>{function t(n){n.key==="Shift"&&(e.current.shift=!0),n.key==="Control"&&(e.current.ctrl=!0),n.key==="Alt"&&(e.current.alt=!0)}function i(n){n.key==="Shift"&&(e.current.shift=!1),n.key==="Control"&&(e.current.ctrl=!1),n.key==="Alt"&&(e.current.alt=!1)}return window.addEventListener("keydown",t),window.addEventListener("keyup",i),()=>{window.removeEventListener("keydown",t),window.removeEventListener("keyup",i)}},[]),e}var XP=(e,t)=>{let i=TP(),n=Ou(),r=$P(),a=(0,_t.useRef)(),l=(0,_t.useRef)(null),c=(0,_t.useRef)(),[p,m]=(0,_t.useState)(!1),h=(0,_t.useRef)(!1),y=(0,_t.useRef)({north:0,south:0,east:0,west:0}),S=YP(),w=(0,_t.useCallback)(I=>E=>{if(h.current=!0,m(!0),r&&n){let{top:M,left:k}=r,O=n.viewerToWorld(E.pageX-k,E.pageY-M);c.current={x:O.x,y:O.y},a.current=I}},[r,n]),v=(0,_t.useMemo)(()=>e.width/e.height,[e.width,e.height]),x=(0,_t.useCallback)(I=>{if(!Math.abs(I.north-I.south+(I.east-I.west)))return;let E=-I.west+I.east,M=-I.north+I.south,k=e.width+E,O=e.height+M;if(k/O>=v){let Q=O*v,V=k-Q,[J,U]=zx(I.east,I.west);I.west=I.west+V*U,I.east=I.east-V*J}else{let Q=k/v,V=O-Q,[J,U]=zx(I.north,I.south);I.north=I.north+V*J,I.south=I.south-V*U}},[e.width,e.height,v]);a0(()=>{c&&n&&n.updateNextFrame()}),(0,_t.useEffect)(()=>{n&&n.updateNextFrame()},[n,p]);let A=(0,_t.useCallback)(I=>{if(!n||!r||n.mode!=="sketch")return;let{top:E,left:M}=r,k=n.viewerToWorld(I.pageX-M,I.pageY-E),O=l.current,Q=!e.maintainAspectRatio&&S.current.alt,V=!Q&&S.current.shift&&a.current?.indexOf("-")!==-1;if((a.current==="translate"||a.current==="east"||a.current==="north-east"||a.current==="south-east")&&(y.current.east=k.x-(c.current?c.current.x:0),Q&&(y.current.west=-y.current.east)),(a.current==="translate"||a.current==="west"||a.current==="north-west"||a.current==="south-west")&&(y.current.west=k.x-(c.current?c.current.x:0),Q&&(y.current.east=-y.current.west)),(a.current==="translate"||a.current==="north"||a.current==="north-east"||a.current==="north-west")&&(y.current.north=k.y-(c.current?c.current.y:0),Q&&(y.current.south=-y.current.north)),(a.current==="translate"||a.current==="south"||a.current==="south-west"||a.current==="south-east")&&(y.current.south=k.y-(c.current?c.current.y:0),Q&&(y.current.north=-y.current.south)),(e.maintainAspectRatio||V)&&x(y.current),O){let J=y.current.west,U=y.current.north,q=e.width+y.current.east,ee=e.height+y.current.south;O.points[1]=Math.min(J,q),O.points[2]=Math.min(U,ee),O.points[3]=Math.max(J,q),O.points[4]=Math.max(U,ee),n.updateNextFrame()}},[n,e.width,e.height,e.maintainAspectRatio,r]);Fx("mousemove",A,[e.width,e.height,r]),Fx("pointermove",A,[e.width,e.height,r]);let C=(0,_t.useRef)();return(0,_t.useEffect)(()=>{C.current=()=>{if(h.current){let I=y.current.west,E=y.current.north,M=e.width+y.current.east,k=e.height+y.current.south,O=Math.min(I,M),Q=Math.min(E,k),V=Math.max(I,M),J=Math.max(E,k),U={x:(e.x||0)+O,y:(e.y||0)+Q,width:V-O||1,height:J-Q||1};e.maintainAspectRatio,t(U),a.current=void 0,c.current=void 0,y.current.east=0,y.current.west=0,y.current.north=0,y.current.south=0,h.current=!1,m(!1)}}},[t,e.height,e.width,e.x,e.y]),(0,_t.useEffect)(()=>{let I=()=>{C.current&&C.current()};return window.addEventListener("pointerup",I),window.addEventListener("touchend",I),()=>{window.removeEventListener("pointerup",I),window.removeEventListener("touchend",I)}},[]),{portalRef:l,mode:i,mouseEvent:w,onPointerMoveCallback:A,isEditing:p}};function KP({handleSize:e,resizable:t,onSave:i,children:n,maintainAspectRatio:r,disableCardinalControls:a,...l}){let c=typeof e>"u"?r?10:8:e,{portalRef:p,mode:m,mouseEvent:h,isEditing:y}=XP({x:l.x||0,y:l.y||0,width:l.width,height:l.height,maintainAspectRatio:r},i),S=(0,xn.useMemo)(()=>h("translate"),[h]),w=(0,xn.useMemo)(()=>h("east"),[h]),v=(0,xn.useMemo)(()=>h("west"),[h]),x=(0,xn.useMemo)(()=>h("south"),[h]),A=(0,xn.useMemo)(()=>h("north"),[h]),C=(0,xn.useMemo)(()=>h("south-east"),[h]),I=(0,xn.useMemo)(()=>h("south-west"),[h]),E=(0,xn.useMemo)(()=>h("north-east"),[h]),M=(0,xn.useMemo)(()=>h("north-west"),[h]),k=m==="sketch",O={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:y?"none":k?"initial":"none"};return(0,St.jsx)(St.Fragment,{children:(0,St.jsxs)("world-object",{...l,children:[n,k&&t?(0,St.jsx)(Cn,{ref:p,target:{x:0,y:0,height:l.height,width:l.width},relative:!0,interactive:!1,children:k&&t?(0,St.jsxs)(St.Fragment,{children:[(0,St.jsx)("div",{onMouseDown:S,onTouchStart:S,style:{display:"block",width:"100%",height:"100%",position:"relative",border:"1px solid rgba(155,155,155, .7)",boxSizing:"border-box",pointerEvents:y?"none":k?"initial":"none"}}),r?null:(0,St.jsxs)(St.Fragment,{children:[(0,St.jsx)("div",{title:"east",onTouchStart:w,onMouseDown:w,style:{...O,cursor:"e-resize",height:c*2,width:c,right:0,top:"50%",opacity:a?0:1,transform:`translate(${c/2}px, -${c}px)`}}),(0,St.jsx)("div",{title:"west",onMouseDown:v,style:{...O,cursor:"w-resize",position:"absolute",height:c*2,width:c,left:0,top:"50%",opacity:a?0:1,transform:`translate(-${c/2}px, -${c}px)`}}),(0,St.jsx)("div",{title:"north",onMouseDown:A,style:{...O,cursor:"n-resize",position:"absolute",height:c,width:c*2,left:"50%",top:0,opacity:a?0:1,transform:`translate(-${c}px, -${c/2}px)`}}),(0,St.jsx)("div",{title:"south",onMouseDown:x,style:{...O,cursor:"s-resize",position:"absolute",height:c,width:c*2,left:"50%",bottom:0,opacity:a?0:1,transform:`translate(-${c}px, ${c/2}px)`}})]}),(0,St.jsx)("div",{title:"north-east",onMouseDown:E,style:{...O,cursor:"ne-resize",position:"absolute",height:c,width:c,right:0,top:0,transform:`translate(${c/2}px, -${c/2}px)`}}),(0,St.jsx)("div",{title:"south-east",onMouseDown:C,style:{...O,cursor:"se-resize",position:"absolute",height:c,width:c,bottom:0,right:0,transform:`translate(${c/2}px, ${c/2}px)`}}),(0,St.jsx)("div",{title:"south-west",onMouseDown:I,style:{...O,cursor:"sw-resize",position:"absolute",height:c,width:c,bottom:0,left:0,transform:`translate(-${c/2}px, ${c/2}px)`}}),(0,St.jsx)("div",{title:"north-west",onMouseDown:M,style:{...O,cursor:"nw-resize",position:"absolute",height:c,width:c,top:0,left:0,transform:`translate(-${c/2}px, -${c/2}px)`}})]}):null}):null]})})}function h0({interactive:e,region:t,onClick:i,onSave:n,maintainAspectRatio:r,disableCardinalControls:a,isEditing:l,rotation:c,style:p={backgroundColor:"rgba(0,0,0,.5)"}}){let m=(0,c0.useCallback)(h=>{n({id:t.id,x:t.x,y:t.y,height:t.height,width:t.width,...h})},[n,t.id,t.x,t.y,t.height,t.width]);return(0,Mp.jsx)(KP,{x:t.x,y:t.y,rotation:c,width:t.width,height:t.height,resizable:l,onSave:m,maintainAspectRatio:r,disableCardinalControls:a,children:(0,Mp.jsx)("box",{interactive:e,onClick:h=>{h.preventDefault(),h.stopPropagation(),i(t)},target:{x:0,y:0,width:t.width,height:t.height},style:p})})}function g0(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 Pi=R(H()),nE=(0,Pi.createContext)(null),zp={didCatch:!1,error:null},Bo=class extends Pi.Component{constructor(t){super(t),this.resetErrorBoundary=this.resetErrorBoundary.bind(this),this.state=zp}static getDerivedStateFromError(t){return{didCatch:!0,error:t}}resetErrorBoundary(){let{error:t}=this.state;if(t!==null){for(var i,n,r=arguments.length,a=new Array(r),l=0;l<r;l++)a[l]=arguments[l];(i=(n=this.props).onReset)===null||i===void 0||i.call(n,{args:a,reason:"imperative-api"}),this.setState(zp)}}componentDidCatch(t,i){var n,r;(n=(r=this.props).onError)===null||n===void 0||n.call(r,t,i)}componentDidUpdate(t,i){let{didCatch:n}=this.state,{resetKeys:r}=this.props;if(n&&i.error!==null&&rE(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(zp)}}render(){let{children:t,fallbackRender:i,FallbackComponent:n,fallback:r}=this.props,{didCatch:a,error:l}=this.state,c=t;if(a){let p={error:l,resetErrorBoundary:this.resetErrorBoundary};if(typeof i=="function")c=i(p);else if(n)c=(0,Pi.createElement)(n,p);else if(r===null||(0,Pi.isValidElement)(r))c=r;else throw l}return(0,Pi.createElement)(nE.Provider,{value:{didCatch:a,error:l,resetErrorBoundary:this.resetErrorBoundary}},c)}};function rE(){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((i,n)=>!Object.is(i,t[n]))}var Ai=R(H(),1);var Do=R(H(),1),y0=R(B(),1),oE={collection:void 0,manifest:void 0,range:void 0,canvas:void 0,annotation:void 0,annotationPage:void 0},ta=Do.default.createContext(oE),Xt=()=>(0,Do.useContext)(ta);function ei({value:e,children:t}){let i=Xt(),n=(0,Do.useMemo)(()=>({...i,...e}),[e,i]);return(0,y0.jsx)(ta.Provider,{value:n,children:t})}var rc=R(H(),1);var ht=function(t){return function(){let i={type:t,getType:()=>t,toString:()=>t};return(n,r)=>({...i,...n!==void 0&&{payload:n},...r!==void 0&&{meta:r}})}},zu="@iiif/IMPORT_ENTITIES",Nu="@iiif/MODIFY_ENTITY_FIELD",Bu="@iiif/REORDER_ENTITY_FIELD",Du="@iiif/ADD_REFERENCE",ia="@iiif/UPDATE_REFERENCE",ju="@iiif/REMOVE_REFERENCE",Vu="@iiif/ADD_METADATA",Uu="@iiif/REMOVE_METADATA",na="@iiif/UPDATE_METADATA",Wu="@iiif/REORDER_METADATA",Hu=ht(zu)(),v0=ht(Nu)(),x0=ht(Bu)(),S0=ht(Du)(),w0=ht(ju)(),b0=ht(ia)(),C0=ht(Vu)(),P0=ht(na)(),E0=ht(Uu)(),A0=ht(Wu)(),Vr={importEntities:Hu,modifyEntityField:v0,reorderEntityField:x0,addReference:S0,removeReference:w0,updateReference:b0,addMetadata:C0,removeMetadata:E0,updateMetadata:P0,reorderMetadata:A0},qu="@iiif/ADD_MAPPING",Qu="@iiif/ADD_MAPPINGS",Np=ht(qu)(),Bp=ht(Qu)();var jo="RESOURCE_ERROR",ra="RESOURCE_LOADING",Vo="RESOURCE_READY",$u="@iiif/REQUEST_RESOURCE",Gu="@iiif/REQUEST_ERROR",Yu="@iiif/REQUEST_MISMATCH",Xu="@iiif/REQUEST_COMPLETE",Ku="@iiif/REQUEST_OFFLINE_RESOURCE",Dp=ht($u)(),oa=ht(Gu)(),jp=ht(Yu)(),Vp=ht(Xu)(),sE=ht(Ku)();var Uo="@iiif/BATCH",Zu="@iiif/BATCH_IMPORT",Wo=ht(Uo)(),aE=ht(Zu)();function en(e){for(let t in e)(typeof e[t]>"u"||e[t]===null)&&delete e[t];return e}function Nn(e){return Array.isArray(e)?e:e?[e]:[]}var I0=["sc:Collection","sc:Manifest","sc:Canvas","sc:AnnotationList","oa:Annotation","sc:Range","sc:Layer","sc:Sequence","oa:Choice","Service","ContentResource"];function lE(e){if(typeof e>"u"||e===null)throw new Error("Null or undefined is not a valid entity.");if(Array.isArray(e))throw new Error("Array is not a valid entity");if(typeof e!="object")throw new Error(`${typeof e} is not a valid entity`);if(typeof e["@type"]=="string"){let t=I0.indexOf(e["@type"]);if(t!==-1)return I0[t]}if(e.profile)return"Service";if(e.format||e["@type"])return"ContentResource";throw new Error("Resource type is not known")}var uE=class M0{constructor(t,i={}){vn(this,"traversals"),vn(this,"options"),this.traversals={collection:[],manifest:[],canvas:[],annotationList:[],sequence:[],annotation:[],contentResource:[],choice:[],range:[],service:[],layer:[],...t},this.options={convertPropsToArray:!0,mergeMemberProperties:!0,allowUndefinedReturn:!1,...i}}static all(t){return new M0({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 i=[...(t.manifests||[]).map(n=>typeof n=="string"?{"@id":n,"@type":"sc:Manifest"}:n),...(t.collections||[]).map(n=>typeof n=="string"?{"@id":n,"@type":"sc:Collection"}:n),...t.members||[]];delete t.collections,delete t.manifests,t.members=i}return t.manifests&&(t.manifests=t.manifests.map(i=>this.traverseManifest(typeof i=="string"?{"@id":i,"@type":"sc:Manifest"}:i))),t.collections&&(t.collections=t.collections.map(i=>this.traverseCollection(typeof i=="string"?{"@id":i,"@type":"sc:Collection"}:i))),t.members&&(t.members=t.members.map(i=>typeof i=="string"?i:this.traverseUnknown(i))),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(i=>this.traverseSequence(i))),t.structures&&(t.structures=t.structures.map(i=>this.traverseRange(i))),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(i=>this.traverseCanvas(i))),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(i=>this.traverseAnnotation(i))),t.otherContent&&(t.otherContent=t.otherContent.map(i=>this.traverseAnnotationList(i))),t}traverseRange(t){return this.traverseType(this.traverseDescriptive(this.traverseLinking(this.traverseRangeItems(t))),this.traversals.range)}traverseRangeItems(t){if(this.options.mergeMemberProperties){let i=[...(t.ranges||[]).map(n=>typeof n=="string"?{"@id":n,"@type":"sc:Range"}:n),...(t.canvases||[]).map(n=>typeof n=="string"?{"@id":n,"@type":"sc:Canvas"}:n),...t.members||[]];delete t.ranges,delete t.canvases,t.members=i.length?i.map(n=>this.traverseUnknown(n)):void 0}return t}traverseAnnotationList(t){let i=typeof t=="string"?{"@id":t,"@type":"sc:AnnotationList"}:t;return this.traverseType(this.traverseDescriptive(this.traverseAnnotationListItems(i)),this.traversals.annotationList)}traverseAnnotationListItems(t){return t.resources&&(t.resources=t.resources.map(i=>this.traverseAnnotation(i))),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(i=>this.traverseContentResource(i)):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(i=>this.traverseAnnotationList(i))),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(i=>this.traverseContentResource(i))),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(lE(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 i=Array.isArray(t),n=Array.isArray(t)?t:[t],r=[];for(let a of n)typeof a=="string"?r.push(this.traverseContentResource({"@id":a,"@type":"dctypes:Image"})):r.push(this.traverseContentResource(a));return!i&&!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 i=Array.isArray(t),n=Array.isArray(t)?t:[t],r=[];for(let a of n)r.push(this.traverseService(a));return!i&&!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,i){if(!Array.isArray(t))if(this.options.convertPropsToArray)t=[t];else return this.traverseType(t,i);return t.map(n=>this.traverseType(n,i))}traverseType(t,i){return i.reduce((n,r)=>{let a=r(n);return typeof a>"u"&&!this.options.allowUndefinedReturn?n:a},t)}},cE="http://library.stanford.edu/iiif/image-api/compliance.html#level1",dE="http://library.stanford.edu/iiif/image-api/compliance.html#level2",hE="http://library.stanford.edu/iiif/image-api/conformance.html#level1",pE="http://library.stanford.edu/iiif/image-api/conformance.html#level2",fE="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1",mE="http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level2",gE="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level1",yE="http://library.stanford.edu/iiif/image-api/1.1/conformance.html#level2",vE="http://iiif.io/api/image/1/level1.json",xE="http://iiif.io/api/image/1/profiles/level1.json",SE="http://iiif.io/api/image/1/level2.json",wE="http://iiif.io/api/image/1/profiles/level2.json",bE="http://iiif.io/api/image/2/level1.json",CE="http://iiif.io/api/image/2/profiles/level1.json",PE="http://iiif.io/api/image/2/level2.json",EE="http://iiif.io/api/image/2/profiles/level2.json",AE="level1",IE="level2",RE="http://iiif.io/api/image/2/level1",TE="http://iiif.io/api/image/2/level2",_E=[RE,TE,cE,dE,hE,pE,fE,mE,gE,yE,vE,xE,SE,wE,bE,CE,PE,EE,AE,IE],Up={attributionLabel:"Attribution",lang:"none",providerId:"http://example.org/provider",providerName:"Unknown"};function ME(e){if(typeof e=="string")return[e];if(!e)return[];let t=Array.isArray(e)?e:[e],i=[];for(let n of t){if(typeof n=="string"){i.push(n);continue}i.push({"@language":n["@language"]||n.language,"@value":n["@value"]||n.value})}return i}function Ur(e,t="none"){if(!e)return{none:[""]};let i=ME(e),n={};for(let r of i){if(typeof r=="string"){n[t]=n[t]?n[t]:[],n[t].push(r||"");continue}if(!r["@language"]){n[t]=n[t]?n[t]:[],n[t].push(r["@value"]||"");continue}let a=r["@language"];n[a]=n[a]?n[a]:[],n[a].push(r["@value"]||"")}return Object.keys(n).length===0?{none:[""]}:n}function k0(e){if(Array.isArray(e))return k0(e.find(t=>typeof t=="string"));if(Oo.indexOf(e)!==-1)return"level2";if(_E.indexOf(e)!==-1)return"level1";if(yp.indexOf(e)!==-1)return"level0";if(typeof e=="string")return e}function kE(e){let t=Array.isArray(e)?e:[e];for(let i of t)switch(i){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 OE(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 R0(e){for(let t of["sc","oa","dcterms","dctypes","iiif"])if(e.startsWith(`${t}:`))return e.slice(t.length+1);return e}var LE=["Collection","Manifest","Annotation","AnnotationPage","Range","Service"];function Hp(e){let t=e["@id"]||e.id,i=e["@type"]||e.type,n=e.profile||void 0,r=e["@context"]||void 0;if(n){let a=OE(n);if(a)return a}if(r){let a=kE(r);if(a)return a}if(i){if(Array.isArray(i)){if(i.indexOf("oa:CssStylesheet")!==-1)return"CssStylesheet";if(i.indexOf("cnt:ContentAsText")!==-1)return"TextualBody";i=i[0]}for(let a of["sc","oa","dcterms","dctypes","iiif"])if(i.startsWith(`${a}:`)){i=i.slice(a.length+1);break}switch(i){case"Layer":return"AnnotationCollection";case"AnnotationList":return"AnnotationPage";case"cnt:ContentAsText":return"TextualBody"}}if(i&&LE.indexOf(i)!==-1)return i;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":i||"unknown"}var FE=/http(s)?:\/\/(creativecommons.org|rightsstatements.org)[^"'\\<\n]+/gm;function zE(e){let t=e.match(FE);return t?t[0]:e}function NE(e,t="Rights/License",i="none"){let n=null,r=[],a=Array.isArray(e)?e:[e];for(let l of a){let c=l?zE(l):void 0;if(c&&(c.indexOf("creativecommons.org")!==-1||c.indexOf("rightsstatements.org")!==-1)){c.startsWith("https://")?n=`http://${c.slice(8)}`:n=c;continue}c&&r.push({label:{[i]:[t]},value:{[i]:[c]}})}return[n,r]}var BE=["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 DE(e){if(e){let t=Array.isArray(e)?e:[e],i=[];for(let n of t)n==="http://iiif.io/api/presentation/2/context.json"&&i.push("http://iiif.io/api/presentation/3/context.json"),BE.indexOf(n)===-1&&i.push(n);if(t.length)return i.length===1?i[0]:i}}function jE(e){return e?e.map(t=>({label:Ur(t.label),value:Ur(t.value)})):[]}var T0=0;function O0(e,t){let i=encodeURI(e.id||e["@id"]||"").trim();return i&&t?`${i}/${t}`:i||(T0++,`http://example.org/${e["@type"]}${t?`/${t}`:""}/${T0}`)}function Bn(e){let t=[...e.behavior||[]];e.viewingHint&&t.push(e.viewingHint);let i;return Array.isArray(e.motivation)?i=e.motivation.map(R0):e.motivation&&(i=R0(e.motivation)),{"@context":e["@context"]?DE(e["@context"]):void 0,id:(e["@id"]||O0(e)).trim(),type:Hp(e),behavior:t.length?t:void 0,height:e.height?e.height:void 0,width:e.width?e.width:void 0,motivation:i,viewingDirection:e.viewingDirection,profile:e.profile,format:e.format?e.format:void 0,duration:void 0,timeMode:void 0}}function Dn(e){let[t,i]=NE(e.license),n=[...e.metadata?jE(e.metadata):[],...i];return{rights:t,metadata:n.length?n:void 0,label:e.label?Ur(e.label):void 0,requiredStatement:e.attribution?{label:Ur(Up.attributionLabel),value:Ur(e.attribution)}:void 0,navDate:e.navDate,summary:e.description?Ur(e.description):void 0,thumbnail:VE(e.thumbnail)}}function VE(e){return e&&(Array.isArray(e)?e:[e]).map(t=>typeof t=="string"?{id:t,type:"Image"}:(t.type==="unknown"&&(t.type="Image"),t))}function UE(e){if(!e.within)return;let t=Array.isArray(e.within)?e.within:[e.within],i=[];for(let n of t)if(typeof n=="string"){if(n)switch(e["@type"]){case"sc:Manifest":i.push({id:n,type:"Collection"});break}}else n["@id"]&&i.push({id:n["@id"],type:Hp(n)});return i.length?i:void 0}function dr(e){let t=e.related?Array.isArray(e.related)?e.related:[e.related]:[],i=e.contentLayer;return{provider:e.logo||t.length?[{id:Up.providerId,type:"Agent",homepage:t.length?[t[0]]:void 0,logo:e.logo?Array.isArray(e.logo)?e.logo:[e.logo]:void 0,label:Ur(Up.providerName)}]:void 0,partOf:UE(e),rendering:e.rendering,seeAlso:e.seeAlso,start:e.startCanvas,service:e.service?Nn(e.service):void 0,supplementary:i?[i]:void 0}}function WE(e){return{chars:e.chars,format:e.format?e.format:void 0,language:e.language}}function HE(e){return en({...Bn(e),...Dn(e),...dr(e),items:e.members})}function qE(e){let t=[],i=[],n,r;for(let l of e.sequences||[])console.log(l),l.canvases.length&&t.push(...l.canvases),l.behavior&&i.push(...l.behavior),l.viewingDirection&&(r=l.viewingDirection),l.startCanvas&&(n=l.startCanvas);let a=Bn(e);return i.length&&(a.behavior?a.behavior.push(...i):a.behavior=i),en({...a,...Dn(e),...dr(e),viewingDirection:r,start:n,items:t,structures:QE(e.structures)})}function QE(e){if(!e)return e;let t=new Map;for(let n of e)t.set(n.id,n);let i=[];for(let n of e)if(n.items){let r=n.items.map(a=>typeof a=="string"?(i.push(a),t.get(a)||a):a&&a.id?(i.push(a.id),t.get(a.id)||a):a);n.items=r}return e.filter(n=>i.indexOf(n.id)===-1)}function $E(e){return en({...Bn(e),...Dn(e),...dr(e),annotations:e.otherContent&&e.otherContent.length?e.otherContent:void 0,items:e.images&&e.images.length?[{id:O0(e,"annotation-page"),type:"AnnotationPage",items:e.images}]:void 0})}function GE(e){return en({...Bn(e),...Dn(e),...dr(e),items:e.resources&&e.resources.length?e.resources:void 0})}function YE(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 XE(e){function t(i){if(Array.isArray(i)){if(i.length>1)return{type:"List",items:i.map(t)};i=i[0]}if(typeof i=="string")return encodeURI(i).trim();if("@type"in i){let n;if(typeof i.full=="string")n=i.full;else if(i.full["@type"]==="dctypes:Image")n={id:i.full["@id"],type:"Image"};else if(i.full["@type"]==="sc:Canvas")n={id:i.full["@id"],type:"Canvas"};else throw new Error(`Unsupported source type on annotation: ${i.full["@type"]}`);return{type:"SpecificResource",source:n,selector:Wp(i.selector)}}else return encodeURI(i["@id"]).trim()}return en({...Bn(e),...Dn(e),...dr(e),target:t(e.on),body:Array.isArray(e.resource)?e.resource.map(_0):_0(e.resource)})}function _0(e){return e.type==="Choice"?e:L0(e)}function L0(e){let t=e;return en({...Bn(t),...Dn(t),...dr(t),...WE(t)})}function KE(e){let t=[];return e.default&&e.default!=="rdf:nil"&&t.push(e.default),e.item&&e.item!=="rdf:nil"&&t.push(...e.item),en({...Bn(e),...Dn(e),items:t})}function ZE(e){return en({...Bn(e),...Dn(e),...dr(e),items:e.members})}function JE(e){let{"@id":t,"@type":i,"@context":n,profile:r,...a}=e,l={};return t&&(l["@id"]=t),l["@type"]=Hp(e),l["@type"]==="unknown"&&(n&&n.length&&(l["@context"]=n),l["@type"]="Service"),r&&(l.profile=k0(r)),en({...l,...a})}function eA(e){return en({...Bn(e),...Dn(e),...dr(e)})}var tA=new uE({collection:[HE],manifest:[qE],canvas:[$E],annotationList:[GE],sequence:[YE],annotation:[XE],contentResource:[L0],choice:[KE],range:[ZE],service:[JE],layer:[eA]});function F0(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"?tA.traverseUnknown(e):e}function Wp(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[Wp(e.default),...(Array.isArray(e.item)?e.item:[e.item]).map(Wp)];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 new Error(`Unsupported selector type: ${e["@type"]}`)}function tn(e){return typeof e=="string"?!1:e&&!e.type&&"source"in e?(e.type="SpecificResource",!0):!!e&&e.type==="SpecificResource"}function Ju(...e){return t=>e.reduce((i,n)=>n(i),t)}var qp=["Collection","Manifest","Canvas","AnnotationPage","AnnotationCollection","Annotation","ContentResource","Range","Service","Selector","Agent"];function z0(e,t){if(typeof e>"u"||e===null)throw new Error("Null or undefined is not a valid entity.");if(Array.isArray(e))throw new Error("Array is not a valid entity");if(typeof e!="object"){if(t)return t;throw new Error(`${typeof e} is not a valid entity`)}if(typeof e.type=="string"){let i=qp.indexOf(e.type);if(i!==-1)return qp[i]}if(e.profile)return"Service";throw new Error("Resource type is not known")}var Qp=class N0{constructor(t,i={}){vn(this,"traversals"),vn(this,"options"),vn(this,"_traverseManifest",Ju(this.traverseManifestItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseManifestStructures.bind(this),this.traverseInlineAnnotationPages.bind(this))),vn(this,"_traverseCanvas",Ju(this.traverseCanvasItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this),this.traverseLinkedCanvases.bind(this),this.traverseInlineAnnotationPages.bind(this))),vn(this,"_traverseAnnotationPage",Ju(this.traverseAnnotationPageItems.bind(this),this.traverseLinking.bind(this),this.traverseDescriptive.bind(this))),vn(this,"_traverseRange",Ju(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,...i}}static all(t){return new N0({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=Nn(t.thumbnail).map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.provider&&(t.provider=t.provider.map(i=>this.traverseAgent(i,t))),t}traverseLinking(t){return t.seeAlso&&(t.seeAlso=t.seeAlso.map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.service&&(t.service=Nn(t.service).map(i=>this.traverseService(i))),t.services&&(t.services=Nn(t.services).map(i=>this.traverseService(i,t))),t.logo&&(t.logo=t.logo.map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.homepage&&(t.homepage=Nn(t.homepage).map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.partOf&&(t.partOf=t.partOf.map(i=>typeof i=="string"||!i.type?this.traverseType(i,{parent:t},this.traversals.contentResource):i.type==="Canvas"?this.traverseType(i,{parent:t},this.traversals.canvas):i.type==="AnnotationCollection"?this.traverseType(i,{parent:t},this.traversals.annotationCollection):i.type==="Collection"?this.traverseType(i,{parent:t},this.traversals.collection):this.traverseType(i,{parent:t},this.traversals.contentResource))),t.start&&(tn(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(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t.supplementary&&(t.supplementary=t.supplementary.map(i=>this.traverseType(i,{parent:t},this.traversals.contentResource))),t}traverseCollectionItems(t){return t.items&&t.items.map(i=>i.type==="Collection"?this.traverseCollection(i):this.traverseManifest(i)),t}traverseCollection(t,i){return this.traverseType(this.traverseDescriptive(this.traverseInlineAnnotationPages(this.traverseLinking(this.traverseLinkedCanvases(this.traverseCollectionItems(t))))),{parent:i},this.traversals.collection)}traverseGeoJson(t,i){return this.traverseType(t,{parent:i},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(i=>this.traverseCanvas(i))),t}traverseManifestStructures(t){return t.structures&&(t.structures=t.structures.map(i=>this.traverseRange(i))),t}traverseManifest(t,i){return this.traverseType(this._traverseManifest(t),{parent:i},this.traversals.manifest)}traverseCanvasItems(t){return t.items=(t.items||[]).map(i=>this.traverseAnnotationPage(i,t)),t}traverseInlineAnnotationPages(t){return typeof t=="string"||!t||t.annotations&&(t.annotations=t.annotations.map(i=>this.traverseAnnotationPage(i,t))),t}traverseCanvas(t,i){return this.traverseType(this._traverseCanvas(t),{parent:i},this.traversals.canvas)}traverseAnnotationPageItems(t){return t.items&&(t.items=t.items.map(i=>this.traverseAnnotation(i,t))),t}traverseAnnotationPage(t,i){return this.traverseType(this._traverseAnnotationPage(t),{parent:i},this.traversals.annotationPage)}traverseAnnotationBody(t){return Array.isArray(t.body)?t.body=t.body.map(i=>this.traverseContentResource(i,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,i){return this.traverseType(this.traverseLinking(this.traverseAnnotationBody(this.traverseDescriptive(t))),{parent:i},this.traversals.annotation)}traverseContentResourceLinking(t){return typeof t=="string"||!t||t&&t.service&&(t.service=Nn(t.service||[]).map(i=>this.traverseService(i,t))),t}traverseContentResource(t,i){return t.type==="Choice"&&(t.items=t.items.map(n=>this.traverseContentResource(n,t))),tn(t)?this.traverseSpecificResource(t,"ContentResource"):this.traverseType(this.traverseInlineAnnotationPages(this.traverseContentResourceLinking(t)),{parent:i},this.traversals.contentResource)}traverseSpecificResource(t,i,n){let r=t.source;return typeof t.source=="string"&&(r={id:t.source,type:i||"unknown"}),this.traverseType({...t,source:i==="Canvas"||r.type==="Canvas"?this.traverseType(r,{parent:n},this.traversals.canvas):i==="ContentResource"?this.traverseContentResource(r,{parent:n}):this.traverseUnknown(r,{parent:n,typeHint:i})},{parent:n},this.traversals.specificResource)}traverseRangeRanges(t){return t.items&&(t.items=t.items.map(i=>typeof i=="string"?this.traverseCanvas({id:i,type:"Canvas"},t):tn(i)?this.traverseSpecificResource(i,"Canvas",t):i.type==="Manifest"?this.traverseManifest(i,t):this.traverseRange(i,t))),t}traverseRange(t,i){return this.traverseType(this._traverseRange(t),{parent:i},this.traversals.range)}traverseAgent(t,i){return this.traverseType(this.traverseDescriptive(this.traverseLinking(t)),{parent:i},this.traversals.agent)}traverseType(t,i,n){return n.reduce((r,a)=>{let l=a(r,i);return typeof l>"u"&&!this.options.allowUndefinedReturn?r:l},t)}traverseService(t,i){let n=Object.assign({},t);return n&&n.service&&(n.service=Nn(n.service).map(r=>this.traverseService(r))),this.traverseType(n,{parent:i},this.traversals.service)}traverseUnknown(t,{parent:i,typeHint:n}={}){let r=z0(t,n);switch(r){case"Collection":return this.traverseCollection(t,i);case"Manifest":return this.traverseManifest(t,i);case"Canvas":return this.traverseCanvas(t,i);case"AnnotationPage":return this.traverseAnnotationPage(t,i);case"Annotation":return this.traverseAnnotation(t,i);case"ContentResource":return this.traverseContentResource(t,i);case"Range":return this.traverseRange(t,i);case"Service":return this.traverseService(t,i);case"Agent":return this.traverseAgent(t,i);default:throw new Error(`Unknown or unsupported resource type of ${r}`)}}};function Yp(e,t){let i=t||"unknown";if(!e)return;if(typeof e=="string")return{id:e,type:i};if(tn(e))return Yp(e.source,t);let n=i&&i!=="unknown"?i:e.type||e["@type"],r=e.id||e["@id"];if(n&&n.indexOf(":")!==-1&&(n=n.split(":").pop()),r&&n)return{id:r,type:n}}var qo={},mt="iiif-parser:hasPart",Ei="iiif-parser:partOf",Qo="iiif-parser:isExternal",ji="__$UNSET$__",Xp="__$UNWRAP$__",ce=[];Object.freeze(ce);Object.freeze(qo);function D0(e){if(e===qo||Object.keys(e).length===0)return!0;for(let t in e)return!1;return!0}function Go(e,t){if(t&&t["@explicit"]){let i={},n=Object.keys(t);for(let r of n)r===Ei||r==="@explicit"||(D0(t[r])?i[r]=e[r]:i[r]=t[r]);return i}return e}function Kp(e,t,i){let n=Yp(t);if(!n)return[void 0,void 0];let r=e.requests[n.id],a=n.type||e.mapping[n.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:n.id];if(n.type&&!l)return Kp(e,{id:n.id},i);if(l&&l[mt]){let c=l[mt].find(p=>i?p[Ei]===i.id:p[Ei]===l.id);return[Go(l,c),l]}return[l,l]}var j0={id:"https://iiif-parser/annotation-page",type:"AnnotationPage",behavior:ce,label:null,thumbnail:ce,summary:null,requiredStatement:null,metadata:ce,rights:null,provider:ce,items:ce,seeAlso:ce,homepage:ce,rendering:ce,service:ce},V0={id:"https://iiif-parser/empty-canvas",type:"Canvas",label:null,behavior:ce,thumbnail:ce,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:ce,rights:null,navDate:null,provider:ce,items:ce,annotations:ce,seeAlso:ce,homepage:ce,partOf:ce,rendering:ce,service:ce,duration:0,height:0,width:0},U0={id:"https://iiif-parser/empty-collection",type:"Collection",label:null,viewingDirection:"left-to-right",behavior:ce,thumbnail:ce,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:ce,rights:null,navDate:null,provider:ce,items:ce,annotations:ce,seeAlso:ce,homepage:ce,partOf:ce,rendering:ce,service:ce,services:ce},W0={id:"https://iiif-parser/empty-manifest",type:"Manifest",annotations:ce,behavior:ce,homepage:ce,items:ce,label:null,metadata:ce,navDate:null,provider:ce,partOf:ce,accompanyingCanvas:null,placeholderCanvas:null,rendering:ce,requiredStatement:null,rights:null,seeAlso:ce,service:ce,services:ce,start:null,structures:ce,summary:null,thumbnail:ce,viewingDirection:"left-to-right"},H0={id:"https://iiif-parser/empty-canvas",type:"Range",label:null,behavior:ce,thumbnail:ce,accompanyingCanvas:null,placeholderCanvas:null,summary:null,requiredStatement:null,metadata:ce,rights:null,navDate:null,provider:ce,items:ce,annotations:ce,seeAlso:ce,homepage:ce,partOf:ce,rendering:ce,service:ce,start:null,supplementary:null,viewingDirection:"left-to-right"},q0={id:"https://iiif-parser/empty-agent",type:"Agent",label:{},logo:ce,seeAlso:ce,homepage:ce},Q0={id:"https://iiif-parser/empty-service",type:"UnknownService"};function Gp(e,t={}){if(Array.isArray(e))return Gp(e[0]);if(typeof e=="string"){let[i,n]=e.split("#");return n?{type:"SpecificResource",source:{id:i,type:t.typeHint||"Unknown"},selector:{type:"FragmentSelector",value:n}}:{type:"SpecificResource",source:{id:i,type:t.typeMap&&t.typeMap[i]||t.typeHint||"Unknown"}}}if(e.type==="Choice"||e.type==="List"||e.type==="Composite"||e.type==="Independents")return Gp(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[i,n]=e.id.split("#");return n?{type:"SpecificResource",source:{...e,id:i},selector:{type:"FragmentSelector",value:n}}:{type:"SpecificResource",source:{...e,id:i}}}return{type:"SpecificResource",source:e}}function $0(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}function G0(e,t){if(typeof e=="string")return{id:e,type:t};if(!e.id)throw new Error(`Invalid resource does not have an ID (${JSON.stringify(e)}, ${t})`);return e}function iA(e,t){return(i,n)=>{let r=e[i]?e[i]:{};return(a,l)=>{let c=G0(a,n||i);return c&&c.id&&i?(r[c.id]=r[c.id]?ic(r[c.id],c,{parent:l.parent,isTopLevel:t.id===c.id}):ic({id:c.id,type:c.type},c,{parent:l.parent,isTopLevel:t.id===c.id}),{id:c.id,type:i==="ContentResource"?i:c.type}):c}}}function tc(e,t,i){if(!t)return e;if(Array.isArray(e)){if(!Array.isArray(t))throw new Error("Cannot merge array with non-array");let n=[...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))n.push(r);else if(typeof r=="object"&&r.id&&r.type){let a=n.findIndex(l=>l.id===r.id&&l.type===r.type);a>=0&&(n[a]=tc(n[a],r))}else e.indexOf(r)===-1&&n.push(r);return n}else if(typeof e=="object"){if(Array.isArray(t)||typeof t!="object")throw new Error("Cannot merge object with non-object");let n={...e},r=[],a=[],l=Object.keys(e).filter(m=>m!==mt&&m!=="id"&&m!=="type"),c={},p={};for(let[m,h]of Object.entries(t)){if(m===mt||m==="id"||m==="type")continue;let y=n[m];y===h?a.push(m):y===ce||!y?(r.push(m),n[m]=h):(y&&h&&(c[m]=y,p[m]=h),n[m]=tc(y,h),n[m]===c[m]&&(a.push(m),delete c[m]))}if(i&&(i.parent&&i.parent.id||i.isTopLevel)){let m=[],h={};if(i.parent?h[Ei]=i.parent.id:i.isTopLevel&&(h[Ei]=e.id),n[mt]&&n[mt].length){let y=!(n[mt]||[]).find(w=>w["@explicit"]),S=r.length>0||a.length!==l.length;if(y&&S)for(let w of n[mt]){let v={...w},x=Object.keys(c);if(v){v["@explicit"]=!0;for(let A of l)A!==mt&&(v[A]=qo);for(let A of x)v[A]=c[A]}m.push(v)}else m.push(...n[mt]);if(S){let w=Object.keys(p);h["@explicit"]=!0;for(let v of r)h[v]=qo;for(let v of a)h[v]=qo;for(let v of w)h[v]=p[v]}}h.id=n.id,h.type=n.type,m.push(h),n[mt]=m}return n}else if(e)return e;return t}function ic(e,t,i){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 new Error(`Can only merge entities with identical identifiers and type! ${t.type}(${t.id}) => ${e.type}(${e.id})`)}return tc({...e},t,i)}function nA(e){return(t,i)=>n=>{let{id:r,type:a}=G0(n,i||t);if(typeof r>"u")throw new Error("Found invalid entity without an ID.");return t==="ContentResource"||t==="Service"?e[r]=t:e[r]=a,n}}function rA(e){let t=Object.assign({},e);if(t["@id"]&&(t.id=t["@id"]),t["@type"]&&(t.type=t["@type"]),t.service){let i=[];t.service=Array.isArray(t.service)?t.service:[t.service];for(let n of t.service)i.push({id:n["@id"]||n.id,type:n["@type"]||n.type});t.service=i}return Object.assign({},Q0,t)}function oA(e){return t=>{e.Service=e.Service?e.Service:{};let i=t.id||t["@id"],n=rA(t);return n&&n.id&&(e.Service[n.id]?e.Service[i]=ic(e.Service[i],n):e.Service[i]=n),t}}function sA(e){let t=JSON.stringify(e),i=5381,n=t.length;for(;n;)i=i*33^t.charCodeAt(--n);let r=(i>>>0).toString(16);return r.length%2?"0"+r:r}function $p(e){return t=>typeof t=="string"?{id:t,type:e}:t.id?t.type?t:{type:e,...t}:{id:`vault://${sA(t)}`,type:e,...t}}function Ho(e){return t=>({...e,...t})}function sa(e){return Array.isArray(e)?e:[e]}function aA(e){return e.body&&(e.body=sa(e.body)),e.seeAlso&&(e.seeAlso=sa(e.seeAlso)),e.audience&&(e.audience=sa(e.audience)),e.accessibility&&(e.accessibility=sa(e.accessibility)),e.motivation&&(e.motivation=sa(e.motivation)),e}function Y0(e,{typeHint:t,partOfTypeHint:i}={}){if(typeof e=="string"&&(e={id:e,type:t||"unknown"}),tn(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:i||"Manifest"}]),e;let n;if((e.id||"").indexOf("#")!==-1){let[r,a]=(e.id||"").split("#");e.id=r,a&&(n={type:"FragmentSelector",value:a})}return{type:"SpecificResource",source:e,selector:n}}function lA(e){let t=Object.assign({},e);return e&&e.items&&(t.items=e.items.map(i=>typeof i=="string"||i.type==="Canvas"?Y0(i):i)),t}function uA(e){let t=Object.assign({},e);return t.start?(t.start=Y0(t.start,{typeHint:"Canvas"}),t):e}function cA(e){let t=Object.assign({},e);return t.target?(t.target=Gp(t.target,{typeHint:"Canvas"}),t):e}function X0(e){return e}function ec(e){return typeof e.items>"u"&&(e[Qo]=!0),e}function Zp(e){let t=F0(e),i=$0(),n={},r=iA(i,t),a=nA(n),l=new Qp({collection:[ec,Ho(U0),a("Collection"),r("Collection")],manifest:[ec,Ho(W0),uA,a("Manifest"),r("Manifest")],canvas:[Ho(V0),a("Canvas"),r("Canvas")],annotationPage:[ec,$p("AnnotationPage"),Ho(j0),a("AnnotationPage"),r("AnnotationPage")],annotation:[$p("Annotation"),aA,cA,a("Annotation"),r("Annotation")],contentResource:[$p("ContentResource"),a("ContentResource"),r("ContentResource")],range:[Ho(H0),lA,a("Range","Canvas"),r("Range","Canvas")],agent:[Ho(q0),a("Agent"),r("Agent")],specificResource:[X0],service:[oA(i)]}).traverseUnknown(t);return{entities:i,resource:l,mapping:n}}function K0(e){let t={};for(let[i,n]of e){if(i===Xp&&n!==ji)return n;n!==ji&&typeof n<"u"&&n!==null&&(t[i]=n)}return t}function Jp(e,t,i){if(!t.type||!t.id)throw new Error("Unknown entity");if(!i[t.type])throw new Error(`Serializer not found for ${t.type}`);function n(r,a,l=0){let c=i[r.type];if(!c)return ji;if(l>20)throw new Error("Circular reference: "+r.id+" "+r.type);let[p,m]=Kp(e,r.type?r:r.id,a)||(r.id&&r.type?r:null);if(!p)return ji;let h=c(p,e,{parent:a,isTopLevel:t.id===r.id,fullResource:m}),y=h.next();for(;!y.done;){let S=y.value,w=ji;if(S)if(Array.isArray(S)){let v=[];for(let x of S)v.push(n(x,r,l+1));w=v}else w=n(S,r,l+1);y=h.next(w)}return y.value===ji?ji:K0(y.value)}return n(t)}function $o(e,{allowSourceString:t=!0,allowString:i=!1,allowedStringType:n}={}){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 i&&(!n||n===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 i?l:{id:l,type:e.source.type}}}return r(e)}function Qr(e){if(!e)return;let t=Object.keys(e);if(t.length!==0){if(t.length===1){let i=t[0];if(!i)return"";let n=(e[i]||[]).join("");return i==="@none"||i==="none"||i==="en"?n:{"@language":i,"@value":n}}return t.map(i=>({"@language":i,"@value":(e[i]||[]).join("")}))}}function Z0(e){return Array.isArray(e)?e.map(t=>Z0(t)):typeof e=="string"?e:e.type&&e.type==="Canvas"?e.id:e}function fr(e,t=!1){if(e)return e.length>1&&!t?e:e[0]||void 0}function dA(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 Wr(e,t){return[["@id",e.id],["@type",t],["format",e.format],["height",e.height],["width",e.width],["viewingDirection",e.viewingDirection!=="left-to-right"?e.viewingDirection:void 0],["license",e.license?e.license:void 0]]}function*Hr(e){let t=e.provider?yield e.provider[0]:void 0;return[["label",Qr(e.label)],["metadata",e.metadata&&e.metadata.length?e.metadata.map(i=>({label:Qr(i.label)||"",value:Qr(i.value)||""})):void 0],["description",Qr(e.summary)],["thumbnail",fr(yield e.thumbnail)],["navDate",e.navDate],["logo",t?fr(t.logo):void 0],["homepage",t?t.homepage:void 0],["attribution",e.requiredStatement?Qr(e.requiredStatement.value):void 0]]}function*aa(e){let t=e.start&&e.start.type&&e.start.type==="SpecificResource"?$o(e.start):e.start;return[["seeAlso",fr(yield e.seeAlso)],["service",fr((e.service||[]).map(dA))],["rendering",fr(yield e.rendering)],["startCanvas",t?t.id:void 0]]}function hA(e){return e.type==="SpecificResource"}function pA(e){return e&&e.type==="FragmentSelector"}function fA(e){if(e&&hA(e)){let t=e.id,i=e.selector?Array.isArray(e.selector)?e.selector[0]:e.selector:void 0;return pA(i)&&(t+="#"+i.value),t}return e?.id}var ef={Manifest:function*(e,t,{isTopLevel:i}){return[...i?[["@context","http://iiif.io/api/presentation/2/context.json"]]:[],...Wr(e,"sc:Manifest"),...yield*Hr(e),...yield*aa(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)[0];return[...Wr(e,"sc:Canvas"),...yield*Hr(e),...yield*aa(e),["images",t?[t.resources]:void 0],["annotations",e.annotations&&e.annotations.length?fr(yield e.annotations):void 0]]},AnnotationPage:function*(e){return[...Wr(e,"sc:AnnotationList"),...yield*Hr(e),["resources",e.items&&e.items.length?fr(yield e.items):void 0]]},Annotation:function*(e){return[["@id",e.id],["@type","oa:Annotation"],["motivation","sc:painting"],["on",Z0(e.target)],["resource",fr(yield e.body,!0)]]},ContentResource:function*(e){switch(e.type){case"Image":return[...Wr(e,"dctypes:Image"),...yield*Hr(e),...yield*aa(e)];case"Text":case"Dataset":default:return[...Wr(e,void 0),...yield*Hr(e)]}},AnnotationCollection:function*(e){return[["@id",e.id],["@type","sc:Layer"],["label",Qr(e.label)]]},Collection:function*(e){return[...Wr(e,"sc:Collection"),...yield*Hr(e),...yield*aa(e),["members",yield*e.items]]},Range:function*(e){let t=[],i=[];if(e.items)for(let n of e.items){let r=n.type==="SpecificResource"?n.source:n;if(r){let a=yield r;t.push({"@id":fA(n),"@type":r.type,label:a?a.label:void 0,within:e.id}),r.type==="Canvas"&&i.push(r.id)}}return[...Wr(e,"sc:Range"),...yield*Hr(e),...yield*aa(e),["canvases",i.length===t.length?i:void 0],["members",i.length!==t.length?t:void 0]]}};function qr(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"?e.viewingDirection:void 0],["behavior",e.behavior&&e.behavior.length?e.behavior:void 0],["timeMode",e.timeMode],["motivation",Array.isArray(e.motivation)?e.motivation[0]:e.motivation],[mt,ji]]}function wt(e){if(e===ji||!e||e.length===0)return;let t=e.filter(i=>i!==ji);if(t.length!==0)return t}function J0(e){if(e&&e.type&&e.type==="ImageService2"){let{id:t,type:i,profile:n,...r}=e,a=typeof n=="string"?n:Array.isArray(n)?n.find(l=>typeof l=="string"):"";return{"@id":t,"@type":i,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 B0(e){if(Array.isArray(e)||(e=e?[e]:[]),!(!e||e.length===0))return e.map(J0)}function*hr(e){return[["label",e.label],["metadata",wt(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",wt(yield e.thumbnail)],["placeholderCanvas",yield e.placeholderCanvas],["accompanyingCanvas",yield e.accompanyingCanvas],["provider",wt(yield e.provider)]]}function*pr(e,t){let i=[];for(let n of e.partOf||[])n.type==="Manifest"&&t.type==="Manifest"||i.push(yield n);return[["seeAlso",wt(yield e.seeAlso)],["service",wt(B0(e.service))],["services",wt(B0(e.services))],["rendering",wt(yield e.rendering)],["supplementary",wt(yield e.supplementary)],["homepage",wt(yield e.homepage)],["logo",wt(yield e.logo)],["partOf",wt(i)],["start",e.start?$o(e.start):e.start]]}var tf={Manifest:function*(e,t,{isTopLevel:i}){return i?[["@context",e["@context"]?e["@context"]:"http://iiif.io/api/presentation/3/context.json"],...qr(e),...yield*hr(e),...yield*pr(e),["items",yield e.items],["structures",wt(yield e.structures)],["annotations",wt(yield e.annotations)],["navPlace",e.navPlace]]:[...qr(e),...yield*hr(e)]},Canvas:function*(e,t,{parent:i}){return i&&i.type!=="Manifest"&&i.type!=="Canvas"?[["id",e.id]]:[...qr(e),...yield*hr(e),...yield*pr(e,i),["items",yield e.items],["annotations",wt(yield e.annotations)],["navPlace",e.navPlace]]},Agent:function*(e){return[["id",e.id],["type","Agent"],["label",e.label],...yield*pr(e)]},AnnotationPage:function*(e){let t=Object.entries(e).map(([n,r])=>[n,Array.isArray(r)?wt(r):r]).filter(([n,r])=>n!=="items"&&n!=="id"&&n!==mt&&n!==Ei&&n!==Qo),i=yield e.items;return[["id",e.id?.startsWith("vault://")?void 0:e.id],...t,...yield*pr(e),["items",i.length||e[Qo]===!1?i:ji]]},Service:function*(e){return[[Xp,J0(e)]]},Annotation:function*(e){let t=Object.entries(e).map(([n,r])=>n==="motivation"?[n,Array.isArray(r)?r[0]:r]:n==="target"?[n,$o(r,{allowString:!0,allowSourceString:!0,allowedStringType:"Canvas"})]:[n,Array.isArray(r)?wt(r):r]).filter(([n])=>n!=="body"&&n!==mt&&n!==Qo),i;if(Array.isArray(e.body)){let n=[];for(let r of e.body)if(r&&tn(r)){let a={...r};r.source.type!=="Canvas"?a.source=yield r.source:a.source=r.source,n.push($o(a,{allowSourceString:!0}))}else n.push(yield r);i=n}else e.body&&tn(e.body)?(i={...e.body},i.source=yield e.body.source):i=yield e.body;return[...t,...yield*hr(e),...yield*pr(e),["body",i.length===1?i[0]:i]]},ContentResource:function*(e){return mA([...qr(e),...yield*hr(e),...yield*pr(e),["annotations",wt(yield e.annotations)],["items",wt(yield e.items)]],e)},AnnotationCollection:function*(e){return[["id",e.id],["type","AnnotationCollection"],["label",e.label]]},Collection:function*(e,t,{isTopLevel:i}){return i?[["@context","http://iiif.io/api/presentation/3/context.json"],...qr(e),...yield*hr(e),...yield*pr(e),["items",wt(yield e.items)],["navPlace",e.navPlace]]:[...qr(e),...yield*hr(e)]},Range:function*(e){let t=[];for(let i of e.items)i.type==="Range"?t.push(yield i):i&&i.type==="SpecificResource"?t.push($o(i)):t.push(i);return[...qr(e),...yield*hr(e),...yield*pr(e),["items",t],["annotations",wt(yield e.annotations)],["navPlace",e.navPlace]]}};function mA(e,t){let i=Object.keys(t),n=e.map(([r])=>r);for(let r of i)r===mt||r===Qo||n.indexOf(r)===-1&&typeof t[r]<"u"&&e.push([r,t[r]]);return e}var gA=(e,t)=>{let{entities:i,resource:n,mapping:r}=Zp(t);if(n.id===void 0)return[oa({id:e,message:"ID is not defined in resource."})];let a=[Hu({entities:i}),Bp({mapping:r})];return n.id!==e&&(a.push(Np({id:e,type:n.type})),a.push(jp({requestId:e,actualId:n.id}))),a.push(Vp({id:e})),a},eS=Number.isNaN||function(t){return typeof t=="number"&&t!==t};function yA(e,t){return!!(e===t||eS(e)&&eS(t))}function rf(e,t){if(!Array.isArray(e)||!Array.isArray(t))return e===t;if(e.length!==t.length)return!1;for(let i=0;i<e.length;i++)if(!yA(e[i],t[i]))return!1;return!0}function nf(e,t,i){let n=e.iiif.requests[t],r=e.iiif.mapping[t];if(!r||!e.iiif.entities[r][n.resourceUri])return;let a=e.iiif.entities[r][n.resourceUri];if(a&&a[mt]){let l=a[mt].find(c=>i?c[Ei]===i.id:c[Ei]===a.id);return Go(a,l)}return a}function vA(e){return e&&typeof e.then=="function"}function of(e,t,{waitTimeout:i=30}={}){return(n,r)=>{let a=e.getStore(),l=a.getState(),c=l.iiif.requests[n];if(c){if(c.loadingState===Vo){let m=nf(l,n);if(m)return m}switch(c.loadingState){case jo:break;case ra:return(async()=>{let m,h=!1;try{let y=await Promise.race([new Promise((S,w)=>{h||(m=a.subscribe(()=>{let v=a.getState();if(v.iiif.requests[n].loadingState===jo){w();return}if(v.iiif.requests[n].loadingState===Vo){let x=nf(v,n);x?S(x):w()}}))}),new Promise((S,w)=>setTimeout(()=>{h=!0,w()},i*60*1e3))]);if(m&&m(),y)return y}catch{m&&m()}})()}}e.dispatch(Dp({id:n}));let p=m=>{if(!m)return;!m.id&&!m["@id"]&&(m["@type"]&&(m["@id"]=n),m.id=n);let h=gA(n,m);return e.dispatch(Wo({actions:h})),nf(a.getState(),n)};try{let m=t(n,r);return vA(m)?(async()=>{try{return p(await m)}catch(h){throw e.dispatch(oa({id:n,message:h.toString()})),h}})():p(m)}catch(m){throw e.dispatch(oa({id:n,message:m.toString()})),m}}}var sf="@iiif/SET_META_VALUE",af="@iiif/SET_META_VALUE_DYNAMIC",lf="@iiif/UNSET_META_VALUE",xA=ht(sf)(),SA=ht(af)(),wA=ht(lf)(),uf={setMetaValue:xA,setMetaValueDynamic:SA,unsetMetaValue:wA};function cf(){return{Collection:{},Manifest:{},Canvas:{},AnnotationPage:{},AnnotationCollection:{},Annotation:{},ContentResource:{},Range:{},Service:{},Selector:{},Agent:{}}}var Yo={},bA=(e,t)=>(i,n,r)=>(r.dispatch=a=>(i(l=>e(l,a),!1,a),a),r.dispatchFromDevtools=!0,{dispatch:(...a)=>r.dispatch(...a),...t}),CA=bA,ff=new Map,nc=e=>{let t=ff.get(e);return t?Object.fromEntries(Object.entries(t.stores).map(([i,n])=>[i,n.getState()])):{}},PA=(e,t,i)=>{if(e===void 0)return{type:"untracked",connection:t.connect(i)};let n=ff.get(i.name);if(n)return{type:"tracked",store:e,...n};let r={connection:t.connect(i),stores:{}};return ff.set(i.name,r),{type:"tracked",store:e,...r}},EA=(e,t={})=>(i,n,r)=>{let{enabled:a,anonymousActionType:l,store:c,...p}=t,m;try{m=(a??(Yo.env?Yo.env.MODE:void 0)!=="production")&&window.__REDUX_DEVTOOLS_EXTENSION__}catch{}if(!m)return(Yo.env?Yo.env.MODE:void 0)!=="production"&&a&&console.warn("[zustand devtools middleware] Please install/enable Redux devtools extension"),e(i,n,r);let{connection:h,...y}=PA(c,m,p),S=!0;r.setState=(x,A,C)=>{let I=i(x,A);if(!S)return I;let E=C===void 0?{type:l||"anonymous"}:typeof C=="string"?{type:C}:C;return c===void 0?(h?.send(E,n()),I):(h?.send({...E,type:`${c}/${E.type}`},{...nc(p.name),[c]:r.getState()}),I)};let w=(...x)=>{let A=S;S=!1,i(...x),S=A},v=e(r.setState,n,r);if(y.type==="untracked"?h?.init(v):(y.stores[y.store]=r,h?.init(Object.fromEntries(Object.entries(y.stores).map(([x,A])=>[x,x===y.store?v:A.getState()])))),r.dispatchFromDevtools&&typeof r.dispatch=="function"){let x=!1,A=r.dispatch;r.dispatch=(...C)=>{(Yo.env?Yo.env.MODE:void 0)!=="production"&&C[0].type==="__setState"&&!x&&(console.warn('[zustand devtools middleware] "__setState" action type is reserved to set state from the devtools. Avoid using it.'),x=!0),A(...C)}}return h.subscribe(x=>{var A;switch(x.type){case"ACTION":if(typeof x.payload!="string"){console.error("[zustand devtools middleware] Unsupported action format");return}return df(x.payload,C=>{if(C.type==="__setState"){if(c===void 0){w(C.state);return}Object.keys(C.state).length!==1&&console.error(`
73
- [zustand devtools middleware] Unsupported __setState action format.
74
- When using 'store' option in devtools(), the 'state' should have only one key, which is a value of 'store' that was passed in devtools(),
75
- and value of this only key should be a state object. Example: { "type": "__setState", "state": { "abc123Store": { "foo": "bar" } } }
76
- `);let I=C.state[c];if(I==null)return;JSON.stringify(r.getState())!==JSON.stringify(I)&&w(I);return}r.dispatchFromDevtools&&typeof r.dispatch=="function"&&r.dispatch(C)});case"DISPATCH":switch(x.payload.type){case"RESET":return w(v),c===void 0?h?.init(r.getState()):h?.init(nc(p.name));case"COMMIT":if(c===void 0){h?.init(r.getState());return}return h?.init(nc(p.name));case"ROLLBACK":return df(x.state,C=>{if(c===void 0){w(C),h?.init(r.getState());return}w(C[c]),h?.init(nc(p.name))});case"JUMP_TO_STATE":case"JUMP_TO_ACTION":return df(x.state,C=>{if(c===void 0){w(C);return}JSON.stringify(r.getState())!==JSON.stringify(C[c])&&w(C[c])});case"IMPORT_STATE":{let{nextLiftedState:C}=x.payload,I=(A=C.computedStates.slice(-1)[0])==null?void 0:A.state;if(!I)return;w(c===void 0?I:I[c]),h?.send(null,C);return}case"PAUSE_RECORDING":return S=!S}return}}),v},AA=EA,df=(e,t)=>{let i;try{i=JSON.parse(e)}catch(n){console.error("[zustand devtools middleware] Could not parse the received json",n)}i!==void 0&&t(i)},IA=e=>(t,i,n)=>{let r=n.subscribe;return n.subscribe=(l,c,p)=>{let m=l;if(c){let h=p?.equalityFn||Object.is,y=l(n.getState());m=S=>{let w=l(S);if(!h(y,w)){let v=y;c(y=w,v)}},p?.fireImmediately&&c(y,y)}return r(m)},e(t,i,n)},RA=IA,TA=(e={},t)=>{switch(t.type){case qu:return{...e,[t.payload.id]:t.payload.type};case Qu:return{...e,...t.payload.mapping};default:return e}};function hf(e,t,i,n){return!(!e[i]||!e[i][t]||!e[i][t][n]||!Array.isArray(e[i][t][n]))}function _A(e,t){let i={},n=[];for(let[r,a]of Object.entries(e||{})){n.push(r);let l=(t||{})[r];if(!l||l.length===0){i[r]=a;continue}i[r]=l}for(let[r,a]of Object.entries(t||{}))n.indexOf(r)===-1&&(i[r]=a);return i}function fe(e){return e.payload}function pf(e,t){return typeof e>"u"?t:e}var MA=(e=cf(),t)=>{let i=(n,r)=>({...e,[fe(t).type]:{...e[fe(t).type],[fe(t).id]:{...n,...r}}});switch(t.type){case Nu:{if(!e[fe(t).type]||!e[fe(t).type][fe(t).id])return e;let n=e[fe(t).type][fe(t).id];return typeof n=="string"?e:i(n,{[fe(t).key]:fe(t).value})}case Bu:{if(!hf(e,fe(t).id,fe(t).type,fe(t).key))return e;let n=e[fe(t).type][fe(t).id];if(typeof n=="string")return e;let r=Array.from(n[fe(t).key]),[a]=r.splice(fe(t).startIndex,1);return r.splice(fe(t).endIndex,0,a),i(n,{[fe(t).key]:r})}case zu:{let n=Object.keys(fe(t).entities),r={...e};for(let a of n){let l=fe(t).entities[a],c={...e[a]||{}},p=!1,m=Object.keys(l||{})||[];if(l&&m){for(let h of m)p=!0,c[h]=e[a][h]?_A(e[a][h],l[h]):l[h];p&&(r[a]=c)}}return r}case Du:{if(!hf(e,fe(t).id,fe(t).type,fe(t).key))return e;let n=e[fe(t).type][fe(t).id],r=Array.from(n[fe(t).key]);return r.splice(pf(fe(t).index,r.length+1),0,fe(t).reference),i(n,{[fe(t).key]:r})}case ia:case ju:{if(!hf(e,fe(t).id,fe(t).type,fe(t).key))return e;let n=e[fe(t).type][fe(t).id],r=Array.from(n[fe(t).key]),a=pf(fe(t).index,r.findIndex(l=>l&&l.id===fe(t).reference.id));return a===-1||r[a]?.id!==fe(t).reference.id?e:(t.type===ia?r.splice(a,1,fe(t).reference):r.splice(a,1),i(n,{[fe(t).key]:r}))}case Vu:{let n=e[fe(t).type][fe(t).id];if(!n)return e;let r=Array.from(n.metadata||[]),a=fe(t);return r.splice(pf(t.payload.beforeIndex,r.length+1),0,{label:a.label,value:a.label}),i(n,{metadata:r})}case Wu:{let n=e[fe(t).type][fe(t).id];if(typeof n=="string"||!n)return e;let r=Array.from(n.metadata||[]),[a]=r.splice(fe(t).startIndex,1);return r.splice(fe(t).endIndex,0,a),i(n,{metadata:r})}case na:case Uu:{let n=e[fe(t).type][fe(t).id],r=Array.from(n.metadata||[]),a=fe(t).atIndex;return typeof a>"u"||a===-1||!r[a]?e:(t.type===na?r.splice(a,1,{label:fe(t).label,value:fe(t).value}):r.splice(a,1),i(n,{metadata:r}))}default:return e}},kA=(e={},t)=>{switch(t.type){case $u:case Ku:return{...e,[t.payload.id]:{requestUri:t.payload.id,loadingState:ra,uriMismatch:!1,resourceUri:t.payload.id}};case Yu: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 Gu:return{...e,[t.payload.id]:{...e[t.payload.id]||{},loadingState:jo,error:t.payload.message}};case Xu:return{...e,[t.payload.id]:{...e[t.payload.id]||{},loadingState:Vo,error:void 0}}}return e},OA=(e={},t)=>{let{id:i,updateValue:n,value:r,meta:a,key:l}=t&&t.payload||{};switch(t.type){case sf:return{...e,[i]:{...e[i]||{},[a]:{...e[i]?e[i][a]||{}:{},[l]:r}}};case af:return{...e,[i]:{...e[i]||{},[a]:{...e[i]?e[i][a]||{}:{},[l]:e[i]&&e[i][a]?n(e[i][a][l]):n(void 0)}}};case lf:return e[i]&&e[i][a]&&e[i][a][l]?{...e,[i]:{...e[i]||{},[a]:{...e[i]?e[i][a]||{}:{},[l]:void 0}}}:e;default:return e}};function tS(e={}){let t=Object.keys(e);return function(n={},r){let a=!1,l={};for(let c=0;c<t.length;c++){let p=t[c];l[p]=e[p](n[p],r),a=a||l[p]!==n[p]}return a?l:n}}function LA(e){return(t,i)=>i&&i.type===Uo?i.payload.actions.reduce(e,t):i&&i.type===Zu?{...t,iiif:{...t.iiif,...i.payload.state}}:e(t,i)}var FA=tS({mapping:TA,entities:MA,requests:kA,meta:OA});function zA(){return{iiif:{entities:cf(),meta:{},mapping:{},requests:{}}}}function iS(e={}){let{enableDevtools:t=!1,iiifStoreName:i="iiif",defaultState:n=zA(),customReducers:r={}}=e,a=LA(tS({[i]:FA,...r})),c=!!(typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__)?AA:(p,m)=>p;return tu(RA(c(CA(a,n),{enabled:t})))}function ti(e,t,i,n=!0){t[Xo]=t[Xo]||[],t[Xo].push(e);let r=new Map;Object.defineProperty(t,e,{enumerable:n,get(){if(typeof t[Gr][e]>"u")return;let a=t[Gr][e];if(!a)return a;let l=i.get(t[Gr][e],{parent:this.id?{id:this.id,type:this.type}:void 0});return r.has(l)||(r.clear(),r.set(l,Yr(l,i))),r.get(l)},set(a){t[Gr][e]!==a&&(this[$r]?i.modifyEntityField({id:this.id,type:this.type},e,oS(a)):this[Gr][e]=a)}})}var Gr=Symbol.for("_refs_"),$r=Symbol.for("_reactive_"),Xo=Symbol.for("_defined_"),nS=Symbol.for("_parent_");function NA(e,t=!1,i){let n={id:"",type:"unknown",[Xo]:[],[Gr]:{},[nS]:i||null,[$r]:null,is(r){return typeof r=="string"?this.id===r:r.id?r.id===this.id:!1},reactive(){if(!this[$r])return this[$r]=this.subscribe(()=>this.refresh(),!0),()=>{this.unreactive()}},refresh(){if(this.id){let r=this.unwrap();for(let a of Object.keys(r||{}))this[Xo].includes(a)?this[Gr][a]=r[a]:this[a]=r[a]}},unreactive(){this[$r]&&(this[$r](),this[$r]=null)},unwrap(){if(!this.id)throw new Error("Invalid object");let r=this[nS];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 ti("items",n,e),ti("annotations",n,e),ti("structures",n,e),ti("seeAlso",n,e),ti("rendering",n,e),ti("partOf",n,e),ti("start",n,e,!1),ti("supplementary",n,e),ti("homepage",n,e),ti("thumbnail",n,e),ti("placeholderCanvas",n,e,!1),ti("accompanyingCanvas",n,e,!1),ti("provider",n,e),ti("body",n,e),ti("logo",n,e),n}function BA(e){return!!e[Xo]}function oS(e){return Array.isArray(e)?e.map(t=>oS(t)):!e||!e.type?e:{id:e.id,type:e.type}}function Yr(e,t,i=!1,n){if(Array.isArray(e))return e.map(c=>Yr(c,t,i));if(!e||!e.type||!e.id)return e;let r=NA(t,i),a=Object.create(r),l=Object.assign(a,e);return i&&l.reactive(),l}function rS(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 Ko=class{constructor(e,t){Tt(this,"options"),Tt(this,"store"),Tt(this,"emitter"),Tt(this,"isBatching",!1),Tt(this,"batchQueue",[]),Tt(this,"remoteFetcher"),Tt(this,"staticFetcher"),Tt(this,"defaultFetcher",i=>fetch(i).then(n=>{if(n.status===200)return n.json();{let r=new Error(`${n.status} ${n.statusText}`);throw r.name="HTTPError",r}})),this.options=Object.assign({reducers:{},customFetcher:this.defaultFetcher,enableDevtools:!0},e||{}),this.store=t||iS({customReducers:this.options.reducers,defaultState:this.options.defaultState,enableDevtools:this.options.enableDevtools}),this.emitter=eu(),this.remoteFetcher=of(this,this.options.customFetcher),this.staticFetcher=of(this,(i,n)=>n)}batch(e){this.isBatching=!0;try{e(this),this.isBatching=!1,this.dispatch(Wo({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(Wo({actions:this.batchQueue}))}catch(t){throw this.batchQueue=[],this.isBatching=!1,t}this.batchQueue=[]}modifyEntityField(e,t,i){this.dispatch(Vr.modifyEntityField({id:e.id,type:e.type,key:t,value:i}))}dispatch(e){if(this.isBatching)this.batchQueue.push(e);else{if(e.type===Uo){for(let n of e.payload.actions)this.emitter.emit(n.type,{action:n,state:this.store.getState()});this.store.dispatch(e);let i=this.getState();for(let n of e.payload.actions)this.emitter.emit(`after:${n.type}`,{action:n,state:i});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 Jp(this.getState().iiif,e,t)}toPresentation2(e){return this.serialize(e,ef)}toPresentation3(e){return this.serialize(e,tf)}hydrate(e,t,i={}){return this.get(e,t,{...i,skipSelfReturn:!1})}get(e,t,i={}){typeof t!="string"&&(i=t||{},t=void 0);let{skipSelfReturn:n=!0}=i||{},r=i.parent?typeof i.parent=="string"?i.parent:i.parent.id:void 0;if(Array.isArray(e))return e.map(h=>this.get(h,i));let a=this.getState();if(tn(e)&&!i.preserveSpecificResources&&(e=e.source),typeof e=="string"){let h=rS(t||a.iiif.mapping[e]);if(!h)return n?null:{id:e,type:"unknown"};e={id:e,type:h}}if(e&&e.partOf&&!r&&!i.skipPartOfCheck){let h=Array.isArray(e.partOf)?e.partOf[0]:e.partOf;h&&(typeof h=="string"&&(r=h),typeof h.id=="string"&&(r=h.id))}let l=rS(t||e?.type),c=e?.id,p=a.iiif.entities[l];if(!p){let h=a.iiif.requests[c];return h&&h.resourceUri!==c?this.get(h.resourceUri,i):n?null:e}let m=p[e.id];if(m&&m[mt]){let h=m[mt].find(y=>r?y[Ei]===r:y[Ei]===m.id);return Go(m,h)}return p[e.id]||(n?null:e)}select(e){return e(this.getState())}getStore(){return this.store}getState(){return this.store.getState()}deep(e,t){if(typeof e>"u")return this.get(t,{skipSelfReturn:!1});if(typeof e=="function")try{let n=e(this.get(t,{skipSelfReturn:!1})),r=a=>this.deep(a,n);return r.size=Array.isArray(n)?n.length:1,r}catch{let r=a=>this.deep(a,void 0);return r.size=0,r}let i=n=>this.deep(n,e);return i.size=Array.isArray(e)?e.length:1,i}loadManifest(e,t){let i=typeof e=="string"?e:e.id;return this.load(i,t)}loadCollection(e,t){let i=typeof e=="string"?e:e.id;return this.load(i,t)}load(e,t){let i=typeof e=="string"?e:e.id;return t?Promise.resolve(this.staticFetcher(i,t)):Promise.resolve(this.remoteFetcher(i))}loadSync(e,t){let i=typeof e=="string"?e:e.id;return this.staticFetcher(i,t)}loadManifestSync(e,t){let i=typeof e=="string"?e:e.id;return this.loadSync(i,t)}loadCollectionSync(e,t){let i=typeof e=="string"?e:e.id;return this.loadSync(i,t)}areInputsEqual(e,t){return rf(e,t)}subscribe(e,t,i){return typeof i>"u"&&(typeof t>"u"||t===!1||t===!0)&&(i=t,t=e,e=n=>n),this.store.subscribe(e,n=>t(n,this),{equalityFn:rf,fireImmediately:!i})}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])}getResourceMeta(e,t){let i=this.getState().iiif.meta[e];if(i)return t?i[t]:i}getObject(e,t,i={}){let{reactive:n,...r}=i;return Yr(this.get(e,t,r),this,n)}async loadObject(e,t){return Yr(await this.load(e,t),this)}async loadManifestObject(e,t){return Yr(await this.loadManifest(e,t),this)}async loadCollectionObject(e,t){return Yr(await this.loadCollection(e,t),this)}wrapObject(e){return Yr(this.get(e,{skipSelfReturn:!1}),this)}isWrapped(e){return BA(e)}setMetaValue([e,t,i],n){this.dispatch(typeof n=="function"?uf.setMetaValueDynamic({id:e,meta:t,key:i,updateValue:n}):uf.setMetaValue({id:e,meta:t,key:i,value:n}))}};function sS(){return typeof self<"u"?self:typeof window<"u"?window:typeof global<"u"?global:{}}function la(e){let t=sS();try{let n=t.IIIF_VAULT;if(n)return n}catch{}let i=new Ko(e);try{t.IIIF_VAULT=i}catch{}return i}var mf=R(B(),1),mr=rc.default.createContext({vault:null,setVaultInstance:e=>{}});function Xr({vault:e,vaultOptions:t,useGlobal:i,resources:n,children:r}){let[a,l]=(0,rc.useState)(()=>e||(i?la(t):t?new Ko(t):new Ko));return(0,mf.jsx)(mr.Provider,{value:{vault:a,setVaultInstance:l},children:(0,mf.jsx)(ei,{value:n||{},children:r})})}var DS=R(H(),1),dc=R(H(),1);var aS=R(H(),1);function Kr(e){let t=(0,aS.useContext)(mr);return e||(t&&t.vault?t.vault:la())}var gr=R(H(),1);function ua(e,{noCache:t=!1}={}){let i=typeof e=="string"?e:e.id,n=Kr(),[r,a]=(0,gr.useState)(i),[l,c]=(0,gr.useState)(void 0),p=(0,gr.useMemo)(()=>n.get(i,{skipSelfReturn:!0})||void 0,[i,n]),[m,h]=(0,gr.useState)(p);return(0,gr.useEffect)(()=>{(async()=>{try{let y=p&&!t?p:await n.load(i),S=y?y.id||y["@id"]:null;y&&r!==S&&a(S),h(y)}catch(y){c(y)}})()},[i,t]),{isLoaded:!!m,id:r,requestId:i,error:l,resource:m,cached:!!(m&&m===p)}}function gf(e,t){let{id:i,isLoaded:n,error:r,resource:a,requestId:l,cached:c}=ua(e,t);return{id:i,isLoaded:n,error:r,manifest:a,requestId:l,cached:c}}var lS=R(B(),1);function yf({manifest:e,children:t}){return(0,lS.jsx)(ei,{value:{manifest:e},children:t})}var uS=R(B(),1);function Vi({canvas:e,children:t}){return(0,uS.jsx)(ei,{value:{canvas:e},children:t})}var dS=R(H(),1),hS=R(H(),1);var cS=R(H(),1),_e=()=>{let{vault:e}=(0,cS.useContext)(mr);if(e===null)throw new Error("Vault not found. Ensure you have your provider set up correctly.");return e};var oc=R(H(),1);function De(e,t=[]){let i=_e(),[n,r]=(0,oc.useState)(()=>e(i.getState(),i));return(0,oc.useEffect)(()=>i.subscribe(a=>e(a,i),a=>{r(a)},!1),t),n}var Zr=hS.default.createContext([]);function Jr(){let e=(0,dS.useContext)(Zr);return De(t=>e.map(i=>t.iiif.entities.Canvas[i]).filter(Boolean),[e])}var pS=R(H(),1);function vt(e={},t=[]){let{id:i,selector:n}=e,r=Xt(),a=_e(),l=i||r.manifest,c=De(p=>l?p.iiif.entities.Manifest[l]:void 0,[l]);return(0,pS.useMemo)(()=>{if(c)return n?n(c):c},[c,n,...t])}var fS=R(B(),1);function vf({range:e,children:t}){return(0,fS.jsx)(ei,{value:{range:e},children:t})}function mS(e,t){for(let i of t.items){if(i.type==="Canvas")return i;if(i.type==="SpecificResource")return i.source;if(i.type==="Range"){let n=mS(e,e.get(i));if(n)return n}}return null}function sc(e,t){let i=[];for(let n of t.items)if(n.type==="SpecificResource"&&n.source?.type==="Canvas"&&(n.source.id.indexOf("#")!==-1?i.push({id:n.source.id.split("#")[0],type:"Canvas"}):i.push(n.source)),n.type==="Range"&&i.push(...sc(e,e.get(n))),n.type==="SpecificResource"){let r=typeof n.source=="string"?n.source:n.source.id;i.push({id:r,type:"Canvas"})}return i}function DA(e,t,i){for(let n of t.structures){let r=xf(e,e.get(n),i);if(r)return r}return null}function xf(e,t,i){for(let n of t.items){let r=n?.source?.id?.split("#")[0];if(n.type==="SpecificResource"&&n.source===i||n.type==="SpecificResource"&&n.source?.type==="Canvas"&&i===r)return t;if(n.type==="Range"){let a=xf(e,e.get(n),i);if(a)return a}}return null}function jA(e,t,i,n=!1){let r=t.behavior,a=i?e.get(i):null;if(!a)return[];let l=a.behavior,c=n?!1:r.includes("paged"),p=c?!1:r.includes("continuous"),m=c||p?!1:r.includes("individuals"),h=l.includes("facing-pages"),y=l.includes("non-paged");if(h||y||m||n)return[{id:a.id,type:"Canvas"}];let[S,w]=ac(e,t);if(p)return S;let v=S.findIndex(x=>x.id===i);if(v===-1)return[];for(let x of w)if(x.includes(v))return x.map(A=>S[A]);return[{id:a.id,type:"Canvas"}]}function ac(e,t,{disablePaging:i,skipNonPaged:n}={}){let r=t.behavior,a=r.includes("paged"),l=a?!1:r.includes("continuous"),c=a||l?!1:r.includes("individuals"),p=t.type==="Manifest"?t.items:sc(e,t);if(l)return[p,[p.map((v,x)=>x)]];if(c||!a||i)return[p,p.map((v,x)=>[x])];let m=[],h=[],y=()=>{h.length&&(m.push([...h]),h=[])},S=0,w=!1;for(let v=0;v<p.length;v++){let x=e.get(p[v]);if(x.behavior.includes("non-paged")){v===S&&S++,n||(y(),m.push([v]),y());continue}if(v===S||x.behavior.includes("facing-pages")){h.length&&(w=!0),y(),m.push([v]),y();continue}if(h.push(v),w){y(),w=!1;continue}h.length>1&&y()}return h.length&&y(),[p,m]}var nn=R(H(),1);var gS=R(H(),1);function ca(e={},t=[]){let{id:i,selector:n}=e,r=Xt(),a=i||r.range,l=De(c=>a?c.iiif.entities.Range[a]:void 0,[a]);return(0,gS.useMemo)(()=>{if(l)return n?n(l):l},[l,n,...t])}function Sf({startCanvas:e,disablePaging:t}){let i=_e(),n=vt(),r=ca(),[a,l]=(0,nn.useState)(void 0),c=r||n;if(!c)throw new Error("Nothing selected");let[p,m]=(0,nn.useMemo)(()=>ac(i,c,{disablePaging:t}),[i,c,t]),h=(0,nn.useRef)(m);if(h.current!==m){let A=h.current[a][0],C=m.findIndex(I=>I.includes(A));h.current=m,l(C)}let y=(0,nn.useCallback)(x=>{let A=m.findIndex(C=>C.includes(x));l(A===-1?0:A)},[p,m]),S=(0,nn.useCallback)(x=>{let A=p.findIndex(C=>C.id===x);A!==-1?y(A):l(0)},[p,m]),w=(0,nn.useCallback)(()=>{l(x=>x>=m.length-1?x:x+1)},[m]),v=(0,nn.useCallback)(()=>{l(x=>x<=0?0:x-1)},[m]);return typeof a>"u"&&(e?S(e):l(0)),{visibleItems:m[a]?.map(x=>p[x].id)||[],cursor:a,items:p,sequence:m,hasPrevious:a>0,hasNext:a<m.length-1,setSequenceIndex:l,setCanvasIndex:y,setCanvasId:S,next:w,previous:v}}var on=R(H(),1);var vS={},yS=e=>{let t,i=new Set,n=(h,y)=>{let S=typeof h=="function"?h(t):h;if(!Object.is(S,t)){let w=t;t=y??(typeof S!="object"||S===null)?S:Object.assign({},t,S),i.forEach(v=>v(t,w))}},r=()=>t,p={setState:n,getState:r,getInitialState:()=>m,subscribe:h=>(i.add(h),()=>i.delete(h)),destroy:()=>{(vS.env?vS.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."),i.clear()}},m=t=e(n,r,p);return p},jn=e=>e?yS(e):yS;var TS=R(H(),1),_S=R(AS(),1),RS={},{useDebugValue:rI}=TS.default,{useSyncExternalStoreWithSelector:oI}=_S.default,IS=!1,sI=e=>e;function Ft(e,t=sI,i){(RS.env?RS.env.MODE:void 0)!=="production"&&i&&!IS&&(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"),IS=!0);let n=oI(e.subscribe,e.getState,e.getServerState||e.getInitialState,t,i);return rI(n),n}function aI(e){let t=e.service||e.services||[];for(let i of t)if(i.type==="AuthProbeService2")return!0;return!1}function rn(e,t,i){let n=t.findIndex(l=>l.service.id===e);if(n===-1)return t;let r=[...t],a=i(r[n]);return a===r[n]?t:(r[n]=a,r)}var Cf=()=>jn((e,t)=>({currentAuth:-1,authItems:[],login:()=>{let i=t().authItems[t().currentAuth];if(!i||i.isPending||i.isLoggedIn)return;if(i.type!=="active")throw new Error("Cannot login to non-active service");let n=i.service.service.find(r=>r.type==="AuthAccessTokenService2");if(!n)throw new Error("Token service not found");e(()=>({authItems:rn(i.id,t().authItems,r=>({...r,isPending:!0}))})),bf(i.service).then(()=>{uc(n).then(r=>{let a=r.expiresIn,l=Date.now()+a*1e3;e(()=>({authItems:rn(i.id,t().authItems,c=>({...c,isLoggedIn:!0,isPending:!1,session:{token:r.accessToken,expires:l}}))}))}).catch(r=>{e(()=>({authItems:rn(i.id,t().authItems,a=>({...a,isLoggedIn:!1,isPending:!1,error:r.message}))}))})})},logout:()=>{let i=t().authItems[t().currentAuth];if(!i||i.isPending||!i.isLoggedIn)return;if(i.type!=="active")throw new Error("Cannot logout of non-active service");let n=i.service.service.find(l=>l.type==="AuthLogoutService2");if(!n)return;let r=`${n.id}?origin=${MS()}`,a=window.open(r);e(()=>({authItems:rn(i.id,t().authItems,l=>({...l,isLoggedIn:!1,session:null,isPending:!1}))}))},nextAuth:()=>{let i=t().authItems.length,n=t().currentAuth+1;n>=i||e(()=>({currentAuth:n}))},previousAuth:()=>{let i=t().currentAuth-1;i<0||e(()=>({currentAuth:i}))},setAuth:i=>{i!==-1&&(i<0||i>=t().authItems.length)||e(()=>({currentAuth:i}))},addService:(i,n)=>{if(!i.service)return;let r=i.service.find(c=>c.type==="AuthAccessTokenService2"),a=i;if(t().authItems.find(c=>c.service.id===i.id)){e(()=>({authItems:rn(i.id,t().authItems,c=>({...c,instances:c.instances+1}))}));return}if(e(()=>({currentAuth:a.profile==="active"?0:t().currentAuth,authItems:[{id:i.id,type:i.profile,service:i,probeId:n,canAuthenticate:!0,instances:1,isPending:!1,isLoggedIn:!1,session:null},...t().authItems]})),i.profile==="external"){if(!r)throw new Error("Token service not found");uc(r).then(c=>{e(()=>({authItems:rn(i.id,t().authItems,p=>({...p,isLoggedIn:!0,isPending:!1,session:{token:c.accessToken,expires:c.expiresIn}}))}))}).catch(c=>{e(()=>({authItems:rn(i.id,t().authItems,p=>({...p,isLoggedIn:!1,isPending:!1,canAuthenticate:!1,error:c.message}))}))})}if(i.profile==="kiosk"){if(!r)throw new Error("Token service not found");e(()=>({authItems:rn(i.id,t().authItems,c=>({...c,isPending:!0}))})),bf(a).then(()=>{uc(r).then(c=>{e(()=>({authItems:rn(i.id,t().authItems,p=>({...p,isLoggedIn:!0,isPending:!1,session:{token:c.accessToken,expires:c.expiresIn}}))}))}).catch(c=>{e(()=>({authItems:rn(i.id,t().authItems,p=>({...p,isLoggedIn:!1,isPending:!1,error:c.message}))}))})})}i.profile},removeService:(i,n)=>{let r=t().currentAuth===t().authItems.findIndex(l=>l.service.id===i.id),a=t().currentAuth;if(r){let l=t().authItems.find(p=>p.service.id===i.id);l&&l.instances>1||(a=t().authItems.findIndex(m=>m.service.id!==i.id&&m.instances>0))}e(()=>({authItems:rn(i.id,t().authItems,l=>({...l,instances:l.instances-1})),currentAuth:a}))}})),Pf=(e,t)=>jn((i,n)=>({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(!n().service)return;let r=n().service?.id;if(!r){i({status:"error",error:"Service ID not found",errorHeading:{en:["Service ID not found"]}});return}i({status:"probing"});let a=n().token;try{let l=await fetch(r,{headers:a?{Authorization:`Bearer ${n().token}`,Accept:"application/json"}:{Accept:"application/json"}}).then(c=>c.json());if(l.status===200)i({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");i({status:"error",shouldDisplayResource:!1,shouldRedirect:!0,redirectResource:l.location||null})}else if(l.status===401)i({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){i({status:"error",error:l.message,errorHeading:{en:["Unknown error"]}})}},setToken(r){i({token:r})}}));function Ef(e){let t=e.service||e.services||[],i={hasAuth:!1,services:{}};for(let n of t)if(n.type==="AuthProbeService2"){i.services.probe=n,i.hasAuth=!0;let r=n.service.filter(a=>a.type==="AuthAccessService2");r[0]&&(i.services.access=r[0])}return i}async function uc(e,{strict:t=!0}={}){return new Promise((i,n)=>{let r=Math.random().toString(36).substring(7),a=`${e.id}?messageId=${r}&origin=${window.location.origin}`,l=m=>{let h=m.data;if(h.messageId===r){if(t&&h.type!=="AuthAccessToken2"){c(),n("Invalid response, expected type=AuthAccessToken2");return}if(!h.accessToken){c(),n("Invalid response, expected accessToken");return}c(),i(h)}},c=()=>window.removeEventListener("message",l),p=document.createElement("iframe");p.src=a,p.style.display="none",document.body.appendChild(p),window.addEventListener("message",l)})}function MS(e){let t=window.location;if(e){let i=document.createElement("a");return i.href=e,i.protocol+"//"+i.hostname+(i.port?":"+i.port:"")}return t.protocol+"//"+t.hostname+(t.port?":"+t.port:"")}async function bf(e){let t=`${e.id}?origin=${MS()}`,i=window.open(t);if(!i)throw new Error("Failed to open window");return new Promise((n,r)=>{let a=setInterval(()=>{i.closed&&(clearInterval(a),n())},500)})}var Jo=R(H(),1);function kS(e){let t=(0,Jo.useMemo)(()=>Ef(e),[e]),i=Af(t.services.access?.id),n=(0,Jo.useMemo)(()=>Pf(t.services.probe,i),[t.services.probe]),r=Ft(n);return(0,Jo.useEffect)(()=>{r.status==="unknown"&&!i&&r.probe()},[t.services.probe,r.status]),(0,Jo.useEffect)(()=>{i&&(r.setToken(i),r.probe())},[i]),[e,r,t.hasAuth]}var da=R(B(),1),eo=(0,on.createContext)(null),OS=(0,on.createContext)(null);OS.displayName="CurrentAuth";var LS=(0,on.createContext)(null);LS.displayName="AuthActions";function Rf({children:e}){let t=(0,on.useMemo)(()=>Cf(),[]);return(0,da.jsx)(eo.Provider,{value:t,children:e})}function Tf(){return!!(0,on.useContext)(eo)}function es(){let e=(0,on.useContext)(eo);if(!e)throw new Error("useAuthActions must be used within a AuthProvider");return e}function FS(){let e=es();return Ft(e,i=>({login:i.login,logout:i.logout,nextAuth:i.nextAuth,previousAuth:i.previousAuth,setAuth:i.setAuth,addService:i.addService,removeService:i.removeService}))}function lI(){let e=es();return Ft(e,t=>t)}function zS(e){let t=es();return Ft(t,n=>n.authItems.find(r=>r.service.id===e))}function Af(e){let t=es();return Ft(t,n=>n.authItems.find(r=>r.id===e)?.session?.token)}function uI(e){let t=es();return Ft(t,n=>{let r=n.authItems.find(a=>a.service.id===e);return!r||!r.isLoggedIn||!r.session?null:r.session?.token||null})}function cI(e){let t=FS(),i=zS(e.service.id);return(0,on.useEffect)(()=>(t?.addService(e.service,e.probeId),()=>{t?.removeService(e.service,e.probeId)}),[e.service]),i?(i.error||!i.isLoggedIn,e.children):null}function If(){return null}function _f(e){let[t,i,n]=kS(e.resource),r=e.fallbackComponent||If,a=e.loadingComponent||If,l=e.errorComponent||If,c=i.service,p=null;if(!n||!c)return e.children(t);let m=c.service.filter(h=>h.type==="AuthAccessService2");i.status==="error"&&(p=(0,da.jsx)(l,{resource:e.resource,error:i.error||"",heading:i.errorHeading,note:i.errorNote,extra:e.extra})),(i.status==="unknown"||i.status==="probing")&&(p=(0,da.jsx)(a,{})),i.status==="success"&&(p=e.children(t));for(let h of m)p=(0,da.jsx)(cI,{service:h,probeId:c.id,children:p},h.id);return p}var ha=R(H(),1);var dI=e=>e.id||e["@id"];function hI(e){return(Array.isArray(e.service)?e.service:[e.service]).find(i=>i.profile==="http://iiif.io/api/search/0/autocomplete"||i.profile==="http://iiif.io/api/search/1/autocomplete"||i.profile==="AutoCompleteService1")}var NS=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 i=t?dI(t):void 0,n=null;return jn((r,a)=>({service:t,resources:[],lastQuery:{},loading:!1,error:!1,highlight:null,hasSearch:!!t,hasAutocomplete:t?!!hI(t):!1,errorMessage:"",search(l,c={}){if(!i)throw new Error("No search service found.");n&&!n.signal.aborted&&n.abort(),n=new AbortController;let p=new URLSearchParams;l.q&&p.set("q",l.q),l.motivation&&p.set("motivation",l.motivation),l.date&&p.set("date",l.date),l.user&&p.set("user",l.user),r({loading:!0}),fetch(`${i}?${p.toString()}`,{signal:n.signal,headers:{"Content-Type":"application/json",Accept:"application/json",...c.headers||{}}}).then(async m=>{if(!n?.signal.aborted)if(m.ok){let h=await m.json();r({resources:h.resources,error:!1,errorMessage:""})}else r({resources:[],error:!0,errorMessage:m.statusText})})},clearSearch(){r({resources:[],error:!1,errorMessage:""})},highlightResult(l){let c=a().resources.find(p=>p["@id"]===l);r({highlight:c})},nextResult(){let l=a().resources,c=a().highlight;if(!c){r({highlight:l[0]||null});return}let p=l.findIndex(m=>m["@id"]===c["@id"]);if(p===-1){r({highlight:l[0]||null});return}r({highlight:l[p+1]||l[0]||null})},previousResult(){let l=a().resources,c=a().highlight;if(!c){r({highlight:l[l.length-1]||null});return}let p=l.findIndex(m=>m["@id"]===c["@id"]);if(p===-1){r({highlight:l[l.length-1]||null});return}if(p===0){r({highlight:l[l.length-1]||null});return}r({highlight:l[p-1]||l[l.length-1]||null})}}))};function Mf(){let e=vt();return e?e.service.find(t=>t.profile==="SearchService1"||t.profile==="http://iiif.io/api/search/1/search"):void 0}var cc=R(B(),1),ts=(0,ha.createContext)(null);ts.displayName="Search";function BS(e){let t=Mf();return e.store?(0,cc.jsx)(ts.Provider,{value:e.store,children:e.children}):(0,cc.jsx)(pI,{service:t,children:e.children})}function pI({service:e,children:t}){let i=(0,ha.useMemo)(()=>NS(e),[e]);return(0,cc.jsx)(ts.Provider,{value:i,children:t})}var mi=R(B(),1),pa=()=>{},is=(0,dc.createContext)({setCurrentCanvasId:pa,setCurrentCanvasIndex:pa,nextCanvas:pa,previousCanvas:pa,items:[],sequence:[],setSequenceIndex:pa,currentSequenceIndex:0,hasNext:!1,hasPrevious:!1});function jS(e){let t=vt(),{cursor:i,visibleItems:n,next:r,sequence:a,items:l,setCanvasIndex:c,setCanvasId:p,previous:m,setSequenceIndex:h,hasNext:y,hasPrevious:S}=Sf({startCanvas:e.startCanvas,disablePaging:e.pagingEnabled===!1}),w=(0,dc.useMemo)(()=>({sequence:a,items:l,setCurrentCanvasId:p,nextCanvas:r,previousCanvas:m,totalCanvases:l.length,setCurrentCanvasIndex:c,setSequenceIndex:h,currentSequenceIndex:i,hasNext:y,hasPrevious:S}),[a,l,p,r,m,l,c,h,i]);return t?n.length===0?null:(0,mi.jsx)(is.Provider,{value:w,children:(0,mi.jsx)(Zr.Provider,{value:n,children:(0,mi.jsx)(Vi,{canvas:n[0],children:e.children})})}):(console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,mi.jsx)("div",{children:"Sorry, something went wrong."}))}function kf(e){let t=Kr(e.vault),i=gf(e.manifest);if(!i)return console.warn("The manifest passed to the provider is not a valid IIIF manifest."),(0,mi.jsx)("div",{children:"Sorry, something went wrong."});if(i.error)return(0,mi.jsx)("div",{children:i.error.toString()});if(!i.isLoaded)return(0,mi.jsx)("div",{children:"Loading..."});let n=(0,mi.jsx)(jS,{...e,children:e.children});return(0,mi.jsx)(Xr,{vault:t,children:(0,mi.jsx)(yf,{manifest:i.id,children:(0,mi.jsx)(Rf,{children:(0,mi.jsx)(BS,{children:e.rangeId?(0,mi.jsx)(vf,{range:e.rangeId,children:n}):n})})})})}function fa(){return(0,DS.useContext)(is)}var VS=R(H(),1),hc=R(H(),1);function Vn(e){return{all:e=e||new Map,on:function(t,i){var n=e.get(t);n?n.push(i):e.set(t,[i])},off:function(t,i){var n=e.get(t);n&&(i?n.splice(n.indexOf(i)>>>0,1):e.set(t,[]))},emit:function(t,i){var n=e.get(t);n&&n.slice().map(function(r){r(i)}),(n=e.get("*"))&&n.slice().map(function(r){r(t,i)})}}}var WS=R(B(),1),US=Vn(),to=(0,hc.createContext)({emitter:US});to.displayName="Events";function ma(){return VS.default.useContext(to).emitter}function fI({emitter:e,children:t}){return(0,WS.jsx)(to.Provider,{value:(0,hc.useMemo)(()=>({emitter:e}),[e]),children:t})}var HS=R(H(),1),Pn=R(B(),1),Of=HS.default.createContext({});function Lf(){let e=(0,Ai.useContext)(Of),t=Object.keys(e),i={};for(let n of t)e[n].Provider&&(i[n]={value:(0,Ai.useContext)(e[n]),Provider:e[n].Provider});return i}function qS(e){let t=Object.keys(e),i=e.children;for(let n of t){if(n==="children")continue;let{value:r,Provider:a}=e[n];i=(0,Pn.jsx)(a,{value:r,children:i})}return i}function mI(e){let t=(0,Ai.useContext)(Of),i=(0,Ai.useMemo)(()=>({...t,...e.providers}),[e.providers]);return(0,Pn.jsx)(Of.Provider,{value:i,children:e.children})}function Ff(){return{VaultContext:(0,Ai.useContext)(mr),ResourceContext:(0,Ai.useContext)(ta),SimpleViewerReactContext:(0,Ai.useContext)(is),VisibleCanvasReactContext:(0,Ai.useContext)(Zr),AuthRContext:(0,Ai.useContext)(eo),SearchReactContext:(0,Ai.useContext)(ts),ReactEventContext:(0,Ai.useContext)(to)}}function zf(e){return(0,Pn.jsx)(Xr,{vault:e.bridge.VaultContext.vault||void 0,resources:e.bridge.ResourceContext,children:(0,Pn.jsx)(Zr.Provider,{value:e.bridge.VisibleCanvasReactContext,children:(0,Pn.jsx)(is.Provider,{value:e.bridge.SimpleViewerReactContext,children:(0,Pn.jsx)(to.Provider,{value:e.bridge.ReactEventContext,children:(0,Pn.jsx)(eo.Provider,{value:e.bridge.AuthRContext,children:(0,Pn.jsx)(ts.Provider,{value:e.bridge.SearchReactContext,children:e.custom?(0,Pn.jsx)(qS,{...e.custom,children:e.children}):e.children})})})})})})}var ns=R(H(),1);var Un=R(H(),1);var QS=R(H(),1);function Nf(){let t=_e().getStore();return(0,QS.useMemo)(()=>i=>t.dispatch(i),[t])}function $S(e){return typeof e!="string"&&e&&e.bindToVault}function Bf(){let e=_e(),t=(0,Un.useRef)([]),i=Nf(),n=(0,Un.useMemo)(()=>`vault://annotation-page/${new Date().getTime()}/${Math.round(Math.random()*1e9).toString(16)}`,[]);(0,Un.useLayoutEffect)(()=>{let c={id:n,type:"AnnotationPage",behavior:[],label:null,thumbnail:[],summary:null,requiredStatement:null,metadata:[],rights:null,provider:[],items:[],seeAlso:[],homepage:[],rendering:[],service:[]};i(Vr.importEntities({entities:{AnnotationPage:{[c.id]:c}}}))},[n]);let r=De(c=>n&&c.iiif.entities.AnnotationPage[n]||null,[n]),a=(0,Un.useCallback)((c,p)=>{if(n){if($S(c)){let y=c;y.__vault||y.bindToVault(e),c=typeof y.source=="string"?y.source:y.source.id,t.current[c]=y}else typeof c!="string"&&(c=c.id);let m=e.get({id:n,type:"AnnotationPage"}),h=e.get({id:c,type:"Annotation"});m&&h&&(m.items.find(y=>y.id===h.id)||i(Vr.addReference({id:n,type:"AnnotationPage",key:"items",reference:{id:c,type:"Annotation"},index:p})))}},[n]),l=(0,Un.useCallback)(c=>{n&&($S(c)?c=typeof c.source=="string"?c.source:c.source.id:typeof c!="string"&&(c=c.id),t.current[c]&&t.current[c].beforeRemove(),e.get({id:n,type:"AnnotationPage"})&&i(Vr.removeReference({id:n,type:"AnnotationPage",key:"items",reference:{id:c,type:"Annotation"}})))},[n]);return[r,{addAnnotation:a,removeAnnotation:l}]}var YS=R(B(),1),GS=(0,ns.createContext)(null);function Df(){let e=(0,ns.useContext)(GS);return[e.fullPage,{addAnnotation:e.addAnnotation,removeAnnotation:e.removeAnnotation}]}function jf({children:e}){let[t,{addAnnotation:i,removeAnnotation:n}]=Bf();return(0,YS.jsx)(GS.Provider,{value:(0,ns.useMemo)(()=>({fullPage:t,addAnnotation:i,removeAnnotation:n}),[t]),children:e})}var rs=R(B(),1);function pc({width:e,style:t,height:i,error:n,resetErrorBoundary:r}){return(0,rs.jsxs)("div",{style:{width:e,height:i,minHeight:500,...t||{},background:"#f9f9f9"},children:[(0,rs.jsx)("h3",{children:"Error occurred"}),(0,rs.jsx)("p",{children:n.message}),(0,rs.jsx)("button",{type:"button",onClick:r,children:"Reset"})]})}var fc=R(H(),1),Ui=(0,fc.createContext)(null);function ga(){return(0,fc.useContext)(Ui)}var io=R(H(),1),Vf=(0,io.createContext)(()=>{}),Uf=(0,io.createContext)(()=>{});function zt(e,t,i,n,r=[]){let a=(0,io.useContext)(e==="portal"?Uf:Vf);(0,io.useEffect)(()=>(e!=="none"&&a(t,i,n),()=>{a(t,null)}),[t,e,a,...r])}var os=R(H(),1);var XS=R(H(),1);function Ce(e={},t=[]){let{id:i,selector:n}=e,r=Xt(),a=i||r.canvas,l=De(c=>a?c.iiif.entities.Canvas[a]:void 0,[a]);return(0,XS.useMemo)(()=>{if(l)return n?n(l):l},[l,n,...t])}var Wf=(0,os.createContext)(()=>{});function KS(e){let t=Ce(),i=(0,os.useContext)(Wf);(0,os.useEffect)(()=>t&&t.id?(i(t.id,e),()=>i(t.id,-1)):()=>{},[t,e])}var bt=R(B(),1);function mc({children:e,errorFallback:t,outerContainerProps:i={},worldScale:n,...r}){let[a,l]=(0,ii.useState)(),c=Lf(),p=Ff(),m=t||pc,[h,y]=(0,ii.useState)({}),S=Object.entries(h),[w,v]=(0,ii.useState)({}),x=Object.entries(w),[A,C]=(0,ii.useState)({}),I=(0,ii.useMemo)(()=>n||Math.max(...Object.values(A)),[A]),E=(0,ii.useMemo)(()=>({maxOverZoom:I||1,...r.runtimeOptions||{}}),[I,r.runtimeOptions]),M=(0,ii.useCallback)((Q,V)=>{C(J=>{if(V===-1){let{[Q]:U,...q}=J;return q}return{...J,[Q]:V}})},[]),k=(0,ii.useCallback)((Q,V,J)=>{y(({[Q]:U,...q})=>V?{...q,[Q]:{element:V,props:J}}:q)},[]),O=(0,ii.useCallback)((Q,V,J)=>{v(({[Q]:U,...q})=>V?{...q,[Q]:{element:V,props:J}}:q)},[]);return(0,bt.jsxs)(Bo,{resetKeys:[],fallbackRender:Q=>(0,bt.jsx)(m,{...r,...Q}),children:[(0,bt.jsx)(r0,{...r,containerProps:{style:{position:"relative"},...r.containerProps||{}},htmlChildren:(0,bt.jsx)(bt.Fragment,{children:S.map(([Q,{element:V,props:J}])=>(0,bt.jsx)(ii.default.Fragment,{children:(0,bt.jsx)(V,{...J||{}})},Q))}),onCreated:Q=>{l(Q),r.onCreated&&r.onCreated(Q)},runtimeOptions:E,children:(0,bt.jsx)(Ui.Provider,{value:a,children:(0,bt.jsx)(Wf.Provider,{value:M,children:(0,bt.jsx)(Vf.Provider,{value:k,children:(0,bt.jsx)(Uf.Provider,{value:O,children:(0,bt.jsx)(zf,{bridge:p,custom:c,children:(0,bt.jsx)(No.Provider,{value:r.mode||"explore",children:(0,bt.jsx)(jf,{children:e})})})})})})})}),(0,bt.jsx)("div",{children:x.map(([Q,{element:V,props:J}])=>(0,bt.jsx)(ii.default.Fragment,{children:(0,bt.jsx)(V,{...J||{}})},Q))})]})}var Hf=R(H(),1);function ya(e=zn){return{addEventListener(t,i,n,r){if(t)return e.setMetaValue([t.id,"eventManager",i],a=>{let l=a||[];for(let c of l)if(c.callback===n)return l;return[...l,{callback:n,scope:r}]}),n},removeEventListener(t,i,n){t&&e.setMetaValue([t.id,"eventManager",i],r=>(r||[]).filter(a=>a.callback!==n))},getListenersAsProps(t,i){let n=typeof t=="string"?{id:t}:t;if(!n||!n.id)return{};let r=e.getResourceMeta(n.id,"eventManager"),a={};if(r&&n)for(let l of Object.keys(r))a[l]=c=>{let p=e.get(n);for(let{callback:m,scope:h}of r[l]||[])(!h||i&&h.indexOf(i)!==-1)&&m(c,p)};return a}}}function va(e,t){let i=_e(),n=(0,Hf.useMemo)(()=>ya(i),[i]),r=De(()=>e&&e.id?i.getResourceMeta(e.id,"eventManager"):null,[e]);return(0,Hf.useMemo)(()=>e?n.getListenersAsProps(e,t):{},[r,e,i,t])}var ZS=R(H(),1);function yr(e=zn){return{applyStyles(t,i,n){let r=typeof t=="string"?t:t.id;return e.setMetaValue([r,"styles",i],n)},getAppliedStyles(t){let i=typeof t=="string"?t:t.id;return e.getResourceMeta(i,"styles")}}}function no(e,t){let i=_e(),n=(0,ZS.useMemo)(()=>yr(i),[i]);return De(()=>{if(!e)return null;let r=n.getAppliedStyles(e.id);return r?t?r[t]:r:void 0},[e,t])}var sw=R(H(),1);var ow=R(H(),1);var gI=Bh({"node_modules/.pnpm/parse-svg-path@0.1.2/node_modules/parse-svg-path/index.js"(e,t){"use strict";t.exports=r;var i={a:7,c:6,h:1,l:2,m:2,q:4,s:4,t:2,v:1,z:0},n=/([astvzqmhlc])([^astvzqmhlc]*)/ig;function r(c){var p=[];return c.replace(n,function(m,h,y){var S=h.toLowerCase();for(y=l(y),S=="m"&&y.length>2&&(p.push([h].concat(y.splice(0,2))),S="l",h=h=="m"?"l":"L");;){if(y.length==i[S])return y.unshift(h),p.push(y);if(y.length<i[S])throw new Error("malformed path data");p.push([h].concat(y.splice(0,i[S])))}}),p}var a=/-?[0-9]*\.?[0-9]+(?:e[-+]?\d+)?/ig;function l(c){var p=c.match(a);return p?p.map(Number):[]}}}),yI=Bh({"node_modules/.pnpm/abs-svg-path@0.1.1/node_modules/abs-svg-path/index.js"(e,t){"use strict";t.exports=i;function i(n){var r=0,a=0,l=0,c=0;return n.map(function(p){p=p.slice();var m=p[0],h=m.toUpperCase();if(m!=h)switch(p[0]=h,m){case"a":p[6]+=l,p[7]+=c;break;case"v":p[1]+=c;break;case"h":p[1]+=l;break;default:for(var y=1;y<p.length;)p[y++]+=l,p[y++]+=c}switch(h){case"Z":l=r,c=a;break;case"H":l=p[1];break;case"V":c=p[1];break;case"M":l=r=p[1],c=a=p[2];break;default:l=p[p.length-2],c=p[p.length-1]}return p})}}}),vI=function(){function e(t,i){var n=[],r=!0,a=!1,l=void 0;try{for(var c=t[Symbol.iterator](),p;!(r=(p=c.next()).done)&&(n.push(p.value),!(i&&n.length===i));r=!0);}catch(m){a=!0,l=m}finally{try{!r&&c.return&&c.return()}finally{if(a)throw l}}return n}return function(t,i){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return e(t,i);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}(),xa=Math.PI*2,qf=function(t,i,n,r,a,l,c){var p=t.x,m=t.y;p*=i,m*=n;var h=r*p-a*m,y=a*p+r*m;return{x:h+l,y:y+c}},xI=function(t,i){var n=i===1.5707963267948966?.551915024494:i===-1.5707963267948966?-.551915024494:1.3333333333333333*Math.tan(i/4),r=Math.cos(t),a=Math.sin(t),l=Math.cos(t+i),c=Math.sin(t+i);return[{x:r-a*n,y:a+r*n},{x:l+c*n,y:c-l*n},{x:l,y:c}]},JS=function(t,i,n,r){var a=t*r-i*n<0?-1:1,l=t*n+i*r;return l>1&&(l=1),l<-1&&(l=-1),a*Math.acos(l)},SI=function(t,i,n,r,a,l,c,p,m,h,y,S){var w=Math.pow(a,2),v=Math.pow(l,2),x=Math.pow(y,2),A=Math.pow(S,2),C=w*v-w*A-v*x;C<0&&(C=0),C/=w*A+v*x,C=Math.sqrt(C)*(c===p?-1:1);var I=C*a/l*S,E=C*-l/a*y,M=h*I-m*E+(t+n)/2,k=m*I+h*E+(i+r)/2,O=(y-I)/a,Q=(S-E)/l,V=(-y-I)/a,J=(-S-E)/l,U=JS(1,0,O,Q),q=JS(O,Q,V,J);return p===0&&q>0&&(q-=xa),p===1&&q<0&&(q+=xa),[M,k,U,q]},wI=function(t){var i=t.px,n=t.py,r=t.cx,a=t.cy,l=t.rx,c=t.ry,p=t.xAxisRotation,m=p===void 0?0:p,h=t.largeArcFlag,y=h===void 0?0:h,S=t.sweepFlag,w=S===void 0?0:S,v=[];if(l===0||c===0)return[];var x=Math.sin(m*xa/360),A=Math.cos(m*xa/360),C=A*(i-r)/2+x*(n-a)/2,I=-x*(i-r)/2+A*(n-a)/2;if(C===0&&I===0)return[];l=Math.abs(l),c=Math.abs(c);var E=Math.pow(C,2)/Math.pow(l,2)+Math.pow(I,2)/Math.pow(c,2);E>1&&(l*=Math.sqrt(E),c*=Math.sqrt(E));var M=SI(i,n,r,a,l,c,y,w,x,A,C,I),k=vI(M,4),O=k[0],Q=k[1],V=k[2],J=k[3],U=Math.abs(J)/(xa/4);Math.abs(1-U)<1e-7&&(U=1);var q=Math.max(Math.ceil(U),1);J/=q;for(var ee=0;ee<q;ee++)v.push(xI(V,J)),V+=J;return v.map(function(Me){var pe=qf(Me[0],l,c,A,x,O,Q),Re=pe.x,ke=pe.y,He=qf(Me[1],l,c,A,x,O,Q),qe=He.x,$=He.y,ve=qf(Me[2],l,c,A,x,O,Q),it=ve.x,Qe=ve.y;return{x1:Re,y1:ke,x2:qe,y2:$,x:it,y:Qe}})},bI=wI,CI=Dh(gI(),1),PI=Dh(yI(),1);function EI(e){let t=(0,CI.default)(e),i=(0,PI.default)(t),n,r=0,a=0,l=0,c=0,p,m,h=0,y=0,S=[];for(let w=0;w<i.length;w++){let v=i[w],x=v[0];switch(x){case"M":r=v[1],a=v[2];break;case"H":v=["L",v[1],a];break;case"V":v=["L",r,v[1]];break;case"S":{let A=h,C=y;(n==="C"||n=="S")&&(A+=A-l,C+=C-c),v=["C",A,C,v[1],v[2],v[3],v[4]]}break;case"T":n==="Q"||n=="T"?(p=h*2-p,m=y*2-m):(p=h,m=y),v=["Q",p,m,v[1],v[2]];break;case"Q":p=v[1],m=v[2];break;case"A":{let A=bI({px:h,py:y,cx:v[6],cy:v[7],rx:v[1],ry:v[2],xAxisRotation:v[3],largeArcFlag:v[4],sweepFlag:v[5]});if(!A.length)continue;for(let[C,I]of A.entries())v=["C",I.x1,I.y1,I.x2,I.y2,I.x,I.y],C<A.length-1&&S.push(v);v=v}break;case"Z":v=["L",r,a];break}n=x,h=v[v.length-2],y=v[v.length-1],["C","Q","A"].indexOf(x)>-1?(l=v[v.length-4],c=v[v.length-3]):(l=h,c=y),S.push(v)}return S}function AI(e,t,i,n=1){return new iw(e,t,i).subdivide(n)}function II(e,t,i,n,r=1){return new TI(new Float64Array([e.x,e.y,t.x,t.y,i.x,i.y,n.x,n.y])).subdivide(r)}function RI(e){return e.x*e.x+e.y*e.y}function Sa(e){return e/(1-.67+Math.pow(Math.pow(.67,4)+.25*e*e,.25))}function ss(e){return e*(1-.39+Math.sqrt(.39*.39+.25*e*e))}var iw=class{constructor(e,t,i){Tt(this,"start"),Tt(this,"control"),Tt(this,"end"),this.start=e,this.control=t,this.end=i}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:i,y:n}=this.control,{x:r,y:a}=this.end,l=2*i-e-r,c=2*n-t-a,p=(i-e)*l+(n-t)*c,m=(r-i)*l+(a-n)*c,h=(r-e)*c-(a-t)*l,y=p/h,S=m/h,w=Math.abs(h)/(Math.hypot(l,c)*Math.abs(S-y));return{x0:e,x2:r,scale:w,cross:h}}subdivide(e){let t=this.mapToBasic(),i=Sa(t.x0),n=Sa(t.x2),r=.5*Math.abs(n-i)*Math.sqrt(t.scale/e),a=Math.ceil(r),l=ss(i),c=ss(n),p=[0];for(let m=1;m<a;m++){let y=(ss(i+(n-i)*m/a)-l)/(c-l);p.push(y)}return p.push(1),p.map(m=>this.eval(m))}},TI=class nw{constructor(t){Tt(this,"c"),this.c=t}weightsum(t,i,n,r){let a=t*this.c[0]+i*this.c[2]+n*this.c[4]+r*this.c[6],l=t*this.c[1]+i*this.c[3]+n*this.c[5]+r*this.c[7];return{x:a,y:l}}eval(t){let i=1-t,n=i*i*i,r=3*i*i*t,a=3*i*t*t,l=t*t*t;return this.weightsum(n,r,a,l)}deriv(t){let i=1-t,n=-3*i*i,r=3*t*t,a=-6*t*i-n,l=6*t*i-r;return this.weightsum(n,a,l,r)}midpoint_quadbez(){let t=this.weightsum(-.25,.75,.75,-.25);return new iw({x:this.c[0],y:this.c[1]},t,{x:this.c[6],y:this.c[7]})}subsegment(t,i){let n=new Float64Array(8),r=this.eval(t),a=this.eval(i);n[0]=r.x,n[1]=r.y;let l=(i-t)/3,c=this.deriv(t);n[2]=r.x+l*c.x,n[3]=r.y+l*c.y;let p=this.deriv(i);return n[4]=a.x-l*p.x,n[5]=a.y-l*p.y,n[6]=a.x,n[7]=a.y,new nw(n)}subdivide(t){let i=.1*t,n=t-i,r=Math.sqrt(n),a=RI(this.weightsum(1,-3,3,-1)),l=Math.ceil(Math.pow(a/(432*i*i),1/6)),c=[],p=0;for(let v=0;v<l;v++){let x=v/l,A=(v+1)/l,C=this.subsegment(x,A).midpoint_quadbez(),I=C.mapToBasic(),E=Sa(I.x0),M=Sa(I.x2),k=Math.sqrt(I.scale),O=Math.abs(M-E)*k;if(Math.sign(I.x0)!=Math.sign(I.x2)){let Q=r/k,V=r*Math.abs(M-E)/Sa(Q);O=Math.max(O,V)}c.push({quad:C,a0:E,a2:M,val:O}),p+=O}let m=.5*p/r,h=Math.ceil(m),y=[{x:this.c[0],y:this.c[1]}],S=0,w=0;for(let v=1;v<h;v++){let x=p*v/h;for(;S+c[w].val<x;)S+=c[w].val,w++;let A=c[w].a0,C=c[w].a2,I=ss(A),E=ss(C),M=A+(C-A)*(x-S)/c[w].val,O=(ss(M)-I)/(E-I);y.push(c[w].quad.eval(O))}return y.push({x:this.c[6],y:this.c[7]}),y}},_I=/&?(xywh=)?(pixel:|percent:|pct:)?([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?),([0-9]+(?:\.[0-9]+)?)/,ew=/&?(t=)(npt:)?([0-9]+(\.[0-9]+)?)?(,([0-9]+(\.[0-9]+)?))?/,tw=/^rgba\((\d+),(\d+),(\d+),([0-9.]+)\)$/;function Wn(e,{domParser:t,svgPreprocessor:i,iiifRenderingHints:n}={}){if(Array.isArray(e))return Wi(e.reduce((r,a)=>{let{selector:l,selectors:c,iiifRenderingHints:p}=Wn(a,{domParser:t,svgPreprocessor:i,iiifRenderingHints:n});return l&&(r.selector||(r.selector=l),r.selectors.push(...c)),p&&(r.iiifRenderingHints=r.iiifRenderingHints||{type:"ImageApiSelector"},Object.assign(r.iiifRenderingHints,p)),r},{selector:null,selectors:[],iiifRenderingHints:n}));if(!e)return Wi({selector:null,selectors:[],iiifRenderingHints:n});if(typeof e=="string"){let[r,a]=e.split("#");return a?Wn({type:"FragmentSelector",value:a},{svgPreprocessor:i,iiifRenderingHints:n,domParser:t}):Wi({selector:null,selectors:[],iiifRenderingHints:n})}if(e.type){if(e.type==="PointSelector"&&(e.t||e.t===0)){let r={type:"TemporalSelector",temporal:{startTime:e.t}};return Wi({selector:r,selectors:[r],iiifRenderingHints:n})}if(e.type==="PointSelector"&&e.x&&e.y){let r={type:"PointSelector",spatial:{x:e.x,y:e.y}};return Wi({selector:r,selectors:[r],iiifRenderingHints:n})}}if(gc(e)){let r=[];if(e.region){let a=Wn({type:"FragmentSelector",value:"xywh="+e.region},{domParser:t,svgPreprocessor:i,iiifRenderingHints:n});r.push(...a.selectors)}return Wi({selector:r[0],selectors:r,iiifRenderingHints:n?{...n,...e}:e})}if(e.type==="FragmentSelector"){let r=_I.exec(e.value);if(r){let l={type:"BoxSelector",spatial:{unit:r[2]==="percent:"||r[2]==="pct:"?"percent":"pixel",x:parseFloat(r[3]),y:parseFloat(r[4]),width:parseFloat(r[5]),height:parseFloat(r[6])}},c=e.value.match(ew);return c&&(l={type:"TemporalBoxSelector",spatial:l.spatial,temporal:{startTime:c[3]?parseFloat(c[3]):0,endTime:c[6]?parseFloat(c[6]):void 0}}),Wi({selector:l,selectors:[l],iiifRenderingHints:n})}let a=e.value.match(ew);if(a){let l={type:"TemporalSelector",temporal:{startTime:a[3]?parseFloat(a[3]):0,endTime:a[6]?parseFloat(a[6]):void 0}};return Wi({selector:l,selectors:[l],iiifRenderingHints:n})}return Wi({selector:null,selectors:[],iiifRenderingHints:n})}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,c=i?.(e.value)??e.value,p;if(t){let h=t.parseFromString(e.value,"image/svg+xml").querySelector("svg");if(!h)return console.warn(`Illegal SVG selector: ${e.value}`),Wi({selector:null,selectors:[],iiifRenderingHints:n});let y=rw(h);y&&(r=y.points,p=y.shapeType,a=[Math.min(...r.map(S=>S[0])),Math.min(...r.map(S=>S[1])),Math.max(...r.map(S=>S[0])),Math.max(...r.map(S=>S[1]))],{style:l,svg:c}=OI(y.element)??{svg:c})}let m={type:"SvgSelector",svg:c,svgShape:p,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 Wi({selector:m,selectors:[m],iiifRenderingHints:n})}return Wi({selector:null,selectors:[],iiifRenderingHints:n})}function MI(e){let t=e.map(n=>n[0]).reduce((n,r)=>(n[r]+=1,n),{C:0,Q:0,L:0,M:0}),i=new Set(e.map(n=>n[0]));if(t.C>0||t.Q>0)return"path";if(t.L>0&&(i.size===1||i.size===2&&i.has("M"))){if(t.L===4)return"rect";let n=e.slice(-1)[0];return e[0][0]==="M"&&n[0]==="L"&&n[1]==e[0][1]&&n[2]===e[0][2]||n[1]===0&&n[2]===0?"polygon":"polyline"}return"path"}function rw(e){for(let t of Array.from(e.children))switch(t?.tagName.toLowerCase()){case"g":{let i=rw(t);if(i)return i}continue;case"path":{let i=t.getAttribute("d");if(!i)continue;let n=EI(i);return{element:t,points:kI(n),shapeType:MI(n)}}case"circle":{let i=parseFloat(t.getAttribute("cx")??"0"),n=parseFloat(t.getAttribute("cy")??"0"),r=parseFloat(t.getAttribute("r")??"0");if(!r)continue;let a=[];for(let l=0;l<=360;l+=12){let c=l*Math.PI/180;a.push([i+r*Math.cos(c),n+r*Math.sin(c)])}return{element:t,points:a,shapeType:"circle"}}case"ellipse":{let i=parseFloat(t.getAttribute("cx")??"0"),n=parseFloat(t.getAttribute("cy")??"0"),r=parseFloat(t.getAttribute("rx")??"0"),a=parseFloat(t.getAttribute("ry")??"0");if(!r&&!a)continue;let l=[];for(let c=0;c<=360;c+=12){let p=Math.tan(c/360*Math.PI),m=r*(1-p**2)/(1+p**2),h=a*2*p/(1+p**2);l.push([i+m,n+h])}return{element:t,points:l,shapeType:"ellipse"}}case"line":{let i=parseFloat(t.getAttribute("x0")??"0"),n=parseFloat(t.getAttribute("y0")??"0"),r=parseFloat(t.getAttribute("x1")??"0"),a=parseFloat(t.getAttribute("y1")??"0");if(i===r&&n===a)continue;return{element:t,points:[[i,n],[r,a]],shapeType:"polyline"}}case"polygon":case"polyline":{let i=t.getAttribute("points")?.split(" ").map(r=>r.split(",").map(parseFloat))??[];if(!i.length)continue;let n="polyline";return t.tagName.toLowerCase()==="polygon"&&(i.push(i[0]),n="polygon"),{element:t,points:i,shapeType:n}}case"rect":{let i=parseFloat(t.getAttribute("x")??"0"),n=parseFloat(t.getAttribute("y")??"0"),r=parseFloat(t.getAttribute("width")??"0"),a=parseFloat(t.getAttribute("height")??"0");if(!r||!a)continue;return{element:t,points:[[i,n],[i+r,n],[i+r,n+a],[i,n+a],[i,n]],shapeType:"rect"}}default:continue}return null}function kI(e){let t=[];for(let i=0;i<e.length;i++){let n=t[t.length-1]??[0,0],r=e[i];switch(r[0]){case"M":case"L":t.push([r[1],r[2]]);continue;case"C":t.push(...II({x:n[0],y:n[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(...AI({x:n[0],y:n[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 OI(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 n=tw.exec(t.fill);n&&(t.fillOpacity=parseFloat(n[4]),t.fill=`rgb(${n[1]}, ${n[2]}, ${n[3]})`)}if(e.hasAttribute("fill-opacity")?(t.fillOpacity=parseFloat(e.getAttribute("fill-opacity")),e.removeAttribute("fill-opacity")):e.style&&e.style.fillOpacity&&(t.fillOpacity=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 n=tw.exec(t.stroke);n&&(t.strokeOpacity=parseFloat(n[4]),t.stroke=`rgb(${n[1]}, ${n[2]}, ${n[3]})`)}e.hasAttribute("stroke-opacity")?(t.strokeOpacity=parseFloat(e.getAttribute("stroke-opacity")),e.removeAttribute("stroke-opacity")):e.style&&e.style.strokeOpacity&&(t.strokeOpacity=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 i=e;for(;i.tagName.toLowerCase()!=="svg";)if(i=i.parentElement,i===null)throw new Error("Could not find root SVG element");return{svg:i.outerHTML,style:Object.keys(t).length>0?t:void 0}}function gc(e){return!!e&&e.type==="iiif:ImageApiSelector"&&e.type==="iiif:ImageApiSelector"}function Wi(e){if(e.iiifRenderingHints){let t=e.iiifRenderingHints;if(t.rotation){let i=yc(`${t.rotation}`);if(i)if(e.selectors.length)for(let n of e.selectors)n.rotation=i;else e.selectors.push({type:"RotationSelector",rotation:i})}}else delete e.iiifRenderingHints;return e}function yc(e){let t=parseFloat(e);return t&&e.startsWith("!")&&(t=360-t),t&&(t=t%360),t!==t?0:t||0}function Nt(e,t={}){if(Array.isArray(e))return Nt(e[0]);if(typeof e=="string"){let[i,n]=e.split("#");return n?Nt({type:"SpecificResource",source:{id:i,type:"Unknown"},selector:{type:"FragmentSelector",value:n}}):{type:"SpecificResource",source:{id:i,type:t.typeMap&&t.typeMap[i]||"Unknown"},selector:null,selectors:[]}}if(e.type==="Choice"||e.type==="List"||e.type==="Composite"||e.type==="Independents")return Nt(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:i,selectors:n}=e.selector?Wn(e.selector,t):{selector:null,selectors:[]};return{type:"SpecificResource",source:e.source,selector:i,selectors:n}}if(e.id){e.type==="Canvas"&&e.partOf&&typeof e.partOf=="string"&&(e.partOf=[{id:e.partOf,type:"Manifest"}]);let[i,n]=e.id.split("#");return n?Nt({type:"SpecificResource",source:{...e,id:i},selector:{type:"FragmentSelector",value:n}}):{type:"SpecificResource",source:{...e,id:i},selector:null,selectors:[]}}return{type:"SpecificResource",source:e,selector:null,selectors:[]}}function wa(e={},t=[]){let{id:i,selector:n}=e,r=Xt(),a=_e(),l=i||r.annotation,c=De(m=>l?m.iiif.entities.Annotation[l]:void 0,[l]),p=De(m=>c&&c.body?c.body.map(h=>h?h.type==="SpecificResource"?{...h,source:a.get(h)}:h?m.iiif.entities[h.type][h.id]:null:null).filter(Boolean):[],[c]);return(0,ow.useMemo)(()=>{if(!c)return;let m={...c,body:p,target:Nt(c.target,{typeMap:a.getState().iiif.mapping})};return n?n(m):m},[c,n,p,...t])}var aw=R(B(),1),vc=({id:e,style:t,className:i,interactive:n})=>{let r=wa({id:e}),a=no(r,"atlas"),l=no(r,"html"),c=va(r,["atlas"]),p=Ce(),m=(0,sw.useMemo)(()=>g0(t,a),[t,a]);return p&&r&&r.target&&r.target.selector&&r.target.selector.type==="BoxSelector"&&r.target.source&&(r.target.source.id===p.id||r.target.source===p.id)?(0,aw.jsx)(h0,{id:r.id,isEditing:!0,region:r.target.selector.spatial,style:m,className:l?.className||i,interactive:!!(l?.href||n),href:l?.href||null,title:l?.title||null,hrefTarget:l?.target||null,onClick:()=>{},...c}):null};var uw=R(H(),1);var lw=R(H(),1);function Qf(e={},t=[]){let{id:i,selector:n}=e,r=Xt(),a=i||r.annotationPage,l=De(c=>a?c.iiif.entities.AnnotationPage[a]:void 0,[a]);return(0,lw.useMemo)(()=>{if(l)return n?n(l):l},[l,...t])}var $f=R(B(),1),ba=({className:e,page:t})=>{let i=Qf({id:t.id})||t,n=no(i,"atlas"),r=no(i,"html");return De(a=>i.id?a.iiif.entities.AnnotationPage[i.id]:null,[]),(0,$f.jsx)(uw.Fragment,{children:i.items?.map(a=>(0,$f.jsx)(vc,{id:a.id,style:n,className:r?.className||e},a.id))})};var vr=R(H(),1);var ls=R(H(),1);function cw(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function Gf(e=zn){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}),c=[];for(let p of l)c.push(...e.get(p.items,{parent:p}));return c}function i(r,a=[]){let l=Array.isArray(r)?r:t(r),c=[],p={items:[],type:"complex-choice"},m=[];for(let h of l){if(h.type!=="Annotation")throw new Error("getPaintables() accept either a canvas or list of annotations");let y=Array.from(Array.isArray(h.body)?h.body:[h.body]);for(let S of y){let[w,{selector:v}]=cw(S),x=e.get(w),A=(x.type||"unknown").toLowerCase();if(A==="choice"){let C=e.get(x.items,{parent:x.id}),I=a.length?a.map(E=>C.find(M=>M.id===E)).filter(Boolean):[C[0]];I.length===0&&I.push(C[0]),p.items.push({type:"single-choice",items:C.map(E=>({id:E.id,label:E.label,selected:I.indexOf(E)!==-1})),label:w.label}),y.push(...I);continue}c.indexOf(A)===-1&&c.push(A),m.push({type:A,annotationId:h.id,annotation:h,resource:x,target:h.target,selector:v})}}return{types:c,items:m,choice:p.items.length<2?p.items[0]||null:p,allChoices:p.items.length?p:null}}function n(r){let{choice:a}=i(r);return a}return{getAllPaintingAnnotations:t,getPaintables:i,extractChoices:n}}function dw(e,t,i=[],n=!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?"none":t[0];if(t.indexOf(e)!==-1)return e;let a=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(a&&t.indexOf(a)!==-1)return a;for(let l of i)if(t.indexOf(l)!==-1)return l;if(!n&&e){let c=t.map(p=>p.indexOf("-")!==-1?p.slice(0,p.indexOf("-")):null).indexOf(e);if(c!==-1)return t[c];for(let p of i){let m=p.indexOf("-")!==-1?p.slice(0,p.indexOf("-")):null,h=m?t.indexOf(m):-1;if(h!==-1)return t[h]}}return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}function Yf(e,t,i={}){let{strictFallback:n=!1,defaultText:r="",separator:a=`
77
- `,fallbackLanguages:l=[],closest:c,skipLanguages:p}=i,m=Object.keys(e||{}),h=c?t:dw(t,m,l,n,p);if(!e)return r;if(typeof e=="string")return e;let y=h?e[h]:void 0;if(y&&h){if(typeof y=="string")return y;if(y.length===1&&y[0]===""){let S=i.skipLanguages||[];return Yf(e,t,{...i,skipLanguages:[...S,h]})}return y.join(a)}return""}function Xf(e,t={}){return Yf(e,t.language||(typeof navigator<"u"?navigator.language:"en"),t)}function LI(e){return e.type==="SpecificResource"?[e.source,{selector:e.selector}]:[e,{selector:null}]}function Ca(e,t){let{selector:i,source:n}=Nt(t);if(n.id!==e.id)return[null,n];let r={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}};return[i?i.type==="TemporalSelector"?{type:"TemporalBoxSelector",temporal:i.temporal,spatial:r.spatial}:i:null,n]}var Kf={makeChoice:()=>{}},Pa={type:"unknown"},et=e=>({type:"unknown",reason:e,annotations:{pages:[]}}),Zf=(e,t)=>({type:"empty",width:e,height:t,annotations:{pages:[]},image:null,images:[]});var Ea=R(H(),1);function FI(e,t){let i=e?.iiif?.meta[t];return i?i.annotationPageManager:null}function hw(e,t){return De(i=>{let n=[];if(!e)return n;let r=Object.keys(i.iiif.entities.AnnotationPage);for(let a of r)if(!t||t.indexOf(a)!==-1){let l=FI(i,a);l&&l.views&&l.views[e]&&n.push(a)}return n},[e,t])}function Jf({canvas:e,manifest:t,all:i,canvases:n}){let r=[];if(t)for(let a of t.annotations)r.indexOf(a.id)===-1&&r.push(a.id);if(i){if(n&&n.length)for(let a of n)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 zI(e,t){let i=e?.iiif?.meta[t];return i?i.annotationPageManager:null}function Aa(e,t={}){let i=_e(),n=vt(),r=Ce(),a=Jr(),l=(0,Ea.useMemo)(()=>Jf({all:t.all,manifest:n,canvas:r,canvases:a}),[t.all,r,a,n]),c=hw(e,t.all?void 0:l),p=(0,Ea.useCallback)(h=>{e&&i.setMetaValue([h,"annotationPageManager","views"],y=>y&&!y[e]?y:{...y||{},[e]:!1})},[e,i]),m=(0,Ea.useCallback)((h,y={})=>{if(!e)return;let S=i.getState(),w=[];if(y?.deselectOthers){let v=Object.keys(S.iiif.entities.AnnotationPage);for(let x of v){let A=zI(S,x);A&&A.views&&A.views[e]&&w.push(x)}}for(let v of w)p(v);i.setMetaValue([h,"annotationPageManager","views"],v=>v&&v[e]?v:{...v||{},[e]:!0})},[e,p,i]);return{availablePageIds:l,enabledPageIds:c,setPageEnabled:m,setPageDisabled:p}}function em(e,t){return De((i,n)=>n.get(e.map(r=>({id:r,type:t}))),[e,t])}var yw=R(H(),1);var xc=R(H(),1);var pw=xc.default.createContext(Cp.store);pw.displayName="ImageServicesHelper";function Sc(){return(0,xc.useContext)(pw)}function fw(e){let t=Sc();return Ft(t,({loaded:i})=>i[e])}function as(){let e=Sc();return Ft(e,({loadServiceSync:t})=>t)}function mw(){let e=Sc();return Ft(e,({loaded:t})=>t)}function gw(){let e=Sc();return Ft(e,({loadService:t})=>t)}var NI=jn((e,t)=>({loaded:{},setLoaded:(i,n="done")=>{e(r=>({loaded:{...r.loaded,[i]:n}}))}})),BI=Vn();BI.on("loaded",e=>{NI.getState().setLoaded(e.imageServiceId)});function Ia(){let e=as(),t=mw();return[(0,yw.useCallback)((n,{height:r,width:a})=>n&&e(n,{height:r,width:a},!0),[e]),t]}var oo=R(H(),1);function ro(e={}){let t=wa(),i=Ce(e.canvasId?{id:e.canvasId}:void 0);return De((n,r)=>{if(!i)return[];if(t&&e.enableSingleAnnotation)return[t];let a=r.get(i.items),l=[];for(let c of a)l.push(...r.get(c.items));return l},[i])}function tm(e,t=[]){let i=_e(),n=(0,oo.useMemo)(()=>Gf(i),[]),r=ro({enableSingleAnnotation:e?.enableSingleAnnotation}),[a,l]=(0,oo.useState)(e?.defaultChoices||[]),c=(0,oo.useMemo)(()=>n.getPaintables(r,a),[i,r,a,...t]),m={makeChoice:(0,oo.useCallback)((h,{deselectOthers:y=!0,deselect:S=!1}={})=>{c.choice&&l(w=>{if(S){let x=w.filter(A=>A!==h);if(x.length===0){let A=c.items[0].resource.id;return A?[A]:[]}return x}if(y)return[h];let v=[...w];if(v.length===0&&c.items.length){let x=c.items[0].resource.id;x&&v.push(x)}return w.indexOf(h)!==-1?w:[...w,h]})},[c.choice])};return[c,m]}var DI=["model/gltf-binary"];function im(e,t){let i=t.items[0],n=i.resource;return n.format?DI.indexOf(n.format)===-1?et(`3D format: ${n.format} is unsupported`):{type:"3d-model",model:n,annotationId:i.annotationId,annotation:i.annotation}:et("Unknown format")}function vw(e,t){let i=t.items,n=i[0];if(i.length===0||!n)return et("No audio");if(!e.duration)return et("No duration on canvas");if(i.length>1)return et("Only one audio source supported");let r=n.resource;return r?"format"in r?{type:"media",media:{annotationId:n.annotationId,annotation:n.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:[]}}:et("Audio does not have format"):et("Unknown audio")}function Ra(e,t,i){let n=[];for(let r of t.items){let a=r.resource&&r.resource.type==="SpecificResource"?r.resource.source:r.resource;if(!a.id)return et("No resource Identifier");let l;if(a.service){let x=Fn(a);x[0]&&(l=i(x[0],e))}let c={type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}},[p,m]=Ca(e,r.target),h=e.id?.split("?")[0]||"";if(!(m.id===e.id||decodeURIComponent(m.id||"")===(e.id||"")||m.id===h||decodeURIComponent(m.id||"")===h))continue;let y=r.resource.width&&r.resource.height?{type:"BoxSelector",spatial:{x:0,y:0,width:r.resource.width,height:r.resource.height}}:void 0,S=r.resource.type==="SpecificResource"?Nt(r.resource):null;if(r.selector){let x=Nt({type:"SpecificResource",source:r.resource,selector:r.selector});x&&(S=x)}let w=S&&S.selector&&(S.selector.type==="BoxSelector"||S.selector.type==="TemporalBoxSelector")?{type:"BoxSelector",spatial:{x:S.selector.spatial.x,y:S.selector.spatial.y,width:S.selector.spatial.width,height:S.selector.spatial.height}}:void 0;l&&!l.id&&(l.id=l["@id"]);let v={id:a.id,type:"Image",annotationId:r.annotationId,annotation:r.annotation,width:Number(p||w?a.width:e.width),height:Number(p||w?a.height:e.height),service:l,sizes:l&&l.sizes?l.sizes:a.width&&a.height?[{width:a.width,height:a.height}]:[],target:p&&p.type!=="PointSelector"?p:c,selector:w||{type:"BoxSelector",spatial:{x:0,y:0,width:Number(e.width),height:Number(e.height)}}};n.push(v)}return{type:"images",image:n[0],images:n,choice:t.choice}}function xw(e,t={},i){let n=e.language||i||"none";switch(e.type){case"TextualBody":{typeof e.value<"u"&&(t[n]=[e.value]);break}case"List":case"Composite":case"Choice":e.items&&e.items.forEach(r=>xw(r,t,n))}return t}function Ta(e,t){let i=[];return t.items.forEach(n=>{if(n.resource){let[r]=Ca(e,n.target);i.push({type:"Text",annotationId:n.annotationId,annotation:n.annotation,text:xw(n.resource),target:r})}}),{type:"textual-content",items:i}}var jI=/^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/|shorts\/)|(?:(?:watch)?\?vi?=|&vi?=))([^#&?]*).*/;function _a(e,t,i){let n=t.items.filter(w=>w.type==="video"),r=n[0],a=!1;if(e.duration||(a=!0),n.length>1||!r)return et("Only one video source supported");let l=n[0]?.resource,c=!!(l.service||[]).find(w=>(w.profile||"").includes("youtube.com"));if(!c&&a)return et("Video does not have duration");if(!l)return et("Unknown video");if((!l.format||l.format==="text/html")&&!c)return et("Video does not have format");let p=[],m=i.get(e.annotations||[]);for(let w of m){let v=i.get(w.items||[]);for(let x of v)if((x.motivation?Array.isArray(x.motivation||"")?x.motivation:[x.motivation]:[]).includes("supplementing")){let C=i.get(x.body||[]);for(let I of C){let E=I;if(E.type==="Choice")for(let M of E.items){let k=i.get(M);k.format==="text/vtt"&&p.push({id:k.id,type:"Text",format:"text/vtt",label:k.label,language:k.language})}else E.format==="text/vtt"&&p.push({id:E.id,type:"Text",format:"text/vtt",label:E.label,language:E.language})}}}let h={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}}},y=Nt(r.target);y.selector&&y.selector.type==="TemporalBoxSelector"&&(h.target=y.selector);let{selector:S}=Wn(r.selector);if(S===null){let w=h.target.temporal.startTime,x=(h.target.temporal.endTime||e.duration)-w;h.selector={type:"TemporalSelector",temporal:{startTime:0,endTime:x}}}else S.type==="TemporalSelector"&&(h.selector=S);if(c){h.type="VideoYouTube";let w=l.id.match(jI);if(!w[1])return et("Video is not known youtube video");h.youTubeId=w[1]}return{type:"media",media:h,annotations:{pages:[]},captions:p}}function nm(e,t,i,n){let r={type:"complex-timeline",items:[],keyframes:[],duration:e.duration||0},a={type:"complex-choice",items:[]};function l(m){m.choice&&(m.choice.type==="complex-choice"?a.items.push(...m.choice.items):a.items.push(m.choice))}for(let m of t.items){if(m.type==="image"){let h=Ra(e,{choice:null,allChoices:null,types:["image"],items:[m]},i);if(h.type==="images"){l(h),r.items.push(h.image);let y={id:h.image.annotationId,type:"enter",resourceType:"image",time:h.image.target?.temporal?.startTime||0};r.keyframes.push(y);let S={id:h.image.annotationId,type:"exit",resourceType:"image",time:h.image.target?.temporal?.endTime||e.duration||0};r.keyframes.push(S)}}if(m.type==="textualbody"){let h=Ta(e,{choice:null,allChoices:null,types:["textualbody"],items:[m]});if(h.type==="textual-content"){l(h);let y=h.items[0];r.items.push(y);let S=y.target,w={id:y.annotationId,type:"enter",resourceType:"text",time:S.temporal?.startTime||0};r.keyframes.push(w);let v={id:y.annotationId,type:"exit",resourceType:"text",time:S.temporal?.endTime||e.duration||0};r.keyframes.push(v)}}if(m.type==="video"){let h=_a(e,{choice:null,allChoices:null,types:["video"],items:[m]},n);if(h.type==="media"){l(h);let y=h.media;r.items.push(y);let S={id:y.annotationId,type:"enter",resourceType:"video",time:y.target?.temporal?.startTime||0};r.keyframes.push(S);let w={id:y.annotationId,type:"exit",resourceType:"video",time:y.target?.temporal?.endTime||e.duration||0};r.keyframes.push(w)}}}r.keyframes.sort((m,h)=>m.time-h.time);let c=[],p=[];for(let m of r.keyframes){if(m.resourceType==="image"||m.resourceType==="text"){p.push(m);continue}if(m.type==="enter"){c.length===0&&(m.isPrime=!0),c.push(m),p.push(m);continue}if(m.type==="exit"&&(p.push(m),c=c.filter(h=>h.id!==m.id),c.length!==0)){let h=c[0],y={id:h.id,type:"change",isPrime:!0,resourceType:h.resourceType,time:m.time};p.push(y)}}return r.keyframes=p,a.items.length&&(r.choice=a),r}var wc={},rm={get(e){return e},setMetaValue([e,t,i],n){let r=rm.getResourceMeta(e,t),a=r?r[i]:void 0,l=typeof n=="function"?n(a):n;wc[e]={...wc[e]||{},[t]:{...(wc[e]||{})[t]||{},[i]:l}}},getResourceMeta:(e,t)=>{let i=wc[e];if(i)return t?i[t]:i},async load(e){let t=typeof e=="string"?e:e.id;return fetch(t).then(i=>i.json())},requestStatus(e){}};function om({canvas:e,paintables:t,supports:i,loadImageService:n,vault:r=rm}){if(!e)return Pa;if(t.types.length===0)return i.indexOf("empty")!==-1?Zf(e.width,e.height):Pa;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 i.indexOf("complex-timeline")===-1?et("Complex timeline not supported"):nm(e,t,n,r);let a=t.types[0];return a==="image"?i.indexOf("images")===-1?et("Image not supported"):Ra(e,t,n):a==="Model"||a==="model"?i.indexOf("3d-model")===-1?et("3D not supported"):im(e,t):a==="textualbody"?i.indexOf("textual-content")===-1?et("Textual content not supported"):Ta(e,t):a==="sound"||a==="audio"?i.indexOf("media")===-1?et("Media not supported"):vw(e,t):a==="video"?i.indexOf("media")===-1?et("Media not supported"):_a(e,t,r):Pa}function sm(e){let t=vt(),i=Ce(),n=_e(),r=ma(),a=e?.emitter||r,[l,c]=Ia(),{enabledPageIds:p}=Aa(e?.annotationPageManagerId||t?.id||i?.id,{all:!1}),m=em(p,"AnnotationPage"),h=e?.strategies||["empty","images","media","textual-content","complex-timeline"],[y,S]=tm(e,[c]);(0,ls.useEffect)(()=>{let v=x=>{S.makeChoice(x.choiceId,{deselectOthers:x.deselectOthers,deselect:x.deselect})};return a.on("make-choice",v),()=>{a.off("make-choice",v)}},[]);let w=(0,ls.useMemo)(()=>om({canvas:i,paintables:y,supports:h,loadImageService:l,vault:n}),[i,y,n,S.makeChoice]);return(0,ls.useEffect)(()=>{let v=y.allChoices,x={canvasId:i?.id,manifestId:t?.id};v&&a.emit("choice-change",{choice:v,partOf:x})},[i?.id,y.allChoices]),(0,ls.useMemo)(()=>w.type==="unknown"?[w,Kf]:[{...w,annotations:{pages:m}},S],[w,m])}var bc=R(H(),1),Ma=(0,bc.createContext)(null);Ma.displayName="Strategy";function pt(){let e=(0,bc.useContext)(Ma);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var Cc=R(H(),1),ka=(0,Cc.createContext)(null);ka.displayName="Controls";function ni(){let e=(0,Cc.useContext)(ka);if(!e)throw new Error("useStrategy must be used within a StrategyProvider");return e}var am=R(B(),1);function lm({strategies:e,registerActions:t,defaultChoices:i,onChoiceChange:n,mediaControlsDeps:r,renderMediaControls:a,renderViewerControls:l,viewControlsDeps:c,renderComplexTimelineControls:p,complexTimelineControlsDeps:m,throwOnUnknown:h,children:y}){let S=Ce(),w=_e(),v=(0,vr.useMemo)(()=>yr(w),[w]),[x,A]=sm({strategies:e||["images"],defaultChoices:i?.map(({id:M})=>M)}),C="choice"in x?x.choice:void 0;if((0,vr.useEffect)(()=>{t&&t(A)},[x.annotations]),(0,vr.useEffect)(()=>{n&&n(C)},[C]),(0,vr.useEffect)(()=>{if(i)for(let M of i)typeof M.opacity<"u"&&v.applyStyles({id:M.id},"atlas",{opacity:M.opacity})},[i]),x.type==="unknown"&&h)throw new Error(x.reason||"Unknown strategy");let I=(0,vr.useMemo)(()=>({renderMediaControls:a,mediaControlsDeps:r||[],renderViewerControls:l,viewControlsDeps:c||[],renderComplexTimelineControls:p,complexTimelineControlsDeps:m||[]}),[r,a,l,c,p,m]),E=(0,vr.useMemo)(()=>({strategy:x,actions:A,choices:"choice"in x?x.choice:[]}),[x,S]);return(0,am.jsx)(ka.Provider,{value:I,children:(0,am.jsx)(Ma.Provider,{value:E,children:y})})}var Sw=R(H(),1);var ww=R(B(),1);function um({x:e=0,y:t=0,keepCanvasScale:i,children:n}){let{strategy:r}=pt(),a=Ce(),l=va(a,["deep-zoom"]),c=(0,Sw.useMemo)(()=>i?1:Math.max(1,...r.type==="images"?r.images.map(m=>(m.width||0)/m.target?.spatial.width):[]),[i,r]);KS(c);let p=r.type==="images"?r.images.length:0;return a?(0,ww.jsx)("world-object",{height:a.height,width:a.width,x:e,y:t,...l,children:n},`${a.id}/${r.type}/${p}`):null}var bw=R(B(),1);function Pc({style:e}){let t=Ce();return!t||!t.height||!t.width?null:(0,bw.jsx)("box",{interactive:!1,target:{x:0,y:0,width:Number(t.width),height:Number(t.height)},style:e})}var Cw=R(B(),1);function cm({backgroundStyle:e,alwaysShowBackground:t}){let{strategy:i}=pt();return i.type!=="empty"&&!t?null:(0,Cw.jsx)(Pc,{style:e})}var _c=R(H(),1);var gt=R(H(),1);function Pw(e){return{isMuted:!1,playRequested:!1,isPlaying:!1,isFinished:!1,volume:100,duration:e}}function VI(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 Ec(e){let t=Math.round(e);return`${Math.floor(t/60)}:${`${t%60}`.padStart(2,"0")}`}function so(e){let[t,i]=(0,gt.useReducer)(VI,Pw(e.duration));(0,gt.useEffect)(()=>{i({type:"RESET",state:Pw(e.duration)})},[e.duration]);let n=(0,gt.useRef)(null),r=(0,gt.useRef)(null),a=(0,gt.useRef)(null),l=(0,gt.useRef)(!1),c=(0,gt.useCallback)(()=>{r.current&&n.current&&(r.current.innerHTML=Ec(n.current.currentTime),a.current&&(a.current.style.width=`${n.current.currentTime/e.duration*100}%`),l.current!==n.current.muted&&(l.current=n.current.muted,i(n.current.muted?{type:"MUTE"}:{type:"UNMUTE"})))},[e.duration]),p=(0,gt.useCallback)(()=>{n.current&&(i({type:"PLAY_REQUESTED"}),n.current.play().then(()=>{i({type:"PLAY"})}),c())},[c]),m=(0,gt.useCallback)(()=>{n.current&&(n.current.duration>0&&n.current.paused?p():h())},[c]),h=(0,gt.useCallback)(()=>{n.current&&(n.current.pause(),i({type:"PAUSE"}),c())},[c]),y=(0,gt.useCallback)(()=>{n.current&&(n.current.muted=!n.current.muted,i(n.current.muted?{type:"MUTE"}:{type:"UNMUTE"}))},[]),S=(0,gt.useCallback)(()=>{n.current&&(n.current.muted=!0,i({type:"MUTE"}))},[]),w=(0,gt.useCallback)(()=>{n.current&&(n.current.muted=!1,i({type:"UNMUTE"}))},[]),v=(0,gt.useCallback)(C=>{n.current&&(n.current.muted=!1,n.current.volume=C/100,i({type:"SET_VOLUME",volume:C}))},[]),x=(0,gt.useCallback)(C=>{n.current&&(n.current.currentTime=Math.max(0,Math.min(C*e.duration,e.duration)),c())},[]),A=(0,gt.useCallback)(C=>{if(n.current){let I=typeof C=="function"?C(n.current.currentTime):C;n.current.currentTime=Math.max(0,Math.min(I,e.duration)),c()}},[]);return(0,gt.useEffect)(()=>{let C=setInterval(()=>{c()},350);return()=>clearInterval(C)},[c,e.duration]),(0,gt.useEffect)(()=>{let C=()=>{i({type:"FINISHED"})},I=n.current;return I?.addEventListener("ended",C),()=>I?.removeEventListener("ended",C)},[]),[{element:n,currentTime:r,progress:a},t,{play:p,pause:h,playPause:m,mute:S,unmute:w,toggleMute:y,setVolume:v,setDurationPercent:x,setTime:A}]}function Ew({currentKeyFrameIndex:e,keyframes:t,targetTime:i,currentTime:n}){if(n<=i){let r=t.findIndex(c=>c.time>i);if(r===-1)return[e,[]];let a={},l=t.slice(e,r);for(let c of l)c.type==="enter"&&(a[c.id]=c),c.type==="exit"&&(a[c.id]?delete a[c.id]:a[c.id]=c);return[r,Object.values(a)]}return[e,[]]}function Aw({complexTimeline:e,startTime:t=0}){let i=Vn(),n={},r={progress:null,currentTime:null},a=0,l=null,c=0,p=null;function m(){let I=A.getState().visibleElements,E=n,M=[],k=Object.keys(E);for(let O of k){let Q=E[O],V=I[O];Q&&V&&M.push(Q)}return M}function h(){return Object.keys(n).map(I=>n[I])}function y(C){r.currentTime&&(r.currentTime.innerHTML=Ec(C),r.progress&&(r.progress.style.width=`${C/e.duration*100}%`))}let S=()=>{let C=A.getState(),I=C.currentPrime;if(!I)return;let E=n,M=C.visibleElements,k=Object.keys(E);for(let O of k){let Q=E[O],V=M[O];if(Q&&O!==I.id&&V){let J=c-V.time*1e3;Math.abs(c-V.time*1e3-Q.currentTime*1e3)>300&&(Q.currentTime=J/1e3)}}},w=(C=0)=>{let I=C-a,E=A.getState();if(E.isPlaying){let M=E.currentPrime;if(M){let V=n[M.id];V&&(V.paused?c+=I:c=(M.time+V.currentTime)*1e3)}else c+=I;let k=c/1e3;if(k>E.duration){A.getState().setTime(0),A.setState({isPlaying:!1}),v(),y(0);return}y(k);let[O,Q]=Ew({currentTime:k,currentKeyFrameIndex:E.nextKeyframeIndex,keyframes:E.complexTimeline.keyframes,targetTime:k});Q.length&&E.applyKeyframes(O,Q)}a=C,l=requestAnimationFrame(w)},v=()=>{l&&cancelAnimationFrame(l)},x=(C,I)=>{},A=jn((C,I)=>({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:()=>{I().clockRunning||(w(),p=setInterval(S,500)),C({clockRunning:!0,clockStartRequests:I().clockStartRequests+1})},applyKeyframes(E,M){let k=I(),O={...k.visibleElements},Q=k.currentPrime;for(let V of M)V.type==="enter"&&(O[V.id]=V,i.emit("complex-timeline.enter",{id:V.id})),V.type==="exit"&&(O[V.id]=null,i.emit("complex-timeline.exit",{id:V.id})),V.isPrime&&(Q=V);C({nextKeyframeIndex:E,visibleElements:O,currentPrime:Q})},stopClock:()=>{let E=I().clockStartRequests;if(E!==0){if(E===1){v(),p&&clearInterval(p),C({clockRunning:!1,clockStartRequests:0});return}C({clockStartRequests:E-1})}},setElement:(E,M)=>{n[E]=M;let k=Object.keys(n),O=I().complexTimeline;x(M,E),O.items.filter(V=>V.type!=="Image"&&V.type!=="Text").every(V=>k.includes(V.annotationId))&&!I().isReady&&(i.emit("complex-timeline.ready",{complexTimeline:O}),C({isReady:!0}))},removeElement:E=>{delete n[E]},mute(){for(let E of h())E.muted=!0;C({isMuted:!0})},unmute(){for(let E of h())E.muted=!1;C({isMuted:!1})},play(){if(!I().isPlaying){for(let M of m())M.play();C({isPlaying:!0})}},pause(){if(I().isPlaying){for(let M of m())M.pause();C({isPlaying:!1})}},playPause(){let E=I();E.isPlaying?E.pause():E.play()},setDurationPercent(E){let k=I().duration*E;I().setTime(k)},setTime(E){let M=I(),k=c/1e3,O=typeof E=="function"?E(k):E,Q=M.nextKeyframeIndex;if(k>O){C({visibleElements:{},currentPrime:null});let pe=Object.keys(M.visibleElements);for(let Re of pe)i.emit("complex-timeline.exit",{id:Re});k=0,Q=0}let[V,J]=Ew({currentTime:k,currentKeyFrameIndex:Q,keyframes:M.complexTimeline.keyframes,targetTime:O});M.applyKeyframes(V,J),c=O*1e3;let q=A.getState().visibleElements,ee=n,Me=Object.keys(q);for(let pe of Me){let Re=q[pe];if(Re){let ke=ee[pe];ke&&(ke.currentTime=(c-Re.time*1e3)/1e3)}}y(O)},setVolume(E){for(let M of h())M.volume=Math.min(1,Math.max(0,E/100));C({volume:E})},toggleMute(){let E=I();E.isMuted?(E.unmute(),C({isMuted:!1})):(E.mute(),C({isMuted:!0}))},clearProgressElement(){r.progress=null},setProgressElement(E){r.progress=E},setCurrentTimeElement(E){r.currentTime=E},clearCurrentTimeElement(){r.currentTime=null}}));return i.on("complex-timeline.enter",C=>{let I=A.getState(),E=C.id,M=n[E];M&&I.isPlaying&&M.play()}),i.on("complex-timeline.exit",C=>{let I=A.getState(),E=C.id,M=n[E];M&&(M.currentTime=0,M.pause())}),A.getState().setTime(t),{store:A,emitter:i}}var Oa=R(H(),1);var an=R(H(),1),sn=R(B(),1),Rw=an.default.createContext("en"),Tw=an.default.createContext({}),_w=an.default.createContext(null);function UI(e){return(0,sn.jsx)(Tw.Provider,{value:e.translations,children:e.children})}function WI(e){return(0,sn.jsx)(Rw.Provider,{value:e.language,children:e.children})}function HI(e){return(0,sn.jsx)(_w.Provider,{value:e.convert,children:e.children})}function dm(){return an.default.useContext(_w)}function Ac(){return an.default.useContext(Rw)}function hm(){return an.default.useContext(Tw)}function Iw(e){return e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):e}function Mw({as:e,language:t,children:i,viewingDirection:n,...r}){let a=Ac();return(0,an.useMemo)(()=>Iw(a)===Iw(t),[a,t])?e?(0,sn.jsx)(e,{...r,children:i}):(0,sn.jsx)("span",{...r,children:i}):e?(0,sn.jsx)(e,{...r,lang:t,dir:n,children:i}):(0,sn.jsx)("span",{...r,lang:t,dir:n,children:i})}function kw(e,t,i){if(t.length===0)return;if(t.length===1)return t[0];if(t.indexOf(e)!==-1)return e;let n=e.indexOf("-")!==-1?e.slice(0,e.indexOf("-")):null;if(n&&t.indexOf(n)!==-1)return n;for(let r of i)if(t.indexOf(r)!==-1)return r;return t.indexOf("none")!==-1?"none":t.indexOf("@none")!==-1?"@none":t[0]}var Ow=(e,t=[])=>{let i=Ac();return(0,an.useMemo)(()=>{let n=e();return kw(i,n,[])},[i,...t])};function ao(e,t,i,n){return t?i?i(e[t]||t,n||"none"):e[t]||t:""}function Lw(e,t,i=`
78
- `,n={}){let r=dm(),a=Ow(()=>Object.keys(e||{}),[e]);return[(0,an.useMemo)(()=>{if(!e)return ao(n,t,r)||"";if(typeof e=="string")return ao(n,e,r);let l=a?e[a]:void 0;return l?typeof l=="string"?l:l.map(c=>ao(n,c,r,a)).join(i):""},[a,t,e]),a]}function qI(){let e=Ac(),t=hm(),i=dm();return function(r,a="",l=`
79
- `,c=t){let p=Object.keys(r||{}),m=kw(e,p,[]);if(!r)return ao(c,a,i)||"";if(typeof r=="string")return ao(c,r,i);let h=m?r[m]:void 0;return h?typeof h=="string"?ao(c,h,i,m):h.map(y=>ao(c,y,i,m)).join(typeof l<"u"?l:`
80
- `):""}}function Ii({as:e,defaultText:t,enableDangerouslySetInnerHTML:i,children:n,separator:r,...a}){let l=hm(),[c,p]=Lw(n,t,r,l);return p?(0,sn.jsx)(Mw,{...a,as:e,language:p,title:i?void 0:c,dangerouslySetInnerHTML:i?{__html:c}:void 0,children:i?void 0:c}):e?(0,sn.jsx)(e,{...a,children:c}):(0,sn.jsx)("span",{...a,title:i?void 0:c,dangerouslySetInnerHTML:i?{__html:c}:void 0,children:i?void 0:c})}var Ic=R(H(),1),lo=R(B(),1),pm=e=>{let t=e.format||"jpg",i=e.width/(e.crop?.width||e.tiles.width),n=e.tiles.imageService.sizes||[],r=e.enableThumbnail,a=e.enableSizes,l=(0,Ic.useMemo)(()=>{let m=e.tiles.imageService.id||e.tiles.imageService["@id"];return m?.endsWith("/info.json")?m.slice(0,-1*10):m},[e.tiles.imageService.id,e.tiles.imageService["@id"]]),c=(0,Ic.useMemo)(()=>{let m=e.tiles.imageService.tiles||[];if(!m.length){let h=e.width,y=[1],S=1;for(;Math.pow(2,S)<h;)S=S*2,y.push(S);return(e.tiles.imageService.maxArea||e.tiles.imageService.maxWidth||e.tiles.imageService.maxHeight)&&Vs(2,e.tiles.imageService)?[{width:256,height:256,scaleFactors:y}]:[]}return m},[e.tiles.imageService,e.width]),p=(0,Ic.useMemo)(()=>{let m=e.tiles.imageService;return(m?m["@context"]?Array.isArray(m["@context"])?m["@context"]:[m["@context"]]:[]:[]).indexOf("http://iiif.io/api/image/3/context.json")!==-1},[e.tiles.imageService.id,e.tiles.imageService]);return(0,lo.jsx)("world-object",{rotation:e.rotation,scale:i,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,lo.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,lo.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&&n.map((m,h)=>(0,lo.jsx)("world-image",{uri:`${l}/full/${m.width},${p?m.height:""}/0/default.${t}`,target:{width:e.tiles.width,height:e.tiles.height},display:{width:m.width,height:m.height},crop:e.crop},h)),c.map(m=>(m.scaleFactors||[]).map(h=>(0,lo.jsx)("tiled-image",{uri:e.tiles.imageService.id,display:{width:e.tiles.width,height:e.tiles.height},format:t,tile:m,scaleFactor:h,crop:e.crop,version3:p},`${e.tiles.imageService.id}-tile-${h}`)))]},e.tiles.imageService.id)},e.tiles.imageService.id)};var Hi=R(B(),1);function QI({resource:e,heading:t,note:i,extra:n}){return n?(0,Hi.jsx)(Cn,{target:{x:0,y:0,width:n.target?.spatial.width,height:n.target?.spatial.height},backgroundColor:"#333",relative:!0,children:(0,Hi.jsx)("div",{style:{display:"flex",alignContent:"center",justifyContent:"center",alignItems:"center",height:"100%",width:"100%",background:"#444",color:"#BBB"},children:(0,Hi.jsxs)("div",{children:[(0,Hi.jsx)(Ii,{children:t||"Not authorised"}),i&&(0,Hi.jsx)("p",{children:(0,Hi.jsx)(Ii,{children:i})}),(0,Hi.jsx)("p",{children:e.id||e["@id"]||"unknown"})]})})}):null}function Fw({image:e,thumbnail:t,crop:i,enableSizes:n,enableThumbnail:r,renderOptions:a}){let l=Tf(),c=Le(e.service),p=fw(c),m=as(),h=p?.service;m(e.service,e);let y=h&&p?.status==="done",S=(h?.preferredFormats||[])[0],w=t&&t.type==="fixed"&&t.id&&!t.id.includes("/full/full/")&&!t.id.includes("/max/")?t:void 0;if(y===!1)return null;if(!l){let v=e.service,x=v.width||e.width||0,A=v.height||e.height||0;return(0,Hi.jsx)(pm,{enableThumbnail:r,renderOptions:a,tiles:{id:v.id||v["@id"]||"unknown",height:A,width:x,imageService:v,thumbnail:w},enableSizes:n,x:0,y:0,format:S,width:e.target?.spatial.width,height:e.target?.spatial.height,crop:i})}return(0,Hi.jsx)(_f,{resource:e.service,errorComponent:QI,extra:e,children:v=>{let x=v.width||e.width||0,A=v.height||e.height||0;return(0,Hi.jsx)(pm,{enableThumbnail:r,renderOptions:a,tiles:{id:v.id||v["@id"]||"unknown",height:A,width:x,imageService:v,thumbnail:w},format:S,enableSizes:n,x:0,y:0,width:e.target?.spatial.width,height:e.target?.spatial.height,crop:i})}},e.id)}var uo=R(B(),1);function xr({id:e,image:t,thumbnail:i,isStatic:n,x:r=0,y:a=0,children:l,selector:c,onClick:p,enableSizes:m}){let h=(0,Oa.useMemo)(()=>{if(!(!c||c.spatial.x===0&&c.spatial.y===0))return c.spatial},[c]);return(0,uo.jsx)("world-object",{x:r+t.target.spatial.x,y:a+t.target.spatial.y,width:t.target.spatial.width,height:t.target.spatial.height,onClick:p,children:t.service?(0,uo.jsxs)(Oa.Fragment,{children:[(0,uo.jsx)(Fw,{image:t,thumbnail:i,crop:h,enableSizes:m}),l]},"service"):(0,uo.jsxs)(Oa.Fragment,{children:[(0,uo.jsx)("world-image",{onClick:p,uri:t.id,target:{x:0,y:0,width:t.target.spatial.width,height:t.target.spatial.height},display:t.width&&t.height?{width:t.width,height:t.height}:void 0,crop:h}),l]},"no-service")},e+(t.service?"server":"no-service"))}var Rc=R(H(),1);var zw=R(B(),1),fm=(0,Rc.createContext)(null);fm.displayName="ComplexTimeline";function mm({children:e,store:t}){return(0,zw.jsx)(fm.Provider,{value:t,children:e})}function $I(e){let t=(0,Rc.useContext)(fm);if(!t)throw new Error("useComplexTimeline must be used within a ComplexTimelineProvider");return Ft(t,e)}var Hn=R(B(),1);function Tc({strategy:e,onClickPaintingAnnotation:t}){return(0,Hn.jsx)(Hn.Fragment,{children:e.items.map((i,n)=>(0,Hn.jsx)(Hn.Fragment,{children:(0,Hn.jsx)(Cn,{onClick:t?r=>{r.stopPropagation(),t(i.annotationId,i,r)}:void 0,target:i.target?.spatial||void 0,children:(0,Hn.jsx)("div",{"data-textual-content":!0,children:(0,Hn.jsx)(Ii,{enableDangerouslySetInnerHTML:!0,children:i.text})})},n)}))})}var qn=R(B(),1);function Nw({strategy:e,children:t}){let{store:i}=(0,_c.useMemo)(()=>Aw({complexTimeline:e}),[e]),n=Ft(i,l=>l.isReady),r=Ft(i,l=>l.visibleElements);function a(l){return c=>{c&&i.getState().setElement(l,c)}}return(0,_c.useLayoutEffect)(()=>{if(n){let{startClock:l,stopClock:c}=i.getState();return l(),()=>{c()}}},[e,n]),zt("portal","custom-controls",mm,{store:i,children:t},[n]),(0,qn.jsxs)(qn.Fragment,{children:[e.items.map(l=>l.type!=="Image"||!r[l.annotationId]?null:(0,qn.jsx)(xr,{image:l,id:l.annotationId},l.id)),e.items.map((l,c)=>l.type!=="Text"||!r[l.annotationId]?null:(0,qn.jsx)(Tc,{strategy:{type:"textual-content",items:[l]}},c)),e.items.map((l,c)=>l.type!=="Video"||!l.target.spatial?null:(0,qn.jsx)(Cn,{target:l.target.spatial,children:(0,qn.jsx)("video",{ref:a(l.annotationId),src:l.url,style:{height:"100%",width:"100%",opacity:r[l.annotationId]?1:0}})},c))]})}var Bw=R(B(),1);function gm(){let{strategy:e}=pt(),{renderComplexTimelineControls:t}=ni();return e.type!=="complex-timeline"?null:(0,Bw.jsx)(Nw,{strategy:e,children:t?t(e):null})}var us=R(B(),1);function ym({onClickPaintingAnnotation:e,children:t}){let{strategy:i}=pt(),{renderViewerControls:n,viewControlsDeps:r}=ni(),a=ga(),l=Ce();return zt(a&&i.type==="textual-content"&&n?"overlay":"none",`canvas-portal-controls-${l?.id}`,Ui.Provider,n?{value:a||null,children:n(i)}:{},[l,a,i,...r||[]]),i.type!=="textual-content"?null:(0,us.jsxs)(us.Fragment,{children:[(0,us.jsx)(Tc,{strategy:i,onClickPaintingAnnotation:e}),t]})}var Sr=R(H(),1);var Dw=R(H(),1),vm=(e,t=[])=>{let i=_e();(0,Dw.useEffect)(()=>{e(i)},[i,...t])};var Mc=R(H(),1);var jw=Mc.default.createContext(new Lo);function La(){return(0,Mc.useContext)(jw)}function Qn(e,t,{canvasId:i,manifestId:n}={}){let r=_e(),a=La(),l=(0,Sr.useMemo)(()=>Pp(r,{imageServiceLoader:a}),[r,a]),[c,p]=(0,Sr.useState)(),m=vt(n?{id:n}:void 0),h=Ce(i?{id:i}:void 0),y=h||m,S=(0,Sr.useRef)(!1);if((0,Sr.useEffect)(()=>(S.current=!1,()=>{S.current=!0}),[]),!y)throw new Error("Must be called under a manifest or canvas context.");return vm(w=>{l.getBestThumbnailAtSize(y,e,t).then(v=>{v.best&&!S.current&&p(v.best)})},[y]),c}var cs=R(B(),1);function xm({isStatic:e=!1,enableSizes:t=!1,onClickPaintingAnnotation:i,children:n}){let{strategy:r}=pt(),{renderViewerControls:a,viewControlsDeps:l}=ni(),c=Ce(),p=ga(),m=Qn({maxWidth:256,maxHeight:256});return zt(p&&r.type==="images"&&a?"overlay":"none",`canvas-portal-controls-${c?.id}`,Ui.Provider,a?{value:p||null,children:a(r)}:{},[c,p,r,...l||[]]),r.type!=="images"?null:(0,cs.jsxs)(cs.Fragment,{children:[r.images.map((h,y)=>(0,cs.jsx)(xr,{isStatic:e,image:h,id:h.id,thumbnail:y===0?m:void 0,selector:h.selector,enableSizes:t,onClick:i?S=>{i(h.annotationId,h,S)}:void 0},h.id+y)),n]})}var wr=R(B(),1);function Sm({model:e}){return(0,wr.jsxs)(wr.Fragment,{children:[(0,wr.jsx)("style",{children:`
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:`
81
78
  .model-container {
82
79
  position: absolute;
83
80
  top: 0;
@@ -90,7 +87,10 @@ No matching component was found for:
90
87
  justify-content: center;
91
88
  pointer-events: visible;
92
89
  }
93
- `}),(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 kc({model:e,name:t}){return zt("overlay",`model-${t}`,Sm,{model:e},[e]),null}var Vw=R(B(),1);function wm(){let{strategy:e}=pt();return e.type!=="3d-model"?null:(0,Vw.jsx)(kc,{model:e.model})}var co=R(B(),1);function bm({children:e}){let{strategy:t}=pt(),[i]=Df();return t.type!=="images"?null:(0,co.jsxs)(co.Fragment,{children:[i?(0,co.jsx)(ba,{page:i}):null,t.annotations&&t.annotations.pages?t.annotations.pages.map(n=>(0,co.jsx)(ba,{page:n},n.id)):null,e]})}var br=R(H(),1),Oc=R(B(),1),Uw=(0,br.createContext)(null),Ww=(0,br.createContext)(null),Hw=(0,br.createContext)(null);function GI(){let e=(0,br.useContext)(Uw);if(!e)throw new Error("Ctx not found");return e}function YI(){let e=(0,br.useContext)(Ww);if(!e)throw new Error("Ctx not found");return e}function XI(){let e=(0,br.useContext)(Hw);if(!e)throw new Error("Ctx not found");return e}function Fa({actions:e,state:t,children:i,currentTime:n,progress:r,element:a}){return(0,Oc.jsx)(Hw.Provider,{value:{currentTime:n,progress:r,element:a},children:(0,Oc.jsx)(Ww.Provider,{value:e,children:(0,Oc.jsx)(Uw.Provider,{value:t,children:i})})})}var qw=R(H(),1);function za(){let e=vt(),t=Ce();return(0,qw.useMemo)(()=>{if(!e||!t||!e.start)return null;let i=Nt(e.start);return!i||i.source.id!==t.id||!i||!i.selector||i.selector.type!=="TemporalSelector"?null:i.selector.temporal},[e,t])}var Fc=R(B(),1);function Cm({media:e,startTime:t,children:i}){let[{element:n,currentTime:r,progress:a},l,c]=so({duration:e.duration}),p=t?`${e.url}#t=${t}`:e.url;return(0,Fc.jsxs)(Fa,{state:l,actions:c,currentTime:r,progress:a,element:n,children:[(0,Fc.jsx)("audio",{ref:n,src:p}),i]},e.url)}function Lc({media:e,mediaControlsDeps:t,audioCopmonent:i=Cm,children:n}){let r=za();return zt("portal","audio",i,{media:e,startTime:r?r.startTime:null,children:n},[e,r,...t||[]]),null}var Pm=R(B(),1);function ho({x:e=0,y:t=0}){let i=Ce(),n=Qn({maxWidth:256,maxHeight:256});return!i||!n||n.type!=="fixed"?null:(0,Pm.jsx)("world-object",{height:i.height,width:i.width,x:e,y:t,children:(0,Pm.jsx)("world-image",{uri:n.id,target:{x:0,y:0,width:i.width,height:i.height},display:n.width&&n.height?{width:n.width,height:n.height}:void 0,crop:void 0})})}var po=R(B(),1);function Em({as:e}){let{strategy:t}=pt(),{renderMediaControls:i,mediaControlsDeps:n}=ni();return t.type!=="media"||t.media.type!=="Sound"?null:(0,po.jsx)(po.Fragment,{children:(0,po.jsxs)(Lc,{media:t.media,mediaControlsDeps:n,audioCopmonent:e,children:[(0,po.jsx)(ho,{}),i?i(t):null]},t.media.url)})}var $n=R(B(),1);function Am(){let{strategy:e}=pt(),{renderViewerControls:t,viewControlsDeps:i}=ni(),n=Ce(),r=n?.accompanyingCanvas,a=n?.placeholderCanvas;return(0,$n.jsxs)($n.Fragment,{children:[e.type==="media"&&e.media.type==="Sound"&&r?(0,$n.jsx)(Vi,{canvas:r.id,children:(0,$n.jsx)(fo,{renderViewerControls:t,viewControlsDeps:i})}):null,e.type==="media"&&e.media.type==="Sound"&&a&&!r?(0,$n.jsx)(Vi,{canvas:a.id,children:(0,$n.jsx)(fo,{renderViewerControls:t,viewControlsDeps:i})}):null]})}var Na=R(B(),1);function Im({element:e,media:t,startTime:i,playPause:n,poster:r}){let a="div",l=i?`${t.url}#t=${i}`:t.url;return(0,Na.jsxs)(a,{className:"video-container",part:"video-container",onClick:n,children:[(0,Na.jsx)("style",{children:`
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:`
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,Na.jsx)("video",{poster:r,ref:e,src:l,style:{width:"100%",objectFit:"contain"}})]})}function zc({media:e,mediaControlsDeps:t,children:i,videoComponent:n=Im,captions:r}){let a=Ce(),l=za(),c=a&&a.placeholderCanvas&&a.placeholderCanvas.id||void 0,p=Qn({},!1,{canvasId:c}),[{element:m,currentTime:h,progress:y},S,w]=so({duration:e.duration});return zt("overlay","video-element",n,{element:m,media:e,playPause:w.playPause,poster:p?.id,canvas:a,startTime:l?l.startTime:null,captions:r},[p]),zt("portal","custom-controls",Fa,{state:S,actions:w,currentTime:h,progress:y,element:m,children:i},[h,S,e,...t||[]]),null}var Nc=R(B(),1);function Rm({as:e}){let{strategy:t}=pt(),{renderMediaControls:i,mediaControlsDeps:n}=ni();return t.type!=="media"||t.media.type!=="Video"?null:(0,Nc.jsxs)(zc,{captions:t.captions,media:t.media,mediaControlsDeps:n,videoComponent:e,children:[(0,Nc.jsx)(ho,{}),i?i(t):null]},t.media.url)}var Qw=R(H(),1),Ba=R(B(),1);function KI({element:e,media:t,playPause:i}){let n=(0,Qw.useRef)(null);return t.youTubeId?(0,Ba.jsxs)("div",{className:"video-container",part:"video-container",onClick:i,children:[(0,Ba.jsx)("style",{children:`
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:`
107
107
  .video-container {
108
108
  position: absolute;
109
109
  top: 0;
@@ -121,25 +121,9 @@ No matching component was found for:
121
121
  width: 100%;
122
122
  object-fit: contain;
123
123
  }
124
- `}),(0,Ba.jsx)("iframe",{className:"video-yt",ref:n,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 $w({media:e,mediaControlsDeps:t,children:i}){let[{element:n,currentTime:r,progress:a},l,c]=so({duration:e.duration});return zt("overlay","video-element",KI,{element:n,media:e,playPause:c.playPause}),null}var Bc=R(B(),1);function Tm(){let{strategy:e}=pt(),{renderMediaControls:t,mediaControlsDeps:i}=ni();return e.type!=="media"||e.media.type!=="VideoYouTube"?null:(0,Bc.jsxs)($w,{media:e.media,mediaControlsDeps:i,children:[(0,Bc.jsx)(ho,{}),t?t(e):null]})}var gi=R(B(),1);function fo({x:e,y:t,onChoiceChange:i,registerActions:n,defaultChoices:r,isStatic:a,renderViewerControls:l,renderMediaControls:c,renderComplexTimelineControls:p,complexTimelineControlsDeps:m,viewControlsDeps:h,mediaControlsDeps:y,strategies:S,throwOnUnknown:w,backgroundStyle:v,alwaysShowBackground:x,keepCanvasScale:A=!1,enableSizes:C=!1,enableYouTube:I=!0,onClickPaintingAnnotation:E,components:M={},children:k}){return(0,gi.jsxs)(lm,{throwOnUnknown:w,onChoiceChange:i,registerActions:n,strategies:S,defaultChoices:r,mediaControlsDeps:y,renderMediaControls:c,renderViewerControls:l,renderComplexTimelineControls:p,complexTimelineControlsDeps:m,viewControlsDeps:h,children:[(0,gi.jsxs)(um,{keepCanvasScale:A,x:e,y:t,children:[(0,gi.jsx)(cm,{alwaysShowBackground:x,backgroundStyle:v}),(0,gi.jsx)(gm,{}),(0,gi.jsx)(ym,{}),(0,gi.jsx)(xm,{isStatic:a,enableSizes:C,onClickPaintingAnnotation:E}),(0,gi.jsx)(bm,{}),(0,gi.jsx)(wm,{}),(0,gi.jsx)(Em,{as:M.Audio}),(0,gi.jsx)(Rm,{as:M.Video}),I?(0,gi.jsx)(Tm,{}):null,k]}),(0,gi.jsx)(Am,{})]})}var _m=R(B(),1);function Gw(e){let t=Ce();return!t||!t.placeholderCanvas?null:(0,_m.jsx)(Vi,{canvas:t.placeholderCanvas.id,children:(0,_m.jsx)(fo,{renderViewerControls:e.renderViewerControls})})}var ri=R(B(),1),ZI=(0,mo.forwardRef)(function(t,i){let n=vt(),r=Jr(),a=fa(),{ViewerControls:l,MediaControls:c,ComplexTimelineControls:p}=t.components||{};if((0,mo.useImperativeHandle)(i,()=>a,[a]),!n)return(0,ri.jsx)("div",{});let m=0,h=n.viewingDirection==="top-to-bottom",y=n.viewingDirection==="bottom-to-top",S=n.viewingDirection==="left-to-right",w=n.viewingDirection==="right-to-left",x=n.behavior.includes("continuous")?0:t.spacing||0,A=y||w,C=(0,mo.useMemo)(()=>A?[...r].reverse():r,[r,A]);return(0,ri.jsxs)(ri.Fragment,{children:[t.header,(0,ri.jsx)(Bt.Viewer,{height:t.height,mode:t.mode,renderPreset:t.renderPreset,runtimeOptions:t.runtimeOptions,children:C.map((I,E)=>{let M=0,k=0;return h?(M=m,m+=I.width+x):(k=m,m+=I.height+x),(0,ri.jsx)(Vi,{canvas:I.id,children:(0,ri.jsx)(Bt.RenderCanvas,{strategies:["3d-model","media","images","empty","textual-content","complex-timeline"],renderViewerControls:E===0&&l?()=>(0,ri.jsx)(l,{}):void 0,renderMediaControls:E===0&&c?()=>(0,ri.jsx)(c,{}):void 0,renderComplexTimelineControls:E===0&&p?()=>(0,ri.jsx)(p,{}):void 0,x:M,y:k,...t.canvasProps||{},children:t.annotations},I.id)},I.id)})},t.reuseAtlas?"":a.currentSequenceIndex),t.children]})}),Bt=(0,mo.forwardRef)(function({children:t,height:i,annotations:n,canvasProps:r,spacing:a,header:l,components:c,mode:p,reuseAtlas:m,renderPreset:h,runtimeOptions:y,...S},w){let v=Kr();return(0,ri.jsx)(Xr,{vault:v,children:(0,ri.jsx)(kf,{...S,children:(0,ri.jsx)(ZI,{ref:w,height:i,components:c,spacing:a,canvasProps:r,annotations:n,header:l,mode:p,reuseAtlas:m,renderPreset:h,runtimeOptions:y,children:t})})})});Bt.RenderImage=xr;Bt.RenderCanvas=fo;Bt.RenderAnnotationPage=ba;Bt.RenderAnnotation=vc;Bt.Viewer=mc;Bt.CanvasBackground=Pc;Bt.Audio=Lc;Bt.Video=zc;Bt.Model=kc;Bt.AudioHTML=Cm;Bt.VideoHTML=Im;Bt.ModelHTML=Sm;Bt.PlaceholderCanvas=Gw;var Dc=R(H(),1),Da=R(B(),1),JI=(0,Dc.forwardRef)(function({canvasId:t},i){let n=Lu(),r=Aa(t||n?.id),a=_e();return(0,Dc.useImperativeHandle)(i,()=>r,[t,n]),!n||r.enabledPageIds.length===0?null:(0,Da.jsx)(Da.Fragment,{children:r.enabledPageIds.map(l=>(0,Da.jsx)(Bt.RenderAnnotationPage,{page:a.get(l)},l))})});var Xw=R(H(),1);var Yw=R(H(),1);var Ct=R(B(),1);function ja({metadata:e=[],config:t,labelWidth:i=16,showEmptyMessage:n=!0,allowHtml:r,emptyFallback:a,classes:l={},emptyMessage:c="No metadata available",emptyValueFallback:p="No value",emptyLabelFallback:m="",separator:h,tableFooter:y,tableHeader:S}){let w=(0,Yw.useMemo)(()=>{let x=(t||[]).reduce((C,I)=>[...C,...I.keys],[]),A={};for(let C of e){let I=C&&C.label?Object.values(C.label):[];for(let E of I)if(E&&E.length&&(x.indexOf(`metadata.${E[0]}`)!==-1||x.length===0)&&C){let M=`metadata.${E[0]}`;A[M]=A[M]?A[M]:[],A[M].push(C);break}}return A},[t,e]);return Object.keys(w).length===0&&n?(0,Ct.jsx)(Ct.Fragment,{children:a})||(0,Ct.jsx)("div",{className:l.empty,children:c}):t&&t.length?(0,Ct.jsxs)("table",{className:l.container,children:[S,(0,Ct.jsx)("tbody",{children:t.map((x,A)=>{let C=[];for(let I of x.keys)for(let E of w[I]||[])C.push((0,Ct.jsx)(Ii,{enableDangerouslySetInnerHTML:r,defaultText:p,separator:h,children:E.value},A+"__"+I));return C.length===0?null:(0,Ct.jsxs)("tr",{className:l.row,children:[(0,Ct.jsx)("td",{className:l.label,style:i?{minWidth:i}:{},children:(0,Ct.jsx)(Ii,{enableDangerouslySetInnerHTML:r,separator:h,defaultText:m,children:x.label})}),(0,Ct.jsx)("td",{className:l.value,children:C})]},A)})}),y]}):(0,Ct.jsxs)("table",{className:l.container,children:[S,(0,Ct.jsx)("tbody",{children:e&&e.length?e.map((x,A)=>x?(0,Ct.jsxs)("tr",{className:l.row,children:[(0,Ct.jsx)("td",{className:l.label,style:i?{minWidth:i}:{},children:(0,Ct.jsx)(Ii,{enableDangerouslySetInnerHTML:r,defaultText:p,separator:h,children:x.label})}),(0,Ct.jsx)("td",{className:l.value,children:(0,Ct.jsx)(Ii,{enableDangerouslySetInnerHTML:r,defaultText:p,separator:h,children:x.value})})]},A):null):null}),y]})}var Kw=R(B(),1);function eR(e){let t=vt(),i=Ce(),n=ca(),r=(0,Xw.useMemo)(()=>{let a=t?.metadata||[],l=i?.metadata||[],c=n?.metadata||[];return[...a,...l,...c]},[t,i,n]);return(0,Kw.jsx)(ja,{metadata:r,...e})}var Vc=R(H(),1);var Zw=R(H(),1);function jc(e,t={},i=[]){return(0,Zw.useMemo)(()=>{if(!e)return null;let n=t.quality;e&&e.extraQualities&&t.quality&&(e.extraQualities.includes(t.quality)||(n="default"));let r=ru(e);return nu({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:n||"default",prefix:r.prefix,originalPath:r.originalPath})},[...i])}var Va=R(B(),1);function tR(e){let t=typeof e.src=="string"?e.src:e.src.id,i=La(),[n,r]=(0,Vc.useState)(!1),a;if(t){let c=i.loadServiceSync({id:t});c&&(a=c)}!a&&!n&&i.loadService({id:t}).then(()=>{r(!0)});let l=jc(a,{size:e.size,selector:e.region,rotation:e.rotation,format:e.format,region:e.region,quality:e.quality},[n,e.src,e.size,e.region,e.rotation,e.format,e.region,e.quality]);return(0,Vc.useEffect)(()=>()=>{r(!1)},[t]),l?(0,Va.jsx)("img",{src:l,alt:e.alt,className:e.className,style:e.style}):(0,Va.jsx)(Jw,{...e,fetchImageService:!1})}function Jw(e){if(e.fetchImageService)return(0,Va.jsx)(tR,{...e});let t=typeof e.src=="string"?{id:e.src,profile:"level0"}:e.src,i=jc(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 i?(0,Va.jsx)("img",{src:i,alt:e.alt,className:e.className,style:e.style}):null}var e1=R(B(),1);function iR(e){let t=vt();return(0,e1.jsx)(ja,{metadata:t?.metadata||[],...e})}var Uc=R(H(),1);var Mm=R(i1(),1);var yi=R(B(),1),{LazyLoadComponent:nR}=Mm||Mm.default;function km(e){let{size:t,visible:i,classes:n,canvasId:r,figure:a}=e,l=t?.width||128,c=t?.height||t?.width||128,p=(0,yi.jsx)(rR,{...e}),m=(0,yi.jsx)(nR,{threshold:300,style:{height:c,width:l},visibleByDefault:i,children:r?(0,yi.jsx)(Vi,{canvas:r,children:p}):p});return a?(0,yi.jsx)("figure",{className:n?.figure,children:m}):m}function rR({fallback:e,size:t,classes:i,showLabel:n,alt:r,dereference:a=!1}){let l=Ce(),c=t?.width||128,p=t?.height||t?.width||128,m=r||Xf(l?.label)||"",h=Qn({width:c,height:p,allowUnsafe:!0},a);return!h||h.type!=="fixed"?(0,yi.jsx)(yi.Fragment,{children:e}):(0,yi.jsxs)(yi.Fragment,{children:[(0,yi.jsx)("div",{className:i?.imageWrapper,children:(0,yi.jsx)("img",{className:i?.img,src:h.id,alt:m})}),n?(0,yi.jsx)(Ii,{as:"figcaption",className:i?.label,children:l?.label}):null]})}var ds=R(B(),1);function oR({scrollBehaviour:e,dereference:t,flat:i,size:n,classes:r={},showLabel:a,figure:l,fallback:c}){let p=(0,Uc.useRef)(null),{items:m,sequence:h,currentSequenceIndex:y,setSequenceIndex:S}=fa(),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,Uc.useLayoutEffect)(()=>{if(!p.current)return;let x=p.current.querySelector("[data-selected=true]");x&&x.scrollIntoView({behavior:e||"instant",block:"nearest",inline:"center"})},[y]);let v=[];for(let x of h){let A=[],C=h[y]===x;for(let I of x){let E=m[I];A.push((0,ds.jsx)("div",{className:C?w.item:r.item,children:(0,ds.jsx)(km,{classes:C?w:r,canvasId:E.id,size:n,dereference:t,showLabel:a,figure:l,placeholder:(0,ds.jsx)("div",{style:{height:128,width:128}}),fallback:c})},I))}if(i){v.push(A);continue}v.push((0,ds.jsx)("div",{onClick:I=>{S(h.indexOf(x))},"data-selected":C,className:C?w.row:r.row,children:A},x.join("-")))}return(0,ds.jsx)("div",{ref:p,className:r.container,children:v})}var oi=R(B(),1),sR={draw:!0,polygon:!0,line:!0,lineBox:!0,square:!0,triangle:!0,hexagon:!0,circle:!0,delete:!0};function aR({helper:e,showShapes:t,state:i,enabled:n=sR,classNames:r={},icons:a={}}){return(0,oi.jsxs)(oi.Fragment,{children:[t?(0,oi.jsxs)(oi.Fragment,{children:[n.draw&&(0,oi.jsx)("button",{className:r.button,onClick:()=>{e.stamps.clear(),e.draw.enable()},"data-active":!i.lineMode&&!i.selectedStamp&&t&&i.drawMode,children:a.DrawIcon||"Draw"}),n.polygon&&(0,oi.jsx)("button",{className:r.button,"data-active":!i.lineMode&&!i.selectedStamp&&t&&!i.drawMode,onClick:()=>{e.stamps.clear(),e.draw.disable(),e.modes.disableLineBoxMode(),e.modes.disableLineMode()},children:a.PolygonIcon||"Polygon"}),n.line&&(0,oi.jsx)("button",{className:r.button,"data-active":i.lineMode&&!i.lineBoxMode,onClick:()=>{e.modes.enableLineMode()},children:a.LineIcon||"Line"}),n.lineBox&&(0,oi.jsx)("button",{className:r.button,"data-active":i.lineBoxMode,onClick:()=>{e.modes.enableLineBoxMode()},children:a.LineBoxIcon||"LineBox"}),n.square&&(0,oi.jsx)("button",{className:r.button,"data-active":i.selectedStamp?.id==="square",onClick:()=>{e.stamps.square()},children:a.SquareIcon||"Square"}),n.triangle&&(0,oi.jsx)("button",{className:r.button,"data-active":i.selectedStamp?.id==="triangle",onClick:()=>{e.stamps.triangle()},children:a.TriangleIcon||"Triangle"}),n.hexagon&&(0,oi.jsx)("button",{className:r.button,"data-active":i.selectedStamp?.id==="hexagon",onClick:()=>{e.stamps.hexagon()},children:a.HexagonIcon||"Hexagon"})]}):null,i.showBoundingBox&&n.delete&&(0,oi.jsx)("button",{className:r.button,onClick:()=>e.key.down("Backspace"),children:a.DeleteForeverIcon||"Delete"})]})}var Ut=R(H(),1);var n1=R(B(),1),Wc=(0,Ut.createContext)(Vn());Wc.displayName="SelectorHelper";function lR({children:e}){return(0,n1.jsx)(Wc.Provider,{value:(0,Ut.useMemo)(()=>Vn(),[]),children:e})}function uR(){return(0,Ut.useContext)(Wc)}function Om(e){let t=Lm(),[i,n]=(0,Ut.useState)(!1);(0,Ut.useEffect)(()=>t.withSelector(e).on("highlight",()=>{n(!0)}),[t,e]),(0,Ut.useEffect)(()=>t.withSelector(e).on("clear-highlight",()=>{n(!1)}),[t,e]);let r=(0,Ut.useCallback)(l=>{t.emit("click",{selectorId:e,event:l})},[e,t]),a=(0,Ut.useCallback)(l=>{t.emit("hover",{selectorId:e,event:l})},[e,t]);return{controller:t,onClick:r,onHover:a,isHighlighted:i}}function Lm(){let e=(0,Ut.useContext)(Wc);return(0,Ut.useMemo)(()=>({withSelector(t){return{on(i,n){let r=a=>{a&&a.selectorId===t&&n(a)};return e.on(i,r),()=>{e.off(i,r)}},emit(i,n){e.emit(i,{...n,selectorId:t})}}},on(t,i){return e.on(t,i),()=>{e.off(t,i)}},emit(t,i){e.emit(t,i)}}),[e])}function cR(){let e=Lm();return(0,Ut.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(i,n){return e.emit("event-listener",{selectorId:t,name:i,callback:n}),()=>{e.emit("remove-event-listener",{selectorId:t,name:i,callback:n})}},getImagePreview(){return new Promise((i,n)=>{e.emit("image-preview-request",{selectorId:t,resolve:i,reject:n})})},on(i,n){return e.withSelector(t).on(i,n)}}},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,i,n){return e.emit("event-listener",{selectorId:t,name:i,callback:n}),()=>{e.emit("remove-event-listener",{selectorId:t,name:i,callback:n})}},getImagePreview(t){return new Promise((i,n)=>{e.emit("image-preview-request",{selectorId:t,resolve:i,reject:n})})},on(t,i){return e.on(t,i)}}),[e])}var hs=R(H(),1),r1=R(B(),1);function Fm(){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 zm=(0,hs.createContext)(Fm());zm.displayName="AnnotationStyle";function Nm(){return(0,hs.useContext)(zm)}function dR({theme:e,children:t}){let i=(0,hs.useMemo)(()=>e||Fm(),[e]);return(0,r1.jsx)(zm.Provider,{value:i,children:t})}var si=R(H(),1);var ps=R(H(),1);function l1(e){let t=e.points.length,i=!1,n=[];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 m=r[2],h=r[3],y=r[4],S=r[5];n.push([a,[r[0]+m,r[1]+h],[r[0]+y,r[1]+S]]),i=!0}let c=[r[0]-l[0],r[1]-l[1]],p=c[0]*c[0]+c[1]*c[1];p>0?e.iedges.push([c[0]/p,c[1]/p]):e.iedges.push([0,0])}}else t===1?e.iedges=[[0,0]]:e.iedges=null;e.isBezier=i,e.bezierLines=n}function hR(e,t){let i=1/0,n=null,r=-1,a=e.points.length;if(a<=1)return[null,i,r];let l=e.points[a-1];for(let c=0;c<a;c++){let p=l;l=e.points[c];let m=p[0]-t[0],h=p[1]-t[1],y=m*m+h*h;y<i&&(n=p,i=y,r=c===0?a-1:c-1)}return[n,i,r]}function $c(e){if(e.points.length>2){let t=Math.min(...e.points.map(a=>a[0])),i=Math.min(...e.points.map(a=>a[1])),n=Math.max(0,...e.points.map(a=>a[0])),r=Math.max(0,...e.points.map(a=>a[1]));e.boundingBox={x:t,y:i,width:n-t,height:r-i};return}e.boundingBox=null}function pR(e){return e[0]*e[0]+e[1]*e[1]}function o1(e,t){let i=1/0,n=null,r=-1,a=[],l=e.points.length;if(l<=1)return[null,i,a,r];if(e.iedges===null&&(l1(e),!e.iedges))return[null,i,a,r];let c=e.points[l-1];for(let p=0;p<l;p++){let m=c;c=e.points[p];let h=(t[0]-m[0])*e.iedges[p][0]+(t[1]-m[1])*e.iedges[p][1],y;h<=0?y=m:h<1?y=[(1-h)*m[0]+h*c[0],(1-h)*m[1]+h*c[1]]:y=c;let S=pR([y[0]-t[0],y[1]-t[1]]);S<i&&(n=y,i=S,a=[m,c],r=p===0?l-1:p-1)}return[n,i,a,r]}var u1={type:"move-bounding-box",label:"Move bounding box",isValid(e,t,i){let n=t.polygon.points.length,r=n===t.selectedPoints.length,a=t.polygon.boundingBox;if(n<1||!r||!a)return!1;let l=e[0],c=l[0],p=l[1];return c>=a.x&&c<=a.x+a.width&&p>=a.y&&p<=a.y+a.height},transition(e,t,i){let n=t.transitionOrigin,r=t.polygon.boundingBox,a=e[0],l=a[0]-n[0],c=a[1]-n[1];t.transitionPoints=t.polygon.points.map(p=>p.length===6?[p[0]+l,p[1]+c,p[2],p[3],p[4],p[5]]:[p[0]+l,p[1]+c]),r&&(t.transitionBoundingBox={x:r.x+l,y:r.y+c,width:r.width,height:r.height})},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:n}}},c1={type:"move-shape",label:"Move shape",isValid(e,t,i){return i.Shift?!1:t.slowState.pointerInsideShape&&(!t.isOpen||t.line===null)},transition(e,t,i){u1.transition(e,t,i)},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:n}}};function s1(e,t){return Math.abs(e-t)}function qi(e,t){let i=s1(e[0],t[0]),n=s1(e[1],t[1]);return Math.sqrt(Math.pow(i,2)+Math.pow(n,2))}function Bm(e,t){return[e[0]-t[0],e[1]-t[1]]}function fR(e,t){return e[0]*t[0]+e[1]*t[1]}function d1(e){return e[0]*e[0]+e[1]*e[1]}function Hc(e,t){return d1(Bm(e,t))}function h1(e,t){let i,n,r,a;var l=function(v,x,A,C,I){if(C<=A+1)return;let E=A,M=0,k=v*v;i=[x[A],x[C]],n=Bm(i[1],i[0]);let O=d1(n),Q,V,J,U,q;for(let ee=A+1;ee<C;ee++)Q=Bm(x[ee],i[0]),U=fR(Q,n),U<=0?q=Hc(x[ee],i[0]):O<=U?q=Hc(x[ee],i[1]):(J=U/O,V=[i[0][0]+J*n[0],i[0][1]+J*n[1]],q=Hc(x[ee],V)),!(q<=M)&&(E=ee,M=q);M>k&&(I[E]=1,l(v,x,A,E,I),l(v,x,E,C,I))};let c=e.length,p=[],m,h,y,S,w=t*t;for(r=[],a=[],r[0]=e[0],m=h=1,S=0;m<c;m++)Hc(e[m],e[S])<w||(r[h++]=e[m],S=m);for(S<c-1&&(r[h++]=e[c-1]),a[0]=a[h-1]=1,l(t,r,0,h-1,a),m=y=0;m<h;m++)a[m]&&(p[y++]=r[m]);return p}var mR={type:"move-point",label:"Move point",modifiers:{Shift:"Constrain to axis"},isValid(e,t,i){if(i.Alt)return!1;let n=i.proximity,[r,a]=e[0],l=t.polygon.points,c=t.selectedPoints;for(let p=0;p<l.length;p++){let m=l[p],h=m[0]-r,y=m[1]-a;if(h*h+y*y<n*n)return!0}return!1},start(e,t,i){if(t.selectedPoints.length<2){let[n,r,a]=hR(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,i){let n=t.transitionOrigin,[r,a]=e[0],l=t.polygon.points,c=t.selectedPoints;if(t.slowState.closestPoint){let y=t.slowState.closestPoint;c.indexOf(y)===-1&&(c=[y])}let p=[],m=r-n[0],h=a-n[1];i.Shift&&(Math.abs(m)>Math.abs(h)?h=0:m=0);for(let y=0;y<l.length;y++){let S=c.indexOf(y)!==-1,w=l[y];S?w.length===6?p.push([w[0]+m,w[1]+h,w[2],w[3],w[4],w[5]]):p.push([w[0]+m,w[1]+h]):p.push(w)}t.transitionPoints=p},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:n}}},a1=10,gR={type:"select-point",label:"Select point",trigger:{type:"click"},modifiers:{Shift:"Add to selection"},isValid(e,t,i){let n=-1;if(t.selectedPoints.length===1){let c=t.selectedPoints[0];c===0&&(n=t.polygon.points.length-1),c===t.polygon.points.length-1&&(n=0)}let[r,a]=e[0],l=t.polygon.points;for(let c=0;c<l.length;c++){let p=l[c],m=p[0]-r,h=p[1]-a;if(m*m+h*h<a1*a1)return n!==c}return!1},commit(e,t,i){let n=i.Shift?[...t.selectedPoints]:[],[r,a]=e[0],l=t.polygon.points.map((c,p)=>{let m=c[0]-r,h=c[1]-a;return[m*m+h*h,p]}).sort((c,p)=>c[0]-p[0])[0];if(t.line=null,!n.includes(l[1]))n.push(l[1]);else if(i.Shift)return{selectedPoints:n.filter(c=>c!==l[1])};return{selectedPoints:n}}},p1={type:"split-line",label:"Split line",isValid(e,t,i){return i.Meta||t.slowState.lineMode?!1:!!(t.closestLinePoint&&t.closestLineDistance<i.proximity)},transition(e,t,i){let n=t.transitionOrigin,[r,a]=e[0],l=t.polygon.points,c=[],p=r-n[0],m=a-n[1];for(let h=0;h<l.length;h++)if(c.push(l[h]),t.closestLineIndex===h){let y=t.closestLinePoint;c.push([y[0]+p,y[1]+m])}t.transitionPoints=c},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{selectedPoints:[t.closestLineIndex+1],points:n}}},yR={type:"add-open-point",label:"Add point",trigger:{type:"click"},isValid(e,t,i){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.lineMode)return!1;let n=t.selectedPoints[0];return n===0||n===t.polygon.points.length-1},commit(e,t,i){let n=t.line?t.line[1]:e[0],r=t.polygon.points;return r.length===0?{selectedPoints:[0],points:[e[0]]}:(i.Shift,t.selectedPoints[0]===0?{selectedPoints:t.slowState.lineMode?[]:[0],points:[n,...r]}:(t.line=null,{selectedPoints:t.slowState.lineMode?[]:[r.length],points:[...r,n]}))}},f1={type:"close-shape",label:"Close shape",trigger:{type:"click"},isValid(e,t,i){if(!t.isOpen||t.selectedPoints.length!==1||t.polygon.points.length<2||i.Meta)return!1;let n=t.selectedPoints[0];if(n===0){let r=t.polygon.points[t.polygon.points.length-1];return qi(e[0],r)<i.proximity}if(n===t.polygon.points.length-1){let r=t.polygon.points[0];return qi(e[0],r)<i.proximity}return!1},commit(e,t,i){let n=t.selectedPoints[0];if(t.line=null,n===0)return{selectedPoints:[],points:t.polygon.points.slice(0).reverse(),isOpen:!1};if(n===t.polygon.points.length-1)return{selectedPoints:[],isOpen:!1}}},vR={type:"deselect-draw",label:"Deselect draw",trigger:{type:"key",key:"Escape"},isValid(e,t,i){return!0},commit(e,t,i){return{selectedPoints:[]}}},xR={type:"select-shape",label:"Select shape",trigger:{type:"click"},isValid(e,t,i){return c1.isValid(e,t,i)},commit(e,t,i){return{selectedPoints:t.polygon.points.map((n,r)=>r)}}},SR={type:"deselect-bounding-box",label:"Deselect bounding box",trigger:{type:"click"},isValid(e,t,i){return!t.isOpen&&t.selectedPoints.length>2&&t.selectedPoints.length===t.polygon.points.length},commit(e,t,i){return{selectedPoints:[]}}},wR={type:"bounding-box-corners",label:"Drag to resize",modifiers:{Shift:"Maintain aspect ratio",Alt:"Scale from center",Meta:"Rotate"},isValid(e,t,i){if(t.transitionDirection=null,t.transitionRotate=!1,t.isOpen||t.selectedPoints.length!==t.polygon.points.length||!t.polygon.boundingBox)return!1;let n=i.proximity*.5,r=i.proximity*3,a=e[0],l=t.polygon.boundingBox,c=l.x+n,p=l.x+l.width-n*2,m=l.y+n,h=l.y+l.height-n*2;if(a[0]>c&&a[0]<p&&a[1]>m&&a[1]<h)return!1;let y=[l.x+l.width,l.y+l.height],S=[l.x,l.y],w=[l.x+l.width,l.y],v=[l.x,l.y+l.height],x=["ne","nw","se","sw"],A=[qi(e[0],w),qi(e[0],S),qi(e[0],y),qi(e[0],v)],C=Math.min(...A);if(A[0]<r||A[1]<r||A[2]<r||A[3]<r){(C>i.proximity||i.Meta)&&(t.transitionRotate=!0);let I=A.indexOf(Math.min(...A));return t.transitionDirection=I!==-1?x[I]:null,!0}return!1},start(e,t,i){let n=e[0],r=t.polygon.boundingBox,a=[r.x+r.width,r.y+r.height],l=[r.x,r.y],c=[r.x+r.width,r.y],p=[r.x,r.y+r.height],m=["ne","nw","se","sw"],h=[qi(e[0],c),qi(e[0],l),qi(e[0],a),qi(e[0],p)],y=Math.min(...h),S=h.indexOf(y);t.transitionDirection=S!==-1?m[S]:null,y>i.proximity&&(t.transitionRotate=!0)},transition(e,t,i){let n=t.polygon.boundingBox,r=[n.x,n.y],a=t.transitionOrigin||e[0],[l,c]=e[0];if(i.Meta||t.transitionRotate){r=[n.x+n.width/2,n.y+n.height/2];let v=Math.atan2(a[1]-r[1],a[0]-r[0]),x=Math.atan2(c-r[1],l-r[0]),A=i.Shift,C=Math.PI/(i.Alt?4:12),I=x-v;A&&(I=Math.round(I/C)*C);let E=Math.cos(I),M=Math.sin(I),k=[];for(let O of t.polygon.points){let Q=O[0]-r[0],V=O[1]-r[1],J=Q*E-V*M,U=Q*M+V*E,q=J+r[0],ee=U+r[1];if(O.length===6){k.push([q,ee,O[2],O[3],O[4],O[5]]);continue}k.push([q,ee])}t.transitionPoints=k,$c({points:k,iedges:null,boundingBox:null,isBezier:!1,bezierLines:[]}),t.transitionBoundingBox=t.polygon.boundingBox?{...t.polygon.boundingBox,rotation:I}:null;return}let p=0,m=0;switch(t.transitionDirection){case"se":{r=[n.x,n.y],p=l-a[0],m=c-a[1];break}case"sw":{r=[n.x+n.width,n.y],p=a[0]-l,m=c-a[1];break}case"ne":{r=[n.x,n.y+n.height],p=l-a[0],m=a[1]-c;break}case"nw":{r=[n.x+n.width,n.y+n.height],p=a[0]-l,m=a[1]-c;break}}if(i.Alt&&(r=[n.x+n.width/2,n.y+n.height/2],p*=2,m*=2),i.Shift){let v=n.width/n.height;Math.abs(n.width/p)>Math.abs(n.height/m)?m=p/v:p=m*v}let h=(n.width+p)/n.width,y=(n.height+m)/n.height,S=[];for(let v of t.polygon.points){let x=v[0]-r[0],A=v[1]-r[1],C=x*h,I=A*y,E=C+r[0],M=I+r[1];if(v.length===6){S.push([E,M,v[2],v[3],v[4],v[5]]);continue}S.push([E,M])}t.transitionPoints=S;let w={points:S,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};$c(w),t.transitionBoundingBox=w.boundingBox},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,t.transitionRotate=!1,{points:n}}},bR={type:"cut-line",label:"Add new point",trigger:{type:"click"},modifiers:{Shift:"Cut line"},isValid(e,t,i){return p1.isValid(e,t,i)},commit(e,t,i){if(i.Shift&&!t.isOpen){let a=t.polygon.points,l=[],c=[],p=!1;for(let m=0;m<a.length;m++)p?c.push(a[m]):l.push(a[m]),t.closestLineIndex===m&&(p=!0);return{isOpen:!0,points:[...c,...l]}}let n=t.polygon.points,r=[];for(let a=0;a<n.length;a++)if(r.push(n[a]),t.closestLineIndex===a){let l=t.closestLinePoint;r.push(l)}return{points:r}}},CR={type:"select-multiple-points",label:"Drag to select multiple points",isValid(e,t,i){return t.slowState.lineMode&&t.polygon.points.length>=2?!0:!t.line},transition(e,t,i){if(!t.transitionOrigin)return;let n=t.transitionOrigin[0],r=t.transitionOrigin[1],a=e[0][0],l=e[0][1],c=Math.min(n,a),p=Math.min(r,l),m=Math.abs(n-a),h=Math.abs(r-l);t.selectionBox={x:c,y:p,width:m,height:h}},commit(e,t,i){if(t.selectionBox){let n=[];i.Shift&&n.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&&n.push(r)}return{selectedPoints:n}}}},PR={type:"deselect-points",label:"Deselect points",trigger:{type:"click"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){return{selectedPoints:[]}}},Gc=4,ER={type:"nudge-right",label:"Nudge right",trigger:{type:"key",key:"ArrowRight"},modifiers:{Shift:"Nudge right more"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=i.proximity*.3,r=t.polygon.points,a=t.selectedPoints;return{points:r.map((l,c)=>a.includes(c)?[l[0]+(i.Shift?Gc*n:1),l[1]]:l)}}},AR={type:"nudge-left",label:"Nudge left",trigger:{type:"key",key:"ArrowLeft"},modifiers:{Shift:"Nudge left more"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=i.proximity*.3,r=t.polygon.points,a=t.selectedPoints;return{points:r.map((l,c)=>a.includes(c)?[Math.max(0,l[0]-(i.Shift?Gc*n:1)),l[1]]:l)}}},IR={type:"nudge-up",label:"Nudge up",trigger:{type:"key",key:"ArrowUp"},modifiers:{Shift:"Nudge up more"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=i.proximity*.3,r=t.polygon.points,a=t.selectedPoints;return{points:r.map((l,c)=>{if(a.includes(c)){let p=l[0],m=Math.max(0,l[1]-(i.Shift?Gc*n:1));return l.length===6?[p,m,l[2],l[3],l[4],l[5]]:[p,m]}return l})}}},RR={type:"nudge-down",label:"Nudge down",trigger:{type:"key",key:"ArrowDown"},modifiers:{Shift:"Nudge down more"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=i.proximity*.3,r=t.polygon.points,a=t.selectedPoints;return{points:r.map((l,c)=>{let p=l[0],m=Math.max(0,l[1]-(i.Shift?Gc*n:1));return a.includes(c)?l.length===6?[p,m,l[2],l[3],l[4],l[5]]:[p,m]:l})}}},TR={type:"delete-point",label:"Delete point",trigger:{type:"key",key:"Backspace"},isValid(e,t,i){return t.selectedPoints.length>0},commit(e,t,i){let n=t.polygon.points.filter((r,a)=>!t.selectedPoints.includes(a));return{isOpen:n.length<3,selectedPoints:[],points:n}}},_R={type:"draw-shape",label:"Draw shape",isValid(e,t,i){let n=i.Alt||t.slowState.drawMode;return!!(t.isOpen&&(t.line||t.polygon.points.length===0)&&n)},start(e,t,i){t.transitionDraw=[]},transition(e,t,i){t.transitionDraw.push(e[0])},commit(e,t,i){let n=h1(t.transitionDraw,t.scale*3);return t.transitionDraw=[],t.selectedPoints[0]===0?{isOpen:!1,points:[...n,...t.polygon.points.slice(0).reverse()]}:{isOpen:!1,points:[...t.polygon.points,...n]}}},MR={type:"stamp-shape",label:"Stamp shape",modifiers:{Shift:"Maintain aspect ratio"},isValid(e,t,i){return t.slowState.selectedStamp!==null},start(e,t,i){let n=e[0];if(n&&t.slowState.selectedStamp){let r=t.slowState.selectedStamp,a=n[0],l=n[1],c=[],p=Math.min(...r.points.map(x=>x[0])),m=Math.min(...r.points.map(x=>x[1])),h=Math.max(...r.points.map(x=>x[0]))-p,y=Math.max(...r.points.map(x=>x[1]))-m,S=h/32;y/32>S&&(S=y/32);let w=[],v=0;for(let x of r.points)w.push(v),c.push([a+(x[0]-p)/S,l+(x[1]-m)/S]),v++;return t.transitionPoints=c,{isOpen:!1,selectedPoints:w,points:c}}},transition(e,t,i){if(!t.transitionOrigin)return;let n=t.polygon.boundingBox,r=[n.x,n.y],a=t.transitionOrigin||e[0],[l,c]=e[0],p=t.transitionOrigin[0],m=t.transitionOrigin[1],h=e[0][0],y=e[0][1],S=h-p-32,w=y-m-32;if(i.Shift){let I=n.width/n.height;Math.abs(n.width/S)>Math.abs(n.height/w)?w=S/I:S=w*I}let v=(n.width+S)/n.width,x=(n.height+w)/n.height,A=[];for(let I of t.polygon.points){let E=I[0]-r[0],M=I[1]-r[1],k=E*v,O=M*x,Q=k+r[0],V=O+r[1];if(I.length===6){A.push([Q,V,I[2],I[3],I[4],I[5]]);continue}A.push([Q,V])}t.transitionPoints=A;let C={points:A,iedges:null,boundingBox:null,bezierLines:[],isBezier:!1};$c(C),t.transitionBoundingBox=C.boundingBox},commit(e,t,i){return{isOpen:!1,points:t.transitionPoints}}},kR={type:"close-shape-line",label:"Close shape line",trigger:{type:"click"},isValid(e,t,i){return!t.isOpen||t.polygon.points.length<3||!t.closestLinePoint||t.closestLineDistance>=i.proximity?!1:(t.closestLineIndex===0||(t.closestLineIndex,t.polygon.points.length-2),!0)},commit(e,t,i){return f1.commit(e,t,i)}},OR={type:"stamp-fixed-size-shape",label:"Stamp fixed size shape",trigger:{type:"click"},isValid(e,t,i){return t.slowState.selectedStamp!==null},commit(e,t,i){let n=e[0],r=t.slowState.selectedStamp;if(!n||!r)return;let a=n[0],l=n[1],c=[],p=Math.min(...r.points.map(x=>x[0])),m=Math.min(...r.points.map(x=>x[1])),h=Math.max(...r.points.map(x=>x[0]))-p,y=Math.max(...r.points.map(x=>x[1]))-m,S=4*i.proximity,w=h/S;y/S>w&&(w=y/S),a-=h/w/2,l-=y/w/2;let v=0;for(let x of r.points)c.push([a+(x[0]-p)/w,l+(x[1]-m)/w]),v++;return{isOpen:!1,points:c}}},LR={type:"move-line",label:"Move line",isValid(e,t,i){return t.slowState.lineMode?!!(t.closestLinePoint&&t.closestLineDistance<i.proximity):!1},transition(e,t){let i=t.transitionOrigin,n=t.polygon.boundingBox,r=e[0],a=r[0]-i[0],l=r[1]-i[1];t.transitionPoints=t.polygon.points.map(c=>c.length===6?[c[0]+a,c[1]+l,c[2],c[3],c[4],c[5]]:[c[0]+a,c[1]+l])},commit(e,t,i){let n=t.transitionPoints;return t.transitionPoints=null,t.transitionBoundingBox=null,{points:n}}},FR={type:"close-line-box",label:"Close Line Box",trigger:{type:"click"},isValid(e,t,i){return t.slowState.lineBoxMode===!0&&t.polygon.points.length===2&&t.lineBox!==null},commit(e,t,i){return t.lineBox?{isOpen:!1,points:t.lineBox}:{}}};function m1(e={}){let t=e.proximityThreshold||10,i=e.closestLinePointFill||{selected:"#fff",unselected:"rgba(255, 255, 255, .5)"},n=e.closestLinePointStroke||{selected:"#000",unselected:"rgba(0, 0, 0, .5)"};function r(v,x,A){v&&x.transitionBoundingBox&&A.transitioning&&(v.setAttribute("x",""+x.transitionBoundingBox.x),v.setAttribute("y",""+x.transitionBoundingBox.y),v.setAttribute("width",""+x.transitionBoundingBox.width),v.setAttribute("height",""+x.transitionBoundingBox.height))}function a(v,x,A){v&&x.polygon.boundingBox&&A.showBoundingBox&&(v.setAttribute("x",""+x.polygon.boundingBox.x),v.setAttribute("y",""+x.polygon.boundingBox.y),v.setAttribute("width",""+x.polygon.boundingBox.width),v.setAttribute("height",""+x.polygon.boundingBox.height))}function l(v,x,A){if(v&&x.polygon.boundingBox&&A.showBoundingBox){let C=x.transitionBoundingBox||x.polygon.boundingBox;C.rotation?(v.style.transformOrigin=`${C.x+C.width/2}px ${C.y+C.height/2}px`,v.style.transform=`rotate(${Math.round(100*C.rotation*(180/Math.PI))/100}deg)`):v.style.transform="",v.setAttribute("points",[[C.x,C.y],[C.x+C.width,C.y],[C.x+C.width,C.y+C.height],[C.x,C.y+C.height]].map(I=>I.join(",")).join(" "))}}function c(v,x,A){v&&x.transitionPoints&&A.transitioning&&v.setAttribute("points",x.transitionPoints.map(C=>C.join(",")).join(" "))}function p(v,x,A){v&&x.closestLinePoint&&A.hasClosestLine&&(v.setAttribute("cx",""+x.closestLinePoint[0]),v.setAttribute("cy",""+x.closestLinePoint[1]),v.setAttribute("fill",x.closestLineDistance<t?i.selected:i.unselected),v.setAttribute("stroke",x.closestLineDistance<t?n.selected:n.unselected))}function m(v,x,A){v&&x.closestLinePoint&&A.hasClosestLine&&v.setAttribute("transform",`translate(${x.closestLinePoint[0]}, ${x.closestLinePoint[1]})`)}function h(v,x,A){v&&x.selectionBox&&A.transitionIntentType==="select-multiple-points"&&(v.setAttribute("x",""+x.selectionBox.x),v.setAttribute("y",""+x.selectionBox.y),v.setAttribute("width",""+x.selectionBox.width),v.setAttribute("height",""+x.selectionBox.height))}function y(v,x,A){if(v&&x.pointer&&x.selectedPoints.length)if(A.actionIntentType==="close-shape"||A.actionIntentType==="close-shape-line"){let C=x.polygon.points[0],I=x.polygon.points[x.polygon.points.length-1];C&&I&&v.setAttribute("points",`${C.join(",")} ${I.join(",")}`)}else if(x.line)v.setAttribute("points",`${x.line[0].join(",")} ${x.line[1].join(",")}`);else{let C=x.polygon.points[x.selectedPoints[0]];C&&C.length&&v.setAttribute("points",`${x.pointer[0]},${x.pointer[1]} ${C.join(",")}`)}}function S(v,x,A,C=3){v&&x.transitionDraw.length&&v.setAttribute("points",h1(x.transitionDraw,C*3).map(I=>I.join(",")).join(" "))}function w(v,x){v&&x.lineBox&&v.setAttribute("points",x.lineBox.map(A=>A.join(",")).join(" "))}return{updateTransitionBoundingBox:r,updateClosestLinePointTransform:m,updateBoundingBoxPolygon:l,updateBoundingBox:a,updateTransitionShape:c,updateClosestLinePoint:p,updateSelectBox:h,updatePointLine:y,updateDrawPreview:S,updateLineBox:w}}var zR=typeof window<"u"?window.requestAnimationFrame:e=>setTimeout(e,16),NR=typeof window<"u"?window.cancelAnimationFrame:e=>clearTimeout(e),jm=[MR,wR,mR,LR,p1,c1,u1,_R,CR],BR=jm.length,Dm=[FR,OR,f1,gR,kR,bR,yR,xR,SR,PR],Qc=[vR,ER,AR,IR,RR,TR],Ua={};jm.forEach(e=>{Ua[e.type]=e});Dm.forEach(e=>{Ua[e.type]=e});Qc.forEach(e=>{Ua[e.type]=e});var qc=20;function g1(e,t){let i={shapeId:e?.id||null,noShape:e===null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:qc},showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},pointerInsideShape:!1,closestPoint:null,transitionModifiers:null,selectedStamp:null,lineMode:!1,lineBoxMode:!1,drawMode:!1,bezierLines:[]},n={isOpen:e?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:i,transitionDraw:[]},r={startTime:0,time:0,shouldUpdate:!1,nextSlowState:null,renderFunc:()=>{},setStateFunc:()=>{},animationFrame:0,actionIntent:null,transitionIntent:null,undoStack:[],undoStackPointer:-1},a={isPressed:!1,isClicking:!1,lastPress:null,pressTimeout:0,noTransition:!1};function l(N){l1(N),N.isBezier&&c({bezierLines:N.bezierLines}),$c(N),r.shouldUpdate=!0}l(n.polygon);function c(N){let G=Object.keys(N);if(G.length===0)return;let de=r.nextSlowState||n.slowState,ye=!1;if(G.length===1&&G[0]==="validIntentKeys"&&de.validIntentKeys){let ge=Object.keys(de.validIntentKeys),Ve=Object.keys(N.validIntentKeys||{});if(ge.length===Ve.length){for(let Fe of ge)de.validIntentKeys[Fe]!==N.validIntentKeys[Fe]&&(ye=!0);if(!ye)return}}if(!(G.length===1&&G.includes("hasClosestLine")&&N.hasClosestLine===de.hasClosestLine)){if(r.nextSlowState){r.nextSlowState={...r.nextSlowState,...N};return}r.nextSlowState={...n.slowState,...N}}}function p(N,G=!1){r.time+=N,m(),h(),C(),A(),x(),I(),M(),E(),r.renderFunc(n,n.slowState,N),!G&&(r.animationFrame=zR(p))}function m(){if(r.shouldUpdate&&(t({id:n.slowState.shapeId||void 0,open:n.isOpen,points:n.polygon.points}),r.shouldUpdate=!1),r.nextSlowState&&r.nextSlowState!==n.slowState){let N=Object.keys(n.slowState),G={},de=!1;for(let ye of N){let ge=n.slowState[ye],Ve=r.nextSlowState[ye];ge!==Ve?(de=!0,G[ye]=Ve):G[ye]=ge}de&&(n.slowState=G,r.nextSlowState=null,r.setStateFunc(n.slowState))}}function h(){n.slowState.showBoundingBox?(n.slowState.noShape||n.selectedPoints.length===0||n.selectedPoints.length!==n.polygon.points.length)&&c({showBoundingBox:!1}):!n.slowState.noShape&&n.polygon.points.length&&n.selectedPoints.length===n.polygon.points.length&&c({showBoundingBox:!0})}function y(N){n.selectedPoints=N.selectedPoints,c({selectedPoints:N.selectedPoints}),n.polygon.points=N.points,n.polygon.boundingBox=null,n.polygon.iedges=null,n.polygon.isBezier=null,l(n.polygon),c({closestPoint:null}),(N.isOpen===!0||N.isOpen===!1)&&(n.isOpen=N.isOpen,r.shouldUpdate=!0)}function S(){if(r.undoStackPointer===-1)return;r.undoStackPointer--;let N=r.undoStack[r.undoStackPointer];y(N)}function w(){if(r.undoStackPointer===r.undoStack.length-1)return;r.undoStackPointer++;let N=r.undoStack[r.undoStackPointer];y(N)}function v(N){r.undoStackPointer++,r.undoStack[r.undoStackPointer]=N,r.undoStack.length>15&&(r.undoStack.shift(),r.undoStackPointer--)}function x(){if(!n.pointer||n.slowState.noShape){c({pointerInsideShape:!1});return}let[N,G]=n.pointer,de=n.polygon.points,ye=n.polygon.boundingBox;if(!ye){c({pointerInsideShape:!1});return}if(N<ye.x||N>ye.x+ye.width||G<ye.y||G>ye.height+ye.y){c({pointerInsideShape:!1});return}let ge=!1;for(let Ve=0,Fe=de.length-1;Ve<de.length;Fe=Ve++)de[Ve][1]>G!=de[Fe][1]>G&&N<(de[Fe][0]-de[Ve][0])*(G-de[Ve][1])/(de[Fe][1]-de[Ve][1])+de[Ve][0]&&(ge=!ge);c({pointerInsideShape:ge})}function A(){if(n.slowState.noShape||!n.pointer||n.slowState.transitioning||!n.polygon.points||n.polygon.points.length===0)return;let[N,G]=n.pointer,de=n.polygon.points.map((ye,ge)=>{let Ve=ye[0]-N,Fe=ye[1]-G;return[Ve*Ve+Fe*Fe,ge]}).sort((ye,ge)=>ye[0]-ge[0]);de.length&&c({closestPoint:de[0][1]})}function C(){if(!n.pointer||n.slowState.transitioning)return;if(n.slowState.noShape){n.closestLineIndex=-1,n.closestLinePoint=null,n.closestLineDistance=0;return}let[N,G,de,ye]=o1(n.polygon,n.pointer),ge=pe()*pe();G<ge&&(!n.isOpen||n.slowState.lineMode||n.polygon.points.length-1!==ye)?(n.closestLinePoint=N,n.closestLineDistance=Math.sqrt(G),n.closestLineIndex=ye,c({hasClosestLine:!0})):(n.closestLinePoint=null,n.closestLineDistance=0,n.closestLineIndex=-1,c({hasClosestLine:!1}))}function I(){if(!n.pointer||n.slowState.transitioning||n.slowState.noShape)return;let N=!1;for(let ye=0;ye<BR;ye++){let ge=jm[ye];if(ge.isValid(a.isPressed?[a.lastPress]:[n.pointer],n,k())){if(r.transitionIntent===ge){N=!0;break}c({transitionIntentType:ge.type}),r.transitionIntent=ge,N=!0;break}}N||r.transitionIntent&&(r.transitionIntent=null,c({transitionIntentType:null}));let G=!1;for(let ye=0;ye<Dm.length;ye++){let ge=Dm[ye];if(Q(ge)){if(r.actionIntent===ge){G=!0;break}c({actionIntentType:ge.type}),r.actionIntent=ge,G=!0;break}}G||r.actionIntent&&(r.actionIntent=null,c({actionIntentType:null}));let de={};for(let ye=0;ye<Qc.length;ye++){let ge=Qc[ye];ge.trigger.type==="key"&&Q(ge)&&(de[ge.trigger.key]=ge.label)}c({validIntentKeys:de})}function E(){let N=n.pointer;if(n.lineBox=null,!N||J()||n.polygon.points.length!==2)return;let[G,de]=N,[ye,ge]=n.polygon.points[0],[Ve,Fe]=n.polygon.points[1],[Pe,ne,he,Oe]=o1(n.polygon,N);if(!Pe)return;let ot=G-Pe[0],Ri=de-Pe[1],Dt=[ye,ge],Wt=[Ve,Fe],fs=[Wt[0]+ot,Wt[1]+Ri],Ti=[Dt[0]+ot,Dt[1]+Ri];n.lineBox=[Dt,Wt,fs,Ti]}function M(){let N=n.pointer;if(!N||!J()||n.slowState.noShape)return;let G=n.selectedPoints[0];if(n.line=[n.polygon.points[G],N],n.slowState.modifiers.Shift){let de=0;if(n.polygon.points.length>1){let ot=n.selectedPoints[0];ot===0?de=Math.atan2(n.polygon.points[1][1]-n.polygon.points[0][1],n.polygon.points[1][0]-n.polygon.points[0][0]):de=Math.atan2(n.polygon.points[ot-1][1]-n.polygon.points[ot][1],n.polygon.points[ot-1][0]-n.polygon.points[ot][0])}let ye=N[0]-n.polygon.points[G][0],ge=N[1]-n.polygon.points[G][1],Ve=Math.atan2(ge,ye),Fe=Math.PI/4,Pe=Math.round((Ve-de)/Fe)*Fe+de,ne=qi(n.polygon.points[G],N),he=Math.cos(Pe)*ne+n.polygon.points[G][0],Oe=Math.sin(Pe)*ne+n.polygon.points[G][1];n.line[1]=[he,Oe]}}function k(){return n.slowState.modifiers}function O(N){let G=N.commit([a.lastPress],n,k());G&&(G.selectedPoints&&(n.selectedPoints=G.selectedPoints,c({selectedPoints:G.selectedPoints})),G.points&&(n.polygon.points=G.points,n.polygon.boundingBox=null,n.polygon.iedges=null,n.polygon.isBezier=null,n.transitionBoundingBox=null,l(n.polygon),c({closestPoint:null,selectedStamp:null})),(G.isOpen===!0||G.isOpen===!1)&&(n.isOpen=G.isOpen,r.shouldUpdate=!0),v({isOpen:n.isOpen,points:n.polygon.points,selectedPoints:n.selectedPoints})),c({transitionModifiers:null})}function Q(N){return N.isValid(n.pointer?[n.pointer]:[],n,k())}function V(N){N==="Delete"&&(N="Backspace");for(let G of Qc)if(!(G.trigger.type!=="key"||G.trigger.key!==N)&&Q(G))return O(G),!0}function J(){let N=n.polygon.points,G=n.pointer;if(!n.isOpen||!N.length||n.selectedPoints.length!==1||!G)return!1;let de=n.selectedPoints[0],ye=de===0,ge=de===N.length-1;return ye||ge}let U={reset(){c({modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:qc}})},getForType(N){let G={};if(!N)return G;let de=Ua[N];return!de||!de.modifiers?G:de.modifiers},set(N){N!=="Shift"&&N!=="Alt"&&N!=="Meta"||c({modifiers:{...r.nextSlowState?.modifiers||n.slowState.modifiers,[N]:!0}})},unset(N){N!=="Shift"&&N!=="Alt"&&N!=="Meta"||c({modifiers:{...r.nextSlowState?.modifiers||n.slowState.modifiers,[N]:!1}})}},q={set(N){c({selectedStamp:N})},clear(){c({selectedStamp:null})},square(){c({selectedStamp:{id:"square",open:!1,points:[[0,0],[0,100],[100,100],[100,0]]}})},triangle(){c({selectedStamp:{id:"triangle",open:!1,points:[[50,0],[0,100],[100,100]]}})},pentagon(){c({selectedStamp:{id:"pentagon",open:!1,points:[[0,0],[0,100],[100,100],[100,0],[50,-50]]}})},hexagon(){c({selectedStamp:{id:"hexagon",open:!1,points:[[0,0],[0,100],[50,150],[100,100],[100,0],[50,-50]]}})}},ee={down(N){return N=="Shift"||N=="Alt"||N=="Meta"?(U.set(N),!0):N==="Control"?(U.set("Meta"),!0):N==="z"&&n.slowState.modifiers.Meta?(n.slowState.modifiers.Shift?w():S(),!0):V(N)},up(N){if(N==="Control"){U.unset("Meta");return}N!=="Shift"&&N!=="Alt"&&N!=="Meta"||U.unset(N)}};function Me(N){n.scale=N,c({modifiers:{...r.nextSlowState?.modifiers||n.slowState.modifiers,proximity:N*qc}})}function pe(){return qc*n.scale}let Re={set:N=>{r.renderFunc=N},start:(N,G)=>{r.startTime=performance.now(),r.time=0,N&&(r.renderFunc=N),G&&(G(n.slowState),r.setStateFunc=G),p(0)},stop:()=>{r.animationFrame&&(NR(r.animationFrame),r.animationFrame=0)},step:(N=16)=>{p(N)}};function ke(N){let G=N[0];if(!(!G||!G[0]&&G[0]!==0||!G[1]&&G[1]!==0)&&!(Number.isNaN(G[0])||Number.isNaN(G[1]))){if(n.pointer=G||null,n.slowState.transitioning)r.transitionIntent&&r.transitionIntent.transition(N,n,k());else if(a.isPressed&&!a.noTransition&&(!a.isClicking||qi(a.lastPress,n.pointer)>10))if(clearTimeout(a.pressTimeout),a.isClicking=!1,r.transitionIntent){if(n.transitionOrigin=a.lastPress,c({transitioning:!0}),r.transitionIntent.start){let de=r.transitionIntent.start([a.lastPress],n,k());de&&(de.selectedPoints&&(n.selectedPoints=de.selectedPoints,c({selectedPoints:de.selectedPoints})),(de.isOpen===!0||de.isOpen===!1)&&(n.isOpen=de.isOpen,r.shouldUpdate=!0),de.points&&(n.polygon.points=de.points,n.polygon.boundingBox=null,n.polygon.iedges=null,l(n.polygon),c({closestPoint:null})))}c({transitionModifiers:r.transitionIntent.modifiers||null}),r.transitionIntent.transition([a.lastPress],n,k())}else a.noTransition=!0}}function He(){n.pointer=null,n.slowState.transitioning||(a.isPressed=!1,a.isClicking=!1,a.lastPress=null,c({transitionIntentType:null,actionIntentType:null}),r.transitionIntent=null,r.actionIntent=null)}function qe(){a.isClicking=!0,a.isPressed=!0,a.lastPress=n.pointer,a.pressTimeout=setTimeout(()=>{a.isPressed&&(a.isClicking=!1)},250)}function $(){n.slowState.transitioning?(c({transitioning:!1}),r.transitionIntent&&O(r.transitionIntent),r.transitionIntent=null,c({transitionIntentType:null})):a.isClicking&&(r.actionIntent&&O(r.actionIntent),r.actionIntent=null,c({actionIntentType:null})),a.isPressed=!1,a.isClicking=!1,a.lastPress=null,a.noTransition=!1,clearTimeout(a.pressTimeout)}function ve(N){n.polygon.points=N?.points||[],n.polygon.boundingBox=null,n.polygon.iedges=null,n.isOpen=N?.open||!1,l(n.polygon),r.nextSlowState=null,r.undoStack=[],r.undoStackPointer=-1,n.lineBox=null,n.line=null,a.pressTimeout&&clearTimeout(a.pressTimeout),c({noShape:N===null,shapeId:N?.id||null,transitioning:!1,actionIntentType:null,transitionIntentType:null,selectedPoints:[],hasClosestLine:!1,modifiers:{Alt:!1,Shift:!1,Meta:!1,proximity:n.slowState.modifiers.proximity},showBoundingBox:!1,currentModifiers:{},validIntentKeys:{},selectedStamp:null,drawMode:!1,closestPoint:null,pointerInsideShape:!1,lineBoxMode:!1,lineMode:!1}),m()}function it(N){if(!N)return"";let G=Ua[N];return!G||!G.modifiers?G.label||"":n.slowState.modifiers.Shift&&G.modifiers.Shift?G.modifiers.Shift:n.slowState.modifiers.Alt&&G.modifiers.Alt?G.modifiers.Alt:n.slowState.modifiers.Meta&&G.modifiers.Meta?G.modifiers.Meta:G.label}function Qe(){n.slowState.lineMode?c({lineMode:!1,lineBoxMode:!1,drawMode:!1}):c({lineMode:!0,lineBoxMode:!1,drawMode:!1})}function $e(){n.slowState.lineBoxMode?c({lineMode:!1,lineBoxMode:!1,drawMode:!1}):c({lineBoxMode:!0,lineMode:!0,drawMode:!1})}return{draw:{enable(){c({drawMode:!0,lineMode:!1,lineBoxMode:!1})},disable(){c({drawMode:!1})},toggle(){c({drawMode:!n.slowState.drawMode,lineMode:!1,lineBoxMode:!1})}},state:n,modifiers:U,stamps:q,key:ee,setScale:Me,clock:Re,pointer:ke,blur:He,pointerDown:qe,pointerUp:$,setShape:ve,modes:{toggleLineBoxMode:$e,toggleLineMode:Qe,enableLineMode(){c({lineMode:!0,lineBoxMode:!1,drawMode:!1})},disableLineMode(){c({lineMode:!1,lineBoxMode:!1,drawMode:!1})},enableLineBoxMode(){c({lineMode:!0,lineBoxMode:!0,drawMode:!1})},disableLineBoxMode(){c({lineMode:!1,lineBoxMode:!1,drawMode:!1})}},label:it}}function Vm(e,t,i){let[n,r]=(0,ps.useState)({}),a=(0,ps.useMemo)(()=>g1(e,i),[]);return(0,ps.useEffect)(()=>(a.clock.start(t,r),()=>{a.clock.stop()}),[]),{state:n,helper:a}}var tt=R(B(),1),Cr=m1();function Um(e,t){let{image:i,currentShape:n,onChange:r,hideShapeLines:a}=e,l=(0,si.useRef)(),c=(0,si.useRef)(),p=(0,si.useRef)(),m=(0,si.useRef)(),h=(0,si.useRef)(),y=(0,si.useRef)(),S=(0,si.useRef)(),w=(0,si.useRef)(),[v,x]=(0,si.useState)(null),[A,C]=(0,si.useState)(!1),{helper:I,state:E}=Vm(n,(q,ee)=>{Cr.updateTransitionBoundingBox(c.current,q,ee),Cr.updateBoundingBoxPolygon(l.current,q,ee),Cr.updateTransitionShape(y.current,q,ee),Cr.updateClosestLinePointTransform(m.current,q,ee),Cr.updateSelectBox(p.current,q,ee),Cr.updatePointLine(S.current,q,ee),Cr.updateDrawPreview(h.current,q,ee,3),Cr.updateLineBox(w.current,q),x(q.transitionDirection),C(q.transitionRotate)},r);(0,si.useEffect)(()=>{I.setShape(n||null)},t),(0,si.useEffect)(()=>{let q=()=>{I.modifiers.reset()};return document.addEventListener("mouseleave",q),()=>{document.removeEventListener("mouseleave",q)}},[]);let M=(0,tt.jsxs)(tt.Fragment,{children:[(0,tt.jsx)("marker",{id:"dot",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:(0,tt.jsx)("circle",{cx:"5",cy:"5",r:"4",className:"marker"})}),(0,tt.jsx)("marker",{id:"selected",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:(0,tt.jsx)("circle",{cx:"5",cy:"5",r:"4",fill:"#FAFF00"})}),(0,tt.jsx)("marker",{id:"resizer",viewBox:"0 0 10 10",refX:"5",refY:"5",markerWidth:"5",markerHeight:"5",children:(0,tt.jsx)("rect",{width:"10",height:"10",stroke:"#FF0DCB",fill:"#fff",strokeWidth:2})})]}),k=n?n.open?"polyline":"polygon":null,O=!E.showBoundingBox&&E.closestPoint!==null&&E.actionIntentType==="select-point",Q=E.actionIntentType==="add-open-point",V=E.transitionIntentType==="split-line",J=E.transitioning&&E.selectedStamp&&E.transitionIntentType==="stamp-shape",U=n&&k?(0,tt.jsxs)(tt.Fragment,{children:[(0,tt.jsx)(k,{fill:!E.transitioning&&E.showBoundingBox?"rgba(255, 0, 0, .5)":"none",strokeWidth:J?0:2,stroke:a?"transparent":"#000",points:n.points.map(q=>q.join(",")).join(" "),vectorEffect:"non-scaling-stroke",markerStart:E.showBoundingBox?void 0:"url(#dot)",markerMid:E.showBoundingBox?void 0:"url(#dot)",markerEnd:E.showBoundingBox?void 0:"url(#dot)",style:{pointerEvents:"none"}}),E.lineBoxMode&&E.actionIntentType==="close-line-box"?(0,tt.jsx)("polygon",{fill:"rgba(255, 0, 0, .4)",ref:w,stroke:"#000",strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,E.transitionIntentType==="draw-shape"&&E.transitioning?(0,tt.jsx)("polyline",{ref:h,fill:"none",stroke:"rgba(255, 0, 0, .5)",strokeWidth:2,vectorEffect:"non-scaling-stroke"}):null,!E.showBoundingBox&&E.selectedPoints&&E.selectedPoints.length?(0,tt.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:"url(#selected)",markerMid:"url(#selected)",markerEnd:"url(#selected)",fill:"transparent",points:n.points.filter((q,ee)=>E.selectedPoints?.includes(ee)).map(q=>q.join(",")).join(" ")}):null,O&&E.closestPoint!==null&&n.points[E.closestPoint]?(0,tt.jsx)("polyline",{strokeWidth:2,vectorEffect:"non-scaling-stroke",stroke:"transparent",markerStart:"url(#selected)",markerMid:"url(#selected)",markerEnd:"url(#selected)",fill:"transparent",points:`${n.points[E.closestPoint][0]},${n.points[E.closestPoint][1]}`}):null,!E.transitioning&&(E.actionIntentType==="add-open-point"||E.actionIntentType==="close-shape"||E.actionIntentType==="close-shape-line")?(0,tt.jsx)("polyline",{stroke:"#000",ref:S,strokeWidth:E.actionIntentType==="close-shape"?2:1,vectorEffect:"non-scaling-stroke"}):null,E.hasClosestLine&&(!E.transitionIntentType||E.transitionIntentType==="split-line")?(0,tt.jsx)("g",{ref:m,children:(0,tt.jsx)("polyline",{style:{opacity:.5},markerStart:"url(#dot)",points:"0,0 10,10",vectorEffect:"non-scaling-stroke",fill:"transparent",strokeWidth:2})}):null,E.transitioning?(0,tt.jsx)(k,{ref:y,fill:n.open?"none":"rgba(255, 0, 0, .5)",stroke:"rgba(255, 0, 0, .5)",strokeWidth:n.open?2:0}):null,E.transitioning&&E.transitionIntentType==="select-multiple-points"?(0,tt.jsx)("rect",{ref:p,fill:"rgba(255, 255, 255, .3)",strokeWidth:1,stroke:"rgba(0,0,0,.2)",vectorEffect:"non-scaling-stroke"}):null,E.showBoundingBox?null:(0,tt.jsx)("g",{name:"controls",children:!1}),E.showBoundingBox&&!J?(0,tt.jsx)("polygon",{ref:l,strokeWidth:2,stroke:"#FF0DCB",fill:"none",markerStart:"url(#resizer)",markerMid:"url(#resizer)",markerEnd:"url(#resizer)",vectorEffect:"non-scaling-stroke"}):null]}):null;return{helper:I,state:E,isAddingPoint:Q,isSplitting:V,isStamping:J,isHoveringPoint:O,transitionDirection:v,transitionRotate:A,defs:M,editor:U}}var Yc=R(H(),1),y1=R(qs(),1),vi=R(B(),1),v1=[{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 Wm(e){let t=e.theme||v1[0],i=ku(),{image:n}=e,{helper:r,defs:a,editor:l,state:c,transitionDirection:p,isSplitting:m,transitionRotate:h,isHoveringPoint:y,isAddingPoint:S,isStamping:w}=Um({currentShape:e.shape||null,onChange:e.updateShape,image:e.image,hideShapeLines:!0},[]),v=E=>{r.pointer([[~~E.atlas.x,~~E.atlas.y]])};(0,Yc.useEffect)(()=>{let E=M=>{r.key.up(M.key)};return document.addEventListener("keyup",E),()=>{document.removeEventListener("keyup",E)}},[]),(0,Yc.useEffect)(()=>{let E=M=>{r.key.down(M.key)};return document.addEventListener("keydown",E),()=>{document.removeEventListener("keydown",E)}},[]),(0,Yc.useEffect)(()=>{let E=[];return p&&E.push(`atlas-cursor-${p}`),c.actionIntentType==="cut-line"&&c.modifiers?.Shift&&E.push("atlas-cursor-cut"),(y||c.transitionIntentType==="move-shape"||c.transitionIntentType==="move-point")&&E.push("atlas-cursor-move"),S&&E.push("atlas-cursor-crosshair"),m&&E.push("atlas-cursor-copy"),h&&E.push("atlas-cursor-rotate"),c.transitionIntentType==="draw-shape"&&E.push("atlas-cursor-draw"),i?.canvas&&i.canvas.classList.add(...E),()=>{i?.canvas&&i.canvas.classList.remove(...E)}},[i?.canvas,S,y,m,c.modifiers?.Shift,c.actionIntentType,c.transitionIntentType,p,h]);let x=e.shape&&e.shape?.points.length===0,A=e.renderControls?e.renderControls(r,c,x):null,C=document.getElementById(e.controlsHtmlId||"atlas-controls"),I="shape";return(0,vi.jsx)(vi.Fragment,{children:(0,vi.jsxs)("world-object",{height:n.height,width:n.width,onMouseMove:v,onMouseDown:r.pointerDown,onMouseUp:r.pointerUp,onMouseLeave:r.blur,children:[e.shape?(0,vi.jsxs)(vi.Fragment,{children:[(0,vi.jsx)(I,{open:e.shape.open,points:e.shape.points,relativeStyle:!0,style:w?{}:t.outer}),(0,vi.jsx)(I,{open:e.shape.open,points:e.shape.points,relativeStyle:!0,style:w?{}:t.inner})]}):null,(0,vi.jsxs)(Cn,{relative:!0,interactive:!1,children:[(0,vi.jsx)("div",{style:{position:"absolute",top:0,right:0,left:0,bottom:0},children:(0,vi.jsxs)("svg",{width:"100%",height:"100%",viewBox:`0 0 ${n.width} ${n.height}`,tabIndex:-1,children:[(0,vi.jsx)("defs",{children:a}),l]})}),C?(0,y1.createPortal)(A,C,"controls"):null]})]})})}var Hm=R(B(),1);function DR(e){let t=Ce(),i=e.annotationBucket,n=e.readOnly,r=e.id,{onClick:a,isHighlighted:l}=Om(e.id),c=Nm(),p=l?c.highlighted:c[i||"hidden"]||c.hidden;if(!t)return null;if(n){let m="shape",h=e.polygon,y=h.open;return h?(0,Hm.jsx)(m,{id:`shape-${r}`,points:h.points,open:y,onClick:a,relativeStyle:!0,target:{x:0,y:0,width:t.width,height:t.height},style:p}):null}return(0,Hm.jsx)(Wm,{image:t,shape:e.polygon||{id:e.id,open:!0,points:[]},updateShape:e.updatePolygon,theme:e.theme,controlsHtmlId:e.controlsHtmlId,renderControls:e.renderControls})}var Xc=R(H(),1);var Pr=R(B(),1);function jR({src:e,errorFallback:t,interactive:i,skipSizes:n,children:r,renderViewerControls:a,viewControlsDeps:l,fluid:c,x:p,y:m,...h}){let[y,S]=(0,Xc.useState)(),w=t||pc,[v,x]=Ia(),A=(0,Xc.useMemo)(()=>{let I=x[e]?.status,E=v({id:e},{});return E?.height&&E.width&&I!=="loading"?{id:e,width:E.width,height:E.height,service:E,type:"Image",selector:{type:"BoxSelector",spatial:{x:0,y:0,width:E.width,height:E.height}},target:{type:"BoxSelector",spatial:{x:0,y:0,width:E.width,height:E.height}}}:null},[v,e,x]);if(zt(y&&a?"overlay":"none",`canvas-portal-controls-${e}`,Ui.Provider,a&&A?{value:y||null,children:a({image:A,images:[A],type:"images"})}:{},[e,A,y,...l||[]]),!A||!A.height||!A.width)return null;let C=c?void 0:h.homePosition?h.homePosition.width/h.homePosition.height:A.width/A.height;return(0,Pr.jsx)(Bo,{resetKeys:[],fallbackRender:I=>(0,Pr.jsx)(w,{...h,...I}),children:(0,Pr.jsx)(mc,{...h,aspectRatio:C,containerProps:{style:{position:"relative"},...h.containerProps||{}},onCreated:I=>{S(I),h.onCreated&&h.onCreated(I)},children:(0,Pr.jsxs)(Ui.Provider,{value:y,children:[(0,Pr.jsx)(xr,{image:A,id:A.id,isStatic:!i,x:p,y:m},A.id),(0,Pr.jsx)(VR,{viewerPreset:y,renderViewerControls:a,image:A,src:e,viewControlsDeps:l}),r]})})})}function VR({viewerPreset:e,renderViewerControls:t,image:i,src:n,viewControlsDeps:r}){return zt(e&&t?"overlay":"none",`canvas-portal-controls-${n}`,Ui.Provider,t&&i?{value:e||null,children:t({image:i,images:[i],type:"images"})}:{},[n,e,...r||[]]),null}var x1=R(B(),1);function UR({annotation:e,children:t}){return(0,x1.jsx)(ei,{value:{annotation:e},children:t})}var S1=R(B(),1);function WR({annotationPage:e,children:t}){return(0,S1.jsx)(ei,{value:{annotationPage:e},children:t})}var w1=R(B(),1);function HR({collection:e,children:t}){return(0,w1.jsx)(ei,{value:{collection:e},children:t})}function qR(e,t={}){return ro(t)}var Er=R(H(),1);function QR({canvasId:e}={}){let t=Lu(),i=Jr(),n=(0,Er.useMemo)(()=>e?[e]:t?[t.id]:i.map(m=>m.id),[e,t,i]),[r,a]=(0,Er.useState)({}),l=ma();(0,Er.useEffect)(()=>{let m=h=>{let y=h.partOf.canvasId;y&&a(S=>({...S,[y]:h.choice}))};return l.on("choice-change",m),()=>{l.off("choice-change",m)}},[]);let c=(0,Er.useMemo)(()=>{let m=[];for(let h of n){let y=r[h];y&&m.push({canvasId:h,choice:y})}return m},[n,r]),p=(0,Er.useMemo)(()=>({makeChoice:(m,h)=>{l.emit("make-choice",{choiceId:m,...h})}}),[l]);return{choices:c,actions:p}}function $R(e,t=!1){}function GR(e){let i=Xt().manifest,n=e?e.map(r=>typeof r=="string"?r:r?.id):[];return De(r=>{let a=i?r.iiif.entities.Manifest[i]:void 0,l=a?.items||[];if(typeof e>"u")return l;let c=[];for(let p of a?.items||[])n.indexOf(p.id)!==-1&&c.push(p);return c},[n.join("/")])}var b1=R(H(),1);function YR(e,t=[]){let{id:i,selector:n}=e,r=Xt(),a=i||r.collection,l=De(c=>a?c.iiif.entities.Collection[a]:void 0,[a]);return(0,b1.useMemo)(()=>{if(l)return n?n(l):l},[l,n,...t])}var Kc=R(H(),1);function XR(e,t,i,n,r=[]){let a=_e(),l=(0,Kc.useMemo)(()=>ya(a),[a]);(0,Kc.useEffect)(()=>{let c=e;return c?(l.addEventListener(c,t,i,n),()=>{l.removeEventListener(c,t,i)}):()=>{}},[l,e,t,...r])}function KR(e,t){let{id:i,isLoaded:n,error:r,resource:a,requestId:l,cached:c}=ua(e,t);return{id:i,isLoaded:n,error:r,manifest:a,requestId:l,cached:c}}var En=R(H(),1);function qm({cacheKey:e}={}){let t=Ce(),i=ro(),n=_e(),r=as(),a=gw(),[l,c]=(0,En.useState)(void 0),[p,m]=(0,En.useState)(!1),[h,y]=(0,En.useState)("idle"),[S,w]=(0,En.useState)(void 0),v=t?t.id:"undefined",x=(0,En.useMemo)(()=>{try{if(t&&i.length){let C=i[0],I=n.get(C.body[0]),M=Fn(I)[0];return M&&r(M,{width:M.width||t.width,height:M.height||t.height},!0)||void 0}}catch(C){console.error(C)}},[v,e,t]),A=h==="success"&&l?l:x;return(0,En.useEffect)(()=>{(async()=>{try{if(t&&i.length){let C=i[0],I=n.get(C.body[0]),M=Fn(I)[0];if(!M)return;m(!0),y("loading");try{let k=await a(M,{width:M.width||t.width,height:M.height||t.height})||void 0;c(k),y("success"),m(!1)}catch(k){y("error"),w(k)}}}catch(C){y("error"),w(C)}})()},[v,e]),(0,En.useMemo)(()=>({data:A,isFetching:p,status:h,error:S}),[A,p,h,S])}function ZR(){let e=qm();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 C1=R(H(),1);function JR(){let e=_e();return(0,C1.useMemo)(()=>yr(e),[e])}return jb(eT);})();
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);})();
125
125
  /*! Bundled license information:
126
126
 
127
- normalize-wheel/src/isEventSupported.js:
128
- (**
129
- * Checks if an event is supported in the current execution environment.
130
- *
131
- * NOTE: This will not work correctly for non-generic events such as `change`,
132
- * `reset`, `load`, `error`, and `select`.
133
- *
134
- * Borrows from Modernizr.
135
- *
136
- * @param {string} eventNameSuffix Event name, e.g. "click".
137
- * @param {?boolean} capture Check if the capture phase is supported.
138
- * @return {boolean} True if the event is supported.
139
- * @internal
140
- * @license Modernizr 3.0.0pre (Custom Build) | MIT
141
- *)
142
-
143
127
  react/cjs/react-jsx-runtime.production.min.js:
144
128
  (**
145
129
  * @license React
@@ -151,10 +135,10 @@ react/cjs/react-jsx-runtime.production.min.js:
151
135
  * LICENSE file in the root directory of this source tree.
152
136
  *)
153
137
 
154
- scheduler/cjs/scheduler.production.min.js:
138
+ use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js:
155
139
  (**
156
140
  * @license React
157
- * scheduler.production.min.js
141
+ * use-sync-external-store-shim.production.min.js
158
142
  *
159
143
  * Copyright (c) Facebook, Inc. and its affiliates.
160
144
  *
@@ -162,10 +146,10 @@ scheduler/cjs/scheduler.production.min.js:
162
146
  * LICENSE file in the root directory of this source tree.
163
147
  *)
164
148
 
165
- react-reconciler/cjs/react-reconciler.production.min.js:
149
+ use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js:
166
150
  (**
167
151
  * @license React
168
- * react-reconciler.production.min.js
152
+ * use-sync-external-store-shim/with-selector.production.min.js
169
153
  *
170
154
  * Copyright (c) Facebook, Inc. and its affiliates.
171
155
  *
@@ -173,21 +157,26 @@ react-reconciler/cjs/react-reconciler.production.min.js:
173
157
  * LICENSE file in the root directory of this source tree.
174
158
  *)
175
159
 
176
- use-sync-external-store/cjs/use-sync-external-store-shim.production.min.js:
160
+ normalize-wheel/src/isEventSupported.js:
177
161
  (**
178
- * @license React
179
- * use-sync-external-store-shim.production.min.js
162
+ * Checks if an event is supported in the current execution environment.
180
163
  *
181
- * Copyright (c) Facebook, Inc. and its affiliates.
164
+ * NOTE: This will not work correctly for non-generic events such as `change`,
165
+ * `reset`, `load`, `error`, and `select`.
182
166
  *
183
- * This source code is licensed under the MIT license found in the
184
- * LICENSE file in the root directory of this source tree.
167
+ * Borrows from Modernizr.
168
+ *
169
+ * @param {string} eventNameSuffix Event name, e.g. "click".
170
+ * @param {?boolean} capture Check if the capture phase is supported.
171
+ * @return {boolean} True if the event is supported.
172
+ * @internal
173
+ * @license Modernizr 3.0.0pre (Custom Build) | MIT
185
174
  *)
186
175
 
187
- use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.production.min.js:
176
+ scheduler/cjs/scheduler.production.min.js:
188
177
  (**
189
178
  * @license React
190
- * use-sync-external-store-shim/with-selector.production.min.js
179
+ * scheduler.production.min.js
191
180
  *
192
181
  * Copyright (c) Facebook, Inc. and its affiliates.
193
182
  *
@@ -195,36 +184,14 @@ use-sync-external-store/cjs/use-sync-external-store-shim/with-selector.productio
195
184
  * LICENSE file in the root directory of this source tree.
196
185
  *)
197
186
 
198
- @iiif/helpers/dist/chunk-MQJNRTOE.js:
199
- (** Code to "flatten" quadratic and cubic Bézier curves to polylines.
200
- *
201
- * All code in this module is based on JavaScript code by Raph Levien, published on his blog at
202
- * https://raphlinus.github.io/.
203
- * I merely changed the structure a bit, removed some unneeded parts and added some comments and type hints.
204
- *
205
- * Flattening of quadratic Bézier curves:
206
- * - Article: https://raphlinus.github.io/graphics/curves/2019/12/23/flatten-quadbez.html
207
- * - Code: https://github.com/raphlinus/raphlinus.github.io/blob/master/_posts/2019-12-23-flatten-quadbez.md?plain=1#L73-L212
208
- *
209
- * Flattening of cubic Bézier curves: https://levien.com/tmp/flatten.html
210
- *
211
- * Note that the code in this module has a different license than the rest of the package,
212
- * due to the inclusion of Apache-licensed third party code.
213
- *
214
- * @license
215
- * Copyright 2022 Johannes Baiter <johannes.baiter@gmail.com>
216
- * Copyright 2019, 2022 Raph Levien <raph.levien@gmail.com>
217
- *
218
- * Licensed under the Apache License, Version 2.0 (the "License");
219
- * you may not use this file except in compliance with the License.
220
- * You may obtain a copy of the License at
187
+ react-reconciler/cjs/react-reconciler.production.min.js:
188
+ (**
189
+ * @license React
190
+ * react-reconciler.production.min.js
221
191
  *
222
- * http://www.apache.org/licenses/LICENSE-2.0
192
+ * Copyright (c) Facebook, Inc. and its affiliates.
223
193
  *
224
- * Unless required by applicable law or agreed to in writing, software
225
- * distributed under the License is distributed on an "AS IS" BASIS,
226
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
227
- * See the License for the specific language governing permissions and
228
- * limitations under the License.
194
+ * This source code is licensed under the MIT license found in the
195
+ * LICENSE file in the root directory of this source tree.
229
196
  *)
230
197
  */