diff --git a/.gitmodules b/.gitmodules index aa2ebd27..e69de29b 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +0,0 @@ -[submodule "static/js/fastboot"] - path = static/js/fastboot - url = https://github.com/kdrag0n/fastboot.js diff --git a/process-static b/process-static index 59c28400..34ad05ba 100755 --- a/process-static +++ b/process-static @@ -30,8 +30,6 @@ cp -a nginx nginx-tmp rm -rf static-tmp cp -a static static-tmp -rm -rf static-tmp/js/fastboot/{!(dist),dist/!(fastboot.min.mjs|fastboot.min.mjs.map|vendor)} -mv static-tmp/js/fastboot/dist static-tmp/js/fastboot/v1.1.1 for file in static-tmp/**/*.@(json|webmanifest); do json_verify < "$file" >/dev/null diff --git a/static/install/web.html b/static/install/web.html index e49476d0..8c476b48 100644 --- a/static/install/web.html +++ b/static/install/web.html @@ -28,7 +28,7 @@ {{js|/js/redirect.js}} - + {{js|/js/web-install.js}}
diff --git a/static/js/fastboot b/static/js/fastboot deleted file mode 160000 index 457f4564..00000000 --- a/static/js/fastboot +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 457f4564c30d8f251c92abd78371d2004c62fb8e diff --git a/static/js/fastboot/dfcb7800/fastboot.min.mjs b/static/js/fastboot/dfcb7800/fastboot.min.mjs new file mode 100644 index 00000000..312f0d86 --- /dev/null +++ b/static/js/fastboot/dfcb7800/fastboot.min.mjs @@ -0,0 +1,2 @@ +var e;!function(e){e[e.Silent=0]="Silent",e[e.Debug=1]="Debug",e[e.Verbose=2]="Verbose"}(e||(e={}));let t=e.Silent;function n(...e){t>=1&&console.log(...e)}function i(...e){t>=2&&console.log(...e)}function a(e){t=e}function r(e){return new Promise(((t,n)=>{let i=new FileReader;i.onload=()=>{t(i.result)},i.onerror=()=>{n(i.error)},i.readAsArrayBuffer(e)}))}async function s(e,t,n,i,a){let r=(new Date).getTime(),s=!1;e(t,n,0);let o=(async()=>{let a,o=r+i;do{a=(new Date).getTime(),e(t,n,(a-r)/i),await new Promise(((e,t)=>{window.requestAnimationFrame(e)}))}while(!s&&as){if(S=e,s=n,n>=f)break;m=l[a+s-1],_=l[a+s]}}}while((e=65535&c[e&u])>d&&0!=--i);return s<=j?s:j}function ue(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=113,a=0,R.dyn_tree=L,R.stat_desc=w.static_l_desc,V.dyn_tree=D,V.stat_desc=w.static_d_desc,W.dyn_tree=M,W.stat_desc=w.static_bl_desc,Z=0,N=0,G=8,Y(),function(){d=2*r,f[p-1]=0;for(let e=0;e >=d[k+1],p-=d[k+1],0!=(16&f)){for(f&=15;p s){if(y=e,s=n,n>=f)break;m=l[a+s-1],_=l[a+s]}}}while((e=65535&c[e&u])>d&&0!=--i);return s<=k?s:k}function ue(t){return t.total_in=t.total_out=0,t.msg=null,e.pending=0,e.pending_out=0,n=113,a=0,B.dyn_tree=I,B.stat_desc=R.static_l_desc,q.dyn_tree=F,q.stat_desc=R.static_d_desc,L.dyn_tree=$,L.stat_desc=R.static_bl_desc,Z=0,N=0,G=8,Y(),function(){d=2*r,f[p-1]=0;for(let e=0;e >=d[k+1],p-=d[k+1],0!=(16&f)){for(f&=15;p \n * These objects are the currency accepted by SJCL's crypto functions.\n * \n * Most of our crypto primitives operate on arrays of 4-byte words internally,\n * but many of them can take arguments that are not a multiple of 4 bytes.\n * This library encodes arrays of bits (whose size need not be a multiple of 8\n * bits) as arrays of 32-bit words. The bits are packed, big-endian, into an\n * array of words, 32 bits at a time. Since the words are double-precision\n * floating point numbers, they fit some extra data. We use this (in a private,\n * possibly-changing manner) to encode the number of bits actually present\n * in the last word of the array.\n * \n * Because bitwise ops clear this out-of-band data, these arrays can be passed\n * to ciphers like AES which want arrays of words.\n * 2;)R[a++]=y[x++],R[a++]=y[x++],R[a++]=y[x++],p-=3;p&&(R[a++]=y[x++],p>1&&(R[a++]=y[x++]))}else{x=a-v;do{R[a++]=R[x++],R[a++]=R[x++],R[a++]=R[x++],p-=3}while(p>2);p&&(R[a++]=R[x++],p>1&&(R[a++]=R[x++]))}break}}break}}while(i9||n<0||n>2?-2:(v[F].func!=v[t].func&&0!==e.total_in&&(i=e.deflate(1)),F!=t&&(F=t,I=v[F].max_lazy,B=v[F].good_length,q=v[F].nice_length,C=v[F].max_chain),$=n,i)},e.deflateSetDictionary=function(e,t,i){let a,s=i,d=0;if(!t||42!=n)return-2;if(s<3)return 0;for(s>r-262&&(s=r-262,d=i-s),l.set(t.subarray(d,d+s),0),A=s,b=s,u=255&l[0],u=(u<9||n<0||n>2?-2:(W[S].func!=W[t].func&&0!==e.total_in&&(i=e.deflate(1)),S!=t&&(S=t,A=W[S].max_lazy,E=W[S].good_length,C=W[S].nice_length,U=W[S].max_chain),j=n,i)},e.deflateSetDictionary=function(e,t,i){let a,s=i,d=0;if(!t||42!=n)return-2;if(s<3)return 0;for(s>r-262&&(s=r-262,d=i-s),l.set(t.subarray(d,d+s),0),g=s,x=s,u=255&l[0],u=(u<>>16-Q,Q+=i-16):(N|=t<
=8&&(Z(255&N),N>>>=8,Q-=8)}function at(e,n){let i,a,r;if(t.pending_buf[K+2*P]=e>>>8&255,t.pending_buf[K+2*P+1]=255&e,t.pending_buf[D+P]=255&n,P++,0===e?M[2*n]++:(G++,e--,M[2*(R._length_code[n]+256+1)]++,B[2*R.d_code(e)]++),0==(8191&P)&&z>2){for(i=8*P,a=m-p,r=0;r<30;r++)i+=B[2*r]*(5+R.extra_dbits[r]);if(i>>>=3,G
9||n<0||n>2?-2:(T[z].func!=T[e].func&&0!==t.total_in&&(i=t.deflate(1)),z!=e&&(z=e,S=T[z].max_lazy,E=T[z].good_length,C=T[z].nice_length,U=T[z].max_chain),I=n,i)},t.deflateSetDictionary=function(t,e,i){let a,s=i,_=0;if(!e||42!=n)return-2;if(s<3)return 0;for(s>r-262&&(s=r-262,_=i-s),l.set(e.subarray(_,_+s),0),m=s,p=s,f=255&l[0],f=(f<257?(-3==u?f.msg=\"oversubscribed distance tree\":-5==u?(f.msg=\"incomplete distance tree\",u=-3):-4!=u&&(f.msg=\"empty distance tree with lengths\",u=-3),u):0)}}function at(){const t=this;let e,n,i,a,r=0,s=0,o=0,l=0,_=0,d=0,c=0,f=0,u=0,h=0;function b(t,e,n,i,a,r,s,o){let l,_,d,c,f,u,h,b,w,p,x,g,y,m,k,v;h=o.next_in_index,b=o.avail_in,f=s.bitb,u=s.bitk,w=s.write,p=w>>8&255,r.check=n(r.check,Y,2,0),Z=0,S=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&Z)<<8)+(Z>>8))%31){e.msg="incorrect header check",r.mode=E;break}if((15&Z)!==x){e.msg="unknown compression method",r.mode=E;break}if(Z>>>=4,S-=4,j=8+(15&Z),0===r.wbits)r.wbits=j;else if(j>r.wbits){e.msg="invalid window size",r.mode=E;break}r.dmax=1<>>8&255,Y[2]=Z>>>16&255,Y[3]=Z>>>24&255,r.check=n(r.check,Y,4,0)),Z=0,S=0,r.mode=4;case 4:for(;S<16;){if(0===c)break e;c--,Z+=o[l++]<>8),512&r.flags&&(Y[0]=255&Z,Y[1]=Z>>>8&255,r.check=n(r.check,Y,2,0)),Z=0,S=0,r.mode=5;case 5:if(1024&r.flags){for(;S<16;){if(0===c)break e;c--,Z+=o[l++]<>>8&255,r.check=n(r.check,Y,2,0)),Z=0,S=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&(U=r.length,U>c&&(U=c),U&&(r.head&&(j=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Uint8Array(r.head.extra_len)),r.head.extra.set(o.subarray(l,l+U),j)),512&r.flags&&(r.check=n(r.check,o,U,l)),c-=U,l+=U,r.length-=U),r.length))break e;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===c)break e;U=0;do{j=o[l+U++],r.head&&j&&r.length<65536&&(r.head.name+=String.fromCharCode(j))}while(j&&U>>=7&S,S-=7&S,r.mode=27;break}for(;S<3;){if(0===c)break e;c--,Z+=o[l++]<>>=1,S-=1,3&Z){case 0:r.mode=14;break;case 1:if(B(r),r.mode=20,i===w){Z>>>=2,S-=2;break e}break;case 2:r.mode=17;break;case 3:e.msg="invalid block type",r.mode=E}Z>>>=2,S-=2;break;case 14:for(Z>>>=7&S,S-=7&S;S<32;){if(0===c)break e;c--,Z+=o[l++]<>>16^65535)){e.msg="invalid stored block lengths",r.mode=E;break}if(r.length=65535&Z,Z=0,S=0,r.mode=15,i===w)break e;case 15:r.mode=16;case 16:if(U=r.length,U){if(U>c&&(U=c),U>A&&(U=A),0===U)break e;s.set(o.subarray(l,l+U),d),c-=U,l+=U,A-=U,d+=U,r.length-=U;break}r.mode=y;break;case 17:for(;S<14;){if(0===c)break e;c--,Z+=o[l++]<>>=5,S-=5,r.ndist=1+(31&Z),Z>>>=5,S-=5,r.ncode=4+(15&Z),Z>>>=4,S-=4,r.nlen>286||r.ndist>30){e.msg="too many length or distance symbols",r.mode=E;break}r.have=0,r.mode=18;case 18:for(;r.have>>=C,S-=C,r.lens[r.have++]=F;else{if(16===F){for(X=C+2;S>L)],C=P>>>24,z=P>>>16&255,F=65535&P,!(L+C<=S);){if(0===c)break e;c--,Z+=o[l++]<>>=L,S-=L,r.back+=L}if(Z>>>=C,S-=C,r.back+=C,r.length=F,0===z){r.mode=26;break}if(32&z){r.back=-1,r.mode=y;break}if(64&z){e.msg="invalid literal/length code",r.mode=E;break}r.extra=15&z,r.mode=22;case 22:if(r.extra){for(X=r.extra;S>L)],C=P>>>24,z=P>>>16&255,F=65535&P,!(L+C<=S);){if(0===c)break e;c--,Z+=o[l++]<>>=L,S-=L,r.back+=L}if(Z>>>=C,S-=C,r.back+=C,64&z){e.msg="invalid distance code",r.mode=E;break}r.offset=F,r.extra=15&z,r.mode=24;case 24:if(r.extra){for(X=r.extra;S{if(!e||!e.state)return _;let t=e.state;return t.window&&(t.window=null),e.state=null,b},inflateGetHeader:(e,t)=>{if(!e||!e.state)return _;const i=e.state;return 0==(2&i.wrap)?_:(i.head=t,t.done=!1,b)},inflateSetDictionary:(e,i)=>{const n=i.length;let a,r,o;return e&&e.state?(a=e.state,0!==a.wrap&&11!==a.mode?_:11===a.mode&&(r=1,r=t(r,i,n,0),r!==a.check)?g:(o=N(e,i,n,n),o?(a.mode=31,p):(a.havedict=1,b))):_},inflateInfo:"pako inflate (from Nodeca project)"};const z=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);var F=function(e){const t=Array.prototype.slice.call(arguments,1);for(;t.length;){const i=t.shift();if(i){if("object"!=typeof i)throw new TypeError(i+"must be non-object");for(const t in i)z(i,t)&&(e[t]=i[t])}}return e},L=e=>{let t=0;for(let i=0,n=e.length;i>>24]^c[g>>16&255]^o[y>>8&255]^l[255&w]^n[_],d=i[g>>>24]^c[y>>16&255]^o[w>>8&255]^l[255&f]^n[_+1],u=i[y>>>24]^c[w>>16&255]^o[f>>8&255]^l[255&g]^n[_+2],w=i[w>>>24]^c[f>>16&255]^o[g>>8&255]^l[255&y]^n[_+3],_+=4,f=p,g=d,y=u;for(let t=0;t<4;t++)r[e?3&-t:t]=h[f>>>24]<<24^h[g>>16&255]<<16^h[y>>8&255]<<8^h[255&w]^n[_++],p=f,f=g,g=y,y=w,w=p;return r}}},i={ctrGladman:class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if(255==(t>>24&255)){let e=t>>16&255,n=t>>8&255,s=255&t;255===e?(e=0,255===n?(n=0,255===s?s=0:++s):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=s}else t+=1<<24;return t}incCounter(t){0===(t[0]=this.incWord(t[0]))&&(t[1]=this.incWord(t[1]))}calculate(t,e,s){let r;if(!(r=e.length))return[];const a=n.bitLength(e);for(let n=0;n