compressed-script-loader 1.2.5 → 1.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -8,6 +8,15 @@
8
8
 
9
9
  # compressed-script-loader
10
10
 
11
+ Reduces network traffic for huge source files built by webpack etc.
12
+
13
+ ## Motivation
14
+
15
+ Today's web server hosts support compression transfer with `content-encoding`,
16
+ but for some servers that do not perform compression transfer, this module can be expected to significantly reduce network traffic.
17
+
18
+ ## Details
19
+
11
20
  + Use code with **comment** extraction feature added to `unzipSync` of [`fflate`][1].
12
21
  + **comment** is used to embed **SRI**. (`script.integrity`)
13
22
  If comment is omitted or does not pass to verify process that it is **SRI**,
@@ -18,10 +27,11 @@ You can use `sha256`, `sha384`, and `sha512` in `script.integrity`, and the pref
18
27
  + **`cslpack`** - simple zip tool is available (since v1.2.x)
19
28
  uses [fflate][1]'s `zip` feature
20
29
 
21
- `$ cslpack <js file> <js file> ... [-(d|dest) <output zip path>]`
30
+ `$ cslpack <js file> <js file> ... [-(d|dest) <output zip path>] [-sha <256|384|512>]`
22
31
 
23
- + option `-(d|dest)` - output zip path. when omited will be output to **`./dist/bundle.zip`**
24
- + This tool uses the `sha384` method
32
+ + options
33
+ * `-(d|dest)` - output zip path. when omited will be output to **`./dist/bundle.zip`**
34
+ + `-sha` - [256|384|512] when omited use 384 "sha384" (since v1.2.8)
25
35
 
26
36
  **example:**
27
37
 
@@ -29,14 +39,14 @@ You can use `sha256`, `sha384`, and `sha512` in `script.integrity`, and the pref
29
39
  # apply just `sha384`
30
40
  cslpack -d dist/lib/bundle.zip build/{bundle,data}.js
31
41
  # or
32
- cslpack build/{cjs,esm}/* -dest dist/lib/bundle.zip
42
+ cslpack build/{cjs,esm}/* -dest dist/lib/bundle.zip -sha 512
33
43
  # will be output to "./dist/bundle.zip"
34
44
  cslpack build/{cjs,esm}/*
35
45
  ```
36
46
 
37
47
  ## Use for SPA
38
48
 
39
- > Load automatically
49
+ > #### Load automatically
40
50
 
41
51
  + Specifying config in the `data-csl-config` attribute of the `script` element
42
52
  will automatically load the zip file and insert it as a `script` element in the header section of the html page.
@@ -63,20 +73,42 @@ You can use `sha256`, `sha384`, and `sha512` in `script.integrity`, and the pref
63
73
  "callback": "onLoadDone"
64
74
  }'
65
75
  type="text/javascript"
66
- src="https://cdn.jsdelivr.net/npm/compressed-script-loader@latest/umd/index.js"
76
+ src="https://cdn.jsdelivr.net/npm/compressed-script-loader/umd/index.js"
67
77
  ></script>
68
78
  ```
69
79
 
70
- > Load manually
80
+ + Supports simple `data-csl-config` (since v1.2.6)
81
+ + In this case, the packed zip file must be deployed in the same directory as the page and
82
+ If need a callback, define it as `cslCallback`.
71
83
 
72
84
  ```html
73
- <script src="https://cdn.jsdelivr.net/npm/compressed-script-loader@latest/umd/index.js"></script>
85
+ <script
86
+ data-csl-config='"system-coordinate-map-mini"'
87
+ src="https://cdn.jsdelivr.net/npm/compressed-script-loader@1.2.6/umd/index.js"
88
+ ></script>
89
+ <!-- or -->
90
+ <script
91
+ data-csl-config='["system-coordinate-map-mini", "bundle"]'
92
+ src="https://cdn.jsdelivr.net/npm/compressed-script-loader@1.2.6/umd/index.js"
93
+ ></script>
94
+ ```
95
+
96
+ > #### Load manually
97
+
98
+ ```html
99
+ <script src="https://cdn.jsdelivr.net/npm/compressed-script-loader/umd/index.js"></script>
74
100
  <script>
101
+ // global variable `NsLoader` is available (umd)
75
102
  (async () => {
76
- const SCRIPT_BASENAME = "system-coordinate-map-mini";
77
- NsLoader.setConfig("./libs", "script[src*=css-2d-renderer]");
78
- await NsLoader.loadCompressedScript(SCRIPT_BASENAME);
103
+ const ZIPNAME = "system-coordinate-map-mini";
104
+ // If the packed zip file is located in the same directory as the page
105
+ // and you don't care where the script is inserted, you can skip this step.
106
+ NsLoader.setConfig("./libs"/*, "script[src*=css-2d-renderer]"*/);
107
+
108
+ await NsLoader.loadCompressedScript(ZIPNAME);
109
+ // If you don't use it anymore, this step will destroy the loader api
79
110
  NsLoader.cleanUp();
111
+
80
112
  runEVEWorld(() => {
81
113
  window.setTimeout(() => {
82
114
  document.querySelectorAll("script[src^='./loader/'],script[src*='compressed-script-loader']").forEach(script => script.remove());
@@ -87,7 +119,51 @@ You can use `sha256`, `sha384`, and `sha512` in `script.integrity`, and the pref
87
119
  </script>
88
120
  ```
89
121
 
90
- + Config definition
122
+ > #### Loader API
123
+
124
+ ```ts
125
+ declare global {
126
+ let cslCallback: (() => void) | undefined;
127
+ interface Window {
128
+ cslCallback: (() => void) | undefined;
129
+ }
130
+ }
131
+ export interface UnzipFileInfo {
132
+ name: string;
133
+ size: number;
134
+ originalSize: number;
135
+ compression: number;
136
+ }
137
+ export declare type UnzipFileFilter = (file: UnzipFileInfo) => boolean;
138
+ export interface UnzipOptions {
139
+ filter?: UnzipFileFilter;
140
+ }
141
+ export interface Unzipped {
142
+ [path: string]: {
143
+ data: Uint8Array;
144
+ comment?: string;
145
+ };
146
+ }
147
+ export declare type TCSLConfig = {
148
+ base: string;
149
+ selector?: string;
150
+ load: string[];
151
+ callback?: keyof Window;
152
+ };
153
+
154
+ declare const NsLoader: {
155
+ unzipSync: (data: Uint8Array, opts?: UnzipOptions) => Unzipped;
156
+ cleanUp: () => void;
157
+ setConfig: (base: string, insertionSelector?: string | undefined) => void;
158
+ loadCompressedScript: (baseName: string, log?: (msg: string) => void) => Promise<void>;
159
+ readonly version: string;
160
+ };
161
+ declare interface Window {
162
+ NsLoader: typeof NsLoader;
163
+ }
164
+ ```
165
+
166
+ ## Config definition
91
167
 
92
168
  ```ts
93
169
  /**
package/bin/cslpack.js CHANGED
@@ -1,17 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  /*! For license information please see cslpack.js.LICENSE.txt */
3
- (()=>{var _wm_={274:module=>{const ArgsConfig={startIndex:2,prefix:"-"};function getExtraArgs(args_config,debug=!1){debug&&console.log("process.argv: ",process.argv);let actualConfig=args_config||{};actualConfig=Object.assign(ArgsConfig,actualConfig);const varIndex=actualConfig.prefix.length,extra_index=actualConfig.startIndex||2,params={};if(process.argv.length>extra_index){const cmdArgs=process.argv;for(let index=extra_index;index<cmdArgs.length;){const opt=cmdArgs[index++];if(opt)if(opt.startsWith(actualConfig.prefix)){let value=cmdArgs[index]
4
- ;void 0===value||value.startsWith(actualConfig.prefix)?value=!0:(/^\[.+\]$/.test(value)||/^\/[^/]+\/[gimuys]{0,6}$/.test(value)?value=eval(value):/\\,/.test(value)?value=value.replace(/\\,/g,","):/,/.test(value)?value=value.split(","):/^(?:-?\.?\d+(?:\.\d*)?|0x[\da-f]+)$/i.test(value)&&(value=+value),index++),params[opt.substring(varIndex)]=value}else{let e=params.args;!e&&(params.args=e=[]),e.push(opt)}}}return params}module.exports=getExtraArgs}},_wmc_={};function _wr_(e){var r=_wmc_[e];if(void 0!==r)return r.exports;var n=_wmc_[e]={exports:{}};return _wm_[e](n,n.exports,_wr_),n.exports}_wr_.r=e=>{
5
- 'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})};var _we_={};(()=>{"use strict";_wr_.r(_we_);const e=require("fs"),r=require("child_process");var n=_wr_(274);const t=require("path");var a=Uint8Array,o=Uint16Array,i=Uint32Array,f=new a([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,0,0,0]),s=new a([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,0,0]),l=new a([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),u=function(e,r){for(var n=new o(31),t=0;t<31;++t)n[t]=r+=1<<e[t-1];var a=new i(n[30]);for(t=1;t<30;++t)for(var f=n[t];f<n[t+1];++f)a[f]=f-n[t]<<5|t;return[n,a]},c=u(f,2),v=c[0],g=c[1]
6
- ;v[28]=258,g[258]=28;for(var d=u(s,0),p=(d[0],d[1]),h=new o(32768),_=0;_<32768;++_){var m=(43690&_)>>>1|(21845&_)<<1;m=(61680&(m=(52428&m)>>>2|(13107&m)<<2))>>>4|(3855&m)<<4,h[_]=((65280&m)>>>8|(255&m)<<8)>>>1}var w=function(e,r,n){for(var t=e.length,a=0,i=new o(r);a<t;++a)e[a]&&++i[e[a]-1];var f,s=new o(r);for(a=0;a<r;++a)s[a]=s[a-1]+i[a-1]<<1;if(n){f=new o(1<<r);var l=15-r;for(a=0;a<t;++a)if(e[a])for(var u=a<<4|e[a],c=r-e[a],v=s[e[a]-1]++<<c,g=v|(1<<c)-1;v<=g;++v)f[h[v]>>>l]=u}else for(f=new o(t),a=0;a<t;++a)e[a]&&(f[a]=h[s[e[a]-1]++]>>>15-e[a]);return f},x=new a(288);for(_=0;_<144;++_)x[_]=8;for(_=144;_<256;++_)x[_]=9;for(_=256;_<280;++_)x[_]=7;for(_=280;_<288;++_)x[_]=8;var b=new a(32);for(_=0;_<32;++_)b[_]=5;var y=w(x,9,0),k=w(b,5,0),E=function(e){return(e+7)/8|0},M=function(e,r,n){
7
- (null==r||r<0)&&(r=0),(null==n||n>e.length)&&(n=e.length);var t=new(2==e.BYTES_PER_ELEMENT?o:4==e.BYTES_PER_ELEMENT?i:a)(n-r);return t.set(e.subarray(r,n)),t},A=['unexpected EOF','invalid block type','invalid length/literal','invalid distance','stream finished','no stream handler',,'no callback','invalid UTF-8 data','extra field too long','date not in range 1980-2099','filename too long','stream finishing','invalid zip data'],T=function(e,r,n){var t=new Error(r||A[e]);if(t.code=e,Error.captureStackTrace&&Error.captureStackTrace(t,T),!n)throw t;return t},S=function(e,r,n){n<<=7&r;var t=r/8|0;e[t]|=n,e[t+1]|=n>>>8},z=function(e,r,n){n<<=7&r;var t=r/8|0;e[t]|=n,e[t+1]|=n>>>8,e[t+2]|=n>>>16},C=function(e,r){for(var n=[],t=0;t<e.length;++t)e[t]&&n.push({s:t,f:e[t]});var i=n.length,f=n.slice()
8
- ;if(!i)return[I,0];if(1==i){var s=new a(n[0].s+1);return s[n[0].s]=1,[s,1]}n.sort((function(e,r){return e.f-r.f})),n.push({s:-1,f:25001});var l=n[0],u=n[1],c=0,v=1,g=2;for(n[0]={s:-1,f:l.f+u.f,l,r:u};v!=i-1;)l=n[n[c].f<n[g].f?c++:g++],u=n[c!=v&&n[c].f<n[g].f?c++:g++],n[v++]={s:-1,f:l.f+u.f,l,r:u};var d=f[0].s;for(t=1;t<i;++t)f[t].s>d&&(d=f[t].s);var p=new o(d+1),h=q(n[v-1],p,0);if(h>r){t=0;var _=0,m=h-r,w=1<<m;for(f.sort((function(e,r){return p[r.s]-p[e.s]||e.f-r.f}));t<i;++t){var x=f[t].s;if(!(p[x]>r))break;_+=w-(1<<h-p[x]),p[x]=r}for(_>>>=m;_>0;){var b=f[t].s;p[b]<r?_-=1<<r-p[b]++-1:++t}for(;t>=0&&_;--t){var y=f[t].s;p[y]==r&&(--p[y],++_)}h=r}return[new a(p),h]},q=function(e,r,n){return-1==e.s?Math.max(q(e.l,r,n+1),q(e.r,r,n+1)):r[e.s]=n},j=function(e){for(var r=e.length;r&&!e[--r];);
9
- for(var n=new o(++r),t=0,a=e[0],i=1,f=function(e){n[t++]=e},s=1;s<=r;++s)if(e[s]==a&&s!=r)++i;else{if(!a&&i>2){for(;i>138;i-=138)f(32754);i>2&&(f(i>10?i-11<<5|28690:i-3<<5|12305),i=0)}else if(i>3){for(f(a),--i;i>6;i-=6)f(8304);i>2&&(f(i-3<<5|8208),i=0)}for(;i--;)f(a);i=1,a=e[s]}return[n.subarray(0,t),r]},O=function(e,r){for(var n=0,t=0;t<r.length;++t)n+=e[t]*r[t];return n},$=function(e,r,n){var t=n.length,a=E(r+2);e[a]=255&t,e[a+1]=t>>>8,e[a+2]=255^e[a],e[a+3]=255^e[a+1];for(var o=0;o<t;++o)e[a+o+4]=n[o];return 8*(a+4+t)},F=function(e,r,n,t,a,i,u,c,v,g,d){S(r,d++,n),++a[256];for(var p=C(a,15),h=p[0],_=p[1],m=C(i,15),E=m[0],M=m[1],A=j(h),T=A[0],q=A[1],F=j(E),D=F[0],I=F[1],P=new o(19),U=0;U<T.length;++U)P[31&T[U]]++;for(U=0;U<D.length;++U)P[31&D[U]]++
10
- ;for(var Y=C(P,7),B=Y[0],L=Y[1],N=19;N>4&&!B[l[N-1]];--N);var R,W,H,G,J=g+5<<3,K=O(a,x)+O(i,b)+u,Q=O(a,h)+O(i,E)+u+14+3*N+O(P,B)+(2*P[16]+3*P[17]+7*P[18]);if(J<=K&&J<=Q)return $(r,d,e.subarray(v,v+g));if(S(r,d,1+(Q<K)),d+=2,Q<K){R=w(h,_,0),W=h,H=w(E,M,0),G=E;var V=w(B,L,0);S(r,d,q-257),S(r,d+5,I-1),S(r,d+10,N-4),d+=14;for(U=0;U<N;++U)S(r,d+3*U,B[l[U]]);d+=3*N;for(var X=[T,D],Z=0;Z<2;++Z){var ee=X[Z];for(U=0;U<ee.length;++U){var re=31&ee[U];S(r,d,V[re]),d+=B[re],re>15&&(S(r,d,ee[U]>>>5&127),d+=ee[U]>>>12)}}}else R=y,W=x,H=k,G=b;for(U=0;U<c;++U)if(t[U]>255){re=t[U]>>>18&31;z(r,d,R[re+257]),d+=W[re+257],re>7&&(S(r,d,t[U]>>>23&31),d+=f[re]);var ne=31&t[U];z(r,d,H[ne]),d+=G[ne],ne>3&&(z(r,d,t[U]>>>5&8191),d+=s[ne])}else z(r,d,R[t[U]]),d+=W[t[U]];return z(r,d,R[256]),d+W[256]
11
- },D=new i([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),I=new a(0),P=function(e,r,n,t,l,u){var c=e.length,v=new a(t+c+5*(1+Math.ceil(c/7e3))+l),d=v.subarray(t,v.length-l),h=0;if(!r||c<8)for(var _=0;_<=c;_+=65535){var m=_+65535;m>=c&&(d[h>>3]=u),h=$(d,h+1,e.subarray(_,m))}else{for(var w=D[r-1],x=w>>>13,b=8191&w,y=(1<<n)-1,k=new o(32768),A=new o(y+1),T=Math.ceil(n/3),S=2*T,z=function(r){return(e[r]^e[r+1]<<T^e[r+2]<<S)&y},C=new i(25e3),q=new o(288),j=new o(32),O=0,P=0,U=(_=0,0),Y=0,B=0;_<c;++_){var L=z(_),N=32767&_,R=A[L];if(k[N]=R,A[L]=N,Y<=_){var W=c-_;if((O>7e3||U>24576)&&W>423){h=F(e,d,0,C,q,j,P,U,B,_-B,h),U=O=P=0,B=_;for(var H=0;H<286;++H)q[H]=0;for(H=0;H<30;++H)j[H]=0}var G=2,J=0,K=b,Q=N-R&32767
12
- ;if(W>2&&L==z(_-Q))for(var V=Math.min(x,W)-1,X=Math.min(32767,_),Z=Math.min(258,W);Q<=X&&--K&&N!=R;){if(e[_+G]==e[_+G-Q]){for(var ee=0;ee<Z&&e[_+ee]==e[_+ee-Q];++ee);if(ee>G){if(G=ee,J=Q,ee>V)break;var re=Math.min(Q,ee-2),ne=0;for(H=0;H<re;++H){var te=_-Q+H+32768&32767,ae=te-k[te]+32768&32767;ae>ne&&(ne=ae,R=te)}}}Q+=(N=R)-(R=k[N])+32768&32767}if(J){C[U++]=268435456|g[G]<<18|p[J];var oe=31&g[G],ie=31&p[J];P+=f[oe]+s[ie],++q[257+oe],++j[ie],Y=_+G,++O}else C[U++]=e[_],++q[e[_]]}}h=F(e,d,u,C,q,j,P,U,B,_-B,h),!u&&7&h&&(h=$(d,h+1,I))}return M(v,0,t+E(h)+l)},U=function(){for(var e=new Int32Array(256),r=0;r<256;++r){for(var n=r,t=9;--t;)n=(1&n&&-306674912)^n>>>1;e[r]=n}return e}(),Y=function(){var e=-1;return{p:function(r){for(var n=e,t=0;t<r.length;++t)n=U[255&n^r[t]]^n>>>8;e=n},d:function(){
13
- return~e}}},B=function(e,r,n,t,a){return P(e,null==r.level?6:r.level,null==r.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):12+r.mem,n,t,!a)},L=function(e,r){var n={};for(var t in e)n[t]=e[t];for(var t in r)n[t]=r[t];return n},N=function(e,r,n){for(;n;++r)e[r]=n,n>>>=8};function R(e,r){return B(e,r||{},0,0)}var W=function(e,r,n,t){for(var o in e){var i=e[o],f=r+o,s=t;Array.isArray(i)&&(s=L(t,i[1]),i=i[0]),i instanceof a?n[f]=[i,s]:(n[f+='/']=[new a(0),s],W(i,f,n,t))}},H='undefined'!=typeof TextEncoder&&new TextEncoder,G='undefined'!=typeof TextDecoder&&new TextDecoder;try{G.decode(I,{stream:!0}),1}catch(e){}function J(e,r){if(r){for(var n=new a(e.length),t=0;t<e.length;++t)n[t]=e.charCodeAt(t);return n}if(H)return H.encode(e)
14
- ;var o=e.length,i=new a(e.length+(e.length>>1)),f=0,s=function(e){i[f++]=e};for(t=0;t<o;++t){if(f+5>i.length){var l=new a(f+8+(o-t<<1));l.set(i),i=l}var u=e.charCodeAt(t);u<128||r?s(u):u<2048?(s(192|u>>6),s(128|63&u)):u>55295&&u<57344?(s(240|(u=65536+(1047552&u)|1023&e.charCodeAt(++t))>>18),s(128|u>>12&63),s(128|u>>6&63),s(128|63&u)):(s(224|u>>12),s(128|u>>6&63),s(128|63&u))}return M(i,0,f)}var K=function(e){var r=0;if(e)for(var n in e){var t=e[n].length;t>65535&&T(9),r+=t+4}return r},Q=function(e,r,n,t,a,o,i,f){var s=t.length,l=n.extra,u=f&&f.length,c=K(l);N(e,r,null!=i?33639248:67324752),r+=4,null!=i&&(e[r++]=20,e[r++]=n.os),e[r]=20,r+=2,e[r++]=n.flag<<1|(null==o&&8),e[r++]=a&&8,e[r++]=255&n.compression,e[r++]=n.compression>>8
15
- ;var v=new Date(null==n.mtime?Date.now():n.mtime),g=v.getFullYear()-1980;if((g<0||g>119)&&T(10),N(e,r,g<<25|v.getMonth()+1<<21|v.getDate()<<16|v.getHours()<<11|v.getMinutes()<<5|v.getSeconds()>>>1),r+=4,null!=o&&(N(e,r,n.crc),N(e,r+4,o),N(e,r+8,n.size)),N(e,r+12,s),N(e,r+14,c),r+=16,null!=i&&(N(e,r,u),N(e,r+6,n.attrs),N(e,r+10,i),r+=14),e.set(t,r),r+=s,c)for(var d in l){var p=l[d],h=p.length;N(e,r,+d),N(e,r+2,h),e.set(p,r+4),r+=4+h}return u&&(e.set(f,r),r+=u),r},V=function(e,r,n,t,a){N(e,r,101010256),N(e,r+8,n),N(e,r+10,n),N(e,r+12,t),N(e,r+16,a)};'function'==typeof queueMicrotask?queueMicrotask:'function'==typeof setTimeout&&setTimeout
16
- ;const X=require("util"),Z=["zip","gz","png","jpg","jpeg","pdf","doc","docx","ppt","pptx","xls","xlsx","heic","heif","7z","bz2","rar","gif","webp","webm","mp4","mov","mp3","aifc"],ee=new X.TextEncoder;const re=n();console.log(re);const ne=new class{zipObj={};add(r,n){const a=t.parse(r),o=`${a.dir}/${a.base}`,i=ee.encode(e.readFileSync(o,"utf8"));i&&(this.zipObj[a.base]=[i,{level:-1===Z.indexOf(a.ext)?6:0,comment:n}])}emit(r){const n=`[fflate.zip:${r}]`;console.time(n);const o=function(e,r){r||(r={});var n={},t=[];W(e,'',n,r);var o=0,i=0;for(var f in n){var s=n[f],l=s[0],u=s[1],c=0==u.level?0:8,v=(E=J(f)).length,g=u.comment,d=g&&J(g),p=d&&d.length,h=K(u.extra);v>65535&&T(11);var _=c?R(l,u):l,m=_.length,w=Y();w.p(l),t.push(L(u,{size:l.length,crc:w.d(),c:_,f:E,m:d,
17
- u:v!=f.length||d&&g.length!=p,o,compression:c})),o+=30+v+h+m,i+=76+2*(v+h)+(p||0)+m}for(var x=new a(i+22),b=o,y=i-o,k=0;k<t.length;++k){var E=t[k];Q(x,E.o,E,E.f,E.u,E.c.length);var M=30+E.f.length+K(E.extra);x.set(E.c,E.o+M),Q(x,o,E,E.f,E.u,E.c.length,E.o,E.m),o+=16+M+(E.m?E.m.length:0)}return V(x,o,t.length,y,b),x}(this.zipObj,{});(r=>{const n=t.dirname(r);e.existsSync(n)||e.mkdirSync(n,{recursive:!0})})(r),e.writeFile(r,o,"binary",(()=>{console.timeEnd(n),this.zipObj={}}))}clear(){this.zipObj={}}};for(const n of re.args){if(e.statSync(n).isFile()){const e=r.execSync(`bash -c "echo -n $(openssl dgst -sha384 -binary ${n} | openssl base64 -A)"`,{encoding:"utf8"});ne.add(n,e)}}ne.emit(re.d||re.dest||"./dist/bundle.zip")})(),module.exports=_we_})();
3
+ (()=>{var _wm_={274:module=>{function getExtraArgs(argsConfig,debug=!1){debug&&console.log("process.argv: ",process.argv);let cfg=argsConfig||{};cfg=Object.assign({startIndex:2,prefix:"-"},cfg);const vIdx=cfg.prefix.length,eIdx=cfg.startIndex||2,params={};if(process.argv.length>eIdx){const cArgs=process.argv;for(let idx=eIdx;idx<cArgs.length;){const opt=cArgs[idx++];if(opt)if(opt.startsWith(cfg.prefix)){let v=cArgs[idx];void 0===v||v.startsWith(cfg.prefix)?v=!0:(/^\[.+\]$/.test(v)||/^\/[^/]+\/[gimuys]{0,6}$/.test(v)?v=eval(v):/\\,/.test(v)?v=v.replace(/\\,/g,","):/,/.test(v)?v=v.split(","):/^(?:-?\.?\d+(?:\.\d*)?|0x[\da-f]+)$/i.test(v)&&(v=+v),idx++),params[opt.substring(vIdx)]=v}else{let e=params.args;!e&&(params.args=e=[]),e.push(opt)}}}return params}
4
+ module.exports=getExtraArgs}},_wmc_={};function _wr_(e){var r=_wmc_[e];if(void 0!==r)return r.exports;var t=_wmc_[e]={exports:{}};return _wm_[e](t,t.exports,_wr_),t.exports}_wr_.r=e=>{'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})};var _we_={};(()=>{"use strict";_wr_.r(_we_);const e=require("fs"),r=require("child_process");var t=_wr_(274);const n=require("path")
5
+ ;var a=Uint8Array,o=Uint16Array,i=Uint32Array,f=new a([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,0,0,0]),s=new a([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,0,0]),c=new a([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=function(e,r){for(var t=new o(31),n=0;n<31;++n)t[n]=r+=1<<e[n-1];var a=new i(t[30]);for(n=1;n<30;++n)for(var f=t[n];f<t[n+1];++f)a[f]=f-t[n]<<5|n;return[t,a]},u=l(f,2),v=u[0],g=u[1];v[28]=258,g[258]=28;for(var p=l(s,0),d=(p[0],p[1]),h=new o(32768),_=0;_<32768;++_){var m=(43690&_)>>>1|(21845&_)<<1;m=(61680&(m=(52428&m)>>>2|(13107&m)<<2))>>>4|(3855&m)<<4,h[_]=((65280&m)>>>8|(255&m)<<8)>>>1}var w=function(e,r,t){for(var n=e.length,a=0,i=new o(r);a<n;++a)e[a]&&++i[e[a]-1];var f,s=new o(r);for(a=0;a<r;++a)s[a]=s[a-1]+i[a-1]<<1;if(t){
6
+ f=new o(1<<r);var c=15-r;for(a=0;a<n;++a)if(e[a])for(var l=a<<4|e[a],u=r-e[a],v=s[e[a]-1]++<<u,g=v|(1<<u)-1;v<=g;++v)f[h[v]>>>c]=l}else for(f=new o(n),a=0;a<n;++a)e[a]&&(f[a]=h[s[e[a]-1]++]>>>15-e[a]);return f},x=new a(288);for(_=0;_<144;++_)x[_]=8;for(_=144;_<256;++_)x[_]=9;for(_=256;_<280;++_)x[_]=7;for(_=280;_<288;++_)x[_]=8;var b=new a(32);for(_=0;_<32;++_)b[_]=5;var y=w(x,9,0),k=w(b,5,0),E=function(e){return(e+7)/8|0},M=function(e,r,t){(null==r||r<0)&&(r=0),(null==t||t>e.length)&&(t=e.length);var n=new(2==e.BYTES_PER_ELEMENT?o:4==e.BYTES_PER_ELEMENT?i:a)(t-r);return n.set(e.subarray(r,t)),n
7
+ },z=['unexpected EOF','invalid block type','invalid length/literal','invalid distance','stream finished','no stream handler',,'no callback','invalid UTF-8 data','extra field too long','date not in range 1980-2099','filename too long','stream finishing','invalid zip data'],A=function(e,r,t){var n=new Error(r||z[e]);if(n.code=e,Error.captureStackTrace&&Error.captureStackTrace(n,A),!t)throw n;return n},T=function(e,r,t){t<<=7&r;var n=r/8|0;e[n]|=t,e[n+1]|=t>>>8},S=function(e,r,t){t<<=7&r;var n=r/8|0;e[n]|=t,e[n+1]|=t>>>8,e[n+2]|=t>>>16},j=function(e,r){for(var t=[],n=0;n<e.length;++n)e[n]&&t.push({s:n,f:e[n]});var i=t.length,f=t.slice();if(!i)return[D,0];if(1==i){var s=new a(t[0].s+1);return s[t[0].s]=1,[s,1]}t.sort((function(e,r){return e.f-r.f})),t.push({s:-1,f:25001})
8
+ ;var c=t[0],l=t[1],u=0,v=1,g=2;for(t[0]={s:-1,f:c.f+l.f,l:c,r:l};v!=i-1;)c=t[t[u].f<t[g].f?u++:g++],l=t[u!=v&&t[u].f<t[g].f?u++:g++],t[v++]={s:-1,f:c.f+l.f,l:c,r:l};var p=f[0].s;for(n=1;n<i;++n)f[n].s>p&&(p=f[n].s);var d=new o(p+1),h=q(t[v-1],d,0);if(h>r){n=0;var _=0,m=h-r,w=1<<m;for(f.sort((function(e,r){return d[r.s]-d[e.s]||e.f-r.f}));n<i;++n){var x=f[n].s;if(!(d[x]>r))break;_+=w-(1<<h-d[x]),d[x]=r}for(_>>>=m;_>0;){var b=f[n].s;d[b]<r?_-=1<<r-d[b]++-1:++n}for(;n>=0&&_;--n){var y=f[n].s;d[y]==r&&(--d[y],++_)}h=r}return[new a(d),h]},q=function(e,r,t){return-1==e.s?Math.max(q(e.l,r,t+1),q(e.r,r,t+1)):r[e.s]=t},O=function(e){for(var r=e.length;r&&!e[--r];);for(var t=new o(++r),n=0,a=e[0],i=1,f=function(e){t[n++]=e},s=1;s<=r;++s)if(e[s]==a&&s!=r)++i;else{if(!a&&i>2){
9
+ for(;i>138;i-=138)f(32754);i>2&&(f(i>10?i-11<<5|28690:i-3<<5|12305),i=0)}else if(i>3){for(f(a),--i;i>6;i-=6)f(8304);i>2&&(f(i-3<<5|8208),i=0)}for(;i--;)f(a);i=1,a=e[s]}return[t.subarray(0,n),r]},$=function(e,r){for(var t=0,n=0;n<r.length;++n)t+=e[n]*r[n];return t},I=function(e,r,t){var n=t.length,a=E(r+2);e[a]=255&n,e[a+1]=n>>>8,e[a+2]=255^e[a],e[a+3]=255^e[a+1];for(var o=0;o<n;++o)e[a+o+4]=t[o];return 8*(a+4+n)},F=function(e,r,t,n,a,i,l,u,v,g,p){T(r,p++,t),++a[256];for(var d=j(a,15),h=d[0],_=d[1],m=j(i,15),E=m[0],M=m[1],z=O(h),A=z[0],q=z[1],F=O(E),C=F[0],D=F[1],P=new o(19),U=0;U<A.length;++U)P[31&A[U]]++;for(U=0;U<C.length;++U)P[31&C[U]]++;for(var Y=j(P,7),B=Y[0],L=Y[1],N=19;N>4&&!B[c[N-1]];--N);
10
+ var R,W,H,G,J=g+5<<3,K=$(a,x)+$(i,b)+l,Q=$(a,h)+$(i,E)+l+14+3*N+$(P,B)+(2*P[16]+3*P[17]+7*P[18]);if(J<=K&&J<=Q)return I(r,p,e.subarray(v,v+g));if(T(r,p,1+(Q<K)),p+=2,Q<K){R=w(h,_,0),W=h,H=w(E,M,0),G=E;var V=w(B,L,0);T(r,p,q-257),T(r,p+5,D-1),T(r,p+10,N-4),p+=14;for(U=0;U<N;++U)T(r,p+3*U,B[c[U]]);p+=3*N;for(var X=[A,C],Z=0;Z<2;++Z){var ee=X[Z];for(U=0;U<ee.length;++U){var re=31&ee[U];T(r,p,V[re]),p+=B[re],re>15&&(T(r,p,ee[U]>>>5&127),p+=ee[U]>>>12)}}}else R=y,W=x,H=k,G=b;for(U=0;U<u;++U)if(n[U]>255){re=n[U]>>>18&31;S(r,p,R[re+257]),p+=W[re+257],re>7&&(T(r,p,n[U]>>>23&31),p+=f[re]);var te=31&n[U];S(r,p,H[te]),p+=G[te],te>3&&(S(r,p,n[U]>>>5&8191),p+=s[te])}else S(r,p,R[n[U]]),p+=W[n[U]];return S(r,p,R[256]),p+W[256]
11
+ },C=new i([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),D=new a(0),P=function(e,r,t,n,c,l){var u=e.length,v=new a(n+u+5*(1+Math.ceil(u/7e3))+c),p=v.subarray(n,v.length-c),h=0;if(!r||u<8)for(var _=0;_<=u;_+=65535){var m=_+65535;m>=u&&(p[h>>3]=l),h=I(p,h+1,e.subarray(_,m))}else{for(var w=C[r-1],x=w>>>13,b=8191&w,y=(1<<t)-1,k=new o(32768),z=new o(y+1),A=Math.ceil(t/3),T=2*A,S=function(r){return(e[r]^e[r+1]<<A^e[r+2]<<T)&y},j=new i(25e3),q=new o(288),O=new o(32),$=0,P=0,U=(_=0,0),Y=0,B=0;_<u;++_){var L=S(_),N=32767&_,R=z[L];if(k[N]=R,z[L]=N,Y<=_){var W=u-_;if(($>7e3||U>24576)&&W>423){h=F(e,p,0,j,q,O,P,U,B,_-B,h),U=$=P=0,B=_;for(var H=0;H<286;++H)q[H]=0;for(H=0;H<30;++H)O[H]=0}var G=2,J=0,K=b,Q=N-R&32767
12
+ ;if(W>2&&L==S(_-Q))for(var V=Math.min(x,W)-1,X=Math.min(32767,_),Z=Math.min(258,W);Q<=X&&--K&&N!=R;){if(e[_+G]==e[_+G-Q]){for(var ee=0;ee<Z&&e[_+ee]==e[_+ee-Q];++ee);if(ee>G){if(G=ee,J=Q,ee>V)break;var re=Math.min(Q,ee-2),te=0;for(H=0;H<re;++H){var ne=_-Q+H+32768&32767,ae=ne-k[ne]+32768&32767;ae>te&&(te=ae,R=ne)}}}Q+=(N=R)-(R=k[N])+32768&32767}if(J){j[U++]=268435456|g[G]<<18|d[J];var oe=31&g[G],ie=31&d[J];P+=f[oe]+s[ie],++q[257+oe],++O[ie],Y=_+G,++$}else j[U++]=e[_],++q[e[_]]}}h=F(e,p,l,j,q,O,P,U,B,_-B,h),!l&&7&h&&(h=I(p,h+1,D))}return M(v,0,n+E(h)+c)},U=function(){for(var e=new Int32Array(256),r=0;r<256;++r){for(var t=r,n=9;--n;)t=(1&t&&-306674912)^t>>>1;e[r]=t}return e}(),Y=function(){var e=-1;return{p:function(r){for(var t=e,n=0;n<r.length;++n)t=U[255&t^r[n]]^t>>>8;e=t},d:function(){
13
+ return~e}}},B=function(e,r,t,n,a){return P(e,null==r.level?6:r.level,null==r.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):12+r.mem,t,n,!a)},L=function(e,r){var t={};for(var n in e)t[n]=e[n];for(var n in r)t[n]=r[n];return t},N=function(e,r,t){for(;t;++r)e[r]=t,t>>>=8};function R(e,r){return B(e,r||{},0,0)}var W=function(e,r,t,n){for(var o in e){var i=e[o],f=r+o,s=n;Array.isArray(i)&&(s=L(n,i[1]),i=i[0]),i instanceof a?t[f]=[i,s]:(t[f+='/']=[new a(0),s],W(i,f,t,n))}},H='undefined'!=typeof TextEncoder&&new TextEncoder,G='undefined'!=typeof TextDecoder&&new TextDecoder;try{G.decode(D,{stream:!0}),1}catch(e){}function J(e,r){if(r){for(var t=new a(e.length),n=0;n<e.length;++n)t[n]=e.charCodeAt(n);return t}if(H)return H.encode(e)
14
+ ;var o=e.length,i=new a(e.length+(e.length>>1)),f=0,s=function(e){i[f++]=e};for(n=0;n<o;++n){if(f+5>i.length){var c=new a(f+8+(o-n<<1));c.set(i),i=c}var l=e.charCodeAt(n);l<128||r?s(l):l<2048?(s(192|l>>6),s(128|63&l)):l>55295&&l<57344?(s(240|(l=65536+(1047552&l)|1023&e.charCodeAt(++n))>>18),s(128|l>>12&63),s(128|l>>6&63),s(128|63&l)):(s(224|l>>12),s(128|l>>6&63),s(128|63&l))}return M(i,0,f)}var K=function(e){var r=0;if(e)for(var t in e){var n=e[t].length;n>65535&&A(9),r+=n+4}return r},Q=function(e,r,t,n,a,o,i,f){var s=n.length,c=t.extra,l=f&&f.length,u=K(c);N(e,r,null!=i?33639248:67324752),r+=4,null!=i&&(e[r++]=20,e[r++]=t.os),e[r]=20,r+=2,e[r++]=t.flag<<1|(null==o&&8),e[r++]=a&&8,e[r++]=255&t.compression,e[r++]=t.compression>>8
15
+ ;var v=new Date(null==t.mtime?Date.now():t.mtime),g=v.getFullYear()-1980;if((g<0||g>119)&&A(10),N(e,r,g<<25|v.getMonth()+1<<21|v.getDate()<<16|v.getHours()<<11|v.getMinutes()<<5|v.getSeconds()>>>1),r+=4,null!=o&&(N(e,r,t.crc),N(e,r+4,o),N(e,r+8,t.size)),N(e,r+12,s),N(e,r+14,u),r+=16,null!=i&&(N(e,r,l),N(e,r+6,t.attrs),N(e,r+10,i),r+=14),e.set(n,r),r+=s,u)for(var p in c){var d=c[p],h=d.length;N(e,r,+p),N(e,r+2,h),e.set(d,r+4),r+=4+h}return l&&(e.set(f,r),r+=l),r},V=function(e,r,t,n,a){N(e,r,101010256),N(e,r+8,t),N(e,r+10,t),N(e,r+12,n),N(e,r+16,a)};'function'==typeof queueMicrotask?queueMicrotask:'function'==typeof setTimeout&&setTimeout
16
+ ;const X=require("util"),Z=["zip","gz","png","jpg","jpeg","pdf","doc","docx","ppt","pptx","xls","xlsx","heic","heif","7z","bz2","rar","gif","webp","webm","mp4","mov","mp3","aifc"],ee=new X.TextEncoder;const re=t();console.log(re),Object.keys(re).length||(console.log("\n$ cslpack <js file> <js file> ... [-(d|dest) <output zip path>] [-sha <256|384|512>]\n\n -(d|dest) : packed zip output path. when omited will be output to ./dist/bundle.zip\n -sha : [256|384|512] when omited use 384 \"sha384\"\n"),process.exit(0));const te=new class{zipObj={};add(r,t){const a=n.parse(r),o=`${a.dir}/${a.base}`,i=ee.encode(e.readFileSync(o,"utf8"));i&&(this.zipObj[a.base]=[i,{level:-1===Z.indexOf(a.ext)?6:0,comment:t}])}emit(r){const t=`[fflate.zip:${r}]`;console.time(t);const o=function(e,r){r||(r={})
17
+ ;var t={},n=[];W(e,'',t,r);var o=0,i=0;for(var f in t){var s=t[f],c=s[0],l=s[1],u=0==l.level?0:8,v=(E=J(f)).length,g=l.comment,p=g&&J(g),d=p&&p.length,h=K(l.extra);v>65535&&A(11);var _=u?R(c,l):c,m=_.length,w=Y();w.p(c),n.push(L(l,{size:c.length,crc:w.d(),c:_,f:E,m:p,u:v!=f.length||p&&g.length!=d,o,compression:u})),o+=30+v+h+m,i+=76+2*(v+h)+(d||0)+m}for(var x=new a(i+22),b=o,y=i-o,k=0;k<n.length;++k){var E=n[k];Q(x,E.o,E,E.f,E.u,E.c.length);var M=30+E.f.length+K(E.extra);x.set(E.c,E.o+M),Q(x,o,E,E.f,E.u,E.c.length,E.o,E.m),o+=16+M+(E.m?E.m.length:0)}return V(x,o,n.length,y,b),x}(this.zipObj,{});(r=>{const t=n.dirname(r);e.existsSync(t)||e.mkdirSync(t,{recursive:!0})})(r),e.writeFile(r,o,"binary",(()=>{console.timeEnd(t),this.zipObj={}}))}clear(){this.zipObj={}}};let ne=re.sha+""
18
+ ;/256|384|512/.test(ne)||(ne="384");for(const t of re.args){if(e.statSync(t).isFile()){const e=r.execSync(`bash -c "echo -n $(openssl dgst -sha${ne} -binary ${t} | openssl base64 -A)"`,{encoding:"utf8"});te.add(t,e)}}te.emit(re.d||re.dest||"./dist/bundle.zip")})(),module.exports=_we_})();
package/index.d.ts CHANGED
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import * as Uz from "./unzip-sync";
9
9
  declare global {
10
+ const NsLoader: typeof import("./umd");
10
11
  let cslCallback: (() => void) | undefined;
11
12
  interface Window {
12
13
  cslCallback: (() => void) | undefined;
@@ -22,5 +23,5 @@ declare let unzipSync: typeof Uz.unzipSync;
22
23
  declare let cleanUp: () => void;
23
24
  declare let setConfig: (base: string, insertionSelector?: string | undefined) => void;
24
25
  declare let loadCompressedScript: (baseName: string, log?: (msg: string) => void) => Promise<void>;
25
- declare const version = "v1.2.5";
26
+ declare const version = "v1.2.8";
26
27
  export { setConfig, loadCompressedScript, cleanUp, unzipSync, version };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "compressed-script-loader",
3
- "version": "1.2.5",
4
- "description": "A lightweight module project",
3
+ "version": "1.2.8",
4
+ "description": "Reduces network traffic for huge source files built by webpack etc.",
5
5
  "private": false,
6
6
  "main": "./webpack/index.js",
7
7
  "module": "./webpack-esm/index.mjs",
package/umd/index.js CHANGED
@@ -1,12 +1,11 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- !function(e,t){'object'==typeof exports&&'object'==typeof module?module.exports=t():'function'==typeof define&&define.amd?define([],t):'object'==typeof exports?exports.NsLoader=t():e.NsLoader=t()}(globalThis,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})}},t={};e.r(t),e.d(t,{cleanUp:()=>B,loadCompressedScript:()=>Y,setConfig:()=>D,unzipSync:()=>A,version:()=>G})
3
- ;const n=Uint8Array,o=Uint16Array,r=Uint32Array,c=new n([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,0,0,0]),s=new n([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,0,0]),l=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=(e,t)=>{const n=new o(31);for(let o=0;o<31;++o)n[o]=t+=1<<e[o-1];const c=new r(n[30]);for(let e=1;e<30;++e)for(let t=n[e];t<n[e+1];++t)c[t]=t-n[e]<<5|e;return[n,c]},[i,f]=a(c,2);i[28]=258,f[258]=28;const[d,u]=a(s,0),g=new o(32768);for(let e=0;e<32768;++e){let t=(43690&e)>>>1|(21845&e)<<1;t=(52428&t)>>>2|(13107&t)<<2,t=(61680&t)>>>4|(3855&t)<<4,g[e]=((65280&t)>>>8|(255&t)<<8)>>>1}const p=(e,t,n)=>{const r=e.length;let c=0;const s=new o(t);for(;c<r;++c)e[c]&&++s[e[c]-1];const l=new o(t);for(c=0;c<t;++c)l[c]=l[c-1]+s[c-1]<<1;let a
4
- ;if(n){a=new o(1<<t);const n=15-t;for(c=0;c<r;++c)if(e[c]){const o=c<<4|e[c],r=t-e[c];let s=l[e[c]-1]++<<r;for(const e=s|(1<<r)-1;s<=e;++s)a[g[s]>>>n]=o}}else for(a=new o(r),c=0;c<r;++c)e[c]&&(a[c]=g[l[e[c]-1]++]>>>15-e[c]);return a},h=new n(288);for(let e=0;e<144;++e)h[e]=8;for(let e=144;e<256;++e)h[e]=9;for(let e=256;e<280;++e)h[e]=7;for(let e=280;e<288;++e)h[e]=8;const y=new n(32);for(let e=0;e<32;++e)y[e]=5;const b=p(h,9,1),m=p(y,5,1),w=e=>{let t=e[0];for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},v=(e,t,n)=>{const o=t/8|0;return(e[o]|e[o+1]<<8)>>(7&t)&n},S=(e,t)=>{const n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},C=(e,t,c)=>{(null==t||t<0)&&(t=0),(null==c||c>e.length)&&(c=e.length);const s=new(2==e.BYTES_PER_ELEMENT?o:4==e.BYTES_PER_ELEMENT?r:n)(c-t)
5
- ;return s.set(e.subarray(t,c)),s},k=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=(e,t,n)=>{const o=new Error(t||k[e]);if(o.code=e,Error.captureStackTrace&&Error.captureStackTrace(o,E),!n)throw o;return o},x=(e,t,o)=>{const r=e.length;if(!r||o&&o.f&&!o.l)return t||new n(0);const a=!t||!!o,f=!o||o.i;!o&&(o={}),!t&&(t=new n(3*r));const u=e=>{let o=t.length;if(e>o){const r=new n(Math.max(2*o,e));r.set(t),t=r}};let g=o.f||0,h=o.p||0,y=o.b||0,k=o.l,x=o.d,T=o.m,$=o.n;const j=8*r;do{if(!k){g=v(e,h,1);const c=v(e,h+1,3);if(h+=3,!c){
6
- const n=4+((h+7)/8|0),c=e[n-4]|e[n-3]<<8,s=n+c;if(s>r){f&&E(0);break}a&&u(y+c),t.set(e.subarray(n,s),y),o.b=y+=c,o.p=h=8*s,o.f=g;continue}if(1==c)k=b,x=m,T=9,$=5;else if(2==c){const t=v(e,h,31)+257,o=v(e,h+10,15)+4,r=t+v(e,h+5,31)+1;h+=14;const c=new n(r),s=new n(19);for(let t=0;t<o;++t)s[l[t]]=v(e,h+3*t,7);h+=3*o;const a=w(s),i=(1<<a)-1,f=p(s,a,1);for(let t=0;t<r;){const n=f[v(e,h,i)];h+=15&n;const o=n>>>4;if(o<16)c[t++]=o;else{let n=0,r=0;for(16==o?(r=3+v(e,h,3),h+=2,n=c[t-1]):17==o?(r=3+v(e,h,7),h+=3):18==o&&(r=11+v(e,h,127),h+=7);r--;)c[t++]=n}}const d=c.subarray(0,t),u=c.subarray(t);T=w(d),$=w(u),k=p(d,T,1),x=p(u,$,1)}else E(1);if(h>j){f&&E(0);break}}a&&u(y+131072);const C=(1<<T)-1,z=(1<<$)-1;let O=h;for(;;O=h){const n=k[S(e,h)&C],o=n>>>4;if(h+=15&n,h>j){f&&E(0);break}if(n||E(2),
7
- o<256)t[y++]=o;else{if(256==o){O=h,k=void 0;break}{let n=o-254;if(o>264){const t=o-257,r=c[t];n=v(e,h,(1<<r)-1)+i[t],h+=r}const r=x[S(e,h)&z],l=r>>>4;r||E(3),h+=15&r;let g=d[l];if(l>3){const t=s[l];g+=S(e,h)&(1<<t)-1,h+=t}if(h>j){f&&E(0);break}a&&u(y+131072);const p=y+n;for(;y<p;y+=4)t[y]=t[y-g],t[y+1]=t[y+1-g],t[y+2]=t[y+2-g],t[y+3]=t[y+3-g];y=p}}}o.l=k,o.p=O,o.b=y,o.f=g,k&&(g=1,o.m=T,o.d=x,o.n=$)}while(!g);return y==t.length?t:C(t,0,y)},T=(e,t)=>e[t]|e[t+1]<<8,$=(e,t)=>(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0,j=(e,t)=>$(e,t)+4294967296*$(e,t+4),z=(e,t)=>t+30+T(e,t+26)+T(e,t+28),O=(e,t,n)=>{const o=!(2048&T(e,t+8)),r=T(e,t+28),c=M(e.subarray(t+46,t+46+r),o),s=t+46+r,l=$(e,t+20),[a,i,f]=n&&4294967295==l?P(e,s):[l,$(e,t+24),$(e,t+42)],d=s+T(e,t+30)
8
- ;return[T(e,t+10),a,i,c,s+T(e,t+30)+T(e,t+32),f,M(e.subarray(d,d+T(e,t+32)),o)]},P=(e,t)=>{for(;1!=T(e,t);t+=4+T(e,t+2));return[j(e,t+12),j(e,t+4),j(e,t+20)]};let U;const L=new n(0);try{const e=new TextDecoder;e.decode(L,{stream:!0}),U=e}catch(e){}function M(e,t){if(t){let t="";for(let n=0;n<e.length;n+=16384)t+=String.fromCharCode.apply(null,e.subarray(n,n+16384));return t}if(U)return U.decode(e);{const[t,n]=(e=>{for(let t="",n=0;;){let o=e[n++];const r=+(o>127)+ +(o>223)+ +(o>239);if(n+r>e.length)return[t,C(e,n-1)];r?3==r?(o=((15&o)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536,t+=String.fromCharCode(55296|o>>10,56320|1023&o)):t+=1&r?String.fromCharCode((31&o)<<6|63&e[n++]):String.fromCharCode((15&o)<<12|(63&e[n++])<<6|63&e[n++]):t+=String.fromCharCode(o)}})(e)
9
- ;return n.length&&E(8),t}}let _,N,R=new TextDecoder,A=function(e,t){const o={};let r=e.length-22;for(;101010256!=$(e,r);--r)(!r||e.length-r>65558)&&E(13);let c=T(e,r+8);if(!c)return{};let s=$(e,r+16);const l=4294967295==s;l&&(r=$(e,r-12),101075792!=$(e,r)&&E(13),c=$(e,r+32),s=$(e,r+48));const a=t&&t.filter;for(let t=0;t<c;++t){const[t,r,c,i,f,d,u]=O(e,s,l),g=z(e,d);if(s=f,!a||a({name:i,size:r,originalSize:c,compression:t})){let s;t?8===t?s=x(e.subarray(g,g+r),new n(c)):E(14,"unknown compression type "+t):s=C(e,g,g+r),s&&(o[i]={data:s,comment:u})}}return o},B=()=>{R=void 0,F=D=Y=B=void 0,_=N=void 0,q=A=void 0},q=e=>{const t=/^(?:sha\d\d\d-)?([a-z0-9+/=]{44,88})$/i.exec(e);if(t){const n=(e=t[1]).length;if(88===n||64===n||44===n)return`sha${64===n?384:88===n?512:256}-${e}`}},D=(e,t)=>{_=e,
10
- N=t||""},F=(e,t,n,o)=>{const r=()=>{n(),console.log(`script ${t} is ready`)};let c=N?document.querySelector(N).nextSibling:void 0;const s=document.head[c?"insertBefore":"appendChild"](document.createElement("script"),c);if(s.id=t,o){const t=URL.createObjectURL(new Blob([e],{type:"text/javascript"}));s.integrity=o,s.onload=r,s.src=t}else s.text=e,r()},Y=async(e,t=console.log)=>{const n=e+".zip",o=await fetch(`${_||"."}/${n}`).then((async e=>{const n=!!e.headers.get("content-encoding"),o=e.body.getReader(),r=(c=+e.headers.get("content-length"),n?1.3*c|0:c);var c;const s=new Uint8Array(r);let l=0;for(;;){const e=await o.read();if(e.done)break;s.set(e.value,l),l+=e.value.length,t(`loading zip: ${l.toLocaleString()} bytes(${Math.round(l/r*100)}%)`)}return n?s.slice(0,l):s
11
- })).catch((e=>(console.error(e),null)));if(o&&o.length){t(`loaded ${n}, decompressing binary...`),console.time(`unzip: ${n}`);const e=A(o);return console.timeEnd(`unzip: ${n}`),t(`${n} decompressed 😃`),new Promise((t=>{const n=Object.keys(e);let o=n.length;const r=()=>{!--o&&t()};for(let t=0;t<n.length;){const o=n[t++],c=e[o];F(R.decode(c.data,{stream:!1}),o,r,q(c.comment))}}))}},J=()=>{J=void 0;const e=document.querySelector("script[data-csl-config]");if(e){const t=e.dataset.cslConfig;if(t){const e=JSON.parse(t);D(e.base,e.selector);try{const t=[];for(const n of e.load)t.push(Y(n));Promise.all(t).then((()=>{let t;t="function"==typeof cslCallback?cslCallback:window[e.callback||"cslCallback"],"function"==typeof t&&t(),B()}))}catch(e){console.error(e)}}}};setTimeout(J,250);const G="v1.2.5"
12
- ;return t})()));
2
+ !function(e,t){'object'==typeof exports&&'object'==typeof module?module.exports=t():'function'==typeof define&&define.amd?define([],t):'object'==typeof exports?exports.NsLoader=t():e.NsLoader=t()}(globalThis,(()=>(()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})}},t={};e.r(t),e.d(t,{cleanUp:()=>q,loadCompressedScript:()=>Y,setConfig:()=>F,unzipSync:()=>B,version:()=>H})
3
+ ;const n=Uint8Array,o=Uint16Array,r=Uint32Array,c=new n([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,0,0,0]),s=new n([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,0,0]),l=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=(e,t)=>{const n=new o(31);for(let o=0;o<31;++o)n[o]=t+=1<<e[o-1];const c=new r(n[30]);for(let e=1;e<30;++e)for(let t=n[e];t<n[e+1];++t)c[t]=t-n[e]<<5|e;return[n,c]},[i,f]=a(c,2);i[28]=258,f[258]=28;const[d,u]=a(s,0),p=new o(32768);for(let e=0;e<32768;++e){let t=(43690&e)>>>1|(21845&e)<<1;t=(52428&t)>>>2|(13107&t)<<2,t=(61680&t)>>>4|(3855&t)<<4,p[e]=((65280&t)>>>8|(255&t)<<8)>>>1}const g=(e,t,n)=>{const r=e.length;let c=0;const s=new o(t);for(;c<r;++c)e[c]&&++s[e[c]-1];const l=new o(t);for(c=0;c<t;++c)l[c]=l[c-1]+s[c-1]<<1;let a
4
+ ;if(n){a=new o(1<<t);const n=15-t;for(c=0;c<r;++c)if(e[c]){const o=c<<4|e[c],r=t-e[c];let s=l[e[c]-1]++<<r;for(const e=s|(1<<r)-1;s<=e;++s)a[p[s]>>>n]=o}}else for(a=new o(r),c=0;c<r;++c)e[c]&&(a[c]=p[l[e[c]-1]++]>>>15-e[c]);return a},y=new n(288);for(let e=0;e<144;++e)y[e]=8;for(let e=144;e<256;++e)y[e]=9;for(let e=256;e<280;++e)y[e]=7;for(let e=280;e<288;++e)y[e]=8;const h=new n(32);for(let e=0;e<32;++e)h[e]=5;const b=g(y,9,1),m=g(h,5,1),w=e=>{let t=e[0];for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},v=(e,t,n)=>{const o=t/8|0;return(e[o]|e[o+1]<<8)>>(7&t)&n},S=(e,t)=>{const n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},C=[,n,o,,r],k=(e,t,n)=>{(!t||t<0)&&(t=0),(!n||n>e.length)&&(n=e.length);const o=new C[e.BYTES_PER_ELEMENT](n-t);return o.set(e.subarray(t,n)),o
5
+ },x=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],$=(e,t,n)=>{const o=new Error(t||x[e]);if(o.code=e,Error.captureStackTrace&&Error.captureStackTrace(o,$),!n)throw o;return o},j=(e,t,o)=>{const r=e.length;if(!r||o&&o.f&&!o.l)return t||new n(0);const a=!t||!!o,f=!o||o.i;!o&&(o={}),!t&&(t=new n(3*r));const u=e=>{let o=t.length;if(e>o){const r=new n(Math.max(2*o,e));r.set(t),t=r}};let p=o.f||0,y=o.p||0,h=o.b||0,C=o.l,x=o.d,j=o.m,E=o.n;const T=8*r;do{if(!C){p=v(e,y,1);const c=v(e,y+1,3);if(y+=3,!c){const n=4+((y+7)/8|0),c=e[n-4]|e[n-3]<<8,s=n+c;if(s>r){f&&$(0);break}
6
+ a&&u(h+c),t.set(e.subarray(n,s),h),o.b=h+=c,o.p=y=8*s,o.f=p;continue}if(1===c)C=b,x=m,j=9,E=5;else if(2===c){const t=v(e,y,31)+257,o=v(e,y+10,15)+4,r=t+v(e,y+5,31)+1;y+=14;const c=new n(r),s=new n(19);for(let t=0;t<o;++t)s[l[t]]=v(e,y+3*t,7);y+=3*o;const a=w(s),i=(1<<a)-1,f=g(s,a,1);for(let t=0;t<r;){const n=f[v(e,y,i)];y+=15&n;const o=n>>>4;if(o<16)c[t++]=o;else{let n=0,r=0;for(16===o?(r=3+v(e,y,3),y+=2,n=c[t-1]):17===o?(r=3+v(e,y,7),y+=3):18===o&&(r=11+v(e,y,127),y+=7);r--;)c[t++]=n}}const d=c.subarray(0,t),u=c.subarray(t);j=w(d),E=w(u),C=g(d,j,1),x=g(u,E,1)}else $(1);if(y>T){f&&$(0);break}}a&&u(h+131072);const k=(1<<j)-1,z=(1<<E)-1;let O=y;for(;;O=y){const n=C[S(e,y)&k],o=n>>>4;if(y+=15&n,y>T){f&&$(0);break}if(n||$(2),o<256)t[h++]=o;else{if(256===o){O=y,C=void 0;break}{let n=o-254
7
+ ;if(o>264){const t=o-257,r=c[t];n=v(e,y,(1<<r)-1)+i[t],y+=r}const r=x[S(e,y)&z],l=r>>>4;r||$(3),y+=15&r;let p=d[l];if(l>3){const t=s[l];p+=S(e,y)&(1<<t)-1,y+=t}if(y>T){f&&$(0);break}a&&u(h+131072);const g=h+n;for(;h<g;h+=4)t[h]=t[h-p],t[h+1]=t[h+1-p],t[h+2]=t[h+2-p],t[h+3]=t[h+3-p];h=g}}}o.l=C,o.p=O,o.b=h,o.f=p,C&&(p=1,o.m=j,o.d=x,o.n=E)}while(!p);return h===t.length?t:k(t,0,h)},E=(e,t)=>e[t]|e[t+1]<<8,T=(e,t)=>(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0,z=(e,t)=>T(e,t)+4294967296*T(e,t+4),O=(e,t)=>t+30+E(e,t+26)+E(e,t+28),U=(e,t,n)=>{const o=!(2048&E(e,t+8)),r=E(e,t+28),c=M(e.subarray(t+46,t+46+r),o),s=t+46+r,l=T(e,t+20),[a,i,f]=n&&4294967295===l?P(e,s):[l,T(e,t+24),T(e,t+42)],d=s+E(e,t+30);return[E(e,t+10),a,i,c,s+E(e,t+30)+E(e,t+32),f,M(e.subarray(d,d+E(e,t+32)),o)]},P=(e,t)=>{
8
+ for(;1!=E(e,t);t+=4+E(e,t+2));return[z(e,t+12),z(e,t+4),z(e,t+20)]};let A;const L=new n(0);try{const e=new TextDecoder;e.decode(L,{stream:!0}),A=e}catch(e){}function M(e,t){if(t){let t="";for(let n=0;n<e.length;n+=16384)t+=String.fromCharCode.apply(null,e.subarray(n,n+16384));return t}if(A)return A.decode(e);{const[t,n]=(e=>{for(let t="",n=0;;){let o=e[n++];const r=+(o>127)+ +(o>223)+ +(o>239);if(n+r>e.length)return[t,k(e,n-1)];r?3===r?(o=((15&o)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536,t+=String.fromCharCode(55296|o>>10,56320|1023&o)):t+=1&r?String.fromCharCode((31&o)<<6|63&e[n++]):String.fromCharCode((15&o)<<12|(63&e[n++])<<6|63&e[n++]):t+=String.fromCharCode(o)}})(e);return n.length&&$(8),t}}let N,R,_=new TextDecoder,B=function(e,t){const o={};let r=e.length-22
9
+ ;for(;101010256!=T(e,r);--r)(!r||e.length-r>65558)&&$(13);let c=E(e,r+8);if(!c)return{};let s=T(e,r+16);const l=4294967295===s;l&&(r=T(e,r-12),101075792!=T(e,r)&&$(13),c=T(e,r+32),s=T(e,r+48));const a=t&&t.filter;for(let t=0;t<c;++t){const[t,r,c,i,f,d,u]=U(e,s,l),p=O(e,d);if(s=f,!a||a({name:i,size:r,originalSize:c,compression:t})){let s;t?8===t?s=j(e.subarray(p,p+r),new n(c)):$(14,"unknown compression type "+t):s=k(e,p,p+r),s&&(o[i]={data:s,comment:u})}}return o},q=()=>{_=void 0,J=F=Y=q=void 0,N=R=void 0,D=B=void 0},D=e=>{const t=/^(?:sha\d{3}-)?([a-z0-9+/=]{44,88})$/i.exec(e);if(t){const n=(e=t[1]).length;if(!(88^n&&64^n&&44^n))return`sha${64==n?384:88==n?512:256}-${e}`}},F=(e,t)=>{N=e,R=t||""},J=(e,t,n,o)=>{const r=()=>{n(),console.log(`script ${t} is ready`)}
10
+ ;let c=R?document.querySelector(R).nextSibling:void 0;const s=document.head[c?"insertBefore":"appendChild"](document.createElement("script"),c);if(s.id=t,o){const t=URL.createObjectURL(new Blob([e],{type:"text/javascript"}));s.integrity=o,s.onload=r,s.src=t}else s.text=e,r()},Y=async(e,t=console.log)=>{const n=e+".zip",o=await fetch(`${N||"."}/${n}`).then((async e=>{const n=!!e.headers.get("content-encoding"),o=e.body.getReader(),r=(c=+e.headers.get("content-length"),n?1.3*c|0:c);var c;const s=new Uint8Array(r);let l=0;for(;;){const e=await o.read();if(e.done)break;s.set(e.value,l),l+=e.value.length,t(`loading zip: ${l.toLocaleString()} bytes(${Math.round(l/r*100)}%)`)}return n?s.slice(0,l):s})).catch((e=>(console.error(e),null)));if(o&&o.length){t(`loaded ${n}, decompressing binary...`),
11
+ console.time(`unzip: ${n}`);const e=B(o);return console.timeEnd(`unzip: ${n}`),t(`${n} decompressed 😃`),new Promise((t=>{const n=Object.keys(e);let o=n.length;const r=()=>{!--o&&t()};for(let t=0;t<n.length;){const o=n[t++],c=e[o];J(_.decode(c.data,{stream:!1}),o,r,D(c.comment))}}))}},G=()=>{G=void 0;const e=document.querySelector("script[data-csl-config]");if(e){const t=e.dataset.cslConfig;if(t){const e=JSON.parse(t);let n;"object"==typeof e?(F(e.base,e.selector),n=e.load):n=Array.isArray(e)?e:"string"==typeof e?[e]:[];try{const t=[];for(const e of n)t.push(Y(e));Promise.all(t).then((()=>{const t="function"==typeof cslCallback?cslCallback:window[e.callback||"cslCallback"];"function"==typeof t&&t(),q()}))}catch(e){console.error(e)}}}};setTimeout(G,250);const H="v1.2.8";return t})()));
package/unzip-sync.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export declare function strFromU8(dat: Uint8Array, latin1?: boolean): string;
2
- export declare function inflateSync(data: Uint8Array, out?: Uint8Array): Uint8Array;
3
2
  export interface FlateError extends Error {
4
3
  code: number;
5
4
  }
package/webpack/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  /*! For license information please see index.js.LICENSE.txt */
2
- (()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})}},t={};e.r(t),e.d(t,{cleanUp:()=>N,loadCompressedScript:()=>Y,setConfig:()=>D,unzipSync:()=>B,version:()=>G});const n=Uint8Array,o=Uint16Array,r=Uint32Array,c=new n([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,0,0,0]),l=new n([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,0,0]),s=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=(e,t)=>{const n=new o(31);for(let o=0;o<31;++o)n[o]=t+=1<<e[o-1];const c=new r(n[30])
3
- ;for(let e=1;e<30;++e)for(let t=n[e];t<n[e+1];++t)c[t]=t-n[e]<<5|e;return[n,c]},[i,f]=a(c,2);i[28]=258,f[258]=28;const[d,u]=a(l,0),g=new o(32768);for(let e=0;e<32768;++e){let t=(43690&e)>>>1|(21845&e)<<1;t=(52428&t)>>>2|(13107&t)<<2,t=(61680&t)>>>4|(3855&t)<<4,g[e]=((65280&t)>>>8|(255&t)<<8)>>>1}const h=(e,t,n)=>{const r=e.length;let c=0;const l=new o(t);for(;c<r;++c)e[c]&&++l[e[c]-1];const s=new o(t);for(c=0;c<t;++c)s[c]=s[c-1]+l[c-1]<<1;let a;if(n){a=new o(1<<t);const n=15-t;for(c=0;c<r;++c)if(e[c]){const o=c<<4|e[c],r=t-e[c];let l=s[e[c]-1]++<<r;for(const e=l|(1<<r)-1;l<=e;++l)a[g[l]>>>n]=o}}else for(a=new o(r),c=0;c<r;++c)e[c]&&(a[c]=g[s[e[c]-1]++]>>>15-e[c]);return a},p=new n(288);for(let e=0;e<144;++e)p[e]=8;for(let e=144;e<256;++e)p[e]=9;for(let e=256;e<280;++e)p[e]=7
4
- ;for(let e=280;e<288;++e)p[e]=8;const y=new n(32);for(let e=0;e<32;++e)y[e]=5;const b=h(p,9,1),m=h(y,5,1),w=e=>{let t=e[0];for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},v=(e,t,n)=>{const o=t/8|0;return(e[o]|e[o+1]<<8)>>(7&t)&n},S=(e,t)=>{const n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},C=(e,t,c)=>{(null==t||t<0)&&(t=0),(null==c||c>e.length)&&(c=e.length);const l=new(2==e.BYTES_PER_ELEMENT?o:4==e.BYTES_PER_ELEMENT?r:n)(c-t);return l.set(e.subarray(t,c)),l},k=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=(e,t,n)=>{const o=new Error(t||k[e]);if(o.code=e,
5
- Error.captureStackTrace&&Error.captureStackTrace(o,E),!n)throw o;return o},T=(e,t,o)=>{const r=e.length;if(!r||o&&o.f&&!o.l)return t||new n(0);const a=!t||!!o,f=!o||o.i;!o&&(o={}),!t&&(t=new n(3*r));const u=e=>{let o=t.length;if(e>o){const r=new n(Math.max(2*o,e));r.set(t),t=r}};let g=o.f||0,p=o.p||0,y=o.b||0,k=o.l,T=o.d,$=o.m,x=o.n;const z=8*r;do{if(!k){g=v(e,p,1);const c=v(e,p+1,3);if(p+=3,!c){const n=4+((p+7)/8|0),c=e[n-4]|e[n-3]<<8,l=n+c;if(l>r){f&&E(0);break}a&&u(y+c),t.set(e.subarray(n,l),y),o.b=y+=c,o.p=p=8*l,o.f=g;continue}if(1==c)k=b,T=m,$=9,x=5;else if(2==c){const t=v(e,p,31)+257,o=v(e,p+10,15)+4,r=t+v(e,p+5,31)+1;p+=14;const c=new n(r),l=new n(19);for(let t=0;t<o;++t)l[s[t]]=v(e,p+3*t,7);p+=3*o;const a=w(l),i=(1<<a)-1,f=h(l,a,1);for(let t=0;t<r;){const n=f[v(e,p,i)];p+=15&n
6
- ;const o=n>>>4;if(o<16)c[t++]=o;else{let n=0,r=0;for(16==o?(r=3+v(e,p,3),p+=2,n=c[t-1]):17==o?(r=3+v(e,p,7),p+=3):18==o&&(r=11+v(e,p,127),p+=7);r--;)c[t++]=n}}const d=c.subarray(0,t),u=c.subarray(t);$=w(d),x=w(u),k=h(d,$,1),T=h(u,x,1)}else E(1);if(p>z){f&&E(0);break}}a&&u(y+131072);const C=(1<<$)-1,O=(1<<x)-1;let P=p;for(;;P=p){const n=k[S(e,p)&C],o=n>>>4;if(p+=15&n,p>z){f&&E(0);break}if(n||E(2),o<256)t[y++]=o;else{if(256==o){P=p,k=void 0;break}{let n=o-254;if(o>264){const t=o-257,r=c[t];n=v(e,p,(1<<r)-1)+i[t],p+=r}const r=T[S(e,p)&O],s=r>>>4;r||E(3),p+=15&r;let g=d[s];if(s>3){const t=l[s];g+=S(e,p)&(1<<t)-1,p+=t}if(p>z){f&&E(0);break}a&&u(y+131072);const h=y+n;for(;y<h;y+=4)t[y]=t[y-g],t[y+1]=t[y+1-g],t[y+2]=t[y+2-g],t[y+3]=t[y+3-g];y=h}}}o.l=k,o.p=P,o.b=y,o.f=g,k&&(g=1,o.m=$,o.d=T,o.n=x)
7
- }while(!g);return y==t.length?t:C(t,0,y)},$=(e,t)=>e[t]|e[t+1]<<8,x=(e,t)=>(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0,z=(e,t)=>x(e,t)+4294967296*x(e,t+4),O=(e,t)=>t+30+$(e,t+26)+$(e,t+28),P=(e,t,n)=>{const o=!(2048&$(e,t+8)),r=$(e,t+28),c=_(e.subarray(t+46,t+46+r),o),l=t+46+r,s=x(e,t+20),[a,i,f]=n&&4294967295==s?U(e,l):[s,x(e,t+24),x(e,t+42)],d=l+$(e,t+30);return[$(e,t+10),a,i,c,l+$(e,t+30)+$(e,t+32),f,_(e.subarray(d,d+$(e,t+32)),o)]},U=(e,t)=>{for(;1!=$(e,t);t+=4+$(e,t+2));return[z(e,t+12),z(e,t+4),z(e,t+20)]};let j;const M=new n(0);try{const e=new TextDecoder;e.decode(M,{stream:!0}),j=e}catch(e){}function _(e,t){if(t){let t="";for(let n=0;n<e.length;n+=16384)t+=String.fromCharCode.apply(null,e.subarray(n,n+16384));return t}if(j)return j.decode(e);{const[t,n]=(e=>{for(let t="",n=0;;){
8
- let o=e[n++];const r=+(o>127)+ +(o>223)+ +(o>239);if(n+r>e.length)return[t,C(e,n-1)];r?3==r?(o=((15&o)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536,t+=String.fromCharCode(55296|o>>10,56320|1023&o)):t+=1&r?String.fromCharCode((31&o)<<6|63&e[n++]):String.fromCharCode((15&o)<<12|(63&e[n++])<<6|63&e[n++]):t+=String.fromCharCode(o)}})(e);return n.length&&E(8),t}}let L,R,A=new TextDecoder,B=function(e,t){const o={};let r=e.length-22;for(;101010256!=x(e,r);--r)(!r||e.length-r>65558)&&E(13);let c=$(e,r+8);if(!c)return{};let l=x(e,r+16);const s=4294967295==l;s&&(r=x(e,r-12),101075792!=x(e,r)&&E(13),c=x(e,r+32),l=x(e,r+48));const a=t&&t.filter;for(let t=0;t<c;++t){const[t,r,c,i,f,d,u]=P(e,l,s),g=O(e,d);if(l=f,!a||a({name:i,size:r,originalSize:c,compression:t})){let l
9
- ;t?8===t?l=T(e.subarray(g,g+r),new n(c)):E(14,"unknown compression type "+t):l=C(e,g,g+r),l&&(o[i]={data:l,comment:u})}}return o},N=()=>{A=void 0,F=D=Y=N=void 0,L=R=void 0,q=B=void 0},q=e=>{const t=/^(?:sha\d\d\d-)?([a-z0-9+/=]{44,88})$/i.exec(e);if(t){const n=(e=t[1]).length;if(88===n||64===n||44===n)return`sha${64===n?384:88===n?512:256}-${e}`}},D=(e,t)=>{L=e,R=t||""},F=(e,t,n,o)=>{const r=()=>{n(),console.log(`script ${t} is ready`)};let c=R?document.querySelector(R).nextSibling:void 0;const l=document.head[c?"insertBefore":"appendChild"](document.createElement("script"),c);if(l.id=t,o){const t=URL.createObjectURL(new Blob([e],{type:"text/javascript"}));l.integrity=o,l.onload=r,l.src=t}else l.text=e,r()},Y=async(e,t=console.log)=>{
10
- const n=e+".zip",o=await fetch(`${L||"."}/${n}`).then((async e=>{const n=!!e.headers.get("content-encoding"),o=e.body.getReader(),r=(c=+e.headers.get("content-length"),n?1.3*c|0:c);var c;const l=new Uint8Array(r);let s=0;for(;;){const e=await o.read();if(e.done)break;l.set(e.value,s),s+=e.value.length,t(`loading zip: ${s.toLocaleString()} bytes(${Math.round(s/r*100)}%)`)}return n?l.slice(0,s):l})).catch((e=>(console.error(e),null)));if(o&&o.length){t(`loaded ${n}, decompressing binary...`),console.time(`unzip: ${n}`);const e=B(o);return console.timeEnd(`unzip: ${n}`),t(`${n} decompressed 😃`),new Promise((t=>{const n=Object.keys(e);let o=n.length;const r=()=>{!--o&&t()};for(let t=0;t<n.length;){const o=n[t++],c=e[o];F(A.decode(c.data,{stream:!1}),o,r,q(c.comment))}}))}},J=()=>{J=void 0
11
- ;const e=document.querySelector("script[data-csl-config]");if(e){const t=e.dataset.cslConfig;if(t){const e=JSON.parse(t);D(e.base,e.selector);try{const t=[];for(const n of e.load)t.push(Y(n));Promise.all(t).then((()=>{let t;t="function"==typeof cslCallback?cslCallback:window[e.callback||"cslCallback"],"function"==typeof t&&t(),N()}))}catch(e){console.error(e)}}}};setTimeout(J,250);const G="v1.2.5";module.exports=t})();
2
+ (()=>{"use strict";var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{'undefined'!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:'Module'}),Object.defineProperty(e,'__esModule',{value:!0})}},t={};e.r(t),e.d(t,{cleanUp:()=>D,loadCompressedScript:()=>Y,setConfig:()=>N,unzipSync:()=>q,version:()=>H});const n=Uint8Array,o=Uint16Array,r=Uint32Array,c=new n([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,0,0,0]),s=new n([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,0,0]),l=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=(e,t)=>{const n=new o(31);for(let o=0;o<31;++o)n[o]=t+=1<<e[o-1];const c=new r(n[30])
3
+ ;for(let e=1;e<30;++e)for(let t=n[e];t<n[e+1];++t)c[t]=t-n[e]<<5|e;return[n,c]},[i,f]=a(c,2);i[28]=258,f[258]=28;const[d,u]=a(s,0),g=new o(32768);for(let e=0;e<32768;++e){let t=(43690&e)>>>1|(21845&e)<<1;t=(52428&t)>>>2|(13107&t)<<2,t=(61680&t)>>>4|(3855&t)<<4,g[e]=((65280&t)>>>8|(255&t)<<8)>>>1}const h=(e,t,n)=>{const r=e.length;let c=0;const s=new o(t);for(;c<r;++c)e[c]&&++s[e[c]-1];const l=new o(t);for(c=0;c<t;++c)l[c]=l[c-1]+s[c-1]<<1;let a;if(n){a=new o(1<<t);const n=15-t;for(c=0;c<r;++c)if(e[c]){const o=c<<4|e[c],r=t-e[c];let s=l[e[c]-1]++<<r;for(const e=s|(1<<r)-1;s<=e;++s)a[g[s]>>>n]=o}}else for(a=new o(r),c=0;c<r;++c)e[c]&&(a[c]=g[l[e[c]-1]++]>>>15-e[c]);return a},p=new n(288);for(let e=0;e<144;++e)p[e]=8;for(let e=144;e<256;++e)p[e]=9;for(let e=256;e<280;++e)p[e]=7
4
+ ;for(let e=280;e<288;++e)p[e]=8;const y=new n(32);for(let e=0;e<32;++e)y[e]=5;const b=h(p,9,1),m=h(y,5,1),w=e=>{let t=e[0];for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},v=(e,t,n)=>{const o=t/8|0;return(e[o]|e[o+1]<<8)>>(7&t)&n},S=(e,t)=>{const n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},C=[,n,o,,r],k=(e,t,n)=>{(!t||t<0)&&(t=0),(!n||n>e.length)&&(n=e.length);const o=new C[e.BYTES_PER_ELEMENT](n-t);return o.set(e.subarray(t,n)),o},$=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=(e,t,n)=>{const o=new Error(t||$[e]);if(o.code=e,
5
+ Error.captureStackTrace&&Error.captureStackTrace(o,E),!n)throw o;return o},x=(e,t,o)=>{const r=e.length;if(!r||o&&o.f&&!o.l)return t||new n(0);const a=!t||!!o,f=!o||o.i;!o&&(o={}),!t&&(t=new n(3*r));const u=e=>{let o=t.length;if(e>o){const r=new n(Math.max(2*o,e));r.set(t),t=r}};let g=o.f||0,p=o.p||0,y=o.b||0,C=o.l,$=o.d,x=o.m,T=o.n;const z=8*r;do{if(!C){g=v(e,p,1);const c=v(e,p+1,3);if(p+=3,!c){const n=4+((p+7)/8|0),c=e[n-4]|e[n-3]<<8,s=n+c;if(s>r){f&&E(0);break}a&&u(y+c),t.set(e.subarray(n,s),y),o.b=y+=c,o.p=p=8*s,o.f=g;continue}if(1===c)C=b,$=m,x=9,T=5;else if(2===c){const t=v(e,p,31)+257,o=v(e,p+10,15)+4,r=t+v(e,p+5,31)+1;p+=14;const c=new n(r),s=new n(19);for(let t=0;t<o;++t)s[l[t]]=v(e,p+3*t,7);p+=3*o;const a=w(s),i=(1<<a)-1,f=h(s,a,1);for(let t=0;t<r;){const n=f[v(e,p,i)];p+=15&n
6
+ ;const o=n>>>4;if(o<16)c[t++]=o;else{let n=0,r=0;for(16===o?(r=3+v(e,p,3),p+=2,n=c[t-1]):17===o?(r=3+v(e,p,7),p+=3):18===o&&(r=11+v(e,p,127),p+=7);r--;)c[t++]=n}}const d=c.subarray(0,t),u=c.subarray(t);x=w(d),T=w(u),C=h(d,x,1),$=h(u,T,1)}else E(1);if(p>z){f&&E(0);break}}a&&u(y+131072);const k=(1<<x)-1,O=(1<<T)-1;let j=p;for(;;j=p){const n=C[S(e,p)&k],o=n>>>4;if(p+=15&n,p>z){f&&E(0);break}if(n||E(2),o<256)t[y++]=o;else{if(256===o){j=p,C=void 0;break}{let n=o-254;if(o>264){const t=o-257,r=c[t];n=v(e,p,(1<<r)-1)+i[t],p+=r}const r=$[S(e,p)&O],l=r>>>4;r||E(3),p+=15&r;let g=d[l];if(l>3){const t=s[l];g+=S(e,p)&(1<<t)-1,p+=t}if(p>z){f&&E(0);break}a&&u(y+131072);const h=y+n;for(;y<h;y+=4)t[y]=t[y-g],t[y+1]=t[y+1-g],t[y+2]=t[y+2-g],t[y+3]=t[y+3-g];y=h}}}o.l=C,o.p=j,o.b=y,o.f=g,C&&(g=1,o.m=x,o.d=$,
7
+ o.n=T)}while(!g);return y===t.length?t:k(t,0,y)},T=(e,t)=>e[t]|e[t+1]<<8,z=(e,t)=>(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0,O=(e,t)=>z(e,t)+4294967296*z(e,t+4),j=(e,t)=>t+30+T(e,t+26)+T(e,t+28),U=(e,t,n)=>{const o=!(2048&T(e,t+8)),r=T(e,t+28),c=L(e.subarray(t+46,t+46+r),o),s=t+46+r,l=z(e,t+20),[a,i,f]=n&&4294967295===l?P(e,s):[l,z(e,t+24),z(e,t+42)],d=s+T(e,t+30);return[T(e,t+10),a,i,c,s+T(e,t+30)+T(e,t+32),f,L(e.subarray(d,d+T(e,t+32)),o)]},P=(e,t)=>{for(;1!=T(e,t);t+=4+T(e,t+2));return[O(e,t+12),O(e,t+4),O(e,t+20)]};let A;const M=new n(0);try{const e=new TextDecoder;e.decode(M,{stream:!0}),A=e}catch(e){}function L(e,t){if(t){let t="";for(let n=0;n<e.length;n+=16384)t+=String.fromCharCode.apply(null,e.subarray(n,n+16384));return t}if(A)return A.decode(e);{const[t,n]=(e=>{
8
+ for(let t="",n=0;;){let o=e[n++];const r=+(o>127)+ +(o>223)+ +(o>239);if(n+r>e.length)return[t,k(e,n-1)];r?3===r?(o=((15&o)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536,t+=String.fromCharCode(55296|o>>10,56320|1023&o)):t+=1&r?String.fromCharCode((31&o)<<6|63&e[n++]):String.fromCharCode((15&o)<<12|(63&e[n++])<<6|63&e[n++]):t+=String.fromCharCode(o)}})(e);return n.length&&E(8),t}}let R,_,B=new TextDecoder,q=function(e,t){const o={};let r=e.length-22;for(;101010256!=z(e,r);--r)(!r||e.length-r>65558)&&E(13);let c=T(e,r+8);if(!c)return{};let s=z(e,r+16);const l=4294967295===s;l&&(r=z(e,r-12),101075792!=z(e,r)&&E(13),c=z(e,r+32),s=z(e,r+48));const a=t&&t.filter;for(let t=0;t<c;++t){const[t,r,c,i,f,d,u]=U(e,s,l),g=j(e,d);if(s=f,!a||a({name:i,size:r,originalSize:c,compression:t})){let s
9
+ ;t?8===t?s=x(e.subarray(g,g+r),new n(c)):E(14,"unknown compression type "+t):s=k(e,g,g+r),s&&(o[i]={data:s,comment:u})}}return o},D=()=>{B=void 0,J=N=Y=D=void 0,R=_=void 0,F=q=void 0},F=e=>{const t=/^(?:sha\d{3}-)?([a-z0-9+/=]{44,88})$/i.exec(e);if(t){const n=(e=t[1]).length;if(!(88^n&&64^n&&44^n))return`sha${64==n?384:88==n?512:256}-${e}`}},N=(e,t)=>{R=e,_=t||""},J=(e,t,n,o)=>{const r=()=>{n(),console.log(`script ${t} is ready`)};let c=_?document.querySelector(_).nextSibling:void 0;const s=document.head[c?"insertBefore":"appendChild"](document.createElement("script"),c);if(s.id=t,o){const t=URL.createObjectURL(new Blob([e],{type:"text/javascript"}));s.integrity=o,s.onload=r,s.src=t}else s.text=e,r()},Y=async(e,t=console.log)=>{
10
+ const n=e+".zip",o=await fetch(`${R||"."}/${n}`).then((async e=>{const n=!!e.headers.get("content-encoding"),o=e.body.getReader(),r=(c=+e.headers.get("content-length"),n?1.3*c|0:c);var c;const s=new Uint8Array(r);let l=0;for(;;){const e=await o.read();if(e.done)break;s.set(e.value,l),l+=e.value.length,t(`loading zip: ${l.toLocaleString()} bytes(${Math.round(l/r*100)}%)`)}return n?s.slice(0,l):s})).catch((e=>(console.error(e),null)));if(o&&o.length){t(`loaded ${n}, decompressing binary...`),console.time(`unzip: ${n}`);const e=q(o);return console.timeEnd(`unzip: ${n}`),t(`${n} decompressed 😃`),new Promise((t=>{const n=Object.keys(e);let o=n.length;const r=()=>{!--o&&t()};for(let t=0;t<n.length;){const o=n[t++],c=e[o];J(B.decode(c.data,{stream:!1}),o,r,F(c.comment))}}))}},G=()=>{G=void 0
11
+ ;const e=document.querySelector("script[data-csl-config]");if(e){const t=e.dataset.cslConfig;if(t){const e=JSON.parse(t);let n;"object"==typeof e?(N(e.base,e.selector),n=e.load):n=Array.isArray(e)?e:"string"==typeof e?[e]:[];try{const t=[];for(const e of n)t.push(Y(e));Promise.all(t).then((()=>{const t="function"==typeof cslCallback?cslCallback:window[e.callback||"cslCallback"];"function"==typeof t&&t(),D()}))}catch(e){console.error(e)}}}};setTimeout(G,250);const H="v1.2.8";module.exports=t})();
@@ -1,11 +1,11 @@
1
1
  /*! For license information please see index.mjs.LICENSE.txt */
2
- var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};e.d(t,{Lx:()=>_,aN:()=>G,v6:()=>D,GZ:()=>M,i8:()=>Z});const n=Uint8Array,o=Uint16Array,r=Uint32Array,c=new n([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,0,0,0]),s=new n([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,0,0]),l=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),a=(e,t)=>{const n=new o(31);for(let o=0;o<31;++o)n[o]=t+=1<<e[o-1];const c=new r(n[30]);for(let e=1;e<30;++e)for(let t=n[e];t<n[e+1];++t)c[t]=t-n[e]<<5|e;return[n,c]},[i,f]=a(c,2);i[28]=258,f[258]=28;const[d,u]=a(s,0),h=new o(32768);for(let e=0;e<32768;++e){let t=(43690&e)>>>1|(21845&e)<<1;t=(52428&t)>>>2|(13107&t)<<2,
3
- t=(61680&t)>>>4|(3855&t)<<4,h[e]=((65280&t)>>>8|(255&t)<<8)>>>1}const g=(e,t,n)=>{const r=e.length;let c=0;const s=new o(t);for(;c<r;++c)e[c]&&++s[e[c]-1];const l=new o(t);for(c=0;c<t;++c)l[c]=l[c-1]+s[c-1]<<1;let a;if(n){a=new o(1<<t);const n=15-t;for(c=0;c<r;++c)if(e[c]){const o=c<<4|e[c],r=t-e[c];let s=l[e[c]-1]++<<r;for(const e=s|(1<<r)-1;s<=e;++s)a[h[s]>>>n]=o}}else for(a=new o(r),c=0;c<r;++c)e[c]&&(a[c]=h[l[e[c]-1]++]>>>15-e[c]);return a},p=new n(288);for(let e=0;e<144;++e)p[e]=8;for(let e=144;e<256;++e)p[e]=9;for(let e=256;e<280;++e)p[e]=7;for(let e=280;e<288;++e)p[e]=8;const m=new n(32);for(let e=0;e<32;++e)m[e]=5;const b=g(p,9,1),w=g(m,5,1),y=e=>{let t=e[0];for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},v=(e,t,n)=>{const o=t/8|0;return(e[o]|e[o+1]<<8)>>(7&t)&n},C=(e,t)=>{
4
- const n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},S=(e,t,c)=>{(null==t||t<0)&&(t=0),(null==c||c>e.length)&&(c=e.length);const s=new(2==e.BYTES_PER_ELEMENT?o:4==e.BYTES_PER_ELEMENT?r:n)(c-t);return s.set(e.subarray(t,c)),s},k=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],E=(e,t,n)=>{const o=new Error(t||k[e]);if(o.code=e,Error.captureStackTrace&&Error.captureStackTrace(o,E),!n)throw o;return o},x=(e,t,o)=>{const r=e.length;if(!r||o&&o.f&&!o.l)return t||new n(0);const a=!t||!!o,f=!o||o.i;!o&&(o={}),!t&&(t=new n(3*r));const u=e=>{let o=t.length;if(e>o){
5
- const r=new n(Math.max(2*o,e));r.set(t),t=r}};let h=o.f||0,p=o.p||0,m=o.b||0,k=o.l,x=o.d,$=o.m,T=o.n;const z=8*r;do{if(!k){h=v(e,p,1);const c=v(e,p+1,3);if(p+=3,!c){const n=4+((p+7)/8|0),c=e[n-4]|e[n-3]<<8,s=n+c;if(s>r){f&&E(0);break}a&&u(m+c),t.set(e.subarray(n,s),m),o.b=m+=c,o.p=p=8*s,o.f=h;continue}if(1==c)k=b,x=w,$=9,T=5;else if(2==c){const t=v(e,p,31)+257,o=v(e,p+10,15)+4,r=t+v(e,p+5,31)+1;p+=14;const c=new n(r),s=new n(19);for(let t=0;t<o;++t)s[l[t]]=v(e,p+3*t,7);p+=3*o;const a=y(s),i=(1<<a)-1,f=g(s,a,1);for(let t=0;t<r;){const n=f[v(e,p,i)];p+=15&n;const o=n>>>4;if(o<16)c[t++]=o;else{let n=0,r=0;for(16==o?(r=3+v(e,p,3),p+=2,n=c[t-1]):17==o?(r=3+v(e,p,7),p+=3):18==o&&(r=11+v(e,p,127),p+=7);r--;)c[t++]=n}}const d=c.subarray(0,t),u=c.subarray(t);$=y(d),T=y(u),k=g(d,$,1),x=g(u,T,1)
6
- }else E(1);if(p>z){f&&E(0);break}}a&&u(m+131072);const S=(1<<$)-1,U=(1<<T)-1;let L=p;for(;;L=p){const n=k[C(e,p)&S],o=n>>>4;if(p+=15&n,p>z){f&&E(0);break}if(n||E(2),o<256)t[m++]=o;else{if(256==o){L=p,k=void 0;break}{let n=o-254;if(o>264){const t=o-257,r=c[t];n=v(e,p,(1<<r)-1)+i[t],p+=r}const r=x[C(e,p)&U],l=r>>>4;r||E(3),p+=15&r;let h=d[l];if(l>3){const t=s[l];h+=C(e,p)&(1<<t)-1,p+=t}if(p>z){f&&E(0);break}a&&u(m+131072);const g=m+n;for(;m<g;m+=4)t[m]=t[m-h],t[m+1]=t[m+1-h],t[m+2]=t[m+2-h],t[m+3]=t[m+3-h];m=g}}}o.l=k,o.p=L,o.b=m,o.f=h,k&&(h=1,o.m=$,o.d=x,o.n=T)}while(!h);return m==t.length?t:S(t,0,m)},$=(e,t)=>e[t]|e[t+1]<<8,T=(e,t)=>(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0,z=(e,t)=>T(e,t)+4294967296*T(e,t+4),U=(e,t)=>t+30+$(e,t+26)+$(e,t+28),L=(e,t,n)=>{
7
- const o=!(2048&$(e,t+8)),r=$(e,t+28),c=N(e.subarray(t+46,t+46+r),o),s=t+46+r,l=T(e,t+20),[a,i,f]=n&&4294967295==l?O(e,s):[l,T(e,t+24),T(e,t+42)],d=s+$(e,t+30);return[$(e,t+10),a,i,c,s+$(e,t+30)+$(e,t+32),f,N(e.subarray(d,d+$(e,t+32)),o)]},O=(e,t)=>{for(;1!=$(e,t);t+=4+$(e,t+2));return[z(e,t+12),z(e,t+4),z(e,t+20)]};let P;const j=new n(0);try{const e=new TextDecoder;e.decode(j,{stream:!0}),P=e}catch(e){}function N(e,t){if(t){let t="";for(let n=0;n<e.length;n+=16384)t+=String.fromCharCode.apply(null,e.subarray(n,n+16384));return t}if(P)return P.decode(e);{const[t,n]=(e=>{for(let t="",n=0;;){let o=e[n++];const r=+(o>127)+ +(o>223)+ +(o>239);if(n+r>e.length)return[t,S(e,n-1)];r?3==r?(o=((15&o)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536,
8
- t+=String.fromCharCode(55296|o>>10,56320|1023&o)):t+=1&r?String.fromCharCode((31&o)<<6|63&e[n++]):String.fromCharCode((15&o)<<12|(63&e[n++])<<6|63&e[n++]):t+=String.fromCharCode(o)}})(e);return n.length&&E(8),t}}let R,A,B=new TextDecoder,M=function(e,t){const o={};let r=e.length-22;for(;101010256!=T(e,r);--r)(!r||e.length-r>65558)&&E(13);let c=$(e,r+8);if(!c)return{};let s=T(e,r+16);const l=4294967295==s;l&&(r=T(e,r-12),101075792!=T(e,r)&&E(13),c=T(e,r+32),s=T(e,r+48));const a=t&&t.filter;for(let t=0;t<c;++t){const[t,r,c,i,f,d,u]=L(e,s,l),h=U(e,d);if(s=f,!a||a({name:i,size:r,originalSize:c,compression:t})){let s;t?8===t?s=x(e.subarray(h,h+r),new n(c)):E(14,"unknown compression type "+t):s=S(e,h,h+r),s&&(o[i]={data:s,comment:u})}}return o},_=()=>{B=void 0,F=D=G=_=void 0,R=A=void 0,
9
- q=M=void 0},q=e=>{const t=/^(?:sha\d\d\d-)?([a-z0-9+/=]{44,88})$/i.exec(e);if(t){const n=(e=t[1]).length;if(88===n||64===n||44===n)return`sha${64===n?384:88===n?512:256}-${e}`}},D=(e,t)=>{R=e,A=t||""},F=(e,t,n,o)=>{const r=()=>{n(),console.log(`script ${t} is ready`)};let c=A?document.querySelector(A).nextSibling:void 0;const s=document.head[c?"insertBefore":"appendChild"](document.createElement("script"),c);if(s.id=t,o){const t=URL.createObjectURL(new Blob([e],{type:"text/javascript"}));s.integrity=o,s.onload=r,s.src=t}else s.text=e,r()},G=async(e,t=console.log)=>{const n=e+".zip",o=await fetch(`${R||"."}/${n}`).then((async e=>{const n=!!e.headers.get("content-encoding"),o=e.body.getReader(),r=(c=+e.headers.get("content-length"),n?1.3*c|0:c);var c;const s=new Uint8Array(r);let l=0
10
- ;for(;;){const e=await o.read();if(e.done)break;s.set(e.value,l),l+=e.value.length,t(`loading zip: ${l.toLocaleString()} bytes(${Math.round(l/r*100)}%)`)}return n?s.slice(0,l):s})).catch((e=>(console.error(e),null)));if(o&&o.length){t(`loaded ${n}, decompressing binary...`),console.time(`unzip: ${n}`);const e=M(o);return console.timeEnd(`unzip: ${n}`),t(`${n} decompressed 😃`),new Promise((t=>{const n=Object.keys(e);let o=n.length;const r=()=>{!--o&&t()};for(let t=0;t<n.length;){const o=n[t++],c=e[o];F(B.decode(c.data,{stream:!1}),o,r,q(c.comment))}}))}},Y=()=>{Y=void 0;const e=document.querySelector("script[data-csl-config]");if(e){const t=e.dataset.cslConfig;if(t){const e=JSON.parse(t);D(e.base,e.selector);try{const t=[];for(const n of e.load)t.push(G(n));Promise.all(t).then((()=>{let t
11
- ;t="function"==typeof cslCallback?cslCallback:window[e.callback||"cslCallback"],"function"==typeof t&&t(),_()}))}catch(e){console.error(e)}}}};setTimeout(Y,250);const Z="v1.2.5";var J=t.Lx,H=t.aN,I=t.v6,K=t.GZ,Q=t.i8;export{J as cleanUp,H as loadCompressedScript,I as setConfig,K as unzipSync,Q as version};
2
+ var e={d:(t,n)=>{for(var o in n)e.o(n,o)&&!e.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:n[o]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t)},t={};e.d(t,{Lx:()=>D,aN:()=>_,v6:()=>G,GZ:()=>q,i8:()=>Y});const n=Uint8Array,o=Uint16Array,r=Uint32Array,c=new n([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,0,0,0]),s=new n([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,0,0]),a=new n([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),l=(e,t)=>{const n=new o(31);for(let o=0;o<31;++o)n[o]=t+=1<<e[o-1];const c=new r(n[30]);for(let e=1;e<30;++e)for(let t=n[e];t<n[e+1];++t)c[t]=t-n[e]<<5|e;return[n,c]},[i,f]=l(c,2);i[28]=258,f[258]=28;const[d,u]=l(s,0),g=new o(32768);for(let e=0;e<32768;++e){let t=(43690&e)>>>1|(21845&e)<<1;t=(52428&t)>>>2|(13107&t)<<2,
3
+ t=(61680&t)>>>4|(3855&t)<<4,g[e]=((65280&t)>>>8|(255&t)<<8)>>>1}const h=(e,t,n)=>{const r=e.length;let c=0;const s=new o(t);for(;c<r;++c)e[c]&&++s[e[c]-1];const a=new o(t);for(c=0;c<t;++c)a[c]=a[c-1]+s[c-1]<<1;let l;if(n){l=new o(1<<t);const n=15-t;for(c=0;c<r;++c)if(e[c]){const o=c<<4|e[c],r=t-e[c];let s=a[e[c]-1]++<<r;for(const e=s|(1<<r)-1;s<=e;++s)l[g[s]>>>n]=o}}else for(l=new o(r),c=0;c<r;++c)e[c]&&(l[c]=g[a[e[c]-1]++]>>>15-e[c]);return l},p=new n(288);for(let e=0;e<144;++e)p[e]=8;for(let e=144;e<256;++e)p[e]=9;for(let e=256;e<280;++e)p[e]=7;for(let e=280;e<288;++e)p[e]=8;const y=new n(32);for(let e=0;e<32;++e)y[e]=5;const b=h(p,9,1),m=h(y,5,1),w=e=>{let t=e[0];for(let n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},v=(e,t,n)=>{const o=t/8|0;return(e[o]|e[o+1]<<8)>>(7&t)&n},C=(e,t)=>{
4
+ const n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},k=[,n,o,,r],S=(e,t,n)=>{(!t||t<0)&&(t=0),(!n||n>e.length)&&(n=e.length);const o=new k[e.BYTES_PER_ELEMENT](n-t);return o.set(e.subarray(t,n)),o},x=["unexpected EOF","invalid block type","invalid length/literal","invalid distance","stream finished","no stream handler",,"no callback","invalid UTF-8 data","extra field too long","date not in range 1980-2099","filename too long","stream finishing","invalid zip data"],$=(e,t,n)=>{const o=new Error(t||x[e]);if(o.code=e,Error.captureStackTrace&&Error.captureStackTrace(o,$),!n)throw o;return o},E=(e,t,o)=>{const r=e.length;if(!r||o&&o.f&&!o.l)return t||new n(0);const l=!t||!!o,f=!o||o.i;!o&&(o={}),!t&&(t=new n(3*r));const u=e=>{let o=t.length;if(e>o){const r=new n(Math.max(2*o,e));r.set(t),t=r
5
+ }};let g=o.f||0,p=o.p||0,y=o.b||0,k=o.l,x=o.d,E=o.m,z=o.n;const T=8*r;do{if(!k){g=v(e,p,1);const c=v(e,p+1,3);if(p+=3,!c){const n=4+((p+7)/8|0),c=e[n-4]|e[n-3]<<8,s=n+c;if(s>r){f&&$(0);break}l&&u(y+c),t.set(e.subarray(n,s),y),o.b=y+=c,o.p=p=8*s,o.f=g;continue}if(1===c)k=b,x=m,E=9,z=5;else if(2===c){const t=v(e,p,31)+257,o=v(e,p+10,15)+4,r=t+v(e,p+5,31)+1;p+=14;const c=new n(r),s=new n(19);for(let t=0;t<o;++t)s[a[t]]=v(e,p+3*t,7);p+=3*o;const l=w(s),i=(1<<l)-1,f=h(s,l,1);for(let t=0;t<r;){const n=f[v(e,p,i)];p+=15&n;const o=n>>>4;if(o<16)c[t++]=o;else{let n=0,r=0;for(16===o?(r=3+v(e,p,3),p+=2,n=c[t-1]):17===o?(r=3+v(e,p,7),p+=3):18===o&&(r=11+v(e,p,127),p+=7);r--;)c[t++]=n}}const d=c.subarray(0,t),u=c.subarray(t);E=w(d),z=w(u),k=h(d,E,1),x=h(u,z,1)}else $(1);if(p>T){f&&$(0);break}}
6
+ l&&u(y+131072);const S=(1<<E)-1,U=(1<<z)-1;let O=p;for(;;O=p){const n=k[C(e,p)&S],o=n>>>4;if(p+=15&n,p>T){f&&$(0);break}if(n||$(2),o<256)t[y++]=o;else{if(256===o){O=p,k=void 0;break}{let n=o-254;if(o>264){const t=o-257,r=c[t];n=v(e,p,(1<<r)-1)+i[t],p+=r}const r=x[C(e,p)&U],a=r>>>4;r||$(3),p+=15&r;let g=d[a];if(a>3){const t=s[a];g+=C(e,p)&(1<<t)-1,p+=t}if(p>T){f&&$(0);break}l&&u(y+131072);const h=y+n;for(;y<h;y+=4)t[y]=t[y-g],t[y+1]=t[y+1-g],t[y+2]=t[y+2-g],t[y+3]=t[y+3-g];y=h}}}o.l=k,o.p=O,o.b=y,o.f=g,k&&(g=1,o.m=E,o.d=x,o.n=z)}while(!g);return y===t.length?t:S(t,0,y)},z=(e,t)=>e[t]|e[t+1]<<8,T=(e,t)=>(e[t]|e[t+1]<<8|e[t+2]<<16|e[t+3]<<24)>>>0,U=(e,t)=>T(e,t)+4294967296*T(e,t+4),O=(e,t)=>t+30+z(e,t+26)+z(e,t+28),j=(e,t,n)=>{
7
+ const o=!(2048&z(e,t+8)),r=z(e,t+28),c=N(e.subarray(t+46,t+46+r),o),s=t+46+r,a=T(e,t+20),[l,i,f]=n&&4294967295===a?A(e,s):[a,T(e,t+24),T(e,t+42)],d=s+z(e,t+30);return[z(e,t+10),l,i,c,s+z(e,t+30)+z(e,t+32),f,N(e.subarray(d,d+z(e,t+32)),o)]},A=(e,t)=>{for(;1!=z(e,t);t+=4+z(e,t+2));return[U(e,t+12),U(e,t+4),U(e,t+20)]};let L;const P=new n(0);try{const e=new TextDecoder;e.decode(P,{stream:!0}),L=e}catch(e){}function N(e,t){if(t){let t="";for(let n=0;n<e.length;n+=16384)t+=String.fromCharCode.apply(null,e.subarray(n,n+16384));return t}if(L)return L.decode(e);{const[t,n]=(e=>{for(let t="",n=0;;){let o=e[n++];const r=+(o>127)+ +(o>223)+ +(o>239);if(n+r>e.length)return[t,S(e,n-1)];r?3===r?(o=((15&o)<<18|(63&e[n++])<<12|(63&e[n++])<<6|63&e[n++])-65536,
8
+ t+=String.fromCharCode(55296|o>>10,56320|1023&o)):t+=1&r?String.fromCharCode((31&o)<<6|63&e[n++]):String.fromCharCode((15&o)<<12|(63&e[n++])<<6|63&e[n++]):t+=String.fromCharCode(o)}})(e);return n.length&&$(8),t}}let R,B,M=new TextDecoder,q=function(e,t){const o={};let r=e.length-22;for(;101010256!=T(e,r);--r)(!r||e.length-r>65558)&&$(13);let c=z(e,r+8);if(!c)return{};let s=T(e,r+16);const a=4294967295===s;a&&(r=T(e,r-12),101075792!=T(e,r)&&$(13),c=T(e,r+32),s=T(e,r+48));const l=t&&t.filter;for(let t=0;t<c;++t){const[t,r,c,i,f,d,u]=j(e,s,a),g=O(e,d);if(s=f,!l||l({name:i,size:r,originalSize:c,compression:t})){let s;t?8===t?s=E(e.subarray(g,g+r),new n(c)):$(14,"unknown compression type "+t):s=S(e,g,g+r),s&&(o[i]={data:s,comment:u})}}return o},D=()=>{M=void 0,Z=G=_=D=void 0,R=B=void 0,
9
+ F=q=void 0},F=e=>{const t=/^(?:sha\d{3}-)?([a-z0-9+/=]{44,88})$/i.exec(e);if(t){const n=(e=t[1]).length;if(!(88^n&&64^n&&44^n))return`sha${64==n?384:88==n?512:256}-${e}`}},G=(e,t)=>{R=e,B=t||""},Z=(e,t,n,o)=>{const r=()=>{n(),console.log(`script ${t} is ready`)};let c=B?document.querySelector(B).nextSibling:void 0;const s=document.head[c?"insertBefore":"appendChild"](document.createElement("script"),c);if(s.id=t,o){const t=URL.createObjectURL(new Blob([e],{type:"text/javascript"}));s.integrity=o,s.onload=r,s.src=t}else s.text=e,r()},_=async(e,t=console.log)=>{const n=e+".zip",o=await fetch(`${R||"."}/${n}`).then((async e=>{const n=!!e.headers.get("content-encoding"),o=e.body.getReader(),r=(c=+e.headers.get("content-length"),n?1.3*c|0:c);var c;const s=new Uint8Array(r);let a=0;for(;;){
10
+ const e=await o.read();if(e.done)break;s.set(e.value,a),a+=e.value.length,t(`loading zip: ${a.toLocaleString()} bytes(${Math.round(a/r*100)}%)`)}return n?s.slice(0,a):s})).catch((e=>(console.error(e),null)));if(o&&o.length){t(`loaded ${n}, decompressing binary...`),console.time(`unzip: ${n}`);const e=q(o);return console.timeEnd(`unzip: ${n}`),t(`${n} decompressed 😃`),new Promise((t=>{const n=Object.keys(e);let o=n.length;const r=()=>{!--o&&t()};for(let t=0;t<n.length;){const o=n[t++],c=e[o];Z(M.decode(c.data,{stream:!1}),o,r,F(c.comment))}}))}},J=()=>{J=void 0;const e=document.querySelector("script[data-csl-config]");if(e){const t=e.dataset.cslConfig;if(t){const e=JSON.parse(t);let n;"object"==typeof e?(G(e.base,e.selector),n=e.load):n=Array.isArray(e)?e:"string"==typeof e?[e]:[];try{
11
+ const t=[];for(const e of n)t.push(_(e));Promise.all(t).then((()=>{const t="function"==typeof cslCallback?cslCallback:window[e.callback||"cslCallback"];"function"==typeof t&&t(),D()}))}catch(e){console.error(e)}}}};setTimeout(J,250);const Y="v1.2.8";var H=t.Lx,I=t.aN,K=t.v6,Q=t.GZ,V=t.i8;export{H as cleanUp,I as loadCompressedScript,K as setConfig,Q as unzipSync,V as version};