var Zt=Object.create;var Ve=Object.defineProperty;var Kt=Object.getOwnPropertyDescriptor;var $t=Object.getOwnPropertyNames;var Vt=Object.getPrototypeOf,Xt=Object.prototype.hasOwnProperty;var Qt=(r,e,t)=>e in r?Ve(r,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):r[e]=t;var Yt=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(e,t)=>(typeof require<"u"?require:e)[t]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var Jr=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),en=(r,e)=>{for(var t in e)Ve(r,t,{get:e[t],enumerable:!0})},rn=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of $t(e))!Xt.call(r,i)&&i!==t&&Ve(r,i,{get:()=>e[i],enumerable:!(n=Kt(e,i))||n.enumerable});return r};var Er=(r,e,t)=>(t=r!=null?Zt(Vt(r)):{},rn(e||!r||!r.__esModule?Ve(t,"default",{value:r,enumerable:!0}):t,r));var d=(r,e,t)=>Qt(r,typeof e!="symbol"?e+"":e,t);var xr=Jr((Yn,Ar)=>{"use strict";var Oe=typeof Reflect=="object"?Reflect:null,Gr=Oe&&typeof Oe.apply=="function"?Oe.apply:function(e,t,n){return Function.prototype.apply.call(e,t,n)},Xe;Oe&&typeof Oe.ownKeys=="function"?Xe=Oe.ownKeys:Object.getOwnPropertySymbols?Xe=function(e){return Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e))}:Xe=function(e){return Object.getOwnPropertyNames(e)};function tn(r){console&&console.warn&&console.warn(r)}var Hr=Number.isNaN||function(e){return e!==e};function U(){U.init.call(this)}Ar.exports=U;Ar.exports.once=an;U.EventEmitter=U;U.prototype._events=void 0;U.prototype._eventsCount=0;U.prototype._maxListeners=void 0;var Wr=10;function Qe(r){if(typeof r!="function")throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof r)}Object.defineProperty(U,"defaultMaxListeners",{enumerable:!0,get:function(){return Wr},set:function(r){if(typeof r!="number"||r<0||Hr(r))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+r+".");Wr=r}});U.init=function(){(this._events===void 0||this._events===Object.getPrototypeOf(this)._events)&&(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0};U.prototype.setMaxListeners=function(e){if(typeof e!="number"||e<0||Hr(e))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+e+".");return this._maxListeners=e,this};function qr(r){return r._maxListeners===void 0?U.defaultMaxListeners:r._maxListeners}U.prototype.getMaxListeners=function(){return qr(this)};U.prototype.emit=function(e){for(var t=[],n=1;n0&&(s=t[0]),s instanceof Error)throw s;var a=new Error("Unhandled error."+(s?" ("+s.message+")":""));throw a.context=s,a}var f=o[e];if(f===void 0)return!1;if(typeof f=="function")Gr(f,this,t);else for(var c=f.length,h=Xr(f,c),n=0;n0&&s.length>i&&!s.warned){s.warned=!0;var a=new Error("Possible EventEmitter memory leak detected. "+s.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");a.name="MaxListenersExceededWarning",a.emitter=r,a.type=e,a.count=s.length,tn(a)}return r}U.prototype.addListener=function(e,t){return Zr(this,e,t,!1)};U.prototype.on=U.prototype.addListener;U.prototype.prependListener=function(e,t){return Zr(this,e,t,!0)};function nn(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,arguments.length===0?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function Kr(r,e,t){var n={fired:!1,wrapFn:void 0,target:r,type:e,listener:t},i=nn.bind(n);return i.listener=t,n.wrapFn=i,i}U.prototype.once=function(e,t){return Qe(t),this.on(e,Kr(this,e,t)),this};U.prototype.prependOnceListener=function(e,t){return Qe(t),this.prependListener(e,Kr(this,e,t)),this};U.prototype.removeListener=function(e,t){var n,i,o,s,a;if(Qe(t),i=this._events,i===void 0)return this;if(n=i[e],n===void 0)return this;if(n===t||n.listener===t)--this._eventsCount===0?this._events=Object.create(null):(delete i[e],i.removeListener&&this.emit("removeListener",e,n.listener||t));else if(typeof n!="function"){for(o=-1,s=n.length-1;s>=0;s--)if(n[s]===t||n[s].listener===t){a=n[s].listener,o=s;break}if(o<0)return this;o===0?n.shift():on(n,o),n.length===1&&(i[e]=n[0]),i.removeListener!==void 0&&this.emit("removeListener",e,a||t)}return this};U.prototype.off=U.prototype.removeListener;U.prototype.removeAllListeners=function(e){var t,n,i;if(n=this._events,n===void 0)return this;if(n.removeListener===void 0)return arguments.length===0?(this._events=Object.create(null),this._eventsCount=0):n[e]!==void 0&&(--this._eventsCount===0?this._events=Object.create(null):delete n[e]),this;if(arguments.length===0){var o=Object.keys(n),s;for(i=0;i=0;i--)this.removeListener(e,t[i]);return this};function $r(r,e,t){var n=r._events;if(n===void 0)return[];var i=n[e];return i===void 0?[]:typeof i=="function"?t?[i.listener||i]:[i]:t?sn(i):Xr(i,i.length)}U.prototype.listeners=function(e){return $r(this,e,!0)};U.prototype.rawListeners=function(e){return $r(this,e,!1)};U.listenerCount=function(r,e){return typeof r.listenerCount=="function"?r.listenerCount(e):Vr.call(r,e)};U.prototype.listenerCount=Vr;function Vr(r){var e=this._events;if(e!==void 0){var t=e[r];if(typeof t=="function")return 1;if(t!==void 0)return t.length}return 0}U.prototype.eventNames=function(){return this._eventsCount>0?Xe(this._events):[]};function Xr(r,e){for(var t=new Array(e),n=0;n{"use strict";var u={cipher:{},hash:{},keyexchange:{},mode:{},misc:{},codec:{},exception:{corrupt:function(r){this.toString=function(){return"CORRUPT: "+this.message},this.message=r},invalid:function(r){this.toString=function(){return"INVALID: "+this.message},this.message=r},bug:function(r){this.toString=function(){return"BUG: "+this.message},this.message=r},notReady:function(r){this.toString=function(){return"NOT READY: "+this.message},this.message=r}}};u.cipher.aes=function(r){this.w[0][0][0]||this.C();var e,t,n,i,o=this.w[0][4],s=this.w[1];e=r.length;var a=1;if(e!==4&&e!==6&&e!==8)throw new u.exception.invalid("invalid aes key size");for(this.b=[n=r.slice(0),i=[]],r=e;r<4*e+28;r++)t=n[r-1],(r%e===0||e===8&&r%e===4)&&(t=o[t>>>24]<<24^o[t>>16&255]<<16^o[t>>8&255]<<8^o[t&255],r%e===0&&(t=t<<8^t>>>24^a<<24,a=a<<1^283*(a>>7))),n[r]=n[r-e]^t;for(e=0;r;e++,r--)t=n[e&3?r:r-4],i[e]=4>=r||4>e?t:s[0][o[t>>>24]]^s[1][o[t>>16&255]]^s[2][o[t>>8&255]]^s[3][o[t&255]]};u.cipher.aes.prototype={encrypt:function(r){return ct(this,r,0)},decrypt:function(r){return ct(this,r,1)},w:[[[],[],[],[],[]],[[],[],[],[],[]]],C:function(){var r=this.w[0],e=this.w[1],t=r[4],n=e[4],i,o,s,a=[],f=[],c,h,l,p;for(i=0;256>i;i++)f[(a[i]=i<<1^283*(i>>7))^i]=i;for(o=s=0;!t[o];o^=c||1,s=f[s]||1)for(l=s^s<<1^s<<2^s<<3^s<<4,l=l>>8^l&255^99,t[o]=l,n[l]=o,h=a[i=a[c=a[o]]],p=16843009*h^65537*i^257*c^16843008*o,h=257*a[l]^16843008*l,i=0;4>i;i++)r[i][o]=h=h<<24^h>>>8,e[i][l]=p=p<<24^p>>>8;for(i=0;5>i;i++)r[i]=r[i].slice(0),e[i]=e[i].slice(0)}};function ct(r,e,t){if(e.length!==4)throw new u.exception.invalid("invalid aes block size");var n=r.b[t],i=e[0]^n[0],o=e[t?3:1]^n[1],s=e[2]^n[2];e=e[t?1:3]^n[3];var a,f,c,h=n.length/4-2,l,p=4,v=[0,0,0,0];a=r.w[t],r=a[0];var A=a[1],g=a[2],y=a[3],D=a[4];for(l=0;l>>24]^A[o>>16&255]^g[s>>8&255]^y[e&255]^n[p],f=r[o>>>24]^A[s>>16&255]^g[e>>8&255]^y[i&255]^n[p+1],c=r[s>>>24]^A[e>>16&255]^g[i>>8&255]^y[o&255]^n[p+2],e=r[e>>>24]^A[i>>16&255]^g[o>>8&255]^y[s&255]^n[p+3],p+=4,i=a,o=f,s=c;for(l=0;4>l;l++)v[t?3&-l:l]=D[i>>>24]<<24^D[o>>16&255]<<16^D[s>>8&255]<<8^D[e&255]^n[p++],a=i,i=o,o=s,s=e,e=a;return v}u.bitArray={bitSlice:function(r,e,t){return r=u.bitArray.Y(r.slice(e/32),32-(e&31)).slice(1),t===void 0?r:u.bitArray.clamp(r,t-e)},extract:function(r,e,t){var n=Math.floor(-e-t&31);return((e+t-1^e)&-32?r[e/32|0]<<32-n^r[e/32+1|0]>>>n:r[e/32|0]>>>n)&(1<>e-1,1)),r},partial:function(r,e,t){return r===32?e:(t?e|0:e<<32-r)+1099511627776*r},getPartial:function(r){return Math.round(r/1099511627776)||32},equal:function(r,e){if(u.bitArray.bitLength(r)!==u.bitArray.bitLength(e))return!1;var t=0,n;for(n=0;n>>e),t=r[i]<<32-e;return i=r.length?r[r.length-1]:0,r=u.bitArray.getPartial(i),n.push(u.bitArray.partial(e+r&31,32>>24|t>>>8&65280|(t&65280)<<8|t<<24;return r}};u.codec.utf8String={fromBits:function(r){var e="",t=u.bitArray.bitLength(r),n,i;for(n=0;n>>8>>>8>>>8),i<<=8;return decodeURIComponent(escape(e))},toBits:function(r){r=unescape(encodeURIComponent(r));var e=[],t,n=0;for(t=0;t>>i)>>>26),6>i?(s=r[t]<<6-i,i+=26,t++):(s<<=6,i-=6);for(;n.length&3&&!e;)n+="=";return n},toBits:function(r,e){r=r.replace(/\s|=/g,"");var t=[],n,i=0,o=u.codec.base64.S,s=0,a;for(e&&(o=o.substr(0,62)+"-_"),n=0;na)throw new u.exception.invalid("this isn't base64!");26>>i),s=a<<32-i):(i+=6,s^=a<<32-i)}return i&56&&t.push(u.bitArray.partial(i&56,s,1)),t}};u.codec.base64url={fromBits:function(r){return u.codec.base64.fromBits(r,1,1)},toBits:function(r){return u.codec.base64.toBits(r,1)}};u.hash.sha256=function(r){this.b[0]||this.C(),r?(this.g=r.g.slice(0),this.f=r.f.slice(0),this.c=r.c):this.reset()};u.hash.sha256.hash=function(r){return new u.hash.sha256().update(r).finalize()};u.hash.sha256.prototype={blockSize:512,reset:function(){return this.g=this.o.slice(0),this.f=[],this.c=0,this},update:function(r){typeof r=="string"&&(r=u.codec.utf8String.toBits(r));var e,t=this.f=u.bitArray.concat(this.f,r);if(e=this.c,r=this.c=e+u.bitArray.bitLength(r),9007199254740991e;t++){for(i=!0,n=2;n*n<=t;n++)if(t%n===0){i=!1;break}i&&(8>e&&(this.o[e]=r(Math.pow(t,.5))),this.b[e]=r(Math.pow(t,1/3)),e++)}},l:function(r){var e,t,n,i=this.g,o=this.b,s=i[0],a=i[1],f=i[2],c=i[3],h=i[4],l=i[5],p=i[6],v=i[7];for(e=0;64>e;e++)16>e?t=r[e]:(t=r[e+1&15],n=r[e+14&15],t=r[e&15]=(t>>>7^t>>>18^t>>>3^t<<25^t<<14)+(n>>>17^n>>>19^n>>>10^n<<15^n<<13)+r[e&15]+r[e+9&15]|0),t=t+v+(h>>>6^h>>>11^h>>>25^h<<26^h<<21^h<<7)+(p^h&(l^p))+o[e],v=p,p=l,l=h,h=c+t|0,c=f,f=a,a=s,s=t+(a&f^c&(a^f))+(a>>>2^a>>>13^a>>>22^a<<30^a<<19^a<<10)|0;i[0]=i[0]+s|0,i[1]=i[1]+a|0,i[2]=i[2]+f|0,i[3]=i[3]+c|0,i[4]=i[4]+h|0,i[5]=i[5]+l|0,i[6]=i[6]+p|0,i[7]=i[7]+v|0}};u.hash.sha512=function(r){this.b[0]||this.C(),r?(this.g=r.g.slice(0),this.f=r.f.slice(0),this.c=r.c):this.reset()};u.hash.sha512.hash=function(r){return new u.hash.sha512().update(r).finalize()};u.hash.sha512.prototype={blockSize:1024,reset:function(){return this.g=this.o.slice(0),this.f=[],this.c=0,this},update:function(r){typeof r=="string"&&(r=u.codec.utf8String.toBits(r));var e,t=this.f=u.bitArray.concat(this.f,r);if(e=this.c,r=this.c=e+u.bitArray.bitLength(r),9007199254740991t;n++){for(o=!0,i=2;i*i<=n;i++)if(n%i===0){o=!1;break}o&&(8>t&&(this.o[2*t]=r(Math.pow(n,.5)),this.o[2*t+1]=e(Math.pow(n,.5))<<24|this.ia[t]),this.b[2*t]=r(Math.pow(n,1/3)),this.b[2*t+1]=e(Math.pow(n,1/3))<<24|this.ka[t],t++)}},l:function(r){var e,t,n=this.g,i=this.b,o=n[0],s=n[1],a=n[2],f=n[3],c=n[4],h=n[5],l=n[6],p=n[7],v=n[8],A=n[9],g=n[10],y=n[11],D=n[12],M=n[13],O=n[14],E=n[15],x;if(typeof Uint32Array<"u"){x=Array(160);for(var L=0;32>L;L++)x[L]=r[L]}else x=r;var L=o,b=s,w=a,m=f,S=c,C=h,z=l,V=p,P=v,k=A,_=g,R=y,Z=D,G=M,me=O,K=E;for(r=0;80>r;r++){if(16>r)e=x[2*r],t=x[2*r+1];else{t=x[2*(r-15)];var F=x[2*(r-15)+1];e=(F<<31|t>>>1)^(F<<24|t>>>8)^t>>>7;var X=(t<<31|F>>>1)^(t<<24|F>>>8)^(t<<25|F>>>7);t=x[2*(r-2)];var j=x[2*(r-2)+1],F=(j<<13|t>>>19)^(t<<3|j>>>29)^t>>>6,j=(t<<13|j>>>19)^(j<<3|t>>>29)^(t<<26|j>>>6),te=x[2*(r-7)],re=x[2*(r-16)],ne=x[2*(r-16)+1];t=X+x[2*(r-7)+1],e=e+te+(t>>>0>>0?1:0),t+=j,e+=F+(t>>>0>>0?1:0),t+=ne,e+=re+(t>>>0>>0?1:0)}x[2*r]=e|=0,x[2*r+1]=t|=0;var te=P&_^~P&Z,Y=k&R^~k&G,j=L&w^L&S^w&S,N=b&m^b&C^m&C,re=(b<<4|L>>>28)^(L<<30|b>>>2)^(L<<25|b>>>7),ne=(L<<4|b>>>28)^(b<<30|L>>>2)^(b<<25|L>>>7),ge=i[2*r],Le=i[2*r+1],F=K+((P<<18|k>>>14)^(P<<14|k>>>18)^(k<<23|P>>>9)),X=me+((k<<18|P>>>14)^(k<<14|P>>>18)^(P<<23|k>>>9))+(F>>>0>>0?1:0),F=F+Y,X=X+(te+(F>>>0>>0?1:0)),F=F+Le,X=X+(ge+(F>>>0>>0?1:0)),F=F+t|0,X=X+(e+(F>>>0>>0?1:0));t=ne+N,e=re+j+(t>>>0>>0?1:0),me=Z,K=G,Z=_,G=R,_=P,R=k,k=V+F|0,P=z+X+(k>>>0>>0?1:0)|0,z=S,V=C,S=w,C=m,w=L,m=b,b=F+t|0,L=X+e+(b>>>0>>0?1:0)|0}s=n[1]=s+b|0,n[0]=o+L+(s>>>0>>0?1:0)|0,f=n[3]=f+m|0,n[2]=a+w+(f>>>0>>0?1:0)|0,h=n[5]=h+C|0,n[4]=c+S+(h>>>0>>0?1:0)|0,p=n[7]=p+V|0,n[6]=l+z+(p>>>0>>0?1:0)|0,A=n[9]=A+k|0,n[8]=v+P+(A>>>0>>0?1:0)|0,y=n[11]=y+R|0,n[10]=g+_+(y>>>0>>0?1:0)|0,M=n[13]=M+G|0,n[12]=D+Z+(M>>>0>>0?1:0)|0,E=n[15]=E+K|0,n[14]=O+me+(E>>>0>>0?1:0)|0}};u.mode.ccm={name:"ccm",F:[],listenProgress:function(r){u.mode.ccm.F.push(r)},unListenProgress:function(r){r=u.mode.ccm.F.indexOf(r),-1f)throw new u.exception.invalid("ccm: iv must be at least 7 bytes");for(o=2;4>o&&c>>>8*o;o++);return o<15-f&&(o=15-f),t=a.clamp(t,8*(15-o)),e=u.mode.ccm.U(r,e,t,n,i,o),s=u.mode.ccm.V(r,s,t,e,i,o),a.concat(s.data,s.tag)},decrypt:function(r,e,t,n,i){i=i||64,n=n||[];var o=u.bitArray,s=o.bitLength(t)/8,c=o.bitLength(e),a=o.clamp(e,c-i),f=o.bitSlice(e,c-i),c=(c-i)/8;if(7>s)throw new u.exception.invalid("ccm: iv must be at least 7 bytes");for(e=2;4>e&&c>>>8*e;e++);if(e<15-s&&(e=15-s),t=o.clamp(t,8*(15-e)),a=u.mode.ccm.V(r,a,t,f,i,e),r=u.mode.ccm.U(r,a.data,t,n,i,e),!o.equal(a.tag,r))throw new u.exception.corrupt("ccm: tag doesn't match");return a.data},ma:function(r,e,t,n,i,o){var s=[],a=u.bitArray,f=a.P;if(n=[a.partial(8,(e.length?64:0)|n-2<<2|o-1)],n=a.concat(n,t),n[3]|=i,n=r.encrypt(n),e.length)for(t=a.bitLength(e)/8,65279>=t?s=[a.partial(16,t)]:4294967295>=t&&(s=a.concat([a.partial(16,65534)],[t])),s=a.concat(s,e),e=0;ei||16h&&(u.mode.ccm.da(s/f),h+=l),t[3]++,i=r.encrypt(t),e[s]^=i[0],e[s+1]^=i[1],e[s+2]^=i[2],e[s+3]^=i[3];return{tag:n,data:a.clamp(e,c)}}};u.misc.hmac=function(r,e){this.W=e=e||u.hash.sha256;var t=[[],[]],n,i=e.prototype.blockSize/32;for(this.B=[new e,new e],r.length>i&&(r=e.hash(r)),n=0;nn||0>t)throw new u.exception.invalid("invalid params to pbkdf2");typeof r=="string"&&(r=u.codec.utf8String.toBits(r)),typeof e=="string"&&(e=u.codec.utf8String.toBits(e)),i=i||u.misc.hmac,r=new i(r);var o,s,a,f,c=[],h=u.bitArray;for(f=1;32*c.length<(n||1);f++){for(i=o=r.encrypt(h.concat(e,[f])),s=1;ss;s++)i.push(4294967296*Math.random()|0);for(s=0;s=1<this.u&&(this.u=o),this.N++,this.b=u.hash.sha256.hash(this.b.concat(i)),this.K=new u.cipher.aes(this.b),n=0;4>n&&(this.m[n]=this.m[n]+1|0,!this.m[n]);n++);}for(n=0;n>>1;this.h[s].update([n,this.M++,2,e,o,r.length].concat(r))}break;case"string":e===void 0&&(e=r.length),this.h[s].update([n,this.M++,3,e,o,r.length]),this.h[s].update(r);break;default:f=1}if(f)throw new u.exception.bug("random: addEntropy only supports number, array of numbers or string");this.s[s]+=e,this.i+=e,a===this.A&&(this.isReady()!==this.A&&ht("seeded",Math.max(this.u,this.i)),ht("progress",this.getProgress()))},isReady:function(r){return r=this.R[r!==void 0?r:this.L],this.u&&this.u>=r?this.s[0]>this.$&&new Date().valueOf()>this.X?this.I|this.H:this.H:this.i>=r?this.I|this.A:this.A},getProgress:function(r){return r=this.R[r||this.L],this.u>=r||this.i>r?1:this.i/r},startCollectors:function(){if(!this.D){if(this.a={loadTimeCollector:Ne(this,this.la),mouseCollector:Ne(this,this.na),keyboardCollector:Ne(this,this.ja),accelerometerCollector:Ne(this,this.ca),touchCollector:Ne(this,this.pa)},window.addEventListener)window.addEventListener("load",this.a.loadTimeCollector,!1),window.addEventListener("mousemove",this.a.mouseCollector,!1),window.addEventListener("keypress",this.a.keyboardCollector,!1),window.addEventListener("devicemotion",this.a.accelerometerCollector,!1),window.addEventListener("touchmove",this.a.touchCollector,!1);else if(document.attachEvent)document.attachEvent("onload",this.a.loadTimeCollector),document.attachEvent("onmousemove",this.a.mouseCollector),document.attachEvent("keypress",this.a.keyboardCollector);else throw new u.exception.bug("can't attach event");this.D=!0}},stopCollectors:function(){this.D&&(window.removeEventListener?(window.removeEventListener("load",this.a.loadTimeCollector,!1),window.removeEventListener("mousemove",this.a.mouseCollector,!1),window.removeEventListener("keypress",this.a.keyboardCollector,!1),window.removeEventListener("devicemotion",this.a.accelerometerCollector,!1),window.removeEventListener("touchmove",this.a.touchCollector,!1)):document.detachEvent&&(document.detachEvent("onload",this.a.loadTimeCollector),document.detachEvent("onmousemove",this.a.mouseCollector),document.detachEvent("keypress",this.a.keyboardCollector)),this.D=!1)},addEventListener:function(r,e){this.J[r][this.ea++]=e},removeEventListener:function(r,e){var t,n,i=this.J[r],o=[];for(n in i)i.hasOwnProperty(n)&&i[n]===e&&o.push(n);for(t=0;te&&(r.m[e]=r.m[e]+1|0,!r.m[e]);e++);return r.K.encrypt(r.m)}function Ne(r,e){return function(){e.apply(r,arguments)}}u.random=new u.prng(6);e:try{if(tr=typeof Re<"u"&&Re.exports){try{nr=Yt("crypto")}catch{nr=null}tr=rr=nr}if(tr&&rr.randomBytes)Je=rr.randomBytes(128),Je=new Uint32Array(new Uint8Array(Je).buffer),u.random.addEntropy(Je,1024,"crypto['randomBytes']");else if(typeof window<"u"&&typeof Uint32Array<"u"){if(Ge=new Uint32Array(32),window.crypto&&window.crypto.getRandomValues)window.crypto.getRandomValues(Ge);else if(window.msCrypto&&window.msCrypto.getRandomValues)window.msCrypto.getRandomValues(Ge);else break e;u.random.addEntropy(Ge,1024,"crypto['getRandomValues']")}}catch(r){typeof window<"u"&&window.console&&(console.log("There was an error collecting entropy from the browser:"),console.log(r))}var Je,rr,Ge,tr,nr;u.json={defaults:{v:1,iter:1e4,ks:128,ts:64,mode:"ccm",adata:"",cipher:"aes"},ha:function(r,e,t,n){t=t||{},n=n||{};var i=u.json,o=i.j({iv:u.random.randomWords(4,0)},i.defaults),s;if(i.j(o,t),t=o.adata,typeof o.salt=="string"&&(o.salt=u.codec.base64.toBits(o.salt)),typeof o.iv=="string"&&(o.iv=u.codec.base64.toBits(o.iv)),!u.mode[o.mode]||!u.cipher[o.cipher]||typeof r=="string"&&100>=o.iter||o.ts!==64&&o.ts!==96&&o.ts!==128||o.ks!==128&&o.ks!==192&&o.ks!==256||2>o.iv.length||4=e.iter||e.ts!==64&&e.ts!==96&&e.ts!==128||e.ks!==128&&e.ks!==192&&e.ks!==256||!e.iv||2>e.iv.length||4Gt,cancel:()=>Nn,compress:()=>Wt,decompress:()=>Jn,download:()=>Gn,events:()=>gr,getFileIndexInQueue:()=>Xn,infos:()=>Wn,pause:()=>Hn,remove:()=>qn,resume:()=>Zn,upload:()=>$n});var Jt=Er(xr());var fn={withStackTrace:!1},rt=(r,e,t=fn)=>{let n=e.isOk()?{type:"Ok",value:e.value}:{type:"Err",value:e.error},i=t.withStackTrace?new Error().stack:void 0;return{data:n,message:r,stack:i}};function Ce(r,e,t,n){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(h){try{c(n.next(h))}catch(l){s(l)}}function f(h){try{c(n.throw(h))}catch(l){s(l)}}function c(h){h.done?o(h.value):i(h.value).then(a,f)}c((n=n.apply(r,e||[])).next())})}function Yr(r){var e=typeof Symbol=="function"&&Symbol.iterator,t=e&&r[e],n=0;if(t)return t.call(r);if(r&&typeof r.length=="number")return{next:function(){return r&&n>=r.length&&(r=void 0),{value:r&&r[n++],done:!r}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function he(r){return this instanceof he?(this.v=r,this):new he(r)}function et(r,e,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=t.apply(r,e||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),i[Symbol.asyncIterator]=function(){return this},i;function s(v){return function(A){return Promise.resolve(A).then(v,l)}}function a(v,A){n[v]&&(i[v]=function(g){return new Promise(function(y,D){o.push([v,g,y,D])>1||f(v,g)})},A&&(i[v]=A(i[v])))}function f(v,A){try{c(n[v](A))}catch(g){p(o[0][3],g)}}function c(v){v.value instanceof he?Promise.resolve(v.value.v).then(h,l):p(o[0][2],v)}function h(v){f("next",v)}function l(v){f("throw",v)}function p(v,A){v(A),o.shift(),o.length&&f(o[0][0],o[0][1])}}function cn(r){var e,t;return e={},n("next"),n("throw",function(i){throw i}),n("return"),e[Symbol.iterator]=function(){return this},e;function n(i,o){e[i]=r[i]?function(s){return(t=!t)?{value:he(r[i](s)),done:!1}:o?o(s):s}:o}}function hn(r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=r[Symbol.asyncIterator],t;return e?e.call(r):(r=typeof Yr=="function"?Yr(r):r[Symbol.iterator](),t={},n("next"),n("throw"),n("return"),t[Symbol.asyncIterator]=function(){return this},t);function n(o){t[o]=r[o]&&function(s){return new Promise(function(a,f){s=r[o](s),i(a,f,s.done,s.value)})}}function i(o,s,a,f){Promise.resolve(f).then(function(c){o({value:c,done:a})},s)}}var I=class r{constructor(e){this._promise=e}static fromSafePromise(e){let t=e.then(n=>new ie(n));return new r(t)}static fromPromise(e,t){let n=e.then(i=>new ie(i)).catch(i=>new oe(t(i)));return new r(n)}static fromThrowable(e,t){return(...n)=>new r(Ce(this,void 0,void 0,function*(){try{return new ie(yield e(...n))}catch(i){return new oe(t?t(i):i)}}))}static combine(e){return ln(e)}static combineWithAllErrors(e){return pn(e)}map(e){return new r(this._promise.then(t=>Ce(this,void 0,void 0,function*(){return t.isErr()?new oe(t.error):new ie(yield e(t.value))})))}andThrough(e){return new r(this._promise.then(t=>Ce(this,void 0,void 0,function*(){if(t.isErr())return new oe(t.error);let n=yield e(t.value);return n.isErr()?new oe(n.error):new ie(t.value)})))}andTee(e){return new r(this._promise.then(t=>Ce(this,void 0,void 0,function*(){if(t.isErr())return new oe(t.error);try{yield e(t.value)}catch{}return new ie(t.value)})))}mapErr(e){return new r(this._promise.then(t=>Ce(this,void 0,void 0,function*(){return t.isOk()?new ie(t.value):new oe(yield e(t.error))})))}andThen(e){return new r(this._promise.then(t=>{if(t.isErr())return new oe(t.error);let n=e(t.value);return n instanceof r?n._promise:n}))}orElse(e){return new r(this._promise.then(t=>Ce(this,void 0,void 0,function*(){return t.isErr()?e(t.error):new ie(t.value)})))}match(e,t){return this._promise.then(n=>n.match(e,t))}unwrapOr(e){return this._promise.then(t=>t.unwrapOr(e))}safeUnwrap(){return et(this,arguments,function*(){return yield he(yield he(yield*cn(hn(yield he(this._promise.then(t=>t.safeUnwrap()))))))})}then(e,t){return this._promise.then(e,t)}[Symbol.asyncIterator](){return et(this,arguments,function*(){let t=yield he(this._promise);return t.isErr()&&(yield yield he(W(t.error))),yield he(t.value)})}},H=r=>new I(Promise.resolve(new ie(r))),W=r=>new I(Promise.resolve(new oe(r))),ei=I.fromPromise,ri=I.fromSafePromise,ti=I.fromThrowable,tt=r=>{let e=we([]);for(let t of r)if(t.isErr()){e=le(t.error);break}else e.map(n=>n.push(t.value));return e},ln=r=>I.fromSafePromise(Promise.all(r)).andThen(tt),nt=r=>{let e=we([]);for(let t of r)t.isErr()&&e.isErr()?e.error.push(t.error):t.isErr()&&e.isOk()?e=le([t.error]):t.isOk()&&e.isOk()&&e.value.push(t.value);return e},pn=r=>I.fromSafePromise(Promise.all(r)).andThen(nt),Lr;(function(r){function e(i,o){return(...s)=>{try{let a=i(...s);return we(a)}catch(a){return le(o?o(a):a)}}}r.fromThrowable=e;function t(i){return tt(i)}r.combine=t;function n(i){return nt(i)}r.combineWithAllErrors=n})(Lr||(Lr={}));var we=r=>new ie(r);function le(r){return new oe(r)}var ie=class{constructor(e){this.value=e}isOk(){return!0}isErr(){return!this.isOk()}map(e){return we(e(this.value))}mapErr(e){return we(this.value)}andThen(e){return e(this.value)}andThrough(e){return e(this.value).map(t=>this.value)}andTee(e){try{e(this.value)}catch{}return we(this.value)}orElse(e){return we(this.value)}asyncAndThen(e){return e(this.value)}asyncAndThrough(e){return e(this.value).map(()=>this.value)}asyncMap(e){return I.fromSafePromise(e(this.value))}unwrapOr(e){return this.value}match(e,t){return e(this.value)}safeUnwrap(){let e=this.value;return function*(){return e}()}_unsafeUnwrap(e){return this.value}_unsafeUnwrapErr(e){throw rt("Called `_unsafeUnwrapErr` on an Ok",this,e)}*[Symbol.iterator](){return this.value}},oe=class{constructor(e){this.error=e}isOk(){return!1}isErr(){return!this.isOk()}map(e){return le(this.error)}mapErr(e){return le(e(this.error))}andThrough(e){return le(this.error)}andTee(e){return le(this.error)}andThen(e){return le(this.error)}orElse(e){return e(this.error)}asyncAndThen(e){return W(this.error)}asyncAndThrough(e){return W(this.error)}asyncMap(e){return W(this.error)}unwrapOr(e){return e}match(e,t){return t(this.error)}safeUnwrap(){let e=this.error;return function*(){throw yield le(e),new Error("Do not use this generator out of `safeTry`")}()}_unsafeUnwrap(e){throw rt("Called `_unsafeUnwrap` on an Err",this,e)}_unsafeUnwrapErr(e){return this.error}*[Symbol.iterator](){let e=this;return yield e,e}},ni=Lr.fromThrowable;var Ee=class r{constructor(e,t){d(this,"actionToken","");d(this,"chunksReady",0);d(this,"createdAt",0);d(this,"delay",0);d(this,"delAtFirstView",!1);d(this,"keys",{client:"",server:""});d(this,"name","");d(this,"password","");d(this,"queueIndex",0);d(this,"serverUrl");d(this,"size",0);d(this,"uploadStatus",3);d(this,"totalChunks",0);d(this,"type","");d(this,"zipped",!1);this.serverUrl=e,Object.assign(this,t)}downloadUrl(){let e=new URL(this.serverUrl);return new URL(`${e.origin+e.pathname}r/${this.keys.server}#${this.keys.client}`)}removeUrl(){let e=new URL(this.serverUrl);return new URL(`${e.origin+e.pathname}d/${this.keys.server}/${this.actionToken}`)}static fromDownloadUrl(e,t=""){let n=e.pathname.split("r/"),i={client:e.hash.slice(1).split("&")[0],server:n[1]};return new r(e.origin+n[0],{keys:i,password:t})}static fromRemoveUrl(e,t=""){let n=e.pathname.split("d/"),i=n[1].split("/"),o={client:"",server:i[0]};return new r(e.origin+n[0],{keys:o,password:t,actionToken:i[1]})}};var at=Er(xr());var $=class extends Error{constructor(t,n={}){let{cause:i,context:o}=n;super(t,{cause:i});d(this,"context");this.name=this.constructor.name,this.context=o}};var Ye=class extends ${constructor(){super(...arguments);d(this,"message","Unable to connect. Is the computer able to access the url?")}};var er=class extends ${constructor(){super(...arguments);d(this,"message","The server returned an error")}};var J=r=>{if(r instanceof Error)return r;let e="[Unable to stringify the thrown value]";try{e=JSON.stringify(r)}catch{}return new Error(e)},ot=r=>{let e=r.href.match(/(.*?)\/?(?:\/[dr]{1}\/|login\/?|files\/?)/),t=e&&e[1]?e[1]:r.origin;return I.fromPromise(fetch(t+"/about/config"),n=>new Ye(void 0,{cause:J(n)})).andThen(n=>n.ok?I.fromPromise(n.json(),i=>J(i)):W(new er(void 0,{context:n.statusText})))},st=()=>typeof Deno<"u",br=()=>st()||globalThis.isSecureContext||globalThis.location.protocol==="https:",ke=r=>st()?new URL(`./worker/${r}.ts`,new URL(".",import.meta.url).href):new URL(import.meta.resolve(`./${r!=="encrypt"?`worker/${r}`:r}.js`));var Ae=class{constructor(e,t){d(this,"events",new at.default);d(this,"lufiFile");d(this,"status",2);d(this,"downloadedFile");d(this,"tmpChunks",[]);d(this,"worker");d(this,"isTerminated",!1);d(this,"complete",()=>{this.status=0,this.events.emit("JOB_TERMINATED")});d(this,"hasFailed",()=>this.status===1);d(this,"onError",e=>(this.worker.onerror=t=>{e(t)},this));d(this,"onMessage",e=>(this.worker.onmessage=t=>{e&&e(t);let n=t.data.event;n&&(n==="FILE_UPDATED"?Object.assign(this.lufiFile,t.data.lufiFile):this.dispatchEvent(n,t.data.error))},this));d(this,"onMessageError",e=>(this.worker.onmessageerror=t=>{e(t)},this));d(this,"onProgress",e=>(this.events.on("CHUNK_UPLOADED",()=>{e()}),this.events.on("CHUNK_DOWNLOADED",()=>{e()}),this));d(this,"requestMessage",(e,t=[])=>(this.worker.postMessage(e,t),this));d(this,"terminate",()=>(this.worker.terminate(),this));d(this,"waitForCompletion",()=>this.isTerminated?this.status===0?H(this):W(J("Job has failed")):I.fromPromise(new Promise((e,t)=>{this.events.once("OPERATION_FAILED",n=>{t(n)}),this.events.once("JOB_TERMINATED",()=>{this.status===0&&e(this)})}),e=>J(e)));d(this,"dispatchEvent",(e,t)=>{this.events.emit(e,t)});switch(t){case 0:this.worker=new Worker(ke("cancel"),{type:"module"});break;case 1:this.worker=new Worker(ke("download"),{type:"module"});break;case 2:this.worker=new Worker(ke("infos"),{type:"module"});break;case 3:this.worker=new Worker(ke("remove"),{type:"module"});break;case 4:this.worker=new Worker(ke("upload"),{type:"module"});break}this.lufiFile=e,this.events.once("JOB_TERMINATED",()=>{this.isTerminated=!0,this.terminate()}),this.events.once("OPERATION_FAILED",n=>{this.status=1,this.lufiFile.uploadStatus=2,this.events.emit("JOB_TERMINATED",n)}),this.onError(n=>console.error(n.error))}};var Se=(t=>(t[t.Sjcl=0]="Sjcl",t[t.WebCrypto=1]="WebCrypto",t))(Se||{});var Pe=class{constructor(e,t){if(!e||e.length!=64)throw Error("Charset must contain 64 characters");this._charset=e,this._noPadding=!!t,this._valid=new RegExp("^["+this._charset.replace("-","\\-")+"]+={0,2}$")}Encode(e){let t=e.byteLength;if(!t)return"";let n=new Uint8Array(e),i="";for(let o=0;o>2]+this._charset[(n[o]&3)<<4|n[o+1]>>4]+this._charset[(n[o+1]&15)<<2|n[o+2]>>6]+this._charset[n[o+2]&63];return t%3==2?(i=i.substring(0,i.length-1),this._noPadding||(i+="=")):t%3==1&&(i=i.substring(0,i.length-2),this._noPadding||(i+="==")),i}Decode(e){if(e=(e||"").replace(/[\s]/g,""),!e)return new ArrayBuffer(0);if(!this._valid.test(e))throw Error("Invalid base64 input sequence");let t=Math.floor(e.length*.75);e[e.length-2]=="="?t-=2:e[e.length-1]=="="&&t--;let n=new Uint8Array(t),i,o,s,a,f=0,c=0;for(;f>4,n[f++]=(o&15)<<4|s>>2,n[f++]=(s&3)<<6|a;return n.buffer}};var zi=new Pe("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/");var yn=new Pe("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_",!0);function Dr(r){return yn.Encode(r)}var We=Er(pt());var fe=class extends ${};var Te=class extends fe{constructor(){super(...arguments);d(this,"message","Unable to hash the provided string")}};var vt=()=>{try{return H(We.default.codec.base64.fromBits(We.default.random.randomWords(8,10)))}catch(r){return W(new fe("Unable to generate key",{cause:J(r)}))}},mt=r=>{try{return H(We.default.codec.hex.fromBits(We.default.hash.sha512.hash(r)))}catch(e){return W(new Te(void 0,{cause:J(e)}))}};var dt=()=>I.fromPromise(new Promise((r,e)=>crypto.subtle.generateKey({name:"AES-GCM",length:256},!0,["encrypt","decrypt"]).then(t=>crypto.subtle.exportKey("raw",t).then(n=>r(Dr(n))).catch(n=>{e(new fe("Unable to base64 encode the url",{cause:J(n)}))})).catch(t=>e(t))),r=>new fe("Unable to generate key",{cause:J(r)})),yt=r=>{let e=async()=>Array.from(new Uint8Array(await crypto.subtle.digest("SHA-512",new TextEncoder().encode(r)))).map(t=>t.toString(16).padStart(2,"0")).join("");return I.fromPromise(e(),t=>new Te(void 0,{cause:J(t)}))};var gt=(r=1)=>r===0?vt():dt(),Cr=(r,e)=>e===0?mt(r):yt(r);var wt={},bn=function(r,e,t,n,i){var o=new Worker(wt[e]||(wt[e]=URL.createObjectURL(new Blob([r+';addEventListener("error",function(e){e=e.error;postMessage({$e$:[e.message,e.code,e.stack]})})'],{type:"text/javascript"}))));return o.onmessage=function(s){var a=s.data,f=a.$e$;if(f){var c=new Error(f[0]);c.code=f[1],c.stack=f[2],i(c,null)}else i(null,a)},o.postMessage(t,n),o},B=Uint8Array,ee=Uint16Array,Ze=Int32Array,ze=new B([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]),Fe=new B([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]),He=new B([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),bt=function(r,e){for(var t=new ee(31),n=0;n<31;++n)t[n]=e+=1<>1|(T&21845)<<1,de=(de&52428)>>2|(de&13107)<<2,de=(de&61680)>>4|(de&3855)<<4,qe[T]=((de&65280)>>8|(de&255)<<8)>>1;var de,T,ae=function(r,e,t){for(var n=r.length,i=0,o=new ee(e);i>f]=c}else for(a=new ee(n),i=0;i>15-r[i]);return a},ye=new B(288);for(T=0;T<144;++T)ye[T]=8;var T;for(T=144;T<256;++T)ye[T]=9;var T;for(T=256;T<280;++T)ye[T]=7;var T;for(T=280;T<288;++T)ye[T]=8;var T,Ue=new B(32);for(T=0;T<32;++T)Ue[T]=5;var T,kt=ae(ye,9,0),St=ae(ye,9,1),Pt=ae(Ue,5,0),Rt=ae(Ue,5,1),or=function(r){for(var e=r[0],t=1;te&&(e=r[t]);return e},se=function(r,e,t){var n=e/8|0;return(r[n]|r[n+1]<<8)>>(e&7)&t},sr=function(r,e){var t=e/8|0;return(r[t]|r[t+1]<<8|r[t+2]<<16)>>(e&7)},Ke=function(r){return(r+7)/8|0},be=function(r,e,t){return(e==null||e<0)&&(e=0),(t==null||t>r.length)&&(t=r.length),new B(r.subarray(e,t))};var Tt=["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"],q=function(r,e,t){var n=new Error(e||Tt[r]);if(n.code=r,Error.captureStackTrace&&Error.captureStackTrace(n,q),!t)throw n;return n},It=function(r,e,t,n){var i=r.length,o=n?n.length:0;if(!i||e.f&&!e.l)return t||new B(0);var s=!t,a=s||e.i!=2,f=e.i;s&&(t=new B(i*3));var c=function(X){var _e=t.length;if(X>_e){var De=new B(Math.max(_e*2,X));De.set(t),t=De}},h=e.f||0,l=e.p||0,p=e.b||0,v=e.l,A=e.d,g=e.m,y=e.n,D=i*8;do{if(!v){h=se(r,l,1);var M=se(r,l+1,3);if(l+=3,M)if(M==1)v=St,A=Rt,g=9,y=5;else if(M==2){var L=se(r,l,31)+257,b=se(r,l+10,15)+4,w=L+se(r,l+5,31)+1;l+=14;for(var m=new B(w),S=new B(19),C=0;C>4;if(O<16)m[C++]=O;else{var _=0,R=0;for(O==16?(R=3+se(r,l,3),l+=2,_=m[C-1]):O==17?(R=3+se(r,l,7),l+=3):O==18&&(R=11+se(r,l,127),l+=7);R--;)m[C++]=_}}var Z=m.subarray(0,L),G=m.subarray(L);g=or(Z),y=or(G),v=ae(Z,g,1),A=ae(G,y,1)}else q(1);else{var O=Ke(l)+4,E=r[O-4]|r[O-3]<<8,x=O+E;if(x>i){f&&q(0);break}a&&c(p+E),t.set(r.subarray(O,x),p),e.b=p+=E,e.p=l=x*8,e.f=h;continue}if(l>D){f&&q(0);break}}a&&c(p+131072);for(var me=(1<>4;if(l+=_&15,l>D){f&&q(0);break}if(_||q(2),Y<256)t[p++]=Y;else if(Y==256){te=l,v=null;break}else{var j=Y-254;if(Y>264){var C=Y-257,N=ze[C];j=se(r,l,(1<>4;re||q(3),l+=re&15;var G=Ct[ne];if(ne>3){var N=Fe[ne];G+=sr(r,l)&(1<D){f&&q(0);break}a&&c(p+131072);var ge=p+j;if(p>8},Ie=function(r,e,t){t<<=e&7;var n=e/8|0;r[n]|=t,r[n+1]|=t>>8,r[n+2]|=t>>16},ar=function(r,e){for(var t=[],n=0;np&&(p=o[n].s);var v=new ee(p+1),A=fr(t[h-1],v,0);if(A>e){var n=0,g=0,y=A-e,D=1<e)g+=D-(1<>=y;g>0;){var O=o[n].s;v[O]=0&&g;--n){var E=o[n].s;v[E]==e&&(--v[E],++g)}A=e}return{t:new B(v),l:A}},fr=function(r,e,t){return r.s==-1?Math.max(fr(r.l,e,t+1),fr(r.r,e,t+1)):e[r.s]=t},Pr=function(r){for(var e=r.length;e&&!r[--e];);for(var t=new ee(++e),n=0,i=r[0],o=1,s=function(f){t[n++]=f},a=1;a<=e;++a)if(r[a]==i&&a!=e)++o;else{if(!i&&o>2){for(;o>138;o-=138)s(32754);o>2&&(s(o>10?o-11<<5|28690:o-3<<5|12305),o=0)}else if(o>3){for(s(i),--o;o>6;o-=6)s(8304);o>2&&(s(o-3<<5|8208),o=0)}for(;o--;)s(i);o=1,i=r[a]}return{c:t.subarray(0,n),n:e}},Me=function(r,e){for(var t=0,n=0;n>8,r[i+2]=r[i]^255,r[i+3]=r[i+1]^255;for(var o=0;o4&&!S[He[z-1]];--z);var V=c+5<<3,P=Me(i,ye)+Me(o,Ue)+s,k=Me(i,p)+Me(o,g)+s+14+3*z+Me(b,S)+2*b[16]+3*b[17]+7*b[18];if(f>=0&&V<=P&&V<=k)return Ur(e,h,r.subarray(f,f+c));var _,R,Z,G;if(pe(e,h,1+(k15&&(pe(e,h,Y[w]>>5&127),h+=Y[w]>>12)}}else _=kt,R=ye,Z=Pt,G=Ue;for(var w=0;w255){var j=N>>18&31;Ie(e,h,_[j+257]),h+=R[j+257],j>7&&(pe(e,h,N>>23&31),h+=ze[j]);var re=N&31;Ie(e,h,Z[re]),h+=G[re],re>3&&(Ie(e,h,N>>5&8191),h+=Fe[re])}else Ie(e,h,_[N]),h+=R[N]}return Ie(e,h,_[256]),h+R[256]},Mt=new Ze([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),zr=new B(0),Ut=function(r,e,t,n,i,o){var s=o.z||r.length,a=new B(n+s+5*(1+Math.ceil(s/7e3))+i),f=a.subarray(n,a.length-i),c=o.l,h=(o.r||0)&7;if(e){h&&(f[0]=o.r>>3);for(var l=Mt[e-1],p=l>>13,v=l&8191,A=(1<7e3||S>24576)&&(_>423||!c)){h=Rr(r,f,0,E,x,L,w,S,z,m-z,h),S=b=w=0,z=m;for(var R=0;R<286;++R)x[R]=0;for(var R=0;R<30;++R)L[R]=0}var Z=2,G=0,me=v,K=P-k&32767;if(_>2&&V==O(m-K))for(var te=Math.min(p,_)-1,Y=Math.min(32767,m),j=Math.min(258,_);K<=Y&&--me&&P!=k;){if(r[m+Z]==r[m+Z-K]){for(var N=0;NZ){if(Z=N,G=K,N>te)break;for(var re=Math.min(K,N-2),ne=0,R=0;Rne&&(ne=F,k=ge)}}}P=k,k=g[P],K+=P-k&32767}if(G){E[S++]=268435456|ur[Z]<<18|Sr[G];var X=ur[Z]&31,_e=Sr[G]&31;w+=ze[X]+Fe[_e],++x[257+X],++L[_e],C=m+Z,++b}else E[S++]=r[m],++x[r[m]]}}for(m=Math.max(m,C);m=s&&(f[h/8|0]=c,De=s),h=Ur(f,h+1,r.subarray(m,De))}o.i=s}return be(a,0,n+Ke(h)+i)},Dn=function(){for(var r=new Int32Array(256),e=0;e<256;++e){for(var t=e,n=9;--n;)t=(t&1&&-306674912)^t>>>1;r[e]=t}return r}(),On=function(){var r=-1;return{p:function(e){for(var t=r,n=0;n>>8;r=t},d:function(){return~r}}};var zt=function(r,e,t,n,i){if(!i&&(i={l:1},e.dictionary)){var o=e.dictionary.subarray(-32768),s=new B(o.length+r.length);s.set(o),s.set(r,o.length),r=s,i.w=o.length}return Ut(r,e.level==null?6:e.level,e.mem==null?i.l?Math.ceil(Math.max(8,Math.min(13,Math.log(r.length)))*1.5):20:12+e.mem,t,n,i)},Fr=function(r,e){var t={};for(var n in r)t[n]=r[n];for(var n in e)t[n]=e[n];return t},Et=function(r,e,t){for(var n=r(),i=r.toString(),o=i.slice(i.indexOf("[")+1,i.lastIndexOf("]")).replace(/\s+/g,"").split(","),s=0;s>>0},kr=function(r,e){return ce(r,e)+ce(r,e+4)*4294967296},Q=function(r,e,t){for(;t;++e)r[e]=t,t>>>=8};function Rn(r,e,t){return t||(t=e,e={}),typeof t!="function"&&q(7),Bt(r,e,[Pn],function(n){return hr(Br(n.data[0],n.data[1]))},0,t)}function Br(r,e){return zt(r,e||{},0,0)}function Tn(r,e,t){return t||(t=e,e={}),typeof t!="function"&&q(7),Bt(r,e,[Sn],function(n){return hr(_r(n.data[0],Ft(n.data[1])))},1,t)}function _r(r,e){return It(r,{i:2},e&&e.out,e&&e.dictionary)}var _t=function(r,e,t,n){for(var i in r){var o=r[i],s=e+i,a=n;Array.isArray(o)&&(a=Fr(n,o[1]),o=o[0]),o instanceof B?t[s]=[o,a]:(t[s+="/"]=[new B(0),a],_t(o,s,t,n))}},At=typeof TextEncoder<"u"&&new TextEncoder,Tr=typeof TextDecoder<"u"&&new TextDecoder,In=0;try{Tr.decode(zr,{stream:!0}),In=1}catch{}var Mn=function(r){for(var e="",t=0;;){var n=r[t++],i=(n>127)+(n>223)+(n>239);if(t+i>r.length)return{s:e,r:be(r,t-1)};i?i==3?(n=((n&15)<<18|(r[t++]&63)<<12|(r[t++]&63)<<6|r[t++]&63)-65536,e+=String.fromCharCode(55296|n>>10,56320|n&1023)):i&1?e+=String.fromCharCode((n&31)<<6|r[t++]&63):e+=String.fromCharCode((n&15)<<12|(r[t++]&63)<<6|r[t++]&63):e+=String.fromCharCode(n)}};function xt(r,e){if(e){for(var t=new B(r.length),n=0;n>1)),s=0,a=function(h){o[s++]=h},n=0;no.length){var f=new B(s+8+(i-n<<1));f.set(o),o=f}var c=r.charCodeAt(n);c<128||e?a(c):c<2048?(a(192|c>>6),a(128|c&63)):c>55295&&c<57344?(c=65536+(c&1047552)|r.charCodeAt(++n)&1023,a(240|c>>18),a(128|c>>12&63),a(128|c>>6&63),a(128|c&63)):(a(224|c>>12),a(128|c>>6&63),a(128|c&63))}return be(o,0,s)}function Un(r,e){if(e){for(var t="",n=0;n65535&&q(9),e+=n+4}return e},Lt=function(r,e,t,n,i,o,s,a){var f=n.length,c=t.extra,h=a&&a.length,l=Ir(c);Q(r,e,s!=null?33639248:67324752),e+=4,s!=null&&(r[e++]=20,r[e++]=t.os),r[e]=20,e+=2,r[e++]=t.flag<<1|(o<0&&8),r[e++]=i&&8,r[e++]=t.compression&255,r[e++]=t.compression>>8;var p=new Date(t.mtime==null?Date.now():t.mtime),v=p.getFullYear()-1980;if((v<0||v>119)&&q(10),Q(r,e,v<<25|p.getMonth()+1<<21|p.getDate()<<16|p.getHours()<<11|p.getMinutes()<<5|p.getSeconds()>>1),e+=4,o!=-1&&(Q(r,e,t.crc),Q(r,e+4,o<0?-o-2:o),Q(r,e+8,t.size)),Q(r,e+12,f),Q(r,e+14,l),e+=16,s!=null&&(Q(r,e,h),Q(r,e+6,t.attrs),Q(r,e+10,s),e+=14),r.set(n,e),e+=f,l)for(var A in c){var g=c[A],y=g.length;Q(r,e,+A),Q(r,e+2,y),r.set(g,e+4),e+=4+y}return h&&(r.set(a,e),e+=h),e},_n=function(r,e,t,n,i){Q(r,e,101010256),Q(r,e+8,t),Q(r,e+10,t),Q(r,e+12,n),Q(r,e+16,i)};function jt(r,e,t){t||(t=e,e={}),typeof t!="function"&&q(7);var n={};_t(r,"",n,e);var i=Object.keys(n),o=i.length,s=0,a=0,f=o,c=new Array(o),h=[],l=function(){for(var y=0;y65535&&P(q(11,0,1),null),!V)P(null,O);else if(L<16e4)try{P(null,Br(O,E))}catch(k){P(k,null)}else h.push(Rn(O,E,P))},g=0;g65558)return s(q(13,0,1),null),i;var f=ve(r,a+8);if(f){var c=f,h=ce(r,a+16),l=h==4294967295||c==65535;if(l){var p=ce(r,a-12);l=ce(r,p)==101075792,l&&(c=f=ce(r,p+32),h=ce(r,p+48))}for(var v=e&&e.filter,A=function(y){var D=Fn(r,h,l),M=D[0],O=D[1],E=D[2],x=D[3],L=D[4],b=D[5],w=zn(r,b);h=L;var m=function(C,z){C?(i(),s(C,null)):(z&&(o[x]=z),--f||s(null,o))};if(!v||v({name:x,size:O,originalSize:E,compression:M}))if(!M)m(null,be(r,w,w+O));else if(M==8){var S=r.subarray(w,w+O);if(E<524288||O>.8*E)try{m(null,_r(S,{out:new B(E)}))}catch(C){m(C,null)}else n.push(Tn(S,{size:E},m))}else m(q(14,"unknown compression type "+M,1),null);else m(null,null)},g=0;g{r.terminate();let e=new Ae(r.lufiFile,0);return I.fromPromise(new Promise((t,n)=>{e.onMessage(i=>{i.data.event==="UPLOAD_CANCELLED"&&(xe[e.lufiFile.keys.client].uploadStatus=0,t(e)),i.data.event==="OPERATION_FAILED"&&n(new ue("An error occured while trying to cancel an upload",{cause:i.data.error}))}).requestMessage({args:{lufiFile:e.lufiFile}})}),t=>J(t))},Gt=(r,e={})=>{let t=async n=>{var i;for(let o of n){let s=((i=o.name.split("/"))==null?void 0:i.pop())||o.name,a=s.split(".").shift(),f=s.split(".").pop(),c=s;if(e[c]!==void 0){let h=1;do c=`${a}_(${h}).${f}`,h++;while(e[c]!==void 0)}gr.emit("ARCHIVE_ADDED_FILE",{name:c,size:o.size}),e[c]=await o.bytes()}};return I.fromPromise(t(r),n=>J(n)).andThen(()=>H(e))},Wt=(r,e)=>{let t=()=>new Promise((n,i)=>{jt(r,(o,s)=>{o&&i(o),n(s)})});return I.fromPromise(t(),n=>n).andThen(n=>{try{return H(new File([new Blob([n])],e,{type:"application/zip"}))}catch(i){return W(i)}}).orElse(n=>W(new lr(void 0,{cause:J(n)})))},Jn=r=>{let e=async()=>{let t=await r.bytes();return new Promise((n,i)=>{Nt(t,(o,s)=>{o&&i(o),n(s)})})};return I.fromPromise(e(),t=>t).andThen(t=>{try{let n=[];for(let i in t)n.push(new File([new Blob([t[i]])],i));return H(n)}catch(n){return W(n)}}).orElse(t=>W(new pr(void 0,{cause:J(t)})))},Ht=(r,e)=>e?ot(r).andThen(t=>{if(t.version.tag>"0.07.0"){let n=br()?1:0;return Cr(e,n).andThen(i=>H(Ee.fromDownloadUrl(r,i)))}else return H(Ee.fromDownloadUrl(r,e))}):H(Ee.fromDownloadUrl(r)),Gn=(r,e)=>Ht(r,e).andThen(t=>{let n=new Ae(t,1);return I.fromPromise(new Promise((i,o)=>n.onMessage(s=>{qt(i,o,n,s),s.data.event==="CHUNK_DOWNLOADED"&&(n.tmpChunks[s.data.chunk.index]=new Blob([s.data.chunk.buffer])),s.data.event==="DOWNLOAD_COMPLETE"&&(n.downloadedFile=new File(n.tmpChunks,t.name,{type:t.type}),n.tmpChunks=[],n.complete())}).requestMessage({args:{lufiFile:t}})),i=>new vr(void 0,{cause:J(i)}))}),Wn=(r,e)=>Ht(r,e).andThen(t=>H(new Ae(t,2))).andThen(t=>I.fromPromise(new Promise((n,i)=>{t.onMessage(o=>{o.data.event==="INFOS_RETRIEVED"&&(t.complete(),n(t)),o.data.event==="OPERATION_FAILED"&&i(new ue("An error occured while trying to retrieve informations of the file",{cause:o.data.error}))}).requestMessage({args:{lufiFile:t.lufiFile}})}),n=>new mr(void 0,{cause:J(n)}))),Hn=r=>{try{return r.status=3,H(r.requestMessage({action:0,args:{lufiFile:r.lufiFile}}))}catch(e){return W(new dr(void 0,{cause:J(e)}))}},qn=(r,e)=>{let t=Ee.fromRemoveUrl(r,e),n=new Ae(t,3);return I.fromPromise(new Promise((i,o)=>{n.onMessage(s=>{s.data.event==="FILE_REMOVED"&&(n.complete(),i(n)),s.data.event==="OPERATION_FAILED"&&o(new ue("An error occured while trying to remove a file",{cause:s.data.error()}))}).requestMessage({args:{lufiFile:t}})}),i=>J(i))},Zn=r=>{try{return r.status=2,H(r.requestMessage({action:2,args:{lufiFile:r.lufiFile}}))}catch(e){return W(new yr(void 0,{cause:J(e)}))}},Kn=(r,e,t=jn)=>{gr.emit("SLICE_STARTED",xe[e]);let n=Math.ceil(r.size/t)||1;xe[e].totalChunks=n;let i=[];for(let o=0;o{let f=[];return i?e.length===1&&e[0].type==="application/zip"?f.push(jr(r,e[0],t,n,i,s,a)):f.push(Gt(e).andThen(c=>Wt(c,o).andThen(h=>(gr.emit("ARCHIVE_CREATED",h),jr(r,h,t,n,i,s,a))))):e.forEach(c=>{f.push(jr(r,c,t,n,i,s,a))}),I.combine(f).orElse(c=>W(new $e(void 0,{cause:c})))},jr=(r,e,t,n,i,o,s)=>gt(s).andThen(a=>o?Cr(o,s).andThen(f=>H({password:f,clientKey:a})):H({password:o,clientKey:a})).andThen(({password:a,clientKey:f})=>{xe[f]=new Ee(r.toString(),{delay:t,delAtFirstView:n,zipped:i,password:a,name:e.name.split("/").pop(),size:e.size,type:e.type,keys:{client:f,server:""}});let c=new Ae(xe[f],4);return Kn(e,f).andThen(h=>{xe[f].uploadStatus=4;let l=new Promise((v,A)=>{c.onMessage(g=>{switch(qt(v,A,c,g),g.data.event){case"UPLOAD_COMPLETE":c.complete(),c.lufiFile.uploadStatus=1;break}})}),p=async v=>{for(let[A,g]of v.entries()){let y=await g.arrayBuffer();c.requestMessage({args:{chunk:{buffer:y,index:A},lufiFile:xe[f],algo:s}},[y])}};return I.fromPromise(p(h),v=>new ue("An error occurred while sending chunks",{cause:J(v)})).andThen(()=>I.fromPromise(l,v=>J(v)))}).orElse(h=>W(new $e("An error occured while uploading a file",{cause:h})))}),qt=(r,e,t,n)=>{n.data.event==="SOCKET_OPENED"&&r(t),n.data.event==="OPERATION_FAILED"&&e(new ue("The job returned an error",{cause:n.data.error}))},Vn=()=>Object.values(xe).filter(r=>r.uploadStatus===4),Xn=r=>Object.keys(Vn()).indexOf(r);export{Se as CryptoAlgorithm,I as ResultAsync,le as err,W as errAsync,br as isSecureContext,Nr as lufi,we as ok,H as okAsync};