mirror of
https://github.com/agdamsbo/prioritized.grouping.git
synced 2025-09-12 18:49:39 +02:00
4 lines
67 KiB
JavaScript
4 lines
67 KiB
JavaScript
"use strict";var $s=Object.create;var ft=Object.defineProperty;var Gs=Object.getOwnPropertyDescriptor;var Ks=Object.getOwnPropertyNames;var Qs=Object.getPrototypeOf,Zs=Object.prototype.hasOwnProperty;var _=(r,e)=>()=>(e||r((e={exports:{}}).exports,e),e.exports),Ys=(r,e)=>{for(var t in e)ft(r,t,{get:e[t],enumerable:!0})},$r=(r,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Ks(e))!Zs.call(r,n)&&n!==t&&ft(r,n,{get:()=>e[n],enumerable:!(s=Gs(e,n))||s.enumerable});return r};var ee=(r,e,t)=>(t=r!=null?$s(Qs(r)):{},$r(e||!r||!r.__esModule?ft(t,"default",{value:r,enumerable:!0}):t,r)),en=r=>$r(ft({},"__esModule",{value:!0}),r);var pr=(r,e,t)=>{if(!e.has(r))throw TypeError("Cannot "+t)};var i=(r,e,t)=>(pr(r,e,"read from private field"),t?t.call(r):e.get(r)),u=(r,e,t)=>{if(e.has(r))throw TypeError("Cannot add the same private member more than once");e instanceof WeakSet?e.add(r):e.set(r,t)},d=(r,e,t,s)=>(pr(r,e,"write to private field"),s?s.call(r,t):e.set(r,t),t),Gr=(r,e,t,s)=>({set _(n){d(r,e,n,t)},get _(){return i(r,e,s)}}),x=(r,e,t)=>(pr(r,e,"access private method"),t);var Oe=_(I=>{"use strict";Object.defineProperty(I,"__esModule",{value:!0});I.getUint64=I.getInt64=I.setInt64=I.setUint64=I.UINT32_MAX=void 0;I.UINT32_MAX=4294967295;function sn(r,e,t){let s=t/4294967296,n=t;r.setUint32(e,s),r.setUint32(e+4,n)}I.setUint64=sn;function nn(r,e,t){let s=Math.floor(t/4294967296),n=t;r.setUint32(e,s),r.setUint32(e+4,n)}I.setInt64=nn;function on(r,e){let t=r.getInt32(e),s=r.getUint32(e+4);return t*4294967296+s}I.getInt64=on;function an(r,e){let t=r.getUint32(e),s=r.getUint32(e+4);return t*4294967296+s}I.getUint64=an});var bt=_(S=>{"use strict";var hr,yr,fr;Object.defineProperty(S,"__esModule",{value:!0});S.utf8DecodeTD=S.TEXT_DECODER_THRESHOLD=S.utf8DecodeJs=S.utf8EncodeTE=S.TEXT_ENCODER_THRESHOLD=S.utf8EncodeJs=S.utf8Count=void 0;var Zr=Oe(),gt=(typeof process>"u"||((hr=process==null?void 0:process.env)===null||hr===void 0?void 0:hr.TEXT_ENCODING)!=="never")&&typeof TextEncoder<"u"&&typeof TextDecoder<"u";function ln(r){let e=r.length,t=0,s=0;for(;s<e;){let n=r.charCodeAt(s++);if(n&4294967168)if(!(n&4294965248))t+=2;else{if(n>=55296&&n<=56319&&s<e){let o=r.charCodeAt(s);(o&64512)===56320&&(++s,n=((n&1023)<<10)+(o&1023)+65536)}n&4294901760?t+=4:t+=3}else{t++;continue}}return t}S.utf8Count=ln;function cn(r,e,t){let s=r.length,n=t,o=0;for(;o<s;){let a=r.charCodeAt(o++);if(a&4294967168)if(!(a&4294965248))e[n++]=a>>6&31|192;else{if(a>=55296&&a<=56319&&o<s){let c=r.charCodeAt(o);(c&64512)===56320&&(++o,a=((a&1023)<<10)+(c&1023)+65536)}a&4294901760?(e[n++]=a>>18&7|240,e[n++]=a>>12&63|128,e[n++]=a>>6&63|128):(e[n++]=a>>12&15|224,e[n++]=a>>6&63|128)}else{e[n++]=a;continue}e[n++]=a&63|128}}S.utf8EncodeJs=cn;var Ae=gt?new TextEncoder:void 0;S.TEXT_ENCODER_THRESHOLD=gt?typeof process<"u"&&((yr=process==null?void 0:process.env)===null||yr===void 0?void 0:yr.TEXT_ENCODING)!=="force"?200:0:Zr.UINT32_MAX;function un(r,e,t){e.set(Ae.encode(r),t)}function pn(r,e,t){Ae.encodeInto(r,e.subarray(t))}S.utf8EncodeTE=Ae!=null&&Ae.encodeInto?pn:un;var dn=4096;function hn(r,e,t){let s=e,n=s+t,o=[],a="";for(;s<n;){let c=r[s++];if(!(c&128))o.push(c);else if((c&224)===192){let p=r[s++]&63;o.push((c&31)<<6|p)}else if((c&240)===224){let p=r[s++]&63,v=r[s++]&63;o.push((c&31)<<12|p<<6|v)}else if((c&248)===240){let p=r[s++]&63,v=r[s++]&63,Y=r[s++]&63,z=(c&7)<<18|p<<12|v<<6|Y;z>65535&&(z-=65536,o.push(z>>>10&1023|55296),z=56320|z&1023),o.push(z)}else o.push(c);o.length>=dn&&(a+=String.fromCharCode(...o),o.length=0)}return o.length>0&&(a+=String.fromCharCode(...o)),a}S.utf8DecodeJs=hn;var yn=gt?new TextDecoder:null;S.TEXT_DECODER_THRESHOLD=gt?typeof process<"u"&&((fr=process==null?void 0:process.env)===null||fr===void 0?void 0:fr.TEXT_DECODER)!=="force"?200:0:Zr.UINT32_MAX;function fn(r,e,t){let s=r.subarray(e,e+t);return yn.decode(s)}S.utf8DecodeTD=fn});var mr=_(wt=>{"use strict";Object.defineProperty(wt,"__esModule",{value:!0});wt.ExtData=void 0;var Rr=class{constructor(e,t){this.type=e,this.data=t}};wt.ExtData=Rr});var vt=_(xt=>{"use strict";Object.defineProperty(xt,"__esModule",{value:!0});xt.DecodeError=void 0;var de=class extends Error{constructor(e){super(e);let t=Object.create(de.prototype);Object.setPrototypeOf(this,t),Object.defineProperty(this,"name",{configurable:!0,enumerable:!1,value:de.name})}};xt.DecodeError=de});var gr=_(T=>{"use strict";Object.defineProperty(T,"__esModule",{value:!0});T.timestampExtension=T.decodeTimestampExtension=T.decodeTimestampToTimeSpec=T.encodeTimestampExtension=T.encodeDateToTimeSpec=T.encodeTimeSpecToTimestamp=T.EXT_TIMESTAMP=void 0;var Rn=vt(),Yr=Oe();T.EXT_TIMESTAMP=-1;var mn=4294967296-1,gn=17179869184-1;function es({sec:r,nsec:e}){if(r>=0&&e>=0&&r<=gn)if(e===0&&r<=mn){let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,r),t}else{let t=r/4294967296,s=r&4294967295,n=new Uint8Array(8),o=new DataView(n.buffer);return o.setUint32(0,e<<2|t&3),o.setUint32(4,s),n}else{let t=new Uint8Array(12),s=new DataView(t.buffer);return s.setUint32(0,e),(0,Yr.setInt64)(s,4,r),t}}T.encodeTimeSpecToTimestamp=es;function ts(r){let e=r.getTime(),t=Math.floor(e/1e3),s=(e-t*1e3)*1e6,n=Math.floor(s/1e9);return{sec:t+n,nsec:s-n*1e9}}T.encodeDateToTimeSpec=ts;function rs(r){if(r instanceof Date){let e=ts(r);return es(e)}else return null}T.encodeTimestampExtension=rs;function ss(r){let e=new DataView(r.buffer,r.byteOffset,r.byteLength);switch(r.byteLength){case 4:return{sec:e.getUint32(0),nsec:0};case 8:{let t=e.getUint32(0),s=e.getUint32(4),n=(t&3)*4294967296+s,o=t>>>2;return{sec:n,nsec:o}}case 12:{let t=(0,Yr.getInt64)(e,4),s=e.getUint32(0);return{sec:t,nsec:s}}default:throw new Rn.DecodeError(`Unrecognized data size for timestamp (expected 4, 8, or 12): ${r.length}`)}}T.decodeTimestampToTimeSpec=ss;function ns(r){let e=ss(r);return new Date(e.sec*1e3+e.nsec/1e6)}T.decodeTimestampExtension=ns;T.timestampExtension={type:T.EXT_TIMESTAMP,encode:rs,decode:ns}});var Tt=_(Pt=>{"use strict";Object.defineProperty(Pt,"__esModule",{value:!0});Pt.ExtensionCodec=void 0;var Et=mr(),bn=gr(),Ie=class{constructor(){this.builtInEncoders=[],this.builtInDecoders=[],this.encoders=[],this.decoders=[],this.register(bn.timestampExtension)}register({type:e,encode:t,decode:s}){if(e>=0)this.encoders[e]=t,this.decoders[e]=s;else{let n=1+e;this.builtInEncoders[n]=t,this.builtInDecoders[n]=s}}tryToEncode(e,t){for(let s=0;s<this.builtInEncoders.length;s++){let n=this.builtInEncoders[s];if(n!=null){let o=n(e,t);if(o!=null){let a=-1-s;return new Et.ExtData(a,o)}}}for(let s=0;s<this.encoders.length;s++){let n=this.encoders[s];if(n!=null){let o=n(e,t);if(o!=null){let a=s;return new Et.ExtData(a,o)}}}return e instanceof Et.ExtData?e:null}decode(e,t,s){let n=t<0?this.builtInDecoders[-1-t]:this.decoders[t];return n?n(e,t,s):new Et.ExtData(t,e)}};Pt.ExtensionCodec=Ie;Ie.defaultCodec=new Ie});var br=_(he=>{"use strict";Object.defineProperty(he,"__esModule",{value:!0});he.createDataView=he.ensureUint8Array=void 0;function os(r){return r instanceof Uint8Array?r:ArrayBuffer.isView(r)?new Uint8Array(r.buffer,r.byteOffset,r.byteLength):r instanceof ArrayBuffer?new Uint8Array(r):Uint8Array.from(r)}he.ensureUint8Array=os;function wn(r){if(r instanceof ArrayBuffer)return new DataView(r);let e=os(r);return new DataView(e.buffer,e.byteOffset,e.byteLength)}he.createDataView=wn});var xr=_(C=>{"use strict";Object.defineProperty(C,"__esModule",{value:!0});C.Encoder=C.DEFAULT_INITIAL_BUFFER_SIZE=C.DEFAULT_MAX_DEPTH=void 0;var Ue=bt(),xn=Tt(),is=Oe(),vn=br();C.DEFAULT_MAX_DEPTH=100;C.DEFAULT_INITIAL_BUFFER_SIZE=2048;var wr=class{constructor(e=xn.ExtensionCodec.defaultCodec,t=void 0,s=C.DEFAULT_MAX_DEPTH,n=C.DEFAULT_INITIAL_BUFFER_SIZE,o=!1,a=!1,c=!1,p=!1){this.extensionCodec=e,this.context=t,this.maxDepth=s,this.initialBufferSize=n,this.sortKeys=o,this.forceFloat32=a,this.ignoreUndefined=c,this.forceIntegerToFloat=p,this.pos=0,this.view=new DataView(new ArrayBuffer(this.initialBufferSize)),this.bytes=new Uint8Array(this.view.buffer)}reinitializeState(){this.pos=0}encodeSharedRef(e){return this.reinitializeState(),this.doEncode(e,1),this.bytes.subarray(0,this.pos)}encode(e){return this.reinitializeState(),this.doEncode(e,1),this.bytes.slice(0,this.pos)}doEncode(e,t){if(t>this.maxDepth)throw new Error(`Too deep objects in depth ${t}`);e==null?this.encodeNil():typeof e=="boolean"?this.encodeBoolean(e):typeof e=="number"?this.encodeNumber(e):typeof e=="string"?this.encodeString(e):this.encodeObject(e,t)}ensureBufferSizeToWrite(e){let t=this.pos+e;this.view.byteLength<t&&this.resizeBuffer(t*2)}resizeBuffer(e){let t=new ArrayBuffer(e),s=new Uint8Array(t),n=new DataView(t);s.set(this.bytes),this.view=n,this.bytes=s}encodeNil(){this.writeU8(192)}encodeBoolean(e){e===!1?this.writeU8(194):this.writeU8(195)}encodeNumber(e){Number.isSafeInteger(e)&&!this.forceIntegerToFloat?e>=0?e<128?this.writeU8(e):e<256?(this.writeU8(204),this.writeU8(e)):e<65536?(this.writeU8(205),this.writeU16(e)):e<4294967296?(this.writeU8(206),this.writeU32(e)):(this.writeU8(207),this.writeU64(e)):e>=-32?this.writeU8(224|e+32):e>=-128?(this.writeU8(208),this.writeI8(e)):e>=-32768?(this.writeU8(209),this.writeI16(e)):e>=-2147483648?(this.writeU8(210),this.writeI32(e)):(this.writeU8(211),this.writeI64(e)):this.forceFloat32?(this.writeU8(202),this.writeF32(e)):(this.writeU8(203),this.writeF64(e))}writeStringHeader(e){if(e<32)this.writeU8(160+e);else if(e<256)this.writeU8(217),this.writeU8(e);else if(e<65536)this.writeU8(218),this.writeU16(e);else if(e<4294967296)this.writeU8(219),this.writeU32(e);else throw new Error(`Too long string: ${e} bytes in UTF-8`)}encodeString(e){if(e.length>Ue.TEXT_ENCODER_THRESHOLD){let n=(0,Ue.utf8Count)(e);this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),(0,Ue.utf8EncodeTE)(e,this.bytes,this.pos),this.pos+=n}else{let n=(0,Ue.utf8Count)(e);this.ensureBufferSizeToWrite(5+n),this.writeStringHeader(n),(0,Ue.utf8EncodeJs)(e,this.bytes,this.pos),this.pos+=n}}encodeObject(e,t){let s=this.extensionCodec.tryToEncode(e,this.context);if(s!=null)this.encodeExtension(s);else if(Array.isArray(e))this.encodeArray(e,t);else if(ArrayBuffer.isView(e))this.encodeBinary(e);else if(typeof e=="object")this.encodeMap(e,t);else throw new Error(`Unrecognized object: ${Object.prototype.toString.apply(e)}`)}encodeBinary(e){let t=e.byteLength;if(t<256)this.writeU8(196),this.writeU8(t);else if(t<65536)this.writeU8(197),this.writeU16(t);else if(t<4294967296)this.writeU8(198),this.writeU32(t);else throw new Error(`Too large binary: ${t}`);let s=(0,vn.ensureUint8Array)(e);this.writeU8a(s)}encodeArray(e,t){let s=e.length;if(s<16)this.writeU8(144+s);else if(s<65536)this.writeU8(220),this.writeU16(s);else if(s<4294967296)this.writeU8(221),this.writeU32(s);else throw new Error(`Too large array: ${s}`);for(let n of e)this.doEncode(n,t+1)}countWithoutUndefined(e,t){let s=0;for(let n of t)e[n]!==void 0&&s++;return s}encodeMap(e,t){let s=Object.keys(e);this.sortKeys&&s.sort();let n=this.ignoreUndefined?this.countWithoutUndefined(e,s):s.length;if(n<16)this.writeU8(128+n);else if(n<65536)this.writeU8(222),this.writeU16(n);else if(n<4294967296)this.writeU8(223),this.writeU32(n);else throw new Error(`Too large map object: ${n}`);for(let o of s){let a=e[o];this.ignoreUndefined&&a===void 0||(this.encodeString(o),this.doEncode(a,t+1))}}encodeExtension(e){let t=e.data.length;if(t===1)this.writeU8(212);else if(t===2)this.writeU8(213);else if(t===4)this.writeU8(214);else if(t===8)this.writeU8(215);else if(t===16)this.writeU8(216);else if(t<256)this.writeU8(199),this.writeU8(t);else if(t<65536)this.writeU8(200),this.writeU16(t);else if(t<4294967296)this.writeU8(201),this.writeU32(t);else throw new Error(`Too large extension object: ${t}`);this.writeI8(e.type),this.writeU8a(e.data)}writeU8(e){this.ensureBufferSizeToWrite(1),this.view.setUint8(this.pos,e),this.pos++}writeU8a(e){let t=e.length;this.ensureBufferSizeToWrite(t),this.bytes.set(e,this.pos),this.pos+=t}writeI8(e){this.ensureBufferSizeToWrite(1),this.view.setInt8(this.pos,e),this.pos++}writeU16(e){this.ensureBufferSizeToWrite(2),this.view.setUint16(this.pos,e),this.pos+=2}writeI16(e){this.ensureBufferSizeToWrite(2),this.view.setInt16(this.pos,e),this.pos+=2}writeU32(e){this.ensureBufferSizeToWrite(4),this.view.setUint32(this.pos,e),this.pos+=4}writeI32(e){this.ensureBufferSizeToWrite(4),this.view.setInt32(this.pos,e),this.pos+=4}writeF32(e){this.ensureBufferSizeToWrite(4),this.view.setFloat32(this.pos,e),this.pos+=4}writeF64(e){this.ensureBufferSizeToWrite(8),this.view.setFloat64(this.pos,e),this.pos+=8}writeU64(e){this.ensureBufferSizeToWrite(8),(0,is.setUint64)(this.view,this.pos,e),this.pos+=8}writeI64(e){this.ensureBufferSizeToWrite(8),(0,is.setInt64)(this.view,this.pos,e),this.pos+=8}};C.Encoder=wr});var as=_(_t=>{"use strict";Object.defineProperty(_t,"__esModule",{value:!0});_t.encode=void 0;var En=xr(),Pn={};function Tn(r,e=Pn){return new En.Encoder(e.extensionCodec,e.context,e.maxDepth,e.initialBufferSize,e.sortKeys,e.forceFloat32,e.ignoreUndefined,e.forceIntegerToFloat).encodeSharedRef(r)}_t.encode=Tn});var ls=_(St=>{"use strict";Object.defineProperty(St,"__esModule",{value:!0});St.prettyByte=void 0;function _n(r){return`${r<0?"-":""}0x${Math.abs(r).toString(16).padStart(2,"0")}`}St.prettyByte=_n});var cs=_(Mt=>{"use strict";Object.defineProperty(Mt,"__esModule",{value:!0});Mt.CachedKeyDecoder=void 0;var Sn=bt(),Mn=16,kn=16,vr=class{constructor(e=Mn,t=kn){this.maxKeyLength=e,this.maxLengthPerKey=t,this.hit=0,this.miss=0,this.caches=[];for(let s=0;s<this.maxKeyLength;s++)this.caches.push([])}canBeCached(e){return e>0&&e<=this.maxKeyLength}find(e,t,s){let n=this.caches[s-1];e:for(let o of n){let a=o.bytes;for(let c=0;c<s;c++)if(a[c]!==e[t+c])continue e;return o.str}return null}store(e,t){let s=this.caches[e.length-1],n={bytes:e,str:t};s.length>=this.maxLengthPerKey?s[Math.random()*s.length|0]=n:s.push(n)}decode(e,t,s){let n=this.find(e,t,s);if(n!=null)return this.hit++,n;this.miss++;let o=(0,Sn.utf8DecodeJs)(e,t,s),a=Uint8Array.prototype.slice.call(e,t,t+s);return this.store(a,o),o}};Mt.CachedKeyDecoder=vr});var kt=_(J=>{"use strict";Object.defineProperty(J,"__esModule",{value:!0});J.Decoder=J.DataViewIndexOutOfBoundsError=void 0;var Er=ls(),Dn=Tt(),te=Oe(),Pr=bt(),Tr=br(),Wn=cs(),H=vt(),On=r=>{let e=typeof r;return e==="string"||e==="number"},Ce=-1,Sr=new DataView(new ArrayBuffer(0)),An=new Uint8Array(Sr.buffer);J.DataViewIndexOutOfBoundsError=(()=>{try{Sr.getInt8(0)}catch(r){return r.constructor}throw new Error("never reached")})();var us=new J.DataViewIndexOutOfBoundsError("Insufficient data"),In=new Wn.CachedKeyDecoder,_r=class{constructor(e=Dn.ExtensionCodec.defaultCodec,t=void 0,s=te.UINT32_MAX,n=te.UINT32_MAX,o=te.UINT32_MAX,a=te.UINT32_MAX,c=te.UINT32_MAX,p=In){this.extensionCodec=e,this.context=t,this.maxStrLength=s,this.maxBinLength=n,this.maxArrayLength=o,this.maxMapLength=a,this.maxExtLength=c,this.keyDecoder=p,this.totalPos=0,this.pos=0,this.view=Sr,this.bytes=An,this.headByte=Ce,this.stack=[]}reinitializeState(){this.totalPos=0,this.headByte=Ce,this.stack.length=0}setBuffer(e){this.bytes=(0,Tr.ensureUint8Array)(e),this.view=(0,Tr.createDataView)(this.bytes),this.pos=0}appendBuffer(e){if(this.headByte===Ce&&!this.hasRemaining(1))this.setBuffer(e);else{let t=this.bytes.subarray(this.pos),s=(0,Tr.ensureUint8Array)(e),n=new Uint8Array(t.length+s.length);n.set(t),n.set(s,t.length),this.setBuffer(n)}}hasRemaining(e){return this.view.byteLength-this.pos>=e}createExtraByteError(e){let{view:t,pos:s}=this;return new RangeError(`Extra ${t.byteLength-s} of ${t.byteLength} byte(s) found at buffer[${e}]`)}decode(e){this.reinitializeState(),this.setBuffer(e);let t=this.doDecodeSync();if(this.hasRemaining(1))throw this.createExtraByteError(this.pos);return t}*decodeMulti(e){for(this.reinitializeState(),this.setBuffer(e);this.hasRemaining(1);)yield this.doDecodeSync()}async decodeAsync(e){let t=!1,s;for await(let c of e){if(t)throw this.createExtraByteError(this.totalPos);this.appendBuffer(c);try{s=this.doDecodeSync(),t=!0}catch(p){if(!(p instanceof J.DataViewIndexOutOfBoundsError))throw p}this.totalPos+=this.pos}if(t){if(this.hasRemaining(1))throw this.createExtraByteError(this.totalPos);return s}let{headByte:n,pos:o,totalPos:a}=this;throw new RangeError(`Insufficient data in parsing ${(0,Er.prettyByte)(n)} at ${a} (${o} in the current buffer)`)}decodeArrayStream(e){return this.decodeMultiAsync(e,!0)}decodeStream(e){return this.decodeMultiAsync(e,!1)}async*decodeMultiAsync(e,t){let s=t,n=-1;for await(let o of e){if(t&&n===0)throw this.createExtraByteError(this.totalPos);this.appendBuffer(o),s&&(n=this.readArraySize(),s=!1,this.complete());try{for(;yield this.doDecodeSync(),--n!==0;);}catch(a){if(!(a instanceof J.DataViewIndexOutOfBoundsError))throw a}this.totalPos+=this.pos}}doDecodeSync(){e:for(;;){let e=this.readHeadByte(),t;if(e>=224)t=e-256;else if(e<192)if(e<128)t=e;else if(e<144){let n=e-128;if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e<160){let n=e-144;if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else{let n=e-160;t=this.decodeUtf8String(n,0)}else if(e===192)t=null;else if(e===194)t=!1;else if(e===195)t=!0;else if(e===202)t=this.readF32();else if(e===203)t=this.readF64();else if(e===204)t=this.readU8();else if(e===205)t=this.readU16();else if(e===206)t=this.readU32();else if(e===207)t=this.readU64();else if(e===208)t=this.readI8();else if(e===209)t=this.readI16();else if(e===210)t=this.readI32();else if(e===211)t=this.readI64();else if(e===217){let n=this.lookU8();t=this.decodeUtf8String(n,1)}else if(e===218){let n=this.lookU16();t=this.decodeUtf8String(n,2)}else if(e===219){let n=this.lookU32();t=this.decodeUtf8String(n,4)}else if(e===220){let n=this.readU16();if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else if(e===221){let n=this.readU32();if(n!==0){this.pushArrayState(n),this.complete();continue e}else t=[]}else if(e===222){let n=this.readU16();if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e===223){let n=this.readU32();if(n!==0){this.pushMapState(n),this.complete();continue e}else t={}}else if(e===196){let n=this.lookU8();t=this.decodeBinary(n,1)}else if(e===197){let n=this.lookU16();t=this.decodeBinary(n,2)}else if(e===198){let n=this.lookU32();t=this.decodeBinary(n,4)}else if(e===212)t=this.decodeExtension(1,0);else if(e===213)t=this.decodeExtension(2,0);else if(e===214)t=this.decodeExtension(4,0);else if(e===215)t=this.decodeExtension(8,0);else if(e===216)t=this.decodeExtension(16,0);else if(e===199){let n=this.lookU8();t=this.decodeExtension(n,1)}else if(e===200){let n=this.lookU16();t=this.decodeExtension(n,2)}else if(e===201){let n=this.lookU32();t=this.decodeExtension(n,4)}else throw new H.DecodeError(`Unrecognized type byte: ${(0,Er.prettyByte)(e)}`);this.complete();let s=this.stack;for(;s.length>0;){let n=s[s.length-1];if(n.type===0)if(n.array[n.position]=t,n.position++,n.position===n.size)s.pop(),t=n.array;else continue e;else if(n.type===1){if(!On(t))throw new H.DecodeError("The type of key must be string or number but "+typeof t);if(t==="__proto__")throw new H.DecodeError("The key __proto__ is not allowed");n.key=t,n.type=2;continue e}else if(n.map[n.key]=t,n.readCount++,n.readCount===n.size)s.pop(),t=n.map;else{n.key=null,n.type=1;continue e}}return t}}readHeadByte(){return this.headByte===Ce&&(this.headByte=this.readU8()),this.headByte}complete(){this.headByte=Ce}readArraySize(){let e=this.readHeadByte();switch(e){case 220:return this.readU16();case 221:return this.readU32();default:{if(e<160)return e-144;throw new H.DecodeError(`Unrecognized array type byte: ${(0,Er.prettyByte)(e)}`)}}}pushMapState(e){if(e>this.maxMapLength)throw new H.DecodeError(`Max length exceeded: map length (${e}) > maxMapLengthLength (${this.maxMapLength})`);this.stack.push({type:1,size:e,key:null,readCount:0,map:{}})}pushArrayState(e){if(e>this.maxArrayLength)throw new H.DecodeError(`Max length exceeded: array length (${e}) > maxArrayLength (${this.maxArrayLength})`);this.stack.push({type:0,size:e,array:new Array(e),position:0})}decodeUtf8String(e,t){var s;if(e>this.maxStrLength)throw new H.DecodeError(`Max length exceeded: UTF-8 byte length (${e}) > maxStrLength (${this.maxStrLength})`);if(this.bytes.byteLength<this.pos+t+e)throw us;let n=this.pos+t,o;return this.stateIsMapKey()&&(!((s=this.keyDecoder)===null||s===void 0)&&s.canBeCached(e))?o=this.keyDecoder.decode(this.bytes,n,e):e>Pr.TEXT_DECODER_THRESHOLD?o=(0,Pr.utf8DecodeTD)(this.bytes,n,e):o=(0,Pr.utf8DecodeJs)(this.bytes,n,e),this.pos+=t+e,o}stateIsMapKey(){return this.stack.length>0?this.stack[this.stack.length-1].type===1:!1}decodeBinary(e,t){if(e>this.maxBinLength)throw new H.DecodeError(`Max length exceeded: bin length (${e}) > maxBinLength (${this.maxBinLength})`);if(!this.hasRemaining(e+t))throw us;let s=this.pos+t,n=this.bytes.subarray(s,s+e);return this.pos+=t+e,n}decodeExtension(e,t){if(e>this.maxExtLength)throw new H.DecodeError(`Max length exceeded: ext length (${e}) > maxExtLength (${this.maxExtLength})`);let s=this.view.getInt8(this.pos+t),n=this.decodeBinary(e,t+1);return this.extensionCodec.decode(n,s,this.context)}lookU8(){return this.view.getUint8(this.pos)}lookU16(){return this.view.getUint16(this.pos)}lookU32(){return this.view.getUint32(this.pos)}readU8(){let e=this.view.getUint8(this.pos);return this.pos++,e}readI8(){let e=this.view.getInt8(this.pos);return this.pos++,e}readU16(){let e=this.view.getUint16(this.pos);return this.pos+=2,e}readI16(){let e=this.view.getInt16(this.pos);return this.pos+=2,e}readU32(){let e=this.view.getUint32(this.pos);return this.pos+=4,e}readI32(){let e=this.view.getInt32(this.pos);return this.pos+=4,e}readU64(){let e=(0,te.getUint64)(this.view,this.pos);return this.pos+=8,e}readI64(){let e=(0,te.getInt64)(this.view,this.pos);return this.pos+=8,e}readF32(){let e=this.view.getFloat32(this.pos);return this.pos+=4,e}readF64(){let e=this.view.getFloat64(this.pos);return this.pos+=8,e}};J.Decoder=_r});var Mr=_(N=>{"use strict";Object.defineProperty(N,"__esModule",{value:!0});N.decodeMulti=N.decode=N.defaultDecodeOptions=void 0;var ps=kt();N.defaultDecodeOptions={};function Un(r,e=N.defaultDecodeOptions){return new ps.Decoder(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength).decode(r)}N.decode=Un;function Cn(r,e=N.defaultDecodeOptions){return new ps.Decoder(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength).decodeMulti(r)}N.decodeMulti=Cn});var ys=_(X=>{"use strict";Object.defineProperty(X,"__esModule",{value:!0});X.ensureAsyncIterable=X.asyncIterableFromStream=X.isAsyncIterable=void 0;function ds(r){return r[Symbol.asyncIterator]!=null}X.isAsyncIterable=ds;function Nn(r){if(r==null)throw new Error("Assertion Failure: value must not be null nor undefined")}async function*hs(r){let e=r.getReader();try{for(;;){let{done:t,value:s}=await e.read();if(t)return;Nn(s),yield s}}finally{e.releaseLock()}}X.asyncIterableFromStream=hs;function Ln(r){return ds(r)?r:hs(r)}X.ensureAsyncIterable=Ln});var Rs=_(L=>{"use strict";Object.defineProperty(L,"__esModule",{value:!0});L.decodeStream=L.decodeMultiStream=L.decodeArrayStream=L.decodeAsync=void 0;var kr=kt(),Dr=ys(),Dt=Mr();async function jn(r,e=Dt.defaultDecodeOptions){let t=(0,Dr.ensureAsyncIterable)(r);return new kr.Decoder(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength).decodeAsync(t)}L.decodeAsync=jn;function Fn(r,e=Dt.defaultDecodeOptions){let t=(0,Dr.ensureAsyncIterable)(r);return new kr.Decoder(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength).decodeArrayStream(t)}L.decodeArrayStream=Fn;function fs(r,e=Dt.defaultDecodeOptions){let t=(0,Dr.ensureAsyncIterable)(r);return new kr.Decoder(e.extensionCodec,e.context,e.maxStrLength,e.maxBinLength,e.maxArrayLength,e.maxMapLength,e.maxExtLength).decodeStream(t)}L.decodeMultiStream=fs;function Bn(r,e=Dt.defaultDecodeOptions){return fs(r,e)}L.decodeStream=Bn});var Ot=_(h=>{"use strict";Object.defineProperty(h,"__esModule",{value:!0});h.decodeTimestampExtension=h.encodeTimestampExtension=h.decodeTimestampToTimeSpec=h.encodeTimeSpecToTimestamp=h.encodeDateToTimeSpec=h.EXT_TIMESTAMP=h.ExtData=h.ExtensionCodec=h.Encoder=h.DataViewIndexOutOfBoundsError=h.DecodeError=h.Decoder=h.decodeStream=h.decodeMultiStream=h.decodeArrayStream=h.decodeAsync=h.decodeMulti=h.decode=h.encode=void 0;var qn=as();Object.defineProperty(h,"encode",{enumerable:!0,get:function(){return qn.encode}});var ms=Mr();Object.defineProperty(h,"decode",{enumerable:!0,get:function(){return ms.decode}});Object.defineProperty(h,"decodeMulti",{enumerable:!0,get:function(){return ms.decodeMulti}});var Wt=Rs();Object.defineProperty(h,"decodeAsync",{enumerable:!0,get:function(){return Wt.decodeAsync}});Object.defineProperty(h,"decodeArrayStream",{enumerable:!0,get:function(){return Wt.decodeArrayStream}});Object.defineProperty(h,"decodeMultiStream",{enumerable:!0,get:function(){return Wt.decodeMultiStream}});Object.defineProperty(h,"decodeStream",{enumerable:!0,get:function(){return Wt.decodeStream}});var gs=kt();Object.defineProperty(h,"Decoder",{enumerable:!0,get:function(){return gs.Decoder}});Object.defineProperty(h,"DataViewIndexOutOfBoundsError",{enumerable:!0,get:function(){return gs.DataViewIndexOutOfBoundsError}});var Vn=vt();Object.defineProperty(h,"DecodeError",{enumerable:!0,get:function(){return Vn.DecodeError}});var Hn=xr();Object.defineProperty(h,"Encoder",{enumerable:!0,get:function(){return Hn.Encoder}});var Jn=Tt();Object.defineProperty(h,"ExtensionCodec",{enumerable:!0,get:function(){return Jn.ExtensionCodec}});var zn=mr();Object.defineProperty(h,"ExtData",{enumerable:!0,get:function(){return zn.ExtData}});var ye=gr();Object.defineProperty(h,"EXT_TIMESTAMP",{enumerable:!0,get:function(){return ye.EXT_TIMESTAMP}});Object.defineProperty(h,"encodeDateToTimeSpec",{enumerable:!0,get:function(){return ye.encodeDateToTimeSpec}});Object.defineProperty(h,"encodeTimeSpecToTimestamp",{enumerable:!0,get:function(){return ye.encodeTimeSpecToTimestamp}});Object.defineProperty(h,"decodeTimestampToTimeSpec",{enumerable:!0,get:function(){return ye.decodeTimestampToTimeSpec}});Object.defineProperty(h,"encodeTimestampExtension",{enumerable:!0,get:function(){return ye.encodeTimestampExtension}});Object.defineProperty(h,"decodeTimestampExtension",{enumerable:!0,get:function(){return ye.decodeTimestampExtension}})});var vo={};Ys(vo,{ChannelType:()=>D,Console:()=>sr,Shelter:()=>dt,WebR:()=>pt,WebRChannelError:()=>E,WebRError:()=>A,WebRPayloadError:()=>q,WebRWorkerError:()=>We,isRCall:()=>uo,isRCharacter:()=>ao,isRComplex:()=>io,isRDouble:()=>oo,isREnvironment:()=>ro,isRFunction:()=>Nr,isRInteger:()=>no,isRList:()=>lo,isRLogical:()=>so,isRNull:()=>Yn,isRObject:()=>b,isRPairlist:()=>to,isRRaw:()=>co,isRSymbol:()=>eo});module.exports=en(vo);var A=class extends Error{constructor(e){super(e),this.name=this.constructor.name,Object.setPrototypeOf(this,new.target.prototype)}},We=class extends A{},E=class extends A{},q=class extends A{};var m=typeof process<"u"&&process.release&&process.release.name==="node",dr;if(globalThis.document)dr=r=>new Promise((e,t)=>{let s=document.createElement("script");s.src=r,s.onload=()=>e(),s.onerror=t,document.head.appendChild(s)});else if(globalThis.importScripts)dr=async r=>{try{globalThis.importScripts(r)}catch(e){if(e instanceof TypeError)await Promise.resolve().then(()=>ee(require(r)));else throw e}};else if(m)dr=async r=>{let e=(await Promise.resolve().then(()=>ee(require("path")))).default;await Promise.resolve().then(()=>ee(require(e.resolve(r))))};else throw new A("Cannot determine runtime environment");function V(){let r={resolve:t=>{},reject:t=>{},promise:null},e=new Promise((t,s)=>{r.resolve=t,r.reject=s});return r.promise=e,r}function Kr(r){return new Promise(e=>setTimeout(e,r))}function U(r,e,t,...s){return r===null||typeof r!="object"?r:e(r)?t(r,...s):Array.isArray(r)||ArrayBuffer.isView(r)?r.map(n=>U(n,e,t,...s)):Object.fromEntries(Object.entries(r).map(([n,o],a)=>[n,U(o,e,t,...s)]))}function ue(r,e){let t=new XMLHttpRequest;t.open("get",r,!0),t.onload=()=>{let s=new Worker(URL.createObjectURL(new Blob([t.responseText])));e(s)},t.send()}function pe(r){if(m)return!1;let e=new URL(location.href),t=new URL(r,location.origin);return!(e.host===t.host&&e.port===t.port&&e.protocol===t.protocol)}var tn=new WeakMap;function Qr(r,e){return tn.set(r,e),r}var Rt=63;function mt(){let r=Array.from({length:4},rn).join("-");if(r.length!==Rt)throw new Error("comlink internal error: UUID has the wrong length");return r}function rn(){let r=Math.floor(Math.random()*Number.MAX_SAFE_INTEGER).toString(16),e=15-r.length;return e>0&&(r=Array.from({length:e},()=>0).join("")+r),r}var ws=ee(Ot());var Xn=new TextEncoder;async function xs(r,e,t){try{let{taskId:s,sizeBuffer:n,dataBuffer:o,signalBuffer:a}=e,c=(0,ws.encode)(t),p=c.length<=o.length;if(Atomics.store(n,0,c.length),Atomics.store(n,1,+p),!p){let[v,Y]=$n(r);o.set(Xn.encode(v)),await bs(a,s),o=(await Y).dataBuffer}o.set(c),Atomics.store(n,1,1),await bs(a,s)}catch(s){console.warn(s)}}function $n(r){let e=mt();return[e,new Promise(t=>{m?r.once("message",s=>{!s.id||s.id!==e||t(s)}):r.addEventListener("message",function s(n){!n.data||!n.data.id||n.data.id!==e||(r.removeEventListener("message",s),t(n.data))}),r.start&&r.start()})]}async function bs(r,e){let t=(e>>1)%32,s=1;for(;Atomics.compareExchange(r,t+1,0,e)!==0;)await Kr(s),s<32&&(s*=2);Atomics.or(r,0,1<<t),Atomics.notify(r,0)}var j,F,Ne,Wr,fe=class{constructor(){u(this,Ne);u(this,j,void 0);u(this,F,void 0);d(this,F,[]),d(this,j,[])}reset(){d(this,F,[]),d(this,j,[])}put(e){i(this,F).length||x(this,Ne,Wr).call(this),i(this,F).shift()(e)}async get(){return i(this,j).length||x(this,Ne,Wr).call(this),i(this,j).shift()}isEmpty(){return!i(this,j).length}isBlocked(){return!!i(this,F).length}get length(){return i(this,j).length-i(this,F).length}};j=new WeakMap,F=new WeakMap,Ne=new WeakSet,Wr=function(){i(this,j).push(new Promise(e=>{i(this,F).push(e)}))};function Re(r,e){return vs({type:"request",data:{uuid:mt(),msg:r}},e)}function Le(r,e,t){return vs({type:"response",data:{uuid:r,resp:e}},t)}function vs(r,e){return e&&Qr(r,e),r}function Es(r,e){return{type:"sync-request",data:{msg:r,reqData:e}}}function Ps(r){let e=new We(r.obj.message);return r.obj.name!=="Error"&&(e.name=r.obj.name),e.stack=r.obj.stack,e}function Gn(r){return r&&typeof r=="object"&&"payloadType"in r&&"obj"in r}function Ut(r){return Gn(r)&&r.payloadType==="ptr"}var me,$=class{constructor(){this.inputQueue=new fe;this.outputQueue=new fe;this.systemQueue=new fe;u(this,me,new Map)}async read(){return await this.outputQueue.get()}async flush(){let e=[];for(;!this.outputQueue.isEmpty();)e.push(await this.read());return e}async readSystem(){return await this.systemQueue.get()}write(e){this.inputQueue.put(e)}async request(e,t){let s=Re(e,t),{resolve:n,reject:o,promise:a}=V();return i(this,me).set(s.data.uuid,{resolve:n,reject:o}),this.write(s),a}putClosedMessage(){this.outputQueue.put({type:"closed"})}resolveResponse(e){let t=e.data.uuid,s=i(this,me).get(t);if(s){let n=e.data.resp;i(this,me).delete(t),n.payloadType==="err"?s.reject(Ps(n)):s.resolve(n)}else console.warn("Can't find request.")}};me=new WeakMap;var _s=ee(Ot());var Qn=new TextDecoder("utf-8"),ge,be,je,Fe,we,Nt=class{constructor(e,t,s=[]){u(this,ge,!1);u(this,be,void 0);u(this,je,void 0);u(this,Fe,void 0);u(this,we,void 0);this.syncifier=new Or;this.endpoint=e,this.msg=t,this.transfers=s,d(this,be,!1)}scheduleSync(){if(!i(this,ge))return d(this,ge,!0),this.syncifier.scheduleTask(this),d(this,we,this.doSync()),i(this,we).next(),this}poll(){if(!i(this,ge))throw new Error("Task not synchronously scheduled");let{done:e,value:t}=i(this,we).next();return e?(d(this,be,!0),d(this,je,t),!0):!1}*doSync(){let{endpoint:e,msg:t,transfers:s}=this,n=new Int32Array(new SharedArrayBuffer(8)),o=this.signalBuffer,a=this.taskId,c=Ts(Rt),p=Es(t,{sizeBuffer:n,dataBuffer:c,signalBuffer:o,taskId:a});if(e.postMessage(p,s),yield,Atomics.load(n,1)===0){let Y=Qn.decode(c.slice(0,Rt));Zn(c);let z=Atomics.load(n,0);c=Ts(z),e.postMessage({id:Y,dataBuffer:c}),yield}let v=Atomics.load(n,0);return(0,_s.decode)(c.slice(0,v))}get result(){if(i(this,Fe))throw i(this,Fe);if(i(this,be))return i(this,je);throw new Error("Not ready.")}syncify(){return this.scheduleSync(),this.syncifier.syncifyTask(this),this.result}};ge=new WeakMap,be=new WeakMap,je=new WeakMap,Fe=new WeakMap,we=new WeakMap;var Or=class{constructor(){this.nextTaskId=new Int32Array([1]),this.signalBuffer=new Int32Array(new SharedArrayBuffer(32*4+4)),this.tasks=new Map}scheduleTask(e){e.taskId=this.nextTaskId[0],this.nextTaskId[0]+=2,e.signalBuffer=this.signalBuffer,this.tasks.set(e.taskId,e)}waitOnSignalBuffer(){for(;;)switch(Atomics.wait(this.signalBuffer,0,0,50)){case"ok":case"not-equal":return;case"timed-out":Ar[0]!==0&&Ss();break;default:throw new Error("Unreachable")}}*tasksIdsToWakeup(){let e=Atomics.load(this.signalBuffer,0);for(let t=0;t<32;t++){let s=1<<t;e&s&&(Atomics.and(this.signalBuffer,0,~s),yield Atomics.exchange(this.signalBuffer,t+1,0))}}pollTasks(e){let t=!1;for(let s of this.tasksIdsToWakeup()){let n=this.tasks.get(s);if(!n)throw new Error(`Assertion error: unknown taskId ${s}.`);n.poll()&&(this.tasks.delete(s),n===e&&(t=!0))}return t}syncifyTask(e){for(;;)if(this.waitOnSignalBuffer(),this.pollTasks(e))return}},Ct=[];function Ts(r){let e=Math.ceil(Math.log2(r));Ct[e]||(Ct[e]=[]);let t=Ct[e].pop();return t?(t.fill(0),t):new Uint8Array(new SharedArrayBuffer(2**e))}function Zn(r){let e=Math.ceil(Math.log2(r.byteLength));Ct[e].push(r)}var Ar=new Int32Array(new ArrayBuffer(4)),Ss=()=>{throw Ar[0]=0,new Error("Interrupted!")};function Ms(r){Ss=r}function ks(r){Ar=new Int32Array(r)}var l={};function Ds(r){Object.keys(r).forEach(e=>l._free(r[e]))}m&&(globalThis.Worker=require("worker_threads").Worker);var xe,Lt,Ws,qe,Be=class extends ${constructor(t){super();u(this,Lt);u(this,xe,void 0);this.close=()=>{};u(this,qe,async(t,s)=>{if(!(!s||!s.type))switch(s.type){case"resolve":d(this,xe,new Int32Array(s.data)),this.resolve();return;case"response":this.resolveResponse(s);return;case"system":this.systemQueue.put(s.data);return;default:this.outputQueue.put(s);return;case"sync-request":{let n=s,o=n.data.msg,a=n.data.reqData;switch(o.type){case"read":{let c=await this.inputQueue.get();await xs(t,a,c);break}default:throw new E(`Unsupported request type '${o.type}'.`)}return}case"request":throw new E("Can't send messages of type 'request' from a worker. Please Use 'sync-request' instead.")}});let s=n=>{x(this,Lt,Ws).call(this,n),this.close=()=>{n.terminate(),this.putClosedMessage()};let o={type:"init",data:{config:t,channelType:D.SharedArrayBuffer}};n.postMessage(o)};if(pe(t.baseUrl))ue(`${t.baseUrl}webr-worker.js`,n=>s(n));else{let n=new Worker(`${t.baseUrl}webr-worker.js`);s(n)}({resolve:this.resolve,promise:this.initialised}=V())}interrupt(){if(!i(this,xe))throw new E("Failed attempt to interrupt before initialising interruptBuffer");this.inputQueue.reset(),i(this,xe)[0]=1}};xe=new WeakMap,Lt=new WeakSet,Ws=function(t){m?t.on("message",s=>{i(this,qe).call(this,t,s)}):t.onmessage=s=>i(this,qe).call(this,t,s.data)},qe=new WeakMap;var re,Ve,se,He,Ir=class{constructor(){u(this,re,void 0);u(this,Ve,()=>0);u(this,se,new Int32Array(new SharedArrayBuffer(4)));u(this,He,()=>{});this.onMessageFromMainThread=()=>{};d(this,re,m?require("worker_threads").parentPort:globalThis),ks(i(this,se).buffer),Ms(()=>this.handleInterrupt())}resolve(){this.write({type:"resolve",data:i(this,se).buffer})}write(e,t){i(this,re).postMessage(e,t)}writeSystem(e,t){i(this,re).postMessage({type:"system",data:e},t)}read(){let e={type:"read"};return new Nt(i(this,re),e).syncify()}inputOrDispatch(){for(;;){let e=this.read();if(e.type==="stdin")return l.allocateUTF8(e.data);i(this,Ve).call(this,e)}}run(e){l.callMain(e)}setInterrupt(e){d(this,He,e)}handleInterrupt(){i(this,se)[0]!==0&&(i(this,se)[0]=0,i(this,He).call(this))}setDispatchHandler(e){d(this,Ve,e)}};re=new WeakMap,Ve=new WeakMap,se=new WeakMap,He=new WeakMap;var Vt=ee(Ot());m&&(globalThis.Worker=require("worker_threads").Worker);var ve,ne,Ee,Ft,Os,Bt,As,qt,Is,Je,jt=class extends ${constructor(t){super();u(this,Ft);u(this,Bt);u(this,qt);this.close=()=>{};u(this,ve,new Map);u(this,ne,void 0);u(this,Ee,!1);u(this,Je,async(t,s)=>{if(!(!s||!s.type))switch(s.type){case"resolve":this.resolve();return;case"response":this.resolveResponse(s);return;case"system":this.systemQueue.put(s.data);return;default:this.outputQueue.put(s);return;case"sync-request":{let n=s.data;i(this,ve).set(n.data.uuid,n.data.msg);return}case"request":throw new E("Can't send messages of type 'request' from a worker.Use service worker fetch request instead.")}});let s=n=>{x(this,qt,Is).call(this,n),this.close=()=>{n.terminate(),this.putClosedMessage()},x(this,Ft,Os).call(this,`${t.serviceWorkerUrl}webr-serviceworker.js`).then(o=>{let a={type:"init",data:{config:t,channelType:D.ServiceWorker,clientId:o,location:window.location.href}};n.postMessage(a)})};if(pe(t.serviceWorkerUrl))ue(`${t.serviceWorkerUrl}webr-worker.js`,n=>s(n));else{let n=new Worker(`${t.serviceWorkerUrl}webr-worker.js`);s(n)}({resolve:this.resolve,promise:this.initialised}=V())}activeRegistration(){var t;if(!((t=i(this,ne))!=null&&t.active))throw new E("Attempted to obtain a non-existent active registration.");return i(this,ne).active}interrupt(){d(this,Ee,!0)}};ve=new WeakMap,ne=new WeakMap,Ee=new WeakMap,Ft=new WeakSet,Os=async function(t){d(this,ne,await navigator.serviceWorker.register(t)),await navigator.serviceWorker.ready,window.addEventListener("beforeunload",()=>{var n;(n=i(this,ne))==null||n.unregister()});let s=await new Promise(n=>{navigator.serviceWorker.addEventListener("message",function o(a){a.data.type==="registration-successful"&&(navigator.serviceWorker.removeEventListener("message",o),n(a.data.clientId))}),this.activeRegistration().postMessage({type:"register-client-main"})});return navigator.serviceWorker.addEventListener("message",n=>{x(this,Bt,As).call(this,n)}),s},Bt=new WeakSet,As=async function(t){if(t.data.type==="request"){let s=t.data.data,n=i(this,ve).get(s);if(!n)throw new E("Request not found during service worker XHR request");switch(i(this,ve).delete(s),n.type){case"read":{let o=await this.inputQueue.get();this.activeRegistration().postMessage({type:"wasm-webr-fetch-response",uuid:s,response:Le(s,o)});break}case"interrupt":{let o=i(this,Ee);this.activeRegistration().postMessage({type:"wasm-webr-fetch-response",uuid:s,response:Le(s,o)}),this.inputQueue.reset(),d(this,Ee,!1);break}default:throw new E(`Unsupported request type '${n.type}'.`)}return}},qt=new WeakSet,Is=function(t){m?t.on("message",s=>{i(this,Je).call(this,t,s)}):t.onmessage=s=>i(this,Je).call(this,t,s.data)},Je=new WeakMap;var Pe,ze,Xe,$e,Ge,Ke,Ur=class{constructor(e){u(this,Pe,void 0);u(this,ze,void 0);u(this,Xe,void 0);u(this,$e,Date.now());u(this,Ge,()=>0);u(this,Ke,()=>{});this.onMessageFromMainThread=()=>{};if(!e.clientId||!e.location)throw new E("Can't start service worker channel");d(this,ze,e.clientId),d(this,Xe,e.location),d(this,Pe,m?require("worker_threads").parentPort:globalThis)}resolve(){this.write({type:"resolve"})}write(e,t){i(this,Pe).postMessage(e,t)}writeSystem(e,t){i(this,Pe).postMessage({type:"system",data:e},t)}syncRequest(e){let t=Re(e);this.write({type:"sync-request",data:t});let s=0;for(;;)try{let n=new URL("__wasm__/webr-fetch-request/",i(this,Xe)),o=new XMLHttpRequest;o.timeout=6e4,o.responseType="arraybuffer",o.open("POST",n,!1);let a={clientId:i(this,ze),uuid:t.data.uuid};return o.send((0,Vt.encode)(a)),(0,Vt.decode)(o.response)}catch(n){if(n instanceof DOMException&&s++<1e3)console.log("Service worker request failed - resending request");else throw n}}read(){return this.syncRequest({type:"read"}).data.resp}inputOrDispatch(){for(;;){let e=this.read();if(e.type==="stdin")return l.allocateUTF8(e.data);i(this,Ge).call(this,e)}}run(e){l.callMain(e)}setInterrupt(e){d(this,Ke,e)}handleInterrupt(){Date.now()>i(this,$e)+1e3&&(d(this,$e,Date.now()),this.syncRequest({type:"interrupt"}).data.resp&&i(this,Ke).call(this))}setDispatchHandler(e){d(this,Ge,e)}};Pe=new WeakMap,ze=new WeakMap,Xe=new WeakMap,$e=new WeakMap,Ge=new WeakMap,Ke=new WeakMap;m&&(globalThis.Worker=require("worker_threads").Worker);var Te,Ht,Us,Ze,Qe=class extends ${constructor(t){super();u(this,Ht);this.close=()=>{};u(this,Te,void 0);u(this,Ze,async(t,s)=>{if(!(!s||!s.type))switch(s.type){case"resolve":this.resolve();return;case"response":this.resolveResponse(s);return;case"system":this.systemQueue.put(s.data);return;default:this.outputQueue.put(s);return;case"request":{let n=s,o=n.data.msg;switch(o.type){case"read":{let a=await this.inputQueue.get();if(i(this,Te)){let c=Le(n.data.uuid,a);i(this,Te).postMessage(c)}break}default:throw new E(`Unsupported request type '${o.type}'.`)}return}case"sync-request":throw new E("Can't send messages of type 'sync-request' in PostMessage mode. Use 'request' instead.")}});let s=n=>{d(this,Te,n),x(this,Ht,Us).call(this,n),this.close=()=>n.terminate();let o={type:"init",data:{config:t,channelType:D.PostMessage}};n.postMessage(o)};if(pe(t.baseUrl))ue(`${t.baseUrl}webr-worker.js`,n=>s(n));else{let n=new Worker(`${t.baseUrl}webr-worker.js`);s(n)}({resolve:this.resolve,promise:this.initialised}=V())}interrupt(){console.error("Interrupting R execution is not available when using the PostMessage channel")}};Te=new WeakMap,Ht=new WeakSet,Us=function(t){m?t.on("message",s=>{i(this,Ze).call(this,t,s)}):t.onmessage=s=>i(this,Ze).call(this,t,s.data)},Ze=new WeakMap;var _e,Se,Ye,oe,Jt,Cr=class{constructor(){u(this,_e,void 0);u(this,Se,new Map);u(this,Ye,()=>0);u(this,oe,0);u(this,Jt,async()=>{for(;;)try{d(this,oe,0);let e=await this.request({type:"read"});if(e.type==="stdin"){let t=Module.allocateUTF8(e.data);Module._strcpy(Module._DLLbuf,t),Module.setValue(Module._DLLbufp,Module._DLLbuf,"*"),Module._free(t);try{for(;Module._R_ReplDLLdo1()>0;);}catch(s){if(s instanceof WebAssembly.Exception)Module._R_ReplDLLinit(),Module._R_ReplDLLdo1();else throw s}}else i(this,Ye).call(this,e)}catch(e){if(!(e instanceof WebAssembly.Exception))throw e}});d(this,_e,m?require("worker_threads").parentPort:globalThis)}resolve(){this.write({type:"resolve"})}write(e,t){i(this,_e).postMessage(e,t)}writeSystem(e,t){i(this,_e).postMessage({type:"system",data:e},t)}read(){throw new E("Unable to synchronously read when using the `PostMessage` channel.")}inputOrDispatch(){if(i(this,oe)>0){d(this,oe,0);let e=Module.allocateUTF8OnStack("Can't block for input when using the PostMessage communication channel.");Module._Rf_error(e)}return Gr(this,oe)._++,0}run(e){let t=e||[];t.unshift("R");let s=t.length,n=Module._malloc(4*(s+1));t.forEach((o,a)=>{let c=n+4*a,p=Module.allocateUTF8(o);Module.setValue(c,p,"*")}),this.writeSystem({type:"console.warn",data:"WebR is using `PostMessage` communication channel, nested R REPLs are not available."}),Module._Rf_initialize_R(s,n),Module._setup_Rmainloop(),Module._R_ReplDLLinit(),Module._R_ReplDLLdo1(),i(this,Jt).call(this)}setDispatchHandler(e){d(this,Ye,e)}async request(e,t){let s=Re(e,t),{resolve:n,promise:o}=V();return i(this,Se).set(s.data.uuid,n),this.write(s),o}setInterrupt(e){}handleInterrupt(){}onMessageFromMainThread(e){let t=e,s=t.data.uuid,n=i(this,Se).get(s);n?(i(this,Se).delete(s),n(t.data.resp)):console.warn("Can't find request.")}};_e=new WeakMap,Se=new WeakMap,Ye=new WeakMap,oe=new WeakMap,Jt=new WeakMap;var D={Automatic:0,SharedArrayBuffer:1,ServiceWorker:2,PostMessage:3};function Cs(r){switch(r.channelType){case D.SharedArrayBuffer:return new Be(r);case D.ServiceWorker:return new jt(r);case D.PostMessage:return new Qe(r);case D.Automatic:default:return typeof SharedArrayBuffer<"u"?new Be(r):new Qe(r)}}var Ns=m?__dirname+"/":"https://webr.r-wasm.org/v0.2.2/",Ls="https://repo.r-wasm.org";function b(r){return r&&(typeof r=="object"||typeof r=="function")&&"payloadType"in r&&Ut(r._payload)}function Yn(r){return b(r)&&r._payload.obj.type==="null"}function eo(r){return b(r)&&r._payload.obj.type==="symbol"}function to(r){return b(r)&&r._payload.obj.type==="pairlist"}function ro(r){return b(r)&&r._payload.obj.type==="environment"}function so(r){return b(r)&&r._payload.obj.type==="logical"}function no(r){return b(r)&&r._payload.obj.type==="integer"}function oo(r){return b(r)&&r._payload.obj.type==="double"}function io(r){return b(r)&&r._payload.obj.type==="complex"}function ao(r){return b(r)&&r._payload.obj.type==="character"}function lo(r){return b(r)&&r._payload.obj.type==="list"}function co(r){return b(r)&&r._payload.obj.type==="raw"}function uo(r){return b(r)&&r._payload.obj.type==="call"}function Nr(r){var e;return!!(b(r)&&((e=r._payload.obj.methods)!=null&&e.includes("exec")))}var f={null:0,symbol:1,pairlist:2,closure:3,environment:4,promise:5,call:6,special:7,builtin:8,string:9,logical:10,integer:13,double:14,complex:15,character:16,dots:17,any:18,list:19,expression:20,bytecode:21,pointer:22,weakref:23,raw:24,s4:25,new:30,free:31,function:99};function Lr(r){return r&&typeof r=="object"&&Object.keys(f).includes(r.type)}function jr(r){return r&&typeof r=="object"&&"re"in r&&"im"in r}function zt(r){return l._Rf_protect(B(r)),r}function M(r,e){return l._Rf_protect(B(r)),++e.n,r}function js(r){let e=l._malloc(4);return l._R_ProtectWithIndex(B(r),e),{loc:l.getValue(e,"i32"),ptr:e}}function Fs(r){l._Rf_unprotect(1),l._free(r.ptr)}function Bs(r,e){return l._R_Reprotect(B(r),e.loc),r}function W(r){l._Rf_unprotect(r)}function Fr(r,e,t){l._Rf_defineVar(B(e),B(t),B(r))}function qs(r,e){let t={},s={n:0};try{let n=new tt(e);M(n,s),t.code=l.allocateUTF8(r);let o=l._R_ParseEvalString(t.code,n.ptr);return y.wrap(o)}finally{Ds(t),W(s.n)}}function et(r,e){return l.getWasmTableEntry(l.GOT.ffi_safe_eval.value)(B(r),B(e))}function B(r){return fo(r)?r.ptr:r}function ce(r,e){if(l._TYPEOF(r.ptr)!==f[e])throw new Error(`Unexpected object type "${r.type()}" when expecting type "${e}"`)}function ho(r){if(Lr(r))return new(Vs(f[r.type]))(r);if(r&&typeof r=="object"&&"type"in r&&r.type==="null")return new Kt;if(r===null)return new ae({type:"logical",names:null,values:[null]});if(typeof r=="boolean")return new ae(r);if(typeof r=="number")return new rt(r);if(typeof r=="string")return new G(r);if(jr(r))return new st(r);if(Array.isArray(r))return yo(r);throw new Error("Robj construction for this JS object is not yet supported")}function yo(r){let e={n:0};try{let t=new le([new K("c"),...r]);return M(t,e),t.eval()}finally{W(e.n)}}var P=class{constructor(e){this.ptr=e}type(){let e=l._TYPEOF(this.ptr);return Object.keys(f).find(s=>f[s]===e)}},ke,Xt,ie=class extends P{constructor(t){if(!(t instanceof P))return ho(t);super(t.ptr);u(this,ke)}static wrap(t){let s=l._TYPEOF(t);return new(Vs(s))(new P(t))}get[Symbol.toStringTag](){return`RObject:${this.type()}`}static getPersistentObject(t){return k[t]}getPropertyValue(t){return this[t]}inspect(){qs(".Internal(inspect(x))",{x:this})}isNull(){return l._TYPEOF(this.ptr)===f.null}isUnbound(){return this.ptr===k.unboundValue.ptr}attrs(){return De.wrap(l._ATTRIB(this.ptr))}setNames(t){let s;if(t===null)s=k.null;else if(Array.isArray(t)&&t.every(n=>typeof n=="string"||n===null))s=new G(t);else throw new Error("Argument to setNames must be null or an Array of strings or null");return l._Rf_setAttrib(this.ptr,k.namesSymbol.ptr,s.ptr),this}names(){let t=G.wrap(l._Rf_getAttrib(this.ptr,k.namesSymbol.ptr));return t.isNull()?null:t.toArray()}includes(t){let s=this.names();return s&&s.includes(t)}toJs(t={depth:0},s=1){throw new Error("This R object cannot be converted to JS")}subset(t){return x(this,ke,Xt).call(this,t,k.bracketSymbol.ptr)}get(t){return x(this,ke,Xt).call(this,t,k.bracket2Symbol.ptr)}getDollar(t){return x(this,ke,Xt).call(this,t,k.dollarSymbol.ptr)}pluck(...t){let s=js(k.null);try{let n=(a,c)=>{let p=a.get(c);return Bs(p,s)},o=t.reduce(n,this);return o.isNull()?void 0:o}finally{Fs(s)}}set(t,s){let n={n:0};try{let o=new ie(t);M(o,n);let a=new ie(s);M(a,n);let c=new K("[[<-"),p=l._Rf_lang4(c.ptr,this.ptr,o.ptr,a.ptr);return M(p,n),ie.wrap(et(p,k.baseEnv))}finally{W(n.n)}}static getMethods(t){let s=new Set,n=t;do Object.getOwnPropertyNames(n).map(o=>s.add(o));while(n=Object.getPrototypeOf(n));return[...s.keys()].filter(o=>typeof t[o]=="function")}},y=ie;ke=new WeakSet,Xt=function(t,s){let n={n:0};try{let o=new ie(t);M(o,n);let a=l._Rf_lang3(s,this.ptr,o.ptr);return M(a,n),ie.wrap(et(a,k.baseEnv))}finally{W(n.n)}};var Kt=class extends y{constructor(){return super(new P(l.getValue(l._R_NilValue,"*"))),this}toJs(){return{type:"null"}}},K=class extends y{constructor(e){if(e instanceof P){ce(e,"symbol"),super(e);return}let t=l.allocateUTF8(e);try{super(new P(l._Rf_install(t)))}finally{l._free(t)}}toJs(){let e=this.toObject();return{type:"symbol",printname:e.printname,symvalue:e.symvalue,internal:e.internal}}toObject(){return{printname:this.printname().isUnbound()?null:this.printname().toString(),symvalue:this.symvalue().isUnbound()?null:this.symvalue().ptr,internal:this.internal().isNull()?null:this.internal().ptr}}toString(){return this.printname().toString()}printname(){return nt.wrap(l._PRINTNAME(this.ptr))}symvalue(){return y.wrap(l._SYMVALUE(this.ptr))}internal(){return y.wrap(l._INTERNAL(this.ptr))}},De=class extends y{constructor(e){if(e instanceof P)return ce(e,"pairlist"),super(e),this;let t={n:0};try{let{names:s,values:n}=ot(e),o=De.wrap(l._Rf_allocList(n.length));M(o,t);for(let[a,c]=[0,o];!c.isNull();[a,c]=[a+1,c.cdr()])c.setcar(new y(n[a]));o.setNames(s),super(o)}finally{W(t.n)}}get length(){return this.toArray().length}toArray(e={depth:1}){return this.toJs(e).values}toObject({allowDuplicateKey:e=!0,allowEmptyKey:t=!1,depth:s=1}={}){let n=this.entries({depth:s}),o=n.map(([a,c])=>a);if(!e&&new Set(o).size!==o.length)throw new Error("Duplicate key when converting pairlist without allowDuplicateKey enabled");if(!t&&o.some(a=>!a))throw new Error("Empty or null key when converting pairlist without allowEmptyKey enabled");return Object.fromEntries(n.filter((a,c)=>n.findIndex(p=>p[0]===a[0])===c))}entries(e={depth:1}){let t=this.toJs(e);return t.values.map((s,n)=>[t.names?t.names[n]:null,s])}toJs(e={depth:0},t=1){let s=[],n=!1,o=[];for(let c=this;!c.isNull();c=c.cdr()){let p=c.tag();p.isNull()?s.push(""):(n=!0,s.push(p.toString())),e.depth&&t>=e.depth?o.push(c.car()):o.push(c.car().toJs(e,t+1))}return{type:"pairlist",names:n?s:null,values:o}}includes(e){return e in this.toObject()}setcar(e){l._SETCAR(this.ptr,e.ptr)}car(){return y.wrap(l._CAR(this.ptr))}cdr(){return y.wrap(l._CDR(this.ptr))}tag(){return y.wrap(l._TAG(this.ptr))}},le=class extends y{constructor(e){if(e instanceof P)return ce(e,"call"),super(e),this;let t={n:0};try{let{values:s}=ot(e),n=s.map(a=>M(new y(a),t)),o=le.wrap(l._Rf_allocVector(f.call,s.length));M(o,t);for(let[a,c]=[0,o];!c.isNull();[a,c]=[a+1,c.cdr()])c.setcar(n[a]);super(o)}finally{W(t.n)}}setcar(e){l._SETCAR(this.ptr,e.ptr)}car(){return y.wrap(l._CAR(this.ptr))}cdr(){return y.wrap(l._CDR(this.ptr))}eval(){return y.wrap(et(this.ptr,k.baseEnv))}},Br=class extends y{constructor(e){if(e instanceof P)return ce(e,"list"),super(e),this;let t={n:0};try{let{names:s,values:n}=ot(e),o=l._Rf_allocVector(f.list,n.length);M(o,t),n.forEach((a,c)=>{l._SET_VECTOR_ELT(o,c,new y(a).ptr)}),y.wrap(o).setNames(s),super(new P(o))}finally{W(t.n)}}get length(){return l._LENGTH(this.ptr)}toArray(e={depth:1}){return this.toJs(e).values}toObject({allowDuplicateKey:e=!0,allowEmptyKey:t=!1,depth:s=1}={}){let n=this.entries({depth:s}),o=n.map(([a,c])=>a);if(!e&&new Set(o).size!==o.length)throw new Error("Duplicate key when converting list without allowDuplicateKey enabled");if(!t&&o.some(a=>!a))throw new Error("Empty or null key when converting list without allowEmptyKey enabled");return Object.fromEntries(n.filter((a,c)=>n.findIndex(p=>p[0]===a[0])===c))}entries(e={depth:1}){let t=this.toJs(e);return t.values.map((s,n)=>[t.names?t.names[n]:null,s])}toJs(e={depth:0},t=1){return{type:"list",names:this.names(),values:[...Array(this.length).keys()].map(s=>e.depth&&t>=e.depth?this.get(s+1):this.get(s+1).toJs(e,t+1))}}},Me=class extends y{exec(...e){let t={n:0};try{let s=new le([this,...e]);return M(s,t),s.eval()}finally{W(t.n)}}},nt=class extends y{constructor(e){if(e instanceof P){ce(e,"string"),super(e);return}let t=l.allocateUTF8(e);try{super(new P(l._Rf_mkChar(t)))}finally{l._free(t)}}toString(){return l.UTF8ToString(l._R_CHAR(this.ptr))}toJs(){return{type:"string",value:this.toString()}}},tt=class extends y{constructor(e={}){if(e instanceof P)return ce(e,"environment"),super(e),this;let t=0;try{let{names:s,values:n}=ot(e),o=zt(l._R_NewEnv(k.globalEnv.ptr,0,0));++t,n.forEach((a,c)=>{let p=s?s[c]:null;if(!p)throw new Error("Can't create object in new environment with empty symbol name");let v=new K(p),Y=zt(new y(a));try{Fr(o,v,Y)}finally{W(1)}}),super(new P(o))}finally{W(t)}}ls(e=!1,t=!0){return G.wrap(l._R_lsInternal3(this.ptr,Number(e),Number(t))).toArray()}bind(e,t){let s=new K(e),n=zt(new y(t));try{Fr(this,s,n)}finally{W(1)}}names(){return this.ls(!0,!0)}frame(){return y.wrap(l._FRAME(this.ptr))}subset(e){if(typeof e=="number")throw new Error("Object of type environment is not subsettable");return this.getDollar(e)}toObject({depth:e=0}={}){let t=this.names();return Object.fromEntries([...Array(t.length).keys()].map(s=>[t[s],this.getDollar(t[s]).toJs({depth:e})]))}toJs(e={depth:0},t=1){let s=this.names(),n=[...Array(s.length).keys()].map(o=>e.depth&&t>=e.depth?this.getDollar(s[o]):this.getDollar(s[o]).toJs(e,t+1));return{type:"environment",names:s,values:n}}},Q=class extends y{constructor(e,t,s){if(e instanceof P)return ce(e,t),super(e),this;let n={n:0};try{let{names:o,values:a}=ot(e),c=l._Rf_allocVector(f[t],a.length);M(c,n),a.forEach(s(c)),y.wrap(c).setNames(o),super(new P(c))}finally{W(n.n)}}get length(){return l._LENGTH(this.ptr)}get(e){return super.get(e)}subset(e){return super.subset(e)}getDollar(e){throw new Error("$ operator is invalid for atomic vectors")}detectMissing(){let e={n:0};try{let t=l._Rf_lang2(new K("is.na").ptr,this.ptr);M(t,e);let s=ae.wrap(et(t,k.baseEnv));M(s,e);let n=s.toTypedArray();return Array.from(n).map(o=>!!o)}finally{W(e.n)}}toArray(){let e=this.toTypedArray();return this.detectMissing().map((t,s)=>t?null:e[s])}toObject({allowDuplicateKey:e=!0,allowEmptyKey:t=!1}={}){let s=this.entries(),n=s.map(([o,a])=>o);if(!e&&new Set(n).size!==n.length)throw new Error("Duplicate key when converting atomic vector without allowDuplicateKey enabled");if(!t&&n.some(o=>!o))throw new Error("Empty or null key when converting atomic vector without allowEmptyKey enabled");return Object.fromEntries(s.filter((o,a)=>s.findIndex(c=>c[0]===o[0])===a))}entries(){let e=this.toArray(),t=this.names();return e.map((s,n)=>[t?t[n]:null,s])}toJs(){return{type:this.type(),names:this.names(),values:this.toArray()}}},Qt,qr=class extends Q{constructor(e){super(e,"logical",i(qr,Qt))}getBoolean(e){return this.get(e).toArray()[0]}toBoolean(){if(this.length!==1)throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value");let e=this.getBoolean(1);if(e===null)throw new Error("Can't convert missing value `NA` to a JS boolean");return e}toTypedArray(){return new Int32Array(l.HEAP32.subarray(l._LOGICAL(this.ptr)/4,l._LOGICAL(this.ptr)/4+this.length))}toArray(){let e=this.toTypedArray();return this.detectMissing().map((t,s)=>t?null:!!e[s])}},ae=qr;Qt=new WeakMap,u(ae,Qt,e=>{let t=l._LOGICAL(e),s=l.getValue(l._R_NaInt,"i32");return(n,o)=>{l.setValue(t+4*o,n===null?s:!!n,"i32")}});var Zt,Vr=class extends Q{constructor(e){super(e,"integer",i(Vr,Zt))}getNumber(e){return this.get(e).toArray()[0]}toNumber(){if(this.length!==1)throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value");let e=this.getNumber(1);if(e===null)throw new Error("Can't convert missing value `NA` to a JS number");return e}toTypedArray(){return new Int32Array(l.HEAP32.subarray(l._INTEGER(this.ptr)/4,l._INTEGER(this.ptr)/4+this.length))}},$t=Vr;Zt=new WeakMap,u($t,Zt,e=>{let t=l._INTEGER(e),s=l.getValue(l._R_NaInt,"i32");return(n,o)=>{l.setValue(t+4*o,n===null?s:Math.round(Number(n)),"i32")}});var Yt,Hr=class extends Q{constructor(e){super(e,"double",i(Hr,Yt))}getNumber(e){return this.get(e).toArray()[0]}toNumber(){if(this.length!==1)throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value");let e=this.getNumber(1);if(e===null)throw new Error("Can't convert missing value `NA` to a JS number");return e}toTypedArray(){return new Float64Array(l.HEAPF64.subarray(l._REAL(this.ptr)/8,l._REAL(this.ptr)/8+this.length))}},rt=Hr;Yt=new WeakMap,u(rt,Yt,e=>{let t=l._REAL(e),s=l.getValue(l._R_NaReal,"double");return(n,o)=>{l.setValue(t+8*o,n===null?s:n,"double")}});var er,Jr=class extends Q{constructor(e){super(e,"complex",i(Jr,er))}getComplex(e){return this.get(e).toArray()[0]}toComplex(){if(this.length!==1)throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value");let e=this.getComplex(1);if(e===null)throw new Error("Can't convert missing value `NA` to a JS object");return e}toTypedArray(){return new Float64Array(l.HEAPF64.subarray(l._COMPLEX(this.ptr)/8,l._COMPLEX(this.ptr)/8+2*this.length))}toArray(){let e=this.toTypedArray();return this.detectMissing().map((t,s)=>t?null:{re:e[2*s],im:e[2*s+1]})}},st=Jr;er=new WeakMap,u(st,er,e=>{let t=l._COMPLEX(e),s=l.getValue(l._R_NaReal,"double");return(n,o)=>{l.setValue(t+8*(2*o),n===null?s:n.re,"double"),l.setValue(t+8*(2*o+1),n===null?s:n.im,"double")}});var tr,zr=class extends Q{constructor(e){super(e,"character",i(zr,tr))}getString(e){return this.get(e).toArray()[0]}toString(){if(this.length!==1)throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value");let e=this.getString(1);if(e===null)throw new Error("Can't convert missing value `NA` to a JS string");return e}toTypedArray(){return new Uint32Array(l.HEAPU32.subarray(l._STRING_PTR(this.ptr)/4,l._STRING_PTR(this.ptr)/4+this.length))}toArray(){return this.detectMissing().map((e,t)=>e?null:l.UTF8ToString(l._R_CHAR(l._STRING_ELT(this.ptr,t))))}},G=zr;tr=new WeakMap,u(G,tr,e=>(t,s)=>{t===null?l._SET_STRING_ELT(e,s,k.naString.ptr):l._SET_STRING_ELT(e,s,new nt(t).ptr)});var rr,Xr=class extends Q{constructor(e){super(e,"raw",i(Xr,rr))}getNumber(e){return this.get(e).toArray()[0]}toNumber(){if(this.length!==1)throw new Error("Can't convert atomic vector of length > 1 to a scalar JS value");let e=this.getNumber(1);if(e===null)throw new Error("Can't convert missing value `NA` to a JS number");return e}toTypedArray(){return new Uint8Array(l.HEAPU8.subarray(l._RAW(this.ptr),l._RAW(this.ptr)+this.length))}},Gt=Xr;rr=new WeakMap,u(Gt,rr,e=>{let t=l._RAW(e);return(s,n)=>{l.setValue(t+n,Number(s),"i8")}});function ot(r){return Lr(r)?r:Array.isArray(r)||ArrayBuffer.isView(r)?{names:null,values:r}:r&&typeof r=="object"&&!jr(r)?{names:Object.keys(r),values:Object.values(r)}:{names:null,values:[r]}}function Vs(r){let e={[f.null]:Kt,[f.symbol]:K,[f.pairlist]:De,[f.closure]:Me,[f.environment]:tt,[f.call]:le,[f.special]:Me,[f.builtin]:Me,[f.string]:nt,[f.logical]:ae,[f.integer]:$t,[f.double]:rt,[f.complex]:st,[f.character]:G,[f.list]:Br,[f.raw]:Gt,[f.function]:Me};return r in e?e[r]:y}function fo(r){return r instanceof y}var k;function mo(){}function go(r,e){return async function*(){let t={type:"callRObjectMethod",data:{payload:e._payload,prop:"getPropertyValue",args:[{payloadType:"raw",obj:"length"}],shelter:void 0}},s=await r.request(t);if(typeof s.obj!="number")throw new A("Cannot iterate over object, unexpected type for length property.");for(let n=1;n<=s.obj;n++)yield e.get(n)}}function Hs(r,e,t){return async(...s)=>{let n=s.map(c=>b(c)?c._payload:{obj:U(c,b,p=>p._payload),payloadType:"raw"}),o={type:"callRObjectMethod",data:{payload:t,prop:e,args:n}},a=await r.request(o);switch(a.payloadType){case"ptr":return Z(r,a);case"raw":return U(a,Ut,(p,v)=>Z(v,p),r).obj}}}async function bo(r,e,t,s){let n={type:"newRObject",data:{objType:e,obj:U(s,b,a=>a._payload),shelter:t}},o=await r.request(n);switch(o.payloadType){case"raw":throw new q("Unexpected raw payload type returned from newRObject");case"ptr":return Z(r,o)}}function Z(r,e){var s;let t=new Proxy((s=e.obj.methods)!=null&&s.includes("exec")?Object.assign(mo,{...e}):e,{get:(n,o)=>{var a;if(o==="_payload")return e;if(o===Symbol.asyncIterator)return go(r,t);if((a=e.obj.methods)!=null&&a.includes(o.toString()))return Hs(r,o.toString(),e)},apply:async(n,o,a)=>{let c=await Z(r,e).exec(...a);return Nr(c)?c:c.toJs()}});return t}function O(r,e,t){return new Proxy(y,{construct:(s,n)=>bo(r,t,e,...n),get:(s,n)=>Hs(r,n.toString())})}var it,at,lt,ct,ut,nr,or,ir,ar,lr,cr,Js,sr=class{constructor(e={},t={REnv:{R_HOME:"/usr/lib/R",FONTCONFIG_PATH:"/etc/fonts",R_ENABLE_JIT:"0"}}){u(this,cr);u(this,it,void 0);u(this,at,void 0);u(this,lt,void 0);u(this,ct,void 0);u(this,ut,void 0);u(this,nr,e=>{console.log(e)});u(this,or,e=>{console.error(e)});u(this,ir,e=>{let t=prompt(e);t&&this.stdin(`${t}
|
|
`)});u(this,ar,e=>{if(m)throw new Error("Plotting with HTML canvas is not yet supported under Node");this.canvas.getContext("2d").drawImage(e,0,0)});u(this,lr,()=>{if(m)throw new Error("Plotting with HTML canvas is not yet supported under Node");this.canvas.getContext("2d").clearRect(0,0,this.canvas.width,this.canvas.height)});this.webR=new pt(t),m||(this.canvas=document.createElement("canvas"),this.canvas.setAttribute("width","1008"),this.canvas.setAttribute("height","1008")),d(this,it,e.stdout||i(this,nr)),d(this,at,e.stderr||i(this,or)),d(this,lt,e.prompt||i(this,ir)),d(this,ct,e.canvasImage||i(this,ar)),d(this,ut,e.canvasNewPage||i(this,lr)),this.webR.evalRVoid("options(device=webr::canvas)")}stdin(e){this.webR.writeConsole(e)}interrupt(){this.webR.interrupt()}run(){x(this,cr,Js).call(this)}};it=new WeakMap,at=new WeakMap,lt=new WeakMap,ct=new WeakMap,ut=new WeakMap,nr=new WeakMap,or=new WeakMap,ir=new WeakMap,ar=new WeakMap,lr=new WeakMap,cr=new WeakSet,Js=async function(){for(;;){let e=await this.webR.read();switch(e.type){case"stdout":i(this,it).call(this,e.data);break;case"stderr":i(this,at).call(this,e.data);break;case"prompt":i(this,lt).call(this,e.data);break;case"canvas":e.data.event==="canvasImage"?i(this,ct).call(this,e.data.image):e.data.event==="canvasNewPage"&&i(this,ut).call(this);break;case"closed":return;default:console.warn(`Unhandled output type for webR Console: ${e.type}.`)}}};var wo={FONTCONFIG_PATH:"/etc/fonts",R_HOME:"/usr/lib/R",R_ENABLE_JIT:"0"},zs={RArgs:[],REnv:wo,baseUrl:Ns,serviceWorkerUrl:"",repoUrl:Ls,homedir:"/home/web_user",interactive:!0,channelType:D.Automatic,createLazyFilesystem:!0},g,ht,ur,Xs,pt=class{constructor(e={}){u(this,ur);u(this,g,void 0);u(this,ht,void 0);this.FS={lookupPath:async e=>{let t={type:"lookupPath",data:{path:e}};return(await i(this,g).request(t)).obj},mkdir:async e=>{let t={type:"mkdir",data:{path:e}};return(await i(this,g).request(t)).obj},mount:async(e,t,s)=>{let n={type:"mount",data:{type:e,options:t,mountpoint:s}};await i(this,g).request(n)},readFile:async(e,t)=>{let s={type:"readFile",data:{path:e,flags:t}};return(await i(this,g).request(s)).obj},rmdir:async e=>{let t={type:"rmdir",data:{path:e}};await i(this,g).request(t)},writeFile:async(e,t,s)=>{let n={type:"writeFile",data:{path:e,data:t,flags:s}};await i(this,g).request(n)},unlink:async e=>{let t={type:"unlink",data:{path:e}};await i(this,g).request(t)},unmount:async e=>{let t={type:"unmount",data:{path:e}};await i(this,g).request(t)}};let t={...zs,...e,REnv:{...zs.REnv,...e.REnv}};d(this,g,Cs(t)),this.objs={},this.Shelter=xo(i(this,g)),d(this,ht,i(this,g).initialised.then(async()=>{this.globalShelter=await new this.Shelter,this.RObject=this.globalShelter.RObject,this.RLogical=this.globalShelter.RLogical,this.RInteger=this.globalShelter.RInteger,this.RDouble=this.globalShelter.RDouble,this.RComplex=this.globalShelter.RComplex,this.RCharacter=this.globalShelter.RCharacter,this.RRaw=this.globalShelter.RRaw,this.RList=this.globalShelter.RList,this.RPairlist=this.globalShelter.RPairlist,this.REnvironment=this.globalShelter.REnvironment,this.RSymbol=this.globalShelter.RSymbol,this.RString=this.globalShelter.RString,this.RCall=this.globalShelter.RCall,this.objs={baseEnv:await this.RObject.getPersistentObject("baseEnv"),globalEnv:await this.RObject.getPersistentObject("globalEnv"),null:await this.RObject.getPersistentObject("null"),true:await this.RObject.getPersistentObject("true"),false:await this.RObject.getPersistentObject("false"),na:await this.RObject.getPersistentObject("na")},x(this,ur,Xs).call(this)}))}async init(){return i(this,ht)}close(){i(this,g).close()}async read(){return await i(this,g).read()}async flush(){return await i(this,g).flush()}write(e){i(this,g).write(e)}writeConsole(e){this.write({type:"stdin",data:e+`
|
|
`})}interrupt(){i(this,g).interrupt()}async installPackages(e,t){let s=Object.assign({quiet:!1,mount:!0},t);for(let n of e){let o={type:"installPackage",data:{name:n,options:s}};await i(this,g).request(o)}}async destroy(e){await this.globalShelter.destroy(e)}async evalR(e,t){return this.globalShelter.evalR(e,t)}async evalRVoid(e,t){return this.evalRRaw(e,"void",t)}async evalRBoolean(e,t){return this.evalRRaw(e,"boolean",t)}async evalRNumber(e,t){return this.evalRRaw(e,"number",t)}async evalRString(e,t){return this.evalRRaw(e,"string",t)}async evalRRaw(e,t,s={}){let n=U(s,b,c=>c._payload),o={type:"evalRRaw",data:{code:e,options:n,outputType:t}},a=await i(this,g).request(o);switch(a.payloadType){case"raw":return a.obj;case"ptr":throw new q("Unexpected ptr payload type returned from evalRVoid")}}async invokeWasmFunction(e,...t){let s={type:"invokeWasmFunction",data:{ptr:e,args:t}};return(await i(this,g).request(s)).obj}};g=new WeakMap,ht=new WeakMap,ur=new WeakSet,Xs=async function(){for(;;){let e=await i(this,g).readSystem();switch(e.type){case"setTimeoutWasm":setTimeout((t,s)=>{this.invokeWasmFunction(t,...s)},e.data.delay,e.data.ptr,e.data.args);break;case"console.log":console.log(e.data);break;case"console.warn":console.warn(e.data);break;case"console.error":console.error(e.data);break;default:throw new A("Unknown system message type `"+e.type+"`")}}};var w,R,yt,dt=class{constructor(e){u(this,w,"");u(this,R,void 0);u(this,yt,!1);d(this,R,e)}async init(){if(i(this,yt))return;let e={type:"newShelter"},t=await i(this,R).request(e);d(this,w,t.obj),this.RObject=O(i(this,R),i(this,w),"object"),this.RLogical=O(i(this,R),i(this,w),"logical"),this.RInteger=O(i(this,R),i(this,w),"integer"),this.RDouble=O(i(this,R),i(this,w),"double"),this.RComplex=O(i(this,R),i(this,w),"complex"),this.RCharacter=O(i(this,R),i(this,w),"character"),this.RRaw=O(i(this,R),i(this,w),"raw"),this.RList=O(i(this,R),i(this,w),"list"),this.RPairlist=O(i(this,R),i(this,w),"pairlist"),this.REnvironment=O(i(this,R),i(this,w),"environment"),this.RSymbol=O(i(this,R),i(this,w),"symbol"),this.RString=O(i(this,R),i(this,w),"string"),this.RCall=O(i(this,R),i(this,w),"call"),d(this,yt,!0)}async purge(){let e={type:"shelterPurge",data:i(this,w)};await i(this,R).request(e)}async destroy(e){let t={type:"shelterDestroy",data:{id:i(this,w),obj:e._payload}};await i(this,R).request(t)}async size(){let e={type:"shelterSize",data:i(this,w)};return(await i(this,R).request(e)).obj}async evalR(e,t={}){let s=U(t,b,a=>a._payload),n={type:"evalR",data:{code:e,options:s,shelter:i(this,w)}},o=await i(this,R).request(n);switch(o.payloadType){case"raw":throw new q("Unexpected payload type returned from evalR");default:return Z(i(this,R),o)}}async captureR(e,t={}){let s=U(t,b,a=>a._payload),n={type:"captureR",data:{code:e,options:s,shelter:i(this,w)}},o=await i(this,R).request(n);switch(o.payloadType){case"ptr":throw new q("Unexpected payload type returned from evalR");case"raw":{let a=o.obj,c=Z(i(this,R),a.result),p=a.output;for(let v=0;v<p.length;++v)p[v].type!=="stdout"&&p[v].type!=="stderr"&&(p[v].data=Z(i(this,R),p[v].data));return{result:c,output:p}}}}};w=new WeakMap,R=new WeakMap,yt=new WeakMap;function xo(r){return new Proxy(dt,{construct:async()=>{let e=new dt(r);return await e.init(),e}})}0&&(module.exports={ChannelType,Console,Shelter,WebR,WebRChannelError,WebRError,WebRPayloadError,WebRWorkerError,isRCall,isRCharacter,isRComplex,isRDouble,isREnvironment,isRFunction,isRInteger,isRList,isRLogical,isRNull,isRObject,isRPairlist,isRRaw,isRSymbol});
|
|
//# sourceMappingURL=webr.cjs.map
|