nv-buf-serde 1.0.5 → 1.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- var v8serde=(()=>{var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var O=g((ja,$e)=>{var yn=e=>e===void 0,gn=e=>e===null,x=e=>e==null,hn=e=>e===!0,kn=e=>e===!1,Ye=e=>e===!0||e===!1,pn=e=>x(e)||Ye(e),An=e=>x(e)?null:e,Sn=e=>x(e)?void 0:e;$e.exports={_u:void 0,_n:null,_t:!0,_f:!1,is_untf:pn,is_unnu:x,is_un:yn,is_nu:gn,is_bl:Ye,is_tru:hn,is_fls:kn,unize:Sn,nuize:An}});var et=g((Ua,Qe)=>{var{_u:Ia,_n:Oa,_t:Ze,_f:Ra}=O();Qe.exports={treat_array_buffer_views_as_host_objects_:Ze,suppress_deserialization_errors_:Ze}});var rt=g((Ta,tt)=>{tt.exports={kTheHole:"the hole element will be replaced by undefined",kSparseArray:`
1
+ var v8serde=(()=>{var y=(e,r)=>()=>(r||e((r={exports:{}}).exports,r),r.exports);var I=y((Da,er)=>{var kn=e=>e===void 0,pn=e=>e===null,z=e=>e==null,An=e=>e===!0,Sn=e=>e===!1,Qe=e=>e===!0||e===!1,wn=e=>z(e)||Qe(e),mn=e=>z(e)?null:e,En=e=>z(e)?void 0:e;er.exports={_u:void 0,_n:null,_t:!0,_f:!1,is_untf:wn,is_unnu:z,is_un:kn,is_nu:pn,is_bl:Qe,is_tru:An,is_fls:Sn,unize:En,nuize:mn}});var nr=y((Fa,tr)=>{var{_u:La,_n:Ma,_t:rr,_f:Na}=I();tr.exports={treat_array_buffer_views_as_host_objects_:rr,suppress_deserialization_errors_:rr}});var or=y((Wa,sr)=>{sr.exports={kTheHole:"the hole element will be replaced by undefined",kSparseArray:`
2
2
  NOT support. only dense/packed_smi/packed_double.
3
3
  hard to explain this, refer to ./TEST/hole-tst.js
4
4
  this script will make sparse-array
@@ -21,5 +21,5 @@ var v8serde=(()=>{var g=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);
21
21
  `,JSMap:"extra attributes set On Map will be dropped, for compatible to current v8-impl",JSSet:"extra attributes set On Set will be dropped, for compatible to current v8-impl",RegExp:"extra attributes set On RegExp will be dropped, for compatible to current v8-impl",Date:"extra attributes set On Date will be dropped, for compatible to current v8-impl",PrimitiveWrapper:`
22
22
  extra attributes set On PrimitiveWrapper will be dropped, for compatible to current v8-impl;
23
23
  not support <new BigInt>, in c++ layer ,it can be done, in js-layer ,impossible
24
- `,"Error'message":"Error'message treated as string","Error'stack":"Error'stack treated as string",kVerifyObjectCount:"no verify",throwDetachedArrayBufferError:"dont know how to get this state in js-layer",kArrayBufferTransfer:"hard to do this in js-layer",kSharedObject:"hard to do this in js-layer",kWasmModuleTransfer:"hard to do this in js-layer",kWasmMemoryTransfer:"hard to do this in js-layer",ITERATOR:"dont know how to get the iter cursor in js-layer, treated as a {}",ATOMICS:"dont know how to do this, treated as a {}",FPG:"function | lambda | promise| generator| all treated as a {}",Proxy:"hard to do this in browser, so treated as the-target-be-proxied"}});var z=g((Na,st)=>{var{_u:mn,_n:va,_t:ue,_f:Da}=O(),wn={kVersion:255,kPadding:0,kVerifyObjectCount:63,kTheHole:45,kUndefined:95,kNull:48,kTrue:84,kFalse:70,kInt32:73,kUint32:85,kDouble:78,kBigInt:90,kUtf8String:83,kOneByteString:34,kTwoByteString:99,kObjectReference:94,kBeginJSObject:111,kEndJSObject:123,kBeginSparseJSArray:97,kEndSparseJSArray:64,kBeginDenseJSArray:65,kEndDenseJSArray:36,kDate:68,kTrueObject:121,kFalseObject:120,kNumberObject:110,kBigIntObject:122,kStringObject:115,kRegExp:82,kBeginJSMap:59,kEndJSMap:58,kBeginJSSet:39,kEndJSSet:44,kArrayBuffer:66,kResizableArrayBuffer:126,kArrayBufferTransfer:116,kArrayBufferView:86,kSharedArrayBuffer:117,kSharedObject:112,kWasmModuleTransfer:119,kHostObject:92,kWasmMemoryTransfer:109,kError:114,kLegacyReservedMessagePort:77,kLegacyReservedBlob:98,kLegacyReservedBlobIndex:105,kLegacyReservedFile:102,kLegacyReservedFileIndex:101,kLegacyReservedDOMFileSystem:100,kLegacyReservedFileList:108,kLegacyReservedFileListIndex:76,kLegacyReservedImageData:35,kLegacyReservedImageBitmap:103,kLegacyReservedImageBitmapTransfer:71,kLegacyReservedOffscreenCanvas:72,kLegacyReservedCryptoKey:75,kLegacyReservedRTCCertificate:107},nt={kInt8Array:98,kUint8Array:66,kUint8ClampedArray:67,kInt16Array:119,kUint16Array:87,kInt32Array:100,kUint32Array:68,kFloat32Array:102,kFloat64Array:70,kBigInt64Array:113,kBigUint64Array:81,kDataView:63};Object.defineProperty(nt,"UNUSED_",{get:function(){return ue}});var fe=Symbol("#kNodeFastBuffer"),En={kInt8Array:0,kUint8Array:1,kUint8ClampedArray:2,kInt16Array:3,kUint16Array:4,kInt32Array:5,kUint32Array:6,kFloat32Array:7,kFloat64Array:8,kDataView:9,kNodeFastBuffer:10,kBigInt64Array:11,kBigUint64Array:12},_e=class extends Uint8Array{[fe]=ue},Bn=e=>e[fe]===ue,jn=e=>Object.prototype.toString.call(e),In=e=>{let t=jn(e);return t==="[object Int8Array]"?0:t==="[object Uint8Array]"?1:t==="[object Uint8ClampedArray]"?2:t==="[object Int16Array]"?3:t==="[object Uint16Array]"?4:t==="[object Int32Array]"?5:t==="[object Uint32Array]"?6:t==="[object Float32Array]"?7:t==="[object Float64Array]"?8:t==="[object DataView]"?9:t==="[object BigInt64Array]"?11:t==="[object BigUint64Array]"?12:-1},On=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,DataView,_e,BigInt64Array,BigUint64Array],Rn={kEvalErrorPrototype:69,kRangeErrorPrototype:82,kReferenceErrorPrototype:70,kSyntaxErrorPrototype:83,kTypeErrorPrototype:84,kUriErrorPrototype:85,kMessage:109,kCause:99,kStack:115,kEnd:46},Un="#___kCantBeSered___",Tn=(e,t)=>({id:e,kCantBeSered:t}),vn="#___kUnknown___",Dn=()=>({kUnknown:mn}),Nn="v8ser";st.exports={CODEC_NAME:Nn,kNodeFastBufferSym:fe,IsNodeFastBuffer:Bn,SerializationTag:wn,V8_ArrayBufferViewTag:nt,ArrayBufferViewTag:En,ArrayBufferViewIndexToCtor:On,arrayBufferViewTypeToIndex:In,ErrorTag:Rn,kCantBeSered:Un,CreatFakeCantBeSered:Tn,kUnknown:vn,CreatUnknown:Dn}});var H=g((La,ut)=>{var Ln=Object,v={un:"undefined",bl:"boolean",str:"string",num:"number",obj:"object",sym:"symbol",bi:"bigint",func_like:"function"},D=(e,t)=>typeof e===t,Mn=(e,t)=>e instanceof t,Fn=e=>D(e,v.str),Jn=e=>D(e,v.sym),Wn=e=>Symbol.keyFor(e)!==void 0,qn=e=>Symbol.keyFor(e)===void 0,Cn=e=>D(e,v.bi),ot=e=>D(e,v.num),at=e=>Ln.is(e,NaN),it=e=>e===1/0,lt=e=>e===-1/0,ct=e=>at(e)||it(e)||lt(e),Pn=e=>!ct(e)&&ot(e),Vn=e=>1/e===1/0,xn=e=>1/e===-1/0,zn=e=>D(e,v.func_like);ut.exports={TNAMED:v,typof:D,is_str:Fn,is_num:ot,is_sym:Jn,is_glb_sym:Wn,is_non_glb_sym:qn,is_bi:Cn,istof:Mn,is_abnormal_num:ct,is_nan:at,is_pos_infi:it,is_neg_infi:lt,is_normal_num:Pn,is_pos_zero:Vn,is_neg_zero:xn,is_func_like:zn}});var X=g((Ma,mt)=>{var ft=-(2n**31n),dt=2n**31n-1n,bt=e=>e>=-2147483648&&e<=2147483647,Hn=e=>e>=ft&&e<=dt,de=e=>BigInt(e),be=e=>Number(e),yt=-(2**30),gt=2**30-1,Xn=-(2n**30n),Gn=2n**30n-1n,ht=e=>e>=yt&&e<=gt,kt=e=>e<<1^e>>31,ye=e=>e<<1n^e>>63n,pt=e=>be(ye(de(e))),At=e=>e>>1^-(e&1),ge=e=>e>>1n^-(e&1n),St=e=>be(ge(de(e))),Kn=e=>typeof e=="bigint"?ye(e):ht(e)?kt(e):pt(e),Yn=e=>typeof e=="bigint"?ge(e):bt(e)?At(e):St(e);mt.exports={MIN_SMI:-2147483648,MAX_SMI:2147483647,MIN_SMI_BI:ft,MAX_SMI_BI:dt,is_smi:bt,is_smi_bi:Hn,_bi:de,_num:be,_encd_smi:kt,_encd_bi:ye,_encd_between_smi_bi:pt,_decd_smi:At,_decd_bi:ge,_decd_between_smi_bi:St,MIN_SMI_CAN_BE_ENCDED:yt,MAX_SMI_CAN_BE_ENCDED:gt,MIN_SMI_BI_CAN_BE_ENCDED:Xn,MAX_SMI_BI_CAN_BE_ENCDED:Gn,is_smi_can_be_encded:ht,encd:Kn,decd:Yn}});var he=g((Fa,wt)=>{var $n=String,Zn=e=>$n.fromCodePoint(e);wt.exports={cd2ch:Zn}});var L=g((Ja,It)=>{var Et=e=>(e>>8&252)===216,Bt=e=>(e>>8&252)===220,Qn=e=>!Et(e)&&!Bt(e),jt=(e,t)=>((e&1023)<<10)+(t&1023)+65536,es=(e,t)=>t===1?e[0]:jt(e[0],e[1]);It.exports={is_high_surrogate:Et,is_low_surrogate:Bt,is_not_surrogate:Qn,surrogate_to_code:jt,b16arr_to_code:es}});var vt=g((Wa,Tt)=>{var M=L(),ts=0,Ot=2,Rt=5,Ut=["INIT","N","H","L","R","ERROR"],F={in_error_must_reset:"in_error_must_reset",fst_b16_invalid:"fst b16 cant be <0b1111_11xx_xxxx_xxxx>",low_invalid:"low must be <0b1111_11xx_xxxx_xxxx>"},rs=e=>{e[0]=3,e[1]=e[1]&240;for(let t=2;t<5;t++)e[t]=0},ke=(e,t,r)=>{if(e.is_auto_recover_enabled()){e.reset();return}else throw e[1]=(e[1]&240)+Rt,e[2]=t,new Error(r)},R=class extends Uint16Array{constructor(t=!0){super(5),this[0]=3,this[1]=t?16:0,this[2]=0}get cursor_(){return this[0]}get state_code_(){return this[1]&15}get state_name_(){return Ut[this.state_code_]}is_init(){return this.state_code_===ts}is_high(){return this.state_code_===Ot}is_err(){return this.state_code_===Rt}is_auto_recover_enabled(){return(this[1]&240)===1}enable_auto_recover(){this[1]=this[1]|16}disable_auto_recover(){this[1]=this[1]&15}get lefted_(){return Array.from(this).slice(3,this[0])}get err_b16_(){return this[2]}input(t){let r=t.charCodeAt(0);if(this.is_init())if(M.is_high_surrogate(r)){this[3]=r,this[1]=(this[1]&240)+Ot,this[0]++;return}else return M.is_low_surrogate(r)?ke(this,r,F.fst_b16_invalid):(this.reset(),r);else{if(this.is_high())return M.is_high_surrogate(r)?ke(this,r,F.low_invalid):M.is_low_surrogate(r)?(r=M.surrogate_to_code(this[3],r),this.reset(),r):ke(this,r,F.low_invalid);if(this.is_err())return new Error(F.in_error_must_reset)}}reset(){rs(this)}dict(){return{cursor:this[0],state:this.state_name_,data:this.lefted_,err_b16:this.err_b16_}}get[Symbol.toStringTag](){return JSON.stringify(this.dict())}};R.ALGN_OFFSET=3;R.ALGN_SIZE=5;var ns=new R(!0),ss=new R(!1);Tt.exports={STATES:Ut,ERRORS:F,Mach:R,auto_recover_mach:ns,mach:ss}});var Nt=g((qa,Dt)=>{Dt.exports={def:L(),mach:vt()}});var Jt=g((Ca,Ft)=>{var{is_high_surrogate:pe}=L(),Lt=(e,t)=>{let r=e.length,n=0,s=0,o=-1;for(;!(s>=r);)o=e[s].charCodeAt(0),pe(o)?(++s,++s):(o===t&&++n,++s);return n},Mt=(e,t,r)=>{let n=e.length,s=0,o=0,a=-1;for(;!(o>=n);)a=e[o].charCodeAt(0),pe(a)&&(a===t&&(a=e[o+1].charCodeAt(0),a===r&&++s),++o),++o;return s},os=e=>{let t=e.charCodeAt(0);return pe(t)?[t,e.charCodeAt(1)]:[t,-1]},as=(e,t)=>{let[r,n]=_is_u16u16_char(t);return n!=-1?Mt(e,r,n):Lt(e,r)};Ft.exports={_char_freq_if_u16:Lt,_char_freq_if_u16u16:Mt,_parse_char:os,char_freq:as}});var qt=g((Va,Wt)=>{var{cd2ch:Pa}=he(),{is_high_surrogate:is}=L(),G=(e,t,r)=>{let n=e[r].charCodeAt(0);return is(n)?[e.codePointAt(r),r,r+2]:[n,r,r+1]},Ae=(e,t)=>t===0?[-1,-1,0]:G(e,t,0),ls=(e,t=(cd,ci,offset))=>{let r=e.length,n=0,[s,o,a]=Ae(e,r);for(t(s,n,o),++n,o=a;o<r;)[s,o,a]=G(e,r,o),t(s,n,o),++n,o=a},cs=e=>{let t=e.length,r=Array.from({length:t}).map(h=>[-1,-1]),n=Array.from({length:t}).map(h=>-1),s=Array.from({length:t}).map(h=>-1),o=Array.from({length:t}).map(h=>-1),a=0,[c,l,u]=Ae(e,t);for(r[a][0]=0,r[a][1]=0,s[a]=c,n[a]=l,o[a]=u-l,++a,l=u;l<t;){[c,l,u]=G(e,t,l);let h=r[a-1],A=s[h[0]];c===A?(r[a][0]=h[0]+1,r[a][1]=o[h[0]]):(r[a][0]=0,r[a][1]=0),s[a]=c,n[a]=l,o[a]=o[a-1]+(u-l),++a,l=u}return{mx:r,cd:s,of:n,sz:o}},_s=(e,t,r,n,s)=>r+s-e.mx[n-t-1][1];Wt.exports={_fst:Ae,_next:G,_while:ls,max_cmmn_psfix:cs,mvto:_s}});var Se=g((xa,Pt)=>{var Ct=e=>{e=e-65536;let t=e&1023|56320;return[e>>10|55296,t]},us=e=>{if(e<65536){let t=e&255,r=e>>8;return[t,r]}else{let[t,r]=Ct(e),n=t&255,s=t>>8,o=r&255,a=r>>8;return[n,s,o,a]}};Pt.exports={MAX_CODE:1114111,_split_to_hilo:Ct,split:us}});var xt=g((za,Vt)=>{var fs=Se(),me=class{u8a;ei=0;cnt=0;constructor(t){this.u8a=new Uint8Array(t)}get view_(){return this.u8a.subarray(0,this.ei)}input(t){let r=fs.split(t);switch(++this.cnt,r.length){case 2:{this.u8a[this.ei]=r[0],++this.ei;break}case 4:{this.u8a[this.ei]=r[0],++this.ei,this.u8a[this.ei]=r[1],++this.ei,this.u8a[this.ei]=r[2],++this.ei,this.u8a[this.ei]=r[3],++this.ei;break}}return r}reset(){this.ei=0,this.cnt=0}};Vt.exports={Mach:me}});var Ht=g((Ha,zt)=>{zt.exports={def:Se(),mach:xt()}});var K=g((Xa,Xt)=>{var ds=he(),bs=Nt(),ys=Jt(),gs=qt(),hs=Ht();Xt.exports={cmmd:ds,decd:bs,encd:hs,freq:ys,handle:gs}});var Y=g((Za,$t)=>{var ks=Object.is,{istof:Ga,is_num:ps}=H(),{_u:Ka,_n:Ya,_t:Ee,_f:we}=O(),As=X(),$a=K(),Ss=e=>{let t=0;do t++,e>>=7;while(e);return t},Gt=e=>{for(let t=0;t<e.length;++t)if(e.charCodeAt(t)>255)return!1;return!0},ms=e=>!Gt(e),ws=(e,t)=>{let n=new DataView(e.buffer).getFloat64(t,Ee);return ks(n,NaN)},Es={PACKED_SMI_ELEMENTS:0,HOLEY_SMI_ELEMENTS:1,PACKED_DOUBLE_ELEMENTS:2,HOLEY_DOUBLE_ELEMENTS:3,PACKED_ELEMENTS:4,HOLEY_ELEMENTS:5},Kt=e=>{let t=0;return e.forEach(r=>{++t}),t},Bs=e=>Kt(e)!==e.length,Yt=e=>Number.isInteger(e)&&!Object.is(e,-0)&&As.is_smi(e),js=e=>{let t=Ee,r=Ee,n=0;for(;n<e.length;){if(!(t&&Yt(e[n])))if(ps(e[n]))t=we;else{t=we,r=we;break}++n}return{is_packed_smi:t,is_packed_double:r}},Is=new TextDecoder,Os=(e,t,r,n)=>{let s=new Uint8Array(e.buffer,t,r);return n?n(s):Is.decode(s)},Rs=new TextDecoder("latin1"),Us=(e,t,r)=>Rs.decode(e.subarray(t,t+r)),Ts=new TextDecoder("utf-16"),vs=(e,t,r)=>Ts.decode(e.subarray(t,t+r));$t.exports={BytesNeededForVarint:Ss,IsOneByte:Gt,IsTwoByte:ms,IsNaNAt:ws,IsSmi:Yt,kFastElementsKindSequence:Es,GetArrayForEachLength:Kt,IsArrayHasHole:Bs,GetArrayPackedInfo:js,Utf8U8aToStr:Os,Latin1U8aToStr:Us,JstrU8aToStr:vs}});var je=g((Qa,Qt)=>{var Zt=2**53-1,Be=class extends Array{constructor(){super(),this[0]=0}get id(){return this[0]}next(){let t=this[0],r=this[0]+1;return r-1===Zt&&(r=0),this[0]=r,t}},Ds=()=>new Be;Qt.exports={MAX_NID:Zt,creat_nid:Ds}});var Z=g((ti,rr)=>{var Ns=Array,{_u:tr,_n:ei,_t:Ls,_f:Ms}=O(),{creat_nid:Fs}=je(),$=class extends WeakMap{#e=Fs();FindOrInsert(t){let r=this.get(t);if(r===tr){let n=this.#e.next();return this.set(t,n),[Ms,n]}else return[Ls,r]}},Js=()=>new $,Ie=class{idmap=new $},Ws=()=>new Ie,Oe=class extends Ns{HasObjectWithID(t){return this[t]!==tr}GetObjectWithID(t){return this[t]}AddObjectWithID(t){this.push(t)}get nid_(){return this.length}},er=()=>new Oe;rr.exports={creat_widmap:Js,creat_wctx:Ws,creat_ridmap:er,creat_rctx:er}});var ur=g((ri,_r)=>{var qs=Object.prototype.toString,nr=e=>qs.call(e),b=e=>t=>nr(t)===e,Q=b("[object Boolean]"),sr=b("[object Number]"),or=b("[object String]"),ar=b("[object BigInt]"),Cs=b("[object Date]"),Ps=b("[object RegExp]"),Vs=b("[object ArrayBuffer]"),xs=b("[object SharedArrayBuffer]"),zs=b("[object DataView]"),Hs=b("[object Uint8Array]"),Xs=b("[object Uint8ClampedArray]"),Gs=b("[object Int8Array]"),Ks=b("[object Uint16Array]"),Ys=b("[object Int16Array]"),$s=b("[object Uint32Array]"),Zs=b("[object Int32Array]"),Qs=b("[object BigUint64Array]"),eo=b("[object BigInt64Array]"),to=b("[object Float16Array]"),ro=b("[object Float32Array]"),no=b("[object Float64Array]"),so=e=>ArrayBuffer.isView(e),oo=Array.isArray,ao=b("[object Set]"),io=b("[object Map]"),ir=b("[object WeakSet]"),lr=b("[object WeakMap]"),cr=b("[object WeakRef]"),lo=e=>ir(e)||lr(e)||cr(e),co=e=>Q(e)&&e.valueOf(),_o=e=>Q(e)&&!e.valueOf(),uo=e=>Q(e)||sr(e)||or(e)||ar(e),fo=b("[object Error]"),bo=b("[object EvalError]"),yo=b("[object RangeError]"),go=b("[object ReferenceError]"),ho=b("[object TypeError]"),ko=b("[object URIError]"),po=b("[object AggregateError]");_r.exports={tag:nr,is_dt:Cs,is_rgx:Ps,is_ab:Vs,is_dv:zs,is_sab:xs,is_abvw:so,is_u8a:Hs,is_u8ca:Xs,is_i8a:Gs,is_u16a:Ks,is_i16a:Ys,is_u32a:$s,is_i32a:Zs,is_u64a:Qs,is_i64a:eo,is_f16a:to,is_f32a:ro,is_f64a:no,is_ary:oo,is_st:ao,is_mp:io,is_weak:lo,is_wkst:ir,is_wkmp:lr,is_wkref:cr,is_prim_wrap:uo,is_blo:Q,is_truo:co,is_flso:_o,is_numo:sr,is_stro:or,is_bio:ar,is_err:fo,is_eval_err:bo,is_rng_err:yo,is_ref_err:go,is_typ_err:ho,is_uri_err:ko,is_agg_errs:po}});var Re=g((ni,br)=>{var fr=["g","i","m","y","u","s","l","d","v"],dr={g:1,i:2,m:4,y:8,u:16,s:32,l:64,d:128,v:256},Ao=e=>{let t=0;for(let r=0;r<e.length;++r){let n=e[r];dr[n]&&(t=t+dr[n])}return t},So=e=>{let t="";for(let r=0;r<fr.length;++r){let n=fr[r];e&1<<r&&(t=t+n)}return t};br.exports={s2n:Ao,n2s:So}});var gr=g((si,yr)=>{var re=2n**64n-1n,ee=e=>{let t=0;for(;e;)e=e>>64n,++t;return t},te=e=>8*ee(e),Ue=e=>{let t=0;e>=0n||(t=1,e=-e);let r=te(e);return[t,r,e]},mo=e=>{let[t,r,n]=Ue(e);return t|r<<1},wo=e=>{let t=e&1,r=e>>1;return{sign:t,data_blen:r}},Eo=function*(e){for(;e;)yield e&re,e=e>>64n},Bo=e=>e>=0n?ee(e):ee(-e),jo=e=>e>=0n?te(e):te(-e),Io=function*(e){for(e=e>=0?e:-e;e;)yield e&re,e=e>>64n},Oo=(e,t,r=0,n)=>{let[s,o,a]=Ue(e),c=s|o,l=r,u=n(c);for(let p=0;p<u.length;++p)t[r+p]=u[p];r=r+u.length;let h=r,A=new DataView(t.buffer);for(;a;)A.setBigUint64(a&re,r,_t),r=r+8,a=a>>64n;return{sign:s,data:t,head_offset:l,body_offset:h,curr_offset:r}};yr.exports={MASK:re,count_if_pos:ee,data_byte_length_if_pos:te,count:Bo,data_byte_length:jo,_get_head:Ue,get_encd_head:mo,decd_encd_head:wo,gen_body_if_pos:Eo,gen_body:Io,use_with_get_var_int:Oo}});var Jr=g((ui,Fr)=>{var{_u:De,_n:Ro,_t:Uo,_f:Ne,is_untf:kr}=O(),oi=H(),ne=ur(),To=e=>e[Symbol.toStringTag]==="Promise",vo=e=>e[Symbol.toStringTag]==="Generator",Do=e=>e[Symbol.toStringTag]==="AsyncGenerator",No=e=>vo(e)||Do(e),Lo=e=>e[Symbol.toStringTag]?e[Symbol.toStringTag].includes("Iterator"):Ne,pr=X(),Mo=K(),Fo=Re(),hr=gr(),W=Y(),{SerializationTag:f,ErrorTag:S,ArrayBufferViewTag:ai,IsNodeFastBuffer:ii,kNodeFastBufferSym:li,ArrayBufferViewIndexToCtor:_i,CreatFakeCantBeSered:Ar,arrayBufferViewTypeToIndex:Jo}=z(),Wo=Z(),Sr=(e,t=15,r)=>{e.push(f.kVersion),e.push(t)},d=(e,t,r)=>{e.push(t)},y=(e,t,r)=>{if(pr.is_smi_can_be_encded(t)){let n;do n=t&127|128,e.push(Number(n)),t=t>>7;while(t);return e[e.length-1]=e[e.length-1]&127,e}else{t=BigInt(t);let n;do n=t&0x7Fn|0x80n,e.push(Number(n)),t=t>>7n;while(t);return e[e.length-1]=e[e.length-1]&127,e}},mr=(e,t,r,n=pr.encd)=>(t=n(t),y(e,t),e),wr=new Float64Array(1),j=new Uint8Array(wr.buffer),C=(e,t,r)=>(wr[0]=t,e.push(j[0],j[1],j[2],j[3],j[4],j[5],j[6],j[7]),e),Er=(e,t,r)=>{y(e,t.length);for(let n=0;n<t.length;++n)e.push(t.charCodeAt(n));return e},Br=(e,t,r,n)=>{n=n??new Mo.encd.mach.Mach,y(e,t.length*2);for(let s=0;s<t.length;++s){let o=t.charCodeAt(s),[a,c]=n.input(o);e.push(a),e.push(c)}return e},se=(e,t,r)=>{for(let n=0;n<t.length;++n)e.push(t[n]);return e},jr=(e,t,r)=>{let n=f.kUndefined;switch(t){case De:n=f.kUndefined;break;case Ne:n=f.kFalse;break;case Uo:n=f.kTrue;break;case Ro:n=f.kNull;break}return d(e,n),e},oe=(e,t,r)=>(d(e,f.kInt32,r),mr(e,t,r),e),Le=(e,t,r)=>(d(e,f.kDouble,r),C(e,t,r),e),U=(e,t,r)=>{if(t|0,W.IsOneByte(t))d(e,f.kOneByteString,r),Er(e,t,r);else{let n=t.length*2,s=W.BytesNeededForVarint(n);e.length+1+s&1&&d(e,f.kPadding,r),d(e,f.kTwoByteString,r),Br(e,t,r)}return e},Ir=(e,t,r)=>(d(e,f.kDate,r),C(e,t.getTime(),r),e),Or=(e,t,r)=>{d(e,f.kRegExp,r),U(e,t.source,r);let n=Fo.s2n(t.flags);return y(e,n,r),e},Rr=new BigUint64Array(1),I=new Uint8Array(Rr.buffer),Me=(e,t,r)=>{let[n,s,o]=hr._get_head(t),a=n|s<<1;for(y(e,a,r);o;)Rr[0]=o&hr.MASK,e.push(I[0],I[1],I[2],I[3],I[4],I[5],I[6],I[7]),o=o>>64n;return e},Fe=(e,t,r)=>(d(e,f.kBigInt,r),Me(e,t,r),e),qo=(e,t,r)=>(e.push(t),e),Te=(e,t,r)=>(y(e,t,r),e),J=(e,t,r)=>{var n=t.constructor.name;return n==="Boolean"?(t.valueOf()?d(e,f.kTrueObject,r):d(e,f.kFalseObject,r),e):n==="Number"?(d(e,f.kNumberObject,r),C(e,Number(t),r),e):n==="String"?(d(e,f.kStringObject,r),U(e,String(t),r),e):n==="BigInt"?(d(e,f.kBigIntObject,r),Me(e,BigInt(t),r),e):De},Ur=(e,t,r)=>{switch(d(e,f.kError,r),t.name){case"EvalError":{y(e,S.kEvalErrorPrototype,r);break}case"RangeError":{y(e,S.kRangeErrorPrototype,r);break}case"ReferenceError":{y(e,S.kReferenceErrorPrototype,r);break}case"SyntaxError":{y(e,S.kSyntaxErrorPrototype,r);break}case"TypeError":{y(e,S.kTypeErrorPrototype,r);break}case"URIError":{y(e,S.kUriErrorPrototype,r);break}default:}let s=String(t.message);y(e,S.kMessage,r),U(e,s,r);let o=t.cause;o&&(y(e,S.kCause,r),m(e,o,r));let a=String(t.stack);return y(e,S.kStack,r),U(e,a,r),y(e,S.kEnd,r),e},Co={undefined:(e,t,r)=>d(e,f.kUndefined,r),null:(e,t,r)=>d(e,f.kNull,r),true:(e,t,r)=>d(e,f.kTrue,r),false:(e,t,r)=>d(e,f.kFalse,r)},m=(e,t,r)=>{var n=typeof t;if(n==="string")U(e,t,r);else if(n==="bigint")Fe(e,t,r);else if(n==="number")W.IsSmi(t)?oe(e,t,r):Le(e,t,r);else if(kr(t))Co[t](e,t,r);else{Je(e,t,r);}return e},Tr=(e,t,r)=>{d(e,f.kBeginJSSet,r);let n=0;for(let s of t)m(e,s,r),++n;return d(e,f.kEndJSSet,r),y(e,n,r),e},vr=(e,t,r)=>{d(e,f.kBeginJSMap,r);let n=t.size*2;for(let[s,o]of t)m(e,s,r),m(e,o,r);return d(e,f.kEndJSMap,r),y(e,n,r),e},Dr=(e,t,r)=>{let n=Jo(t);if(n>-1){d(e,f.kHostObject,r),Te(e,n,r),Te(e,t.byteLength,r);let s=new Uint8Array(t.buffer,t.byteOffset,t.byteLength);return se(e,s,r),e}},Nr=(e,t,r)=>Dr(e,t,r),ve=(e,t,r)=>{let n=Ne;ne.is_sab(t)?n=!!t.growable:n=t.resizable;let s=n?t.maxByteLength:t.byteLength,o=t.byteLength;return n?(d(e,f.kResizableArrayBuffer,r),y(e,o,r),y(e,s,r),se(e,new Uint8Array(t),r)):(d(e,f.kArrayBuffer,r),y(e,o,r),se(e,new Uint8Array(t),r)),e},q=(e,t,r)=>{d(e,f.kBeginJSObject,r);let n=0;for(let s in t)m(e,s,r),m(e,t[s],r),n++;return d(e,f.kEndJSObject,r),y(e,n,r),e},Lr=(e,t,r)=>{let n=t.length,{is_packed_smi:s,is_packed_double:o}=W.GetArrayPackedInfo(t);if(s){d(e,f.kBeginDenseJSArray,r),y(e,n,r);for(let l=0;l<t.length;++l)oe(e,t[l],r)}else if(o){if(d(e,f.kBeginDenseJSArray,r),y(e,n,r),n!==0)for(let l=0;l<t.length;++l)d(e,f.kDouble,r),C(e,t[l],r)}else{d(e,f.kBeginDenseJSArray,r),y(e,n,r);for(let l=0;l<t.length;++l)m(e,t[l],r)}let a=Object.keys(t),c=0;for(let l=t.length;l<a.length;++l){let u=a[l];m(e,u,r),m(e,t[u],r),c++}return d(e,f.kEndDenseJSArray,r),y(e,c,r),y(e,n,r),e},Po=(e,t,r)=>{let n=Ar("Symbol",t.description);q(e,n,r)},Vo=(e,t,r)=>{W.IsSmi(t)?oe(e,t,r):Le(e,t,r)},Mr=(e,t,r)=>{let n=Ar(idx,String(t));q(e,n,r)},xo={string:U,bigint:Fe,symbol:Po,number:Vo,function:Mr},zo={"[object Date]":Ir,"[object RegExp]":Or,"[object Set]":Tr,"[object Map]":vr,"[object ArrayBuffer]":ve,"[object SharedArrayBuffer]":ve,"[object Boolean]":J,"[object Number]":J,"[object String]":J,"[object BigInt]":J},Je=(e,t,r)=>{if(ne.is_ary(t))Lr(e,t,r);else if(ne.is_abvw(t))Nr(e,t,r)!==De||q(e,t,r);else if(kr(t))jr(e,t,r);else{var n=typeof t;let o=xo[n];if(o!==void 0)o(e,t,r);else{let[a,c]=r.idmap.FindOrInsert(t);if(a)d(e,f.kObjectReference,r),y(e,c,r);else{var s=ne.tag(t);let l=zo[s];l!==void 0?l(e,t,r):s.includes("Error")?Ur(e,t,r):To(t)||No(t)||Lo(t)?Mr(e,t,r):q(e,t,r)}}}return e},Ho=(e,t=15)=>{let r=[],n=Wo.creat_wctx();return Sr(r,t),Je(r,e,n),new Uint8Array(r).buffer};Fr.exports={WriteHeader:Sr,WriteTag:d,WriteVarint:y,WriteZigZag:mr,WriteDouble:C,WriteOneByteString:Er,WriteTwoByteString:Br,WriteRawBytes:se,WriteOddball:jr,WriteSmi:oe,WriteHeapNumber:Le,WriteString:U,WriteJSDate:Ir,WriteJSRegExp:Or,WriteBigIntContents:Me,WriteBigInt:Fe,WriteByte:qo,WriteUint32:Te,WriteJSPrimitiveWrapper:J,WriteJSError:Ur,WriteObject:m,WriteJSSet:Tr,WriteJSMap:vr,WriteHostObject:Dr,WriteJSArrayBufferView:Nr,WriteJSArrayBuffer:ve,WriteJSObject:q,WriteJSArray:Lr,WriteJSReceiver:Je,encd:Ho}});var Pr=g((fi,Cr)=>{var{istof:Xo}=H(),We=Error,Wr=e=>new We(e),qr=e=>{throw Wr(e)},Go=e=>Xo(e,We),Ko=e=>qr("unreachable");Cr.exports={_ERR:We,creat_err:Wr,thrw_str:qr,is_err:Go,unreachable:Ko}});var xr=g((di,ae)=>{var Yo=(e,t=e.constructor)=>{for(var r=e.byteOffset,n=r+e.byteLength,s=new t(e.buffer),o=s.subarray(r/t.BYTES_PER_ELEMENT,n/t.BYTES_PER_ELEMENT),a="[",c=0;c<o.length-1;++c)typeof o[c]=="bigint"?a+=o[c]+"n,":a+=o[c]+",";return o.length===0||(typeof o[o.length-1]=="bigint"?a+=o[o.length-1]+"n":a+=o[o.length-1]),a+="]",a},Vr=e=>{var t=new Uint8Array(e),r=JSON.stringify(Array.from(t)),n;return e.resizable?n=`new ArrayBuffer(${e.byteLength},{maxByteLength:${e.maxByteLength}})`:n=`new ArrayBuffer(${e.byteLength})`,`(()=>{ var ab = ${n};(new Uint8Array(ab)).set(${r});return(ab);})()`};ae.exports=(e,t="",r)=>{var n=t;return r!==void 0&&(n+=`var ${t} = `),n+=Vr(e),n};ae.exports.ab=Vr;Object.defineProperty(ae.exports,"_creat_desc",{value:Yo,enumerable:!1})});var Kr=g((bi,Gr)=>{var $o=(e,t)=>{if(typeof e=="number")return t!==void 0?new ArrayBuffer(e,{maxByteLength:t}):new ArrayBuffer(e);if(e instanceof ArrayBuffer){var r;e.resizable?r=new ArrayBuffer(e.byteLength,{maxByteLength:e.maxByteLength}):r=new ArrayBuffer(e.byteLength);var n=new Uint8Array(e);return new Uint8Array(r).set(n),r}else if(e.buffer&&e.buffer instanceof ArrayBuffer){var s=e.byteOffset,o=s+e.byteLength;if(t!==void 0)return e.buffer.slice(s,o);var r=new ArrayBuffer(o-s,{maxByteLength:t}),n=new Uint8Array(e.buffer).subarray(s,o);return new Uint8Array(r).set(n),r}else{var a=e.length,r;e.resizable?r=new ArrayBuffer(a,{maxByteLength:e.maxByteLength}):r=new ArrayBuffer(a);for(var c=new Uint8Array(r),l=0;l<a;++l)c[l]=e[l];return r}},Zo=xr().ab,ie=(e,t,r,n,s)=>{let o=new Uint8Array(e,t,r);return new Uint8Array(n).set(o,s),n},zr=(e,t,r,n,s)=>(r=r??0,n=n??e.byteLength,s=s??0,ie(e,r,n,t,s)),Qo=(e,t,r,n=0)=>zr(e,t,0,r,n),ea=(e,t,r=0)=>ie(e,0,e.byteLength,t,r),ta=(e,t)=>ie(e,0,e.byteLength,t,0),Hr=(e,...t)=>{let r=t.length,n=new Uint8Array(e.length+r);for(let s=0;s<r;++s)n[e.length+s]=t[s];return n.set(e),e},Xr=(e,...t)=>{let r=t.length,n=new Uint8Array(e.length+r);for(let s=0;s<r;++s)n[s]=t[s];return n.set(e,r),e},ra=(e,...t)=>Hr(new Uint8Array(e),...t).buffer,na=(e,...t)=>Xr(new Uint8Array(e),...t).buffer;Gr.exports={creat:$o,to_str:Zo,_cp:ie,cp:zr,cp_from_src_start:Qo,cp_all_if_dst_is_enough:ea,cp_all_if_same_blen:ta,dupe_u8a_and_push:Hr,dupe_u8a_and_unshift:Xr,dupe_and_push:ra,dupe_and_unshift:na}});var _n=g((gi,cn)=>{var{_u:P,_n:sa,_t:E,_f:T}=O(),{thrw_str:oa}=Pr(),aa=Kr(),ia=X(),yi=K(),la=Re(),Pe=Y(),{SerializationTag:_,ErrorTag:w,ArrayBufferViewIndexToCtor:ca,CreatUnknown:_a}=z(),{creat_rctx:ua}=Z(),Yr={must_be_str:"must_be_str"},fa=(e,t,r)=>{let n=t,s=0,o=0,a=T;do{let c=e[t];if(a=c&128,o<32)s|=(c&127)<<o,o=o+7;else break;++t}while(a);return[s,t-n,t]},da=(e,t,r)=>{let n=t,s=0n,o=0n,a=T;do{let c=BigInt(e[t]);if(a=c&0x80n,o<32n)s|=(c&0x7Fn)<<o,o=o+7n;else break;++t}while(a);return[Number(s),t-n,t]},k=da,$r=(e,t,r)=>{let n=t;++t;let s=e[t];return++t,[s,t-n,t]},N=(e,t,r)=>{let n=t,s;do s=e[t],++t;while(s===_.kPadding);return[s,t-n,t]},Zr=(e,t,r,n=ia.decd)=>{let s=t,o=k(e,t,r),a=o[0];return t=o[2],[n(a),t-s,t]},le=(e,t,r)=>{let s=new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(t,E);return t=t+8,[s,8,t]},Ve=(e,t,r,n)=>{let s=t,o=new Uint8Array(e.buffer,e.byteOffset+t,r);return t=t+r,[o,r,t]},ba=(e,t,r)=>(++t,[e[i],1,t]),qe=(e,t,r)=>k(e,t,r),Qr=2n**64n,xe=(e,t,r)=>{let n=t,s=k(e,t,r),o=s[0],a=o&1,c=o>>1;t=s[2],s=Ve(e,t,c,r);let l=s[0],u=new DataView(l.buffer,l.byteOffset,l.byteLength),h=0n,A=1n,p=c/8;for(let ce=0;ce<p;++ce){let bn=u.getBigUint64(8*ce,E);h=h+bn*A,A=A*Qr}return a===1&&(h=-h),t=s[2],[h,t-n,t]},ze=(e,t,r)=>{let n=t,s=k(e,t,r),o=s[0];t=s[2];let a=Pe.Latin1U8aToStr(e,t,o);return t+=o,[a,t-n,t]},He=(e,t,r)=>{let n=t,s=k(e,t,r),o=s[0];t=s[2];let a=Pe.JstrU8aToStr(e,t,o);return t+=o,[a,t-n,t]},Xe=(e,t,r)=>{let n=t,s=k(e,t,r),o=s[0];t=s[2];let a=Pe.Utf8U8aToStr(e,t,o);return t+=o,[a,t-n,t]},en=(e,t,r)=>{let n=t,s=le(e,t,r),o=s[0],a=new Date(o);return t=s[2],r.AddObjectWithID(a),[a,t-n,t]},ya=(e,t,r,n)=>{let s=t,o;switch(r){case _.kTrueObject:{o=new Boolean(E);break}case _.kFalseObject:{o=new Boolean(T);break}case _.kNumberObject:{let a=le(e,t,n),c=a[0];t=a[2],o=new Number(c);break}case _.kStringObject:{let a=V(e,t,n),c=a[0];t=a[2],o=new String(c);break}case _.kBigIntObject:{let a=xe(e,t,n),c=a[0];t=a[2],o=CreatFakeCantBeSered("BigInt",c);break}default:}return n.AddObjectWithID(o),[o,t-s,t]},tn=(e,t,r)=>{let n=t,s=P,o=P,a=P,c=T,l=Error;for(;!c;){let h=k(e,t,r),A=h[0];switch(t=h[2],A){case w.kEvalErrorPrototype:{l=EvalError;break}case w.kRangeErrorPrototype:{l=RangeError;break}case w.kReferenceErrorPrototype:{l=ReferenceError;break}case w.kSyntaxErrorPrototype:{l=SyntaxError;break}case w.kTypeErrorPrototype:{l=TypeError;break}case w.kUriErrorPrototype:{l=URIError;break}case w.kMessage:{let p=V(e,t,r);s=p[0],t=p[2];break}case w.kCause:{let p=B(e,t,r);a=p[0],t=p[2];break}case w.kStack:{let p=V(e,t,r);o=p[0],t=p[2];break}case w.kEnd:{c=E;break}default:}}let u;return a?u=new l(s,{cause:a}):u=new l(s),u.stack=o,r.AddObjectWithID(u),[u,t-n,t]},V=(e,t,r)=>{let n=t,s=N(e,t,r),o=s[0];switch(t=s[2],o){case _.kOneByteString:return s=ze(e,t,r),t=s[2],[s[0],t-n,t];case _.kTwoByteString:return s=He(e,t,r),t=s[2],[s[0],t-n,t];case _.kUtf8String:return s=Xe(e,t,r),t=s[2],[s[0],t-n,t];default:oa(Yr.must_be_str)}},rn=(e,t,r)=>{let n=t,s=V(e,t,r),o=s[0];t=s[2],s=k(e,t,r);let a=s[0];a=la.n2s(a),t=s[2];let c=new RegExp(o,a);return r.AddObjectWithID(c),[c,t-n,t]},nn=(e,t,r)=>{let n=t,s=new Set;r.AddObjectWithID(s);let o=0;for(;E;){let c=t,l=N(e,t,r),u=l[0];if(t=l[2],u===_.kEndJSSet)break;t=c,l=B(e,t,r),s.add(l[0]),t=l[2],o++}let a=k(e,t,r);return t=a[2],[s,t-n,t,a[0]]},sn=(e,t,r)=>{let n=t,s=new Map;r.AddObjectWithID(s);let o=0;for(;E;){let c=t,l=N(e,t,r);if(t=l[2],l[0]===_.kEndJSMap)break;{t=c,l=B(e,t,r);let h=l[0];t=l[2],l=B(e,t,r);let A=l[0];t=l[2],s.set(h,A),o=o+2}}let a=k(e,t,r);return t=a[2],[s,t-n,t,a[0]]},Ge=(e,t,r)=>{let n=t,s=qe(e,t,r),o=s[0],a=ca[o],c=a.BYTES_PER_ELEMENT;t=s[2],s=qe(e,t,r);let l=s[0];t=s[2];let u=t;s=Ve(e,t,l,r);let h;return(e.byteOffset+t)%c===0?h=new a(s[0].buffer,e.byteOffset+t,l/c):h=new a(s[0].buffer.slice(t,t+l)),t=s[2],r.AddObjectWithID(h),[h,t-n,t]},ga=Ge,Ce=(e,t,r,n)=>{let s=t,o=k(e,t,n),a=o[0];t=o[2];let c=a,l;if(r){let u=k(e,t,n);c=u[0],l=new ArrayBuffer(a,{maxByteLength:c}),t=u[2],aa._cp(e.buffer,e.byteOffset+t,a,l,0),t=t+a}else l=e.buffer.slice(e.byteOffset+t,e.byteOffset+t+a),t=t+a;return n.AddObjectWithID(l),[l,t-s,t]},Ke=(e,t,r,n,s,o)=>{let a=t,c=0;for(;E;){let l=t,u=N(e,t,o),h=u[0];if(t=u[2],h!==n){t=l,u=B(e,t,o);let A=u[0];t=u[2],u=B(e,t,o);let p=u[0];t=u[2],r[A]=p,++c}else return[c,t-a,t]}},on=(e,t,r)=>{let n=t,s={};r.AddObjectWithID(s);let o=Ke(e,t,s,_.kEndJSObject,T,r),a=o[0];return t=o[2],o=k(e,t,r),t=o[2],[s,t-n,t]},an=(e,t,r,n)=>{let s=t,o=k(e,t,n),a=o[0];t=o[2];let c=[];n.AddObjectWithID(c);for(let u=0;u<a;++u)o=B(e,t,n),c.push(o[0]),t=o[2];let l=r===_.kBeginDenseJSArray?_.kEndDenseJSArray:_.kEndSparseJSArray;return o=Ke(e,t,c,l,E,n),t=o[2],o=k(e,t,n),t=o[2],o=k(e,t,n),t=o[2],[c,t-s,t]},ln=(e,t,r)=>{let n=t,s=N(e,t,r),o=s[0];switch(t=s[2],o){case _.kTheHole:return[P,t-n,t];case _.kUndefined:return[P,t-n,t];case _.kNull:return[sa,t-n,t];case _.kTrue:return[E,t-n,t];case _.kFalse:return[T,t-n,t];case _.kInt32:return s=Zr(e,t,r),t=s[2],[s[0],t-n,t];case _.kUint32:return s=k(e,t,r),t=s[2],[s[0],t-n,t];case _.kDouble:return s=le(e,t,r),t=s[2],[s[0],t-n,t];case _.kBigInt:return s=xe(e,t,r),t=s[2],[s[0],t-n,t];case _.kOneByteString:return s=ze(e,t,r),t=s[2],[s[0],t-n,t];case _.kTwoByteString:return s=He(e,t,r),t=s[2],[s[0],t-n,t];case _.kUtf8String:return s=Xe(e,t,r),t=s[2],[s[0],t-n,t];case _.kBeginJSObject:return s=on(e,t,r),t=s[2],[s[0],t-n,t];case _.kBeginDenseJSArray:case _.kBeginSparseJSArray:return s=an(e,t,o,r),t=s[2],[s[0],t-n,t];case _.kDate:return s=en(e,t,r),t=s[2],[s[0],t-n,t];case _.kBeginJSMap:return s=sn(e,t,r),t=s[2],[s[0],t-n,t];case _.kBeginJSSet:return s=nn(e,t,r),t=s[2],[s[0],t-n,t];case _.kObjectReference:{s=k(e,t,r);let a=s[0];return t=s[2],[r.GetObjectWithID(a),t-n,t]}case _.kRegExp:return s=rn(e,t,r),t=s[2],[s[0],t-n,t];case _.kSharedArrayBuffer:case _.kArrayBuffer:return s=Ce(e,t,T,r),t=s[2],[s[0],t-n,t];case _.kResizableArrayBuffer:return s=Ce(e,t,E,r),t=s[2],[s[0],t-n,t];case _.kError:return s=tn(e,t,r),t=s[2],[s[0],t-n,t];case _.kArrayBufferView:case _.kHostObject:return s=Ge(e,t,r),t=s[2],[s[0],t-n,t];case _.kTrueObject:case _.kFalseObject:case _.kNumberObject:case _.kBigIntObject:case _.kStringObject:return s=ya(e,t,o,r),t=s[2],[s[0],t-n,t];default:return console.log("why unknown",o,t,e),[_a(),t-n,t]}},B=(e,t,r)=>ln(e,t,r),ha=e=>{let t=e.buffer!==void 0?e:new Uint8Array(e),r=ua(),n=0,s=$r(t,n,r);return n=s[2],s=B(t,n,r),s[0]};cn.exports={ERRD:Yr,ReadVarintLoopIfLshiftWork:fa,ReadVarint:k,ReadHeader:$r,ReadTag:N,ReadZigZag:Zr,ReadDouble:le,ReadRawBytes:Ve,ReadByte:ba,ReadUint32:qe,ReadBigInt:xe,BI_MUL:Qr,ReadOneByteString:ze,ReadTwoByteString:He,ReadUtf8String:Xe,ReadJSDate:en,ReadString:V,ReadJSRegExp:rn,ReadJSError:tn,ReadJSSet:nn,ReadJSMap:sn,ReadHostObject:Ge,ReadJSArrayBufferView:ga,ReadJSArrayBuffer:Ce,ReadJSObjectProperties:Ke,ReadObjectInternal:ln,ReadObject:B,ReadJSObject:on,ReadJSArray:an,decd:ha}});var Ea=g((hi,dn)=>{var ka=et(),pa=rt(),Aa=z(),Sa=Y(),ma=je(),wa=Z(),un=Jr(),fn=_n();dn.exports={fixed_cfg:ka,restrict:pa,const:Aa,misc:Sa,zero_nid:ma,ctx:wa,w:un,r:fn,ser:un.encd,der:fn.decd}});return Ea();})();
24
+ `,"Error'message":"Error'message treated as string","Error'stack":"Error'stack treated as string",kVerifyObjectCount:"no verify",throwDetachedArrayBufferError:"dont know how to get this state in js-layer",kArrayBufferTransfer:"hard to do this in js-layer",kSharedObject:"hard to do this in js-layer",kWasmModuleTransfer:"hard to do this in js-layer",kWasmMemoryTransfer:"hard to do this in js-layer",ITERATOR:"dont know how to get the iter cursor in js-layer, treated as a {}",ATOMICS:"dont know how to do this, treated as a {}",FPG:"function | lambda | promise| generator| all treated as a {}",Proxy:"hard to do this in browser, so treated as the-target-be-proxied"}});var x=y((qa,ir)=>{var{_u:Bn,_n:Ca,_t:fe,_f:Ja}=I(),jn={kVersion:255,kPadding:0,kVerifyObjectCount:63,kTheHole:45,kUndefined:95,kNull:48,kTrue:84,kFalse:70,kInt32:73,kUint32:85,kDouble:78,kBigInt:90,kUtf8String:83,kOneByteString:34,kTwoByteString:99,kObjectReference:94,kBeginJSObject:111,kEndJSObject:123,kBeginSparseJSArray:97,kEndSparseJSArray:64,kBeginDenseJSArray:65,kEndDenseJSArray:36,kDate:68,kTrueObject:121,kFalseObject:120,kNumberObject:110,kBigIntObject:122,kStringObject:115,kRegExp:82,kBeginJSMap:59,kEndJSMap:58,kBeginJSSet:39,kEndJSSet:44,kArrayBuffer:66,kResizableArrayBuffer:126,kArrayBufferTransfer:116,kArrayBufferView:86,kSharedArrayBuffer:117,kSharedObject:112,kWasmModuleTransfer:119,kHostObject:92,kWasmMemoryTransfer:109,kError:114,kLegacyReservedMessagePort:77,kLegacyReservedBlob:98,kLegacyReservedBlobIndex:105,kLegacyReservedFile:102,kLegacyReservedFileIndex:101,kLegacyReservedDOMFileSystem:100,kLegacyReservedFileList:108,kLegacyReservedFileListIndex:76,kLegacyReservedImageData:35,kLegacyReservedImageBitmap:103,kLegacyReservedImageBitmapTransfer:71,kLegacyReservedOffscreenCanvas:72,kLegacyReservedCryptoKey:75,kLegacyReservedRTCCertificate:107},ar={kInt8Array:98,kUint8Array:66,kUint8ClampedArray:67,kInt16Array:119,kUint16Array:87,kInt32Array:100,kUint32Array:68,kFloat32Array:102,kFloat64Array:70,kBigInt64Array:113,kBigUint64Array:81,kDataView:63};Object.defineProperty(ar,"UNUSED_",{get:function(){return fe}});var de=Symbol("#kNodeFastBuffer"),vn={kInt8Array:0,kUint8Array:1,kUint8ClampedArray:2,kInt16Array:3,kUint16Array:4,kInt32Array:5,kUint32Array:6,kFloat32Array:7,kFloat64Array:8,kDataView:9,kNodeFastBuffer:10,kBigInt64Array:11,kBigUint64Array:12},ue=class extends Uint8Array{[de]=fe},In=e=>e[de]===fe,On=e=>Object.prototype.toString.call(e),Rn=e=>{let r=On(e);return r==="[object Int8Array]"?0:r==="[object Uint8Array]"?1:r==="[object Uint8ClampedArray]"?2:r==="[object Int16Array]"?3:r==="[object Uint16Array]"?4:r==="[object Int32Array]"?5:r==="[object Uint32Array]"?6:r==="[object Float32Array]"?7:r==="[object Float64Array]"?8:r==="[object DataView]"?9:r==="[object BigInt64Array]"?11:r==="[object BigUint64Array]"?12:-1},Tn=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,DataView,ue,BigInt64Array,BigUint64Array],Un={kEvalErrorPrototype:69,kRangeErrorPrototype:82,kReferenceErrorPrototype:70,kSyntaxErrorPrototype:83,kTypeErrorPrototype:84,kUriErrorPrototype:85,kMessage:109,kCause:99,kStack:115,kEnd:46},Dn="#___kCantBeSered___",Ln=(e,r)=>({id:e,kCantBeSered:r}),Mn="#___kUnknown___",Nn=()=>({kUnknown:Bn}),Fn="v8ser";ir.exports={CODEC_NAME:Fn,kNodeFastBufferSym:de,IsNodeFastBuffer:In,SerializationTag:jn,V8_ArrayBufferViewTag:ar,ArrayBufferViewTag:vn,ArrayBufferViewIndexToCtor:Tn,arrayBufferViewTypeToIndex:Rn,ErrorTag:Un,kCantBeSered:Dn,CreatFakeCantBeSered:Ln,kUnknown:Mn,CreatUnknown:Nn}});var H=y((Pa,dr)=>{var Wn=Object,U={un:"undefined",bl:"boolean",str:"string",num:"number",obj:"object",sym:"symbol",bi:"bigint",func_like:"function"},D=(e,r)=>typeof e===r,Cn=(e,r)=>e instanceof r,Jn=e=>D(e,U.str),qn=e=>D(e,U.sym),Pn=e=>Symbol.keyFor(e)!==void 0,Vn=e=>Symbol.keyFor(e)===void 0,zn=e=>D(e,U.bi),lr=e=>D(e,U.num),cr=e=>Wn.is(e,NaN),_r=e=>e===1/0,ur=e=>e===-1/0,fr=e=>cr(e)||_r(e)||ur(e),xn=e=>!fr(e)&&lr(e),Hn=e=>1/e===1/0,Xn=e=>1/e===-1/0,Gn=e=>D(e,U.func_like);dr.exports={TNAMED:U,typof:D,is_str:Jn,is_num:lr,is_sym:qn,is_glb_sym:Pn,is_non_glb_sym:Vn,is_bi:zn,istof:Cn,is_abnormal_num:fr,is_nan:cr,is_pos_infi:_r,is_neg_infi:ur,is_normal_num:xn,is_pos_zero:Hn,is_neg_zero:Xn,is_func_like:Gn}});var X=y((Va,Er)=>{var br=-(2n**31n),yr=2n**31n-1n,gr=e=>e>=-2147483648&&e<=2147483647,Kn=e=>e>=br&&e<=yr,be=e=>BigInt(e),ye=e=>Number(e),hr=-(2**30),kr=2**30-1,Yn=-(2n**30n),Zn=2n**30n-1n,pr=e=>e>=hr&&e<=kr,Ar=e=>e<<1^e>>31,ge=e=>e<<1n^e>>63n,Sr=e=>ye(ge(be(e))),wr=e=>e>>1^-(e&1),he=e=>e>>1n^-(e&1n),mr=e=>ye(he(be(e))),$n=e=>typeof e=="bigint"?ge(e):pr(e)?Ar(e):Sr(e),Qn=e=>typeof e=="bigint"?he(e):gr(e)?wr(e):mr(e);Er.exports={MIN_SMI:-2147483648,MAX_SMI:2147483647,MIN_SMI_BI:br,MAX_SMI_BI:yr,is_smi:gr,is_smi_bi:Kn,_bi:be,_num:ye,_encd_smi:Ar,_encd_bi:ge,_encd_between_smi_bi:Sr,_decd_smi:wr,_decd_bi:he,_decd_between_smi_bi:mr,MIN_SMI_CAN_BE_ENCDED:hr,MAX_SMI_CAN_BE_ENCDED:kr,MIN_SMI_BI_CAN_BE_ENCDED:Yn,MAX_SMI_BI_CAN_BE_ENCDED:Zn,is_smi_can_be_encded:pr,encd:$n,decd:Qn}});var ke=y((za,Br)=>{var es=String,rs=e=>es.fromCodePoint(e);Br.exports={cd2ch:rs}});var M=y((xa,Or)=>{var jr=e=>(e>>8&252)===216,vr=e=>(e>>8&252)===220,ts=e=>!jr(e)&&!vr(e),Ir=(e,r)=>((e&1023)<<10)+(r&1023)+65536,ns=(e,r)=>r===1?e[0]:Ir(e[0],e[1]);Or.exports={is_high_surrogate:jr,is_low_surrogate:vr,is_not_surrogate:ts,surrogate_to_code:Ir,b16arr_to_code:ns}});var Lr=y((Ha,Dr)=>{var N=M(),ss=0,Rr=2,Tr=5,Ur=["INIT","N","H","L","R","ERROR"],F={in_error_must_reset:"in_error_must_reset",fst_b16_invalid:"fst b16 cant be <0b1111_11xx_xxxx_xxxx>",low_invalid:"low must be <0b1111_11xx_xxxx_xxxx>"},os=e=>{e[0]=3,e[1]=e[1]&240;for(let r=2;r<5;r++)e[r]=0},pe=(e,r,t)=>{if(e.is_auto_recover_enabled()){e.reset();return}else throw e[1]=(e[1]&240)+Tr,e[2]=r,new Error(t)},O=class extends Uint16Array{constructor(r=!0){super(5),this[0]=3,this[1]=r?16:0,this[2]=0}get cursor_(){return this[0]}get state_code_(){return this[1]&15}get state_name_(){return Ur[this.state_code_]}is_init(){return this.state_code_===ss}is_high(){return this.state_code_===Rr}is_err(){return this.state_code_===Tr}is_auto_recover_enabled(){return(this[1]&240)===1}enable_auto_recover(){this[1]=this[1]|16}disable_auto_recover(){this[1]=this[1]&15}get lefted_(){return Array.from(this).slice(3,this[0])}get err_b16_(){return this[2]}input(r){let t=r.charCodeAt(0);if(this.is_init())if(N.is_high_surrogate(t)){this[3]=t,this[1]=(this[1]&240)+Rr,this[0]++;return}else return N.is_low_surrogate(t)?pe(this,t,F.fst_b16_invalid):(this.reset(),t);else{if(this.is_high())return N.is_high_surrogate(t)?pe(this,t,F.low_invalid):N.is_low_surrogate(t)?(t=N.surrogate_to_code(this[3],t),this.reset(),t):pe(this,t,F.low_invalid);if(this.is_err())return new Error(F.in_error_must_reset)}}reset(){os(this)}dict(){return{cursor:this[0],state:this.state_name_,data:this.lefted_,err_b16:this.err_b16_}}get[Symbol.toStringTag](){return JSON.stringify(this.dict())}};O.ALGN_OFFSET=3;O.ALGN_SIZE=5;var as=new O(!0),is=new O(!1);Dr.exports={STATES:Ur,ERRORS:F,Mach:O,auto_recover_mach:as,mach:is}});var Nr=y((Xa,Mr)=>{Mr.exports={def:M(),mach:Lr()}});var Jr=y((Ga,Cr)=>{var{is_high_surrogate:Ae}=M(),Fr=(e,r)=>{let t=e.length,s=0,n=0,o=-1;for(;!(n>=t);)o=e[n].charCodeAt(0),Ae(o)?(++n,++n):(o===r&&++s,++n);return s},Wr=(e,r,t)=>{let s=e.length,n=0,o=0,a=-1;for(;!(o>=s);)a=e[o].charCodeAt(0),Ae(a)&&(a===r&&(a=e[o+1].charCodeAt(0),a===t&&++n),++o),++o;return n},ls=e=>{let r=e.charCodeAt(0);return Ae(r)?[r,e.charCodeAt(1)]:[r,-1]},cs=(e,r)=>{let[t,s]=_is_u16u16_char(r);return s!=-1?Wr(e,t,s):Fr(e,t)};Cr.exports={_char_freq_if_u16:Fr,_char_freq_if_u16u16:Wr,_parse_char:ls,char_freq:cs}});var Pr=y((Ya,qr)=>{var{cd2ch:Ka}=ke(),{is_high_surrogate:_s}=M(),G=(e,r,t)=>{let s=e[t].charCodeAt(0);return _s(s)?[e.codePointAt(t),t,t+2]:[s,t,t+1]},Se=(e,r)=>r===0?[-1,-1,0]:G(e,r,0),us=(e,r=(cd,ci,offset))=>{let t=e.length,s=0,[n,o,a]=Se(e,t);for(r(n,s,o),++s,o=a;o<t;)[n,o,a]=G(e,t,o),r(n,s,o),++s,o=a},fs=e=>{let r=e.length,t=Array.from({length:r}).map(g=>[-1,-1]),s=Array.from({length:r}).map(g=>-1),n=Array.from({length:r}).map(g=>-1),o=Array.from({length:r}).map(g=>-1),a=0,[c,l,u]=Se(e,r);for(t[a][0]=0,t[a][1]=0,n[a]=c,s[a]=l,o[a]=u-l,++a,l=u;l<r;){[c,l,u]=G(e,r,l);let g=t[a-1],A=n[g[0]];c===A?(t[a][0]=g[0]+1,t[a][1]=o[g[0]]):(t[a][0]=0,t[a][1]=0),n[a]=c,s[a]=l,o[a]=o[a-1]+(u-l),++a,l=u}return{mx:t,cd:n,of:s,sz:o}},ds=(e,r,t,s,n)=>t+n-e.mx[s-r-1][1];qr.exports={_fst:Se,_next:G,_while:us,max_cmmn_psfix:fs,mvto:ds}});var we=y((Za,zr)=>{var Vr=e=>{e=e-65536;let r=e&1023|56320;return[e>>10|55296,r]},bs=e=>{if(e<65536){let r=e&255,t=e>>8;return[r,t]}else{let[r,t]=Vr(e),s=r&255,n=r>>8,o=t&255,a=t>>8;return[s,n,o,a]}};zr.exports={MAX_CODE:1114111,_split_to_hilo:Vr,split:bs}});var Hr=y(($a,xr)=>{var ys=we(),me=class{u8a;ei=0;cnt=0;constructor(r){this.u8a=new Uint8Array(r)}get view_(){return this.u8a.subarray(0,this.ei)}input(r){let t=ys.split(r);switch(++this.cnt,t.length){case 2:{this.u8a[this.ei]=t[0],++this.ei;break}case 4:{this.u8a[this.ei]=t[0],++this.ei,this.u8a[this.ei]=t[1],++this.ei,this.u8a[this.ei]=t[2],++this.ei,this.u8a[this.ei]=t[3],++this.ei;break}}return t}reset(){this.ei=0,this.cnt=0}};xr.exports={Mach:me}});var Gr=y((Qa,Xr)=>{Xr.exports={def:we(),mach:Hr()}});var K=y((ei,Kr)=>{var gs=ke(),hs=Nr(),ks=Jr(),ps=Pr(),As=Gr();Kr.exports={cmmd:gs,decd:hs,encd:As,freq:ks,handle:ps}});var Y=y((oi,$r)=>{var Ss=Object.is,{istof:ri,is_num:ws}=H(),{_u:ti,_n:ni,_t:Be,_f:Ee}=I(),ms=X(),si=K(),Es=e=>{let r=0;do r++,e>>=7;while(e);return r},Bs=e=>{for(let r=0;r<e.length;++r)if(e.charCodeAt(r)>255)return!1;return!0},js=e=>{for(let r=0;r<e.length;++r)if(e.charCodeAt(r)>255)return!0;return!1},vs=(e,r)=>{let s=new DataView(e.buffer).getFloat64(r,Be);return Ss(s,NaN)},Is={PACKED_SMI_ELEMENTS:0,HOLEY_SMI_ELEMENTS:1,PACKED_DOUBLE_ELEMENTS:2,HOLEY_DOUBLE_ELEMENTS:3,PACKED_ELEMENTS:4,HOLEY_ELEMENTS:5},Yr=e=>{let r=0;return e.forEach(t=>{++r}),r},Os=e=>Yr(e)!==e.length,Zr=e=>Number.isInteger(e)&&!Object.is(e,-0)&&ms.is_smi(e),Rs=e=>{let r=Be,t=Be,s=0;for(;s<e.length;){if(!(r&&Zr(e[s])))if(ws(e[s]))r=Ee;else{r=Ee,t=Ee;break}++s}return{is_packed_smi:r,is_packed_double:t}},Ts=new TextDecoder,Us=(e,r,t,s)=>{let n=new Uint8Array(e.buffer,r,t);return s?s(n):Ts.decode(n)},Ds=new TextDecoder("latin1"),Ls=(e,r,t)=>Ds.decode(e.subarray(r,r+t)),Ms=new TextDecoder("utf-16"),Ns=(e,r,t)=>Ms.decode(e.subarray(r,r+t));$r.exports={BytesNeededForVarint:Es,IsOneByte:Bs,IsTwoByte:js,IsNaNAt:vs,IsSmi:Zr,kFastElementsKindSequence:Is,GetArrayForEachLength:Yr,IsArrayHasHole:Os,GetArrayPackedInfo:Rs,Utf8U8aToStr:Us,Latin1U8aToStr:Ls,JstrU8aToStr:Ns}});var ve=y((ai,et)=>{var Qr=2**53-1,je=class extends Array{constructor(){super(),this[0]=0}get id(){return this[0]}next(){let r=this[0],t=this[0]+1;return t-1===Qr&&(t=0),this[0]=t,r}},Fs=()=>new je;et.exports={MAX_NID:Qr,creat_nid:Fs}});var $=y((li,nt)=>{var Ws=Array,{_u:tt,_n:ii,_t:Cs,_f:Js}=I(),{creat_nid:qs}=ve(),Z=class extends WeakMap{#e=qs();FindOrInsert(r){let t=this.get(r);if(t===tt){let s=this.#e.next();return this.set(r,s),[Js,s]}else return[Cs,t]}},Ps=()=>new Z,Ie=class{idmap=new Z},Vs=()=>new Ie,Oe=class extends Ws{HasObjectWithID(r){return this[r]!==tt}GetObjectWithID(r){return this[r]}AddObjectWithID(r){this.push(r)}get nid_(){return this.length}},rt=()=>new Oe;nt.exports={creat_widmap:Ps,creat_wctx:Vs,creat_ridmap:rt,creat_rctx:rt}});var ot=y((_i,st)=>{var Re=(e,r,t)=>{if(r<t){for(let s=0;s<e.length;++s){let n=e[s];Array.isArray(n)?Re(n,r+1,t):n===null||typeof n=="object"&&Te(n,r+1,t)}Object.freeze(e)}},Te=(e,r,t)=>{if(r<t){for(let s in e){let n=e[s];Array.isArray(n)?Re(n,r+1,t):n===null||typeof n=="object"&&Te(n,r+1,t)}Object.freeze(e)}};st.exports=(e,r=1/0)=>(Array.isArray(e)?Re(e,0,r):e===null||typeof e=="object"&&Te(e,0,r),e)});var yt=y((ui,bt)=>{var zs=Object.prototype.toString,at=e=>zs.call(e),b=e=>r=>at(r)===e,Q=b("[object Boolean]"),it=b("[object Number]"),lt=b("[object String]"),ct=b("[object BigInt]"),xs=b("[object Date]"),Hs=b("[object RegExp]"),Xs=b("[object ArrayBuffer]"),Gs=b("[object SharedArrayBuffer]"),Ks=b("[object DataView]"),Ys=b("[object Uint8Array]"),Zs=b("[object Uint8ClampedArray]"),$s=b("[object Int8Array]"),Qs=b("[object Uint16Array]"),eo=b("[object Int16Array]"),ro=b("[object Uint32Array]"),to=b("[object Int32Array]"),no=b("[object BigUint64Array]"),so=b("[object BigInt64Array]"),oo=b("[object Float16Array]"),ao=b("[object Float32Array]"),io=b("[object Float64Array]"),lo=e=>ArrayBuffer.isView(e),co=Array.isArray,_o=b("[object Set]"),uo=b("[object Map]"),ut=b("[object WeakSet]"),ft=b("[object WeakMap]"),dt=b("[object WeakRef]"),fo=e=>ut(e)||ft(e)||dt(e),bo=e=>Q(e)&&e.valueOf(),yo=e=>Q(e)&&!e.valueOf(),go=e=>Q(e)||it(e)||lt(e)||ct(e),ho=b("[object Error]"),ko=b("[object EvalError]"),po=b("[object RangeError]"),Ao=b("[object ReferenceError]"),So=b("[object TypeError]"),wo=b("[object URIError]"),mo=b("[object AggregateError]");bt.exports={tag:at,is_dt:xs,is_rgx:Hs,is_ab:Xs,is_dv:Ks,is_sab:Gs,is_abvw:lo,is_u8a:Ys,is_u8ca:Zs,is_i8a:$s,is_u16a:Qs,is_i16a:eo,is_u32a:ro,is_i32a:to,is_u64a:no,is_i64a:so,is_f16a:oo,is_f32a:ao,is_f64a:io,is_ary:co,is_st:_o,is_mp:uo,is_weak:fo,is_wkst:ut,is_wkmp:ft,is_wkref:dt,is_prim_wrap:go,is_blo:Q,is_truo:bo,is_flso:yo,is_numo:it,is_stro:lt,is_bio:ct,is_err:ho,is_eval_err:ko,is_rng_err:po,is_ref_err:Ao,is_typ_err:So,is_uri_err:wo,is_agg_errs:mo}});var Ue=y((fi,kt)=>{var gt=["g","i","m","y","u","s","l","d","v"],ht={g:1,i:2,m:4,y:8,u:16,s:32,l:64,d:128,v:256},Eo=e=>{let r=0;for(let t=0;t<e.length;++t){let s=e[t];ht[s]&&(r=r+ht[s])}return r},Bo=e=>{let r="";for(let t=0;t<gt.length;++t){let s=gt[t];e&1<<t&&(r=r+s)}return r};kt.exports={s2n:Eo,n2s:Bo}});var At=y((di,pt)=>{var te=2n**64n-1n,ee=e=>{let r=0;for(;e;)e=e>>64n,++r;return r},re=e=>8*ee(e),De=e=>{let r=0;e>=0n||(r=1,e=-e);let t=re(e);return[r,t,e]},jo=e=>{let[r,t,s]=De(e);return r|t<<1},vo=e=>{let r=e&1,t=e>>1;return{sign:r,data_blen:t}},Io=function*(e){for(;e;)yield e&te,e=e>>64n},Oo=e=>e>=0n?ee(e):ee(-e),Ro=e=>e>=0n?re(e):re(-e),To=function*(e){for(e=e>=0?e:-e;e;)yield e&te,e=e>>64n},Uo=(e,r,t=0,s)=>{let[n,o,a]=De(e),c=n|o,l=t,u=s(c);for(let p=0;p<u.length;++p)r[t+p]=u[p];t=t+u.length;let g=t,A=new DataView(r.buffer);for(;a;)A.setBigUint64(a&te,t,_t),t=t+8,a=a>>64n;return{sign:n,data:r,head_offset:l,body_offset:g,curr_offset:t}};pt.exports={MASK:te,count_if_pos:ee,data_byte_length_if_pos:re,count:Oo,data_byte_length:Ro,_get_head:De,get_encd_head:jo,decd_encd_head:vo,gen_body_if_pos:Io,gen_body:To,use_with_get_var_int:Uo}});var qt=y((Ai,Jt)=>{var bi=ot(),{_u:Ne,_n:Do,_t:Lo,_f:Fe,is_untf:wt}=I(),yi=H(),ne=yt(),Mo=e=>e[Symbol.toStringTag]==="Promise",No=e=>e[Symbol.toStringTag]==="Generator",Fo=e=>e[Symbol.toStringTag]==="AsyncGenerator",Wo=e=>No(e)||Fo(e),Co=e=>e[Symbol.toStringTag]?e[Symbol.toStringTag].includes("Iterator"):Fe,mt=X(),Jo=K(),qo=Ue(),St=At(),oe=Y(),{SerializationTag:f,ErrorTag:S,ArrayBufferViewTag:gi,IsNodeFastBuffer:hi,kNodeFastBufferSym:ki,ArrayBufferViewIndexToCtor:pi,CreatFakeCantBeSered:Et,arrayBufferViewTypeToIndex:Po}=x(),Vo=$(),Bt=(e,r=15,t)=>{e.push(f.kVersion,r)},d=(e,r,t)=>{e.push(r)},W=(e,r,t)=>{e.push(r)},h=(e,r,t)=>{if(mt.is_smi_can_be_encded(r)){var s;do s=r&127|128,e.push(Number(s)),r=r>>7;while(r);return e[e.length-1]=e[e.length-1]&127,e}else{r=BigInt(r);var s;do s=r&0x7Fn|0x80n,e.push(Number(s)),r=r>>7n;while(r);return e[e.length-1]=e[e.length-1]&127,e}},jt=(e,r,t,s=mt.encd)=>(r=s(r),h(e,r),e),vt=new Float64Array(1),j=new Uint8Array(vt.buffer),q=(e,r,t)=>(vt[0]=r,e.push(j[0],j[1],j[2],j[3],j[4],j[5],j[6],j[7]),e),zo=(e,r,t)=>{h(e,r.length);for(var s=0;s<r.length;++s)e.push(r.charCodeAt(s));return e},It=(e,r,t,s)=>{s=s??new Jo.encd.mach.Mach,h(e,r.length*2);for(var n=0;n<r.length;++n){var o=r.charCodeAt(n),[a,c]=s.input(o);e.push(a),e.push(c)}return e},se=(e,r,t)=>{for(var s=0;s<r.length;++s)e.push(r[s]);return e},xo=new Map([[Ne,f.kUndefined],[Do,f.kNull],[Lo,f.kTrue],[Fe,f.kFalse]]),Ot=(e,r,t)=>(d(e,xo.get(r)),e),ae=(e,r,t)=>(d(e,f.kInt32,t),jt(e,r,t),e),We=(e,r,t)=>(d(e,f.kDouble,t),q(e,r,t),e),R=(e,r,t)=>{r|0;var s=e.length;d(e,f.kOneByteString,t),h(e,r.length);for(var n=!0,o=0;o<r.length;++o){var a=r.charCodeAt(o);if(a>255){n=!1;break}else e.push(a)}if(!n){e.length=s;var c=r.length*2,l=oe.BytesNeededForVarint(c);e.length+1+l&1&&d(e,f.kPadding,t),d(e,f.kTwoByteString,t),It(e,r,t)}return e},Rt=(e,r,t)=>(d(e,f.kDate,t),q(e,r.getTime(),t),e),Tt=(e,r,t)=>{d(e,f.kRegExp,t),R(e,r.source,t);var s=qo.s2n(r.flags);return h(e,s,t),e},Ut=new BigUint64Array(1),v=new Uint8Array(Ut.buffer),Ce=(e,r,t)=>{var[s,n,o]=St._get_head(r),a=s|n<<1;for(h(e,a,t);o;)Ut[0]=o&St.MASK,e.push(v[0],v[1],v[2],v[3],v[4],v[5],v[6],v[7]),o=o>>64n;return e},Je=(e,r,t)=>(d(e,f.kBigInt,t),Ce(e,r,t),e),Ho=(e,r,t)=>(e.push(r),e),Le=(e,r,t)=>(h(e,r,t),e),C=(e,r,t)=>{var s=r.constructor.name;return s==="Boolean"?(r.valueOf()?d(e,f.kTrueObject,t):d(e,f.kFalseObject,t),e):s==="Number"?(d(e,f.kNumberObject,t),q(e,Number(r),t),e):s==="String"?(d(e,f.kStringObject,t),R(e,String(r),t),e):s==="BigInt"?(d(e,f.kBigIntObject,t),Ce(e,BigInt(r),t),e):Ne},Xo={EvalError:S.kEvalErrorPrototype,RangeError:S.kRangeErrorPrototype,ReferenceError:S.kReferenceErrorPrototype,SyntaxError:S.kSyntaxErrorPrototype,TypeError:S.kTypeErrorPrototype,URIError:S.kUriErrorPrototype},Dt=(e,r,t)=>{d(e,f.kError,t);var s=r.name,n=Xo[s];n!==void 0&&W(e,n,t),W(e,S.kMessage,t),R(e,r.message,t);var o=r.cause;return o&&(W(e,S.kCause,t),w(e,o,t)),W(e,S.kStack,t),R(e,r.stack,t),W(e,S.kEnd,t),e},Go={undefined:(e,r,t)=>d(e,f.kUndefined,t),null:(e,r,t)=>d(e,f.kNull,t),true:(e,r,t)=>d(e,f.kTrue,t),false:(e,r,t)=>d(e,f.kFalse,t)},w=(e,r,t)=>{var s=typeof r;if(s==="string")R(e,r,t);else if(s==="bigint")Je(e,r,t);else if(s==="number")oe.IsSmi(r)?ae(e,r,t):We(e,r,t);else if(wt(r))Go[r](e,r,t);else{qe(e,r,t);}return e},Lt=(e,r,t)=>{d(e,f.kBeginJSSet,t);var s=0;for(var n of r)w(e,n,t),++s;return d(e,f.kEndJSSet,t),h(e,s,t),e},Mt=(e,r,t)=>{d(e,f.kBeginJSMap,t);var s=r.size*2;for(var[n,o]of r)w(e,n,t),w(e,o,t);return d(e,f.kEndJSMap,t),h(e,s,t),e},Nt=(e,r,t)=>{var s=Po(r);if(s>-1){d(e,f.kHostObject,t),Le(e,s,t),Le(e,r.byteLength,t);var n=new Uint8Array(r.buffer,r.byteOffset,r.byteLength);return se(e,n,t),e}},Ft=(e,r,t)=>Nt(e,r,t),Me=(e,r,t)=>{var s=Fe;ne.is_sab(r)?s=!!r.growable:s=r.resizable;var n=s?r.maxByteLength:r.byteLength,o=r.byteLength;return s?(d(e,f.kResizableArrayBuffer,t),h(e,o,t),h(e,n,t),se(e,new Uint8Array(r),t)):(d(e,f.kArrayBuffer,t),h(e,o,t),se(e,new Uint8Array(r),t)),e},J=(e,r,t)=>{d(e,f.kBeginJSObject,t);var s=0;for(var n in r)w(e,n,t),w(e,r[n],t),s++;return d(e,f.kEndJSObject,t),h(e,s,t),e},Wt=(e,r,t)=>{var s=r.length,{is_packed_smi:n,is_packed_double:o}=oe.GetArrayPackedInfo(r);if(n){d(e,f.kBeginDenseJSArray,t),h(e,s,t);for(var a=0;a<r.length;++a)ae(e,r[a],t)}else if(o){if(d(e,f.kBeginDenseJSArray,t),h(e,s,t),s!==0)for(var a=0;a<r.length;++a)d(e,f.kDouble,t),q(e,r[a],t)}else{d(e,f.kBeginDenseJSArray,t),h(e,s,t);for(var a=0;a<r.length;++a)w(e,r[a],t)}for(var c=Object.keys(r),l=0,a=r.length;a<c.length;++a){var u=c[a];w(e,u,t),w(e,r[u],t),l++}return d(e,f.kEndDenseJSArray,t),h(e,l,t),h(e,s,t),e},Ko=(e,r,t)=>{var s=Et("Symbol",r.description);J(e,s,t)},Yo=(e,r,t)=>{oe.IsSmi(r)?ae(e,r,t):We(e,r,t)},Ct=(e,r,t)=>{var s=Et(idx,String(r));J(e,s,t)},Zo={string:R,bigint:Je,symbol:Ko,number:Yo,function:Ct},$o={"[object Date]":Rt,"[object RegExp]":Tt,"[object Set]":Lt,"[object Map]":Mt,"[object ArrayBuffer]":Me,"[object SharedArrayBuffer]":Me,"[object Boolean]":C,"[object Number]":C,"[object String]":C,"[object BigInt]":C},qe=(e,r,t)=>{if(ne.is_ary(r)){var[s,n]=t.idmap.FindOrInsert(r);s?(d(e,f.kObjectReference,t),h(e,n,t)):Wt(e,r,t)}else if(ne.is_abvw(r)){var[s,n]=t.idmap.FindOrInsert(r);if(s)d(e,f.kObjectReference,t),h(e,n,t);else{var o=Ft(e,r,t);o!==Ne||J(e,r,t)}}else if(wt(r))Ot(e,r,t);else{var a=typeof r;let l=Zo[a];if(l!==void 0)l(e,r,t);else{var[s,n]=t.idmap.FindOrInsert(r);if(s)d(e,f.kObjectReference,t),h(e,n,t);else{var c=ne.tag(r);let A=$o[c];A!==void 0?A(e,r,t):c.includes("Error")?Dt(e,r,t):Mo(r)||Wo(r)||Co(r)?Ct(e,r,t):J(e,r,t)}}}return e},Qo=(e,r=15)=>{var t=[],s=Vo.creat_wctx();Bt(t,r),qe(t,e,s);var n=new Uint8Array(t);return n.buffer};Jt.exports={WriteHeader:Bt,WriteTag:d,WriteVarint:h,WriteZigZag:jt,WriteDouble:q,WriteOneByteString:zo,WriteTwoByteString:It,WriteRawBytes:se,WriteOddball:Ot,WriteSmi:ae,WriteHeapNumber:We,WriteString:R,WriteJSDate:Rt,WriteJSRegExp:Tt,WriteBigIntContents:Ce,WriteBigInt:Je,WriteByte:Ho,WriteUint32:Le,WriteJSPrimitiveWrapper:C,WriteJSError:Dt,WriteObject:w,WriteJSSet:Lt,WriteJSMap:Mt,WriteHostObject:Nt,WriteJSArrayBufferView:Ft,WriteJSArrayBuffer:Me,WriteJSObject:J,WriteJSArray:Wt,WriteJSReceiver:qe,encd:Qo}});var xt=y((Si,zt)=>{var{istof:ea}=H(),Pe=Error,Pt=e=>new Pe(e),Vt=e=>{throw Pt(e)},ra=e=>ea(e,Pe),ta=e=>Vt("unreachable");zt.exports={_ERR:Pe,creat_err:Pt,thrw_str:Vt,is_err:ra,unreachable:ta}});var Xt=y((wi,ie)=>{var na=(e,r=e.constructor)=>{for(var t=e.byteOffset,s=t+e.byteLength,n=new r(e.buffer),o=n.subarray(t/r.BYTES_PER_ELEMENT,s/r.BYTES_PER_ELEMENT),a="[",c=0;c<o.length-1;++c)typeof o[c]=="bigint"?a+=o[c]+"n,":a+=o[c]+",";return o.length===0||(typeof o[o.length-1]=="bigint"?a+=o[o.length-1]+"n":a+=o[o.length-1]),a+="]",a},Ht=e=>{var r=new Uint8Array(e),t=JSON.stringify(Array.from(r)),s;return e.resizable?s=`new ArrayBuffer(${e.byteLength},{maxByteLength:${e.maxByteLength}})`:s=`new ArrayBuffer(${e.byteLength})`,`(()=>{ var ab = ${s};(new Uint8Array(ab)).set(${t});return(ab);})()`};ie.exports=(e,r="",t)=>{var s=r;return t!==void 0&&(s+=`var ${r} = `),s+=Ht(e),s};ie.exports.ab=Ht;Object.defineProperty(ie.exports,"_creat_desc",{value:na,enumerable:!1})});var $t=y((mi,Zt)=>{var sa=(e,r)=>{if(typeof e=="number")return r!==void 0?new ArrayBuffer(e,{maxByteLength:r}):new ArrayBuffer(e);if(e instanceof ArrayBuffer){var t;e.resizable?t=new ArrayBuffer(e.byteLength,{maxByteLength:e.maxByteLength}):t=new ArrayBuffer(e.byteLength);var s=new Uint8Array(e);return new Uint8Array(t).set(s),t}else if(e.buffer&&e.buffer instanceof ArrayBuffer){var n=e.byteOffset,o=n+e.byteLength;if(r!==void 0)return e.buffer.slice(n,o);var t=new ArrayBuffer(o-n,{maxByteLength:r}),s=new Uint8Array(e.buffer).subarray(n,o);return new Uint8Array(t).set(s),t}else{var a=e.length,t;e.resizable?t=new ArrayBuffer(a,{maxByteLength:e.maxByteLength}):t=new ArrayBuffer(a);for(var c=new Uint8Array(t),l=0;l<a;++l)c[l]=e[l];return t}},oa=Xt().ab,le=(e,r,t,s,n)=>{let o=new Uint8Array(e,r,t);return new Uint8Array(s).set(o,n),s},Gt=(e,r,t,s,n)=>(t=t??0,s=s??e.byteLength,n=n??0,le(e,t,s,r,n)),aa=(e,r,t,s=0)=>Gt(e,r,0,t,s),ia=(e,r,t=0)=>le(e,0,e.byteLength,r,t),la=(e,r)=>le(e,0,e.byteLength,r,0),Kt=(e,...r)=>{let t=r.length,s=new Uint8Array(e.length+t);for(let n=0;n<t;++n)s[e.length+n]=r[n];return s.set(e),e},Yt=(e,...r)=>{let t=r.length,s=new Uint8Array(e.length+t);for(let n=0;n<t;++n)s[n]=r[n];return s.set(e,t),e},ca=(e,...r)=>Kt(new Uint8Array(e),...r).buffer,_a=(e,...r)=>Yt(new Uint8Array(e),...r).buffer;Zt.exports={creat:sa,to_str:oa,_cp:le,cp:Gt,cp_from_src_start:aa,cp_all_if_dst_is_enough:ia,cp_all_if_same_blen:la,dupe_u8a_and_push:Kt,dupe_u8a_and_unshift:Yt,dupe_and_push:ca,dupe_and_unshift:_a}});var dn=y((Bi,fn)=>{var{_u:P,_n:ua,_t:E,_f:T}=I(),{thrw_str:fa}=xt(),da=$t(),ba=X(),Ei=K(),ya=Ue(),xe=Y(),{SerializationTag:_,ErrorTag:m,ArrayBufferViewIndexToCtor:ga,CreatUnknown:ha}=x(),{creat_rctx:ka}=$(),Qt={must_be_str:"must_be_str"},pa=(e,r,t)=>{let s=r,n=0,o=0,a=T;do{let c=e[r];if(a=c&128,o<32)n|=(c&127)<<o,o=o+7;else break;++r}while(a);return[n,r-s,r]},Aa=(e,r,t)=>{let s=r,n=0n,o=0n,a=T;do{let c=BigInt(e[r]);if(a=c&0x80n,o<32n)n|=(c&0x7Fn)<<o,o=o+7n;else break;++r}while(a);return[Number(n),r-s,r]},k=Aa,en=(e,r,t)=>{let s=r;++r;let n=e[r];return++r,[n,r-s,r]},L=(e,r,t)=>{let s=r,n;do n=e[r],++r;while(n===_.kPadding);return[n,r-s,r]},rn=(e,r,t,s=ba.decd)=>{let n=r,o=k(e,r,t),a=o[0];return r=o[2],[s(a),r-n,r]},ce=(e,r,t)=>{let n=new DataView(e.buffer,e.byteOffset,e.byteLength).getFloat64(r,E);return r=r+8,[n,8,r]},He=(e,r,t,s)=>{let n=r,o=new Uint8Array(e.buffer,e.byteOffset+r,t);return r=r+t,[o,t,r]},Sa=(e,r,t)=>(++r,[e[i],1,r]),Ve=(e,r,t)=>k(e,r,t),tn=2n**64n,Xe=(e,r,t)=>{let s=r,n=k(e,r,t),o=n[0],a=o&1,c=o>>1;r=n[2],n=He(e,r,c,t);let l=n[0],u=new DataView(l.buffer,l.byteOffset,l.byteLength),g=0n,A=1n,p=c/8;for(let _e=0;_e<p;++_e){let hn=u.getBigUint64(8*_e,E);g=g+hn*A,A=A*tn}return a===1&&(g=-g),r=n[2],[g,r-s,r]},Ge=(e,r,t)=>{let s=r,n=k(e,r,t),o=n[0];r=n[2];let a=xe.Latin1U8aToStr(e,r,o);return r+=o,[a,r-s,r]},Ke=(e,r,t)=>{let s=r,n=k(e,r,t),o=n[0];r=n[2];let a=xe.JstrU8aToStr(e,r,o);return r+=o,[a,r-s,r]},Ye=(e,r,t)=>{let s=r,n=k(e,r,t),o=n[0];r=n[2];let a=xe.Utf8U8aToStr(e,r,o);return r+=o,[a,r-s,r]},nn=(e,r,t)=>{let s=r,n=ce(e,r,t),o=n[0],a=new Date(o);return r=n[2],t.AddObjectWithID(a),[a,r-s,r]},wa=(e,r,t,s)=>{let n=r,o;switch(t){case _.kTrueObject:{o=new Boolean(E);break}case _.kFalseObject:{o=new Boolean(T);break}case _.kNumberObject:{let a=ce(e,r,s),c=a[0];r=a[2],o=new Number(c);break}case _.kStringObject:{let a=V(e,r,s),c=a[0];r=a[2],o=new String(c);break}case _.kBigIntObject:{let a=Xe(e,r,s),c=a[0];r=a[2],o=CreatFakeCantBeSered("BigInt",c);break}default:}return s.AddObjectWithID(o),[o,r-n,r]},sn=(e,r,t)=>{let s=r,n=P,o=P,a=P,c=T,l=Error;for(;!c;){let g=k(e,r,t),A=g[0];switch(r=g[2],A){case m.kEvalErrorPrototype:{l=EvalError;break}case m.kRangeErrorPrototype:{l=RangeError;break}case m.kReferenceErrorPrototype:{l=ReferenceError;break}case m.kSyntaxErrorPrototype:{l=SyntaxError;break}case m.kTypeErrorPrototype:{l=TypeError;break}case m.kUriErrorPrototype:{l=URIError;break}case m.kMessage:{let p=V(e,r,t);n=p[0],r=p[2];break}case m.kCause:{let p=B(e,r,t);a=p[0],r=p[2];break}case m.kStack:{let p=V(e,r,t);o=p[0],r=p[2];break}case m.kEnd:{c=E;break}default:}}let u;return a?u=new l(n,{cause:a}):u=new l(n),u.stack=o,t.AddObjectWithID(u),[u,r-s,r]},V=(e,r,t)=>{let s=r,n=L(e,r,t),o=n[0];switch(r=n[2],o){case _.kOneByteString:return n=Ge(e,r,t),r=n[2],[n[0],r-s,r];case _.kTwoByteString:return n=Ke(e,r,t),r=n[2],[n[0],r-s,r];case _.kUtf8String:return n=Ye(e,r,t),r=n[2],[n[0],r-s,r];default:fa(Qt.must_be_str)}},on=(e,r,t)=>{let s=r,n=V(e,r,t),o=n[0];r=n[2],n=k(e,r,t);let a=n[0];a=ya.n2s(a),r=n[2];let c=new RegExp(o,a);return t.AddObjectWithID(c),[c,r-s,r]},an=(e,r,t)=>{let s=r,n=new Set;t.AddObjectWithID(n);let o=0;for(;E;){let c=r,l=L(e,r,t),u=l[0];if(r=l[2],u===_.kEndJSSet)break;r=c,l=B(e,r,t),n.add(l[0]),r=l[2],o++}let a=k(e,r,t);return r=a[2],[n,r-s,r,a[0]]},ln=(e,r,t)=>{let s=r,n=new Map;t.AddObjectWithID(n);let o=0;for(;E;){let c=r,l=L(e,r,t);if(r=l[2],l[0]===_.kEndJSMap)break;{r=c,l=B(e,r,t);let g=l[0];r=l[2],l=B(e,r,t);let A=l[0];r=l[2],n.set(g,A),o=o+2}}let a=k(e,r,t);return r=a[2],[n,r-s,r,a[0]]},Ze=(e,r,t)=>{let s=r,n=Ve(e,r,t),o=n[0],a=ga[o],c=a.BYTES_PER_ELEMENT;r=n[2],n=Ve(e,r,t);let l=n[0];r=n[2];let u=r;n=He(e,r,l,t);let g;return(e.byteOffset+r)%c===0?g=new a(n[0].buffer,e.byteOffset+r,l/c):g=new a(n[0].buffer.slice(r,r+l)),r=n[2],t.AddObjectWithID(g),[g,r-s,r]},ma=Ze,ze=(e,r,t,s)=>{let n=r,o=k(e,r,s),a=o[0];r=o[2];let c=a,l;if(t){let u=k(e,r,s);c=u[0],l=new ArrayBuffer(a,{maxByteLength:c}),r=u[2],da._cp(e.buffer,e.byteOffset+r,a,l,0),r=r+a}else l=e.buffer.slice(e.byteOffset+r,e.byteOffset+r+a),r=r+a;return s.AddObjectWithID(l),[l,r-n,r]},$e=(e,r,t,s,n,o)=>{let a=r,c=0;for(;E;){let l=r,u=L(e,r,o),g=u[0];if(r=u[2],g!==s){r=l,u=B(e,r,o);let A=u[0];r=u[2],u=B(e,r,o);let p=u[0];r=u[2],t[A]=p,++c}else return[c,r-a,r]}},cn=(e,r,t)=>{let s=r,n={};t.AddObjectWithID(n);let o=$e(e,r,n,_.kEndJSObject,T,t),a=o[0];return r=o[2],o=k(e,r,t),r=o[2],[n,r-s,r]},_n=(e,r,t,s)=>{let n=r,o=k(e,r,s),a=o[0];r=o[2];let c=[];s.AddObjectWithID(c);for(let u=0;u<a;++u)o=B(e,r,s),c.push(o[0]),r=o[2];let l=t===_.kBeginDenseJSArray?_.kEndDenseJSArray:_.kEndSparseJSArray;return o=$e(e,r,c,l,E,s),r=o[2],o=k(e,r,s),r=o[2],o=k(e,r,s),r=o[2],[c,r-n,r]},un=(e,r,t)=>{let s=r,n=L(e,r,t),o=n[0];switch(r=n[2],o){case _.kTheHole:return[P,r-s,r];case _.kUndefined:return[P,r-s,r];case _.kNull:return[ua,r-s,r];case _.kTrue:return[E,r-s,r];case _.kFalse:return[T,r-s,r];case _.kInt32:return n=rn(e,r,t),r=n[2],[n[0],r-s,r];case _.kUint32:return n=k(e,r,t),r=n[2],[n[0],r-s,r];case _.kDouble:return n=ce(e,r,t),r=n[2],[n[0],r-s,r];case _.kBigInt:return n=Xe(e,r,t),r=n[2],[n[0],r-s,r];case _.kOneByteString:return n=Ge(e,r,t),r=n[2],[n[0],r-s,r];case _.kTwoByteString:return n=Ke(e,r,t),r=n[2],[n[0],r-s,r];case _.kUtf8String:return n=Ye(e,r,t),r=n[2],[n[0],r-s,r];case _.kBeginJSObject:return n=cn(e,r,t),r=n[2],[n[0],r-s,r];case _.kBeginDenseJSArray:case _.kBeginSparseJSArray:return n=_n(e,r,o,t),r=n[2],[n[0],r-s,r];case _.kDate:return n=nn(e,r,t),r=n[2],[n[0],r-s,r];case _.kBeginJSMap:return n=ln(e,r,t),r=n[2],[n[0],r-s,r];case _.kBeginJSSet:return n=an(e,r,t),r=n[2],[n[0],r-s,r];case _.kObjectReference:{n=k(e,r,t);let a=n[0];return r=n[2],[t.GetObjectWithID(a),r-s,r]}case _.kRegExp:return n=on(e,r,t),r=n[2],[n[0],r-s,r];case _.kSharedArrayBuffer:case _.kArrayBuffer:return n=ze(e,r,T,t),r=n[2],[n[0],r-s,r];case _.kResizableArrayBuffer:return n=ze(e,r,E,t),r=n[2],[n[0],r-s,r];case _.kError:return n=sn(e,r,t),r=n[2],[n[0],r-s,r];case _.kArrayBufferView:case _.kHostObject:return n=Ze(e,r,t),r=n[2],[n[0],r-s,r];case _.kTrueObject:case _.kFalseObject:case _.kNumberObject:case _.kBigIntObject:case _.kStringObject:return n=wa(e,r,o,t),r=n[2],[n[0],r-s,r];default:return console.log("why unknown",o,r,e),[ha(),r-s,r]}},B=(e,r,t)=>un(e,r,t),Ea=e=>{let r=e.buffer!==void 0?e:new Uint8Array(e),t=ka(),s=0,n=en(r,s,t);return s=n[2],n=B(r,s,t),n[0]};fn.exports={ERRD:Qt,ReadVarintLoopIfLshiftWork:pa,ReadVarint:k,ReadHeader:en,ReadTag:L,ReadZigZag:rn,ReadDouble:ce,ReadRawBytes:He,ReadByte:Sa,ReadUint32:Ve,ReadBigInt:Xe,BI_MUL:tn,ReadOneByteString:Ge,ReadTwoByteString:Ke,ReadUtf8String:Ye,ReadJSDate:nn,ReadString:V,ReadJSRegExp:on,ReadJSError:sn,ReadJSSet:an,ReadJSMap:ln,ReadHostObject:Ze,ReadJSArrayBufferView:ma,ReadJSArrayBuffer:ze,ReadJSObjectProperties:$e,ReadObjectInternal:un,ReadObject:B,ReadJSObject:cn,ReadJSArray:_n,decd:Ea}});var Ta=y((ji,gn)=>{var Ba=nr(),ja=or(),va=x(),Ia=Y(),Oa=ve(),Ra=$(),bn=qt(),yn=dn();gn.exports={fixed_cfg:Ba,restrict:ja,const:va,misc:Ia,zero_nid:Oa,ctx:Ra,w:bn,r:yn,ser:bn.encd,der:yn.decd}});return Ta();})();
25
25
  //!id_map_.Find
@@ -29,11 +29,11 @@ var mp = new Map()
29
29
  eq(f0(mp),f1(mp))
30
30
 
31
31
  for(let e of [[]]) {mp.set(e,e)}
32
+ console.log("f1:",f1(mp));
33
+ console.log("f0:",f0(mp));
32
34
  eq(f0(mp),f1(mp))
33
35
 
34
36
 
35
-
36
-
37
37
  for(let e of [1,1.1,undefined,null,true,false,"abcd","aÿ我𝑒",12345678901234567890n]) {mp.set(e,e)}
38
38
  eq(f0(mp),f1(mp))
39
39
 
@@ -58,3 +58,4 @@ eq(f0(circular),f1(circular))
58
58
 
59
59
  console.log(sync(1000000,f0,circular));
60
60
  console.log(sync(1000000,f1,circular));
61
+
package/TODO ADDED
@@ -0,0 +1,473 @@
1
+ const {_u,_n,_t,_f,is_untf} = require("nv-facutil-untf");
2
+
3
+ const _typis = require("nv-facutil-typis");
4
+ const _istis = require("./istis");
5
+ const is_prms = (o) => o[Symbol.toStringTag] === "Promise";
6
+ const is_sg = (o) => o[Symbol.toStringTag] ==='Generator';
7
+ const is_ag = (o) => o[Symbol.toStringTag] ==='AsyncGenerator';
8
+ const is_g = (o) => is_sg(o) || is_ag(o);
9
+ const is_iter = (o) => o[Symbol.toStringTag]?(o[Symbol.toStringTag].includes("Iterator")): _f;
10
+
11
+
12
+
13
+
14
+
15
+
16
+
17
+
18
+
19
+ const _zigzag = require("nv-number-zigzag");
20
+ const _utf16 = require("nv-buf-jstr");
21
+ const _rgx_flag = require("nv-regexp-flags");
22
+ const _buf_bi = require("nv-buf-bi");
23
+
24
+
25
+ const _misc = require("./misc");
26
+ const {
27
+ SerializationTag,
28
+ ErrorTag,
29
+ ArrayBufferViewTag,
30
+ IsNodeFastBuffer,
31
+ kNodeFastBufferSym,
32
+ ArrayBufferViewIndexToCtor,
33
+ CreatFakeCantBeSered,
34
+ arrayBufferViewTypeToIndex,
35
+ } = require("./const");
36
+
37
+ const _ctx = require("./ctx");
38
+
39
+ ////----
40
+
41
+ const WriteHeader = (a,kLatestVersion=15,ctx) =>2;
42
+ const WriteTag = (a,tag,ctx) =>1;
43
+ const WriteOddball = (a,o,ctx) =>1;
44
+ const WriteDouble = (a,v,ctx) =>8;
45
+ const WriteRawBytes = (a,byts,ctx) => byts.length;
46
+
47
+ const WriteVarint = (a,v,ctx) => {
48
+ if(_zigzag.is_smi_can_be_encded(v)){
49
+ let c=0;
50
+ do {++c; v = v>>7;} while(v);
51
+ return(c)
52
+ } else {
53
+ v = BigInt(v);
54
+ let c=0;
55
+ do { ++c;v = v>>7n;} while(v);
56
+ return(c)
57
+ }
58
+ }
59
+
60
+ const WriteZigZag = (a,v,ctx,encode=_zigzag.encd) => {
61
+ v = encode(v);
62
+ return WriteVarint(a,v);
63
+ }
64
+ const WriteOneByteString = (a,s,ctx) => {
65
+ var c =0;
66
+ c += WriteVarint(a,s.length);
67
+ c += s.length;
68
+ return(c)
69
+ }
70
+
71
+ const WriteTwoByteString = (a,s,ctx,mach) => {
72
+ var c =0;
73
+ c += WriteVarint(a,s.length*2);
74
+ c += s.length*2;
75
+ return(c)
76
+ }
77
+
78
+ const WriteSmi = (a,smi,ctx)=> {
79
+ var c=0;
80
+ c += WriteTag(a,SerializationTag.kInt32,ctx);
81
+ c += WriteZigZag(a,smi,ctx);
82
+ return(c);
83
+ }
84
+
85
+ const WriteHeapNumber = (a,number,ctx) => {
86
+ var c=0;
87
+ c += WriteTag(a,SerializationTag.kDouble,ctx);
88
+ c += WriteDouble(a,number,ctx);
89
+ return(c);
90
+ }
91
+
92
+
93
+ const WriteString = (a,s,ctx)=>{
94
+ var c=0;
95
+ ////-------------------------------------------------------------------
96
+ if (_misc.IsOneByte(s)) {
97
+ c += WriteTag(a,SerializationTag.kOneByteString,ctx);
98
+ c += WriteOneByteString(a,s,ctx);
99
+ } else {
100
+ let byte_length = s.length * 2;
101
+ let head_byte_len = _misc.BytesNeededForVarint(byte_length);
102
+ if((a.length + 1+ head_byte_len & 1)===0) {
103
+ //no need padding TAG | X0 X1 X2 | ....data
104
+ } else {
105
+ //need padding TAG | X0 X1 X2 X3| ...data
106
+ // PAD TAG | X0 X1 X2 X3|
107
+ //to make len(PAD TAG | X0 X1 X2 X3|) is even
108
+ c += WriteTag(a,SerializationTag.kPadding,ctx);
109
+ }
110
+ c += WriteTag(a,SerializationTag.kTwoByteString,ctx);
111
+ c += WriteTwoByteString(a,s,ctx);
112
+ }
113
+ return(c);
114
+ }
115
+
116
+ const WriteJSDate = (a,dt,ctx) => {
117
+ var c = 0;
118
+ c += WriteTag(a,SerializationTag.kDate,ctx);
119
+ c += WriteDouble(a,dt.getTime(),ctx);
120
+ return(c);
121
+ }
122
+
123
+ const WriteJSRegExp = (a,rgx,ctx)=> {
124
+ WriteTag(a,SerializationTag.kRegExp,ctx);
125
+ WriteString(a,rgx.source,ctx);
126
+ let ui32_flags = _rgx_flag.s2n(rgx.flags);
127
+ WriteVarint(a,ui32_flags,ctx);
128
+ return(a);
129
+ }
130
+
131
+ const U64A = new BigUint64Array(1);
132
+ const BIU8A = new Uint8Array(U64A.buffer);
133
+
134
+ const WriteBigIntContents = (a,obi,ctx) => {
135
+ let [sign,blen,bi] = _buf_bi._get_head(obi);
136
+ let encd_head = (sign | (blen<<1));
137
+ WriteVarint(a,encd_head,ctx);
138
+ while(bi) {
139
+ U64A[0] = bi & _buf_bi.MASK;
140
+ a.push(BIU8A[0],BIU8A[1],BIU8A[2],BIU8A[3],BIU8A[4],BIU8A[5],BIU8A[6],BIU8A[7])
141
+ bi = bi>>64n;
142
+ }
143
+ return(a);
144
+ }
145
+
146
+ const WriteBigInt = (a,bi,ctx)=> {
147
+ WriteTag(a,SerializationTag.kBigInt,ctx);
148
+ WriteBigIntContents(a,bi,ctx);
149
+ return(a);
150
+ }
151
+
152
+ const WriteByte = (a,u8,ctx) => { a.push(u8); return(a);}
153
+ const WriteUint32 = (a,u32,ctx) => { WriteVarint(a,u32,ctx) ; return(a);}
154
+
155
+
156
+ const WriteJSPrimitiveWrapper = (a,v,ctx) => {
157
+ var nm = v.constructor.name;
158
+ if (nm === "Boolean") {
159
+ if(v.valueOf()) { WriteTag(a,SerializationTag.kTrueObject,ctx);} else { WriteTag(a,SerializationTag.kFalseObject,ctx);}
160
+ return(a);
161
+ } else if (nm === "Number") {
162
+ WriteTag(a,SerializationTag.kNumberObject,ctx);
163
+ WriteDouble(a,Number(v),ctx);
164
+ return(a);
165
+ } else if (nm === "String") {
166
+ WriteTag(a,SerializationTag.kStringObject,ctx);
167
+ WriteString(a,String(v),ctx);
168
+ return(a);
169
+ } else if (nm === "BigInt") {
170
+ // this is impossible in js-layer
171
+ WriteTag(a,SerializationTag.kBigIntObject,ctx);
172
+ WriteBigIntContents(a,BigInt(v),ctx);
173
+ return(a);
174
+ } else {
175
+ return(_u); // this is a unmatch-flag
176
+ }
177
+ }
178
+
179
+
180
+ const WriteJSError = (a,e,ctx) => {
181
+
182
+ WriteTag(a,SerializationTag.kError,ctx);
183
+ let name = e.name;
184
+ switch(name) {
185
+ case("EvalError" ): {WriteVarint(a,ErrorTag.kEvalErrorPrototype,ctx ); break;}
186
+ case("RangeError"): {WriteVarint(a,ErrorTag.kRangeErrorPrototype,ctx ); break;}
187
+ case("ReferenceError"): {WriteVarint(a,ErrorTag.kReferenceErrorPrototype,ctx); break;}
188
+ case("SyntaxError"): {WriteVarint(a,ErrorTag.kSyntaxErrorPrototype,ctx ); break;}
189
+ case("TypeError"): {WriteVarint(a,ErrorTag.kTypeErrorPrototype,ctx ); break;}
190
+ case("URIError"): {WriteVarint(a,ErrorTag.kUriErrorPrototype,ctx ); break;}
191
+ default: {
192
+ //do nothing
193
+ }
194
+ }
195
+
196
+ let message = String(e.message);
197
+ WriteVarint(a,ErrorTag.kMessage,ctx);
198
+ WriteString(a,message,ctx);
199
+
200
+ let cause = e.cause;
201
+ if(cause) {
202
+ WriteVarint(a,ErrorTag.kCause,ctx);
203
+ WriteObject(a,cause,ctx);
204
+ } else {}
205
+
206
+ let stack = String(e.stack);
207
+ WriteVarint(a,ErrorTag.kStack,ctx);
208
+ WriteString(a,stack,ctx);
209
+
210
+ WriteVarint(a,ErrorTag.kEnd,ctx);
211
+ return(a);
212
+ }
213
+
214
+ const _UNTF_FMP = {
215
+ "undefined": (a,o,ctx)=>WriteTag(a,SerializationTag.kUndefined,ctx),
216
+ "null" : (a,o,ctx)=>WriteTag(a,SerializationTag.kNull,ctx),
217
+ "true" : (a,o,ctx)=>WriteTag(a,SerializationTag.kTrue,ctx),
218
+ "false" : (a,o,ctx)=>WriteTag(a,SerializationTag.kFalse,ctx)
219
+ }
220
+
221
+ const WriteObject = (a,o,ctx) => {
222
+ var tnm = typeof(o);
223
+ if(tnm === "string") { WriteString(a,o,ctx);
224
+ } else if(tnm === "bigint") { WriteBigInt(a,o,ctx);
225
+ } else if(tnm === "number") {
226
+ if(_misc.IsSmi(o)) {
227
+ WriteSmi(a,o,ctx);
228
+ } else {
229
+ WriteHeapNumber(a,o,ctx);
230
+ }
231
+ } else {
232
+ if(is_untf(o)){
233
+ _UNTF_FMP[o](a,o,ctx);
234
+ } else {
235
+ WriteJSReceiver(a,o,ctx); //!id_map_.Find
236
+ }
237
+ }
238
+ return(a);
239
+ }
240
+
241
+ const WriteJSSet = (a,st,ctx) => {
242
+ WriteTag(a,SerializationTag.kBeginJSSet,ctx);
243
+ let sz = 0;
244
+ for(let e of st) {
245
+ WriteObject(a,e,ctx);
246
+ ++sz;
247
+ }
248
+ WriteTag(a,SerializationTag.kEndJSSet,ctx);
249
+ WriteVarint(a,sz,ctx);
250
+ return(a);
251
+ }
252
+
253
+ const WriteJSMap = (a,mp,ctx) => {
254
+ WriteTag(a,SerializationTag.kBeginJSMap,ctx);
255
+ let sz = mp.size * 2;
256
+ for(let [k,v] of mp) {
257
+ WriteObject(a,k,ctx);
258
+ WriteObject(a,v,ctx);
259
+ }
260
+ WriteTag(a,SerializationTag.kEndJSMap,ctx);
261
+ WriteVarint(a,sz,ctx);
262
+ return(a);
263
+ }
264
+
265
+
266
+ //compatible with node delegate
267
+ const WriteHostObject = (a,o,ctx) => {
268
+ let abvw_sub_type = arrayBufferViewTypeToIndex(o);
269
+ if(abvw_sub_type>-1) {
270
+ WriteTag(a,SerializationTag.kHostObject,ctx);
271
+ WriteUint32(a, abvw_sub_type, ctx);
272
+ WriteUint32(a, o.byteLength, ctx);
273
+ let u8a = new Uint8Array(o.buffer,o.byteOffset,o.byteLength);
274
+ WriteRawBytes(a,u8a,ctx);
275
+ return(a);
276
+ } else {
277
+ }
278
+ }
279
+
280
+ const WriteJSArrayBufferView = (a,o,ctx) => WriteHostObject(a,o,ctx);
281
+
282
+ const WriteJSArrayBuffer = (a,o,ctx) => {
283
+ let is_resizable = _f;
284
+ if(_istis.is_sab(o)) {
285
+ is_resizable = Boolean(o.growable); // compatible to nodejs version < 20
286
+ } else {
287
+ is_resizable = o.resizable
288
+ }
289
+ let max_byte_length = (is_resizable)?o.maxByteLength:o.byteLength;
290
+ let byte_length = o.byteLength;
291
+ if (is_resizable) {
292
+ WriteTag(a,SerializationTag.kResizableArrayBuffer,ctx);
293
+ WriteVarint(a,byte_length,ctx);
294
+ WriteVarint(a,max_byte_length,ctx);
295
+ WriteRawBytes(a,new Uint8Array(o),ctx);
296
+ } else {
297
+ WriteTag(a,SerializationTag.kArrayBuffer,ctx);
298
+ WriteVarint(a,byte_length,ctx);
299
+ WriteRawBytes(a,new Uint8Array(o),ctx);
300
+ }
301
+ return(a)
302
+ }
303
+
304
+ const WriteJSObject = (a,o,ctx) => {
305
+ WriteTag(a,SerializationTag.kBeginJSObject,ctx);
306
+ let properties_written = 0; // kv-pair length NOT entries length
307
+ for(let k in o) {
308
+ WriteObject(a,k,ctx);
309
+ WriteObject(a,o[k],ctx);
310
+ properties_written++;
311
+ }
312
+ WriteTag(a,SerializationTag.kEndJSObject,ctx);
313
+ WriteVarint(a,properties_written,ctx);
314
+ return(a)
315
+ }
316
+
317
+
318
+ const WriteJSArray = (a,o,ctx) => {
319
+ let length = o.length;
320
+ let {is_packed_smi,is_packed_double} = _misc.GetArrayPackedInfo(o);
321
+ if(is_packed_smi) {
322
+ WriteTag(a,SerializationTag.kBeginDenseJSArray,ctx);
323
+ WriteVarint(a,length,ctx);
324
+ for(let i=0;i<o.length;++i) {
325
+ WriteSmi(a,o[i],ctx);
326
+ }
327
+ } else if(is_packed_double) {
328
+ WriteTag(a,SerializationTag.kBeginDenseJSArray,ctx);
329
+ WriteVarint(a,length,ctx);
330
+ if(length !==0) {
331
+ for(let i=0;i<o.length;++i) {
332
+ WriteTag(a,SerializationTag.kDouble,ctx);
333
+ WriteDouble(a,o[i],ctx);
334
+ }
335
+ } else {}
336
+ } else {
337
+ WriteTag(a,SerializationTag.kBeginDenseJSArray,ctx);
338
+ WriteVarint(a,length,ctx);
339
+ for(let i=0;i<o.length;++i) {
340
+ WriteObject(a,o[i],ctx);
341
+ }
342
+ }
343
+ ////-------must use this slow method
344
+ let ks = Object.keys(o);
345
+ let properties_written = 0;
346
+ for(let i=o.length;i<ks.length;++i) {
347
+ let k = ks[i];
348
+ WriteObject(a,k,ctx);
349
+ WriteObject(a,o[k],ctx);
350
+ properties_written++;
351
+ }
352
+ WriteTag(a,SerializationTag.kEndDenseJSArray,ctx);
353
+ WriteVarint(a,properties_written,ctx);
354
+ WriteVarint(a,length,ctx);
355
+ return(a);
356
+ }
357
+
358
+
359
+ const WriteSymbol = (a,o,ctx)=>{
360
+ let phantom = CreatFakeCantBeSered("Symbol",o.description);
361
+ WriteJSObject(a,phantom,ctx);
362
+ }
363
+
364
+ const WriteNumber = (a,o,ctx)=>{
365
+ if(_misc.IsSmi(o)) { WriteSmi(a,o,ctx); } else { WriteHeapNumber(a,o,ctx);}
366
+ }
367
+
368
+ const WriteUnsupported = (a,o,ctx)=>{
369
+ let phantom = CreatFakeCantBeSered(idx,String(o));
370
+ WriteJSObject(a,phantom,ctx);
371
+ }
372
+
373
+ const _FMP0 = {
374
+ "string" : WriteString,
375
+ "bigint" : WriteBigInt,
376
+ "symbol" : WriteSymbol,
377
+ "number" : WriteNumber,
378
+ "function": WriteUnsupported,
379
+ }
380
+
381
+ const _FMP1 = {
382
+ "[object Date]":WriteJSDate,
383
+ "[object RegExp]":WriteJSRegExp,
384
+ "[object Set]":WriteJSSet,
385
+ "[object Map]":WriteJSMap,
386
+ "[object ArrayBuffer]":WriteJSArrayBuffer,
387
+ "[object SharedArrayBuffer]":WriteJSArrayBuffer,
388
+ "[object Boolean]":WriteJSPrimitiveWrapper,
389
+ "[object Number]":WriteJSPrimitiveWrapper,
390
+ "[object String]":WriteJSPrimitiveWrapper,
391
+ "[object BigInt]":WriteJSPrimitiveWrapper,
392
+ }
393
+
394
+ const WriteJSReceiver = (a,o,ctx) => {
395
+ if(_istis.is_ary(o)) {
396
+ WriteJSArray(a,o,ctx);
397
+ } else if(_istis.is_abvw(o)) {
398
+ let r = WriteJSArrayBufferView(a,o,ctx);
399
+ if(r!==_u) { } else { WriteJSObject(a,o,ctx); }
400
+ } else if(is_untf(o)) {
401
+ WriteOddball(a,o,ctx);
402
+ } else {
403
+ var tnm = typeof(o);
404
+ const W0 = _FMP0[tnm];
405
+ if(W0 !== undefined) {
406
+ W0(a,o,ctx);
407
+ } else {
408
+ let [already_exists,idx] = ctx.idmap.FindOrInsert(o);
409
+ if (already_exists) {
410
+ WriteTag(a,SerializationTag.kObjectReference,ctx);
411
+ WriteVarint(a,idx,ctx);
412
+ } else {
413
+ var ttag = _istis.tag(o);
414
+ const W1 = _FMP1[ttag];
415
+ if(W1 !== undefined) {
416
+ W1(a,o,ctx);
417
+ } else if(ttag.includes("Error")) {
418
+ WriteJSError(a,o,ctx);
419
+ } else if(is_prms(o) || is_g(o) || is_iter(o)) {
420
+ WriteUnsupported(a,o,ctx);
421
+ } else {
422
+ WriteJSObject(a,o,ctx);
423
+ }
424
+ }
425
+ }
426
+ }
427
+ return(a)
428
+ }
429
+
430
+ const encd = (o,kLatestVersion=15) => {
431
+ let a = [];
432
+ let ctx = _ctx.creat_wctx();
433
+ WriteHeader(a,kLatestVersion);
434
+ WriteJSReceiver(a,o,ctx);
435
+ let u8a = new Uint8Array(a);
436
+ return(u8a.buffer)
437
+ }
438
+
439
+ module.exports = {
440
+ WriteHeader,
441
+ WriteTag,
442
+ WriteVarint,
443
+ WriteZigZag,
444
+ WriteDouble,
445
+ WriteOneByteString,
446
+ WriteTwoByteString,
447
+ WriteRawBytes,
448
+ WriteOddball,
449
+ WriteSmi,
450
+ WriteHeapNumber,
451
+ WriteString,
452
+ WriteJSDate,
453
+ WriteJSRegExp,
454
+ WriteBigIntContents,
455
+ WriteBigInt,
456
+ WriteByte,
457
+ WriteUint32,
458
+ WriteJSPrimitiveWrapper,
459
+ WriteJSError,
460
+ ////
461
+ WriteObject,
462
+ WriteJSSet,
463
+ WriteJSMap,
464
+ WriteHostObject,
465
+ WriteJSArrayBufferView,
466
+ WriteJSArrayBuffer,
467
+ WriteJSObject,
468
+ WriteJSArray,
469
+ ////
470
+ WriteJSReceiver,
471
+ ////
472
+ encd
473
+ }
package/misc.js CHANGED
@@ -21,7 +21,12 @@ const IsOneByte = (s) => {
21
21
  }
22
22
  return true;
23
23
  };
24
- const IsTwoByte = (s) => !IsOneByte(s);
24
+ const IsTwoByte = (s) => {
25
+ for (let i = 0; i < s.length; ++i) {
26
+ if (s.charCodeAt(i) > 0xFF) return true;
27
+ }
28
+ return false;
29
+ };
25
30
 
26
31
  const IsNaNAt = (u8a,si) => {
27
32
  let dv = new DataView(u8a.buffer);
package/package.json CHANGED
@@ -3,16 +3,15 @@
3
3
  "nv-buf-bi": "^1.0.5",
4
4
  "nv-buf-jstr": "^1.0.14",
5
5
  "nv-facutil-ab": "^1.0.0",
6
- "nv-facutil-istis": "^1.0.6",
6
+ "nv-facutil-deep-freeze-j": "^1.0.0",
7
7
  "nv-facutil-thrw": "^1.0.2",
8
8
  "nv-number-zigzag": "^1.0.1",
9
9
  "nv-regexp-flags": "^1.0.1"
10
10
  },
11
- "version": "1.0.5",
11
+ "version": "1.0.7",
12
12
  "name": "nv-buf-serde",
13
13
  "description": "nv-buf-serde ======================= - rewrite v8/src/objects/value-serializer.cc to JS - to let you use nodejs'v8.serialize AND nodejs'v8.deserialize in browser, - similiar to structuredClone AND MessageChannel-transfer, but can be used to send/recv data to server-side",
14
14
  "main": "index.js",
15
- "devDependencies": {},
16
15
  "scripts": {
17
16
  "test": "echo \"Error: no test specified\" && exit 1"
18
17
  },
package/w.js CHANGED
@@ -1,3 +1,4 @@
1
+ const FRZ = require("nv-facutil-deep-freeze-j");
1
2
  const {_u,_n,_t,_f,is_untf} = require("nv-facutil-untf");
2
3
 
3
4
  const _typis = require("nv-facutil-typis");
@@ -38,16 +39,13 @@ const _ctx = require("./ctx");
38
39
 
39
40
  ////----
40
41
 
41
- const WriteHeader = (a,kLatestVersion=15,ctx) => {
42
- a.push(SerializationTag.kVersion);
43
- a.push(kLatestVersion);
44
- }
45
-
46
- const WriteTag = (a,tag,ctx) => { a.push(tag)}
42
+ const WriteHeader = (a,kLatestVersion=15,ctx) => {a.push(SerializationTag.kVersion,kLatestVersion);}
43
+ const WriteTag = (a,tag,ctx) => { a.push(tag);}
44
+ const WriteLe127VarInt = (a,v,ctx) => { a.push(v);}
47
45
 
48
46
  const WriteVarint = (a,v,ctx) => {
49
47
  if(_zigzag.is_smi_can_be_encded(v)){
50
- let next_byte;
48
+ var next_byte;
51
49
  do {
52
50
  next_byte = (v & 0x7F) | 0x80 ;
53
51
  a.push(Number(next_byte)) ;
@@ -57,7 +55,7 @@ const WriteVarint = (a,v,ctx) => {
57
55
  return(a)
58
56
  } else {
59
57
  v = BigInt(v);
60
- let next_byte;
58
+ var next_byte;
61
59
  do {
62
60
  next_byte = (v & 0x7Fn) | 0x80n ;
63
61
  a.push(Number(next_byte)) ;
@@ -85,7 +83,7 @@ const WriteDouble = (a,v,ctx) => {
85
83
 
86
84
  const WriteOneByteString = (a,s,ctx) => {
87
85
  WriteVarint(a,s.length);
88
- for(let i=0;i<s.length;++i) {
86
+ for(var i=0;i<s.length;++i) {
89
87
  a.push(s.charCodeAt(i))
90
88
  }
91
89
  return(a)
@@ -94,9 +92,9 @@ const WriteOneByteString = (a,s,ctx) => {
94
92
  const WriteTwoByteString = (a,s,ctx,mach) => {
95
93
  mach = mach?? (new _utf16.encd.mach.Mach());
96
94
  WriteVarint(a,s.length*2);
97
- for(let i =0;i<s.length;++i) {
98
- let cd = s.charCodeAt(i);
99
- let [fst,snd] = mach.input(cd);
95
+ for(var i =0;i<s.length;++i) {
96
+ var cd = s.charCodeAt(i);
97
+ var [fst,snd] = mach.input(cd);
100
98
  a.push(fst);
101
99
  a.push(snd)
102
100
  }
@@ -105,31 +103,20 @@ const WriteTwoByteString = (a,s,ctx,mach) => {
105
103
 
106
104
 
107
105
  const WriteRawBytes = (a,byts,ctx) => {
108
- for(let i=0;i<byts.length;++i) {
106
+ for(var i=0;i<byts.length;++i) {
109
107
  a.push(byts[i])
110
108
  }
111
109
  return(a)
112
110
  }
113
111
 
114
- const WriteOddball = (a,o,ctx)=> {
115
- let tag = SerializationTag.kUndefined;
116
- switch (o) {
117
- case _u:
118
- tag = SerializationTag.kUndefined;
119
- break;
120
- case _f:
121
- tag = SerializationTag.kFalse;
122
- break;
123
- case _t:
124
- tag = SerializationTag.kTrue;
125
- break;
126
- case _n:
127
- tag = SerializationTag.kNull;
128
- break;
129
- }
130
- WriteTag(a,tag);
131
- return(a);
132
- }
112
+ const _ODD_BALL_MP = new Map([
113
+ [_u,SerializationTag.kUndefined],
114
+ [_n,SerializationTag.kNull],
115
+ [_t,SerializationTag.kTrue],
116
+ [_f,SerializationTag.kFalse]
117
+ ]);
118
+
119
+ const WriteOddball = (a,o,ctx)=> {WriteTag(a,_ODD_BALL_MP.get(o));return(a);}
133
120
 
134
121
  const WriteSmi = (a,smi,ctx)=> {
135
122
  WriteTag(a,SerializationTag.kInt32,ctx);
@@ -147,12 +134,24 @@ const WriteHeapNumber = (a,number,ctx) => {
147
134
  const WriteString = (a,s,ctx)=>{
148
135
  s | 0; // String::Flattern
149
136
  ////-------------------------------------------------------------------
150
- if (_misc.IsOneByte(s)) {
151
- WriteTag(a,SerializationTag.kOneByteString,ctx);
152
- WriteOneByteString(a,s,ctx);
153
- } else {
154
- let byte_length = s.length * 2;
155
- let head_byte_len = _misc.BytesNeededForVarint(byte_length);
137
+ var old_offset = a.length;
138
+ WriteTag(a,SerializationTag.kOneByteString,ctx);
139
+ WriteVarint(a,s.length);
140
+ var is_one_byte = true;
141
+ for(var i=0;i<s.length;++i) {
142
+ var cd = s.charCodeAt(i);
143
+ if(cd >0xff) {
144
+ is_one_byte = false;
145
+ break;
146
+ } else {
147
+ a.push(cd);
148
+ }
149
+ }
150
+ if(is_one_byte) {
151
+ } else {
152
+ a.length = old_offset;
153
+ var byte_length = s.length * 2;
154
+ var head_byte_len = _misc.BytesNeededForVarint(byte_length);
156
155
  if((a.length + 1+ head_byte_len & 1)===0) {
157
156
  //no need padding TAG | X0 X1 X2 | ....data
158
157
  } else {
@@ -176,7 +175,7 @@ const WriteJSDate = (a,dt,ctx) => {
176
175
  const WriteJSRegExp = (a,rgx,ctx)=> {
177
176
  WriteTag(a,SerializationTag.kRegExp,ctx);
178
177
  WriteString(a,rgx.source,ctx);
179
- let ui32_flags = _rgx_flag.s2n(rgx.flags);
178
+ var ui32_flags = _rgx_flag.s2n(rgx.flags);
180
179
  WriteVarint(a,ui32_flags,ctx);
181
180
  return(a);
182
181
  }
@@ -185,8 +184,8 @@ const U64A = new BigUint64Array(1);
185
184
  const BIU8A = new Uint8Array(U64A.buffer);
186
185
 
187
186
  const WriteBigIntContents = (a,obi,ctx) => {
188
- let [sign,blen,bi] = _buf_bi._get_head(obi);
189
- let encd_head = (sign | (blen<<1));
187
+ var [sign,blen,bi] = _buf_bi._get_head(obi);
188
+ var encd_head = (sign | (blen<<1));
190
189
  WriteVarint(a,encd_head,ctx);
191
190
  while(bi) {
192
191
  U64A[0] = bi & _buf_bi.MASK;
@@ -229,38 +228,36 @@ const WriteJSPrimitiveWrapper = (a,v,ctx) => {
229
228
  }
230
229
  }
231
230
 
231
+ ////
232
232
 
233
- const WriteJSError = (a,e,ctx) => {
234
-
235
- WriteTag(a,SerializationTag.kError,ctx);
236
- let name = e.name;
237
- switch(name) {
238
- case("EvalError" ): {WriteVarint(a,ErrorTag.kEvalErrorPrototype,ctx ); break;}
239
- case("RangeError"): {WriteVarint(a,ErrorTag.kRangeErrorPrototype,ctx ); break;}
240
- case("ReferenceError"): {WriteVarint(a,ErrorTag.kReferenceErrorPrototype,ctx); break;}
241
- case("SyntaxError"): {WriteVarint(a,ErrorTag.kSyntaxErrorPrototype,ctx ); break;}
242
- case("TypeError"): {WriteVarint(a,ErrorTag.kTypeErrorPrototype,ctx ); break;}
243
- case("URIError"): {WriteVarint(a,ErrorTag.kUriErrorPrototype,ctx ); break;}
244
- default: {
245
- //do nothing
246
- }
247
- }
233
+ const _ERR_SUB_TYPE_MP = {
234
+ "EvalError": ErrorTag.kEvalErrorPrototype,
235
+ "RangeError":ErrorTag.kRangeErrorPrototype,
236
+ "ReferenceError":ErrorTag.kReferenceErrorPrototype,
237
+ "SyntaxError":ErrorTag.kSyntaxErrorPrototype,
238
+ "TypeError":ErrorTag.kTypeErrorPrototype,
239
+ "URIError":ErrorTag.kUriErrorPrototype
240
+ }
248
241
 
249
- let message = String(e.message);
250
- WriteVarint(a,ErrorTag.kMessage,ctx);
251
- WriteString(a,message,ctx);
252
242
 
253
- let cause = e.cause;
254
- if(cause) {
255
- WriteVarint(a,ErrorTag.kCause,ctx);
256
- WriteObject(a,cause,ctx);
257
- } else {}
258
243
 
259
- let stack = String(e.stack);
260
- WriteVarint(a,ErrorTag.kStack,ctx);
261
- WriteString(a,stack,ctx);
262
244
 
263
- WriteVarint(a,ErrorTag.kEnd,ctx);
245
+ const WriteJSError = (a,e,ctx) => {
246
+ WriteTag(a,SerializationTag.kError,ctx);
247
+ var name = e.name;
248
+ var subt = _ERR_SUB_TYPE_MP[name];
249
+ if(subt!== undefined) {WriteLe127VarInt(a,subt,ctx ); } else {}
250
+ ////
251
+ WriteLe127VarInt(a,ErrorTag.kMessage,ctx);
252
+ WriteString(a,e.message,ctx);
253
+ ////
254
+ var cause = e.cause;
255
+ if(cause) {WriteLe127VarInt(a,ErrorTag.kCause,ctx);WriteObject(a,cause,ctx);} else {}
256
+ ////
257
+ WriteLe127VarInt(a,ErrorTag.kStack,ctx);
258
+ WriteString(a,e.stack,ctx);
259
+ ////
260
+ WriteLe127VarInt(a,ErrorTag.kEnd,ctx);
264
261
  return(a);
265
262
  }
266
263
 
@@ -293,8 +290,8 @@ const WriteObject = (a,o,ctx) => {
293
290
 
294
291
  const WriteJSSet = (a,st,ctx) => {
295
292
  WriteTag(a,SerializationTag.kBeginJSSet,ctx);
296
- let sz = 0;
297
- for(let e of st) {
293
+ var sz = 0;
294
+ for(var e of st) {
298
295
  WriteObject(a,e,ctx);
299
296
  ++sz;
300
297
  }
@@ -305,8 +302,8 @@ const WriteJSSet = (a,st,ctx) => {
305
302
 
306
303
  const WriteJSMap = (a,mp,ctx) => {
307
304
  WriteTag(a,SerializationTag.kBeginJSMap,ctx);
308
- let sz = mp.size * 2;
309
- for(let [k,v] of mp) {
305
+ var sz = mp.size * 2;
306
+ for(var [k,v] of mp) {
310
307
  WriteObject(a,k,ctx);
311
308
  WriteObject(a,v,ctx);
312
309
  }
@@ -318,12 +315,12 @@ const WriteJSMap = (a,mp,ctx) => {
318
315
 
319
316
  //compatible with node delegate
320
317
  const WriteHostObject = (a,o,ctx) => {
321
- let abvw_sub_type = arrayBufferViewTypeToIndex(o);
318
+ var abvw_sub_type = arrayBufferViewTypeToIndex(o);
322
319
  if(abvw_sub_type>-1) {
323
320
  WriteTag(a,SerializationTag.kHostObject,ctx);
324
321
  WriteUint32(a, abvw_sub_type, ctx);
325
322
  WriteUint32(a, o.byteLength, ctx);
326
- let u8a = new Uint8Array(o.buffer,o.byteOffset,o.byteLength);
323
+ var u8a = new Uint8Array(o.buffer,o.byteOffset,o.byteLength);
327
324
  WriteRawBytes(a,u8a,ctx);
328
325
  return(a);
329
326
  } else {
@@ -333,14 +330,14 @@ const WriteHostObject = (a,o,ctx) => {
333
330
  const WriteJSArrayBufferView = (a,o,ctx) => WriteHostObject(a,o,ctx);
334
331
 
335
332
  const WriteJSArrayBuffer = (a,o,ctx) => {
336
- let is_resizable = _f;
333
+ var is_resizable = _f;
337
334
  if(_istis.is_sab(o)) {
338
335
  is_resizable = Boolean(o.growable); // compatible to nodejs version < 20
339
336
  } else {
340
337
  is_resizable = o.resizable
341
338
  }
342
- let max_byte_length = (is_resizable)?o.maxByteLength:o.byteLength;
343
- let byte_length = o.byteLength;
339
+ var max_byte_length = (is_resizable)?o.maxByteLength:o.byteLength;
340
+ var byte_length = o.byteLength;
344
341
  if (is_resizable) {
345
342
  WriteTag(a,SerializationTag.kResizableArrayBuffer,ctx);
346
343
  WriteVarint(a,byte_length,ctx);
@@ -356,8 +353,8 @@ const WriteJSArrayBuffer = (a,o,ctx) => {
356
353
 
357
354
  const WriteJSObject = (a,o,ctx) => {
358
355
  WriteTag(a,SerializationTag.kBeginJSObject,ctx);
359
- let properties_written = 0; // kv-pair length NOT entries length
360
- for(let k in o) {
356
+ var properties_written = 0; // kv-pair length NOT entries length
357
+ for(var k in o) {
361
358
  WriteObject(a,k,ctx);
362
359
  WriteObject(a,o[k],ctx);
363
360
  properties_written++;
@@ -369,19 +366,19 @@ const WriteJSObject = (a,o,ctx) => {
369
366
 
370
367
 
371
368
  const WriteJSArray = (a,o,ctx) => {
372
- let length = o.length;
373
- let {is_packed_smi,is_packed_double} = _misc.GetArrayPackedInfo(o);
369
+ var length = o.length;
370
+ var {is_packed_smi,is_packed_double} = _misc.GetArrayPackedInfo(o);
374
371
  if(is_packed_smi) {
375
372
  WriteTag(a,SerializationTag.kBeginDenseJSArray,ctx);
376
373
  WriteVarint(a,length,ctx);
377
- for(let i=0;i<o.length;++i) {
374
+ for(var i=0;i<o.length;++i) {
378
375
  WriteSmi(a,o[i],ctx);
379
376
  }
380
377
  } else if(is_packed_double) {
381
378
  WriteTag(a,SerializationTag.kBeginDenseJSArray,ctx);
382
379
  WriteVarint(a,length,ctx);
383
380
  if(length !==0) {
384
- for(let i=0;i<o.length;++i) {
381
+ for(var i=0;i<o.length;++i) {
385
382
  WriteTag(a,SerializationTag.kDouble,ctx);
386
383
  WriteDouble(a,o[i],ctx);
387
384
  }
@@ -389,15 +386,15 @@ const WriteJSArray = (a,o,ctx) => {
389
386
  } else {
390
387
  WriteTag(a,SerializationTag.kBeginDenseJSArray,ctx);
391
388
  WriteVarint(a,length,ctx);
392
- for(let i=0;i<o.length;++i) {
389
+ for(var i=0;i<o.length;++i) {
393
390
  WriteObject(a,o[i],ctx);
394
391
  }
395
392
  }
396
393
  ////-------must use this slow method
397
- let ks = Object.keys(o);
398
- let properties_written = 0;
399
- for(let i=o.length;i<ks.length;++i) {
400
- let k = ks[i];
394
+ var ks = Object.keys(o);
395
+ var properties_written = 0;
396
+ for(var i=o.length;i<ks.length;++i) {
397
+ var k = ks[i];
401
398
  WriteObject(a,k,ctx);
402
399
  WriteObject(a,o[k],ctx);
403
400
  properties_written++;
@@ -410,7 +407,7 @@ const WriteJSArray = (a,o,ctx) => {
410
407
 
411
408
 
412
409
  const WriteSymbol = (a,o,ctx)=>{
413
- let phantom = CreatFakeCantBeSered("Symbol",o.description);
410
+ var phantom = CreatFakeCantBeSered("Symbol",o.description);
414
411
  WriteJSObject(a,phantom,ctx);
415
412
  }
416
413
 
@@ -419,7 +416,7 @@ const WriteNumber = (a,o,ctx)=>{
419
416
  }
420
417
 
421
418
  const WriteUnsupported = (a,o,ctx)=>{
422
- let phantom = CreatFakeCantBeSered(idx,String(o));
419
+ var phantom = CreatFakeCantBeSered(idx,String(o));
423
420
  WriteJSObject(a,phantom,ctx);
424
421
  }
425
422
 
@@ -446,10 +443,16 @@ const _FMP1 = {
446
443
 
447
444
  const WriteJSReceiver = (a,o,ctx) => {
448
445
  if(_istis.is_ary(o)) {
449
- WriteJSArray(a,o,ctx);
446
+ var [already_exists,idx] = ctx.idmap.FindOrInsert(o);
447
+ if (already_exists) { WriteTag(a,SerializationTag.kObjectReference,ctx); WriteVarint(a,idx,ctx); } else {
448
+ WriteJSArray(a,o,ctx);
449
+ }
450
450
  } else if(_istis.is_abvw(o)) {
451
- let r = WriteJSArrayBufferView(a,o,ctx);
452
- if(r!==_u) { } else { WriteJSObject(a,o,ctx); }
451
+ var [already_exists,idx] = ctx.idmap.FindOrInsert(o);
452
+ if (already_exists) { WriteTag(a,SerializationTag.kObjectReference,ctx); WriteVarint(a,idx,ctx); } else {
453
+ var r = WriteJSArrayBufferView(a,o,ctx);
454
+ if(r!==_u) { } else { WriteJSObject(a,o,ctx); }
455
+ }
453
456
  } else if(is_untf(o)) {
454
457
  WriteOddball(a,o,ctx);
455
458
  } else {
@@ -458,7 +461,7 @@ const WriteJSReceiver = (a,o,ctx) => {
458
461
  if(W0 !== undefined) {
459
462
  W0(a,o,ctx);
460
463
  } else {
461
- let [already_exists,idx] = ctx.idmap.FindOrInsert(o);
464
+ var [already_exists,idx] = ctx.idmap.FindOrInsert(o);
462
465
  if (already_exists) {
463
466
  WriteTag(a,SerializationTag.kObjectReference,ctx);
464
467
  WriteVarint(a,idx,ctx);
@@ -481,15 +484,16 @@ const WriteJSReceiver = (a,o,ctx) => {
481
484
  }
482
485
 
483
486
  const encd = (o,kLatestVersion=15) => {
484
- let a = [];
485
- let ctx = _ctx.creat_wctx();
487
+ var a = [];
488
+ var ctx = _ctx.creat_wctx();
486
489
  WriteHeader(a,kLatestVersion);
487
490
  WriteJSReceiver(a,o,ctx);
488
- let u8a = new Uint8Array(a);
491
+ var u8a = new Uint8Array(a);
489
492
  return(u8a.buffer)
490
493
  }
491
494
 
492
495
  module.exports = {
496
+ ////
493
497
  WriteHeader,
494
498
  WriteTag,
495
499
  WriteVarint,