nv-buf-serde 1.0.5 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DIST/nv-buf-serde-bw.js +2 -2
- package/TODO +473 -0
- package/misc.js +6 -1
- package/package.json +2 -3
- package/w.js +93 -95
package/DIST/nv-buf-serde-bw.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var v8serde=(()=>{var
|
|
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))Wt(e,r,t);else if(ne.is_abvw(r)){var s=Ft(e,r,t);s!==Ne||J(e,r,t)}else if(wt(r))Ot(e,r,t);else{var n=typeof r;let l=Zo[n];if(l!==void 0)l(e,r,t);else{var[o,a]=t.idmap.FindOrInsert(r);if(o)d(e,f.kObjectReference,t),h(e,a,t);else{var c=ne.tag(r);let u=$o[c];u!==void 0?u(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
|
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) =>
|
|
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-
|
|
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.
|
|
11
|
+
"version": "1.0.6",
|
|
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
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
98
|
-
|
|
99
|
-
|
|
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(
|
|
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
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
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
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
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
|
-
|
|
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
|
-
|
|
189
|
-
|
|
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
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
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
|
-
|
|
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
|
-
|
|
297
|
-
for(
|
|
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
|
-
|
|
309
|
-
for(
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
343
|
-
|
|
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
|
-
|
|
360
|
-
for(
|
|
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
|
-
|
|
373
|
-
|
|
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(
|
|
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(
|
|
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(
|
|
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
|
-
|
|
398
|
-
|
|
399
|
-
for(
|
|
400
|
-
|
|
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
|
-
|
|
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
|
-
|
|
419
|
+
var phantom = CreatFakeCantBeSered(idx,String(o));
|
|
423
420
|
WriteJSObject(a,phantom,ctx);
|
|
424
421
|
}
|
|
425
422
|
|
|
@@ -448,7 +445,7 @@ const WriteJSReceiver = (a,o,ctx) => {
|
|
|
448
445
|
if(_istis.is_ary(o)) {
|
|
449
446
|
WriteJSArray(a,o,ctx);
|
|
450
447
|
} else if(_istis.is_abvw(o)) {
|
|
451
|
-
|
|
448
|
+
var r = WriteJSArrayBufferView(a,o,ctx);
|
|
452
449
|
if(r!==_u) { } else { WriteJSObject(a,o,ctx); }
|
|
453
450
|
} else if(is_untf(o)) {
|
|
454
451
|
WriteOddball(a,o,ctx);
|
|
@@ -458,7 +455,7 @@ const WriteJSReceiver = (a,o,ctx) => {
|
|
|
458
455
|
if(W0 !== undefined) {
|
|
459
456
|
W0(a,o,ctx);
|
|
460
457
|
} else {
|
|
461
|
-
|
|
458
|
+
var [already_exists,idx] = ctx.idmap.FindOrInsert(o);
|
|
462
459
|
if (already_exists) {
|
|
463
460
|
WriteTag(a,SerializationTag.kObjectReference,ctx);
|
|
464
461
|
WriteVarint(a,idx,ctx);
|
|
@@ -481,15 +478,16 @@ const WriteJSReceiver = (a,o,ctx) => {
|
|
|
481
478
|
}
|
|
482
479
|
|
|
483
480
|
const encd = (o,kLatestVersion=15) => {
|
|
484
|
-
|
|
485
|
-
|
|
481
|
+
var a = [];
|
|
482
|
+
var ctx = _ctx.creat_wctx();
|
|
486
483
|
WriteHeader(a,kLatestVersion);
|
|
487
484
|
WriteJSReceiver(a,o,ctx);
|
|
488
|
-
|
|
485
|
+
var u8a = new Uint8Array(a);
|
|
489
486
|
return(u8a.buffer)
|
|
490
487
|
}
|
|
491
488
|
|
|
492
489
|
module.exports = {
|
|
490
|
+
////
|
|
493
491
|
WriteHeader,
|
|
494
492
|
WriteTag,
|
|
495
493
|
WriteVarint,
|