@abi-software/scaffoldvuer 1.4.0-beta.0 → 1.4.0-beta.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.
package/dist/scaffoldvuer.js
CHANGED
|
@@ -39613,10 +39613,10 @@ const l1 = o1("main", {
|
|
|
39613
39613
|
const e = Object.assign(
|
|
39614
39614
|
{},
|
|
39615
39615
|
Object.fromEntries(
|
|
39616
|
-
Object.entries(this.imageThumbnails).filter(([
|
|
39616
|
+
Object.entries(this.imageThumbnails).filter(([i, r]) => r.length > 0).map(([i, r]) => [i.toLowerCase(), r])
|
|
39617
39617
|
)
|
|
39618
|
-
);
|
|
39619
|
-
return
|
|
39618
|
+
), t = this.label.toLowerCase();
|
|
39619
|
+
return t in e && (n = e[t]), this.imageThumbnailSidebar ? (this.$emit("image-thumbnail-open", n), []) : n;
|
|
39620
39620
|
}
|
|
39621
39621
|
},
|
|
39622
39622
|
methods: {
|
|
@@ -39750,7 +39750,7 @@ function c4(n, e, t, i, r, s) {
|
|
|
39750
39750
|
}, 8, ["visible", "onHide"])
|
|
39751
39751
|
], 4);
|
|
39752
39752
|
}
|
|
39753
|
-
const c1 = /* @__PURE__ */ Zi(s4, [["render", c4], ["__scopeId", "data-v-
|
|
39753
|
+
const c1 = /* @__PURE__ */ Zi(s4, [["render", c4], ["__scopeId", "data-v-b085935b"]]);
|
|
39754
39754
|
/*! js-cookie v3.0.5 | MIT */
|
|
39755
39755
|
function Bc(n) {
|
|
39756
39756
|
for (var e = 1; e < arguments.length; e++) {
|
|
@@ -3460,4 +3460,4 @@ Replace
|
|
|
3460
3460
|
mapStores([useAuthStore, useCartStore])
|
|
3461
3461
|
with
|
|
3462
3462
|
mapStores(useAuthStore, useCartStore)
|
|
3463
|
-
This will fail in production if not fixed.`),n=n[0]),n.reduce((e,t)=>(e[t.$id+CV]=function(){return t(this.$pinia)},e),{})}function sw(n,e){return Array.isArray(e)?e.reduce((t,i)=>(t[i]=function(){return n(this.$pinia)[i]},t),{}):Object.keys(e).reduce((t,i)=>(t[i]=function(){const r=n(this.$pinia),s=e[i];return typeof s=="function"?s.call(this,r):r[s]},t),{})}const ow=rw("main",{state:()=>({userProfile:{token:""}}),getters:{userToken(n){return n.userProfile.token}},actions:{setUserToken(n){this.userProfile.token=n}}}),RV={name:"ScaffoldTooltip",components:{Col:fn,CreateTooltipContent:qx,ElIconDelete:hl,Icon:bt,Popover:Dl,Row:kn,Tooltip:fu.Tooltip},props:{createData:{type:Object,default:{toBeConfirmed:!1,points:[],shape:"",x:0,y:0}},label:{type:String,default:""},annotationDisplay:{type:Boolean,default:!1},region:{type:String,default:""},visible:{type:Boolean,default:!1},x:{type:Number,default:200},y:{type:Number,default:200},imageThumbnails:{type:Object,default:{}},imageThumbnailSidebar:{type:Boolean,default:!1}},inject:["scaffoldUrl"],provide(){return{userApiKey:this.userToken}},data:function(){return{annotationEntry:{},ElIconDelete:a.shallowRef(hl)}},computed:{...sw(ow,["userToken"]),position:function(){let n=40;return this.region&&(n=55),{left:this.x-40+"px",top:this.y-n+"px"}},imageEntry:function(){let n=[];const e=Object.assign({},Object.fromEntries(Object.entries(this.imageThumbnails).filter(([t,i])=>i.length>0).map(([t,i])=>[t.toLowerCase(),i])));return this.label in e&&(n=e[this.label]),this.imageThumbnailSidebar?(this.$emit("image-thumbnail-open",n),[]):n}},methods:{checkForDisplay:function(){if(this.visible&&this.label&&this.label!==""){if(this.annotationDisplay){const n=this.region?this.region+"/":"";this.annotationEntry={featureId:encodeURIComponent(n+this.label),resourceId:encodeURIComponent(this.scaffoldUrl),resource:encodeURIComponent(this.scaffoldUrl)}}}else this.annotationEntry={}},hideTriggered:function(){this.createData.toBeConfirmed&&this.$emit("cancel-create")}},watch:{label:{handler:function(){this.checkForDisplay()},immediate:!0},visible:{handler:function(){this.checkForDisplay()},immediate:!0},annotationDisplay:{handler:function(){this.checkForDisplay()},immediate:!0}}},LV={class:"tooltip-text"},PV={key:0,class:"tooltip-text"},IV={key:1,class:"delete-container"};function OV(n,e,t,i,r,s){const o=qx,l=a.resolveComponent("Tooltip"),c=fn,u=Qi,f=kn,d=Dl;return a.openBlock(),a.createElementBlock("div",{style:a.normalizeStyle(s.position),class:"region-tooltip"},[a.createVNode(d,{ref:"tooltip",visible:t.visible,placement:"top","show-arrow":!1,teleported:!1,trigger:"manual","popper-class":"tooltip-popper non-selectable","virtual-triggering":"",onHide:s.hideTriggered},{default:a.withCtx(()=>[a.createElementVNode("div",LV,a.toDisplayString(t.label),1),t.region?(a.openBlock(),a.createElementBlock("div",PV,"Region: "+a.toDisplayString(t.region),1)):a.createCommentVNode("",!0),a.withDirectives(a.createVNode(o,{createData:t.createData,onConfirmCreate:e[0]||(e[0]=p=>n.$emit("confirm-create",p)),onCancelCreate:e[1]||(e[1]=p=>n.$emit("cancel-create"))},null,8,["createData"]),[[a.vShow,t.createData.toBeConfirmed]]),a.withDirectives(a.createVNode(l,{class:"p-tooltip",ref:"tooltip",tooltipType:t.annotationDisplay?"annotation":"image",annotationEntry:n.annotationEntry,imageEntry:s.imageEntry},null,8,["tooltipType","annotationEntry","imageEntry"]),[[a.vShow,t.annotationDisplay&&!t.createData.toBeConfirmed||s.imageEntry.length]]),t.createData.toBeDeleted?(a.openBlock(),a.createElementBlock("div",IV,[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(c,{span:10},{default:a.withCtx(()=>[a.createTextVNode("Delete this feature?")]),_:1}),a.createVNode(c,{span:7},{default:a.withCtx(()=>[a.createVNode(u,{class:"delete-button",icon:n.ElIconDelete,onClick:e[2]||(e[2]=p=>n.$emit("confirm-delete"))},{default:a.withCtx(()=>[a.createTextVNode(" Delete ")]),_:1},8,["icon"])]),_:1}),a.createVNode(c,{span:6},{default:a.withCtx(()=>[a.createVNode(u,{class:"delete-button",onClick:e[3]||(e[3]=p=>n.$emit("cancel-create"))},{default:a.withCtx(()=>[a.createTextVNode(" Dismiss ")]),_:1})]),_:1})]),_:1})])):a.createCommentVNode("",!0)]),_:1},8,["visible","onHide"])],4)}const aw=ui(RV,[["render",OV],["__scopeId","data-v-3c9af6f7"]]);/*! js-cookie v3.0.5 | MIT */function ou(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)n[i]=t[i]}return n}var NV={read:function(n){return n[0]==='"'&&(n=n.slice(1,-1)),n.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(n){return encodeURIComponent(n).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function Hf(n,e){function t(r,s,o){if(!(typeof document>"u")){o=ou({},e,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),r=encodeURIComponent(r).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var c in o)o[c]&&(l+="; "+c,o[c]!==!0&&(l+="="+o[c].split(";")[0]));return document.cookie=r+"="+n.write(s,r)+l}}function i(r){if(!(typeof document>"u"||arguments.length&&!r)){for(var s=document.cookie?document.cookie.split("; "):[],o={},l=0;l<s.length;l++){var c=s[l].split("="),u=c.slice(1).join("=");try{var f=decodeURIComponent(c[0]);if(o[f]=n.read(u,f),r===f)break}catch{}}return r?o[r]:o}}return Object.create({set:t,get:i,remove:function(r,s){t(r,"",ou({},s,{expires:-1}))},withAttributes:function(r){return Hf(this.converter,ou({},this.attributes,r))},withConverter:function(r){return Hf(ou({},this.converter,r),this.attributes)}},{attributes:{value:Object.freeze(e)},converter:{value:Object.freeze(n)}})}var Wf=Hf(NV,{path:"/"}),di=function(n,e,t,i,r){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?r.call(n,t):r?r.value=t:e.set(n,t),t},Tt=function(n,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!i:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(n):i?i.value:e.get(n)},zi,Ya,hi,rn,Er;const DV=1e4;class BV{constructor(e){zi.add(this),Ya.set(this,void 0),hi.set(this,null),rn.set(this,null),e.slice(-1)==="/"?di(this,Ya,e.slice(0,-1),"f"):di(this,Ya,e,"f")}get currentUser(){return Tt(this,hi,"f")}get currentError(){return Tt(this,rn,"f")}async authenticate(e){di(this,rn,null,"f"),di(this,hi,null,"f");const t=await Tt(this,zi,"m",Er).call(this,e,"authenticate");return"error"in t?(Wf.remove("annotation-key"),Promise.resolve(Tt(this,rn,"f"))):(Wf.set("annotation-key",t.session,{secure:!0,expires:1}),di(this,hi,t.data,"f"),Promise.resolve(Tt(this,hi,"f")))}async unauthenticate(e){di(this,rn,null,"f"),di(this,hi,null,"f");const t=await Tt(this,zi,"m",Er).call(this,e,"unauthenticate");return"success"in t?Promise.resolve(t):Promise.resolve(Tt(this,rn,"f"))}async annotatedItemIds(e,t,i,r){const s={resource:t};i!==void 0&&(s.user=i),r!==void 0&&(s.participated=r);const o=await Tt(this,zi,"m",Er).call(this,e,"items/","GET",s);return"error"in o?Promise.resolve(Tt(this,rn,"f")):Promise.resolve(o)}async drawnFeatures(e,t,i){const r={resource:t};i!==void 0&&(r.items=i);const s=await Tt(this,zi,"m",Er).call(this,e,"features/","GET",r);return"error"in s?Promise.resolve(Tt(this,rn,"f")):Promise.resolve(s)}async itemAnnotations(e,t,i){const r=await Tt(this,zi,"m",Er).call(this,e,"annotations/","GET",{resource:t,item:i});return"error"in r?Promise.resolve(Tt(this,rn,"f")):Promise.resolve(r)}async annotation(e,t){const i=await Tt(this,zi,"m",Er).call(this,e,"annotation/","GET",{annotation:t});return"error"in i?Promise.resolve(Tt(this,rn,"f")):Promise.resolve(i)}async addAnnotation(e,t){if(Tt(this,hi,"f")&&Tt(this,hi,"f").canUpdate){const i=Object.assign({creator:Tt(this,hi,"f"),created:new Date().toISOString()},t),r=await Tt(this,zi,"m",Er).call(this,e,"annotation/","POST",{data:i});if(!("error"in r))return Promise.resolve(r);di(this,rn,r,"f")}else di(this,rn,{error:"user cannot add annotation"},"f");return Promise.resolve(Tt(this,rn,"f"))}}Ya=new WeakMap,hi=new WeakMap,rn=new WeakMap,zi=new WeakSet,Er=async function(e,t,i="GET",r={}){let s=!0;const o=new AbortController;setTimeout(()=>{s&&(console.log("Annotation server timeout..."),o.abort())},DV);const l={method:i,signal:o.signal};let c=`${Tt(this,Ya,"f")}/${t}`;const u=Wf.get("annotation-key")||"";if(i==="GET"){const d=[];for(const[p,y]of Object.entries(r))d.push(`${p}=${encodeURIComponent(JSON.stringify(y))}`);d.push(`key=${encodeURIComponent(e)}`),d.push(`session=${encodeURIComponent(u)}`),c+="?"+d.join("&"),l.headers={Accept:"application/json; charset=utf-8","Cache-Control":"no-store"}}else if(i==="POST"){const d=Object.assign({key:e,session:u},r);l.body=JSON.stringify(d),l.headers={Accept:"application/json; charset=utf-8","Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}}const f=await fetch(c,l);return s=!1,f.ok?Promise.resolve(await f.json()):(di(this,rn,{error:`${f.status} ${f.statusText}`},"f"),Promise.resolve(Tt(this,rn,"f")))};const Ja={ALL:0,SELECTED:1,HIGHLIGHTED:2,MOVE:3},FV=function(n,e,t){this.eventType=n,this.identifiers=e,this.zincObjects=t},VV=function(n,e,t){this.targetedID=[];const i=n,r=e;this.targetEventType=t;const s=this;t===void 0&&(this.targetEventType=Ja.ALL),this.getEventType=function(){return t},this.notify=function(o,l,c,u){if(o!==i&&(s.targetEventType===Ja.ALL||s.targetEventType===l)){const f=new FV(l,c,u);r(f)}}},kV=function(){const n=[];this.publish=function(e,t,i,r){for(let s=0;s<n.length;s++)n[s].notify(e,t,i,r)},this.subscribe=function(e,t,i){if(typeof t=="function"){const r=new VV(e,t,i);return n.push(r),r}},this.unsubscribe=function(e){for(let t=0;t<n.length;t++)if(e===n[t]){n.splice(t,1);return}}},lw={isWebGLAvailable:function(){try{var n=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(n.getContext("webgl")||n.getContext("experimental-webgl")))}catch{return!1}},isWebGL2Available:function(){try{var n=document.createElement("canvas");return!!(window.WebGL2RenderingContext&&n.getContext("webgl2"))}catch{return!1}},getWebGLErrorMessage:function(){return this.getErrorMessage(1)},getWebGL2ErrorMessage:function(){return this.getErrorMessage(2)},getErrorMessage:function(n){var e={1:"WebGL",2:"WebGL 2"},t={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},i='This module requires <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#008">$1</a> support but your $0 does not seem to support it.',r=document.createElement("div");return r.id="webglmessage",r.style.fontFamily="monospace",r.style.fontSize="20px",r.style.fontWeight="normal",r.style.textAlign="center",r.style.background="#fff",r.style.color="#000",r.style.padding="1.5em",r.style.width="400px",r.style.margin="5em auto 0",t[n]?i=i.replace("$0","graphics card"):i=i.replace("$0","browser"),i=i.replace("$1",e[n]),r.innerHTML=i,r}},jf={ALL:0,DESTROYED:1,NAME_CHANGED:2,SETTINGS_CHANGED:3},_n=function(){this.typeName="Base Module",this.instanceName="default",this.onChangedCallbacks=[],this.eventNotifiers=[]};_n.prototype.setName=function(n){if(n&&this.instanceName!==n){this.instanceName=n;const e=this.onChangedCallbacks.slice();for(let t=0;t<e.length;t++)e[t](this,jf.NAME_CHANGED)}},_n.prototype.settingsChanged=function(){const n=this.onChangedCallbacks.slice();for(let e=0;e<n.length;e++)n[e](this,jf.SETTINGS_CHANGED)},_n.prototype.exportSettings=function(){const n={};return n.dialog=this.typeName,n.name=this.instanceName,n},_n.prototype.importSettings=function(n){return n.dialog==this.typeName?(this.setName(n.name),!0):!1},_n.prototype.publishChanges=function(n,e,t){for(let i=0;i<this.eventNotifiers.length;i++)this.eventNotifiers[i].publish(this,e,n,t)},_n.prototype.getName=function(){return this.instanceName},_n.prototype.destroy=function(){const n=this.onChangedCallbacks.slice();for(let e=0;e<n.length;e++)n[e](this,jf.DESTROYED);delete this},_n.prototype.addChangedCallback=function(n){this.onChangedCallbacks.includes(n)==!1&&this.onChangedCallbacks.push(n)},_n.prototype.removeChangedCallback=function(n){const e=this.onChangedCallbacks.indexOf(n);e>-1&&this.onChangedCallbacks.splice(e,1)},_n.prototype.addNotifier=function(n){this.eventNotifiers.push(n)};const au=(n,e,t)=>{for(let i=0;i<n.length;i++)if(n[i]&&n[i].material&&n[i].material.emissive){let r=n[i].userData;r&&r.isZincObject?r.setEmissiveRGB(e):n[i].material&&n[i].material.emissive&&n[i].material.emissive.setRGB(...e),t&&n[i].material.depthFunc&&(n[i].material.depthFunc=Tr.THREE.LessEqualDepth),n[i].children.forEach(s=>{const o=s.userData;o&&o.isZincObject&&s.material&&s.material.emissive&&s.material.emissive.setRGB(...e)})}},zV=function(){let n=[],e=[];this.highlightColour=[1,0,0],this.selectColour=[0,1,0],this.originalColour=[0,0,0];const t=[],i=[],r=this,s=function(c,u){if(c.length==0&&u.length==0)return!1;for(let f=0;f<c.length;f++){let d=!1;for(let p=0;p<u.length;p++)c[f]===u[p]&&(d=!0);if(!d)return!0}for(let f=0;f<u.length;f++){let d=!1;for(let p=0;p<c.length;p++)u[f]===c[p]&&(d=!0);if(!d)return!0}return!1},o=function(c,u){if(t.length=0,u.length==0)return c;for(let f=0;f<c.length;f++){let d=!1;for(let p=0;p<u.length;p++)c[f]===u[p]&&(d=!0);d||t.push(c[f])}return t};this.setHighlighted=function(c){const u=[...n];r.resetHighlighted();const f=o(c,e),d=l(f);return au(d,r.highlightColour,!1),n=f,s(n,u)},this.setSelected=function(c){const u=[...e];r.resetHighlighted(),r.resetSelected();const f=l(c);return au(f,r.selectColour,!1),e=c,s(e,u)};const l=function(c){i.length=0;for(let u=0;u<c.length;u++)c[u].material&&i.push(c[u]);return i};this.resetHighlighted=function(){const c=l(n);au(c,r.originalColour,!0),n=[]},this.resetSelected=function(){const c=l(e);au(c,r.originalColour,!0),e=[]},this.getSelected=function(){return e},this.reset=function(){r.resetSelected(),r.resetHighlighted()}},$f=nu.THREE,UV=function(){const n=document.createElement("div");let e;if(n.style.height="100%",lw.isWebGLAvailable())e=new nu.Renderer(n,window),nu.defaultMaterialColor=16777116,e.initialiseVisualisation(),e.playAnimation=!1;else{const t=lw.getWebGLErrorMessage();n.appendChild(t)}return{Zinc:nu,renderer:e,container:n}},Et=function(){_n.call(this),this.scene=void 0,this.rendererContainer=void 0,this.displayArea=void 0,this.graphicsHighlight=new zV,this.selectObjectOnPick=!0,this.zincRenderer=null,this.selectedScreenCoordinates=new $f.Vector3,this.selectedCenter=void 0,this.liveUpdatesObjects=void 0,this.ignorePreviousSelected=!1};Et.prototype=Object.create(_n.prototype),Et.prototype.getIntersectedObject=function(n){if(n){const e=n.map(i=>{if(i&&i.object&&i.object.userData){if(i.object.userData.isMarker)return 1;if(i.object.name&&i.object.userData.isZincObject)return 2}return 0});let t=e.indexOf(1);return t=t>-1?t:e.indexOf(2),n[t]}},Et.prototype.getAnnotationsFromObjects=function(n){const e=[];for(var t=0;t<n.length;t++){const i=n[t].userData;let r;if(i){if(i.isGlyph||i.isGlyphset){let s=i;i.isGlyph&&(s=i.getGlyphset()),r=s.userData?s.userData.annotation:void 0,r&&r.data&&(n[t].name&&n[t].name!=""?r.data.id=n[t].name:r.data.id=s.groupName)}else r=i.userData?i.userData.annotation:void 0,r&&r.data&&(r.data.id=n[t].name);r&&(r.data.zincObject=i)}r&&e.push(r)}return e},Et.prototype.setHighlightedByObjects=function(n,e,t,i){const r=this.graphicsHighlight.setHighlighted(n),s=this.objectsToZincObjects(n);if(i){let o=Ja.MOVE;r&&(o=Ja.HIGHLIGHTED);const l=this.getAnnotationsFromObjects(n);l.length>0&&(l[0].coords=e,l[0].extraData=t),this.publishChanges(l,o,s)}return r},Et.prototype.setHighlightedByZincObjects=function(n,e,t,i){let r=[];return n&&n.forEach(s=>{s&&s.getMorph()&&r.push(s.getMorph())}),this.setHighlightedByObjects(r,e,t,i)},Et.prototype.setupLiveCoordinates=function(n){if(this.liveUpdatesObjects=n,n&&n.length>0){const e=this.scene.getBoundingBoxOfZincObjects(n);let t=new $f.Vector3;e?(e.getCenter(t),this.selectedCenter==null?this.selectedCenter=t:this.selectedCenter.copy(t)):this.selectedCenter=void 0}else this.selectedCenter=void 0},Et.prototype.objectsToZincObjects=function(n){const e=[];for(let t=0;t<n.length;t++){let i=n[t].userData;if(i)if(i.isGlyph||i.isGlyphset){let r=i;i.isGlyph&&(r=i.getGlyphset()),e.push(r)}else e.push(i)}return e},Et.prototype.setSelectedByObjects=function(n,e,t,i){let r=!1;if(this.selectObjectOnPick?r=this.graphicsHighlight.setSelected(n):r=!0,r||this.ignorePreviousSelected){const s=this.objectsToZincObjects(n);if(this.selectObjectOnPick&&this.setupLiveCoordinates(s),i){const o=Ja.SELECTED,l=this.getAnnotationsFromObjects(n);l.length>0&&(l[0].coords=e,l[0].extraData=t),this.publishChanges(l,o,s)}}return r},Et.prototype.setSelectedByZincObjects=function(n,e,t,i){let r=[];return n&&n.forEach(s=>{if(s){const o=s.getMorph();o&&r.push(o)}}),this.setSelectedByObjects(r,e,t,i)},Et.prototype.findObjectsByGroupName=function(n){return this.scene.findObjectsWithGroupName(n)},Et.prototype.setHighlightedByGroupName=function(n,e){const t=this.findObjectsByGroupName(n);return this.setHighlightedByObjects(t,void 0,{},e)},Et.prototype.setSelectedByGroupName=function(n,e){const t=this.findObjectsByGroupName(n);return this.setSelectedByObjects(t,void 0,{},e)},Et.prototype.changeBackgroundColour=function(n){const e=new $f.Color(n);this.zincRenderer&&this.zincRenderer.getThreeJSRenderer().setClearColor(e,1)},Et.prototype.resetView=function(){this.zincRenderer&&this.zincRenderer.resetView()},Et.prototype.viewAll=function(){this.zincRenderer&&this.zincRenderer.viewAll()},Et.prototype.playAnimation=function(n){this.zincRenderer&&(this.zincRenderer.playAnimation=n)},Et.prototype.setPlayRate=function(n){this.zincRenderer&&this.zincRenderer.setPlayRate(n)},Et.prototype.getPlayRate=function(n){return this.zincRenderer?this.zincRenderer.getPlayRate():0},Et.prototype.initialiseRenderer=function(n){if(this.zincRenderer===void 0||this.rendererContainer===void 0){let e=UV();this.Zinc=e.Zinc,this.zincRenderer=e.renderer,this.rendererContainer=e.container}n&&(this.displayArea=n,this.displayArea.appendChild(this.rendererContainer),this.zincRenderer&&this.zincRenderer.animate())},Et.prototype.destroy=function(){this.zincRenderer&&(this.zincRenderer.dispose(),this.zincRenderer.getThreeJSRenderer().dispose(),this.zincRenderer=void 0),_n.prototype.destroy.call(this)};const GV=function(){this.type="anatomical",this.data=void 0,this.isAnnotation=!0},HV=function(){this.currentName="",this.currentSystem="",this.currentPart="",this.currentSpecies="",this.metaURL="",this.viewURL="",this.timeVarying=!1,this.currentTime=0},cw=function(n){Et.call(this);const e=this;let t;this.sceneData=new HV;const i=new Array,r=new Array,s=new Array,o=new Array;let l;const c=n;this.NDCCameraControl=void 0,e.typeName="Organ Viewer",this.getSceneData=function(){return e.sceneData},this.updateTime=function(T){let A=6e3;e.scene&&(A=e.scene.getDuration());const C=T/100*A;e.sceneData.nerveMapIsActive||e.scene&&e.scene.setMorphsTime(C),e.sceneData.currentTime=T};const u=function(){let T=3e3;e.scene&&(T=e.scene.getDuration());const A=e.zincRenderer.getCurrentTime();for(let C=0;C<i.length;C++)i[C](A);!e.sceneData.nerveMapIsActive&&t&&t.setMorphsTime(A),e.sceneData.nerveMap&&e.sceneData.nerveMap.additionalReader&&e.sceneData.nerveMap.additionalReader.setTime(A/T),e.sceneData.currentTime=A/T*100};this.getCurrentTime=function(){return e.sceneData.currentTime},this.toggleSyncControl=(T,A)=>{let C=this.scene.getZincCameraControls();T?(C.resetView(),this.NDCCameraControl=C.enableSyncControl(),C.setRotationMode(A)):(C.disableSyncControl(),this.NDCCameraControl=void 0,C.setRotationMode("free"))},this.isSyncControl=()=>this.NDCCameraControl!==void 0,this.setSyncControlZoomToBox=T=>{this.NDCCameraControl&&this.NDCCameraControl.zoomToBox(T,2)},this.setSyncControlCallback=T=>{this.NDCCameraControl&&this.NDCCameraControl.setEventCallback(T)},this.setSyncControlCenterZoom=(T,A)=>{this.NDCCameraControl&&this.NDCCameraControl.setCenterZoom(T,A)};const f=function(){if(e.zincRenderer.playAnimation&&e.liveUpdatesObjects&&e.setupLiveCoordinates(e.liveUpdatesObjects),e.selectedCenter){const T=new Tr.THREE.Vector3;T.copy(e.selectedCenter);const A=e.scene.vectorToScreenXY(T);e.selectedScreenCoordinates.x=A.x,e.selectedScreenCoordinates.y=A.y}},d=function(){return function(){u()}},p=function(){return function(){f()}};this.addTimeChangedCallback=function(T){i.push(T)},this.setTexturePos=function(T){e.sceneData.nerveMap&&e.sceneData.nerveMap.additionalReader&&e.sceneData.nerveMap.additionalReader.setSliderPos(T)},this.addSceneChangedCallback=function(T){r.push(T)},this.addOrganPartAddedCallback=function(T){s.push(T)},this.addOrganPartRemovedCallback=function(T){o.push(T)},this.setFinishDownloadCallback=function(T){l=T},this.unsetFinishDownloadCallback=function(){l=void 0},this.getNamedObjectsToScreenCoordinates=function(T,A){const C=new Tr.THREE.Vector3;C.setFromMatrixPosition(obj.matrixWorld);const R=width/2,L=height/2;return C.project(A),C.x=C.x*R+R,C.y=-(C.y*L)+L,C};const y=function(T){let A,C;if(T!==void 0){let R=!1;T.object.userData&&T.object.userData.isMarker?(R=!0,C=T.object.userData.parent.getMorph()):C=T.object;try{C.userData.userData.annotation.data.lastActionOnMarker=R}finally{}if(C)if(C.name)A=C.name;else{const L=e.getAnnotationsFromObjects([C]);L&&L[0]&&(A=L[0].data.group)}}return{id:A,object:C}},m=function(){return function(T,A,C){var N;const R=e.getIntersectedObject(T),L=y(R),I={worldCoords:[R?R.point.x:0,R?R.point.y:0,R?R.point.z:0],intersected:R,intersects:T},O={x:A,y:C};if(L.id){I.threeID=(N=L.object)==null?void 0:N.id,L.object.userData.isGlyph?L.object.name?e.setSelectedByObjects([L.object],O,I,!0):e.setSelectedByZincObjects(L.object.userData.getGlyphset(),O,I,!0):e.setSelectedByObjects([L.object],O,I,!0);return}else e.setSelectedByObjects([],O,I,!0)}},h=function(){return function(T,A,C){var N;const R=e.getIntersectedObject(T),L=y(R),I={worldCoords:[R?R.point.x:0,R?R.point.y:0,R?R.point.z:0]},O={x:A,y:C};if(L.id){I.threeID=(N=L.object)==null?void 0:N.id,e.displayArea.style.cursor="pointer",e.setHighlightedByObjects([L.object],O,I,!0);return}else e.displayArea.style.cursor="auto",e.setHighlightedByObjects([],O,I,!0)}},b=function(T,A,C,R){if(R=="all"||R=="geometries"){const L=T.findGeometriesWithGroupName(A);for(let I=0;I<L.length;I++)L[I].setVisibility(C)}if(R=="all"||R=="glyphsets"){const L=T.findGlyphsetsWithGroupName(A);for(let I=0;I<L.length;I++)L[I].setVisibility(C)}if(R=="all"||R=="pointsets"){const L=T.findPointsetsWithGroupName(A);for(let I=0;I<L.length;I++)L[I].setVisibility(C)}if(R=="all"||R=="lines"){const L=T.findLinesWithGroupName(A);for(let I=0;I<L.length;I++)L[I].setVisibility(C)}};this.changeGeometriesVisibility=function(T,A){b(e.scene,T,A,"geometries")},this.changeGlyphsetsVisibility=function(T,A){b(e.scene,T,A,"glyphsets")},this.changeLinesVisibility=function(T,A){b(e.scene,T,A,"lines")},this.changePointsetsVisibility=function(T,A){b(e.scene,T,A,"pointsets")},this.changeOrganPartsVisibility=function(T,A,C){let R="all";C!==void 0&&(R=C),b(e.scene,T,A,R)},this.changeOrganPartsVisibilityCallback=function(T){return function(A){e.changeOrganPartsVisibility(T,A)}},this.changeBackgroundColour=function(T){const A=new Tr.THREE.Color(T);e.zincRenderer&&e.zincRenderer.getThreeJSRenderer().setClearColor(A,1)};const v=function(T,A,C,R){for(let O=0;O<s.length;O++)s[O](R,e.scene.isTimeVarying());const L=new GV,I=R.region.getFullPath();L.data={species:e.sceneData.currentSpecies,system:T,part:A,group:R.groupName,region:I,uuid:R.uuid,lastActionOnMarker:!1},R.userData.annotation=L},g=function(T,A,C,R){for(let L=0;L<o.length;L++)o[L](R)},x=function(T,A,C){return function(R){v(T,A,C,R)}},_=function(T,A,C){return function(R){g(T,A,C,R)}},E=function(){return function(){e.settingsChanged(),e.sceneData.timeVarying=e.scene.isTimeVarying(),l&&l()}};this.updateFieldvisibility=function(T,A){for(let C=0;C<T.length;C++)if(A!=C){const R=T[C].PartName;e.changeOrganPartsVisibility(R,!1)}if(A>-1){const C=T[A].PartName;if(e.scene.findGeometriesWithGroupName(C).length>0||e.scene.findGlyphsetsWithGroupName(C).length>0)e.changeOrganPartsVisibility(C,!0);else{const R=getOrganDetails(T[A].SystemName,C);R!=null&&e.scene.loadMetadataURL(c.getOrgansDirectoryPrefix()+"/"+R.meta)}}},this.getAvailableSpecies=function(T,A,C){const R=new Array;R.push("none");const L=Object.keys(organsFileMap);for(index in L){const I=L[index];I!=T&&organsFileMap[I].hasOwnProperty(A)&&organsFileMap[I][A].hasOwnProperty(C)&&R.push(I)}return R},this.getCentreAndSize=function(){const T=new Tr.THREE.Vector3,A=this.scene.getBoundingBox();A.getCenter(T);const C=[T.x,T.y,T.z];A.getSize(T);const R=[T.x,T.y,T.z];return{centre:C,size:R}};const S=function(T,A,C,R){e.sceneData.nerveMapIsActive=!1,e.sceneData.nerveMap=void 0,e.sceneData.metaURL="",e.sceneData.viewURL="",e.sceneData.currentSpecies=T,e.sceneData.currentSystem=A,e.sceneData.currentPart=C,e.sceneData.currentTime=0,e.sceneData.timeVarying=!1;let L="";T&&(L=T+"/"),A&&(L=A+"/"),C&&(L=C),e.sceneData.currentName=L};this.loadOrgansFromURL=function(T,A,C,R,L,I){if(e.zincRenderer&&R&&e.sceneData.metaURL!==T){S(A,C,R);const O=e.sceneData.currentName;let N=e.zincRenderer.getSceneByName(O);N?I&&N.clearAll():N=e.zincRenderer.createScene(O),e.selectObjectOnPick=!0;for(let P=0;P<r.length;P++)r[P](e.sceneData);L&&L!=""?(e.sceneData.viewURL=L,N.loadViewURL(e.sceneData.viewURL)):e.sceneData.viewURL=void 0,e.sceneData.metaURL=T,N.addZincObjectAddedCallbacks(x(C,R,!1)),N.addZincObjectRemovedCallbacks(_(void 0,R,!1)),N.loadMetadataURL(T,void 0,E()),e.scene=N,e.zincRenderer.setCurrentScene(N),e.graphicsHighlight.reset();const w=N.getZincCameraControls();w.enableRaycaster(N,m(),h()),w.setMouseButtonAction("AUXILIARY","ZOOM"),w.setMouseButtonAction("SECONDARY","PAN")}},this.loadGLTFFromURL=function(T,A,C){if(e.zincRenderer&&A&&e.sceneData.metaURL!==T){S(void 0,void 0,A);const R=e.sceneData.currentName;let L=e.zincRenderer.getSceneByName(R);L?C&&L.clearAll():L=e.zincRenderer.createScene(R);for(let O=0;O<r.length;O++)r[O](e.sceneData);e.sceneData.viewURL=void 0,e.sceneData.metaURL=T,L.addZincObjectAddedCallbacks(x(void 0,A,!1)),L.addZincObjectRemovedCallbacks(_(void 0,A,!1)),L.loadGLTF(T,void 0,E()),e.scene=L,e.zincRenderer.setCurrentScene(L),e.graphicsHighlight.reset();const I=L.getZincCameraControls();I.enableRaycaster(L,m(),h()),I.setMouseButtonAction("AUXILIARY","ZOOM"),I.setMouseButtonAction("SECONDARY","PAN")}},this.alignCameraWithSelectedObject=function(T){const A=e.graphicsHighlight.getSelected();A&&A[0]&&A[0].userData&&e.scene.alignObjectToCameraView(A[0].userData,T)},this.exportSettings=function(){const T={};return T.name=e.instanceName,e.sceneData.currentSystem&&(T.system=e.sceneData.currentSystem),e.sceneData.currentSpecies&&(T.species=e.sceneData.currentSpecies),e.sceneData.currentPart&&(T.part=e.sceneData.currentPart),T.metaURL=e.sceneData.metaURL,e.sceneData.viewURL&&(T.viewURL=e.sceneData.viewURL),T.dialog="Organ Viewer",T},this.importSettings=function(T){return T&&T.dialog==this.typeName?(e.setName(T.name),T.metaURL!==void 0&&T.metaURL!=""?e.loadOrgansFromURL(T.metaURL,T.species,T.system,T.part,T.viewURL,!0):e.loadOrgans(T.species,T.system,T.part),!0):!1},function(){e.initialiseRenderer(void 0),e.zincRenderer&&(e.zincRenderer.addPreRenderCallbackFunction(d()),e.zincRenderer.addPostRenderCallbackFunction(p()))}()};cw.prototype=Object.create(Et.prototype);var ht=function(){return ht=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},ht.apply(this,arguments)};function WV(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function l(f){try{u(i.next(f))}catch(d){o(d)}}function c(f){try{u(i.throw(f))}catch(d){o(d)}}function u(f){f.done?s(f.value):r(f.value).then(l,c)}u((i=i.apply(n,[])).next())})}function jV(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,o;return o={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(u){return function(f){return c([u,f])}}function c(u){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(t=0)),t;)try{if(i=1,r&&(s=u[0]&2?r.return:u[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,u[1])).done)return s;switch(r=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,r=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(n,t)}catch(f){u=[6,f],r=0}finally{i=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Ye(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Dt(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,s=[],o;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}typeof SuppressedError=="function"&&SuppressedError;var $V="ENTRIES",uw="KEYS",dw="VALUES",Qt="",Zf=function(){function n(e,t){var i=e._tree,r=Array.from(i.keys());this.set=e,this._type=t,this._path=r.length>0?[{node:i,keys:r}]:[]}return n.prototype.next=function(){var e=this.dive();return this.backtrack(),e},n.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=Po(this._path),t=e.node,i=e.keys;if(Po(i)===Qt)return{done:!1,value:this.result()};var r=t.get(Po(i));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()},n.prototype.backtrack=function(){if(this._path.length!==0){var e=Po(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},n.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return Po(t)}).filter(function(e){return e!==Qt}).join("")},n.prototype.value=function(){return Po(this._path).node.get(Qt)},n.prototype.result=function(){switch(this._type){case dw:return this.value();case uw:return this.key();default:return[this.key(),this.value()]}},n.prototype[Symbol.iterator]=function(){return this},n}(),Po=function(n){return n[n.length-1]},ZV=function(n,e,t){var i=new Map;if(e===void 0)return i;for(var r=e.length+1,s=r+t,o=new Uint8Array(s*r).fill(t+1),l=0;l<r;++l)o[l]=l;for(var c=1;c<s;++c)o[c*r]=c;return hw(n,e,t,i,o,1,r,""),i},hw=function(n,e,t,i,r,s,o,l){var c,u,f=s*o;try{e:for(var d=Ye(n.keys()),p=d.next();!p.done;p=d.next()){var y=p.value;if(y===Qt){var m=r[f-1];m<=t&&i.set(l,[n.get(y),m])}else{for(var h=s,b=0;b<y.length;++b,++h){for(var v=y[b],g=o*h,x=g-o,_=r[g],E=Math.max(0,h-t-1),S=Math.min(o-1,h+t),M=E;M<S;++M){var T=v!==e[M],A=r[x+M]+ +T,C=r[x+M+1]+1,R=r[g+M]+1,L=r[g+M+1]=Math.min(A,C,R);L<_&&(_=L)}if(_>t)continue e}hw(n.get(y),e,t,i,r,h,o,l+y)}}}catch(I){c={error:I}}finally{try{p&&!p.done&&(u=d.return)&&u.call(d)}finally{if(c)throw c.error}}},Xf=function(){function n(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return n.prototype.atPrefix=function(e){var t,i;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var r=Dt(lu(this._tree,e.slice(this._prefix.length)),2),s=r[0],o=r[1];if(s===void 0){var l=Dt(qf(o),2),c=l[0],u=l[1];try{for(var f=Ye(c.keys()),d=f.next();!d.done;d=f.next()){var p=d.value;if(p!==Qt&&p.startsWith(u)){var y=new Map;return y.set(p.slice(u.length),c.get(p)),new n(y,e)}}}catch(m){t={error:m}}finally{try{d&&!d.done&&(i=f.return)&&i.call(f)}finally{if(t)throw t.error}}}return new n(s,e)},n.prototype.clear=function(){this._size=void 0,this._tree.clear()},n.prototype.delete=function(e){return this._size=void 0,XV(this._tree,e)},n.prototype.entries=function(){return new Zf(this,$V)},n.prototype.forEach=function(e){var t,i;try{for(var r=Ye(this),s=r.next();!s.done;s=r.next()){var o=Dt(s.value,2),l=o[0],c=o[1];e(l,c,this)}}catch(u){t={error:u}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},n.prototype.fuzzyGet=function(e,t){return ZV(this._tree,e,t)},n.prototype.get=function(e){var t=Yf(this._tree,e);return t!==void 0?t.get(Qt):void 0},n.prototype.has=function(e){var t=Yf(this._tree,e);return t!==void 0&&t.has(Qt)},n.prototype.keys=function(){return new Zf(this,uw)},n.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Jf(this._tree,e);return i.set(Qt,t),this},Object.defineProperty(n.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),n.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Jf(this._tree,e);return i.set(Qt,t(i.get(Qt))),this},n.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Jf(this._tree,e),r=i.get(Qt);return r===void 0&&i.set(Qt,r=t()),r},n.prototype.values=function(){return new Zf(this,dw)},n.prototype[Symbol.iterator]=function(){return this.entries()},n.from=function(e){var t,i,r=new n;try{for(var s=Ye(e),o=s.next();!o.done;o=s.next()){var l=Dt(o.value,2),c=l[0],u=l[1];r.set(c,u)}}catch(f){t={error:f}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}return r},n.fromObject=function(e){return n.from(Object.entries(e))},n}(),lu=function(n,e,t){var i,r;if(t===void 0&&(t=[]),e.length===0||n==null)return[n,t];try{for(var s=Ye(n.keys()),o=s.next();!o.done;o=s.next()){var l=o.value;if(l!==Qt&&e.startsWith(l))return t.push([n,l]),lu(n.get(l),e.slice(l.length),t)}}catch(c){i={error:c}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return t.push([n,e]),lu(void 0,"",t)},Yf=function(n,e){var t,i;if(e.length===0||n==null)return n;try{for(var r=Ye(n.keys()),s=r.next();!s.done;s=r.next()){var o=s.value;if(o!==Qt&&e.startsWith(o))return Yf(n.get(o),e.slice(o.length))}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},Jf=function(n,e){var t,i,r=e.length;e:for(var s=0;n&&s<r;){try{for(var o=(t=void 0,Ye(n.keys())),l=o.next();!l.done;l=o.next()){var c=l.value;if(c!==Qt&&e[s]===c[0]){for(var u=Math.min(r-s,c.length),f=1;f<u&&e[s+f]===c[f];)++f;var d=n.get(c);if(f===c.length)n=d;else{var p=new Map;p.set(c.slice(f),d),n.set(e.slice(s,s+f),p),n.delete(c),n=p}s+=f;continue e}}}catch(m){t={error:m}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}var y=new Map;return n.set(e.slice(s),y),y}return n},XV=function(n,e){var t=Dt(lu(n,e),2),i=t[0],r=t[1];if(i!==void 0){if(i.delete(Qt),i.size===0)fw(r);else if(i.size===1){var s=Dt(i.entries().next().value,2),o=s[0],l=s[1];pw(r,o,l)}}},fw=function(n){if(n.length!==0){var e=Dt(qf(n),2),t=e[0],i=e[1];if(t.delete(i),t.size===0)fw(n.slice(0,-1));else if(t.size===1){var r=Dt(t.entries().next().value,2),s=r[0],o=r[1];s!==Qt&&pw(n.slice(0,-1),s,o)}}},pw=function(n,e,t){if(n.length!==0){var i=Dt(qf(n),2),r=i[0],s=i[1];r.set(s+e,t),r.delete(s)}},qf=function(n){return n[n.length-1]},qa,Kf="or",mw="and",YV="and_not",JV=function(){function n(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');var t=e.autoVacuum==null||e.autoVacuum===!0?ip:e.autoVacuum;this._options=ht(ht(ht({},ep),e),{autoVacuum:t,searchOptions:ht(ht({},gw),e.searchOptions||{}),autoSuggestOptions:ht(ht({},tk),e.autoSuggestOptions||{})}),this._index=new Xf,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=np,this.addFields(this._options.fields)}return n.prototype.add=function(e){var t,i,r,s,o,l,c=this._options,u=c.extractField,f=c.tokenize,d=c.processTerm,p=c.fields,y=c.idField,m=u(e,y);if(m==null)throw new Error('MiniSearch: document does not have ID field "'.concat(y,'"'));if(this._idToShortId.has(m))throw new Error("MiniSearch: duplicate ID ".concat(m));var h=this.addDocumentId(m);this.saveStoredFields(h,e);try{for(var b=Ye(p),v=b.next();!v.done;v=b.next()){var g=v.value,x=u(e,g);if(x!=null){var _=f(x.toString(),g),E=this._fieldIds[g],S=new Set(_).size;this.addFieldLength(h,E,this._documentCount-1,S);try{for(var M=(r=void 0,Ye(_)),T=M.next();!T.done;T=M.next()){var A=T.value,C=d(A,g);if(Array.isArray(C))try{for(var R=(o=void 0,Ye(C)),L=R.next();!L.done;L=R.next()){var I=L.value;this.addTerm(E,h,I)}}catch(O){o={error:O}}finally{try{L&&!L.done&&(l=R.return)&&l.call(R)}finally{if(o)throw o.error}}else C&&this.addTerm(E,h,C)}}catch(O){r={error:O}}finally{try{T&&!T.done&&(s=M.return)&&s.call(M)}finally{if(r)throw r.error}}}}}catch(O){t={error:O}}finally{try{v&&!v.done&&(i=b.return)&&i.call(b)}finally{if(t)throw t.error}}},n.prototype.addAll=function(e){var t,i;try{for(var r=Ye(e),s=r.next();!s.done;s=r.next()){var o=s.value;this.add(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},n.prototype.addAllAsync=function(e,t){var i=this;t===void 0&&(t={});var r=t.chunkSize,s=r===void 0?10:r,o={chunk:[],promise:Promise.resolve()},l=e.reduce(function(f,d,p){var y=f.chunk,m=f.promise;return y.push(d),(p+1)%s===0?{chunk:[],promise:m.then(function(){return new Promise(function(h){return setTimeout(h,0)})}).then(function(){return i.addAll(y)})}:{chunk:y,promise:m}},o),c=l.chunk,u=l.promise;return u.then(function(){return i.addAll(c)})},n.prototype.remove=function(e){var t,i,r,s,o,l,c=this._options,u=c.tokenize,f=c.processTerm,d=c.extractField,p=c.fields,y=c.idField,m=d(e,y);if(m==null)throw new Error('MiniSearch: document does not have ID field "'.concat(y,'"'));var h=this._idToShortId.get(m);if(h==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(m,": it is not in the index"));try{for(var b=Ye(p),v=b.next();!v.done;v=b.next()){var g=v.value,x=d(e,g);if(x!=null){var _=u(x.toString(),g),E=this._fieldIds[g],S=new Set(_).size;this.removeFieldLength(h,E,this._documentCount,S);try{for(var M=(r=void 0,Ye(_)),T=M.next();!T.done;T=M.next()){var A=T.value,C=f(A,g);if(Array.isArray(C))try{for(var R=(o=void 0,Ye(C)),L=R.next();!L.done;L=R.next()){var I=L.value;this.removeTerm(E,h,I)}}catch(O){o={error:O}}finally{try{L&&!L.done&&(l=R.return)&&l.call(R)}finally{if(o)throw o.error}}else C&&this.removeTerm(E,h,C)}}catch(O){r={error:O}}finally{try{T&&!T.done&&(s=M.return)&&s.call(M)}finally{if(r)throw r.error}}}}}catch(O){t={error:O}}finally{try{v&&!v.done&&(i=b.return)&&i.call(b)}finally{if(t)throw t.error}}this._storedFields.delete(h),this._documentIds.delete(h),this._idToShortId.delete(m),this._fieldLength.delete(h),this._documentCount-=1},n.prototype.removeAll=function(e){var t,i;if(e)try{for(var r=Ye(e),s=r.next();!s.done;s=r.next()){var o=s.value;this.remove(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Xf,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},n.prototype.discard=function(e){var t=this,i=this._idToShortId.get(e);if(i==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach(function(r,s){t.removeFieldLength(i,s,t._documentCount,r)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},n.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,i=e.minDirtCount,r=e.batchSize,s=e.batchWait;this.conditionalVacuum({batchSize:r,batchWait:s},{minDirtCount:i,minDirtFactor:t})}},n.prototype.discardAll=function(e){var t,i,r=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var s=Ye(e),o=s.next();!o.done;o=s.next()){var l=o.value;this.discard(l)}}catch(c){t={error:c}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=r}this.maybeAutoVacuum()},n.prototype.replace=function(e){var t=this._options,i=t.idField,r=t.extractField,s=r(e,i);this.discard(s),this.add(e)},n.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},n.prototype.conditionalVacuum=function(e,t){var i=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var r=i._enqueuedVacuumConditions;return i._enqueuedVacuumConditions=np,i.performVacuuming(e,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},n.prototype.performVacuuming=function(e,t){return WV(this,void 0,void 0,function(){var i,r,s,o,l,c,u,f,d,p,y,m,h,b,v,g,x,_,E,S,M,T,A,C,R;return jV(this,function(L){switch(L.label){case 0:if(i=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];r=e.batchSize||tp.batchSize,s=e.batchWait||tp.batchWait,o=1,L.label=1;case 1:L.trys.push([1,7,8,9]),l=Ye(this._index),c=l.next(),L.label=2;case 2:if(c.done)return[3,6];u=Dt(c.value,2),f=u[0],d=u[1];try{for(p=(T=void 0,Ye(d)),y=p.next();!y.done;y=p.next()){m=Dt(y.value,2),h=m[0],b=m[1];try{for(v=(C=void 0,Ye(b)),g=v.next();!g.done;g=v.next())x=Dt(g.value,1),_=x[0],!this._documentIds.has(_)&&(b.size<=1?d.delete(h):b.delete(_))}catch(I){C={error:I}}finally{try{g&&!g.done&&(R=v.return)&&R.call(v)}finally{if(C)throw C.error}}}}catch(I){T={error:I}}finally{try{y&&!y.done&&(A=p.return)&&A.call(p)}finally{if(T)throw T.error}}return this._index.get(f).size===0&&this._index.delete(f),o%r!==0?[3,4]:[4,new Promise(function(I){return setTimeout(I,s)})];case 3:L.sent(),L.label=4;case 4:o+=1,L.label=5;case 5:return c=l.next(),[3,2];case 6:return[3,9];case 7:return E=L.sent(),S={error:E},[3,9];case 8:try{c&&!c.done&&(M=l.return)&&M.call(l)}finally{if(S)throw S.error}return[7];case 9:this._dirtCount-=i,L.label=10;case 10:return[4,null];case 11:return L.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},n.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,i=e.minDirtFactor;return t=t||ip.minDirtCount,i=i||ip.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=i},Object.defineProperty(n.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),n.prototype.has=function(e){return this._idToShortId.has(e)},n.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},n.prototype.search=function(e,t){var i,r;t===void 0&&(t={});var s=this.executeQuery(e,t),o=[];try{for(var l=Ye(s),c=l.next();!c.done;c=l.next()){var u=Dt(c.value,2),f=u[0],d=u[1],p=d.score,y=d.terms,m=d.match,h=y.length||1,b={id:this._documentIds.get(f),score:p*h,terms:Object.keys(m),queryTerms:y,match:m};Object.assign(b,this._storedFields.get(f)),(t.filter==null||t.filter(b))&&o.push(b)}}catch(v){i={error:v}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}return e===n.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||o.sort(vw),o},n.prototype.autoSuggest=function(e,t){var i,r,s,o;t===void 0&&(t={}),t=ht(ht({},this._options.autoSuggestOptions),t);var l=new Map;try{for(var c=Ye(this.search(e,t)),u=c.next();!u.done;u=c.next()){var f=u.value,d=f.score,p=f.terms,y=p.join(" "),m=l.get(y);m!=null?(m.score+=d,m.count+=1):l.set(y,{score:d,terms:p,count:1})}}catch(E){i={error:E}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}var h=[];try{for(var b=Ye(l),v=b.next();!v.done;v=b.next()){var g=Dt(v.value,2),m=g[0],x=g[1],d=x.score,p=x.terms,_=x.count;h.push({suggestion:m,terms:p,score:d/_})}}catch(E){s={error:E}}finally{try{v&&!v.done&&(o=b.return)&&o.call(b)}finally{if(s)throw s.error}}return h.sort(vw),h},Object.defineProperty(n.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),n.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},n.getDefault=function(e){if(ep.hasOwnProperty(e))return Qf(ep,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},n.loadJS=function(e,t){var i,r,s,o,l,c,u=e.index,f=e.documentCount,d=e.nextId,p=e.documentIds,y=e.fieldIds,m=e.fieldLength,h=e.averageFieldLength,b=e.storedFields,v=e.dirtCount,g=e.serializationVersion;if(g!==1&&g!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var x=new n(t);x._documentCount=f,x._nextId=d,x._documentIds=cu(p),x._idToShortId=new Map,x._fieldIds=y,x._fieldLength=cu(m),x._avgFieldLength=h,x._storedFields=cu(b),x._dirtCount=v||0,x._index=new Xf;try{for(var _=Ye(x._documentIds),E=_.next();!E.done;E=_.next()){var S=Dt(E.value,2),M=S[0],T=S[1];x._idToShortId.set(T,M)}}catch(D){i={error:D}}finally{try{E&&!E.done&&(r=_.return)&&r.call(_)}finally{if(i)throw i.error}}try{for(var A=Ye(u),C=A.next();!C.done;C=A.next()){var R=Dt(C.value,2),L=R[0],I=R[1],O=new Map;try{for(var N=(l=void 0,Ye(Object.keys(I))),w=N.next();!w.done;w=N.next()){var P=w.value,B=I[P];g===1&&(B=B.ds),O.set(parseInt(P,10),cu(B))}}catch(D){l={error:D}}finally{try{w&&!w.done&&(c=N.return)&&c.call(N)}finally{if(l)throw l.error}}x._index.set(L,O)}}catch(D){s={error:D}}finally{try{C&&!C.done&&(o=A.return)&&o.call(A)}finally{if(s)throw s.error}}return x},n.prototype.executeQuery=function(e,t){var i=this;if(t===void 0&&(t={}),e===n.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var r=ht(ht(ht({},t),e),{queries:void 0}),s=e.queries.map(function(b){return i.executeQuery(b,r)});return this.combineResults(s,r.combineWith)}var o=this._options,l=o.tokenize,c=o.processTerm,u=o.searchOptions,f=ht(ht({tokenize:l,processTerm:c},u),t),d=f.tokenize,p=f.processTerm,y=d(e).flatMap(function(b){return p(b)}).filter(function(b){return!!b}),m=y.map(ek(f)),h=m.map(function(b){return i.executeQuerySpec(b,f)});return this.combineResults(h,f.combineWith)},n.prototype.executeQuerySpec=function(e,t){var i,r,s,o,l=ht(ht({},this._options.searchOptions),t),c=(l.fields||this._options.fields).reduce(function(P,B){var D;return ht(ht({},P),(D={},D[B]=Qf(l.boost,B)||1,D))},{}),u=l.boostDocument,f=l.weights,d=l.maxFuzzy,p=l.bm25,y=ht(ht({},gw.weights),f),m=y.fuzzy,h=y.prefix,b=this._index.get(e.term),v=this.termResults(e.term,e.term,1,b,c,u,p),g,x;if(e.prefix&&(g=this._index.atPrefix(e.term)),e.fuzzy){var _=e.fuzzy===!0?.2:e.fuzzy,E=_<1?Math.min(d,Math.round(e.term.length*_)):_;E&&(x=this._index.fuzzyGet(e.term,E))}if(g)try{for(var S=Ye(g),M=S.next();!M.done;M=S.next()){var T=Dt(M.value,2),A=T[0],C=T[1],R=A.length-e.term.length;if(R){x==null||x.delete(A);var L=h*A.length/(A.length+.3*R);this.termResults(e.term,A,L,C,c,u,p,v)}}}catch(P){i={error:P}}finally{try{M&&!M.done&&(r=S.return)&&r.call(S)}finally{if(i)throw i.error}}if(x)try{for(var I=Ye(x.keys()),O=I.next();!O.done;O=I.next()){var A=O.value,N=Dt(x.get(A),2),w=N[0],R=N[1];if(R){var L=m*A.length/(A.length+R);this.termResults(e.term,A,L,w,c,u,p,v)}}}catch(P){s={error:P}}finally{try{O&&!O.done&&(o=I.return)&&o.call(I)}finally{if(s)throw s.error}}return v},n.prototype.executeWildcardQuery=function(e){var t,i,r=new Map,s=ht(ht({},this._options.searchOptions),e);try{for(var o=Ye(this._documentIds),l=o.next();!l.done;l=o.next()){var c=Dt(l.value,2),u=c[0],f=c[1],d=s.boostDocument?s.boostDocument(f,"",this._storedFields.get(u)):1;r.set(u,{score:d,terms:[],match:{}})}}catch(p){t={error:p}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return r},n.prototype.combineResults=function(e,t){if(t===void 0&&(t=Kf),e.length===0)return new Map;var i=t.toLowerCase();return e.reduce(qV[i])||new Map},n.prototype.toJSON=function(){var e,t,i,r,s=[];try{for(var o=Ye(this._index),l=o.next();!l.done;l=o.next()){var c=Dt(l.value,2),u=c[0],f=c[1],d={};try{for(var p=(i=void 0,Ye(f)),y=p.next();!y.done;y=p.next()){var m=Dt(y.value,2),h=m[0],b=m[1];d[h]=Object.fromEntries(b)}}catch(v){i={error:v}}finally{try{y&&!y.done&&(r=p.return)&&r.call(p)}finally{if(i)throw i.error}}s.push([u,d])}}catch(v){e={error:v}}finally{try{l&&!l.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:s,serializationVersion:2}},n.prototype.termResults=function(e,t,i,r,s,o,l,c){var u,f,d,p,y;if(c===void 0&&(c=new Map),r==null)return c;try{for(var m=Ye(Object.keys(s)),h=m.next();!h.done;h=m.next()){var b=h.value,v=s[b],g=this._fieldIds[b],x=r.get(g);if(x!=null){var _=x.size,E=this._avgFieldLength[g];try{for(var S=(d=void 0,Ye(x.keys())),M=S.next();!M.done;M=S.next()){var T=M.value;if(!this._documentIds.has(T)){this.removeTerm(g,T,t),_-=1;continue}var A=o?o(this._documentIds.get(T),t,this._storedFields.get(T)):1;if(A){var C=x.get(T),R=this._fieldLength.get(T)[g],L=QV(C,_,this._documentCount,R,E,l),I=i*v*A*L,O=c.get(T);if(O){O.score+=I,nk(O.terms,e);var N=Qf(O.match,t);N?N.push(b):O.match[t]=[b]}else c.set(T,{score:I,terms:[e],match:(y={},y[t]=[b],y)})}}}catch(w){d={error:w}}finally{try{M&&!M.done&&(p=S.return)&&p.call(S)}finally{if(d)throw d.error}}}}}catch(w){u={error:w}}finally{try{h&&!h.done&&(f=m.return)&&f.call(m)}finally{if(u)throw u.error}}return c},n.prototype.addTerm=function(e,t,i){var r=this._index.fetch(i,bw),s=r.get(e);if(s==null)s=new Map,s.set(t,1),r.set(e,s);else{var o=s.get(t);s.set(t,(o||0)+1)}},n.prototype.removeTerm=function(e,t,i){if(!this._index.has(i)){this.warnDocumentChanged(t,e,i);return}var r=this._index.fetch(i,bw),s=r.get(e);s==null||s.get(t)==null?this.warnDocumentChanged(t,e,i):s.get(t)<=1?s.size<=1?r.delete(e):s.delete(t):s.set(t,s.get(t)-1),this._index.get(i).size===0&&this._index.delete(i)},n.prototype.warnDocumentChanged=function(e,t,i){var r,s;try{for(var o=Ye(Object.keys(this._fieldIds)),l=o.next();!l.done;l=o.next()){var c=l.value;if(this._fieldIds[c]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(i,'" was not present in field "').concat(c,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(u){r={error:u}}finally{try{l&&!l.done&&(s=o.return)&&s.call(o)}finally{if(r)throw r.error}}},n.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},n.prototype.addFields=function(e){for(var t=0;t<e.length;t++)this._fieldIds[e[t]]=t},n.prototype.addFieldLength=function(e,t,i,r){var s=this._fieldLength.get(e);s==null&&this._fieldLength.set(e,s=[]),s[t]=r;var o=this._avgFieldLength[t]||0,l=o*i+r;this._avgFieldLength[t]=l/(i+1)},n.prototype.removeFieldLength=function(e,t,i,r){if(i===1){this._avgFieldLength[t]=0;return}var s=this._avgFieldLength[t]*i-r;this._avgFieldLength[t]=s/(i-1)},n.prototype.saveStoredFields=function(e,t){var i,r,s=this._options,o=s.storeFields,l=s.extractField;if(!(o==null||o.length===0)){var c=this._storedFields.get(e);c==null&&this._storedFields.set(e,c={});try{for(var u=Ye(o),f=u.next();!f.done;f=u.next()){var d=f.value,p=l(t,d);p!==void 0&&(c[d]=p)}}catch(y){i={error:y}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(i)throw i.error}}}},n.wildcard=Symbol("*"),n}(),Qf=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0},qV=(qa={},qa[Kf]=function(n,e){var t,i;try{for(var r=Ye(e.keys()),s=r.next();!s.done;s=r.next()){var o=s.value,l=n.get(o);if(l==null)n.set(o,e.get(o));else{var c=e.get(o),u=c.score,f=c.terms,d=c.match;l.score=l.score+u,l.match=Object.assign(l.match,d),yw(l.terms,f)}}}catch(p){t={error:p}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return n},qa[mw]=function(n,e){var t,i,r=new Map;try{for(var s=Ye(e.keys()),o=s.next();!o.done;o=s.next()){var l=o.value,c=n.get(l);if(c!=null){var u=e.get(l),f=u.score,d=u.terms,p=u.match;yw(c.terms,d),r.set(l,{score:c.score+f,terms:c.terms,match:Object.assign(c.match,p)})}}}catch(y){t={error:y}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}return r},qa[YV]=function(n,e){var t,i;try{for(var r=Ye(e.keys()),s=r.next();!s.done;s=r.next()){var o=s.value;n.delete(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return n},qa),KV={k:1.2,b:.7,d:.5},QV=function(n,e,t,i,r,s){var o=s.k,l=s.b,c=s.d,u=Math.log(1+(t-e+.5)/(e+.5));return u*(c+n*(o+1)/(n+o*(1-l+l*i/r)))},ek=function(n){return function(e,t,i){var r=typeof n.fuzzy=="function"?n.fuzzy(e,t,i):n.fuzzy||!1,s=typeof n.prefix=="function"?n.prefix(e,t,i):n.prefix===!0;return{term:e,fuzzy:r,prefix:s}}},ep={idField:"id",extractField:function(n,e){return n[e]},tokenize:function(n){return n.split(ik)},processTerm:function(n){return n.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(n,e){typeof(console==null?void 0:console[n])=="function"&&console[n](e)},autoVacuum:!0},gw={combineWith:Kf,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:KV},tk={combineWith:mw,prefix:function(n,e,t){return e===t.length-1}},tp={batchSize:1e3,batchWait:10},np={minDirtFactor:.1,minDirtCount:20},ip=ht(ht({},tp),np),nk=function(n,e){n.includes(e)||n.push(e)},yw=function(n,e){var t,i;try{for(var r=Ye(e),s=r.next();!s.done;s=r.next()){var o=s.value;n.includes(o)||n.push(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},vw=function(n,e){var t=n.score,i=e.score;return i-t},bw=function(){return new Map},cu=function(n){var e,t,i=new Map;try{for(var r=Ye(Object.keys(n)),s=r.next();!s.done;s=r.next()){var o=s.value;i.set(parseInt(o,10),n[o])}}catch(l){e={error:l}}finally{try{s&&!s.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}return i},ik=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;const rk=["label","models","source"];class sk{constructor(){this._searchEngine=new JV({fields:["path","name"],storeFields:["path"],tokenize:(e,t)=>e.split('"')}),this._featureIds=[],this.zincObjects=[],this.regions=[]}indexMetadata(e,t){const i=[];for(const r of rk)if(r in t){const s=t[r];i.includes(s)||(this.addTerm_(e,s),i.push(s))}}addZincObject(e,t){const i=e.getRegion().getFullPath(),s={path:i?`${i}/${e.groupName}`:e.groupName,name:e.groupName,id:t};this._searchEngine.add(s,{fields:["path","name"]}),this.zincObjects.push(e)}removeZincObject(e,t){const i=e.getRegion().getFullPath(),s={path:i?`${i}/${e.groupName}`:e.groupName,name:e.groupName,id:t};this._searchEngine.remove(s,{fields:["path","name"]});for(let o=0;o<this.zincObjects.length;o++)if(t===this.zincObjects[o].uuid){this.zincObjects.splice(o,1);return}}addRegion(e,t){const i={path:e.getFullPath(),name:e.getName(),id:t};this._searchEngine.add(i,{fields:["path","name"]}),this.regions.push(e)}clearResults(){this._}removeAll(){this._searchEngine.removeAll(),this.zincObjects.length=0,this.regions.length=0}auto_suggest(e){return this._searchEngine.autoSuggest(e,{prefix:!0})}processResults(e,t){const i={regionPath:void 0,label:'Search Results for "'};return Array.isArray(t)?i.label+=",".join(t):i.label+=t,i.label+='"',e.length===1&&(e[0].isRegion?i.regionPath=e[0].getFullPath():e[0].isZincObject&&(i.regionPath=e[0].getRegion().getFullPath(),i.label=e[0].groupName)),i.zincObjects=qF(e),i}search(e){const t=this._searchEngine.search(e,{prefix:!0}),i=this.zincObjects.filter(s=>t.map(o=>o.id).includes(s.uuid)),r=this.regions.filter(s=>t.map(o=>o.id).includes(s.uuid));return i.push(...r),i}searchTerms(e){let t=[];return e.forEach(i=>{const r=this.search(i);t.push(...r)}),t}searchAndProcessResult(e){let t=[];return Array.isArray(e)?t=this.searchTerms(e):t=this.search(e),this.processResults(t,e)}}const ok=rw("settings",{state:()=>({organCuries:[],imageTypes:[],imageThumbnails:{}}),getters:{imageTypeCached:n=>e=>n.imageTypes.includes(e),getImageThumbnails:n=>(e,t=void 0)=>{if(t){let i={};return Object.entries(n.imageThumbnails).forEach(([r,s])=>{t.includes(r)&&(i[r]=s.filter(o=>o.type===e))}),i}return n.imageThumbnails}},actions:{updateOrganCuries(n){this.organCuries=n},updateImageThumbnails(n,e){this.imageTypes.push(n),Object.keys(e).forEach(t=>{t in this.imageThumbnails||(this.imageThumbnails[t]=[]),this.imageThumbnails[t].push(...e[t])})}}}),uu=async(n,e,t)=>await(await fetch(`${n}/get-files-info-for-curies`,{method:"POST",body:JSON.stringify({curies:e.map(s=>s.id),filetypes:t}),headers:{"Content-Type":"application/json"}})).json(),du=n=>n.substring(n.lastIndexOf("/")+1),ak=(n,e)=>`${n}/thumbnail/${e}`,lk=async(n,e,t)=>{try{const i=await uu(n,e,["biolucida-2d","biolucida-3d"]);if(i.files_info){let r={};for(const[s,o]of Object.entries(i.files_info))if(o.length>0){let l=[];o.forEach(c=>{const u=ak(n,c.biolucida_id);if(c.biolucida_id){let f={thumbnail:u,resource:c.file_path,id:c.id,title:du(c.file_path),type:t,link:u,mimetype:c.mimetype,species:c.species,version:c.version};l.push(f)}}),r[s]=l}return r}}catch(i){console.error("Error:",i)}return{}},ck=(n,e,t,i)=>`${n}/thumbnail/neurolucida?datasetId=${e}&version=${t}&path=files/${i}`,uk=async(n,e,t)=>{try{const i=await uu(n,e,["mbf-segmentation"]);if(i.files_info){let r={};for(const[s,o]of Object.entries(i.files_info))if(o.length>0){let l=[];o.forEach(c=>{const u=ck(n,c.id,c.version,c.file_path);let f={thumbnail:u,resource:c.file_path,id:c.id,title:du(c.file_path),type:t,link:u,mimetype:c.mimetype,species:c.species,version:c.version};l.push(f)}),r[s]=l}return r}}catch(i){console.error("Error:",i)}return{}},xw=(n,e,t)=>{if(n&&e)for(let i=0;i<n.isSourceOf.length;i++)for(let r=0;r<e.length;r++){const s=e[r];if(n.id===s.id&&(!t||s.type===t)&&n.isSourceOf[i]===s.file_path)return s}},dk=(n,e,t)=>{const i=xw(e,t,"abi-scaffold-view-file"),r=xw(i,t,"abi-thumbnail");if(r)return`${n}/s3-resource/${r.id}/files/${r.file_path}`},hk=async(n,e,t)=>{try{const i=await uu(n,e,["abi-thumbnail","abi-scaffold-metadata-file","abi-scaffold-view-file"]);if(i.files_info){let r={};for(const[s,o]of Object.entries(i.files_info))if(o.length>0){let l=[];o.forEach(c=>{if(c.type==="abi-scaffold-metadata-file"){const u=dk(n,c,o);if(u){let f={thumbnail:u,resource:c.file_path,id:c.id,title:du(c.file_path),type:t,link:u,species:c.species,version:c.version};l.push(f)}}}),r[s]=l}return r}}catch(i){console.error("Error:",i)}return{}},fk=(n,e)=>{if(e.isSourceOf.length>0)return`${n}/s3-resource/${e.id}/files/${e.isSourceOf[0]}`},pk=async(n,e,t)=>{try{const i=await uu(n,e,["abi-plot","abi-thumbnail"]);if(i.files_info){let r={};for(const[s,o]of Object.entries(i.files_info))if(o.length>0){let l=[];o.forEach(c=>{if(c.type==="abi-plot"){const u=fk(n,c);if(u){let f={thumbnail:u,resource:c.file_path,id:c.id,title:du(c.file_path),type:t,link:u,species:c.species,version:c.version};l.push(f)}}}),r[s]=l}return r}}catch(i){console.error("Error:",i)}return{}},mk={name:"ScaffoldVuer",mixins:[{methods:{populateMapWithImages:async function(n,e){let t={};for(const[i,r]of Object.entries(n)){const s=await this.downloadImageThumbnail(i,r,e);s?t[i]=s:t[i]=this.markerLabels[i]}return t},downloadImageThumbnail:async function(n,e,t){const i=e.length;if(i>0){const r=Math.floor(Math.random()*i),s=e[r].thumbnail;try{const o=await this.getImageThumbnail(s,t);return await this.addImageThumbnailMarker(n,o)}catch{e.splice(r),this.downloadImageThumbnail(n,e,t)}}},getImageThumbnail:async function(n,e){return new Promise((t,i)=>{e==="Image"||e==="Segmentation"?this.getBinaryThumbnail(n).then(r=>t(r)).catch(r=>i(r)):this.getGenericThumbnail(n).then(r=>t(r)).catch(r=>i(r))})},getBinaryThumbnail:async function(n){return new Promise((e,t)=>{fetch(n).then(i=>{if(i.status>=200&&i.status<300)return i.text();t()}).then(i=>{if(i){let r=new Image;r.onload=function(){e(`data:'image/png';base64,${i}`)},r.onerror=function(){t(new Error("Failed to load image at "+n))},r.src=`data:'image/png';base64,${i}`}else t(new Error("Failed to load image at "+n))})})},getGenericThumbnail:async function(n){return new Promise((e,t)=>{let i=new Image;i.onload=function(){e(n)},i.onerror=function(){t(new Error("Failed to load image at "+n))},i.src=n})},addImageThumbnailMarker:async function(n,e){const t=await(await fetch(e)).blob(),i=URL.createObjectURL(t);return{number:this.markerLabels[n],imgURL:i}}}}],components:{Button:Qi,Col:fn,Loading:FL,Option:Rs,Popover:Dl,Row:kn,Select:As,Slider:Rn,TabPane:s0,Tabs:r0,MapSvgIcon:sp.MapSvgIcon,MapSvgSpriteColor:sp.MapSvgSpriteColor,PrimitiveControls:Yx,ScaffoldTooltip:aw,ElIconWarningFilled:pm,ElIconArrowDown:Du,ElIconArrowLeft:ji,DrawToolbar:fu.DrawToolbar,ScaffoldTreeControls:Jx},setup(n){return{annotator:a.markRaw(new BV(`${n.flatmapAPI}annotator`))}},props:{url:{type:String,default:""},showColourPicker:{type:Boolean,default:!1},displayUI:{type:Boolean,default:!0},displayAtStartUp:{type:Boolean,default:!0},helpMode:{type:Boolean,default:!1},helpModeActiveItem:{type:Number,default:0},helpModeDialog:{type:Boolean,default:!1},helpModeLastItem:{type:Boolean,default:!1},helpModeInitialIndex:{type:Number,default:0},displayWarning:{type:Boolean,default:!0},warningMessage:{type:String,default:"Beta feature - under active development"},displayLatestChanges:{type:Boolean,default:!1},latestChangesMessage:{type:String,default:"New feature - Local search is now available"},displayMarkers:{type:Boolean,default:!1},markerCluster:{type:Boolean,default:!1},markerLabels:{type:Object,default:function(){return{}}},displayMinimap:{type:Boolean,default:!1},format:{type:String,default:"metadata"},minimapSettings:{type:Object,default:function(){return{x_offset:16,y_offset:16,width:128,height:128,align:"top-right"}}},enableOpenMapUI:{type:Boolean,default:!1},openMapOptions:{type:Array,default:function(){return[{display:"Open AC Map",key:"AC"},{display:"Open FC Map",key:"FC"},{display:"Open 3D Human Map",key:"3D"}]}},state:{type:Object,default:void 0},region:{type:String,default:""},viewURL:{type:String,default:""},render:{type:Boolean,default:!0},flatmapAPI:{type:String,default:"https://mapcore-demo.org/current/flatmap/v3/"},enableLocalAnnotations:{type:Boolean,default:!1},sparcAPI:{type:String,default:"https://api.sparc.science/"},imageThumbnailSidebar:{type:Boolean,default:!1}},provide(){return{flatmapAPI:this.flatmapAPI,scaffoldUrl:this.url,$annotator:this.annotator,boundingDims:this.boundingDims,getFeaturesAlert:()=>{}}},data:function(){return{annotator:void 0,createData:{drawingBox:!1,toBeConfirmed:!1,points:[],shape:"",x:0,y:0,editingIndex:-1,faceIndex:-1,toBeDeleted:!1},currentTime:0,timeVarying:!1,isPlaying:!1,isReady:!1,isTransitioning:!1,tooltipAppendToBody:!1,hoverVisibilities:[{value:!1,ref:"zoomInPopover"},{value:!1,ref:"zoomOutPopover"},{value:!1,ref:"zoomFitPopover"},{value:!1,ref:"openMapPopover"},{value:!1,ref:"settingsPopover"},{value:!1,ref:"sliderPopover"},{value:!1,ref:"regionVisibilityPopover"},{value:!1,ref:"warningPopover"},{value:!1,ref:"whatsNewPopover"},{value:!1,refs:"toolbarPopover",ref:"editPopover"},{value:!1,refs:"toolbarPopover",ref:"pointPopover"},{value:!1,refs:"toolbarPopover",ref:"lineStringPopover"},{value:!1,refs:"toolbarPopover",ref:"deletePopover"}],inHelp:!1,helpModeActiveIndex:this.helpModeInitialIndex,loading:!1,duration:3e3,drawerOpen:!0,currentBackground:"white",availableBackground:["white","lightskyblue","black"],minimisedSlider:!1,sliderPosition:"",timeMax:100,orginalDuration:"",animateDuration:"6secs",playSpeed:[{value:.1,label:"0.1x"},{value:.5,label:"0.5x"},{value:1,label:"1x"},{value:2,label:"2x"},{value:5,label:"5x"},{value:10,label:"10x"}],currentSpeed:1,timeStamps:{},defaultCheckedKeys:[],tData:{label:"",region:"",visible:!1,x:200,y:200,active:!1},fileFormat:"metadata",markerLabelEntry:a.markRaw({}),previousMarkerLabelEntry:a.markRaw({}),viewingMode:"Exploration",viewingModes:{Exploration:"View and explore detailed visualization of 3D scaffolds",Annotation:"View internal identifiers of features"},openMapRef:void 0,backgroundIconRef:void 0,userInformation:void 0,toolbarOptions:["Delete","Edit","Point","LineString"],activeDrawTool:void 0,activeDrawMode:void 0,localAnnotationsList:a.markRaw([]),boundingDims:{centre:[0,0,0],size:[1,1,1]},imageRadio:!1,imageType:"Image",imageTypes:["Image","Segmentation","Scaffold","Plot"],imageClicked:""}},watch:{format:{handler:function(n){this.fileFormat=n},immediate:!0},url:{handler:function(n){(this.state===void 0||this.state.url===void 0)&&this.setURL(n)},immediate:!0},region:{handler:function(n){this.state||this.viewURL||this.setFocusedRegion(n)},immediate:!0},state:{handler:function(n){this.setState(n)},immediate:!0,deep:!0},viewURL:{handler:function(n){this.updateViewURL(n)},immediate:!0},helpMode:function(n,e){n!==e&&this.setHelpMode(n)},helpModeActiveItem:function(){this.helpMode&&(this.helpModeActiveIndex+=1,this.setHelpMode(this.helpMode))},displayMarkers:function(n){this.$module.scene.displayMarkers=n,this.$module.scene.forcePickableObjectsUpdate=!0},displayMinimap:function(n){this.$module.scene.displayMinimap=n},currentTime:{handler:function(){this.$emit("timeChanged",this.currentTime)}},duration:function(){this.$module.scene.setDuration(this.duration)},minimapSettings:{deep:!0,handler:"updateMinimapScissor"},render:function(n){this.toggleRendering(n)},markerCluster:{handler:function(n){this.$module.scene.enableMarkerCluster(n)},immediate:!0},markerLabels:function(n){this.markerLabelEntry=a.markRaw({...n})},markerLabelEntry:function(n){for(const[e,t]of Object.entries(this.previousMarkerLabelEntry))this.setMarkerModeForObjectsWithName(e,t,"off");for(const[e,t]of Object.entries(n))this.setMarkerModeForObjectsWithName(e,t,"on");this.previousMarkerLabelEntry=a.markRaw({...n})}},beforeCreate:function(){this.$module=new cw,this.selectedObjects=[],this.hoveredObjects=[],this.currentBackground="white",this._currentURL=void 0,this.availableBackground=["white","black","lightskyblue"],this.$_searchIndex=new sk},mounted:function(){this.openMapRef=a.shallowRef(this.$refs.openMapRef),this.backgroundIconRef=a.shallowRef(this.$refs.backgroundIconRef),this.$refs.scaffoldTreeControls.setModule(this.$module);let n=new kV;n.subscribe(this,this.eventNotifierCallback),this.$module.addNotifier(n),this.$module.addOrganPartAddedCallback(this.zincObjectAdded),this.$module.addOrganPartRemovedCallback(this.zincObjectRemoved),this.$module.initialiseRenderer(this.$refs.display),this.toggleRendering(this.render),this.ro=new ResizeObserver(this.adjustLayout).observe(this.$refs.scaffoldContainer),this.helpTextWait=[],this.helpTextWait.length=this.hoverVisibilities.length,this.defaultRate=this.$module.getPlayRate(),this.$module.zincRenderer.addPreRenderCallbackFunction(()=>{this.currentTime=this.$module.getCurrentTime()})},beforeUnmount:function(){this.ro&&this.ro.disconnect(),this.$module.destroy(),this.$module=void 0},computed:{...sw(ow,["userToken"]),...AV(ok),annotationDisplay:function(){return this.viewingMode==="Annotation"&&this.tData.active===!0&&(this.activeDrawMode==="Edit"||this.activeDrawMode==="Delete")},imageThumbnailsEntry:function(){return this.imageClicked?this.convertUberonToName():{}}},methods:{addZincObject:function(n){this.$module.scene&&this.$module.scene.addZincObject(n)},zincObjectAdded:function(n){this.loading=!1,this.$_searchIndex.addZincObject(n,n.uuid),this.timeVarying===!1&&n.isTimeVarying()&&(this.timeVarying=!0),this.$emit("zinc-object-added",n)},removeFromLocalAnnotationList:function(n,e){for(let t=0;t<this.localAnnotationsList.length;t++){const i=this.localAnnotationsList[t];if(i.region===n&&i.group===e){this.localAnnotationsList.splice(t,1);return}}},zincObjectRemoved:function(n){if(this.$module.scene){const e=n.region.getFullPath(),t=n.groupName;n.region.findObjectsWithGroupName(t,!1).length===0&&(this.$_searchIndex.removeZincObject(n,n.uuid),this.removeFromLocalAnnotationList(e,t))}},addRegionsToSearchIndex:function(){this.$module.scene.getRootRegion().getChildRegions(!0).forEach(t=>{this.$_searchIndex.addRegion(t,t.uuid)})},backgroundChangeCallback:function(n){this.currentBackground=n,this.$module.zincRenderer.getThreeJSRenderer().setClearColor(this.currentBackground,1)},captureScreenshotCallback:function(){this.$module.zincRenderer.removePostRenderCallbackFunction(this.captureID);let n=this.$module.zincRenderer.getThreeJSRenderer().domElement.toDataURL("image/png"),e=document.createElement("a");document.body.append(e),this.captureFilename?e.download=this.captureFilename:e.download="screenshot.png",e.href=n,e.click(),e.remove()},captureScreenshot:function(n){this.captureFilename=n,this.captureID=this.$module.zincRenderer.addPostRenderCallbackFunction(this.captureScreenshotCallback)},clearScene:function(){this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.$_searchIndex&&this.$_searchIndex.removeAll(),this.$module.scene&&this.$module.scene.clearAll()},addAndEditAnnotations:function(n,e,t,i){const r=Gx(this.annotator,this.userToken,t,n,e,this.url,i);if(this.enableLocalAnnotations){r.group=e;let s=n;s.slice(-1)==="/"&&(s=s.slice(0,-1)),r.region=s,this.removeFromLocalAnnotationList(s,e),this.localAnnotationsList.push(r)}this.$emit("userPrimitivesUpdated",{region:n,group:e,zincObject:t})},primitivesUpdated:function(n){if(n.isZincObject&&n.isEditable){const e=n.groupName,t=n.region.getFullPath();this.addAndEditAnnotations(t,e,n,"Position Updated")}},confirmCreate:function(n){if(n){let e;if(n.shape==="Point")e=this.$module.scene.createPoints(n.region,n.group,this.createData.points,n.group,8942);else if(n.shape==="LineString")e=this.$module.scene.createLines(n.region,n.group,[this.createData.points[0],this.createData.points[1]],60962);else if(n.editingIndex>-1&&this._editingZincObject){this._editingZincObject.editVertices([this.createData.points[1]],n.editingIndex);const t=this._editingZincObject.region.getFullPath()+"/",i=this._editingZincObject.groupName;this.addAndEditAnnotations(t,i,this._editingZincObject,"Position Updated")}e&&(this.addAndEditAnnotations(n.region,n.group,e.zincObject,"Create"),e.zincObject.isEditable=!0,this.tData.region=n.region,this.tData.label=n.group,this.changeActiveByName([n.group],n.region,!1))}this.cancelCreate()},cancelCreate:function(){this.createData.points.length=0,this.createData.toBeConfirmed=!1,this._editingZincObject=void 0,this.createData.editingIndex=-1,this.createData.faceIndex=-1,this.tData.visible=!1,this.createData.toBeDeleted=!1,this._tempLine&&(this.$module.scene.removeTemporaryPrimitive(this._tempLine),this._tempLine=void 0),this._tempPoint&&(this.$module.scene.removeTemporaryPrimitive(this._tempPoint),this._tempPoint=void 0)},confirmDelete:function(){var n;if((n=this._editingZincObject)!=null&&n.isEditable){const e=this._editingZincObject.region.getFullPath()+"/",t=this._editingZincObject.groupName;Gx(this.annotator,this.userToken,this._editingZincObject,e,t,this.url,"Deleted")&&this.$module.scene.getRootRegion().findChildFromPath(e).removeZincObject(this._editingZincObject)}this.cancelCreate()},formatTooltip(n){if(this.timeMax>=1e3&&n){let e=(n%6e4/1e3).toFixed(2)+"s";return(n>6e4?(n/6e4).toFixed(0)+"m ":"")+e}return n?n.toFixed(2)+" ms":"0 ms"},fitWindow:function(){if(this.$module.scene){let n=!1;this._boundingBoxGeo&&(n=this._boundingBoxGeo.getVisibility(),this._boundingBoxGeo.setVisibility(!1)),this.$module.scene.viewAll(),this._boundingBoxGeo&&(YF(this._boundingBoxGeo,this.$module.scene),this._boundingBoxGeo.setVisibility(n))}},zoomIn:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(-1)},zoomOut:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(1)},speedChanged:function(n){this.currentSpeed=n,this.$module.setPlayRate(this.defaultRate*this.currentSpeed)},stopFreeSpin:function(){this.$module.scene.getZincCameraControls().stopAutoTumble(),this.isTransitioning=!1},findObjectsWithGroupName:function(n){let e=[];return n&&n!=""&&this.$module.scene&&(e=this.$module.scene.findObjectsWithGroupName(n)),e},toggleDrawing:function(n,e){this.createData.toBeDeleted=!1,n==="mode"?(this.activeDrawMode=e,this.createData.shape="",this.$module.selectObjectOnPick=!0):n==="tool"&&(this.activeDrawTool=e,this.createData.shape=this.activeDrawTool,this.$module.selectObjectOnPick=!1)},toggleDrawingBox:function(){this.createData.drawingBox=!this.createData.drawingBox},viewRegion:function(n){const e=this.$module.scene.getRootRegion(),t=Array.isArray(n)?n:[n],i=Ro(e,t,"",!0);let r=this.$module.scene.getBoundingBoxOfZincObjects(i);if(r){if(this.$module.isSyncControl())this.$module.setSyncControlZoomToBox(r);else{const s=this.$module.scene.camera.far-this.$module.scene.camera.near;this.$module.scene.viewAllWithBoundingBox(r),this.$module.scene.camera.far=this.$module.scene.camera.near+s,this.$module.scene.camera.updateProjectionMatrix()}return!0}return!1},setFocusedRegion:function(n){n&&(this.isReady?this.viewRegion(n):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({region:n})))},updateViewURL:function(n){if(n)if(this.isReady){const e=new URL(n,this.url);this.$module.scene.loadViewURL(e)}else this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewURL:n}))},createEditTemporaryLines:function(n){if(n&&(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.createData.points.length===1)if(this._tempLine){const e=this._tempLine.geometry.getAttribute("position");e.setXYZ(1,n[0],n[1],n[2]),e.needsUpdate=!0}else this._tempLine=this.$module.scene.addTemporaryLines([this.createData.points[0],n],65535)},draw:function(n){n&&n.length>0&&n[0].data.group&&n[0].extraData.worldCoords&&(this.createData.shape==="Point"?this.drawPoint(n[0].extraData.worldCoords,n):(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.drawLine(n[0].extraData.worldCoords,n))},drawPoint:function(n,e){this.createData.toBeConfirmed===!1&&(this.createData.points.length=0,this.createData.points.push(n),this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this._tempPoint=this.$module.scene.addTemporaryPoints([n],16776960),this.createData.toBeConfirmed=!0)},drawLine:function(n,e){this.createData.toBeConfirmed===!1&&(this.createData.points.length===1?(this.createData.points.push(n),this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this.createData.toBeConfirmed=!0):(this._tempPoint=this.$module.scene.addTemporaryPoints([n],16776960),this.createData.points.push(n)))},getRendererInfo:function(){if(this.$module.zincRenderer)return this.$module.zincRenderer.getThreeJSRenderer().info},freeSpin:function(){if(this.$module.scene){let n=this.$module.scene.getZincCameraControls();this.isTransitioning=!0,n.enableAutoTumble(),n.autoTumble([1,0],Math.PI,!0),setTimeout(this.stopFreeSpin,4e3)}},activateAnnotationMode:function(n,e){if(this.userInformation||this.enableLocalAnnotations)if(this.createData.toBeDeleted=!1,this.createData.shape!==""||this.createData.editingIndex>-1)n.length>0&&e.identifiers[0].coords&&(this.createData.x=e.identifiers[0].coords.x,this.createData.y=e.identifiers[0].coords.y,this.draw(e.identifiers));else{if(this.activeDrawMode==="Edit"){const t=$F(e);t&&this.activateEditingMode(t.zincObject,t.faceIndex,t.vertexIndex,t.point)}else if(this.activeDrawMode==="Delete"){const t=ZF(e);t&&(this.createData.toBeDeleted=!0,this._editingZincObject=t)}this.activeDrawMode==="Edit"||this.activeDrawMode==="Delete"?(this.showRegionTooltipWithAnnotations(e.identifiers,!0,!1),this.tData.x=50,this.tData.y=200):this.showRegionTooltipWithAnnotations(e.identifiers,!0,!0)}else this.showRegionTooltipWithAnnotations(e.identifiers,!0,!0)},activateEditingMode:function(n,e,t,i){this._editingZincObject=n,this.createData.faceIndex=e,this.createData.editingIndex=t,this.drawLine(i,void 0)},eventNotifierCallback:function(n){if(!(this.createData.toBeConfirmed||this.createData.toBeDeleted)){const e=[];let t=[];if((n.eventType==1||n.eventType==2)&&(n.identifiers.forEach(i=>{if(i){let r=i.data.id?i.data.id:i.data.group;e.push(r)}}),t=n.zincObjects),n.eventType==1)this.viewingMode==="Annotation"?this.activateAnnotationMode(e,n):(this.$refs.scaffoldTreeControls&&(e.length>0?(this.$refs.scaffoldTreeControls.updateActiveUI(t),this.updatePrimitiveControls(t)):(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls.removeActive(!1))),this.imageRadio&&n.identifiers.length&&n.identifiers[0]?this.imageClicked=n.identifiers[0].data.id?n.identifiers[0].data.id:n.identifiers[0].data.group:this.imageClicked="",this.$emit("scaffold-selected",n.identifiers));else if(n.eventType==2){if(this.selectedObjects.length===0){if(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls&&(e.length>0?this.$refs.scaffoldTreeControls.updateHoverUI(t):this.$refs.scaffoldTreeControls.removeHover(!0)),n.identifiers.length>0&&n.identifiers[0]){let i=n.identifiers[0].data.id?n.identifiers[0].data.id:n.identifiers[0].data.group;n.identifiers[0].coords&&(this.tData.active=!1,this.tData.visible=!0,this.tData.label=i,n.identifiers[0].data.region?this.tData.region=n.identifiers[0].data.region:this.tData.region=void 0,this.tData.x=n.identifiers[0].coords.x,this.tData.y=n.identifiers[0].coords.y,this.createEditTemporaryLines(n.identifiers[0].extraData.worldCoords))}this.$emit("scaffold-highlighted",n.identifiers)}}else if(n.eventType==3&&n.identifiers.length>0&&n.identifiers[0]){if(n.identifiers[0].coords){const r=this.$refs.scaffoldContainer.getBoundingClientRect();this.tData.x=n.identifiers[0].coords.x-r.left,this.tData.y=n.identifiers[0].coords.y-r.top,this.createEditTemporaryLines(n.identifiers[0].extraData.worldCoords)}this.createEditTemporaryLines(n.identifiers[0].extraData.worldCoords);const i=n.identifiers[0].data.id?n.identifiers[0].data.id:n.identifiers[0].data.group;this.imageClicked!==i&&(this.imageClicked="")}}},getCoordinatesOfSelected:function(){if(this.selectedObjects&&this.selectedObjects.length>0)return this.$module.scene.getObjectsScreenXY(this.selectedObjects)},getDynamicSelectedCoordinates:function(){return this.$module.selectedScreenCoordinates},timeChange:function(n){let e=n/this.timeMax*100;e!=this.currentTime&&this.$module.updateTime(e)},updatePrimitiveControls:function(n){this.selectedObjects=n,this.selectedObjects&&this.selectedObjects.length>0?this.$refs.primitiveControls.setObject(this.selectedObjects[0]):this.$refs.primitiveControls.setObject(void 0)},objectSelected:function(n,e){this.updatePrimitiveControls(n),this.$module.setSelectedByZincObjects(n,void 0,{},e)},objectHovered:function(n,e){this.hoveredObjects=n,this.$module.setHighlightedByZincObjects(n,void 0,{},e)},changeActiveByName:function(n,e,t){const i=Array.isArray(n);if(n===void 0||i&&n.length===0)this.$refs.scaffoldTreeControls.removeActive(t);else{let r=n;i||(r=[r]),this.$refs.scaffoldTreeControls.changeActiveByNames(r,e,t)}},changeHighlightedByName:function(n,e,t){const i=Array.isArray(n);if(n===void 0||i&&n.length===0)this.$refs.scaffoldTreeControls.removeHover(t);else{let r=n;i||(r=[r]),this.$refs.scaffoldTreeControls.changeHoverByNames(r,e,t)}},play:function(n){this.$module.playAnimation(n),this.isPlaying=n},setHelpMode:function(n){const e=this.hoverVisibilities.length,t=e-1,i=this.hoverVisibilities[this.helpModeActiveIndex];if(i){const r=i==null?void 0:i.refs,s=i==null?void 0:i.ref;this.$refs[r||s]||(this.helpModeActiveIndex+=1)}n||(this.helpModeActiveIndex=this.helpModeInitialIndex),n&&this.helpModeActiveIndex>=t&&this.$emit("help-mode-last-item",!0),n&&!this.helpModeDialog?(this.inHelp=!0,this.hoverVisibilities.forEach(r=>{r.value=!0})):n&&this.helpModeDialog&&e>this.helpModeActiveIndex?this.helpModeActiveIndex>-1&&setTimeout(()=>{this.inHelp=!1,this.hoverVisibilities.forEach(r=>{r.value=!1}),this.showHelpText(this.helpModeActiveIndex,200)},300):(this.inHelp=!1,this.hoverVisibilities.forEach(r=>{r.value=!1}))},displayTooltipOfObjectsCallback:function(n,e,t,i,r){const s=this;return function(){s.$module.zincRenderer.removePostRenderCallbackFunction(s.$_regionTooltipCallback),s.$_regionTooltipCallback=void 0,s.displayTooltipOfObjects(n,e,t,i,r)}},liveUpdateTooltipPosition:function(){this.$module.selectedCenter&&(this.tData.x=this.$module.selectedScreenCoordinates.x,this.tData.y=this.$module.selectedScreenCoordinates.y)},displayTooltipOfObjects:function(n,e,t,i,r){if(e.length>0){let s=e[0].getClosestVertexDOMElementCoords(this.$module.scene);if(s)return s.inView?(n.includes("Search Results for")?this.tData.active=!1:this.tData.active=!0,this.tData.visible=!0,this.tData.label=n,this.tData.x=s.position.x,this.tData.y=s.position.y,this.tData.region=t,this.$_liveCoordinatesUpdated&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),r&&(this.$module.setupLiveCoordinates(e),this.$_liveCoordinatesUpdated=this.$module.zincRenderer.addPostRenderCallbackFunction(this.liveUpdateTooltipPosition))):(this.hideRegionTooltip(),i&&(this.$module.scene.viewAll(),this.$_regionTooltipCallback&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_regionTooltipCallback),this.$_regionTooltipCallback=this.$module.zincRenderer.addPostRenderCallbackFunction(this.displayTooltipOfObjectsCallback(n,e,t,i,r)))),!0}return this.hideRegionTooltip(),!1},showRegionTooltipWithObjects:function(n,e,t,i,r){return n&&e&&e.length>0&&this.$module.scene?this.displayTooltipOfObjects(n,e,t,i,r):(this.hideRegionTooltip(),!1)},showRegionTooltip:function(n,e,t){if(n&&this.$module.scene){const i=this.$module.scene.getRootRegion(),s=Ro(i,[n],"",!0);let o;return s&&s.length>0&&(o=s[0].getRegion().getFullPath()),this.showRegionTooltipWithObjects(n,s,o,e,t)}return this.hideRegionTooltip(),!1},showRegionTooltipWithAnnotations:function(n,e,t){if(this.$module.scene){const i=Ux(this.$module.scene,n);if(i&&i.objects.length>0)return this.showRegionTooltipWithObjects(i.label,i.objects,i.regionPath,e,t)}return this.hideRegionTooltip(),!1},changeViewingMode:function(n){if(this.$module){if(n&&(this.viewingMode=n),this.viewingMode==="Annotation"){let e=!1;this.userInformation&&(e=!0),this.userInformation=void 0,this.annotator.authenticate(this.userToken).then(t=>{t.name&&t.email&&(this.userInformation=t,e||eV(this.annotator,this.userToken,this.url).then(i=>{i&&i.features&&Hx(this.$module.scene,i.features)}))})}else this.viewingMode==="Exploration"&&(this.activeDrawTool=void 0,this.activeDrawMode=void 0,this.createData.shape="");this.viewingMode==="Exploration"||this.viewingMode==="Annotation"&&this.createData.shape===""?this.$module.selectObjectOnPick=!0:this.$module.selectObjectOnPick=!1,this.cancelCreate()}},hideRegionTooltip:function(){this.$_liveCoordinatesUpdated&&(this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),this.$module.setupLiveCoordinates(void 0)),this.tData.active=!1,this.tData.visible=!1,this.tData.region=void 0},setMarkerModeForObjectsWithName:function(n,e,t){if(n&&this.$module.scene){let i=e;typeof e=="number"&&(i={number:e,imgURL:void 0});const r=this.$module.scene.getRootRegion();Ro(r,[n],"",!0).forEach(l=>l.setMarkerMode(t,i))}},setMarkerModeWithAnnotations:function(n,e){if(this.$module.scene){const t=Ux(this.$module.scene,n);t&&t.objects.length>0&&t.objects.forEach(i=>i.setMarkerMode(e))}},showHelpText:function(n,e=500){this.inHelp||(clearTimeout(this.helpTextWait[n]),this.helpTextWait[n]=setTimeout(()=>{this.hoverVisibilities[n].value=!0,this.$emit("shown-tooltip")},e))},hideHelpText:function(n,e=500){this.inHelp||(clearTimeout(this.helpTextWait[n]),this.helpTextWait[n]=setTimeout(()=>{this.hoverVisibilities[n].value=!1},e))},search:function(n,e){if(this.$_searchIndex){if(n===void 0||n===""||Array.isArray(n)&&n.length===0)return this.objectSelected([],!0),!1;{const t=this.$_searchIndex.searchAndProcessResult(n),i=t.zincObjects;if(i.length>0){if(this.objectSelected(i,!0),e)for(let r=0;r<i.length;r++)i[r]&&i[r].groupName&&this.showRegionTooltipWithObjects(t.label,i,t.regionPath,!0,!0);return!0}else this.objectSelected([],!0)}}return!1},fetchSuggestions:function(n){return this.$_searchIndex===void 0?[]:this.$_searchIndex.auto_suggest(n)},updateMinimapScissor:function(){Object.keys(this.minimapSettings).forEach(n=>{this.$module.scene.minimapScissor[n]=this.minimapSettings[n]}),this.$module.scene.minimapScissor.updateRequired=!0},updateSettingsfromScene:function(){this.currentSpeed=1,this.$module.setPlayRate(this.defaultRate),this.orginalDuration=this.$module.scene.getMetadataTag("OriginalDuration"),this.animateDuration=this.$module.scene.getMetadataTag("Duration");let n=this.$module.scene.getMetadataTag("TimeStamps");this.timeStamps={};for(const e in n)this.timeStamps[n[e]]=e;this.timeMax=this.$module.scene.getDuration()},setURLFinishCallback:function(n){return()=>{if(n){if(n.viewport)this.$module.scene.getZincCameraControls().setCurrentCameraSettings(n.viewport);else if(n.viewURL&&n.viewURL!==""){const i=new URL(n.viewURL,this.url);this.$module.scene.loadViewURL(i)}else n.region&&n.region!==""&&this.viewRegion(n.region);n.visibility&&this.$nextTick(()=>{this.$refs.scaffoldTreeControls.setState(n.visibility)})}this.localAnnotationsList.length=0,this.updateSettingsfromScene(),this.$module.updateTime(.01),this.$module.updateTime(0),this.$module.unsetFinishDownloadCallback(),this.addRegionsToSearchIndex(),this.$emit("on-ready"),this.setMarkers(),this._boundingBoxGeo=this.$module.scene.addBoundingBoxPrimitive("_helper","boundingBox",4251856,.15),this._slides=this.$module.scene.addSlicesPrimitive("_helper",["x-plane","y-plane","z-plane"],[16733525,5635925,5592575],.5);const{centre:e,size:t}=this.$module.getCentreAndSize();this.boundingDims.centre=e,this.boundingDims.size=t,this.isReady=!0}},getState:function(){let n={format:this.fileFormat,url:this._currentURL,viewport:void 0,visibility:void 0};if(this.$refs.scaffoldTreeControls&&(n.visibility=this.$refs.scaffoldTreeControls.getState()),this.$module.scene){let e=this.$module.scene.getZincCameraControls();n.viewport=e.getCurrentViewport()}return n},setState:function(n){n&&(n.url&&n.url!==this._currentURL?this.setURLAndState(n.url,{fileFormat:n.fileFormat,viewport:n.viewport,visibility:n.visibility}):(n.viewport||n.visibility)&&(this.isReady&&this.$module.scene?(n.viewport&&this.$module.scene.getZincCameraControls().setCurrentCameraSettings(n.viewport),n.visibility&&this.$refs.scaffoldTreeControls.setState(n.visibility)):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewport:n.viewport,visibility:n.visibility}))))},exportGLTF:function(n){return this.$module.scene.exportGLTF(n)},getLocalAnnotations:function(){return[...this.localAnnotationsList]},importLocalAnnotations:function(n){if(this.enableLocalAnnotations){n.forEach(t=>{const i=t.group,r=t.region;let s=r.slice(-1)==="/"?r:r+"/";const o=s.slice(0,-1);t.region=o,s=s+i;const l=encodeURIComponent(s);t.item.id=l,t.feature.id=l});const e=n.map(t=>t.feature);Hx(this.$module.scene,e),n.forEach(t=>{this.localAnnotationsList.push({...t})})}},setURLAndState:function(n,e){if(n!=this._currentURL){e&&e.format&&(this.fileFormat=e.format);let t=e&&e.viewport?e.viewport:void 0,i=e&&e.visibility?e.visibility:void 0;this._currentURL=n,this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.loading=!0,this.timeVarying=!1,this.isReady=!1,this.$_searchIndex.removeAll(),this.hideRegionTooltip(),this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewport:t,region:this.region,viewURL:this.viewURL,visibility:i})),this.fileFormat==="gltf"?this.$module.loadGLTFFromURL(n,"scene",!0):this.$module.loadOrgansFromURL(n,void 0,void 0,"scene",void 0,!0),this.$module&&this.$module.scene&&(this.$module.scene.displayMarkers=this.displayMarkers,this.$module.scene.forcePickableObjectsUpdate=!0,this.$module.scene.displayMinimap=this.displayMinimap,this.updateMinimapScissor())}},setURL:function(n){this.setURLAndState(n,void 0)},drawerToggled:function(n){this.drawerOpen=n,this.adjustLayout()},adjustLayout:function(){if(this.$refs.scaffoldContainer){let n=this.$refs.scaffoldContainer.clientWidth;this.minimisedSlider=n<812,this.minimisedSlider?this.sliderPosition=this.drawerOpen?"right":"left":this.sliderPosition=""}},toggleRendering:function(n){this.$module.zincRenderer&&(n?this.$module.zincRenderer.animate():this.$module.zincRenderer.stopAnimate())},forceResize:function(){this.$module.zincRenderer&&this.$module.zincRenderer.onWindowResize()},syncControlCallback:function(){const n=this.$module.NDCCameraControl.getPanZoom();this.tData.visible&&this.showRegionTooltip(this.tData.label,!0,!0),this.$emit("scaffold-navigated",n)},toggleSyncControl:function(n,e){this.$module.toggleSyncControl(n,e),this.$module.setSyncControlCallback(this.syncControlCallback)},setMarkers:function(){for(const[n,e]of Object.entries(this.markerLabelEntry))this.setMarkerModeForObjectsWithName(n,e,"on")},removeImageThumbnails:function(){this.imageThumbnails={},this.markerLabelEntry=a.markRaw(this.markerLabels)},setImage:function(n){n?this.setImageType(this.imageType):this.removeImageThumbnails()},setImageType:async function(n){this.imageType=n,this.settingsStore.imageTypeCached(n)||(this.loading=!0,await this.fetchImageThumbnails(n),this.loading=!1),this.populateImageThumbnails(n)},fetchImageThumbnails:async function(n){let e={};const t=this.settingsStore.organCuries;n==="Image"?e=await lk(this.sparcAPI,t,n):n==="Segmentation"?e=await uk(this.sparcAPI,t,n):n==="Scaffold"?e=await hk(this.sparcAPI,t,n):n==="Plot"&&(e=await pk(this.sparcAPI,t,n)),this.settingsStore.updateImageThumbnails(n,e)},convertUberonToName:function(){const n=this.settingsStore.organCuries,e=n.filter(i=>i.name in this.markerLabels).map(i=>i.id),t=this.settingsStore.getImageThumbnails(this.imageType,e);return Object.assign({},Object.fromEntries(Object.entries(t).map(([i,r])=>[n.filter(s=>s.id===i)[0].name,r])))},populateImageThumbnails:async function(n){this.removeImageThumbnails();const e=this.convertUberonToName();this.loading=!0,this.markerLabelEntry=a.markRaw(await this.populateMapWithImages(e,n)),this.loading=!1},onImageThumbnailOpen:function(n){this.$emit("image-thumbnail-open",n)}}},rp=n=>(a.pushScopeId("data-v-cba8fb5b"),n=n(),a.popScopeId(),n),gk={ref:"scaffoldContainer",class:"scaffold-container","element-loading-text":"Loading...","element-loading-background":"rgba(0, 0, 0, 0.3)"},yk=rp(()=>a.createElementVNode("span",{class:"message-text"},"Beta",-1)),vk=rp(()=>a.createElementVNode("span",{class:"message-text"},"What's new?",-1)),bk={class:"primitive-controls-box"},xk={class:"animation-data"},wk={class:"purple"},Mk={class:"animation-data"},Sk={class:"purple"},_k={class:"animation-data"},Tk={class:"bottom-right-control"},Ek=rp(()=>a.createElementVNode("div",null,[a.createTextVNode(" Fit to "),a.createElementVNode("br"),a.createTextVNode(" window ")],-1)),Ck={style:{"margin-bottom":"2px"}},Ak={key:0,class:"viewing-mode-title"},Rk=["onClick"],Lk=["onClick"];function Pk(n,e,t,i,r,s){const o=a.resolveComponent("map-svg-sprite-color"),l=aw,c=a.resolveComponent("DrawToolbar"),u=pm,f=bt,d=Dl,p=Jx,y=Yx,m=a.resolveComponent("map-svg-icon"),h=Rn,b=kn,v=s0,g=Rs,x=As,_=r0,E=Qi,S=h2,M=f2,T=fn,A=xd;return a.withDirectives((a.openBlock(),a.createElementBlock("div",gk,[a.createVNode(o),a.createVNode(l,{createData:n.createData,label:n.tData.label,region:n.tData.region,visible:n.tData.visible,x:n.tData.x,y:n.tData.y,annotationDisplay:s.annotationDisplay,imageThumbnailSidebar:t.imageThumbnailSidebar,imageThumbnails:s.imageThumbnailsEntry,onConfirmCreate:e[0]||(e[0]=C=>s.confirmCreate(C)),onCancelCreate:e[1]||(e[1]=C=>s.cancelCreate()),onConfirmDelete:e[2]||(e[2]=C=>s.confirmDelete(C)),onImageThumbnailOpen:s.onImageThumbnailOpen},null,8,["createData","label","region","visible","x","y","annotationDisplay","imageThumbnailSidebar","imageThumbnails","onImageThumbnailOpen"]),a.createElementVNode("div",{id:"organsDisplayArea",ref:"display",tabindex:"-1",style:{height:"100%",width:"100%"},onKeydown:e[3]||(e[3]=a.withKeys((...C)=>s.backgroundChangeCallback&&s.backgroundChangeCallback(...C),["66"]))},null,544),a.withDirectives(a.createElementVNode("div",null,[n.viewingMode==="Annotation"&&(n.userInformation||t.enableLocalAnnotations)?(a.openBlock(),a.createBlock(c,{key:0,toolbarOptions:n.toolbarOptions,activeDrawTool:n.activeDrawTool,activeDrawMode:n.activeDrawMode,hoverVisibilities:n.hoverVisibilities,onClickToolbar:s.toggleDrawing,onShowTooltip:s.showHelpText,onHideTooltip:s.hideHelpText,ref:"toolbarPopover"},null,8,["toolbarOptions","activeDrawTool","activeDrawMode","hoverVisibilities","onClickToolbar","onShowTooltip","onHideTooltip"])):a.createCommentVNode("",!0),t.displayWarning?(a.openBlock(),a.createBlock(d,{key:1,ref:"warningPopover",visible:n.hoverVisibilities[7].value,content:t.warningMessage,placement:"right",width:"max-content",teleported:!1,"popper-class":"scaffold-popper message-popper right-popper non-selectable"},{reference:a.withCtx(()=>[t.displayWarning?(a.openBlock(),a.createElementBlock("div",{key:0,class:"message-icon warning-icon",onMouseover:e[4]||(e[4]=C=>s.showHelpText(7)),onMouseout:e[5]||(e[5]=C=>s.hideHelpText(7))},[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(u)]),_:1}),yk],32)):a.createCommentVNode("",!0)]),_:1},8,["visible","content"])):a.createCommentVNode("",!0),t.displayLatestChanges?(a.openBlock(),a.createBlock(d,{key:2,visible:n.hoverVisibilities[8].value,content:t.latestChangesMessage,placement:"right",teleported:!1,trigger:"manual","popper-class":"scaffold-popper message-popper right-popper non-selectable",ref:"whatsNewPopover"},{reference:a.withCtx(()=>[t.displayLatestChanges&&t.latestChangesMessage?(a.openBlock(),a.createElementBlock("div",{key:0,class:"el-icon-warning message-icon latest-changesicon",onMouseover:e[6]||(e[6]=C=>s.showHelpText(8)),onMouseout:e[7]||(e[7]=C=>s.hideHelpText(8))},[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(u)]),_:1}),vk],32)):a.createCommentVNode("",!0)]),_:1},8,["visible","content"])):a.createCommentVNode("",!0),a.createVNode(d,{visible:n.hoverVisibilities[6].value,content:"Change region visibility",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"regionVisibilityPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{ref:"scaffoldTreeControls",isReady:n.isReady,"show-colour-picker":t.showColourPicker,onObjectSelected:s.objectSelected,onObjectHovered:s.objectHovered,onDrawerToggled:s.drawerToggled},null,8,["isReady","show-colour-picker","onObjectSelected","onObjectHovered","onDrawerToggled"])]),_:1},8,["visible"]),a.createElementVNode("div",bk,[a.createVNode(y,{ref:"primitiveControls",createData:n.createData,onPrimitivesUpdated:s.primitivesUpdated},null,8,["createData","onPrimitivesUpdated"])]),n.timeVarying?(a.openBlock(),a.createBlock(d,{key:3,ref:"sliderPopover",width:"max-content",visible:n.hoverVisibilities[5].value,content:"Move the slider to animate the region",placement:"top",teleported:!1,trigger:"manual","popper-class":"scaffold-popper top-popper non-selectable"},{reference:a.withCtx(()=>[n.timeVarying?(a.openBlock(),a.createElementBlock("div",{key:0,class:a.normalizeClass(["time-slider-container",[n.minimisedSlider?"minimised":"",n.sliderPosition]])},[a.createVNode(_,{type:"card"},{default:a.withCtx(()=>[a.createVNode(v,{label:"Animate scaffold"},{default:a.withCtx(()=>[a.createVNode(b,{class:"tab-content"},{default:a.withCtx(()=>[n.isPlaying?(a.openBlock(),a.createBlock(m,{key:0,icon:"pause",class:"icon-button video-button",onClick:e[8]||(e[8]=C=>s.play(!1))})):(a.openBlock(),a.createBlock(m,{key:1,icon:"play",class:"video-button icon-button",onClick:e[9]||(e[9]=C=>s.play(!0))})),a.createVNode(h,{min:0,max:n.timeMax,"model-value":n.currentTime/100*n.timeMax,step:.1,"tooltip-class":"time-slider-tooltip",class:"slider","format-tooltip":s.formatTooltip,marks:n.timeStamps,onInput:e[10]||(e[10]=C=>s.timeChange(C))},null,8,["max","model-value","format-tooltip","marks"])]),_:1})]),_:1}),a.createVNode(v,{label:"Animation data"},{default:a.withCtx(()=>[a.createVNode(b,{class:"tab-content"},{default:a.withCtx(()=>[a.createElementVNode("div",xk,[a.createTextVNode(" Original duration: "),a.createElementVNode("div",wk,a.toDisplayString(n.orginalDuration),1)]),a.createElementVNode("div",Mk,[a.createTextVNode(" Animation duration: "),a.createElementVNode("div",Sk,a.toDisplayString(n.animateDuration),1)]),a.createElementVNode("div",_k,[a.createTextVNode(" Playback speed "),a.createVNode(x,{teleported:!0,"model-value":n.currentSpeed,placeholder:"Select",class:"scaffold-select-box speed","popper-class":"scaffold_viewer_dropdown",onChange:e[11]||(e[11]=C=>s.speedChanged(C))},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.playSpeed,C=>(a.openBlock(),a.createBlock(g,{key:C.value,label:C.label,value:C.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"])])]),_:1})]),_:1})]),_:1})],2)):a.createCommentVNode("",!0)]),_:1},8,["visible"])):a.createCommentVNode("",!0),a.createElementVNode("div",Tk,[a.createVNode(d,{visible:n.hoverVisibilities[0].value,content:"Zoom in",width:"max-content",placement:"left",teleported:!1,trigger:"manual","popper-class":"scaffold-popper left-popper non-selectable",ref:"zoomInPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{icon:"zoomIn",class:"icon-button zoomIn",onClick:e[12]||(e[12]=C=>s.zoomIn()),onMouseover:e[13]||(e[13]=C=>s.showHelpText(0)),onMouseout:e[14]||(e[14]=C=>s.hideHelpText(0))})]),_:1},8,["visible"]),a.createVNode(d,{visible:n.hoverVisibilities[1].value,content:"Zoom out",placement:"top-end",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper popper-zoomout non-selectable",ref:"zoomOutPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{icon:"zoomOut",class:"icon-button zoomOut",onClick:e[15]||(e[15]=C=>s.zoomOut()),onMouseover:e[16]||(e[16]=C=>s.showHelpText(1)),onMouseout:e[17]||(e[17]=C=>s.hideHelpText(1))})]),_:1},8,["visible"]),a.createVNode(d,{visible:n.hoverVisibilities[2].value,placement:"top",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper non-selectable",ref:"zoomFitPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{icon:"fitWindow",class:"icon-button fitWindow",onClick:e[18]||(e[18]=C=>s.fitWindow()),onMouseover:e[19]||(e[19]=C=>s.showHelpText(2)),onMouseout:e[20]||(e[20]=C=>s.hideHelpText(2))})]),default:a.withCtx(()=>[Ek]),_:1},8,["visible"])]),n.openMapRef?(a.openBlock(),a.createBlock(d,{key:4,ref:"open-map-popover","virtual-ref":n.openMapRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"open-map-popper","virtual-triggering":""},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(t.openMapOptions,C=>(a.openBlock(),a.createBlock(b,{key:C.key},{default:a.withCtx(()=>[a.createVNode(E,{type:"primary",plain:"",onClick:R=>n.$emit("open-map",C.key)},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(C.display),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1},8,["virtual-ref"])):a.createCommentVNode("",!0),a.createVNode(d,{ref:"backgroundPopover","virtual-ref":n.backgroundIconRef,placement:"top-start",width:"330",teleported:!1,trigger:"click","popper-class":"background-popper non-selectable h-auto","virtual-triggering":""},{default:a.withCtx(()=>[a.createElementVNode("div",null,[a.createVNode(b,{class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode("Viewing Mode")]),_:1}),a.createVNode(b,{class:"backgroundChooser"},{default:a.withCtx(()=>[a.createElementVNode("div",Ck,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.viewingModes,(C,R,L)=>(a.openBlock(),a.createElementBlock(a.Fragment,{key:R},[R===n.viewingMode?(a.openBlock(),a.createElementBlock("span",Ak,[a.createElementVNode("b",null,a.toDisplayString(R),1)])):(a.openBlock(),a.createElementBlock("span",{key:1,class:"viewing-mode-unselected",onClick:I=>s.changeViewingMode(R)},a.toDisplayString(R),9,Rk))],64))),128))]),a.createVNode(b,{class:"viewing-mode-description"},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(n.viewingModes[n.viewingMode]),1)]),_:1})]),_:1}),n.viewingMode==="Exploration"?(a.openBlock(),a.createBlock(b,{key:0,class:"backgroundSpacer"})):a.createCommentVNode("",!0),n.viewingMode==="Exploration"?(a.openBlock(),a.createBlock(b,{key:1,class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode("Markers display")]),_:1})):a.createCommentVNode("",!0),n.viewingMode==="Exploration"?(a.openBlock(),a.createBlock(b,{key:2,class:"backgroundChooser"},{default:a.withCtx(()=>[a.createVNode(T,{span:14},{default:a.withCtx(()=>[a.createVNode(M,{modelValue:n.imageRadio,"onUpdate:modelValue":e[21]||(e[21]=C=>n.imageRadio=C),class:"flatmap-radio",onChange:s.setImage},{default:a.withCtx(()=>[a.createVNode(S,{value:!1},{default:a.withCtx(()=>[a.createTextVNode("Standard")]),_:1}),a.createVNode(S,{value:!0},{default:a.withCtx(()=>[a.createTextVNode("Image")]),_:1})]),_:1},8,["modelValue","onChange"])]),_:1}),n.imageRadio?(a.openBlock(),a.createBlock(T,{key:0,span:10},{default:a.withCtx(()=>[a.createVNode(x,{teleported:!1,modelValue:n.imageType,"onUpdate:modelValue":e[22]||(e[22]=C=>n.imageType=C),placeholder:"Select",class:"scaffold-select-box imageSelector","popper-class":"scaffold_viewer_dropdown",onChange:s.setImageType},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.imageTypes,C=>(a.openBlock(),a.createBlock(g,{key:C,label:C,value:C},{default:a.withCtx(()=>[a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(T,{span:12},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(C),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1})):a.createCommentVNode("",!0)]),_:1})):a.createCommentVNode("",!0),a.createVNode(b,{class:"backgroundSpacer"}),a.createVNode(b,{class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode(" Change background ")]),_:1}),a.createVNode(b,{class:"backgroundChooser"},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.availableBackground,C=>(a.openBlock(),a.createElementBlock("div",{key:C,class:a.normalizeClass(["backgroundChoice",C,C==n.currentBackground?"active":""]),onClick:R=>s.backgroundChangeCallback(C)},null,10,Lk))),128))]),_:1})])]),_:1},8,["virtual-ref"]),a.createElementVNode("div",{class:a.normalizeClass(["settings-group",{open:n.drawerOpen,close:!n.drawerOpen}])},[a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(d,{visible:n.hoverVisibilities[3].value,content:"Open new map",placement:"right",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper right-popper non-selectable",ref:"openMapPopover"},{reference:a.withCtx(()=>[t.enableOpenMapUI&&t.openMapOptions.length>0?(a.openBlock(),a.createBlock(m,{key:0,ref:"openMapRef",icon:"openMap",class:"icon-button open-map-button",onMouseover:e[23]||(e[23]=C=>s.showHelpText(3)),onMouseout:e[24]||(e[24]=C=>s.hideHelpText(3))},null,512)):a.createCommentVNode("",!0)]),_:1},8,["visible"])]),_:1}),a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(d,{visible:n.hoverVisibilities[4].value,content:"Change background color",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"settingsPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{ref:"backgroundIconRef",icon:"changeBckgd",class:"icon-button",onMouseover:e[25]||(e[25]=C=>s.showHelpText(4)),onMouseout:e[26]||(e[26]=C=>s.hideHelpText(4))},null,512)]),_:1},8,["visible"])]),_:1})],2)],512),[[a.vShow,t.displayUI&&!n.isTransitioning]])])),[[A,n.loading]])}const Ik=ui(mk,[["render",Pk],["__scopeId","data-v-cba8fb5b"]]);jt.ScaffoldVuer=Ik,Object.defineProperty(jt,Symbol.toStringTag,{value:"Module"})});
|
|
3463
|
+
This will fail in production if not fixed.`),n=n[0]),n.reduce((e,t)=>(e[t.$id+CV]=function(){return t(this.$pinia)},e),{})}function sw(n,e){return Array.isArray(e)?e.reduce((t,i)=>(t[i]=function(){return n(this.$pinia)[i]},t),{}):Object.keys(e).reduce((t,i)=>(t[i]=function(){const r=n(this.$pinia),s=e[i];return typeof s=="function"?s.call(this,r):r[s]},t),{})}const ow=rw("main",{state:()=>({userProfile:{token:""}}),getters:{userToken(n){return n.userProfile.token}},actions:{setUserToken(n){this.userProfile.token=n}}}),RV={name:"ScaffoldTooltip",components:{Col:fn,CreateTooltipContent:qx,ElIconDelete:hl,Icon:bt,Popover:Dl,Row:kn,Tooltip:fu.Tooltip},props:{createData:{type:Object,default:{toBeConfirmed:!1,points:[],shape:"",x:0,y:0}},label:{type:String,default:""},annotationDisplay:{type:Boolean,default:!1},region:{type:String,default:""},visible:{type:Boolean,default:!1},x:{type:Number,default:200},y:{type:Number,default:200},imageThumbnails:{type:Object,default:{}},imageThumbnailSidebar:{type:Boolean,default:!1}},inject:["scaffoldUrl"],provide(){return{userApiKey:this.userToken}},data:function(){return{annotationEntry:{},ElIconDelete:a.shallowRef(hl)}},computed:{...sw(ow,["userToken"]),position:function(){let n=40;return this.region&&(n=55),{left:this.x-40+"px",top:this.y-n+"px"}},imageEntry:function(){let n=[];const e=Object.assign({},Object.fromEntries(Object.entries(this.imageThumbnails).filter(([i,r])=>r.length>0).map(([i,r])=>[i.toLowerCase(),r]))),t=this.label.toLowerCase();return t in e&&(n=e[t]),this.imageThumbnailSidebar?(this.$emit("image-thumbnail-open",n),[]):n}},methods:{checkForDisplay:function(){if(this.visible&&this.label&&this.label!==""){if(this.annotationDisplay){const n=this.region?this.region+"/":"";this.annotationEntry={featureId:encodeURIComponent(n+this.label),resourceId:encodeURIComponent(this.scaffoldUrl),resource:encodeURIComponent(this.scaffoldUrl)}}}else this.annotationEntry={}},hideTriggered:function(){this.createData.toBeConfirmed&&this.$emit("cancel-create")}},watch:{label:{handler:function(){this.checkForDisplay()},immediate:!0},visible:{handler:function(){this.checkForDisplay()},immediate:!0},annotationDisplay:{handler:function(){this.checkForDisplay()},immediate:!0}}},LV={class:"tooltip-text"},PV={key:0,class:"tooltip-text"},IV={key:1,class:"delete-container"};function OV(n,e,t,i,r,s){const o=qx,l=a.resolveComponent("Tooltip"),c=fn,u=Qi,f=kn,d=Dl;return a.openBlock(),a.createElementBlock("div",{style:a.normalizeStyle(s.position),class:"region-tooltip"},[a.createVNode(d,{ref:"tooltip",visible:t.visible,placement:"top","show-arrow":!1,teleported:!1,trigger:"manual","popper-class":"tooltip-popper non-selectable","virtual-triggering":"",onHide:s.hideTriggered},{default:a.withCtx(()=>[a.createElementVNode("div",LV,a.toDisplayString(t.label),1),t.region?(a.openBlock(),a.createElementBlock("div",PV,"Region: "+a.toDisplayString(t.region),1)):a.createCommentVNode("",!0),a.withDirectives(a.createVNode(o,{createData:t.createData,onConfirmCreate:e[0]||(e[0]=p=>n.$emit("confirm-create",p)),onCancelCreate:e[1]||(e[1]=p=>n.$emit("cancel-create"))},null,8,["createData"]),[[a.vShow,t.createData.toBeConfirmed]]),a.withDirectives(a.createVNode(l,{class:"p-tooltip",ref:"tooltip",tooltipType:t.annotationDisplay?"annotation":"image",annotationEntry:n.annotationEntry,imageEntry:s.imageEntry},null,8,["tooltipType","annotationEntry","imageEntry"]),[[a.vShow,t.annotationDisplay&&!t.createData.toBeConfirmed||s.imageEntry.length]]),t.createData.toBeDeleted?(a.openBlock(),a.createElementBlock("div",IV,[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(c,{span:10},{default:a.withCtx(()=>[a.createTextVNode("Delete this feature?")]),_:1}),a.createVNode(c,{span:7},{default:a.withCtx(()=>[a.createVNode(u,{class:"delete-button",icon:n.ElIconDelete,onClick:e[2]||(e[2]=p=>n.$emit("confirm-delete"))},{default:a.withCtx(()=>[a.createTextVNode(" Delete ")]),_:1},8,["icon"])]),_:1}),a.createVNode(c,{span:6},{default:a.withCtx(()=>[a.createVNode(u,{class:"delete-button",onClick:e[3]||(e[3]=p=>n.$emit("cancel-create"))},{default:a.withCtx(()=>[a.createTextVNode(" Dismiss ")]),_:1})]),_:1})]),_:1})])):a.createCommentVNode("",!0)]),_:1},8,["visible","onHide"])],4)}const aw=ui(RV,[["render",OV],["__scopeId","data-v-b085935b"]]);/*! js-cookie v3.0.5 | MIT */function ou(n){for(var e=1;e<arguments.length;e++){var t=arguments[e];for(var i in t)n[i]=t[i]}return n}var NV={read:function(n){return n[0]==='"'&&(n=n.slice(1,-1)),n.replace(/(%[\dA-F]{2})+/gi,decodeURIComponent)},write:function(n){return encodeURIComponent(n).replace(/%(2[346BF]|3[AC-F]|40|5[BDE]|60|7[BCD])/g,decodeURIComponent)}};function Hf(n,e){function t(r,s,o){if(!(typeof document>"u")){o=ou({},e,o),typeof o.expires=="number"&&(o.expires=new Date(Date.now()+o.expires*864e5)),o.expires&&(o.expires=o.expires.toUTCString()),r=encodeURIComponent(r).replace(/%(2[346B]|5E|60|7C)/g,decodeURIComponent).replace(/[()]/g,escape);var l="";for(var c in o)o[c]&&(l+="; "+c,o[c]!==!0&&(l+="="+o[c].split(";")[0]));return document.cookie=r+"="+n.write(s,r)+l}}function i(r){if(!(typeof document>"u"||arguments.length&&!r)){for(var s=document.cookie?document.cookie.split("; "):[],o={},l=0;l<s.length;l++){var c=s[l].split("="),u=c.slice(1).join("=");try{var f=decodeURIComponent(c[0]);if(o[f]=n.read(u,f),r===f)break}catch{}}return r?o[r]:o}}return Object.create({set:t,get:i,remove:function(r,s){t(r,"",ou({},s,{expires:-1}))},withAttributes:function(r){return Hf(this.converter,ou({},this.attributes,r))},withConverter:function(r){return Hf(ou({},this.converter,r),this.attributes)}},{attributes:{value:Object.freeze(e)},converter:{value:Object.freeze(n)}})}var Wf=Hf(NV,{path:"/"}),di=function(n,e,t,i,r){if(i==="m")throw new TypeError("Private method is not writable");if(i==="a"&&!r)throw new TypeError("Private accessor was defined without a setter");if(typeof e=="function"?n!==e||!r:!e.has(n))throw new TypeError("Cannot write private member to an object whose class did not declare it");return i==="a"?r.call(n,t):r?r.value=t:e.set(n,t),t},Tt=function(n,e,t,i){if(t==="a"&&!i)throw new TypeError("Private accessor was defined without a getter");if(typeof e=="function"?n!==e||!i:!e.has(n))throw new TypeError("Cannot read private member from an object whose class did not declare it");return t==="m"?i:t==="a"?i.call(n):i?i.value:e.get(n)},zi,Ya,hi,rn,Er;const DV=1e4;class BV{constructor(e){zi.add(this),Ya.set(this,void 0),hi.set(this,null),rn.set(this,null),e.slice(-1)==="/"?di(this,Ya,e.slice(0,-1),"f"):di(this,Ya,e,"f")}get currentUser(){return Tt(this,hi,"f")}get currentError(){return Tt(this,rn,"f")}async authenticate(e){di(this,rn,null,"f"),di(this,hi,null,"f");const t=await Tt(this,zi,"m",Er).call(this,e,"authenticate");return"error"in t?(Wf.remove("annotation-key"),Promise.resolve(Tt(this,rn,"f"))):(Wf.set("annotation-key",t.session,{secure:!0,expires:1}),di(this,hi,t.data,"f"),Promise.resolve(Tt(this,hi,"f")))}async unauthenticate(e){di(this,rn,null,"f"),di(this,hi,null,"f");const t=await Tt(this,zi,"m",Er).call(this,e,"unauthenticate");return"success"in t?Promise.resolve(t):Promise.resolve(Tt(this,rn,"f"))}async annotatedItemIds(e,t,i,r){const s={resource:t};i!==void 0&&(s.user=i),r!==void 0&&(s.participated=r);const o=await Tt(this,zi,"m",Er).call(this,e,"items/","GET",s);return"error"in o?Promise.resolve(Tt(this,rn,"f")):Promise.resolve(o)}async drawnFeatures(e,t,i){const r={resource:t};i!==void 0&&(r.items=i);const s=await Tt(this,zi,"m",Er).call(this,e,"features/","GET",r);return"error"in s?Promise.resolve(Tt(this,rn,"f")):Promise.resolve(s)}async itemAnnotations(e,t,i){const r=await Tt(this,zi,"m",Er).call(this,e,"annotations/","GET",{resource:t,item:i});return"error"in r?Promise.resolve(Tt(this,rn,"f")):Promise.resolve(r)}async annotation(e,t){const i=await Tt(this,zi,"m",Er).call(this,e,"annotation/","GET",{annotation:t});return"error"in i?Promise.resolve(Tt(this,rn,"f")):Promise.resolve(i)}async addAnnotation(e,t){if(Tt(this,hi,"f")&&Tt(this,hi,"f").canUpdate){const i=Object.assign({creator:Tt(this,hi,"f"),created:new Date().toISOString()},t),r=await Tt(this,zi,"m",Er).call(this,e,"annotation/","POST",{data:i});if(!("error"in r))return Promise.resolve(r);di(this,rn,r,"f")}else di(this,rn,{error:"user cannot add annotation"},"f");return Promise.resolve(Tt(this,rn,"f"))}}Ya=new WeakMap,hi=new WeakMap,rn=new WeakMap,zi=new WeakSet,Er=async function(e,t,i="GET",r={}){let s=!0;const o=new AbortController;setTimeout(()=>{s&&(console.log("Annotation server timeout..."),o.abort())},DV);const l={method:i,signal:o.signal};let c=`${Tt(this,Ya,"f")}/${t}`;const u=Wf.get("annotation-key")||"";if(i==="GET"){const d=[];for(const[p,y]of Object.entries(r))d.push(`${p}=${encodeURIComponent(JSON.stringify(y))}`);d.push(`key=${encodeURIComponent(e)}`),d.push(`session=${encodeURIComponent(u)}`),c+="?"+d.join("&"),l.headers={Accept:"application/json; charset=utf-8","Cache-Control":"no-store"}}else if(i==="POST"){const d=Object.assign({key:e,session:u},r);l.body=JSON.stringify(d),l.headers={Accept:"application/json; charset=utf-8","Content-Type":"application/json; charset=utf-8","Cache-Control":"no-store"}}const f=await fetch(c,l);return s=!1,f.ok?Promise.resolve(await f.json()):(di(this,rn,{error:`${f.status} ${f.statusText}`},"f"),Promise.resolve(Tt(this,rn,"f")))};const Ja={ALL:0,SELECTED:1,HIGHLIGHTED:2,MOVE:3},FV=function(n,e,t){this.eventType=n,this.identifiers=e,this.zincObjects=t},VV=function(n,e,t){this.targetedID=[];const i=n,r=e;this.targetEventType=t;const s=this;t===void 0&&(this.targetEventType=Ja.ALL),this.getEventType=function(){return t},this.notify=function(o,l,c,u){if(o!==i&&(s.targetEventType===Ja.ALL||s.targetEventType===l)){const f=new FV(l,c,u);r(f)}}},kV=function(){const n=[];this.publish=function(e,t,i,r){for(let s=0;s<n.length;s++)n[s].notify(e,t,i,r)},this.subscribe=function(e,t,i){if(typeof t=="function"){const r=new VV(e,t,i);return n.push(r),r}},this.unsubscribe=function(e){for(let t=0;t<n.length;t++)if(e===n[t]){n.splice(t,1);return}}},lw={isWebGLAvailable:function(){try{var n=document.createElement("canvas");return!!(window.WebGLRenderingContext&&(n.getContext("webgl")||n.getContext("experimental-webgl")))}catch{return!1}},isWebGL2Available:function(){try{var n=document.createElement("canvas");return!!(window.WebGL2RenderingContext&&n.getContext("webgl2"))}catch{return!1}},getWebGLErrorMessage:function(){return this.getErrorMessage(1)},getWebGL2ErrorMessage:function(){return this.getErrorMessage(2)},getErrorMessage:function(n){var e={1:"WebGL",2:"WebGL 2"},t={1:window.WebGLRenderingContext,2:window.WebGL2RenderingContext},i='This module requires <a href="http://khronos.org/webgl/wiki/Getting_a_WebGL_Implementation" style="color:#008">$1</a> support but your $0 does not seem to support it.',r=document.createElement("div");return r.id="webglmessage",r.style.fontFamily="monospace",r.style.fontSize="20px",r.style.fontWeight="normal",r.style.textAlign="center",r.style.background="#fff",r.style.color="#000",r.style.padding="1.5em",r.style.width="400px",r.style.margin="5em auto 0",t[n]?i=i.replace("$0","graphics card"):i=i.replace("$0","browser"),i=i.replace("$1",e[n]),r.innerHTML=i,r}},jf={ALL:0,DESTROYED:1,NAME_CHANGED:2,SETTINGS_CHANGED:3},_n=function(){this.typeName="Base Module",this.instanceName="default",this.onChangedCallbacks=[],this.eventNotifiers=[]};_n.prototype.setName=function(n){if(n&&this.instanceName!==n){this.instanceName=n;const e=this.onChangedCallbacks.slice();for(let t=0;t<e.length;t++)e[t](this,jf.NAME_CHANGED)}},_n.prototype.settingsChanged=function(){const n=this.onChangedCallbacks.slice();for(let e=0;e<n.length;e++)n[e](this,jf.SETTINGS_CHANGED)},_n.prototype.exportSettings=function(){const n={};return n.dialog=this.typeName,n.name=this.instanceName,n},_n.prototype.importSettings=function(n){return n.dialog==this.typeName?(this.setName(n.name),!0):!1},_n.prototype.publishChanges=function(n,e,t){for(let i=0;i<this.eventNotifiers.length;i++)this.eventNotifiers[i].publish(this,e,n,t)},_n.prototype.getName=function(){return this.instanceName},_n.prototype.destroy=function(){const n=this.onChangedCallbacks.slice();for(let e=0;e<n.length;e++)n[e](this,jf.DESTROYED);delete this},_n.prototype.addChangedCallback=function(n){this.onChangedCallbacks.includes(n)==!1&&this.onChangedCallbacks.push(n)},_n.prototype.removeChangedCallback=function(n){const e=this.onChangedCallbacks.indexOf(n);e>-1&&this.onChangedCallbacks.splice(e,1)},_n.prototype.addNotifier=function(n){this.eventNotifiers.push(n)};const au=(n,e,t)=>{for(let i=0;i<n.length;i++)if(n[i]&&n[i].material&&n[i].material.emissive){let r=n[i].userData;r&&r.isZincObject?r.setEmissiveRGB(e):n[i].material&&n[i].material.emissive&&n[i].material.emissive.setRGB(...e),t&&n[i].material.depthFunc&&(n[i].material.depthFunc=Tr.THREE.LessEqualDepth),n[i].children.forEach(s=>{const o=s.userData;o&&o.isZincObject&&s.material&&s.material.emissive&&s.material.emissive.setRGB(...e)})}},zV=function(){let n=[],e=[];this.highlightColour=[1,0,0],this.selectColour=[0,1,0],this.originalColour=[0,0,0];const t=[],i=[],r=this,s=function(c,u){if(c.length==0&&u.length==0)return!1;for(let f=0;f<c.length;f++){let d=!1;for(let p=0;p<u.length;p++)c[f]===u[p]&&(d=!0);if(!d)return!0}for(let f=0;f<u.length;f++){let d=!1;for(let p=0;p<c.length;p++)u[f]===c[p]&&(d=!0);if(!d)return!0}return!1},o=function(c,u){if(t.length=0,u.length==0)return c;for(let f=0;f<c.length;f++){let d=!1;for(let p=0;p<u.length;p++)c[f]===u[p]&&(d=!0);d||t.push(c[f])}return t};this.setHighlighted=function(c){const u=[...n];r.resetHighlighted();const f=o(c,e),d=l(f);return au(d,r.highlightColour,!1),n=f,s(n,u)},this.setSelected=function(c){const u=[...e];r.resetHighlighted(),r.resetSelected();const f=l(c);return au(f,r.selectColour,!1),e=c,s(e,u)};const l=function(c){i.length=0;for(let u=0;u<c.length;u++)c[u].material&&i.push(c[u]);return i};this.resetHighlighted=function(){const c=l(n);au(c,r.originalColour,!0),n=[]},this.resetSelected=function(){const c=l(e);au(c,r.originalColour,!0),e=[]},this.getSelected=function(){return e},this.reset=function(){r.resetSelected(),r.resetHighlighted()}},$f=nu.THREE,UV=function(){const n=document.createElement("div");let e;if(n.style.height="100%",lw.isWebGLAvailable())e=new nu.Renderer(n,window),nu.defaultMaterialColor=16777116,e.initialiseVisualisation(),e.playAnimation=!1;else{const t=lw.getWebGLErrorMessage();n.appendChild(t)}return{Zinc:nu,renderer:e,container:n}},Et=function(){_n.call(this),this.scene=void 0,this.rendererContainer=void 0,this.displayArea=void 0,this.graphicsHighlight=new zV,this.selectObjectOnPick=!0,this.zincRenderer=null,this.selectedScreenCoordinates=new $f.Vector3,this.selectedCenter=void 0,this.liveUpdatesObjects=void 0,this.ignorePreviousSelected=!1};Et.prototype=Object.create(_n.prototype),Et.prototype.getIntersectedObject=function(n){if(n){const e=n.map(i=>{if(i&&i.object&&i.object.userData){if(i.object.userData.isMarker)return 1;if(i.object.name&&i.object.userData.isZincObject)return 2}return 0});let t=e.indexOf(1);return t=t>-1?t:e.indexOf(2),n[t]}},Et.prototype.getAnnotationsFromObjects=function(n){const e=[];for(var t=0;t<n.length;t++){const i=n[t].userData;let r;if(i){if(i.isGlyph||i.isGlyphset){let s=i;i.isGlyph&&(s=i.getGlyphset()),r=s.userData?s.userData.annotation:void 0,r&&r.data&&(n[t].name&&n[t].name!=""?r.data.id=n[t].name:r.data.id=s.groupName)}else r=i.userData?i.userData.annotation:void 0,r&&r.data&&(r.data.id=n[t].name);r&&(r.data.zincObject=i)}r&&e.push(r)}return e},Et.prototype.setHighlightedByObjects=function(n,e,t,i){const r=this.graphicsHighlight.setHighlighted(n),s=this.objectsToZincObjects(n);if(i){let o=Ja.MOVE;r&&(o=Ja.HIGHLIGHTED);const l=this.getAnnotationsFromObjects(n);l.length>0&&(l[0].coords=e,l[0].extraData=t),this.publishChanges(l,o,s)}return r},Et.prototype.setHighlightedByZincObjects=function(n,e,t,i){let r=[];return n&&n.forEach(s=>{s&&s.getMorph()&&r.push(s.getMorph())}),this.setHighlightedByObjects(r,e,t,i)},Et.prototype.setupLiveCoordinates=function(n){if(this.liveUpdatesObjects=n,n&&n.length>0){const e=this.scene.getBoundingBoxOfZincObjects(n);let t=new $f.Vector3;e?(e.getCenter(t),this.selectedCenter==null?this.selectedCenter=t:this.selectedCenter.copy(t)):this.selectedCenter=void 0}else this.selectedCenter=void 0},Et.prototype.objectsToZincObjects=function(n){const e=[];for(let t=0;t<n.length;t++){let i=n[t].userData;if(i)if(i.isGlyph||i.isGlyphset){let r=i;i.isGlyph&&(r=i.getGlyphset()),e.push(r)}else e.push(i)}return e},Et.prototype.setSelectedByObjects=function(n,e,t,i){let r=!1;if(this.selectObjectOnPick?r=this.graphicsHighlight.setSelected(n):r=!0,r||this.ignorePreviousSelected){const s=this.objectsToZincObjects(n);if(this.selectObjectOnPick&&this.setupLiveCoordinates(s),i){const o=Ja.SELECTED,l=this.getAnnotationsFromObjects(n);l.length>0&&(l[0].coords=e,l[0].extraData=t),this.publishChanges(l,o,s)}}return r},Et.prototype.setSelectedByZincObjects=function(n,e,t,i){let r=[];return n&&n.forEach(s=>{if(s){const o=s.getMorph();o&&r.push(o)}}),this.setSelectedByObjects(r,e,t,i)},Et.prototype.findObjectsByGroupName=function(n){return this.scene.findObjectsWithGroupName(n)},Et.prototype.setHighlightedByGroupName=function(n,e){const t=this.findObjectsByGroupName(n);return this.setHighlightedByObjects(t,void 0,{},e)},Et.prototype.setSelectedByGroupName=function(n,e){const t=this.findObjectsByGroupName(n);return this.setSelectedByObjects(t,void 0,{},e)},Et.prototype.changeBackgroundColour=function(n){const e=new $f.Color(n);this.zincRenderer&&this.zincRenderer.getThreeJSRenderer().setClearColor(e,1)},Et.prototype.resetView=function(){this.zincRenderer&&this.zincRenderer.resetView()},Et.prototype.viewAll=function(){this.zincRenderer&&this.zincRenderer.viewAll()},Et.prototype.playAnimation=function(n){this.zincRenderer&&(this.zincRenderer.playAnimation=n)},Et.prototype.setPlayRate=function(n){this.zincRenderer&&this.zincRenderer.setPlayRate(n)},Et.prototype.getPlayRate=function(n){return this.zincRenderer?this.zincRenderer.getPlayRate():0},Et.prototype.initialiseRenderer=function(n){if(this.zincRenderer===void 0||this.rendererContainer===void 0){let e=UV();this.Zinc=e.Zinc,this.zincRenderer=e.renderer,this.rendererContainer=e.container}n&&(this.displayArea=n,this.displayArea.appendChild(this.rendererContainer),this.zincRenderer&&this.zincRenderer.animate())},Et.prototype.destroy=function(){this.zincRenderer&&(this.zincRenderer.dispose(),this.zincRenderer.getThreeJSRenderer().dispose(),this.zincRenderer=void 0),_n.prototype.destroy.call(this)};const GV=function(){this.type="anatomical",this.data=void 0,this.isAnnotation=!0},HV=function(){this.currentName="",this.currentSystem="",this.currentPart="",this.currentSpecies="",this.metaURL="",this.viewURL="",this.timeVarying=!1,this.currentTime=0},cw=function(n){Et.call(this);const e=this;let t;this.sceneData=new HV;const i=new Array,r=new Array,s=new Array,o=new Array;let l;const c=n;this.NDCCameraControl=void 0,e.typeName="Organ Viewer",this.getSceneData=function(){return e.sceneData},this.updateTime=function(T){let A=6e3;e.scene&&(A=e.scene.getDuration());const C=T/100*A;e.sceneData.nerveMapIsActive||e.scene&&e.scene.setMorphsTime(C),e.sceneData.currentTime=T};const u=function(){let T=3e3;e.scene&&(T=e.scene.getDuration());const A=e.zincRenderer.getCurrentTime();for(let C=0;C<i.length;C++)i[C](A);!e.sceneData.nerveMapIsActive&&t&&t.setMorphsTime(A),e.sceneData.nerveMap&&e.sceneData.nerveMap.additionalReader&&e.sceneData.nerveMap.additionalReader.setTime(A/T),e.sceneData.currentTime=A/T*100};this.getCurrentTime=function(){return e.sceneData.currentTime},this.toggleSyncControl=(T,A)=>{let C=this.scene.getZincCameraControls();T?(C.resetView(),this.NDCCameraControl=C.enableSyncControl(),C.setRotationMode(A)):(C.disableSyncControl(),this.NDCCameraControl=void 0,C.setRotationMode("free"))},this.isSyncControl=()=>this.NDCCameraControl!==void 0,this.setSyncControlZoomToBox=T=>{this.NDCCameraControl&&this.NDCCameraControl.zoomToBox(T,2)},this.setSyncControlCallback=T=>{this.NDCCameraControl&&this.NDCCameraControl.setEventCallback(T)},this.setSyncControlCenterZoom=(T,A)=>{this.NDCCameraControl&&this.NDCCameraControl.setCenterZoom(T,A)};const f=function(){if(e.zincRenderer.playAnimation&&e.liveUpdatesObjects&&e.setupLiveCoordinates(e.liveUpdatesObjects),e.selectedCenter){const T=new Tr.THREE.Vector3;T.copy(e.selectedCenter);const A=e.scene.vectorToScreenXY(T);e.selectedScreenCoordinates.x=A.x,e.selectedScreenCoordinates.y=A.y}},d=function(){return function(){u()}},p=function(){return function(){f()}};this.addTimeChangedCallback=function(T){i.push(T)},this.setTexturePos=function(T){e.sceneData.nerveMap&&e.sceneData.nerveMap.additionalReader&&e.sceneData.nerveMap.additionalReader.setSliderPos(T)},this.addSceneChangedCallback=function(T){r.push(T)},this.addOrganPartAddedCallback=function(T){s.push(T)},this.addOrganPartRemovedCallback=function(T){o.push(T)},this.setFinishDownloadCallback=function(T){l=T},this.unsetFinishDownloadCallback=function(){l=void 0},this.getNamedObjectsToScreenCoordinates=function(T,A){const C=new Tr.THREE.Vector3;C.setFromMatrixPosition(obj.matrixWorld);const R=width/2,L=height/2;return C.project(A),C.x=C.x*R+R,C.y=-(C.y*L)+L,C};const y=function(T){let A,C;if(T!==void 0){let R=!1;T.object.userData&&T.object.userData.isMarker?(R=!0,C=T.object.userData.parent.getMorph()):C=T.object;try{C.userData.userData.annotation.data.lastActionOnMarker=R}finally{}if(C)if(C.name)A=C.name;else{const L=e.getAnnotationsFromObjects([C]);L&&L[0]&&(A=L[0].data.group)}}return{id:A,object:C}},m=function(){return function(T,A,C){var N;const R=e.getIntersectedObject(T),L=y(R),I={worldCoords:[R?R.point.x:0,R?R.point.y:0,R?R.point.z:0],intersected:R,intersects:T},O={x:A,y:C};if(L.id){I.threeID=(N=L.object)==null?void 0:N.id,L.object.userData.isGlyph?L.object.name?e.setSelectedByObjects([L.object],O,I,!0):e.setSelectedByZincObjects(L.object.userData.getGlyphset(),O,I,!0):e.setSelectedByObjects([L.object],O,I,!0);return}else e.setSelectedByObjects([],O,I,!0)}},h=function(){return function(T,A,C){var N;const R=e.getIntersectedObject(T),L=y(R),I={worldCoords:[R?R.point.x:0,R?R.point.y:0,R?R.point.z:0]},O={x:A,y:C};if(L.id){I.threeID=(N=L.object)==null?void 0:N.id,e.displayArea.style.cursor="pointer",e.setHighlightedByObjects([L.object],O,I,!0);return}else e.displayArea.style.cursor="auto",e.setHighlightedByObjects([],O,I,!0)}},b=function(T,A,C,R){if(R=="all"||R=="geometries"){const L=T.findGeometriesWithGroupName(A);for(let I=0;I<L.length;I++)L[I].setVisibility(C)}if(R=="all"||R=="glyphsets"){const L=T.findGlyphsetsWithGroupName(A);for(let I=0;I<L.length;I++)L[I].setVisibility(C)}if(R=="all"||R=="pointsets"){const L=T.findPointsetsWithGroupName(A);for(let I=0;I<L.length;I++)L[I].setVisibility(C)}if(R=="all"||R=="lines"){const L=T.findLinesWithGroupName(A);for(let I=0;I<L.length;I++)L[I].setVisibility(C)}};this.changeGeometriesVisibility=function(T,A){b(e.scene,T,A,"geometries")},this.changeGlyphsetsVisibility=function(T,A){b(e.scene,T,A,"glyphsets")},this.changeLinesVisibility=function(T,A){b(e.scene,T,A,"lines")},this.changePointsetsVisibility=function(T,A){b(e.scene,T,A,"pointsets")},this.changeOrganPartsVisibility=function(T,A,C){let R="all";C!==void 0&&(R=C),b(e.scene,T,A,R)},this.changeOrganPartsVisibilityCallback=function(T){return function(A){e.changeOrganPartsVisibility(T,A)}},this.changeBackgroundColour=function(T){const A=new Tr.THREE.Color(T);e.zincRenderer&&e.zincRenderer.getThreeJSRenderer().setClearColor(A,1)};const v=function(T,A,C,R){for(let O=0;O<s.length;O++)s[O](R,e.scene.isTimeVarying());const L=new GV,I=R.region.getFullPath();L.data={species:e.sceneData.currentSpecies,system:T,part:A,group:R.groupName,region:I,uuid:R.uuid,lastActionOnMarker:!1},R.userData.annotation=L},g=function(T,A,C,R){for(let L=0;L<o.length;L++)o[L](R)},x=function(T,A,C){return function(R){v(T,A,C,R)}},_=function(T,A,C){return function(R){g(T,A,C,R)}},E=function(){return function(){e.settingsChanged(),e.sceneData.timeVarying=e.scene.isTimeVarying(),l&&l()}};this.updateFieldvisibility=function(T,A){for(let C=0;C<T.length;C++)if(A!=C){const R=T[C].PartName;e.changeOrganPartsVisibility(R,!1)}if(A>-1){const C=T[A].PartName;if(e.scene.findGeometriesWithGroupName(C).length>0||e.scene.findGlyphsetsWithGroupName(C).length>0)e.changeOrganPartsVisibility(C,!0);else{const R=getOrganDetails(T[A].SystemName,C);R!=null&&e.scene.loadMetadataURL(c.getOrgansDirectoryPrefix()+"/"+R.meta)}}},this.getAvailableSpecies=function(T,A,C){const R=new Array;R.push("none");const L=Object.keys(organsFileMap);for(index in L){const I=L[index];I!=T&&organsFileMap[I].hasOwnProperty(A)&&organsFileMap[I][A].hasOwnProperty(C)&&R.push(I)}return R},this.getCentreAndSize=function(){const T=new Tr.THREE.Vector3,A=this.scene.getBoundingBox();A.getCenter(T);const C=[T.x,T.y,T.z];A.getSize(T);const R=[T.x,T.y,T.z];return{centre:C,size:R}};const S=function(T,A,C,R){e.sceneData.nerveMapIsActive=!1,e.sceneData.nerveMap=void 0,e.sceneData.metaURL="",e.sceneData.viewURL="",e.sceneData.currentSpecies=T,e.sceneData.currentSystem=A,e.sceneData.currentPart=C,e.sceneData.currentTime=0,e.sceneData.timeVarying=!1;let L="";T&&(L=T+"/"),A&&(L=A+"/"),C&&(L=C),e.sceneData.currentName=L};this.loadOrgansFromURL=function(T,A,C,R,L,I){if(e.zincRenderer&&R&&e.sceneData.metaURL!==T){S(A,C,R);const O=e.sceneData.currentName;let N=e.zincRenderer.getSceneByName(O);N?I&&N.clearAll():N=e.zincRenderer.createScene(O),e.selectObjectOnPick=!0;for(let P=0;P<r.length;P++)r[P](e.sceneData);L&&L!=""?(e.sceneData.viewURL=L,N.loadViewURL(e.sceneData.viewURL)):e.sceneData.viewURL=void 0,e.sceneData.metaURL=T,N.addZincObjectAddedCallbacks(x(C,R,!1)),N.addZincObjectRemovedCallbacks(_(void 0,R,!1)),N.loadMetadataURL(T,void 0,E()),e.scene=N,e.zincRenderer.setCurrentScene(N),e.graphicsHighlight.reset();const w=N.getZincCameraControls();w.enableRaycaster(N,m(),h()),w.setMouseButtonAction("AUXILIARY","ZOOM"),w.setMouseButtonAction("SECONDARY","PAN")}},this.loadGLTFFromURL=function(T,A,C){if(e.zincRenderer&&A&&e.sceneData.metaURL!==T){S(void 0,void 0,A);const R=e.sceneData.currentName;let L=e.zincRenderer.getSceneByName(R);L?C&&L.clearAll():L=e.zincRenderer.createScene(R);for(let O=0;O<r.length;O++)r[O](e.sceneData);e.sceneData.viewURL=void 0,e.sceneData.metaURL=T,L.addZincObjectAddedCallbacks(x(void 0,A,!1)),L.addZincObjectRemovedCallbacks(_(void 0,A,!1)),L.loadGLTF(T,void 0,E()),e.scene=L,e.zincRenderer.setCurrentScene(L),e.graphicsHighlight.reset();const I=L.getZincCameraControls();I.enableRaycaster(L,m(),h()),I.setMouseButtonAction("AUXILIARY","ZOOM"),I.setMouseButtonAction("SECONDARY","PAN")}},this.alignCameraWithSelectedObject=function(T){const A=e.graphicsHighlight.getSelected();A&&A[0]&&A[0].userData&&e.scene.alignObjectToCameraView(A[0].userData,T)},this.exportSettings=function(){const T={};return T.name=e.instanceName,e.sceneData.currentSystem&&(T.system=e.sceneData.currentSystem),e.sceneData.currentSpecies&&(T.species=e.sceneData.currentSpecies),e.sceneData.currentPart&&(T.part=e.sceneData.currentPart),T.metaURL=e.sceneData.metaURL,e.sceneData.viewURL&&(T.viewURL=e.sceneData.viewURL),T.dialog="Organ Viewer",T},this.importSettings=function(T){return T&&T.dialog==this.typeName?(e.setName(T.name),T.metaURL!==void 0&&T.metaURL!=""?e.loadOrgansFromURL(T.metaURL,T.species,T.system,T.part,T.viewURL,!0):e.loadOrgans(T.species,T.system,T.part),!0):!1},function(){e.initialiseRenderer(void 0),e.zincRenderer&&(e.zincRenderer.addPreRenderCallbackFunction(d()),e.zincRenderer.addPostRenderCallbackFunction(p()))}()};cw.prototype=Object.create(Et.prototype);var ht=function(){return ht=Object.assign||function(e){for(var t,i=1,r=arguments.length;i<r;i++){t=arguments[i];for(var s in t)Object.prototype.hasOwnProperty.call(t,s)&&(e[s]=t[s])}return e},ht.apply(this,arguments)};function WV(n,e,t,i){function r(s){return s instanceof t?s:new t(function(o){o(s)})}return new(t||(t=Promise))(function(s,o){function l(f){try{u(i.next(f))}catch(d){o(d)}}function c(f){try{u(i.throw(f))}catch(d){o(d)}}function u(f){f.done?s(f.value):r(f.value).then(l,c)}u((i=i.apply(n,[])).next())})}function jV(n,e){var t={label:0,sent:function(){if(s[0]&1)throw s[1];return s[1]},trys:[],ops:[]},i,r,s,o;return o={next:l(0),throw:l(1),return:l(2)},typeof Symbol=="function"&&(o[Symbol.iterator]=function(){return this}),o;function l(u){return function(f){return c([u,f])}}function c(u){if(i)throw new TypeError("Generator is already executing.");for(;o&&(o=0,u[0]&&(t=0)),t;)try{if(i=1,r&&(s=u[0]&2?r.return:u[0]?r.throw||((s=r.return)&&s.call(r),0):r.next)&&!(s=s.call(r,u[1])).done)return s;switch(r=0,s&&(u=[u[0]&2,s.value]),u[0]){case 0:case 1:s=u;break;case 4:return t.label++,{value:u[1],done:!1};case 5:t.label++,r=u[1],u=[0];continue;case 7:u=t.ops.pop(),t.trys.pop();continue;default:if(s=t.trys,!(s=s.length>0&&s[s.length-1])&&(u[0]===6||u[0]===2)){t=0;continue}if(u[0]===3&&(!s||u[1]>s[0]&&u[1]<s[3])){t.label=u[1];break}if(u[0]===6&&t.label<s[1]){t.label=s[1],s=u;break}if(s&&t.label<s[2]){t.label=s[2],t.ops.push(u);break}s[2]&&t.ops.pop(),t.trys.pop();continue}u=e.call(n,t)}catch(f){u=[6,f],r=0}finally{i=s=0}if(u[0]&5)throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}function Ye(n){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&n[e],i=0;if(t)return t.call(n);if(n&&typeof n.length=="number")return{next:function(){return n&&i>=n.length&&(n=void 0),{value:n&&n[i++],done:!n}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function Dt(n,e){var t=typeof Symbol=="function"&&n[Symbol.iterator];if(!t)return n;var i=t.call(n),r,s=[],o;try{for(;(e===void 0||e-- >0)&&!(r=i.next()).done;)s.push(r.value)}catch(l){o={error:l}}finally{try{r&&!r.done&&(t=i.return)&&t.call(i)}finally{if(o)throw o.error}}return s}typeof SuppressedError=="function"&&SuppressedError;var $V="ENTRIES",uw="KEYS",dw="VALUES",Qt="",Zf=function(){function n(e,t){var i=e._tree,r=Array.from(i.keys());this.set=e,this._type=t,this._path=r.length>0?[{node:i,keys:r}]:[]}return n.prototype.next=function(){var e=this.dive();return this.backtrack(),e},n.prototype.dive=function(){if(this._path.length===0)return{done:!0,value:void 0};var e=Po(this._path),t=e.node,i=e.keys;if(Po(i)===Qt)return{done:!1,value:this.result()};var r=t.get(Po(i));return this._path.push({node:r,keys:Array.from(r.keys())}),this.dive()},n.prototype.backtrack=function(){if(this._path.length!==0){var e=Po(this._path).keys;e.pop(),!(e.length>0)&&(this._path.pop(),this.backtrack())}},n.prototype.key=function(){return this.set._prefix+this._path.map(function(e){var t=e.keys;return Po(t)}).filter(function(e){return e!==Qt}).join("")},n.prototype.value=function(){return Po(this._path).node.get(Qt)},n.prototype.result=function(){switch(this._type){case dw:return this.value();case uw:return this.key();default:return[this.key(),this.value()]}},n.prototype[Symbol.iterator]=function(){return this},n}(),Po=function(n){return n[n.length-1]},ZV=function(n,e,t){var i=new Map;if(e===void 0)return i;for(var r=e.length+1,s=r+t,o=new Uint8Array(s*r).fill(t+1),l=0;l<r;++l)o[l]=l;for(var c=1;c<s;++c)o[c*r]=c;return hw(n,e,t,i,o,1,r,""),i},hw=function(n,e,t,i,r,s,o,l){var c,u,f=s*o;try{e:for(var d=Ye(n.keys()),p=d.next();!p.done;p=d.next()){var y=p.value;if(y===Qt){var m=r[f-1];m<=t&&i.set(l,[n.get(y),m])}else{for(var h=s,b=0;b<y.length;++b,++h){for(var v=y[b],g=o*h,x=g-o,_=r[g],E=Math.max(0,h-t-1),S=Math.min(o-1,h+t),M=E;M<S;++M){var T=v!==e[M],A=r[x+M]+ +T,C=r[x+M+1]+1,R=r[g+M]+1,L=r[g+M+1]=Math.min(A,C,R);L<_&&(_=L)}if(_>t)continue e}hw(n.get(y),e,t,i,r,h,o,l+y)}}}catch(I){c={error:I}}finally{try{p&&!p.done&&(u=d.return)&&u.call(d)}finally{if(c)throw c.error}}},Xf=function(){function n(e,t){e===void 0&&(e=new Map),t===void 0&&(t=""),this._size=void 0,this._tree=e,this._prefix=t}return n.prototype.atPrefix=function(e){var t,i;if(!e.startsWith(this._prefix))throw new Error("Mismatched prefix");var r=Dt(lu(this._tree,e.slice(this._prefix.length)),2),s=r[0],o=r[1];if(s===void 0){var l=Dt(qf(o),2),c=l[0],u=l[1];try{for(var f=Ye(c.keys()),d=f.next();!d.done;d=f.next()){var p=d.value;if(p!==Qt&&p.startsWith(u)){var y=new Map;return y.set(p.slice(u.length),c.get(p)),new n(y,e)}}}catch(m){t={error:m}}finally{try{d&&!d.done&&(i=f.return)&&i.call(f)}finally{if(t)throw t.error}}}return new n(s,e)},n.prototype.clear=function(){this._size=void 0,this._tree.clear()},n.prototype.delete=function(e){return this._size=void 0,XV(this._tree,e)},n.prototype.entries=function(){return new Zf(this,$V)},n.prototype.forEach=function(e){var t,i;try{for(var r=Ye(this),s=r.next();!s.done;s=r.next()){var o=Dt(s.value,2),l=o[0],c=o[1];e(l,c,this)}}catch(u){t={error:u}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},n.prototype.fuzzyGet=function(e,t){return ZV(this._tree,e,t)},n.prototype.get=function(e){var t=Yf(this._tree,e);return t!==void 0?t.get(Qt):void 0},n.prototype.has=function(e){var t=Yf(this._tree,e);return t!==void 0&&t.has(Qt)},n.prototype.keys=function(){return new Zf(this,uw)},n.prototype.set=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Jf(this._tree,e);return i.set(Qt,t),this},Object.defineProperty(n.prototype,"size",{get:function(){if(this._size)return this._size;this._size=0;for(var e=this.entries();!e.next().done;)this._size+=1;return this._size},enumerable:!1,configurable:!0}),n.prototype.update=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Jf(this._tree,e);return i.set(Qt,t(i.get(Qt))),this},n.prototype.fetch=function(e,t){if(typeof e!="string")throw new Error("key must be a string");this._size=void 0;var i=Jf(this._tree,e),r=i.get(Qt);return r===void 0&&i.set(Qt,r=t()),r},n.prototype.values=function(){return new Zf(this,dw)},n.prototype[Symbol.iterator]=function(){return this.entries()},n.from=function(e){var t,i,r=new n;try{for(var s=Ye(e),o=s.next();!o.done;o=s.next()){var l=Dt(o.value,2),c=l[0],u=l[1];r.set(c,u)}}catch(f){t={error:f}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}return r},n.fromObject=function(e){return n.from(Object.entries(e))},n}(),lu=function(n,e,t){var i,r;if(t===void 0&&(t=[]),e.length===0||n==null)return[n,t];try{for(var s=Ye(n.keys()),o=s.next();!o.done;o=s.next()){var l=o.value;if(l!==Qt&&e.startsWith(l))return t.push([n,l]),lu(n.get(l),e.slice(l.length),t)}}catch(c){i={error:c}}finally{try{o&&!o.done&&(r=s.return)&&r.call(s)}finally{if(i)throw i.error}}return t.push([n,e]),lu(void 0,"",t)},Yf=function(n,e){var t,i;if(e.length===0||n==null)return n;try{for(var r=Ye(n.keys()),s=r.next();!s.done;s=r.next()){var o=s.value;if(o!==Qt&&e.startsWith(o))return Yf(n.get(o),e.slice(o.length))}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},Jf=function(n,e){var t,i,r=e.length;e:for(var s=0;n&&s<r;){try{for(var o=(t=void 0,Ye(n.keys())),l=o.next();!l.done;l=o.next()){var c=l.value;if(c!==Qt&&e[s]===c[0]){for(var u=Math.min(r-s,c.length),f=1;f<u&&e[s+f]===c[f];)++f;var d=n.get(c);if(f===c.length)n=d;else{var p=new Map;p.set(c.slice(f),d),n.set(e.slice(s,s+f),p),n.delete(c),n=p}s+=f;continue e}}}catch(m){t={error:m}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}var y=new Map;return n.set(e.slice(s),y),y}return n},XV=function(n,e){var t=Dt(lu(n,e),2),i=t[0],r=t[1];if(i!==void 0){if(i.delete(Qt),i.size===0)fw(r);else if(i.size===1){var s=Dt(i.entries().next().value,2),o=s[0],l=s[1];pw(r,o,l)}}},fw=function(n){if(n.length!==0){var e=Dt(qf(n),2),t=e[0],i=e[1];if(t.delete(i),t.size===0)fw(n.slice(0,-1));else if(t.size===1){var r=Dt(t.entries().next().value,2),s=r[0],o=r[1];s!==Qt&&pw(n.slice(0,-1),s,o)}}},pw=function(n,e,t){if(n.length!==0){var i=Dt(qf(n),2),r=i[0],s=i[1];r.set(s+e,t),r.delete(s)}},qf=function(n){return n[n.length-1]},qa,Kf="or",mw="and",YV="and_not",JV=function(){function n(e){if((e==null?void 0:e.fields)==null)throw new Error('MiniSearch: option "fields" must be provided');var t=e.autoVacuum==null||e.autoVacuum===!0?ip:e.autoVacuum;this._options=ht(ht(ht({},ep),e),{autoVacuum:t,searchOptions:ht(ht({},gw),e.searchOptions||{}),autoSuggestOptions:ht(ht({},tk),e.autoSuggestOptions||{})}),this._index=new Xf,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldIds={},this._fieldLength=new Map,this._avgFieldLength=[],this._nextId=0,this._storedFields=new Map,this._dirtCount=0,this._currentVacuum=null,this._enqueuedVacuum=null,this._enqueuedVacuumConditions=np,this.addFields(this._options.fields)}return n.prototype.add=function(e){var t,i,r,s,o,l,c=this._options,u=c.extractField,f=c.tokenize,d=c.processTerm,p=c.fields,y=c.idField,m=u(e,y);if(m==null)throw new Error('MiniSearch: document does not have ID field "'.concat(y,'"'));if(this._idToShortId.has(m))throw new Error("MiniSearch: duplicate ID ".concat(m));var h=this.addDocumentId(m);this.saveStoredFields(h,e);try{for(var b=Ye(p),v=b.next();!v.done;v=b.next()){var g=v.value,x=u(e,g);if(x!=null){var _=f(x.toString(),g),E=this._fieldIds[g],S=new Set(_).size;this.addFieldLength(h,E,this._documentCount-1,S);try{for(var M=(r=void 0,Ye(_)),T=M.next();!T.done;T=M.next()){var A=T.value,C=d(A,g);if(Array.isArray(C))try{for(var R=(o=void 0,Ye(C)),L=R.next();!L.done;L=R.next()){var I=L.value;this.addTerm(E,h,I)}}catch(O){o={error:O}}finally{try{L&&!L.done&&(l=R.return)&&l.call(R)}finally{if(o)throw o.error}}else C&&this.addTerm(E,h,C)}}catch(O){r={error:O}}finally{try{T&&!T.done&&(s=M.return)&&s.call(M)}finally{if(r)throw r.error}}}}}catch(O){t={error:O}}finally{try{v&&!v.done&&(i=b.return)&&i.call(b)}finally{if(t)throw t.error}}},n.prototype.addAll=function(e){var t,i;try{for(var r=Ye(e),s=r.next();!s.done;s=r.next()){var o=s.value;this.add(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},n.prototype.addAllAsync=function(e,t){var i=this;t===void 0&&(t={});var r=t.chunkSize,s=r===void 0?10:r,o={chunk:[],promise:Promise.resolve()},l=e.reduce(function(f,d,p){var y=f.chunk,m=f.promise;return y.push(d),(p+1)%s===0?{chunk:[],promise:m.then(function(){return new Promise(function(h){return setTimeout(h,0)})}).then(function(){return i.addAll(y)})}:{chunk:y,promise:m}},o),c=l.chunk,u=l.promise;return u.then(function(){return i.addAll(c)})},n.prototype.remove=function(e){var t,i,r,s,o,l,c=this._options,u=c.tokenize,f=c.processTerm,d=c.extractField,p=c.fields,y=c.idField,m=d(e,y);if(m==null)throw new Error('MiniSearch: document does not have ID field "'.concat(y,'"'));var h=this._idToShortId.get(m);if(h==null)throw new Error("MiniSearch: cannot remove document with ID ".concat(m,": it is not in the index"));try{for(var b=Ye(p),v=b.next();!v.done;v=b.next()){var g=v.value,x=d(e,g);if(x!=null){var _=u(x.toString(),g),E=this._fieldIds[g],S=new Set(_).size;this.removeFieldLength(h,E,this._documentCount,S);try{for(var M=(r=void 0,Ye(_)),T=M.next();!T.done;T=M.next()){var A=T.value,C=f(A,g);if(Array.isArray(C))try{for(var R=(o=void 0,Ye(C)),L=R.next();!L.done;L=R.next()){var I=L.value;this.removeTerm(E,h,I)}}catch(O){o={error:O}}finally{try{L&&!L.done&&(l=R.return)&&l.call(R)}finally{if(o)throw o.error}}else C&&this.removeTerm(E,h,C)}}catch(O){r={error:O}}finally{try{T&&!T.done&&(s=M.return)&&s.call(M)}finally{if(r)throw r.error}}}}}catch(O){t={error:O}}finally{try{v&&!v.done&&(i=b.return)&&i.call(b)}finally{if(t)throw t.error}}this._storedFields.delete(h),this._documentIds.delete(h),this._idToShortId.delete(m),this._fieldLength.delete(h),this._documentCount-=1},n.prototype.removeAll=function(e){var t,i;if(e)try{for(var r=Ye(e),s=r.next();!s.done;s=r.next()){var o=s.value;this.remove(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}else{if(arguments.length>0)throw new Error("Expected documents to be present. Omit the argument to remove all documents.");this._index=new Xf,this._documentCount=0,this._documentIds=new Map,this._idToShortId=new Map,this._fieldLength=new Map,this._avgFieldLength=[],this._storedFields=new Map,this._nextId=0}},n.prototype.discard=function(e){var t=this,i=this._idToShortId.get(e);if(i==null)throw new Error("MiniSearch: cannot discard document with ID ".concat(e,": it is not in the index"));this._idToShortId.delete(e),this._documentIds.delete(i),this._storedFields.delete(i),(this._fieldLength.get(i)||[]).forEach(function(r,s){t.removeFieldLength(i,s,t._documentCount,r)}),this._fieldLength.delete(i),this._documentCount-=1,this._dirtCount+=1,this.maybeAutoVacuum()},n.prototype.maybeAutoVacuum=function(){if(this._options.autoVacuum!==!1){var e=this._options.autoVacuum,t=e.minDirtFactor,i=e.minDirtCount,r=e.batchSize,s=e.batchWait;this.conditionalVacuum({batchSize:r,batchWait:s},{minDirtCount:i,minDirtFactor:t})}},n.prototype.discardAll=function(e){var t,i,r=this._options.autoVacuum;try{this._options.autoVacuum=!1;try{for(var s=Ye(e),o=s.next();!o.done;o=s.next()){var l=o.value;this.discard(l)}}catch(c){t={error:c}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}}finally{this._options.autoVacuum=r}this.maybeAutoVacuum()},n.prototype.replace=function(e){var t=this._options,i=t.idField,r=t.extractField,s=r(e,i);this.discard(s),this.add(e)},n.prototype.vacuum=function(e){return e===void 0&&(e={}),this.conditionalVacuum(e)},n.prototype.conditionalVacuum=function(e,t){var i=this;return this._currentVacuum?(this._enqueuedVacuumConditions=this._enqueuedVacuumConditions&&t,this._enqueuedVacuum!=null?this._enqueuedVacuum:(this._enqueuedVacuum=this._currentVacuum.then(function(){var r=i._enqueuedVacuumConditions;return i._enqueuedVacuumConditions=np,i.performVacuuming(e,r)}),this._enqueuedVacuum)):this.vacuumConditionsMet(t)===!1?Promise.resolve():(this._currentVacuum=this.performVacuuming(e),this._currentVacuum)},n.prototype.performVacuuming=function(e,t){return WV(this,void 0,void 0,function(){var i,r,s,o,l,c,u,f,d,p,y,m,h,b,v,g,x,_,E,S,M,T,A,C,R;return jV(this,function(L){switch(L.label){case 0:if(i=this._dirtCount,!this.vacuumConditionsMet(t))return[3,10];r=e.batchSize||tp.batchSize,s=e.batchWait||tp.batchWait,o=1,L.label=1;case 1:L.trys.push([1,7,8,9]),l=Ye(this._index),c=l.next(),L.label=2;case 2:if(c.done)return[3,6];u=Dt(c.value,2),f=u[0],d=u[1];try{for(p=(T=void 0,Ye(d)),y=p.next();!y.done;y=p.next()){m=Dt(y.value,2),h=m[0],b=m[1];try{for(v=(C=void 0,Ye(b)),g=v.next();!g.done;g=v.next())x=Dt(g.value,1),_=x[0],!this._documentIds.has(_)&&(b.size<=1?d.delete(h):b.delete(_))}catch(I){C={error:I}}finally{try{g&&!g.done&&(R=v.return)&&R.call(v)}finally{if(C)throw C.error}}}}catch(I){T={error:I}}finally{try{y&&!y.done&&(A=p.return)&&A.call(p)}finally{if(T)throw T.error}}return this._index.get(f).size===0&&this._index.delete(f),o%r!==0?[3,4]:[4,new Promise(function(I){return setTimeout(I,s)})];case 3:L.sent(),L.label=4;case 4:o+=1,L.label=5;case 5:return c=l.next(),[3,2];case 6:return[3,9];case 7:return E=L.sent(),S={error:E},[3,9];case 8:try{c&&!c.done&&(M=l.return)&&M.call(l)}finally{if(S)throw S.error}return[7];case 9:this._dirtCount-=i,L.label=10;case 10:return[4,null];case 11:return L.sent(),this._currentVacuum=this._enqueuedVacuum,this._enqueuedVacuum=null,[2]}})})},n.prototype.vacuumConditionsMet=function(e){if(e==null)return!0;var t=e.minDirtCount,i=e.minDirtFactor;return t=t||ip.minDirtCount,i=i||ip.minDirtFactor,this.dirtCount>=t&&this.dirtFactor>=i},Object.defineProperty(n.prototype,"isVacuuming",{get:function(){return this._currentVacuum!=null},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"dirtCount",{get:function(){return this._dirtCount},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"dirtFactor",{get:function(){return this._dirtCount/(1+this._documentCount+this._dirtCount)},enumerable:!1,configurable:!0}),n.prototype.has=function(e){return this._idToShortId.has(e)},n.prototype.getStoredFields=function(e){var t=this._idToShortId.get(e);if(t!=null)return this._storedFields.get(t)},n.prototype.search=function(e,t){var i,r;t===void 0&&(t={});var s=this.executeQuery(e,t),o=[];try{for(var l=Ye(s),c=l.next();!c.done;c=l.next()){var u=Dt(c.value,2),f=u[0],d=u[1],p=d.score,y=d.terms,m=d.match,h=y.length||1,b={id:this._documentIds.get(f),score:p*h,terms:Object.keys(m),queryTerms:y,match:m};Object.assign(b,this._storedFields.get(f)),(t.filter==null||t.filter(b))&&o.push(b)}}catch(v){i={error:v}}finally{try{c&&!c.done&&(r=l.return)&&r.call(l)}finally{if(i)throw i.error}}return e===n.wildcard&&t.boostDocument==null&&this._options.searchOptions.boostDocument==null||o.sort(vw),o},n.prototype.autoSuggest=function(e,t){var i,r,s,o;t===void 0&&(t={}),t=ht(ht({},this._options.autoSuggestOptions),t);var l=new Map;try{for(var c=Ye(this.search(e,t)),u=c.next();!u.done;u=c.next()){var f=u.value,d=f.score,p=f.terms,y=p.join(" "),m=l.get(y);m!=null?(m.score+=d,m.count+=1):l.set(y,{score:d,terms:p,count:1})}}catch(E){i={error:E}}finally{try{u&&!u.done&&(r=c.return)&&r.call(c)}finally{if(i)throw i.error}}var h=[];try{for(var b=Ye(l),v=b.next();!v.done;v=b.next()){var g=Dt(v.value,2),m=g[0],x=g[1],d=x.score,p=x.terms,_=x.count;h.push({suggestion:m,terms:p,score:d/_})}}catch(E){s={error:E}}finally{try{v&&!v.done&&(o=b.return)&&o.call(b)}finally{if(s)throw s.error}}return h.sort(vw),h},Object.defineProperty(n.prototype,"documentCount",{get:function(){return this._documentCount},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,"termCount",{get:function(){return this._index.size},enumerable:!1,configurable:!0}),n.loadJSON=function(e,t){if(t==null)throw new Error("MiniSearch: loadJSON should be given the same options used when serializing the index");return this.loadJS(JSON.parse(e),t)},n.getDefault=function(e){if(ep.hasOwnProperty(e))return Qf(ep,e);throw new Error('MiniSearch: unknown option "'.concat(e,'"'))},n.loadJS=function(e,t){var i,r,s,o,l,c,u=e.index,f=e.documentCount,d=e.nextId,p=e.documentIds,y=e.fieldIds,m=e.fieldLength,h=e.averageFieldLength,b=e.storedFields,v=e.dirtCount,g=e.serializationVersion;if(g!==1&&g!==2)throw new Error("MiniSearch: cannot deserialize an index created with an incompatible version");var x=new n(t);x._documentCount=f,x._nextId=d,x._documentIds=cu(p),x._idToShortId=new Map,x._fieldIds=y,x._fieldLength=cu(m),x._avgFieldLength=h,x._storedFields=cu(b),x._dirtCount=v||0,x._index=new Xf;try{for(var _=Ye(x._documentIds),E=_.next();!E.done;E=_.next()){var S=Dt(E.value,2),M=S[0],T=S[1];x._idToShortId.set(T,M)}}catch(D){i={error:D}}finally{try{E&&!E.done&&(r=_.return)&&r.call(_)}finally{if(i)throw i.error}}try{for(var A=Ye(u),C=A.next();!C.done;C=A.next()){var R=Dt(C.value,2),L=R[0],I=R[1],O=new Map;try{for(var N=(l=void 0,Ye(Object.keys(I))),w=N.next();!w.done;w=N.next()){var P=w.value,B=I[P];g===1&&(B=B.ds),O.set(parseInt(P,10),cu(B))}}catch(D){l={error:D}}finally{try{w&&!w.done&&(c=N.return)&&c.call(N)}finally{if(l)throw l.error}}x._index.set(L,O)}}catch(D){s={error:D}}finally{try{C&&!C.done&&(o=A.return)&&o.call(A)}finally{if(s)throw s.error}}return x},n.prototype.executeQuery=function(e,t){var i=this;if(t===void 0&&(t={}),e===n.wildcard)return this.executeWildcardQuery(t);if(typeof e!="string"){var r=ht(ht(ht({},t),e),{queries:void 0}),s=e.queries.map(function(b){return i.executeQuery(b,r)});return this.combineResults(s,r.combineWith)}var o=this._options,l=o.tokenize,c=o.processTerm,u=o.searchOptions,f=ht(ht({tokenize:l,processTerm:c},u),t),d=f.tokenize,p=f.processTerm,y=d(e).flatMap(function(b){return p(b)}).filter(function(b){return!!b}),m=y.map(ek(f)),h=m.map(function(b){return i.executeQuerySpec(b,f)});return this.combineResults(h,f.combineWith)},n.prototype.executeQuerySpec=function(e,t){var i,r,s,o,l=ht(ht({},this._options.searchOptions),t),c=(l.fields||this._options.fields).reduce(function(P,B){var D;return ht(ht({},P),(D={},D[B]=Qf(l.boost,B)||1,D))},{}),u=l.boostDocument,f=l.weights,d=l.maxFuzzy,p=l.bm25,y=ht(ht({},gw.weights),f),m=y.fuzzy,h=y.prefix,b=this._index.get(e.term),v=this.termResults(e.term,e.term,1,b,c,u,p),g,x;if(e.prefix&&(g=this._index.atPrefix(e.term)),e.fuzzy){var _=e.fuzzy===!0?.2:e.fuzzy,E=_<1?Math.min(d,Math.round(e.term.length*_)):_;E&&(x=this._index.fuzzyGet(e.term,E))}if(g)try{for(var S=Ye(g),M=S.next();!M.done;M=S.next()){var T=Dt(M.value,2),A=T[0],C=T[1],R=A.length-e.term.length;if(R){x==null||x.delete(A);var L=h*A.length/(A.length+.3*R);this.termResults(e.term,A,L,C,c,u,p,v)}}}catch(P){i={error:P}}finally{try{M&&!M.done&&(r=S.return)&&r.call(S)}finally{if(i)throw i.error}}if(x)try{for(var I=Ye(x.keys()),O=I.next();!O.done;O=I.next()){var A=O.value,N=Dt(x.get(A),2),w=N[0],R=N[1];if(R){var L=m*A.length/(A.length+R);this.termResults(e.term,A,L,w,c,u,p,v)}}}catch(P){s={error:P}}finally{try{O&&!O.done&&(o=I.return)&&o.call(I)}finally{if(s)throw s.error}}return v},n.prototype.executeWildcardQuery=function(e){var t,i,r=new Map,s=ht(ht({},this._options.searchOptions),e);try{for(var o=Ye(this._documentIds),l=o.next();!l.done;l=o.next()){var c=Dt(l.value,2),u=c[0],f=c[1],d=s.boostDocument?s.boostDocument(f,"",this._storedFields.get(u)):1;r.set(u,{score:d,terms:[],match:{}})}}catch(p){t={error:p}}finally{try{l&&!l.done&&(i=o.return)&&i.call(o)}finally{if(t)throw t.error}}return r},n.prototype.combineResults=function(e,t){if(t===void 0&&(t=Kf),e.length===0)return new Map;var i=t.toLowerCase();return e.reduce(qV[i])||new Map},n.prototype.toJSON=function(){var e,t,i,r,s=[];try{for(var o=Ye(this._index),l=o.next();!l.done;l=o.next()){var c=Dt(l.value,2),u=c[0],f=c[1],d={};try{for(var p=(i=void 0,Ye(f)),y=p.next();!y.done;y=p.next()){var m=Dt(y.value,2),h=m[0],b=m[1];d[h]=Object.fromEntries(b)}}catch(v){i={error:v}}finally{try{y&&!y.done&&(r=p.return)&&r.call(p)}finally{if(i)throw i.error}}s.push([u,d])}}catch(v){e={error:v}}finally{try{l&&!l.done&&(t=o.return)&&t.call(o)}finally{if(e)throw e.error}}return{documentCount:this._documentCount,nextId:this._nextId,documentIds:Object.fromEntries(this._documentIds),fieldIds:this._fieldIds,fieldLength:Object.fromEntries(this._fieldLength),averageFieldLength:this._avgFieldLength,storedFields:Object.fromEntries(this._storedFields),dirtCount:this._dirtCount,index:s,serializationVersion:2}},n.prototype.termResults=function(e,t,i,r,s,o,l,c){var u,f,d,p,y;if(c===void 0&&(c=new Map),r==null)return c;try{for(var m=Ye(Object.keys(s)),h=m.next();!h.done;h=m.next()){var b=h.value,v=s[b],g=this._fieldIds[b],x=r.get(g);if(x!=null){var _=x.size,E=this._avgFieldLength[g];try{for(var S=(d=void 0,Ye(x.keys())),M=S.next();!M.done;M=S.next()){var T=M.value;if(!this._documentIds.has(T)){this.removeTerm(g,T,t),_-=1;continue}var A=o?o(this._documentIds.get(T),t,this._storedFields.get(T)):1;if(A){var C=x.get(T),R=this._fieldLength.get(T)[g],L=QV(C,_,this._documentCount,R,E,l),I=i*v*A*L,O=c.get(T);if(O){O.score+=I,nk(O.terms,e);var N=Qf(O.match,t);N?N.push(b):O.match[t]=[b]}else c.set(T,{score:I,terms:[e],match:(y={},y[t]=[b],y)})}}}catch(w){d={error:w}}finally{try{M&&!M.done&&(p=S.return)&&p.call(S)}finally{if(d)throw d.error}}}}}catch(w){u={error:w}}finally{try{h&&!h.done&&(f=m.return)&&f.call(m)}finally{if(u)throw u.error}}return c},n.prototype.addTerm=function(e,t,i){var r=this._index.fetch(i,bw),s=r.get(e);if(s==null)s=new Map,s.set(t,1),r.set(e,s);else{var o=s.get(t);s.set(t,(o||0)+1)}},n.prototype.removeTerm=function(e,t,i){if(!this._index.has(i)){this.warnDocumentChanged(t,e,i);return}var r=this._index.fetch(i,bw),s=r.get(e);s==null||s.get(t)==null?this.warnDocumentChanged(t,e,i):s.get(t)<=1?s.size<=1?r.delete(e):s.delete(t):s.set(t,s.get(t)-1),this._index.get(i).size===0&&this._index.delete(i)},n.prototype.warnDocumentChanged=function(e,t,i){var r,s;try{for(var o=Ye(Object.keys(this._fieldIds)),l=o.next();!l.done;l=o.next()){var c=l.value;if(this._fieldIds[c]===t){this._options.logger("warn","MiniSearch: document with ID ".concat(this._documentIds.get(e),' has changed before removal: term "').concat(i,'" was not present in field "').concat(c,'". Removing a document after it has changed can corrupt the index!'),"version_conflict");return}}}catch(u){r={error:u}}finally{try{l&&!l.done&&(s=o.return)&&s.call(o)}finally{if(r)throw r.error}}},n.prototype.addDocumentId=function(e){var t=this._nextId;return this._idToShortId.set(e,t),this._documentIds.set(t,e),this._documentCount+=1,this._nextId+=1,t},n.prototype.addFields=function(e){for(var t=0;t<e.length;t++)this._fieldIds[e[t]]=t},n.prototype.addFieldLength=function(e,t,i,r){var s=this._fieldLength.get(e);s==null&&this._fieldLength.set(e,s=[]),s[t]=r;var o=this._avgFieldLength[t]||0,l=o*i+r;this._avgFieldLength[t]=l/(i+1)},n.prototype.removeFieldLength=function(e,t,i,r){if(i===1){this._avgFieldLength[t]=0;return}var s=this._avgFieldLength[t]*i-r;this._avgFieldLength[t]=s/(i-1)},n.prototype.saveStoredFields=function(e,t){var i,r,s=this._options,o=s.storeFields,l=s.extractField;if(!(o==null||o.length===0)){var c=this._storedFields.get(e);c==null&&this._storedFields.set(e,c={});try{for(var u=Ye(o),f=u.next();!f.done;f=u.next()){var d=f.value,p=l(t,d);p!==void 0&&(c[d]=p)}}catch(y){i={error:y}}finally{try{f&&!f.done&&(r=u.return)&&r.call(u)}finally{if(i)throw i.error}}}},n.wildcard=Symbol("*"),n}(),Qf=function(n,e){return Object.prototype.hasOwnProperty.call(n,e)?n[e]:void 0},qV=(qa={},qa[Kf]=function(n,e){var t,i;try{for(var r=Ye(e.keys()),s=r.next();!s.done;s=r.next()){var o=s.value,l=n.get(o);if(l==null)n.set(o,e.get(o));else{var c=e.get(o),u=c.score,f=c.terms,d=c.match;l.score=l.score+u,l.match=Object.assign(l.match,d),yw(l.terms,f)}}}catch(p){t={error:p}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return n},qa[mw]=function(n,e){var t,i,r=new Map;try{for(var s=Ye(e.keys()),o=s.next();!o.done;o=s.next()){var l=o.value,c=n.get(l);if(c!=null){var u=e.get(l),f=u.score,d=u.terms,p=u.match;yw(c.terms,d),r.set(l,{score:c.score+f,terms:c.terms,match:Object.assign(c.match,p)})}}}catch(y){t={error:y}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(t)throw t.error}}return r},qa[YV]=function(n,e){var t,i;try{for(var r=Ye(e.keys()),s=r.next();!s.done;s=r.next()){var o=s.value;n.delete(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}return n},qa),KV={k:1.2,b:.7,d:.5},QV=function(n,e,t,i,r,s){var o=s.k,l=s.b,c=s.d,u=Math.log(1+(t-e+.5)/(e+.5));return u*(c+n*(o+1)/(n+o*(1-l+l*i/r)))},ek=function(n){return function(e,t,i){var r=typeof n.fuzzy=="function"?n.fuzzy(e,t,i):n.fuzzy||!1,s=typeof n.prefix=="function"?n.prefix(e,t,i):n.prefix===!0;return{term:e,fuzzy:r,prefix:s}}},ep={idField:"id",extractField:function(n,e){return n[e]},tokenize:function(n){return n.split(ik)},processTerm:function(n){return n.toLowerCase()},fields:void 0,searchOptions:void 0,storeFields:[],logger:function(n,e){typeof(console==null?void 0:console[n])=="function"&&console[n](e)},autoVacuum:!0},gw={combineWith:Kf,prefix:!1,fuzzy:!1,maxFuzzy:6,boost:{},weights:{fuzzy:.45,prefix:.375},bm25:KV},tk={combineWith:mw,prefix:function(n,e,t){return e===t.length-1}},tp={batchSize:1e3,batchWait:10},np={minDirtFactor:.1,minDirtCount:20},ip=ht(ht({},tp),np),nk=function(n,e){n.includes(e)||n.push(e)},yw=function(n,e){var t,i;try{for(var r=Ye(e),s=r.next();!s.done;s=r.next()){var o=s.value;n.includes(o)||n.push(o)}}catch(l){t={error:l}}finally{try{s&&!s.done&&(i=r.return)&&i.call(r)}finally{if(t)throw t.error}}},vw=function(n,e){var t=n.score,i=e.score;return i-t},bw=function(){return new Map},cu=function(n){var e,t,i=new Map;try{for(var r=Ye(Object.keys(n)),s=r.next();!s.done;s=r.next()){var o=s.value;i.set(parseInt(o,10),n[o])}}catch(l){e={error:l}}finally{try{s&&!s.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}return i},ik=/[\n\r -#%-*,-/:;?@[-\]_{}\u00A0\u00A1\u00A7\u00AB\u00B6\u00B7\u00BB\u00BF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u09FD\u0A76\u0AF0\u0C77\u0C84\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166E\u1680\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2000-\u200A\u2010-\u2029\u202F-\u2043\u2045-\u2051\u2053-\u205F\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E4F\u3000-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]+/u;const rk=["label","models","source"];class sk{constructor(){this._searchEngine=new JV({fields:["path","name"],storeFields:["path"],tokenize:(e,t)=>e.split('"')}),this._featureIds=[],this.zincObjects=[],this.regions=[]}indexMetadata(e,t){const i=[];for(const r of rk)if(r in t){const s=t[r];i.includes(s)||(this.addTerm_(e,s),i.push(s))}}addZincObject(e,t){const i=e.getRegion().getFullPath(),s={path:i?`${i}/${e.groupName}`:e.groupName,name:e.groupName,id:t};this._searchEngine.add(s,{fields:["path","name"]}),this.zincObjects.push(e)}removeZincObject(e,t){const i=e.getRegion().getFullPath(),s={path:i?`${i}/${e.groupName}`:e.groupName,name:e.groupName,id:t};this._searchEngine.remove(s,{fields:["path","name"]});for(let o=0;o<this.zincObjects.length;o++)if(t===this.zincObjects[o].uuid){this.zincObjects.splice(o,1);return}}addRegion(e,t){const i={path:e.getFullPath(),name:e.getName(),id:t};this._searchEngine.add(i,{fields:["path","name"]}),this.regions.push(e)}clearResults(){this._}removeAll(){this._searchEngine.removeAll(),this.zincObjects.length=0,this.regions.length=0}auto_suggest(e){return this._searchEngine.autoSuggest(e,{prefix:!0})}processResults(e,t){const i={regionPath:void 0,label:'Search Results for "'};return Array.isArray(t)?i.label+=",".join(t):i.label+=t,i.label+='"',e.length===1&&(e[0].isRegion?i.regionPath=e[0].getFullPath():e[0].isZincObject&&(i.regionPath=e[0].getRegion().getFullPath(),i.label=e[0].groupName)),i.zincObjects=qF(e),i}search(e){const t=this._searchEngine.search(e,{prefix:!0}),i=this.zincObjects.filter(s=>t.map(o=>o.id).includes(s.uuid)),r=this.regions.filter(s=>t.map(o=>o.id).includes(s.uuid));return i.push(...r),i}searchTerms(e){let t=[];return e.forEach(i=>{const r=this.search(i);t.push(...r)}),t}searchAndProcessResult(e){let t=[];return Array.isArray(e)?t=this.searchTerms(e):t=this.search(e),this.processResults(t,e)}}const ok=rw("settings",{state:()=>({organCuries:[],imageTypes:[],imageThumbnails:{}}),getters:{imageTypeCached:n=>e=>n.imageTypes.includes(e),getImageThumbnails:n=>(e,t=void 0)=>{if(t){let i={};return Object.entries(n.imageThumbnails).forEach(([r,s])=>{t.includes(r)&&(i[r]=s.filter(o=>o.type===e))}),i}return n.imageThumbnails}},actions:{updateOrganCuries(n){this.organCuries=n},updateImageThumbnails(n,e){this.imageTypes.push(n),Object.keys(e).forEach(t=>{t in this.imageThumbnails||(this.imageThumbnails[t]=[]),this.imageThumbnails[t].push(...e[t])})}}}),uu=async(n,e,t)=>await(await fetch(`${n}/get-files-info-for-curies`,{method:"POST",body:JSON.stringify({curies:e.map(s=>s.id),filetypes:t}),headers:{"Content-Type":"application/json"}})).json(),du=n=>n.substring(n.lastIndexOf("/")+1),ak=(n,e)=>`${n}/thumbnail/${e}`,lk=async(n,e,t)=>{try{const i=await uu(n,e,["biolucida-2d","biolucida-3d"]);if(i.files_info){let r={};for(const[s,o]of Object.entries(i.files_info))if(o.length>0){let l=[];o.forEach(c=>{const u=ak(n,c.biolucida_id);if(c.biolucida_id){let f={thumbnail:u,resource:c.file_path,id:c.id,title:du(c.file_path),type:t,link:u,mimetype:c.mimetype,species:c.species,version:c.version};l.push(f)}}),r[s]=l}return r}}catch(i){console.error("Error:",i)}return{}},ck=(n,e,t,i)=>`${n}/thumbnail/neurolucida?datasetId=${e}&version=${t}&path=files/${i}`,uk=async(n,e,t)=>{try{const i=await uu(n,e,["mbf-segmentation"]);if(i.files_info){let r={};for(const[s,o]of Object.entries(i.files_info))if(o.length>0){let l=[];o.forEach(c=>{const u=ck(n,c.id,c.version,c.file_path);let f={thumbnail:u,resource:c.file_path,id:c.id,title:du(c.file_path),type:t,link:u,mimetype:c.mimetype,species:c.species,version:c.version};l.push(f)}),r[s]=l}return r}}catch(i){console.error("Error:",i)}return{}},xw=(n,e,t)=>{if(n&&e)for(let i=0;i<n.isSourceOf.length;i++)for(let r=0;r<e.length;r++){const s=e[r];if(n.id===s.id&&(!t||s.type===t)&&n.isSourceOf[i]===s.file_path)return s}},dk=(n,e,t)=>{const i=xw(e,t,"abi-scaffold-view-file"),r=xw(i,t,"abi-thumbnail");if(r)return`${n}/s3-resource/${r.id}/files/${r.file_path}`},hk=async(n,e,t)=>{try{const i=await uu(n,e,["abi-thumbnail","abi-scaffold-metadata-file","abi-scaffold-view-file"]);if(i.files_info){let r={};for(const[s,o]of Object.entries(i.files_info))if(o.length>0){let l=[];o.forEach(c=>{if(c.type==="abi-scaffold-metadata-file"){const u=dk(n,c,o);if(u){let f={thumbnail:u,resource:c.file_path,id:c.id,title:du(c.file_path),type:t,link:u,species:c.species,version:c.version};l.push(f)}}}),r[s]=l}return r}}catch(i){console.error("Error:",i)}return{}},fk=(n,e)=>{if(e.isSourceOf.length>0)return`${n}/s3-resource/${e.id}/files/${e.isSourceOf[0]}`},pk=async(n,e,t)=>{try{const i=await uu(n,e,["abi-plot","abi-thumbnail"]);if(i.files_info){let r={};for(const[s,o]of Object.entries(i.files_info))if(o.length>0){let l=[];o.forEach(c=>{if(c.type==="abi-plot"){const u=fk(n,c);if(u){let f={thumbnail:u,resource:c.file_path,id:c.id,title:du(c.file_path),type:t,link:u,species:c.species,version:c.version};l.push(f)}}}),r[s]=l}return r}}catch(i){console.error("Error:",i)}return{}},mk={name:"ScaffoldVuer",mixins:[{methods:{populateMapWithImages:async function(n,e){let t={};for(const[i,r]of Object.entries(n)){const s=await this.downloadImageThumbnail(i,r,e);s?t[i]=s:t[i]=this.markerLabels[i]}return t},downloadImageThumbnail:async function(n,e,t){const i=e.length;if(i>0){const r=Math.floor(Math.random()*i),s=e[r].thumbnail;try{const o=await this.getImageThumbnail(s,t);return await this.addImageThumbnailMarker(n,o)}catch{e.splice(r),this.downloadImageThumbnail(n,e,t)}}},getImageThumbnail:async function(n,e){return new Promise((t,i)=>{e==="Image"||e==="Segmentation"?this.getBinaryThumbnail(n).then(r=>t(r)).catch(r=>i(r)):this.getGenericThumbnail(n).then(r=>t(r)).catch(r=>i(r))})},getBinaryThumbnail:async function(n){return new Promise((e,t)=>{fetch(n).then(i=>{if(i.status>=200&&i.status<300)return i.text();t()}).then(i=>{if(i){let r=new Image;r.onload=function(){e(`data:'image/png';base64,${i}`)},r.onerror=function(){t(new Error("Failed to load image at "+n))},r.src=`data:'image/png';base64,${i}`}else t(new Error("Failed to load image at "+n))})})},getGenericThumbnail:async function(n){return new Promise((e,t)=>{let i=new Image;i.onload=function(){e(n)},i.onerror=function(){t(new Error("Failed to load image at "+n))},i.src=n})},addImageThumbnailMarker:async function(n,e){const t=await(await fetch(e)).blob(),i=URL.createObjectURL(t);return{number:this.markerLabels[n],imgURL:i}}}}],components:{Button:Qi,Col:fn,Loading:FL,Option:Rs,Popover:Dl,Row:kn,Select:As,Slider:Rn,TabPane:s0,Tabs:r0,MapSvgIcon:sp.MapSvgIcon,MapSvgSpriteColor:sp.MapSvgSpriteColor,PrimitiveControls:Yx,ScaffoldTooltip:aw,ElIconWarningFilled:pm,ElIconArrowDown:Du,ElIconArrowLeft:ji,DrawToolbar:fu.DrawToolbar,ScaffoldTreeControls:Jx},setup(n){return{annotator:a.markRaw(new BV(`${n.flatmapAPI}annotator`))}},props:{url:{type:String,default:""},showColourPicker:{type:Boolean,default:!1},displayUI:{type:Boolean,default:!0},displayAtStartUp:{type:Boolean,default:!0},helpMode:{type:Boolean,default:!1},helpModeActiveItem:{type:Number,default:0},helpModeDialog:{type:Boolean,default:!1},helpModeLastItem:{type:Boolean,default:!1},helpModeInitialIndex:{type:Number,default:0},displayWarning:{type:Boolean,default:!0},warningMessage:{type:String,default:"Beta feature - under active development"},displayLatestChanges:{type:Boolean,default:!1},latestChangesMessage:{type:String,default:"New feature - Local search is now available"},displayMarkers:{type:Boolean,default:!1},markerCluster:{type:Boolean,default:!1},markerLabels:{type:Object,default:function(){return{}}},displayMinimap:{type:Boolean,default:!1},format:{type:String,default:"metadata"},minimapSettings:{type:Object,default:function(){return{x_offset:16,y_offset:16,width:128,height:128,align:"top-right"}}},enableOpenMapUI:{type:Boolean,default:!1},openMapOptions:{type:Array,default:function(){return[{display:"Open AC Map",key:"AC"},{display:"Open FC Map",key:"FC"},{display:"Open 3D Human Map",key:"3D"}]}},state:{type:Object,default:void 0},region:{type:String,default:""},viewURL:{type:String,default:""},render:{type:Boolean,default:!0},flatmapAPI:{type:String,default:"https://mapcore-demo.org/current/flatmap/v3/"},enableLocalAnnotations:{type:Boolean,default:!1},sparcAPI:{type:String,default:"https://api.sparc.science/"},imageThumbnailSidebar:{type:Boolean,default:!1}},provide(){return{flatmapAPI:this.flatmapAPI,scaffoldUrl:this.url,$annotator:this.annotator,boundingDims:this.boundingDims,getFeaturesAlert:()=>{}}},data:function(){return{annotator:void 0,createData:{drawingBox:!1,toBeConfirmed:!1,points:[],shape:"",x:0,y:0,editingIndex:-1,faceIndex:-1,toBeDeleted:!1},currentTime:0,timeVarying:!1,isPlaying:!1,isReady:!1,isTransitioning:!1,tooltipAppendToBody:!1,hoverVisibilities:[{value:!1,ref:"zoomInPopover"},{value:!1,ref:"zoomOutPopover"},{value:!1,ref:"zoomFitPopover"},{value:!1,ref:"openMapPopover"},{value:!1,ref:"settingsPopover"},{value:!1,ref:"sliderPopover"},{value:!1,ref:"regionVisibilityPopover"},{value:!1,ref:"warningPopover"},{value:!1,ref:"whatsNewPopover"},{value:!1,refs:"toolbarPopover",ref:"editPopover"},{value:!1,refs:"toolbarPopover",ref:"pointPopover"},{value:!1,refs:"toolbarPopover",ref:"lineStringPopover"},{value:!1,refs:"toolbarPopover",ref:"deletePopover"}],inHelp:!1,helpModeActiveIndex:this.helpModeInitialIndex,loading:!1,duration:3e3,drawerOpen:!0,currentBackground:"white",availableBackground:["white","lightskyblue","black"],minimisedSlider:!1,sliderPosition:"",timeMax:100,orginalDuration:"",animateDuration:"6secs",playSpeed:[{value:.1,label:"0.1x"},{value:.5,label:"0.5x"},{value:1,label:"1x"},{value:2,label:"2x"},{value:5,label:"5x"},{value:10,label:"10x"}],currentSpeed:1,timeStamps:{},defaultCheckedKeys:[],tData:{label:"",region:"",visible:!1,x:200,y:200,active:!1},fileFormat:"metadata",markerLabelEntry:a.markRaw({}),previousMarkerLabelEntry:a.markRaw({}),viewingMode:"Exploration",viewingModes:{Exploration:"View and explore detailed visualization of 3D scaffolds",Annotation:"View internal identifiers of features"},openMapRef:void 0,backgroundIconRef:void 0,userInformation:void 0,toolbarOptions:["Delete","Edit","Point","LineString"],activeDrawTool:void 0,activeDrawMode:void 0,localAnnotationsList:a.markRaw([]),boundingDims:{centre:[0,0,0],size:[1,1,1]},imageRadio:!1,imageType:"Image",imageTypes:["Image","Segmentation","Scaffold","Plot"],imageClicked:""}},watch:{format:{handler:function(n){this.fileFormat=n},immediate:!0},url:{handler:function(n){(this.state===void 0||this.state.url===void 0)&&this.setURL(n)},immediate:!0},region:{handler:function(n){this.state||this.viewURL||this.setFocusedRegion(n)},immediate:!0},state:{handler:function(n){this.setState(n)},immediate:!0,deep:!0},viewURL:{handler:function(n){this.updateViewURL(n)},immediate:!0},helpMode:function(n,e){n!==e&&this.setHelpMode(n)},helpModeActiveItem:function(){this.helpMode&&(this.helpModeActiveIndex+=1,this.setHelpMode(this.helpMode))},displayMarkers:function(n){this.$module.scene.displayMarkers=n,this.$module.scene.forcePickableObjectsUpdate=!0},displayMinimap:function(n){this.$module.scene.displayMinimap=n},currentTime:{handler:function(){this.$emit("timeChanged",this.currentTime)}},duration:function(){this.$module.scene.setDuration(this.duration)},minimapSettings:{deep:!0,handler:"updateMinimapScissor"},render:function(n){this.toggleRendering(n)},markerCluster:{handler:function(n){this.$module.scene.enableMarkerCluster(n)},immediate:!0},markerLabels:function(n){this.markerLabelEntry=a.markRaw({...n})},markerLabelEntry:function(n){for(const[e,t]of Object.entries(this.previousMarkerLabelEntry))this.setMarkerModeForObjectsWithName(e,t,"off");for(const[e,t]of Object.entries(n))this.setMarkerModeForObjectsWithName(e,t,"on");this.previousMarkerLabelEntry=a.markRaw({...n})}},beforeCreate:function(){this.$module=new cw,this.selectedObjects=[],this.hoveredObjects=[],this.currentBackground="white",this._currentURL=void 0,this.availableBackground=["white","black","lightskyblue"],this.$_searchIndex=new sk},mounted:function(){this.openMapRef=a.shallowRef(this.$refs.openMapRef),this.backgroundIconRef=a.shallowRef(this.$refs.backgroundIconRef),this.$refs.scaffoldTreeControls.setModule(this.$module);let n=new kV;n.subscribe(this,this.eventNotifierCallback),this.$module.addNotifier(n),this.$module.addOrganPartAddedCallback(this.zincObjectAdded),this.$module.addOrganPartRemovedCallback(this.zincObjectRemoved),this.$module.initialiseRenderer(this.$refs.display),this.toggleRendering(this.render),this.ro=new ResizeObserver(this.adjustLayout).observe(this.$refs.scaffoldContainer),this.helpTextWait=[],this.helpTextWait.length=this.hoverVisibilities.length,this.defaultRate=this.$module.getPlayRate(),this.$module.zincRenderer.addPreRenderCallbackFunction(()=>{this.currentTime=this.$module.getCurrentTime()})},beforeUnmount:function(){this.ro&&this.ro.disconnect(),this.$module.destroy(),this.$module=void 0},computed:{...sw(ow,["userToken"]),...AV(ok),annotationDisplay:function(){return this.viewingMode==="Annotation"&&this.tData.active===!0&&(this.activeDrawMode==="Edit"||this.activeDrawMode==="Delete")},imageThumbnailsEntry:function(){return this.imageClicked?this.convertUberonToName():{}}},methods:{addZincObject:function(n){this.$module.scene&&this.$module.scene.addZincObject(n)},zincObjectAdded:function(n){this.loading=!1,this.$_searchIndex.addZincObject(n,n.uuid),this.timeVarying===!1&&n.isTimeVarying()&&(this.timeVarying=!0),this.$emit("zinc-object-added",n)},removeFromLocalAnnotationList:function(n,e){for(let t=0;t<this.localAnnotationsList.length;t++){const i=this.localAnnotationsList[t];if(i.region===n&&i.group===e){this.localAnnotationsList.splice(t,1);return}}},zincObjectRemoved:function(n){if(this.$module.scene){const e=n.region.getFullPath(),t=n.groupName;n.region.findObjectsWithGroupName(t,!1).length===0&&(this.$_searchIndex.removeZincObject(n,n.uuid),this.removeFromLocalAnnotationList(e,t))}},addRegionsToSearchIndex:function(){this.$module.scene.getRootRegion().getChildRegions(!0).forEach(t=>{this.$_searchIndex.addRegion(t,t.uuid)})},backgroundChangeCallback:function(n){this.currentBackground=n,this.$module.zincRenderer.getThreeJSRenderer().setClearColor(this.currentBackground,1)},captureScreenshotCallback:function(){this.$module.zincRenderer.removePostRenderCallbackFunction(this.captureID);let n=this.$module.zincRenderer.getThreeJSRenderer().domElement.toDataURL("image/png"),e=document.createElement("a");document.body.append(e),this.captureFilename?e.download=this.captureFilename:e.download="screenshot.png",e.href=n,e.click(),e.remove()},captureScreenshot:function(n){this.captureFilename=n,this.captureID=this.$module.zincRenderer.addPostRenderCallbackFunction(this.captureScreenshotCallback)},clearScene:function(){this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.$_searchIndex&&this.$_searchIndex.removeAll(),this.$module.scene&&this.$module.scene.clearAll()},addAndEditAnnotations:function(n,e,t,i){const r=Gx(this.annotator,this.userToken,t,n,e,this.url,i);if(this.enableLocalAnnotations){r.group=e;let s=n;s.slice(-1)==="/"&&(s=s.slice(0,-1)),r.region=s,this.removeFromLocalAnnotationList(s,e),this.localAnnotationsList.push(r)}this.$emit("userPrimitivesUpdated",{region:n,group:e,zincObject:t})},primitivesUpdated:function(n){if(n.isZincObject&&n.isEditable){const e=n.groupName,t=n.region.getFullPath();this.addAndEditAnnotations(t,e,n,"Position Updated")}},confirmCreate:function(n){if(n){let e;if(n.shape==="Point")e=this.$module.scene.createPoints(n.region,n.group,this.createData.points,n.group,8942);else if(n.shape==="LineString")e=this.$module.scene.createLines(n.region,n.group,[this.createData.points[0],this.createData.points[1]],60962);else if(n.editingIndex>-1&&this._editingZincObject){this._editingZincObject.editVertices([this.createData.points[1]],n.editingIndex);const t=this._editingZincObject.region.getFullPath()+"/",i=this._editingZincObject.groupName;this.addAndEditAnnotations(t,i,this._editingZincObject,"Position Updated")}e&&(this.addAndEditAnnotations(n.region,n.group,e.zincObject,"Create"),e.zincObject.isEditable=!0,this.tData.region=n.region,this.tData.label=n.group,this.changeActiveByName([n.group],n.region,!1))}this.cancelCreate()},cancelCreate:function(){this.createData.points.length=0,this.createData.toBeConfirmed=!1,this._editingZincObject=void 0,this.createData.editingIndex=-1,this.createData.faceIndex=-1,this.tData.visible=!1,this.createData.toBeDeleted=!1,this._tempLine&&(this.$module.scene.removeTemporaryPrimitive(this._tempLine),this._tempLine=void 0),this._tempPoint&&(this.$module.scene.removeTemporaryPrimitive(this._tempPoint),this._tempPoint=void 0)},confirmDelete:function(){var n;if((n=this._editingZincObject)!=null&&n.isEditable){const e=this._editingZincObject.region.getFullPath()+"/",t=this._editingZincObject.groupName;Gx(this.annotator,this.userToken,this._editingZincObject,e,t,this.url,"Deleted")&&this.$module.scene.getRootRegion().findChildFromPath(e).removeZincObject(this._editingZincObject)}this.cancelCreate()},formatTooltip(n){if(this.timeMax>=1e3&&n){let e=(n%6e4/1e3).toFixed(2)+"s";return(n>6e4?(n/6e4).toFixed(0)+"m ":"")+e}return n?n.toFixed(2)+" ms":"0 ms"},fitWindow:function(){if(this.$module.scene){let n=!1;this._boundingBoxGeo&&(n=this._boundingBoxGeo.getVisibility(),this._boundingBoxGeo.setVisibility(!1)),this.$module.scene.viewAll(),this._boundingBoxGeo&&(YF(this._boundingBoxGeo,this.$module.scene),this._boundingBoxGeo.setVisibility(n))}},zoomIn:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(-1)},zoomOut:function(){this.$module.scene&&this.$module.scene.changeZoomByScrollRateUnit(1)},speedChanged:function(n){this.currentSpeed=n,this.$module.setPlayRate(this.defaultRate*this.currentSpeed)},stopFreeSpin:function(){this.$module.scene.getZincCameraControls().stopAutoTumble(),this.isTransitioning=!1},findObjectsWithGroupName:function(n){let e=[];return n&&n!=""&&this.$module.scene&&(e=this.$module.scene.findObjectsWithGroupName(n)),e},toggleDrawing:function(n,e){this.createData.toBeDeleted=!1,n==="mode"?(this.activeDrawMode=e,this.createData.shape="",this.$module.selectObjectOnPick=!0):n==="tool"&&(this.activeDrawTool=e,this.createData.shape=this.activeDrawTool,this.$module.selectObjectOnPick=!1)},toggleDrawingBox:function(){this.createData.drawingBox=!this.createData.drawingBox},viewRegion:function(n){const e=this.$module.scene.getRootRegion(),t=Array.isArray(n)?n:[n],i=Ro(e,t,"",!0);let r=this.$module.scene.getBoundingBoxOfZincObjects(i);if(r){if(this.$module.isSyncControl())this.$module.setSyncControlZoomToBox(r);else{const s=this.$module.scene.camera.far-this.$module.scene.camera.near;this.$module.scene.viewAllWithBoundingBox(r),this.$module.scene.camera.far=this.$module.scene.camera.near+s,this.$module.scene.camera.updateProjectionMatrix()}return!0}return!1},setFocusedRegion:function(n){n&&(this.isReady?this.viewRegion(n):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({region:n})))},updateViewURL:function(n){if(n)if(this.isReady){const e=new URL(n,this.url);this.$module.scene.loadViewURL(e)}else this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewURL:n}))},createEditTemporaryLines:function(n){if(n&&(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.createData.points.length===1)if(this._tempLine){const e=this._tempLine.geometry.getAttribute("position");e.setXYZ(1,n[0],n[1],n[2]),e.needsUpdate=!0}else this._tempLine=this.$module.scene.addTemporaryLines([this.createData.points[0],n],65535)},draw:function(n){n&&n.length>0&&n[0].data.group&&n[0].extraData.worldCoords&&(this.createData.shape==="Point"?this.drawPoint(n[0].extraData.worldCoords,n):(this.createData.shape==="LineString"||this.createData.editingIndex>-1)&&this.drawLine(n[0].extraData.worldCoords,n))},drawPoint:function(n,e){this.createData.toBeConfirmed===!1&&(this.createData.points.length=0,this.createData.points.push(n),this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this._tempPoint=this.$module.scene.addTemporaryPoints([n],16776960),this.createData.toBeConfirmed=!0)},drawLine:function(n,e){this.createData.toBeConfirmed===!1&&(this.createData.points.length===1?(this.createData.points.push(n),this.showRegionTooltipWithAnnotations(e,!0,!1),this.tData.x=50,this.tData.y=200,this.createData.toBeConfirmed=!0):(this._tempPoint=this.$module.scene.addTemporaryPoints([n],16776960),this.createData.points.push(n)))},getRendererInfo:function(){if(this.$module.zincRenderer)return this.$module.zincRenderer.getThreeJSRenderer().info},freeSpin:function(){if(this.$module.scene){let n=this.$module.scene.getZincCameraControls();this.isTransitioning=!0,n.enableAutoTumble(),n.autoTumble([1,0],Math.PI,!0),setTimeout(this.stopFreeSpin,4e3)}},activateAnnotationMode:function(n,e){if(this.userInformation||this.enableLocalAnnotations)if(this.createData.toBeDeleted=!1,this.createData.shape!==""||this.createData.editingIndex>-1)n.length>0&&e.identifiers[0].coords&&(this.createData.x=e.identifiers[0].coords.x,this.createData.y=e.identifiers[0].coords.y,this.draw(e.identifiers));else{if(this.activeDrawMode==="Edit"){const t=$F(e);t&&this.activateEditingMode(t.zincObject,t.faceIndex,t.vertexIndex,t.point)}else if(this.activeDrawMode==="Delete"){const t=ZF(e);t&&(this.createData.toBeDeleted=!0,this._editingZincObject=t)}this.activeDrawMode==="Edit"||this.activeDrawMode==="Delete"?(this.showRegionTooltipWithAnnotations(e.identifiers,!0,!1),this.tData.x=50,this.tData.y=200):this.showRegionTooltipWithAnnotations(e.identifiers,!0,!0)}else this.showRegionTooltipWithAnnotations(e.identifiers,!0,!0)},activateEditingMode:function(n,e,t,i){this._editingZincObject=n,this.createData.faceIndex=e,this.createData.editingIndex=t,this.drawLine(i,void 0)},eventNotifierCallback:function(n){if(!(this.createData.toBeConfirmed||this.createData.toBeDeleted)){const e=[];let t=[];if((n.eventType==1||n.eventType==2)&&(n.identifiers.forEach(i=>{if(i){let r=i.data.id?i.data.id:i.data.group;e.push(r)}}),t=n.zincObjects),n.eventType==1)this.viewingMode==="Annotation"?this.activateAnnotationMode(e,n):(this.$refs.scaffoldTreeControls&&(e.length>0?(this.$refs.scaffoldTreeControls.updateActiveUI(t),this.updatePrimitiveControls(t)):(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls.removeActive(!1))),this.imageRadio&&n.identifiers.length&&n.identifiers[0]?this.imageClicked=n.identifiers[0].data.id?n.identifiers[0].data.id:n.identifiers[0].data.group:this.imageClicked="",this.$emit("scaffold-selected",n.identifiers));else if(n.eventType==2){if(this.selectedObjects.length===0){if(this.hideRegionTooltip(),this.$refs.scaffoldTreeControls&&(e.length>0?this.$refs.scaffoldTreeControls.updateHoverUI(t):this.$refs.scaffoldTreeControls.removeHover(!0)),n.identifiers.length>0&&n.identifiers[0]){let i=n.identifiers[0].data.id?n.identifiers[0].data.id:n.identifiers[0].data.group;n.identifiers[0].coords&&(this.tData.active=!1,this.tData.visible=!0,this.tData.label=i,n.identifiers[0].data.region?this.tData.region=n.identifiers[0].data.region:this.tData.region=void 0,this.tData.x=n.identifiers[0].coords.x,this.tData.y=n.identifiers[0].coords.y,this.createEditTemporaryLines(n.identifiers[0].extraData.worldCoords))}this.$emit("scaffold-highlighted",n.identifiers)}}else if(n.eventType==3&&n.identifiers.length>0&&n.identifiers[0]){if(n.identifiers[0].coords){const r=this.$refs.scaffoldContainer.getBoundingClientRect();this.tData.x=n.identifiers[0].coords.x-r.left,this.tData.y=n.identifiers[0].coords.y-r.top,this.createEditTemporaryLines(n.identifiers[0].extraData.worldCoords)}this.createEditTemporaryLines(n.identifiers[0].extraData.worldCoords);const i=n.identifiers[0].data.id?n.identifiers[0].data.id:n.identifiers[0].data.group;this.imageClicked!==i&&(this.imageClicked="")}}},getCoordinatesOfSelected:function(){if(this.selectedObjects&&this.selectedObjects.length>0)return this.$module.scene.getObjectsScreenXY(this.selectedObjects)},getDynamicSelectedCoordinates:function(){return this.$module.selectedScreenCoordinates},timeChange:function(n){let e=n/this.timeMax*100;e!=this.currentTime&&this.$module.updateTime(e)},updatePrimitiveControls:function(n){this.selectedObjects=n,this.selectedObjects&&this.selectedObjects.length>0?this.$refs.primitiveControls.setObject(this.selectedObjects[0]):this.$refs.primitiveControls.setObject(void 0)},objectSelected:function(n,e){this.updatePrimitiveControls(n),this.$module.setSelectedByZincObjects(n,void 0,{},e)},objectHovered:function(n,e){this.hoveredObjects=n,this.$module.setHighlightedByZincObjects(n,void 0,{},e)},changeActiveByName:function(n,e,t){const i=Array.isArray(n);if(n===void 0||i&&n.length===0)this.$refs.scaffoldTreeControls.removeActive(t);else{let r=n;i||(r=[r]),this.$refs.scaffoldTreeControls.changeActiveByNames(r,e,t)}},changeHighlightedByName:function(n,e,t){const i=Array.isArray(n);if(n===void 0||i&&n.length===0)this.$refs.scaffoldTreeControls.removeHover(t);else{let r=n;i||(r=[r]),this.$refs.scaffoldTreeControls.changeHoverByNames(r,e,t)}},play:function(n){this.$module.playAnimation(n),this.isPlaying=n},setHelpMode:function(n){const e=this.hoverVisibilities.length,t=e-1,i=this.hoverVisibilities[this.helpModeActiveIndex];if(i){const r=i==null?void 0:i.refs,s=i==null?void 0:i.ref;this.$refs[r||s]||(this.helpModeActiveIndex+=1)}n||(this.helpModeActiveIndex=this.helpModeInitialIndex),n&&this.helpModeActiveIndex>=t&&this.$emit("help-mode-last-item",!0),n&&!this.helpModeDialog?(this.inHelp=!0,this.hoverVisibilities.forEach(r=>{r.value=!0})):n&&this.helpModeDialog&&e>this.helpModeActiveIndex?this.helpModeActiveIndex>-1&&setTimeout(()=>{this.inHelp=!1,this.hoverVisibilities.forEach(r=>{r.value=!1}),this.showHelpText(this.helpModeActiveIndex,200)},300):(this.inHelp=!1,this.hoverVisibilities.forEach(r=>{r.value=!1}))},displayTooltipOfObjectsCallback:function(n,e,t,i,r){const s=this;return function(){s.$module.zincRenderer.removePostRenderCallbackFunction(s.$_regionTooltipCallback),s.$_regionTooltipCallback=void 0,s.displayTooltipOfObjects(n,e,t,i,r)}},liveUpdateTooltipPosition:function(){this.$module.selectedCenter&&(this.tData.x=this.$module.selectedScreenCoordinates.x,this.tData.y=this.$module.selectedScreenCoordinates.y)},displayTooltipOfObjects:function(n,e,t,i,r){if(e.length>0){let s=e[0].getClosestVertexDOMElementCoords(this.$module.scene);if(s)return s.inView?(n.includes("Search Results for")?this.tData.active=!1:this.tData.active=!0,this.tData.visible=!0,this.tData.label=n,this.tData.x=s.position.x,this.tData.y=s.position.y,this.tData.region=t,this.$_liveCoordinatesUpdated&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),r&&(this.$module.setupLiveCoordinates(e),this.$_liveCoordinatesUpdated=this.$module.zincRenderer.addPostRenderCallbackFunction(this.liveUpdateTooltipPosition))):(this.hideRegionTooltip(),i&&(this.$module.scene.viewAll(),this.$_regionTooltipCallback&&this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_regionTooltipCallback),this.$_regionTooltipCallback=this.$module.zincRenderer.addPostRenderCallbackFunction(this.displayTooltipOfObjectsCallback(n,e,t,i,r)))),!0}return this.hideRegionTooltip(),!1},showRegionTooltipWithObjects:function(n,e,t,i,r){return n&&e&&e.length>0&&this.$module.scene?this.displayTooltipOfObjects(n,e,t,i,r):(this.hideRegionTooltip(),!1)},showRegionTooltip:function(n,e,t){if(n&&this.$module.scene){const i=this.$module.scene.getRootRegion(),s=Ro(i,[n],"",!0);let o;return s&&s.length>0&&(o=s[0].getRegion().getFullPath()),this.showRegionTooltipWithObjects(n,s,o,e,t)}return this.hideRegionTooltip(),!1},showRegionTooltipWithAnnotations:function(n,e,t){if(this.$module.scene){const i=Ux(this.$module.scene,n);if(i&&i.objects.length>0)return this.showRegionTooltipWithObjects(i.label,i.objects,i.regionPath,e,t)}return this.hideRegionTooltip(),!1},changeViewingMode:function(n){if(this.$module){if(n&&(this.viewingMode=n),this.viewingMode==="Annotation"){let e=!1;this.userInformation&&(e=!0),this.userInformation=void 0,this.annotator.authenticate(this.userToken).then(t=>{t.name&&t.email&&(this.userInformation=t,e||eV(this.annotator,this.userToken,this.url).then(i=>{i&&i.features&&Hx(this.$module.scene,i.features)}))})}else this.viewingMode==="Exploration"&&(this.activeDrawTool=void 0,this.activeDrawMode=void 0,this.createData.shape="");this.viewingMode==="Exploration"||this.viewingMode==="Annotation"&&this.createData.shape===""?this.$module.selectObjectOnPick=!0:this.$module.selectObjectOnPick=!1,this.cancelCreate()}},hideRegionTooltip:function(){this.$_liveCoordinatesUpdated&&(this.$module.zincRenderer.removePostRenderCallbackFunction(this.$_liveCoordinatesUpdated),this.$module.setupLiveCoordinates(void 0)),this.tData.active=!1,this.tData.visible=!1,this.tData.region=void 0},setMarkerModeForObjectsWithName:function(n,e,t){if(n&&this.$module.scene){let i=e;typeof e=="number"&&(i={number:e,imgURL:void 0});const r=this.$module.scene.getRootRegion();Ro(r,[n],"",!0).forEach(l=>l.setMarkerMode(t,i))}},setMarkerModeWithAnnotations:function(n,e){if(this.$module.scene){const t=Ux(this.$module.scene,n);t&&t.objects.length>0&&t.objects.forEach(i=>i.setMarkerMode(e))}},showHelpText:function(n,e=500){this.inHelp||(clearTimeout(this.helpTextWait[n]),this.helpTextWait[n]=setTimeout(()=>{this.hoverVisibilities[n].value=!0,this.$emit("shown-tooltip")},e))},hideHelpText:function(n,e=500){this.inHelp||(clearTimeout(this.helpTextWait[n]),this.helpTextWait[n]=setTimeout(()=>{this.hoverVisibilities[n].value=!1},e))},search:function(n,e){if(this.$_searchIndex){if(n===void 0||n===""||Array.isArray(n)&&n.length===0)return this.objectSelected([],!0),!1;{const t=this.$_searchIndex.searchAndProcessResult(n),i=t.zincObjects;if(i.length>0){if(this.objectSelected(i,!0),e)for(let r=0;r<i.length;r++)i[r]&&i[r].groupName&&this.showRegionTooltipWithObjects(t.label,i,t.regionPath,!0,!0);return!0}else this.objectSelected([],!0)}}return!1},fetchSuggestions:function(n){return this.$_searchIndex===void 0?[]:this.$_searchIndex.auto_suggest(n)},updateMinimapScissor:function(){Object.keys(this.minimapSettings).forEach(n=>{this.$module.scene.minimapScissor[n]=this.minimapSettings[n]}),this.$module.scene.minimapScissor.updateRequired=!0},updateSettingsfromScene:function(){this.currentSpeed=1,this.$module.setPlayRate(this.defaultRate),this.orginalDuration=this.$module.scene.getMetadataTag("OriginalDuration"),this.animateDuration=this.$module.scene.getMetadataTag("Duration");let n=this.$module.scene.getMetadataTag("TimeStamps");this.timeStamps={};for(const e in n)this.timeStamps[n[e]]=e;this.timeMax=this.$module.scene.getDuration()},setURLFinishCallback:function(n){return()=>{if(n){if(n.viewport)this.$module.scene.getZincCameraControls().setCurrentCameraSettings(n.viewport);else if(n.viewURL&&n.viewURL!==""){const i=new URL(n.viewURL,this.url);this.$module.scene.loadViewURL(i)}else n.region&&n.region!==""&&this.viewRegion(n.region);n.visibility&&this.$nextTick(()=>{this.$refs.scaffoldTreeControls.setState(n.visibility)})}this.localAnnotationsList.length=0,this.updateSettingsfromScene(),this.$module.updateTime(.01),this.$module.updateTime(0),this.$module.unsetFinishDownloadCallback(),this.addRegionsToSearchIndex(),this.$emit("on-ready"),this.setMarkers(),this._boundingBoxGeo=this.$module.scene.addBoundingBoxPrimitive("_helper","boundingBox",4251856,.15),this._slides=this.$module.scene.addSlicesPrimitive("_helper",["x-plane","y-plane","z-plane"],[16733525,5635925,5592575],.5);const{centre:e,size:t}=this.$module.getCentreAndSize();this.boundingDims.centre=e,this.boundingDims.size=t,this.isReady=!0}},getState:function(){let n={format:this.fileFormat,url:this._currentURL,viewport:void 0,visibility:void 0};if(this.$refs.scaffoldTreeControls&&(n.visibility=this.$refs.scaffoldTreeControls.getState()),this.$module.scene){let e=this.$module.scene.getZincCameraControls();n.viewport=e.getCurrentViewport()}return n},setState:function(n){n&&(n.url&&n.url!==this._currentURL?this.setURLAndState(n.url,{fileFormat:n.fileFormat,viewport:n.viewport,visibility:n.visibility}):(n.viewport||n.visibility)&&(this.isReady&&this.$module.scene?(n.viewport&&this.$module.scene.getZincCameraControls().setCurrentCameraSettings(n.viewport),n.visibility&&this.$refs.scaffoldTreeControls.setState(n.visibility)):this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewport:n.viewport,visibility:n.visibility}))))},exportGLTF:function(n){return this.$module.scene.exportGLTF(n)},getLocalAnnotations:function(){return[...this.localAnnotationsList]},importLocalAnnotations:function(n){if(this.enableLocalAnnotations){n.forEach(t=>{const i=t.group,r=t.region;let s=r.slice(-1)==="/"?r:r+"/";const o=s.slice(0,-1);t.region=o,s=s+i;const l=encodeURIComponent(s);t.item.id=l,t.feature.id=l});const e=n.map(t=>t.feature);Hx(this.$module.scene,e),n.forEach(t=>{this.localAnnotationsList.push({...t})})}},setURLAndState:function(n,e){if(n!=this._currentURL){e&&e.format&&(this.fileFormat=e.format);let t=e&&e.viewport?e.viewport:void 0,i=e&&e.visibility?e.visibility:void 0;this._currentURL=n,this.$refs.scaffoldTreeControls&&this.$refs.scaffoldTreeControls.clear(),this.loading=!0,this.timeVarying=!1,this.isReady=!1,this.$_searchIndex.removeAll(),this.hideRegionTooltip(),this.$module.setFinishDownloadCallback(this.setURLFinishCallback({viewport:t,region:this.region,viewURL:this.viewURL,visibility:i})),this.fileFormat==="gltf"?this.$module.loadGLTFFromURL(n,"scene",!0):this.$module.loadOrgansFromURL(n,void 0,void 0,"scene",void 0,!0),this.$module&&this.$module.scene&&(this.$module.scene.displayMarkers=this.displayMarkers,this.$module.scene.forcePickableObjectsUpdate=!0,this.$module.scene.displayMinimap=this.displayMinimap,this.updateMinimapScissor())}},setURL:function(n){this.setURLAndState(n,void 0)},drawerToggled:function(n){this.drawerOpen=n,this.adjustLayout()},adjustLayout:function(){if(this.$refs.scaffoldContainer){let n=this.$refs.scaffoldContainer.clientWidth;this.minimisedSlider=n<812,this.minimisedSlider?this.sliderPosition=this.drawerOpen?"right":"left":this.sliderPosition=""}},toggleRendering:function(n){this.$module.zincRenderer&&(n?this.$module.zincRenderer.animate():this.$module.zincRenderer.stopAnimate())},forceResize:function(){this.$module.zincRenderer&&this.$module.zincRenderer.onWindowResize()},syncControlCallback:function(){const n=this.$module.NDCCameraControl.getPanZoom();this.tData.visible&&this.showRegionTooltip(this.tData.label,!0,!0),this.$emit("scaffold-navigated",n)},toggleSyncControl:function(n,e){this.$module.toggleSyncControl(n,e),this.$module.setSyncControlCallback(this.syncControlCallback)},setMarkers:function(){for(const[n,e]of Object.entries(this.markerLabelEntry))this.setMarkerModeForObjectsWithName(n,e,"on")},removeImageThumbnails:function(){this.imageThumbnails={},this.markerLabelEntry=a.markRaw(this.markerLabels)},setImage:function(n){n?this.setImageType(this.imageType):this.removeImageThumbnails()},setImageType:async function(n){this.imageType=n,this.settingsStore.imageTypeCached(n)||(this.loading=!0,await this.fetchImageThumbnails(n),this.loading=!1),this.populateImageThumbnails(n)},fetchImageThumbnails:async function(n){let e={};const t=this.settingsStore.organCuries;n==="Image"?e=await lk(this.sparcAPI,t,n):n==="Segmentation"?e=await uk(this.sparcAPI,t,n):n==="Scaffold"?e=await hk(this.sparcAPI,t,n):n==="Plot"&&(e=await pk(this.sparcAPI,t,n)),this.settingsStore.updateImageThumbnails(n,e)},convertUberonToName:function(){const n=this.settingsStore.organCuries,e=n.filter(i=>i.name in this.markerLabels).map(i=>i.id),t=this.settingsStore.getImageThumbnails(this.imageType,e);return Object.assign({},Object.fromEntries(Object.entries(t).map(([i,r])=>[n.filter(s=>s.id===i)[0].name,r])))},populateImageThumbnails:async function(n){this.removeImageThumbnails();const e=this.convertUberonToName();this.loading=!0,this.markerLabelEntry=a.markRaw(await this.populateMapWithImages(e,n)),this.loading=!1},onImageThumbnailOpen:function(n){this.$emit("image-thumbnail-open",n)}}},rp=n=>(a.pushScopeId("data-v-cba8fb5b"),n=n(),a.popScopeId(),n),gk={ref:"scaffoldContainer",class:"scaffold-container","element-loading-text":"Loading...","element-loading-background":"rgba(0, 0, 0, 0.3)"},yk=rp(()=>a.createElementVNode("span",{class:"message-text"},"Beta",-1)),vk=rp(()=>a.createElementVNode("span",{class:"message-text"},"What's new?",-1)),bk={class:"primitive-controls-box"},xk={class:"animation-data"},wk={class:"purple"},Mk={class:"animation-data"},Sk={class:"purple"},_k={class:"animation-data"},Tk={class:"bottom-right-control"},Ek=rp(()=>a.createElementVNode("div",null,[a.createTextVNode(" Fit to "),a.createElementVNode("br"),a.createTextVNode(" window ")],-1)),Ck={style:{"margin-bottom":"2px"}},Ak={key:0,class:"viewing-mode-title"},Rk=["onClick"],Lk=["onClick"];function Pk(n,e,t,i,r,s){const o=a.resolveComponent("map-svg-sprite-color"),l=aw,c=a.resolveComponent("DrawToolbar"),u=pm,f=bt,d=Dl,p=Jx,y=Yx,m=a.resolveComponent("map-svg-icon"),h=Rn,b=kn,v=s0,g=Rs,x=As,_=r0,E=Qi,S=h2,M=f2,T=fn,A=xd;return a.withDirectives((a.openBlock(),a.createElementBlock("div",gk,[a.createVNode(o),a.createVNode(l,{createData:n.createData,label:n.tData.label,region:n.tData.region,visible:n.tData.visible,x:n.tData.x,y:n.tData.y,annotationDisplay:s.annotationDisplay,imageThumbnailSidebar:t.imageThumbnailSidebar,imageThumbnails:s.imageThumbnailsEntry,onConfirmCreate:e[0]||(e[0]=C=>s.confirmCreate(C)),onCancelCreate:e[1]||(e[1]=C=>s.cancelCreate()),onConfirmDelete:e[2]||(e[2]=C=>s.confirmDelete(C)),onImageThumbnailOpen:s.onImageThumbnailOpen},null,8,["createData","label","region","visible","x","y","annotationDisplay","imageThumbnailSidebar","imageThumbnails","onImageThumbnailOpen"]),a.createElementVNode("div",{id:"organsDisplayArea",ref:"display",tabindex:"-1",style:{height:"100%",width:"100%"},onKeydown:e[3]||(e[3]=a.withKeys((...C)=>s.backgroundChangeCallback&&s.backgroundChangeCallback(...C),["66"]))},null,544),a.withDirectives(a.createElementVNode("div",null,[n.viewingMode==="Annotation"&&(n.userInformation||t.enableLocalAnnotations)?(a.openBlock(),a.createBlock(c,{key:0,toolbarOptions:n.toolbarOptions,activeDrawTool:n.activeDrawTool,activeDrawMode:n.activeDrawMode,hoverVisibilities:n.hoverVisibilities,onClickToolbar:s.toggleDrawing,onShowTooltip:s.showHelpText,onHideTooltip:s.hideHelpText,ref:"toolbarPopover"},null,8,["toolbarOptions","activeDrawTool","activeDrawMode","hoverVisibilities","onClickToolbar","onShowTooltip","onHideTooltip"])):a.createCommentVNode("",!0),t.displayWarning?(a.openBlock(),a.createBlock(d,{key:1,ref:"warningPopover",visible:n.hoverVisibilities[7].value,content:t.warningMessage,placement:"right",width:"max-content",teleported:!1,"popper-class":"scaffold-popper message-popper right-popper non-selectable"},{reference:a.withCtx(()=>[t.displayWarning?(a.openBlock(),a.createElementBlock("div",{key:0,class:"message-icon warning-icon",onMouseover:e[4]||(e[4]=C=>s.showHelpText(7)),onMouseout:e[5]||(e[5]=C=>s.hideHelpText(7))},[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(u)]),_:1}),yk],32)):a.createCommentVNode("",!0)]),_:1},8,["visible","content"])):a.createCommentVNode("",!0),t.displayLatestChanges?(a.openBlock(),a.createBlock(d,{key:2,visible:n.hoverVisibilities[8].value,content:t.latestChangesMessage,placement:"right",teleported:!1,trigger:"manual","popper-class":"scaffold-popper message-popper right-popper non-selectable",ref:"whatsNewPopover"},{reference:a.withCtx(()=>[t.displayLatestChanges&&t.latestChangesMessage?(a.openBlock(),a.createElementBlock("div",{key:0,class:"el-icon-warning message-icon latest-changesicon",onMouseover:e[6]||(e[6]=C=>s.showHelpText(8)),onMouseout:e[7]||(e[7]=C=>s.hideHelpText(8))},[a.createVNode(f,null,{default:a.withCtx(()=>[a.createVNode(u)]),_:1}),vk],32)):a.createCommentVNode("",!0)]),_:1},8,["visible","content"])):a.createCommentVNode("",!0),a.createVNode(d,{visible:n.hoverVisibilities[6].value,content:"Change region visibility",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"regionVisibilityPopover"},{reference:a.withCtx(()=>[a.createVNode(p,{ref:"scaffoldTreeControls",isReady:n.isReady,"show-colour-picker":t.showColourPicker,onObjectSelected:s.objectSelected,onObjectHovered:s.objectHovered,onDrawerToggled:s.drawerToggled},null,8,["isReady","show-colour-picker","onObjectSelected","onObjectHovered","onDrawerToggled"])]),_:1},8,["visible"]),a.createElementVNode("div",bk,[a.createVNode(y,{ref:"primitiveControls",createData:n.createData,onPrimitivesUpdated:s.primitivesUpdated},null,8,["createData","onPrimitivesUpdated"])]),n.timeVarying?(a.openBlock(),a.createBlock(d,{key:3,ref:"sliderPopover",width:"max-content",visible:n.hoverVisibilities[5].value,content:"Move the slider to animate the region",placement:"top",teleported:!1,trigger:"manual","popper-class":"scaffold-popper top-popper non-selectable"},{reference:a.withCtx(()=>[n.timeVarying?(a.openBlock(),a.createElementBlock("div",{key:0,class:a.normalizeClass(["time-slider-container",[n.minimisedSlider?"minimised":"",n.sliderPosition]])},[a.createVNode(_,{type:"card"},{default:a.withCtx(()=>[a.createVNode(v,{label:"Animate scaffold"},{default:a.withCtx(()=>[a.createVNode(b,{class:"tab-content"},{default:a.withCtx(()=>[n.isPlaying?(a.openBlock(),a.createBlock(m,{key:0,icon:"pause",class:"icon-button video-button",onClick:e[8]||(e[8]=C=>s.play(!1))})):(a.openBlock(),a.createBlock(m,{key:1,icon:"play",class:"video-button icon-button",onClick:e[9]||(e[9]=C=>s.play(!0))})),a.createVNode(h,{min:0,max:n.timeMax,"model-value":n.currentTime/100*n.timeMax,step:.1,"tooltip-class":"time-slider-tooltip",class:"slider","format-tooltip":s.formatTooltip,marks:n.timeStamps,onInput:e[10]||(e[10]=C=>s.timeChange(C))},null,8,["max","model-value","format-tooltip","marks"])]),_:1})]),_:1}),a.createVNode(v,{label:"Animation data"},{default:a.withCtx(()=>[a.createVNode(b,{class:"tab-content"},{default:a.withCtx(()=>[a.createElementVNode("div",xk,[a.createTextVNode(" Original duration: "),a.createElementVNode("div",wk,a.toDisplayString(n.orginalDuration),1)]),a.createElementVNode("div",Mk,[a.createTextVNode(" Animation duration: "),a.createElementVNode("div",Sk,a.toDisplayString(n.animateDuration),1)]),a.createElementVNode("div",_k,[a.createTextVNode(" Playback speed "),a.createVNode(x,{teleported:!0,"model-value":n.currentSpeed,placeholder:"Select",class:"scaffold-select-box speed","popper-class":"scaffold_viewer_dropdown",onChange:e[11]||(e[11]=C=>s.speedChanged(C))},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.playSpeed,C=>(a.openBlock(),a.createBlock(g,{key:C.value,label:C.label,value:C.value},null,8,["label","value"]))),128))]),_:1},8,["model-value"])])]),_:1})]),_:1})]),_:1})],2)):a.createCommentVNode("",!0)]),_:1},8,["visible"])):a.createCommentVNode("",!0),a.createElementVNode("div",Tk,[a.createVNode(d,{visible:n.hoverVisibilities[0].value,content:"Zoom in",width:"max-content",placement:"left",teleported:!1,trigger:"manual","popper-class":"scaffold-popper left-popper non-selectable",ref:"zoomInPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{icon:"zoomIn",class:"icon-button zoomIn",onClick:e[12]||(e[12]=C=>s.zoomIn()),onMouseover:e[13]||(e[13]=C=>s.showHelpText(0)),onMouseout:e[14]||(e[14]=C=>s.hideHelpText(0))})]),_:1},8,["visible"]),a.createVNode(d,{visible:n.hoverVisibilities[1].value,content:"Zoom out",placement:"top-end",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper popper-zoomout non-selectable",ref:"zoomOutPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{icon:"zoomOut",class:"icon-button zoomOut",onClick:e[15]||(e[15]=C=>s.zoomOut()),onMouseover:e[16]||(e[16]=C=>s.showHelpText(1)),onMouseout:e[17]||(e[17]=C=>s.hideHelpText(1))})]),_:1},8,["visible"]),a.createVNode(d,{visible:n.hoverVisibilities[2].value,placement:"top",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper non-selectable",ref:"zoomFitPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{icon:"fitWindow",class:"icon-button fitWindow",onClick:e[18]||(e[18]=C=>s.fitWindow()),onMouseover:e[19]||(e[19]=C=>s.showHelpText(2)),onMouseout:e[20]||(e[20]=C=>s.hideHelpText(2))})]),default:a.withCtx(()=>[Ek]),_:1},8,["visible"])]),n.openMapRef?(a.openBlock(),a.createBlock(d,{key:4,ref:"open-map-popover","virtual-ref":n.openMapRef,placement:"top-start",width:"128",teleported:!1,trigger:"click","popper-class":"open-map-popper","virtual-triggering":""},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(t.openMapOptions,C=>(a.openBlock(),a.createBlock(b,{key:C.key},{default:a.withCtx(()=>[a.createVNode(E,{type:"primary",plain:"",onClick:R=>n.$emit("open-map",C.key)},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(C.display),1)]),_:2},1032,["onClick"])]),_:2},1024))),128))]),_:1},8,["virtual-ref"])):a.createCommentVNode("",!0),a.createVNode(d,{ref:"backgroundPopover","virtual-ref":n.backgroundIconRef,placement:"top-start",width:"330",teleported:!1,trigger:"click","popper-class":"background-popper non-selectable h-auto","virtual-triggering":""},{default:a.withCtx(()=>[a.createElementVNode("div",null,[a.createVNode(b,{class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode("Viewing Mode")]),_:1}),a.createVNode(b,{class:"backgroundChooser"},{default:a.withCtx(()=>[a.createElementVNode("div",Ck,[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.viewingModes,(C,R,L)=>(a.openBlock(),a.createElementBlock(a.Fragment,{key:R},[R===n.viewingMode?(a.openBlock(),a.createElementBlock("span",Ak,[a.createElementVNode("b",null,a.toDisplayString(R),1)])):(a.openBlock(),a.createElementBlock("span",{key:1,class:"viewing-mode-unselected",onClick:I=>s.changeViewingMode(R)},a.toDisplayString(R),9,Rk))],64))),128))]),a.createVNode(b,{class:"viewing-mode-description"},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(n.viewingModes[n.viewingMode]),1)]),_:1})]),_:1}),n.viewingMode==="Exploration"?(a.openBlock(),a.createBlock(b,{key:0,class:"backgroundSpacer"})):a.createCommentVNode("",!0),n.viewingMode==="Exploration"?(a.openBlock(),a.createBlock(b,{key:1,class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode("Markers display")]),_:1})):a.createCommentVNode("",!0),n.viewingMode==="Exploration"?(a.openBlock(),a.createBlock(b,{key:2,class:"backgroundChooser"},{default:a.withCtx(()=>[a.createVNode(T,{span:14},{default:a.withCtx(()=>[a.createVNode(M,{modelValue:n.imageRadio,"onUpdate:modelValue":e[21]||(e[21]=C=>n.imageRadio=C),class:"flatmap-radio",onChange:s.setImage},{default:a.withCtx(()=>[a.createVNode(S,{value:!1},{default:a.withCtx(()=>[a.createTextVNode("Standard")]),_:1}),a.createVNode(S,{value:!0},{default:a.withCtx(()=>[a.createTextVNode("Image")]),_:1})]),_:1},8,["modelValue","onChange"])]),_:1}),n.imageRadio?(a.openBlock(),a.createBlock(T,{key:0,span:10},{default:a.withCtx(()=>[a.createVNode(x,{teleported:!1,modelValue:n.imageType,"onUpdate:modelValue":e[22]||(e[22]=C=>n.imageType=C),placeholder:"Select",class:"scaffold-select-box imageSelector","popper-class":"scaffold_viewer_dropdown",onChange:s.setImageType},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.imageTypes,C=>(a.openBlock(),a.createBlock(g,{key:C,label:C,value:C},{default:a.withCtx(()=>[a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(T,{span:12},{default:a.withCtx(()=>[a.createTextVNode(a.toDisplayString(C),1)]),_:2},1024)]),_:2},1024)]),_:2},1032,["label","value"]))),128))]),_:1},8,["modelValue","onChange"])]),_:1})):a.createCommentVNode("",!0)]),_:1})):a.createCommentVNode("",!0),a.createVNode(b,{class:"backgroundSpacer"}),a.createVNode(b,{class:"backgroundText"},{default:a.withCtx(()=>[a.createTextVNode(" Change background ")]),_:1}),a.createVNode(b,{class:"backgroundChooser"},{default:a.withCtx(()=>[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.availableBackground,C=>(a.openBlock(),a.createElementBlock("div",{key:C,class:a.normalizeClass(["backgroundChoice",C,C==n.currentBackground?"active":""]),onClick:R=>s.backgroundChangeCallback(C)},null,10,Lk))),128))]),_:1})])]),_:1},8,["virtual-ref"]),a.createElementVNode("div",{class:a.normalizeClass(["settings-group",{open:n.drawerOpen,close:!n.drawerOpen}])},[a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(d,{visible:n.hoverVisibilities[3].value,content:"Open new map",placement:"right",teleported:!1,trigger:"manual",width:"max-content","popper-class":"scaffold-popper right-popper non-selectable",ref:"openMapPopover"},{reference:a.withCtx(()=>[t.enableOpenMapUI&&t.openMapOptions.length>0?(a.openBlock(),a.createBlock(m,{key:0,ref:"openMapRef",icon:"openMap",class:"icon-button open-map-button",onMouseover:e[23]||(e[23]=C=>s.showHelpText(3)),onMouseout:e[24]||(e[24]=C=>s.hideHelpText(3))},null,512)):a.createCommentVNode("",!0)]),_:1},8,["visible"])]),_:1}),a.createVNode(b,null,{default:a.withCtx(()=>[a.createVNode(d,{visible:n.hoverVisibilities[4].value,content:"Change background color",placement:"right",width:"max-content",teleported:!1,trigger:"manual","popper-class":"scaffold-popper right-popper non-selectable",ref:"settingsPopover"},{reference:a.withCtx(()=>[a.createVNode(m,{ref:"backgroundIconRef",icon:"changeBckgd",class:"icon-button",onMouseover:e[25]||(e[25]=C=>s.showHelpText(4)),onMouseout:e[26]||(e[26]=C=>s.hideHelpText(4))},null,512)]),_:1},8,["visible"])]),_:1})],2)],512),[[a.vShow,t.displayUI&&!n.isTransitioning]])])),[[A,n.loading]])}const Ik=ui(mk,[["render",Pk],["__scopeId","data-v-cba8fb5b"]]);jt.ScaffoldVuer=Ik,Object.defineProperty(jt,Symbol.toStringTag,{value:"Module"})});
|