@woosh/meep-engine 2.72.0 → 2.74.0

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 (35) hide show
  1. package/build/bundle-worker-image-decoder.js +1 -1
  2. package/build/meep.cjs +38 -189
  3. package/build/meep.min.js +1 -1
  4. package/build/meep.module.js +38 -189
  5. package/package.json +3 -2
  6. package/src/engine/asset/loaders/image/codec/NativeImageDecoder.js +2 -1
  7. package/src/engine/asset/loaders/image/codec/ThreadedImageDecoder.js +4 -5
  8. package/src/engine/asset/loaders/image/png/PNGReader.js +23 -19
  9. package/src/engine/graphics/ecs/camera/FrustumProjector.js +31 -182
  10. package/src/engine/graphics/generate_halton_jitter.js +21 -0
  11. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.js +3 -20
  12. package/src/engine/graphics/texture/virtual/v2/NOTES.md +11 -1
  13. package/src/engine/graphics/texture/virtual/v2/ShaderUsage.js +7 -5
  14. package/src/engine/graphics/texture/virtual/v2/SparseTexture.js +291 -0
  15. package/src/engine/graphics/texture/virtual/v2/TileLoader.js +232 -0
  16. package/src/engine/graphics/texture/virtual/v2/UsageMetadata.js +118 -134
  17. package/src/engine/graphics/texture/virtual/v2/VirtualTextureManager.js +73 -9
  18. package/src/engine/graphics/texture/virtual/v2/debug/ResidencyDebugView.js +58 -0
  19. package/src/engine/graphics/texture/virtual/v2/debug/UsageDebugView.js +63 -0
  20. package/src/engine/graphics/texture/virtual/v2/{UsagePyramidDebugView.js → debug/UsagePyramidDebugView.js} +27 -23
  21. package/src/engine/graphics/texture/virtual/v2/prototype.js +62 -19
  22. package/src/engine/graphics/texture/virtual/v2/tile/TextureTile.js +31 -0
  23. package/src/engine/graphics/texture/virtual/v2/tile/compose_finger_print.js +23 -0
  24. package/src/engine/graphics/texture/virtual/v2/tile/compose_tile_address.js +22 -0
  25. package/src/engine/graphics/texture/virtual/v2/tile/decompose_finger_print.js +12 -0
  26. package/src/engine/graphics/texture/virtual/v2/tile/finger_print_to_tile_address.js +16 -0
  27. package/src/engine/graphics/texture/virtual/v2/tile/tile_address_to_finger_print.js +35 -0
  28. package/src/view/CSS_ABSOLUTE_POSITIONING.js +5 -0
  29. package/src/engine/graphics/clouds/MaterialTransformer.js +0 -0
  30. package/src/engine/graphics/clouds/TerrainCloudsPlugin.js +0 -0
  31. package/src/engine/graphics/clouds/cs_build_fragment_shader.js +0 -0
  32. package/src/engine/graphics/clouds/cs_build_vertex_shader.js +0 -0
  33. package/src/engine/graphics/ecs/camera/TiltCameraController.js +0 -69
  34. package/src/engine/graphics/ecs/camera/is_valid_distance_value.js +0 -11
  35. package/src/engine/graphics/texture/virtual/v2/UsageDebugView.js +0 -51
@@ -1 +1 @@
1
- function t(t){let e=t.length;for(;--e>=0;)t[e]=0}const e=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),i=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),n=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),a=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),r=new Array(576);t(r);const s=new Array(60);t(s);const o=new Array(512);t(o);const h=new Array(256);t(h);const l=new Array(29);t(l);const d=new Array(30);function c(t,e,i,n,a){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=n,this.max_length=a,this.has_stree=t&&t.length}let f,u,_;function p(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}t(d);const w=t=>t<256?o[t]:o[256+(t>>>7)],g=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},b=(t,e,i)=>{t.bi_valid>16-i?(t.bi_buf|=e<<t.bi_valid&65535,g(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=i)},m=(t,e,i)=>{b(t,i[2*e],i[2*e+1])},y=(t,e)=>{let i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1},k=(t,e,i)=>{const n=new Array(16);let a,r,s=0;for(a=1;a<=15;a++)n[a]=s=s+i[a-1]<<1;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=y(n[e]++,e))}},v=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0},x=t=>{t.bi_valid>8?g(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},U=(t,e,i,n)=>{const a=2*e,r=2*i;return t[a]<t[r]||t[a]===t[r]&&n[e]<=n[i]},E=(t,e,i)=>{const n=t.heap[i];let a=i<<1;for(;a<=t.heap_len&&(a<t.heap_len&&U(e,t.heap[a+1],t.heap[a],t.depth)&&a++,!U(e,n,t.heap[a],t.depth));)t.heap[i]=t.heap[a],i=a,a<<=1;t.heap[i]=n},A=(t,n,a)=>{let r,s,o,c,f=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*f]<<8|t.pending_buf[t.d_buf+2*f+1],s=t.pending_buf[t.l_buf+f],f++,0===r?m(t,s,n):(o=h[s],m(t,o+256+1,n),c=e[o],0!==c&&(s-=l[o],b(t,s,c)),r--,o=w(r),m(t,o,a),c=i[o],0!==c&&(r-=d[o],b(t,r,c)))}while(f<t.last_lit);m(t,256,n)},z=(t,e)=>{const i=e.dyn_tree,n=e.stat_desc.static_tree,a=e.stat_desc.has_stree,r=e.stat_desc.elems;let s,o,h,l=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<r;s++)0!==i[2*s]?(t.heap[++t.heap_len]=l=s,t.depth[s]=0):i[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=l<2?++l:0,i[2*h]=1,t.depth[h]=0,t.opt_len--,a&&(t.static_len-=n[2*h+1]);for(e.max_code=l,s=t.heap_len>>1;s>=1;s--)E(t,i,s);h=r;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],E(t,i,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,i[2*h]=i[2*s]+i[2*o],t.depth[h]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,i[2*s+1]=i[2*o+1]=h,t.heap[1]=h++,E(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const i=e.dyn_tree,n=e.max_code,a=e.stat_desc.static_tree,r=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let l,d,c,f,u,_,p=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(i[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)d=t.heap[l],f=i[2*i[2*d+1]+1]+1,f>h&&(f=h,p++),i[2*d+1]=f,d>n||(t.bl_count[f]++,u=0,d>=o&&(u=s[d-o]),_=i[2*d],t.opt_len+=_*(f+u),r&&(t.static_len+=_*(a[2*d+1]+u)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(d=t.bl_count[f];0!==d;)c=t.heap[--l],c>n||(i[2*c+1]!==f&&(t.opt_len+=(f-i[2*c+1])*i[2*c],i[2*c+1]=f),d--)}})(t,e),k(i,l,t.bl_count)},I=(t,e,i)=>{let n,a,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),e[2*(i+1)+1]=65535,n=0;n<=i;n++)a=s,s=e[2*(n+1)+1],++o<h&&a===s||(o<l?t.bl_tree[2*a]+=o:0!==a?(a!==r&&t.bl_tree[2*a]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,r=a,0===s?(h=138,l=3):a===s?(h=6,l=3):(h=7,l=4))},S=(t,e,i)=>{let n,a,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),n=0;n<=i;n++)if(a=s,s=e[2*(n+1)+1],!(++o<h&&a===s)){if(o<l)do{m(t,a,t.bl_tree)}while(0!=--o);else 0!==a?(a!==r&&(m(t,a,t.bl_tree),o--),m(t,16,t.bl_tree),b(t,o-3,2)):o<=10?(m(t,17,t.bl_tree),b(t,o-3,3)):(m(t,18,t.bl_tree),b(t,o-11,7));o=0,r=a,0===s?(h=138,l=3):a===s?(h=6,l=3):(h=7,l=4)}};let T=!1;const R=(t,e,i,n)=>{b(t,0+(n?1:0),3),((t,e,i,n)=>{x(t),g(t,i),g(t,~i),t.pending_buf.set(t.window.subarray(e,e+i),t.pending),t.pending+=i})(t,e,i)};var C={_tr_init:t=>{T||((()=>{let t,a,p,w,g;const b=new Array(16);for(p=0,w=0;w<28;w++)for(l[w]=p,t=0;t<1<<e[w];t++)h[p++]=w;for(h[p-1]=w,g=0,w=0;w<16;w++)for(d[w]=g,t=0;t<1<<i[w];t++)o[g++]=w;for(g>>=7;w<30;w++)for(d[w]=g<<7,t=0;t<1<<i[w]-7;t++)o[256+g++]=w;for(a=0;a<=15;a++)b[a]=0;for(t=0;t<=143;)r[2*t+1]=8,t++,b[8]++;for(;t<=255;)r[2*t+1]=9,t++,b[9]++;for(;t<=279;)r[2*t+1]=7,t++,b[7]++;for(;t<=287;)r[2*t+1]=8,t++,b[8]++;for(k(r,287,b),t=0;t<30;t++)s[2*t+1]=5,s[2*t]=y(t,5);f=new c(r,e,257,286,15),u=new c(s,i,0,30,15),_=new c(new Array(0),n,0,19,7)})(),T=!0),t.l_desc=new p(t.dyn_ltree,f),t.d_desc=new p(t.dyn_dtree,u),t.bl_desc=new p(t.bl_tree,_),t.bi_buf=0,t.bi_valid=0,v(t)},_tr_stored_block:R,_tr_flush_block:(t,e,i,n)=>{let o,h,l=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),z(t,t.l_desc),z(t,t.d_desc),l=(t=>{let e;for(I(t,t.dyn_ltree,t.l_desc.max_code),I(t,t.dyn_dtree,t.d_desc.max_code),z(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*a[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,h=t.static_len+3+7>>>3,h<=o&&(o=h)):o=h=i+5,i+4<=o&&-1!==e?R(t,e,i,n):4===t.strategy||h===o?(b(t,2+(n?1:0),3),A(t,r,s)):(b(t,4+(n?1:0),3),((t,e,i,n)=>{let r;for(b(t,e-257,5),b(t,i-1,5),b(t,n-4,4),r=0;r<n;r++)b(t,t.bl_tree[2*a[r]+1],3);S(t,t.dyn_ltree,e-1),S(t,t.dyn_dtree,i-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,l+1),A(t,t.dyn_ltree,t.dyn_dtree)),v(t),n&&x(t)},_tr_tally:(t,e,i)=>(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(h[i]+256+1)]++,t.dyn_dtree[2*w(e)]++),t.last_lit===t.lit_bufsize-1),_tr_align:t=>{b(t,2,3),m(t,256,r),(t=>{16===t.bi_valid?(g(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}},F=(t,e,i,n)=>{let a=65535&t|0,r=t>>>16&65535|0,s=0;for(;0!==i;){s=i>2e3?2e3:i,i-=s;do{a=a+e[n++]|0,r=r+a|0}while(--s);a%=65521,r%=65521}return a|r<<16|0};const N=new Uint32Array((()=>{let t,e=[];for(var i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e})());var D=(t,e,i,n)=>{const a=N,r=n+i;t^=-1;for(let i=n;i<r;i++)t=t>>>8^a[255&(t^e[i])];return-1^t},B={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"},Z={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:L,_tr_stored_block:O,_tr_flush_block:V,_tr_tally:M,_tr_align:$}=C,{Z_NO_FLUSH:H,Z_PARTIAL_FLUSH:P,Z_FULL_FLUSH:j,Z_FINISH:G,Z_BLOCK:K,Z_OK:Y,Z_STREAM_END:q,Z_STREAM_ERROR:W,Z_DATA_ERROR:X,Z_BUF_ERROR:J,Z_DEFAULT_COMPRESSION:Q,Z_FILTERED:tt,Z_HUFFMAN_ONLY:et,Z_RLE:it,Z_FIXED:nt,Z_DEFAULT_STRATEGY:at,Z_UNKNOWN:rt,Z_DEFLATED:st}=Z,ot=258,ht=262,lt=103,dt=113,ct=666,ft=(t,e)=>(t.msg=B[e],e),ut=t=>(t<<1)-(t>4?9:0),_t=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let pt=(t,e,i)=>(e<<t.hash_shift^i)&t.hash_mask;const wt=t=>{const e=t.state;let i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+i),t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,0===e.pending&&(e.pending_out=0))},gt=(t,e)=>{V(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,wt(t.strm)},bt=(t,e)=>{t.pending_buf[t.pending++]=e},mt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},yt=(t,e,i,n)=>{let a=t.avail_in;return a>n&&(a=n),0===a?0:(t.avail_in-=a,e.set(t.input.subarray(t.next_in,t.next_in+a),i),1===t.state.wrap?t.adler=F(t.adler,e,a,i):2===t.state.wrap&&(t.adler=D(t.adler,e,a,i)),t.next_in+=a,t.total_in+=a,a)},kt=(t,e)=>{let i,n,a=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match;const h=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,l=t.window,d=t.w_mask,c=t.prev,f=t.strstart+ot;let u=l[r+s-1],_=l[r+s];t.prev_length>=t.good_match&&(a>>=2),o>t.lookahead&&(o=t.lookahead);do{if(i=e,l[i+s]===_&&l[i+s-1]===u&&l[i]===l[r]&&l[++i]===l[r+1]){r+=2,i++;do{}while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(n=ot-(f-r),r=f-ot,n>s){if(t.match_start=e,s=n,n>=o)break;u=l[r+s-1],_=l[r+s]}}}while((e=c[e&d])>h&&0!=--a);return s<=t.lookahead?s:t.lookahead},vt=t=>{const e=t.w_size;let i,n,a,r,s;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ht)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,n=t.hash_size,i=n;do{a=t.head[--i],t.head[i]=a>=e?a-e:0}while(--n);n=e,i=n;do{a=t.prev[--i],t.prev[i]=a>=e?a-e:0}while(--n);r+=e}if(0===t.strm.avail_in)break;if(n=yt(t.strm,t.window,t.strstart+t.lookahead,r),t.lookahead+=n,t.lookahead+t.insert>=3)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=pt(t,t.ins_h,t.window[s+1]);t.insert&&(t.ins_h=pt(t,t.ins_h,t.window[s+3-1]),t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<ht&&0!==t.strm.avail_in)},xt=(t,e)=>{let i,n;for(;;){if(t.lookahead<ht){if(vt(t),t.lookahead<ht&&e===H)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-ht&&(t.match_length=kt(t,i)),t.match_length>=3)if(n=M(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=pt(t,t.ins_h,t.window[t.strstart+1]);else n=M(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2},Ut=(t,e)=>{let i,n,a;for(;;){if(t.lookahead<ht){if(vt(t),t.lookahead<ht&&e===H)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==i&&t.prev_length<t.max_lazy_match&&t.strstart-i<=t.w_size-ht&&(t.match_length=kt(t,i),t.match_length<=5&&(t.strategy===tt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){a=t.strstart+t.lookahead-3,n=M(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=a&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(gt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=M(t,0,t.window[t.strstart-1]),n&&gt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=M(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2};function Et(t,e,i,n,a){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=n,this.func=a}const At=[new Et(0,0,0,0,((t,e)=>{let i=65535;for(i>t.pending_buf_size-5&&(i=t.pending_buf_size-5);;){if(t.lookahead<=1){if(vt(t),0===t.lookahead&&e===H)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const n=t.block_start+i;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,gt(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-ht&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(gt(t,!1),t.strm.avail_out),1)})),new Et(4,4,8,4,xt),new Et(4,5,16,8,xt),new Et(4,6,32,32,xt),new Et(4,4,16,16,Ut),new Et(8,16,32,32,Ut),new Et(8,16,128,128,Ut),new Et(8,32,128,256,Ut),new Et(32,128,258,1024,Ut),new Et(32,258,258,4096,Ut)];function zt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=st,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),_t(this.dyn_ltree),_t(this.dyn_dtree),_t(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),_t(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),_t(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const It=t=>{if(!t||!t.state)return ft(t,W);t.total_in=t.total_out=0,t.data_type=rt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:dt,t.adler=2===e.wrap?0:1,e.last_flush=H,L(e),Y},St=t=>{const e=It(t);var i;return e===Y&&((i=t.state).window_size=2*i.w_size,_t(i.head),i.max_lazy_match=At[i.level].max_lazy,i.good_match=At[i.level].good_length,i.nice_match=At[i.level].nice_length,i.max_chain_length=At[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),e},Tt=(t,e,i,n,a,r)=>{if(!t)return W;let s=1;if(e===Q&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),a<1||a>9||i!==st||n<8||n>15||e<0||e>9||r<0||r>nt)return ft(t,W);8===n&&(n=9);const o=new zt;return t.state=o,o.strm=t,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=a+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<a+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=r,o.method=i,St(t)};var Rt={deflateInit:(t,e)=>Tt(t,e,st,15,8,at),deflateInit2:Tt,deflateReset:St,deflateResetKeep:It,deflateSetHeader:(t,e)=>t&&t.state?2!==t.state.wrap?W:(t.state.gzhead=e,Y):W,deflate:(t,e)=>{let i,n;if(!t||!t.state||e>K||e<0)return t?ft(t,W):W;const a=t.state;if(!t.output||!t.input&&0!==t.avail_in||a.status===ct&&e!==G)return ft(t,0===t.avail_out?J:W);a.strm=t;const r=a.last_flush;if(a.last_flush=e,42===a.status)if(2===a.wrap)t.adler=0,bt(a,31),bt(a,139),bt(a,8),a.gzhead?(bt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),bt(a,255&a.gzhead.time),bt(a,a.gzhead.time>>8&255),bt(a,a.gzhead.time>>16&255),bt(a,a.gzhead.time>>24&255),bt(a,9===a.level?2:a.strategy>=et||a.level<2?4:0),bt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(bt(a,255&a.gzhead.extra.length),bt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=D(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69):(bt(a,0),bt(a,0),bt(a,0),bt(a,0),bt(a,0),bt(a,9===a.level?2:a.strategy>=et||a.level<2?4:0),bt(a,3),a.status=dt);else{let e=st+(a.w_bits-8<<4)<<8,i=-1;i=a.strategy>=et||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=i<<6,0!==a.strstart&&(e|=32),e+=31-e%31,a.status=dt,mt(a,e),0!==a.strstart&&(mt(a,t.adler>>>16),mt(a,65535&t.adler)),t.adler=1}if(69===a.status)if(a.gzhead.extra){for(i=a.pending;a.gzindex<(65535&a.gzhead.extra.length)&&(a.pending!==a.pending_buf_size||(a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending!==a.pending_buf_size));)bt(a,255&a.gzhead.extra[a.gzindex]),a.gzindex++;a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=73)}else a.status=73;if(73===a.status)if(a.gzhead.name){i=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending===a.pending_buf_size)){n=1;break}n=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,bt(a,n)}while(0!==n);a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),0===n&&(a.gzindex=0,a.status=91)}else a.status=91;if(91===a.status)if(a.gzhead.comment){i=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending===a.pending_buf_size)){n=1;break}n=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,bt(a,n)}while(0!==n);a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),0===n&&(a.status=lt)}else a.status=lt;if(a.status===lt&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&wt(t),a.pending+2<=a.pending_buf_size&&(bt(a,255&t.adler),bt(a,t.adler>>8&255),t.adler=0,a.status=dt)):a.status=dt),0!==a.pending){if(wt(t),0===t.avail_out)return a.last_flush=-1,Y}else if(0===t.avail_in&&ut(e)<=ut(r)&&e!==G)return ft(t,J);if(a.status===ct&&0!==t.avail_in)return ft(t,J);if(0!==t.avail_in||0!==a.lookahead||e!==H&&a.status!==ct){let i=a.strategy===et?((t,e)=>{let i;for(;;){if(0===t.lookahead&&(vt(t),0===t.lookahead)){if(e===H)return 1;break}if(t.match_length=0,i=M(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===it?((t,e)=>{let i,n,a,r;const s=t.window;for(;;){if(t.lookahead<=ot){if(vt(t),t.lookahead<=ot&&e===H)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(a=t.strstart-1,n=s[a],n===s[++a]&&n===s[++a]&&n===s[++a])){r=t.strstart+ot;do{}while(n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&a<r);t.match_length=ot-(r-a),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=M(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=M(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2})(a,e):At[a.level].func(a,e);if(3!==i&&4!==i||(a.status=ct),1===i||3===i)return 0===t.avail_out&&(a.last_flush=-1),Y;if(2===i&&(e===P?$(a):e!==K&&(O(a,0,0,!1),e===j&&(_t(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),wt(t),0===t.avail_out))return a.last_flush=-1,Y}return e!==G?Y:a.wrap<=0?q:(2===a.wrap?(bt(a,255&t.adler),bt(a,t.adler>>8&255),bt(a,t.adler>>16&255),bt(a,t.adler>>24&255),bt(a,255&t.total_in),bt(a,t.total_in>>8&255),bt(a,t.total_in>>16&255),bt(a,t.total_in>>24&255)):(mt(a,t.adler>>>16),mt(a,65535&t.adler)),wt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?Y:q)},deflateEnd:t=>{if(!t||!t.state)return W;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&e!==lt&&e!==dt&&e!==ct?ft(t,W):(t.state=null,e===dt?ft(t,X):Y)},deflateSetDictionary:(t,e)=>{let i=e.length;if(!t||!t.state)return W;const n=t.state,a=n.wrap;if(2===a||1===a&&42!==n.status||n.lookahead)return W;if(1===a&&(t.adler=F(t.adler,e,i,0)),n.wrap=0,i>=n.w_size){0===a&&(_t(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(i-n.w_size,i),0),e=t,i=n.w_size}const r=t.avail_in,s=t.next_in,o=t.input;for(t.avail_in=i,t.next_in=0,t.input=e,vt(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=pt(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,vt(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=s,t.input=o,t.avail_in=r,n.wrap=a,Y},deflateInfo:"pako deflate (from Nodeca project)"};const Ct=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Ft={assign:function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const e in i)Ct(i,e)&&(t[e]=i[e])}}return t},flattenChunks:t=>{let e=0;for(let i=0,n=t.length;i<n;i++)e+=t[i].length;const i=new Uint8Array(e);for(let e=0,n=0,a=t.length;e<a;e++){let a=t[e];i.set(a,n),n+=a.length}return i}};let Nt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Nt=!1}const Dt=new Uint8Array(256);for(let t=0;t<256;t++)Dt[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Dt[254]=Dt[254]=1;var Bt={string2buf:t=>{let e,i,n,a,r,s=t.length,o=0;for(a=0;a<s;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<s&&(n=t.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),o+=i<128?1:i<2048?2:i<65536?3:4;for(e=new Uint8Array(o),r=0,a=0;r<o;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<s&&(n=t.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),i<128?e[r++]=i:i<2048?(e[r++]=192|i>>>6,e[r++]=128|63&i):i<65536?(e[r++]=224|i>>>12,e[r++]=128|i>>>6&63,e[r++]=128|63&i):(e[r++]=240|i>>>18,e[r++]=128|i>>>12&63,e[r++]=128|i>>>6&63,e[r++]=128|63&i);return e},buf2string:(t,e)=>{let i,n;const a=e||t.length,r=new Array(2*a);for(n=0,i=0;i<a;){let e=t[i++];if(e<128){r[n++]=e;continue}let s=Dt[e];if(s>4)r[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<a;)e=e<<6|63&t[i++],s--;s>1?r[n++]=65533:e<65536?r[n++]=e:(e-=65536,r[n++]=55296|e>>10&1023,r[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Nt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return i})(r,n)},utf8border:(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let i=e-1;for(;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+Dt[t[i]]>e?i:e}},Zt=function(){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};const Lt=Object.prototype.toString,{Z_NO_FLUSH:Ot,Z_SYNC_FLUSH:Vt,Z_FULL_FLUSH:Mt,Z_FINISH:$t,Z_OK:Ht,Z_STREAM_END:Pt,Z_DEFAULT_COMPRESSION:jt,Z_DEFAULT_STRATEGY:Gt,Z_DEFLATED:Kt}=Z;function Yt(t){this.options=Ft.assign({level:jt,method:Kt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Gt},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Zt,this.strm.avail_out=0;let i=Rt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(i!==Ht)throw new Error(B[i]);if(e.header&&Rt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Bt.string2buf(e.dictionary):"[object ArrayBuffer]"===Lt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,i=Rt.deflateSetDictionary(this.strm,t),i!==Ht)throw new Error(B[i]);this._dict_set=!0}}function qt(t,e){const i=new Yt(e);if(i.push(t,!0),i.err)throw i.msg||B[i.err];return i.result}Yt.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize;let a,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?$t:Ot,"string"==typeof t?i.input=Bt.string2buf(t):"[object ArrayBuffer]"===Lt.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),(r===Vt||r===Mt)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(a=Rt.deflate(i,r),a===Pt)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),a=Rt.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===Ht;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},Yt.prototype.onData=function(t){this.chunks.push(t)},Yt.prototype.onEnd=function(t){t===Ht&&(this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Wt={Deflate:Yt,deflate:qt,deflateRaw:function(t,e){return(e=e||{}).raw=!0,qt(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,qt(t,e)},constants:Z},Xt=function(t,e){let i,n,a,r,s,o,h,l,d,c,f,u,_,p,w,g,b,m,y,k,v,x,U,E;const A=t.state;i=t.next_in,U=t.input,n=i+(t.avail_in-5),a=t.next_out,E=t.output,r=a-(e-t.avail_out),s=a+(t.avail_out-257),o=A.dmax,h=A.wsize,l=A.whave,d=A.wnext,c=A.window,f=A.hold,u=A.bits,_=A.lencode,p=A.distcode,w=(1<<A.lenbits)-1,g=(1<<A.distbits)-1;t:do{u<15&&(f+=U[i++]<<u,u+=8,f+=U[i++]<<u,u+=8),b=_[f&w];e:for(;;){if(m=b>>>24,f>>>=m,u-=m,m=b>>>16&255,0===m)E[a++]=65535&b;else{if(!(16&m)){if(0==(64&m)){b=_[(65535&b)+(f&(1<<m)-1)];continue e}if(32&m){A.mode=12;break t}t.msg="invalid literal/length code",A.mode=30;break t}y=65535&b,m&=15,m&&(u<m&&(f+=U[i++]<<u,u+=8),y+=f&(1<<m)-1,f>>>=m,u-=m),u<15&&(f+=U[i++]<<u,u+=8,f+=U[i++]<<u,u+=8),b=p[f&g];i:for(;;){if(m=b>>>24,f>>>=m,u-=m,m=b>>>16&255,!(16&m)){if(0==(64&m)){b=p[(65535&b)+(f&(1<<m)-1)];continue i}t.msg="invalid distance code",A.mode=30;break t}if(k=65535&b,m&=15,u<m&&(f+=U[i++]<<u,u+=8,u<m&&(f+=U[i++]<<u,u+=8)),k+=f&(1<<m)-1,k>o){t.msg="invalid distance too far back",A.mode=30;break t}if(f>>>=m,u-=m,m=a-r,k>m){if(m=k-m,m>l&&A.sane){t.msg="invalid distance too far back",A.mode=30;break t}if(v=0,x=c,0===d){if(v+=h-m,m<y){y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}}else if(d<m){if(v+=h+d-m,m-=d,m<y){y-=m;do{E[a++]=c[v++]}while(--m);if(v=0,d<y){m=d,y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}}}else if(v+=d-m,m<y){y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}for(;y>2;)E[a++]=x[v++],E[a++]=x[v++],E[a++]=x[v++],y-=3;y&&(E[a++]=x[v++],y>1&&(E[a++]=x[v++]))}else{v=a-k;do{E[a++]=E[v++],E[a++]=E[v++],E[a++]=E[v++],y-=3}while(y>2);y&&(E[a++]=E[v++],y>1&&(E[a++]=E[v++]))}break}}break}}while(i<n&&a<s);y=u>>3,i-=y,u-=y<<3,f&=(1<<u)-1,t.next_in=i,t.next_out=a,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=a<s?s-a+257:257-(a-s),A.hold=f,A.bits=u};const Jt=new Uint16Array([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]),Qt=new Uint8Array([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]),te=new Uint16Array([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]),ee=new Uint8Array([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]);var ie=(t,e,i,n,a,r,s,o)=>{const h=o.bits;let l,d,c,f,u,_,p=0,w=0,g=0,b=0,m=0,y=0,k=0,v=0,x=0,U=0,E=null,A=0;const z=new Uint16Array(16),I=new Uint16Array(16);let S,T,R,C=null,F=0;for(p=0;p<=15;p++)z[p]=0;for(w=0;w<n;w++)z[e[i+w]]++;for(m=h,b=15;b>=1&&0===z[b];b--);if(m>b&&(m=b),0===b)return a[r++]=20971520,a[r++]=20971520,o.bits=1,0;for(g=1;g<b&&0===z[g];g++);for(m<g&&(m=g),v=1,p=1;p<=15;p++)if(v<<=1,v-=z[p],v<0)return-1;if(v>0&&(0===t||1!==b))return-1;for(I[1]=0,p=1;p<15;p++)I[p+1]=I[p]+z[p];for(w=0;w<n;w++)0!==e[i+w]&&(s[I[e[i+w]]++]=w);if(0===t?(E=C=s,_=19):1===t?(E=Jt,A-=257,C=Qt,F-=257,_=256):(E=te,C=ee,_=-1),U=0,w=0,p=g,u=r,y=m,k=0,c=-1,x=1<<m,f=x-1,1===t&&x>852||2===t&&x>592)return 1;for(;;){S=p-k,s[w]<_?(T=0,R=s[w]):s[w]>_?(T=C[F+s[w]],R=E[A+s[w]]):(T=96,R=0),l=1<<p-k,d=1<<y,g=d;do{d-=l,a[u+(U>>k)+d]=S<<24|T<<16|R|0}while(0!==d);for(l=1<<p-1;U&l;)l>>=1;if(0!==l?(U&=l-1,U+=l):U=0,w++,0==--z[p]){if(p===b)break;p=e[i+s[w]]}if(p>m&&(U&f)!==c){for(0===k&&(k=m),u+=g,y=p-k,v=1<<y;y+k<b&&(v-=z[y+k],!(v<=0));)y++,v<<=1;if(x+=1<<y,1===t&&x>852||2===t&&x>592)return 1;c=U&f,a[c]=m<<24|y<<16|u-r|0}}return 0!==U&&(a[u+U]=p-k<<24|64<<16|0),o.bits=m,0};const{Z_FINISH:ne,Z_BLOCK:ae,Z_TREES:re,Z_OK:se,Z_STREAM_END:oe,Z_NEED_DICT:he,Z_STREAM_ERROR:le,Z_DATA_ERROR:de,Z_MEM_ERROR:ce,Z_BUF_ERROR:fe,Z_DEFLATED:ue}=Z,_e=12,pe=30,we=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ge(){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=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const be=t=>{if(!t||!t.state)return le;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,se},me=t=>{if(!t||!t.state)return le;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,be(t)},ye=(t,e)=>{let i;if(!t||!t.state)return le;const n=t.state;return e<0?(i=0,e=-e):(i=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?le:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=i,n.wbits=e,me(t))},ke=(t,e)=>{if(!t)return le;const i=new ge;t.state=i,i.window=null;const n=ye(t,e);return n!==se&&(t.state=null),n};let ve,xe,Ue=!0;const Ee=t=>{if(Ue){ve=new Int32Array(512),xe=new Int32Array(32);let e=0;for(;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(ie(1,t.lens,0,288,ve,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ie(2,t.lens,0,32,xe,0,t.work,{bits:5}),Ue=!1}t.lencode=ve,t.lenbits=9,t.distcode=xe,t.distbits=5},Ae=(t,e,i,n)=>{let a;const r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),n>=r.wsize?(r.window.set(e.subarray(i-r.wsize,i),0),r.wnext=0,r.whave=r.wsize):(a=r.wsize-r.wnext,a>n&&(a=n),r.window.set(e.subarray(i-n,i-n+a),r.wnext),(n-=a)?(r.window.set(e.subarray(i-n,i),0),r.wnext=n,r.whave=r.wsize):(r.wnext+=a,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=a))),0};var ze={inflateReset:me,inflateReset2:ye,inflateResetKeep:be,inflateInit:t=>ke(t,15),inflateInit2:ke,inflate:(t,e)=>{let i,n,a,r,s,o,h,l,d,c,f,u,_,p,w,g,b,m,y,k,v,x,U=0;const E=new Uint8Array(4);let A,z;const I=new Uint8Array([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&&0!==t.avail_in)return le;i=t.state,i.mode===_e&&(i.mode=13),s=t.next_out,a=t.output,h=t.avail_out,r=t.next_in,n=t.input,o=t.avail_in,l=i.hold,d=i.bits,c=o,f=h,x=se;t:for(;;)switch(i.mode){case 1:if(0===i.wrap){i.mode=13;break}for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(2&i.wrap&&35615===l){i.check=0,E[0]=255&l,E[1]=l>>>8&255,i.check=D(i.check,E,2,0),l=0,d=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&l)<<8)+(l>>8))%31){t.msg="incorrect header check",i.mode=pe;break}if((15&l)!==ue){t.msg="unknown compression method",i.mode=pe;break}if(l>>>=4,d-=4,v=8+(15&l),0===i.wbits)i.wbits=v;else if(v>i.wbits){t.msg="invalid window size",i.mode=pe;break}i.dmax=1<<i.wbits,t.adler=i.check=1,i.mode=512&l?10:_e,l=0,d=0;break;case 2:for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(i.flags=l,(255&i.flags)!==ue){t.msg="unknown compression method",i.mode=pe;break}if(57344&i.flags){t.msg="unknown header flags set",i.mode=pe;break}i.head&&(i.head.text=l>>8&1),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=D(i.check,E,2,0)),l=0,d=0,i.mode=3;case 3:for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.head&&(i.head.time=l),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,E[2]=l>>>16&255,E[3]=l>>>24&255,i.check=D(i.check,E,4,0)),l=0,d=0,i.mode=4;case 4:for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.head&&(i.head.xflags=255&l,i.head.os=l>>8),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=D(i.check,E,2,0)),l=0,d=0,i.mode=5;case 5:if(1024&i.flags){for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.length=l,i.head&&(i.head.extra_len=l),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=D(i.check,E,2,0)),l=0,d=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(u=i.length,u>o&&(u=o),u&&(i.head&&(v=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(n.subarray(r,r+u),v)),512&i.flags&&(i.check=D(i.check,n,u,r)),o-=u,r+=u,i.length-=u),i.length))break t;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===o)break t;u=0;do{v=n[r+u++],i.head&&v&&i.length<65536&&(i.head.name+=String.fromCharCode(v))}while(v&&u<o);if(512&i.flags&&(i.check=D(i.check,n,u,r)),o-=u,r+=u,v)break t}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===o)break t;u=0;do{v=n[r+u++],i.head&&v&&i.length<65536&&(i.head.comment+=String.fromCharCode(v))}while(v&&u<o);if(512&i.flags&&(i.check=D(i.check,n,u,r)),o-=u,r+=u,v)break t}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l!==(65535&i.check)){t.msg="header crc mismatch",i.mode=pe;break}l=0,d=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=_e;break;case 10:for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}t.adler=i.check=we(l),l=0,d=0,i.mode=11;case 11:if(0===i.havedict)return t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,he;t.adler=i.check=1,i.mode=_e;case _e:if(e===ae||e===re)break t;case 13:if(i.last){l>>>=7&d,d-=7&d,i.mode=27;break}for(;d<3;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}switch(i.last=1&l,l>>>=1,d-=1,3&l){case 0:i.mode=14;break;case 1:if(Ee(i),i.mode=20,e===re){l>>>=2,d-=2;break t}break;case 2:i.mode=17;break;case 3:t.msg="invalid block type",i.mode=pe}l>>>=2,d-=2;break;case 14:for(l>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if((65535&l)!=(l>>>16^65535)){t.msg="invalid stored block lengths",i.mode=pe;break}if(i.length=65535&l,l=0,d=0,i.mode=15,e===re)break t;case 15:i.mode=16;case 16:if(u=i.length,u){if(u>o&&(u=o),u>h&&(u=h),0===u)break t;a.set(n.subarray(r,r+u),s),o-=u,r+=u,h-=u,s+=u,i.length-=u;break}i.mode=_e;break;case 17:for(;d<14;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(i.nlen=257+(31&l),l>>>=5,d-=5,i.ndist=1+(31&l),l>>>=5,d-=5,i.ncode=4+(15&l),l>>>=4,d-=4,i.nlen>286||i.ndist>30){t.msg="too many length or distance symbols",i.mode=pe;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;d<3;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.lens[I[i.have++]]=7&l,l>>>=3,d-=3}for(;i.have<19;)i.lens[I[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,A={bits:i.lenbits},x=ie(0,i.lens,0,19,i.lencode,0,i.work,A),i.lenbits=A.bits,x){t.msg="invalid code lengths set",i.mode=pe;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;U=i.lencode[l&(1<<i.lenbits)-1],w=U>>>24,g=U>>>16&255,b=65535&U,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(b<16)l>>>=w,d-=w,i.lens[i.have++]=b;else{if(16===b){for(z=w+2;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l>>>=w,d-=w,0===i.have){t.msg="invalid bit length repeat",i.mode=pe;break}v=i.lens[i.have-1],u=3+(3&l),l>>>=2,d-=2}else if(17===b){for(z=w+3;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=w,d-=w,v=0,u=3+(7&l),l>>>=3,d-=3}else{for(z=w+7;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=w,d-=w,v=0,u=11+(127&l),l>>>=7,d-=7}if(i.have+u>i.nlen+i.ndist){t.msg="invalid bit length repeat",i.mode=pe;break}for(;u--;)i.lens[i.have++]=v}}if(i.mode===pe)break;if(0===i.lens[256]){t.msg="invalid code -- missing end-of-block",i.mode=pe;break}if(i.lenbits=9,A={bits:i.lenbits},x=ie(1,i.lens,0,i.nlen,i.lencode,0,i.work,A),i.lenbits=A.bits,x){t.msg="invalid literal/lengths set",i.mode=pe;break}if(i.distbits=6,i.distcode=i.distdyn,A={bits:i.distbits},x=ie(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,A),i.distbits=A.bits,x){t.msg="invalid distances set",i.mode=pe;break}if(i.mode=20,e===re)break t;case 20:i.mode=21;case 21:if(o>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,Xt(t,f),s=t.next_out,a=t.output,h=t.avail_out,r=t.next_in,n=t.input,o=t.avail_in,l=i.hold,d=i.bits,i.mode===_e&&(i.back=-1);break}for(i.back=0;U=i.lencode[l&(1<<i.lenbits)-1],w=U>>>24,g=U>>>16&255,b=65535&U,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(g&&0==(240&g)){for(m=w,y=g,k=b;U=i.lencode[k+((l&(1<<m+y)-1)>>m)],w=U>>>24,g=U>>>16&255,b=65535&U,!(m+w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=m,d-=m,i.back+=m}if(l>>>=w,d-=w,i.back+=w,i.length=b,0===g){i.mode=26;break}if(32&g){i.back=-1,i.mode=_e;break}if(64&g){t.msg="invalid literal/length code",i.mode=pe;break}i.extra=15&g,i.mode=22;case 22:if(i.extra){for(z=i.extra;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.length+=l&(1<<i.extra)-1,l>>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;U=i.distcode[l&(1<<i.distbits)-1],w=U>>>24,g=U>>>16&255,b=65535&U,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(0==(240&g)){for(m=w,y=g,k=b;U=i.distcode[k+((l&(1<<m+y)-1)>>m)],w=U>>>24,g=U>>>16&255,b=65535&U,!(m+w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=m,d-=m,i.back+=m}if(l>>>=w,d-=w,i.back+=w,64&g){t.msg="invalid distance code",i.mode=pe;break}i.offset=b,i.extra=15&g,i.mode=24;case 24:if(i.extra){for(z=i.extra;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.offset+=l&(1<<i.extra)-1,l>>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg="invalid distance too far back",i.mode=pe;break}i.mode=25;case 25:if(0===h)break t;if(u=f-h,i.offset>u){if(u=i.offset-u,u>i.whave&&i.sane){t.msg="invalid distance too far back",i.mode=pe;break}u>i.wnext?(u-=i.wnext,_=i.wsize-u):_=i.wnext-u,u>i.length&&(u=i.length),p=i.window}else p=a,_=s-i.offset,u=i.length;u>h&&(u=h),h-=u,i.length-=u;do{a[s++]=p[_++]}while(--u);0===i.length&&(i.mode=21);break;case 26:if(0===h)break t;a[s++]=i.length,h--,i.mode=21;break;case 27:if(i.wrap){for(;d<32;){if(0===o)break t;o--,l|=n[r++]<<d,d+=8}if(f-=h,t.total_out+=f,i.total+=f,f&&(t.adler=i.check=i.flags?D(i.check,a,f,s-f):F(i.check,a,f,s-f)),f=h,(i.flags?l:we(l))!==i.check){t.msg="incorrect data check",i.mode=pe;break}l=0,d=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l!==(4294967295&i.total)){t.msg="incorrect length check",i.mode=pe;break}l=0,d=0}i.mode=29;case 29:x=oe;break t;case pe:x=de;break t;case 31:return ce;default:return le}return t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,(i.wsize||f!==t.avail_out&&i.mode<pe&&(i.mode<27||e!==ne))&&Ae(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,i.total+=f,i.wrap&&f&&(t.adler=i.check=i.flags?D(i.check,a,f,t.next_out-f):F(i.check,a,f,t.next_out-f)),t.data_type=i.bits+(i.last?64:0)+(i.mode===_e?128:0)+(20===i.mode||15===i.mode?256:0),(0===c&&0===f||e===ne)&&x===se&&(x=fe),x},inflateEnd:t=>{if(!t||!t.state)return le;let e=t.state;return e.window&&(e.window=null),t.state=null,se},inflateGetHeader:(t,e)=>{if(!t||!t.state)return le;const i=t.state;return 0==(2&i.wrap)?le:(i.head=e,e.done=!1,se)},inflateSetDictionary:(t,e)=>{const i=e.length;let n,a,r;return t&&t.state?(n=t.state,0!==n.wrap&&11!==n.mode?le:11===n.mode&&(a=1,a=F(a,e,i,0),a!==n.check)?de:(r=Ae(t,e,i,i),r?(n.mode=31,ce):(n.havedict=1,se))):le},inflateInfo:"pako inflate (from Nodeca project)"},Ie=function(){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};const Se=Object.prototype.toString,{Z_NO_FLUSH:Te,Z_FINISH:Re,Z_OK:Ce,Z_STREAM_END:Fe,Z_NEED_DICT:Ne,Z_STREAM_ERROR:De,Z_DATA_ERROR:Be,Z_MEM_ERROR:Ze}=Z;function Le(t){this.options=Ft.assign({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Zt,this.strm.avail_out=0;let i=ze.inflateInit2(this.strm,e.windowBits);if(i!==Ce)throw new Error(B[i]);if(this.header=new Ie,ze.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Bt.string2buf(e.dictionary):"[object ArrayBuffer]"===Se.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(i=ze.inflateSetDictionary(this.strm,e.dictionary),i!==Ce)))throw new Error(B[i])}function Oe(t,e){const i=new Le(e);if(i.push(t),i.err)throw i.msg||B[i.err];return i.result}Le.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize,a=this.options.dictionary;let r,s,o;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Re:Te,"[object ArrayBuffer]"===Se.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),r=ze.inflate(i,s),r===Ne&&a&&(r=ze.inflateSetDictionary(i,a),r===Ce?r=ze.inflate(i,s):r===Be&&(r=Ne));i.avail_in>0&&r===Fe&&i.state.wrap>0&&0!==t[i.next_in];)ze.inflateReset(i),r=ze.inflate(i,s);switch(r){case De:case Be:case Ne:case Ze:return this.onEnd(r),this.ended=!0,!1}if(o=i.avail_out,i.next_out&&(0===i.avail_out||r===Fe))if("string"===this.options.to){let t=Bt.utf8border(i.output,i.next_out),e=i.next_out-t,a=Bt.buf2string(i.output,t);i.next_out=e,i.avail_out=n-e,e&&i.output.set(i.output.subarray(t,t+e),0),this.onData(a)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(r!==Ce||0!==o){if(r===Fe)return r=ze.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},Le.prototype.onData=function(t){this.chunks.push(t)},Le.prototype.onEnd=function(t){t===Ce&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ve={Inflate:Le,inflate:Oe,inflateRaw:function(t,e){return(e=e||{}).raw=!0,Oe(t,e)},ungzip:Oe,constants:Z};const{Deflate:Me,deflate:$e,deflateRaw:He,gzip:Pe}=Wt,{Inflate:je,inflate:Ge,inflateRaw:Ke,ungzip:Ye}=Ve;var qe={Deflate:Me,deflate:$e,deflateRaw:He,gzip:Pe,Inflate:je,inflate:Ge,inflateRaw:Ke,ungzip:Ye,constants:Z};function We(){this.width=0,this.height=0,this.bitDepth=0,this.colorType=0,this.compressionMethod=0,this.filterMethod=0,this.interlaceMethod=0,this.colors=0,this.alpha=!1,this.pixelBits=0,this.palette=null,this.pixels=null,this.trns=null,this.text={}}function Xe(t,e){const i=t.length;if(i!==e.length)return!1;let n=0;for(;n<i;n++)if(t[n]!==e[n])return!1;return!0}We.prototype.getWidth=function(){return this.width},We.prototype.setWidth=function(t){this.width=t},We.prototype.getHeight=function(){return this.height},We.prototype.setHeight=function(t){this.height=t},We.prototype.getBitDepth=function(){return this.bitDepth},We.prototype.setBitDepth=function(t){if(-1===[2,4,8,16].indexOf(t))throw new Error("invalid bith depth "+t);this.bitDepth=t},We.prototype.getColorType=function(){return this.colorType},We.prototype.setColorType=function(t){var e=0,i=!1;switch(t){case 0:case 3:e=1;break;case 2:e=3;break;case 4:e=2,i=!0;break;case 6:e=4,i=!0;break;default:throw new Error("invalid color type")}this.colors=e,this.alpha=i,this.colorType=t},We.prototype.getCompressionMethod=function(){return this.compressionMethod},We.prototype.setCompressionMethod=function(t){if(0!==t)throw new Error("invalid compression method "+t);this.compressionMethod=t},We.prototype.getFilterMethod=function(){return this.filterMethod},We.prototype.setFilterMethod=function(t){if(0!==t)throw new Error("invalid filter method "+t);this.filterMethod=t},We.prototype.getInterlaceMethod=function(){return this.interlaceMethod},We.prototype.setInterlaceMethod=function(t){if(0!==t&&1!==t)throw new Error("invalid interlace method "+t);this.interlaceMethod=t},We.prototype.setTRNS=function(t){this.trns=t},We.prototype.setPalette=function(t){if(t.length%3!=0)throw new Error("incorrect PLTE chunk length");if(t.length>3*Math.pow(2,this.bitDepth))throw new Error("palette has more colors than 2^bitdepth");this.palette=t},We.prototype.getPalette=function(){return this.palette},We.prototype.getPixel=function(t,e,i,n){var a=this.pixels;if(!a)throw new Error("pixel data is empty");if(i>=this.width||n>=this.height)throw new Error("x,y position out of bound");var r=this.colors*this.bitDepth/8*(n*this.width+i);let s,o,h,l;switch(this.colorType){case 0:s=a[r],o=s,h=s,l=255;break;case 2:s=a[r],o=a[r+1],h=a[r+2],l=255;break;case 3:l=255,null!=this.trns&&(l=this.trns[a[r]]);const t=3*a[r],e=this.palette;s=e[t],o=e[t+1],h=e[t+2];break;case 4:s=a[r],o=s,h=s,l=a[r+1];break;case 6:s=a[r],o=a[r+1],h=a[r+2],l=a[r+3];break;default:throw new Error("Unsupported color type")}t[e+0]=s,t[e+1]=o,t[e+2]=h,t[e+3]=l},We.prototype.getRGBA8Array_fromRGB=function(t){const e=this.height,i=this.width*e,n=this.pixels;for(let e=0;e<i;e++){const i=3*e,a=i+e;t[a]=n[i],t[a+1]=n[i+1],t[a+2]=n[i+2],t[a+3]=255}},We.prototype.getRGBA8Array_generic=function(t){const e=this.height,i=this.width;for(var n=0;n<e;n++){const e=n*i;for(var a=0;a<i;a++){const i=4*(e+a);this.getPixel(t,i,a,n)}}},We.prototype.getRGBA8Array=function(){if(6===this.colorType)return this.pixels;const t=this.height,e=this.width;var i=new Uint8Array(e*t*4);return 2===this.colorType?this.getRGBA8Array_fromRGB(i):this.getRGBA8Array_generic(i),i},We.prototype.getUint8Data_case3=function(){const t=this.width*this.height;let e;const i=this.trns;e=null!==i?4:3;const n=new Uint8Array(t*e),a=this.pixels,r=this.palette,s=this.colors*this.bitDepth/8;for(let i=0;i<t;i++){const t=i*e,o=3*a[i*s];n[t]=r[o],n[t+1]=r[o+1],n[t+2]=r[o+2]}if(null!==i){const e=i.length;for(let r=0;r<t;r++){const t=a[r*s];n[4*r+3]=t>=e?255:i[t]}}return{data:n,itemSize:e}},We.prototype.getUint8Data=function(){let t,e=0;switch(this.colorType){case 0:t=this.pixels,e=1;break;case 2:t=this.pixels,e=3;break;case 3:const i=this.getUint8Data_case3();t=i.data,e=i.itemSize;break;case 4:t=this.pixels,e=2;break;case 6:t=this.pixels,e=4;break;default:throw new Error("Unsupported color type")}return{data:t,itemSize:e}};class Je{appendDescriptionOf(t){throw new Error("Not Implemented")}appendList(t,e,i,n){throw new Error("Not Implemented")}appendText(t){throw new Error("Not Implemented")}appendValue(t){throw new Error("Not Implemented")}appendValueList(t,e,i,n){throw new Error("Not Implemented")}}class Qe{describeTo(t){throw new Error("Not Implemented")}}class ti extends Qe{value;constructor(t){super(),this.value=t}describeTo(t){t.appendValue(this.value)}}class ei{#t;constructor(t){this.#t=t}*[Symbol.iterator](){for(const t of this.#t)yield new ti(t)}}class ii extends Je{appendDescriptionOf(t){return t.describeTo(this),this}#e(t){this.appendText('"'),this.appendText(t),this.appendText('"')}appendValue(t){return null==t?this.appendText("null"):void 0===t?this.appendText("undefined"):"string"==typeof t?this.#e(t):"number"==typeof t?this.appendText(function(t){return String(t)}(t)):Array.isArray(t)?this.appendValueList("[",", ","]",t):(this.appendText("<"),this.appendText(function(t){try{return String(t)}catch(t){return"VALUE@0"}}(t)),this.appendText(">")),this}appendValueList(t,e,i,n){return this.appendList(t,e,i,new ei(n)),this}appendList(t,e,i,n){let a=!1;this.appendText(t);const r=n[Symbol.iterator]();for(let t=r.next();!0!==t.done;t=r.next())a&&this.appendText(e),this.appendDescriptionOf(t.value),a=!0;return this.appendText(i),this}}class ni extends ii{value="";appendText(t){return this.value+=t,this}}function ai(t,e){if(!t)throw new Error(e||"AssertionError")}function ri(t,e,i,n,a){let r,s,o;for(o=0;o<a;o++)r=e+o,s=n+o,i[s]=t[r]}ai.enum=function(t,e,i="value"){for(let i in e)if(e[i]===t)return;throw new Error(`${i}(=${t}) is not a valid enumerable value, valid values are: [${Object.values(e).join(", ")}]`)},ai.notEqual=function(t,e,i){ai(t!==e,i)},ai.notOk=function(t,e){ai(!t,e)},ai.equal=function(t,e,i){if(t!==e)throw new Error(void 0!==i?i:`${t} !== ${e}`)},ai.logicalyEqual=function(t,e,i){},ai.ok=ai,ai.greaterThan=function(t,e,i){if(!(t>e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} > ${e}.`,new Error(n)}},ai.greaterThanOrEqual=function(t,e,i){if(!(t>=e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} >= ${e}.`,new Error(n)}},ai.lessThan=function(t,e,i){if(!(t<e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} < ${e}.`,new Error(n)}},ai.lessThanOrEqual=function(t,e,i){if(!(t<=e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} <= ${e}.`,new Error(n)}},ai.typeOf=function(t,e,i="value"){const n=typeof t;if(n!==e)throw new Error(`expected ${i} to be ${e}, instead was '${n}'(=${t})`)},ai.arrayHas=function(t,e,i="Array does not contain the item"){},ai.arrayHasNo=function(t,e,i="Array contains the item"){},ai.arrayEqual=function(t,e,i="Arrays are not equal"){if(!Xe(t,e))throw new Error(i)},ai.isInstanceOf=function(t,e,i="value",n=e.name){},ai.isNumber=function(t,e="value"){const i=typeof t;if("number"!==i)throw new Error(`expected ${e} to be a number, instead was '${i}'(=${t})`)},ai.isString=function(t,e="value"){const i=typeof t;if("string"!==i)throw new Error(`expected ${e} to be a string, instead was '${i}'(=${t})`)},ai.isBoolean=function(t,e="value"){const i=typeof t;if("boolean"!==i)throw new Error(`expected ${e} to be a boolean, instead was '${i}'(=${t})`)},ai.isFunction=function(t,e="value"){const i=typeof t;if("function"!==i)throw new Error(`expected ${e} to be a function, instead was '${i}'(=${t})`)},ai.isInteger=function(t,e="value"){if(!Number.isInteger(t))throw new Error(`${e} must be an integer, instead was ${t}`)},ai.isNonNegativeInteger=function(t,e="value"){if(t<0)throw new Error(`${e} must be >= 0, instead was ${t}`)},ai.isArray=function(t,e="value"){if(!Array.isArray(t))throw new Error(`expected ${e} to be an array, instead was something else (typeof ='${typeof t}')`)},ai.isArrayLike=function(t,e="value"){if(!(Array.isArray(t)||(i=t,i instanceof Int8Array||i instanceof Uint8Array||i instanceof Uint8ClampedArray||i instanceof Int16Array||i instanceof Uint16Array||i instanceof Int32Array||i instanceof Uint32Array||i instanceof Float32Array||i instanceof Float64Array)))throw new Error(`expected ${e} to be an array-like structure, instead was something else (typeof ='${typeof t}')`);var i},ai.defined=function(t,e="value"){if(void 0===t)throw new Error(`${e} is undefined`)},ai.isNull=function(t,e){if(null!==t)throw new Error(`${e} is NOT null`)},ai.notNull=function(t,e="value"){if(null===t)throw new Error(`${e} is null`)},ai.notNaN=function(t,e="value"){if(Number.isNaN(t))throw new Error(`${e} must be a valid number, instead was NaN`)},ai.isFiniteNumber=function(t,e="value"){if(!Number.isFinite(t))throw new Error(`${e} must be a finite number, instead was ${t}`)},ai.that=function(t,e,i){if(i.matches(t))return;const n=new ni;throw n.appendText(`Expected ${e} to be `),i.describeTo(n),n.appendText(" instead "),i.describeMismatch(t,n),new Error(n.value)};const si=!1,oi=!0;class hi{endianness=si;position=0;length=0;capacity=1024;data=new ArrayBuffer(1024);dataView=new DataView(this.data);__data_uint8=new Uint8Array(this.data);__growFactor=1.1;get raw_bytes(){return this.__data_uint8}fromArrayBuffer(t){this.data=t,this.dataView=new DataView(t),this.__data_uint8=new Uint8Array(t),this.capacity=t.byteLength,this.length=this.capacity,this.position=0}trim(){return this.setCapacity(this.position),this}setCapacity(t){if(t<this.position)throw new Error(`Attempting to set capacity(=${t}) below current position(=${this.position})`);const e=this.__data_uint8,i=new Uint8Array(t);!function(t,e){const i=e.length;i>=t.length?e.set(t,0):ri(t,0,e,0,i)}(e,i),this.data=i.buffer,this.__data_uint8=i,this.dataView=new DataView(this.data),this.capacity=t}ensureCapacity(t){const e=this.capacity;if(e>=t)return;const i=Math.ceil(Math.max(t,e*this.__growFactor,e+1024));this.setCapacity(i)}readFloat32(){const t=this.dataView.getFloat32(this.position,this.endianness);return this.position+=4,t}readFloat64(){const t=this.dataView.getFloat64(this.position,this.endianness);return this.position+=8,t}readInt8(){const t=this.dataView.getInt8(this.position);return this.position+=1,t}readInt16(){const t=this.dataView.getInt16(this.position,this.endianness);return this.position+=2,t}readInt32(){const t=this.dataView.getInt32(this.position,this.endianness);return this.position+=4,t}readUint8(){const t=this.dataView.getUint8(this.position);return this.position+=1,t}readUint16(){const t=this.dataView.getUint16(this.position,this.endianness);return this.position+=2,t}readUint16LE(){const t=this.dataView.getUint16(this.position,oi);return this.position+=2,t}readUint16BE(){const t=this.dataView.getUint16(this.position,si);return this.position+=2,t}readUint24(){return this.endianness===si?this.readUint24BE():this.readUint24LE()}readUint24LE(){const t=this.dataView.getUint8(this.position),e=this.dataView.getUint8(this.position+1),i=this.dataView.getUint8(this.position+2);return this.position+=3,t|e<<8|i<<16}readUint24BE(){const t=this.dataView.getUint8(this.position),e=this.dataView.getUint8(this.position+1),i=this.dataView.getUint8(this.position+2);return this.position+=3,i|e<<8|t<<16}readUint32(){const t=this.dataView.getUint32(this.position,this.endianness);return this.position+=4,t}readUint32LE(){const t=this.dataView.getUint32(this.position,oi);return this.position+=4,t}readUint32BE(){const t=this.dataView.getUint32(this.position,si);return this.position+=4,t}readUint8Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint8()}readUint16Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint16()}readUint32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint32()}readInt8Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt8()}readInt16Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt16()}readInt32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt32()}readFloat32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readFloat32()}readFloat64Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readFloat64()}writeFloat32Array(t,e,i){for(let n=0;n<i;n++)this.writeFloat32(t[n+e])}writeFloat32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setFloat32(this.position,t,this.endianness),this.position=e}writeFloat64(t){const e=this.position+8;this.ensureCapacity(e),this.dataView.setFloat64(this.position,t,this.endianness),this.position=e}writeInt8(t){const e=this.position+1;this.ensureCapacity(e),this.dataView.setInt8(this.position,t),this.position=e}writeInt16(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setInt16(this.position,t,this.endianness),this.position=e}writeInt32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setInt32(this.position,t,this.endianness),this.position=e}writeUint8(t){const e=this.position+1;this.ensureCapacity(e),this.dataView.setUint8(this.position,t),this.position=e}writeUint8Array(t,e,i){for(let n=0;n<i;n++)this.writeUint8(t[e+n])}writeUint16(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,this.endianness),this.position=e}writeUint16BE(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,si),this.position=e}writeUint16LE(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,oi),this.position=e}writeUint16Array(t,e,i){for(let n=0;n<i;n++)this.writeUint16(t[e+n])}writeUint24(t){this.endianness===si?this.writeUint24BE(t):this.writeUint24LE(t)}writeUint24BE(t){const e=this.position+3;this.ensureCapacity(e);const i=255&t,n=t>>8&255,a=t>>16&255;this.dataView.setUint8(this.position,a),this.dataView.setUint8(this.position+1,n),this.dataView.setUint8(this.position+2,i),this.position=e}writeUint24LE(t){const e=this.position+3;this.ensureCapacity(e);const i=255&t,n=t>>8&255,a=t>>16&255;this.dataView.setUint8(this.position,i),this.dataView.setUint8(this.position+1,n),this.dataView.setUint8(this.position+2,a),this.position=e}writeUintVar(t){let e=!0;for(;e||0!==t;){e=!1;let i=127&t;(t>>=7)>0&&(i|=128),this.writeUint8(i)}}readUintVar(){let t=!0,e=0,i=0;for(;t;){let n=this.readUint8();t=0!=(128&n),e|=(127&n)<<i,i+=7}return e}writeUint32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,this.endianness),this.position=e}writeUint32BE(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,si),this.position=e}writeUint32LE(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,oi),this.position=e}writeUint32Array(t,e,i){for(let n=0;n<i;n++)this.writeUint32(t[e+n])}writeBytes(t,e,i){const n=e+i,a=this.position,r=a+i;if(this.ensureCapacity(r),0===e&&t.length===i)this.__data_uint8.set(t,a);else if("function"==typeof t.subarray)this.__data_uint8.set(t.subarray(e,n),a);else for(let n=0;n<i;n++)this.__data_uint8[a+n]=t[e+n];this.position=r}readBytes(t,e,i){const n=this.position,a=n+i,r=this.__data_uint8;i<128?ri(r,n,t,e,i):t.set(r.subarray(n,a),e),this.position=a}writeUTF8String(t){if(null===t)return void this.writeUint32(4294967295);if(void 0===t)return void this.writeUint32(4294967294);let e=0;const i=t.length;if(i>=4294967294)throw new Error("String is too long");this.writeUint32(i);let n=this.position;const a=Math.max(32,i+(i>>1)+7);this.ensureCapacity(a+n);let r=this.__data_uint8,s=this.capacity;for(;e<i;){let a=t.charCodeAt(e++);if(a>=55296&&a<=56319){if(e<i){const i=t.charCodeAt(e);56320==(64512&i)&&(++e,a=((1023&a)<<10)+(1023&i)+65536)}if(a>=55296&&a<=56319)continue}if(n+4>s&&(this.ensureCapacity(n+4),s=this.capacity,r=this.__data_uint8),0!=(4294967168&a)){if(0==(4294965248&a))r[n++]=a>>6&31|192;else if(0==(4294901760&a))r[n++]=a>>12&15|224,r[n++]=a>>6&63|128;else{if(0!=(4292870144&a))continue;r[n++]=a>>18&7|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128}r[n++]=63&a|128}else r[n++]=a}this.position=n}readUTF8String(){const t=this.readUint32();if(4294967295===t)return null;if(4294967294===t)return;const e=this.__data_uint8;let i="",n=this.position,a=0;for(;n<this.capacity&&a<t;){const t=e[n++];let r;if(0===t)break;0==(128&t)?r=t:192==(224&t)?r=(31&t)<<6|63&e[n++]:224==(240&t)?r=(31&t)<<12|(63&e[n++])<<6|63&e[n++]:240==(248&t)&&(r=(7&t)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++],r>65535&&(r-=65536,i+=String.fromCharCode(r>>>10&1023|55296),a++,r=56320|1023&r)),a++,i+=String.fromCharCode(r)}return this.position=n,i}writeASCIIString(t){const e=t.length,i=this.position,n=i+e;this.ensureCapacity(n);for(let n=0;n<e;n++){const e=t.charCodeAt(n);if(e>255)throw new Error(`Character ${String.fromCharCode(e)} can't be represented by a US-ASCII byte.`);this.__data_uint8[i+n]=e}this.position=n}readASCIICharacters(t,e=!1){let i="";for(let n=0;n<t;n++){const t=this.readUint8();if(e&&0===t)break;i+=String.fromCharCode(t)}return i}static fromArrayBuffer(t){const e=new hi;return e.fromArrayBuffer(t),e}static copyUTF8String(t,e){const i=t.readUTF8String();return e.writeUTF8String(i),i}static copyUintVar(t,e){const i=t.readUintVar();return e.writeUintVar(i),i}static copyUint8(t,e){const i=t.readUint8();return e.writeUint8(i),i}static copyUint16(t,e){const i=t.readUint16();return e.writeUint16(i),i}static copyUint32(t,e){const i=t.readUint32();return e.writeUint32(i),i}static copyFloat32(t,e){const i=t.readFloat32();return e.writeFloat32(i),i}static copyFloat64(t,e){const i=t.readFloat64();return e.writeFloat64(i),i}static copyBytes(t,e,i){const n=new Uint8Array(i);return t.readBytes(n,0,i),e.writeBytes(n,0,i),n}}hi.prototype.isBinaryBuffer=!0;const li=[137,80,78,71,13,10,26,10],di=new Uint32Array(256);for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=3988292384^e>>>1:e>>>=1;di[t]=e}function ci(t,e){return(t[e]<<24)+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3]}function fi(t,e){return t[e]}function ui(t){this.i=0,this.bytes=new Uint8Array(t),this.png=new We,this.dataChunks=[],this.buffer=new hi,this.buffer.fromArrayBuffer(t),this.crc_enabled=!1}ui.prototype.readBytes=function(t){const e=new Uint8Array(t);return this.buffer.readBytes(e,0,t),e},ui.prototype.decodeHeader=function(){if(0!==this.i)throw new Error("file pointer should be at 0 to read the header");const t=this.buffer,e=new Uint8Array(8);if(t.readBytes(e,0,8),!Xe(e,li))throw new Error("invalid PNGReader file (bad signature)");this.header=e},ui.prototype.decodeChunk=function(){const t=this.buffer,e=t.readUint32();if(e<0)throw new Error("Bad chunk length "+(4294967295&e));const i=t.position,n=t.readASCIICharacters(4),a=this.readBytes(e);switch(t.readUint32(),this.crc_enabled&&function(t,e,i,n){let a=4294967295;const r=i+n;for(let t=i;t<r;t++){const i=255&(a^e[t]);a=di[i]^a>>>8}}(0,t.raw_bytes,i,e+4),n){case"IHDR":this.decodeIHDR(a);break;case"PLTE":this.decodePLTE(a);break;case"IDAT":this.decodeIDAT(a);break;case"tRNS":this.decodeTRNS(a);break;case"IEND":this.decodeIEND(a)}return n},ui.prototype.decodetEXt=function(t){const e=hi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(Number.POSITIVE_INFINITY,!0),n=e.readASCIICharacters(i.length-1,!1);this.png.text[i]=n},ui.prototype.decodeiEXt=function(t){const e=hi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(Number.POSITIVE_INFINITY,!0);if(e.readUint8(),e.readUint8(),e.readASCIICharacters(Number.POSITIVE_INFINITY,!0),e.readUTF8String(),0!==e.readUint8())throw new Error("Expected Null Separator after Translated keyword");const n=e.readUTF8String();this.png.text[i]=n},ui.prototype.decodeIHDR=function(t){var e=this.png;e.setWidth(ci(t,0)),e.setHeight(ci(t,4)),e.setBitDepth(fi(t,8)),e.setColorType(fi(t,9)),e.setCompressionMethod(fi(t,10)),e.setFilterMethod(fi(t,11)),e.setInterlaceMethod(fi(t,12))},ui.prototype.decodePLTE=function(t){this.png.setPalette(t)},ui.prototype.decodeIDAT=function(t){this.dataChunks.push(t)},ui.prototype.decodeTRNS=function(t){this.png.setTRNS(t)},ui.prototype.decodeIEND=function(){},ui.prototype.decodePixels=function(){var t=this.png;const e=new qe.Inflate,i=this.dataChunks,n=i.length;for(let t=0;t<n;t++)if(e.push(i[t]),e.err)throw new Error(e.err);const a=e.result;0===t.getInterlaceMethod()?this.interlaceNone(a):this.interlaceAdam7(a)},ui.prototype.interlaceNone=function(t){var e=this.png,i=Math.max(1,e.colors*e.bitDepth/8);const n=i*e.width;var a=new Uint8Array(i*e.width*e.height),r=0;const s=t.length;for(var o=0;o<s;o+=n+1){const e=o+1,s=fi(t,o);switch(s){case 0:this.unFilterNone(t,e,a,i,r,n);break;case 1:this.unFilterSub(t,e,a,i,r,n);break;case 2:this.unFilterUp(t,e,a,i,r,n);break;case 3:this.unFilterAverage(t,e,a,i,r,n);break;case 4:this.unFilterPaeth(t,e,a,i,r,n);break;default:throw new Error(`unknown filtered scanline type '${s}'`)}r+=n}e.pixels=a},ui.prototype.interlaceAdam7=function(t){throw new Error("Adam7 interlacing is not implemented yet")},ui.prototype.unFilterNone=function(t,e,i,n,a,r){for(let n=0;n<r;n++)i[a+n]=t[n+e]},ui.prototype.unFilterSub=function(t,e,i,n,a,r){for(var s=0;s<n;s++)i[a+s]=t[s+e];for(;s<r;s++){const r=a+s;i[r]=t[s+e]+i[r-n]&255}},ui.prototype.unFilterUp=function(t,e,i,n,a,r){var s,o,h=0;if(a-r<0)for(;h<r;h++)i[a+h]=t[h+e];else for(;h<r;h++)s=t[h+e],o=i[a+h-r],i[a+h]=s+o&255},ui.prototype.unFilterAverage=function(t,e,i,n,a,r){var s,o,h,l=0;if(a-r<0){for(;l<n;l++)i[a+l]=t[l+e];for(;l<r;l++){const r=a+l;i[r]=t[l+e]+(i[r-n]>>1)&255}}else{for(;l<n;l++){const n=a+l;i[n]=t[l+e]+(i[n-r]>>1)&255}for(;l<r;l++){s=t[l+e];const d=a+l;o=i[d-n],h=i[d-r],i[d]=s+(o+h>>1)&255}}},ui.prototype.unFilterPaeth=function(t,e,i,n,a,r){var s,o,h,l,d,c,f,u,_,p=0;if(a-r<0){for(;p<n;p++)i[a+p]=t[p+e];for(;p<r;p++)i[a+p]=t[p+e]+i[a+p-n]&255}else{const w=a-r;for(;p<n;p++)i[a+p]=t[p+e]+i[w+p]&255;for(;p<r;p++){s=t[p+e];const w=a+p;l=i[w-r-n],h=i[w-r],d=(o=i[w-n])+h-l,c=Math.abs(d-o),f=Math.abs(d-h),u=Math.abs(d-l),_=c<=f&&c<=u?o:f<=u?h:l,i[w]=s+_&255}}},ui.prototype.parse=function(){for(this.decodeHeader();this.buffer.position<this.buffer.length&&"IEND"!==this.decodeChunk(););var t=this.png;return this.decodePixels(),t},self.Lib={decode:async function(t,e="png"){if(!(t instanceof ArrayBuffer))throw new Error(".data argument must be an ArrayBuffer, instead was something else");if("png"===e.toLowerCase())return await async function(t){return new Promise(((e,i)=>{const n=new ui(t).parse(),a=n.getUint8Data(),r=n.getWidth(),s=n.getHeight();e({data:a.data.buffer,width:r,height:s,itemSize:a.itemSize,bitDepth:n.bitDepth})}))}(t);throw new Error("Unsupported type")}};
1
+ function t(t){let e=t.length;for(;--e>=0;)t[e]=0}const e=new Uint8Array([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0]),i=new Uint8Array([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13]),n=new Uint8Array([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7]),a=new Uint8Array([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),r=new Array(576);t(r);const s=new Array(60);t(s);const o=new Array(512);t(o);const h=new Array(256);t(h);const l=new Array(29);t(l);const d=new Array(30);function c(t,e,i,n,a){this.static_tree=t,this.extra_bits=e,this.extra_base=i,this.elems=n,this.max_length=a,this.has_stree=t&&t.length}let f,u,_;function p(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}t(d);const w=t=>t<256?o[t]:o[256+(t>>>7)],g=(t,e)=>{t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255},b=(t,e,i)=>{t.bi_valid>16-i?(t.bi_buf|=e<<t.bi_valid&65535,g(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=i-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=i)},m=(t,e,i)=>{b(t,i[2*e],i[2*e+1])},y=(t,e)=>{let i=0;do{i|=1&t,t>>>=1,i<<=1}while(--e>0);return i>>>1},k=(t,e,i)=>{const n=new Array(16);let a,r,s=0;for(a=1;a<=15;a++)n[a]=s=s+i[a-1]<<1;for(r=0;r<=e;r++){let e=t[2*r+1];0!==e&&(t[2*r]=y(n[e]++,e))}},v=t=>{let e;for(e=0;e<286;e++)t.dyn_ltree[2*e]=0;for(e=0;e<30;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0},x=t=>{t.bi_valid>8?g(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0},U=(t,e,i,n)=>{const a=2*e,r=2*i;return t[a]<t[r]||t[a]===t[r]&&n[e]<=n[i]},E=(t,e,i)=>{const n=t.heap[i];let a=i<<1;for(;a<=t.heap_len&&(a<t.heap_len&&U(e,t.heap[a+1],t.heap[a],t.depth)&&a++,!U(e,n,t.heap[a],t.depth));)t.heap[i]=t.heap[a],i=a,a<<=1;t.heap[i]=n},A=(t,n,a)=>{let r,s,o,c,f=0;if(0!==t.last_lit)do{r=t.pending_buf[t.d_buf+2*f]<<8|t.pending_buf[t.d_buf+2*f+1],s=t.pending_buf[t.l_buf+f],f++,0===r?m(t,s,n):(o=h[s],m(t,o+256+1,n),c=e[o],0!==c&&(s-=l[o],b(t,s,c)),r--,o=w(r),m(t,o,a),c=i[o],0!==c&&(r-=d[o],b(t,r,c)))}while(f<t.last_lit);m(t,256,n)},z=(t,e)=>{const i=e.dyn_tree,n=e.stat_desc.static_tree,a=e.stat_desc.has_stree,r=e.stat_desc.elems;let s,o,h,l=-1;for(t.heap_len=0,t.heap_max=573,s=0;s<r;s++)0!==i[2*s]?(t.heap[++t.heap_len]=l=s,t.depth[s]=0):i[2*s+1]=0;for(;t.heap_len<2;)h=t.heap[++t.heap_len]=l<2?++l:0,i[2*h]=1,t.depth[h]=0,t.opt_len--,a&&(t.static_len-=n[2*h+1]);for(e.max_code=l,s=t.heap_len>>1;s>=1;s--)E(t,i,s);h=r;do{s=t.heap[1],t.heap[1]=t.heap[t.heap_len--],E(t,i,1),o=t.heap[1],t.heap[--t.heap_max]=s,t.heap[--t.heap_max]=o,i[2*h]=i[2*s]+i[2*o],t.depth[h]=(t.depth[s]>=t.depth[o]?t.depth[s]:t.depth[o])+1,i[2*s+1]=i[2*o+1]=h,t.heap[1]=h++,E(t,i,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],((t,e)=>{const i=e.dyn_tree,n=e.max_code,a=e.stat_desc.static_tree,r=e.stat_desc.has_stree,s=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,h=e.stat_desc.max_length;let l,d,c,f,u,_,p=0;for(f=0;f<=15;f++)t.bl_count[f]=0;for(i[2*t.heap[t.heap_max]+1]=0,l=t.heap_max+1;l<573;l++)d=t.heap[l],f=i[2*i[2*d+1]+1]+1,f>h&&(f=h,p++),i[2*d+1]=f,d>n||(t.bl_count[f]++,u=0,d>=o&&(u=s[d-o]),_=i[2*d],t.opt_len+=_*(f+u),r&&(t.static_len+=_*(a[2*d+1]+u)));if(0!==p){do{for(f=h-1;0===t.bl_count[f];)f--;t.bl_count[f]--,t.bl_count[f+1]+=2,t.bl_count[h]--,p-=2}while(p>0);for(f=h;0!==f;f--)for(d=t.bl_count[f];0!==d;)c=t.heap[--l],c>n||(i[2*c+1]!==f&&(t.opt_len+=(f-i[2*c+1])*i[2*c],i[2*c+1]=f),d--)}})(t,e),k(i,l,t.bl_count)},I=(t,e,i)=>{let n,a,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),e[2*(i+1)+1]=65535,n=0;n<=i;n++)a=s,s=e[2*(n+1)+1],++o<h&&a===s||(o<l?t.bl_tree[2*a]+=o:0!==a?(a!==r&&t.bl_tree[2*a]++,t.bl_tree[32]++):o<=10?t.bl_tree[34]++:t.bl_tree[36]++,o=0,r=a,0===s?(h=138,l=3):a===s?(h=6,l=3):(h=7,l=4))},S=(t,e,i)=>{let n,a,r=-1,s=e[1],o=0,h=7,l=4;for(0===s&&(h=138,l=3),n=0;n<=i;n++)if(a=s,s=e[2*(n+1)+1],!(++o<h&&a===s)){if(o<l)do{m(t,a,t.bl_tree)}while(0!=--o);else 0!==a?(a!==r&&(m(t,a,t.bl_tree),o--),m(t,16,t.bl_tree),b(t,o-3,2)):o<=10?(m(t,17,t.bl_tree),b(t,o-3,3)):(m(t,18,t.bl_tree),b(t,o-11,7));o=0,r=a,0===s?(h=138,l=3):a===s?(h=6,l=3):(h=7,l=4)}};let T=!1;const R=(t,e,i,n)=>{b(t,0+(n?1:0),3),((t,e,i,n)=>{x(t),g(t,i),g(t,~i),t.pending_buf.set(t.window.subarray(e,e+i),t.pending),t.pending+=i})(t,e,i)};var C={_tr_init:t=>{T||((()=>{let t,a,p,w,g;const b=new Array(16);for(p=0,w=0;w<28;w++)for(l[w]=p,t=0;t<1<<e[w];t++)h[p++]=w;for(h[p-1]=w,g=0,w=0;w<16;w++)for(d[w]=g,t=0;t<1<<i[w];t++)o[g++]=w;for(g>>=7;w<30;w++)for(d[w]=g<<7,t=0;t<1<<i[w]-7;t++)o[256+g++]=w;for(a=0;a<=15;a++)b[a]=0;for(t=0;t<=143;)r[2*t+1]=8,t++,b[8]++;for(;t<=255;)r[2*t+1]=9,t++,b[9]++;for(;t<=279;)r[2*t+1]=7,t++,b[7]++;for(;t<=287;)r[2*t+1]=8,t++,b[8]++;for(k(r,287,b),t=0;t<30;t++)s[2*t+1]=5,s[2*t]=y(t,5);f=new c(r,e,257,286,15),u=new c(s,i,0,30,15),_=new c(new Array(0),n,0,19,7)})(),T=!0),t.l_desc=new p(t.dyn_ltree,f),t.d_desc=new p(t.dyn_dtree,u),t.bl_desc=new p(t.bl_tree,_),t.bi_buf=0,t.bi_valid=0,v(t)},_tr_stored_block:R,_tr_flush_block:(t,e,i,n)=>{let o,h,l=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=(t=>{let e,i=4093624447;for(e=0;e<=31;e++,i>>>=1)if(1&i&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<256;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0})(t)),z(t,t.l_desc),z(t,t.d_desc),l=(t=>{let e;for(I(t,t.dyn_ltree,t.l_desc.max_code),I(t,t.dyn_dtree,t.d_desc.max_code),z(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*a[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e})(t),o=t.opt_len+3+7>>>3,h=t.static_len+3+7>>>3,h<=o&&(o=h)):o=h=i+5,i+4<=o&&-1!==e?R(t,e,i,n):4===t.strategy||h===o?(b(t,2+(n?1:0),3),A(t,r,s)):(b(t,4+(n?1:0),3),((t,e,i,n)=>{let r;for(b(t,e-257,5),b(t,i-1,5),b(t,n-4,4),r=0;r<n;r++)b(t,t.bl_tree[2*a[r]+1],3);S(t,t.dyn_ltree,e-1),S(t,t.dyn_dtree,i-1)})(t,t.l_desc.max_code+1,t.d_desc.max_code+1,l+1),A(t,t.dyn_ltree,t.dyn_dtree)),v(t),n&&x(t)},_tr_tally:(t,e,i)=>(t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&i,t.last_lit++,0===e?t.dyn_ltree[2*i]++:(t.matches++,e--,t.dyn_ltree[2*(h[i]+256+1)]++,t.dyn_dtree[2*w(e)]++),t.last_lit===t.lit_bufsize-1),_tr_align:t=>{b(t,2,3),m(t,256,r),(t=>{16===t.bi_valid?(g(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)})(t)}},F=(t,e,i,n)=>{let a=65535&t|0,r=t>>>16&65535|0,s=0;for(;0!==i;){s=i>2e3?2e3:i,i-=s;do{a=a+e[n++]|0,r=r+a|0}while(--s);a%=65521,r%=65521}return a|r<<16|0};const N=new Uint32Array((()=>{let t,e=[];for(var i=0;i<256;i++){t=i;for(var n=0;n<8;n++)t=1&t?3988292384^t>>>1:t>>>1;e[i]=t}return e})());var D=(t,e,i,n)=>{const a=N,r=n+i;t^=-1;for(let i=n;i<r;i++)t=t>>>8^a[255&(t^e[i])];return-1^t},B={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"},Z={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_MEM_ERROR:-4,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8};const{_tr_init:L,_tr_stored_block:O,_tr_flush_block:V,_tr_tally:M,_tr_align:$}=C,{Z_NO_FLUSH:H,Z_PARTIAL_FLUSH:P,Z_FULL_FLUSH:j,Z_FINISH:G,Z_BLOCK:K,Z_OK:Y,Z_STREAM_END:q,Z_STREAM_ERROR:W,Z_DATA_ERROR:X,Z_BUF_ERROR:J,Z_DEFAULT_COMPRESSION:Q,Z_FILTERED:tt,Z_HUFFMAN_ONLY:et,Z_RLE:it,Z_FIXED:nt,Z_DEFAULT_STRATEGY:at,Z_UNKNOWN:rt,Z_DEFLATED:st}=Z,ot=258,ht=262,lt=103,dt=113,ct=666,ft=(t,e)=>(t.msg=B[e],e),ut=t=>(t<<1)-(t>4?9:0),_t=t=>{let e=t.length;for(;--e>=0;)t[e]=0};let pt=(t,e,i)=>(e<<t.hash_shift^i)&t.hash_mask;const wt=t=>{const e=t.state;let i=e.pending;i>t.avail_out&&(i=t.avail_out),0!==i&&(t.output.set(e.pending_buf.subarray(e.pending_out,e.pending_out+i),t.next_out),t.next_out+=i,e.pending_out+=i,t.total_out+=i,t.avail_out-=i,e.pending-=i,0===e.pending&&(e.pending_out=0))},gt=(t,e)=>{V(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,wt(t.strm)},bt=(t,e)=>{t.pending_buf[t.pending++]=e},mt=(t,e)=>{t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e},yt=(t,e,i,n)=>{let a=t.avail_in;return a>n&&(a=n),0===a?0:(t.avail_in-=a,e.set(t.input.subarray(t.next_in,t.next_in+a),i),1===t.state.wrap?t.adler=F(t.adler,e,a,i):2===t.state.wrap&&(t.adler=D(t.adler,e,a,i)),t.next_in+=a,t.total_in+=a,a)},kt=(t,e)=>{let i,n,a=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match;const h=t.strstart>t.w_size-ht?t.strstart-(t.w_size-ht):0,l=t.window,d=t.w_mask,c=t.prev,f=t.strstart+ot;let u=l[r+s-1],_=l[r+s];t.prev_length>=t.good_match&&(a>>=2),o>t.lookahead&&(o=t.lookahead);do{if(i=e,l[i+s]===_&&l[i+s-1]===u&&l[i]===l[r]&&l[++i]===l[r+1]){r+=2,i++;do{}while(l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&l[++r]===l[++i]&&r<f);if(n=ot-(f-r),r=f-ot,n>s){if(t.match_start=e,s=n,n>=o)break;u=l[r+s-1],_=l[r+s]}}}while((e=c[e&d])>h&&0!=--a);return s<=t.lookahead?s:t.lookahead},vt=t=>{const e=t.w_size;let i,n,a,r,s;do{if(r=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-ht)){t.window.set(t.window.subarray(e,e+e),0),t.match_start-=e,t.strstart-=e,t.block_start-=e,n=t.hash_size,i=n;do{a=t.head[--i],t.head[i]=a>=e?a-e:0}while(--n);n=e,i=n;do{a=t.prev[--i],t.prev[i]=a>=e?a-e:0}while(--n);r+=e}if(0===t.strm.avail_in)break;if(n=yt(t.strm,t.window,t.strstart+t.lookahead,r),t.lookahead+=n,t.lookahead+t.insert>=3)for(s=t.strstart-t.insert,t.ins_h=t.window[s],t.ins_h=pt(t,t.ins_h,t.window[s+1]);t.insert&&(t.ins_h=pt(t,t.ins_h,t.window[s+3-1]),t.prev[s&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=s,s++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<ht&&0!==t.strm.avail_in)},xt=(t,e)=>{let i,n;for(;;){if(t.lookahead<ht){if(vt(t),t.lookahead<ht&&e===H)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==i&&t.strstart-i<=t.w_size-ht&&(t.match_length=kt(t,i)),t.match_length>=3)if(n=M(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!=--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=pt(t,t.ins_h,t.window[t.strstart+1]);else n=M(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(n&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2},Ut=(t,e)=>{let i,n,a;for(;;){if(t.lookahead<ht){if(vt(t),t.lookahead<ht&&e===H)return 1;if(0===t.lookahead)break}if(i=0,t.lookahead>=3&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==i&&t.prev_length<t.max_lazy_match&&t.strstart-i<=t.w_size-ht&&(t.match_length=kt(t,i),t.match_length<=5&&(t.strategy===tt||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){a=t.strstart+t.lookahead-3,n=M(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=a&&(t.ins_h=pt(t,t.ins_h,t.window[t.strstart+3-1]),i=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!=--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,n&&(gt(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if(n=M(t,0,t.window[t.strstart-1]),n&&gt(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(n=M(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2};function Et(t,e,i,n,a){this.good_length=t,this.max_lazy=e,this.nice_length=i,this.max_chain=n,this.func=a}const At=[new Et(0,0,0,0,((t,e)=>{let i=65535;for(i>t.pending_buf_size-5&&(i=t.pending_buf_size-5);;){if(t.lookahead<=1){if(vt(t),0===t.lookahead&&e===H)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;const n=t.block_start+i;if((0===t.strstart||t.strstart>=n)&&(t.lookahead=t.strstart-n,t.strstart=n,gt(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-ht&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(gt(t,!1),t.strm.avail_out),1)})),new Et(4,4,8,4,xt),new Et(4,5,16,8,xt),new Et(4,6,32,32,xt),new Et(4,4,16,16,Ut),new Et(8,16,32,32,Ut),new Et(8,16,128,128,Ut),new Et(8,32,128,256,Ut),new Et(32,128,258,1024,Ut),new Et(32,258,258,4096,Ut)];function zt(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=st,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new Uint16Array(1146),this.dyn_dtree=new Uint16Array(122),this.bl_tree=new Uint16Array(78),_t(this.dyn_ltree),_t(this.dyn_dtree),_t(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new Uint16Array(16),this.heap=new Uint16Array(573),_t(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new Uint16Array(573),_t(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}const It=t=>{if(!t||!t.state)return ft(t,W);t.total_in=t.total_out=0,t.data_type=rt;const e=t.state;return e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:dt,t.adler=2===e.wrap?0:1,e.last_flush=H,L(e),Y},St=t=>{const e=It(t);var i;return e===Y&&((i=t.state).window_size=2*i.w_size,_t(i.head),i.max_lazy_match=At[i.level].max_lazy,i.good_match=At[i.level].good_length,i.nice_match=At[i.level].nice_length,i.max_chain_length=At[i.level].max_chain,i.strstart=0,i.block_start=0,i.lookahead=0,i.insert=0,i.match_length=i.prev_length=2,i.match_available=0,i.ins_h=0),e},Tt=(t,e,i,n,a,r)=>{if(!t)return W;let s=1;if(e===Q&&(e=6),n<0?(s=0,n=-n):n>15&&(s=2,n-=16),a<1||a>9||i!==st||n<8||n>15||e<0||e>9||r<0||r>nt)return ft(t,W);8===n&&(n=9);const o=new zt;return t.state=o,o.strm=t,o.wrap=s,o.gzhead=null,o.w_bits=n,o.w_size=1<<o.w_bits,o.w_mask=o.w_size-1,o.hash_bits=a+7,o.hash_size=1<<o.hash_bits,o.hash_mask=o.hash_size-1,o.hash_shift=~~((o.hash_bits+3-1)/3),o.window=new Uint8Array(2*o.w_size),o.head=new Uint16Array(o.hash_size),o.prev=new Uint16Array(o.w_size),o.lit_bufsize=1<<a+6,o.pending_buf_size=4*o.lit_bufsize,o.pending_buf=new Uint8Array(o.pending_buf_size),o.d_buf=1*o.lit_bufsize,o.l_buf=3*o.lit_bufsize,o.level=e,o.strategy=r,o.method=i,St(t)};var Rt={deflateInit:(t,e)=>Tt(t,e,st,15,8,at),deflateInit2:Tt,deflateReset:St,deflateResetKeep:It,deflateSetHeader:(t,e)=>t&&t.state?2!==t.state.wrap?W:(t.state.gzhead=e,Y):W,deflate:(t,e)=>{let i,n;if(!t||!t.state||e>K||e<0)return t?ft(t,W):W;const a=t.state;if(!t.output||!t.input&&0!==t.avail_in||a.status===ct&&e!==G)return ft(t,0===t.avail_out?J:W);a.strm=t;const r=a.last_flush;if(a.last_flush=e,42===a.status)if(2===a.wrap)t.adler=0,bt(a,31),bt(a,139),bt(a,8),a.gzhead?(bt(a,(a.gzhead.text?1:0)+(a.gzhead.hcrc?2:0)+(a.gzhead.extra?4:0)+(a.gzhead.name?8:0)+(a.gzhead.comment?16:0)),bt(a,255&a.gzhead.time),bt(a,a.gzhead.time>>8&255),bt(a,a.gzhead.time>>16&255),bt(a,a.gzhead.time>>24&255),bt(a,9===a.level?2:a.strategy>=et||a.level<2?4:0),bt(a,255&a.gzhead.os),a.gzhead.extra&&a.gzhead.extra.length&&(bt(a,255&a.gzhead.extra.length),bt(a,a.gzhead.extra.length>>8&255)),a.gzhead.hcrc&&(t.adler=D(t.adler,a.pending_buf,a.pending,0)),a.gzindex=0,a.status=69):(bt(a,0),bt(a,0),bt(a,0),bt(a,0),bt(a,0),bt(a,9===a.level?2:a.strategy>=et||a.level<2?4:0),bt(a,3),a.status=dt);else{let e=st+(a.w_bits-8<<4)<<8,i=-1;i=a.strategy>=et||a.level<2?0:a.level<6?1:6===a.level?2:3,e|=i<<6,0!==a.strstart&&(e|=32),e+=31-e%31,a.status=dt,mt(a,e),0!==a.strstart&&(mt(a,t.adler>>>16),mt(a,65535&t.adler)),t.adler=1}if(69===a.status)if(a.gzhead.extra){for(i=a.pending;a.gzindex<(65535&a.gzhead.extra.length)&&(a.pending!==a.pending_buf_size||(a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending!==a.pending_buf_size));)bt(a,255&a.gzhead.extra[a.gzindex]),a.gzindex++;a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),a.gzindex===a.gzhead.extra.length&&(a.gzindex=0,a.status=73)}else a.status=73;if(73===a.status)if(a.gzhead.name){i=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending===a.pending_buf_size)){n=1;break}n=a.gzindex<a.gzhead.name.length?255&a.gzhead.name.charCodeAt(a.gzindex++):0,bt(a,n)}while(0!==n);a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),0===n&&(a.gzindex=0,a.status=91)}else a.status=91;if(91===a.status)if(a.gzhead.comment){i=a.pending;do{if(a.pending===a.pending_buf_size&&(a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),wt(t),i=a.pending,a.pending===a.pending_buf_size)){n=1;break}n=a.gzindex<a.gzhead.comment.length?255&a.gzhead.comment.charCodeAt(a.gzindex++):0,bt(a,n)}while(0!==n);a.gzhead.hcrc&&a.pending>i&&(t.adler=D(t.adler,a.pending_buf,a.pending-i,i)),0===n&&(a.status=lt)}else a.status=lt;if(a.status===lt&&(a.gzhead.hcrc?(a.pending+2>a.pending_buf_size&&wt(t),a.pending+2<=a.pending_buf_size&&(bt(a,255&t.adler),bt(a,t.adler>>8&255),t.adler=0,a.status=dt)):a.status=dt),0!==a.pending){if(wt(t),0===t.avail_out)return a.last_flush=-1,Y}else if(0===t.avail_in&&ut(e)<=ut(r)&&e!==G)return ft(t,J);if(a.status===ct&&0!==t.avail_in)return ft(t,J);if(0!==t.avail_in||0!==a.lookahead||e!==H&&a.status!==ct){let i=a.strategy===et?((t,e)=>{let i;for(;;){if(0===t.lookahead&&(vt(t),0===t.lookahead)){if(e===H)return 1;break}if(t.match_length=0,i=M(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,i&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2})(a,e):a.strategy===it?((t,e)=>{let i,n,a,r;const s=t.window;for(;;){if(t.lookahead<=ot){if(vt(t),t.lookahead<=ot&&e===H)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(a=t.strstart-1,n=s[a],n===s[++a]&&n===s[++a]&&n===s[++a])){r=t.strstart+ot;do{}while(n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&n===s[++a]&&a<r);t.match_length=ot-(r-a),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(i=M(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(i=M(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),i&&(gt(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,e===G?(gt(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(gt(t,!1),0===t.strm.avail_out)?1:2})(a,e):At[a.level].func(a,e);if(3!==i&&4!==i||(a.status=ct),1===i||3===i)return 0===t.avail_out&&(a.last_flush=-1),Y;if(2===i&&(e===P?$(a):e!==K&&(O(a,0,0,!1),e===j&&(_t(a.head),0===a.lookahead&&(a.strstart=0,a.block_start=0,a.insert=0))),wt(t),0===t.avail_out))return a.last_flush=-1,Y}return e!==G?Y:a.wrap<=0?q:(2===a.wrap?(bt(a,255&t.adler),bt(a,t.adler>>8&255),bt(a,t.adler>>16&255),bt(a,t.adler>>24&255),bt(a,255&t.total_in),bt(a,t.total_in>>8&255),bt(a,t.total_in>>16&255),bt(a,t.total_in>>24&255)):(mt(a,t.adler>>>16),mt(a,65535&t.adler)),wt(t),a.wrap>0&&(a.wrap=-a.wrap),0!==a.pending?Y:q)},deflateEnd:t=>{if(!t||!t.state)return W;const e=t.state.status;return 42!==e&&69!==e&&73!==e&&91!==e&&e!==lt&&e!==dt&&e!==ct?ft(t,W):(t.state=null,e===dt?ft(t,X):Y)},deflateSetDictionary:(t,e)=>{let i=e.length;if(!t||!t.state)return W;const n=t.state,a=n.wrap;if(2===a||1===a&&42!==n.status||n.lookahead)return W;if(1===a&&(t.adler=F(t.adler,e,i,0)),n.wrap=0,i>=n.w_size){0===a&&(_t(n.head),n.strstart=0,n.block_start=0,n.insert=0);let t=new Uint8Array(n.w_size);t.set(e.subarray(i-n.w_size,i),0),e=t,i=n.w_size}const r=t.avail_in,s=t.next_in,o=t.input;for(t.avail_in=i,t.next_in=0,t.input=e,vt(n);n.lookahead>=3;){let t=n.strstart,e=n.lookahead-2;do{n.ins_h=pt(n,n.ins_h,n.window[t+3-1]),n.prev[t&n.w_mask]=n.head[n.ins_h],n.head[n.ins_h]=t,t++}while(--e);n.strstart=t,n.lookahead=2,vt(n)}return n.strstart+=n.lookahead,n.block_start=n.strstart,n.insert=n.lookahead,n.lookahead=0,n.match_length=n.prev_length=2,n.match_available=0,t.next_in=s,t.input=o,t.avail_in=r,n.wrap=a,Y},deflateInfo:"pako deflate (from Nodeca project)"};const Ct=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var Ft={assign:function(t){const e=Array.prototype.slice.call(arguments,1);for(;e.length;){const i=e.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const e in i)Ct(i,e)&&(t[e]=i[e])}}return t},flattenChunks:t=>{let e=0;for(let i=0,n=t.length;i<n;i++)e+=t[i].length;const i=new Uint8Array(e);for(let e=0,n=0,a=t.length;e<a;e++){let a=t[e];i.set(a,n),n+=a.length}return i}};let Nt=!0;try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){Nt=!1}const Dt=new Uint8Array(256);for(let t=0;t<256;t++)Dt[t]=t>=252?6:t>=248?5:t>=240?4:t>=224?3:t>=192?2:1;Dt[254]=Dt[254]=1;var Bt={string2buf:t=>{let e,i,n,a,r,s=t.length,o=0;for(a=0;a<s;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<s&&(n=t.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),o+=i<128?1:i<2048?2:i<65536?3:4;for(e=new Uint8Array(o),r=0,a=0;r<o;a++)i=t.charCodeAt(a),55296==(64512&i)&&a+1<s&&(n=t.charCodeAt(a+1),56320==(64512&n)&&(i=65536+(i-55296<<10)+(n-56320),a++)),i<128?e[r++]=i:i<2048?(e[r++]=192|i>>>6,e[r++]=128|63&i):i<65536?(e[r++]=224|i>>>12,e[r++]=128|i>>>6&63,e[r++]=128|63&i):(e[r++]=240|i>>>18,e[r++]=128|i>>>12&63,e[r++]=128|i>>>6&63,e[r++]=128|63&i);return e},buf2string:(t,e)=>{let i,n;const a=e||t.length,r=new Array(2*a);for(n=0,i=0;i<a;){let e=t[i++];if(e<128){r[n++]=e;continue}let s=Dt[e];if(s>4)r[n++]=65533,i+=s-1;else{for(e&=2===s?31:3===s?15:7;s>1&&i<a;)e=e<<6|63&t[i++],s--;s>1?r[n++]=65533:e<65536?r[n++]=e:(e-=65536,r[n++]=55296|e>>10&1023,r[n++]=56320|1023&e)}}return((t,e)=>{if(e<65534&&t.subarray&&Nt)return String.fromCharCode.apply(null,t.length===e?t:t.subarray(0,e));let i="";for(let n=0;n<e;n++)i+=String.fromCharCode(t[n]);return i})(r,n)},utf8border:(t,e)=>{(e=e||t.length)>t.length&&(e=t.length);let i=e-1;for(;i>=0&&128==(192&t[i]);)i--;return i<0||0===i?e:i+Dt[t[i]]>e?i:e}},Zt=function(){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};const Lt=Object.prototype.toString,{Z_NO_FLUSH:Ot,Z_SYNC_FLUSH:Vt,Z_FULL_FLUSH:Mt,Z_FINISH:$t,Z_OK:Ht,Z_STREAM_END:Pt,Z_DEFAULT_COMPRESSION:jt,Z_DEFAULT_STRATEGY:Gt,Z_DEFLATED:Kt}=Z;function Yt(t){this.options=Ft.assign({level:jt,method:Kt,chunkSize:16384,windowBits:15,memLevel:8,strategy:Gt},t||{});let e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Zt,this.strm.avail_out=0;let i=Rt.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(i!==Ht)throw new Error(B[i]);if(e.header&&Rt.deflateSetHeader(this.strm,e.header),e.dictionary){let t;if(t="string"==typeof e.dictionary?Bt.string2buf(e.dictionary):"[object ArrayBuffer]"===Lt.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,i=Rt.deflateSetDictionary(this.strm,t),i!==Ht)throw new Error(B[i]);this._dict_set=!0}}function qt(t,e){const i=new Yt(e);if(i.push(t,!0),i.err)throw i.msg||B[i.err];return i.result}Yt.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize;let a,r;if(this.ended)return!1;for(r=e===~~e?e:!0===e?$t:Ot,"string"==typeof t?i.input=Bt.string2buf(t):"[object ArrayBuffer]"===Lt.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;)if(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),(r===Vt||r===Mt)&&i.avail_out<=6)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else{if(a=Rt.deflate(i,r),a===Pt)return i.next_out>0&&this.onData(i.output.subarray(0,i.next_out)),a=Rt.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===Ht;if(0!==i.avail_out){if(r>0&&i.next_out>0)this.onData(i.output.subarray(0,i.next_out)),i.avail_out=0;else if(0===i.avail_in)break}else this.onData(i.output)}return!0},Yt.prototype.onData=function(t){this.chunks.push(t)},Yt.prototype.onEnd=function(t){t===Ht&&(this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Wt={Deflate:Yt,deflate:qt,deflateRaw:function(t,e){return(e=e||{}).raw=!0,qt(t,e)},gzip:function(t,e){return(e=e||{}).gzip=!0,qt(t,e)},constants:Z},Xt=function(t,e){let i,n,a,r,s,o,h,l,d,c,f,u,_,p,w,g,b,m,y,k,v,x,U,E;const A=t.state;i=t.next_in,U=t.input,n=i+(t.avail_in-5),a=t.next_out,E=t.output,r=a-(e-t.avail_out),s=a+(t.avail_out-257),o=A.dmax,h=A.wsize,l=A.whave,d=A.wnext,c=A.window,f=A.hold,u=A.bits,_=A.lencode,p=A.distcode,w=(1<<A.lenbits)-1,g=(1<<A.distbits)-1;t:do{u<15&&(f+=U[i++]<<u,u+=8,f+=U[i++]<<u,u+=8),b=_[f&w];e:for(;;){if(m=b>>>24,f>>>=m,u-=m,m=b>>>16&255,0===m)E[a++]=65535&b;else{if(!(16&m)){if(0==(64&m)){b=_[(65535&b)+(f&(1<<m)-1)];continue e}if(32&m){A.mode=12;break t}t.msg="invalid literal/length code",A.mode=30;break t}y=65535&b,m&=15,m&&(u<m&&(f+=U[i++]<<u,u+=8),y+=f&(1<<m)-1,f>>>=m,u-=m),u<15&&(f+=U[i++]<<u,u+=8,f+=U[i++]<<u,u+=8),b=p[f&g];i:for(;;){if(m=b>>>24,f>>>=m,u-=m,m=b>>>16&255,!(16&m)){if(0==(64&m)){b=p[(65535&b)+(f&(1<<m)-1)];continue i}t.msg="invalid distance code",A.mode=30;break t}if(k=65535&b,m&=15,u<m&&(f+=U[i++]<<u,u+=8,u<m&&(f+=U[i++]<<u,u+=8)),k+=f&(1<<m)-1,k>o){t.msg="invalid distance too far back",A.mode=30;break t}if(f>>>=m,u-=m,m=a-r,k>m){if(m=k-m,m>l&&A.sane){t.msg="invalid distance too far back",A.mode=30;break t}if(v=0,x=c,0===d){if(v+=h-m,m<y){y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}}else if(d<m){if(v+=h+d-m,m-=d,m<y){y-=m;do{E[a++]=c[v++]}while(--m);if(v=0,d<y){m=d,y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}}}else if(v+=d-m,m<y){y-=m;do{E[a++]=c[v++]}while(--m);v=a-k,x=E}for(;y>2;)E[a++]=x[v++],E[a++]=x[v++],E[a++]=x[v++],y-=3;y&&(E[a++]=x[v++],y>1&&(E[a++]=x[v++]))}else{v=a-k;do{E[a++]=E[v++],E[a++]=E[v++],E[a++]=E[v++],y-=3}while(y>2);y&&(E[a++]=E[v++],y>1&&(E[a++]=E[v++]))}break}}break}}while(i<n&&a<s);y=u>>3,i-=y,u-=y<<3,f&=(1<<u)-1,t.next_in=i,t.next_out=a,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=a<s?s-a+257:257-(a-s),A.hold=f,A.bits=u};const Jt=new Uint16Array([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]),Qt=new Uint8Array([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]),te=new Uint16Array([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]),ee=new Uint8Array([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]);var ie=(t,e,i,n,a,r,s,o)=>{const h=o.bits;let l,d,c,f,u,_,p=0,w=0,g=0,b=0,m=0,y=0,k=0,v=0,x=0,U=0,E=null,A=0;const z=new Uint16Array(16),I=new Uint16Array(16);let S,T,R,C=null,F=0;for(p=0;p<=15;p++)z[p]=0;for(w=0;w<n;w++)z[e[i+w]]++;for(m=h,b=15;b>=1&&0===z[b];b--);if(m>b&&(m=b),0===b)return a[r++]=20971520,a[r++]=20971520,o.bits=1,0;for(g=1;g<b&&0===z[g];g++);for(m<g&&(m=g),v=1,p=1;p<=15;p++)if(v<<=1,v-=z[p],v<0)return-1;if(v>0&&(0===t||1!==b))return-1;for(I[1]=0,p=1;p<15;p++)I[p+1]=I[p]+z[p];for(w=0;w<n;w++)0!==e[i+w]&&(s[I[e[i+w]]++]=w);if(0===t?(E=C=s,_=19):1===t?(E=Jt,A-=257,C=Qt,F-=257,_=256):(E=te,C=ee,_=-1),U=0,w=0,p=g,u=r,y=m,k=0,c=-1,x=1<<m,f=x-1,1===t&&x>852||2===t&&x>592)return 1;for(;;){S=p-k,s[w]<_?(T=0,R=s[w]):s[w]>_?(T=C[F+s[w]],R=E[A+s[w]]):(T=96,R=0),l=1<<p-k,d=1<<y,g=d;do{d-=l,a[u+(U>>k)+d]=S<<24|T<<16|R|0}while(0!==d);for(l=1<<p-1;U&l;)l>>=1;if(0!==l?(U&=l-1,U+=l):U=0,w++,0==--z[p]){if(p===b)break;p=e[i+s[w]]}if(p>m&&(U&f)!==c){for(0===k&&(k=m),u+=g,y=p-k,v=1<<y;y+k<b&&(v-=z[y+k],!(v<=0));)y++,v<<=1;if(x+=1<<y,1===t&&x>852||2===t&&x>592)return 1;c=U&f,a[c]=m<<24|y<<16|u-r|0}}return 0!==U&&(a[u+U]=p-k<<24|64<<16|0),o.bits=m,0};const{Z_FINISH:ne,Z_BLOCK:ae,Z_TREES:re,Z_OK:se,Z_STREAM_END:oe,Z_NEED_DICT:he,Z_STREAM_ERROR:le,Z_DATA_ERROR:de,Z_MEM_ERROR:ce,Z_BUF_ERROR:fe,Z_DEFLATED:ue}=Z,_e=12,pe=30,we=t=>(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24);function ge(){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=new Uint16Array(320),this.work=new Uint16Array(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}const be=t=>{if(!t||!t.state)return le;const e=t.state;return t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Int32Array(852),e.distcode=e.distdyn=new Int32Array(592),e.sane=1,e.back=-1,se},me=t=>{if(!t||!t.state)return le;const e=t.state;return e.wsize=0,e.whave=0,e.wnext=0,be(t)},ye=(t,e)=>{let i;if(!t||!t.state)return le;const n=t.state;return e<0?(i=0,e=-e):(i=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?le:(null!==n.window&&n.wbits!==e&&(n.window=null),n.wrap=i,n.wbits=e,me(t))},ke=(t,e)=>{if(!t)return le;const i=new ge;t.state=i,i.window=null;const n=ye(t,e);return n!==se&&(t.state=null),n};let ve,xe,Ue=!0;const Ee=t=>{if(Ue){ve=new Int32Array(512),xe=new Int32Array(32);let e=0;for(;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(ie(1,t.lens,0,288,ve,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;ie(2,t.lens,0,32,xe,0,t.work,{bits:5}),Ue=!1}t.lencode=ve,t.lenbits=9,t.distcode=xe,t.distbits=5},Ae=(t,e,i,n)=>{let a;const r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new Uint8Array(r.wsize)),n>=r.wsize?(r.window.set(e.subarray(i-r.wsize,i),0),r.wnext=0,r.whave=r.wsize):(a=r.wsize-r.wnext,a>n&&(a=n),r.window.set(e.subarray(i-n,i-n+a),r.wnext),(n-=a)?(r.window.set(e.subarray(i-n,i),0),r.wnext=n,r.whave=r.wsize):(r.wnext+=a,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=a))),0};var ze={inflateReset:me,inflateReset2:ye,inflateResetKeep:be,inflateInit:t=>ke(t,15),inflateInit2:ke,inflate:(t,e)=>{let i,n,a,r,s,o,h,l,d,c,f,u,_,p,w,g,b,m,y,k,v,x,U=0;const E=new Uint8Array(4);let A,z;const I=new Uint8Array([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&&0!==t.avail_in)return le;i=t.state,i.mode===_e&&(i.mode=13),s=t.next_out,a=t.output,h=t.avail_out,r=t.next_in,n=t.input,o=t.avail_in,l=i.hold,d=i.bits,c=o,f=h,x=se;t:for(;;)switch(i.mode){case 1:if(0===i.wrap){i.mode=13;break}for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(2&i.wrap&&35615===l){i.check=0,E[0]=255&l,E[1]=l>>>8&255,i.check=D(i.check,E,2,0),l=0,d=0,i.mode=2;break}if(i.flags=0,i.head&&(i.head.done=!1),!(1&i.wrap)||(((255&l)<<8)+(l>>8))%31){t.msg="incorrect header check",i.mode=pe;break}if((15&l)!==ue){t.msg="unknown compression method",i.mode=pe;break}if(l>>>=4,d-=4,v=8+(15&l),0===i.wbits)i.wbits=v;else if(v>i.wbits){t.msg="invalid window size",i.mode=pe;break}i.dmax=1<<i.wbits,t.adler=i.check=1,i.mode=512&l?10:_e,l=0,d=0;break;case 2:for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(i.flags=l,(255&i.flags)!==ue){t.msg="unknown compression method",i.mode=pe;break}if(57344&i.flags){t.msg="unknown header flags set",i.mode=pe;break}i.head&&(i.head.text=l>>8&1),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=D(i.check,E,2,0)),l=0,d=0,i.mode=3;case 3:for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.head&&(i.head.time=l),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,E[2]=l>>>16&255,E[3]=l>>>24&255,i.check=D(i.check,E,4,0)),l=0,d=0,i.mode=4;case 4:for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.head&&(i.head.xflags=255&l,i.head.os=l>>8),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=D(i.check,E,2,0)),l=0,d=0,i.mode=5;case 5:if(1024&i.flags){for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.length=l,i.head&&(i.head.extra_len=l),512&i.flags&&(E[0]=255&l,E[1]=l>>>8&255,i.check=D(i.check,E,2,0)),l=0,d=0}else i.head&&(i.head.extra=null);i.mode=6;case 6:if(1024&i.flags&&(u=i.length,u>o&&(u=o),u&&(i.head&&(v=i.head.extra_len-i.length,i.head.extra||(i.head.extra=new Uint8Array(i.head.extra_len)),i.head.extra.set(n.subarray(r,r+u),v)),512&i.flags&&(i.check=D(i.check,n,u,r)),o-=u,r+=u,i.length-=u),i.length))break t;i.length=0,i.mode=7;case 7:if(2048&i.flags){if(0===o)break t;u=0;do{v=n[r+u++],i.head&&v&&i.length<65536&&(i.head.name+=String.fromCharCode(v))}while(v&&u<o);if(512&i.flags&&(i.check=D(i.check,n,u,r)),o-=u,r+=u,v)break t}else i.head&&(i.head.name=null);i.length=0,i.mode=8;case 8:if(4096&i.flags){if(0===o)break t;u=0;do{v=n[r+u++],i.head&&v&&i.length<65536&&(i.head.comment+=String.fromCharCode(v))}while(v&&u<o);if(512&i.flags&&(i.check=D(i.check,n,u,r)),o-=u,r+=u,v)break t}else i.head&&(i.head.comment=null);i.mode=9;case 9:if(512&i.flags){for(;d<16;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l!==(65535&i.check)){t.msg="header crc mismatch",i.mode=pe;break}l=0,d=0}i.head&&(i.head.hcrc=i.flags>>9&1,i.head.done=!0),t.adler=i.check=0,i.mode=_e;break;case 10:for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}t.adler=i.check=we(l),l=0,d=0,i.mode=11;case 11:if(0===i.havedict)return t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,he;t.adler=i.check=1,i.mode=_e;case _e:if(e===ae||e===re)break t;case 13:if(i.last){l>>>=7&d,d-=7&d,i.mode=27;break}for(;d<3;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}switch(i.last=1&l,l>>>=1,d-=1,3&l){case 0:i.mode=14;break;case 1:if(Ee(i),i.mode=20,e===re){l>>>=2,d-=2;break t}break;case 2:i.mode=17;break;case 3:t.msg="invalid block type",i.mode=pe}l>>>=2,d-=2;break;case 14:for(l>>>=7&d,d-=7&d;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if((65535&l)!=(l>>>16^65535)){t.msg="invalid stored block lengths",i.mode=pe;break}if(i.length=65535&l,l=0,d=0,i.mode=15,e===re)break t;case 15:i.mode=16;case 16:if(u=i.length,u){if(u>o&&(u=o),u>h&&(u=h),0===u)break t;a.set(n.subarray(r,r+u),s),o-=u,r+=u,h-=u,s+=u,i.length-=u;break}i.mode=_e;break;case 17:for(;d<14;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(i.nlen=257+(31&l),l>>>=5,d-=5,i.ndist=1+(31&l),l>>>=5,d-=5,i.ncode=4+(15&l),l>>>=4,d-=4,i.nlen>286||i.ndist>30){t.msg="too many length or distance symbols",i.mode=pe;break}i.have=0,i.mode=18;case 18:for(;i.have<i.ncode;){for(;d<3;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.lens[I[i.have++]]=7&l,l>>>=3,d-=3}for(;i.have<19;)i.lens[I[i.have++]]=0;if(i.lencode=i.lendyn,i.lenbits=7,A={bits:i.lenbits},x=ie(0,i.lens,0,19,i.lencode,0,i.work,A),i.lenbits=A.bits,x){t.msg="invalid code lengths set",i.mode=pe;break}i.have=0,i.mode=19;case 19:for(;i.have<i.nlen+i.ndist;){for(;U=i.lencode[l&(1<<i.lenbits)-1],w=U>>>24,g=U>>>16&255,b=65535&U,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(b<16)l>>>=w,d-=w,i.lens[i.have++]=b;else{if(16===b){for(z=w+2;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l>>>=w,d-=w,0===i.have){t.msg="invalid bit length repeat",i.mode=pe;break}v=i.lens[i.have-1],u=3+(3&l),l>>>=2,d-=2}else if(17===b){for(z=w+3;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=w,d-=w,v=0,u=3+(7&l),l>>>=3,d-=3}else{for(z=w+7;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=w,d-=w,v=0,u=11+(127&l),l>>>=7,d-=7}if(i.have+u>i.nlen+i.ndist){t.msg="invalid bit length repeat",i.mode=pe;break}for(;u--;)i.lens[i.have++]=v}}if(i.mode===pe)break;if(0===i.lens[256]){t.msg="invalid code -- missing end-of-block",i.mode=pe;break}if(i.lenbits=9,A={bits:i.lenbits},x=ie(1,i.lens,0,i.nlen,i.lencode,0,i.work,A),i.lenbits=A.bits,x){t.msg="invalid literal/lengths set",i.mode=pe;break}if(i.distbits=6,i.distcode=i.distdyn,A={bits:i.distbits},x=ie(2,i.lens,i.nlen,i.ndist,i.distcode,0,i.work,A),i.distbits=A.bits,x){t.msg="invalid distances set",i.mode=pe;break}if(i.mode=20,e===re)break t;case 20:i.mode=21;case 21:if(o>=6&&h>=258){t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,Xt(t,f),s=t.next_out,a=t.output,h=t.avail_out,r=t.next_in,n=t.input,o=t.avail_in,l=i.hold,d=i.bits,i.mode===_e&&(i.back=-1);break}for(i.back=0;U=i.lencode[l&(1<<i.lenbits)-1],w=U>>>24,g=U>>>16&255,b=65535&U,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(g&&0==(240&g)){for(m=w,y=g,k=b;U=i.lencode[k+((l&(1<<m+y)-1)>>m)],w=U>>>24,g=U>>>16&255,b=65535&U,!(m+w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=m,d-=m,i.back+=m}if(l>>>=w,d-=w,i.back+=w,i.length=b,0===g){i.mode=26;break}if(32&g){i.back=-1,i.mode=_e;break}if(64&g){t.msg="invalid literal/length code",i.mode=pe;break}i.extra=15&g,i.mode=22;case 22:if(i.extra){for(z=i.extra;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.length+=l&(1<<i.extra)-1,l>>>=i.extra,d-=i.extra,i.back+=i.extra}i.was=i.length,i.mode=23;case 23:for(;U=i.distcode[l&(1<<i.distbits)-1],w=U>>>24,g=U>>>16&255,b=65535&U,!(w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(0==(240&g)){for(m=w,y=g,k=b;U=i.distcode[k+((l&(1<<m+y)-1)>>m)],w=U>>>24,g=U>>>16&255,b=65535&U,!(m+w<=d);){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}l>>>=m,d-=m,i.back+=m}if(l>>>=w,d-=w,i.back+=w,64&g){t.msg="invalid distance code",i.mode=pe;break}i.offset=b,i.extra=15&g,i.mode=24;case 24:if(i.extra){for(z=i.extra;d<z;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}i.offset+=l&(1<<i.extra)-1,l>>>=i.extra,d-=i.extra,i.back+=i.extra}if(i.offset>i.dmax){t.msg="invalid distance too far back",i.mode=pe;break}i.mode=25;case 25:if(0===h)break t;if(u=f-h,i.offset>u){if(u=i.offset-u,u>i.whave&&i.sane){t.msg="invalid distance too far back",i.mode=pe;break}u>i.wnext?(u-=i.wnext,_=i.wsize-u):_=i.wnext-u,u>i.length&&(u=i.length),p=i.window}else p=a,_=s-i.offset,u=i.length;u>h&&(u=h),h-=u,i.length-=u;do{a[s++]=p[_++]}while(--u);0===i.length&&(i.mode=21);break;case 26:if(0===h)break t;a[s++]=i.length,h--,i.mode=21;break;case 27:if(i.wrap){for(;d<32;){if(0===o)break t;o--,l|=n[r++]<<d,d+=8}if(f-=h,t.total_out+=f,i.total+=f,f&&(t.adler=i.check=i.flags?D(i.check,a,f,s-f):F(i.check,a,f,s-f)),f=h,(i.flags?l:we(l))!==i.check){t.msg="incorrect data check",i.mode=pe;break}l=0,d=0}i.mode=28;case 28:if(i.wrap&&i.flags){for(;d<32;){if(0===o)break t;o--,l+=n[r++]<<d,d+=8}if(l!==(4294967295&i.total)){t.msg="incorrect length check",i.mode=pe;break}l=0,d=0}i.mode=29;case 29:x=oe;break t;case pe:x=de;break t;case 31:return ce;default:return le}return t.next_out=s,t.avail_out=h,t.next_in=r,t.avail_in=o,i.hold=l,i.bits=d,(i.wsize||f!==t.avail_out&&i.mode<pe&&(i.mode<27||e!==ne))&&Ae(t,t.output,t.next_out,f-t.avail_out),c-=t.avail_in,f-=t.avail_out,t.total_in+=c,t.total_out+=f,i.total+=f,i.wrap&&f&&(t.adler=i.check=i.flags?D(i.check,a,f,t.next_out-f):F(i.check,a,f,t.next_out-f)),t.data_type=i.bits+(i.last?64:0)+(i.mode===_e?128:0)+(20===i.mode||15===i.mode?256:0),(0===c&&0===f||e===ne)&&x===se&&(x=fe),x},inflateEnd:t=>{if(!t||!t.state)return le;let e=t.state;return e.window&&(e.window=null),t.state=null,se},inflateGetHeader:(t,e)=>{if(!t||!t.state)return le;const i=t.state;return 0==(2&i.wrap)?le:(i.head=e,e.done=!1,se)},inflateSetDictionary:(t,e)=>{const i=e.length;let n,a,r;return t&&t.state?(n=t.state,0!==n.wrap&&11!==n.mode?le:11===n.mode&&(a=1,a=F(a,e,i,0),a!==n.check)?de:(r=Ae(t,e,i,i),r?(n.mode=31,ce):(n.havedict=1,se))):le},inflateInfo:"pako inflate (from Nodeca project)"},Ie=function(){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};const Se=Object.prototype.toString,{Z_NO_FLUSH:Te,Z_FINISH:Re,Z_OK:Ce,Z_STREAM_END:Fe,Z_NEED_DICT:Ne,Z_STREAM_ERROR:De,Z_DATA_ERROR:Be,Z_MEM_ERROR:Ze}=Z;function Le(t){this.options=Ft.assign({chunkSize:65536,windowBits:15,to:""},t||{});const e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0==(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new Zt,this.strm.avail_out=0;let i=ze.inflateInit2(this.strm,e.windowBits);if(i!==Ce)throw new Error(B[i]);if(this.header=new Ie,ze.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=Bt.string2buf(e.dictionary):"[object ArrayBuffer]"===Se.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(i=ze.inflateSetDictionary(this.strm,e.dictionary),i!==Ce)))throw new Error(B[i])}function Oe(t,e){const i=new Le(e);if(i.push(t),i.err)throw i.msg||B[i.err];return i.result}Le.prototype.push=function(t,e){const i=this.strm,n=this.options.chunkSize,a=this.options.dictionary;let r,s,o;if(this.ended)return!1;for(s=e===~~e?e:!0===e?Re:Te,"[object ArrayBuffer]"===Se.call(t)?i.input=new Uint8Array(t):i.input=t,i.next_in=0,i.avail_in=i.input.length;;){for(0===i.avail_out&&(i.output=new Uint8Array(n),i.next_out=0,i.avail_out=n),r=ze.inflate(i,s),r===Ne&&a&&(r=ze.inflateSetDictionary(i,a),r===Ce?r=ze.inflate(i,s):r===Be&&(r=Ne));i.avail_in>0&&r===Fe&&i.state.wrap>0&&0!==t[i.next_in];)ze.inflateReset(i),r=ze.inflate(i,s);switch(r){case De:case Be:case Ne:case Ze:return this.onEnd(r),this.ended=!0,!1}if(o=i.avail_out,i.next_out&&(0===i.avail_out||r===Fe))if("string"===this.options.to){let t=Bt.utf8border(i.output,i.next_out),e=i.next_out-t,a=Bt.buf2string(i.output,t);i.next_out=e,i.avail_out=n-e,e&&i.output.set(i.output.subarray(t,t+e),0),this.onData(a)}else this.onData(i.output.length===i.next_out?i.output:i.output.subarray(0,i.next_out));if(r!==Ce||0!==o){if(r===Fe)return r=ze.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,!0;if(0===i.avail_in)break}}return!0},Le.prototype.onData=function(t){this.chunks.push(t)},Le.prototype.onEnd=function(t){t===Ce&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=Ft.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};var Ve={Inflate:Le,inflate:Oe,inflateRaw:function(t,e){return(e=e||{}).raw=!0,Oe(t,e)},ungzip:Oe,constants:Z};const{Deflate:Me,deflate:$e,deflateRaw:He,gzip:Pe}=Wt,{Inflate:je,inflate:Ge,inflateRaw:Ke,ungzip:Ye}=Ve;var qe={Deflate:Me,deflate:$e,deflateRaw:He,gzip:Pe,Inflate:je,inflate:Ge,inflateRaw:Ke,ungzip:Ye,constants:Z};function We(t,e){const i=t.length;if(i!==e.length)return!1;let n=0;for(;n<i;n++)if(t[n]!==e[n])return!1;return!0}class Xe{appendDescriptionOf(t){throw new Error("Not Implemented")}appendList(t,e,i,n){throw new Error("Not Implemented")}appendText(t){throw new Error("Not Implemented")}appendValue(t){throw new Error("Not Implemented")}appendValueList(t,e,i,n){throw new Error("Not Implemented")}}class Je{describeTo(t){throw new Error("Not Implemented")}}class Qe extends Je{value;constructor(t){super(),this.value=t}describeTo(t){t.appendValue(this.value)}}class ti{#t;constructor(t){this.#t=t}*[Symbol.iterator](){for(const t of this.#t)yield new Qe(t)}}class ei extends Xe{appendDescriptionOf(t){return t.describeTo(this),this}#e(t){this.appendText('"'),this.appendText(t),this.appendText('"')}appendValue(t){return null==t?this.appendText("null"):void 0===t?this.appendText("undefined"):"string"==typeof t?this.#e(t):"number"==typeof t?this.appendText(function(t){return String(t)}(t)):Array.isArray(t)?this.appendValueList("[",", ","]",t):(this.appendText("<"),this.appendText(function(t){try{return String(t)}catch(t){return"VALUE@0"}}(t)),this.appendText(">")),this}appendValueList(t,e,i,n){return this.appendList(t,e,i,new ti(n)),this}appendList(t,e,i,n){let a=!1;this.appendText(t);const r=n[Symbol.iterator]();for(let t=r.next();!0!==t.done;t=r.next())a&&this.appendText(e),this.appendDescriptionOf(t.value),a=!0;return this.appendText(i),this}}class ii extends ei{value="";appendText(t){return this.value+=t,this}}function ni(t,e){if(!t)throw new Error(e||"AssertionError")}function ai(t,e,i,n,a){let r,s,o;for(o=0;o<a;o++)r=e+o,s=n+o,i[s]=t[r]}ni.enum=function(t,e,i="value"){for(let i in e)if(e[i]===t)return;throw new Error(`${i}(=${t}) is not a valid enumerable value, valid values are: [${Object.values(e).join(", ")}]`)},ni.notEqual=function(t,e,i){ni(t!==e,i)},ni.notOk=function(t,e){ni(!t,e)},ni.equal=function(t,e,i){if(t!==e)throw new Error(void 0!==i?i:`${t} !== ${e}`)},ni.logicalyEqual=function(t,e,i){},ni.ok=ni,ni.greaterThan=function(t,e,i){if(!(t>e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} > ${e}.`,new Error(n)}},ni.greaterThanOrEqual=function(t,e,i){if(!(t>=e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} >= ${e}.`,new Error(n)}},ni.lessThan=function(t,e,i){if(!(t<e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} < ${e}.`,new Error(n)}},ni.lessThanOrEqual=function(t,e,i){if(!(t<=e)){let n="";throw void 0!==i&&(n+=i+". "),n+=`Expected ${t} <= ${e}.`,new Error(n)}},ni.typeOf=function(t,e,i="value"){const n=typeof t;if(n!==e)throw new Error(`expected ${i} to be ${e}, instead was '${n}'(=${t})`)},ni.arrayHas=function(t,e,i="Array does not contain the item"){},ni.arrayHasNo=function(t,e,i="Array contains the item"){},ni.arrayEqual=function(t,e,i="Arrays are not equal"){if(!We(t,e))throw new Error(i)},ni.isInstanceOf=function(t,e,i="value",n=e.name){},ni.isNumber=function(t,e="value"){const i=typeof t;if("number"!==i)throw new Error(`expected ${e} to be a number, instead was '${i}'(=${t})`)},ni.isString=function(t,e="value"){const i=typeof t;if("string"!==i)throw new Error(`expected ${e} to be a string, instead was '${i}'(=${t})`)},ni.isBoolean=function(t,e="value"){const i=typeof t;if("boolean"!==i)throw new Error(`expected ${e} to be a boolean, instead was '${i}'(=${t})`)},ni.isFunction=function(t,e="value"){const i=typeof t;if("function"!==i)throw new Error(`expected ${e} to be a function, instead was '${i}'(=${t})`)},ni.isInteger=function(t,e="value"){if(!Number.isInteger(t))throw new Error(`${e} must be an integer, instead was ${t}`)},ni.isNonNegativeInteger=function(t,e="value"){if(t<0)throw new Error(`${e} must be >= 0, instead was ${t}`)},ni.isArray=function(t,e="value"){if(!Array.isArray(t))throw new Error(`expected ${e} to be an array, instead was something else (typeof ='${typeof t}')`)},ni.isArrayLike=function(t,e="value"){if(!(Array.isArray(t)||(i=t,i instanceof Int8Array||i instanceof Uint8Array||i instanceof Uint8ClampedArray||i instanceof Int16Array||i instanceof Uint16Array||i instanceof Int32Array||i instanceof Uint32Array||i instanceof Float32Array||i instanceof Float64Array)))throw new Error(`expected ${e} to be an array-like structure, instead was something else (typeof ='${typeof t}')`);var i},ni.defined=function(t,e="value"){if(void 0===t)throw new Error(`${e} is undefined`)},ni.isNull=function(t,e){if(null!==t)throw new Error(`${e} is NOT null`)},ni.notNull=function(t,e="value"){if(null===t)throw new Error(`${e} is null`)},ni.notNaN=function(t,e="value"){if(Number.isNaN(t))throw new Error(`${e} must be a valid number, instead was NaN`)},ni.isFiniteNumber=function(t,e="value"){if(!Number.isFinite(t))throw new Error(`${e} must be a finite number, instead was ${t}`)},ni.that=function(t,e,i){if(i.matches(t))return;const n=new ii;throw n.appendText(`Expected ${e} to be `),i.describeTo(n),n.appendText(" instead "),i.describeMismatch(t,n),new Error(n.value)};const ri=!1,si=!0;class oi{endianness=ri;position=0;length=0;capacity=1024;data=new ArrayBuffer(1024);dataView=new DataView(this.data);__data_uint8=new Uint8Array(this.data);__growFactor=1.1;get raw_bytes(){return this.__data_uint8}fromArrayBuffer(t){this.data=t,this.dataView=new DataView(t),this.__data_uint8=new Uint8Array(t),this.capacity=t.byteLength,this.length=this.capacity,this.position=0}trim(){return this.setCapacity(this.position),this}setCapacity(t){if(t<this.position)throw new Error(`Attempting to set capacity(=${t}) below current position(=${this.position})`);const e=this.__data_uint8,i=new Uint8Array(t);!function(t,e){const i=e.length;i>=t.length?e.set(t,0):ai(t,0,e,0,i)}(e,i),this.data=i.buffer,this.__data_uint8=i,this.dataView=new DataView(this.data),this.capacity=t}ensureCapacity(t){const e=this.capacity;if(e>=t)return;const i=Math.ceil(Math.max(t,e*this.__growFactor,e+1024));this.setCapacity(i)}readFloat32(){const t=this.dataView.getFloat32(this.position,this.endianness);return this.position+=4,t}readFloat64(){const t=this.dataView.getFloat64(this.position,this.endianness);return this.position+=8,t}readInt8(){const t=this.dataView.getInt8(this.position);return this.position+=1,t}readInt16(){const t=this.dataView.getInt16(this.position,this.endianness);return this.position+=2,t}readInt32(){const t=this.dataView.getInt32(this.position,this.endianness);return this.position+=4,t}readUint8(){const t=this.dataView.getUint8(this.position);return this.position+=1,t}readUint16(){const t=this.dataView.getUint16(this.position,this.endianness);return this.position+=2,t}readUint16LE(){const t=this.dataView.getUint16(this.position,si);return this.position+=2,t}readUint16BE(){const t=this.dataView.getUint16(this.position,ri);return this.position+=2,t}readUint24(){return this.endianness===ri?this.readUint24BE():this.readUint24LE()}readUint24LE(){const t=this.dataView.getUint8(this.position),e=this.dataView.getUint8(this.position+1),i=this.dataView.getUint8(this.position+2);return this.position+=3,t|e<<8|i<<16}readUint24BE(){const t=this.dataView.getUint8(this.position),e=this.dataView.getUint8(this.position+1),i=this.dataView.getUint8(this.position+2);return this.position+=3,i|e<<8|t<<16}readUint32(){const t=this.dataView.getUint32(this.position,this.endianness);return this.position+=4,t}readUint32LE(){const t=this.dataView.getUint32(this.position,si);return this.position+=4,t}readUint32BE(){const t=this.dataView.getUint32(this.position,ri);return this.position+=4,t}readUint8Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint8()}readUint16Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint16()}readUint32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readUint32()}readInt8Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt8()}readInt16Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt16()}readInt32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readInt32()}readFloat32Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readFloat32()}readFloat64Array(t,e,i){for(let n=0;n<i;n++)t[n+e]=this.readFloat64()}writeFloat32Array(t,e,i){for(let n=0;n<i;n++)this.writeFloat32(t[n+e])}writeFloat32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setFloat32(this.position,t,this.endianness),this.position=e}writeFloat64(t){const e=this.position+8;this.ensureCapacity(e),this.dataView.setFloat64(this.position,t,this.endianness),this.position=e}writeInt8(t){const e=this.position+1;this.ensureCapacity(e),this.dataView.setInt8(this.position,t),this.position=e}writeInt16(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setInt16(this.position,t,this.endianness),this.position=e}writeInt32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setInt32(this.position,t,this.endianness),this.position=e}writeUint8(t){const e=this.position+1;this.ensureCapacity(e),this.dataView.setUint8(this.position,t),this.position=e}writeUint8Array(t,e,i){for(let n=0;n<i;n++)this.writeUint8(t[e+n])}writeUint16(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,this.endianness),this.position=e}writeUint16BE(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,ri),this.position=e}writeUint16LE(t){const e=this.position+2;this.ensureCapacity(e),this.dataView.setUint16(this.position,t,si),this.position=e}writeUint16Array(t,e,i){for(let n=0;n<i;n++)this.writeUint16(t[e+n])}writeUint24(t){this.endianness===ri?this.writeUint24BE(t):this.writeUint24LE(t)}writeUint24BE(t){const e=this.position+3;this.ensureCapacity(e);const i=255&t,n=t>>8&255,a=t>>16&255;this.dataView.setUint8(this.position,a),this.dataView.setUint8(this.position+1,n),this.dataView.setUint8(this.position+2,i),this.position=e}writeUint24LE(t){const e=this.position+3;this.ensureCapacity(e);const i=255&t,n=t>>8&255,a=t>>16&255;this.dataView.setUint8(this.position,i),this.dataView.setUint8(this.position+1,n),this.dataView.setUint8(this.position+2,a),this.position=e}writeUintVar(t){let e=!0;for(;e||0!==t;){e=!1;let i=127&t;(t>>=7)>0&&(i|=128),this.writeUint8(i)}}readUintVar(){let t=!0,e=0,i=0;for(;t;){let n=this.readUint8();t=0!=(128&n),e|=(127&n)<<i,i+=7}return e}writeUint32(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,this.endianness),this.position=e}writeUint32BE(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,ri),this.position=e}writeUint32LE(t){const e=this.position+4;this.ensureCapacity(e),this.dataView.setUint32(this.position,t,si),this.position=e}writeUint32Array(t,e,i){for(let n=0;n<i;n++)this.writeUint32(t[e+n])}writeBytes(t,e,i){const n=e+i,a=this.position,r=a+i;if(this.ensureCapacity(r),0===e&&t.length===i)this.__data_uint8.set(t,a);else if("function"==typeof t.subarray)this.__data_uint8.set(t.subarray(e,n),a);else for(let n=0;n<i;n++)this.__data_uint8[a+n]=t[e+n];this.position=r}readBytes(t,e,i){const n=this.position,a=n+i,r=this.__data_uint8;i<128?ai(r,n,t,e,i):t.set(r.subarray(n,a),e),this.position=a}writeUTF8String(t){if(null===t)return void this.writeUint32(4294967295);if(void 0===t)return void this.writeUint32(4294967294);let e=0;const i=t.length;if(i>=4294967294)throw new Error("String is too long");this.writeUint32(i);let n=this.position;const a=Math.max(32,i+(i>>1)+7);this.ensureCapacity(a+n);let r=this.__data_uint8,s=this.capacity;for(;e<i;){let a=t.charCodeAt(e++);if(a>=55296&&a<=56319){if(e<i){const i=t.charCodeAt(e);56320==(64512&i)&&(++e,a=((1023&a)<<10)+(1023&i)+65536)}if(a>=55296&&a<=56319)continue}if(n+4>s&&(this.ensureCapacity(n+4),s=this.capacity,r=this.__data_uint8),0!=(4294967168&a)){if(0==(4294965248&a))r[n++]=a>>6&31|192;else if(0==(4294901760&a))r[n++]=a>>12&15|224,r[n++]=a>>6&63|128;else{if(0!=(4292870144&a))continue;r[n++]=a>>18&7|240,r[n++]=a>>12&63|128,r[n++]=a>>6&63|128}r[n++]=63&a|128}else r[n++]=a}this.position=n}readUTF8String(){const t=this.readUint32();if(4294967295===t)return null;if(4294967294===t)return;const e=this.__data_uint8;let i="",n=this.position,a=0;for(;n<this.capacity&&a<t;){const t=e[n++];let r;if(0===t)break;0==(128&t)?r=t:192==(224&t)?r=(31&t)<<6|63&e[n++]:224==(240&t)?r=(31&t)<<12|(63&e[n++])<<6|63&e[n++]:240==(248&t)&&(r=(7&t)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++],r>65535&&(r-=65536,i+=String.fromCharCode(r>>>10&1023|55296),a++,r=56320|1023&r)),a++,i+=String.fromCharCode(r)}return this.position=n,i}writeASCIIString(t){const e=t.length,i=this.position,n=i+e;this.ensureCapacity(n);for(let n=0;n<e;n++){const e=t.charCodeAt(n);if(e>255)throw new Error(`Character ${String.fromCharCode(e)} can't be represented by a US-ASCII byte.`);this.__data_uint8[i+n]=e}this.position=n}readASCIICharacters(t,e=!1){let i="";for(let n=0;n<t;n++){const t=this.readUint8();if(e&&0===t)break;i+=String.fromCharCode(t)}return i}static fromArrayBuffer(t){const e=new oi;return e.fromArrayBuffer(t),e}static copyUTF8String(t,e){const i=t.readUTF8String();return e.writeUTF8String(i),i}static copyUintVar(t,e){const i=t.readUintVar();return e.writeUintVar(i),i}static copyUint8(t,e){const i=t.readUint8();return e.writeUint8(i),i}static copyUint16(t,e){const i=t.readUint16();return e.writeUint16(i),i}static copyUint32(t,e){const i=t.readUint32();return e.writeUint32(i),i}static copyFloat32(t,e){const i=t.readFloat32();return e.writeFloat32(i),i}static copyFloat64(t,e){const i=t.readFloat64();return e.writeFloat64(i),i}static copyBytes(t,e,i){const n=new Uint8Array(i);return t.readBytes(n,0,i),e.writeBytes(n,0,i),n}}oi.prototype.isBinaryBuffer=!0;const hi=new Uint32Array(256);for(let t=0;t<256;t++){let e=t;for(let t=0;t<8;t++)1&e?e=3988292384^e>>>1:e>>>=1;hi[t]=e}function li(){this.width=0,this.height=0,this.bitDepth=0,this.colorType=0,this.compressionMethod=0,this.filterMethod=0,this.interlaceMethod=0,this.colors=0,this.alpha=!1,this.pixelBits=0,this.palette=null,this.pixels=null,this.trns=null,this.text={}}li.prototype.getWidth=function(){return this.width},li.prototype.setWidth=function(t){this.width=t},li.prototype.getHeight=function(){return this.height},li.prototype.setHeight=function(t){this.height=t},li.prototype.getBitDepth=function(){return this.bitDepth},li.prototype.setBitDepth=function(t){if(-1===[2,4,8,16].indexOf(t))throw new Error("invalid bith depth "+t);this.bitDepth=t},li.prototype.getColorType=function(){return this.colorType},li.prototype.setColorType=function(t){var e=0,i=!1;switch(t){case 0:case 3:e=1;break;case 2:e=3;break;case 4:e=2,i=!0;break;case 6:e=4,i=!0;break;default:throw new Error("invalid color type")}this.colors=e,this.alpha=i,this.colorType=t},li.prototype.getCompressionMethod=function(){return this.compressionMethod},li.prototype.setCompressionMethod=function(t){if(0!==t)throw new Error("invalid compression method "+t);this.compressionMethod=t},li.prototype.getFilterMethod=function(){return this.filterMethod},li.prototype.setFilterMethod=function(t){if(0!==t)throw new Error("invalid filter method "+t);this.filterMethod=t},li.prototype.getInterlaceMethod=function(){return this.interlaceMethod},li.prototype.setInterlaceMethod=function(t){if(0!==t&&1!==t)throw new Error("invalid interlace method "+t);this.interlaceMethod=t},li.prototype.setTRNS=function(t){this.trns=t},li.prototype.setPalette=function(t){if(t.length%3!=0)throw new Error("incorrect PLTE chunk length");if(t.length>3*Math.pow(2,this.bitDepth))throw new Error("palette has more colors than 2^bitdepth");this.palette=t},li.prototype.getPalette=function(){return this.palette},li.prototype.getPixel=function(t,e,i,n){var a=this.pixels;if(!a)throw new Error("pixel data is empty");if(i>=this.width||n>=this.height)throw new Error("x,y position out of bound");var r=this.colors*this.bitDepth/8*(n*this.width+i);let s,o,h,l;switch(this.colorType){case 0:s=a[r],o=s,h=s,l=255;break;case 2:s=a[r],o=a[r+1],h=a[r+2],l=255;break;case 3:l=255,null!=this.trns&&(l=this.trns[a[r]]);const t=3*a[r],e=this.palette;s=e[t],o=e[t+1],h=e[t+2];break;case 4:s=a[r],o=s,h=s,l=a[r+1];break;case 6:s=a[r],o=a[r+1],h=a[r+2],l=a[r+3];break;default:throw new Error("Unsupported color type")}t[e+0]=s,t[e+1]=o,t[e+2]=h,t[e+3]=l},li.prototype.getRGBA8Array_fromRGB=function(t){const e=this.height,i=this.width*e,n=this.pixels;for(let e=0;e<i;e++){const i=3*e,a=i+e;t[a]=n[i],t[a+1]=n[i+1],t[a+2]=n[i+2],t[a+3]=255}},li.prototype.getRGBA8Array_generic=function(t){const e=this.height,i=this.width;for(var n=0;n<e;n++){const e=n*i;for(var a=0;a<i;a++){const i=4*(e+a);this.getPixel(t,i,a,n)}}},li.prototype.getRGBA8Array=function(){if(6===this.colorType)return this.pixels;const t=this.height,e=this.width;var i=new Uint8Array(e*t*4);return 2===this.colorType?this.getRGBA8Array_fromRGB(i):this.getRGBA8Array_generic(i),i},li.prototype.getUint8Data_case3=function(){const t=this.width*this.height;let e;const i=this.trns;e=null!==i?4:3;const n=new Uint8Array(t*e),a=this.pixels,r=this.palette,s=this.colors*this.bitDepth/8;for(let i=0;i<t;i++){const t=i*e,o=3*a[i*s];n[t]=r[o],n[t+1]=r[o+1],n[t+2]=r[o+2]}if(null!==i){const e=i.length;for(let r=0;r<t;r++){const t=a[r*s];n[4*r+3]=t>=e?255:i[t]}}return{data:n,itemSize:e}},li.prototype.getUint8Data=function(){let t,e=0;switch(this.colorType){case 0:t=this.pixels,e=1;break;case 2:t=this.pixels,e=3;break;case 3:const i=this.getUint8Data_case3();t=i.data,e=i.itemSize;break;case 4:t=this.pixels,e=2;break;case 6:t=this.pixels,e=4;break;default:throw new Error("Unsupported color type")}return{data:t,itemSize:e}};const di=[137,80,78,71,13,10,26,10];function ci(t,e){return(t[e]<<24)+(t[e+1]<<16)+(t[e+2]<<8)+t[e+3]}function fi(t,e){return t[e]}function ui(t){this.i=0,this.bytes=new Uint8Array(t),this.png=new li,this.dataChunks=[],this.buffer=new oi,this.buffer.fromArrayBuffer(t),this.crc_enabled=!1}ui.prototype.readBytes=function(t){const e=new Uint8Array(t);return this.buffer.readBytes(e,0,t),e},ui.prototype.decodeHeader=function(){if(0!==this.i)throw new Error("file pointer should be at 0 to read the header");const t=this.buffer,e=new Uint8Array(8);if(t.readBytes(e,0,8),!We(e,di))throw new Error("invalid PNGReader file (bad signature)");this.header=e},ui.prototype.decodeChunk=function(){const t=this.buffer,e=t.readUint32();if(e<0)throw new Error("Bad chunk length "+(4294967295&e));const i=t.position,n=t.readASCIICharacters(4),a=this.readBytes(e);switch(t.readUint32(),this.crc_enabled&&function(t,e,i,n){let a=4294967295;const r=i+n;for(let t=i;t<r;t++){const i=255&(a^e[t]);a=hi[i]^a>>>8}}(0,t.raw_bytes,i,e+4),n){case"IHDR":this.decodeIHDR(a);break;case"PLTE":this.decodePLTE(a);break;case"IDAT":this.decodeIDAT(a);break;case"tRNS":this.decodeTRNS(a);break;case"IEND":this.decodeIEND(a)}return n},ui.prototype.decodetEXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(Number.POSITIVE_INFINITY,!0),n=e.readASCIICharacters(i.length-1,!1);this.png.text[i]=n},ui.prototype.decodeiEXt=function(t){const e=oi.fromArrayBuffer(t.buffer),i=e.readASCIICharacters(Number.POSITIVE_INFINITY,!0);if(e.readUint8(),e.readUint8(),e.readASCIICharacters(Number.POSITIVE_INFINITY,!0),e.readUTF8String(),0!==e.readUint8())throw new Error("Expected Null Separator after Translated keyword");const n=e.readUTF8String();this.png.text[i]=n},ui.prototype.decodeIHDR=function(t){const e=this.png;e.setWidth(ci(t,0)),e.setHeight(ci(t,4)),e.setBitDepth(fi(t,8)),e.setColorType(fi(t,9)),e.setCompressionMethod(fi(t,10)),e.setFilterMethod(fi(t,11)),e.setInterlaceMethod(fi(t,12))},ui.prototype.decodePLTE=function(t){this.png.setPalette(t)},ui.prototype.decodeIDAT=function(t){this.dataChunks.push(t)},ui.prototype.decodeTRNS=function(t){this.png.setTRNS(t)},ui.prototype.decodeIEND=function(){},ui.prototype.decodePixels=function(){const t=this.png,e=new qe.Inflate,i=this.dataChunks,n=i.length;for(let t=0;t<n;t++)if(e.push(i[t]),e.err)throw new Error(e.err);const a=e.result;0===t.getInterlaceMethod()?this.interlaceNone(a):this.interlaceAdam7(a)},ui.prototype.interlaceNone=function(t){const e=this.png,i=e.bitDepth,n=e.colors*i,a=Math.max(1,n/8),r=e.width,s=e.height,o=a*r,h=new Uint8Array(a*r*s);let l=0;const d=t.length;for(let e=0;e<d;e+=o+1){const i=e+1,n=fi(t,e);switch(n){case 0:this.unFilterNone(t,i,h,a,l,o);break;case 1:this.unFilterSub(t,i,h,a,l,o);break;case 2:this.unFilterUp(t,i,h,a,l,o);break;case 3:this.unFilterAverage(t,i,h,a,l,o);break;case 4:this.unFilterPaeth(t,i,h,a,l,o);break;default:throw new Error(`unknown filtered scanline type '${n}'`)}l+=o}e.pixels=h},ui.prototype.interlaceAdam7=function(t){throw new Error("Adam7 interlacing is not implemented yet")},ui.prototype.unFilterNone=function(t,e,i,n,a,r){for(let n=0;n<r;n++)i[a+n]=t[n+e]},ui.prototype.unFilterSub=function(t,e,i,n,a,r){let s=0;for(;s<n;s++)i[a+s]=t[s+e];for(;s<r;s++){const r=a+s;i[r]=t[s+e]+i[r-n]&255}},ui.prototype.unFilterUp=function(t,e,i,n,a,r){let s,o,h=0;if(a-r<0)for(;h<r;h++)i[a+h]=t[h+e];else for(;h<r;h++)s=t[h+e],o=i[a+h-r],i[a+h]=s+o&255},ui.prototype.unFilterAverage=function(t,e,i,n,a,r){let s,o,h,l=0;if(a-r<0){for(;l<n;l++)i[a+l]=t[l+e];for(;l<r;l++){const r=a+l;i[r]=t[l+e]+(i[r-n]>>1)&255}}else{for(;l<n;l++){const n=a+l;i[n]=t[l+e]+(i[n-r]>>1)&255}for(;l<r;l++){s=t[l+e];const d=a+l;o=i[d-n],h=i[d-r],i[d]=s+(o+h>>1)&255}}},ui.prototype.unFilterPaeth=function(t,e,i,n,a,r){let s,o,h,l,d,c,f,u,_,p=0;if(a-r<0){for(;p<n;p++)i[a+p]=t[p+e];for(;p<r;p++)i[a+p]=t[p+e]+i[a+p-n]&255}else{const w=a-r;for(;p<n;p++)i[a+p]=t[p+e]+i[w+p]&255;for(;p<r;p++){s=t[p+e];const w=a+p;l=i[w-r-n],h=i[w-r],o=i[w-n],d=o+h-l,c=Math.abs(d-o),f=Math.abs(d-h),u=Math.abs(d-l),_=c<=f&&c<=u?o:f<=u?h:l,i[w]=s+_&255}}},ui.prototype.parse=function(){for(this.decodeHeader();this.buffer.position<this.buffer.length&&"IEND"!==this.decodeChunk(););const t=this.png;return this.decodePixels(),t},self.Lib={decode:async function(t,e="png"){if(!(t instanceof ArrayBuffer))throw new Error(".data argument must be an ArrayBuffer, instead was something else");if("png"===e.toLowerCase())return await async function(t){return new Promise(((e,i)=>{const n=new ui(t).parse(),a=n.getUint8Data(),r=n.getWidth(),s=n.getHeight();e({data:a.data.buffer,width:r,height:s,itemSize:a.itemSize,bitDepth:n.bitDepth})}))}(t);throw new Error("Unsupported type")}};
package/build/meep.cjs CHANGED
@@ -69588,9 +69588,8 @@ class ThreadedImageDecoder extends Codec {
69588
69588
  return true;
69589
69589
  }
69590
69590
 
69591
- async decode(data) {
69592
- const result = await this.worker.request('decode', [data.buffer]);
69593
- return result;
69591
+ decode(data) {
69592
+ return this.worker.request('decode', [data.buffer]);
69594
69593
  }
69595
69594
  }
69596
69595
 
@@ -69623,7 +69622,8 @@ class NativeImageDecoder extends Codec {
69623
69622
  const image = new Image();
69624
69623
 
69625
69624
  // convert binary data to image URL that we can load
69626
- const url = URL.createObjectURL(new Blob([data]));
69625
+ const blob = new Blob([data]);
69626
+ const url = URL.createObjectURL(blob);
69627
69627
 
69628
69628
  image.src = url;
69629
69629
 
@@ -111514,7 +111514,7 @@ function aabb3_matrix4_project_by_corners(
111514
111514
  result[5] = z1;
111515
111515
  }
111516
111516
 
111517
- const corners = [];
111517
+ const corners$1 = [];
111518
111518
 
111519
111519
  class Decal extends AbstractLight {
111520
111520
  constructor() {
@@ -111600,9 +111600,9 @@ class Decal extends AbstractLight {
111600
111600
  }
111601
111601
 
111602
111602
  getAABB(result) {
111603
- aabb3_build_corners(corners, 0, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
111603
+ aabb3_build_corners(corners$1, 0, -0.5, -0.5, -0.5, 0.5, 0.5, 0.5);
111604
111604
 
111605
- aabb3_matrix4_project_by_corners(result, corners, this.transform);
111605
+ aabb3_matrix4_project_by_corners(result, corners$1, this.transform);
111606
111606
  }
111607
111607
 
111608
111608
  toArray(destination, address) {
@@ -113434,190 +113434,41 @@ class ForwardPlusRenderingPlugin extends EnginePlugin {
113434
113434
  */
113435
113435
 
113436
113436
 
113437
- const projectInWorldSpace = (function () {
113438
- const corners = [
113439
- new Vector3(-1, -1, 0),
113440
- new Vector3(-1, -1, 0),
113441
-
113442
- new Vector3(-1, 1, 0),
113443
- new Vector3(-1, 1, 0),
113444
-
113445
- new Vector3(1, -1, 0),
113446
- new Vector3(1, -1, 0),
113447
-
113448
- new Vector3(1, 1, 0),
113449
- new Vector3(1, 1, 0)
113450
- ];
113451
-
113452
-
113453
- /**
113454
- *
113455
- * @param {Number} nearZ
113456
- * @param {Number} farZ
113457
- * @param {THREE.Camera} camera
113458
- * @param {THREE.Matrix4} matrixWorldInverse
113459
- * @param {function} callback
113460
- */
113461
- function projectInWorldSpace(nearZ, farZ, camera, callback) {
113462
- corners[0].set(-1, -1, nearZ);
113463
- corners[1].set(-1, -1, farZ);
113464
-
113465
- corners[2].set(-1, 1, nearZ);
113466
- corners[3].set(-1, 1, farZ);
113467
-
113468
- corners[4].set(1, -1, nearZ);
113469
- corners[5].set(1, -1, farZ);
113470
-
113471
- corners[6].set(1, 1, nearZ);
113472
- corners[7].set(1, 1, farZ);
113473
-
113474
- //compute corners of view frustum in light space
113475
- let x0 = Number.POSITIVE_INFINITY;
113476
- let y0 = Number.POSITIVE_INFINITY;
113477
- let z0 = Number.POSITIVE_INFINITY;
113478
-
113479
- let x1 = Number.NEGATIVE_INFINITY;
113480
- let y1 = Number.NEGATIVE_INFINITY;
113481
- let z1 = Number.NEGATIVE_INFINITY;
113437
+ const corners = [
113438
+ new Vector3(-1, -1, 0),
113439
+ new Vector3(-1, -1, 0),
113482
113440
 
113441
+ new Vector3(-1, 1, 0),
113442
+ new Vector3(-1, 1, 0),
113483
113443
 
113484
- for (let i = 0; i < 8; i++) {
113485
- const corner = corners[i];
113486
- corner.unproject(camera);
113444
+ new Vector3(1, -1, 0),
113445
+ new Vector3(1, -1, 0),
113487
113446
 
113488
- if (corner.x < x0) {
113489
- x0 = corner.x;
113490
- }
113491
- if (corner.x > x1) {
113492
- x1 = corner.x;
113493
- }
113494
-
113495
- if (corner.y < y0) {
113496
- y0 = corner.y;
113497
- }
113498
- if (corner.y > y1) {
113499
- y1 = corner.y;
113500
- }
113501
-
113502
- if (corner.z < z0) {
113503
- z0 = corner.z;
113504
- }
113505
- if (corner.z > z1) {
113506
- z1 = corner.z;
113507
- }
113508
- }
113509
-
113510
- callback(x0, y0, z0, x1, y1, z1);
113511
- }
113512
-
113513
- return projectInWorldSpace;
113514
- })();
113515
-
113516
- const project = (function () {
113517
- const corners = [
113518
- new Vector3(-1, -1, 0),
113519
- new Vector3(-1, -1, 0),
113520
-
113521
- new Vector3(-1, 1, 0),
113522
- new Vector3(-1, 1, 0),
113523
-
113524
- new Vector3(1, -1, 0),
113525
- new Vector3(1, -1, 0),
113526
-
113527
- new Vector3(1, 1, 0),
113528
- new Vector3(1, 1, 0)
113529
- ];
113530
-
113531
-
113532
- /**
113533
- *
113534
- * @param {Number} nearZ
113535
- * @param {Number} farZ
113536
- * @param {THREE.Camera} camera
113537
- * @param {THREE.Matrix4} matrixWorldInverse
113538
- * @param {AABB3} result
113539
- */
113540
- function project(nearZ, farZ, camera, matrixWorldInverse, result) {
113541
- corners[0].set(-1, -1, nearZ);
113542
- corners[1].set(-1, -1, farZ);
113543
-
113544
- corners[2].set(-1, 1, nearZ);
113545
- corners[3].set(-1, 1, farZ);
113546
-
113547
- corners[4].set(1, -1, nearZ);
113548
- corners[5].set(1, -1, farZ);
113549
-
113550
- corners[6].set(1, 1, nearZ);
113551
- corners[7].set(1, 1, farZ);
113552
-
113553
- //compute corners of view frustum in light space
113554
- let x0 = Number.POSITIVE_INFINITY;
113555
- let y0 = Number.POSITIVE_INFINITY;
113556
- let z0 = Number.POSITIVE_INFINITY;
113557
-
113558
- let x1 = Number.NEGATIVE_INFINITY;
113559
- let y1 = Number.NEGATIVE_INFINITY;
113560
- let z1 = Number.NEGATIVE_INFINITY;
113561
-
113562
-
113563
- for (let i = 0; i < 8; i++) {
113564
- const corner = corners[i];
113565
- corner.unproject(camera);
113566
- corner.applyMatrix4(matrixWorldInverse);
113567
-
113568
- if (corner.x < x0) {
113569
- x0 = corner.x;
113570
- }
113571
- if (corner.x > x1) {
113572
- x1 = corner.x;
113573
- }
113574
-
113575
- if (corner.y < y0) {
113576
- y0 = corner.y;
113577
- }
113578
- if (corner.y > y1) {
113579
- y1 = corner.y;
113580
- }
113581
-
113582
- if (corner.z < z0) {
113583
- z0 = corner.z;
113584
- }
113585
- if (corner.z > z1) {
113586
- z1 = corner.z;
113587
- }
113588
- }
113589
-
113590
- result.setBounds(x0, y0, z0, x1, y1, z1);
113591
- }
113447
+ new Vector3(1, 1, 0),
113448
+ new Vector3(1, 1, 0)
113449
+ ];
113592
113450
 
113593
- return project;
113594
- })();
113595
113451
 
113596
113452
  /**
113597
113453
  *
113598
- * @param _x0
113599
- * @param _y0
113600
- * @param _z0
113601
- * @param _x1
113602
- * @param _y1
113603
- * @param _z1
113604
- * @param {Camera} camera
113605
- * @param callback
113454
+ * @param {Number} nearZ
113455
+ * @param {Number} farZ
113456
+ * @param {THREE.Camera} camera
113457
+ * @param {THREE.Matrix4} matrixWorldInverse
113458
+ * @param {AABB3} result
113606
113459
  */
113607
- function unproject(_x0, _y0, _z0, _x1, _y1, _z1, camera, callback) {
113608
- const corners = [
113609
- new Vector3(_x0, _y0, _z0),
113610
- new Vector3(_x0, _y0, _z1),
113460
+ function project(nearZ, farZ, camera, matrixWorldInverse, result) {
113461
+ corners[0].set(-1, -1, nearZ);
113462
+ corners[1].set(-1, -1, farZ);
113611
113463
 
113612
- new Vector3(_x0, _y1, _z0),
113613
- new Vector3(_x0, _y1, _z1),
113464
+ corners[2].set(-1, 1, nearZ);
113465
+ corners[3].set(-1, 1, farZ);
113614
113466
 
113615
- new Vector3(_x1, _y0, _z0),
113616
- new Vector3(_x1, _y0, _z1),
113467
+ corners[4].set(1, -1, nearZ);
113468
+ corners[5].set(1, -1, farZ);
113617
113469
 
113618
- new Vector3(_x1, _y1, _z0),
113619
- new Vector3(_x1, _y1, _z1)
113620
- ];
113470
+ corners[6].set(1, 1, nearZ);
113471
+ corners[7].set(1, 1, farZ);
113621
113472
 
113622
113473
  //compute corners of view frustum in light space
113623
113474
  let x0 = Number.POSITIVE_INFINITY;
@@ -113629,8 +113480,10 @@ function unproject(_x0, _y0, _z0, _x1, _y1, _z1, camera, callback) {
113629
113480
  let z1 = Number.NEGATIVE_INFINITY;
113630
113481
 
113631
113482
 
113632
- corners.forEach(function (corner) {
113633
- corner.project(camera);
113483
+ for (let i = 0; i < 8; i++) {
113484
+ const corner = corners[i];
113485
+ corner.unproject(camera);
113486
+ corner.applyMatrix4(matrixWorldInverse);
113634
113487
 
113635
113488
  if (corner.x < x0) {
113636
113489
  x0 = corner.x;
@@ -113652,21 +113505,17 @@ function unproject(_x0, _y0, _z0, _x1, _y1, _z1, camera, callback) {
113652
113505
  if (corner.z > z1) {
113653
113506
  z1 = corner.z;
113654
113507
  }
113655
- });
113508
+ }
113656
113509
 
113657
- callback(x0, y0, z0, x1, y1, z1);
113510
+ result.setBounds(x0, y0, z0, x1, y1, z1);
113658
113511
  }
113659
113512
 
113513
+
113660
113514
  var FrustumProjector = {
113661
113515
  /**
113662
113516
  * @deprecated use non-threejs specific code
113663
113517
  */
113664
113518
  project,
113665
- unproject,
113666
- /**
113667
- * @deprecated use non-threejs specific code
113668
- */
113669
- projectInWorldSpace
113670
113519
  };
113671
113520
 
113672
113521
  class SystemEntityContext {