jbrowse-plugin-graphgenomeviewer 7.1.0 → 7.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/README.md +17 -8
  2. package/dist/chunks/{GbzBaseSyntenyAdapter-TIXR4Y3J.js → GbzBaseSyntenyAdapter-A56NDFW7.js} +2 -2
  3. package/dist/chunks/{GbzBaseSyntenyAdapter-TIXR4Y3J.js.map → GbzBaseSyntenyAdapter-A56NDFW7.js.map} +1 -1
  4. package/dist/chunks/{GraphGenomeView-Z2WZKEEO.js → GraphGenomeView-BG7UHKCT.js} +2 -2
  5. package/dist/chunks/{GraphTrackSettingsDialog-TAM6PMXD.js → GraphTrackSettingsDialog-YOJF7KCT.js} +2 -2
  6. package/dist/chunks/{HighlightColorDialog-EYBKFSJU.js → HighlightColorDialog-YT55H62Y.js} +2 -2
  7. package/dist/chunks/{LinearGraphDisplay-WIBVWRQE.js → LinearGraphDisplay-SPILNH4J.js} +2 -2
  8. package/dist/chunks/{MinigraphBubbleAdapter-AGI2UYQR.js → MinigraphBubbleAdapter-2XGZPDI4.js} +2 -2
  9. package/dist/chunks/{RgfaTabixAdapter-2OL5X3HF.js → RgfaTabixAdapter-ZTFVNM4G.js} +2 -2
  10. package/dist/chunks/{WalkTabixSyntenyAdapter-UKFHCFOF.js → WalkTabixSyntenyAdapter-I6E6HAN4.js} +2 -2
  11. package/dist/chunks/{chunk-WX26KTZM.js → chunk-2QQDYK5V.js} +2 -2
  12. package/dist/chunks/{chunk-AMFIBQVR.js → chunk-4IJKHORO.js} +2 -2
  13. package/dist/chunks/{chunk-AMFIBQVR.js.map → chunk-4IJKHORO.js.map} +3 -3
  14. package/dist/chunks/chunk-6CAAGNOP.js +4 -0
  15. package/dist/chunks/{chunk-IJQTSJGT.js.map → chunk-6CAAGNOP.js.map} +3 -3
  16. package/dist/chunks/{chunk-AU73K7LX.js → chunk-77GS3NVS.js} +1 -1
  17. package/dist/chunks/{chunk-AU73K7LX.js.map → chunk-77GS3NVS.js.map} +1 -1
  18. package/dist/chunks/{chunk-XT766CZ5.js → chunk-ABNOMXT3.js} +1 -1
  19. package/dist/chunks/{chunk-XT766CZ5.js.map → chunk-ABNOMXT3.js.map} +1 -1
  20. package/dist/chunks/{chunk-MHPJB22Z.js → chunk-CPCTMFXV.js} +2 -2
  21. package/dist/chunks/{chunk-MHPJB22Z.js.map → chunk-CPCTMFXV.js.map} +1 -1
  22. package/dist/chunks/{chunk-YJHYBDYF.js → chunk-FAVU7473.js} +2 -2
  23. package/dist/chunks/{chunk-YJHYBDYF.js.map → chunk-FAVU7473.js.map} +1 -1
  24. package/dist/chunks/{chunk-BJMRBVG3.js → chunk-FBGWMI6M.js} +2 -2
  25. package/dist/chunks/{chunk-BJMRBVG3.js.map → chunk-FBGWMI6M.js.map} +1 -1
  26. package/dist/chunks/{chunk-GOFS7BXK.js → chunk-G63ZHV6F.js} +2 -2
  27. package/dist/chunks/{chunk-YSTMDXXX.js → chunk-GUNY323E.js} +1 -1
  28. package/dist/chunks/{chunk-YSTMDXXX.js.map → chunk-GUNY323E.js.map} +1 -1
  29. package/dist/chunks/{chunk-446RWIA3.js → chunk-IIGYYZI5.js} +1 -1
  30. package/dist/chunks/{chunk-446RWIA3.js.map → chunk-IIGYYZI5.js.map} +1 -1
  31. package/dist/chunks/{chunk-3Q4RBDCL.js → chunk-JT3RXYIL.js} +1 -1
  32. package/dist/chunks/{chunk-3Q4RBDCL.js.map → chunk-JT3RXYIL.js.map} +1 -1
  33. package/dist/chunks/{chunk-5SFGHDQA.js → chunk-NKBE5KYL.js} +2 -2
  34. package/dist/chunks/{chunk-5SFGHDQA.js.map → chunk-NKBE5KYL.js.map} +1 -1
  35. package/dist/chunks/{chunk-EWFJBQDV.js → chunk-S3QFRJR3.js} +2 -2
  36. package/dist/chunks/{chunk-EWFJBQDV.js.map → chunk-S3QFRJR3.js.map} +1 -1
  37. package/dist/chunks/{chunk-DZ4OUKQV.js → chunk-SIGBYUXP.js} +2 -2
  38. package/dist/chunks/{chunk-DZ4OUKQV.js.map → chunk-SIGBYUXP.js.map} +1 -1
  39. package/dist/chunks/{chunk-IXQK7JAW.js → chunk-T4HOC6O3.js} +1 -1
  40. package/dist/chunks/{chunk-IXQK7JAW.js.map → chunk-T4HOC6O3.js.map} +1 -1
  41. package/dist/chunks/{chunk-SAMJE6GH.js → chunk-WI7LRX6I.js} +2 -2
  42. package/dist/chunks/{chunk-J6NZIAZF.js → chunk-YAADZ2AI.js} +2 -2
  43. package/dist/chunks/{chunk-J6NZIAZF.js.map → chunk-YAADZ2AI.js.map} +1 -1
  44. package/dist/chunks/{renderSvg-ST2GBBOC.js → renderSvg-B3WCFN65.js} +2 -2
  45. package/dist/jbrowse-plugin-graphgenomeviewer.esm.js +2 -2
  46. package/dist/jbrowse-plugin-graphgenomeviewer.esm.js.map +2 -2
  47. package/package.json +6 -6
  48. package/src/version.ts +1 -1
  49. package/dist/chunks/chunk-IJQTSJGT.js +0 -4
  50. /package/dist/chunks/{GraphGenomeView-Z2WZKEEO.js.map → GraphGenomeView-BG7UHKCT.js.map} +0 -0
  51. /package/dist/chunks/{GraphTrackSettingsDialog-TAM6PMXD.js.map → GraphTrackSettingsDialog-YOJF7KCT.js.map} +0 -0
  52. /package/dist/chunks/{HighlightColorDialog-EYBKFSJU.js.map → HighlightColorDialog-YT55H62Y.js.map} +0 -0
  53. /package/dist/chunks/{LinearGraphDisplay-WIBVWRQE.js.map → LinearGraphDisplay-SPILNH4J.js.map} +0 -0
  54. /package/dist/chunks/{MinigraphBubbleAdapter-AGI2UYQR.js.map → MinigraphBubbleAdapter-2XGZPDI4.js.map} +0 -0
  55. /package/dist/chunks/{RgfaTabixAdapter-2OL5X3HF.js.map → RgfaTabixAdapter-ZTFVNM4G.js.map} +0 -0
  56. /package/dist/chunks/{WalkTabixSyntenyAdapter-UKFHCFOF.js.map → WalkTabixSyntenyAdapter-I6E6HAN4.js.map} +0 -0
  57. /package/dist/chunks/{chunk-WX26KTZM.js.map → chunk-2QQDYK5V.js.map} +0 -0
  58. /package/dist/chunks/{chunk-GOFS7BXK.js.map → chunk-G63ZHV6F.js.map} +0 -0
  59. /package/dist/chunks/{chunk-SAMJE6GH.js.map → chunk-WI7LRX6I.js.map} +0 -0
  60. /package/dist/chunks/{renderSvg-ST2GBBOC.js.map → renderSvg-B3WCFN65.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{b as Ye}from"./chunk-MVVXRZXV.js";import{a as Me,c as _e,d as PA,e as Le,f as jA}from"./chunk-446RWIA3.js";import{a as He,b as Ke}from"./chunk-OGQ6OQDN.js";import{g as Ue}from"./chunk-NDRLCGPC.js";var $=JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"],qe=t=>$!=null&&t in Object($)?$[t]:Object.assign(function(){throw new Error("This JBrowse does not provide '"+t+"' from '@jbrowse/core/data_adapters/BaseAdapter' to plugins: GraphGenomeView was built for a different JBrowse version, so update the plugin or JBrowse")},{jbrowseHostMissing:t});var xg=qe("BaseFeatureDataAdapter");var Te=qe("cachedSetup");var Sg=$&&$.__esModule?$.default:$;var VA=0;var $A=2;var cA=4;var O=0,fA=1,Ze=2;var Xe=-5;function di(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function ze(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var A=e.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(var i in A)di(A,i)&&(t[i]=A[i])}}return t}function FA(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)}var hA={arraySet:function(t,e,A,i,n){if(e.subarray&&t.subarray){t.set(e.subarray(A,A+i),n);return}for(var g=0;g<i;g++)t[n+g]=e[A+g]},flattenChunks:function(t){var e,A,i,n,g,Q;for(i=0,e=0,A=t.length;e<A;e++)i+=t[e].length;for(Q=new Uint8Array(i),n=0,e=0,A=t.length;e<A;e++)g=t[e],Q.set(g,n),n+=g.length;return Q},Buf8:function(t){return new Uint8Array(t)},Buf16:function(t){return new Uint16Array(t)},Buf32:function(t){return new Int32Array(t)}},lA={arraySet:function(t,e,A,i,n){for(var g=0;g<i;g++)t[n+g]=e[A+g]},flattenChunks:function(t){return[].concat.apply([],t)},Buf8:function(t){return new Array(t)},Buf16:function(t){return new Array(t)},Buf32:function(t){return new Array(t)}},rA=()=>{let t=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";return rA=()=>t,t},H=(t,e,A,i,n)=>(H=rA()?hA.arraySet:lA.arraySet,H(t,e,A,i,n)),mA=t=>(mA=rA()?hA.flattenChunks:lA.flattenChunks,mA(t)),q=t=>(q=rA()?hA.Buf8:lA.Buf8,q(t)),W=t=>(W=rA()?hA.Buf16:lA.Buf16,W(t)),AA=t=>(AA=rA()?hA.Buf32:lA.Buf32,AA(t));var Oe=function(){let t=!0;try{String.fromCharCode.apply(null,[0])}catch{t=!1}return Oe=()=>t,t},We=function(){let t=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{t=!1}return We=()=>t,t},Ae=function(t){for(var e=q(256),A=0;A<256;A++)e[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;return e[254]=e[254]=1,Ae=i=>e[i],e[t]};function ee(t){var e,A,i,n,g,Q=t.length,r=0;for(n=0;n<Q;n++)A=t.charCodeAt(n),(A&64512)===55296&&n+1<Q&&(i=t.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),r+=A<128?1:A<2048?2:A<65536?3:4;for(e=new Uint8Array(r),g=0,n=0;g<r;n++)A=t.charCodeAt(n),(A&64512)===55296&&n+1<Q&&(i=t.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),A<128?e[g++]=A:A<2048?(e[g++]=192|A>>>6,e[g++]=128|A&63):A<65536?(e[g++]=224|A>>>12,e[g++]=128|A>>>6&63,e[g++]=128|A&63):(e[g++]=240|A>>>18,e[g++]=128|A>>>12&63,e[g++]=128|A>>>6&63,e[g++]=128|A&63);return e}function ui(t,e){if(e<65534&&(t.subarray&&We()||!t.subarray&&Oe()))return String.fromCharCode.apply(null,FA(t,e));for(var A="",i=0;i<e;i++)A+=String.fromCharCode(t[i]);return A}function Pe(t){for(var e=new Uint8Array(t.length),A=0,i=e.length;A<i;A++)e[A]=t.charCodeAt(A);return e}function je(t,e){var A,i,n,g,Q=e||t.length,r=new Array(Q*2);for(i=0,A=0;A<Q;){if(n=t[A++],n<128){r[i++]=n;continue}if(g=Ae(n),g>4){r[i++]=65533,A+=g-1;continue}for(n&=g===2?31:g===3?15:7;g>1&&A<Q;)n=n<<6|t[A++]&63,g--;if(g>1){r[i++]=65533;continue}n<65536?r[i++]=n:(n-=65536,r[i++]=55296|n>>10&1023,r[i++]=56320|n&1023)}return ui(r,i)}function Ve(t,e){var A;for(e=e||t.length,e>t.length&&(e=t.length),A=e-1;A>=0&&(t[A]&192)===128;)A--;return A<0||A===0?e:A+Ae(t[A])>e?A:e}function te(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function dA(t,e,A,i){for(var n=t&65535|0,g=t>>>16&65535|0,Q=0;A!==0;){Q=A>2e3?2e3:A,A-=Q;do n=n+e[i++]|0,g=g+n|0;while(--Q);n%=65521,g%=65521}return n|g<<16|0}function wi(){for(var t,e=[],A=0;A<256;A++){t=A;for(var i=0;i<8;i++)t=t&1?3988292384^t>>>1:t>>>1;e[A]=t}return e}var $e=function(){let t=wi();return $e=()=>t,t};function v(t,e,A,i){var n=$e(),g=i+A;t^=-1;for(var Q=i;Q<g;Q++)t=t>>>8^n[(t^e[Q])&255];return t^-1}var xA=30,ki=12;function ie(t,e){var A,i,n,g,Q,r,B,o,I,f,s,a,E,D,w,d,k,u,C,l,N,c,y,p,h;A=t.state,i=t.next_in,p=t.input,n=i+(t.avail_in-5),g=t.next_out,h=t.output,Q=g-(e-t.avail_out),r=g+(t.avail_out-257),B=A.dmax,o=A.wsize,I=A.whave,f=A.wnext,s=A.window,a=A.hold,E=A.bits,D=A.lencode,w=A.distcode,d=(1<<A.lenbits)-1,k=(1<<A.distbits)-1;A:do{E<15&&(a+=p[i++]<<E,E+=8,a+=p[i++]<<E,E+=8),u=D[a&d];e:for(;;){if(C=u>>>24,a>>>=C,E-=C,C=u>>>16&255,C===0)h[g++]=u&65535;else if(C&16){l=u&65535,C&=15,C&&(E<C&&(a+=p[i++]<<E,E+=8),l+=a&(1<<C)-1,a>>>=C,E-=C),E<15&&(a+=p[i++]<<E,E+=8,a+=p[i++]<<E,E+=8),u=w[a&k];t:for(;;){if(C=u>>>24,a>>>=C,E-=C,C=u>>>16&255,C&16){if(N=u&65535,C&=15,E<C&&(a+=p[i++]<<E,E+=8,E<C&&(a+=p[i++]<<E,E+=8)),N+=a&(1<<C)-1,N>B){t.msg="invalid distance too far back",A.mode=xA;break A}if(a>>>=C,E-=C,C=g-Q,N>C){if(C=N-C,C>I&&A.sane){t.msg="invalid distance too far back",A.mode=xA;break A}if(c=0,y=s,f===0){if(c+=o-C,C<l){l-=C;do h[g++]=s[c++];while(--C);c=g-N,y=h}}else if(f<C){if(c+=o+f-C,C-=f,C<l){l-=C;do h[g++]=s[c++];while(--C);if(c=0,f<l){C=f,l-=C;do h[g++]=s[c++];while(--C);c=g-N,y=h}}}else if(c+=f-C,C<l){l-=C;do h[g++]=s[c++];while(--C);c=g-N,y=h}for(;l>2;)h[g++]=y[c++],h[g++]=y[c++],h[g++]=y[c++],l-=3;l&&(h[g++]=y[c++],l>1&&(h[g++]=y[c++]))}else{c=g-N;do h[g++]=h[c++],h[g++]=h[c++],h[g++]=h[c++],l-=3;while(l>2);l&&(h[g++]=h[c++],l>1&&(h[g++]=h[c++]))}}else if((C&64)===0){u=w[(u&65535)+(a&(1<<C)-1)];continue t}else{t.msg="invalid distance code",A.mode=xA;break A}break}}else if((C&64)===0){u=D[(u&65535)+(a&(1<<C)-1)];continue e}else if(C&32){A.mode=ki;break A}else{t.msg="invalid literal/length code",A.mode=xA;break A}break}}while(i<n&&g<r);l=E>>3,i-=l,E-=l<<3,a&=(1<<E)-1,t.next_in=i,t.next_out=g,t.avail_in=i<n?5+(n-i):5-(i-n),t.avail_out=g<r?257+(r-g):257-(g-r),A.hold=a,A.bits=E}var QA=15,At=852,et=592,tt=0,ge=1,it=2,Di=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Ni=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],pi=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],yi=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function eA(t,e,A,i,n,g,Q,r){var B=r.bits,o=0,I=0,f=0,s=0,a=0,E=0,D=0,w=0,d=0,k=0,u,C,l,N,c,y=null,p=0,h,m=W(QA+1),S=W(QA+1),G=null,b=0,oA,U,J;for(o=0;o<=QA;o++)m[o]=0;for(I=0;I<i;I++)m[e[A+I]]++;for(a=B,s=QA;s>=1&&m[s]===0;s--);if(a>s&&(a=s),s===0)return n[g++]=1<<24|64<<16|0,n[g++]=1<<24|64<<16|0,r.bits=1,0;for(f=1;f<s&&m[f]===0;f++);for(a<f&&(a=f),w=1,o=1;o<=QA;o++)if(w<<=1,w-=m[o],w<0)return-1;if(w>0&&(t===tt||s!==1))return-1;for(S[1]=0,o=1;o<QA;o++)S[o+1]=S[o]+m[o];for(I=0;I<i;I++)e[A+I]!==0&&(Q[S[e[A+I]]++]=I);if(t===tt?(y=G=Q,h=19):t===ge?(y=Di,p-=257,G=Ni,b-=257,h=256):(y=pi,G=yi,h=-1),k=0,I=0,o=f,c=g,E=a,D=0,l=-1,d=1<<a,N=d-1,t===ge&&d>At||t===it&&d>et)return 1;for(;;){oA=o-D,Q[I]<h?(U=0,J=Q[I]):Q[I]>h?(U=G[b+Q[I]],J=y[p+Q[I]]):(U=96,J=0),u=1<<o-D,C=1<<E,f=C;do C-=u,n[c+(k>>D)+C]=oA<<24|U<<16|J|0;while(C!==0);for(u=1<<o-1;k&u;)u>>=1;if(u!==0?(k&=u-1,k+=u):k=0,I++,--m[o]===0){if(o===s)break;o=e[A+Q[I]]}if(o>a&&(k&N)!==l){for(D===0&&(D=a),c+=f,E=o-D,w=1<<E;E+D<s&&(w-=m[E+D],!(w<=0));)E++,w<<=1;if(d+=1<<E,t===ge&&d>At||t===it&&d>et)return 1;l=k&N,n[l]=a<<24|E<<16|c-g|0}}return k!==0&&(n[c+k]=o-D<<24|64<<16|0),r.bits=a,0}var mi=0,xt=1,St=2,gt=4,Fi=5,SA=6,tA=0,xi=1,Si=2,M=-2,bt=-3,Be=-4,bi=-5,nt=8,Jt=1,It=2,ot=3,rt=4,Qt=5,Bt=6,Ct=7,at=8,st=9,Et=10,GA=11,T=12,ne=13,ct=14,Ie=15,ft=16,ht=17,lt=18,dt=19,bA=20,JA=21,ut=22,wt=23,kt=24,Dt=25,Nt=26,oe=27,pt=28,yt=29,x=30,Ce=31,Ji=32,Gi=852,Ri=592;function mt(t){return(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24)}function vi(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=W(320),this.work=W(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Mi(t){var e;return!t||!t.state?M:(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=e.wrap&1),e.mode=Jt,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=AA(Gi),e.distcode=e.distdyn=AA(Ri),e.sane=1,e.back=-1,tA)}function _i(t){var e;return!t||!t.state?M:(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,Mi(t))}function Li(t,e){var A,i;return!t||!t.state||(i=t.state,e<0?(A=0,e=-e):(A=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?M:(i.window!==null&&i.wbits!==e&&(i.window=null),i.wrap=A,i.wbits=e,_i(t))}function Gt(t,e){var A,i;return t?(i=new vi,t.state=i,i.window=null,A=Li(t,e),A!==tA&&(t.state=null),A):M}var Ft=!0,re,Qe;function Yi(t){if(Ft){var e;for(re=AA(512),Qe=AA(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(eA(xt,t.lens,0,288,re,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;eA(St,t.lens,0,32,Qe,0,t.work,{bits:5}),Ft=!1}t.lencode=re,t.lenbits=9,t.distcode=Qe,t.distbits=5}function Rt(t,e,A,i){var n,g=t.state;return g.window===null&&(g.wsize=1<<g.wbits,g.wnext=0,g.whave=0,g.window=q(g.wsize)),i>=g.wsize?(H(g.window,e,A-g.wsize,g.wsize,0),g.wnext=0,g.whave=g.wsize):(n=g.wsize-g.wnext,n>i&&(n=i),H(g.window,e,A-i,n,g.wnext),i-=n,i?(H(g.window,e,A-i,i,0),g.wnext=i,g.whave=g.wsize):(g.wnext+=n,g.wnext===g.wsize&&(g.wnext=0),g.whave<g.wsize&&(g.whave+=n))),0}function vt(t,e){var A,i,n,g,Q,r,B,o,I,f,s,a,E,D,w=0,d,k,u,C,l,N,c,y,p=q(4),h,m,S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&t.avail_in!==0)return M;A=t.state,A.mode===T&&(A.mode=ne),Q=t.next_out,n=t.output,B=t.avail_out,g=t.next_in,i=t.input,r=t.avail_in,o=A.hold,I=A.bits,f=r,s=B,y=tA;A:for(;;)switch(A.mode){case Jt:if(A.wrap===0){A.mode=ne;break}for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(A.wrap&2&&o===35615){A.check=0,p[0]=o&255,p[1]=o>>>8&255,A.check=v(A.check,p,2,0),o=0,I=0,A.mode=It;break}if(A.flags=0,A.head&&(A.head.done=!1),!(A.wrap&1)||(((o&255)<<8)+(o>>8))%31){t.msg="incorrect header check",A.mode=x;break}if((o&15)!==nt){t.msg="unknown compression method",A.mode=x;break}if(o>>>=4,I-=4,c=(o&15)+8,A.wbits===0)A.wbits=c;else if(c>A.wbits){t.msg="invalid window size",A.mode=x;break}A.dmax=1<<c,t.adler=A.check=1,A.mode=o&512?Et:T,o=0,I=0;break;case It:for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(A.flags=o,(A.flags&255)!==nt){t.msg="unknown compression method",A.mode=x;break}if(A.flags&57344){t.msg="unknown header flags set",A.mode=x;break}A.head&&(A.head.text=o>>8&1),A.flags&512&&(p[0]=o&255,p[1]=o>>>8&255,A.check=v(A.check,p,2,0)),o=0,I=0,A.mode=ot;case ot:for(;I<32;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.head&&(A.head.time=o),A.flags&512&&(p[0]=o&255,p[1]=o>>>8&255,p[2]=o>>>16&255,p[3]=o>>>24&255,A.check=v(A.check,p,4,0)),o=0,I=0,A.mode=rt;case rt:for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.head&&(A.head.xflags=o&255,A.head.os=o>>8),A.flags&512&&(p[0]=o&255,p[1]=o>>>8&255,A.check=v(A.check,p,2,0)),o=0,I=0,A.mode=Qt;case Qt:if(A.flags&1024){for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.length=o,A.head&&(A.head.extra_len=o),A.flags&512&&(p[0]=o&255,p[1]=o>>>8&255,A.check=v(A.check,p,2,0)),o=0,I=0}else A.head&&(A.head.extra=null);A.mode=Bt;case Bt:if(A.flags&1024&&(a=A.length,a>r&&(a=r),a&&(A.head&&(c=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Array(A.head.extra_len)),H(A.head.extra,i,g,a,c)),A.flags&512&&(A.check=v(A.check,i,a,g)),r-=a,g+=a,A.length-=a),A.length))break A;A.length=0,A.mode=Ct;case Ct:if(A.flags&2048){if(r===0)break A;a=0;do c=i[g+a++],A.head&&c&&A.length<65536&&(A.head.name+=String.fromCharCode(c));while(c&&a<r);if(A.flags&512&&(A.check=v(A.check,i,a,g)),r-=a,g+=a,c)break A}else A.head&&(A.head.name=null);A.length=0,A.mode=at;case at:if(A.flags&4096){if(r===0)break A;a=0;do c=i[g+a++],A.head&&c&&A.length<65536&&(A.head.comment+=String.fromCharCode(c));while(c&&a<r);if(A.flags&512&&(A.check=v(A.check,i,a,g)),r-=a,g+=a,c)break A}else A.head&&(A.head.comment=null);A.mode=st;case st:if(A.flags&512){for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(o!==(A.check&65535)){t.msg="header crc mismatch",A.mode=x;break}o=0,I=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),t.adler=A.check=0,A.mode=T;break;case Et:for(;I<32;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}t.adler=A.check=mt(o),o=0,I=0,A.mode=GA;case GA:if(A.havedict===0)return t.next_out=Q,t.avail_out=B,t.next_in=g,t.avail_in=r,A.hold=o,A.bits=I,Si;t.adler=A.check=1,A.mode=T;case T:if(e===Fi||e===SA)break A;case ne:if(A.last){o>>>=I&7,I-=I&7,A.mode=oe;break}for(;I<3;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}switch(A.last=o&1,o>>>=1,I-=1,o&3){case 0:A.mode=ct;break;case 1:if(Yi(A),A.mode=bA,e===SA){o>>>=2,I-=2;break A}break;case 2:A.mode=ht;break;case 3:t.msg="invalid block type",A.mode=x}o>>>=2,I-=2;break;case ct:for(o>>>=I&7,I-=I&7;I<32;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if((o&65535)!==(o>>>16^65535)){t.msg="invalid stored block lengths",A.mode=x;break}if(A.length=o&65535,o=0,I=0,A.mode=Ie,e===SA)break A;case Ie:A.mode=ft;case ft:if(a=A.length,a){if(a>r&&(a=r),a>B&&(a=B),a===0)break A;H(n,i,g,a,Q),r-=a,g+=a,B-=a,Q+=a,A.length-=a;break}A.mode=T;break;case ht:for(;I<14;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(A.nlen=(o&31)+257,o>>>=5,I-=5,A.ndist=(o&31)+1,o>>>=5,I-=5,A.ncode=(o&15)+4,o>>>=4,I-=4,A.nlen>286||A.ndist>30){t.msg="too many length or distance symbols",A.mode=x;break}A.have=0,A.mode=lt;case lt:for(;A.have<A.ncode;){for(;I<3;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.lens[S[A.have++]]=o&7,o>>>=3,I-=3}for(;A.have<19;)A.lens[S[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,h={bits:A.lenbits},y=eA(mi,A.lens,0,19,A.lencode,0,A.work,h),A.lenbits=h.bits,y){t.msg="invalid code lengths set",A.mode=x;break}A.have=0,A.mode=dt;case dt:for(;A.have<A.nlen+A.ndist;){for(;w=A.lencode[o&(1<<A.lenbits)-1],d=w>>>24,k=w>>>16&255,u=w&65535,!(d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(u<16)o>>>=d,I-=d,A.lens[A.have++]=u;else{if(u===16){for(m=d+2;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(o>>>=d,I-=d,A.have===0){t.msg="invalid bit length repeat",A.mode=x;break}c=A.lens[A.have-1],a=3+(o&3),o>>>=2,I-=2}else if(u===17){for(m=d+3;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}o>>>=d,I-=d,c=0,a=3+(o&7),o>>>=3,I-=3}else{for(m=d+7;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}o>>>=d,I-=d,c=0,a=11+(o&127),o>>>=7,I-=7}if(A.have+a>A.nlen+A.ndist){t.msg="invalid bit length repeat",A.mode=x;break}for(;a--;)A.lens[A.have++]=c}}if(A.mode===x)break;if(A.lens[256]===0){t.msg="invalid code -- missing end-of-block",A.mode=x;break}if(A.lenbits=9,h={bits:A.lenbits},y=eA(xt,A.lens,0,A.nlen,A.lencode,0,A.work,h),A.lenbits=h.bits,y){t.msg="invalid literal/lengths set",A.mode=x;break}if(A.distbits=6,A.distcode=A.distdyn,h={bits:A.distbits},y=eA(St,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,h),A.distbits=h.bits,y){t.msg="invalid distances set",A.mode=x;break}if(A.mode=bA,e===SA)break A;case bA:A.mode=JA;case JA:if(r>=6&&B>=258){t.next_out=Q,t.avail_out=B,t.next_in=g,t.avail_in=r,A.hold=o,A.bits=I,ie(t,s),Q=t.next_out,n=t.output,B=t.avail_out,g=t.next_in,i=t.input,r=t.avail_in,o=A.hold,I=A.bits,A.mode===T&&(A.back=-1);break}for(A.back=0;w=A.lencode[o&(1<<A.lenbits)-1],d=w>>>24,k=w>>>16&255,u=w&65535,!(d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(k&&(k&240)===0){for(C=d,l=k,N=u;w=A.lencode[N+((o&(1<<C+l)-1)>>C)],d=w>>>24,k=w>>>16&255,u=w&65535,!(C+d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}o>>>=C,I-=C,A.back+=C}if(o>>>=d,I-=d,A.back+=d,A.length=u,k===0){A.mode=Nt;break}if(k&32){A.back=-1,A.mode=T;break}if(k&64){t.msg="invalid literal/length code",A.mode=x;break}A.extra=k&15,A.mode=ut;case ut:if(A.extra){for(m=A.extra;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.length+=o&(1<<A.extra)-1,o>>>=A.extra,I-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=wt;case wt:for(;w=A.distcode[o&(1<<A.distbits)-1],d=w>>>24,k=w>>>16&255,u=w&65535,!(d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if((k&240)===0){for(C=d,l=k,N=u;w=A.distcode[N+((o&(1<<C+l)-1)>>C)],d=w>>>24,k=w>>>16&255,u=w&65535,!(C+d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}o>>>=C,I-=C,A.back+=C}if(o>>>=d,I-=d,A.back+=d,k&64){t.msg="invalid distance code",A.mode=x;break}A.offset=u,A.extra=k&15,A.mode=kt;case kt:if(A.extra){for(m=A.extra;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.offset+=o&(1<<A.extra)-1,o>>>=A.extra,I-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){t.msg="invalid distance too far back",A.mode=x;break}A.mode=Dt;case Dt:if(B===0)break A;if(a=s-B,A.offset>a){if(a=A.offset-a,a>A.whave&&A.sane){t.msg="invalid distance too far back",A.mode=x;break}a>A.wnext?(a-=A.wnext,E=A.wsize-a):E=A.wnext-a,a>A.length&&(a=A.length),D=A.window}else D=n,E=Q-A.offset,a=A.length;a>B&&(a=B),B-=a,A.length-=a;do n[Q++]=D[E++];while(--a);A.length===0&&(A.mode=JA);break;case Nt:if(B===0)break A;n[Q++]=A.length,B--,A.mode=JA;break;case oe:if(A.wrap){for(;I<32;){if(r===0)break A;r--,o|=i[g++]<<I,I+=8}if(s-=B,t.total_out+=s,A.total+=s,s&&(t.adler=A.check=A.flags?v(A.check,n,s,Q-s):dA(A.check,n,s,Q-s)),s=B,(A.flags?o:mt(o))!==A.check){t.msg="incorrect data check",A.mode=x;break}o=0,I=0}A.mode=pt;case pt:if(A.wrap&&A.flags){for(;I<32;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(o!==(A.total&4294967295)){t.msg="incorrect length check",A.mode=x;break}o=0,I=0}A.mode=yt;case yt:y=xi;break A;case x:y=bt;break A;case Ce:return Be;case Ji:default:return M}return t.next_out=Q,t.avail_out=B,t.next_in=g,t.avail_in=r,A.hold=o,A.bits=I,(A.wsize||s!==t.avail_out&&A.mode<x&&(A.mode<oe||e!==gt))&&Rt(t,t.output,t.next_out,s-t.avail_out)?(A.mode=Ce,Be):(f-=t.avail_in,s-=t.avail_out,t.total_in+=f,t.total_out+=s,A.total+=s,A.wrap&&s&&(t.adler=A.check=A.flags?v(A.check,n,s,t.next_out-s):dA(A.check,n,s,t.next_out-s)),t.data_type=A.bits+(A.last?64:0)+(A.mode===T?128:0)+(A.mode===bA||A.mode===Ie?256:0),(f===0&&s===0||e===gt)&&y===tA&&(y=bi),y)}function Mt(t){if(!t||!t.state)return M;var e=t.state;return e.window&&(e.window=null),t.state=null,tA}function _t(t,e){var A;return!t||!t.state||(A=t.state,(A.wrap&2)===0)?M:(A.head=e,e.done=!1,tA)}function ae(t,e){var A=e.length,i,n,g;return!t||!t.state||(i=t.state,i.wrap!==0&&i.mode!==GA)?M:i.mode===GA&&(n=1,n=dA(n,e,A,0),n!==i.check)?bt:(g=Rt(t,e,A,A),g?(i.mode=Ce,Be):(i.havedict=1,tA))}var RA={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};function se(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var Ee=Object.prototype.toString,ce=class t{constructor(e){if(!(this instanceof t))return new t(e);this.options=ze({chunkSize:16384,windowBits:0,to:""},e||{});var A=this.options;A.raw&&A.windowBits>=0&&A.windowBits<16&&(A.windowBits=-A.windowBits,A.windowBits===0&&(A.windowBits=-15)),A.windowBits>=0&&A.windowBits<16&&!(e&&e.windowBits)&&(A.windowBits+=32),A.windowBits>15&&A.windowBits<48&&(A.windowBits&15)===0&&(A.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new se,this.strm.avail_out=0;var i=Gt(this.strm,A.windowBits);if(i!==O)throw new Error(RA[i]);if(this.header=new te,_t(this.strm,this.header),A.dictionary&&(typeof A.dictionary=="string"?A.dictionary=ee(A.dictionary):Ee.call(A.dictionary)==="[object ArrayBuffer]"&&(A.dictionary=new Uint8Array(A.dictionary)),A.raw&&(i=ae(this.strm,A.dictionary),i!==O)))throw new Error(RA[i])}push(e,A){var i=this.strm,n=this.options.chunkSize,g=this.options.dictionary,Q,r,B,o,I,f,s=!1;if(this.ended)return!1;r=A===~~A?A:A===!0?cA:VA,typeof e=="string"?i.input=Pe(e):Ee.call(e)==="[object ArrayBuffer]"?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(i.avail_out===0&&(i.output=q(n),i.next_out=0,i.avail_out=n),Q=vt(i,VA),Q===Ze&&g&&(typeof g=="string"?f=ee(g):Ee.call(g)==="[object ArrayBuffer]"?f=new Uint8Array(g):f=g,Q=ae(this.strm,f)),Q===Xe&&s===!0&&(Q=O,s=!1),Q!==fA&&Q!==O)return this.onEnd(Q),this.ended=!0,!1;i.next_out&&(i.avail_out===0||Q===fA||i.avail_in===0&&(r===cA||r===$A))&&(this.options.to==="string"?(B=Ve(i.output,i.next_out),o=i.next_out-B,I=je(i.output,B),i.next_out=o,i.avail_out=n-o,o&&H(i.output,i.output,B,o,0),this.onData(I)):this.onData(FA(i.output,i.next_out))),i.avail_in===0&&i.avail_out===0&&(s=!0)}while((i.avail_in>0||i.avail_out===0)&&Q!==fA);return Q===fA&&(r=cA),r===cA?(Q=Mt(this.strm),this.onEnd(Q),this.ended=!0,Q===O):(r===$A&&(this.onEnd(O),i.avail_out=0),!0)}onData(e){this.chunks.push(e)}onEnd(e){e===O&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=mA(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}};function Ui(t,e){var A=new ce(e);if(A.push(t,!0),A.err)throw A.msg||RA[A.err];return A.result}var Lt=Ui;function Yt(t,e,A){let i=[],n=0,g=e;for(;n+26<=t.length&&!(t[n]!==31||t[n+1]!==139||t[n+2]!==8||t[n+3]!==4||t[n+10]!==6||t[n+12]!==66||t[n+13]!==67);){let Q=(t[n+16]|t[n+17]<<8)+1;if(Q<26||n+Q>t.length)break;let r=n+Q-8,B=(t[r+4]|t[r+5]<<8|t[r+6]<<16|t[r+7]<<24)>>>0;if(i.push({inputOffset:n,compressedSize:Q,decompressedSize:B,filePosition:g}),g>=A)break;n+=Q,g+=Q}return i}function Ut(t){let e=0;for(let n of t)e+=n.length;let A=new Uint8Array(e),i=0;for(let n of t)A.set(n,i),i+=n.length;return A}var P={};P.d=(t,e)=>{if(Array.isArray(e))for(var A=0;A<e.length;){var i=e[A++],n=e[A++];P.o(t,i)?n===0&&A++:n===0?Object.defineProperty(t,i,{enumerable:!0,value:e[A++]}):Object.defineProperty(t,i,{enumerable:!0,get:n})}else for(var i in e)P.o(e,i)&&!P.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})};P.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);P.r=t=>{Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var le={};P.r(le);P.d(le,{ChunkSliceResult:()=>CA,__wbg_Error_92b29b0548f8b746:()=>Ki,__wbg___wbindgen_throw_344f42d3211c4765:()=>qi,__wbg_set_wasm:()=>Wt,decompress_all:()=>qt,decompress_chunk_slice:()=>Tt});var Hi="data:application/wasm;base64,AGFzbQEAAAABfRFgAABgAAF/YAF/AGABfwF/YAJ/fwBgAn9/AX9gA39/fwBgA39/fwF/YAR/f39/AGAEf39/fwF/YAV/f39/fwBgBX9/f39/AX9gBn9/f39/fwBgBn9/f39/fwF/YAd/f39/f39/AX9gCH9/f39/f39/AX9gB39/f3x8fHwAAm4CES4vYmd6Zl93YXNtX2JnLmpzJ19fd2JnX19fd2JpbmRnZW5fdGhyb3dfMzQ0ZjQyZDMyMTFjNDc2NQAEES4vYmd6Zl93YXNtX2JnLmpzHF9fd2JnX0Vycm9yXzkyYjI5YjA1NDhmOGI3NDYABQNsawMODxAFCQINBwYJBAUEBAgFBQQKEAYEBwUEBAcEDAwGCgYEAgICDAIGBwQDBQMEBgYFBQsEAgYCAgQEBQMCAgEEAgUCBAYGDQIEBAcJAgQFBQYEBwADBQUEAAAEBAQFBAUCAgICBAQFAAAABAUBcAEaGgUDAQARBhkDfwFBgIDAAAt/AEGkmsAAC38AQdSawAALB6wCDAZtZW1vcnkCABtfX3diZ19jaHVua3NsaWNlcmVzdWx0X2ZyZWUAFBxjaHVua3NsaWNlcmVzdWx0X3Rha2VfYnVmZmVyAB4gY2h1bmtzbGljZXJlc3VsdF90YWtlX2Nwb3NpdGlvbnMAGyBjaHVua3NsaWNlcmVzdWx0X3Rha2VfZHBvc2l0aW9ucwAcDmRlY29tcHJlc3NfYWxsABcWZGVjb21wcmVzc19jaHVua19zbGljZQAWD19fYWJvcnRfaGFuZGxlcgMBFV9faW5zdGFuY2VfdGVybWluYXRlZAMCH19fd2JpbmRnZW5fYWRkX3RvX3N0YWNrX3BvaW50ZXIAVxFfX3diaW5kZ2VuX2V4cG9ydABIEl9fd2JpbmRnZW5fZXhwb3J0MgAzCR8BAEEBCxlsPkVnPSw8aEMrE1VRMFBePzQYJExLEmBSCp3GAWvNJAIJfwF+IwBBEGsiASQAAkACQAJAAkAgAEH1AUkNAAJAIABBzP97TQ0AQQAhAAwECyAAQQtqIgJBeHEhA0EAKAKYnkAiBEUNAkEfIQUgAEH1//8HTw0BIANBJiACQQh2ZyIAa3ZBAXEgAEEBdGtBPmohBQwBCwJAAkACQAJAAkACQEEAKAKUnkAiBkEQIABBC2pB+ANxIABBC0kbIgNBA3YiAnYiAEEDcUUNACAAQX9zQQFxIAJqIgdBA3QiA0GMnMAAaiIAIANBlJzAAGooAgAiAigCCCIIRg0BIAggADYCDCAAIAg2AggMAgsgA0EAKAKcnkBNDQYgAA0CQQAoApieQCIARQ0GIABoQQJ0QfyawABqKAIAIggoAgRBeHEgA2shAiAIIQYDQAJAIAgoAhAiAA0AIAgoAhQiAA0AIAYoAhghBQJAAkACQCAGKAIMIgAgBkcNACAGQRRBECAGKAIUIgAbaigCACIIDQFBACEADAILIAYoAggiCCAANgIMIAAgCDYCCAwBCyAGQRRqIAZBEGogABshBwNAIAchCSAIIgBBFGogAEEQaiAAKAIUIggbIQcgAEEUQRAgCBtqKAIAIggNAAsgCUEANgIACyAFRQ0GAkACQCAGIAYoAhxBAnRB/JrAAGoiCCgCAEYNAAJAIAUoAhAgBkYNACAFIAA2AhQgAA0CDAkLIAUgADYCECAADQEMCAsgCCAANgIAIABFDQYLIAAgBTYCGAJAIAYoAhAiCEUNACAAIAg2AhAgCCAANgIYCyAGKAIUIghFDQYgACAINgIUIAggADYCGAwGCyAAKAIEQXhxIANrIgggAiAIIAJJIggbIQIgACAGIAgbIQYgACEIDAALC0EAIAZBfiAHd3E2ApSeQAsgAkEIaiEAIAIgA0EDcjYCBCACIANqIgMgAygCBEEBcjYCBAwFCwJAAkAgACACdEECIAJ0IgBBACAAa3JxaCIJQQN0IgJBjJzAAGoiCCACQZScwABqKAIAIgAoAggiB0YNACAHIAg2AgwgCCAHNgIIDAELQQAgBkF+IAl3cTYClJ5ACyAAIANBA3I2AgQgACADaiIGIAIgA2siCEEBcjYCBCAAIAJqIAg2AgACQEEAKAKcnkAiAkUNAEEAKAKknkAhAwJAAkBBACgClJ5AIgdBASACQQN2dCIJcQ0AQQAgByAJcjYClJ5AIAJBeHFBjJzAAGoiAiEHDAELIAJBeHEiAkGMnMAAaiEHIAJBlJzAAGooAgAhAgsgByADNgIIIAIgAzYCDCADIAc2AgwgAyACNgIICyAAQQhqIQBBACAGNgKknkBBACAINgKcnkAMBAtBAEEAKAKYnkBBfiAGKAIcd3E2ApieQAsCQAJAAkAgAkEQSQ0AIAYgA0EDcjYCBCAGIANqIgggAkEBcjYCBCAIIAJqIAI2AgBBACgCnJ5AIgdFDQFBACgCpJ5AIQACQAJAQQAoApSeQCIJQQEgB0EDdnQiBXENAEEAIAkgBXI2ApSeQCAHQXhxQYycwABqIgchCQwBCyAHQXhxIgdBjJzAAGohCSAHQZScwABqKAIAIQcLIAkgADYCCCAHIAA2AgwgACAJNgIMIAAgBzYCCAwBCyAGIAIgA2oiAEEDcjYCBCAGIABqIgAgACgCBEEBcjYCBAwBC0EAIAg2AqSeQEEAIAI2ApyeQAsgBkEIaiIARQ0BDAILQQAgA2shAgJAAkACQAJAIAVBAnRB/JrAAGooAgAiBg0AQQAhCEEAIQAMAQtBACEIIANBAEEZIAVBAXZrIAVBH0YbdCEHQQAhAANAAkAgBiIGKAIEQXhxIgkgA0kNACAJIANrIgkgAk8NACAGIQggCSECIAkNAEEAIQIgBiEAIAYhCAwDCyAGKAIUIgkgACAJIAYgB0EddkEEcWooAhAiBkcbIAAgCRshACAHQQF0IQcgBg0ACwsCQCAAIAhyDQBBACEIQQIgBXQiAEEAIABrciAEcSIARQ0DIABoQQJ0QfyawABqKAIAIQALIABFDQELA0AgACgCBEF4cSIGIANrIgcgAiAHIAJJIgkbIQUgBiADSSEHIAAgCCAJGyEJAkAgACgCECIGDQAgACgCFCEGCyACIAUgBxshAiAIIAkgBxshCCAGIQAgBg0ACwsgCEUNAAJAQQAoApyeQCIAIANJDQAgAiAAIANrTw0BCyAIKAIYIQUCQAJAAkAgCCgCDCIAIAhHDQAgCEEUQRAgCCgCFCIAG2ooAgAiBg0BQQAhAAwCCyAIKAIIIgYgADYCDCAAIAY2AggMAQsgCEEUaiAIQRBqIAAbIQcDQCAHIQkgBiIAQRRqIABBEGogACgCFCIGGyEHIABBFEEQIAYbaigCACIGDQALIAlBADYCAAsCQCAFRQ0AAkACQAJAIAggCCgCHEECdEH8msAAaiIGKAIARg0AAkAgBSgCECAIRg0AIAUgADYCFCAADQIMBAsgBSAANgIQIAANAQwDCyAGIAA2AgAgAEUNAQsgACAFNgIYAkAgCCgCECIGRQ0AIAAgBjYCECAGIAA2AhgLIAgoAhQiBkUNASAAIAY2AhQgBiAANgIYDAELQQBBACgCmJ5AQX4gCCgCHHdxNgKYnkALAkACQCACQRBJDQAgCCADQQNyNgIEIAggA2oiACACQQFyNgIEIAAgAmogAjYCAAJAIAJBgAJJDQAgACACEBAMAgsCQAJAQQAoApSeQCIGQQEgAkEDdnQiB3ENAEEAIAYgB3I2ApSeQCACQfgBcUGMnMAAaiICIQYMAQsgAkH4AXEiAkGMnMAAaiEGIAJBlJzAAGooAgAhAgsgBiAANgIIIAIgADYCDCAAIAY2AgwgACACNgIIDAELIAggAiADaiIAQQNyNgIEIAggAGoiACAAKAIEQQFyNgIECyAIQQhqIgANAQsCQAJAAkACQAJAAkBBACgCnJ5AIgAgA08NAAJAQQAoAqCeQCIAIANLDQAgAUEEakHAnsAAIANBr4AEakGAgHxxECECQCABKAIEIgYNAEEAIQAMCAsgASgCDCEFQQBBACgCrJ5AIAEoAggiCWoiADYCrJ5AQQAgAEEAKAKwnkAiAiAAIAJLGzYCsJ5AAkACQAJAQQAoAqieQCICRQ0AQfybwAAhAANAIAYgACgCACIIIAAoAgQiB2pGDQIgACgCCCIADQAMAwsLAkACQEEAKAK4nkAiAEUNACAGIABPDQELQQAgBjYCuJ5AC0EAQf8fNgK8nkBBACAFNgKInEBBACAJNgKAnEBBACAGNgL8m0BBAEGMnMAANgKYnEBBAEGUnMAANgKgnEBBAEGMnMAANgKUnEBBAEGcnMAANgKonEBBAEGUnMAANgKcnEBBAEGknMAANgKwnEBBAEGcnMAANgKknEBBAEGsnMAANgK4nEBBAEGknMAANgKsnEBBAEG0nMAANgLAnEBBAEGsnMAANgK0nEBBAEG8nMAANgLInEBBAEG0nMAANgK8nEBBAEHEnMAANgLQnEBBAEG8nMAANgLEnEBBAEHMnMAANgLYnEBBAEHEnMAANgLMnEBBAEHMnMAANgLUnEBBAEHUnMAANgLgnEBBAEHUnMAANgLcnEBBAEHcnMAANgLonEBBAEHcnMAANgLknEBBAEHknMAANgLwnEBBAEHknMAANgLsnEBBAEHsnMAANgL4nEBBAEHsnMAANgL0nEBBAEH0nMAANgKAnUBBAEH0nMAANgL8nEBBAEH8nMAANgKInUBBAEH8nMAANgKEnUBBAEGEncAANgKQnUBBAEGEncAANgKMnUBBAEGMncAANgKYnUBBAEGUncAANgKgnUBBAEGMncAANgKUnUBBAEGcncAANgKonUBBAEGUncAANgKcnUBBAEGkncAANgKwnUBBAEGcncAANgKknUBBAEGsncAANgK4nUBBAEGkncAANgKsnUBBAEG0ncAANgLAnUBBAEGsncAANgK0nUBBAEG8ncAANgLInUBBAEG0ncAANgK8nUBBAEHEncAANgLQnUBBAEG8ncAANgLEnUBBAEHMncAANgLYnUBBAEHEncAANgLMnUBBAEHUncAANgLgnUBBAEHMncAANgLUnUBBAEHcncAANgLonUBBAEHUncAANgLcnUBBAEHkncAANgLwnUBBAEHcncAANgLknUBBAEHsncAANgL4nUBBAEHkncAANgLsnUBBAEH0ncAANgKAnkBBAEHsncAANgL0nUBBAEH8ncAANgKInkBBAEH0ncAANgL8nUBBAEGEnsAANgKQnkBBAEH8ncAANgKEnkBBACAGQQ9qQXhxIgBBeGoiAjYCqJ5AQQBBhJ7AADYCjJ5AQQAgBiAAayAJQVhqIgBqQQhqIgg2AqCeQCACIAhBAXI2AgQgBiAAakEoNgIEQQBBgICAATYCtJ5ADAgLIAIgBk8NACAIIAJLDQAgACgCDCIIQQFxDQAgCEEBdiAFRg0DC0EAQQAoArieQCIAIAYgACAGSRs2ArieQCAGIAlqIQhB/JvAACEAAkACQAJAA0AgACgCACIHIAhGDQEgACgCCCIADQAMAgsLIAAoAgwiCEEBcQ0AIAhBAXYgBUYNAQtB/JvAACEAAkADQAJAIAAoAgAiCCACSw0AIAIgCCAAKAIEaiIISQ0CCyAAKAIIIQAMAAsLQQAgBkEPakF4cSIAQXhqIgc2AqieQEEAIAYgAGsgCUFYaiIAakEIaiIENgKgnkAgByAEQQFyNgIEIAYgAGpBKDYCBEEAQYCAgAE2ArSeQCACIAhBYGpBeHFBeGoiACAAIAJBEGpJGyIHQRs2AgRBACkC/JtAIQogB0EQakEAKQKEnEA3AgAgB0EIaiIAIAo3AgBBACAFNgKInEBBACAJNgKAnEBBACAGNgL8m0BBACAANgKEnEAgB0EcaiEAA0AgAEEHNgIAIABBBGoiACAISQ0ACyAHIAJGDQcgByAHKAIEQX5xNgIEIAIgByACayIAQQFyNgIEIAcgADYCAAJAIABBgAJJDQAgAiAAEBAMCAsCQAJAQQAoApSeQCIIQQEgAEEDdnQiBnENAEEAIAggBnI2ApSeQCAAQfgBcUGMnMAAaiIAIQgMAQsgAEH4AXEiAEGMnMAAaiEIIABBlJzAAGooAgAhAAsgCCACNgIIIAAgAjYCDCACIAg2AgwgAiAANgIIDAcLIAAgBjYCACAAIAAoAgQgCWo2AgQgBkEPakF4cUF4aiIIIANBA3I2AgQgB0EPakF4cUF4aiICIAggA2oiAGshAyACQQAoAqieQEYNAyACQQAoAqSeQEYNBAJAIAIoAgQiBkEDcUEBRw0AIAIgBkF4cSIGEA8gBiADaiEDIAIgBmoiAigCBCEGCyACIAZBfnE2AgQgACADQQFyNgIEIAAgA2ogAzYCAAJAIANBgAJJDQAgACADEBAMBgsCQAJAQQAoApSeQCICQQEgA0EDdnQiBnENAEEAIAIgBnI2ApSeQCADQfgBcUGMnMAAaiIDIQIMAQsgA0H4AXEiA0GMnMAAaiECIANBlJzAAGooAgAhAwsgAiAANgIIIAMgADYCDCAAIAI2AgwgACADNgIIDAULQQAgACADayICNgKgnkBBAEEAKAKonkAiACADaiIINgKonkAgCCACQQFyNgIEIAAgA0EDcjYCBCAAQQhqIQAMBgtBACgCpJ5AIQICQAJAIAAgA2siCEEPSw0AQQBBADYCpJ5AQQBBADYCnJ5AIAIgAEEDcjYCBCACIABqIgAgACgCBEEBcjYCBAwBC0EAIAg2ApyeQEEAIAIgA2oiBjYCpJ5AIAYgCEEBcjYCBCACIABqIAg2AgAgAiADQQNyNgIECyACQQhqIQAMBQsgACAHIAlqNgIEQQBBACgCqJ5AIgBBD2pBeHEiAkF4aiIINgKonkBBACAAIAJrQQAoAqCeQCAJaiICakEIaiIGNgKgnkAgCCAGQQFyNgIEIAAgAmpBKDYCBEEAQYCAgAE2ArSeQAwDC0EAIAA2AqieQEEAQQAoAqCeQCADaiIDNgKgnkAgACADQQFyNgIEDAELQQAgADYCpJ5AQQBBACgCnJ5AIANqIgM2ApyeQCAAIANBAXI2AgQgACADaiADNgIACyAIQQhqIQAMAQtBACEAQQAoAqCeQCICIANNDQBBACACIANrIgI2AqCeQEEAQQAoAqieQCIAIANqIgg2AqieQCAIIAJBAXI2AgQgACADQQNyNgIEIABBCGohAAsgAUEQaiQAIAALwh0BFn8gASACaiIHIAJBESACQRFJG2shCCADIARqIgkgBEGXAiAEQZcCSRtrIQogAEGk2gBqIQsgAEGYyQBqIQwgAEHg1QBqIQ0gAEHMA2ohDkEAIQ9BACEQQQAhAiABIREgAyEEAkADQAJAAkAgByARa0EDSw0AIAIhEiAQQf8BcSICQRdLDQEDQAJAAkAgESAHRg0AIBEtAAAgAnQgEnIhEiARQQFqIREMAQtBASETIAchESAPQQFqIg9BBEsNBQsgEEEIaiIQQf8BcSICQRhJDQAMAgsLIBEoAAAgEEH/AXF0IAJyIRIgESAQQQN2QQdxa0EDaiERIBBBGHIhEAtBASETAkACQAJAAkACQAJAIBJBAXZBA3EOAwQBAAcLQQAhFCAAQQA6AKBaIBBBb2ohAiASQRF2IRUgEkENdiIWQQ9xIhdBBGohECASQQh2QR9xQQFqIRggEkEDdkEfcUGBAmohGQNAAkACQCACQf8BcSITQQJNDQAgAiEaDAELAkAgByARa0EDSw0AIAIhGgNAAkACQCARIAdGDQAgES0AACATdCAVciEVIBFBAWohEQwBC0EBIRMgByERIA9BAWoiD0EESw0LCyAaQQhqIhpB/wFxIhNBGEkNAAwCCwsgAkEYciEaIBEoAAAgE3QgFXIhFSARIAJBA3ZBB3FrQQNqIRELIAAgFEGQisAAai0AAGogFUEHcToAACAaQX1qIQIgFUEDdiEVIBRBAWoiFCAQRw0ACwJAIBdBD0YNAAJAIBZBf3NBA3EiFEUNAANAIAAgEEGQisAAai0AAGpBADoAACAQQQFqIRAgFEF/aiIUDQALCyAXQXRqQQNJDQADQCAAIBBBkIrAAGotAABqQQA6AAAgACAQQZGKwABqLQAAakEAOgAAIAAgEEGSisAAai0AAGpBADoAACAAIBBBk4rAAGotAABqQQA6AAAgEEEEaiIQQRNHDQALCwJAIA4gAEETQbCKwABBB0EHIA1BABAEDQBBAQ8LIBkgGGohF0EAIRADQAJAAkAgAkH/AXEiFEENTQ0AIAIhGgwBCwJAIAcgEWtBA0sNACACIRoDQAJAAkAgESAHRg0AIBEtAAAgFHQgFXIhFSARQQFqIREMAQtBASETIAchESAPQQFqIg9BBEsNCwsgGkEIaiIaQf8BcSIUQRhJDQAMAgsLIAJBGHIhGiARKAAAIBR0IBVyIRUgESACQQN2QQdxa0EDaiERCyAAIBVB/wBxQQJ0akHMA2ooAgAiFEEQdiETIBogFGshAiAVIBRB/wFxdiEVAkACQCAUQf//P0sNACAAIBBqIBM6AAAgEEEBaiEQDAELAkACQAJAAkAgE0Fwag4CAAECCwJAIBANAEEBDwsgACAQaiIUQQVqIBRBf2otAAAiGjoAACAUQQRqIBo6AAAgFEEDaiAaOgAAIBRBAmogGjoAACAUQQFqIBo6AAAgFCAaOgAAIAJBfmohAiAVQQNxQQNqIRQgFUECdiEVDAILIAAgEGoiFEIANwAAIBRBCGpBADsAACACQX1qIQIgFUEHcUEDaiEUIBVBA3YhFQwBCyAAIBBqQQAgFUH/AHFBC2oiFBAdGiACQXlqIQIgFUEHdiEVCyAUIBBqIRALIBAgF0kNAAsgECAXRg0BQQEPCyAQQX1qIQIgEkEDdiEVIAAtAKBaDQEgAEEBOgCgWkEAIRADQCAAIBBqIhRCiJCgwICBgoQINwAAIBRBCGpBCDoAACAQQQlqIhBBkAFHDQALQZB/IRADQCAAIBBqQYACakKJkqTIkKHChAk3AAAgEEEIaiIQDQALIABChYqUqNCgwYIFNwC4AiAAQoWKlKjQoMGCBTcAsAIgAEKFipSo0KDBggU3AKgCIABChYqUqNCgwYIFNwCgAiAAQoiQoMCAgYKECDcAmAIgAEKHjpy48ODBgwc3AJACIABCh46cuPDgwYMHNwCIAiAAQoeOnLjw4MGDBzcAgAJBICEYQaACIRkLAkAgDCAAIBlqIBhBgIvAAEEIQQ8gDUEAEAQNAEEBDwsgACAAIBlBgIzAAEELQQ8gDSALEAQNAEEBDwtBfyALKAIAdEF/cyEXAkACQCARIAhPDQAgBCAKTw0AIAJBGHIhECARIAJBA3ZBB3FrQQNqIRQgACARKAAAIAJB/wFxdCAVciIVIBdxQQJ0aigCACEYA0AgECAYayEQIBUgGEH/AXEiE3YhAgJAAkACQAJAIBhBAEgNAAJAIBhBgIACcQ0AIAIhEQwDCwJAIBhBgMAAcUUNACAUIREMCQsgECAAIAJBfyAYQQh2dEF/c3EgGEEQdmpBAnRqKAIAIhhrIRAgAiAYQf8BcSITdiERIBhBAE4NASARIQILIAQgGEEQdjoAACAEQQFqIQQgFCgAACAQQf8BcXQgAnIhFSAUIBBBA3ZBB3FrQQNqIRQgACACIBdxQQJ0aigCACEYDAILIAIhFSAYQYDAAHFFDQAgESECIBQhEQwGCyAQQRhyIRkgFCgAACAQQf8BcXQgEXIhGiAUIBBBA3ZBB3FrQQNqIRQCQCAAIBFB/wFxQQJ0akGYyQBqKAIAIhFBgIACcUUNACAUKAAAIBlBeGoiAkH3AXF0IBpBCHYiEHIhGiAAIBBBfyARQQh2QT9xdEF/c3EgEUEQdmpBAnRqQZjJAGooAgAhESACQRhyIRkgFCACQQN2QQZxa0EDaiEUCwJAIBpBfyARQf8BcSIWdEF/c3EgEUEIdkH/AXF2IhsgEUEQdiIcaiICIAQgA2tNDQBBAQ8LIBVBfyATdEF/c3EhEyAUKAAAIBkgEWsiEEH/AXF0IBogFnYiGXIhFSAEIBMgGEEIdkH/AXF2IBhBEHZqIhNqIREgBCACayEaIBQgEEEDdkEHcWtBA2ohFCAAIBkgF3FBAnRqKAIAIRgCQAJAIAJBBEkNACAEIBooAAA2AAAgBCAaKAAENgAEIAQgGigACDYACCAEIBooAAw2AAwgBCAaKAAQNgAQIBNBFUgNAUEAIAJrIRMDQCAEQRRqIhogBCATaiICQRRqKAAANgAAIARBGGogAkEYaigAADYAACAEQRxqIAJBHGooAAA2AAAgBEEgaiACQSBqKAAANgAAIARBJGogAkEkaigAADYAACAEQShqIQIgGiEEIAIgEUkNAAwCCwsCQCACQQFHDQAgBCAaLQAAQYGChAhsIho2AAwgBCAaNgAIIAQgGjYABCAEIBo2AAAgE0ERSA0BIARBEGohAgNAIAIgGjYAACACQQxqIBo2AAAgAkEIaiAaNgAAIAJBBGogGjYAACACQRBqIgIgEUkNAAwCCwsgBCAaKAAAIho2AAAgBCACaiAaNgAAIBtBAXQgHEEBdGohGiACQQNsIRYDQCAEIBpqIAQgAmoiEygAACIZNgAAIAQgFmogGTYAACATIAJqIgQgGmogEUkNAAsLIBEhBAsgEEEYciEQIBQgCE8NAiAEIApJDQAMAgsLIAIhECARIRQLA0ACQAJAIAcgFGtBA0sNACAQQf8BcSICQRdLDQEDQAJAAkAgFCAHRg0AIBQtAAAgAnQgFXIhFSAUQQFqIRQMAQtBASETIAchFCAPQQFqIg9BBEsNCAsgEEEIaiIQQf8BcSICQRhJDQAMAgsLIBQoAAAgEEH/AXF0IBVyIRUgFCAQQQN2QQdxa0EDaiEUIBBBGHIhEAsgECAAIBUgF3FBAnRqKAIAIgJrIRAgFSACQf8BcXYhEQJAAkAgAkGAgAFxDQAgFSEaIBEhFQwBCyAQIAAgEUF/IAJBCHZBP3F0QX9zcSACQRB2akECdGooAgAiAmshECARIAJB/wFxdiEVIBEhGgsgAkEQdiERAkAgAkF/Sg0AAkAgBCAJRw0AQQMPCyAEIBE6AAAgBEEBaiEEDAELAkAgAkGAwABxRQ0AIBUhAiAUIREMAwsCQCAaQX8gAkH/AXF0QX9zcSACQQh2Qd8BcXYgEWoiGiAJIARrTQ0AQQMPCwJAAkAgByAUa0EDSw0AIBBB/wFxIgJBF0sNAQNAAkACQCAUIAdGDQAgFC0AACACdCAVciEVIBRBAWohFAwBC0EBIRMgByEUIA9BAWoiD0EESw0ICyAQQQhqIhBB/wFxIgJBGEkNAAwCCwsgFCgAACAQQf8BcXQgFXIhFSAUIBBBA3ZBB3FrQQNqIRQgEEEYciEQCwJAIAAgFUH/AXFBAnRqQZjJAGooAgAiAkGAgAJxRQ0AIAAgFUEIdiIVQX8gAkEIdkE/cXRBf3NxIAJBEHZqQQJ0akGYyQBqKAIAIQIgEEF4aiERAkACQCAHIBRrQQNLDQAgEUH/AXEiE0EXTQ0BIBEhEAwCCyARQRhyIRAgFCgAACARQf8BcXQgFXIhFSAUIBFBA3ZBB3FrQQNqIRQMAQsDQAJAAkAgFCAHRg0AIBQtAAAgE3QgFXIhFSAUQQFqIRQMAQtBASETIAchFCAPQQFqIg9BBEsNBwsgEEH/AXEhEyAQQQhqIhEhECATQRhJDQALIBFBeGohEAsCQCAVQX8gAkH/AXEiE3RBf3NxIAJBCHZB/wFxdiACQRB2aiIRIAQgA2tNDQBBAQ8LIBAgAmshECAVIBN2IRUgBCAEIBFrIgItAAA6AAAgBCACLQABOgABIARBAmohAiAEIBpqIQRBACARayERA0AgAiACIBFqLQAAOgAAIAJBAWoiAiAESQ0ADAELCwsCQCAPIBBB/QFqQQN2QR9xIgJNDQBBAQ8LAkAgByARIA8gAmtqIhFrQQRODQBBAQ8LAkAgES8AAiARLwAAIgJzQf//A3FB//8DRg0AQQEPCwJAIAkgBGsgAk4NAEEDDwsCQCAHIBFBBGoiEWsgAk4NAEEBDwsgBCARIAIQGSACaiEEIBEgAmohEUEAIQ9BACEQQQAhAgsgEkEBcUUNAAtBASETIA8gEEEDdkEfcSICSw0AAkAgBUUNACAFIBEgDyACa2ogAWs2AgALAkACQCAGRQ0AIAYgBCADazYCAAwBC0ECIRMgBCAJRw0BC0EAIRMLIBMLjw8BD38jAEGAAWsiCCQAIAVBAWoiCUEHcSEKQQAhCwJAIAVBB0kNACAJQXhxIQxBACELIAhBwABqIQkDQCAJQgA3AwAgCUEYakIANwMAIAlBEGpCADcDACAJQQhqQgA3AwAgCUEgaiEJIAwgC0EIaiILRw0ACwsCQCAKRQ0AIAhBwABqIAtBAnRqIQkDQCAJQQA2AgAgCUEEaiEJIApBf2oiCg0ACwsCQCACRQ0AIAJBA3EhC0EAIQoCQCACQQRJDQAgAkF8cSENQQAhCgNAIAhBwABqIAEgCmoiCS0AAEECdGoiDCAMKAIAQQFqNgIAIAhBwABqIAlBAWotAABBAnRqIgwgDCgCAEEBajYCACAIQcAAaiAJQQJqLQAAQQJ0aiIMIAwoAgBBAWo2AgAgCEHAAGogCUEDai0AAEECdGoiCSAJKAIAQQFqNgIAIA0gCkEEaiIKRw0ACwsgC0UNACABIApqIQkDQCAIQcAAaiAJLQAAQQJ0aiIKIAooAgBBAWo2AgAgCUEBaiEJIAtBf2oiCw0ACwsCQAJAIAVBAk8NACAFIQ4MAQsgCEHAAGogBUECdGohCQNAAkAgCSgCAEUNACAFIQ4MAgsgCUF8aiEJQQEhDiAFQX9qIgVBAUsNAAsLAkAgB0UNACAHIA4gBCAOIARJGyIENgIAC0EAIQkgCEEANgIAIAggCCgCQCIFNgIEQQEhCgJAIA5BAkkNAEEBIQkgDkF/aiIKQQFxIQ8CQAJAIA5BAkcNAEEAIQsMAQsgCkF+cSEQIAhBwABqQQhyIQkgCEEMciEKQQAhC0EAIQwDQCAKQXxqIAlBfGooAgAiDSAFaiIFNgIAIAogCSgCACIHIAVqIgU2AgAgByALQQJ0IA1BAXRqaiELIAlBCGohCSAKQQhqIQogECAMQQJqIgxHDQALIAxBAWohCQsCQCAPRQ0AIAlBAnQiCSAIakEEaiAIQcAAaiAJaigCACIJIAVqNgIAIAkgC0EBdGohCwsgC0EBdCEJIA4hCgsgCEHAAGogCkECdGooAgAgCWohDQJAIAJFDQAgAkEBcSEHQQAhCQJAIAJBAUYNACACQX5xIQxBACEJA0AgBiAIIAEgCWoiCi0AAEECdGoiCygCACIFQQF0aiAJOwEAIAsgBUEBajYCACAIIApBAWotAABBAnRqIgogCigCACIKQQFqNgIAIAYgCkEBdGogCUEBajsBACAMIAlBAmoiCUcNAAsLIAdFDQAgCCABIAlqLQAAQQJ0aiIKIAooAgAiCkEBajYCACAGIApBAXRqIAk7AQALAkACQCANQQEgDnQiCU0NAEEAIQYMAQsgBiAIKAIAQQF0aiEQAkACQAJAIA0gCUkNACAIQcAAakEEciEJQQAhBwNAIAdBAWohByAJKAIAIQwgCUEEaiEJIAxFDQALQQAhESAHIARNDQFBACENDAILAkACQCANDQBBACEJDAELQQAhBiANQQEgDkF/anRHDQMgCCgCREEBRw0DIBAvAQAhCQsgAyAJQQJ0aigCAEGBAmohC0EBIQZBASEJA0AgACALNgIAIABBBGohACAJIAR2IQogCUEBaiEJIApFDQAMAwsLQQEgB3QhCiAIQcAAakEEciEBQQAhDQNAIApBf2ohCSAHQYECbCEGA0AgACANQQJ0aiAGIAMgEC8BAEECdGooAgBqNgIAAkAgDSAJRw0AQQEhBiAEIAdNDQRBASEGIAdBAWohCQJAIAQgB2tBAXFFDQAgACAKQQJ0IgtqIAAgCxAZGiAKQQF0IQogCSEHCyAEIAlGDQQgBCAHayELA0AgACAKQQJ0IglqIAAgCRAZGiAAIApBA3QiCmogACAKEBkaIAkhCiALQX5qIgsNAAwFCwtBgICAgHggCSANc2d2IgtBf2ogDXEgC3IhDSAQQQJqIRAgDEF/aiIMDQALIAEgB0ECdGohCQNAAkAgB0EBaiIHIARLDQAgACAKQQJ0IgtqIAAgCxAZGiAKQQF0IQoLIAkoAgAhDCAJQQRqIQkgDEUNAAsgByAETQ0ACwtBASAEdCICQX9qIRIgCEHAAGpBBHIhE0F/IQkDQCATIAdBAnRqIQ5BfyAHdEF/cyEUIAcgBGsiFUGBAmwhFkEBIBV0IgZBAnQhBQNAAkACQCANIBJxIg8gCUcNACACIQsgCSEPDAELIBUhCiAGIQECQCAMIAZPDQAgDiEJIBUhCiAMIQsDQCAJKAIAIQEgCUEEaiEJIAEgC0EBdGoiC0EBIApBAWoiCnQiAUkNAAsLIAAgD0ECdGogAkEQdCAKQQh0ciAEckGAgANyNgIAIAEgAmohCyACIRELIAAgESANIAR2aiIKQQJ0aiEJIBYgAyAQLwEAQQJ0aigCAGohAQNAIAkgATYCACAJIAVqIQkgCiAGaiIKIAtJDQALAkAgDSAURw0AQQEhBgwDC0GAgICAeCANIBRzZ3YiCUF/aiANcSAJciENIBBBAmohECALIQIgDyEJIAxBf2oiDA0ACwNAIAdBAWohByAOKAIAIQwgDkEEaiEOIAxFDQALIAshAiAPIQkMAAsLIAhBgAFqJAAgBguiCwERfyMAQdAAayIHJAACQAJAAkACQAJAAkACQCACQRpJDQAgAS0AAEEfRw0AIAEtAAFBiwFHDQAgAS0AAkEIRw0AIAEtAANBBEcNACABLQAKQQZHDQAgAS0ADEHCAEcNACABLQANQcMARw0AIAEvABAiCEEZSQ0AIAIgCE0NACABIAhqQX1qKAAAQYCABEsNABBqQYABQQgQWCIJRQ0BQQAhCiAHQQA2AgwgByAJNgIIIAdBEDYCBBBqQYABQQgQWCILRQ0CIAdBADYCGCAHIAs2AhQgB0EQNgIQIAEgAhAaIghBAEgNA0EBIQwCQCAIRQ0AEGpBASEKIAhBARBYIgxFDQQLIAcgDDYCICAHIAg2AhwgB0EANgIkAkBBAC0AtJpAQQFGDQBBABAnCwJAAkBBACgCrJpADQBBAEF/NgKsmkBBACgClJpADQYgBvwDIQxBAEF/NgKUmkACQEEAKAKgmkAiCEGAgARPDQAgCCEKAkBBgIAEIAhrIg1BACgCmJpAIAhrTQ0AQZiawAAgCCANECNBACgCoJpAIQoLQQAoApyaQCIOIApqIQ0CQCAIQf//A0YNAAJAQf//AyAIayIPRQ0AIA1BACAP/AsACyAOIAogCGtB//8DaiIKaiENCyANQQA6AABBACAKQQFqNgKgmkALIAT8AyEQIAxBAWohEUEAIQ9BACEOQQAhCgJAA0AgAiAKTQ0BIAIgCmsiDEEaSQ0BIAEgCmoiCC0AAEEfRw0BIAgtAAFBiwFHDQEgCC0AAkEIRw0BIAgtAANBBEcNASAILQAKQQZHDQEgCC0ADEHCAEcNASAILQANQcMARw0BIAgvABAiDUEZSQ0BIAwgDU0NASAIIA1qQX1qKAAAIgxBgIAESw0BIAxBACgCoJpAIhJLDQkgB0EoakGwmsAAIAhBEmogDUFnakEAKAKcmkAiEyAMECggBy0AKA0DIAMgCrigIQYCQCAOIAcoAgRHDQAgB0EEahApIAcoAgghCQsgCSAPaiAGOQMAIAcgDkEBaiIONgIMAkAgBygCGCIIIAcoAhBHDQAgB0EQahApCyAHKAIUIgsgCEEDdGogBDkDACAHIAhBAWoiFDYCGAJAIAwgESAMIBFJGyAMIAYgBWYiFRsiFkEAIBAgChsiEk0NAAJAIBYgEmsiFiAHKAIcIAcoAiQiF2tNDQAgB0EcaiAXIBYQIyAHKAIkIRcLAkAgFkUNACAHKAIgIBdqIBMgEmogFvwKAAALIAcgFyAWajYCJAsgBEEAIAwgEmsiEiASIAxLG7igIQQgD0EIaiEPIAogDWpBAWohCiAVRQ0ACyADIAq4oCEDAkAgBygCBCAORw0AIAdBBGoQKQsgBygCCCAPaiADOQMAIAcgDkEBajYCDAJAIBQgBygCEEcNACAHQRBqECkgBygCFCELCyALIBRBA3RqIAQ5AwAgByAIQQJqNgIYC0EAQQAoApSaQEEBajYClJpAQQBBACgCrJpAQQFqNgKsmkAgACAHKQIcNwIAIAAgBykCEDcCGCAAIAcoAhg2AiAgByAHKAIkNgIwIAcgBykCBDcCNCAAIAcpAzA3AgggByAHKAIMNgI8IAAgBykDODcCEAwIC0HohcAAEDcAC0EAQQAoApSaQEEBajYClJpAQQBBACgCrJpAQQFqNgKsmkBBuIbAAEEUEGIhAiAAQX82AgAgACACNgIEAkAgBygCHCIARQ0AIAcoAiAgAEEBEFMLAkAgBygCECIARQ0AIAsgAEEDdEEIEFMLIAcoAgQiAEUNBiAHKAIIIABBA3RBCBBTDAYLQcyGwABBExBiIQIgAEF/NgIAIAAgAjYCBAwFC0EIQYABEEYAC0EIQYABEEYACyAKIAgQRgALQYiGwAAQNwALQQAgDCASQfiFwAAQEQALIAdB0ABqJAAL6wYBCH8CQAJAIAEgAEEDakF8cSICIABrIgNJDQAgASADayIEQQJ2IgVFDQAgBEEDcSEGQQAhB0EAIQECQCACIABGDQBBACEIQQAhAQJAIAAgAmsiCUF8Sw0AQQAhCEEAIQEDQCABIAAgCGoiAiwAAEG/f0pqIAJBAWosAABBv39KaiACQQJqLAAAQb9/SmogAkEDaiwAAEG/f0pqIQEgCEEEaiIIDQALCyAAIAhqIQIDQCABIAIsAABBv39KaiEBIAJBAWohAiAJQQFqIgkNAAsLIAAgA2ohCQJAIAZFDQAgCSAEQfz///8HcWoiAiwAAEG/f0ohByAGQQFGDQAgByACLAABQb9/SmohByAGQQJGDQAgByACLAACQb9/SmohBwsgByABaiEIA0AgCSEDIAVFDQIgBUHAASAFQcABSRsiB0EDcSEGAkACQCAHQQJ0IgRB8AdxIgENAEEAIQIMAQsgAyABaiEAQQAhAiADIQEDQCABQQxqKAIAIglBf3NBB3YgCUEGdnJBgYKECHEgAUEIaigCACIJQX9zQQd2IAlBBnZyQYGChAhxIAFBBGooAgAiCUF/c0EHdiAJQQZ2ckGBgoQIcSABKAIAIglBf3NBB3YgCUEGdnJBgYKECHEgAmpqamohAiABQRBqIgEgAEcNAAsLIAUgB2shBSADIARqIQkgAkEIdkH/gfwHcSACQf+B/AdxakGBgARsQRB2IAhqIQggBkUNAAsgAyAHQfwBcUECdGoiAigCACIBQX9zQQd2IAFBBnZyQYGChAhxIQECQCAGQQFGDQAgAigCBCIJQX9zQQd2IAlBBnZyQYGChAhxIAFqIQEgBkECRg0AIAIoAggiAkF/c0EHdiACQQZ2ckGBgoQIcSABaiEBCyABQQh2Qf+BHHEgAUH/gfwHcWpBgYAEbEEQdiAIaiEIDAELAkAgAQ0AQQAPCyABQQNxIQJBACEJQQAhCAJAIAFBBEkNACABQXxxIQVBACEIQQAhCQNAIAggACAJaiIBLAAAQb9/SmogAUEBaiwAAEG/f0pqIAFBAmosAABBv39KaiABQQNqLAAAQb9/SmohCCAFIAlBBGoiCUcNAAsgAkUNAQsgACAJaiEBA0AgCCABLAAAQb9/SmohCCABQQFqIQEgAkF/aiICDQALCyAIC/UGAQZ/AkACQAJAAkACQAJAAkACQCAAQXxqIgQoAgAiBUF4cSIGQQRBCCAFQQNxIgcbIAFqSQ0AIAFBJ2ohCAJAIAdFDQAgBiAISw0CCwJAAkAgAkEJSQ0AIAIgAxAOIgINAUEADwtBACECIANBzP97Sw0IQRAgA0ELakF4cSADQQtJGyEBIABBeGohCAJAIAcNACABQYACSQ0HIAhFDQcgBiABTQ0HIAYgAWtBgIAISw0HIAAPCyAIIAZqIQcCQAJAIAYgAU8NACAHQQAoAqieQEYNAQJAIAdBACgCpJ5ARg0AIAcoAgQiBUECcQ0JIAVBeHEiCSAGaiIFIAFJDQkgByAJEA8CQCAFIAFrIgdBEEkNACAEIAEgBCgCAEEBcXJBAnI2AgAgCCABaiIBIAdBA3I2AgQgCCAFaiIFIAUoAgRBAXI2AgQgASAHEA0MCQsgBCAFIAQoAgBBAXFyQQJyNgIAIAggBWoiASABKAIEQQFyNgIEDAgLQQAoApyeQCAGaiIHIAFJDQgCQAJAIAcgAWsiBkEPSw0AIAQgBUEBcSAHckECcjYCACAIIAdqIgEgASgCBEEBcjYCBEEAIQZBACEBDAELIAQgASAFQQFxckECcjYCACAIIAFqIgEgBkEBcjYCBCAIIAdqIgcgBjYCACAHIAcoAgRBfnE2AgQLQQAgATYCpJ5AQQAgBjYCnJ5ADAcLIAYgAWsiBkEPTQ0GIAQgASAFQQFxckECcjYCACAIIAFqIgEgBkEDcjYCBCAHIAcoAgRBAXI2AgQgASAGEA0MBgtBACgCoJ5AIAZqIgcgAUsNBAwGCwJAIAMgASADIAFJGyIDRQ0AIAIgACAD/AoAAAsgBCgCACIDQXhxIgdBBEEIIANBA3EiAxsgAWpJDQIgA0UNBiAHIAhNDQZBzJbAAEEuQfyWwAAQRwALQYyWwABBLkG8lsAAEEcAC0HMlsAAQS5B/JbAABBHAAtBjJbAAEEuQbyWwAAQRwALIAQgASAFQQFxckECcjYCACAIIAFqIgUgByABayIBQQFyNgIEQQAgATYCoJ5AQQAgBTYCqJ5ACyAIRQ0AIAAPCyADEAIiAUUNAQJAIANBfEF4IAQoAgAiAkEDcRsgAkF4cWoiAiADIAJJGyIDRQ0AIAEgACAD/AoAAAsgASECCyAAEAgLIAILoAYBBH8gAEF4aiIBIABBfGooAgAiAkF4cSIAaiEDAkACQCACQQFxDQAgAkECcUUNASABKAIAIgIgAGohAAJAIAEgAmsiAUEAKAKknkBHDQAgAygCBEEDcUEDRw0BQQAgADYCnJ5AIAMgAygCBEF+cTYCBCABIABBAXI2AgQgAyAANgIADwsgASACEA8LAkACQAJAAkACQAJAAkACQCADKAIEIgJBAnENACADQQAoAqieQEYNAiADQQAoAqSeQEYNAyADIAJBeHEiAhAPIAEgAiAAaiIAQQFyNgIEIAEgAGogADYCACABQQAoAqSeQEcNAUEAIAA2ApyeQA8LIAMgAkF+cTYCBCABIABBAXI2AgQgASAAaiAANgIACyAAQYACSQ0EIAEgABAQQQBBACgCvJ5AQX9qIgE2AryeQCABDQZBACgChJxAIgANAkH/HyEBDAMLQQAgATYCqJ5AQQBBACgCoJ5AIABqIgA2AqCeQCABIABBAXI2AgQCQCABQQAoAqSeQEcNAEEAQQA2ApyeQEEAQQA2AqSeQAsgAEEAKAK0nkAiAk0NBUEAKAKonkAiAEUNBUEAKAKgnkAiBEEpSQ0EQfybwAAhAQNAAkAgASgCACIDIABLDQAgACADIAEoAgRqSQ0GCyABKAIIIQEMAAsLQQAgATYCpJ5AQQBBACgCnJ5AIABqIgA2ApyeQCABIABBAXI2AgQgASAAaiAANgIADwtBACEBA0AgAUEBaiEBIAAoAggiAA0ACyABQf8fIAFB/x9LGyEBC0EAIAE2AryeQA8LAkACQEEAKAKUnkAiA0EBIABBA3Z0IgJxDQBBACADIAJyNgKUnkAgAEH4AXFBjJzAAGoiACEDDAELIABB+AFxIgBBjJzAAGohAyAAQZScwABqKAIAIQALIAMgATYCCCAAIAE2AgwgASADNgIMIAEgADYCCA8LAkACQEEAKAKEnEAiAA0AQf8fIQEMAQtBACEBA0AgAUEBaiEBIAAoAggiAA0ACyABQf8fIAFB/x9LGyEBC0EAIAE2AryeQCAEIAJNDQBBAEF/NgK0nkALC9kFAgh/AX5BK0F/IAAoAggiBkGAgIABcSIHGyEIIAdBFXZBASABGyAFaiEJAkACQCAGQYCAgARxDQBBACECDAELAkACQCADQRBJDQAgAiADEAYhBwwBCwJAIAMNAEEAIQcMAQsgA0EDcSEKQQAhC0EAIQcCQCADQQRJDQAgA0EMcSEMQQAhC0EAIQcDQCAHIAIgC2oiDSwAAEG/f0pqIA1BAWosAABBv39KaiANQQJqLAAAQb9/SmogDUEDaiwAAEG/f0pqIQcgDCALQQRqIgtHDQALIApFDQELIAIgC2ohDQNAIAcgDSwAAEG/f0pqIQcgDUEBaiENIApBf2oiCg0ACwsgByAJaiEJCyAIQS0gARshDAJAAkAgCSAALwEMIgFPDQACQAJAAkAgBkGAgIAIcQ0AIAEgCWshCEEAIQdBACEBAkACQAJAIAZBHXZBA3EOBAIAAQACCyAIIQEMAQsgCEH+/wNxQQF2IQELIAZB////AHEhCSAAKAIEIQsgACgCACEKA0AgB0H//wNxIAFB//8DcU8NAkEBIQ0gB0EBaiEHIAogCSALKAIQEQUARQ0ADAULCyAAIAApAggiDqdBgICA/3lxQbCAgIACcjYCCEEBIQ0gACgCACIKIAAoAgQiCyAMIAIgAxA1DQNBACEHIAEgCWtB//8DcSECA0AgB0H//wNxIAJPDQJBASENIAdBAWohByAKQTAgCygCEBEFAEUNAAwECwtBASENIAogCyAMIAIgAxA1DQIgCiAEIAUgCygCDBEHAA0CQQAhByAIIAFrQf//A3EhAANAIAdB//8DcSICIABJIQ0gAiAATw0DIAdBAWohByAKIAkgCygCEBEFAEUNAAwDCwtBASENIAogBCAFIAsoAgwRBwANASAAIA43AghBAA8LQQEhDSAAKAIAIgcgACgCBCIKIAwgAiADEDUNACAHIAQgBSAKKAIMEQcAIQ0LIA0L+gQBB38CQAJAIAAoAggiA0GAgIDAAXFFDQACQAJAAkACQAJAIANBgICAgAFxRQ0AIAAvAQ4iBA0BQQAhAgwCCwJAIAJBEEkNACABIAIQBiEFDAQLAkAgAg0AQQAhBQwECyACQQNxIQZBACEHQQAhBQJAIAJBBEkNACACQQxxIQRBACEFQQAhBwNAIAUgASAHaiIILAAAQb9/SmogCEEBaiwAAEG/f0pqIAhBAmosAABBv39KaiAIQQNqLAAAQb9/SmohBSAEIAdBBGoiB0cNAAsgBkUNBAsgASAHaiEIA0AgBSAILAAAQb9/SmohBSAIQQFqIQggBkF/aiIGDQAMBAsLIAEgAmohB0EAIQIgASEIIAQhBgNAIAgiBSAHRg0CAkACQCAFLAAAIghBf0wNACAFQQFqIQgMAQsCQCAIQWBPDQAgBUECaiEIDAELIAVBBEEDIAhBb0sbaiEICyAIIAVrIAJqIQIgBkF/aiIGDQALC0EAIQYLIAQgBmshBQsgBSAALwEMIghPDQAgCCAFayEJQQAhBUEAIQQCQAJAAkAgA0EddkEDcQ4EAgABAgILIAkhBAwBCyAJQf7/A3FBAXYhBAsgA0H///8AcSEHIAAoAgQhBiAAKAIAIQACQANAIAVB//8DcSAEQf//A3FPDQFBASEIIAVBAWohBSAAIAcgBigCEBEFAA0DDAALC0EBIQggACABIAIgBigCDBEHAA0BQQAhBSAJIARrQf//A3EhAgNAIAVB//8DcSIEIAJJIQggBCACTw0CIAVBAWohBSAAIAcgBigCEBEFAA0CDAALCyAAKAIAIAEgAiAAKAIEKAIMEQcAIQgLIAgL7QQBCX8jAEEQayIDJAACQAJAAkACQAJAAkAgAkEaSQ0AIAEtAABBH0cNACABLQABQYsBRw0AIAEtAAJBCEcNACABLQADQQRHDQAgAS0ACkEGRw0AIAEtAAxBwgBHDQAgAS0ADUHDAEcNACABLwAQIgRBGUkNACACIARNDQAgASAEakF9aigAAEGAgARLDQBBACEEIAEgAhAaIgVBAEgNBEEBIQYCQCAFRQ0AEGpBASEEIAVBARBZIgZFDQULAkBBAC0AtJpAQQFGDQBBABAnCwJAQQAoAqyaQA0AQQAhB0EAQX82AqyaQEEAIQgDQCACIAhrIglBGkkNBCABIAhqIgQtAABBH0cNBCAELQABQYsBRw0EIAQtAAJBCEcNBCAELQADQQRHDQQgBC0ACkEGRw0EIAQtAAxBwgBHDQQgBC0ADUHDAEcNBCAELwAQIgpBGUkNBCAJIApNDQQgBCAKakF9aigAACIJQYCABEsNBCAJIAdqIgsgCUkNByALIAVLDQcgA0EIakGwmsAAIARBEmogCkFnaiAGIAdqIAkQKCADLQAIDQMgCyEHIAggCmpBAWoiCCACTQ0ACyAIIAIgAkGohsAAEBEAC0HohcAAEDcAC0HMhsAAQRMQYiECIABBfzYCACAAIAI2AgQMAgtBAEEAKAKsmkBBAWo2AqyaQEG4hsAAQRQQYiECIABBfzYCACAAIAI2AgQgBUUNASAGIAVBARBTDAELIAAgBTYCCCAAIAY2AgQgACAFNgIAQQBBACgCrJpAQQFqNgKsmkALIANBEGokAA8LIAQgBRBGAAsgByALIAVBmIbAABARAAvABAEIfyMAQRBrIgQkAAJAAkACQCADQQFxDQAgAi0AACIFDQFBACEFDAILIAAgAiADQQF2IAEoAgwRBwAhBQwBCyABKAIMIQZBACEHA0AgAkEBaiEIAkACQAJAAkACQCAFwEF/Sg0AIAVB/wFxIglBgAFGDQEgCUHAAUcNAyAEIAE2AgQgBCAANgIAIARCoICAgAY3AgggAyAHQQN0aiIFKAIAIAQgBSgCBBEFAEUNAkEBIQUMBgsCQCAAIAggBUH/AXEiBSAGEQcADQAgCCAFaiECDAQLQQEhBQwFCwJAIAAgAkEDaiIFIAIvAAEiAiAGEQcADQAgBSACaiECDAMLQQEhBQwECyAHQQFqIQcgCCECDAELQaCAgIAGIQoCQCAFQQFxRQ0AIAJBBWohCCACKAABIQoLQQAhCQJAAkAgBUECcQ0AQQAhCyAIIQIMAQsgCEECaiECIAgvAAAhCwsCQAJAIAVBBHENACACIQgMAQsgAkECaiEIIAIvAAAhCQsCQAJAIAVBCHENACAIIQIMAQsgCEECaiECIAgvAAAhBwsCQCAFQRBxRQ0AIAMgC0H//wNxQQN0ai8BBCELCwJAIAVBIHFFDQAgAyAJQf//A3FBA3RqLwEEIQkLIAQgCTsBDiAEIAs7AQwgBCAKNgIIIAQgATYCBCAEIAA2AgACQCADIAdBA3RqIgUoAgAgBCAFKAIEEQUARQ0AQQEhBQwDCyAHQQFqIQcLIAItAAAiBQ0AC0EAIQULIARBEGokACAFC4MEAQJ/IAAgAWohAgJAAkACQCAAKAIEIgNBAXENACADQQJxRQ0BIAAoAgAiAyABaiEBAkAgACADayIAQQAoAqSeQEcNACACKAIEQQNxQQNHDQFBACABNgKcnkAgAiACKAIEQX5xNgIEIAAgAUEBcjYCBCACIAE2AgAPCyAAIAMQDwsCQAJAAkAgAigCBCIDQQJxDQAgAkEAKAKonkBGDQIgAkEAKAKknkBGDQQgAiADQXhxIgMQDyAAIAMgAWoiAUEBcjYCBCAAIAFqIAE2AgAgAEEAKAKknkBHDQFBACABNgKcnkAPCyACIANBfnE2AgQgACABQQFyNgIEIAAgAWogATYCAAsCQCABQYACSQ0AIAAgARAQDwsCQAJAQQAoApSeQCICQQEgAUEDdnQiA3ENAEEAIAIgA3I2ApSeQCABQfgBcUGMnMAAaiIBIQIMAQsgAUH4AXEiAUGMnMAAaiECIAFBlJzAAGooAgAhAQsgAiAANgIIIAEgADYCDCAAIAI2AgwgACABNgIIDwtBACAANgKonkBBAEEAKAKgnkAgAWoiATYCoJ5AIAAgAUEBcjYCBCAAQQAoAqSeQEcNAEEAQQA2ApyeQEEAQQA2AqSeQAsPC0EAIAA2AqSeQEEAQQAoApyeQCABaiIBNgKcnkAgACABQQFyNgIEIAAgAWogATYCAAvvAgEFf0EAIQICQCABQc3/eyAAQRAgAEEQSxsiAGtPDQAgAEEQIAFBC2pBeHEgAUELSRsiA2pBDGoQAiIBRQ0AIAFBeGohAgJAAkAgAEF/aiIEIAFxDQAgAiEADAELIAFBfGoiBSgCACIGQXhxIAQgAWpBACAAa3FBeGoiAUEAIAAgASACa0EQSxtqIgAgAmsiAWshBAJAIAZBA3FFDQAgACAEIAAoAgRBAXFyQQJyNgIEIAAgBGoiBCAEKAIEQQFyNgIEIAUgASAFKAIAQQFxckECcjYCACACIAFqIgQgBCgCBEEBcjYCBCACIAEQDQwBCyACKAIAIQIgACAENgIEIAAgAiABajYCAAsCQCAAKAIEIgFBA3FFDQAgAUF4cSICIANBEGpNDQAgACADIAFBAXFyQQJyNgIEIAAgA2oiASACIANrIgNBA3I2AgQgACACaiICIAIoAgRBAXI2AgQgASADEA0LIABBCGohAgsgAguJAwEEfyAAKAIMIQICQAJAAkACQCABQYACSQ0AIAAoAhghAwJAAkACQCACIABHDQAgAEEUQRAgACgCFCICG2ooAgAiAQ0BQQAhAgwCCyAAKAIIIgEgAjYCDCACIAE2AggMAQsgAEEUaiAAQRBqIAIbIQQDQCAEIQUgASICQRRqIAJBEGogAigCFCIBGyEEIAJBFEEQIAEbaigCACIBDQALIAVBADYCAAsgA0UNAgJAAkAgACAAKAIcQQJ0QfyawABqIgEoAgBGDQAgAygCECAARg0BIAMgAjYCFCACDQMMBAsgASACNgIAIAJFDQQMAgsgAyACNgIQIAINAQwCCwJAIAIgACgCCCIERg0AIAQgAjYCDCACIAQ2AggPC0EAQQAoApSeQEF+IAFBA3Z3cTYClJ5ADwsgAiADNgIYAkAgACgCECIBRQ0AIAIgATYCECABIAI2AhgLIAAoAhQiAUUNACACIAE2AhQgASACNgIYDwsPC0EAQQAoApieQEF+IAAoAhx3cTYCmJ5AC8cCAQR/QQAhAgJAIAFBCHYiA0UNAEEfIQIgAUGAgIAITw0AIAFBJiADZyICa3ZBAXEgAkEBdHJBPnMhAgsgAEIANwIQIAAgAjYCHCACQQJ0QfyawABqIQMCQEEAKAKYnkBBASACdCIEcQ0AIAMgADYCACAAIAM2AhggACAANgIMIAAgADYCCEEAQQAoApieQCAEcjYCmJ5ADwsCQAJAAkAgAygCACIEKAIEQXhxIAFHDQAgBCECDAELIAFBAEEZIAJBAXZrIAJBH0YbdCEDA0AgBCADQR12QQRxaiIFKAIQIgJFDQIgA0EBdCEDIAIhBCACKAIEQXhxIAFHDQALCyACKAIIIgMgADYCDCACIAA2AgggAEEANgIYIAAgAjYCDCAAIAM2AggPCyAFQRBqIAA2AgAgACAENgIYIAAgADYCDCAAIAA2AggLpQICAX8BfiMAQSBrIgQkAAJAAkACQCAAIAJLDQAgASACSw0BQRetQiCGIQUgACABTQ0CIAQgADYCCCAEIAE2AgwgBCAFIARBDGqthDcDGCAEIAUgBEEIaq2ENwMQQb6AwAAgBEEQaiADEDEACyAEIAA2AgggBCACNgIMIARBF61CIIYiBSAEQQxqrYQ3AxggBCAFIARBCGqthDcDEEHmgMAAIARBEGogAxAxAAsgBCABNgIIIAQgAjYCDCAEQRetQiCGIgUgBEEMaq2ENwMYIAQgBSAEQQhqrYQ3AxBBn4HAACAEQRBqIAMQMQALIAQgATYCCCAEIAI2AgwgBCAFIARBDGqthDcDGCAEIAUgBEEIaq2ENwMQQZ+BwAAgBEEQaiADEDEAC6cCAQd/IwBBEGsiAiQAQQohAyAAKAIAIgQhBQJAIARB6AdJDQBBCiEDIAQhBQNAIAJBBmogA2oiBkF8aiAFIgAgAEGQzgBuIgVBkM4AbGsiB0H//wNxQeQAbiIIQQF0LwC0mEA7AAAgBkF+aiAHIAhB5ABsa0H//wNxQQF0LwC0mEA7AAAgA0F8aiEDIABB/6ziBEsNAAsLAkACQCAFQQlLDQAgBSEADAELIAJBBmogA0F+aiIDaiAFIAVB//8DcUHkAG4iAEHkAGxrQf//A3FBAXQvALSYQDsAAAsCQAJAIARFDQAgAEUNAQsgAkEGaiADQX9qIgNqIABBAXQtALWYQDoAAAsgAUEBQQFBACACQQZqIANqQQogA2sQCSEDIAJBEGokACADC5oCAQZ/IAAoAgghAgJAAkAgAUGAAU8NAEEBIQMMAQsCQCABQYAQTw0AQQIhAwwBC0EDQQQgAUGAgARJGyEDCwJAIAMgACgCACACa00NACAAIAIgA0EBQQEQIgsgACgCBCACaiEEAkACQCABQYABSQ0AIAFBP3FBgH9yIQUgAUEGdiEGAkAgAUGAEE8NACAEIAU6AAEgBCAGQcABcjoAAAwCCyABQQx2IQcgBkE/cUGAf3IhBgJAIAFB//8DSw0AIAQgBToAAiAEIAY6AAEgBCAHQeABcjoAAAwCCyAEIAU6AAMgBCAGOgACIAQgB0E/cUGAf3I6AAEgBCABQRJ2QXByOgAADAELIAQgAToAAAsgACADIAJqNgIIQQALggIBB38jAEEQayICJAACQAJAAkACQCABDQAgAEUNASAAQXhqIgEoAgBBAUcNAiAAKAIgIQMgACgCHCEEIAAoAhQhBSAAKAIQIQYgACgCCCEHIAAoAgQhCCABQQA2AgACQCABQX9GDQAgAEF8aiIAIAAoAgBBf2oiADYCACAADQAgAUEwQQQQUwsCQCAIRQ0AIAcgCEEBEFMLAkAgBkUNACAFIAZBA3RBCBBTCyAERQ0DIAMgBEEDdEEIEFMMAwsgAEUNACAAQXhqIgAgACgCAEF/aiIBNgIAIAIgADYCDCABDQIgAkEMahAlDAILEFsAC0HwhsAAQT8QWgALIAJBEGokAAuKAgEDfyMAQSBrIgUkAAJAAkACQAJAAkACQAJAAkBBARAvQf8BcQ4DBAEAAQtBACgC7JpAIgZBf0wNAyAGQQFqIgcgBkgNBEEAIAc2AuyaQEEAKALwmkBFDQEgBUEIaiAAIAEoAhQRBAAgBSAEOgAdIAUgAzoAHCAFIAI2AhggBSAFKQMINwIQQQAoAvCaQCAFQRBqQQAoAvSaQCgCFBEEAAwCCyAFIAAgASgCGBEEAAALQX8gBRBCC0EAQQAoAuyaQCIFQX9qNgLsmkAgBUEATA0CQQBBADoA5JpAIAMNAwsAC0GMl8AAQRxBqJfAABAyAAtB2JfAAEHNAEGAmMAAEDEACyAAIAEQVAAL2gEBAX8jAEEwayIHJAAgB0EMaiABIAIgAyAEIAUgBhAFAkAgAkUNACABIAJBARBTCwJAAkACQCAHKAIMQX9HDQBBASEBIAcoAhAhAgwBCxBqQTBBBBBYIgJFDQFBACEBIAJBADYCCCACQoGAgIAQNwIAIAIgBykCDDcCDCACIAcpAhQ3AhQgAiAHKQIcNwIcIAIgBykCJDcCJCACIAcoAiw2AiwgAkEIaiECCyAAIAE2AgggACACQQAgARs2AgQgAEEAIAIgARs2AgAgB0EwaiQADwtBBEEwEF8AC8gBAQN/IwBBEGsiAyQAIANBBGogASACEAsCQCACRQ0AIAEgAkEBEFMLAkACQAJAIAMoAgQiBEF/Rw0AQQEhBEEAIQEgAygCCCEFQQAhAgwBCyADKAIIIQUCQAJAIAQgAygCDCICSw0AIAUhAQwBCwJAIAINAEEBIQEgBSAEQQEQUwwBCyAFIARBASACEE4iAUUNAgtBACEFQQAhBAsgACAENgIMIAAgBTYCCCAAIAI2AgQgACABNgIAIANBEGokAA8LQQEgAhBGAAvnAQICfwF+IwBBIGsiAiQAAkAgASgCAEF/Rw0AIAEoAgwhAyACQQA2AhggAkKAgICAEDcCECACQRBqQZyVwAAgAygCACIDKAIAIAMoAgQQDBogAiACKAIYIgM2AgggAiACKQIQIgQ3AwAgASADNgIIIAEgBDcCAAsgASgCCCEDIAFBADYCCCABKQIAIQQgAUKAgICAEDcCACACIAM2AhggAiAENwMQEGoCQEEMQQQQWCIBDQBBBEEMEF8ACyABIAIoAhg2AgggASACKQMQNwIAIABByJfAADYCBCAAIAE2AgAgAkEgaiQAC7gBAQR/AkAgAkUNACACQQNxIQNBACEEAkAgAkEESQ0AIAJBfHEhBUEAIQQDQCAAIARqIgIgASAEaiIGLQAAOgAAIAJBAWogBkEBai0AADoAACACQQJqIAZBAmotAAA6AAAgAkEDaiAGQQNqLQAAOgAAIAUgBEEEaiIERw0ACwsgA0UNACABIARqIQIgACAEaiEEA0AgBCACLQAAOgAAIAJBAWohAiAEQQFqIQQgA0F/aiIDDQALCyAAC7kBAQV/QQAhAkEAIQMCQANAIAEgA2siBEEaSQ0BIAAgA2oiBS0AAEEfRw0BIAUtAAFBiwFHDQEgBS0AAkEIRw0BIAUtAANBBEcNASAFLQAKQQZHDQEgBS0ADEHCAEcNASAFLQANQcMARw0BIAUvABAiBkEZSQ0BIAQgBk0NASAFIAZqQX1qKAAAIgVBgIAESw0BIAUgAmohAiADIAZqQQFqIgMgAU0NAAsgAyABIAFB4IbAABARAAsgAgvFAQEFfwJAAkACQAJAIAFFDQAgAUF4aiICIAIoAgAiA0EBaiIENgIAIARFDQEgASgCAA0CIAEoAhghBCABQQA2AhggASgCFCEFIAEoAhAhBiABQoCAgICAATcCECACIAM2AgACQAJAIAYgBEsNACAFIQEMAQsgBkEDdCECAkAgBA0AQQghASAFIAJBCBBTDAELIAUgAkEIIARBA3QiBhBOIgFFDQQLIAAgBDYCBCAAIAE2AgAPCxBbCwALEFwAC0EIIAYQRgALxQEBBX8CQAJAAkACQCABRQ0AIAFBeGoiAiACKAIAIgNBAWoiBDYCACAERQ0BIAEoAgANAiABKAIkIQQgAUEANgIkIAEoAiAhBSABKAIcIQYgAUKAgICAgAE3AhwgAiADNgIAAkACQCAGIARLDQAgBSEBDAELIAZBA3QhAgJAIAQNAEEIIQEgBSACQQgQUwwBCyAFIAJBCCAEQQN0IgYQTiIBRQ0ECyAAIAQ2AgQgACABNgIADwsQWwsACxBcAAtBCCAGEEYAC7UBAQN/AkAgAkUNACACQQdxIQNBACEEAkAgAkEISQ0AIAJBeHEhBUEAIQQDQCAAIARqIgIgAToAACACQQdqIAE6AAAgAkEGaiABOgAAIAJBBWogAToAACACQQRqIAE6AAAgAkEDaiABOgAAIAJBAmogAToAACACQQFqIAE6AAAgBSAEQQhqIgRHDQALCyADRQ0AIAAgBGohAgNAIAIgAToAACACQQFqIQIgA0F/aiIDDQALCyAAC7gBAQV/AkACQAJAAkAgAUUNACABQXhqIgIgAigCACIDQQFqIgQ2AgAgBEUNASABKAIADQIgASgCDCEEIAFBADYCDCABKAIIIQUgASgCBCEGIAFCgICAgBA3AgQgAiADNgIAAkACQCAGIARLDQAgBSEBDAELAkAgBA0AQQEhASAFIAZBARBTDAELIAUgBkEBIAQQTiIBRQ0ECyAAIAQ2AgQgACABNgIADwsQWwsACxBcAAtBASAEEEYAC6oBAgJ/AX5BASEGQQQhBwJAAkAgBa0gA61+IghCIIinRQ0AQQAhAwwBCwJAIAinIgNBgICAgHggBGtNDQBBACEDDAELAkACQAJAAkAgAUUNACACIAUgAWwgBCADEE4hBwwBCwJAIAMNACAEIQcMAgsQaiADIAQQWCEHCyAHDQAgACAENgIEDAELIAAgBzYCBEEAIQYLQQghBwsgACAHaiADNgIAIAAgBjYCAAuqAQICfwF+QQEhBkEEIQcCQAJAIAWtIAOtfiIIQiCIp0UNAEEAIQMMAQsCQCAIpyIDQYCAgIB4IARrTQ0AQQAhAwwBCwJAAkACQAJAIAFFDQAgAiAFIAFsIAQgAxBOIQcMAQsCQCADDQAgBCEHDAILEGogAyAEEFghBwsgBw0AIAAgBDYCBAwBCyAAIAc2AgRBACEGC0EIIQcLIAAgB2ogAzYCACAAIAY2AgALtQEBAn8CQAJAIAJFDQBBAC0AwZ5AIQNBAEEBOgDBnkBB0J7AACEEQYCAxABB0J7AAE0NACACQYCAxABB0J7AAGtLDQAgA0H/AXENAEGAgMQAQdCewABrIQIMAQtBACEEAkAgAkEQdiACQf//A3FBAEdqIgJAACIDQX9HDQBBACECDAELIAJBEHQiAkFwaiACIANBEHQiBEEAIAJrRhshAgsgAEEANgIIIAAgAjYCBCAAIAQ2AgALlQEBAX8jAEEQayIFJAACQCACIAFqIgEgAk8NAEEAQQAQRgALIAVBBGogACgCACICIAAoAgQgASACQQF0IgIgASACSxsiAkEIQQQgBEEBRhsiASACIAFLGyICIAMgBBAgAkAgBSgCBEEBRw0AIAUoAgggBSgCDBBGAAsgBSgCCCEEIAAgAjYCACAAIAQ2AgQgBUEQaiQAC4sBAQF/IwBBEGsiAyQAAkAgAiABaiIBIAJPDQBBAEEAEEYACyADQQRqIAAoAgAiAiAAKAIEIAEgAkEBdCICIAEgAksbIgJBCCACQQhLGyICQQFBARAfAkAgAygCBEEBRw0AIAMoAgggAygCDBBGAAsgAygCCCEBIAAgAjYCACAAIAE2AgQgA0EQaiQAC48BAgJ/AX4jAEEgayICJAACQCABKAIAQX9HDQAgASgCDCEDIAJBADYCHCACQoCAgIAQNwIUIAJBFGpBnJXAACADKAIAIgMoAgAgAygCBBAMGiACIAIoAhwiAzYCECACIAIpAhQiBDcDCCABIAM2AgggASAENwIACyAAQciXwAA2AgQgACABNgIAIAJBIGokAAt8AQF/AkAgACgCACIAKAIMIgFFDQAgACgCECABQQEQUwsCQCAAKAIYIgFFDQAgACgCHCABQQN0QQgQUwsCQCAAKAIkIgFFDQAgACgCKCABQQN0QQgQUwsCQCAAQX9GDQAgACAAKAIEQX9qIgE2AgQgAQ0AIABBMEEEEFMLC4QBAQN/IwBBEGsiASQAAkAgACgCACICKAIEIgNBAXFFDQAgAigCACECIAEgA0EBdjYCBCABIAI2AgAgAUG0lcAAIAAoAgQgACgCCCIALQAIIAAtAAkQFQALIAFBfzYCACABIAA2AgwgAUHQlcAAIAAoAgQgACgCCCIALQAIIAAtAAkQFQALkAEBAX8CQAJAIABFDQAgACgCACEBIABBADYCACABQQFxRQ0AIAAoAgghASAAKAIEIQAMAQtBACEAEEEhAQsCQAJAAkBBAC0AtJpAQX9qDgIBAAILQYCAwABB/QBB2IXAABAxAAtBAEECOgC0mkBBsJrAABBjC0EAQQE6ALSaQEEAIAE2ArCaQEEAIAA2AqyaQAuEAQECfyMAQRBrIgYkAEEAIQcgBkEANgIMAkACQAJAAkACQCABKAIAIAIgAyAEIAUgBkEMahBJDgQBAgADAAtBvIjAAEHsAEGoicAAEDgACyAAIAYoAgw2AgQMAgsgAEEAOgABQQEhBwwBC0EBIQcgAEEBOgABCyAAIAc6AAAgBkEQaiQAC2sBA38jAEEQayIBJAAgAUEEaiAAKAIAIgIgACgCBCACQQF0IgJBBCACQQRLGyICQQhBCBAfAkAgASgCBEEBRw0AIAEoAgggASgCDBBGAAsgASgCCCEDIAAgAjYCACAAIAM2AgQgAUEQaiQAC2ABAn8CQAJAIABBfGooAgAiA0F4cSIEQQRBCCADQQNxIgMbIAFqSQ0AAkAgA0UNACAEIAFBJ2pLDQILIAAQCA8LQYyWwABBLkG8lsAAEEcAC0HMlsAAQS5B/JbAABBHAAtaAQF/AkACQAJAIAIgACgCACAAKAIIIgNrTQ0AIAAgAyACQQFBARAiIAAoAgghAwwBCyACRQ0BCyACRQ0AIAAoAgQgA2ogASAC/AoAAAsgACADIAJqNgIIQQALWQECfyABKAIAIQIgAUEANgIAAkACQCACRQ0AIAEoAgQhAxBqQQhBBBBYIgFFDQEgASADNgIEIAEgAjYCACAAQbiXwAA2AgQgACABNgIADwsAC0EEQQgQXwALXQECf0EAIQECQCAAKAIAQQxHDQBBACEBQazaACAAKAIEIgJBACgC2JpAIAIbEQMAIgJFDQAgAkEAQazaABAdIgEgACgCCCIAQQAoAtyaQCAAGzYCqFogASEBCyABC0UAAkACQCABQQlJDQAgASAAEA4hAQwBCyAAEAIhAQsCQCABRQ0AIAFBfGotAABBA3FFDQAgAEUNACABQQAgAPwLAAsgAQtSAQJ/QQAhAUEAQQAoAviaQCICQQFqNgL4mkACQCACQQBIDQBBASEBQQAtAOSaQA0AQQAgADoA5JpAQQBBACgC4JpAQQFqNgLgmkBBAiEBCyABC0cBAn8gASgCBCECIAEoAgAhAxBqAkBBCEEEEFgiAQ0AQQRBCBBfAAsgASACNgIEIAEgAzYCACAAQbiXwAA2AgQgACABNgIACzsBAX8jAEEgayIDJAAgAyABNgIQIAMgADYCDCADQQE7ARwgAyACNgIYIAMgA0EMajYCFCADQRRqEDoACzkBAX8jAEEQayIDJAAgAyABNgIEIAMgADYCACADQRmtQiCGIAOthDcDCEHUgcAAIANBCGogAhAxAAs0AAJAIAFpQQFHDQAgAEGAgICAeCABa0sNAAJAIABFDQAQaiAAIAEQWCIBRQ0BCyABDwsACzwAAkAgACgCAEF/Rg0AIAEgACgCBCAAKAIIEE0PCyABKAIAIAEoAgQgACgCDCgCACIAKAIAIAAoAgQQDAs2AAJAIAJBf0YNACAAIAIgASgCEBEFAEUNAEEBDwsCQCADDQBBAA8LIAAgAyAEIAEoAgwRBwALNQEBfwJAIABFDQACQCABKAIAIgJFDQAgACACEQIACyABKAIEIgJFDQAgACACIAEoAggQUwsLKwEBfyMAQRBrIgEkACABQRitQiCGIAFBD2qthDcDAEHUgcAAIAEgABAxAAsqAQF/IwBBEGsiAyQAIAMgAjYCDCADIAE2AgggAyAANgIEIANBBGoQZAALLQEBfyMAQRBrIgEkACABIAApAgA3AgggAUEIakGAlcAAIAAoAghBAUEAEBUACywCAX8BfiMAQRBrIgEkACAAKQIAIQIgASAANgIMIAEgAjcCBCABQQRqEGYACyMBAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqEGUACyAAAkAgASgCAEUNACAAQbiXwAA2AgQgACABNgIADwsACx4BAX8CQCAAKAIAIgJFDQAgASACIAAoAgQQTQ8LAAsbAQF/EGogAEEEakEEEFgiASAANgIAIAFBBGoLHgEBfwJAIAAoAgAiAUEBSA0AIAAoAgQgAUEBEFMLCx4AIAAoAgAgACgCBEEAKALomkAiAEEEIAAbEQQAAAsjAQF/AkBBhIrAABAtIgANAEG4icAAQTpB9InAABA4AAsgAAsXAAJAIABBf2pBfk8NACABIABBARBTCwscAQF/AkAgACgCACIBRQ0AIAAoAgQgAUEBEFMLCxcAAkAgAUEJSQ0AIAEgABAODwsgABACCxUAIABBfGoiACAAKAIAQQRqQQQQUwsUAAJAIABFDQAgACABEF8ACxBWAAsRACAAIAFBAXRBAXIgAhAxAAsSAAJAIAFFDQAgACABIAIQUwsLEgAgACABIAIgAyAEQQAgBRADCxUAAkAgAEUNACAAIAAoAqhaEQIACwsaACAAQQApAoSWQDcCCCAAQQApAvyVQDcCAAsaACAAQQApAvSVQDcCCCAAQQApAuyVQDcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQcACw0AIAAgASACIAMQBw8LFABBACAANgK8mkBBAEEBNgK4mkALEwAgAEG4l8AANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBBNCxAAIAEgACgCACAAKAIEEAoLCwAgACABIAIQKg8LCgAgACABEGkaAAsPACAAQZyVwAAgASACEAwLEQBBkJjAAEEjQaSYwAAQMQALCwAgACMAaiQAIwALCQAgACABEEQPCwkAIAAgARAuDwsJACAAIAEQYQALDABBr4fAAEEbEFoACw0AQcqHwABBzwAQWgALCQAgASAAEDsACwwAIAAgASkCADcDAAsJACABIAAQXQALDQAgAUH8mcAAQRgQCgsIACAAIAEQAAsIACAAIAEQAQsJACAAKAIAEEoLBwAgABA5AAsHACAAEEAACwcAIAAQJgALCwBBAEEBOgDAnkALCQAgAEEANgIACwUAEGsACwMADwsDAAALAgALC74aAgBBgIDAAAuUGkF0dGVtcHRlZCB0byBpbml0aWFsaXplIHRocmVhZC1sb2NhbCB3aGlsZSBpdCBpcyBiZWluZyBkcm9wcGVkFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAvcnVzdGMvNDhhMjI5Y2VhZWZkNDk4NWM1MDk5MGIxNDExNmI2ZDg1NmFmMDk4NS9saWJyYXJ5L3N0ZC9zcmMvc3lzL3RocmVhZF9sb2NhbC9ub190aHJlYWRzLnJzAC9ydXN0Yy80OGEyMjljZWFlZmQ0OTg1YzUwOTkwYjE0MTE2YjZkODU2YWYwOTg1L2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9yd2xvY2svbm9fdGhyZWFkcy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEyNi9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy80OGEyMjljZWFlZmQ0OTg1YzUwOTkwYjE0MTE2YjZkODU2YWYwOTg1L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjEzL3NyYy9kbG1hbGxvYy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJkZWZsYXRlci0xLjI1LjIvc3JjL2xpYi5ycwAA1gAQAF4AAABrAAAADQAAAMwCEAAKAAAAHAAAACQAAADMAhAACgAAAMIAAAApAAAAzAIQAAoAAAC2AAAAJwAAAMwCEAAKAAAAcQAAABwAAADMAhAACgAAAG0AAABBAAAAZGVjb21wcmVzc2lvbiBmYWlsZWRpbnZhbGlkIGJnemYgaGVhZGVyAMwCEAAKAAAATAAAAD0A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",CA=class t{static __wrap(e){let A=Object.create(t.prototype);return A.__wbg_ptr=e,Ht.register(A,A.__wbg_ptr,A),A}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ht.unregister(this),e}free(){let e=this.__destroy_into_raw();F.__wbg_chunksliceresult_free(e,0)}take_buffer(){try{let n=F.__wbindgen_add_to_stack_pointer(-16);F.chunksliceresult_take_buffer(n,this.__wbg_ptr);var e=R().getInt32(n+0,!0),A=R().getInt32(n+4,!0),i=Zt(e,A).slice();return F.__wbindgen_export(e,A*1,1),i}finally{F.__wbindgen_add_to_stack_pointer(16)}}take_cpositions(){try{let n=F.__wbindgen_add_to_stack_pointer(-16);F.chunksliceresult_take_cpositions(n,this.__wbg_ptr);var e=R().getInt32(n+0,!0),A=R().getInt32(n+4,!0),i=Kt(e,A).slice();return F.__wbindgen_export(e,A*8,8),i}finally{F.__wbindgen_add_to_stack_pointer(16)}}take_dpositions(){try{let n=F.__wbindgen_add_to_stack_pointer(-16);F.chunksliceresult_take_dpositions(n,this.__wbg_ptr);var e=R().getInt32(n+0,!0),A=R().getInt32(n+4,!0),i=Kt(e,A).slice();return F.__wbindgen_export(e,A*8,8),i}finally{F.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(CA.prototype[Symbol.dispose]=CA.prototype.free);function qt(t){try{let Q=F.__wbindgen_add_to_stack_pointer(-16),r=zt(t,F.__wbindgen_export2),B=ue;F.decompress_all(Q,r,B);var e=R().getInt32(Q+0,!0),A=R().getInt32(Q+4,!0),i=R().getInt32(Q+8,!0),n=R().getInt32(Q+12,!0);if(n)throw Ot(i);var g=Zt(e,A).slice();return F.__wbindgen_export(e,A*1,1),g}finally{F.__wbindgen_add_to_stack_pointer(16)}}function Tt(t,e,A,i,n){try{let B=F.__wbindgen_add_to_stack_pointer(-16),o=zt(t,F.__wbindgen_export2),I=ue;F.decompress_chunk_slice(B,o,I,e,A,i,n);var g=R().getInt32(B+0,!0),Q=R().getInt32(B+4,!0),r=R().getInt32(B+8,!0);if(r)throw Ot(Q);return CA.__wrap(g)}finally{F.__wbindgen_add_to_stack_pointer(16)}}function Ki(t,e){let A=Error(Xt(t,e));return Ti(A)}function qi(t,e){throw new Error(Xt(t,e))}var Ht=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(t=>F.__wbg_chunksliceresult_free(t,1));function Ti(t){uA===Z.length&&Z.push(Z.length+1);let e=uA;return uA=Z[e],Z[e]=t,e}function Zi(t){t<1028||(Z[t]=uA,uA=t)}function Kt(t,e){return t=t>>>0,Xi().subarray(t/8,t/8+e)}function Zt(t,e){return t=t>>>0,de().subarray(t/1,t/1+e)}var BA=null;function R(){return(BA===null||BA.buffer.detached===!0||BA.buffer.detached===void 0&&BA.buffer!==F.memory.buffer)&&(BA=new DataView(F.memory.buffer)),BA}var vA=null;function Xi(){return(vA===null||vA.byteLength===0)&&(vA=new Float64Array(F.memory.buffer)),vA}function Xt(t,e){return Wi(t>>>0,e)}var MA=null;function de(){return(MA===null||MA.byteLength===0)&&(MA=new Uint8Array(F.memory.buffer)),MA}function zi(t){return Z[t]}var Z=new Array(1024).fill(void 0);Z.push(void 0,null,!0,!1);var uA=Z.length;function zt(t,e){let A=e(t.length*1,1)>>>0;return de().set(t,A/1),ue=t.length,A}function Ot(t){let e=zi(t);return Zi(t),e}var _A=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});_A.decode();var Oi=2146435072,fe=0;function Wi(t,e){return fe+=e,fe>=Oi&&(_A=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),_A.decode(),fe=e),_A.decode(de().subarray(t,t+e).slice())}var ue=0,F;function Wt(t){F=t}var iA=null,he=null;async function Pt(){return iA||(he||(he=(async()=>{let e=await(await fetch(Hi)).arrayBuffer(),{instance:A}=await WebAssembly.instantiate(e,{"./bgzf_wasm_bg.js":le});return iA=A.exports,Wt(iA),iA})()),he)}async function jt(t){return iA||await Pt(),qt(t)}async function Vt(t,e,A,i,n){iA||await Pt();let g=Tt(t,e,A,i,n),Q=g.take_buffer(),r=g.take_cpositions(),B=g.take_dpositions();return g.free(),{buffer:Q,cpositions:r,dpositions:B}}var Pi=26;function Ai(t){return t[0]===31&&t[1]===139}function ji(t){return t.length>=Pi&&Ai(t)&&t[2]===8&&t[3]===4&&t[10]===6&&t[12]===66&&t[13]===67}function ei(t){return t instanceof Error?t.message:`${t}`}async function $t(t){if(typeof DecompressionStream<"u"){let e=new Blob([t]).stream().pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(e).arrayBuffer())}else return Lt(t,void 0)}function ti(t){return ei(t).includes("invalid gzip header")?new Error("problem decompressing block: incorrect gzip header check",{cause:t}):t}async function wA(t){if(t.length===0)return new Uint8Array(0);if(!ji(t)){if(Ai(t))return $t(t);throw new Error("problem decompressing block: not a valid bgzf or gzip block")}try{return await jt(t)}catch(e){if(ei(e).includes("invalid bgzf header"))return $t(t);throw ti(e)}}function Vi(t,e,A,i){let n=[],g=[],Q=[],r=A.dataPosition;for(let B=0;B<t.length;B++){let o=t[B],I=e[B],f=I.filePosition>=i.blockPosition;n.push(I.filePosition),g.push(r);let s=B===0?A.dataPosition:0,a=f?Math.min(i.dataPosition+1,o.length):o.length;if(s<a&&Q.push(o.subarray(s,a)),r+=o.length-s,f){n.push(I.filePosition+I.compressedSize),g.push(r);break}}return{buffer:Ut(Q),cpositions:Float64Array.from(n),dpositions:Float64Array.from(g)}}var ii=4e5;function $i(t){let e=0;for(let A of t)e+=A.decompressedSize;return e}async function we(t,e,A){let{minv:i,maxv:n}=e;if(A){let g=Yt(t,i.blockPosition,n.blockPosition);if($i(g)>=ii){let Q=await A.decompressBlocks(t,g);return Vi(Q.blocks,g,i,n)}}try{let g=await Vt(t,i.blockPosition,i.dataPosition,n.blockPosition,n.dataPosition);return{buffer:g.buffer,cpositions:g.cpositions,dpositions:g.dpositions}}catch(g){throw ti(g)}}function ke(t){if(t?.aborted)throw De(t)}function De(t){let e=t.reason;return e===void 0?new DOMException("This operation was aborted","AbortError"):e}var j=class{entries=new Map;total=0;settledCount=0;limit;shared;fill;sizeOf;toCacheKey;idleTimeoutMs;sweepTimer;constructor({fill:e,maxSize:A=1/0,sizeOf:i=()=>1,cacheKey:n=r=>String(r),idleTimeoutMs:g=0,budget:Q}={}){this.fill=e,this.limit=A,this.shared=Q&&{budget:Q,membership:Q.register(this)},this.sizeOf=i,this.toCacheKey=n,this.idleTimeoutMs=g>0&&Number.isFinite(g)?g:void 0}get size(){return this.entries.size}get totalSize(){return this.total}get maxSize(){return this.limit}set maxSize(e){this.limit=e,this.evict()}waiterCount(e){return this.entries.get(this.toCacheKey(e))?.pending?.signals.size??0}async get(e,A,i){ke(A);let n=this.toCacheKey(e),g=this.entries.get(n);g&&this.isDoomed(g)&&(this.deleteKey(n),g=void 0),g?this.touch(n,g):g=this.start(n,e,i),g.pending&&this.join(g.pending,A);try{return await this.settleFor(g,A)}finally{ke(A)}}settleFor(e,A){if(!e.pending||A===void 0||typeof A.addEventListener!="function")return e.promise;let i,n=new Promise((Q,r)=>{i=r}),g=()=>{i(De(A))};return A.addEventListener("abort",g,{once:!0}),Promise.race([e.promise,n]).finally(()=>{A.removeEventListener("abort",g)})}getIfCached(e){let A=this.toCacheKey(e),i=this.entries.get(A);if(i){if(this.isDoomed(i)){this.deleteKey(A);return}return this.touch(A,i),i.promise}}has(e){let A=this.entries.get(this.toCacheKey(e));return A!==void 0&&!this.isDoomed(A)}delete(e){this.deleteKey(this.toCacheKey(e))}clear(){this.entries.clear(),this.shared?.budget.charge(this.shared.membership,-this.total),this.total=0,this.settledCount=0,this.stopSweep()}touch(e,A){this.entries.delete(e),this.entries.set(e,A),A.lastTouched=Date.now(),A.seq=this.stamp()}stamp(){return this.shared?.budget.nextSeq()??0}isDoomed(e){return e.pending?.controller.signal.aborted===!0}sweepIdle(){let e=this.idleTimeoutMs;if(e===void 0)return;let A=Date.now()-e;for(let[i,n]of this.entries)!n.pending&&n.lastTouched<=A&&this.deleteKey(i);this.settledCount===0&&this.stopSweep()}startSweep(){let e=this.idleTimeoutMs;if(e===void 0||this.sweepTimer!==void 0)return;let A=Math.min(2**31-1,Math.max(1e3,Math.floor(e/4))),i=new WeakRef(this),n=setInterval(()=>{let g=i.deref();g?g.sweepIdle():clearInterval(n)},A);this.sweepTimer=n,n.unref?.()}stopSweep(){this.sweepTimer!==void 0&&(clearInterval(this.sweepTimer),this.sweepTimer=void 0)}start(e,A,i){let n=i??(this.fill&&(o=>this.fill(A,o)));if(!n)throw new Error("SharedReadCache needs a fill, either on the cache or on the get() call");let g={signals:new Map,pinned:!1,controller:new AbortController},Q={promise:Promise.resolve(n(g.controller.signal)),pending:g,size:0,lastTouched:Date.now(),seq:this.stamp()};this.entries.set(e,Q);let r=()=>this.entries.get(e)===Q,B=()=>{for(let[o,I]of g.signals)o.removeEventListener("abort",I);Q.pending=void 0};return Q.promise.then(o=>{let I=r()?this.weigh(o):void 0,f=r();B(),f&&(I===void 0?this.entries.delete(e):(Q.lastTouched=Date.now(),Q.size=I,this.settledCount++,this.total+=I,this.shared?.budget.charge(this.shared.membership,I),this.startSweep())),this.evict(),this.shared?.budget.evict()},()=>{r()&&this.deleteKey(e),B()}),Q}weigh(e){try{let A=this.sizeOf(e);return Number.isFinite(A)&&A>=0?A:void 0}catch{return}}join(e,A){if(A===void 0||typeof A.addEventListener!="function")e.pinned=!0;else if(!A.aborted&&!e.signals.has(A)){let i=()=>{e.signals.delete(A),!e.pinned&&e.signals.size===0&&e.controller.abort(A.reason)};e.signals.set(A,i),A.addEventListener("abort",i,{once:!0})}}deleteKey(e){let A=this.entries.get(e);A&&(this.entries.delete(e),A.pending||this.settledCount--,this.total-=A.size,this.shared?.budget.charge(this.shared.membership,-A.size))}lruSpare(){if(!(this.settledCount<=1)){for(let[e,A]of this.entries)if(!A.pending)return{cacheKey:e,seq:A.seq}}}release(e){this.deleteKey(e)}evict(){if(!(this.total<=this.limit))for(let[e,A]of this.entries){if(this.total<=this.limit||this.settledCount<=1)break;A.pending||this.deleteKey(e)}}};async function LA(t){return t.bytes?t.bytes():new Uint8Array(await t.arrayBuffer())}async function gi(t,e,A){if(e==="utf8"||e==="utf-8")return t.text();if(e)throw new Error(`unsupported encoding: ${e}`);return A&&"body"in t?Ne(t,A):LA(t)}function ni(t){return typeof t=="string"?{encoding:t,opts:{}}:{encoding:t?.encoding,opts:t??{}}}function Ii(t){let e=/\/(\d+)$/.exec(t??"")?.[1];return e===void 0?void 0:parseInt(e,10)}function Ag(t){let e=t.headers.get("content-length"),A=e===null?Number.NaN:Number(e);return Number.isSafeInteger(A)&&A>=0?A:void 0}var eg=50;async function Ne(t,e){let A=Ag(t),i=t.body;if(!i||A===void 0){let B=await LA(t);return e(B.byteLength,A??B.byteLength),B}let n=i.getReader(),g=new Uint8Array(A),Q=0,r=Date.now();e(0,A);for(let B=await n.read();!B.done;B=await n.read()){if(Q+B.value.byteLength>g.length){let I=new Uint8Array(Math.max(Q+B.value.byteLength,g.length*2));I.set(g.subarray(0,Q)),g=I}g.set(B.value,Q),Q+=B.value.byteLength;let o=Date.now();o-r>=eg&&(r=o,e(Q,A))}return e(Q,A),Q===g.length?g:g.slice(0,Q)}function tg(...t){let e=new Map;for(let A of t)for(let[i,n]of Object.entries(A??{}))e.set(i.toLowerCase(),[i,n]);return Object.fromEntries(e.values())}function pe(t){let e=t.body;typeof e?.cancel=="function"&&e.cancel().catch(()=>{})}function oi(t){return Number.isSafeInteger(t)&&t>=0}function ig(t){return typeof t=="object"&&t!==null&&"name"in t&&t.name==="TypeError"}function gg(t){return(typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"?t.message:`${t}`).replace(/\.$/,"")}var X=class{url;get source(){return this.url}_stat;statProbe;fetchImplementation;baseHeaders;baseOverrides;baseSignal;constructor(e,A={}){this.url=e,this.baseHeaders=A.headers??{},this.baseOverrides=A.overrides??{},this.baseSignal=A.signal,this.fetchImplementation=A.fetch??globalThis.fetch.bind(globalThis)}buildRequest(e,A){let i=e.signal??this.baseSignal;return{method:"GET",redirect:"follow",mode:"cors",...this.baseOverrides,...e.overrides,headers:tg(this.baseHeaders,e.headers,A),...i?{signal:i}:{}}}async fetch(e,A){let i=g=>ig(g)&&!A?.signal?.aborted?new Error(`${gg(g)} fetching ${e}`,{cause:g}):g,n;try{n=await this.fetchImplementation(e,A)}catch(g){if(`${g}`.includes("Failed to fetch")){console.warn(`generic-filehandle: refetching ${e} to attempt to work around chrome CORS header caching bug`);try{n=await this.fetchImplementation(e,{...A,cache:"reload"})}catch(Q){throw i(Q)}}else throw i(g)}return n}async read(e,A,i={}){if(!oi(e)||!oi(A))throw new TypeError(`read() called with an invalid length or position (length=${e}, position=${A}). The index file may be corrupt.`);return e===0?new Uint8Array(0):this.fetchBytes(e,A,i)}async fetchBytes(e,A,i){let n=await this.fetch(this.url,this.buildRequest(i,{range:`bytes=${A}-${A+e-1}`}));if(n.status===416)return pe(n),new Uint8Array(0);if(this.checkOk(n),n.status===200&&A===0||n.status===206){let g=Ii(n.headers.get("content-range"));g!==void 0&&(this._stat={size:g});let Q=i.onProgress?await Ne(n,i.onProgress):await LA(n);return!this._stat&&n.status===200&&(this._stat={size:Q.byteLength}),Q.byteLength<=e?Q:Q.slice(0,e)}throw pe(n),new Error(n.status===200?`${this.url} fetch returned status 200, expected 206`:`HTTP ${n.status} fetching ${this.url}`)}checkOk(e){if(!e.ok)throw pe(e),new Error(`HTTP ${e.status} fetching ${this.url}`)}async readFile(e){let{encoding:A,opts:i}=ni(e),n=await this.fetch(this.url,this.buildRequest(i));this.checkOk(n);let g=await this.readFileBody(n,A,i.onProgress);return n.status===200&&typeof g!="string"&&(this._stat={size:g.byteLength}),g}readFileBody(e,A,i){return gi(e,A,i)}async stat(){return this._stat||(this.statProbe??=this.read(10,0).finally(()=>{this.statProbe=void 0}),await this.statProbe),this._stat??{size:0}}close(){return Promise.resolve()}};var gA=class{source;constructor(e,A={}){this.source=e}unimplemented(){return Promise.reject(new Error(`LocalFile is unimplemented in the browser (${this.source})`))}readFile(e){return this.unimplemented()}read(e,A,i){return this.unimplemented()}stat(){return this.unimplemented()}close(){return this.unimplemented()}};var K=class{minv;maxv;bin;endPosition;constructor(e,A,i,n=A.blockPosition+65536){this.minv=e,this.maxv=A,this.bin=i,this.endPosition=n}toString(){return`${this.minv.toString()}..${this.maxv.toString()} (bin ${this.bin}, fetchedSize ${this.fetchedSize()})`}fetchedSize(){return this.endPosition-this.minv.blockPosition}};function ye(t,e){if(!(e>0))throw new TypeError(`\`${t}\` must be a number greater than 0`)}var kA=class{#A=new Map;#e=new Map;#t;#g;#n;constructor(e){let A=e.maxAge??Number.POSITIVE_INFINITY;ye("maxSize",e.maxSize),ye("maxAge",A),this.#t=e.maxSize,this.#g=A,this.#n=e.onEviction}#I(e){let A=this.#n;if(A)for(let[i,n]of e)A(i,n.value)}#i(e,A){return A.expiry!==void 0&&A.expiry<=Date.now()?(this.#n?.(e,A.value),this.delete(e),!0):!1}#r(e,A){return this.#i(e,A)?void 0:A.value}#Q(e,A){if(this.#e.delete(e),this.#A.set(e,A),this.#A.size>=this.#t){let i=this.#e;this.#e=this.#A,this.#A=new Map,this.#I(i)}}#B(e){this.#e=new Map(e),this.#A=new Map}*#o(){for(let e of[this.#e,this.#A])for(let A of e)this.#i(...A)||(yield A)}get(e){let A=this.#A.get(e);if(A)return this.#r(e,A);let i=this.#e.get(e);if(i&&!this.#i(e,i))return this.#Q(e,i),i.value}set(e,A,{maxAge:i=this.#g}={}){let n={value:A,expiry:i===Number.POSITIVE_INFINITY?void 0:Date.now()+i};return this.#A.has(e)?this.#A.set(e,n):this.#Q(e,n),this}has(e){let A=this.#A.get(e)??this.#e.get(e);return A!==void 0&&!this.#i(e,A)}peek(e){let A=this.#A.get(e)??this.#e.get(e);return A?this.#r(e,A):void 0}expiresIn(e){let A=this.#A.get(e)??this.#e.get(e);if(A)return A.expiry===void 0?Number.POSITIVE_INFINITY:A.expiry-Date.now()}delete(e){return this.#A.delete(e)||this.#e.delete(e)}clear(){this.#A.clear(),this.#e.clear()}resize(e){ye("maxSize",e);let A=[...this.#o()],i=A.length-e;i<0?(this.#A=new Map(A),this.#e=new Map):(this.#I(A.slice(0,i)),this.#B(A.slice(i))),this.#t=e}evict(e=1){if(!(e>0))return;let A=[...this.#o()],i=Math.trunc(Math.min(e,A.length-1));i>0&&(this.#I(A.slice(0,i)),this.#B(A.slice(i)))}get size(){return Math.min(this.#A.size+this.#e.size,this.#t)}get maxSize(){return this.#t}get maxAge(){return this.#g}*entriesAscending(){for(let[e,A]of this.#o())yield[e,A.value]}*entriesDescending(){for(let e of[this.#A,this.#e])for(let[A,i]of[...e].reverse())this.#i(A,i)||(yield[A,i.value])}entries(){return this.entriesAscending()}[Symbol.iterator](){return this.entriesAscending()}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}forEach(e,A=this){for(let[i,n]of this)e.call(A,n,i,this)}get[Symbol.toStringTag](){return"QuickLRU"}toString(){return`QuickLRU(${this.size}/${this.maxSize})`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}};function ri(t,e=0){let A=t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24;return((t[e+4]|t[e+5]<<8|t[e+6]<<16|t[e+7]<<24)>>>0)*4294967296+(A>>>0)}var aA=class{blockPosition;dataPosition;constructor(e,A){this.blockPosition=e,this.dataPosition=A}toString(){return`${this.blockPosition}:${this.dataPosition}`}compareTo(e){return this.blockPosition-e.blockPosition||this.dataPosition-e.dataPosition}};function V(t,e=0){return new aA(t[e+7]*1099511627776+t[e+6]*4294967296+t[e+5]*16777216+t[e+4]*65536+t[e+3]*256+t[e+2],t[e+1]<<8|t[e])}function YA(t,e){let A=t.length;if(A===0)return t;let i;if(e){let r=e.blockPosition,B=e.dataPosition;i=[];for(let o=0;o<A;o++){let I=t[o];(I.maxv.blockPosition-r||I.maxv.dataPosition-B)>0&&i.push(I)}if(i.length===0)return i}else i=t;i.sort((r,B)=>{let o=r.minv.blockPosition-B.minv.blockPosition;return o===0?r.minv.dataPosition-B.minv.dataPosition:o});let n=[i[0]],g=i[0].minv.blockPosition,Q=i[0].maxv.blockPosition;for(let r=1;r<i.length;r++){let B=i[r],o=B.minv.blockPosition,I=B.maxv.blockPosition;if(o-Q<65e3&&I-g<5e6){let f=n.at(-1);(I-Q||B.maxv.dataPosition-f.maxv.dataPosition)>0&&(n[n.length-1]=new K(f.minv,B.maxv,f.bin,B.endPosition),Q=I)}else n.push(B),g=o,Q=I}return ng(n)}function ng(t){let e=[t[0]];for(let A=1;A<t.length;A++){let i=t[A],n=e.at(-1).maxv;if((i.minv.blockPosition-n.blockPosition||i.minv.dataPosition-n.dataPosition)>=0){e.push(i);continue}(i.maxv.blockPosition-n.blockPosition||i.maxv.dataPosition-n.dataPosition)>0&&e.push(new K(n,i.maxv,i.bin,i.endPosition))}return e}function UA(t,e=[]){let A=[...e];for(let i of t)A.push(i.minv.blockPosition,i.maxv.blockPosition);A.sort((i,n)=>i-n);for(let i of t){let n=i.maxv.blockPosition,g=0,Q=A.length;for(;g<Q;){let r=g+Q>>>1;A[r]>n?Q=r:g=r+1}g<A.length&&(i.endPosition=Math.min(i.endPosition,A[g]))}}function HA(t,e,A,i){let n=i?i.blockPosition:1/0,g=i?i.dataPosition:0,Q=!1;for(let r=0;r<A;r++){let B=e+r*8,o=t[B+7]*1099511627776+t[B+6]*4294967296+t[B+5]*16777216+t[B+4]*65536+t[B+3]*256+t[B+2],I=t[B+1]<<8|t[B];(o<n||o===n&&I<g)&&(n=o,g=I,Q=!0)}return Q?new aA(n,g):i}function Ig(t){let e=new TextDecoder("utf-8"),A=[],i={},n=0,g=0;for(;g<t.length;){let Q=t.indexOf(0,g);if(Q===-1)break;if(Q>g){let r=e.decode(t.subarray(g,Q));A[n]=r,i[r]=n}g=Q+1,n++}return{refNameToId:i,refIdToName:A}}var og={0:"generic",1:"SAM",2:"VCF",3:"GAF"};function KA(t,e){let A=new DataView(t.buffer,t.byteOffset,t.byteLength),i=A.getInt32(e,!0),n=i&65536?"zero-based-half-open":"1-based-closed",g=og[i&15];if(!g)throw new Error(`invalid Tabix preset format flags ${i}`);let Q={ref:A.getInt32(e+4,!0),start:A.getInt32(e+8,!0),end:A.getInt32(e+12,!0)},r=A.getInt32(e+16,!0),B=r?String.fromCharCode(r):void 0,o=A.getInt32(e+20,!0),I=A.getInt32(e+24,!0),{refIdToName:f,refNameToId:s}=Ig(t.subarray(e+28,e+28+I));return{refIdToName:f,refNameToId:s,skipLines:o,metaChar:B,columnNumbers:Q,format:g,coordinateType:n}}function qA(t,e){return{lineCount:ri(t,e)}}function TA(t,e=5){let A=new kA({maxSize:e});return i=>{let n=A.get(i);if(n!==void 0)return n;let g=t(i);return g!==void 0&&A.set(i,g),g}}function rg(t,e,A,i){if(e>2**(A+i*3))return;let n=(8**(i+1)-1)/7,g=(8**i-1)/7+Math.floor((e-1)/2**A)+1;for(g>=n&&(g=0);;){for(;g%8===1;)g=(g-1)/8;if(g===0)return;let Q=t[g];if(Q?.length){let r=Q[0].minv;for(let B=1;B<Q.length;B++){let o=Q[B].minv;o.compareTo(r)<0&&(r=o)}return r}g++}}function Qi(t,e){return t.format==="GAF"?0:t.refNameToId[e]}var nA=class{filehandle;parseCache=new j({});constructor({filehandle:e}){this.filehandle=e}async readIndexBytes(e){let A=await this.filehandle.readFile({signal:e.signal,onProgress:e.onProgress}),i=await wA(A);return{bytes:i,dataView:new DataView(i.buffer,i.byteOffset,i.byteLength)}}async lineCount(e,A={}){let i=await this.parse(A),n=Qi(i,e);return n===void 0?-1:i.indices(n)?.stats?.lineCount??-1}async getMetadata(e={}){let{indices:A,...i}=await this.parse(e);return i}async blocksForRange(e,A,i,n={}){let g=await this.parse(n),Q=Qi(g,e);if(Q===void 0)return[];let r=g.indices(Q);if(!r)return[];g.format==="GAF"&&(A=Math.max(A-1,0));let B=[];for(let[f,s]of this.reg2bins(A,i,g))for(let a=f;a<=s;a++){let E=r.binIndex[a];if(E)for(let D of E)B.push(D)}let o=YA(B,this.lowestOffset(r,A,g)),I=rg(r.binIndex,i,g.minShift,g.depth);if(I){let f=o.length;for(;f>0&&o[f-1].minv.compareTo(I)>=0;)f--;o.length=f}return o}parse(e={}){return this.parseCache.get("index",e.signal,A=>this._parse({...e,signal:A}))}async hasRefSeq(e,A={}){return!!(await this.parse(A)).indices(e)?.binIndex}};var Qg=21582659,Bg=38359875;function Bi(t,e){return t*2**e}function me(t,e){return Math.floor(t/2**e)}var IA=class extends nA{async _parse(e={}){let{bytes:A,dataView:i}=await this.readIndexBytes(e),n=i.getUint32(0,!0),g;if(n===Qg)g=1;else if(n===Bg)g=2;else throw new Error(`Not a CSI file (magic=${n})`);let Q=i.getInt32(4,!0),r=i.getInt32(8,!0),B=(8**(r+1)-1)/7,o=2**(Q+r*3),I=i.getInt32(12,!0),f=I>=28&&(i.getInt32(16,!0)&15)===3,s=I>=30||f?KA(A,16):{refIdToName:[],refNameToId:{},metaChar:void 0,columnNumbers:{ref:0,start:1,end:2},coordinateType:"zero-based-half-open",format:"generic"},a=i.getInt32(16+I,!0),E=16+I+4,D,w=[];for(let k=0;k<a;k++){w.push(E);let u=i.getInt32(E,!0);E+=4;for(let C=0;C<u;C++){let l=i.getUint32(E,!0);if(E+=4,l>B)E+=44;else{D=HA(A,E,1,D),E+=8;let N=i.getInt32(E,!0);E+=4+16*N}}}function d(k){let u=w[k];if(u===void 0)return;let C=u,l=i.getInt32(C,!0);C+=4;let N={},c={},y;for(let p=0;p<l;p++){let h=i.getUint32(C,!0);if(C+=4,h>B)y=qA(A,C+28),C+=44;else{c[h]=V(A,C),C+=8;let m=i.getInt32(C,!0);C+=4;let S=Array.from({length:m});for(let G=0;G<m;G++)S[G]=new K(V(A,C),V(A,C+8),h),C+=16;N[h]=S}}return UA(Object.values(N).flat()),{binIndex:N,loffsets:c,stats:y}}return{...s,csi:!0,refCount:a,maxBlockSize:65536,firstDataLine:D,csiVersion:g,indices:TA(d),minShift:Q,depth:r,maxBinNumber:B,maxRefLength:o}}lowestOffset(e,A,{minShift:i,depth:n}){let{loffsets:g}=e,Q;if(g){let r=(Bi(1,3*n)-1)/7+me(Math.max(A,0),i);for(;Q===void 0&&r>0;)if(Q=g[r],Q===void 0){let B=Math.floor((r-1)/8),o=B*8+1;r=r>o?r-1:B}Q??=g[0]}return Q}reg2bins(e,A,{minShift:i,depth:n,maxBinNumber:g}){e=Math.max(e,0);let Q=2**(i+n*3);A>Q&&(A=Q),A-=1;let r=0,B=0,o=i+n*3,I=[];for(;r<=n;o-=3,B+=Bi(1,r*3),r+=1){let f=B+me(e,o),s=B+me(A,o);if(s-f+I.length>g)throw new Error(`query ${e}-${A} is too large for current binning scheme (shift ${i}, depth ${n}), try a smaller query or a coarser index binning scheme`);I.push([f,s])}return I}};var Cg=21578324,Fe=5,xe=14,ZA=2**(xe+Fe*3);function Ci(t){return Math.min(Math.max(t,0),ZA)}var z=class extends nA{reg2bins(e,A){e>ZA&&console.warn("querying outside of possible tabix range");let i=Ci(e),n=Math.min(A,ZA)-1,g=[];return i<=n&&g.push([0,0],[1+(i>>26),1+(n>>26)],[9+(i>>23),9+(n>>23)],[73+(i>>20),73+(n>>20)],[585+(i>>17),585+(n>>17)],[4681+(i>>14),4681+(n>>14)]),g}lowestOffset(e,A){let i=e.linearIndex;return i?.[Math.min(Ci(A)>>xe,i.length-1)]}async _parse(e={}){let{bytes:A,dataView:i}=await this.readIndexBytes(e);if(i.getUint32(0,!0)!==Cg)throw new Error("Not a TBI file");let n=i.getUint32(4,!0),g=((1<<(Fe+1)*3)-1)/7,{refNameToId:Q,refIdToName:r,coordinateType:B,format:o,columnNumbers:I,metaChar:f,skipLines:s}=KA(A,8),E=36+i.getInt32(32,!0),D,w=[];for(let k=0;k<n;k++){w.push(E);let u=i.getInt32(E,!0);E+=4;for(let l=0;l<u;l++){let N=i.getUint32(E,!0);E+=4;let c=i.getInt32(E,!0);if(E+=4,N>g+1)throw new Error("tabix index contains too many bins, please use a CSI index");E+=16*c}let C=i.getInt32(E,!0);E+=4,D=HA(A,E,C,D),E+=8*C}function d(k){let u=w[k];if(u===void 0)return;let C=u,l=i.getInt32(C,!0);C+=4;let N={},c;for(let h=0;h<l;h++){let m=i.getUint32(C,!0);if(C+=4,m>g+1)throw new Error("tabix index contains too many bins, please use a CSI index");if(m===g+1){let S=i.getInt32(C,!0);C+=4,S===2&&(c=qA(A,C+16)),C+=16*S}else{let S=i.getInt32(C,!0);C+=4;let G=Array.from({length:S});for(let b=0;b<S;b++)G[b]=new K(V(A,C),V(A,C+8),m),C+=16;N[m]=G}}let y=i.getInt32(C,!0);C+=4;let p=Array.from({length:y});for(let h=0;h<y;h++)p[h]=V(A,C),C+=8;return UA(Object.values(N).flat(),p.map(h=>h.blockPosition)),{binIndex:N,linearIndex:p,stats:c}}return{indices:TA(d),metaChar:f,minShift:xe,depth:Fe,maxBinNumber:g,maxRefLength:ZA,skipLines:s,firstDataLine:D,columnNumbers:I,coordinateType:B,format:o,refIdToName:r,refNameToId:Q,maxBlockSize:65536}}};var Se=9,zA=10,Ei=13,ag=59,sg=60,Eg=62,cg=6,fg=1024*2**20,hg=180*1e3;function lg(t,e,A){if(t)return t;if(e)return new gA(e);if(A)return new X(A);throw new TypeError("must provide either filehandle, path, or url")}function dg({tbiFilehandle:t,csiFilehandle:e,tbiPath:A,csiPath:i,tbiUrl:n,csiUrl:g,path:Q,url:r}){if(t)return new z({filehandle:t});if(e)return new IA({filehandle:e});if(A)return new z({filehandle:new gA(A)});if(i)return new IA({filehandle:new gA(i)});if(g)return new IA({filehandle:new X(g)});if(n)return new z({filehandle:new X(n)});if(Q)return new z({filehandle:new gA(`${Q}.tbi`)});if(r)return new z({filehandle:new X(`${r}.tbi`)});throw new TypeError("must provide one of tbiFilehandle, tbiPath, csiFilehandle, csiPath, tbiUrl, csiUrl")}function ci(t,e,A,i,n){return t[A]*256+(i-e[A])+n+1}function ug(t,e,A,i,n,g,Q){let r=i-A,B=e+r,o=0;if(t[n]===46)return B;let I=n;for(let f=n;f<=g;f++)if(f===g||t[f]===ag){let s=f-I;if(s>=10&&t[I]===83&&t[I+1]===86&&t[I+2]===84&&t[I+3]===89&&t[I+4]===80&&t[I+5]===69&&t[I+6]===61&&t[I+7]===84&&t[I+8]===82&&t[I+9]===65)return e+1;if(s>=4&&t[I]===69&&t[I+1]===78&&t[I+2]===68&&t[I+3]===61){let a=XA(t,I+4,f);a>e&&(B=a)}else s>=6&&t[I]===83&&t[I+1]===86&&t[I+2]===76&&t[I+3]===69&&t[I+4]===78&&t[I+5]===61&&(o=kg(t,I+6,f,i+1,Q));I=f+1}return Math.max(B,e+o)}var ai=44;function wg(t,e,A){if(A-e<5||t[e]!==60||t[A-1]!==62)return!1;let i=t[e+4];if(i!==62&&i!==58)return!1;let n=t[e+1],g=t[e+2],Q=t[e+3];return n===67&&g===78&&Q===86||n===68&&g===69&&Q===76||n===68&&g===85&&Q===80||n===73&&g===78&&Q===86}function kg(t,e,A,i,n){let g=0,Q=e,r=i;for(;Q<A&&r<n;){let B=t.indexOf(ai,Q);(B===-1||B>A)&&(B=A);let o=t.indexOf(ai,r);if((o===-1||o>n)&&(o=n),wg(t,r,o)){let I=XA(t,t[Q]===45?Q+1:Q,B);I>g&&(g=I)}Q=B+1,r=o+1}return g}var fi=new TextDecoder;function si(t,e){let A=-1,i=e.charCodeAt(0);for(let n=0,g=t.length;n<g;n++){let Q=t[n];if(n===A+1&&Q!==i)break;Q===zA&&(A=n)}return t.subarray(0,A+1)}function Dg(t,e){let A=0;for(let i=0;i<e;i++){let n=t.indexOf(zA,A);if(n===-1){A=t.length;break}A=n+1}return fi.decode(t.subarray(0,A)).split(/\r?\n/).slice(0,e)}function XA(t,e,A){let i=0;for(let n=e;n<A;n++){let g=t[n];if(g>=48&&g<=57)i=i*10+(g-48);else break}return i}function Ng(t,e,A,i,{start:n,end:g,pathCol:Q,metaCharCode:r,decoder:B,callback:o}){let I=0,f=0;for(;I<t.length;){let s=t.indexOf(zA,I);if(s===-1)break;let a=I;I=s+1;let E=a+i;for(;f<A.length&&E>=A[f];)f++;if(t[a]===r)continue;let D=a;for(let l=1;l<Q;l++){let N=t.indexOf(Se,D);if(N===-1||N>=s){D=s;break}D=N+1}let w=t[D];if(w!==Eg&&w!==sg)continue;let d=t.indexOf(Se,D);(d===-1||d>s)&&(d=s);let k=1/0,u=-1,C=D;for(;C<d;){let l=0,N=C+1;for(;N<d;N++){let c=t[N]-48;if(c<0||c>9)break;l=l*10+c}l<k&&(k=l),l>u&&(u=l),C=N}if(k>=g)return!0;if(u>=n){let l=t[s-1]===Ei?s-1:s;o(B.decode(t.subarray(a,l)),ci(e,A,f,a,i),k,u+1)}}return!1}var sA=class{filehandle;index;chunkCache;headerCache=new j({});bgzfWorkerPool;constructor({path:e,filehandle:A,url:i,tbiPath:n,tbiUrl:g,tbiFilehandle:Q,csiPath:r,csiUrl:B,csiFilehandle:o,chunkCacheSize:I=fg,chunkCacheIdleTimeoutMs:f=hg,chunkCacheBudget:s,bgzfWorkerPool:a}){this.bgzfWorkerPool=a,this.filehandle=lg(A,e,i),this.index=dg({tbiFilehandle:Q,csiFilehandle:o,tbiPath:n,csiPath:r,tbiUrl:g,csiUrl:B,path:e,url:i}),this.chunkCache=new j({maxSize:I,sizeOf:E=>E.buffer.byteLength,cacheKey:E=>E.toString(),idleTimeoutMs:f,budget:s,fill:(E,D)=>this.readChunk(E,{signal:D})})}clearChunkCache(){this.chunkCache.clear()}async bytesForRegions(e,A={}){let i=[];for(let{refName:g,start:Q,end:r}of e){let B=await this.index.blocksForRange(g,Q,r,A);for(let o of B)i.push(o)}let n=0;for(let g of YA(i))n+=g.fetchedSize();return n}async getLines(e,A,i,n){let g,Q={},r,B;typeof n=="function"?r=n:(Q=n,r=n.lineCallback,g=n.signal,B=n.onProgress);let o=await this.index.getMetadata(Q),I=A??0,f=i??o.maxRefLength;if(I>f)throw new TypeError("invalid start and end coordinates. start must be less than or equal to end");if(I===f)return;let s=await this.index.blocksForRange(e,I,f,Q),a=o.format==="VCF",E=o.columnNumbers.ref||0,D=o.columnNumbers.start||0,w=a?8:o.columnNumbers.end||0,d=Math.max(E,D,w),k=o.metaChar?.charCodeAt(0),u=o.coordinateType==="1-based-closed"?-1:0,C=new TextEncoder,l=new TextDecoder,N=C.encode(e),c=new Int32Array(d+1),y=o.format==="GAF"?{start:I,end:f,pathCol:D,metaCharCode:k,decoder:l,callback:r}:void 0,p=0;for(let b of s)p+=b.fetchedSize();let h=0;B?.(0,p);let m=1,S=[],G=b=>{for(;S.length<Math.min(b,s.length);){let oA=s[S.length],U=this.chunkCache.get(oA,g);U.catch(()=>{}),S.push(U)}};G(1);for(let b=0,oA=s.length;b<oA;b++){let U=s[b],{buffer:J,cpositions:Je,dpositions:DA}=await S[b];h+=U.fetchedSize(),B?.(h,p);let OA=U.minv.dataPosition;if(y){if(Ng(J,Je,DA,OA,y))return}else{let _=0,NA=0;for(;_<J.length;){let L=J.indexOf(zA,_);if(L===-1)break;let li=_+OA;for(;NA<DA.length&&li>=DA[NA];)NA++;if(k!==void 0&&J[_]===k){_=L+1;continue}c[0]=_-1;for(let Y=0;Y<d;Y++){let yA=c[Y],WA=yA<L?J.indexOf(Se,yA+1):-1;c[Y+1]=WA===-1||WA>=L?L:WA}let Ge=c[E-1]+1,Re=c[E]-Ge;if(Re!==N.length){_=L+1;continue}let ve=!0;for(let Y=0;Y<Re;Y++)if(J[Ge+Y]!==N[Y]){ve=!1;break}if(!ve){_=L+1;continue}let pA=XA(J,c[D-1]+1,c[D])+u;if(pA>=f)return;let EA;if(w===0||w===D?EA=pA+1:a?EA=ug(J,pA,c[3]+1,c[4],c[w-1]+1,c[w],c[5]):EA=XA(J,c[w-1]+1,c[w]),EA>I){let Y=J[L-1]===Ei?L-1:L,yA=l.decode(J.subarray(_,Y));r(yA,ci(Je,DA,NA,_,OA),pA,EA)}_=L+1}}m=Math.min(m*2,cg),G(b+1+m)}}async getMetadata(e={}){return this.index.getMetadata(e)}async readHeaderBytes(e){let{firstDataLine:A,maxBlockSize:i}=await this.getMetadata(e),n=(A?.blockPosition??0)+i,g=await this.filehandle.read(n,0,e);return wA(g)}async parseHeader(e){let{metaChar:A,skipLines:i=0}=await this.getMetadata(e),n=await this.readHeaderBytes(e);return{header:fi.decode(A?si(n,A):n),skippedLines:i>0?Dg(n,i):[]}}getParsedHeader(e={}){return this.headerCache.get("header",e.signal,A=>this.parseHeader({...e,signal:A}))}async getHeaderBuffer(e={}){let{metaChar:A}=await this.getMetadata(e),i=await this.readHeaderBytes(e);return A?si(i,A):i}async getSkippedLines(e={}){let{skipLines:A=0}=await this.getMetadata(e);return A<=0?[]:(await this.getParsedHeader(e)).skippedLines}async getHeader(e={}){return(await this.getParsedHeader(e)).header}async getHeaderLines(e={}){let{header:A,skippedLines:i}=await this.getParsedHeader(e);return(A?A.split(/\r?\n/):i).filter(Boolean)}async getReferenceSequenceNames(e={}){return(await this.getMetadata(e)).refIdToName}async lineCount(e,A={}){return this.index.lineCount(e,A)}async readChunk(e,A={}){let i=await this.filehandle.read(e.fetchedSize(),e.minv.blockPosition,A),n=await this.bgzfWorkerPool;return we(i,e,n)}};var pg=50*2**20,BI=(t,e="")=>Ye(t,{indexType:{model:Ue.enumeration("IndexType",["TBI","CSI"]),type:"stringEnum",defaultValue:"TBI"},location:{type:"fileLocation",defaultValue:{uri:e,locationType:"UriLocation"}}});function CI(t,e,A){return{indexType:A?"CSI":"TBI",location:{uri:`${t}.${A?"csi":"tbi"}`,baseUri:e}}}function aI(t,e,A){let i=t.pluginManager;return new sA({filehandle:He(t.getConf(e),i),...Ke(t.getConf([...A,"location"]),t.getConf([...A,"indexType"]),i),chunkCacheSize:pg})}function be(t,e){return`${t} ${e}`}function yg(t){let e=new Map;for(let A of t){e.set(A,A);let i=Me(A);if(i!==A){let n=PA(A);e.set(be(i,n),A);let g=_e(A);g!==void 0&&e.set(be(g,n),A)}}return e}function mg(t,e,A){let i=t.get(be(e,A));return i===void 0?t.get(A):i}var hi=class{constructor(e,A){this.file=e;this.adapter=A;this.lookup=Te({setup:async e=>yg(await this.file.getReferenceSequenceNames(e))})}async assemblyRefNames(e={}){let A=await this.file.getReferenceSequenceNames(e),i=jA(this.adapter,e.assemblyName),n=A.filter(g=>Le(g,i)).map(g=>PA(g));return n.length>0?[...new Set(n)]:A}async resolve(e,A){let i=await this.lookup(A);return mg(i,jA(this.adapter,e.assemblyName),e.refName)}};export{wA as a,xg as b,Te as c,BI as d,CI as e,aI as f,hi as g};
2
- //# sourceMappingURL=chunk-AMFIBQVR.js.map
1
+ import{b as Ye}from"./chunk-MVVXRZXV.js";import{a as Me,c as _e,d as PA,e as Le,f as jA}from"./chunk-IIGYYZI5.js";import{a as He,b as Ke}from"./chunk-OGQ6OQDN.js";import{g as Ue}from"./chunk-NDRLCGPC.js";var $=JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"],qe=t=>$!=null&&t in Object($)?$[t]:Object.assign(function(){throw new Error("This JBrowse does not provide '"+t+"' from '@jbrowse/core/data_adapters/BaseAdapter' to plugins: GraphGenomeView was built for a different JBrowse version, so update the plugin or JBrowse")},{jbrowseHostMissing:t});var xg=qe("BaseFeatureDataAdapter");var Te=qe("cachedSetup");var Sg=$&&$.__esModule?$.default:$;var VA=0;var $A=2;var cA=4;var O=0,fA=1,Ze=2;var Xe=-5;function di(t,e){return Object.prototype.hasOwnProperty.call(t,e)}function ze(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var A=e.shift();if(A){if(typeof A!="object")throw new TypeError(A+"must be non-object");for(var i in A)di(A,i)&&(t[i]=A[i])}}return t}function FA(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)}var hA={arraySet:function(t,e,A,i,n){if(e.subarray&&t.subarray){t.set(e.subarray(A,A+i),n);return}for(var g=0;g<i;g++)t[n+g]=e[A+g]},flattenChunks:function(t){var e,A,i,n,g,Q;for(i=0,e=0,A=t.length;e<A;e++)i+=t[e].length;for(Q=new Uint8Array(i),n=0,e=0,A=t.length;e<A;e++)g=t[e],Q.set(g,n),n+=g.length;return Q},Buf8:function(t){return new Uint8Array(t)},Buf16:function(t){return new Uint16Array(t)},Buf32:function(t){return new Int32Array(t)}},lA={arraySet:function(t,e,A,i,n){for(var g=0;g<i;g++)t[n+g]=e[A+g]},flattenChunks:function(t){return[].concat.apply([],t)},Buf8:function(t){return new Array(t)},Buf16:function(t){return new Array(t)},Buf32:function(t){return new Array(t)}},rA=()=>{let t=typeof Uint8Array<"u"&&typeof Uint16Array<"u"&&typeof Int32Array<"u";return rA=()=>t,t},H=(t,e,A,i,n)=>(H=rA()?hA.arraySet:lA.arraySet,H(t,e,A,i,n)),mA=t=>(mA=rA()?hA.flattenChunks:lA.flattenChunks,mA(t)),q=t=>(q=rA()?hA.Buf8:lA.Buf8,q(t)),W=t=>(W=rA()?hA.Buf16:lA.Buf16,W(t)),AA=t=>(AA=rA()?hA.Buf32:lA.Buf32,AA(t));var Oe=function(){let t=!0;try{String.fromCharCode.apply(null,[0])}catch{t=!1}return Oe=()=>t,t},We=function(){let t=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch{t=!1}return We=()=>t,t},Ae=function(t){for(var e=q(256),A=0;A<256;A++)e[A]=A>=252?6:A>=248?5:A>=240?4:A>=224?3:A>=192?2:1;return e[254]=e[254]=1,Ae=i=>e[i],e[t]};function ee(t){var e,A,i,n,g,Q=t.length,r=0;for(n=0;n<Q;n++)A=t.charCodeAt(n),(A&64512)===55296&&n+1<Q&&(i=t.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),r+=A<128?1:A<2048?2:A<65536?3:4;for(e=new Uint8Array(r),g=0,n=0;g<r;n++)A=t.charCodeAt(n),(A&64512)===55296&&n+1<Q&&(i=t.charCodeAt(n+1),(i&64512)===56320&&(A=65536+(A-55296<<10)+(i-56320),n++)),A<128?e[g++]=A:A<2048?(e[g++]=192|A>>>6,e[g++]=128|A&63):A<65536?(e[g++]=224|A>>>12,e[g++]=128|A>>>6&63,e[g++]=128|A&63):(e[g++]=240|A>>>18,e[g++]=128|A>>>12&63,e[g++]=128|A>>>6&63,e[g++]=128|A&63);return e}function ui(t,e){if(e<65534&&(t.subarray&&We()||!t.subarray&&Oe()))return String.fromCharCode.apply(null,FA(t,e));for(var A="",i=0;i<e;i++)A+=String.fromCharCode(t[i]);return A}function Pe(t){for(var e=new Uint8Array(t.length),A=0,i=e.length;A<i;A++)e[A]=t.charCodeAt(A);return e}function je(t,e){var A,i,n,g,Q=e||t.length,r=new Array(Q*2);for(i=0,A=0;A<Q;){if(n=t[A++],n<128){r[i++]=n;continue}if(g=Ae(n),g>4){r[i++]=65533,A+=g-1;continue}for(n&=g===2?31:g===3?15:7;g>1&&A<Q;)n=n<<6|t[A++]&63,g--;if(g>1){r[i++]=65533;continue}n<65536?r[i++]=n:(n-=65536,r[i++]=55296|n>>10&1023,r[i++]=56320|n&1023)}return ui(r,i)}function Ve(t,e){var A;for(e=e||t.length,e>t.length&&(e=t.length),A=e-1;A>=0&&(t[A]&192)===128;)A--;return A<0||A===0?e:A+Ae(t[A])>e?A:e}function te(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}function dA(t,e,A,i){for(var n=t&65535|0,g=t>>>16&65535|0,Q=0;A!==0;){Q=A>2e3?2e3:A,A-=Q;do n=n+e[i++]|0,g=g+n|0;while(--Q);n%=65521,g%=65521}return n|g<<16|0}function wi(){for(var t,e=[],A=0;A<256;A++){t=A;for(var i=0;i<8;i++)t=t&1?3988292384^t>>>1:t>>>1;e[A]=t}return e}var $e=function(){let t=wi();return $e=()=>t,t};function v(t,e,A,i){var n=$e(),g=i+A;t^=-1;for(var Q=i;Q<g;Q++)t=t>>>8^n[(t^e[Q])&255];return t^-1}var xA=30,ki=12;function ie(t,e){var A,i,n,g,Q,r,B,o,I,f,s,a,E,D,w,d,k,u,C,l,N,c,y,p,h;A=t.state,i=t.next_in,p=t.input,n=i+(t.avail_in-5),g=t.next_out,h=t.output,Q=g-(e-t.avail_out),r=g+(t.avail_out-257),B=A.dmax,o=A.wsize,I=A.whave,f=A.wnext,s=A.window,a=A.hold,E=A.bits,D=A.lencode,w=A.distcode,d=(1<<A.lenbits)-1,k=(1<<A.distbits)-1;A:do{E<15&&(a+=p[i++]<<E,E+=8,a+=p[i++]<<E,E+=8),u=D[a&d];e:for(;;){if(C=u>>>24,a>>>=C,E-=C,C=u>>>16&255,C===0)h[g++]=u&65535;else if(C&16){l=u&65535,C&=15,C&&(E<C&&(a+=p[i++]<<E,E+=8),l+=a&(1<<C)-1,a>>>=C,E-=C),E<15&&(a+=p[i++]<<E,E+=8,a+=p[i++]<<E,E+=8),u=w[a&k];t:for(;;){if(C=u>>>24,a>>>=C,E-=C,C=u>>>16&255,C&16){if(N=u&65535,C&=15,E<C&&(a+=p[i++]<<E,E+=8,E<C&&(a+=p[i++]<<E,E+=8)),N+=a&(1<<C)-1,N>B){t.msg="invalid distance too far back",A.mode=xA;break A}if(a>>>=C,E-=C,C=g-Q,N>C){if(C=N-C,C>I&&A.sane){t.msg="invalid distance too far back",A.mode=xA;break A}if(c=0,y=s,f===0){if(c+=o-C,C<l){l-=C;do h[g++]=s[c++];while(--C);c=g-N,y=h}}else if(f<C){if(c+=o+f-C,C-=f,C<l){l-=C;do h[g++]=s[c++];while(--C);if(c=0,f<l){C=f,l-=C;do h[g++]=s[c++];while(--C);c=g-N,y=h}}}else if(c+=f-C,C<l){l-=C;do h[g++]=s[c++];while(--C);c=g-N,y=h}for(;l>2;)h[g++]=y[c++],h[g++]=y[c++],h[g++]=y[c++],l-=3;l&&(h[g++]=y[c++],l>1&&(h[g++]=y[c++]))}else{c=g-N;do h[g++]=h[c++],h[g++]=h[c++],h[g++]=h[c++],l-=3;while(l>2);l&&(h[g++]=h[c++],l>1&&(h[g++]=h[c++]))}}else if((C&64)===0){u=w[(u&65535)+(a&(1<<C)-1)];continue t}else{t.msg="invalid distance code",A.mode=xA;break A}break}}else if((C&64)===0){u=D[(u&65535)+(a&(1<<C)-1)];continue e}else if(C&32){A.mode=ki;break A}else{t.msg="invalid literal/length code",A.mode=xA;break A}break}}while(i<n&&g<r);l=E>>3,i-=l,E-=l<<3,a&=(1<<E)-1,t.next_in=i,t.next_out=g,t.avail_in=i<n?5+(n-i):5-(i-n),t.avail_out=g<r?257+(r-g):257-(g-r),A.hold=a,A.bits=E}var QA=15,At=852,et=592,tt=0,ge=1,it=2,Di=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],Ni=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],pi=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],yi=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];function eA(t,e,A,i,n,g,Q,r){var B=r.bits,o=0,I=0,f=0,s=0,a=0,E=0,D=0,w=0,d=0,k=0,u,C,l,N,c,y=null,p=0,h,m=W(QA+1),S=W(QA+1),G=null,b=0,oA,U,J;for(o=0;o<=QA;o++)m[o]=0;for(I=0;I<i;I++)m[e[A+I]]++;for(a=B,s=QA;s>=1&&m[s]===0;s--);if(a>s&&(a=s),s===0)return n[g++]=1<<24|64<<16|0,n[g++]=1<<24|64<<16|0,r.bits=1,0;for(f=1;f<s&&m[f]===0;f++);for(a<f&&(a=f),w=1,o=1;o<=QA;o++)if(w<<=1,w-=m[o],w<0)return-1;if(w>0&&(t===tt||s!==1))return-1;for(S[1]=0,o=1;o<QA;o++)S[o+1]=S[o]+m[o];for(I=0;I<i;I++)e[A+I]!==0&&(Q[S[e[A+I]]++]=I);if(t===tt?(y=G=Q,h=19):t===ge?(y=Di,p-=257,G=Ni,b-=257,h=256):(y=pi,G=yi,h=-1),k=0,I=0,o=f,c=g,E=a,D=0,l=-1,d=1<<a,N=d-1,t===ge&&d>At||t===it&&d>et)return 1;for(;;){oA=o-D,Q[I]<h?(U=0,J=Q[I]):Q[I]>h?(U=G[b+Q[I]],J=y[p+Q[I]]):(U=96,J=0),u=1<<o-D,C=1<<E,f=C;do C-=u,n[c+(k>>D)+C]=oA<<24|U<<16|J|0;while(C!==0);for(u=1<<o-1;k&u;)u>>=1;if(u!==0?(k&=u-1,k+=u):k=0,I++,--m[o]===0){if(o===s)break;o=e[A+Q[I]]}if(o>a&&(k&N)!==l){for(D===0&&(D=a),c+=f,E=o-D,w=1<<E;E+D<s&&(w-=m[E+D],!(w<=0));)E++,w<<=1;if(d+=1<<E,t===ge&&d>At||t===it&&d>et)return 1;l=k&N,n[l]=a<<24|E<<16|c-g|0}}return k!==0&&(n[c+k]=o-D<<24|64<<16|0),r.bits=a,0}var mi=0,xt=1,St=2,gt=4,Fi=5,SA=6,tA=0,xi=1,Si=2,M=-2,bt=-3,Be=-4,bi=-5,nt=8,Jt=1,It=2,ot=3,rt=4,Qt=5,Bt=6,Ct=7,at=8,st=9,Et=10,GA=11,T=12,ne=13,ct=14,Ie=15,ft=16,ht=17,lt=18,dt=19,bA=20,JA=21,ut=22,wt=23,kt=24,Dt=25,Nt=26,oe=27,pt=28,yt=29,x=30,Ce=31,Ji=32,Gi=852,Ri=592;function mt(t){return(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24)}function vi(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=W(320),this.work=W(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function Mi(t){var e;return!t||!t.state?M:(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=e.wrap&1),e.mode=Jt,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=AA(Gi),e.distcode=e.distdyn=AA(Ri),e.sane=1,e.back=-1,tA)}function _i(t){var e;return!t||!t.state?M:(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,Mi(t))}function Li(t,e){var A,i;return!t||!t.state||(i=t.state,e<0?(A=0,e=-e):(A=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?M:(i.window!==null&&i.wbits!==e&&(i.window=null),i.wrap=A,i.wbits=e,_i(t))}function Gt(t,e){var A,i;return t?(i=new vi,t.state=i,i.window=null,A=Li(t,e),A!==tA&&(t.state=null),A):M}var Ft=!0,re,Qe;function Yi(t){if(Ft){var e;for(re=AA(512),Qe=AA(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(eA(xt,t.lens,0,288,re,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;eA(St,t.lens,0,32,Qe,0,t.work,{bits:5}),Ft=!1}t.lencode=re,t.lenbits=9,t.distcode=Qe,t.distbits=5}function Rt(t,e,A,i){var n,g=t.state;return g.window===null&&(g.wsize=1<<g.wbits,g.wnext=0,g.whave=0,g.window=q(g.wsize)),i>=g.wsize?(H(g.window,e,A-g.wsize,g.wsize,0),g.wnext=0,g.whave=g.wsize):(n=g.wsize-g.wnext,n>i&&(n=i),H(g.window,e,A-i,n,g.wnext),i-=n,i?(H(g.window,e,A-i,i,0),g.wnext=i,g.whave=g.wsize):(g.wnext+=n,g.wnext===g.wsize&&(g.wnext=0),g.whave<g.wsize&&(g.whave+=n))),0}function vt(t,e){var A,i,n,g,Q,r,B,o,I,f,s,a,E,D,w=0,d,k,u,C,l,N,c,y,p=q(4),h,m,S=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&t.avail_in!==0)return M;A=t.state,A.mode===T&&(A.mode=ne),Q=t.next_out,n=t.output,B=t.avail_out,g=t.next_in,i=t.input,r=t.avail_in,o=A.hold,I=A.bits,f=r,s=B,y=tA;A:for(;;)switch(A.mode){case Jt:if(A.wrap===0){A.mode=ne;break}for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(A.wrap&2&&o===35615){A.check=0,p[0]=o&255,p[1]=o>>>8&255,A.check=v(A.check,p,2,0),o=0,I=0,A.mode=It;break}if(A.flags=0,A.head&&(A.head.done=!1),!(A.wrap&1)||(((o&255)<<8)+(o>>8))%31){t.msg="incorrect header check",A.mode=x;break}if((o&15)!==nt){t.msg="unknown compression method",A.mode=x;break}if(o>>>=4,I-=4,c=(o&15)+8,A.wbits===0)A.wbits=c;else if(c>A.wbits){t.msg="invalid window size",A.mode=x;break}A.dmax=1<<c,t.adler=A.check=1,A.mode=o&512?Et:T,o=0,I=0;break;case It:for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(A.flags=o,(A.flags&255)!==nt){t.msg="unknown compression method",A.mode=x;break}if(A.flags&57344){t.msg="unknown header flags set",A.mode=x;break}A.head&&(A.head.text=o>>8&1),A.flags&512&&(p[0]=o&255,p[1]=o>>>8&255,A.check=v(A.check,p,2,0)),o=0,I=0,A.mode=ot;case ot:for(;I<32;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.head&&(A.head.time=o),A.flags&512&&(p[0]=o&255,p[1]=o>>>8&255,p[2]=o>>>16&255,p[3]=o>>>24&255,A.check=v(A.check,p,4,0)),o=0,I=0,A.mode=rt;case rt:for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.head&&(A.head.xflags=o&255,A.head.os=o>>8),A.flags&512&&(p[0]=o&255,p[1]=o>>>8&255,A.check=v(A.check,p,2,0)),o=0,I=0,A.mode=Qt;case Qt:if(A.flags&1024){for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.length=o,A.head&&(A.head.extra_len=o),A.flags&512&&(p[0]=o&255,p[1]=o>>>8&255,A.check=v(A.check,p,2,0)),o=0,I=0}else A.head&&(A.head.extra=null);A.mode=Bt;case Bt:if(A.flags&1024&&(a=A.length,a>r&&(a=r),a&&(A.head&&(c=A.head.extra_len-A.length,A.head.extra||(A.head.extra=new Array(A.head.extra_len)),H(A.head.extra,i,g,a,c)),A.flags&512&&(A.check=v(A.check,i,a,g)),r-=a,g+=a,A.length-=a),A.length))break A;A.length=0,A.mode=Ct;case Ct:if(A.flags&2048){if(r===0)break A;a=0;do c=i[g+a++],A.head&&c&&A.length<65536&&(A.head.name+=String.fromCharCode(c));while(c&&a<r);if(A.flags&512&&(A.check=v(A.check,i,a,g)),r-=a,g+=a,c)break A}else A.head&&(A.head.name=null);A.length=0,A.mode=at;case at:if(A.flags&4096){if(r===0)break A;a=0;do c=i[g+a++],A.head&&c&&A.length<65536&&(A.head.comment+=String.fromCharCode(c));while(c&&a<r);if(A.flags&512&&(A.check=v(A.check,i,a,g)),r-=a,g+=a,c)break A}else A.head&&(A.head.comment=null);A.mode=st;case st:if(A.flags&512){for(;I<16;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(o!==(A.check&65535)){t.msg="header crc mismatch",A.mode=x;break}o=0,I=0}A.head&&(A.head.hcrc=A.flags>>9&1,A.head.done=!0),t.adler=A.check=0,A.mode=T;break;case Et:for(;I<32;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}t.adler=A.check=mt(o),o=0,I=0,A.mode=GA;case GA:if(A.havedict===0)return t.next_out=Q,t.avail_out=B,t.next_in=g,t.avail_in=r,A.hold=o,A.bits=I,Si;t.adler=A.check=1,A.mode=T;case T:if(e===Fi||e===SA)break A;case ne:if(A.last){o>>>=I&7,I-=I&7,A.mode=oe;break}for(;I<3;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}switch(A.last=o&1,o>>>=1,I-=1,o&3){case 0:A.mode=ct;break;case 1:if(Yi(A),A.mode=bA,e===SA){o>>>=2,I-=2;break A}break;case 2:A.mode=ht;break;case 3:t.msg="invalid block type",A.mode=x}o>>>=2,I-=2;break;case ct:for(o>>>=I&7,I-=I&7;I<32;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if((o&65535)!==(o>>>16^65535)){t.msg="invalid stored block lengths",A.mode=x;break}if(A.length=o&65535,o=0,I=0,A.mode=Ie,e===SA)break A;case Ie:A.mode=ft;case ft:if(a=A.length,a){if(a>r&&(a=r),a>B&&(a=B),a===0)break A;H(n,i,g,a,Q),r-=a,g+=a,B-=a,Q+=a,A.length-=a;break}A.mode=T;break;case ht:for(;I<14;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(A.nlen=(o&31)+257,o>>>=5,I-=5,A.ndist=(o&31)+1,o>>>=5,I-=5,A.ncode=(o&15)+4,o>>>=4,I-=4,A.nlen>286||A.ndist>30){t.msg="too many length or distance symbols",A.mode=x;break}A.have=0,A.mode=lt;case lt:for(;A.have<A.ncode;){for(;I<3;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.lens[S[A.have++]]=o&7,o>>>=3,I-=3}for(;A.have<19;)A.lens[S[A.have++]]=0;if(A.lencode=A.lendyn,A.lenbits=7,h={bits:A.lenbits},y=eA(mi,A.lens,0,19,A.lencode,0,A.work,h),A.lenbits=h.bits,y){t.msg="invalid code lengths set",A.mode=x;break}A.have=0,A.mode=dt;case dt:for(;A.have<A.nlen+A.ndist;){for(;w=A.lencode[o&(1<<A.lenbits)-1],d=w>>>24,k=w>>>16&255,u=w&65535,!(d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(u<16)o>>>=d,I-=d,A.lens[A.have++]=u;else{if(u===16){for(m=d+2;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(o>>>=d,I-=d,A.have===0){t.msg="invalid bit length repeat",A.mode=x;break}c=A.lens[A.have-1],a=3+(o&3),o>>>=2,I-=2}else if(u===17){for(m=d+3;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}o>>>=d,I-=d,c=0,a=3+(o&7),o>>>=3,I-=3}else{for(m=d+7;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}o>>>=d,I-=d,c=0,a=11+(o&127),o>>>=7,I-=7}if(A.have+a>A.nlen+A.ndist){t.msg="invalid bit length repeat",A.mode=x;break}for(;a--;)A.lens[A.have++]=c}}if(A.mode===x)break;if(A.lens[256]===0){t.msg="invalid code -- missing end-of-block",A.mode=x;break}if(A.lenbits=9,h={bits:A.lenbits},y=eA(xt,A.lens,0,A.nlen,A.lencode,0,A.work,h),A.lenbits=h.bits,y){t.msg="invalid literal/lengths set",A.mode=x;break}if(A.distbits=6,A.distcode=A.distdyn,h={bits:A.distbits},y=eA(St,A.lens,A.nlen,A.ndist,A.distcode,0,A.work,h),A.distbits=h.bits,y){t.msg="invalid distances set",A.mode=x;break}if(A.mode=bA,e===SA)break A;case bA:A.mode=JA;case JA:if(r>=6&&B>=258){t.next_out=Q,t.avail_out=B,t.next_in=g,t.avail_in=r,A.hold=o,A.bits=I,ie(t,s),Q=t.next_out,n=t.output,B=t.avail_out,g=t.next_in,i=t.input,r=t.avail_in,o=A.hold,I=A.bits,A.mode===T&&(A.back=-1);break}for(A.back=0;w=A.lencode[o&(1<<A.lenbits)-1],d=w>>>24,k=w>>>16&255,u=w&65535,!(d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(k&&(k&240)===0){for(C=d,l=k,N=u;w=A.lencode[N+((o&(1<<C+l)-1)>>C)],d=w>>>24,k=w>>>16&255,u=w&65535,!(C+d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}o>>>=C,I-=C,A.back+=C}if(o>>>=d,I-=d,A.back+=d,A.length=u,k===0){A.mode=Nt;break}if(k&32){A.back=-1,A.mode=T;break}if(k&64){t.msg="invalid literal/length code",A.mode=x;break}A.extra=k&15,A.mode=ut;case ut:if(A.extra){for(m=A.extra;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.length+=o&(1<<A.extra)-1,o>>>=A.extra,I-=A.extra,A.back+=A.extra}A.was=A.length,A.mode=wt;case wt:for(;w=A.distcode[o&(1<<A.distbits)-1],d=w>>>24,k=w>>>16&255,u=w&65535,!(d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if((k&240)===0){for(C=d,l=k,N=u;w=A.distcode[N+((o&(1<<C+l)-1)>>C)],d=w>>>24,k=w>>>16&255,u=w&65535,!(C+d<=I);){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}o>>>=C,I-=C,A.back+=C}if(o>>>=d,I-=d,A.back+=d,k&64){t.msg="invalid distance code",A.mode=x;break}A.offset=u,A.extra=k&15,A.mode=kt;case kt:if(A.extra){for(m=A.extra;I<m;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}A.offset+=o&(1<<A.extra)-1,o>>>=A.extra,I-=A.extra,A.back+=A.extra}if(A.offset>A.dmax){t.msg="invalid distance too far back",A.mode=x;break}A.mode=Dt;case Dt:if(B===0)break A;if(a=s-B,A.offset>a){if(a=A.offset-a,a>A.whave&&A.sane){t.msg="invalid distance too far back",A.mode=x;break}a>A.wnext?(a-=A.wnext,E=A.wsize-a):E=A.wnext-a,a>A.length&&(a=A.length),D=A.window}else D=n,E=Q-A.offset,a=A.length;a>B&&(a=B),B-=a,A.length-=a;do n[Q++]=D[E++];while(--a);A.length===0&&(A.mode=JA);break;case Nt:if(B===0)break A;n[Q++]=A.length,B--,A.mode=JA;break;case oe:if(A.wrap){for(;I<32;){if(r===0)break A;r--,o|=i[g++]<<I,I+=8}if(s-=B,t.total_out+=s,A.total+=s,s&&(t.adler=A.check=A.flags?v(A.check,n,s,Q-s):dA(A.check,n,s,Q-s)),s=B,(A.flags?o:mt(o))!==A.check){t.msg="incorrect data check",A.mode=x;break}o=0,I=0}A.mode=pt;case pt:if(A.wrap&&A.flags){for(;I<32;){if(r===0)break A;r--,o+=i[g++]<<I,I+=8}if(o!==(A.total&4294967295)){t.msg="incorrect length check",A.mode=x;break}o=0,I=0}A.mode=yt;case yt:y=xi;break A;case x:y=bt;break A;case Ce:return Be;case Ji:default:return M}return t.next_out=Q,t.avail_out=B,t.next_in=g,t.avail_in=r,A.hold=o,A.bits=I,(A.wsize||s!==t.avail_out&&A.mode<x&&(A.mode<oe||e!==gt))&&Rt(t,t.output,t.next_out,s-t.avail_out)?(A.mode=Ce,Be):(f-=t.avail_in,s-=t.avail_out,t.total_in+=f,t.total_out+=s,A.total+=s,A.wrap&&s&&(t.adler=A.check=A.flags?v(A.check,n,s,t.next_out-s):dA(A.check,n,s,t.next_out-s)),t.data_type=A.bits+(A.last?64:0)+(A.mode===T?128:0)+(A.mode===bA||A.mode===Ie?256:0),(f===0&&s===0||e===gt)&&y===tA&&(y=bi),y)}function Mt(t){if(!t||!t.state)return M;var e=t.state;return e.window&&(e.window=null),t.state=null,tA}function _t(t,e){var A;return!t||!t.state||(A=t.state,(A.wrap&2)===0)?M:(A.head=e,e.done=!1,tA)}function ae(t,e){var A=e.length,i,n,g;return!t||!t.state||(i=t.state,i.wrap!==0&&i.mode!==GA)?M:i.mode===GA&&(n=1,n=dA(n,e,A,0),n!==i.check)?bt:(g=Rt(t,e,A,A),g?(i.mode=Ce,Be):(i.havedict=1,tA))}var RA={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"};function se(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}var Ee=Object.prototype.toString,ce=class t{constructor(e){if(!(this instanceof t))return new t(e);this.options=ze({chunkSize:16384,windowBits:0,to:""},e||{});var A=this.options;A.raw&&A.windowBits>=0&&A.windowBits<16&&(A.windowBits=-A.windowBits,A.windowBits===0&&(A.windowBits=-15)),A.windowBits>=0&&A.windowBits<16&&!(e&&e.windowBits)&&(A.windowBits+=32),A.windowBits>15&&A.windowBits<48&&(A.windowBits&15)===0&&(A.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new se,this.strm.avail_out=0;var i=Gt(this.strm,A.windowBits);if(i!==O)throw new Error(RA[i]);if(this.header=new te,_t(this.strm,this.header),A.dictionary&&(typeof A.dictionary=="string"?A.dictionary=ee(A.dictionary):Ee.call(A.dictionary)==="[object ArrayBuffer]"&&(A.dictionary=new Uint8Array(A.dictionary)),A.raw&&(i=ae(this.strm,A.dictionary),i!==O)))throw new Error(RA[i])}push(e,A){var i=this.strm,n=this.options.chunkSize,g=this.options.dictionary,Q,r,B,o,I,f,s=!1;if(this.ended)return!1;r=A===~~A?A:A===!0?cA:VA,typeof e=="string"?i.input=Pe(e):Ee.call(e)==="[object ArrayBuffer]"?i.input=new Uint8Array(e):i.input=e,i.next_in=0,i.avail_in=i.input.length;do{if(i.avail_out===0&&(i.output=q(n),i.next_out=0,i.avail_out=n),Q=vt(i,VA),Q===Ze&&g&&(typeof g=="string"?f=ee(g):Ee.call(g)==="[object ArrayBuffer]"?f=new Uint8Array(g):f=g,Q=ae(this.strm,f)),Q===Xe&&s===!0&&(Q=O,s=!1),Q!==fA&&Q!==O)return this.onEnd(Q),this.ended=!0,!1;i.next_out&&(i.avail_out===0||Q===fA||i.avail_in===0&&(r===cA||r===$A))&&(this.options.to==="string"?(B=Ve(i.output,i.next_out),o=i.next_out-B,I=je(i.output,B),i.next_out=o,i.avail_out=n-o,o&&H(i.output,i.output,B,o,0),this.onData(I)):this.onData(FA(i.output,i.next_out))),i.avail_in===0&&i.avail_out===0&&(s=!0)}while((i.avail_in>0||i.avail_out===0)&&Q!==fA);return Q===fA&&(r=cA),r===cA?(Q=Mt(this.strm),this.onEnd(Q),this.ended=!0,Q===O):(r===$A&&(this.onEnd(O),i.avail_out=0),!0)}onData(e){this.chunks.push(e)}onEnd(e){e===O&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=mA(this.chunks)),this.chunks=[],this.err=e,this.msg=this.strm.msg}};function Ui(t,e){var A=new ce(e);if(A.push(t,!0),A.err)throw A.msg||RA[A.err];return A.result}var Lt=Ui;function Yt(t,e,A){let i=[],n=0,g=e;for(;n+26<=t.length&&!(t[n]!==31||t[n+1]!==139||t[n+2]!==8||t[n+3]!==4||t[n+10]!==6||t[n+12]!==66||t[n+13]!==67);){let Q=(t[n+16]|t[n+17]<<8)+1;if(Q<26||n+Q>t.length)break;let r=n+Q-8,B=(t[r+4]|t[r+5]<<8|t[r+6]<<16|t[r+7]<<24)>>>0;if(i.push({inputOffset:n,compressedSize:Q,decompressedSize:B,filePosition:g}),g>=A)break;n+=Q,g+=Q}return i}function Ut(t){let e=0;for(let n of t)e+=n.length;let A=new Uint8Array(e),i=0;for(let n of t)A.set(n,i),i+=n.length;return A}var P={};P.d=(t,e)=>{if(Array.isArray(e))for(var A=0;A<e.length;){var i=e[A++],n=e[A++];P.o(t,i)?n===0&&A++:n===0?Object.defineProperty(t,i,{enumerable:!0,value:e[A++]}):Object.defineProperty(t,i,{enumerable:!0,get:n})}else for(var i in e)P.o(e,i)&&!P.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})};P.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);P.r=t=>{Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var le={};P.r(le);P.d(le,{ChunkSliceResult:()=>CA,__wbg_Error_92b29b0548f8b746:()=>Ki,__wbg___wbindgen_throw_344f42d3211c4765:()=>qi,__wbg_set_wasm:()=>Wt,decompress_all:()=>qt,decompress_chunk_slice:()=>Tt});var Hi="data:application/wasm;base64,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AghBAUEAEBUACywCAX8BfiMAQRBrIgEkACAAKQIAIQIgASAANgIMIAEgAjcCBCABQQRqEGYACyMBAX8jAEEQayICJAAgAiABNgIMIAIgADYCCCACQQhqEGUACyAAAkAgASgCAEUNACAAQbiXwAA2AgQgACABNgIADwsACx4BAX8CQCAAKAIAIgJFDQAgASACIAAoAgQQTQ8LAAsbAQF/EGogAEEEakEEEFgiASAANgIAIAFBBGoLHgEBfwJAIAAoAgAiAUEBSA0AIAAoAgQgAUEBEFMLCx4AIAAoAgAgACgCBEEAKALomkAiAEEEIAAbEQQAAAsjAQF/AkBBhIrAABAtIgANAEG4icAAQTpB9InAABA4AAsgAAsXAAJAIABBf2pBfk8NACABIABBARBTCwscAQF/AkAgACgCACIBRQ0AIAAoAgQgAUEBEFMLCxcAAkAgAUEJSQ0AIAEgABAODwsgABACCxUAIABBfGoiACAAKAIAQQRqQQQQUwsUAAJAIABFDQAgACABEF8ACxBWAAsRACAAIAFBAXRBAXIgAhAxAAsSAAJAIAFFDQAgACABIAIQUwsLEgAgACABIAIgAyAEQQAgBRADCxUAAkAgAEUNACAAIAAoAqhaEQIACwsaACAAQQApAoSWQDcCCCAAQQApAvyVQDcCAAsaACAAQQApAvSVQDcCCCAAQQApAuyVQDcCAAsWACAAKAIAIAEgAiAAKAIEKAIMEQcACw0AIAAgASACIAMQBw8LFABBACAANgK8mkBBAEEBNgK4mkALEwAgAEG4l8AANgIEIAAgATYCAAsQACABIAAoAgAgACgCBBBNCxAAIAEgACgCACAAKAIEEAoLCwAgACABIAIQKg8LCgAgACABEGkaAAsPACAAQZyVwAAgASACEAwLEQBBkJjAAEEjQaSYwAAQMQALCwAgACMAaiQAIwALCQAgACABEEQPCwkAIAAgARAuDwsJACAAIAEQYQALDABBr4fAAEEbEFoACw0AQcqHwABBzwAQWgALCQAgASAAEDsACwwAIAAgASkCADcDAAsJACABIAAQXQALDQAgAUH8mcAAQRgQCgsIACAAIAEQAAsIACAAIAEQAQsJACAAKAIAEEoLBwAgABA5AAsHACAAEEAACwcAIAAQJgALCwBBAEEBOgDAnkALCQAgAEEANgIACwUAEGsACwMADwsDAAALAgALC74aAgBBgIDAAAuUGkF0dGVtcHRlZCB0byBpbml0aWFsaXplIHRocmVhZC1sb2NhbCB3aGlsZSBpdCBpcyBiZWluZyBkcm9wcGVkFnNsaWNlIGluZGV4IHN0YXJ0cyBhdCDADSBidXQgZW5kcyBhdCDAABJyYW5nZSBzdGFydCBpbmRleCDAIiBvdXQgb2YgcmFuZ2UgZm9yIHNsaWNlIG9mIGxlbmd0aCDAABByYW5nZSBlbmQgaW5kZXggwCIgb3V0IG9mIHJhbmdlIGZvciBzbGljZSBvZiBsZW5ndGggwAAvcnVzdGMvNDhhMjI5Y2VhZWZkNDk4NWM1MDk5MGIxNDExNmI2ZDg1NmFmMDk4NS9saWJyYXJ5L3N0ZC9zcmMvc3lzL3RocmVhZF9sb2NhbC9ub190aHJlYWRzLnJzAC9ydXN0Yy80OGEyMjljZWFlZmQ0OTg1YzUwOTkwYjE0MTE2YjZkODU2YWYwOTg1L2xpYnJhcnkvc3RkL3NyYy9zeXMvc3luYy9yd2xvY2svbm9fdGhyZWFkcy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi93YXNtLWJpbmRnZW4tMC4yLjEyNi9zcmMvZXh0ZXJucmVmLnJzAC9ydXN0Yy80OGEyMjljZWFlZmQ0OTg1YzUwOTkwYjE0MTE2YjZkODU2YWYwOTg1L2xpYnJhcnkvYWxsb2Mvc3JjL3Jhd192ZWMvbW9kLnJzAC9ydXN0L2RlcHMvZGxtYWxsb2MtMC4yLjEzL3NyYy9kbG1hbGxvYy5ycwAvaG9tZS9ydW5uZXIvLmNhcmdvL3JlZ2lzdHJ5L3NyYy9pbmRleC5jcmF0ZXMuaW8tMTk0OWNmOGM2YjViNTU3Zi9saWJkZWZsYXRlci0xLjI1LjIvc3JjL2xpYi5ycwAA1gAQAF4AAABrAAAADQAAAMwCEAAKAAAAHAAAACQAAADMAhAACgAAAMIAAAApAAAAzAIQAAoAAAC2AAAAJwAAAMwCEAAKAAAAcQAAABwAAADMAhAACgAAAG0AAABBAAAAZGVjb21wcmVzc2lvbiBmYWlsZWRpbnZhbGlkIGJnemYgaGVhZGVyAMwCEAAKAAAATAAAAD0A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",CA=class t{static __wrap(e){let A=Object.create(t.prototype);return A.__wbg_ptr=e,Ht.register(A,A.__wbg_ptr,A),A}__destroy_into_raw(){let e=this.__wbg_ptr;return this.__wbg_ptr=0,Ht.unregister(this),e}free(){let e=this.__destroy_into_raw();F.__wbg_chunksliceresult_free(e,0)}take_buffer(){try{let n=F.__wbindgen_add_to_stack_pointer(-16);F.chunksliceresult_take_buffer(n,this.__wbg_ptr);var e=R().getInt32(n+0,!0),A=R().getInt32(n+4,!0),i=Zt(e,A).slice();return F.__wbindgen_export(e,A*1,1),i}finally{F.__wbindgen_add_to_stack_pointer(16)}}take_cpositions(){try{let n=F.__wbindgen_add_to_stack_pointer(-16);F.chunksliceresult_take_cpositions(n,this.__wbg_ptr);var e=R().getInt32(n+0,!0),A=R().getInt32(n+4,!0),i=Kt(e,A).slice();return F.__wbindgen_export(e,A*8,8),i}finally{F.__wbindgen_add_to_stack_pointer(16)}}take_dpositions(){try{let n=F.__wbindgen_add_to_stack_pointer(-16);F.chunksliceresult_take_dpositions(n,this.__wbg_ptr);var e=R().getInt32(n+0,!0),A=R().getInt32(n+4,!0),i=Kt(e,A).slice();return F.__wbindgen_export(e,A*8,8),i}finally{F.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(CA.prototype[Symbol.dispose]=CA.prototype.free);function qt(t){try{let Q=F.__wbindgen_add_to_stack_pointer(-16),r=zt(t,F.__wbindgen_export2),B=ue;F.decompress_all(Q,r,B);var e=R().getInt32(Q+0,!0),A=R().getInt32(Q+4,!0),i=R().getInt32(Q+8,!0),n=R().getInt32(Q+12,!0);if(n)throw Ot(i);var g=Zt(e,A).slice();return F.__wbindgen_export(e,A*1,1),g}finally{F.__wbindgen_add_to_stack_pointer(16)}}function Tt(t,e,A,i,n){try{let B=F.__wbindgen_add_to_stack_pointer(-16),o=zt(t,F.__wbindgen_export2),I=ue;F.decompress_chunk_slice(B,o,I,e,A,i,n);var g=R().getInt32(B+0,!0),Q=R().getInt32(B+4,!0),r=R().getInt32(B+8,!0);if(r)throw Ot(Q);return CA.__wrap(g)}finally{F.__wbindgen_add_to_stack_pointer(16)}}function Ki(t,e){let A=Error(Xt(t,e));return Ti(A)}function qi(t,e){throw new Error(Xt(t,e))}var Ht=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(t=>F.__wbg_chunksliceresult_free(t,1));function Ti(t){uA===Z.length&&Z.push(Z.length+1);let e=uA;return uA=Z[e],Z[e]=t,e}function Zi(t){t<1028||(Z[t]=uA,uA=t)}function Kt(t,e){return t=t>>>0,Xi().subarray(t/8,t/8+e)}function Zt(t,e){return t=t>>>0,de().subarray(t/1,t/1+e)}var BA=null;function R(){return(BA===null||BA.buffer.detached===!0||BA.buffer.detached===void 0&&BA.buffer!==F.memory.buffer)&&(BA=new DataView(F.memory.buffer)),BA}var vA=null;function Xi(){return(vA===null||vA.byteLength===0)&&(vA=new Float64Array(F.memory.buffer)),vA}function Xt(t,e){return Wi(t>>>0,e)}var MA=null;function de(){return(MA===null||MA.byteLength===0)&&(MA=new Uint8Array(F.memory.buffer)),MA}function zi(t){return Z[t]}var Z=new Array(1024).fill(void 0);Z.push(void 0,null,!0,!1);var uA=Z.length;function zt(t,e){let A=e(t.length*1,1)>>>0;return de().set(t,A/1),ue=t.length,A}function Ot(t){let e=zi(t);return Zi(t),e}var _A=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});_A.decode();var Oi=2146435072,fe=0;function Wi(t,e){return fe+=e,fe>=Oi&&(_A=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),_A.decode(),fe=e),_A.decode(de().subarray(t,t+e).slice())}var ue=0,F;function Wt(t){F=t}var iA=null,he=null;async function Pt(){return iA||(he||(he=(async()=>{let e=await(await fetch(Hi)).arrayBuffer(),{instance:A}=await WebAssembly.instantiate(e,{"./bgzf_wasm_bg.js":le});return iA=A.exports,Wt(iA),iA})()),he)}async function jt(t){return iA||await Pt(),qt(t)}async function Vt(t,e,A,i,n){iA||await Pt();let g=Tt(t,e,A,i,n),Q=g.take_buffer(),r=g.take_cpositions(),B=g.take_dpositions();return g.free(),{buffer:Q,cpositions:r,dpositions:B}}var Pi=26;function Ai(t){return t[0]===31&&t[1]===139}function ji(t){return t.length>=Pi&&Ai(t)&&t[2]===8&&t[3]===4&&t[10]===6&&t[12]===66&&t[13]===67}function ei(t){return t instanceof Error?t.message:`${t}`}async function $t(t){if(typeof DecompressionStream<"u"){let e=new Blob([t]).stream().pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(e).arrayBuffer())}else return Lt(t,void 0)}function ti(t){return ei(t).includes("invalid gzip header")?new Error("problem decompressing block: incorrect gzip header check",{cause:t}):t}async function wA(t){if(t.length===0)return new Uint8Array(0);if(!ji(t)){if(Ai(t))return $t(t);throw new Error("problem decompressing block: not a valid bgzf or gzip block")}try{return await jt(t)}catch(e){if(ei(e).includes("invalid bgzf header"))return $t(t);throw ti(e)}}function Vi(t,e,A,i){let n=[],g=[],Q=[],r=A.dataPosition;for(let B=0;B<t.length;B++){let o=t[B],I=e[B],f=I.filePosition>=i.blockPosition;n.push(I.filePosition),g.push(r);let s=B===0?A.dataPosition:0,a=f?Math.min(i.dataPosition+1,o.length):o.length;if(s<a&&Q.push(o.subarray(s,a)),r+=o.length-s,f){n.push(I.filePosition+I.compressedSize),g.push(r);break}}return{buffer:Ut(Q),cpositions:Float64Array.from(n),dpositions:Float64Array.from(g)}}var ii=4e5;function $i(t){let e=0;for(let A of t)e+=A.decompressedSize;return e}async function we(t,e,A){let{minv:i,maxv:n}=e;if(A){let g=Yt(t,i.blockPosition,n.blockPosition);if($i(g)>=ii){let Q=await A.decompressBlocks(t,g);return Vi(Q.blocks,g,i,n)}}try{let g=await Vt(t,i.blockPosition,i.dataPosition,n.blockPosition,n.dataPosition);return{buffer:g.buffer,cpositions:g.cpositions,dpositions:g.dpositions}}catch(g){throw ti(g)}}function ke(t){if(t?.aborted)throw De(t)}function De(t){let e=t.reason;return e===void 0?new DOMException("This operation was aborted","AbortError"):e}var j=class{entries=new Map;total=0;settledCount=0;limit;shared;fill;sizeOf;toCacheKey;idleTimeoutMs;sweepTimer;constructor({fill:e,maxSize:A=1/0,sizeOf:i=()=>1,cacheKey:n=r=>String(r),idleTimeoutMs:g=0,budget:Q}={}){this.fill=e,this.limit=A,this.shared=Q&&{budget:Q,membership:Q.register(this)},this.sizeOf=i,this.toCacheKey=n,this.idleTimeoutMs=g>0&&Number.isFinite(g)?g:void 0}get size(){return this.entries.size}get totalSize(){return this.total}get maxSize(){return this.limit}set maxSize(e){this.limit=e,this.evict()}waiterCount(e){return this.entries.get(this.toCacheKey(e))?.pending?.signals.size??0}async get(e,A,i){ke(A);let n=this.toCacheKey(e),g=this.entries.get(n);g&&this.isDoomed(g)&&(this.deleteKey(n),g=void 0),g?this.touch(n,g):g=this.start(n,e,i),g.pending&&this.join(g.pending,A);try{return await this.settleFor(g,A)}finally{ke(A)}}settleFor(e,A){if(!e.pending||A===void 0||typeof A.addEventListener!="function")return e.promise;let i,n=new Promise((Q,r)=>{i=r}),g=()=>{i(De(A))};return A.addEventListener("abort",g,{once:!0}),Promise.race([e.promise,n]).finally(()=>{A.removeEventListener("abort",g)})}getIfCached(e){let A=this.toCacheKey(e),i=this.entries.get(A);if(i){if(this.isDoomed(i)){this.deleteKey(A);return}return this.touch(A,i),i.promise}}has(e){let A=this.entries.get(this.toCacheKey(e));return A!==void 0&&!this.isDoomed(A)}delete(e){this.deleteKey(this.toCacheKey(e))}clear(){this.entries.clear(),this.shared?.budget.charge(this.shared.membership,-this.total),this.total=0,this.settledCount=0,this.stopSweep()}touch(e,A){this.entries.delete(e),this.entries.set(e,A),A.lastTouched=Date.now(),A.seq=this.stamp()}stamp(){return this.shared?.budget.nextSeq()??0}isDoomed(e){return e.pending?.controller.signal.aborted===!0}sweepIdle(){let e=this.idleTimeoutMs;if(e===void 0)return;let A=Date.now()-e;for(let[i,n]of this.entries)!n.pending&&n.lastTouched<=A&&this.deleteKey(i);this.settledCount===0&&this.stopSweep()}startSweep(){let e=this.idleTimeoutMs;if(e===void 0||this.sweepTimer!==void 0)return;let A=Math.min(2**31-1,Math.max(1e3,Math.floor(e/4))),i=new WeakRef(this),n=setInterval(()=>{let g=i.deref();g?g.sweepIdle():clearInterval(n)},A);this.sweepTimer=n,n.unref?.()}stopSweep(){this.sweepTimer!==void 0&&(clearInterval(this.sweepTimer),this.sweepTimer=void 0)}start(e,A,i){let n=i??(this.fill&&(o=>this.fill(A,o)));if(!n)throw new Error("SharedReadCache needs a fill, either on the cache or on the get() call");let g={signals:new Map,pinned:!1,controller:new AbortController},Q={promise:Promise.resolve(n(g.controller.signal)),pending:g,size:0,lastTouched:Date.now(),seq:this.stamp()};this.entries.set(e,Q);let r=()=>this.entries.get(e)===Q,B=()=>{for(let[o,I]of g.signals)o.removeEventListener("abort",I);Q.pending=void 0};return Q.promise.then(o=>{let I=r()?this.weigh(o):void 0,f=r();B(),f&&(I===void 0?this.entries.delete(e):(Q.lastTouched=Date.now(),Q.size=I,this.settledCount++,this.total+=I,this.shared?.budget.charge(this.shared.membership,I),this.startSweep())),this.evict(),this.shared?.budget.evict()},()=>{r()&&this.deleteKey(e),B()}),Q}weigh(e){try{let A=this.sizeOf(e);return Number.isFinite(A)&&A>=0?A:void 0}catch{return}}join(e,A){if(A===void 0||typeof A.addEventListener!="function")e.pinned=!0;else if(!A.aborted&&!e.signals.has(A)){let i=()=>{e.signals.delete(A),!e.pinned&&e.signals.size===0&&e.controller.abort(A.reason)};e.signals.set(A,i),A.addEventListener("abort",i,{once:!0})}}deleteKey(e){let A=this.entries.get(e);A&&(this.entries.delete(e),A.pending||this.settledCount--,this.total-=A.size,this.shared?.budget.charge(this.shared.membership,-A.size))}lruSpare(){if(!(this.settledCount<=1)){for(let[e,A]of this.entries)if(!A.pending)return{cacheKey:e,seq:A.seq}}}release(e){this.deleteKey(e)}evict(){if(!(this.total<=this.limit))for(let[e,A]of this.entries){if(this.total<=this.limit||this.settledCount<=1)break;A.pending||this.deleteKey(e)}}};async function LA(t){return t.bytes?t.bytes():new Uint8Array(await t.arrayBuffer())}async function gi(t,e,A){if(e==="utf8"||e==="utf-8")return t.text();if(e)throw new Error(`unsupported encoding: ${e}`);return A&&"body"in t?Ne(t,A):LA(t)}function ni(t){return typeof t=="string"?{encoding:t,opts:{}}:{encoding:t?.encoding,opts:t??{}}}function Ii(t){let e=/\/(\d+)$/.exec(t??"")?.[1];return e===void 0?void 0:parseInt(e,10)}function Ag(t){let e=t.headers.get("content-length"),A=e===null?Number.NaN:Number(e);return Number.isSafeInteger(A)&&A>=0?A:void 0}var eg=50;async function Ne(t,e){let A=Ag(t),i=t.body;if(!i||A===void 0){let B=await LA(t);return e(B.byteLength,A??B.byteLength),B}let n=i.getReader(),g=new Uint8Array(A),Q=0,r=Date.now();e(0,A);for(let B=await n.read();!B.done;B=await n.read()){if(Q+B.value.byteLength>g.length){let I=new Uint8Array(Math.max(Q+B.value.byteLength,g.length*2));I.set(g.subarray(0,Q)),g=I}g.set(B.value,Q),Q+=B.value.byteLength;let o=Date.now();o-r>=eg&&(r=o,e(Q,A))}return e(Q,A),Q===g.length?g:g.slice(0,Q)}function tg(...t){let e=new Map;for(let A of t)for(let[i,n]of Object.entries(A??{}))e.set(i.toLowerCase(),[i,n]);return Object.fromEntries(e.values())}function pe(t){let e=t.body;typeof e?.cancel=="function"&&e.cancel().catch(()=>{})}function oi(t){return Number.isSafeInteger(t)&&t>=0}function ig(t){return typeof t=="object"&&t!==null&&"name"in t&&t.name==="TypeError"}function gg(t){return(typeof t=="object"&&t!==null&&"message"in t&&typeof t.message=="string"?t.message:`${t}`).replace(/\.$/,"")}var X=class{url;get source(){return this.url}_stat;statProbe;fetchImplementation;baseHeaders;baseOverrides;baseSignal;constructor(e,A={}){this.url=e,this.baseHeaders=A.headers??{},this.baseOverrides=A.overrides??{},this.baseSignal=A.signal,this.fetchImplementation=A.fetch??globalThis.fetch.bind(globalThis)}buildRequest(e,A){let i=e.signal??this.baseSignal;return{method:"GET",redirect:"follow",mode:"cors",...this.baseOverrides,...e.overrides,headers:tg(this.baseHeaders,e.headers,A),...i?{signal:i}:{}}}async fetch(e,A){let i=g=>ig(g)&&!A?.signal?.aborted?new Error(`${gg(g)} fetching ${e}`,{cause:g}):g,n;try{n=await this.fetchImplementation(e,A)}catch(g){if(`${g}`.includes("Failed to fetch")){console.warn(`generic-filehandle: refetching ${e} to attempt to work around chrome CORS header caching bug`);try{n=await this.fetchImplementation(e,{...A,cache:"reload"})}catch(Q){throw i(Q)}}else throw i(g)}return n}async read(e,A,i={}){if(!oi(e)||!oi(A))throw new TypeError(`read() called with an invalid length or position (length=${e}, position=${A}). The index file may be corrupt.`);return e===0?new Uint8Array(0):this.fetchBytes(e,A,i)}async fetchBytes(e,A,i){let n=await this.fetch(this.url,this.buildRequest(i,{range:`bytes=${A}-${A+e-1}`}));if(n.status===416)return pe(n),new Uint8Array(0);if(this.checkOk(n),n.status===200&&A===0||n.status===206){let g=Ii(n.headers.get("content-range"));g!==void 0&&(this._stat={size:g});let Q=i.onProgress?await Ne(n,i.onProgress):await LA(n);return!this._stat&&n.status===200&&(this._stat={size:Q.byteLength}),Q.byteLength<=e?Q:Q.slice(0,e)}throw pe(n),new Error(n.status===200?`${this.url} fetch returned status 200, expected 206`:`HTTP ${n.status} fetching ${this.url}`)}checkOk(e){if(!e.ok)throw pe(e),new Error(`HTTP ${e.status} fetching ${this.url}`)}async readFile(e){let{encoding:A,opts:i}=ni(e),n=await this.fetch(this.url,this.buildRequest(i));this.checkOk(n);let g=await this.readFileBody(n,A,i.onProgress);return n.status===200&&typeof g!="string"&&(this._stat={size:g.byteLength}),g}readFileBody(e,A,i){return gi(e,A,i)}async stat(){return this._stat||(this.statProbe??=this.read(10,0).finally(()=>{this.statProbe=void 0}),await this.statProbe),this._stat??{size:0}}close(){return Promise.resolve()}};var gA=class{source;constructor(e,A={}){this.source=e}unimplemented(){return Promise.reject(new Error(`LocalFile is unimplemented in the browser (${this.source})`))}readFile(e){return this.unimplemented()}read(e,A,i){return this.unimplemented()}stat(){return this.unimplemented()}close(){return this.unimplemented()}};var K=class{minv;maxv;bin;endPosition;constructor(e,A,i,n=A.blockPosition+65536){this.minv=e,this.maxv=A,this.bin=i,this.endPosition=n}toString(){return`${this.minv.toString()}..${this.maxv.toString()} (bin ${this.bin}, fetchedSize ${this.fetchedSize()})`}fetchedSize(){return this.endPosition-this.minv.blockPosition}};function ye(t,e){if(!(e>0))throw new TypeError(`\`${t}\` must be a number greater than 0`)}var kA=class{#A=new Map;#e=new Map;#t;#g;#n;constructor(e){let A=e.maxAge??Number.POSITIVE_INFINITY;ye("maxSize",e.maxSize),ye("maxAge",A),this.#t=e.maxSize,this.#g=A,this.#n=e.onEviction}#I(e){let A=this.#n;if(A)for(let[i,n]of e)A(i,n.value)}#i(e,A){return A.expiry!==void 0&&A.expiry<=Date.now()?(this.#n?.(e,A.value),this.delete(e),!0):!1}#r(e,A){return this.#i(e,A)?void 0:A.value}#Q(e,A){if(this.#e.delete(e),this.#A.set(e,A),this.#A.size>=this.#t){let i=this.#e;this.#e=this.#A,this.#A=new Map,this.#I(i)}}#B(e){this.#e=new Map(e),this.#A=new Map}*#o(){for(let e of[this.#e,this.#A])for(let A of e)this.#i(...A)||(yield A)}get(e){let A=this.#A.get(e);if(A)return this.#r(e,A);let i=this.#e.get(e);if(i&&!this.#i(e,i))return this.#Q(e,i),i.value}set(e,A,{maxAge:i=this.#g}={}){let n={value:A,expiry:i===Number.POSITIVE_INFINITY?void 0:Date.now()+i};return this.#A.has(e)?this.#A.set(e,n):this.#Q(e,n),this}has(e){let A=this.#A.get(e)??this.#e.get(e);return A!==void 0&&!this.#i(e,A)}peek(e){let A=this.#A.get(e)??this.#e.get(e);return A?this.#r(e,A):void 0}expiresIn(e){let A=this.#A.get(e)??this.#e.get(e);if(A)return A.expiry===void 0?Number.POSITIVE_INFINITY:A.expiry-Date.now()}delete(e){return this.#A.delete(e)||this.#e.delete(e)}clear(){this.#A.clear(),this.#e.clear()}resize(e){ye("maxSize",e);let A=[...this.#o()],i=A.length-e;i<0?(this.#A=new Map(A),this.#e=new Map):(this.#I(A.slice(0,i)),this.#B(A.slice(i))),this.#t=e}evict(e=1){if(!(e>0))return;let A=[...this.#o()],i=Math.trunc(Math.min(e,A.length-1));i>0&&(this.#I(A.slice(0,i)),this.#B(A.slice(i)))}get size(){return Math.min(this.#A.size+this.#e.size,this.#t)}get maxSize(){return this.#t}get maxAge(){return this.#g}*entriesAscending(){for(let[e,A]of this.#o())yield[e,A.value]}*entriesDescending(){for(let e of[this.#A,this.#e])for(let[A,i]of[...e].reverse())this.#i(A,i)||(yield[A,i.value])}entries(){return this.entriesAscending()}[Symbol.iterator](){return this.entriesAscending()}*keys(){for(let[e]of this)yield e}*values(){for(let[,e]of this)yield e}forEach(e,A=this){for(let[i,n]of this)e.call(A,n,i,this)}get[Symbol.toStringTag](){return"QuickLRU"}toString(){return`QuickLRU(${this.size}/${this.maxSize})`}[Symbol.for("nodejs.util.inspect.custom")](){return this.toString()}};function ri(t,e=0){let A=t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24;return((t[e+4]|t[e+5]<<8|t[e+6]<<16|t[e+7]<<24)>>>0)*4294967296+(A>>>0)}var aA=class{blockPosition;dataPosition;constructor(e,A){this.blockPosition=e,this.dataPosition=A}toString(){return`${this.blockPosition}:${this.dataPosition}`}compareTo(e){return this.blockPosition-e.blockPosition||this.dataPosition-e.dataPosition}};function V(t,e=0){return new aA(t[e+7]*1099511627776+t[e+6]*4294967296+t[e+5]*16777216+t[e+4]*65536+t[e+3]*256+t[e+2],t[e+1]<<8|t[e])}function YA(t,e){let A=t.length;if(A===0)return t;let i;if(e){let r=e.blockPosition,B=e.dataPosition;i=[];for(let o=0;o<A;o++){let I=t[o];(I.maxv.blockPosition-r||I.maxv.dataPosition-B)>0&&i.push(I)}if(i.length===0)return i}else i=t;i.sort((r,B)=>{let o=r.minv.blockPosition-B.minv.blockPosition;return o===0?r.minv.dataPosition-B.minv.dataPosition:o});let n=[i[0]],g=i[0].minv.blockPosition,Q=i[0].maxv.blockPosition;for(let r=1;r<i.length;r++){let B=i[r],o=B.minv.blockPosition,I=B.maxv.blockPosition;if(o-Q<65e3&&I-g<5e6){let f=n.at(-1);(I-Q||B.maxv.dataPosition-f.maxv.dataPosition)>0&&(n[n.length-1]=new K(f.minv,B.maxv,f.bin,B.endPosition),Q=I)}else n.push(B),g=o,Q=I}return ng(n)}function ng(t){let e=[t[0]];for(let A=1;A<t.length;A++){let i=t[A],n=e.at(-1).maxv;if((i.minv.blockPosition-n.blockPosition||i.minv.dataPosition-n.dataPosition)>=0){e.push(i);continue}(i.maxv.blockPosition-n.blockPosition||i.maxv.dataPosition-n.dataPosition)>0&&e.push(new K(n,i.maxv,i.bin,i.endPosition))}return e}function UA(t,e=[]){let A=[...e];for(let i of t)A.push(i.minv.blockPosition,i.maxv.blockPosition);A.sort((i,n)=>i-n);for(let i of t){let n=i.maxv.blockPosition,g=0,Q=A.length;for(;g<Q;){let r=g+Q>>>1;A[r]>n?Q=r:g=r+1}g<A.length&&(i.endPosition=Math.min(i.endPosition,A[g]))}}function HA(t,e,A,i){let n=i?i.blockPosition:1/0,g=i?i.dataPosition:0,Q=!1;for(let r=0;r<A;r++){let B=e+r*8,o=t[B+7]*1099511627776+t[B+6]*4294967296+t[B+5]*16777216+t[B+4]*65536+t[B+3]*256+t[B+2],I=t[B+1]<<8|t[B];(o<n||o===n&&I<g)&&(n=o,g=I,Q=!0)}return Q?new aA(n,g):i}function Ig(t){let e=new TextDecoder("utf-8"),A=[],i={},n=0,g=0;for(;g<t.length;){let Q=t.indexOf(0,g);if(Q===-1)break;if(Q>g){let r=e.decode(t.subarray(g,Q));A[n]=r,i[r]=n}g=Q+1,n++}return{refNameToId:i,refIdToName:A}}var og={0:"generic",1:"SAM",2:"VCF",3:"GAF"};function KA(t,e){let A=new DataView(t.buffer,t.byteOffset,t.byteLength),i=A.getInt32(e,!0),n=i&65536?"zero-based-half-open":"1-based-closed",g=og[i&15];if(!g)throw new Error(`invalid Tabix preset format flags ${i}`);let Q={ref:A.getInt32(e+4,!0),start:A.getInt32(e+8,!0),end:A.getInt32(e+12,!0)},r=A.getInt32(e+16,!0),B=r?String.fromCharCode(r):void 0,o=A.getInt32(e+20,!0),I=A.getInt32(e+24,!0),{refIdToName:f,refNameToId:s}=Ig(t.subarray(e+28,e+28+I));return{refIdToName:f,refNameToId:s,skipLines:o,metaChar:B,columnNumbers:Q,format:g,coordinateType:n}}function qA(t,e){return{lineCount:ri(t,e)}}function TA(t,e=5){let A=new kA({maxSize:e});return i=>{let n=A.get(i);if(n!==void 0)return n;let g=t(i);return g!==void 0&&A.set(i,g),g}}function rg(t,e,A,i){if(e>2**(A+i*3))return;let n=(8**(i+1)-1)/7,g=(8**i-1)/7+Math.floor((e-1)/2**A)+1;for(g>=n&&(g=0);;){for(;g%8===1;)g=(g-1)/8;if(g===0)return;let Q=t[g];if(Q?.length){let r=Q[0].minv;for(let B=1;B<Q.length;B++){let o=Q[B].minv;o.compareTo(r)<0&&(r=o)}return r}g++}}function Qi(t,e){return t.format==="GAF"?0:t.refNameToId[e]}var nA=class{filehandle;parseCache=new j({});constructor({filehandle:e}){this.filehandle=e}async readIndexBytes(e){let A=await this.filehandle.readFile({signal:e.signal,onProgress:e.onProgress}),i=await wA(A);return{bytes:i,dataView:new DataView(i.buffer,i.byteOffset,i.byteLength)}}async lineCount(e,A={}){let i=await this.parse(A),n=Qi(i,e);return n===void 0?-1:i.indices(n)?.stats?.lineCount??-1}async getMetadata(e={}){let{indices:A,...i}=await this.parse(e);return i}async blocksForRange(e,A,i,n={}){let g=await this.parse(n),Q=Qi(g,e);if(Q===void 0)return[];let r=g.indices(Q);if(!r)return[];g.format==="GAF"&&(A=Math.max(A-1,0));let B=[];for(let[f,s]of this.reg2bins(A,i,g))for(let a=f;a<=s;a++){let E=r.binIndex[a];if(E)for(let D of E)B.push(D)}let o=YA(B,this.lowestOffset(r,A,g)),I=rg(r.binIndex,i,g.minShift,g.depth);if(I){let f=o.length;for(;f>0&&o[f-1].minv.compareTo(I)>=0;)f--;o.length=f}return o}parse(e={}){return this.parseCache.get("index",e.signal,A=>this._parse({...e,signal:A}))}async hasRefSeq(e,A={}){return!!(await this.parse(A)).indices(e)?.binIndex}};var Qg=21582659,Bg=38359875;function Bi(t,e){return t*2**e}function me(t,e){return Math.floor(t/2**e)}var IA=class extends nA{async _parse(e={}){let{bytes:A,dataView:i}=await this.readIndexBytes(e),n=i.getUint32(0,!0),g;if(n===Qg)g=1;else if(n===Bg)g=2;else throw new Error(`Not a CSI file (magic=${n})`);let Q=i.getInt32(4,!0),r=i.getInt32(8,!0),B=(8**(r+1)-1)/7,o=2**(Q+r*3),I=i.getInt32(12,!0),f=I>=28&&(i.getInt32(16,!0)&15)===3;if(I<30&&!f)throw new Error("CSI index has no tabix header, so it names no references; it may be a BAM or BCF index");let s=KA(A,16),a=i.getInt32(16+I,!0),E=16+I+4,D,w=[];for(let k=0;k<a;k++){w.push(E);let u=i.getInt32(E,!0);E+=4;for(let C=0;C<u;C++){let l=i.getUint32(E,!0);if(E+=4,l>B)E+=44;else{D=HA(A,E,1,D),E+=8;let N=i.getInt32(E,!0);E+=4+16*N}}}function d(k){let u=w[k];if(u===void 0)return;let C=u,l=i.getInt32(C,!0);C+=4;let N={},c={},y;for(let p=0;p<l;p++){let h=i.getUint32(C,!0);if(C+=4,h>B)y=qA(A,C+28),C+=44;else{c[h]=V(A,C),C+=8;let m=i.getInt32(C,!0);C+=4;let S=Array.from({length:m});for(let G=0;G<m;G++)S[G]=new K(V(A,C),V(A,C+8),h),C+=16;N[h]=S}}return UA(Object.values(N).flat()),{binIndex:N,loffsets:c,stats:y}}return{...s,csi:!0,refCount:a,maxBlockSize:65536,firstDataLine:D,csiVersion:g,indices:TA(d),minShift:Q,depth:r,maxBinNumber:B,maxRefLength:o}}lowestOffset(e,A,{minShift:i,depth:n}){let{loffsets:g}=e,Q;if(g){let r=(Bi(1,3*n)-1)/7+me(Math.max(A,0),i);for(;Q===void 0&&r>0;)if(Q=g[r],Q===void 0){let B=Math.floor((r-1)/8),o=B*8+1;r=r>o?r-1:B}Q??=g[0]}return Q}reg2bins(e,A,{minShift:i,depth:n,maxBinNumber:g}){e=Math.max(e,0);let Q=2**(i+n*3);A>Q&&(A=Q),A-=1;let r=0,B=0,o=i+n*3,I=[];for(;r<=n;o-=3,B+=Bi(1,r*3),r+=1){let f=B+me(e,o),s=B+me(A,o);if(s-f+I.length>g)throw new Error(`query ${e}-${A} is too large for current binning scheme (shift ${i}, depth ${n}), try a smaller query or a coarser index binning scheme`);I.push([f,s])}return I}};var Cg=21578324,Fe=5,xe=14,ZA=2**(xe+Fe*3);function Ci(t){return Math.min(Math.max(t,0),ZA)}var z=class extends nA{reg2bins(e,A){e>ZA&&console.warn("querying outside of possible tabix range");let i=Ci(e),n=Math.min(A,ZA)-1,g=[];return i<=n&&g.push([0,0],[1+(i>>26),1+(n>>26)],[9+(i>>23),9+(n>>23)],[73+(i>>20),73+(n>>20)],[585+(i>>17),585+(n>>17)],[4681+(i>>14),4681+(n>>14)]),g}lowestOffset(e,A){let i=e.linearIndex;return i?.[Math.min(Ci(A)>>xe,i.length-1)]}async _parse(e={}){let{bytes:A,dataView:i}=await this.readIndexBytes(e);if(i.getUint32(0,!0)!==Cg)throw new Error("Not a TBI file");let n=i.getUint32(4,!0),g=((1<<(Fe+1)*3)-1)/7,{refNameToId:Q,refIdToName:r,coordinateType:B,format:o,columnNumbers:I,metaChar:f,skipLines:s}=KA(A,8),E=36+i.getInt32(32,!0),D,w=[];for(let k=0;k<n;k++){w.push(E);let u=i.getInt32(E,!0);E+=4;for(let l=0;l<u;l++){let N=i.getUint32(E,!0);E+=4;let c=i.getInt32(E,!0);if(E+=4,N>g+1)throw new Error("tabix index contains too many bins, please use a CSI index");E+=16*c}let C=i.getInt32(E,!0);E+=4,D=HA(A,E,C,D),E+=8*C}function d(k){let u=w[k];if(u===void 0)return;let C=u,l=i.getInt32(C,!0);C+=4;let N={},c;for(let h=0;h<l;h++){let m=i.getUint32(C,!0);if(C+=4,m>g+1)throw new Error("tabix index contains too many bins, please use a CSI index");if(m===g+1){let S=i.getInt32(C,!0);C+=4,S===2&&(c=qA(A,C+16)),C+=16*S}else{let S=i.getInt32(C,!0);C+=4;let G=Array.from({length:S});for(let b=0;b<S;b++)G[b]=new K(V(A,C),V(A,C+8),m),C+=16;N[m]=G}}let y=i.getInt32(C,!0);C+=4;let p=Array.from({length:y});for(let h=0;h<y;h++)p[h]=V(A,C),C+=8;return UA(Object.values(N).flat(),p.map(h=>h.blockPosition)),{binIndex:N,linearIndex:p,stats:c}}return{indices:TA(d),metaChar:f,minShift:xe,depth:Fe,maxBinNumber:g,maxRefLength:ZA,skipLines:s,firstDataLine:D,columnNumbers:I,coordinateType:B,format:o,refIdToName:r,refNameToId:Q,maxBlockSize:65536}}};var Se=9,zA=10,Ei=13,ag=59,sg=60,Eg=62,cg=6,fg=1024*2**20,hg=180*1e3;function lg(t,e,A){if(t)return t;if(e)return new gA(e);if(A)return new X(A);throw new TypeError("must provide either filehandle, path, or url")}function dg({tbiFilehandle:t,csiFilehandle:e,tbiPath:A,csiPath:i,tbiUrl:n,csiUrl:g,path:Q,url:r}){if(t)return new z({filehandle:t});if(e)return new IA({filehandle:e});if(A)return new z({filehandle:new gA(A)});if(i)return new IA({filehandle:new gA(i)});if(g)return new IA({filehandle:new X(g)});if(n)return new z({filehandle:new X(n)});if(Q)return new z({filehandle:new gA(`${Q}.tbi`)});if(r)return new z({filehandle:new X(`${r}.tbi`)});throw new TypeError("must provide one of tbiFilehandle, tbiPath, csiFilehandle, csiPath, tbiUrl, csiUrl")}function ci(t,e,A,i,n){return t[A]*256+(i-e[A])+n+1}function ug(t,e,A,i,n,g,Q){let r=i-A,B=e+r,o=0;if(t[n]===46)return B;let I=n;for(let f=n;f<=g;f++)if(f===g||t[f]===ag){let s=f-I;if(s>=10&&t[I]===83&&t[I+1]===86&&t[I+2]===84&&t[I+3]===89&&t[I+4]===80&&t[I+5]===69&&t[I+6]===61&&t[I+7]===84&&t[I+8]===82&&t[I+9]===65)return e+1;if(s>=4&&t[I]===69&&t[I+1]===78&&t[I+2]===68&&t[I+3]===61){let a=XA(t,I+4,f);a>e&&(B=a)}else s>=6&&t[I]===83&&t[I+1]===86&&t[I+2]===76&&t[I+3]===69&&t[I+4]===78&&t[I+5]===61&&(o=kg(t,I+6,f,i+1,Q));I=f+1}return Math.max(B,e+o)}var ai=44;function wg(t,e,A){if(A-e<5||t[e]!==60||t[A-1]!==62)return!1;let i=t[e+4];if(i!==62&&i!==58)return!1;let n=t[e+1],g=t[e+2],Q=t[e+3];return n===67&&g===78&&Q===86||n===68&&g===69&&Q===76||n===68&&g===85&&Q===80||n===73&&g===78&&Q===86}function kg(t,e,A,i,n){let g=0,Q=e,r=i;for(;Q<A&&r<n;){let B=t.indexOf(ai,Q);(B===-1||B>A)&&(B=A);let o=t.indexOf(ai,r);if((o===-1||o>n)&&(o=n),wg(t,r,o)){let I=XA(t,t[Q]===45?Q+1:Q,B);I>g&&(g=I)}Q=B+1,r=o+1}return g}var fi=new TextDecoder;function si(t,e){let A=-1,i=e.charCodeAt(0);for(let n=0,g=t.length;n<g;n++){let Q=t[n];if(n===A+1&&Q!==i)break;Q===zA&&(A=n)}return t.subarray(0,A+1)}function Dg(t,e){let A=0;for(let i=0;i<e;i++){let n=t.indexOf(zA,A);if(n===-1){A=t.length;break}A=n+1}return fi.decode(t.subarray(0,A)).split(/\r?\n/).slice(0,e)}function XA(t,e,A){let i=0;for(let n=e;n<A;n++){let g=t[n];if(g>=48&&g<=57)i=i*10+(g-48);else break}return i}function Ng(t,e,A,i,{start:n,end:g,pathCol:Q,metaCharCode:r,decoder:B,callback:o}){let I=0,f=0;for(;I<t.length;){let s=t.indexOf(zA,I);if(s===-1)break;let a=I;I=s+1;let E=a+i;for(;f<A.length&&E>=A[f];)f++;if(t[a]===r)continue;let D=a;for(let l=1;l<Q;l++){let N=t.indexOf(Se,D);if(N===-1||N>=s){D=s;break}D=N+1}let w=t[D];if(w!==Eg&&w!==sg)continue;let d=t.indexOf(Se,D);(d===-1||d>s)&&(d=s);let k=1/0,u=-1,C=D;for(;C<d;){let l=0,N=C+1;for(;N<d;N++){let c=t[N]-48;if(c<0||c>9)break;l=l*10+c}l<k&&(k=l),l>u&&(u=l),C=N}if(k>=g)return!0;if(u>=n){let l=t[s-1]===Ei?s-1:s;o(B.decode(t.subarray(a,l)),ci(e,A,f,a,i),k,u+1)}}return!1}var sA=class{filehandle;index;chunkCache;headerCache=new j({});bgzfWorkerPool;constructor({path:e,filehandle:A,url:i,tbiPath:n,tbiUrl:g,tbiFilehandle:Q,csiPath:r,csiUrl:B,csiFilehandle:o,chunkCacheSize:I=fg,chunkCacheIdleTimeoutMs:f=hg,chunkCacheBudget:s,bgzfWorkerPool:a}){this.bgzfWorkerPool=a,this.filehandle=lg(A,e,i),this.index=dg({tbiFilehandle:Q,csiFilehandle:o,tbiPath:n,csiPath:r,tbiUrl:g,csiUrl:B,path:e,url:i}),this.chunkCache=new j({maxSize:I,sizeOf:E=>E.buffer.byteLength,cacheKey:E=>E.toString(),idleTimeoutMs:f,budget:s,fill:(E,D)=>this.readChunk(E,{signal:D})})}clearChunkCache(){this.chunkCache.clear()}async bytesForRegions(e,A={}){let i=[];for(let{refName:g,start:Q,end:r}of e){let B=await this.index.blocksForRange(g,Q,r,A);for(let o of B)i.push(o)}let n=0;for(let g of YA(i))n+=g.fetchedSize();return n}async getLines(e,A,i,n){let g,Q={},r,B;typeof n=="function"?r=n:(Q=n,r=n.lineCallback,g=n.signal,B=n.onProgress);let o=await this.index.getMetadata(Q),I=A??0,f=i??o.maxRefLength;if(I>f)throw new TypeError("invalid start and end coordinates. start must be less than or equal to end");if(I===f)return;let s=await this.index.blocksForRange(e,I,f,Q),a=o.format==="VCF",E=o.columnNumbers.ref||0,D=o.columnNumbers.start||0,w=a?8:o.columnNumbers.end||0,d=Math.max(E,D,w),k=o.metaChar?.charCodeAt(0),u=o.coordinateType==="1-based-closed"?-1:0,C=new TextEncoder,l=new TextDecoder,N=C.encode(e),c=new Int32Array(d+1),y=o.format==="GAF"?{start:I,end:f,pathCol:D,metaCharCode:k,decoder:l,callback:r}:void 0,p=0;for(let b of s)p+=b.fetchedSize();let h=0;B?.(0,p);let m=1,S=[],G=b=>{for(;S.length<Math.min(b,s.length);){let oA=s[S.length],U=this.chunkCache.get(oA,g);U.catch(()=>{}),S.push(U)}};G(1);for(let b=0,oA=s.length;b<oA;b++){let U=s[b],{buffer:J,cpositions:Je,dpositions:DA}=await S[b];h+=U.fetchedSize(),B?.(h,p);let OA=U.minv.dataPosition;if(y){if(Ng(J,Je,DA,OA,y))return}else{let _=0,NA=0;for(;_<J.length;){let L=J.indexOf(zA,_);if(L===-1)break;let li=_+OA;for(;NA<DA.length&&li>=DA[NA];)NA++;if(k!==void 0&&J[_]===k){_=L+1;continue}c[0]=_-1;for(let Y=0;Y<d;Y++){let yA=c[Y],WA=yA<L?J.indexOf(Se,yA+1):-1;c[Y+1]=WA===-1||WA>=L?L:WA}let Ge=c[E-1]+1,Re=c[E]-Ge;if(Re!==N.length){_=L+1;continue}let ve=!0;for(let Y=0;Y<Re;Y++)if(J[Ge+Y]!==N[Y]){ve=!1;break}if(!ve){_=L+1;continue}let pA=XA(J,c[D-1]+1,c[D])+u;if(pA>=f)return;let EA;if(w===0||w===D?EA=pA+1:a?EA=ug(J,pA,c[3]+1,c[4],c[w-1]+1,c[w],c[5]):EA=XA(J,c[w-1]+1,c[w]),EA>I){let Y=J[L-1]===Ei?L-1:L,yA=l.decode(J.subarray(_,Y));r(yA,ci(Je,DA,NA,_,OA),pA,EA)}_=L+1}}m=Math.min(m*2,cg),G(b+1+m)}}async getMetadata(e={}){return this.index.getMetadata(e)}async readHeaderBytes(e){let{firstDataLine:A,maxBlockSize:i}=await this.getMetadata(e),n=(A?.blockPosition??0)+i,g=await this.filehandle.read(n,0,e);return wA(g)}async parseHeader(e){let{metaChar:A,skipLines:i=0}=await this.getMetadata(e),n=await this.readHeaderBytes(e);return{header:fi.decode(A?si(n,A):n),skippedLines:i>0?Dg(n,i):[]}}getParsedHeader(e={}){return this.headerCache.get("header",e.signal,A=>this.parseHeader({...e,signal:A}))}async getHeaderBuffer(e={}){let{metaChar:A}=await this.getMetadata(e),i=await this.readHeaderBytes(e);return A?si(i,A):i}async getSkippedLines(e={}){let{skipLines:A=0}=await this.getMetadata(e);return A<=0?[]:(await this.getParsedHeader(e)).skippedLines}async getHeader(e={}){return(await this.getParsedHeader(e)).header}async getHeaderLines(e={}){let{header:A,skippedLines:i}=await this.getParsedHeader(e);return(A?A.split(/\r?\n/):i).filter(Boolean)}async getReferenceSequenceNames(e={}){return(await this.getMetadata(e)).refIdToName}async lineCount(e,A={}){return this.index.lineCount(e,A)}async readChunk(e,A={}){let i=await this.filehandle.read(e.fetchedSize(),e.minv.blockPosition,A),n=await this.bgzfWorkerPool;return we(i,e,n)}};var pg=50*2**20,BI=(t,e="")=>Ye(t,{indexType:{model:Ue.enumeration("IndexType",["TBI","CSI"]),type:"stringEnum",defaultValue:"TBI"},location:{type:"fileLocation",defaultValue:{uri:e,locationType:"UriLocation"}}});function CI(t,e,A){return{indexType:A?"CSI":"TBI",location:{uri:`${t}.${A?"csi":"tbi"}`,baseUri:e}}}function aI(t,e,A){let i=t.pluginManager;return new sA({filehandle:He(t.getConf(e),i),...Ke(t.getConf([...A,"location"]),t.getConf([...A,"indexType"]),i),chunkCacheSize:pg})}function be(t,e){return`${t} ${e}`}function yg(t){let e=new Map;for(let A of t){e.set(A,A);let i=Me(A);if(i!==A){let n=PA(A);e.set(be(i,n),A);let g=_e(A);g!==void 0&&e.set(be(g,n),A)}}return e}function mg(t,e,A){let i=t.get(be(e,A));return i===void 0?t.get(A):i}var hi=class{constructor(e,A){this.file=e;this.adapter=A;this.lookup=Te({setup:async e=>yg(await this.file.getReferenceSequenceNames(e))})}async assemblyRefNames(e={}){let A=await this.file.getReferenceSequenceNames(e),i=jA(this.adapter,e.assemblyName),n=A.filter(g=>Le(g,i)).map(g=>PA(g));return n.length>0?[...new Set(n)]:A}async resolve(e,A){let i=await this.lookup(A);return mg(i,jA(this.adapter,e.assemblyName),e.refName)}};export{wA as a,xg as b,Te as c,BI as d,CI as e,aI as f,hi as g};
2
+ //# sourceMappingURL=chunk-4IJKHORO.js.map