From 9829a098e4d7f775c0165e14be05fa2bb8ec0f30 Mon Sep 17 00:00:00 2001 From: joshmoore Date: Wed, 13 Nov 2024 12:12:44 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20ome/ome2?= =?UTF-8?q?024-ngff-challenge@9e5be0cbb10d4e1049ee83275b7f5f94decf8cfb=20?= =?UTF-8?q?=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- about/index.html | 4 +-- .../{index-DqIwqyw_.js => index-718b7GWF.js} | 33 +++++++++--------- ...{index-C1nKWVKK.css => index-vFFav-wJ.css} | 2 +- czi-logo-chan-zuckerberg-initiative-logo.png | Bin 0 -> 42715 bytes index.html | 4 +-- nfdi_rgb_Wortmarke_Zusatz_quer.png | Bin 0 -> 26854 bytes 6 files changed, 22 insertions(+), 21 deletions(-) rename assets/{index-DqIwqyw_.js => index-718b7GWF.js} (75%) rename assets/{index-C1nKWVKK.css => index-vFFav-wJ.css} (97%) create mode 100644 czi-logo-chan-zuckerberg-initiative-logo.png create mode 100644 nfdi_rgb_Wortmarke_Zusatz_quer.png diff --git a/about/index.html b/about/index.html index 101ce21..e0bbc67 100644 --- a/about/index.html +++ b/about/index.html @@ -5,8 +5,8 @@ ome2024-ngff-challenge - - + + diff --git a/assets/index-DqIwqyw_.js b/assets/index-718b7GWF.js similarity index 75% rename from assets/index-DqIwqyw_.js rename to assets/index-718b7GWF.js index 7e184cd..ae0405c 100644 --- a/assets/index-DqIwqyw_.js +++ b/assets/index-718b7GWF.js @@ -1,25 +1,25 @@ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/blosc-E49GQuAK.js","assets/chunk-INHXZS53-D3tQiqtZ.js","assets/gzip-CF-9a_hd.js","assets/browser-B-ZyVB-j.js","assets/lz4-BIGKWw27.js","assets/zlib-CBiqHlio.js","assets/zstd-IvP746pw.js"])))=>i.map(i=>d[i]); -var Tr=Object.defineProperty;var ui=t=>{throw TypeError(t)};var Or=(t,e,n)=>e in t?Tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var oe=(t,e,n)=>Or(t,typeof e!="symbol"?e+"":e,n),En=(t,e,n)=>e.has(t)||ui("Cannot "+n);var ee=(t,e,n)=>(En(t,e,"read from private field"),n?n.call(t):e.get(t)),Te=(t,e,n)=>e.has(t)?ui("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Ee=(t,e,n,i)=>(En(t,e,"write to private field"),i?i.call(t,n):e.set(t,n),n),Cn=(t,e,n)=>(En(t,e,"access private method"),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();function ke(){}function Rr(t,e){for(const n in e)t[n]=e[n];return t}function ur(t){return t()}function ci(){return Object.create(null)}function et(t){t.forEach(ur)}function _n(t){return typeof t=="function"}function Be(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let an;function In(t,e){return t===e?!0:(an||(an=document.createElement("a")),an.href=e,t===an.href)}function zr(t){return Object.keys(t).length===0}function Lr(t,...e){if(t==null){for(const i of e)i(void 0);return ke}const n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function Nt(t){let e;return Lr(t,n=>e=n)(),e}function Tn(t,e,n,i){if(t){const r=cr(t,e,n,i);return t[0](r)}}function cr(t,e,n,i){return t[1]&&i?Rr(n.ctx.slice(),t[1](i(e))):n.ctx}function On(t,e,n,i){if(t[2]&&i){const r=t[2](i(n));if(e.dirty===void 0)return r;if(typeof r=="object"){const s=[],o=Math.max(e.dirty.length,r.length);for(let a=0;a32){const e=[],n=t.ctx.length/32;for(let i=0;it.removeEventListener(e,n,i)}function b(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Mr(t){return Array.from(t.childNodes)}function me(t,e){e=""+e,t.data!==e&&(t.data=e)}function Ce(t,e){t.value=e??""}function ae(t,e,n,i){n==null?t.style.removeProperty(e):t.style.setProperty(e,n,"")}function ot(t,e,n){for(let i=0;i{const r=t.$$.callbacks[e];if(r){const s=Fr(e,n,{cancelable:i});return r.slice().forEach(o=>{o.call(t,s)}),!s.defaultPrevented}return!0}}const kt=[],Tt=[];let St=[];const hi=[],Nr=Promise.resolve();let Ln=!1;function Pr(){Ln||(Ln=!0,Nr.then(De))}function st(t){St.push(t)}const Sn=new Set;let wt=0;function De(){if(wt!==0)return;const t=Bt;do{try{for(;wtt.indexOf(i)===-1?e.push(i):n.push(i)),n.forEach(i=>i()),St=e}const fn=new Set;let _t;function Ot(){_t={r:0,c:[],p:_t}}function Rt(){_t.r||et(_t.c),_t=_t.p}function re(t,e){t&&t.i&&(fn.delete(t),t.i(e))}function he(t,e,n,i){if(t&&t.o){if(fn.has(t))return;fn.add(t),_t.c.push(()=>{fn.delete(t),i&&(n&&t.d(1),i())}),t.o(e)}else i&&i()}function Ne(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function jr(t,e){t.d(1),e.delete(t.key)}function qr(t,e){he(t,1,1,()=>{e.delete(t.key)})}function fr(t,e,n,i,r,s,o,a,l,h,u,g){let m=t.length,p=s.length,_=m;const E={};for(;_--;)E[t[_].key]=_;const N=[],R=new Map,M=new Map,Y=[];for(_=p;_--;){const I=g(r,s,_),f=n(I);let c=o.get(f);c?Y.push(()=>c.p(I,e)):(c=h(f,I),c.c()),R.set(f,N[_]=c),f in E&&M.set(f,Math.abs(_-E[f]))}const G=new Set,X=new Set;function J(I){re(I,1),I.m(a,u),o.set(I.key,I),u=I.first,p--}for(;m&&p;){const I=N[p-1],f=t[m-1],c=I.key,k=f.key;I===f?(u=I.first,m--,p--):R.has(k)?!o.has(c)||G.has(c)?J(I):X.has(k)?m--:M.get(c)>M.get(k)?(X.add(c),J(I)):(G.add(k),m--):(l(f,o),m--)}for(;m--;){const I=t[m];R.has(I.key)||l(I,o)}for(;p;)J(N[p-1]);return et(Y),N}function Ke(t){t&&t.c()}function He(t,e,n){const{fragment:i,after_update:r}=t.$$;i&&i.m(e,n),st(()=>{const s=t.$$.on_mount.map(ur).filter(_n);t.$$.on_destroy?t.$$.on_destroy.push(...s):et(s),t.$$.on_mount=[]}),r.forEach(st)}function We(t,e){const n=t.$$;n.fragment!==null&&(Br(n.after_update),et(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function xr(t,e){t.$$.dirty[0]===-1&&(kt.push(t),Pr(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const _=p.length?p[0]:m;return h.ctx&&r(h.ctx[g],h.ctx[g]=_)&&(!h.skip_bound&&h.bound[g]&&h.bound[g](_),u&&xr(t,g)),m}):[],h.update(),u=!0,et(h.before_update),h.fragment=i?i(h.ctx):!1,e.target){if(e.hydrate){const g=Mr(e.target);h.fragment&&h.fragment.l(g),g.forEach(q)}else h.fragment&&h.fragment.c();e.intro&&re(t.$$.fragment),He(t,e.target,e.anchor),De()}Ut(l)}class Ze{constructor(){oe(this,"$$");oe(this,"$$set")}$destroy(){We(this,1),this.$destroy=ke}$on(e,n){if(!_n(n))return ke;const i=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return i.push(n),()=>{const r=i.indexOf(n);r!==-1&&i.splice(r,1)}}$set(e){this.$$set&&!zr(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Vr="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Vr);const yt=[];function Mn(t,e=ke){let n;const i=new Set;function r(a){if(Be(t,a)&&(t=a,n)){const l=!yt.length;for(const h of i)h[1](),yt.push(h,t);if(l){for(let h=0;h{i.delete(h),i.size===0&&n&&(n(),n=null)}}return{set:r,update:s,subscribe:o}}var Hr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Wr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var hr={exports:{}};/* @license +var Tr=Object.defineProperty;var ui=t=>{throw TypeError(t)};var zr=(t,e,n)=>e in t?Tr(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var oe=(t,e,n)=>zr(t,typeof e!="symbol"?e+"":e,n),En=(t,e,n)=>e.has(t)||ui("Cannot "+n);var ee=(t,e,n)=>(En(t,e,"read from private field"),n?n.call(t):e.get(t)),Te=(t,e,n)=>e.has(t)?ui("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,n),Ee=(t,e,n,i)=>(En(t,e,"write to private field"),i?i.call(t,n):e.set(t,n),n),Cn=(t,e,n)=>(En(t,e,"access private method"),n);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const r of document.querySelectorAll('link[rel="modulepreload"]'))i(r);new MutationObserver(r=>{for(const s of r)if(s.type==="childList")for(const o of s.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&i(o)}).observe(document,{childList:!0,subtree:!0});function n(r){const s={};return r.integrity&&(s.integrity=r.integrity),r.referrerPolicy&&(s.referrerPolicy=r.referrerPolicy),r.crossOrigin==="use-credentials"?s.credentials="include":r.crossOrigin==="anonymous"?s.credentials="omit":s.credentials="same-origin",s}function i(r){if(r.ep)return;r.ep=!0;const s=n(r);fetch(r.href,s)}})();function ke(){}function Or(t,e){for(const n in e)t[n]=e[n];return t}function ur(t){return t()}function ci(){return Object.create(null)}function et(t){t.forEach(ur)}function _n(t){return typeof t=="function"}function Be(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}let an;function In(t,e){return t===e?!0:(an||(an=document.createElement("a")),an.href=e,t===an.href)}function Rr(t){return Object.keys(t).length===0}function Lr(t,...e){if(t==null){for(const i of e)i(void 0);return ke}const n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function Nt(t){let e;return Lr(t,n=>e=n)(),e}function Tn(t,e,n,i){if(t){const r=cr(t,e,n,i);return t[0](r)}}function cr(t,e,n,i){return t[1]&&i?Or(n.ctx.slice(),t[1](i(e))):n.ctx}function zn(t,e,n,i){if(t[2]&&i){const r=t[2](i(n));if(e.dirty===void 0)return r;if(typeof r=="object"){const s=[],o=Math.max(e.dirty.length,r.length);for(let a=0;a32){const e=[],n=t.ctx.length/32;for(let i=0;it.removeEventListener(e,n,i)}function b(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Mr(t){return Array.from(t.childNodes)}function me(t,e){e=""+e,t.data!==e&&(t.data=e)}function Ce(t,e){t.value=e??""}function ae(t,e,n,i){n==null?t.style.removeProperty(e):t.style.setProperty(e,n,"")}function ot(t,e,n){for(let i=0;i{const r=t.$$.callbacks[e];if(r){const s=Fr(e,n,{cancelable:i});return r.slice().forEach(o=>{o.call(t,s)}),!s.defaultPrevented}return!0}}const kt=[],Tt=[];let St=[];const hi=[],Nr=Promise.resolve();let Ln=!1;function Pr(){Ln||(Ln=!0,Nr.then(De))}function st(t){St.push(t)}const Sn=new Set;let wt=0;function De(){if(wt!==0)return;const t=Bt;do{try{for(;wtt.indexOf(i)===-1?e.push(i):n.push(i)),n.forEach(i=>i()),St=e}const fn=new Set;let _t;function zt(){_t={r:0,c:[],p:_t}}function Ot(){_t.r||et(_t.c),_t=_t.p}function re(t,e){t&&t.i&&(fn.delete(t),t.i(e))}function he(t,e,n,i){if(t&&t.o){if(fn.has(t))return;fn.add(t),_t.c.push(()=>{fn.delete(t),i&&(n&&t.d(1),i())}),t.o(e)}else i&&i()}function Ne(t){return(t==null?void 0:t.length)!==void 0?t:Array.from(t)}function jr(t,e){t.d(1),e.delete(t.key)}function qr(t,e){he(t,1,1,()=>{e.delete(t.key)})}function fr(t,e,n,i,r,s,o,a,l,h,u,g){let m=t.length,p=s.length,_=m;const E={};for(;_--;)E[t[_].key]=_;const N=[],O=new Map,M=new Map,Y=[];for(_=p;_--;){const I=g(r,s,_),f=n(I);let c=o.get(f);c?Y.push(()=>c.p(I,e)):(c=h(f,I),c.c()),O.set(f,N[_]=c),f in E&&M.set(f,Math.abs(_-E[f]))}const G=new Set,X=new Set;function J(I){re(I,1),I.m(a,u),o.set(I.key,I),u=I.first,p--}for(;m&&p;){const I=N[p-1],f=t[m-1],c=I.key,k=f.key;I===f?(u=I.first,m--,p--):O.has(k)?!o.has(c)||G.has(c)?J(I):X.has(k)?m--:M.get(c)>M.get(k)?(X.add(c),J(I)):(G.add(k),m--):(l(f,o),m--)}for(;m--;){const I=t[m];O.has(I.key)||l(I,o)}for(;p;)J(N[p-1]);return et(Y),N}function Ke(t){t&&t.c()}function We(t,e,n){const{fragment:i,after_update:r}=t.$$;i&&i.m(e,n),st(()=>{const s=t.$$.on_mount.map(ur).filter(_n);t.$$.on_destroy?t.$$.on_destroy.push(...s):et(s),t.$$.on_mount=[]}),r.forEach(st)}function He(t,e){const n=t.$$;n.fragment!==null&&(Br(n.after_update),et(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function xr(t,e){t.$$.dirty[0]===-1&&(kt.push(t),Pr(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{const _=p.length?p[0]:m;return h.ctx&&r(h.ctx[g],h.ctx[g]=_)&&(!h.skip_bound&&h.bound[g]&&h.bound[g](_),u&&xr(t,g)),m}):[],h.update(),u=!0,et(h.before_update),h.fragment=i?i(h.ctx):!1,e.target){if(e.hydrate){const g=Mr(e.target);h.fragment&&h.fragment.l(g),g.forEach(q)}else h.fragment&&h.fragment.c();e.intro&&re(t.$$.fragment),We(t,e.target,e.anchor),De()}Ut(l)}class Ze{constructor(){oe(this,"$$");oe(this,"$$set")}$destroy(){He(this,1),this.$destroy=ke}$on(e,n){if(!_n(n))return ke;const i=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return i.push(n),()=>{const r=i.indexOf(n);r!==-1&&i.splice(r,1)}}$set(e){this.$$set&&!Rr(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}}const Vr="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Vr);const yt=[];function Mn(t,e=ke){let n;const i=new Set;function r(a){if(Be(t,a)&&(t=a,n)){const l=!yt.length;for(const h of i)h[1](),yt.push(h,t);if(l){for(let h=0;h{i.delete(h),i.size===0&&n&&(n(),n=null)}}return{set:r,update:s,subscribe:o}}var Wr=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function Hr(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var hr={exports:{}};/* @license Papa Parse v5.4.1 https://github.com/mholt/PapaParse License: MIT -*/(function(t,e){(function(n,i){t.exports=i()})(Hr,function n(){var i=typeof self<"u"?self:typeof window<"u"?window:i!==void 0?i:{},r=!i.document&&!!i.postMessage,s=i.IS_PAPA_WORKER||!1,o={},a=0,l={parse:function(f,c){var k=(c=c||{}).dynamicTyping||!1;if(I(k)&&(c.dynamicTypingFunction=k,k={}),c.dynamicTyping=k,c.transform=!!I(c.transform)&&c.transform,c.worker&&l.WORKERS_SUPPORTED){var O=function(){if(!l.WORKERS_SUPPORTED)return!1;var L=(Q=i.URL||i.webkitURL||null,B=n.toString(),l.BLOB_URL||(l.BLOB_URL=Q.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",B,")();"],{type:"text/javascript"})))),j=new i.Worker(L),Q,B;return j.onmessage=M,j.id=a++,o[j.id]=j}();return O.userStep=c.step,O.userChunk=c.chunk,O.userComplete=c.complete,O.userError=c.error,c.step=I(c.step),c.chunk=I(c.chunk),c.complete=I(c.complete),c.error=I(c.error),delete c.worker,void O.postMessage({input:f,config:c,workerId:O.id})}var T=null;return l.NODE_STREAM_INPUT,typeof f=="string"?(f=function(L){return L.charCodeAt(0)===65279?L.slice(1):L}(f),T=c.download?new g(c):new p(c)):f.readable===!0&&I(f.read)&&I(f.on)?T=new _(c):(i.File&&f instanceof File||f instanceof Object)&&(T=new m(c)),T.stream(f)},unparse:function(f,c){var k=!1,O=!0,T=",",L=`\r -`,j='"',Q=j+j,B=!1,w=null,S=!1;(function(){if(typeof c=="object"){if(typeof c.delimiter!="string"||l.BAD_DELIMITERS.filter(function(A){return c.delimiter.indexOf(A)!==-1}).length||(T=c.delimiter),(typeof c.quotes=="boolean"||typeof c.quotes=="function"||Array.isArray(c.quotes))&&(k=c.quotes),typeof c.skipEmptyLines!="boolean"&&typeof c.skipEmptyLines!="string"||(B=c.skipEmptyLines),typeof c.newline=="string"&&(L=c.newline),typeof c.quoteChar=="string"&&(j=c.quoteChar),typeof c.header=="boolean"&&(O=c.header),Array.isArray(c.columns)){if(c.columns.length===0)throw new Error("Option columns is empty");w=c.columns}c.escapeChar!==void 0&&(Q=c.escapeChar+j),(typeof c.escapeFormulae=="boolean"||c.escapeFormulae instanceof RegExp)&&(S=c.escapeFormulae instanceof RegExp?c.escapeFormulae:/^[=+\-@\t\r].*$/)}})();var z=new RegExp(N(j),"g");if(typeof f=="string"&&(f=JSON.parse(f)),Array.isArray(f)){if(!f.length||Array.isArray(f[0]))return F(null,f,B);if(typeof f[0]=="object")return F(w||Object.keys(f[0]),f,B)}else if(typeof f=="object")return typeof f.data=="string"&&(f.data=JSON.parse(f.data)),Array.isArray(f.data)&&(f.fields||(f.fields=f.meta&&f.meta.fields||w),f.fields||(f.fields=Array.isArray(f.data[0])?f.fields:typeof f.data[0]=="object"?Object.keys(f.data[0]):[]),Array.isArray(f.data[0])||typeof f.data[0]=="object"||(f.data=[f.data])),F(f.fields||[],f.data||[],B);throw new Error("Unable to serialize unrecognized input");function F(A,H,v){var D="";typeof A=="string"&&(A=JSON.parse(A)),typeof H=="string"&&(H=JSON.parse(H));var W=Array.isArray(A)&&0=this._config.preview;if(s)i.postMessage({results:L,workerId:l.WORKER_ID,finished:Q});else if(I(this._config.chunk)&&!k){if(this._config.chunk(L,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);L=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(L.data),this._completeResults.errors=this._completeResults.errors.concat(L.errors),this._completeResults.meta=L.meta),this._completed||!Q||!I(this._config.complete)||L&&L.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),Q||L&&L.meta.paused||this._nextChunk(),L}this._halted=!0},this._sendError=function(c){I(this._config.error)?this._config.error(c):s&&this._config.error&&i.postMessage({workerId:l.WORKER_ID,error:c,finished:!1})}}function g(f){var c;(f=f||{}).chunkSize||(f.chunkSize=l.RemoteChunkSize),u.call(this,f),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(k){this._input=k,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(c=new XMLHttpRequest,this._config.withCredentials&&(c.withCredentials=this._config.withCredentials),r||(c.onload=J(this._chunkLoaded,this),c.onerror=J(this._chunkError,this)),c.open(this._config.downloadRequestBody?"POST":"GET",this._input,!r),this._config.downloadRequestHeaders){var k=this._config.downloadRequestHeaders;for(var O in k)c.setRequestHeader(O,k[O])}if(this._config.chunkSize){var T=this._start+this._config.chunkSize-1;c.setRequestHeader("Range","bytes="+this._start+"-"+T)}try{c.send(this._config.downloadRequestBody)}catch(L){this._chunkError(L.message)}r&&c.status===0&&this._chunkError()}},this._chunkLoaded=function(){c.readyState===4&&(c.status<200||400<=c.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:c.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(k){var O=k.getResponseHeader("Content-Range");return O===null?-1:parseInt(O.substring(O.lastIndexOf("/")+1))}(c),this.parseChunk(c.responseText)))},this._chunkError=function(k){var O=c.statusText||k;this._sendError(new Error(O))}}function m(f){var c,k;(f=f||{}).chunkSize||(f.chunkSize=l.LocalChunkSize),u.call(this,f);var O=typeof FileReader<"u";this.stream=function(T){this._input=T,k=T.slice||T.webkitSlice||T.mozSlice,O?((c=new FileReader).onload=J(this._chunkLoaded,this),c.onerror=J(this._chunkError,this)):c=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(T.target.result)},this._chunkError=function(){this._sendError(c.error)}}function p(f){var c;u.call(this,f=f||{}),this.stream=function(k){return c=k,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var k,O=this._config.chunkSize;return O?(k=c.substring(0,O),c=c.substring(O)):(k=c,c=""),this._finished=!c,this.parseChunk(k)}}}function _(f){u.call(this,f=f||{});var c=[],k=!0,O=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(T){this._input=T,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){O&&c.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),c.length?this.parseChunk(c.shift()):k=!0},this._streamData=J(function(T){try{c.push(typeof T=="string"?T:T.toString(this._config.encoding)),k&&(k=!1,this._checkIsFinished(),this.parseChunk(c.shift()))}catch(L){this._streamError(L)}},this),this._streamError=J(function(T){this._streamCleanUp(),this._sendError(T)},this),this._streamEnd=J(function(){this._streamCleanUp(),O=!0,this._streamData("")},this),this._streamCleanUp=J(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function E(f){var c,k,O,T=Math.pow(2,53),L=-T,j=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,Q=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,B=this,w=0,S=0,z=!1,F=!1,te=[],A={data:[],errors:[],meta:{}};if(I(f.step)){var H=f.step;f.step=function(P){if(A=P,W())D();else{if(D(),A.data.length===0)return;w+=P.data.length,f.preview&&w>f.preview?k.abort():(A.data=A.data[0],H(A,B))}}}function v(P){return f.skipEmptyLines==="greedy"?P.join("").trim()==="":P.length===1&&P[0].length===0}function D(){return A&&O&&(ie("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+l.DefaultDelimiter+"'"),O=!1),f.skipEmptyLines&&(A.data=A.data.filter(function(P){return!v(P)})),W()&&function(){if(!A)return;function P(ue,de){I(f.transformHeader)&&(ue=f.transformHeader(ue,de)),te.push(ue)}if(Array.isArray(A.data[0])){for(var Z=0;W()&&Z=te.length?"__parsed_extra":te[$]),f.transform&&(ce=f.transform(ce,_e)),ce=ne(_e,ce),_e==="__parsed_extra"?(pe[_e]=pe[_e]||[],pe[_e].push(ce)):pe[_e]=ce}return f.header&&($>te.length?ie("FieldMismatch","TooManyFields","Too many fields: expected "+te.length+" fields but parsed "+$,S+de):$=this._config.preview;if(s)i.postMessage({results:L,workerId:l.WORKER_ID,finished:Q});else if(I(this._config.chunk)&&!k){if(this._config.chunk(L,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);L=void 0,this._completeResults=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(L.data),this._completeResults.errors=this._completeResults.errors.concat(L.errors),this._completeResults.meta=L.meta),this._completed||!Q||!I(this._config.complete)||L&&L.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),Q||L&&L.meta.paused||this._nextChunk(),L}this._halted=!0},this._sendError=function(c){I(this._config.error)?this._config.error(c):s&&this._config.error&&i.postMessage({workerId:l.WORKER_ID,error:c,finished:!1})}}function g(f){var c;(f=f||{}).chunkSize||(f.chunkSize=l.RemoteChunkSize),u.call(this,f),this._nextChunk=r?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(k){this._input=k,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(c=new XMLHttpRequest,this._config.withCredentials&&(c.withCredentials=this._config.withCredentials),r||(c.onload=J(this._chunkLoaded,this),c.onerror=J(this._chunkError,this)),c.open(this._config.downloadRequestBody?"POST":"GET",this._input,!r),this._config.downloadRequestHeaders){var k=this._config.downloadRequestHeaders;for(var z in k)c.setRequestHeader(z,k[z])}if(this._config.chunkSize){var T=this._start+this._config.chunkSize-1;c.setRequestHeader("Range","bytes="+this._start+"-"+T)}try{c.send(this._config.downloadRequestBody)}catch(L){this._chunkError(L.message)}r&&c.status===0&&this._chunkError()}},this._chunkLoaded=function(){c.readyState===4&&(c.status<200||400<=c.status?this._chunkError():(this._start+=this._config.chunkSize?this._config.chunkSize:c.responseText.length,this._finished=!this._config.chunkSize||this._start>=function(k){var z=k.getResponseHeader("Content-Range");return z===null?-1:parseInt(z.substring(z.lastIndexOf("/")+1))}(c),this.parseChunk(c.responseText)))},this._chunkError=function(k){var z=c.statusText||k;this._sendError(new Error(z))}}function m(f){var c,k;(f=f||{}).chunkSize||(f.chunkSize=l.LocalChunkSize),u.call(this,f);var z=typeof FileReader<"u";this.stream=function(T){this._input=T,k=T.slice||T.webkitSlice||T.mozSlice,z?((c=new FileReader).onload=J(this._chunkLoaded,this),c.onerror=J(this._chunkError,this)):c=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount=this._input.size,this.parseChunk(T.target.result)},this._chunkError=function(){this._sendError(c.error)}}function p(f){var c;u.call(this,f=f||{}),this.stream=function(k){return c=k,this._nextChunk()},this._nextChunk=function(){if(!this._finished){var k,z=this._config.chunkSize;return z?(k=c.substring(0,z),c=c.substring(z)):(k=c,c=""),this._finished=!c,this.parseChunk(k)}}}function _(f){u.call(this,f=f||{});var c=[],k=!0,z=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(T){this._input=T,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){z&&c.length===1&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),c.length?this.parseChunk(c.shift()):k=!0},this._streamData=J(function(T){try{c.push(typeof T=="string"?T:T.toString(this._config.encoding)),k&&(k=!1,this._checkIsFinished(),this.parseChunk(c.shift()))}catch(L){this._streamError(L)}},this),this._streamError=J(function(T){this._streamCleanUp(),this._sendError(T)},this),this._streamEnd=J(function(){this._streamCleanUp(),z=!0,this._streamData("")},this),this._streamCleanUp=J(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function E(f){var c,k,z,T=Math.pow(2,53),L=-T,j=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,Q=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,B=this,w=0,S=0,R=!1,F=!1,te=[],A={data:[],errors:[],meta:{}};if(I(f.step)){var W=f.step;f.step=function(P){if(A=P,H())D();else{if(D(),A.data.length===0)return;w+=P.data.length,f.preview&&w>f.preview?k.abort():(A.data=A.data[0],W(A,B))}}}function v(P){return f.skipEmptyLines==="greedy"?P.join("").trim()==="":P.length===1&&P[0].length===0}function D(){return A&&z&&(ie("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+l.DefaultDelimiter+"'"),z=!1),f.skipEmptyLines&&(A.data=A.data.filter(function(P){return!v(P)})),H()&&function(){if(!A)return;function P(ue,de){I(f.transformHeader)&&(ue=f.transformHeader(ue,de)),te.push(ue)}if(Array.isArray(A.data[0])){for(var Z=0;H()&&Z=te.length?"__parsed_extra":te[$]),f.transform&&(ce=f.transform(ce,_e)),ce=ne(_e,ce),_e==="__parsed_extra"?(pe[_e]=pe[_e]||[],pe[_e].push(ce)):pe[_e]=ce}return f.header&&($>te.length?ie("FieldMismatch","TooManyFields","Too many fields: expected "+te.length+" fields but parsed "+$,S+de):$=be.length/2?`\r -`:"\r"}(P,de)),O=!1,f.delimiter)I(f.delimiter)&&(f.delimiter=f.delimiter(P),A.meta.delimiter=f.delimiter);else{var $=function(_e,ce,Pe,be,je){var Ge,Oe,se,ve;je=je||[","," ","|",";",l.RECORD_SEP,l.UNIT_SEP];for(var Ye=0;Ye=j)return Me(!0)}else for(le=w,w++;;){if((le=z.indexOf(c,le+1))===-1)return te||ie.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:ne.length,index:w}),Se();if(le===A-1)return Se(z.substring(w,le).replace(Ye,c));if(c!==B||z[le+1]!==B){if(c===B||le===0||z[le-1]!==B){se!==-1&&se=j)return Me(!0);break}ie.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:ne.length,index:w}),le++}}else le++}return Se();function Qe(Ie){ne.push(Ie),Z=w}function ze(Ie){var nt=0;if(Ie!==-1){var Xe=z.substring(le+1,Ie);Xe&&Xe.trim()===""&&(nt=Xe.length)}return nt}function Se(Ie){return te||(Ie===void 0&&(Ie=z.substring(w)),P.push(Ie),w=A,Qe(P),W&&ct()),Me()}function Le(Ie){w=Ie,Qe(P),P=[],ve=z.indexOf(O,w)}function Me(Ie){return{data:ne,errors:ie,meta:{delimiter:k,linebreak:O,aborted:S,truncated:!!Ie,cursor:Z+(F||0)}}}function ct(){L(Me()),ne=[],ie=[]}},this.abort=function(){S=!0},this.getCharIndex=function(){return w}}function M(f){var c=f.data,k=o[c.workerId],O=!1;if(c.error)k.userError(c.error,c.file);else if(c.results&&c.results.data){var T={abort:function(){O=!0,Y(c.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:G,resume:G};if(I(k.userStep)){for(var L=0;L1&&(r=s,i.data.shift());let o=i.data.map(p=>{let _={...n};for(let E=0;E{var _;return!((_=p.url)!=null&&_.endsWith(".csv"))}),l={};a.forEach(p=>{if(l[p.url]){console.warn("Removing duplicate URL:",p.url);return}l[p.url]=p}),a=Object.values(l);let h=o.filter(p=>{var _;return(_=p.url)==null?void 0:_.includes(".csv")}),u=a.reduce((p,_)=>_.wells?p+1:p,0),g=a.reduce((p,_)=>p+parseInt(_.written||0),0),m=a.length;u>0&&(m=a.reduce((p,_)=>p+parseInt(_.images||1),0)),e.addCsv(t,h,m,u,g),e.addRows(a),h.forEach(p=>{let _=p.url;p.csv=_,dr(_,e,p)})}})}async function _r(t){return await fetch(t).then(e=>e.json())}function ut(t){if(!t)return"";const e=2;return t<1024?t+" B":t<1024*1024?(t/1024).toFixed(e)+" KB":t<1024*1024*1024?(t/(1024*1024)).toFixed(e)+" MB":t<1024*1024*1024*1024?(t/(1024*1024*1024)).toFixed(e)+" GB":t<1024*1024*1024*1024*1024?(t/(1024*1024*1024*1024)).toFixed(e)+" TB":(t/(1024*1024*1024*1024*1024)).toFixed(e)+" PB"}function Xr(t,e){return Array.from({length:e-t},(n,i)=>i+t)}function $r(t,e,n){const i=t[0].shape,r=i[0],s=i[1],o=r*s;e||(e=t.map(gr));let a=performance.now(),l=new Uint8ClampedArray(4*r*s).fill(0),h=0;for(let u=0;u100*s/r),n}function gr(t){const e=t.data;let n=0,i=1/0,r=t.data.length;for(let s=0;sr?s:[]);for(const[r,s]of i.entries())n[s]=_i[r]}return n.map(mr)}function mr(t){t.startsWith("#")&&(t=t.slice(1));const e=parseInt(t.slice(0,2),16),n=parseInt(t.slice(2,4),16),i=parseInt(t.slice(4,6),16);return[e,n,i]}class pr{constructor(){this.store=Mn({})}async lookupOntologyTerm(e){let n=e.replace("NCBI:txid","");return(await _r(`https://rest.ensembl.org/taxonomy/id/${n}?content-type=application/json`)).name||e}addTerms(e){let n=Nt(this.store);[...new Set(e)].forEach(r=>{r&&(n[r]||(n[r]="Loading...",setTimeout(()=>{this.lookupOntologyTerm(r).then(s=>{this.addEntry(r,s)})},Math.random()*5e3)))})}addEntry(e,n){this.store.update(i=>(i[e]=n,i))}subscribe(e){return this.store.subscribe(e)}}class os extends pr{constructor(){super()}async lookupOntologyTerm(e){const n=e.replace("obo:","");return(await _r(`https://www.ebi.ac.uk/ols4/api/ontologies/fbbi/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252F${n}`)).label||e}}const br=new pr,vr=new os,gi=5;async function jt(t,e){var r;let n=await fetch(`${t}/zarr.json`,{signal:e}).then(s=>{if(s.status===404)throw new Error(`${t}/zarr.json not found`);return s.json()}).catch(s=>[void 0,t]);const i=(r=n==null?void 0:n.attributes)==null?void 0:r.ome;if(!i)return[void 0,t];if(i.multiscales)return[i,t];if(i.plate){let s=i.plate.wells[0],o=`${t}/${s.path}/0`,[a,l]=await jt(o);return[a,l,i.plate]}else if(i["bioformats2raw.layout"]){let s=`${t}/0`;return await jt(s)}}class ls{constructor(e="index",n=!0){this.store=Mn([]),this.selectedRow=Mn(null),this.sortColumn=e,this.sortAscending=n,this.csvFiles=[]}getCsvSourceList(e){let n;if(!e)n=this.csvFiles[0];else for(let r of this.csvFiles){if(r.source===e){n=r;break}for(let s of r.child_csv){if(s.source===e){n=s;break}for(let o of s.child_csv)if(o.source===e){n=o;break}}}return n?n.child_csv.map(r=>{let s=r.image_count||0,o=r.plate_count||0,a=r.bytes||0;for(let l of r.child_csv)s+=l.image_count||0,o+=l.plate_count||0,a+=l.bytes||0;return{...r,image_count:s,plate_count:o,bytes:a}}):[]}addCsv(e,n,i,r,s){n=n.map(a=>({...a,child_csv:[]}));let o;for(let a of this.csvFiles){if(a.url===e){o=a;break}for(let l of a.child_csv){if(l.url===e){o=l;break}for(let h of l.child_csv)if(h.url===e){o=h;break}}}o?(o.image_count=i,o.plate_count=r,o.bytes=s,o.child_csv=n):(o={url:e,image_count:i,plate_count:r,bytes:s,child_csv:n},this.csvFiles.push(o))}addRows(e){e=e.map((r,s)=>{if(r.written&&(r.written=parseFloat(r.written)),r.shape){let o=r.shape.split(",").map(l=>parseInt(l)),a;r.dimension_names?a=r.dimension_names.split(","):o.length==5&&(a=["t","c","z","y","x"]),a&&a.length==o.length&&a.forEach((l,h)=>r["size_"+l]=o[h]),r.dim_count=o.reduce((l,h)=>l+(h>1?1:0),0)}if(r.chunks){let o=r.chunks.split(",").map(a=>parseInt(a));r.chunk_pixels=o.reduce((a,l)=>a*l,1)}if(r.shards){let o=r.shards.split(",").map(a=>parseInt(a));r.shard_pixels=o.reduce((a,l)=>a*l,1)}return r.index=Math.random()*(1+s),r}),console.log("Adding rows",e),this.store.update(r=>(r.push(...e),r.sort((s,o)=>this.compareRows(s,o,!0)),r));let n=e.map(r=>r.organismId);br.addTerms(n);let i=e.map(r=>r.fbbiId);vr.addTerms(i)}populateRow(e,n){this.store.update(i=>(i=i.map(r=>(r.url===e&&(r={...r,...n}),r)),i))}async loadNgffMetadata(e){var m;const[n,i,r]=await jt(e);let s=[],o=0,a=0,l=!1,h=!0,u={multiscales:n},g=i;if(r&&(o=r.wells.length,a=r.field_count||1),n){const p=(m=n[0])==null?void 0:m.datasets[0],_=p==null?void 0:p.path;if(_){const E=await fetch(`${i}/${_}/zarr.json`).then(N=>N.json()).catch(N=>{console.log(`----> Failed to parse ${i}/${_}/zarr.json`,N)});s=E==null?void 0:E.shape}}else console.log("No multiscales found"),l=!0,s=[0];this.populateRow(e,{image_attrs:u,image_url:g,shape:s,well_count:o,field_count:a,load_failed:l,loaded:h})}async loadRocrateJsonAllRows(){let e=Nt(this.store);for(let n=0;nthis.loadRocrateJson(e[r].url));await Promise.all(i)}}compareRows(e,n,i=!1){let r=e[this.sortColumn],s=n[this.sortColumn];if(i)return r===void 0&&(r=0),s===void 0&&(s=0),rs?this.sortAscending?1:-1:0;r===void 0&&(r=""),s===void 0&&(s="");let o=0;return i?o=r-s:o=r.localeCompare(s),this.sortAscending?o:-o}sortTable(e,n=!0){console.log("sortTable",e,n),this.sortColumn=e,this.sortAscending=n;let i=this.isColumnNumeric(e);this.store.update(r=>(r.sort((s,o)=>this.compareRows(s,o,i)),r))}isColumnNumeric(e){let n=Nt(this.store);for(let i of n){let r=i[e];if(r!==void 0&&r!=="")return!isNaN(r)}}emptyTable(){this.store.set([])}subscribe(e){return this.store.subscribe(e)}getRows(){return Nt(this.store)}getRow(e){return Nt(this.store)[e]}subscribeSelectedRow(e){return this.selectedRow.subscribe(e)}setSelectedRow(e){this.selectedRow.set(e)}}const Ae=new ls;function as(t){let e,n,i,r,s,o;return{c(){e=y("button"),n=y("span"),n.textContent="^",i=x(),r=y("span"),r.textContent="^",b(n,"class","acc svelte-17vd65t"),Et(n,"strong",t[1]),b(r,"class","dec svelte-17vd65t"),Et(r,"strong",!t[1]),b(e,"class","svelte-17vd65t")},m(a,l){V(a,e,l),d(e,n),d(e,i),d(e,r),s||(o=we(e,"click",t[2]),s=!0)},p(a,[l]){l&2&&Et(n,"strong",a[1]),l&2&&Et(r,"strong",!a[1])},i:ke,o:ke,d(a){a&&q(e),s=!1,o()}}}function us(t,e,n){let{toggleAscending:i}=e,{sortAscending:r}=e;const s=()=>i();return t.$$set=o=>{"toggleAscending"in o&&n(0,i=o.toggleAscending),"sortAscending"in o&&n(1,r=o.sortAscending)},[i,r,s]}class cs extends Ze{constructor(e){super(),Je(this,e,us,as,Be,{toggleAscending:0,sortAscending:1})}}const cn={AUTO:"auto",START:"start",CENTER:"center",END:"end"},rt={HORIZONTAL:"horizontal",VERTICAL:"vertical"},Ft={OBSERVED:0,REQUESTED:1},fs={[rt.VERTICAL]:"top",[rt.HORIZONTAL]:"left"},mi={[rt.VERTICAL]:"scrollTop",[rt.HORIZONTAL]:"scrollLeft"};class hs{constructor({itemSize:e,itemCount:n,estimatedItemSize:i}){this.itemSize=e,this.itemCount=n,this.estimatedItemSize=i,this.itemSizeAndPositionData={},this.lastMeasuredIndex=-1,this.checkForMismatchItemSizeAndItemCount(),this.justInTime||this.computeTotalSizeAndPositionData()}get justInTime(){return typeof this.itemSize=="function"}updateConfig({itemSize:e,itemCount:n,estimatedItemSize:i}){n!=null&&(this.itemCount=n),i!=null&&(this.estimatedItemSize=i),e!=null&&(this.itemSize=e),this.checkForMismatchItemSizeAndItemCount(),this.justInTime&&this.totalSize!=null?this.totalSize=void 0:this.computeTotalSizeAndPositionData()}checkForMismatchItemSizeAndItemCount(){if(Array.isArray(this.itemSize)&&this.itemSize.length=this.itemCount)throw Error(`Requested index ${e} is outside of range 0..${this.itemCount}`);return this.justInTime?this.getJustInTimeSizeAndPositionForIndex(e):this.itemSizeAndPositionData[e]}getJustInTimeSizeAndPositionForIndex(e){if(e>this.lastMeasuredIndex){const n=this.getSizeAndPositionOfLastMeasuredItem();let i=n.offset+n.size;for(let r=this.lastMeasuredIndex+1;r<=e;r++){const s=this.getSize(r);if(s==null||isNaN(s))throw Error(`Invalid size returned for index ${r} of value ${s}`);this.itemSizeAndPositionData[r]={offset:i,size:s},i+=s}this.lastMeasuredIndex=e}return this.itemSizeAndPositionData[e]}getSizeAndPositionOfLastMeasuredItem(){return this.lastMeasuredIndex>=0?this.itemSizeAndPositionData[this.lastMeasuredIndex]:{offset:0,size:0}}getTotalSize(){if(this.totalSize)return this.totalSize;const e=this.getSizeAndPositionOfLastMeasuredItem();return e.offset+e.size+(this.itemCount-this.lastMeasuredIndex-1)*this.estimatedItemSize}getUpdatedOffsetForIndex({align:e=cn.START,containerSize:n,currentOffset:i,targetIndex:r}){if(n<=0)return 0;const s=this.getSizeAndPositionForIndex(r),o=s.offset,a=o-n+s.size;let l;switch(e){case cn.END:l=a;break;case cn.CENTER:l=o-(n-s.size)/2;break;case cn.START:l=o;break;default:l=Math.max(a,Math.min(o,i))}const h=this.getTotalSize();return Math.max(0,Math.min(h-n,l))}getVisibleRange({containerSize:e=0,offset:n,overscanCount:i}){if(this.getTotalSize()===0)return{};const s=n+e;let o=this.findNearestItem(n);if(o===void 0)throw Error(`Invalid offset ${n} specified`);const a=this.getSizeAndPositionForIndex(o);n=a.offset+a.size;let l=o;for(;n=e?this.binarySearch({high:i,low:0,offset:e}):this.exponentialSearch({index:i,offset:e})}binarySearch({low:e,high:n,offset:i}){let r=0,s=0;for(;e<=n;){if(r=e+Math.floor((n-e)/2),s=this.getSizeAndPositionForIndex(r).offset,s===i)return r;si&&(n=r-1)}return e>0?e-1:0}exponentialSearch({index:e,offset:n}){let i=1;for(;e({}),pi=t=>({});function bi(t,e,n){const i=t.slice();return i[37]=e[n],i}const _s=t=>({style:t[0]&4,index:t[0]&4}),vi=t=>({style:t[37].style,index:t[37].index}),gs=t=>({}),wi=t=>({});function yi(t,e){let n,i;const r=e[21].item,s=Tn(r,e,e[20],vi);return{key:t,first:null,c(){n=bn(),s&&s.c(),this.first=n},m(o,a){V(o,n,a),s&&s.m(o,a),i=!0},p(o,a){e=o,s&&s.p&&(!i||a[0]&1048580)&&Rn(s,r,e,e[20],i?On(r,e[20],a,_s):zn(e[20]),vi)},i(o){i||(re(s,o),i=!0)},o(o){he(s,o),i=!1},d(o){o&&q(n),s&&s.d(o)}}}function ms(t){let e,n,i,r=[],s=new Map,o,a;const l=t[21].header,h=Tn(l,t,t[20],wi);let u=Ne(t[2]);const g=_=>_[0]?_[0](_[37].index):_[37].index;for(let _=0;_{let t=!1;try{const e=Object.defineProperty({},"passive",{get(){return t={passive:!0},!0}});window.addEventListener("testpassive",e,e),window.remove("testpassive",e,e)}catch{}return t})();function bs(t,e,n){let{$$slots:i={},$$scope:r}=e,{height:s}=e,{width:o="100%"}=e,{itemCount:a}=e,{itemSize:l}=e,{estimatedItemSize:h=null}=e,{stickyIndices:u=null}=e,{getKey:g=null}=e,{scrollDirection:m=rt.VERTICAL}=e,{scrollOffset:p=null}=e,{scrollToIndex:_=null}=e,{scrollToAlignment:E=null}=e,{scrollToBehaviour:N="instant"}=e,{overscanCount:R=3}=e;const M=Dr(),Y=new hs({itemCount:a,itemSize:l,estimatedItemSize:te()});let G=!1,X,J=[],I={offset:p||_!=null&&J.length&&S(_)||0,scrollChangeReason:Ft.REQUESTED},f=I,c={scrollToIndex:_,scrollToAlignment:E,scrollOffset:p,itemCount:a,itemSize:l,estimatedItemSize:h},k={},O="",T="";Q(),$t(()=>{n(18,G=!0),X.addEventListener("scroll",z,ps),p!=null?B(p):_!=null&&B(S(_))}),xn(()=>{G&&X.removeEventListener("scroll",z)});function L(){if(!G)return;const v=c.scrollToIndex!==_||c.scrollToAlignment!==E,D=c.itemCount!==a||c.itemSize!==l||c.estimatedItemSize!==h;D&&(Y.updateConfig({itemSize:l,itemCount:a,estimatedItemSize:te()}),w()),c.scrollOffset!==p?n(19,I={offset:p||0,scrollChangeReason:Ft.REQUESTED}):typeof _=="number"&&(v||D)&&n(19,I={offset:S(_,E,a),scrollChangeReason:Ft.REQUESTED}),c={scrollToIndex:_,scrollToAlignment:E,scrollOffset:p,itemCount:a,itemSize:l,estimatedItemSize:h}}function j(){if(!G)return;const{offset:v,scrollChangeReason:D}=I;(f.offset!==v||f.scrollChangeReason!==D)&&Q(),f.offset!==v&&D===Ft.REQUESTED&&B(v),f=I}function Q(){const{offset:v}=I,{start:D,stop:W}=Y.getVisibleRange({containerSize:m===rt.VERTICAL?s:o,offset:v,overscanCount:R});let ne=[];const ie=Y.getTotalSize();m===rt.VERTICAL?(n(3,O=`height:${s}${typeof s=="number"?"px":""};width:${o};`),n(4,T=`flex-direction:column;height:${ie}px;`)):(n(3,O=`height:${s};width:${o}${typeof o=="number"?"px":""}`),n(4,T=`min-height:100%;width:${ie}px;`));const P=u!=null&&u.length!==0;if(P)for(let Z=0;Z=W)&&(v=0),Y.getUpdatedOffsetForIndex({align:D,containerSize:m===rt.VERTICAL?s:o,currentOffset:I.offset||0,targetIndex:v})}function z(v){const D=F();D<0||I.offset===D||v.target!==X||(n(19,I={offset:D,scrollChangeReason:Ft.OBSERVED}),M("afterScroll",{offset:D,event:v}))}function F(){return X[mi[m]]}function te(){return h||typeof l=="number"&&l||50}function A(v,D){if(k[v])return k[v];const{size:W,offset:ne}=Y.getSizeAndPositionForIndex(v);let ie;return m===rt.VERTICAL?(ie=`left:0;width:100%;height:${W}px;`,D?ie+=`position:sticky;flex-grow:0;z-index:1;top:0;margin-top:${ne}px;margin-bottom:${-(ne+W)}px;`:ie+=`position:absolute;top:${ne}px;`):(ie=`top:0;width:${W}px;`,D?ie+=`position:sticky;z-index:1;left:0;margin-left:${ne}px;margin-right:${-(ne+W)}px;`:ie+=`position:absolute;height:100%;left:${ne}px;`),k[v]=ie}function H(v){Tt[v?"unshift":"push"](()=>{X=v,n(1,X)})}return t.$$set=v=>{"height"in v&&n(5,s=v.height),"width"in v&&n(6,o=v.width),"itemCount"in v&&n(7,a=v.itemCount),"itemSize"in v&&n(8,l=v.itemSize),"estimatedItemSize"in v&&n(9,h=v.estimatedItemSize),"stickyIndices"in v&&n(10,u=v.stickyIndices),"getKey"in v&&n(0,g=v.getKey),"scrollDirection"in v&&n(11,m=v.scrollDirection),"scrollOffset"in v&&n(12,p=v.scrollOffset),"scrollToIndex"in v&&n(13,_=v.scrollToIndex),"scrollToAlignment"in v&&n(14,E=v.scrollToAlignment),"scrollToBehaviour"in v&&n(15,N=v.scrollToBehaviour),"overscanCount"in v&&n(16,R=v.overscanCount),"$$scope"in v&&n(20,r=v.$$scope)},t.$$.update=()=>{t.$$.dirty[0]&29568&&L(),t.$$.dirty[0]&524288&&j(),t.$$.dirty[0]&263264&&G&&w(0)},[g,X,J,O,T,s,o,a,l,h,u,m,p,_,E,N,R,w,G,I,r,i,H]}class vs extends Ze{constructor(e){super(),Je(this,e,bs,ms,Be,{height:5,width:6,itemCount:7,itemSize:8,estimatedItemSize:9,stickyIndices:10,getKey:0,scrollDirection:11,scrollOffset:12,scrollToIndex:13,scrollToAlignment:14,scrollToBehaviour:15,overscanCount:16,recomputeSizes:17},null,[-1,-1])}get height(){return this.$$.ctx[5]}set height(e){this.$$set({height:e}),De()}get width(){return this.$$.ctx[6]}set width(e){this.$$set({width:e}),De()}get itemCount(){return this.$$.ctx[7]}set itemCount(e){this.$$set({itemCount:e}),De()}get itemSize(){return this.$$.ctx[8]}set itemSize(e){this.$$set({itemSize:e}),De()}get estimatedItemSize(){return this.$$.ctx[9]}set estimatedItemSize(e){this.$$set({estimatedItemSize:e}),De()}get stickyIndices(){return this.$$.ctx[10]}set stickyIndices(e){this.$$set({stickyIndices:e}),De()}get getKey(){return this.$$.ctx[0]}set getKey(e){this.$$set({getKey:e}),De()}get scrollDirection(){return this.$$.ctx[11]}set scrollDirection(e){this.$$set({scrollDirection:e}),De()}get scrollOffset(){return this.$$.ctx[12]}set scrollOffset(e){this.$$set({scrollOffset:e}),De()}get scrollToIndex(){return this.$$.ctx[13]}set scrollToIndex(e){this.$$set({scrollToIndex:e}),De()}get scrollToAlignment(){return this.$$.ctx[14]}set scrollToAlignment(e){this.$$set({scrollToAlignment:e}),De()}get scrollToBehaviour(){return this.$$.ctx[15]}set scrollToBehaviour(e){this.$$set({scrollToBehaviour:e}),De()}get overscanCount(){return this.$$.ctx[16]}set overscanCount(e){this.$$set({overscanCount:e}),De()}get recomputeSizes(){return this.$$.ctx[17]}}class en extends Error{constructor(e,n={}){super(`Node not found: ${e}`,n),this.name="NodeNotFoundError"}}class Vn extends Error{constructor(e){super(`Missing key: ${e}`),this.name="KeyError"}}const ws="modulepreload",ys=function(t){return"https://ome.github.io/ome2024-ngff-challenge/"+t},ki={},Dt=function(e,n,i){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),o=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));r=Promise.all(n.map(a=>{if(a=ys(a),a in ki)return;ki[a]=!0;const l=a.endsWith(".css"),h=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${h}`))return;const u=document.createElement("link");if(u.rel=l?"stylesheet":ws,l||(u.as="script"),u.crossOrigin="",u.href=a,o&&u.setAttribute("nonce",o),document.head.appendChild(u),l)return new Promise((g,m)=>{u.addEventListener("load",g),u.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${a}`)))})}))}return r.then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};var Ve;class wr{constructor(e,n,i){Te(this,Ve);typeof e=="number"?Ee(this,Ve,new Uint8Array(e)):e instanceof ArrayBuffer?Ee(this,Ve,new Uint8Array(e,n,i)):Ee(this,Ve,new Uint8Array(Array.from(e,r=>r?1:0)))}get BYTES_PER_ELEMENT(){return 1}get byteOffset(){return ee(this,Ve).byteOffset}get byteLength(){return ee(this,Ve).byteLength}get buffer(){return ee(this,Ve).buffer}get length(){return ee(this,Ve).length}get(e){let n=ee(this,Ve)[e];return typeof n=="number"?n!==0:n}set(e,n){ee(this,Ve)[e]=n?1:0}fill(e){ee(this,Ve).fill(e?1:0)}*[Symbol.iterator](){for(let e=0;e=0;i--)n[i]=r,r*=t[i];return n}function Ss(t){const e=t.length,n=globalThis.Array(e);for(let i=0,r=1;i["c",...i].join(n)}if(t==="v2"){const n=(e==null?void 0:e.separator)??".";return i=>i.join(n)||"0"}throw new Error(`Unknown chunk key encoding: ${t}`)}function Fn(t){var n;const e=t.find(i=>i.name==="transpose");return((n=e==null?void 0:e.configuration)==null?void 0:n.order)==="F"?"F":"C"}const Is=/^([<|>])(.*)$/;function Ts(t){if(t==="|O")return{data_type:"v2:object"};let e=t.match(Is);if(!e)throw new Error(`Invalid dtype: ${t}`);let[,n,i]=e,r={b1:"bool",i1:"int8",u1:"uint8",i2:"int16",u2:"uint16",i4:"int32",u4:"uint32",i8:"int64",u8:"uint64",f4:"float32",f8:"float64"}[i]??(i.startsWith("S")||i.startsWith("U")?`v2:${i}`:void 0);if(!r)throw new Error(`Unsupported or unknown dtype: ${t}`);return n==="|"?{data_type:r}:{data_type:r,endian:n==="<"?"little":"big"}}function Os(t,e={}){let n=[],i=Ts(t.dtype);t.order==="F"&&n.push({name:"transpose",configuration:{order:"F"}}),"endian"in i&&i.endian==="big"&&n.push({name:"bytes",configuration:{endian:"big"}});for(let{id:r,...s}of t.filters??[])n.push({name:r,configuration:s});if(t.compressor){let{id:r,...s}=t.compressor;n.push({name:r,configuration:s})}return{zarr_format:3,node_type:"array",shape:t.shape,data_type:i.data_type,chunk_grid:{name:"regular",configuration:{chunk_shape:t.chunks}},chunk_key_encoding:{name:"v2",configuration:{separator:t.dimension_separator??"."}},codecs:n,fill_value:t.fill_value,attributes:e}}function Rs(t,e={}){return{zarr_format:3,node_type:"group",attributes:e}}function zs(t,e){if(e!=="number"&&e!=="bigint"&&e!=="boolean"&&e!=="object"&&e!=="string")return t===e;let n=t==="bool";if(e==="boolean")return n;let i=t.startsWith("v2:U")||t.startsWith("v2:S");if(e==="string")return i;let r=t==="int64"||t==="uint64";if(e==="bigint")return r;let s=t==="v2:object";return e==="object"?s:!i&&!r&&!n&&!s}function Ls(t){return(t==null?void 0:t.name)==="sharding_indexed"}function kr(t){return(t.data_type==="uint64"||t.data_type==="int64")&&t.fill_value!=null?BigInt(t.fill_value):t.fill_value}const Ci=Ms();function Ms(){const t=new Uint32Array([305419896]);return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)[0]!==18}function Si(t){return"BYTES_PER_ELEMENT"in t?t.BYTES_PER_ELEMENT:4}var xt,lt,Vt,Ht,It;const Qn=class Qn{constructor(e,n){oe(this,"kind","array_to_bytes");Te(this,xt);Te(this,lt);Te(this,Vt);Te(this,Ht);Te(this,It);Ee(this,It,e==null?void 0:e.endian),Ee(this,lt,yr(n.data_type)),Ee(this,Ht,n.shape),Ee(this,xt,pt(n.shape,Fn(n.codecs)));const i=new(ee(this,lt))(0);Ee(this,Vt,i.BYTES_PER_ELEMENT)}static fromConfig(e,n){return new Qn(e,n)}encode(e){let n=new Uint8Array(e.data.buffer);return Ci&&ee(this,It)==="big"&&Ei(n,Si(ee(this,lt))),n}decode(e){return Ci&&ee(this,It)==="big"&&Ei(e,Si(ee(this,lt))),{data:new(ee(this,lt))(e.buffer,e.byteOffset,e.byteLength/ee(this,Vt)),shape:ee(this,Ht),stride:ee(this,xt)}}};xt=new WeakMap,lt=new WeakMap,Vt=new WeakMap,Ht=new WeakMap,It=new WeakMap;let mn=Qn;class Wn{constructor(){oe(this,"kind","bytes_to_bytes")}static fromConfig(){return new Wn}encode(e){throw new Error("Not implemented")}decode(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength-4)}}function Fs(t,e){if(Number.isNaN(e))throw new Error("JsonCodec allow_nan is false but NaN was encountered during encoding.");if(e===Number.POSITIVE_INFINITY)throw new Error("JsonCodec allow_nan is false but Infinity was encountered during encoding.");if(e===Number.NEGATIVE_INFINITY)throw new Error("JsonCodec allow_nan is false but -Infinity was encountered during encoding.");return e}function Ds(t,e){return e instanceof Object&&!Array.isArray(e)?Object.keys(e).sort().reduce((n,i)=>(n[i]=e[i],n),{}):e}var Wt,Gt;const Xn=class Xn{constructor(e={}){oe(this,"configuration");oe(this,"kind","array_to_bytes");Te(this,Wt);Te(this,Gt);this.configuration=e;const{encoding:n="utf-8",skipkeys:i=!1,ensure_ascii:r=!0,check_circular:s=!0,allow_nan:o=!0,sort_keys:a=!0,indent:l,strict:h=!0}=e;let u=e.separators;u||(l?u=[", ",": "]:u=[",",":"]),Ee(this,Wt,{encoding:n,skipkeys:i,ensure_ascii:r,check_circular:s,allow_nan:o,indent:l,separators:u,sort_keys:a}),Ee(this,Gt,{strict:h})}static fromConfig(e){return new Xn(e)}encode(e){const{indent:n,encoding:i,ensure_ascii:r,check_circular:s,allow_nan:o,sort_keys:a}=ee(this,Wt);if(i!=="utf-8")throw new Error("JsonCodec does not yet support non-utf-8 encoding.");const l=[];if(!s)throw new Error("JsonCodec does not yet support skipping the check for circular references during encoding.");o||l.push(Fs),a&&l.push(Ds);const h=Array.from(e.data);h.push("|O"),h.push(e.shape);let u;l.length&&(u=(m,p)=>{let _=p;for(let E of l)_=E(m,_);return _});let g=JSON.stringify(h,u,n);return r&&(g=g.replace(/[\u007F-\uFFFF]/g,m=>{const p=`0000${m.charCodeAt(0).toString(16)}`;return`\\u${p.substring(p.length-4)}`})),new TextEncoder().encode(g)}decode(e){const{strict:n}=ee(this,Gt);if(!n)throw new Error("JsonCodec does not yet support non-strict decoding.");const i=tn(e),r=i.pop();if(i.pop(),!r)throw new Error("0D not implemented for JsonCodec.");const s=pt(r,"C");return{data:i,shape:r,stride:s}}};Wt=new WeakMap,Gt=new WeakMap;let Dn=Xn;function Ai(t){return t instanceof wr||t instanceof Hn||t instanceof qt?new Proxy(t,{get(n,i){return n.get(Number(i))},set(n,i,r){return n.set(Number(i),r),!0}}):t}function Ns(t,e){let n;return t.data instanceof Hn||t.data instanceof qt?n=new t.constructor(t.data.length,t.data.chars):n=new t.constructor(t.data.length),{data:n,shape:t.shape,stride:pt(t.shape,e)}}function Ps(t,e){let n=Ns(t,e),i=t.shape.length,r=t.data.length,s=Array(i).fill(0),o=Ai(t.data),a=Ai(n.data);for(let l=0;ln===e[i])?"C":"F"}class Gn{constructor(e){oe(this,"configuration");oe(this,"kind","array_to_array");this.configuration=e}static fromConfig(e){return new Gn(e)}encode(e){var n,i;return Us(e)===((n=this.configuration)==null?void 0:n.order)?e:Ps(e,((i=this.configuration)==null?void 0:i.order)??"C")}decode(e){return e}}var Kt,Jt;const $n=class $n{constructor(e){oe(this,"kind","array_to_bytes");Te(this,Kt);Te(this,Jt);Ee(this,Kt,e),Ee(this,Jt,pt(e,"C"))}static fromConfig(e,n){return new $n(n.shape)}encode(e){throw new Error("Method not implemented.")}decode(e){let n=new TextDecoder,i=new DataView(e.buffer),r=Array(i.getUint32(0,!0)),s=4;for(let o=0;oDt(()=>import("./blosc-E49GQuAK.js"),__vite__mapDeps([0,1])).then(t=>t.default)).set("gzip",()=>Dt(()=>import("./gzip-CF-9a_hd.js"),__vite__mapDeps([2,3])).then(t=>t.default)).set("lz4",()=>Dt(()=>import("./lz4-BIGKWw27.js"),__vite__mapDeps([4,1])).then(t=>t.default)).set("zlib",()=>Dt(()=>import("./zlib-CBiqHlio.js"),__vite__mapDeps([5,3])).then(t=>t.default)).set("zstd",()=>Dt(()=>import("./zstd-IvP746pw.js"),__vite__mapDeps([6,1])).then(t=>t.default)).set("transpose",()=>Gn).set("bytes",()=>mn).set("crc32c",()=>Wn).set("vlen-utf8",()=>Nn).set("json2",()=>Dn)}const js=Bs();function Pn(t){let e;return{async encode(n){e||(e=await Ii(t));for(const r of e.array_to_array)n=await r.encode(n);let i=await e.array_to_bytes.encode(n);for(const r of e.bytes_to_bytes)i=await r.encode(i);return i},async decode(n){e||(e=await Ii(t));for(let r=e.bytes_to_bytes.length-1;r>=0;r--)n=await e.bytes_to_bytes[r].decode(n);let i=await e.array_to_bytes.decode(n);for(let r=e.array_to_array.length-1;r>=0;r--)i=await e.array_to_array[r].decode(i);return i}}}async function Ii(t){let e=t.codecs.map(async s=>{var a;let o=await((a=js.get(s.name))==null?void 0:a());if(!o)throw new Error(`Unknown codec: ${s.name}`);return{Codec:o,meta:s}}),n=[],i,r=[];for await(let{Codec:s,meta:o}of e){let a=s.fromConfig(o.configuration,t);switch(a.kind){case"array_to_array":n.push(a);break;case"array_to_bytes":i=a;break;default:r.push(a)}}if(!i){if(!qs(t))throw new Error(`Cannot encode ${t.data_type} to bytes without a codec`);i=mn.fromConfig({endian:"little"},t)}return{array_to_array:n,array_to_bytes:i,bytes_to_bytes:r}}function qs(t){return t.data_type!=="v2:object"}const Ti=18446744073709551615n;function xs(t,e,n,i){if(t.store.getRange===void 0)throw new Error("Store does not support range requests");let r=t.store.getRange.bind(t.store),s=e.map((l,h)=>l/i.chunk_shape[h]),o=Pn({data_type:"uint64",shape:[...s,2],codecs:i.index_codecs}),a={};return async l=>{let h=l.map((M,Y)=>Math.floor(M/s[Y])),u=t.resolve(n(h)).path,g;if(u in a)g=a[u];else{let M=4,Y=16*s.reduce((X,J)=>X*J,1),G=await r(u,{suffixLength:Y+M});g=a[u]=G?await o.decode(G):null}if(g===null)return;let{data:m,shape:p,stride:_}=g,E=l.map((M,Y)=>M%p[Y]).reduce((M,Y,G)=>M+Y*_[G],0),N=m[E],R=m[E+1];if(!(N===Ti&&R===Ti))return r(u,{offset:Number(N),length:Number(R)})}}class zt{constructor(e,n="/"){oe(this,"store");oe(this,"path");this.store=e,this.path=n}resolve(e){let n=new URL(`file://${this.path.endsWith("/")?this.path:`${this.path}/`}`);return new zt(this.store,new URL(e,n).pathname)}}var Zt;class Kn extends zt{constructor(n,i,r){super(n,i);oe(this,"kind","group");Te(this,Zt);Ee(this,Zt,r)}get attrs(){return ee(this,Zt).attributes}}Zt=new WeakMap;const Pt=Symbol("zarrita.context");function Vs(t){return t[Pt]}function Hs(t,e){let{configuration:n}=e.codecs.find(Ls)??{},i={encode_chunk_key:As(e.chunk_key_encoding),TypedArray:yr(e.data_type),fill_value:e.fill_value};if(n){let s=Fn(n.codecs);return{...i,kind:"sharded",chunk_shape:n.chunk_shape,codec:Pn({data_type:e.data_type,shape:n.chunk_shape,codecs:n.codecs}),get_strides(o,a){return pt(o,a??s)},get_chunk_bytes:xs(t,e.chunk_grid.configuration.chunk_shape,i.encode_chunk_key,n)}}let r=Fn(e.codecs);return{...i,kind:"regular",chunk_shape:e.chunk_grid.configuration.chunk_shape,codec:Pn({data_type:e.data_type,shape:e.chunk_grid.configuration.chunk_shape,codecs:e.codecs}),get_strides(s,o){return pt(s,o??r)},async get_chunk_bytes(s,o){let a=i.encode_chunk_key(s),l=t.resolve(a).path;return t.store.get(l,o)}}}var or,lr,mt,ar;let pn=(ar=class extends(lr=zt,or=Pt,lr){constructor(n,i,r){super(n,i);oe(this,"kind","array");Te(this,mt);oe(this,or);Ee(this,mt,{...r,fill_value:kr(r)}),this[Pt]=Hs(this,r)}get attrs(){return ee(this,mt).attributes}get shape(){return ee(this,mt).shape}get chunks(){return this[Pt].chunk_shape}get dtype(){return ee(this,mt).data_type}async getChunk(n,i){let r=this[Pt],s=await r.get_chunk_bytes(n,i);if(!s){let o=r.chunk_shape.reduce((l,h)=>l*h,1),a=new r.TypedArray(o);return a.fill(r.fill_value),{data:a,shape:r.chunk_shape,stride:r.get_strides(r.chunk_shape)}}return r.codec.decode(s)}is(n){return zs(this.dtype,n)}},mt=new WeakMap,ar),vn=Ws();function Ws(){let t=new WeakMap;function e(n){let i=t.get(n)??{v2:0,v3:0};return t.set(n,i),i}return{increment(n,i){e(n)[i]+=1},version_max(n){let i=e(n);return i.v3>i.v2?"v3":"v2"}}}async function Gs(t){let e=await t.store.get(t.resolve(".zattrs").path);return e?tn(e):{}}async function Ks(t,e={}){let n="store"in t?t:new zt(t),i={};return(e.attrs??!0)&&(i=await Gs(n)),e.kind==="array"?Oi(n,i):e.kind==="group"?Ri(n,i):Oi(n,i).catch(r=>{if(r instanceof en)return Ri(n,i);throw r})}async function Oi(t,e){let{path:n}=t.resolve(".zarray"),i=await t.store.get(n);if(!i)throw new en("v2 array",{cause:new Vn(n)});return vn.increment(t.store,"v2"),new pn(t.store,t.path,Os(tn(i),e))}async function Ri(t,e){let{path:n}=t.resolve(".zgroup"),i=await t.store.get(n);if(!i)throw new en("v2 group",{cause:new Vn(n)});return vn.increment(t.store,"v2"),new Kn(t.store,t.path,Rs(tn(i),e))}async function Js(t){let{store:e,path:n}=t.resolve("zarr.json"),i=await t.store.get(n);if(!i)throw new en("v3 array or group",{cause:new Vn(n)});let r=tn(i);return r.node_type==="array"&&(r.fill_value=kr(r)),r.node_type==="array"?new pn(e,t.path,r):new Kn(e,t.path,r)}async function Zs(t,e={}){let n="store"in t?t:new zt(t),i=await Js(n);if(vn.increment(n.store,"v3"),e.kind===void 0||e.kind==="array"&&i instanceof pn||e.kind==="group"&&i instanceof Kn)return i;let r=i instanceof pn?"array":"group";throw new Error(`Expected node of kind ${e.kind}, found ${r}.`)}async function gt(t,e={}){let n="store"in t?t.store:t,i=vn.version_max(n),r=i==="v2"?gt.v2:gt.v3,s=i==="v2"?gt.v3:gt.v2;return r(t,e).catch(o=>{if(o instanceof en)return s(t,e);throw o})}gt.v2=Ks;gt.v3=Zs;function*Ys(t,e,n=1){e===void 0&&(e=t,t=0);for(let i=t;ii[Symbol.iterator]()),n=e.map(i=>i.next());if(n.some(i=>i.done))throw new Error("Input contains an empty iterator.");for(let i=0;;){if(n[i].done){if(e[i]=t[i][Symbol.iterator](),n[i]=e[i].next(),++i>=e.length)return}else yield n.map(({value:r})=>r),i=0;n[i]=e[i].next()}}function Xs({start:t,stop:e,step:n},i){if(n===0)throw new Error("slice step cannot be zero");n=n??1;const r=n<0,[s,o]=r?[-1,i-1]:[0,i];return t===null?t=r?o:s:t<0?(t+=i,to&&(t=o),e===null?e=r?s:o:e<0?(e+=i,eo&&(e=o),[t,e,n]}function Un(t,e,n=null){return e===void 0&&(e=t,t=null),{start:t,stop:e,step:n}}function $s(){const t=[];return{add:e=>t.push(e()),onIdle:()=>Promise.all(t)}}class Jn extends Error{constructor(e){super(e),this.name="IndexError"}}function eo(t,e){throw new Jn(`too many indicies for array; expected ${e.length}, got ${t.length}`)}function to(t){throw new Jn(`index out of bounds for dimension with length ${t}`)}function no(){throw new Jn("only slices with step >= 1 are supported")}function io(t,e){t.length>e.length&&eo(t,e)}function ro(t,e){return t=Math.trunc(t),t<0&&(t=e+t),(t>=e||t<0)&&to(e),t}class so{constructor({dim_sel:e,dim_len:n,dim_chunk_len:i}){oe(this,"dim_sel");oe(this,"dim_len");oe(this,"dim_chunk_len");oe(this,"nitems");e=ro(e,n),this.dim_sel=e,this.dim_len=n,this.dim_chunk_len=i,this.nitems=1}*[Symbol.iterator](){const e=Math.floor(this.dim_sel/this.dim_chunk_len),n=e*this.dim_chunk_len,i=this.dim_sel-n;yield{dim_chunk_ix:e,dim_chunk_sel:i}}}class zi{constructor({dim_sel:e,dim_len:n,dim_chunk_len:i}){oe(this,"start");oe(this,"stop");oe(this,"step");oe(this,"dim_len");oe(this,"dim_chunk_len");oe(this,"nitems");oe(this,"nchunks");const[r,s,o]=Xs(e,n);this.start=r,this.stop=s,this.step=o,this.step<1&&no(),this.dim_len=n,this.dim_chunk_len=i,this.nitems=Math.max(0,Math.ceil((this.stop-this.start)/this.step)),this.nchunks=Math.ceil(this.dim_len/this.dim_chunk_len)}*[Symbol.iterator](){const e=Math.floor(this.start/this.dim_chunk_len),n=Math.ceil(this.stop/this.dim_chunk_len);for(const i of Ys(e,n)){const r=i*this.dim_chunk_len,s=Math.min(this.dim_len,(i+1)*this.dim_chunk_len),o=s-r;let a=0,l=0;if(this.starts?o:this.stop-r,u=[l,h,this.step],g=Math.ceil((h-l)/this.step),m=[a,a+g,1];yield{dim_chunk_ix:i,dim_chunk_sel:u,dim_out_sel:m}}}}function oo(t,e){let n=[];return t===null?n=e.map(i=>Un(null)):Array.isArray(t)&&(n=t.map(i=>i??Un(null))),io(n,e),n}class lo{constructor({selection:e,shape:n,chunk_shape:i}){oe(this,"dim_indexers");oe(this,"shape");this.dim_indexers=oo(e,n).map((r,s)=>new(typeof r=="number"?so:zi)({dim_sel:r,dim_len:n[s],dim_chunk_len:i[s]})),this.shape=this.dim_indexers.filter(r=>r instanceof zi).map(r=>r.nitems)}*[Symbol.iterator](){for(const e of Qs(...this.dim_indexers)){const n=e.map(r=>r.dim_chunk_ix),i=e.map(r=>"dim_out_sel"in r?{from:r.dim_chunk_sel,to:r.dim_out_sel}:{from:r.dim_chunk_sel,to:null});yield{chunk_coords:n,mapping:i}}}}function ao(t,e){return"get"in t?t.get(e):t[e]}async function uo(t,e,n,i){var l;let r=Vs(t),s=new lo({selection:e,shape:t.shape,chunk_shape:t.chunks}),o=i.prepare(new r.TypedArray(s.shape.reduce((h,u)=>h*u,1)),s.shape,r.get_strides(s.shape,n.order)),a=((l=n.create_queue)==null?void 0:l.call(n))??$s();for(const{chunk_coords:h,mapping:u}of s)a.add(async()=>{let{data:g,shape:m,stride:p}=await t.getChunk(h,n.opts),_=i.prepare(g,m,p);i.set_from_chunk(o,_,u)});return await a.onIdle(),s.shape.length===0?ao(o.data,0):o}function Zn(t,e=0,n){let i=n??t.length-e;return{length:i,subarray(r,s=i){return Zn(t,e+r,s-r)},set(r,s=0){for(let o=0;o1?g=u/o:o<1&&(u=g*o);let m=u,p=g,_=!0;const E=new AbortController;async function N(){var z;let M=r.multiscales[0].datasets.map(F=>F.path),Y=r.multiscales[0].axes.map(F=>F.name),G=M.at(-1);s!=null&&sl*l){console.log("Lowest resolution too large for Thumbnail: ",f,i);return}let c=f.length,k=f[I]||1,O,T;(z=r==null?void 0:r.omero)!=null&&z.channels?(O=r.omero.channels.map(F=>F.active),T=r.omero.channels.map(F=>mr(F.color))):(O=rs(k),T=ss(k,O)),T=T.filter((F,te)=>O[te]);let j=O.reduce((F,te,A)=>(te&&F.push(A),F),[]).map(F=>{let te=f.map((A,H)=>H==I?F:H>=c-2?Un(0,A):Y[H]=="z"||Y[H]=="t"?parseInt(A/2+""):0);return _o(J,te,{opts:{signal:E.signal}})}),Q=await Promise.all(j),B=Q.map(F=>gr(F)),w=$r(Q,B,T);n(1,u=f.at(-1)),n(2,g=f.at(-2));let S=u/a;g>u&&(S=g/a),n(3,m=u/S),n(4,p=g/S),setTimeout(()=>{const F=h.getContext("2d");n(5,_=!1),F.putImageData(new ImageData(w,u,g),0,0)},100)}$t(()=>{N()}),xn(()=>{E.abort()});function R(M){Tt[M?"unshift":"push"](()=>{h=M,n(0,h)})}return t.$$set=M=>{"source"in M&&n(6,i=M.source),"attrs"in M&&n(7,r=M.attrs),"thumbDatasetIndex"in M&&n(8,s=M.thumbDatasetIndex),"thumbAspectRatio"in M&&n(9,o=M.thumbAspectRatio),"cssSize"in M&&n(10,a=M.cssSize),"max_size"in M&&n(11,l=M.max_size)},[h,u,g,m,p,_,i,r,s,o,a,l,R]}class Sr extends Ze{constructor(e){super(),Je(this,e,vo,bo,Be,{source:6,attrs:7,thumbDatasetIndex:8,thumbAspectRatio:9,cssSize:10,max_size:11})}}function Fi(t,e,n){const i=t.slice();return i[12]=e[n],i}function Di(t){let e,n;return e=new Sr({props:{source:t[4],attrs:t[3],max_size:2e3,thumbDatasetIndex:t[5],thumbAspectRatio:t[6]}}),{c(){Ke(e.$$.fragment)},m(i,r){He(e,i,r),n=!0},p(i,r){const s={};r&16&&(s.source=i[4]),r&8&&(s.attrs=i[3]),r&32&&(s.thumbDatasetIndex=i[5]),r&64&&(s.thumbAspectRatio=i[6]),e.$set(s)},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){We(e,i)}}}function Ni(t){let e,n,i,r,s,o,a,l=t[0].source+"",h,u,g=t[0].csv&&Pi(t);return{c(){e=y("div"),n=y("span"),n.textContent="Data",i=x(),g&&g.c(),r=x(),s=y("span"),s.textContent="provided by",o=x(),a=y("strong"),h=U(l),u=U("."),b(n,"class","hideOnSmall svelte-afrxqy"),b(s,"class","hideOnSmall svelte-afrxqy"),ae(a,"color","grey")},m(m,p){V(m,e,p),d(e,n),d(e,i),g&&g.m(e,null),d(e,r),d(e,s),d(e,o),d(e,a),d(a,h),d(e,u)},p(m,p){m[0].csv?g?g.p(m,p):(g=Pi(m),g.c(),g.m(e,r)):g&&(g.d(1),g=null),p&1&&l!==(l=m[0].source+"")&&me(h,l)},d(m){m&&q(e),g&&g.d()}}}function Pi(t){var a;let e,n,i,r=((a=t[0].csv)==null?void 0:a.split("/").pop().replace(".csv",""))+"",s,o;return{c(){e=y("span"),e.textContent="from collection",n=x(),i=y("a"),s=U(r),b(e,"class","hideOnSmall svelte-afrxqy"),b(i,"title","Show collection in a new tab"),b(i,"href",o=qi(t[0])),b(i,"target","_blank")},m(l,h){V(l,e,h),V(l,n,h),V(l,i,h),d(i,s)},p(l,h){var u;h&1&&r!==(r=((u=l[0].csv)==null?void 0:u.split("/").pop().replace(".csv",""))+"")&&me(s,r),h&1&&o!==(o=qi(l[0]))&&b(i,"href",o)},d(l){l&&(q(e),q(n),q(i))}}}function Ui(t){let e,n,i,r,s,o;return{c(){e=U("Browse "),n=y("a"),i=U("Original data"),o=U("."),b(n,"title",r="Link to original data: "+t[0].origin),b(n,"href",s=t[0].origin),b(n,"target","_blank")},m(a,l){V(a,e,l),V(a,n,l),d(n,i),V(a,o,l)},p(a,l){l&1&&r!==(r="Link to original data: "+a[0].origin)&&b(n,"title",r),l&1&&s!==(s=a[0].origin)&&b(n,"href",s)},d(a){a&&(q(e),q(n),q(o))}}}function Bi(t){let e=t[12].toUpperCase()+"",n,i,r=t[0][`size_${t[12]}`]+"",s,o;return{c(){n=U(e),i=U(":"),s=U(r),o=U("  ")},m(a,l){V(a,n,l),V(a,i,l),V(a,s,l),V(a,o,l)},p(a,l){l&1&&r!==(r=a[0][`size_${a[12]}`]+"")&&me(s,r)},d(a){a&&(q(n),q(i),q(s),q(o))}}}function ji(t){let e,n=t[0][`size_${t[12]}`]!==void 0&&Bi(t);return{c(){n&&n.c(),e=bn()},m(i,r){n&&n.m(i,r),V(i,e,r)},p(i,r){i[0][`size_${i[12]}`]!==void 0?n?n.p(i,r):(n=Bi(i),n.c(),n.m(e.parentNode,e)):n&&(n.d(1),n=null)},d(i){i&&q(e),n&&n.d(i)}}}function wo(t){let e,n,i=ut(t[0].written)+"",r;return{c(){e=y("div"),n=U("Data size: "),r=U(i)},m(s,o){V(s,e,o),d(e,n),d(e,r)},p(s,o){o&1&&i!==(i=ut(s[0].written)+"")&&me(r,i)},d(s){s&&q(e)}}}function yo(t){let e,n,i=t[0].shards+"",r;return{c(){e=y("div"),n=U("Shard shape: "),r=U(i)},m(s,o){V(s,e,o),d(e,n),d(e,r)},p(s,o){o&1&&i!==(i=s[0].shards+"")&&me(r,i)},d(s){s&&q(e)}}}function ko(t){let e,n,i=t[0].chunks+"",r;return{c(){e=y("div"),n=U("Chunk shape: "),r=U(i)},m(s,o){V(s,e,o),d(e,n),d(e,r)},p(s,o){o&1&&i!==(i=s[0].chunks+"")&&me(r,i)},d(s){s&&q(e)}}}function Eo(t){let e,n,i,r,s,o,a=t[9](t[0].url)+"",l,h,u,g=(t[0].name?t[0].name.replaceAll(t[1],`${t[1]}`):"")+"",m,p,_,E=t[7].replaceAll(t[1],`${t[1]}`)+"",N,R,M,Y,G,X,J,I,f,c,k,O,T,L,j,Q,B=t[3]&&Di(t),w=t[0].source&&Ni(t),S=t[0].origin&&Ui(t),z=Ne(["t","c","z","y","x"]),F=[];for(let v=0;v<5;v+=1)F[v]=ji(Fi(t,z,v));function te(v,D){return v[2]=="chunk_pixels"?ko:v[2]=="shard_pixels"?yo:wo}let A=te(t),H=A(t);return{c(){e=y("div"),n=y("div"),B&&B.c(),i=x(),r=y("div"),s=y("div"),o=y("strong"),h=x(),u=y("div"),p=x(),_=y("div"),N=x(),w&&w.c(),R=x(),M=y("div"),Y=U("Open in "),G=y("a"),X=U("OME-Validator."),f=x(),S&&S.c(),c=x(),k=y("div"),O=U(`Image size: - `);for(let v=0;v<5;v+=1)F[v].c();T=x(),H.c(),b(n,"class","thumbWrapper svelte-afrxqy"),b(s,"title",l=t[0].url),b(u,"class",m=fi(t[1]==""?"hideOnSmall":"")+" svelte-afrxqy"),b(G,"title",J="Open in Validator: "+t[0].url),b(G,"href",I="https://ome.github.io/ome-ngff-validator/?source="+t[0].url),b(G,"target","_blank"),b(e,"class","zarr-list-item svelte-afrxqy")},m(v,D){V(v,e,D),d(e,n),B&&B.m(n,null),d(e,i),d(e,r),d(r,s),d(s,o),o.innerHTML=a,d(r,h),d(r,u),u.innerHTML=g,d(r,p),d(r,_),_.innerHTML=E,d(r,N),w&&w.m(r,null),d(r,R),d(r,M),d(M,Y),d(M,G),d(G,X),d(M,f),S&&S.m(M,null),d(r,c),d(r,k),d(k,O);for(let W=0;W<5;W+=1)F[W]&&F[W].m(k,null);d(r,T),H.m(r,null),L=!0,j||(Q=we(n,"click",t[8]),j=!0)},p(v,[D]){if(v[3]?B?(B.p(v,D),D&8&&re(B,1)):(B=Di(v),B.c(),re(B,1),B.m(n,null)):B&&(Ot(),he(B,1,1,()=>{B=null}),Rt()),(!L||D&1)&&a!==(a=v[9](v[0].url)+"")&&(o.innerHTML=a),(!L||D&1&&l!==(l=v[0].url))&&b(s,"title",l),(!L||D&3)&&g!==(g=(v[0].name?v[0].name.replaceAll(v[1],`${v[1]}`):"")+"")&&(u.innerHTML=g),(!L||D&2&&m!==(m=fi(v[1]==""?"hideOnSmall":"")+" svelte-afrxqy"))&&b(u,"class",m),(!L||D&130)&&E!==(E=v[7].replaceAll(v[1],`${v[1]}`)+"")&&(_.innerHTML=E),v[0].source?w?w.p(v,D):(w=Ni(v),w.c(),w.m(r,R)):w&&(w.d(1),w=null),(!L||D&1&&J!==(J="Open in Validator: "+v[0].url))&&b(G,"title",J),(!L||D&1&&I!==(I="https://ome.github.io/ome-ngff-validator/?source="+v[0].url))&&b(G,"href",I),v[0].origin?S?S.p(v,D):(S=Ui(v),S.c(),S.m(M,null)):S&&(S.d(1),S=null),D&1){z=Ne(["t","c","z","y","x"]);let W;for(W=0;W<5;W+=1){const ne=Fi(v,z,W);F[W]?F[W].p(ne,D):(F[W]=ji(ne),F[W].c(),F[W].m(k,null))}for(;W<5;W+=1)F[W].d(1)}A===(A=te(v))&&H?H.p(v,D):(H.d(1),H=A(v),H&&(H.c(),H.m(r,null)))},i(v){L||(re(B),L=!0)},o(v){he(B),L=!1},d(v){v&&q(e),B&&B.d(),w&&w.d(),S&&S.d(),Ct(F,v),H.d(),j=!1,Q()}}}function qi(t){return window.location.origin+window.location.pathname+"?csv="+t.csv}function Co(t,e,n){let i,{rowData:r}=e,{textFilter:s}=e,{sortedBy:o=void 0}=e,a,l,h,u=1;const g=new AbortController;if(r.size_x&&r.size_y){let _=Math.max(r.size_x,r.size_y);for(h=0;_>256;)h+=1,_=_/2;u=r.size_x/r.size_y}function m(){console.log("Clicked on thumbnail"),Ae.setSelectedRow(r)}function p(_){if(s&&_.toLowerCase().includes(s.toLowerCase())){let N=_.toLowerCase(),R=s.toLowerCase(),M=N.indexOf(R),Y=Math.max(0,Math.min(M,_.length-50)),G=_.substring(Y,M);return G+="",G+=_.substring(M,M+R.length),G+="",G+=_.substring(M+R.length),G}return _.split("/").pop()}return $t(async()=>{let _=r.url;r.series0!==void 0&&(_+="/"+r.series0);let E=await jt(_,g.signal);n(3,a=E[0]),n(4,l=E[1]),E[2]}),xn(()=>{g.abort()}),t.$$set=_=>{"rowData"in _&&n(0,r=_.rowData),"textFilter"in _&&n(1,s=_.textFilter),"sortedBy"in _&&n(2,o=_.sortedBy)},t.$$.update=()=>{var _;t.$$.dirty&3&&n(7,i=s!=""&&((_=r.description)!=null&&_.toLowerCase().includes(s.toLowerCase()))?r.description:"")},[r,s,o,a,l,h,u,i,m,p]}class So extends Ze{constructor(e){super(),Je(this,e,Co,Eo,Be,{rowData:0,textFilter:1,sortedBy:2})}}function Ao(t){let e,n,i,r;return n=new So({props:{rowData:t[0][t[13]],textFilter:t[1],sortedBy:t[2]}}),{c(){e=y("div"),Ke(n.$$.fragment),b(e,"slot","item"),b(e,"style",i=t[12]),b(e,"class","row svelte-1xlep2t")},m(s,o){V(s,e,o),He(n,e,null),r=!0},p(s,o){const a={};o&8193&&(a.rowData=s[0][s[13]]),o&2&&(a.textFilter=s[1]),o&4&&(a.sortedBy=s[2]),n.$set(a),(!r||o&4096&&i!==(i=s[12]))&&b(e,"style",i)},i(s){r||(re(n.$$.fragment,s),r=!0)},o(s){he(n.$$.fragment,s),r=!1},d(s){s&&q(e),We(n)}}}function Io(t){let e=!1,n=()=>{e=!1},i,r,s,o=`${t[5]}px`,a,l,h;return st(t[8]),st(t[9]),s=new vs({props:{width:"100%",height:t[5],itemCount:t[0].length,itemSize:160,getKey:t[6],$$slots:{item:[Ao,({style:u,index:g})=>({12:u,13:g}),({style:u,index:g})=>(u?4096:0)|(g?8192:0)]},$$scope:{ctx:t}}}),s.$on("afterScroll",t[7]),{c(){r=y("div"),Ke(s.$$.fragment),b(r,"class","imageListContainer svelte-1xlep2t"),ae(r,"height",o)},m(u,g){V(u,r,g),He(s,r,null),t[10](r),a=!0,l||(h=[we(window,"resize",t[8]),we(window,"scroll",()=>{e=!0,clearTimeout(i),i=setTimeout(n,100),t[9]()})],l=!0)},p(u,[g]){g&16&&!e&&(e=!0,clearTimeout(i),scrollTo(window.pageXOffset,u[4]),i=setTimeout(n,100));const m={};g&32&&(m.height=u[5]),g&1&&(m.itemCount=u[0].length),g&28679&&(m.$$scope={dirty:g,ctx:u}),s.$set(m),g&32&&o!==(o=`${u[5]}px`)&&ae(r,"height",o)},i(u){a||(re(s.$$.fragment,u),a=!0)},o(u){he(s.$$.fragment,u),a=!1},d(u){u&&q(r),We(s),t[10](null),l=!1,et(h)}}}function To(t,e,n){let i,{tableRows:r}=e,{textFilter:s}=e,{sortedBy:o=void 0}=e;function a(E){return r[E].url}let l,h=0,u=0;function g(E){let R=l.offsetTop-20;E.detail.offset-u<0&&h>R&&n(4,h-=1),u=E.detail.offset}function m(){n(5,i=window.innerHeight)}function p(){n(4,h=window.pageYOffset)}function _(E){Tt[E?"unshift":"push"](()=>{l=E,n(3,l)})}return t.$$set=E=>{"tableRows"in E&&n(0,r=E.tableRows),"textFilter"in E&&n(1,s=E.textFilter),"sortedBy"in E&&n(2,o=E.sortedBy)},n(5,i=0),[r,s,o,l,h,i,a,g,m,p,_]}class Oo extends Ze{constructor(e){super(),Je(this,e,To,Io,Be,{tableRows:0,textFilter:1,sortedBy:2})}}function xi(t){let e,n;return e=new Sr({props:{source:t[1],attrs:t[0],cssSize:512,max_size:2e3,thumbDatasetIndex:t[2],thumbAspectRatio:t[3]}}),{c(){Ke(e.$$.fragment)},m(i,r){He(e,i,r),n=!0},p(i,r){const s={};r&2&&(s.source=i[1]),r&1&&(s.attrs=i[0]),r&4&&(s.thumbDatasetIndex=i[2]),r&8&&(s.thumbAspectRatio=i[3]),e.$set(s)},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){We(e,i)}}}function Ro(t){let e,n,i=t[0]&&xi(t);return{c(){i&&i.c(),e=bn()},m(r,s){i&&i.m(r,s),V(r,e,s),n=!0},p(r,[s]){r[0]?i?(i.p(r,s),s&1&&re(i,1)):(i=xi(r),i.c(),re(i,1),i.m(e.parentNode,e)):i&&(Ot(),he(i,1,1,()=>{i=null}),Rt())},i(r){n||(re(i),n=!0)},o(r){he(i),n=!1},d(r){r&&q(e),i&&i.d(r)}}}function zo(t,e,n){let{rowData:i}=e;console.log("ThumbLoader",i);let r,s,o,a=1;if(i.size_x&&i.size_y){let l=Math.max(i.size_x,i.size_y);for(o=0;l>1024;)o+=1,l=l/2;a=i.size_x/i.size_y}else o=void 0,a=1;return $t(async()=>{let l=await jt(i.url);n(0,r=l[0]),n(1,s=l[1]),l[2]}),t.$$set=l=>{"rowData"in l&&n(4,i=l.rowData)},[r,s,o,a,i]}class Lo extends Ze{constructor(e){super(),Je(this,e,zo,Ro,Be,{rowData:4})}}function Vi(t,e,n){const i=t.slice();return i[5]=e[n][0],i[6]=e[n][1],i}function Hi(t){let e,n;return e=new Lo({props:{rowData:t[1]}}),{c(){Ke(e.$$.fragment)},m(i,r){He(e,i,r),n=!0},p(i,r){const s={};r&2&&(s.rowData=i[1]),e.$set(s)},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){We(e,i)}}}function Wi(t){let e,n,i=t[2]&&Hi(t);return{c(){i&&i.c(),e=bn()},m(r,s){i&&i.m(r,s),V(r,e,s),n=!0},p(r,s){r[2]?i?(i.p(r,s),s&4&&re(i,1)):(i=Hi(r),i.c(),re(i,1),i.m(e.parentNode,e)):i&&(Ot(),he(i,1,1,()=>{i=null}),Rt())},i(r){n||(re(i),n=!0)},o(r){he(i),n=!1},d(r){r&&q(e),i&&i.d(r)}}}function Gi(t){let e,n=Ne(Object.entries(t[1])),i=[];for(let r=0;r{console.log("Showing preview for",l),l&&(n(1,r=l),console.log("Showing Thumb preview for",l,r),n(2,s=r.url),i.showPopover())});function o(){i.hidePopover()}$t(()=>{console.log("Mounted popover",i),i&&i.addEventListener("toggle",l=>{l.newState==="open"||(console.log("Popover has been hidden"),Ae.setSelectedRow(null))})});function a(l){Tt[l?"unshift":"push"](()=>{i=l,n(0,i)})}return[i,r,s,o,a]}class Do extends Ze{constructor(e){super(),Je(this,e,Fo,Mo,Be,{})}}const No="https://ome.github.io/ome2024-ngff-challenge/selectCaret.svg",Po="https://ome.github.io/ome2024-ngff-challenge/ome-main-nav.svg",Uo="https://ome.github.io/ome2024-ngff-challenge/github-mark-white.svg";function Bo(t){let e,n,i,r,s,o,a,l,h,u,g,m,p,_,E;return{c(){e=y("base"),n=x(),i=y("nav"),r=y("a"),s=y("img"),a=x(),l=y("a"),h=y("h2"),h.textContent="2024 NGFF Challenge",u=x(),g=y("div"),m=x(),p=y("a"),p.textContent="About",_=x(),E=y("a"),E.innerHTML=`GitHub Logo`,b(e,"href",t[0]),b(s,"alt","OME Logo"),In(s.src,o=Po)||b(s,"src",o),b(s,"class","svelte-1q2q39w"),b(r,"class","logolink svelte-1q2q39w"),b(r,"href",t[0]),b(h,"class","svelte-1q2q39w"),b(l,"href",t[0]),b(l,"class","svelte-1q2q39w"),ae(g,"flex","1"),b(p,"href","about/"),b(p,"class","svelte-1q2q39w"),b(E,"class","github svelte-1q2q39w"),b(E,"title","Open in GitHub"),b(E,"target","_blank"),b(E,"href","https://github.com/ome/ome2024-ngff-challenge/"),b(i,"class","svelte-1q2q39w")},m(N,R){V(N,e,R),V(N,n,R),V(N,i,R),d(i,r),d(r,s),d(i,a),d(i,l),d(l,h),d(i,u),d(i,g),d(i,m),d(i,p),d(i,_),d(i,E)},p:ke,i:ke,o:ke,d(N){N&&(q(e),q(n),q(i))}}}function jo(t){let e="https://ome.github.io/ome2024-ngff-challenge/";return console.log("Nav base",e),[e]}class qo extends Ze{constructor(e){super(),Je(this,e,jo,Bo,Be,{})}}function Ji(t){let e=t[0].plate_count+"",n,i;return{c(){n=U(e),i=U(" plates")},m(r,s){V(r,n,s),V(r,i,s)},p(r,s){s&1&&e!==(e=r[0].plate_count+"")&&me(n,e)},d(r){r&&(q(n),q(i))}}}function xo(t){let e,n,i,r,s,o,a,l=t[0].source+"",h,u,g,m,p,_,E=ut(t[0].bytes)+"",N,R,M,Y,G,X,J,I,f=t[0].image_count+"",c,k,O,T,L,j,Q,B,w,S=t[0].plate_count&&Ji(t);return{c(){e=y("div"),n=y("label"),i=y("img"),o=x(),a=y("div"),h=U(l),u=x(),g=y("br"),m=x(),p=y("span"),_=U("("),N=U(E),R=U(")"),Y=y("input"),X=x(),J=y("div"),S&&S.c(),I=x(),c=U(f),k=U(" images"),O=x(),T=y("label"),L=y("input"),j=x(),Q=y("span"),Q.textContent="×",b(i,"title",r=t[0].url),b(i,"class","sourceLogo svelte-1iuq3t7"),b(i,"alt","Source logo"),In(i.src,s=di(t[0].source))||b(i,"src",s),b(p,"title",M=t[0].child_csv.length+" collections"),b(Y,"class","source svelte-1iuq3t7"),b(Y,"type","radio"),b(Y,"name","source"),Y.value=G=t[0].source,b(J,"class","tooltip svelte-1iuq3t7"),b(n,"class","svelte-1iuq3t7"),b(L,"type","radio"),b(L,"name","source"),L.value="",b(L,"class","svelte-1iuq3t7"),b(Q,"title","Clear filter"),b(T,"class","clear svelte-1iuq3t7"),b(e,"class","source svelte-1iuq3t7")},m(z,F){V(z,e,F),d(e,n),d(n,i),d(n,o),d(n,a),d(a,h),d(a,u),d(a,g),d(a,m),d(a,p),d(p,_),d(p,N),d(p,R),d(a,Y),d(a,X),d(a,J),S&&S.m(J,null),d(J,I),d(J,c),d(J,k),d(e,O),d(e,T),d(T,L),d(T,j),d(T,Q),B||(w=[we(Y,"change",function(){_n(t[1])&&t[1].apply(this,arguments)}),we(L,"change",function(){_n(t[1])&&t[1].apply(this,arguments)})],B=!0)},p(z,[F]){t=z,F&1&&r!==(r=t[0].url)&&b(i,"title",r),F&1&&!In(i.src,s=di(t[0].source))&&b(i,"src",s),F&1&&l!==(l=t[0].source+"")&&me(h,l),F&1&&E!==(E=ut(t[0].bytes)+"")&&me(N,E),F&1&&M!==(M=t[0].child_csv.length+" collections")&&b(p,"title",M),F&1&&G!==(G=t[0].source)&&(Y.value=G),t[0].plate_count?S?S.p(t,F):(S=Ji(t),S.c(),S.m(J,I)):S&&(S.d(1),S=null),F&1&&f!==(f=t[0].image_count+"")&&me(c,f)},i:ke,o:ke,d(z){z&&q(e),S&&S.d(),B=!1,et(w)}}}function Vo(t,e,n){let{source:i}=e,{handleFilter:r}=e;return t.$$set=s=>{"source"in s&&n(0,i=s.source),"handleFilter"in s&&n(1,r=s.handleFilter)},[i,r]}class Ho extends Ze{constructor(e){super(),Je(this,e,Vo,xo,Be,{source:0,handleFilter:1})}}function Wo(t,e,n){const i=t.slice();return i[31]=e[n],i}function Zi(t,e,n){const i=t.slice();return i[34]=e[n],i}function Yi(t,e,n){const i=t.slice();return i[34]=e[n],i}function Qi(t,e,n){const i=t.slice();return i[39]=e[n],i}function Xi(t,e,n){const i=t.slice();return i[42]=e[n],i}function Go(t){let e,n,i,r=t[1].split("/").pop()+"",s,o,a=t[1]!=gn&&$i(t);return{c(){e=y("div"),n=U(`Showing Collection: - `),i=y("a"),s=U(r),o=x(),a&&a.c(),b(i,"href",t[1]),ae(e,"font-size","90%")},m(l,h){V(l,e,h),d(e,n),d(e,i),d(i,s),d(e,o),a&&a.m(e,null)},p(l,h){h[0]&2&&r!==(r=l[1].split("/").pop()+"")&&me(s,r),h[0]&2&&b(i,"href",l[1]),l[1]!=gn?a?a.p(l,h):(a=$i(l),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},d(l){l&&q(e),a&&a.d()}}}function Ko(t){let e,n=ut(t[4])+"",i,r;return{c(){e=y("strong"),i=U(n),r=U(` +`;for(var ze=0,se=0;se=be.length/2?`\r +`:"\r"}(P,de)),z=!1,f.delimiter)I(f.delimiter)&&(f.delimiter=f.delimiter(P),A.meta.delimiter=f.delimiter);else{var $=function(_e,ce,Pe,be,je){var Ge,ze,se,ve;je=je||[","," ","|",";",l.RECORD_SEP,l.UNIT_SEP];for(var Ye=0;Ye=j)return Me(!0)}else for(le=w,w++;;){if((le=R.indexOf(c,le+1))===-1)return te||ie.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:ne.length,index:w}),Se();if(le===A-1)return Se(R.substring(w,le).replace(Ye,c));if(c!==B||R[le+1]!==B){if(c===B||le===0||R[le-1]!==B){se!==-1&&se=j)return Me(!0);break}ie.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:ne.length,index:w}),le++}}else le++}return Se();function Qe(Ie){ne.push(Ie),Z=w}function Re(Ie){var nt=0;if(Ie!==-1){var Xe=R.substring(le+1,Ie);Xe&&Xe.trim()===""&&(nt=Xe.length)}return nt}function Se(Ie){return te||(Ie===void 0&&(Ie=R.substring(w)),P.push(Ie),w=A,Qe(P),H&&ct()),Me()}function Le(Ie){w=Ie,Qe(P),P=[],ve=R.indexOf(z,w)}function Me(Ie){return{data:ne,errors:ie,meta:{delimiter:k,linebreak:z,aborted:S,truncated:!!Ie,cursor:Z+(F||0)}}}function ct(){L(Me()),ne=[],ie=[]}},this.abort=function(){S=!0},this.getCharIndex=function(){return w}}function M(f){var c=f.data,k=o[c.workerId],z=!1;if(c.error)k.userError(c.error,c.file);else if(c.results&&c.results.data){var T={abort:function(){z=!0,Y(c.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:G,resume:G};if(I(k.userStep)){for(var L=0;L1&&(r=s,i.data.shift());let o=i.data.map(p=>{let _={...n};for(let E=0;E{var _;return!((_=p.url)!=null&&_.endsWith(".csv"))}),l={};a.forEach(p=>{if(l[p.url]){console.warn("Removing duplicate URL:",p.url);return}l[p.url]=p}),a=Object.values(l);let h=o.filter(p=>{var _;return(_=p.url)==null?void 0:_.includes(".csv")}),u=a.reduce((p,_)=>_.wells?p+1:p,0),g=a.reduce((p,_)=>p+parseInt(_.written||0),0),m=a.length;u>0&&(m=a.reduce((p,_)=>p+parseInt(_.images||1),0)),e.addCsv(t,h,m,u,g),e.addRows(a),h.forEach(p=>{let _=p.url;p.csv=_,dr(_,e,p)})}})}async function _r(t){return await fetch(t).then(e=>e.json())}function ut(t){if(!t)return"";const e=2;return t<1024?t+" B":t<1024*1024?(t/1024).toFixed(e)+" KB":t<1024*1024*1024?(t/(1024*1024)).toFixed(e)+" MB":t<1024*1024*1024*1024?(t/(1024*1024*1024)).toFixed(e)+" GB":t<1024*1024*1024*1024*1024?(t/(1024*1024*1024*1024)).toFixed(e)+" TB":(t/(1024*1024*1024*1024*1024)).toFixed(e)+" PB"}function Xr(t,e){return Array.from({length:e-t},(n,i)=>i+t)}function $r(t,e,n){const i=t[0].shape,r=i[0],s=i[1],o=r*s;e||(e=t.map(gr));let a=performance.now(),l=new Uint8ClampedArray(4*r*s).fill(0),h=0;for(let u=0;u100*s/r),n}function gr(t){const e=t.data;let n=0,i=1/0,r=t.data.length;for(let s=0;sr?s:[]);for(const[r,s]of i.entries())n[s]=_i[r]}return n.map(mr)}function mr(t){t.startsWith("#")&&(t=t.slice(1));const e=parseInt(t.slice(0,2),16),n=parseInt(t.slice(2,4),16),i=parseInt(t.slice(4,6),16);return[e,n,i]}class pr{constructor(){this.store=Mn({})}async lookupOntologyTerm(e){let n=e.replace("NCBI:txid","");return(await _r(`https://rest.ensembl.org/taxonomy/id/${n}?content-type=application/json`)).name||e}addTerms(e){let n=Nt(this.store);[...new Set(e)].forEach(r=>{r&&(n[r]||(n[r]="Loading...",setTimeout(()=>{this.lookupOntologyTerm(r).then(s=>{this.addEntry(r,s)})},Math.random()*5e3)))})}addEntry(e,n){this.store.update(i=>(i[e]=n,i))}subscribe(e){return this.store.subscribe(e)}}class os extends pr{constructor(){super()}async lookupOntologyTerm(e){const n=e.replace("obo:","");return(await _r(`https://www.ebi.ac.uk/ols4/api/ontologies/fbbi/terms/http%253A%252F%252Fpurl.obolibrary.org%252Fobo%252F${n}`)).label||e}}const br=new pr,vr=new os,gi=5;async function jt(t,e){var r;let n=await fetch(`${t}/zarr.json`,{signal:e}).then(s=>{if(s.status===404)throw new Error(`${t}/zarr.json not found`);return s.json()}).catch(s=>[void 0,t]);const i=(r=n==null?void 0:n.attributes)==null?void 0:r.ome;if(!i)return[void 0,t];if(i.multiscales)return[i,t];if(i.plate){let s=i.plate.wells[0],o=`${t}/${s.path}/0`,[a,l]=await jt(o);return[a,l,i.plate]}else if(i["bioformats2raw.layout"]){let s=`${t}/0`;return await jt(s)}}class ls{constructor(e="index",n=!0){this.store=Mn([]),this.selectedRow=Mn(null),this.sortColumn=e,this.sortAscending=n,this.csvFiles=[]}getCsvSourceList(e){let n;if(!e)n=this.csvFiles[0];else for(let r of this.csvFiles){if(r.source===e){n=r;break}for(let s of r.child_csv){if(s.source===e){n=s;break}for(let o of s.child_csv)if(o.source===e){n=o;break}}}return n?n.child_csv.map(r=>{let s=r.image_count||0,o=r.plate_count||0,a=r.bytes||0;for(let l of r.child_csv)s+=l.image_count||0,o+=l.plate_count||0,a+=l.bytes||0;return{...r,image_count:s,plate_count:o,bytes:a}}):[]}addCsv(e,n,i,r,s){n=n.map(a=>({...a,child_csv:[]}));let o;for(let a of this.csvFiles){if(a.url===e){o=a;break}for(let l of a.child_csv){if(l.url===e){o=l;break}for(let h of l.child_csv)if(h.url===e){o=h;break}}}o?(o.image_count=i,o.plate_count=r,o.bytes=s,o.child_csv=n):(o={url:e,image_count:i,plate_count:r,bytes:s,child_csv:n},this.csvFiles.push(o))}addRows(e){e=e.map((r,s)=>{if(r.written&&(r.written=parseFloat(r.written)),r.shape){let o=r.shape.split(",").map(l=>parseInt(l)),a;r.dimension_names?a=r.dimension_names.split(","):o.length==5&&(a=["t","c","z","y","x"]),a&&a.length==o.length&&a.forEach((l,h)=>r["size_"+l]=o[h]),r.dim_count=o.reduce((l,h)=>l+(h>1?1:0),0)}if(r.chunks){let o=r.chunks.split(",").map(a=>parseInt(a));r.chunk_pixels=o.reduce((a,l)=>a*l,1)}if(r.shards){let o=r.shards.split(",").map(a=>parseInt(a));r.shard_pixels=o.reduce((a,l)=>a*l,1)}return r.index=Math.random()*(1+s),r}),console.log("Adding rows",e),this.store.update(r=>(r.push(...e),r.sort((s,o)=>this.compareRows(s,o,!0)),r));let n=e.map(r=>r.organismId);br.addTerms(n);let i=e.map(r=>r.fbbiId);vr.addTerms(i)}populateRow(e,n){this.store.update(i=>(i=i.map(r=>(r.url===e&&(r={...r,...n}),r)),i))}async loadNgffMetadata(e){var m;const[n,i,r]=await jt(e);let s=[],o=0,a=0,l=!1,h=!0,u={multiscales:n},g=i;if(r&&(o=r.wells.length,a=r.field_count||1),n){const p=(m=n[0])==null?void 0:m.datasets[0],_=p==null?void 0:p.path;if(_){const E=await fetch(`${i}/${_}/zarr.json`).then(N=>N.json()).catch(N=>{console.log(`----> Failed to parse ${i}/${_}/zarr.json`,N)});s=E==null?void 0:E.shape}}else console.log("No multiscales found"),l=!0,s=[0];this.populateRow(e,{image_attrs:u,image_url:g,shape:s,well_count:o,field_count:a,load_failed:l,loaded:h})}async loadRocrateJsonAllRows(){let e=Nt(this.store);for(let n=0;nthis.loadRocrateJson(e[r].url));await Promise.all(i)}}compareRows(e,n,i=!1){let r=e[this.sortColumn],s=n[this.sortColumn];if(i)return r===void 0&&(r=0),s===void 0&&(s=0),rs?this.sortAscending?1:-1:0;r===void 0&&(r=""),s===void 0&&(s="");let o=0;return i?o=r-s:o=r.localeCompare(s),this.sortAscending?o:-o}sortTable(e,n=!0){console.log("sortTable",e,n),this.sortColumn=e,this.sortAscending=n;let i=this.isColumnNumeric(e);this.store.update(r=>(r.sort((s,o)=>this.compareRows(s,o,i)),r))}isColumnNumeric(e){let n=Nt(this.store);for(let i of n){let r=i[e];if(r!==void 0&&r!=="")return!isNaN(r)}}emptyTable(){this.store.set([])}subscribe(e){return this.store.subscribe(e)}getRows(){return Nt(this.store)}getRow(e){return Nt(this.store)[e]}subscribeSelectedRow(e){return this.selectedRow.subscribe(e)}setSelectedRow(e){this.selectedRow.set(e)}}const Ae=new ls;function as(t){let e,n,i,r,s,o;return{c(){e=y("button"),n=y("span"),n.textContent="^",i=V(),r=y("span"),r.textContent="^",b(n,"class","acc svelte-17vd65t"),Et(n,"strong",t[1]),b(r,"class","dec svelte-17vd65t"),Et(r,"strong",!t[1]),b(e,"class","svelte-17vd65t")},m(a,l){x(a,e,l),d(e,n),d(e,i),d(e,r),s||(o=we(e,"click",t[2]),s=!0)},p(a,[l]){l&2&&Et(n,"strong",a[1]),l&2&&Et(r,"strong",!a[1])},i:ke,o:ke,d(a){a&&q(e),s=!1,o()}}}function us(t,e,n){let{toggleAscending:i}=e,{sortAscending:r}=e;const s=()=>i();return t.$$set=o=>{"toggleAscending"in o&&n(0,i=o.toggleAscending),"sortAscending"in o&&n(1,r=o.sortAscending)},[i,r,s]}class cs extends Ze{constructor(e){super(),Je(this,e,us,as,Be,{toggleAscending:0,sortAscending:1})}}const cn={AUTO:"auto",START:"start",CENTER:"center",END:"end"},rt={HORIZONTAL:"horizontal",VERTICAL:"vertical"},Ft={OBSERVED:0,REQUESTED:1},fs={[rt.VERTICAL]:"top",[rt.HORIZONTAL]:"left"},mi={[rt.VERTICAL]:"scrollTop",[rt.HORIZONTAL]:"scrollLeft"};class hs{constructor({itemSize:e,itemCount:n,estimatedItemSize:i}){this.itemSize=e,this.itemCount=n,this.estimatedItemSize=i,this.itemSizeAndPositionData={},this.lastMeasuredIndex=-1,this.checkForMismatchItemSizeAndItemCount(),this.justInTime||this.computeTotalSizeAndPositionData()}get justInTime(){return typeof this.itemSize=="function"}updateConfig({itemSize:e,itemCount:n,estimatedItemSize:i}){n!=null&&(this.itemCount=n),i!=null&&(this.estimatedItemSize=i),e!=null&&(this.itemSize=e),this.checkForMismatchItemSizeAndItemCount(),this.justInTime&&this.totalSize!=null?this.totalSize=void 0:this.computeTotalSizeAndPositionData()}checkForMismatchItemSizeAndItemCount(){if(Array.isArray(this.itemSize)&&this.itemSize.length=this.itemCount)throw Error(`Requested index ${e} is outside of range 0..${this.itemCount}`);return this.justInTime?this.getJustInTimeSizeAndPositionForIndex(e):this.itemSizeAndPositionData[e]}getJustInTimeSizeAndPositionForIndex(e){if(e>this.lastMeasuredIndex){const n=this.getSizeAndPositionOfLastMeasuredItem();let i=n.offset+n.size;for(let r=this.lastMeasuredIndex+1;r<=e;r++){const s=this.getSize(r);if(s==null||isNaN(s))throw Error(`Invalid size returned for index ${r} of value ${s}`);this.itemSizeAndPositionData[r]={offset:i,size:s},i+=s}this.lastMeasuredIndex=e}return this.itemSizeAndPositionData[e]}getSizeAndPositionOfLastMeasuredItem(){return this.lastMeasuredIndex>=0?this.itemSizeAndPositionData[this.lastMeasuredIndex]:{offset:0,size:0}}getTotalSize(){if(this.totalSize)return this.totalSize;const e=this.getSizeAndPositionOfLastMeasuredItem();return e.offset+e.size+(this.itemCount-this.lastMeasuredIndex-1)*this.estimatedItemSize}getUpdatedOffsetForIndex({align:e=cn.START,containerSize:n,currentOffset:i,targetIndex:r}){if(n<=0)return 0;const s=this.getSizeAndPositionForIndex(r),o=s.offset,a=o-n+s.size;let l;switch(e){case cn.END:l=a;break;case cn.CENTER:l=o-(n-s.size)/2;break;case cn.START:l=o;break;default:l=Math.max(a,Math.min(o,i))}const h=this.getTotalSize();return Math.max(0,Math.min(h-n,l))}getVisibleRange({containerSize:e=0,offset:n,overscanCount:i}){if(this.getTotalSize()===0)return{};const s=n+e;let o=this.findNearestItem(n);if(o===void 0)throw Error(`Invalid offset ${n} specified`);const a=this.getSizeAndPositionForIndex(o);n=a.offset+a.size;let l=o;for(;n=e?this.binarySearch({high:i,low:0,offset:e}):this.exponentialSearch({index:i,offset:e})}binarySearch({low:e,high:n,offset:i}){let r=0,s=0;for(;e<=n;){if(r=e+Math.floor((n-e)/2),s=this.getSizeAndPositionForIndex(r).offset,s===i)return r;si&&(n=r-1)}return e>0?e-1:0}exponentialSearch({index:e,offset:n}){let i=1;for(;e({}),pi=t=>({});function bi(t,e,n){const i=t.slice();return i[37]=e[n],i}const _s=t=>({style:t[0]&4,index:t[0]&4}),vi=t=>({style:t[37].style,index:t[37].index}),gs=t=>({}),wi=t=>({});function yi(t,e){let n,i;const r=e[21].item,s=Tn(r,e,e[20],vi);return{key:t,first:null,c(){n=bn(),s&&s.c(),this.first=n},m(o,a){x(o,n,a),s&&s.m(o,a),i=!0},p(o,a){e=o,s&&s.p&&(!i||a[0]&1048580)&&On(s,r,e,e[20],i?zn(r,e[20],a,_s):Rn(e[20]),vi)},i(o){i||(re(s,o),i=!0)},o(o){he(s,o),i=!1},d(o){o&&q(n),s&&s.d(o)}}}function ms(t){let e,n,i,r=[],s=new Map,o,a;const l=t[21].header,h=Tn(l,t,t[20],wi);let u=Ne(t[2]);const g=_=>_[0]?_[0](_[37].index):_[37].index;for(let _=0;_{let t=!1;try{const e=Object.defineProperty({},"passive",{get(){return t={passive:!0},!0}});window.addEventListener("testpassive",e,e),window.remove("testpassive",e,e)}catch{}return t})();function bs(t,e,n){let{$$slots:i={},$$scope:r}=e,{height:s}=e,{width:o="100%"}=e,{itemCount:a}=e,{itemSize:l}=e,{estimatedItemSize:h=null}=e,{stickyIndices:u=null}=e,{getKey:g=null}=e,{scrollDirection:m=rt.VERTICAL}=e,{scrollOffset:p=null}=e,{scrollToIndex:_=null}=e,{scrollToAlignment:E=null}=e,{scrollToBehaviour:N="instant"}=e,{overscanCount:O=3}=e;const M=Dr(),Y=new hs({itemCount:a,itemSize:l,estimatedItemSize:te()});let G=!1,X,J=[],I={offset:p||_!=null&&J.length&&S(_)||0,scrollChangeReason:Ft.REQUESTED},f=I,c={scrollToIndex:_,scrollToAlignment:E,scrollOffset:p,itemCount:a,itemSize:l,estimatedItemSize:h},k={},z="",T="";Q(),$t(()=>{n(18,G=!0),X.addEventListener("scroll",R,ps),p!=null?B(p):_!=null&&B(S(_))}),xn(()=>{G&&X.removeEventListener("scroll",R)});function L(){if(!G)return;const v=c.scrollToIndex!==_||c.scrollToAlignment!==E,D=c.itemCount!==a||c.itemSize!==l||c.estimatedItemSize!==h;D&&(Y.updateConfig({itemSize:l,itemCount:a,estimatedItemSize:te()}),w()),c.scrollOffset!==p?n(19,I={offset:p||0,scrollChangeReason:Ft.REQUESTED}):typeof _=="number"&&(v||D)&&n(19,I={offset:S(_,E,a),scrollChangeReason:Ft.REQUESTED}),c={scrollToIndex:_,scrollToAlignment:E,scrollOffset:p,itemCount:a,itemSize:l,estimatedItemSize:h}}function j(){if(!G)return;const{offset:v,scrollChangeReason:D}=I;(f.offset!==v||f.scrollChangeReason!==D)&&Q(),f.offset!==v&&D===Ft.REQUESTED&&B(v),f=I}function Q(){const{offset:v}=I,{start:D,stop:H}=Y.getVisibleRange({containerSize:m===rt.VERTICAL?s:o,offset:v,overscanCount:O});let ne=[];const ie=Y.getTotalSize();m===rt.VERTICAL?(n(3,z=`height:${s}${typeof s=="number"?"px":""};width:${o};`),n(4,T=`flex-direction:column;height:${ie}px;`)):(n(3,z=`height:${s};width:${o}${typeof o=="number"?"px":""}`),n(4,T=`min-height:100%;width:${ie}px;`));const P=u!=null&&u.length!==0;if(P)for(let Z=0;Z=H)&&(v=0),Y.getUpdatedOffsetForIndex({align:D,containerSize:m===rt.VERTICAL?s:o,currentOffset:I.offset||0,targetIndex:v})}function R(v){const D=F();D<0||I.offset===D||v.target!==X||(n(19,I={offset:D,scrollChangeReason:Ft.OBSERVED}),M("afterScroll",{offset:D,event:v}))}function F(){return X[mi[m]]}function te(){return h||typeof l=="number"&&l||50}function A(v,D){if(k[v])return k[v];const{size:H,offset:ne}=Y.getSizeAndPositionForIndex(v);let ie;return m===rt.VERTICAL?(ie=`left:0;width:100%;height:${H}px;`,D?ie+=`position:sticky;flex-grow:0;z-index:1;top:0;margin-top:${ne}px;margin-bottom:${-(ne+H)}px;`:ie+=`position:absolute;top:${ne}px;`):(ie=`top:0;width:${H}px;`,D?ie+=`position:sticky;z-index:1;left:0;margin-left:${ne}px;margin-right:${-(ne+H)}px;`:ie+=`position:absolute;height:100%;left:${ne}px;`),k[v]=ie}function W(v){Tt[v?"unshift":"push"](()=>{X=v,n(1,X)})}return t.$$set=v=>{"height"in v&&n(5,s=v.height),"width"in v&&n(6,o=v.width),"itemCount"in v&&n(7,a=v.itemCount),"itemSize"in v&&n(8,l=v.itemSize),"estimatedItemSize"in v&&n(9,h=v.estimatedItemSize),"stickyIndices"in v&&n(10,u=v.stickyIndices),"getKey"in v&&n(0,g=v.getKey),"scrollDirection"in v&&n(11,m=v.scrollDirection),"scrollOffset"in v&&n(12,p=v.scrollOffset),"scrollToIndex"in v&&n(13,_=v.scrollToIndex),"scrollToAlignment"in v&&n(14,E=v.scrollToAlignment),"scrollToBehaviour"in v&&n(15,N=v.scrollToBehaviour),"overscanCount"in v&&n(16,O=v.overscanCount),"$$scope"in v&&n(20,r=v.$$scope)},t.$$.update=()=>{t.$$.dirty[0]&29568&&L(),t.$$.dirty[0]&524288&&j(),t.$$.dirty[0]&263264&&G&&w(0)},[g,X,J,z,T,s,o,a,l,h,u,m,p,_,E,N,O,w,G,I,r,i,W]}class vs extends Ze{constructor(e){super(),Je(this,e,bs,ms,Be,{height:5,width:6,itemCount:7,itemSize:8,estimatedItemSize:9,stickyIndices:10,getKey:0,scrollDirection:11,scrollOffset:12,scrollToIndex:13,scrollToAlignment:14,scrollToBehaviour:15,overscanCount:16,recomputeSizes:17},null,[-1,-1])}get height(){return this.$$.ctx[5]}set height(e){this.$$set({height:e}),De()}get width(){return this.$$.ctx[6]}set width(e){this.$$set({width:e}),De()}get itemCount(){return this.$$.ctx[7]}set itemCount(e){this.$$set({itemCount:e}),De()}get itemSize(){return this.$$.ctx[8]}set itemSize(e){this.$$set({itemSize:e}),De()}get estimatedItemSize(){return this.$$.ctx[9]}set estimatedItemSize(e){this.$$set({estimatedItemSize:e}),De()}get stickyIndices(){return this.$$.ctx[10]}set stickyIndices(e){this.$$set({stickyIndices:e}),De()}get getKey(){return this.$$.ctx[0]}set getKey(e){this.$$set({getKey:e}),De()}get scrollDirection(){return this.$$.ctx[11]}set scrollDirection(e){this.$$set({scrollDirection:e}),De()}get scrollOffset(){return this.$$.ctx[12]}set scrollOffset(e){this.$$set({scrollOffset:e}),De()}get scrollToIndex(){return this.$$.ctx[13]}set scrollToIndex(e){this.$$set({scrollToIndex:e}),De()}get scrollToAlignment(){return this.$$.ctx[14]}set scrollToAlignment(e){this.$$set({scrollToAlignment:e}),De()}get scrollToBehaviour(){return this.$$.ctx[15]}set scrollToBehaviour(e){this.$$set({scrollToBehaviour:e}),De()}get overscanCount(){return this.$$.ctx[16]}set overscanCount(e){this.$$set({overscanCount:e}),De()}get recomputeSizes(){return this.$$.ctx[17]}}class en extends Error{constructor(e,n={}){super(`Node not found: ${e}`,n),this.name="NodeNotFoundError"}}class Vn extends Error{constructor(e){super(`Missing key: ${e}`),this.name="KeyError"}}const ws="modulepreload",ys=function(t){return"https://ome.github.io/ome2024-ngff-challenge/"+t},ki={},Dt=function(e,n,i){let r=Promise.resolve();if(n&&n.length>0){document.getElementsByTagName("link");const s=document.querySelector("meta[property=csp-nonce]"),o=(s==null?void 0:s.nonce)||(s==null?void 0:s.getAttribute("nonce"));r=Promise.all(n.map(a=>{if(a=ys(a),a in ki)return;ki[a]=!0;const l=a.endsWith(".css"),h=l?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${a}"]${h}`))return;const u=document.createElement("link");if(u.rel=l?"stylesheet":ws,l||(u.as="script"),u.crossOrigin="",u.href=a,o&&u.setAttribute("nonce",o),document.head.appendChild(u),l)return new Promise((g,m)=>{u.addEventListener("load",g),u.addEventListener("error",()=>m(new Error(`Unable to preload CSS for ${a}`)))})}))}return r.then(()=>e()).catch(s=>{const o=new Event("vite:preloadError",{cancelable:!0});if(o.payload=s,window.dispatchEvent(o),!o.defaultPrevented)throw s})};var Ve;class wr{constructor(e,n,i){Te(this,Ve);typeof e=="number"?Ee(this,Ve,new Uint8Array(e)):e instanceof ArrayBuffer?Ee(this,Ve,new Uint8Array(e,n,i)):Ee(this,Ve,new Uint8Array(Array.from(e,r=>r?1:0)))}get BYTES_PER_ELEMENT(){return 1}get byteOffset(){return ee(this,Ve).byteOffset}get byteLength(){return ee(this,Ve).byteLength}get buffer(){return ee(this,Ve).buffer}get length(){return ee(this,Ve).length}get(e){let n=ee(this,Ve)[e];return typeof n=="number"?n!==0:n}set(e,n){ee(this,Ve)[e]=n?1:0}fill(e){ee(this,Ve).fill(e?1:0)}*[Symbol.iterator](){for(let e=0;e=0;i--)n[i]=r,r*=t[i];return n}function Ss(t){const e=t.length,n=globalThis.Array(e);for(let i=0,r=1;i["c",...i].join(n)}if(t==="v2"){const n=(e==null?void 0:e.separator)??".";return i=>i.join(n)||"0"}throw new Error(`Unknown chunk key encoding: ${t}`)}function Fn(t){var n;const e=t.find(i=>i.name==="transpose");return((n=e==null?void 0:e.configuration)==null?void 0:n.order)==="F"?"F":"C"}const Is=/^([<|>])(.*)$/;function Ts(t){if(t==="|O")return{data_type:"v2:object"};let e=t.match(Is);if(!e)throw new Error(`Invalid dtype: ${t}`);let[,n,i]=e,r={b1:"bool",i1:"int8",u1:"uint8",i2:"int16",u2:"uint16",i4:"int32",u4:"uint32",i8:"int64",u8:"uint64",f4:"float32",f8:"float64"}[i]??(i.startsWith("S")||i.startsWith("U")?`v2:${i}`:void 0);if(!r)throw new Error(`Unsupported or unknown dtype: ${t}`);return n==="|"?{data_type:r}:{data_type:r,endian:n==="<"?"little":"big"}}function zs(t,e={}){let n=[],i=Ts(t.dtype);t.order==="F"&&n.push({name:"transpose",configuration:{order:"F"}}),"endian"in i&&i.endian==="big"&&n.push({name:"bytes",configuration:{endian:"big"}});for(let{id:r,...s}of t.filters??[])n.push({name:r,configuration:s});if(t.compressor){let{id:r,...s}=t.compressor;n.push({name:r,configuration:s})}return{zarr_format:3,node_type:"array",shape:t.shape,data_type:i.data_type,chunk_grid:{name:"regular",configuration:{chunk_shape:t.chunks}},chunk_key_encoding:{name:"v2",configuration:{separator:t.dimension_separator??"."}},codecs:n,fill_value:t.fill_value,attributes:e}}function Os(t,e={}){return{zarr_format:3,node_type:"group",attributes:e}}function Rs(t,e){if(e!=="number"&&e!=="bigint"&&e!=="boolean"&&e!=="object"&&e!=="string")return t===e;let n=t==="bool";if(e==="boolean")return n;let i=t.startsWith("v2:U")||t.startsWith("v2:S");if(e==="string")return i;let r=t==="int64"||t==="uint64";if(e==="bigint")return r;let s=t==="v2:object";return e==="object"?s:!i&&!r&&!n&&!s}function Ls(t){return(t==null?void 0:t.name)==="sharding_indexed"}function kr(t){return(t.data_type==="uint64"||t.data_type==="int64")&&t.fill_value!=null?BigInt(t.fill_value):t.fill_value}const Ci=Ms();function Ms(){const t=new Uint32Array([305419896]);return new Uint8Array(t.buffer,t.byteOffset,t.byteLength)[0]!==18}function Si(t){return"BYTES_PER_ELEMENT"in t?t.BYTES_PER_ELEMENT:4}var xt,lt,Vt,Wt,It;const Qn=class Qn{constructor(e,n){oe(this,"kind","array_to_bytes");Te(this,xt);Te(this,lt);Te(this,Vt);Te(this,Wt);Te(this,It);Ee(this,It,e==null?void 0:e.endian),Ee(this,lt,yr(n.data_type)),Ee(this,Wt,n.shape),Ee(this,xt,pt(n.shape,Fn(n.codecs)));const i=new(ee(this,lt))(0);Ee(this,Vt,i.BYTES_PER_ELEMENT)}static fromConfig(e,n){return new Qn(e,n)}encode(e){let n=new Uint8Array(e.data.buffer);return Ci&&ee(this,It)==="big"&&Ei(n,Si(ee(this,lt))),n}decode(e){return Ci&&ee(this,It)==="big"&&Ei(e,Si(ee(this,lt))),{data:new(ee(this,lt))(e.buffer,e.byteOffset,e.byteLength/ee(this,Vt)),shape:ee(this,Wt),stride:ee(this,xt)}}};xt=new WeakMap,lt=new WeakMap,Vt=new WeakMap,Wt=new WeakMap,It=new WeakMap;let mn=Qn;class Hn{constructor(){oe(this,"kind","bytes_to_bytes")}static fromConfig(){return new Hn}encode(e){throw new Error("Not implemented")}decode(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength-4)}}function Fs(t,e){if(Number.isNaN(e))throw new Error("JsonCodec allow_nan is false but NaN was encountered during encoding.");if(e===Number.POSITIVE_INFINITY)throw new Error("JsonCodec allow_nan is false but Infinity was encountered during encoding.");if(e===Number.NEGATIVE_INFINITY)throw new Error("JsonCodec allow_nan is false but -Infinity was encountered during encoding.");return e}function Ds(t,e){return e instanceof Object&&!Array.isArray(e)?Object.keys(e).sort().reduce((n,i)=>(n[i]=e[i],n),{}):e}var Ht,Gt;const Xn=class Xn{constructor(e={}){oe(this,"configuration");oe(this,"kind","array_to_bytes");Te(this,Ht);Te(this,Gt);this.configuration=e;const{encoding:n="utf-8",skipkeys:i=!1,ensure_ascii:r=!0,check_circular:s=!0,allow_nan:o=!0,sort_keys:a=!0,indent:l,strict:h=!0}=e;let u=e.separators;u||(l?u=[", ",": "]:u=[",",":"]),Ee(this,Ht,{encoding:n,skipkeys:i,ensure_ascii:r,check_circular:s,allow_nan:o,indent:l,separators:u,sort_keys:a}),Ee(this,Gt,{strict:h})}static fromConfig(e){return new Xn(e)}encode(e){const{indent:n,encoding:i,ensure_ascii:r,check_circular:s,allow_nan:o,sort_keys:a}=ee(this,Ht);if(i!=="utf-8")throw new Error("JsonCodec does not yet support non-utf-8 encoding.");const l=[];if(!s)throw new Error("JsonCodec does not yet support skipping the check for circular references during encoding.");o||l.push(Fs),a&&l.push(Ds);const h=Array.from(e.data);h.push("|O"),h.push(e.shape);let u;l.length&&(u=(m,p)=>{let _=p;for(let E of l)_=E(m,_);return _});let g=JSON.stringify(h,u,n);return r&&(g=g.replace(/[\u007F-\uFFFF]/g,m=>{const p=`0000${m.charCodeAt(0).toString(16)}`;return`\\u${p.substring(p.length-4)}`})),new TextEncoder().encode(g)}decode(e){const{strict:n}=ee(this,Gt);if(!n)throw new Error("JsonCodec does not yet support non-strict decoding.");const i=tn(e),r=i.pop();if(i.pop(),!r)throw new Error("0D not implemented for JsonCodec.");const s=pt(r,"C");return{data:i,shape:r,stride:s}}};Ht=new WeakMap,Gt=new WeakMap;let Dn=Xn;function Ai(t){return t instanceof wr||t instanceof Wn||t instanceof qt?new Proxy(t,{get(n,i){return n.get(Number(i))},set(n,i,r){return n.set(Number(i),r),!0}}):t}function Ns(t,e){let n;return t.data instanceof Wn||t.data instanceof qt?n=new t.constructor(t.data.length,t.data.chars):n=new t.constructor(t.data.length),{data:n,shape:t.shape,stride:pt(t.shape,e)}}function Ps(t,e){let n=Ns(t,e),i=t.shape.length,r=t.data.length,s=Array(i).fill(0),o=Ai(t.data),a=Ai(n.data);for(let l=0;ln===e[i])?"C":"F"}class Gn{constructor(e){oe(this,"configuration");oe(this,"kind","array_to_array");this.configuration=e}static fromConfig(e){return new Gn(e)}encode(e){var n,i;return Us(e)===((n=this.configuration)==null?void 0:n.order)?e:Ps(e,((i=this.configuration)==null?void 0:i.order)??"C")}decode(e){return e}}var Kt,Jt;const $n=class $n{constructor(e){oe(this,"kind","array_to_bytes");Te(this,Kt);Te(this,Jt);Ee(this,Kt,e),Ee(this,Jt,pt(e,"C"))}static fromConfig(e,n){return new $n(n.shape)}encode(e){throw new Error("Method not implemented.")}decode(e){let n=new TextDecoder,i=new DataView(e.buffer),r=Array(i.getUint32(0,!0)),s=4;for(let o=0;oDt(()=>import("./blosc-E49GQuAK.js"),__vite__mapDeps([0,1])).then(t=>t.default)).set("gzip",()=>Dt(()=>import("./gzip-CF-9a_hd.js"),__vite__mapDeps([2,3])).then(t=>t.default)).set("lz4",()=>Dt(()=>import("./lz4-BIGKWw27.js"),__vite__mapDeps([4,1])).then(t=>t.default)).set("zlib",()=>Dt(()=>import("./zlib-CBiqHlio.js"),__vite__mapDeps([5,3])).then(t=>t.default)).set("zstd",()=>Dt(()=>import("./zstd-IvP746pw.js"),__vite__mapDeps([6,1])).then(t=>t.default)).set("transpose",()=>Gn).set("bytes",()=>mn).set("crc32c",()=>Hn).set("vlen-utf8",()=>Nn).set("json2",()=>Dn)}const js=Bs();function Pn(t){let e;return{async encode(n){e||(e=await Ii(t));for(const r of e.array_to_array)n=await r.encode(n);let i=await e.array_to_bytes.encode(n);for(const r of e.bytes_to_bytes)i=await r.encode(i);return i},async decode(n){e||(e=await Ii(t));for(let r=e.bytes_to_bytes.length-1;r>=0;r--)n=await e.bytes_to_bytes[r].decode(n);let i=await e.array_to_bytes.decode(n);for(let r=e.array_to_array.length-1;r>=0;r--)i=await e.array_to_array[r].decode(i);return i}}}async function Ii(t){let e=t.codecs.map(async s=>{var a;let o=await((a=js.get(s.name))==null?void 0:a());if(!o)throw new Error(`Unknown codec: ${s.name}`);return{Codec:o,meta:s}}),n=[],i,r=[];for await(let{Codec:s,meta:o}of e){let a=s.fromConfig(o.configuration,t);switch(a.kind){case"array_to_array":n.push(a);break;case"array_to_bytes":i=a;break;default:r.push(a)}}if(!i){if(!qs(t))throw new Error(`Cannot encode ${t.data_type} to bytes without a codec`);i=mn.fromConfig({endian:"little"},t)}return{array_to_array:n,array_to_bytes:i,bytes_to_bytes:r}}function qs(t){return t.data_type!=="v2:object"}const Ti=18446744073709551615n;function xs(t,e,n,i){if(t.store.getRange===void 0)throw new Error("Store does not support range requests");let r=t.store.getRange.bind(t.store),s=e.map((l,h)=>l/i.chunk_shape[h]),o=Pn({data_type:"uint64",shape:[...s,2],codecs:i.index_codecs}),a={};return async l=>{let h=l.map((M,Y)=>Math.floor(M/s[Y])),u=t.resolve(n(h)).path,g;if(u in a)g=a[u];else{let M=4,Y=16*s.reduce((X,J)=>X*J,1),G=await r(u,{suffixLength:Y+M});g=a[u]=G?await o.decode(G):null}if(g===null)return;let{data:m,shape:p,stride:_}=g,E=l.map((M,Y)=>M%p[Y]).reduce((M,Y,G)=>M+Y*_[G],0),N=m[E],O=m[E+1];if(!(N===Ti&&O===Ti))return r(u,{offset:Number(N),length:Number(O)})}}class Rt{constructor(e,n="/"){oe(this,"store");oe(this,"path");this.store=e,this.path=n}resolve(e){let n=new URL(`file://${this.path.endsWith("/")?this.path:`${this.path}/`}`);return new Rt(this.store,new URL(e,n).pathname)}}var Zt;class Kn extends Rt{constructor(n,i,r){super(n,i);oe(this,"kind","group");Te(this,Zt);Ee(this,Zt,r)}get attrs(){return ee(this,Zt).attributes}}Zt=new WeakMap;const Pt=Symbol("zarrita.context");function Vs(t){return t[Pt]}function Ws(t,e){let{configuration:n}=e.codecs.find(Ls)??{},i={encode_chunk_key:As(e.chunk_key_encoding),TypedArray:yr(e.data_type),fill_value:e.fill_value};if(n){let s=Fn(n.codecs);return{...i,kind:"sharded",chunk_shape:n.chunk_shape,codec:Pn({data_type:e.data_type,shape:n.chunk_shape,codecs:n.codecs}),get_strides(o,a){return pt(o,a??s)},get_chunk_bytes:xs(t,e.chunk_grid.configuration.chunk_shape,i.encode_chunk_key,n)}}let r=Fn(e.codecs);return{...i,kind:"regular",chunk_shape:e.chunk_grid.configuration.chunk_shape,codec:Pn({data_type:e.data_type,shape:e.chunk_grid.configuration.chunk_shape,codecs:e.codecs}),get_strides(s,o){return pt(s,o??r)},async get_chunk_bytes(s,o){let a=i.encode_chunk_key(s),l=t.resolve(a).path;return t.store.get(l,o)}}}var or,lr,mt,ar;let pn=(ar=class extends(lr=Rt,or=Pt,lr){constructor(n,i,r){super(n,i);oe(this,"kind","array");Te(this,mt);oe(this,or);Ee(this,mt,{...r,fill_value:kr(r)}),this[Pt]=Ws(this,r)}get attrs(){return ee(this,mt).attributes}get shape(){return ee(this,mt).shape}get chunks(){return this[Pt].chunk_shape}get dtype(){return ee(this,mt).data_type}async getChunk(n,i){let r=this[Pt],s=await r.get_chunk_bytes(n,i);if(!s){let o=r.chunk_shape.reduce((l,h)=>l*h,1),a=new r.TypedArray(o);return a.fill(r.fill_value),{data:a,shape:r.chunk_shape,stride:r.get_strides(r.chunk_shape)}}return r.codec.decode(s)}is(n){return Rs(this.dtype,n)}},mt=new WeakMap,ar),vn=Hs();function Hs(){let t=new WeakMap;function e(n){let i=t.get(n)??{v2:0,v3:0};return t.set(n,i),i}return{increment(n,i){e(n)[i]+=1},version_max(n){let i=e(n);return i.v3>i.v2?"v3":"v2"}}}async function Gs(t){let e=await t.store.get(t.resolve(".zattrs").path);return e?tn(e):{}}async function Ks(t,e={}){let n="store"in t?t:new Rt(t),i={};return(e.attrs??!0)&&(i=await Gs(n)),e.kind==="array"?zi(n,i):e.kind==="group"?Oi(n,i):zi(n,i).catch(r=>{if(r instanceof en)return Oi(n,i);throw r})}async function zi(t,e){let{path:n}=t.resolve(".zarray"),i=await t.store.get(n);if(!i)throw new en("v2 array",{cause:new Vn(n)});return vn.increment(t.store,"v2"),new pn(t.store,t.path,zs(tn(i),e))}async function Oi(t,e){let{path:n}=t.resolve(".zgroup"),i=await t.store.get(n);if(!i)throw new en("v2 group",{cause:new Vn(n)});return vn.increment(t.store,"v2"),new Kn(t.store,t.path,Os(tn(i),e))}async function Js(t){let{store:e,path:n}=t.resolve("zarr.json"),i=await t.store.get(n);if(!i)throw new en("v3 array or group",{cause:new Vn(n)});let r=tn(i);return r.node_type==="array"&&(r.fill_value=kr(r)),r.node_type==="array"?new pn(e,t.path,r):new Kn(e,t.path,r)}async function Zs(t,e={}){let n="store"in t?t:new Rt(t),i=await Js(n);if(vn.increment(n.store,"v3"),e.kind===void 0||e.kind==="array"&&i instanceof pn||e.kind==="group"&&i instanceof Kn)return i;let r=i instanceof pn?"array":"group";throw new Error(`Expected node of kind ${e.kind}, found ${r}.`)}async function gt(t,e={}){let n="store"in t?t.store:t,i=vn.version_max(n),r=i==="v2"?gt.v2:gt.v3,s=i==="v2"?gt.v3:gt.v2;return r(t,e).catch(o=>{if(o instanceof en)return s(t,e);throw o})}gt.v2=Ks;gt.v3=Zs;function*Ys(t,e,n=1){e===void 0&&(e=t,t=0);for(let i=t;ii[Symbol.iterator]()),n=e.map(i=>i.next());if(n.some(i=>i.done))throw new Error("Input contains an empty iterator.");for(let i=0;;){if(n[i].done){if(e[i]=t[i][Symbol.iterator](),n[i]=e[i].next(),++i>=e.length)return}else yield n.map(({value:r})=>r),i=0;n[i]=e[i].next()}}function Xs({start:t,stop:e,step:n},i){if(n===0)throw new Error("slice step cannot be zero");n=n??1;const r=n<0,[s,o]=r?[-1,i-1]:[0,i];return t===null?t=r?o:s:t<0?(t+=i,to&&(t=o),e===null?e=r?s:o:e<0?(e+=i,eo&&(e=o),[t,e,n]}function Un(t,e,n=null){return e===void 0&&(e=t,t=null),{start:t,stop:e,step:n}}function $s(){const t=[];return{add:e=>t.push(e()),onIdle:()=>Promise.all(t)}}class Jn extends Error{constructor(e){super(e),this.name="IndexError"}}function eo(t,e){throw new Jn(`too many indicies for array; expected ${e.length}, got ${t.length}`)}function to(t){throw new Jn(`index out of bounds for dimension with length ${t}`)}function no(){throw new Jn("only slices with step >= 1 are supported")}function io(t,e){t.length>e.length&&eo(t,e)}function ro(t,e){return t=Math.trunc(t),t<0&&(t=e+t),(t>=e||t<0)&&to(e),t}class so{constructor({dim_sel:e,dim_len:n,dim_chunk_len:i}){oe(this,"dim_sel");oe(this,"dim_len");oe(this,"dim_chunk_len");oe(this,"nitems");e=ro(e,n),this.dim_sel=e,this.dim_len=n,this.dim_chunk_len=i,this.nitems=1}*[Symbol.iterator](){const e=Math.floor(this.dim_sel/this.dim_chunk_len),n=e*this.dim_chunk_len,i=this.dim_sel-n;yield{dim_chunk_ix:e,dim_chunk_sel:i}}}class Ri{constructor({dim_sel:e,dim_len:n,dim_chunk_len:i}){oe(this,"start");oe(this,"stop");oe(this,"step");oe(this,"dim_len");oe(this,"dim_chunk_len");oe(this,"nitems");oe(this,"nchunks");const[r,s,o]=Xs(e,n);this.start=r,this.stop=s,this.step=o,this.step<1&&no(),this.dim_len=n,this.dim_chunk_len=i,this.nitems=Math.max(0,Math.ceil((this.stop-this.start)/this.step)),this.nchunks=Math.ceil(this.dim_len/this.dim_chunk_len)}*[Symbol.iterator](){const e=Math.floor(this.start/this.dim_chunk_len),n=Math.ceil(this.stop/this.dim_chunk_len);for(const i of Ys(e,n)){const r=i*this.dim_chunk_len,s=Math.min(this.dim_len,(i+1)*this.dim_chunk_len),o=s-r;let a=0,l=0;if(this.starts?o:this.stop-r,u=[l,h,this.step],g=Math.ceil((h-l)/this.step),m=[a,a+g,1];yield{dim_chunk_ix:i,dim_chunk_sel:u,dim_out_sel:m}}}}function oo(t,e){let n=[];return t===null?n=e.map(i=>Un(null)):Array.isArray(t)&&(n=t.map(i=>i??Un(null))),io(n,e),n}class lo{constructor({selection:e,shape:n,chunk_shape:i}){oe(this,"dim_indexers");oe(this,"shape");this.dim_indexers=oo(e,n).map((r,s)=>new(typeof r=="number"?so:Ri)({dim_sel:r,dim_len:n[s],dim_chunk_len:i[s]})),this.shape=this.dim_indexers.filter(r=>r instanceof Ri).map(r=>r.nitems)}*[Symbol.iterator](){for(const e of Qs(...this.dim_indexers)){const n=e.map(r=>r.dim_chunk_ix),i=e.map(r=>"dim_out_sel"in r?{from:r.dim_chunk_sel,to:r.dim_out_sel}:{from:r.dim_chunk_sel,to:null});yield{chunk_coords:n,mapping:i}}}}function ao(t,e){return"get"in t?t.get(e):t[e]}async function uo(t,e,n,i){var l;let r=Vs(t),s=new lo({selection:e,shape:t.shape,chunk_shape:t.chunks}),o=i.prepare(new r.TypedArray(s.shape.reduce((h,u)=>h*u,1)),s.shape,r.get_strides(s.shape,n.order)),a=((l=n.create_queue)==null?void 0:l.call(n))??$s();for(const{chunk_coords:h,mapping:u}of s)a.add(async()=>{let{data:g,shape:m,stride:p}=await t.getChunk(h,n.opts),_=i.prepare(g,m,p);i.set_from_chunk(o,_,u)});return await a.onIdle(),s.shape.length===0?ao(o.data,0):o}function Zn(t,e=0,n){let i=n??t.length-e;return{length:i,subarray(r,s=i){return Zn(t,e+r,s-r)},set(r,s=0){for(let o=0;o1?g=u/o:o<1&&(u=g*o);let m=u,p=g,_=!0;const E=new AbortController;async function N(){var R;let M=r.multiscales[0].datasets.map(F=>F.path),Y=r.multiscales[0].axes.map(F=>F.name),G=M.at(-1);s!=null&&sl*l){console.log("Lowest resolution too large for Thumbnail: ",f,i);return}let c=f.length,k=f[I]||1,z,T;(R=r==null?void 0:r.omero)!=null&&R.channels?(z=r.omero.channels.map(F=>F.active),T=r.omero.channels.map(F=>mr(F.color))):(z=rs(k),T=ss(k,z)),T=T.filter((F,te)=>z[te]);let j=z.reduce((F,te,A)=>(te&&F.push(A),F),[]).map(F=>{let te=f.map((A,W)=>W==I?F:W>=c-2?Un(0,A):Y[W]=="z"||Y[W]=="t"?parseInt(A/2+""):0);return _o(J,te,{opts:{signal:E.signal}})}),Q=await Promise.all(j),B=Q.map(F=>gr(F)),w=$r(Q,B,T);n(1,u=f.at(-1)),n(2,g=f.at(-2));let S=u/a;g>u&&(S=g/a),n(3,m=u/S),n(4,p=g/S),setTimeout(()=>{const F=h.getContext("2d");n(5,_=!1),F.putImageData(new ImageData(w,u,g),0,0)},100)}$t(()=>{N()}),xn(()=>{E.abort()});function O(M){Tt[M?"unshift":"push"](()=>{h=M,n(0,h)})}return t.$$set=M=>{"source"in M&&n(6,i=M.source),"attrs"in M&&n(7,r=M.attrs),"thumbDatasetIndex"in M&&n(8,s=M.thumbDatasetIndex),"thumbAspectRatio"in M&&n(9,o=M.thumbAspectRatio),"cssSize"in M&&n(10,a=M.cssSize),"max_size"in M&&n(11,l=M.max_size)},[h,u,g,m,p,_,i,r,s,o,a,l,O]}class Sr extends Ze{constructor(e){super(),Je(this,e,vo,bo,Be,{source:6,attrs:7,thumbDatasetIndex:8,thumbAspectRatio:9,cssSize:10,max_size:11})}}function Fi(t,e,n){const i=t.slice();return i[12]=e[n],i}function Di(t){let e,n;return e=new Sr({props:{source:t[4],attrs:t[3],max_size:2e3,thumbDatasetIndex:t[5],thumbAspectRatio:t[6]}}),{c(){Ke(e.$$.fragment)},m(i,r){We(e,i,r),n=!0},p(i,r){const s={};r&16&&(s.source=i[4]),r&8&&(s.attrs=i[3]),r&32&&(s.thumbDatasetIndex=i[5]),r&64&&(s.thumbAspectRatio=i[6]),e.$set(s)},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){He(e,i)}}}function Ni(t){let e,n,i,r,s,o,a,l=t[0].source+"",h,u,g=t[0].csv&&Pi(t);return{c(){e=y("div"),n=y("span"),n.textContent="Data",i=V(),g&&g.c(),r=V(),s=y("span"),s.textContent="provided by",o=V(),a=y("strong"),h=U(l),u=U("."),b(n,"class","hideOnSmall svelte-afrxqy"),b(s,"class","hideOnSmall svelte-afrxqy"),ae(a,"color","grey")},m(m,p){x(m,e,p),d(e,n),d(e,i),g&&g.m(e,null),d(e,r),d(e,s),d(e,o),d(e,a),d(a,h),d(e,u)},p(m,p){m[0].csv?g?g.p(m,p):(g=Pi(m),g.c(),g.m(e,r)):g&&(g.d(1),g=null),p&1&&l!==(l=m[0].source+"")&&me(h,l)},d(m){m&&q(e),g&&g.d()}}}function Pi(t){var a;let e,n,i,r=((a=t[0].csv)==null?void 0:a.split("/").pop().replace(".csv",""))+"",s,o;return{c(){e=y("span"),e.textContent="from collection",n=V(),i=y("a"),s=U(r),b(e,"class","hideOnSmall svelte-afrxqy"),b(i,"title","Show collection in a new tab"),b(i,"href",o=qi(t[0])),b(i,"target","_blank")},m(l,h){x(l,e,h),x(l,n,h),x(l,i,h),d(i,s)},p(l,h){var u;h&1&&r!==(r=((u=l[0].csv)==null?void 0:u.split("/").pop().replace(".csv",""))+"")&&me(s,r),h&1&&o!==(o=qi(l[0]))&&b(i,"href",o)},d(l){l&&(q(e),q(n),q(i))}}}function Ui(t){let e,n,i,r,s,o;return{c(){e=U("Browse "),n=y("a"),i=U("Original data"),o=U("."),b(n,"title",r="Link to original data: "+t[0].origin),b(n,"href",s=t[0].origin),b(n,"target","_blank")},m(a,l){x(a,e,l),x(a,n,l),d(n,i),x(a,o,l)},p(a,l){l&1&&r!==(r="Link to original data: "+a[0].origin)&&b(n,"title",r),l&1&&s!==(s=a[0].origin)&&b(n,"href",s)},d(a){a&&(q(e),q(n),q(o))}}}function Bi(t){let e=t[12].toUpperCase()+"",n,i,r=t[0][`size_${t[12]}`]+"",s,o;return{c(){n=U(e),i=U(":"),s=U(r),o=U("  ")},m(a,l){x(a,n,l),x(a,i,l),x(a,s,l),x(a,o,l)},p(a,l){l&1&&r!==(r=a[0][`size_${a[12]}`]+"")&&me(s,r)},d(a){a&&(q(n),q(i),q(s),q(o))}}}function ji(t){let e,n=t[0][`size_${t[12]}`]!==void 0&&Bi(t);return{c(){n&&n.c(),e=bn()},m(i,r){n&&n.m(i,r),x(i,e,r)},p(i,r){i[0][`size_${i[12]}`]!==void 0?n?n.p(i,r):(n=Bi(i),n.c(),n.m(e.parentNode,e)):n&&(n.d(1),n=null)},d(i){i&&q(e),n&&n.d(i)}}}function wo(t){let e,n,i=ut(t[0].written)+"",r;return{c(){e=y("div"),n=U("Data size: "),r=U(i)},m(s,o){x(s,e,o),d(e,n),d(e,r)},p(s,o){o&1&&i!==(i=ut(s[0].written)+"")&&me(r,i)},d(s){s&&q(e)}}}function yo(t){let e,n,i=t[0].shards+"",r;return{c(){e=y("div"),n=U("Shard shape: "),r=U(i)},m(s,o){x(s,e,o),d(e,n),d(e,r)},p(s,o){o&1&&i!==(i=s[0].shards+"")&&me(r,i)},d(s){s&&q(e)}}}function ko(t){let e,n,i=t[0].chunks+"",r;return{c(){e=y("div"),n=U("Chunk shape: "),r=U(i)},m(s,o){x(s,e,o),d(e,n),d(e,r)},p(s,o){o&1&&i!==(i=s[0].chunks+"")&&me(r,i)},d(s){s&&q(e)}}}function Eo(t){let e,n,i,r,s,o,a=t[9](t[0].url)+"",l,h,u,g=(t[0].name?t[0].name.replaceAll(t[1],`${t[1]}`):"")+"",m,p,_,E=t[7].replaceAll(t[1],`${t[1]}`)+"",N,O,M,Y,G,X,J,I,f,c,k,z,T,L,j,Q,B=t[3]&&Di(t),w=t[0].source&&Ni(t),S=t[0].origin&&Ui(t),R=Ne(["t","c","z","y","x"]),F=[];for(let v=0;v<5;v+=1)F[v]=ji(Fi(t,R,v));function te(v,D){return v[2]=="chunk_pixels"?ko:v[2]=="shard_pixels"?yo:wo}let A=te(t),W=A(t);return{c(){e=y("div"),n=y("div"),B&&B.c(),i=V(),r=y("div"),s=y("div"),o=y("strong"),h=V(),u=y("div"),p=V(),_=y("div"),N=V(),w&&w.c(),O=V(),M=y("div"),Y=U("Open in "),G=y("a"),X=U("OME-Validator."),f=V(),S&&S.c(),c=V(),k=y("div"),z=U(`Image size: + `);for(let v=0;v<5;v+=1)F[v].c();T=V(),W.c(),b(n,"class","thumbWrapper svelte-afrxqy"),b(s,"title",l=t[0].url),b(u,"class",m=fi(t[1]==""?"hideOnSmall":"")+" svelte-afrxqy"),b(G,"title",J="Open in Validator: "+t[0].url),b(G,"href",I="https://ome.github.io/ome-ngff-validator/?source="+t[0].url),b(G,"target","_blank"),b(e,"class","zarr-list-item svelte-afrxqy")},m(v,D){x(v,e,D),d(e,n),B&&B.m(n,null),d(e,i),d(e,r),d(r,s),d(s,o),o.innerHTML=a,d(r,h),d(r,u),u.innerHTML=g,d(r,p),d(r,_),_.innerHTML=E,d(r,N),w&&w.m(r,null),d(r,O),d(r,M),d(M,Y),d(M,G),d(G,X),d(M,f),S&&S.m(M,null),d(r,c),d(r,k),d(k,z);for(let H=0;H<5;H+=1)F[H]&&F[H].m(k,null);d(r,T),W.m(r,null),L=!0,j||(Q=we(n,"click",t[8]),j=!0)},p(v,[D]){if(v[3]?B?(B.p(v,D),D&8&&re(B,1)):(B=Di(v),B.c(),re(B,1),B.m(n,null)):B&&(zt(),he(B,1,1,()=>{B=null}),Ot()),(!L||D&1)&&a!==(a=v[9](v[0].url)+"")&&(o.innerHTML=a),(!L||D&1&&l!==(l=v[0].url))&&b(s,"title",l),(!L||D&3)&&g!==(g=(v[0].name?v[0].name.replaceAll(v[1],`${v[1]}`):"")+"")&&(u.innerHTML=g),(!L||D&2&&m!==(m=fi(v[1]==""?"hideOnSmall":"")+" svelte-afrxqy"))&&b(u,"class",m),(!L||D&130)&&E!==(E=v[7].replaceAll(v[1],`${v[1]}`)+"")&&(_.innerHTML=E),v[0].source?w?w.p(v,D):(w=Ni(v),w.c(),w.m(r,O)):w&&(w.d(1),w=null),(!L||D&1&&J!==(J="Open in Validator: "+v[0].url))&&b(G,"title",J),(!L||D&1&&I!==(I="https://ome.github.io/ome-ngff-validator/?source="+v[0].url))&&b(G,"href",I),v[0].origin?S?S.p(v,D):(S=Ui(v),S.c(),S.m(M,null)):S&&(S.d(1),S=null),D&1){R=Ne(["t","c","z","y","x"]);let H;for(H=0;H<5;H+=1){const ne=Fi(v,R,H);F[H]?F[H].p(ne,D):(F[H]=ji(ne),F[H].c(),F[H].m(k,null))}for(;H<5;H+=1)F[H].d(1)}A===(A=te(v))&&W?W.p(v,D):(W.d(1),W=A(v),W&&(W.c(),W.m(r,null)))},i(v){L||(re(B),L=!0)},o(v){he(B),L=!1},d(v){v&&q(e),B&&B.d(),w&&w.d(),S&&S.d(),Ct(F,v),W.d(),j=!1,Q()}}}function qi(t){return window.location.origin+window.location.pathname+"?csv="+t.csv}function Co(t,e,n){let i,{rowData:r}=e,{textFilter:s}=e,{sortedBy:o=void 0}=e,a,l,h,u=1;const g=new AbortController;if(r.size_x&&r.size_y){let _=Math.max(r.size_x,r.size_y);for(h=0;_>256;)h+=1,_=_/2;u=r.size_x/r.size_y}function m(){console.log("Clicked on thumbnail"),Ae.setSelectedRow(r)}function p(_){if(s&&_.toLowerCase().includes(s.toLowerCase())){let N=_.toLowerCase(),O=s.toLowerCase(),M=N.indexOf(O),Y=Math.max(0,Math.min(M,_.length-50)),G=_.substring(Y,M);return G+="",G+=_.substring(M,M+O.length),G+="",G+=_.substring(M+O.length),G}return _.split("/").pop()}return $t(async()=>{let _=r.url;r.series0!==void 0&&(_+="/"+r.series0);let E=await jt(_,g.signal);n(3,a=E[0]),n(4,l=E[1]),E[2]}),xn(()=>{g.abort()}),t.$$set=_=>{"rowData"in _&&n(0,r=_.rowData),"textFilter"in _&&n(1,s=_.textFilter),"sortedBy"in _&&n(2,o=_.sortedBy)},t.$$.update=()=>{var _;t.$$.dirty&3&&n(7,i=s!=""&&((_=r.description)!=null&&_.toLowerCase().includes(s.toLowerCase()))?r.description:"")},[r,s,o,a,l,h,u,i,m,p]}class So extends Ze{constructor(e){super(),Je(this,e,Co,Eo,Be,{rowData:0,textFilter:1,sortedBy:2})}}function Ao(t){let e,n,i,r;return n=new So({props:{rowData:t[0][t[13]],textFilter:t[1],sortedBy:t[2]}}),{c(){e=y("div"),Ke(n.$$.fragment),b(e,"slot","item"),b(e,"style",i=t[12]),b(e,"class","row svelte-1xlep2t")},m(s,o){x(s,e,o),We(n,e,null),r=!0},p(s,o){const a={};o&8193&&(a.rowData=s[0][s[13]]),o&2&&(a.textFilter=s[1]),o&4&&(a.sortedBy=s[2]),n.$set(a),(!r||o&4096&&i!==(i=s[12]))&&b(e,"style",i)},i(s){r||(re(n.$$.fragment,s),r=!0)},o(s){he(n.$$.fragment,s),r=!1},d(s){s&&q(e),He(n)}}}function Io(t){let e=!1,n=()=>{e=!1},i,r,s,o=`${t[5]}px`,a,l,h;return st(t[8]),st(t[9]),s=new vs({props:{width:"100%",height:t[5],itemCount:t[0].length,itemSize:160,getKey:t[6],$$slots:{item:[Ao,({style:u,index:g})=>({12:u,13:g}),({style:u,index:g})=>(u?4096:0)|(g?8192:0)]},$$scope:{ctx:t}}}),s.$on("afterScroll",t[7]),{c(){r=y("div"),Ke(s.$$.fragment),b(r,"class","imageListContainer svelte-1xlep2t"),ae(r,"height",o)},m(u,g){x(u,r,g),We(s,r,null),t[10](r),a=!0,l||(h=[we(window,"resize",t[8]),we(window,"scroll",()=>{e=!0,clearTimeout(i),i=setTimeout(n,100),t[9]()})],l=!0)},p(u,[g]){g&16&&!e&&(e=!0,clearTimeout(i),scrollTo(window.pageXOffset,u[4]),i=setTimeout(n,100));const m={};g&32&&(m.height=u[5]),g&1&&(m.itemCount=u[0].length),g&28679&&(m.$$scope={dirty:g,ctx:u}),s.$set(m),g&32&&o!==(o=`${u[5]}px`)&&ae(r,"height",o)},i(u){a||(re(s.$$.fragment,u),a=!0)},o(u){he(s.$$.fragment,u),a=!1},d(u){u&&q(r),He(s),t[10](null),l=!1,et(h)}}}function To(t,e,n){let i,{tableRows:r}=e,{textFilter:s}=e,{sortedBy:o=void 0}=e;function a(E){return r[E].url}let l,h=0,u=0;function g(E){let O=l.offsetTop-20;E.detail.offset-u<0&&h>O&&n(4,h-=1),u=E.detail.offset}function m(){n(5,i=window.innerHeight)}function p(){n(4,h=window.pageYOffset)}function _(E){Tt[E?"unshift":"push"](()=>{l=E,n(3,l)})}return t.$$set=E=>{"tableRows"in E&&n(0,r=E.tableRows),"textFilter"in E&&n(1,s=E.textFilter),"sortedBy"in E&&n(2,o=E.sortedBy)},n(5,i=0),[r,s,o,l,h,i,a,g,m,p,_]}class zo extends Ze{constructor(e){super(),Je(this,e,To,Io,Be,{tableRows:0,textFilter:1,sortedBy:2})}}function xi(t){let e,n;return e=new Sr({props:{source:t[1],attrs:t[0],cssSize:512,max_size:2e3,thumbDatasetIndex:t[2],thumbAspectRatio:t[3]}}),{c(){Ke(e.$$.fragment)},m(i,r){We(e,i,r),n=!0},p(i,r){const s={};r&2&&(s.source=i[1]),r&1&&(s.attrs=i[0]),r&4&&(s.thumbDatasetIndex=i[2]),r&8&&(s.thumbAspectRatio=i[3]),e.$set(s)},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){He(e,i)}}}function Oo(t){let e,n,i=t[0]&&xi(t);return{c(){i&&i.c(),e=bn()},m(r,s){i&&i.m(r,s),x(r,e,s),n=!0},p(r,[s]){r[0]?i?(i.p(r,s),s&1&&re(i,1)):(i=xi(r),i.c(),re(i,1),i.m(e.parentNode,e)):i&&(zt(),he(i,1,1,()=>{i=null}),Ot())},i(r){n||(re(i),n=!0)},o(r){he(i),n=!1},d(r){r&&q(e),i&&i.d(r)}}}function Ro(t,e,n){let{rowData:i}=e;console.log("ThumbLoader",i);let r,s,o,a=1;if(i.size_x&&i.size_y){let l=Math.max(i.size_x,i.size_y);for(o=0;l>1024;)o+=1,l=l/2;a=i.size_x/i.size_y}else o=void 0,a=1;return $t(async()=>{let l=await jt(i.url);n(0,r=l[0]),n(1,s=l[1]),l[2]}),t.$$set=l=>{"rowData"in l&&n(4,i=l.rowData)},[r,s,o,a,i]}class Lo extends Ze{constructor(e){super(),Je(this,e,Ro,Oo,Be,{rowData:4})}}function Vi(t,e,n){const i=t.slice();return i[5]=e[n][0],i[6]=e[n][1],i}function Wi(t){let e,n;return e=new Lo({props:{rowData:t[1]}}),{c(){Ke(e.$$.fragment)},m(i,r){We(e,i,r),n=!0},p(i,r){const s={};r&2&&(s.rowData=i[1]),e.$set(s)},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){He(e,i)}}}function Hi(t){let e,n,i=t[2]&&Wi(t);return{c(){i&&i.c(),e=bn()},m(r,s){i&&i.m(r,s),x(r,e,s),n=!0},p(r,s){r[2]?i?(i.p(r,s),s&4&&re(i,1)):(i=Wi(r),i.c(),re(i,1),i.m(e.parentNode,e)):i&&(zt(),he(i,1,1,()=>{i=null}),Ot())},i(r){n||(re(i),n=!0)},o(r){he(i),n=!1},d(r){r&&q(e),i&&i.d(r)}}}function Gi(t){let e,n=Ne(Object.entries(t[1])),i=[];for(let r=0;r{console.log("Showing preview for",l),l&&(n(1,r=l),console.log("Showing Thumb preview for",l,r),n(2,s=r.url),i.showPopover())});function o(){i.hidePopover()}$t(()=>{console.log("Mounted popover",i),i&&i.addEventListener("toggle",l=>{l.newState==="open"||(console.log("Popover has been hidden"),Ae.setSelectedRow(null))})});function a(l){Tt[l?"unshift":"push"](()=>{i=l,n(0,i)})}return[i,r,s,o,a]}class Do extends Ze{constructor(e){super(),Je(this,e,Fo,Mo,Be,{})}}const No="https://ome.github.io/ome2024-ngff-challenge/selectCaret.svg",Po="https://ome.github.io/ome2024-ngff-challenge/ome-main-nav.svg",Uo="https://ome.github.io/ome2024-ngff-challenge/github-mark-white.svg";function Bo(t){let e,n,i,r,s,o,a,l,h,u,g,m,p,_,E;return{c(){e=y("base"),n=V(),i=y("nav"),r=y("a"),s=y("img"),a=V(),l=y("a"),h=y("h2"),h.textContent="2024 NGFF Challenge",u=V(),g=y("div"),m=V(),p=y("a"),p.textContent="About",_=V(),E=y("a"),E.innerHTML=`GitHub Logo`,b(e,"href",t[0]),b(s,"alt","OME Logo"),In(s.src,o=Po)||b(s,"src",o),b(s,"class","svelte-1q2q39w"),b(r,"class","logolink svelte-1q2q39w"),b(r,"href",t[0]),b(h,"class","svelte-1q2q39w"),b(l,"href",t[0]),b(l,"class","svelte-1q2q39w"),ae(g,"flex","1"),b(p,"href","about/"),b(p,"class","svelte-1q2q39w"),b(E,"class","github svelte-1q2q39w"),b(E,"title","Open in GitHub"),b(E,"target","_blank"),b(E,"href","https://github.com/ome/ome2024-ngff-challenge/"),b(i,"class","svelte-1q2q39w")},m(N,O){x(N,e,O),x(N,n,O),x(N,i,O),d(i,r),d(r,s),d(i,a),d(i,l),d(l,h),d(i,u),d(i,g),d(i,m),d(i,p),d(i,_),d(i,E)},p:ke,i:ke,o:ke,d(N){N&&(q(e),q(n),q(i))}}}function jo(t){let e="https://ome.github.io/ome2024-ngff-challenge/";return console.log("Nav base",e),[e]}class qo extends Ze{constructor(e){super(),Je(this,e,jo,Bo,Be,{})}}function Ji(t){let e=t[0].plate_count+"",n,i;return{c(){n=U(e),i=U(" plates")},m(r,s){x(r,n,s),x(r,i,s)},p(r,s){s&1&&e!==(e=r[0].plate_count+"")&&me(n,e)},d(r){r&&(q(n),q(i))}}}function xo(t){let e,n,i,r,s,o,a,l=t[0].source+"",h,u,g,m,p,_,E=ut(t[0].bytes)+"",N,O,M,Y,G,X,J,I,f=t[0].image_count+"",c,k,z,T,L,j,Q,B,w,S=t[0].plate_count&&Ji(t);return{c(){e=y("div"),n=y("label"),i=y("img"),o=V(),a=y("div"),h=U(l),u=V(),g=y("br"),m=V(),p=y("span"),_=U("("),N=U(E),O=U(")"),Y=y("input"),X=V(),J=y("div"),S&&S.c(),I=V(),c=U(f),k=U(" images"),z=V(),T=y("label"),L=y("input"),j=V(),Q=y("span"),Q.textContent="×",b(i,"title",r=t[0].url),b(i,"class","sourceLogo svelte-1iuq3t7"),b(i,"alt","Source logo"),In(i.src,s=di(t[0].source))||b(i,"src",s),b(p,"title",M=t[0].child_csv.length+" collections"),b(Y,"class","source svelte-1iuq3t7"),b(Y,"type","radio"),b(Y,"name","source"),Y.value=G=t[0].source,b(J,"class","tooltip svelte-1iuq3t7"),b(n,"class","svelte-1iuq3t7"),b(L,"type","radio"),b(L,"name","source"),L.value="",b(L,"class","svelte-1iuq3t7"),b(Q,"title","Clear filter"),b(T,"class","clear svelte-1iuq3t7"),b(e,"class","source svelte-1iuq3t7")},m(R,F){x(R,e,F),d(e,n),d(n,i),d(n,o),d(n,a),d(a,h),d(a,u),d(a,g),d(a,m),d(a,p),d(p,_),d(p,N),d(p,O),d(a,Y),d(a,X),d(a,J),S&&S.m(J,null),d(J,I),d(J,c),d(J,k),d(e,z),d(e,T),d(T,L),d(T,j),d(T,Q),B||(w=[we(Y,"change",function(){_n(t[1])&&t[1].apply(this,arguments)}),we(L,"change",function(){_n(t[1])&&t[1].apply(this,arguments)})],B=!0)},p(R,[F]){t=R,F&1&&r!==(r=t[0].url)&&b(i,"title",r),F&1&&!In(i.src,s=di(t[0].source))&&b(i,"src",s),F&1&&l!==(l=t[0].source+"")&&me(h,l),F&1&&E!==(E=ut(t[0].bytes)+"")&&me(N,E),F&1&&M!==(M=t[0].child_csv.length+" collections")&&b(p,"title",M),F&1&&G!==(G=t[0].source)&&(Y.value=G),t[0].plate_count?S?S.p(t,F):(S=Ji(t),S.c(),S.m(J,I)):S&&(S.d(1),S=null),F&1&&f!==(f=t[0].image_count+"")&&me(c,f)},i:ke,o:ke,d(R){R&&q(e),S&&S.d(),B=!1,et(w)}}}function Vo(t,e,n){let{source:i}=e,{handleFilter:r}=e;return t.$$set=s=>{"source"in s&&n(0,i=s.source),"handleFilter"in s&&n(1,r=s.handleFilter)},[i,r]}class Wo extends Ze{constructor(e){super(),Je(this,e,Vo,xo,Be,{source:0,handleFilter:1})}}function Ho(t,e,n){const i=t.slice();return i[31]=e[n],i}function Zi(t,e,n){const i=t.slice();return i[34]=e[n],i}function Yi(t,e,n){const i=t.slice();return i[34]=e[n],i}function Qi(t,e,n){const i=t.slice();return i[39]=e[n],i}function Xi(t,e,n){const i=t.slice();return i[42]=e[n],i}function Go(t){let e,n,i,r=t[1].split("/").pop()+"",s,o,a=t[1]!=gn&&$i(t);return{c(){e=y("div"),n=U(`Showing Collection: + `),i=y("a"),s=U(r),o=V(),a&&a.c(),b(i,"href",t[1]),ae(e,"font-size","90%")},m(l,h){x(l,e,h),d(e,n),d(e,i),d(i,s),d(e,o),a&&a.m(e,null)},p(l,h){h[0]&2&&r!==(r=l[1].split("/").pop()+"")&&me(s,r),h[0]&2&&b(i,"href",l[1]),l[1]!=gn?a?a.p(l,h):(a=$i(l),a.c(),a.m(e,null)):a&&(a.d(1),a=null)},d(l){l&&q(e),a&&a.d()}}}function Ko(t){let e,n=ut(t[4])+"",i,r;return{c(){e=y("strong"),i=U(n),r=U(` of public bioimage data in the next major version of OME-Zarr, - including Zarr v3 and sharding, with distributed hosting.`),ae(e,"font-weight","600")},m(s,o){V(s,e,o),d(e,i),V(s,r,o)},p(s,o){o[0]&16&&n!==(n=ut(s[4])+"")&&me(i,n)},d(s){s&&(q(e),q(r))}}}function $i(t){let e,n=ut(t[4])+"",i,r,s,o,a,l;return{c(){e=U("("),i=U(n),r=U(`) - `),s=y("span"),s.textContent="  |  ",o=x(),a=y("a"),l=U("Show all collections"),ae(s,"color","grey"),b(a,"href",window.location.origin+window.location.pathname)},m(h,u){V(h,e,u),V(h,i,u),V(h,r,u),V(h,s,u),V(h,o,u),V(h,a,u),d(a,l)},p(h,u){u[0]&16&&n!==(n=ut(h[4])+"")&&me(i,n)},d(h){h&&(q(e),q(i),q(r),q(s),q(o),q(a))}}}function er(t){let e,n;return e=new Ho({props:{source:t[42],handleFilter:t[17]}}),{c(){Ke(e.$$.fragment)},m(i,r){He(e,i,r),n=!0},p(i,r){const s={};r[0]&4&&(s.source=i[42]),e.$set(s)},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){We(e,i)}}}function tr(t){let e,n,i,r,s,o,a,l,h,u=Ne(Ae.getCsvSourceList(t[14])),g=[];for(let m=0;mt[24].call(n)),b(o,"title","Clear Filter"),ae(o,"visibility",t[12]!==""?"visible":"hidden"),b(o,"class","svelte-10h51w5"),b(s,"class","svelte-10h51w5"),b(e,"class","selectWrapper svelte-10h51w5")},m(m,p){V(m,e,p),d(e,n),d(n,i);for(let _=0;_0,X,J,I,f,c=t[13]!==""?"All Dimensions":"Dimension Count",k,O,T,L,j,Q,B,w,S,z,F,te,A,H,v=t[11]==""?"Organism":"All Organisms",D,W,ne,ie,P,Z,ue,de,$,pe,_e=t[10]==""?"Imaging Modality":"All Modalities",ce,Pe,be=[],je=new Map,Ge,Oe,se,ve,Ye,le,tt,qe,Qe,ze,Se,Le,Me,ct,Ie,nt,Xe,ei,nn,ft,ti,bt,it,ni,rn=t[0].length+"",wn,ii,yn,ri,si,ht,xe,kn,oi;e=new Do({});function li(C,K){return C[1]==gn?Ko:Go}let sn=li(t),$e=sn(t),dt=Ne(t[2]),ye=[];for(let C=0;Che(ye[C],1,1,()=>{ye[C]=null});let Ue=G&&tr(t),vt=Ne(Object.keys(t[5]).sort()),Fe=[];for(let C=0;CC[34];for(let C=0;Ct[25].call(I)),b(S,"title","Clear Filter"),ae(S,"visibility",t[13]!==""?"visible":"hidden"),b(S,"class","svelte-10h51w5"),b(w,"class","svelte-10h51w5"),b(J,"class","selectWrapper svelte-10h51w5"),H.__value="",Ce(H,H.__value),b(A,"class","svelte-10h51w5"),t[11]===void 0&&st(()=>t[26].call(A)),b(P,"title","Clear Filter"),ae(P,"visibility",t[11]!==""?"visible":"hidden"),b(P,"class","svelte-10h51w5"),b(ie,"class","svelte-10h51w5"),b(te,"class","selectWrapper svelte-10h51w5"),pe.__value="",Ce(pe,pe.__value),b($,"class","svelte-10h51w5"),t[10]===void 0&&st(()=>t[27].call($)),b(se,"title","Clear Filter"),ae(se,"visibility",t[10]!==""?"visible":"hidden"),b(se,"class","svelte-10h51w5"),b(Oe,"class","svelte-10h51w5"),b(de,"class","selectWrapper svelte-10h51w5"),b(le,"class","clear"),Le.__value="",Ce(Le,Le.__value),Ie.__value="written",Ce(Ie,Ie.__value),nt.__value="chunk_pixels",Ce(nt,nt.__value),Xe.__value="shard_pixels",Ce(Xe,Xe.__value),b(Se,"class","svelte-10h51w5"),b(nn,"class","svelte-10h51w5"),b(ze,"class","selectWrapper svelte-10h51w5"),b(R,"class","filters svelte-10h51w5"),b(N,"class","sidebar svelte-10h51w5"),ae(it,"margin-left","15px"),b(it,"class","svelte-10h51w5"),b(bt,"class","results svelte-10h51w5"),b(E,"class","sidebarContainer svelte-10h51w5"),ae(i,"--form-select-bg-img","url('"+No+"')"),b(i,"class","svelte-10h51w5")},m(C,K){He(e,C,K),V(C,n,K),V(C,i,K),d(i,r),d(r,s),$e.m(s,null),d(r,o),d(r,a),d(a,l),Ce(l,t[9]),d(a,h),d(a,u),d(u,g),d(r,m),d(r,p);for(let ge=0;ge0),G?Ue?Ue.p(C,K):(Ue=tr(C),Ue.c(),Ue.m(R,X)):Ue&&(Ue.d(1),Ue=null),(!xe||K[0]&8192)&&c!==(c=C[13]!==""?"All Dimensions":"Dimension Count")&&me(k,c),K[0]&8192&&ot(I,C[13]),(!xe||K[0]&8192)&&ae(S,"visibility",C[13]!==""?"visible":"hidden"),(!xe||K[0]&2048)&&v!==(v=C[11]==""?"Organism":"All Organisms")&&me(D,v),K[0]&32){vt=Ne(Object.keys(C[5]).sort());let fe;for(fe=0;fe{n(0,g=X(w)),n(2,m=Ae.getCsvSourceList()),n(3,p=w.length),n(4,_=w.reduce((S,z)=>S+parseInt(z.written)||0,0))}),br.subscribe(w=>{let S={};for(const[z,F]of Object.entries(w))S[F]=z;n(5,E=S)}),vr.subscribe(w=>{let S={};for(const[z,F]of Object.entries(w))S[F]=z;n(6,N=S)}),u&&dr(u,Ae);let R="",M=!1;function Y(){n(8,M=!M),Ae.sortTable(R,M)}function G(w){n(7,R=w.target.value),R===""?Ae.sortTable("index",!0):Ae.sortTable(R,M)}function X(w){if(i!==""&&(w=w.filter(S=>S.dim_count==i)),s!=="")w=w.filter(S=>S.csv==s);else if(r!==""){let S=Ae.getCsvSourceList(r),z=[r,...S.map(F=>F.source)];w=w.filter(F=>z.includes(F.source))}if(o!==""&&(w=w.filter(S=>S.organismId==o)),a!=""&&(w=w.filter(S=>S.fbbiId==a)),l&&l!=""){let S=l.toLowerCase();w=w.filter(z=>{var F,te;return z.url.toLowerCase().includes(S)||((F=z.description)==null?void 0:F.toLowerCase().includes(S))||((te=z.name)==null?void 0:te.toLowerCase().includes(S))})}return w}function J(w){n(14,r=w.target.value||""),n(12,s=""),console.log("filterSource",r,s),n(0,g=X(Ae.getRows()))}function I(w){n(13,i=w.target.value||""),n(0,g=X(Ae.getRows()))}function f(w){n(12,s=w.target.value||""),n(0,g=X(Ae.getRows()))}function c(w){n(11,o=w.target.value||""),n(0,g=X(Ae.getRows()))}function k(w){n(10,a=w.target.value||""),n(0,g=X(Ae.getRows()))}function O(w){n(9,l=w.target.value),n(0,g=X(Ae.getRows()))}function T(){l=this.value,n(9,l)}function L(){s=un(this),n(12,s),n(14,r)}function j(){i=un(this),n(13,i)}function Q(){o=un(this),n(11,o),n(5,E)}function B(){a=un(this),n(10,a),n(6,N)}return t.$$.update=()=>{t.$$.dirty[0]&1&&g.some(w=>w.source)},n(13,i=""),n(14,r=""),n(12,s=""),n(11,o=""),n(10,a=""),n(9,l=""),[g,u,m,p,_,E,N,R,M,l,a,o,s,i,r,Y,G,J,I,f,c,k,O,T,L,j,Q,B]}class Qo extends Ze{constructor(e){super(),Je(this,e,Yo,Zo,Be,{},null,[-1,-1])}}function Xo(t){let e;return{c(){e=y("div"),e.innerHTML=`

Introduction

The 2024 OME-NGFF Challenge + including Zarr v3 and sharding, with distributed hosting.`),ae(e,"font-weight","600")},m(s,o){x(s,e,o),d(e,i),x(s,r,o)},p(s,o){o[0]&16&&n!==(n=ut(s[4])+"")&&me(i,n)},d(s){s&&(q(e),q(r))}}}function $i(t){let e,n=ut(t[4])+"",i,r,s,o,a,l;return{c(){e=U("("),i=U(n),r=U(`) + `),s=y("span"),s.textContent="  |  ",o=V(),a=y("a"),l=U("Show all collections"),ae(s,"color","grey"),b(a,"href",window.location.origin+window.location.pathname)},m(h,u){x(h,e,u),x(h,i,u),x(h,r,u),x(h,s,u),x(h,o,u),x(h,a,u),d(a,l)},p(h,u){u[0]&16&&n!==(n=ut(h[4])+"")&&me(i,n)},d(h){h&&(q(e),q(i),q(r),q(s),q(o),q(a))}}}function er(t){let e,n;return e=new Wo({props:{source:t[42],handleFilter:t[17]}}),{c(){Ke(e.$$.fragment)},m(i,r){We(e,i,r),n=!0},p(i,r){const s={};r[0]&4&&(s.source=i[42]),e.$set(s)},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){He(e,i)}}}function tr(t){let e,n,i,r,s,o,a,l,h,u=Ne(Ae.getCsvSourceList(t[14])),g=[];for(let m=0;mt[24].call(n)),b(o,"title","Clear Filter"),ae(o,"visibility",t[12]!==""?"visible":"hidden"),b(o,"class","svelte-10h51w5"),b(s,"class","svelte-10h51w5"),b(e,"class","selectWrapper svelte-10h51w5")},m(m,p){x(m,e,p),d(e,n),d(n,i);for(let _=0;_0,X,J,I,f,c=t[13]!==""?"All Dimensions":"Dimension Count",k,z,T,L,j,Q,B,w,S,R,F,te,A,W,v=t[11]==""?"Organism":"All Organisms",D,H,ne,ie,P,Z,ue,de,$,pe,_e=t[10]==""?"Imaging Modality":"All Modalities",ce,Pe,be=[],je=new Map,Ge,ze,se,ve,Ye,le,tt,qe,Qe,Re,Se,Le,Me,ct,Ie,nt,Xe,ei,nn,ft,ti,bt,it,ni,rn=t[0].length+"",wn,ii,yn,ri,si,ht,xe,kn,oi;e=new Do({});function li(C,K){return C[1]==gn?Ko:Go}let sn=li(t),$e=sn(t),dt=Ne(t[2]),ye=[];for(let C=0;Che(ye[C],1,1,()=>{ye[C]=null});let Ue=G&&tr(t),vt=Ne(Object.keys(t[5]).sort()),Fe=[];for(let C=0;CC[34];for(let C=0;Ct[25].call(I)),b(S,"title","Clear Filter"),ae(S,"visibility",t[13]!==""?"visible":"hidden"),b(S,"class","svelte-10h51w5"),b(w,"class","svelte-10h51w5"),b(J,"class","selectWrapper svelte-10h51w5"),W.__value="",Ce(W,W.__value),b(A,"class","svelte-10h51w5"),t[11]===void 0&&st(()=>t[26].call(A)),b(P,"title","Clear Filter"),ae(P,"visibility",t[11]!==""?"visible":"hidden"),b(P,"class","svelte-10h51w5"),b(ie,"class","svelte-10h51w5"),b(te,"class","selectWrapper svelte-10h51w5"),pe.__value="",Ce(pe,pe.__value),b($,"class","svelte-10h51w5"),t[10]===void 0&&st(()=>t[27].call($)),b(se,"title","Clear Filter"),ae(se,"visibility",t[10]!==""?"visible":"hidden"),b(se,"class","svelte-10h51w5"),b(ze,"class","svelte-10h51w5"),b(de,"class","selectWrapper svelte-10h51w5"),b(le,"class","clear"),Le.__value="",Ce(Le,Le.__value),Ie.__value="written",Ce(Ie,Ie.__value),nt.__value="chunk_pixels",Ce(nt,nt.__value),Xe.__value="shard_pixels",Ce(Xe,Xe.__value),b(Se,"class","svelte-10h51w5"),b(nn,"class","svelte-10h51w5"),b(Re,"class","selectWrapper svelte-10h51w5"),b(O,"class","filters svelte-10h51w5"),b(N,"class","sidebar svelte-10h51w5"),ae(it,"margin-left","15px"),b(it,"class","svelte-10h51w5"),b(bt,"class","results svelte-10h51w5"),b(E,"class","sidebarContainer svelte-10h51w5"),ae(i,"--form-select-bg-img","url('"+No+"')"),b(i,"class","svelte-10h51w5")},m(C,K){We(e,C,K),x(C,n,K),x(C,i,K),d(i,r),d(r,s),$e.m(s,null),d(r,o),d(r,a),d(a,l),Ce(l,t[9]),d(a,h),d(a,u),d(u,g),d(r,m),d(r,p);for(let ge=0;ge0),G?Ue?Ue.p(C,K):(Ue=tr(C),Ue.c(),Ue.m(O,X)):Ue&&(Ue.d(1),Ue=null),(!xe||K[0]&8192)&&c!==(c=C[13]!==""?"All Dimensions":"Dimension Count")&&me(k,c),K[0]&8192&&ot(I,C[13]),(!xe||K[0]&8192)&&ae(S,"visibility",C[13]!==""?"visible":"hidden"),(!xe||K[0]&2048)&&v!==(v=C[11]==""?"Organism":"All Organisms")&&me(D,v),K[0]&32){vt=Ne(Object.keys(C[5]).sort());let fe;for(fe=0;fe{n(0,g=X(w)),n(2,m=Ae.getCsvSourceList()),n(3,p=w.length),n(4,_=w.reduce((S,R)=>S+parseInt(R.written)||0,0))}),br.subscribe(w=>{let S={};for(const[R,F]of Object.entries(w))S[F]=R;n(5,E=S)}),vr.subscribe(w=>{let S={};for(const[R,F]of Object.entries(w))S[F]=R;n(6,N=S)}),u&&dr(u,Ae);let O="",M=!1;function Y(){n(8,M=!M),Ae.sortTable(O,M)}function G(w){n(7,O=w.target.value),O===""?Ae.sortTable("index",!0):Ae.sortTable(O,M)}function X(w){if(i!==""&&(w=w.filter(S=>S.dim_count==i)),s!=="")w=w.filter(S=>S.csv==s);else if(r!==""){let S=Ae.getCsvSourceList(r),R=[r,...S.map(F=>F.source)];w=w.filter(F=>R.includes(F.source))}if(o!==""&&(w=w.filter(S=>S.organismId==o)),a!=""&&(w=w.filter(S=>S.fbbiId==a)),l&&l!=""){let S=l.toLowerCase();w=w.filter(R=>{var F,te;return R.url.toLowerCase().includes(S)||((F=R.description)==null?void 0:F.toLowerCase().includes(S))||((te=R.name)==null?void 0:te.toLowerCase().includes(S))})}return w}function J(w){n(14,r=w.target.value||""),n(12,s=""),console.log("filterSource",r,s),n(0,g=X(Ae.getRows()))}function I(w){n(13,i=w.target.value||""),n(0,g=X(Ae.getRows()))}function f(w){n(12,s=w.target.value||""),n(0,g=X(Ae.getRows()))}function c(w){n(11,o=w.target.value||""),n(0,g=X(Ae.getRows()))}function k(w){n(10,a=w.target.value||""),n(0,g=X(Ae.getRows()))}function z(w){n(9,l=w.target.value),n(0,g=X(Ae.getRows()))}function T(){l=this.value,n(9,l)}function L(){s=un(this),n(12,s),n(14,r)}function j(){i=un(this),n(13,i)}function Q(){o=un(this),n(11,o),n(5,E)}function B(){a=un(this),n(10,a),n(6,N)}return t.$$.update=()=>{t.$$.dirty[0]&1&&g.some(w=>w.source)},n(13,i=""),n(14,r=""),n(12,s=""),n(11,o=""),n(10,a=""),n(9,l=""),[g,u,m,p,_,E,N,O,M,l,a,o,s,i,r,Y,G,J,I,f,c,k,z,T,L,j,Q,B]}class Qo extends Ze{constructor(e){super(),Je(this,e,Yo,Zo,Be,{},null,[-1,-1])}}const Xo="https://ome.github.io/ome2024-ngff-challenge/nfdi_rgb_Wortmarke_Zusatz_quer.png",$o="https://ome.github.io/ome2024-ngff-challenge/czi-logo-chan-zuckerberg-initiative-logo.png";function el(t){let e,n,i;return{c(){e=y("base"),n=V(),i=y("div"),i.innerHTML=`

Introduction

The 2024 OME-NGFF Challenge was conceived at the OME Annual Community Meeting in Dundee in May 2024. The stated goals of Challenge were:

  • Advancing the status of OME-Zarr specification proposals — @@ -54,4 +54,5 @@ License: MIT or ideas.

    Looking back, perhaps the most rewarding outcome of the Challenge is that with a remarkably modest investment of time and cloud resources, we have almost inadvertently prototyped a federated bioimage data system based on OME-Zarr, the largest one we know of. - We hope future challenges will continue to push the state-of-the-art forward.

    `,b(e,"class","svelte-1ivuwa5")},m(n,i){V(n,e,i)},p:ke,i:ke,o:ke,d(n){n&&q(e)}}}class $o extends Ze{constructor(e){super(),Je(this,e,null,Xo,Be,{})}}function el(t){let e,n;return e=new Qo({}),{c(){Ke(e.$$.fragment)},m(i,r){He(e,i,r),n=!0},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){We(e,i)}}}function tl(t){let e,n;return e=new $o({}),{c(){Ke(e.$$.fragment)},m(i,r){He(e,i,r),n=!0},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){We(e,i)}}}function nl(t){let e,n,i,r,s,o;n=new qo({});const a=[tl,el],l=[];function h(u,g){return u[0].endsWith("/about/")?0:1}return r=h(t),s=l[r]=a[r](t),{c(){e=y("div"),Ke(n.$$.fragment),i=x(),s.c(),b(e,"class","app svelte-1mc4mod")},m(u,g){V(u,e,g),He(n,e,null),d(e,i),l[r].m(e,null),o=!0},p:ke,i(u){o||(re(n.$$.fragment,u),re(s),o=!0)},o(u){he(n.$$.fragment,u),he(s),o=!1},d(u){u&&q(e),We(n),l[r].d()}}}function il(t){return[window.location.pathname]}class rl extends Ze{constructor(e){super(),Je(this,e,il,nl,Be,{})}}new rl({target:document.getElementById("app")}); + We hope future challenges will continue to push the state-of-the-art forward.

    Acknowledgements

    Coordination of the challenge has been supported by the German National Research Data + Initiative (NFDI) and the Chan Zuckerberg Initiative:

    `,b(e,"href",t[0]),b(i,"class","svelte-zlrnwt")},m(r,s){x(r,e,s),x(r,n,s),x(r,i,s)},p:ke,i:ke,o:ke,d(r){r&&(q(e),q(n),q(i))}}}function tl(t){return["https://ome.github.io/ome2024-ngff-challenge/"]}class nl extends Ze{constructor(e){super(),Je(this,e,tl,el,Be,{})}}function il(t){let e,n;return e=new Qo({}),{c(){Ke(e.$$.fragment)},m(i,r){We(e,i,r),n=!0},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){He(e,i)}}}function rl(t){let e,n;return e=new nl({}),{c(){Ke(e.$$.fragment)},m(i,r){We(e,i,r),n=!0},i(i){n||(re(e.$$.fragment,i),n=!0)},o(i){he(e.$$.fragment,i),n=!1},d(i){He(e,i)}}}function sl(t){let e,n,i,r,s,o;n=new qo({});const a=[rl,il],l=[];function h(u,g){return u[0].endsWith("/about/")?0:1}return r=h(t),s=l[r]=a[r](t),{c(){e=y("div"),Ke(n.$$.fragment),i=V(),s.c(),b(e,"class","app svelte-1mc4mod")},m(u,g){x(u,e,g),We(n,e,null),d(e,i),l[r].m(e,null),o=!0},p:ke,i(u){o||(re(n.$$.fragment,u),re(s),o=!0)},o(u){he(n.$$.fragment,u),he(s),o=!1},d(u){u&&q(e),He(n),l[r].d()}}}function ol(t){return[window.location.pathname]}class ll extends Ze{constructor(e){super(),Je(this,e,ol,sl,Be,{})}}new ll({target:document.getElementById("app")}); diff --git a/assets/index-C1nKWVKK.css b/assets/index-vFFav-wJ.css similarity index 97% rename from assets/index-C1nKWVKK.css rename to assets/index-vFFav-wJ.css index 31022dc..5588354 100644 --- a/assets/index-C1nKWVKK.css +++ b/assets/index-vFFav-wJ.css @@ -1 +1 @@ -:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{box-sizing:border-box}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#545cf2}body{--bg-opacity: .5}body{margin:0;width:100%;height:100%;background:#fff;color:#333;position:absolute;top:0;right:0;bottom:0;left:0;--background-color: white;--border-color: lightgrey;--light-background: #eee;--selected-background: #eee}@media (prefers-color-scheme: dark){body{--bg-opacity: 0;background:#000;color:#bbb;--background-color: #222;--light-background: #222;--border-color: #333;--selected-background: #444}}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;font-weight:300}h1{font-size:3.2em;line-height:1.1}.card{padding:2em}main{position:relative;z-index:10}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.sortButtons button:first-child{border-top-left-radius:5px;border-bottom-left-radius:5px}.sortButtons button:last-child{border-top-right-radius:5px;border-bottom-right-radius:5px}button.svelte-17vd65t{background-color:var(--light-background);border:solid var(--border-color) 1px;border-radius:5px;text-wrap:none;white-space:nowrap;position:relative;padding:9px 10px 11px;outline:none;margin:0;height:35px}button.svelte-17vd65t:focus-visible{outline:4px solid gold}span.svelte-17vd65t{color:#d3d3d3;display:inline-block;position:absolute;right:5px;top:50%;margin-top:-10px}.strong.svelte-17vd65t{font-weight:700;color:#000}.acc.svelte-17vd65t{transform:rotate(180deg);margin-top:-5px}.virtual-list-wrapper.svelte-dwpad5{overflow:auto;will-change:transform;-webkit-overflow-scrolling:touch}.virtual-list-inner.svelte-dwpad5{position:relative;display:flex;width:100%}.canvasWrapper.svelte-lwhhyg{position:relative}canvas.svelte-lwhhyg{box-shadow:5px 4px 10px -5px #737373}@keyframes svelte-lwhhyg-spinner{to{transform:rotate(360deg)}}.spinner.svelte-lwhhyg:after{content:"";box-sizing:border-box;position:absolute;top:50%;left:50%;width:40px;height:40px;margin-top:-20px;margin-left:-20px;border-radius:50%;border:5px solid rgba(180,180,180,.6);border-top-color:#0009;animation:svelte-lwhhyg-spinner .6s linear infinite}.thumbWrapper.svelte-afrxqy{width:120px;height:120px;cursor:pointer}.zarr-list-item.svelte-afrxqy{padding:10px;display:flex;flex-direction:row;align-items:start;gap:10px;background-color:var(--background-color)}@media (max-width: 800px){.hideOnSmall.svelte-afrxqy{display:none}}.imageListContainer.svelte-1xlep2t{border-top:solid var(--border-color) 1px;width:100%;margin:auto;flex:auto 1 1;overflow:hidden;background-color:var(--background-color)}.row.svelte-1xlep2t{padding:10px}.close.svelte-1g3sjso{position:absolute;right:5px;top:5px;z-index:100;font-size:2rem;padding:2px 9px}.scrollable.svelte-1g3sjso{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;height:100%;background:#fff;z-index:0;padding:5px}#mypopover.svelte-1g3sjso{position:fixed;margin-right:5px;margin-bottom:5px;width:50%;height:75%;overflow:auto;box-shadow:5px 4px 10px -5px #737373}@media (max-width: 800px){#mypopover.svelte-1g3sjso{width:100%}}nav.svelte-1q2q39w.svelte-1q2q39w{top:0;left:0;width:100%;display:flex;flex-direction:row;margin:0;padding:5px 15px;background-color:#202428;z-index:20;align-items:center;box-sizing:border-box;flex:auto 0 0;gap:5px}h2.svelte-1q2q39w.svelte-1q2q39w{color:#fff;font-weight:300;margin:5px 15px}a.svelte-1q2q39w.svelte-1q2q39w{color:#fff;text-decoration:none;display:block}.logolink.svelte-1q2q39w.svelte-1q2q39w,img.svelte-1q2q39w.svelte-1q2q39w{height:30px}.github.svelte-1q2q39w img.svelte-1q2q39w,.github.svelte-1q2q39w.svelte-1q2q39w{height:20px}.github.svelte-1q2q39w.svelte-1q2q39w{margin:0 10px}.source.svelte-1iuq3t7.svelte-1iuq3t7:has(input.source:checked){border:solid #ccc 1px;background-color:var(--selected-background)}.source.svelte-1iuq3t7.svelte-1iuq3t7{border:solid var(--border-color) 1px;float:left;position:relative;padding:3px;border-radius:5px;cursor:pointer}.source.svelte-1iuq3t7 label.svelte-1iuq3t7{display:flex;flex-direction:row;position:relative;padding:5px;cursor:pointer;gap:5px;line-height:normal}.sourceLogo.svelte-1iuq3t7.svelte-1iuq3t7{height:32px;margin:2px;background-color:#fff;padding:2px;border-radius:4px}input[type=radio].svelte-1iuq3t7.svelte-1iuq3t7{visibility:hidden;width:0;margin:0}.source.svelte-1iuq3t7 .clear.svelte-1iuq3t7{display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;opacity:.5}.source.svelte-1iuq3t7:has(input.source:checked) .clear.svelte-1iuq3t7{display:block;text-align:right}.tooltip.svelte-1iuq3t7.svelte-1iuq3t7{display:none;top:100%;position:absolute;background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px;padding:5px;z-index:1}.source.svelte-1iuq3t7:hover .tooltip.svelte-1iuq3t7{display:block}.sidebarContainer.svelte-10h51w5.svelte-10h51w5{display:flex;flex-direction:row}.sidebar.svelte-10h51w5.svelte-10h51w5{flex:250px 0 0;padding:10px}.results.svelte-10h51w5.svelte-10h51w5{flex:auto 1 1;position:relative}input[name=textFilter].svelte-10h51w5.svelte-10h51w5{width:100%;flex:auto 1 1;border:solid var(--border-color) 1px;border-radius:16px;padding:8px 8px 6px 12px;font-size:1rem;background-color:var(--light-background);position:relative;display:block}input[name=textFilter].svelte-10h51w5.svelte-10h51w5:before{content:"Where is this going?";width:200px;height:200px;position:absolute;right:0;top:0;bottom:0;display:block}@media (max-width: 800px){.sidebarContainer.svelte-10h51w5.svelte-10h51w5{flex-direction:column}}select.svelte-10h51w5.svelte-10h51w5{display:block;width:100%;padding:.3rem 2.25rem .3rem .75rem;font-size:1rem;line-height:1.5;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--light-background);border:1px solid var(--border-color);border-radius:.375rem;margin:3px 0;float:left;background-image:var(--form-select-bg-img);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}.selectWrapper.svelte-10h51w5.svelte-10h51w5{display:flex;flex-direction:row;align-items:center;gap:5px}.selectWrapper.svelte-10h51w5>select.svelte-10h51w5{flex:auto 1 1}.selectWrapper.svelte-10h51w5>div.svelte-10h51w5{flex:0 0 20px;cursor:pointer}.selectWrapper.svelte-10h51w5 button.svelte-10h51w5,.textInputWrapper.svelte-10h51w5 button.svelte-10h51w5{background:transparent;border:none;padding:2px;font-size:24px}.textInputWrapper.svelte-10h51w5.svelte-10h51w5{position:relative;max-width:600px;margin:0 auto 10px}.textInputWrapper.svelte-10h51w5 button.svelte-10h51w5{position:absolute;right:7px;top:-1px}.sources.svelte-10h51w5.svelte-10h51w5{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:5px;max-width:1330px;margin:0 auto}.filters.svelte-10h51w5.svelte-10h51w5{gap:10px;margin:5px 0}main.svelte-10h51w5.svelte-10h51w5{flex:auto 1 1;overflow:scroll;width:100%;display:flex;flex-direction:column;margin:auto}.summary.svelte-10h51w5.svelte-10h51w5{z-index:20;padding:0 10px 10px;flex:auto 0 0;position:relative}.results.svelte-10h51w5 h3.svelte-10h51w5{margin:10px}div.svelte-1ivuwa5{margin:15px}.app.svelte-1mc4mod{margin:0;padding:0;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column} +:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{box-sizing:border-box}*,:after,:before{background-repeat:no-repeat;box-sizing:inherit}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#545cf2}body{--bg-opacity: .5}body{margin:0;width:100%;height:100%;background:#fff;color:#333;position:absolute;top:0;right:0;bottom:0;left:0;--background-color: white;--border-color: lightgrey;--light-background: #eee;--selected-background: #eee}@media (prefers-color-scheme: dark){body{--bg-opacity: 0;background:#000;color:#bbb;--background-color: #222;--light-background: #222;--border-color: #333;--selected-background: #444}}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;font-weight:300}h1{font-size:3.2em;line-height:1.1}.card{padding:2em}main{position:relative;z-index:10}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.sortButtons button:first-child{border-top-left-radius:5px;border-bottom-left-radius:5px}.sortButtons button:last-child{border-top-right-radius:5px;border-bottom-right-radius:5px}button.svelte-17vd65t{background-color:var(--light-background);border:solid var(--border-color) 1px;border-radius:5px;text-wrap:none;white-space:nowrap;position:relative;padding:9px 10px 11px;outline:none;margin:0;height:35px}button.svelte-17vd65t:focus-visible{outline:4px solid gold}span.svelte-17vd65t{color:#d3d3d3;display:inline-block;position:absolute;right:5px;top:50%;margin-top:-10px}.strong.svelte-17vd65t{font-weight:700;color:#000}.acc.svelte-17vd65t{transform:rotate(180deg);margin-top:-5px}.virtual-list-wrapper.svelte-dwpad5{overflow:auto;will-change:transform;-webkit-overflow-scrolling:touch}.virtual-list-inner.svelte-dwpad5{position:relative;display:flex;width:100%}.canvasWrapper.svelte-lwhhyg{position:relative}canvas.svelte-lwhhyg{box-shadow:5px 4px 10px -5px #737373}@keyframes svelte-lwhhyg-spinner{to{transform:rotate(360deg)}}.spinner.svelte-lwhhyg:after{content:"";box-sizing:border-box;position:absolute;top:50%;left:50%;width:40px;height:40px;margin-top:-20px;margin-left:-20px;border-radius:50%;border:5px solid rgba(180,180,180,.6);border-top-color:#0009;animation:svelte-lwhhyg-spinner .6s linear infinite}.thumbWrapper.svelte-afrxqy{width:120px;height:120px;cursor:pointer}.zarr-list-item.svelte-afrxqy{padding:10px;display:flex;flex-direction:row;align-items:start;gap:10px;background-color:var(--background-color)}@media (max-width: 800px){.hideOnSmall.svelte-afrxqy{display:none}}.imageListContainer.svelte-1xlep2t{border-top:solid var(--border-color) 1px;width:100%;margin:auto;flex:auto 1 1;overflow:hidden;background-color:var(--background-color)}.row.svelte-1xlep2t{padding:10px}.close.svelte-1g3sjso{position:absolute;right:5px;top:5px;z-index:100;font-size:2rem;padding:2px 9px}.scrollable.svelte-1g3sjso{position:absolute;top:0;right:0;bottom:0;left:0;overflow:auto;height:100%;background:#fff;z-index:0;padding:5px}#mypopover.svelte-1g3sjso{position:fixed;margin-right:5px;margin-bottom:5px;width:50%;height:75%;overflow:auto;box-shadow:5px 4px 10px -5px #737373}@media (max-width: 800px){#mypopover.svelte-1g3sjso{width:100%}}nav.svelte-1q2q39w.svelte-1q2q39w{top:0;left:0;width:100%;display:flex;flex-direction:row;margin:0;padding:5px 15px;background-color:#202428;z-index:20;align-items:center;box-sizing:border-box;flex:auto 0 0;gap:5px}h2.svelte-1q2q39w.svelte-1q2q39w{color:#fff;font-weight:300;margin:5px 15px}a.svelte-1q2q39w.svelte-1q2q39w{color:#fff;text-decoration:none;display:block}.logolink.svelte-1q2q39w.svelte-1q2q39w,img.svelte-1q2q39w.svelte-1q2q39w{height:30px}.github.svelte-1q2q39w img.svelte-1q2q39w,.github.svelte-1q2q39w.svelte-1q2q39w{height:20px}.github.svelte-1q2q39w.svelte-1q2q39w{margin:0 10px}.source.svelte-1iuq3t7.svelte-1iuq3t7:has(input.source:checked){border:solid #ccc 1px;background-color:var(--selected-background)}.source.svelte-1iuq3t7.svelte-1iuq3t7{border:solid var(--border-color) 1px;float:left;position:relative;padding:3px;border-radius:5px;cursor:pointer}.source.svelte-1iuq3t7 label.svelte-1iuq3t7{display:flex;flex-direction:row;position:relative;padding:5px;cursor:pointer;gap:5px;line-height:normal}.sourceLogo.svelte-1iuq3t7.svelte-1iuq3t7{height:32px;margin:2px;background-color:#fff;padding:2px;border-radius:4px}input[type=radio].svelte-1iuq3t7.svelte-1iuq3t7{visibility:hidden;width:0;margin:0}.source.svelte-1iuq3t7 .clear.svelte-1iuq3t7{display:none;position:absolute;top:0;right:0;bottom:0;left:0;background-color:transparent;opacity:.5}.source.svelte-1iuq3t7:has(input.source:checked) .clear.svelte-1iuq3t7{display:block;text-align:right}.tooltip.svelte-1iuq3t7.svelte-1iuq3t7{display:none;top:100%;position:absolute;background-color:#f9f9f9;border:1px solid #ccc;border-radius:5px;padding:5px;z-index:1}.source.svelte-1iuq3t7:hover .tooltip.svelte-1iuq3t7{display:block}.sidebarContainer.svelte-10h51w5.svelte-10h51w5{display:flex;flex-direction:row}.sidebar.svelte-10h51w5.svelte-10h51w5{flex:250px 0 0;padding:10px}.results.svelte-10h51w5.svelte-10h51w5{flex:auto 1 1;position:relative}input[name=textFilter].svelte-10h51w5.svelte-10h51w5{width:100%;flex:auto 1 1;border:solid var(--border-color) 1px;border-radius:16px;padding:8px 8px 6px 12px;font-size:1rem;background-color:var(--light-background);position:relative;display:block}input[name=textFilter].svelte-10h51w5.svelte-10h51w5:before{content:"Where is this going?";width:200px;height:200px;position:absolute;right:0;top:0;bottom:0;display:block}@media (max-width: 800px){.sidebarContainer.svelte-10h51w5.svelte-10h51w5{flex-direction:column}}select.svelte-10h51w5.svelte-10h51w5{display:block;width:100%;padding:.3rem 2.25rem .3rem .75rem;font-size:1rem;line-height:1.5;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--light-background);border:1px solid var(--border-color);border-radius:.375rem;margin:3px 0;float:left;background-image:var(--form-select-bg-img);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px}.selectWrapper.svelte-10h51w5.svelte-10h51w5{display:flex;flex-direction:row;align-items:center;gap:5px}.selectWrapper.svelte-10h51w5>select.svelte-10h51w5{flex:auto 1 1}.selectWrapper.svelte-10h51w5>div.svelte-10h51w5{flex:0 0 20px;cursor:pointer}.selectWrapper.svelte-10h51w5 button.svelte-10h51w5,.textInputWrapper.svelte-10h51w5 button.svelte-10h51w5{background:transparent;border:none;padding:2px;font-size:24px}.textInputWrapper.svelte-10h51w5.svelte-10h51w5{position:relative;max-width:600px;margin:0 auto 10px}.textInputWrapper.svelte-10h51w5 button.svelte-10h51w5{position:absolute;right:7px;top:-1px}.sources.svelte-10h51w5.svelte-10h51w5{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:5px;max-width:1330px;margin:0 auto}.filters.svelte-10h51w5.svelte-10h51w5{gap:10px;margin:5px 0}main.svelte-10h51w5.svelte-10h51w5{flex:auto 1 1;overflow:scroll;width:100%;display:flex;flex-direction:column;margin:auto}.summary.svelte-10h51w5.svelte-10h51w5{z-index:20;padding:0 10px 10px;flex:auto 0 0;position:relative}.results.svelte-10h51w5 h3.svelte-10h51w5{margin:10px}div.svelte-zlrnwt{margin:20px}.app.svelte-1mc4mod{margin:0;padding:0;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column} diff --git a/czi-logo-chan-zuckerberg-initiative-logo.png b/czi-logo-chan-zuckerberg-initiative-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..30cb88a1080718a071b24c230be4d4d71d087e92 GIT binary patch literal 42715 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 z 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�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�Od9=m z7~Q;e(CXvN2Ixxz)LjHPr-)6caB7YcTMT_I$ag&Bc(Nk`c3_al{-kSjb2idGzswUR z)j(ujCtL>|G-fF8xZ9yOjB}|yx;{Mhk=dqBR}1WnA5Lmu+L+v|C$-SAIg3tQxc5uvN7hMm!h^Oqbk#Q z-}>KNi;2eX@ICVV<$?(+s_RE7C-o@YKF3}tNcHX(lPi_hG!p+IYbMhJ&4vyf*9V%? zBI_O_pr&vxX?P?H$AA0hPz4T@8t2^=k;LL`YVJkZ5(nbqlcxD@|vKlXbgs8M*_ z{^99K_xws`(%t*zwDE>{;q8?eEw|VIn^EClysIS*Z4HloQ8{`T2}t!XZo?4LPMr(= zHu47bztFO%%ie+deDgM^>zG+nT$sij1_Wo$#&}_m_{HX+@;~mo>>|dOq4hHp#s0Y2 zmF=ttxn+?nk4&`>+Fl5itqmI=isQ2dnMB1{U5zw>TY$j<1#9 z{6Eref6X&{7W^et4Nk&rpRmS2Ar*@D?LRfJkx#Q<)}d5R-KZvPfd4+M$3IOfZ*H=1Ax|D>)BQzxJKg}4!Tj?6wVV9L=yX7S7g84LpSt`0#~hJ}6sW0;ms*8#oJ6WRZ> z!T&E0w~IBoASmFYLiXPMV+r}yJ3yB?;pTRU{7zkHM6C*tQqw_?zOs7vg@wkW^^z zZ%2iJ%bNF|hdzRFATOtczWE{hZ#^5FhY3Ozcmk$Eq_}uW+X1WD_#$D0-fF&jzItdB z`t?0a{K&NDepcD3Sk%zKH= z`lHO|hs~*}N}jG$Jz!Jnf{ArMp`2{GZ^o;`X=K0^8J}~BoY@5wa9{CD%wQ_PAi*`( z3rC&K=kKeIvBt|vA=WK|9>Dh=5X#jE)OC1=-bpJE=k_=#GKD>9-F~PPVD3OKyxO?1 zMRiZ_pJG3A_VM+j<@>S!`|XK9L}5wK=12LGJAch4Jp#M9U)+u;d>Diqq~FE8xFyCg z!O>|w@|)w|06?{HY^bF$UhWmP^@+sYgYrw zb`{D*XsVqj?y|3r(PY#I6)>fb=*#tIZMAH>dd8Id={sO{?9XqTbY=q=A(9>5IE)La z7wSZ4j@B3KzP+CtR}XSt$DTH^u0?%aefm-GyO*@J(tf{yOzgza94T;3MrxjGv-ek$ zFQy!YFjIqr5gU2_^wGpKqPH2NE=+y9NuDvjPj!h?_z)qJS3lBDLk4$F-3`B49LG{S zt+Wd;zTJMquN2#L`?f!=YqcmA-CpCoP_|$_p6+#&N-cI_Y(M@ciBbe>+GNU3;S)przFd*i@l!mJXvReeU~l$MaMEt)z-BKlAY z-d%EP{k>l9ik0Usr^yA6+RC3hZIf@}!}5lAe9`7@@V0vcWWha8tGAX$PUYufZR<{6 zgTIqMj_z_|A%SA3xa}Q$h3S)Q71)i*T3Ah$(yNe=l^=n3-<9LK946QTxDNKjgMMyc zqi<9$>#8|&Rs~eUjfak2US8(JK`LG-u=nLRZt6pq8GJ+c&+`Pl zTBMgTZc?JXeD6)T(C5`We^DG;t@rs0QslH02_Vn<>7Os+^l(T|TpDigHLFe)X*F4m z-Ii}(Bwn{zRBSjH8zZKCZ|1u0Ml1WpKi{;!k_?%6i~0iZxU=Vq$?4?SY|lw_ZuUQL zW;c0tAAIosqg7$|SCcg+CI8v(Hne9D+ThA999s%)K~9U*28HAH)|gK>vqjd8QDF`F zMr%YeTm{J1jX6VnwDWzQo1RV;N?~S)6;*C8&6%r8BAyi3MpQXBNi8J6I zCjUBEODne5b4#DGwa%a#q+wpYqLc3I@8jl<8Y6vk@k7TqVf9umBH-@Rn0Kr=_1qMC zIhlfUrsMSFQbKw|YJK0ZYFV3#DN-M1q0j~pQSm%v~|>E!YKPs_JCbp2uWLqv?TS|IVU zv~PpQ;v;B9oIN&BB(7fN3V4A_z zfA1CX@T2*@_BOu&;(5^kSQ1#PRq<%H3EOH0)yW`WAxwo{Xi^D@tH_wF(r($=4%fHE zl2Pt5u%$UN5S%^Uirxl9d~hr_S5X8W66iUrcXEqeLk=cIg>)Q&J;6ZsaHJ_T*2vGT*Cj|F$UaJ1N1&5A6S2_x0G38h99Qu8$8}J}04C zw)-!Qm?yz$c6`q-E;@Nev5i0%sPA9}3wR;-^a2=ZHe-SEFL{`AY)8w7AQeFr2CXgM z?tEgsUsGODc-GDmo9gvUCVBjP?G4vZuL zd2Ez%b5uQ#o; zoz07g4-9NNB;I3{kXInd#d9o0ecf>oyp|>WVq2F<1bM5obrnp$X11eEXEDyFZWc0l zLA~;-5kkZFjLPN10N=d|j?twy^DMZ!DOtSJTZqDe;7ooYl(etCvY4f{^?KFVl2$ig zG(OQ@oW}Es_Y8JxeYChiGYfD(`m}!{%DJ(I2i>`SX(#2=1|c+AR+t_7_6wI!rHNDK zfQdwm(z%dg`^*>AgEo!I+QxJlet%=-7XN0LtTH96RJ-2I_>S&vF@6cCI)1b-|50w$ zr-JEHnRx}AcG1<>k}S@JZDhYOWd+|ddhzsUn}!i#{p%>M9s-zT_q7=p`gTisjHU1T zL;STf>9Nbs&MB(u6LfZm9+lz#xw$HBQ-V*T>Iz8)F@>JP%Rt}>;0976dC zq0X@p66st|+8oIPsw7e&ASh|vefxquKLBR3s-i{3y2{5xneBLFenDkq#2h)Fp+M`% zdONOC7u|IFNfinu_u{bI?h?dt)}h`tv789a?p)-Ub;u~#`5|k_o!-JeR#+seYEfK3 zxG`*|>Bn_a{qIBa>|njWlI>u$r*kCL zbcQVf&kw!8`Ihcj_s2aihQ6N$Ku++TKcf zBzqYV)F)2~dv=y{m|(Q|2Uo@Oh&-mmacT~w*WV&IvtRE_WhM09>qy`*Aztq|wi5dI zoSJLy=#H(mNo-{QfWT z?Rtd|5fAdFv}5b%f+jku8FXc4czlSsb_wCR-1bqkW(L{TdsSa8Ej|LOEPQgXO8v&Pd&Pu5A6!c^zS% zO6&w@cDdeIROj4PtVg5UYRN?gj_ELKI?ulL0#1S(<$=R;QnjTF#jf@@=4I+gV9zO7 zfln`ev0G|~IIsk#=X7u$)S3}^mt3`dO1|!8*dLk#V$<@KqWneK&9@q#MOQ~j z@u7>TuVWsVMP0`_RhJ)8rdfBY1}Xdg z;iUzu4P87U@CIIj_-`lNa?_z0;0CJg!NZi9#arogfu3)=oFjIw!d}m15SoazLb*F~ zXsf8{j|`mZmmr`cJ&1t=U`HBQ9i!f@9wrm913GmQ;`ahQ@qZLge%v+UFBOY>R& zc6Nhhl`aiO@(R7=6MjbMH81IkaLn{S8d=P%lTYY zHD3S#KAp7xynSW4+9u@ z=A>|RU#&GebV;9Tt=!JIpg|siWR1q+Z0a)QAw1d6*`)zxr3R%bJB#|_=3U7YyC!Sg z6K9h-YXtQfs{$PVTOyv3XPsm}0^c;=tr!KFo%n`uq&1n?Sp3gUqG||I9piit49f7< z$z^Zoh_rY#V7vI31cC+Rump|;dGnEn(ZpqGv;QE3yZj;%#MwO7FMhWlVzgJ|{f%jg zd`rTw@p5&#To>m_n|>YdpL3NMXlF5ilXS$d3W-7nN|q-1U{GMIXe76IjR)4z++PuQ z|ExlQ^{d-1vO9YjRM#mR-u5kXVuK?3g3Kd?Aqm{0IlIRYdiANzPbEn*q>-I5(9fU2 z;(s?GaxqkboMpcaN!<)!>4y^iS9vD=l1KyWzVn{~PZq_>0wy0m9B&9#UskR(O9go_ zns)$U=h0o;40w3FOAeIq{4;M8^6c90^2Y676ePQACzQnN|BJOJC|ls52u z(iT1k2`tPHjK8`6$Ut~D1UQDK41VBj0lC1YK{{?-9beN!b~}H?yk3<|ZMm>?0*s;;7PSYFZv*o4Q6uX%Y z`_wOq1wQ8+^V+(Jdj%)>92I++K7bnMyO+OJE;aEAuEa?O92Vs+J=IYp185k@v-O4s zINFJv&!j1SlkmY-sRP8mO^=%}n2$B@D}UL~leUJ>71u|%1tOXnPTsUxFb?miV6saD z?S#Eo=%63JWqOwK&%vp)4J25vfLTa|hE$EY(%j0~C_P7iZnocR)H5;!nC8Uz-+TQ7 z_)cGgAIoL+xgvy~{B};W!@M>6R>bjhJC0o73JEM1-9KZGun)0`n3vaB=v5F|uxq_G zmigMNP##GZ2Mv}nU6Iz&`}C_Rcusc6l*wrrwM?G(W<}pIpcgD-JtDn0>oGa#|0$MP zIb_-u`PZnhV)B8llv8nkqTSa(meV6eR70KX7aBCl{@eYtGW*Qpn33#SG4ob$>fP@V zbetjg-~mGiA(9}=Gy^Mm<`mdDh%Cu7IKu1RlyFVnUSJco2@gZ7oZmeR6c+R(n`F16Dfb4_rQyW6KZ2aVY z$gWFXGI9>^u*De!AjntLvCGE##BWu+;dA6$G|#AAW8_INMBX^|_9cW9;;)U~I!$pV zz%(^7VuN+!ac%|6i=AB@mYxCAKL;ES?_8|RM&9nSahc^)vHbGlCKRz60iKO3zMlQZqWqDF4AK6h*(&JN|v6va|MCgHE>?TR5hSf62`?6N7j-$XKGl73eZSf6CSw$ggDNLg9)|Txj-T*iKJRX`b&LQ_NKPo; z;|U|43P&L0b~?p4!d2ug?;OPk z#&4`JU_Iv1_C~yjQCs*&|Gy2y=YP_9hnqxrw=_~>s$O>sI#cW(BkO54_IWw*ya&;u z{qxGfM`+7fQafW@Y^n@T{h{DdzMVr3h-pNW*?|y174j=o}JXHx}2)^lJv$&eX?GLVSjR&>LCp# zZ45Nkzs4QW*&meMdLL*#+`QEiB-GPL+?BDrhzEn-wN&k{4dcvEf1a2x67rVS0(i;O zGooHgL&uA~V9BJS_AV`)*vYM9ZR|PC)yZ1)e6xj;&;D%SDAg*MgXR3<=w;vO!Z%ni zeGI~w4>9TtpHtD(F#}C19$kx2X3v!L3%AxBohqoya*u68GnHu zZ_anuK!Be(haLa($sUftAt7#+&G5r;_n;`-mCJ@lP`UYzV(#Q{veUeOSKU(gNYF4s2p@1Q_+|aWqx(Z%5*|MR$WBGybLy|PFgB5ptR{+iID9&CA{VO5M+Nz+ zE}-oBjq|jkBwwvd7`acCwDmWxsLI6Tw6QyORuP?YslL7JdC*_tr4(|}_y1bD?m(#D zKd!GjDoT-Lw3G;O&XMD|WMoA4$QCD@dB~>h)v(v$kd?daY-N?br8B;fbLPd7&isAu zzQ4ck{k)&&p7CC<*XMcI8~md1Mu0h4{1p&nM9rSlw3?esUS*2>f{>03#Xy#(MLR{Z zug#mi{z^&Ht$4s~-gRg^6{27NCACYVJS_B_wh-RO=h*88W_=Jngqk5I|I@m7CN=VJ zbLI}l(IGdo07pw(3!FIjf+>pl0?(L>f`gtPj8z0QgvEJRd4&3-gW5foew$-OUO$+W zLnJh2!BV&XbtekBcQLjh?hp`6*(3bpzaq?gnvXO&Kn*f1)w4kA^0~Bk%o(^_C8((D zJR{$5qZ9gyPyK$d;{$mG-x+dW@6zs@R)5J3FAS&2lvQrtTcO49+Wyv28RgSswlD~{ zYO|QP{W%WC!zVCLo2RMwXijPy{_nGMS~?tC_T$;@kp4reBeX8ma8yFU=&SZKp*j+f z!U#wJTcB$3zHm<#GW=lra;b|dJTQmVnuxii%=x!+inV&fj&rpBgR^=gP?q265#g~> z3wFOrZ39B&>8c@7(Zr5N0Xi^b87UVVwp{1_tA5;!1e8S7SC5XdPFXxVBF~1U%w|tS zPY7dB1LM0;%W|UBP^igFprS^-XSlHB8$GKg@DQtW?oz+3?Ngbq@f!n_7aacO58oS( zz>K2qzR?>6%z)(jk&|L|%{9`Vu;(wg>O^&pWhOv7R)H|8*aZjci{l9}m68g1!Y@Z)*iCNo_#uIX9B5 zO3(Zsw!z|$*1v*SBoWke+Z7`^l;scDj+1Ov@wW5Ds{qQDK7ZJP-^1-Be>KXB8~B=d zSw5Znk8|QV5Xi6H)A>?bhrtbG9{G%YxuJC~&nN;3Kr?q+6%>@3pGpfKIG!}+voUBV zUDv`5g@z_XT<7+wXK*PS%kl<7nHzCyxz*{9^df9>^JMJv2Jgn7w(Ou;8?5Tp7yL}i3^{U9O43T=l)ZWnDX`<;Vjxz zr+HC!;_xAaa3s0{lb59Y=8H}6)rjdOo|^j>a7&jlyWeF+mUw%tQE8>*#-v;vo*m?u zrL_{r#`iaxnK4_J5f1FdFmaKcv37H6z_<_>c<3{*E%1@d0)G|1k_bgA>5eQwB;EOL zZLGYI|FFCoWTePi_*D;@%z}=D8YCRPC}mBytyVD+C`_{WAg|_f6+HsXW-k{6coItS zUVbM+x-xWQdEY*4=lZ$iKl4Cc;z7Q9uY0P>Z?hO3QG7Sz;iv>qm@FLi7Rxr$UqYBD zB)|+3=Vgg^^f2VV4_ey;v{8HCTSLhU^<8BoKDAC8<}e?czMRryLF48>{&SFV>XmYEZbPW^@>B8!irzH zOd*hHWG4;w&0XASdx^{>kEEkk%wImsG@{|H3HS>jm`DcMAYnI~Ipw!auAY6ahD=N2 zzLG*u%MzDfo^y!8tWbGp}&Uu(i5^|dpD0gIy5gHSD_aoE^jY*4^*Z?M= z|K;H+*gr9Ou;<}vQDRE+f|A^!`#&U$B)9k$oFB_xT5fx38))3KXtH8{vs$ahR{i^|)JhAf#W1rbuM-rB!btgZ%fjhNm3O%h@71MT`$>-}rkljhR{J@;g%C zfz3BC$Ht~*Lb!QjS`I9b6F#uEBr`FCcGQXAsYGVxbR$|H;A84xH=RDnz8&-I;q zrzLQ~G@LvjP<$v^S3&|FILGP^1iFk|4y<1 z`{v!hv|>K93qSw2c6=a}iP2n?;t_thc(eidyq3_EoI0h!u;T7IZvgc5Hw(9tp}u3= z_01ehZx$aK&mXM83Leydf!|r8G)_zb&rfVu{IGW_ET)(<#zk-Nh&FV+ewkH(_P79Q z2s+VmRZuIZ)+osi+xxljgLeMFxOtgex2fE_Z_b@YOpJUFdNBpW2MJ`rpiR;Z8n?)t zxt@243+@d*-2F}Eoce%|Nz^{?yV@Ohz^2-@M9atuJ$2bO`Sk(4CpONa3FnO2VP(wCV z$Q>AmqX;=M+37x8HJ=fxQfJ{nDc!Qs>hnCG(|9c>kwQ+T$aBqGO*S~LvWjtAP*bhNw9_Nn6I({tJd8)G{d+&-vH%ua&+7C^h zHfWfJZAq=CX$dt*d*QSO$3IyZo%rqb8PV+^POs9UjxN zpdlco6gc#ClZ&*nY>HOTteq3r*ehf~c3A+)Q;1c7MyiKwSG3ZaGE{s>VGQ02>~BIq zD(^9_dj0e+YW34sLY2ytPv1W~;4%xX#(pdNNiYf~& zdb@+Rx!|EEy(XlAzCSiD_pB$*bl#mjIHciGsxI7BQ;(rsMm<=d90=5LQj2>Pk=5|- zzkEC8@^6W;wVO5f4NVXQpuKVRo2QsSd)1X7n9-*qPLL@cX^s0`_$FeNdIp*6lRDQd z)Ug>X9}FaY9jILBpj%pCu8rYtiE`js-0~f3-Luj4Q~VtwYbG~RT?g^1`y>087z1^R zr6y*M!%x@FypAv~Z8F1-GP(grBc^d(;>#z!5_7^z22RhQ0OS=8xDDt%zF%E3zKb6qe$OHt08TY}Pj(M}rfNKTVS_)u{93YxFDz%*{QbDims% zD@RUN9=vjDc)`DjxAV?Fw-(0B;1`*+Q@AjOZ}hS^N==xoh)3Zei=TBjq~#b7{lT8G z=$xZ4f{V|w5xVt-8y>IVjdRQ4-S71zW;NPP?;4*WzK6`i1M6PY%NZ#mS1KVkC?>nPc2xuSG?W*LC6;& zJK~h}oKb(XR!aPm7~58jiPakd0!z~97#&TRrKfbajt`Tp1nRV9OVfl;`L#zp1gV65 zF;u%-|9-J8blg#hGV1mFC7ubOXCV?Va=leu=FR8&6Fs|*Eb6*gZa~@COYqft>8Us; zbDy8mV!UBqXBD@>X!($@>}N=ntp&TP_9M%dX^ zAV5CdM7|t@gF+G(S7Y8YQBaiBF?`0#gTZgSeU}+&P1X6fu&AKSF+;(X+j!;fwfNpg zcahAWO-%`_&HA52R8lItzDtl?qXG+W4bpRlF(d!=)E^v}D5`FM1S zPRHJ>jhfes@bb4TnF1q1+f!lGbRGlwR9y-qc1ah*>e+yUR-(LdKdfsnZvoG-{ zX*!w`0FGZNS4bpDGXD|3P9t&q{%Sekb|S4#b;kI;U*9rY7%QCWlX9PR8U~-o#!qNE z6*L8Z*ono{#~&B{-eFi@6phgdYj~um-3j{(0dj#=2P{+If5y{%0X}@3 z(X*1+y-POBB`X7ei6+mLVmEG6qBqLkmU$%H)q!a1* z&U;&EBV(4T7sWC=O=CsRq4;j#m;z-XU>*;2hbw|^3oM(|r{qca z4njd8MUbTyTMMj)A9VbwIjEACl9*wcvByqfcI3}jCrt-3T)zTf zJRY=PpJ~xzd!*KzAuUf+sUN?=!~v#)#$C+~5@;y2dj}AD63?wr z&?7oE%jJ?@dXV+UtbG*aKDlnbj{~3RYs|w#)4Sq|?fgxWH;i}IK=K&~4OaEz?6g*E z<7ZtWvL*t@zk?~fWfM`j4msLJLsV*_X~zw9ScEpTEEr9=$-Ir8wNhQhuud5QEF4xD zm9pujez{fSnjX&&IaV0jh_0u1mO0LiI3&Msr&wK zki3+>DwIX2F9?tidBzh4!0G2xJb?z-q5K9hzudz&bp_2Rjv{S>Mju6b5fkwO2Ob0- z52fpe3N$naYCz$AO8HTeYmF1<cajaOH+EdHFcTAh~5EUrE z>hePi?45$`2;PL>RM~c7tdj6Az_R{&DkTKe!nS!A{5{rtUj$XGE@ExXGg9_w-7x(2 zW6XmLx24Rg*!TvaxWJV?V7r=_DX z#4BUQwKBQ>^H3<4t1)fp4v!*WA4+W8f)p~AF0+TspB7jI;EN6`b0T4amr5!AnNB>S z;WlMs;^%2~=J2~@Rsw}GdZXezl0O0wnqoP3lY z!%2{|6C8~lBvYT>oL0^S|4=S`)4}m(VY=g_1dT2S@Tg7S9n>w^C$KF9W(~MFTHU2K z3o8e+9YVglYNSsX?K+yBipRGRXjF5CjF-T+b-|#H>Nc!9*>X+AcCTg^N=15IaT8B$ zYKg%vVv~~$D)oPmU3d(+DWP=dqu&YGsBfO}dWE)fVKNB7o|AqOh+~&qHEBd6hA~VWa+kY6`Dhq%ROs<;r-~A*XB?2dHRIn%QRM?Q8>58nqmR|Vgd%9;d zMq(+VnMp72%Mf#-hT_>qa#1Z#K{fz*ad!3%tvQ43zg}8|B9d{c`V#dL%Spw@B~az= zCgo>aDs%;c?L&R-KHGfxvQZInd5B`)?HF=eD$7**VN^9Mtv%bjx4=P}G;12k3u4m? zeWK@J^88dl&%dC^Yq zLMiTj1NYk3YPIft(C}RrX2p{6W{j z1g-NB?uuKoUQVpATiKh9lCC0MC-cI3p_n&P1mz?YT>u6KDr|7VCu0~%SX_wtwyu+M ztEjiVL<8%qI!>Adg70kt^-m##Z7ubD-xRCNoX!x-w~&ghd@hqSwf`bfp!+ zs^0;syO_5oAzPY0*@&3o!h(@+3T33UK^t$j82yJBl*La%`a@OVMEeqGIv6AwxW9h& ziMxVvI#PihmWj(V8x%rqvW_?EyDp;(nOwPOLLs1MFNoH%m-#4VHVhlATcb7+Y#C{o zZ8HiQJVc(4|A!_t#G>*8DzFa_k$yfG#{)Hz^1A`9OcH|H?@fwGkHA43#g6!@7{QH=` z{tWm$p%-%9_jTgh*Re+6C&g+twMi*G6`bb>C3mlVt8@NB_)o4&=@maUA^q%@s%`O; z(MNjCm&_N;@KvZY`&o2>>m2+5CJ?dK7lg4D`OUkUr~Bh73#X%5^Yt#ODmOdAmhm^u zIRJk?nrAtnSKw8`W)PSQ8GW_OAx|aK{SP1Io$fPK9E2{TWK#f1??;=IEoH=Zpyk@G zK2P!x)mvDbB39p?DtS8k<-acd__JN7Ix>Om5BcxJ8D$wt~@!7eSTs zh-WfZ$0Wx3;pt&vjO|SMg~dp7+pS0b`zh6ibiqd_HLB840h3wxx)uY5^$G(T((dc~ zv&OpoHlu_A@D%)cI$iFKv813L5ISGn0o4}-YVwtSmRK)B2Un4~AQ8x`wGhz@bTQpm zAl|3)@TxM`r`^7_zUgV1NO3$_I^1n-C23|rz#^-oB)OP8W6l)MEKhCf4k(-?hV#N`(_-)l03I^U=JKhF}WjNYsM z=_vYwgb=}_>3#OEAQEKZ24Ybsm${IiR`tdFC@E%UZ|!05Spd(F0ltxmPodjfhR6LB zRlXgf4g?i2_^!7J5JT zZ71f-1cFmp@A3(n;CiWn-Eu{wv?>~I{<^wa6APt}n<4BOjcrAKHfxS9ALKM&P%UJ5 zRx1;-?94pcq{Q#wpRmI^2Th=Vio`$l?dg-%|2Al;QtGB-$0EQRw83g`ngKVKe8Jpd zHgRO3s1JgVZbwiZ%}XtTuWlrBd7<>kiQ&2yWM)J{jS;xNOTl`bv-0-SHOfu{m2JIO|MjwBR}44>TJ2nGSIZyxfMpmuu;aWS0Cp3Lny|8W zl4x&I-%cXcwb*8fc2PZP{<;6eK#)ECuZ0wFuV~s=(Hx!4{5c@A$}hYxrie zO&q%qrW|^10T%&7yI$n`wQ#ic*96@Q#w-GEex|*NMm%CY2)F+4{5iOxr|KqUP&oiB z^MPavfp;5U2W{?SGnHSTtomTVUNCHW>6hh1Xjl=A-A_(a5J`@73JL%`5lpgbeeQef zf9HhZ_C&w_YKyso>`u7_l8}V8h2_hXly}z9D zujlLZmFJK&o2Gl!JhZ#_YIkltzEil|Ud@|k@_*A1Gi>tx#AHCE3d1$D=tE7Uzm@#b z*PIy}&B4*E@fOsP?$N#!csh7ItNZiXhJ=pJFW21EmnIwW&y~d=9_-EW^hYH8dZQIrv6-0ron+ z+h959*T@HITrD3R#S#0aHDmg! ome2024-ngff-challenge - - + + diff --git a/nfdi_rgb_Wortmarke_Zusatz_quer.png b/nfdi_rgb_Wortmarke_Zusatz_quer.png new file mode 100644 index 0000000000000000000000000000000000000000..1869a425e7f0a81979c7e1171d9231315005a96c GIT binary patch literal 26854 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